ZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL1JFQURNRQppbmRleCBhNzE2ODAxLi43MzE4ZjA5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvUkVBRE1FCkBAIC0xLDYgKzEsNiBAQAogQ29sbGVjdGlvbiBvZiBsYXllcnMgZm9yIHRoZSBPRS1jb3JlIHVuaXZlcnNlCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyICA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitNYWluIGxheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFRoaXMgcmVwb3NpdG9yeSBpcyBhIGNvbGxlY3Rpb24gb2YgbGF5ZXJzIHRvIHN1cHBsaW1lbnQgT0UtQ29yZQogd2l0aCBhZGRpdGlvbmFsIHBhY2thZ2VzLCBFYWNoIGxheWVyIGhhdmUgZGVzaWduYXRlZCBtYWludGFpbmVyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCmluZGV4IGFjMDAzNWEuLjg3Y2I2ODUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvUkVBRE1FCkBAIC0xMCwzMCArMTAsMzAgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogICBVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL2JpdGJha2UKLSAgYnJhbmNoOiAxLjQwCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQtY29yZQogICBsYXllcnM6IG1ldGEKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKICAgVVJJOiBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZAogICBsYXllcnM6IG1ldGEtb2UKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAKIFBhdGNoZXMKID09PT09PT0KIAogUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHRoZSBmaWxlc3lzdGVtcyBsYXllciB0byB0aGUKIE9wZW5FbWJlZGRlZCBkZXZlbG9wbWVudCBtYWlsaW5nIGxpc3QgKG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnKQotd2l0aCAnW21ldGEtZmlsZXN5c3RlbXNdW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KK3dpdGggJ1ttZXRhLWZpbGVzeXN0ZW1zXScgaW4gdGhlIHN1YmplY3QuCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKIAogICAgZ2l0IHNlbmQtZW1haWwgLTEgLU0gXAogICAgICAgICAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIFwKLSAgICAgICAgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWZpbGVzeXN0ZW1zXVt0aHVkXVtQQVRDSAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtZmlsZXN5c3RlbXNdW1BBVENICiAKIAogVGFibGUgb2YgQ29udGVudHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKaW5kZXggMDAyZjA5OS4uNWFhMmIwYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9jb25mL2xheWVyLmNvbmYKQEAgLTE1LDQgKzE1LDQgQEAKIAogTEFZRVJERVBFTkRTX2ZpbGVzeXN0ZW1zLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfZmlsZXN5c3RlbXMtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9maWxlc3lzdGVtcy1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2Z1c2UtZXhmYXQvZnVzZS1leGZhdF8xLjIuMy5iYgppbmRleCA5OWJmMmJlLi4xOGZjOWNkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvZnVzZS1leGZhdC9mdXNlLWV4ZmF0XzEuMi4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9mdXNlLWV4ZmF0L2Z1c2UtZXhmYXRfMS4yLjMuYmIKQEAgLTE3LDUgKzE3LDQgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICJmY2E3MWU2NTk4Zjc5ZDAzN2EzYzdjOTY5Y2I1NzEwYyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmUwNmViYTVhMjFjNjIxYWFjMWQ2ZGEyMWIxMmE1YTMyNGZkZDFlMjBmOWM4YWNkMzU3ZGQ0NjNjMjM1NWQ5IgogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCiBFWFRSQV9PRUNPTkYgKz0gInNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODliMWUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL2ltYWdlcy9tZXRhLWZpbGVzeXN0ZW1zLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtZmlsZXN5c3RlbXMgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvaW1hZ2VzL21ldGEtZmlsZXN5c3RlbXMtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2EyMWQyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9pbWFnZXMvbWV0YS1maWxlc3lzdGVtcy1pbWFnZS5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgIG1ldGEtZmlsZXN5c3RlbXMtaW1hZ2UtYmFzZS5iYgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMvb3dmcy9vd2ZzXzMuMnAyLmJiCmluZGV4IDUwODY1Y2MuLjg1N2FhZjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9vd2ZzL293ZnNfMy4ycDIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL293ZnMvb3dmc18zLjJwMi5iYgpAQCAtMTgsNyArMTgsNyBAQAogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcGtnY29uZmlnIHN5c3RlbWQKIAogRVhUUkFfT0VDT05GID0gIiBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1mdXNlaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSBcCkBAIC01Miw5ICs1MiwxMiBAQAogREVTQ1JJUFRJT05fb3dtb24gPSAiTW9uaXRvciBmb3Igb3dzZXJ2ZXIgc2V0dGluZ3MgYW5kIHN0YXRpc3RpY3MiCiBERVNDUklQVElPTl9vd3RhcCA9ICJQYWNrZXQgc25pZmZlciBmb3IgdGhlIG93c2VydmVyIHByb3RvY29sIgogCi1GSUxFU19vd2Z0cGQgPSAiJHtiaW5kaXJ9L293ZnRwZCIKLUZJTEVTX293aHR0cGQgPSAiJHtiaW5kaXJ9L293aHR0cGQgJHtzeXNjb25mZGlyfS9pbml0LmQvb3dodHRwZCIKLUZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciIKK0ZJTEVTX293ZnRwZCA9ICIke2JpbmRpcn0vb3dmdHBkICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmdHBkLnNlcnZpY2UiCitGSUxFU19vd2h0dHBkID0gIiR7YmluZGlyfS9vd2h0dHBkICR7c3lzY29uZmRpcn0vaW5pdC5kL293aHR0cGQgXAorICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293aHR0cGQuc2VydmljZSIKK0ZJTEVTX293c2VydmVyID0gIiR7YmluZGlyfS9vd3NlcnZlciAke3N5c2NvbmZkaXJ9L2luaXQuZC9vd3NlcnZlciBcCisgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L293c2VydmVyLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vd3NlcnZlci5zb2NrZXQiCiBGSUxFU19vd3NoZWxsID0gIiR7YmluZGlyfS9vd3JlYWQgJHtiaW5kaXJ9L293d3JpdGUgXAogICAgICAgICAgICAgICAgICAke2JpbmRpcn0vb3dkaXIgJHtiaW5kaXJ9L293cHJlc2VudCBcCiAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9vd2dldCAke2JpbmRpcn0vb3dzaWRlIgpAQCAtNjMsOSArNjYsMTUgQEAKIEZJTEVTX2xpYm93Y2FwaSA9ICIke2xpYmRpcn0vbGlib3djYXBpLSoiCiBGSUxFU19saWJvdyA9ICIke2xpYmRpcn0vbGlib3ctKiIKIEZJTEVTX2xpYm93bmV0ID0gIiR7bGliZGlyfS9saWJvd25ldC0qIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vb3dmcy5zZXJ2aWNlIgogCiBJTklUU0NSSVBUX1BBQ0tBR0VTID0gIm93aHR0cGQgb3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dzZXJ2ZXIgPSAib3dzZXJ2ZXIiCiBJTklUU0NSSVBUX05BTUVfb3dodHRwZCA9ICJvd2h0dHBkIgogSU5JVFNDUklQVF9QQVJBTVNfb3dzZXJ2ZXIgPSAiZGVmYXVsdHMgMjAiCiBJTklUU0NSSVBUX1BBUkFNU19vd2h0dHBkID0gImRlZmF1bHRzIDIxIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3dmcy5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LW93ZnRwZCA9ICJvd2Z0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd2h0dHBkID0gIm93aHR0cGQuc2VydmljZSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1vd3NlcnZlciA9ICJvd3NlcnZlci5zZXJ2aWNlIG93c2VydmVyLnNvY2tldCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy9wYWNrYWdlY29uZmlncy9wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmIxYzliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3BhY2thZ2Vjb25maWdzL3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiTWV0YS1maWxlc3lzdGVtIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisnCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtZmlsZXN5c3RlbXMtdXRscyBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLWZpbGVzeXN0ZW1zID0gIlwKKyAgICBudGZzLTNnLW50ZnNwcm9ncyBpZnVzZSBzc2hmcy1mdXNlIFwKKyAgICBsb2dmc3Byb2dzIG93ZnMgc2ltcGxlLW10cGZzIFwKKyAgICB1bmlvbmZzLWZ1c2UgZnVzZS1leGZhdCB5YWZmczItdXRpbHMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInNtYm5ldGZzIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy1zdXBwb3J0ID0gIlwKKyAgICBwaHlzZnMgZnVzZSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1maWxlc3lzdGVtcy11dGlscyA9ICJcCisgICAgeG9ycmlzbyBhdWZzLXV0aWwgeGZzcHJvZ3MgXAorICAgIGYyZnMtdG9vbHMgZXhmYXQtdXRpbHMgdWRldmlsIFwKKyAgICB4ZnNkdW1wIFwKKyAgICAiCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLWZpbGVzeXN0ZW1zL3lhZmZzMi95YWZmczItdXRpbHNfZ2l0LmJiCmluZGV4IDYwOTVlMjcuLjg2MjhiZWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1maWxlc3lzdGVtcy95YWZmczIveWFmZnMyLXV0aWxzX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtZmlsZXN5c3RlbXMveWFmZnMyL3lhZmZzMi11dGlsc19naXQuYmIKQEAgLTQzLDMgKzQzLDkgQEAKIH0KIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgRml4ZWQgbWFrZSBjbGVhbiBlcnJvcjoKKyNtYWtlIC1DIC9saWIvbW9kdWxlcy80LjQuMC0xMTItZ2VuZXJpYy9idWlsZCBNPTxzbmlwPgorI21ha2U6ICoqKiAvbGliL21vZHVsZXMvNC40LjAtMTEyLWdlbmVyaWMvYnVpbGQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuICBTdG9wLgorI21ha2U6ICoqKiBbY2xlYW5dIEVycm9yIDIKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXN1cHBvcnQvcGh5c2ZzL3BoeXNmc18zLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2M5N2RlYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotU1VNTUFSWSA9ICJQaHlzaWNzRlMgaXMgYSBsaWJyYXJ5IHRvIHByb3ZpZGUgYWJzdHJhY3QgYWNjZXNzIHRvIHZhcmlvdXMgYXJjaGl2ZXMiCi1IT01FQVBBR0UgPSAiaHR0cDovL2ljY3VsdXMub3JnL3BoeXNmcyIKLUxJQ0VOU0UgPSAiWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yNjY4ZTJmYjA1MWMzZTU2NDE5OGUxNDZhOWEyZDlmMCIKLURFUEVORFMgPSAicmVhZGxpbmUgemxpYiIKLQotaW5oZXJpdCBjbWFrZQotCi1QRSA9ICIxIgotCi1TUkNfVVJJID0gImh0dHA6Ly9pY2N1bHVzLm9yZy8ke0JQTn0vZG93bmxvYWRzLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzU5ZjEwMmJjYmQ2MmFjY2Y4NGVmMzJmNDg2MzI1NWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc3YjlmODUzMTY4ZDk2MzZhNDRmNzVmY2EzNzJiMzYzMTA2ZjUyZDc4OWQxOGEyZjc3NjM5N2JmMTE3ZjJmMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy1zdXBwb3J0L3BoeXNmcy9waHlzZnNfMy4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMDMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtc3VwcG9ydC9waHlzZnMvcGh5c2ZzXzMuMC4yLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAiUGh5c2ljc0ZTIGlzIGEgbGlicmFyeSB0byBwcm92aWRlIGFic3RyYWN0IGFjY2VzcyB0byB2YXJpb3VzIGFyY2hpdmVzIgorSE9NRUFQQUdFID0gImh0dHA6Ly9pY2N1bHVzLm9yZy9waHlzZnMiCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTY4MDE4ODJkMTEyMDIzOWRjYWZiZjg4OGU4MjFhNmUiCitERVBFTkRTID0gInJlYWRsaW5lIHpsaWIiCisKK2luaGVyaXQgY21ha2UKKworUEUgPSAiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vaWNjdWx1cy5vcmcvJHtCUE59L2Rvd25sb2Fkcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImRjNzUxMjk0YWFmNTlkMTM1OWJiZTM0ZTY5M2QxZDg3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNGRmNzYyMDZkNjMzZGY1MzYwZTczOGIxMzhjOTRlODJjY2YwODZlNTBiYTg0ZjQ1NmQzZjg0MzJmOWY4NjMiCisKK0VYVFJBX09FQ01BS0UgPSAiLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWZpbGVzeXN0ZW1zL3JlY2lwZXMtdXRpbHMveGZzcHJvZ3MveGZzcHJvZ3NfNC4xOC4wLmJiCmluZGV4IDBhMWJhY2IuLjg4NjAzZGIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZmlsZXN5c3RlbXMvcmVjaXBlcy11dGlscy94ZnNwcm9ncy94ZnNwcm9nc180LjE4LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1maWxlc3lzdGVtcy9yZWNpcGVzLXV0aWxzL3hmc3Byb2dzL3hmc3Byb2dzXzQuMTguMC5iYgpAQCAtNTgsNiArNTgsOCBAQAogICAgIHJtIC1mICR7Qn0vaW5jbHVkZS9idWlsZGRlZnMgJHtCfS9pbmNsdWRlL3BsYXRmb3JtX2RlZnMuaCAke0J9L2NvbmZpZ3VyZQogICAgICMgUmVjcmVhdGUgY29uZmlndXJlIHNjcmlwdC4KICAgICBvZV9ydW5tYWtlIGNvbmZpZ3VyZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQogICAgIG9lX3J1bmNvbmYKIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQppbmRleCA4NGQ0ZjczLi4yYTY4MmU3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL1JFQURNRQpAQCAtMjMsMTYgKzIzLDE2IEBACiBUaGlzIGxheWVyIGRlcGVuZHMgb246CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb2UtY29yZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvbWV0YS1vZS5naXQKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1nbm9tZV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLWdub21lXScgaW4gdGhlIHN1YmplY3QnCiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzaW5nIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLWdub21lXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1nbm9tZV1bUEFUQ0gnCiAKLVRodWQgbWFpbnRhaW5lcjogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXI6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZTlkMDc4NS4uMGI2ODIzMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9jb25mL2xheWVyLmNvbmYKQEAgLTE0LDcgKzE0LDcgQEAKIAogTEFZRVJERVBFTkRTX2dub21lLWxheWVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIG5ldHdvcmtpbmctbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9nbm9tZS1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX2dub21lLWxheWVyID0gInRodWQgd2FycmlvciIKIAogIyBTYW5pdHkgY2hlY2sgZm9yIG1ldGEtZ25vbWUgbGF5ZXIuCiAjIFNldHRpbmcgU0tJUF9NRVRBX0dOT01FX1NBTklUWV9DSEVDSyB0byAiMSIgd291bGQgc2tpcCB0aGUgYmJhcHBlbmQgZmlsZXMgY2hlY2suCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCi0KLURFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAotICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAotICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAotIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzNDkyMzU3OWIzOTM2MGRiNjQ2NDkzNDJlZTY3MzVkOCIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjIzZGMxNDA0ZjFlMDYyMmI3YzQ3MThiNmQ5NzhiMTAxZDVlNGQ5YmUwYjkyMTMzYjM4NjNhNGRjMjk3ODYxNzgiCi0KLVBBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCi1QQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRob3V0LXNlbGludXggXAotIgotCi1kb19jb25maWd1cmVfYXBwZW5kKCkgewotICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgotICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KLSAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKLSAgICBkb25lCi19Ci0KLSMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKLUdJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKLX0KLQotUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAotICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAotICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAotIgotCi0jIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKLUZJTEVTXyR7UE59LWRldiArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAotIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrLW1hbmFnZXItYXBwbGV0L25ldHdvcmstbWFuYWdlci1hcHBsZXRfMS44LjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxODFmNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmstbWFuYWdlci1hcHBsZXQvbmV0d29yay1tYW5hZ2VyLWFwcGxldF8xLjguMjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJHVEsrIGFwcGxldCBmb3IgTmV0d29ya01hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK0RFUEVORFMgPSAiZ3RrKzMgbGlibm90aWZ5IGxpYnNlY3JldCBuZXR3b3JrbWFuYWdlciBkYnVzLWdsaWIgXAorICAgICAgICAgICBnY29uZiBsaWJnbm9tZS1rZXlyaW5nIGlzby1jb2RlcyBuc3MgXAorICAgICAgICAgICBpbnRsdG9vbC1uYXRpdmUgXAorIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gImF1dG90b29scy1icm9rZW5zZXAiCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBnbm9tZWJhc2UgZ3NldHRpbmdzIGd0ay1pY29uLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIwNmFhZmE4NTE3NjIxNDYwMzQzNTFhYTcyZWJiMjNkNCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjA1MGRiYjE1NTU2NmM3MTUyMzlkYzAzNzg4NDRkOGJlZWQxMDk1NGU2NGU3MTAxNGVjZWY4Y2E5MTJkZjM0ZWMiCisKK1BBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtd3dhbiwtLXdpdGhvdXQtd3dhbixtb2RlbW1hbmFnZXIiCitQQUNLQUdFQ09ORklHW21vYmlsZS1wcm92aWRlci1pbmZvXSA9ICItLWVuYWJsZS1tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sLS1kaXNhYmxlLW1vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mbyxtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8sbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRob3V0LXNlbGludXggXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgU2lnaC4uLiAtLWVuYWJsZS1jb21waWxlLXdhcm5pbmdzPW5vIGRvZXNuJ3QgYWN0dWFsbHkgdHVybiBvZmYgLVdlcnJvcgorICAgIGZvciBpIGluICQoZmluZCAke0J9IC1uYW1lICJNYWtlZmlsZSIpIDsgZG8KKyAgICAgICAgc2VkIC1pIC1lIHMlLVdlcnJvclteWzpzcGFjZTpdXSolJWcgJGkKKyAgICBkb25lCit9CisKKyMgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHJlbGF0ZWQKK0dJX0RBVEFfRU5BQkxFRF9saWJjLW11c2wgPSAiRmFsc2UiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvbGlibm1hLy5saWJzOiR7Qn0vc3JjL2xpYm5tLWd0ay8ubGlicyIKK30KKworUkRFUEVORFNfJHtQTn0gPSsgIm5ldHdvcmttYW5hZ2VyIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L25tLWFwcGxldC8gXAorICAgICR7ZGF0YWRpcn0vbGlibm0tZ3RrL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbGlibm1hL3dpZmkudWkgXAorICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAorIgorCisjIG11c2wgYnVpbGRzIGdlbmVyYXRlIGdpciBmaWxlcyB3aGljaCBvdGhlcndpc2UgZ28gdW4tcGFja2FnZWQKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2dpci0xLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWV4dGVuZGVkL2dwYXJ0ZWQvZ3BhcnRlZF8wLjMxLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThiZWFmNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiQSBwYXJ0aXRpb24gZWRpdG9yIHRvIGdyYXBoaWNhbGx5IG1hbmFnZSBkaXNrIHBhcnRpdGlvbnMgIgotSE9NRVBBR0UgPSAiaHR0cDovL2dwYXJ0ZWQub3JnL2luZGV4LnBocCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gIiBcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3Byb2plY3QvJHtCUE59LyR7QlBOfS8ke0JQTn0tJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSBcCi0gICAgZmlsZTovL2dwYXJ0ZWRfcG9sa2l0IFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNTU0Y2M1NzM0YzUwNDU5ZGQ1NTFiZDNmYTEwNzEwZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzYjdiNDlhNDM0ZDllNGIzOTdiYzQxYTFmNWFjYWI4NTM5YjlmZjQwMmI0NzJkZmQ4M2FkNzdiMmRlY2QwN2JhIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBndGttbSBwYXJ0ZWQgZ25vbWUtZG9jLXV0aWxzIGludGx0b29sLW5hdGl2ZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBBZGQgYSBzY3JpcHQgd2hpY2ggY2hlY2tzIGlmIHBvbGtpdCBpcyBpbnN0YWxsZWQuCi0gICAgIyBJZiB5ZXM6IGEgcG9saWN5IGlzIHJlcXVlc3RlZCBmcm9tIHBvbGtpdCAvIG90aGVyd2lzZSBzdGFydCBhcyB1c3VhbAotICAgIGluc3RhbGwgJHtXT1JLRElSfS9ncGFydGVkX3BvbGtpdCAke0R9JHtzYmluZGlyfQotICAgIHNlZCAtaSAnczolc2JpbmRpciU6JHtzYmluZGlyfTpnJyAke0R9JHtzYmluZGlyfS9ncGFydGVkX3BvbGtpdAotICAgICMgcmVsaW5rIG1lbnUgZW50cnkgdG8gdXNlIG91ciBzY3JpcHQKLSAgICBzZWQgLWkgJ3M6JHtzYmluZGlyfS9ncGFydGVkOiR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQ6ZycgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2dwYXJ0ZWQuZGVza3RvcAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zCi0gICAgaW5zdGFsbCAke1dPUktESVJ9L29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeSAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9hY3Rpb25zL29yZy55b2N0b3Byb2plY3QucGtleGVjLnJ1bi1ncGFydGVkLnBvbGljeQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNjcm9sbGtlZXBlciAtLWRpc2FibGUtZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2FwcGRhdGEgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotIgotCi1SREVQRU5EU18ke1BOfSA9ICJkb3Nmc3Rvb2xzIG10b29scyBlMmZzcHJvZ3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1leHRlbmRlZC9ncGFydGVkL2dwYXJ0ZWRfMC4zMy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjY5OTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZXh0ZW5kZWQvZ3BhcnRlZC9ncGFydGVkXzAuMzMuMC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkEgcGFydGl0aW9uIGVkaXRvciB0byBncmFwaGljYWxseSBtYW5hZ2UgZGlzayBwYXJ0aXRpb25zICIKK0hPTUVQQUdFID0gImh0dHA6Ly9ncGFydGVkLm9yZy9pbmRleC5waHAiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ3RrLWljb24tY2FjaGUKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICIgXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtCUE59LSR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgIGZpbGU6Ly9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgXAorICAgIGZpbGU6Ly9ncGFydGVkX3BvbGtpdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMmY0ODFhZDM0ZGVjYjcwMjFjYTA0Y2EzMDVlNzllN2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTAyM2I4Yzk4M2Y4OGEyMmU2NWJmNmYwOWExMmVhMDkzNjlkZWZjMDA4OTgxYjUyZWU4Yjk2YTM4NzlmODFkNiIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgZ3RrbW0gcGFydGVkIGdub21lLWRvYy11dGlscyBpbnRsdG9vbC1uYXRpdmUiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQWRkIGEgc2NyaXB0IHdoaWNoIGNoZWNrcyBpZiBwb2xraXQgaXMgaW5zdGFsbGVkLgorICAgICMgSWYgeWVzOiBhIHBvbGljeSBpcyByZXF1ZXN0ZWQgZnJvbSBwb2xraXQgLyBvdGhlcndpc2Ugc3RhcnQgYXMgdXN1YWwKKyAgICBpbnN0YWxsICR7V09SS0RJUn0vZ3BhcnRlZF9wb2xraXQgJHtEfSR7c2JpbmRpcn0KKyAgICBzZWQgLWkgJ3M6JXNiaW5kaXIlOiR7c2JpbmRpcn06ZycgJHtEfSR7c2JpbmRpcn0vZ3BhcnRlZF9wb2xraXQKKyAgICAjIHJlbGluayBtZW51IGVudHJ5IHRvIHVzZSBvdXIgc2NyaXB0CisgICAgc2VkIC1pICdzOiR7c2JpbmRpcn0vZ3BhcnRlZDoke3NiaW5kaXJ9L2dwYXJ0ZWRfcG9sa2l0OmcnICR7RH0ke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9ncGFydGVkLmRlc2t0b3AKKworICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucworICAgIGluc3RhbGwgJHtXT1JLRElSfS9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcueW9jdG9wcm9qZWN0LnBrZXhlYy5ydW4tZ3BhcnRlZC5wb2xpY3kKK30KKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1zY3JvbGxrZWVwZXIgLS1kaXNhYmxlLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiZG9zZnN0b29scyBtdG9vbHMgZTJmc3Byb2dzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzBmOTE3ZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmYtZWRpdG9yXzMuMjguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1ERVBFTkRTID0gImRjb25mIGd0ayszIgotCi1pbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjYzllYjgwMjBjYzg0ODgxMjk3MmQ4NTE5YzNkMDVjZiIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjQ1NWI1M2Q4Mjc4MjBlZmQyOGExNzZlZTUyZTEzZWRhNWNkYThjZGY0ZTMxZTAxNDVjZmRkNjk5MzFiZjBjNWEiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Rjb25mL2Rjb25mLWVkaXRvcl8zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk5ZWQwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZi1lZGl0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQ29uZmlndXJhdGlvbiBlZGl0b3IgZm9yIGRjb25mIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFlYmJkM2UzNDIzN2FmMjZkYTVkYzA4YTRlNDQwNDY0IgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitERVBFTkRTID0gImRjb25mIGd0ayszIgorCitpbmhlcml0IGdub21lYmFzZSB2YWxhIGdldHRleHQgZ3NldHRpbmdzIGJhc2gtY29tcGxldGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzMzFhMzYwM2MwZjhhOTkxM2UzYTNjMGYxNzhiNTMxMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImYxOWQxMzMyYWMyN2UyM2VmM2RjMmVkMDdiYTRlNDY0NmQ5ZDdmMDVlMmU3ODc0OGFhNTI1YTEzMjBhZGJhYmEiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTI5MmE4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gImNvbmZpZ3VhdGlvbiBkYXRhYmFzZSBzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEiCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODFmYWE4ZTY4ZTVlYTcxZmYwZWU3NTA1MGZjMDc1OWMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2MWQzYjM4NjVlZjU4YjcyOWMzYjM5YWEwOTc5Zjg4NmMwMTRhYTgzNjJmOTNkY2ZjNzRiZjU2NDhlZDljNzQyIgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotCi1pbmhlcml0IGdub21lYmFzZSBnc2V0dGluZ3MgYmFzaC1jb21wbGV0aW9uIHZhbGEKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEgXAotICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9kY29uZi9kY29uZl8wLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMWJiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZGNvbmYvZGNvbmZfMC4zMi4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiY29uZmlndWF0aW9uIGRhdGFiYXNlIHN5c3RlbSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSIKK1NFQ1RJT04gPSAieDExL2dub21lIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlMWFjMGI2Mjg1YWJlZmVlZDY5Y2E5ZTM4MGU0NGY1YSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY4YmNlNzhiMTliYzk0Y2IyYzNiYjg1ODdlMzdmOWU1ZTMzODU2OGMzYTY3NGY4NmVkZGU5YzlmMTYyNGZmYWIiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCisKK2luaGVyaXQgZ25vbWViYXNlIGJhc2gtY29tcGxldGlvbiB2YWxhCisKKyMgSS9PIGVycm9yIDogQXR0ZW1wdCB0byBsb2FkIG5ldHdvcmsgZW50aXR5IGh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC9jdXJyZW50L21hbnBhZ2VzL2RvY2Jvb2sueHNsCitFWFRSQV9PRU1FU09OID0gIi1EbWFuPWZhbHNlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMSBcCisgICAgJHtsaWJkaXJ9L2dpby9tb2R1bGVzLyouc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2Vkcy9ldm9sdXRpb24tZGF0YS1zZXJ2ZXJfMy4yNi42LmJiCmluZGV4IGRiNWRjYTkuLjE5NDlmYzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9lZHMvZXZvbHV0aW9uLWRhdGEtc2VydmVyXzMuMjYuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZWRzL2V2b2x1dGlvbi1kYXRhLXNlcnZlcl8zLjI2LjYuYmIKQEAgLTM4LDYgKzM4LDcgQEAKICAgICAtREVOQUJMRV9HT09HTEVfQVVUSD1PRkYgXAogICAgIC1ERU5BQkxFX1dFQVRIRVI9T0ZGIFwKICAgICAtRCR7TEtTVFJGVElNRX0gXAorICAgIC1ETElCX1NVRkZJWD0ke0BkLmdldFZhcignYmFzZWxpYicpLnJlcGxhY2UoJ2xpYicsICcnKX0gXAogIgogCiBQQUNLQUdFQ09ORklHID8/PSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2V2aW5jZS9ldmluY2VfMy4yOC4yLmJiCmluZGV4IDhiZjhhMDQuLjAxZjU4MWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ldmluY2UvZXZpbmNlXzMuMjguMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZXZpbmNlL2V2aW5jZV8zLjI4LjIuYmIKQEAgLTYsOCArNiw2IEBACiAKIGluaGVyaXQgZ25vbWUgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlIGdzZXR0aW5ncyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHN5c3RlbWQKIAotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQogU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtHTk9NRUJOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7R05PTUVCTn0tJHtQVn0udGFyLiR7R05PTUVfQ09NUFJFU1NfVFlQRX07bmFtZT1hcmNoaXZlIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaGVscC1yZW1vdmUtWUVMUC1tYWNyby5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1mb3JtYXQtYXR0cmlidXRlLXRvLV9zeW5jdGV4X21hbGxvYy5wYXRjaCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2ZhZW56YS1pY29uLXRoZW1lL2ZhZW56YS1pY29uLXRoZW1lXzEuMy5iYgppbmRleCBhMzliMWEwLi41NjFiMDk0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZmFlbnphLWljb24tdGhlbWUvZmFlbnphLWljb24tdGhlbWVfMS4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9mYWVuemEtaWNvbi10aGVtZS9mYWVuemEtaWNvbi10aGVtZV8xLjMuYmIKQEAgLTgsNyArOCw3IEBACiAKIFMgPSAiJHtXT1JLRElSfSIKIAotU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtQTn1fJHtQVn0uemlwIgorU1JDX1VSSSA9ICJodHRwOi8vZmFlbnphLWljb24tdGhlbWUuZ29vZ2xlY29kZS5jb20vZmlsZXMvJHtCUE59XyR7UFZ9LnppcCIKIFNSQ19VUklbbWQ1c3VtXSA9ICJlOWJkNjEwNmQxMzAxN2NlMDZkMjRiNTg2MjU5YWU5YyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNDQ4NmZkYTA0MTNmOGE4MWE4N2UwZGQyMzI5ZjUwZjJhOGE3Y2I0MTQ3YjQ4Y2YxNDdmMDE2MGFkZDgxNzRhIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcC8wMDAxLURpc2FibGUtbGlic2VjY29tcC1zeWNhbGwtZmlsdGVyaW5nLW1lY2hhbmlzbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWExMWU4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA5Njc1M2Q4NWQ4YjUzZGQ4Zjg3YjhmNDQ0ODkyZWZmZmRiZmFiMzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDUgT2N0IDIwMTcgMTQ6NTQ6MTcgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBsaWJzZWNjb21wIChzeWNhbGwgZmlsdGVyaW5nIG1lY2hhbmlzbSkKLQotVXBzdHJlYW0gZm9yZ290IHRvIG1ha2UgaXQgb3B0aW9uYWwsIGFuZCBpdCBpcyBub3QgY3VycmVudGx5IHVzZWQgaW4gWW9jdG8KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAxMThkMDRmLi40N2M4ODk0IDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xNTEsMjYgKzE1MSw2IEBAIGZpCi0gCi0gU0VDQ09NUF9QS0c9IiIKLSBlbmFibGVfc2VjY29tcD0ibm8iCi0tZG5sIENoZWNrIGZvciBidWJibGV3cmFwIGNvbXBhdGlibGUgcGxhdGZvcm0KLS1jYXNlICRob3N0X29zIGluCi0tICBsaW51eCopCi0tICAgIGNhc2UgJGhvc3RfY3B1IGluCi0tICAgICAgYWxwaGF8aWE2NHxtNjhrfHNoNHxzcGFyYzY0KQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9Im5vIChub3QgYXZhaWxhYmxlIG9uIHRoaXMgYXJjaGl0ZWN0dXJlKSIKLS0gICAgICAgIEFDX01TR19XQVJOKCJzZWNjb21wIG5vdCBhdmFpbGFibGUgb24gdGhpcyBhcmNoaXRlY3R1cmUiKQotLSAgICAgICAgOzsKLS0gICAgICAqKQotLSAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoTElCU0VDQ09NUCwgW2xpYnNlY2NvbXBdKQotLSAgICAgICAgU0VDQ09NUF9QS0c9ImxpYnNlY2NvbXAiCi0tICAgICAgICBBQ19ERUZJTkUoW0VOQUJMRV9TRUNDT01QXSwgWzFdLCBbRGVmaW5lIGlmIHVzaW5nIHNlY2NvbXBdKQotLSAgICAgICAgZW5hYmxlX3NlY2NvbXA9InllcyIKLS0gICAgICAgIDs7Ci0tICAgIGVzYWMKLS0gICAgQUNfREVGSU5FX1VOUVVPVEVEKF9HTlVfU09VUkNFLCAxLCBbRGVmaW5lIHRvIGluY2x1ZGUgR05VIGV4dGVuc2lvbnNdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSEFWRV9CV1JBUCwgMSwgW0RlZmluZSB0byAxIGlmIEJ1YmJsZXdyYXAgc3VwcG9ydCBpcyBhdmFpbGFibGVdKQotLSAgICBBQ19ERUZJTkVfVU5RVU9URUQoSU5TVEFMTF9QUkVGSVgsICIkcHJlZml4IiwgW1BhdGggdG8gbGlicmFyeSBpbnN0YWxsIHByZWZpeF0pCi0tICAgIDs7Ci0tZXNhYwotIAotIGRubCBwa2ctY29uZmlnIGRlcGVuZGVuY3kgY2hlY2tzCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjI4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5YjM0OTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLWRlc2t0b3AvZ25vbWUtZGVza3RvcDNfMy4yOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJHTk9NRSBsaWJyYXJ5IGZvciByZWFkaW5nIC5kZXNrdG9wIGZpbGVzIgotU0VDVElPTiA9ICJ4MTEvZ25vbWUiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1CUE4gPSAiZ25vbWUtZGVza3RvcCIKLQotaW5oZXJpdCBnbm9tZSBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYmNiZjkwNmQ5NGViMDgwNjBjNjBhNzM2NDM4NGQ2NzgiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3OGEzOTdhMmJlNDc1ODZlNmRjMDc1ZDZhN2ZjNTY1OWFhZTNkMTA3MTNkNzY5OTRjZTFiNDYwODZlN2VjYjlhIgotCi1TUkNfVVJJICs9ICIgXAotICAgICAgICAgICBmaWxlOi8vZ25vbWUtZGVza3RvcC10aHVtYm5haWwtZG9uLXQtYXNzdW1lLXRpbWVfdC1pcy1sb25nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1saWJzZWNjb21wLXN5Y2FsbC1maWx0ZXJpbmctbWVjaGFuaXNtLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1ERVBFTkRTICs9ICJpbnRsdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRlc2t0b3AtZG9jcyIKLQotUEFDS0FHRVMgPSsgImxpYmdub21lLWRlc2t0b3AzIgotRklMRVNfbGliZ25vbWUtZGVza3RvcDMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30gJHtkYXRhZGlyfS9saWJnbm9tZS1kZXNrdG9wKi9wbnAuaWRzICR7ZGF0YWRpcn0vZ25vbWUvKnhtbCIKLQotUlJFQ09NTUVORFNfbGliZ25vbWUtZGVza3RvcDMgKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtZGVza3RvcC9nbm9tZS1kZXNrdG9wM18zLjMyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg1YTI1MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1kZXNrdG9wL2dub21lLWRlc2t0b3AzXzMuMzIuMC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIkdOT01FIGxpYnJhcnkgZm9yIHJlYWRpbmcgLmRlc2t0b3AgZmlsZXMiCitTRUNUSU9OID0gIngxMS9nbm9tZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIiCisKK0JQTiA9ICJnbm9tZS1kZXNrdG9wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgorCitpbmhlcml0IGdub21lIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImU0MjNlZDZkNjQ4YzZjNGY5Nzk4ZmE5Y2Q5ZWE4ZDk5IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYTYzOTNkYzVmYzI5ZmMwNjUyYWM4NGM3M2IzZGEyMDVkMGIwMTY4MTI4YzRjZjZkMjc3OTdhMDhmM2QwN2I1NCIKKworU1JDX1VSSSArPSAiZmlsZTovL2dub21lLWRlc2t0b3AtdGh1bWJuYWlsLWRvbi10LWFzc3VtZS10aW1lX3QtaXMtbG9uZy5wYXRjaCIKKworREVQRU5EUyArPSAiaXRzdG9vbC1uYXRpdmUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBnY29uZiB2aXJ0dWFsL2xpYngxMSBndGsrMyBnbGliLTIuMCBzdGFydHVwLW5vdGlmaWNhdGlvbiB4a2V5Ym9hcmQtY29uZmlnIGlzby1jb2RlcyB1ZGV2IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitFWFRSQV9PRU1FU09OID0gIi1EZGVza3RvcF9kb2NzPWZhbHNlIgorCitQQUNLQUdFUyA9KyAibGliZ25vbWUtZGVza3RvcDMiCitGSUxFU19saWJnbm9tZS1kZXNrdG9wMyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSAke2RhdGFkaXJ9L2xpYmdub21lLWRlc2t0b3AqL3BucC5pZHMgJHtkYXRhZGlyfS9nbm9tZS8qeG1sIgorCitSUkVDT01NRU5EU19saWJnbm9tZS1kZXNrdG9wMyArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZmlsZXMvMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1N2I2MGEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9maWxlcy8wMDAxLWhlbHAtcmVtb3ZlLVlFTFAtbWFjcm8ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIDRhM2VlOGI0NmQyNWIzZDMxMDQ0OGJmYTQ0NDZlMTVhNjg2ZmM2ODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyMyBNYXIgMjAxOCAxMzo1MDoxOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBoZWxwOiByZW1vdmUgWUVMUCBtYWNybwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gaGVscC9NYWtlZmlsZS5hbSB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2hlbHAvTWFrZWZpbGUuYW0gYi9oZWxwL01ha2VmaWxlLmFtCi1pbmRleCBjNWNkMGQzLi40YjgzYWRmIDEwMDY0NAotLS0tIGEvaGVscC9NYWtlZmlsZS5hbQotKysrIGIvaGVscC9NYWtlZmlsZS5hbQotQEAgLTEsNSArMSwzIEBACi0tQFlFTFBfSEVMUF9SVUxFU0AKLS0KLSBIRUxQX0lEID0gZ25vbWUtc3lzdGVtLW1vbml0b3IKLSAKLSBIRUxQX0ZJTEVTID0gXAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3IvMDAwMS1Eby1ub3QtYnVpbGQtaGVscC13ZS1kby1ub3QtaGF2ZS15ZWxwLXlldC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmU3MjBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBjNjY0OWZkY2ZiMmY0NDgwNzA4OTc0MTU1N2Y4ZTUyN2FiOTc1MWU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjQgTWFyIDIwMTkgMDI6NDY6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGJ1aWxkIGhlbHAgLSB3ZSBkbyBub3QgaGF2ZSB5ZWxwIHlldAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZDYwY2VkNy4uNmEwYWI0YiAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTE4Myw3ICsxODMsNiBAQCBzdWJkaXIoJ2RhdGEnKQorIHN1YmRpcigncG8nKQorIHN1YmRpcignc2NyaXB0cycpCisgc3ViZGlyKCdzcmMnKQorLXN1YmRpcignaGVscCcpCisgCisgCisgbWVzc2FnZSgnXG4nLmpvaW4oWycnLAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliNmNlMTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dub21lLXN5c3RlbS1tb25pdG9yL2dub21lLXN5c3RlbS1tb25pdG9yXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVNVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAiIFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGdub21lLWNvbW1vbi1uYXRpdmUgXAotICAgIGdsaWItMi4wLW5hdGl2ZSBcCi0gICAgZ3RrbW0zIFwKLSAgICBsaWJndG9wIFwKLSAgICBsaWJyc3ZnIFwKLSAgICBsaWJ3bmNrMyBcCi0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmY2Q1OTg2N2MwN2Y4YzQ4NTNiMWUyOGQ2MGNiYzAzNyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImY4NDhhOGMyY2E1ZTE2NGNmMDlkM2EyMDVkZDQ5ZTRlNGJmNGI2MGQ0M2IwOTY5YzEwNDQzZWI1MTlkMGU2YjMiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1oZWxwLXJlbW92ZS1ZRUxQLW1hY3JvLnBhdGNoIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L2dub21lL2F1dG9zdGFydCBcCi0iCi0KLUZJTEVTXyR7UE59LWRvYyArPSAiIFwKLSAgICAke2RhdGFkaXJ9L29tZiBcCi0gICAgJHtkYXRhZGlyfS9nbm9tZS9oZWxwIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nbm9tZS1zeXN0ZW0tbW9uaXRvci9nbm9tZS1zeXN0ZW0tbW9uaXRvcl8zLjMyLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNDMyYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ25vbWUtc3lzdGVtLW1vbml0b3IvZ25vbWUtc3lzdGVtLW1vbml0b3JfMy4zMi4wLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiR25vbWUgc3lzdGVtIG1vbml0b3IiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpdHN0b29sLW5hdGl2ZSBcCisgICAgZ25vbWUtY29tbW9uLW5hdGl2ZSBcCisgICAgbGlieG1sMi1uYXRpdmUgXAorICAgIGdsaWItMi4wLW5hdGl2ZSBcCisgICAgZ3RrbW0zIFwKKyAgICBsaWJndG9wIFwKKyAgICBsaWJyc3ZnIFwKKyIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNmMyYzVjNWJmOGYxNWQzZTY5ODVmYWFjYmQzMDU1ZGQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJhZjAwYzRhNDJkZDFkYjE3ZDlhYmU4OGVkYjExYzc3NTFiMjA5ODJkYjFhOGEyYTQ2N2JhYjIwNmZkOGE3N2UzIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWhlbHAtd2UtZG8tbm90LWhhdmUteWVscC15ZXQucGF0Y2giCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRHN5c3RlbWQ9dHJ1ZSwgLURzeXN0ZW1kPWZhbHNlLCBzeXN0ZW1kIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJhZHdhaXRhLWljb24tdGhlbWUiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2dzcGVsbC9nc3BlbGxfMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRlMjk4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9nc3BlbGwvZ3NwZWxsXzEuOC4xLmJiCkBAIC0wLDAgKzEsMTEgQEAKK1NVTU1BUlkgPSAic3BlbGwgYWRkcyBzcGVsbC1jaGVja2luZyB0byBhIEdUSysgYXBwbGljYXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9nc3BlbGwiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGMyZTFlYzE1NDBmYjNlMGJlYjY4MzYxMzQ0Y2JhN2UiCisKK0RFUEVORFMgPSAiZ3RrKzMgaXNvLWNvZGVzIGVuY2hhbnQyIgorCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI4MjY5OTE4ZWE1ZmY3OThlNDk5NDNlN2RhZjZhMzJiOSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjgxOWExZDIzYzc2MDMwMDBlNzNmNWU3MzhiZGQyODQzNDJlMGNkMzQ1ZmIwYzc2NTA5OTljMzFlYzc0MWJiZTUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Rrc291cmNldmlldy9ndGtzb3VyY2V2aWV3M18zLjI0LjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTFlNDc5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC4xMC5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gIlBvcnRhYmxlIEMgbGlicmFyeSBmb3IgbXVsdGlsaW5lIHRleHQgZWRpdGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wcm9qZWN0cy5nbm9tZS5vcmcvZ3Rrc291cmNldmlldy8iCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCIKKworREVQRU5EUyA9ICJndGsrMyBsaWJ4bWwyIGludGx0b29sLW5hdGl2ZSBnbm9tZS1jb21tb24tbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworUE5BTUUgPSAiZ3Rrc291cmNldmlldyIKKworUyA9ICIke1dPUktESVJ9LyR7UE5BTUV9LSR7UFZ9IgorCitpbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9nbm9tZS9zb3VyY2VzL2d0a3NvdXJjZXZpZXcvMy4yNC8ke1BOQU1FfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiZTQzMzM3ZDE3YzQwZWFlNDQwYTc2NjMwZGI3NmM1NGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWI1NDA2Y2RkMGJkY2Y2NmFmY2Q1MmIxZTA0OGEyZjQzYzBmM2FiMzkxNjQ0ZWUzMGQ5YWM0MTliOTNjZDU5YiIKKworRklMRVNfJHtQTn0gKz0gIiAke2RhdGFkaXJ9L2d0a3NvdXJjZXZpZXctMy4wIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d0a3NvdXJjZXZpZXcvZ3Rrc291cmNldmlldzNfMy4yNC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2I4ODY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndGtzb3VyY2V2aWV3L2d0a3NvdXJjZXZpZXczXzMuMjQuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVNVTU1BUlkgPSAiUG9ydGFibGUgQyBsaWJyYXJ5IGZvciBtdWx0aWxpbmUgdGV4dCBlZGl0aW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3Byb2plY3RzLmdub21lLm9yZy9ndGtzb3VyY2V2aWV3LyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgotCi1ERVBFTkRTID0gImd0ayszIGxpYnhtbDIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgotCi1QTkFNRSA9ICJndGtzb3VyY2V2aWV3IgotCi1TID0gIiR7V09SS0RJUn0vJHtQTkFNRX0tJHtQVn0iCi0KLWluaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3Rrc291cmNldmlldy8zLjI0LyR7UE5BTUV9LSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MmY4YzgzYWQyMWFkNzVlOWVlNmNjYTAzY2UyZTYzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTliYjhmZjE5MGRiNzA1ZGViOTE2ZGQyM2ZmNjgxZjBlODgwM2FlYzQwN2JmMGZkNjRjN2U2MTVhYzQzNmZlIgotCi1GSUxFU18ke1BOfSArPSAiICR7ZGF0YWRpcn0vZ3Rrc291cmNldmlldy0zLjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvZ3Zmcy9ndmZzXzEuMzkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTFlYjZhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS4zOS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiZ3ZmcyBpcyBhIHVzZXJzcGFjZSB2aXJ0dWFsIGZpbGVzeXN0ZW0iCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA1ZGYzOGRkNzdjMzVlYzg0MzFmMjEyNDEwYTMzMjllIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZSBiYXNoLWNvbXBsZXRpb24gZ2V0dGV4dAotCi1ERVBFTkRTICs9ICJsaWJzZWNyZXQgZ2xpYi0yLjAgZ2NvbmYgaW50bHRvb2wtbmF0aXZlIGxpYmd1ZGV2IHVkaXNrczIgcG9sa2l0IHNoYWRvdy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZC5nbm9tZS5vcmcvc291cmNlcy8ke0JQTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLnh6O25hbWU9YXJjaGl2ZSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGM2ODg5OWNmZDgwZDU3YTE1Mzc3MTUzNDE5M2JiOWEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2ZTcyMTM1NzAzODliMTdiNjc0MzM2OTVmNTE1ZjNiMTc3MDViYTk3NjE2OGE0Yzg4MjhmYzE3N2NjZTUwMjIzIgotCi0KLUVYVFJBX09FTUVTT04gPSAiIFwKLSAgICAtRGJsdXJheT1mYWxzZSBcCi0gICAgLURnZHU9ZmFsc2UgXAotICAgIC1EZ29hPWZhbHNlIFwKLSAgICAtRGdvb2dsZT1mYWxzZSBcCi0gICAgLURuZnM9ZmFsc2UgXAotICAgIC1EdWRpc2tzMj10cnVlIFwKLSAgICAtRGRvY3VtZW50YXRpb249ZmFsc2UgXAotIgotCi1QQUNLQUdFUyA9KyAiZ3Zmc2QtZnRwIGd2ZnNkLXNmdHAgZ3Zmc2QtdHJhc2giCi0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7ZGF0YWRpcn0vZ2xpYi0yLjAgXAotICAgICR7ZGF0YWRpcn0vR0NvbmYgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKLSAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5zbyBcCi0gICAgJHtsaWJkaXJ9L3RtcGZpbGVzLmQgXAotICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKLSIKLVJERVBFTkRTXyR7UE59ID0gInVkaXNrczIiCi0KLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzLy5kZWJ1Zy8qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvKi5sYSIKLQotRklMRVNfZ3Zmc2QtZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2QtZnRwICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvZnRwLm1vdW50IgotRklMRVNfZ3Zmc2Qtc2Z0cCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXNmdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9zZnRwLm1vdW50IgotRklMRVNfZ3Zmc2QtdHJhc2ggPSAiJHtsaWJleGVjZGlyfS9ndmZzZC10cmFzaCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3RyYXNoLm1vdW50IgotCi1SUkVDT01NRU5EU19ndmZzZC1mdHAgKz0gIm9wZW5zc2gtc2Z0cCBvcGVuc3NoLXNzaCIKLQotUEFDS0FHRUNPTkZJRyA/PSAibGliZ3Bob3RvMiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FmY10gPSAiLURhZmM9dHJ1ZSwgLURhZmM9ZmFsc2UsIGxpYmltb2JpbGVkZXZpY2UgbGlicGxpc3QiCi1QQUNLQUdFQ09ORklHW2FyY2hpdmVdID0gIi1EYXJjaGl2ZT10cnVlLCAtRGFyY2hpdmU9ZmFsc2UsIGxpYmFyY2hpdmUiCi1QQUNLQUdFQ09ORklHW2Ruc3NkXSA9ICItRGRuc3NkPXRydWUsIC1EZG5zc2Q9ZmFsc2UsIGF2YWhpIgotUEFDS0FHRUNPTkZJR1tnY3JdID0gIi1EZ2NyPXRydWUsIC1EZ2NyPWZhbHNlLCBnY3IiCi1QQUNLQUdFQ09ORklHW2h0dHBdID0gIi1EaHR0cD10cnVlLCAtRGh0dHA9ZmFsc2UsIGxpYnNvdXAtMi40IgotUEFDS0FHRUNPTkZJR1tsaWJtdHBdID0gIi1EbXRwPXRydWUsIC1EbXRwPWZhbHNlLCBsaWJtdHAiCi1QQUNLQUdFQ09ORklHW2xvZ2luZF0gPSAiLURsb2dpbmQ9dHJ1ZSwgLURsb2dpbmQ9ZmFsc2UsIHN5c3RlbWQiCi1QQUNLQUdFQ09ORklHW2xpYmdwaG90bzJdID0gIi1EZ3Bob3RvMj10cnVlLCAtRGdwaG90bzI9ZmFsc2UsIGxpYmdwaG90bzIiCi1QQUNLQUdFQ09ORklHW3NhbWJhXSA9ICItRHNtYj10cnVlLCAtRHNtYj1mYWxzZSwgc2FtYmEiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi1Ec3lzdGVtZHVzZXJ1bml0ZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IC1EdG1wZmlsZXNkaXI9JHtsaWJkaXJ9L3RtcGZpbGVzLmQsIC1Ec3lzdGVtZHVzZXJ1bml0ZGlyPW5vIC1EdG1wZmlsZXNkaXI9bm8sIHN5c3RlbWQiCi0KLSMgbmVlZHMgbWV0YS1maWxlc3lzdGVtcwotUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICItRGZ1c2U9dHJ1ZSwgLURmdXNlPWZhbHNlLCBmdXNlIgotCi0jIGxpYmNkaW8tcGFyYW5vaWEgcmVjaXBlIGRvZXNuJ3QgZXhpc3QgeWV0Ci1QQUNLQUdFQ09ORklHW2NkZGFdID0gIi1EY2RkYT10cnVlLCAtRGNkZGE9ZmFsc2UsIGxpYmNkaW8tcGFyYW5vaWEiCi0KLSMgRml4IHVwIHBlcm1pc3Npb25zIG9uIHBvbGtpdCBydWxlcy5kIHRvIHdvcmsgd2l0aCBycG00IGNvbnN0cmFpbnRzCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQljaG1vZCA3MDAgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLQljaG93biBwb2xraXRkOnJvb3QgJHtEfS8ke2RhdGFkaXJ9L3BvbGtpdC0xL3J1bGVzLmQKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2d2ZnMvZ3Zmc18xLjQwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YyMzljNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9ndmZzL2d2ZnNfMS40MC4wLmJiCkBAIC0wLDAgKzEsNzAgQEAKK0RFU0NSSVBUSU9OID0gImd2ZnMgaXMgYSB1c2Vyc3BhY2UgdmlydHVhbCBmaWxlc3lzdGVtIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNWRmMzhkZDc3YzM1ZWM4NDMxZjIxMjQxMGEzMzI5ZSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWUgYmFzaC1jb21wbGV0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKK0RFUEVORFMgKz0gImxpYnNlY3JldCBnbGliLTIuMCBnY29uZiBpbnRsdG9vbC1uYXRpdmUgbGliZ3VkZXYgdWRpc2tzMiBwb2xraXQgc2hhZG93LW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7QlBOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7QlBOfS0ke1BWfS50YXIueHo7bmFtZT1hcmNoaXZlIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI5NmVmNTNlZDYxM2U0ZDIyM2UwZGIzYTdhY2VhNDRmMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjM3MzlkNjRiNzljOTVhOWYwZjlmYWYyYzVmOWU1Mjk4YjRiMmViZGQ2NDMxNDM1Y2U2NTZlY2QxOWIzMWUyZjIiCisKKworRVhUUkFfT0VNRVNPTiA9ICIgXAorICAgIC1EYmx1cmF5PWZhbHNlIFwKKyAgICAtRGdkdT1mYWxzZSBcCisgICAgLURnb2E9ZmFsc2UgXAorICAgIC1EZ29vZ2xlPWZhbHNlIFwKKyAgICAtRG5mcz1mYWxzZSBcCisgICAgLUR1ZGlza3MyPXRydWUgXAorICAgIC1EZG9jdW1lbnRhdGlvbj1mYWxzZSBcCisiCisKK1BBQ0tBR0VTID0rICJndmZzZC1mdHAgZ3Zmc2Qtc2Z0cCBndmZzZC10cmFzaCIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9nbGliLTIuMCBcCisgICAgJHtkYXRhZGlyfS9HQ29uZiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAorICAgICR7bGliZGlyfS9naW8vbW9kdWxlcy8qLnNvIFwKKyAgICAke2xpYmRpcn0vdG1wZmlsZXMuZCBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorIgorUkRFUEVORFNfJHtQTn0gPSAidWRpc2tzMiIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvLmRlYnVnLyoiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy8qLmxhIgorCitGSUxFU19ndmZzZC1mdHAgPSAiJHtsaWJleGVjZGlyfS9ndmZzZC1mdHAgJHtkYXRhZGlyfS9ndmZzL21vdW50cy9mdHAubW91bnQiCitGSUxFU19ndmZzZC1zZnRwID0gIiR7bGliZXhlY2Rpcn0vZ3Zmc2Qtc2Z0cCAke2RhdGFkaXJ9L2d2ZnMvbW91bnRzL3NmdHAubW91bnQiCitGSUxFU19ndmZzZC10cmFzaCA9ICIke2xpYmV4ZWNkaXJ9L2d2ZnNkLXRyYXNoICR7ZGF0YWRpcn0vZ3Zmcy9tb3VudHMvdHJhc2gubW91bnQiCisKK1JSRUNPTU1FTkRTX2d2ZnNkLWZ0cCArPSAib3BlbnNzaC1zZnRwIG9wZW5zc2gtc3NoIgorCitQQUNLQUdFQ09ORklHID89ICJsaWJncGhvdG8yICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWZjXSA9ICItRGFmYz10cnVlLCAtRGFmYz1mYWxzZSwgbGliaW1vYmlsZWRldmljZSBsaWJwbGlzdCIKK1BBQ0tBR0VDT05GSUdbYXJjaGl2ZV0gPSAiLURhcmNoaXZlPXRydWUsIC1EYXJjaGl2ZT1mYWxzZSwgbGliYXJjaGl2ZSIKK1BBQ0tBR0VDT05GSUdbZG5zc2RdID0gIi1EZG5zc2Q9dHJ1ZSwgLURkbnNzZD1mYWxzZSwgYXZhaGkiCitQQUNLQUdFQ09ORklHW2djcl0gPSAiLURnY3I9dHJ1ZSwgLURnY3I9ZmFsc2UsIGdjciIKK1BBQ0tBR0VDT05GSUdbaHR0cF0gPSAiLURodHRwPXRydWUsIC1EaHR0cD1mYWxzZSwgbGlic291cC0yLjQiCitQQUNLQUdFQ09ORklHW2xpYm10cF0gPSAiLURtdHA9dHJ1ZSwgLURtdHA9ZmFsc2UsIGxpYm10cCIKK1BBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLCAtRGxvZ2luZD1mYWxzZSwgc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbbGliZ3Bob3RvMl0gPSAiLURncGhvdG8yPXRydWUsIC1EZ3Bob3RvMj1mYWxzZSwgbGliZ3Bob3RvMiIKK1BBQ0tBR0VDT05GSUdbc2FtYmFdID0gIi1Ec21iPXRydWUsIC1Ec21iPWZhbHNlLCBzYW1iYSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLURzeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gLUR0bXBmaWxlc2Rpcj0ke2xpYmRpcn0vdG1wZmlsZXMuZCwgLURzeXN0ZW1kdXNlcnVuaXRkaXI9bm8gLUR0bXBmaWxlc2Rpcj1ubywgc3lzdGVtZCIKKworIyBuZWVkcyBtZXRhLWZpbGVzeXN0ZW1zCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gIi1EZnVzZT10cnVlLCAtRGZ1c2U9ZmFsc2UsIGZ1c2UiCisKKyMgbGliY2Rpby1wYXJhbm9pYSByZWNpcGUgZG9lc24ndCBleGlzdCB5ZXQKK1BBQ0tBR0VDT05GSUdbY2RkYV0gPSAiLURjZGRhPXRydWUsIC1EY2RkYT1mYWxzZSwgbGliY2Rpby1wYXJhbm9pYSIKKworIyBGaXggdXAgcGVybWlzc2lvbnMgb24gcG9sa2l0IHJ1bGVzLmQgdG8gd29yayB3aXRoIHJwbTQgY29uc3RyYWludHMKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWNobW9kIDcwMCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorCWNob3duIHBvbGtpdGQ6cm9vdCAke0R9LyR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1NmE3NDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmdub21lL2xpYmdub21la2JkXzMuMjYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKLUxJQ0VOU0UgPSAiTEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgotCi1TRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgotCi1ERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOGI5ZDEzZDQ2MjU1Y2RlOTEwYjNkYjVhNmViYjQ3MjciCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlYTNiNDE4YzU3YzMwNjE1ZjdlZTViNmY3MThkZWY3YzlkMDljZTM0NjM3MzI0MzYxMTUwNzQ0MjU4OTY4ODc1IgotCi1FWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnbm9tZS9saWJnbm9tZWtiZF8zLjI2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNzM3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ25vbWUvbGliZ25vbWVrYmRfMy4yNi4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiR05PTUUga2V5Ym9hcmQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTZlMjljNjg4ZDkxMmRhMTJiNjZiNzNlMzJiMDNkODEyIgorCitTRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgorCitERVBFTkRTID0gImdjb25mIGdsaWItMi4wIGxpYnhrbGF2aWVyIGd0ayszIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTgwNDAwMjI0ODQ0MDZlN2ViZTI1ZjgyY2VmOTMzNDQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmN2NhMDI2MzE1NzZlOWI4OGFlZTFiMWJhZTM3YWMxNDg4YjgwZWU3OTc1ZjIwYTk3ZjI5ZTc2MWE3MTcyNjc5IgorCitFWFRSQV9PRUNPTkZfcmVtb3ZlID0gIi0tZGlzYWJsZS1zY2hlbWFzLWluc3RhbGwiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjI5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNWUyZjFkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuMjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIkdOT01FIFN0cnVjdHVyZWQgRmlsZSBMaWJyYXJ5IgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGM3MzcxYjUwODE2Yzk2ZTE0NWZhMGY4YWRlOGUyNGQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTYxNDY0Y2ZlMzQyNzk4ZWVjZWQ4MmVmZTlhZTU1ZjYzIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLURFUEVORFM9ICJsaWJ4bWwyIGJ6aXAyIGdsaWItMi4wIHpsaWIgaW50bHRvb2wtbmF0aXZlIGdub21lLWNvbW1vbi1uYXRpdmUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnbm9tZSBnY29uZiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRyb3AtYS1jb3B5LXBhc3RlLW9mLWludHJvc3BlY3Rpb24ubTQtbS5wYXRjaCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzA1NmI5NGJiMzI4MWRiYzgzMTEzNzFiZmMyM2NmNzIiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI0ZDhiY2EzMzQyNGViNzExYWNkYjZhMDYwY2I0ODhiMTMyMDYzZDY5OWM0ZmEyMDFkYjI0YzJjODljNjI1MjljIgotCi1HTk9NRV9DT01QUkVTU19UWVBFID0gInh6IgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tnZGstcGl4YnVmXSA9ICItLXdpdGgtZ2RrLXBpeGJ1ZiwtLXdpdGhvdXQtZ2RrLXBpeGJ1ZixnZGstcGl4YnVmIgotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZGlzYWJsZS1ndGstZG9jIFwKLSAgICAtLXdpdGgtYnoyIFwKLSIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ2NvbmYiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RodW1ibmFpbGVycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJnc2YvbGliZ3NmXzEuMTQuNDUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2M2UyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3NmL2xpYmdzZl8xLjE0LjQ1LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiR05PTUUgU3RydWN0dXJlZCBGaWxlIExpYnJhcnkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kYzczNzFiNTA4MTZjOTZlMTQ1ZmEwZjhhZGU4ZTI0ZCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NjE0NjRjZmUzNDI3OThlZWNlZDgyZWZlOWFlNTVmNjMiCisKK1NFQ1RJT04gPSAibGlicyIKKworREVQRU5EUz0gImxpYnhtbDIgYnppcDIgZ2xpYi0yLjAgemxpYiBpbnRsdG9vbC1uYXRpdmUgZ25vbWUtY29tbW9uLW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdub21lIGdjb25mIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZHJvcC1hLWNvcHktcGFzdGUtb2YtaW50cm9zcGVjdGlvbi5tNC1tLnBhdGNoIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJlNDVjYzhhYTljNDk1MTZkNTQwYjdkNzMwN2Y3NTVmMSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjVjYmMyYzBmMWRjNDRkMjAyZmEwYzZlM2E1MWU5ZjE3YjBjMmRlYjg3MTFiYTY1MDQzMmJmZGUzMTgwYjY5ZmEiCisKK0dOT01FX0NPTVBSRVNTX1RZUEUgPSAieHoiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dkay1waXhidWZdID0gIi0td2l0aC1nZGstcGl4YnVmLC0td2l0aG91dC1nZGstcGl4YnVmLGdkay1waXhidWYiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1kaXNhYmxlLWd0ay1kb2MgXAorICAgIC0td2l0aC1iejIgXAorIgorCitSREVQRU5EU18ke1BOfSA9ICJnY29uZiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vdGh1bWJuYWlsZXJzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjM4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk0OTM0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuMzguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiTGliR1RvcDIiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IGdub21lYmFzZSBsaWJfcGFja2FnZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dAotCi0jIGRlcGVuZHMgb24gbGlieGF1Ci1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJiYjBjZTdkZTZiMjg2OTRiNDA0MDVlZWRhYzhhMzFiNSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRmNmMwZTYyYmI0MzhhYmZkMTZiNDU1OWNkMmVjYTAyNTFkZTE5ZTI5MWM4ODhjZGM0ZGM4OGU1ZmZlYmI2MTIiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGliZ3RvcC9saWJndG9wXzIuNDAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTk0MTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYmd0b3AvbGliZ3RvcF8yLjQwLjAuYmIKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJMaWJHVG9wMiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIiCisKK2luaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKKyMgZGVwZW5kcyBvbiBsaWJ4YXUKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJjNmQ2NzMyNWNkOTdiMjIwOGI0MWUwN2U2Y2M3Yjk0NyIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjc4ZjMyNzRjMGM3OWM0MzRjMDM2NTVjMWIzNWVkZjdiOTVlYzA0MjE0MzA4OTdmYjEzNDVhOThhMjY1ZWQyZDQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlieGF1IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQkdUT1BfTElCUz0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbGlidGltZXpvbmVtYXAvbGlidGltZXpvbmVtYXBfMC40LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1N2Q3ZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGltZSB6b25lIG1hcCB3aWRnZXQgZm9yIEd0aysiCi1IT01FUEFHRSA9ICJodHRwczovL2xhdW5jaHBhZC5uZXQvdGltZXpvbmVtYXAiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS51YnVudHUuY29tL3VidW50dS9wb29sL21haW4vbGlidC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci5neiBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiMDU0MzA2ZmE5OThmZTU4MGYxN2I2OGFhMWUxNjU1MWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzI3ZTY0YTE3YzY3NmMxYmNkYTNiNmJhMzM5NGQzZDAxMjUwZTVhYzlhNDkyMjJiOWZmNTczN2Q5MGIxNTM4MyIKLQotCi1ERVBFTkRTID0gImd0ayszIGdkay1waXhidWYgbGlic291cC0yLjQganNvbi1nbGliIGdub21lLWNvbW1vbi1uYXRpdmUgXAotIgotCi1CID0gIiR7U30iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9saWJ0aW1lem9uZW1hcC9saWJ0aW1lem9uZW1hcF8wLjQuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjUyYzQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL2xpYnRpbWV6b25lbWFwL2xpYnRpbWV6b25lbWFwXzAuNC42LmJiCkBAIC0wLDAgKzEsMjEgQEAKK0RFU0NSSVBUSU9OID0gIlRpbWUgem9uZSBtYXAgd2lkZ2V0IGZvciBHdGsrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3RpbWV6b25lbWFwIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2xpYnQvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjg1YTIxOTk0YTM5N2ZiMWZmMmQzZWM0MDRiZGQ1OTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ2MzRjYzI0NzZkOGY1N2QxZWUxODY0YmQ0ZjQ0MjE4MGFlNGJmMDQwYTlhZTRiZjczYjY2YmJkODVkNzE5NSIKKworREVQRU5EUyA9ICJndGsrMyBnZGstcGl4YnVmIGxpYnNvdXAtMi40IGpzb24tZ2xpYiBnbm9tZS1jb21tb24tbmF0aXZlIgorCitCID0gIiR7U30iCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCShjZCAke1N9OyBOT0NPTkZJR1VSRT0ieWVzIiAuICR7U30vYXV0b2dlbi5zaCkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODlmNmVjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TRUNUSU9OID0gIngxMS93bSIKLVNVTU1BUlkgPSAiTWV0YWNpdHkgaXMgdGhlIGJvcmluZyB3aW5kb3cgbWFuYWdlciBmb3IgdGhlIGFkdWx0IGluIHlvdSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjRjY2U1MzU2MGI4ZTYxOWZmYTdjODMwZmI4NzYxYWEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luY2x1ZGUvbWFpbi5oO2VuZGxpbmU9MjQ7bWQ1PTcyMTQ4ZWRlMDdhNmRhZGQwMWRlNmE4ODJkMjBhOWFkIgotCi1QRSA9ICIxIgotCi1ERVBFTkRTID0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMgc3RhcnR1cC1ub3RpZmljYXRpb24gXAotICAgICAgICAgICBnbm9tZS1kb2MtdXRpbHMgZ2RrLXBpeGJ1Zi1uYXRpdmUgXAotICAgICAgICAgICBndGsrMyBnbGliLTIuMCBsaWJjYW5iZXJyYSBsaWJndG9wIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBnbm9tZWJhc2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gc3RhcnR1cC1ub3RpZmljYXRpb24gd2hpY2ggZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0dOT01FL21ldGFjaXR5LmdpdDticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHJvcC16ZW5pdHktZGV0ZWN0aW9uLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICJjMGQ0YjJmYzBmY2Q2ZjJkM2MzN2RhOTM1OTIzZjllOWVkNWViOTlmIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS14aW5lcmFtYSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotCi0jIGVuYWJsZSBhcyBuZWNjZXNzYXJ5IHVudGlsIG5ldyB3YXJuaW5ncyBhcmUgZGVhbHQgd2l0aAotUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLVdlcnJvciwtLWRpc2FibGUtV2Vycm9yLCwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGNkICR7U30KLSAgICBhY2xvY2FsIC0taW5zdGFsbCB8fCBleGl0IDEKLSAgICBhdXRvcmVjb25mIC0tdmVyYm9zZSAtLWZvcmNlIC0taW5zdGFsbCAtV25vLXBvcnRhYmlsaXR5IHx8IGV4aXQgMQotICAgIGNkIC0KLQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS90aGVtZXMgJHtkYXRhZGlyfS9nbm9tZS1jb250cm9sLWNlbnRlciAke2RhdGFkaXJ9L2dub21lIgotUkRFUEVORFNfJHtQTn0gKz0gImdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS9tZXRhY2l0eS9tZXRhY2l0eV8zLjMwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1M2Y3ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvbWV0YWNpdHkvbWV0YWNpdHlfMy4zMC4xLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NFQ1RJT04gPSAieDExL3dtIgorU1VNTUFSWSA9ICJNZXRhY2l0eSBpcyB0aGUgYm9yaW5nIHdpbmRvdyBtYW5hZ2VyIGZvciB0aGUgYWR1bHQgaW4geW91IgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNGNjZTUzNTYwYjhlNjE5ZmZhN2M4MzBmYjg3NjFhYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaW5jbHVkZS9tYWluLmg7ZW5kbGluZT0yNDttZDU9NzIxNDhlZGUwN2E2ZGFkZDAxZGU2YTg4MmQyMGE5YWQiCisKK1BFID0gIjEiCisKK0RFUEVORFMgPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBzdGFydHVwLW5vdGlmaWNhdGlvbiBcCisgICAgICAgICAgIGdub21lLWRvYy11dGlscyBnZGstcGl4YnVmLW5hdGl2ZSBcCisgICAgICAgICAgIGd0ayszIGdsaWItMi4wIGxpYmNhbmJlcnJhIGxpYmd0b3AgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiBzdGFydHVwLW5vdGlmaWNhdGlvbiB3aGljaCBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vR05PTUUvbWV0YWNpdHkuZ2l0O2JyYW5jaD1tYXN0ZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcm9wLXplbml0eS1kZXRlY3Rpb24ucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gImQ2OWZiYTA1MmNkZDBhYTgzNDhkYzFiYmJiYjFlY2JhZGZiZWJiZDgiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhpbmVyYW1hIgorCitQQUNLQUdFQ09ORklHID89ICIiCisKKyMgZW5hYmxlIGFzIG5lY2Nlc3NhcnkgdW50aWwgbmV3IHdhcm5pbmdzIGFyZSBkZWFsdCB3aXRoCitQQUNLQUdFQ09ORklHW3dlcnJvcl0gPSAiLS1lbmFibGUtV2Vycm9yLC0tZGlzYWJsZS1XZXJyb3IsLCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgY2QgJHtTfQorICAgIGFjbG9jYWwgLS1pbnN0YWxsIHx8IGV4aXQgMQorICAgIGF1dG9yZWNvbmYgLS12ZXJib3NlIC0tZm9yY2UgLS1pbnN0YWxsIC1Xbm8tcG9ydGFiaWxpdHkgfHwgZXhpdCAxCisgICAgY2QgLQorCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3RoZW1lcyAke2RhdGFkaXJ9L2dub21lLWNvbnRyb2wtY2VudGVyICR7ZGF0YWRpcn0vZ25vbWUiCitSREVQRU5EU18ke1BOfSArPSAiZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLWdub21lL3d2L3d2XzEuMi40LmJiCmluZGV4IDhlZDFmY2QuLjAzZWU1YjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1nbm9tZS93di93dl8xLjIuNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtZ25vbWUvd3Yvd3ZfMS4yLjQuYmIKQEAgLTE2LDYgKzE2LDQgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCiAKLVMgPSAiJHtXT1JLRElSfS8ke1BOfS0ke1BWfSIKLQogRVhUUkFfT0VDT05GID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtZ25vbWUvcmVjaXBlcy1zdXBwb3J0L3VzZXJtb2RlL3VzZXJtb2RlLzAwMDEtSW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3N2Y2ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1JbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDc1NTM5NjU5Mzk2YjE4MTEwZDVhNTJhOGEzMjg0NTI1NGI0ZDhlY2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxODoyNTo0NyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IKLQotdXNlcm1vdW50LmM6MjM4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gdXNlcm1vdW50LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3VzZXJtb3VudC5jIGIvdXNlcm1vdW50LmMKLWluZGV4IDQxMDcwMjcuLjIxZWY3N2YgMTAwNjQ0Ci0tLS0gYS91c2VybW91bnQuYwotKysrIGIvdXNlcm1vdW50LmMKLUBAIC00MCw2ICs0MCw3IEBACi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGdsb2IuaD4KLSAjaW5jbHVkZSA8bGliaW50bC5oPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGUvMDAwMS1NaXNzaW5nLW4taW4tdHJhbnNsYXRlZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRiNzAwZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZS8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gN2NiYzY0NDFjZDA2ZTBjMGJiNTFhYzM3YzhmMjJiMGZkNTFmMTJmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppcmkgS3VjZXJhIDxqa3VjZXJhQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDExIEFwciAyMDE4IDE3OjEzOjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1pc3NpbmcgXG4gaW4gdHJhbnNsYXRlZCBzdHJpbmcKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwby90ci5wbyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KLWluZGV4IDg0ZTUwMjEuLmEyOGU5NDcgMTAwNjQ0Ci0tLS0gYS9wby90ci5wbwotKysrIGIvcG8vdHIucG8KLUBAIC00MDgsNyArNDA4LDcgQEAgbXNnc3RyICJHcmFmaWsgcGVuY2VyZSBhw6fEsWxhbWFkxLEgdmUgdcOnYmlyaW0gZGVuZXRpbWkgYnVsdW5hbWFkxLEuXG4iCi0gIzogLi4vLi4vcG8vLi4vdXNlcnBhc3N3ZC5jOjM3Ci0gIywgYy1mb3JtYXQKLSBtc2dpZCAiVW5leHBlY3RlZCBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4iCi0tbXNnc3RyICJCZWtsZW5tZXllbiBrb211dCBzYXTEsXLEsSBhcmfDvG1hbmxhcsSxIgotK21zZ3N0ciAiQmVrbGVubWV5ZW4ga29tdXQgc2F0xLFyxLEgYXJnw7xtYW5sYXLEsVxuIgotIAotICM6IC4uLy4uL3BvLy4uL3VzZXJpbmZvLmM6NDExCi0gIywgYy1mb3JtYXQKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODJjY2YzZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSB1c2VybW9kZSBjb250YWlucyB0aGUgdXNlcmhlbHBlciBwcm9ncmFtLCB3aGljaCBjYW4gYmUgdXNlZCB0byBhbGxvdyBjb25maWd1cmVkIFwKLXByb2dyYW1zIHRvIGJlIHJ1biB3aXRoIHN1cGVydXNlciBwcml2aWxlZ2VzIGJ5IG9yZGluYXJ5IHVzZXJzLCBhbmQgc2V2ZXJhbCBcCi1ncmFwaGljYWwgdG9vbHMgZm9yIHVzZXJzOiBcCi0qIHVzZXJpbmZvIGFsbG93cyB1c2VycyB0byBjaGFuZ2UgdGhlaXIgZmluZ2VyIGluZm9ybWF0aW9uLiBcCi0qIHVzZXJtb3VudCBsZXRzIHVzZXJzIG1vdW50LCB1bm1vdW50LCBhbmQgZm9ybWF0IGZpbGVzeXN0ZW1zLiBcCi0qIHVzZXJwYXNzd2QgYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBwYXNzd29yZHMuIFwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL3VzZXJtb2RlIgotTElDRU5TRSA9ICJHUEx2MisiCi1ERVBFTkRTID0gImxpYnVzZXIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSBcCi0gICAgICAgICAgIGd0aysgZGVza3RvcC1maWxlLXV0aWxzLW5hdGl2ZSBcCi0gICAgICAgICAgIHN0YXJ0dXAtbm90aWZpY2F0aW9uIGludGx0b29sLW5hdGl2ZSBcCi0gICAgICAgICAgIHV0aWwtbGludXggXAotIgotCi1TUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLUxpbmstd2l0aC1saWJtLWZvci1wb3dsLUFQSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU1pc3Npbmctbi1pbi10cmFuc2xhdGVkLXN0cmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhNzY2YTlmNzYwMGY1NzNmYjZkZTQ2NTVkNDE2MjE5NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzN2M0ZDY2NzIwOWRhMTQwODJjMDhkZjZlNDhmZTk1NWQxNTMyZWZlYmQ1MzIyZjEzZjk0NjgzYzZjYzEwMzcwIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLUVYVFJBX09FTUFLRSArPSAiSU5TVEFMTD0naW5zdGFsbCAtcCciCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgcGFtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWdub21lL3JlY2lwZXMtc3VwcG9ydC91c2VybW9kZS91c2VybW9kZV8xLjExMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTI3ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1nbm9tZS9yZWNpcGVzLXN1cHBvcnQvdXNlcm1vZGUvdXNlcm1vZGVfMS4xMTMuYmIKQEAgLTAsMCArMSwyOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIHVzZXJtb2RlIGNvbnRhaW5zIHRoZSB1c2VyaGVscGVyIHByb2dyYW0sIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGFsbG93IGNvbmZpZ3VyZWQgXAorcHJvZ3JhbXMgdG8gYmUgcnVuIHdpdGggc3VwZXJ1c2VyIHByaXZpbGVnZXMgYnkgb3JkaW5hcnkgdXNlcnMsIGFuZCBzZXZlcmFsIFwKK2dyYXBoaWNhbCB0b29scyBmb3IgdXNlcnM6IFwKKyogdXNlcmluZm8gYWxsb3dzIHVzZXJzIHRvIGNoYW5nZSB0aGVpciBmaW5nZXIgaW5mb3JtYXRpb24uIFwKKyogdXNlcm1vdW50IGxldHMgdXNlcnMgbW91bnQsIHVubW91bnQsIGFuZCBmb3JtYXQgZmlsZXN5c3RlbXMuIFwKKyogdXNlcnBhc3N3ZCBhbGxvd3MgdXNlcnMgdG8gY2hhbmdlIHRoZWlyIHBhc3N3b3Jkcy4gXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vdXNlcm1vZGUiCitMSUNFTlNFID0gIkdQTHYyKyIKK0RFUEVORFMgPSAibGlidXNlciAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgZ3RrKyBkZXNrdG9wLWZpbGUtdXRpbHMtbmF0aXZlIFwKKyAgICAgICAgICAgc3RhcnR1cC1ub3RpZmljYXRpb24gaW50bHRvb2wtbmF0aXZlIFwKKyAgICAgICAgICAgdXRpbC1saW51eCBcCisiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tTGluay13aXRoLWxpYm0tZm9yLXBvd2wtQVBJLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVhZGZiZmYxODU3OGI2NDUwOTZiNmZhNjE4NTRiNDFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk5ZmJmZDI0OGI0MTFlZDBlN2M0NGQxOTU3YjBlY2RlNjk5YjVhOTY4YTRkYjVkMzcyMjhlODJlN2IxYmEwOTIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworRVhUUkFfT0VNQUtFICs9ICJJTlNUQUxMPSdpbnN0YWxsIC1wJyIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBwYW0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9SRUFETUUKaW5kZXggYmEyYmE1Zi4uNzkyNDRkNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL1JFQURNRQpAQCAtMTIsNyArMTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0Ci1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiAKQEAgLTIwLDEyICsyMCwxMiBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtaW5pdHJhbWZzXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS1pbml0cmFtZnNdJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6Ci0nZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtaW5pdHJhbWZzXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1pbml0cmFtZnNdW1BBVENIJwogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitJbnRlcm0gbGF5ZXIgbWFpbnRhaW5lcjogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jbGFzc2VzL2tsaWJjLmJiY2xhc3MKaW5kZXggYjdiNzJiNy4uYmJhMTBmMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY2xhc3Nlcy9rbGliYy5iYmNsYXNzCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NsYXNzZXMva2xpYmMuYmJjbGFzcwpAQCAtOCw5ICs4LDkgQEAKIENDX2FwcGVuZF9hcm12N3ZlID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiBDQ19hcHBlbmRfYXJtdjdhID0gIiAke0AnIC1tZmxvYXQtYWJpPSR7VFVORV9DQ0FSR1NfTUZMT0FUfScgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRkxPQVQnKSAhPSAnJykgZWxzZSAnJ30iCiAKLUNQUF9mb3JjZXZhcmlhYmxlID0gIiR7Q0N9IC1FIgotCiAjIGtsY2MgdXNlcyBvd24gb3B0aW1pemF0aW9ucyBieSBkZWZhdWx0LiBTZWUga2xjYygxKSBtYW4gZmlsZS4KIGV4cG9ydCBDRkxBR1M9IiR7VFVORV9DQ0FSR1N9IgogZXhwb3J0IENQUEZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKIGV4cG9ydCBMREZMQUdTPSIke1RVTkVfQ0NBUkdTfSIKKworT1ZFUlJJREVTID0uICJsaWJjLWtsaWJjOiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL2NvbmYvbGF5ZXIuY29uZgppbmRleCBiZDkyZGRmLi42ZTBiMDBkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvY29uZi9sYXllci5jb25mCkBAIC0xNiw3ICsxNiw3IEBACiBCQkZJTEVfUFJJT1JJVFlfbWV0YS1pbml0cmFtZnMgPSAiOCIKIExBWUVSREVQRU5EU19tZXRhLWluaXRyYW1mcyA9ICJjb3JlIgogCi1MQVlFUlNFUklFU19DT01QQVRfbWV0YS1pbml0cmFtZnMgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLWluaXRyYW1mcyA9ICJ0aHVkIHdhcnJpb3IiCiAKIFNJR0dFTl9FWENMVURFX1NBRkVfUkVDSVBFX0RFUFMgKz0gIiBcCiAgIGRyYWN1dC0+dmlydHVhbC9rZXJuZWwgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1ic3Ava2V4ZWNib290L2ZpbGVzLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZDYyMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3QvZmlsZXMvMDAwMS1rZXhlY2Jvb3QtVXNlLW5ldy1yZWJvb3QtQVBJLXdpdGgta2xpYmMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBhNmQxNjc4Mzc5ZGY2MTQyYTY4Y2M5YmI3NmRhZTU0MGEzMWI4ZmRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgTWFyIDIwMTkgMjM6NDc6NTAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0ga2V4ZWNib290OiBVc2UgbmV3IHJlYm9vdCgpIEFQSSB3aXRoIGtsaWJjCisKK0tsaWJjIGhhcyBjaGFuZ2VkIHRoaXMgQVBJIGluCitodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQvY29tbWl0Lz9pZD02YjYyMWI4NzA1Y2U1OTAxZGNmNDk2MDdjOGEzNTIzYzllNTIxOTAxCisKK3RoZXJlZm9yZSBhZG9wdCB0aGUgY29kZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9rZXhlY2Jvb3QuYyB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMva2V4ZWNib290LmMgYi9zcmMva2V4ZWNib290LmMKK2luZGV4IGNmNDliNDAuLmM3ODVmY2UgMTAwNjQ0CistLS0gYS9zcmMva2V4ZWNib290LmMKKysrKyBiL3NyYy9rZXhlY2Jvb3QuYworQEAgLTg1Nyw3ICs4NTcsNyBAQCBpbnQgcHJvY2Vzc19jdHhfbWVudShzdHJ1Y3QgcGFyYW1zX3QgKnBhcmFtcywgaW50IGFjdGlvbikgeworICNlbHNlCisgCQlzeW5jKCk7CisgCQkvKiBpZiAoIC0xID09IHJlYm9vdChMSU5VWF9SRUJPT1RfQ01EX1JFU1RBUlQpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QpICkgeworKwkJaWYgKCAtMSA9PSByZWJvb3QoUkJfQVVUT0JPT1QsIE5VTEwpICkgeworIAkJCWxvZ19tc2cobGcsICJDYW4ndCBpbml0aWF0ZSByZWJvb3Q6ICVzIiwgRVJSTVNHKTsKKyAJCX0KKyAjZW5kaWYKK0BAIC04NzQsNyArODc0LDcgQEAgaW50IHByb2Nlc3NfY3R4X21lbnUoc3RydWN0IHBhcmFtc190ICpwYXJhbXMsIGludCBhY3Rpb24pIHsKKyAjZWxzZQorIAkJc3luYygpOworIAkJLyogaWYgKCAtMSA9PSByZWJvb3QoTElOVVhfUkVCT09UX0NNRF9QT1dFUl9PRkYpICkgeyAqLworLQkJaWYgKCAtMSA9PSByZWJvb3QoUkJfUE9XRVJfT0ZGKSApIHsKKysJCWlmICggLTEgPT0gcmVib290KFJCX1BPV0VSX09GRiwgTlVMTCkgKSB7CisgCQkJbG9nX21zZyhsZywgIkNhbid0IGluaXRpYXRlIHNodXRkb3duOiAlcyIsIEVSUk1TRyk7CisgCQl9CisgI2VuZGlmCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWJzcC9rZXhlY2Jvb3Qva2V4ZWNib290X2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCmluZGV4IDZkNzllOGYuLjRiMjBlMWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtYnNwL2tleGVjYm9vdC9rZXhlY2Jvb3RfZ2l0LmJiCkBAIC02LDcgKzYsOSBAQAogUFYgPSAiMC42K2dpdCR7U1JDUFZ9IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXhlY2Jvb3Qva2V4ZWNib290LmdpdCIKLVNSQ1JFViA9ICI0YzAxZDY5NjBhYTZhOWQwMzY3NTYwNTA2MjQ2OWFiNzc3ZmEyYjAxIgorU1JDX1VSSV9hcHBlbmRfbGliYy1rbGliYyA9ICIgZmlsZTovLzAwMDEta2V4ZWNib290LVVzZS1uZXctcmVib290LUFQSS13aXRoLWtsaWJjLnBhdGNoICIKKworU1JDUkVWID0gIjc0MDlhMWUwYWFlYTYxYWY4N2M0ZWNhMDE0OWNlYzE4YTlmNThhYjYiCiBpbmhlcml0IGF1dG90b29scwogCiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGV4dHVpIC0tZW5hYmxlLWRlbGF5PTIgLS1lbmFibGUtZXZkZXYtcmF0ZT0xMDAwLDI1MCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1pbml0cmFtZnMtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNzBkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtaW5pdHJhbWZzLWltYWdlLmJiCkBAIC0wLDAgKzEsOCBAQAorU1VNTUFSWSA9ICJtZXRhLWluaXRyYW1mcyBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QgXAorICAgICAgICAgICAgICAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmVkZTVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiTWV0YS1pbml0cmFtZnMgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzLWRldnRvb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtaW5pdHJhbWZzID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLWluaXRyYW1mcy1rZXJuZWwgXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMtZGV2dG9vbHMgPSAiXAorICAgIGxpYmtsaWJjICBkcmFjdXQgXAorICAgIGtsaWJjLXV0aWxzLWNhdCBrbGliYy11dGlscy1sb3NldHVwIGtsaWJjLXV0aWxzLXJlYWRsaW5rIGtsaWJjLXV0aWxzLWNocm9vdCBcCisgICAga2xpYmMtdXRpbHMtbHMga2xpYmMtdXRpbHMtcmVib290IGtsaWJjLXV0aWxzLWNwaW8ga2xpYmMtdXRpbHMtbWluaXBzIFwKKyAgICBrbGliYy11dGlscy1yZXN1bWUga2xpYmMtdXRpbHMtZGQga2xpYmMtdXRpbHMtbWtkaXIga2xpYmMtdXRpbHMtcnVuLWluaXQgXAorICAgIGtsaWJjLXV0aWxzLWRtZXNnIGtsaWJjLXV0aWxzLW1rZmlmbyBrbGliYy11dGlscy1zaC5zaGFyZWQga2xpYmMtdXRpbHMtZmFsc2UgXAorICAgIGtsaWJjLXV0aWxzLW1rbm9kIGtsaWJjLXV0aWxzLXNsZWVwIGtsaWJjLXV0aWxzLWZzdHlwZSBrbGliYy11dGlscy1tb3VudCBcCisgICAga2xpYmMtdXRpbHMtc3luYyBrbGliYy11dGlscy1oYWx0IGtsaWJjLXV0aWxzLW12IGtsaWJjLXV0aWxzLXRydWUga2xpYmMtdXRpbHMtaXBjb25maWcgXAorICAgIGtsaWJjLXV0aWxzLW5mc21vdW50IGtsaWJjLXV0aWxzLXVtb3VudCBrbGliYy11dGlscy1raWxsIGtsaWJjLXV0aWxzLW51a2Uga2xpYmMtdXRpbHMtdW5hbWUgXAorICAgIG10ZGluZm8ta2xpYmMgdWJpYXR0YWNoLWtsaWJjIHViaWJsb2NrLWtsaWJjIHViaWNyYzMyLWtsaWJjIHViaWRldGFjaC1rbGliYyBcCisgICAgdWJpZm9ybWF0LWtsaWJjIHViaW1rdm9sLWtsaWJjIHViaW5mby1rbGliYyB1YmluaXplLWtsaWJjIHViaXJlbmFtZS1rbGliYyBcCisgICAgdWJpcm12b2wta2xpYmMgdWJpcnN2b2wta2xpYmMgdWJpdXBkYXRldm9sLWtsaWJjIFwKKyAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoIlRSQU5TTEFURURfVEFSR0VUX0FSQ0giLCAiaTU4NiB4ODYtNjQiLCAiZ3J1YmJ5IiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1pbml0cmFtZnMta2VybmVsID0gIlwKKyAgICBrZXhlYy1rbGliYyB2bWNvcmUtZG1lc2cta2xpYmMgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtRGVmaW5lLWluXy1zdHJ1Y3RzLWZvci1ub24tZ2xpYmMtc3lzdGVtLWxpYnMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1EZWZpbmUtaW5fLXN0cnVjdHMtZm9yLW5vbi1nbGliYy1zeXN0ZW0tbGlicy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS1pbl8tc3RydWN0cy1mb3Itbm9uLWdsaWJjLXN5c3RlbS1saWJzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtRGVmaW5lLXVsb2NrZWRfLWZnZXRzLWZyZWFkLWZ3cml0ZS1hbGlhc2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLURlZmluZS11bG9ja2VkXy1mZ2V0cy1mcmVhZC1md3JpdGUtYWxpYXNlcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtS2J1aWxkLmtsaWJjLUFkZC1wYXRoLXRvLWNvbXBpbGVyLWhlYWRlcnMtdmlhLWlzeXN0ZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLUtidWlsZC5rbGliYy1BZGQtcGF0aC10by1jb21waWxlci1oZWFkZXJzLXZpYS1pc3lzdGUucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtQWRkLXBhdGgtdG8tY29tcGlsZXItaGVhZGVycy12aWEtaXN5c3RlLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1LYnVpbGQua2xpYmMtVXNlLXByaW50LWxpYmdjYy1maWxlLW5hbWUtaW5zdGVhZC1vZi1wLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtS2J1aWxkLmtsaWJjLVVzZS1wcmludC1saWJnY2MtZmlsZS1uYW1lLWluc3RlYWQtb2YtcC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLUtidWlsZC5rbGliYy1Vc2UtcHJpbnQtbGliZ2NjLWZpbGUtbmFtZS1pbnN0ZWFkLW9mLXAucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hbHdheXMtdXNlLWJmZC1saW5rZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYWx3YXlzLXVzZS1iZmQtbGlua2VyLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtYXJtLURvLW5vdC1zZXQtYS1mYWxsYmFjay1tYXJjaC1hbmQtbXR1bmUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1hcm0tRG8tbm90LXNldC1hLWZhbGxiYWNrLW1hcmNoLWFuZC1tdHVuZS5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWFybS1Eby1ub3Qtc2V0LWEtZmFsbGJhY2stbWFyY2gtYW5kLW10dW5lLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtZGFzaC1TcGVjaWZ5LWZvcm1hdC1zdHJpbmctaW4tZm10c3RyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWRhc2gtU3BlY2lmeS1mb3JtYXQtc3RyaW5nLWluLWZtdHN0ci5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWluY2x1ZGUtbGludXgtc3lzaW5mby5oLWRpcmVjdGx5LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEtaW5jbHVkZS1saW51eC1zeXNpbmZvLmgtZGlyZWN0bHkucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1pbmNsdWRlLWxpbnV4LXN5c2luZm8uaC1kaXJlY3RseS5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEta2xpYmMtS2J1aWxkLUFjY2VwdC1FWFRSQV9LTElCQ0FGTEFHUy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLUtidWlsZC1BY2NlcHQtRVhUUkFfS0xJQkNBRkxBR1MucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliYy1LYnVpbGQtQWNjZXB0LUVYVFJBX0tMSUJDQUZMQUdTLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40LzAwMDEta2xpYmMtYWRkLWdldHJhbmRvbS1zeXNjYWxsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy8wMDAxLWtsaWJjLWFkZC1nZXRyYW5kb20tc3lzY2FsbC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjXzIuMC40LWFkZC1rZXhlY19maWxlX2xvYWQtc3lzY2FsbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1rbGliY18yLjAuNC1hZGQta2V4ZWNfZmlsZV9sb2FkLXN5c2NhbGwucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvMDAwMS1ta2ZpZm8tSW1wbGVtZW50LW1rZmlmby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLW1rZmlmby1JbXBsZW1lbnQtbWtmaWZvLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzLzAwMDEtbWtmaWZvLUltcGxlbWVudC1ta2ZpZm8ucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzM0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2FybXY0LWZpeC12NGJ4LnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gZDJmYjQ4NGQ5OTUyMjEyNzdjY2U3YWJkZGNkN2RmYTBlOGJjZWVjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTEgSmFuIDIwMTMgMTc6MjY6NDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0ga2xpYmNfMi4wLjI6IGFwcGx5IEZJWF9WNEJYIHBhdGNoIGZvciBhcm12NCB0YXJnZXRzIG9ubHkKKworU3RhdHVzOiBub3QgYXBwbGljYWJsZSB1cHN0cmVhbSwgaW4gT0UvWW9jdG8gd2UgdXNlICQoRklYX1Y0QlgpCit3aGljaCBpcyAiIiBpbiBjYXNlIG9mIGFybXY1IG9yIHRodW1icy4KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorCistLS0KKyB1c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCistLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRworKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKK0BAIC0yOSw2ICsyOSw3IEBAIGVsc2UKKyBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0LXNlZ21lbnQgMHgwMTgwMDAwMAorIGlmZXEgKCQoQ09ORklHX0FFQUJJKSx5KQorIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YWFwY3MtbGludXggLW1uby10aHVtYi1pbnRlcndvcmsKKytLTElCQ0xERkxBR1MgKz0gJChGSVhfQVJNVjRfRUFCSV9CWCkKKyBlbHNlCisgS0xJQkNSRVFGTEFHUyArPSAtbWFiaT1hcGNzLWdudSAtbW5vLXRodW1iLWludGVyd29yaworIGVuZGlmCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2tsY2MtY29uc2lkZXItc3lzcm9vdC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy9rbGNjLWNvbnNpZGVyLXN5c3Jvb3QucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xjYy1jcm9zcy1hY2NlcHQtY2xhbmctb3B0aW9ucy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGNjLWNyb3NzLWFjY2VwdC1jbGFuZy1vcHRpb25zLnBhdGNoCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMvZmlsZXMva2xpYmMtY29uZmlnLWVhYmkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTk4ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL2tsaWJjLWNvbmZpZy1lYWJpLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK0Zyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgorRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAorCitQYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKKyhnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCithcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAorU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+CisKKy0tLQorIGRlZmNvbmZpZyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvZGVmY29uZmlnCisrKysgYi9kZWZjb25maWcKK0BAIC02LDUgKzYsNSBAQCBDT05GSUdfS0xJQkNfWkxJQj15CisgQ09ORklHX1JFR1BBUk09eQorICMgQVJNIG9wdGlvbnMKKyAjIENPTkZJR19LTElCQ19USFVNQiBpcyBub3Qgc2V0CistIyBDT05GSUdfQUVBQkkgaXMgbm90IHNldAorK0NPTkZJR19BRUFCST15CisgIyBDT05GSUdfREVCVUdfSU5GTyBpcyBub3Qgc2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3VzZS1lbnYtZm9yLXBlcmwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2ZpbGVzL3VzZS1lbnYtZm9yLXBlcmwucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvdXNlLWVudi1mb3ItcGVybC5wYXRjaApyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9maWxlcy91c2UtZW52LWZvci1wZXJsLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsY2MtY3Jvc3NfMi4wLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyODViMmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUga2xjYyBjcm9zc2NvbXBpbGVyIGZvciBrbGliYyIKLQotcmVxdWlyZSBrbGliYy5pbmMKLURFUEVORFMgPSAia2xpYmMiCi0KLSMgbm8gcGFja2FnaW5nIGZvciB0aGlzIGNyb3Nzc2NyaXB0Ci1QQUNLQUdFUyA9ICIiCi1pbmhlcml0IG5vcGFja2FnZXMKLQotRklMRVNQQVRIID0uICIke0ZJTEVfRElSTkFNRX0va2xpYmMtJHtQVn06IgotCi1TUkNfVVJJICs9ICJmaWxlOi8vdXNlLWVudi1mb3ItcGVybC5wYXRjaCIKLQotIyBkaXNhYmxlIHRhc2sgYWxyZWFkeSBydW4gaW4ga2xpYmMgcmVjaXBlCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotCi1kb19jb21waWxlKCkgewotICAgIG9lX3J1bm1ha2UgJ0lOU1RBTExESVI9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2tsaWJjJyBrbGNjCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8KLSAgICBpbnN0YWxsIC1tIDA3NTUga2xjYy9rbGNjICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LyR7VEFSR0VUX1BSRUZJWH1rbGNjCi0gICAgIyBUdXJuIHRoZSBob3JyaWJseSBlbmNvZGVkIHBhdGhzIGludG8gc29tZXRoaW5nIHdoaWNoIHNzdGF0ZSBjYW4gdHJhbnNmb3JtIHVzaW5nIGl0cyB1c3VzYWwKLSAgICAjIG1hZ2ljIGJ5IHJlbW92aW5nIGFsbCB0aGUgY3JhenkgZXNjYXBpbmcuCi0gICAgc2VkIC1pIC1lICIyaSBcJFRBUkdFVFNZU1JPT1QgPSAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JzsiIFwKLSAgICAgICAgICAgLWUgIjJpIFwkTkFUSVZFU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX05BVElWRX0nOyIgXAotICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfTkFUSVZFIiwgVHJ1ZSkucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7TkFUSVZFU1lTUk9PVH0jZzsnIFwKLSAgICAgICAgICAgLWUgJ3MjJHtAZC5nZXRWYXIoIlNUQUdJTkdfRElSX1RBUkdFVCIsIFRydWUpLnJlcGxhY2UoIi8iLCAiXFxcXC8iKS5yZXBsYWNlKCItIiwgIlxcXFwtIikucmVwbGFjZSgiLiIsICJcXFxcLiIpfSMke1RBUkdFVFNZU1JPT1R9I2cnIFwKLSAgICAgICAgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKLX0KLQotU1lTUk9PVF9ESVJTICs9ICIke2JpbmRpcl9jcm9zc3NjcmlwdHN9IgotU1NUQVRFX1NDQU5fRklMRVMgKz0gIiota2xjYyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xjYy1jcm9zc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDExYWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGNjLWNyb3NzXzIuMC42LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiVGhlIGtsY2MgY3Jvc3Njb21waWxlciBmb3Iga2xpYmMiCisKK3JlcXVpcmUga2xpYmMuaW5jCitERVBFTkRTID0gImtsaWJjIgorCisjIG5vIHBhY2thZ2luZyBmb3IgdGhpcyBjcm9zc3NjcmlwdAorUEFDS0FHRVMgPSAiIgoraW5oZXJpdCBub3BhY2thZ2VzCisKK1NSQ19VUkkgKz0gImZpbGU6Ly91c2UtZW52LWZvci1wZXJsLnBhdGNoIgorCisjIGRpc2FibGUgdGFzayBhbHJlYWR5IHJ1biBpbiBrbGliYyByZWNpcGUKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAnSU5TVEFMTERJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2xpYmRpcn0va2xpYmMnIGtsY2MKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9LworICAgIGluc3RhbGwgLW0gMDc1NSBrbGNjL2tsY2MgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vJHtUQVJHRVRfUFJFRklYfWtsY2MKKyAgICAjIFR1cm4gdGhlIGhvcnJpYmx5IGVuY29kZWQgcGF0aHMgaW50byBzb21ldGhpbmcgd2hpY2ggc3N0YXRlIGNhbiB0cmFuc2Zvcm0gdXNpbmcgaXRzIHVzdXNhbAorICAgICMgbWFnaWMgYnkgcmVtb3ZpbmcgYWxsIHRoZSBjcmF6eSBlc2NhcGluZy4KKyAgICBzZWQgLWkgLWUgIjJpIFwkVEFSR0VUU1lTUk9PVCA9ICcke1NUQUdJTkdfRElSX1RBUkdFVH0nOyIgXAorICAgICAgICAgICAtZSAiMmkgXCROQVRJVkVTWVNST09UID0gJyR7U1RBR0lOR19ESVJfTkFUSVZFfSc7IiBcCisgICAgICAgICAgIC1lICdzIyR7QGQuZ2V0VmFyKCJTVEFHSU5HX0RJUl9OQVRJVkUiKS5yZXBsYWNlKCIvIiwgIlxcXFwvIikucmVwbGFjZSgiLSIsICJcXFxcLSIpLnJlcGxhY2UoIi4iLCAiXFxcXC4iKX0jJHtOQVRJVkVTWVNST09UfSNnOycgXAorICAgICAgICAgICAtZSAncyMke0BkLmdldFZhcigiU1RBR0lOR19ESVJfVEFSR0VUIikucmVwbGFjZSgiLyIsICJcXFxcLyIpLnJlcGxhY2UoIi0iLCAiXFxcXC0iKS5yZXBsYWNlKCIuIiwgIlxcXFwuIil9IyR7VEFSR0VUU1lTUk9PVH0jZycgXAorICAgICAgICAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS8ke1RBUkdFVF9QUkVGSVh9a2xjYworfQorCitTWVNST09UX0RJUlMgKz0gIiR7YmluZGlyX2Nyb3Nzc2NyaXB0c30iCitTU1RBVEVfU0NBTl9GSUxFUyArPSAiKi1rbGNjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC8wMDAxLWtsaWJjLXN0YXRpYy11dGlscy1kby1ub3QtYnVpbGQtc2hhcmVkLWJpbmFyaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjdjZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvMDAwMS1rbGliYy1zdGF0aWMtdXRpbHMtZG8tbm90LWJ1aWxkLXNoYXJlZC1iaW5hcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMyArMCwwIEBACi1Gcm9tIGMwMzRkY2VhZTE3YjdkOGQ0Mzc4NzFhZmU1ZWJhNTVhNTU0MzQyMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDEwIE9jdCAyMDE4IDAwOjQ4OjMxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjLXN0YXRpYy11dGlsczogZG8gbm90IGJ1aWxkIHNoYXJlZCBiaW5hcmllcwotCi1XZSB3ZXJlIGJ1aWxkaW5nIHNvbWUgc2hhcmVkIHV0aWxpdGllcyBhbmQgdGhpcyB3YXMgbGVhZGluZyB0byBsaW5rZXIgZXJyb3JzCi1mb3IgeDg2IHdpdGggc2VjdXJpdHkgZmxhZ3MgZW5hYmxlZC4KLQotRml4Ci0gaTU4Ni1vZS1saW51eC1tdXNsLWxkLmJmZDogZGlzY2FyZGVkIG91dHB1dCBzZWN0aW9uOiBgLmdvdC5wbHQnCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCA2ICstLS0tLQotIHVzci9raW5pdC9LYnVpbGQgICAgICAgICAgfCA0ICstLS0KLSB1c3Iva2luaXQvZnN0eXBlL0tidWlsZCAgIHwgNCArLS0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDQgKy0tLQotIHVzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgfCA0ICstLS0KLSB1c3Iva2luaXQvcmVzdW1lL0tidWlsZCAgIHwgNSArLS0tLQotIHVzci9raW5pdC9ydW4taW5pdC9LYnVpbGQgfCA1ICstLS0tCi0gdXNyL3V0aWxzL0tidWlsZCAgICAgICAgICB8IDcgKystLS0tLQotIDggZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Vzci9kYXNoL0tidWlsZCBiL3Vzci9kYXNoL0tidWlsZAotaW5kZXggMWE2OTIwYS4uYjNhNGU2NCAxMDA2NDQKLS0tLSBhL3Vzci9kYXNoL0tidWlsZAotKysrIGIvdXNyL2Rhc2gvS2J1aWxkCi1AQCAtMjUsMTIgKzI1LDggQEAgZ2VuLWgtZmlsZXMgOj0gYnVpbHRpbnMuaCBub2Rlcy5oIHN5bnRheC5oIHRva2VuLmgKLSAKLSBzdGF0aWMteSA6PSBzaAotIAotLSMgVGhlIHNoYXJlZCBiaW5hcnkKLS1zaGFyZWQteSAgICA6PSBzaC5zaGFyZWQKLS1zaC5zaGFyZWQteSA6PSAkKHNoLXkpCi0tCi0gIyBGb3IgY2xlYW5pbmcKLS10YXJnZXRzIDo9IHNoIHNoLmcgc2guc2hhcmVkIHNoLnNoYXJlZC5nICQoZ2VuLW8tZmlsZXMpCi0rdGFyZ2V0cyA6PSBzaCBzaC5nICQoZ2VuLW8tZmlsZXMpCi0gCi0gIyBleHBsaWNpdCBkZXBlbmRlbmN5IGZvciBhbGwgZ2VuZXJhdGVkIGZpbGVzCi0gJChhZGRwcmVmaXggJChvYmopLywgJChzaC15KSk6ICQoYWRkcHJlZml4ICQob2JqKS8sICQoZ2VuLWgtZmlsZXMpKQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9LYnVpbGQgYi91c3Iva2luaXQvS2J1aWxkCi1pbmRleCBmN2ZkY2NkLi44ZGIwNmFiIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L0tidWlsZAotKysrIGIvdXNyL2tpbml0L0tidWlsZAotQEAgLTE4LDggKzE4LDYgQEAga2luaXQteSAgKz0gZnN0eXBlLwotIGtpbml0LXkgICs9IHJlc3VtZS8KLSAKLSBzdGF0aWMteSA6PSBraW5pdAotLXNoYXJlZC15IDo9IGtpbml0LnNoYXJlZAotLWtpbml0LnNoYXJlZC15IDo9ICQoa2luaXQteSkKLSAKLSAjIEFkZGl0aW9uYWwgaW5jbHVkZSBwYXRocyBmaWxlcwotIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLUBAIC0yOSw3ICsyNyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvZnN0eXBlIFwKLSAgCSAgICAgICAtSSQoc3JjdHJlZSkvJChzcmMpL3J1bi1pbml0Ci0gCi0gIyBDbGVhbmluZwotLXRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSt0YXJnZXRzICs9IGtpbml0IGtpbml0LmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZCBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1pbmRleCAzNjc2MTFkLi44ZDQ1M2VhIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL2ZzdHlwZQotLXNoYXJlZC15IDo9IHNoYXJlZC9mc3R5cGUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gbWFpbi5vIGZzdHlwZS5vCi1AQCAtMTYsOCArMTUsNyBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIHRvIGJ1aWx0IGV4ZWN1dGFibGVzCi0gc3RhdGljL2ZzdHlwZS15IDo9ICQob2JqcykKLS1zaGFyZWQvZnN0eXBlLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQgYi91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkCi1pbmRleCBlYjFkNDcyLi5lZjg3ZTdlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotQEAgLTMsNyArMyw2IEBACi0gIwotIAotIHN0YXRpYy15IDo9IHN0YXRpYy9pcGNvbmZpZwotLXNoYXJlZC15IDo9IHNoYXJlZC9pcGNvbmZpZwotIAotICMgY29tbW9uIC5vIGZpbGVzCi0gb2JqcyA6PSBtYWluLm8gbmV0ZGV2Lm8gcGFja2V0Lm8KLUBAIC0yMiw4ICsyMSw3IEBAIGxpYi15IDo9ICQob2JqcykKLSAKLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvaXBjb25maWcteSA6PSAkKG9ianMpCi0tc2hhcmVkL2lwY29uZmlnLXkgOj0gJChvYmpzKQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCBiYTMxNzA4Li4wMWJlZGNlIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTQsNyArNCw2IEBACi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL25mc21vdW50Ci0gI0ZJWE1FIC0gYnVpbGQgaXMgYnJva2VuIHN0YXRpYy15IDo9IGR1bW15cG1hcAotLXNoYXJlZC15IDo9IHNoYXJlZC9uZnNtb3VudAotIAotIG9ianMgOj0gbWFpbi5vIG1vdW50Lm8gcG9ydG1hcC5vIGR1bW15cG1hcC5vIHN1bnJwYy5vCi0gCi1AQCAtMTMsNyArMTIsNiBAQCBsaWIteSA6PSAkKG9ianMpCi0gCi0gIyAubyBmaWxlcyB1c2VkIGZvciBleGVjdXRhYmxlcwotIHN0YXRpYy9uZnNtb3VudC15IDo9ICQob2JqcykKLS1zaGFyZWQvbmZzbW91bnQteSA6PSAkKG9ianMpCi0gCi0gIyBkdW1teXBtYXAgdXNlcyBhIHNpbmdsZSAubyBmaWxlIChyZW5hbWUgc3JjIGZpbGU/KQotIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLUBAIC0yMSw1ICsxOSw1IEBAIGR1bW15cG1hcC15IDo9IGR1bW15cG1hcF90ZXN0Lm8KLSAjIFRPRE8gLSBkbyB3ZSB3YW50IGEgc3RyaXBwZWQgdmVyc2lvbgotICMgVE9ETyAtIGRvIHdlIHdhbnQgdGhlIHN0YXRpYy5nICsgc2hhcmVkLmcgZGlyZWN0b3JpZXM/Ci0gCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCBjMTM0MmUxLi4xNWI5NTkwIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMyw3ICszLDYgQEAKLSAjCi0gCi0gc3RhdGljLXkgOj0gc3RhdGljL3Jlc3VtZQotLXNoYXJlZC15IDo9IHNoYXJlZC9yZXN1bWUKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcmVzdW1lLm8gcmVzdW1lbGliLm8KLUBAIC0yMCw5ICsxOSw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0gc3RhdGljL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLS1zaGFyZWQvcmVzdW1lLXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3Jlc3VtZS1saWIgOj0gLi4vbGliLmEKLSAKLSAjIENsZWFuaW5nCi0tY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0rY2xlYW4tZGlycyA6PSBzdGF0aWMKLSAKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkIGIvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZAotaW5kZXggYzE1M2IwYS4uYTFlYTgzNCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLUBAIC0zLDcgKzMsNiBAQAotICMKLSAKLSBzdGF0aWMteSA6PSBzdGF0aWMvcnVuLWluaXQKLS1zaGFyZWQteSA6PSBzaGFyZWQvcnVuLWluaXQKLSAKLSAjIGNvbW1vbiAubyBmaWxlcwotIG9ianMgOj0gcnVuLWluaXQubyBydW5pbml0bGliLm8KLUBAIC0yNCw5ICsyMyw3IEBAIEtMSUJDQ0ZMQUdTICs9IC1JJChzcmN0cmVlKS8kKHNyYykvLi4KLSAjIC5vIGZpbGVzIHVzZWQgdG8gYnVpbHQgZXhlY3V0YWJsZXMKLSBzdGF0aWMvcnVuLWluaXQteSAgIDo9ICQob2JqcykKLSBzdGF0aWMvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0tc2hhcmVkL3J1bi1pbml0LXkgICA6PSAkKG9ianMpCi0tc2hhcmVkL3J1bi1pbml0LWxpYiA6PSAuLi9saWIuYQotIAotICMgQ2xlYW5pbmcKLS1jbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLStjbGVhbi1kaXJzIDo9IHN0YXRpYwotIAotZGlmZiAtLWdpdCBhL3Vzci91dGlscy9LYnVpbGQgYi91c3IvdXRpbHMvS2J1aWxkCi1pbmRleCA2N2Q5NDg2Li4xNTczMzYzIDEwMDY0NAotLS0tIGEvdXNyL3V0aWxzL0tidWlsZAotKysrIGIvdXNyL3V0aWxzL0tidWlsZAotQEAgLTcsNyArNyw2IEBAIHByb2dzICs9IHRydWUgZmFsc2Ugc2xlZXAgbG4gbXYgbnVrZSBtaW5pcHMgY2F0IGxzIGxvc2V0dXAKLSBwcm9ncyArPSB1bmFtZSBoYWx0IGtpbGwgcmVhZGxpbmsgY3BpbyBzeW5jIGRtZXNnCi0gCi0gc3RhdGljLXkgOj0gJChhZGRwcmVmaXggc3RhdGljLywgJChwcm9ncykpCi0tc2hhcmVkLXkgOj0gJChhZGRwcmVmaXggc2hhcmVkLywgJChwcm9ncykpCi0gCi0gIyBUaGUgYmluYXJ5IGlzIHBsYWNlZCBpbiBhIHN1YmRpciwgc28gd2UgbmVlZCB0byB0ZWxsIGtidWlsZCB0aGlzCi0gc3RhdGljL2Nocm9vdC15ICAgICA6PSBjaHJvb3QubwotQEAgLTYyLDEzICs2MSwxMSBAQCBzdGF0aWMvbG9zZXR1cC15ICAgIDo9IGxvc2V0dXAubwotIHNoYXJlZC9sb3NldHVwLXkgICAgOj0gbG9zZXR1cC5vCi0gCi0gIyBBZGRpdGlvbmFsbHkgbGlua2VkIHRhcmdldHMKLS1hbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYgc2hhcmVkL3JlYm9vdCBzaGFyZWQvcG93ZXJvZmYKLSthbHdheXMgOj0gc3RhdGljL3JlYm9vdCBzdGF0aWMvcG93ZXJvZmYKLSAKLSAkKG9iaikvc3RhdGljL3JlYm9vdCAkKG9iaikvc3RhdGljL3Bvd2Vyb2ZmOiAkKG9iaikvc3RhdGljL2hhbHQKLSAJJChjYWxsIGNtZCxsbikKLS0kKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLS0JJChjYWxsIGNtZCxsbikKLSAKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotLWNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotK2NsZWFuLWRpcnMgOj0gc3RhdGljCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L2FybXY0LWZpeC12NGJ4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlODQyMzUzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvYXJtdjQtZml4LXY0YngucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGQyZmI0ODRkOTk1MjIxMjc3Y2NlN2FiZGRjZDdkZmEwZThiY2VlYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIEphbiAyMDEzIDE3OjI2OjQwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzIuMC4yOiBhcHBseSBGSVhfVjRCWCBwYXRjaCBmb3IgYXJtdjQgdGFyZ2V0cyBvbmx5Ci0KLVN0YXR1czogbm90IGFwcGxpY2FibGUgdXBzdHJlYW0sIGluIE9FL1lvY3RvIHdlIHVzZSAkKEZJWF9WNEJYKQotd2hpY2ggaXMgIiIgaW4gY2FzZSBvZiBhcm12NSBvciB0aHVtYnMuCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3Vzci9rbGliYy9hcmNoL2FybS9NQ09ORklHIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLWluZGV4IDUzYmMxZGMuLjMwM2M2YWMgMTAwNjQ0Ci0tLS0gYS91c3Iva2xpYmMvYXJjaC9hcm0vTUNPTkZJRwotKysrIGIvdXNyL2tsaWJjL2FyY2gvYXJtL01DT05GSUcKLUBAIC0yOSw2ICsyOSw3IEBAIGVsc2UKLSBLTElCQ1NIQVJFREZMQUdTID0gLVR0ZXh0IDB4MDE4MDAyMDAKLSBpZmVxICgkKENPTkZJR19BRUFCSSkseSkKLSBLTElCQ1JFUUZMQUdTICs9IC1tYWJpPWFhcGNzLWxpbnV4IC1tbm8tdGh1bWItaW50ZXJ3b3JrCi0rS0xJQkNMREZMQUdTICs9ICQoRklYX0FSTVY0X0VBQklfQlgpCi0gZWxzZQotIEtMSUJDUkVRRkxBR1MgKz0gLW1hYmk9YXBjcy1nbnUgLW1uby10aHVtYi1pbnRlcndvcmsKLSBlbmRpZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtY29uZmlnLWVhYmkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGNkNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1jb25maWctZWFiaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZyb20gMTExOGNjOTcxOTE3YWJlMTlkZGIwMjlhYTgwNDE3ZjZmZDZiYjM0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBLdW56ZSA8dGhvbW15Y2hlY2tAZ214LmRlPgotRGF0ZTogU2F0LCA2IEF1ZyAyMDExIDA1OjMwOjE0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjOiBpbml0aWFsIGNvbW1pdCBvZiB2ZXJzaW9uIDEuNS4yNAotCi1QYXRjaCB3YXMgaW1wb3J0ZWQgZnJvbSB0aGUgT3BlbkVtYmVkZGVkIGdpdCBzZXJ2ZXIKLShnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQpCi1hcyBvZiBjb21taXQgaWQgYjY3NjRjZjMyZWM5MzU0NzUzMTEzMGRjYTM2NGZiOTVlMWM0OTVmNAotU2lnbmVkLW9mZi1ieTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci0KLS0tLQotIGRlZmNvbmZpZyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RlZmNvbmZpZyBiL2RlZmNvbmZpZwotaW5kZXggMDRiOThlOS4uMGNiMjNkMCAxMDA2NDQKLS0tLSBhL2RlZmNvbmZpZwotKysrIGIvZGVmY29uZmlnCi1AQCAtNiw0ICs2LDQgQEAgQ09ORklHX0tMSUJDX1pMSUI9eQotIENPTkZJR19SRUdQQVJNPXkKLSAjIEFSTSBvcHRpb25zCi0gIyBDT05GSUdfS0xJQkNfVEhVTUIgaXMgbm90IHNldAotLSMgQ09ORklHX0FFQUJJIGlzIG5vdCBzZXQKLStDT05GSUdfQUVBQkk9eQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQva2xpYmMtbGludXgtbGliYy1kZXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NTYzYjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy0yLjAuNC9rbGliYy1saW51eC1saWJjLWRldi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gMWJlMmJjNDFmOTE1OTIyMTAyYTNiYTY3MWI1NGMyZGY2ZjAwNTJlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+Ci1EYXRlOiBTdW4sIDE0IE1hciAyMDEwIDE4OjQxOjU2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGtsaWJjXzEuNS4yNjogbm93IGJ1aWxkIGFnYWluc3QgbGludXgtbGliYy1oZWFkZXJzCi0KLWNvbW1pdCA0M2FkZjY5MDYyMjU0ZmI0ZjhkNGQxMWZiNWZlMzZhNjBhZTI1ZDVhCi0KLSAgICBUYWtlbiBmcm9tIGRlYmlhbiAiRml4IGtsaWJjIERlYmlhbiBzcGVjaWZpYyBidWlsZCB0cm91YmxlIgotICAgIEFkYXB0ZWQgZm9yIGtsaWJjXzIuMC4yCi0KLS0tLQotIHNjcmlwdHMvS2J1aWxkLmluc3RhbGwgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggOGFmNTY5Ny4uZDMyYThhNSAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC05NSw3ICs5NSw5IEBAIGhlYWRlcjoKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0tCSQoUSkkKE1BS0UpIC1DICQoS0xJQkNLRVJORUxTUkMpIEFSQ0g9JChLTElCQ0FSQ0gpIElOU1RBTExfSERSX1BBVEg9JChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKSBoZWFkZXJzX2luc3RhbGwKLSsJJChRKWZvciB4IGluIC4uLy4uLy4uL2luY2x1ZGUvYXNtIC4uLy4uLy4uL2luY2x1ZGUvYXNtLWdlbmVyaWMgLi4vLi4vLi4vaW5jbHVkZS9saW51eCAuLi8uLi8uLi9pbmNsdWRlL210ZDsgZG8gXAotKwkJbG4gLXNmICQke3h9ICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLyB8fCBleGl0OyBcCi0rCWRvbmUKLSAJJChRKWNwIC1yZiB1c3IvaW5jbHVkZS8uICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlLy4KLSAJJChRKWNobW9kIC1SIGErclgsZ28tdyAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZQotIAkkKFEpJChpbnN0YWxsLWRhdGEpICQoc3JjdHJlZSkva2xjYy9rbGNjLjEgJChJTlNUQUxMUk9PVCkkKG1hbmRpcikvbWFuMS8kKEtDUk9TUylrbGNjLjEKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtMi4wLjQvc3RhZ2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3YTY2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLTIuMC40L3N0YWdpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotRnJvbSAxODkyMDc5YjgyN2NmOGY4MzE2MzA1YjZkNmUwOTg1ZGI4MjQ0MWEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGhvbWFzIEt1bnplIDx0aG9tbXljaGVja0BnbXguZGU+Ci1EYXRlOiBTYXQsIDYgQXVnIDIwMTEgMDU6MzA6MTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0ga2xpYmM6IGluaXRpYWwgY29tbWl0IG9mIHZlcnNpb24gMS41LjI0Ci0KLVBhdGNoIHdhcyBpbXBvcnRlZCBmcm9tIHRoZSBPcGVuRW1iZWRkZWQgZ2l0IHNlcnZlcgotKGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCkKLWFzIG9mIGNvbW1pdCBpZCBlZWZiOTlhMzEzYmJjYzhmMzRjOGIzMmJmMGM1YWEyZGQyNTgwNzM1Ci1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgS3VuemUgPHRob21teWNoZWNrQGdteC5kZT4KLQotTWlub3IgZWRpdHMgZm9sbG93aW5nIHVwc3RyZWFtIGNoYW5nZXMKLVNpZ25lZC1vZmYtYnk6IEFuZHJlYSBBZGFtaSA8YW5kcmVhLmFkYW1pQGdtYWlsLmNvbT4KLQotLS0tCi0gc2NyaXB0cy9LYnVpbGQuaW5zdGFsbCAgICB8IDQgLS0tLQotIHVzci9kYXNoL0tidWlsZCAgICAgICAgICAgfCAyIC0tCi0gdXNyL2d6aXAvS2J1aWxkICAgICAgICAgICB8IDIgLS0KLSB1c3Iva2luaXQvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci9raW5pdC9mc3R5cGUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZCB8IDIgLS0KLSB1c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkIHwgMiAtLQotIHVzci9raW5pdC9yZXN1bWUvS2J1aWxkICAgfCAyIC0tCi0gdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCB8IDIgLS0KLSB1c3Iva2xpYmMvS2J1aWxkICAgICAgICAgIHwgMiAtLQotIHVzci91dGlscy9LYnVpbGQgICAgICAgICAgfCAyIC0tCi0gMTEgZmlsZXMgY2hhbmdlZCwgMjQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL0tidWlsZC5pbnN0YWxsIGIvc2NyaXB0cy9LYnVpbGQuaW5zdGFsbAotaW5kZXggZDMyYThhNS4uZmRhNjk5ZCAxMDA2NDQKLS0tLSBhL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLSsrKyBiL3NjcmlwdHMvS2J1aWxkLmluc3RhbGwKLUBAIC04OCwxOSArODgsMTUgQEAgZWxzZQotIGhlYWRlcjoKLSAJJChRKWVjaG8gIiAgSU5TVEFMTCBoZWFkZXJzICsgbWFuIHBhZ2VzIHRvICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKSIKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChiaW5kaXIpCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQobWFuZGlyKS9tYW4xCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikKLSAJJChRKS1ybSAtcmYgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLSAJJChRKW1rZGlyIC1wICQoSU5TVEFMTFJPT1QpJChJTlNUQUxMRElSKS8kKEtDUk9TUylpbmNsdWRlCi0gCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpbGliCi0tCSQoUSlta2RpciAtcCAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpYmluCi0gCSQoUSlmb3IgeCBpbiAuLi8uLi8uLi9pbmNsdWRlL2FzbSAuLi8uLi8uLi9pbmNsdWRlL2FzbS1nZW5lcmljIC4uLy4uLy4uL2luY2x1ZGUvbGludXggLi4vLi4vLi4vaW5jbHVkZS9tdGQ7IGRvIFwKLSAJCWxuIC1zZiAkJHt4fSAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8gfHwgZXhpdDsgXAotIAlkb25lCi0gCSQoUSljcCAtcmYgdXNyL2luY2x1ZGUvLiAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLQ1JPU1MpaW5jbHVkZS8uCi0gCSQoUSljaG1vZCAtUiBhK3JYLGdvLXcgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0NST1NTKWluY2x1ZGUKLS0JJChRKSQoaW5zdGFsbC1kYXRhKSAkKHNyY3RyZWUpL2tsY2Mva2xjYy4xICQoSU5TVEFMTFJPT1QpJChtYW5kaXIpL21hbjEvJChLQ1JPU1Mpa2xjYy4xCi0gCSQoUSkkKGluc3RhbGwtYmluKSAkKG9ianRyZWUpL2tsY2MvJChLQ1JPU1Mpa2xjYyAkKElOU1RBTExST09UKSQoYmluZGlyKQotIAotIGZvb3RlcjogaGVhZGVyCi1kaWZmIC0tZ2l0IGEvdXNyL2Rhc2gvS2J1aWxkIGIvdXNyL2Rhc2gvS2J1aWxkCi1pbmRleCAzYTk4YzFmLi4xYTY5MjBhIDEwMDY0NAotLS0tIGEvdXNyL2Rhc2gvS2J1aWxkCi0rKysgYi91c3IvZGFzaC9LYnVpbGQKLUBAIC05Miw1ICs5MiwzIEBAICQob2JqKS9zeW50YXguYzogJChvYmopL21rc3ludGF4Ci0gJChvYmopL3N5bnRheC5oOiAkKG9iaikvc3ludGF4LmMKLSAJJChRKToKLSAKLS0jIFRhcmdldHMgdG8gaW5zdGFsbAotLWluc3RhbGwteSA6PSBzaC5zaGFyZWQKLWRpZmYgLS1naXQgYS91c3IvZ3ppcC9LYnVpbGQgYi91c3IvZ3ppcC9LYnVpbGQKLWluZGV4IDliYmYwYTQuLmM0OTdkMDIgMTAwNjQ0Ci0tLS0gYS91c3IvZ3ppcC9LYnVpbGQKLSsrKyBiL3Vzci9nemlwL0tidWlsZAotQEAgLTIxLDUgKzIxLDMgQEAgJChvYmopL2d1bnppcCAkKG9iaikvemNhdDogJChvYmopL2d6aXAKLSAjIENsZWFuaW5nCi0gdGFyZ2V0cyA6PSBnemlwIGd6aXAuZyBndW56aXAgemNhdAotIAotLSMgVGFyZ2V0cyB0byBpbnN0YWxsCi0taW5zdGFsbC15IDo9IGd6aXAgZ3VuemlwIHpjYXQKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvS2J1aWxkIGIvdXNyL2tpbml0L0tidWlsZAotaW5kZXggNTMyMDEyNy4uZjdmZGNjZCAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9LYnVpbGQKLUBAIC0zMyw1ICszMywzIEBAIHRhcmdldHMgKz0ga2luaXQga2luaXQuZyBraW5pdC5zaGFyZWQga2luaXQuc2hhcmVkLmcKLSBzdWJkaXItIDo9IGZzdHlwZSBpcGNvbmZpZyBuZnNtb3VudCByZXN1bWUgcnVuLWluaXQKLSAKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9IGtpbml0IGtpbml0LnNoYXJlZAotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9mc3R5cGUvS2J1aWxkIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLWluZGV4IDliMjBkYjEuLjM2NzYxMWQgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvZnN0eXBlL0tidWlsZAotKysrIGIvdXNyL2tpbml0L2ZzdHlwZS9LYnVpbGQKLUBAIC0yMSw1ICsyMSwzIEBAIHNoYXJlZC9mc3R5cGUteSA6PSAkKG9ianMpCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvaXBjb25maWcvS2J1aWxkIGIvdXNyL2tpbml0L2lwY29uZmlnL0tidWlsZAotaW5kZXggN2Y4ZDE4MS4uZWIxZDQ3MiAxMDA2NDQKLS0tLSBhL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9pcGNvbmZpZy9LYnVpbGQKLUBAIC0yNyw1ICsyNywzIEBAIHNoYXJlZC9pcGNvbmZpZy15IDo9ICQob2JqcykKLSAjIENsZWFuaW5nCi0gY2xlYW4tZGlycyA6PSBzdGF0aWMgc2hhcmVkCi0gCi0tIyBpbnN0YWxsIGJpbmFyeQotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KQotZGlmZiAtLWdpdCBhL3Vzci9raW5pdC9uZnNtb3VudC9LYnVpbGQgYi91c3Iva2luaXQvbmZzbW91bnQvS2J1aWxkCi1pbmRleCA0NjFlNmYzLi5iYTMxNzA4IDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotKysrIGIvdXNyL2tpbml0L25mc21vdW50L0tidWlsZAotQEAgLTIzLDUgKzIzLDMgQEAgZHVtbXlwbWFwLXkgOj0gZHVtbXlwbWFwX3Rlc3QubwotIAotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgSW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2luaXQvcmVzdW1lL0tidWlsZCBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1pbmRleCAwMzQxOTVkLi5jMTM0MmUxIDEwMDY0NAotLS0tIGEvdXNyL2tpbml0L3Jlc3VtZS9LYnVpbGQKLSsrKyBiL3Vzci9raW5pdC9yZXN1bWUvS2J1aWxkCi1AQCAtMjYsNSArMjYsMyBAQCBzaGFyZWQvcmVzdW1lLWxpYiA6PSAuLi9saWIuYQotICMgQ2xlYW5pbmcKLSBjbGVhbi1kaXJzIDo9IHN0YXRpYyBzaGFyZWQKLSAKLS0jIGluc3RhbGwgYmluYXJ5Ci0taW5zdGFsbC15IDo9ICQoc2hhcmVkLXkpCi1kaWZmIC0tZ2l0IGEvdXNyL2tpbml0L3J1bi1pbml0L0tidWlsZCBiL3Vzci9raW5pdC9ydW4taW5pdC9LYnVpbGQKLWluZGV4IGY3ODMyYjcuLmMxNTNiMGEgMTAwNjQ0Ci0tLS0gYS91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi0rKysgYi91c3Iva2luaXQvcnVuLWluaXQvS2J1aWxkCi1AQCAtMzAsNSArMzAsMyBAQCBzaGFyZWQvcnVuLWluaXQtbGliIDo9IC4uL2xpYi5hCi0gIyBDbGVhbmluZwotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBiaW5hcnkKLS1pbnN0YWxsLXkgOj0gJChzaGFyZWQteSkKLWRpZmYgLS1naXQgYS91c3Iva2xpYmMvS2J1aWxkIGIvdXNyL2tsaWJjL0tidWlsZAotaW5kZXggZWJhNmFkZC4uOThjYWYyZSAxMDA2NDQKLS0tLSBhL3Vzci9rbGliYy9LYnVpbGQKLSsrKyBiL3Vzci9rbGliYy9LYnVpbGQKLUBAIC0xODUsNSArMTg1LDMgQEAgaW5zdGFsbC1ydWxlOgotIAkgICAgICAgICAgJChJTlNUQUxMUk9PVCkkKElOU1RBTExESVIpLyQoS0xJQkNDUk9TUylsaWIpKQotIAkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0gCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoSU5TVEFMTERJUikvJChLTElCQ0NST1NTKWxpYgotLQkkKFEpJChpbnN0YWxsLWxpYikgJChvYmopL2tsaWJjLSQoU09MSUJIQVNIKS5zbyBcCi0tCSAgICAgICAgICAgICAgICAgICAgICAkKElOU1RBTExST09UKSQoU0hMSUJESVIpCi1kaWZmIC0tZ2l0IGEvdXNyL3V0aWxzL0tidWlsZCBiL3Vzci91dGlscy9LYnVpbGQKLWluZGV4IDA1YWE3OTQuLjY3ZDk0ODYgMTAwNjQ0Ci0tLS0gYS91c3IvdXRpbHMvS2J1aWxkCi0rKysgYi91c3IvdXRpbHMvS2J1aWxkCi1AQCAtNzIsNSArNzIsMyBAQCAkKG9iaikvc2hhcmVkL3JlYm9vdCAkKG9iaikvc2hhcmVkL3Bvd2Vyb2ZmOiAkKG9iaikvc2hhcmVkL2hhbHQKLSAjIENsZWFuIGRlbGV0ZXMgdGhlIHN0YXRpYyBhbmQgc2hhcmVkIGRpcgotIGNsZWFuLWRpcnMgOj0gc3RhdGljIHNoYXJlZAotIAotLSMgaW5zdGFsbCBvbmx5IGluc3RhbGwgdGhlIHNoYXJlZCBiaW5hcmllcwotLWluc3RhbGwteSA6PSAkKHNoYXJlZC15KSBzaGFyZWQvcmVib290IHNoYXJlZC9wb3dlcm9mZgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY3Nzg2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAia2xpYmMgdXRpbHMgZm9yIGluaXRyYW1mcyBzdGF0aWNhbGx5IGNvbXBpbGVkIgotCi1GSUxFU1BBVEggPS4gIiR7RklMRV9ESVJOQU1FfS9rbGliYy0ke1BWfToiCi0KLVBBQ0tBR0VTID0gIiR7UE59IgotRklMRVNfJHtQTn0gPSAiIgotCi1LTElCQ19VVElMU19WQVJJQU5UID0gInN0YXRpYyIKLUtMSUJDX1VUSUxTX1BLR05BTUUgPSAia2xpYmMtc3RhdGljLXV0aWxzIgotCi1yZXF1aXJlIGtsaWJjLXV0aWxzLmluYwotcmVxdWlyZSBrbGliYy5pbmMKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEta2xpYmMtc3RhdGljLXV0aWxzLWRvLW5vdC1idWlsZC1zaGFyZWQtYmluYXJpZXMucGF0Y2giCi0KLSMgYXZvaWQgdGV4dHJlbCBpZiBsaW5raW5nIHdpdGggLXBpZQotU0VDVVJJVFlfQ0ZMQUdTID0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXN0YXRpYy11dGlsc18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODM1ZmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy1zdGF0aWMtdXRpbHNfMi4wLjYuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJrbGliYyB1dGlscyBmb3IgaW5pdHJhbWZzIHN0YXRpY2FsbHkgY29tcGlsZWQiCisKK0ZJTEVTUEFUSCA9LiAiJHtGSUxFX0RJUk5BTUV9L2tsaWJjLSR7UFZ9OiIKKworUEFDS0FHRVMgPSAiJHtQTn0iCitGSUxFU18ke1BOfSA9ICIiCisKK0tMSUJDX1VUSUxTX1ZBUklBTlQgPSAic3RhdGljIgorS0xJQkNfVVRJTFNfUEtHTkFNRSA9ICJrbGliYy1zdGF0aWMtdXRpbHMiCisKK3JlcXVpcmUga2xpYmMtdXRpbHMuaW5jCityZXF1aXJlIGtsaWJjLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliYy11dGlscy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwppbmRleCAyYWFjOWU2Li4wMGNiODZkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzLmluYwpAQCAtMiwxMSArMiwxMSBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CiAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CiAgICAgaWYgWyAiJHtLTElCQ19VVElMU19WQVJJQU5UfSIgPSAic2hhcmVkIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9raW5pdC9raW5pdC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0LnNoYXJlZAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3IvZGFzaC9zaC5zaGFyZWQgJHtEfSR7YmFzZV9iaW5kaXJ9L3NoLnNoYXJlZAorICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQvc2hhcmVkL2tpbml0ICR7RH0ke2Jhc2VfYmluZGlyfS9raW5pdC5zaGFyZWQKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2Rhc2gvc2hhcmVkL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaC5zaGFyZWQKICAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3NoICR7RH0ke2Jhc2VfYmluZGlyfS9zaAotICAgICAgICBpbnN0YWxsIC1tIDc1NSB1c3Iva2luaXQva2luaXQgJHtEfSR7YmFzZV9iaW5kaXJ9L2tpbml0CisgICAgICAgIGluc3RhbGwgLW0gNzU1IHVzci9kYXNoL3N0YXRpYy9zaCAke0R9JHtiYXNlX2JpbmRpcn0vc2gKKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2tpbml0L3N0YXRpYy9raW5pdCAke0R9JHtiYXNlX2JpbmRpcn0va2luaXQKICAgICAgICAgaW5zdGFsbCAtbSA3NTUgdXNyL2d6aXAvZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0KICAgICAgICAgbG4gLXMgZ3ppcCAke0R9JHtiYXNlX2JpbmRpcn0vZ3VuemlwCiAgICAgICAgIGxuIC1zIGd6aXAgJHtEfSR7YmFzZV9iaW5kaXJ9L3pjYXQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMtdXRpbHNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLXV0aWxzXzIuMC42LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCmluZGV4IGVjNTJlOTcuLjU4MDU0NDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmMuaW5jCkBAIC01LDEyICs1LDEwIEBACiBMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSAmIEdQTC0yLjAgJiBNSVQgJiBabGliIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXNyL2tsaWJjL0xJQ0VOU0U7bWQ1PWQ3NTE4MWYxMGU5OThjMjFlYjE0N2Y2ZDJlNDNjZThiIgogREVQRU5EUyA9ICJsaW51eC1saWJjLWhlYWRlcnMgcGVybC1uYXRpdmUiCi1TUkNSRVYgPSAiNGQxOTk3NGQ3MDIwNDg4ZjYzNjUxMjQ0ZTFmOWY1MTcyN2MzZjY2YyIKK1NSQ1JFViA9ICIyMmIzNmQxYWUzNDQxNmJjNDg4Njk2MTljYmIwY2NjYjIwNzBmNDhmIgogCiBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQgXAogICAgICAgICAgICAke0FSTVBBVENIRVN9IFwKLSAgICAgICAgICAgZmlsZTovL2tsaWJjLWxpbnV4LWxpYmMtZGV2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N0YWdpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8va2xjYy1jb25zaWRlci1zeXNyb290LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2tsY2MtY3Jvc3MtYWNjZXB0LWNsYW5nLW9wdGlvbnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1kYXNoLVNwZWNpZnktZm9ybWF0LXN0cmluZy1pbi1mbXRzdHIucGF0Y2ggXApAQCAtNDgsOCArNDYsNiBAQAogICAgICAgICAgICAgICAgICdLTElCQ09QVEZMQUdTPSR7VFVORV9DQ0FSR1N9IC1PcycgXAogICAgICAgICAgICAgICAgICBWPTEgXAogICAgICAgICAgICAgICAgICIKLUVYVFJBX09FTUFLRSArPSAiJ0VYVFJBX0tMSUJDQUZMQUdTPSR7U0VDVVJJVFlfQ0ZMQUdTfSAtV2EsLS1ub2V4ZWNzdGFjaycgXAotICAgICAgICAgICAgICAgICAnRVhUUkFfS0xJQkNMREZMQUdTPSR7U0VDVVJJVFlfTERGTEFHU30gLXogbm9leGVjc3RhY2snIgogCiBleHBvcnQgRklYX0FSTVY0X0VBQklfQlggPSAiJHtGSVhfVjRCWH0iCiBLTElCQ1RIVU1CID0gIiR7QFsnQ09ORklHX0tMSUJDX1RIVU1CPW4nLCAnQ09ORklHX0tMSUJDX1RIVU1CPXknXVsoZC5nZXRWYXIoJ0FSTV9JTlNUUlVDVElPTl9TRVQnKSA9PSAndGh1bWInKV19IgpAQCAtNzYsMTAgKzcyLDMgQEAKIEtMSUJDX0FSQ0hfcG93ZXJwYyA9ICJwcGMiCiBLTElCQ19BUkNIX3Bvd2VycGM2NCA9ICJwcGM2NCIKIFRISVNfTElCS0xJQkMgPSAibGlia2xpYmMgKD0gJHtQVn0tJHtQUn0pIgotCi1HQ0NQSUUgPz0gIiIKLVNFQ1VSSVRZX0xERkxBR1MgPSAiJHtAJy16IHJlbHJvIC16IG5vdyAtcGllJyBpZiAnJHtHQ0NQSUV9JyBlbHNlICcnfSIKLVNFQ1VSSVRZX0xERkxBR1NfbWlwcyA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHNlbCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NCA9ICIiCi1TRUNVUklUWV9MREZMQUdTX21pcHM2NGVsID0gIiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzgwZjM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMtZGV2dG9vbHMva2xpYmMva2xpYmNfMi4wLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbAotICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcwotICAgICMgcmVtb3ZlIGtsY2MKLSAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKLSAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCi0gICAgcm1kaXIgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQotICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KLSAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCi19Ci0KLVBBQ0tBR0VTID0gImxpYmtsaWJjIGxpYmtsaWJjLXN0YXRpY2RldiBsaWJrbGliYy1kZXYiCi0KLUZJTEVTX2xpYmtsaWJjID0gIiR7bGliZGlyfS9rbGliYy0qLnNvIgotRklMRVNfbGlia2xpYmMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9rbGliYy9saWIvbGliYy5hIgotRklMRVNfbGlia2xpYmMtZGV2ID0gIiR7bGliZGlyfS9rbGliYy5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tsaWJjL2xpYi8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvaW5jbHVkZS8qIFwKLSAgICAgICAgICAgICAgICAgICAgICAiCi0KLXJlcXVpcmUga2xpYmMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWRldnRvb2xzL2tsaWJjL2tsaWJjXzIuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGYwYjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1kZXZ0b29scy9rbGliYy9rbGliY18yLjAuNi5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gImtsaWJjLCBhIHNtYWxsIEMgbGlicmFyeSBmb3IgdXNlIHdpdGggaW5pdHJhbWZzIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbAorICAgICMgdGhlIGNyb3NzY29tcGlsZXIgaXMgcGFja2FnZWQgYnkga2xjYy1jcm9zcworICAgICMgcmVtb3ZlIGtsY2MKKyAgICBybSAke0R9JHtiaW5kaXJ9L2tsY2MKKyAgICAjIHJlbW92ZSBub3cgZW1wdHkgZGlyCisgICAgcm1kaXIgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQorICAgIGluc3RhbGwgLW0gNzU1IHVzci9rbGliYy9rbGliYy0qLnNvICR7RH0ke2xpYmRpcn0KKyAgICAoY2QgICR7RH0ke2xpYmRpcn07IGxuIC1zIGtsaWJjLSouc28ga2xpYmMuc28pCisgICAgcm0gLXJmICR7RH0ke2V4ZWNfcHJlZml4fS9tYW4KKyAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9rbGliYy9iaW4KK30KKworUEFDS0FHRVMgPSAibGlia2xpYmMgbGlia2xpYmMtc3RhdGljZGV2IGxpYmtsaWJjLWRldiIKKworRklMRVNfbGlia2xpYmMgPSAiJHtsaWJkaXJ9L2tsaWJjLSouc28iCitGSUxFU19saWJrbGliYy1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2tsaWJjL2xpYi9saWJjLmEiCitGSUxFU19saWJrbGliYy1kZXYgPSAiJHtsaWJkaXJ9L2tsaWJjLnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va2xpYmMvbGliLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rbGliYy9pbmNsdWRlLyogXAorICAgICAgICAgICAgICAgICAgICAgICIKKworcmVxdWlyZSBrbGliYy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMvMTQwLW1pcHNfZGlzYWJsZV9kZXZpY2V0cmVlX3N1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNlZjNjOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTYzIEBACitGcm9tIDVlYTdjZDc4Y2QyNTJmZmQzYTlmM2ZiYzhkYzc5NWQ2ZTE1OTYwODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWEgQWRhbWkgPGFuZHJlYS5hZGFtaUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDExOjI1OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGtleGVjLXRvb2xzOiBmaXggbm9uLWRldmljZSB0cmVlIGRldmljZXMgb24gbWlwcworCitBZGQgYWRkaXRpb25hbCBhcmd1bWVudCAnLS1uby1kdGInIHdoaWNoIGRpc2FibGVzIGRldmljZSB0cmVlCitzZWFyY2ggaW4gY3VycmVudGx5IGxvYWRlZCBrZXJuZWwuCisKK1Rha2VuIGZyb20gTEVERS1ERVY6CitodHRwczovL3BhdGNod29yay5vemxhYnMub3JnL3BhdGNoLzg1Mjk2MS8KKworUmViYXNlZCBmb3Iga2V4ZWMtdG9vbHMgMi4wLjE4CitSZW1vdmVkIHBwYyBjaGFuZ2UgKHVud2FudGVkID8pCisKK1NpZ25lZC1vZmYtYnk6IEtvbnN0YW50aW4gS3V6b3YgPG1hc3Rlci5ub3NmZXJhdHVAZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW5kcmVhIEFkYW1pIDxhbmRyZWEuYWRhbWlAZ21haWwuY29tPgorLS0tCisga2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmggfCAgNCArLQorIGtleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jICAgICAgIHwgNTggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBrZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jICAgICAgICAgICB8ICA0ICsrCisga2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCAgICAgICAgICAgfCAgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2tleGVjL2FyY2gvbWlwcy9pbmNsdWRlL2FyY2gvb3B0aW9ucy5oIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK2luZGV4IDQxNmUyMjQuLjE4ZDI4MTEgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMvaW5jbHVkZS9hcmNoL29wdGlvbnMuaAorKysrIGIva2V4ZWMvYXJjaC9taXBzL2luY2x1ZGUvYXJjaC9vcHRpb25zLmgKK0BAIC01LDYgKzUsNyBAQAorICNkZWZpbmUgT1BUX0FQUEVORAkoT1BUX0FSQ0hfTUFYKzApCisgI2RlZmluZSBPUFRfRFRCCQkoT1BUX0FSQ0hfTUFYKzEpCisgI2RlZmluZSBPUFRfUkFNRElTSwkoT1BUX0FSQ0hfTUFYKzIpCisrI2RlZmluZSBPUFRfTk9fRFRCCShPUFRfQVJDSF9NQVgrMykKKyAKKyAvKiBPcHRpb25zIHJlbGV2YW50IHRvIHRoZSBhcmNoaXRlY3R1cmUgKGV4Y2x1ZGluZyBsb2FkZXItc3BlY2lmaWMgb25lcyksCisgICogaW4gdGhpcyBjYXNlIG5vbmU6CitAQCAtMTQsNyArMTUsOCBAQAorIAl7ImNvbW1hbmQtbGluZSIsIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiYXBwZW5kIiwJIDEsIDAsIE9QVF9BUFBFTkR9LCBcCisgCXsiZHRiIiwJCTEsIDAsIE9QVF9EVEIgfSwgXAorLQl7ImluaXRyZCIsCTEsIDAsIE9QVF9SQU1ESVNLIH0sCisrCXsiaW5pdHJkIiwJMSwgMCwgT1BUX1JBTURJU0sgfSwgXAorKwl7Im5vLWR0YiIsCTAsIDAsIE9QVF9OT19EVEIgfSwKKyAKKyAKKyAjZGVmaW5lIEtFWEVDX0FSQ0hfT1BUX1NUUiBLRVhFQ19PUFRfU1RSICIiCitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLWVsZi1taXBzLmMgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworaW5kZXggODQ5YTdiYS4uNWMwZTUzNSAxMDA2NDQKKy0tLSBhL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1lbGYtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtZWxmLW1pcHMuYworQEAgLTE0MSwzNSArMTQxLDM3IEBAIGludCBlbGZfbWlwc19sb2FkKGludCBhcmdjLCBjaGFyICoqYXJndiwgY29uc3QgY2hhciAqYnVmLCBvZmZfdCBsZW4sCisgCWVsc2UKKyAJCWNtZGxpbmVfYWRkciA9IDA7CisgCistCS8qIE1JUFMgc3lzdGVtcyB0aGF0IGhhdmUgYmVlbiBjb252ZXJ0ZWQgdG8gdXNlIGRldmljZSB0cmVlCistCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorLQkgKiB0aGUgRFRCIHBhc3NlZCBhcyBhIHNlcGFyYXRlIGJ1ZmZlci4gTm90ZSB0aGF0CistCSAqIENNRExJTkVfUFJFRklYIGlzIHNraXBwZWQgaGVyZSBpbnRlbnRpb25hbGx5LCBhcyBpdCBpcworLQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKy0KKy0JaWYgKGFyY2hfb3B0aW9ucy5kdGJfZmlsZSkgeworLQkJZHRiX2J1ZiA9IHNsdXJwX2ZpbGUoYXJjaF9vcHRpb25zLmR0Yl9maWxlLCAmZHRiX2xlbmd0aCk7CistCX0gZWxzZSB7CistCQljcmVhdGVfZmxhdHRlbl90cmVlKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgY21kbGluZV9idWYgKyBzdHJsZW4oQ01ETElORV9QUkVGSVgpKTsKKy0JfQorIAorLQlpZiAoYXJjaF9vcHRpb25zLmluaXRyZF9maWxlKSB7CistCQlpbml0cmRfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuaW5pdHJkX2ZpbGUsICZpbml0cmRfc2l6ZSk7CisrCWlmICghYXJjaF9vcHRpb25zLm5vX2R0YikgeworKwkJLyogTUlQUyBzeXN0ZW1zIHRoYXQgaGF2ZSBiZWVuIGNvbnZlcnRlZCB0byB1c2UgZGV2aWNlIHRyZWUKKysJCSAqIHBhc3NlZCB0aHJvdWdoIFVISSB3aWxsIHVzZSBjb21tYW5kbGluZSBpbiB0aGUgRFRCIGFuZAorKwkJICogdGhlIERUQiBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBidWZmZXIuIE5vdGUgdGhhdAorKwkJICogQ01ETElORV9QUkVGSVggaXMgc2tpcHBlZCBoZXJlIGludGVudGlvbmFsbHksIGFzIGl0IGlzCisrCQkgKiB1c2VkIG9ubHkgaW4gdGhlIGxlZ2FjeSBtZXRob2QgKi8KKysKKysJCWlmIChhcmNoX29wdGlvbnMuZHRiX2ZpbGUpIHsKKysJCQlkdGJfYnVmID0gc2x1cnBfZmlsZShhcmNoX29wdGlvbnMuZHRiX2ZpbGUsICZkdGJfbGVuZ3RoKTsKKysJCX0gZWxzZSB7CisrCQkJY3JlYXRlX2ZsYXR0ZW5fdHJlZSgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGNtZGxpbmVfYnVmICsgc3RybGVuKENNRExJTkVfUFJFRklYKSk7CisrCQl9CisgCistCQkvKiBDcmVhdGUgaW5pdHJkIGVudHJpZXMgaW4gZHRiIC0gYWx0aG91Z2ggYXQgdGhpcyB0aW1lCistCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworLQkJZHRiX3NldF9pbml0cmQoJmR0Yl9idWYsICZkdGJfbGVuZ3RoLCBpbml0cmRfYnVmLCBpbml0cmRfYnVmICsgaW5pdHJkX3NpemUpOworKwkJaWYgKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSkgeworKwkJCWluaXRyZF9idWYgPSBzbHVycF9maWxlKGFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSwgJmluaXRyZF9zaXplKTsKKyAKKy0JCWluaXRyZF9iYXNlID0gYWRkX2J1ZmZlcihpbmZvLCBpbml0cmRfYnVmLCBpbml0cmRfc2l6ZSwKKy0JCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKy0JCQkJCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplICsgZHRiX2xlbmd0aCwKKy0JCQkJCQlwYWdlc2l6ZSksIDB4MGZmZmZmZmYsIDEpOworKwkJCS8qIENyZWF0ZSBpbml0cmQgZW50cmllcyBpbiBkdGIgLSBhbHRob3VnaCBhdCB0aGlzIHRpbWUKKysJCQkgKiB0aGV5IHdvdWxkIG5vdCBwb2ludCB0byB0aGUgY29ycmVjdCBsb2NhdGlvbiAqLworKwkJCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2J1ZiwgaW5pdHJkX2J1ZiArIGluaXRyZF9zaXplKTsKKyAKKy0JCS8qIE5vdyB0aGF0IHRoZSBidWZmZXIgZm9yIGluaXRyZCBpcyBwcmVwYXJlZCwgdXBkYXRlIHRoZSBkdGIKKy0JCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKy0JCWR0Yl9zZXRfaW5pdHJkKCZkdGJfYnVmLCAmZHRiX2xlbmd0aCwgaW5pdHJkX2Jhc2UsIGluaXRyZF9iYXNlICsgaW5pdHJkX3NpemUpOworLQl9CisrCQkJaW5pdHJkX2Jhc2UgPSBhZGRfYnVmZmVyKGluZm8sIGluaXRyZF9idWYsIGluaXRyZF9zaXplLAorKwkJCQkJCWluaXRyZF9zaXplLCBzaXplb2Yodm9pZCAqKSwKKysJCQkJCQlfQUxJR05fVVAoa2VybmVsX2FkZHIgKyBrZXJuZWxfc2l6ZSArIGR0Yl9sZW5ndGgsCisrCQkJCQkJCXBhZ2VzaXplKSwgMHgwZmZmZmZmZiwgMSk7CisgCisrCQkJLyogTm93IHRoYXQgdGhlIGJ1ZmZlciBmb3IgaW5pdHJkIGlzIHByZXBhcmVkLCB1cGRhdGUgdGhlIGR0YgorKwkJCSAqIHdpdGggYW4gYXBwcm9wcmlhdGUgbG9jYXRpb24gKi8KKysJCQlkdGJfc2V0X2luaXRyZCgmZHRiX2J1ZiwgJmR0Yl9sZW5ndGgsIGluaXRyZF9iYXNlLCBpbml0cmRfYmFzZSArIGluaXRyZF9zaXplKTsKKysJCX0KKysJfQorIAorIAkvKiBUaGlzIGlzIGEgbGVnYWN5IG1ldGhvZCBmb3IgY29tbWFuZGxpbmUgcGFzc2luZyB1c2VkCisgCSAqIGN1cnJlbnRseSBieSBPY3Rlb24gQ1BVcyBvbmx5ICovCitAQCAtMTc3LDkgKzE3OSwxMSBAQCBpbnQgZWxmX21pcHNfbG9hZChpbnQgYXJnYywgY2hhciAqKmFyZ3YsIGNvbnN0IGNoYXIgKmJ1Ziwgb2ZmX3QgbGVuLAorIAkJCXNpemVvZihjbWRsaW5lX2J1ZiksIHNpemVvZih2b2lkICopLAorIAkJCWNtZGxpbmVfYWRkciwgMHgwZmZmZmZmZiwgMSk7CisgCistCWFkZF9idWZmZXIoaW5mbywgZHRiX2J1ZiwgZHRiX2xlbmd0aCwgZHRiX2xlbmd0aCwgMCwKKy0JCV9BTElHTl9VUChrZXJuZWxfYWRkciArIGtlcm5lbF9zaXplLCBwYWdlc2l6ZSksCistCQkweDBmZmZmZmZmLCAxKTsKKysJaWYgKCFhcmNoX29wdGlvbnMubm9fZHRiKSB7CisrCQlhZGRfYnVmZmVyKGluZm8sIGR0Yl9idWYsIGR0Yl9sZW5ndGgsIGR0Yl9sZW5ndGgsIDAsCisrCQkJX0FMSUdOX1VQKGtlcm5lbF9hZGRyICsga2VybmVsX3NpemUsIHBhZ2VzaXplKSwKKysJCQkweDBmZmZmZmZmLCAxKTsKKysJfQorIAorIAlyZXR1cm4gMDsKKyB9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuYyBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmMKK2luZGV4IDQxNWMyZWQuLmU1NTdmOGIgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5jCitAQCAtODksNiArODksNyBAQCB2b2lkIGFyY2hfdXNhZ2Uodm9pZCkKKyAJIiAgICAtLWFwcGVuZD1TVFJJTkcgICAgICAgU2V0IHRoZSBrZXJuZWwgY29tbWFuZCBsaW5lIHRvIFNUUklORy5cbiIKKyAJIiAgICAtLWR0Yj1GSUxFICAgICAgICAgICAgVXNlIEZJTEUgYXMgdGhlIGRldmljZSB0cmVlIGJsb2IuXG4iCisgCSIgICAgLS1pbml0cmQ9RklMRSAgICAgICAgIFVzZSBGSUxFIGFzIGluaXRpYWwgcmFtZGlzay5cbiIKKysJIiAgICAtLW5vLWR0YiAgICAgICAgICAgICAgRG9uJ3QgdHJ5IHRvIGZpbmQgZGV2aWNlIHRyZWVcbiIKKyAJKTsKKyB9CisgCitAQCAtMTIxLDYgKzEyMiw5IEBAIGludCBhcmNoX3Byb2Nlc3Nfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQljYXNlIE9QVF9SQU1ESVNLOgorIAkJCWFyY2hfb3B0aW9ucy5pbml0cmRfZmlsZSA9IG9wdGFyZzsKKyAJCQlicmVhazsKKysJCWNhc2UgT1BUX05PX0RUQjoKKysJCQlhcmNoX29wdGlvbnMubm9fZHRiID0gMTsKKysJCQlicmVhazsKKyAJCWRlZmF1bHQ6CisgCQkJYnJlYWs7CisgCQl9CitkaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC9taXBzL2tleGVjLW1pcHMuaCBiL2tleGVjL2FyY2gvbWlwcy9rZXhlYy1taXBzLmgKK2luZGV4IDIyMmM4MTUuLjkwYjIxYzMgMTAwNjQ0CistLS0gYS9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCisrKysgYi9rZXhlYy9hcmNoL21pcHMva2V4ZWMtbWlwcy5oCitAQCAtMjIsNiArMjIsNyBAQCBzdHJ1Y3QgYXJjaF9vcHRpb25zX3QgeworIAljaGFyICpkdGJfZmlsZTsKKyAJY2hhciAqaW5pdHJkX2ZpbGU7CisgCWludCBjb3JlX2hlYWRlcl90eXBlOworKwlpbnQgbm9fZHRiOworIH07CisgCisgZXh0ZXJuIHN0cnVjdCBtZW1vcnlfcmFuZ2VzIHVzYWJsZW1lbV9yZ25zOworLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmMva2xpYmMtcmVib290LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlMTMwMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliYy9rbGliYy1yZWJvb3QucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIGEva2V4ZWMva2V4ZWMuYworKysrIGIva2V4ZWMva2V4ZWMuYworQEAgLTkwMSw3ICs5MDEsNyBAQCBzdGF0aWMgaW50IG15X2V4ZWModm9pZCkKKyAJaWYgKHhlbl9wcmVzZW50KCkpCisgCQl4ZW5fa2V4ZWNfZXhlYygpOworIAllbHNlCistCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQyk7CisrCQlyZWJvb3QoTElOVVhfUkVCT09UX0NNRF9LRVhFQywgTlVMTCk7CisgCS8qIEkgaGF2ZSBmYWlsZWQgaWYgSSBtYWtlIGl0IGhlcmUgKi8KKyAJZnByaW50ZihzdGRlcnIsICJrZXhlYyBmYWlsZWQ6ICVzXG4iLCAKKyAJCXN0cmVycm9yKGVycm5vKSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLWluaXRyYW1mcy9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29scy1rbGliY19naXQuYmIKaW5kZXggY2MxYzU1MS4uN2FkNTVkOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1pbml0cmFtZnMvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMta2xpYmNfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtaW5pdHJhbWZzL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLWtsaWJjX2dpdC5iYgpAQCAtNiwxNCArNiwxNCBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2tleGVjL2tleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWYxMGY2YWU0YTg3MTU5NjVlNjQ4YWE2ODdhZDNlMDkiCi1QViA9ICIyLjAuMTcrZ2l0JHtTUkNQVn0iCitQViA9ICIyLjAuMTgrZ2l0JHtTUkNQVn0iCiAKIERFUEVORFMgPSAiemxpYiB4eiIKIAogaW5oZXJpdCBrbGliYyBhdXRvdG9vbHMKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5naXQiCi1TUkNSRVYgPSAiYjlkZTIxZWY1MWE3Y2VhYjcxMjJhNzA3YzE4ODYwMmVhZTIyYzRlZSIKK1NSQ1JFViA9ICI1NzUwOTgwY2RiYmMzM2VmNzViZmJhNjY2MDI5NWI5MzIzNzZjZTE1IgogCiBCVUlMRF9QQVRDSEVTID0gImZpbGU6Ly8wMDAxLWZvcmNlLXN0YXRpYy1idWlsZC5wYXRjaCBcCiAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkanVzdC10aGUtb3JkZXItb2YtaGVhZGVycy10by1maXgtYnVpbGQtZm9yLW11c2wucGF0Y2giCkBAIC0zMSw3ICszMSw4IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAxMi1wdXJnYXRvcnktc3RyaW5nLmMtYXZvaWQtaW5jbHVzaW9uLW9mLXN0cmluZy5oLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLXNoYTI1Ni5oLWF2b2lkLWluY2x1c2lvbi1vZi1zeXMtdHlwZXMuaC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxNC1hZGQtaWZfbmFtZWluZGV4LWZyb20tbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2giCisgICAgICAgICAgICBmaWxlOi8vMDAxNS12bWNvcmUtZG1lc2ctZml4LXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2tsaWJjLXJlYm9vdC5wYXRjaCIKIAogV0FSTklOR19GSVhFUyA9ICIiCiBGUk9NX09FX0NPUkUgPSAiZmlsZTovL2FybV9jcmFzaGR1bXAtZml4LWJ1ZmZlci1hbGlnbi5wYXRjaCBcCkBAIC00Miw2ICs0Myw5IEBACiAKIFNSQ19VUklfYXBwZW5kX2FybSA9ICIgZmlsZTovL2FybV9jcmFzaGR1bXAucGF0Y2giCiAKK1NSQ19VUklfYXBwZW5kX21pcHMgPSAiIGZpbGU6Ly8xNDAtbWlwc19kaXNhYmxlX2RldmljZXRyZWVfc3VwcG9ydC5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX21pcHNlbCA9ICIgZmlsZTovLzE0MC1taXBzX2Rpc2FibGVfZGV2aWNldHJlZV9zdXBwb3J0LnBhdGNoIgorCiBTUkNfVVJJX2FwcGVuZF94ODYgPSAiIGZpbGU6Ly94ODZfc3lzX2lvLnBhdGNoIGZpbGU6Ly94ODZfYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDg2X3Zmc2NhbmYucGF0Y2ggZmlsZTovL3g4Nl9rZXhlY190ZXN0LnBhdGNoIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL1JFQURNRQppbmRleCAwNTAzOTJkLi4yMGY0ZmI4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9SRUFETUUKQEAgLTEsMTkgKzEsMTkgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAogbGF5ZXJzOiBtZXRhLW9lCi1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCi1TZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEtbXVsdGltZWRpYV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLW11bHRpbWVkaWFdJyBpbiB0aGUgc3ViamVjdCcKIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOgotJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLW11bHRpbWVkaWFdW3RodWRdW1BBVENICisnZ2l0IHNlbmQtZW1haWwgLU0gLTEgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyAtLXN1YmplY3QtcHJlZml4PW1ldGEtbXVsdGltZWRpYV1bUEFUQ0gKIAogWW91IGFyZSBlbmNvdXJhZ2VkIHRvIGZvcmsgdGhlIG1pcnJvciBvbiBnaXRodWIgaHR0cHM6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLyB0byBzaGFyZSB5b3VyIHBhdGNoZXMsIHRoaXMgaXMgcHJlZmVycmVkIGZvciBwYXRjaCBzZXRzIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBwYXRjaC4gT3RoZXIgc2VydmljZXMgbGlrZSBnaXRvcmlvdXMsIHJlcG8ub3IuY3ogb3Igc2VsZiBob3N0ZWQgc2V0dXBzIGFyZSBvZiBjb3Vyc2UgYWNjZXB0ZWQgYXMgd2VsbCwgJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBnaXRodWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5IHRvIHVzZSwgaGFzIGJlZW4gcHJvdmVuIHRvIGJlIHJlbGlhYmxlIGFuZCBoYXMgYSByZWFsbHkgZ29vZCB3ZWIgR1VJLgogCi1UaHVkIG1haW50YWluZXI6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBtYWludGFpbmVyOiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2NvbmYvbGF5ZXIuY29uZgppbmRleCBlMmE3NzAxLi5lMDVhNjUyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9jb25mL2xheWVyLmNvbmYKQEAgLTE3LDYgKzE3LDggQEAKIEJCRklMRV9DT0xMRUNUSU9OUyArPSAibXVsdGltZWRpYS1sYXllciIKIEJCRklMRV9QQVRURVJOX211bHRpbWVkaWEtbGF5ZXIgOj0gIl4ke0xBWUVSRElSfS8iCiAKK0xJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCisKICMgRGVmaW5lIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlcyAoLmJiIGZpbGVzKSBmcm9tIHRoaXMgbGF5ZXIsCiAjIGNob29zaW5nIGNhcmVmdWxseSBob3cgdGhpcyBsYXllciBpbnRlcmFjdHMgd2l0aCBhbGwgb2YgdGhlCiAjIG90aGVyIGxheWVycy4KQEAgLTI5LDQgKzMxLDQgQEAKIAogTEFZRVJERVBFTkRTX211bHRpbWVkaWEtbGF5ZXIgPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX211bHRpbWVkaWEtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9tdWx0aW1lZGlhLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9saWNlbnNlcy9CZWxsQmlyZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzVjMDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0JlbGxCaXJkCkBAIC0wLDAgKzEsMjUgQEAKKyhjKSBDb3B5cmlnaHQgdGhlIGF1dGhvcnMgb2YgQmVsbGJpcmQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byB1c2UgYW5kIGRpc3RyaWJ1dGUgIAordGhpcyBzb2Z0d2FyZSBhbmQgaXRzIGRvY3VtZW50YXRpb24gd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nICAgCit3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsICAKK2Rpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGlzIHdvcmssIGFuZCB0byAgICAgIAorcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGlzIHdvcmsgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvICAgCit0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAxLiBUaGUgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mICAgIAorICAgIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gICAgICAgICAgICAgICAgICAgICAgICAgCisgMi4gQW55IG1vZGlmaWNhdGlvbnMgbXVzdCBiZSBjbGVhcmx5IG1hcmtlZCBhcyBzdWNoLiAgICAgICAgICAgICAgICAKKyAzLiBPcmlnaW5hbCBhdXRob3JzJyBuYW1lcyBhcmUgbm90IGRlbGV0ZWQuICAgICAgICAgICAgICAgICAgICAgICAgIAorIDQuIFRoZSBhdXRob3JzJyBuYW1lcyBhcmUgbm90IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzICAgCisgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuICAgICAgICAKKyAgICBwZXJtaXNzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitUSEUgQ09OVFJJQlVUT1JTIFRPIFRISVMgV09SSyAgICAgICAgIAorRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HICAgICAgCitBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgICAKK1NIQUxMIFRIRSBDT05UUklCVVRPUlMgQkUgTElBQkxFICAgICAgCitGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyAgICAKK1dIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiAgIAorQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgICAgICAgICAgCitBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiAgICAgICAKK1RISVMgU09GVFdBUkUuIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvQ01VLVRleApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTEyMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL0NNVS1UZXgKQEAgLTAsMCArMSwyMCBAQAorQ29weXJpZ2h0IChDKSAyMDAxLTIwMTQgQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHkKKworUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mCit0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZQorYXJlIHByZXNlcnZlZCBvbiBhbGwgY29waWVzLgorCitQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gcHJvY2VzcyB0aGlzIGZpbGUgdGhyb3VnaCBUZVgsIG9yIG90aGVyd2lzZSBhbmQKK3ByaW50IHRoZSByZXN1bHRzLCBwcm92aWRlZCB0aGUgcHJpbnRlZCBkb2N1bWVudCBjYXJyaWVzIGNvcHlpbmcKK3Blcm1pc3Npb24gbm90aWNlIGlkZW50aWNhbCB0byB0aGlzIG9uZSBleGNlcHQgZm9yIHRoZSByZW1vdmFsIG9mIHRoaXMKK3BhcmFncmFwaCAodGhpcyBwYXJhZ3JhcGggbm90IGJlaW5nIHJlbGV2YW50IHRvIHRoZSBwcmludGVkIG1hbnVhbCkuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMKK21hbnVhbCB1bmRlciB0aGUgY29uZGl0aW9ucyBmb3IgdmVyYmF0aW0gY29weWluZywgcHJvdmlkZWQgdGhhdCB0aGUgZW50aXJlCityZXN1bHRpbmcgZGVyaXZlZCB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBhIHBlcm1pc3Npb24KK25vdGljZSBpZGVudGljYWwgdG8gdGhpcyBvbmUuCisKK1Blcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHRyYW5zbGF0aW9ucyBvZiB0aGlzIG1hbnVhbAoraW50byBhbm90aGVyIGxhbmd1YWdlLCB1bmRlciB0aGUgYWJvdmUgY29uZGl0aW9ucyBmb3IgbW9kaWZpZWQgdmVyc2lvbnMsCitleGNlcHQgdGhhdCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIG1heSBiZSBzdGF0ZWQgaW4gYSB0cmFuc2xhdGlvbiBhcHByb3ZlZAorYnkgdGhlIGF1dGhvcnMuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvbGljZW5zZXMvU3VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTI1YTE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL2xpY2Vuc2VzL1N1bgpAQCAtMCwwICsxLDIzIEBACitUaGlzIHNvdXJjZSBjb2RlIGlzIGEgcHJvZHVjdCBvZiBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGFuZCBpcyBwcm92aWRlZAorZm9yIHVucmVzdHJpY3RlZCB1c2UuICBVc2VycyBtYXkgY29weSBvciBtb2RpZnkgdGhpcyBzb3VyY2UgY29kZSB3aXRob3V0CitjaGFyZ2UuCisKK1NVTiBTT1VSQ0UgQ09ERSBJUyBQUk9WSURFRCBBUyBJUyBXSVRIIE5PIFdBUlJBTlRJRVMgT0YgQU5ZIEtJTkQgSU5DTFVESU5HCitUSEUgV0FSUkFOVElFUyBPRiBERVNJR04sIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLCBPUiBBUklTSU5HIEZST00gQSBDT1VSU0UgT0YgREVBTElORywgVVNBR0UgT1IgVFJBREUgUFJBQ1RJQ0UuCisKK1N1biBzb3VyY2UgY29kZSBpcyBwcm92aWRlZCB3aXRoIG5vIHN1cHBvcnQgYW5kIHdpdGhvdXQgYW55IG9ibGlnYXRpb24gb24KK3RoZSBwYXJ0IG9mIFN1biBNaWNyb3N5c3RlbXMsIEluYy4gdG8gYXNzaXN0IGluIGl0cyB1c2UsIGNvcnJlY3Rpb24sCittb2RpZmljYXRpb24gb3IgZW5oYW5jZW1lbnQuCisKK1NVTiBNSUNST1NZU1RFTVMsIElOQy4gU0hBTEwgSEFWRSBOTyBMSUFCSUxJVFkgV0lUSCBSRVNQRUNUIFRPIFRIRQorSU5GUklOR0VNRU5UIE9GIENPUFlSSUdIVFMsIFRSQURFIFNFQ1JFVFMgT1IgQU5ZIFBBVEVOVFMgQlkgVEhJUyBTT0ZUV0FSRQorT1IgQU5ZIFBBUlQgVEhFUkVPRi4KKworSW4gbm8gZXZlbnQgd2lsbCBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIGJlIGxpYWJsZSBmb3IgYW55IGxvc3QgcmV2ZW51ZQorb3IgcHJvZml0cyBvciBvdGhlciBzcGVjaWFsLCBpbmRpcmVjdCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBldmVuIGlmCitTdW4gaGFzIGJlZW4gYWR2aXNlZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2VzLgorCitTdW4gTWljcm9zeXN0ZW1zLCBJbmMuCisyNTUwIEdhcmNpYSBBdmVudWUKK01vdW50YWluIFZpZXcsIENhbGlmb3JuaWEgIDk0MDQzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXBucC9saWJ1cG5wX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCmluZGV4IDdhNTI0ZjIuLjMzOWMwN2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1cG5wL2xpYnVwbnBfZ2l0LmJiCkBAIC01LDE2ICs1LDIxIEBACiBzdXBwb3J0aW5nIHRoZSBEb2N1bWVudCBPYmplY3QgTW9kZWwgKERPTSkgTGV2ZWwgMiBBUEkgYW5kIGFuIG9wdGlvbmFsLCBcCiBpbnRlZ3JhdGVkIG1pbmkgd2ViIHNlcnZlciBmb3Igc2VydmluZyBVUG5QIHJlbGF0ZWQgZG9jdW1lbnRzLiIKIEhPTUVQQUdFID0gImh0dHA6Ly9wdXBucC5zb3VyY2Vmb3JnZS5uZXQvIgotTElDRU5TRSA9ICJCU0QiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKIAotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjMxOTBkNTI0NGUwOGU3OGU0YzhlZTc4NTQ0ZjQ4NjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTRhMGYxN2I5N2YzMzQyNjI3NTU3MWUxNTkyMDQzNCIKIAotUFYgPSAiMS44LjIrZ2l0JHtTUkNQVn0iCi1TUkNSRVYgPSAiNTZkNjA0MmFiYWU4NjFlODgzOGE0ZTZiNmI1YjU3NWI5OWUzOGYzNCIKK1BWID0gIjEuOC40K2dpdCR7U1JDUFZ9IgorIyByZWxlYXNlLTEuOC40CitTUkNSRVYgPSAiZDVhMDFmYzk4OTVkYWFlOThhMGM1YThjN2QzYWZjZTQ2YWRkNTI5ZCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tcmppbWVuZXovcHVwbnAuZ2l0O3Byb3RvY29sPWh0dHBzIgogCiBTPSIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBhdXRvdG9vbHMKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1yZXVzZWFkZHIiCisKKyMgRW5hYmxlIExGUyBzdXBwb3J0ICggZm9yIHNhbXBsZXMgKQorQ0ZMQUdTICs9ICItRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQiCitDWFhGTEFHUyArPSAiLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM0LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxMzMxZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3J5Z2VsL3J5Z2VsXzAuMzQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCi1ERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAotYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKLUFkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCi10aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgotCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLURFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgotUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgotUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKLQotR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjdkODkyMzMyNGIyODBjZDU0NTI4MDNkNjExNzZhMzRhIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZmJiMmQ0NmNiZTRlNzUwZGY2NjEwYjRjNjZiMjI3OGYwNmQxZjcxYTI1N2M3OTAzZTY3NmNjYjM5NGRhZDQxOCIKLQotaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCi0KLVBBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCi0KLVBBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKLVBBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgotUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCi1QQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgotUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCi0KLUxJQlYgPSAiMi42IgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKLSAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQotICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCi0gICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KLSAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKLSAgICAgICBmaQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKLQotUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCi1BTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCi0KLVBBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKLSAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQotICAgIHBrZ3MgPSBbXQotCi0gICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQotICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCi0KLSAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCi0gICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yeWdlbC9yeWdlbF8wLjM3LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NjlkODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1jb25uZWN0aXZpdHkvcnlnZWwvcnlnZWxfMC4zNy4wLmJiCkBAIC0wLDAgKzEsNjggQEAKK1NVTU1BUlkgPSAiQSBVUG5QIEFWIG1lZGlhIHNlcnZlciBhbmQgcmVuZGVyZXIiCitERVNDUklQVElPTiA9ICJSeWdlbCBpcyBhIGhvbWUgbWVkaWEgc29sdXRpb24gKFVQblAgQVYgTWVkaWFTZXJ2ZXIpIHRoYXQgXAorYWxsb3cgeW91IHRvIGVhc2lseSBzaGFyZSBhdWRpbywgdmlkZW8gYW5kIHBpY3R1cmVzIHRvIG90aGVyIGRldmljZXMuIFwKK0FkZGl0aW9uYWxseSwgbWVkaWEgcGxheWVyIHNvZnR3YXJlIG1heSB1c2UgUnlnZWwgdG8gYmVjb21lIGEgTWVkaWFSZW5kZXJlciBcCit0aGF0IG1heSBiZSBjb250cm9sbGVkIHJlbW90ZWx5IGJ5IGEgVVBuUCBvciBETE5BIENvbnRyb2xsZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL1J5Z2VsIgorCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGlieG1sMiBnbGliLTIuMCBnc3NkcCBndXBucCBndXBucC1hdiBndXBucC1kbG5hIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGxpYmdlZSBsaWJzb3VwLTIuNCBsaWJtZWRpYWFydC0yLjAgbGlidW5pc3RyaW5nIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZS1wbGF5YmFjayBzaGFyZWQtbWltZS1pbmZvIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicnlnZWwtcGx1Z2luLW1lZGlhLWV4cG9ydCIKKworR05PTUVfQ09NUFJFU1NfVFlQRSA9ICJ4eiIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImY4OTcxNjdhZDgyZTJlNzQxNTgyZjJjMzkzYTc2ODQzIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGZkM2Q4ODVkYTNhYzM4M2JhMGNmYmYxMTk5OTVmNGEwYzJiY2EyY2M4ZjhjZmNkM2RmMTBjZmVjOGYzNWNkNyIKKworaW5oZXJpdCBnbm9tZWJhc2UgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ2V0dGV4dCBzeXN0ZW1kCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdHJhY2tlci1wbHVnaW4gLS13aXRoLW1lZGlhLWVuZ2luZT1nc3RyZWFtZXIiCisKK1BBQ0tBR0VDT05GSUcgPz0gImV4dGVybmFsIG1wcmlzIHJ1aWggbWVkaWEtZXhwb3J0IGdzdC1sYXVuY2giCisKK1BBQ0tBR0VDT05GSUdfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiBndGsrMyIsICIiLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZXh0ZXJuYWxdID0gIi0tZW5hYmxlLWV4dGVybmFsLXBsdWdpbiwtLWRpc2FibGUtZXh0ZXJuYWwtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1ttcHJpc10gPSAiLS1lbmFibGUtbXByaXMtcGx1Z2luLC0tZGlzYWJsZS1tcHJpcy1wbHVnaW4iCitQQUNLQUdFQ09ORklHW3J1aWhdID0gIi0tZW5hYmxlLXJ1aWgtcGx1Z2luLC0tZGlzYWJsZS1ydWloLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWVkaWEtZXhwb3J0XSA9ICItLWVuYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luLC0tZGlzYWJsZS1tZWRpYS1leHBvcnQtcGx1Z2luIgorUEFDS0FHRUNPTkZJR1tnc3QtbGF1bmNoXSA9ICItLWVuYWJsZS1nc3QtbGF1bmNoLXBsdWdpbiwtLWRpc2FibGUtZ3N0LWxhdW5jaC1wbHVnaW4iCitQQUNLQUdFQ09ORklHW2d0ayszXSA9ICIsLS13aXRob3V0LXVpLGd0ayszIgorUEFDS0FHRUNPTkZJR1tsbXNdID0gIi0tZW5hYmxlLWxtcy1wbHVnaW4sLS1kaXNhYmxlLWxtcy1wbHVnaW4iCisKK0xJQlYgPSAiMi42IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAjIFJlbW92ZSAubGEgZmlsZXMgZm9yIGxvYWRhYmxlIG1vZHVsZXMKKyAgICAgICBybSAtZiAke0R9LyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9L2VuZ2luZXMvKi5sYQorICAgICAgIHJtIC1mICR7RH0vJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vcGx1Z2lucy8qLmxhCisgICAgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlIF07IHRoZW4KKyAgICAgICAgICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBtdiAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlci9yeWdlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgICAgICAgICBybWRpciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQvdXNlciAke0R9JHtsaWJkaXJ9L3N5c3RlbWQKKyAgICAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3J5Z2VsLSR7TElCVn0vZW5naW5lcyAke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9lbmdpbmVzLy5kZWJ1ZyAke2xpYmRpcn0vcnlnZWwtJHtMSUJWfS9wbHVnaW5zLy5kZWJ1ZyIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1ldGEiCitBTExPV19FTVBUWV8ke1BOfS1tZXRhID0gIjEiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiJHtQTn0tcGx1Z2luLSoiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJyeWdlbC5zZXJ2aWNlIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcnlnZWxfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9yeWdlbC0ke0xJQlZ9JykKKyAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwbHVnaW5fcG9zdGluc3QnKQorICAgIHBrZ3MgPSBbXQorCisgICAgcGtncyArPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBvZS5wYXRoLmpvaW4ocnlnZWxfbGliZGlyLCAicGx1Z2lucyIpLCAnbGlicnlnZWwtKC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpLCAnUnlnZWwgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPWQuZXhwYW5kKCcke1BOfScpKQorICAgIHBrZ3MgKz0gZG9fc3BsaXRfcGFja2FnZXMoZCwgb2UucGF0aC5qb2luKHJ5Z2VsX2xpYmRpciwgInBsdWdpbnMiKSwgJyguKilcLnBsdWdpbiQnLCBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJyksICdSeWdlbCBwbHVnaW4gZm9yICVzJywgcG9zdGluc3Q9cG9zdGluc3QsIGV4dHJhX2RlcGVuZHM9ZC5leHBhbmQoJyR7UE59JykpCisKKyAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1ldGEnCisgICAgZC5zZXRWYXIoJ1JERVBFTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihwa2dzKSkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbS8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNkODllMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW0vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGEzNzJmZTQ2NzQ5NWE2NzRhZDYyNDRiNjdlODNkZmJmYTg0NTVmNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBBdWcgMjAxOCAxMzo1NDozMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIHN5cy9zeXNtYWNyb3MuaCBmb3IgbWFqb3IvbWlub3IgZGVmaW5pdGlvbnMKLQotY3NjdGFwaS9pZmRfZGIyY29tLmM6Mjc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1pbm9yJwotY29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdsb2JhbHMuaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2xvYmFscy5oIGIvZ2xvYmFscy5oCi1pbmRleCBiZDEyMjQ0Li45ZTEwMjI1IDEwMDY0NAotLS0tIGEvZ2xvYmFscy5oCi0rKysgYi9nbG9iYWxzLmgKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1ZGUgPHRlcm1pb3MuaD4KLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotIC8qCi0gICogVGhlIGZvbGxvd2luZyBoYWNrIGlzIHRha2VuIGZyb20gTGludXg6IGluY2x1ZGUvbGludXgva2NvbmZpZy5oCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL29zY2FtL29zY2FtX3N2bi5iYgppbmRleCBhOGFlYzExLi41YWNkZDdlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1kdmIvb3NjYW0vb3NjYW1fc3ZuLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi9vc2NhbS9vc2NhbV9zdm4uYmIKQEAgLTQsMTIgKzQsMTEgQEAKIExJQ0VOU0UgPSAiR1BMdjMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKIAotREVQRU5EUyA9ICJsaWJ1c2IxIG9wZW5zc2wxMCBwY3NjLWxpdGUiCitERVBFTkRTID0gImxpYnVzYjEgb3BlbnNzbCBwY3NjLWxpdGUiCiAKIFNSQ19VUkkgPSAic3ZuOi8vd3d3LnN0cmVhbWJvYXJkLnR2L3N2bi9vc2NhbTttb2R1bGU9dHJ1bms7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbml0aW9ucy5wYXRjaCBcCiAgICAgICAgICAgICIKLVNSQ1JFViA9ICIxMTQzMSIKK1NSQ1JFViA9ICIxMTQ5MSIKIFBWID0gIjEuMTArJHtTUkNQVn0iCiAKIFMgPSAiJHtXT1JLRElSfS90cnVuayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLWR2Yi90dmhlYWRlbmQvdHZoZWFkZW5kX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzZjZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtZHZiL3R2aGVhZGVuZC90dmhlYWRlbmRfZ2l0LmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiVHZoZWFkZW5kOiBUViBzdHJlYW1pbmcgc2VydmVyIGFuZCByZWNvcmRlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vdHZoZWFkZW5kLm9yZy8iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0IGdpdHBrZ3YgcGtnY29uZmlnCisKK0RFUEVORFMgPSAiYXZhaGkgY21ha2UtbmF0aXZlIGR2Yi1hcHBzIGxpYmR2YmNzYSBsaWJwY3JlMiBvcGVuc3NsIHVyaXBhcnNlciB6bGliIgorCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTljYWU1YWNhYzJlOWVlMmZjM2FlYzAxYWM4OGNlNWRiIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHZoZWFkZW5kL3R2aGVhZGVuZC5naXQiCisKK1NSQ1JFViA9ICJiZGMyYWU5ZTE5NTIwYTEwY2RmMGJlYzBmY2MwMDUwYjMyYmM3NWZmIgorUFYgPSAiNC4zK2dpdCR7U1JDUFZ9IgorUEtHViA9ICI0LjMrZ2l0JHtHSVRQS0dWfSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWFyY2g9JHtUQVJHRVRfQVJDSH0gXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtaGRob21lcnVuX3N0YXRpYyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1mZm1wZWdfc3RhdGljIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxpYmF2IFwKKyAgICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jYXBzL2NhcHNfMC45LjI0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9jYXBzL2NhcHNfMC45LjI0LmJiCmluZGV4IGZlODY0YzQuLjA0MDRiZDUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvY2Fwcy9jYXBzXzAuOS4yNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2NhcHMvY2Fwc18wLjkuMjQuYmIKQEAgLTMsNyArMyw3IEBACiBMSUNFTlNFID0gIkdQTC0zIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCiAKLVNSQ19VUkkgPSAiaHR0cDovL3F1aXR0ZS5kZS9kc3AvJHtQTn1fJHtQVn0udGFyLmJ6MiBcCitTUkNfVVJJID0gImh0dHA6Ly9xdWl0dGUuZGUvZHNwLyR7QlBOfV8ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgZmlsZTovL0F2b2lkLWFtYmlndWl0eS1pbi1kaXYtaW52b2NhdGlvbi5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJhc2ljLmgtVXNlLWM5OS1zdXBwb3J0ZWQtc3RkaW50LXR5cGVzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FwcGVuZF9sZGZsYWdzLnBhdGNoIFwKQEAgLTEzLDggKzEzLDYgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICJjMWQ2MzQwMzhkY2I1NDcwMjMwNmMwZTMwY2IxYzYyNiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNzQ2ZmViYTU3YWYzMTZiMTU5ZjAxNjlkZTVkNzhiNGZkMTA2NGMyYzBjODAxN2NiNTg1NmIyZjIyZTgzZjIwIgogCi1TID0gIiR7V09SS0RJUn0vJHtQTn0tJHtQVn0iCi0KIEVYVFJBX09FTUFLRSA9ICIgXAogICAgIENDPScke0NYWH0nIFwKICAgICBDRkxBR1M9JyR7Q0ZMQUdTfSAtZmZhc3QtbWF0aCAtZnVucm9sbC1sb29wcyAtZlBJQyAtRFBJQycgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9kdmItYXBwc18xLjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY5ZWFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZHZiLWFwcHNfMS4xLjEuYmIKQEAgLTAsMCArMSwxMDcgQEAKK1NVTU1BUlkgPSAiTGludXggRFZCIEFQSSBhcHBsaWNhdGlvbnMgYW5kIHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGludXh0di5vcmciCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitTUkNSRVYgPSAiM2Q0M2IyODAyOThjMzlhNjdkMWQ4ODllMDFlMTczZjUyYzEyZGEzNSIKKworU1JDX1VSSSA9ICJoZzovL2xpbnV4dHYub3JnL2hnO21vZHVsZT1kdmItYXBwcztwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICBmaWxlOi8vZHZiLWZlLXhjNTAwMGMtNC4xLjMwLjcuZncgXAorICAgICAgICAgIGZpbGU6Ly9kdmItc2Nhbi10YWJsZSBcCisgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoIFwKKyAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtY29tcGlsZXItd2FybmluZy1mbGFncy5wYXRjaCBcCisgICAgICAgICAgZmlsZTovLzAwMDMtaGFuZGxlLXN0YXRpYy1zaGFyZWQtb25seS1idWlsZC5wYXRjaCBcCisgICAgICAgICAgZmlsZTovLzAwMDQtTWFrZWZpbGUtcmVtb3ZlLXRlc3QucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpYnVjc2ktb3B0aW1pemF0aW9uLXJlbW92YWwucGF0Y2ggXAorICAgICAgICAgIGZpbGU6Ly8wMDA2LUNBX1NFVF9QSUQucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBwZXJsbmF0aXZlCisKK2V4cG9ydCBlbmFibGVfc3RhdGljPSJubyIKKworZG9fY29uZmlndXJlKCkgeworICAgIHNlZCAtaSAtZSBzOi91c3IvaW5jbHVkZToke1NUQUdJTkdfSU5DRElSfTpnIHV0aWwvYXY3MTEwX2xvYWRrZXlzL2dlbmVyYXRlLWtleW5hbWVzLnNoCit9Citkb19pbnN0YWxsKCkgeworICAgIG1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZG9jZGlyfS9kdmItYXBwcworICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc2NhbgorICAgIGluc3RhbGwgLWQgJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcAorICAgIGNobW9kIGErcnggJHtEfS8ke2xpYmRpcn0vKi5zbyoKKyAgICBpZiBbICIke0RWQl9XSU5UVl9UVU5FUn0iID0gInRydWUiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9L2xpYi9maXJtd2FyZQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLmZ3ICR7RH0vbGliL2Zpcm13YXJlLworICAgIGZpCisgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtTfS91dGlsL3N6YXAvY2hhbm5lbHMtY29uZiogJHtEfS8ke2RvY2Rpcn0vZHZiLWFwcHMvc3phcC8KKyAgICBjcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke1N9L3V0aWwvc3phcC9SRUFETUUgICAke0R9LyR7ZG9jZGlyfS9kdmItYXBwcy9zemFwLworICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7V09SS0RJUn0vZHZiLXNjYW4tdGFibGUvKiAke0R9L3Vzci9zaGFyZS9kdmIKK30KKworUEFDS0FHRVMgPSsgImR2Yi1ldnRlc3QgZHZiLWV2dGVzdC1kYmcgXAorICAgICAgICAgICAgIGR2YmFwcC10ZXN0cyBkdmJhcHAtdGVzdHMtZGJnIFwKKyAgICAgICAgICAgICBkdmJkYXRlIGR2YmRhdGUtZGJnIFwKKyAgICAgICAgICAgICBkdmJ0cmFmZmljIGR2YnRyYWZmaWMtZGJnIFwKKyAgICAgICAgICAgICBkdmJuZXQgZHZibmV0LWRiZyBcCisgICAgICAgICAgICAgZHZiLXNjYW4gZHZiLXNjYW4tZGJnIGR2Yi1zY2FuLWRhdGEgXAorICAgICAgICAgICAgIGR2Yi1hemFwIGR2Yi1hemFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLWN6YXAgZHZiLWN6YXAtZGJnIFwKKyAgICAgICAgICAgICBkdmItc3phcCBkdmItc3phcC1kYmcgXAorICAgICAgICAgICAgIGR2Yi10emFwIGR2Yi10emFwLWRiZyBcCisgICAgICAgICAgICAgZHZiLWZlbW9uIGR2Yi1mZW1vbi1kYmcgXAorICAgICAgICAgICAgIGR2Yi16YXAtZGF0YSIKK1BBQ0tBR0VTID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YmVuNTAyMjEgXAorICAgICAgICAgICAgbGliZXNnIGxpYnVjc2kgbGliZHZic2VjIgorCitSREVQRU5EU19kdmJkYXRlID0rICJsaWJkdmJhcGkgbGlidWNzaSIKK1JERVBFTkRTX2R2YnRyYWZmaWMgPSsgImxpYmR2YmFwaSIKK1JERVBFTkRTX2R2Yi1zY2FuID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YnNlYyIKK1JERVBFTkRTX2R2Yi1hcHBzID0rICJsaWJkdmJhcGkgbGliZHZiY2ZnIGxpYmR2YnNlYyBsaWJkdmJlbjUwMjIxIGxpYnVjc2kiCitSREVQRU5EU19kdmItZmVtb24gPSsgImxpYmR2YmFwaSIKK1JERVBFTkRTX2R2Ym5ldCA9KyAibGliZHZiYXBpIgorCitSQ09ORkxJQ1RTX2R2Yi1ldnRlc3QgPSAiZXZ0ZXN0IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS9kdmIgbGliL2Zpcm13YXJlIgorRklMRVNfJHtQTn0tZG9jID0gIiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9IgorRklMRVNfZHZiLWV2dGVzdCA9ICIke2JpbmRpcn0vZXZ0ZXN0IgorRklMRVNfZHZiLWV2dGVzdC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9ldnRlc3QiCitGSUxFU19kdmJhcHAtdGVzdHMgPSAiJHtiaW5kaXJ9Lyp0ZXN0KiAiCitGSUxFU19kdmJhcHAtdGVzdHMtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnRlc3QqIgorRklMRVNfZHZiZGF0ZSA9ICIke2JpbmRpcn0vZHZiZGF0ZSIKK0ZJTEVTX2R2YmRhdGUtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZHZiZGF0ZSIKK0ZJTEVTX2R2YnRyYWZmaWMgPSAiJHtiaW5kaXJ9L2R2YnRyYWZmaWMiCitGSUxFU19kdmJ0cmFmZmljLWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnL2R2YnRyYWZmaWMiCitGSUxFU19kdmJuZXQgPSAiJHtiaW5kaXJ9L2R2Ym5ldCIKK0ZJTEVTX2R2Ym5ldC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9kdmJuZXQiCitGSUxFU19kdmItc2NhbiA9ICIke2JpbmRpcn0vKnNjYW4gIgorRklMRVNfZHZiLXNjYW4tZGJnID0gIiR7YmluZGlyfS8uZGVidWcvKnNjYW4iCitGSUxFU19kdmItc2Nhbi1kYXRhID0gIiR7ZG9jZGlyfS9kdmItYXBwcy9zY2FuIgorRklMRVNfZHZiLWF6YXAgPSAiJHtiaW5kaXJ9L2F6YXAiCitGSUxFU19kdmItYXphcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9hemFwIgorRklMRVNfZHZiLWN6YXAgPSAiJHtiaW5kaXJ9L2N6YXAiCitGSUxFU19kdmItY3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9jemFwIgorRklMRVNfZHZiLXN6YXAgPSAiJHtiaW5kaXJ9L3N6YXAiCitGSUxFU19kdmItc3phcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9zemFwIgorRklMRVNfZHZiLXR6YXAgPSAiJHtiaW5kaXJ9L3R6YXAiCitGSUxFU19kdmItdHphcC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy90emFwIgorRklMRVNfZHZiLWZlbW9uID0gIiR7YmluZGlyfS9mZW1vbiIKK0ZJTEVTX2R2Yi1mZW1vbi1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mZW1vbiIKK0ZJTEVTX2R2Yi16YXAtZGF0YSA9ICIke2RvY2Rpcn0vZHZiLWFwcHMvc3phcCIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIGR2Yl9saWJkaXIgPSBiYi5kYXRhLmV4cGFuZCgnJHtsaWJkaXJ9JywgZCkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBkdmJfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcycsICdEVkIgJXMgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ0RWQiAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBkdmJfbGliZGlyLCAnXmxpYiguKilcLmEkJywgJ2xpYiVzLWRldicsICdEVkIgJXMgZGV2ZWxvcG1lbnQgcGFja2FnZScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LWRldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZHZiX2xpYmRpciwgJ15saWIoLiopXC5zb1wuKicsICdsaWIlcycsICdEVkIgJXMgbGlicmFyeScsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCit9CisKK0lOU0FORV9TS0lQXyR7UE59ID0gImxkZmxhZ3MiCitJTlNBTkVfU0tJUF8ke1BOfS1kZXYgPSAibGRmbGFncyIKKworRFZCX1dJTlRWX1RVTkVSID0gInRydWUiCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMS1GaXgtZ2VuZXJhdGUta2V5bmFtZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5ODYwN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDEtRml4LWdlbmVyYXRlLWtleW5hbWVzLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0ZpeCBnZW5lcmF0ZS1rZXluYW1lcy5zaCBzY3JpcHQgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCisKK2dlbmVyYXRlLWtleW5hbWVzLnNoIHJlYWRzIC91c3IvaW5jbHVkZS9saW51eCB0byBmaW5kIHRoZSBrZXluYW1lCitzeW1ib2xzLiBIb3dldmVyLCB3aGVuIGNyb3NzLWNvbXBpbGluZywgdGhlIGluY2x1ZGUgcGF0aCBwb2ludHMKK3NvbWV3aGVyZSBlbHNlLiBBbGxvdyB0aGUgdXNlciB0byBwYXNzIENST1NTX1JPT1QgdG8gcG9pbnQgdG8gdGhlCityb290IG9mIHRoZSBjcm9zcy1jb21waWxhdGlvbiBlbnZpcm9ubWVudC4KKworU2lnbmVkLW9mZi1ieTogQXJub3V0IFZhbmRlY2FwcGVsbGUgKEVzc2Vuc2l1bS9NaW5kKSA8YXJub3V0QG1pbmQuYmU+CistLS0KK2RpZmYgLXJ1cCBkdmItYXBwcy04M2M3NDY0NjJjY2Iub3JpZy91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaCBkdmItYXBwcy04M2M3NDY0NjJjY2IvdXRpbC9hdjcxMTBfbG9hZGtleXMvZ2VuZXJhdGUta2V5bmFtZXMuc2gKKy0tLSBkdmItYXBwcy04M2M3NDY0NjJjY2Iub3JpZy91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaAkyMDEyLTEyLTA2IDEwOjM4OjA3LjAwMDAwMDAwMCArMDEwMAorKysrIGR2Yi1hcHBzLTgzYzc0NjQ2MmNjYi91dGlsL2F2NzExMF9sb2Fka2V5cy9nZW5lcmF0ZS1rZXluYW1lcy5zaAkyMDEzLTA4LTI5IDIxOjQ3OjA5LjcxNzk5MTQzOSArMDIwMAorQEAgLTE4LDcgKzE4LDcgQEAgZWNobyAifTsiID4+ICQxCisgZWNobyA+PiAkMQorIGVjaG8gPj4gJDEKKyBlY2hvICJzdGF0aWMgc3RydWN0IGlucHV0X2tleV9uYW1lIGtleV9uYW1lIFtdID0geyIgPj4gJDEKKy1mb3IgeCBpbiAkKGNhdCAvdXNyL2luY2x1ZGUvbGludXgvaW5wdXQuaCBpbnB1dF9mYWtlLmggfCBcCisrZm9yIHggaW4gJChjYXQgJHtDUk9TU19ST09UfS91c3IvaW5jbHVkZS9saW51eC9pbnB1dC5oIGlucHV0X2Zha2UuaCB8IFwKKyAgICAgICAgICAgIGVncmVwICIjZGVmaW5lWyBcdF0rS0VZXyIgfCBncmVwIC12IEtFWV9NQVggfCBcCisgICAgICAgICAgICBjdXQgLWYgMSB8IGN1dCAtZiAyIC1kICIgIiB8IHNvcnQgLXUpIDsgZG8KKyAgICAgZWNobyAiICAgICAgICB7IFwiJChlY2hvICR4IHwgY3V0IC1iIDUtKVwiLCAkeCB9LCIgPj4gJDEKK0BAIC0yNiw3ICsyNiw3IEBAIGRvbmUKKyBlY2hvICJ9OyIgPj4gJDEKKyBlY2hvID4+ICQxCisgZWNobyAic3RhdGljIHN0cnVjdCBpbnB1dF9rZXlfbmFtZSBidG5fbmFtZSBbXSA9IHsiID4+ICQxCistZm9yIHggaW4gJChjYXQgL3Vzci9pbmNsdWRlL2xpbnV4L2lucHV0LmggaW5wdXRfZmFrZS5oIHwgXAorK2ZvciB4IGluICQoY2F0ICR7Q1JPU1NfUk9PVH0vdXNyL2luY2x1ZGUvbGludXgvaW5wdXQuaCBpbnB1dF9mYWtlLmggfCBcCisgICAgICAgICAgICBlZ3JlcCAiI2RlZmluZVsgXHRdK0JUTl8iIHwgXAorICAgICAgICAgICAgY3V0IC1mIDEgfCBjdXQgLWYgMiAtZCAiICIgfCBzb3J0IC11KSA7IGRvCisgICAgICBlY2hvICIgICAgICAgIHsgXCIkKGVjaG8gJHggfCBjdXQgLWIgNS0pXCIsICR4IH0sIiA+PiAkMQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAyLUZpeC1jb21waWxlci13YXJuaW5nLWZsYWdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAyLUZpeC1jb21waWxlci13YXJuaW5nLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNjI3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDItRml4LWNvbXBpbGVyLXdhcm5pbmctZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSA5YjhmMWRmNDFmNzU3OWRhNjNjMjc3NjNmZjE4NGQzNTFlNGM3ZmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2ltb24gRGF3c29uIDxzcGRhd3NvbkBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDQgSmFuIDIwMTUgMTI6MDY6MTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgZmxhZ3MKKworICBXaGVuIGJ1aWxkaW5nIGZvciBiZmluLCB0aGUgYnVpbGQgZmFpbHMgYXMgZm9sbG93cy4KKworICBjYzE6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IgorCitBbiBleGFtcGxlIG9mIGFuIGF1dG9idWlsZCBmYWlsdXJlIGFyaXNpbmcgZnJvbSB0aGlzIGlzIHRoZSBmb2xsb3dpbmcuCisKKyAgaHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3QubmV0L3Jlc3VsdHMvOTJlLzkyZTQ3MjAwNDgxMmEzNjE2ZjYyZDc2NmE5ZWEwN2E5OTdhNjZlODkvCisgIGh0dHA6Ly9hdXRvYnVpbGQuYnVpbGRyb290Lm5ldC9yZXN1bHRzLzZlNy82ZTdiNDhhZDk3NjgzNDlkOTgzOTg1YzMwNjdjNDI2N2NkZTgwNTQxLworCitDbGVhcmx5LCBub3QgYWxsIHRvb2xjaGFpbnMgcHJvdmlkZSBhIGdjYyB0aGF0IHVuZGVyc3RhbmRzCit0aGUgLVduby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IGZsYWc7IHJlbW92ZSB1c2FnZSBvZiB0aGlzIGZsYWcuCisKK1duby1wYWNrZWQtYml0ZmllbGQtY29tcGF0IG9wdGlvbiB3YXMgYWRkZWQgaW4gZ2NjIDQuNC4KKworW1JvbWFpbjoKKyAgLSBUaGlzIHBhdGNoIGlzIGFsc28gbmVlZGVkIGZvciBiZmluIHRvb2xjaGFpbnMgd2hpY2ggdXNlIGdjYyA0LjMuNQorICAtIEFkZCBhIGxpbmsgdG8gYmZpbiBidWlsZCBmYWlsdXJlXQorU2lnbmVkLW9mZi1ieTogU2ltb24gRGF3c29uIDxzcGRhd3NvbkBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIHV0aWwvc2Nhbi9NYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3V0aWwvc2Nhbi9NYWtlZmlsZSBiL3V0aWwvc2Nhbi9NYWtlZmlsZQoraW5kZXggZDQ4YzQ3OC4uODg2NjdjNSAxMDA2NDQKKy0tLSBhL3V0aWwvc2Nhbi9NYWtlZmlsZQorKysrIGIvdXRpbC9zY2FuL01ha2VmaWxlCitAQCAtMTQsNyArMTQsNyBAQCBpbnN0X2JpbiA9ICQoYmluYXJpZXMpCisgCisgcmVtb3ZpbmcgPSBhdHNjX3BzaXBfc2VjdGlvbi5jIGF0c2NfcHNpcF9zZWN0aW9uLmgKKyAKKy1DUFBGTEFHUyArPSAtV25vLXBhY2tlZC1iaXRmaWVsZC1jb21wYXQgLURfX0tFUk5FTF9TVFJJQ1RfTkFNRVMKKytDUFBGTEFHUyArPSAtRF9fS0VSTkVMX1NUUklDVF9OQU1FUworIAorIC5QSE9OWTogYWxsCisgCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMy1oYW5kbGUtc3RhdGljLXNoYXJlZC1vbmx5LWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDAzLWhhbmRsZS1zdGF0aWMtc2hhcmVkLW9ubHktYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRjN2M2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwMy1oYW5kbGUtc3RhdGljLXNoYXJlZC1vbmx5LWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zyb20gYTgyNmM3YzcyMmRiNDBiZmVkZjAwZTUxY2UzODQxMTU1MGFlODIxNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQG9wZW53aWRlLmZyPgorRGF0ZTogVGh1LCAyNSBEZWMgMjAxNCAxOToyMjoxNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlLnJ1bGVzOiBIYW5kbGUgc3RhdGljL3NoYXJlZCBvbmx5IGJ1aWxkCisKK0RvIG5vdCBidWlsZCAuYSBsaWJyYXJ5IHdoZW4gZW5hYmxlX3N0YXRpYyBpcyBzZXQgdG8gIm5vIgorRG8gbm90IGJ1aWxkIC5zbyBsaWJyYXJ5IHdoZW4gZW5hYmxlX3NoYXJlZCBpcyBzZXQgdG8gIm5vIgorCitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIE1ha2UucnVsZXMgfCAxMCArKysrKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2UucnVsZXMgYi9NYWtlLnJ1bGVzCitpbmRleCAzNDEwZDdiLi5kMjc0ZTE2IDEwMDY0NAorLS0tIGEvTWFrZS5ydWxlcworKysrIGIvTWFrZS5ydWxlcworQEAgLTksNyArOSwxMyBAQCBpZm5lcSAoJChsaWJfbmFtZSksKQorIENGTEFHU19MSUIgPz0gLWZQSUMKKyBDRkxBR1MgKz0gJChDRkxBR1NfTElCKQorIAorLWxpYnJhcmllcyA9ICQobGliX25hbWUpLnNvICQobGliX25hbWUpLmEKKytpZm5lcSAoJChlbmFibGVfc3RhdGljKSxubykKKytsaWJyYXJpZXMgKz0gJChsaWJfbmFtZSkuYQorK2VuZGlmCisrCisraWZuZXEgKCQoZW5hYmxlX3NoYXJlZCksbm8pCisrbGlicmFyaWVzICs9ICQobGliX25hbWUpLnNvCisrZW5kaWYKKyAKKyAuUEhPTlk6IGxpYnJhcnkKKyAKK0BAIC0yMyw3ICsyOSw3IEBAIHByZXJlcXVpc2l0ZXMgPSAkKHN1YnN0IC5vLC5kLCQob2JqZWN0cykpICQoYWRkc3VmZml4IC5kLCQoYmluYXJpZXMpKQorIAorIC5QSE9OWTogY2xlYW4gaW5zdGFsbAorIAorLWlmZXEgKCQoc3RhdGljKSwxKQorK2lmbmVxICgkKGVuYWJsZV9zdGF0aWMpLG5vKQorIExERkxBR1MgKz0gLXN0YXRpYworIGVuZGlmCisgCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNC1NYWtlZmlsZS1yZW1vdmUtdGVzdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNC1NYWtlZmlsZS1yZW1vdmUtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWJmYWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA0LU1ha2VmaWxlLXJlbW92ZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gYzU3ODc3MmQ2YWJjNWZkZjNlYzgzZjYzMmMzNzEzNzNlNWJhZjlmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQG9wZW53aWRlLmZyPgorRGF0ZTogRnJpLCAyNiBEZWMgMjAxNCAwMTowNDo1OCArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogcmVtb3ZlIHRlc3QKKworVGVzdHMgbmVlZHMgc3RhdGljIGxpYnJhcmllcywgcmVtb3ZlIHRoZW0gZm9yIHNoYXJlZCBvbmx5IGJ1aWxkLgorCitTaWduZWQtb2ZmLWJ5OiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBvcGVud2lkZS5mcj4KKy0tLQorIE1ha2VmaWxlIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDY1YTIyNzMuLjEwNWM0NjAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMCw3ICsxMCw2IEBAIERWQl9BUElfTUlOT1IgOj0gJCh3b3JkIDMsICQoc2hlbGwgZ3JlcCAtbTEgIkRWQl9BUElfVkVSU0lPTl9NSU5PUiIgJChWRVJTSU9OX0ZJCisgCisgYWxsIGNsZWFuIGluc3RhbGw6CisgCSQoTUFLRSkgLUMgbGliICRACistCSQoTUFLRSkgLUMgdGVzdCAkQAorIAkkKE1BS0UpIC1DIHV0aWwgJEAKKyAKKyB1cGRhdGU6CistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy8wMDA1LWxpYnVjc2ktb3B0aW1pemF0aW9uLXJlbW92YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEyZDM1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNS1saWJ1Y3NpLW9wdGltaXphdGlvbi1yZW1vdmFsLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKK2RpZmYgLXIgM2Q0M2IyODAyOThjIGxpYi9saWJ1Y3NpL2VuZGlhbm9wcy5oCistLS0gYS9saWIvbGlidWNzaS9lbmRpYW5vcHMuaAlGcmkgTWFyIDIxIDIwOjI2OjM2IDIwMTQgKzAxMDAKKysrKyBiL2xpYi9saWJ1Y3NpL2VuZGlhbm9wcy5oCUZyaSBKYW4gMTkgMDY6NTY6MTUgMjAxOCArMDAwMAorQEAgLTMzLDYgKzMzLDkgQEAKKyAjZGVmaW5lIF9fdWNzaV9wYWNrZWQgX19hdHRyaWJ1dGVfXygocGFja2VkKSkKKyAKKyAKKysjaWYgX19HTlVDX18gPj0gNiArICgwID49IF9fR05VQ19NSU5PUl9fKQorKyNwcmFnbWEgR0NDIG9wdGltaXplICgiTzEiKQorKyNlbmRpZgorIAorIAorICNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDYtQ0FfU0VUX1BJRC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvMDAwNi1DQV9TRVRfUElELnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMDBjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzLzAwMDYtQ0FfU0VUX1BJRC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitJbmRleDogZHZiLWFwcHMvdXRpbC9kc3QtdXRpbHMvZHN0X3Rlc3QuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGR2Yi1hcHBzLm9yaWcvdXRpbC9kc3QtdXRpbHMvZHN0X3Rlc3QuYworKysrIGR2Yi1hcHBzL3V0aWwvZHN0LXV0aWxzL2RzdF90ZXN0LmMKK0BAIC0zNSw3ICszNSwxOCBAQAorICNpbmNsdWRlIDxsaWJkdmJlbjUwMjIxL2VuNTAyMjFfYXBwX3RhZ3MuaD4KKyAKKyAjZGVmaW5lIENBX05PREUgIi9kZXYvZHZiL2FkYXB0ZXIwL2NhMCIKKy0KKysvKgorKyBRdWljayBoYWNrIGFyb3VuZCB0aGUgcmVtb3ZhbCBvZiBjYV9waWRfdCBhbmQgQ0FfR0VUX1BJRCBpbiByZWNlbnQga2VybmVscworKyAgaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2NvbW1pdC84MzNmZjVlN2ZlZGExYTA0MmI4M2U4MjIwOGNlZjNkMjEyY2EwZWYxCisrKi8KKysjaWZuZGVmIENBX1NFVF9QSUQKKyt0eXBlZGVmIHN0cnVjdCBjYV9waWQgeworKwl1bnNpZ25lZCBpbnQgcGlkOworKwlpbnQgaW5kZXg7ICAgICAgLyogLTEgPT0gZGlzYWJsZSovCisrfSBjYV9waWRfdDsKKysvKiBXZSBzaG91bGQgbm90IGJlIGFibGUgdG8gZ2V0IGl0IHNvIGEgbnVtYmVyIHRoYXQgaXMgdW5saWtlbHkgdG8gaGFwcGVuICovCisrI2RlZmluZSBDQV9TRVRfUElEIDQyNDI0MjQyCisrI2VuZGlmCisgc3RhdGljIGludCBkc3RfY29tbXMoaW50IGNhZmQsIHVpbnQzMl90IHRhZywgdWludDMyX3QgZnVuY3Rpb24sIHN0cnVjdCBjYV9tc2cgKm1zZykKKyB7CisgCWlmICh0YWcpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLWZlLXhjNTAwMGMtNC4xLjMwLjcuZncgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ODZmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1mZS14YzUwMDBjLTQuMS4zMC43LmZ3CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy9jYS1BQi1DYWxnYXJ5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL2NhLUFCLUNhbGdhcnkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDYwMmMyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy9jYS1BQi1DYWxnYXJ5CkBAIC0wLDAgKzEsNDggQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDExMDUwMiAxIDAgQVRTQyBDQSA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBDYWxnYXJ5IEFCLCBDYW5hZGEgT1RBCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMS0xOAorCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogc2hhZG93b2ZkYXJrbmVzc0BnbWFpbC5jb20KKyMKKyMgQVsyXSA8ZnJlcT4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1BVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUFUU0MtY2VudGVyLWZyZXF1ZW5jaWVzLThWU0IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTc0NDg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1BVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCCkBAIC0wLDAgKzEsNDEwIEBACisjIFVTIEFUU0MgY2VudGVyIGZyZXF1ZW5jaWVzLCB1c2UgaWYgaW4gZG91YnQKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDc5MDI4NjE1CisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxNzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxODMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAxOTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSAyMTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0NzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0NzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0ODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA0OTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MDkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MjEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MjcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1MzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NDUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1ODcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1OTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MDUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MjkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2MzUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NjUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NzEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2NzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2ODkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA2OTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MDEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MDcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MTMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MTkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MjUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MzEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3MzcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NDkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NTUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NjEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NjcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzkwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3ODUwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTEwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTcwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA4MDMwMjg2MTUKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DQS1TRi1CYXktQXJlYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DQS1TRi1CYXktQXJlYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDhlNmUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNBLVNGLUJheS1BcmVhCkBAIC0wLDAgKzEsODEgQEAKKyMgaW5pdGlhbCB0dW5pbmcgZGF0YSBmb3Igc29tZSBmcmVxdWVuY2llcyBvZiBmb3IgdGhlIFNhbiBGcmFuY2lzY28gQmF5IEFyZWEKKyMgaW5jbHVkZXMgU2FuIEZyYW5jaXNjbywgU2FuIEpvc2UsIE9ha2xhbmQuLi4KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcwMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcyNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDczMTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNPLURlbnZlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DTy1EZW52ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDc4ZWNiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DTy1EZW52ZXIKQEAgLTAsMCArMSwxMTYgQEAKKyMgbWFpbiBjaGFubmVscyBpbiBEZW52ZXIKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDE4OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDIxMzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ3OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ4NTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5MTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDQ5NzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUxNTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5MzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU5OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYxNzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyOTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY1OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY4OTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY5NTAyODYxNQorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1IUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTQxYjFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLUVJQS01NDItSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw3NjcgQEAKKyMgVVMgRUlBLTU0MiBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSGFybW9uaWNhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKEhSQykKKyMgQ2hhbm5lbHMgMSB0byAxMjUgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mzc1MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTc1MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTc1MzAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzc1MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Nzc1MzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4Mzc1NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzU3NTg3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgxNzU5MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4Nzc1OTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5Mzc1OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTk3NTk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA1NzYwMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMTc2MDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjE3NTYwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI3NzU2MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzMzc1NjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzk3NTY5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ1NzU3MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MTc1NzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1Nzc1NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjM3NTgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY5NzU4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxNzc2MDgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjM3NjExMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI5NzYxNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNTc2MTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDE3NjIwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ3NzYyMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1Mzc2MjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1OTc2MjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjU3NjMyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjcxNzYzNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3Nzc2MzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODM3NjQxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg5NzY0NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NTc2NDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDE3NjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA3NzY1MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxMzc2NTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxOTc2NTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjU3NjYyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMxNzY2NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzNzc2NjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDM3NjcxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ5NzY3NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NTc2NzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjE3NjgwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY3NzY4MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3Mzc2ODYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3OTc2ODkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODU3NjkyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkxNzY5NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5Nzc2OTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDM3NzAxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA5NzcwNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNTc3MDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjE3NzEwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI3NzcxMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzMzc3MTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzOTc3MTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDU3NzIyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUxNzcyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1Nzc3MjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjM3NzMxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY5NzczNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NTc3MzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODE3NzQwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg3Nzc0MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5Mzc3NDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5OTc3NDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDU3NzUyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTExNzc1NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxNzc3NTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjM3NzYxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI5Nzc2NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNTc3NjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDE3NzcwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ3Nzc3MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1Mzc3NzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1OTc3NzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjU3NzgyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcxNzc4NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3Nzc3ODgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODM3NzkxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg5Nzc5NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NTc3OTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDE3ODAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA3NzgwMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxMzc4MDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxOTc4MDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjU3ODEyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMxNzgxNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzNzc4MTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDM3ODIxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE3NTQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTc3NTQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTAzNzU1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwOTc3NTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTU3NzUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ5NzgyNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NTc4MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjE3ODMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY3NzgzMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3Mzc4MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzk3ODM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg1Nzg0MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MTc4NDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTc3ODQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzAzNzg1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwOTc4NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTU3ODU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIxNzg2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyNzc4NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzM3ODY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM5Nzg2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NTc4NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTE3ODc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU3Nzg3ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2Mzc4ODEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Njk3ODg0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc1Nzg4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MTc4OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODc3ODkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkzNzg5NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5OTc4OTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1JUkMtY2VudGVyX2ZyZXF1ZW5jaWVzLVFBTTI1NiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1FSUEtNTQyLUlSQy1jZW50ZXJfZnJlcXVlbmNpZXMtUUFNMjU2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhYTJhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtRUlBLTU0Mi1JUkMtY2VudGVyX2ZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBFSUEtNTQyIGNlbnRlciBmcmVxdWVuY2llcworIyBJbmNyZW1lbnRhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKElSQykKKyMgQ2hhbm5lbHMgMS0xMjUgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNDEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTcxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjMxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI2MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjczMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjkxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMyMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMzMDI1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzUxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM4MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDExMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ0MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDcxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUwMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTEzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTMxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU2MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTczMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTkxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxNTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYyMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTA1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDExMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjUxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2ODEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzA1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcxMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzQxMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTMwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU5MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2NTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NzEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzk1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgwMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSFJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmUyMGI0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1IUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSGFybW9uaWNhbGx5IFJlbGF0ZWQgQ2FycmllcnMgKEhSQykKKyMgQ2hhbm5lbHMgYXJlIGluIGFzY2VuZGluZyBFSUEvTkNUQSBjaGFubmVsIGRlc2lnbmF0aW9uIG9yZGVyCisKKyMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Mzc1MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTc1MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTc1MzAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzc1MzMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Nzc1MzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4Mzc1NDIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNzU3NTg3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTgxNzU5MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4Nzc1OTMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE5Mzc1OTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTk3NTk5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjA1NzYwMjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxMTc2MDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMjE3NTYwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTI3NzU2MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEzMzc1NjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzk3NTY5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQ1NzU3MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1MTc1NzUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE1Nzc1NzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNjM3NTgxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY5NzU4NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIxNzc2MDgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMjM3NjExMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI5NzYxNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzNTc2MTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNDE3NjIwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQ3NzYyMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1Mzc2MjYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI1OTc2MjkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjU3NjMyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjcxNzYzNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3Nzc2MzgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyODM3NjQxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg5NzY0NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5NTc2NDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMDE3NjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzA3NzY1MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxMzc2NTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMxOTc2NTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjU3NjYyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzMxNzY2NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzNzc2NjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNDM3NjcxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ5NzY3NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1NTc2NzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNjE3NjgwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzY3NzY4MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3Mzc2ODYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM3OTc2ODkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODU3NjkyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzkxNzY5NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5Nzc2OTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MDM3NzAxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA5NzcwNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxNTc3MDcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MjE3NzEwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDI3NzcxMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzMzc3MTYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQzOTc3MTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDU3NzIyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDUxNzcyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1Nzc3MjgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NjM3NzMxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY5NzczNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3NTc3MzcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0ODE3NzQwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDg3Nzc0MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5Mzc3NDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjNzAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ5OTc3NDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDU3NzUyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTExNzc1NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxNzc3NTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MjM3NzYxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI5Nzc2NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzNTc3NjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NDE3NzcwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQ3Nzc3MzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1Mzc3NzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjODAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU1OTc3NzkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjU3NzgyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcxNzc4NTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3Nzc3ODgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1ODM3NzkxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg5Nzc5NDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5NTc3OTcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MDE3ODAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjA3NzgwMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxMzc4MDYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjOTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYxOTc4MDkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjU3ODEyMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMxNzgxNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzNzc4MTgwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NDM3ODIxMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE3NTQ1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTc3NTQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTAzNzU1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwOTc1NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTU3NTU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ5NzgyNDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1NTc4MjcwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NjE3ODMwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjY3NzgzMzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY3Mzc4MzYwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2Nzk3ODM5MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjg1Nzg0MjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY5MTc4NDUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTc3ODQ4MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzAzNzg1MTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwOTc4NTQwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTU3ODU3MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzIxNzg2MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyNzc4NjMwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MzM3ODY2MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM5Nzg2OTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0NTc4NzIwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NTE3ODc1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzU3Nzg3ODAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc2Mzc4ODEwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3Njk3ODg0MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzc1Nzg4NzAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc4MTc4OTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODc3ODkzMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkzNzg5NjAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5OTc4OTkwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSVJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtSVJDLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Q4YzQwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1DYWJsZS1JUkMtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpAQCAtMCwwICsxLDc2NyBAQAorIyBVUyBDYWJsZSBjZW50ZXIgZnJlcXVlbmNpZXMKKyMgSW5jcmVtZW50YWxseSBSZWxhdGVkIENhcnJpZXJzIChJUkMpCisjIENoYW5uZWxzIGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLVN0YW5kYXJkLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtQ2FibGUtU3RhbmRhcmQtY2VudGVyLWZyZXF1ZW5jaWVzLVFBTTI1NgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNDkzMTI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUNhYmxlLVN0YW5kYXJkLWNlbnRlci1mcmVxdWVuY2llcy1RQU0yNTYKQEAgLTAsMCArMSw5NjEgQEAKKyMgVVMgRUlBL05DVEEgU3RhbmRhcmQgQ2FibGUgY2VudGVyIGZyZXF1ZW5jaWVzCisjIENoYW5uZWxzIGFyZSBpbiBhc2NlbmRpbmcgRUlBL05DVEEgY2hhbm5lbCBkZXNpZ25hdGlvbiBvcmRlcgorCisjMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE4MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxODkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxOTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIwNzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTIzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEyOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzIwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxNTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDE3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDIzMTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyMzcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjQzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI0OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjY3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI3MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyNzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMjg1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDI5MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAyOTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzAzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMwOTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMTUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzQwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMjEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzI3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDMzMzAyNTAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzMzkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzQ1MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM1MTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNTcwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzYzMDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM2OTAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzNzUwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzODEwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMzg3MDEyNTAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDM5MzAxMjUwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAzOTkwMTI1MDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQxMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQyOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0MzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ1MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ3MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0NzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNDgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDQ4OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA0OTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzcwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDUzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzgwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU3MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1NzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNTg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDU5MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA1OTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzkwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MjEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDYzMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2MzkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDEwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSAxMTEwMjUwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gMTE3MDI1MDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY1MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NTcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2NzUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDY4NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA2OTMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNjk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcwNTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDcyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3MjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NDcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc1OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3NjUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc3NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA3ODMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gNzg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDc5NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MDEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMxMjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDgzMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4MzcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg0OTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NTUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg2NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDg4NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCisjMTIyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA4OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gODk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MDkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkyMTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5MjcwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDkzOTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NDUwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworIzEyMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTUxMDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5NjMwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5ODEwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9CCisJRlJFUVVFTkNZID0gOTg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQgorCUZSRVFVRU5DWSA9IDk5MzAwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0IKKwlGUkVRVUVOQ1kgPSA5OTkwMDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUlELUJvaXNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLUlELUJvaXNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjZWY2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtSUQtQm9pc2UKQEAgLTAsMCArMSwzOCBAQAorIyBCb2lzZSwgSUQsIFVTQQorIyBBIGZyZXEgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTUEtQm9zdG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1BLUJvc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzI0NDAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1BLUJvc3RvbgpAQCAtMCwwICsxLDY4IEBACisjIGluaXRpYWwgdHVuaW5nIGRhdGEgZm9yIEJvc3RvbiwgTUEKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUwOTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDUyNzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU2OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYyMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzNTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0MTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1JLUxhbnNpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTUktTGFuc2luZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWZiOGQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLU1JLUxhbnNpbmcKQEAgLTAsMCArMSwzMiBAQAorIyBpbml0aWFsIHR1bmluZyBkYXRhIGZvciBMYW5zaW5nLCBNSQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzMxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTlRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXRzYy91cy1OVFNDLWNlbnRlci1mcmVxdWVuY2llcy04VlNCCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmMTUzYWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtTlRTQy1jZW50ZXItZnJlcXVlbmNpZXMtOFZTQgpAQCAtMCwwICsxLDQxMCBAQAorIyBVUyBOVFNDIGNlbnRlciBmcmVxdWVuY2llcywgdXNlIGlmIGluIGRvdWJ0CisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjkwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gMjEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDczMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNDk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTA5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTE1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTIxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTI3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTM5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTQ1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTUxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTYzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTY5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTg3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTk5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjA1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjExMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjE3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjIzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjI5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjM1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjQ3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjUzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjU5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjY1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjcxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjc3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjgzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjg5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNjk1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzAxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzA3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzEzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzE5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzI1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzMxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzM3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzQ5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzU1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzYxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzY3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzczMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzc5MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzg1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzkxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNzk3MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gODAzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F0c2MvdXMtUEEtUGhpbGFkZWxwaGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLVBBLVBoaWxhZGVscGhpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGE3ZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdHNjL3VzLVBBLVBoaWxhZGVscGhpYQpAQCAtMCwwICsxLDU2IEBACisjIFVTIE5ZIHN0YXRlCisKKyNBIDE4MzAwMDAwMCA4VlNCCisjQSA1MTUwMDAwMDAgOFZTQgorI0EgNTQ1MDAwMDAwIDhWU0IKKyNBIDU1MTAwMDAwMCA4VlNCCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTgxMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBBVFNDCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJTU9EVUxBVElPTiA9IFZTQi84CisJSU5WRVJTSU9OID0gQVVUTworCisjQSA2NDEwMDAwMDAgOFZTQgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDY0NzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gQVRTQworCUZSRVFVRU5DWSA9IDcxMzAwMDAwMAorCU1PRFVMQVRJT04gPSBWU0IvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworI0EgNzE5MDAwMDAwIDhWU0IKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3NzMwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3ODUwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IEFUU0MKKwlGUkVRVUVOQ1kgPSA3OTEwMDAwMDAKKwlNT0RVTEFUSU9OID0gVlNCLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2FjdGl2eS5yY21tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvYWN0aXZ5LnJjbW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdkNzI4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2FjdGl2eS5yY21tCkBAIC0wLDAgKzEsNTMgQEAKKzB4MDAgS0VZXzAKKzB4MDEgS0VZXzEKKzB4MDIgS0VZXzIKKzB4MDMgS0VZXzMKKzB4MDQgS0VZXzQKKzB4MDUgS0VZXzUKKzB4MDYgS0VZXzYKKzB4MDcgS0VZXzcKKzB4MDggS0VZXzgKKzB4MDkgS0VZXzkKKworMHgwYyBLRVlfUE9XRVIKKzB4MGEgS0VZX0JBQ0sKKworMHhmZSBLRVlfU0NST0xMVVAKKzB4ZmYgS0VZX1NDUk9MTERPV04KKworMHg0MCBLRVlfR09UTworMHg4NiBLRVlfS0VZQk9BUkQKKworMHg4NyBLRVlfUkVECisweGRhIEtFWV9HUkVFTgorMHhmMyBLRVlfWUVMTE9XCisweDg4IEtFWV9CTFVFCisKKzB4ODIgS0VZX0hPTUUKKzB4NTQgS0VZX01FTlUKKworMHg1OCBLRVlfVVAKKzB4NTkgS0VZX0RPV04KKzB4NWEgS0VZX0xFRlQKKzB4NWIgS0VZX1JJR0hUCisKKzB4NWMgS0VZX09LCisKKzB4ZjAgS0VZX0NIQU5ORUxVUAorMHhlZiBLRVlfQ0hBTk5FTERPV04KKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKworMHg4MSBLRVlfSU5GTworMHgwZCBLRVlfTVVURQorCisweDJmIEtFWV9SRVdJTkQKKzB4MmMgS0VZX1BMQVlQQVVTRQorMHgyZSBLRVlfRkFTVEZPUldBUkQKKzB4MzcgS0VZX1JFQ09SRAorCisweDIxIEtFWV9QUkVWSU9VUworMHgzMSBLRVlfU1RPUAorMHgyMCBLRVlfTkVYVAorMHg0MiBLRVlfRUpFQ1RDRApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvZ2FsYXhpcy5yY21tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvZ2FsYXhpcy5yY21tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZWIzODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9nYWxheGlzLnJjbW0KQEAgLTAsMCArMSw1MCBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBhIEtFWV9NSFAKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDBmIEtFWV9JTkZPCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgzYyBLRVlfVEVYVAorMHgzZiBLRVlfVFYKKworMHg0NSBLRVlfU0VUVVAKKzB4NGIgS0VZX1NVQlRJVExFCisweDRlIEtFWV9MQU5HVUFHRQorCisweDUwIEtFWV9SQURJTworMHg1NSBLRVlfRVhJVAorCisweDU4IEtFWV9VUAorMHg1OSBLRVlfRE9XTgorMHg1YSBLRVlfTEVGVAorMHg1YiBLRVlfUklHSFQKKzB4NWMgS0VZX09LCisKKzB4NmQgS0VZX1JFRAorMHg2ZSBLRVlfR1JFRU4KKzB4NmYgS0VZX1lFTExPVworMHg3MCBLRVlfQkxVRQorCisweDc4IEtFWV9NRU5VCisweDc5IEtFWV9MSVNUCisweGNjIEtFWV9FUEcKKworMHhjNCBLRVlfVVAKKzB4YzUgS0VZX1VQCisweGM2IEtFWV9ET1dOCisweGM3IEtFWV9ET1dOCisKKzB4ZmYgS0VZX1ZDUgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvaGF1cHBhdWdlLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZS5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyZWI4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZS5yYzUKQEAgLTAsMCArMSwyNCBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBjIEtFWV9SQURJTworMHgwZCBLRVlfTVVURQorMHgwZiBLRVlfVFYKKworMHgxMCBLRVlfVk9MVU1FVVAKKzB4MTEgS0VZX1ZPTFVNRURPV04KKzB4MWUgS0VZX1ZFTkRPUgorCisweDIwIEtFWV9DSEFOTkVMVVAKKzB4MjEgS0VZX0NIQU5ORUxET1dOCisweDIyIEtFWV9TRUxFQ1QKKzB4MjYgS0VZX0NZQ0xFV0lORE9XUworMHgyZSBLRVlfU0NSRUVOCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UyLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZTIucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2M2ZlYTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2UyLnJjNQpAQCAtMCwwICsxLDQwIEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MTAgS0VZX1ZPTFVNRVVQCisweDExIEtFWV9WT0xVTUVET1dOCisweDFlIEtFWV9WRU5ET1IKKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyMiBLRVlfU0VMRUNUCisweDI2IEtFWV9DWUNMRVdJTkRPV1MKKworMHgzZCBLRVlfUE9XRVIKKzB4M2IgS0VZX0dPVE8KKzB4MWYgS0VZX0JBQ0sKKzB4MGQgS0VZX01FTlUKKzB4MGIgS0VZX1JFRAorMHgyZSBLRVlfR1JFRU4KKzB4MzggS0VZX1lFTExPVworMHgyNSBLRVlfT0sKKzB4MjkgS0VZX0JMVUUKKzB4MGYgS0VZX01VVEUKKzB4MGMgS0VZX0FVWAorMHgzYyBLRVlfU0NSRUVOCisweDMyIEtFWV9SRVdJTkQKKzB4MzUgS0VZX1BMQVkKKzB4MzQgS0VZX0ZPUldBUkQKKzB4MzcgS0VZX1JFQ09SRAorMHgzNiBLRVlfU1RPUAorMHgzMCBLRVlfUEFVU0UKKzB4MjQgS0VZX0xFRlQKKzB4MWUgS0VZX1JJR0hUCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2VfZ3JleS5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9oYXVwcGF1Z2VfZ3JleS5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJjYTUyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL2hhdXBwYXVnZV9ncmV5LnJjNQpAQCAtMCwwICsxLDM5IEBACisweDNkIEtFWV9QT1dFUgorMHgzYiBLRVlfR09UTworCisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MWYgS0VZX0VYSVQKKzB4MGQgS0VZX01FTlUKKworMHgwYiBLRVlfUkVECisweDJlIEtFWV9HUkVFTgorMHgzOCBLRVlfWUVMTE9XCisweDI5IEtFWV9CTFVFCisKKzB4MTEgS0VZX0xFRlQKKzB4MTAgS0VZX1JJR0hUCisweDIwIEtFWV9VUAorMHgyMSBLRVlfRE9XTgorMHgyNSBLRVlfT0sKKworMHgwZiBLRVlfTVVURQorMHgwYyBLRVlfSU5GTworMHgzYyBLRVlfRVBHCisweDMyIEtFWV9SRVdJTkQKKzB4MzUgS0VZX1BMQVkKKzB4MzQgS0VZX0ZBU1RGT1JXQVJECisweDM3IEtFWV9SRUNPUkQKKzB4MzYgS0VZX1NUT1AKKzB4MzAgS0VZX1BBVVNFCisweDI0IEtFWV9QUkVWSU9VUworMHgxZSBLRVlfTkVYVApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvbWJvXzgxMDk1LWNvZGVfNTYyLnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21ib184MTA5NS1jb2RlXzU2Mi5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU3ZTQxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21ib184MTA5NS1jb2RlXzU2Mi5yYzUKQEAgLTAsMCArMSwzOSBAQAorMHgwYyBLRVlfUE9XRVIKKworMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorCisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisKKzB4MDkgS0VZXzkKKzB4MDAgS0VZXzAKKzB4MGEgS0VZX0YxMQorMHgyYiBLRVlfRjEyCisKKzB4M2YgS0VZX1BST0dSQU0KKzB4MjMgS0VZX0NPTkZJRworMHgwZCBLRVlfTVVURQorCisweDExIEtFWV9WT0xVTUVET1dOCisweDEwIEtFWV9WT0xVTUVVUAorMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyOSBLRVlfVFYKKworMHgxYSBLRVlfUkVECisweDFiIEtFWV9HUkVFTgorMHgyZSBLRVlfWUVMTE9XCisweDI0IEtFWV9CTFVFCisKKzB4MzIgS0VZX1JFV0lORAorMHgzNSBLRVlfUExBWQorMHgzNCBLRVlfRk9SV0FSRAorMHgzNyBLRVlfUkVDT1JECisKKzB4MzYgS0VZX1NUT1AKKzB4MzAgS0VZX1BBVVNFCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMDg4LnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21lZGlvbl8wODgucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViZWMzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMDg4LnJjNQpAQCAtMCwwICsxLDM2IEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MGIgS0VZX0JBQ0sKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDBlIEtFWV9NRU5VCisweDBmIEtFWV9UVgorCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxMiBLRVlfVVAKKzB4MTMgS0VZX0RPV04KKzB4MTQgS0VZX1JJR0hUCisweDE1IEtFWV9MRUZUCisweDFlIEtFWV9WRU5ET1IKKworMHgyMCBLRVlfQ0hBTk5FTFVQCisweDIxIEtFWV9DSEFOTkVMRE9XTgorMHgyMiBLRVlfU0VMRUNUCisweDIzIEtFWV9PSworMHgyNiBLRVlfQ1lDTEVXSU5ET1dTCisweDJlIEtFWV9TQ1JFRU4KKworMHgzNyBLRVlfUkVECisweDM2IEtFWV9HUkVFTgorMHgzNCBLRVlfQkxVRQorMHgzMiBLRVlfWUVMTE9XCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMTU1LnJjNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL21lZGlvbl8xNTUucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNmJiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9tZWRpb25fMTU1LnJjNQpAQCAtMCwwICsxLDM1IEBACisweDAwIEtFWV8wCisweDAxIEtFWV8xCisweDAyIEtFWV8yCisweDAzIEtFWV8zCisweDA0IEtFWV80CisweDA1IEtFWV81CisweDA2IEtFWV82CisweDA3IEtFWV83CisweDA4IEtFWV84CisweDA5IEtFWV85CisKKzB4MzUgS0VZX0JBQ0sKKzB4MGMgS0VZX1BPV0VSCisweDBkIEtFWV9NVVRFCisweDNmIEtFWV9NRU5VCisweDBmIEtFWV9UVgorCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorMHgxMiBLRVlfVVAKKzB4MTMgS0VZX0RPV04KKzB4MTQgS0VZX1JJR0hUCisweDE1IEtFWV9MRUZUCisKKzB4MGEgS0VZX0NIQU5ORUxVUAorMHgwYiBLRVlfQ0hBTk5FTERPV04KKzB4MjIgS0VZX1NFTEVDVAorMHgyMyBLRVlfT0sKKzB4MjYgS0VZX0NZQ0xFV0lORE9XUworMHgyZSBLRVlfU0NSRUVOCisKKzB4MzcgS0VZX1JFRAorMHgzNiBLRVlfR1JFRU4KKzB4MzQgS0VZX0JMVUUKKzB4MzIgS0VZX1lFTExPVwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwcy5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9waGlsaXBzLnJjNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OGJjODVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwcy5yYzUKQEAgLTAsMCArMSwzMiBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorCisweDBiIEtFWV9NRU5VCisweDBjIEtFWV9QT1dFUgorMHgwZCBLRVlfTVVURQorMHgwZSBLRVlfT0sKKzB4MGYgS0VZX01JTlVTCisweDEwIEtFWV9WT0xVTUVVUAorMHgxMSBLRVlfVk9MVU1FRE9XTgorCisweDIwIEtFWV9DSEFOTkVMVVAKKzB4MjEgS0VZX0NIQU5ORUxET1dOCisweDI2IEtFWV9JTkZPCisweDJkIEtFWV9aT09NCisweDJlIEtFWV9DWUNMRVdJTkRPV1MKKworMHgzMiBLRVlfUExBWQorMHgzNCBLRVlfRk9SV0FSRAorMHgzNiBLRVlfU1RPUAorMHgzNyBLRVlfUkVXSU5ECisweDM4IEtFWV9BVVgKKzB4M2MgS0VZX1RFWFQKKzB4M2YgS0VZX1NDUkVFTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwczEzNTgucmM1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9hdjcxMTBfbG9hZGtleXMvcGhpbGlwczEzNTgucmM1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwNTc1NWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy9waGlsaXBzMTM1OC5yYzUKQEAgLTAsMCArMSwzNyBAQAorMHgwMCBLRVlfMAorMHgwMSBLRVlfMQorMHgwMiBLRVlfMgorMHgwMyBLRVlfMworMHgwNCBLRVlfNAorMHgwNSBLRVlfNQorMHgwNiBLRVlfNgorMHgwNyBLRVlfNworMHgwOCBLRVlfOAorMHgwOSBLRVlfOQorMHgwQyBLRVlfUE9XRVIKKzB4MEQgS0VZX01VVEUKKzB4MEUgS0VZX09LCisweDBGIEtFWV9ESUdJVFMKKzB4MTAgS0VZX1JJR0hUCisweDExIEtFWV9MRUZUCisweDFFIEtFWV9TVE9QCisweDIwIEtFWV9VUAorMHgyMSBLRVlfRE9XTgorMHgyMyBLRVlfQUIKKzB4MjQgS0VZX1JFQ09SRAorMHgyNSBLRVlfU1VCVElUTEUKKzB4MjYgS0VZX0lORk8KKzB4MjkgS0VZX1BMQVkKKzB4MkEgS0VZX0ZPUldBUkQKKzB4MkIgS0VZX1BBVVNFCisweDJDIEtFWV9SRVdJTkQKKzB4MkQgS0VZX0Y0CisweDJFIEtFWV9GMworMHgzMiBLRVlfWUVMTE9XCisweDM0IEtFWV9CTFVFCisweDM2IEtFWV9HUkVFTgorMHgzNyBLRVlfUkVECisweDM4IEtFWV9BVVgKKzB4M0MgS0VZX0YyCisweDNEIEtFWV9TQ1JFRU4KKzB4M0YgS0VZX0YxCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy90ZWNobm90cmVuZC5yYzUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2F2NzExMF9sb2Fka2V5cy90ZWNobm90cmVuZC5yYzUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI2ZmRjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvYXY3MTEwX2xvYWRrZXlzL3RlY2hub3RyZW5kLnJjNQpAQCAtMCwwICsxLDQxIEBACisweDIyIEtFWV9FUEcKKzB4MWEgS0VZX1JBRElPCisweDE5IEtFWV9URVhUCisKKzB4MGMgS0VZXzAKKzB4MDMgS0VZXzEKKzB4MDQgS0VZXzIKKzB4MDUgS0VZXzMKKzB4MDYgS0VZXzQKKzB4MDcgS0VZXzUKKzB4MDggS0VZXzYKKzB4MDkgS0VZXzcKKzB4MGEgS0VZXzgKKzB4MGIgS0VZXzkKKworMHgwZCBLRVlfVVAKKzB4MTEgS0VZX0RPV04KKzB4MjUgS0VZX1ZPTFVNRVVQCisweDI2IEtFWV9WT0xVTUVET1dOCisKKzB4MjMgS0VZX0NIQU5ORUxVUAorMHgyNCBLRVlfQ0hBTk5FTERPV04KKworMHgwMSBLRVlfUE9XRVIKKzB4MTMgS0VZX0JBQ0sKKzB4MDIgS0VZX01FTlUKKzB4MTQgS0VZX1JFRAorMHgxNSBLRVlfR1JFRU4KKzB4MTYgS0VZX1lFTExPVworMHgwZiBLRVlfT0sKKzB4MTcgS0VZX0JMVUUKKzB4MTggS0VZX01VVEUKKzB4M2QgS0VZX1JFV0lORAorMHgzYiBLRVlfUExBWQorMHgzZiBLRVlfRk9SV0FSRAorMHgzYSBLRVlfUkVDT1JECisweDNjIEtFWV9TVE9QCisweDNlIEtFWV9QQVVTRQorMHgwZSBLRVlfTEVGVAorMHgxMCBLRVlfUklHSFQKKzB4MTIgS0VZX0lORk8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtSW5uc2JydWNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1Jbm5zYnJ1Y2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODk4MzNlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtSW5uc2JydWNrCkBAIC0wLDAgKzEsNTAgQEAKKyMgc2NhbiBjb25maWcgZm9yIElubnNicnVjayBUZWxlc3lzdGVtIGNhYmxlIHByb3ZpZGVyCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbC1CcmF1bmF1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbC1CcmF1bmF1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxMTFjM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthYmVsLUJyYXVuYXUKQEAgLTAsMCArMSwxOTQgQEAKKyMgS2FiZWwgQnJhdW5hdQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjQyODAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2NDI4MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUthYmVsc2lnbmFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbHNpZ25hbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMjczMDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYWJlbHNpZ25hbApAQCAtMCwwICsxLDI5MCBAQAorIyBrYWJlbHNpZ25hbAorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FycmVyTmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1LYXJyZXJOZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzcxYzYzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtS2FycmVyTmV0CkBAIC0wLDAgKzEsMTg3IEBACisjIEthYmVsIFN0LiBGbG9yaWFuIGJlaSBMaW56L0FUIEthcnJlck5ldAorIyAyMDA5LTAxLTEwCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1MaXdlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LUxpd2VzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2IwY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1MaXdlc3QKQEAgLTAsMCArMSwyMjcgQEAKKyMgS2FiZWwgTGluei9BVCBMaXdlc3QKKyMgMjAwNi0wOC0wMQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVNhbHpidXJnQUcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2F0LVNhbHpidXJnQUcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE5ZTM2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtU2FsemJ1cmdBRwpAQCAtMCwwICsxLDUwIEBACisjIHNjYW4gY29uZmlnIGZvciBTYWx6YnVyZyBBRyBjYWJsZSBwcm92aWRlcgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtVmllbm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9hdC1WaWVubmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGJjZTRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYXQtVmllbm5hCkBAIC0wLDAgKzEsMTAgQEAKKyMgS2FiZWwgVmllbm5hCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc3NzUwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JlLUlOLkRJLUludGVnYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2JlLUlOLkRJLUludGVnYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZlY2ZmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYmUtSU4uREktSW50ZWdhbgpAQCAtMCwwICsxLDExNCBAQAorIyBJbnRlZ2FuIERWQi1DIChCZWxnaXVtLCBJTi5ESSByZWdpb24pCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ici1OZXQtRGlnaXRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYnItTmV0LURpZ2l0YWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTk3MzgzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvYnItTmV0LURpZ2l0YWwKQEAgLTAsMCArMSwxMyBAQAorIyBOZXQgRGlnaXRhbAorIyBKdXN0IHRoZSBpbml0aWFsIHRyYW5zcG9uZGVyIGlzIGVub3VnaAorCisjIGZyZXEgc3IgZmVjIG1vZAorIyBGb3VuZCBvbiBTYW8gSm9zZSBkb3MgQ2FtcG9zLCBTUAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTczMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA1MjE3MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLUJlcm4tdXBjLWNhYmxlY29tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1CZXJuLXVwYy1jYWJsZWNvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMDUzZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1CZXJuLXVwYy1jYWJsZWNvbQpAQCAtMCwwICsxLDExIEBACisjIHVwYyBjYWJsZWNvbQorIyBCZXJuZSwgU3dpdHplcmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1HR0EtUHJhdHRlbG4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLUdHQS1QcmF0dGVsbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTgxZDgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1HR0EtUHJhdHRlbG4KQEAgLTAsMCArMSwyODcgQEAKKyMgRFZCLUMgdHJhbnNwb25kZXIvbXV4ZXMgc2NhbgorIyBHR0EgUHJhdHRlbG4sIFN3aXR6ZXJsYW5kCisjIHd3dy5nZ2EtcHJhdHRlbG4uY2gKKyMgTmV0d29yayBJRDogMTg2CisjIDIwMTItMTItMTcKKworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZCAgICBDb21tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlbGVjbHViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbSW50ZXJ0YWlubWVudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ludGVydGFpbm1lbnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ludGVydGFpbm1lbnRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tJbnRlcnRhaW5tZW50XQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtUmVnYS1TZW5zZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtUmVnYS1TZW5zZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjViZWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1SZWdhLVNlbnNlCkBAIC0wLDAgKzEsMjA5IEBACisjIFJlZ2EgU2Vuc2UsIFN3aXR6ZXJsYW5kCisjIGZyZXEgc3IgZmVjIG1vZAorCisjIFBheSBUVgorW1RlbGVjbHViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYXNpcyBvZmZlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTI1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEhEVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVZpZGVvMjAwMCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtVmlkZW8yMDAwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NWM5MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVZpZGVvMjAwMApAQCAtMCwwICsxLDEyIEBACisjIENhYmxlIFZpZGVvMjAwMAorIyBDYW50b24gb2YgTmV1Y2hhdGVsLCBTd2l0emVybGFuZAorCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtWnVlcmljaC11cGMtY2FibGVjb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVp1ZXJpY2gtdXBjLWNhYmxlY29tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2MzlmODIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLVp1ZXJpY2gtdXBjLWNhYmxlY29tCkBAIC0wLDAgKzEsMTEgQEAKKyMgdXBjIGNhYmxlY29tCisjIFp1cmljaCwgU3dpdHplcmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1pbnRlckdHQSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtaW50ZXJHR0EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTA0NTdkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY2gtaW50ZXJHR0EKQEAgLTAsMCArMSwyMjMgQEAKKyMgRFZCLUMgdHJhbnNwb25kZXIvbXV4ZXMgc2NhbgorIyBpbnRlckdHQSwgU3dpdHplcmxhbmQKKyMgd3d3LmludGVyZ2dhLWFnLmNoCisjIE5ldHdvcmsgSUQ6IDU1NQorIyAyMDEyLTEyLTE4CisKKyMgZnJlcSAgICAgIHNyICAgICAgZmVjICBtb2QgICAgQ29tbWVudAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1xdWlja2xpbmUtZXdhYXJiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jaC1xdWlja2xpbmUtZXdhYXJiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM1MTY4MjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2NoLXF1aWNrbGluZS1ld2FhcmJlcmcKQEAgLTAsMCArMSw4IEBACisjIEluaXRpYWwgc2NhbiBjb25maWcgZm9yIFN3aXNzIERWQi1DIHByb3ZpZGVyIFF1aWNrbGluZSBpbiBBYXJiZXJnIChFV0EpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LU1vcmF2aWFuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LU1vcmF2aWFuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDU3ZjgzYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvY3otTW9yYXZpYW5ldApAQCAtMCwwICsxLDEwOCBAQAorIyBEVkItQyBNb3JhdmlhbmV0IChodHRwOi8vd3d3Lm1vcmF2aWEubmV0LykKKyMgQXZhaWxhYmxlIGluIHZpbGxhZ2VzIGFuZCBjaXRpZXMgYXJvdW5kIEJybm86CisjIEJvaHVzbGF2aWNlLCBCdWtvdmFueSwgSHJ1c292YW55IHUgQnJuYSwgSHVzdG9wZWNlLCBJdmFuY2ljZSwgSmlyaWtvdmljZSwKKyMgS3lqb3YsIE1vcmF2c2t5IEtydW1sb3YsIE11dGVuaWNlLCBOZXNsb3ZpY2UsIE5vdmUgQnJhbmljZSwgT3NsYXZhbnksCisjIFBvcHV2a3ksIFBhZG9jaG92LCBUcm91YnNrbywgUm9zaWNlLCBUaXNub3YsIFZvamtvdmljZSwgU3ZhdG9ib3JpY2UsCisjIFNsYXBhbmljZSwgWmFiY2ljZSwgWmlkbG9jaG92aWNlCisjIFRoZSBzYW1lIGNvbnRlbnQgaXMgYXZhaWxhYmxlIGFsc28gZnJvbSBOZWpUViB3aGVyZSB0aGV5IHByb3ZpZGUgRFZCLUMuCisjIEN1cnJlbnRseSBpdCBpcyBpbiBIYXZsaWNrdXYgQnJvZCwgQnJlY2xhdiwgVmVsa2UgTWV6aXJpY2kKKyMKKyMgMjAwOC0xMi0wMworIworIyBmcmVxICAgICAgc3IgICAgICBmZWMgIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1VUEMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2N6LVVQQwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDdmZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9jei1VUEMKQEAgLTAsMCArMSwyMjcgQEAKKyMgVVBDIMSMZXNrw6EgcmVwdWJsaWthIHwgaHR0cHM6Ly93d3cudXBjLmN6LworIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51cGN6b25lLmN6L2Rvd25sb2FkL3Nlem5hbV9tdXh1Lmh0bQorIyBMYXN0IHVwZGF0ZWQ6IDIwLzMvMjAxNgorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CZXJsaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUJlcmxpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iOTNmZjZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CZXJsaW4KQEAgLTAsMCArMSwyNiBAQAorIyBLYWJlbCBCZXJsaW4KKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUJyYW5kZW5idXJnLUhhdmVsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CcmFuZGVuYnVyZy1IYXZlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDQxN2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1CcmFuZGVuYnVyZy1IYXZlbApAQCAtMCwwICsxLDIyNiBAQAorIyBCcmFuZGVuYnVyZyBhbiBkZXIgSGF2ZWwKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1IZXNzZW4tVW5pdHltZWRpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtSGVzc2VuLVVuaXR5bWVkaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA3YzQ0MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtSGVzc2VuLVVuaXR5bWVkaWEKQEAgLTAsMCArMSwzNDMgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1LYWJlbF9CVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfQlcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjIwMTVjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfQlcKQEAgLTAsMCArMSwyMyBAQAorIyBLYWJlbC1CVywgU3RhbmQgMDQvMjAwNworIworIyBOdXIgZWluZSBBbmZhbmdzZnJlcXVlbnogaXN0IG5vZXRpZywgdW0gZGVuIEJhbGwgaW5zCisjIFJvbGxlbiB6dSBicmluZ2VuLiBRdWFzaSBhbHMgRWluc3RpZWdzcHVua3QgZnVlciBlaW5lCisjIHVtZmFzc2VuZGUgU3VjaGUuIEVzIGJlc3RlaHQga2VpbiBHcnVuZCwgc2ljaCB1bSBhbGwgZGllCisjIHZpZWxlbiBhbmRlcmVuIEZyZXF1ZW56ZW4gdW5kIGRlcmVuIGFrdHVlbGwgdmVyd2VuZGV0ZQorIyBQYXJhbWV0ZXIgenUga3VlbW1lcm4gdW5kIGRpZXNlIGRhbm4gd29tb2VnbGljaCBhdWNoCisjIG5vY2ggYXVmIGVpbmVtIGFrdHVlbGxlbiBTdGFuZCBoYWx0ZW4genUgd29sbGVuLiBCZWkgZGVyCisjIHNjaGllcmVuIEFuemFobCBkZXIgaW5uZXJoYWxiIGRlcyBBdXNiYXVnZWJpZXRzIGR1cmNoCisjIEthYmVsIEJXIGdlbnV0enRlbiBGcmVxdWVuemVuIHdhZXJlIGRhcyBudXIgemVpdHJhdWJlbmQKKyMgdW5kIGZlaGxlcmFuZmFlbGxpZy4uLiA7LSkKKyMKKyMgRGlyayBSaXR0ZXIgPGRpcmtAR05VbWF0aWMuZGU+CisjCisjIGZyZXEgICAgICBzciAgICAgIGZlYyAgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtS2FiZWxfRGV1dHNjaGxhbmQtSGFubm92ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0RldXRzY2hsYW5kLUhhbm5vdmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0MzIzODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLUthYmVsX0RldXRzY2hsYW5kLUhhbm5vdmVyCkBAIC0wLDAgKzEsMjE5IEBACisjIEthYmVsIERldXRzY2hsYW5kCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vaGVscGRlc2sua2RnZm9ydW0uZGUvc2VuZGIvYmVsZWd1bmctMTg4Lmh0bWwKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1NdWVuY2hlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTXVlbmNoZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZmNjM3OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTXVlbmNoZW4KQEAgLTAsMCArMSwxNzQgQEAKKyMgMjAwOC0wNi0yMgorIyBBcmVhOiBNdWVuY2hlbiBDaXR5CisjIENhYmxlIFByb3ZpZGVyOiBLYWJlbCAmIE1lZGllbiBTZXJ2aWNlIC0gaHR0cDovL3d3dy5hdGNhYmxlLmRlCisjIENhYmxlIENvbnRlbnQ6IENhYmxldmlzdGEgR21iSCAtIGh0dHA6Ly93d3cuY2FibGV2aXN0YS5kZQorIworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTmV0QWFjaGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1OZXRBYWNoZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNThlZTU5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtTmV0QWFjaGVuCkBAIC0wLDAgKzEsMjkyIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMjA2MDUgMSAwIENBQkxFIERFIDwvd19zY2FuPgorIyBNYW51YWxseSBhZGp1c3RlZCBieSByZWR1Y2luZyB3aGl0ZXNwYWNlIGJldHdlZW4gZmVjIGFuZCBtb2QKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBHZXJtYW55LCBBYWNoZW4sIE5ldEFhY2hlbiwgaHR0cDovL3d3dy5uZXRhYWNoZW4uZGUvCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMy0wNC0xMQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IFRpbGwgTWFhcyA8b3BlbnNvdXJjZUB0aWxsLm5hbWU+CisjCisjIENbMl0gW3BscF9pZF0gW2RhdGFfc2xpY2VfaWRdIFtzeXN0ZW1faWRdIDxmcmVxPiA8c3I+IDxmZWM+IDxtb2Q+IFsjIGNvbW1lbnRdCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW05ldENvbG9nbmVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbTmV0Q29sb2duZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOZXRDb2xvZ25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQmV0YURpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCZXRhRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0JldGFEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQmV0YURpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1QcmltYWNvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtUHJpbWFjb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjg5YTg2ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtUHJpbWFjb20KQEAgLTAsMCArMSwyNTEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgQ0FCTEUgREUgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogQ2hlbW5pdHogUHJpbWFjb20KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEzLTA2LTIyCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogU3ZlbiBFY2tlbG1hbm4gPHN2ZW5AbmFyZmF0aW9uLm9yZz4KKyMKKyMgQ1syXSBbcGxwX2lkXSBbZGF0YV9zbGljZV9pZF0gW3N5c3RlbV9pZF0gPGZyZXE+IDxzcj4gPGZlYz4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEyOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQ1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ByaW1hQ29tIEEuRy5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbUHJpbWFDb20gQS5HLl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tQcmltYUNvbSBBLkcuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1Vbml0eW1lZGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1Vbml0eW1lZGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzMjNkMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLVVuaXR5bWVkaWEKQEAgLTAsMCArMSwyNjAgQEAKKyMgVW5pdHltZWRpYQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51bml0eW1lZGlhLmRlL3NlcnZpY2Uvc29mb3J0aGlsZmUvZnJlcXVlbnplbi5odG1sCisjIGFuZCBodHRwOi8vd3d3LnVuaXR5bWVkaWEuZGUvaW1hZ2VzL1VuaXR5RGlnaXRhbFRWX0xpbmV1cF8wMS0wNy0yMDA5LnBkZgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWllc3kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWllc3kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIzNjMwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtaWVzeQpAQCAtMCwwICsxLDE0NiBAQAorIyBVbml0eSBNZWRpYSAoaWVzeSBIZXNzZW4sIGlzaCBOb3JkcmhlaW4tV2VzdGZhbGVuKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDExMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1rb21yby1Sb3NlbmhlaW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RlLWtvbXJvLVJvc2VuaGVpbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OWZmYTViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1rb21yby1Sb3NlbmhlaW0KQEAgLTAsMCArMSwyMjYgQEAKKyMga29tcm8gKFJvc2VuaGVpbSkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMTMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kZS1uZWZ0diBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtbmVmdHYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJmMGYwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGUtbmVmdHYKQEAgLTAsMCArMSwyMzcgQEAKKyMgQ2FibGUgY29uZiBmb3IgTkVGdHYKKyMgKE51ZXJuYmVyZywgRXJsYW5nZW4sIEZ1ZXJ0aCBhbmQgSGVyem9nZW5hdXJhY2ggKGhlcnpvbWVkaWEpKQorCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTEzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUaGUgZm9sbG93aW5nIGNoYW5uZWwgaXMgb25seSBhdmFpbGFibGUgaW4gSGVyem9nZW5hdXJhY2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1BYXJodXMtQW50ZW5uZWZvcmVuaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1BYXJodXMtQW50ZW5uZWZvcmVuaW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNkMGFlMTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLUFhcmh1cy1BbnRlbm5lZm9yZW5pbmcKQEAgLTAsMCArMSw5IEBACisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQ29wZW5oYWdlbi1BRkRLIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Db3BlbmhhZ2VuLUFGREsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc3M2NjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstQ29wZW5oYWdlbi1BRkRLCkBAIC0wLDAgKzEsNjcgQEAKKyMgQUZESywgQ29wZW5oYWdlbgorIyBodHRwOi8vd3d3LmFmZGsudHYvCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLU9kZW5zZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZGstT2RlbnNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmYWM5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLU9kZW5zZQpAQCAtMCwwICsxLDY2IEBACisjIEdsZW50ZXZlanMgQW50ZW5uZWxhdWcgKERlbm1hcmsgLyBPZGVuc2UpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Zb3VTZWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2RrLVlvdVNlZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NGNhZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9kay1Zb3VTZWUKQEAgLTAsMCArMSwyMjMgQEAKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNjAyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU5NDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTc4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU3MDAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTU0MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDU0NjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTMwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDUyMjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNTA2MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDgyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQ1ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0NTAwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gNDQyMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDQxODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMzc4MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDI0ODAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAyMzgwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMjMwMDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKyAgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisgICAgICAgIEZSRVFVRU5DWSA9IDE1NjAwMDAwMAorICAgICAgICBTWU1CT0xfUkFURSA9IDY4NzUwMDAKKyAgICAgICAgSU5ORVJfRkVDID0gTk9ORQorICAgICAgICBNT0RVTEFUSU9OID0gUUFNLzY0CisgICAgICAgIElOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisgICAgICAgIERFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorICAgICAgICBGUkVRVUVOQ1kgPSAxNDMwMDAwMDAKKyAgICAgICAgU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisgICAgICAgIElOTkVSX0ZFQyA9IE5PTkUKKyAgICAgICAgTU9EVUxBVElPTiA9IFFBTS82NAorICAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorICAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKyAgICAgICAgRlJFUVVFTkNZID0gMTM1MDAwMDAwCisgICAgICAgIFNZTUJPTF9SQVRFID0gNjg3NTAwMAorICAgICAgICBJTk5FUl9GRUMgPSBOT05FCisgICAgICAgIE1PRFVMQVRJT04gPSBRQU0vNjQKKyAgICAgICAgSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9lcy1FdXNrYWx0ZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2VzLUV1c2thbHRlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZjU5MjZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9lcy1FdXNrYWx0ZWwKQEAgLTAsMCArMSwxMTcgQEAKKyMgU2NhbiBjb25maWcgZm9yIEV1c2thbHRlbCAoRFZCLUMpCisjIEJhc3F1ZSBDb3VudHJ5IC0gU3BhaW4KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly9mcmVlLnBhZ2VzLmF0L3dpcmJlbDR2ZHIvd19zY2FuL2luZGV4Mi5odG1sKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1IVFYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUhUVgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YjY5ZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1IVFYKQEAgLTAsMCArMSwyMzQgQEAKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL2R2Yi53ZWxoby5maS9oZWw1LXNpZHVtcDEueG1sCisjIDIwMTYtMDEtMDYgMTU6NDI6MzIuMDczNjM3CisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1Kb2Vuc3V1LVRpa2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1Kb2Vuc3V1LVRpa2thCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmOGRiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLUpvZW5zdXUtVGlra2EKQEAgLTAsMCArMSw5MCBAQAorIyBEVkItQywgVGlra2EgTWVkaWEsIEpvZW5zdXUsIEZpbmxhbmQKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1LYWlzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktS2Fpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTFiODY5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktS2Fpc2EKQEAgLTAsMCArMSwyMjYgQEAKKyMgS2Fpc2FuZXQgT3kgKEthamFhbmkpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVRUViBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktVFRWCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxMDcxOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVRUVgpAQCAtMCwwICsxLDE4IEBACisjIFRUVgorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLVR1cmt1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UdXJrdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOGM3ZGE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1UdXJrdQpAQCAtMCwwICsxLDE3MCBAQAorIyBUdXJ1biBLYWFwZWxpdGVsZXZpc2lvIE95IChUdXJrdSkKKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWRuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktZG5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwYmRkNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWRuYQpAQCAtMCwwICsxLDIzNyBAQAorIyBETkEgbmV0d29yayByZWZlcmVuY2UgY2hhbm5lbHMKKyMgdXBkYXRlZCAyMDExLTA0LTA4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBodHRwOi8vd3d3LmRuYS5maS9ZS1NJVFlJU0lMTEUvVFYvS0FBUEVMSVRWL1NpdnV0L1RhYWp1dWRldC5hc3B4CisjCisjIGZyZXEgICAgICBzciAgICAgIGZlYyAgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1qa2wgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZpLWprbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZGZkNjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1qa2wKQEAgLTAsMCArMSw2NiBAQAorIyBPbkNhYmxlIChGaW5sYW5kIC8gSnl2w6Rza3lsw6QpCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzEyOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTI4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xMjgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktc29uZXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS1zb25lcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmExMzI2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktc29uZXJhCkBAIC0wLDAgKzEsMTk2IEBACisjIFNvbmVyYSBrYWFwZWxpLXR2IChGaW5sYW5kKQorIyBNYWtzdXR0b21hdCBrYW5hdmF0IG92YXQgMjQyLDI1MCwzMTQsMzcwIGphIDQxMCBNSHo6biBtdXhlaXNzYQorIworIyBmcmVxIMKgIMKgIMKgc3IgwqAgwqAgwqBmZWMgwqBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzM4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktdmFhc2Etb25jYWJsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvZmktdmFhc2Etb25jYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzUxODBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9maS12YWFzYS1vbmNhYmxlCkBAIC0wLDAgKzEsOTAgQEAKKyMgT25DYWJsZSAoRmlubGFuZCAvIFZhYXNhKQorIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM4NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9mci1ub29zLW51bWVyaWNhYmxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9mci1ub29zLW51bWVyaWNhYmxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNDliMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2ZyLW5vb3MtbnVtZXJpY2FibGUKQEAgLTAsMCArMSwzMTQgQEAKKyMgQ2FibGUgZW4gRnJhbmNlCisjIGZyZXEgc3IgZmVjIG1vZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTIzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDEzMTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMzkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTQ3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE1NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxNjMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTcxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE3OTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxODcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMTk1MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIwMzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMTEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjE5MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDIyNzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyMzUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjQzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI1MTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNTkwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjY3MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3NTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyODMwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjkxMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5OTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTUwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIzMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzOTAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDcwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9oci1CLm5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHItQi5uZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWRlOGViNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvaHItQi5uZXQKQEAgLTAsMCArMSwyNTAgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgQ0FCTEUgSFIgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogPENyb2F0aWEsIEIubmV0LCBodHRwOi8vd3d3LmJuZXQuaHIvPgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDYtMDcKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiA8Z29nbyB0cmViZWxuaWsyQGdtYWlsLmNvbT4KKyMKKyMgQ1syXSBbcGxwX2lkXSBbZGF0YV9zbGljZV9pZF0gW3N5c3RlbV9pZF0gPGZyZXE+IDxzcj4gPGZlYz4gPG1vZD4gWyMgY29tbWVudF0KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9odS1EaWdpa2FiZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL2h1LURpZ2lrYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGQ1MDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9odS1EaWdpa2FiZWwKQEAgLTAsMCArMSwxNDQgQEAKKyMgRGlnaWthYmVsLCBIdW5nYXJ5CisjIEZvciB0aGUgZm9sbG93aW5nIGNpdGllczoKKyMgIEJ1ZGFwZXN0LCBEb3JvZywgSGF0dmFuLCBLaXNrdW5oYWxhcywgRGVicmVjZW4sIFN6ZWtlc2ZlaGVydmFyLCBQZWNzLAorIyAgVmVzenByZW0sIER1bmF1anZhcm9zLCBNaXNrb2xjLCBHeW9uZ3lvcywgVGF0YWJhbnlhLCBWYXJwYWxvdGEsIE5hZ3lrYW5penNhLAorIyAgU2FsZ290YXJqYW4sIEJhdG9ueXRlcmVueWUsIFN6b2xub2ssIFN6ZW50aXN0dmFuLCBOeWlyZWd5aGF6YSwgR3lvciwKKyMgIFN6YXpoYWxvbWJhdHRhLCBCZWtlc2NzYWJhLCBCZWtlcywgRWdlciwgS29tbG8sIE9yb3N6bGFueQorIyBJbiBzb21lIG9mIHRoZSBjaXRpZXMgbm90IGFsbCB0aGUgZnJlcXVlbmNpZXMgYXJlIGF2YWlsYWJsZS4KKyMgZnJlcSBzciBmZWMgbW9kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAxMjEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9sdS1FdHRlbGJydWNrLUFDRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbHUtRXR0ZWxicnVjay1BQ0UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE1NjdmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbHUtRXR0ZWxicnVjay1BQ0UKQEAgLTAsMCArMSwxMzIgQEAKKyMgU2NhbiBjb25maWcgZm9yIEFudGVubmUgQ29sbGVjdGl2ZSBFdHRlbGJydWNrIGEucy5iLmwuCisjIChodHRwOi8vYW50ZW5uZS1ldHRlbGJydWNrLmx1KQorIyBMdXhlbWJvdXJnIC0gRXR0ZWxicnVjaworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2NTYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjYwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyMDAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3MzIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDM0NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNzI0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSAzNDUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcyODAwMDAwMAorCVNZTUJPTF9SQVRFID0gMzQ1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25sLURlbHRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1EZWx0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjc4ZjhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1EZWx0YQpAQCAtMCwwICsxLDE1IEBACisjIEluaXRpYWwgVHVuaW5nIGZpbGUgZm9yIG5sLURFTFRBCisjIFRoaXMgZmlsZSBvbmx5IGxpc3RzIHRoZSBtYWluCisjIGZyZXF1ZW5jeS4gWW91IHN0aWxsIG5lZWQgdG8gZG8KKyMgYSBuZXR3b3JrIHNjYW4gdG8gZmluZCBvdGhlcgorIyB0cmFuc3BvbmRlcnMuCisjCisjCitbTWFpbiBGcmVxdWVuY3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDAyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtUkVLQU0tQ0FJV19Hb3VkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtUkVLQU0tQ0FJV19Hb3VkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Y2Q2MGJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1SRUtBTS1DQUlXX0dvdWRhCkBAIC0wLDAgKzEsMTggQEAKKyMgUkVLQU0gLyBDYWl3YXksIEdvdWRhLCBOZXRoZXJsYW5kcworIyBmcmVxIHNyIGZlYyBtb2QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDE2MzAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9ubC1aaWdnbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtWmlnZ28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODhjODk2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbmwtWmlnZ28KQEAgLTAsMCArMSwxNyBAQAorIyBJbml0aWFsIFR1bmluZyBmaWxlIGZvciBubC1aaWdnbworIyBUaGlzIGZpbGUgb25seSBsaXN0cyB0aGUgbWFpbgorIyBmcmVxdWVuY2llLiBZb3Ugc3RpbGwgbmVlZCB0byBkbworIyBhIG5ldHdvcmsgc2NhbiB0byBmaW5kIG90aGVyCisjIHRyYW5zcG9uZGVycy4KKyMgQWxzbyBzZXQgdGhlIG5ldHdvcmsgaWQKKyMgKGFrYSBuaXQgb3RoZXIpIHRvOiA1NTU1CisjCisKK1tNYWluIEZyZXF1ZW5jeSBaaWdnb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUNhbmFsRGlnaXRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1DYW5hbERpZ2l0YWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTYwYzE5ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvbm8tT3Nsby1DYW5hbERpZ2l0YWwKQEAgLTAsMCArMSw5NyBAQAorIyBuby1vc2xvLUNhbmFsRGlnaXRhbCAoY2FibGUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzYyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQxODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDUwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTUwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjk1MDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL25vLU9zbG8tR2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNWFjNDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9uby1Pc2xvLUdldApAQCAtMCwwICsxLDE2OSBAQAorIyBuby1Pc2xvLUdldCAoY2FibGUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyNDEwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI3MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjgwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAyOTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM0NjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzc4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM5NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5NTIwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3JvLURpZ2lUViBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvcm8tRGlnaVRWCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlNmNiNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3JvLURpZ2lUVgpAQCAtMCwwICsxLDIwMSBAQAorIyBGcm9tIGh0dHA6Ly93d3cucmNzLXJkcy5yby9wZXJzb25hbC10dj90PWNhYmx1JnBhY2hldD1kaWdpdGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM1NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNjIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzcwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzODYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzk0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDE4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MzQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDQyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDY2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLUdvdGhuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLUdvdGhuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Y0ZjcwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLWMvc2UtR290aG5ldApAQCAtMCwwICsxLDEyMSBAQAorIyBHb3RobmV0IERWQi1DCisjIFVwZGF0ZWQ6IDIwMDgtMDktMTkKKyMgZnJlcSBzciBmZWMgbW9kCisKKyMgRnJlZSBjaGFubmVscworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTUEEgY2hhbm5lbHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY5MDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2FuYWwgRGlnaXRhbCBjaGFubmVscworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzE0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzU0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNzAwMDAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1jb21oZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1jL3NlLWNvbWhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNGFjZDk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItYy9zZS1jb21oZW0KQEAgLTAsMCArMSwyNDggQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDI5MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMjk4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMDYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMxNDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzIyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzMzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDMzODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzQ2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM2MjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzNzAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDM3ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gMzg2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQwMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDEwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQyNjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDM0MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NDIwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ1MDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDU4MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0NjYwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJDL0FOTkVYX0EKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlTWU1CT0xfUkFURSA9IDY4NzUwMDAKKwlJTk5FUl9GRUMgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQkMvQU5ORVhfQQorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCVNZTUJPTF9SQVRFID0gNjg3NTAwMAorCUlOTkVSX0ZFQyA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCQy9BTk5FWF9BCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJU1lNQk9MX1JBVEUgPSA2ODc1MDAwCisJSU5ORVJfRkVDID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FCUzEtNzUuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FCUzEtNzUuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjE4MzYyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQUJTMS03NS4wRQpAQCAtMCwwICsxLDY2IEBACisjIEFCUy0xIEAgNzVFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMS0xMDN3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxLTEwM3cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmI5ZGI4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMS0xMDN3CkBAIC0wLDAgKzEsMTkgQEAKKyMgQU1DIDEgQCAxMDNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEwX0MtMTM1VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMTBfQy0xMzVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJlMzY4NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzEwX0MtMTM1VwpAQCAtMCwwICsxLDIxIEBACisjIEFNQyAxMCBAIDEzNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MjY4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjkyNjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMV9DLTEzMVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzExX0MtMTMxVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MjA3ZDliCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxMV9DLTEzMVcKQEAgLTAsMCArMSwzMCBAQAorIyBBTUMgMTEgQCAxMzFXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk3MjYwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzg2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDMyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE2LTg1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxNi04NS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZDg5ZjkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUMxNi04NS4wVwpAQCAtMCwwICsxLDI3IEBACisjIEFNQyAyIEAgODVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE4X0MtMTA1VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DMThfQy0xMDVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA5YWFjYjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzE4X0MtMTA1VwpAQCAtMCwwICsxLDIwIEBACisjIEFNQyAxOCBAIDEwNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwNjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNC0xMDF3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM0LTEwMXcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTEzOTdkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNC0xMDF3CkBAIC0wLDAgKzEsNTkgQEAKKyMgQU1DIDQgQCAxMDEuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MjM0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM1LTc5dyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNS03OXcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQ4ZjdlYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DNS03OXcKQEAgLTAsMCArMSwxOSBAQAorIyBBTUMgNSBAIDc5VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExMTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzYtNzJ3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM2LTcydwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjU5NzJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM2LTcydwpAQCAtMCwwICsxLDMzMSBAQAorIyBBTUMgNiBAIDcyVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjU2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ5OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjUyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzAyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0MDE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjg5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTczMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOF9DLTEzOVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzhfQy0xMzlXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMzJhZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzhfQy0xMzlXCkBAIC0wLDAgKzEsNTcgQEAKKyMgQU1DIDggQCAxMzlXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzUwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzEzNjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MjU5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMTI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOS04My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQU1DOS04My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NDdhYjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5LTgzLjBXCkBAIC0wLDAgKzEsMTIzIEBACisjIEFNQyA5IEAgODNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5X0MtODMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FNQzlfQy04My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmIxMGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BTUM5X0MtODMuMFcKQEAgLTAsMCArMSw0OSBAQAorIyBBTUMgOSBAIDgzVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM5ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BZ2lsYTJfQy0xNDYuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FnaWxhMl9DLTE0Ni4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NTkxZTUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BZ2lsYTJfQy0xNDYuMEUKQEAgLTAsMCArMSwxODYgQEAKKyMgQWdpbGEgMiBAIDE0Ni4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVml2YSBQcmltZSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzNDUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBab2UgUGhpbGlwcGluZXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEYSBBaSBUViBpbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRyaW5pdHkgQnJvYWRjYXN0aW5nIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwOTEwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYXlvbiBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgV2hpdGUgU3ByaW5ncyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVENUIFdvcmxkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDQ1ROCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkJOIFBoaWxpcHBpbmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBbCBNYXNyaXlhaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVml2YSBFbnRlcnRhaW5tZW50IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NzE2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSUJDMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENUTiBDYW1ib2RpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk2MjgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEaXZ5YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBGYW1pbHlsYW5kIFRWIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MzUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNVFYgUGhpbGlwcGluZXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGUgT2xkIFBhdGggVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBVTlRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FtYXpvbmFzLTYxLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbWF6b25hcy02MS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzQ3MWMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbWF6b25hcy02MS4wVwpAQCAtMCwwICsxLDQxMSBAQAorIyBBbWF6b25hcyBAIDYxLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0MDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDc1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzMwNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4ODgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA5NjE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1NzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExMzQzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg2MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDExMTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTY2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Ftb3MtNHcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0Ftb3MtNHcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTIyMjgwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW1vcy00dwpAQCAtMCwwICsxLDM3MCBAQAorIyBBbW9zIDYgQCA0VworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc1OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDA4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjk1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5NTQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzkyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjA4OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTM0MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0ODAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDkxNjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTE4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODUyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYxLTEwNy4zVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMS0xMDcuM1cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDYxMzAyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMS0xMDcuM1cKQEAgLTAsMCArMSwzNSBAQAorIyBBbmlrIEYxIEAgMTA3LjNXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5OTgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTk4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQW5pay1GMVJfQy0xMDcuM1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjFSX0MtMTA3LjNXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI5OTU5YjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjFSX0MtMTA3LjNXCkBAIC0wLDAgKzEsOTMgQEAKKyMgQW5payBGMVIgQCAxMDcuM1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc4NTYwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY0OTkwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzA3ODAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MzQ4MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MzQ4MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYyX0MtMTExLjFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYyX0MtMTExLjFXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5YTgzOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjJfQy0xMTEuMVcKQEAgLTAsMCArMSwxMiBAQAorIyBBbmlrIEYyIEAgMTExLjFXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNDMwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYzLTExOVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FuaWstRjMtMTE5VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNDQwNWZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BbmlrLUYzLTExOVcKQEAgLTAsMCArMSw1NjAgQEAKKyNEaXNoIE5ldHdvcmsgVVNBIHdvcmtzIHdpdGggUFNLLzh0dXJibworI0p1c3QgRFZCUy1VU0IgR2VucGl4IFNreSBXYWxrZXIgMSBvciAyIHdvcmtzIHdpdGggUFNLLzh0dXJibworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTUwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1ODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4OTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDYwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxOTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg1MDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyODAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDIwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDIwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzMwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDUwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjMwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDgxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTExMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNTUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTcyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMzkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNTMwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI2ODAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODIwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI5NzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMTEwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMyNjAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM1NTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNzAwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM4NDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzk5MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDQzMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDcyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ4NjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MDEwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTE2MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1ODkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjAzMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MTgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMyMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzYwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXBzdGFyNl9DLTEzNC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXBzdGFyNl9DLTEzNC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjFjN2M3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BcHN0YXI2X0MtMTM0LjBFCkBAIC0wLDAgKzEsMzYgQEAKKyMgQXBzdGFyIDYgQCAxMzQuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIE5ldyBFbnRlcnRhaW5tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgTnVzYW50YXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDJfQy0xMDAuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQyX0MtMTAwLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwODg5YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFTYXQyX0MtMTAwLjVFCkBAIC0wLDAgKzEsMTU2IEBACisjIEFzaWFTYXQgMiAxMDAuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIElyaXMgU2F0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBUFROIERpcmVjdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MTY3MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQVBUTiBHbG9iYWwgVmlkZW8gV2lyZSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODg4OTAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJZVSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUyNzAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFKSyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFJUQiBJbnRlcm5hdGlvbmFsIEJydW5laQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2hhbXNoYWQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBGVFYgSEQgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ2NDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBcmFic2F0IEFTQlUgQm91cXVldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhdExpbmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2F0TGluayBFdXJvcGVhbiBCb3VxdWV0IChNUEVHLTIgJiBNUEVHLTQgUzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFjYXUgU2F0ZWxsaXRlIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE4NTIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDNTX0MtMTA1LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc2lhU2F0M1NfQy0xMDUuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDQ1NGU0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYVNhdDNTX0MtMTA1LjVFCkBAIC0wLDAgKzEsMzI2IEBACisjIEFzaWFTYXQgM1MgMTA1LjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBDaGluYSBFbnRlcnRhaW5tZW50IFRWICYgTWFoYXJpc2hpIFZlZGEgVmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWVkaWFDb3JwIENoYW5uZWwgTmV3cyBBc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCVFYgV29ybGQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYWxheHkgVFZCCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzNjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNYWRhbmkgQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEZhc2hpb24gVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBYWogTmV3cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgyMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFyaXJhbmcgQXJhYgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQxODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBtdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBaXJ3YXZlcyBNZWRpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEI0VSBJTkRJQSAtIE1QRUctNCBTLzIgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3RhciBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVHVuZXIgSW50ZXJuYXRpb25hbCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdGFyIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjg1MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNhaGFyYSBTYW1heSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVk9BIFZvaWNlIE9mIEFtZXJpY2EgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwNDAwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2xvYmVjYXN0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDI0MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU3VuIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU1NTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQVFYgR2xvYmFsIFVTQQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg5NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBHbG9iYWwgVUsgJiBFdXJvcGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYWxheHkgVFZCIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzY1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFeWUgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdlbyBUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXNpYXNhdDRfQy0xMjIuMkUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFzYXQ0X0MtMTIyLjJFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiYzBjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzaWFzYXQ0X0MtMTIyLjJFCkBAIC0wLDAgKzEsNzYgQEAKKyMgQXNpYXNhdCA0IEAgMTIyLjJFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSGVuYW4gUmFkaW8gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTSVRJIERpZ2l0YWwgbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTE5LjJFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0xOS4yRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDFmMGIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0xOS4yRQpAQCAtMCwwICsxLDEwIEBACisjIEFzdHJhIDE5LjJFIFNEVCBpbmZvIHNlcnZpY2UgdHJhbnNwb25kZXIKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTE1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQXN0cmEtMjMuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTIzLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkNTA1ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTIzLjVFCkBAIC0wLDAgKzEsNDUwIEBACisjIEFzdHJhIDIzLjVFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTA4OTEyNTAgSCAyMjAwMDAwMCAzLzQgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1NTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTcxOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQXN0cmEyQ29ubmVjdAorIyBTMiAxMTc1ODAwMCBIIDI3NTAwMDAwIDUvNiBBVVRPIDhQU0sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExODE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTg1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQXN0cmEyQ29ubmVjdAorIyBTMiAxMTk1NDAwMCBIIDI3NTAwMDAwIDMvNCBBVVRPIDhQU0sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwMzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxMDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBRUFNLCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBc3RyYTJDb25uZWN0CisjIFMyIDEyMTQ4MDAwIEggMjc1MDAwMDAgMy80IEFVVE8gOFBTSworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIyMjYwMDAgSCAyNzUwMDAwMCAzLzUgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzMDQwMDAgSCAyNzUwMDAwMCA1LzYgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzNDQwMDAgSCAyODIwMDAwMCA1LzYgQVVUTyA4UFNLCisjIEFzdHJhMkNvbm5lY3QKKyMgUzIgMTIzODIwMDAgSCAyNzUwMDAwMCAzLzQgQVVUTyA4UFNLCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjI3NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0FzdHJhLTI4LjJFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yOC4yRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMjY2ODM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Bc3RyYS0yOC4yRQpAQCAtMCwwICsxLDg2MyBAQAorIyBBc3RyYSAyOC4yRSBTRFQgaW5mbyBzZXJ2aWNlIHRyYW5zcG9uZGVyCisjIGZyZXEgcG9sIHNyIGZlYworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzE5NTAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNzk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDIzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMjYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMjI2NTAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjI0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkUKKyMgVHJhbnNwb25kZXIgMzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJFCisjIFRyYW5zcG9uZGVyIDMxCitbQ0hBTk5FTF0KKyAgICAgICBERUxJVkVSWV9TWVNURU0gPSBEVkJTCisgICAgICAgRlJFUVVFTkNZID0gMTIzMDQwMDAKKyAgICAgICBQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisgICAgICAgU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorICAgICAgIElOTkVSX0ZFQyA9IDIvMworICAgICAgIE1PRFVMQVRJT04gPSBRUFNLCisgICAgICAgSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMzMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIzNDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDM4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMzkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI0NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciA0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJFCisjIFRyYW5zcG9uZGVyIDQxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MTQyNTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNDYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDQ4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA0OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDgzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEwODQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEwODc2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDUzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDkzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQXN0cmEgMkcKKyMgVHJhbnNwb25kZXIgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgNjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTA1Mjc1MAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDY4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA2OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTQxMjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA3MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTcwNzUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA4OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDY0MjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUwODUwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDkzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MjM1MDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTI3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDk2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1Njc1MDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTgyMjUwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciA5OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgOTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MTE3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMDIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwMgorW0NIQU5ORUxdCisgICAgICAgREVMSVZFUllfU1lTVEVNID0gRFZCUworICAgICAgIEZSRVFVRU5DWSA9IDExNjU2MDAwCisgICAgICAgUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKyAgICAgICBTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisgICAgICAgSU5ORVJfRkVDID0gNS82CisgICAgICAgTU9EVUxBVElPTiA9IFFQU0sKKyAgICAgICBJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzE3NTAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDEwNAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjg1NTAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIEFzdHJhIDJGCisjIFRyYW5zcG9uZGVyIDEwOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUcmFuc3BvbmRlciAxMTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0NDUwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBBc3RyYSAyRQorIyBUcmFuc3BvbmRlciAxMTMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTE0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgMTE1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRyYW5zcG9uZGVyIDExNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEyMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHJhbnNwb25kZXIgQzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTEtMTIuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0F0bGFudGljLUJpcmQtMS0xMi41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wYzg1ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTEtMTIuNVcKQEAgLTAsMCArMSwyNzAgQEAKKyMgQXRsYW50aWMgQmlyZCAxIEAgMTIuNVcKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MTkwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjI0MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU3MjIwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MjgwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMzNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5MjMwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNzkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDExNzgxMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzk4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3OTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzY4ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3NDU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTc0NTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNDEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjcxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2NTEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDM1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjc0MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0F0bGFudGljLUJpcmQtMy01LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTMtNS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZDc1MWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9BdGxhbnRpYy1CaXJkLTMtNS4wVwpAQCAtMCwwICsxLDM2NCBAQAorIyBBdGxhbnRpYyBCaXJkIDMgQCA1LjBXCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTAxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDMKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMDEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTEKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNAorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTExNzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA1CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTE3OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMgorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAzCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTYzNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDQKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA2CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gNworCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDgKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSA5CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTAKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxMQorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEyCisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTMKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxNAorCVBMU19DT0RFID0gMTY0MTYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDE1CisJUExTX0NPREUgPSAxNjQxNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMTYKKwlQTFNfQ09ERSA9IDE2NDE2CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjYwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSAxMjEyMTIKKwlQTFNfTU9ERSA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSAxMjEyMTIKKwlQTFNfTU9ERSA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDA4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI2NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDA4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIxLTc1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxTYXQtQjEtNzUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjAzMWNhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIxLTc1LjBXCkBAIC0wLDAgKzEsNjcgQEAKKyMgQnJhc2lsc2F0IEIxIEAgNzUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDcxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMi02NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUIyLTY1LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMjQ5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CMi02NS4wVwpAQCAtMCwwICsxLDI1MSBAQAorIyBCcmFzaWxzYXQgQjIgQCA2NS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzOTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMzYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjg1MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1NzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CNC03MC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQnJhc2lsU2F0LUI0LTcwLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3M2M5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbFNhdC1CNC03MC4wVwpAQCAtMCwwICsxLDI5MSBAQAorIyBCcmFzaWxzYXQgQjQgQCA3MC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDcxMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDYwNjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM2MTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjI4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzkyODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcxNDMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NDU0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTg3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU5ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDY4NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MTIzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzMzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0JyYXNpbHNhdEI0LTg0LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxzYXRCNC04NC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNGQ0ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9CcmFzaWxzYXRCNC04NC4wVwpAQCAtMCwwICsxLDY1OSBAQAorIyBCcmFzaWxzYXQgQjMgQCA4NC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NzA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTI4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNzcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzczMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI3ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODA2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDEyNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODA3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTY1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDM1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODE0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTA0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ2ODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjYyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU2NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY4NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMjk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0NoaW5hU2F0NUEtODcuNUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0NoaW5hU2F0NUEtODcuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjMxZmMwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvQ2hpbmFTYXQ1QS04Ny41RQpAQCAtMCwwICsxLDM2IEBACisjIENoaW5hU3RhciAxIEAgODcuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIE15YXdhZHkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFphbSBUViBUZXN0cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGVzdCBDYXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ2ODcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRWNob3N0YXItMTArMTEtMTEwVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRWNob3N0YXItMTArMTEtMTEwVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTIxYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FY2hvc3Rhci0xMCsxMS0xMTBXCkBAIC0wLDAgKzEsMjgxIEBACisjRGlzaCBOZXR3b3JrIFVTQSB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKyNKdXN0IERWQlMtVVNCIEdlbnBpeCBTa3kgV2Fsa2VyIDEgb3IgMiB3b3JrcyB3aXRoIFBTSy84dHVyYm8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMzkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjUzMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNjgwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODIwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI5NzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyOTcwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzExMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMjYwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNTUwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzcwMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODQwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxNDAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBSSUdIVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ0MzAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDcyMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ4NjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTAxMDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxNjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTkwMDAKKwlQT0xBUklaQVRJT04gPSBMRUZUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU4OTAwMAorCVBPTEFSSVpBVElPTiA9IExFRlQKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE4MDAwCisJUE9MQVJJWkFUSU9OID0gTEVGVAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzMjAwMAorCVBPTEFSSVpBVElPTiA9IFJJR0hUCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjYxMDAwCisJUE9MQVJJWkFUSU9OID0gUklHSFQKKwlTWU1CT0xfUkFURSA9IDIxNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9Fc3RyZWxhLWRvLVN1bC02My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXN0cmVsYS1kby1TdWwtNjMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmUwNjkzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXN0cmVsYS1kby1TdWwtNjMuMFcKQEAgLTAsMCArMSwxOTUgQEAKKyMgRXN0cmVsYSBkbyBTdWwgQCA2My4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTI0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTk4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEyNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTY0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM2MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgxNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxMjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEyNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjM5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTA0MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V1dGVsc2F0OS05LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdDktOS4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OWU2NWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdDktOS4wRQpAQCAtMCwwICsxLDExNCBAQAorIyBFdXJvYmlyZCA5LjBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FdXRlbHNhdFcyLTE2RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXRXMi0xNkUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWIyYmE4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXV0ZWxzYXRXMi0xNkUKQEAgLTAsMCArMSw0NTEgQEAKKyMgRXV0ZWxzYXQgVzIgQCAxNkUKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NjgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTA1NTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzI3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTcyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUyMDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzM0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MTg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTEwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI5NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzA0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzI0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTk1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ5MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTEzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYxNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3NTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTc1NzgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ0NjgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODk0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTU2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcwMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjMzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4ODMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzQxODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4ODMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4OTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYyNzcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3MtM0EtMTEuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3MtM0EtMTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmJlMjcyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzcy0zQS0xMS4wVwpAQCAtMCwwICsxLDExIEBACisjIEV4cHJlc3MgM0EgQCAxMS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTEtNDAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTEtNDAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQzMWRhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMS00MC4wRQpAQCAtMCwwICsxLDI2IEBACisjIEV4cHJlc3MgQU0xIEAgNDBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMi04MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMi04MC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZGZjZmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9FeHByZXNzQU0yLTgwLjBFCkBAIC0wLDAgKzEsMTY4IEBACisjIEV4cHJlc3MgQU0yIEAgODBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0OTQ4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwNjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDU0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE5MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ5NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MDYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ5NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFeHByZXNzIEFNMiBAIDgwRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFJvbWFuIEthc2hjaGVldgorIyBNYXIgMzAsIDIwMDgKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgUlNDQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzExMDYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVFJLIFNldmVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjE1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFRSViBNdWppCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE9UViBTYWtoYWxpbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBSU0NDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzQ4MzAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1IEthbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg3MDUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVFYgQ2VudHIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIEJsYWdvdmVzdCBUZWxla2FuYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvRXhwcmVzc0FNMjItNTMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTIyLTUzLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxMzI0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0V4cHJlc3NBTTIyLTUzLjBFCkBAIC0wLDAgKzEsNTEgQEAKKyMgRXhwcmVzcyBBTSAyMiBAIDUzRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDk1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODE1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworI1MgMTA5NzQwMDAgViAzMjIyMzAwMCA3LzgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAzMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3NTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzU5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU3ODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTBSLTEyM3cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEwUi0xMjN3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYyMTJmNTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEwUi0xMjN3CkBAIC0wLDAgKzEsNTkgQEAKKyMgR2FsYXh5IDEwUiBAIDEyM1cKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzY5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMjQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NjU3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMzAyMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEzX0MtMTI3VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTNfQy0xMjdXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiODVlMjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTEzX0MtMTI3VwpAQCAtMCwwICsxLDM5IEBACisjIEdhbGF4eSAxMyBAIDEyN1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMxMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDA5NzAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNF9DLTEyNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE0X0MtMTI1VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iN2ZmZTBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNF9DLTEyNVcKQEAgLTAsMCArMSwzMCBAQAorIyBHYWxheHkgMTQgQCAxMjVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2ODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODg3MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTA3NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNV9DLTEzM1cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE1X0MtMTMzVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iY2MwOTZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNV9DLTEzM1cKQEAgLTAsMCArMSwyMiBAQAorIyBHQUxBWFkgMTUgQCAxMzNXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTkzNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTYzMDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNl9DLTk5LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxNl9DLTk5LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkMjNjNmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE2X0MtOTkuMFcKQEAgLTAsMCArMSwxMzcgQEAKKyMgR2FsYXh5IDE2IEAgOTlXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg3MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTY3MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgwMjkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTYxMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTU0NTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2Mzk4MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc3ODAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODEyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE1MDA0MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1ODMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NzgxMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTctOTEuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3LTkxLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmNzU5OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3LTkxLjBXCkBAIC0wLDAgKzEsMzcwIEBACisjIEdhbGF4eSAxNyBAIDkxVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTg1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAyNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxNDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjE0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxN19DLTkxLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxN19DLTkxLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA1MzBiYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE3X0MtOTEuMFcKQEAgLTAsMCArMSw0OCBAQAorIyBHYWxheHkgMTcgQCA5MVcgQy1CYW5kCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjE5MDAwCisJSU5ORVJfRkVDID0gMS8yCisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0ODkwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyNDkwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjA1MTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5LTk3LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOS05Ny4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzFjZGYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkxOS05Ny4wVwpAQCAtMCwwICsxLDEzMCBAQAorIyBHYWxheHkgMTkgQCA5N1cKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgxMjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjA3NjUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjQyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5X0MtOTcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTE5X0MtOTcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmQ5ZjQ2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MTlfQy05Ny4wVwpAQCAtMCwwICsxLDEzOCBAQAorIyBHYWxheHkgMTkgQCA5N1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTQ5OTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTg2MjAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzc2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTQ1NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMzMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYzNzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQwMDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1OTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTg1ODAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTg1ODAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk4NjIwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjNfQy0xMjFXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyM19DLTEyMVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAzYjFkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjNfQy0xMjFXCkBAIC0wLDAgKzEsMTExIEBACisjIEdhbGF4eSAyMyBAIDEyMVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQzOTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgwODYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNjkwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDgzMzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MzcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODkxNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxOTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTEwNjgwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNS05My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjUtOTMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2YzNDllMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjUtOTMuMFcKQEAgLTAsMCArMSw0NzQgQEAKKyMgR2FsYXh5IDI1IEAgOTNXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MzEyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODQyOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcxNzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MTYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTA0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODg0ODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4NDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTY3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA0ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4Njc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MTA0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MTQ3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNy0xMjl3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyNy0xMjl3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmYjQwMmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0dhbGF4eTI3LTEyOXcKQEAgLTAsMCArMSwxMSBAQAorIyBHYWxheHkgMjcgQCAxMjlXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyOC04OS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjgtODkuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2VmYjMyMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjgtODkuMFcKQEAgLTAsMCArMSwzMTUgQEAKKyMgR2FsYXh5IDI4IEAgODlXCisjIEludGVsc2F0IEFtZXJpY2FzIDggQCA4OVcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU1MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0ODgzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMzE0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTE0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQzOTgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxOTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjhfQy04OS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5MjhfQy04OS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYmE2OThkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkyOF9DLTg5LjBXCkBAIC0wLDAgKzEsMzAgQEAKKyMgR2FsYXh5IDI4IEAgODlXICBDLUJhbmQKKyMgCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5ODYyMDAwCisJSU5ORVJfRkVDID0gOS8xMAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIzNjQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkzQy05NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0MtOTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDllNjJjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0MtOTUuMFcKQEAgLTAsMCArMSwxMCBAQAorIyBHYWxheHkgM0MgQCA5NVcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDc2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0NfQy05NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvR2FsYXh5M0NfQy05NS4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzAzYzQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9HYWxheHkzQ19DLTk1LjBXCkBAIC0wLDAgKzEsMjkgQEAKKyMgR2FsYXh5IDNDIEAgOTVXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0OTk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2OTIzMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9IaXNwYXNhdC0zMC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSGlzcGFzYXQtMzAuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjc2MjUxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSGlzcGFzYXQtMzAuMFcKQEAgLTAsMCArMSwyOTcgQEAKKyMgSGlzcGFzYXQgMzAuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTA3MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMDczMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjE1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwMDAwMDAKKwlJTk5FUl9GRUMgPSA5LzEwCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDgxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMQorCVBMU19DT0RFID0gOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDU2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDEKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hvdGJpcmQtMTMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0hvdGJpcmQtMTMuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGRmMGFiMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSG90YmlyZC0xMy4wRQpAQCAtMCwwICsxLDc3OCBAQAorIyBFVVRFTFNBVCBTa3lQbGV4LCBIb3RiaXJkIDEzRQorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5OTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk0OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDEzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTExNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjE5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMjc4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyOTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzM0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTM5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDExMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQ3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjExMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTg4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjY0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzc5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjUzOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAxCisJUExTX0NPREUgPSA4CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNTM5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDIKKwlQTFNfQ09ERSA9IDgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTc3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcxMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSUE3LTEyOXcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0lBNy0xMjl3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxMjUwNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0lBNy0xMjl3CkBAIC0wLDAgKzEsMTEgQEAKKyMgSW50ZWxzYXQgQW1lcmljYXMgNyBAIDEyOVcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0MkVfQy04My4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQyRV9DLTgzLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2YmRjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0MkVfQy04My4wRQpAQCAtMCwwICsxLDI5NiBAQAorIyBJbnNhdCAyRSBAIDgzLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBORSBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2NDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBORSBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBUZWx1Z3UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTMSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBLYW5uYWRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSmF5YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODY4MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRhdGEgQ29tbXVuaWNhdGlvbnMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5NjI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXNpYW5ldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5NTMxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQW1yaXRhIFRWIE1pZGRsZSBFYXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1OTI2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFoYWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENOQkMgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWogVFYgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVVRWaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBUQyBNdWx0aXBsZXggKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2MDQzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWF2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBZZXMgSW5kaWF2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNYW5vcmFtYSBOZXdzIEludGVybmF0aW9uYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWogTXVzaXgga2FuYWRhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjU2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFYgOSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXNpYW5ldCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDEwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5NTMxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0NDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSUlNhdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc0MjAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUYXRhIENvbW11bmljYXRpb25zIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTA4NDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIG5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWFzaWduIE11bGl0cGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTIzMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5ld3MgTGl2ZSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQzQV9DLTkzLjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDNBX0MtOTMuNUUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjEyZDM2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQzQV9DLTkzLjVFCkBAIC0wLDAgKzEsMjA2IEBACisjIEluc2F0IDNBIEAgOTMuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEREIEJhbmdsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFB1bmphYgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEd1amFyYXRpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgQ2hhbmRhbmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBPcml5YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIGthc2hpcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFNhaHlhZHJpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgTWFsYXlhbGFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgU2FwdGFnaXJpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgcG9kaGlnYWkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBIaW1hY2hhbCBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgSmFpcHVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFkaHlhIFByYWRlc2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBVdHRhciBQcmFkZXNoCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgTm9ydGggRWFzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIE1pem9yYW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTAxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBUcmlwdXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRBIEFmZ2hhbmlzdGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRBIEFmZ2hhbmlzdGFuIE5hbmdhcmhhcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFyaWFuYSBUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTE1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRBX0MtODMuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEFfQy04My4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZTFlOTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnNhdDRBX0MtODMuMEUKQEAgLTAsMCArMSwyOTYgQEAKKyMgSW5zYXQgNEEgQCA4My4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgTlNUUEwgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kaWFzaWduIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFN0YXIgVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwOTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRXNzZWwgU2h5YW0gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGFyYW5nIFRWIE11bHRpcGxleCAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjkyMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENUVk4gQUtEIFBsdXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI2NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEthc3RodXJpIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0NjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYW15YWIgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzQwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZhbml0aGEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoYXlhbSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIENoYW5uZWwgMTAgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoeWFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRFkgMzY1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFplZSBOZXdzIFV0dGFyIFByYWRlc2gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVUViBOZXR3b3JrIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEVzc2VsIFNoeWFtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMYW1oYXMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMjMwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTmV0d29yayAxOCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIElCTiBMb2ttYXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExpdmUgSW5kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1pIE1hcmF0aGkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJCUyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWFub3JhbWEgTmV3cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQkFHIEZpbG1zCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwNjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWmVlIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE1MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBaZWUgTmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExvayBTYWJoYSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS29sa2F0YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEJfQy05My41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW5zYXQ0Ql9DLTkzLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZlOTM5OTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0luc2F0NEJfQy05My41RQpAQCAtMCwwICsxLDE1NiBAQAorIyBJbnNhdCA0QiBAIDkzLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBEb29yZGFyc2hhbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBEZWhyYWR1bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgREQgUmFpcHVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBSYW5jaGkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEphbW11CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBIaXNzYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIENoYW5kaWdhcmgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIFBvcnQgQmxhaXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEREIEJpaGFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBERCBOb3J0aCBFYXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYyNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdW4gbmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERvb3JkYXJzaGFuIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNha3NoaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGF0YSBDb21tdW5pY2F0aW9ucyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjU0MjIwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTdW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDQtNzIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsNC03Mi4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZWJhNjVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDQtNzIuMEUKQEAgLTAsMCArMSwzNCBAQAorIyBJbnRlbDQgQCA3MkUKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODIzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbDkwNC02MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw5MDQtNjAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTFiY2NlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWw5MDQtNjAuMEUKQEAgLTAsMCArMSw5MCBAQAorIyBJbnRlbDkwNCBAIDYwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTA5MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTgwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTAxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxMDUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTUyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY3NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTAwMi0xLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMDAyLTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdiMmI2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTAwMi0xLjBXCkBAIC0wLDAgKzEsMTQ2IEBACisjIEludGVsc2F0IDEwMDIgQCAxLjBXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxMDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDkzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTkxOTEwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjA2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzNTYwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMS00My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTEtNDMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2FlOTEwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMTEtNDMuMFcKQEAgLTAsMCArMSwxMSBAQAorIyBJbnRlbHNhdCAxMSBAIDQzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5NDUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTEyLTQ1LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMi00NS4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjRiMGVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xMi00NS4wRQpAQCAtMCwwICsxLDEwNiBAQAorIyBJbnRlbHNhdCAxMiBAIDQ1LjBFCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE0NjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNDk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDcyOTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk1OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTUyMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1Nzg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE1OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAyCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNTkxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTU5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlST0xMT0ZGID0gQVVUTworCU1PRFVMQVRJT04gPSBQU0svOAorCVNUUkVBTV9JRCA9IDQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTE2MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJUk9MTE9GRiA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExNjczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCVJPTExPRkYgPSBBVVRPCisJTU9EVUxBVElPTiA9IFBTSy84CisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0xUi00NS4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMVItNDUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDUxMmM1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtMVItNDUuMFcKQEAgLTAsMCArMSwzMzEgQEAKKyMgSW50ZWxzYXQgMVIgQCA0NS4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ0NTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIzNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjE1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTA1NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTczNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MDU3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDExNzkwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDc3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTc0OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NDEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYxMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjA3NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDk2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODEwMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI5MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDc1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gODgyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTNSLTQzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0zUi00My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZmZjZWM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC0zUi00My4wVwpAQCAtMCwwICsxLDI1OSBAQAorIyBJbnRlbHNhdCAzUiBAIDQzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4OTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3MzYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTk5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjEwOTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NDI5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3ODEzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTkyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzA4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzEwOTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMjYxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDU3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTMwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgxMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNkItNDMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTZCLTQzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2OWU2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTZCLTQzLjBXCkBAIC0wLDAgKzEsMTE1IEBACisjIEludGVsc2F0IDZCIEAgNDMuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg4MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTcwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDUtNTAuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNS01MC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NjFiNjhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC03MDUtNTAuMFcKQEAgLTAsMCArMSwzNSBAQAorIyBJbnRlbHNhdCA3MDUgQCA1MC4wVworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzYxNzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcwNTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNy01My4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtNzA3LTUzLjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyODg2NmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTcwNy01My4wVwpAQCAtMCwwICsxLDE5IEBACisjIEludGVsc2F0IDcwNyBAIDUzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwMy0zNC41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQtOTAzLTM0LjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY2YmU2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwMy0zNC41VwpAQCAtMCwwICsxLDM1IEBACisjIEludGVsc2F0IDkwMyBAIDM0LjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMwMjEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDUtMjQuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwNS0yNC41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzBkMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDUtMjQuNVcKQEAgLTAsMCArMSw1MSBAQAorIyBJbnRlbHNhdCA5MDUgQCAyNC41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1MTkzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYxMTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MTExMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDctMjcuNVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0LTkwNy0yNy41VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZTZkNTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdC05MDctMjcuNVcKQEAgLTAsMCArMSw1MSBAQAorIyBJbnRlbHNhdCA5MDcgQCAyNy41VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDIxX0MtNTguMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0ludGVsc2F0MjFfQy01OC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NDY3MTU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDIxX0MtNTguMFcKQEAgLTAsMCArMSwyNzMgQEAKKyMgSW50ZWxzYXQgMjEgQCA1OC4wVyBDLUJBTkQKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTE5OTAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDkvMTAKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1MTQ2MDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDk5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyMjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjU5MTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNzAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDgvOQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2OTAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzY5MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNDk5OTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjYyMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk0MDAwMAkKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQxMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQzNF9DLTU1LjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDM0X0MtNTUuNVcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGIyMGZmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQzNF9DLTU1LjVXCkBAIC0wLDAgKzEsMzcxIEBACisjIEludGVsc2F0IDM0IEAgNTUuNVcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg4OTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNjAwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzYzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3OTk5MDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM3OTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjcwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzODcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTMzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTEwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTgzMzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU2MjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTY5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzEyMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMDU2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNQorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDk3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjI3MjAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODQwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MzYwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gMy81CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NDk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0NDMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTUxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTk5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM4ODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MTk5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDM5ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMyOTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM1OTAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NDAxMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDA3NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNjE2MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMzE5MDAwCisJSU5ORVJfRkVDID0gOC85CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDExMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxODUwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE3NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQ4X0MtMTY2LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9JbnRlbHNhdDhfQy0xNjYuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU2MWU2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSW50ZWxzYXQ4X0MtMTY2LjBFCkBAIC0wLDAgKzEsMTE2IEBACisjIEludGVsc2F0IDggQCAxNjYuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFZpYWNvbSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTb3V0aCBLb3JlYW4gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXJpcmFuZyBXb3JsZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEF1c3RyYWxpYW4gbmV0d29yayBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMyMzgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVkJTIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOQkMgVW5pdmVyc2FsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW50ZWxzYXQgbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NjkwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hpbmEgUmFkaW8gbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDI4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkhLIFdvcmxkIG5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MTgwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUGhpbGlwcGluZXMgTmV0d29yayBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1NTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0pDU2F0M0FfQy0xMjguMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL0pDU2F0M0FfQy0xMjguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjExYzYzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvSkNTYXQzQV9DLTEyOC4wRQpAQCAtMCwwICsxLDQ2IEBACisjIEpDU0FUIDNBIEAgMTI4LjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBUQVMgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRBUyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTWlyYWNsZW5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRBUyBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL01lYXNhdDNfQy05MS41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTWVhc2F0M19DLTkxLjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlY2NlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL01lYXNhdDNfQy05MS41RQpAQCAtMCwwICsxLDE2NiBAQAorIyBNZWFzYXQgMyBAIDkxLjVFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBTaG9wIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQW9yYSBUViBNdWxpdHBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIzMjAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTb2xhciBFbnRlcnRhaW5tZW50CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5hdGlvbmFsIEdlb2dyYXBoaWMgbXVzaWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE3MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBEWlJIIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFzY2VudCBNZWRpYSAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2xvYmVjYXN0IE11bHRpcGxleCAoTVBFRy00IFMvMikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzY5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzAzMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNreSBJbnRlcm5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVW4tbmFtZWQgTXVsaXRwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODM1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlRNIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTI1MjUwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSVE0gU2FyYXdhayBGZWVkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzk4NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEdsb2JlY2FzdCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgR2lueCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFlSIEFzaWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBbGwgU3BvcnRzIE5ldHdvcmsgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA3MjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy0xMC0zNy41VyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTlNTLTEwLTM3LjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmODkyYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy0xMC0zNy41VwpAQCAtMCwwICsxLDc1IEBACisjIE5TUyAxMCBAIDM3LjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODA4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIxNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy03LTIyLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtNy0yMi4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDg1ZDBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtNy0yMi4wVwpAQCAtMCwwICsxLDE3OSBAQAorIyBOU1MgNyBAIDIyLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzcxNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNjUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODI1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTkwNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTIxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE4NDIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzY5MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNjg5MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtODA2LTQwLjVXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OU1MtODA2LTQwLjVXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZiNWQwNTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05TUy04MDYtNDAuNVcKQEAgLTAsMCArMSw4NDMgQEAKKyMgTlNTIDgwNiBAIDQwLjVXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDM1MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTg2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzE3OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAxNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA1NzEyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjExMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1NDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MTg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY2NjcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNzgwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1MTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDg2ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzNDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjk1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk2MzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ4MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzU1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTE4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ4MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDcxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1NzEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzOTc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU5MjQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0Nzg1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI4MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEzMzEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTMxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjcxMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gODQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MDMwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY4NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4ODcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzOTEwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM0ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTk0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjY2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjY2OTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODk4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxOTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDcyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzMzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEwOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2NTQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxNzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTg0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjE0MjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIxMTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDEzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxOTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvTmFodWVsLTEtNzEuOFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05haHVlbC0xLTcxLjhXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY2YzM3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05haHVlbC0xLTcxLjhXCkBAIC0wLDAgKzEsNjcgQEAKKyMgTmFodWVsIDEgQCA3MS44VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTY1NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDgwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNDM5NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4NTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OaWxlc2F0MTAxKzEwMi03LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9OaWxlc2F0MTAxKzEwMi03LjBXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRhNmJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL05pbGVzYXQxMDErMTAyLTcuMFcKQEAgLTAsMCArMSwzMTQgQEAKKyMgTmlsZXNhdCAxMDEvMTAyICYgQXRsYW50aWMgQmlyZCBAIDdXCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzE5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3MjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzU4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwNzk2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc2NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MjMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg0MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkxOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc2MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMzAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzNDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM2MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzQzEtMTU2RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvT3B0dXNDMS0xNTZFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzZWRkYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzQzEtMTU2RQpAQCAtMCwwICsxLDE0NiBAQAorIyBPcHR1cyBDMSBzYXRlbGxpdGUgMTU2RQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjI3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzU4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjcwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM5ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0MDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjUwMTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NDczMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTY0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjk0NzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzgwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTk4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTQ3MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3ODAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvT3B0dXNEMS0xNjAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzRDEtMTYwLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlZjkwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL09wdHVzRDEtMTYwLjBFCkBAIC0wLDAgKzEsMTggQEAKKyMgT3B0dXMgRDEgc2F0ZWxsaXRlIDE2MC4wRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ1NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0ODMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QQVMtNDMuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1BBUy00My4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYjViZjkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QQVMtNDMuMFcKQEAgLTAsMCArMSwzNCBAQAorIyBQQVMgNi82Qi8zUiBhdCA0My4wVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1ODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDY2MTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODUwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1BhbGFwYUMyX0MtMTEzLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QYWxhcGFDMl9DLTExMy4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDBlNGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9QYWxhcGFDMl9DLTExMy4wRQpAQCAtMCwwICsxLDExNiBAQAorIyBQYWxhcGEgQzIgQCAxMTMuMEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFNDVFYgSmF3YSBUaW11cgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU0NUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZSSSBOYXNpb25hbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NTU1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUkNUSQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NTIwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgS0JTIFdvcmxkIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4MzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjA5NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJhbGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTI2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDIwODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIE9uZSBJbmRvbmVzaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDU0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYzMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEFOVFYgSW5kb25lc2lhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA1NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NTEwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgSW5kb3NpYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTYXRlbGluZG8gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFBJIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNjcwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TQlM2LTc0dyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0JTNi03NHcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjZjYTZjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0JTNi03NHcKQEAgLTAsMCArMSwxMSBAQAorIyBTQlMgNiBAIDc0VworIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjYxNjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMV9DLTEwMVcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzFfQy0xMDFXCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkYmI4NjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzFfQy0xMDFXCkBAIC0wLDAgKzEsNzUgQEAKKyMgU0VTIDEgQCAxMDEuMFcgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwMjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ3NzUwMDAKKwlJTk5FUl9GRUMgPSAzLzUKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjczNDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzM0MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3MzQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTkyNDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzItODcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzItODcuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWZhMjFhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU0VTMi04Ny4wVwpAQCAtMCwwICsxLDU5IEBACisjIEFNQyAzIEAgODcuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ4NTkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyX0MtODcuMFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzJfQy04Ny4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTkzNzJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMyX0MtODcuMFcKQEAgLTAsMCArMSw2NiBAQAorIyBTRVMgMiBAIDg3LjBXIEMtQkFORAorIyBmcmVxIHBvbCBzciBmZWMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MTQ5MDAwCisJSU5ORVJfRkVDID0gNy84CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDAwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MTIzMDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ3MTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzNzQzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDUwMDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAzOTQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQxNjQwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzk1MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFBTSy84CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NFUzNfQy0xMDNXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMzX0MtMTAzVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYTBkNDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TRVMzX0MtMTAzVwpAQCAtMCwwICsxLDExMSBAQAorIyBTRVMgMyBAIDEwM1cgQy1CQU5ECisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjgyMDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjUxMTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTQ5MDAwCisJSU5ORVJfRkVDID0gNS82CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMzkyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTI3MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCU1PRFVMQVRJT04gPSBRUFNLCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDQwNDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NDAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNjgwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUVBTSworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSA0MDIwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM0OTkwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlNT0RVTEFUSU9OID0gUFNLLzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE0MDI5MDAwCisJSU5ORVJfRkVDID0gMy80CisJTU9EVUxBVElPTiA9IFFQU0sKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gNDE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCU1PRFVMQVRJT04gPSBQU0svOAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TVDFfQy04MC4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU1QxX0MtODAuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDYwYTM5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU1QxX0MtODAuMEUKQEAgLTAsMCArMSw3NiBAQAorIyBTVDEgQCA4OC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgR1RWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NjkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBQlRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4MzMyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVmlkZW9sYW5kIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHVFYgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU5NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVmlkZW9sYW5kIG11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDaHVuZ3dhIFRlbGVjb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjcxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gOTI1NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5URCBUViBBc2lhLVBhY2lmaWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjg5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNS0xMTYuOFcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1NhdG1leC01LTExNi44VwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NmM4MDRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNS0xMTYuOFcKQEAgLTAsMCArMSw1NTUgQEAKKyMgU2F0bWV4IDUgQCAxMTYuOFcKKyMgZnJlcSBwb2wgc3IgZmVjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjMyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTUxMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMxNjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE2MjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1MDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTk1MTAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDExNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTI3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTYwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MjcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODEyNTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzMDcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNjE3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDc4MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5NjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0ODAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg3OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5ODQwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk1NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzEzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTgyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUzMTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODMyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTUzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTcwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4ODYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE3MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzQ4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkzMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzIyMzAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTM1MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ2NzkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTc2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzk4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjY2NjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc2NzUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkxMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE3MzMwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxOTMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzg4NTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDQ0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQzNDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzcyMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzAwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk3NjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ0MTAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4OTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MzUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0MDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTcyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzM2NDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDU1ODIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzgyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3MTIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk0NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDEwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5MTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NzYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjkyMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTYtMTEzLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TYXRtZXgtNi0xMTMuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTlhOGYzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2F0bWV4LTYtMTEzLjBXCkBAIC0wLDAgKzEsMTMxIEBACisjIFNhdG1leCA2IEAgMTEzLjBXCisjIGZyZXEgcG9sIHNyIGZlYworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDkwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMjU1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODIxMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDYwMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzUwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDc1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3ODIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNzIwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjMwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIxNzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAzODAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA5MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzM3MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzcwMDAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzYxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxMjAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1NjM1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9TaXJpdXMtNS4wRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2lyaXVzLTUuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWY5M2MzOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvU2lyaXVzLTUuMEUKQEAgLTAsMCArMSw1MTkgQEAKKyMgU2lyaXVzIDUuMEUKKyMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBraW5nb2ZzYXQubmV0IGluaSBmaWxlIDAwNDguaW5pCisjIGh0dHA6Ly9lbi5raW5nb2ZzYXQubmV0L3NhdGVsbGl0ZXMucGhwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMjY1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTEzMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTMwNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMTM0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDExMzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODYyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTAwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwNzMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTMwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjE2OTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjE4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCVNUUkVBTV9JRCA9IDEwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwlTVFJFQU1fSUQgPSAyMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMjA3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyMjYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTU0MDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIyNjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjg0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzMDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNTU0NzAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisJU1RSRUFNX0lEID0gMzAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCVNUUkVBTV9JRCA9IDQwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTIzNjAwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM3OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQxODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDM3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNDU2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUzIKKwlGUkVRVUVOQ1kgPSAxMjU3NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzOTIyMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ0NjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDk0MDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY4MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2ODg4MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjg3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY5NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjEwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjcxOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTMgorCUZSRVFVRU5DWSA9IDEyNzIyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMyCisJRlJFUVVFTkNZID0gMTI3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTQ4MDAwMAorCUlOTkVSX0ZFQyA9IDgvOQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzI4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE2MDAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsZWNvbTItOC4wVyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsZWNvbTItOC4wVwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Mzc4NzFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxlY29tMi04LjBXCkBAIC0wLDAgKzEsMTIyIEBACisjIFRlbGVjb20yIDguMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDExMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA3ODYwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjY2NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzg3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjQ3NDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTQyODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzNDYwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE1OTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjc1MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMzgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU2NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjQ5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGtvbTFfQy0xMDguMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbGtvbTFfQy0xMDguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTk0YjVlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsa29tMV9DLTEwOC4wRQpAQCAtMCwwICsxLDE0NiBAQAorIyBUZWxrb20gMSBAIDEwOC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgVGVsa29tIFZpc2lvbiBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTgwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZWxrb20gVmlzaW9uIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRlbGtvbSBWaXNpb24gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIFRpbW9yIExlc3RlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBFZHVrYXNpIDEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzg1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWUkkgS2FsYmFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUVlJJIFBhcHVhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc5NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUViBFZHVrYXNpIDIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODA3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRyYW5zIDcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTkwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWUkkgQWNlaAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwMTUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUkNUSSBKYXdhIFRpbXVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUcmFucyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUGFwdWEgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzU3MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEpUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwOTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RlbHN0YXIxMF9DLTc2LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTBfQy03Ni41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZWE2MzRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTBfQy03Ni41RQpAQCAtMCwwICsxLDE5NiBAQAorIyBUZWxzdGFyIDEwIEAgNzYuNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIFJhY2luZyBJbnRlcm5hdGlvbmFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDUwNjQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJbWFnZSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY1NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyMTQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHbG9iZSBDYXN0IEFzaWEgbXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY4MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVUJJIFdvcmxkIFRWIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODA2NjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVCSSBXb3JsZCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDY2MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRWt1c2hleSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3ODcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NjAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgRGlnYW50YSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3OTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI3NTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hhbm5lbCAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwODAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCb2lzaGFraGkgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDA5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDMwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRWIE1hbGRpdmVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2MzEyMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ2hhbm5lbCBJCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQzMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYW5nbGEgVmlzaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA0OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM2MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBLYW50aXB1ciBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwNTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQkJDIFdvcmxkIFNlcnZpY2UgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDA3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMDIwMDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTU5DIEluZG9uZXNpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTkRUViBBcmFiaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM3MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjg5MzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIElzbGFtaWMgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzYwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJhbmdsYWRlc2ggTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDE3MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc0MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEyLTE1LjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMTItMTUuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWRkMzY3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjEyLTE1LjBXCkBAIC0wLDAgKzEsMTk0IEBACisjIFRlbHN0YXIgMTIgMTUuMFcKKyMgZnJlcSBwb2wgc3IgZmVjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5ODgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODkzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTIzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE5Mjc5MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExMjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxODM4NjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTUwMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTgzODYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE1MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxOTI3OTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzE5ODAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNjc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcwOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMTk1MDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODA2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDc1OTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE0NzE0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwODIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzOTM1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxMTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NzcyMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzc3NzAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTY2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTczMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzUwMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTI0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI2NDcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMTkwMDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTg5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1MDMwMDAKKwlJTk5FUl9GRUMgPSAxLzIKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYwODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE5Mjc5MDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MTUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTE5MzkwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjE4X0MtMTM4LjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UZWxzdGFyMThfQy0xMzguMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYThhZTMwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGVsc3RhcjE4X0MtMTM4LjBFCkBAIC0wLDAgKzEsNDYgQEAKKyMgVGVsc3RhciAxOCBAIDEzOC4wRSBDLUJBTkQKKyMgR2VuZXJhdGVkIGJ5IFBpZXRybyBDYXNvYXIKKyMgMXN0IE1hcmNoIDIwMDkKKworIyBNUEVHLTIgJiBNUEVHLTQgUVBTSyAoRFZCUy9TMikKKyMgZnJlcSBwb2wgc3IgZmVjCisKKyMgSS1Ta3ktTmV0IE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBJLVNreS1OZXQgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMDAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExOVFYgTGFvcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAzNDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEJCQyBXb3JsZCBTZXJ2aWNlIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMjQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzI1NTAwMAorCUlOTkVSX0ZFQyA9IDEvMgorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMUFfQy0xMjAuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb20xQV9DLTEyMC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWJjYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMUFfQy0xMjAuMEUKQEAgLTAsMCArMSw2NiBAQAorIyBUaGFpY29tIDFBIEAgMTIwLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBUVjMgQ2FtYm9kaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNzI1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMyNTUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBQYW55YXBpd2F0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc0NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQ1ROIENhbWJvZGlhIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM4NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gOTYyODAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEthc2lrb3JuIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQmF5b24gVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTE2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzNTkwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSYWRpbyBUaGFpbGFuZCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTM1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE4MDgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTJfQy03OC41RSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhhaWNvbTJfQy03OC41RQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNDJlNzBiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tMl9DLTc4LjVFCkBAIC0wLDAgKzEsOTYgQEAKKyMgVGhhaWNvbSAyIEAgNzguNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEJCVFYgQ2hhbm5lbCA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzc2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDU5MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTQlQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzODAzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTQ0NTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE1DT1QgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzg4ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDE1NjI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUm95YWwgVGhhaSBBcm15IFRWIDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNjI1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWkgVFYgQ29sb3IgQ2hhbm5lbCAzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzk2NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSVSBUViAxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gNDAwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEwODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZW4gVFYgJiBSaWNoIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDE2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjMwNTAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIE5CVCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQxMDYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Njg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVGhhaSBQQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MTQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgxNTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tNV9DLTc4LjVFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaGFpY29tNV9DLTc4LjVFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxNzFhOTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1RoYWljb201X0MtNzguNUUKQEAgLTAsMCArMSwyMTYgQEAKKyMgVGhhaWNvbSA1IEAgNzguNUUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBQaWV0cm8gQ2Fzb2FyCisjIDFzdCBNYXJjaCAyMDA5CisKKyMgTVBFRy0yICYgTVBFRy00IFFQU0sgKERWQlMvUzIpCisjIGZyZXEgcG9sIHNyIGZlYworCisjIEVUQyBJbmRpYSBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBFdXJvcGUgTWVkaWEgUG9ydCBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDMxMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMTMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBOZXBhbCBUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDMyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBDVFY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ0ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgKE1QRUctNCBTLzIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ1MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDEzMzMzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgQXZlbnVlcyBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0NTQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFBTSSBDaGFubmVsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzQ2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAxNTM4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgU2FnYXJtYXRoYSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM0ODkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIERoaSBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEtvcmVhbiBDZW50cmFsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUwNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMzNjcwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBHYW5nIENhcnRvb24gQ2hhbm5lbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTg1MjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIExhbyBTdGFyIENoYW5uZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTIxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5MTcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUaGFpY29tIE11bHRpcGxleAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBSUlNhdCBHbG9iYWwgTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NTEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMzMzMzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFZUViBNYWxkaXZlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NjIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMS8yCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTVJUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTc0MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNzQ5MjAwMAorCUlOTkVSX0ZFQyA9IDIvMworCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWljb20gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU4NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjY2NzAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFRoYWljb20gTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzYwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI2NjY3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTVJUViBNdWx0aXBsZXgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjE3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDEyNTAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgUlJTYXQgR2xvYmFsIE5ldHdvcmsgTXVsdGlwbGV4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVFZLIENhbWJvZGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzY2NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3MDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhvci0xLjBXIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9UaG9yLTEuMFcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGI0NjI2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVGhvci0xLjBXCkBAIC0wLDAgKzEsNTA2IEBACisjIFRob3IgMS4wVworIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA3NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDc3ODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4MDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDgwOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NDEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg0MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA4NzIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDg3MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkwMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5MzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDkzNDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyMTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTIyOTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNDcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI2MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEyNzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTI5MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMyNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzMjUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ1MDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTMyNTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzQxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzNTcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMzcyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEzODkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE0MjEwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDUwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNDM0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0NTAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MjcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc0NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4NTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgyMzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg2MjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4ODEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTkzODAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk3NzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5OTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjAxNTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIwMzQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA3LzgKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjA3MzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDkyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEzMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxNDkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE2OTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIxODgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjIyNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjMwMzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjc4MDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjM0MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMzgwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTIzOTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNDE4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI0NTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjQ3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI4MDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1R1cmtzYXQtNDIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1R1cmtzYXQtNDIuMEUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM2M2FlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVHVya3NhdC00Mi4wRQpAQCAtMCwwICsxLDgxOCBAQAorIyBUdXJrc2F0IDQyLjBFCisjIGZyZXEgcG9sIHNyIGZlYworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTY4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ1NTcwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk3MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTA5OTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDAzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIxNzUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAwNzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMTEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjEyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDE0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIwNTAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTAxODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTUwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwMjgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMDgzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg4ODgwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTEzNjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTU5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI1OTYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTE2MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNjYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExMTc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU1NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI5MTYwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU3NjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTU4MTAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTYwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDM3NTAwMDAKKwlJTk5FUl9GRUMgPSAyLzMKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTcxMjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYzMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MTYwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzI5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDE1NTU1MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjkxMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3MzkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzQ4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzUzMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMzAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzU0MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc1ODAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyOTYyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1OTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NjIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjE1NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzY1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc3MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTc3MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3NzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQyMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjIyMjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExNzc3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMxNTAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTc4MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyODE1MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE3OTQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA1NjMyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MDQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ0NDQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTgzMDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4MzkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDQ0NDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODQ2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg1MjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NTgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODY3MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQ0NDQwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg3NDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzNDAwMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4NzgwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMzc1MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODgyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjUwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg4NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE4OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxMjgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExODkyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI5NjAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTg5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MDUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA2NjY2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5MTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjQ0NDQwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk1MTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA4ODAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NTkwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTYzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIzMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk2NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0MzQwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE5NzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzkwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDExOTczMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDIyNDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk4NDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMTk5NjAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNjAwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDAyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDA4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDQwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDE1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDIyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNTM4MDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMDI4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDU1NzAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyMTI2MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDY2NjYwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjEyNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDc0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0MDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIyMjIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjE0MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MTgwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MjQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0MjUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0NDQ0MDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1MzYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyOTYyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMTI1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI1NjMwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwMAorCUlOTkVSX0ZFQyA9IDcvOAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNTkwMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMwMDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjU5NTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjk2MTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjA5MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM3MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjYxNDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2MzMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM2MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDgwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjM4MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDI0MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY0NzAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAzMzMzMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNjUyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDM5MDAwMDAKKwlJTk5FUl9GRUMgPSA1LzYKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMjY2MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSA5MTUwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2NzIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA4ODg4MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyODAwMDAwCisJSU5ORVJfRkVDID0gNS82CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTYwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjIyMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI2OTkwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MDIwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyMjg1MDAwCisJSU5ORVJfRkVDID0gNy84CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTI3MTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNTkyNTAwMAorCUlOTkVSX0ZFQyA9IDUvNgorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEyNzMxMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDMzMzMwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXMvVmluYXNhdDFfQy0xMzIuMEUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1ZpbmFzYXQxX0MtMTMyLjBFCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2ZjlhY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1ZpbmFzYXQxX0MtMTMyLjBFCkBAIC0wLDAgKzEsMjYgQEAKKyMgVklOQVNBVCAxIEAgMTMyLjBFIEMtQkFORAorIyBHZW5lcmF0ZWQgYnkgUGlldHJvIENhc29hcgorIyAxc3QgTWFyY2ggMjAwOQorCisjIE1QRUctMiAmIE1QRUctNCBRUFNLIChEVkJTL1MyKQorIyBmcmVxIHBvbCBzciBmZWMKKworIyBWVFYgTXVsdGlwbGV4IChWVFYgMSwgVlRWIDIsIFZUViAzLCBWVFYgNCwgVlRWNikKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNDEzMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDk3NjYwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBWT1YgVFYgKFZvaWNlIG9mIFZpZXROYW0pCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUyOTAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyNTAwMDAwCisJSU5ORVJfRkVDID0gMi8zCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi1zL1lhbWFsMjAxLTkwLjBFIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9ZYW1hbDIwMS05MC4wRQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZDRiOTdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItcy9ZYW1hbDIwMS05MC4wRQpAQCAtMCwwICsxLDIwOSBAQAorIyBZYW1hbDIwMSBAIDkwRQorIyBmcmVxIHBvbCBzciBmZWMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAxMDk5MDAwMAorCVBPTEFSSVpBVElPTiA9IFZFUlRJQ0FMCisJU1lNQk9MX1JBVEUgPSAyMTcwMDAwCisJSU5ORVJfRkVDID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDEwOTk1MDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwNTcwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY0NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTEwOTIwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjY0NzAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTExNDUwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjIyMjIwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMTE2NzEwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMTgyMDAwMDAKKwlJTk5FUl9GRUMgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgWWFtYWwyMDEgQCA5MEUgQy1CQU5ECisjIEdlbmVyYXRlZCBieSBSb21hbiBLYXNoY2hlZXYKKyMgTWFyIDMwLCAyMDA4CisjIGZyZXEgcG9sIHNyIGZlYworCisjIE5hdVRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzUzNjAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDI1MzIwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVHVya21lbmlzdGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzU1MzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDIwMDAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIENOTAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM1NzcwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAyNjI2MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE5vcmQgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNTg4MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZWxla29tcGFuaWphIE9UVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSA0Mjg1MDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIE9ibGFzdG5vZSBUZWxldmlkZW5pZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2MDMwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gNDI4NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBDTkwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjA1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjYyNjAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBHYXNjb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzNjQ1MDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gMjgwMDAwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU3BhcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM2NzQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNzUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUViBHdWJlcm5pYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM3MjUwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzMjAwMDAwCisJSU5ORVJfRkVDID0gMy80CisJSU5WRVJTSU9OID0gQVVUTworCisjIFl1emhuaXkgUmVnaW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwMDAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyODUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUm9zdG92IFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJTCisJRlJFUVVFTkNZID0gMzkwNzAwMAorCVBPTEFSSVpBVElPTiA9IEhPUklaT05UQUwKKwlTWU1CT0xfUkFURSA9IDQyNjUwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgT1JUUksgMTIgS2FuYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSAzOTEyMDAwCisJUE9MQVJJWkFUSU9OID0gSE9SSVpPTlRBTAorCVNZTUJPTF9SQVRFID0gNDI5NTAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBPMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5NDQwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAxNTU1MDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBLbHViIFB1dGVzaGVzdHZpeQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDM5ODAwMDAKKwlQT0xBUklaQVRJT04gPSBIT1JJWk9OVEFMCisJU1lNQk9MX1JBVEUgPSAzODAwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBNdXNpYyBCb3gKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlMKKwlGUkVRVUVOQ1kgPSA0MDQyMDAwCisJUE9MQVJJWkFUSU9OID0gVkVSVElDQUwKKwlTWU1CT0xfUkFURSA9IDg2ODEwMDAKKwlJTk5FUl9GRUMgPSAzLzQKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmV0U2VydmljZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCUworCUZSRVFVRU5DWSA9IDQwODQwMDAKKwlQT0xBUklaQVRJT04gPSBWRVJUSUNBTAorCVNZTUJPTF9SQVRFID0gMjUwMDAwMAorCUlOTkVSX0ZFQyA9IDMvNAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hZC1BbmRvcnJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hZC1BbmRvcnJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0MzI1MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2FkLUFuZG9ycmEKQEAgLTAsMCArMSw0OSBAQAorIyBEVkItVCBBbmRvcnJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdC1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F0LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZmJmZGNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdC1BbGwKQEAgLTAsMCArMSw1OTEgQEAKKyMgQXVzdHJpYSwgYWxsIERWQi1UIHRyYW5zbWl0dGVycyBydW4gYnkgT1JTCisjIENyZWF0ZWQgZnJvbQorIyBodHRwOi8vd3d3Lm9ycy5hdC9maWxlYWRtaW4vdXNlcl91cGxvYWQvZG93bmxvYWRzL0RWQi1UX0thbmFsYmV6ZWljaG51bmdlbl91bmRfTWl0dGVuZnJlcXVlbnplbi5wZGYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUFkZWxhaWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41Mzc2ZGQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZQpAQCAtMCwwICsxLDc5IEBACisjIEF1c3RyYWxpYSAvIEFkZWxhaWRlIC8gTXQgTG9mdHkKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzRCBUcmlhbCBBdXN0cmFsaWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUFkZWxhaWRlRm9vdGhpbGxzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZUZvb3RoaWxscwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43M2RiZTNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1BZGVsYWlkZUZvb3RoaWxscwpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIEFkZWxhaWRlIC8gR3JlbmZlbGwgU3RyZWV0CisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQmFsbGFyYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJhbGxhcmF0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQzOGFkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJhbGxhcmF0CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQmFsbGFyYXQKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CZW5kaWdvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CZW5kaWdvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3ZjA5Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUJlbmRpZ28KQEAgLTAsMCArMSwzMjYgQEAKKyMgQXVzdHJhbGlhIC8gQmVuZGlnbyAoTXQgQWxleGFuZHJpYSB0cmFuc21pdHRlcnMpCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NTI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3NjI1MDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgyNTAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM0MjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIFVOSzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBVTksyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzExNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1CcmlzYmFuZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQnJpc2JhbmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTIzY2I5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQnJpc2JhbmUKQEAgLTAsMCArMSw3OSBAQAorIyBBdXN0cmFsaWEgLyBCcmlzYmFuZSAoTXQgQ29vdC10aGEgdHJhbnNtaXR0ZXJzKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMxIERpZ2l0YWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhaXJucyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ2Fpcm5zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI3MmM2MDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhaXJucwpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIENhaXJucyAoTXQgQmVsbGVuZGVuLUtlciB0cmFuc21pdHRlcnMpCisjIEFCQyBWSEYgOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNFVkVOIFZIRiAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBWSEYgMTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBURU4gVkhGIDYgKEV4cGVjdGVkIFN0YXJ0IERhdGUgRGVjIDIwMDYpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRiAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ2FuYmVycmEtQmxhY2stTXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhbmJlcnJhLUJsYWNrLU10Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3ODNlOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNhbmJlcnJhLUJsYWNrLU10CkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQ2FuYmVycmEgLyBCbGFjayBNdAorIyBBQkMgKEFCQzgpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gKENCTjEyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIChOaW5lIChXSU4xMSkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gKENUQzYpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIChTQlM3KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNvb25hYmFyYWJyYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUNvb25hYmFyYWJyYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODNhNGU2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtQ29vbmFiYXJhYnJhbgpAQCAtMCwwICsxLDU3IEBACisjIEF1c3RyYWxpYSAvIENvb25hYmFyYWJyYW4KKyMKKyMKKyMgQUJDIFZIRjEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVEVOIFVIRjQ2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBVSEY0NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFZIRjExCisjVCA2MTgyNTAwMDAgN01IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzE2IE5PTkUKKyMgU0JTIFVIRjQ0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EYXJ3aW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LURhcndpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZTc3MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EYXJ3aW4KQEAgLTAsMCArMSw2NSBAQAorIyBBQkMgKFVIRiAzMCkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIChVSEYgMzEpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIChVSEYgMjkpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyAoVUhGIDMyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIERhcndpbiBEaWdpdGFsIFRlbGV2aXNpb24gKFVIRiAzMykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EZXZvbnBvcnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LURldm9ucG9ydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYTM5ZTBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1EZXZvbnBvcnQKQEAgLTAsMCArMSw5NSBAQAorIyBBdXN0cmFsaWEgLyBUYXNtYW5pYSAvIERldm9ucG9ydAorIworIyBCcmV0dCBTIEhhbGxldHQgT2N0b2JlciAyMDA5ICwgbWF5IG5vdCBiZSBjb21wbGV0ZSAhIQorIworIyBBQkMgVkhGIDU3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDIERpZ2l0YWwgNDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVkhGIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA5MjUwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgRGlnaXRhbCAzOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0NUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzQ5ODAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzQ5ODAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVERUCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1NDk4MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1GcmFzZXJDb2FzdC1CdW5kYWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUZyYXNlckNvYXN0LUJ1bmRhYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYTkzZDgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1GcmFzZXJDb2FzdC1CdW5kYWJlcmcKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBRTEQgLyBGcmFzZXIgQ29hc3QgLSBCdW5kYWJlcmcgLyBNdCBHb29uYW5lbWFuCisjIEFCQyBWSEY5QQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gVkhGNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBXaWRlIEJheSBWSEYxMAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzIFRlbiBWSEY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR29sZENvYXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Hb2xkQ29hc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWYzYTc0YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR29sZENvYXN0CkBAIC0wLDAgKzEsMTA4IEBACisjIERWQi1UIGZyZXF1ZW5jaWVzICYgbW9kdWxhdGlvbiBmb3IgdGhlIEdvbGQgQ29hc3QsIEF1c3RyYWxpYSAoTXQgVGFtYm9yaW5lKQorIyBTZWUgaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249R29sZCtDb2FzdAorIyBhbmQgaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9zZWN0aW9uSUQ9MTIwCisjCisjIEFCQyAoVUhGIDYyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyAoVUhGIDM2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gKFVIRiA1MykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTiAoVUhGIDY4KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFByaW1lIChVSEYgNjUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU291dGhlcm4gQ3Jvc3MgVGVuIChVSEYgNDMpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSAoVUhGIDU5KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiAoVUhGIDU2KQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvdWxidXJuLVJvY2t5X0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUdvdWxidXJuLVJvY2t5X0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjU5ZDllYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtR291bGJ1cm4tUm9ja3lfSGlsbApAQCAtMCwwICsxLDY2NCBAQAorIyBBdXN0cmFsaWEgLyBHb3VsYnVybiAvIFJvY2t5IEhpbGwKKyMKKyMgU2Nhbm5lZCAzMS8wNy8yMDE2IC0gQWxleCBGZXJyYXJhIChhbGV4QHJlY2VwdGl2ZWl0LmNvbS5hdSkKKworW05pbmUgQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDIwNTUKKwlWSURFT19QSUQgPSAzNTMKKwlBVURJT19QSUQgPSAzNTQKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMzU1CisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbOUhEIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyMjQ3CisJVklERU9fUElEID0gMTc2MQorCUFVRElPX1BJRCA9IDE3NjIgMTc2MyA4MDI1CisJUElEXzBiID0gODAyNgorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbTmluZSBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjIxNQorCVZJREVPX1BJRCA9IDM1MworCUFVRElPX1BJRCA9IDM1NAorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAzNTUKKwlQSURfMDUgPSA4MDI1CisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1s5R2VtXQorCVNFUlZJQ0VfSUQgPSAyMDg3CisJVklERU9fUElEID0gMTcxMQorCUFVRElPX1BJRCA9IDE3MTIKKwlQSURfMGIgPSA4MDI2CisJUElEXzA2ID0gMTcxMworCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzlHbyFdCisJU0VSVklDRV9JRCA9IDIxMTkKKwlWSURFT19QSUQgPSAxNzIxCisJQVVESU9fUElEID0gMTcyMgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAxNzIzCisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbOUxpZmVdCisJU0VSVklDRV9JRCA9IDIyNzkKKwlWSURFT19QSUQgPSAxNzcxCisJQVVESU9fUElEID0gMTc3MgorCVBJRF8wYiA9IDgwMjYKKwlQSURfMDYgPSAxNzczCisJUElEXzA1ID0gODAyNQorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbWUVTU0hPUF0KKwlTRVJWSUNFX0lEID0gMjE1MQorCVZJREVPX1BJRCA9IDE3MzEKKwlBVURJT19QSUQgPSAxNzMyCisJUElEXzBiID0gODAyNgorCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FzcGlyZV0KKwlTRVJWSUNFX0lEID0gMjE4MworCVZJREVPX1BJRCA9IDE3NDEKKwlBVURJT19QSUQgPSAxNzQyCisJUElEXzBiID0gODAyNgorCVBJRF8wNSA9IDgwMjUKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMTkyMQorCVZJREVPX1BJRCA9IDEyMgorCUFVRElPX1BJRCA9IDUyMgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbV0lOIENhbmJlcnJhIEhEXQorCVNFUlZJQ0VfSUQgPSAxOTM5CisJVklERU9fUElEID0gMTI1CisJQVVESU9fUElEID0gNTI1IDcyNQorCVBJRF8wYiA9IDEwMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbT05FIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAxOTIyCisJVklERU9fUElEID0gMTIzCisJQVVESU9fUElEID0gNTIzCisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzIzCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tFTEVWRU4gQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjYKKwlWSURFT19QSUQgPSAxMjQKKwlBVURJT19QSUQgPSA1MjQKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBORVRXT1JLXQorCVNFUlZJQ0VfSUQgPSAxOTM2CisJVklERU9fUElEID0gMTI2CisJQVVESU9fUElEID0gNTI2CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzI2CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tUVlNOXQorCVNFUlZJQ0VfSUQgPSAxOTI4CisJVklERU9fUElEID0gMTE2CisJQVVESU9fUElEID0gNTE2CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzE2CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tHT0xEXQorCVNFUlZJQ0VfSUQgPSAxOTI3CisJVklERU9fUElEID0gMTE1CisJQVVESU9fUElEID0gNTE1CisJUElEXzBiID0gMTAyCisJUElEXzA2ID0gNzE1CisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tPTkUgQ2FuYmVycmFdCisJU0VSVklDRV9JRCA9IDE5MjUKKwlWSURFT19QSUQgPSAxMjMKKwlBVURJT19QSUQgPSA1MjMKKwlQSURfMGIgPSAxMDIKKwlQSURfMDYgPSA3MjMKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1dJTiBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMTkyNAorCVZJREVPX1BJRCA9IDEyMgorCUFVRElPX1BJRCA9IDUyMgorCVBJRF8wYiA9IDEwMgorCVBJRF8wNiA9IDcyMgorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyMzc0CisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAwCisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbUFJJTUU3IENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAxCisJVklERU9fUElEID0gMjc0MAorCUFVRElPX1BJRCA9IDI3NDEKKwlQSURfMGIgPSAyNzQ5CisJUElEXzA2ID0gMjc0NQorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbN1RXTyBDYW5iZXJyYV0KKwlTRVJWSUNFX0lEID0gMjQwMgorCVZJREVPX1BJRCA9IDQ2MjAKKwlBVURJT19QSUQgPSA0NjIxCisJUElEXzBiID0gMjc0OQorCVBJRF8wNiA9IDQ2MjUKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworWzdtYXRlIENhbmJlcnJhXQorCVNFUlZJQ0VfSUQgPSAyNDAzCisJVklERU9fUElEID0gNDYzMAorCUFVRElPX1BJRCA9IDQ2MzIgNDYzNQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW2lzaG9wdHZdCisJU0VSVklDRV9JRCA9IDI0MDUKKwlWSURFT19QSUQgPSA0NjUwCisJQVVESU9fUElEID0gNDY1MQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1JBQ0lORy5DT01dCisJU0VSVklDRV9JRCA9IDI0MDgKKwlWSURFT19QSUQgPSA0NjgwCisJQVVESU9fUElEID0gNDY4MQorCVBJRF8wYiA9IDI3NDkKKwlGUkVRVUVOQ1kgPSA2Mjc1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQyBOZXdzIDI0XQorCVNFUlZJQ0VfSUQgPSA2NzIKKwlWSURFT19QSUQgPSA1MTYKKwlBVURJT19QSUQgPSA2NTQgNTgwIDU1MDAKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQ10KKwlTRVJWSUNFX0lEID0gNjczCisJVklERU9fUElEID0gNTEyCisJQVVESU9fUElEID0gNjUwCisJUElEXzBiID0gNTUwMSA1MDAwCisJUElEXzA2ID0gNTc2CisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbQUJDMi9LSURTXQorCVNFUlZJQ0VfSUQgPSA2NzQKKwlWSURFT19QSUQgPSA1MTMKKwlBVURJT19QSUQgPSA2NTEKKwlQSURfMGIgPSA1NTAxIDUwMDAKKwlQSURfMDYgPSA1NzcKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tBQkNdCisJU0VSVklDRV9JRCA9IDY3NQorCVZJREVPX1BJRCA9IDUxMgorCUFVRElPX1BJRCA9IDY1MAorCVBJRF8wYiA9IDU1MDEgNTAwMAorCVBJRF8wNiA9IDU3NgorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0FCQzNdCisJU0VSVklDRV9JRCA9IDY3NgorCVZJREVPX1BJRCA9IDUxNAorCUFVRElPX1BJRCA9IDY1MgorCVBJRF8wYiA9IDU1MDEgNTAwMAorCVBJRF8wNiA9IDU3OAorCVBJRF8wNSA9IDU1MDAKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW0RvdWJsZSBKXQorCVNFUlZJQ0VfSUQgPSA2NzgKKwlBVURJT19QSUQgPSA2OTAKKwlQSURfMGIgPSA1NTAxCisJUElEXzA1ID0gNTUwMAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbQUJDIEphenpdCisJU0VSVklDRV9JRCA9IDY3OQorCUFVRElPX1BJRCA9IDcwMAorCVBJRF8wYiA9IDU1MDEKKwlQSURfMDUgPSA1NTAwCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tTQlMgT05FXQorCVNFUlZJQ0VfSUQgPSA4NDkKKwlWSURFT19QSUQgPSAxNjEKKwlBVURJT19QSUQgPSA4MQorCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQxCisJUElEXzA1ID0gNzg0OQorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIEhEXQorCVNFUlZJQ0VfSUQgPSA4NTMKKwlWSURFT19QSUQgPSAxMDIKKwlBVURJT19QSUQgPSAxMDMKKwlQSURfMGIgPSA3MDAwIDUwMDAKKwlQSURfMDYgPSA0MworCVBJRF8wNSA9IDc4NTMKKwlGUkVRVUVOQ1kgPSA2MTM1MDAwMDAKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCUJBTkRXSURUSF9IWiA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisJQ09ERV9SQVRFX0hQID0gTk9ORQorCUNPREVfUkFURV9MUCA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJSElFUkFSQ0hZID0gTk9ORQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKworW1NCUyBUV09dCisJU0VSVklDRV9JRCA9IDg1MAorCVZJREVPX1BJRCA9IDE2MgorCUFVRElPX1BJRCA9IDgzCisJUElEXzBiID0gNzAwMCA1MDAwCisJUElEXzA2ID0gNDIKKwlQSURfMDUgPSA3ODUwCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tGb29kIE5ldHdvcmtdCisJU0VSVklDRV9JRCA9IDg1MQorCVZJREVPX1BJRCA9IDE2MworCUFVRElPX1BJRCA9IDg1CisJUElEXzBiID0gNzAwMCA1MDAwCisJUElEXzA2ID0gNDQKKwlQSURfMDUgPSA3ODQ5CisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlCQU5EV0lEVEhfSFogPSAwCisJSU5WRVJTSU9OID0gQVVUTworCUNPREVfUkFURV9IUCA9IE5PTkUKKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUhJRVJBUkNIWSA9IE5PTkUKKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisKK1tOSVRWXQorCVNFUlZJQ0VfSUQgPSA4NTIKKwlWSURFT19QSUQgPSAxNjQKKwlBVURJT19QSUQgPSA4NworCVBJRF8wYiA9IDcwMDAgNTAwMAorCVBJRF8wNiA9IDQ1CisJUElEXzA1ID0gNzg1MgorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDFdCisJU0VSVklDRV9JRCA9IDg2MgorCUFVRElPX1BJRCA9IDIwMQorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDJdCisJU0VSVklDRV9JRCA9IDg2MworCUFVRElPX1BJRCA9IDIwMgorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCitbU0JTIFJhZGlvIDNdCisJU0VSVklDRV9JRCA9IDg2NAorCUFVRElPX1BJRCA9IDIwMworCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJQkFORFdJRFRIX0haID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwlDT0RFX1JBVEVfSFAgPSBOT05FCisJQ09ERV9SQVRFX0xQID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlISUVSQVJDSFkgPSBOT05FCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhlcnZleV9CYXktR2hvc3RfSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtSGVydmV5X0JheS1HaG9zdF9IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUzNTg2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhlcnZleV9CYXktR2hvc3RfSGlsbApAQCAtMCwwICsxLDgxIEBACisjIEF1c3RyYWxpYSAvIEhlcnZleSBCYXkgLyBHaG9zdCBIaWxsCisjCisjCisjIEFCQyBVSEY1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuIFVIRjU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBVSEY2MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBVSEY2OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEYyOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRjM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ib2JhcnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LUhvYmFydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTRjNTNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ib2JhcnQKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBUYXNtYW5pYSAvIEhvYmFydAorIyBBQkMgVkhGIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgVkhGIDlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQ1QgVkhGIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOIFZIRiA3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBURFQgVkhGIDExCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NYWNrYXkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1hY2theQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mODk0MDA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NYWNrYXkKQEAgLTAsMCArMSw2OCBAQAorIyBBdXN0cmFsaWEgLyBNYWNrYXkgKE10IEJsYWNrd29vZCB0cmFuc21pdHRlcnMpCisjIGF1ZnJlcT0oKFVIRiBjaGFubmVsIG51bWJlcikqOCszMDYpCisKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOIERpZ2l0YWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Nzg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTb3V0aGVybiBDcm9zcyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWVsYm91cm5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjNzQyZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZQpAQCAtMCwwICsxLDg4IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMzAzMzEgMSAwIFRFUlJFU1RSSUFMIEFVIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IEF1c3RyYWxpYSAvIE1lbGJvdXJuZSAoTXQgRGFuZGVub25nIHRyYW5zbWl0dGVycykKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTA4LTE3CisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogPHlvdXIgbmFtZSBvciBlbWFpbCBoZXJlPgorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBTZXZlbiBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBNZWxib3VybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIE5ldHdvcmsgQXVzdHJhbGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5ldHdvcmsgVEVOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQyBNZWxib3VybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQzMxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtU2VsYnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZS1TZWxieQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMjE5NDY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtU2VsYnkKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBNZWxib3VybmUgKFNlbGJ5IFJlcGVhdGVyKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtVXB3ZXkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1lbGJvdXJuZS1VcHdleQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NzhlMmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1NZWxib3VybmUtVXB3ZXkKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBNZWxib3VybmUgKFVwd2V5IFJlcGVhdGVyKQorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyMDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1pZE5vcnRoQ29hc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU1pZE5vcnRoQ29hc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzE0ZDhkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtTWlkTm9ydGhDb2FzdApAQCAtMCwwICsxLDEzMSBAQAorIyBBdXN0cmFsaWEgQUJDIE1pZCBOb3J0aCBDb2FzdAorIyBBQkMgbWlkZGxlIGJyb3RoZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5CTiBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBNaWRkbGUgQnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBtaWRkbGUgYnJvdGhlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgQUJDIE1vb21iaWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOIE1vb21iaWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gTW9vbWJpbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBNb29tYmlsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjA2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1OZXdjYXN0bGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LU5ld2Nhc3RsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZDYzNGU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1OZXdjYXN0bGUKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBOZXdjYXN0bGUKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1QZXJ0aCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM2ZmIwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGgKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBQZXJ0aAorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbiBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZSBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmV0d29yayBURU4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoX1JvbGV5c3RvbmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVBlcnRoX1JvbGV5c3RvbmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjAyY2MyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtUGVydGhfUm9sZXlzdG9uZQpAQCAtMCwwICsxLDY2IEBACisjIEF1c3RyYWxpYSAvIFBlcnRoIChSb2xleXN0b25lIHRyYW5zbWl0dGVyKQorIyBTQlMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNldmVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVNwZW5jZXJHdWxmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TcGVuY2VyR3VsZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTgzMTEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TcGVuY2VyR3VsZgpAQCAtMCwwICsxLDQwIEBACisjIEF1c3RyYWxpYSAvIFNvdXRoIEF1c3RyYWxpYSAvIFB0IFBpcmllIChUSEUgQkxVRkYpCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdW5zaGluZUNvYXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdW5zaGluZUNvYXN0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmNmY1ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN1bnNoaW5lQ29hc3QKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBTdW5zaGluZSBDb2FzdAorIyBTQlM0MCBTQlMgKioqCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUTlE0NCAxMCAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQzQxIEFCQyAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVFE0MiA3ICoqKgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFJUUTQzIFdJTiAqKioKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdXRoZXJsYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TdXRoZXJsYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwM2Y0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVN1dGhlcmxhbmQKQEAgLTAsMCArMSw2MyBAQAorIyBBdXN0cmFsaWEgLyBTdXRoZXJsYW5kCisjCisjIEF1c3RyYWxpYSBtb2R1bGF0aW9uIHBhcmFtczoKKyMgLSBodHRwOi8vd3d3LmRiYS5vcmcuYXUvaW5kZXguYXNwP3NlY3Rpb25JRD0xMjAKKyMKKyMKKyMgTm9ydGggKEJyb2FkY2FzdCBTaXRlIEVzY2FycG1lbnQgUm9hZCBCUk9LRVJTIE5PU0UpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtOb3J0aAorIworI0NoYW5uZWwgNyBzdGF0aW9ucworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjQ2hhbm5lbCA5IGJ1bmRsZQorIyBUIDE5MTUwMDAwMCA3TUh6IEFVVE8gQVVUTyBBVVRPIEFVVE8gQVVUTyBBVVRPCisjT25lIGFuZCBDaGFubmVsIDEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNBdW50eQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TeWRuZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTllN2JlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5CkBAIC0wLDAgKzEsODIgQEAKKyMgQXVzdHJhbGlhIC8gU3lkbmV5ICh0cmFuc21pdHRlcnMgYXQgQXJ0YXJtb24vR29yZSBIaWxsL1dpbGxvdWdoYnkpCisjCisjICMjIFNlcnZpY2UgLSBDaGFubmVsIC0gTmV0d29yayBvd25lcgorIworIyMgQUJDIC0gQ0gxMiAtIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgQVROIC0gQ0g2IC0gU2V2ZW4gTmV0d29yaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyMgVENOIC0gQ0g4IC0gTmluZSBOZXR3b3JrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBURU4gLSBDSDExIC0gTmV0d29yayBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMjIFNCUyAtIENINyAtIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIyBUU04gLSBDSDI5IC0gQ29tbXVuaXR5IFRlbGV2aXNpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5X0tpbmdzX0Nyb3NzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1TeWRuZXlfS2luZ3NfQ3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjYxZmI5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtU3lkbmV5X0tpbmdzX0Nyb3NzCkBAIC0wLDAgKzEsNjggQEAKKyMgQXVzdHJhbGlhIC8gU3lkbmV5IC8gS2luZ3MgQ3Jvc3MgYW5kIE5vcnRoIEhlYWQKKyMKKyMKKyMgQUJDIFVIRjMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2V2ZW4gVUhGNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOaW5lIFVIRjMzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgVGVuIFVIRjQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTIFVIRjM0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1UYW13b3J0aCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVGFtd29ydGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODdjMzE4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVGFtd29ydGgKQEAgLTAsMCArMSwyMDAgQEAKKyMgQXVzdHJhbGlhIC8gTlNXIC8gTmV3IEVuZ2xhbmQgLyBUYW13b3J0aCAvIE10LlNvbWEKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBOQk4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNDMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIEF1c3RyYWxpYSAvIE5TVyAvIE5ldyBFbmdsYW5kIC8gVXBwZXIgTmFtb2kgLyBNdC5Eb3dlCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTkJOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBBdXN0cmFsaWEgLyBOU1cgLyBXZXN0ZXJuIERpc3RyaWN0cyAvIENlbnRyYWwgV2VzdGVybiBTbG9wZXMgLyBNdC4gQ2VubiBDcnVhaWNoCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgV0lOCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQzEwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVG93bnN2aWxsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtVG93bnN2aWxsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kN2M4YjZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1Ub3duc3ZpbGxlCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQnJpc2JhbmUgKE10IENvb3QtdGhhIHRyYW5zbWl0dGVycykKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5pbmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1XYWdnYVdhZ2dhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS1XYWdnYVdhZ2dhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQwNzYyYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdhZ2dhV2FnZ2EKQEAgLTAsMCArMSw2NiBAQAorIyBBdXN0cmFsaWEgLyBXYWdnYSBXYWdnYSAoTXQgVWx1bmRyYSkKKyMgQUJDCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU0JTCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2MjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNvdXRoZXJuIENyb3NzIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdvbGxvbmdvbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LVdvbGxvbmdvbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTRmZTc0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtV29sbG9uZ29uZwpAQCAtMCwwICsxLDE0OSBAQAorIyBBdXN0cmFsaWEgLyBXb2xsb25nb25nCisjCisjIEF1c3RyYWxpYSBtb2R1bGF0aW9uIHBhcmFtczoKKyMgLSBodHRwOi8vd3d3LmRiYS5vcmcuYXUvaW5kZXguYXNwP3NlY3Rpb25JRD0xMjAKKyMKKyMKKyMgTm9ydGggKEJyb2FkY2FzdCBTaXRlIEVzY2FycG1lbnQgUm9hZCBCUk9LRVJTIE5PU0UpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtOb3J0aAorIworIyBBQkMgVUhGNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBQcmltZSBVSEY0NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFdJTiBVSEY0MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbiBVSEY0MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUyBVSEY1NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgSWxsYXdhcnJhIChCcm9hZGNhc3QgQXVzdHJhbGlhIERpZ2l0YWwgVGVsZXZpc2lvbiBUb3dlciBLTklHSFRTIEhJTEwpCisjIC0gaHR0cDovL3d3dy5kYmEub3JnLmF1L2luZGV4LmFzcD9xdWVyeT10cnVlJnNlY3Rpb25JRD0yMiZyZWNMb2NhdGlvbj1Xb2xsb25nb25nKyUyRCtJbGxhd2FycmEKKyMKKyMgQUJDIFVIRjUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgUHJpbWUgVUhGMzgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBXSU4gVUhGMzYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBUZW4gVUhGMzcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTQlMgLSBzYW1lIGFzIE5vcnRoCisjCisjIFN0YW53ZWxsIFBhcmsgKEJhbGQgSGlsbCBTVEFOV0VMTCBUT1BTKQorIyAtIGh0dHA6Ly93d3cuZGJhLm9yZy5hdS9pbmRleC5hc3A/cXVlcnk9dHJ1ZSZzZWN0aW9uSUQ9MjImcmVjTG9jYXRpb249V29sbG9uZ29uZyslMkQrU3RhbndlbGwlMjBQYXJrCisjCisjIEFCQywgUHJpbWUsIFdJTiwgVGVuIGFyZSBpZGVudGljYWwgdG8gV29sbG9uZ29uZyAvIE5vcnRoCisjIFNCUyBVSEY0OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtY2FuYmVycmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LWNhbmJlcnJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5YTA5NGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1LWNhbmJlcnJhCkBAIC0wLDAgKzEsNjYgQEAKKyMgQXVzdHJhbGlhIC8gQ2FuYmVycmEgLyBXb2RlbgorIyBBQkMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTZXZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgTmluZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNCUworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtdW5rbm93biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXUtdW5rbm93bgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOGQxNmIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdS11bmtub3duCkBAIC0wLDAgKzEsMTMgQEAKKyMgQXVzdHJhbGlhIEFCQworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1BdXN0cmFsaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tQXVzdHJhbGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1OGZhZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tQXVzdHJhbGlhCkBAIC0wLDAgKzEsMTIwOSBAQAorIyBmb3IgKCRmcmVxID0gMTc3NTAwMDAwOyAkZnJlcSA8PSAyMjY1MDAwMDA7ICRmcmVxICs9IDcwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSArIDEyNTAwMCwgIiA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjIGZvciAoJGZyZXEgPSA1Mjk1MDAwMDA7ICRmcmVxIDw9IDgxNjUwMDAwMDsgJGZyZXEgKz0gNzAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgN01IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgCXByaW50ICJUICIsICRmcmVxICsgMTI1MDAwLCAiIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxODQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMDU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxMjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMjY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1MDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Nzg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEzNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjA1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjIwNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Mjc2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDg2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1NTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjYyNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2OTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2Njk2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODM1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgzNjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTA2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5NzYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA0NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTE2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxODYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzI1NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzI2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczOTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1MzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTM2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYwNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MDYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Njc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzY3NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzQ2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzgxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4MTYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg4NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTU2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjYyNTAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODA5NjI1MDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTY2MjUwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tRGVmYXVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1EZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkZDgxYjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tRGVmYXVsdApAQCAtMCwwICsxLDY5MSBAQAorIyBmb3IgKCRmcmVxID0gMTc3NTAwMDAwOyAkZnJlcSA8PSAyMjY1MDAwMDA7ICRmcmVxICs9IDcwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDdNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMgZm9yICgkZnJlcSA9IDQ3NDAwMDAwMDsgJGZyZXEgPD0gODU4MDAwMDAwOyAkZnJlcSArPSA4MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA4TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tVGFpd2FuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVRhaXdhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjJmYjlmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9hdXRvLVRhaXdhbgpAQCAtMCwwICsxLDE2MCBAQAorIyBmb3IgKCRmcmVxID0gNTI3MDAwMDAwOyAkZnJlcSA8PSA1OTkwMDAwMDA7ICRmcmVxICs9IDYwMDAwMDApIHsKKyMgCXByaW50ICJUICRmcmVxIDZNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIH0KKyMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzOTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDUwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUxMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3NTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tV2l0aDE2N2tIek9mZnNldHMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2F1dG8tV2l0aDE2N2tIek9mZnNldHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzU0MmRiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXV0by1XaXRoMTY3a0h6T2Zmc2V0cwpAQCAtMCwwICsxLDE4NjkgQEAKKyMgZm9yICgkZnJlcSA9IDE3NzUwMDAwMDsgJGZyZXEgPD0gMjI2NTAwMDAwOyAkZnJlcSArPSA3MDAwMDAwKSB7CisjIAlwcmludCAiVCAkZnJlcSA3TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjIGZvciAoJGZyZXEgPSA0NzQwMDAwMDA7ICRmcmVxIDw9IDg1ODAwMDAwMDsgJGZyZXEgKz0gODAwMDAwMCkgeworIyAJcHJpbnQgIlQgJGZyZXEgOE1IeiBBVVRPIE5PTkUgQVVUTyBBVVRPIEFVVE8gTk9ORVxuIjsKKyMgCXByaW50ICJUICIsICRmcmVxIC0gMTY3MDAwLCAiIDhNSHogQVVUTyBOT05FIEFVVE8gQVVUTyBBVVRPIE5PTkVcbiI7CisjIAlwcmludCAiVCAiLCAkZnJlcSArIDE2NzAwMCwgIiA4TUh6IEFVVE8gTk9ORSBBVVRPIEFVVE8gQVVUTyBOT05FXG4iOworIyB9CisjCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDczODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTUzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTY5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjA5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjMzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQ5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjczODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzUzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzY5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzkzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODA5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODMzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQ5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IEFVVE8KKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSBBVVRPCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gQVVUTworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXgtU21lZHNib2xlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9heC1TbWVkc2JvbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTllMjA2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYXgtU21lZHNib2xlCkBAIC0wLDAgKzEsMzQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDA5MDgwOCAyIDAgT0ZETSBGSSA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiDDhWxhbmQgU21lZHNiw7ZsZS9TdW5kCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAwOS0xMi0yMworIyBwcm92aWRlZCBieSAob3B0KSAgICA6IGsuaGFtcGZAZ21haWwuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbw4VsYW5kIE5ldHdvcmtdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1vDhWxhbmQgTmV0d29ya10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZS1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JlLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTU3YzA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9iZS1BbGwKQEAgLTAsMCArMSw2MiBAQAorIyBCZWxnaXVtLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vbmwud2lraXBlZGlhLm9yZy93aWtpL0RWQi1ULWZyZXF1ZW50aWVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvYmctU29maWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JnLVNvZmlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkMzlkMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2JnLVNvZmlhCkBAIC0wLDAgKzEsNTggQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEzMDMzMSAxIDAgVEVSUkVTVFJJQUwgQkcgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogU29maWEKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDEzLTA1LTEzCisjIHByb3ZpZGVkIGJ5IChvcHQpICAgIDogdi5sYWxvdkBnbWFpbC5jb20KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tOVVJUUyBEaWdpdGFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTlVSVFMgRGlnaXRhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0ZpcnN0IERpZ2l0YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOVVJUU10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZmNzdjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtQWxsCkBAIC0wLDAgKzEsMzM5IEBACisjIFN3aXR6ZXJsYW5kLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmJyb2FkY2FzdC5jaC9wb3J0YWwuYXNweD9waWQ9NzA1CisjIGFuZCBodHRwOi8vd3d3LmJyb2FkY2FzdC5jaC9kYXRhX3Byb2dyYW1fZHZidC5hc3B4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1DaXR5Y2FibGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUNpdHljYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjU4ZDA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9jaC1DaXR5Y2FibGUKQEAgLTAsMCArMSwzMjUgQEAKKyMgTGF1c2FubmUgLSBTd2l0emVybGFuZCAoRFZCLVQgb24gQ2l0eUNhYmxlIGNhYmxlIG5ldHdvcmspCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDcvOAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNy84CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA3LzgKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUdlbmV2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY2gtR2VuZXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2NGNjOTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NoLUdlbmV2YQpAQCAtMCwwICsxLDE0NyBAQAorIyBTd2l0emVybGFuZCwgR2VuZXZhIHJlZ2lvbgorIyBVcGRhdGVkIGJ5IHRrZXJuZW5AZGVja3BvaW50LmNoIG9uIDIwMTAvMTIvMDMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MTY2MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODE2NjAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAxNjYwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NvLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY28tQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwNjA1NmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2NvLUFsbApAQCAtMCwwICsxLDM0IEBACisjIGluaXRpYWwgc2NhbiBmaWxlIGZvciBDb2xvbWJpYSwgbmF0aW9uYWwgbGV2ZWwKKyMgRFZCLVQyLCA0NzAtODYwTUh6LCA2TUh6IGJhbmR3aWR0aAorIyBTZWU6IGh0dHBzOi8vZXMud2lraXBlZGlhLm9yZy93aWtpL1RlbGV2aXNpJUMzJUIzbl9EaWdpdGFsX1RlcnJlc3RyZV9lbl9Db2xvbWJpYQorIyBTZWU6IGh0dHBzOi8vd3d3LmNyY29tLmdvdi5jby9yZWN1cnNvc191c2VyL0RvY3VtZW50b3NfQ1JDXzIwMTIvQWN0aXZpZGFkZXNfUmVndWxhdG9yaWFzL1REVC9kb2N1bWVudG9zX3NvcG9ydGVfVERUXzIwMTIwOTE0LnBkZiNwYWdlPTUxCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDczMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3OTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODUwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDkxMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2N6LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvY3otQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3MmYyYzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2N6LUFsbApAQCAtMCwwICsxLDQ4MyBAQAorIyBDemVjaCBSZXB1YmxpYywgd2hvbGUgY291bnRyeSAodXBkYXRlZCB0byByZWd1bGF0b3J5IDIwMTMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmN0dS5jei9jcy9kb3dubG9hZC9wbGFuLXZ5dXppdGktcmFkaW92ZWhvLXNwZWt0cmEvcm9rXzIwMTIvcHYtcF8xMC0wOF8yMDEyLTExLnBkZgorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYWRlbi1XdWVydHRlbWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJhZGVuLVd1ZXJ0dGVtYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wN2VhZDMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CYWRlbi1XdWVydHRlbWJlcmcKQEAgLTAsMCArMSwxOTQgQEAKKyMgRFZCLVQgQmFkZW4tV8O8cnR0ZW1iZXJnCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyMjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MDogU1dSLUJXLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQxOiBTV1ItQlcsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgaHIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YLCBSVEwgQ3JpbWUsIFBhc3Npb24gW1NlbmRlbm9ybTogTVBFRy00XV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDk6IFNXUi1CVywgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MDogU1dSLUJXLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUyOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDYwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJheWVybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmF5ZXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkNDE4MmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJheWVybgpAQCAtMCwwICsxLDIzNyBAQAorIyBEVkItVCBCYXllcm4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI1OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMjU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NIMjc6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIFNXUiwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDI4OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm8KK1tDSDI5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMDogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzQ6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM5OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgQlItYWxwaGEsIE1EUiwgaHJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDSDQwOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzCitbQ0g0MjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINDQ6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ2OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBNRFIsIGhyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0NjogQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBCUi1hbHBoYSwgU1dSLCBFaW5zRXh0cmEKK1tDSDQ3OiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBNRFIsIGhyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1cworW0NINDk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIEJSLWFscGhhLCBTV1IsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINTM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINTU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc1BsdXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmVybGluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CZXJsaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzlkMjliNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQmVybGluCkBAIC0wLDAgKzEsMTEwIEBACisjIERWQi1UIEJlcmxpbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjU6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI3OiBEYXMgRXJzdGUsIFJCQiwgUGhvZW5peCwgRWluc0V4dHJhIC8gQnJhbmRlbmJ1cmdBa3R1ZWxsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzOTogUVZDLCBEYXNWaWVydGUsIEJpYmVsLlRWLCBCUi1GZXJuc2VoZW4sIG4tdHYsIEV1cm9OZXdzL0NoYW5uZTIxIFNob3AgKyA3IFJhZGlvcHJvZ3JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDc6IE1EUiwgTkRSLCBhcnRlLCBocl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IFRlbGU1LCBIU0UgMjQsIFdEUiwgU1dSIChCVyAvIFJQKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTY6IEV1cm9zcG9ydCwgVFYuQiwgTXVzaWMxLCBzaXh4LF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IEJlcmxpbmVyU3ByZWVrYW5hbCAvIEp1dmVsb1RWLCBTZXJ2dXNUViwgQW5peGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJhbmRlbmJ1cmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyYW5kZW5idXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyMzEyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUJyYW5kZW5idXJnCkBAIC0wLDAgKzEsNTAgQEAKKyMgRFZCLVQgQnJhbmRlbmJ1cmcKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDMzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUzOiBEYXMgRXJzdGUsIFJCQiwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NzogTURSLCBORFIsIGFydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJlbWVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1CcmVtZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRhYjhlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtQnJlbWVuCkBAIC0wLDAgKzEsNzQgQEAKKyMgRFZCLVQgQnJlbWVuCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LnVlYmVyYWxsZmVybnNlaGVuLmRlL2RhdGEvc2VuZGVybGlzdGUucGRmCitbQ0gyMjogRGFzIEVyc3RlIChSQiksIFJCIFRWIChORFIgTkRTKSwgYXJ0ZSwgUGhvZW5peF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMyOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQyOiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogVGVsZSA1LCBTSVhYLCBRVkMsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1EdXNzZWxkb3JmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1EdXNzZWxkb3JmCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhZjVhNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLUR1c3NlbGRvcmYKQEAgLTAsMCArMSwxNDQgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGFtYnVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGFtYnVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTQzYjc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1IYW1idXJnCkBAIC0wLDAgKzEsOTggQEAKKyMgRFZCLVQgSGFtYnVyZworIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjg6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMDogUHJvU2llYmVuLCBTYXQuMS8gU2F0LjFSZWdpb25hbCwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDMzOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFRlbGU1LCBEYXMgVmllcnRlLCBRVkMsIENoYW5uZWwyMS8gRXVyb25ld3NdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQwOiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogU0lYWCwgSGFtYnVyZyAxLCBCaWJlbCBUViwgRXVyb3Nwb3J0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NDogTkRSIEhILCBXRFIvTkRSIE5EUywgTURSL05EUiBNVlAsIEJSIEZlcm5zZWhlbi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGVzc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1IZXNzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjM2ZTMwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtSGVzc2VuCkBAIC0wLDAgKzEsMTk0IEBACisjIERWQi1UIEhlc3NlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1SUCwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMjogRGFzIEVyc3RlLCBQaG9lbml4LCBhcnRlLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM0OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNTogaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgU1dSLVJQLCBNRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM3OiBEYXMgRXJzdGUsIFBob2VuaXgsIGFydGUsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFNXUi1SUCwgcmJiXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MzogRGFzIEVyc3RlLCBQaG9lbml4LCBhcnRlLCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ1OiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDUyOiBUZWxlNSwgUVZDLCByaGVpbm1haW50diAvIENoYW5uZWwyMSwgaU11c2ljMSAvIEFuaXhlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbiwgU1dSLUJXLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU0OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTU6IGhyLCBORFIsIE1EUiwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU1lY2tsZW5idXJnLVZvcnBvbW1lcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU1lY2tsZW5idXJnLVZvcnBvbW1lcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjU5MDEyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTWVja2xlbmJ1cmctVm9ycG9tbWVybgpAQCAtMCwwICsxLDExMCBAQAorIyBEVkItVCBNZWNrbGVuYnVyZy1Wb3Jwb21tZXJuZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIyOiBEYXMgRXJzdGUsIE5EUiBNVlAsIFJCQiwgTURSL05EUiBTSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjY6IERhcyBFcnN0ZSwgTkRSIE1WUCwgUkJCLCBNRFIvTkRSIFNIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogRGFzIEVyc3RlLCBORFIgTVZQLCBSQkIsIE1EUi9ORFIgU0hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM2OiBEYXMgRXJzdGUsIE5EUiBNVlAsIFJCQiwgTURSL05EUiBTSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1OaWVkZXJzYWNoc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1OaWVkZXJzYWNoc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5NmUxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLU5pZWRlcnNhY2hzZW4KQEAgLTAsMCArMSwyNzAgQEAKKyMgRFZCLVQgTmllZGVyc2FjaHNlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IE5EUiBORFMsIFdEUi9ORFIgU0gsIE1EUi9ORFIgTVZQLCBIUi9ORFIgSEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDIyOiBEYXMgRXJzdGUgKFJCKSwgUkIgVFYgKE5EUiBORFMpLCBhcnRlLCBQaG9lbml4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0gyMjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmEKK1tDSDIzOiBaREYsIDNzYXQsIEtpS2EgLyBaREZuZW8sIFpERmluZm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI0OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBUZWxlIDUsIE5pY2tlbG9kZW9uL0NvbWVkeSBDZW50cmFsLCBFdXJvc3BvcnQsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMjogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzNjogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzg6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0gzODogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvCitbQ0g0MjogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENINDI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NINDM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ0g0MzogTkRSIE5EUywgV0RSL05EUiBTSCwgTURSL05EUiBNVlAsIEhSL05EUiBISAorW0NINDQ6IFByb1NpZWJlbiwgU2F0LjEsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NTogVGVsZSA1LCBTSVhYLCBRVkMsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ3OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDg6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0V4dHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU4OiBORFIgTkRTLCBXRFIvTkRSIFNILCBNRFIvTkRSIE1WUCwgSFIvTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1OTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDYwOiBUZWxlIDUsIE5pY2tlbG9kZW9uL0NvbWVkeSBDZW50cmFsLCBFdXJvc3BvcnQsIE1vbmEgLyBCaWJlbCBUViAvIERhcyBWaWVydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTm9yZHJoZWluLVdlc3RmYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtTm9yZHJoZWluLVdlc3RmYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDBkMThkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1Ob3JkcmhlaW4tV2VzdGZhbGVuCkBAIC0wLDAgKzEsMjMxIEBACisjIERWQi1UIE5vcmRyaGVpbi1XZXN0ZmFsZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDI1OiBXRFItRG9ydG11bmQsIE5EUi9XRFItUnVociwgTURSLCBTV1JdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENIMjY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mbworW0NIMjc6IFdEUi1Tw7xkd2VzdGZhbGVuLCBORFIsIE1EUiwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyOTogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFdEUi1PV0xfYWt0dWVsbCwgTkRSL1dEUi1Tw7xkd2VzdGZhbGVuLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzU6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFRlbGU1LCBDTk4sIEV1cm9zcG9ydCwgVklWQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IFdEUi1BYWNoZW4sIE5EUi9XRFItS8O2bG4sIE1EUiwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NjogV0RSLUTDvHNzZWxkb3JmLCBNRFIvV0RSLUR1aXNidXJnLCBORFIvV0RSLUJlcmcuTGFuZCwgU1dSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0ODogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBXRFItS8O2bG4sIE1EUi9XRFItQm9ubiwgTkRSL1dEUi1BYWNoZW4sIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MjogVGVsZTUsIENOTiwgRXVyb3Nwb3J0LCBWSVZBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1MzogUHJvU2llYmVuLCBTYXQuMSwgS2FiZWwxLCBOMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU1OiBQcm9TaWViZW4sIFNhdC4xLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IFdEUi1SdWhyLCBORFIvV0RSLURvcnRtdW5kLCBNRFIsIFNXUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINjA6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVJoZWlubGFuZC1QZmFseiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtUmhlaW5sYW5kLVBmYWx6Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg3Nzk5NDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVJoZWlubGFuZC1QZmFsegpAQCAtMCwwICsxLDk4IEBACisjIERWQi1UIFJoZWlubGFuZC1QZmFsegorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjg6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFNXUi1SUCwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBociwgV0RSXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0ODogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU2OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNQbHVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zUGx1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWFybGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FhcmxhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDgwOTU1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2FhcmxhbmQKQEAgLTAsMCArMSw1MCBAQAorIyBEVkItVCBTYWFybGFuZAorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDI6IERhcyBFcnN0ZSwgU1IgRmVybnNlaGVuLCBhcnRlLCBQaG9lbml4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0NDogU1dSLVJQLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIGhyLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ5OiBUZWxlNSwgUVZDLCBCaWJlbC5UViwgZnJlaWUgS2FwYXppdMOkdF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkODc1MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhY2hzZW4KQEAgLTAsMCArMSwxMzQgQEAKKyMgRFZCLVQgU2FjaHNlbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNTogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRmVzdGl2YWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI3OiBNRFItU04sIHJiYiwgQmF5ZXJpc2NoZXMgRmVybnNlaGVuLCBXRFJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBSVEwsIFJUTDIsIFN1cGVyIFJUTCwgVk9YLCBSVEwgQ3JpbWUsIFBhc3Npb24gW1NlbmRlbm9ybTogTVBFRy00XV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjk6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IExGIExlaXB6Zy5GZXJucy4sIEluZm9UVkxlaXB6aWcsIEJCQ1dvcmxkLCBCaWJlbC5UViwgUmFkaW9MZWlwemlnLCBSYWRpb0hvcmViXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzI6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzY6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzc6IE1EUi1TTiwgcmJiLCBCYXllcmlzY2hlcyBGZXJuc2VoZW4sIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVNhY2hzZW4tQW5oYWx0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuLUFuaGFsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTI1YTJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TYWNoc2VuLUFuaGFsdApAQCAtMCwwICsxLDEyMiBAQAorIyBEVkItVCBTYWNoc2VuLUFuaGFsdAorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyODogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWCwgUlRMIENyaW1lLCBQYXNzaW9uIFtTZW5kZW5vcm06IE1QRUctNF1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI5OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzQ6IE1EUi1TVCwgcmJiLCBORFIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzg6IE1EUi1TVCwgcmJiLCBORFIsIFdEUl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDE6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g1NTogVFYgSGFsbGUgKFRlc3RiZXRyaWViKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2NobGVzd2lnLUhvbHN0ZWluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9kZS1TY2hsZXN3aWctSG9sc3RlaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDA5NzZhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtU2NobGVzd2lnLUhvbHN0ZWluCkBAIC0wLDAgKzEsMTgyIEBACisjIERWQi1UIFNjaGxlc3dpZy1Ib2xzdGVpbgorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy51ZWJlcmFsbGZlcm5zZWhlbi5kZS9kYXRhL3NlbmRlcmxpc3RlLnBkZgorW0NIMjE6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjM6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNjogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI4OiBORFIgU0gsIFdEUi9ORFIgTkRTLCBNRFIvTkRSIE1WUCwgQlIgRmVybnNlaGVuL05EUiBISF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzA6IFByb1NpZWJlbiwgU2F0LjEvIFNhdC4xUmVnaW9uYWwsIEthYmVsMSwgTjI0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMTogWkRGLCAzc2F0LCBLaUthIC8gWkRGbmVvLCBaREZpbmZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogRGFzIEVyc3RlLCBhcnRlLCBQaG9lbml4LCBFaW5zRXh0cmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDM1OiBQcm9TaWViZW4sIFNhdC4xLyBTYXQuMVJlZ2lvbmFsLCBLYWJlbDEsIE4yNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzk6IE5EUiBTSCwgV0RSL05EUiBORFMsIE1EUi9ORFIgTVZQLCBCUiBGZXJuc2VoZW4vTkRSIEhIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0MDogUlRMLCBSVEwyLCBTdXBlciBSVEwsIFZPWF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINDU6IFJUTCwgUlRMMiwgU3VwZXIgUlRMLCBWT1hdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ3OiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNFeHRyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTc6IFRlbGUgNSwgU0lYWCwgZGFzIFZpZXJ0ZSwgQmliZWwgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU5OiBUZWxlIDUsIFNJWFgsIGRhcyBWaWVydGUsIEJpYmVsIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVRodWVyaW5nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RlLVRodWVyaW5nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzJmYTk0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGUtVGh1ZXJpbmdlbgpAQCAtMCwwICsxLDg2IEBACisjIERWQi1UIFRow7xyaW5nZW4KKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cudWViZXJhbGxmZXJuc2VoZW4uZGUvZGF0YS9zZW5kZXJsaXN0ZS5wZGYKK1tDSDIxOiBEYXMgRXJzdGUsIGFydGUsIFBob2VuaXgsIEVpbnNGZXN0aXZhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjI6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjU6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gyNzogTURSLVRILCByYmIsIGhyLCBCYXllcmlzY2hlcyBGZXJuc2VoZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ4OiBNRFItVEgsIHJiYiwgaHIsIEJheWVyaXNjaGVzIEZlcm5zZWhlbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTA6IFpERiwgM3NhdCwgS2lLYSAvIFpERm5lbywgWkRGaW5mb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTM6IERhcyBFcnN0ZSwgYXJ0ZSwgUGhvZW5peCwgRWluc0Zlc3RpdmFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RrLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZGstQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZiZDU5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2RrLUFsbApAQCAtMCwwICsxLDIzMSBAQAorIyBEZW5tYXJrLCB3aG9sZSBjb3VudHJ5CisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2ktdHYuZGsvSW5kaG9sZF9vZ190aWxidWQvZnJla3ZlbnNlci5hc3AKKyMgYW5kIGh0dHA6Ly93d3cuZGlnaS10di5kay9TZW5kZW5ldHRldHNfb3BieWduaW5nLworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZWUtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lZS1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjg5YTM1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZWUtQWxsCkBAIC0wLDAgKzEsMzkzIEBACisjIEVzdG9uaWEsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cubGV2aXJhLmVlL3RyYW5zbWl0dGVyLnBkZgorIyBhbmQgaHR0cDovL3dpa2kud2lmaS5lZS9pbmRleC5waHAvRFZCLVQjVGVobmlsaW5lX3RlYXZlCisjIEFkZGl0aW9uYWwgTVVYIGluZm8gaHR0cDovL3d3dy5sZXZpcmEuZWUvcHJvZ3JhbS5wZGYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gNDI5NDk2NzI5NQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDQyOTQ5NjcyOTUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSA0Mjk0OTY3Mjk1CisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsYmFjZXRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGJhY2V0ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNjQwMTJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGJhY2V0ZQpAQCAtMCwwICsxLDE0NSBAQAorIyBTcGFpbiwgQWxiYWNldGUgLSBVcGRhdGUgMjAxMC8wOC8xMiAoRnJldWQpCitbQ2FuYWwgMzc6IExhIFJlZ2lvbmFsLCBUQ00sIENSTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ2OiBTb2dlY3VhdHJvLCBsYVNleHRhMiwgbGFTZXh0YTMgKFRvZG9zIHBlbmRpZW50ZXMgZGUgYXNpZ25hcildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NzogQ05DLCBWaXNpb242LCBBQlRlVmUsIFB1bnRvIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTA6IEJvaW5nLCBMYSAxMCwgTVRWLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDUzOiBOaXRybywgTWFyY2EgVFYsIFZlbzEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTY6IFRWRSBIRCwgVGVsZWRlcG9ydGUsIFBydWViYXMgVFZFLCBSTkUgMSwgUk5FIENMw4FTSUNBLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU5OiBMYSAxLCBMYSAyLCAyNEgsIENsYW4sIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogQ01ULCBDTVQyLCBSQ01dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvNywgVGllbmRhIGVuIFZlbywgSW50ZXJlY29ub23DrWEsIEFYTiwgVGVsZWRlcG9ydGUsIFJhZGlvIEludGVyZWNvbm9tw61hLCBSYWRpbyBNYXJjYSwgZXNSYWRpbywgVmF1Z2hhbiBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgQ2FuYWwrIERvcywgQ2FuYWwgQ2x1YiwgTGFTZXh0YSwgU0VSLCA0MCBQcmluY2lwYWxlcywgQ2FkZW5hIERpYWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBMYSBTaWV0ZSwgRkRGLCBDaW5jb1Nob3AsIERpc25leSBDaGFubmVsLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgTmVveCwgTm92YSwgR29sIFRlbGV2aXNpw7NuLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgT25kYSBNZWxvZMOtYSBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxmYWJpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxmYWJpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZTIwZTY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbGZhYmlhCkBAIC0wLDAgKzEsMTQ1IEBACisjIERWQi1UIEFsZmFiaWEsIE1hbGxvcmNhLCBCYWxlYXJpYyBJc2xhbmRzLCBTcGFpbi4KK1tUVjMgQ2F0LCAzLzI0LCAzMywgU3VwZXIzLzMwMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW05pdHJvLCBBM1RWSEQsIDEzVFYsIFRpZW5kYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWIE1hbGxvcmNhLCBDYW5hbCA0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUG9wdWxhciBUViwgVEVWRWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tYcGxvcmEsIGxhU2V4dGEzLCBsYVNleHRhSEQsIEN1YXRyb0hELCBFbmVyZ3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tCb2luZywgVGVsZWNpbmNvSEQsIFBhcmFtb3VudF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0xhMUhELCBURFAsIFREUEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42MzogMjRoLCA1MCBhbml2LiwgQ2xhblRWLCBMYSAyLCBUVkUxOyBSTkUgMSwgUk5FIDMsIFJORSBDOyBEaWdpdGV4dCwgRVBHLCBMYW56YWRlcmEuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42NTogSUIzLCBJQjNIRCwgTWV0cm9wb2xpdGFuIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQy42NzogQ3VhdHJvLCBMYSBTZXh0YSwgR29sVFYsIERpdmluaXR5LCBOdWV2ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjg6IFRlbGUgNSwgTGE3LCBGREYsIERpc25leSBDaGFubmVsLCBJbnRlcmVjb25vbcOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MuNjk6IEFudGVuYSAzLCBEaXNjb3ZlcnkgTWF4LCBOZW94LCBOb3ZhLCBBWE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxpY2FudGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsaWNhbnRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5NWE0OTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFsaWNhbnRlCkBAIC0wLDAgKzEsODUgQEAKKyMgRFZCLVQgQWxpY2FudGUsIFNwYWluCitbQ2FuYWwgNTU6IFRWMywgSzMzLzMzLCAzLzI0LCBDYW5hbCAzMDBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBUZWxlbWFkcmlkLCBMYSBPdHJhLCBPbmRhIDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvLCBWZW8gMiwgTmV0IFRWLCBUZWxlZGVwb3J0ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyBTcG9ydCwgVGVsZWNpbmNvIEVzdHJlbGxhcywgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBBbnRlbmEgTmVveCwgQW50ZW5hIE5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxtZXJpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxtZXJpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNjQ4MWU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1BbG1lcmlhCkBAIC0wLDAgKzEsMTA4IEBACisjIFNwYWluLCBBbG1lcmlhIC0gVXBkYXRlIDIwMTYvMDMvMTcgKGRlbmlzZV9hbWlnYSkKK1tDYW5hbCAzNDogSW50ZXJhbG1lcmlhIFRWLCA4VFYsIFR1YmllbnN0YXIgQXN0cm9jYW5hbCwgQ2FuYWwgMjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzNjogQXRyZXNlcmllcyBIRCwgRW5lcmd5IEhELCBSZWFsIE1hZHJpZCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM4OiBCb2luZywgRW5lcmd5LCBNZWdhLCAxM1RWLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgTWVsb2RpYSBGTSwgQ29wZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQxOiBBbnRlbmEgMywgQW50ZW5hIDNIRCwgbGFTZXh0YSwgbGFTZWN0YSBIRCwgTmVveCwgTm92YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ0OiBUZWxlY2luY28sIFRlbGVjaW5jbyBIRCwgQ3VhdHJvLCBDdWF0cm8gSEQsIEZERiwgRGl2aW5pdHldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NzogVERQLCBURFAgSEQgOUtpc3MgVFYsIDEwLCBSYWRpbyBDbGFzaWNhIEhRLCBSYWRpbyAzIEhRLCBSYWRpbyBFeHRlcmlvciBSTkUgS2lzcyBGTSwgQ2FuYWwgSW5nZW5pZXJpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU3OiBMYSAxLCBMYSAxIEhELCBMYSAyLCAyNGgsIENsYW4sIFJhZGlvLCBSYWRpbyA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTg6IDEzVFYsIERpc2NvdmVyeSBNQVgsIERpc25leSBDaGFubmVsLCBQYXJhbW91bnQgQ2hhbm5lbCwgQ29wZSwgUmFkaW8gTWFyaWEsIFJhZGlvIE1hcmNhLCBWYXVnaGFuIFJhZGlvLCBlc1JhZGlvLCBHdWlkZSBQbHVzK10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU5OiBDYW5hbCBTdXIsIENhbmFsIFN1ciAyLCBBbmRhbHVjaWEgVFYsIEVIUyBUViwgQ2FuYWwgU3VyIFJhZGlvLCBGbGFtZW5jbyBSYWRpbywgQ2FuYWwgRmllc3RhIFJhZGlvLCBSYWRpbyBBbmRhbHVjaWEgSW5mb3JtYWNpb25dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFscGljYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFscGljYXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU0Njc0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQWxwaWNhdApAQCAtMCwwICsxLDczIEBACisjIERWQi1UIEFscGljYXQgKExsZWlkYSkKK1tjNTg6IFRWMywgSzMvMzMsIDMvMjQsIDMwMCwgM2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjQ6IFRWRTEsIFRWRTIsIFRlbGVkZXBvcnRlLCBDMjRoXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY2OiBUVkUgQ2xhblRWLCBUVkUgNTBhLCBWZW8xLCBWZW8yLCBOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjc6IEN1YXRybywgNDBMYXRpbm8sIENOTissIExhU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2ODogVDUsIFQ1IFNwb3J0cywgVDUgRXN0cmVsbGFzLCBOZXQgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY5OiBBbnRlbmEzLCBBbnRlbmEuTmVveCwgQW50ZW5hLk5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQXN0dXJpYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFzdHVyaWFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI4M2I5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUFzdHVyaWFzCkBAIC0wLDAgKzEsMTk0IEBACisjIERWQi1UIEFzdHVyaWFzCitbQ2FuYWwgMjI6IEF0cmVzZXJpZXMgSEQsIEVuZXJneSBIRCwgUmVhbCBNYWRyaWQgVFYsIEJlIE1hZF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSVCBDQU5HQVMgREUgTkFSQ0VBIFkgTExBTkVTCitbQ2FuYWwgMjU6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBUZWxlTmFyY2VhLCBUZWxlQXZpbMOpcywgVVRFIE9wYWxvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgQ0FOR0FTIERFIE5BUkNFQSBZIExMQU5FUworCitbQ2FuYWwgMjc6IEJvaW5nLCBFbmVyZ3ksIE1lZ2EsIDEzIFRWLCBPbmRhIENlcm8sIEV1cm9wYSBGTSwgTWVsb2TDrWEgRk0sIENvcGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAyODogVGVsZWNpbmNvLCBUZWxlY2luY28gSEQsIEN1YXRybywgQ3VhdHJvIEhELCBGREYsIERpdmluaXR5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMzI6IEFudGVuYSAzLCBBbnRlbmEgMyBIRCwgbGFTZXh0YSwgbGFTZXh0YSBIRCwgTmVveCwgTm92YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM1OiBQcm94aW1hbWVudGUsIERpc2NvdmVyeSBNYXgsIERpc25leSBDaGFubmVsLCBQYXJhbW91bnQgQ2hhbm5lbCwgQ29wZSwgUmFkaW8gTWFyw61hLCBSYWRpbyBNYXJjYSwgVmF1Z2hhbiBSYWRpbywgZXNSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTVEFSVCBHSUrDk04KK1tDYW5hbCAzODogTXV5IE11eSBUViwgQ2FuYWwgMTAsIEFzdHJvY2FuYWxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBHSUrDk04KKworW0NhbmFsIDM5OiBMYSAxLCBMYSAxIEhELCBMYSAyLCAyNGgsIENsYW4sIFJhZGlvIE5hY2lvbmFsLCBSYWRpbyA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDI6IFREUCwgVERQIEhELCBLSVNTLCBURU4sIFJhZGlvIENsw6FzaWNhIEhRLCBSYWRpbyAzIEhRLCBSYWRpbyBFeHRlcmlvciBSTkUsIEtpc3MgRk1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU1RBUlQgT1ZJRURPCitbQ2FuYWwgNDM6IEVkLiBQcmVuc2EgQXN0dXJpYW5hLCBPdmllZG8gVFYsIENhbmFsIDEwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworIyBFTkQgT1ZJRURPCisKKyMgU1RBUlQgSU5GSUVTVE8KK1tDYW5hbCA0NDogRWQuIFByZW5zYSBBc3R1cmlhbmEsIFRlbGVBdmlsw6lzLCBVVEUgT3BhbG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisjIEVORCBJTkZJRVNUTworCitbQ2FuYWwgNDU6IFRQQTcsIFRQQTgsIFRQQSBIRCwgUlBBLCBSYWRpbyBMYW5ncmVvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNUQVJUIE1JRVJFUworW0NhbmFsIDQ2OiBDdWVuY2FzIE1pbmVyYXMgVFYsIFByb2R1Y2Npb25lcyBHcmVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIE1JRVJFUworCisjIFNUQVJUIEFWSUzDiVMKK1tDYW5hbCA0NzogRWQuIFByZW5zYSBBc3R1cmlhbmEsIENhbmFsIDEwLCBUZWxlQXZpbMOpc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIEFWSUzDiVMKKworIyBTVEFSVCBMVUFSQ0EtVkFMRMOJUworW0NhbmFsIDU2OiBFZC4gUHJlbnNhIEFzdHVyaWFuYSwgVGVsZUF2aWzDqXMsIE9SVF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKyMgRU5EIExVQVJDQS1WQUxEw4lTCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJhaXhvTWluaG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUJhaXhvTWluaG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmZjMWRlOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmFpeG9NaW5obwpAQCAtMCwwICsxLDgxIEBACisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAwOTA1MjggMSAwIE9GRE0gRVMgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogQmFpeG8gTWluaG8sIFBvbnRldmVkcmEgKFNwYWluKQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMDktMDctMTEKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBuZW9ubWFubkBnbWFpbC5jb20KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tTRk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1JBUiBQb250ZXZlZHJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUkdFIEdBTElDSUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmlsYmFvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1CaWxiYW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQyMzNmMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQmlsYmFvCkBAIC0wLDAgKzEsNzIgQEAKK1tDYW5hbCA2NzogQ05OKy4gQ3VhdHJvLCBMYSBTZXh0YSwgNDAgbGF0aW5vIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBMYSBTZXh0YSAyLCBOZW8sIE5vdmEsIFRlbGVoaXQsIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MzogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBWZW8sIFZlbyAyLCBOZXQgVFYsIFRlbGVkZXBvcnRlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjg6IFRlbGVjaW5jbywgVGVsZWNpbmNvIFNwb3J0LCBUZWxlY2luY28gRXN0cmVsbGFzLCBGbHkgTXVzaWNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogRVRCMSwgRVRCMiwgRVRCLVNhdCwgQ2FuYWwgVmFzY28sIEV1c2thZGkgSXJyYXRpYSwgUmFkaW8gRXVza2FkaSwgRXVza2FkaSBHYXN0ZWEsIFJhZGlvIEVJVEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ2FkaXogYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhZGl6Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxNTUwMDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhZGl6CkBAIC0wLDAgKzEsMjk0IEBACisjIERWQi1UIENhZGl6IChBbmRhbHVzaWEpICAgICAgICAgICAgICAgICAgICAgIGJ5IHhpdGVycmV4ICBBdWcgMjAxNAorIyBJbmZvIG9idGFpbmVkIGZyb20gU3BhbmlzaCBHb3Zlcm5tZW50IChNaW5pc3RlcmlvIGRlIEluZHVzdHJpYSkgYXQgVVJMOgorIyA8aHR0cDovL3d3dy5taW5ldHVyLmdvYi5lcy90ZWxlY29tdW5pY2FjaW9uZXMvaW5mcmFlc3RydWN0dXJhcy9wYWdpbmFzL3RkdF9pY3QuYXNweD4KK1tDMjEgIyBNUEUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIzICMgUkdFMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCAjIFJHRTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDk4MDAwMDAwIDhNSHogMi8zIE5PTkUgUUFNNjQgOGsgMS80IE5PTkUgICAgIyBDMjQgIyBUTDAyQ0EgQXJjb3MKK1tDMjcgIyBSR0UyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDUyMjAwMDAwMCA4TUh6IDIvMyBOT05FIFFBTTY0IDhrIDEvNCBOT05FICAgICMgQzI3ICMgVEwwNkNBIE9sdmVyYQorW0MyOCAjIFRMMDFDQSBBbGdlY2lyYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAgIyBUTDA1Q0EgSmVyZXpdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgIyBSR0UyIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOCAjIE1QRTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgIyBNUEUyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQzICMgVEwwOENBIE1lZGluYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCAjIE1QRTFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDYgIyBBTkRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgIyBNUEUzIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCAjIFRMMDdDQSBVYnJpcXVlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyICMgUkdFMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA3MjIwMDAwMDAgOE1IeiAyLzMgTk9ORSBRQU02NCA4ayAxLzQgTk9ORSAgICAjIEM1MiAjIFRMMDRDQSBDaGljbGFuYQorW0M1MyAjIE1QRTEgKE1haW4pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0ICMgVEwwM0NBIENhZGl6XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1ICMgTVBFMiAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgIyBSR0UxIChNYWluKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSAjIEFORCAoTWFpbildCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjQgIyBSR0UxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzY3ICMgTUQ2N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OCAjIE1ENjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjkgIyBNRDY5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUNhcmNlcmVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYXJjZXJlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjUyYTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1DYXJjZXJlcwpAQCAtMCwwICsxLDEwOCBAQAorW0NhbmFsIDM5OiA4TWFkcmlkLCBUTVQtUG9wdWxhciBUViwgS2lzcyBUViwgSW50ZXJlY29ub23DrWEgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1MDogRXNNYWRyaWQgVFYsIFZlci10LCBFTTIsIExpYmVydGFkIERpZ2l0YWwgVFZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogTGEgUHJpbWVyYSwgTGEgMiwgQ2FuYWwgMjRILCBDbGFuL1RWRSA1MCwgUk5FMSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBUZWxlbWFkcmlkLCBMYSBPdHJhLCBPbmRhIDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVmVvLCBWZW8gMiwgTmV0IFRWLCBUZWxlZGVwb3J0ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyBTcG9ydCwgVGVsZWNpbmNvIEVzdHJlbGxhcywgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBBbnRlbmEgTmVveCwgQW50ZW5hIE5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogQ2FuYWwgRXh0cmVtYWR1cmEsIEV4dHJlbWFkdXJhIFRlbGV2aXNpb25dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ29sbHNlcm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtQ29sbHNlcm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MGM3M2YwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Db2xsc2Vyb2xhCkBAIC0wLDAgKzEsMTIxIEBACisjIERWQi1UIENvbGxzZXJvbGEgKEJhcmNlbG9uYSkKK1tCVFYsIFRWIEJhZGFsb25hLCBUViBMJ0hvc3BpdGFsZXQsIFRWIGRlbCBCZXPDsnMsIENPTSBSw6BkaW8sIFLDoGRpbyBDaXV0YXQgQmFkYWxvbmEsIFLDoGRpbyBMJ0hvc3BpdGFsZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1s4VFYsIEJhcsOnYSBUViwgRURDMywgMTA1VFYsIFJBQyAxLCBSQUMgMTA1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFYzSEQsIDMvMjQsIENhbmFsIDksIElCMywgQ2F0YWx1bnlhIE3DunNpY2EsIGlDYXQgRk1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVcmJlIFRWLCBDYW5hbCBDYXRhbMOgLCAyNSBUViwgTG9jYWxpYSwgT25hIEZNLCBPbmRhIFJhbWJsYSwgU2Vuc2FjacOzIFLDoGRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RWMywgMzMsIDMvMjQsIEszLzMwMCwgQ2F0YWx1bnlhIFLDoGRpbywgQ2F0YWx1bnlhIEluZm9ybWFjacOzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFZFMSwgVFZFMiwgVFZFIDI0SCwgQ2xhbi9UVkUgNTAgQcOxb3MsIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWZW83LCBTb255IFRWIGVuIFZlbywgVGllbmRhIGVuIFZlbywgSW50ZXJlY29ub23DrWEsIFRlbGVkZXBvcnRlLCBSYWRpbyBJbnRlcmVjb25vbcOtYSwgUmFkaW8gTWFyY2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDdWF0cm8sIENOTissIDQwIExhdGlubywgTGEgU2V4dGEsIFNlciwgNDAgUHJpbmNpcGFsZXMsIENhZGVuYSBEaWFsXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVsZWNpbm8sIExhIFNpZXRlLCBGREYsIENpbmNvU2hvcCwgRGlzbmV5IENoYW5uZWwsIFB1bnRvIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQW50ZW5hIDMsIEFudGVuYS5OZW94LCBBbnRlbmEuTm92YSwgSG9nYXIgMTAsIE9uZGEgQ2VybywgRXVyb3BhIEZNLCBPbmRhIE1lbG9kw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLURvbm9zdGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Eb25vc3RpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNzYwMzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1Eb25vc3RpYQpAQCAtMCwwICsxLDEyMiBAQAorIyBUaGUgY2hhbm5lbHMgd2l0aCAxLzMyIGd1YXJkLWludGVydmFsIGFyZSBGcmVuY2ggYW5kIHNob3VsZCBiZSBwZXJmZWN0bHkgdmlzaWJsZQorIyBoZXJlLiBIb3dldmVyIEkgaGF2ZSBvbmx5IG1hbmFnZWQgdG8gZ2V0IGEgbG9jayBmb3IgdGhlIGNoYW5uZWwgNTcgb2YgdGhlIEZyZW5jaCBvbmVzLgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtR3JhbmFkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtR3JhbmFkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTQ1Yjk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1HcmFuYWRhCkBAIC0wLDAgKzEsNzMgQEAKKyMgU3BhaW4sIEdyYW5hZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtSHVlc2NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1IdWVzY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNjYjA4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtSHVlc2NhCkBAIC0wLDAgKzEsMTI0IEBACisjIERWQi1UIEh1ZXNjYSAoQXJhZ29uKSBbU3BhaW5dIFtlcy1IdWVzY2FdCisjIEdlbmVyYXRlZCBieSBWaWNlbnRlIEhlcm5hbmRvIEFyYSA8Yml6ZW50b25AZ21haWwuY29tPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbQ0ggNDMgIEhUVi1IdWVzY2FUZWxldmlzaW9uXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNDQgIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA0NSAgVFZFIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNDggIE5JVFJPXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNTQgIEJPSU5HXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNTcgIEFSQUdPTiBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDYxICBUVkVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSCA2N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIIDY4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0ggNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTGFzX1BhbG1hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTGFzX1BhbG1hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYTk3MWVlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1MYXNfUGFsbWFzCkBAIC0wLDAgKzEsMTQ5IEBACisjIEZ1bmNpb25hIGNvcnJlY3RhbWVudGUgZW4gTGFzIFBhbG1hcyBkZSBHcmFuIENhbmFyaWEgKDI1LTA5LTIwMTApCisjIAorIyBSZXZpc2FkYSB5IGNvcnJlZ2lkYSBwb3IgZWwgR3J1cG8gZGUgVXN1YXJpb3MgZGUgTGludXggZGUgQ2FuYXJpYXMKKyMgaHR0cDovL3d3dy5ndWxpYy5vcmcKKyMKK1tDYW5hbCAyODogVFZFIEhELCBUZWxlZGVwb3J0ZSwgUk5FIENsw6FzaWNhLCBSTkUgM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDMyOiBCb2luZywgVGVsZWNpbmNvIEhELCBMYSAxMCwgTVRWLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDM1OiBTb2dlY3VhdHJvLCBMYVNleHRhMiwgTGFTZXh0YTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCAzODogTml0cm8sIEFudGVuYSAzIEhELCBNYXJjYSBUViwgVmVvMTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA0NDogQ2FuYWwgNyBHcmFuIENhbmFyaWEsIFRJQyBDYW5hbCA4LCBDYW5hbCA0LCBSVEldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1MjogTG9jYWxpYSwgTnVldmUgVFYsIE51ZXZlIFJhZGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjA6IFRWRTEsIFRWRTIsIDI0SCBUVkUsIENsYW4vVFZFLCBSTkUsIFJORUMsIFJORTMsIExhbnphZGVyYSwgRVBHLCBEaWdpdGV4dCwgTWV0ZW8sIEJvbHNhLCBUcmFmaWNvLCBFbXBsZWF0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjU6IFRWIEMsIFRWIEMyLCBBbnRlbmEgMyBDYW5hcmlhcywgUG9wdWxhciBUViwgQ2FuYXJpYXMgUmFkaW8sIENvcGUsIENhZGVuYSAxMDAsIFJhZGlvIEVDQ0EsIExhbnphZGVyYSwgVGlja2VyLCBQaWxvdG8gVERUXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbzcsIFRpZW5kYSBlbiBWZW8sIEFYTiwgSW50ZXJlY29ub21pYSwgVGVsZWRlcG9ydGUsIFJhZGlvIEludGVyZWNvbm9taWEsIFJhZGlvIE1hcmNhLCBlc1JhZGlvLCBWYXVnaGFuIFJhZGlvLCBDYW5hbCBJbmdlbmllcsOtYSwgR1VJREUgUGx1cyArLCBDNjZHYW5jaG8sIEM2NkxhbnphZGVyYSwgQzY2RVBHLCBFcGdOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCBDYW5hbCsgRG9zLCBDYW5hbCBDbHViLCBsYVNleHRhLCBTRVIsIDQwIFByaW5jaXBhbGVzLCBDYWRlbmEgRGlhbCwgTGFuemFkZXJhLCBFUEcgVERULCBUaWNrZXIsIExhbnphZGVyYSwgTm90aWNpYXMsIEVQR10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIExhIFNpZXRlLCBGREYsIENpbmNvU2hvcCwgRGlzbmV5IENoYW5uZWwsIFQ1TGFuemFkZXJhLCBUNURpZ2l0ZXh0LCBOb3RpY2lhcywgVGllbXBvLCBCb2xzYSwgVHLDoWZpY29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2OTogQW50ZW5hIDMsIE5lb3gsIE5vdmEsIEdvbCBUZWxldmlzacOzbiwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE9uZGEgTWVsb2TDrWEsIHR2dHYgRElHSVRBTCwgQTNMYW56YWRlcmEsIEEzUG9ydGFsLCBBM0VQRywgQTNUaWNrZXIsIFQtc2VuaW9yaXR5LCBHb2wgQmFyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUx1Z28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLUx1Z28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTMxNjRhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTHVnbwpAQCAtMCwwICsxLDc0IEBACisjIERWQi1UIEx1Z28gKENlbnRybyBlbWlzb3IgUGFyYW1vKSAtIFJldi4gMS4yIC0gMTEuMTIuMDUKKworW1RWRSAxLCBUVkUgMiwgMjRIIFRWRSwgQ0xBTi81MCBUVkUsIFJORTEsIFJORSBDTEFTSUNBLCBSTkUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVFZHLCBHQUxJQ0lBIFRWIEFNRVJJQ0EsIFJBRElPIEdBTEVHQSwgUi5HQUxFR0EgTVVTSUNBLCBTT04gR0FMSUNJQSBSQURJTywgUFJPQkFTIFJFVEVHQUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURUxFREVQT1JURSwgVkVPIFRWLCBWRU8gMiwgTkVUIFRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ1VBVFJPLCBDTk4rLCA0MCBMQVRJTk8sIExBIFNFWFRBIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURUxFQ0lOQ08sIFQ1IEVTVFJFTExBUywgVDUgU1BPUlQsIEZMWU1VU0lDXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQU5URU5BIDMsIEFOVEVOQS5ORU9YLCBBTlRFTkEuTk9WQSwgTEEgU0VYVEEgMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWRyaWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hZHJpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MGRmNmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NYWRyaWQKQEAgLTAsMCArMSwxNDIgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDExMDMwNiAyIDAgT0ZETSBFUyA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiA8YWRkIGRlc2NyaXB0aW9uIGhlcmU+CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMS0wMy0xNgorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IDx5b3VyIG5hbWUgb3IgZW1haWwgaGVyZT4KKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVsZWRpZnVzaW9uIE1hZHJpZF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSR0UyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUkdFIE1BRFJJRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tURFQtQ0FNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0ZOXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hbGFnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTWFsYWdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyMWU1ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU1hbGFnYQpAQCAtMCwwICsxLDczIEBACisjIERWQi1UIE1hbGFnYSAoQW5kYWx1Y2lhKSAgICAgICAgICAgICAgICAgICBieSBQZWRybyBMZW9uIDQgTWF5byAyMDA3CitbQzU3IExhIFByaW1lcmEsIExhIDIsIENhbmFsIDI0SCwgQ2xhbi9UVkUgNTAsIFJORTEsIFJORSBDbMOhc2ljYSwgUk5FIDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjMgQ2FuYWwgU3VyLCBDYW5hbCAyIEFuZGFsdWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2NiBURUxFREVQT1JURSwgVkVPLCAqQ2FuYWwgSW5nZW5pZXJpYSwgU0VUZW5WRU8sIFRpZW5kYSBlbiBWRU8sIE5FVCBUViwgUmFkaW8gSW50ZXJlY29ub21pYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2NyBDVUFUUk8sIENOTissIDQwIExBVElOTywgbGFTZXh0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OCBUZWxlY2luY28sIFQ1IEVzdHJlbGxhcywgVDUgU3BvcnQsIEZMWU1VU0lDLCBQVU5UTyBSQURJT10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2OSBBTlRFTkEgMywgQU5URU5BLk5FT1gsIEFOVEVOQS5OT1ZBLCAqdHZ0diBESUdJVEFMLCBPTkRBIENFUk8sIEVVUk9QQSBGTSwgT05EQSBNRUxPRElBLCBUZWxlaGl0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11cm9zLU5vaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11cm9zLU5vaWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjZkMzAxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtTXVyb3MtTm9pYQpAQCAtMCwwICsxLDg1IEBACisjIERWQi1UIE11cm9zIGFuZCBOb2lhCitbQ2FuYWwgMjc6IExvY2FsIFJpYmVpcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2MTogUkFSIEEgQ29ydW5oYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBSR0UgR2FsaWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBTRk4gMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBTRk4gMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBTRk4gM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBTRk4gNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXNzYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1NdXNzYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwMjM4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLU11c3NhcmEKQEAgLTAsMCArMSw3MyBAQAorIyBEVkItVCBMYSBNdXNzYXJhIChSZXVzLVRhcnJhZ29uYSkKK1tjNTk6IFRWMywgSzMvMzMsIDMvMjQsIDMwMCwgM2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjQ6IFRWRTEsIFRWRTIsIFRlbGVkZXBvcnRlLCBDMjRoXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY2OiBUVkUgQ2xhblRWLCBUVkUgNTBhLCBWZW8xLCBWZW8yLCBOZXRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tjNjc6IEN1YXRybywgNDBMYXRpbm8sIENOTissIExhU2V4dGEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW2M2ODogVDUsIFQ1IFNwb3J0cywgVDUgRXN0cmVsbGFzLCBOZXQgRmx5IE11c2ljXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbYzY5OiBBbnRlbmEzLCBBbnRlbmEuTmVveCwgQW50ZW5hLk5vdmEsIExhIFNleHRhIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtUGFtcGxvbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVBhbXBsb25hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlZDZmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVBhbXBsb25hCkBAIC0wLDAgKzEsODUgQEAKKyMgRFZCLVQgUGFtcGxvbmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNDX1RlbmVyaWZlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TQ19UZW5lcmlmZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNWVmM2JhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TQ19UZW5lcmlmZQpAQCAtMCwwICsxLDE0OSBAQAorIyBGdW5jaW9uYSBjb3JyZWN0YW1lbnRlIGVuIFNhbnRhIENydXogZGUgVGVuZXJpZmUgKDI1LTA5LTIwMTApCisjIAorIyBSZXZpc2FkYSB5IGNvcnJlZ2lkYSBwb3IgZWwgR3J1cG8gZGUgVXN1YXJpb3MgZGUgTGludXggZGUgQ2FuYXJpYXMKKyMgaHR0cDovL3d3dy5ndWxpYy5vcmcKKyMKK1tDMjNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGFuZGVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50YW5kZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDJmYzM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtU2FudGFuZGVyCkBAIC0wLDAgKzEsNTAgQEAKKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50aWFnb19kZV9Db21wb3N0ZWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TYW50aWFnb19kZV9Db21wb3N0ZWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OTQzZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNhbnRpYWdvX2RlX0NvbXBvc3RlbGEKQEAgLTAsMCArMSw4NSBAQAorIyBEVkItVCBTYW50aWFnbyBkZSBDb21wb3N0ZWxhCitbQ2FuYWwgMjM6IExvY2FsIFNhbnRpYWdvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNDA6IFJBUiBTYW50aWFnb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBSR0UgR2FsaWNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY2OiBTRk4gMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBTRk4gMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBTRk4gM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBTRk4gNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TZXZpbGxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1TZXZpbGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3ZWFlMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVNldmlsbGEKQEAgLTAsMCArMSwyMzEgQEAKKyMgRFZCLVQgU2V2aWxsYSAoU3BhaW4pIGJ5IHgyIDE1LWFnb3MtMjAxMCwgbW9kaWZpY2FkbyAxNS1hZ28tMjAxMAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYW5rcyB0byBodHRwOi8vd3d3LnRkdDEuY29tCisjICAgICAgICAgdGhhbmtzIHRvIGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwKK1tDMzNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVGVuZXJpZmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVRlbmVyaWZlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM5N2EwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVRlbmVyaWZlCkBAIC0wLDAgKzEsMTQ1IEBACisjIERWQi1UIFRlbmVyaWZlLCBTcGFpbiAoMDMvMDQvMjAxMSkKK1tDYW5hbCAyMzogbGFTZXh0YSAyLCBsYVNleHRhIDMsIGxhU2V4dGEgSEQsIEMrIDIsIEN1YXRyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDI0OiBDYW5hbCA3LCBNw61yYW1lLCBDYW5hbCA0IFRlbmVyaWZlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMjY6IE5pdHJvLCBBbnRlbmEgMywgTWFyY2EsIDEzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgMjk6IEJvaW5nLCBUZWxlNSBIRCwgTVRWLCBMYSAxMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDQ1OiBUVkUgSEQsIHRkcF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDU2OiBDYW5hbCA2IFRlaWRlVmlzacOzbiwgRWxEw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTk6IFRWIENhbmFyaWEsIFRWIENhbmFyaWEgMiwgQW50ZW5hIDMgQ2FuYXJpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYwOiBMYSAxLCBMYSAyLCAyNGgsIENsYW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVGVsZWRlcG9ydGUsIENhbmFsIEluZ2VuaWVyw61hLCBWZW83LCBJbnRlcmVjb25vbcOtYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBsYVNleHRhLCBsYVNleHRhIDMsIEdvbCBUZWxldmlzacOzbiwgQ3VhdHJvLCBEaXZpbml0eSwgTGEgVGllbmRhIGVuIENhc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZTUsIEZERiwgbGFTaWV0ZSwgRGlzbmV5IENoYW5uZWwsIEludGVyZWNvbm9tw61hXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFudGVuYSAzLCBOZW94LCBOb3ZhLCBWZW83LCBBWE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVmFsZW5jaWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGVuY2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0YzM1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGVuY2lhCkBAIC0wLDAgKzEsOTcgQEAKKyMgRFZCLVQgVmFsZW5jaWEsIFNwYWluCitbQ2FuYWwgMjM6IFRNViwgVGVsZSA3LCBBcHJlbmRlIGluZ2xlcyBUViwgRWQuIFByZW5zYSBWYWwuLFIuTWVkaWFtZWRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1NTogVFYzLCAzMywgMy8yNCwgSzMvMzAwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNTc6IENhbmFsIDksIFB1bnQgMiwgUG9wdWxhciBUViwgTFAgVGV2YSwgUmFkaW8gOSwgU2kgUmFkaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA1ODogVFZFIDEsIExhIDIsIDI0SCBUVkUsIENsYW4gVFZFLCBSTkUgMSwgUk5FIEMsIFJORSAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgU29ueSBUViBlbiBWZW8sIFRpZW5kYSBlbiBWZW8sIEludGVyZWNvbm9taWEsIFRlbGVkZXBvcnRlLCBSLiBJbnRlcmVjLiwgUi4gTWFyY2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIFByb21vLCBMYSBTZXh0YSwgU2VyLCA0MCBQcmluYy4sIENhZC4gRGlhbF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIFRlbGVjaW5jbyAyLCBGREYsIENpbmNvIFNob3AsIERpc25leSBDaGFubmVsLCBQdW50byBSYWRpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBIb2dhciAxMCwgT25kYSBDZXJvLCBFdXJvcGEgRk0sIE9uZGEgTWVsb2RpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxsYWRvbGlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WYWxsYWRvbGlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxYmYwYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZhbGxhZG9saWQKQEAgLTAsMCArMSw2MSBAQAorIyBEVkItVCBWYWxsYWRvbGlkCitbQ2FuYWwgNTc6IENsYW4gVFZFLCAyNEggVFZFLCBMYSAyLCBUVkUgMSwgUk5FMSwgUk5FMywgUk5DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjY6IFZlbywgVmVvIDIsIE5ldCBUViwgVGVsZWRlcG9ydGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NzogQ3VhdHJvLCBDTk4rLCA0MCBMYXRpbm8sIExhIFNleHRhIDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2ODogVGVsZWNpbmNvLCBUZWxlY2luY28gU3BvcnQsIFRlbGVjaW5jbyBFc3RyZWxsYXMsIEZseSBNdXNpY10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBbnRlbmEgMywgQW50ZW5hIE5lb3gsIEFudGVuYSBOb3ZhLCBMYSBTZXh0YSAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVZpbGFtYXJ4YW50IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaWxhbWFyeGFudApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzU1ZWVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaWxhbWFyeGFudApAQCAtMCwwICsxLDI1IEBACisjIERWQi1UIFZpbGFtYXJ4YW50LCBWYWxlbmNpYSwgQy4gVmFsZW5jaWFuYSwgU3BhaW4uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVml0b3JpYS1HYXN0ZWl6IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9lcy1WaXRvcmlhLUdhc3RlaXoKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTQ3NWM4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtVml0b3JpYS1HYXN0ZWl6CkBAIC0wLDAgKzEsNzQgQEAKKyMgQ2hhbm5lbCBuYW1lcyBpbiB1c2UgYXQgMjAwOS8wNy8xMiwgaW4gQ2hhbm5lbCA2NiBbZmZmZV0gaXMgYSBzY3JhbWJsZWQgY2hhbm5lbC4KKyMgSW4gdGhlIGdlbmVyYXRlZCAqY2hhbm5lbHMuY29uZiBmaWxlIGNvdWxkIGJlIG5lY2VzYXJ5IHRvIGNoYW5nZSBJbnRlcmVjb25vbcOtYSwgUmFkaW8gSW50ZXJlY29ub23DrWEsIE9OREEgTUVMT0TDjUEgdG8gSW50ZXJlY29ub21pYSwgUmFkaW8gSW50ZXJlY29ub21pYSwgT05EQSBNRUxPRElBIGZvciBUb3RlbSB0byB3b3JrIHdlbGwuCitbQ2FuYWwgNTg6IEVUQjEsIEVUQjIsIEVUQjMsIEVUQlNBVCwgRXVza2FkaSBJcnJhdGlhLCBHYXp0ZWEsIEVpVEIgSXJyYXRpYSwgUmFkaW8gRXVza2FkaSwgUmFkaW8gVml0b3JpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDYzOiBMYSAxLCBMYSAyLCAyNGgsIENsYW4sIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVGVsZWRlcG9ydGUsIENhbmFsIEluZ2VuaWVyaWEsIFZFTzcsIFNPTlkgVFYgZW4gVkVPLCBUaWVuZGEgZW4gVkVPLCBHVUlERSBQTFVTKywgSW50ZXJlY29ub23DrWEsIFJhZGlvIEludGVyZWNvbm9tw61hLCBbZmZmZV0sIFJBRElPIE1BUkNBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjc6IGxhU2V4dGEsIENVQVRSTywgQ05OKywgNDAgTEFUSU5PLCBDQU5BTCBDTFVCLCBTRVIsIDQwIFBSSU5DSVBBTEVTLCBDQURFTkEgRElBTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUZWxlY2luY28sIEZERiwgTGFTaWV0ZSwgRGlzbmV5IENoYW5uZWwsIENpbmNvc2hvcF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY5OiBBTlRFTkEgMywgQU5URU5BLk5FT1gsIEFOVEVOQS5OT1ZBLCBPTkRBIENFUk8sIEVVUk9QQSBGTSwgT05EQSBNRUxPRMONQSwgSE9HQVIgMTBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZXMtWmFyYWdvemEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVphcmFnb3phCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2YWFiNDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2VzLVphcmFnb3phCkBAIC0wLDAgKzEsNjIgQEAKKyMgRFZCLVQgWmFyYWdvemEgKEFyYWfDs24pIFtTcGFpbl0gW2VzLVphcmFnb3phXQorIyBHZW5lcmF0ZWQgYnkgVsOtY3RvciBNYXJ0w61uZXogUm9tYW5vcyA8dm1yb21hbm9zQGdtYWlsLmNvbT4KK1tDYW5hbCA2MzogVFZFIDEsIFRWRSAyLCAyNEgsIENMQU4vNTAsIFJORTEsIFJORUMsIFJORTNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDYW5hbCA2NjogVEVMRURFUE9SVEUsIFZFTyBUViwgVkVPIDIsIE5FVCBUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY3OiBDVUFUUk8sIENOTissIDQwIExBVElOTywgTEEgU0VYVEEgMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NhbmFsIDY4OiBUNSBFU1RSRUxMQVMsIFQ1IFNQT1JULCBURUxFQ0lOQ08sIEZMWU1VU0lDXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2FuYWwgNjk6IEFOVEVOQSAzLCBBTlRFTkEuTkVPWCwgQU5URU5BLk5PVkEsIExBIFNFWFRBIDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BYW5la29za2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2RkYTMyNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWFuZWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBYW5la29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FhbmVrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpX0tvbmdpbmthbmdhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWFuZWtvc2tpX0tvbmdpbmthbmdhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjEzNzQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BYW5la29za2lfS29uZ2lua2FuZ2FzCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWFuZWtvc2tpX0tvbmdpbmthbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFodGFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWh0YXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhOTBlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFodGFyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0FodGFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWh0YXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQWxhamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFsYWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxMjQ4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUFsYWphcnZpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbQWxhamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FsYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbGFqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQWxhamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1BbmphbGFua29za2lfUnVvdGlsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQW5qYWxhbmtvc2tpX1J1b3RpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGFlMTIzMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktQW5qYWxhbmtvc2tpX1J1b3RpbGEKQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tBbmphbGFua29za2lfUnVvdGlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0FuamFsYW5rb3NraV9SdW90aWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tBbmphbGFua29za2lfUnVvdGlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQW5qYWxhbmtvc2tpX1J1b3RpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUVzcG9vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXNwb28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q3NGZjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUVzcG9vCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXVyYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1FdXJham9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWRlOTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtRXVyYWpva2kKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1lZW5saW5uYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWVlbmxpbm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjRlY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYW1lZW5saW5uYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhhbWluYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNTI1Y2IwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGFtaW5hCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGF1c2phcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSGF1c2phcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjRlY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IYXVzamFydmkKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IZWxzaW5raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUhlbHNpbmtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNzRmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1IZWxzaW5raQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUpva2lvaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUpva2lvaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmI0ZWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSm9raW9pbmVuCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSnl2YXNreWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtSnl2YXNreWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNWM4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1KeXZhc2t5bGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWFyaW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FhcmluYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NWNhM2JkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FhcmluYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthamFhbmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWphYW5pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1MjVjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYWphYW5pCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FuZ2FzYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2FuZ2FzYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiMjdkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYW5nYXNhbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYXJra2lsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUthcmtraWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkNzRmYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LYXJra2lsYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtpaW1pbmtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS2lpbWlua2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtpaW1pbmtpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS29ra29sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtva2tvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtva2tvbGEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb250aW9sYWh0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtvbnRpb2xhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3ODk1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb250aW9sYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUtvdXZvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb3V2b2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM1MjVjYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Lb3V2b2xhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS3VvcGlvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtS3VvcGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYzYmUzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1LdW9waW8KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYWh0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhaHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxNDdkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1MYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhcHBlZW5yYW50YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLUxhcHBlZW5yYW50YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNzg5NWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTGFwcGVlbnJhbnRhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG9oamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Mb2hqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG9oamEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1Mb3ZpaXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG92aWlzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTG92aWlzYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU1pa2tlbGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1NaWtrZWxpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3ODk1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1NaWtrZWxpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMjY1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTm91c2lhaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU5vdXNpYWluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODVjYTNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLU5vdXNpYWluZW4KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1OdXJtaWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTnVybWlqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtTnVybWlqYXJ2aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVBvcnZvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVBvcnZvbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDc0ZmMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtUG9ydm9vCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2FsbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODVjYTNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNhbG8KQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1TYXZvbmxpbm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2F2b25saW5uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Mjk1NDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2F2b25saW5uYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjE5NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNlaW5ham9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVNlaW5ham9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZjVkN2U1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtU2VpbmFqb2tpCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVHlybmF2YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVR5cm5hdmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTI1YzgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVR5cm5hdmEKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1VbHZpbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1VbHZpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFkZTkzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVVsdmlsYQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhYXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFhc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmY1ZDdlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZhYXNhCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTk1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFsa2Vha29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WYWxrZWFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYjI3ZGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtVmFsa2Vha29za2kKQEAgLTAsMCArMSwzOCBAQAorIyAyMDE0LTAzLTA4IE9sbGkgU2Fsb25lbiA8b2xsaS5zYWxvbmVuQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kbmEuZmkvdHVraS1hbnRlbm5pdmVya29uLW5ha3l2eXlzYWx1ZWV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIyNjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxOS8yNTYKKwlISUVSQVJDSFkgPSBBVVRPCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WZXNpbGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUROQS1WZXNpbGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2IyN2RlMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVZlc2lsYWh0aQpAQCAtMCwwICsxLDM4IEBACisjIDIwMTQtMDMtMDggT2xsaSBTYWxvbmVuIDxvbGxpLnNhbG9uZW5AaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRuYS5maS90dWtpLWFudGVubml2ZXJrb24tbmFreXZ5eXNhbHVlZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDE5LzI1NgorCUhJRVJBUkNIWSA9IEFVVE8KKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVlsaXZpZXNrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRE5BLVlsaXZpZXNrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MTQ3ZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ETkEtWWxpdmllc2thCkBAIC0wLDAgKzEsMzggQEAKKyMgMjAxNC0wMy0wOCBPbGxpIFNhbG9uZW4gPG9sbGkuc2Fsb25lbkBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZG5hLmZpL3R1a2ktYW50ZW5uaXZlcmtvbi1uYWt5dnl5c2FsdWVldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IEFVVE8KKwlNT0RVTEFUSU9OID0gUUFNL0FVVE8KKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMTkvMjU2CisJSElFUkFSQ0hZID0gQVVUTworCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fQWhvdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19BaG92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMWFiZGJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fQWhvdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFbm9udGVraW9fQWhvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0Vub250ZWtpb19BaG92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19IZXR0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0hldHRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmZjZiODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUVub250ZWtpb19IZXR0YQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0Vub250ZWtpb19IZXR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRW5vbnRla2lvX0hldHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0t1dHRhbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fbm9udGVraW9fS3V0dGFuZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjlhNmFmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRW5vbnRla2lvX0t1dHRhbmVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRW5vbnRla2lvX0t1dHRhbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFbm9udGVraW9fS3V0dGFuZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Fc3BvbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXNwb28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ViOTA2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXNwb28KQEAgLTAsMCArMSwzMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFc3Bvby1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFc3Bvby1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXNwb28tSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1FdXJham9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXVyYWpva2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWQwOTBhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRXVyYWpva2kKQEAgLTAsMCArMSwyOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tFdXJham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0V1cmFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tFdXJham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRXVyYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRmlza2FycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktRmlza2FycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjg0YmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1GaXNrYXJzCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbRmlza2Fyc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhYXBhdmVzaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFhcGF2ZXNpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiZTFmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhYXBhdmVzaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhYXBhdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFhcGF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYWFwYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhYXBhdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmt5cm9fS3lyb3Nrb3NraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFtZWVua3lyb19LeXJvc2tvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhhOTg3OTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmt5cm9fS3lyb3Nrb3NraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhbWVlbmt5cm9fS3lyb3Nrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVua3lyb19LeXJvc2tvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW1lZW5reXJvX0t5cm9za29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbWVlbmt5cm9fS3lyb3Nrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhbWVlbmxpbm5hX1BhaW5va2FuZ2FzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5saW5uYV9QYWlub2thbmdhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YTU2YjJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW1lZW5saW5uYV9QYWlub2thbmdhcwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhbWVlbmxpbm5hX1BhaW5va2FuZ2FzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW1lZW5saW5uYV9QYWlub2thbmdhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFtZWVubGlubmFfUGFpbm9rYW5nYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IYW5rbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFua28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWIwOGExNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFua28KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIYW5rb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGFua29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhbmtvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIYW5rb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhcnRvbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhhcnRvbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDEwZGYyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGFydG9sYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hhcnRvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWluYXZlc2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUhlaW5hdmVzaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzNiYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWluYXZlc2kKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIZWluYXZlc2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0hlaW5hdmVzaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbmF2ZXNpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbm9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSGVpbm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTZmMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IZWlub2xhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSGVpbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTExZjg5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5cnluc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX0t5cGFyYXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX0t5cGFyYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY0MDJkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5cnluc2FsbWlfS3lwYXJhdmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXJ5bnNhbG1pX0t5cGFyYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9QYWxqYWtrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSHlyeW5zYWxtaV9QYWxqYWtrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MDZhM2MwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXJ5bnNhbG1pX1BhbGpha2thCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHlyeW5zYWxtaV9QYWxqYWtrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUh5dmlua2FhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXZpbmthYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzExYjE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1IeXZpbmthYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0h5dmlua2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tIeXZpbmthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSHl2aW5rYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0h5dmlua2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlfUmFpc2tpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlfUmFpc2tpbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNWZkYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JaV9SYWlza2lvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSWlfUmFpc2tpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWlfUmFpc2tpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpc2FsbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlpc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI4MTgyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSWlzYWxtaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0lpc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lpc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlrYWFsaW5lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODVkNDRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW4KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJa2FhbGluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW5fUmlpdGlhbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUlrYWFsaW5lbl9SaWl0aWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NWQ4MjAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ja2FhbGluZW5fUmlpdGlhbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJa2FhbGluZW5fUmlpdGlhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0lrYWFsaW5lbl9SaWl0aWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSWthYWxpbmVuX1JpaXRpYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJa2FhbGluZW5fUmlpdGlhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzFkZWIyMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSW5hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9KYW5pc3BhYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfSmFuaXNwYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzdiZDMxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSW5hcmlfSmFuaXNwYWEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV9KYW5pc3BhYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSW5hcmlfSmFuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9OYWF0YW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1JbmFyaV9OYWF0YW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhODQzNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUluYXJpX05hYXRhbW8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tJbmFyaV9OYWF0YW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tJbmFyaV9OYWF0YW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSXZhbG9fU2FhcmluZWl0YW1vdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUl2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwMTgxYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUl2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSXZhbG9fU2FhcmluZWl0YW1vdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0l2YWxvX1NhYXJpbmVpdGFtb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFsYXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFsYXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YmM3MDU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYWxhc2phcnZpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFsYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX0hhbGxpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9IYWxsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZDA2NTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9IYWxsaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX0hhbGxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9IYWxsaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfSGFsbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX0hhbGxpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfS2FpcG9sYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfS2FpcG9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYThlNTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9LYWlwb2xhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfS2FpcG9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhX01hdGtvc3Z1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9NYXRrb3N2dW9yaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYWNhY2ZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9NYXRrb3N2dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhX01hdGtvc3Z1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYV9NYXRrb3N2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfTWF0a29zdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhX01hdGtvc3Z1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfT3VuaW5wb2hqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSmFtc2FfT3VuaW5wb2hqYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MGViOGUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYV9PdW5pbnBvaGphCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2FfT3VuaW5wb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUphbXNhbmtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYW5rb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDJiZTkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KYW1zYW5rb3NraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0phbXNhbmtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKYW1zYW5rb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSmFtc2Fua29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0phbXNhbmtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm9lbnN1dV9WZXN0aW5rYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvZW5zdXVfVmVzdGlua2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2NWJhMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvZW5zdXVfVmVzdGlua2FsbGlvCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSm9lbnN1dV9WZXN0aW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvZW5zdXVfVmVzdGlua2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb2Vuc3V1X1Zlc3RpbmthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvcm9pbmVuX1B1dWtrb2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3JvaW5lbl9QdXVra29sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZmNlOGRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3JvaW5lbl9QdXVra29sYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0pvcm9pbmVuX1B1dWtrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3JvaW5lbl9QdXVra29sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm9yb2luZW5fUHV1a2tvbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2FfTGFua2lhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Kb3V0c2FfTGFua2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjNDRjODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzYV9MYW5raWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2FfTGFua2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSm91dHNlbm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzZW5vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwMzM3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUpvdXRzZW5vCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSm91dHNlbm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKb3V0c2Vub10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSm91dHNlbm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0pvdXRzZW5vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp1dXBham9raV9Lb3BzYW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXVwYWpva2lfS29wc2FtbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOTlhZjc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXVwYWpva2lfS29wc2FtbwpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0p1dXBham9raV9Lb3BzYW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXVwYWpva2lfS29wc2Ftb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnV1cGFqb2tpX0tvcHNhbW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KdXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiOGExNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp1dmEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKdXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1KeXZhc2t5bGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDJjZWQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhCkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSnl2YXNreWxhLUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1CXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGEtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhLUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYS1EXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbSnl2YXNreWxhLUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktSnl2YXNreWxhX1ZhYWpha29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYV9WYWFqYWtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyYjVhYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUp5dmFza3lsYV9WYWFqYWtvc2tpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbSnl2YXNreWxhX1ZhYWpha29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0p5dmFza3lsYV9WYWFqYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tKeXZhc2t5bGFfVmFhamFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthYXZpX1NpdmFra2F2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FhdmlfU2l2YWtrYXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OTVhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthYXZpX1NpdmFra2F2YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thYXZpX1NpdmFra2F2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FhdmlfU2l2YWtrYXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWF2aV9TaXZha2thdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWphYW5pX1BvbGx5dmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthamFhbmlfUG9sbHl2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZWE3YjkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYWphYW5pX1BvbGx5dmFhcmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYWphYW5pX1BvbGx5dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thamFhbmlfUG9sbHl2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FqYWFuaV9Qb2xseXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FsYWpva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbGFqb2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhYjc5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbGFqb2tpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FsYWpva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbGFqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYWxham9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmdhc2xhbXBpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNsYW1waQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kODRiMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNsYW1waQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbmdhc2xhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYW5nYXNsYW1waV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbGFtcGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmdhc2xhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbmllbWlfVHVya2lubWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FuZ2FzbmllbWlfVHVya2lubWFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NjQ3NmU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYW5nYXNuaWVtaV9UdXJraW5tYWtpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FuZ2FzbmllbWlfVHVya2lubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmthYW5wYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthbmthYW5wYWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTNkZjdiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fua2FhbnBhYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thbmthYW5wYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJpZ2FzbmllbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcmlnYXNuaWVtaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDU0OGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJpZ2FzbmllbWkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXJpZ2FzbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcmlnYXNuaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcmtraWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJra2lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNTk4ZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXJra2lsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thcmtraWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJra2lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2Fya2tpbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcmtraWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2Fyc3R1bGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnN0dWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmZDMwMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnN0dWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS2Fyc3R1bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thcnN0dWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJzdHVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnZpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2FydmlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxZTg5YjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthcnZpYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0thcnZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2FydmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLYXJ2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXVuaXNwYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUthdW5pc3BhYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWZlYTljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LYXVuaXNwYWEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLYXVuaXNwYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0thdW5pc3BhYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlbWlqYXJ2aV9TdW9tdXR1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtlbWlqYXJ2aV9TdW9tdXR1bnR1cmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFjNWQ5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VtaWphcnZpX1N1b211dHVudHVyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tlbWlqYXJ2aV9TdW9tdXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tlbWlqYXJ2aV9TdW9tdXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LZXJpbWFraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VyaW1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhmNDVkMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2VyaW1ha2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLZXJpbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2VyaW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tlcmltYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXJpbWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2V1cnV1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkNDliNWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tldXJ1dV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2V1cnV1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLZXVydXVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dV9IYWFwYW1ha2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtldXJ1dV9IYWFwYW1ha2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ZiOWIwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2V1cnV1X0hhYXBhbWFraQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tldXJ1dV9IYWFwYW1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWhuaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpaG5pbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YzVjOTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWhuaW8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWhuaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tpaG5pb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lobmlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLaWhuaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWlodGVseXN2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lpaHRlbHlzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJlNjBiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lpaHRlbHlzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWlodGVseXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lpaHRlbHlzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaWxwaXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lscGlzamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWQzNDM1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS2lscGlzamFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaWxwaXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS2lscGlzamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaXR0aWxhX0xldml0dW50dXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LaXR0aWxhX0xldml0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFlNGMxYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtpdHRpbGFfTGV2aXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLaXR0aWxhX0xldml0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLaXR0aWxhX0xldml0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29sYXJpX1Z1b2xpdHRhamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGFyaV9WdW9saXR0YWphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY1MDc3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvbGFyaV9WdW9saXR0YWphCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS29sYXJpX1Z1b2xpdHRhamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvbGFyaV9WdW9saXR0YWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29saSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29saQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzRiZjJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb2xpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS29saV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBpbGFodGlfVmFhcnVudnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBpbGFodGlfVmFhcnVudnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZhM2VkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS29ycGlsYWh0aV9WYWFydW52dW9yaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tvcnBpbGFodGlfVmFhcnVudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwcG9vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Lb3JwcG9vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjODQyNDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUtvcnBwb28KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLb3JwcG9vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3J1dW51cHl5IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LcnV1bnVweXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjVkODZjNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3J1dW51cHl5CkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLcnV1bnVweXldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0tydXVudXB5eV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3J1dW51cHl5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLcnV1bnVweXldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fSGF1a2VsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9fSGF1a2VsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jM2EzYmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19IYXVrZWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fSGF1a2VsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX0xlbnRpaXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19MZW50aWlyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTI3OTk5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19MZW50aWlyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1aG1vX0xlbnRpaXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19MZW50aWlyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9fTGVudGlpcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19OaXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb19OaXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZmN2FhMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vX05pdmEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb19OaXZhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTNkMmRlOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX0hhcmp1bnNhbG1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdWhtb2luZW5fSGFyanVuc2FsbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDU5ZGY5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX0hhcmp1bnNhbG1pCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuX0hhcmp1bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fSGFyanVuc2FsbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl9IYXJqdW5zYWxtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VobW9pbmVuX0hhcmp1bnNhbG1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VobW9pbmVuX1B1dWtrb2luZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9QdXVra29pbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjExM2UwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1aG1vaW5lbl9QdXVra29pbmVuCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3VobW9pbmVuX1B1dWtrb2luZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1aG1vaW5lbl9QdXVra29pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdWhtb2luZW5fUHV1a2tvaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1b3BpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VvcGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViMzllNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1b3BpbwpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VvcGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdW9waW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1b3Bpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VvcGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1cmlra2FfS2VzdGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1cmlra2FfS2VzdGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzM0Y2ZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3VyaWtrYV9LZXN0aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1cmlra2FfS2VzdGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXN0YXZpX1ZpaGVybGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1c3RhdmlfVmloZXJsYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lY2VmNzRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXN0YXZpX1ZpaGVybGFodGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdXN0YXZpX1ZpaGVybGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0t1c3RhdmlfVmloZXJsYWh0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3VzdGF2aV9WaWhlcmxhaHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXN0YXZpX1ZpaGVybGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXVzYW1vX0hhbXBwdWxhbXBpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LdXVzYW1vX0hhbXBwdWxhbXBpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjZTkyNDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUt1dXNhbW9fSGFtcHB1bGFtcGkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tLdXVzYW1vX0hhbXBwdWxhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tLdXVzYW1vX0hhbXBwdWxhbXBpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3l5amFydmlfTm9wb3NlbmFobyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktS3l5amFydmlfTm9wb3NlbmFobwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2RlYWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1LeXlqYXJ2aV9Ob3Bvc2VuYWhvCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbS3l5amFydmlfTm9wb3NlbmFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhaHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYWh0aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNGM4OWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYWh0aQpAQCAtMCwwICsxLDMzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhaHRpLUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhaHRpLURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYWh0aS1IXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhcHVhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXB1YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MDg0NDQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXB1YQpAQCAtMCwwICsxLDI4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhcHVhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGFwdWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhcHVhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXB1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdWthYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYzQ4NGFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXVrYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXVrYWFfVmlodGF2dW9yaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhX1ZpaHRhdnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWJjOTNhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTGF1a2FhX1ZpaHRhdnVvcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMYXVrYWFfVmlodGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF1a2FhX1ZpaHRhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xhdWthYV9WaWh0YXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXVrYWFfVmlodGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxhdmlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXZpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMmYxMzkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MYXZpYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xhdmlhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMYXZpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTGF2aWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Mb2hqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9oamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDA0MGY5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9oamEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9oamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaGphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2hqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaW1hYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTG9pbWFhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBiNmFhZDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUxvaW1hYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0xvaW1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTG9pbWFhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMb2ltYWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0xvaW1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1aGFua2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1aGFua2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjY0MDdjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTHVoYW5rYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0x1aGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdW9waW9pbmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1MdW9waW9pbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllZDRlM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLUx1b3Bpb2luZW4KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tMdW9waW9pbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NYW50dGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTIwMTQwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHRhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTWFudHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tNYW50dGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01hbnR0YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHloYXJqdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWFudHloYXJqdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjdmMTI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NYW50eWhhcmp1CkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTWFudHloYXJqdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1pa2tlbGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU1pa2tlbGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjUyMzg3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTWlra2VsaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW01pa2tlbGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NdW9uaW9fT2xvc3R1bnR1cmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU11b25pb19PbG9zdHVudHVyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZmRmMGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1NdW9uaW9fT2xvc3R1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tNdW9uaW9fT2xvc3R1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW011b25pb19PbG9zdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwOGQxYzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW05pbHNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5pbHNpYV9LZXNraS1TaWlrYWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZmJjNTYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW05pbHNpYV9LZXNraS1TaWlrYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOaWxzaWFfS2Vza2ktU2lpa2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhX0tlc2tpLVNpaWthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OaWxzaWFfUGlzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX1Bpc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGM4ZWUzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTmlsc2lhX1Bpc2EKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOaWxzaWFfUGlzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTmlsc2lhX1Bpc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05pbHNpYV9QaXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhMmIzODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU5va2lhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTm9raWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Ob2tpYV9TaXVybyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWFfU2l1cm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWJhM2NjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTm9raWFfU2l1cm8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tOb2tpYV9TaXVyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTm9raWFfU2l1cm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW05va2lhX1NpdXJvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOb2tpYV9TaXVyb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51bW1pLVB1c3VsYV9IeW9ub2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW1taS1QdXN1bGFfSHlvbm9sYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wODg0MGNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW1taS1QdXN1bGFfSHlvbm9sYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051bW1pLVB1c3VsYV9IeW9ub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdW1taS1QdXN1bGFfSHlvbm9sYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVtbWktUHVzdWxhX0h5b25vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051bW1pLVB1c3VsYV9IeW9ub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9OamFsbGF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9OamFsbGF2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMWMxYzNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdW9yZ2FtX05qYWxsYXZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVvcmdhbV9OamFsbGF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVvcmdhbV9OamFsbGF2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fcmFqYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVvcmdhbV9yYWphCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiMmNiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51b3JnYW1fcmFqYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW051b3JnYW1fcmFqYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVvcmdhbV9yYWphXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvbm5hbnZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1OdXJtZXNfS29ubmFudmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2NkM2Q5MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvbm5hbnZhYXJhCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVybWVzX0tvbm5hbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ubmFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051cm1lc19Lb25uYW52YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbTnVybWVzX0tvbm5hbnZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktTnVybWVzX0tvcnRldmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb3J0ZXZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlMTE4YWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU51cm1lc19Lb3J0ZXZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbTnVybWVzX0tvcnRldmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW051cm1lc19Lb3J0ZXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tOdXJtZXNfS29ydGV2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU9yaXZlc2lfVGFsdmlhaW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktT3JpdmVzaV9UYWx2aWFpbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE0OTc4MmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU9yaXZlc2lfVGFsdmlhaW5lbgpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW09yaXZlc2lfVGFsdmlhaW5lbl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3JpdmVzaV9UYWx2aWFpbmVuXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPcml2ZXNpX1RhbHZpYWluZW5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1PdWx1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1PdWx1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBlMzkwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLU91bHUKQEAgLTAsMCArMSwzMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tPdWx1LUFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbT3VsdS1DXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tPdWx1LUVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW091bHUtSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhZGFzam9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NzI0NmI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYWRhc2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhZGFzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFkYXNqb2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2lfQXJyYWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWRhc2pva2lfQXJyYWtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4YzFiMDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhZGFzam9raV9BcnJha29za2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWRhc2pva2lfQXJyYWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFsdGFtb19LaXZlc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QYWx0YW1vX0tpdmVzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTZmOGJhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFsdGFtb19LaXZlc3ZhYXJhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGFsdGFtb19LaXZlc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYWx0YW1vX0tpdmVzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhbHRhbW9fS2l2ZXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmFpbmVuX0hvdXRza2FyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFyYWluZW5fSG91dHNrYXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUxODc4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmFpbmVuX0hvdXRza2FyaQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BhcmFpbmVuX0hvdXRza2FyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyYWluZW5fSG91dHNrYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJhaW5lbl9Ib3V0c2thcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BhcmFpbmVuX0hvdXRza2FyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmlra2FsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFyaWtrYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwZjUyZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmlra2FsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Bhcmlra2FsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFyaWtrYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJpa2thbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmlra2FsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmthbm9fU29wdWthbGxpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGFya2Fub19Tb3B1a2FsbGlvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYyZTg1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBhcmthbm9fU29wdWthbGxpbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Bhcmthbm9fU29wdWthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGFya2Fub19Tb3B1a2FsbGlvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQYXJrYW5vX1NvcHVrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bhcmthbm9fU29wdWthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yY2JkMjhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZWxsbwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BlbGxvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZWxsb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvX1JhdGFzdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlbGxvX1JhdGFzdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmY3ZjY2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVsbG9fUmF0YXN2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BlbGxvX1JhdGFzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BlbGxvX1JhdGFzdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QZXJobyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVyaG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE3YTJkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVyaG8KQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQZXJob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGVyaG9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BlcmhvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQZXJob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcm5hamEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBlcm5hamEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTQ1OWU4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGVybmFqYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Blcm5hamFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWVrc2FtYWtpX0hhbGtva3VtcHUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBpZWtzYW1ha2lfSGFsa29rdW1wdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDNmOWEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWVrc2FtYWtpX0hhbGtva3VtcHUKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQaWVrc2FtYWtpX0hhbGtva3VtcHVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BpZWtzYW1ha2lfSGFsa29rdW1wdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlla3NhbWFraV9IYWxrb2t1bXB1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlodGlwdWRhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUGlodGlwdWRhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MmNkZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QaWh0aXB1ZGFzCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUGlodGlwdWRhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvcnZvb19TdW9tZW5reWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3J2b29fU3VvbWVua3lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YjVlNzlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Qb3J2b29fU3VvbWVua3lsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1BvcnZvb19TdW9tZW5reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQb3J2b29fU3VvbWVua3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUG9ydm9vX1N1b21lbmt5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1BvcnZvb19TdW9tZW5reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUG9zaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvc2lvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyNTg2NDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVBvc2lvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUG9zaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Bvc2lvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVkYXNqYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYzg1ZDlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmlfSXNvLVN5b3RlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0lzby1TeW90ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNGNlYmRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0lzby1TeW90ZQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1B1ZGFzamFydmlfSXNvLVN5b3RlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdWRhc2phcnZpX0lzby1TeW90ZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVkYXNqYXJ2aV9Jc28tU3lvdGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0thbmdhc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QdWRhc2phcnZpX0thbmdhc3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiOTExNjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1ZGFzamFydmlfS2FuZ2FzdmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQdWRhc2phcnZpX0thbmdhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdWRhc2phcnZpX0thbmdhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHVvbGFua2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1b2xhbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzNzBhOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB1b2xhbmthCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHVvbGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B1b2xhbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQdW9sYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHVvbGFua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdHVudHVyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXR1bnR1cmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzUwMDU3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHloYXR1bnR1cmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQeWhhdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHloYXR1bnR1cmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5aGF2dW9yaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZDIzMjY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1QeWhhdnVvcmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tQeWhhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5aGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUHloYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUHlsa29ubWFraV9LYXJhbmthamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5bGtvbm1ha2lfS2FyYW5rYWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkN2VmMTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVB5bGtvbm1ha2lfS2FyYW5rYWphcnZpCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUHlsa29ubWFraV9LYXJhbmthamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1B5bGtvbm1ha2lfS2FyYW5rYWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tQeWxrb25tYWtpX0thcmFua2FqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX01lc3RhdXNrYWxsaW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhYWhlX01lc3RhdXNrYWxsaW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTRjYzdiMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfTWVzdGF1c2thbGxpbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX01lc3RhdXNrYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYWFoZV9QaWVoaW5raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfUGllaGlua2kKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWIzODM2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFhaGVfUGllaGlua2kKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSYWFoZV9QaWVoaW5raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmFhaGVfUGllaGlua2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhYWhlX1BpZWhpbmtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfSGFhc2lvbm1hYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmFudWFfSGFhc2lvbm1hYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MzdhMTBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9IYWFzaW9ubWFhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUmFudWFfSGFhc2lvbm1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmFudWFfSGFhc2lvbm1hYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhbnVhX0xlcHBpYWhvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9MZXBwaWFobwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NGQzZWVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYW51YV9MZXBwaWFobwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhbnVhX0xlcHBpYWhvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYW51YV9MZXBwaWFob10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRhdmFhcmFfQW5nZXJ2aWtrbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUmF1dGF2YWFyYV9BbmdlcnZpa2tvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM4OWU0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRhdmFhcmFfQW5nZXJ2aWtrbwpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhdXRhdmFhcmFfQW5nZXJ2aWtrb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGF2YWFyYV9BbmdlcnZpa2tvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYXV0YXZhYXJhX0FuZ2Vydmlra29dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JhdXRhdmFhcmFfQW5nZXJ2aWtrb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJhdXRqYXJ2aV9TaW1wZWxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0amFydmlfU2ltcGVsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDRjMjU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SYXV0amFydmlfU2ltcGVsZQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JhdXRqYXJ2aV9TaW1wZWxlXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSYXV0amFydmlfU2ltcGVsZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUmF1dGphcnZpX1NpbXBlbGVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SaXN0aWphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SaXN0aWphcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc5YTU4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJpc3RpamFydmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSaXN0aWphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODdhNjViMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYWlodWFudmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9LYWlodWFudmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzgwOGViYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thaWh1YW52YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1JvdmFuaWVtaV9LYWlodWFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1JvdmFuaWVtaV9LYWlodWFudmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfS2FyaHV2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thcmh1dmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY5ZWNiNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX0thcmh1dmFhcmEKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfS2FyaHV2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX0thcmh1dmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfTWFyYXNlbmthbGxpbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX01hcmFzZW5rYWxsaW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmM4ZDU0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX01hcmFzZW5rYWxsaW8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfTWFyYXNlbmthbGxpb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX01hcmFzZW5rYWxsaW9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfUmFudGFsYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfUmFudGFsYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlM2VhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJvdmFuaWVtaV9SYW50YWxha2kKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfUmFudGFsYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWlfUmFudGFsYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvbmthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfU29ua2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTMyYjQwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvbmthCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUm92YW5pZW1pX1NvbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSb3ZhbmllbWlfU29ua2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Sb3ZhbmllbWlfU29ydmlzZWxrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvcnZpc2Vsa2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmViM2JjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUm92YW5pZW1pX1NvcnZpc2Vsa2EKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSb3ZhbmllbWlfU29ydmlzZWxrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUm92YW5pZW1pX1NvcnZpc2Vsa2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdWthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdWthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRlNDFkZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVJ1a2EKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tSdWthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVvdmVzaV9TdG9ybWluaWVtaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktUnVvdmVzaV9TdG9ybWluaWVtaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzQ2NWNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1SdW92ZXNpX1N0b3JtaW5pZW1pCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbUnVvdmVzaV9TdG9ybWluaWVtaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMThjOTIzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX0thbG1hcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhYXJpamFydmlfS2FsbWFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43N2Q1YWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX0thbG1hcmkKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWFyaWphcnZpX0thbG1hcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhYXJpamFydmlfS2FsbWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9LYWxtYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9NYWhsdSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FhcmlqYXJ2aV9NYWhsdQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ODMyNGQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWFyaWphcnZpX01haGx1CkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FhcmlqYXJ2aV9NYWhsdV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0hpcnZhc3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9IaXJ2YXN2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMTQxMGEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9IaXJ2YXN2YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX0hpcnZhc3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxsYV9IaXJ2YXN2YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0loaXN0eXNqYW5rYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfSWhpc3R5c2phbmthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBkODU3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX0loaXN0eXNqYW5rYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX0loaXN0eXNqYW5rYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfSWhpc3R5c2phbmthXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfTmFydXNrYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfTmFydXNrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNmJjMWJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9OYXJ1c2thCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FsbGFfTmFydXNrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfTmFydXNrYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1NhbGxhdHVudHVyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FsbGF0dW50dXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0YTU1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbGxhX1NhbGxhdHVudHVyaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NhbGxhX1NhbGxhdHVudHVyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2FsbGFfU2FsbGF0dW50dXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FyaXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxsYV9TYXJpdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI5YmJjMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2FsbGFfU2FyaXZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2FsbGFfU2FyaXZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxsYV9TYXJpdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxvX0lzb2t5bGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhbG9fSXNva3lsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MmRmM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYWxvX0lzb2t5bGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYWxvX0lzb2t5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NhbG9fSXNva3lsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2Fsb19Jc29reWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYWxvX0lzb2t5bGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfTWFydHRpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfTWFydHRpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFhZmJkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNhdnVrb3NraV9NYXJ0dGkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTYXZ1a29za2lfTWFydHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTYXZ1a29za2lfTWFydHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX1Rhbmh1YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2F2dWtvc2tpX1Rhbmh1YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MWY1ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TYXZ1a29za2lfVGFuaHVhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2F2dWtvc2tpX1Rhbmh1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2F2dWtvc2tpX1Rhbmh1YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpaWxpbmphcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaWlsaW5qYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZmMxZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaWlsaW5qYXJ2aQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NpaWxpbmphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaWlsaW5qYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lpbGluamFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpaWxpbmphcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2ltb19WaWFudGllIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TaW1vX1ZpYW50aWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTgwYzdiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2ltb19WaWFudGllCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU2ltb19WaWFudGllXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaW1vX1ZpYW50aWVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpbW9fVmlhbnRpZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpcG9vX05vcnJrdWxsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU2lwb29fTm9ycmt1bGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZmI0MTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNpcG9vX05vcnJrdWxsYQpAQCAtMCwwICsxLDIzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NpcG9vX05vcnJrdWxsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU2lwb29fTm9ycmt1bGxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTaXBvb19Ob3Jya3VsbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1NpcG9vX05vcnJrdWxsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9QaXR0aW92YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1BpdHRpb3ZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExMjNmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVNvZGFua3lsYV9QaXR0aW92YWFyYQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1NvZGFua3lsYV9QaXR0aW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU29kYW5reWxhX1BpdHRpb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1Z1b3RzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU29kYW5reWxhX1Z1b3RzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzYwYjc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1Tb2Rhbmt5bGFfVnVvdHNvCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU29kYW5reWxhX1Z1b3Rzb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU29kYW5reWxhX1Z1b3Rzb10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1bGthdmFfVmFhdGFsYW5tYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdWxrYXZhX1ZhYXRhbGFubWFraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMWJkZDYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdWxrYXZhX1ZhYXRhbGFubWFraQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1bGthdmFfVmFhdGFsYW5tYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdWxrYXZhX1ZhYXRhbGFubWFraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3Vsa2F2YV9WYWF0YWxhbm1ha2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbGEtVnVva2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbGEtVnVva2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA4NzhhODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0FsYS1WdW9ra2kKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTdW9tdXNzYWxtaV9BbGEtVnVva2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdW9tdXNzYWxtaV9BbGEtVnVva2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQW1tYW5zYWFyaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfQW1tYW5zYWFyaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YWZjZWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9BbW1hbnNhYXJpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbU3VvbXVzc2FsbWlfQW1tYW5zYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbU3VvbXVzc2FsbWlfQW1tYW5zYWFyaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX0p1bnR1c3JhbnRhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9KdW50dXNyYW50YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmM0ZTViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TdW9tdXNzYWxtaV9KdW50dXNyYW50YQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1b211c3NhbG1pX0p1bnR1c3JhbnRhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTdW9tdXNzYWxtaV9KdW50dXNyYW50YV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX015bGx5bGFodGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN1b211c3NhbG1pX015bGx5bGFodGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTYzMDk3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktU3VvbXVzc2FsbWlfTXlsbHlsYWh0aQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1N1b211c3NhbG1pX015bGx5bGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1N1b211c3NhbG1pX015bGx5bGFodGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TeXNtYV9MaWlrb2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1TeXNtYV9MaWlrb2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlkYjQ0MjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVN5c21hX0xpaWtvbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tTeXNtYV9MaWlrb2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFpdmFsa29za2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzMDdhZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFpdmFsa29za2ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhaXZhbGtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFpdmFsa29za2lfVGFpdmFsdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpX1RhaXZhbHZhYXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmODFiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhaXZhbGtvc2tpX1RhaXZhbHZhYXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFpdmFsa29za2lfVGFpdmFsdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhaXZhbGtvc2tpX1RhaXZhbHZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWVsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtbWVsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNTM3YmVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1tZWxhCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtbWVsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1taXNhYXJpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1taXNhYXJpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUyNDhmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRhbW1pc2FhcmkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1taXNhYXJpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yN2NmM2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1wZXJlCkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtcGVyZS1BXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLUJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1RhbXBlcmUtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZS1FXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLURdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUYW1wZXJlLUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZV9QeXluaWtraSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVGFtcGVyZV9QeXluaWtraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wM2U4ZWNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UYW1wZXJlX1B5eW5pa2tpCkBAIC0wLDAgKzEsMjggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVGFtcGVyZV9QeXluaWtraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UZXJ2b2xhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1UZXJ2b2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyYzJkOTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVRlcnZvbGEKQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tUZXJ2b2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVHVya3UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVR1cmt1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUzOTA3YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVR1cmt1CkBAIC0wLDAgKzEsMzMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVHVya3UtQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtQ10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtRV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVHVya3UtRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1R1cmt1LUhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODg0YTE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXRzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXRzam9raV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfTnV2dnVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX051dnZ1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmQzNWEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX051dnZ1cwpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfTnV2dnVzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX051dnZ1c10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfT3V0YWtvc2tpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX091dGFrb3NraQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41M2E3NWFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX091dGFrb3NraQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfT3V0YWtvc2tpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX091dGFrb3NraV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUG9sdmFybmllbWkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUG9sdmFybmllbWkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGVlNGNlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9Qb2x2YXJuaWVtaQpAQCAtMCwwICsxLDEzIEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1V0c2pva2lfUG9sdmFybmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V0c2pva2lfUG9sdmFybmllbWldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1JvdmlzdXZhbnRvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdHNqb2tpX1JvdmlzdXZhbnRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc0NTlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfUm92aXN1dmFudG8KQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tVdHNqb2tpX1JvdmlzdXZhbnRvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdHNqb2tpX1JvdmlzdXZhbnRvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXRzam9raV9UZW5vbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfVGVub2xhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk2NTA0MzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVV0c2pva2lfVGVub2xhCkBAIC0wLDAgKzEsMTMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXRzam9raV9UZW5vbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V0c2pva2lfVGVub2xhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXVzaWthdXB1bmtpX09yaXZvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1VdXNpa2F1cHVua2lfT3Jpdm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJlMWY3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVXVzaWthdXB1bmtpX09yaXZvCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVXVzaWthdXB1bmtpX09yaXZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tVdXNpa2F1cHVua2lfT3Jpdm9dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1V1c2lrYXVwdW5raV9Pcml2b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVXVzaWthdXB1bmtpX09yaXZvXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFhbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2ZTg3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFhbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhYWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhYXNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ODI2MzEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWFzYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhYXNhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWFzYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFhc2FdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWx0aW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYWx0aW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxZTgyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbHRpbW8KQEAgLTAsMCArMSwxOCBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYWx0aW1vXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9KeXJhbnZ1b3JpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX0p5cmFudnVvcmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjY1ODJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9KeXJhbnZ1b3JpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFtbWFsYV9KeXJhbnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW1tYWxhX0p5cmFudnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbW1hbGFfSnlyYW52dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9KeXJhbnZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9Sb2lzbWFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9Sb2lzbWFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41M2YzNzkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW1tYWxhX1JvaXNtYWxhCkBAIC0wLDAgKzEsMTggQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9Sb2lzbWFsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfU2F2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmFtbWFsYV9TYXZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4OWFmYjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbW1hbGFfU2F2aQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1ZhbW1hbGFfU2F2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFtbWFsYV9TYXZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW1tYWxhX1NhdmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW50YWFfSGFrdW5pbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhbnRhYV9IYWt1bmlsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZjQ5M2ExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYW50YWFfSGFrdW5pbGEKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYW50YWFfSGFrdW5pbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZhbnRhYV9IYWt1bmlsYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmFudGFhX0hha3VuaWxhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYW50YWFfSGFrdW5pbGFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYXJwYWlzamFydmlfSG9ua2FtYWtpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WYXJwYWlzamFydmlfSG9ua2FtYWtpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViZGY5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZhcnBhaXNqYXJ2aV9Ib25rYW1ha2kKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWYXJwYWlzamFydmlfSG9ua2FtYWtpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVmlycmF0X0xhcHBhdnVvcmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZpcnJhdF9MYXBwYXZ1b3JpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxZjEyYjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVZpcnJhdF9MYXBwYXZ1b3JpCkBAIC0wLDAgKzEsMjMgQEAKKyMgMjAxNC0wNC0xOCBBbnR0aSBQYWxvc2FhcmkgPGNyb3BlQGlraS5maT4KKyMgZ2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5kaWdpdGEuZmkva3VsdXR0YWphdC90di9uYWt5dnl5c2FsdWVldC9rYW5hdmFudW1lcm90X2phX3RhYWp1dWRldAorCitbVmlycmF0X0xhcHBhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1ZpcnJhdF9MYXBwYXZ1b3JpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWaXJyYXRfTGFwcGF2dW9yaV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVmlycmF0X0xhcHBhdnVvcmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1WdW9rYXR0aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVnVva2F0dGkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWE3OGNmMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktVnVva2F0dGkKQEAgLTAsMCArMSwyMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tWdW9rYXR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbVnVva2F0dGldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW1Z1b2thdHRpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tWdW9rYXR0aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsaXRvcm5pb19BaW5pb3ZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fQWluaW92YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYmQ3MmI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fQWluaW92YWFyYQpAQCAtMCwwICsxLDE4IEBACisjIDIwMTQtMDQtMTggQW50dGkgUGFsb3NhYXJpIDxjcm9wZUBpa2kuZmk+CisjIGdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuZGlnaXRhLmZpL2t1bHV0dGFqYXQvdHYvbmFreXZ5eXNhbHVlZXQva2FuYXZhbnVtZXJvdF9qYV90YWFqdXVkZXQKKworW1lsaXRvcm5pb19BaW5pb3ZhYXJhXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tZbGl0b3JuaW9fQWluaW92YWFyYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxpdG9ybmlvX0FpbmlvdmFhcmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGl0b3JuaW9fUmFhbnVqYXJ2aSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX1JhYW51amFydmkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODg1YzE4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxpdG9ybmlvX1JhYW51amFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGl0b3JuaW9fUmFhbnVqYXJ2aV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxpdG9ybmlvX1JhYW51amFydmldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDQ4OGNmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZmktWWxsYXMKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGxhc10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbWWxsYXNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhc2phcnZpIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9maS1ZbGxhc2phcnZpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3OTAwODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2ZpLVlsbGFzamFydmkKQEAgLTAsMCArMSwxMyBAQAorIyAyMDE0LTA0LTE4IEFudHRpIFBhbG9zYWFyaSA8Y3JvcGVAaWtpLmZpPgorIyBnZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmRpZ2l0YS5maS9rdWx1dHRhamF0L3R2L25ha3l2eXlzYWx1ZWV0L2thbmF2YW51bWVyb3RfamFfdGFhanV1ZGV0CisKK1tZbGxhc2phcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tZbGxhc2phcnZpXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZnItQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9mci1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzNlYmExMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZnItQWxsCkBAIC0wLDAgKzEsNDgxIEBACisjIEZyYW5jZSBBTEwgKEFsbCBjaGFubmVsIDIxIHRvIDYwKQorW1VIRiAyMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDIzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAyN10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMjhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDI5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzMF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDMyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzM10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM1XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgMzddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDM4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiAzOV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDBdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0Ml0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDNdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0NV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDZdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDQ3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA0OF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNDldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDUwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1MV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1NF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNTVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA1N10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tVSEYgNThdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVUhGIDU5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1VIRiA2MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZ3ItQXRoZW5zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9nci1BdGhlbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjhlNmMwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvZ3ItQXRoZW5zCkBAIC0wLDAgKzEsOTUgQEAKKyMgSW5pdGlhbCBzY2FuIGNvbmZpZyBmb3IgRFZCLVQgaW4gQXRoZW5zIEdyZWVjZQorIyBDcmVhdGVkIGZyb20gdGhlIGZyZXF1ZW5jaWVzIGxpc3RlZCBpbgorIyBodHRwOi8vd3d3LnNhdHNwb3QuZ3IvdGVsZXZpc2lvbi9jaGFubmVscy8xNjAtdHYtc2l4bm90aXRlcy1hdHRpa2kKKyMgYW5kIHRoZSBhY3R1YWwgc2VydmljZSBuYW1lcyBmb3IgY29tbWVudHMuCisKKyMgQVJULCBBTlQxLCBBTFBIQSwgRQorW0RpZ2VhIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNUQVIsIE0udHYsIFNLQUksIE1FR0EKK1tEaWdlYSAwMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBWb3VsaSwgS29zbW9zLCBOIFBsdXMsIERldXRlcm8sIE4xLCBOIEhELCBUcml0bywgUHJvdG8KK1tEVCBESUdJVEFMIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIERXLCBQUk9UTywgS09TTU9TLCBSSUssIFRSSVRPLCBUViA1LCBFdXJvcGUsIEJCQyBXb3JsZCBOZXdzCitbRFQgRElHSVRBTCAwMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBCTFVFIFNLWSwgQVRUSUNBIFRWLCBBQiBDSEFOTkVMLCBDSEFOTkVMIDksIEFDVElPTjI0CitbTVVMVEkgQVRUSUtJIDAxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEtPTlRSQSwgTUFEIFRWLCBFWFRSQSBDSEFOTkVMLCBISUdIIFRWCitbTVVMVEkgQVRUSUtJIDAyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIE5JQ0tFTE9ERU9OLCBTTUlMRSwgU0JDLCBNVFYgR1JFRUNFCitbTVVMVEkgQVRUSUtJIDAzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9oay1Ib25nS29uZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaGstSG9uZ0tvbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWUyZDEzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaGstSG9uZ0tvbmcKQEAgLTAsMCArMSw5NCBAQAorIyBIb25nIEtvbmcgKERNQi1USCkKKworIyBUVkIgKGJhbmQgMzUpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIEFUViAoYmFuZCAzNykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBTaW11bGNhc3QgKGJhbmQgMjIpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNpbXVsY2FzdCAoYmFuZCAzMCkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgU2ltdWxjYXN0IChiYW5kIDMyKQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyBTaW11bGNhc3QgKGJhbmQgNDApCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIFNpbXVsY2FzdCAoYmFuZCA0MykKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHItQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9oci1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjkxOTA5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHItQWxsCkBAIC0wLDAgKzEsMzE1IEBACisjIENyb2F0aWEsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cub2l2LmhyL2Jyb2FkY2FzdGluZy90YWJsZXMvZHR2X2hyLmFzcHgKKyMgYW5kIGZyb20gaHR0cDovL3d3dy5vaXYuaHIvYnJvYWRjYXN0aW5nL3RhYmxlcy9kdHZfY2hhbm5lbF9oci5hc3B4CitbRDEgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QyIE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENCBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDUgTVVYQSwgRDkgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbZDcyIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENiBNVVhBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q4IE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEOCBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbZDcxIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMyBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDEgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0QyIE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENCBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDEgTVVYQiwgRDMgTVVYQSwgRDYgTVVYQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU0xPIE1VWEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMyBNVVhCLCBENCBNVVhCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYQSwgRDkgTVVYQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1VWEIsIEQ4IE1VWEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tENiBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVHVzdGkgVnJoIE1VWERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tEMiBNVVhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbRDcgTVVYQiwgRDkgTVVYQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0Q1IE1GTl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQmVrZXNjc2FiYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQmVrZXNjc2FiYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYWMyZTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CZWtlc2NzYWJhCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEJla2VzY3NhYmEKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01NDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUJ1ZGFwZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CdWRhcGVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNGMxN2IzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1CdWRhcGVzdApAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBCdWRhcGVzdAorIworIyBBLm11bHRpcGxleCBVSEYtMzg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTU1OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYyOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQ3Nhdm9seS1LaXNrb3JvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtQ3Nhdm9seS1LaXNrb3JvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Yjg4MzcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Dc2F2b2x5LUtpc2tvcm9zCkBAIC0wLDAgKzEsNDIgQEAKKyMgSHVuZ2FyeSAvIENzYXZvbHktS2lza29yb3MKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTQ1OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0wMDoKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKKyMgVCA3NDYwMDAwMDAgOE1IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzQgTk9ORQorIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1EZWJyZWNlbi1Lb21hZGkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LURlYnJlY2VuLUtvbWFkaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Mzk1OTM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1EZWJyZWNlbi1Lb21hZGkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gRGVicmVjZW4tS29tYWRpCisjCisjIEEubXVsdGlwbGV4IFVIRi00NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTE6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1GZWhlcmd5YXJtYXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUZlaGVyZ3lhcm1hdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYmZkZGEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1GZWhlcmd5YXJtYXQKQEAgLTAsMCArMSw0MiBAQAorIyBIdW5nYXJ5IC8gRmVoZXJneWFybWF0CisjCisjIEEubXVsdGlwbGV4IFVIRi01ODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNzE0MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTM4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtR2VyZWNzZS1Eb3JvZy1UYXRhYmFueWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhMTQ3OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEdlcmVjc2UtRG9yb2ctVGF0YWJhbnlhCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HeW9yIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1HeW9yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVlY2Q1OWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUd5b3IKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gR3lvcgorIworIyBBLm11bHRpcGxleCBVSEYtNDI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTI1OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYxOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FiaGVneS1LYXBvc3Zhci1UYW1hc2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZjNWNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCkBAIC0wLDAgKzEsNDIgQEAKKyMgSHVuZ2FyeSAvIEthYmhlZ3ktS2Fwb3N2YXItVGFtYXNpCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCisjIFQgNTA2MDAwMDAwIDhNSHogMy80IE5PTkUgUUFNNjQgOGsgMS80IE5PTkUKKyMKKyMgQy5tdWx0aXBsZXggVUhGLTYxOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJUTCBLbHViLCBUVjIsIEV1cm9uZXdzIFRlc3QsIEluZm8gY3NhdG9ybmEsIE5lbyBGTQorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIENvb2wsIEZpbG0rLCBIQk8sIE5hdGlvbmFsIEdlb2dyYXBoaWMsIERpc25leSBDaGFubmVsLCBBWE4sIEZFTTMsIFByaXZhdGUgc3BpY2UsIEFUViwKKyMgSGlyVFYsIFNwb3J0a2x1YgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtS2FyYW5jcy1OYWd5LUhpZGVnLWhlZ3ktQmFsYXNzYWd5YXJtYXQtR29kb2xsby1TYWxnb3Rhcmphbi1WYWMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJiMmNhYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCkBAIC0wLDAgKzEsNTMgQEAKKyMgSHVuZ2FyeSAvIEthcmFuY3MtTmFneS1IaWRlZy1oZWd5LUJhbGFzc2FneWFybWF0LUdvZG9sbG8tU2FsZ290YXJqYW4tVmFjCisjCisjIEEubXVsdGlwbGV4IFVIRi0zODoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNTU6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJjYWcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUthcmNhZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZTYzOTBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LYXJjYWcKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2FyY2FnCisjCisjIEEubXVsdGlwbGV4IFVIRi00NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWNza2VtZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUtlY3NrZW1ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjlmZmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWNza2VtZXQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2Vjc2tlbWV0CisjCisjIEEubXVsdGlwbGV4IFVIRi01NjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWtlcy1DZWdsZWQtRWdlci1NaXNrb2xjdGFwb2xjYS1PemQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LUtla2VzLUNlZ2xlZC1FZ2VyLU1pc2tvbGN0YXBvbGNhLU96ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OGFmY2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1LZWtlcy1DZWdsZWQtRWdlci1NaXNrb2xjdGFwb2xjYS1PemQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gS2VrZXMtQ2VnbGVkLU1pc2tvbGN0YXBvbGNhCisjCisjIEEubXVsdGlwbGV4IFVIRi00NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjk6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1NaXNrb2xjLUFnZ3RlbGVrLUZvbnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU1pc2tvbGMtQWdndGVsZWstRm9ueQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjFhYzVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1NaXNrb2xjLUFnZ3RlbGVrLUZvbnkKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTWlza29sYy1BZ2d0ZWxlay1Gb255CisjCisjIEEubXVsdGlwbGV4IFVIRi00NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMzE6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjM6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Nb3ItU2lvZm9rLVZlc3pwcmVtLVppcmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU1vci1TaW9mb2stVmVzenByZW0tWmlyYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYzJlMzJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Nb3ItU2lvZm9rLVZlc3pwcmVtLVppcmMKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gTW9yLVNpb2Zvay1WZXN6cHJlbS1aaXJjCisjCisjIEEubXVsdGlwbGV4IFVIRi02NDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjk6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU5hZ3lrYW5penNhLUJhcmNzLUtlc3p0aGVseSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTmFneWthbml6c2EtQmFyY3MtS2VzenRoZWx5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlMGVlMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU5hZ3lrYW5penNhLUJhcmNzLUtlc3p0aGVseQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBOYWd5a2FuaXpzYS1CYXJjcy1LZXN6dGhlbHkKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTI0OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi01NToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02NToKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU55aXJlZ3loYXphLVRva2FqLUthemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LU55aXJlZ3loYXphLVRva2FqLUthemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDNmOGU5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtTnlpcmVneWhhemEtVG9rYWotS2F6aW5jYmFyY2lrYS1TYWx5LVNhdG9yYWxqYXVqaGVseQpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBOee1yZWd5aGF6YS1Ub2thai1LemluY2JhcmNpa2EtU2FseS1TYXRvcmFsamF1amhlbHkKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTY4OgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0zMToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVBlY3MtU2lrbG9zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1QZWNzLVNpa2xvcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNTQ5N2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1QZWNzLVNpa2xvcwpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBQZWNzLVNpa2xvcworIworIyBBLm11bHRpcGxleCBVSEYtNTI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTAwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBQUk80LCBWSUFTQVQzLCBQcml6bWEgVFYsIE11enNpa2EgVFYsIFVuaXZlcnNhbCBDaGFubmVsLCBDb21lZHkgQ2VudHJhbCwgTWluaW1heCwKKyMgQ2FydG9vbiBOZXR3b3JrLCBTcGVrdHJ1bSwgSGlzdG9yeSwgU3BvcnQxLCBTcG9ydDIsIERvcmNlbCBUVgorIyBUIDU1NDAwMDAwMCA4TUh6IDMvNCBOT05FIFFBTTY0IDhrIDEvNCBOT05FCisjCisjIEMubXVsdGlwbGV4IFVIRi02NzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVNvcHJvbi1Lb3N6ZWcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVNvcHJvbi1Lb3N6ZWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE5YjA4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU29wcm9uLUtvc3plZwpAQCAtMCwwICsxLDUzIEBACisjIEh1bmdhcnkgLyBTb3Byb24tS29zemVnCisjCisjIEEubXVsdGlwbGV4IFVIRi00MjoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtNDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVnZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZWdlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZmEyYWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVnZWQKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3plZ2VkCisjCisjIEEubXVsdGlwbGV4IFVIRi02MDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMjI6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1TemVrZXNmZWhlcnZhciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pla2VzZmVoZXJ2YXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjliMjE2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3pla2VzZmVoZXJ2YXIKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pla2VzZmVoZXJ2YXIKKyMKKyMgQS5tdWx0aXBsZXggVUhGLTMwOgorIyBGUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIG0xIEhELCBtMiBIRCwgRHVuYSBXb3JsZCwgRHVuYSBIRCwgTVIxIEtvc3N1dGggUmFkaW8sIE1SMiBQZXRvZmkgUmFkaW8sIE1SMyBCYXJ0b2sgUmFkaW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEIubXVsdGlwbGV4IFVIRi0yOToKKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjCisjIEMubXVsdGlwbGV4IFVIRi02MzoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBSVEwgS2x1YiwgVFYyLCBFdXJvbmV3cyBUZXN0LCBJbmZvIGNzYXRvcm5hLCBOZW8gRk0KKyMgTk9OLUZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBDb29sLCBGaWxtKywgSEJPLCBOYXRpb25hbCBHZW9ncmFwaGljLCBEaXNuZXkgQ2hhbm5lbCwgQVhOLCBGRU0zLCBQcml2YXRlIHNwaWNlLCBBVFYsCisjIEhpclRWLCBTcG9ydGtsdWIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZW50ZXMtQmF0dG9ueWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6ZW50ZXMtQmF0dG9ueWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzRmNzU2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaHUtU3plbnRlcy1CYXR0b255YQpAQCAtMCwwICsxLDQyIEBACisjIEh1bmdhcnkgLyBTemVudGVzLUJhdHRvbnlhCisjCisjIEEubXVsdGlwbGV4IFVIRi02MDoKKyMgRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBtMSBIRCwgbTIgSEQsIER1bmEgV29ybGQsIER1bmEgSEQsIE1SMSBLb3NzdXRoIFJhZGlvLCBNUjIgUGV0b2ZpIFJhZGlvLCBNUjMgQmFydG9rIFJhZGlvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBCLm11bHRpcGxleCBVSEYtMDA6CisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUFJPNCwgVklBU0FUMywgUHJpem1hIFRWLCBNdXpzaWthIFRWLCBVbml2ZXJzYWwgQ2hhbm5lbCwgQ29tZWR5IENlbnRyYWwsIE1pbmltYXgsCisjIENhcnRvb24gTmV0d29yaywgU3Bla3RydW0sIEhpc3RvcnksIFNwb3J0MSwgU3BvcnQyLCBEb3JjZWwgVFYKKyMgVCA1MzgwMDAwMDAgOE1IeiAzLzQgTk9ORSBRQU02NCA4ayAxLzQgTk9ORQorIworIyBDLm11bHRpcGxleCBVSEYtNjU6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9sbm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9sbm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmMzcxZTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6b2xub2sKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pvbG5vaworIworIyBBLm11bHRpcGxleCBVSEYtNTY6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTMwOgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjQ6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9tYmF0aGVseS1WYXN2YXItTGVudGktWmFsYWVnZXJzemVnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1Tem9tYmF0aGVseS1WYXN2YXItTGVudGktWmFsYWVnZXJzemVnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4NzdiNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVN6b21iYXRoZWx5LVZhc3Zhci1MZW50aS1aYWxhZWdlcnN6ZWcKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gU3pvbWJhdGhlbHktVmFzdmFyLUxlbnRpLVphbGFlZ2Vyc3plZworIworIyBBLm11bHRpcGxleCBVSEYtMzg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTU4OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjg6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1VemQtQm9ueWhhZC1EdW5hdWp2YXJvcy1TemVrc3phcmQtU3ppZ2V0dmFyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9odS1VemQtQm9ueWhhZC1EdW5hdWp2YXJvcy1TemVrc3phcmQtU3ppZ2V0dmFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc4MDc1ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2h1LVV6ZC1Cb255aGFkLUR1bmF1anZhcm9zLVN6ZWtzemFyZC1TemlnZXR2YXIKQEAgLTAsMCArMSw1MyBAQAorIyBIdW5nYXJ5IC8gVXpkLUJvbnloYWQtRHVuYXVqdmFyb3MtU3pla3N6YXJkLVN6aWdldHZhcgorIworIyBBLm11bHRpcGxleCBVSEYtNTI6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbTEgSEQsIG0yIEhELCBEdW5hIFdvcmxkLCBEdW5hIEhELCBNUjEgS29zc3V0aCBSYWRpbywgTVIyIFBldG9maSBSYWRpbywgTVIzIEJhcnRvayBSYWRpbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMKKyMgQi5tdWx0aXBsZXggVUhGLTM3OgorIyBOT04tRlJFRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFBSTzQsIFZJQVNBVDMsIFByaXptYSBUViwgTXV6c2lrYSBUViwgVW5pdmVyc2FsIENoYW5uZWwsIENvbWVkeSBDZW50cmFsLCBNaW5pbWF4LAorIyBDYXJ0b29uIE5ldHdvcmssIFNwZWt0cnVtLCBIaXN0b3J5LCBTcG9ydDEsIFNwb3J0MiwgRG9yY2VsIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIworIyBDLm11bHRpcGxleCBVSEYtNjc6CisjIEZSRUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgUlRMIEtsdWIsIFRWMiwgRXVyb25ld3MgVGVzdCwgSW5mbyBjc2F0b3JuYSwgTmVvIEZNCisjIE5PTi1GUkVFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQ29vbCwgRmlsbSssIEhCTywgTmF0aW9uYWwgR2VvZ3JhcGhpYywgRGlzbmV5IENoYW5uZWwsIEFYTiwgRkVNMywgUHJpdmF0ZSBzcGljZSwgQVRWLAorIyBIaXJUViwgU3BvcnRrbHViCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DYWlybkhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUNhaXJuSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2E1ZGM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DYWlybkhpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBDYWlybiBIaWxsCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g0NzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DbGVybW9udENhcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUNsZXJtb250Q2FybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MWYxN2QyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1DbGVybW9udENhcm4KQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBDbGVybW9udCBDYXJuCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1MjogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU2OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1EdW5nYXJ2YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUR1bmdhcnZhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYzJjY2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1EdW5nYXJ2YW4KQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBEdW5nYXJ2YW4KKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDU1OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTk6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUhvbHl3ZWxsSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtSG9seXdlbGxIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViYjJjNTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUhvbHl3ZWxsSGlsbApAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIEhvbHl3ZWxsIEhpbGwKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDMwOiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMzM6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUtpcHB1cmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLUtpcHB1cmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGE3YTNiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtS2lwcHVyZQpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIEtpcHB1cmUKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDU0OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTg6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1hZ2hlcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1hZ2hlcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTg3YWNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTWFnaGVyYQpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIE1hZ2hlcmEKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDQ4OiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NINTU6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1vdW50TGVpbnN0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU1vdW50TGVpbnN0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjA0MzBhMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtTW91bnRMZWluc3RlcgpAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIE1vdW50IExlaW5zdGVyCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0gyMzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDI2OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NdWxsYWdoYW5pc2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLU11bGxhZ2hhbmlzaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZWI3Y2ViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1NdWxsYWdoYW5pc2gKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBNdWxsYWdoYW5pc2gKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3d3dy5jb21yZWcuaWUvX2ZpbGV1cGxvYWQvQnJvYWRjYXN0X1RlY2huaWNhbF9QYXJhbWV0ZXJzLnhsc3gKK1tDSDIxOiBTYW9ydmlldyBNVVgxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIMjQ6IFNhb3J2aWV3IE1VWDJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVNwdXJIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1TcHVySGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Njc4MmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1TcHVySGlsbApAQCAtMCwwICsxLDI2IEBACisjIElyZWxhbmQsIFNwdXIgSGlsbAorIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NINDU6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0g0OTogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVGhyZWVSb2NrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1UaHJlZVJvY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2RmNjQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVGhyZWVSb2NrCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgVGhyZWUgUm9jaworIyBHZW5lcmF0ZWQgZnJvbSBodHRwOi8vd3d3LmNvbXJlZy5pZS9fZmlsZXVwbG9hZC9Ccm9hZGNhc3RfVGVjaG5pY2FsX1BhcmFtZXRlcnMueGxzeAorW0NIMzA6IFNhb3J2aWV3IE1VWDFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0gzMzogU2FvcnZpZXcgTVVYMl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVHJ1c2ttb3JlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1UcnVza21vcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODM4NDI5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaWUtVHJ1c2ttb3JlCkBAIC0wLDAgKzEsMjYgQEAKKyMgSXJlbGFuZCwgVHJ1c2ttb3JlCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g1MzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDU3OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Xb29kY29ja0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2llLVdvb2Rjb2NrSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNjVlNmZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pZS1Xb29kY29ja0hpbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJcmVsYW5kLCBXb29kY29jayBIaWxsCisjIEdlbmVyYXRlZCBmcm9tIGh0dHA6Ly93d3cuY29tcmVnLmllL19maWxldXBsb2FkL0Jyb2FkY2FzdF9UZWNobmljYWxfUGFyYW1ldGVycy54bHN4CitbQ0g0NzogU2FvcnZpZXcgTVVYMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSDQ0OiBTYW9ydmlldyBNVVgyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pbC1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lsLUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNGUyYjVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pbC1BbGwKQEAgLTAsMCArMSwyNiBAQAorIyBJc3JhZWwsIElzcmFlbCBCcm9hZGNhc3RpbmcgQXV0aG9yaXR5J3MgdHJhbnNtaXR0ZXJzCisjIEdlbmVyYXRlZCBmcm9tIGxpc3QgaW4gaHR0cDovL3d3dy5pYmEub3JnLmlsL3JlY2VwdGlvbi8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pci1UZWhyYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2lyLVRlaHJhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzI4YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pci1UZWhyYW4KQEAgLTAsMCArMSwyNSBAQAorIyBEVkItVCBUZWhyYW4KK1tJUklCLVRWMS8yLzMvNC81LCBJUklOTiwgQU1PVVpFU0gsIFFVUkFOLVRWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUFJFU1MgVFYsIEFMLUFMQU0sIEFMLUtPVVNBUiwgSkFBTUVKQU0gMSwgSVJJQiBNT1NUQU5BRCwgSVJJQiBPU1RBTkldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXMtUmV5a2phdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pcy1SZXlramF2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzg5OGE2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXMtUmV5a2phdmlrCkBAIC0wLDAgKzEsMjI2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgd19zY2FuCisjIChodHRwOi8vd2lyYmVsLmh0cGMtZm9ydW0uZGUvd19zY2FuL2luZGV4Mi5odG1sKQorIyEgPHdfc2Nhbj4gMjAxMDAzMTYgMSAwIE9GRE0gSVMgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogPGFkZCBkZXNjcmlwdGlvbiBoZXJlPgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTAtMTAtMjIKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiA8eW91ciBuYW1lIG9yIGVtYWlsIGhlcmU+CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1ZvZGFmb25lXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tWb2RhZm9uZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9pdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQxY2FjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvaXQtQWxsCkBAIC0wLDAgKzEsNzYxIEBACisjIFRoaXMgZmlsZSBsaXN0cyBhbGwgZnJlcXVlbmNpZXMgdXNlZCBpbiBXZXN0ZXJuIEV1cm9wZSBmb3IgRFZCLVQuCisjIFRoZSB0cmFuc21pc3Npb24gcGFyYW1ldGVycyBsaXN0ZWQgaGVyZSBhcmUgdGhlIG9uZXMgZ2VuZXJhbGx5IHVzZWQgaW4KKyMgSXRhbHksIGJyb2FkY2FzdCBuZXdvcmtzIGluIG90aGVyIGNvdW50cmllcyBkbyB1c2UgZGlmZmVyZW50IHBhcmFtZXRlcnMuCisjIE1vcmVvdmVyLCBvdGhlciBjb3VudHJpZXMgdXNlIGEgYmFuZHdpZHRoIG9mIDggTUh6IGFsc28gZm9yIEJhbmQgSUlJCisjIGNoYW5uZWxzLgorIworIyBDb21waWxlZCBpbiBEZWNlbWJlciAyMDEwIGJ5IE1hcmNvIGQnSXRyaSA8bWRAbGludXguaXQ+LgorIworIyBSZWZlcmVuY2VzOgorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JhbmRfSSNFdXJvcGUKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYW5kX0lJSSNFdXJvcGUKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaWxlOlZIRl9Vc2FnZS5zdmcKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9UZWxldmlzaW9uX2NoYW5uZWxfZnJlcXVlbmNpZXMKKworCisjIyMgVkhGIC0gQmFuZCBJSUkgIyMjCisjIDUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMTAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAxMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDIxOTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDEyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMjI2NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyMjIFVIRiAtIEJhbmQgSVYgIyMjCisjIDIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyNgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMjgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAyOQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzMgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDMzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyAzNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgMzcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIyMgVUhGIC0gQmFuZCBWICMjIworIyAzOAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDM5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0MQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0NAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA0NworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDQ4CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNDkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1MworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1NgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDU3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNTgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDYzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyMgNjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworIyA2OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDg1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisjIDY5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGFlNWZlZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHQtQWxsCkBAIC0wLDAgKzEsMzAyIEBACisjIExpdGh1YW5pYSwgd2hvbGUgY291bnRyeQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5za2FpdG1lbmluZS5sdC9sdC9za2FpdG1lbmluZV90dl9saWV0dXZvamUvYW50emVtaW5lX2R2Yl90Lmh0bWwKKyMgQ3JlYXRlZCBieSBiYXJ1c2VAZ21haWwuY29tCisKKyMgTFJUQyBJIHRpbmtsYXMKK1trYW5hbGFzIDIyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDI2XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDM5XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU3XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBMUlRDIElJIHRpbmtsYXMKK1trYW5hbGFzIDMzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDM4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDQ4XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDU0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYyXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDYzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA4MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBURU8gTFQgSSB0aW5rbGFzCitba2FuYWxhcyAzNl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1MF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA1OV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitba2FuYWxhcyA2NV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgVEVPIExUIElJIHRpbmtsYXMKK1trYW5hbGFzIDIxXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDMwXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1trYW5hbGFzIDUzXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKyNUIDc4NjAwMDAwMCA4TUh6IEFVVE8gTk9ORSBRQU02NCA4ayAxLzE2IE5PTkUgIyBrYW5hbGFzIDYwCisKKyMgVmlsbml1aSBib251c2FzCitba2FuYWxhcyAzN10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x1LUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbHUtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRlODA1M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x1LUFsbApAQCAtMCwwICsxLDQ5IEBACisjIERWQi1UIEx1eGVtYm91cmcgWzIwMDctMTEtMThdCitbS2FuYWwgNyAgIE02LCBSVEwgOCwgTFVYRS5UVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0thbmFsIDIxICBhaXJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tLYW5hbCAyNCAgY2x1YiBSVEwsIFJUTCBUVkksIHBsdWcgVFYsIFJUTCA0LCBSVEwgNSwgUlRMIDddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbS2FuYWwgMjcgIFJUTCBUZWxlTGV0eiwgMiB0ZW4gUlRMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdi1SaWdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9sdi1SaWdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJmYjJlMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L2x2LVJpZ2EKQEAgLTAsMCArMSw5MiBAQAorIyBMYXR2aWEgLSBSaWdhIChsdi1SaWdhKQorIyBHZW5lcmF0ZWQgYnkgUmFpbW9uZHMgQ2ljYW5zCisjIFVURjggZW5jb2RpbmcKKworCisjIERMUlRDCitbV2VhayBzaWduYWwhIFbEgWrFoSBzaWduxIFscyEg0KHQu9Cw0LHRi9C5INGB0LjQs9C90LDQuyFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBCYWx0a29tIFRWCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDgzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25sLUFsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbmwtQWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzZmNjZDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25sLUFsbApAQCAtMCwwICsxLDQ4MyBAQAorIyBUaGUgTmV0aGVybGFuZHMsIHdob2xlIGNvdW50cnkKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly9yYWRpby10di1uZWRlcmxhbmQubmwvVFYgICAgICAgMS4yNTE5NzhlLTMxMm5kZXJsaWpzdCUyME5lZGVybGFuZC54bHMKKyMgYW5kIGh0dHA6Ly9yYWRpby10di1uZWRlcmxhbmQubmwvZHZidC9kdmJ0LWxva2FhbC5odG1sCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAxLzIKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMS8yCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uby1Ucm9uZGVsYWdfU3Rqb3JkYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L25vLVRyb25kZWxhZ19TdGpvcmRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmQ4OTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uby1Ucm9uZGVsYWdfU3Rqb3JkYWwKQEAgLTAsMCArMSwzOSBAQAorIyBOb3J3YXkgLyBUcm9uZGVsYWcgLyBTdGpvcmRhbAorIyBtb2RpZmllZCBhY2NvcmRpbmcgdG8gZGF0YSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgZnJlZSAobnJrKSBjaGFubmVscyBhcmUgb24gNjU4MDAwMDAwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUF1Y2tsYW5kSW5maWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZEluZmlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYzA1ZjBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZEluZmlsbApAQCAtMCwwICsxLDQyIEBACisjIFBpbmVoaWxsLCBSZW11ZXJhLCBTa3kgVG93ZXIsIEF1Y2tsYW5kIEluZmlsbCwgQXVja2xhbmQgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1BdWNrbGFuZFdhaWF0YXJ1YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRXYWlhdGFydWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGZiZWI4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQXVja2xhbmRXYWlhdGFydWEKQEAgLTAsMCArMSw0MiBAQAorIyBXYWlhdGFydWEsIEF1Y2tsYW5kIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQ2hyaXN0Y2h1cmNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1DaHJpc3RjaHVyY2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjQyYzE4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotQ2hyaXN0Y2h1cmNoCkBAIC0wLDAgKzEsNDIgQEAKKyMgU3VnYXJsb2FmLCBDaHJpc3RjaHVyY2ggTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1EdW5lZGluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1EdW5lZGluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ0MDQ0OWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUR1bmVkaW4KQEAgLTAsMCArMSw0MiBAQAorIyBNdCBDYXJnaWxsLCBEdW5lZGluIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGFtaWx0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhbWlsdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVlYjViNDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhbWlsdG9uCkBAIC0wLDAgKzEsNDIgQEAKKyMgSGFtaWx0b24gSW5maWxsLCBXYWlrYXRvIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TXRFcmluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlNdEVyaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmI2Y2VlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotSGF3a2VzQmF5TXRFcmluCkBAIC0wLDAgKzEsNDIgQEAKKyMgTXQuIEVyaW4sIEhhd2tlcyBCYXkgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlOYXBpZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LUhhd2tlc0JheU5hcGllcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOTQxYjgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1IYXdrZXNCYXlOYXBpZXIKQEAgLTAsMCArMSw0MiBAQAorIyBOYXBpZXIgSW5maWxsLCBIYXdrZXMgQmF5IE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotTWFuYXdhdHUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LU1hbmF3YXR1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjljMDEzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LU1hbmF3YXR1CkBAIC0wLDAgKzEsNDIgQEAKKyMgV2hhcml0ZSwgTWFuYXdhdHUgTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1UYXVyYW5nYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotVGF1cmFuZ2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IzMGM1ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotVGF1cmFuZ2EKQEAgLTAsMCArMSw0MiBAQAorIyBLb3B1a2FpcnVhLCBUYXVyYW5nYSBOWgorIworIyBDaGFubmVsIGFsbG9jYXRpb24gZGV0YWlscyBmb3IgTlogY2FuIGJlIGZvdW5kIGF0CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRnJlZXZpZXdfKE5ld19aZWFsYW5kKQorIworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdhaWthdG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdhaWthdG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDg4Y2VhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2Fpa2F0bwpAQCAtMCwwICsxLDQyIEBACisjIFRlIEFyb2hhLCBXYWlrYXRvIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkluZmlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3RvbkluZmlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42M2Q0ODcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uSW5maWxsCkBAIC0wLDAgKzEsNDIgQEAKKyMgRml0emhlcmJlcnQsIEJheHRlcnMgS25vYiwgV2VsbGluZ3RvbiBpbmZpbGwsIFdlbGxpbmd0b24gTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uS2F1a2F1IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uS2F1a2F1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkxMTFmMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L256LVdlbGxpbmd0b25LYXVrYXUKQEAgLTAsMCArMSw0MiBAQAorIyBLYXVrYXUsIFdlbGxpbmd0b24gTloKKyMKKyMgQ2hhbm5lbCBhbGxvY2F0aW9uIGRldGFpbHMgZm9yIE5aIGNhbiBiZSBmb3VuZCBhdAorIyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0ZyZWV2aWV3XyhOZXdfWmVhbGFuZCkKKyMKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9uei1XZWxsaW5ndG9uTmdhcmFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3Rvbk5nYXJhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjdkOTIwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvbnotV2VsbGluZ3Rvbk5nYXJhcmEKQEAgLTAsMCArMSw0MiBAQAorIyBOZ2FyYXJhLCBXZWxsaW5ndG9uIE5aCisjCisjIENoYW5uZWwgYWxsb2NhdGlvbiBkZXRhaWxzIGZvciBOWiBjYW4gYmUgZm91bmQgYXQKKyMgaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GcmVldmlld18oTmV3X1plYWxhbmQpCisjCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtQ3plc3RvY2hvd2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUN6ZXN0b2Nob3dhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUyNGY1ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUN6ZXN0b2Nob3dhCkBAIC0wLDAgKzEsNDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDEyMDYwNSAxIDAgVEVSUkVTVFJJQUwgUEwgPC93X3NjYW4+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogUEwgQ3plc3RvY2hvd2Egc2xhc2tpZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTItMTEtMzAKKyMgcHJvdmlkZWQgYnkgKG9wdCkgICAgOiBKYWt1YiBLYXNwcnp5Y2tpIGpha3ViQGthc3Byenlja2kubmFtZQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW01VWC0xIEVtaXRlbCBXcmVjenljYSAxMDBLVyBIXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gQVVUTworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tNVVgtMiBFbWl0ZWwgV3JlY3p5Y2EgMTAwS1cgSF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTVVYLTMgVE9OIEN6ZXN0b2Nob3dhL0JsZXN6bm8gMktXIEhdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1HZGFuc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUdkYW5zawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZmYxOGNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1HZGFuc2sKQEAgLTAsMCArMSwyNSBAQAorIyBHZGHFhHNrLCBQb2xhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1LcmFrb3cgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLUtyYWtvdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMmIxNjRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1LcmFrb3cKQEAgLTAsMCArMSw4MiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBmaWxlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHdfc2NhbgorIyAoaHR0cDovL3dpcmJlbC5odHBjLWZvcnVtLmRlL3dfc2Nhbi9pbmRleDIuaHRtbCkKKyMhIDx3X3NjYW4+IDIwMDkxMjMwIDEgMCBPRkRNIFBMIDwvd19zY2FuPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFBvbGFuZCwgS3Jha293CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxMS0xMC0yOQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IERhbWlhbiBHb2xkYQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0NoLjIzLCBNdXgyIFRhcm5vdy9nLlN3Lk1hcmNpbmFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tOVyAwNCBNYWxvcG9sc2tpZSwgQ2guNDgsIE11eDMgS3Jha293L0Nob3JhZ3dpY2EgMmtXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ2guNDksIE11eDIgS2F0b3dpY2UvS29zenRvd3ldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDaC41MSwgTXV4MyBLYXRvd2ljZS9Lb3N6dG93eSAyLjVrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NoLjYyLCBNdXgxIFdpc2xhL1Nrcnp5Y3puZV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RQIEVtaVRlbCBDaC42NCwgTXV4MyBLcmFrb3cvQ2hvcmFnd2ljYV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gODE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Lcm9zbm9fU3VjaGFfR29yYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jvc25vX1N1Y2hhX0dvcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2I0ZTkyZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtS3Jvc25vX1N1Y2hhX0dvcmEKQEAgLTAsMCArMSwzNSBAQAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA1LzYKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNS82CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtUnplc3pvdyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtUnplc3pvdwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTkxODc4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1SemVzem93CkBAIC0wLDAgKzEsMTMgQEAKKyMgUnplc3pvdyAvIFN1Y2hhIEdvcmEsIFNvdXRoLUVhc3QgUG9sYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtU3pjemVjaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVN6Y3plY2luCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2ZGI2OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVN6Y3plY2luCkBAIC0wLDAgKzEsNDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgZmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSB3X3NjYW4KKyMgKGh0dHA6Ly93aXJiZWwuaHRwYy1mb3J1bS5kZS93X3NjYW4vaW5kZXgyLmh0bWwpCisjISA8d19zY2FuPiAyMDA5MTIzMCAxIDAgT0ZETSBQTCA8L3dfc2Nhbj4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBQb2xhbmQsIFN6Y3plY2luCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0xMi0wMQorIyBwcm92aWRlZCBieSAob3B0KSAgICA6IEZhbnRvbQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitbWmFjaG9kbmlvcG9tb3Jza2llLCBDaC40MSwgTXV4MSBTemN6ZWNpbi9Lb2xvd28gMTAwa1ddCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1taYWNob2RuaW9wb21vcnNraWUsIENoLjM0LCBNdXgyIFN6Y3plY2luL0tvbG93byAxMDBrV10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1phY2hvZG5pb3BvbW9yc2tpZSwgQ2guNDgsIE11eDMgU3pjemVjaW4vS29sb3dvIDEwMGtXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1XYXJzemF3YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV2Fyc3phd2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZjNmIzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcGwtV2Fyc3phd2EKQEAgLTAsMCArMSw2NCBAQAorIyBXYXJzYXcgKE1hc293aWFuKSwgUG9sYW5kCisjCisjIENoYW5uZWxzIGluZm86IGh0dHA6Ly9zYXQtY2hhcnRzLmV1L2R2Yi10LnBocAorIworW1Jhc3p5bi9QS2lOIE1VWC0zXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUmFzenluL1BLaU4gTVVYLTggKFRWTkhEKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tSYXN6eW4vUEtpTiBNVVgtMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1Jhc3p5bi9QS2lOIE1VWC0yXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbUEtpTiBNVVgtOF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCUNPREVfUkFURV9IUCA9IDUvNgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Xcm9jbGF3IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wbC1Xcm9jbGF3Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNmZmJlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3BsLVdyb2NsYXcKQEAgLTAsMCArMSwxMyBAQAorIyBXcm9jbGF3IC8gWm9yYXdpbmEsIFNvdXRoLVdlc3QgUG9sYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcHQtQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9wdC1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTE5ZTRkYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcHQtQWxsCkBAIC0wLDAgKzEsODUgQEAKKyMgR2VuZXJhdGVkIGZyb20gaHR0cDovL3RkdC1wb3J0dWdhbC5ibG9nc3BvdC5wdC8KK1tNb250ZSBkYSBWaXJnZW1dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tMb3VzYSAoVHJldmltKV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbTW9udGVqdW50b10KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tNYWlubGFuZCBTRk5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcm8tQnVjaGFyZXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9yby1CdWNoYXJlc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTI0MjdjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcm8tQnVjaGFyZXN0CkBAIC0wLDAgKzEsMzcgQEAKKyMgUm9tYW5pYSAvIEJ1Y2hhcmVzdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbU1JUVl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tTTlIgRFZCLVRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LUtyYXNub2RhciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtS3Jhc25vZGFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0YTBmZGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LUtyYXNub2RhcgpAQCAtMCwwICsxLDI2IEBACisjIFJ1c3NpYSwgS3Jhc25vZGFyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDQvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IEFVVE8KKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMQorCUlOVkVSU0lPTiA9IEFVVE8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtTm92b3NpYmlyc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LU5vdm9zaWJpcnNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNiZTNjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LU5vdm9zaWJpcnNrCkBAIC0wLDAgKzEsMjYgQEAKKyMgUnVzc2lhLCBOb3Zvc2liaXJzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LVZvbGdvZG9uc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3J1LVZvbGdvZG9uc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjgzMmQ3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvcnUtVm9sZ29kb25zawpAQCAtMCwwICsxLDI2IEBACisjIFJ1c3NpYSwgVm9sZ29kb25zaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gNC81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gQVVUTworCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSA0LzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSBBVVRPCisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFhcmVhdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFhcmVhdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTNkNzE2YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWFyZWF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQWFyZWF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWRvbGZzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWRvbGZzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iN2FhNDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BZG9sZnN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBZG9sZnN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWduYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFnbmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJkN2MxYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFnbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBZ27DpHMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFrZXJzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ba2Vyc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNmRjNGVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ba2Vyc2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VrZXJzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxhZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxhZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMTI2ZGNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGFmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQWxhZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGJhY2tlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxiYWNrZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTkxYWE0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxiYWNrZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEFsYmFja2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsZ3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmNiNzgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGdzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOEbGdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbGluZ3Nhc19NYXJpZWRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxpbmdzYXNfTWFyaWVkYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjQ5ZmU5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWxpbmdzYXNfTWFyaWVkYWwKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBBbGluZ3PDpXMvTWFyaWVkYWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE3NzUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2YW5nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkMzg5YTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmFuZ2VuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4RsdsOkbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxlbl9CcnVubnNiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZkYWxlbl9CcnVubnNiZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmMWI4MjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbGVuX0JydW5uc2JlcmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSDDhGx2ZGFsZW4vQnJ1bm5zYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2ZGFsc2FzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbHNhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NjE1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdmRhbHNhc2VuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gw4RsdmRhbHPDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2JhY2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYmFja2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2ViOTYzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQWx2c2JhY2thCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhGx2c2JhY2thCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbHZzYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjMzA4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFsdnNieW4KQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSDDhGx2c2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1JpYm92YXJkbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfUmlib3ZhcmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyMDZhOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtbWFybmFzX1JpYm92YXJkbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQW1tYXJuw6RzIFJpYm92YXJkbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfVGp1bHRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW1hcm5hc19UanVsdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGJiMWQzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1tYXJuYXNfVGp1bHRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBBbW1hcm7DpHMvVGp1bHRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjY5N2I3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbW90CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gw4Vtb3QKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3Rmb3JzX0tyb3Bwc3RhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW1vdGZvcnNfS3JvcHBzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkyNzI2NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFtb3Rmb3JzX0tyb3Bwc3RhZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4Vtb3Rmb3JzIEtyb3Bwc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjYWJlZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZGVyc3ZhdHRuZXRfRXJzbXlyYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmRlcnN2YXR0bmV0X0Vyc215cmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYTgyYjNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmRlcnN2YXR0bmV0X0Vyc215cmJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQW5kZXJzdmF0dG5ldC9FcnNteXJiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VfU25vYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZV9Tbm9iZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmMGJhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VfU25vYmVyZwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIMOFbmdlL1Nuw7ZiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDMxNDVlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWJvCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSDDhG5nZWJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VsaG9sbV9WZWdlaG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQW5nZWxob2xtX1ZlZ2Vob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2MTExMjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2VsaG9sbV9WZWdlaG9sbQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOEbmdlbGhvbG0vVmVnZWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFuZ2Vyc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlcnNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xOTBjN2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BbmdlcnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4RuZ2Vyc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU1ODFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJlCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4VyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmphbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFyamFuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjU0MGFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmphbmcKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSDDhXJqw6RuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcmplcGxvZ19HYWx0aXNwb3VkYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqZXBsb2dfR2FsdGlzcG91ZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMwYzgxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJqZXBsb2dfR2FsdGlzcG91ZGEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBBcmplcGxvZyBHYWx0aXNwb3VkYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bcm9zam9rayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJvc2pva2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmE4OGRlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJvc2pva2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOFcm9zam9raworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWRzamF1cl9KdWx0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWRzamF1cl9KdWx0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NmM0ODYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BcnZpZHNqYXVyX0p1bHRyYXNrCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQXJ2aWRzamF1ci9KdWx0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlrYV9PcnNodWx0YWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXJ2aWthX09yc2h1bHRhYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdkMDQxYjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFydmlrYV9PcnNodWx0YWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQXJ2aWthL8OWcnNodWx0YWJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhNjIxM2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzZWxlX0FzbGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc2VsZV9Bc2xpYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYWMwZDhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc2VsZV9Bc2xpYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw4VzZWxlIMOFc2xpYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNtb25fU29ybW9mbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzbW9uX1Nvcm1vZmxvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NDQyMDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUFzbW9uX1Nvcm1vZmxvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDhXNtb24vU8O2cm1vZmxvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Bc3BlYm9kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNwZWJvZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWNhNTAwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXNwZWJvZGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBBc3BlYm9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXR2aWRhYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXR2aWRhYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zODBiN2UxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BdHZpZGFiZXJnCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw4V0dmlkYWJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXZlc3RhX0tyeWxibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQXZlc3RhX0tyeWxibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWExNDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1BdmVzdGFfS3J5bGJvCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQXZlc3RhL0tyeWxibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2ODhiZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhY2tlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCYWNrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2Vmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CYWNrZWZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjZiOWJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFja2Vmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQsOkY2tlZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmFua2VyeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhbmtlcnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiMTIzMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJhbmtlcnlkCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQmFua2VyeWQKK1tbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZW5ndHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZW5ndHNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxZGU3ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlbmd0c2ZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJlbmd0c2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OWIxOThhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnaGFtbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmVyZ2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzaGFtcmFfVmF4dHVuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3NoYW1yYV9WYXh0dW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA4ZTdlNmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzaGFtcmFfVmF4dHVuYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJlcmdzaGFtcmEvVmF4dHVuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2pvX0JhbGxlYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CZXJnc2pvX0JhbGxlYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY0YzhjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmdzam9fQmFsbGViZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBCZXJnc2rDti9Cw6VsbGViZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmd2aWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJlcmd2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDFhYzZiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmVyZ3ZpawpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEJlcmd2aWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpbGxzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpbGxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmYzYmJmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmlsbHNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmlsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJpc3Bmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaXNwZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOTNhYTdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CaXNwZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJpc3Bmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrbGlkZW5fVG9ybmVoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya2xpZGVuX1Rvcm5laGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjUzZDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya2xpZGVuX1Rvcm5laGFtbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmrDtnJrbGlkZW4vVG9ybmVoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3NlbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3Jrc2VsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYTI0ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ya3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqw7Zya3NlbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcmt2YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4Y2UzYWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqb3JrdmF0dG5ldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQmrDtnJrdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cam9ybmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTAyMjMyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQmpvcm5hCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCasO2cm5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVyYmVyZ2V0X0hlbXRqYXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVyYmVyZ2V0X0hlbXRqYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2ZDU3YzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqdXJiZXJnZXRfSGVtdGphcm4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqdXJiZXJnZXQvSGVtdGrDpHJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVydHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJqdXJ0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMWQ3YTMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CanVydHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJqdXJ0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9iZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyM2IxYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9iZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2RhX0ZhZ2VydW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGFfRmFnZXJ1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZjcwNWE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2RhX0ZhZ2VydW0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBCw7ZkYS9GYWdlcnVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGVuX1Nrb2dzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9kZW5fU2tvZ3NhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3ZGJhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvZGVuX1Nrb2dzYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9kZW4vU2tvZ3PDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ncmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb2dyYW5nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGFlNDY1NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ncmFuZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCb2dyYW5nZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxlYnlnZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9sbGVieWdkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwNjA2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxlYnlnZApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEJvbGxlYnlnZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvbGxuYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjNmNTZiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9sbG5hcwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIEJvbGxuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9uaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9uaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wN2U2ZDg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb25oYW1uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCw7ZuaGFtbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfRGFsc2pvZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yYXNfRGFsc2pvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWU0YjlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19EYWxzam9mb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gQm9yw6VzL0RhbHNqw7Zmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmFzX1Nqb2JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19Tam9ibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMmU4MGYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jhc19Tam9ibwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJvcsOlcy9TasO2Ym8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdhZmphbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdhZmphbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhlNzJhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ2FmamFsbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm9yZ2FmasOkbGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdob2xtX1JhbXNhdHRyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9yZ2hvbG1fUmFtc2F0dHJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0ZGYwMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdob2xtX1JhbXNhdHRyYQpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEJvcmdob2xtL1JhbXPDpHR0cmEKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jnc2pvYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3Jnc2pvYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNTVkOTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmdzam9ieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcmdzasO2YnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JrYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmthbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZmViYTMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JrYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcmthbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ybGFuZ2VfSWRrZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX0lka2VyYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NzhlZTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX0lka2VyYmVyZ2V0CkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gQm9ybMOkbmdlL0lka2VyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9OeWdhcmRhcm5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3JsYW5nZV9OeWdhcmRhcm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5M2U3MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvcmxhbmdlX055Z2FyZGFybmEKQEAgLTAsMCArMSw0OSBAQAorIyBTd2VkZW4gLSBCb3Jsw6RuZ2UvTnlnw6VyZGFybmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3J0YW5zYnluX0JvcnRhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ydGFuc2J5bl9Cb3J0YW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGMwZjI2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm9ydGFuc2J5bl9Cb3J0YW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvcnRhbnNieW4vQm9ydGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3NlYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3NlYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYjdjNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvc2VieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJvc2VieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHNtYXJrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3RzbWFyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYTI1N2ExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Cb3RzbWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQm90c21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHRuYXJ5ZF9SeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJvdHRuYXJ5ZF9SeWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTI5ZTU0ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQm90dG5hcnlkX1J5ZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEJvdHRuYXJ5ZC9SeWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNDI3NDRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYWtlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnJlZMOla2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX0t1YmJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcmVkYnluX0t1YmJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEwMzhlMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fS3ViYmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJyZWRieW4vS3ViYmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fVmFzdGVyZmFubmJ5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZGJ5bl9WYXN0ZXJmYW5uYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhYmIxYWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRieW5fVmFzdGVyZmFubmJ5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnJlZGJ5biBWw6RzdGVyZmFubmJ5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJlZHNqb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRzam9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM2YjRlN2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyZWRzam9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBCcmVkc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyb21zZWJybyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJvbXNlYnJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4ZTgxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJyb21zZWJybwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEJyw7Ztc2Vicm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJ1emFob2xtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CcnV6YWhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDVjYWRkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnJ1emFob2xtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gQnJ1emFob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWRhbGVuX0hvdmRlaG9nZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5ZGFsZW5fSG92ZGVob2dlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kY2VjNDE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeWRhbGVuX0hvdmRlaG9nZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEJ5ZGFsZW4vSG92ZGVow7ZnZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RldHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RldHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc2NjE2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlnZGV0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnlnZGV0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RzaWxqdW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUJ5Z2RzaWxqdW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmE3ZWIwMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnlnZHNpbGp1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gQnlnZHNpbGp1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnl4ZWxrcm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1CeXhlbGtyb2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJmZjU0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtQnl4ZWxrcm9rCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gQnl4ZWxrcm9rCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFkcmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWRyYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzhlYjlhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFkcmFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEw6VkcmFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMzNhYjJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2FlMWQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxmb3JzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRGFsZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGFsc19MYW5nZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHNfTGFuZ2VkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ3MzczM2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHNfTGFuZ2VkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBEYWxzIEzDpW5nZWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURhbHN0dWdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzdHVnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjg0OTZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EYWxzdHVnYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIERhbHN0dWdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlYmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlZ2ViZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMzUxOGY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlYmVyZ2EKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIERlZ2ViZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZXJmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWdlcmZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjJmNjU3MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVnZXJmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gRGVnZXJmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNjI1MDBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EZWxhcnkKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEZWxhcnkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeV9Lb2xhYm9kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGVsYXJ5X0tvbGFib2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2MmRmMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURlbGFyeV9Lb2xhYm9kYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRGVsYXJ5L0vDtmxhYm9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRGp1cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURqdXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyMGE0ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURqdXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRGp1cmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURvcm90ZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLURvcm90ZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I1YWFjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRG9yb3RlYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRG9yb3RlYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHJldmRhZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EcmV2ZGFnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTJjOWRhMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHJldmRhZ2VuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRHJldmRhZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZlZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2ZWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGZiMzlkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRHV2ZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIER1dmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dm5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zM2FhZjk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEdXZuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXNfQmFzbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUR1dm5hc19CYXNuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTVlYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1EdXZuYXNfQmFzbmEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBEdXZuw6RzL0LDpHNuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRhbmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkYW5lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxNjg2ODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkYW5lCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFZGFuZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjkyNDQwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzYnluCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRWRzYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNlbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVkc2VsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jN2RmM2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVkc2VsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzbGVza29nX0hvZ2hlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FZHNsZXNrb2dfSG9naGVkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RmN2YwZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWRzbGVza29nX0hvZ2hlZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFZHNsZXNrb2cvSMO2Z2hlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fa3NoYXJhZF9Fa2VzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fa3NoYXJhZF9Fa2VzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZkYWEyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVrc2hhcmFkX0VrZXNiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVrc2jDpHJhZCBFa2VzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbGxvcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWxsb3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmE4Mzg0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRWxsb3MKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEVsbMO2cworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW1tYWJvZGFfQmFsc2h1bHQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVtbWFib2RhX0JhbHNodWx0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjYxZDExN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVtbWFib2RhX0JhbHNodWx0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRW1tYWJvZGEvQsOkbHNodWx0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW5hZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRW5hZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZTIwODlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbmFmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFbmFmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbnZpa2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1FbnZpa2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5MzY3MTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUVudmlrZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBFbnZpa2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRXJpa3NsdW5kX0Jlcmdhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Fcmlrc2x1bmRfQmVyZ2FzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIxNjIyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRXJpa3NsdW5kX0Jlcmdhc2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBFcmlrc2x1bmQvQmVyZ8Olc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzIwMWIzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFnZXJzdGEKQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBGYWdlcnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhZ2Vyc3RhX0phdHRhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YV9KYXR0YXNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZTkzZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWdlcnN0YV9KYXR0YXNlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEZhZ2Vyc3RhIErDpHR0w6VzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsZXJ1bV9DZW50cnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxlcnVtX0NlbnRydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzE2ZjI2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFsZXJ1bV9DZW50cnVtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRmFsZXJ1bS9DZW50cnVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxrZW5iZXJnX1JpbmdzZWdhcmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbGtlbmJlcmdfUmluZ3NlZ2FyZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MDlkYmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWxrZW5iZXJnX1JpbmdzZWdhcmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZhbGtlbmJlcmcvUmluZ3NlZ8OlcmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbHRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45M2JjZGExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx0cmFzawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmFsdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx1bl9Mb3ZiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhbHVuX0xvdmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43OTJiY2I3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYWx1bl9Mb3ZiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBGYWx1bi9Mw7Z2YmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyaWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWFkNTE2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyaWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRsOkcmlsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyamVzdGFkZW5fQWxndXRzcnVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJqZXN0YWRlbl9BbGd1dHNydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ1YTFkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyamVzdGFkZW5fQWxndXRzcnVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gRsOkcmplc3RhZGVuL0FsZ3V0c3J1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2Vyc3RyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2Vyc3RyYXNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYzZjI2NTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9fQWprZXJzdHJhc2sKQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBGw6Vyw7YvQWprZXJzdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19Bamtlc3RyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GYXJvX0Fqa2VzdHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWUzNjgzNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb19Bamtlc3RyYXNrCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gRsOlcsO2L0Fqa2VzdHLDpHNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmFyb3N1bmRfQnVuZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9zdW5kX0J1bmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJiMGRjYjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZhcm9zdW5kX0J1bmdlCkBAIC0wLDAgKzEsMzEgQEAKKyMgU3dlZGVuIC0gRsOlcsO2c3VuZC9CdW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmVuZ2Vyc2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZlbmdlcnNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk0ZWVjYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZlbmdlcnNmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGZW5nZXJzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlsaXBzdGFkX0tsb2NrYXJob2pkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbGlwc3RhZF9LbG9ja2FyaG9qZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzNjc0YmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZpbGlwc3RhZF9LbG9ja2FyaG9qZGVuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRmlsaXBzdGFkL0tsb2NrYXJow7ZqZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlubnZlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GaW5udmVkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWZhMGRiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmlubnZlZGVuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gRmlubnZlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDBkOTkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GamFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGasOkbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmphbGxzdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWxsc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmYzk5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZqYWxsc3RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGasOkbGxzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsYXJrZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmxhcmtlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJlMGQ5ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsYXJrZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmzDpHJrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmxvZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsb2RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmNGU2MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZsb2RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGbG9kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx1cmttYXJrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHVya21hcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2VkYmE4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRmx1cmttYXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGbHVya21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZseWdnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHlnZ3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iY2VjMDMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHlnZ3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRmx5Z2dzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GbHluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5YjhhZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZseW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZseW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvbHNieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvbHNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWI3MDAwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9sc2J5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRsO2bHNieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNlZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc2VkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ5ODEzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNlZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRm9yc2VkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNtbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NjBiYWZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZvcnNtbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vX1l0dGVyc2VsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Gb3JzbW9fWXR0ZXJzZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODY2ODFjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc21vX1l0dGVyc2VsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGb3JzbW8vWXR0ZXJzZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNuYXNldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRm9yc25hc2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgxMjcyMTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZvcnNuYXNldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRm9yc27DpHNldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbmtyaWtlZ2FyZGVuX0ZyYW5rcmlrZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbmtyaWtlZ2FyZGVuX0ZyYW5rcmlrZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YTgyOTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmFua3Jpa2VnYXJkZW5fRnJhbmtyaWtlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcmFua3Jpa2Vnw6VyZGVuL0ZyYW5rcmlrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbnN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJhbnN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzg2ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmFuc3RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcsOkbnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWthCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc2MjMwZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyaWthCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGcmVkcmlrYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa3NiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcmlrc2JlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDM4ZGVmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJlZHJpa3NiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRnJlZHJpa3NiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcm9zIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GcmVkcm9zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwMTNkODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyZWRyb3MKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEZyZWRyb3MKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyaXRzbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZyaXRzbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI0ZTc2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnJpdHNsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEZyaXRzbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bGxzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdWxsc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNTc3MzlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdWxsc2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gRnVsbHNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX0Z1bmFzZGFsc2JlcmdlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX0Z1bmFzZGFsc2JlcmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIyNGNlNWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUZ1bmFzZGFsZW5fRnVuYXNkYWxzYmVyZ2UKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBGdW7DpHNkYWxlbiBGdW7DpHNkYWxzYmVyZ2UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9UZWxlc3RhdGlvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVuYXNkYWxlbl9UZWxlc3RhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wY2ZmMDYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdW5hc2RhbGVuX1RlbGVzdGF0aW9uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBGdW7DpHNkYWxlbi9UZWxlc3RhdGlvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVydWRhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtRnVydWRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MmQwODE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1GdXJ1ZGFsCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gRnVydWRhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FkZGVkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FkZGVkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTE4M2I1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWRkZWRlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHw6RkZGVkZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbGl2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYWxsaXZhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWY5OGE5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbGl2YXJlCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gR8OkbGxpdmFyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxzYXR0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhbGxzYXR0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmNlNTQyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FsbHNhdHRlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2FsbHPDpHR0ZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmRpa2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdhcmRpa2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWM5N2E5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZGlrZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2FyZGlrZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZ25hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FyZ25hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZWY3OWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJnbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHYXJnbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FycGVuYmVyZ19LdXBwZ2FyZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXJwZW5iZXJnX0t1cHBnYXJkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWRjNzkwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2FycGVuYmVyZ19LdXBwZ2FyZGVuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR2FycGVuYmVyZy9LdXBwZ8OlcmRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2F2bGVfU2tvZ211ciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR2F2bGVfU2tvZ211cgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZThhYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HYXZsZV9Ta29nbXVyCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gR8OkdmxlL1Nrb2dtdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HaWxsaG92IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HaWxsaG92Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NDE1ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdpbGxob3YKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdpbGxob3YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdsaW1ha3JhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbGltYWtyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjAyN2NjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbGltYWtyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR2xpbcOla3JhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbmFycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25hcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDRiNDYxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25hcnAKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHbmFycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25lc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HbmVzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWJhZjcwZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25lc3RhCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gR25lc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25vc2pvX01hcmllaG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR25vc2pvX01hcmllaG9sbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTRjNWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hbm9zam9fTWFyaWVob2xtCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gR25vc2rDti9NYXJpZWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvcmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3JkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDcyNjNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3JkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR8O2cmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19CcnVkYXJlbW9zc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hb3RlYm9yZ19CcnVkYXJlbW9zc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUxZDdiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX0JydWRhcmVtb3NzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBHw7Z0ZWJvcmcvQnJ1ZGFyZW1vc3NlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX1NsYXR0YWRhbW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdvdGVib3JnX1NsYXR0YWRhbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGY0OTllOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR290ZWJvcmdfU2xhdHRhZGFtbQpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEfDtnRlYm9yZy9TbMOkdHRhZGFtbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JhbmluZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYW5pbmdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5MWUxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYW5pbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcmFuaW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3Jhc21hcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNtYXJrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjMGNkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNtYXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcsOkc21hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNteXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyYXNteXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTc2N2Y1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3Jhc215cgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3LDpHNteXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZWJiZXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZWJiZXN0YWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDFiNmJhOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JlYmJlc3RhZApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEdyZWJiZXN0YWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3JldmllIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HcmV2aWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGMyYTk4YTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyZXZpZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3JldmllCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hcm92ZWxzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Hcm92ZWxzam9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA0Zjc5MTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdyb3ZlbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEdyw7Z2ZWxzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3J1bXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdydW1zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3ZTk5NzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUdydW1zCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHcnVtcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VsaWtzYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNTBmODY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdWxpa3NiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnX1JvZHZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGlrc2JlcmdfUm9kdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTViODBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxpa3NiZXJnX1JvZHZhdHRuZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEd1bGlrc2JlcmcvUsO2ZHZhdHRuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bGxicmFuZHN0b3JwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxsYnJhbmRzdG9ycApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTE3MTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdWxsYnJhbmRzdG9ycApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEd1bGxicmFuZHN0b3JwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW1ob2pkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bWhvamRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzIyODIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW1ob2pkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEd1bWjDtmpkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcm5fU29yc2pvbGlkZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcm5fU29yc2pvbGlkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWFlZTAyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFybl9Tb3Jzam9saWRlbgpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEd1bm5hcm4vU8O2cnNqw7ZsaWRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOTUxY2RlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJzYm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHdW5uYXJzYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUd1bm5hcnNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTYyNTczOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2J5bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gR3VubmFyc2J5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2tvZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VubmFyc2tvZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NjAwYzkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdW5uYXJza29nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBHdW5uYXJza29nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1HdXN1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VzdW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmFlZWVjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtR3VzdW0KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBHdXN1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFkYW5iZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWRhbmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGEzNDg4NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFkYW5iZXJnCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RkYW5iZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWdmb3JzX1Zhcm11bGxzYXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFnZm9yc19WYXJtdWxsc2FzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I4ZjkzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFnZm9yc19WYXJtdWxsc2FzZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIYWdmb3JzL1bDpHJtdWxsc8Olc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFrYWZvdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFrYWZvdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjFiMzkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWthZm90CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6VrYWZvdAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsYWZvcnNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsYWZvcnNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOWFiODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxhZm9yc2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6VsYWZvcnNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsamVib2RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxqZWJvZGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDU2YmIxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsamVib2RhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsamVib2RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTYyNjZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDpWxsYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhcnlkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXJ5ZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzg4MjI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXJ5ZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhhbGxhcnlkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlMDdkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxhc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEjDpGxsYXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsYm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjhlNjBmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGJvCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSMOkbGxibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgyMTkyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxldmlrc3N0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbGV2aWtzc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlMTI1MjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbGxldmlrc3N0cmFuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMOkbGxldmlrc3N0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbHNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWM2NjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxsc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw6RsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX0hhbW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfSGFtbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM0NGU3MTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhbG1zdGFkX0hhbW5lbgpAQCAtMCwwICsxLDMxIEBACisjIFN3ZWRlbiAtIEhhbG1zdGFkL0hhbW5lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfT3NrYXJzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFsbXN0YWRfT3NrYXJzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZDhiMDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYWxtc3RhZF9Pc2thcnN0cm9tCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSGFsbXN0YWQvT3NrYXJzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYW1idXJnc3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFtYnVyZ3N1bmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDlhY2E1ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFtYnVyZ3N1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhbWJ1cmdzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJhZHMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhhcmFkcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWNhZTlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJhZHMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhcmFkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFybm9zYW5kX0hhcm5vbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFybm9zYW5kX0hhcm5vbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NTExZmVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJub3NhbmRfSGFybm9uCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSMOkcm7DtnNhbmQvSMOkcm7Dtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXJyc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFycnNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTk3ZDlmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFycnNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhhcnJzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFzc2VsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGFzc2VsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOWVlOThhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXNzZWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gSGFzc2VsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGF2ZGhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGF2ZGhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYThmMTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IYXZkaGVtCkBAIC0wLDAgKzEsNjEgQEAKKyMgU3dlZGVuIC0gSGF2ZGhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTAyNGFhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEhlZGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVkZW1vcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVtb3JhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI0YzRlNTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVtb3JhCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBIZWRlbW9yYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbmFzZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlZGVuYXNldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzNlNmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWRlbmFzZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlZGVuw6RzZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbGd1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVsZ3VtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3ZjgyYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbGd1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSGVsZ3VtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxzaW5nYm9yZ19PbHltcGlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZWxzaW5nYm9yZ19PbHltcGlhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIyNDg0MGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbHNpbmdib3JnX09seW1waWEKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIZWxzaW5nYm9yZy9PbHltcGlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtYXZhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVtYXZhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYWYzNGJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1hdmFuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gSGVtYXZhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1zb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbXNvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YTZlMDAxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW1zb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhlbXPDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbmFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5hbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZmFiMjRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5hbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSGVuw6VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5uYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlbm5hbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zN2U3OGM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IZW5uYW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIZW5uYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlc3RyYV9Bc3BhcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSGVzdHJhX0FzcGFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYzYTU1NGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhlc3RyYV9Bc3BhcwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhlc3RyYS/DhHNww6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Iam9fR3JldmJhY2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhqb19HcmV2YmFjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MDYzYzFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Iam9fR3JldmJhY2sKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIam8vR3JldmLDpGNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNDc2ZWI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2ZvcnMKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBIb2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NzQyM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2ZvcnMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIw7ZnZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9nbHVuZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2x1bmRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NjU2ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ2x1bmRhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw7ZnbHVuZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ3NieV9WaXJzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dzYnlfVmlyc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yN2UzNzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2dzYnlfVmlyc3RhZApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEjDtmdzYnkvVmlyc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvZ3ZhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2d2YWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOTBlMDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2d2YWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSMO2Z3bDpWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9samVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xqZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmVlZmE4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9samVzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIw7ZsamVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xsdmlrZW5fU3RvcmFfSGFtbWFyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib2xsdmlrZW5fU3RvcmFfSGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQxZGU5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbGx2aWtlbl9TdG9yYV9IYW1tYXIKQEAgLTAsMCArMSwzMCBAQAorIyBTd2VkZW4gLSBIw7ZsbHZpa2VuL1N0b3JhIEhhbW1hcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbHNieWJydW5uX0hvbHNieWhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvbHNieWJydW5uX0hvbHNieWhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDE4MDA1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9sc2J5YnJ1bm5fSG9sc2J5aG9sbQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEhvbHNieWJydW5uL0hvbHNieWhvbG0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmJ5X1NhbGxlcnVwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JieV9TYWxsZXJ1cApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MzYzY2JiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3JieV9TYWxsZXJ1cApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEjDtnJieS9TYWxsZXJ1cAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmtlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ya2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1OGVlNmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcmtlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEjDtnJrZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcm5vbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG9ybm9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQ4OTJjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvcm5vbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSG9ybsO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90YWdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG90YWdlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzFhNjI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RhZ2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIb3RhZ2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUhvdGluZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDM4N2M2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3RpbmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEhvdGluZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG92ZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSG92ZmphbGxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZDM3OTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ib3ZmamFsbGV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIb3ZmasOkbGxldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9Gb3JzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9Gb3JzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZWNmNmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdWRpa3N2YWxsX0ZvcnNhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gSHVkaWtzdmFsbC9Gb3JzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfR2FsZ2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVkaWtzdmFsbF9HYWxnYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzNmYzYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1ZGlrc3ZhbGxfR2FsZ2JlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEh1ZGlrc3ZhbGwvR2FsZ2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bW1lbGhvbG0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1bW1lbGhvbG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODg2MzhhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVtbWVsaG9sbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSHVtbWVsaG9sbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVubmVib3N0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSHVubmVib3N0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NDkxOGRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdW5uZWJvc3RyYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBIdW5uZWJvc3RyYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXNrdmFybmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1c2t2YXJuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjUwMGFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXNrdmFybmEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBIdXNrdmFybmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUh1c3VtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXN1bQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNjY3OGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1IdXN1bQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSHVzdW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkaXZ1b21hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZGl2dW9tYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kOGEzYjQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JZGl2dW9tYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSWRpdnVvbWEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkcmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlkcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQxZmY4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSWRyZQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIElkcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JbmdhdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5nYXRvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmIxMTg4OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5nYXRvcnAKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBJbmdhdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5ndmFsbHNiZW5uaW5nIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Jbmd2YWxsc2Jlbm5pbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkxY2IxNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSW5ndmFsbHNiZW5uaW5nCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBJbmd2YWxsc2Jlbm5pbmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JcmV2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWZhNDlkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gSXJldmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXJldmlrXzMxOTUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpa18zMTk1Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5NGI3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUlyZXZpa18zMTk1CkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gSXJldmlrLzMxOTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1JdmFyc2J5biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXZhcnNieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWY1YzU1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSXZhcnNieW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEl2YXJzYnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYWtrdmlrX0ZyYWtlbm15cmVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYWtrdmlrX0ZyYWtlbm15cmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNhMmNlYTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpha2t2aWtfRnJha2VubXlyZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIErDpGtrdmlrIEZyw6RrZW5teXJlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFtam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphbWpvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRkMTQ0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphbWpvCkBAIC0wLDAgKzEsMjUgQEAKKyMgU3dlZGVuIC0gSsOkbWrDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcmt2aXNzbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcmt2aXNzbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2NmYmFlYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFya3Zpc3NsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSsOkcmt2aXNzbGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcm5mb3JzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcm5mb3JzZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDE2M2JlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFybmZvcnNlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIErDpHJuZm9yc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJwZW5fTWVsbGFuZ2FyZHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnBlbl9NZWxsYW5nYXJkc2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNGI0N2M1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJwZW5fTWVsbGFuZ2FyZHNiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIErDpHJwZW4gTWVsbGFuZ8OlcmRzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2c28gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUphcnZzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kNWRjZjYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2c28KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBKw6RydnPDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnRyYXNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KYXJ2dHJhc2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGU0NjUxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSmFydnRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKw6RydnRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9lc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvZXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllMWJjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvZXN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKb2VzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX055Ym9yZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfTnlib3JnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmMTJjZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpva2ttb2trX055Ym9yZwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEpva2ttb2trL055Ym9yZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb2trbW9ra19UamFsbWVqYXVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfVGphbG1lamF1cmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzY0YmE2ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ra21va2tfVGphbG1lamF1cmUKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBKb2trbW9ray9UamFsbWVqYXVyZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUpvbmtvcGluZ19Cb25kYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb25rb3BpbmdfQm9uZGJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOGNhMWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb25rb3BpbmdfQm9uZGJlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIErDtm5rw7ZwaW5nL0JvbmRiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Kb3JtdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ybXZhdHRuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGE5YjQ1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSm9ybXZhdHRuZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEpvcm12YXR0bmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1KdWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwYTRkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1ZGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEp1ZGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfSGFtcHRqYXJuc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVuc2VsZV9IYW1wdGphcm5zYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmEwMzFiNzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfSGFtcHRqYXJuc2JlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gSnVuc2VsZSBIYW1wdGrDpHJuc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtSnVuc2VsZV9WYWxsZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfVmFsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFmMWZlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUp1bnNlbGVfVmFsbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBKdW5zZWxlL1ZhbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FnZXJvZF9Nb2xsYXJwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWdlcm9kX01vbGxhcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjY1YjE5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FnZXJvZF9Nb2xsYXJwCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLw6VnZXLDtmQvTcO2bGxhcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGFybmUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGFybmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2VkNGM3MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsYXJuZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbGFybmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMjZkNzc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxpeCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmU0ZTFkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsaXgKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYWxpeAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxlcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsZXJlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YmFkMDM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsZXJlZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OlbGxlcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsaW5nZV9LYWxsZWJlcmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYWxsaW5nZV9LYWxsZWJlcmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwNzljNmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxpbmdlX0thbGxlYmVyZ2EKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLYWxsaW5nZS9LYWxsZWJlcmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxyb3IgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbGxyb3IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWMwNWY0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FsbHJvcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2FsbHLDtnIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthbXBlcnN2aWtfRWtlYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYW1wZXJzdmlrX0VrZWJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzM5NGNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYW1wZXJzdmlrX0VrZWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8OkbXBlcnN2aWsvRWtlYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJib2xlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJib2xlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3MzQwY2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmJvbGUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLw6VyYsO2bGUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmVzdWFuZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmVzdWFuZG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM4ZTkzNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FyZXN1YW5kbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2FyZXN1YW5kbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybGFuZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxhbmRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNjNDU1YTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxhbmRhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLYXJsYW5kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNib3JnX1ZhYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2JvcmdfVmFiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMxYTZhZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNib3JnX1ZhYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gS2FybHNib3JnL1ZhYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDhlNWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2hhbW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYXJsc2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX0phbWpvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX0phbWpvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ3YzJiZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxza3JvbmFfSmFtam8KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLYXJsc2tyb25hL0rDpG1qw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9WYW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc2tyb25hX1ZhbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTYxOTVmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FybHNrcm9uYV9WYW1vCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS2FybHNrcm9uYS9Ww6Rtw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc3RhZF9Tb3Jtb24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUthcmxzdGFkX1Nvcm1vbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMTczZTQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXJsc3RhZF9Tb3Jtb24KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLYXJsc3RhZCBTw7ZybW9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FzdGFfUmluZ2thbGxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2FzdGFfUmluZ2thbGxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Mjg4ZDQxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXN0YV9SaW5na2FsbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLw6VzdGEgUmluZ2thbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2F4YXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0ZTY3YzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLYXjDpXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtheGhvbG1lbl9WaXN0YWt1bGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhob2xtZW5fVmlzdGFrdWxsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lM2YwNGUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LYXhob2xtZW5fVmlzdGFrdWxsZQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEtheGhvbG1lbi9WaXN0YWt1bGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaW5uYXN0cm9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaW5uYXN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2MTJkMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtpbm5hc3Ryb20KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLaW5uYXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lydW5hX0tpcnVuYXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaXJ1bmFfS2lydW5hdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTFlZTQ2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lydW5hX0tpcnVuYXZhYXJhCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gS2lydW5hL0tpcnVuYXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lzYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2lzYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OTAxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LaXNhCkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gS2lzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsaW5nc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbGluZ3N0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MWI5NjY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbGluZ3N0YQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2xpbmdzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsb3Zzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtsb3Zzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNiZjJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS2xvdnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS2zDtnZzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmFyZWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtuYXJlZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNGRiODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmFyZWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLbsOkcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LbmF2bGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hdmxhbmQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWEwOTIyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS25hdmxhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtuw6R2bGFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wbWFuaG9sbWVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3BtYW5ob2xtZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmJlNTVhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wbWFuaG9sbWVuCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gS8O2cG1hbmhvbG1lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBhcmJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBhcmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjY4NDQ0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wcGFyYmVyZwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEtvcHBhcmJlcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS29wcG9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2MDAxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcHBvbQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEtvcHBvbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3JzdHJhc2sgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvcnN0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODU0Y2MyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3JzdHJhc2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtvcnN0csOkc2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtvdHRzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3R0c2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hM2IwY2RlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3R0c2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS8O2dHRzasO2bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS292bGFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS292bGFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZjVkOTdjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lb3ZsYW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLb3ZsYW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19MdWdudmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFtZm9yc19MdWdudmlrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3YmFiOWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX0x1Z252aWsKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBLcmFtZm9ycy9MdWdudmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3JhbWZvcnNfT3N0YnkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX09zdGJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjljZDBkNzgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW1mb3JzX09zdGJ5CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLcmFtZm9ycy/DlnN0YnkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyYW5nZWRlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFuZ2VkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYzZmZjBiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmFuZ2VkZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3LDpW5nZWRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5lYmVyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mOGMwMGE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LcmlzdGluZWJlcmcKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtyaXN0aW5lYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Jpc3RpbmVoYW1uX1V0c2lrdHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5laGFtbl9VdHNpa3RzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0ZDUzOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyaXN0aW5laGFtbl9VdHNpa3RzYmVyZ2V0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gS3Jpc3RpbmVoYW1uL1V0c2lrdHNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lcm9rc3RyYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Lcm9rc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI5OTlkMzQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUtyb2tzdHJhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEtyb2tzdHJhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bHRzam9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdWx0c2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNzljYTU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdWx0c2pvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3VsdHNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nYWx2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nYWx2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhNTE4ODIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdhbHYKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLdW5nw6RsdgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2F0ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYXRlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNjAyNmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2F0ZXIKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBLdW5nc8OkdGVyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JhY2thX09qZXJzYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmFja2FfT2plcnNibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xN2ZiZGExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JhY2thX09qZXJzYm8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt1bmdzYmFja2Evw5ZqZXJzYm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzYmVyZ2V0X0dJIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HSQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZDM0ZTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HSQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEt1bmdzYmVyZ2V0L0dJCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2JlcmdldF9HbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR2wKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjNlNWMyZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VuZ3NiZXJnZXRfR2wKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt1bmdzYmVyZ2V0L0dsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt1bmdzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZGI1OTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdW5nc2hhbW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBLdW5nc2hhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIwNTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VycmF2YWFyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3VycmF2YWFyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wNmFiZjJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdXJyYXZhYXJhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdXJyYXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdmFybnN2ZWRqYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2YXJuc3ZlZGphbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMmQ5ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1LdmFybnN2ZWRqYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt2YXJuc3ZlZGphbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX0FycmV2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfQXJyZXZhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjQ2MDZhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3Zpa2tqb2trX0FycmV2YXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBLdmlra2pva2svw4VycmV2YXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfVGF2dmV2YXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ldmlra2pva2tfVGF2dmV2YXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxNWU5YTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt2aWtram9ra19UYXZ2ZXZhcmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEt2aWtram9ray9UYXZ2ZXZhcmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt5cmtlc3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtS3lya2VzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzNWEzMDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUt5cmtlc3VuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gS3lya2VzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYWdmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM0ZjUzMGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2ZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExhZ2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2dhcmJlcmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhZ2dhcmJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGM5Njg3NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFnZ2FyYmVyZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGFnZ2FyYmVyZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFpc3ZhbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhaXN2YWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2ZDFiMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhaXN2YWxsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMYWlzdmFsbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYwODM1MzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdhCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMw6VuZ8OlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTViZGRmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEzDpW5nc2VsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGFuZ3NoeXR0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1OGY4YjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTMOlbmdzaHl0dGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbl9FbmdlbHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MYW5nc2h5dHRhbl9FbmdlbHNmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQyMGQxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxhbmdzaHl0dGFuX0VuZ2Vsc2ZvcnMKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIEzDpW5nc2h5dHRhbi9FbmdlbHNmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGF4c2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY1NWIyOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGF4c2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGF4dmlrZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHZpa2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRiZDZiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxheHZpa2VuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMYXh2aWtlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrc2FuZF9Bc2xlZHNiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfQXNsZWRzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3YTBkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfQXNsZWRzYmVyZ2V0CkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTGVrc2FuZC/DhXNsZWRzYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxla3NhbmRfS2FyaW5nYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0thcmluZ2JlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzEyMzNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWtzYW5kX0thcmluZ2JlcmdldApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIExla3NhbmQvS8OkcmluZ2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrdmF0dG5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGVrdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lMDUyOTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZWt2YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBMZWt2YXR0bmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXJkYWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXJkYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNlOTc1MGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxlcmRhbGEKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMZXJkYWxhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXNqb2ZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxlc2pvZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40N2VjMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MZXNqb2ZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBMZXNqw7Zmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTBlODQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuX09zdGVyc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpZGVuX09zdGVyc3Ryb20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzcxMjBhMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlkZW5fT3N0ZXJzdHJvbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlkZW4vw5ZzdGVyc3Ryw7ZtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsYV9FZGV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsYV9FZGV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYWY5MDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxhX0VkZXQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBMaWxsYSBFZGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGxvZ2RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsb2dkYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44Y2VhZWExCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsb2dkYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGlsbMO2Z2RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxscGl0ZV9CYXN0YWJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHBpdGVfQmFzdGFiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTI5NmMwYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlsbHBpdGVfQmFzdGFiZXJnZXQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpbGxwaXRlIEJhc3RhYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsdGphcmFfRGlnZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbGx0amFyYV9EaWdlcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZDkxOTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaWxsdGphcmFfRGlnZXJiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMaWxsdGrDpHJhL0RpZ2VyYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW1lZHNmb3JzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbWVkc2ZvcnNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGM0ZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW1lZHNmb3JzZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBMaW1lZHNmb3JzZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmRzaGFtbWFyX1JhbWt2aWxsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGluZHNoYW1tYXJfUmFta3ZpbGxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MzZkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbmRzaGFtbWFyX1JhbWt2aWxsYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIExpbmRzaGFtbWFyL1JhbWt2aWxsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlua29waW5nX1ZhdHRlbnRvcm5ldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGlua29waW5nX1ZhdHRlbnRvcm5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lY2M0NGU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5rb3BpbmdfVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTGlua8O2cGluZy9WYXR0ZW50b3JuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5zZWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1MaW5zZWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3OTIwOWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpbnNlbGwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIExpbnNlbGwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGl0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiZTI0ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxpdApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGl0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMyNTZjZTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdWdhcm4KQEAgLTAsMCArMSwyNSBAQAorIyBTd2VkZW4gLSBManVnYXJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2Fybl8zMTkzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVnYXJuXzMxOTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI0OGNlYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1Z2Fybl8zMTkzCkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gTGp1Z2Fybi8zMTkzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdhdmVyayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTGp1bmdhdmVyawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YjgxNDRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2F2ZXJrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBManVuZ2F2ZXJrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2RhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVuZ2RhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5M2VmZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdW5nZGFsZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBManVuZ2RhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN0b3JwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdG9ycApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNDQ0ZGM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdG9ycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGp1c3RvcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxqdXN2YXR0bmV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdmF0dG5ldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNTAyNmNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ManVzdmF0dG5ldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTGp1c3ZhdHRuZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZGVydXBzX1N0cmFuZGJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9kZXJ1cHNfU3RyYW5kYmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5YjQwNzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZGVydXBzX1N0cmFuZGJhZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMO2ZGVydXBzIFN0cmFuZGJhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mZnN0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mZnN0cmFuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NDBhYzBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2Zmc3RyYW5kCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTG9mZnN0cmFuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZnNkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9mc2RhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRjYWUyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvZnNkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTG9mc2RhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb2dkZWFsdiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9nZGVhbHYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjFhN2FjOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9nZGVhbHYKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIEzDtmdkZcOkbHYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvbm5lYmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvbm5lYmVyZ2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjlhOGU4ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9ubmViZXJnYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIEzDtm5uZWJlcmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvcnN0cmFuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTG9yc3RyYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiYmRlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvcnN0cmFuZApAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEzDtnJzdHJhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUxvdmFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb3ZhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZTA1ZGY1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Mb3ZhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTMO2dsOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVkdmlrYV9Cam9ya2FzZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1ZHZpa2FfQmpvcmthc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg1MTJhMGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1ZHZpa2FfQmpvcmthc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gTHVkdmlrYS9CasO2cmvDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1bXNoZWRlbl9UcmVrYW50ZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx1bXNoZWRlbl9UcmVrYW50ZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWI5ZTBiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHVtc2hlZGVuX1RyZWthbnRlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIEx1bXNoZWRlbi9UcmVrYW50ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx5Y2tzZWxlX0tuYWZ0ZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLUx5Y2tzZWxlX0tuYWZ0ZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjVlYzZkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTHlja3NlbGVfS25hZnRlbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIEx5Y2tzZWxlL0tuYWZ0ZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWh1bHQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1haHVsdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjczMTFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWh1bHQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBNYWh1bHQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTZmY2U1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFsYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTWFsw6UKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbG1vX0phZ2Vyc3JvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWxtb19KYWdlcnNybwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODcyNWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWxtb19KYWdlcnNybwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIE1hbG3Dti9Kw6RnZXJzcm8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWx1bmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hbHVuZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZWE2MzYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYWx1bmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBNYWx1bmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYW5zZXJ1ZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFuc2VydWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTllZTViMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFuc2VydWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE3DpW5zZXJ1ZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyZHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyZHNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGY2N2JhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXJkc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNw6VyZHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmlhbm5lbHVuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFyaWFubmVsdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxYjUxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmlhbm5lbHVuZApAQCAtMCwwICsxLDYgQEAKKyMgU3dlZGVuIC0gTWFyaWFubmVsdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmthcnlkX0h1YWx0ZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1hcmthcnlkX0h1YWx0ZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDUzODA3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWFya2FyeWRfSHVhbHRldApAQCAtMCwwICsxLDQ5IEBACisjIFN3ZWRlbiAtIE1hcmthcnlkL0h1YWx0ZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0Zm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0Zm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjBiODJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTWF0Zm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0c2RhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWF0c2RhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDZlYzM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NYXRzZGFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNYXRzZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NZWRzdHVnYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1lZHN0dWdhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yY2E3MTk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NZWRzdHVnYW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE1lZHN0dWdhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWl0dGFkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWl0dGFkYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGJjNjBhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NaXR0YWRhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNaXR0w6VkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWphbGxvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWphbGxvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjBlYTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NamFsbG9tCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gTWrDpGxsb20KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWpvc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nam9zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWEzMzlmZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTWpvc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNasO2c2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9saWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9saWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MDY3ODI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xpZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNb2xpZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb2xuYm9fVGFsbHN0dWdhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmJvX1RhbGxzdHVnYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWFhNjE3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmJvX1RhbGxzdHVnYW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNw7ZsbmJvL1RhbGxzdHVnYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9sbmRhbF9WYXN0ZXJiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbG5kYWxfVmFzdGVyYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiYzMxMjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vbG5kYWxfVmFzdGVyYmVyZ2V0CkBAIC0wLDAgKzEsMzAgQEAKKyMgU3dlZGVuIC0gTcO2bG5kYWwvVsOkc3RlcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vcmFfRWxkcmlzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JhX0VsZHJpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMjIzMzFiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JhX0VsZHJpcwpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIE1vcmEvRWxkcmlzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9ya3JldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9ya3JldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYWM4Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3JrcmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNw7Zya3JldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW9za29zZWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vc2tvc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjMjA3NTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU1vc2tvc2VsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBNb3Nrb3NlbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW90YWxhX0VydmFzdGVieSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTW90YWxhX0VydmFzdGVieQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lYjQ2OTc2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Nb3RhbGFfRXJ2YXN0ZWJ5CkBAIC0wLDAgKzEsNzAgQEAKKyMgU3dlZGVuIC0gTW90YWxhL0VydmFzdGVieQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdWxsc2pvX1RvcmVzdG9ycCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVsbHNqb19Ub3Jlc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWY2NzZlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVsbHNqb19Ub3Jlc3RvcnAKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBNdWxsc2rDti9Ub3Jlc3RvcnAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtlZGFsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZWRhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYzAyMmMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZWRhbApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE11bmtlZGFsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11bmtmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZGNjNjU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1NdW5rZm9ycwpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE11bmtmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTg1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11b2Rvc2xvbXBvbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU11b2Rvc2xvbXBvbG8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjEwZDc0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTXVvZG9zbG9tcG9sbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTXVvZG9zbG9tcG9sbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFsZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYWxkZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDJlNGViZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFsZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6RsZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNha2VyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVkZjZlMmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FrZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE7DpHPDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzYW5nZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FuZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4MWFjNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc2FuZ2V0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6Rzw6RuZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hc3NqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YjE2Mjg0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXNzam8KQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBOw6Rzc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE4NDUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzdGVsbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmFzdGVsbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNDdhZGU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXN0ZWxuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOw6RzdGVsbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZWt2YXJuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OYXZla3Zhcm4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2NjYzYzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZWt2YXJuCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBOw6R2ZWt2YXJuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hdmVyZWRlX09iZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5hdmVyZWRlX09iZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjZlNmZiNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmF2ZXJlZGVfT2JlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTsOkdmVyZWRlIMOWYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OaWVtaXNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmllbWlzZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWVlNmJlNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTmllbWlzZWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5pZW1pc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkYW5lZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcmRhbmVkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYTJhZDI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkYW5lZGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcmRhbmVkZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yZG1hbGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yZG1hbGluZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45ZDAyY2Q1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JkbWFsaW5nCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOb3JkbWFsaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYV9Sb3J1bSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFfUm9ydW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTA4ZGZkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFfUm9ydW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJhIFLDtnJ1bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmFoYW1tYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJhaGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQyNzYwNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJhaGFtbWFyCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTm9ycmFoYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJha2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZmVhNDNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyYWtlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9ycsOla2VyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDlhMGNiZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycmZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyaGFzc2VsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3JyaGFzc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5YjY5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJoYXNzZWwKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE5vcnJoYXNzZWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJrb3BpbmdfS3Jva2VrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3Jya29waW5nX0tyb2tlawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mNmU2ZTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ob3Jya29waW5nX0tyb2tlawpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIE5vcnJrw7ZwaW5nL0tyb2tlaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTc3NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYjZjOGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYQpAQCAtMCwwICsxLDMwIEBACisjIFN3ZWRlbiAtIE5vcnJ0w6RsamUgU8O2ZHJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYV9CZXJnZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnJ0YWxqZV9Tb2RyYV9CZXJnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2M4Mjk2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9ycnRhbGplX1NvZHJhX0JlcmdlbgpAQCAtMCwwICsxLDYxIEBACisjIFN3ZWRlbiAtIE5vcnJ0w6RsamUvU8O2ZHJhIEJlcmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnNqb3ZhbGxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTm9yc2pvdmFsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmM2U3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU5vcnNqb3ZhbGxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gTm9yc2rDtnZhbGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnloZW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55aGVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE3NDA2ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55aGVtCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBOeWhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnlrb3BpbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55a29waW5nCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY3MzUxNDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55a29waW5nCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gTnlrw7ZwaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWxpZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1OeWxpZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwM2JjNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bGlkZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE55bGlkZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bmFzaGFtbl9WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU55bmFzaGFtbl9WYXR0ZW50b3JuZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWMxMThkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtTnluYXNoYW1uX1ZhdHRlbnRvcm5ldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIE55bsOkc2hhbW4vVmF0dGVudG9ybmV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9kc21hbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2RzbWFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZmZjkzNTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9kc21hbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Zkc23DpWwKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sZGVuX1RlbGVzdGF0aW9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbGRlbl9UZWxlc3RhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTY1ZmFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbGRlbl9UZWxlc3RhdGlvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gT2xkZW4vVGVsZXN0YXRpb24KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sa2FtYW5naSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT2xrYW1hbmdpCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3NmI3ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sa2FtYW5naQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gT2xrYW1hbmdpCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbG9mc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9sb2ZzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lODgzZGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PbG9mc3Ryb20KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIE9sb2ZzdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9yZWJyb19Mb2NraHl0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmVicm9fTG9ja2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzZkNzRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmVicm9fTG9ja2h5dHRhbgpAQCAtMCwwICsxLDcwIEBACisjIFN3ZWRlbiAtIMOWcmVicm8vTG9ja2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ya2VsbGp1bmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmtlbGxqdW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzA2YzdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PcmtlbGxqdW5nYQpAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIMOWcmtlbGxqdW5nYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjEyNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pcm5za29sZHN2aWtfQXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9ybnNrb2xkc3Zpa19BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzU0NTJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pcm5za29sZHN2aWtfQXMKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSDDlnJuc2vDtmxkc3Zpay/DhXMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3NrYXJzaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3NrYXJzaGFtbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZWUwNGNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc2thcnNoYW1uCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gT3NrYXJzaGFtbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc21vX0Jqb3JzdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zbW9fQmpvcnN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNTk3M2JmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc21vX0Jqb3JzdGEKQEAgLTAsMCArMSwxMCBAQAorIyBTd2VkZW4gLSDDlnNtby9CasO2cnN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJmb3JzZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJmb3JzZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZTcyYjkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmZvcnNlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnN0ZXJmb3JzZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJncmFuaW5nZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJncmFuaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xYzBhNTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcmdyYW5pbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnN0ZXJncmFuaW5nZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJzdW5kX0JyYXR0YXNlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0ZXJzdW5kX0JyYXR0YXNlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kZGI3NGE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Pc3RlcnN1bmRfQnJhdHRhc2VuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5ZzdGVyc3VuZC9CcmF0dMOlc2VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0aGFtbWFyX1ZhbG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGhhbW1hcl9WYWxvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMwMTA2M2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdGhhbW1hcl9WYWxvCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5ZzdGhhbW1hci9WYWzDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdG1hcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU9zdG1hcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDBjYjFhNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3N0bWFyawpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5ZzdG1hcmsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJhbW1lciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmFtbWVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRiM2UxM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJhbW1lcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJhbW1lcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmhvZ2RhbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmhvZ2RhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTkwNzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVyaG9nZGFsCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSDDlnZlcmhvZ2RhbAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmthbGl4IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2FsaXgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTY2MTJiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcmthbGl4CkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJrYWxpeAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJrbGludGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2xpbnRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YzQyN2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVya2xpbnRlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJrbGludGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVycmlzc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVycmlzc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzMGYxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJyaXNzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIMOWdmVycmlzc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnRvcm5lYV9TYXJraXZhYXJhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PdmVydG9ybmVhX1NhcmtpdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWQ5YmVlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnRvcm5lYV9TYXJraXZhYXJhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJ0b3JuZcOlIFPDpHJraXZhYXJhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJ0dXJpbmdlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3ZlcnR1cmluZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFkYmFjMTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLU92ZXJ0dXJpbmdlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gw5Z2ZXJ0dXJpbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3hiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1PeGJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2EyOGJlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtT3hiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gT3hiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYWphbGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBhamFsYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMGU3YjY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYWphbGEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBQYWphbGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdG9tIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0b20KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2RkOWI1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdG9tCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gUGF1bGlzdMO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdHJvbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGF1bGlzdHJvbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MGY4MjUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1QYXVsaXN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBQYXVsaXN0csO2bQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUGlsZ3JpbXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBpbGdyaW1zdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNiZWQyOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVBpbGdyaW1zdGFkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBQaWxncmltc3RhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUG9yanVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Qb3JqdXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzIwNjIzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUG9yanVzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gUG9yanVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVB1b2x0c2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVB1b2x0c2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGQzMTQwYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUHVvbHRzYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUHVvbHRzYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFndW5kYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFndW5kYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmQxNzA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYWd1bmRhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gUmFndW5kYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zZWxlX1NrYXZhc2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zZWxlX1NrYXZhc2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZiZDZlNGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNlbGVfU2thdmFzZW4KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBSYW1zZWxlIFNrYXbDpXNlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YmIzZmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW1zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJhbXNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXVuZGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFtdW5kYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBmOGMxNjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJhbXVuZGJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmFtdW5kYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzBmNDIzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGFsZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFLDpW5kYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGlqYXVyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuZGlqYXVyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jY2ZhODZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5kaWphdXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSYW5kaWphdXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYW5zYXRlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuc2F0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODYxNTY5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmFuc2F0ZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJhbnPDpHRlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmF0dHZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmF0dHZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MjViYzhiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SYXR0dmlrCkBAIC0wLDAgKzEsNiBAQAorIyBTd2VkZW4gLSBSw6R0dHZpaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZW5nc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SZW5nc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA3NmM0NWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbmdzam8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBSZW5nc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVuc3Ryb20gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbnN0cm9tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY3MTBlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlbnN0cm9tCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSZW5zdHLDtm0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUmVzZWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3MDZjODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJlc2VsZQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUmVzZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNiYWNrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNiYWNrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmYyNzE3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc2JhY2sKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJpc2LDpGNrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNzbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJpc3NuYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yOWVmZmZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXNzbmEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJpc3NuYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUml0c2VtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SaXRzZW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM5ODIwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUml0c2VtCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSaXRzZW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvYmVydHNmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb2JlcnRzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMWYwY2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb2JlcnRzZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUm9iZXJ0c2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvamRhZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9qZGFmb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxMTlkYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvamRhZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUsO2amTDpWZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvbm5hbmcgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVJvbm5hbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNWU4NjA3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9ubmFuZwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gUsO2bm7DpG5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3JiYWNrc25hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9yYmFja3NuYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRlMDgxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9yYmFja3NuYXMKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBSw7ZyYsOkY2tzbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9zc29uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Sb3Nzb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjgwN2JkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUm9zc29uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBSb3Nzw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1SdXNrc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUnVza3NlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzVkMzZlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtUnVza3NlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFJ1c2tzZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWR2YWx1c3BlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FkdmFsdXNwZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUxMGEzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FkdmFsdXNwZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFPDpGR2YWx1c3BlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FnbXlyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FnbXlyYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hOWQ2N2U4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWdteXJhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OlZ215cmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhaXZvbXVvdGthIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWl2b211b3RrYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41N2I0M2E2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWl2b211b3RrYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2Fpdm9tdW90a2EKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41OGJkNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxlbgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFPDpGxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FsZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2FsZmphbGxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYTE2MWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYWxmamFsbGV0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OkbGZqw6RsbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXJuYV9NaWNrZWx0ZW1wbGV0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXJuYV9NaWNrZWx0ZW1wbGV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhZTRlMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNhcm5hX01pY2tlbHRlbXBsZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTw6RybmEvTWlja2VsdGVtcGxldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F0aWxhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXRpbGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOTBlZmYwMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F0aWxhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8OkdGlsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXJfU29yYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhcl9Tb3JieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGM5MjRiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXJfU29yYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw6R2YXIgU8O2cmJ5bgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXZhc3QKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWE5OTAwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F2YXN0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw6R2YXN0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TYXhkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F4ZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2YzZjRhZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2F4ZGFsZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTYXhkYWxlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VpdGV2YWFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VpdGV2YWFyZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDJjODMxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWl0ZXZhYXJlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTZWl0ZXZhYXJlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TZWxhbmdlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsYW5nZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGVhM2UyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsYW5nZXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNlbMOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2VsdGphcm4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlbHRqYXJuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5MTRjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNlbHRqYXJuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTZWx0asOkcm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpZGVuc2pvX0FiZXJnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpZGVuc2pvX0FiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWFlOWI1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2lkZW5zam9fQWJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2lkZW5zasO2IMOFYmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TaWxqYW5zbmFzX1V2YmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TaWxqYW5zbmFzX1V2YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmMzVjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbGphbnNuYXNfVXZiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTaWxqYW5zbsOkcy9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2ltcmlzaGFtbl9GYWJyaWtzZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU1NTgzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNpbXJpc2hhbW5fRmFicmlrc2dhdGFuCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU2ltcmlzaGFtbi9GYWJyaWtzZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsYW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzEzNjJlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbGFuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa8OlbGFuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FsbXNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Y0YmQ0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thbG1zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrYWxtc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thcnN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU4YTc0OTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJzdGFkCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2vDpHJzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2FydmFuZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViZTk1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXJ2YW5nZW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrw6RydsOlbmdlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdHR1bmdieW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4NDJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXR0dW5nYnluCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2thdHR1bmdieW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrYXVsb19QeWhha2llbGluZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmJmZWY3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2thdWxvX1B5aGFraWVsaW5lbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2thdWxvIFB5aMOka2llbGluZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrZWxsZWZ0ZWEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmFiMTQwMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbGxlZnRlYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNrZWxsZWZ0ZcOlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxODQ1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tlbmVfTnlja2xhcmJlcmdldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40OTM0N2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2VuZV9OeWNrbGFyYmVyZ2V0CkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU2tlbmUvTnlja2xhcmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tpbGxpbmdzZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNjM1ZGI1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta2lsbGluZ3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa2lsbGluZ3Nmb3JzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta29ycGVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5NGUzZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3JwZWQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNrb3JwZWQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tvdHRzdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2MmMwNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3R0c3VuZApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU2tvdHRzdW5kCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNrb3ZkZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YTVmOGIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta292ZGUKQEAgLTAsMCArMSw3MCBAQAorIyBTd2VkZW4gLSBTa8O2dmRlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2tyb3ZlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OGUyNGYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3JvdmVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3LDtnZlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2t5bW5hcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNjU4ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ta3ltbmFzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTa3ltbsOkcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TbHVzc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNGE2YTliNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU2x1c3Nmb3JzCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTbHVzc2ZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU21lZGplYmFja2VuX1V2YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNjU4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNtZWRqZWJhY2tlbl9VdmJlcmdldApAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFNtZWRqZWJhY2tlbi9VdmJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhODVmMGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvZGVyaGFtbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFPDtmRlcmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcmtvcGluZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2U1NWNkNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJrb3BpbmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTw7ZkZXJrw7ZwaW5nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxOTE1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2RlcnRhbGplX1JhZ25oaWxkc2JvcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDY1NDM0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29kZXJ0YWxqZV9SYWduaGlsZHNib3JnCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU8O2ZGVydMOkbGplL1JhZ25oaWxkc2JvcmcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb2xsZWZ0ZWFfSGFsbHN0YSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTI3OWJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX0hhbGxzdGEKQEAgLTAsMCArMSw2MyBAQAorIyBTd2VkZW4gLSBTb2xsZWZ0ZcOlL0hhbGxzdGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvbGxlZnRlYV9NdWx0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGZiOGVjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29sbGVmdGVhX011bHRyYQpAQCAtMCwwICsxLDYzIEBACisjIFN3ZWRlbiAtIFNvbGxlZnRlw6UvTXVsdHLDpQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45MzY1MjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7Zyw6VrZXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yYnlnZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIwZTlkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcmJ5Z2RlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU8O2cmJ5Z2RlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3JmbGFya2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmU3NzlmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yZmxhcmtlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTw7ZyZmzDpHJrZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9OYWxvdmFyZG8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmOGNkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfTmFsb3ZhcmRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlIE5hbG92YXJkbworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2VsZV9WYXR0ZW50b3JuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJhN2UzYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvcnNlbGVfVmF0dGVudG9ybmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTb3JzZWxlL1ZhdHRlbnRvcm5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU29yc2pvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NGU5OWU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Jzam9uCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU8O2cnNqw7ZuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVNvdWtvbG9qYXJ2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42ZDVlMjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Tb3Vrb2xvamFydmkKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFNvdWtvbG9qw6RydmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RhbG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNlODgxNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0YWxvbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RhbG9uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdGlnc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEzN2E1OWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0aWdzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0aWdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTWFyaWViZXJnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhZTMwYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2NraG9sbV9NYXJpZWJlcmcKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdG9ja2hvbG0vTWFyaWViZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9ja2hvbG1fTmFja2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjUzNDUwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvY2tob2xtX05hY2thCkBAIC0wLDAgKzEsNzEgQEAKKyMgU3dlZGVuIC0gU3RvY2tob2xtL05hY2thCitbVGVyYWNvbV9NdXhfMV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tUZXJhY29tX011eF8zXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbVGVyYWNvbV9NdXhfNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW1RlcmFjb21fTXV4XzVdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9kZV9IdWxsc2pvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTQ2YmM4MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSHVsbHNqb24KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZS9IdWxsc2rDtm4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b2RlX0ludGFnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGViM2JhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvZGVfSW50YWdldApAQCAtMCwwICsxLDM1IEBACisjIFN3ZWRlbiAtIFN0w7ZkZSBJbnRhZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc4NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b21uZV9Ta2FzYXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2UyOTNiYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvbW5lX1NrYXNhcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3TDtm1uZS9Ta2Fzw6VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JhX1NrZWR2aQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMDBjNzkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yYV9Ta2VkdmkKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yYSBTa2VkdmkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1NjU2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3RvcmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdG9yZmphdGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjkzYjg5OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JmamF0ZW4KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdG9yZmrDpHRlbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcmxpZW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEwZTI1MjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3JsaWVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdG9ybGllbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3RvcnVtYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmZTIzZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0b3J1bWFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gU3RvcnVtYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0cm9tc3RhZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMjYwOWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdHLDtm1zdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3Ryb21zdW5kX0dyZWxzZ2FyZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTI2NTUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHJvbXN1bmRfR3JlbHNnYXJkCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3Ryw7Ztc3VuZC9HcmVsc2fDpXJkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjAyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1biBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3R1Z3VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU0YjYyMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0dWd1bgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3R1Z3VuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN0eXJzam9ibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xY2NjZTA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdHlyc2pvYm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBTdHlyc2rDtmJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWRkZXNqYXVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2YTUzZGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1ZGRlc2phdXIKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1ZGRlc2phdXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1aWphdmFhcmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWYwMzcxYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VpamF2YWFyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VpamF2YWFyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdWx2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDI2ZjU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VsdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdWx2aWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRib3JuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNDIzNzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kYm9ybgpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFN1bmRib3JuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bmRzYnJ1awpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YzdhN2ZkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc2JydWsKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc2JydWsKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5kc3ZhbGxfU19TdGFkc2JlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y2YmJkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3VuZHN2YWxsX1NfU3RhZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5kc3ZhbGwvUyBTdGFkc2JlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0FzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTQ1MDBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9BcwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3VubmUvw4VzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZV9CbGFiYXJza3VsbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwZjI5YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lX0JsYWJhcnNrdWxsZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdW5uZS9CbMOlYsOkcnNrdWxsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdW5uZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE4YmVlYzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN1bm5lbW8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN1bm5lbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhbmVob2xtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjliMzJkNDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5laG9sbQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gU3ZhbmVob2xtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YW5zdGVpbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45N2UxZDNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFuc3RlaW4KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2YW5zdGVpbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcmRzb3N1bmRfU3ZhcmRzbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzNjMTBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmFyZHNvc3VuZF9TdmFyZHNvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdsOkcmRzw7ZzdW5kL1N2w6RyZHPDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZhcnRuYXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFjMzc2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2YXJ0bmFzCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gU3ZhcnRuw6RzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2ZWdfQnJpY2thbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMzg1Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX0JyaWNrYW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBTdmVnL0JyaWNrYW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVnX1JhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmI1MDNkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlZ19SYW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2ZWcvUmFuc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3ZlbnN0YXZpawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NTFlMzNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmVuc3RhdmlrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBTdmVuc3RhdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVN2aW5lc3VuZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMmM1MDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TdmluZXN1bmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFN2aW5lc3VuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtU3lzc2xlYmFjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMmJlNjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1TeXNzbGViYWNrCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gU3lzc2xlYsOkY2sKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYWJlcmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2VlODUzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFiZXJnCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVGFiZXJnCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5kYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU3MjZkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbmRhZGFsZW4KQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFRhbmTDpWRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhbm5hc19WYXN0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOWUxNzk5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmFzX1Zhc3RyYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkbm7DpHMgVsOkc3RyYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYW5uZGFsZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2E0YjY2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFubmRhbGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUw6RubmRhbGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXJuYWJ5X1J5ZmphbGxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjI3MjBhOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFieV9SeWZqYWxsZXQKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUw6RybmFieSBSeWZqw6RsbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhcm5hbW8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGZkNGU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGFybmFtbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVMOkcm5hbW8KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRhc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMTk1ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXNqbwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFTDpXNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UYXZlbHNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjMwMDk5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVGF2ZWxzam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFRhdmVsc2rDtgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2Nrc2ZvcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmMwODc5NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ja3Nmb3JzCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVMO2Y2tzZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTkxNTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub2xsc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmMTg1MjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvbGxzam8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUw7ZsbHNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcm1lc3RvcnAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDRiZjQ0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybWVzdG9ycApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVG9ybWVzdG9ycAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ybmV0cmFzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jOTdiM2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ub3JuZXRyYXNrCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUb3JuZXRyw6RzaworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9ycHNoYW1tYXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1MTAyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnBzaGFtbWFyCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVG9ycHNoYW1tYXIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVG9yc2J5X0JhZGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjM2U1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRvcnNieV9CYWRhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVG9yc2J5L0JhZGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5ODUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5hc19CcmVka2FycgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZTg4NTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuYXNfQnJlZGthcnIKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmFuw6VzL0JyZWRrw6RycgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuZW1vCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVjYTkzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5lbW8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBUcmFuZW1vCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFuc3RyYW5kX0JvbGhlZGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkMTQwYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyYW5zdHJhbmRfQm9saGVkZW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBUcmFuc3RyYW5kL0JvbGhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmFyeWRfQmV0YXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmE3YmNkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJhcnlkX0JldGFzCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVHJhcnlkL0JldMOlcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU5NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWhvcm5pbmdzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTE0ZDQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHJlaG9ybmluZ3NqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVHJlaMO2cm5pbmdzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UcmVsbGVib3JnX0d5bGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxMjdmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyZWxsZWJvcmdfR3lsbGUKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBUcmVsbGVib3JnL0d5bGxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMTI1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb2xsaGF0dGFuIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmNhMDYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9sbGhhdHRhbgpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFRyb2xsaMOkdHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVRyb3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDZiOTYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Ucm9zYQpAQCAtMCwwICsxLDI1IEBACisjIFN3ZWRlbiAtIFRyb3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHVsbGluZ2VfSGFtcmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxYjE1YWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR1bGxpbmdlX0hhbXJhCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVHVsbGluZ2UvSGFtcmEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVHlyaW5nZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjIyZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXJpbmdlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBUeXJpbmdlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVR5c3RiZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjI0MGEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1UeXN0YmVyZ2EKQEAgLTAsMCArMSw2IEBACisjIFN3ZWRlbiAtIFR5c3RiZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZGRldmFsbGFfSGVycmVzdGFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjMTk5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9IZXJyZXN0YWQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvSGVycmVzdGFkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAyMDU1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWRkZXZhbGxhX0thcGVsbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdhMjY2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVkZGV2YWxsYV9LYXBlbGxlCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZGRldmFsbGEvS2FwZWxsZQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWdnbGVoZWRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmJmYzY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VZ2dsZWhlZGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVZ2dsZWhlZGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhbmdlcl9Ta2lkc3RhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmNWE1NGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFuZ2VyX1NraWRzdGEKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVsbMOlbmdlciBTa2lkc3RhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbGxhcmVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5ZDRhMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsbGFyZWQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBVbGxhcmVkCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHJpY2VoYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc1OWM2MmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVscmljZWhhbW4KQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBVbHJpY2VoYW1uCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVWx2b2hhbW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU3YWU3MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdm9oYW1uCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbHbDtmhhbW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVsdnNoeXR0YW5fUG9yanVzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wOGYwMjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbHZzaHl0dGFuX1Bvcmp1cwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFVsdnNoeXR0YW4vUG9yanVzCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWVhX01hcmllaGVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwZjczNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZWFfTWFyaWVoZW0KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZcOlL01hcmllaGVtCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MWExZTQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbWZvcnMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFVtZm9ycworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW1ncmFuc2VsZV9HcmFuc2VsZWx1bmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhmZWYxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVtZ3JhbnNlbGVfR3JhbnNlbGVsdW5kCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbWdyYW5zZWxlL0dyYW5zZWxlbHVuZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVW5kZXJzYWtlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NWU4MTZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VbmRlcnNha2VyCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBVbmRlcnPDpWtlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9SaWNrb21iZXJnYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYzBhYzhmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VcHBzYWxhX1JpY2tvbWJlcmdhCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9SaWNrb21iZXJnYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXBwc2FsYV9WZWR5eGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU1Zjk5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVVwcHNhbGFfVmVkeXhhCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVXBwc2FsYS9WZWR5eGEKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk1MDQ0MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVV0YW5zam8KQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5zasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1VdGFuc2tvZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzk5ZDg1MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVXRhbnNrb2cKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFV0YW5za29nCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhZGRvX0VsbXN0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zMTBhMWRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWRkb19FbG1zdGEKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RkZMO2L0VsbXN0YQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTg0NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsYWRhbGVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlhZWVkODgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFkYWxlbgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlZGFsZW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbGFuZ2VyIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NGUzM2YxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxhbmdlcgpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOlbMOlbmdlcgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxkZW1hcnN2aWsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGQ3Yzc0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsZGVtYXJzdmlrCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gVmFsZGVtYXJzdmlrCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSAxNzc1MDAwMDAKKwlCQU5EV0lEVEhfSFogPSA3MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYWxzam9ieW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGMxNThiOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFsc2pvYnluCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYWxzasO2YnluCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTk0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5uYXNfR3Jhbmx1bmRzYmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjUzZTdkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhbm5hc19HcmFubHVuZHNiZXJnZXQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RubsOkcy9HcmFubHVuZHNiZXJnZXQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1OTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYW5zYnJvX0h1bW1lbGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGI0MjYzZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFuc2Jyb19IdW1tZWxiZXJnZXQKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWYW5zYnJvL0h1bW1lbGJlcmdldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFyYmVyZ19HcmltZXRvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Yzg1YWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXJiZXJnX0dyaW1ldG9uCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmFyYmVyZy9HcmltZXRvbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDE5MTUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybXZhdHRuZXQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNTYwOTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm12YXR0bmV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXJtdmF0dG5ldAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFybmFtb19BbGFuZHNyeWQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5ZjY0MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhcm5hbW9fQWxhbmRzcnlkCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6RybmFtby9BbGFuZHNyeWQgLQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzc2JvdHRlbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YWFjNWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzYm90dGVuCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWYXNzYm90dGVuCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXNzaWphdXJlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhkNmViZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3NpamF1cmUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZhc3NpamF1cmUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGFuc2pvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRhZmE4OGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RhbnNqbwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVsOkc3RhbnNqw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVyYXNfTGlsbGhhcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBjNTAxOTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZhc3RlcmFzX0xpbGxoYXJhZApAQCAtMCwwICsxLDgyIEBACisjIFN3ZWRlbiAtIFbDpHN0ZXLDpXMvTGlsbGjDpHJhZAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjEwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXN0ZXJ2aWtfRmFyaHVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmIxN2QzOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmFzdGVydmlrX0Zhcmh1bHQKQEAgLTAsMCArMSwzNiBAQAorIyBTd2VkZW4gLSBWw6RzdGVydmlrL0bDpXJodWx0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmF0bwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NDcyMWQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXRvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWw6R0w7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZheGJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTY0ODNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WYXhibwpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFbDpHhibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmVtZGFsc3NrYWxldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNDQ3ODg3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZW1kYWxzc2thbGV0CkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWZW1kYWxzc2thbGV0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXNzaWdlYnJvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjZDkyMWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZlc3NpZ2Vicm8KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXNzaWdlYnJvCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZldGxhbmRhX055ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43Y2QxZjVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WZXRsYW5kYV9OeWUKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWZXRsYW5kYS9OeWUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlkc2VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzNTE3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZHNlbApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlkc2VsCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpZXRhcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42Njg2NTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWV0YXMKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpZXRhcworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrbWFuc2h5dHRhbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YjI0ZDZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWttYW5zaHl0dGFuCkBAIC0wLDAgKzEsMTMgQEAKKyMgU3dlZGVuIC0gVmlrbWFuc2h5dHRhbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWtzam8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDAwNDI1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlrc2pvCkBAIC0wLDAgKzEsNSBAQAorIyBTd2VkZW4gLSBWaWtzasO2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxoZWxtaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhZGIyYTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGhlbG1pbmEKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaWxoZWxtaW5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbGxhbmRzX1ZhbmdhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MzFlYzBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaWxsYW5kc19WYW5nYQpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVmlsbGFuZHMgVsOlbmdhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxncmFuc2VsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDMxZTY4MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmluZGVsZ3JhbnNlbGUKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpbmRlbGdyYW5zZWxlCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpbmRlbG5fUmVuZm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzRjODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaW5kZWxuX1JlbmZvcnMKQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWaW5kZWxuL1JlbmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlyc2VydW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYzc5YmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpcnNlcnVtCkBAIC0wLDAgKzEsNjMgQEAKKyMgU3dlZGVuIC0gVmlyc2VydW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfRm9sbGluZ2JvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMzYjE0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0ZvbGxpbmdibwpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2J5L0ZvbGxpbmdibworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGFtbmVuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFjODM5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2J5X0hhbW5lbgpAQCAtMCwwICsxLDY1IEBACisjIFN3ZWRlbiAtIFZpc2J5L0hhbW5lbgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzYnlfSGF2ZGhlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMzc2MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNieV9IYXZkaGVtCkBAIC0wLDAgKzEsMzUgQEAKKyMgU3dlZGVuIC0gVmlzYnkvSGF2ZGhlbQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMjA1NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXNpbmdzbyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGRjYzRmNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzaW5nc28KQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBWaXNpbmdzw7YKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzgKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVmlzbGFuZGFfTnlkYWxhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFhYWYzZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpc2xhbmRhX055ZGFsYQpAQCAtMCwwICsxLDM2IEBACisjIFN3ZWRlbiAtIFZpc2xhbmRhL055ZGFsYQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYwMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gMTk4NTAwMDAwCisJQkFORFdJRFRIX0haID0gNzAwMDAwMAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0YmVyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcwNTNmNWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdGJlcmdldApAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0YmVyZ2V0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WaXRzYW5kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExYjRkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmQKQEAgLTAsMCArMSw1IEBACisjIFN3ZWRlbiAtIFZpdHNhbmQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtVml0c2FuZF9WYWdzam9mb3JzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMwN2MwMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZpdHNhbmRfVmFnc2pvZm9ycwpAQCAtMCwwICsxLDUgQEAKKyMgU3dlZGVuIC0gVml0c2FuZC9Ww6Rnc2rDtmZvcnMKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZveG5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMTRjYmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1Wb3huYQpAQCAtMCwwICsxLDEzIEBACisjIFN3ZWRlbiAtIFZveG5hCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVZ1b2xsZXJpbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDM0Y2E4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1WdW9sbGVyaW0KQEAgLTAsMCArMSwzNSBAQAorIyBTd2VkZW4gLSBWdW9sbGVyaW0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXN0YWRfTWV0YWxsZ2F0YW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjMjUwYjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NlLVlzdGFkX01ldGFsbGdhdGFuCkBAIC0wLDAgKzEsMzYgQEAKKyMgU3dlZGVuIC0gWXN0YWQvTWV0YWxsZ2F0YW4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDIxMjUwMDAwMAorCUJBTkRXSURUSF9IWiA9IDcwMDAwMDAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zZS1ZdHRlcm1hbHVuZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzQ3M2IzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2UtWXR0ZXJtYWx1bmcKQEAgLTAsMCArMSwxMyBAQAorIyBTd2VkZW4gLSBZdHRlcm1hbHVuZworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zaS1ManVibGphbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTFkM2U4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2ktTGp1YmxqYW5hCkBAIC0wLDAgKzEsMjcgQEAKKyMgU2xvdmVuaWEgLyBManVibGphbmEKKyMgTVVMVElQTEVYIEEKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS84CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzQwMTY0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thQnlzdHJpY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBCYW5za2EgQnlzdHJpY2EgKEJhbnNrYSBCeXN0cmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDUxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CYW5za2FTdGlhdm5pY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGFmYzQ3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFuc2thU3RpYXZuaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFuc2thIFN0aWF2bmljYSAoQmFuc2thIFN0aWF2bmljYSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDIxCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gMzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCA0OAorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQmFyZGVqb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0ODFiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJhcmRlam92CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgQmFyZGVqb3YgKEJhcmRlam92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNDAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1CcmF0aXNsYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkNDYxNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUJyYXRpc2xhdmEKQEAgLTAsMCArMSw0OCBAQAorIyBEVkItVCBCcmF0aXNsYXZhIChCcmF0aXNsYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTYKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI3CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjCisjIFQtIFZpZGVvIEFnZW5jeQorIyAoVE9ETzogaHR0cDovL3d3dy56aXZlLnNrL2JyYXRpc2xhdmEtc2EtZG9ja2FsYS1ub3Z5Y2gtcHJvZ3JhbW92LXYtZHZiLXQtZGl2YWNpLXNpLW5hbGFkaWEtdXotYWotdGEzL3NjLTQtYS0yOTg4MzAvZGVmYXVsdC5hc3B4KQorIworIyByZWdpb25hbCBtdWx0aXBsZXggLSBvbiBjaGFubmVsIDU1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDEvMgorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1DYWRjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJkMGU1YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stQ2FkY2EKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBDYWRjYSAoQ2FkY2EsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMzIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLURldHZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NGNmMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1EZXR2YQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIERldHZhIChEZXR2YSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1IbnVzdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDBiNDFlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stSG51c3RhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgSG51c3RhIChIbnVzdGEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyNworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stS29zaWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdjMDFiODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtvc2ljZQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIEtvc2ljZSAoS29zaWNlLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyYWxvdnNreUNobG1lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MTYzZTgzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1LcmFsb3Zza3lDaGxtZWMKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcmFsb3Zza3kgQ2hsbWVjIChLcmFsb3Zza3kgQ2hsbWVjLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI1CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLUtyb21wYWNoeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzc0N2NkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Lcm9tcGFjaHkKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBLcm9tcGFjaHkgKEtyb21wYWNoeSwgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDU5CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTHVjZW5lYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMjI1ZWFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1MdWNlbmVjCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTHVjZW5lYyAoTHVjZW5lYywgU2xvdmFrIFJlcHVibGljKQorIyBDcmVhdGVkIGZyb20gaHR0cDovL3d3dy5kdmJ0LnRvd2VyY29tLnNrL29kYm9ybmljaS5waHAKKworIyAyLnN0IG11bHRpcGxleCAoY29tbWVyY2lhbCkgLSBvbiBjaGFubmVsIDYwCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworCisjIDMuc3QgbXVsdGlwbGV4IChwdWJsaWMpIC0gb24gY2hhbm5lbCAzMworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1NZWR6ZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTJlMTliYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTWVkemV2CkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgTWVkemV2IChNZWR6ZXYsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92byBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTmFtZXN0b3ZvCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhNzZjMTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLU5hbWVzdG92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIE5hbWVzdG92byAoTmFtZXN0b3ZvLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1OaXRyYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTgyMzQyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stTml0cmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBOaXRyYSAoTml0cmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG9wcmFkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNjZWMzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVBvcHJhZApAQCAtMCwwICsxLDQyIEBACisjIERWQi1UIFBvcHJhZCAoUG9wcmFkLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI0LzU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUG92YXpza2FCeXN0cmljYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMzI3NTllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Qb3ZhenNrYUJ5c3RyaWNhCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUG92YXpza2EgQnlzdHJpY2EgKFBvdmF6c2thIEJ5c3RyaWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVByZXNvdgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZjBhMzZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmVzb3YKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBQcmXFoW92IChQcmXFoW92LCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIE1VWDIgLSBDb21tZXJjaWFsIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyBNVVgzIC0gUHVibGljIC0gb24gY2hhbm5lbCAyNQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1QcmlldmlkemEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGFmYmMxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUHJpZXZpZHphCkBAIC0wLDAgKzEsMzAgQEAKKyMgRFZCLVQgUHJpZXZpZHphIChQcmlldmlkemEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stUmV2dWNhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRmNzk3Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJldnVjYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFJldnVjYSAoUmV2dWNhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1Sb3puYXZhCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMDlhYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJvem5hdmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSb3puYXZhIChSb3puYXZhLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgMjcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDU0CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1SdXpvbWJlcm9rCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZjMmM2NjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVJ1em9tYmVyb2sKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBSdXpvbWJlcm9rIChSdXpvbWJlcm9rLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTkKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDI2CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC9zay1TbmluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjBmMTU4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU25pbmEKQEAgLTAsMCArMSwzMCBAQAorIyBEVkItVCBTbmluYSAoU25pbmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1OQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjUKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3RhcmFMdWJvdm5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxY2Y3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0YXJhTHVib3ZuYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0YXJhIEx1Ym92bmEgKFN0YXJhIEx1Ym92bmEsIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1NQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgMjQKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVN0dXJvdm8KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjU0ZjhkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stU3R1cm92bwpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFN0dXJvdm8gKFN0dXJvdm8sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCAyMQorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNDgKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVRyZW5jaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODA1MDM4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stVHJlbmNpbgpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFRyZW5jaW4gKFRyZW5jaW4sIFNsb3ZhayBSZXB1YmxpYykKKyMgQ3JlYXRlZCBmcm9tIGh0dHA6Ly93d3cuZHZidC50b3dlcmNvbS5zay9vZGJvcm5pY2kucGhwCisKKyMgMi5zdCBtdWx0aXBsZXggKGNvbW1lcmNpYWwpIC0gb24gY2hhbm5lbCA1MgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKKworIyAzLnN0IG11bHRpcGxleCAocHVibGljKSAtIG9uIGNoYW5uZWwgNTcKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvc2stWmlsaW5hCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU4ZDQ4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3NrLVppbGluYQpAQCAtMCwwICsxLDMwIEBACisjIERWQi1UIFppbGluYSAoWmlsaW5hLCBTbG92YWsgUmVwdWJsaWMpCisjIENyZWF0ZWQgZnJvbSBodHRwOi8vd3d3LmR2YnQudG93ZXJjb20uc2svb2Rib3JuaWNpLnBocAorCisjIDIuc3QgbXVsdGlwbGV4IChjb21tZXJjaWFsKSAtIG9uIGNoYW5uZWwgNTIKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCisKKyMgMy5zdCBtdWx0aXBsZXggKHB1YmxpYykgLSBvbiBjaGFubmVsIDMyCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3R3LUFsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zZTE4MTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC90dy1BbGwKQEAgLTAsMCArMSwxMzIgQEAKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzMwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM5MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NTEwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTU3MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU2MzAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NjkwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTc1MDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU4MTAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDYwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8xNgorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvNAorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1ODcwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA2MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTkzMDAwMDAwCisJQkFORFdJRFRIX0haID0gNjAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzE2CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS80CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaGFya292Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YzZiMDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUtoYXJrb3YKQEAgLTAsMCArMSw0OSBAQAorIyBVa3JhaW5lLCBLaGFya292CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtS2lldgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42YmYwOTZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1LaWV2CkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgS2lldgorW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VhLUxvem92YXlhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTdkOWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1Mb3pvdmF5YQpAQCAtMCwwICsxLDQ5IEBACisjIFVrcmFpbmUsIExvem92YXlhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91YS1PZGVzc2EKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZmMDBmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWEtT2Rlc3NhCkBAIC0wLDAgKzEsNDkgQEAKKyMgVWtyYWluZSwgT2Rlc3NhCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNQorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy81CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzUKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xNgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91Zy1BbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2UyYTI4NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWctQWxsCkBAIC0wLDAgKzEsNDUgQEAKKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyCTogS2FtcGFsYS1VZ2FuZGEKKyMgZGF0ZQkJCTogMjAxMy0xMS0wMQorIyBwcm92aWRlZCBieQkJOiBKb3NlcGggWmlrdXNvb2thCisjIAkgICAgICAgICAgICAgICAJOiBodHRwOi8vam9zZXBoLnppa3Vzb29rYS5jb20KKyMgCSAgICAgICAgICAgICAgIAk6IGpvc2VwaEB6aWt1c29va2EuY29tCisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbVUNDIFByaW1hcnldCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzQKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSBBVVRPCisJQ09ERV9SQVRFX0xQID0gQVVUTworCU1PRFVMQVRJT04gPSBRQU0vQVVUTworCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzE2CisJSElFUkFSQ0hZID0gQVVUTworCVNUUkVBTV9JRCA9IDEKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTg2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IEFVVE8KKwlDT0RFX1JBVEVfTFAgPSBBVVRPCisJTU9EVUxBVElPTiA9IFFBTS9BVVRPCisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTYKKwlISUVSQVJDSFkgPSBBVVRPCisJU1RSRUFNX0lEID0gOQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1BYmVyZGFyZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTBjMDhiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQWJlcmRhcmUKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NGNDQrMERBL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQWJlcmRhcmUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjctIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUFuZ3VzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xMTI3ZTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Bbmd1cwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvREQ0oDBSUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEFuZ3VzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWFjb25IaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0OWIzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlYWNvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1RRM6AxUlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWFjb24gSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzYwLSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CZWxtb250Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQxN2MzY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJlbG1vbnQKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xOOKA2SlQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCZWxtb250CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmlsc2RhbGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI4MTY0Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJpbHNkYWxlCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9UUzmgN0pTL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQmlsc2RhbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFja0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjk3YzI2ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhY2tIaWxsCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTUw3oDROWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWNrIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjUwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtR0xXXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQmxhZW5wbHd5ZgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41YTU2OWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbGFlbnBsd3lmCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TWTIzoDRRSC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEJsYWVucGx3eWYKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJsdWViZWxsSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MzBhZTc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CbHVlYmVsbEhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L01FNaA5UkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCbHVlYmVsbCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDYgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY3NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJlc3NheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Yzk1MjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmVzc2F5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9aRTKgOUVML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJlc3NheQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaWVybGV5SGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNGZiYzkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmllcmxleUhpbGwKQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RZNaAyUEQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmllcmxleSBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNjAtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBMLUJSTV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJpc3RvbElsY2hlc3RlckNyZXNjZW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhMjY4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xJbGNoZXN0ZXJDcmVzY2VudApAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlMxM6A3SFUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIElsY2hlc3RlciBDcmVzY2VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQxKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIrIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAgTC1CU0xdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyaXN0b2xLaW5nc1dlc3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YWJkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1CcmlzdG9sS2luZ3NXZXN0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JTOaAyUVkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBCcmlzdG9sIEtpbmdzIFdlc3RvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtQlNMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQnJvbXNncm92ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OTU2ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm9tc2dyb3ZlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CNjGgOUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvbXNncm92ZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDcgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ccm91Z2hlck1vdW50YWluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk5YzA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUJyb3VnaGVyTW91bnRhaW4KQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JUNzigM1NHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQnJvdWdoZXIgTW91bnRhaW4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIE5JIG11eF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYWxkYmVjayBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc1YzNkMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FsZGJlY2sKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NBN6A4RFcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYWxkYmVjaworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyOTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDg5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYtIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTM4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOS0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzNzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DYXJhZG9uSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTIxNmFhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FyYWRvbkhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1BMMTSgNUxUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2FyYWRvbiBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjgrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNC0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2FybWVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjllNzhkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNhcm1lbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNKA3TkEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDYXJtZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DaGF0dG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRkNDBhNDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoYXR0b24KQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L05FNjegNUpEL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgQ2hhdHRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ2hlc3RlcmZpZWxkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4YmVkYjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNoZXN0ZXJmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzE4oDRCVC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENoZXN0ZXJmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3JhaWdrZWxseQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44MjQ5NDgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1DcmFpZ2tlbGx5CkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1kzoDlIVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIENyYWlna2VsbHkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMCBMLUVETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUNyeXN0YWxQYWxhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2QxN2RkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstQ3J5c3RhbFBhbGFjZQpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0UxOaAxVUUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBDcnlzdGFsIFBhbGFjZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4LSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTI5ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRGFydmVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAxNWY5ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURhcnZlbApAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS0ExNqA5TFMvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEYXJ2ZWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMi0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ4MTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMxIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURpdmlzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZGJjNmM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EaXZpcwpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvQlQxN6AwTkcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBEaXZpcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzMgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRG92ZXIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1ZmQyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLURvdmVyCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DVDE1oDdBUS9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIERvdmVyCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUR1cnJpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZWNkYzcwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1EdXJyaXMKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0FCMzmgM1RIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgRHVycmlzCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjggQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVpdHNoYWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzkwMWMxMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRWl0c2hhbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSFMyoDlKVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEVpdHNoYWwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRW1sZXlNb29yCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM5YzAxZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUVtbGV5TW9vcgpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hEOKA5VEYvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBFbWxleSBNb29yCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEwtTERTXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1GZW5oYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGQwNTRmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVuaGFtCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9ORTE1oDZQTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbmhhbQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVudG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhjMGE1NDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlbnRvbgpAQCAtMCwwICsxLDk0IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1Q0oDJOWC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEZlbnRvbgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstRmVycnlzaWRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjcxYzJlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUZlcnJ5c2lkZQpAQCAtMCwwICsxLDU3IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU0ExNys1VVIvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBGZXJyeXNpZGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyMSsgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstR3VpbGRmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiNTYxNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUd1aWxkZm9yZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyoDdSVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEd1aWxkZm9yZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDAgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA2MjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGFubmluZ3RvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kM2JiYzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYW5uaW5ndG9uCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9SRzI2oDVVRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEhhbm5pbmd0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhhc3RpbmdzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41MjBjODZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IYXN0aW5ncwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4zNKAxTEUvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIYXN0aW5ncworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU0NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUhlYXRoZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmRhNmZlMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVhdGhmaWVsZApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4yMaAwVUcvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZWF0aGZpZWxkCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTIgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQxIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1IZW1lbEhlbXBzdGVhZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDExNmQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSGVtZWxIZW1wc3RlYWQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0hQM6A4U0EvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIZW1lbCBIZW1wc3RlYWQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUh1bnRzaGF3Q3Jvc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2IyYjk2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSHVudHNoYXdDcm9zcwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRVgzMaAzTkQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBIdW50c2hhdyBDcm9zcworIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzUwIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NS0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstSWRsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lNzM2Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1JZGxlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CRDE4oDFKUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIElkbGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtlZWx5bGFuZ0hpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWM5MGI1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VlbHlsYW5nSGlsbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvS1cxNaAxU0YvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLZWVseWxhbmcgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQwKyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LZWlnaGxleSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWI4NjQ0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS2VpZ2hsZXkKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JEMjCgNVJML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgS2VpZ2hsZXkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0OSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNjAtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1LaWx2ZXlIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU5MTllZTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUtpbHZleUhpbGwKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NBMaA3QkwvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBLaWx2ZXkgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Lbm9ja01vcmUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3ZTQxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstS25vY2tNb3JlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9BQjU1oDZYUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIEtub2NrbW9yZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI2IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlciBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFuY2FzdGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2OTRlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxhbmNhc3RlcgpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTEE1oDhBRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhbmNhc3RlcgorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3LSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1KyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI4KyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MYXJrU3Rva2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2Q3YTZmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGFya1N0b2tlCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9HTDU1oDZMUy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExhcmsgU3Rva2UKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDErIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTGltYXZhZHkgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk3N2I5NzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxpbWF2YWR5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CVDQ5oDlMSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIExpbWF2YWR5CisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTAgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ5IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDc0NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLUxsYW5kZG9uYQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODA2N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1MbGFuZGRvbmEKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xMNTigOFlCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTGxhbmRkb25hCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWFsdmVybgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmMxMGUyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NYWx2ZXJuCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9XUjE0oDRBRC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIE1hbHZlcm4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NZW5kaXAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGQzODQ5YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTWVuZGlwCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CQTWgM0xCL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTWVuZGlwCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMzIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU1pZGh1cnN0IGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzQxNmFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1NaWRodXJzdApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvR1UyOKA5RUEvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBNaWRodXJzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU1IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU5IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Nb2VseVBhcmMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTIzMDBiNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTW9lbHlQYXJjCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DSDegNVVVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgTW9lbCB5IFBhcmMKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMyIENPTTcgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzEzODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY4OTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU5vdHRpbmdoYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODExMmVjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstTm90dGluZ2hhbQpAQCAtMCwwICsxLDkzIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTkcxNqAyU1UvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBOb3R0aW5naGFtCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjcgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTIgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcyMjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgTC1OT1RdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcwNjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU9saXZlcnNNb3VudApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44OThlMjlhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1PbGl2ZXJzTW91bnQKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1lPMTGgMlRaL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgT2xpdmVycyBNb3VudAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstT3hmb3JkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjEyNzQzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLU94Zm9yZApAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L09YM6A5U1MvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBPeGZvcmQKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE1LTAxLTE3CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3ODU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3Nzc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzQ2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgTC1PRkRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBlbmRsZUZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YmNkZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QZW5kbGVGb3Jlc3QKQEAgLTAsMCArMSw4MSBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JCMTKgOVBXL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGVuZGxlIEZvcmVzdAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4KyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI3LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUyMTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMisgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUGx5bXB0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQzYmNlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBseW1wdG9uCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9QTDegMVRUL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUGx5bXB0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnRvcFBpa2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmNlYjIyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udG9wUGlrZQpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0RIOaA5QVQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBQb250b3AgUGlrZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NiBMLU5DTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUVBTSworCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUG9udHlwb29sCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NmM4MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVBvbnR5cG9vbApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvTlA0oDVYSi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFBvbnR5cG9vbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzIzKyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1LSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUwNTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyLSBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDgxODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjgtIEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1Mjk4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1MzgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUHJlc2VsaQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmU3MWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1QcmVzZWxpCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9TQTQxoDNRUi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFByZXNlbGkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0MysgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0Mi0gU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDE4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDArIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlZHJ1dGgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjUwY2E2MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVkcnV0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVFIxNqA2UVovTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSZWRydXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDQrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MSsgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJlaWdhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg0NWQzNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmVpZ2F0ZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUkgyoDlSTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJlaWdhdGUKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SaWRnZUhpbGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYWJiMDk3MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUmlkZ2VIaWxsCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9IUjigMlBHL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUmlkZ2UgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI4IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMiBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIxKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDQ3NDE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI0IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc2VtYXJraWUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2ZiZDdlMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm9zZW1hcmtpZQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvSVYxMaA4WFkvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3NlbWFya2llCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDUgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MTgxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MCsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYyNjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvc25lYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjAwNmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Sb3NuZWF0aApAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvRzg0oDBMRi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFJvc25lYXRoCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDkgQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTcgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTQgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUm93cmlkZ2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2Zjc4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVJvd3JpZGdlCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUE8zMKA0SFQvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBSb3dyaWRnZQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI0IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNyBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI1IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjIrIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5IEwtU09UXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstUnVtc3RlckZvcmVzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZjIyOWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1SdW1zdGVyRm9yZXN0CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9LVzWgNkRKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgUnVtc3RlciBGb3Jlc3QKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzAtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTQ1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMSsgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA0NzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FkZGxld29ydGggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhNGIyZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhZGRsZXdvcnRoCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9PTDOgNVJVL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FkZGxld29ydGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NSBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjY2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzkrIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxLSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxMzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyKyBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDggQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5MDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2FsaXNidXJ5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE3ZjI0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbGlzYnVyeQpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvU1AyoDhOWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNhbGlzYnVyeQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzU3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTAgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TYW5keUhlYXRoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjViMzQyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNhbmR5SGVhdGgKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L1NHMTmgMk5IL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU2FuZHkgSGVhdGgKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNyBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjQgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzIgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU2MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUyIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0OCBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVNlbGtpcmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWU0ZDgyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2Vsa2lyawpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVEQ3oDRRTi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNlbGtpcmsKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTktIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc3NzgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTMgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzYwLSBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzg1ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTUgQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TaGVmZmllbGQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2MzMTIwNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU2hlZmZpZWxkCkBAIC0wLDAgKzEsMTA2IEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvUzEwoDVHTC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFNoZWZmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTUtMDEtMTcKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzI3IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MjIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjErIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDc0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEwtU0ZEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvY2tsYW5kSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44YjlhZDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9ja2xhbmRIaWxsCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9FWDE0oDlFUC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN0b2NrbGFuZCBIaWxsCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDMjYrIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyMysgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUtIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjItIEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOC0gQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzI5KyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdG9yZXRvbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTVmODg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3RvcmV0b24KQEAgLTAsMCArMSw5MyBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0NINjOgMlJIL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU3RvcmV0b24KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzMwIEwtTElWXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstU3VkYnVyeQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYmUwOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdWRidXJ5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DTzEwoDVORy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFN1ZGJ1cnkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M0NCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M2MC0gQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NyBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDY4MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdXR0b25Db2xkZmllbGQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVN1dHRvbkNvbGRmaWVsZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZjFkZWVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1TdXR0b25Db2xkZmllbGQKQEAgLTAsMCArMSwxMDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CNzWgNUpKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgU3V0dG9uIENvbGRmaWVsZAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQzIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NiBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMyBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjQyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDUgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY2NjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzM5KyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjE4MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDArIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjI2MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtQlJNXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVGFjb2xuZXN0b24gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRhY29sbmVzdG9uCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmNjY0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRhY29sbmVzdG9uCkBAIC0wLDAgKzEsOTQgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9OUjE2oDFEVy9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRhY29sbmVzdG9uCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNS0wMS0xNworIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNTUtIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OS0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzc3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0MiBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUwIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNzA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRoZVdyZWtpbiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVGhlV3Jla2luCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmZlNTg3ODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVRoZVdyZWtpbgpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVEY2oDVBSC9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRoZSBXcmVraW4KKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyNiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNDkwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDErIFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjM0MTY3MDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDQgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY1ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2ODIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA1NDU4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVG9yb3NheSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstVG9yb3NheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NGI5NmU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1Ub3Jvc2F5CkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9QQTY1oDZBWi9OQS8wLz4KKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGxvY2F0aW9uIGFuZCBwcm92aWRlcjogVUssIFRvcm9zYXkKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0MyOCBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTMwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjUgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTA2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjMgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA0OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyNiBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNTE0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjkgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzIyIEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNDgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVR1bmJyaWRnZVdlbGxzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UdW5icmlkZ2VXZWxscwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40N2VkMjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1UdW5icmlkZ2VXZWxscwpAQCAtMCwwICsxLDgxIEBACisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBdXRvLWdlbmVyYXRlZCBmcm9tOgorIyA8aHR0cDovL3d3dy5kaWdpdGFsdWsuY28udWsvY292ZXJhZ2VjaGVja2VyL21haW4vdHJhZGVleHBvcnQvVE4xMaAwTkIvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBUdW5icmlkZ2UgV2VsbHMKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M1MiBCQkMgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzIyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjk4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDIgU0ROXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NDIwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBBUlEgQV0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjU4MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDEgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYzNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdhbHRoYW0gYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdhbHRoYW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzg5YWU2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2FsdGhhbQpAQCAtMCwwICsxLDEwNiBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0xFMTSgNEFKL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2FsdGhhbQorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzQ5IEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NC0gRDMmNF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzM3ODMzMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMzEgQ09NNyBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDU1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MyOSBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUzODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU2IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NyBBUlEgQl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTggQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3NzAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDMjYgTC1OT1RdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDUxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFQU0sKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XZW52b2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdlbnZvZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43ZDIxYjdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XZW52b2UKQEAgLTAsMCArMSwxMDYgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9DRjWgNlNBL05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2Vudm9lCisjIGRhdGUgKHl5eXktbW0tZGQpICAgIDogMjAxNC0wMy0yNQorIworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1tDNDErIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQxNjcwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M0NCBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NTgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQyKyBTRE5dCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY0MjE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ1IEFSUSBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2NjYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzOSsgQVJRIEJdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDYxODE2NzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ3IEJCQyBCIEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNjgyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUxIEwtQ0RGXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRUFNLCisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2hpdGVoYXdrSGlsbCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdWstV2hpdGVoYXdrSGlsbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zY2JhYmJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaGl0ZWhhd2tIaWxsCkBAIC0wLDAgKzEsODEgQEAKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEF1dG8tZ2VuZXJhdGVkIGZyb206CisjIDxodHRwOi8vd3d3LmRpZ2l0YWx1ay5jby51ay9jb3ZlcmFnZWNoZWNrZXIvbWFpbi90cmFkZWV4cG9ydC9CTjKgNUVML05BLzAvPgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgbG9jYXRpb24gYW5kIHByb3ZpZGVyOiBVSywgV2hpdGVoYXdrIEhpbGwKKyMgZGF0ZSAoeXl5eS1tbS1kZCkgICAgOiAyMDE0LTAzLTI1CisjCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorW0M2MC0gQkJDIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc4NTgzMzAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzUzIEQzJjRdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDczMDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU3IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzYyMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNTYgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDc1NDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzQ4IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2OTAwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1MSBCQkMgQiBIRF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUMgorCUZSRVFVRU5DWSA9IDcxNDAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAyLzMKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS8yNTYKKwlUUkFOU01JU1NJT05fTU9ERSA9IDMySworCUdVQVJEX0lOVEVSVkFMID0gMS8xMjgKKwlISUVSQVJDSFkgPSBOT05FCisJU1RSRUFNX0lEID0gMAorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaW50ZXJIaWxsIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC91ay1XaW50ZXJIaWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE1NTQ2ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3VrLVdpbnRlckhpbGwKQEAgLTAsMCArMSw5NCBAQAorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgQXV0by1nZW5lcmF0ZWQgZnJvbToKKyMgPGh0dHA6Ly93d3cuZGlnaXRhbHVrLmNvLnVrL2NvdmVyYWdlY2hlY2tlci9tYWluL3RyYWRlZXhwb3J0L0JMNqA2U0wvTkEvMC8+CisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBsb2NhdGlvbiBhbmQgcHJvdmlkZXI6IFVLLCBXaW50ZXIgSGlsbAorIyBkYXRlICh5eXl5LW1tLWRkKSAgICA6IDIwMTQtMDMtMjUKKyMKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitbQzUwIEJCQyBBXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3MDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1OSBEMyY0XQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NzgwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0MzMSBDT003IEhEXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQyCisJRlJFUVVFTkNZID0gNTU0MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDIvMworCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzI1NgorCVRSQU5TTUlTU0lPTl9NT0RFID0gMzJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzEyOAorCUhJRVJBUkNIWSA9IE5PTkUKKwlTVFJFQU1fSUQgPSAwCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU4IFNETl0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNzcwMDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSA4SworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDNDkgQVJRIEFdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDY5ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gOEsKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCitbQzU1IEFSUSBCXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA3NDYwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDhLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0M1NC0gQkJDIEIgSERdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVDIKKwlGUkVRVUVOQ1kgPSA3Mzc4MzMwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMi8zCisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vMjU2CisJVFJBTlNNSVNTSU9OX01PREUgPSAzMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMTI4CisJSElFUkFSQ0hZID0gTk9ORQorCVNUUkVBTV9JRCA9IDAKKwlJTlZFUlNJT04gPSBBVVRPCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZHZiLWFwcHMvZmlsZXMvZHZiLXNjYW4tdGFibGUvZHZiLXQvdm4tSGFub2kgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLUhhbm9pCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFiYjk2OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLUhhbm9pCkBAIC0wLDAgKzEsMjYgQEAKKyMgSGFub2kgLSBWaWV0bmFtIC0gRFZCLVQgYnkgVlRDCisjIGNvbnRyaWJ1dGVkIGJ5IFBoYW0gVGhhbmggTmFtIDxwaGFtdGhhbmhuYW0ucHRuQGdtYWlsLmNvbT4KK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA1MTQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKworW0NIQU5ORUxdCisJREVMSVZFUllfU1lTVEVNID0gRFZCVAorCUZSRVFVRU5DWSA9IDU3ODAwMDAwMAorCUJBTkRXSURUSF9IWiA9IDgwMDAwMDAKKwlDT0RFX1JBVEVfSFAgPSAzLzQKKwlDT0RFX1JBVEVfTFAgPSBOT05FCisJTU9EVUxBVElPTiA9IFFBTS82NAorCVRSQU5TTUlTU0lPTl9NT0RFID0gMksKKwlHVUFSRF9JTlRFUlZBTCA9IDEvMzIKKwlISUVSQVJDSFkgPSBOT05FCisJSU5WRVJTSU9OID0gQVVUTworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2R2Yi1hcHBzL2ZpbGVzL2R2Yi1zY2FuLXRhYmxlL2R2Yi10L3ZuLVRoYWliaW5oIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1UaGFpYmluaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMzQwOTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9kdmItYXBwcy9maWxlcy9kdmItc2Nhbi10YWJsZS9kdmItdC92bi1UaGFpYmluaApAQCAtMCwwICsxLDI2IEBACisjIFRoYWliaW5oIC0gVmlldG5hbSAtIERWQi1UIGJ5IFZUQworIyBjb250cmlidXRlZCBieSBQaGFtIFRoYW5oIE5hbSA8cGhhbXRoYW5obmFtLnB0bkBnbWFpbC5jb20+CitbQ0hBTk5FTF0KKwlERUxJVkVSWV9TWVNURU0gPSBEVkJUCisJRlJFUVVFTkNZID0gNjI2MDAwMDAwCisJQkFORFdJRFRIX0haID0gODAwMDAwMAorCUNPREVfUkFURV9IUCA9IDMvNAorCUNPREVfUkFURV9MUCA9IE5PTkUKKwlNT0RVTEFUSU9OID0gUUFNLzY0CisJVFJBTlNNSVNTSU9OX01PREUgPSAySworCUdVQVJEX0lOVEVSVkFMID0gMS8zMgorCUhJRVJBUkNIWSA9IE5PTkUKKwlJTlZFUlNJT04gPSBBVVRPCisKK1tDSEFOTkVMXQorCURFTElWRVJZX1NZU1RFTSA9IERWQlQKKwlGUkVRVUVOQ1kgPSA2MzQwMDAwMDAKKwlCQU5EV0lEVEhfSFogPSA4MDAwMDAwCisJQ09ERV9SQVRFX0hQID0gMy80CisJQ09ERV9SQVRFX0xQID0gTk9ORQorCU1PRFVMQVRJT04gPSBRQU0vNjQKKwlUUkFOU01JU1NJT05fTU9ERSA9IDJLCisJR1VBUkRfSU5URVJWQUwgPSAxLzMyCisJSElFUkFSQ0hZID0gTk9ORQorCUlOVkVSU0lPTiA9IEFVVE8KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LjkuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzhiZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS45LjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJGcmVld2FyZSBBZHZhbmNlZCBBdWRpbyBDb2RlciAoTVBFRzItQUFDLCBNUEVHNC1BQUMpIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhYy5odG1sIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZmFhYy9jb2Rlci5oO2JlZ2lubGluZT01O2VuZGxpbmU9MTc7bWQ1PWZhMWZkNmE1ZmE4Y2RjODc3ZDYzYTEyNTMwZDI3M2UwIgorCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ19VUkkgPSAiIFwKKyAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy8ke0JQfS50YXIuZ3ogXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmI1OGQ2MjFmYWQ4ZmRhODc5ZjA3YjdjYWQ4YmZlMTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDQ1ZjIwOWQ4MzdjNDlkYWU2ZGVlYmNkZDg3YjhjYzNiMDRlYTI5MDg4MDM1OGZhZWNmNWU3NzM3NzQwYzc3MSIKKworUEFDS0FHRVMgPSsgImxpYiR7QlBOfSBsaWIke0JQTn0tZGV2IgorCitGSUxFU18ke1BOfSA9ICIgJHtiaW5kaXJ9L2ZhYWMgIgorRklMRVNfbGliJHtCUE59ID0gIiAke2xpYmRpcn0vKi5zby4qIgorRklMRVNfbGliJHtCUE59LWRldiA9ICIgXAorICAgICR7aW5jbHVkZWRpcn0gXAorICAgICR7bGliZGlyfS8qLnNvIFwKKyAgICAke2xpYmRpcn0vKi5sYSBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFjL2ZhYWNfMS4yOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDM2ZjJmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmFhY18xLjI5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJGcmVld2FyZSBBZHZhbmNlZCBBdWRpbyBDb2RlciAoTVBFRzItQUFDLCBNUEVHNC1BQUMpIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIrIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhYy5odG1sIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZmFhYy9jb2Rlci5oO2JlZ2lubGluZT01O2VuZGxpbmU9MTc7bWQ1PWZhMWZkNmE1ZmE4Y2RjODc3ZDYzYTEyNTMwZDI3M2UwIgotCi1MSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLVNSQ19VUkkgPSAiIFwKLSAgICAke1NPVVJDRUZPUkdFX01JUlJPUn0vZmFhYy8ke0JQfS50YXIuZ3ogXAotICAgIGZpbGU6Ly8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc4NjAzNzIwZjY1NTE4MDA1OWQ2OTcwYzU4MmEzMDA1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjYzdiMDNjZWIyNzIyMjIzYTY0NTdlOTVkNGM5OTQ3MzFkODAyMTRhMDNiYTMzZDFhZjc2YmE1M2Y0YjMxOTciCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LW1wNHYyIgotCi1QQUNLQUdFUyA9KyAibGliJHtCUE59IGxpYiR7QlBOfS1kZXYiCi0KLUZJTEVTXyR7UE59ID0gIiAke2JpbmRpcn0vZmFhYyAiCi1GSUxFU19saWIke1BOfSA9ICIgJHtsaWJkaXJ9Lyouc28uKiIKLUZJTEVTX2xpYiR7UE59LWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0gXAotICAgICR7bGliZGlyfS8qLnNvIFwKLSAgICAke2xpYmRpcn0vKi5sYSBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWMvZmlsZXMvMDAwMS1tcDR2Mi1EZWZpbmUtX19TVFJJTkctaWYtY2RlZnMuaC1kb2VzLW5vdC1leGlzdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9maWxlcy8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODQ1ZGRmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhYy9maWxlcy8wMDAxLW1wNHYyLURlZmluZS1fX1NUUklORy1pZi1jZGVmcy5oLWRvZXMtbm90LWV4aXN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSA0NmNjOTI5OGMzOGI5ZGQ3MzVmZWMzZjM5YWEyZDZlNTZhMzYyNDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjggTWFyIDIwMTcgMjE6MzM6MzYgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIG1wNHYyOiBEZWZpbmUgX19TVFJJTkcgaWYgY2RlZnMuaCBkb2VzIG5vdCBleGlzdAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gY29tbW9uL21wNHYyL21wNHV0aWwuaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbW1vbi9tcDR2Mi9tcDR1dGlsLmggYi9jb21tb24vbXA0djIvbXA0dXRpbC5oCi1pbmRleCAxZjljYjY0Li4xZTdhY2VkIDEwMDY0NAotLS0tIGEvY29tbW9uL21wNHYyL21wNHV0aWwuaAotKysrIGIvY29tbW9uL21wNHYyL21wNHV0aWwuaAotQEAgLTIzLDYgKzIzLDEwIEBACi0gI2RlZmluZSBfX01QNF9VVElMX0lOQ0xVREVEX18KLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0gCi0rI2lmbmRlZiBfX1NUUklORwotKyNkZWZpbmUgX19TVFJJTkcoeCkgICAgICN4Ci0rI2VuZGlmCi0rCi0gI2lmbmRlZiBBU1NFUlQKLSAjZGVmaW5lIEFTU0VSVChleHByKSBcCi0gCWlmICghKGV4cHIpKSB7IFwKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9maWxlcy8wMDAxLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmlsZXMvMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTE4NDZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9maWxlcy8wMDAxLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi1Gcm9tIDJkZTdlMTI4ZmJkZjUyODcxNmI1MDBjZjI3ZWQ5YTQzNThjOTMxYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNCBOb3YgMjAxNyAwMDowNTozNSArMDEwMAotU3ViamVjdDogW1BBVENIIDIvMl0gVXNlIEFSTS1ORU9OIGFjY2VsYXJhdGlvbiBmb3IgZmxvYXQtbXVsdGl0aHJlYWRlZCBzZXR1cHMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKLWluZGV4IDk2MTY1MTguLmRiZjgwNTcgMTAwNjQ0Ci0tLS0gYS9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCi0rKysgYi9zcmMvcnZvaWNlL2ZsdWlkX3J2b2ljZV9taXhlci5jCi1AQCAtMjcsNiArMjcsMTAgQEAKLSAjaW5jbHVkZSAiZmx1aWRfbGFkc3BhLmgiCi0gI2luY2x1ZGUgImZsdWlkX3N5bnRoLmgiCi0gCi0rI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKQotKyNpbmNsdWRlICJhcm1fbmVvbi5oIgotKyNlbmRpZgotKwotIAotICNkZWZpbmUgRU5BQkxFX01JWEVSX1RIUkVBRFMgMQotIAotQEAgLTc5NCwyMCArNzk4LDQyIEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCogZGVzdCwgZmx1aWRfbWl4ZXJfYnVmZmVyc190KiBzcmMpCi0gICBpZiAobWluYnVmID4gc3JjLT5idWZfY291bnQpCi0gICAgIG1pbmJ1ZiA9IHNyYy0+YnVmX2NvdW50OwotICAgZm9yIChpPTA7IGkgPCBtaW5idWY7IGkrKykgewotKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQotKyAgICBmb3IgKGo9MDsgaiA8IHNjb3VudDsgais9NCkgewotKyAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmRlc3QtPmxlZnRfYnVmW2ldW2pdKTsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmZGVzdC0+cmlnaHRfYnVmW2ldW2pdKTsKLSsgICAgICAgIHZsZWZ0ID0gdmFkZHFfZjMyKHZsZWZ0LCB2bGQxcV9mMzIoJnNyYy0+bGVmdF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmc3JjLT5yaWdodF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+bGVmdF9idWZbaV1bal0sIHZsZWZ0KTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+cmlnaHRfYnVmW2ldW2pdLCB2cmlnaHQpOwotKyAgICB9Ci0rI2Vsc2UKLSAgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorKykgewotICAgICAgIGRlc3QtPmxlZnRfYnVmW2ldW2pdICs9IHNyYy0+bGVmdF9idWZbaV1bal07Ci0gICAgICAgZGVzdC0+cmlnaHRfYnVmW2ldW2pdICs9IHNyYy0+cmlnaHRfYnVmW2ldW2pdOwotICAgICB9Ci0rI2VuZGlmCi0gICB9Ci0gCi0gICBtaW5idWYgPSBkZXN0LT5meF9idWZfY291bnQ7Ci0gICBpZiAobWluYnVmID4gc3JjLT5meF9idWZfY291bnQpCi0gICAgIG1pbmJ1ZiA9IHNyYy0+ZnhfYnVmX2NvdW50OwotICAgZm9yIChpPTA7IGkgPCBtaW5idWY7IGkrKykgewotKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQotKyAgICBmb3IgKGo9MDsgaiA8IHNjb3VudDsgais9NCkgewotKyAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmRlc3QtPmZ4X2xlZnRfYnVmW2ldW2pdKTsKLSsgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdKTsKLSsgICAgICAgIHZsZWZ0ID0gdmFkZHFfZjMyKHZsZWZ0LCB2bGQxcV9mMzIoJnNyYy0+ZnhfbGVmdF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmc3JjLT5meF9yaWdodF9idWZbaV1bal0pKTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+ZnhfbGVmdF9idWZbaV1bal0sIHZsZWZ0KTsKLSsgICAgICAgIHZzdDFxX2YzMigmZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdLCB2cmlnaHQpOwotKyAgICB9Ci0rI2Vsc2UKLSAgICAgZm9yIChqPTA7IGogPCBzY291bnQ7IGorKykgewotICAgICAgIGRlc3QtPmZ4X2xlZnRfYnVmW2ldW2pdICs9IHNyYy0+ZnhfbGVmdF9idWZbaV1bal07Ci0gICAgICAgZGVzdC0+ZnhfcmlnaHRfYnVmW2ldW2pdICs9IHNyYy0+ZnhfcmlnaHRfYnVmW2ldW2pdOwotICAgICB9Ci0rI2VuZGlmCi0gICB9Ci0gfQotIAotLS0gCi0yLjkuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC1uYXRpdmVfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgtbmF0aXZlX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTVjNGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgtbmF0aXZlX2dpdC5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlICR7QlBOfS5pbmMKKworaW5oZXJpdCBuYXRpdmUKKworT0VDTUFLRV9TT1VSQ0VQQVRIID0gIiR7U30vc3JjL2dlbnRhYmxlcyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9tYWtlX3RhYmxlcy5leGUgJHtEfS8ke2JpbmRpcn0vCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEwY2E5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLmluYwpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkZsdWlkc3ludGggaXMgYSBzb2Z0d2FyZSBzeW50aGVzaXplciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZmx1aWRzeW50aC5vcmcvIgorU0VDVElPTiA9ICJsaWJzL211bHRpbWVkaWEiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmMxNzhiY2Q0MjUwOTA5MzlhOGI2MzRkMWQ2YTk1OTQiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9GbHVpZFN5bnRoL2ZsdWlkc3ludGguZ2l0IgorU1JDUkVWID0gIjk2NzFlNDEyZmVlZGI5MDMyNWUwMzhjM2FhZjVkNTQzZWViYzIwYzAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorUFYgPSAiMi4wLjQiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnIGxpYl9wYWNrYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAxLURvLW5vdC1idWlsZC1nZW50YWJsZXMtaGVscGVyLXdlLWhhdmUtdG8tdXNlLW5hdGl2ZS0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAxLURvLW5vdC1idWlsZC1nZW50YWJsZXMtaGVscGVyLXdlLWhhdmUtdG8tdXNlLW5hdGl2ZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ2MTIyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoLzAwMDEtRG8tbm90LWJ1aWxkLWdlbnRhYmxlcy1oZWxwZXItd2UtaGF2ZS10by11c2UtbmF0aXZlLS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDgxZWE4MjBiMTU1ZTg4N2IxM2VhNTk4NmMzNDA3Y2Y5M2IyNzM3ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyIEphbiAyMDE5IDE4OjQyOjQ2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBidWlsZCBnZW50YWJsZXMgaGVscGVyIC0gd2UgaGF2ZSB0byB1c2UgbmF0aXZlIHZhcmlhbnQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIHNyYy9DTWFrZUxpc3RzLnR4dCB8IDExIC0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CitpbmRleCBhMGJhNTNkMS4uMWM2MjY3MTcgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTM1OSwxNCArMzU5LDMgQEAgZWxzZSAoIE1BQ09TWF9GUkFNRVdPUksgKQorICkKKyAgICBpbnN0YWxsICggRklMRVMgJHtwdWJsaWNfbWFpbl9IRUFERVJ9IERFU1RJTkFUSU9OICR7SU5DTFVERV9JTlNUQUxMX0RJUn0gKQorIGVuZGlmICggTUFDT1NYX0ZSQU1FV09SSyApCistCistIyAqKioqKioqIEF1dG8gR2VuZXJhdGVkIExvb2t1cCBUYWJsZXMgKioqKioqCistCistaW5jbHVkZShFeHRlcm5hbFByb2plY3QpCistRXh0ZXJuYWxQcm9qZWN0X0FkZChnZW50YWJsZXMKKy0gICAgRE9XTkxPQURfQ09NTUFORCAiIgorLSAgICBTT1VSQ0VfRElSICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nZW50YWJsZXMKKy0gICAgQklOQVJZX0RJUiAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VudGFibGVzCistICAgIElOU1RBTExfQ09NTUFORCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2VudGFibGVzL21ha2VfdGFibGVzLmV4ZSAiJHtDTUFLRV9CSU5BUllfRElSfS8iCistKQorLWFkZF9kZXBlbmRlbmNpZXMobGliZmx1aWRzeW50aC1PQkogZ2VudGFibGVzKQorLS0gCisyLjE0LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0ZGFhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAyLWZsdWlkX3N5bnRoX253cml0ZV9mbG9hdC1BbGxvdy16ZXJvLXBvaW50ZXItZm9yLWxlZnQucGF0Y2gKQEAgLTAsMCArMSwxNzggQEAKK0Zyb20gMzAwOTc3NTM3YjYwNTZiZGJiYmE5ZGY5MTAwZmE2ZTg5MWNhMWY0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDE0OjA4OjQ1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQ6IEFsbG93IHplcm8gcG9pbnRlciBmb3IKKyBsZWZ0L3JpZ2h0IGFuZCB6ZXJvIHBvaW50ZXIgaW4gYXJyYXlzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1dpdGggdGhpcyBtb2RpZmljYXRpb24gYSBjbGllbnQgY2FuIGRlZmluZSBleGFjdGx5IHdoYXQgaXQgd2FudHMgdG8gZ2V0IGludG8KK2J1ZmZlcnMgdG8gYXZvaWQgdXNlbGVzcyBjb3B5aW5nIG9mIGRhdGEuIE9uIHdlYWsgbWFjaGluZXMgdGhpcyBsZWFkcyB0byBtZWFzdXJhYmxlCitwZXJmb3JtYW5jZSB3aW5zLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS9GbHVpZFN5bnRoL2ZsdWlkc3ludGgvcHVsbC80OTAKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIHNyYy9zeW50aC9mbHVpZF9zeW50aC5jIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zeW50aC9mbHVpZF9zeW50aC5jIGIvc3JjL3N5bnRoL2ZsdWlkX3N5bnRoLmMKK2luZGV4IDBkZjYyMGQzLi4zNzlmODIxNiAxMDA2NDQKKy0tLSBhL3NyYy9zeW50aC9mbHVpZF9zeW50aC5jCisrKysgYi9zcmMvc3ludGgvZmx1aWRfc3ludGguYworQEAgLTMzMDYsMTAgKzMzMDYsMTAgQEAgZmx1aWRfc3ludGhfcHJvZ3JhbV9yZXNldChmbHVpZF9zeW50aF90ICpzeW50aCkKKyAgKiBTeW50aGVzaXplIGEgYmxvY2sgb2YgZmxvYXRpbmcgcG9pbnQgYXVkaW8gdG8gc2VwYXJhdGUgYXVkaW8gYnVmZmVycyAobXVsdGljaGFubmVsIHJlbmRlcmluZykuIEZpcnN0IGVmZmVjdCBjaGFubmVsIHVzZWQgYnkgcmV2ZXJiLCBzZWNvbmQgZm9yIGNob3J1cy4KKyAgKiBAcGFyYW0gc3ludGggRmx1aWRTeW50aCBpbnN0YW5jZQorICAqIEBwYXJhbSBsZW4gQ291bnQgb2YgYXVkaW8gZnJhbWVzIHRvIHN5bnRoZXNpemUKKy0gKiBAcGFyYW0gbGVmdCBBcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgY2hhbm5lbCBvZiBwbGFuYXIgYXVkaW8gKGFzIG1hbnkgYXMgXGMgc3ludGguYXVkaW8tY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkKKy0gKiBAcGFyYW0gcmlnaHQgQXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoc2l6ZTogZGl0bykKKy0gKiBAcGFyYW0gZnhfbGVmdCBTaW5jZSAxLjEuNzogSWYgbm90IFxjIE5VTEwsIGFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgbGVmdCBlZmZlY3QgY2hhbm5lbHMgKGFzIG1hbnkgYXMgXGMgc3ludGguZWZmZWN0cy1jaGFubmVscyBidWZmZXJzLCBlYWNoIG9mIFxjIGxlbiBpbiBzaXplKQorLSAqIEBwYXJhbSBmeF9yaWdodCBTaW5jZSAxLjEuNzogSWYgbm90IFxjIE5VTEwsIGFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgcmlnaHQgZWZmZWN0IGNoYW5uZWxzIChzaXplOiBkaXRvKQorKyAqIEBwYXJhbSBsZWZ0IEFycmF5IG9mIGZsb2F0IGJ1ZmZlcnMgdG8gc3RvcmUgbGVmdCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoYXMgbWFueSBhcyBcYyBzeW50aC5hdWRpby1jaGFubmVscyBidWZmZXJzLCBlYWNoIG9mIFxjIGxlbiBpbiBzaXplKS4gU2luY2UgMi4wLjM6IE5VTEwgYWxsb3dlZCAvIE5VTEwgYWxsb3dlZCBmb3IgYXJyYXkgZW50cnkKKysgKiBAcGFyYW0gcmlnaHQgQXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBjaGFubmVsIG9mIHBsYW5hciBhdWRpbyAoc2l6ZTogZGl0bykuIFNpbmNlIDIuMC4zOiBOVUxMIGFsbG93ZWQgLyBOVUxMIGFsbG93ZWQgZm9yIGFycmF5IGVudHJ5CisrICogQHBhcmFtIGZ4X2xlZnQgU2luY2UgMS4xLjc6IElmIG5vdCBcYyBOVUxMLCBhcnJheSBvZiBmbG9hdCBidWZmZXJzIHRvIHN0b3JlIGxlZnQgZWZmZWN0IGNoYW5uZWxzIChhcyBtYW55IGFzIFxjIHN5bnRoLmVmZmVjdHMtY2hhbm5lbHMgYnVmZmVycywgZWFjaCBvZiBcYyBsZW4gaW4gc2l6ZSkuIFNpbmNlIDIuMC4zOiBOVUxMIGFsbG93ZWQgZm9yIGFycmF5IGVudHJ5CisrICogQHBhcmFtIGZ4X3JpZ2h0IFNpbmNlIDEuMS43OiBJZiBub3QgXGMgTlVMTCwgYXJyYXkgb2YgZmxvYXQgYnVmZmVycyB0byBzdG9yZSByaWdodCBlZmZlY3QgY2hhbm5lbHMgKHNpemU6IGRpdG8pLiBTaW5jZSAyLjAuMzogTlVMTCBhbGxvd2VkIGZvciBhcnJheSBlbnRyeQorICAqIEByZXR1cm4gI0ZMVUlEX09LIG9uIHN1Y2Nlc3MsICNGTFVJRF9GQUlMRUQgb3RoZXJ3aXNlCisgICoKKyAgKiBAbm90ZSBTaG91bGQgb25seSBiZSBjYWxsZWQgZnJvbSBzeW50aGVzaXMgdGhyZWFkLgorQEAgLTMzODYsMTUgKzMzODYsMjcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgZm9yKGkgPSAwOyBpIDwgc3ludGgtPmF1ZGlvX2NoYW5uZWxzOyBpKyspCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSwgJmxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkocmlnaHRbaV0sICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBzeW50aC0+Y3VyXSwgYnl0ZXMpOworKyAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSwgJmxlZnRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldLCAmcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisgI2Vsc2UgLy9XSVRIX0ZMT0FUCisgICAgICAgICAgICAgaW50IGo7CisgCisgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBsZWZ0W2ldW2pdID0gKGZsb2F0KSBsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGogKyBzeW50aC0+Y3VyXTsKKy0gICAgICAgICAgICAgICAgcmlnaHRbaV1bal0gPSAoZmxvYXQpIHJpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGogKyBzeW50aC0+Y3VyXTsKKysgICAgICAgICAgICAgICAgaWYobGVmdCAhPSBOVUxMICYmIGxlZnRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgbGVmdFtpXVtqXSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqICsgc3ludGgtPmN1cl07CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByaWdodFtpXVtqXSA9IChmbG9hdCkgcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgaiArIHN5bnRoLT5jdXJdOworKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorIAorICNlbmRpZiAvL1dJVEhfRkxPQVQKK0BAIC0zNDA0LDEyICszNDE2LDEyIEBAIGZsdWlkX3N5bnRoX253cml0ZV9mbG9hdChmbHVpZF9zeW50aF90ICpzeW50aCwgaW50IGxlbiwKKyAgICAgICAgIHsKKyAjaWZkZWYgV0lUSF9GTE9BVAorIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGZ4X2xlZnRbaV0sICZmeF9sZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIHN5bnRoLT5jdXJdLCBieXRlcyk7CisgICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgIGlmKGZ4X3JpZ2h0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCAmJiBmeF9yaWdodFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKGZ4X3JpZ2h0W2ldLCAmZnhfcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgc3ludGgtPmN1cl0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CitAQCAtMzQxNyw3ICszNDI5LDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKK0BAIC0zNDI1LDcgKzM0MzcsNyBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKyAgICAgICAgICAgICAgICAgeworQEAgLTM0NTYsMTUgKzM0NjgsMzAgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICAgICAgICAgZm9yKGkgPSAwOyBpIDwgc3ludGgtPmF1ZGlvX2NoYW5uZWxzOyBpKyspCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKy0gICAgICAgICAgICBGTFVJRF9NRU1DUFkobGVmdFtpXSArIGNvdW50LCAmbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CistICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldICsgY291bnQsICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisrICAgICAgICAgICAgaWYobGVmdCAhPSBOVUxMICYmIGxlZnRbaV0gIT0gTlVMTCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShsZWZ0W2ldICsgY291bnQsICZsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYocmlnaHQgIT0gTlVMTCAmJiByaWdodFtpXSAhPSBOVUxMKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgRkxVSURfTUVNQ1BZKHJpZ2h0W2ldICsgY291bnQsICZyaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFRdLCBieXRlcyk7CisrICAgICAgICAgICAgfQorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorKyAgICAgICAgICAgIGlmKGxlZnQgIT0gTlVMTCAmJiBsZWZ0W2ldICE9IE5VTEwpCisrICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgbGVmdFtpXVtqICsgY291bnRdID0gKGZsb2F0KSBsZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVCArIGpdOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmKHJpZ2h0ICE9IE5VTEwgJiYgcmlnaHRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIGxlZnRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgbGVmdF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqXTsKKy0gICAgICAgICAgICAgICAgcmlnaHRbaV1baiArIGNvdW50XSA9IChmbG9hdCkgcmlnaHRfaW5baSAqIEZMVUlEX0JVRlNJWkUgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICsgal07CisrICAgICAgICAgICAgICAgIGZvcihqID0gMDsgaiA8IG51bTsgaisrKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByaWdodFtpXVtqICsgY291bnRdID0gKGZsb2F0KSByaWdodF9pbltpICogRkxVSURfQlVGU0laRSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKyBqXTsKKysgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAKKyAjZW5kaWYgLy9XSVRIX0ZMT0FUCitAQCAtMzQ3NCwxMiArMzUwMSwxMiBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICB7CisgI2lmZGVmIFdJVEhfRkxPQVQKKyAKKy0gICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwpCisrICAgICAgICAgICAgaWYoZnhfbGVmdCAhPSBOVUxMICYmIGZ4X2xlZnRbaV0gIT0gTlVMTCkKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIEZMVUlEX01FTUNQWShmeF9sZWZ0W2ldICsgY291bnQsICZmeF9sZWZ0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBGTFVJRF9NRU1DUFkoZnhfcmlnaHRbaV0gKyBjb3VudCwgJmZ4X3JpZ2h0X2luW2kgKiBGTFVJRF9CVUZTSVpFICogRkxVSURfTUlYRVJfTUFYX0JVRkZFUlNfREVGQVVMVF0sIGJ5dGVzKTsKKyAgICAgICAgICAgICB9CitAQCAtMzQ4Nyw3ICszNTE0LDcgQEAgZmx1aWRfc3ludGhfbndyaXRlX2Zsb2F0KGZsdWlkX3N5bnRoX3QgKnN5bnRoLCBpbnQgbGVuLAorICNlbHNlIC8vV0lUSF9GTE9BVAorICAgICAgICAgICAgIGludCBqOworIAorLSAgICAgICAgICAgIGlmKGZ4X2xlZnQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9sZWZ0ICE9IE5VTEwgJiYgZnhfbGVmdFtpXSAhPSBOVUxMKQorICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgZm9yKGogPSAwOyBqIDwgbnVtOyBqKyspCisgICAgICAgICAgICAgICAgIHsKK0BAIC0zNDk1LDcgKzM1MjIsNyBAQCBmbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQoZmx1aWRfc3ludGhfdCAqc3ludGgsIGludCBsZW4sCisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgaWYoZnhfcmlnaHQgIT0gTlVMTCkKKysgICAgICAgICAgICBpZihmeF9yaWdodCAhPSBOVUxMICYmIGZ4X3JpZ2h0W2ldICE9IE5VTEwpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICBmb3IoaiA9IDA7IGogPCBudW07IGorKykKKyAgICAgICAgICAgICAgICAgeworLS0gCisyLjE0LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGgvMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZDA5OTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aC8wMDAzLVVzZS1BUk0tTkVPTi1hY2NlbGFyYXRpb24tZm9yLWZsb2F0LW11bHRpdGhyZWFkZWQtc2UucGF0Y2gKQEAgLTAsMCArMSwzMDQgQEAKK0Zyb20gOTQ3Zjc5Zjk3YTVmYTY1NDdkOTliZmYyODI2MDYwMjY2MzJlMDEwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDEzIE9jdCAyMDE4IDIzOjAxOjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBBUk0tTkVPTiBhY2NlbGFyYXRpb24gZm9yIGZsb2F0LW11bHRpdGhyZWFkZWQgc2V0dXBzCisKK1Byb2ZpbGluZyBzaG93cyBhIGNvbnNpZGVyYWJsZSBwZXJmb3JtYW5jZSB3aW4uIFNlZSBlc3RpbWF0ZWQgbnVtYmVyIG9mIHZvaWNlczoKK1RoZXkgaW5jcmVhc2UgZnJvbSB+NDcxIHRvIH41MTMgd2hpY2ggbWFrZXMgYSB+OSUgd2luOgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitXSVRIT1VUIEFSTSBORU9OOgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCittb3JvbmFAcmFzcGJlcnJ5cGkzOn4kIGZsdWlkc3ludGggLW8gc3ludGguY3B1LWNvcmVzPTQgLW8gc3ludGguY2hvcnVzLmFjdGl2ZT0wIC1vIHN5bnRoLnJldmVyYi5hY3RpdmU9MCAvdXNyL3NoYXJlL3NmMi9mbHVpZHIzZ20uc2YyCis+IHByb2Zfc2V0X3ByaW50IDEKKz4gcHJvZl9zZXRfbm90ZXMgMTAKKz4gcHJvZl9zdGFydCAzIDEwMDAwCitHZW5lcmF0aW5nIDEwIG5vdGVzLCBnZW5lcmF0ZWQgdm9pY2VzOjIwCitOdW1iZXIgb2YgbWVhc3VyZXMobl9wcm9mKTozLCBkdXJhdGlvbiBvZiBvbmUgbWVzdXJlKGR1cik6MTAwMDBtcworCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjMwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTEyLjAwfCAgICAxMTguOTZ8ICAgIDIwNi4wMHwgICA0LjQ2MQorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwOS4wMHwgICAgMTE2LjQ0fCAgICAxOTYuMDB8ICAgNC4zNjcKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42N3wgICAgIDE4LjAwfCAgIDAuMDYzCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzZ8ICAgICA1OC4wMHwgICAwLjQ2MworIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgIDEwNy4wMHwgICAgMTEzLjQ3fCAgICAxODcuMDB8ICAgNC4yNTUKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjQ2MXwgICAgNC40NjF8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMjEzfCAgICAgICAgICAgICAgNDcwCisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MjAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMTIuMDB8ICAgIDExOC40MnwgICAgMjE2LjAwfCAgIDQuNDQxCisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTA5LjAwfCAgICAxMTUuOTF8ICAgIDIwNS4wMHwgICA0LjM0NworIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY1fCAgICAgMTguMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMHwgICAgIDU4LjAwfCAgIDAuNDYxCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgMTA3LjAwfCAgICAxMTIuOTh8ICAgIDE5Ny4wMHwgICA0LjIzNworIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuNDQxfCAgICA0LjQ0MXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4yMTJ8ICAgICAgICAgICAgICA0NzIKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDoxMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDExMi4wMHwgICAgMTE4LjY0fCAgICAyNDQuMDB8ICAgNC40NDkKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDkuMDB8ICAgIDExNi4xMnwgICAgMjM0LjAwfCAgIDQuMzU1Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAzNy4wMHwgICAwLjA2MgorIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjMxfCAgICAgNjMuMDB8ICAgMC40NjIKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAxMDcuMDB8ICAgIDExMy4xOHwgICAgMjE0LjAwfCAgIDQuMjQ0Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC40NDl8ICAgIDQuNDQ5fCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjIxMnwgICAgICAgICAgICAgIDQ3MQorU3RvcHBpbmcgMjAgdm9pY2VzLi4udm9pY2VzIHN0b3BwZWQuCis+IHF1aXQKK2NoZWVycyEKK0phY2tUZW1wb3JhcnlFeGNlcHRpb24gOiBub3cgcXVpdHMuLi4KK0phY2sgbWFpbiBjYXVnaHQgc2lnbmFsIDIKK2ZsdWlkX3Byb2ZpbGluZ19wcmludAorZmx1aWRzeW50aDogRXN0aW1hdGVkIHRpbWVzOiBtaW4vYXZnL21heCAobWljcm8gc2Vjb25kcykKK2ZsdWlkc3ludGg6IHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPjogMTEyLjAwMC8xMTguNjM2LzI0NC4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPjogMTA5LjAwMC8xMTYuMTI0LzIzNC4wMDAKK2ZsdWlkc3ludGg6IHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPjogMS4wMDAvMS42NjUvMzcuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT46IDExLjAwMC8xMi4zMDkvNjMuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz46IDEwNy4wMDAvMTEzLjE4MC8yMTQuMDAwCisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1dJVEggQVJNIE5FT046CisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK21vcm9uYUByYXNwYmVycnlwaTM6fiQgZmx1aWRzeW50aCAtbyBzeW50aC5jcHUtY29yZXM9NCAtbyBzeW50aC5jaG9ydXMuYWN0aXZlPTAgLW8gc3ludGgucmV2ZXJiLmFjdGl2ZT0wIC91c3Ivc2hhcmUvc2YyL2ZsdWlkcjNnbS5zZjIKKz4gcHJvZl9zZXRfcHJpbnQgMQorPiBwcm9mX3NldF9ub3RlcyAxMAorPiBwcm9mX3N0YXJ0IDMgMTAwMDAKK0dlbmVyYXRpbmcgMTAgbm90ZXMsIGdlbmVyYXRlZCB2b2ljZXM6MjAKK051bWJlciBvZiBtZWFzdXJlcyhuX3Byb2YpOjMsIGR1cmF0aW9uIG9mIG9uZSBtZXN1cmUoZHVyKToxMDAwMG1zCisKK1Byb2ZpbGluZyB0aW1lKG1tOnNzKTogVG90YWw9MDozMCAgUmVtYWluZGVyPTA6MzAsIHByZXNzIDxFTlRFUj4gdG8gY2FuY2VsCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRHVyYXRpb24obWljcm9zZWNvbmQpIGFuZCBjcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENvZGUgdW5kZXIgcHJvZmlsaW5nICAgICAgIHxWb2ljZXN8ICAgICAgIER1cmF0aW9uIChtaWNyb3NlY29uZCkgICB8ICBMb2FkKCUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIG5icnwgICAgICAgbWlufCAgICAgICBhdmd8ICAgICAgIG1heHwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0KKyBzeW50aF93cml0ZV8qIC0tLS0tLS0tLS0tLT58ICAgIDIwfCAgICAxMDIuMDB8ICAgIDEwOS4yMXwgICAgMjEzLjAwfCAgIDQuMDk1Cisgc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+fCAgICAyMHwgICAgIDk5LjAwfCAgICAxMDYuNjh8ICAgIDIwMS4wMHwgICA0LjAwMQorIHN5bnRoX29uZV9ibG9jazpjbGVhciAtLS0tPnwgICAgMjB8ICAgICAgMS4wMHwgICAgICAxLjY0fCAgICAgMTguMDB8ICAgMC4wNjIKKyBzeW50aF9vbmVfYmxvY2s6b25lIHZvaWNlLT58ICAgICAxfCAgICAgMTEuMDB8ICAgICAxMi4zMHwgICAgIDU0LjAwfCAgIDAuNDYxCisgc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+fCAgICAyMHwgICAgIDk3LjAwfCAgICAxMDMuNzF8ICAgIDE4OC4wMHwgICAzLjg4OQorIHN5bnRoX29uZV9ibG9jazpyZXZlcmIgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHN5bnRoX29uZV9ibG9jazpjaG9ydXMgLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOm5vdGUgLS0tLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIHZvaWNlOnJlbGVhc2UgLS0tLS0tLS0tLS0tPnwgbm8gcHJvZmlsaW5nIGF2YWlsYWJsZQorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIENwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpIGFuZCBtYXhpbXVtIHZvaWNlcworIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIG5Wb2ljZXN8IHRvdGFsKCUpfHZvaWNlcyglKXwgcmV2ZXJiKCUpfGNob3J1cyglKXwgdm9pY2UoJSl8ZXN0aW1hdGVkIG1heFZvaWNlcworIC0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgMjB8ICAgIDQuMDk1fCAgICA0LjA5NXwgICAgIDAuMDAwfCAgICAwLjAwMHwgICAgMC4xOTR8ICAgICAgICAgICAgICA1MTQKKworUHJvZmlsaW5nIHRpbWUobW06c3MpOiBUb3RhbD0wOjMwICBSZW1haW5kZXI9MDoyMCwgcHJlc3MgPEVOVEVSPiB0byBjYW5jZWwKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBEdXJhdGlvbihtaWNyb3NlY29uZCkgYW5kIGNwdSBsb2FkcyglKSAoc3I6IDQ4MDAwIEh6LCBzcDogMjAuODMgbWljcm9zZWNvbmQpCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ29kZSB1bmRlciBwcm9maWxpbmcgICAgICAgfFZvaWNlc3wgICAgICAgRHVyYXRpb24gKG1pY3Jvc2Vjb25kKSAgIHwgIExvYWQoJSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgbmJyfCAgICAgICBtaW58ICAgICAgIGF2Z3wgICAgICAgbWF4fAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLQorIHN5bnRoX3dyaXRlXyogLS0tLS0tLS0tLS0tPnwgICAgMjB8ICAgIDEwMi4wMHwgICAgMTA5LjQ2fCAgICAyNzguMDB8ICAgNC4xMDUKKyBzeW50aF9vbmVfYmxvY2sgLS0tLS0tLS0tLT58ICAgIDIwfCAgICAgOTkuMDB8ICAgIDEwNi45MXwgICAgMjY1LjAwfCAgIDQuMDA5Cisgc3ludGhfb25lX2Jsb2NrOmNsZWFyIC0tLS0+fCAgICAyMHwgICAgICAxLjAwfCAgICAgIDEuNjd8ICAgICAyMi4wMHwgICAwLjA2MgorIHN5bnRoX29uZV9ibG9jazpvbmUgdm9pY2UtPnwgICAgIDF8ICAgICAxMS4wMHwgICAgIDEyLjMwfCAgICAgNTQuMDB8ICAgMC40NjEKKyBzeW50aF9vbmVfYmxvY2s6YWxsIHZvaWNlcz58ICAgIDIwfCAgICAgOTcuMDB8ICAgIDEwMy45NHwgICAgMjUxLjAwfCAgIDMuODk4Cisgc3ludGhfb25lX2Jsb2NrOnJldmVyYiAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgc3ludGhfb25lX2Jsb2NrOmNob3J1cyAtLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6bm90ZSAtLS0tLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgdm9pY2U6cmVsZWFzZSAtLS0tLS0tLS0tLS0+fCBubyBwcm9maWxpbmcgYXZhaWxhYmxlCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkgYW5kIG1heGltdW0gdm9pY2VzCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgblZvaWNlc3wgdG90YWwoJSl8dm9pY2VzKCUpfCByZXZlcmIoJSl8Y2hvcnVzKCUpfCB2b2ljZSglKXxlc3RpbWF0ZWQgbWF4Vm9pY2VzCisgLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAyMHwgICAgNC4xMDV8ICAgIDQuMTA1fCAgICAgMC4wMDB8ICAgIDAuMDAwfCAgICAwLjE5NXwgICAgICAgICAgICAgIDUxMworCitQcm9maWxpbmcgdGltZShtbTpzcyk6IFRvdGFsPTA6MzAgIFJlbWFpbmRlcj0wOjEwLCBwcmVzcyA8RU5URVI+IHRvIGNhbmNlbAorIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIER1cmF0aW9uKG1pY3Jvc2Vjb25kKSBhbmQgY3B1IGxvYWRzKCUpIChzcjogNDgwMDAgSHosIHNwOiAyMC44MyBtaWNyb3NlY29uZCkKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb2RlIHVuZGVyIHByb2ZpbGluZyAgICAgICB8Vm9pY2VzfCAgICAgICBEdXJhdGlvbiAobWljcm9zZWNvbmQpICAgfCAgTG9hZCglKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBuYnJ8ICAgICAgIG1pbnwgICAgICAgYXZnfCAgICAgICBtYXh8CisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tCisgc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+fCAgICAyMHwgICAgMTAyLjAwfCAgICAxMDkuMjJ8ICAgIDI3OC4wMHwgICA0LjA5NgorIHN5bnRoX29uZV9ibG9jayAtLS0tLS0tLS0tPnwgICAgMjB8ICAgICA5OS4wMHwgICAgMTA2LjY1fCAgICAyNjUuMDB8ICAgMy45OTkKKyBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT58ICAgIDIwfCAgICAgIDEuMDB8ICAgICAgMS42N3wgICAgIDIyLjAwfCAgIDAuMDYyCisgc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+fCAgICAgMXwgICAgIDExLjAwfCAgICAgMTIuMzF8ICAgICA1Ny4wMHwgICAwLjQ2MgorIHN5bnRoX29uZV9ibG9jazphbGwgdm9pY2VzPnwgICAgMjB8ICAgICA5Ny4wMHwgICAgMTAzLjY4fCAgICAyNTEuMDB8ICAgMy44ODgKKyBzeW50aF9vbmVfYmxvY2s6cmV2ZXJiIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyBzeW50aF9vbmVfYmxvY2s6Y2hvcnVzIC0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpub3RlIC0tLS0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyB2b2ljZTpyZWxlYXNlIC0tLS0tLS0tLS0tLT58IG5vIHByb2ZpbGluZyBhdmFpbGFibGUKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDcHUgbG9hZHMoJSkgKHNyOiA0ODAwMCBIeiwgc3A6IDIwLjgzIG1pY3Jvc2Vjb25kKSBhbmQgbWF4aW11bSB2b2ljZXMKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBuVm9pY2VzfCB0b3RhbCglKXx2b2ljZXMoJSl8IHJldmVyYiglKXxjaG9ydXMoJSl8IHZvaWNlKCUpfGVzdGltYXRlZCBtYXhWb2ljZXMKKyAtLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tLXwtLS0tLS0tLS18LS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIDIwfCAgICA0LjA5NnwgICAgNC4wOTZ8ICAgICAwLjAwMHwgICAgMC4wMDB8ICAgIDAuMTk0fCAgICAgICAgICAgICAgNTE0CitTdG9wcGluZyAyMCB2b2ljZXMuLi52b2ljZXMgc3RvcHBlZC4KKz4gcXVpdAorY2hlZXJzIQorSmFja1RlbXBvcmFyeUV4Y2VwdGlvbiA6IG5vdyBxdWl0cy4uLgorSmFjayBtYWluIGNhdWdodCBzaWduYWwgMgorZmx1aWRfcHJvZmlsaW5nX3ByaW50CitmbHVpZHN5bnRoOiBFc3RpbWF0ZWQgdGltZXM6IG1pbi9hdmcvbWF4IChtaWNybyBzZWNvbmRzKQorZmx1aWRzeW50aDogc3ludGhfd3JpdGVfKiAtLS0tLS0tLS0tLS0+OiAxMDIuMDAwLzEwOS4yMTYvMjc4LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrIC0tLS0tLS0tLS0+OiA5OS4wMDAvMTA2LjY0OS8yNjUuMDAwCitmbHVpZHN5bnRoOiBzeW50aF9vbmVfYmxvY2s6Y2xlYXIgLS0tLT46IDEuMDAwLzEuNjY2LzIyLjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOm9uZSB2b2ljZS0+OiAxMS4wMDAvMTIuMzA3LzU3LjAwMAorZmx1aWRzeW50aDogc3ludGhfb25lX2Jsb2NrOmFsbCB2b2ljZXM+OiA5Ny4wMDAvMTAzLjY4MS8yNTEuMDAwCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQtc3BlY2lmaWNdCisKKy0tLQorIHNyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMgfCA1NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3J2b2ljZS9mbHVpZF9ydm9pY2VfbWl4ZXIuYyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKK2luZGV4IGFmMGVmNzVkLi4wN2EzNTdjNyAxMDA2NDQKKy0tLSBhL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKKysrKyBiL3NyYy9ydm9pY2UvZmx1aWRfcnZvaWNlX21peGVyLmMKK0BAIC0yNyw2ICsyNyw5IEBACisgI2luY2x1ZGUgImZsdWlkX2xhZHNwYS5oIgorICNpbmNsdWRlICJmbHVpZF9zeW50aC5oIgorIAorKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykKKysjaW5jbHVkZSAiYXJtX25lb24uaCIKKysjZW5kaWYKKyAKKyAvLyBJZiBsZXNzIHRoYW4geCB2b2ljZXMsIHRoZSB0aHJlYWQgb3ZlcmhlYWQgaXMgbGFyZ2VyIHRoYW4gdGhlIGdhaW4sCisgLy8gc28gZG9uJ3QgYWN0aXZhdGUgdGhlIHRocmVhZChzKS4KK0BAIC0xMDUzLDkgKzEwNTYsMTUgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICBpbnQgaSwgajsKKyAgICAgaW50IHNjb3VudCA9IGN1cnJlbnRfYmxvY2tjb3VudCAqIEZMVUlEX0JVRlNJWkU7CisgICAgIGludCBtaW5idWY7CisrI2lmIGRlZmluZWQoX19BUk1fTkVPTl9fKSAmJiBkZWZpbmVkKFdJVEhfRkxPQVQpCisrICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9zcmNfbGVmdDsKKysgICAgZmx1aWRfcmVhbF90ICpGTFVJRF9SRVNUUklDVCBiYXNlX3NyY19yaWdodDsKKysgICAgZmx1aWRfcmVhbF90ICpGTFVJRF9SRVNUUklDVCBiYXNlX2RzdF9sZWZ0OworKyAgICBmbHVpZF9yZWFsX3QgKkZMVUlEX1JFU1RSSUNUIGJhc2VfZHN0X3JpZ2h0OworKyNlbHNlCisgICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9zcmM7CisgICAgIGZsdWlkX3JlYWxfdCAqRkxVSURfUkVTVFJJQ1QgYmFzZV9kc3Q7CistCisrI2VuZGlmCisgICAgIG1pbmJ1ZiA9IGRzdC0+YnVmX2NvdW50OworIAorICAgICBpZihtaW5idWYgPiBzcmMtPmJ1Zl9jb3VudCkKK0BAIC0xMDYzLDYgKzEwNzIsMjcgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICAgICAgbWluYnVmID0gc3JjLT5idWZfY291bnQ7CisgICAgIH0KKyAKKysjaWYgZGVmaW5lZChfX0FSTV9ORU9OX18pICYmIGRlZmluZWQoV0lUSF9GTE9BVCkKKysgICAgYmFzZV9zcmNfbGVmdCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPmxlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2VfZHN0X2xlZnQgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX3NyY19yaWdodCA9IGZsdWlkX2FsaWduX3B0cihzcmMtPnJpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKyAgICBiYXNlX2RzdF9yaWdodCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPnJpZ2h0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworKworKyAgICBmb3IoaSA9IDA7IGkgPCBtaW5idWY7IGkrKykKKysgICAgeworKyAgICAgICAgZm9yKGogPSAwOyBqIDwgc2NvdW50OyBqKz00KQorKyAgICAgICAgeworKyAgICAgICAgICAgIGludCBkc3BfaSA9IGkgKiBGTFVJRF9NSVhFUl9NQVhfQlVGRkVSU19ERUZBVUxUICogRkxVSURfQlVGU0laRSArIGo7CisrCisrICAgICAgICAgICAgZmxvYXQzMng0X3QgdmxlZnQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X2xlZnRbZHNwX2ldKTsKKysgICAgICAgICAgICBmbG9hdDMyeDRfdCB2cmlnaHQgPSB2bGQxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSk7CisrICAgICAgICAgICAgdmxlZnQgPSB2YWRkcV9mMzIodmxlZnQsIHZsZDFxX2YzMigmYmFzZV9zcmNfbGVmdFtkc3BfaV0pKTsKKysgICAgICAgICAgICB2cmlnaHQgPSB2YWRkcV9mMzIodnJpZ2h0LCB2bGQxcV9mMzIoJmJhc2Vfc3JjX3JpZ2h0W2RzcF9pXSkpOworKyAgICAgICAgICAgIHZzdDFxX2YzMigmYmFzZV9kc3RfbGVmdFtkc3BfaV0sIHZsZWZ0KTsKKysgICAgICAgICAgICB2c3QxcV9mMzIoJmJhc2VfZHN0X3JpZ2h0W2RzcF9pXSwgdnJpZ2h0KTsKKysgICAgICAgIH0KKysgICAgfQorKyNlbHNlCisgICAgIGJhc2Vfc3JjID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+bGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKyAgICAgYmFzZV9kc3QgPSBmbHVpZF9hbGlnbl9wdHIoZHN0LT5sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworIAorQEAgLTEwOTAsNiArMTEyMCw3IEBAIGZsdWlkX21peGVyX2J1ZmZlcnNfbWl4KGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqZHN0LCBmbHVpZF9taXhlcl9idWZmZXJzX3QgKnNyYywKKyAgICAgICAgICAgICBiYXNlX2RzdFtkc3BfaV0gKz0gYmFzZV9zcmNbZHNwX2ldOworICAgICAgICAgfQorICAgICB9CisrI2VuZGlmCisgCisgICAgIG1pbmJ1ZiA9IGRzdC0+ZnhfYnVmX2NvdW50OworIAorQEAgLTEwOTgsNiArMTEyOSwyNyBAQCBmbHVpZF9taXhlcl9idWZmZXJzX21peChmbHVpZF9taXhlcl9idWZmZXJzX3QgKmRzdCwgZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpzcmMsCisgICAgICAgICBtaW5idWYgPSBzcmMtPmZ4X2J1Zl9jb3VudDsKKyAgICAgfQorIAorKyNpZiBkZWZpbmVkKF9fQVJNX05FT05fXykgJiYgZGVmaW5lZChXSVRIX0ZMT0FUKQorKyAgICBiYXNlX3NyY19sZWZ0ID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+ZnhfbGVmdF9idWYsIEZMVUlEX0RFRkFVTFRfQUxJR05NRU5UKTsKKysgICAgYmFzZV9kc3RfbGVmdCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPmZ4X2xlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2Vfc3JjX3JpZ2h0ID0gZmx1aWRfYWxpZ25fcHRyKHNyYy0+ZnhfcmlnaHRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrICAgIGJhc2VfZHN0X3JpZ2h0ID0gZmx1aWRfYWxpZ25fcHRyKGRzdC0+ZnhfcmlnaHRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisrCisrICAgIGZvcihpID0gMDsgaSA8IG1pbmJ1ZjsgaSsrKQorKyAgICB7CisrICAgICAgICBmb3IoaiA9IDA7IGogPCBzY291bnQ7IGorPTQpCisrICAgICAgICB7CisrICAgICAgICAgICAgaW50IGRzcF9pID0gaSAqIEZMVUlEX01JWEVSX01BWF9CVUZGRVJTX0RFRkFVTFQgKiBGTFVJRF9CVUZTSVpFICsgajsKKysKKysgICAgICAgICAgICBmbG9hdDMyeDRfdCB2bGVmdCA9IHZsZDFxX2YzMigmYmFzZV9kc3RfbGVmdFtkc3BfaV0pOworKyAgICAgICAgICAgIGZsb2F0MzJ4NF90IHZyaWdodCA9IHZsZDFxX2YzMigmYmFzZV9kc3RfcmlnaHRbZHNwX2ldKTsKKysgICAgICAgICAgICB2bGVmdCA9IHZhZGRxX2YzMih2bGVmdCwgdmxkMXFfZjMyKCZiYXNlX3NyY19sZWZ0W2RzcF9pXSkpOworKyAgICAgICAgICAgIHZyaWdodCA9IHZhZGRxX2YzMih2cmlnaHQsIHZsZDFxX2YzMigmYmFzZV9zcmNfcmlnaHRbZHNwX2ldKSk7CisrICAgICAgICAgICAgdnN0MXFfZjMyKCZiYXNlX2RzdF9sZWZ0W2RzcF9pXSwgdmxlZnQpOworKyAgICAgICAgICAgIHZzdDFxX2YzMigmYmFzZV9kc3RfcmlnaHRbZHNwX2ldLCB2cmlnaHQpOworKyAgICAgICAgfQorKyAgICB9CisrI2Vsc2UKKyAgICAgYmFzZV9zcmMgPSBmbHVpZF9hbGlnbl9wdHIoc3JjLT5meF9sZWZ0X2J1ZiwgRkxVSURfREVGQVVMVF9BTElHTk1FTlQpOworICAgICBiYXNlX2RzdCA9IGZsdWlkX2FsaWduX3B0cihkc3QtPmZ4X2xlZnRfYnVmLCBGTFVJRF9ERUZBVUxUX0FMSUdOTUVOVCk7CisgCitAQCAtMTEyNSw2ICsxMTc3LDcgQEAgZmx1aWRfbWl4ZXJfYnVmZmVyc19taXgoZmx1aWRfbWl4ZXJfYnVmZmVyc190ICpkc3QsIGZsdWlkX21peGVyX2J1ZmZlcnNfdCAqc3JjLAorICAgICAgICAgICAgIGJhc2VfZHN0W2RzcF9pXSArPSBiYXNlX3NyY1tkc3BfaV07CisgICAgICAgICB9CisgICAgIH0KKysjZW5kaWYKKyB9CisgCisgCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZsdWlkc3ludGgvZmx1aWRzeW50aF8xLjEuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkZjMxMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfMS4xLjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJGbHVpZHN5bnRoIGlzIGEgc29mdHdhcmUgc3ludGhlc2l6ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZsdWlkc3ludGgub3JnLyIKLVNFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWZjMTc4YmNkNDI1MDkwOTM5YThiNjM0ZDFkNmE5NTk0IgotCi1ERVBFTkRTID0gImFsc2EtbGliIG5jdXJzZXMgZ2xpYi0yLjAiCi0KLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL0ZsdWlkU3ludGgvZmx1aWRzeW50aC5naXQ7YnJhbmNoPTEuMS54IFwKLSAgICBmaWxlOi8vMDAwMS1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICJmNjVjNmJhMjVmYjJjN2UzN2M4OWZjNmE0YWZjNWFhNjQ1ZTIwOGMyIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcgbGliX3BhY2thZ2UKLQotRVhUUkFfT0VDTUFLRSA9ICItRGVuYWJsZS1mbG9hdHM9T04gLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0iCi1QQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi1EZW5hYmxlLWxpYnNuZGZpbGUtc3VwcG9ydD1PTiwtRGVuYWJsZS1saWJzbmRmaWxlLXN1cHBvcnQ9T0ZGLGxpYnNuZGZpbGUxIgotUEFDS0FHRUNPTkZJR1tqYWNrXSA9ICItRGVuYWJsZS1qYWNrLXN1cHBvcnQ9T04sLURlbmFibGUtamFjay1zdXBwb3J0PU9GRixqYWNrIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItRGVuYWJsZS1wdWxzZWF1ZGlvPU9OLC1EZW5hYmxlLXB1bHNlYXVkaW89T0ZGLHB1bHNlYXVkaW8iCi1QQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLURlbmFibGUtcG9ydGF1ZGlvPU9OLC1EZW5hYmxlLXBvcnRhdWRpbz1PRkYscG9ydGF1ZGlvLXYxOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZmx1aWRzeW50aC9mbHVpZHN5bnRoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjYwMGEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9mbHVpZHN5bnRoL2ZsdWlkc3ludGhfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitERVBFTkRTID0gIiR7QlBOfS1uYXRpdmUgYWxzYS1saWIgbmN1cnNlcyBnbGliLTIuMCIKKworU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYnVpbGQtZ2VudGFibGVzLWhlbHBlci13ZS1oYXZlLXRvLXVzZS1uYXRpdmUtLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1mbHVpZF9zeW50aF9ud3JpdGVfZmxvYXQtQWxsb3ctemVyby1wb2ludGVyLWZvci1sZWZ0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1Vc2UtQVJNLU5FT04tYWNjZWxhcmF0aW9uLWZvci1mbG9hdC1tdWx0aXRocmVhZGVkLXNlLnBhdGNoIFwKKyIKKworRVhUUkFfT0VDTUFLRSA9ICItRGVuYWJsZS1mbG9hdHM9T04gLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSIKKworZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKKyAgICBtYWtlX3RhYmxlcy5leGUgJHtCfS8KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0iCitQQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi1EZW5hYmxlLWxpYnNuZGZpbGU9T04sLURlbmFibGUtbGlic25kZmlsZT1PRkYsbGlic25kZmlsZTEiCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi1EZW5hYmxlLWphY2s9T04sLURlbmFibGUtamFjaz1PRkYsamFjayIKK1BBQ0tBR0VDT05GSUdbcHVsc2VhdWRpb10gPSAiLURlbmFibGUtcHVsc2VhdWRpbz1PTiwtRGVuYWJsZS1wdWxzZWF1ZGlvPU9GRixwdWxzZWF1ZGlvIgorUEFDS0FHRUNPTkZJR1twb3J0YXVkaW9dID0gIi1EZW5hYmxlLXBvcnRhdWRpbz1PTiwtRGVuYWJsZS1wb3J0YXVkaW89T0ZGLHBvcnRhdWRpby12MTkiCitQQUNLQUdFQ09ORklHW3Byb2ZpbGluZ10gPSAiLURlbmFibGUtcHJvZmlsaW5nPU9OLC1EZW5hYmxlLXByb2ZpbGluZz1PRkYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dlcmJlcmEvZ2VyYmVyYV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dlcmJlcmEvZ2VyYmVyYV9naXQuYmIKaW5kZXggZjc2M2NmMS4uOWM3OGRhMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nZXJiZXJhL2dlcmJlcmFfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ2VyYmVyYS9nZXJiZXJhX2dpdC5iYgpAQCAtNywyMCArNywyMSBAQAogICAgIGZpbGU6Ly9nZXJiZXJhLnNlcnZpY2UgXAogIgogCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCi1TUkNSRVYgPSAiNDQzNWIxNjVkMTIxMTk1YWVmZDY3ZDAyODdmN2Y5MzQ5ZTE4MWQ0NSIKK1BWID0gIjEuMy4wK2dpdCR7U1JDUFZ9IgorIyB2MS4zLjAKK1NSQ1JFViA9ICJjN2E4MWZiNDFlNDQ2ZWU2N2IzZWFjOTBlMmNhZWNkNmRlNjUxYTE2IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1ERVBFTkRTID0gImV4cGF0IHpsaWIgY3VybCBsaWJ1cG5wIGUyZnNwcm9ncyBzcWxpdGUzICIKK0RFUEVORFMgPSAiZXhwYXQgemxpYiBjdXJsIGxpYnVwbnAgZTJmc3Byb2dzIHNxbGl0ZTMgbGlibnNsMiIKIAogU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImdlcmJlcmEuc2VydmljZSIKIAogaW5oZXJpdCBjbWFrZSBzeXN0ZW1kCiAKLVBBQ0tBR0VDT05GSUcgPSAiIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi1EV0lUSF9TWVNURU1EPVRSVUUsLURXSVRIX1NZU1RFTUQ9RkFMU0Usc3lzdGVtZCIKIFBBQ0tBR0VDT05GSUdbdGFnbGliXSA9ICItRFdJVEhfVEFHTElCPVRSVUUsLURXSVRIX1RBR0xJQj1GQUxTRSx0YWdsaWIiCi0KIEVYVFJBX09FQ01BS0UgPSAiLURXSVRIX0pTPUZBTFNFIC1EV0lUSF9NQUdJQz1GQUxTRSAtRFdJVEhfRVhJRj1GQUxTRSAtRExJQlVVSURfSU5DTFVERV9ESVJTPSR7U1RBR0lOR19JTkNESVJ9IC1ETElCVVVJRF9MSUJSQVJJRVM9LWx1dWlkIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wM18wLjEwLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZTJjZDJhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LWZsdWVuZG8tbXAzXzAuMTAuMzEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1yZXF1aXJlIGdzdC1mbHVlbmRvLmluYwotCi1TVU1NQVJZID0gIkZsdWVuZG8gY2xvc2VkLWZvcm1hdCBtcDMgR1N0cmVhbWVyIHBsdWctaW4iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI1OWE0M2RkMWM5ODU0YjcxZmMzOTZmNzQ2OTlmNGQyIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1HU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKLUVYVFJBX09FQ09ORiArPSAiJHtHU1RSRUFNRVJfREVCVUd9IC0td2l0aC1nc3RyZWFtZXItYXBpPTAuMTAiCi0KLWFjcGF0aHMgPSAiLUkgJHtTfS9jb21tb24vbTQgLUkgJHtTfS9tNCIKLQotU1JDX1VSSVttZDVzdW1dID0gImFkZjAzOTBmMzQxNmJiNzJmOTFjMzU4NTI4YmUwYzM4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZTBkMDU1OWE0ZTE1OWMwZGQ5MmI3ZTE4ZGUwNTlhNTc4M2Y4ZDAzODkwNGM3ZGU0Y2E2MzkzZjdkNTVjN2QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby1tcGVnZGVtdXhfMC4xMC44NS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JiYTQxYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLW1wZWdkZW11eF8wLjEwLjg1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotcmVxdWlyZSBnc3QtZmx1ZW5kby5pbmMKLQotU1VNTUFSWSA9ICJGbHVlbmRvIE1QRUcgVHJhbnNwb3J0IFN0cmVhbSBhbmQgUHJvZ3JhbSBTdHJlYW0gZGVtdXhlciBmb3IgR1N0cmVhbWVyIgotTElDRU5TRSA9ICJNUEx2MS4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmUyODJmMWMzY2M5YTk4Y2MwZGM1YzJiMjVkZmM1MTAgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dzdG1wZWdkZW11eC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTk7bWQ1PWE5ZTkwMDMzZjU5ODk3YjkxNjY0ZDlmMmEyZmYwMWRkIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1hY3BhdGhzID0gIi1JICR7U30vY29tbW9uL200IC1JICR7U30vbTQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3YzRmYjk5M2Y4MGI5YWU2MzFiMTE4OTc3MzNmMDk3MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkZjA0YzkxY2M4ZTVkOWE4OTJjMjQ5MmVkOTg5OTc0YjQ1NDdiZWFhMmEzNjQ3NjQ5ZTg1MTEzMzE3ODk3NDI0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtZmx1ZW5kby5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2E3N2Q2Mi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1mbHVlbmRvLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVNVTU1BUlkgPSAiRmx1ZW5kbyBjbG9zZWQtZm9ybWF0IEdTdHJlYW1lciBwbHVnLWluIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9jb3JlLmZsdWVuZG8uY29tL2dzdHJlYW1lci90cmFjL3dpa2kiCi1ERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIHpsaWIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TUkNfVVJJID0gImh0dHA6Ly9jb3JlLmZsdWVuZG8uY29tL2dzdHJlYW1lci9zcmMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWciCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhICR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmEiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdmFsZ3JpbmQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1tZXRhLWJhc2VfMC4xMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGYxYWJmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW1ldGEtYmFzZV8wLjEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotU1VNTUFSWSA9ICJHU3RyZWFtZXIgcGFja2FnZSBncm91cHMiCi1MSUNFTlNFID0gIk1JVCIKLQotQ09NTUVSQ0lBTF9QTFVHSU5TID0gIiR7Q09NTUVSQ0lBTF9BVURJT19QTFVHSU5TfSAke0NPTU1FUkNJQUxfVklERU9fUExVR0lOU30iCi1ERVBFTkRTX1VHTFk9IiR7QCdnc3QtcGx1Z2lucy11Z2x5JyBpZiAndWdseScgaW4gQ09NTUVSQ0lBTF9QTFVHSU5TLnNwbGl0KCctJykgZWxzZSAnJ30iCi1ERVBFTkRTX0JBRD0iJHtAJ2dzdC1wbHVnaW5zLWJhZCcgaWYgJ2JhZCcgaW4gQ09NTUVSQ0lBTF9QTFVHSU5TLnNwbGl0KCctJykgZWxzZSAnJ30iCi1ERVBFTkRTID0gImdzdHJlYW1lciBnc3QtcGx1Z2lucy1iYXNlIGdzdC1wbHVnaW5zLWdvb2QgJHtERVBFTkRTX1VHTFl9ICR7REVQRU5EU19CQUR9IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vTUlUO21kNT0wODM1YWRlNjk4ZTBiY2Y4NTA2ZWNkYTJmN2I0ZjMwMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKLQotCi1QUiA9ICJyMTMiCi0KLVBBQ0tBR0VTID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtbWV0YS14MTEtYmFzZSBcCi0gICAgZ3N0LW1ldGEtYXVkaW8gXAotICAgIGdzdC1tZXRhLWRlYnVnIFwKLSAgICBnc3QtbWV0YS12aWRlbyIKLQotQUxMT1dfRU1QVFlfZ3N0LW1ldGEtYmFzZSA9ICIxIgotQUxMT1dfRU1QVFlfZ3N0LW1ldGEteDExLWJhc2UgPSAiMSIKLUFMTE9XX0VNUFRZX2dzdC1tZXRhLWF1ZGlvID0gIjEiCi1BTExPV19FTVBUWV9nc3QtbWV0YS1kZWJ1ZyA9ICIxIgotQUxMT1dfRU1QVFlfZ3N0LW1ldGEtdmlkZW8gPSAiMSIKLQotUkRFUEVORFNfZ3N0LW1ldGEtYmFzZSA9ICJcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnZ3N0LW1ldGEteDExLWJhc2UnLCAnJywgZCl9IFwKLSAgICBnc3RyZWFtZXIgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtcGxheWJpbiBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1kZWNvZGViaW4gXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtZGVjb2RlYmluMiBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1naW8gXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtYWxzYSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS12b2x1bWUgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtYXVkaW9jb252ZXJ0IFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvcmVzYW1wbGUgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtdHlwZWZpbmRmdW5jdGlvbnMgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UtdmlkZW9zY2FsZSBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1mZm1wZWdjb2xvcnNwYWNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWF1dG9kZXRlY3QgXAotICAgIGdzdC1wbHVnaW5zLWdvb2Qtc291cGh0dHBzcmMiCi0KLVJSRUNPTU1FTkRTX2dzdC1tZXRhLXgxMS1iYXNlID0gIlwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXhpbWFnZXNpbmsgXAotICAgIGdzdC1wbHVnaW5zLWJhc2UteHZpbWFnZXNpbmsiCi0KLVJERVBFTkRTX2dzdC1tZXRhLWF1ZGlvID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXZvcmJpcyBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS1vZ2cgXAotICAgIGdzdC1wbHVnaW5zLWdvb2Qtd2F2cGFyc2UgXAotICAgIGdzdC1wbHVnaW5zLWdvb2QtZmxhYyBcCi0gICAgJHtDT01NRVJDSUFMX0FVRElPX1BMVUdJTlN9IgotCi0KLVJERVBFTkRTX2dzdC1tZXRhLWRlYnVnID0gIlwKLSAgICBnc3QtbWV0YS1iYXNlIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLWRlYnVnIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLWF1ZGlvdGVzdHNyYyBcCi0gICAgZ3N0LXBsdWdpbnMtYmFzZS12aWRlb3Rlc3RzcmMiCi0KLQotUkRFUEVORFNfZ3N0LW1ldGEtdmlkZW8gPSAiXAotICAgIGdzdC1tZXRhLWJhc2UgXAotICAgIGdzdC1wbHVnaW5zLWdvb2QtYXZpIFwKLSAgICBnc3QtcGx1Z2lucy1nb29kLW1hdHJvc2thIFwKLSAgICBnc3QtcGx1Z2lucy1iYXNlLXRoZW9yYSBcCi0gICAgJHtDT01NRVJDSUFMX1ZJREVPX1BMVUdJTlN9IgotCi1SUkVDT01NRU5EU19nc3QtbWV0YS12aWRlbyA9ICJcCi0gICAgZ3N0LW1ldGEtYXVkaW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L2djY180LjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3YTYzYjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3Qtb3Blbm1heC9nY2NfNC42LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KLQotSW5kZXg6IGdzdC1vcGVubWF4LTAuMTAuMS9vbXgvZ3N0b214LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3Qtb3Blbm1heC0wLjEwLjEub3JpZy9vbXgvZ3N0b214LmMJMjAxMC0wOS0zMCAxODowMDoyNC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBnc3Qtb3Blbm1heC0wLjEwLjEvb214L2dzdG9teC5jCTIwMTEtMDUtMTcgMjM6MDg6MDguNzk0NTM1ODcyIC0wNzAwCi1AQCAtMjM4LDcgKzIzOCw4IEBACi0gICAgIGNvbnN0IGdjaGFyICplbGVtZW50X25hbWUgPSBnc3Rfc3RydWN0dXJlX250aF9maWVsZF9uYW1lIChlbGVtZW50X3RhYmxlLCBpKTsKLSAgICAgR3N0U3RydWN0dXJlICplbGVtZW50ID0gZ2V0X2VsZW1lbnRfZW50cnkgKGVsZW1lbnRfbmFtZSk7Ci0gICAgIGNvbnN0IGdjaGFyICp0eXBlX25hbWUsICpwYXJlbnRfdHlwZV9uYW1lOwotLSAgICBjb25zdCBnY2hhciAqY29tcG9uZW50X25hbWUsICpjb21wb25lbnRfcm9sZSwgKmxpYnJhcnlfbmFtZTsKLSsgICAgY29uc3QgZ2NoYXIgKmNvbXBvbmVudF9uYW1lLCAqbGlicmFyeV9uYW1lOwotKyAgICBjb25zdCBnY2hhciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgKmNvbXBvbmVudF9yb2xlOwotICAgICBHVHlwZSB0eXBlOwotICAgICBnaW50IHJhbms7Ci0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4L3B0ci1hcnJheS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OTY1YmJhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXgvcHRyLWFycmF5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotUmVuYW1lIHN0YXRpYyBmdW5jdGlvbnMgdGhhdCB1c2UgR0xpYiBuYW1pbmcgY29udmVudGlvbnMgYXMgb25lIG9mIHRoZW0KLShnX3B0cl9hcnJheV9pbnNlcnQpIGhhcyBub3cgYmVlbiBhZGRlZCB0byBHTGliLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLWRpZmYgLS1naXQgYS9vbXgvZ3N0b214X3V0aWwuYyBiL29teC9nc3RvbXhfdXRpbC5jCi1pbmRleCA0MjNlNDQxLi41NzlkYmY1IDEwMDY0NAotLS0tIGEvb214L2dzdG9teF91dGlsLmMKLSsrKyBiL29teC9nc3RvbXhfdXRpbC5jCi1AQCAtODUsNyArODUsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gaW5pdGlhbGl6ZWQ7Ci0gICovCi0gCi0gc3RhdGljIHZvaWQKLS1nX3B0cl9hcnJheV9jbGVhciAoR1B0ckFycmF5ICogYXJyYXkpCi0rb214X2dfcHRyX2FycmF5X2NsZWFyIChHUHRyQXJyYXkgKiBhcnJheSkKLSB7Ci0gICBndWludCBpbmRleDsKLSAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IGFycmF5LT5sZW47IGluZGV4KyspCi1AQCAtOTMsNyArOTMsNyBAQCBnX3B0cl9hcnJheV9jbGVhciAoR1B0ckFycmF5ICogYXJyYXkpCi0gfQotIAotIHN0YXRpYyB2b2lkCi0tZ19wdHJfYXJyYXlfaW5zZXJ0IChHUHRyQXJyYXkgKiBhcnJheSwgZ3VpbnQgaW5kZXgsIGdwb2ludGVyIGRhdGEpCi0rb214X2dfcHRyX2FycmF5X2luc2VydCAoR1B0ckFycmF5ICogYXJyYXksIGd1aW50IGluZGV4LCBncG9pbnRlciBkYXRhKQotIHsKLSAgIGlmIChpbmRleCArIDEgPiBhcnJheS0+bGVuKSB7Ci0gICAgIGdfcHRyX2FycmF5X3NldF9zaXplIChhcnJheSwgaW5kZXggKyAxKTsKLUBAIC0zOTQsNyArMzk0LDcgQEAgZ19vbXhfY29yZV91bmxvYWQgKEdPbXhDb3JlICogY29yZSkKLSAgIH0KLSAKLSAgIGNvcmVfZm9yX2VhY2hfcG9ydCAoY29yZSwgZ19vbXhfcG9ydF9mcmVlKTsKLS0gIGdfcHRyX2FycmF5X2NsZWFyIChjb3JlLT5wb3J0cyk7Ci0rICBvbXhfZ19wdHJfYXJyYXlfY2xlYXIgKGNvcmUtPnBvcnRzKTsKLSB9Ci0gCi0gc3RhdGljIGlubGluZSBHT214UG9ydCAqCi1AQCAtNDE4LDcgKzQxOCw3IEBAIGdfb214X2NvcmVfbmV3X3BvcnQgKEdPbXhDb3JlICogY29yZSwgZ3VpbnQgaW5kZXgpCi0gICB9Ci0gCi0gICBwb3J0ID0gZ19vbXhfcG9ydF9uZXcgKGNvcmUsIGluZGV4KTsKLS0gIGdfcHRyX2FycmF5X2luc2VydCAoY29yZS0+cG9ydHMsIGluZGV4LCBwb3J0KTsKLSsgIG9teF9nX3B0cl9hcnJheV9pbnNlcnQgKGNvcmUtPnBvcnRzLCBpbmRleCwgcG9ydCk7Ci0gCi0gICByZXR1cm4gcG9ydDsKLSB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1vcGVubWF4XzAuMTAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTAxNTc5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LW9wZW5tYXhfMC4xMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJHU3RyZWFtZXIgcGx1Zy1pbiBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIE9wZW5NQVggSUwgY29tcG9uZW50cyIKLURFU0NSSVBUSU9OID0gIkdzdE9wZW5NQVggaXMgYSBHU3RyZWFtZXIgcGx1Zy1pbiB0aGF0IGFsbG93cyBcCi1jb21tdW5pY2F0aW9uIHdpdGggT3Blbk1BWCBJbnRlZ3JhdGlvbiBMYXllciAoSUwpIGNvbXBvbmVudHMuIE9wZW5NQVggXAotSUwgaXMgYW4gaW5kdXN0cnkgc3RhbmRhcmQgdGhhdCBwcm92aWRlcyBhbiBhYnN0cmFjdGlvbiBsYXllciBmb3IgXAotY29tcHV0ZXIgZ3JhcGhpY3MsIHZpZGVvLCBhbmQgc291bmQgcm91dGluZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL0dzdE9wZW5NQVgiCi1ERVBFTkRTID0gImdzdHJlYW1lciIKLVJERVBFTkRTXyR7UE59ID0gImxpYm9teGlsIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3V0aWwvc2VtLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWNjY2U1NTUwZDU1ODNiODM5YjQ0MWEwNjIzZjA5ZmMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjL2dzdC1vcGVubWF4L2dzdC1vcGVubWF4LSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vZ2NjXzQuNi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdHItYXJyYXkucGF0Y2ggXAotICAgICAgICAgICAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi0jIFRlbGwgY29uZmlndXJlIHRoYXQgdGhpcyBpc24ndCBhIGRldmVsb3BtZW50IHNuYXBzaG90IHNvIHdlIGRvbid0IHdhbnQKLSMgLVdlcnJvciAoaG9wZWZ1bGx5IGZpeGVkIGluIDAuMTAuMikKLWV4cG9ydCBHU1RfQ1ZTPSJubyIKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtdmFsZ3JpbmQiCi0KLVBSID0gInI0IgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5zbyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5sYSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwL2xpYmdzdG9teC5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnLyIKLQotU1JDX1VSSVttZDVzdW1dID0gIjRkMDM3MGJmZTk5ZGVhMjA5MThjODQzNDdhYmFkYjRlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkwNzRkNWEwNTkxOTk1MTMzZDE5Y2ZiMTUxNDRmMTk2NjRmOTAyYzE2MjNmOTk2NTk1Njk1Y2YyYzIwNzBlMWYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWQvYnVmZmVyLW92ZXJmbG93LW1wNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM1YWNkYS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZC9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRGVzY3JpcHRpb246IEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gbXA0IHBhcnNpbmcKLUF1dGhvcjogUmFscGggR2lsZXMgPGdpbGVzQG1vemlsbGEuY29tPgotLS0tCi1CYWNrcG9ydCBwYXRjaCBmcm9tIGRlYmlhbiB0byBmaXggQ1ZFLTIwMTUtMDc5Ny4KLWh0dHBzOi8vc291cmNlcy5kZWJpYW4ubmV0L2RhdGEvbWFpbi9nL2dzdC1wbHVnaW5zLWJhZDAuMTAvMC4xMC4yMy03LjErZGViN3UyL2RlYmlhbi9wYXRjaGVzL2J1ZmZlci1vdmVyZmxvdy1tcDQucGF0Y2gKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotLS0tIGdzdC1wbHVnaW5zLWJhZDAuMTAtMC4xMC4yMy5vcmlnL2dzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKLSsrKyBnc3QtcGx1Z2lucy1iYWQwLjEwLTAuMTAuMjMvZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwotQEAgLTM4NCw2ICszODQsMTEgQEAgZ3N0X2gyNjRfcGFyc2Vfd3JhcF9uYWwgKEdzdEgyNjRQYXJzZSAqCi0gCi0gICBHU1RfREVCVUdfT0JKRUNUIChoMjY0cGFyc2UsICJuYWwgbGVuZ3RoICVkIiwgc2l6ZSk7Ci0gCi0rICBpZiAoc2l6ZSA+IEdfTUFYVUlOVDMyIC0gbmwpIHsKLSsgICAgR1NUX0VMRU1FTlRfRVJST1IgKGgyNjRwYXJzZSwgU1RSRUFNLCBGQUlMRUQsIChOVUxMKSwKLSsgICAgICAgICgib3ZlcmZsb3cgaW4gbmFsIHNpemUiKSk7Ci0rICAgIHJldHVybiBOVUxMOwotKyAgfQotICAgYnVmID0gZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jIChzaXplICsgbmwgKyA0KTsKLSAgIGlmIChmb3JtYXQgPT0gR1NUX0gyNjRfUEFSU0VfRk9STUFUX0FWQykgewotICAgICBHU1RfV1JJVEVfVUlOVDMyX0JFIChHU1RfQlVGRkVSX0RBVEEgKGJ1ZiksIHNpemUgPDwgKDMyIC0gOCAqIG5sKSk7Ci1AQCAtNDUyLDYgKzQ1NywxMSBAQCBnc3RfaDI2NF9wYXJzZV9wcm9jZXNzX25hbCAoR3N0SDI2NFBhcnNlCi0gICAgIEdTVF9ERUJVR19PQkpFQ1QgKGgyNjRwYXJzZSwgIm5vdCBwcm9jZXNzaW5nIG5hbCBzaXplICV1IiwgbmFsdS0+c2l6ZSk7Ci0gICAgIHJldHVybjsKLSAgIH0KLSsgIGlmIChHX1VOTElLRUxZIChuYWx1LT5zaXplID4gMjAgKiAxMDI0ICogMTAyNCkpIHsKLSsgICAgR1NUX0RFQlVHX09CSkVDVCAoaDI2NHBhcnNlLCAibm90IHByb2Nlc3NpbmcgbmFsIHNpemUgJXUgKHRvbyBiaWcpIiwKLSsgICAgICAgIG5hbHUtPnNpemUpOwotKyAgICByZXR1cm47Ci0rICB9Ci0gCi0gICAvKiB3ZSBoYXZlIGEgcGVlayBhcyB3ZWxsICovCi0gICBuYWxfdHlwZSA9IG5hbHUtPnR5cGU7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZF8wLjEwLjIzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYWRfMC4xMC4yMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhmY2NjOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhZF8wLjEwLjIzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrICYgTEdQTHYyLjErICIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC90dGEvZmlsdGVycy5oO2JlZ2lubGluZT0xMjtlbmRsaW5lPTI5O21kNT02MjliMGM3YTY2NWQxNTVhNjY3Nzc3OGY0NDYwZWMwNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3R0YS9jcmMzMi5oO2JlZ2lubGluZT0xMjtlbmRsaW5lPTI5O21kNT03MWE5MDRkOTljZTdhZTBjMWNmMTI5ODkxYjk4MTQ1YyIKLQotREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSIKLQotUFIgPSAicjQiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9idWZmZXItb3ZlcmZsb3ctbXA0LnBhdGNoIgotCi1pbmhlcml0IGdldHRleHQgZ3NldHRpbmdzCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWV4cGVyaW1lbnRhbCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zZGwgLS1kaXNhYmxlLWNkYXVkaW8gLS1kaXNhYmxlLWRpcmVjdGZiIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZkcGF1IC0tZGlzYWJsZS1hcGV4c2luayIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImJ6aXAgY3VybCBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAncnN2ZycsICcnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbYnppcF0gPSAiLS1lbmFibGUtYnoyLC0tZGlzYWJsZS1iejIsYnppcDIiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsY3VybCIKLVBBQ0tBR0VDT05GSUdbcnN2Z10gPSAiLS1lbmFibGUtcnN2ZywtLWRpc2FibGUtcnN2ZyxsaWJyc3ZnLCIKLVBBQ0tBR0VDT05GSUdbb3JjXSA9ICItLWVuYWJsZS1vcmMsLS1kaXNhYmxlLW9yYyxvcmMiCi1QQUNLQUdFQ09ORklHW25lb25dID0gIi0tZW5hYmxlLW5lb24sLS1kaXNhYmxlLW5lb24sbmVvbiIKLVBBQ0tBR0VDT05GSUdbbW1zXSA9ICItLWVuYWJsZS1saWJtbXMsLS1kaXNhYmxlLWxpYm1tcyxsaWJtbXMiCi1QQUNLQUdFQ09ORklHW2NvZ10gPSAiLS1lbmFibGUtY29nLC0tZGlzYWJsZS1jb2csbGlicG5nIgotUEFDS0FHRUNPTkZJR1tmYWFkXSA9ICItLWVuYWJsZS1mYWFkLC0tZGlzYWJsZS1mYWFkLGZhYWQyIgotUEFDS0FHRUNPTkZJR1tqcDJrXSA9ICItLWVuYWJsZS1qcDJrLC0tZGlzYWJsZS1qcDJrLGphc3BlciIKLVBBQ0tBR0VDT05GSUdbbW9kcGx1Z10gPSAiLS1lbmFibGUtbW9kcGx1ZywtLWRpc2FibGUtbW9kcGx1ZyxsaWJtb2RwbHVnIgotUEFDS0FHRUNPTkZJR1tvcHVzXSA9ICItLWVuYWJsZS1vcHVzLC0tZGlzYWJsZS1vcHVzLGxpYm9wdXMiCi1QQUNLQUdFQ09ORklHW3NuZGZpbGVdID0gIi0tZW5hYmxlLXNuZGZpbGUsLS1kaXNhYmxlLXNuZGZpbGUsbGlic25kZmlsZTEiCi1QQUNLQUdFQ09ORklHW3ZwOF0gPSAiLS1lbmFibGUtdnA4LC0tZGlzYWJsZS12cDgsbGlidnB4IgotUEFDS0FHRUNPTkZJR1thc3NdID0gIi0tZW5hYmxlLWFzc3JlbmRlciwtLWRpc2FibGUtYXNzcmVuZGVyLGxpYmFzcyIKLVBBQ0tBR0VDT05GSUdbb3BlbmFsXSA9ICItLWVuYWJsZS1vcGVuYWwsLS1kaXNhYmxlLW9wZW5hbCxvcGVuYWwtc29mdCIKLVBBQ0tBR0VDT05GSUdbc2Nocm9dID0gIi0tZW5hYmxlLXNjaHJvLC0tZGlzYWJsZS1zY2hybyxzY2hyb2VkaW5nZXIiCi1QQUNLQUdFQ09ORklHW2RjMTM5NF0gPSAiLS1lbmFibGUtZGMxMzk0LC0tZGlzYWJsZS1kYzEzOTQsbGliZGMxMzk0IgotUEFDS0FHRUNPTkZJR1tmYWFjXSA9ICItLWVuYWJsZS1mYWFjLC0tZGlzYWJsZS1mYWFjLGZhYWMiCi1QQUNLQUdFQ09ORklHW3J0bXBdID0gIi0tZW5hYmxlLXJ0bXAsLS1kaXNhYmxlLXJ0bXAscnRtcGR1bXAiCi1QQUNLQUdFQ09ORklHW3ZvYW1yd2JlbmNdID0gIi0tZW5hYmxlLXZvYW1yd2JlbmMsLS1kaXNhYmxlLXZvYW1yd2JlbmMsdm8tYW1yd2JlbmMiCi1QQUNLQUdFQ09ORklHW3ZvYWFjZW5jXSA9ICItLWVuYWJsZS12b2FhY2VuYywtLWRpc2FibGUtdm9hYWNlbmMsdm8tYWFjZW5jIgotUEFDS0FHRUNPTkZJR1tyZXNpbmR2ZF0gPSAiLS1lbmFibGUtcmVzaW5kdmQsLS1kaXNhYmxlLXJlc2luZHZkLGxpYmR2ZG5hdiBsaWJkdmRyZWFkIgotUEFDS0FHRUNPTkZJR1t6YmFyXSA9ICItLWVuYWJsZS16YmFyLC0tZGlzYWJsZS16YmFyLHpiYXIganBlZyIKLQotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCi0KLVBBQ0tBR0VTID0rICIke1BOfS1yZXNpbmR2ZCIKLUZJTEVTXyR7UE59LXJlc2luZHZkID0gIiR7bGliZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9saWJyZXNpbmR2ZC5zbyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0ke0xJQlZ9L2xpYnJlc2luZHZkLmxhIgotRklMRVNfJHtQTn0tdm9hbXJ3YmVuYyArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItJHtMSUJWfS9wcmVzZXRzL0dzdFZvQW1yd2JFbmMucHJzIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiZmNiMDk3OTgxMTQ0NjE5NTUyNjBlNGQ5NDBkYjU5ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGVhZTdkMWExMzU3YWU4Mzc3ZmRlZDZhMWI0MmU2NjM4ODdiZWFiZTBlNmNjMzM2ZTJlZjlhZGE0MmUxMTQ5MSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2LzAwMDEtYWNsb2NhbC5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi8wMDAxLWFjbG9jYWwubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWZiZWM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2LzAwMDEtYWNsb2NhbC5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDU0NzhlYWZlY2Y2MThjZDhlNzQyY2MxYjk2ZDY4OGEyYzdjZTVhNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDIgT2N0IDIwMTYgMjE6NDk6MzMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gZ3N0LWdsaWIyLm00OiBkb24ndCBkbyBjcmF6eSB0aGluZ3MgdG8gR0xJQl9DRkxBR1MKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotd2UgYXJlIGRlZmluaXRlbHkgbm90IG9uZSBvZiB0aG9zZSBwb29yIHNvdWxzIG1lbnRpb25lZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotLS0tCi0gY29tbW9uL200L2dzdC1nbGliMi5tNCB8IDEgLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00IGIvY29tbW9uL200L2dzdC1nbGliMi5tNAotaW5kZXggYjAxZjAyZi4uNDU2OWFlNSAxMDA2NDQKLS0tLSBhL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLSsrKyBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLUBAIC02OSw3ICs2OSw2IEBAIEFDX0RFRlVOKFtBR19HU1RfR0xJQl9DSEVDS10sCi0gICBmaQotIAotICAgZG5sIGZvciB0aGUgcG9vciBzb3VscyB3aG8gZm9yIGV4YW1wbGUgaGF2ZSBnbGliIGluIC91c3IvbG9jYWwKLS0gIEFTX1NDUlVCX0lOQ0xVREUoR0xJQl9DRkxBR1MpCi0gCi0gICBBQ19TVUJTVChHTElCX0VYVFJBX0NGTEFHUykKLSBdKQotLS0gCi0yLjUuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTIxNDI1Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9hdWRpb3Jlc2FtcGxlLUZpeC1idWlsZC1vbi14ODYtaWYtZW1taW50cmluLmgtaXMtYXZhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotYXVkaW9yZXNhbXBsZTogRml4IGJ1aWxkIG9uIHg4NiBpZiBlbW1pbnRyaW4uaCBpcyBhdmFpbGFibGUgYnV0IGNhbid0IGJlIHVzZWQKLQotT24geDg2LCBFTU1JTlRSSU4gaXMgZGVmaW5lZCBidXQgbm90IHVzYWJsZSB3aXRob3V0IFNTRSBzbyBjaGVjayBmb3IKLV9fU1NFX18gYW5kIF9fU1NFMl9fIGFzIHdlbGwuCi0KLWh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA2OTAKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYyB8ICAgIDQgKystLQotIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYyBiL2dzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmMKLWluZGV4IDk4ZDAwNmMuLjQ4MWZhMDEgMTAwNjQ0Ci0tLS0gYS9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jCi0rKysgYi9nc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jCi1AQCAtNzcsMTMgKzc3LDEzIEBACi0gI2RlZmluZSBFWFBPUlQgR19HTlVDX0lOVEVSTkFMCi0gCi0gI2lmZGVmIF9VU0VfU1NFCi0tI2lmbmRlZiBIQVZFX1hNTUlOVFJJTl9ICi0rI2lmICFkZWZpbmVkKF9fU1NFX18pIHx8ICFkZWZpbmVkKEhBVkVfWE1NSU5UUklOX0gpCi0gI3VuZGVmIF9VU0VfU1NFCi0gI2VuZGlmCi0gI2VuZGlmCi0gCi0gI2lmZGVmIF9VU0VfU1NFMgotLSNpZm5kZWYgSEFWRV9FTU1JTlRSSU5fSAotKyNpZiAhZGVmaW5lZChfX1NTRTJfXykgfHwgIWRlZmluZWQoSEFWRV9FTU1JTlRSSU5fSCkKLSAjdW5kZWYgX1VTRV9TU0UyCi0gI2VuZGlmCi0gI2VuZGlmCi0tLSAKLTEuNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2NvbmZpZ3VyZS5hYy1maXgtc3VicGFyc2UtcGx1Z2luLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4NjAyYzguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlLTAuMTAuMzYvY29uZmlndXJlLmFjLWZpeC1zdWJwYXJzZS1wbHVnaW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbc2ltaWxhciBwYXRjaCBieSBvdGhlciBhdXRob3IsIGJ1Z3ppbGxhXQotQnVndHJhY2tlci1VUkw6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM2MDAKLQotUHJlcGVuZCBQS0dfQ09ORklHX1NZU1JPT1QgdG8gaW5jbHVkZWRpciwgc28gY29uZmlndXJlIGRvZXNuJ3QKLXNlYXJjaCBmb3IgZ3N0Y29uZmlnLmggaW4gL3Vzci9pbmNsdWRlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE9iZXJyaXR0ZXIgPG9iaUBvcGVuZHJlYW1ib3gub3JnPgotLS0tCi0gY29uZmlndXJlLmFjIHwgICAgMiArLQotIDEgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAxOTAxYmNmLi40NjBmYjBhIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC00MzUsNyArNDM1LDcgQEAgQUdfR1NUX0NIRUNLX1BMVUdJTih2b2x1bWUpCi0gZG5sIGNoZWNrIGZvciBnc3RyZWFtZXIgY29yZSBmZWF0dXJlcyAoc3Vic3lzdGVtcykKLSBkbmwgRklYTUU6IHRoaXMgYXNzdW1lcyBzcmNkaXIgPT0gYnVpbGRkaXIgZm9yIHVuaW5zdGFsbGVkIHNldHVwcwotIEdTVF9DT05GSUdQQVRIPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWluY2x1ZGVkaXIgZ3N0cmVhbWVyLTAuMTBgIi9nc3QvZ3N0Y29uZmlnLmgiCi0tQUdfR1NUX1BBUlNFX1NVQlNZU1RFTV9ESVNBQkxFUygkR1NUX0NPTkZJR1BBVEgpCi0rQUdfR1NUX1BBUlNFX1NVQlNZU1RFTV9ESVNBQkxFUygkUEtHX0NPTkZJR19TWVNST09UX0RJUiRHU1RfQ09ORklHUEFUSCkKLSBBTV9DT05ESVRJT05BTChVU0VfWE1MLCB0ZXN0ICRHU1RfRElTQUJMRV9YTUwgIT0gIjEiKQotIAotIGRubCBkaXNhYmxlIHBsdWctaW5zIHRoYXQgcmVxdWlyZSBsaWJ4bWwyJ3MgSFRNTCBzdXBwb3J0IGlmIGl0IGlzIG5vdCBhdmFpbGFibGUKLS0tIAotMS43LjUuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2UtMC4xMC4zNi9nc3QtcGx1Z2lucy1iYXNlLXRyZW1vci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWRiYzlkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtYmFzZS0wLjEwLjM2L2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotUmVtb3ZlIC1EVFJFTU9SIG9wdGlvbiBzaW5jZSBUcmVtb3IgaGFzIGRyb3BwZWQgaXRzIGludGVybmFsCi1saWJvZ2cyLCBhbmQgZ3N0LXBsdWdpbnMtYmFzZSBoYXMgZGVwZW5kZW5jeSBvbiB0aGF0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0KLVNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTaGFuZSBXYW5nIDxzaGFuZS53YW5nQGludGVsLmNvbT4KLQotZGlmZiAtciA3MDA2NWZiNGUwODUgZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQotLS0tIGEvZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbQlUdWUgTWFyIDEzIDE2OjM2OjU2IDIwMTIgKzA4MDAKLSsrKyBiL2V4dC92b3JiaXMvTWFrZWZpbGUuYW0JVHVlIE1hciAxMyAxNjozODo1MyAyMDEyICswODAwCi1AQCAtMzAsNyArMzAsNyBAQAotIAlnc3R2b3JiaXNkZWMuYyBnc3R2b3JiaXNkZWNsaWIuYyBnc3R2b3JiaXNjb21tb24uYwotIGxpYmdzdGl2b3JiaXNkZWNfbGFfQ0ZMQUdTID0gXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpIFwKLS0JLURUUkVNT1IgJChJVk9SQklTX0NGTEFHUykKLSsJJChJVk9SQklTX0NGTEFHUykKLSBsaWJnc3Rpdm9yYmlzZGVjX2xhX0xJQkFERCA9IFwKLSAJJCh0b3BfYnVpbGRkaXIpL2dzdC1saWJzL2dzdC90YWcvbGliZ3N0dGFnLUBHU1RfTUFKT1JNSU5PUkAubGEgXAotIAkkKHRvcF9idWlsZGRpcikvZ3N0LWxpYnMvZ3N0L2F1ZGlvL2xpYmdzdGF1ZGlvLUBHU1RfTUFKT1JNSU5PUkAubGEgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1iYXNlXzAuMTAuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjIzNTQ2NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWJhc2VfMC4xMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2NvbW1vbi9jb3ZlcmFnZS9jb3ZlcmFnZS1yZXBvcnQucGw7YmVnaW5saW5lPTI7ZW5kbGluZT0xNzttZDU9NjIyOTIxZmZhZDhjYjE4YWI5MDZjNTYwNTI3ODhhM2YgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9mZm1wZWdjb2xvcnNwYWNlL3V0aWxzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OWM4M2EyMDBiOGU1OTdiMjZjYTI5ZGYyMGZjNmVjZDAiCi0KLURFUEVORFMgKz0gImFsc2EtbGliIGxpYm9nZyBsaWJ2b3JiaXMgbGlidGhlb3JhIHV0aWwtbGludXggdHJlbW9yIGdsaWItMi4wLW5hdGl2ZSIKLQotU1JDX1VSSSArPSAiZmlsZTovL2dzdC1wbHVnaW5zLWJhc2UtdHJlbW9yLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMtZml4LXN1YnBhcnNlLXBsdWdpbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYXVkaW9yZXNhbXBsZS1GaXgtYnVpbGQtb24teDg2LWlmLWVtbWludHJpbi5oLWlzLWF2YS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2xvY2FsLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3NzZjNzM4ODNlNTY3ZjY3YjljNGEyODQ3ZDhkMDQxYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2QzYjBmYThlOWI1OTVkYjhmNTE0ZWY3YzJiZGJjZDYzOWEwZDYzZDE1NGMwMGY4YzliNjA5MzIxZjQ5OTc2IgotCi1QUiA9ICJyOCIKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWZyZWV0eXBldGVzdCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKLVBBQ0tBR0VDT05GSUdbcGFuZ29dID0gIi0tZW5hYmxlLXBhbmdvLC0tZGlzYWJsZS1wYW5nbyxwYW5nbyIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14IC0tZW5hYmxlLXh2aWRlbywtLWRpc2FibGUteCAtLWRpc2FibGUteHZpZGVvLHZpcnR1YWwvbGlieDExIGxpYnh2IGxpYnNtIGxpYmljZSIKLVBBQ0tBR0VDT05GSUdbY2RwYXJhbm9pYV0gPSAiLS1lbmFibGUtY2RwYXJhbm9pYSwtLWRpc2FibGUtY2RwYXJhbm9pYSxjZHBhcmFub2lhIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtIC1mICR7U30vbTQvbGliLWxpbmsubTQKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vJHtCUE59IgotCi1DQUNIRURfQ09ORklHVVJFVkFSU19hcHBlbmRfeDg2ID0gIiBhY19jdl9oZWFkZXJfZW1taW50cmluX2g9bm8gYWNfY3ZfaGVhZGVyX3htbWludHJpbl9oPW5vIgotCi0jIC91c3IvYmluL2dzdC12aXN1YWxpc2UtMC4xMCBpcyBhIHBlcmwgc2NyaXB0LgotUkRFUEVORFNfJHtQTn0tYXBwcyArPSAicGVybCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2wvMDAwMS1jb25kaXRpb25hbC1nbC1mcmFtZWJ1ZmZlci11bmRlZmluZWQtdXNlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjMmY4OGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDE0ZDUxY2JlZmVmMTk3MzdlN2FiMmI2ODE4ZWUxZDNiZGIyNDhkMTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKZXJlbXkgU3Rhc2hsdWsgPGpzdGFzaGx1a0BkZWthcmVzZWFyY2guY29tPgotRGF0ZTogV2VkLCA2IEZlYiAyMDEzIDA5OjU5OjQ4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmRpdGlvbmFsIGdsIGZyYW1lYnVmZmVyIHVuZGVmaW5lZCB1c2UKLQotVGhlIE9wZW5HTCBleHRlbnNpb24gR0xfQVJCX2ZyYW1lYnVmZmVyX29iamVjdCBkZWZpbmVzIHRoZSBtYWNybwotR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVELiBUaGUgbWFjcm8gd2lsbCBvbmx5IG5lZWQgdG8gbWFwIHRvIGFuIGVycm9yCi1zdHJpbmcgaWYgdGhlIGV4dGVuc2lvbiBwcm92aWRlcyBmdW5jdGlvbnMgdGhhdCBtaWdodCByZXR1cm4gdGhlIG1hY3JvLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSmVyZW15IFN0YXNobHVrIDxqc3Rhc2hsdWtAZGVrYXJlc2VhcmNoLmNvbT4KLS0tLQotIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYyB8ICAgIDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMgYi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMKLWluZGV4IDNlZDBiNzEuLjY0YzZjMmMgMTAwNjQ0Ci0tLS0gYS9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmMKLSsrKyBiL2dzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYwotQEAgLTIxNzcsOSArMjE3NywxMSBAQCBnc3RfZ2xfZGlzcGxheV9jaGVja19mcmFtZWJ1ZmZlcl9zdGF0dXMgKHZvaWQpCi0gICAgICAgR1NUX0VSUk9SICgiR0xfRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TIik7Ci0gICAgICAgYnJlYWs7Ci0gCi0rI2lmIGRlZmluZWQoR0xfQVJCX2ZyYW1lYnVmZmVyX29iamVjdCkKLSAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUl9VTkRFRklORUQ6Ci0gICAgICAgR1NUX0VSUk9SICgiR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVEIik7Ci0gICAgICAgYnJlYWs7Ci0rI2VuZGlmCi0gCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgR1NUX0VSUk9SICgiR2VuZXJhbCBGQk8gZXJyb3IiKTsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsL3JwaS1lZ2wtZ2xlczItZGVwLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nbC9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RiMWM1YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsL3JwaS1lZ2wtZ2xlczItZGVwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotQ2hlY2sgZm9yIGhlYWRlciBhbmQgbGlicmFyeSBzZXBhcmF0ZWx5IGFuZCBjaGVjayBmb3IgR0xFU3YyIGJlZm9yZSBlZ2wKLXRoaXMgaXMgdG8gb3ZlcmNvbWUgYW4gYW5ub3lpbmcgaXNzdWUgd2l0aCBycGkvdXNlcmxhbmQgd2hlcmUgZWdsIGRlcGVuZHMKLW9uIHN5c21ib2xzIGZyb20gbGliR0xFU3YyCi0KLS1LaGVtCi1JbmRleDogZ3N0LXBsdWdpbnMtZ2wtMC4xMC4zL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdzdC1wbHVnaW5zLWdsLTAuMTAuMy5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIGdzdC1wbHVnaW5zLWdsLTAuMTAuMy9jb25maWd1cmUuYWMKLUBAIC0xODMsOCArMTgzLDEwIEBAIGNhc2UgJGhvc3QgaW4KLSAgICAgZWxzZQotICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0VHTC9lZ2wuaF0sIFtIQVZFX0VHTD15ZXNdLCBbSEFWRV9FR0w9bm9dKQotICAgICAgIGlmIHRlc3QgIngkSEFWRV9FR0wiID0gInh5ZXMiOyB0aGVuCi0tICAgICAgICBBR19HU1RfQ0hFQ0tfTElCSEVBREVSKEVHTCwgRUdMLCBlZ2xHZXRFcnJvciwsIEVHTC9lZ2wuaCwsIEFDX01TR19FUlJPUihbRUdMIGlzIHJlcXVpcmVkXSkpCi0tICAgICAgICBBR19HU1RfQ0hFQ0tfTElCSEVBREVSKEdMRVMyLCBHTEVTdjIsIGdsVGV4SW1hZ2UyRCwsIEdMRVMyL2dsMi5oLCwgQUNfTVNHX0VSUk9SKFtPcGVuR0xFUzIgaXMgcmVxdWlyZWRdKSkKLSsgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0dMRVMyL2dsMi5oXSwsIEFDX01TR19FUlJPUihbT3BlbkdMRVMyIGlzIHJlcXVpcmVkXSkpCi0rICAgICAgICBBQ19DSEVDS19MSUIoR0xFU3YyLFtnbFRleEltYWdlMkRdLCwgQUNfTVNHX0VSUk9SKFtPcGVuR0xFUzIgaXMgcmVxdWlyZWRdKSkKLSsgICAgICAgIEFDX0NIRUNLX0hFQURFUlMoW0VHTC9lZ2wuaF0sLCBBQ19NU0dfRVJST1IoW0VHTCBpcyByZXF1aXJlZF0pKQotKyAgICAgICAgQUNfQ0hFQ0tfTElCKEVHTCxbZWdsR2V0RXJyb3JdLCwgQUNfTVNHX0VSUk9SKFtFR0wgaXMgcmVxdWlyZWRdKSkKLSAgICAgICAgIEdMX0xJQlM9IiRMSUJTICRYX0xJQlMgLWxFR0wgLWxHTEVTdjIiCi0gICAgICAgICBHTF9CQUNLRU5EPXgxMUVTMgotICAgICAgICAgR0xfVFlQRT1nbGVzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdsXzAuMTAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmM2VhZjMwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ2xfMC4xMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrICYgTEdQTHYyLjErICIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1Y2E4MTdjY2I3ZDViNWI2NjM1NTY5MGU5YWJjNjA1IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYWM3MGVkZTEzZjc5OTc4ZDU2ZWFlZDhhYmFhM2M5MzgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDgzNDBiNmE0YjhhYmNlMTYzNDRhN2JjMzNlNzRhOTRmZGNjZTRmNTdlZjYzNDJjZGYyZjk0MWM0MjliZjIxMCIKLQotU1JDX1VSSSArPSAiIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsLWdsLWZyYW1lYnVmZmVyLXVuZGVmaW5lZC11c2UucGF0Y2ggXAotICAgICAgICAgICAgIGZpbGU6Ly9ycGktZWdsLWdsZXMyLWRlcC5wYXRjaCBcCi0iCi0KLURFUEVORFMgKz0gImdzdC1wbHVnaW5zLWJhc2UgdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2VnbCBqcGVnIGxpYnBuZyBnbGV3IgotCi1QUiA9ICJyNCIKLQotaW5oZXJpdCBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgotCi0jIFRoaXMgcGFja2FnZSBkb2Vzbid0IGhhdmUgYSBjb25maWd1cmUgc3dpdGNoIGZvciBFR0wgb3IgR0wsIHNvIGZvcmNpYmx5IHRlbGwKLSMgY29uZmlndXJlIHRoYXQgaXQgY2FuJ3QgZmluZCBnbC5oIHNvIGl0IGFsd2F5cyB1c2VzIEVHTC4gIElmL3doZW4gd2UgaGF2ZSBzb21lCi0jIHdheSBmb3IgbWFjaGluZXMgdG8gc3BlY2lmeSB0aGVpciBwcmVmZXJyZWQgR0wgZmxhdm91ciB0aGlzIGNhbiBiZQotIyBhdXRvbWF0aWNhbGx5IGFkYXB0ZWQuCi1FWFRSQV9PRUNPTkYgKz0gImFjX2N2X2hlYWRlcl9HTF9nbF9oPW5vIgotCi1BTExPV19FTVBUWV8ke1BOfSA9ICIxIgotQUxMT1dfRU1QVFlfJHtQTn0tYXBwcyA9ICIxIgotQUxMT1dfRU1QVFlfJHtQTn0tZ2xpYiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU2ZDNjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMi1maXgtYnVpbGQtd2l0aC1yZWNlbnQta2VybmVscy10aGUtdjRsMl9idWZmZXItaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMTJkMThmZTRlOThlN2MyMzJkNTliNTZkNTI5YTA1MjFmMjkzZmU2ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxMiAxODo1NDo0MiArMDIwMAotU3ViamVjdDogW1BBVENIXSB2NGwyOiBmaXggYnVpbGQgd2l0aCByZWNlbnQga2VybmVscywgdGhlIHY0bDJfYnVmZmVyIGlucHV0Ci0gZmllbGQgd2FzIHJlbW92ZWQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1bMV0gaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1nb29kL2NvbW1pdC8/aWQ9OWYyYWE4ZDQ3ZjgzNWVhMTU1YWFmNjM1ZjYxOGMwZmMxY2E4NzAxMgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci0tLS0KLSBzeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jIHwgICAgMSAtCi0gMSBmaWxlcyBjaGFuZ2VkLCAwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zeXMvdjRsMi9nc3R2NGwyYnVmZmVycG9vbC5jIGIvc3lzL3Y0bDIvZ3N0djRsMmJ1ZmZlcnBvb2wuYwotaW5kZXggYjgxYzZhNC4uNTFjYzBjZSAxMDA2NDQKLS0tLSBhL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKLSsrKyBiL3N5cy92NGwyL2dzdHY0bDJidWZmZXJwb29sLmMKLUBAIC0xODEsNyArMTgxLDYgQEAgZ3N0X3Y0bDJfYnVmZmVyX25ldyAoR3N0VjRsMkJ1ZmZlclBvb2wgKiBwb29sLCBndWludCBpbmRleCwgR3N0Q2FwcyAqIGNhcHMpCi0gICAgIEdTVF9MT0dfT0JKRUNUIChwb29sLT52NGwyZWxlbSwgIiAgTU1BUCBvZmZzZXQ6ICAldSIsCi0gICAgICAgICByZXQtPnZidWZmZXIubS5vZmZzZXQpOwotICAgR1NUX0xPR19PQkpFQ1QgKHBvb2wtPnY0bDJlbGVtLCAiICBsZW5ndGg6ICAgICV1IiwgcmV0LT52YnVmZmVyLmxlbmd0aCk7Ci0tICBHU1RfTE9HX09CSkVDVCAocG9vbC0+djRsMmVsZW0sICIgIGlucHV0OiAgICAgJXUiLCByZXQtPnZidWZmZXIuaW5wdXQpOwotIAotICAgZGF0YSA9IChndWludDggKikgdjRsMl9tbWFwICgwLCByZXQtPnZidWZmZXIubGVuZ3RoLAotICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsIHBvb2wtPnZpZGVvX2ZkLAotLS0gCi0xLjcuNi41Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtZ29vZC0wLjEwLjMxLzAwMDEtdjRsMl9jYWxscy1kZWZpbmUtVjRMMl9DSURfSENFTlRFUi1hbmQtVjRMMl9DSURfVkNFTi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmQwZGU1OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIGNjYjAxZGU4MDk2YTMyZDg2ZDQ3YjBkOTJlYzM0MTZjNTdlZTRkMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjIgQXVnIDIwMTMgMTI6MTU6NTQgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdjRsMl9jYWxsczogZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgYW5kIFY0TDJfQ0lEX1ZDRU5URVIKLQota2VybmVsIGNvbW1pdCAyNGI5ZjUwMTcgW1ttZWRpYV0gVjRMOiBSZW1vdmUgZGVwcmVjYXRlZCBpbWFnZSBjZW50ZXJpbmcgY29udHJvbHNdCi1yZW1vdmVkIHRoZSBkZWZpbml0aW9ucyBvZiBWNEwyX0NJRF9IQ0VOVEVSIGFuZCBWNEwyX0NJRF9WQ0VOVEVSIGFmdGVyIHRocmVlCi15ZWFycyBvZiBkZXByZWNpYXRpb24uCi0KLVRoZSBpb2N0bCB2YWx1ZXMgYXJlIHN0aWxsIGZyZWUsIGFuZCB0aGUgY2FzZSBzdGF0ZW1lbnQgd2hpY2ggcHJvY2Vzc2VzcyB0aGVtCi1pbiB2NGwyIHVzZXJzcGFjZSBmYWxscyB0aHJvdWdoIHRvIHRoZSBwcm9wZXIgcmVwbGFjZW1lbnQuIFNvIGluIHRoZSBzaG9ydAotdGVybSwgd2UgY2FuIGV4cGxpY2l0bHkgZGVmaW5lIHRoZW0gdXNpbmcgdGhlIG9sZCBhYnNvbHV0ZSB2YWx1ZXMsIGFuZCBldmVyeXRoaW5nCi13aWxsIHdvcmsuCi0KLVNpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3lzL3Y0bDIvdjRsMl9jYWxscy5jIHwgICAgOSArKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzL3Y0bDIvdjRsMl9jYWxscy5jIGIvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCi1pbmRleCAzMDliZmI2Li4zYzY0NTQ0IDEwMDY0NAotLS0tIGEvc3lzL3Y0bDIvdjRsMl9jYWxscy5jCi0rKysgYi9zeXMvdjRsMi92NGwyX2NhbGxzLmMKLUBAIC01NCwxMSArNTQsMTYgQEAKLSAjaW5jbHVkZSAiZ3N0L2dzdC1pMThuLXBsdWdpbi5oIgotIAotIC8qIFRob3NlIGFyZSBpb2N0bCBjYWxscyAqLwotKwotKy8qIFY0TDJfQ0lEX0hDRU5URVIgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBtYWlubGluZSBrZXJuZWwsIGJ1dAotKyAgIHRoZSBpb2N0bCBzcGFjZSBpcyBzdGlsbCBwcmVzZW50LiBTaW5jZSB0aGVzZSB2YWx1ZXMgZmFsbCB0aHJvdWdoCi0rICAgdG8gdGhlaXIgcmVwbGFjZW1lbnQsIGl0IGlzIHNhZmUgKGluIHRoZSBzaG9ydCB0ZXJtKSB0byByZS11c2UgdGhlCi0rICAgIG9sZCB2YWx1ZXMgZXhwbGljdGlseSAqLwotICNpZm5kZWYgVjRMMl9DSURfSENFTlRFUgotLSNkZWZpbmUgVjRMMl9DSURfSENFTlRFUiBWNEwyX0NJRF9IQ0VOVEVSX0RFUFJFQ0FURUQKLSsjZGVmaW5lIFY0TDJfQ0lEX0hDRU5URVIgVjRMMl9DSURfQkFTRSsyMgotICNlbmRpZgotICNpZm5kZWYgVjRMMl9DSURfVkNFTlRFUgotLSNkZWZpbmUgVjRMMl9DSURfVkNFTlRFUiBWNEwyX0NJRF9WQ0VOVEVSX0RFUFJFQ0FURUQKLSsjZGVmaW5lIFY0TDJfQ0lEX1ZDRU5URVIgVjRMMl9DSURfQkFTRSsyMwotICNlbmRpZgotIAotIEdTVF9ERUJVR19DQVRFR09SWV9FWFRFUk4gKHY0bDJfZGVidWcpOwotLS0gCi0xLjcuMTAuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2QtMC4xMC4zMS8wNDA3LW11bGF3ZGVjLWZpeC1pbnRlZ2VyLW92ZXJydW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4YjhlOTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kLTAuMTAuMzEvMDQwNy1tdWxhd2RlYy1maXgtaW50ZWdlci1vdmVycnVuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotRnJvbSBjZTk0YjJjMmI5MWI2ZGIxOTBjMTIxODYwZTEyYTZhZmFmY2U3YWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBOb3YgMjAxMiAxMjozODo0NCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQwNy80NDBdIG11bGF3ZGVjOiBmaXggaW50ZWdlciBvdmVycnVuCi0KLVRoZXJlIG1pZ2h0IGJlIG1vcmUgdGhhbiA2NTUzNSBzYW1wbGVzIGluIGEgY2h1bmsgb2YgZGF0YS4KLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzQ2OQotCi1Db21taXQgLSAzYmU0NWY3MDIyMDMxMGVjMWM2MGQ4MTlmOTBiNWYyYWUwM2I1ZDgzIGluIDAuMTAgYnJhbmNoCi0KLVVwc3RyZWFtIFN0YXR1czogIEJhY2twb3J0ZWQKLQotU2lnbmVkLW9mZi1ieTogUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KLS0tLQotIGdzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jIHwgICAgNiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ3N0L2xhdy9tdWxhdy1jb252ZXJzaW9uLmMgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYwotaW5kZXggOGFmYWU4MC4uMTkwYTlmNSAxMDA2NDQKLS0tLSBhL2dzdC9sYXcvbXVsYXctY29udmVyc2lvbi5jCi0rKysgYi9nc3QvbGF3L211bGF3LWNvbnZlcnNpb24uYwotQEAgLTUxLDkgKzUxLDEwIEBAIG11bGF3X2VuY29kZSAoZ2ludDE2ICogaW4sIGd1aW50OCAqIG91dCwgZ2ludCBudW1zYW1wbGVzKQotICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LAotICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3Ci0gICB9OwotLSAgZ2ludDE2IHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYSwgaTsKLSsgIGdpbnQxNiBzaWduLCBleHBvbmVudCwgbWFudGlzc2E7Ci0gICBnaW50MTYgc2FtcGxlOwotICAgZ3VpbnQ4IHVsYXdieXRlOwotKyAgZ2ludCBpOwotIAotICAgZm9yIChpID0gMDsgaSA8IG51bXNhbXBsZXM7IGkrKykgewotICAgICBzYW1wbGUgPSBpbltpXTsKLUBAIC0xMDIsNyArMTAzLDggQEAgbXVsYXdfZGVjb2RlIChndWludDggKiBpbiwgZ2ludDE2ICogb3V0LCBnaW50IG51bXNhbXBsZXMpCi0gICBzdGF0aWMgZ2ludDE2IGV4cF9sdXRbOF0gPSB7IDAsIDEzMiwgMzk2LCA5MjQsIDE5ODAsIDQwOTIsIDgzMTYsIDE2NzY0IH07Ci0gICBnaW50MTYgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhOwotICAgZ3VpbnQ4IHVsYXdieXRlOwotLSAgZ2ludDE2IGxpbmVhciwgaTsKLSsgIGdpbnQxNiBsaW5lYXI7Ci0rICBnaW50IGk7Ci0gCi0gICBmb3IgKGkgPSAwOyBpIDwgbnVtc2FtcGxlczsgaSsrKSB7Ci0gICAgIHVsYXdieXRlID0gaW5baV07Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy1nb29kXzAuMTAuMzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjk5M2NmYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLWdvb2RfMC4xMC4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLXJlcXVpcmUgZ3N0LXBsdWdpbnMuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY29tbW9uL2NvdmVyYWdlL2NvdmVyYWdlLXJlcG9ydC5wbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT02MjI5MjFmZmFkOGNiMThhYjkwNmM1NjA1Mjc4OGEzZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMzttZDU9YjYwZWJlZmQ1YjJmNWE4ZTBjYWI2YmZlZTM5MWE1ZmUiCi0KLVBSID0gInI4IgotCi1QQUNLQUdFQ09ORklHID89ICJqcGVnIHY0bCBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbyB4MTEnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZSwtLWRpc2FibGUtcHVsc2UscHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgotUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCi1QQUNLQUdFQ09ORklHW3dhdnBhY2tdID0gIi0tZW5hYmxlLXdhdnBhY2ssLS1kaXNhYmxlLXdhdnBhY2ssd2F2cGFjayIKLVBBQ0tBR0VDT05GSUdbZ2RrcGl4YnVmXSA9ICItLWVuYWJsZS1nZGtfcGl4YnVmLC0tZGlzYWJsZS1nZGtfcGl4YnVmLGdkay1waXhidWYiCi1QQUNLQUdFQ09ORklHW3Y0bF0gPSAiLS1lbmFibGUtZ3N0X3Y0bDIgLS13aXRoLWd1ZGV2LC0tZGlzYWJsZS1nc3RfdjRsMiAtLXdpdGhvdXQtZ3VkZXYsbGliZ3VkZXYiCi0jIHN1Yi1mZWF0dXJlIG9mIHY0bCwgYnV0IGNvbnRyb2wgc2VwYXJhdGVseSBzaW5jZSBsaWJ2NGwgaXMgbm90IHBhcnQgb2Ygb2UtY29yZQotUEFDS0FHRUNPTkZJR1tsaWJ2NGxdID0gIi0td2l0aC1saWJ2NGwyLC0td2l0aG91dC1saWJ2NGwyLGxpYnY0bCIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0tZW5hYmxlLWJ6MiwtLWRpc2FibGUtYnoyLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tvcmNdID0gIi0tZW5hYmxlLW9yYywtLWRpc2FibGUtb3JjLG9yYyIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14LC0tZGlzYWJsZS14LHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZGFtYWdlIgotUEFDS0FHRUNPTkZJR1tkdjEzOTRdID0gIi0tZW5hYmxlLWR2MTM5NCwtLWRpc2FibGUtZHYxMzk0LGxpYnJhdzEzOTQgbGliaWVjNjE4ODMgbGliYXZjMTM5NCIKLQotREVQRU5EUyArPSAiZ3N0LXBsdWdpbnMtYmFzZSBnY29uZiBjYWlybyBsaWJwbmcgemxpYiBsaWJpZDN0YWcgZmxhYyBcCi0gICAgICAgICAgICBzcGVleCBsaWJzb3VwLTIuNCBsaWJjYXAiCi0KLWluaGVyaXQgZ2V0dGV4dCBnY29uZgotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS12NGwyLWZpeC1idWlsZC13aXRoLXJlY2VudC1rZXJuZWxzLXRoZS12NGwyX2J1ZmZlci1pLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXY0bDJfY2FsbHMtZGVmaW5lLVY0TDJfQ0lEX0hDRU5URVItYW5kLVY0TDJfQ0lEX1ZDRU4ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzA0MDctbXVsYXdkZWMtZml4LWludGVnZXItb3ZlcnJ1bi5wYXRjaCBcCi0iCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1hYWxpYiAtLWRpc2FibGUtZXNkIC0tZGlzYWJsZS1zaG91dDIgLS1kaXNhYmxlLWxpYmNhY2EgLS1kaXNhYmxlLWhhbCBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtdGFnbGliIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIFRoaXMgbTQgZmlsZSBjb250YWlucyBuYXN0aW5lc3Mgd2hpY2ggY29uZmxpY3RzIHdpdGggbGlidG9vbCAyLjIuMgotICAgIHJtICR7U30vbTQvbGliLWxpbmsubTQgfHwgdHJ1ZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjRmOThhMjk0YTJiNTIxZTFiMjk0MTJiZGFkYWUyZTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2UyNzg0MGU0MGE3OTMyZWYyZGMwMzJkNzIwMWY5ZjQxYWZjYWYwYjQzN2RhZjVkMWQ0NGRjOTZkOWUzNWFjNiIKLQotRklMRVNfJHtQTn0tZ2NvbmZlbGVtZW50cyArPSAiJHtzeXNjb25mZGlyfS9nY29uZi9zY2hlbWFzL2dzdHJlYW1lci0wLjEwLnNjaGVtYXMiCi1GSUxFU18ke1BOfS1lcXVhbGl6ZXIgKz0gIiR7ZGF0YWRpcn0vZ3N0cmVhbWVyLTAuMTAvcHJlc2V0cy8qLnBycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAxLWNkaW8tY29tcGVuc2F0ZS1mb3ItbGliY2Rpby1zLXJlY2VudC1jZC10ZXh0LWFwaS1jaGEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjcyZmMwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAxLWNkaW8tY29tcGVuc2F0ZS1mb3ItbGliY2Rpby1zLXJlY2VudC1jZC10ZXh0LWFwaS1jaGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTMgKzAsMCBAQAotRnJvbSA2NDliZDkyY2QyNjAwNzE5ODYyYWQ1MTg5ODk5MjEyNDA5ZGQwYTY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVvbiBNZXJ0ZW4gTG9oc2UgPGxlb25AZ3JlZW4tc2lkZS5kZT4KLURhdGU6IFRodSwgMyBNYXkgMjAxMiAyMzo1MDozMCArMDEwMAotU3ViamVjdDogW1BBVENIXSBjZGlvOiBjb21wZW5zYXRlIGZvciBsaWJjZGlvJ3MgcmVjZW50IGNkLXRleHQgYXBpIGNoYW5nZXMKLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTExMgotCi1Db25mbGljdHM6Ci0KLQlleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gZXh0L2NkaW8vZ3N0Y2Rpby5jICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCi0gZXh0L2NkaW8vZ3N0Y2Rpby5oICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBleHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9jZGlvL2dzdGNkaW8uYyBiL2V4dC9jZGlvL2dzdGNkaW8uYwotaW5kZXggMmY1OGQxOC4uNDgzZWJmNSAxMDA2NDQKLS0tLSBhL2V4dC9jZGlvL2dzdGNkaW8uYwotKysrIGIvZXh0L2NkaW8vZ3N0Y2Rpby5jCi1AQCAtMzAsMTIgKzMwLDE2IEBACi0gR1NUX0RFQlVHX0NBVEVHT1JZIChnc3RfY2Rpb19kZWJ1Zyk7Ci0gCi0gdm9pZAotLWdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKEdzdE9iamVjdCAqIHNyYywgY2R0ZXh0X3QgKiBjZHRleHQsCi0rZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIGNkdGV4dCwgdHJhY2tfdCB0cmFjaywKLSAgICAgY2R0ZXh0X2ZpZWxkX3QgZmllbGQsIGNvbnN0IGdjaGFyICogZ3N0X3RhZywgR3N0VGFnTGlzdCAqKiBwX3RhZ3MpCi0gewotICAgY29uc3QgZ2NoYXIgKnR4dDsKLSAKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rICB0eHQgPSBjZHRleHRfZ2V0X2NvbnN0IChjZHRleHQsIGZpZWxkLCB0cmFjayk7Ci0rI2Vsc2UKLSAgIHR4dCA9IGNkdGV4dF9nZXRfY29uc3QgKGZpZWxkLCBjZHRleHQpOwotKyNlbmRpZgotICAgaWYgKHR4dCA9PSBOVUxMIHx8ICp0eHQgPT0gJ1wwJykgewotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJlbXB0eSBDRC1URVhUIGZpZWxkICV1ICglcykiLCBmaWVsZCwgZ3N0X3RhZyk7Ci0gICAgIHJldHVybjsKLUBAIC01Nyw2ICs2MSwxMiBAQCBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChHc3RPYmplY3QgKiBzcmMsIGNkdGV4dF90ICogY2R0ZXh0LAotIH0KLSAKLSBHc3RUYWdMaXN0ICoKLSsjaWYgTElCQ0RJT19WRVJTSU9OX05VTSA+IDgzCi0rZ3N0X2NkaW9fZ2V0X2NkdGV4dCAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIHQsIHRyYWNrX3QgdHJhY2spCi0rewotKyAgR3N0VGFnTGlzdCAqdGFncyA9IE5VTEw7Ci0rCi0rI2Vsc2UKLSBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCB0cmFja190IHRyYWNrKQotIHsKLSAgIEdzdFRhZ0xpc3QgKnRhZ3MgPSBOVUxMOwotQEAgLTY3LDE0ICs3NywyMiBAQCBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHc3RPYmplY3QgKiBzcmMsIENkSW8gKiBjZGlvLCB0cmFja190IHRyYWNrKQotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIGZvciB0cmFjayAldSIsIHRyYWNrKTsKLSAgICAgcmV0dXJuIE5VTEw7Ci0gICB9Ci0rI2VuZGlmCi0gCi0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9QRVJGT1JNRVIsIEdTVF9UQUdfQVJUSVNULCAmdGFncyk7Ci0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9USVRMRSwgR1NUX1RBR19USVRMRSwgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCB0cmFjaywgQ0RURVhUX0ZJRUxEX1BFUkZPUk1FUiwKLSsgICAgICBHU1RfVEFHX0FSVElTVCwgJnRhZ3MpOwotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCB0cmFjaywgQ0RURVhUX0ZJRUxEX1RJVExFLCBHU1RfVEFHX1RJVExFLAotKyAgICAgICZ0YWdzKTsKLSAKLSAgIHJldHVybiB0YWdzOwotIH0KLSAKLSB2b2lkCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotK2dzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBjZHRleHRfdCAqIHQsCi0rICAgIEdzdFRhZ0xpc3QgKiB0YWdzKQotK3sKLSsjZWxzZQotIGdzdF9jZGlvX2FkZF9jZHRleHRfYWxidW1fdGFncyAoR3N0T2JqZWN0ICogc3JjLCBDZElvICogY2RpbywgR3N0VGFnTGlzdCAqIHRhZ3MpCi0gewotICAgY2R0ZXh0X3QgKnQ7Ci1AQCAtODQsMTEgKzEwMiwxNCBAQCBnc3RfY2Rpb19hZGRfY2R0ZXh0X2FsYnVtX3RhZ3MgKEdzdE9iamVjdCAqIHNyYywgQ2RJbyAqIGNkaW8sIEdzdFRhZ0xpc3QgKiB0YWdzKQotICAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIGZvciBhbGJ1bSIpOwotICAgICByZXR1cm47Ci0gICB9Ci0rI2VuZGlmCi0gCi0tICAvKiBGSVhNRTogbWFwIENEVEVYVF9QRVJGT1JNRVIgdG8gR1NUX1RBR19BTEJVTV9BUlRJU1Qgb25jZSB3ZSBoYXZlIHRoYXQgKi8KLS0gIGdzdF9jZGlvX2FkZF9jZHRleHRfZmllbGQgKHNyYywgdCwgQ0RURVhUX1RJVExFLCBHU1RfVEFHX0FMQlVNLCAmdGFncyk7Ci0tICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIENEVEVYVF9HRU5SRSwgR1NUX1RBR19HRU5SRSwgJnRhZ3MpOwotLQotKyAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoc3JjLCB0LCAwLCBDRFRFWFRfRklFTERfUEVSRk9STUVSLAotKyAgICAgIEdTVF9UQUdfQUxCVU1fQVJUSVNULCAmdGFncyk7Ci0rICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9USVRMRSwgR1NUX1RBR19BTEJVTSwKLSsgICAgICAmdGFncyk7Ci0rICBnc3RfY2Rpb19hZGRfY2R0ZXh0X2ZpZWxkIChzcmMsIHQsIDAsIENEVEVYVF9GSUVMRF9HRU5SRSwgR1NUX1RBR19HRU5SRSwKLSsgICAgICAmdGFncyk7Ci0gICBHU1RfREVCVUcgKCJDRC1URVhUIGFsYnVtIHRhZ3M6ICUiIEdTVF9QVFJfRk9STUFULCB0YWdzKTsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZXh0L2NkaW8vZ3N0Y2Rpby5oIGIvZXh0L2NkaW8vZ3N0Y2Rpby5oCi1pbmRleCBlZjMxZWQwLi5jNmRhNTgwIDEwMDY0NAotLS0tIGEvZXh0L2NkaW8vZ3N0Y2Rpby5oCi0rKysgYi9leHQvY2Rpby9nc3RjZGlvLmgKLUBAIC0yNCwyMiArMjQsMzggQEAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotICNpbmNsdWRlIDxjZGlvL2NkaW8uaD4KLSAjaW5jbHVkZSA8Y2Rpby9jZHRleHQuaD4KLSsjaW5jbHVkZSA8Y2Rpby92ZXJzaW9uLmg+Ci0rCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPD0gODMKLSsgICNkZWZpbmUgQ0RURVhUX0ZJRUxEX1BFUkZPUk1FUiBDRFRFWFRfUEVSRk9STUVSCi0rICAjZGVmaW5lIENEVEVYVF9GSUVMRF9HRU5SRSAgICAgQ0RURVhUX0dFTlJFCi0rICAjZGVmaW5lIENEVEVYVF9GSUVMRF9USVRMRSAgICAgQ0RURVhUX1RJVExFCi0rI2VuZGlmCi0gCi0gR1NUX0RFQlVHX0NBVEVHT1JZX0VYVEVSTiAoZ3N0X2NkaW9fZGVidWcpOwotICNkZWZpbmUgR1NUX0NBVF9ERUZBVUxUIGdzdF9jZGlvX2RlYnVnCi0gCi0gdm9pZCAgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9maWVsZCAoR3N0T2JqZWN0ICAgICAgKiBzcmMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2R0ZXh0X3QgICAgICAgKiBjZHRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tfdCAgICAgICAgICB0cmFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfZmllbGRfdCAgIGZpZWxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICogZ3N0X3RhZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHc3RUYWdMaXN0ICAgICoqIHBfdGFncyk7Ci0gCi0gR3N0VGFnTGlzdCAgKiBnc3RfY2Rpb19nZXRfY2R0ZXh0ICAoR3N0T2JqZWN0ICAgICAgKiBzcmMsCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNkdGV4dF90ICAgICAgICogdCwKLSsjZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENkSW8gICAgICAgICAgICogY2RpbywKLSsjZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFja190ICAgICAgICAgIHRyYWNrKTsKLSAKLSB2b2lkICAgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHc3RPYmplY3QgICogc3JjLAotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZHRleHRfdCAgICogdCwKLSsjZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENkSW8gICAgICAgKiBjZGlvLAotKyNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdzdFRhZ0xpc3QgKiB0YWdzKTsKLSAKLSAjZW5kaWYgLyogX19HU1RfQ0RJT19IX18gKi8KLWRpZmYgLS1naXQgYS9leHQvY2Rpby9nc3RjZGlvY2RkYXNyYy5jIGIvZXh0L2NkaW8vZ3N0Y2Rpb2NkZGFzcmMuYwotaW5kZXggNjE1YTBjOC4uODMwODM5ZSAxMDA2NDQKLS0tLSBhL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKLSsrKyBiL2V4dC9jZGlvL2dzdGNkaW9jZGRhc3JjLmMKLUBAIC0yMDYsNiArMjA2LDkgQEAgZ3N0X2NkaW9fY2RkYV9zcmNfb3BlbiAoR3N0QXVkaW9DZFNyYyAqIGF1ZGlvY2RzcmMsIGNvbnN0IGdjaGFyICogZGV2aWNlKQotICAgR3N0Q2Rpb0NkZGFTcmMgKnNyYzsKLSAgIGRpc2Ntb2RlX3QgZGlzY21vZGU7Ci0gICBnaW50IGZpcnN0X3RyYWNrLCBudW1fdHJhY2tzLCBpOwotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgIGNkdGV4dF90ICpjZHRleHQ7Ci0rI2VuZGlmCi0gCi0gICBzcmMgPSBHU1RfQ0RJT19DRERBX1NSQyAoYXVkaW9jZHNyYyk7Ci0gCi1AQCAtMjQ0LDggKzI0NCwxOCBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RDZGRhQmFzZVNyYyAqIGNkZGFiYXNlc3JjLCBjb25zdCBnY2hhciAqIGRldmljZSkKLSAgIGlmIChzcmMtPnJlYWRfc3BlZWQgIT0gLTEpCi0gICAgIGNkaW9fc2V0X3NwZWVkIChzcmMtPmNkaW8sIHNyYy0+cmVhZF9zcGVlZCk7Ci0gCi0rI2lmIExJQkNESU9fVkVSU0lPTl9OVU0gPiA4MwotKyAgY2R0ZXh0ID0gY2Rpb19nZXRfY2R0ZXh0IChzcmMtPmNkaW8pOwotKwotKyAgaWYgKE5VTEwgPT0gY2R0ZXh0KQotKyAgICBHU1RfREVCVUdfT0JKRUNUIChzcmMsICJubyBDRC1URVhUIG9uIGRpc2MiKTsKLSsgIGVsc2UKLSsgICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHU1RfT0JKRUNUX0NBU1QgKHNyYyksIGNkdGV4dCwKLSsgICAgICAgIGNkZGFiYXNlc3JjLT50YWdzKTsKLSsjZWxzZQotICAgZ3N0X2NkaW9fYWRkX2NkdGV4dF9hbGJ1bV90YWdzIChHU1RfT0JKRUNUX0NBU1QgKHNyYyksIHNyYy0+Y2RpbywKLSAgICAgICBjZGRhYmFzZXNyYy0+dGFncyk7Ci0rI2VuZGlmCi0gCi0gICBHU1RfTE9HX09CSkVDVCAoc3JjLCAiJXUgdHJhY2tzLCBmaXJzdCB0cmFjazogJWQiLCBudW1fdHJhY2tzLCBmaXJzdF90cmFjayk7Ci0gCi1AQCAtMjUwLDggKzI2MywxNCBAQCBnc3RfY2Rpb19jZGRhX3NyY19vcGVuIChHc3RBdWRpb0NkU3JjICogYXVkaW9jZHNyYywgY29uc3QgZ2NoYXIgKiBkZXZpY2UpCi0gICAgICAqIHRoZSByaWdodCB0aGluZyBoZXJlIChmb3IgY2RkYiBpZCBjYWxjdWxhdGlvbnMgZXRjLiBhcyB3ZWxsKSAqLwotICAgICB0cmFjay5zdGFydCA9IGNkaW9fZ2V0X3RyYWNrX2xzbiAoc3JjLT5jZGlvLCBpICsgZmlyc3RfdHJhY2spOwotICAgICB0cmFjay5lbmQgPSB0cmFjay5zdGFydCArIGxlbl9zZWN0b3JzIC0gMTsgIC8qIC0xPyAqLwotKyNpZiBMSUJDRElPX1ZFUlNJT05fTlVNID4gODMKLSsgICAgaWYgKE5VTEwgIT0gY2R0ZXh0KQotKyAgICAgIHRyYWNrLnRhZ3MgPSBnc3RfY2Rpb19nZXRfY2R0ZXh0IChHU1RfT0JKRUNUIChzcmMpLCBjZHRleHQsCi0rICAgICAgICAgIGkgKyBmaXJzdF90cmFjayk7Ci0rI2Vsc2UKLSAgICAgdHJhY2sudGFncyA9IGdzdF9jZGlvX2dldF9jZHRleHQgKEdTVF9PQkpFQ1QgKHNyYyksIHNyYy0+Y2RpbywKLSAgICAgICAgIGkgKyBmaXJzdF90cmFjayk7Ci0rI2VuZGlmCi0gCi0gICAgIGdzdF9hdWRpb19jZF9zcmNfYWRkX3RyYWNrIChHU1RfQVVESU9fQ0RfU1JDIChzcmMpLCAmdHJhY2spOwotICAgfQotLS0gCi0yLjEuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHkvMDAwMi1GaXgtb3BlbmNvcmUtaW5jbHVkZS1wYXRocy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmQ2YTI2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseS8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotRnJvbSBlNjM0YmM2NDIwODI2Zjc2MGY2NTE5YTlmMTM0YzZhNGQzNDEyZWY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgotRGF0ZTogTW9uLCAxOSBPY3QgMjAxNSAxNToyNjoyNCArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXggb3BlbmNvcmUgaW5jbHVkZSBwYXRocwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtIC0gR1N0cmVhbWVyIDAuMTAgaXMgbm8gbG9uZ2VyIGJlaW5nIG1haW50YWluZWRdCi0KLVNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KLS0tLQotIGV4dC9hbXJuYi9hbXJuYmRlYy5oICAgIHwgMiArLQotIGV4dC9hbXJuYi9hbXJuYmVuYy5oICAgIHwgMiArLQotIGV4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oIHwgNCArKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvYW1ybmIvYW1ybmJkZWMuaCBiL2V4dC9hbXJuYi9hbXJuYmRlYy5oCi1pbmRleCAxZTgxODM5Li4wMWI3MTU0IDEwMDY0NAotLS0tIGEvZXh0L2Ftcm5iL2Ftcm5iZGVjLmgKLSsrKyBiL2V4dC9hbXJuYi9hbXJuYmRlYy5oCi1AQCAtMjIsNyArMjIsNyBAQAotIAotICNpbmNsdWRlIDxnc3QvZ3N0Lmg+Ci0gI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2RlY29kZXIuaD4KLS0jaW5jbHVkZSA8aW50ZXJmX2RlYy5oPgotKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJuYi9pbnRlcmZfZGVjLmg+Ci0gCi0gR19CRUdJTl9ERUNMUwotIAotZGlmZiAtLWdpdCBhL2V4dC9hbXJuYi9hbXJuYmVuYy5oIGIvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKLWluZGV4IDdmNjczYWMuLjViZTM5YjUgMTAwNjQ0Ci0tLS0gYS9leHQvYW1ybmIvYW1ybmJlbmMuaAotKysrIGIvZXh0L2Ftcm5iL2Ftcm5iZW5jLmgKLUBAIC0yMSw3ICsyMSw3IEBACi0gI2RlZmluZSBfX0dTVF9BTVJOQkVOQ19IX18KLSAKLSAjaW5jbHVkZSA8Z3N0L2dzdC5oPgotLSNpbmNsdWRlIDxpbnRlcmZfZW5jLmg+Ci0rI2luY2x1ZGUgPG9wZW5jb3JlLWFtcm5iL2ludGVyZl9lbmMuaD4KLSAjaW5jbHVkZSA8Z3N0L2F1ZGlvL2dzdGF1ZGlvZW5jb2Rlci5oPgotIAotIEdfQkVHSU5fREVDTFMKLWRpZmYgLS1naXQgYS9leHQvYW1yd2JkZWMvYW1yd2JkZWMuaCBiL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCi1pbmRleCBjMzUyOGZjLi5mMjdjNmQyIDEwMDY0NAotLS0tIGEvZXh0L2FtcndiZGVjL2FtcndiZGVjLmgKLSsrKyBiL2V4dC9hbXJ3YmRlYy9hbXJ3YmRlYy5oCi1AQCAtMjIsOCArMjIsOCBAQAotIAotICNpbmNsdWRlIDxnc3QvZ3N0Lmg+Ci0gI2luY2x1ZGUgPGdzdC9hdWRpby9nc3RhdWRpb2RlY29kZXIuaD4KLS0jaW5jbHVkZSA8ZGVjX2lmLmg+Ci0tI2luY2x1ZGUgPGlmX3JvbS5oPgotKyNpbmNsdWRlIDxvcGVuY29yZS1hbXJ3Yi9kZWNfaWYuaD4KLSsjaW5jbHVkZSA8b3BlbmNvcmUtYW1yd2IvaWZfcm9tLmg+Ci0gCi0gR19CRUdJTl9ERUNMUwotIAotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1wbHVnaW5zLXVnbHlfMC4xMC4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseV8wLjEwLjE5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOTliNDdkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMtdWdseV8wLjEwLjE5LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotcmVxdWlyZSBnc3QtcGx1Z2lucy5pbmMKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIuMSsgJiBMR1BMdjIrIgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L3N5bmFlc3RoZXNpYS9zeW5hZXNjb3BlLmg7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OTlmMzAxZGY3YjgwNDkwYzZmZjgzMDVmY2M3MTI4MzggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PTRjNzcxYjhhZjE4ODcyNDg1NWNiOTljYWRkMzkwMDY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dzdC9tcGVnc3RyZWFtL2dzdG1wZWdwYXJzZS5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MTg7bWQ1PWZmNjU0NjdiMGM1M2NkZmE5OGQwNjg0YzFiYzI0MGE5IgotCi1ERVBFTkRTICs9ICJnc3QtcGx1Z2lucy1iYXNlIGxpYmlkM3RhZyBsaWJtYWQgbXBlZzJkZWMgbGliYTUyIGxhbWUiCi1QUiA9ICJyMyIKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXBsdWdpbnM9YTUyZGVjLGxhbWUsaWQzdGFnLG1hZCxtcGVnMmRlYyxtcGVnc3RyZWFtLG1wZWdhdWRpb3BhcnNlLGFzZmRlbXV4LHJlYWxtZWRpYSBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1vcmMiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW3gyNjRdID0gIi0tZW5hYmxlLXgyNjQsLS1kaXNhYmxlLXgyNjQseDI2NCIKLVBBQ0tBR0VDT05GSUdbY2Rpb10gPSAiLS1lbmFibGUtY2RpbywtLWRpc2FibGUtY2RpbyxsaWJjZGlvIgotUEFDS0FHRUNPTkZJR1tkdmRyZWFkXSA9ICItLWVuYWJsZS1kdmRyZWFkLC0tZGlzYWJsZS1kdmRyZWFkLGxpYmR2ZHJlYWQiCi1QQUNLQUdFQ09ORklHW2Ftcm5iXSA9ICItLWVuYWJsZS1hbXJuYiwtLWRpc2FibGUtYW1ybmIsb3BlbmNvcmUtYW1yIgotUEFDS0FHRUNPTkZJR1thbXJ3Yl0gPSAiLS1lbmFibGUtYW1yd2IsLS1kaXNhYmxlLWFtcndiLG9wZW5jb3JlLWFtciIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBUaGlzIG00IGZpbGUgY29udGFpbnMgbmFzdGluZXNzIHdoaWNoIGNvbmZsaWN0cyB3aXRoIGxpYnRvb2wgMi4yLjIKLSAgICBybSAke1N9L200L2xpYi1saW5rLm00IHx8IHRydWUKLX0KLQotU1JDX1VSSVttZDVzdW1dID0gIjFkODFjNTkzZTIyYTZjZGYwZjJiNGY1N2VhZTkzZGYyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFjYTkwMDU5Mjc1YzBmNWRjYTcxZDRkMTYwMWE4ZjQyOWI3ODUyYmFlZDA3MjNlODIwNzAzYjk3N2UyYzhkZjAiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1jZGlvLWNvbXBlbnNhdGUtZm9yLWxpYmNkaW8tcy1yZWNlbnQtY2QtdGV4dC1hcGktY2hhLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1vcGVuY29yZS1pbmNsdWRlLXBhdGhzLnBhdGNoIgotCi1GSUxFU18ke1BOfS1hbXJuYiArPSAiJHtkYXRhZGlyfS9nc3RyZWFtZXItMC4xMC9wcmVzZXRzL0dzdEFtcm5iRW5jLnBycyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0LXBsdWdpbnMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlMTYzYTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcGx1Z2lucy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlBsdWdpbnMgZm9yIHRoZSBHU3RyZWFtZXIgbXVsdGltZWRpYSBmcmFtZXdvcmsiCi1IT01FUEFHRSA9ICJodHRwOi8vZ3N0cmVhbWVyLmZyZWVkZXNrdG9wLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1Hc3RyZWFtZXIiCi1TRUNUSU9OID0gIm11bHRpbWVkaWEiCi1ERVBFTkRTID0gImdzdHJlYW1lciIKLQotIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG8gZ2V0IC0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIGludG8gVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKLQotR1NUUkVBTUVSX0RFQlVHID89ICItLWRpc2FibGUtZGVidWciCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXZhbGdyaW5kICR7R1NUUkVBTUVSX0RFQlVHfSAtLWRpc2FibGUtZXhhbXBsZXMgLS1kaXNhYmxlLWludHJvc3BlY3Rpb24iCi0KLWFjcGF0aHMgPSAiLUkgJHtTfS9jb21tb24vbTQgLUkgJHtTfS9tNCIKLQotTElCViA9ICIwLjEwIgotcmVxdWlyZSByZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCi0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS0uKiIKLQotIyBhcHBseSBnc3RyZWFtZXIgaGFjayBhZnRlciBNYWtlZmlsZS5pbi5pbiBpbiBzb3VyY2UgaXMgcmVwbGFjZWQgYnkgb3VyIHZlcnNpb24gZnJvbQotIyAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvcG8vTWFrZWZpbGUuaW4uaW4sIGJ1dCBiZWZvcmUgY29uZmlndXJlIGlzIGV4ZWN1dGVkCi0jIGh0dHA6Ly9saXN0cy5saW51eHRvZ28ub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29yZS8yMDEyLU5vdmVtYmVyLzAzMjIzMy5odG1sCi1vZV9ydW5jb25mX3ByZXBlbmQoKSB7Ci0gICAgaWYgWyAtZSAke1N9L3BvL01ha2VmaWxlLmluLmluIF07IHRoZW4KLSAgICAgICAgc2VkIC1pIC1lICIxYVxcIiAtZSAnR0VUVEVYVF9QQUNLQUdFID0gQEdFVFRFWFRfUEFDS0FHRUAnICR7U30vcG8vTWFrZWZpbGUuaW4uaW4KLSAgICBmaQotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcC8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjliMjFkZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwLzAwMDEtY2hhbmdlLWRlcHJlY2F0ZWQtSU5DTFVERVMtdG8tQU1fQ1BQRkxBR1MtZm9yLWF1dG9tYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWluZGV4IGdzdC1ydHNwXzAuMTAuOC9iaW5kaW5ncy9weXRob24vTWFrZWZpbGUuYW0KLUluZGV4OiBnc3QtcnRzcC0wLjEwLjgvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3N0LXJ0c3AtMC4xMC44Lm9yaWcvYmluZGluZ3MvcHl0aG9uL01ha2VmaWxlLmFtCi0rKysgZ3N0LXJ0c3AtMC4xMC44L2JpbmRpbmdzL3B5dGhvbi9NYWtlZmlsZS5hbQotQEAgLTE0LDcgKzE0LDcgQEAgZGVmc19EQVRBID0gJChERUZTKQotIGRlZnNkaXIgPSAkKHBrZ2RhdGFkaXIpLyQoR1NUX01BSk9STUlOT1IpL2RlZnMKLSBPVkVSUklERVMgPSBydHNwc2VydmVyLm92ZXJyaWRlCi0gCi0tSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikgJChQWVRIT05fSU5DTFVERVMpCi0rQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikgJChQWVRIT05fSU5DTFVERVMpCi0gCi0gcnRzcHNlcnZlcl9sYV9DRkxBR1MgPSAtSSQodG9wX3NyY2Rpcikvc3JjIFwKLSAJCSQoUFlHT0JKRUNUX0NGTEFHUykgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgJChHU1RfQ0ZMQUdTKQotSW5kZXg6IGdzdC1ydHNwLTAuMTAuOC9leGFtcGxlcy9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdzdC1ydHNwLTAuMTAuOC5vcmlnL2V4YW1wbGVzL01ha2VmaWxlLmFtCi0rKysgZ3N0LXJ0c3AtMC4xMC44L2V4YW1wbGVzL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDYgQEAKLSBub2luc3RfUFJPR1JBTVMgPSB0ZXN0LXZpZGVvIHRlc3Qtb2dnIHRlc3QtbXA0IHRlc3QtcmVhZG1lIHRlc3QtbGF1bmNoIHRlc3Qtc2RwIHRlc3QtdXJpIHRlc3QtYXV0aAotIAotLUlOQ0xVREVTID0gLUkkKHRvcF9zcmNkaXIpIC1JJChzcmNkaXIpCi0rQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKLSAKLSBBTV9DRkxBR1MgPSAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSAkKEdTVF9DRkxBR1MpCi0gQU1fTERGTEFHUyA9IFwKLUluZGV4OiBnc3QtcnRzcC0wLjEwLjgvdGVzdHMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnc3QtcnRzcC0wLjEwLjgub3JpZy90ZXN0cy9NYWtlZmlsZS5hbQotKysrIGdzdC1ydHNwLTAuMTAuOC90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw2IEBACi0gbm9pbnN0X1BST0dSQU1TID0gdGVzdC1jbGVhbnVwCi0gCi0tSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgLUkkKHNyY2RpcikKLStBTV9DUFBGTEFHUyA9IC1JJCh0b3Bfc3JjZGlyKSAtSSQoc3JjZGlyKQotIAotIEFNX0NGTEFHUyA9ICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpICQoR1NUX0NGTEFHUykKLSBBTV9MREZMQUdTID0gXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3QtcnRzcF8wLjEwLjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwXzAuMTAuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc4YmNhZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdC1ydHNwXzAuMTAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIFJUU1Agc2VydmVyIgotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvc3JjLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNoYW5nZS1kZXByZWNhdGVkLUlOQ0xVREVTLXRvLUFNX0NQUEZMQUdTLWZvci1hdXRvbWEucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiYjUxMWFmMDcwMDA1OTVmNjNjM2E3MDU5NDYyMjE2NDMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTkxNTg4N2NmODUxNWJkYTg3NDYyYzY5NzM4NjQ2YWZiNzE1YjU5NzYxM2VkYzczNDA0NzdjY2FiNjNhNjYxNyIKLQotREVQRU5EUyA9ICJnc3QtcGx1Z2lucy1iYXNlIGdzdHJlYW1lciIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIgotCi0jIENvbmZpZ3VyZSBhbHdheXMgY2hlY2tzIGZvciBQeXRob24gc28gaW5oZXJpdCBweXRob25uYXRpdmUuIEJldHRlciBzb2x1dGlvbgotIyB3b3VsZCBiZSB0byBkaXNhYmxlIHRoZSBjaGVja3MgZW50aXJlbHkuCi1pbmhlcml0IGF1dG90b29scyBweXRob25uYXRpdmUgZ2V0dGV4dAotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vdmFsYS92YXBpLyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1iYXNlcGFyc2UtRml4LXNlbGYtY29tcGFyaXNvbi1hbHdheXMtZXZhbHVhdGVzLXRvLXRyLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwNzc0OTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLWJhc2VwYXJzZS1GaXgtc2VsZi1jb21wYXJpc29uLWFsd2F5cy1ldmFsdWF0ZXMtdG8tdHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGVkN2Y0ODAyMjIyMjM0ZWVmMTkyYWEzZjc0YmM5MjI2OGYzMzhmOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTZWJhc3RpYW4gRHJvZWdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KLURhdGU6IFR1ZSwgNiBNYXIgMjAxMiAxMjoyODowMiArMDEwMAotU3ViamVjdDogW1BBVENIXSBiYXNlcGFyc2U6IEZpeCAnc2VsZi1jb21wYXJpc29uIGFsd2F5cyBldmFsdWF0ZXMgdG8gdHJ1ZScKLQotVGhpcyB3YXMgcmVhbGx5IGEgYnVnLgotCi1Db21taXQgaXMgZWQ3ZjQ4MDIyMjIyMzRlZWYxOTJhYTNmNzRiYzkyMjY4ZjMzOGY5NyBpbiAwLjEwIGJyYW5jaAotCi1VcHN0cmVhbSBTdGF0dXM6ICBCYWNrcG9ydGVkCi0KLVNpZ25lZC1vZmYtYnk6IFNlYmFzdGlhbiBEcm9lZ2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgotLS0tCi0gbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYyB8ICAgIDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXBhcnNlLmMgYi9saWJzL2dzdC9iYXNlL2dzdGJhc2VwYXJzZS5jCi1pbmRleCA4NTFlYzFkLi4xMDhlZTg5IDEwMDY0NAotLS0tIGEvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYwotKysrIGIvbGlicy9nc3QvYmFzZS9nc3RiYXNlcGFyc2UuYwotQEAgLTM4OTksNyArMzg5OSw3IEBAIGdzdF9iYXNlX3BhcnNlX2hhbmRsZV9zZWVrIChHc3RCYXNlUGFyc2UgKiBwYXJzZSwgR3N0RXZlbnQgKiBldmVudCkKLSAgICAgICAgc2VlayBldmVudCAoaW4gYnl0ZXMpIHRvIHVwc3RyZWFtLiBTZWdtZW50IC8gZmx1c2ggaGFuZGxpbmcgaGFwcGVucwotICAgICAgICBpbiBjb3JyZXNwb25kaW5nIHNyYyBldmVudCBoYW5kbGVycyAqLwotICAgICBHU1RfREVCVUdfT0JKRUNUIChwYXJzZSwgInNlZWsgaW4gUFVTSCBtb2RlIik7Ci0tICAgIGlmIChzZWVrc3RvcCA+PSAwICYmIHNlZWtwb3MgPD0gc2Vla3BvcykKLSsgICAgaWYgKHNlZWtzdG9wID49IDAgJiYgc2Vla3N0b3AgPD0gc2Vla3BvcykKLSAgICAgICBzZWVrc3RvcCA9IHNlZWtwb3M7Ci0gICAgIG5ld19ldmVudCA9IGdzdF9ldmVudF9uZXdfc2VlayAocmF0ZSwgR1NUX0ZPUk1BVF9CWVRFUywgZmxhZ3MsCi0gICAgICAgICBHU1RfU0VFS19UWVBFX1NFVCwgc2Vla3Bvcywgc3RvcF90eXBlLCBzZWVrc3RvcCk7Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzJkNjA2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMS1wYXJzZS1tYWtlLWdyYW1tYXIueS13b3JrLXdpdGgtQmlzb24tMy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gNjA1MTZmNDc5ODg5NGY5NThmYzUzYjQ3MGUxMjgzMzE4ZDBmODcwNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtlcnJpY2sgU3RhbGV5IDxrZXJyaWNrQGtlcnJpY2tzdGFsZXkuY29tPgotRGF0ZTogVHVlLCAyMCBBdWcgMjAxMyAyMzo1OToyOSAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gcGFyc2U6IG1ha2UgZ3JhbW1hci55IHdvcmsgd2l0aCBCaXNvbiAzCi0KLVlZTEVYX1BBUkFNIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQgaW4gQmlzb24gMy4KLQotaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjQ2MgotLS0tCi0gZ3N0L3BhcnNlL2dyYW1tYXIueSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2dzdC9wYXJzZS9ncmFtbWFyLnkgYi9nc3QvcGFyc2UvZ3JhbW1hci55Ci1pbmRleCAyNGZjODdiLi43ZjlkZDE2IDEwMDY0NAotLS0tIGEvZ3N0L3BhcnNlL2dyYW1tYXIueQotKysrIGIvZ3N0L3BhcnNlL2dyYW1tYXIueQotQEAgLTI2LDcgKzI2LDYgQEAKLSAgKi8KLSAKLSAjZGVmaW5lIFlZRVJST1JfVkVSQk9TRSAxCi0tI2RlZmluZSBZWUxFWF9QQVJBTSBzY2FubmVyCi0gCi0gI2RlZmluZSBZWUVOQUJMRV9OTFMgMAotIAotQEAgLTY0OCw2ICs2NDcsNyBAQCBzdGF0aWMgaW50IHl5ZXJyb3IgKHZvaWQgKnNjYW5uZXIsIGdyYXBoX3QgKmdyYXBoLCBjb25zdCBjaGFyICpzKTsKLSAlcmlnaHQgJy4nCi0gJWxlZnQgJyEnICc9JwotIAotKyVsZXgtcGFyYW0geyB2b2lkICpzY2FubmVyIH0KLSAlcGFyc2UtcGFyYW0geyB2b2lkICpzY2FubmVyIH0KLSAlcGFyc2UtcGFyYW0geyBncmFwaF90ICpncmFwaCB9Ci0gJXB1cmUtcGFyc2VyCi0tLSAKLTIuNy4yCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvMDAwMi1nc3QtZ2xpYjIubTQtZG9uLXQtZG8tY3JhenktdGhpbmdzLXRvLUdMSUJfQ0ZMQUdTLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAyLWdzdC1nbGliMi5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkYjM5NjYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi8wMDAyLWdzdC1nbGliMi5tNC1kb24tdC1kby1jcmF6eS10aGluZ3MtdG8tR0xJQl9DRkxBR1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDRiMTQ1Y2ViMjJiYmNlN2JhNmUyMDljNmFiNjFmMmQ1ODY3ZTY5ZjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEgTm92IDIwMTYgMTk6MDI6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gZ3N0LWdsaWIyLm00OiBkb24ndCBkbyBjcmF6eSB0aGluZ3MgdG8gR0xJQl9DRkxBR1MKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotd2UgYXJlIGRlZmluaXRlbHkgbm90IG9uZSBvZiB0aG9zZSBwb29yIHNvdWxzIG1lbnRpb25lZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgotLS0tCi0gY29tbW9uL200L2dzdC1nbGliMi5tNCB8IDEgLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb21tb24vbTQvZ3N0LWdsaWIyLm00IGIvY29tbW9uL200L2dzdC1nbGliMi5tNAotaW5kZXggYjAxZjAyZi4uNDU2OWFlNSAxMDA2NDQKLS0tLSBhL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLSsrKyBiL2NvbW1vbi9tNC9nc3QtZ2xpYjIubTQKLUBAIC02OSw3ICs2OSw2IEBAIEFDX0RFRlVOKFtBR19HU1RfR0xJQl9DSEVDS10sCi0gICBmaQotIAotICAgZG5sIGZvciB0aGUgcG9vciBzb3VscyB3aG8gZm9yIGV4YW1wbGUgaGF2ZSBnbGliIGluIC91c3IvbG9jYWwKLS0gIEFTX1NDUlVCX0lOQ0xVREUoR0xJQl9DRkxBR1MpCi0gCi0gICBBQ19TVUJTVChHTElCX0VYVFJBX0NGTEFHUykKLSBdKQotLS0gCi0yLjUuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2NoZWNrX2ZpeC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDhiYjEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvY2hlY2tfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotIyBnc3RyZWFtZXI6IEZpeCBhIHByb2JsZW0gd2l0aCBjb25maWd1cmUgaWYgY2hlY2sgaGFzIGFscmVhZHkgYmVlbiBidWlsdAotIyBSaWNoYXJkIFB1cmRpZSA8cnB1cmRpZUBsaW51eC5pbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotZGlmZiAtdXJOIGdzdHJlYW1lci0wLjEwLjI5LW9yaWcvY29uZmlndXJlLmFjIGdzdHJlYW1lci0wLjEwLjI5L2NvbmZpZ3VyZS5hYwotLS0tIGdzdHJlYW1lci0wLjEwLjI5LW9yaWcvY29uZmlndXJlLmFjCTIwMTAtMDYtMjYgMTI6NDk6MjcuNzc0OTMwNzczICswODAwCi0rKysgZ3N0cmVhbWVyLTAuMTAuMjkvY29uZmlndXJlLmFjCTIwMTAtMDYtMjYgMTI6NTE6MTIuODk5MjAwMjMzICswODAwCi1AQCAtNTQzLDggKzU0MywxMCBAQAotICAgICAgICopIEJVSUxEX0NIRUNLPXllcyA7OwotICAgICBlc2FjCi0gXSkKLSsKLSBkbmwgYml0IG9mIGEgbWlzbm9tZXIsIGJ1dCBrZWVwIHRoZSBjb25kaXRpb25hbCBuYW1lZCBsaWtlIHRoaXMgc28gd2UgZG9uJ3QKLSBkbmwgaGF2ZSB0byBjaGFuZ2UgdG9vIG11Y2ggZWxzZXdoZXJlCi0rSEFWRV9DSEVDSz1ubwotIEFNX0NPTkRJVElPTkFMKEhBVkVfQ0hFQ0ssIHRlc3QgIngkQlVJTERfQ0hFQ0siID0gInh5ZXMiKQotIAotIGRubCBjb25maWd1cmUgdGhlIGRlc2lyZWQgYnVmZmVyIGFsaWdubWVudApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0LWluc3BlY3QtY2hlY2stZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwYmU4NWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3QtaW5zcGVjdC1jaGVjay1lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLSMgRml4IGNyYXNoIHdpdGggZ3N0LWluc3BlY3QKLSMgQ2hyaXMgTG9yZCA8Y2hyaXNAb3BlbmVkaGFuZC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gZ3N0cmVhbWVyLTAuMTAuOS90b29scy9nc3QtaW5zcGVjdC5jLm9sZAkyMDA2LTA5LTEyIDExOjU2OjUzLjAwMDAwMDAwMCArMDEwMAotKysrIGdzdHJlYW1lci0wLjEwLjkvdG9vbHMvZ3N0LWluc3BlY3QuYwkyMDA2LTA5LTEyIDExOjU3OjI3LjAwMDAwMDAwMCArMDEwMAotQEAgLTExMjMsNyArMTEyMyw3IEBACi0gICBnX29wdGlvbl9jb250ZXh0X2FkZF9tYWluX2VudHJpZXMgKGN0eCwgb3B0aW9ucywgR0VUVEVYVF9QQUNLQUdFKTsKLSAgIGdfb3B0aW9uX2NvbnRleHRfYWRkX2dyb3VwIChjdHgsIGdzdF9pbml0X2dldF9vcHRpb25fZ3JvdXAgKCkpOwotICAgaWYgKCFnX29wdGlvbl9jb250ZXh0X3BhcnNlIChjdHgsICZhcmdjLCAmYXJndiwgJmVycikpIHsKLS0gICAgZ19wcmludCAoIkVycm9yIGluaXRpYWxpemluZzogJXNcbiIsIGVyci0+bWVzc2FnZSk7Ci0rICAgIGdfcHJpbnQgKCJFcnJvciBpbml0aWFsaXppbmc6ICVzXG4iLCBlcnIgPyBlcnItPm1lc3NhZ2UgOiAiKG51bGwpIik7Ci0gICAgIGV4aXQgKDEpOwotICAgfQotICAgZ19vcHRpb25fY29udGV4dF9mcmVlIChjdHgpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXItMC4xMC4zNi9nc3RyZWdpc3RyeWJpbmFyeS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMWYzZTcxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuYworKysgL2Rldi9udWxsCkBAIC0xLDQ4NyArMCwwIEBACi0vKiBHU3RyZWFtZXIKLSAqIENvcHlyaWdodCAoQykgMTk5OSwyMDAwIEVyaWsgV2FsdGhpbnNlbiA8b21lZ2FAY3NlLm9naS5lZHU+Ci0gKiAgICAgICAgICAgICAgICAgICAgMjAwMCBXaW0gVGF5bWFucyA8d3RheUBjaGVsbG8uYmU+Ci0gKiAgICAgICAgICAgICAgICAgICAgMjAwNSBEYXZpZCBBLiBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KLSAqCi0gKiBnc3RyZWdpc3RyeXhtbC5jOiBHc3RSZWdpc3RyeSBvYmplY3QsIHN1cHBvcnQgcm91dGluZXMKLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdWxuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0gKi8KLQotCi0jaW5jbHVkZSA8Z3N0L2dzdHJlZ2lzdHJ5YmluYXJ5Lmg+Ci0KLS8qCi0qKiBTaW1wbGUgaGFuZHkgZnVuY3Rpb24gdG8gd3JpdGUgYSBtZW1vcnkgbG9jYXRpb24gdG8gdGhlIHJlZ2lzdHJ5IGNhY2hlIGZpbGUKLSovCi1pbmxpbmUgc3RhdGljIGdib29sZWFuCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpCi17Ci0gIGlmICh3cml0ZShyZWdpc3RyeS0+Y2FjaGVfZmlsZSwgbWVtLCBzaXplKSAhPSBzaXplKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIGJpbmFyeSByZWdpc3RyeSBlbGVtZW50OiBwdHI9JXAgc2l6ZT0ldSBlcnJvcj0lc1xuIiwKLQkJbWVtLCBzaXplLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLSAgcmV0dXJuIFRSVUU7Ci19Ci0KLS8qCi0qKiBTYXZlIGZlYXR1cmVzIEdzdEJpbmFyeSBzdHlsZQotKi8KLXN0YXRpYyBnYm9vbGVhbiAKLWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKEdMaXN0ICoqbGlzdCwgR3N0UGx1Z2luRmVhdHVyZSAqb3JpZywgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSAqZGVzdCwgY29uc3QgY2hhciAqbmFtZSkKLXsKLSAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7Ci0KLSAgaWYgKChjaGsgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKLSAgICByZXR1cm4gRkFMU0U7Ci0KLSAgY2hrLT5kYXRhID0gZGVzdDsKLSAgY2hrLT5zaXplID0gc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKLQotICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7Ci0KLSAgZGVzdC0+cmFuayA9IG9yaWctPnJhbms7Ci0gIGlmICghc3RybmNweShkZXN0LT50eXBlbmFtZSwgbmFtZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9UWVBFTkFNRV9MRU4pIHx8Ci0gICAgICAhc3RybmNweShkZXN0LT5uYW1lLCBvcmlnLT5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIkZhaWxlZCB0byB3cml0ZSBiaW5hcnkgcmVnaXN0cnkgZmVhdHVyZSIpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLSAgCi0gIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKG9yaWcpKQotICAgIHsKLSAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShvcmlnKTsKLSAgICAgIAotICAgICAgaWYgKCFzdHJuY3B5KGRlc3QtPmxvbmduYW1lLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0xPTkdOQU1FX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmNsYXNzLCBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmRlc2NyaXB0aW9uLCBmYWN0b3J5LT5kZXRhaWxzLmRlc2NyaXB0aW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0RFU0NSSVBUSU9OX0xFTikgfHwKLQkgICFzdHJuY3B5KGRlc3QtPmF1dGhvciwgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IsIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQVVUSE9SX0xFTikpCi0JewotCSAgR1NUX0VSUk9SKCJGYWlsZWQgdG8gd3JpdGUgYmluYXJ5IHJlZ2lzdHJ5IGZlYXR1cmUiKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgfQotICAKLSAgZGVzdC0+bnBhZHRlbXBsYXRlcyA9IGRlc3QtPm5pbnRlcmZhY2VzID0gZGVzdC0+bnVyaXR5cGVzID0gMDsKLSAgcmV0dXJuIFRSVUU7Ci0KLSBmYWlsOgotICBmcmVlKGNoayk7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotCi0vKgotKiogSW5pdGlhbGl6ZSB0aGUgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYywgc2V0dGluZyBib3RoIG91ciBtYWdpYyBudW1iZXIgYW5kIGdzdHJlYW1lciBtYWpvci9taW5vciB2ZXJzaW9uCi0qLwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbgotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMgKm0pCi17Ci0gIGlmICghc3RybmNweShtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSB8fAotICAgICAgIXN0cm5jcHkobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiRmFpbGVkIHRvIHdyaXRlIG1hZ2ljIHRvIHRoZSByZWdpc3RyeSBtYWdpYyBzdHJ1Y3R1cmUiKTsKLSAgICAgIHJldHVybiBGQUxTRTsKLSAgICB9Ci0gIHJldHVybiBUUlVFOwotfQotCi0vKgotKiogQ2hlY2sgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyB2YWxpZGl0eS4KLSoqIFJldHVybiBhIHBvaW50ZXIgcG9pbnRpbmcgcmlnaHQgYWZ0ZXIgdGhlIG1hZ2ljIHN0cnVjdHVyZQotKi8KLXN0YXRpYyBnY2hhciAqCi1nc3RfcmVnaXN0cnlfYmluYXJ5X2NoZWNrX21hZ2ljKGdjaGFyICppbikKLXsKLSAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSA9IChHc3RCaW5hcnlSZWdpc3RyeU1hZ2ljICopIGluOwotCi0gIGlmIChtID09IE5VTEwgfHwgbS0+bWFnaWMgPT0gTlVMTCB8fCBtLT52ZXJzaW9uID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgbWFnaWMgc3RydWN0dXJlIGlzIGJyb2tlbiIpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICBpZiAoc3RybmNtcChtLT5tYWdpYywgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOKSAhPSAwKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIGlzIGRpZmZlcmVudCA6ICUwMnglMDJ4JTAyeCUwMnggIT0gJTAyeCUwMnglMDJ4JTAyeCIsCi0JCUdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzBdICYgMHhmZiwgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFJbMV0gJiAweGZmLAotCQlHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX1NUUlsyXSAmIDB4ZmYsIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfU1RSWzNdICYgMHhmZiwKLQkJbS0+bWFnaWNbMF0gJiAweGZmLCBtLT5tYWdpY1sxXSAmIDB4ZmYsIG0tPm1hZ2ljWzJdICYgMHhmZiwgbS0+bWFnaWNbM10gJiAweGZmKTsKLSAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgaWYgKHN0cm5jbXAobS0+dmVyc2lvbiwgR1NUX01BSk9STUlOT1IsIEdTVF9CSU5BUllfUkVHSVNUUllfVkVSU0lPTl9MRU4pKQotICAgIHsKLSAgICAgIEdTVF9FUlJPUigiQmluYXJ5IHJlZ2lzdHJ5IG1hZ2ljIHZlcnNpb24gaXMgZGlmZmVyZW50IDogJXMgIT0gJXMiLAotCQlHU1RfTUFKT1JNSU5PUiwgbS0+dmVyc2lvbik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gIHJldHVybiAoaW4gKyBzaXplb2YgKEdzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMpKTsKLX0KLQotLyoKLSoqIEFkYXB0IGEgR3N0UGx1Z2luIHRvIG91ciBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZSwgYW5kIHdyaXRlIGl0IHRvIHRoZSAKLSoqIHJlZ2lzdHJ5IGZpbGUuCi0qLyAgIAotc3RhdGljIGdib29sZWFuCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbikKLXsKLSAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqZTsKLSAgR3N0QmluYXJ5Q2h1bmNrICpjaGs7Ci0gIEdMaXN0ICp3YWxrOwotCi0gIGlmICgoZSA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSkgPT0gTlVMTCB8fAotICAgICAgKGNoayA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeUNodW5jaykpKSA9PSBOVUxMKQotICAgIHJldHVybiBGQUxTRTsKLQotICBjaGstPmRhdGEgPSBlOwotICBjaGstPnNpemUgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpOwotICAqbGlzdCA9IGdfbGlzdF9hcHBlbmQoKmxpc3QsIGNoayk7Ci0KLSAgaWYgKCFzdHJuY3B5KGUtPm5hbWUsIHBsdWdpbi0+ZGVzYy5uYW1lLCBHU1RfQklOQVJZX1JFR0lTVFJZX05BTUVfTEVOKQkJICAgICAgIAl8fAotICAgICAgIXN0cm5jcHkoZS0+ZGVzY3JpcHRpb24sIHBsdWdpbi0+ZGVzYy5kZXNjcmlwdGlvbiwgR1NUX0JJTkFSWV9SRUdJU1RSWV9ERVNDUklQVElPTl9MRU4pCXx8Ci0gICAgICAhc3RybmNweShlLT5maWxlbmFtZSwgcGx1Z2luLT5maWxlbmFtZSwgX1BPU0lYX1BBVEhfTUFYKQkJCQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPnZlcnNpb24sIHBsdWdpbi0+ZGVzYy52ZXJzaW9uLCBHU1RfQklOQVJZX1JFR0lTVFJZX1ZFUlNJT05fTEVOKQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPmxpY2Vuc2UsIHBsdWdpbi0+ZGVzYy5saWNlbnNlLCBHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOKQkJfHwKLSAgICAgICFzdHJuY3B5KGUtPnNvdXJjZSwgcGx1Z2luLT5kZXNjLnNvdXJjZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOKQkJCXx8Ci0gICAgICAhc3RybmNweShlLT5wYWNrYWdlLCBwbHVnaW4tPmRlc2MucGFja2FnZSwgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQUNLQUdFX0xFTikJCXx8Ci0gICAgICAhc3RybmNweShlLT5vcmlnaW4sIHBsdWdpbi0+ZGVzYy5vcmlnaW4sIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTikpCi0gICAgewotICAgICAgR1NUX0RFQlVHKCJDYW4ndCBhZGFwdCBHc3RQbHVnaW4gdG8gR3N0QmluYXJ5UGx1Z2luRWxlbWVudCIpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLQotICBlLT5zaXplID0gcGx1Z2luLT5maWxlX3NpemU7Ci0gIGUtPm0zMnAgPSBwbHVnaW4tPmZpbGVfbXRpbWU7Ci0gIAotICBHTGlzdCAqZnRfbGlzdCA9IGdzdF9yZWdpc3RyeV9nZXRfZmVhdHVyZV9saXN0X2J5X3BsdWdpbihyZWdpc3RyeSwgcGx1Z2luLT5kZXNjLm5hbWUpOwotCi0gIGZvciAod2FsayA9IGZ0X2xpc3Q7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSwgZS0+bmZlYXR1cmVzKyspCi0gICAgewotICAgICAgR3N0UGx1Z2luRmVhdHVyZSAqY3VyZmVhdCA9IEdTVF9QTFVHSU5fRkVBVFVSRSAod2Fsay0+ZGF0YSk7Ci0gICAgICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpuZXdmZWF0OwotICAgICAgY29uc3QgY2hhciAqZmVhdF9uYW1lID0gZ190eXBlX25hbWUoR19PQkpFQ1RfVFlQRShjdXJmZWF0KSk7Ci0gICAgICAKLSAgICAgIGlmICgobmV3ZmVhdCA9IGNhbGxvYygxLCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUpKSkgPT0gTlVMTCkKLQkgIGdvdG8gZmFpbDsKLQotICAgICAgaWYgKCFmZWF0X25hbWUgfHwgIWdzdF9yZWdpc3RyeV9iaW5hcnlfZmlsbF9mZWF0dXJlKGxpc3QsIGN1cmZlYXQsIG5ld2ZlYXQsIGZlYXRfbmFtZSkpCi0JewotCSAgR1NUX0VSUk9SKCJDYW4ndCBmaWxsIHBsdWdpbiBmZWF0dXJlLCBhYm9ydGluZy4iKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgfQotCi0gIEdTVF9ERUJVRygiRm91bmQgJWQgZmVhdHVyZXMgaW4gcGx1Z2luIFwiJXNcIlxuIiwgZS0+bmZlYXR1cmVzLCBlLT5uYW1lKTsKLSAgcmV0dXJuIFRSVUU7Ci0KLSBmYWlsOgotICBmcmVlKGNoayk7Ci0gIGZyZWUoZSk7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotLyoKLSoqIFdyaXRlIHRoZSBjYWNoZSB0byBmaWxlLiBQYXJ0IG9mIHRoZSBjb2RlIHdhcyB0YWtlbiBmcm9tIGdzdHJlZ2lzdHJ5eG1sLmMKLSovCi1nYm9vbGVhbiAKLWdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKLXsKLSAgR0xpc3QgKndhbGs7Ci0gIGNoYXIgKnRtcF9sb2NhdGlvbjsKLSAgR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbWFnaWM7Ci0gIEdzdEJpbmFyeUNodW5jayAqbWFnaWNfY2h1bmNrOwotICBHTGlzdCAqdG9fd3JpdGUgPSBOVUxMOwotIAotICBHU1RfSU5GTygiV3JpdGluZyBiaW5hcnkgcmVnaXN0cnkgY2FjaGUiKTsKLQotICBnX3JldHVybl92YWxfaWZfZmFpbCAoR1NUX0lTX1JFR0lTVFJZIChyZWdpc3RyeSksIEZBTFNFKTsKLSAgdG1wX2xvY2F0aW9uID0gZ19zdHJjb25jYXQgKGxvY2F0aW9uLCAiLnRtcFhYWFhYWCIsIE5VTEwpOwotICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKLSAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQotICAgIHsKLSAgICAgIGNoYXIgKmRpcjsKLQotICAgICAgLyogb29wcywgSSBiZXQgdGhlIGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0ICovCi0gICAgICBkaXIgPSBnX3BhdGhfZ2V0X2Rpcm5hbWUgKGxvY2F0aW9uKTsKLSAgICAgIGdfbWtkaXJfd2l0aF9wYXJlbnRzIChkaXIsIDA3NzcpOwotICAgICAgZ19mcmVlIChkaXIpOwotICAgICAgCi0gICAgICByZWdpc3RyeS0+Y2FjaGVfZmlsZSA9IGdfbWtzdGVtcCAodG1wX2xvY2F0aW9uKTsKLSAgICB9Ci0KLSAgaWYgKHJlZ2lzdHJ5LT5jYWNoZV9maWxlID09IC0xKQotICAgIGdvdG8gZmFpbDsKLQotICBpZiAoKG1hZ2ljID0gY2FsbG9jKDEsIHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYykpKSA9PSBOVUxMIHx8Ci0gICAgICAhZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9pbml0aWFsaXplX21hZ2ljKG1hZ2ljKSkKLSAgICBnb3RvIGZhaWw7Ci0KLSAgaWYgKChtYWdpY19jaHVuY2sgPSBjYWxsb2MoMSwgc2l6ZW9mIChHc3RCaW5hcnlDaHVuY2spKSkgPT0gTlVMTCkKLSAgICBnb3RvIGZhaWw7Ci0KLSAgbWFnaWNfY2h1bmNrLT5kYXRhID0gbWFnaWM7Ci0gIG1hZ2ljX2NodW5jay0+c2l6ZSA9IHNpemVvZiAoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyk7Ci0gIHRvX3dyaXRlID0gZ19saXN0X2FwcGVuZCh0b193cml0ZSwgbWFnaWNfY2h1bmNrKTsgCi0KLSAgLyogSXRlcmF0ZSB0cm91Z2ggdGhlIGxpc3Qgb2YgcGx1Z2lucyBpbiB0aGUgR3N0UmVnaXN0cnkgYW5kIGFkYXB0IHRoZW0gdG8gb3VyIHN0cnVjdHVyZXMgKi8KLSAgZm9yICh3YWxrID0gZ19saXN0X2xhc3QocmVnaXN0cnktPnBsdWdpbnMpOyB3YWxrOyB3YWxrID0gZ19saXN0X3ByZXZpb3VzKHdhbGspKQotICAgIHsKLSAgICAgIEdzdFBsdWdpbiAqcGx1Z2luID0gR1NUX1BMVUdJTih3YWxrLT5kYXRhKTsKLSAgICAgIAotICAgICAgaWYgKCFwbHVnaW4tPmZpbGVuYW1lKQotCWNvbnRpbnVlOwotCSAgCi0gICAgICBpZiAocGx1Z2luLT5mbGFncyAmIEdTVF9QTFVHSU5fRkxBR19DQUNIRUQpCi0JewotCSAgaW50IHJldDsKLQkgIHN0cnVjdCBzdGF0IHN0YXRidWY7Ci0JICAKLQkgIHJldCA9IGdfc3RhdCAocGx1Z2luLT5maWxlbmFtZSwgJnN0YXRidWYpOwotCSAgaWYgKChyZXQgPSBnX3N0YXQgKHBsdWdpbi0+ZmlsZW5hbWUsICZzdGF0YnVmKSkgPCAwIAl8fAotCSAgICAgIHBsdWdpbi0+ZmlsZV9tdGltZSAhPSBzdGF0YnVmLnN0X210aW1lCQl8fAotCSAgICAgIHBsdWdpbi0+ZmlsZV9zaXplICE9IHN0YXRidWYuc3Rfc2l6ZSkKLQkgICAgY29udGludWU7Ci0JfQotCi0gICAgICBpZiAoIWdzdF9yZWdpc3RyeV9iaW5hcnlfc2F2ZV9wbHVnaW4oJnRvX3dyaXRlLCByZWdpc3RyeSwgcGx1Z2luKSkKLQl7Ci0JICBHU1RfRVJST1IoIkNhbid0IHdyaXRlIGJpbmFyeSBwbHVnaW4gaW5mb3JtYXRpb24gZm9yIFwiJXNcIiIsIHBsdWdpbi0+ZmlsZW5hbWUpOwotCSAgY29udGludWU7IC8qIFRyeSBhbnl3YXkgKi8KLQl9Ci0gICAgfQotCi0gIGZvciAod2FsayA9IGdfbGlzdF9maXJzdCh0b193cml0ZSk7IHdhbGs7IHdhbGsgPSBnX2xpc3RfbmV4dCh3YWxrKSkKLSAgICB7Ci0gICAgICBHc3RCaW5hcnlDaHVuY2sgKmN1ciA9IHdhbGstPmRhdGE7Ci0KLSAgICAgIGlmICghZ3N0X3JlZ2lzdHJ5X2JpbmFyeV93cml0ZShyZWdpc3RyeSwgY3VyLT5kYXRhLCBjdXItPnNpemUpKQotCXsKLQkgIGZyZWUoY3VyLT5kYXRhKTsKLQkgIGZyZWUoY3VyKTsKLQkgIGdfbGlzdF9mcmVlKHRvX3dyaXRlKTsKLQkgIGdvdG8gZmFpbDsKLQl9Ci0gICAgICBmcmVlKGN1ci0+ZGF0YSk7Ci0gICAgICBmcmVlKGN1cik7Ci0gICAgfQotICBnX2xpc3RfZnJlZSh0b193cml0ZSk7Ci0KLSAgaWYgKGNsb3NlKHJlZ2lzdHJ5LT5jYWNoZV9maWxlKSA8IDApCi0gICAgewotICAgICAgR1NUX0RFQlVHKCJDYW4ndCBjbG9zZSByZWdpc3RyeSBmaWxlIDogJXMiLCBzdHJlcnJvcihlcnJubykpOwotICAgICAgZ290byBmYWlsOwotICAgIH0KLSAgCi0gIGlmIChnX2ZpbGVfdGVzdCAodG1wX2xvY2F0aW9uLCBHX0ZJTEVfVEVTVF9FWElTVFMpKSB7Ci0jaWZkZWYgV0lOMzIKLSAgICByZW1vdmUgKGxvY2F0aW9uKTsKLSNlbmRpZgotICAgIHJlbmFtZSAodG1wX2xvY2F0aW9uLCBsb2NhdGlvbik7Ci0gIH0KLQotICBnX2ZyZWUgKHRtcF9sb2NhdGlvbik7Ci0gIHJldHVybiBUUlVFOwotCi0gZmFpbDoKLSAgZ19mcmVlKHRtcF9sb2NhdGlvbik7Ci0gIHJldHVybiBGQUxTRTsKLX0KLQotc3RhdGljIEdzdFBsdWdpbkZlYXR1cmUqCi1nc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICppbikKLXsKLSAgR3N0UGx1Z2luRmVhdHVyZSAqZmVhdHVyZTsKLSAgR1R5cGUgdHlwZTsKLQotICBpZiAoIWluLT50eXBlbmFtZSB8fCAhKihpbi0+dHlwZW5hbWUpKQotICAgIHJldHVybiBOVUxMOwotCi0gIC8qICBHU1RfSU5GTygiUGx1Z2luIGZlYXR1cmUgdHlwZW5hbWUgOiAlcyIsIGluLT50eXBlbmFtZSk7Ki8KLQotICBpZiAoISh0eXBlID0gZ190eXBlX2Zyb21fbmFtZShpbi0+dHlwZW5hbWUpKSkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIlVua25vd24gdHlwZSBmcm9tIHR5cGVuYW1lIik7Ci0gICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gIGZlYXR1cmUgPSBnX29iamVjdF9uZXcgKHR5cGUsIE5VTEwpOwotCi0gIGlmICghZmVhdHVyZSkgewotICAgIEdTVF9FUlJPUigiQ2FuJ3QgY3JlYXRlIGZlYXR1cmUgZnJvbSB0eXBlIik7Ci0gICAgcmV0dXJuIE5VTEw7Ci0gIH0KLQotICBpZiAoIUdTVF9JU19QTFVHSU5fRkVBVFVSRSAoZmVhdHVyZSkpIHsKLSAgICAvKiBkb24ndCByZWFsbHkga25vdyB3aGF0IGl0IGlzICovCi0gICAgaWYgKEdTVF9JU19PQkpFQ1QgKGZlYXR1cmUpKQotICAgICAgZ3N0X29iamVjdF91bnJlZiAoZmVhdHVyZSk7Ci0gICAgZWxzZQotICAgICAgZ19vYmplY3RfdW5yZWYgKGZlYXR1cmUpOwotICAgIHJldHVybiBOVUxMOwotICB9Ci0KLSAgZmVhdHVyZS0+bmFtZSA9IGdfc3RyZHVwKGluLT5uYW1lKTsKLSAgZmVhdHVyZS0+cmFuayA9IGluLT5yYW5rOwotCi0gIGlmIChHU1RfSVNfRUxFTUVOVF9GQUNUT1JZKGZlYXR1cmUpKQotICAgIHsKLSAgICAgIEdzdEVsZW1lbnRGYWN0b3J5ICpmYWN0b3J5ID0gR1NUX0VMRU1FTlRfRkFDVE9SWShmZWF0dXJlKTsKLQotICAgICAgZmFjdG9yeS0+ZGV0YWlscy5sb25nbmFtZSA9IGdfc3RyZHVwKGluLT5sb25nbmFtZSk7Ci0gICAgICBmYWN0b3J5LT5kZXRhaWxzLmtsYXNzID0gZ19zdHJkdXAoaW4tPmNsYXNzKTsKLSAgICAgIGZhY3RvcnktPmRldGFpbHMuZGVzY3JpcHRpb24gPSBnX3N0cmR1cChpbi0+ZGVzY3JpcHRpb24pOwotICAgICAgZmFjdG9yeS0+ZGV0YWlscy5hdXRob3IgPSBnX3N0cmR1cChpbi0+YXV0aG9yKTsKLQotICAgICAgLyogICAgICBHU1RfSU5GTygiRWxlbWVudCBmYWN0b3J5IDogJXMiLCBmYWN0b3J5LT5kZXRhaWxzLmxvbmduYW1lKTsgKi8KLSAgICB9Ci0KLSAgR1NUX0RFQlVHKCJBZGRlZCBmZWF0dXJlICVwIHdpdGggbmFtZSAlcyIsIGZlYXR1cmUsIGZlYXR1cmUtPm5hbWUpOwotICByZXR1cm4gZmVhdHVyZTsKLX0KLQotLyoKLSoqIE1ha2UgYSBuZXcgcGx1Z2luIGZyb20gY3VycmVudCBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZQotKiogYW5kIHNhdmUgaXQgdG8gdGhlIEdzdFJlZ2lzdHJ5LiBSZXR1cm4gYW4gb2Zmc2V0IHRvIHRoZSBuZXh0Ci0qKiBHc3RCaW5hcnlQbHVnaW5FbGVtZW50IHN0cnVjdHVyZS4KLSovCi1zdGF0aWMgdW5zaWduZWQgbG9uZwotZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbikKLXsKLSAgR3N0QmluYXJ5UGx1Z2luRWxlbWVudCAqcCA9IChHc3RCaW5hcnlQbHVnaW5FbGVtZW50ICopIGluOwotICBHc3RQbHVnaW4gKnBsdWdpbiA9IE5VTEw7Ci0gIEdMaXN0ICpwbHVnaW5fZmVhdHVyZXMgPSBOVUxMOwotICBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICpmZWF0OwotICB1bnNpZ25lZCBpbnQgaTsKLSAgdW5zaWduZWQgbG9uZyBvZmZzZXQ7Ci0KLSAgcGx1Z2luID0gZ19vYmplY3RfbmV3IChHU1RfVFlQRV9QTFVHSU4sIE5VTEwpOwotCi0gIHBsdWdpbi0+ZmxhZ3MgfD0gR1NUX1BMVUdJTl9GTEFHX0NBQ0hFRDsKLQotICBwbHVnaW4tPmRlc2MubmFtZSA9IGdfc3RyZHVwKHAtPm5hbWUpOwotICBwbHVnaW4tPmRlc2MuZGVzY3JpcHRpb249IGdfc3RyZHVwKHAtPmRlc2NyaXB0aW9uKTsKLSAgcGx1Z2luLT5maWxlbmFtZSA9IGdfc3RyZHVwKHAtPmZpbGVuYW1lKTsKLSAgcGx1Z2luLT5kZXNjLnZlcnNpb24gPSBnX3N0cmR1cChwLT52ZXJzaW9uKTsKLSAgcGx1Z2luLT5kZXNjLmxpY2Vuc2UgPSBnX3N0cmR1cChwLT5saWNlbnNlKTsKLSAgcGx1Z2luLT5kZXNjLnNvdXJjZSA9IGdfc3RyZHVwKHAtPnNvdXJjZSk7Ci0gIHBsdWdpbi0+ZGVzYy5wYWNrYWdlID0gZ19zdHJkdXAocC0+cGFja2FnZSk7Ci0gIHBsdWdpbi0+ZGVzYy5vcmlnaW4gPSBnX3N0cmR1cChwLT5vcmlnaW4pOwotICBwbHVnaW4tPmZpbGVfbXRpbWUgPSBwLT5tMzJwOwotICBwbHVnaW4tPmZpbGVfc2l6ZSA9IHAtPnNpemU7Ci0gIHBsdWdpbi0+YmFzZW5hbWUgPSBnX3BhdGhfZ2V0X2Jhc2VuYW1lIChwbHVnaW4tPmZpbGVuYW1lKTsKLQotICBpZiAocGx1Z2luLT5maWxlX210aW1lIDwgMCB8fCBwbHVnaW4tPmZpbGVfc2l6ZSA8IDApCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJQbHVnaW4gdGltZSBvciBmaWxlIHNpemUgaXMgbm90IHZhbGlkICEiKTsKLSAgICAgIGdfZnJlZShwbHVnaW4pOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICBpZiAocC0+bmZlYXR1cmVzIDwgMCkKLSAgICB7Ci0gICAgICBHU1RfRVJST1IoIlRoZSBudW1iZXIgb2YgZmVhdHVyZSBzdHJ1Y3R1cmUgaXMgbm90IHZhbGlkICEiKTsKLSAgICAgIGdzdF9vYmplY3RfdW5yZWYocGx1Z2luKTsKLSAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgZm9yIChmZWF0ID0gKEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKikgKGluICsgc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5FbGVtZW50KSksIGkgPSAwOyAKLSAgICAgICBpIDwgcC0+bmZlYXR1cmVzOyBpKyssIGZlYXQrKykKLSAgICB7Ci0gICAgICBHc3RQbHVnaW5GZWF0dXJlICpnc3RmZWF0OwotCi0gICAgICBpZiAoKGdzdGZlYXQgPSBnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShmZWF0KSkgPT0gTlVMTCkKLQl7Ci0JICBnX2xpc3RfZnJlZShwbHVnaW5fZmVhdHVyZXMpOwotCSAgZ19mcmVlKHBsdWdpbik7Ci0JICBHU1RfRVJST1IoIkVycm9yIHdoaWxlIGxvYWRpbmcgYmluYXJ5IGZlYXR1cmUiKTsKLQkgIHJldHVybiAtMTsKLQl9Ci0gICAgICBnc3RmZWF0LT5wbHVnaW5fbmFtZSA9IGdfc3RyZHVwKHBsdWdpbi0+ZGVzYy5uYW1lKTsKLSAgICAgIHBsdWdpbl9mZWF0dXJlcyA9IGdfbGlzdF9wcmVwZW5kKHBsdWdpbl9mZWF0dXJlcywgZ3N0ZmVhdCk7Ci0gICAgfQotICAKLSAgR1NUX0RFQlVHKCJBZGRlZCBwbHVnaW4gXCIlc1wiIHRvIGdsb2JhbCByZWdpc3RyeSBmcm9tIGJpbmFyeSByZWdpc3RyeSIsIHBsdWdpbi0+ZGVzYy5uYW1lKTsgCi0gIEdMaXN0ICpnOwotCi0gIGdzdF9yZWdpc3RyeV9hZGRfcGx1Z2luIChyZWdpc3RyeSwgcGx1Z2luKTsKLSAgZm9yIChnID0gcGx1Z2luX2ZlYXR1cmVzOyBnOyBnID0gZ19saXN0X25leHQgKGcpKQotICAgIGdzdF9yZWdpc3RyeV9hZGRfZmVhdHVyZSAocmVnaXN0cnksIEdTVF9QTFVHSU5fRkVBVFVSRSAoZy0+ZGF0YSkpOwotICAvKiAgZ19saXN0X2ZyZWUocGx1Z2luX2ZlYXR1cmVzKTsgKi8KLQotICBvZmZzZXQgPSBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpICsgcC0+bmZlYXR1cmVzICogc2l6ZW9mIChHc3RCaW5hcnlQbHVnaW5GZWF0dXJlKTsKLSAgcmV0dXJuIG9mZnNldDsKLX0KLQotCi0vKgotKiogUmVhZCB0aGUgY2FjaGUgYW5kIGFkYXB0IGl0IHRvIGZpbGwgR3N0UmVnaXN0cnkKLSovIAotZ2Jvb2xlYW4gCi1nc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbikKLXsKLSAgR01hcHBlZEZpbGUgKm1hcHBlZCA9IE5VTEw7Ci0gIEdUaW1lciAqdGltZXIgPSBOVUxMOwotICBnY2hhciAqY29udGVudHMgPSBOVUxMOwotICBnZG91YmxlIHNlY29uZHM7Ci0gIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBpbmM7Ci0gIGdzaXplIHNpemU7Ci0KLSAgLyogbWFrZSBzdXJlIHRoZXNlIHR5cGVzIGV4aXN0ICovCi0gIEdTVF9UWVBFX0VMRU1FTlRfRkFDVE9SWTsKLSAgR1NUX1RZUEVfVFlQRV9GSU5EX0ZBQ1RPUlk7Ci0gIEdTVF9UWVBFX0lOREVYX0ZBQ1RPUlk7Ci0KLSAgdGltZXIgPSBnX3RpbWVyX25ldyAoKTsKLQotICBpZiAoKG1hcHBlZCA9IGdfbWFwcGVkX2ZpbGVfbmV3KGxvY2F0aW9uLCBGQUxTRSwgTlVMTCkpID09IE5VTEwgfHwKLSAgICAgIChjb250ZW50cyA9IGdfbWFwcGVkX2ZpbGVfZ2V0X2NvbnRlbnRzKG1hcHBlZCkpID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJDYW4ndCBsb2FkIGZpbGUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7Ci0gICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfQotICBpZiAoKGNvbnRlbnRzID0gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9jaGVja19tYWdpYyhjb250ZW50cykpID09IE5VTEwpCi0gICAgewotICAgICAgR1NUX0VSUk9SKCJCaW5hcnkgcmVnaXN0cnkgdHlwZSBub3QgcmVjb2duaXplZCAoaW52YWxpZCBtYWdpYykiKTsKLSAgICAgIGdfbWFwcGVkX2ZpbGVfZnJlZShtYXBwZWQpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLQotICBpZiAoKHNpemUgPSBnX21hcHBlZF9maWxlX2dldF9sZW5ndGgobWFwcGVkKSkgPCBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKQotICAgIHsKLSAgICAgIEdTVF9JTkZPKCJObyBiaW5hcnkgcGx1Z2lucyBzdHJ1Y3R1cmUgdG8gcmVhZCIpOwotICAgICAgcmV0dXJuIFRSVUU7IC8qIFRoaXMgaXMgbm90IHJlYWxseSBhbiBlcnJvciAqLwotICAgIH0KLQotICBmb3IgKG9mZnNldCA9IGluYyA9IDA7IChvZmZzZXQgKyBzaXplb2YgKEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQpKSA8IHNpemUgJiYKLQkgKGluYyA9IGdzdF9yZWdpc3RyeV9iaW5hcnlfZ2V0X2JpbmFyeV9wbHVnaW4ocmVnaXN0cnksIGNvbnRlbnRzICsgb2Zmc2V0KSkgPiAwOwotICAgICAgIG9mZnNldCArPSBpbmMpCi0gICAgOyAvKiBNYXkgd2FudCBpbiB0aGUgZnV0dXJlIHRvIGRvIHNvbWV0aGluZyBoZXJlICovCi0gIGlmIChpbmMgPCAwKQotICAgIHsKLSAgICAgIEdTVF9ERUJVRygiUHJvYmxlbSB3aGlsZSByZWFkaW5nIGJpbmFyeSByZWdpc3RyeSIpOwotICAgICAgcmV0dXJuIEZBTFNFOwotICAgIH0KLQotICBnX3RpbWVyX3N0b3AgKHRpbWVyKTsKLSAgc2Vjb25kcyA9IGdfdGltZXJfZWxhcHNlZCAodGltZXIsIE5VTEwpOwotICBnX3RpbWVyX2Rlc3Ryb3kgKHRpbWVyKTsKLQotICBHU1RfSU5GTyAoImxvYWRlZCAlcyBpbiAlZiBzZWNvbmRzIiwgbG9jYXRpb24sIHNlY29uZHMpOwotCi0gIGlmIChtYXBwZWQpCi0gICAgZ19tYXBwZWRfZmlsZV9mcmVlIChtYXBwZWQpOwotICByZXR1cm4gVFJVRTsKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyLTAuMTAuMzYvZ3N0cmVnaXN0cnliaW5hcnkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVmMjRkNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci0wLjEwL2dzdHJlYW1lci0wLjEwLjM2L2dzdHJlZ2lzdHJ5YmluYXJ5LmgKKysrIC9kZXYvbnVsbApAQCAtMSwxOTQgKzAsMCBAQAotLyogR1N0cmVhbWVyCi0gKiBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCBFcmlrIFdhbHRoaW5zZW4gPG9tZWdhQGNzZS5vZ2kuZWR1PgotICogICAgICAgICAgICAgICAgICAgIDIwMDAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNoZWxsby5iZT4KLSAqCi0gKiBnc3RyZWdpc3RyeS5oOiBIZWFkZXIgZm9yIHJlZ2lzdHJ5IGhhbmRsaW5nCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICogQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0gKi8KLQotLyogU1VHR0VTVElPTlMgQU5EIFRPRE8gOgotKiogPT09PT09PT09PT09PT09PT09PT0KLSoqIC0gVXNlIGEgY29tcHJlc3NlZCByZWdpc3RyeSwgYnV0IHdvdWxkIGluZHVjZSBwZXJmb3JtYW5jZSBsb3NzCi0qKiAtIEVuY3J5cHQgdGhlIHJlZ2lzdHJ5LCBmb3Igc2VjdXJpdHkgcHVycG9zZSwgYnV0IHdvdWxkIGFsc28gcmVkdWNlIHBlcmZvcm1hbmNlcwotKiogLSBBbHNvIGhhdmUgYSBub24tbW1hcCBiYXNlZCBjYWNoZSByZWFkaW5nICh3b3JrIHdpdGggZmlsZSBkZXNjcmlwdG9ycykKLSovCi0KLSNpZm5kZWYgX19HU1RfUkVHSVNUUllCSU5BUllfSF9fCi0jZGVmaW5lIF9fR1NUX1JFR0lTVFJZQklOQVJZX0hfXwotCi0jaWZkZWYgSEFWRV9DT05GSUdfSAotIyAgaW5jbHVkZSAiY29uZmlnLmgiCi0jZW5kaWYKLQotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPGRpcmVudC5oPgotI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSA8c3lzL21tYW4uaD4KLSNpZmRlZiBIQVZFX1VOSVNURF9ICi0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0jZW5kaWYKLQotI2luY2x1ZGUgPGdzdC9nc3RfcHJpdmF0ZS5oPgotI2luY2x1ZGUgPGdzdC9nc3RlbGVtZW50Lmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHR5cGVmaW5kLmg+Ci0jaW5jbHVkZSA8Z3N0L2dzdHR5cGVmaW5kZmFjdG9yeS5oPgotI2luY2x1ZGUgPGdzdC9nc3R1cmkuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0aW5mby5oPgotI2luY2x1ZGUgPGdzdC9nc3RlbnVtdHlwZXMuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0cmVnaXN0cnkuaD4KLSNpbmNsdWRlIDxnc3QvZ3N0cGFkdGVtcGxhdGUuaD4KLQotI2luY2x1ZGUgImdsaWItY29tcGF0LXByaXZhdGUuaCIKLSNpbmNsdWRlIDxnbGliL2dzdGRpby5oPgotCi0vKiBBIG1hZ2ljLCB3cml0dGVuIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUgKi8KLSNkZWZpbmUgR1NUX01BR0lDX0JJTkFSWV9SRUdJU1RSWV9TVFIgIlx4YzBceGRlXHhmMFx4MGQiCi0jZGVmaW5lIEdTVF9NQUdJQ19CSU5BUllfUkVHSVNUUllfTEVOICg0KQotI2RlZmluZSBHU1RfTUFHSUNfQklOQVJZX1ZFUlNJT05fTEVOICg2NCkKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVJlZ2lzdHJ5TWFnaWMKLXsKLSAgY2hhciBtYWdpY1tHU1RfTUFHSUNfQklOQVJZX1JFR0lTVFJZX0xFTl07Ci0gIGNoYXIgdmVyc2lvbltHU1RfTUFHSUNfQklOQVJZX1ZFUlNJT05fTEVOXTsKLX0gR3N0QmluYXJ5UmVnaXN0cnlNYWdpYzsKLQotCi0vKiBVc2VkIHRvIHN0b3JlIHBvaW50ZXJzIHRvIHdyaXRlICovCi10eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5Q2h1bmNrCi17Ci0gIHZvaWQgKmRhdGE7Ci0gIHVuc2lnbmVkIGludCBzaXplOwotfSBHc3RCaW5hcnlDaHVuY2s7Ci0KLQotLyogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyAoc3RhdGljZWx5KSBldmVyeSBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIGEgcGx1Z2luCi0qKgotKiogTm90ZXMgOgotKiogIm5mZWF0dXJlcyIgaXMgdXNlZCB0byBzYXkgaG93IG1hbnkgR3N0QmluYXJ5UGx1Z2luRmVhdHVyZSBzdHJ1Y3R1cmVzIHdlIHdpbGwgaGF2ZSAKLSoqIHJpZ2h0IGFmdGVyIHRoZSBzdHJ1Y3R1cmUgaXRzZWxmLgotKi8KLQotLyogVmFyaW91cyBsZW5naHQgZGVmaW5lcyBmb3Igb3VyIEdzdEJpbmFyeVBsdWdpbkVsZW1lbnQgc3RydWN0dXJlIAotKiogTm90ZSA6IFdlIGNvdWxkIGV2ZW50dWFsbHkgdXNlIHNtYWxsZXIgc2l6ZQotKi8KLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9OQU1FX0xFTiAoMjU2KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX0RFU0NSSVBUSU9OX0xFTiAoMTAyNCkKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9WRVJTSU9OX0xFTiAoNjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfTElDRU5TRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfUEFDS0FHRV9MRU4gKDEwMjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfT1JJR0lOX0xFTiAoMTAyNCkKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVBsdWdpbkVsZW1lbnQKLXsKLSAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfTkFNRV9MRU5dOwotICBjaGFyIGRlc2NyaXB0aW9uW0dTVF9CSU5BUllfUkVHSVNUUllfREVTQ1JJUFRJT05fTEVOXTsKLSAgY2hhciBmaWxlbmFtZVtfUE9TSVhfUEFUSF9NQVhdOwotICBjaGFyIHZlcnNpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9WRVJTSU9OX0xFTl07Ci0gIGNoYXIgbGljZW5zZVtHU1RfQklOQVJZX1JFR0lTVFJZX0xJQ0VOU0VfTEVOXTsKLSAgY2hhciBzb3VyY2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9TT1VSQ0VfTEVOXTsKLSAgY2hhciBwYWNrYWdlW0dTVF9CSU5BUllfUkVHSVNUUllfUEFDS0FHRV9MRU5dOwotICBjaGFyIG9yaWdpbltHU1RfQklOQVJZX1JFR0lTVFJZX09SSUdJTl9MRU5dOwotICB1bnNpZ25lZCBsb25nIHNpemU7Ci0gIHVuc2lnbmVkIGxvbmcgbTMycDsKLSAgdW5zaWduZWQgaW50IG5mZWF0dXJlczsKLX0gR3N0QmluYXJ5UGx1Z2luRWxlbWVudDsKLQotCi0vKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBwbHVnaW4gZmVhdHVyZXMKLSoqCi0qKiBOb3RlIDoKLSoqICJucGFkdGVtcGxhdGVzIiBpcyB1c2VkIHRvIHN0b3JlIHRoZSBudW1iZXIgb2YgR3N0QmluYXJ5UGFkVGVtcGxhdGUgc3RydWN0dXJlcyBmb2xsb3dpbmcgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCi0qKiAibmludGVyZmFjZXMiIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiBHc3RCaW5hcnlJbnRlcmZhY2Ugc3RydWN0dXJlcyBmb2xsb3dpbmcgdGhlIHN0cnVjdHVyZSBpdHNlbGYuCi0qKiAibnVyaXR5cGVzIiBpcyB1c2VkIHRvIHN0b3JlIHRoZSBudW1iZXIgb2YgR3N0QmluYXJ5VXJpVHlwZSBzdHJ1Y3R1cmVzIGZvbGxvd2luZyB0aGUgc3RydWN0dXJlIGl0c2VsZi4KLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfVFlQRU5BTUVfTEVOICgyNTYpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTkFNRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9MT05HTkFNRV9MRU4gKDEwMjQpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfQ0xBU1NfTEVOICg1MTIpCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfREVTQ1JJUFRJT05fTEVOICgxMDI0KQotI2RlZmluZSBHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0FVVEhPUl9MRU4gKDI1NikKLQotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVBsdWdpbkZlYXR1cmUKLXsKLSAgY2hhciB0eXBlbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX1RZUEVOQU1FX0xFTl07Ci0gIGNoYXIgbmFtZVtHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX05BTUVfTEVOXTsKLSAgdW5zaWduZWQgbG9uZyByYW5rOwotICBjaGFyIGxvbmduYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfVFlQRU5BTUVfTE9OR05BTUVfTEVOXTsKLSAgY2hhciBjbGFzc1tHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0NMQVNTX0xFTl07Ci0gIGNoYXIgZGVzY3JpcHRpb25bR1NUX0JJTkFSWV9SRUdJU1RSWV9UWVBFTkFNRV9ERVNDUklQVElPTl9MRU5dOwotICBjaGFyIGF1dGhvcltHU1RfQklOQVJZX1JFR0lTVFJZX1RZUEVOQU1FX0FVVEhPUl9MRU5dOwotICB1bnNpZ25lZCBpbnQgbnBhZHRlbXBsYXRlczsKLSAgdW5zaWduZWQgaW50IG5pbnRlcmZhY2VzOwotICB1bnNpZ25lZCBpbnQgbnVyaXR5cGVzOwotfSBHc3RCaW5hcnlQbHVnaW5GZWF0dXJlOwotCi0KLS8qIAotKiogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMgb2YgYSBwbHVnaW4gZmVhdHVyZSAKLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfTkFNRV9MRU4gKDI1NikKLSNkZWZpbmUgR1NUX0JJTkFSWV9SRUdJU1RSWV9QQURURU1QTEFURV9DQVBfTEVOICgxMDI0KQotCi10eXBlZGVmIHN0cnVjdCBfR3N0QmluYXJ5UGFkVGVtcGxhdGUKLXsKLSAgY2hhciBuYW1lW0dTVF9CSU5BUllfUkVHSVNUUllfUEFEVEVNUExBVEVfTkFNRV9MRU5dOwotICBjaGFyIGNhcFtHU1RfQklOQVJZX1JFR0lTVFJZX1BBRFRFTVBMQVRFX0NBUF9MRU5dOwotICBpbnQgZGlyZWN0aW9uOwkJCQkJLyogRWl0aGVyIDA6InNpbmsiIG9yIDE6InNyYyIgKi8KLSAgR3N0UGFkUHJlc2VuY2UgcHJlc2VuY2U7Ci19IEdzdEJpbmFyeVBhZFRlbXBsYXRlOwotCi0vKgotKiogQSB2ZXJ5IHNpbXBsZSBzdHJ1Y3R1cmUgZGVmaW5pbmcgdGhlIHBsdWdpbiBmZWF0dXJlIGludGVyZmFjZSBzdHJpbmcKLSovCi0jZGVmaW5lIEdTVF9CSU5BUllfUkVHSVNUUllfSU5URVJGQUNFX0lOVEVSRkFDRV9MRU4gKDUxMikKLXR5cGVkZWYgc3RydWN0IF9Hc3RCaW5hcnlJbnRlcmZhY2UKLXsKLSAgY2hhciBpbnRlcmZhY2VbR1NUX0JJTkFSWV9SRUdJU1RSWV9JTlRFUkZBQ0VfSU5URVJGQUNFX0xFTl07Ci0gIHVuc2lnbmVkIGxvbmcgc2l6ZTsKLX0gR3N0QmluYXJ5SW50ZXJmYWNlOwotCi0vKiBVcmkgVHlwZSAqLwotdHlwZWRlZiBzdHJ1Y3QgX0dzdEJpbmFyeVVyaVR5cGUKLXsKLSAgR3N0VVJJVHlwZSB0eXBlOwotICB1bnNpZ25lZCBsb25nIG51cmlwcm90b2NvbHM7Ci19IEdzdEJpbmFyeVVyaVR5cGU7Ci0KLS8qIAotKiogRnVuY3Rpb24gcHJvdG90eXBlcwotKi8KLQotLyogTG9jYWwgcHJvdG90eXBlcyAqLwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3dyaXRlKEdzdFJlZ2lzdHJ5ICpyZWdpc3RyeSwgY29uc3Qgdm9pZCAqbWVtLCBjb25zdCBzc2l6ZV90IHNpemUpOwotaW5saW5lIHN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X2luaXRpYWxpemVfbWFnaWMoR3N0QmluYXJ5UmVnaXN0cnlNYWdpYyAqbSk7Ci1zdGF0aWMgZ2Jvb2xlYW4gZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9maWxsX2ZlYXR1cmUoR0xpc3QgKipsaXN0LCBHc3RQbHVnaW5GZWF0dXJlICosIEdzdEJpbmFyeVBsdWdpbkZlYXR1cmUgKiwgY29uc3QgY2hhciAqKTsKLXN0YXRpYyBnYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3NhdmVfcGx1Z2luKEdMaXN0ICoqbGlzdCwgR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBHc3RQbHVnaW4gKnBsdWdpbik7Ci1zdGF0aWMgZ2NoYXIgKmdzdF9yZWdpc3RyeV9iaW5hcnlfY2hlY2tfbWFnaWMoZ2NoYXIgKmluKTsKLXN0YXRpYyBHc3RQbHVnaW5GZWF0dXJlICpnc3RfcmVnaXN0cnlfYmluYXJ5X2xvYWRfZmVhdHVyZShHc3RCaW5hcnlQbHVnaW5GZWF0dXJlICopOwotc3RhdGljIHVuc2lnbmVkIGxvbmcgZ3N0X3JlZ2lzdHJ5X2JpbmFyeV9nZXRfYmluYXJ5X3BsdWdpbihHc3RSZWdpc3RyeSAqcmVnaXN0cnksIGdjaGFyICppbik7Ci0KLS8qIEV4cG9ydGFibGUgKi8KLWdib29sZWFuIGdzdF9yZWdpc3RyeV9iaW5hcnlfd3JpdGVfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbik7Ci1nYm9vbGVhbiBnc3RfcmVnaXN0cnlfYmluYXJ5X3JlYWRfY2FjaGUoR3N0UmVnaXN0cnkgKnJlZ2lzdHJ5LCBjb25zdCBjaGFyICpsb2NhdGlvbik7Ci0KLSNlbmRpZiAvKiAhX19HU1RfUkVHSVNUUllCSU5BUllfSF9fICovCi0KLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyLTAuMTAvZ3N0cmVhbWVyXzAuMTAuMzYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZDgyMjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXItMC4xMC9nc3RyZWFtZXJfMC4xMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLVNVTU1BUlkgPSAiR1N0cmVhbWVyIG11bHRpbWVkaWEgZnJhbWV3b3JrIgotREVTQ1JJUFRJT04gPSAiR1N0cmVhbWVyIGlzIGEgbXVsdGltZWRpYSBmcmFtZXdvcmsgZm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyB2aWRlbyBhbmQgc291bmQuIFwKLUl0IHN1cHBvcnRzIGEgd2lkZSByYW5nZSBvZiBmb3JtYXRzIGluY2x1ZGluZyBtcDMsIG9nZywgYXZpLCBtcGVnIGFuZCBxdWlja3RpbWUuIgotSE9NRVBBR0UgPSAiaHR0cDovL2dzdHJlYW1lci5mcmVlZGVza3RvcC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9R3N0cmVhbWVyIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3N0L2dzdC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjE7bWQ1PThlNWZlNWU4N2QzM2EwNDQ3OWZkZTg2MmUyMzhlYWE0IgotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ4bWwyIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCi0KLVBSID0gInIyIgotCi1TUkNfVVJJID0gImh0dHA6Ly9nc3RyZWFtZXIuZnJlZWRlc2t0b3Aub3JnL3NyYy9nc3RyZWFtZXIvZ3N0cmVhbWVyLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vY2hlY2tfZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dzdC1pbnNwZWN0LWNoZWNrLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYmFzZXBhcnNlLUZpeC1zZWxmLWNvbXBhcmlzb24tYWx3YXlzLWV2YWx1YXRlcy10by10ci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhcnNlLW1ha2UtZ3JhbW1hci55LXdvcmstd2l0aC1CaXNvbi0zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItZ3N0LWdsaWIyLm00LWRvbi10LWRvLWNyYXp5LXRoaW5ncy10by1HTElCX0NGTEFHUy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMGNmN2Q2ODc3ZjY5NGExYTJhZDJiNGQxZWNiODkwYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTU2YTUyOWUwYThjZjFjZDBhZmQwY2FiMmFmNTQ4OGM5NTI0ZTdjM2Y0MDlkZTI5YjVkODJiYjQxYWU3YTMwIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1HU1RSRUFNRVJfREVCVUcgPz0gIi0tZGlzYWJsZS1kZWJ1ZyIKLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jYm9vayAtLWRpc2FibGUtZ3RrLWRvYyBcCi0gICAgICAgICAgICAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAtLWRpc2FibGUtY2hlY2sgXAotICAgICAgICAgICAgLS1kaXNhYmxlLWV4YW1wbGVzIC0tZGlzYWJsZS10ZXN0cyBcCi0gICAgICAgICAgICAtLWRpc2FibGUtdmFsZ3JpbmQgJHtHU1RSRUFNRVJfREVCVUd9IFwKLSAgICAgICAgICAgIC0tZGlzYWJsZS1pbnRyb3NwZWN0aW9uIFwKLSAgICAgICAgICAgICIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl92YWxncmluZF92YWxncmluZF9oPW5vIgotCi0jIGFwcGx5IGdzdHJlYW1lciBoYWNrIGFmdGVyIE1ha2VmaWxlLmluLmluIGluIHNvdXJjZSBpcyByZXBsYWNlZCBieSBvdXIgdmVyc2lvbiBmcm9tCi0jICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9wby9NYWtlZmlsZS5pbi5pbiwgYnV0IGJlZm9yZSBjb25maWd1cmUgaXMgZXhlY3V0ZWQKLSMgaHR0cDovL2xpc3RzLmxpbnV4dG9nby5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTItTm92ZW1iZXIvMDMyMjMzLmh0bWwKLW9lX3J1bmNvbmZfcHJlcGVuZCgpIHsKLSAgICAgICAgc2VkIC1pIC1lICIxYVxcIiAtZSAnR0VUVEVYVF9QQUNLQUdFID0gQEdFVFRFWFRfUEFDS0FHRUAnICR7U30vcG8vTWFrZWZpbGUuaW4uaW4KLX0KLQotI2RvX2NvbXBpbGVfcHJlcGVuZCAoKSB7Ci0jICAgIG12ICR7V09SS0RJUn0vZ3N0cmVnaXN0cnliaW5hcnkuW2NoXSAke1N9L2dzdC8KLSN9Ci0KLUZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLyouc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiAke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5sYSAke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvKi5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIgJHtsaWJkaXJ9L2dzdHJlYW1lci0wLjEwLy5kZWJ1Zy8gJHtsaWJleGVjZGlyfS9nc3RyZWFtZXItMC4xMC8uZGVidWcvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2ltYWdlcy9tZXRhLW11bHRpbWVkaWEtaW1hZ2UtYmFzZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDlmOTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtbXVsdGltZWRpYSBidWlsZCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMID0gInBhY2thZ2Vncm91cC1jb3JlLWJvb3QiCisKK0xJQ0VOU0UgPSAiTUlUIgorCitpbmhlcml0IGNvcmUtaW1hZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvaW1hZ2VzL21ldGEtbXVsdGltZWRpYS1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjJmZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9pbWFnZXMvbWV0YS1tdWx0aW1lZGlhLWltYWdlLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSAgbWV0YS1tdWx0aW1lZGlhLWltYWdlLWJhc2UuYmIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmRjMTM5NC9saWJkYzEzOTRfZ2l0LmJiCmluZGV4IGI2YmI0NDcuLjNiM2FjODMgMTAwNzU1Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZGMxMzk0L2xpYmRjMTM5NF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkYzEzOTQvbGliZGMxMzk0X2dpdC5iYgpAQCAtMTksNyArMTksNyBAQAogICAgICAgICAgICBmaWxlOi8vaW5zdGFsbF9leGFtcGxlcy5wYXRjaCBcCiAgICAgICAgICAgIgogCi1TID0gIiR7V09SS0RJUn0vZ2l0LyR7UE59IgorUyA9ICIke1dPUktESVJ9L2dpdC8ke0JQTn0iCiAKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJjc2EvbGliZHZiY3NhL2xpYmR2YmNzYS5wYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYS9saWJkdmJjc2EucGMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdlNzQ2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYS9saWJkdmJjc2EucGMKQEAgLTAsMCArMSwxMCBAQAorcHJlZml4PS91c3IKK2xpYmRpcj0ke3ByZWZpeH0vbGliCitpbmNsdWRlZGlyPSR7cHJlZml4fS9pbmNsdWRlCisKK05hbWU6IGxpYmR2YmNzYQorRGVzY3JpcHRpb246ICBpcyBhIGZyZWUgaW1wbGVtZW50YXRpb24gb2YgdGhlIERWQiBDb21tb24gU2NyYW1ibGluZyBBbGdvcml0aG0gLSBEVkIvQ1NBIC0gd2l0aCBlbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIGNhcGFiaWxpdGllcy4KK1ZlcnNpb246IDEuMS4wCitSZXF1aXJlczoKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sZHZiY3NhCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYV8xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvbGliZHZiY3NhL2xpYmR2YmNzYV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjA0MmMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJkdmJjc2EvbGliZHZiY3NhXzEuMS4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiT3BlbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgRFZCIENvbW1vbiBTY3JhbWJsaW5nIEFsZ29yaXRobSwgZW5jcnlwdCBhbmQgZGVjcnlwdCAiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NSQ1JFViA9ICJiYzZjMGIxNjRhODdjZTA1ZTk5MjU3ODVjYzZmYjNmNTRjMDJiMDI2IgorCitTUkNfVVJJID0gImdpdDovL2NvZGUudmlkZW9sYW4ub3JnL3ZpZGVvbGFuL2xpYmR2YmNzYS5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vbGliZHZiY3NhLnBjIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgcGtnY29uZmlnCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1N9L3NyYy9kdmJjc2EvZHZiY3NhLmggJHtEfSR7aW5jbHVkZWRpcn0vZHZiY3NhL2R2YmNzYS5oCisgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vbGliZHZiY3NhLnBjICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2xpYmR2YmNzYS5wYworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9taW1pYy9taW1pY18xLjIuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9taW1pYy9taW1pY18xLjIuMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNGIxYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL21pbWljL21pbWljXzEuMi4wLjIuYmIKQEAgLTAsMCArMSwyNyBAQAorU1VNTUFSWSA9ICJBIGZhc3QgbGlnaHR3ZWlnaHQgVGV4dC10by1zcGVlY2ggZW5naW5lIgorREVTQ1JJUFRJT04gPSAiTWltaWMgaXMgYSBmYXN0LCBsaWdodHdlaWdodCBUZXh0LXRvLXNwZWVjaCBlbmdpbmUgZGV2ZWxvcGVkIGJ5IE15Y3JvZnQgQS5JLiBhbmQgVm9jYWxpRCwgYmFzZWQgb24gQ2FybmVnaWUgTWVsbG9uIFVuaXZlcnNpdHnigJlzIEZsaXRlIChGZXN0aXZhbC1MaXRlKSBzb2Z0d2FyZS4gTWltaWMgdGFrZXMgaW4gdGV4dCBhbmQgcmVhZHMgaXQgb3V0IGxvdWQgdG8gY3JlYXRlIGEgaGlnaCBxdWFsaXR5IHZvaWNlLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbWltaWMubXljcm9mdC5haS8iCitTRUNUSU9OID0gIm11bHRpbWVkaWEiCisKKyMgIk1pbWljIGlzIGF2YWlsYWJsZSB1bmRlciBwZXJtaXNzaXZlIEJTRC1saWtlIGxpY2Vuc2VzIgorTElDRU5TRSA9ICJNSVQtWCAmIFwKKyAgICAgICAgICAgUEQgJiBcCisgICAgICAgICAgIENNVS1UZXggJiBcCisgICAgICAgICAgIEJTRCAmIFwKKyAgICAgICAgICAgQlNELTItQ2xhdXNlICYgXAorICAgICAgICAgICBCU0QtMy1DbGF1c2UgJiBcCisgICAgICAgICAgIGZsaXRlICYgXAorICAgICAgICAgICAoZmxpdGUgJiBTdW4pICYgXAorICAgICAgICAgICBCZWxsQmlyZCAmIFwKKyAgICAgICAgICAgQXBhY2hlLTIuMCBcCisgICAgICAgICAgICIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQxNmVmMWNhNTE2NzcwN2ZlMzgxZDdiZTMzNjY0YTMzIgorCitERVBFTkRTID0gImN1cmwtbmF0aXZlIGljdSIKKworU1JDUkVWID0gIjY3ZTQzYmYwZmE1NjAwODI3NmI4NzhlYzM3OTBhYTVmMzJlYjJhMTYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTXljcm9mdEFJL21pbWljLmdpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDEtVXNlLUJVSUxEX0NDLXRvLWNvbXBpbGUtbmF0aXZlLXRvb2xzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMS1Vc2UtQlVJTERfQ0MtdG8tY29tcGlsZS1uYXRpdmUtdG9vbHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZmMTIzZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0LzAwMDEtVXNlLUJVSUxEX0NDLXRvLWNvbXBpbGUtbmF0aXZlLXRvb2xzLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMjkyMTc5MzJjMzRkN2UzMzY4NzY0YWI2NDg3OWRjNmYxZWRhYjFhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE0IEphbiAyMDE5IDExOjE5OjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBob3N0IGNvbXBpbGVyIHRvIGNvbXBpbGUgbmF0aXZlIHRvb2xzCisKK0hlbHBzIGluIGNyb3NzIGNvbXBpbGluZworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FLVNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDUgKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggMzliODAyNTAuLmQ2YmRmOGVkIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMTI4OCwxMSArMTI4OCwxMCBAQCBGSUxFKE1BS0VfRElSRUNUT1JZICIke05BVElWRV9CSU5fRElSfSIpCisgU0VUKEJJTjJIX0NPTU1BTkQgICIke05BVElWRV9CSU5fRElSfWJpbjJoIikKKyBTRVQoQlNJTkNHRU5fQ09NTUFORCAgIiR7TkFUSVZFX0JJTl9ESVJ9YnNpbmNnZW4iKQorIEFERF9DVVNUT01fQ09NTUFORChPVVRQVVQgIiR7QklOMkhfQ09NTUFORH0iICIke0JTSU5DR0VOX0NPTU1BTkR9IgorLSAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUcgIiR7Q01BS0VfR0VORVJBVE9SfSIgIiR7TkFUSVZFX1NSQ19ESVJ9IgorICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgcmVtb3ZlICIke0JJTjJIX0NPTU1BTkR9IiAiJHtCU0lOQ0dFTl9DT01NQU5EfSIKKy0gICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC0tYnVpbGQgLiAtLWNvbmZpZyAiUmVsZWFzZSIKKysgICAgQ09NTUFORCBnY2MgIiR7TkFUSVZFX1NSQ19ESVJ9YmluMmguYyIgLW8gIiR7QklOMkhfQ09NTUFORH0iIC1sbQorKyAgICBDT01NQU5EIGdjYyAiJHtOQVRJVkVfU1JDX0RJUn1ic2luY2dlbi5jIiAtbyAiJHtCU0lOQ0dFTl9DT01NQU5EfSIgLWxtCisgICAgIFdPUktJTkdfRElSRUNUT1JZICIke05BVElWRV9CSU5fRElSfSIKKy0gICAgREVQRU5EUyAiJHtOQVRJVkVfU1JDX0RJUn1DTWFrZUxpc3RzLnR4dCIKKyAgICAgSU1QTElDSVRfREVQRU5EUyBDICIke05BVElWRV9TUkNfRElSfWJpbjJoLmMiCisgICAgICAgICAgICAgICAgICAgICAgQyAiJHtOQVRJVkVfU1JDX0RJUn1ic2luY2dlbi5jIgorICAgICBWRVJCQVRJTQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnQvMDAwMi1tYWtlaHJ0Zi1EaXNhYmxlLVdzdHJpbmdvcC10cnVuY2F0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MjAzODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL29wZW5hbC9vcGVuYWwtc29mdC8wMDAyLW1ha2VocnRmLURpc2FibGUtV3N0cmluZ29wLXRydW5jYXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAwN2VmODZlMzNlZDZmNzU4NWYwZGZhYTE3MzJlYTE3YzgxNjY1NWE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTQgSmFuIDIwMTkgMTE6NDU6NDIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWFrZWhydGY6IERpc2FibGUgV3N0cmluZ29wLXRydW5jYXRpb24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtTaG91bGQgYmUgZml4ZWQgaW4gY29kZV0KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB1dGlscy9tYWtlaHJ0Zi5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3V0aWxzL21ha2VocnRmLmMgYi91dGlscy9tYWtlaHJ0Zi5jCitpbmRleCAwYmQzNjg0OS4uMGFiZTQyNTIgMTAwNjQ0CistLS0gYS91dGlscy9tYWtlaHJ0Zi5jCisrKysgYi91dGlscy9tYWtlaHJ0Zi5jCitAQCAtODYyLDYgKzg2Miw3IEBAIHN0YXRpYyBpbnQgVHJSZWFkT3BlcmF0b3IoVG9rZW5SZWFkZXJUICp0ciwgY29uc3QgY2hhciAqb3ApCisgICogcGF0dGVybiBzdHJpbmcgYXJlIHJlcGxhY2VkIHdpdGggdGhlIHJlcGxhY2VtZW50IHN0cmluZy4gIFRoZSByZXN1bHQgaXMKKyAgKiB0cnVuY2F0ZWQgaWYgbmVjZXNzYXJ5LgorICAqLworKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzdHJpbmdvcC10cnVuY2F0aW9uIgorIHN0YXRpYyBpbnQgU3RyU3Vic3QoY29uc3QgY2hhciAqaW4sIGNvbnN0IGNoYXIgKnBhdCwgY29uc3QgY2hhciAqcmVwLCBjb25zdCBzaXplX3QgbWF4TGVuLCBjaGFyICpvdXQpCisgeworICAgICBzaXplX3QgaW5MZW4sIHBhdExlbiwgcmVwTGVuOworQEAgLTkwMCw2ICs5MDEsNyBAQCBzdGF0aWMgaW50IFN0clN1YnN0KGNvbnN0IGNoYXIgKmluLCBjb25zdCBjaGFyICpwYXQsIGNvbnN0IGNoYXIgKnJlcCwgY29uc3Qgc2l6ZQorICAgICByZXR1cm4gIXRydW5jYXRlZDsKKyB9CisgCisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKKyAKKyAvKioqKioqKioqKioqKioqKioqKioqCisgICoqKiBNYXRoIHJvdXRpbmVzICoqKgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xNS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGYxYTI2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTUuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbkFMIGlzIGEgY3Jvc3MtcGxhdGZvcm0gM0QgYXVkaW8gQVBJIgotSE9NRVBBR0UgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC5odG1sIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhY2MzYThmNDUyOTMwMDgzYmJiOTVkODJiOTg5YzM1IgotCi1pbmhlcml0IGNtYWtlCi0KLVNSQ19VUkkgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC1yZWxlYXNlcy8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gImVhODNkZWMzYjk2NTVhMjdkMjhlN2JjN2NhZTljZDcxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlMjlhMTYyZjA4NDFjY2I0MTM1Y2U3NmU5MmU4YTcwNDU4OWI2ODBhODVlZGRmNzZmODk4ZGU1MjM2ZWIwNTYiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgcHVsc2VhdWRpbycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCi0jIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05Ci0jIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKLSMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLVBBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvb3BlbmFsL29wZW5hbC1zb2Z0XzEuMTkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWNkZmFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9vcGVuYWwvb3BlbmFsLXNvZnRfMS4xOS4xLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiT3BlbkFMIGlzIGEgY3Jvc3MtcGxhdGZvcm0gM0QgYXVkaW8gQVBJIgorSE9NRVBBR0UgPSAiaHR0cDovL2tjYXQuc3RyYW5nZXNvZnQubmV0L29wZW5hbC5odG1sIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBmMTU5ZjE5ZjkzNzdlMTg5NWZiYjQ3N2Q1YTc5NTNlIgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCisjIG9wZW5hbC1zb2Z0LTEuMTkuMQorU1JDUkVWID0gIjY3NjEyMThlNTE2OTlmNDZiZjI1YzM3N2U2NWIzZTllYTVlNDM0YjkiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2NhdC9vcGVuYWwtc29mdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1CVUlMRF9DQy10by1jb21waWxlLW5hdGl2ZS10b29scy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLW1ha2VocnRmLURpc2FibGUtV3N0cmluZ29wLXRydW5jYXRpb24ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgcHVsc2VhdWRpbycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gPSAiLURBTFNBPVRSVUUsIC1EQUxTQT1GQUxTRSwgYWxzYS1saWIiCitQQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi1EUFVMU0VBVURJTz1UUlVFLCAtRFBVTFNFQVVESU89RkFMU0UsIHB1bHNlYXVkaW8iCisjIGN1cnJlbnRseSBkb2Vzbid0IHdvcmsgd2l0aCBsaWJhdi05CisjIFBLR19DSEVDS19NT0RVTEVTKEZGTVBFRyBsaWJhdmNvZGVjPj01My42MS4xMDAgbGliYXZmb3JtYXQ+PTUzLjMyLjEwMCBsaWJhdnV0aWw+PTUxLjM1LjEwMCkKKyMgYnV0IGFsZmZtcGVnLmM6NDE4OjQ0OiBlcnJvcjogJ0FWX0NIX0xBWU9VVF9NT05PJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK1BBQ0tBR0VDT05GSUdbZXhhbXBsZXNdID0gIi1ERVhBTVBMRVM9VFJVRSwgLURFWEFNUExFUz1GQUxTRSwgbGliYXYiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L29wZW5hbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0OGFjNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLmJiCkBAIC0wLDAgKzEsNTIgQEAKK1NVTU1BUlkgPSAiTWV0YS1tdWx0aW1lZGlhIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtbWt2IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLXN1cHBvcnQgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtbWt2IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhLXN1cHBvcnQgXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1tdWx0aW1lZGlhID0gIlwKKyAgICBsaWJkdmJwc2kgbGliZGMxMzk0IGdzdGQgZ3N0LXNoYXJrIFwKKyAgICBiaWdidWNrYnVubnktNzIwcCB0ZWFyc29mc3RlZWwtMTA4MHAgYmlnYnVja2J1bm55LTEwODBwIGJpZ2J1Y2tidW5ueS00ODBwIFwKKyAgICBvcGVuYWwtc29mdCBkbGV5bmEtY29yZSBkbGV5bmEtcmVuZGVyZXIgZGxleW5hLXNlcnZlciBkbGV5bmEtY29ubmVjdG9yLWRidXMgXAorICAgIGFsc2EtZXF1YWwgbGliZHZkbmF2IGxpYm11c2ljYnJhaW56IHRpbnlhbHNhIFwKKyAgICBmbHVpZHN5bnRoIGNkcGFyYW5vaWEgdm9yYmlzLXRvb2xzIHRyZW1vciBjYXBzIGxpYmFvIGxpYmF2YzEzOTQgXAorICAgIG9wdXNmaWxlIGdlcmJlcmEgbGliZHZkY3NzIHdlYnJ0Yy1hdWRpby1wcm9jZXNzaW5nIFwKKyAgICBydG1wZHVtcCBsaWJvcGVubXB0IHNjaHJvZWRpbmdlciBtcGQgbXBjIGxpYm1wZGNsaWVudCBcCisgICAgbmNtcGMgbGlibXBkIGxpYnNxdWlzaCBkY2FkZWMgbGliaWVjNjE4ODMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgIiIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIsICJjb21tZXJjaWFsIiwgIm1pbmlkbG5hIGdzdC1mbHVlbmRvLW1wZWdkZW11eCB2bGMiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAiY29tbWVyY2lhbCIsICJ2by1hYWNlbmMgc294IGxpYmRlMjY1IGdzdC1vcGVubWF4IiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAic3RyZWFtcmlwcGVyIGdzdC1wbHVnaW5zLXVnbHkgZ3N0LWZsdWVuZG8tbXAzIGdzdC1wbHVnaW5zLWdsIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAib3BlbmgyNjQgb3BlbmNvcmUtYW1yIGZhYWMgdm8tYW1yd2JlbmMiLCAiIiwgZCl9IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW11bHRpbWVkaWEtY29ubmVjdGl2aXR5ID0gIlwKKyAgICByeWdlbCBndXBucCBndXBucC1pZ2QgZ3NzZHAgZ3VwbnAtZGxuYSBndXBucC1hdiBsaWJ1cG5wIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSIsICJndXBucC10b29scyIsICIiLCBkKX0gXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1kdmIgPSAiXAorICAgIG9zY2FtICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1ta3YgPSAiXAorICAgIGxpYm1hdHJvc2thIGxpYmVibWwgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbXVsdGltZWRpYS1zdXBwb3J0ID0gIlwKKyAgICBsaWJvaWwgbGlibWVkaWFhcnQgbGlibWVkaWFhcnQtMi4wIGdzdC1pbnN0cnVtZW50cyBsaWJzcnRwIGNyb3NzZ3VpZCBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy5pbmMKaW5kZXggZjEzYzBlYS4uMTlhYzgyMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMuaW5jCkBAIC01LDcgKzUsNyBAQAogTElDRU5TRSA9ICJHUEwtMi4wIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKLURFUEVORFMgPSAiZnJpYmlkaSBsaWJ0b29sIGxpYmdjcnlwdCBsaWJnY3J5cHQtbmF0aXZlIFwKK0RFUEVORFMgPSAiY29yZXV0aWxzLW5hdGl2ZSBmcmliaWRpIGxpYnRvb2wgbGliZ2NyeXB0IGxpYmdjcnlwdC1uYXRpdmUgXAogICAgZGJ1cyBkYnVzLWdsaWIgbGlieG1sMiBnbnV0bHMgXAogICAgdHJlbW9yIGZhYWQyIGZmbXBlZyBmbGFjIGZsdWlkc3ludGggYWxzYS1saWIgXAogICAgbHVhLW5hdGl2ZSBsdWEgbGliaWRuIFwKQEAgLTIxLDEyICsyMSwxMiBAQAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKIEFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCitleHBvcnQgQlVJTERDQyA9ICIke0JVSUxEX0NDfSIKIEVYVFJBX09FQ09ORiA9ICJcCiAgICAgLS1lbmFibGUtcnVuLWFzLXJvb3QgXAogICAgIC0tZW5hYmxlLXh2aWRlbyBcCiAgICAgLS1kaXNhYmxlLXNjcmVlbiAtLWRpc2FibGUtY2FjYSBcCi0gICAgLS1lbmFibGUtaHR0cGQgLS1lbmFibGUtdmxtIFwKKyAgICAtLWVuYWJsZS12bG0gXAogICAgIC0tZW5hYmxlLWZyZWV0eXBlIFwKICAgICAtLWVuYWJsZS10cmVtb3IgXAogICAgIC0tZW5hYmxlLXY0bDIgLS1kaXNhYmxlLWFhIC0tZGlzYWJsZS1mYWFkIFwKQEAgLTM1LDIyICszNSwyMiBAQAogICAgIC0td2l0aG91dC1rZGUtc29saWQgXAogICAgIC0tZW5hYmxlLXJlYWxydHNwIFwKICAgICAtLWRpc2FibGUtbGlidGFyIFwKKyAgICAtLWVuYWJsZS1hdmNvZGVjIFwKICAgICBhY19jdl9wYXRoX01PQz0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbW9jNCBcCiAgICAgYWNfY3ZfcGF0aF9SQ0M9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3JjYzQgXAogICAgIGFjX2N2X3BhdGhfVUlDPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS91aWM0IFwKICIKIAotUEFDS0FHRUNPTkZJRyA/PSAiIGxpdmU1NTUgZGMxMzk0IGR2MTM5NCBub3RpZnkgZm9udGNvbmZpZyBmcmVldHlwZSBkdmRyZWFkIHBuZyAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEgc2RsIHZkcGF1JywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUcgPz0gIiBsaXZlNTU1IGRjMTM5NCBkdjEzOTQgbm90aWZ5IGZvbnRjb25maWcgZnJlZXR5cGUgZHZkcmVhZCBwbmcgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIKKwogUEFDS0FHRUNPTkZJR1ttYWRdID0gIi0tZW5hYmxlLW1hZCwtLWRpc2FibGUtbWFkLGxpYm1hZCIKLVBBQ0tBR0VDT05GSUdbc2RsXSA9ICItLWVuYWJsZS1zZGwsLS1kaXNhYmxlLXNkbCx2aXJ0dWFsL2xpYnNkbCBsaWJzZGwtaW1hZ2UgIgogUEFDS0FHRUNPTkZJR1thNTJdID0gIi0tZW5hYmxlLWE1MiwtLWRpc2FibGUtYTUyLGxpYmE1MiIKIFBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgogUEFDS0FHRUNPTkZJR1tsaXZlNTU1XSA9ICItLWVuYWJsZS1saXZlNTU1LC0tZGlzYWJsZS1saXZlNTU1LGxpdmU1NTUiCiBQQUNLQUdFQ09ORklHW2xpYmFzc10gPSAiLS1lbmFibGUtbGliYXNzLC0tZGlzYWJsZS1saWJhc3MsbGliYXNzIgotUEFDS0FHRUNPTkZJR1tta3ZdID0gIi0tZW5hYmxlLW1rdiwtLWRpc2FibGUtbWt2LGxpYm1hdHJvc2thIGxpYmVibWwiCiBQQUNLQUdFQ09ORklHW3Bvc3Rwcm9jXSA9ICItLWVuYWJsZS1wb3N0cHJvYywtLWRpc2FibGUtcG9zdHByb2MsbGlicG9zdHByb2MiCitQQUNLQUdFQ09ORklHW2xpYnZhXSA9ICItLWVuYWJsZS1saWJ2YSwtLWRpc2FibGUtbGlidmEsbGlidmEiCiBQQUNLQUdFQ09ORklHW29wZW5jdl0gPSAiLS1lbmFibGUtb3BlbmN2LC0tZGlzYWJsZS1vcGVuY3Ysb3BlbmN2IgotUEFDS0FHRUNPTkZJR1tsaWJ2YV0gPSAiLS1lbmFibGUtbGlidmEgLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtbGlidmEgLS1kaXNhYmxlLWF2Y29kZWMsbGlidmEgbGliYXYiCiBQQUNLQUdFQ09ORklHW3NwZWV4XSA9ICItLWVuYWJsZS1zcGVleCwtLWRpc2FibGUtc3BlZXgsc3BlZXgiCiBQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLS1lbmFibGUtZ3N0LWRlY29kZSwtLWRpc2FibGUtZ3N0LWRlY29kZSxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBnc3QtcGx1Z2lucy1iYWQiCiBQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtdnB4LC0tZGlzYWJsZS12cHgsIGxpYnZweCIKQEAgLTgxLDcgKzgxLDYgQEAKIH0KIAogZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICBzZWQgLWkgLWUgczonJChNT0MpICQoREVGUykgJChDUFBGTEFHUyknOickKE1PQykgJChERUZTKSdcIC1JJHtCfS9pbmNsdWRlXCAtRFNZU19MSU5VWDpnICR7Qn0vbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlCiAgICAgc2VkIC1pIC1lIHM6JyR7dG9wX2J1aWxkZGlyX3NsYXNofWxpYnRvb2wnOicke3RvcF9idWlsZGRpcl9zbGFzaH0nJHtUQVJHRVRfU1lTfS1saWJ0b29sOmcgJHtCfS9kb2x0bGlidG9vbAogfQogCkBAIC05NCwxMCArOTMsMTEgQEAKIAogRklMRVNfJHtQTn0gKz0gIlwKICAgICAke2JpbmRpcn0vdmxjIFwKKyAgICAke2xpYmRpcn0vdmxjL3ZsYy9saWJ2bGNfdmRwYXUuc28gXAogICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zIFwKICAgICAke2RhdGFkaXJ9L3ZsYy8gXAogICAgICR7ZGF0YWRpcn0vaWNvbnMgXAotICAgICR7bGluZGlyfS92bGMvdmxjL2xpYnZsY192ZHBhdS5zbyBcCisgICAgJHtkYXRhZGlyfS9tZXRhaW5mby92bGMuYXBwZGF0YS54bWwgXAogIgogCiBGSUxFU18ke1BOfS1kYmcgKz0gIlwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAxLWVuYWJsZS1zdWJkaXItb2JqZWN0cy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAxLWVuYWJsZS1zdWJkaXItb2JqZWN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWYwZTcwOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMS1lbmFibGUtc3ViZGlyLW9iamVjdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1JbmRleDogdmxjLTIuMS4yL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjEuMi5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIHZsYy0yLjEuMi9jb25maWd1cmUuYWMKLUBAIC0yNCw3ICsyNCw3IEBAIEFDX0NBTk9OSUNBTF9CVUlMRAotIEFDX0NBTk9OSUNBTF9IT1NUCi0gQUNfUFJFU0VSVkVfSEVMUF9PUkRFUgotIAotLUFNX0lOSVRfQVVUT01BS0UodGFyLXVzdGFyIGNvbG9yLXRlc3RzIGZvcmVpZ24pCi0rQU1fSU5JVF9BVVRPTUFLRSh0YXItdXN0YXIgY29sb3ItdGVzdHMgZm9yZWlnbiBzdWJkaXItb2JqZWN0cykKLSBBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQotIAotICMgRGlzYWJsZSB3aXRoICIuL2NvbmZpZ3VyZSAtLWRpc2FibGUtc2lsZW50LXJ1bGVzIiBvciAibWFrZSBWPTEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2gKaW5kZXggNmQyYTQ2Zi4uM2RiM2RmMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDItZ2xpYmMtZG9lcy1ub3QtcHJvdmlkZS1zdHJsY3B5LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDAyLWdsaWJjLWRvZXMtbm90LXByb3ZpZGUtc3RybGNweS5wYXRjaApAQCAtMSw4ICsxLDYgQEAKLUluZGV4OiB2bGMtMi4xLjIvc3JjL2lucHV0L3N1YnRpdGxlcy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMS4yLm9yaWcvc3JjL2lucHV0L3N1YnRpdGxlcy5jCi0rKysgdmxjLTIuMS4yL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYwotQEAgLTQ0LDYgKzQ0LDEyIEBACistLS0gYS9zcmMvaW5wdXQvc3VidGl0bGVzLmMKKysrKyBiL3NyYy9pbnB1dC9zdWJ0aXRsZXMuYworQEAgLTQyLDYgKzQyLDEyIEBACiAgI2luY2x1ZGUgImlucHV0X2ludGVybmFsLmgiCiAgCiAgLyoqCkBAIC0xMiw2ICsxMCw2IEBACiArI2RlZmluZSBzdHJsY3B5KGRzdCwgc3JjLCBuKSAqKChjaGFyKiApIG1lbXBjcHkoZHN0LCBzcmMsIG4pKSA9ICdcMCcKICsKICsvKioKLSAgKiBXZSBhcmUgbm90IGdvaW5nIHRvIGF1dG9kZXRlY3QgbW9yZSBzdWJ0aXRsZSBmaWxlcyB0aGFuIHRoaXMuCisgICogVGhlIHBvc3NpYmxlIGV4dGVuc2lvbnMgZm9yIHN1YnRpdGxlIGZpbGVzIHdlIHN1cHBvcnQKICAgKi8KLSAjZGVmaW5lIE1BWF9TVUJUSVRMRV9GSUxFUyAxMjgKKyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3ViX2V4dHNbXSA9IHsgU0xBVkVfU1BVX0VYVEVOU0lPTlMsICIiIH07CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlODgxZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDMtdXNlLWFtLXBhdGgtbGliZ2NyeXB0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotKiBUaGUgdXBzdHJlYW0gdGVzdHMgZm9yIGxpYmdjcnlwdCBhcmUgYXdrd2FyZCBhbmQgbm90IHdvcmtpbmcuCi0gIC0gUmVxdWlyZXMgbGliZ2NyeXB0LWNvbmZpZywgd2hpY2ggc2VlbXMgYnJva2VuPwotKiBBTV9QQVRIX0xJQkdDUllQVCBleGlzdHMgZm9yIGEgcmVhc29uLCB3aHkgbm90IHVzZSBpdD8gS0lTUy4KLSogVXBzdHJlYW0gYWJhbmRvbmVkIEFNX1BBVEhfTElCR0NSWVBUIGluIHRoZSBwYXN0Li4ubmV3ZXIgYXV0b21ha2Ugb2s/Ci0KLVVwc3RyZWFtIHN0YXR1czogUGVuZGluZwotCi1JbmRleDogdmxjLTIuMi4xL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIHZsYy0yLjIuMS9jb25maWd1cmUuYWMKLUBAIC00MDE3LDI1ICs0MDE3LDE5IEBAIFBLR19FTkFCTEVfTU9EVUxFU19WTEMoW0xJQlhNTDJdLCBbeG1sXSwKLSBkbmwKLSBkbmwgbGliZ2NyeXB0Ci0gZG5sCi0rR0NSWVBUX0xJQlZFUj0xCi0rR0NSWVBUX1JFUT0xLjEuOTQKLSBBQ19BUkdfRU5BQkxFKGxpYmdjcnlwdCwKLSAgIFsgIC0tZGlzYWJsZS1saWJnY3J5cHQgICAgIGdjcnlwdCBzdXBwb3J0IChkZWZhdWx0IGVuYWJsZWQpXSkKLSBBU19JRihbdGVzdCAiJHtlbmFibGVfbGliZ2NyeXB0fSIgIT0gIm5vIl0sIFsKLS0gIEFDX0NIRUNLX0RFQ0woW0dDUllDVExfU0VUX1RIUkVBRF9DQlNdLCBbCi0tICAgIGxpYmdjcnlwdC1jb25maWcgLS12ZXJzaW9uID4vZGV2L251bGwgfHwgXAotLSAgICAgICAgQUNfTVNHX0VSUk9SKFtnY3J5cHQuaCBwcmVzZW50IGJ1dCBsaWJnY3J5cHQtY29uZmlnIGNvdWxkIG5vdCBiZSBmb3VuZF0pCi0tICAgIEFDX0NIRUNLX0xJQihnY3J5cHQsIGdjcnlfY29udHJvbCwgWwotLSAgICAgIGhhdmVfbGliZ2NyeXB0PSJ5ZXMiCi0tICAgICAgR0NSWVBUX0NGTEFHUz0iYGxpYmdjcnlwdC1jb25maWcgLS1jZmxhZ3NgIgotLSAgICAgIEdDUllQVF9MSUJTPSJgbGliZ2NyeXB0LWNvbmZpZyAtLWxpYnNgIgotLSAgICBdLCBbCi0tICAgICAgQUNfTVNHX0VSUk9SKFtsaWJnY3J5cHQgbm90IGZvdW5kLiBJbnN0YWxsIGxpYmdjcnlwdCBvciBwYXNzIC0tZGlzYWJsZS1saWJnY3J5cHQuXSkKLS0gICAgXSwgW2BsaWJnY3J5cHQtY29uZmlnIC0tbGlic2BdKQotLSAgXSwgWwotLSAgICBBQ19NU0dfRVJST1IoW2xpYmdjcnlwdCB2ZXJzaW9uIDEuMS45NCBvciBoaWdoZXIgbm90IGZvdW5kLiBJbnN0YWxsIGxpYmdjcnlwdCBvciBwYXNzIC0tZGlzYWJsZS1saWJnY3J5cHQuXSkKLS0gIF0sIFsjaW5jbHVkZSA8Z2NyeXB0Lmg+XQotLSAgKQotKyAgICAgIEFNX1BBVEhfTElCR0NSWVBUKCRHQ1JZUFRfTElCVkVSOiRHQ1JZUFRfUkVRLAotKyAgICAgIFsKLSsgICAgICAgICAgR0NSWVBUX0NGTEFHUz0iJExJQkdDUllQVF9DRkxBR1MiCi0rICAgICAgICAgIEdDUllQVF9MSUJTPSIkTElCR0NSWVBUX0xJQlMiCi0rICAgICAgXSxbCi0rICAgICAgICAgIEFDX01TR19FUlJPUihbbGliZ2NyeXB0IHZlcnNpb24gMS4xLjk0IG9yIGhpZ2hlciBub3QgZm91bmQuIEluc3RhbGwgbGliZ2NyeXB0IG9yIHVzZSAtLWRpc2FibGUtbGliZ2NyeXB0LiBIYXZlIGEgbmljZSBkYXkuXSkKLSsgICAgICBdKQotIF0pCi0tCi0gQUNfU1VCU1QoR0NSWVBUX0NGTEFHUykKLSBBQ19TVUJTVChHQ1JZUFRfTElCUykKLSBBTV9DT05ESVRJT05BTChbSEFWRV9HQ1JZUFRdLCBbdGVzdCAiJHtoYXZlX2xpYmdjcnlwdH0iID0gInllcyJdKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2RmMWM2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA0LW1vZHVsZXMtZ3VpLXF0NC1vdXQtb2YtdHJlZS1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLSogbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtIG5vdCBCIT1TIGZyaWVuZGx5Ci0qIFNpbXBsZSBzb2x1dGlvbiB0byBtaXNzaW5nIGRpcmVjdG9yaWVzIGluICR7Qn0KLQotVXBzdHJlYW0gc3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFRpbSBPcmxpbmcgPFRpY29UaW1vQGdtYWlsLmNvbT4KLQotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2d1aS9xdDQvTWFrZWZpbGUuYW0KLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9ndWkvcXQ0L01ha2VmaWxlLmFtCi1AQCAtMTI3LDYgKzEyNyw3IEBAIG1vY192ZXJib3NlXzAgPSBAZWNobyAiICBNT0MgICAiICRAOwotIG1vY192ZXJib3NlX18wID0gJChtb2NfdmVyYm9zZV8wKQotIAotIC5ocHAubW9jLmNwcDoKLSsJWyAtZCAkKGRpciAkQCkgXSB8fCBta2RpciAtcCAkKGRpciAkQCkKLSAJJChtb2NfdmVyYm9zZSkkKE1PQykgJChNT0NfQ1BQRkxBR1MpIC1vICRAICQ8Ci0gCi0gIyBUaGVzZSBNT0MgZmlsZXMgZGVwZW5kIG9uIHRoZSBjb25maWd1cmUgc2V0dGluZ3M6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwNS1saWJwb3N0cHJvYy1oZWFkZXItY2hlY2sucGF0Y2gKaW5kZXggMmQ4NGZmZC4uNzdhN2Q2MSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaApAQCAtMiwxNiArMiwxNCBAQAogCiBVcHN0cmVhbS1zdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IHZsYy0yLjEuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4xLjQub3JpZy9jb25maWd1cmUuYWMKLSsrKyB2bGMtMi4xLjQvY29uZmlndXJlLmFjCi1AQCAtMjQ0NCw3ICsyNDQ0LDcgQEAgdGhlbgorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNTg5LDcgKzI1ODksNyBAQCB0aGVuCiAgICAgICAgVkxDX1NBVkVfRkxBR1MKICAgICAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJHtQT1NUUFJPQ19DRkxBR1N9IgogICAgICAgIENGTEFHUz0iJHtDRkxBR1N9ICR7UE9TVFBST0NfQ0ZMQUdTfSIKIC0gICAgICBBQ19DSEVDS19IRUFERVJTKHBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpCiArICAgICAgQUNfQ0hFQ0tfSEVBREVSUyhwb3N0cHJvYy9wb3N0cHJvY2Vzcy5oLFtdLFtBQ19DSEVDS19IRUFERVJTKGxpYnBvc3Rwcm9jL3Bvc3Rwcm9jZXNzLmgpXSkKICAgICAgICBWTENfQUREX1BMVUdJTihbcG9zdHByb2NdKQotICAgICAgIFZMQ19BRERfTElCUyhbcG9zdHByb2NdLFskUE9TVFBST0NfTElCUyAkQVZVVElMX0xJQlNdKQotICAgICAgIFZMQ19BRERfQ0ZMQUdTKFtwb3N0cHJvY10sWyRQT1NUUFJPQ19DRkxBR1MgJEFWVVRJTF9DRkxBR1NdKQorICAgICAgIFZMQ19SRVNUT1JFX0ZMQUdTCisgICAgIF0sWwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaAppbmRleCAxNDVlMWFiLi45NmI1ZDJkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaApAQCAtNSw0NiArNSwyOSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBUaW0gT3JsaW5nIDxUaWNvVGltb0BnbWFpbC5jb20+CiAKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvZGVtdXguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2RlbXV4LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvZGVtdXguYwotQEAgLTUyLDcgKzUyLDcgQEAgc3RydWN0IGRlbXV4X3N5c190CistLS0gYS9tb2R1bGVzL2x1YS9kZW11eC5jCisrKysgYi9tb2R1bGVzL2x1YS9kZW11eC5jCitAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgdmxjbHVhX3BsYXlsaXN0CiAgc3RhdGljIGludCB2bGNsdWFfZGVtdXhfcGVlayggbHVhX1N0YXRlICpMICkKICB7Ci0gICAgIGRlbXV4X3QgKnBfZGVtdXggPSAoZGVtdXhfdCAqKXZsY2x1YV9nZXRfdGhpcyggTCApOworICAgICBzdHJlYW1fdCAqcyA9IChzdHJlYW1fdCAqKXZsY2x1YV9nZXRfdGhpcyhMKTsKIC0gICAgaW50IG4gPSBsdWFMX2NoZWNraW50KCBMLCAxICk7CiArICAgIGludCBuID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKTsKICAgICAgY29uc3QgdWludDhfdCAqcF9wZWVrOwogIAotICAgICBpbnQgaV9wZWVrID0gc3RyZWFtX1BlZWsoIHBfZGVtdXgtPnMsICZwX3BlZWssIG4gKTsKLUBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2RlbXV4X3JlYWQoIGx1YV9TdGF0ZQorICAgICBzc2l6ZV90IHZhbCA9IHZsY19zdHJlYW1fUGVlayhzLT5wX3NvdXJjZSwgJnBfcGVlaywgbik7CitAQCAtNjYsNyArNjYsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9wZWVrKCBsdWFfU3RhdGUKKyBzdGF0aWMgaW50IHZsY2x1YV9kZW11eF9yZWFkKCBsdWFfU3RhdGUgKkwgKQogIHsKLSAgICAgZGVtdXhfdCAqcF9kZW11eCA9IChkZW11eF90ICopdmxjbHVhX2dldF90aGlzKCBMICk7Ci0gICAgIGNvbnN0IHVpbnQ4X3QgKnBfcmVhZDsKKyAgICAgc3RyZWFtX3QgKnMgPSAoc3RyZWFtX3QgKil2bGNsdWFfZ2V0X3RoaXMoTCk7CiAtICAgIGludCBuID0gbHVhTF9jaGVja2ludCggTCwgMSApOwogKyAgICBpbnQgbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7Ci0gICAgIGludCBpX3JlYWQgPSBzdHJlYW1fUGVlayggcF9kZW11eC0+cywgJnBfcmVhZCwgbiApOworICAgICBjaGFyICpidWYgPSBtYWxsb2Mobik7CiAgCi0gICAgIGlmKCBpX3JlYWQgPiAwICkKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9jb25maWd1cmF0aW9uLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL2NvbmZpZ3VyYXRpb24uYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL2NvbmZpZ3VyYXRpb24uYwotQEAgLTg0LDcgKzg0LDcgQEAgc3RhdGljIGludCB2bGNsdWFfY29uZmlnX3NldCggbHVhX1N0YXRlCi0gICAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICBjYXNlIFZMQ19WQVJfSU5URUdFUjoKLS0gICAgICAgICAgICBjb25maWdfUHV0SW50KCBwX3RoaXMsIHBzel9uYW1lLCBsdWFMX2NoZWNraW50KCBMLCAyICkgKTsKLSsgICAgICAgICAgICBjb25maWdfUHV0SW50KCBwX3RoaXMsIHBzel9uYW1lLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApICk7Ci0gICAgICAgICAgICAgYnJlYWs7Ci0gCi0gICAgICAgICBjYXNlIFZMQ19WQVJfQk9PTDoKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9uZXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9uZXQuYwotQEAgLTIwMiw3ICsyMDIsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfbGlzdGVuX3RjcCggbHVhX1N0CisgICAgIGlmIChidWYgIT0gTlVMTCkKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvbmV0LmMKK0BAIC0xNzksNyArMTc5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2xpc3Rlbl90Y3AoIGx1YV9TdAogIHsKICAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKICAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CkBAIC01MywxNiArMzYsMTYgQEAKICAgICAgaW50ICpwaV9mZCA9IG5ldF9MaXN0ZW5UQ1AoIHBfdGhpcywgcHN6X2hvc3QsIGlfcG9ydCApOwogICAgICBpZiggcGlfZmQgPT0gTlVMTCApCiAgICAgICAgICByZXR1cm4gbHVhTF9lcnJvciggTCwgIkNhbm5vdCBsaXN0ZW4gb24gJXM6JWQiLCBwc3pfaG9zdCwgaV9wb3J0ICk7Ci1AQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jb25uZWN0X3RjcCggbHVhX1MKK0BAIC0yNTEsNyArMjUxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUwogIHsKICAgICAgdmxjX29iamVjdF90ICpwX3RoaXMgPSB2bGNsdWFfZ2V0X3RoaXMoIEwgKTsKICAgICAgY29uc3QgY2hhciAqcHN6X2hvc3QgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7CiAtICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50KCBMLCAyICk7CiArICAgIGludCBpX3BvcnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMiApOwotICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0KCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQsIFNPQ0tfU1RSRUFNLCBJUFBST1RPX1RDUCApOworICAgICBpbnQgaV9mZCA9IG5ldF9Db25uZWN0VENQKCBwX3RoaXMsIHBzel9ob3N0LCBpX3BvcnQgKTsKICAgICAgbHVhX3B1c2hpbnRlZ2VyKCBMLCB2bGNsdWFfZmRfbWFwX3NhZmUoIEwsIGlfZmQgKSApOwogICAgICByZXR1cm4gMTsKLUBAIC0yODIsMjYgKzI4MiwyNiBAQCBzdGF0aWMgaW50IHZsY2x1YV9uZXRfY29ubmVjdF90Y3AoIGx1YV9TCitAQCAtMjU5LDE0ICsyNTksMTQgQEAgc3RhdGljIGludCB2bGNsdWFfbmV0X2Nvbm5lY3RfdGNwKCBsdWFfUwogIAogIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9jbG9zZSggbHVhX1N0YXRlICpMICkKICB7CkBAIC03OSwyMiArNjIsMjUgQEAKICAgICAgc2l6ZV90IGlfbGVuOwogICAgICBjb25zdCBjaGFyICpwc3pfYnVmZmVyID0gbHVhTF9jaGVja2xzdHJpbmcoIEwsIDIsICZpX2xlbiApOwogIAotLSAgICBpX2xlbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBpX2xlbiApOwotKyAgICBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMywgaV9sZW4gKTsKLSAgICAgbHVhX3B1c2hpbnRlZ2VyKCBMLCAoZmQgIT0gLTEpID8gc2VuZCggZmQsIHBzel9idWZmZXIsIGlfbGVuLCAwICkgOiAtMSApOwotICAgICByZXR1cm4gMTsKLSB9CitAQCAtMjc4LDcgKzI3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9zZW5kKCBsdWFfU3RhdGUgKkwKICAKICBzdGF0aWMgaW50IHZsY2x1YV9uZXRfcmVjdiggbHVhX1N0YXRlICpMICkKICB7CiAtICAgIGludCBmZCA9IHZsY2x1YV9mZF9nZXQoIEwsIGx1YUxfY2hlY2tpbnQoIEwsIDEgKSApOwotLSAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMiwgMSApOwogKyAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApICk7Ci0rICAgIHNpemVfdCBpX2xlbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOworICAgICBzaXplX3QgaV9sZW4gPSAoc2l6ZV90KWx1YUxfb3B0aW50ZWdlciggTCwgMiwgMSApOwogICAgICBjaGFyIHBzel9idWZmZXJbaV9sZW5dOwogIAotICAgICBzc2l6ZV90IGlfcmV0ID0gKGZkICE9IC0xKSA/IHJlY3YoIGZkLCBwc3pfYnVmZmVyLCBpX2xlbiwgMCApIDogLTE7Ci1AQCAtMzgyLDE5ICszODIsMTkgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCitAQCAtMzEyLDcgKzMxMiw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX25ldF9wb2xsKCBsdWFfU3RhdGUgKkwKKyAgICAgbHVhX3B1c2huaWwoIEwgKTsKKyAgICAgZm9yKCBpbnQgaSA9IDA7IGx1YV9uZXh0KCBMLCAxICk7IGkrKyApCisgICAgIHsKKy0gICAgICAgIGx1YWZkc1tpXSA9IGx1YUxfY2hlY2tpbnQoIEwsIC0yICk7CisrICAgICAgICBsdWFmZHNbaV0gPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTIgKTsKKyAgICAgICAgIHBfZmRzW2ldLmZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhZmRzW2ldICk7CisgICAgICAgICBwX2Zkc1tpXS5ldmVudHMgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKKyAgICAgICAgIHBfZmRzW2ldLmV2ZW50cyAmPSBQT0xMSU4gfCBQT0xMT1VUIHwgUE9MTFBSSTsKK0BAIC0zNjAsNyArMzYwLDcgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfb3BlbiggbHVhX1N0YXRlICpMCiAgI2lmbmRlZiBfV0lOMzIKICBzdGF0aWMgaW50IHZsY2x1YV9mZF93cml0ZSggbHVhX1N0YXRlICpMICkKICB7CkBAIC0xMDMsNDcgKzg5LDE4IEBACiAgICAgIHNpemVfdCBpX2xlbjsKICAgICAgY29uc3QgY2hhciAqcHN6X2J1ZmZlciA9IGx1YUxfY2hlY2tsc3RyaW5nKCBMLCAyLCAmaV9sZW4gKTsKICAKLS0gICAgaV9sZW4gPSBsdWFMX29wdGludCggTCwgMywgaV9sZW4gKTsKLSsgICAgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIGlfbGVuICk7Ci0gICAgIGx1YV9wdXNoaW50ZWdlciggTCwgKGZkICE9IC0xKSA/IHdyaXRlKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xICk7Ci0gICAgIHJldHVybiAxOwotIH0KK0BAIC0zNzEsNyArMzcxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfZmRfd3JpdGUoIGx1YV9TdGF0ZSAqTAogIAogIHN0YXRpYyBpbnQgdmxjbHVhX2ZkX3JlYWQoIGx1YV9TdGF0ZSAqTCApCiAgewogLSAgICBpbnQgZmQgPSB2bGNsdWFfZmRfZ2V0KCBMLCBsdWFMX2NoZWNraW50KCBMLCAxICkgKTsKLS0gICAgc2l6ZV90IGlfbGVuID0gbHVhTF9vcHRpbnQoIEwsIDIsIDEgKTsKICsgICAgaW50IGZkID0gdmxjbHVhX2ZkX2dldCggTCwgbHVhTF9jaGVja2ludGVnZXIoIEwsIDEgKSApOwotKyAgICBzaXplX3QgaV9sZW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKKyAgICAgc2l6ZV90IGlfbGVuID0gKHNpemVfdClsdWFMX29wdGludGVnZXIoIEwsIDIsIDEgKTsKICAgICAgY2hhciBwc3pfYnVmZmVyW2lfbGVuXTsKICAKLSAgICAgc3NpemVfdCBpX3JldCA9IChmZCAhPSAtMSkgPyByZWFkKCBmZCwgcHN6X2J1ZmZlciwgaV9sZW4gKSA6IC0xOwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL29zZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gdmxjLTIuMi4xLm9yaWcvbW9kdWxlcy9sdWEvbGlicy9vc2QuYwotKysrIHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL29zZC5jCi1AQCAtNjcsNyArNjcsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9vc2RfaWNvbiggbHVhX1N0YXRlICpMCi0gewotICAgICBjb25zdCBjaGFyICpwc3pfaWNvbiA9IGx1YUxfY2hlY2tzdHJpbmcoIEwsIDEgKTsKLSAgICAgaW50IGlfaWNvbiA9IHZsY19vc2RfaWNvbl9mcm9tX3N0cmluZyggcHN6X2ljb24gKTsKLS0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0rICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDIsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKLSAgICAgaWYoICFpX2ljb24gKQotICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgb3NkIGljb24uIiwgcHN6X2ljb24gKTsKLSAKLUBAIC0xMTQsOSArMTE0LDkgQEAgc3RhdGljIGludCB2bGNfb3NkX3Bvc2l0aW9uX2Zyb21fc3RyaW5nKAotIHN0YXRpYyBpbnQgdmxjbHVhX29zZF9tZXNzYWdlKCBsdWFfU3RhdGUgKkwgKQotIHsKLSAgICAgY29uc3QgY2hhciAqcHN6X21lc3NhZ2UgPSBsdWFMX2NoZWNrc3RyaW5nKCBMLCAxICk7Ci0tICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludCggTCwgMiwgU1BVX0RFRkFVTFRfQ0hBTk5FTCApOwotKyAgICBpbnQgaV9jaGFuID0gbHVhTF9vcHRpbnRlZ2VyKCBMLCAyLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0gICAgIGNvbnN0IGNoYXIgKnBzel9wb3NpdGlvbiA9IGx1YUxfb3B0c3RyaW5nKCBMLCAzLCAidG9wLXJpZ2h0IiApOwotLSAgICBtdGltZV90IGR1cmF0aW9uID0gbHVhTF9vcHRpbnQoIEwsIDQsIDEwMDAwMDAgKTsKLSsgICAgbXRpbWVfdCBkdXJhdGlvbiA9IGx1YUxfb3B0aW50ZWdlciggTCwgNCwgMTAwMDAwMCApOwotIAotICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKLSAgICAgaWYoIHBfaW5wdXQgKQotQEAgLTE1NCwxMCArMTU0LDEwIEBAIHN0YXRpYyBpbnQgdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmkKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvb3NkLmMKK0BAIC0xNTQsNyArMTU0LDcgQEAgc3RhdGljIGludCB2bGNfb3NkX3NsaWRlcl90eXBlX2Zyb21fc3RyaQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX29zZF9zbGlkZXIoIGx1YV9TdGF0ZSAqTCApCiAgewpAQCAtMTUxLDExICsxMDgsNyBAQAogKyAgICBpbnQgaV9wb3NpdGlvbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAxICk7CiAgICAgIGNvbnN0IGNoYXIgKnBzel90eXBlID0gbHVhTF9jaGVja3N0cmluZyggTCwgMiApOwogICAgICBpbnQgaV90eXBlID0gdmxjX29zZF9zbGlkZXJfdHlwZV9mcm9tX3N0cmluZyggcHN6X3R5cGUgKTsKLS0gICAgaW50IGlfY2hhbiA9IGx1YUxfb3B0aW50KCBMLCAzLCBTUFVfREVGQVVMVF9DSEFOTkVMICk7Ci0rICAgIGludCBpX2NoYW4gPSBsdWFMX29wdGludGVnZXIoIEwsIDMsIFNQVV9ERUZBVUxUX0NIQU5ORUwgKTsKLSAgICAgaWYoICFpX3R5cGUgKQotICAgICAgICAgcmV0dXJuIGx1YUxfZXJyb3IoIEwsICJcIiVzXCIgaXMgbm90IGEgdmFsaWQgc2xpZGVyIHR5cGUuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwc3pfdHlwZSApOworICAgICBpbnQgaV9jaGFuID0gKGludClsdWFMX29wdGludGVnZXIoIEwsIDMsIFZPVVRfU1BVX0NIQU5ORUxfT1NEICk7CiBAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3NwdV9jaGFubmVsX3JlZ2lzdGVyKAogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3NwdV9jaGFubmVsX2NsZWFyKCBsdWFfU3RhdGUgKkwgKQpAQCAtMTY1LDEwICsxMTgsOCBAQAogICAgICBpbnB1dF90aHJlYWRfdCAqcF9pbnB1dCA9IHZsY2x1YV9nZXRfaW5wdXRfaW50ZXJuYWwoIEwgKTsKICAgICAgaWYoICFwX2lucHV0ICkKICAgICAgICAgIHJldHVybiBsdWFMX2Vycm9yKCBMLCAiVW5hYmxlIHRvIGZpbmQgaW5wdXQuIiApOwotSW5kZXg6IHZsYy0yLjIuMS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy9wbGF5bGlzdC5jCistLS0gYS9tb2R1bGVzL2x1YS9saWJzL3BsYXlsaXN0LmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvcGxheWxpc3QuYwogQEAgLTY5LDcgKzY5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfbmV4dCggbHVhX1N0YQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X3NraXAoIGx1YV9TdGF0ZSAqIEwgKQpAQCAtMTg2LDE3ICsxMzcsMTcgQEAKICsgICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwogICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOwogICAgICBQTF9MT0NLOwotICAgICBpbnQgaV9yZXQgPSBwbGF5bGlzdF9Db250cm9sKCBwX3BsYXlsaXN0LCBQTEFZTElTVF9WSUVXUExBWSwKLUBAIC0xMzksNyArMTM5LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YQorICAgICBwbGF5bGlzdF9WaWV3UGxheSggcF9wbGF5bGlzdCwgTlVMTCwKK0BAIC0xMzgsNyArMTM4LDcgQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZ290b2l0ZW0oIGx1YQogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2RlbGV0ZSggbHVhX1N0YXRlICogTCApCiAgewogLSAgICBpbnQgaV9pZCA9IGx1YUxfY2hlY2tpbnQoIEwsIDEgKTsKICsgICAgaW50IGlfaWQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgMSApOwogICAgICBwbGF5bGlzdF90ICpwX3BsYXlsaXN0ID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOworIAogICAgICBQTF9MT0NLOwotICAgICBwbGF5bGlzdF9pdGVtX3QgKnBfaXRlbSA9IHBsYXlsaXN0X0l0ZW1HZXRCeUlkKCBwX3BsYXlsaXN0LCBpX2lkICk7Ci1AQCAtMTU1LDggKzE1NSw4IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X2RlbGV0ZSggbHVhX1MKK0BAIC0xNTIsOCArMTUyLDggQEAgc3RhdGljIGludCB2bGNsdWFfcGxheWxpc3RfZGVsZXRlKCBsdWFfUwogIAogIHN0YXRpYyBpbnQgdmxjbHVhX3BsYXlsaXN0X21vdmUoIGx1YV9TdGF0ZSAqIEwgKQogIHsKQEAgLTIwNywxMSArMTU4LDkgQEAKICAgICAgcGxheWxpc3RfdCAqcF9wbGF5bGlzdCA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKICAgICAgUExfTE9DSzsKICAgICAgcGxheWxpc3RfaXRlbV90ICpwX2l0ZW0gPSBwbGF5bGlzdF9JdGVtR2V0QnlJZCggcF9wbGF5bGlzdCwgaV9pdGVtICk7Ci1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3N0cmVhbS5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvc3RyZWFtLmMKLUBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIGludCB2bGNsdWFfc3RyZWFtX3JlYWQoIGx1YV9TdGF0ZQorLS0tIGEvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9zdHJlYW0uYworQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9zdHJlYW1fcmVhZCggbHVhX1N0YXRlCiAgewogICAgICBpbnQgaV9yZWFkOwogICAgICBzdHJlYW1fdCAqKnBwX3N0cmVhbSA9IChzdHJlYW1fdCAqKilsdWFMX2NoZWNrdWRhdGEoIEwsIDEsICJzdHJlYW0iICk7CkBAIC0yMjAsMjMgKzE2OSw4IEBACiAgICAgIHVpbnQ4X3QgKnBfcmVhZCA9IG1hbGxvYyggbiApOwogICAgICBpZiggIXBfcmVhZCApIHJldHVybiB2bGNsdWFfZXJyb3IoIEwgKTsKICAKLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvdmFyaWFibGVzLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy92YXJpYWJsZXMuYwotQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV90b3ZhbHVlKCBsdWFfU3RhdGUgKkwsCi0gICAgICAgICAgICAgdmFsLT5iX2Jvb2wgPSBsdWFMX2NoZWNrYm9vbGVhbiggTCwgLTEgKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgVkxDX1ZBUl9JTlRFR0VSOgotLSAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50KCBMLCAtMSApOwotKyAgICAgICAgICAgIHZhbC0+aV9pbnQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgLTEgKTsKLSAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgIGNhc2UgVkxDX1ZBUl9TVFJJTkc6Ci0gICAgICAgICAgICAgdmFsLT5wc3pfc3RyaW5nID0gKGNoYXIqKWx1YUxfY2hlY2tzdHJpbmcoIEwsIC0xICk7IC8qIFhYWDogQmV3YXJlLCB0aGlzIG9ubHkgc3RheXMgdmFsaWQgYXMgbG9uZyBhcyAoTCwtMSkgc3RheXMgaW4gdGhlIHN0YWNrICovCi1JbmRleDogdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2bGMtMi4yLjEub3JpZy9tb2R1bGVzL2x1YS9saWJzL3ZvbHVtZS5jCi0rKysgdmxjLTIuMi4xL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKKysrKyBiL21vZHVsZXMvbHVhL2xpYnMvdm9sdW1lLmMKIEBAIC00OCw3ICs0OCw3IEBACiAgc3RhdGljIGludCB2bGNsdWFfdm9sdW1lX3NldCggbHVhX1N0YXRlICpMICkKICB7CkBAIC0yNDYsMzQgKzE4MCw1NCBAQAogICAgICBpZiggaV92b2x1bWUgPCAwICkKICAgICAgICAgIGlfdm9sdW1lID0gMDsKICAgICAgaW50IGlfcmV0ID0gcGxheWxpc3RfVm9sdW1lU2V0KCBwX3RoaXMsIGlfdm9sdW1lLyhmbG9hdClBT1VUX1ZPTFVNRV9ERUZBVUxUICk7Ci1AQCAtNjgsNyArNjgsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV92b2x1bWVfdXAoIGx1YV9TdGF0ZSAqCi0gICAgIHBsYXlsaXN0X3QgKnBfdGhpcyA9IHZsY2x1YV9nZXRfcGxheWxpc3RfaW50ZXJuYWwoIEwgKTsKLSAgICAgZmxvYXQgdm9sdW1lOwotIAotLSAgICBwbGF5bGlzdF9Wb2x1bWVVcCggcF90aGlzLCBsdWFMX29wdGludCggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0rICAgIHBsYXlsaXN0X1ZvbHVtZVVwKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0gICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7Ci0gICAgIHJldHVybiAxOworLS0tIGEvbW9kdWxlcy9sdWEvbGlicy9kaWFsb2cuYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9kaWFsb2cuYworQEAgLTM4Miw3ICszODIsNyBAQCBzdGF0aWMgaW50IGx1YV9HZXREaWFsb2dVcGRhdGUoIGx1YV9TdGF0CisgICAgIC8qIFJlYWQgZW50cnkgaW4gdGhlIEx1YSByZWdpc3RyeSAqLworICAgICBsdWFfcHVzaGxpZ2h0dXNlcmRhdGEoIEwsICh2b2lkKikgJmtleV91cGRhdGUgKTsKKyAgICAgbHVhX2dldHRhYmxlKCBMLCBMVUFfUkVHSVNUUllJTkRFWCApOworLSAgICByZXR1cm4gbHVhTF9jaGVja2ludCggTCwgLTEgKTsKKysgICAgcmV0dXJuIGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCAtMSApOwogIH0KLUBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX3ZvbHVtZV9kb3duKCBsdWFfU3RhdGUKLSAgICAgcGxheWxpc3RfdCAqcF90aGlzID0gdmxjbHVhX2dldF9wbGF5bGlzdF9pbnRlcm5hbCggTCApOwotICAgICBmbG9hdCB2b2x1bWU7CiAgCi0tICAgIHBsYXlsaXN0X1ZvbHVtZURvd24oIHBfdGhpcywgbHVhTF9vcHRpbnQoIEwsIDEsIDEgKSwgJnZvbHVtZSApOwotKyAgICBwbGF5bGlzdF9Wb2x1bWVEb3duKCBwX3RoaXMsIGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMSApLCAmdm9sdW1lICk7Ci0gICAgIGx1YV9wdXNobnVtYmVyKCBMLCBscm91bmRmKHZvbHVtZSAqIEFPVVRfVk9MVU1FX0RFRkFVTFQpICk7Ci0gICAgIHJldHVybiAxOwotIH0KLUluZGV4OiB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHZsYy0yLjIuMS5vcmlnL21vZHVsZXMvbHVhL2xpYnMvd2luLmMKLSsrKyB2bGMtMi4yLjEvbW9kdWxlcy9sdWEvbGlicy93aW4uYwotQEAgLTEyMyw3ICsxMjMsNyBAQCBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX2luaXQoIGx1YV9TdGF0CisgLyoqIE1hbnVhbGx5IHVwZGF0ZSBhIGRpYWxvZworQEAgLTU3MywyMiArNTczLDIyIEBAIHN0YXRpYyBpbnQgdmxjbHVhX2NyZWF0ZV93aWRnZXRfaW5uZXIoIGwKICAKLSBzdGF0aWMgaW50IHZsY2x1YV9jb25zb2xlX3dhaXQoIGx1YV9TdGF0ZSAqTCApCi0gewotLSAgICBpbnQgaV90aW1lb3V0ID0gbHVhTF9vcHRpbnQoIEwsIDEsIDAgKTsKLSsgICAgaW50IGlfdGltZW91dCA9IGx1YUxfb3B0aW50ZWdlciggTCwgMSwgMCApOwotICAgICBEV09SRCBzdGF0dXMgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0KCBHZXRDb25zb2xlKCBMICksIGlfdGltZW91dCApOwotICAgICBsdWFfcHVzaGJvb2xlYW4oIEwsIHN0YXR1cyA9PSBXQUlUX09CSkVDVF8wICk7Ci0gICAgIHJldHVybiAxOworICAgICAvKiBTZXQgY29tbW9uIGFyZ3VtZW50czogY29sLCByb3csIGhzcGFuLCB2c3Bhbiwgd2lkdGgsIGhlaWdodCAqLworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCBhcmcgKSApCistICAgICAgICBwX3dpZGdldC0+aV9jb2x1bW4gPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX2NvbHVtbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX3JvdyA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfcm93ID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfaG9yaXpfc3BhbiA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfaG9yaXpfc3BhbiA9IGx1YUxfY2hlY2tpbnRlZ2VyKCBMLCBhcmcgKTsKKyAgICAgZWxzZSBnb3RvIGVuZF9vZl9hcmdzOworICAgICBpZiggbHVhX2lzbnVtYmVyKCBMLCArK2FyZyApICkKKy0gICAgICAgIHBfd2lkZ2V0LT5pX3ZlcnRfc3BhbiA9IGx1YUxfY2hlY2tpbnQoIEwsIGFyZyApOworKyAgICAgICAgcF93aWRnZXQtPmlfdmVydF9zcGFuID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfd2lkdGggPSBsdWFMX2NoZWNraW50KCBMLCBhcmcgKTsKKysgICAgICAgIHBfd2lkZ2V0LT5pX3dpZHRoID0gbHVhTF9jaGVja2ludGVnZXIoIEwsIGFyZyApOworICAgICBlbHNlIGdvdG8gZW5kX29mX2FyZ3M7CisgICAgIGlmKCBsdWFfaXNudW1iZXIoIEwsICsrYXJnICkgKQorLSAgICAgICAgcF93aWRnZXQtPmlfaGVpZ2h0ID0gbHVhTF9jaGVja2ludCggTCwgYXJnICk7CisrICAgICAgICBwX3dpZGdldC0+aV9oZWlnaHQgPSBsdWFMX2NoZWNraW50ZWdlciggTCwgYXJnICk7CisgICAgIGVsc2UgZ290byBlbmRfb2ZfYXJnczsKKyAKKyBlbmRfb2ZfYXJnczoKKy0tLSBhL21vZHVsZXMvbHVhL2xpYnMvaW8uYworKysrIGIvbW9kdWxlcy9sdWEvbGlicy9pby5jCitAQCAtMTM5LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQgdmxjbHVhX2lvX2ZpbGVfc2VlayggbHVhX1N0YXQKKyAgICAgY29uc3QgY2hhciogcHN6X21vZGUgPSBsdWFMX29wdHN0cmluZyggTCwgMiwgTlVMTCApOworICAgICBpZiAoIHBzel9tb2RlICE9IE5VTEwgKQorICAgICB7CistICAgICAgICBsb25nIGlfb2Zmc2V0ID0gbHVhTF9vcHRsb25nKCBMLCAzLCAwICk7CisrICAgICAgICBsb25nIGlfb2Zmc2V0ID0gKGxvbmcpbHVhTF9vcHRpbnRlZ2VyKCBMLCAzLCAwICk7CisgICAgICAgICBpbnQgaV9tb2RlOworICAgICAgICAgaWYgKCAhc3RyY21wKCBwc3pfbW9kZSwgInNldCIgKSApCisgICAgICAgICAgICAgaV9tb2RlID0gU0VFS19TRVQ7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2IzYmE3MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAwOS1BdmNvZGVjLXN3c2NhbGUtdXNlLUFWX1BJWF9GTVQtY29uc2lzdGVudGx5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkzICswLDAgQEAKLUZyb20gNDI3NzMyYTM3OTg5MzQ5MWVhYzI3YWVhZGZmMGUwYjNlMjUyZDE1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEplYW4tQmFwdGlzdGUgS2VtcGYgPGpiQHZpZGVvbGFuLm9yZz4KLURhdGU6IE1vbiwgMzEgQXVnIDIwMTUgMDg6MTk6MDAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQXZjb2RlYy9zd3NjYWxlOiB1c2UgQVZfUElYX0ZNVCBjb25zaXN0ZW50bHkKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZmFhN2JkMzU3YjFmOWUwN2E2ZmZiYzQ1MWExODg3NzNmYWQ3YTI3NSkKLVNpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgotCi1Db25mbGljdHM6Ci0JbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCi0JbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyB8IDEwNCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG1vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jICB8ICAxMCArKy0tCi0gbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgIDI4ICsrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotaW5kZXggMzkzMzY0Yi4uYzMxZjkzZCAxMDA2NDQKLS0tLSBhL21vZHVsZXMvY29kZWMvYXZjb2RlYy9jaHJvbWEuYwotKysrIGIvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL2Nocm9tYS5jCi1AQCAtNjIsNzcgKzYyLDc3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKLSB9IGNocm9tYV90YWJsZVtdID0KLSB7Ci0gICAgIC8qIFBsYW5hciBZVVYgZm9ybWF0cyAqLwotLSAgICB7VkxDX0NPREVDX0k0NDQsIFBJWF9GTVRfWVVWNDQ0UCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0o0NDQsIFBJWF9GTVRfWVVWSjQ0NFAsIDAsIDAsIDAgfSwKLS0KLS0gICAge1ZMQ19DT0RFQ19JNDQwLCBQSVhfRk1UX1lVVjQ0MFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19KNDQwLCBQSVhfRk1UX1lVVko0NDBQLCAwLCAwLCAwIH0sCi0tCi0tICAgIHtWTENfQ09ERUNfSTQyMiwgUElYX0ZNVF9ZVVY0MjJQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSjQyMiwgUElYX0ZNVF9ZVVZKNDIyUCwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0NPREVDX0k0MjAsIFBJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX1lWMTIsIFBJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0ZPVVJDQygnSScsJ1knLCdVJywnVicpLCBQSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19KNDIwLCBQSVhfRk1UX1lVVko0MjBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQxMSwgUElYX0ZNVF9ZVVY0MTFQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQxMCwgUElYX0ZNVF9ZVVY0MTBQLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfRk9VUkNDKCdZJywnVicsJ1UnLCc5JyksIFBJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotLQotLSAgICB7VkxDX0ZPVVJDQygnTicsJ1YnLCcxJywnMicpLCBQSVhfRk1UX05WMTIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMicsJzEnKSwgUElYX0ZNVF9OVjIxLCAwLCAwLCAwIH0sCi0tCi0tICAgIHtWTENfQ09ERUNfSTQyMF85TCwgUElYX0ZNVF9ZVVY0MjBQOUxFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMF85QiwgUElYX0ZNVF9ZVVY0MjBQOUJFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQyMF8xMEwsIFBJWF9GTVRfWVVWNDIwUDEwTEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDIwXzEwQiwgUElYX0ZNVF9ZVVY0MjBQMTBCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDQsIEFWX1BJWF9GTVRfWVVWNDQ0UCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0o0NDQsIEFWX1BJWF9GTVRfWVVWSjQ0NFAsIDAsIDAsIDAgfSwKLSsKLSsgICAge1ZMQ19DT0RFQ19JNDQwLCBBVl9QSVhfRk1UX1lVVjQ0MFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19KNDQwLCBBVl9QSVhfRk1UX1lVVko0NDBQLCAwLCAwLCAwIH0sCi0rCi0rICAgIHtWTENfQ09ERUNfSTQyMiwgQVZfUElYX0ZNVF9ZVVY0MjJQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSjQyMiwgQVZfUElYX0ZNVF9ZVVZKNDIyUCwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0NPREVDX0k0MjAsIEFWX1BJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX1lWMTIsIEFWX1BJWF9GTVRfWVVWNDIwUCwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0ZPVVJDQygnSScsJ1knLCdVJywnVicpLCBBVl9QSVhfRk1UX1lVVjQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19KNDIwLCBBVl9QSVhfRk1UX1lVVko0MjBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQxMSwgQVZfUElYX0ZNVF9ZVVY0MTFQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQxMCwgQVZfUElYX0ZNVF9ZVVY0MTBQLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdZJywnVicsJ1UnLCc5JyksIEFWX1BJWF9GTVRfWVVWNDEwUCwgMCwgMCwgMCB9LAotKwotKyAgICB7VkxDX0ZPVVJDQygnTicsJ1YnLCcxJywnMicpLCBBVl9QSVhfRk1UX05WMTIsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19GT1VSQ0MoJ04nLCdWJywnMicsJzEnKSwgQVZfUElYX0ZNVF9OVjIxLCAwLCAwLCAwIH0sCi0rCi0rICAgIHtWTENfQ09ERUNfSTQyMF85TCwgQVZfUElYX0ZNVF9ZVVY0MjBQOUxFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMF85QiwgQVZfUElYX0ZNVF9ZVVY0MjBQOUJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMF8xMEwsIEFWX1BJWF9GTVRfWVVWNDIwUDEwTEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIwXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjBQMTBCRSwgMCwgMCwgMCB9LAotICNpZiBMSUJBVlVUSUxfVkVSU0lPTl9JTlQgPj0gQVZfVkVSU0lPTl9JTlQoNTEsMTMsMCkKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzlMLCBQSVhfRk1UX1lVVjQyMlA5TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzlCLCBQSVhfRk1UX1lVVjQyMlA5QkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzlMLCBBVl9QSVhfRk1UX1lVVjQyMlA5TEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzlCLCBBVl9QSVhfRk1UX1lVVjQyMlA5QkUsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLS0gICAge1ZMQ19DT0RFQ19JNDIyXzEwTCwgUElYX0ZNVF9ZVVY0MjJQMTBMRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0MjJfMTBCLCBQSVhfRk1UX1lVVjQyMlAxMEJFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQyMl8xMEwsIEFWX1BJWF9GTVRfWVVWNDIyUDEwTEUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDIyXzEwQiwgQVZfUElYX0ZNVF9ZVVY0MjJQMTBCRSwgMCwgMCwgMCB9LAotIAotLSAgICB7VkxDX0NPREVDX1lVVjQyMEEsIFBJWF9GTVRfWVVWQTQyMFAsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19ZVVY0MjBBLCBBVl9QSVhfRk1UX1lVVkE0MjBQLCAwLCAwLCAwIH0sCi0gI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKCA1MSwgNDUsIDAsIDc0LCAxMDAgKQotICAgICB7VkxDX0NPREVDX1lVVjQyMkEsIEFWX1BJWF9GTVRfWVVWQTQyMlAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzlMLCBQSVhfRk1UX1lVVjQ0NFA5TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzlCLCBQSVhfRk1UX1lVVjQ0NFA5QkUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzEwTCwgUElYX0ZNVF9ZVVY0NDRQMTBMRSwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0NPREVDX0k0NDRfMTBCLCBQSVhfRk1UX1lVVjQ0NFAxMEJFLCAwLCAwLCAwIH0sCi0tICAgIHtWTENfQ09ERUNfSTQ0NF8xNkwsIFBJWF9GTVRfWVVWNDQ0UDE2TEUsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19JNDQ0XzE2QiwgUElYX0ZNVF9ZVVY0NDRQMTZCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfOUwsIEFWX1BJWF9GTVRfWVVWNDQ0UDlMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfOUIsIEFWX1BJWF9GTVRfWVVWNDQ0UDlCRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfMTBMLCBBVl9QSVhfRk1UX1lVVjQ0NFAxMExFLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfSTQ0NF8xMEIsIEFWX1BJWF9GTVRfWVVWNDQ0UDEwQkUsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19JNDQ0XzE2TCwgQVZfUElYX0ZNVF9ZVVY0NDRQMTZMRSwgMCwgMCwgMCB9LAotKyAgICB7VkxDX0NPREVDX0k0NDRfMTZCLCBBVl9QSVhfRk1UX1lVVjQ0NFAxNkJFLCAwLCAwLCAwIH0sCi0gCi0gICAgIC8qIFBhY2tlZCBZVVYgZm9ybWF0cyAqLwotLSAgICB7VkxDX0NPREVDX1lVWVYsIFBJWF9GTVRfWVVZVjQyMiwgMCwgMCwgMCB9LAotLSAgICB7VkxDX0ZPVVJDQygnWScsJ1UnLCdZJywnVicpLCBQSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19VWVZZLCBQSVhfRk1UX1VZVlk0MjIsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19GT1VSQ0MoJ1knLCc0JywnMScsJzEnKSwgUElYX0ZNVF9VWVlWWVk0MTEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19ZVVlWLCBBVl9QSVhfRk1UX1lVWVY0MjIsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19GT1VSQ0MoJ1knLCdVJywnWScsJ1YnKSwgQVZfUElYX0ZNVF9ZVVlWNDIyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfQ09ERUNfVVlWWSwgQVZfUElYX0ZNVF9VWVZZNDIyLCAwLCAwLCAwIH0sCi0rICAgIHtWTENfRk9VUkNDKCdZJywnNCcsJzEnLCcxJyksIEFWX1BJWF9GTVRfVVlZVllZNDExLCAwLCAwLCAwIH0sCi0gCi0gICAgIC8qIFBhY2tlZCBSR0IgZm9ybWF0cyAqLwotLSAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc0JyksIFBJWF9GTVRfUkdCNCwgUElYX0ZNVF9CR1I0LCAweDEwLCAweDA2LCAweDAxICkKLS0gICAgVkxDX1JHQiggVkxDX0ZPVVJDQygnUicsJ0cnLCdCJywnOCcpLCBQSVhfRk1UX1JHQjgsIFBJWF9GTVRfQkdSOCwgMHhDMCwgMHgzOCwgMHgwNyApCi0rICAgIFZMQ19SR0IoIFZMQ19GT1VSQ0MoJ1InLCdHJywnQicsJzQnKSwgQVZfUElYX0ZNVF9SR0I0LCBBVl9QSVhfRk1UX0JHUjQsIDB4MTAsIDB4MDYsIDB4MDEgKQotKyAgICBWTENfUkdCKCBWTENfRk9VUkNDKCdSJywnRycsJ0InLCc4JyksIEFWX1BJWF9GTVRfUkdCOCwgQVZfUElYX0ZNVF9CR1I4LCAweEMwLCAweDM4LCAweDA3ICkKLSAKLS0gICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE1LCBQSVhfRk1UX1JHQjU1NSwgUElYX0ZNVF9CR1I1NTUsIDB4N2MwMCwgMHgwM2UwLCAweDAwMWYgKQotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMTYsIFBJWF9GTVRfUkdCNTY1LCBQSVhfRk1UX0JHUjU2NSwgMHhmODAwLCAweDA3ZTAsIDB4MDAxZiApCi0tICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IyNCwgUElYX0ZNVF9CR1IyNCwgUElYX0ZNVF9SR0IyNCwgMHhmZjAwMDAsIDB4MDBmZjAwLCAweDAwMDBmZiApCi0rICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IxNSwgQVZfUElYX0ZNVF9SR0I1NTUsIEFWX1BJWF9GTVRfQkdSNTU1LCAweDdjMDAsIDB4MDNlMCwgMHgwMDFmICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjE2LCBBVl9QSVhfRk1UX1JHQjU2NSwgQVZfUElYX0ZNVF9CR1I1NjUsIDB4ZjgwMCwgMHgwN2UwLCAweDAwMWYgKQotKyAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMjQsIEFWX1BJWF9GTVRfQkdSMjQsIEFWX1BJWF9GTVRfUkdCMjQsIDB4ZmYwMDAwLCAweDAwZmYwMCwgMHgwMDAwZmYgKQotIAotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIFBJWF9GTVRfUkdCMzIsIFBJWF9GTVRfQkdSMzIsIDB4MDBmZjAwMDAsIDB4MDAwMGZmMDAsIDB4MDAwMDAwZmYgKQotLSAgICBWTENfUkdCKCBWTENfQ09ERUNfUkdCMzIsIFBJWF9GTVRfUkdCMzJfMSwgUElYX0ZNVF9CR1IzMl8xLCAweGZmMDAwMDAwLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBBVl9QSVhfRk1UX1JHQjMyLCBBVl9QSVhfRk1UX0JHUjMyLCAweDAwZmYwMDAwLCAweDAwMDBmZjAwLCAweDAwMDAwMGZmICkKLSsgICAgVkxDX1JHQiggVkxDX0NPREVDX1JHQjMyLCBBVl9QSVhfRk1UX1JHQjMyXzEsIEFWX1BJWF9GTVRfQkdSMzJfMSwgMHhmZjAwMDAwMCwgMHgwMGZmMDAwMCwgMHgwMDAwZmYwMCApCi0gCi0gI2lmZGVmIEFWX1BJWF9GTVRfMEJHUjMyCi0gICAgIFZMQ19SR0IoIFZMQ19DT0RFQ19SR0IzMiwgQVZfUElYX0ZNVF8wQkdSMzIsIEFWX1BJWF9GTVRfMFJHQjMyLCAweDAwMDAwMGZmLCAweDAwMDBmZjAwLCAweDAwZmYwMDAwICkKLSAjZW5kaWYKLSAKLS0gICAge1ZMQ19DT0RFQ19SR0JBLCBQSVhfRk1UX1JHQkEsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19BUkdCLCBQSVhfRk1UX0FSR0IsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19CR1JBLCBQSVhfRk1UX0JHUkEsIDAsIDAsIDAgfSwKLS0gICAge1ZMQ19DT0RFQ19HUkVZLCBQSVhfRk1UX0dSQVk4LCAwLCAwLCAwfSwKLSsgICAge1ZMQ19DT0RFQ19SR0JBLCBBVl9QSVhfRk1UX1JHQkEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19BUkdCLCBBVl9QSVhfRk1UX0FSR0IsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19CR1JBLCBBVl9QSVhfRk1UX0JHUkEsIDAsIDAsIDAgfSwKLSsgICAge1ZMQ19DT0RFQ19HUkVZLCBBVl9QSVhfRk1UX0dSQVk4LCAwLCAwLCAwfSwKLSAKLSAgICAgIC8qIFBhbGV0aXplZCBSR0IgKi8KLS0gICAge1ZMQ19DT0RFQ19SR0JQLCBQSVhfRk1UX1BBTDgsIDAsIDAsIDB9LAotKyAgICB7VkxDX0NPREVDX1JHQlAsIEFWX1BJWF9GTVRfUEFMOCwgMCwgMCwgMH0sCi0gCi0gI2lmIExJQkFWVVRJTF9WRVJTSU9OX0NIRUNLKDUxLCA0MiwgMCwgNzQsMTAwKQotICAgICB7VkxDX0NPREVDX0dCUl9QTEFOQVIsIEFWX1BJWF9GTVRfR0JSUCwgMCwgMCwgMCB9LAotQEAgLTIwMSw1ICsyMDEsNSBAQCBpbnQgRmluZEZmbXBlZ0Nocm9tYSggdmxjX2ZvdXJjY190IGZvdXJjYyApCi0gICAgIGZvciggaW50IGkgPSAwOyBjaHJvbWFfdGFibGVbaV0uaV9jaHJvbWEgIT0gMDsgaSsrICkKLSAgICAgICAgIGlmKCBjaHJvbWFfdGFibGVbaV0uaV9jaHJvbWEgPT0gZm91cmNjICkKLSAgICAgICAgICAgICByZXR1cm4gY2hyb21hX3RhYmxlW2ldLmlfY2hyb21hX2lkOwotLSAgICByZXR1cm4gUElYX0ZNVF9OT05FOwotKyAgICByZXR1cm4gQVZfUElYX0ZNVF9OT05FOwotIH0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL2NvZGVjL2F2Y29kZWMvdmlkZW8uYyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1pbmRleCBjMTE1ZGI5Li5hZTYwMGU4IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9jb2RlYy9hdmNvZGVjL3ZpZGVvLmMKLSsrKyBiL21vZHVsZXMvY29kZWMvYXZjb2RlYy92aWRlby5jCi1AQCAtMTAwNCw3ICsxMDA0LDcgQEAgc3RhdGljIHBpY3R1cmVfdCAqbGF2Y19kcl9HZXRGcmFtZShzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKmN0eCwKLSAgICAgaWYgKEdldFZsY0Nocm9tYSgmZGVjLT5mbXRfb3V0LnZpZGVvLCBjdHgtPnBpeF9mbXQpICE9IFZMQ19TVUNDRVNTKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIGRlYy0+Zm10X291dC5pX2NvZGVjID0gZGVjLT5mbXRfb3V0LnZpZGVvLmlfY2hyb21hOwotLSAgICBpZiAoY3R4LT5waXhfZm10ID09IFBJWF9GTVRfUEFMOCkKLSsgICAgaWYgKGN0eC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1BBTDgpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLSAKLSAgICAgaW50IHdpZHRoID0gZnJhbWUtPndpZHRoOwotQEAgLTExODAsNyArMTE4MCw3IEBAIHN0YXRpYyBwaWN0dXJlX3QgKmZmbXBlZ19kcl9HZXRGcmFtZUJ1ZihzdHJ1Y3QgQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCkKLSAgICAgaWYgKEdldFZsY0Nocm9tYSgmcF9kZWMtPmZtdF9vdXQudmlkZW8sIHBfY29udGV4dC0+cGl4X2ZtdCkgIT0gVkxDX1NVQ0NFU1MpCi0gICAgICAgICBnb3RvIG5vX2RyOwotIAotLSAgICBpZiAocF9jb250ZXh0LT5waXhfZm10ID09IFBJWF9GTVRfUEFMOCkKLSsgICAgaWYgKHBfY29udGV4dC0+cGl4X2ZtdCA9PSBBVl9QSVhfRk1UX1BBTDgpCi0gICAgICAgICBnb3RvIG5vX2RyOwotIAotICAgICBwX2RlYy0+Zm10X291dC5pX2NvZGVjID0gcF9kZWMtPmZtdF9vdXQudmlkZW8uaV9jaHJvbWE7Ci1AQCAtMTIxNSw3ICsxMjE1LDcgQEAgc3RhdGljIHBpY3R1cmVfdCAqZmZtcGVnX2RyX0dldEZyYW1lQnVmKHN0cnVjdCBBVkNvZGVjQ29udGV4dCAqcF9jb250ZXh0KQotICAgICAgICAgICAgIGdvdG8gbm9fZHI7Ci0gICAgIH0KLSAKLS0gICAgaWYoIHBfY29udGV4dC0+cGl4X2ZtdCA9PSBQSVhfRk1UX1lVVjQyMlAgKQotKyAgICBpZiggcF9jb250ZXh0LT5waXhfZm10ID09IEFWX1BJWF9GTVRfWVVWNDIyUCApCi0gICAgIHsKLSAgICAgICAgIGlmKCAyICogcF9waWMtPnBbMV0uaV9waXRjaCAhPSBwX3BpYy0+cFswXS5pX3BpdGNoIHx8Ci0gICAgICAgICAgICAgMiAqIHBfcGljLT5wWzJdLmlfcGl0Y2ggIT0gcF9waWMtPnBbMF0uaV9waXRjaCApCi1AQCAtMTMyNSw3ICsxMzI1LDcgQEAgc3RhdGljIGVudW0gUGl4ZWxGb3JtYXQgZmZtcGVnX0dldEZvcm1hdCggQVZDb2RlY0NvbnRleHQgKnBfY29udGV4dCwKLSAKLSAgICAgLyogRW51bWVyYXRlIGF2YWlsYWJsZSBmb3JtYXRzICovCi0gICAgIGJvb2wgY2FuX2h3YWNjZWwgPSBmYWxzZTsKLS0gICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBQSVhfRk1UX05PTkU7IGkrKyApCi0rICAgIGZvciggc2l6ZV90IGkgPSAwOyBwaV9mbXRbaV0gIT0gQVZfUElYX0ZNVF9OT05FOyBpKysgKQotICAgICB7Ci0gICAgICAgICBjb25zdCBBVlBpeEZtdERlc2NyaXB0b3IgKmRzYyA9IGF2X3BpeF9mbXRfZGVzY19nZXQocGlfZm10W2ldKTsKLSAgICAgICAgIGlmIChkc2MgPT0gTlVMTCkKLUBAIC0xMzUyLDcgKzEzNTIsNyBAQCBzdGF0aWMgZW51bSBQaXhlbEZvcm1hdCBmZm1wZWdfR2V0Rm9ybWF0KCBBVkNvZGVjQ29udGV4dCAqcF9jb250ZXh0LAotICAgICBpZiggcF92YSA9PSBOVUxMICkKLSAgICAgICAgIGdvdG8gZW5kOwotIAotLSAgICBmb3IoIHNpemVfdCBpID0gMDsgcGlfZm10W2ldICE9IFBJWF9GTVRfTk9ORTsgaSsrICkKLSsgICAgZm9yKCBzaXplX3QgaSA9IDA7IHBpX2ZtdFtpXSAhPSBBVl9QSVhfRk1UX05PTkU7IGkrKyApCi0gICAgIHsKLSAgICAgICAgIGlmKCBwX3ZhLT5waXhfZm10ICE9IHBpX2ZtdFtpXSApCi0gICAgICAgICAgICAgY29udGludWU7Ci1kaWZmIC0tZ2l0IGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIGIvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi1pbmRleCA1NjllMGY1Li40ZTBlY2YxIDEwMDY0NAotLS0tIGEvbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jCi0rKysgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLUBAIC0yNTcsMzUgKzI1NywzNSBAQCBzdGF0aWMgdm9pZCBGaXhQYXJhbWV0ZXJzKCBpbnQgKnBpX2ZtdCwgYm9vbCAqcGJfaGFzX2EsIGJvb2wgKnBiX3N3YXBfdXYsIHZsY19mbwotICAgICBzd2l0Y2goIGZtdCApCi0gICAgIHsKLSAgICAgY2FzZSBWTENfQ09ERUNfWVVWNDIyQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1lVVjQyMlA7Ci0rICAgICAgICAqcGlfZm10ID0gQVZfUElYX0ZNVF9ZVVY0MjJQOwotICAgICAgICAgKnBiX2hhc19hID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVVY0MjBBOgotLSAgICAgICAgKnBpX2ZtdCA9IFBJWF9GTVRfWVVWNDIwUDsKLSsgICAgICAgICpwaV9mbXQgPSBBVl9QSVhfRk1UX1lVVjQyMFA7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1lVVkE6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0NDRQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDQ0UDsKLSAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfUkdCQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX0JHUjMyOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfQkdSMzI7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX0FSR0I6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9CR1IzMl8xOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfQkdSMzJfMTsKLSAgICAgICAgICpwYl9oYXNfYSA9IHRydWU7Ci0gICAgICAgICBicmVhazsKLSAgICAgY2FzZSBWTENfQ09ERUNfQkdSQToKLS0gICAgICAgICpwaV9mbXQgPSBQSVhfRk1UX1JHQjMyOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfUkdCMzI7Ci0gICAgICAgICAqcGJfaGFzX2EgPSB0cnVlOwotICAgICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgVkxDX0NPREVDX1lWMTI6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MjBQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDIwUDsKLSAgICAgICAgICpwYl9zd2FwX3V2ID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBjYXNlIFZMQ19DT0RFQ19ZVjk6Ci0tICAgICAgICAqcGlfZm10ID0gUElYX0ZNVF9ZVVY0MTBQOwotKyAgICAgICAgKnBpX2ZtdCA9IEFWX1BJWF9GTVRfWVVWNDEwUDsKLSAgICAgICAgICpwYl9zd2FwX3V2ID0gdHJ1ZTsKLSAgICAgICAgIGJyZWFrOwotICAgICBkZWZhdWx0OgotQEAgLTMxNCw3ICszMTQsNyBAQCBzdGF0aWMgaW50IEdldFBhcmFtZXRlcnMoIFNjYWxlckNvbmZpZ3VyYXRpb24gKnBfY2ZnLAotICAgICB7Ci0gICAgICAgICBpZiggcF9mbXRpLT5pX2Nocm9tYSA9PSBWTENfQ09ERUNfWVVWUCAmJiBBTExPV19ZVVZQICkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBpX2ZtdGkgPSBpX2ZtdG8gPSBQSVhfRk1UX0dSQVk4OwotKyAgICAgICAgICAgIGlfZm10aSA9IGlfZm10byA9IEFWX1BJWF9GTVRfR1JBWTg7Ci0gICAgICAgICAgICAgaV9zd3NfZmxhZ3MgPSBTV1NfUE9JTlQ7Ci0gICAgICAgICB9Ci0gICAgIH0KLUBAIC0zMjcsOSArMzI3LDkgQEAgc3RhdGljIGludCBHZXRQYXJhbWV0ZXJzKCBTY2FsZXJDb25maWd1cmF0aW9uICpwX2NmZywKLSAgICAgICogV2l0aG91dCBTV1NfQUNDVVJBVEVfUk5EIHRoZSBxdWFsaXR5IGlzIHJlYWxseSBiYWQgZm9yIHNvbWUgY29udmVyc2lvbnMgKi8KLSAgICAgc3dpdGNoKCBpX2ZtdG8gKQotICAgICB7Ci0tICAgIGNhc2UgUElYX0ZNVF9BUkdCOgotLSAgICBjYXNlIFBJWF9GTVRfUkdCQToKLS0gICAgY2FzZSBQSVhfRk1UX0FCR1I6Ci0rICAgIGNhc2UgQVZfUElYX0ZNVF9BUkdCOgotKyAgICBjYXNlIEFWX1BJWF9GTVRfUkdCQToKLSsgICAgY2FzZSBBVl9QSVhfRk1UX0FCR1I6Ci0gICAgICAgICBpX3N3c19mbGFncyB8PSBTV1NfQUNDVVJBVEVfUk5EOwotICAgICAgICAgYnJlYWs7Ci0gICAgIH0KLUBAIC00MDMsOCArNDAzLDggQEAgc3RhdGljIGludCBJbml0KCBmaWx0ZXJfdCAqcF9maWx0ZXIgKQotICAgICBjb25zdCB1bnNpZ25lZCBpX2ZtdG9fdmlzaWJsZV93aWR0aCA9IHBfZm10by0+aV92aXNpYmxlX3dpZHRoICogcF9zeXMtPmlfZXh0ZW5kX2ZhY3RvcjsKLSAgICAgZm9yKCBpbnQgbiA9IDA7IG4gPCAoY2ZnLmJfaGFzX2EgPyAyIDogMSk7IG4rKyApCi0gICAgIHsKLS0gICAgICAgIGNvbnN0IGludCBpX2ZtdGkgPSBuID09IDAgPyBjZmcuaV9mbXRpIDogUElYX0ZNVF9HUkFZODsKLS0gICAgICAgIGNvbnN0IGludCBpX2ZtdG8gPSBuID09IDAgPyBjZmcuaV9mbXRvIDogUElYX0ZNVF9HUkFZODsKLSsgICAgICAgIGNvbnN0IGludCBpX2ZtdGkgPSBuID09IDAgPyBjZmcuaV9mbXRpIDogQVZfUElYX0ZNVF9HUkFZODsKLSsgICAgICAgIGNvbnN0IGludCBpX2ZtdG8gPSBuID09IDAgPyBjZmcuaV9mbXRvIDogQVZfUElYX0ZNVF9HUkFZODsKLSAgICAgICAgIHN0cnVjdCBTd3NDb250ZXh0ICpjdHg7Ci0gCi0gICAgICAgICBjdHggPSBzd3NfZ2V0Q29udGV4dCggaV9mbXRpX3Zpc2libGVfd2lkdGgsIHBfZm10aS0+aV92aXNpYmxlX2hlaWdodCwgaV9mbXRpLAotLS0gCi0yLjUuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGMvMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Njc0NGU3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvdmxjL3ZsYy8wMDEwLVNXU0NBTEUtZml4LWNvbXBpbGF0aW9uLXdpdGgtNC54LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA2ZmE4YTRhOWJiNjRmZjM0MzI4YWFlNDZhY2Q2MDBmODUwMmIyYzA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmVhbi1CYXB0aXN0ZSBLZW1wZiA8amJAdmlkZW9sYW4ub3JnPgotRGF0ZTogTW9uLCAzMSBBdWcgMjAxNSAwOTowNzozOSArMDIwMAotU3ViamVjdDogW1BBVENIXSBTV1NDQUxFOiBmaXggY29tcGlsYXRpb24gd2l0aCA0LngKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmIyMzg1N2M2ODYyMmVkZGE3NmI3MmI3NGFlYjNkOTQzZWUyNzdjOSkKLVNpZ25lZC1vZmYtYnk6IFJhZmHDq2wgQ2FycsOpIDxmdW5tYW5AdmlkZW9sYW4ub3JnPgotLS0tCi0gbW9kdWxlcy92aWRlb19jaHJvbWEvc3dzY2FsZS5jIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMgYi9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLWluZGV4IDRlMGVjZjEuLjI2ZDBkNmYgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL3ZpZGVvX2Nocm9tYS9zd3NjYWxlLmMKLSsrKyBiL21vZHVsZXMvdmlkZW9fY2hyb21hL3N3c2NhbGUuYwotQEAgLTM2LDYgKzM2LDcgQEAKLSAjaW5jbHVkZSA8dmxjX2NwdS5oPgotIAotICNpbmNsdWRlIDxsaWJzd3NjYWxlL3N3c2NhbGUuaD4KLSsjaW5jbHVkZSA8bGlic3dzY2FsZS92ZXJzaW9uLmg+Ci0gCi0gI2lmZGVmIF9fQVBQTEVfXwotICMgaW5jbHVkZSA8VGFyZ2V0Q29uZGl0aW9uYWxzLmg+Ci1AQCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyBpbnQgR2V0U3dzQ3B1TWFzayh2b2lkKQotIHsKLSAgICAgaW50IGlfc3dzX2NwdSA9IDA7Ci0gCi0rI2lmIExJQlNXU0NBTEVfVkVSU0lPTl9NQUpPUiA8IDQKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotICAgICBpZiggdmxjX0NQVV9NTVgoKSApCi0gICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX01NWDsKLUBAIC0yNDgsNiArMjUwLDcgQEAgc3RhdGljIGludCBHZXRTd3NDcHVNYXNrKHZvaWQpCi0gICAgIGlmKCB2bGNfQ1BVX0FMVElWRUMoKSApCi0gICAgICAgICBpX3N3c19jcHUgfD0gU1dTX0NQVV9DQVBTX0FMVElWRUM7Ci0gI2VuZGlmCi0rI2VuZGlmCi0gCi0gICAgIHJldHVybiBpX3N3c19jcHU7Ci0gfQotLS0gCi0yLjUuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMi4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMi4yLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1YmUwNGMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzIuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLSMgd29yayBhcm91bmQgYnVpbGQgZmFpbHVyZQotRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtbGlieG1sMj1ubyIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZW5hYmxlLXN1YmRpci1vYmplY3RzLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdsaWJjLWRvZXMtbm90LXByb3ZpZGUtc3RybGNweS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMy11c2UtYW0tcGF0aC1saWJnY3J5cHQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDQtbW9kdWxlcy1ndWktcXQ0LW91dC1vZi10cmVlLWJ1aWxkLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWxpYnBvc3Rwcm9jLWhlYWRlci1jaGVjay5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNi1tYWtlLW9wZW5jdi1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDctdXNlLXZvcmJpc2lkZWMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDgtZml4LWx1YUwtY2hlY2tpbnQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDktQXZjb2RlYy1zd3NjYWxlLXVzZS1BVl9QSVhfRk1ULWNvbnNpc3RlbnRseS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMC1TV1NDQUxFLWZpeC1jb21waWxhdGlvbi13aXRoLTQueC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmOThkNjBmMGY1OWVmNzJiNmUzNDA3ZjJmZjA5YmRhNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YWQyMzEyOGJlMTZmOWI0MGVkNzcyOTYxMjcyY2IwNzQ4ZWQ4ZTRhYTFiYzc5YzEyOWU1ODlmZWViZWE1ZmI1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzMuMC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS92bGMvdmxjXzMuMC42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhZTIxM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1tdWx0aW1lZGlhL3ZsYy92bGNfMy4wLjYuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKKyMgd29yayBhcm91bmQgYnVpbGQgZmFpbHVyZQorRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtbGlieG1sMj1ubyIKKworTERGTEFHU19hcHBlbmRfcmlzY3Y2NCA9ICIgLXB0aHJlYWQiCisKK1NSQ19VUkkgKz0gIiBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMi1nbGliYy1kb2VzLW5vdC1wcm92aWRlLXN0cmxjcHkucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDUtbGlicG9zdHByb2MtaGVhZGVyLWNoZWNrLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDA2LW1ha2Utb3BlbmN2LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNy11c2Utdm9yYmlzaWRlYy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwOC1maXgtbHVhTC1jaGVja2ludC5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNGZmNzFkMjYyZTA3MGZkMTlmODZhMWMzNTQyYzdiNGUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThjMTZkNGJlMGYzNDg2MWQwYWE1MWZiZDI3NGZiODdmMGNhYjNiNzExOTc1N2VhZDkzZjNkYjNhMWYyN2VkMyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcmlzY3Zfc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmcvcmlzY3Zfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzZiOTg2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy9yaXNjdl9zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0FkZCBzdXBwb3J0IGZvciBSSVNDLVYKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvd2VicnRjL2Jhc2UvYmFzaWN0eXBlcy5oCisrKysgYi93ZWJydGMvYmFzZS9iYXNpY3R5cGVzLmgKK0BAIC0yOSw2ICsyOSwxMCBAQAorICNkZWZpbmUgQ1BVX0FSTSAxCisgI2VuZGlmCisgCisrI2lmIGRlZmluZWQoX19yaXNjdikgfHwgZGVmaW5lZChfTV9SSVNDVikKKysjZGVmaW5lIENQVV9SSVNDViAxCisrI2VuZGlmCisrCisgI2lmIGRlZmluZWQoQ1BVX1g4NikgJiYgZGVmaW5lZChDUFVfQVJNKQorICNlcnJvciBDUFVfWDg2IGFuZCBDUFVfQVJNIGJvdGggZGVmaW5lZC4KKyAjZW5kaWYKKy0tLSBhL3dlYnJ0Yy90eXBlZGVmcy5oCisrKysgYi93ZWJydGMvdHlwZWRlZnMuaAorQEAgLTU2LDYgKzU2LDEzIEBACisgI2VsaWYgZGVmaW5lZChfX3Bvd2VycGNfXykKKyAjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKyAjZGVmaW5lIFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KKysjZWxpZiBkZWZpbmVkKF9fcmlzY3YpCisrI2lmIF9fcmlzY3ZfeGxlbiA9PSA2NAorKyMgZGVmaW5lIFdFQlJUQ19BUkNIXzY0X0JJVFMKKysjZWxzZQorKyMgZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKysjZW5kaWYKKysjZGVmaW5lIFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KKyAjZWxpZiBkZWZpbmVkKF9fcG5hY2xfXykKKyAjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKKyAjZGVmaW5lIFdFQlJUQ19BUkNIX0xJVFRMRV9FTkRJQU4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLW11bHRpbWVkaWEvd2VicnRjLWF1ZGlvLXByb2Nlc3Npbmcvd2VicnRjLWF1ZGlvLXByb2Nlc3NpbmdfMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKaW5kZXggMmIwZjdjNi4uZGJiYTJmNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZy93ZWJydGMtYXVkaW8tcHJvY2Vzc2luZ18wLjMuYmIKQEAgLTE5LDYgKzE5LDcgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDQtdHlwZWRlZnMuaC1hZGQtc3VwcG9ydC1mb3ItNjQtYml0LWFuZC1iaWctZW5kaWFuLU1JUC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA1LXR5cGVkZWZzLmgtYWRkLXN1cHBvcnQtZm9yLVBvd2VyUEMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNi1jb21tb25fYXVkaW8taW1wbGVtZW50LWVuZGlhbm5lc3MtY29udmVyc2lvbi1pbi13YXYtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3Jpc2N2X3N1cHBvcnQucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMzM2YWUwMzJmNjA4ZTY1ODA4YWM1NzdjZGUwYWI3MmMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvMDAwMS1tYXRoX3ZmcF9hc20uUy1Db252ZXJ0LWZsZG1pYS1mc3RtaWEtaW5zdHJ1Y3Rpb25zLXRvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1OTAzODAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3LzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaApAQCAtMCwwICsxLDI1NyBAQAorRnJvbSAwMmExMzhmMGIyNDdmYjA4Yjc5OWYzMmM0OWIzNTkxMmIyOTIxMzIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTE6Mzg6NDYgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWF0aF92ZnBfYXNtLlM6IENvbnZlcnQgZmxkbWlhL2ZzdG1pYSBpbnN0cnVjdGlvbnMgdG8gVUFMCisgc3ludGF4IGZvciBjbGFuZworCitUaGlzIGlzIGZsYWdnZWQgd2l0aCBjbGFuZyBpbnRlcm5hbCBhc3NlbWJsZXIsIHNpbmNlIGl0IGRvZXMgbm90IGFsbG93Citub24gVUFMIHN5bnRheAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMgfCA5NCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJvaWwvYXJtL21hdGhfdmZwX2FzbS5TIGIvbGlib2lsL2FybS9tYXRoX3ZmcF9hc20uUworaW5kZXggYWU1YzgwMy4uM2RkMTRkOSAxMDA2NDQKKy0tLSBhL2xpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMKKysrKyBiL2xpYm9pbC9hcm0vbWF0aF92ZnBfYXNtLlMKK0BAIC0yNSw3ICsyNSw3IEBACisgICovCisgCisgI2lmIGRlZmluZWQoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKy0vKiAKKysvKgorICoqIGNvbXBpbGUgd2l0aCAtbWNwdT1hcm0xMTM2ai1zIC1tZnB1PXZmcCAtbWZsb2F0LWFiaT1zb2Z0ZnAKKyAqKgorICoqIHZvaWQgdmZwX2FkZF9mMzIgKGZsb2F0ICpkLCBjb25zdCBmbG9hdCAqczEsIGNvbnN0IGZsb2F0ICpzMiwgaW50IG4pOworQEAgLTQ4LDEwICs0OCwxMCBAQAorICAgICBhbmRzICAgICAgICAgIGlwLCByMywgIzc7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgOCAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMiEsIHtzMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjEhLCB7czB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIyISwge3MxfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNzICBzMiwgczAsIHMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjMyICAgICAgIHIwISwge3MyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDggKi8gICAgICAgICAgICAgICAgIFwKK0BAIC02MiwxNSArNjIsMTUgQEAKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDggKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjIhLCB7czE2LCBzMTcsIHMxOCwgczE5LCBzMjAsIHMyMSwgczIyLCBzMjN9OyAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMiEsIHtzMTYsIHMxNywgczE4LCBzMTksIHMyMCwgczIxLCBzMjIsIHMyM307ICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjcyAgczI0LCBzOCwgczE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmYzMiAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgbHI7ICAgICAgICAgICAgICAgIC8qIHJlc3RvcmUgb3JpZ2luYWwgZnBzY3IgKi8gICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9lbmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLyAgIAorKyAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLworIAorICNkZWZpbmUgVU5ST0xMX0Y2NF9URU1QTEFURShmbmFtZSxmaW5zdCkgXAorICAgLmdsb2JhbCB2ZnBfICMjIGZuYW1lICMjIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC03OSwxMCArNzksMTAgQEAKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjMsICMzOyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDMgKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjIhLCB7ZDF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMiEsIHtkMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjZCAgZDIsIGQwLCBkMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFkICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmY2NCAgICAgICByMCEsIHtkMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDogICAgICAgICAgICAgICAgIC8qIHVucm9sbCBieSA0ICovICAgICAgICAgICAgICAgICBcCitAQCAtOTMsMTUgKzkzLDE1IEBACisgICAgIG9yciAgICAgICAgICAgZnAsIGxyLCBmcCwgbHNsICMxNjsgICAgICAvKiBzZXQgdmVjdG9yIGxlbmdodCB0byA4ICovICAgICAgXAorICAgICBmbXhyICAgICAgICAgIGZwc2NyLCBmcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIyISwge2Q4LCBkOSwgZDEwLCBkMTF9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjIhLCB7ZDgsIGQ5LCBkMTAsIGQxMX07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI2QgIGQxMiwgZDQsIGQ4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhZCAgICAgICByMCEsIHtkMTIsIGQxMywgZDE0LCBkMTV9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAuYWxpZ24gMgorIFVOUk9MTF9GMzJfVEVNUExBVEUoYWRkX2YzMixmYWRkKTsKK0BAIC0xMTksNyArMTE5LDcgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzdWJ0cmFjdF9mNjQsZnN1Yik7CisgI3VuZGVmIFVOUk9MTF9GMzJfVEVNUExBVEUKKyAjdW5kZWYgVU5ST0xMX0Y2NF9URU1QTEFURQorIAorLS8qIAorKy8qCisgKioKKyAqKiB2b2lkIHZmcF9zY2FsYXJhZGRfZjMyX25zIChmbG9hdCAqZCwgY29uc3QgZmxvYXQgKnMxLCBjb25zdCBmbG9hdCAqczJfMSwgaW50IG4pOworICoqIHZvaWQgdmZwX3NjYWxhcmFkZF9mNjRfbnMgKGRvdWJsZSAqZCwgY29uc3QgZG91YmxlICpzMSwgY29uc3QgZG91YmxlICpzMl8xLCBpbnQgbik7CitAQCAtMTMzLDEzICsxMzMsMTMgQEAgVU5ST0xMX0Y2NF9URU1QTEFURShzdWJ0cmFjdF9mNjQsZnN1Yik7CisgICAuZ2xvYmFsIHZmcF8gIyMgZm5hbWUgIyMgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3RtZGIgICAgICAgICBzcCEsIHtmcCwgbHJ9OyAgICAgICAgICAgIC8qIHNhdmUgcmVnaXN0ZXJzIHRvIHN0YWNrICovICAgICBcCistICAgIGZsZG1pYXMgICAgICAgcjIsIHtzMX07ICAgICAgICAgICAgICAgICAvKiBsb2FkIHNjYWxhciB2YWx1ZSAqLyAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIyLCB7czF9OyAgICAgICAgICAgICAgICAgLyogbG9hZCBzY2FsYXIgdmFsdWUgKi8gICAgICAgICAgIFwKKyAgICAgYW5kcyAgICAgICAgICBpcCwgcjMsICM3OyAgICAgICAgICAgICAgIC8qIGlwID0gbiAlIDggKi8gICAgICAgICAgICAgICAgICBcCisgICAgIGJlcSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOyAvKiBpZiBpcCA9PSAwIGdvdG8gcHJlcF9sb29wMiAqLyAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhcyAgICAgICByMSEsIHtzMH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mMzIgICAgICAgcjEhLCB7czB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI3MgIHMyLCBzMCwgczE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhcyAgICAgICByMCEsIHtzMn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgOCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTE1MCwyNiArMTUwLDI2IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc3VidHJhY3RfZjY0LGZzdWIpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gOCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgdmxkbWlhLmYzMiAgICAgICByMSEsIHtzOCwgczksIHMxMCwgczExLCBzMTIsIHMxMywgczE0LCBzMTV9OyAgICAgICAgICAgICAgICBcCisgICAgICMjIGZpbnN0ICMjcyAgczI0LCBzOCwgczE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmc3RtaWFzICAgICAgIHIwISwge3MyNCwgczI1LCBzMjYsIHMyNywgczI4LCBzMjksIHMzMCwgczMxfTsgICAgICAgICAgICAgIFwKKysgICAgdnN0bWlhLmYzMiAgICAgICByMCEsIHtzMjQsIHMyNSwgczI2LCBzMjcsIHMyOCwgczI5LCBzMzAsIHMzMX07ICAgICAgICAgICAgICBcCisgICAgIHN1YnMgICAgICAgICAgaXAsIGlwLCAjMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBibmUgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgbHI7ICAgICAgICAgICAgICAgIC8qIHJlc3RvcmUgb3JpZ2luYWwgZnBzY3IgKi8gICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9lbmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLyAgIAorKyAgICBsZG1pYSAgICAgICAgIHNwISwge2ZwLCBwY307ICAgICAgICAvKiByZWNvdmVyaW5nIGZyb20gc3RhY2sgYW5kIHJldHVybiAqLworIAorICNkZWZpbmUgVU5ST0xMX0Y2NF9URU1QTEFURShmbmFtZSxmaW5zdCkgXAorICAgLmdsb2JhbCB2ZnBfICMjIGZuYW1lICMjIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIHN0bWRiICAgICAgICAgc3AhLCB7ZnAsIGxyfTsgICAgICAgICAgICAvKiBzYXZlIHJlZ2lzdGVycyB0byBzdGFjayAqLyAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIyLCB7ZDF9OyAgICAgICAgICAgICAgICAgLyogbG9hZCBzY2FsYXIgdmFsdWUgKi8gICAgICAgICAgIFwKKysgICAgdmxkbWlhLmY2NCAgICAgICByMiwge2QxfTsgICAgICAgICAgICAgICAgIC8qIGxvYWQgc2NhbGFyIHZhbHVlICovICAgICAgICAgICBcCisgICAgIGFuZHMgICAgICAgICAgaXAsIHIzLCAjMzsgICAgICAgICAgICAgICAvKiBpcCA9IG4gJSAzICovICAgICAgICAgICAgICAgICAgXAorICAgICBiZXEgICAgICAgICAgIHZmcF8gIyMgZm5hbWUgIyMgX3Vucm9sbDsgLyogaWYgaXAgPT0gMCBnb3RvIHByZXBfbG9vcDIgKi8gIFwKKyAgIHZmcF8gIyMgZm5hbWUgIyMgX2xvb3AxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZsZG1pYWQgICAgICAgcjEhLCB7ZDB9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIyMgZmluc3QgIyNkICBkMiwgZDAsIGQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2c3RtaWEuZjY0ICAgICAgIHIwISwge2QyfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgc3VicyAgICAgICAgICBpcCwgaXAsICMxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGJuZSAgICAgICAgICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfdW5yb2xsOiAgICAgICAgICAgICAgICAgLyogdW5yb2xsIGJ5IDQgKi8gICAgICAgICAgICAgICAgIFwKK0BAIC0xODAsMTQgKzE4MCwxNCBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHN1YnRyYWN0X2Y2NCxmc3ViKTsKKyAgICAgb3JyICAgICAgICAgICBmcCwgbHIsIGZwLCBsc2wgIzE2OyAgICAgIC8qIHNldCB2ZWN0b3IgbGVuZ2h0IHRvIDQgKi8gICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGZwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfbG9vcDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZmxkbWlhZCAgICAgICByMSEsIHtkNCwgZDUsIGQ2LCBkN307ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZsZG1pYS5mNjQgICAgICAgcjEhLCB7ZDQsIGQ1LCBkNiwgZDd9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAjIyBmaW5zdCAjI2QgIGQxMiwgZDQsIGQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgZnN0bWlhZCAgICAgICByMCEsIHtkMTIsIGQxMywgZDE0LCBkMTV9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyBVTlJPTExfRjMyX1RFTVBMQVRFKHNjYWxhcmFkZF9mMzJfbnMsZmFkZCk7CisgVU5ST0xMX0Y2NF9URU1QTEFURShzY2FsYXJhZGRfZjY0X25zLGZhZGQpOworQEAgLTE5OCw3ICsxOTgsNyBAQCBVTlJPTExfRjY0X1RFTVBMQVRFKHNjYWxhcm11bHRpcGx5X2Y2NF9ucyxmbXVsKTsKKyAjdW5kZWYgVU5ST0xMX0YzMl9URU1QTEFURQorICN1bmRlZiBVTlJPTExfRjY0X1RFTVBMQVRFCisgCistLyogCisrLyoKKyAqKgorICoqIHZvaWQgdmZwX2Fic19mMzJfZjMyX25zKGZsb2F0ICpkLCBjb25zdCBmbG9hdCAqcywgaW50IG4pOworICoqIHZvaWQgdmZwX2Fic19mNjRfZjY0X25zKGRvdWJsZSAqZCwgY29uc3QgZG91YmxlICpzLCBpbnQgbik7CitAQCAtMjE1LDkgKzIxNSw5IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBhbmRzICAgICAgICAgIGlwLCByMiwgIzc7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgOCAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNzICBzMiwgczA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3MwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgIyMuZjMyICBzMiwgczA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgOCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTIyOCwxNCArMjI4LDE0IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gOCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFzICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNzICBzMjQsIHM4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYXMgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjMyICAgICAgIHIxISwge3M4LCBzOSwgczEwLCBzMTEsIHMxMiwgczEzLCBzMTQsIHMxNX07ICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmYzMiBzMjQsIHM4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mMzIgICAgICAgcjAhLCB7czI0LCBzMjUsIHMyNiwgczI3LCBzMjgsIHMyOSwgczMwLCBzMzF9OyAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKyAjZGVmaW5lIFVOUk9MTF9GNjRfVEVNUExBVEUoZm5hbWUsZmluc3QpIFwKKyAgIC5nbG9iYWwgdmZwXyAjIyBmbmFtZSAjIyA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCitAQCAtMjQ0LDkgKzI0NCw5IEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBhbmRzICAgICAgICAgIGlwLCByMiwgIzM7ICAgICAgICAgICAgICAgLyogaXAgPSBuICUgMyAqLyAgICAgICAgICAgICAgICAgIFwKKyAgICAgYmVxICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw7IC8qIGlmIGlwID09IDAgZ290byBwcmVwX2xvb3AyICovICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNkICBkMiwgZDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2QwfTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmY2NCBkMiwgZDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDJ9OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF91bnJvbGw6ICAgICAgICAgICAgICAgICAvKiB1bnJvbGwgYnkgNCAqLyAgICAgICAgICAgICAgICAgXAorQEAgLTI1NywyMCArMjU3LDIwIEBAIFVOUk9MTF9GNjRfVEVNUExBVEUoc2NhbGFybXVsdGlwbHlfZjY0X25zLGZtdWwpOworICAgICBvcnIgICAgICAgICAgIGZwLCBsciwgZnAsIGxzbCAjMTY7ICAgICAgLyogc2V0IHZlY3RvciBsZW5naHQgdG8gNCAqLyAgICAgIFwKKyAgICAgZm14ciAgICAgICAgICBmcHNjciwgZnA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICBmbGRtaWFkICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgIyMgZmluc3QgIyNkICBkMTIsIGQ0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgIGZzdG1pYWQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICB2bGRtaWEuZjY0ICAgICAgIHIxISwge2Q0LCBkNSwgZDYsIGQ3fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgIyMgZmluc3QgICMjLmY2NCBkMTIsIGQ0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHZzdG1pYS5mNjQgICAgICAgcjAhLCB7ZDEyLCBkMTMsIGQxNCwgZDE1fTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICBzdWJzICAgICAgICAgIGlwLCBpcCwgIzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYm5lICAgICAgICAgICB2ZnBfICMjIGZuYW1lICMjIF9sb29wMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGZteHIgICAgICAgICAgZnBzY3IsIGxyOyAgICAgICAgICAgICAgICAvKiByZXN0b3JlIG9yaWdpbmFsIGZwc2NyICovICAgICAgXAorICAgdmZwXyAjIyBmbmFtZSAjIyBfZW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0gICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8gICAKKysgICAgbGRtaWEgICAgICAgICBzcCEsIHtmcCwgcGN9OyAgICAgICAgLyogcmVjb3ZlcmluZyBmcm9tIHN0YWNrIGFuZCByZXR1cm4gKi8KKyAKKy1VTlJPTExfRjMyX1RFTVBMQVRFKGFic19mMzJfZjMyX25zLGZhYnMpOworLVVOUk9MTF9GNjRfVEVNUExBVEUoYWJzX2Y2NF9mNjRfbnMsZmFicyk7CisrVU5ST0xMX0YzMl9URU1QTEFURShhYnNfZjMyX2YzMl9ucyx2YWJzKTsKKytVTlJPTExfRjY0X1RFTVBMQVRFKGFic19mNjRfZjY0X25zLHZhYnMpOworIAorLVVOUk9MTF9GMzJfVEVNUExBVEUobmVnYXRpdmVfZjMyLGZuZWcpOworLVVOUk9MTF9GNjRfVEVNUExBVEUobmVnYXRpdmVfZjY0LGZuZWcpOworK1VOUk9MTF9GMzJfVEVNUExBVEUobmVnYXRpdmVfZjMyLHZuZWcpOworK1VOUk9MTF9GNjRfVEVNUExBVEUobmVnYXRpdmVfZjY0LHZuZWcpOworIAorICN1bmRlZiBVTlJPTExfRjMyX1RFTVBMQVRFCisgI3VuZGVmIFVOUk9MTF9GNjRfVEVNUExBVEUKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbC0wLjMuMTcvZml4X3Jpc2N2X3VuYWxpZ25lZF9hY2Nlc3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeF9yaXNjdl91bmFsaWduZWRfYWNjZXNzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0OGJkZTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWwtMC4zLjE3L2ZpeF9yaXNjdl91bmFsaWduZWRfYWNjZXNzLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1JJU0MtViBzdXBwb3J0cyB1bmFsaWduZWQgYWNjZXNzZXMsIHRoZXJlZm9yZSBlbmFibGUgaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNAorKysrIGIvbTQvYXMtdW5hbGlnbmVkLWFjY2Vzcy5tNAorQEAgLTUsNyArNSw3IEBAIEFDX0RFRlVOKFtBU19VTkFMSUdORURfQUNDRVNTXSwgWworICAgQUNfTVNHX0NIRUNLSU5HKFtpZiB1bmFsaWduZWQgbWVtb3J5IGFjY2VzcyB3b3JrcyBjb3JyZWN0bHldKQorICAgaWYgdGVzdCB4IiRhc19jdl91bmFsaWduZWRfYWNjZXNzIiA9IHggOyB0aGVuCisgICAgIGNhc2UgJGhvc3QgaW4KKy0gICAgICBhbHBoYSp8YXJtKnxocCp8bWlwcyp8c2gqfHNwYXJjKnxpYTY0KikKKysgICAgICBhbHBoYSp8YXJtKnxocCp8bWlwcyp8cmlzY3YqfHNoKnxzcGFyYyp8aWE2NCopCisgICAgICAgICBfQVNfRUNIT19OKFsoYmxhY2tsaXN0ZWQpIF0pCisgICAgICAgICBhc19jdl91bmFsaWduZWRfYWNjZXNzPW5vCisgCTs7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1tdWx0aW1lZGlhL3JlY2lwZXMtc3VwcG9ydC9saWJvaWwvbGlib2lsXzAuMy4xNy5iYgppbmRleCAwM2I3Nzg1Li42NTRlZTFlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW11bHRpbWVkaWEvcmVjaXBlcy1zdXBwb3J0L2xpYm9pbC9saWJvaWxfMC4zLjE3LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbXVsdGltZWRpYS9yZWNpcGVzLXN1cHBvcnQvbGlib2lsL2xpYm9pbF8wLjMuMTcuYmIKQEAgLTE3LDcgKzE3LDkgQEAKICAgICAgICAgICAgZmlsZTovL2ZpeC11bmFsaWduZWQtd2hpdGVsaXN0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWVuYWJsZS12ZnAtZmxhZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9saWJvaWxfZml4X2Zvcl94MzIucGF0Y2ggXAotICAgICAgICAgICIKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWF0aF92ZnBfYXNtLlMtQ29udmVydC1mbGRtaWEtZnN0bWlhLWluc3RydWN0aW9ucy10by5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfcmlzY3ZfdW5hbGlnbmVkX2FjY2Vzcy5wYXRjaCBcCisgICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjQ3ZGM3MzRmODJmYWViMjk2NGQ5Nzc3MWNmZDJlNzAxIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwNWYwMjA3OWIwYjUwMDM0Yzc1OWRiMzRiNDczZWNiNTcwNGZmYTIwYTU0ODZiNjBhOGI3Njk4MTI4YmZjNjkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvTUFJTlRBSU5FUlMKaW5kZXggOTQ1ZWU4Ni4uNWM0YzRjZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL01BSU5UQUlORVJTCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9NQUlOVEFJTkVSUwpAQCAtMiwxMiArMiwzOCBAQAogCiBQbGVhc2Ugc3VibWl0IGFueSBwYXRjaGVzIGFnYWluc3QgbWV0YS1uZXR3b3JraW5nIHRvIHRoZSBPcGVuRW1iZWRkZWQKIGRldmVsb3BtZW50IG1haWxpbmcgbGlzdCAob3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcpIHdpdGgKLSdbbWV0YS1uZXR3b3JraW5nXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCisnW21ldGEtbmV0d29ya2luZ10nIGluIHRoZSBzdWJqZWN0LgogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2Ugc29tZXRoaW5nIGxpa2U6CiAKICAgIGdpdCBzZW5kLWVtYWlsIC0xIC1NIFwKICAgICAgICAgLS10byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyBcCi0gICAgICAgIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1uZXR3b3JraW5nXVt0aHVkXVtQQVRDSAorICAgICAgICAtLXN1YmplY3QtcHJlZml4PW1ldGEtbmV0d29ya2luZ11bUEFUQ0gKIAotVGh1ZCBNYWludGFpbmVyOiAgICAgIEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitZb3UgbWF5IGFsc28gY29udGFjdCB0aGUgbWFpbnRhaW5lcnMgZGlyZWN0bHkuCisKK0Rlc2NyaXB0aW9ucyBvZiBzZWN0aW9uIGVudHJpZXM6CisKKyAgICAgICAgTTogTWFpbCBwYXRjaGVzIHRvOiBGdWxsTmFtZSA8YWRkcmVzc0Bkb21haW4+CisgICAgICAgIEY6IEZpbGVzIGFuZCBkaXJlY3RvcmllcyB3aXRoIHdpbGRjYXJkIHBhdHRlcm5zLgorICAgICAgICAgICBBIHRyYWlsaW5nIHNsYXNoIGluY2x1ZGVzIGFsbCBmaWxlcyBhbmQgc3ViZGlyZWN0b3J5IGZpbGVzLgorICAgICAgICAgICBGOiByZWNpcGVzLWRldnRvb2xzLyAgICBhbGwgZmlsZXMgaW4gYW5kIGJlbG93IHJlY2lwZXMtZGV2dG9vbHMKKyAgICAgICAgICAgRjogcmVjaXBlcy1zZWxpbnV4LyogICAgYWxsIGZpbGVzIGluIHJlY2lwZXMtc2VsaW51eCwgYnV0IG5vdCBiZWxvdworICAgICAgICAgICBPbmUgcGF0dGVybiBwZXIgbGluZS4gIE11bHRpcGxlIEY6IGxpbmVzIGFjY2VwdGFibGUuCisKK1BsZWFzZSBrZWVwIHRoaXMgbGlzdCBpbiBhbHBoYWJldGljYWwgb3JkZXIuCisKK01haW50YWluZXJzIExpc3QgKHRyeSB0byBsb29rIGZvciBtb3N0IHByZWNpc2UgYXJlYXMgZmlyc3QpCisKK0NPTU1PTgorTTogICAgICBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorTTogICAgICAiSm9lIE1hY0RvbmFsZCAoYmFja3VwKSIgPGpvZUBkZXNlcnRlZC5uZXQ+CitMOiAgICAgIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnCitROiAgICAgIGh0dHBzOi8vcGF0Y2h3b3JrLm9wZW5lbWJlZGRlZC5vcmcvcHJvamVjdC9vZS8KK1M6ICAgICAgTWFpbnRhaW5lZAorRjogICAgICBjb25mCitGOiAgICAgIHJlY2lwZXMtKgorCitORVRLSVQKK006ICAgICAgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0Y6ICAgICAgcmVjaXBlcy1uZXRraXQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvUkVBRE1FCmluZGV4IDdhNGFjYTQuLmUxYmEyN2QgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL1JFQURNRQpAQCAtMTgsMTkgKzE4LDE5IEBACiBUaGlzIGxheWVyIGRlcGVuZHMgb246CiAKIFVSSTogZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUuZ2l0Ci1icmFuY2g6IHRodWQKK2JyYW5jaDogbWFzdGVyCiByZXZpc2lvbjogSEVBRAogCiBGb3Igc29tZSByZWNpcGVzLCB0aGUgbWV0YS1vZSBsYXllciBpcyByZXF1aXJlZDoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9wZW5lbWJlZGRlZC5naXQKIHN1YmRpcmVjdG9yeTogbWV0YS1vZQotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9wZW5lbWJlZGRlZC5naXQKIHN1YmRpcmVjdG9yeTogbWV0YS1weXRob24KLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIE1haW50ZW5hbmNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL2NvbmYvbGF5ZXIuY29uZgppbmRleCBkMzZmZjViLi42N2Y1OGJjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9jb25mL2xheWVyLmNvbmYKQEAgLTE3LDcgKzE3LDcgQEAKIExBWUVSREVQRU5EU19uZXR3b3JraW5nLWxheWVyICs9ICJvcGVuZW1iZWRkZWQtbGF5ZXIiCiBMQVlFUkRFUEVORFNfbmV0d29ya2luZy1sYXllciArPSAibWV0YS1weXRob24iCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9uZXR3b3JraW5nLWxheWVyID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfbmV0d29ya2luZy1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCiAKIExJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYi8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViLzAwMDEtdW5kZWZpbmUtbWFjcm8tYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2NTMzMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViLzAwMDEtdW5kZWZpbmUtbWFjcm8tYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIDU5ZjY1MjM1YTdhNjkwZjUwZDE2ODZlOTk3NzkwOGMwNTM2OTdkOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBdWcgMjAxOCAyMjo1OToxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1bmRlZmluZSBtYWNybyBiZWZvcmUgcmVkZWZpbmluZwotCi1GaXhlcwotc3JjL21haW4uYzo4OTo5OiBlcnJvcjogJ3ByaW50ZicgbWFjcm8gcmVkZWZpbmVkIFstV2Vycm9yLC1XbWFjcm8tcmVkZWZpbmVkXQotCi1VcHN0cmVhbS1TdGF0czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vY2l2ZXR3ZWIvY2l2ZXR3ZWIvcHVsbC82NDldCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL21haW4uYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21haW4uYyBiL3NyYy9tYWluLmMKLWluZGV4IGJiY2IwYWVjLi4wMTE5MWEzYyAxMDA2NDQKLS0tLSBhL3NyYy9tYWluLmMKLSsrKyBiL3NyYy9tYWluLmMKLUBAIC04Niw2ICs4Niw3IEBACi0gCi0gI2luY2x1ZGUgImNpdmV0d2ViLmgiCi0gCi0rI3VuZGVmIHByaW50ZgotICNkZWZpbmUgcHJpbnRmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gCURPX05PVF9VU0VfVEhJU19GVU5DVElPTl9fVVNFX2ZwcmludGYgLyogUmVxdWlyZWQgZm9yIHVuaXQgdGVzdGluZyAqLwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jaXZldHdlYi9jaXZldHdlYl9naXQuYmIKaW5kZXggZDY4MWY3Zi4uYzhmZTI0YyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NpdmV0d2ViL2NpdmV0d2ViX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY2l2ZXR3ZWIvY2l2ZXR3ZWJfZ2l0LmJiCkBAIC00LDExICs0LDEwIEBACiBMSUNFTlNFID0gIk1JVCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PTZmMjhmZGNiYTBkZGE3MzVlZWQ2MmJhYzZhMzk3NTYyIgogCi1TUkNSRVYgPSAiMTlmMzFiYThkZDg0NDNlODZjNzAyOGE0YjRjMzdmNGIyOTlhYTY4YyIKLVBWID0gIjEuMTArZ2l0JHtTUkNQVn0iCitTUkNSRVYgPSAiY2U4ZjZkMzhhNjBlYjE2Yzk5NmFmZWUxZTUzNDBmNzZlZjRkMDkyMyIKK1BWID0gIjEuMTErZ2l0JHtTUkNQVn0iCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2l2ZXR3ZWIvY2l2ZXR3ZWIuZ2l0IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVW5pdHRlc3QtTGluay1saWJydC1hbmQtbGlibS11c2luZy1sLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXVuZGVmaW5lLW1hY3JvLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtMzYsNyArMzUsNyBAQAogUEFDS0FHRUNPTkZJR1tjcHBdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX0NYWD1PTiwtRENJVkVUV0VCX0VOQUJMRV9DWFg9T0ZGLCIKIFBBQ0tBR0VDT05GSUdbZGVidWddID0gIi1EQ0lWRVRXRUJfRU5BQkxFX01FTU9SWV9ERUJVR0dJTkc9T04sLURDSVZFVFdFQl9FTkFCTEVfTUVNT1JZX0RFQlVHR0lORz1PRkYsIgogUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItRENJVkVUV0VCX0VOQUJMRV9JUFY2PU9OLC1EQ0lWRVRXRUJfRU5BQkxFX0lQVjY9T0ZGLCIKLVBBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PTiwtRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PRkYsIgorUEFDS0FHRUNPTkZJR1tzZXJ2ZXJdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX1NFUlZFUl9FWEVDVVRBQkxFPU9OIC1EQ0lWRVRXRUJfSU5TVEFMTF9FWEVDVVRBQkxFPU9OLC1EQ0lWRVRXRUJfRU5BQkxFX1NFUlZFUl9FWEVDVVRBQkxFPU9GRiAtRENJVkVUV0VCX0lOU1RBTExfRVhFQ1VUQUJMRT1PRkYsIgogUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1EQ0lWRVRXRUJfRU5BQkxFX1NTTD1PTiAtRENJVkVUV0VCX1NTTF9PUEVOU1NMX0FQSV8xXzE9T0ZGIC1EQ0lWRVRXRUJfRU5BQkxFX1NTTF9EWU5BTUlDX0xPQURJTkc9T0ZGLC1EQ0lWRVRXRUJfRU5BQkxFX1NTTD1PRkYsb3BlbnNzbCAoPTEuMC4yJSksIgogUEFDS0FHRUNPTkZJR1t3ZWJzb2NrZXRzXSA9ICItRENJVkVUV0VCX0VOQUJMRV9XRUJTT0NLRVRTPU9OLC1EQ0lWRVRXRUJfRU5BQkxFX1dFQlNPQ0tFVFM9T0ZGLCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYV8zLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2NyZGEvY3JkYV8zLjE4LmJiCmluZGV4IGQ1ZDJhYjYuLmM5MzkwNWUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jcmRhL2NyZGFfMy4xOC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvY3JkYS9jcmRhXzMuMTguYmIKQEAgLTQsMTAgKzQsNyBAQAogTElDRU5TRSA9ICJjb3B5bGVmdC1uZXh0LTAuMy4wIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY29weWxlZnQtbmV4dC0wLjMuMDttZDU9ODc0M2EyYzM1OTAzN2Q0ZDMyOWEzMWU3OWVhYmVmZmUiCiAKLURFUEVORFMgPSAicHl0aG9uLW0yY3J5cHRvLW5hdGl2ZSBweXRob24tdHlwaW5nLW5hdGl2ZSBweXRob24tbmF0aXZlIGxpYm5sIFwKLSAgICAgICAgICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIkRFRkFVTFRfQ1JZUFQiLCAiZ2NyeXB0IiwgImxpYmdjcnlwdCIsICIiLCBkKX0gXAotICAgICAgICAgICAke0BvZS51dGlscy5jb25kaXRpb25hbCgiREVGQVVMVF9DUllQVCIsICJvcGVuc3NsIiwgIm9wZW5zc2wxMCIsICIiLCBkKX0gXAotICAgICAgICAgICIKK0RFUEVORFMgPSAicHl0aG9uLW0yY3J5cHRvLW5hdGl2ZSBweXRob24tdHlwaW5nLW5hdGl2ZSBweXRob24tbmF0aXZlIGxpYm5sIGxpYmdjcnlwdCIKIAogU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vZG8tbm90LXJ1bi1sZGNvbmZpZy1pZi1kZXN0ZGlyLWlzLXNldC5wYXRjaCBcCkBAIC0yMywxMyArMjAsOSBAQAogCiBpbmhlcml0IHB5dGhvbi1kaXIgcHl0aG9ubmF0aXZlIHNpdGVpbmZvCiAKLSMgImdjcnlwdCIgb3IgIm9wZW5zc2wiCi1ERUZBVUxUX0NSWVBUID8/PSAiZ2NyeXB0IgotCiAjIFJlY3Vyc2l2ZSBtYWtlIHByb2JsZW0KIEVYVFJBX09FTUFLRSA9ICJNQUtFRkxBR1M9IERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9L2NyZGEgTERMSUJSRUc9Jy1XbCwtcnBhdGgsJHtsaWJkaXJ9L2NyZGEgLWxyZWcnIFwKICAgICAgICAgICAgICAgICBVREVWX1JVTEVfRElSPSR7bm9uYXJjaF9saWJkaXJ9L3VkZXYvcnVsZXMuZC8iCi1FWFRSQV9PRU1BS0VfYXBwZW5kID0gIiAke0BvZS51dGlscy5jb25kaXRpb25hbCgiREVGQVVMVF9DUllQVCIsICJvcGVuc3NsIiwgIlVTRV9PUEVOU1NMPTEiLCAiIiwgZCl9IgogVEFSR0VUX0JJVFMgPSAiJHtTSVRFSU5GT19CSVRTfSIKIGV4cG9ydCBUQVJHRVRfQklUUwogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF82LjExLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF82LjExLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NWM2YzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3BjZC9kaGNwY2RfNi4xMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1TVU1NQVJZID0gImRoY3BjZCAtIGEgREhDUCBjbGllbnQiCi1ERVNDUklQVElPTiA9ICJkaGNwY2QgcnVucyBvbiB5b3VyIG1hY2hpbmUgYW5kIHNpbGVudGx5IGNvbmZpZ3VyZXMgeW91ciBjb21wdXRlciB0byB3b3JrIG9uIHRoZSBhdHRhY2hlZCBuZXR3b3JrcyB3aXRob3V0IHRyb3VibGUgYW5kIG1vc3RseSB3aXRob3V0IGNvbmZpZ3VyYXRpb24uIgotCi1IT01FUEFHRSA9ICJodHRwOi8vcm95Lm1hcnBsZXMubmFtZS9wcm9qZWN0cy9kaGNwY2QvIgotCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RoY3BjZC5jO2VuZGxpbmU9MjY7bWQ1PTc3YzQwZDY3MWFmZjgwNGNhOTFlYTk5NTU2ZGE4ZTliIgotCi1TUkNfVVJJID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL2Rvd25sb2Fkcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI0NjU2MjRiNjJjMTE1NGYwZTg5ZGM2OWM0MmM4NDliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmOTY3NGRjN2UyN2U5MzZjYzc4NzE3NTQwNGE2MTcxNjE4Njc1ZWNmYjY5MDNhYjk4ODdiMWI2NmE4N2Q2OWUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1QQUNLQUdFQ09ORklHID89ICJ1ZGV2ICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYsLS13aXRob3V0LXVkZXYsdWRldix1ZGV2IgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtaXB2NCIKLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZGhjcGNkL2Rldi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF83LjAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZGhjcGNkXzcuMC44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0YzNkYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2RoY3BjZF83LjAuOC5iYgpAQCAtMCwwICsxLDI2IEBACitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK1NVTU1BUlkgPSAiZGhjcGNkIC0gYSBESENQIGNsaWVudCIKK0RFU0NSSVBUSU9OID0gImRoY3BjZCBydW5zIG9uIHlvdXIgbWFjaGluZSBhbmQgc2lsZW50bHkgY29uZmlndXJlcyB5b3VyIGNvbXB1dGVyIHRvIHdvcmsgb24gdGhlIGF0dGFjaGVkIG5ldHdvcmtzIHdpdGhvdXQgdHJvdWJsZSBhbmQgbW9zdGx5IHdpdGhvdXQgY29uZmlndXJhdGlvbi4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9yb3kubWFycGxlcy5uYW1lL3Byb2plY3RzL2RoY3BjZC8iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWU4ZjE3ZTRlZGNjY2MzODE1MmNjZjYwMzc0ZTBmODkiCisKK1NSQ19VUkkgPSAiaHR0cDovL3JveS5tYXJwbGVzLm5hbWUvZG93bmxvYWRzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdiYmIxZDczYjZmMzBkNmRkY2M4YjBmZDNlYWUyNjYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTY5NjhlODgzMzY5YWI0YWZkMTFlYmE5ZGZkOWJiMTA5ZjVkZmZmNjViMjgxNGNlNmM0MzJmMzYzNjJkYzliNSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQUNLQUdFQ09ORklHID89ICJ1ZGV2ICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYsLS13aXRob3V0LXVkZXYsdWRldix1ZGV2IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtaXB2NCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZGhjcGNkL2Rldi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2ZpbGVzLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcGNkL2ZpbGVzLzAwMDEtcmVtb3ZlLUlOQ0xVREVESVItdG8tcHJldmVudC1idWlsZC1pc3N1ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdkMjM0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwY2QvZmlsZXMvMDAwMS1yZW1vdmUtSU5DTFVERURJUi10by1wcmV2ZW50LWJ1aWxkLWlzc3Vlcy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGFhOWUzOTgyYzFlNzVhZDQ5OTQ1YTYyZjVlMjYyMjc5YzdhOTA1YTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVmYW5vIENhcHBhIDxzdGVmYW5vLmNhcHBhLmtzODlAZ21haWwuY29tPgorRGF0ZTogU3VuLCAxMyBKYW4gMjAxOSAwMTo1MDo1MiArMDEwMAorU3ViamVjdDogW1BBVENIXSByZW1vdmUgSU5DTFVERURJUiB0byBwcmV2ZW50IGJ1aWxkIGlzc3VlcworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogU3RlZmFubyBDYXBwYSA8c3RlZmFuby5jYXBwYS5rczg5QGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZSB8IDUgLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQoraW5kZXggNmM4MWUwZGIuLjMyZGVhMmI0IDEwMDc1NQorLS0tIGEvY29uZmlndXJlCisrKysgYi9jb25maWd1cmUKK0BAIC0yMCw3ICsyMCw2IEBAIEJVSUxEPQorIEhPU1Q9CisgSE9TVENDPQorIFRBUkdFVD0KKy1JTkNMVURFRElSPQorIERFQlVHPQorIEZPUks9CisgU1RBVElDPQorQEAgLTcyLDcgKzcxLDYgQEAgZm9yIHggZG8KKyAJLS1tYW5kaXIpIE1BTkRJUj0kdmFyOzsKKyAJLS1kYXRhZGlyKSBEQVRBRElSPSR2YXI7OworIAktLXdpdGgtY2NvcHRzfENGTEFHUykgQ0ZMQUdTPSR2YXI7OworLQktSXwtLWluY2x1ZGVkaXIpIElOQ0xVREVESVI9IiRJTkNMVURFRElSJHtJTkNMVURFRElSOisgfS1JJHZhciI7OworIAlDQykgQ0M9JHZhcjs7CisgCUNQUEZMQUdTKSBDUFBGTEFHUz0kdmFyOzsKKyAJUEtHX0NPTkZJRykgUEtHX0NPTkZJRz0kdmFyOzsKK0BAIC0zMDksOSArMzA3LDYgQEAgaWYgWyAtbiAiJENQUEZMQUdTIiBdOyB0aGVuCisgCWVjaG8gIkNQUEZMQUdTPSIgPj4kQ09ORklHX01LCisgCWVjaG8gIkNQUEZMQUdTKz0JJENQUEZMQUdTIiA+PiRDT05GSUdfTUsKKyBmaQorLWlmIFsgLW4gIiRJTkNMVURFRElSIiBdOyB0aGVuCistCWVjaG8gIkNQUEZMQUdTKz0JJElOQ0xVREVESVIiID4+JENPTkZJR19NSworLWZpCisgaWYgWyAtbiAiJExERkxBR1MiIF07IHRoZW4KKyAJZWNobyAiTERGTEFHUz0iID4+JENPTkZJR19NSworIAllY2hvICJMREZMQUdTKz0JJExERkxBR1MiID4+JENPTkZJR19NSworLS0gCisyLjE3LjIgKEFwcGxlIEdpdC0xMTMpCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXIvMDAwMS1saW51eC1wb3J0LVJlbmFtZS1wdGhyZWFkX211dGV4X3QtdmFyaWFibGUtbG9jay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaWJibGVyL2RpYmJsZXIvMDAwMS1saW51eC1wb3J0LVJlbmFtZS1wdGhyZWFkX211dGV4X3QtdmFyaWFibGUtbG9jay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDZhNTZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlci8wMDAxLWxpbnV4LXBvcnQtUmVuYW1lLXB0aHJlYWRfbXV0ZXhfdC12YXJpYWJsZS1sb2NrLnBhdGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gNjMwMDg2Y2YxYjNmYmE3MTgyMjMxOWEyNjhkMzcxMTczNGNkNmFhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDEyOjU2OjEzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpbnV4LXBvcnQ6IFJlbmFtZSBwdGhyZWFkX211dGV4X3QgdmFyaWFibGUgJ2xvY2snCisKK2xvY2sgaXMgYWxzbyB1c2VkIGJ5IGxpYmMrKyBpbiBzdGQgbmFtZXNwYWNlIGFuZCB1c2luZyBpdCBoZXJlIGNhdXNlcworY2xhbmcgdG8gZmFpbCBlLmcuCisKK2RpYmJsZXItY2xpZW50LmNwcDo0NzoyNTogZXJyb3I6IHJlZmVyZW5jZSB0byAnbG9jaycgaXMgYW1iaWd1b3VzCisgICAgcHRocmVhZF9tdXRleF9sb2NrKCZsb2NrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIF4KKy4uLy4uLy4uLy4uLy4uLy4uLy4uL3dvcmtzcGFjZS9zb3VyY2VzL2RpYmJsZXIvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHA6Mjk6MjY6IG5vdGU6IGNhbmRpZGF0ZSBmb3VuZCBieSBuYW1lIGxvb2t1cCBpcyAnbG9jaycKK2V4dGVybiA6OnB0aHJlYWRfbXV0ZXhfdCBsb2NrOworICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy9tbnQvYS95b2UvYnVpbGQvdG1wL3dvcmsvYWFyY2g2NC15b2UtbGludXgvZGliYmxlci8xLjAuMSsxLjAuMlJDMStnaXRjNGIwZWQ1MmU3NTFkYTc4MjNkZDlhMzZlOTFmOTNhNjMxMGU1NTI1LXIwL3JlY2lwZS1zeXNyb290L3Vzci9pbmNsdWRlL2MrKy92MS9tdXRleDo0NDY6MTogbm90ZTogY2FuZGlkYXRlIGZvdW5kIGJ5IG5hbWUgbG9va3VwIGlzICdzdGQ6Ol9fMTo6bG9jaycKK2xvY2soX0wwJiBfX2wwLCBfTDEmIF9fbDEsIF9MMiYgX19sMiwgX0wzJiAuLi5fX2wzKQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3RvbWFzem1ydWdhbHNraS9kaWJibGVyL3B1bGwvMzddCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBQb3J0LWxpbnV4L2RpYmJsZXItY2xpZW50LmNwcCAgICAgICAgICB8IDYgKysrLS0tCisgUG9ydC1saW51eC9sb3dsZXZlbC1saW51eC1saW5rLXN0YXRlLmMgfCA2ICsrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAgYi9Qb3J0LWxpbnV4L2RpYmJsZXItY2xpZW50LmNwcAoraW5kZXggNzhmMzQyNDEuLmI1ZWJiOWYwIDEwMDY0NAorLS0tIGEvUG9ydC1saW51eC9kaWJibGVyLWNsaWVudC5jcHAKKysrKyBiL1BvcnQtbGludXgvZGliYmxlci1jbGllbnQuY3BwCitAQCAtMjYsNyArMjYsNyBAQCB1c2luZyBuYW1lc3BhY2Ugc3RkOworIAorICNkZWZpbmUgSUZfUkVDT05ORUNURURfREVURUNURUQgLTEKKyAKKy1leHRlcm4gcHRocmVhZF9tdXRleF90IGxvY2s7CisrZXh0ZXJuIHB0aHJlYWRfbXV0ZXhfdCBkaWJibGVyX2xvY2s7CisgCisgVERIQ1BDbGllbnQqIHB0ciA9IDA7CisgCitAQCAtNDQsOCArNDQsOCBAQCB2b2lkIHNpZ25hbF9oYW5kbGVyKGludCBuKSB7CisgI2lmZGVmIE1PRF9DTE5UX0NPTkZJUk0KKyB2b2lkIHNpZ25hbF9oYW5kbGVyX29mX2xpbmtzdGF0ZV9jaGFuZ2UoaW50IG4pIHsKKyAgICAgTG9nKE5vdGljZSkgPDwgIk5ldHdvcmsgc3dpdGNoIG9mZiBldmVudCBkZXRlY3RlZC4gaW5pdGlhdGluZyBDT05GSVJNLiIgPDwgTG9nRW5kOworLSAgICBwdGhyZWFkX211dGV4X2xvY2soJmxvY2spOworLSAgICBwdGhyZWFkX211dGV4X3VubG9jaygmbG9jayk7CisrICAgIHB0aHJlYWRfbXV0ZXhfbG9jaygmZGliYmxlcl9sb2NrKTsKKysgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmRpYmJsZXJfbG9jayk7CisgfQorICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL1BvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jIGIvUG9ydC1saW51eC9sb3dsZXZlbC1saW51eC1saW5rLXN0YXRlLmMKK2luZGV4IDc2MjkzZWExLi5lNmI5NDA2MyAxMDA2NDQKKy0tLSBhL1BvcnQtbGludXgvbG93bGV2ZWwtbGludXgtbGluay1zdGF0ZS5jCisrKysgYi9Qb3J0LWxpbnV4L2xvd2xldmVsLWxpbnV4LWxpbmstc3RhdGUuYworQEAgLTM0LDcgKzM0LDcgQEAgdm9sYXRpbGUgaW50ICogbm90aWZpZXIgPSAwOworIGludCBpc0RvbmUgPSAwOworIHB0aHJlYWRfdCBwYXJlbnRfaWQ7CisgcHRocmVhZF90IG50aWQ7CistcHRocmVhZF9tdXRleF90IGxvY2s7CisrcHRocmVhZF9tdXRleF90IGRpYmJsZXJfbG9jazsKKyAKKyBzdHJ1Y3Qgc3RhdGUgeworICAgICBpbnQgaWQ7CitAQCAtODYsOSArODYsOSBAQCB2b2lkIGxpbmtfc3RhdGVfY2hhbmdlZChpbnQgaWZpbmRleCkKKyAgICAgeworIAlpZiAoY2hhbmdlZF9saW5rcy0+Y250PDE2KQorIAkgICAgY2hhbmdlZF9saW5rcy0+aWZpbmRleFtjaGFuZ2VkX2xpbmtzLT5jbnQrK10gPSBpZmluZGV4OworLQlwdGhyZWFkX211dGV4X2xvY2soJmxvY2spOworKwlwdGhyZWFkX211dGV4X2xvY2soJmRpYmJsZXJfbG9jayk7CisgCSpub3RpZmllciA9IDE7IC8qIG5vdGlmeSB0aGF0IGNoYW5nZSBoYXMgb2NjdXJlZCAqLworLQlwdGhyZWFkX211dGV4X3VubG9jaygmbG9jayk7CisrCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZkaWJibGVyX2xvY2spOworIAlwdGhyZWFkX2tpbGwocGFyZW50X2lkLFNJR1VTUjEpOworICAgICB9IGVsc2UKKyAgICAgewpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RpYmJsZXIvZGliYmxlcl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgppbmRleCA4ODkwZTE0Li45MDA1MWEzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGliYmxlci9kaWJibGVyX2dpdC5iYgpAQCAtOSw3ICs5LDggQEAKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RvbWFzem1ydWdhbHNraS9kaWJibGVyIFwKICAgICAgICAgICAgZmlsZTovL2RpYmJsZXJfZml4X2dldFNpemVfY3Jhc2gucGF0Y2ggXAotICAgICAgICAgICIKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGludXgtcG9ydC1SZW5hbWUtcHRocmVhZF9tdXRleF90LXZhcmlhYmxlLWxvY2sucGF0Y2ggXAorICAgICAgICAgICAiCiBQViA9ICIxLjAuMSsxLjAuMlJDMStnaXQke1NSQ1JFVn0iCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvMDAwMS1maXgtYnVpbGRpbmctaW4tYS1zZXBhcmF0ZS1kaXJlY3Rvcnktb3V0c2lkZS10aGUtc291LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMzRmZjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpbGVzLzAwMDEtZml4LWJ1aWxkaW5nLWluLWEtc2VwYXJhdGUtZGlyZWN0b3J5LW91dHNpZGUtdGhlLXNvdS5wYXRjaApAQCAtMCwwICsxLDc3IEBACitmaXJld2FsbGQ6IGZpeCBidWlsZGluZyBpbiBhIHNlcGFyYXRlIGRpcmVjdG9yeSBvdXRzaWRlIHRoZSBzb3VyY2UgdHJlZQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2ZpcmV3YWxsZC9maXJld2FsbGQvcHVsbC80NTZdCitTaWduZWQtb2ZmLWJ5OiBEYW4gQ2FsbGFnaGFuIDxkYW4uY2FsbGFnaGFuQG9wZW5nZWFyLmNvbT4KKworZGlmZiAtLWdpdCBhL2NvbmZpZy9NYWtlZmlsZS5hbSBiL2NvbmZpZy9NYWtlZmlsZS5hbQoraW5kZXggNzA0OGQyZWUuLjUyNzBkNDA4IDEwMDY0NAorLS0tIGEvY29uZmlnL01ha2VmaWxlLmFtCisrKysgYi9jb25maWcvTWFrZWZpbGUuYW0KK0BAIC0zNzcsMTEgKzM3NywxMSBAQCBpbnN0YWxsLWNvbmZpZzoKKyAJJChNS0RJUl9QKSAkKERFU1RESVIpJChzY29uZmRpcikvem9uZXMKKyAJJChNS0RJUl9QKSAkKERFU1RESVIpJChzY29uZmRpcikvaGVscGVycworIAkkKE1LRElSX1ApICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgaWNtcHR5cGVzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgaXBzZXRzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKy0JY3AgLXIgc2VydmljZXMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorLQljcCAtciB6b25lcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCistCWNwIC1yIGhlbHBlcnMgJChERVNURElSKSQocHJlZml4bGliZGlyKQorKwljcCAtciAkKHNyY2RpcikvaWNtcHR5cGVzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKysJY3AgLXIgJChzcmNkaXIpL2lwc2V0cyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS9zZXJ2aWNlcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS96b25lcyAkKERFU1RESVIpJChwcmVmaXhsaWJkaXIpCisrCWNwIC1yICQoc3JjZGlyKS9oZWxwZXJzICQoREVTVERJUikkKHByZWZpeGxpYmRpcikKKyAKKyB1bmluc3RhbGwtY29uZmlnOgorIAlybWRpciAkKERFU1RESVIpJChzY29uZmRpcikvaWNtcHR5cGVzCitkaWZmIC0tZ2l0IGEvZG9jL3htbC9NYWtlZmlsZS5hbSBiL2RvYy94bWwvTWFrZWZpbGUuYW0KK2luZGV4IDhjOTNhYjljLi5kMDMxM2UzZSAxMDA2NDQKKy0tLSBhL2RvYy94bWwvTWFrZWZpbGUuYW0KKysrKyBiL2RvYy94bWwvTWFrZWZpbGUuYW0KK0BAIC02OSw3ICs2OSw4IEBAIGVkaXQgPSBzZWQgXAorIAktZSAnc3xcQFBSRUZJWFxAfCQocHJlZml4KXwnIFwKKyAJLWUgJ3N8XEBTWVNDT05GRElSXEB8JChzeXNjb25mZGlyKXwnIFwKKyAJLWUgJ3N8XEBQQUNLQUdFX1NUUklOR1xAfCQoUEFDS0FHRV9TVFJJTkcpfCcgXAorLQktZSAnc3xcQElGQ0ZHRElSXEB8JChJRkNGR0RJUil8JworKwktZSAnc3xcQElGQ0ZHRElSXEB8JChJRkNGR0RJUil8JyBcCisrCS1lICdzfEBTUkNESVJAfCQoc3JjZGlyKXwnCisgCisgdHJhbnNmb3JtLW1hbi54c2w6IHRyYW5zZm9ybS1tYW4ueHNsLmluCisgCSQoZWRpdCkgJDwgPiRACitkaWZmIC0tZ2l0IGEvZG9jL3htbC9maXJld2FsbC1jbWQueG1sLmluIGIvZG9jL3htbC9maXJld2FsbC1jbWQueG1sLmluCitpbmRleCBjMjYwNjU1My4uMjRkNzc4NTggMTAwNjQ0CistLS0gYS9kb2MveG1sL2ZpcmV3YWxsLWNtZC54bWwuaW4KKysrKyBiL2RvYy94bWwvZmlyZXdhbGwtY21kLnhtbC5pbgorQEAgLTEsOSArMSw5IEBACisgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKyA8IURPQ1RZUEUgcmVmZW50cnkgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjIvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIgorIFsKKy08IUVOVElUWSBhdXRob3JzIFNZU1RFTSAiYXV0aG9ycy54bWwiPgorLTwhRU5USVRZIHNlZWFsc28gU1lTVEVNICJzZWVhbHNvLnhtbCI+CistPCFFTlRJVFkgbm90ZXMgU1lTVEVNICJub3Rlcy54bWwiPgorKzwhRU5USVRZIGF1dGhvcnMgU1lTVEVNICJAU1JDRElSQC9hdXRob3JzLnhtbCI+CisrPCFFTlRJVFkgc2VlYWxzbyBTWVNURU0gIkBTUkNESVJAL3NlZWFsc28ueG1sIj4KKys8IUVOVElUWSBub3RlcyBTWVNURU0gIkBTUkNESVJAL25vdGVzLnhtbCI+CisgPCFFTlRJVFkgZXJyb3Jjb2RlcyBTWVNURU0gImVycm9yY29kZXMueG1sIj4KKyBdPgorIAorZGlmZiAtLWdpdCBhL2RvYy94bWwvZmlyZXdhbGxkLnhtbC5pbiBiL2RvYy94bWwvZmlyZXdhbGxkLnhtbC5pbgoraW5kZXggZGU4MDIwNTkuLjNkMzE5YjA0IDEwMDY0NAorLS0tIGEvZG9jL3htbC9maXJld2FsbGQueG1sLmluCisrKysgYi9kb2MveG1sL2ZpcmV3YWxsZC54bWwuaW4KK0BAIC0xLDkgKzEsOSBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CisgPCFET0NUWVBFIHJlZmVudHJ5IFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4yL2RvY2Jvb2t4LmR0ZCIKKyBbCistPCFFTlRJVFkgYXV0aG9ycyBTWVNURU0gImF1dGhvcnMueG1sIj4KKy08IUVOVElUWSBzZWVhbHNvIFNZU1RFTSAic2VlYWxzby54bWwiPgorLTwhRU5USVRZIG5vdGVzIFNZU1RFTSAibm90ZXMueG1sIj4KKys8IUVOVElUWSBhdXRob3JzIFNZU1RFTSAiQFNSQ0RJUkAvYXV0aG9ycy54bWwiPgorKzwhRU5USVRZIHNlZWFsc28gU1lTVEVNICJAU1JDRElSQC9zZWVhbHNvLnhtbCI+CisrPCFFTlRJVFkgbm90ZXMgU1lTVEVNICJAU1JDRElSQC9ub3Rlcy54bWwiPgorIF0+CisgCisgPCEtLQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maWxlcy9maXJld2FsbGQuaW5pdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvZmlyZXdhbGxkLmluaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhlODkzMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9maXJld2FsbGQvZmlsZXMvZmlyZXdhbGxkLmluaXQKQEAgLTAsMCArMSw0OCBAQAorIyEvYmluL3NoCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IGZpcmV3YWxsZAorIyBSZXF1aXJlZC1TdGFydDogJHN5c2xvZyAkbG9jYWxfZnMgbWVzc2FnZWJ1cworIyBSZXF1aXJlZC1TdG9wOiAKKyMgRGVmYXVsdC1TdGFydDogMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6IDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiAKKyMgRGVzY3JpcHRpb246IAorIyMjIEVORCBJTklUIElORk8KKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworZmlyZXdhbGxkPS91c3Ivc2Jpbi9maXJld2FsbGQKK3BpZGZpbGU9L3Zhci9ydW4vZmlyZXdhbGxkLnBpZAorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZWNobyAtbiAiU3RhcnRpbmcgZmlyZXdhbGxkOiAiCisgICAgICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RhcnQgLS1xdWlldCAtLWV4ZWMgJGZpcmV3YWxsZAorICAgICAgICBlY2hvICIuIgorICAgICAgICA7OworICAgIHN0b3ApCisgICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nIGZpcmV3YWxsZDogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0b3AgLS1xdWlldCAtLXBpZGZpbGUgJHBpZGZpbGUKKyAgICAgICAgZWNobyAiLiIKKyAgICAgICAgOzsKKyAgICByZXN0YXJ0KQorICAgICAgICBlY2hvIC1uICJTdG9wcGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgc3RhcnQtc3RvcC1kYWVtb24gLS1zdG9wIC0tcXVpZXQgLS1waWRmaWxlICRwaWRmaWxlCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIGVjaG8gLW4gIlN0YXJ0aW5nIGZpcmV3YWxsZDogIgorICAgICAgICBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1leGVjICRmaXJld2FsbGQKKyAgICAgICAgZWNobyAiLiIKKyAgICAgICAgOzsKKyAgICByZWxvYWQpCisgICAgICAgIGVjaG8gLW4gIlJlbG9hZGluZyBmaXJld2FsbGQ6ICIKKyAgICAgICAgZmlyZXdhbGwtY21kIC0tcmVsb2FkCisgICAgICAgIGVjaG8gIi4iCisgICAgICAgIDs7CisgICAgc3RhdHVzKQorICAgICAgICBmaXJld2FsbC1jbWQgLS1zdGF0ZQorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAvZXRjL2luaXQuZC9maXJld2FsbGQge3N0YXJ0fHN0b3B8cmVzdGFydHxyZWxvYWR8c3RhdHVzfSIgPiYyCisgICAgICAgIGV4aXQgMQorZXNhYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maXJld2FsbGRfMC42LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZmlyZXdhbGxkL2ZpcmV3YWxsZF8wLjYuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTk5ZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZpcmV3YWxsZC9maXJld2FsbGRfMC42LjMuYmIKQEAgLTAsMCArMSw4NCBAQAorU1VNTUFSWSA9ICJEeW5hbWljIGZpcmV3YWxsIGRhZW1vbiB3aXRoIGEgRC1CdXMgaW50ZXJmYWNlIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9maXJld2FsbGQub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ZpcmV3YWxsZC9maXJld2FsbGQvaXNzdWVzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vZmlyZXdhbGxkL2ZpcmV3YWxsZC9hcmNoaXZlL3Yke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZmlyZXdhbGxkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtYnVpbGRpbmctaW4tYS1zZXBhcmF0ZS1kaXJlY3Rvcnktb3V0c2lkZS10aGUtc291LnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZWY5NTRkOWI2YjI0NGZmZWFiY2QyMjZiZTE4NjdhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMzlhZDU2ZWE2ZDY1NTNhYWRmMzMyNDNlYTViMzk4MDJkNzM1MTllNDZhODljODBjNjQ4YjJiZDFlYzc4YWViIgorCisjIGdsaWItMi4wLW5hdGl2ZSBpcyBuZWVkZWQgZm9yIEdTRVRUSU5HU19SVUxFUyBhdXRvY29uZiBtYWNybyBmcm9tIGdzZXR0aW5ncy5tNAorIyB4bWx0by1uYXRpdmUgaXMgbmVlZGVkIHRvIHBvcHVsYXRlIC9ldGMveG1sL2NhdGFsb2cueG1sIGluIHRoZSBzeXNyb290IHNvIHRoYXQgeHNsdHByb2MgZmluZHMgdGhlIGRvY2Jvb2sgeHNsdAorREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIGxpYnhzbHQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgYmFzaC1jb21wbGV0aW9uIHB5dGhvbjNuYXRpdmUgZ3NldHRpbmdzIHN5c3RlbWQgdXBkYXRlLXJjLmQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sLS1kaXNhYmxlLXN5c3RlbWQiCisKKyMgaXB0YWJsZXMsIGlwNnRhYmxlcywgZWJ0YWJsZXMsIGFuZCBpcHNldCAqc2hvdWxkKiBiZSB1bm5lY2Vzc2FyeQorIyB3aGVuIHRoZSBuZnRhYmxlcyBiYWNrZW5kIGlzIGF2YWlsYWJsZSwgYmVjYXVzZSBuZnRhYmxlcyBzdXBlcnNlZGVzIGFsbCBvZiB0aGVtLgorIyBIb3dldmVyIHdlIHN0aWxsIG5lZWQgaXB0YWJsZXMgYW5kIGlwNnRhYmxlcyB0byBiZSBhdmFpbGFibGUgb3RoZXJ3aXNlIGFueQorIyBhcHBsaWNhdGlvbiByZWx5aW5nIG9uICJkaXJlY3QgcGFzc3Rocm91Z2giIHJ1bGVzIChzdWNoIGFzIGRvY2tlcikgd2lsbCBicmVhay4KKyMgL2V0Yy9zeXNjb25maWcvZmlyZXdhbGxkIGlzIGEgUmVkIEhhdC1pc20sIG9ubHkgcmVmZXJlbmNlZCBieQorIyB0aGUgUmVkIEhhdC1zcGVjaWZpYyBpbml0IHNjcmlwdCB3aGljaCB3ZSBhcmVuJ3QgdXNpbmcsIHNvIHdlIGRpc2FibGUgdGhhdC4KK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS13aXRoLW5mdD0ke3NiaW5kaXJ9L25mdCBcCisgICAgLS13aXRob3V0LWlwc2V0IFwKKyAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCisgICAgLS13aXRoLWlwdGFibGVzLXJlc3RvcmU9JHtzYmluZGlyfS9pcHRhYmxlcy1yZXN0b3JlIFwKKyAgICAtLXdpdGgtaXA2dGFibGVzPSR7c2JpbmRpcn0vaXA2dGFibGVzIFwKKyAgICAtLXdpdGgtaXA2dGFibGVzLXJlc3RvcmU9JHtzYmluZGlyfS9pcDZ0YWJsZXMtcmVzdG9yZSBcCisgICAgLS13aXRob3V0LWVidGFibGVzIFwKKyAgICAtLXdpdGhvdXQtZWJ0YWJsZXMtcmVzdG9yZSBcCisgICAgLS1kaXNhYmxlLXN5c2NvbmZpZyBcCisiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJmaXJld2FsbGQiCitTWVNURU1EX1NFUlZJQ0UgPSAiZmlyZXdhbGxkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIDoKKyAgICBlbHNlCisgICAgICAgICMgZmlyZXdhbGxkIHNoaXBzIGFuIGluaXQgc2NyaXB0IGJ1dCBpdCBjb250YWlucyBSZWQgSGF0LWlzbXMsIHJlcGxhY2UgaXQgd2l0aCBvdXIgb3duCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kLworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tMDc1NSAke1dPUktESVJ9L2ZpcmV3YWxsZC5pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9maXJld2FsbGQKKyAgICBmaQorCisgICAgIyBXZSByYW4gLi9jb25maWd1cmUgd2l0aCBQWVRIT04gcG9pbnRlZCBhdCB0aGUgYmluYXJ5IGluc2lkZSAkU1RBR0lOR19CSU5ESVJfTkFUSVZFCisgICAgIyBzbyBub3cgd2UgbmVlZCB0byBmaXggdXAgYW55IHJlZmVyZW5jZXMgdG8gcG9pbnQgYXQgdGhlIHByb3BlciBwYXRoIGluIHRoZSBpbWFnZS4KKyAgICAjIFRoaXMgaGFjayBpcyBhbHNvIGluIGRpc3R1dGlscy5iYmNsYXNzLCBidXQgZmlyZXdhbGxkIGRvZXNuJ3QgdXNlIGRpc3R1dGlscy9zZXR1cHRvb2xzLgorICAgIGlmIFsgJHtQTn0gIT0gIiR7QlBOfS1uYXRpdmUiIF07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjM6JHtiaW5kaXJ9L3B5dGhvbjM6ZyBcCisgICAgICAgICAgICAke0R9JHtiaW5kaXJ9LyogJHtEfSR7c2JpbmRpcn0vKiAke0R9JHtzeXNjb25mZGlyfS9maXJld2FsbGQvKi54bWwKKyAgICBmaQorICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke2JpbmRpcn06ZyBcCisgICAgICAgICR7RH0ke2JpbmRpcn0vKiAke0R9JHtzYmluZGlyfS8qICR7RH0ke3N5c2NvbmZkaXJ9L2ZpcmV3YWxsZC8qLnhtbAorfQorCitGSUxFU18ke1BOfSArPSAiXAorICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2ZpcmV3YWxsIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyIKKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIG5mdGFibGVzIFwKKyAgICBpcHRhYmxlcyBcCisgICAgcHl0aG9uMy1jb3JlIFwKKyAgICBweXRob24zLWlvIFwKKyAgICBweXRob24zLWZjbnRsIFwKKyAgICBweXRob24zLXNoZWxsIFwKKyAgICBweXRob24zLXN5c2xvZyBcCisgICAgcHl0aG9uMy14bWwgXAorICAgIHB5dGhvbjMtZGJ1cyBcCisgICAgcHl0aG9uMy1zbGlwLWRidXMgXAorICAgIHB5dGhvbjMtZGVjb3JhdG9yIFwKKyAgICBweXRob24zLXB5Z29iamVjdCBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9maWxlcy9yYWRpdXNkLnNlcnZpY2UgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9maWxlcy9yYWRpdXNkLnNlcnZpY2UKaW5kZXggODk5YzRlNC4uOGRhZTBkZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2ZyZWVyYWRpdXMvZmlsZXMvcmFkaXVzZC5zZXJ2aWNlCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZpbGVzL3JhZGl1c2Quc2VydmljZQpAQCAtNiw3ICs2LDYgQEAKIFR5cGU9Zm9ya2luZwogUElERmlsZT1AU1RBVEVESVJAL3J1bi9yYWRpdXNkL3JhZGl1c2QucGlkCiBFeGVjU3RhcnRQcmU9LUBCQVNFX0JJTkRJUkAvY2hvd24gLVIgcmFkaXVzZC5yYWRpdXNkIEBTVEFURURJUkAvcnVuL3JhZGl1c2QKLUV4ZWNTdGFydFByZT0tQEJBU0VfQklORElSQC9zaCAtYyAiaWYgWyAhIC1mIEBTWVNDT05GRElSQC9yYWRkYi9jZXJ0cy9zZXJ2ZXIucGVtIF07IHRoZW4gc3VkbyAtdSByYWRpdXNkIEBTWVNDT05GRElSQC9yYWRkYi9jZXJ0cy9ib290c3RyYXA7IGZpIgogRXhlY1N0YXJ0UHJlPUBTQklORElSQC9yYWRpdXNkIC1DCiBFeGVjU3RhcnQ9QFNCSU5ESVJAL3JhZGl1c2QgLWQgQFNZU0NPTkZESVJAL3JhZGRiCiBFeGVjUmVsb2FkPUBTQklORElSQC9yYWRpdXNkIC1DCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvZnJlZXJhZGl1cy9mcmVlcmFkaXVzXzMuMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCmluZGV4IGMxN2Q1NmQuLjVhYjlhM2YgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9mcmVlcmFkaXVzL2ZyZWVyYWRpdXNfMy4wLjE3LmJiCkBAIC02OCw2ICs2OCw3IEBACiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICBwY3JlIGxpYmNhcCBcCisgICAgICAgICAgICAgICAgICAgb3BlbnNzbCBybG0tZWFwLWZhc3QgcmxtLWVhcC1wd2QgXAogIgogCiBQQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1ybG1fa3JiNSwtLXdpdGhvdXQtcmxtX2tyYjUsa3JiNSIKQEAgLTgzLDYgKzg0LDkgQEAKIFBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcmxtX3B5dGhvbiAtLXdpdGgtcmxtLXB5dGhvbi1iaW49JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbi1uYXRpdmUvcHl0aG9uIC0td2l0aC1ybG0tcHl0aG9uLWluY2x1ZGUtZGlyPSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0sLS13aXRob3V0LXJsbV9weXRob24scHl0aG9uLW5hdGl2ZSBweXRob24iCiBQQUNLQUdFQ09ORklHW3Jlc3RdID0gIi0td2l0aC1ybG1fcmVzdCwtLXdpdGhvdXQtcmxtX3Jlc3QsY3VybCBqc29uLWMiCiBQQUNLQUdFQ09ORklHW3J1YnldID0gIi0td2l0aC1ybG1fcnVieSwtLXdpdGhvdXQtcmxtX3J1YnkscnVieSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tybG0tZWFwLWZhc3RdID0gIi0td2l0aC1ybG1fZWFwX2Zhc3QsIC0td2l0aG91dC1ybG1fZWFwX2Zhc3QiCitQQUNLQUdFQ09ORklHW3JsbS1lYXAtcHdkXSA9ICItLXdpdGgtcmxtX2VhcF9wd2QsIC0td2l0aG91dC1ybG1fZWFwX3B3ZCIKIAogaW5oZXJpdCB1c2VyYWRkIGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjdkYmFlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjA2ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSBHTlUgaW5ldHV0aWxzIGFyZSBhIGNvbGxlY3Rpb24gb2YgY29tbW9uIFwKLW5ldHdvcmtpbmcgdXRpbGl0aWVzIGFuZCBzZXJ2ZXJzIGluY2x1ZGluZyBmdHAsIGZ0cGQsIHJjcCwgXAotcmV4ZWMsIHJsb2dpbiwgcmxvZ2luZCwgcnNoLCByc2hkLCBzeXNsb2csIHN5c2xvZ2QsIHRhbGssIFwKLXRhbGtkLCB0ZWxuZXQsIHRlbG5ldGQsIHRmdHAsIHRmdHBkLCBhbmQgdXVjcGQuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2luZXR1dGlscyIKLVNFQ1RJT04gPSAibmV0IgotREVQRU5EUyA9ICJuY3Vyc2VzIG5ldGJhc2UgcmVhZGxpbmUgdmlydHVhbC9jcnlwdCIKLQotTElDRU5TRSA9ICJHUEx2MyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGM3MDUxYWVmOTIxOWRjNzIzN2YyMDZjNWM0MTc5YTciCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9pbmV0dXRpbHMvaW5ldHV0aWxzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly92ZXJzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgIFwKLSAgICAgICAgICAgZmlsZTovL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3JzaC54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIFwKLSAgICAgICAgICAgZmlsZTovL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgXAotICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA0ODUyYzI2YzQ3Y2M4YzZiODI1ZjJiNzRmMTkxZjUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlOGY3NWVmZjkzNmI4ZTQxYjExMjQ2MmRiNTFhZGY2ODk3MTU2NThhMWIwOWUwZDZiMDVkMTFlYzkyY2M2MTYiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdXBkYXRlLWFsdGVybmF0aXZlcyB0ZXhpbmZvCi0KLWFjcGF0aHMgPSAiLUkgLi9tNCIKLQotU1JDX1VSSSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJycsICdmaWxlOi8vZml4LWRpc2FibGUtaXB2Ni5wYXRjaCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImZ0cCB1dWNwZCBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NiBwaW5nNicsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotUEFDS0FHRUNPTkZJR1tmdHBdID0gIi0tZW5hYmxlLWZ0cCwtLWRpc2FibGUtZnRwLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1t1dWNwZF0gPSAiLS1lbmFibGUtdXVjcGQsLS1kaXNhYmxlLXV1Y3BkLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYgZ2xfY3Zfc29ja2V0X2lwdjY9bm8sIgotUEFDS0FHRUNPTkZJR1twaW5nNl0gPSAiLS1lbmFibGUtcGluZzYsLS1kaXNhYmxlLXBpbmc2LCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1uY3Vyc2VzLWluY2x1ZGUtZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgaW5ldHV0aWxzX2N2X3BhdGhfbG9naW49JHtiYXNlX2JpbmRpcn0vbG9naW4gXAotICAgICAgICAtLXdpdGgtbGlicmVhZGxpbmUtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKLSAgICAgICAgLS1lbmFibGUtcnBhdGg9bm8gXAotIgotCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLXJzaCAtLWRpc2FibGUtcmNwIC0tZGlzYWJsZS1ybG9naW4gIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgZXhwb3J0IEhFTFAyTUFOPSd0cnVlJwotICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9jb25maWcucnBhdGggJHtTfS9idWlsZC1hdXgvY29uZmlnLnJwYXRoCi0gICAgcm0gLWYgJHtTfS9nbG9iL2NvbmZpZ3VyZSoKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCi0gICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF0gOyB0aGVuCi0gICAgICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcqICR7RH0ke2Jhc2VfYmluZGlyfS8KLSAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vaG9zdG5hbWUgJHtEfSR7YmFzZV9iaW5kaXJ9LwotICAgIGZpCi0gICAgbXYgJHtEfSR7YmluZGlyfS9pZmNvbmZpZyAke0R9JHtiYXNlX3NiaW5kaXJ9LwotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3N5c2xvZ2QgJHtEfSR7YmFzZV9zYmluZGlyfS8KLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZnRwZCAke0R9JHtzYmluZGlyfS9pbi50ZnRwZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RlbG5ldGQgJHtEfSR7c2JpbmRpcn0vaW4udGVsbmV0ZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3JleGVjZCAke0R9JHtzYmluZGlyfS9pbi5yZXhlY2QKLSAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3Jsb2dpbmQgXTsgdGhlbgotICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kICR7RH0ke3NiaW5kaXJ9L2luLnJsb2dpbmQKLSAgICBmaQotICAgIGlmIFsgLWUgJHtEfSR7bGliZXhlY2Rpcn0vcnNoZCBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3JzaGQgJHtEfSR7c2JpbmRpcn0vaW4ucnNoZAotICAgIGZpCi0gICAgaWYgWyAtZSAke0R9JHtsaWJleGVjZGlyfS90YWxrZCBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RhbGtkICR7RH0ke3NiaW5kaXJ9L2luLnRhbGtkCi0gICAgZmkKLSAgICBtdiAke0R9JHtsaWJleGVjZGlyfS91dWNwZCAke0R9JHtzYmluZGlyfS9pbi51dWNwZAotICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9LyogJHtEfSR7YmluZGlyfS8KLSAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYwotICAgIGNwICR7V09SS0RJUn0vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4KLSAgICBjcCAke1dPUktESVJ9L3JzaC54aW5ldGQuaW5ldHV0aWxzICAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCi0gICAgY3AgJHtXT1JLRElSfS90ZWxuZXQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RlbG5ldAotICAgIGNwICR7V09SS0RJUn0vdGZ0cGQueGluZXRkLmluZXR1dGlscyAgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkCi0KLSAgICBzZWQgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgLWkgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLyoKLSAgICBpZiBbIC1lICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcyBdOyB0aGVuCi0gICAgICAgIHJtIC1yZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKLSAgICBmaQotICAgIHJtIC1yZiAke0R9JHtsaWJleGVjZGlyfS8KLSAgICAjIHJlbW92ZSB1c3IvbGliIGlmIGVtcHR5Ci0gICAgcm1kaXIgJHtEfSR7bGliZGlyfSB8fCB0cnVlCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1waW5nICR7UE59LXBpbmc2ICR7UE59LWhvc3RuYW1lICR7UE59LWlmY29uZmlnIFwKLSR7UE59LXRmdHAgJHtQTn0tbG9nZ2VyICR7UE59LXRyYWNlcm91dGUgJHtQTn0tc3lzbG9nZCBcCi0ke1BOfS1mdHAgJHtQTn0tZnRwZCAke1BOfS10ZnRwZCAke1BOfS10ZWxuZXQgJHtQTn0tdGVsbmV0ZCAke1BOfS1pbmV0ZCBcCi0ke1BOfS1yc2ggJHtQTn0tcnNoZCIKLQotIyBUaGUgcGFja2FnZXMgdGZ0cGQsIHRlbG5ldGQgYW5kIHJzaGQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcwotIyBwcm92aWRlZCBieSBuZXRraXQsIHNvIGFkZCB0aGUgY29ycmVzcG9uZGluZyAtZGJnIHBhY2thZ2VzCi0jIGZvciB0aGVtIHRvIGF2b2lkIHRoZSBjb25mbGljdGlvbiBiZXR3ZWVuIHRoZSBkYmcgcGFja2FnZQotIyBvZiBpbmV0dXRpbHMgYW5kIG5ldGtpdC4KLVBBQ0tBR0VTID0rICIke1BOfS10ZnRwZC1kYmcgJHtQTn0tdGVsbmV0ZC1kYmcgJHtQTn0tcnNoZC1kYmciCi1OT0FVVE9QQUNLQUdFREVCVUcgPSAiMSIKLQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNzkiCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJ0YWxrIHdob2lzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RhbGtkXSAgPSAiJHtzYmluZGlyfS9pbi50YWxrZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt1dWNwZF0gID0gIiR7c2JpbmRpcn0vaW4udXVjcGQiCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZXyR7UE59LWxvZ2dlciA9ICI2MCIKLUFMVEVSTkFUSVZFXyR7UE59LWxvZ2dlciA9ICJsb2dnZXIiCi1BTFRFUk5BVElWRV8ke1BOfS1zeXNsb2dkID0gInN5c2xvZ2QiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbc3lzbG9nZF0gID0gIiR7YmFzZV9zYmluZGlyfS9zeXNsb2dkIgotCi1BTFRFUk5BVElWRV8ke1BOfS1mdHAgPSAiZnRwIgotQUxURVJOQVRJVkVfJHtQTn0tZnRwZCA9ICJmdHBkIgotQUxURVJOQVRJVkVfJHtQTn0tdGZ0cCA9ICJ0ZnRwIgotQUxURVJOQVRJVkVfJHtQTn0tdGZ0cGQgPSAidGZ0cGQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdGZ0cGRdID0gIiR7c2JpbmRpcn0vdGZ0cGQiCi1BTFRFUk5BVElWRV9UQVJHRVRbdGZ0cGRdICA9ICIke3NiaW5kaXJ9L2luLnRmdHBkIgotCi1BTFRFUk5BVElWRV8ke1BOfS10ZWxuZXQgPSAidGVsbmV0IgotQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ZCA9ICJ0ZWxuZXRkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3RlbG5ldGRdID0gIiR7c2JpbmRpcn0vdGVsbmV0ZCIKLUFMVEVSTkFUSVZFX1RBUkdFVFt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L2luLnRlbG5ldGQiCi0KLUFMVEVSTkFUSVZFXyR7UE59LXJzaCA9ICJyY3AgcmV4ZWMgcmxvZ2luIHJzaCIKLUFMVEVSTkFUSVZFXyR7UE59LXJzaGQgPSAicnNoZCByZXhlY2QgcmxvZ2luZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyc2hkXSA9ICIke3NiaW5kaXJ9L3JzaGQiCi1BTFRFUk5BVElWRV9UQVJHRVRbcnNoZF0gPSAiJHtzYmluZGlyfS9pbi5yc2hkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3JleGVjZF0gPSAiJHtzYmluZGlyfS9yZXhlY2QiCi1BTFRFUk5BVElWRV9UQVJHRVRbcmV4ZWNkXSA9ICIke3NiaW5kaXJ9L2luLnJleGVjZCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtybG9naW5kXSA9ICIke3NiaW5kaXJ9L3Jsb2dpbmQiCi1BTFRFUk5BVElWRV9UQVJHRVRbcmxvZ2luZF0gPSAiJHtzYmluZGlyfS9pbi5ybG9naW5kIgotCi1BTFRFUk5BVElWRV8ke1BOfS1pbmV0ZD0gImluZXRkIgotQUxURVJOQVRJVkVfJHtQTn0tdHJhY2Vyb3V0ZSA9ICJ0cmFjZXJvdXRlIgotCi1BTFRFUk5BVElWRV8ke1BOfS1ob3N0bmFtZSA9ICJob3N0bmFtZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZV0gID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lIgotCi1BTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAiaG9zdG5hbWUuMSBkbnNkb21haW5uYW1lLjEgbG9nZ2VyLjEgc3lzbG9nZC44IgotQUxURVJOQVRJVkVfTElOS19OQU1FW2hvc3RuYW1lLjFdID0gIiR7bWFuZGlyfS9tYW4xL2hvc3RuYW1lLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZG5zZG9tYWlubmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9kbnNkb21haW5uYW1lLjEiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbG9nZ2VyLjFdID0gIiR7bWFuZGlyfS9tYW4xL2xvZ2dlci4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2QuOF0gPSAiJHttYW5kaXJ9L21hbjgvc3lzbG9nZC44IgotCi1BTFRFUk5BVElWRV8ke1BOfS1pZmNvbmZpZyA9ICJpZmNvbmZpZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtpZmNvbmZpZ10gID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZyIKLQotQUxURVJOQVRJVkVfJHtQTn0tcGluZyA9ICJwaW5nIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3BpbmddICAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZyIKLQotQUxURVJOQVRJVkVfJHtQTn0tcGluZzYgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3Bpbmc2JywgZCl9IgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCi0KLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfYmluZGlyfS8uZGVidWcgJHtiYXNlX3NiaW5kaXJ9Ly5kZWJ1ZyAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgotRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKLUZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKLUZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKLUZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCi1GSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKLUZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tc3lzbG9nZCA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZC4ke0JQTn0iCi1SQ09ORkxJQ1RTXyR7UE59LXN5c2xvZ2QgPSAicnN5c2xvZyBidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCi0KLUZJTEVTXyR7UE59LWZ0cCA9ICIke2JpbmRpcn0vZnRwLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tdGZ0cCA9ICIke2JpbmRpcn0vdGZ0cC4ke0JQTn0iCi1GSUxFU18ke1BOfS10ZWxuZXQgPSAiJHtiaW5kaXJ9L3RlbG5ldC4ke0JQTn0iCi1GSUxFU18ke1BOfS1yc2ggPSAiJHtiaW5kaXJ9L3JzaC4ke0JQTn0gJHtiaW5kaXJ9L3Jsb2dpbi4ke0JQTn0gJHtiaW5kaXJ9L3JleGVjLiR7QlBOfSAke2JpbmRpcn0vcmNwLiR7QlBOfSIKLQotRklMRVNfJHtQTn0tcnNoZCA9ICIke3NiaW5kaXJ9L2luLnJzaGQgJHtzYmluZGlyfS9pbi5ybG9naW5kICR7c2JpbmRpcn0vaW4ucmV4ZWNkIFwKLSAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yc2ggJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4gJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYyIKLUZJTEVTXyR7UE59LXJzaGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnJzaGQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmxvZ2luZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yZXhlY2QiCi1SREVQRU5EU18ke1BOfS1yc2hkICs9ICJ4aW5ldGQgdGNwLXdyYXBwZXJzIgotUkNPTkZMSUNUU18ke1BOfS1yc2hkICs9ICJuZXRraXQtcnNoZCIKLVJQUk9WSURFU18ke1BOfS1yc2hkID0gInJzaGQiCi0KLUZJTEVTXyR7UE59LWZ0cGQgPSAiJHtiaW5kaXJ9L2Z0cGQuJHtCUE59IgotRklMRVNfJHtQTn0tZnRwZC1kYmcgPSAiJHtiaW5kaXJ9Ly5kZWJ1Zy9mdHBkLiR7QlBOfSIKLVJERVBFTkRTXyR7UE59LWZ0cGQgKz0gInhpbmV0ZCIKLQotRklMRVNfJHtQTn0tdGZ0cGQgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCAke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3RmdHBkIgotRklMRVNfJHtQTn0tdGZ0cGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnRmdHBkIgotUkNPTkZMSUNUU18ke1BOfS10ZnRwZCArPSAibmV0a2l0LXRmdHBkIgotUkRFUEVORFNfJHtQTn0tdGZ0cGQgKz0gInhpbmV0ZCIKLQotRklMRVNfJHtQTn0tdGVsbmV0ZCA9ICIke3NiaW5kaXJ9L2luLnRlbG5ldGQgJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZWxuZXQiCi1GSUxFU18ke1BOfS10ZWxuZXRkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi50ZWxuZXRkIgotUkNPTkZMSUNUU18ke1BOfS10ZWxuZXRkICs9ICJuZXRraXQtdGVsbmV0ZCIKLVJQUk9WSURFU18ke1BOfS10ZWxuZXRkID0gInRlbG5ldGQiCi1SREVQRU5EU18ke1BOfS10ZWxuZXRkICs9ICJ4aW5ldGQiCi0KLUZJTEVTXyR7UE59LWluZXRkID0gIiR7YmluZGlyfS9pbmV0ZC4ke0JQTn0iCi0KLVJERVBFTkRTXyR7UE59ID0gInhpbmV0ZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tYmVkdGxzL21iZWR0bHNfMi4xMy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjEzLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmM2Y3ZjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjEzLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IGNyeXB0byBhbmQgU1NML1RMUyBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAibWJlZHRscyBpcyBhIGxlYW4gb3BlbiBzb3VyY2UgY3J5cHRvIGxpYnJhcnkgICAgICAgICAgXAotZm9yIHByb3ZpZGluZyBTU0wgYW5kIFRMUyBzdXBwb3J0IGluIHlvdXIgcHJvZ3JhbXMuIEl0IG9mZmVycyAgICAgICAgXAotYW4gaW50dWl0aXZlIEFQSSBhbmQgZG9jdW1lbnRlZCBoZWFkZXIgZmlsZXMsIHNvIHlvdSBjYW4gYWN0dWFsbHkgICAgXAotdW5kZXJzdGFuZCB3aGF0IHRoZSBjb2RlIGRvZXMuIEl0IGZlYXR1cmVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gU3ltbWV0cmljIGFsZ29yaXRobXMsIGxpa2UgQUVTLCBCbG93ZmlzaCwgVHJpcGxlLURFUywgREVTLCBBUkM0LCAgXAotICAgQ2FtZWxsaWEgYW5kIFhURUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gSGFzaCBhbGdvcml0aG1zLCBsaWtlIFNIQS0xLCBTSEEtMiwgUklQRU1ELTE2MCBhbmQgTUQ1ICAgICAgICAgICAgXAotIC0gRW50cm9weSBwb29sIGFuZCByYW5kb20gZ2VuZXJhdG9ycywgbGlrZSBDVFItRFJCRyBhbmQgSE1BQy1EUkJHICAgXAotIC0gUHVibGljIGtleSBhbGdvcml0aG1zLCBsaWtlIFJTQSwgRWxsaXB0aWMgQ3VydmVzLCBEaWZmaWUtSGVsbG1hbiwgXAotICAgRUNEU0EgYW5kIEVDREggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gU1NMIHYzIGFuZCBUTFMgMS4wLCAxLjEgYW5kIDEuMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIC0gQWJzdHJhY3Rpb24gbGF5ZXJzIGZvciBjaXBoZXJzLCBoYXNoZXMsIHB1YmxpYyBrZXkgb3BlcmF0aW9ucywgICAgXAotICAgcGxhdGZvcm0gYWJzdHJhY3Rpb24gYW5kIHRocmVhZGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotIgotCi1IT01FUEFHRSA9ICJodHRwczovL3Rscy5tYmVkLm9yZy8iCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTMwMmQ1MGE2MzY5ZjVmMjJlZmRiNjc0ZGI5MDgxNjdhIgotCi1TRUNUSU9OID0gImxpYnMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvZG93bmxvYWQvbWJlZHRscy0ke1BWfS1hcGFjaGUudGd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjU5ZDk2YmIwMzAxMmNhNmRiNDE0YTkxMzdmY2RiZDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTkzYjRlNGQyZTE2MjlmYzQwN2FiNDc1MGQ2OWZhMzA5YTBkZGI2NjU2NWRjM2RlYjViNjBlZGRiZGViMDZkYSIKLQotaW5oZXJpdCBjbWFrZQotCi1QQUNLQUdFQ09ORklHID8/PSAic2hhcmVkLWxpYnMgcHJvZ3JhbXMiCi1QQUNLQUdFQ09ORklHW3NoYXJlZC1saWJzXSA9ICItRFVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9OLC1VU0VfU0hBUkVEX01CRURUTFNfTElCUkFSWT1PRkYiCi1QQUNLQUdFQ09ORklHW3Byb2dyYW1zXSA9ICItREVOQUJMRV9QUk9HUkFNUz1PTiwtREVOQUJMRV9QUk9HUkFNUz1PRkYiCi0KLUVYVFJBX09FQ01BS0UgPSAiLURFTkFCTEVfVEVTVElORz1PRkYgLURMSUJfSU5TVEFMTF9ESVI6U1RSSU5HPSR7bGliZGlyfSIKLQotUFJPVklERVMgKz0gInBvbGFyc3NsIgotUlBST1ZJREVTXyR7UE59ID0gInBvbGFyc3NsIgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tcHJvZ3JhbXMiCi1GSUxFU18ke1BOfS1wcm9ncmFtcyA9ICIke2JpbmRpcn0vIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjE2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWJlZHRscy9tYmVkdGxzXzIuMTYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTlkMDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21iZWR0bHMvbWJlZHRsc18yLjE2LjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBjcnlwdG8gYW5kIFNTTC9UTFMgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIm1iZWR0bHMgaXMgYSBsZWFuIG9wZW4gc291cmNlIGNyeXB0byBsaWJyYXJ5ICAgICAgICAgIFwKK2ZvciBwcm92aWRpbmcgU1NMIGFuZCBUTFMgc3VwcG9ydCBpbiB5b3VyIHByb2dyYW1zLiBJdCBvZmZlcnMgICAgICAgIFwKK2FuIGludHVpdGl2ZSBBUEkgYW5kIGRvY3VtZW50ZWQgaGVhZGVyIGZpbGVzLCBzbyB5b3UgY2FuIGFjdHVhbGx5ICAgIFwKK3VuZGVyc3RhbmQgd2hhdCB0aGUgY29kZSBkb2VzLiBJdCBmZWF0dXJlczogICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIFN5bW1ldHJpYyBhbGdvcml0aG1zLCBsaWtlIEFFUywgQmxvd2Zpc2gsIFRyaXBsZS1ERVMsIERFUywgQVJDNCwgIFwKKyAgIENhbWVsbGlhIGFuZCBYVEVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIEhhc2ggYWxnb3JpdGhtcywgbGlrZSBTSEEtMSwgU0hBLTIsIFJJUEVNRC0xNjAgYW5kIE1ENSAgICAgICAgICAgIFwKKyAtIEVudHJvcHkgcG9vbCBhbmQgcmFuZG9tIGdlbmVyYXRvcnMsIGxpa2UgQ1RSLURSQkcgYW5kIEhNQUMtRFJCRyAgIFwKKyAtIFB1YmxpYyBrZXkgYWxnb3JpdGhtcywgbGlrZSBSU0EsIEVsbGlwdGljIEN1cnZlcywgRGlmZmllLUhlbGxtYW4sIFwKKyAgIEVDRFNBIGFuZCBFQ0RIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIFNTTCB2MyBhbmQgVExTIDEuMCwgMS4xIGFuZCAxLjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAtIEFic3RyYWN0aW9uIGxheWVycyBmb3IgY2lwaGVycywgaGFzaGVzLCBwdWJsaWMga2V5IG9wZXJhdGlvbnMsICAgIFwKKyAgIHBsYXRmb3JtIGFic3RyYWN0aW9uIGFuZCB0aHJlYWRpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyIKKworSE9NRVBBR0UgPSAiaHR0cHM6Ly90bHMubWJlZC5vcmcvIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zMDJkNTBhNjM2OWY1ZjIyZWZkYjY3NGRiOTA4MTY3YSIKKworU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gImh0dHBzOi8vdGxzLm1iZWQub3JnL2Rvd25sb2FkL21iZWR0bHMtJHtQVn0tYXBhY2hlLnRneiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWU5Y2YxNjExNGY0NDkxZGJiYzBmZTM2YmI3ZTZjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlM2RhYjU2ZTkwOTNjNzkwYjdkNWUwZjdlYjE5NDUxMDEwZmU2ODA2NDlkMjVjZjFkY2NhOWQ1NDQxNjY5YWUyIgorCitpbmhlcml0IGNtYWtlCisKK1BBQ0tBR0VDT05GSUcgPz89ICJzaGFyZWQtbGlicyBwcm9ncmFtcyIKK1BBQ0tBR0VDT05GSUdbc2hhcmVkLWxpYnNdID0gIi1EVVNFX1NIQVJFRF9NQkVEVExTX0xJQlJBUlk9T04sLVVTRV9TSEFSRURfTUJFRFRMU19MSUJSQVJZPU9GRiIKK1BBQ0tBR0VDT05GSUdbcHJvZ3JhbXNdID0gIi1ERU5BQkxFX1BST0dSQU1TPU9OLC1ERU5BQkxFX1BST0dSQU1TPU9GRiIKKworRVhUUkFfT0VDTUFLRSA9ICItREVOQUJMRV9URVNUSU5HPU9GRiAtRExJQl9JTlNUQUxMX0RJUjpTVFJJTkc9JHtsaWJkaXJ9IgorCitQUk9WSURFUyArPSAicG9sYXJzc2wiCitSUFJPVklERVNfJHtQTn0gPSAicG9sYXJzc2wiCisKK1BBQ0tBR0VTID0rICIke1BOfS1wcm9ncmFtcyIKK0ZJTEVTXyR7UE59LXByb2dyYW1zID0gIiR7YmluZGlyfS8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL2ZpbGVzLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL2ZpbGVzLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q0MjkxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvZmlsZXMvMDAwMS1BZGQtT3BlbkVtYmVkZGVkLWNyb3NzLWNvbXBpbGUtY2FzZS5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDU0Njk4ODU2ZTU2MDJiYmQ5ZDYxZTg1NTgxNGM4NTRhMDEzYjQ4NDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU2F0LCAyMiBEZWMgMjAxOCAxODo0Nzo0NSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBBZGQgT3BlbkVtYmVkZGVkIGNyb3NzIGNvbXBpbGUgY2FzZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnZW5jb25maWcuc2ggfCAxMSArKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZW5jb25maWcuc2ggYi9nZW5jb25maWcuc2gKK2luZGV4IGRjNDI0NjIuLjU5OTIyZTkgMTAwNzU1CistLS0gYS9nZW5jb25maWcuc2gKKysrKyBiL2dlbmNvbmZpZy5zaAorQEAgLTk4LDYgKzk4LDEyIEBAIGlmIFsgLWYgLi4vc2hhcmVkL3RvbWF0b192ZXJzaW9uIF07IHRoZW4KKyAJT1NfVkVSU0lPTj0iVG9tYXRvICRUT01BVE9fVkVSIgorIGZpCisgCisrIyBPcGVuRW1iZWRkZWQgc3BlY2lhbCBjYXNlCisraWYgWyAtZiAuL29zLm9wZW5lbWJlZGRlZCBdOyB0aGVuCisrCU9TX05BTUU9T3BlbkVtYmVkZGVkCisrCU9TX1ZFUlNJT049JChjYXQgLi9vcy5vcGVuZW1iZWRkZWQpCisrZmkKKysKKyAke1JNfSAke0NPTkZJR0ZJTEV9CisgCisgZWNobyAiLyogTWluaVVQblAgUHJvamVjdCIgPj4gJHtDT05GSUdGSUxFfQorQEAgLTMxOCw2ICszMjQsMTEgQEAgY2FzZSAkT1NfTkFNRSBpbgorIAkJZWNobyAiI2RlZmluZSBVU0VfSUZBQ0VXQVRDSEVSIDEiID4+ICR7Q09ORklHRklMRX0KKyAJCUZXPW5ldGZpbHRlcgorIAkJOzsKKysJT3BlbkVtYmVkZGVkKQorKwkJT1NfVVJMPWh0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy8KKysJCWVjaG8gIiNkZWZpbmUgVVNFX0lGQUNFV0FUQ0hFUiAxIiA+PiAke0NPTkZJR0ZJTEV9CisrCQlGVz1uZXRmaWx0ZXIKKysJCTs7CisgCUFzdExpbnV4KQorIAkJT1NfVVJMPWh0dHA6Ly93d3cuYXN0bGludXgub3JnLworIAkJZWNobyAiI2RlZmluZSBVU0VfSUZBQ0VXQVRDSEVSIDEiID4+ICR7Q09ORklHRklMRX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMC4yMDE4MDIwMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9taW5pdXBucGQvbWluaXVwbnBkXzIuMC4yMDE4MDIwMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDRiNWNkNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjAuMjAxODAyMDMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1TVU1NQVJZID0gIkxpZ2h0d2VpZ2h0IFVQblAgSUdEIGRhZW1vbiIKLURFU0NSSVBUSU9OID0gIlRoZSBtaW5pVVBuUCBkYWVtb24gaXMgYW4gVVBuUCBJR0QgKGludGVybmV0IGdhdGV3YXkgZGV2aWNlKSBcCi13aGljaCBwcm92aWRlIE5BVCB0cmF2ZXJzYWwgc2VydmljZXMgdG8gYW55IFVQblAgZW5hYmxlZCBjbGllbnQgb24gXAotdGhlIG5ldHdvcmsuIgotCi1TRUNUSU9OID0gIm5ldHdvcmtpbmciCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkxYWMwMGM2YjlmNWMxMDZlODkyOTFlMTk2ZmUwMjM0IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLURFUEVORFMgKz0gImlwdGFibGVzIG5ldC10b29scyB1dGlsLWxpbnV4IGxpYm1ubCBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIgotCi1TUkNfVVJJID0gImh0dHA6Ly9taW5pdXBucC50dXhmYW1pbHkub3JnL2ZpbGVzL2Rvd25sb2FkLnBocD9maWxlPSR7UH0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbWluaXVwbnBkLnNlcnZpY2UiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiNGM3YzkzODkxNWVkZWVlNmNhNGM2NWRkMDIxZjIxMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NjBjMTVmMmY4MzQwZmQ2OTU0NmIwMWNmZmU0YzdmY2ZmM2U2M2E3YmRmZTVhMmFmNmIyMzQ2ZjBlMDc0YmI2IgotCi1JUFY2ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICctLWlwdjYnLCAnJywgZCl9IgotCi1kb19jb21waWxlKCkgewotICAgIGNkICR7U30KLSAgICBDT05GSUdfT1BUSU9OUz0iJHtJUFY2fSAtLWxlYXNlZmlsZSAtLXZlbmRvcmNmZyIgb2VfcnVubWFrZSAtZiBNYWtlZmlsZS5saW51eAotfQotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAke1N9L21pbml1cG5wZCAke0R9LyR7c2JpbmRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwdGFibGVzX2luaXQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgJHtTfS9uZXRmaWx0ZXIvaXB0YWJsZXNfcmVtb3ZlYWxsLnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwNnRhYmxlc19pbml0LnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwNnRhYmxlc19yZW1vdmVhbGwuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgLW0gMDY0NCAtYiAke1N9L21pbml1cG5wZC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICBpbnN0YWxsICR7U30vbGludXgvbWluaXVwbnBkLmluaXQuZC5zY3JpcHQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pdXBucGQKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9taW5pdXBucGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLX0KLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1pbml1cG5wZC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4xLjIwMTkwMjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21pbml1cG5wZC9taW5pdXBucGRfMi4xLjIwMTkwMjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMmY1MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbWluaXVwbnBkL21pbml1cG5wZF8yLjEuMjAxOTAyMTAuYmIKQEAgLTAsMCArMSw0OCBAQAorU1VNTUFSWSA9ICJMaWdodHdlaWdodCBVUG5QIElHRCBkYWVtb24iCitERVNDUklQVElPTiA9ICJUaGUgbWluaVVQblAgZGFlbW9uIGlzIGFuIFVQblAgSUdEIChpbnRlcm5ldCBnYXRld2F5IGRldmljZSkgXAord2hpY2ggcHJvdmlkZSBOQVQgdHJhdmVyc2FsIHNlcnZpY2VzIHRvIGFueSBVUG5QIGVuYWJsZWQgY2xpZW50IG9uIFwKK3RoZSBuZXR3b3JrLiIKKworU0VDVElPTiA9ICJuZXR3b3JraW5nIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MWFjMDBjNmI5ZjVjMTA2ZTg5MjkxZTE5NmZlMDIzNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgc3lzdGVtZAorCitERVBFTkRTICs9ICJpcHRhYmxlcyBuZXQtdG9vbHMgdXRpbC1saW51eCBsaWJtbmwgbGlibmV0ZmlsdGVyLWNvbm50cmFjayIKKworU1JDX1VSSSA9ICJodHRwOi8vbWluaXVwbnAudHV4ZmFtaWx5Lm9yZy9maWxlcy9kb3dubG9hZC5waHA/ZmlsZT0ke1B9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7UH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL21pbml1cG5wZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLU9wZW5FbWJlZGRlZC1jcm9zcy1jb21waWxlLWNhc2UucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMDNiMDBjMjcxMDY4MzVlNzI4YTNiODU4ZWNmODMzOTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWFhZWNkMjVjZjE1MmQ5OTU1N2RmZTgwYzc1MDhhZjljYjA2ZTk3ZWNhZDQ3ODZjZTVkYWZiNGM5NThkMTk2YiIKKworSVBWNiA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnLS1pcHY2JywgJycsIGQpfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICBlY2hvICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKX0iID4gJHtTfS9vcy5vcGVuZW1iZWRkZWQKK30KKworZG9fY29tcGlsZSgpIHsKKyAgICBjZCAke1N9CisgICAgQ09ORklHX09QVElPTlM9IiR7SVBWNn0gLS1sZWFzZWZpbGUgLS12ZW5kb3JjZmciIG9lX3J1bm1ha2UgLWYgTWFrZWZpbGUubGludXgKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzYmluZGlyfQorICAgIGluc3RhbGwgJHtTfS9taW5pdXBucGQgJHtEfS8ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcHRhYmxlc19pbml0LnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsICR7U30vbmV0ZmlsdGVyL2lwdGFibGVzX3JlbW92ZWFsbC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfaW5pdC5zaCAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAke1N9L25ldGZpbHRlci9pcDZ0YWJsZXNfcmVtb3ZlYWxsLnNoICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgLWIgJHtTfS9taW5pdXBucGQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vJHtCUE59CisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAke1N9L2xpbnV4L21pbml1cG5wZC5pbml0LmQuc2NyaXB0ICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvbWluaXVwbnBkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaXVwbnBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pdXBucGQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vZmlsZXMvMDAwMi11dGhhc2gtcmVtb3ZlLWluLXRyZWUtdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vZmlsZXMvMDAwMi11dGhhc2gtcmVtb3ZlLWluLXRyZWUtdmVyc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg5ZGZlNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL2ZpbGVzLzAwMDItdXRoYXNoLXJlbW92ZS1pbi10cmVlLXZlcnNpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NzUgKzAsMCBAQAotRnJvbSBkOWFlZWY4ZDk1YTMyNTk0MmNjOTJmNGQ3MjQxNTc3MWQ3NWQ5MDRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHI9QzM9QTk9MjBEcmFzemlrPz0gPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLURhdGU6IFR1ZSwgMTIgQXByIDIwMTYgMTM6MDU6MTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHV0aGFzaDogcmVtb3ZlIGluLXRyZWUgdmVyc2lvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1XZSBkb24ndCBuZWVkIGl0IGFzIHdlIHdhbnQgdG8gdXNlIHRoZSB2ZXJzaW9uIHByb3ZpZGVkIGJ5Ci1tZXRhLW9lIGluc3RlYWQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQtc3BlY2lmaWNdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotLS0tCi0gc3JjL3V0aGFzaC5oIHwgOTQ4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDk0OCBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgc3JjL3V0aGFzaC5oCi0KLWRpZmYgLS1naXQgYS9zcmMvdXRoYXNoLmggYi9zcmMvdXRoYXNoLmgKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggOTE1YTgyNS4uMDAwMDAwMAotLS0tIGEvc3JjL3V0aGFzaC5oCi0rKysgL2Rldi9udWxsCi1AQCAtMSw5NDggKzAsMCBAQAotLS8qCi0tQ29weXJpZ2h0IChjKSAyMDAzLTIwMTMsIFRyb3kgRC4gSGFuc29uICAgICBodHRwOi8vdHJveWRoYW5zb24uZ2l0aHViLmNvbS91dGhhc2gvCi0tQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0KLS1SZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLS1tb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKLS0KLS0gICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotLSAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLS0KLS1USElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUwotLUlTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAotLVRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQQotLVBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05FUgotLU9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotLUVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLS1QUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLS1QUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCi0tTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcKLS1ORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKLS1TT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLS0qLwotLQotLSNpZm5kZWYgVVRIQVNIX0gKLS0jZGVmaW5lIFVUSEFTSF9IIAotLQotLSNpbmNsdWRlIDxzdHJpbmcuaD4gICAvKiBtZW1jbXAsc3RybGVuICovCi0tI2luY2x1ZGUgPHN0ZGRlZi5oPiAgIC8qIHB0cmRpZmZfdCAqLwotLSNpbmNsdWRlIDxzdGRsaWIuaD4gICAvKiBleGl0KCkgKi8KLS0KLS0vKiBUaGVzZSBtYWNyb3MgdXNlIGRlY2x0eXBlIG9yIHRoZSBlYXJsaWVyIF9fdHlwZW9mIEdOVSBleHRlbnNpb24uCi0tICAgQXMgZGVjbHR5cGUgaXMgb25seSBhdmFpbGFibGUgaW4gbmV3ZXIgY29tcGlsZXJzIChWUzIwMTAgb3IgZ2NjIDQuMysKLS0gICB3aGVuIGNvbXBpbGluZyBjKysgc291cmNlKSB0aGlzIGNvZGUgdXNlcyB3aGF0ZXZlciBtZXRob2QgaXMgbmVlZGVkCi0tICAgb3IsIGZvciBWUzIwMDggd2hlcmUgbmVpdGhlciBpcyBhdmFpbGFibGUsIHVzZXMgY2FzdGluZyB3b3JrYXJvdW5kcy4gKi8KLS0jaWZkZWYgX01TQ19WRVIgICAgICAgICAvKiBNUyBjb21waWxlciAqLwotLSNpZiBfTVNDX1ZFUiA+PSAxNjAwICYmIGRlZmluZWQoX19jcGx1c3BsdXMpICAvKiBWUzIwMTAgb3IgbmV3ZXIgaW4gQysrIG1vZGUgKi8KLS0jZGVmaW5lIERFQ0xUWVBFKHgpIChkZWNsdHlwZSh4KSkKLS0jZWxzZSAgICAgICAgICAgICAgICAgICAvKiBWUzIwMDggb3Igb2xkZXIgKG9yIFZTMjAxMCBpbiBDIG1vZGUpICovCi0tI2RlZmluZSBOT19ERUNMVFlQRQotLSNkZWZpbmUgREVDTFRZUEUoeCkKLS0jZW5kaWYKLS0jZWxzZSAgICAgICAgICAgICAgICAgICAvKiBHTlUsIFN1biBhbmQgb3RoZXIgY29tcGlsZXJzICovCi0tI2RlZmluZSBERUNMVFlQRSh4KSAoX190eXBlb2YoeCkpCi0tI2VuZGlmCi0tCi0tI2lmZGVmIE5PX0RFQ0xUWVBFCi0tI2RlZmluZSBERUNMVFlQRV9BU1NJR04oZHN0LHNyYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKipfZGFfZHN0ID0gKGNoYXIqKikoJihkc3QpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAqX2RhX2RzdCA9IChjaGFyKikoc3JjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0jZWxzZSAKLS0jZGVmaW5lIERFQ0xUWVBFX0FTU0lHTihkc3Qsc3JjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGRzdCkgPSBERUNMVFlQRShkc3QpKHNyYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tI2VuZGlmCi0tCi0tLyogYSBudW1iZXIgb2YgdGhlIGhhc2ggZnVuY3Rpb24gdXNlIHVpbnQzMl90IHdoaWNoIGlzbid0IGRlZmluZWQgb24gd2luMzIgKi8KLS0jaWZkZWYgX01TQ19WRVIKLS10eXBlZGVmIHVuc2lnbmVkIGludCB1aW50MzJfdDsKLS10eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhfdDsKLS0jZWxzZQotLSNpbmNsdWRlIDxpbnR0eXBlcy5oPiAgIC8qIHVpbnQzMl90ICovCi0tI2VuZGlmCi0tCi0tI2RlZmluZSBVVEhBU0hfVkVSU0lPTiAxLjkuOAotLQotLSNpZm5kZWYgdXRoYXNoX2ZhdGFsCi0tI2RlZmluZSB1dGhhc2hfZmF0YWwobXNnKSBleGl0KC0xKSAgICAgICAgLyogZmF0YWwgZXJyb3IgKG91dCBvZiBtZW1vcnksZXRjKSAqLwotLSNlbmRpZgotLSNpZm5kZWYgdXRoYXNoX21hbGxvYwotLSNkZWZpbmUgdXRoYXNoX21hbGxvYyhzeikgbWFsbG9jKHN6KSAgICAgIC8qIG1hbGxvYyBmY24gICAgICAgICAgICAgICAgICAgICAgKi8KLS0jZW5kaWYKLS0jaWZuZGVmIHV0aGFzaF9mcmVlCi0tI2RlZmluZSB1dGhhc2hfZnJlZShwdHIsc3opIGZyZWUocHRyKSAgICAgLyogZnJlZSBmY24gICAgICAgICAgICAgICAgICAgICAgICAqLwotLSNlbmRpZgotLQotLSNpZm5kZWYgdXRoYXNoX25vZXhwYW5kX2Z5aQotLSNkZWZpbmUgdXRoYXNoX25vZXhwYW5kX2Z5aSh0YmwpICAgICAgICAgIC8qIGNhbiBiZSBkZWZpbmVkIHRvIGxvZyBub2V4cGFuZCAgKi8KLS0jZW5kaWYKLS0jaWZuZGVmIHV0aGFzaF9leHBhbmRfZnlpCi0tI2RlZmluZSB1dGhhc2hfZXhwYW5kX2Z5aSh0YmwpICAgICAgICAgICAgLyogY2FuIGJlIGRlZmluZWQgdG8gbG9nIGV4cGFuZHMgICAqLwotLSNlbmRpZgotLQotLS8qIGluaXRpYWwgbnVtYmVyIG9mIGJ1Y2tldHMgKi8KLS0jZGVmaW5lIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUyAzMiAgICAgIC8qIGluaXRpYWwgbnVtYmVyIG9mIGJ1Y2tldHMgICAgICAgICovCi0tI2RlZmluZSBIQVNIX0lOSVRJQUxfTlVNX0JVQ0tFVFNfTE9HMiA1ICAvKiBsZzIgb2YgaW5pdGlhbCBudW1iZXIgb2YgYnVja2V0cyAqLwotLSNkZWZpbmUgSEFTSF9CS1RfQ0FQQUNJVFlfVEhSRVNIIDEwICAgICAgLyogZXhwYW5kIHdoZW4gYnVja2V0IGNvdW50IHJlYWNoZXMgKi8KLS0KLS0vKiBjYWxjdWxhdGUgdGhlIGVsZW1lbnQgd2hvc2UgaGFzaCBoYW5kbGUgYWRkcmVzcyBpcyBoaGUgKi8KLS0jZGVmaW5lIEVMTVRfRlJPTV9ISCh0YmwsaGhwKSAoKHZvaWQqKSgoKGNoYXIqKShoaHApKSAtICgodGJsKS0+aGhvKSkpCi0tCi0tI2RlZmluZSBIQVNIX0ZJTkQoaGgsaGVhZCxrZXlwdHIsa2V5bGVuLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oZl9ia3QsX2hmX2hhc2h2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBvdXQ9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaWYgKGhlYWQpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIEhBU0hfRkNOKGtleXB0cixrZXlsZW4sIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cywgX2hmX2hhc2h2LCBfaGZfYmt0KTsgICBcCi0tICAgICBpZiAoSEFTSF9CTE9PTV9URVNUKChoZWFkKS0+aGgudGJsLCBfaGZfaGFzaHYpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICBIQVNIX0ZJTkRfSU5fQktUKChoZWFkKS0+aGgudGJsLCBoaCwgKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbIF9oZl9ia3QgXSwgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICBrZXlwdHIsa2V5bGVuLG91dCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLSNpZmRlZiBIQVNIX0JMT09NCi0tI2RlZmluZSBIQVNIX0JMT09NX0JJVExFTiAoMVVMTCA8PCBIQVNIX0JMT09NKQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CWVRFTEVOIChIQVNIX0JMT09NX0JJVExFTi84KSArICgoSEFTSF9CTE9PTV9CSVRMRU4lOCkgPyAxOjApCi0tI2RlZmluZSBIQVNIX0JMT09NX01BS0UodGJsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICh0YmwpLT5ibG9vbV9uYml0cyA9IEhBU0hfQkxPT007ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodGJsKS0+Ymxvb21fYnYgPSAodWludDhfdCopdXRoYXNoX21hbGxvYyhIQVNIX0JMT09NX0JZVEVMRU4pOyAgICAgICAgICAgICAgICAgXAotLSAgaWYgKCEoKHRibCktPmJsb29tX2J2KSkgIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgICAgICAgIFwKLS0gIG1lbXNldCgodGJsKS0+Ymxvb21fYnYsIDAsIEhBU0hfQkxPT01fQllURUxFTik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAodGJsKS0+Ymxvb21fc2lnID0gSEFTSF9CTE9PTV9TSUdOQVRVUkU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApIAotLQotLSNkZWZpbmUgSEFTSF9CTE9PTV9GUkVFKHRibCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1dGhhc2hfZnJlZSgodGJsKS0+Ymxvb21fYnYsIEhBU0hfQkxPT01fQllURUxFTik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApIAotLQotLSNkZWZpbmUgSEFTSF9CTE9PTV9CSVRTRVQoYnYsaWR4KSAoYnZbKGlkeCkvOF0gfD0gKDFVIDw8ICgoaWR4KSU4KSkpCi0tI2RlZmluZSBIQVNIX0JMT09NX0JJVFRFU1QoYnYsaWR4KSAoYnZbKGlkeCkvOF0gJiAoMVUgPDwgKChpZHgpJTgpKSkKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fQUREKHRibCxoYXNodikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0JMT09NX0JJVFNFVCgodGJsKS0+Ymxvb21fYnYsIChoYXNodiAmICh1aW50MzJfdCkoKDFVTEwgPDwgKHRibCktPmJsb29tX25iaXRzKSAtIDEpKSkKLS0KLS0jZGVmaW5lIEhBU0hfQkxPT01fVEVTVCh0YmwsaGFzaHYpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0JMT09NX0JJVFRFU1QoKHRibCktPmJsb29tX2J2LCAoaGFzaHYgJiAodWludDMyX3QpKCgxVUxMIDw8ICh0YmwpLT5ibG9vbV9uYml0cykgLSAxKSkpCi0tCi0tI2Vsc2UKLS0jZGVmaW5lIEhBU0hfQkxPT01fTUFLRSh0YmwpIAotLSNkZWZpbmUgSEFTSF9CTE9PTV9GUkVFKHRibCkgCi0tI2RlZmluZSBIQVNIX0JMT09NX0FERCh0YmwsaGFzaHYpIAotLSNkZWZpbmUgSEFTSF9CTE9PTV9URVNUKHRibCxoYXNodikgKDEpCi0tI2RlZmluZSBIQVNIX0JMT09NX0JZVEVMRU4gMAotLSNlbmRpZgotLQotLSNkZWZpbmUgSEFTSF9NQUtFX1RBQkxFKGhoLGhlYWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibCA9IChVVF9oYXNoX3RhYmxlKil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIHNpemVvZihVVF9oYXNoX3RhYmxlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGlmICghKChoZWFkKS0+aGgudGJsKSkgIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgICAgICAgICBcCi0tICBtZW1zZXQoKGhlYWQpLT5oaC50YmwsIDAsIHNpemVvZihVVF9oYXNoX3RhYmxlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSAmKChoZWFkKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cyA9IEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUzsgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAoaGVhZCktPmhoLnRibC0+bG9nMl9udW1fYnVja2V0cyA9IEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUU19MT0cyOyAgICAgICAgICAgICAgXAotLSAgKGhlYWQpLT5oaC50YmwtPmhobyA9IChjaGFyKikoJihoZWFkKS0+aGgpIC0gKGNoYXIqKShoZWFkKTsgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5idWNrZXRzID0gKFVUX2hhc2hfYnVja2V0Kil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgaWYgKCEgKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHMpIHsgdXRoYXNoX2ZhdGFsKCAib3V0IG9mIG1lbW9yeSIpOyB9ICAgICAgICAgICAgIFwKLS0gIG1lbXNldCgoaGVhZCktPmhoLnRibC0+YnVja2V0cywgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIEhBU0hfSU5JVElBTF9OVU1fQlVDS0VUUypzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgSEFTSF9CTE9PTV9NQUtFKChoZWFkKS0+aGgudGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIChoZWFkKS0+aGgudGJsLT5zaWduYXR1cmUgPSBIQVNIX1NJR05BVFVSRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9BREQoaGgsaGVhZCxmaWVsZG5hbWUsa2V5bGVuX2luLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIEhBU0hfQUREX0tFWVBUUihoaCxoZWFkLCYoKGFkZCktPmZpZWxkbmFtZSksa2V5bGVuX2luLGFkZCkKLS0KLS0jZGVmaW5lIEhBU0hfUkVQTEFDRShoaCxoZWFkLGZpZWxkbmFtZSxrZXlsZW5faW4sYWRkLHJlcGxhY2VkKSAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgcmVwbGFjZWQ9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIEhBU0hfRklORChoaCxoZWFkLCYoKGFkZCktPmZpZWxkbmFtZSksa2V5bGVuX2luLHJlcGxhY2VkKTsgICAgICAgICAgICAgICAgICAgICBcCi0tICBpZiAocmVwbGFjZWQhPU5VTEwpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgSEFTSF9ERUxFVEUoaGgsaGVhZCxyZXBsYWNlZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0FERChoaCxoZWFkLGZpZWxkbmFtZSxrZXlsZW5faW4sYWRkKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0gCi0tI2RlZmluZSBIQVNIX0FERF9LRVlQVFIoaGgsaGVhZCxrZXlwdHIsa2V5bGVuX2luLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gdW5zaWduZWQgX2hhX2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGQpLT5oaC5uZXh0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoYWRkKS0+aGgua2V5ID0gKGNoYXIqKWtleXB0cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZCktPmhoLmtleWxlbiA9ICh1bnNpZ25lZClrZXlsZW5faW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBpZiAoIShoZWFkKSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGVhZCA9IChhZGQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIChoZWFkKS0+aGgucHJldiA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX01BS0VfVEFCTEUoaGgsaGVhZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIChoZWFkKS0+aGgudGJsLT50YWlsLT5uZXh0ID0gKGFkZCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoYWRkKS0+aGgucHJldiA9IEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCwgKGhlYWQpLT5oaC50YmwtPnRhaWwpOyAgICAgICAgIFwKLS0gICAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSAmKChhZGQpLT5oaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZCktPmhoLnRibCA9IChoZWFkKS0+aGgudGJsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfRkNOKGtleXB0cixrZXlsZW5faW4sIChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cywgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgIChhZGQpLT5oaC5oYXNodiwgX2hhX2JrdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gSEFTSF9BRERfVE9fQktUKChoZWFkKS0+aGgudGJsLT5idWNrZXRzW19oYV9ia3RdLCYoYWRkKS0+aGgpOyAgICAgICAgICAgICAgICAgICBcCi0tIEhBU0hfQkxPT01fQUREKChoZWFkKS0+aGgudGJsLChhZGQpLT5oaC5oYXNodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBIQVNIX0VNSVRfS0VZKGhoLGhlYWQsa2V5cHRyLGtleWxlbl9pbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9UT19CS1QoIGhhc2h2LCBudW1fYmt0cywgYmt0ICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSAoKGhhc2h2KSAmICgobnVtX2JrdHMpIC0gMSkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiBkZWxldGUgImRlbHB0ciIgZnJvbSB0aGUgaGFzaCB0YWJsZS4KLS0gKiAidGhlIHVzdWFsIiBwYXRjaC11cCBwcm9jZXNzIGZvciB0aGUgYXBwLW9yZGVyIGRvdWJseS1saW5rZWQtbGlzdC4KLS0gKiBUaGUgdXNlIG9mIF9oZF9oaF9kZWwgYmVsb3cgZGVzZXJ2ZXMgc3BlY2lhbCBleHBsYW5hdGlvbi4KLS0gKiBUaGVzZSB1c2VkIHRvIGJlIGV4cHJlc3NlZCB1c2luZyAoZGVscHRyKSBidXQgdGhhdCBsZWQgdG8gYSBidWcKLS0gKiBpZiBzb21lb25lIHVzZWQgdGhlIHNhbWUgc3ltYm9sIGZvciB0aGUgaGVhZCBhbmQgZGVsZXRlZSwgbGlrZQotLSAqICBIQVNIX0RFTEVURShoaCx1c2Vycyx1c2Vycyk7Ci0tICogV2Ugd2FudCB0aGF0IHRvIHdvcmssIGJ1dCBieSBjaGFuZ2luZyB0aGUgaGVhZCAodXNlcnMpIGJlbG93Ci0tICogd2Ugd2VyZSBmb3JmZWl0aW5nIG91ciBhYmlsaXR5IHRvIGZ1cnRoZXIgcmVmZXIgdG8gdGhlIGRlbGV0ZWUgKHVzZXJzKQotLSAqIGluIHRoZSBwYXRjaC11cCBwcm9jZXNzLiBTb2x1dGlvbjogdXNlIHNjcmF0Y2ggc3BhY2UgdG8KLS0gKiBjb3B5IHRoZSBkZWxldGVlIHBvaW50ZXIsIHRoZW4gdGhlIGxhdHRlciByZWZlcmVuY2VzIGFyZSB2aWEgdGhhdAotLSAqIHNjcmF0Y2ggcG9pbnRlciByYXRoZXIgdGhhbiB0aHJvdWdoIHRoZSByZXBvaW50ZWQgKHVzZXJzKSBzeW1ib2wuCi0tICovCi0tI2RlZmluZSBIQVNIX0RFTEVURShoaCxoZWFkLGRlbHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2hkX2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hkX2hoX2RlbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAoICgoZGVscHRyKS0+aGgucHJldiA9PSBOVUxMKSAmJiAoKGRlbHB0ciktPmhoLm5leHQgPT0gTlVMTCkgKSAgeyAgICAgICAgIFwKLS0gICAgICAgIHV0aGFzaF9mcmVlKChoZWFkKS0+aGgudGJsLT5idWNrZXRzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMqc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkgKTsgXAotLSAgICAgICAgSEFTSF9CTE9PTV9GUkVFKChoZWFkKS0+aGgudGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHV0aGFzaF9mcmVlKChoZWFkKS0+aGgudGJsLCBzaXplb2YoVVRfaGFzaF90YWJsZSkpOyAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoZWFkID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9oZF9oaF9kZWwgPSAmKChkZWxwdHIpLT5oaCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBpZiAoKGRlbHB0cikgPT0gRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLChoZWFkKS0+aGgudGJsLT50YWlsKSkgeyAgICAgXAotLSAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT50YWlsID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgKFVUX2hhc2hfaGFuZGxlKikoKHB0cmRpZmZfdCkoKGRlbHB0ciktPmhoLnByZXYpICsgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmICgoZGVscHRyKS0+aGgucHJldikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKChVVF9oYXNoX2hhbmRsZSopKChwdHJkaWZmX3QpKChkZWxwdHIpLT5oaC5wcmV2KSArICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpLT5uZXh0ID0gKGRlbHB0ciktPmhoLm5leHQ7ICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgREVDTFRZUEVfQVNTSUdOKGhlYWQsKGRlbHB0ciktPmhoLm5leHQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmIChfaGRfaGhfZGVsLT5uZXh0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKChVVF9oYXNoX2hhbmRsZSopKChwdHJkaWZmX3QpX2hkX2hoX2RlbC0+bmV4dCArICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpLT5wcmV2ID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgIF9oZF9oaF9kZWwtPnByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgSEFTSF9UT19CS1QoIF9oZF9oaF9kZWwtPmhhc2h2LCAoaGVhZCktPmhoLnRibC0+bnVtX2J1Y2tldHMsIF9oZF9ia3QpOyAgIFwKLS0gICAgICAgIEhBU0hfREVMX0lOX0JLVChoaCwoaGVhZCktPmhoLnRibC0+YnVja2V0c1tfaGRfYmt0XSwgX2hkX2hoX2RlbCk7ICAgICAgICBcCi0tICAgICAgICAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0KLS0vKiBjb252ZW5pZW5jZSBmb3JtcyBvZiBIQVNIX0ZJTkQvSEFTSF9BREQvSEFTSF9ERUwgKi8KLS0jZGVmaW5lIEhBU0hfRklORF9TVFIoaGVhZCxmaW5kc3RyLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRklORChoaCxoZWFkLGZpbmRzdHIsc3RybGVuKGZpbmRzdHIpLG91dCkKLS0jZGVmaW5lIEhBU0hfQUREX1NUUihoZWFkLHN0cmZpZWxkLGFkZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfQUREKGhoLGhlYWQsc3RyZmllbGQsc3RybGVuKGFkZC0+c3RyZmllbGQpLGFkZCkKLS0jZGVmaW5lIEhBU0hfUkVQTEFDRV9TVFIoaGVhZCxzdHJmaWVsZCxhZGQscmVwbGFjZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX1JFUExBQ0UoaGgsaGVhZCxzdHJmaWVsZCxzdHJsZW4oYWRkLT5zdHJmaWVsZCksYWRkLHJlcGxhY2VkKQotLSNkZWZpbmUgSEFTSF9GSU5EX0lOVChoZWFkLGZpbmRpbnQsb3V0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9GSU5EKGhoLGhlYWQsZmluZGludCxzaXplb2YoaW50KSxvdXQpCi0tI2RlZmluZSBIQVNIX0FERF9JTlQoaGVhZCxpbnRmaWVsZCxhZGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0FERChoaCxoZWFkLGludGZpZWxkLHNpemVvZihpbnQpLGFkZCkKLS0jZGVmaW5lIEhBU0hfUkVQTEFDRV9JTlQoaGVhZCxpbnRmaWVsZCxhZGQscmVwbGFjZWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfUkVQTEFDRShoaCxoZWFkLGludGZpZWxkLHNpemVvZihpbnQpLGFkZCxyZXBsYWNlZCkKLS0jZGVmaW5lIEhBU0hfRklORF9QVFIoaGVhZCxmaW5kcHRyLG91dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIEhBU0hfRklORChoaCxoZWFkLGZpbmRwdHIsc2l6ZW9mKHZvaWQgKiksb3V0KQotLSNkZWZpbmUgSEFTSF9BRERfUFRSKGhlYWQscHRyZmllbGQsYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgSEFTSF9BREQoaGgsaGVhZCxwdHJmaWVsZCxzaXplb2Yodm9pZCAqKSxhZGQpCi0tI2RlZmluZSBIQVNIX1JFUExBQ0VfUFRSKGhlYWQscHRyZmllbGQsYWRkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX1JFUExBQ0UoaGgsaGVhZCxwdHJmaWVsZCxzaXplb2Yodm9pZCAqKSxhZGQscmVwbGFjZWQpCi0tI2RlZmluZSBIQVNIX0RFTChoZWFkLGRlbHB0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBIQVNIX0RFTEVURShoaCxoZWFkLGRlbHB0cikKLS0KLS0vKiBIQVNIX0ZTQ0sgY2hlY2tzIGhhc2ggaW50ZWdyaXR5IG9uIGV2ZXJ5IGFkZC9kZWxldGUgd2hlbiBIQVNIX0RFQlVHIGlzIGRlZmluZWQuCi0tICogVGhpcyBpcyBmb3IgdXRoYXNoIGRldmVsb3BlciBvbmx5OyBpdCBjb21waWxlcyBhd2F5IGlmIEhBU0hfREVCVUcgaXNuJ3QgZGVmaW5lZC4KLS0gKi8KLS0jaWZkZWYgSEFTSF9ERUJVRwotLSNkZWZpbmUgSEFTSF9PT1BTKC4uLikgZG8geyBmcHJpbnRmKHN0ZGVycixfX1ZBX0FSR1NfXyk7IGV4aXQoLTEpOyB9IHdoaWxlICgwKQotLSNkZWZpbmUgSEFTSF9GU0NLKGhoLGhlYWQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHVuc2lnbmVkIF9ia3RfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfY291bnQsIF9ia3RfY291bnQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2hhciAqX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF9jb3VudCA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBmb3IoIF9ia3RfaSA9IDA7IF9ia3RfaSA8IChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0czsgX2JrdF9pKyspIHsgICAgICAgXAotLSAgICAgICAgICAgIF9ia3RfY291bnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfdGhoID0gKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2JrdF9pXS5oaF9oZWFkOyAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIHdoaWxlIChfdGhoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICBpZiAoX3ByZXYgIT0gKGNoYXIqKShfdGhoLT5oaF9wcmV2KSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgIEhBU0hfT09QUygiaW52YWxpZCBoaF9wcmV2ICVwLCBhY3R1YWwgJXBcbiIsICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgX3RoaC0+aGhfcHJldiwgX3ByZXYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgX2JrdF9jb3VudCsrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgIF9wcmV2ID0gKGNoYXIqKShfdGhoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICBfdGhoID0gX3RoaC0+aGhfbmV4dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9jb3VudCArPSBfYmt0X2NvdW50OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBpZiAoKGhlYWQpLT5oaC50YmwtPmJ1Y2tldHNbX2JrdF9pXS5jb3VudCAhPSAgX2JrdF9jb3VudCkgeyAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgSEFTSF9PT1BTKCJpbnZhbGlkIGJ1Y2tldCBjb3VudCAlZCwgYWN0dWFsICVkXG4iLCAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+YnVja2V0c1tfYmt0X2ldLmNvdW50LCBfYmt0X2NvdW50KTsgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaWYgKF9jb3VudCAhPSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgaGggaXRlbSBjb3VudCAlZCwgYWN0dWFsICVkXG4iLCAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMsIF9jb3VudCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIC8qIHRyYXZlcnNlIGhoIGluIGFwcCBvcmRlcjsgY2hlY2sgbmV4dC9wcmV2IGludGVncml0eSwgY291bnQgKi8gICAgICAgICBcCi0tICAgICAgICBfY291bnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIF90aGggPSAgJihoZWFkKS0+aGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB3aGlsZSAoX3RoaCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2NvdW50Kys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIGlmIChfcHJldiAhPShjaGFyKikoX3RoaC0+cHJldikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgcHJldiAlcCwgYWN0dWFsICVwXG4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgX3RoaC0+cHJldiwgX3ByZXYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfcHJldiA9IChjaGFyKilFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsIF90aGgpOyAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX3RoaCA9ICggX3RoaC0+bmV4dCA/ICAoVVRfaGFzaF9oYW5kbGUqKSgoY2hhciopKF90aGgtPm5leHQpICsgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykgOiBOVUxMICk7ICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgaWYgKF9jb3VudCAhPSAoaGVhZCktPmhoLnRibC0+bnVtX2l0ZW1zKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBIQVNIX09PUFMoImludmFsaWQgYXBwIGl0ZW0gY291bnQgJWQsIGFjdHVhbCAlZFxuIiwgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMsIF9jb3VudCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0jZWxzZQotLSNkZWZpbmUgSEFTSF9GU0NLKGhoLGhlYWQpIAotLSNlbmRpZgotLQotLS8qIFdoZW4gY29tcGlsZWQgd2l0aCAtREhBU0hfRU1JVF9LRVlTLCBsZW5ndGgtcHJlZml4ZWQga2V5cyBhcmUgZW1pdHRlZCB0byAKLS0gKiB0aGUgZGVzY3JpcHRvciB0byB3aGljaCB0aGlzIG1hY3JvIGlzIGRlZmluZWQgZm9yIHR1bmluZyB0aGUgaGFzaCBmdW5jdGlvbi4KLS0gKiBUaGUgYXBwIGNhbiAjaW5jbHVkZSA8dW5pc3RkLmg+IHRvIGdldCB0aGUgcHJvdG90eXBlIGZvciB3cml0ZSgyKS4gKi8KLS0jaWZkZWYgSEFTSF9FTUlUX0tFWVMKLS0jZGVmaW5lIEhBU0hfRU1JVF9LRVkoaGgsaGVhZCxrZXlwdHIsZmllbGRsZW4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfa2xlbiA9IGZpZWxkbGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgd3JpdGUoSEFTSF9FTUlUX0tFWVMsICZfa2xlbiwgc2l6ZW9mKF9rbGVuKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHdyaXRlKEhBU0hfRU1JVF9LRVlTLCBrZXlwdHIsIGZpZWxkbGVuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tI2Vsc2UgCi0tI2RlZmluZSBIQVNIX0VNSVRfS0VZKGhoLGhlYWQsa2V5cHRyLGZpZWxkbGVuKSAgICAgICAgICAgICAgICAgICAgCi0tI2VuZGlmCi0tCi0tLyogZGVmYXVsdCB0byBKZW5raW4ncyBoYXNoIHVubGVzcyBvdmVycmlkZGVuIGUuZy4gREhBU0hfRlVOQ1RJT049SEFTSF9TQVggKi8KLS0jaWZkZWYgSEFTSF9GVU5DVElPTiAKLS0jZGVmaW5lIEhBU0hfRkNOIEhBU0hfRlVOQ1RJT04KLS0jZWxzZQotLSNkZWZpbmUgSEFTSF9GQ04gSEFTSF9KRU4KLS0jZW5kaWYKLS0KLS0vKiBUaGUgQmVybnN0ZWluIGhhc2ggZnVuY3Rpb24sIHVzZWQgaW4gUGVybCBwcmlvciB0byB2NS42ICovCi0tI2RlZmluZSBIQVNIX0JFUihrZXksa2V5bGVuLG51bV9ia3RzLGhhc2h2LGJrdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIF9oYl9rZXlsZW49a2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBjaGFyICpfaGJfa2V5PShjaGFyKikoa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgKGhhc2h2KSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHdoaWxlIChfaGJfa2V5bGVuLS0pICB7IChoYXNodikgPSAoKGhhc2h2KSAqIDMzKSArICpfaGJfa2V5Kys7IH0gICAgICAgICAgICAgICBcCi0tICBia3QgPSAoaGFzaHYpICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUgKDApCi0tCi0tCi0tLyogU0FYL0ZOVi9PQVQvSkVOIGhhc2ggZnVuY3Rpb25zIGFyZSBtYWNybyB2YXJpYW50cyBvZiB0aG9zZSBsaXN0ZWQgYXQgCi0tICogaHR0cDovL2V0ZXJuYWxseWNvbmZ1enpsZWQuY29tL3R1dHMvYWxnb3JpdGhtcy9qc3dfdHV0X2hhc2hpbmcuYXNweCAqLwotLSNkZWZpbmUgSEFTSF9TQVgoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfc3hfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgY2hhciAqX2hzX2tleT0oY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IoX3N4X2k9MDsgX3N4X2kgPCBrZXlsZW47IF9zeF9pKyspICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGhhc2h2IF49IChoYXNodiA8PCA1KSArIChoYXNodiA+PiAyKSArIF9oc19rZXlbX3N4X2ldOyAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jZGVmaW5lIEhBU0hfRk5WKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2ZuX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNoYXIgKl9oZl9rZXk9KGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDIxNjYxMzYyNjFVTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgZm9yKF9mbl9pPTA7IF9mbl9pIDwga2V5bGVuOyBfZm5faSsrKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiA9IChoYXNodiAqIDE2Nzc3NjE5KSBeIF9oZl9rZXlbX2ZuX2ldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBia3QgPSBoYXNodiAmIChudW1fYmt0cy0xKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkgCi0tIAotLSNkZWZpbmUgSEFTSF9PQVQoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaG9faTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgY2hhciAqX2hvX2tleT0oY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBmb3IoX2hvX2k9MDsgX2hvX2kgPCBrZXlsZW47IF9ob19pKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGhhc2h2ICs9IF9ob19rZXlbX2hvX2ldOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBoYXNodiArPSAoaGFzaHYgPDwgMTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgaGFzaHYgXj0gKGhhc2h2ID4+IDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ICs9IChoYXNodiA8PCAzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiBePSAoaGFzaHYgPj4gMTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgKz0gKGhhc2h2IDw8IDE1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLSNkZWZpbmUgSEFTSF9KRU5fTUlYKGEsYixjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMTMgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiAxMyApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMTIgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDE2ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiA1ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBhIC09IGI7IGEgLT0gYzsgYSBePSAoIGMgPj4gMyApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYiAtPSBjOyBiIC09IGE7IGIgXj0gKCBhIDw8IDEwICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGMgLT0gYTsgYyAtPSBiOyBjIF49ICggYiA+PiAxNSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSAoMCkKLS0KLS0jZGVmaW5lIEhBU0hfSkVOKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hqX2ksX2hqX2osX2hqX2s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVuc2lnbmVkIGNoYXIgKl9oal9rZXk9KHVuc2lnbmVkIGNoYXIqKShrZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBoYXNodiA9IDB4ZmVlZGJlZWY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgX2hqX2kgPSBfaGpfaiA9IDB4OWUzNzc5Yjk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9oal9rID0gKHVuc2lnbmVkKWtleWxlbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB3aGlsZSAoX2hqX2sgPj0gMTIpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfaGpfaSArPSAgICAoX2hqX2tleVswXSArICggKHVuc2lnbmVkKV9oal9rZXlbMV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVsyXSA8PCAxNiApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbM10gPDwgMjQgKSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfaGpfaiArPSAgICAoX2hqX2tleVs0XSArICggKHVuc2lnbmVkKV9oal9rZXlbNV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVs2XSA8PCAxNiApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbN10gPDwgMjQgKSApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiArPSAoX2hqX2tleVs4XSArICggKHVuc2lnbmVkKV9oal9rZXlbOV0gPDwgOCApICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICsgKCAodW5zaWduZWQpX2hqX2tleVsxMF0gPDwgMTYgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICArICggKHVuc2lnbmVkKV9oal9rZXlbMTFdIDw8IDI0ICkgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIEhBU0hfSkVOX01JWChfaGpfaSwgX2hqX2osIGhhc2h2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgX2hqX2tleSArPSAxMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIF9oal9rIC09IDEyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgaGFzaHYgKz0ga2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCAoIF9oal9rICkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDExOiBoYXNodiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzEwXSA8PCAyNCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAxMDogaGFzaHYgKz0gKCAodW5zaWduZWQpX2hqX2tleVs5XSA8PCAxNiApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgOTogIGhhc2h2ICs9ICggKHVuc2lnbmVkKV9oal9rZXlbOF0gPDwgOCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDg6ICBfaGpfaiArPSAoICh1bnNpZ25lZClfaGpfa2V5WzddIDw8IDI0ICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA3OiAgX2hqX2ogKz0gKCAodW5zaWduZWQpX2hqX2tleVs2XSA8PCAxNiApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgNjogIF9oal9qICs9ICggKHVuc2lnbmVkKV9oal9rZXlbNV0gPDwgOCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDU6ICBfaGpfaiArPSBfaGpfa2V5WzRdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSA0OiAgX2hqX2kgKz0gKCAodW5zaWduZWQpX2hqX2tleVszXSA8PCAyNCApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgIGNhc2UgMzogIF9oal9pICs9ICggKHVuc2lnbmVkKV9oal9rZXlbMl0gPDwgMTYgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICBjYXNlIDI6ICBfaGpfaSArPSAoICh1bnNpZ25lZClfaGpfa2V5WzFdIDw8IDggKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgY2FzZSAxOiAgX2hqX2kgKz0gX2hqX2tleVswXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBIQVNIX0pFTl9NSVgoX2hqX2ksIF9oal9qLCBoYXNodik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgYmt0ID0gaGFzaHYgJiAobnVtX2JrdHMtMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tCi0tLyogVGhlIFBhdWwgSHNpZWggaGFzaCBmdW5jdGlvbiAqLwotLSN1bmRlZiBnZXQxNmJpdHMKLS0jaWYgKGRlZmluZWQoX19HTlVDX18pICYmIGRlZmluZWQoX19pMzg2X18pKSB8fCBkZWZpbmVkKF9fV0FUQ09NQ19fKSAgICAgICAgICAgICBcCi0tICB8fCBkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkIChfX0JPUkxBTkRDX18pIHx8IGRlZmluZWQgKF9fVFVSQk9DX18pCi0tI2RlZmluZSBnZXQxNmJpdHMoZCkgKCooKGNvbnN0IHVpbnQxNl90ICopIChkKSkpCi0tI2VuZGlmCi0tCi0tI2lmICFkZWZpbmVkIChnZXQxNmJpdHMpCi0tI2RlZmluZSBnZXQxNmJpdHMoZCkgKCgoKHVpbnQzMl90KSgoKGNvbnN0IHVpbnQ4X3QgKikoZCkpWzFdKSkgPDwgOCkgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgKyh1aW50MzJfdCkoKChjb25zdCB1aW50OF90ICopKGQpKVswXSkgKQotLSNlbmRpZgotLSNkZWZpbmUgSEFTSF9TRkgoa2V5LGtleWxlbixudW1fYmt0cyxoYXNodixia3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBjaGFyICpfc2ZoX2tleT0odW5zaWduZWQgY2hhciopKGtleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdWludDMyX3QgX3NmaF90bXAsIF9zZmhfbGVuID0ga2V5bGVuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpbnQgX3NmaF9yZW0gPSBfc2ZoX2xlbiAmIDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgX3NmaF9sZW4gPj49IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gMHhjYWZlYmFiZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgLyogTWFpbiBsb29wICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGZvciAoO19zZmhfbGVuID4gMDsgX3NmaF9sZW4tLSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2ICAgICs9IGdldDE2Yml0cyAoX3NmaF9rZXkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBfc2ZoX3RtcCAgICAgICA9ICh1aW50MzJfdCkoZ2V0MTZiaXRzIChfc2ZoX2tleSsyKSkgPDwgMTEgIF4gaGFzaHY7ICAgICAgICAgIFwKLS0gICAgaGFzaHYgICAgID0gKGhhc2h2IDw8IDE2KSBeIF9zZmhfdG1wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIF9zZmhfa2V5ICs9IDIqc2l6ZW9mICh1aW50MTZfdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiAgICArPSBoYXNodiA+PiAxMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgLyogSGFuZGxlIGVuZCBjYXNlcyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCAoX3NmaF9yZW0pIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMzogaGFzaHYgKz0gZ2V0MTZiaXRzIChfc2ZoX2tleSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2IF49IGhhc2h2IDw8IDE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiBePSAodWludDMyX3QpKF9zZmhfa2V5W3NpemVvZiAodWludDE2X3QpXSA8PCAxOCk7ICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgKz0gaGFzaHYgPj4gMTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAyOiBoYXNodiArPSBnZXQxNmJpdHMgKF9zZmhfa2V5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaGFzaHYgXj0gaGFzaHYgPDwgMTE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2ICs9IGhhc2h2ID4+IDE3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGNhc2UgMTogaGFzaHYgKz0gKl9zZmhfa2V5OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGhhc2h2IF49IGhhc2h2IDw8IDEwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBoYXNodiArPSBoYXNodiA+PiAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgLyogRm9yY2UgImF2YWxhbmNoaW5nIiBvZiBmaW5hbCAxMjcgYml0cyAqLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2IF49IGhhc2h2IDw8IDM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiArPSBoYXNodiA+PiA1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgXj0gaGFzaHYgPDwgNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGhhc2h2ICs9IGhhc2h2ID4+IDE3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBoYXNodiBePSBoYXNodiA8PCAyNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaGFzaHYgKz0gaGFzaHYgPj4gNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkgCi0tCi0tI2lmZGVmIEhBU0hfVVNJTkdfTk9fU1RSSUNUX0FMSUFTSU5HCi0tLyogVGhlIE11cm11ckhhc2ggZXhwbG9pdHMgc29tZSBDUFUncyAoeDg2LHg4Nl82NCkgdG9sZXJhbmNlIGZvciB1bmFsaWduZWQgcmVhZHMuCi0tICogRm9yIG90aGVyIHR5cGVzIG9mIENQVSdzIChlLmcuIFNwYXJjKSBhbiB1bmFsaWduZWQgcmVhZCBjYXVzZXMgYSBidXMgZXJyb3IuCi0tICogTXVybXVySGFzaCB1c2VzIHRoZSBmYXN0ZXIgYXBwcm9hY2ggb25seSBvbiBDUFUncyB3aGVyZSB3ZSBrbm93IGl0J3Mgc2FmZS4gCi0tICoKLS0gKiBOb3RlIHRoZSBwcmVwcm9jZXNzb3IgYnVpbHQtaW4gZGVmaW5lcyBjYW4gYmUgZW1pdHRlZCB1c2luZzoKLS0gKgotLSAqICAgZ2NjIC1tNjQgLWRNIC1FIC0gPCAvZGV2L251bGwgICAgICAgICAgICAgICAgICAob24gZ2NjKQotLSAqICAgY2MgLSMjIGEuYyAod2hlcmUgYS5jIGlzIGEgc2ltcGxlIHRlc3QgZmlsZSkgICAoU3VuIFN0dWRpbykKLS0gKi8KLS0jaWYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgIHx8IGRlZmluZWQoX01fSVg4NikpCi0tI2RlZmluZSBNVVJfR0VUQkxPQ0socCxpKSBwW2ldCi0tI2Vsc2UgLyogbm9uIGludGVsICovCi0tI2RlZmluZSBNVVJfUExVUzBfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDApCi0tI2RlZmluZSBNVVJfUExVUzFfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDEpCi0tI2RlZmluZSBNVVJfUExVUzJfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDIpCi0tI2RlZmluZSBNVVJfUExVUzNfQUxJR05FRChwKSAoKCh1bnNpZ25lZCBsb25nKXAgJiAweDMpID09IDMpCi0tI2RlZmluZSBXUChwKSAoKHVpbnQzMl90KikoKHVuc2lnbmVkIGxvbmcpKHApICYgfjNVTCkpCi0tI2lmIChkZWZpbmVkKF9fQklHX0VORElBTl9fKSB8fCBkZWZpbmVkKFNQQVJDKSB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19wcGM2NF9fKSkKLS0jZGVmaW5lIE1VUl9USFJFRV9PTkUocCkgKCgoKCpXUChwKSkmMHgwMGZmZmZmZikgPDwgOCkgfCAoKCgqKFdQKHApKzEpKSYweGZmMDAwMDAwKSA+PiAyNCkpCi0tI2RlZmluZSBNVVJfVFdPX1RXTyhwKSAgICgoKCgqV1AocCkpJjB4MDAwMGZmZmYpIDw8MTYpIHwgKCgoKihXUChwKSsxKSkmMHhmZmZmMDAwMCkgPj4gMTYpKQotLSNkZWZpbmUgTVVSX09ORV9USFJFRShwKSAoKCgoKldQKHApKSYweDAwMDAwMGZmKSA8PDI0KSB8ICgoKCooV1AocCkrMSkpJjB4ZmZmZmZmMDApID4+ICA4KSkKLS0jZWxzZSAvKiBhc3N1bWUgbGl0dGxlIGVuZGlhbiBub24taW50ZWwgKi8KLS0jZGVmaW5lIE1VUl9USFJFRV9PTkUocCkgKCgoKCpXUChwKSkmMHhmZmZmZmYwMCkgPj4gOCkgfCAoKCgqKFdQKHApKzEpKSYweDAwMDAwMGZmKSA8PCAyNCkpCi0tI2RlZmluZSBNVVJfVFdPX1RXTyhwKSAgICgoKCgqV1AocCkpJjB4ZmZmZjAwMDApID4+MTYpIHwgKCgoKihXUChwKSsxKSkmMHgwMDAwZmZmZikgPDwgMTYpKQotLSNkZWZpbmUgTVVSX09ORV9USFJFRShwKSAoKCgoKldQKHApKSYweGZmMDAwMDAwKSA+PjI0KSB8ICgoKCooV1AocCkrMSkpJjB4MDBmZmZmZmYpIDw8ICA4KSkKLS0jZW5kaWYKLS0jZGVmaW5lIE1VUl9HRVRCTE9DSyhwLGkpIChNVVJfUExVUzBfQUxJR05FRChwKSA/ICgocClbaV0pIDogICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1VUl9QTFVTMV9BTElHTkVEKHApID8gTVVSX1RIUkVFX09ORShwKSA6IFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChNVVJfUExVUzJfQUxJR05FRChwKSA/IE1VUl9UV09fVFdPKHApIDogIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVVJfT05FX1RIUkVFKHApKSkpCi0tI2VuZGlmCi0tI2RlZmluZSBNVVJfUk9UTDMyKHgscikgKCgoeCkgPDwgKHIpKSB8ICgoeCkgPj4gKDMyIC0gKHIpKSkpCi0tI2RlZmluZSBNVVJfRk1JWChfaCkgXAotLWRvIHsgICAgICAgICAgICAgICAgIFwKLS0gIF9oIF49IF9oID4+IDE2OyAgICBcCi0tICBfaCAqPSAweDg1ZWJjYTZiOyAgXAotLSAgX2ggXj0gX2ggPj4gMTM7ICAgIFwKLS0gIF9oICo9IDB4YzJiMmFlMzVsOyBcCi0tICBfaCBePSBfaCA+PiAxNjsgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfTVVSKGtleSxrZXlsZW4sbnVtX2JrdHMsaGFzaHYsYmt0KSAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQ4X3QgKl9tdXJfZGF0YSA9IChjb25zdCB1aW50OF90Kikoa2V5KTsgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IGludCBfbXVyX25ibG9ja3MgPSAoa2V5bGVuKSAvIDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfaDEgPSAweGY4OEQ1MzUzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfYzEgPSAweGNjOWUyZDUxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfYzIgPSAweDFiODczNTkzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHVpbnQzMl90IF9tdXJfazEgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQ4X3QgKl9tdXJfdGFpbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGNvbnN0IHVpbnQzMl90ICpfbXVyX2Jsb2NrcyA9IChjb25zdCB1aW50MzJfdCopKF9tdXJfZGF0YStfbXVyX25ibG9ja3MqNCk7IFwKLS0gIGludCBfbXVyX2k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGZvcihfbXVyX2kgPSAtX211cl9uYmxvY2tzOyBfbXVyX2k7IF9tdXJfaSsrKSB7ICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9HRVRCTE9DSyhfbXVyX2Jsb2NrcyxfbXVyX2kpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9ST1RMMzIoX211cl9rMSwxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSBePSBfbXVyX2sxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSA9IE1VUl9ST1RMMzIoX211cl9oMSwxMyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSA9IF9tdXJfaDEqNSsweGU2NTQ2YjY0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9tdXJfdGFpbCA9IChjb25zdCB1aW50OF90KikoX211cl9kYXRhICsgX211cl9uYmxvY2tzKjQpOyAgICAgICAgICAgIFwKLS0gIF9tdXJfazE9MDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHN3aXRjaCgoa2V5bGVuKSAmIDMpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAzOiBfbXVyX2sxIF49IF9tdXJfdGFpbFsyXSA8PCAxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAyOiBfbXVyX2sxIF49IF9tdXJfdGFpbFsxXSA8PCA4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSAxOiBfbXVyX2sxIF49IF9tdXJfdGFpbFswXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSA9IE1VUl9ST1RMMzIoX211cl9rMSwxNSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9rMSAqPSBfbXVyX2MyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX211cl9oMSBePSBfbXVyX2sxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIF9tdXJfaDEgXj0gKGtleWxlbik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIE1VUl9GTUlYKF9tdXJfaDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGhhc2h2ID0gX211cl9oMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIGJrdCA9IGhhc2h2ICYgKG51bV9ia3RzLTEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlKDApCi0tI2VuZGlmICAvKiBIQVNIX1VTSU5HX05PX1NUUklDVF9BTElBU0lORyAqLwotLQotLS8qIGtleSBjb21wYXJpc29uIGZ1bmN0aW9uOyByZXR1cm4gMCBpZiBrZXlzIGVxdWFsICovCi0tI2RlZmluZSBIQVNIX0tFWUNNUChhLGIsbGVuKSBtZW1jbXAoYSxiLGxlbikgCi0tCi0tLyogaXRlcmF0ZSBvdmVyIGl0ZW1zIGluIGEga25vd24gYnVja2V0IHRvIGZpbmQgZGVzaXJlZCBpdGVtICovCi0tI2RlZmluZSBIQVNIX0ZJTkRfSU5fQktUKHRibCxoaCxoZWFkLGtleXB0cixrZXlsZW5faW4sb3V0KSAgICAgICAgICAgICAgICAgICAgICAgXAotLWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gaWYgKGhlYWQuaGhfaGVhZCkgREVDTFRZUEVfQVNTSUdOKG91dCxFTE1UX0ZST01fSEgodGJsLGhlYWQuaGhfaGVhZCkpOyAgICAgICAgICBcCi0tIGVsc2Ugb3V0PU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB3aGlsZSAob3V0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKChvdXQpLT5oaC5rZXlsZW4gPT0ga2V5bGVuX2luKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIGlmICgoSEFTSF9LRVlDTVAoKG91dCktPmhoLmtleSxrZXlwdHIsa2V5bGVuX2luKSkgPT0gMCkgYnJlYWs7ICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGlmICgob3V0KS0+aGguaGhfbmV4dCkgREVDTFRZUEVfQVNTSUdOKG91dCxFTE1UX0ZST01fSEgodGJsLChvdXQpLT5oaC5oaF9uZXh0KSk7IFwKLS0gICAgZWxzZSBvdXQgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiBhZGQgYW4gaXRlbSB0byBhIGJ1Y2tldCAgKi8KLS0jZGVmaW5lIEhBU0hfQUREX1RPX0JLVChoZWFkLGFkZGhoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBoZWFkLmNvdW50Kys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGFkZGhoKS0+aGhfbmV4dCA9IGhlYWQuaGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChhZGRoaCktPmhoX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSBpZiAoaGVhZC5oaF9oZWFkKSB7IChoZWFkKS5oaF9oZWFkLT5oaF9wcmV2ID0gKGFkZGhoKTsgfSAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gKGhlYWQpLmhoX2hlYWQ9YWRkaGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIGlmIChoZWFkLmNvdW50ID49ICgoaGVhZC5leHBhbmRfbXVsdCsxKSAqIEhBU0hfQktUX0NBUEFDSVRZX1RIUkVTSCkgICAgICAgICAgICAgXAotLSAgICAgJiYgKGFkZGhoKS0+dGJsLT5ub2V4cGFuZCAhPSAxKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgSEFTSF9FWFBBTkRfQlVDS0VUUygoYWRkaGgpLT50YmwpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0vKiByZW1vdmUgYW4gaXRlbSBmcm9tIGEgZ2l2ZW4gYnVja2V0ICovCi0tI2RlZmluZSBIQVNIX0RFTF9JTl9CS1QoaGgsaGVhZCxoaF9kZWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAoaGVhZCkuY291bnQtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKChoZWFkKS5oaF9oZWFkID09IGhoX2RlbCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgKGhlYWQpLmhoX2hlYWQgPSBoaF9kZWwtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKGhoX2RlbC0+aGhfcHJldikgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoaF9kZWwtPmhoX3ByZXYtPmhoX25leHQgPSBoaF9kZWwtPmhoX25leHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYgKGhoX2RlbC0+aGhfbmV4dCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBoaF9kZWwtPmhoX25leHQtPmhoX3ByZXYgPSBoaF9kZWwtPmhoX3ByZXY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAotLQotLS8qIEJ1Y2tldCBleHBhbnNpb24gaGFzIHRoZSBlZmZlY3Qgb2YgZG91YmxpbmcgdGhlIG51bWJlciBvZiBidWNrZXRzCi0tICogYW5kIHJlZGlzdHJpYnV0aW5nIHRoZSBpdGVtcyBpbnRvIHRoZSBuZXcgYnVja2V0cy4gSWRlYWxseSB0aGUKLS0gKiBpdGVtcyB3aWxsIGRpc3RyaWJ1dGUgbW9yZSBvciBsZXNzIGV2ZW5seSBpbnRvIHRoZSBuZXcgYnVja2V0cwotLSAqICh0aGUgZXh0ZW50IHRvIHdoaWNoIHRoaXMgaXMgdHJ1ZSBpcyBhIG1lYXN1cmUgb2YgdGhlIHF1YWxpdHkgb2YKLS0gKiB0aGUgaGFzaCBmdW5jdGlvbiBhcyBpdCBhcHBsaWVzIHRvIHRoZSBrZXkgZG9tYWluKS4gCi0tICogCi0tICogV2l0aCB0aGUgaXRlbXMgZGlzdHJpYnV0ZWQgaW50byBtb3JlIGJ1Y2tldHMsIHRoZSBjaGFpbiBsZW5ndGgKLS0gKiAoaXRlbSBjb3VudCkgaW4gZWFjaCBidWNrZXQgaXMgcmVkdWNlZC4gVGh1cyBieSBleHBhbmRpbmcgYnVja2V0cwotLSAqIHRoZSBoYXNoIGtlZXBzIGEgYm91bmQgb24gdGhlIGNoYWluIGxlbmd0aC4gVGhpcyBib3VuZGVkIGNoYWluIAotLSAqIGxlbmd0aCBpcyB0aGUgZXNzZW5jZSBvZiBob3cgYSBoYXNoIHByb3ZpZGVzIGNvbnN0YW50IHRpbWUgbG9va3VwLgotLSAqIAotLSAqIFRoZSBjYWxjdWxhdGlvbiBvZiB0YmwtPmlkZWFsX2NoYWluX21heGxlbiBiZWxvdyBkZXNlcnZlcyBzb21lCi0tICogZXhwbGFuYXRpb24uIEZpcnN0LCBrZWVwIGluIG1pbmQgdGhhdCB3ZSdyZSBjYWxjdWxhdGluZyB0aGUgaWRlYWwKLS0gKiBtYXhpbXVtIGNoYWluIGxlbmd0aCBiYXNlZCBvbiB0aGUgKm5ldyogKGRvdWJsZWQpIGJ1Y2tldCBjb3VudC4KLS0gKiBJbiBmcmFjdGlvbnMgdGhpcyBpcyBqdXN0IG4vYiAobj1udW1iZXIgb2YgaXRlbXMsYj1uZXcgbnVtIGJ1Y2tldHMpLgotLSAqIFNpbmNlIHRoZSBpZGVhbCBjaGFpbiBsZW5ndGggaXMgYW4gaW50ZWdlciwgd2Ugd2FudCB0byBjYWxjdWxhdGUgCi0tICogY2VpbChuL2IpLiBXZSBkb24ndCBkZXBlbmQgb24gZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBpbiB0aGlzCi0tICogaGFzaCwgc28gdG8gY2FsY3VsYXRlIGNlaWwobi9iKSB3aXRoIGludGVnZXJzIHdlIGNvdWxkIHdyaXRlCi0tICogCi0tICogICAgICBjZWlsKG4vYikgPSAobi9iKSArICgobiViKT8xOjApCi0tICogCi0tICogYW5kIGluIGZhY3QgYSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoaXMgaGFzaCBkaWQganVzdCB0aGF0LgotLSAqIEJ1dCBub3cgd2UgaGF2ZSBpbXByb3ZlZCB0aGluZ3MgYSBiaXQgYnkgcmVjb2duaXppbmcgdGhhdCBiIGlzCi0tICogYWx3YXlzIGEgcG93ZXIgb2YgdHdvLiBXZSBrZWVwIGl0cyBiYXNlIDIgbG9nIGhhbmR5IChjYWxsIGl0IGxiKSwKLS0gKiBzbyBub3cgd2UgY2FuIHdyaXRlIHRoaXMgd2l0aCBhIGJpdCBzaGlmdCBhbmQgbG9naWNhbCBBTkQ6Ci0tICogCi0tICogICAgICBjZWlsKG4vYikgPSAobj4+bGIpICsgKCAobiAmIChiLTEpKSA/IDE6MCkKLS0gKiAKLS0gKi8KLS0jZGVmaW5lIEhBU0hfRVhQQU5EX0JVQ0tFVFModGJsKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1bnNpZ25lZCBfaGVfYmt0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdW5zaWduZWQgX2hlX2JrdF9pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hlX3RoaCwgKl9oZV9oaF9ueHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBVVF9oYXNoX2J1Y2tldCAqX2hlX25ld19idWNrZXRzLCAqX2hlX25ld2JrdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgX2hlX25ld19idWNrZXRzID0gKFVUX2hhc2hfYnVja2V0Kil1dGhhc2hfbWFsbG9jKCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgIDIgKiB0YmwtPm51bV9idWNrZXRzICogc2l6ZW9mKHN0cnVjdCBVVF9oYXNoX2J1Y2tldCkpOyAgICAgICAgICAgICAgXAotLSAgICBpZiAoIV9oZV9uZXdfYnVja2V0cykgeyB1dGhhc2hfZmF0YWwoICJvdXQgb2YgbWVtb3J5Iik7IH0gICAgICAgICAgICAgICAgICAgIFwKLS0gICAgbWVtc2V0KF9oZV9uZXdfYnVja2V0cywgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgMiAqIHRibC0+bnVtX2J1Y2tldHMgKiBzaXplb2Yoc3RydWN0IFVUX2hhc2hfYnVja2V0KSk7ICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPmlkZWFsX2NoYWluX21heGxlbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgKHRibC0+bnVtX2l0ZW1zID4+ICh0YmwtPmxvZzJfbnVtX2J1Y2tldHMrMSkpICsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICgodGJsLT5udW1faXRlbXMgJiAoKHRibC0+bnVtX2J1Y2tldHMqMiktMSkpID8gMSA6IDApOyAgICAgICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPm5vbmlkZWFsX2l0ZW1zID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgZm9yKF9oZV9ia3RfaSA9IDA7IF9oZV9ia3RfaSA8IHRibC0+bnVtX2J1Y2tldHM7IF9oZV9ia3RfaSsrKSAgICAgICAgICAgICAgICBcCi0tICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgX2hlX3RoaCA9IHRibC0+YnVja2V0c1sgX2hlX2JrdF9pIF0uaGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHdoaWxlIChfaGVfdGhoKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfaGhfbnh0ID0gX2hlX3RoaC0+aGhfbmV4dDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgSEFTSF9UT19CS1QoIF9oZV90aGgtPmhhc2h2LCB0YmwtPm51bV9idWNrZXRzKjIsIF9oZV9ia3QpOyAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9oZV9uZXdia3QgPSAmKF9oZV9uZXdfYnVja2V0c1sgX2hlX2JrdCBdKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBpZiAoKysoX2hlX25ld2JrdC0+Y291bnQpID4gdGJsLT5pZGVhbF9jaGFpbl9tYXhsZW4pIHsgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICB0YmwtPm5vbmlkZWFsX2l0ZW1zKys7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgX2hlX25ld2JrdC0+ZXhwYW5kX211bHQgPSBfaGVfbmV3Ymt0LT5jb3VudCAvICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRibC0+aWRlYWxfY2hhaW5fbWF4bGVuOyAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgIF9oZV90aGgtPmhoX3ByZXYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfdGhoLT5oaF9uZXh0ID0gX2hlX25ld2JrdC0+aGhfaGVhZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgaWYgKF9oZV9uZXdia3QtPmhoX2hlYWQpIF9oZV9uZXdia3QtPmhoX2hlYWQtPmhoX3ByZXYgPSAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgX2hlX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICBfaGVfbmV3Ymt0LT5oaF9oZWFkID0gX2hlX3RoaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgX2hlX3RoaCA9IF9oZV9oaF9ueHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSggdGJsLT5idWNrZXRzLCB0YmwtPm51bV9idWNrZXRzKnNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpICk7IFwKLS0gICAgdGJsLT5udW1fYnVja2V0cyAqPSAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIHRibC0+bG9nMl9udW1fYnVja2V0cysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB0YmwtPmJ1Y2tldHMgPSBfaGVfbmV3X2J1Y2tldHM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdGJsLT5pbmVmZl9leHBhbmRzID0gKHRibC0+bm9uaWRlYWxfaXRlbXMgPiAodGJsLT5udW1faXRlbXMgPj4gMSkpID8gICAgICAgICBcCi0tICAgICAgICAodGJsLT5pbmVmZl9leHBhbmRzKzEpIDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICBpZiAodGJsLT5pbmVmZl9leHBhbmRzID4gMSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHRibC0+bm9leHBhbmQ9MTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICB1dGhhc2hfbm9leHBhbmRfZnlpKHRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgdXRoYXNoX2V4cGFuZF9meWkodGJsKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tfSB3aGlsZSgwKQotLQotLQotLS8qIFRoaXMgaXMgYW4gYWRhcHRhdGlvbiBvZiBTaW1vbiBUYXRoYW0ncyBPKG4gbG9nKG4pKSBtZXJnZXNvcnQgKi8KLS0vKiBOb3RlIHRoYXQgSEFTSF9TT1JUIGFzc3VtZXMgdGhlIGhhc2ggaGFuZGxlIG5hbWUgdG8gYmUgaGguIAotLSAqIEhBU0hfU1JUIHdhcyBhZGRlZCB0byBhbGxvdyB0aGUgaGFzaCBoYW5kbGUgbmFtZSB0byBiZSBwYXNzZWQgaW4uICovCi0tI2RlZmluZSBIQVNIX1NPUlQoaGVhZCxjbXBmY24pIEhBU0hfU1JUKGhoLGhlYWQsY21wZmNuKQotLSNkZWZpbmUgSEFTSF9TUlQoaGgsaGVhZCxjbXBmY24pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB1bnNpZ25lZCBfaHNfaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX2hzX2xvb3BpbmcsX2hzX25tZXJnZXMsX2hzX2luc2l6ZSxfaHNfcHNpemUsX2hzX3FzaXplOyAgICAgICAgICAgICAgIFwKLS0gIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqX2hzX3AsICpfaHNfcSwgKl9oc19lLCAqX2hzX2xpc3QsICpfaHNfdGFpbDsgICAgICAgICAgICBcCi0tICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIF9oc19pbnNpemUgPSAxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICBfaHNfbG9vcGluZyA9IDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgX2hzX2xpc3QgPSAmKChoZWFkKS0+aGgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIHdoaWxlIChfaHNfbG9vcGluZykgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX3AgPSBfaHNfbGlzdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9oc19saXN0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfaHNfdGFpbCA9IE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX2hzX25tZXJnZXMgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIHdoaWxlIChfaHNfcCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgX2hzX25tZXJnZXMrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9oc19xID0gX2hzX3A7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcHNpemUgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgZm9yICggX2hzX2kgPSAwOyBfaHNfaSAgPCBfaHNfaW5zaXplOyBfaHNfaSsrICkgeyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICBfaHNfcHNpemUrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgX2hzX3EgPSAoVVRfaGFzaF9oYW5kbGUqKSgoX2hzX3EtPm5leHQpID8gICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkKikoKGNoYXIqKShfaHNfcS0+bmV4dCkgKyAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkKS0+aGgudGJsLT5oaG8pKSA6IE5VTEwpOyAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKCEgKF9oc19xKSApIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9oc19xc2l6ZSA9IF9oc19pbnNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICB3aGlsZSAoKF9oc19wc2l6ZSA+IDApIHx8ICgoX2hzX3FzaXplID4gMCkgJiYgX2hzX3EgKSkgeyAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIGlmIChfaHNfcHNpemUgPT0gMCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2UgPSBfaHNfcTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19xID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19xLT5uZXh0KSA/ICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopKChjaGFyKikoX2hzX3EtPm5leHQpICsgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKSkgOiBOVUxMKTsgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19xc2l6ZS0tOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIChfaHNfcXNpemUgPT0gMCkgfHwgIShfaHNfcSkgKSB7ICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX2UgPSBfaHNfcDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIGlmIChfaHNfcCl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgIF9oc19wID0gKFVUX2hhc2hfaGFuZGxlKikoKF9oc19wLT5uZXh0KSA/ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCopKChjaGFyKikoX2hzX3AtPm5leHQpICsgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaGVhZCktPmhoLnRibC0+aGhvKSkgOiBOVUxMKTsgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgX2hzX3BzaXplLS07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICgoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBjbXBmY24oREVDTFRZUEUoaGVhZCkoRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLF9oc19wKSksIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFQ0xUWVBFKGhlYWQpKEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCxfaHNfcSkpKSBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDw9IDApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfZSA9IF9oc19wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgaWYgKF9oc19wKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgX2hzX3AgPSAoVVRfaGFzaF9oYW5kbGUqKSgoX2hzX3AtPm5leHQpID8gICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19wLT5uZXh0KSArICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcHNpemUtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgIF9oc19lID0gX2hzX3E7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcSA9IChVVF9oYXNoX2hhbmRsZSopKChfaHNfcS0+bmV4dCkgPyAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQqKSgoY2hhciopKF9oc19xLT5uZXh0KSArICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPmhobykpIDogTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfcXNpemUtLTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKCBfaHNfdGFpbCApIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfdGFpbC0+bmV4dCA9ICgoX2hzX2UpID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgRUxNVF9GUk9NX0hIKChoZWFkKS0+aGgudGJsLF9oc19lKSA6IE5VTEwpOyAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgICAgICBfaHNfbGlzdCA9IF9oc19lOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgaWYgKF9oc19lKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIF9oc19lLT5wcmV2ID0gKChfaHNfdGFpbCkgPyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgICAgICBFTE1UX0ZST01fSEgoKGhlYWQpLT5oaC50YmwsX2hzX3RhaWwpIDogTlVMTCk7ICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgICAgIF9oc190YWlsID0gX2hzX2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfcCA9IF9oc19xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKF9oc190YWlsKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2hzX3RhaWwtPm5leHQgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKCBfaHNfbm1lcmdlcyA8PSAxICkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBfaHNfbG9vcGluZz0wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPnRhaWwgPSBfaHNfdGFpbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIERFQ0xUWVBFX0FTU0lHTihoZWFkLEVMTVRfRlJPTV9ISCgoaGVhZCktPmhoLnRibCwgX2hzX2xpc3QpKTsgICAgICBcCi0tICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfaHNfaW5zaXplICo9IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgSEFTSF9GU0NLKGhoLGhlYWQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLS8qIFRoaXMgZnVuY3Rpb24gc2VsZWN0cyBpdGVtcyBmcm9tIG9uZSBoYXNoIGludG8gYW5vdGhlciBoYXNoLiAKLS0gKiBUaGUgZW5kIHJlc3VsdCBpcyB0aGF0IHRoZSBzZWxlY3RlZCBpdGVtcyBoYXZlIGR1YWwgcHJlc2VuY2UgCi0tICogaW4gYm90aCBoYXNoZXMuIFRoZXJlIGlzIG5vIGNvcHkgb2YgdGhlIGl0ZW1zIG1hZGU7IHJhdGhlciAKLS0gKiB0aGV5IGFyZSBhZGRlZCBpbnRvIHRoZSBuZXcgaGFzaCB0aHJvdWdoIGEgc2Vjb25kYXJ5IGhhc2ggCi0tICogaGFzaCBoYW5kbGUgdGhhdCBtdXN0IGJlIHByZXNlbnQgaW4gdGhlIHN0cnVjdHVyZS4gKi8KLS0jZGVmaW5lIEhBU0hfU0VMRUNUKGhoX2RzdCwgZHN0LCBoaF9zcmMsIHNyYywgY29uZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgdW5zaWduZWQgX3NyY19ia3QsIF9kc3RfYmt0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gIHZvaWQgKl9sYXN0X2VsdD1OVUxMLCAqX2VsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBVVF9oYXNoX2hhbmRsZSAqX3NyY19oaCwgKl9kc3RfaGgsICpfbGFzdF9lbHRfaGg9TlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgcHRyZGlmZl90IF9kc3RfaGhvID0gKChjaGFyKikoJihkc3QpLT5oaF9kc3QpIC0gKGNoYXIqKShkc3QpKTsgICAgICAgICAgICAgICAgIFwKLS0gIGlmIChzcmMpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgIGZvcihfc3JjX2JrdD0wOyBfc3JjX2JrdCA8IChzcmMpLT5oaF9zcmMudGJsLT5udW1fYnVja2V0czsgX3NyY19ia3QrKykgeyAgICAgXAotLSAgICAgIGZvcihfc3JjX2hoID0gKHNyYyktPmhoX3NyYy50YmwtPmJ1Y2tldHNbX3NyY19ia3RdLmhoX2hlYWQ7ICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgX3NyY19oaDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIF9zcmNfaGggPSBfc3JjX2hoLT5oaF9uZXh0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICBfZWx0ID0gRUxNVF9GUk9NX0hIKChzcmMpLT5oaF9zcmMudGJsLCBfc3JjX2hoKTsgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgaWYgKGNvbmQoX2VsdCkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaCA9IChVVF9oYXNoX2hhbmRsZSopKCgoY2hhciopX2VsdCkgKyBfZHN0X2hobyk7ICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGgtPmtleSA9IF9zcmNfaGgtPmtleTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5rZXlsZW4gPSBfc3JjX2hoLT5rZXlsZW47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgX2RzdF9oaC0+aGFzaHYgPSBfc3JjX2hoLT5oYXNodjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9kc3RfaGgtPnByZXYgPSBfbGFzdF9lbHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfZHN0X2hoLT5uZXh0ID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgaWYgKF9sYXN0X2VsdF9oaCkgeyBfbGFzdF9lbHRfaGgtPm5leHQgPSBfZWx0OyB9ICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGlmICghZHN0KSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIERFQ0xUWVBFX0FTU0lHTihkc3QsX2VsdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgICBIQVNIX01BS0VfVEFCTEUoaGhfZHN0LGRzdCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgIF9kc3RfaGgtPnRibCA9IChkc3QpLT5oaF9kc3QudGJsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIEhBU0hfVE9fQktUKF9kc3RfaGgtPmhhc2h2LCBfZHN0X2hoLT50YmwtPm51bV9idWNrZXRzLCBfZHN0X2JrdCk7ICAgIFwKLS0gICAgICAgICAgICBIQVNIX0FERF9UT19CS1QoX2RzdF9oaC0+dGJsLT5idWNrZXRzW19kc3RfYmt0XSxfZHN0X2hoKTsgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKGRzdCktPmhoX2RzdC50YmwtPm51bV9pdGVtcysrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIF9sYXN0X2VsdCA9IF9lbHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICBfbGFzdF9lbHRfaGggPSBfZHN0X2hoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgSEFTSF9GU0NLKGhoX2RzdCxkc3QpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS19IHdoaWxlICgwKQotLQotLSNkZWZpbmUgSEFTSF9DTEVBUihoaCxoZWFkKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1kbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICBpZiAoaGVhZCkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibC0+YnVja2V0cywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAgICAgKGhlYWQpLT5oaC50YmwtPm51bV9idWNrZXRzKnNpemVvZihzdHJ1Y3QgVVRfaGFzaF9idWNrZXQpKTsgICAgICBcCi0tICAgIEhBU0hfQkxPT01fRlJFRSgoaGVhZCktPmhoLnRibCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICB1dGhhc2hfZnJlZSgoaGVhZCktPmhoLnRibCwgc2l6ZW9mKFVUX2hhc2hfdGFibGUpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgKGhlYWQpPU5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLX0gd2hpbGUoMCkKLS0KLS0jZGVmaW5lIEhBU0hfT1ZFUkhFQUQoaGgsaGVhZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0tIChzaXplX3QpKCgoKGhlYWQpLT5oaC50YmwtPm51bV9pdGVtcyAgICogc2l6ZW9mKFVUX2hhc2hfaGFuZGxlKSkgICArICAgICAgICAgICAgXAotLSAgICAgICAgICAgKChoZWFkKS0+aGgudGJsLT5udW1fYnVja2V0cyAqIHNpemVvZihVVF9oYXNoX2J1Y2tldCkpICAgKyAgICAgICAgICAgIFwKLS0gICAgICAgICAgICAoc2l6ZW9mKFVUX2hhc2hfdGFibGUpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgICAgICAgICAgICBcCi0tICAgICAgICAgICAgKEhBU0hfQkxPT01fQllURUxFTikpKQotLQotLSNpZmRlZiBOT19ERUNMVFlQRQotLSNkZWZpbmUgSEFTSF9JVEVSKGhoLGhlYWQsZWwsdG1wKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS1mb3IoKGVsKT0oaGVhZCksICgqKGNoYXIqKikoJih0bXApKSk9KGNoYXIqKSgoaGVhZCk/KGhlYWQpLT5oaC5uZXh0Ok5VTEwpOyAgICAgICBcCi0tICBlbDsgKGVsKT0odG1wKSwoKihjaGFyKiopKCYodG1wKSkpPShjaGFyKikoKHRtcCk/KHRtcCktPmhoLm5leHQ6TlVMTCkpIAotLSNlbHNlCi0tI2RlZmluZSBIQVNIX0lURVIoaGgsaGVhZCxlbCx0bXApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLWZvcigoZWwpPShoZWFkKSwodG1wKT1ERUNMVFlQRShlbCkoKGhlYWQpPyhoZWFkKS0+aGgubmV4dDpOVUxMKTsgICAgICAgICAgICAgICAgIFwKLS0gIGVsOyAoZWwpPSh0bXApLCh0bXApPURFQ0xUWVBFKGVsKSgodG1wKT8odG1wKS0+aGgubmV4dDpOVUxMKSkKLS0jZW5kaWYKLS0KLS0vKiBvYnRhaW4gYSBjb3VudCBvZiBpdGVtcyBpbiB0aGUgaGFzaCAqLwotLSNkZWZpbmUgSEFTSF9DT1VOVChoZWFkKSBIQVNIX0NOVChoaCxoZWFkKSAKLS0jZGVmaW5lIEhBU0hfQ05UKGhoLGhlYWQpICgoaGVhZCk/KChoZWFkKS0+aGgudGJsLT5udW1faXRlbXMpOjApCi0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF9idWNrZXQgewotLSAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqaGhfaGVhZDsKLS0gICB1bnNpZ25lZCBjb3VudDsKLS0KLS0gICAvKiBleHBhbmRfbXVsdCBpcyBub3JtYWxseSBzZXQgdG8gMC4gSW4gdGhpcyBzaXR1YXRpb24sIHRoZSBtYXggY2hhaW4gbGVuZ3RoCi0tICAgICogdGhyZXNob2xkIGlzIGVuZm9yY2VkIGF0IGl0cyBkZWZhdWx0IHZhbHVlLCBIQVNIX0JLVF9DQVBBQ0lUWV9USFJFU0guIChJZgotLSAgICAqIHRoZSBidWNrZXQncyBjaGFpbiBleGNlZWRzIHRoaXMgbGVuZ3RoLCBidWNrZXQgZXhwYW5zaW9uIGlzIHRyaWdnZXJlZCkuIAotLSAgICAqIEhvd2V2ZXIsIHNldHRpbmcgZXhwYW5kX211bHQgdG8gYSBub24temVybyB2YWx1ZSBkZWxheXMgYnVja2V0IGV4cGFuc2lvbgotLSAgICAqICh0aGF0IHdvdWxkIGJlIHRyaWdnZXJlZCBieSBhZGRpdGlvbnMgdG8gdGhpcyBwYXJ0aWN1bGFyIGJ1Y2tldCkKLS0gICAgKiB1bnRpbCBpdHMgY2hhaW4gbGVuZ3RoIHJlYWNoZXMgYSAqbXVsdGlwbGUqIG9mIEhBU0hfQktUX0NBUEFDSVRZX1RIUkVTSC4KLS0gICAgKiAoVGhlIG11bHRpcGxpZXIgaXMgc2ltcGx5IGV4cGFuZF9tdWx0KzEpLiBUaGUgd2hvbGUgaWRlYSBvZiB0aGlzCi0tICAgICogbXVsdGlwbGllciBpcyB0byByZWR1Y2UgYnVja2V0IGV4cGFuc2lvbnMsIHNpbmNlIHRoZXkgYXJlIGV4cGVuc2l2ZSwgaW4KLS0gICAgKiBzaXR1YXRpb25zIHdoZXJlIHdlIGtub3cgdGhhdCBhIHBhcnRpY3VsYXIgYnVja2V0IHRlbmRzIHRvIGJlIG92ZXJ1c2VkLgotLSAgICAqIEl0IGlzIGJldHRlciB0byBsZXQgaXRzIGNoYWluIGxlbmd0aCBncm93IHRvIGEgbG9uZ2VyIHlldC1zdGlsbC1ib3VuZGVkCi0tICAgICogdmFsdWUsIHRoYW4gdG8gZG8gYW4gTyhuKSBidWNrZXQgZXhwYW5zaW9uIHRvbyBvZnRlbi4gCi0tICAgICovCi0tICAgdW5zaWduZWQgZXhwYW5kX211bHQ7Ci0tCi0tfSBVVF9oYXNoX2J1Y2tldDsKLS0KLS0vKiByYW5kb20gc2lnbmF0dXJlIHVzZWQgb25seSB0byBmaW5kIGhhc2ggdGFibGVzIGluIGV4dGVybmFsIGFuYWx5c2lzICovCi0tI2RlZmluZSBIQVNIX1NJR05BVFVSRSAweGEwMTExZmUxCi0tI2RlZmluZSBIQVNIX0JMT09NX1NJR05BVFVSRSAweGIxMjIyMGYyCi0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF90YWJsZSB7Ci0tICAgVVRfaGFzaF9idWNrZXQgKmJ1Y2tldHM7Ci0tICAgdW5zaWduZWQgbnVtX2J1Y2tldHMsIGxvZzJfbnVtX2J1Y2tldHM7Ci0tICAgdW5zaWduZWQgbnVtX2l0ZW1zOwotLSAgIHN0cnVjdCBVVF9oYXNoX2hhbmRsZSAqdGFpbDsgLyogdGFpbCBoaCBpbiBhcHAgb3JkZXIsIGZvciBmYXN0IGFwcGVuZCAgICAqLwotLSAgIHB0cmRpZmZfdCBoaG87IC8qIGhhc2ggaGFuZGxlIG9mZnNldCAoYnl0ZSBwb3Mgb2YgaGFzaCBoYW5kbGUgaW4gZWxlbWVudCAqLwotLQotLSAgIC8qIGluIGFuIGlkZWFsIHNpdHVhdGlvbiAoYWxsIGJ1Y2tldHMgdXNlZCBlcXVhbGx5KSwgbm8gYnVja2V0IHdvdWxkIGhhdmUKLS0gICAgKiBtb3JlIHRoYW4gY2VpbCgjaXRlbXMvI2J1Y2tldHMpIGl0ZW1zLiB0aGF0J3MgdGhlIGlkZWFsIGNoYWluIGxlbmd0aC4gKi8KLS0gICB1bnNpZ25lZCBpZGVhbF9jaGFpbl9tYXhsZW47Ci0tCi0tICAgLyogbm9uaWRlYWxfaXRlbXMgaXMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgaGFzaCB3aG9zZSBjaGFpbiBwb3NpdGlvbgotLSAgICAqIGV4Y2VlZHMgdGhlIGlkZWFsIGNoYWluIG1heGxlbi4gdGhlc2UgaXRlbXMgcGF5IHRoZSBwZW5hbHR5IGZvciBhbiB1bmV2ZW4KLS0gICAgKiBoYXNoIGRpc3RyaWJ1dGlvbjsgcmVhY2hpbmcgdGhlbSBpbiBhIGNoYWluIHRyYXZlcnNhbCB0YWtlcyA+aWRlYWwgc3RlcHMgKi8KLS0gICB1bnNpZ25lZCBub25pZGVhbF9pdGVtczsKLS0KLS0gICAvKiBpbmVmZmVjdGl2ZSBleHBhbmRzIG9jY3VyIHdoZW4gYSBidWNrZXQgZG91Ymxpbmcgd2FzIHBlcmZvcm1lZCwgYnV0IAotLSAgICAqIGFmdGVyd2FyZCwgbW9yZSB0aGFuIGhhbGYgdGhlIGl0ZW1zIGluIHRoZSBoYXNoIGhhZCBub25pZGVhbCBjaGFpbgotLSAgICAqIHBvc2l0aW9ucy4gSWYgdGhpcyBoYXBwZW5zIG9uIHR3byBjb25zZWN1dGl2ZSBleHBhbnNpb25zIHdlIGluaGliaXQgYW55Ci0tICAgICogZnVydGhlciBleHBhbnNpb24sIGFzIGl0J3Mgbm90IGhlbHBpbmc7IHRoaXMgaGFwcGVucyB3aGVuIHRoZSBoYXNoCi0tICAgICogZnVuY3Rpb24gaXNuJ3QgYSBnb29kIGZpdCBmb3IgdGhlIGtleSBkb21haW4uIFdoZW4gZXhwYW5zaW9uIGlzIGluaGliaXRlZAotLSAgICAqIHRoZSBoYXNoIHdpbGwgc3RpbGwgd29yaywgYWxiZWl0IG5vIGxvbmdlciBpbiBjb25zdGFudCB0aW1lLiAqLwotLSAgIHVuc2lnbmVkIGluZWZmX2V4cGFuZHMsIG5vZXhwYW5kOwotLQotLSAgIHVpbnQzMl90IHNpZ25hdHVyZTsgLyogdXNlZCBvbmx5IHRvIGZpbmQgaGFzaCB0YWJsZXMgaW4gZXh0ZXJuYWwgYW5hbHlzaXMgKi8KLS0jaWZkZWYgSEFTSF9CTE9PTQotLSAgIHVpbnQzMl90IGJsb29tX3NpZzsgLyogdXNlZCBvbmx5IHRvIHRlc3QgYmxvb20gZXhpc3RzIGluIGV4dGVybmFsIGFuYWx5c2lzICovCi0tICAgdWludDhfdCAqYmxvb21fYnY7Ci0tICAgY2hhciBibG9vbV9uYml0czsKLS0jZW5kaWYKLS0KLS19IFVUX2hhc2hfdGFibGU7Ci0tCi0tdHlwZWRlZiBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgewotLSAgIHN0cnVjdCBVVF9oYXNoX3RhYmxlICp0Ymw7Ci0tICAgdm9pZCAqcHJldjsgICAgICAgICAgICAgICAgICAgICAgIC8qIHByZXYgZWxlbWVudCBpbiBhcHAgb3JkZXIgICAgICAqLwotLSAgIHZvaWQgKm5leHQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiBuZXh0IGVsZW1lbnQgaW4gYXBwIG9yZGVyICAgICAgKi8KLS0gICBzdHJ1Y3QgVVRfaGFzaF9oYW5kbGUgKmhoX3ByZXY7ICAgLyogcHJldmlvdXMgaGggaW4gYnVja2V0IG9yZGVyICAgICovCi0tICAgc3RydWN0IFVUX2hhc2hfaGFuZGxlICpoaF9uZXh0OyAgIC8qIG5leHQgaGggaW4gYnVja2V0IG9yZGVyICAgICAgICAqLwotLSAgIHZvaWQgKmtleTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBwdHIgdG8gZW5jbG9zaW5nIHN0cnVjdCdzIGtleSAgKi8KLS0gICB1bnNpZ25lZCBrZXlsZW47ICAgICAgICAgICAgICAgICAgLyogZW5jbG9zaW5nIHN0cnVjdCdzIGtleSBsZW4gICAgICovCi0tICAgdW5zaWduZWQgaGFzaHY7ICAgICAgICAgICAgICAgICAgIC8qIHJlc3VsdCBvZiBoYXNoLWZjbihrZXkpICAgICAgICAqLwotLX0gVVRfaGFzaF9oYW5kbGU7Ci0tCi0tI2VuZGlmIC8qIFVUSEFTSF9IICovCi0tLSAKLTIuMTUuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zcXVpdHRvL21vc3F1aXR0b18xLjUuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmMxZDY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuIHNvdXJjZSBNUVRUIHYzLjEvMy4xLjEgaW1wbGVtZW50aW9uIgotREVTQ1JJUFRJT04gPSAiTW9zcXVpdHRvIGlzIGFuIG9wZW4gc291cmNlIChFY2xpcHNlIGxpY2Vuc2VkKSBtZXNzYWdlIGJyb2tlciB0aGF0IGltcGxlbWVudHMgdGhlIE1RIFRlbGVtZXRyeSBUcmFuc3BvcnQgcHJvdG9jb2wgdmVyc2lvbiAzLjEgYW5kIDMuMS4xLiBNUVRUIHByb3ZpZGVzIGEgbGlnaHR3ZWlnaHQgbWV0aG9kIG9mIGNhcnJ5aW5nIG91dCBtZXNzYWdpbmcgdXNpbmcgYSBwdWJsaXNoL3N1YnNjcmliZSBtb2RlbC4gIgotSE9NRVBBR0UgPSAiaHR0cDovL21vc3F1aXR0by5vcmcvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIkVQTC0xLjAgfCBFREwtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTYyZGRjODQ2MTc5ZTkwOGRjMGM4ZWZlYzRhNDJlZjIwIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VkbC12MTA7bWQ1PWMwOWYxMjE5MzlmMDYzYWViNTIzNTk3MmJlOGM3MjJjIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VwbC12MTA7bWQ1PThkMzgzYzM3OWU5MWQyMGJhMThhNTJjM2U3ZDNhOTc5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL25vdGljZS5odG1sO21kNT1hMDBkNmY5YWI1NDJiZTdiYWJjMmQ4YjgwZDVkMmE0YyBcCi0iCi1ERVBFTkRTID0gInV0aGFzaCIKLQotU1JDX1VSSSA9ICJodHRwOi8vbW9zcXVpdHRvLm9yZy9maWxlcy9zb3VyY2UvbW9zcXVpdHRvLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXV0aGFzaC1yZW1vdmUtaW4tdHJlZS12ZXJzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL21vc3F1aXR0by5pbml0IFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImY5OGM5OTk5OGEzNmEyMzRmM2E5ZDliNDAyYjk5MWRiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg1NTdiYzdhZTM0ZGZhZjMyYTBmYjU2ZDI0OTFiN2E3ZjczMTI2OWM4ODMzNzIyNzIzMzAxMzUwMmRmNGQ1YjAiCi0KLWluaGVyaXQgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJzc2wgdXVpZCBcCi0gICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW2Rucy1zcnZdID0gIldJVEhfU1JWPXllcyxXSVRIX1NSVj1ubyxjLWFyZXMiCi1QQUNLQUdFQ09ORklHW3NzbF0gPSAiV0lUSF9UTFM9eWVzIFdJVEhfVExTX1BTSz15ZXMsV0lUSF9UTFM9bm8gV0lUSF9UTFNfUFNLPW5vLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW3V1aWRdID0gIldJVEhfVVVJRD15ZXMsV0lUSF9VVUlEPW5vLHV0aWwtbGludXgiCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIldJVEhfU1lTVEVNRD15ZXMsV0lUSF9TWVNURU1EPW5vLHN5c3RlbWQiCi1QQUNLQUdFQ09ORklHW3dlYnNvY2tldHNdID0gIldJVEhfV0VCU09DS0VUUz15ZXMsV0lUSF9XRUJTT0NLRVRTPW5vLGxpYndlYnNvY2tldHMiCi0KLUVYVFJBX09FTUFLRSA9ICIgXAotICAgIHByZWZpeD0ke3ByZWZpeH0gXAotICAgIG1hbmRpcj0ke21hbmRpcn0gXAotICAgIGxvY2FsZWRpcj0ke2xvY2FsZWRpcn0gXAotICAgICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAotICAgIFNUUklQPS9iaW4vdHJ1ZSBcCi0gICAgV0lUSF9ET0NTPW5vIFwKLSIKLQotZXhwb3J0IExJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VsaWInLCBUcnVlKS5yZXBsYWNlKCdsaWInLCAnJyl9IgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zZXJ2aWNlL3N5c3RlbWQvbW9zcXVpdHRvLnNlcnZpY2Uubm90aWZ5ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21vc3F1aXR0by5zZXJ2aWNlCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0bwotICAgIGluc3RhbGwgLW0gMDY0NCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYuZXhhbXBsZSBcCi0gICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0by9tb3NxdWl0dG8uY29uZgotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9zcXVpdHRvLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bwotICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKLSAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbW9zcXVpdHRvCi19Ci0KLVBBQ0tBR0VTICs9ICJsaWJtb3NxdWl0dG8xIGxpYm1vc3F1aXR0b3BwMSAke1BOfS1jbGllbnRzIgotCi1QQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1leGFtcGxlcyIKLQotRklMRVNfJHtQTn0gPSAiJHtzYmluZGlyfS9tb3NxdWl0dG8gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19wYXNzd2QgXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8gXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQgXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZSBcCi0iCi0KLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYiCi0KLUZJTEVTX2xpYm1vc3F1aXR0bzEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0by5zby4xIgotCi1GSUxFU19saWJtb3NxdWl0dG9wcDEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0b3BwLnNvLjEiCi0KLUZJTEVTXyR7UE59LWNsaWVudHMgPSAiJHtiaW5kaXJ9L21vc3F1aXR0b19wdWIgXAotICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vbW9zcXVpdHRvX3N1YiBcCi0iCi0KLUZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvLyouZXhhbXBsZSIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1vc3F1aXR0by5zZXJ2aWNlIgotCi1JTklUU0NSSVBUX05BTUUgPSAibW9zcXVpdHRvIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgMzAiCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1vc3F1aXR0byIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc3F1aXR0by9tb3NxdWl0dG9fMS41LjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzY4YjU5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NxdWl0dG8vbW9zcXVpdHRvXzEuNS44LmJiCkBAIC0wLDAgKzEsOTMgQEAKK1NVTU1BUlkgPSAiT3BlbiBzb3VyY2UgTVFUVCB2My4xLzMuMS4xIGltcGxlbWVudGlvbiIKK0RFU0NSSVBUSU9OID0gIk1vc3F1aXR0byBpcyBhbiBvcGVuIHNvdXJjZSAoRWNsaXBzZSBsaWNlbnNlZCkgbWVzc2FnZSBicm9rZXIgdGhhdCBpbXBsZW1lbnRzIHRoZSBNUSBUZWxlbWV0cnkgVHJhbnNwb3J0IHByb3RvY29sIHZlcnNpb24gMy4xIGFuZCAzLjEuMS4gTVFUVCBwcm92aWRlcyBhIGxpZ2h0d2VpZ2h0IG1ldGhvZCBvZiBjYXJyeWluZyBvdXQgbWVzc2FnaW5nIHVzaW5nIGEgcHVibGlzaC9zdWJzY3JpYmUgbW9kZWwuICIKK0hPTUVQQUdFID0gImh0dHA6Ly9tb3NxdWl0dG8ub3JnLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJFUEwtMS4wIHwgRURMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT02MmRkYzg0NjE3OWU5MDhkYzBjOGVmZWM0YTQyZWYyMCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZGwtdjEwO21kNT1jMDlmMTIxOTM5ZjA2M2FlYjUyMzU5NzJiZThjNzIyYyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lcGwtdjEwO21kNT04ZDM4M2MzNzllOTFkMjBiYTE4YTUyYzNlN2QzYTk3OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ub3RpY2UuaHRtbDttZDU9YTAwZDZmOWFiNTQyYmU3YmFiYzJkOGI4MGQ1ZDJhNGMgXAorIgorREVQRU5EUyA9ICJ1dGhhc2giCisKK1NSQ19VUkkgPSAiaHR0cDovL21vc3F1aXR0by5vcmcvZmlsZXMvc291cmNlL21vc3F1aXR0by0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbW9zcXVpdHRvLmluaXQgXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmJiY2NlYjMyZGIzNjU3ZDlkNDM2YTg0NDBhOWRiMWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzhkN2U3MGMzNzk0ZGMzYTFkNDg0YjRmMmY4ZDNhZGRlYmU5YzJkYTNmNWExY2ViZTU1N2Y3ZDEzYmViMGRhNCIKKworaW5oZXJpdCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHVzZXJhZGQKKworUEFDS0FHRUNPTkZJRyA/Pz0gInNzbCB1dWlkIFwKKyAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdbZG5zLXNydl0gPSAiV0lUSF9TUlY9eWVzLFdJVEhfU1JWPW5vLGMtYXJlcyIKK1BBQ0tBR0VDT05GSUdbc3NsXSA9ICJXSVRIX1RMUz15ZXMgV0lUSF9UTFNfUFNLPXllcyxXSVRIX1RMUz1ubyBXSVRIX1RMU19QU0s9bm8sb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbdXVpZF0gPSAiV0lUSF9VVUlEPXllcyxXSVRIX1VVSUQ9bm8sdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiV0lUSF9TWVNURU1EPXllcyxXSVRIX1NZU1RFTUQ9bm8sc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbd2Vic29ja2V0c10gPSAiV0lUSF9XRUJTT0NLRVRTPXllcyxXSVRIX1dFQlNPQ0tFVFM9bm8sbGlid2Vic29ja2V0cyIKKworRVhUUkFfT0VNQUtFID0gIiBcCisgICAgcHJlZml4PSR7cHJlZml4fSBcCisgICAgbWFuZGlyPSR7bWFuZGlyfSBcCisgICAgbG9jYWxlZGlyPSR7bG9jYWxlZGlyfSBcCisgICAgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBcCisgICAgU1RSSVA9L2Jpbi90cnVlIFwKKyAgICBXSVRIX0RPQ1M9bm8gXAorICAgIFdJVEhfQlVORExFRF9ERVBTPW5vIFwKKyIKKworZXhwb3J0IExJQl9TVUZGSVggPSAiJHtAZC5nZXRWYXIoJ2Jhc2VsaWInKS5yZXBsYWNlKCdsaWInLCAnJyl9IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zZXJ2aWNlL3N5c3RlbWQvbW9zcXVpdHRvLnNlcnZpY2Uubm90aWZ5ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL21vc3F1aXR0by5zZXJ2aWNlCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0bworICAgIGluc3RhbGwgLW0gMDY0NCAke0R9JHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYuZXhhbXBsZSBcCisgICAgICAgICAgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L21vc3F1aXR0by9tb3NxdWl0dG8uY29uZgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbW9zcXVpdHRvLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21vc3F1aXR0bworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBCQVNFX1NCSU5ESVJALCR7YmFzZV9zYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbW9zcXVpdHRvCit9CisKK1BBQ0tBR0VTICs9ICJsaWJtb3NxdWl0dG8xIGxpYm1vc3F1aXR0b3BwMSAke1BOfS1jbGllbnRzIgorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1leGFtcGxlcyIKKworRklMRVNfJHtQTn0gPSAiJHtzYmluZGlyfS9tb3NxdWl0dG8gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L21vc3F1aXR0b19wYXNzd2QgXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8gXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQgXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tb3NxdWl0dG8uc2VydmljZSBcCisiCisKK0NPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9tb3NxdWl0dG8vbW9zcXVpdHRvLmNvbmYiCisKK0ZJTEVTX2xpYm1vc3F1aXR0bzEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0by5zby4xIgorCitGSUxFU19saWJtb3NxdWl0dG9wcDEgPSAiJHtsaWJkaXJ9L2xpYm1vc3F1aXR0b3BwLnNvLjEiCisKK0ZJTEVTXyR7UE59LWNsaWVudHMgPSAiJHtiaW5kaXJ9L21vc3F1aXR0b19wdWIgXAorICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vbW9zcXVpdHRvX3N1YiBcCisiCisKK0ZJTEVTXyR7UE59LWV4YW1wbGVzID0gIiR7c3lzY29uZmRpcn0vbW9zcXVpdHRvLyouZXhhbXBsZSIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm1vc3F1aXR0by5zZXJ2aWNlIgorCitJTklUU0NSSVBUX05BTUUgPSAibW9zcXVpdHRvIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMgMzAiCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1zaGVsbCAvYmluL2ZhbHNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS11c2VyLWdyb3VwIG1vc3F1aXR0byIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjNDE1YmMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIDNmNGI2MzE5NzAxODM0MTgyMzA0YzQwNzkxMTk3ODBmNGFlNWI0OWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA3IE5vdiAyMDE4IDExOjMwOjQ0IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbmNsdWRlIG5ldC9ldGhlcm5ldC5oIGFuZCBsaW51eC9pZl9ldGhlci5oCi0KLVRoZXkgY29uZmxpY3Qgd2hlbiB1c2VkIHRvZ2V0aGVyIGVzcGVjaWFsbHkgd2l0aCBtdXNsCi1yZW1vdmluZyB0aGVtIHN0aWxsIGtlZXBzIGl0IHdvcmtpbmcgc28gaXQgc2VlbXMgdGhleSBhcmUgcmVkdW5kYW50Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMgICAgICAgICAgICAgIHwgMSAtCi0gc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oICAgICB8IDIgLS0KLSBzcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIHwgMiAtLQotIDMgZmlsZXMgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYyBiL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYwotaW5kZXggOTE2NGY5NS4uOTUzOGU1MCAxMDA2NDQKLS0tLSBhL3NoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYwotKysrIGIvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxsaW1pdHMuaD4KLSAjaW5jbHVkZSA8bGludXgvZmlsdGVyLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX3BhY2tldC5oPgotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotZGlmZiAtLWdpdCBhL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaCBiL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAotaW5kZXggZjdkMGMwMy4uZTFjODFmNSAxMDA2NDQKLS0tLSBhL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAotKysrIGIvc3JjL3BsYXRmb3JtL3dwYW4vbm0td3Bhbi11dGlscy5oCi1AQCAtMjAsOCArMjAsNiBAQAotICNpZm5kZWYgX19XUEFOX1VUSUxTX0hfXwotICNkZWZpbmUgX19XUEFOX1VUSUxTX0hfXwotIAotLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLS0KLSAjaW5jbHVkZSAibm0tZGJ1cy1pbnRlcmZhY2UuaCIKLSAjaW5jbHVkZSAicGxhdGZvcm0vbm0tbmV0bGluay5oIgotIAotZGlmZiAtLWdpdCBhL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmggYi9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oCi1pbmRleCBlNzk2YjcxLi5jMDFmZWY2IDEwMDY0NAotLS0tIGEvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAotKysrIGIvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAotQEAgLTIyLDggKzIyLDYgQEAKLSAjaWZuZGVmIF9fTkVUV09SS01BTkFHRVJfU0VUVElOR1NfQ09OTkVDVElPTl9IX18KLSAjZGVmaW5lIF9fTkVUV09SS01BTkFHRVJfU0VUVElOR1NfQ09OTkVDVElPTl9IX18KLSAKLS0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0tCi0gI2luY2x1ZGUgIm5tLWRidXMtb2JqZWN0LmgiCi0gI2luY2x1ZGUgIm5tLWNvbm5lY3Rpb24uaCIKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDEtRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAyYzAyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK0Zyb20gM2RjM2Q4ZTczYmM0MzBlYTRlOTNlMzNmN2IyYTRiM2UwZmYxNzVhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhYmxvIFNhYXZlZHJhIDxwc2FhdmVkcmFAaWdhbGlhLmNvbT4KK0RhdGU6IFR1ZSwgMTMgTWFyIDIwMTggMTc6MzY6MjAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4ZWQgY29uZmlndXJlLmFjOiBGaXggcGtnY29uZmlnIHN5c3Jvb3QgbG9jYXRpb25zCisKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOTY3ZWFjMC4uYjkxNDIxOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNTkyLDcgKzU5Miw3IEBAIGlmIHRlc3QgIiRoYXZlX2phbnNzb24iID0gInllcyI7IHRoZW4KKyAJQUNfREVGSU5FKFdJVEhfSkFOU1NPTiwgMSwgW0RlZmluZSBpZiBKQU5TU09OIGlzIGVuYWJsZWRdKQorIAorIAlBQ19DSEVDS19UT09MUyhSRUFERUxGLCBbZXUtcmVhZGVsZiByZWFkZWxmXSkKKy0JSkFOU1NPTl9MSUJESVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9bGliZGlyIGphbnNzb25gCisrCUpBTlNTT05fTElCRElSPSR7UEtHX0NPTkZJR19TWVNST09UX0RJUn1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1saWJkaXIgamFuc3NvbmAKKyAJSkFOU1NPTl9TT05BTUU9YCRSRUFERUxGIC1kICRKQU5TU09OX0xJQkRJUi9saWJqYW5zc29uLnNvIHxzZWQgLW4gJ3MvLipTT05BTUUuKlxbW1woW15dXSpcKV1dL1wxL3AnYAorIAorIAlpZiB0ZXN0ICIkSkFOU1NPTl9TT05BTUUiID0gIiI7IHRoZW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMS1zZC1sbGRwLmgtUmVtb3ZlLW5ldC1ldGhlcm5ldC5oLXNlZW1zLXRvLWJlLW92ZXItc3BlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWEwNzM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDE4ZjcxYzFiNDg3MzBiODYwMjgyNjUxN2YyYjViMDg4MjgzYWU5NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxNjo0ODowMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBzZC1sbGRwLmg6IFJlbW92ZSBuZXQvZXRoZXJuZXQuaCBzZWVtcyB0byBiZSBvdmVyIHNwZWNpZmllZAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgfCAxICsKLSBzcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmggICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYwotaW5kZXggMzFlMjQ0OC4uNzcyMWNjMiAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYwotQEAgLTMsNiArMyw3IEBACi0gI2luY2x1ZGUgIm5tLXNkLWFkYXB0LmgiCi0gCi0gI2luY2x1ZGUgPGFycGEvaW5ldC5oPgotKyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotIAotICNpbmNsdWRlICJzZC1sbGRwLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCi1pbmRleCAzZjM1ZWViLi42MWIwZTQ1IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmgKLUBAIC0xOCw3ICsxOCw3IEBACi0gKioqLwotIAotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsvLyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi0gI2luY2x1ZGUgInNkLWV2ZW50LmgiCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMi1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTgxZGQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApAQCAtMCwwICsxLDcxIEBACitGcm9tIDRmMDAwYTRhMTk5NzVkNmFiYTcxNDI3ZTY5M2NkMWVkMDgwYWJkYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxMTowODozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgY3JlYXRlIHNldHRpbmdzIHNldHRpbmdzL3Byb3BlcnR5IGRvY3VtZW50YXRpb24KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworSXQgd2FzIHRyaWVkIHRvIGdldCB0aGlzIHdvcmsgYnV0IGdpIC8gR2lyUmVwb3NpdG9yeSBjb3VsZCBub3QgYmUgZm91bmQgYnkKK3B5dGhvbi4gQW55d2F5IGl0IGlzIG5vdCBuZWNlc3NhcnkgZm9yIHVzIHRvIGhhdmUgdGhlIHNldHRpbmdzL3Byb3BlcnR5IGRvY3MuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5hbSAgfCAxMSAtLS0tLS0tLS0tLQorIGNvbmZpZ3VyZS5hYyB8ICA1IC0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IGIxODA0NjYuLjFhYjQ2NTggMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xMjk4LDkgKzEyOTgsNyBAQCBFWFRSQV9ESVNUICs9IFwKKyBpZiBIQVZFX0lOVFJPU1BFQ1RJT04KKyAKKyBsaWJubV9ub2luc3RfZGF0YSA9IFwKKy0JbGlibm0vbm0tcHJvcGVydHktZG9jcy54bWwgXAorIAlsaWJubS9ubS1zZXR0aW5ncy1kb2NzLW92ZXJyaWRlcy54bWwgXAorLQlsaWJubS9ubS1zZXR0aW5ncy1kb2NzLnhtbCBcCisgCWxpYm5tL25tLXNldHRpbmdzLWtleWZpbGUtZG9jcy54bWwgXAorIAlsaWJubS9ubS1zZXR0aW5ncy1pZmNmZy1yaC1kb2NzLnhtbAorIAorQEAgLTM5MzAsMTggKzM5MjgsOSBAQCAkKGNsaWVudHNfY29tbW9uX2xpYm5tY19iYXNlX2xhX09CSkVDVFMpOiAkKGxpYm5tX2xpYl9oX3B1Yl9ta2VudW1zKQorICQoY2xpZW50c19jb21tb25fbGlibm1jX2Jhc2VfbGFfT0JKRUNUUyk6IGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorIAorIGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oID0gY2xpZW50cy9jb21tb24vc2V0dGluZ3MtZG9jcy5oCistaWYgSEFWRV9JTlRST1NQRUNUSU9OCistJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCk6IGNsaWVudHMvY29tbW9uL3NldHRpbmdzLWRvY3MueHNsIGxpYm5tL25tLXByb3BlcnR5LWRvY3MueG1sIGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorLQkkKEFNX1ZfR0VOKSAkKFhTTFRQUk9DKSAtLW91dHB1dCAkQCAkPCAkKHdvcmQgMiwkXikKKy1ESVNUQ0xFQU5GSUxFUyArPSAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKQorLWNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3M6ICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpCistCSQoc3JjZGlyKS90b29scy9jaGVjay1zZXR0aW5ncy1kb2NzLnNoICIkKHNyY2RpcikiICIkKGJ1aWxkZGlyKSIgIiQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIgorLWNoZWNrX2xvY2FsICs9IGNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3MKKy1lbHNlCisgJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCk6ICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluIGNsaWVudHMvY29tbW9uLy5kaXJzdGFtcAorIAkkKEFNX1ZfR0VOKSBjcCAiJChzcmNkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluIiAiJChidWlsZGRpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkiCisgY2hlY2stbG9jYWwtc2V0dGluZ3MtZG9jczoKKy1lbmRpZgorIEVYVFJBX0RJU1QgKz0gXAorIAkkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSBcCisgCSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiOTE0MjE5Li44NzJjMjkyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xMjE1LDExICsxMjE1LDYgQEAgR1RLX0RPQ19DSEVDSygxLjApCisgIyBjaGVjayBpZiB3ZSBjYW4gYnVpbGQgc2V0dGluZyBwcm9wZXJ0eSBkb2N1bWVudGF0aW9uCisgYnVpbGRfZG9jcz1ubworIGlmIHRlc3QgLW4gIiRJTlRST1NQRUNUSU9OX01BS0VGSUxFIjsgdGhlbgorLQkjIElmIGctaSBpcyBpbnN0YWxsZWQgd2Uga25vdyB3ZSBoYXZlIHB5dGhvbiwgYnV0IHdlIG1pZ2h0IG5vdCBoYXZlIHB5Z29iamVjdAorLQlpZiAhICIkUFlUSE9OIiAtYyAnZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHT2JqZWN0JyA+JiAvZGV2L251bGw7IHRoZW4KKy0JCUFDX01TR19FUlJPUihbIi0tZW5hYmxlLWludHJvc3BlY3Rpb24gYWltcyB0byBidWlsZCB0aGUgc2V0dGluZ3MgZG9jdW1lbnRhdGlvbi4gVGhpcyByZXF1aXJlcyBHT2JqZWN0IGludHJvc3BlY3Rpb24gZm9yIHB5dGhvbiAocHlnb2JqZWN0KV0pCistCWZpCistCisgCUFDX1BBVEhfUFJPRyhQRVJMLCBwZXJsKQorIAlpZiB0ZXN0IC16ICIkUEVSTCI7IHRoZW4KKyAJCUFDX01TR19FUlJPUihbLS1lbmFibGUtaW50cm9zcGVjdGlvbiByZXF1aXJlcyBwZXJsXSkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MWYyNjQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDItRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1Gcm9tIDU4M2YwNDQ4ZmI3ZTlhYmEyYjQxMGMwNmVlYzZmNDIwYjQxYTZhMGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQYWJsbyBTYWF2ZWRyYSA8cHNhYXZlZHJhQGlnYWxpYS5jb20+Ci1EYXRlOiBUdWUsIDEzIE1hciAyMDE4IDE3OjM2OjIwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeGVkIGNvbmZpZ3VyZS5hYzogRml4IHBrZ2NvbmZpZyBzeXNyb290IGxvY2F0aW9ucwotCi0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDUxZTVlYjYuLmM5ZDNlNTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTU3Miw3ICs1NzIsNyBAQCBpZiB0ZXN0ICIkaGF2ZV9qYW5zc29uIiA9ICJ5ZXMiOyB0aGVuCi0gCUFDX0RFRklORShXSVRIX0pBTlNTT04sIDEsIFtEZWZpbmUgaWYgSkFOU1NPTiBpcyBlbmFibGVkXSkKLSAKLSAJQUNfQ0hFQ0tfVE9PTFMoUkVBREVMRiwgW2V1LXJlYWRlbGYgcmVhZGVsZl0pCi0tCUpBTlNTT05fTElCRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWxpYmRpciBqYW5zc29uYAotKwlKQU5TU09OX0xJQkRJUj0ke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9bGliZGlyIGphbnNzb25gCi0gCUpBTlNTT05fU09OQU1FPWAkUkVBREVMRiAtZCAkSkFOU1NPTl9MSUJESVIvbGliamFuc3Nvbi5zbyB8c2VkIC1uICdzLy4qU09OQU1FLipcW1tcKFteXV0qXCldXS9cMS9wJ2AKLSAKLSAJaWYgdGVzdCAiJEpBTlNTT05fU09OQU1FIiA9ICIiOyB0aGVuCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyLzAwMDMtRG8tbm90LWNyZWF0ZS1zZXR0aW5ncy1zZXR0aW5ncy1wcm9wZXJ0eS1kb2N1bWVudGF0aS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzUwMjkzYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotRnJvbSA0ZjAwMGE0YTE5OTc1ZDZhYmE3MTQyN2U2OTNjZDFlZDA4MGFiZGE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjIgTWFyIDIwMTggMTE6MDg6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGNyZWF0ZSBzZXR0aW5ncyBzZXR0aW5ncy9wcm9wZXJ0eSBkb2N1bWVudGF0aW9uCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUl0IHdhcyB0cmllZCB0byBnZXQgdGhpcyB3b3JrIGJ1dCBnaSAvIEdpclJlcG9zaXRvcnkgY291bGQgbm90IGJlIGZvdW5kIGJ5Ci1weXRob24uIEFueXdheSBpdCBpcyBub3QgbmVjZXNzYXJ5IGZvciB1cyB0byBoYXZlIHRoZSBzZXR0aW5ncy9wcm9wZXJ0eSBkb2NzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gTWFrZWZpbGUuYW0gIHwgMjAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBjb25maWd1cmUuYWMgfCAgNSAtLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCAxZTEwMGY2Li5kMzFlM2MxIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtMTExNSw5ICsxMTE1LDcgQEAgRVhUUkFfRElTVCArPSBcCi0gaWYgSEFWRV9JTlRST1NQRUNUSU9OCi0gCi0gbGlibm1fbm9pbnN0X2RhdGEgPSBcCi0tCWxpYm5tL25tLXByb3BlcnR5LWRvY3MueG1sIFwKLSAJbGlibm0vbm0tc2V0dGluZ3MtZG9jcy1vdmVycmlkZXMueG1sIFwKLS0JbGlibm0vbm0tc2V0dGluZ3MtZG9jcy54bWwgXAotIAlsaWJubS9ubS1zZXR0aW5ncy1rZXlmaWxlLWRvY3MueG1sIFwKLSAJbGlibm0vbm0tc2V0dGluZ3MtaWZjZmctcmgtZG9jcy54bWwKLSAKLUBAIC0zNjkyLDI3ICszNjkwLDkgQEAgJChjbGllbnRzX2NvbW1vbl9saWJubWNfYmFzZV9sYV9PQkpFQ1RTKTogJChsaWJubV9saWJfaF9wdWJfbWtlbnVtcykKLSAkKGNsaWVudHNfY29tbW9uX2xpYm5tY19iYXNlX2xhX09CSkVDVFMpOiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLSAKLSBjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCA9IGNsaWVudHMvY29tbW9uL3NldHRpbmdzLWRvY3MuaAotLWlmIEhBVkVfSU5UUk9TUEVDVElPTgotLSQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiBjbGllbnRzL2NvbW1vbi9zZXR0aW5ncy1kb2NzLnhzbCBsaWJubS9ubS1wcm9wZXJ0eS1kb2NzLnhtbCBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLS0JJChBTV9WX0dFTikgJChYU0xUUFJPQykgLS1vdXRwdXQgJEAgJDwgJCh3b3JkIDIsJF4pCi0tRElTVENMRUFORklMRVMgKz0gJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkKLS1jaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKQotLQlAaWYgdGVzdCAteiAiJCROTVRTVF9OT19DSEVDS19TRVRUSU5HU19ET0NTIiA7IHRoZW4gXAotLQkJaWYgISBjbXAgLXMgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiIgIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIiA7IHRoZW4gXAotLQkJCWlmIHRlc3QgIiQkTk1fVEVTVF9SRUdFTkVSQVRFIiA9PSAxIDsgdGhlbiBcCi0tCQkJCWNwIC1mICIkKGJ1aWxkZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKSIgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiI7IFwKLS0JCQllbHNlIFwKLS0JCQkJZWNobyAiVGhlIGdlbmVyYXRlZCBmaWxlIFwiJChidWlsZGRpcikvJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaClcIiBkaWZmZXJzIGZyb20gdGhlIHNvdXJjZSBmaWxlIFwiJChzcmNkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpLmluXCIuIFlvdSBwcm9iYWJseSBzaG91bGQgY29weSB0aGUgZ2VuZXJhdGVkIGZpbGUgb3ZlciB0byB0aGUgc291cmNlIGZpbGUuIFlvdSBjYW4gc2tpcCB0aGlzIHRlc3QgYnkgc2V0dGluZyBcJCROTVRTVF9OT19DSEVDS19TRVRUSU5HU19ET0NTPXllcyIuIFlvdSBjYW4gYWxzbyBhdXRvbWF0aWNhbGx5IGNvcHkgdGhlIGZpbGUgYnkgcmVydW5uaW5nIHRoZSB0ZXN0IHdpdGggXCQkTk1fVEVTVF9SRUdFTkVSQVRFPTEgOyBcCi0tCQkJCWZhbHNlOyBcCi0tCQkJZmk7IFwKLS0JCWZpO1wKLS0JZmkKLS1jaGVja19sb2NhbCArPSBjaGVjay1sb2NhbC1zZXR0aW5ncy1kb2NzCi0tZWxzZQotICQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpOiAkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiBjbGllbnRzL2NvbW1vbi8uZGlyc3RhbXAKLSAJJChBTV9WX0dFTikgY3AgIiQoc3JjZGlyKS8kKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbiIgIiQoYnVpbGRkaXIpLyQoY2xpZW50c19jb21tb25fc2V0dGluZ3NfZG9jX2gpIgotIGNoZWNrLWxvY2FsLXNldHRpbmdzLWRvY3M6Ci0tZW5kaWYKLSBFWFRSQV9ESVNUICs9IFwKLSAJJChjbGllbnRzX2NvbW1vbl9zZXR0aW5nc19kb2NfaCkgXAotIAkkKGNsaWVudHNfY29tbW9uX3NldHRpbmdzX2RvY19oKS5pbgotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNzlkYzNiOS4uMjNkMTRhNiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTE5NSwxMSArMTE5NSw2IEBAIEdUS19ET0NfQ0hFQ0soMS4wKQotICMgY2hlY2sgaWYgd2UgY2FuIGJ1aWxkIHNldHRpbmcgcHJvcGVydHkgZG9jdW1lbnRhdGlvbgotIGJ1aWxkX2RvY3M9bm8KLSBpZiB0ZXN0IC1uICIkSU5UUk9TUEVDVElPTl9NQUtFRklMRSI7IHRoZW4KLS0JIyBJZiBnLWkgaXMgaW5zdGFsbGVkIHdlIGtub3cgd2UgaGF2ZSBweXRob24sIGJ1dCB3ZSBtaWdodCBub3QgaGF2ZSBweWdvYmplY3QKLS0JaWYgISAiJFBZVEhPTiIgLWMgJ2Zyb20gZ2kucmVwb3NpdG9yeSBpbXBvcnQgR09iamVjdCcgPiYgL2Rldi9udWxsOyB0aGVuCi0tCQlBQ19NU0dfRVJST1IoWyItLWVuYWJsZS1pbnRyb3NwZWN0aW9uIGFpbXMgdG8gYnVpbGQgdGhlIHNldHRpbmdzIGRvY3VtZW50YXRpb24uIFRoaXMgcmVxdWlyZXMgR09iamVjdCBpbnRyb3NwZWN0aW9uIGZvciBweXRob24gKHB5Z29iamVjdCldKQotLQlmaQotLQotIAlBQ19QQVRIX1BST0coUEVSTCwgcGVybCkKLSAJaWYgdGVzdCAteiAiJFBFUkwiOyB0aGVuCi0gCQlBQ19NU0dfRVJST1IoWy0tZW5hYmxlLWludHJvc3BlY3Rpb24gcmVxdWlyZXMgcGVybF0pCi0tLSAKLTIuMTQuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLURvLW5vdC1pbmNsdWRlLW5ldC1ldGhlcm5ldC5oLWFuZC1saW51eC1pZl9ldGhlci5oLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTVlNWZmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIGIyY2RhYjc0NmVmNjRiYzI1YmEwYjljZmY1OTZlYmRkZGQ2ZThkYzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCA3IE5vdiAyMDE4IDExOjMwOjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbmNsdWRlIG5ldC9ldGhlcm5ldC5oIGFuZCBsaW51eC9pZl9ldGhlci5oCisKK1RoZXkgY29uZmxpY3Qgd2hlbiB1c2VkIHRvZ2V0aGVyIGVzcGVjaWFsbHkgd2l0aCBtdXNsCityZW1vdmluZyB0aGVtIHN0aWxsIGtlZXBzIGl0IHdvcmtpbmcgc28gaXQgc2VlbXMgdGhleSBhcmUgcmVkdW5kYW50CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLQorIHNoYXJlZC9uLWFjZC9zcmMvbi1hY2QuYyAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmggICAgIHwgMiAtLQorIHNyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmggfCAyIC0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jIGIvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCitpbmRleCBkZWY1NmEyLi5kZDRlYjc4IDEwMDY0NAorLS0tIGEvc2hhcmVkL24tYWNkL3NyYy9uLWFjZC5jCisrKysgYi9zaGFyZWQvbi1hY2Qvc3JjL24tYWNkLmMKK0BAIC0xMSw3ICsxMSw2IEBACisgI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLS1naXQgYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmggYi9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKK2luZGV4IDFiNTRlYzQuLmVkMzk5MzggMTAwNjQ0CistLS0gYS9zcmMvcGxhdGZvcm0vd3Bhbi9ubS13cGFuLXV0aWxzLmgKKysrKyBiL3NyYy9wbGF0Zm9ybS93cGFuL25tLXdwYW4tdXRpbHMuaAorQEAgLTIwLDggKzIwLDYgQEAKKyAjaWZuZGVmIF9fV1BBTl9VVElMU19IX18KKyAjZGVmaW5lIF9fV1BBTl9VVElMU19IX18KKyAKKy0jaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CistCisgI2luY2x1ZGUgIm5tLWRidXMtaW50ZXJmYWNlLmgiCisgI2luY2x1ZGUgInBsYXRmb3JtL25tLW5ldGxpbmsuaCIKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2V0dGluZ3Mvbm0tc2V0dGluZ3MtY29ubmVjdGlvbi5oIGIvc3JjL3NldHRpbmdzL25tLXNldHRpbmdzLWNvbm5lY3Rpb24uaAoraW5kZXggZTc5NmI3MS4uYzAxZmVmNiAxMDA2NDQKKy0tLSBhL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKKysrKyBiL3NyYy9zZXR0aW5ncy9ubS1zZXR0aW5ncy1jb25uZWN0aW9uLmgKK0BAIC0yMiw4ICsyMiw2IEBACisgI2lmbmRlZiBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCisgI2RlZmluZSBfX05FVFdPUktNQU5BR0VSX1NFVFRJTkdTX0NPTk5FQ1RJT05fSF9fCisgCistI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorLQorICNpbmNsdWRlICJubS1kYnVzLW9iamVjdC5oIgorICNpbmNsdWRlICJubS1jb25uZWN0aW9uLmgiCisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLW11c2wtYmFzaWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAxLW11c2wtYmFzaWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwZGRhNWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBlOTJkZTc0MDlhM2UxMDdmOTBkMTA4YTljNWQ0OWJkMDQxODI5NmRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjIgTWFyIDIwMTggMTc6NTQ6MTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gVXN1YWwgZml4IGZvciBtdXNsIGxpYmMKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVN0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQotCi1bMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotCi0tLS0KLSBzcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oIHwgMiArKwotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmggICAgICAgfCA1ICsrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmggYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCi1pbmRleCA3M2MwMzI3Li5lMWNlNjRmIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaAotQEAgLTEsNyArMSw5IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotICNwcmFnbWEgb25jZQotIAotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8cHJpbnRmLmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPHN0ZGFyZy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAotaW5kZXggYjMxZGZkMS4uOWI3MDMyYyAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmgKLUBAIC0yOCw2ICsyOCwxMSBAQAotICNpbmNsdWRlICJtaXNzaW5nLmgiCi0gI2luY2x1ZGUgInRpbWUtdXRpbC5oIgotIAotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqKTsKLSt0eXBlZGVmIF9fY29tcGFyX2ZuX3QgY29tcGFyaXNvbl9mbl90OwotKyNlbmRpZgotKwotIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOwotICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQotIAotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMi1tdXNsLWRsb3Blbi1jb25maWd1cmUtYWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzE2MmMxZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gNTcyMzlmZGE1NmI2OGE4ZjNlNDEzZjdiNmFmNTI5MGJhMGQ4NjYzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE4OjE4OjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IGRsb3BlbiBpcyBpbmNsdWRlZCBzbyBMRF9MSUJTPSIiIGluc3RlYWQgb2YKLSBMRF9MSUJTPSJub25lIHJlcXVpcmVkIgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNDg3YTI2Ni4uOTZhZTRmNyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjM1LDYgKzIzNSw3IEBAIGRubAotIGRubCBDaGVja3MgZm9yIGxpYmRsIC0gb24gY2VydGFpbiBwbGF0Zm9ybXMgaXRzIHBhcnQgb2YgbGliYwotIGRubAotIEFDX1NFQVJDSF9MSUJTKFtkbG9wZW5dLCBbZGwgZGxkXSwgW10sIFthY19jdl9zZWFyY2hfZGxvcGVuPV0pCi0rQVNfSUYoW3Rlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiA9ICJub25lIHJlcXVpcmVkIl0sW2FjX2N2X3NlYXJjaF9kbG9wZW49IiJdKQotIEFDX1NVQlNUKFtETF9MSUJTXSwgIiRhY19jdl9zZWFyY2hfZGxvcGVuIikKLSAKLSBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBbZ2lvLXVuaXgtMi4wID49IDIuMzcuNiBnbW9kdWxlLTIuMF0sCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAyLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM1OTIwOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDItc2QtbGxkcC5oLVJlbW92ZS1uZXQtZXRoZXJuZXQuaC1zZWVtcy10by1iZS1vdmVyLXNwZS5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDMyZGM2Y2FiNTg5MTJhZGQ1YmM2NDk1NTU4NTM4OTUzZDkzNDRjMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzMSBNYXIgMjAxNyAxNjo0ODowMCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBzZC1sbGRwLmg6IFJlbW92ZSBuZXQvZXRoZXJuZXQuaCBzZWVtcyB0byBiZSBvdmVyIHNwZWNpZmllZAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBzcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYyB8IDEgKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWxsZHAuaCAgICAgICAgICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL3NkLWxsZHAuYyBiL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCitpbmRleCA3NDExMjhlLi42MjkxNGFlIDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvc2QtbGxkcC5jCitAQCAtMyw2ICszLDcgQEAKKyAjaW5jbHVkZSAibm0tc2QtYWRhcHQtY29yZS5oIgorIAorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKysjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisgI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgCitkaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCitpbmRleCBiZjNhZmFkLi40Y2FjZTg3IDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtbGxkcC5oCisrKysgYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1sbGRwLmgKK0BAIC0xOCw3ICsxOCw3IEBACisgKioqLworIAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorLSNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysvLyNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgCisgI2luY2x1ZGUgInNkLWV2ZW50LmgiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtYmFzaWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDAzLW11c2wtYmFzaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ5MDU0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1iYXNpYy5wYXRjaApAQCAtMCwwICsxLDU2IEBACitGcm9tIGZmMWE1Yjg0OTc1NWRiNjdiMTc3ODk0MGZmZjkyZDZlYjhiOGIwNTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxNzo1NDoxMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc3VhbCBmaXggZm9yIG11c2wgbGliYworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5CisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIHNoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmggfCAyICsrCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaCAgICAgICB8IDUgKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaCBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKK2luZGV4IGRjNjdiNmUuLjYzMzYyNDMgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RkaW8tdXRpbC5oCitAQCAtMSw3ICsxLDkgQEAKKyAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjErICovCisgI3ByYWdtYSBvbmNlCisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxwcmludGYuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3RkYXJnLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy91dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvdXRpbC5oCitpbmRleCBkYzMzZDY2Li44ZWUyZDY0IDEwMDY0NAorLS0tIGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAorKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3V0aWwuaAorQEAgLTI3LDYgKzI3LDExIEBACisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInRpbWUtdXRpbC5oIgorIAorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqKTsKKyt0eXBlZGVmIF9fY29tcGFyX2ZuX3QgY29tcGFyaXNvbl9mbl90OworKyNlbmRpZgorKworIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOworICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDMtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNThjMGUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcyICswLDAgQEAKLUZyb20gNzE0YjQ3MzFhMjM4NjUzZTljN2Q4ODVjMGRlZTEwNjc3YjBhNGRmMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIyIE1hciAyMDE4IDE4OjI0OjA3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11c2w6IG5ldHdvcmsgc3VwcG9ydAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU3RvbGVuIGZyb20gWzFdIGFuZCBwcmV0dHlmaWVkIHNsaWdodGx5Ci0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvdHJlZS9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci9wYXRjaGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJubS1jb3JlL25tLXV0aWxzLmggICAgICAgICAgICAgICB8IDQgKysrKwotIHNyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCAgIHwgNCArKysrCi0gc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggfCA1ICsrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJubS1jb3JlL25tLXV0aWxzLmggYi9saWJubS1jb3JlL25tLXV0aWxzLmgKLWluZGV4IGRmOTI4NGIuLjJiY2Y0YjggMTAwNjQ0Ci0tLS0gYS9saWJubS1jb3JlL25tLXV0aWxzLmgKLSsrKyBiL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAotQEAgLTMwLDcgKzMwLDExIEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAKLSAvKiBGb3IgRVRIX0FMRU4gYW5kIElORklOSUJBTkRfQUxFTiAqLwotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KLSsjZWxzZQotKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLwotKyNlbmRpZgotICNpbmNsdWRlIDxsaW51eC9pZl9pbmZpbmliYW5kLmg+Ci0gCi0gI2luY2x1ZGUgIm5tLWNvcmUtZW51bS10eXBlcy5oIgotZGlmZiAtLWdpdCBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaCBiL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAotaW5kZXggNzA1NzE3Yi4uZGEzZWRjNCAxMDA2NDQKLS0tLSBhL3NyYy9wbGF0Zm9ybS93aWZpL25tLXdpZmktdXRpbHMuaAotKysrIGIvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCi1AQCAtMjIsNyArMjIsMTEgQEAKLSAjaWZuZGVmIF9fV0lGSV9VVElMU19IX18KLSAjZGVmaW5lIF9fV0lGSV9VVElMU19IX18KLSAKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotKyNlbHNlIC8qIG11c2wgbGliYyAqLwotKyNkZWZpbmUgRVRIX0FMRU4JNgkJLyogT2N0ZXRzIGluIG9uZSBldGhlcm5ldCBhZGRyCSAqLwotKyNlbmRpZgotIAotICNpbmNsdWRlICJubS1kYnVzLWludGVyZmFjZS5oIgotICNpbmNsdWRlICJubS1zZXR0aW5nLXdpcmVsZXNzLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAotaW5kZXggZDdlMmQ4NS4uZDEwOWM4NCAxMDA2NDQKLS0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAotQEAgLTExLDYgKzExLDExIEBACi0gI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KLSAjaW5jbHVkZSA8bGludXgvaWZfaW5maW5pYmFuZC5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9wYWNrZXQuaD4KLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotKy8qIFNJT0NHU1RBTVBOUyBmcm9tIGxpbnV4L2FzbS1nZW5lcmljLmgKLSsgKiBmb3Igc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgKi8KLSsjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJtaXNzaW5nLmgiCi0tLSAKLTIuMTQuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDQtbXVzbC1kbG9wZW4tY29uZmlndXJlLWFjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxOWUxYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDc3NDNlYTYzZmJlNTcyYjFmODJkYjdkMzk5ZmU5YzVjOTk1MjE0MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyMiBNYXIgMjAxOCAxODoxODowNiArMDEwMAorU3ViamVjdDogW1BBVENIXSBtdXNsOiBkbG9wZW4gaXMgaW5jbHVkZWQgc28gTERfTElCUz0iIiBpbnN0ZWFkIG9mCisgTERfTElCUz0ibm9uZSByZXF1aXJlZCIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1N0b2xlbiBmcm9tIFsxXSBhbmQgcHJldHR5ZmllZCBzbGlnaHRseQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWRsaW51eC92b2lkLXBhY2thZ2VzL3RyZWUvbWFzdGVyL3NyY3BrZ3MvTmV0d29ya01hbmFnZXIvcGF0Y2hlcworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBjb25maWd1cmUuYWMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYjkxNDIxOS4uMWIyYjBmZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjQxLDYgKzI0MSw3IEBAIGRubAorIGRubCBDaGVja3MgZm9yIGxpYmRsIC0gb24gY2VydGFpbiBwbGF0Zm9ybXMgaXRzIHBhcnQgb2YgbGliYworIGRubAorIEFDX1NFQVJDSF9MSUJTKFtkbG9wZW5dLCBbZGwgZGxkXSwgW10sIFthY19jdl9zZWFyY2hfZGxvcGVuPV0pCisrQVNfSUYoW3Rlc3QgIiRhY19jdl9zZWFyY2hfZGxvcGVuIiA9ICJub25lIHJlcXVpcmVkIl0sW2FjX2N2X3NlYXJjaF9kbG9wZW49IiJdKQorIEFDX1NVQlNUKFtETF9MSUJTXSwgIiRhY19jdl9zZWFyY2hfZGxvcGVuIikKKyAKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCLCBbZ2lvLXVuaXgtMi4wID49IDIuMzcuNiBnbW9kdWxlLTIuMF0sCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU1Yzk0My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA0LW11c2wtcHJvY2Vzcy11dGlsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotRnJvbSBkNTEzYzhiZmM5ODJkYmQ5NzY2MTcxNzhiMDQwYzUxMmM5NTcxMGI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjUgT2N0IDIwMTggMDk6NTc6MDcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVzbDogcHJvY2Vzcy11dGlsCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1pbmRleCAxNDEyZjAzLi40NWY1MDQ5IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLUBAIC0yMSw2ICsyMSw5IEBACi0gI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0gI2luY2x1ZGUgPHN5c2xvZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaWZuZGVmIF9fR0xJQkNfXwotKyNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0rI2VuZGlmCi0gI2lmIDAgLyogTk1fSUdOT1JFRCAqLwotICNpZiBIQVZFX1ZBTEdSSU5EX1ZBTEdSSU5EX0gKLSAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KLUBAIC0xMTUzLDExICsxMTU2LDEzIEBAIHZvaWQgcmVzZXRfY2FjaGVkX3BpZCh2b2lkKSB7Ci0gICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKLSB9Ci0gCi0rI2lmZGVmIF9fR0xJQkNfXwotIC8qIFdlIHVzZSBnbGliYyBfX3JlZ2lzdGVyX2F0Zm9yaygpICsgX19kc29faGFuZGxlIGRpcmVjdGx5IGhlcmUsIGFzIHRoZXkgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZ2xpYmMKLSAgKiBoZWFkZXJzLiBfX3JlZ2lzdGVyX2F0Zm9yaygpIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIHB0aHJlYWRfYXRmb3JrKCksIGJ1dCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbGluayBhZ2FpbnN0Ci0gICogbGlicHRocmVhZCwgYXMgaXQgaXMgcGFydCBvZiBnbGliYyBhbnl3YXkuICovCi0gZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkgKHZvaWQpLCB2b2lkICgqcGFyZW50KSAodm9pZCksIHZvaWQgKCpjaGlsZCkgKHZvaWQpLCB2b2lkICpkc29faGFuZGxlKTsKLSBleHRlcm4gdm9pZCogX19kc29faGFuZGxlIF9fYXR0cmlidXRlX18gKChfX3dlYWtfXykpOwotKyNlbmRpZgotIAotIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgewotICAgICAgICAgc3RhdGljIGJvb2wgaW5zdGFsbGVkID0gZmFsc2U7Ci1AQCAtMTE4Niw3ICsxMTkxLDExIEBAIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9ubHkgaGFsZi1kb2N1bWVudGVkIChnbGliYyBkb2Vzbid0IGRvY3VtZW50IGl0IGJ1dCBMU0IgZG9lcyDigJQgdGhvdWdoIG9ubHkgc3VwZXJmaWNpYWxseSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKiB3ZSdsbCBjaGVjayBmb3IgZXJyb3JzIG9ubHkgaW4gdGhlIG1vc3QgZ2VuZXJpYyBmYXNoaW9uIHBvc3NpYmxlLiAqLwotIAotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX19yZWdpc3Rlcl9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCwgX19kc29faGFuZGxlKSAhPSAwKSB7Ci0rI2Vsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRocmVhZF9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCkgIT0gMCkgewotKyNlbmRpZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogT09NPyBMZXQncyB0cnkgYWdhaW4gbGF0ZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19waWQ7Ci0tLSAKLTIuMTQuNQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA1LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiY2E5NWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBiM2I0ZmUzNTAxOGM5OGFkMTc2NzE5YjJkOWZmYjg2Nzk3NGZjN2MzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTYgQXByIDIwMTggMTQ6NDU6NDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVzbDogYXZvaWQgZnVydGhlciBjb25mbGljdHMgYnkgaW5jbHVkaW5nIG5ldC9ldGhlcm5ldC5oCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaCAgfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1sZWFzZS5oICAgfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmggfCAyICsrCi0gc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmggICAgICAgfCAyICsrCi0gNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oCi1pbmRleCBlMzg4NTUyLi45YzRkZGU4IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAotQEAgLTIwLDcgKzIwLDkgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKLWluZGV4IDJhNjAxNDUuLjE5ZDE4MTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaAotQEAgLTE5LDcgKzE5LDkgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCi1pbmRleCBmYTM2ZGNhLi4yZDI1MDEwIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCi1AQCAtMjAsNyArMjAsOSBAQAotICoqKi8KLSAKLSAjaW5jbHVkZSA8aW50dHlwZXMuaD4KLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotKyNlbmRpZgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotIAotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKLWluZGV4IDcxYmQ0Y2YuLjFjNjY3YmEgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaAotKysrIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKLUBAIC0xOSw3ICsxOSw5IEBACi0gICBhbG9uZyB3aXRoIHN5c3RlbWQ7IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAqKiovCi0gCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotIAotICNpbmNsdWRlICJzZC1ldmVudC5oIgotLS0gCi0yLjE0LjUKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNS1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmNjA3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDUtbXVzbC1uZXR3b3JrLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSA3MGVjYmMwMTg3NGJmMmY4NjAzY2NiZGZkYTYzNGNhYzBiYjgzZDkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjIgTWFyIDIwMTggMTg6MjQ6MDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogbmV0d29yayBzdXBwb3J0CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgbGlibm0tY29yZS9ubS11dGlscy5oICAgICAgICAgICAgICAgICAgfCA0ICsrKysKKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaCB8IDYgKysrKysrCisgc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oICAgICAgfCA0ICsrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYm5tLWNvcmUvbm0tdXRpbHMuaCBiL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAoraW5kZXggMmI1YmFiYS4uOTc2ODUwYyAxMDA2NDQKKy0tLSBhL2xpYm5tLWNvcmUvbm0tdXRpbHMuaAorKysrIGIvbGlibm0tY29yZS9ubS11dGlscy5oCitAQCAtMzAsNyArMzAsMTEgQEAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorIAorIC8qIEZvciBFVEhfQUxFTiBhbmQgSU5GSU5JQkFORF9BTEVOICovCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxsaW51eC9pZl9ldGhlci5oPgorKyNlbHNlCisrI2RlZmluZSBFVEhfQUxFTgk2CQkvKiBPY3RldHMgaW4gb25lIGV0aGVybmV0IGFkZHIJICovCisrI2VuZGlmCisgI2luY2x1ZGUgPGxpbnV4L2lmX2luZmluaWJhbmQuaD4KKyAKKyAjaW5jbHVkZSAibm0tY29yZS1lbnVtLXR5cGVzLmgiCitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAoraW5kZXggZDIyNDZhOC4uNzZmMjU3ZiAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorQEAgLTEzLDYgKzEzLDEyIEBACisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvdW4uaD4KKyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKy8qIFNJT0NHU1RBTVBOUyBmcm9tIGxpbnV4L2FzbS1nZW5lcmljLmgKKysgKiBmb3Igc3JjL3N5c3RlbWQvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9zZC1sbGRwLmMgKi8KKysjaW5jbHVkZSA8bGludXgvc29ja2lvcy5oPgorKyNlbmRpZgorKworICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJtaXNzaW5nX3NvY2tldC5oIgorICNpbmNsdWRlICJzcGFyc2UtZW5kaWFuLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oIGIvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCitpbmRleCAzNjE0OGI1Li5kMjgyZWIyIDEwMDY0NAorLS0tIGEvc3JjL3BsYXRmb3JtL3dpZmkvbm0td2lmaS11dGlscy5oCisrKysgYi9zcmMvcGxhdGZvcm0vd2lmaS9ubS13aWZpLXV0aWxzLmgKK0BAIC0yMiw3ICsyMiwxMSBAQAorICNpZm5kZWYgX19XSUZJX1VUSUxTX0hfXworICNkZWZpbmUgX19XSUZJX1VUSUxTX0hfXworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2Vsc2UgLyogbXVzbCBsaWJjICovCisrI2RlZmluZSBFVEhfQUxFTgk2CQkvKiBPY3RldHMgaW4gb25lIGV0aGVybmV0IGFkZHIJICovCisrI2VuZGlmCisgCisgI2luY2x1ZGUgIm5tLWRidXMtaW50ZXJmYWNlLmgiCisgI2luY2x1ZGUgIm5tLXNldHRpbmctd2lyZWxlc3MuaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjNhNGQ5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIDZkYjY1OTZlNDUwMDYyNjAxZDE4YjJhZTgxMmE0YTU4ZDJlMDNhNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxNTowNzoyMCArMDIwMAotU3ViamVjdDogW1BBVENIXSBBZGQgYSBzdHJuZHVwYSByZXBsYWNlbWVudCBmb3IgbXVzbAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYyB8IDEgKwotIHNyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oICB8IDUgKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jIGIvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCi1pbmRleCAyYTAyZDkwLi5hNTdjMzYwIDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCi0rKysgYi9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMKLUBAIC0xMyw2ICsxMyw3IEBACi0gI2luY2x1ZGUgImluLWFkZHItdXRpbC5oIgotICNpbmNsdWRlICJtYWNyby5oIgotICNpbmNsdWRlICJwYXJzZS11dGlsLmgiCi0rI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0gI2luY2x1ZGUgInV0aWwuaCIKLSAKLSBib29sIGluNF9hZGRyX2lzX251bGwoY29uc3Qgc3RydWN0IGluX2FkZHIgKmEpIHsKLWRpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCi1pbmRleCA0Yzk0YjE4Li5hNmRjNDQ2IDEwMDY0NAotLS0tIGEvc3JjL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmgKLSsrKyBiL3NyYy9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCi1AQCAtMjYsNiArMjYsMTEgQEAKLSAjZGVmaW5lIHN0cmNhc2VlcShhLGIpIChzdHJjYXNlY21wKChhKSwoYikpID09IDApCi0gI2RlZmluZSBzdHJuY2FzZWVxKGEsIGIsIG4pIChzdHJuY2FzZWNtcCgoYSksIChiKSwgKG4pKSA9PSAwKQotIAotKy8qIG11c2wgZG9lcyBub3Qga25vdyBzdHJuZHVwYSAqLwotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rI2RlZmluZSBzdHJuZHVwYSh4LHMpIHN0cm5jcHkoYWxsb2NhKHN0cmxlbih4KSsxKSx4LHMpCi0rI2VuZGlmCi0rCi0gaW50IHN0cmNtcF9wdHIoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikgX3B1cmVfOwotIAotIHN0YXRpYyBpbmxpbmUgYm9vbCBzdHJlcV9wdHIoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikgewotLS0gCi0yLjE0LjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyL211c2wvMDAwNi1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI1ZTM1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDYtbXVzbC1wcm9jZXNzLXV0aWwucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA0ZjJmYjFlMWY3ODViYWQyMmRmOGYzZDk2Y2I0NzkyYWNmMjFmMzE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjUgT2N0IDIwMTggMDk6NTc6MDcgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gbXVzbDogcHJvY2Vzcy11dGlsCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTdG9sZW4gZnJvbSBbMV0gYW5kIHByZXR0eWZpZWQgc2xpZ2h0bHkKKworWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkbGludXgvdm9pZC1wYWNrYWdlcy90cmVlL21hc3Rlci9zcmNwa2dzL05ldHdvcmtNYW5hZ2VyL3BhdGNoZXMKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKworLS0tCisgc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK2luZGV4IGIwYWZiNWMuLjdhZGM4YmQgMTAwNjQ0CistLS0gYS9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKKysrKyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYworQEAgLTIxLDYgKzIxLDkgQEAKKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8c3lzbG9nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjZW5kaWYKKyAjaWYgMCAvKiBOTV9JR05PUkVEICovCisgI2lmIEhBVkVfVkFMR1JJTkRfVkFMR1JJTkRfSAorICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgorQEAgLTExNjgsMTEgKzExNzEsMTMgQEAgdm9pZCByZXNldF9jYWNoZWRfcGlkKHZvaWQpIHsKKyAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOworIH0KKyAKKysjaWZkZWYgX19HTElCQ19fCisgLyogV2UgdXNlIGdsaWJjIF9fcmVnaXN0ZXJfYXRmb3JrKCkgKyBfX2Rzb19oYW5kbGUgZGlyZWN0bHkgaGVyZSwgYXMgdGhleSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBnbGliYworICAqIGhlYWRlcnMuIF9fcmVnaXN0ZXJfYXRmb3JrKCkgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8gcHRocmVhZF9hdGZvcmsoKSwgYnV0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBsaW5rIGFnYWluc3QKKyAgKiBsaWJwdGhyZWFkLCBhcyBpdCBpcyBwYXJ0IG9mIGdsaWJjIGFueXdheS4gKi8KKyBleHRlcm4gaW50IF9fcmVnaXN0ZXJfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSAodm9pZCksIHZvaWQgKCpwYXJlbnQpICh2b2lkKSwgdm9pZCAoKmNoaWxkKSAodm9pZCksIHZvaWQgKmRzb19oYW5kbGUpOworIGV4dGVybiB2b2lkKiBfX2Rzb19oYW5kbGUgX3dlYWtfOworKyNlbmRpZgorIAorIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgeworICAgICAgICAgc3RhdGljIGJvb2wgaW5zdGFsbGVkID0gZmFsc2U7CitAQCAtMTIwMSw3ICsxMjA2LDExIEBAIHBpZF90IGdldHBpZF9jYWNoZWQodm9pZCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAqIG9ubHkgaGFsZi1kb2N1bWVudGVkIChnbGliYyBkb2Vzbid0IGRvY3VtZW50IGl0IGJ1dCBMU0IgZG9lcyDigJQgdGhvdWdoIG9ubHkgc3VwZXJmaWNpYWxseSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKiB3ZSdsbCBjaGVjayBmb3IgZXJyb3JzIG9ubHkgaW4gdGhlIG1vc3QgZ2VuZXJpYyBmYXNoaW9uIHBvc3NpYmxlLiAqLworIAorKyNpZmRlZiBfX0dMSUJDX18KKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX19yZWdpc3Rlcl9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCwgX19kc29faGFuZGxlKSAhPSAwKSB7CisrI2Vsc2UKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHRocmVhZF9hdGZvcmsoTlVMTCwgTlVMTCwgcmVzZXRfY2FjaGVkX3BpZCkgIT0gMCkgeworKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogT09NPyBMZXQncyB0cnkgYWdhaW4gbGF0ZXIgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ld19waWQ7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA3LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA3LW11c2wtYXZvaWQtZnVydGhlci1jb25mbGljdHMtYnktaW5jbHVkaW5nLW5ldC1ldGhlcm4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjExYTJkYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDctbXVzbC1hdm9pZC1mdXJ0aGVyLWNvbmZsaWN0cy1ieS1pbmNsdWRpbmctbmV0LWV0aGVybi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDQyMzJhMzQwNjRlMzNiNTJmMDdjY2E1MWI5MDJiOTM2OTk4MDBmNzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNiBBcHIgMjAxOCAxNDo0NTo0NCArMDIwMAorU3ViamVjdDogW1BBVENIXSBtdXNsOiBhdm9pZCBmdXJ0aGVyIGNvbmZsaWN0cyBieSBpbmNsdWRpbmcgbmV0L2V0aGVybmV0LmgKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CisKKy0tLQorIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmggIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaCAgIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oIHwgMiArKworIHNyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oICAgICAgIHwgMiArKworIDQgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWNsaWVudC5oIGIvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcC1jbGllbnQuaAoraW5kZXggYmQwZDQyOS4uYzkzNWZlMSAxMDA2NDQKKy0tLSBhL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtY2xpZW50LmgKK0BAIC0yMCw3ICsyMCw5IEBACisgKioqLworIAorICNpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmggYi9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKK2luZGV4IGQyOTljNzkuLjk5MWU2N2UgMTAwNjQ0CistLS0gYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwLWxlYXNlLmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3AtbGVhc2UuaAorQEAgLTE5LDcgKzE5LDkgQEAKKyAqKiovCisgCisgI2luY2x1ZGUgPGludHR5cGVzLmg+CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxuZXQvZXRoZXJuZXQuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1kaGNwNi1jbGllbnQuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCitpbmRleCA0M2QzOGY1Li41N2FiNDg3IDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtZGhjcDYtY2xpZW50LmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWRoY3A2LWNsaWVudC5oCitAQCAtMjAsNyArMjAsOSBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8aW50dHlwZXMuaD4KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKyAjaW5jbHVkZSAic2QtZGhjcDYtbGVhc2UuaCIKK2RpZmYgLS1naXQgYS9zcmMvc3lzdGVtZC9zcmMvc3lzdGVtZC9zZC1pcHY0bGwuaCBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCitpbmRleCA3MWJkNGNmLi4xYzY2N2JhIDEwMDY0NAorLS0tIGEvc3JjL3N5c3RlbWQvc3JjL3N5c3RlbWQvc2QtaXB2NGxsLmgKKysrKyBiL3NyYy9zeXN0ZW1kL3NyYy9zeXN0ZW1kL3NkLWlwdjRsbC5oCitAQCAtMTksNyArMTksOSBAQAorICAgYWxvbmcgd2l0aCBzeXN0ZW1kOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKioqLworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAKKyAjaW5jbHVkZSAic2QtZXZlbnQuaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlci9tdXNsLzAwMDgtQWRkLWEtc3RybmR1cGEtcmVwbGFjZW1lbnQtZm9yLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NTgxMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXIvbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gY2RkNjkzMjFlYzk3ZWQxOWU2NmE3NDdhOTY4YTE2MzdhMjUxYjllNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDE2IEFwciAyMDE4IDE1OjA3OjIwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBhIHN0cm5kdXBhIHJlcGxhY2VtZW50IGZvciBtdXNsCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorCistLS0KKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvaW4tYWRkci11dGlsLmMgfCAxICsKKyBzaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaCAgfCA1ICsrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYyBiL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYworaW5kZXggNWNlZDM1MC4uYzZiNTJiOCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9pbi1hZGRyLXV0aWwuYworKysrIGIvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL2luLWFkZHItdXRpbC5jCitAQCAtMTMsNiArMTMsNyBAQAorICNpbmNsdWRlICJpbi1hZGRyLXV0aWwuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicGFyc2UtdXRpbC5oIgorKyNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorICNpbmNsdWRlICJ1dGlsLmgiCisgCisgYm9vbCBpbjRfYWRkcl9pc19udWxsKGNvbnN0IHN0cnVjdCBpbl9hZGRyICphKSB7CitkaWZmIC0tZ2l0IGEvc2hhcmVkL3N5c3RlbWQvc3JjL2Jhc2ljL3N0cmluZy11dGlsLmggYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAoraW5kZXggMzgwNzBhYi4uNmI5MThlMCAxMDA2NDQKKy0tLSBhL3NoYXJlZC9zeXN0ZW1kL3NyYy9iYXNpYy9zdHJpbmctdXRpbC5oCisrKysgYi9zaGFyZWQvc3lzdGVtZC9zcmMvYmFzaWMvc3RyaW5nLXV0aWwuaAorQEAgLTI3LDYgKzI3LDExIEBACisgI2RlZmluZSBzdHJjYXNlZXEoYSxiKSAoc3RyY2FzZWNtcCgoYSksKGIpKSA9PSAwKQorICNkZWZpbmUgc3RybmNhc2VlcShhLCBiLCBuKSAoc3RybmNhc2VjbXAoKGEpLCAoYiksIChuKSkgPT0gMCkKKyAKKysvKiBtdXNsIGRvZXMgbm90IGtub3cgc3RybmR1cGEgKi8KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNkZWZpbmUgc3RybmR1cGEoeCxzKSBzdHJuY3B5KGFsbG9jYShzdHJsZW4oeCkrMSkseCxzKQorKyNlbmRpZgorKworIGludCBzdHJjbXBfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIF9wdXJlXzsKKyAKKyBzdGF0aWMgaW5saW5lIGJvb2wgc3RyZXFfcHRyKGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE0LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmV0d29ya21hbmFnZXIvbmV0d29ya21hbmFnZXJfMS4xNC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjE2MDBlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJOZXR3b3JrTWFuYWdlciIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvUHJvamVjdHMvTmV0d29ya01hbmFnZXIiCi1TRUNUSU9OID0gIm5ldC9taXNjIgotCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNiYmZmZDU2ODIyN2FkYTUwNjY0MGZlOTUwYTQ4MjNiIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm5tLXV0aWwvQ09QWUlORzttZDU9MWM0ZmE3NjVkNmViM2NkMmZiZDg0MzQ0YTFiODE2Y2QgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9hcGkvaHRtbC9saWNlbnNlLmh0bWw7bWQ1PTJkNTZhMWIwYzQyZTM4OGFhODZhZWY1OWIxNTRlOGMzIFwKLSIKLQotREVQRU5EUyA9ICIgXAotICAgIGludGx0b29sLW5hdGl2ZSBcCi0gICAgbGlieHNsdC1uYXRpdmUgXAotICAgIGxpYm5sIFwKLSAgICBsaWJndWRldiBcCi0gICAgdXRpbC1saW51eCBcCi0gICAgbGlibmRwIFwKLSAgICBsaWJuZXd0IFwKLSAgICBwb2xraXQgXAotICAgIGphbnNzb24gXAotICAgIGN1cmwgXAotIgotCi1pbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgYmx1ZXRvb3RoIGJhc2gtY29tcGxldGlvbiB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCi0KLVNSQ19VUkkgPSAiIFwKLSAgICAke0dOT01FX01JUlJPUn0vTmV0d29ya01hbmFnZXIvJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS9OZXR3b3JrTWFuYWdlci0ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly8wMDAxLXNkLWxsZHAuaC1SZW1vdmUtbmV0LWV0aGVybmV0Lmgtc2VlbXMtdG8tYmUtb3Zlci1zcGUucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLUZpeGVkLWNvbmZpZ3VyZS5hYy1GaXgtcGtnY29uZmlnLXN5c3Jvb3QtbG9jYXRpb25zLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMy1Eby1ub3QtY3JlYXRlLXNldHRpbmdzLXNldHRpbmdzLXByb3BlcnR5LWRvY3VtZW50YXRpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaW5jbHVkZS1uZXQtZXRoZXJuZXQuaC1hbmQtbGludXgtaWZfZXRoZXIuaC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwMS1tdXNsLWJhc2ljLnBhdGNoIFwKLSAgICBmaWxlOi8vbXVzbC8wMDAyLW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwMy1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwNC1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBcCi0gICAgZmlsZTovL211c2wvMDAwNS1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIFwKLSAgICBmaWxlOi8vbXVzbC8wMDA2LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1NGNlNjJmMGFhMThlZjZjNWU3NTRlYWFjNDc0OTRhYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNWEzZWRlNGM3ZDEyZDYyMTIwMzNjOWU0NGNiODJiNzY5MmYzODA2M2I1M2EwNjc1NjdmMDJmNTkzN2M4YzE4IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L05ldHdvcmtNYW5hZ2VyLzEuMTAvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTmV0d29ya01hbmFnZXJcLSg/UDxwdmVyPjFcLjEwKFwuXGQrKSspLnRhci54eiIKLQotUyA9ICIke1dPUktESVJ9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtaWZjZmctcmggXAotICAgIC0tZGlzYWJsZS1tb3JlLXdhcm5pbmdzIFwKLSAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCi0gICAgLS13aXRoLXRlc3RzIFwKLSAgICAtLXdpdGgtbm10dWk9eWVzIFwKLSAgICAtLXdpdGgtdWRldi1kaXI9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2IFwKLSIKLQotIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcmVsYXRlZAotR0lfREFUQV9FTkFCTEVEX2xpYmMtbXVzbCA9ICJGYWxzZSIKLQotIyBzdG9sZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci90ZW1wbGF0ZQotQ0ZMQUdTX2xpYmMtbXVzbF9hcHBlbmQgPSAiIFwKLSAgICAtREhBVkVfU0VDVVJFX0dFVEVOViAtRHNlY3VyZV9nZXRlbnY9Z2V0ZW52IFwKLSAgICAtRF9fVVNFX1BPU0lYMTk5MzA5IC1EUlRMRF9ERUVQQklORD0wIFwKLSIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLy5saWJzOiR7Qn0vbGlibm0tZ2xpYi8ubGliczoke0J9L2xpYm5tLXV0aWwvLmxpYnMiCi19Ci0KLVBBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gZGhjbGllbnQgZG5zbWFzcSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdjb25zb2xla2l0JywgJycsIGQpLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiBcCi0gICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9c3lzdGVtZCAtLWVuYWJsZS1wb2xraXQsIFwKLSAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKLSAgICBwb2xraXQgXAotIgotUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV6NS1kdW4sLS1kaXNhYmxlLWJsdWV6NS1kdW4sYmx1ZXo1IgotIyBjb25zb2xla2l0IGlzIG5vdCBwaWNrZWQgYnkgc2hsaWJzLCBzbyBhZGQgaXQgdG8gUkRFUEVORFMgdG9vCi1QQUNLQUdFQ09ORklHW2NvbnNvbGVraXRdID0gIi0td2l0aC1zZXNzaW9uLXRyYWNraW5nPWNvbnNvbGVraXQsLGNvbnNvbGVraXQsY29uc29sZWtpdCIKLVBBQ0tBR0VDT05GSUdbbW9kZW1tYW5hZ2VyXSA9ICItLXdpdGgtbW9kZW0tbWFuYWdlci0xPXllcywtLXdpdGgtbW9kZW0tbWFuYWdlci0xPW5vLG1vZGVtbWFuYWdlciIKLVBBQ0tBR0VDT05GSUdbcHBwXSA9ICItLWVuYWJsZS1wcHAsLS1kaXNhYmxlLXBwcCxwcHAscHBwIgotIyBVc2UgZnVsbCBmZWF0dXJlZCBkaGNwIGNsaWVudCBpbnN0ZWFkIG9mIGludGVybmFsIG9uZQotUEFDS0FHRUNPTkZJR1tkaGNsaWVudF0gPSAiLS13aXRoLWRoY2xpZW50PSR7YmFzZV9zYmluZGlyfS9kaGNsaWVudCwsLGRoY3AtY2xpZW50IgotUEFDS0FHRUNPTkZJR1tkbnNtYXNxXSA9ICItLXdpdGgtZG5zbWFzcT0ke2JpbmRpcn0vZG5zbWFzcSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItLXdpdGgtY3J5cHRvPW5zcywsbnNzIgotUEFDS0FHRUNPTkZJR1tnbGliXSA9ICItLXdpdGgtbGlibm0tZ2xpYiwsZGJ1cy1nbGliLW5hdGl2ZSBkYnVzLWdsaWIiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWNyeXB0bz1nbnV0bHMsLGdudXRscyIKLVBBQ0tBR0VDT05GSUdbd2lmaV0gPSAiLS1lbmFibGUtd2lmaT15ZXMsLS1lbmFibGUtd2lmaT1ubywsd3BhLXN1cHBsaWNhbnQiCi1QQUNLQUdFQ09ORklHW2lmdXBkb3duXSA9ICItLWVuYWJsZS1pZnVwZG93biwtLWRpc2FibGUtaWZ1cGRvd24iCi1QQUNLQUdFQ09ORklHW3F0NC14MTEtZnJlZV0gPSAiLS1lbmFibGUtcXQsLS1kaXNhYmxlLXF0LHF0NC14MTEtZnJlZSIKLQotUEFDS0FHRVMgPSsgImxpYm5tdXRpbCBsaWJubWdsaWIgbGlibm1nbGliLXZwbiBcCi0gICR7UE59LW5tdHVpICR7UE59LW5tdHVpLWRvYyBcCi0gICR7UE59LWFkc2wgXAotIgotCi1GSUxFU19saWJubXV0aWwgKz0gIiR7bGliZGlyfS9saWJubS11dGlsLnNvLioiCi1GSUxFU19saWJubWdsaWIgKz0gIiR7bGliZGlyfS9saWJubS1nbGliLnNvLioiCi1GSUxFU19saWJubWdsaWItdnBuICs9ICIke2xpYmRpcn0vbGlibm0tZ2xpYi12cG4uc28uKiIKLQotRklMRVNfJHtQTn0tYWRzbCA9ICIke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvbGlibm0tZGV2aWNlLXBsdWdpbi1hZHNsLnNvIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmV4ZWNkaXJ9IFwKLSAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5zbyBcCi0gICAgJHtub25hcmNoX2xpYmRpcn0vTmV0d29ya01hbmFnZXIvVlBOIFwKLSAgICAke25vbmFyY2hfbGliZGlyfS9OZXR3b3JrTWFuYWdlci9jb25mLmQgXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke25vYXJjaF9iYXNlX2xpYmRpcn0vdWRldi8qIFwKLSAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIFwKLSAgICAke2xpYmRpcn0vcHBwZCBcCi0iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJpcHRhYmxlcyBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ2Ruc21hc3EnLCBkKX0gXAotIgotUkNPTkZMSUNUU18ke1BOfSA9ICJjb25ubWFuIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9OZXR3b3JrTWFuYWdlci9nZGItY21kIFwKLSAgICAke2xpYmRpcn0vcHBwZC8qLyoubGEgXAotICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8qLmxhIFwKLSAgICAke2xpYmRpcn0vTmV0d29ya01hbmFnZXIvJHtQVn0vKi5sYSBcCi0iCi0KLUZJTEVTXyR7UE59LW5tdHVpID0gIiBcCi0gICAgJHtiaW5kaXJ9L25tdHVpIFwKLSAgICAke2JpbmRpcn0vbm10dWktZWRpdCBcCi0gICAgJHtiaW5kaXJ9L25tdHVpLWNvbm5lY3QgXAotICAgICR7YmluZGlyfS9ubXR1aS1ob3N0bmFtZSBcCi0iCi0KLUZJTEVTXyR7UE59LW5tdHVpLWRvYyA9ICIgXAotICAgICR7bWFuZGlyfS9tYW4xL25tdHVpKiBcCi0iCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJOZXR3b3JrTWFuYWdlci5zZXJ2aWNlIE5ldHdvcmtNYW5hZ2VyLWRpc3BhdGNoZXIuc2VydmljZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm0gLXJmICR7RH0vcnVuICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L25ldHdvcmttYW5hZ2VyL25ldHdvcmttYW5hZ2VyXzEuMTYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE2LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRmNjBlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZXR3b3JrbWFuYWdlci9uZXR3b3JrbWFuYWdlcl8xLjE2LjAuYmIKQEAgLTAsMCArMSwxNDMgQEAKK1NVTU1BUlkgPSAiTmV0d29ya01hbmFnZXIiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL05ldHdvcmtNYW5hZ2VyIgorU0VDVElPTiA9ICJuZXQvbWlzYyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jYmJmZmQ1NjgyMjdhZGE1MDY2NDBmZTk1MGE0ODIzYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJubS11dGlsL0NPUFlJTkc7bWQ1PTFjNGZhNzY1ZDZlYjNjZDJmYmQ4NDM0NGExYjgxNmNkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvY3MvYXBpL2h0bWwvbGljZW5zZS5odG1sO21kNT0yMzM5MzEzMDNlZjgwZWRlZDE2N2FkZDFmNjBhNTBjMSBcCisiCisKK0RFUEVORFMgPSAiIFwKKyAgICBpbnRsdG9vbC1uYXRpdmUgXAorICAgIGxpYnhzbHQtbmF0aXZlIFwKKyAgICBsaWJubCBcCisgICAgbGliZ3VkZXYgXAorICAgIHV0aWwtbGludXggXAorICAgIGxpYm5kcCBcCisgICAgbGlibmV3dCBcCisgICAgamFuc3NvbiBcCisgICAgY3VybCBcCisiCisKK2luaGVyaXQgZ25vbWViYXNlIGdldHRleHQgc3lzdGVtZCBibHVldG9vdGggYmFzaC1jb21wbGV0aW9uIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MKKworU1JDX1VSSSA9ICIgXAorICAgICR7R05PTUVfTUlSUk9SfS9OZXR3b3JrTWFuYWdlci8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtRml4ZWQtY29uZmlndXJlLmFjLUZpeC1wa2djb25maWctc3lzcm9vdC1sb2NhdGlvbnMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLURvLW5vdC1jcmVhdGUtc2V0dGluZ3Mtc2V0dGluZ3MtcHJvcGVydHktZG9jdW1lbnRhdGkucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDEtRG8tbm90LWluY2x1ZGUtbmV0LWV0aGVybmV0LmgtYW5kLWxpbnV4LWlmX2V0aGVyLmgucGF0Y2ggXAorICAgIGZpbGU6Ly9tdXNsLzAwMDItc2QtbGxkcC5oLVJlbW92ZS1uZXQtZXRoZXJuZXQuaC1zZWVtcy10by1iZS1vdmVyLXNwZS5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwMy1tdXNsLWJhc2ljLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDA0LW11c2wtZGxvcGVuLWNvbmZpZ3VyZS1hYy5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNS1tdXNsLW5ldHdvcmstc3VwcG9ydC5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNi1tdXNsLXByb2Nlc3MtdXRpbC5wYXRjaCBcCisgICAgZmlsZTovL211c2wvMDAwNy1tdXNsLWF2b2lkLWZ1cnRoZXItY29uZmxpY3RzLWJ5LWluY2x1ZGluZy1uZXQtZXRoZXJuLnBhdGNoIFwKKyAgICBmaWxlOi8vbXVzbC8wMDA4LUFkZC1hLXN0cm5kdXBhLXJlcGxhY2VtZW50LWZvci1tdXNsLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMGFiYWNhYWZiMTYyYTY3ZDI5NDJhZGYwM2U3ZTllNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTk2MjgzM2I2Y2EwM2VkZGExYmM1N2VkNjYxNGE3YjhjMjMzOTUzMWI0NGFjZWYwOThkMDVmMjMyNGM1ZDJjIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L05ldHdvcmtNYW5hZ2VyLzEuMTAvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiTmV0d29ya01hbmFnZXJcLSg/UDxwdmVyPjFcLjEwKFwuXGQrKSspLnRhci54eiIKKworUyA9ICIke1dPUktESVJ9L05ldHdvcmtNYW5hZ2VyLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtaWZjZmctcmggXAorICAgIC0tZGlzYWJsZS1tb3JlLXdhcm5pbmdzIFwKKyAgICAtLXdpdGgtaXB0YWJsZXM9JHtzYmluZGlyfS9pcHRhYmxlcyBcCisgICAgLS13aXRoLXRlc3RzIFwKKyAgICAtLXdpdGgtbm10dWk9eWVzIFwKKyAgICAtLXdpdGgtdWRldi1kaXI9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2IFwKKyIKKworIyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcmVsYXRlZAorR0lfREFUQV9FTkFCTEVEX2xpYmMtbXVzbCA9ICJGYWxzZSIKKworIyBzdG9sZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZGxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvc3JjcGtncy9OZXR3b3JrTWFuYWdlci90ZW1wbGF0ZQorQ0ZMQUdTX2xpYmMtbXVzbF9hcHBlbmQgPSAiIFwKKyAgICAtREhBVkVfU0VDVVJFX0dFVEVOViAtRHNlY3VyZV9nZXRlbnY9Z2V0ZW52IFwKKyAgICAtRF9fVVNFX1BPU0lYMTk5MzA5IC1EUlRMRF9ERUVQQklORD0wIFwKKyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSIke0J9L2xpYm5tLy5saWJzOiR7Qn0vbGlibm0tZ2xpYi8ubGliczoke0J9L2xpYm5tLXV0aWwvLmxpYnMiCit9CisKK1BBQ0tBR0VDT05GSUcgPz89ICJuc3MgaWZ1cGRvd24gZGhjbGllbnQgZG5zbWFzcSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdjb25zb2xla2l0JywgJycsIGQpLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaSBwb2xraXQnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIgXAorICAgIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIC0td2l0aC1zZXNzaW9uLXRyYWNraW5nPXN5c3RlbWQsIFwKKyAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKKyIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLWVuYWJsZS1wb2xraXQgLS1lbmFibGUtcG9sa2l0LWFnZW50LC0tZGlzYWJsZS1wb2xraXQgLS1kaXNhYmxlLXBvbGtpdC1hZ2VudCxwb2xraXQiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXo1LWR1biwtLWRpc2FibGUtYmx1ZXo1LWR1bixibHVlejUiCisjIGNvbnNvbGVraXQgaXMgbm90IHBpY2tlZCBieSBzaGxpYnMsIHNvIGFkZCBpdCB0byBSREVQRU5EUyB0b28KK1BBQ0tBR0VDT05GSUdbY29uc29sZWtpdF0gPSAiLS13aXRoLXNlc3Npb24tdHJhY2tpbmc9Y29uc29sZWtpdCwsY29uc29sZWtpdCxjb25zb2xla2l0IgorUEFDS0FHRUNPTkZJR1ttb2RlbW1hbmFnZXJdID0gIi0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9eWVzLC0td2l0aC1tb2RlbS1tYW5hZ2VyLTE9bm8sbW9kZW1tYW5hZ2VyIgorUEFDS0FHRUNPTkZJR1twcHBdID0gIi0tZW5hYmxlLXBwcCwtLWRpc2FibGUtcHBwLHBwcCxwcHAiCisjIFVzZSBmdWxsIGZlYXR1cmVkIGRoY3AgY2xpZW50IGluc3RlYWQgb2YgaW50ZXJuYWwgb25lCitQQUNLQUdFQ09ORklHW2RoY2xpZW50XSA9ICItLXdpdGgtZGhjbGllbnQ9JHtiYXNlX3NiaW5kaXJ9L2RoY2xpZW50LCwsZGhjcC1jbGllbnQiCitQQUNLQUdFQ09ORklHW2Ruc21hc3FdID0gIi0td2l0aC1kbnNtYXNxPSR7YmluZGlyfS9kbnNtYXNxIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCxuc3MiCitQQUNLQUdFQ09ORklHW2dsaWJdID0gIi0td2l0aC1saWJubS1nbGliLCxkYnVzLWdsaWItbmF0aXZlIGRidXMtZ2xpYiIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtY3J5cHRvPWdudXRscywsZ251dGxzIgorUEFDS0FHRUNPTkZJR1t3aWZpXSA9ICItLWVuYWJsZS13aWZpPXllcywtLWVuYWJsZS13aWZpPW5vLCx3cGEtc3VwcGxpY2FudCIKK1BBQ0tBR0VDT05GSUdbaWZ1cGRvd25dID0gIi0tZW5hYmxlLWlmdXBkb3duLC0tZGlzYWJsZS1pZnVwZG93biIKK1BBQ0tBR0VDT05GSUdbcXQ0LXgxMS1mcmVlXSA9ICItLWVuYWJsZS1xdCwtLWRpc2FibGUtcXQscXQ0LXgxMS1mcmVlIgorCitQQUNLQUdFUyA9KyAibGlibm11dGlsIGxpYm5tZ2xpYiBsaWJubWdsaWItdnBuIFwKKyAgJHtQTn0tbm10dWkgJHtQTn0tbm10dWktZG9jIFwKKyAgJHtQTn0tYWRzbCBcCisiCisKK0ZJTEVTX2xpYm5tdXRpbCArPSAiJHtsaWJkaXJ9L2xpYm5tLXV0aWwuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYiArPSAiJHtsaWJkaXJ9L2xpYm5tLWdsaWIuc28uKiIKK0ZJTEVTX2xpYm5tZ2xpYi12cG4gKz0gIiR7bGliZGlyfS9saWJubS1nbGliLXZwbi5zby4qIgorCitGSUxFU18ke1BOfS1hZHNsID0gIiR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci9saWJubS1kZXZpY2UtcGx1Z2luLWFkc2wuc28iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7bGliZXhlY2Rpcn0gXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8ke1BWfS8qLnNvIFwKKyAgICAke25vbmFyY2hfbGliZGlyfS9OZXR3b3JrTWFuYWdlci9WUE4gXAorICAgICR7bm9uYXJjaF9saWJkaXJ9L05ldHdvcmtNYW5hZ2VyL2NvbmYuZCBcCisgICAgJHtkYXRhZGlyfS9wb2xraXQtMSBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEgXAorICAgICR7bm9hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0gXAorICAgICR7bGliZGlyfS9wcHBkIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gImlwdGFibGVzIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAnZG5zbWFzcScsIGQpfSBcCisiCitSQ09ORkxJQ1RTXyR7UE59ID0gImNvbm5tYW4iCisKK0ZJTEVTXyR7UE59LWRldiArPSAiIFwKKyAgICAke2RhdGFkaXJ9L05ldHdvcmtNYW5hZ2VyL2dkYi1jbWQgXAorICAgICR7bGliZGlyfS9wcHBkLyovKi5sYSBcCisgICAgJHtsaWJkaXJ9L05ldHdvcmtNYW5hZ2VyLyoubGEgXAorICAgICR7bGliZGlyfS9OZXR3b3JrTWFuYWdlci8ke1BWfS8qLmxhIFwKKyIKKworRklMRVNfJHtQTn0tbm10dWkgPSAiIFwKKyAgICAke2JpbmRpcn0vbm10dWkgXAorICAgICR7YmluZGlyfS9ubXR1aS1lZGl0IFwKKyAgICAke2JpbmRpcn0vbm10dWktY29ubmVjdCBcCisgICAgJHtiaW5kaXJ9L25tdHVpLWhvc3RuYW1lIFwKKyIKKworRklMRVNfJHtQTn0tbm10dWktZG9jID0gIiBcCisgICAgJHttYW5kaXJ9L21hbjEvbm10dWkqIFwKKyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N5c3RlbWQnLCAnTmV0d29ya01hbmFnZXIuc2VydmljZSBOZXR3b3JrTWFuYWdlci1kaXNwYXRjaGVyLnNlcnZpY2UnLCAnJywgZCl9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBybSAtcmYgJHtEfS9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5jb25uZWN0L29wZW5jb25uZWN0X2dpdC5iYgppbmRleCBjOTQ0MTQ0Li4wNTBhMjgzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbmNvbm5lY3Qvb3BlbmNvbm5lY3RfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuY29ubmVjdC9vcGVuY29ubmVjdF9naXQuYmIKQEAgLTIsNyArMiwxMSBAQAogTElDRU5TRSA9ICJMR1BMdjIuMSIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQiCiAKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmluZnJhZGVhZC5vcmcvdXNlcnMvZHdtdzIvb3BlbmNvbm5lY3QuZ2l0IgorU1JDUkVWID0gIjY0ODdlZTg3NjNlMWI2MzQ1NzE4Njg0OTA5YWNhOTcwYmVmYmM0OWQiCisKIERFUEVORFMgPSAidnBuYyBsaWJ4bWwyIGtyYjUgZ2V0dGV4dC1uYXRpdmUiCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIHB5dGhvbiIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBsejQgbGlicHJveHkiCiAKQEAgLTE0LDEwICsxOCw3IEBACiAjIG5vdCBjb25maWcgZGVmYXVsdHMKIFBBQ0tBR0VDT05GSUdbcGNzYy1saXRlXSA9ICItLXdpdGgtbGlicGNzY2xpdGUsLS13aXRob3V0LWxpYnBjc2NsaXRlLHBjc2MtbGl0ZSwiCiAKLVBWID0gIjcuMDgiCi0KLVNSQ1JFViA9ICI5Njk3YmVhMGU1MDk1MmNhYjU3MDYzMjM4YjQzYTcwOTllNDk4Y2JiIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXQuaW5mcmFkZWFkLm9yZy91c2Vycy9kd213Mi9vcGVuY29ubmVjdC5naXQiCitQViA9ICI4LjAyIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCkBAIC0yNSwzICsyNiw4IEBACiAKIEVYVFJBX09FQ09ORiArPSAiLS13aXRoLXZwbmMtc2NyaXB0PSR7U1lTUk9PVF9ERVNURElSfSR7c3lzY29uZmRpcn0vdnBuYy92cG5jLXNjcmlwdCBcCiAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zdGF0aWMiCisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgIyBzY3JpcHQgaGFzIC91c3IvYmluL3B5dGhvbjIgcGF0aCBoYXJkY29kZWQKKyAgICBzZWQgLWkgLWUgJ3M9cHl0aG9uMlwuKj1weXRob249ZycgJHtTfS90cm9qYW5zL3RuY2Mtd3JhcHBlci5weQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGU0MWFhNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW5ldHdvcmttYW5hZ2VyL3B5dGhvbi1uZXR3b3JrbWFuYWdlcl8yLjAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiRWFzeSBjb21tdW5pY2F0aW9uIHdpdGggTmV0d29ya01hbmFnZXIgZnJvbSBQeXRob24iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2V2ZWFzL3B5dGhvbi1uZXR3b3JrbWFuYWdlciIKLUxJQ0VOU0UgPSAiWmxpYiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGQ4YmFjMTc0YmY4NDIyYjE1MTIwMGU2Y2M3OGViZTQiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1ZmM2NDRhNjU0NjMwMzEyOTVjNmI3ZGQ1MWEwZjFiZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiYzM2NTA3NTA2YWQyOWJmZGFjOTQxYjA5ODdlYmQxY2M5NjMzYzlhOTI5MWQ3Mzc4ZTIyOWU0NTE1YTBhNTE3IgotCi1QWVBJX1BBQ0tBR0UgPSAicHl0aG9uLW5ldHdvcmttYW5hZ2VyIgotaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKLQotUkRFUEVORFNfJHtQTn0gPSAibmV0d29ya21hbmFnZXIgcHl0aG9uLWRidXMgcHl0aG9uLXNpeCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbmV0d29ya21hbmFnZXIvcHl0aG9uLW5ldHdvcmttYW5hZ2VyXzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWE0MWYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1uZXR3b3JrbWFuYWdlci9weXRob24tbmV0d29ya21hbmFnZXJfMi4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRWFzeSBjb21tdW5pY2F0aW9uIHdpdGggTmV0d29ya01hbmFnZXIgZnJvbSBQeXRob24iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vc2V2ZWFzL3B5dGhvbi1uZXR3b3JrbWFuYWdlciIKK0xJQ0VOU0UgPSAiWmxpYiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGQ4YmFjMTc0YmY4NDIyYjE1MTIwMGU2Y2M3OGViZTQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNjM4ZDg1NGEzNjM5ZmIzN2MwZTA2ZDEwOTJhNzcxZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZWYxZTM0ZDk4ZDdiZWM3Y2MzNjhlMGNhMGYyZTk3NDkzZjliNWViZTZkNzEwM2Y4ZjY0NjBjZmNhM2RjNmZjIgorCitQWVBJX1BBQ0tBR0UgPSAicHl0aG9uLW5ldHdvcmttYW5hZ2VyIgoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKKworUkRFUEVORFNfJHtQTn0gPSAibmV0d29ya21hbmFnZXIgcHl0aG9uLWRidXMgcHl0aG9uLXNpeCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjguNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zYW1iYS9zYW1iYV80LjguNC5iYgppbmRleCBmMWFhZWI4Li5lODZlZDk2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc2FtYmEvc2FtYmFfNC44LjQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3NhbWJhL3NhbWJhXzQuOC40LmJiCkBAIC0xOTMsMTUgKzE5MywxNSBAQAogCiBweXRob24gc2FtYmFfcG9wdWxhdGVfcGFja2FnZXMoKSB7CiAgICAgZGVmIG1vZHVsZV9ob29rKGZpbGUsIHBrZywgcGF0dGVybiwgZm9ybWF0LCBiYXNlbmFtZSk6Ci0gICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJywgVHJ1ZSkKKyAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICBkLmFwcGVuZFZhcignUlJFQ09NTUVORFNfJXMtYmFzZScgJSBwbiwgJyAlcycgJSBwa2cpCiAKLSAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcsIFRydWUpIG9yICcnCisgICAgbWxwcmVmaXggPSBkLmdldFZhcignTUxQUkVGSVgnKSBvciAnJwogICAgIHBhbV9saWJkaXIgPSBkLmV4cGFuZCgnJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHknKQogICAgIHBhbV9wa2duYW1lID0gbWxwcmVmaXggKyAncGFtLXBsdWdpbiVzJwogICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9saWJkaXIsICdecGFtXyguKilcLnNvJCcsIHBhbV9wa2duYW1lLCAnUEFNIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCiAKLSAgICBsaWJkaXIgPSBkLmdldFZhcignbGliZGlyJywgVHJ1ZSkKKyAgICBsaWJkaXIgPSBkLmdldFZhcignbGliZGlyJykKICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICdebGliKC4qKVwuc29cLi4qJCcsICdsaWIlcycsICdTYW1iYSAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tY29tbW9uJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQogICAgIHBrZ2xpYmRpciA9ICclcy9zYW1iYScgJSBsaWJkaXIKICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwa2dsaWJkaXIsICdebGliKC4qKVwuc28kJywgJ2xpYiVzJywgJ1NhbWJhICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScke1BOfS1jb21tb24nLCBwcmVwZW5kPVRydWUpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjExLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvc25vcnQvc25vcnRfMi45LjExLjEuYmIKaW5kZXggYTk5MTM4ZC4uYzJlYjk1ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3Nub3J0L3Nub3J0XzIuOS4xMS4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9zbm9ydC9zbm9ydF8yLjkuMTEuMS5iYgpAQCAtNzIsNyArNzIsNyBAQAogICAgIG1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9zbm9ydAogICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbG9nL3Nub3J0CiAKLSAgICBzZWQgLWkgJ3MvLWZkZWJ1Zy1wcmVmaXgtbWFwW14gXSovL2c7IHMjJHtTVEFHSU5HX0RJUl9UQVJHRVR9IyNnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCisgICAgc2VkIC1pIC1lICdzfC1mZGVidWctcHJlZml4LW1hcFteIF0qfHxnOyBzfC1mbWFjcm8tcHJlZml4LW1hcFteIF0qfHxnOyBzfCR7U1RBR0lOR19ESVJfVEFSR0VUfXx8ZycgJHtEfSR7bGliZGlyfS9wa2djb25maWcvKi5wYwogfQogCiBGSUxFU18ke1BOfSArPSAiIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE4LjEwLjI0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTguMTAuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxYWE5YTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpcmVsZXNzLXJlZ2RiL3dpcmVsZXNzLXJlZ2RiXzIwMTguMTAuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIldpcmVsZXNzIENlbnRyYWwgUmVndWxhdG9yeSBEb21haW4gRGF0YWJhc2UiCi1IT01FUEFHRSA9ICJodHRwOi8vd2lyZWxlc3Mua2VybmVsLm9yZy9lbi9kZXZlbG9wZXJzL1JlZ3VsYXRvcnkvQ1JEQSIKLVNFQ1RJT04gPSAibmV0IgotTElDRU5TRSA9ICJJU0MiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKLQotU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiYjgxYmQxZjY1MjVhNDgwNmE3MDc4ODFhYTNkZGE2M2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQzZTg0NWFjNzdkMjFhYWM5Yjg4NjQyYzNkZDA0M2E4M2UzOTIwZDcwNmI2M2Q1ZTVjMzFkZmZkYmVjOTExNiIKLQotaW5oZXJpdCBiaW5fcGFja2FnZSBhbGxhcmNoCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7bm9uYXJjaF9saWJkaXJ9L2NyZGEKLSAgICBpbnN0YWxsIC1kIC1tMDc1NSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzCi0gICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuYmluICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhL3JlZ3VsYXRvcnkuYmluCi0gICAgaW5zdGFsbCAtbSAwNjQ0IHNmb3JzaGVlLmtleS5wdWIucGVtICR7RH0ke3N5c2NvbmZkaXJ9L3dpcmVsZXNzLXJlZ2RiL3B1YmtleXMvc2ZvcnNoZWUua2V5LnB1Yi5wZW0KLQotICAgIGluc3RhbGwgLW0gMDY0NCAtRCByZWd1bGF0b3J5LmRiICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIKLSAgICBpbnN0YWxsIC1tIDA2NDQgcmVndWxhdG9yeS5kYi5wN3MgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MKLX0KLQotIyBJbnN0YWxsIHN0YXRpYyByZWd1bGF0b3J5IERCIGluIC9saWIvZmlybXdhcmUgZm9yIGtlcm5lbCB0byBsb2FkLgotIyBUaGlzIHJlcXVpcmVzIExpbnV4IGtlcm5lbCA+PSB2NC4xNS4KLSMgRm9yIGtlcm5lbCA8PSB2NC4xNCwgaW5oZXJpdCB0aGUga2VybmVsX3dpcmVsZXNzX3JlZ2RiLmJiY2xhc3MgaW4ga2VybmVsJ3MgcmVjaXBlLgotUEFDS0FHRVMgPSsgIiR7UE59LXN0YXRpYyIKLVJDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tc3RhdGljIgotCi1GSUxFU18ke1BOfS1zdGF0aWMgPSAiIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIgXAotICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MgXAotIgotCi0jIE5hdGl2ZSB1c2VycyBtaWdodCB3YW50IHRvIHVzZSB0aGUgc291cmNlIG9mIHJlZ3VsYXRvcnkgREIuCi0jIFRoaXMgaXMgZm9yIGV4YW1wbGUgdXNlZCBieSBMaW51eCBrZXJuZWwgPD0gdjQuMTQgYW5kIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzLgotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgIGluc3RhbGwgLW0gMDY0NCAtRCBkYi50eHQgJHtEfSR7bGliZGlyfS9jcmRhL2RiLnR4dAotfQotCi1SU1VHR0VTVFNfJHtQTn0gPSAiY3JkYSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOS4wMy4wMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aXJlbGVzcy1yZWdkYi93aXJlbGVzcy1yZWdkYl8yMDE5LjAzLjAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiN2RlNTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lyZWxlc3MtcmVnZGIvd2lyZWxlc3MtcmVnZGJfMjAxOS4wMy4wMS5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIldpcmVsZXNzIENlbnRyYWwgUmVndWxhdG9yeSBEb21haW4gRGF0YWJhc2UiCitIT01FUEFHRSA9ICJodHRwOi8vd2lyZWxlc3Mua2VybmVsLm9yZy9lbi9kZXZlbG9wZXJzL1JlZ3VsYXRvcnkvQ1JEQSIKK1NFQ1RJT04gPSAibmV0IgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wN2M0ZjZkZWEzODQ1YjAyYTE4ZGMwMGM4Yzg3Njk5YyIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiYjVlYjJkMGNjMjNmNWU0OTVhNTk0MDVlMzRjZTQzN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2E0ZTZmNzAwNjU5OWJjNTc2NGY4NmUxZTg2NDIyNzEwZGExM2FkODBlMDI0MjE0N2I2MWM2ODU1ZWJjOTE1ZiIKKworaW5oZXJpdCBiaW5fcGFja2FnZSBhbGxhcmNoCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAtbTA3NTUgJHtEfSR7bm9uYXJjaF9saWJkaXJ9L2NyZGEKKyAgICBpbnN0YWxsIC1kIC1tMDc1NSAke0R9JHtzeXNjb25mZGlyfS93aXJlbGVzcy1yZWdkYi9wdWJrZXlzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHJlZ3VsYXRvcnkuYmluICR7RH0ke25vbmFyY2hfbGliZGlyfS9jcmRhL3JlZ3VsYXRvcnkuYmluCisgICAgaW5zdGFsbCAtbSAwNjQ0IHNmb3JzaGVlLmtleS5wdWIucGVtICR7RH0ke3N5c2NvbmZkaXJ9L3dpcmVsZXNzLXJlZ2RiL3B1YmtleXMvc2ZvcnNoZWUua2V5LnB1Yi5wZW0KKworICAgIGluc3RhbGwgLW0gMDY0NCAtRCByZWd1bGF0b3J5LmRiICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIKKyAgICBpbnN0YWxsIC1tIDA2NDQgcmVndWxhdG9yeS5kYi5wN3MgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MKK30KKworIyBJbnN0YWxsIHN0YXRpYyByZWd1bGF0b3J5IERCIGluIC9saWIvZmlybXdhcmUgZm9yIGtlcm5lbCB0byBsb2FkLgorIyBUaGlzIHJlcXVpcmVzIExpbnV4IGtlcm5lbCA+PSB2NC4xNS4KKyMgRm9yIGtlcm5lbCA8PSB2NC4xNCwgaW5oZXJpdCB0aGUga2VybmVsX3dpcmVsZXNzX3JlZ2RiLmJiY2xhc3MgaW4ga2VybmVsJ3MgcmVjaXBlLgorUEFDS0FHRVMgPSsgIiR7UE59LXN0YXRpYyIKK1JDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tc3RhdGljIgorCitGSUxFU18ke1BOfS1zdGF0aWMgPSAiIFwKKyAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlL3JlZ3VsYXRvcnkuZGIgXAorICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUvcmVndWxhdG9yeS5kYi5wN3MgXAorIgorCisjIE5hdGl2ZSB1c2VycyBtaWdodCB3YW50IHRvIHVzZSB0aGUgc291cmNlIG9mIHJlZ3VsYXRvcnkgREIuCisjIFRoaXMgaXMgZm9yIGV4YW1wbGUgdXNlZCBieSBMaW51eCBrZXJuZWwgPD0gdjQuMTQgYW5kIGtlcm5lbF93aXJlbGVzc19yZWdkYi5iYmNsYXNzLgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgIGluc3RhbGwgLW0gMDY0NCAtRCBkYi50eHQgJHtEfSR7bGliZGlyfS9jcmRhL2RiLnR4dAorfQorCitSU1VHR0VTVFNfJHtQTn0gPSAiY3JkYSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC9maWxlcy8wMDAxLWZpeC1uby1ydWxlLXRvLW1ha2UtY3lhc3NsLW9wdGlvbnMuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL2ZpbGVzLzAwMDEtZml4LW5vLXJ1bGUtdG8tbWFrZS1jeWFzc2wtb3B0aW9ucy5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMzA0ZDkzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS93b2xmc3NsL2ZpbGVzLzAwMDEtZml4LW5vLXJ1bGUtdG8tbWFrZS1jeWFzc2wtb3B0aW9ucy5oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRnJvbSBmYjQ5MDEzNmNmOGYyNDU2Y2ZlMTNiMGI0Zjc5NmU2YzE1NWU3NWRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzAgQXVnIDIwMTcgMDM6MDI6MzIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IG5vIHJ1bGUgdG8gbWFrZSBjeWFzc2wvb3B0aW9ucy5oCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDM5NWQ3NWQuLmQ0YTM4ODAgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTM2ODQsNiArMzY4NCw3IEBAIEFDX0NPTkZJR19GSUxFUyhbd29sZnNzbC9vcHRpb25zLmhdKQotICNmaQotIEFDX0NPTkZJR19GSUxFUyhbc3VwcG9ydC93b2xmc3NsLnBjXSkKLSBBQ19DT05GSUdfRklMRVMoW3JwbS9zcGVjXSkKLStBQ19DT05GSUdfRklMRVMoW2N5YXNzbC9vcHRpb25zLmhdKQotIAotIEFYX0NSRUFURV9HRU5FUklDX0NPTkZJRwotIEFYX0FNX0pPQlNFUlZFUihbeWVzXSkKLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE0LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM5MDk0ZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTQuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNVTU1BUlkgPSAid29sZlNTTCBMaWdodHdlaWdodCwgRW1iZWRkZWQgU1NMIExpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJ3b2xmU1NMLCBmb3JtZXJseSBDeWFTU0wsIGlzIGEgbGlnaHR3ZWlnaHQgU1NMIGxpYnJhcnkgd3JpdHRlbiBpbiBDIGFuZCBcCi0gICAgICAgICAgICAgICBvcHRpbWl6ZWQgZm9yIGVtYmVkZGVkIGFuZCBSVE9TIGVudmlyb25tZW50cy4gSXQgY2FuIGJlIFwKLSAgICAgICAgICAgICAgIFVwIHRvIDIwIHRpbWVzIHNtYWxsZXIgdGhhbiBPcGVuU1NMIHdoaWxlIHN0aWxsIHN1cHBvcnRpbmcgXAotICAgICAgICAgICAgICAgYSBmdWxsIFRMUyAxLjIgY2xpZW50IGFuZCBzZXJ2ZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53b2xmc3NsLmNvbS95YVNTTC9Qcm9kdWN0cy13b2xmc3NsLmh0bWwiCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVBST1ZJREVTICs9ICJjeWFzc2wiCi1SUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gIjExOTZhM2I2NGQ5ZmFiZmZjODI3M2I4N2Y2ZjY5YWMwZTc1ZDJlYjciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd29sZlNTTC93b2xmc3NsLmdpdDtwcm90b2NvbD1odHRwczsgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtbm8tcnVsZS10by1tYWtlLWN5YXNzbC1vcHRpb25zLmgucGF0Y2ggXAotICAgICAgICAgICIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE1LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvd29sZnNzbC93b2xmc3NsXzMuMTUuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTBhNjA3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dvbGZzc2wvd29sZnNzbF8zLjE1LjcuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJ3b2xmU1NMIExpZ2h0d2VpZ2h0IEVtYmVkZGVkIFNTTC9UTFMgTGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIndvbGZTU0wsIGZvcm1lcmx5IEN5YVNTTCwgaXMgYSBsaWdodHdlaWdodCBTU0wgbGlicmFyeSB3cml0dGVuIFwKKyAgICAgICAgICAgICAgIGluIEMgYW5kIG9wdGltaXplZCBmb3IgZW1iZWRkZWQgYW5kIFJUT1MgZW52aXJvbm1lbnRzLiBJdCBjYW4gXAorICAgICAgICAgICAgICAgYmUgdXAgdG8gMjAgdGltZXMgc21hbGxlciB0aGFuIE9wZW5TU0wgd2hpbGUgc3RpbGwgc3VwcG9ydGluZyBcCisgICAgICAgICAgICAgICBhIGZ1bGwgVExTIGNsaWVudCBhbmQgc2VydmVyLCB1cCB0byBUTFMgMS4zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cud29sZnNzbC5jb20vcHJvZHVjdHMvd29sZnNzbCIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3dvbGZzc2wvd29sZnNzbC9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1BST1ZJREVTICs9ICJjeWFzc2wiCitSUFJPVklERVNfJHtQTn0gPSAiY3lhc3NsIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LndvbGZzc2wuY29tL3dvbGZzc2wtJHtQVn0uemlwIgorU1JDX1VSSVttZDVzdW1dID0gIjZlYzA4YzA5ZTNmNTFjY2NiYjE2ODZiNGZkNDVmOTJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRjYzMxOGM0OTU4MGQzYjljMzYxZmUyNThmYWM2MTA2NjI0YWE3NDRmMWQzNGUwMzk3N2I1ODc3NjZhNzUzZWUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtbmV0d29ya2luZy1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhZjE0MDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAibWV0YS1uZXR3b3JraW5nIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1uZXR3b3JraW5nLWltYWdlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0Yzc0MDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLW5ldHdvcmtpbmctaW1hZ2UuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlICBtZXRhLW5ldHdvcmtpbmctaW1hZ2UtYmFzZS5iYgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2FkMzRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcuYmIKQEAgLTAsMCArMSwxMjIgQEAKK1NVTU1BUlkgPSAiTWV0YS1uZXR3b3JraW5nIHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kYWVtb25zICBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kZXZ0b29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1maWx0ZXIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctaXJjIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWtlcm5lbCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1uZXRraXQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctcHJvdG9jb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nID0gIlwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWNvbm5lY3Rpdml0eSBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kYWVtb25zICBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1kZXZ0b29scyBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1maWx0ZXIgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctaXJjIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWtlcm5lbCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1uZXRraXQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctcHJvdG9jb2xzIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1jb25uZWN0aXZpdHkgPSAiXAorICAgIG9wZW5jb25uZWN0IGV6LWlwdXBkYXRlIG1vc3F1aXR0byBzZXRoZGxjIGNyZGEgXAorICAgIGRpYmJsZXItc2VydmVyIGRpYmJsZXItY2xpZW50IGRpYmJsZXItcmVxdWVzdG9yIGRpYmJsZXItcmVsYXkgXAorICAgIGxpYmRuZXQgdWZ3IGNpdmV0d2ViIGZyZWVyYWRpdXMga2VhIGRhcSBcCisgICAgbWJlZHRscyByZWxheWQgc25vcnQgZGhjcGNkIHJkYXRlIHZsYW4gdW1pcCB2cG5jIFwKKyAgICBpbmV0dXRpbHMgd29sZnNzbCBsZnRwIG1pbml1cG5wZCBuZXR3b3JrbWFuYWdlciBcCisgICAgbmV0d29ya21hbmFnZXItb3BlbnZwbiByZGlzdCBuYW5vbXNnIHB5dGhvbi1uZXR3b3JrbWFuYWdlciBcCisgICAgd2lyZWxlc3MtcmVnZGIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRSIsICJibHVlejUgeDExIiwgImJsdWVtYW4iLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAicGFtIiwgInNhbWJhIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWRhZW1vbnMgPSAiXAorICAgIGlwcG9vbCByYWR2ZCBhdXRvZnMga2VlcGFsaXZlZCBwcm9mdHBkIG9wZW5ocGkgbGxkcGQgXAorICAgIHB0cGQgaWdtcHByb3h5IG9wZW5zYWYgc3F1aWQgXAorICAgIGF0ZnRwIHBvc3RmaXggaXNjc2ktaW5pdGlhdG9yLXV0aWxzIHZzZnRwZCBjeXJ1cy1zYXNsIFwKKyAgICBwdXJlLWZ0cGQgdmJsYWRlIHRmdHAtaHBhIG5jZnRwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAic3lzdGVtZCIsICJuZXR3b3JrZC1kaXNwYXRjaGVyIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWRldnRvb2xzID0gIlwKKyAgICBweXRob24tbGRhcCBncnBjIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZXh0ZW5kZWQgPSAiXAorICAgIGNvcm9zeW5jIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAic3lzdGVtZCIsICJkbG0iLCAiIiwgZCl9IFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctZmlsdGVyID0gIlwKKyAgICBlYnRhYmxlcyBjb25udHJhY2stdG9vbHMgbGlibmV0ZmlsdGVyLXF1ZXVlIFwKKyAgICBsaWJuZXRmaWx0ZXItY29ubnRyYWNrIGxpYm5ldGZpbHRlci1jdGhlbHBlciBsaWJuZXRmaWx0ZXItYWNjdCBcCisgICAgbGlibmV0ZmlsdGVyLWN0dGltZW91dCBsaWJuZXRmaWx0ZXItbG9nIG5mYWNjdCBcCisgICAgYXJuby1pcHRhYmxlcy1maXJld2FsbCBsaWJuZnRubCBuZnRhYmxlcyBcCisgICAgbGlibmZuZXRsaW5rIFwKKyAgICAiIAorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLWlyYyA9ICJcCisgICAgem5jIFwKKyAgICAiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmcta2VybmVsID0gIlwKKyAgICB3aXJlZ3VhcmQtbW9kdWxlIHdpcmVndWFyZC10b29scyBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLW5ldGtpdCA9ICJcCisgICAgbmV0a2l0LXJ3aG8tY2xpZW50IG5ldGtpdC1yd2hvLXNlcnZlciBuZXRraXQtcnNoLWNsaWVudCBuZXRraXQtcnNoLXNlcnZlciBcCisgICAgbmV0a2l0LXRlbG5ldCBuZXRraXQtdGZ0cC1jbGllbnQgbmV0a2l0LXRmdHAtc2VydmVyIFwKKyAgICBuZXRraXQtZnRwIG5ldGtpdC1ydXNlcnMtY2xpZW50IG5ldGtpdC1ydXNlcnMtc2VydmVyIG5ldGtpdC1ycGMgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1wcm90b2NvbHMgPSAiXAorICAgIHRzb2NrcyBmcmVlZGlhbWV0ZXIgeGwydHBkIGJhYmVsZCBtZG5zIG5ldC1zbm1wIFwKKyAgICBxdWFnZ2EgcHB0cC1saW51eCB6ZXJvY29uZiBub3BvbGwgb3BlbmZsb3cgcnAtcHBwb2UgXAorICAgIHJhZGl1c2NsaWVudC1uZyBvcGVubDJ0cCB1c3JzY3RwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkUiLCAicGFtIiwgImRhbnRlIiwgIiIsIGQpfSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnQgPSAiXAorICAgIG5jcCBuZGlzYzYgbXRyIHRpbnlwcm94eSBzc21waW5nIG50cCBcCisgICAgd3Bhbi10b29scyBicmlkZ2UtdXRpbHMgaWZlbnNsYXZlIGNlbHQwNTEgcGltZCBcCisgICAgbmJkLWNsaWVudCBuYmQtc2VydmVyIG5iZC10cmR1bXAgXAorICAgIHBoeXRvb2wgZndrbm9wIGh0cGRhdGUgdGNwcmVwbGF5IGlwc2VjLXRvb2xzIFwKKyAgICB0cmFjZXJvdXRlIGdlb2lwLXBlcmwgZ2VvaXAgZ2VvaXB1cGRhdGUgZXNtdHAgXAorICAgIGxpYnRkYiBuZXRjZiBkbnNtYXNxIGN1cmxwcCBvcGVuaXBtaSBkcmJkLXV0aWxzIFwKKyAgICBkcmJkIHR1bmN0bCBkb3ZlY290IGlwdnNhZG0gc3R1bm5lbCBjaHJvbnkgc3BpY2UtcHJvdG9jb2wgXAorICAgIHVzYnJlZGlyIG50b3Agd2lyZXNoYXJrIHRuZnRwIGxrc2N0cC10b29scyBcCisgICAgY2ltLXNjaGVtYS1kb2NzIGNpbS1zY2hlbWEtZmluYWwgY2ltLXNjaGVtYS1leHBlciBcCisgICAgbGlibWVtY2FjaGVkIHNtY3JvdXRlIGxpYnRldmVudCBpcGNhbGMgYy1hcmVzIHVmdHAgXAorICAgIG50aW1lZCBsaW51eC1hdG0gc3NtdHAgb3BlbnZwbiBsb3dwYW4tdG9vbHMgcmRtYS1jb3JlIFwKKyAgICBpZnRvcCBhb2V0b29scyB0Y3BzbGljZSB0Y3BkdW1wIGxpYnRhbGxvYyBtZW1jYWNoZWQgbnV0dGNwIG5ldGNhdCBcCisgICAgbmV0Y2F0LW9wZW5ic2QgZmV0Y2htYWlsIHlwLXRvb2xzIHlwYmluZC1tdCB5cC10b29scyBcCisgICAgYXJwdGFibGVzIG1hY2NoYW5nZXIgbmdodHRwMiBzdHJvbmdzd2FuIGZwaW5nIFwKKyAgICBkbnNzZWMtY29uZiBsaWJlc210cCBjaWZzLXV0aWxzIG9wZW4taXNucyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFIiwgInBhbSIsICJsaWJsZGIiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTElDRU5TRV9GTEFHU19XSElURUxJU1QiLCAibm9uLWNvbW1lcmNpYWwiLCAibmV0cGVyZiIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgiVFJBTlNMQVRFRF9UQVJHRVRfQVJDSCIsICJpNTg2IHg4Ni02NCIsICJzcGljZSIsICIiLCBkKX0gXAorICAgICIKKworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnRfcmVtb3ZlX21pcHNhcmNoID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9taXBzNjQgPSAic3BpY2UtcHJvdG9jb2wiCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1uZXR3b3JraW5nLXN1cHBvcnRfcmVtb3ZlX21pcHM2NGVsID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9wb3dlcnBjID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9yaXNjdjY0ID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9yaXNjdjMyID0gInNwaWNlLXByb3RvY29sIgorUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtbmV0d29ya2luZy1zdXBwb3J0X3JlbW92ZV9hcm12NSA9ICJzcGljZS1wcm90b2NvbCIKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW5ldHdvcmtpbmctc3VwcG9ydF9yZW1vdmVfYWFyY2g2NCA9ICJzcGljZS1wcm90b2NvbCBtZW1jYWNoZWQiCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAxLURvLW5vdC1oYXJkY29kZS1wYXRoLWZvci1wa2cubTQucGF0Y2gKaW5kZXggZjNmMjVmNC4uNDEwODI3YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDEtRG8tbm90LWhhcmRjb2RlLXBhdGgtZm9yLXBrZy5tNC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoCkBAIC0xLDIxICsxLDI2IEBACi1Gcm9tIDZkMjQzNjVmMDgyODE4NWZkMWJiNGQxOTkyMDljYTA3ZWI5NWM0MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNCBBdWcgMjAxOCAwNjoyNDozNiArMDAwMAotU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgcGF0aCBmb3IgcGtnLm00CitGcm9tIGEyNzIxN2E1NDM3ZGEzMTNkMjUxYjRhNzY1YmY3Y2I2MGZmYWE2MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNToyNzo0NyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDZkMjQzNjVmMDgyODE4NWZkMWJiNGQxOTkyMDljYTA3ZWI5NWM0MWQgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4gRGF0ZTogRnJpLCAyNCBBdWcgMjAxOAorIDA2OjI0OjM2ICswMDAwIFN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGhhcmRjb2RlIHBhdGggZm9yIHBrZy5tNAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNS4xLjUKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBjb25maWd1cmUuaW4gfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDUwYWVkMTUuLmY4MTc2N2MgMTAwNjQ0CitpbmRleCA0OTNiOWYxLi4yNjhkMDZiIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KIEBAIC0xMiw3ICsxMiw3IEBAIGRlZmluZShbQUNfQ0FDSEVfU0FWRV0sIClkbmwKLSBBQ19JTklUKC5hdXRvZnMtNS4xLjQpCisgQUNfSU5JVCguYXV0b2ZzLTUuMS41KQogIAogICMgZm9yIHBrZy1jb25maWcgbWFjcm9zCiAtbTRfaW5jbHVkZShbL3Vzci9zaGFyZS9hY2xvY2FsL3BrZy5tNF0pCkBAIC0yNCw1ICsyOSw1IEBACiAgIwogICMgYXV0b2ZzIGluc3RhbGxzIGJ5IGRlZmF1bHQgaW4gL3VzcgogLS0gCi0xLjkuMQorMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzLzAwMDItUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEVDLnBhdGNoCmluZGV4IDQ2OTAyN2EuLmU3ZmRkMTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy8wMDAyLVJlcGxhY2UtX19TX0lFWEVDLXdpdGgtU19JRVhFQy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2gKQEAgLTEsMjIgKzEsMjYgQEAKLUZyb20gNTU3Y2EzOTlmNGIzYTM5N2YyMGJiMTQ3ZWM2ZGM0YWI5NzMyZGQxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMxIE1hciAyMDE3IDE5OjEyOjEwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgX19TX0lFWEVDIHdpdGggU19JRVhFQworRnJvbSAwOTZlMzM3NDMxNThlMGU4YzA0ZDYwZDAxY2M2NmUyOTQ1ZDc5Nzc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTY6NTI6MzUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSA1NTdjYTM5OWY0YjNhMzk3ZjIwYmIxNDdlYzZkYzRhYjk3MzJkZDFlIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IERhdGU6IEZyaSwgMzEgTWFyIDIwMTcKKyAxOToxMjoxMCAtMDcwMCBTdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgX19TX0lFWEVDIHdpdGggU19JRVhFQwogCiBTX0lFWEVDIGlzIHBvcnRhYmxlCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAKK3VwZGF0ZSBwYXRjaCB0byB2ZXJzaW9uIDUuMS41CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gZGFlbW9uL2xvb2t1cC5jICAgICAgICB8IDQgKystLQorIGRhZW1vbi9sb29rdXAuYyAgICAgICAgfCA2ICsrKy0tLQogIG1vZHVsZXMvbG9va3VwX211bHRpLmMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9kYWVtb24vbG9va3VwLmMgYi9kYWVtb24vbG9va3VwLmMKLWluZGV4IDIwMWNjYmIuLmQ4MjFkYjggMTAwNjQ0CitpbmRleCAxOGRmOTM1Li5kMzVkNDg0IDEwMDY0NAogLS0tIGEvZGFlbW9uL2xvb2t1cC5jCiArKysgYi9kYWVtb24vbG9va3VwLmMKLUBAIC0zNjYsNyArMzY2LDcgQEAgc3RhdGljIGludCByZWFkX2ZpbGVfc291cmNlX2luc3RhbmNlKHN0cnVjdCBhdXRvZnNfcG9pbnQgKmFwLCBzdHJ1Y3QgbWFwX3NvdXJjZQorQEAgLTM4Miw3ICszODIsNyBAQCBzdGF0aWMgaW50IHJlYWRfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfc291cmNlCiAgCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKICAJCXJldHVybiBOU1NfU1RBVFVTX05PVEZPVU5EOwogIApAQCAtMjUsNyArMjksNyBAQAogIAkJdHlwZSA9IHNyY19wcm9nOwogIAllbHNlCiAgCQl0eXBlID0gc3JjX2ZpbGU7Ci1AQCAtODU2LDcgKzg1Niw3IEBAIHN0YXRpYyBpbnQgbG9va3VwX25hbWVfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfCitAQCAtOTQyLDcgKzk0Miw3IEBAIHN0YXRpYyBpbnQgbG9va3VwX25hbWVfZmlsZV9zb3VyY2VfaW5zdGFuY2Uoc3RydWN0IGF1dG9mc19wb2ludCAqYXAsIHN0cnVjdCBtYXBfCiAgCWlmICghU19JU1JFRyhzdC5zdF9tb2RlKSkKICAJCXJldHVybiBOU1NfU1RBVFVTX05PVEZPVU5EOwogIApAQCAtMzQsOCArMzgsMTcgQEAKICAJCXR5cGUgPSBzcmNfcHJvZzsKICAJZWxzZQogIAkJdHlwZSA9IHNyY19maWxlOworQEAgLTExMTgsNyArMTExOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbWFwX3NvdXJjZSAqbG9va3VwX2dldF9tYXBfc291cmNlKHN0cnVjdCBtYXN0ZXJfbWFwZW50ICplbnRyeSkKKyAJaWYgKCFTX0lTUkVHKHN0LnN0X21vZGUpKQorIAkJcmV0dXJuIE5VTEw7CisgCistCWlmIChzdC5zdF9tb2RlICYgX19TX0lFWEVDKQorKwlpZiAoc3Quc3RfbW9kZSAmIFNfSUVYRUMpCisgCQl0eXBlID0gInByb2dyYW0iOworIAllbHNlCisgCQl0eXBlID0gImZpbGUiOwogZGlmZiAtLWdpdCBhL21vZHVsZXMvbG9va3VwX211bHRpLmMgYi9tb2R1bGVzL2xvb2t1cF9tdWx0aS5jCi1pbmRleCBmYWRkMmVhLi4zZWNkYTZkIDEwMDY0NAoraW5kZXggYmI5Zjg4Yy4uY2YxMDlkZSAxMDA2NDQKIC0tLSBhL21vZHVsZXMvbG9va3VwX211bHRpLmMKICsrKyBiL21vZHVsZXMvbG9va3VwX211bHRpLmMKIEBAIC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIHN0cnVjdCBsb29rdXBfbW9kICpuc3Nfb3Blbl9sb29rdXAoY29uc3QgY2hhciAqZm9ybWF0LCBpbnQgYXJnYywgY29uc3QgY2gKQEAgLTQ3LDMgKzYwLDYgQEAKICAJCQkJdHlwZSA9IHNyY19wcm9nOwogIAkJCWVsc2UKICAJCQkJdHlwZSA9IHNyY19maWxlOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkNWMzZTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL2F1dG9mcy01LjAuNy1kby1ub3QtY2hlY2stZm9yLW1vZHByb2JlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotRnJvbSAyY2JjNTc2ZWExZmJkMWNiZjQ1NzlkNjRiMzBlNDFkNzYyMDg0ZTdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogInlhbmp1bi56aHUiIDx5YW5qdW4uemh1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDE1IEphbiAyMDEzIDEyOjQ1OjQ0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGF1dG9mczogZG8gbm90IGNoZWNrIGZvciBtb2Rwcm9iZQotCi1EZXNjcmlwdGlvbjogTG9hZGluZyBhdXRvZnMgbW9kdWxlIGlzICNpZmRlZidlZCBpbiB0aGUgc291cmNlLCBzbwotIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIC9wcm9jICh3aGljaCBpcyBvbmx5IHVzZWQKLSB0byBsb2FkIG1vZHVsZSkgb3IgbW9kcHJvYmUuICBCb3RoIG1vZHByb2JlIGFuZCAvcHJvYwotIGFyZSBhbHdheXMgaW4gdGhlIGZpeGVkIGxvY2F0aW9uIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0bwotIGNoZWNrIGZvciB0aGVzZSB0byBzdGFydCB3aXRoLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQotWzFdIGh0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvYXV0b2ZzL21zZzAwMTM5Lmh0bWwKLQotLS0tCi0gY29uZmlndXJlLmluICAgICAgICB8ICA2IC0tLS0tLQotIGRhZW1vbi9tb2R1bGUuYyAgICAgfCAgMyArKysKLSBpbmNsdWRlL2F1dG9tb3VudC5oIHwgMTEgKysrLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDQ0YTFjOGIuLmIyMjYyMzYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTM0LDExICszNCw2IEBAIEFDX01TR19DSEVDS0lORyhbZm9yIGJpbmFyaWVzIGluXSkKLSBBQ19NU0dfUkVTVUxUKFskc2VhcmNocGF0aF0pCi0gCi0gIwotLSMgTWFrZSBzdXJlIHdlIGhhdmUgIi9wcm9jIgotLSMKLS1BRl9MSU5VWF9QUk9DRlMoKQotLQotLSMKLSAjIExvY2F0aW9uIG9mIGluaXQuZCBkaXJlY3Rvcnk/Ci0gIwotIEFGX0lOSVRfRCgpCi1AQCAtMTQyLDcgKzEzNyw2IEBAIEFGX1BBVEhfSU5DTFVERShVTU9VTlQsIHVtb3VudCwgL2Jpbi91bW91bnQsICRzZWFyY2hwYXRoKQotIEFGX1BBVEhfSU5DTFVERShFMkZTQ0ssIGZzY2suZXh0MiBlMmZzY2ssICwgJHNlYXJjaHBhdGgpCi0gQUZfUEFUSF9JTkNMVURFKEUzRlNDSywgZnNjay5leHQzIGUzZnNjaywgLCAkc2VhcmNocGF0aCkKLSBBRl9QQVRIX0lOQ0xVREUoRTRGU0NLLCBmc2NrLmV4dDQgZTRmc2NrLCAsICRzZWFyY2hwYXRoKQotLUFGX1BBVEhfSU5DTFVERShNT0RQUk9CRSwgbW9kcHJvYmUsICwgJHNlYXJjaHBhdGgpCi0gCi0gQUZfQ0hFQ0tfUFJPRyhMRVgsIGZsZXggbGV4LCAsICRzZWFyY2hwYXRoKQotIEFGX0NIRUNLX1BST0coWUFDQywgYmlzb24sICwgJHNlYXJjaHBhdGgpCi1kaWZmIC0tZ2l0IGEvZGFlbW9uL21vZHVsZS5jIGIvZGFlbW9uL21vZHVsZS5jCi1pbmRleCBiZWQ4ZjdhLi5lNDFhOThlIDEwMDY0NAotLS0tIGEvZGFlbW9uL21vZHVsZS5jCi0rKysgYi9kYWVtb24vbW9kdWxlLmMKLUBAIC0xOSw2ICsxOSw4IEBACi0gI2luY2x1ZGUgImF1dG9tb3VudC5oIgotICNpbmNsdWRlICJuc3N3aXRjaC5oIgotIAotKyNpZiAwCi0rLyogc2VlIGNvbW1lbnQgaW4gZGFlbW9uL2F1dG9tb3VudC5jIGFyb3VuZCBsb2FkX2F1dG9mczRfbW9kdWxlKCkgY2FsbCAqLwotIGludCBsb2FkX2F1dG9mczRfbW9kdWxlKHZvaWQpCi0gewotIAlGSUxFICpmcDsKLUBAIC01Myw2ICs1NSw3IEBAIGludCBsb2FkX2F1dG9mczRfbW9kdWxlKHZvaWQpCi0gCi0gCXJldHVybiAxOwotIH0KLSsjZW5kaWYKLSAKLSBpbnQgb3Blbl9sb29rdXAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZXJyX3ByZWZpeCwgY29uc3QgY2hhciAqbWFwZm10LAotIAkJaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmNvbnN0ICphcmd2LCBzdHJ1Y3QgbG9va3VwX21vZCAqKmxvb2t1cCkKLWRpZmYgLS1naXQgYS9pbmNsdWRlL2F1dG9tb3VudC5oIGIvaW5jbHVkZS9hdXRvbW91bnQuaAotaW5kZXggYzBmNWZiZi4uY2MzMzZhZCAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvYXV0b21vdW50LmgKLSsrKyBiL2luY2x1ZGUvYXV0b21vdW50LmgKLUBAIC01MSwxNiArNTEsMTEgQEAKLSAjZXJyb3IgRmFpbGVkIHRvIGxvY2F0ZSB1bW91bnQoOCkhCi0gI2VuZGlmCi0gCi0tI2lmbmRlZiBIQVZFX01PRFBST0JFCi0tI2Vycm9yIEZhaWxlZCB0byBsb2NhdGUgbW9kcHJvYmUoOCkhCi0tI2VuZGlmCi0tCi0tI2lmbmRlZiBIQVZFX0xJTlVYX1BST0NGUwotLSNlcnJvciBGYWlsZWQgdG8gdmVyaWZ5IGV4aXN0ZW5jZSBvZiBwcm9jZnMgZmlsZXN5c3RlbSEKLS0jZW5kaWYKLS0KLSsjaWYgMAotKy8qIHNlZSBjb21tZW50IGluIGRhZW1vbi9hdXRvbW91bnQuYyBhcm91bmQgbG9hZF9hdXRvZnM0X21vZHVsZSgpIGNhbGwgKi8KLSAjZGVmaW5lIEZTX01PRFVMRV9OQU1FICAiYXV0b2ZzNCIKLSBpbnQgbG9hZF9hdXRvZnM0X21vZHVsZSh2b2lkKTsKLSsjZW5kaWYKLSAKLSAvKiBUaGUgLXMgKHNsb3BweSkgb3B0aW9uIHRvIG1vdW50IGlzIGdvb2QsIGlmIHdlIGhhdmUgaXQuLi4gKi8KLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mcy9wa2djb25maWctbGlibnNsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKaW5kZXggMWM3YjExOS4uYmU3NTBhYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3BrZ2NvbmZpZy1saWJuc2wucGF0Y2gKQEAgLTEsNyArMSw5IEBACi1Gcm9tIGUzYWU1NmNmMGJiNDA2M2MzMTI5NWY0NWQwNGUzYzUwNGY0YjZjYzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyNCBBcHIgMjAxNyAyMDo0MToyNSAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhdXRvZnM6IFVwZ3JhZGUgdG8gNS4xLjIgcmVsZWFzZQorRnJvbSA2MDJmOWNhODNjMmJkYmY1MTFiY2IxNzhmY2I0YjlmYzU0ZGE5NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTU6MjA6NDYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSBlM2FlNTZjZjBiYjQwNjNjMzEyOTVmNDVkMDRlM2M1MDRmNGI2Y2M3IE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IERhdGU6IE1vbiwgMjQgQXByIDIwMTcKKyAyMDo0MToyNSAtMDcwMCBTdWJqZWN0OiBbUEFUQ0hdIGF1dG9mczogVXBncmFkZSB0byA1LjEuMiByZWxlYXNlCiAKIFVzZSBwa2ctY29uZmlnIGZpcnN0IHRvIGxvb2sgZm9yIGV4dGVybmFsIGxpYm5zbCB3aGljaCBpcyBub3cKIHNwbGl0IG91dCBmcm9tIGdsaWJjLCBpZiBpdCBkb2VzIG5vdCBleGlzdCB0aGVuIHNlZSBpZiBpdHMgcHJvdmlkZWQKQEAgLTksMjAgKzExLDI3IEBACiAKIC1LaGVtCiAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiA1LjEuNQorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIGNvbmZpZ3VyZS5pbiB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggOWNmNzNiOC4uMTAxNmM3MSAxMDA2NDQKK2luZGV4IDc2ZWNiNDAuLjQ5M2I5ZjEgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuaW4KICsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTE4Niw3ICsxODYsNyBAQCBmaQotICMKLSAjIGdsaWJjL2xpYmMgNiBuZXcgbGlicmFyaWVzCi0gIwotLUFDX0NIRUNLX0xJQihuc2wsIHlwX21hdGNoLCBMSUJOU0w9Ii1sbnNsIikKLStQS0dfQ0hFQ0tfTU9EVUxFUyhbTlNMXSwgW2xpYm5zbF0sIFtdLCBbQUNfQ0hFQ0tfTElCKFtuc2xdLFt5cF9tYXRjaF0sW0xJQk5TTD0iLWxuc2wiXSxbTElCTlNMPSIiXSldKQotIEFDX1NVQlNUKExJQk5TTCkKK0BAIC0yMzgsNyArMjM4LDcgQEAgQUNfU1VCU1QoTElCQ0xPQ0tfR0VUVElNRSkKICAKLSBBQ19DSEVDS19MSUIocmVzb2x2LCByZXNfcXVlcnksIExJQlJFU09MVj0iLWxyZXNvbHYiKQorIFBLR19DSEVDS19NT0RVTEVTKFtOU0xdLFtsaWJuc2xdLCwKKyBbCistQUNfQ0hFQ0tfTElCKG5zbCwgeXBfbWF0Y2gsIE5TTF9MSUJTPSItbG5zbCIpCisrUEtHX0NIRUNLX01PRFVMRVMoW05TTF0sIFtsaWJuc2xdLCBbXSwgW0FDX0NIRUNLX0xJQihbbnNsXSxbeXBfbWF0Y2hdLFtMSUJOU0w9Ii1sbnNsIl0sW0xJQk5TTD0iIl0pXSkKKyBBQ19TVUJTVChOU0xfTElCUykKKyBOU0xfQ0ZMQUdTPSIiCisgXSkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9hdXRvZnMvYXV0b2ZzL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaAppbmRleCAzZDBjNmJkLi5kMWY5ZjM0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnMvdXNpbmctcGtnLWNvbmZpZy10by1kZXRlY3QtbGlieG1sLTIuMC1hbmQta3JiNS5wYXRjaApAQCAtMSwyMiArMSwyNyBAQAotRnJvbSBkYWJjYmRhZTM4MDM4YThlNGFkMmM0Mjg2MTEyMzgxYzQwN2M1Y2U3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxOSBBdWcgMjAxNCAxMTozMTozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSB1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZCBrcmI1CitGcm9tIGRkOTBhNjkwZjk1NTY5Yjk5OWI4YWM5YWI1N2U4MzRiMzQyMWRjYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNToxOTowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIGRhYmNiZGFlMzgwMzhhOGU0YWQyYzQyODYxMTIzODFjNDA3YzVjZTcgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPiBEYXRlOiBUdWUsIDE5IEF1ZyAyMDE0CisgMTE6MzE6MzUgKzA4MDAgU3ViamVjdDogW1BBVENIXSB1c2luZyBwa2ctY29uZmlnIHRvIGRldGVjdCBsaWJ4bWwtMi4wIGFuZAorIGtyYjUKIAotVXBzdHJlYW0tc3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgogCit1cGRhdGUgcGF0Y2ggdG8gNS4xLjUKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBjb25maWd1cmUuaW4gfCAxNiArKysrKysrKysrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGIyMjYyMzYuLjljZjczYjggMTAwNjQ0CitpbmRleCBmNWZiYjM1Li43NmVjYjQwIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmluCiArKysgYi9jb25maWd1cmUuaW4KLUBAIC0xNjIsOCArMTYyLDIwIEBAIGlmIHRlc3QgeCRlbmFibGVfc2xvcHB5X21vdW50ID0geHllczsgdGhlbgotIGZpCitAQCAtMjExLDggKzIxMSwyMCBAQCBmaQorIEFDX1NVQlNUKEVOQUJMRV9GRURGUykKICAKICAjIExEQVAgU0FTTCBhdXRoIG5lZWRzIGxpYnhtbCBhbmQgS2VyYmVyb3MKIC1BRl9DSEVDS19MSUJYTUwoKQpAQCAtMzgsMyArNDMsNiBAQAogIAogIEFDX1NFQVJDSF9MSUJTKFt2ZXJzaW9uc29ydF0sW10pCiAgaWYgdGVzdCAiJGFjX2N2X3NlYXJjaF92ZXJzaW9uc29ydCIgPSAibm8iOyB0aGVuCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGExYmNhZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi1TVU1NQVJZID0gIktlcm5lbCBiYXNlZCBhdXRvbW91bnRlciBmb3IgbGludXgiCi1TRUNUSU9OID0gInV0aWxzIgotTElDRU5TRSA9ICJHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCi0KLURFUEVORFMgKz0gImxpYnRpcnBjIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBlMmZzcHJvZ3Mgb3BlbnNzbCBsaWJ4bWwyIHV0aWwtbGludXggY3lydXMtc2FzbCBsaWJuc2wyIgotCi1DRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZwotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYXV0b2ZzLTUuMC43LWRvLW5vdC1jaGVjay1mb3ItbW9kcHJvYmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2FkZC10aGUtbmVlZGVkLXN0ZGFyZy5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURlZmluZS1fX1NXT1JEX1RZUEUtYW5kLV9QQVRIX05TU1dJVENIX0NPTkYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLWxpYm5zbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtbG9va3VwX211bHRpLmMtUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjE3YmM5ZDM3MWNmMzlkOTlmNDAwZWJhZGZjMjI4OWJiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkMWM5OTY0YzgyODZjY2IwODI2MmFkNDdjNjBiYjYzNDM0OTI5MDJkZWY1Mzk5ZmQzNmQ3OWEwY2NiMGU3MTgiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2RhZW1vbnMvYXV0b2ZzL3Y1LyIKLQotSU5JVFNDUklQVF9OQU1FID0gImF1dG9mcyIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotCi0jIEZJWE1FOiBtb2R1bGVzL01ha2VmaWxlIGhhcyBjcmFwcHkgcnVsZXMgdGhhdCBkb24ndCBvYmV5IExERkxBR1MKLSNDRkxBR1MgKz0gIiR7TERGTEFHU30iCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWQ9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSwtLXdpdGhvdXQtc3lzdGVtZCxzeXN0ZW1kIgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1FWFRSQV9PRU1BS0UgPSAiRE9OVFNUUklQPTEiCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tb3VudC1sb2NraW5nIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1pZ25vcmUtYnVzeSAtLXdpdGgtb3BlbmxkYXA9bm8gXAotICAgICAgICAgICAgICAgIC0td2l0aC1zYXNsPW5vIC0td2l0aC1saWJ0aXJwYyBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXBhdGg9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtZmlmb2Rpcj0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWZsYWdkaXI9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXAotIgotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfcGF0aF9SQU5MSUI9JHtSQU5MSUJ9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfUlBDR0VOPXJwY2dlbiBcCi0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICBpZiBbICEgLWUgJHtTfS9hY2luY2x1ZGUubTQgXTsgdGhlbgotICAgICAgICBjcCAke1N9L2FjbG9jYWwubTQgJHtTfS9hY2luY2x1ZGUubTQKLSAgICBmaQotICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vYWNsb2NhbC9wa2cubTQgLgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgaWYgWyAtZCAke0R9L3J1biBdOyB0aGVuCi0gICAgICAgIHJtZGlyICR7RH0vcnVuCi0gICAgZmkKLSAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCi0gICAgICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotICAgIGZpCi19Ci1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKLQotSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgotCi1SUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCi1SUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCi1SQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2F1dG9mcy9hdXRvZnNfNS4xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU0MzU0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvYXV0b2ZzL2F1dG9mc181LjEuNS5iYgpAQCAtMCwwICsxLDg0IEBACitTVU1NQVJZID0gIktlcm5lbCBiYXNlZCBhdXRvbW91bnRlciBmb3IgbGludXgiCitTRUNUSU9OID0gInV0aWxzIgorTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMiCisKK0RFUEVORFMgKz0gImxpYnRpcnBjIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSBlMmZzcHJvZ3Mgb3BlbnNzbCBsaWJ4bWwyIHV0aWwtbGludXggY3lydXMtc2FzbCBsaWJuc2wyIgorCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZworCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvZGFlbW9ucy9hdXRvZnMvdjUvYXV0b2ZzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctaW5jbHVkZS1saW51eC1uZnMuaC1kaXJlY3RseS1pbi1ycGNfc3ViLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vLWJhc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4X2Rpc2FibGVfbGRhcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvZnMtNS4wLjctZml4LWxpYi1kZXBzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FkZC10aGUtbmVlZGVkLXN0ZGFyZy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzaW5nLXBrZy1jb25maWctdG8tZGV0ZWN0LWxpYnhtbC0yLjAtYW5kLWtyYjUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZm9yY2UtU1RSSVAtdG8tZW10cHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc20ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXRoZS1ZQUNDLXJ1bGUtdG8tZml4LWEtYnVpbGRpbmctZmFpbHVyZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURlZmluZS1fX1NXT1JEX1RZUEUtYW5kLV9QQVRIX05TU1dJVENIX0NPTkYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1SZXBsYWNlLV9fU19JRVhFQy13aXRoLVNfSUVYRUMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLWxpYm5zbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtbG9va3VwX211bHRpLmMtUmVwbGFjZS1fX1NfSUVYRUMtd2l0aC1TX0lFWEUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaGFyZGNvZGUtcGF0aC1mb3ItcGtnLm00LnBhdGNoIFwKKyAgICAgICAgICAgIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwM2IxMzE2OGVjN2JkNjZhNmYyZDVmNmZlYTcwNWVlZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4NmE4ZTU2ZWE5ZDcyYmI1M2ZmOGNkZmVlZmI1Y2FmZTk4MzU5MmM2YjAxNzhmYjk5YzRhNzMxZTU5ODc5MTgxIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9kYWVtb25zL2F1dG9mcy92NS8iCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJhdXRvZnMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworIyBGSVhNRTogbW9kdWxlcy9NYWtlZmlsZSBoYXMgY3JhcHB5IHJ1bGVzIHRoYXQgZG9uJ3Qgb2JleSBMREZMQUdTCisjQ0ZMQUdTICs9ICIke0xERkxBR1N9IgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0sLS13aXRob3V0LXN5c3RlbWQsc3lzdGVtZCIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKKworRVhUUkFfT0VNQUtFID0gIkRPTlRTVFJJUD0xIgorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtbW91bnQtbG9ja2luZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtaWdub3JlLWJ1c3kgLS13aXRoLW9wZW5sZGFwPW5vIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtc2FzbD1ubyAtLXdpdGgtbGlidGlycGMgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wYXRoPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfSBcCisgICAgICAgICAgICAgICAgLS13aXRoLWZpZm9kaXI9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXAorICAgICAgICAgICAgICAgIC0td2l0aC1mbGFnZGlyPSR7bG9jYWxzdGF0ZWRpcn0vcnVuIFwKKyIKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X3BhdGhfUkFOTElCPSR7UkFOTElCfSBcCisgICAgICAgICAgICAgICAgICAgICAgICBhY19jdl9wYXRoX1JQQ0dFTj1ycGNnZW4gXAorIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgaWYgWyAhIC1lICR7U30vYWNpbmNsdWRlLm00IF07IHRoZW4KKyAgICAgICAgY3AgJHtTfS9hY2xvY2FsLm00ICR7U30vYWNpbmNsdWRlLm00CisgICAgZmkKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvcGtnLm00IC4KK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgc2FtcGxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIFNVQkRJUlMgZnJvbSA1LjEuNSwgbmVlZCB0byBpbnN0YWxsIHNlcGFyYXRlbHkKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGxfc2FtcGxlcworCisgICAgaWYgWyAtZCAke0R9L3J1biBdOyB0aGVuCisgICAgICAgIHJtZGlyICR7RH0vcnVuCisgICAgZmkKKyAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuCisgICAgICAgIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIGZpCit9CitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSUkVQTEFDRVNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitSQ09ORkxJQ1RTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF1dG9mcy5zZXJ2aWNlIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTQyNGRjNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lnbXBwcm94eS9pZ21wcHJveHlfMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotU1VNTUFSWSA9ICJzaW1wbGUgZHluYW1pYyBtdWx0aWNhc3Qgcm91dGluZyBkYWVtb24gdGhhdCBvbmx5IHVzZXMgSUdNUCBzaWduYWxsaW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pZ21wcHJveHkvIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWU5OTVlMjc5OWJiMGQyN2Q2MzA2OWI5N2Y4MDU0MjAiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9pZ21wcHJveHkvZmlsZXMvJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtaWdtcHByb3h5LmgtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItdV9zaG9ydC11X2luLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzU2ZjQxZWMxOTViYzFmZTAxNjM2OWJmNzRlZmM1YTEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWUxOGZmM2Q4YzNhZTNhMjlkY2NiN2U1ZWVkZjMzMjMzNzMzMDAyMDE2OGJkOTVhMTFjZWNlOGQ3ZDdlZTZhZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUNGTEFHUyArPSAiLURfR05VX1NPVVJDRSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjIuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaWdtcHByb3h5L2lnbXBwcm94eV8wLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTllYmUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pZ21wcHJveHkvaWdtcHByb3h5XzAuMi4xLmJiCkBAIC0wLDAgKzEsMTUgQEAKK1NVTU1BUlkgPSAic2ltcGxlIGR5bmFtaWMgbXVsdGljYXN0IHJvdXRpbmcgZGFlbW9uIHRoYXQgb25seSB1c2VzIElHTVAgc2lnbmFsbGluZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaWdtcHByb3h5LyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzIwNDBmZjNhNTU2NzBjMWRlYzBjMzJiMjA5YWQ2OSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vcGFsaS9pZ21wcHJveHkvcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vaWdtcHByb3h5LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1pZ21wcHJveHkuaC1JbmNsdWRlLXN5cy10eXBlcy5oLWZvci11X3Nob3J0LXVfaW4ucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjNhOWMyY2I0MmMxZjVlZTBjYjc2OWE0ODg0NTQ1NjQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNTFlNjIzMDM3MzkwZjU3NWMxMjAzZDljYmI3YmEzM2E4YmRlZjg1YTNjNWUxZDI5MDFjNWEyYTM4NDQ5YTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9maWxlcy8wMDAxLUZpeC1pNTg2LWJ1aWxkLWlzc3Vlcy13aXRoLXN0cmluZy1sZW5ndGgtb3ZlcmZsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk0NWM2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzL2ZpbGVzLzAwMDEtRml4LWk1ODYtYnVpbGQtaXNzdWVzLXdpdGgtc3RyaW5nLWxlbmd0aC1vdmVyZmxvdy5wYXRjaApAQCAtMCwwICsxLDExNSBAQAorRnJvbSAyNGNlOGY2MmUwNDJlNjk0OTdlMTI5OTIxMjUwNGMzNTYxNzllMTViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTGVlIER1bmNhbiA8bGR1bmNhbkBzdXNlLmNvbT4KK0RhdGU6IFR1ZSwgNiBOb3YgMjAxOCAxMToxNjowNiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggaTU4NiBidWlsZCBpc3N1ZXMgd2l0aCBzdHJpbmcgbGVuZ3RoIG92ZXJmbG93LgorCitHY2M3IHdhcm5zIG9mIHBvc3NpYmxlIHN0cmluZyBwcmludCBvdmVyZmxvdywgb24gaTU4NiwKK3doZW4gcHJpbnRpbmcgcGFzc3dvcmQgbGVuZ3RoICh2aWEgYSBtYWNybyksIGdlbmVyYXRpbmcKK2Vycm9ycyBsaWtlOgorCitbICAgNTlzXSAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CitbICAgNTlzXSBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3Vzci9pbmNsdWRlL3N0ZGlvLmg6ODYyOjAsCitbICAgNTlzXSAgICAgICAgICAgICAgICAgIGZyb20gaWRibS5oOjI3LAorWyAgIDU5c10gICAgICAgICAgICAgICAgICBmcm9tIGNvbnRleHQuaDoyMiwKK1sgICA1OXNdICAgICAgICAgICAgICAgICAgZnJvbSBpZGJtLmM6NTk6CitbICAgNTlzXSAvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDo2NDoxMDogbm90ZToKKydfX2J1aWx0aW5fX19zbnByaW50Zl9jaGsnIG91dHB1dCBiZXR3ZWVuIDIgYW5kIDExIGJ5dGVzIGludG8gYQorZGVzdGluYXRpb24gb2Ygc2l6ZSA4CitbICAgNTlzXSAgICByZXR1cm4gX19idWlsdGluX19fc25wcmludGZfY2hrIChfX3MsIF9fbiwKK19fVVNFX0ZPUlRJRllfTEVWRUwgLSAxLAorWyAgIDU5c10gICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Cit+fn5+fn5+fn5+CitbICAgNTlzXSAgICAgICAgIF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7CitbICAgNTlzXSAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1sgICA1OXNdIGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCitbICAgNTlzXSBtYWtlWzFdOiAqKiogWzxidWlsdGluPjogaWRibS5vXSBFcnJvciAxCitbICAgNTlzXSBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeQorCitUaGUgZml4IGlzIHRvIGxpbWl0IHRoZSBzaXplIG9mIHRoZSBzdHJpbmcgcHJpbnRlZCwgc28gdGhhdCBubworb3ZlcmZsb3cgaXMgcG9zc2libGUuCisKK1RoZSBwcmludCBtYWNyb3MgaW4gdXNyL2lkYm0uYyB3ZXJlIHVwZGF0ZWQsIGFzIHdlbGwsIHRvIG1hdGNoCit0aGUgbmV3ZXIgdmVyc2lvbiBpbiBsaWJvcGVuaXNjc2l1c3IvaWRibS5jLCBhbHNvIHRvIGhlbHAgdGhlCitpNTg2IGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVuLWlzY3NpL29wZW4taXNjc2kvY29tbWl0LzI0Y2U4ZjYyZTA0MmU2OTQ5N2UxMjk5MjEyNTA0YzM1NjE3OWUxNWJdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CistLS0KKyBsaWJvcGVuaXNjc2l1c3IvaWRibS5jIHwgIDIgKy0KKyB1c3IvaWRibS5jICAgICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYm9wZW5pc2NzaXVzci9pZGJtLmMgYi9saWJvcGVuaXNjc2l1c3IvaWRibS5jCitpbmRleCA3NzI0ZGUyLi4wNTVkZDlhIDEwMDY0NAorLS0tIGEvbGlib3BlbmlzY3NpdXNyL2lkYm0uYworKysrIGIvbGlib3BlbmlzY3NpdXNyL2lkYm0uYworQEAgLTY3Niw3ICs2NzYsNyBAQCB1cGRhdGVkOgorIAlpZiAoIXBhc3N3ZF9kb25lICYmICFzdHJjbXAoI19wYXJhbSwgbmFtZSkpIHsgXAorIAkJcGFzc3dkX2RvbmUgPSAxOyBcCisgCQluYW1lID0gI19wYXJhbSAiX2xlbmd0aCI7IFwKKy0JCXNucHJpbnRmKHBhc3N3ZF9sZW4sIDgsICIlZCIsIChpbnQpc3RybGVuKHZhbHVlKSk7IFwKKysJCXNucHJpbnRmKHBhc3N3ZF9sZW4sIDgsICIlLjdkIiwgKGludClzdHJsZW4odmFsdWUpICYgMHhmZmZmKTsgXAorIAkJdmFsdWUgPSBwYXNzd2RfbGVuOyBcCisgCQlnb3RvIHNldHVwX3Bhc3N3ZF9sZW47IFwKKyAJfQorZGlmZiAtLWdpdCBhL3Vzci9pZGJtLmMgYi91c3IvaWRibS5jCitpbmRleCBhMDIwN2UyLi44OWE2YzI3IDEwMDY0NAorLS0tIGEvdXNyL2lkYm0uYworKysrIGIvdXNyL2lkYm0uYworQEAgLTMwLDYgKzMwLDcgQEAKKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKysjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyAKKyAjaW5jbHVkZSAiaWRibS5oIgorICNpbmNsdWRlICJpZGJtX2ZpZWxkcy5oIgorQEAgLTY1LDcgKzY2LDcgQEAgc3RhdGljIHN0cnVjdCBpZGJtICpkYjsKKyAjZGVmaW5lIF9fcmVjaW5mb19pbnQoX2tleSwgX2luZm8sIF9yZWMsIF9uYW1lLCBfc2hvdywgX24sIF9tb2QpIGRvIHsgXAorIAlfaW5mb1tfbl0udHlwZSA9IFRZUEVfSU5UOyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJaTMyLCBfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLmRhdGEgPSAmX3JlYy0+X25hbWU7IFwKKyAJX2luZm9bX25dLmRhdGFfbGVuID0gc2l6ZW9mKF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0udmlzaWJsZSA9IF9zaG93OyBcCitAQCAtNzYsNyArNzcsNyBAQCBzdGF0aWMgc3RydWN0IGlkYm0gKmRiOworICNkZWZpbmUgX19yZWNpbmZvX3VpbnQ4KF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX1VJTlQ4OyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJdTgsIF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0uZGF0YSA9ICZfcmVjLT5fbmFtZTsgXAorIAlfaW5mb1tfbl0uZGF0YV9sZW4gPSBzaXplb2YoX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS52aXNpYmxlID0gX3Nob3c7IFwKK0BAIC04Nyw3ICs4OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaWRibSAqZGI7CisgI2RlZmluZSBfX3JlY2luZm9fdWludDE2KF9rZXksIF9pbmZvLCBfcmVjLCBfbmFtZSwgX3Nob3csIF9uLCBfbW9kKSBkbyB7IFwKKyAJX2luZm9bX25dLnR5cGUgPSBUWVBFX1VJTlQxNjsgXAorIAlzdHJsY3B5KF9pbmZvW19uXS5uYW1lLCBfa2V5LCBOQU1FX01BWFZBTCk7IFwKKy0Jc25wcmludGYoX2luZm9bX25dLnZhbHVlLCBWQUxVRV9NQVhWQUwsICIlZCIsIF9yZWMtPl9uYW1lKTsgXAorKwlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiUiIFBSSXUxNiwgX3JlYy0+X25hbWUpOyBcCisgCV9pbmZvW19uXS5kYXRhID0gJl9yZWMtPl9uYW1lOyBcCisgCV9pbmZvW19uXS5kYXRhX2xlbiA9IHNpemVvZihfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLnZpc2libGUgPSBfc2hvdzsgXAorQEAgLTk4LDcgKzk5LDcgQEAgc3RhdGljIHN0cnVjdCBpZGJtICpkYjsKKyAjZGVmaW5lIF9fcmVjaW5mb191aW50MzIoX2tleSwgX2luZm8sIF9yZWMsIF9uYW1lLCBfc2hvdywgX24sIF9tb2QpIGRvIHsgXAorIAlfaW5mb1tfbl0udHlwZSA9IFRZUEVfVUlOVDMyOyBcCisgCXN0cmxjcHkoX2luZm9bX25dLm5hbWUsIF9rZXksIE5BTUVfTUFYVkFMKTsgXAorLQlzbnByaW50ZihfaW5mb1tfbl0udmFsdWUsIFZBTFVFX01BWFZBTCwgIiVkIiwgX3JlYy0+X25hbWUpOyBcCisrCXNucHJpbnRmKF9pbmZvW19uXS52YWx1ZSwgVkFMVUVfTUFYVkFMLCAiJSIgUFJJdTMyLCBfcmVjLT5fbmFtZSk7IFwKKyAJX2luZm9bX25dLmRhdGEgPSAmX3JlYy0+X25hbWU7IFwKKyAJX2luZm9bX25dLmRhdGFfbGVuID0gc2l6ZW9mKF9yZWMtPl9uYW1lKTsgXAorIAlfaW5mb1tfbl0udmlzaWJsZSA9IF9zaG93OyBcCitAQCAtMTA0MSw3ICsxMDQyLDcgQEAgdXBkYXRlZDoKKyAJaWYgKCFwYXNzd2RfZG9uZSAmJiAhc3RyY21wKCNfcGFyYW0sIG5hbWUpKSB7IFwKKyAJCXBhc3N3ZF9kb25lID0gMTsgXAorIAkJbmFtZSA9ICNfcGFyYW0gIl9sZW5ndGgiOyBcCistCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJWQiLCAoaW50KXN0cmxlbih2YWx1ZSkpOyBcCisrCQlzbnByaW50ZihwYXNzd2RfbGVuLCA4LCAiJS43IiBQUklpMzIsIChpbnQpc3RybGVuKHZhbHVlKSAmIDB4ZmZmZik7IFwKKyAJCXZhbHVlID0gcGFzc3dkX2xlbjsgXAorIAkJZ290byBzZXR1cF9wYXNzd2RfbGVuOyBcCisgCX0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9pc2NzaS1pbml0aWF0b3ItdXRpbHMvaXNjc2ktaW5pdGlhdG9yLXV0aWxzXzIuMC44NzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgppbmRleCBlNmE4N2EzLi40OGIwNzgzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL2lzY3NpLWluaXRpYXRvci11dGlscy9pc2NzaS1pbml0aWF0b3ItdXRpbHNfMi4wLjg3Ni5iYgpAQCAtMTQsNiArMTQsNyBAQAogU1JDUkVWID89ICJiZDc5ZTRlZDEwMDRhNjAzNWQyNTM4YTMwOGM1OTMwODkwNDIxYTIyIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3Blbi1pc2NzaS9vcGVuLWlzY3NpIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWk1ODYtYnVpbGQtaXNzdWVzLXdpdGgtc3RyaW5nLWxlbmd0aC1vdmVyZmxvdy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9pbml0ZC5kZWJpYW4gXAogICAgICAgICAgICBmaWxlOi8vOTlfaXNjc2ktaW5pdGlhdG9yLXV0aWxzIFwKICAgICAgICAgICAgZmlsZTovL2lzY3NpLWluaXRpYXRvciBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5ocGkvb3BlbmhwaV8zLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCmluZGV4IGM0YjMzMDkuLmNhOTEzMGQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbmhwaS9vcGVuaHBpXzMuOC4wLmJiCkBAIC02MCwxMCArNjAsMTEgQEAKIElOU0FORV9TS0lQXyR7UE59LWxpYnMgPSAiZGV2LXNvIgogUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LWxpYnMiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJsaWJnY3J5cHQgbm9uMzJiaXQiCitQQUNLQUdFQ09ORklHID8/PSAibGliZ2NyeXB0IG5vbjMyYml0IHNubXAtYmMiCiBQQUNLQUdFQ09ORklHW3N5c2ZzXSA9ICItLWVuYWJsZS1zeXNmcywtLWRpc2FibGUtc3lzZnMsc3lzZnN1dGlscywiCiBQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLS1lbmFibGUtZW5jcnlwdGlvbiwtLWRpc2FibGUtZW5jcnlwdGlvbixsaWJnY3J5cHQsIgogUEFDS0FHRUNPTkZJR1tub24zMmJpdF0gPSAiLS1lbmFibGUtbm9uMzJiaXQtaW50LC0tZGlzYWJsZS1ub24zMmJpdC1pbnQsLCIKK1BBQ0tBR0VDT05GSUdbc25tcC1iY10gPSAiLS1lbmFibGUtc25tcF9iYywtLWRpc2FibGUtc25tcF9iYyIKIAogZXhwb3J0IERJU1RSTwogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZi8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2gKaW5kZXggZGI2Nzk2ZC4uOTNjNzU3NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWYvMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmLzAwMDEtRml4LXN0cmluZy1vdmVyZmxvdy1pbi1zbnByaW50Zi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYWU3MTc4YTc4YWJhMmU1NzY2YjcwMTkxNjE3MTEzNDg3ZmQ3YWQwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODg2NjFhNjA2Mjk4OTQzNTM1MTJjNTNlZDMyZjJiOTAxZjY0MTQ5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE2IEFwciAyMDE4IDE4OjI5OjE3IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIEZpeCBzdHJpbmcgb3ZlcmZsb3cgaW4gc25wcmludGYKQEAgLTUzLDcgKzUzLDcgQEAKICAgIFRSQUNFX0VOVEVSKCk7CiAgCiBkaWZmIC0tZ2l0IGEvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYyBiL3NyYy9zbWYvc21mZC9TbWZVcGdyYWRlQ2FtcGFpZ24uY2MKLWluZGV4IDQ1Y2RjZTguLjY3NjFiY2YgMTAwNjQ0CitpbmRleCBjMzBlYTE0Li4wOThmMTdhIDEwMDY0NAogLS0tIGEvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYwogKysrIGIvc3JjL3NtZi9zbWZkL1NtZlVwZ3JhZGVDYW1wYWlnbi5jYwogQEAgLTQ0Nyw3ICs0NDcsNyBAQCBTYUFpc0Vycm9yVCBTbWZVcGdyYWRlQ2FtcGFpZ246OnRvb01hbnlSZXN0YXJ0cyhib29sICpvX3Jlc3VsdCkgewpAQCAtNjYsMTEgKzY2LDExIEBACiAgICAvKiBSZWFkIHRoZSBTbWZDYW1wUmVzdGFydEluZm8gb2JqZWN0IHNtZkNhbXBSZXN0YXJ0Q250IGF0dHIgKi8KICAgIHN0ZDo6c3RyaW5nIG9iaiA9ICJzbWZSZXN0YXJ0SW5mbz1pbmZvLCIgKwogQEAgLTQ3Myw3ICs0NzMsNyBAQCBTYUFpc0Vycm9yVCBTbWZVcGdyYWRlQ2FtcGFpZ246OnRvb01hbnlSZXN0YXJ0cyhib29sICpvX3Jlc3VsdCkgewotICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuc2V0TmFtZSgic21mQ2FtcFJlc3RhcnRDbnQiKTsKLSAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LnNldFR5cGUoIlNBX0lNTV9BVFRSX1NBVUlOVDMyVCIpOworICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuU2V0QXR0cmlidXRlTmFtZSgic21mQ2FtcFJlc3RhcnRDbnQiKTsKKyAgICAgYXR0cnNtZkNhbXBSZXN0YXJ0Q250LlNldEF0dHJpYnV0ZVR5cGUoIlNBX0lNTV9BVFRSX1NBVUlOVDMyVCIpOwogICAgICBjaGFyIGJ1Zls1XTsKIC0gICAgc25wcmludGYoYnVmLCA0LCAiJWQiLCBjdXJDbnQpOwogKyAgICBzbnByaW50ZihidWYsIDQsICIlaGQiLCBjdXJDbnQpOwotICAgICBhdHRyc21mQ2FtcFJlc3RhcnRDbnQuYWRkVmFsdWUoYnVmKTsKLSAgICAgaW1vQ2FtcFJlc3RhcnRJbmZvLmFkZFZhbHVlKGF0dHJzbWZDYW1wUmVzdGFydENudCk7CisgICAgIGF0dHJzbWZDYW1wUmVzdGFydENudC5BZGRBdHRyaWJ1dGVWYWx1ZShidWYpOworICAgICBpbW9DYW1wUmVzdGFydEluZm8uQWRkVmFsdWUoYXR0cnNtZkNhbXBSZXN0YXJ0Q250KTsKICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL29wZW5zYWYvb3BlbnNhZl81LjE4LjA0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTM0YzYyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5TQUYgaXMgYW4gb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRpb24gb2YgdGhlIFNBRiBBSVMgc3BlY2lmaWNhdGlvbiIKLURFU0NSSVBUSU9OID0gIk9wZW5TQUYgaXMgYW4gb3BlbiBzb3VyY2UgcHJvamVjdCBlc3RhYmxpc2hlZCB0byBkZXZlbG9wIGEgYmFzZSBwbGF0Zm9ybSBcCi1taWRkbGV3YXJlIGNvbnNpc3RlbnQgd2l0aCBTZXJ2aWNlIEF2YWlsYWJpbGl0eSBGb3J1bSAoU0EgRm9ydW0pIFwKLXNwZWNpZmljYXRpb25zLCB1bmRlciB0aGUgTEdQTHYyLjEgbGljZW5zZS4gVGhlIE9wZW5TQUYgRm91bmRhdGlvbiB3YXMgXAotZXN0YWJsaXNoZWQgYnkgbGVhZGluZyBDb21tdW5pY2F0aW9ucyBhbmQgRW50ZXJwcmlzZSBDb21wdXRpbmcgQ29tcGFuaWVzIHRvIFwKLWZhY2lsaXRhdGUgdGhlIE9wZW5TQUYgUHJvamVjdCBhbmQgdG8gYWNjZWxlcmF0ZSB0aGUgYWRvcHRpb24gb2YgdGhlIE9wZW5TQUYgXAotY29kZSBiYXNlIGluIGNvbW1lcmNpYWwgcHJvZHVjdHMuIFwKLVRoZSBPcGVuU0FGIHByb2plY3Qgd2FzIGxhdW5jaGVkIGluIG1pZCAyMDA3IGFuZCBoYXMgYmVlbiB1bmRlciBkZXZlbG9wbWVudCBieSBcCi1hbiBpbmZvcm1hbCBncm91cCBvZiBzdXBwb3J0ZXJzIG9mIHRoZSBPcGVuU0FGIGluaXRpYXRpdmUuIFRoZSBPcGVuU0FGIFwKLUZvdW5kYXRpb24gd2FzIGZvdW5kZWQgb24gSmFudWFyeSAyMm5kIDIwMDggd2l0aCBFbWVyc29uIE5ldHdvcmsgUG93ZXIsIFwKLUVyaWNzc29uLCBOb2tpYSBTaWVtZW5zIE5ldHdvcmtzLCBIUCBhbmQgU3VuIE1pY3Jvc3lzdGVtcyBhcyBmb3VuZGluZyBtZW1iZXJzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNhZi5vcmciCi1TRUNUSU9OID0gImFkbWluIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyIKLQotREVQRU5EUyA9ICJsaWJ4bWwyIHB5dGhvbiIKLVRPT0xDSEFJTiA9ICJnY2MiCi0KLVNFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1QYXNzLWxpbmtlci1zcGVjaWZpYy1vcHRpb25zLXdpdGgtV2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtRGlzYWJsZS1mb3JtYXQtb3ZlcmZsb3ctaWYtc3VwcG9ydGVkLWJ5LWdjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLUFkZC1taXNzaW5nLWhlYWRlci1saW1pdHMuaC1mb3ItX1BPU0lYX0hPU1RfTkFNRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWltbXBiZV9kdW1wLmNjLVVzZS1zeXMtd2FpdC5oLWluc3RlYWQtb2Ytd2FpdC5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ2F0Y2gtc3RkLWlmc3RyZWFtLWZhaWx1cmUtYnktcmVmZXJlbmNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItRml4LWZvcm1hdC10cnVuY2F0aW9uLWVycm9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1zdHJpbmctb3ZlcmZsb3ctaW4tc25wcmludGYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1jaGVjay1mb3Itc2l6ZS1iZWZvcmUtdXNpbmctc3RybmNweS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIyMTgzNmU0M2IxM2FkMzNiZWQ5YmQwZWQzOTFlNWE2ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNTVkYzI2NDU0ODdmYjIyOTM4ZTgzODZiOTllZWY2ZWI3YWZmNDNhMjQ2Y2UzZTkyNDg4ZGFmNmVlNDYyNDdhIgotCi1pbmhlcml0IGF1dG90b29scyB1c2VyYWRkIHN5c3RlbWQgcGtnY29uZmlnCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItZiAtciBvcGVuc2FmIgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICAiLXIgLWcgb3BlbnNhZiAtZCAke2RhdGFkaXJ9L29wZW5zYWYvIC1zICR7c2JpbmRpcn0vbm9sb2dpbiAtYyBcIk9wZW5TQUZcIiBvcGVuc2FmIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gKz0gIm9wZW5zYWZkLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLCxzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1tvcGVuaHBpXSA9ICItLXdpdGgtaHBpLWludGVyZmFjZT1CMDMsLG9wZW5ocGkiCi1QQUNLQUdFQ09ORklHW3BsbV0gPSAiLS1lbmFibGUtYWlzLXBsbSwtLWRpc2FibGUtYWlzLXBsbSxsaWJ2aXJ0IG9wZW5ocGkiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICcgc3lzdGVtZCcsICcnLCBkKX0iCi0KLVBLR0xJQkRJUj0iJHtsaWJkaXJ9IgotCi1MREZMQUdTICs9ICItV2wsLS1hcy1uZWVkZWQgLWxhdG9taWMgLVdsLC0tbm8tYXMtbmVlZGVkIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBjcCAtYXYgLS1uby1wcmVzZXJ2ZT1vd25lcnNoaXAgJHtCfS9saWIvLmxpYnMvKi5zbyogJHtEfSR7bGliZGlyfQotICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9jayIKLSAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2RhdGFkaXJ9L2phdmEiCi0gICAgaWYgWyAhIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiIF07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7Qn0vb3NhZi9zZXJ2aWNlcy9pbmZyYXN0cnVjdHVyZS9uaWQvc2NyaXB0cy9vcGVuc2FmZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvCi0gICAgZmkKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke1BLR0xJQkRJUn0vKi5hIgotCi1JTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCi0KLVJERVBFTkRTXyR7UE59ICs9ICJiYXNoIHB5dGhvbiIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg2OTcwLwotRVhDTFVERV9GUk9NX1dPUkxEX2xpYmMtbXVzbCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9vcGVuc2FmL29wZW5zYWZfNS4xOC4wOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFhZWRjNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvb3BlbnNhZi9vcGVuc2FmXzUuMTguMDkuYmIKQEAgLTAsMCArMSw3NSBAQAorU1VNTUFSWSA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTQUYgQUlTIHNwZWNpZmljYXRpb24iCitERVNDUklQVElPTiA9ICJPcGVuU0FGIGlzIGFuIG9wZW4gc291cmNlIHByb2plY3QgZXN0YWJsaXNoZWQgdG8gZGV2ZWxvcCBhIGJhc2UgcGxhdGZvcm0gXAorbWlkZGxld2FyZSBjb25zaXN0ZW50IHdpdGggU2VydmljZSBBdmFpbGFiaWxpdHkgRm9ydW0gKFNBIEZvcnVtKSBcCitzcGVjaWZpY2F0aW9ucywgdW5kZXIgdGhlIExHUEx2Mi4xIGxpY2Vuc2UuIFRoZSBPcGVuU0FGIEZvdW5kYXRpb24gd2FzIFwKK2VzdGFibGlzaGVkIGJ5IGxlYWRpbmcgQ29tbXVuaWNhdGlvbnMgYW5kIEVudGVycHJpc2UgQ29tcHV0aW5nIENvbXBhbmllcyB0byBcCitmYWNpbGl0YXRlIHRoZSBPcGVuU0FGIFByb2plY3QgYW5kIHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIHRoZSBPcGVuU0FGIFwKK2NvZGUgYmFzZSBpbiBjb21tZXJjaWFsIHByb2R1Y3RzLiBcCitUaGUgT3BlblNBRiBwcm9qZWN0IHdhcyBsYXVuY2hlZCBpbiBtaWQgMjAwNyBhbmQgaGFzIGJlZW4gdW5kZXIgZGV2ZWxvcG1lbnQgYnkgXAorYW4gaW5mb3JtYWwgZ3JvdXAgb2Ygc3VwcG9ydGVycyBvZiB0aGUgT3BlblNBRiBpbml0aWF0aXZlLiBUaGUgT3BlblNBRiBcCitGb3VuZGF0aW9uIHdhcyBmb3VuZGVkIG9uIEphbnVhcnkgMjJuZCAyMDA4IHdpdGggRW1lcnNvbiBOZXR3b3JrIFBvd2VyLCBcCitFcmljc3NvbiwgTm9raWEgU2llbWVucyBOZXR3b3JrcywgSFAgYW5kIFN1biBNaWNyb3N5c3RlbXMgYXMgZm91bmRpbmcgbWVtYmVycy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYWYub3JnIgorU0VDVElPTiA9ICJhZG1pbiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzciCisKK0RFUEVORFMgPSAibGlieG1sMiBweXRob24iCitUT09MQ0hBSU4gPSAiZ2NjIgorCitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59L3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtUGFzcy1saW5rZXItc3BlY2lmaWMtb3B0aW9ucy13aXRoLVdsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLURpc2FibGUtZm9ybWF0LW92ZXJmbG93LWlmLXN1cHBvcnRlZC1ieS1nYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNyYy1BZGQtbWlzc2luZy1oZWFkZXItbGltaXRzLmgtZm9yLV9QT1NJWF9IT1NUX05BTUUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbW1wYmVfZHVtcC5jYy1Vc2Utc3lzLXdhaXQuaC1pbnN0ZWFkLW9mLXdhaXQuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNhdGNoLXN0ZC1pZnN0cmVhbS1mYWlsdXJlLWJ5LXJlZmVyZW5jZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1mb3JtYXQtdHJ1bmNhdGlvbi1lcnJvcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc3RyaW5nLW92ZXJmbG93LWluLXNucHJpbnRmLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtY2hlY2stZm9yLXNpemUtYmVmb3JlLXVzaW5nLXN0cm5jcHkucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiNDUwNDRmZGUwYjM1ZWFjMDU3YTVmYTA1YzI3YjgwNDAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjMwYTBlYTYyOGJhMjc4MTcwYTkxMzc0NmMzOWIyYzhjZDUyOWQ3ZGMyNTMyNmIyZTE3YjVjMDk1Y2Y5NDAyNSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgb3BlbnNhZiIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAgIi1yIC1nIG9wZW5zYWYgLWQgJHtkYXRhZGlyfS9vcGVuc2FmLyAtcyAke3NiaW5kaXJ9L25vbG9naW4gLWMgXCJPcGVuU0FGXCIgb3BlbnNhZiIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ICs9ICJvcGVuc2FmZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiwsc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbb3BlbmhwaV0gPSAiLS13aXRoLWhwaS1pbnRlcmZhY2U9QjAzLCxvcGVuaHBpIgorUEFDS0FHRUNPTkZJR1twbG1dID0gIi0tZW5hYmxlLWFpcy1wbG0sLS1kaXNhYmxlLWFpcy1wbG0sbGlidmlydCBvcGVuaHBpIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnIHN5c3RlbWQnLCAnJywgZCl9IgorCitQS0dMSUJESVI9IiR7bGliZGlyfSIKK0NQUEZMQUdTICs9ICItV25vLWVycm9yPXN0cmluZ29wLW92ZXJmbG93PSAtV25vLWVycm9yPXN0cmluZ29wLXRydW5jYXRpb24iCitDWFhGTEFHUyArPSAiLVduby1lcnJvcj1zdHJpbmdvcC1vdmVyZmxvdz0gLVduby1lcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uIC1Xbm8tZXJyb3I9Zm9ybWF0LXRydW5jYXRpb249IgorTERGTEFHUyArPSAiLVdsLC0tYXMtbmVlZGVkIC1sYXRvbWljIC1XbCwtLW5vLWFzLW5lZWRlZCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgY3AgLWF2IC0tbm8tcHJlc2VydmU9b3duZXJzaGlwICR7Qn0vbGliLy5saWJzLyouc28qICR7RH0ke2xpYmRpcn0KKyAgICBybSAtZnIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2siCisgICAgcm0gLWZyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtkYXRhZGlyfS9qYXZhIgorICAgIGlmIFsgISAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIiBdOyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L29zYWYvc2VydmljZXMvaW5mcmFzdHJ1Y3R1cmUvbmlkL3NjcmlwdHMvb3BlbnNhZmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kLworICAgIGZpCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQS0dMSUJESVJ9LyouYSIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24iCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk3MC8KK0VYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9maWxlcy9saW51eF81LngucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvbGludXhfNS54LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiYjgxMWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvZmlsZXMvbGludXhfNS54LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK1JlY29nbmlzZSBrZXJuZWwgNS54IHZlcnNpb25pbmcgc2NoZW1lCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvbWFrZWRlZnMKKysrKyBiL21ha2VkZWZzCitAQCAtNTQzLDcgKzU0Myw3IEBAIEVPRgorIAkJOiAke1NITElCX0VOVj0iTERfTElCUkFSWV9QQVRIPWBwd2RgL2xpYiJ9CisgCQk6ICR7UExVR0lOX0xEPSIke0NDLWdjY30gLXNoYXJlZCJ9CisgCQk7OworLSAgTGludXguWzM0XS4qKQlTWVNUWVBFPUxJTlVYJFJFTEVBU0VfTUFKT1IKKysgIExpbnV4LlszNDVdLiopCVNZU1RZUEU9TElOVVgkUkVMRUFTRV9NQUpPUgorIAkJY2FzZSAiJENDQVJHUyIgaW4KKyAJCSAqLUROT19EQiopIDs7CisgCQkgKi1ESEFTX0RCKikgOzsKKy0tLSBhL3NyYy91dGlsL3N5c19kZWZzLmgKKysrKyBiL3NyYy91dGlsL3N5c19kZWZzLmgKK0BAIC03NDksNyArNzQ5LDcgQEAgZXh0ZXJuIGludCBpbml0Z3JvdXBzKGNvbnN0IGNoYXIgKiwgaW50KQorICAvKgorICAgKiBMSU5VWC4KKyAgICovCistI2lmIGRlZmluZWQoTElOVVgyKSB8fCBkZWZpbmVkKExJTlVYMykgfHwgZGVmaW5lZChMSU5VWDQpCisrI2lmIGRlZmluZWQoTElOVVgyKSB8fCBkZWZpbmVkKExJTlVYMykgfHwgZGVmaW5lZChMSU5VWDQpIHx8IGRlZmluZWQoTElOVVg1KQorICNkZWZpbmUgU1VQUE9SVEVECisgI2RlZmluZSBVSU5UMzJfVFlQRQl1bnNpZ25lZCBpbnQKKyAjZGVmaW5lIFVJTlQxNl9UWVBFCXVuc2lnbmVkIHNob3J0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3Bvc3RmaXgvcG9zdGZpeF8zLjMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuMy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NzE4YjdlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuMy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotcmVxdWlyZSBwb3N0Zml4LmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1tYWtlZGVmcy1Vc2UtbmF0aXZlLWNvbXBpbGVyLXRvLWJ1aWxkLW1ha2VkZWZzLnRlc3QucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Bvc3RmaXgtaW5zdGFsbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vaWN1LWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1tYWtlZGVmcy1hZGQtbG5zbC1hbmQtbHJlc29sdi10by1TWVNMSUJTLWJ5LWRlZmF1bHQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MzgxYzY0OTJmNDE1ZTRhNjljZjUwOTlkNGFjZWE3NiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NGY1MTRkYWU0MmI1Mjc1Y2I0YmM5YzY5MjgzZjE2YzA2MjAwYjcxODEzZDBiYjY5NjU2OGM0YmE3YWU3ZTNiIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwb3N0Zml4XC0oP1A8cHZlcj4zXC4zKFwuXGQrKSspLnRhci5neiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9wb3N0Zml4L3Bvc3RmaXhfMy40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzMzODBkOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvcG9zdGZpeC9wb3N0Zml4XzMuNC4xLmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgcG9zdGZpeC5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbWFrZWRlZnMtVXNlLW5hdGl2ZS1jb21waWxlci10by1idWlsZC1tYWtlZGVmcy50ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9wb3N0Zml4LWluc3RhbGwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2ljdS1jb25maWcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtbWFrZWRlZnMtYWRkLWxuc2wtYW5kLWxyZXNvbHYtdG8tU1lTTElCUy1ieS1kZWZhdWx0LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9saW51eF81LngucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZDI5MmJiNDlhMWM3OWZmNmQyZWI5YzVlODhjNTE0MjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGM5NzYzZjdhOGVjNzBkNDk5MjU3YjdmMjViYjUwZTFmM2RhOGE0YzQzZTU5ODI2YmE4YTI2YzRhNzc4ZDBjZSIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicG9zdGZpeFwtKD9QPHB2ZXI+M1wuMyhcLlxkKykrKS50YXIuZ3oiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiYWVhMDEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi0KLXJlcXVpcmUgcmFkdmQuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2NGVlM2ZkYjU1NDRiY2RkZWYxYzZjZDgwZDc3ZmEwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1Mzc1N2U3ZjIxNjQ4OTllMTE0NTQ4MmYxYWU5MTgyOTYwMGE2ZTJmNmZlYzI5Y2ZiM2IzNTBhM2JiNDViZDVkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9yYWR2ZC9yYWR2ZF8yLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwOTdiMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3JhZHZkL3JhZHZkXzIuMTguYmIKQEAgLTAsMCArMSw1IEBACisKK3JlcXVpcmUgcmFkdmQuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNmVhZDNhMGQ1Y2ZiZTRjODFjMzA4OWVhZjdiMzI1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0ZjU3M2UzNmI5NmJhOTJkMDNiNWFiYmJkNWYwNTliOWM4OTk0OTY3ODEyYzc3ODUyZjQ0MDQ5YWM1YTQ0OGZkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy9zcXVpZC9zcXVpZF8zLjUuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTU1N2M0Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi1TVU1NQVJZID0gIkEgZnVsbHktZmVhdHVyZWQgaHR0cCBwcm94eSBhbmQgd2ViLWNhY2hlIGRhZW1vbiBmb3IgTGludXgiCi1ERVNDUklQVElPTiA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4LiBcCi1TcXVpZCBvZmZlcnMgYSByaWNoIGFjY2VzcyBjb250cm9sLCBhdXRob3JpemF0aW9uIGFuZCBsb2dnaW5nIGVudmlyb25tZW50IHRvIFwKLWRldmVsb3Agd2ViIHByb3h5IGFuZCBjb250ZW50IHNlcnZpbmcgYXBwbGljYXRpb25zLiBcCi1TcXVpZCBvZmZlcnMgYSByaWNoIHNldCBvZiB0cmFmZmljIG9wdGltaXphdGlvbiBvcHRpb25zLCBtb3N0IG9mIHdoaWNoIGFyZSBcCi1lbmFibGVkIGJ5IGRlZmF1bHQgZm9yIHNpbXBsZXIgaW5zdGFsbGF0aW9uIGFuZCBoaWdoIHBlcmZvcm1hbmNlLiBcCi0iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnNxdWlkLWNhY2hlLm9yZyIKLVNFQ1RJT04gPSAid2ViIgotTElDRU5TRSA9ICJHUEx2MisiCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDEpfSIKLU1JTl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnNxdWlkLWNhY2hlLm9yZy9WZXJzaW9ucy92JHtNQUpfVkVSfS8ke01JTl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL1NldC11cC1mb3ItY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vU2tpcC1BQ19SVU5fSUZFTFNFLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0ZpeC1mbGF3ZWQtZHluYW1pYy1sZGItbGluay10ZXN0LWluLWNvbmZpZ3VyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zcXVpZC11c2Utc2VyaWFsLXRlc3RzLWNvbmZpZy1uZWVkZWQtYnktcHRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zcXVpZCBcCi0gICAgICAgICAgIGZpbGU6Ly9zZXRfc3lzcm9vdF9wYXRjaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zcXVpZC1kb24tdC1kby1zcXVpZC1jb25mLXRlc3RzLWF0LWJ1aWxkLXRpbWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdG9vbHMuY2MtZml4ZWQtdW51c2VkLXJlc3VsdC13YXJuaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQnVnLTQ4NDMtcHQxLWV4dF9lZGlyZWN0b3J5X3VzZXJpcF9hY2wtcmVmYWN0b3JpbmctZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXNtYmxpYi1maXgtYnVmZmVyLW92ZXItcmVhZC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9yZW1vdmVfdG9vbGNoYWluLWNsYW5nID0gImZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMTdhM2VkM2E0MGNkNTljMjNmNDhiODUzOWRhZmNkOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NjdkYTEzNGVhZjBmNzk2MmJhNTg4MTc5M2QxMDY3NzJmYjA1ZmVmYTRhZWE3ZDk1NjllZWMwNDEyYzUyNDMzIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jNDkyZTJkNmQzMmVjNWMxYWFkMGUwNjA5YTE0MWNlOSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lcnJvcnMvQ09QWVJJR0hUO21kNT04ODYxMTMwZmFlOTE0MDBiY2Y5OWI2NmYxMzMxNzJiMyBcCi0gICAgICAgICAgICAgICAgICAgIgotREVQRU5EUyA9ICJsaWJ0b29sIGtyYjUgb3BlbmxkYXAgZGIgY3lydXMtc2FzbCBvcGVuc3NsIGV4cGF0IGxpYnhtbDIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1c2VyYWRkIHB0ZXN0IHBlcmxuYXRpdmUKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC92YXIvcnVuL3NxdWlkIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgc3F1aWQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAncG93ZXJwYycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwcycsICdub2F0b21pY3MnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0FSQ0gnLCAnbWlwc2VsJywgJ25vYXRvbWljcycsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIgotUEFDS0FHRUNPTkZJR1tsaWJuZXRmaWx0ZXItY29ubnRyYWNrXSA9ICItLXdpdGgtbmV0ZmlsdGVyLWNvbm50cmFjaz0ke2luY2x1ZGVkaXJ9LCAtLXdpdGhvdXQtbmV0ZmlsdGVyLWNvbm50cmFjaywgbGlibmV0ZmlsdGVyLWNvbm50cmFjayIKLVBBQ0tBR0VDT05GSUdbbm9hdG9taWNzXSA9ICJzcXVpZF9jdl9nbnVfYXRvbWljcz1ubyxzcXVpZF9jdl9nbnVfYXRvbWljcz15ZXMsLCIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi1QQUNLQUdFQ09ORklHW3dlcnJvcl0gPSAiLS1lbmFibGUtc3RyaWN0LWVycm9yLWNoZWNraW5nLC0tZGlzYWJsZS1zdHJpY3QtZXJyb3ItY2hlY2tpbmcsIgotCi1CQVNJQ19BVVRIID0gIkRCIFNBU0wgTERBUCIKLQotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKLUJBU0lDX0FVVEggKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ1BBTScsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLWRlZmF1bHQtdXNlcj1zcXVpZCAtLWVuYWJsZS1hdXRoLWJhc2ljPScke0JBU0lDX0FVVEh9JyBcCi0gICAgICAgICAgICAgICAgIC0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9LyR7QlBOfSBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1sb2dkaXI9JHtsb2NhbHN0YXRlZGlyfS9sb2cvJHtCUE59IFwKLSAgICAgICAgICAgICAgICAgJ1BFUkw9JHtVU1JCSU5QQVRIfS9lbnYgcGVybCciCi0KLWV4cG9ydCBCVUlMRENYWEZMQUdTPSIke0JVSUxEX0NYWEZMQUdTfSIKLQotVEVTVERJUiA9ICJ0ZXN0LXN1aXRlIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIG9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9Ci0gICAgY3AgLXJmICR7U30vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQotCi0gICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgotICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLQotICAgICMgQWRkIHNxdWlkLWNvbmYtdGVzdHMgZm9yIHJ1bnRpbWUgdGVzdHMKLSAgICBzZWQgLWUgJ3MvXlwocnVudGVzdC1URVNUUzpcKS9cMSBzcXVpZC1jb25mLXRlc3RzLycgXAotICAgICAgICAtZSAicy9cKGxpc3Q9JyBcJChURVNUUylcKS9cMSBzcXVpZC1jb25mLXRlc3RzLyIgXAotICAgICAgICAtaSAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0KLSAgICAjIEVuc3VyZSB0aGUgcGF0aCBmb3IgY29tbWFuZCB0cnVlIGlzIGNvcnJlY3QKLSAgICBzZWQgLWkgJ3M6XlRSVUUgPSAuKiQ6VFJVRSA9IC9iaW4vdHJ1ZTonICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0gICAgICAgIGVjaG8gImQgJHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59IDA3NTUgc3F1aWQgc3F1aWQgLSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8ke0JQTn0uY29uZgotICAgICAgICBlY2hvICJkICR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSAwNzUwIHNxdWlkIHNxdWlkIC0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKLSAgICBmaQotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zcXVpZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy8wM19zcXVpZAotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi8ke0JQTn0iCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLQotICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2cvJHtCUE59IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2ciCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0gJHtkYXRhZGlyfS9lcnJvcnMgJHtkYXRhZGlyfS9pY29ucyIKLUZJTEVTXyR7UE59LWRiZyArPSAiL3Vzci9zcmMvZGVidWciCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vKi50eHQiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvc3F1aWQvc3F1aWRfMy41LjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzM2MxYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3NxdWlkL3NxdWlkXzMuNS4yOC5iYgpAQCAtMCwwICsxLDExNSBAQAorU1VNTUFSWSA9ICJBIGZ1bGx5LWZlYXR1cmVkIGh0dHAgcHJveHkgYW5kIHdlYi1jYWNoZSBkYWVtb24gZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiQSBmdWxseS1mZWF0dXJlZCBodHRwIHByb3h5IGFuZCB3ZWItY2FjaGUgZGFlbW9uIGZvciBMaW51eC4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBhY2Nlc3MgY29udHJvbCwgYXV0aG9yaXphdGlvbiBhbmQgbG9nZ2luZyBlbnZpcm9ubWVudCB0byBcCitkZXZlbG9wIHdlYiBwcm94eSBhbmQgY29udGVudCBzZXJ2aW5nIGFwcGxpY2F0aW9ucy4gXAorU3F1aWQgb2ZmZXJzIGEgcmljaCBzZXQgb2YgdHJhZmZpYyBvcHRpbWl6YXRpb24gb3B0aW9ucywgbW9zdCBvZiB3aGljaCBhcmUgXAorZW5hYmxlZCBieSBkZWZhdWx0IGZvciBzaW1wbGVyIGluc3RhbGxhdGlvbiBhbmQgaGlnaCBwZXJmb3JtYW5jZS4gXAorIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmciCitTRUNUSU9OID0gIndlYiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAxKX0iCitNSU5fVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5zcXVpZC1jYWNoZS5vcmcvVmVyc2lvbnMvdiR7TUFKX1ZFUn0vJHtNSU5fVkVSfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9TZXQtdXAtZm9yLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL1NraXAtQUNfUlVOX0lGRUxTRS10ZXN0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9GaXgtZmxhd2VkLWR5bmFtaWMtbGRiLWxpbmstdGVzdC1pbi1jb25maWd1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtdXNlLXNlcmlhbC10ZXN0cy1jb25maWctbmVlZGVkLWJ5LXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDNfc3F1aWQgXAorICAgICAgICAgICBmaWxlOi8vc2V0X3N5c3Jvb3RfcGF0Y2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3F1aWQtZG9uLXQtZG8tc3F1aWQtY29uZi10ZXN0cy1hdC1idWlsZC10aW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRvb2xzLmNjLWZpeGVkLXVudXNlZC1yZXN1bHQtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUJ1Zy00ODQzLXB0MS1leHRfZWRpcmVjdG9yeV91c2VyaXBfYWNsLXJlZmFjdG9yaW5nLWYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1zbWJsaWItZml4LWJ1ZmZlci1vdmVyLXJlYWQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfcmVtb3ZlX3Rvb2xjaGFpbi1jbGFuZyA9ICJmaWxlOi8vMDAwMS1jb25maWd1cmUtQ2hlY2stZm9yLVduby1lcnJvci1mb3JtYXQtdHJ1bmNhdGlvbi1jb21wLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGFlM2Y2Mjc3YjNhYTYzODZjYjVhZDJkOTU0MTc5YzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTE5NzFiZmUzYzEzZjQzOGU0MjU2OWVhNTUxMjA2Y2FmNjhlY2FhOTY4MzA1YzMwZjdiNDIyYjU1NmViYzdhYyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzQ5MmUyZDZkMzJlYzVjMWFhZDBlMDYwOWExNDFjZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZXJyb3JzL0NPUFlSSUdIVDttZDU9MWMwNzgxZTJlY2QzMDUxYzc2NWQ1MjU1NzJkZWZiYzcgXAorICAgICAgICAgICAgICAgICAgICIKK0RFUEVORFMgPSAibGlidG9vbCBrcmI1IG9wZW5sZGFwIGRiIGN5cnVzLXNhc2wgb3BlbnNzbCBleHBhdCBsaWJ4bWwyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXNlcmFkZCBwdGVzdCBwZXJsbmF0aXZlCisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0tbm8tY3JlYXRlLWhvbWUgLS1ob21lLWRpciAvdmFyL3J1bi9zcXVpZCAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHNxdWlkIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ3Bvd2VycGMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHMnLCAnbm9hdG9taWNzJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9BUkNIJywgJ21pcHNlbCcsICdub2F0b21pY3MnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICIKK1BBQ0tBR0VDT05GSUdbbGlibmV0ZmlsdGVyLWNvbm50cmFja10gPSAiLS13aXRoLW5ldGZpbHRlci1jb25udHJhY2s9JHtpbmNsdWRlZGlyfSwgLS13aXRob3V0LW5ldGZpbHRlci1jb25udHJhY2ssIGxpYm5ldGZpbHRlci1jb25udHJhY2siCitQQUNLQUdFQ09ORklHW25vYXRvbWljc10gPSAic3F1aWRfY3ZfZ251X2F0b21pY3M9bm8sc3F1aWRfY3ZfZ251X2F0b21pY3M9eWVzLCwiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1t3ZXJyb3JdID0gIi0tZW5hYmxlLXN0cmljdC1lcnJvci1jaGVja2luZywtLWRpc2FibGUtc3RyaWN0LWVycm9yLWNoZWNraW5nLCIKKworQkFTSUNfQVVUSCA9ICJEQiBTQVNMIExEQVAiCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCitCQVNJQ19BVVRIICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdQQU0nLCAnJywgZCl9IgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1kZWZhdWx0LXVzZXI9c3F1aWQgLS1lbmFibGUtYXV0aC1iYXNpYz0nJHtCQVNJQ19BVVRIfScgXAorICAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS8ke0JQTn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtbG9nZGlyPSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgICdQRVJMPSR7VVNSQklOUEFUSH0vZW52IHBlcmwnIgorCitleHBvcnQgQlVJTERDWFhGTEFHUz0iJHtCVUlMRF9DWFhGTEFHU30iCisKK1RFU1RESVIgPSAidGVzdC1zdWl0ZSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KKworICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCBNYWtlZmlsZSBpdHNlbGYKKyAgICBzZWQgLWkgJ3MvXk1ha2VmaWxlOi4qJC9NYWtlZmlsZTovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIEFkZCBzcXVpZC1jb25mLXRlc3RzIGZvciBydW50aW1lIHRlc3RzCisgICAgc2VkIC1lICdzL15cKHJ1bnRlc3QtVEVTVFM6XCkvXDEgc3F1aWQtY29uZi10ZXN0cy8nIFwKKyAgICAgICAgLWUgInMvXChsaXN0PScgXCQoVEVTVFMpXCkvXDEgc3F1aWQtY29uZi10ZXN0cy8iIFwKKyAgICAgICAgLWkgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorCisgICAgIyBFbnN1cmUgdGhlIHBhdGggZm9yIGNvbW1hbmQgdHJ1ZSBpcyBjb3JyZWN0CisgICAgc2VkIC1pICdzOl5UUlVFID0gLiokOlRSVUUgPSAvYmluL3RydWU6JyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkICR7bG9jYWxzdGF0ZWRpcn0vcnVuLyR7QlBOfSAwNzU1IHNxdWlkIHNxdWlkIC0iID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvJHtCUE59LmNvbmYKKyAgICAgICAgZWNobyAiZCAke2xvY2Fsc3RhdGVkaXJ9L2xvZy8ke0JQTn0gMDc1MCBzcXVpZCBzcXVpZCAtIiA+PiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kLyR7QlBOfS5jb25mCisgICAgZmkKKworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3F1aWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvMDNfc3F1aWQKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vJHtCUE59IgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nLyR7QlBOfSIKKyAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbG9nIgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZGF0YWRpcn0vZXJyb3JzICR7ZGF0YWRpcn0vaWNvbnMiCitGSUxFU18ke1BOfS1kYmcgKz0gIi91c3Ivc3JjL2RlYnVnIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9LyoudHh0IgorCitSREVQRU5EU18ke1BOfSArPSAicGVybCIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzY2FsbHMtaW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTczYzk2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2NhbGxzLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBkZDM1MzMwM2Y2MmQxZGZlMzJjYjAwMGU0ODI2MTZiMDIxNzA4ZmJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMDA6NDc6MzQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdnNmdHBkOiBhbGxvdyBzeXNjYWxscyBpbiB0aGUgc2VjY29tcCBzYW5kYm94CisKKyogQWxsb3cgc3lzaW5mbygpIGFuZCBnZXRkZW50czY0IGluIHRoZSBzZWNjb21wCisgIHNhbmRib3ggb3RoZXJ3aXNlIGNvbWVzIGJlbG93IE9PUFM6IHByaXZfc29ja19nZXRfY21kCisgIGFzIHRoZSBzeXNjYWxsIHN5c2luZm8oKSBhbmQgZ2V0ZGVudHM2NCBub3QgYWxsb3dlZAorCityb290QHFlbXV4ODYtNjQ6fiMgdG5mdHAgMTkyLjE2OC4xLjEKK0Nvbm5lY3RlZCB0byAxOTIuMTY4LjEuMS4KKzIyMCAodnNGVFBkIDMuMC4zKQorTmFtZSAoMTkyLjE2OC4xLjE6cm9vdCk6IGFub255bW91cworMzMxIFBsZWFzZSBzcGVjaWZ5IHRoZSBwYXNzd29yZC4KK1Bhc3N3b3JkOgorMjMwIExvZ2luIHN1Y2Nlc3NmdWwuCitSZW1vdGUgc3lzdGVtIHR5cGUgaXMgVU5JWC4KK1VzaW5nIGJpbmFyeSBtb2RlIHRvIHRyYW5zZmVyIGZpbGVzLgorZnRwPiBwcm9tcHQKK0ludGVyYWN0aXZlIG1vZGUgb2ZmLgorZnRwPiBtZ2V0IHNtYWxsKgorT09QUzogcHJpdl9zb2NrX2dldF9jbWQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CistLS0KKyBzZWNjb21wc2FuZGJveC5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NlY2NvbXBzYW5kYm94LmMgYi9zZWNjb21wc2FuZGJveC5jCitpbmRleCAyYzM1MGE5Li4zNzdjNTBlIDEwMDY0NAorLS0tIGEvc2VjY29tcHNhbmRib3guYworKysrIGIvc2VjY29tcHNhbmRib3guYworQEAgLTQwOSw2ICs0MDksOCBAQCBzZWNjb21wX3NhbmRib3hfc2V0dXBfcG9zdGxvZ2luKGNvbnN0IHN0cnVjdCB2c2Zfc2Vzc2lvbiogcF9zZXNzKQorICAgYWxsb3dfbnIoX19OUl9nZXRjd2QpOworICAgYWxsb3dfbnIoX19OUl9jaGRpcik7CisgICBhbGxvd19ucihfX05SX2dldGRlbnRzKTsKKysgIGFsbG93X25yKF9fTlJfZ2V0ZGVudHM2NCk7CisrICBhbGxvd19ucihfX05SX3N5c2luZm8pOworICAgLyogTWlzYyAqLworICAgYWxsb3dfbnIoX19OUl91bWFzayk7CisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzaW5mby1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkLTMuMC4zLzAwMDEtdnNmdHBkLWFsbG93LXN5c2luZm8taW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZjMGY4MC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGQtMy4wLjMvMDAwMS12c2Z0cGQtYWxsb3ctc3lzaW5mby1pbi10aGUtc2VjY29tcC1zYW5kYm94LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA5YzQ4MjZjMTlmMDRkYTUzMzg4NjIwOTM2MWEyY2FkZGY1ODJkNjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgNiBTZXAgMjAxNiAxNzoxNzo0NCArMDgwMAotU3ViamVjdDogW1BBVENIXSB2c2Z0cGQ6IGFsbG93IHN5c2luZm8oKSBpbiB0aGUgc2VjY29tcCBzYW5kYm94Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0qIEFsbG93IHN5c2luZm8oKSBpbiB0aGUgc2VjY29tcCBzYW5kYm94IG90aGVyd2lzZQotICBjb21lcyBiZWxvdyBPT1BTOiBwcml2X3NvY2tfZ2V0X2NtZCBhcyB0aGUgc3lzY2FsbAotICBzeXNpbmZvKCkgbm90IGFsbG93ZWQKLQotdG5mdHAgMTkyLjE2OC4xLjEKLUNvbm5lY3RlZCB0byAxOTIuMTY4LjEuMS4KLTIyMCAodnNGVFBkIDMuMC4zKQotTmFtZSAoMTkyLjE2OC4xLjE6cm9vdCk6IGFub255bW91cwotMzMxIFBsZWFzZSBzcGVjaWZ5IHRoZSBwYXNzd29yZC4KLVBhc3N3b3JkOgotMjMwIExvZ2luIHN1Y2Nlc3NmdWwuCi1SZW1vdGUgc3lzdGVtIHR5cGUgaXMgVU5JWC4KLVVzaW5nIGJpbmFyeSBtb2RlIHRvIHRyYW5zZmVyIGZpbGVzLgotZnRwPiBwcm9tcHQKLUludGVyYWN0aXZlIG1vZGUgb2ZmLgotZnRwPiBtZ2V0IHNtYWxsKgotT09QUzogcHJpdl9zb2NrX2dldF9jbWQKLQotU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gc2VjY29tcHNhbmRib3guYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc2VjY29tcHNhbmRib3guYyBiL3NlY2NvbXBzYW5kYm94LmMKLWluZGV4IDJjMzUwYTkuLjY3ZDljYTUgMTAwNjQ0Ci0tLS0gYS9zZWNjb21wc2FuZGJveC5jCi0rKysgYi9zZWNjb21wc2FuZGJveC5jCi1AQCAtNDA5LDYgKzQwOSw3IEBAIHNlY2NvbXBfc2FuZGJveF9zZXR1cF9wb3N0bG9naW4oY29uc3Qgc3RydWN0IHZzZl9zZXNzaW9uKiBwX3Nlc3MpCi0gICBhbGxvd19ucihfX05SX2dldGN3ZCk7Ci0gICBhbGxvd19ucihfX05SX2NoZGlyKTsKLSAgIGFsbG93X25yKF9fTlJfZ2V0ZGVudHMpOwotKyAgYWxsb3dfbnIoX19OUl9zeXNpbmZvKTsKLSAgIC8qIE1pc2MgKi8KLSAgIGFsbG93X25yKF9fTlJfdW1hc2spOwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtZGFlbW9ucy92c2Z0cGQvdnNmdHBkXzMuMC4zLmJiCmluZGV4IDJlM2UwZTguLmRmMGQ3ZjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWRhZW1vbnMvdnNmdHBkL3ZzZnRwZF8zLjAuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1kYWVtb25zL3ZzZnRwZC92c2Z0cGRfMy4wLjMuYmIKQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy45OV92c2Z0cGQgXAogICAgICAgICAgICBmaWxlOi8vdnNmdHBkLnNlcnZpY2UgXAogICAgICAgICAgICBmaWxlOi8vdnNmdHBkLTIuMS4wLWZpbHRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXZzZnRwZC1hbGxvdy1zeXNpbmZvLWluLXRoZS1zZWNjb21wLXNhbmRib3gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12c2Z0cGQtYWxsb3ctc3lzY2FsbHMtaW4tdGhlLXNlY2NvbXAtc2FuZGJveC5wYXRjaCBcCiAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RjcC13cmFwcGVycycsICdmaWxlOi8vdnNmdHBkLXRjcF93cmFwcGVycy1zdXBwb3J0LnBhdGNoJywgJycsIGQpfSBcCiAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJycsICcke05PUEFNX1NSQ30nLCBkKX0gXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNkZXB1dGlsLmMtRml4LXdpdGgtbXVzbC13aGljaC1kb2VzLW5vdC1oYXZlLXV0bXB4LnBhdGNoIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWlyYy96bmMvem5jX2dpdC5iYgppbmRleCA4YzY5NzljLi43MjhlZjg3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1pcmMvem5jL3puY19naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtaXJjL3puYy96bmNfZ2l0LmJiCkBAIC0zMCw1ICszMCw1IEBACiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHNlZCAtaSAncy8tZmRlYnVnLXByZWZpeC1tYXBbXiBdKi8vZzsgcyMke1NUQUdJTkdfRElSX1RBUkdFVH0jI2cnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLyoucGMKKyAgICBzZWQgLWkgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8Zzsgc3wtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9fHxnJyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8qLnBjCiB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTcxMjIxLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtbW9kdWxlXzAuMC4yMDE3MTIyMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmM2OWM1OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTcxMjIxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSB3aXJlZ3VhcmQuaW5jCi0KLWluaGVyaXQgbW9kdWxlIGtlcm5lbC1tb2R1bGUtc3BsaXQKLQotREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCBsaWJtbmwiCi0KLSMgVGhpcyBtb2R1bGUgcmVxdWlyZXMgTGludXggMy4xMCBoaWdoZXIgYW5kIHNldmVyYWwgbmV0d29ya2luZyByZWxhdGVkCi0jIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4gRm9yIGV4YWN0IGtlcm5lbCByZXF1aXJlbWVudHMgdmlzaXQ6Ci0jIGh0dHBzOi8vd3d3LndpcmVndWFyZC5pby9pbnN0YWxsLyNrZXJuZWwtcmVxdWlyZW1lbnRzCi0KLUVYVFJBX09FTUFLRV9hcHBlbmQgPSAiIFwKLSAgICBLRVJORUxESVI9JHtTVEFHSU5HX0tFUk5FTF9ESVJ9IFwKLSAgICAiCi0KLU1BS0VfVEFSR0VUUyA9ICJtb2R1bGUiCi0KLVJSRUNPTU1FTkRTXyR7UE59ID0gImtlcm5lbC1tb2R1bGUteHQtaGFzaGxpbWl0IgotTU9EVUxFX05BTUUgPSAid2lyZWd1YXJkIgotCi0jIEtlcm5lbCBtb2R1bGUgcGFja2FnZXMgTVVTVCBiZWdpbiB3aXRoICdrZXJuZWwtbW9kdWxlLScsIG90aGVyd2lzZQotIyBtdWx0aWxpYiBpbWFnZSBnZW5lcmF0aW9uIGNhbiBmYWlsLgotIwotIyBUaGUgZm9sbG93aW5nIGxpbmUgaXMgb25seSBuZWNlc3NhcnkgaWYgdGhlIHJlY2lwZSBuYW1lIGRvZXMgbm90IGJlZ2luCi0jIHdpdGgga2VybmVsLW1vZHVsZS0uCi1QS0dfJHtQTn0gPSAia2VybmVsLW1vZHVsZS0ke01PRFVMRV9OQU1FfSIKLQotbW9kdWxlX2RvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9L2xpYi9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC8ke01PRFVMRV9OQU1FfQotICAgIGluc3RhbGwgLW0gMDY0NCAke01PRFVMRV9OQU1FfS5rbyBcCi0gICAgJHtEfS9saWIvbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvJHtNT0RVTEVfTkFNRX0vJHtNT0RVTEVfTkFNRX0ua28KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLW1vZHVsZV8wLjAuMjAxOTAxMjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTkwMTIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhZGM5N2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC1tb2R1bGVfMC4wLjIwMTkwMTIzLmJiCkBAIC0wLDAgKzEsMzEgQEAKK3JlcXVpcmUgd2lyZWd1YXJkLmluYworCitpbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0CisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwgbGlibW5sIgorCisjIFRoaXMgbW9kdWxlIHJlcXVpcmVzIExpbnV4IDMuMTAgaGlnaGVyIGFuZCBzZXZlcmFsIG5ldHdvcmtpbmcgcmVsYXRlZAorIyBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEZvciBleGFjdCBrZXJuZWwgcmVxdWlyZW1lbnRzIHZpc2l0OgorIyBodHRwczovL3d3dy53aXJlZ3VhcmQuaW8vaW5zdGFsbC8ja2VybmVsLXJlcXVpcmVtZW50cworCitFWFRSQV9PRU1BS0VfYXBwZW5kID0gIiBcCisgICAgS0VSTkVMRElSPSR7U1RBR0lOR19LRVJORUxfRElSfSBcCisgICAgIgorCitNQUtFX1RBUkdFVFMgPSAibW9kdWxlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXh0LWhhc2hsaW1pdCIKK01PRFVMRV9OQU1FID0gIndpcmVndWFyZCIKKworIyBLZXJuZWwgbW9kdWxlIHBhY2thZ2VzIE1VU1QgYmVnaW4gd2l0aCAna2VybmVsLW1vZHVsZS0nLCBvdGhlcndpc2UKKyMgbXVsdGlsaWIgaW1hZ2UgZ2VuZXJhdGlvbiBjYW4gZmFpbC4KKyMKKyMgVGhlIGZvbGxvd2luZyBsaW5lIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHRoZSByZWNpcGUgbmFtZSBkb2VzIG5vdCBiZWdpbgorIyB3aXRoIGtlcm5lbC1tb2R1bGUtLgorUEtHXyR7UE59ID0gImtlcm5lbC1tb2R1bGUtJHtNT0RVTEVfTkFNRX0iCisKK21vZHVsZV9kb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvJHtNT0RVTEVfTkFNRX0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtNT0RVTEVfTkFNRX0ua28gXAorICAgICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L21vZHVsZXMvJHtLRVJORUxfVkVSU0lPTn0va2VybmVsLyR7TU9EVUxFX05BTUV9LyR7TU9EVUxFX05BTUV9LmtvCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC10b29sc18wLjAuMjAxNzEyMjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC10b29sc18wLjAuMjAxOTAxMjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLXRvb2xzXzAuMC4yMDE3MTIyMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQtdG9vbHNfMC4wLjIwMTkwMTIzLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1rZXJuZWwvd2lyZWd1YXJkL3dpcmVndWFyZC5pbmMKaW5kZXggNmJkNTgxYS4uODMxNGU3OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMta2VybmVsL3dpcmVndWFyZC93aXJlZ3VhcmQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWtlcm5lbC93aXJlZ3VhcmQvd2lyZWd1YXJkLmluYwpAQCAtMTEsNyArMTEsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9naXQuengyYzQuY29tL1dpcmVHdWFyZC9zbmFwc2hvdC9XaXJlR3VhcmQtJHtQVn0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjM5YmI5OWZlMTEzNTY0MjNmYjFhYjQ1YWUyZDkzOGJiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiOTc2OTdlOWIyNzFiYTg4MzZhMDQxMjBhMjg3YjgyNDY0ODEyNGYyMWQ1MzA5MTcwZWM1MWMxZjg2YWM1ZWQiCitTUkNfVVJJW21kNXN1bV0gPSAiOGEwYTIzMmY2NWQ1ZDg2ZGQ0MDhlZmQ5YWMzMGJjZjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWRkMTNjNzYzMWFmMTY5ZTM4Mzg2MjFiMWExYmZmM2VmNzNjZjdiYzc3OGVlYzJiZDU1ZjdjMTA4OWZmZGY5YiIKIAogUyA9ICIke1dPUktESVJ9L1dpcmVHdWFyZC0ke1BWfS9zcmMvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtbmV0a2l0L25ldGtpdC1yc2gvbmV0a2l0LXJzaF8wLjE3LmJiCmluZGV4IDAzZGQ5NjMuLmQwMzRjZDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLW5ldGtpdC9uZXRraXQtcnNoL25ldGtpdC1yc2hfMC4xNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1uZXRraXQvbmV0a2l0LXJzaC9uZXRraXQtcnNoXzAuMTcuYmIKQEAgLTM5LDYgKzM5LDggQEAKIFBBQ0tBR0VDT05GSUcgKz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIKIFBBQ0tBR0VDT05GSUdbcGFtXSA9ICIgLCAtLXdpdGhvdXQtcGFtLCBsaWJwYW0sIGxpYnBhbSIKIAorQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbCA9ICdudWxsJworCiBkb19jb25maWd1cmUgKCkgewogICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9CiAgICAgZWNobyAiSU5TVEFMTFJPT1Q9JHtEfSIgPiBNQ09ORklHCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1uZXQtc25tcC1maXgtY29tcGlsZS1lcnJvci1kaXNhYmxlLWRlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLW5ldC1zbm1wLWZpeC1jb21waWxlLWVycm9yLWRpc2FibGUtZGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNjg2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1uZXQtc25tcC1maXgtY29tcGlsZS1lcnJvci1kaXNhYmxlLWRlcy5wYXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIGUzOGM1MDhlZjQwMTU5M2IxZDRmZTQyYjYyZTQyYTQ5Y2ZlYzgyYWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNiBGZWIgMjAxOSAxNDoyNjowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBuZXQtc25tcDogZml4IGNvbXBpbGUgZXJyb3Igd2l0aCAtLWRpc2FibGUtZGVzCisKK3wgc2NhcGkuYzogSW4gZnVuY3Rpb24gJ3NjX2VuY3J5cHQnOgorfCBzY2FwaS5jOjEyNTY6NTogZXJyb3I6ICdwYWRfc2l6ZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ2R5c2l6ZSc/Cit8ICAgICAgcGFkX3NpemUgPSBwYWktPnBhZF9zaXplOworfCAgICAgIF5+fn5+fn5+Cit8ICAgICAgZHlzaXplCisKK3BhZF9zaXplIGlzIGRlZmluZWQgb25seSB3aXRob3V0IC0tZGlzYWJsZS1kZXMKK1tzbmlwXQorI2lmbmRlZiBORVRTTk1QX0RJU0FCTEVfREVTCisgICAgaW50ICAgICAgICAgICAgIHBhZCwgcGxhc3QsIHBhZF9zaXplID0gMDsgCisKK2J1dCB1c2VkIHdoZW4gZGlzYWJsZS1kZXMsCitbc25pcF0KKyAgICAgICAgUVVJVEZVTihTTk1QRVJSX0dFTkVSUiwgc2NfZW5jcnlwdF9xdWl0KTsKKyAgICB9ICAgIAorICAgIHBhZF9zaXplID0gcGFpLT5wYWRfc2l6ZTsKKworICAgIG1lbXNldChteV9pdiwgMCwgc2l6ZW9mKG15X2l2KSk7CisKKyNpZm5kZWYgTkVUU05NUF9ESVNBQkxFX0RFUworICAgIGlmIChVU01fQ1JFQVRFX1VTRVJfUFJJVl9ERVMgPT0gKHBhaS0+dHlwZSAmIFVTTV9QUklWX01BU0tfQUxHKSkgeworCisgICAgICAgIC8qCisKK2ZpeCBieSBtb3ZlIGl0IGludG8gI2lmbmRlZiBORVRTTk1QX0RJU0FCTEVfREVTCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL25ldC1zbm1wL2J1Z3MvMjkyNy9dCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBzbm1wbGliL3NjYXBpLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NubXBsaWIvc2NhcGkuYyBiL3NubXBsaWIvc2NhcGkuYworaW5kZXggNDNjYWRkZi4uYzA5ZGViMCAxMDA2NDQKKy0tLSBhL3NubXBsaWIvc2NhcGkuYworKysrIGIvc25tcGxpYi9zY2FwaS5jCitAQCAtMTI1Myw3ICsxMjUzLDYgQEAgc2NfZW5jcnlwdChjb25zdCBvaWQgKiBwcml2dHlwZSwgc2l6ZV90IHByaXZ0eXBlbGVuLAorIAorICAgICAgICAgUVVJVEZVTihTTk1QRVJSX0dFTkVSUiwgc2NfZW5jcnlwdF9xdWl0KTsKKyAgICAgfQorLSAgICBwYWRfc2l6ZSA9IHBhaS0+cGFkX3NpemU7CisgCisgICAgIG1lbXNldChteV9pdiwgMCwgc2l6ZW9mKG15X2l2KSk7CisgCitAQCAtMTI2Myw2ICsxMjYyLDggQEAgc2NfZW5jcnlwdChjb25zdCBvaWQgKiBwcml2dHlwZSwgc2l6ZV90IHByaXZ0eXBlbGVuLAorICAgICAgICAgLyoKKyAgICAgICAgICAqIG5vdyBjYWxjdWxhdGUgdGhlIHBhZGRpbmcgbmVlZGVkIAorICAgICAgICAgICovCisrCisrICAgICAgIHBhZF9zaXplID0gcGFpLT5wYWRfc2l6ZTsKKyAgICAgICAgIHBhZCA9IHBhZF9zaXplIC0gKHB0bGVuICUgcGFkX3NpemUpOworICAgICAgICAgcGxhc3QgPSAoaW50KSBwdGxlbiAtIChwYWRfc2l6ZSAtIHBhZCk7CisgICAgICAgICBpZiAocGFkID09IHBhZF9zaXplKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLXJlbW92ZS1jb25maWd1cmUtb3B0aW9ucy1mcm9tLXZlcnNpb25pbmZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZDU0MDk2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC8wMDAxLXJlbW92ZS1jb25maWd1cmUtb3B0aW9ucy1mcm9tLXZlcnNpb25pbmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBmNTkyMzk4YjFjNjU5Zjg0MTY4ZjVjODRmNjNhZjNiNzE0NTRiOGY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyOCBTZXAgMjAxOCAyMjo1OToyMyArMDgwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmUgY29uZmlndXJlIG9wdGlvbnMgZnJvbSB2ZXJzaW9uaW5mbwotCi1Db25maWd1cmUgb3B0aW9ucyBjb250YWlucyBob3N0IGJ1aWxkIHBhdGhzIHdoaWNoIGJyZWFrcwotYmluYXJ5IHJlcHJvZHVjaWJpbGl0eS4KLQotSXQgaXMgbm8gaGFybSB0byByZW1vdmUgaXQgZnJvbSB2ZXJzaW9uIGluZm8uCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY3Jvc3MgY29tcGlsZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYWdlbnQvbWliZ3JvdXAvdWNkLXNubXAvdmVyc2lvbmluZm8uYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hZ2VudC9taWJncm91cC91Y2Qtc25tcC92ZXJzaW9uaW5mby5jIGIvYWdlbnQvbWliZ3JvdXAvdWNkLXNubXAvdmVyc2lvbmluZm8uYwotaW5kZXggYTUxNTFjMS4uMTE2MDM4MiAxMDA2NDQKLS0tLSBhL2FnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMKLSsrKyBiL2FnZW50L21pYmdyb3VwL3VjZC1zbm1wL3ZlcnNpb25pbmZvLmMKLUBAIC05Miw3ICs5Miw3IEBAIHZhcl9leHRlbnNpYmxlX3ZlcnNpb24oc3RydWN0IHZhcmlhYmxlICp2cCwKLSAgICAgc3RhdGljIGNoYXIgICAgIGVycm1zZ1szMDBdOwotICAgICBjaGFyICAgICAgICAgICAqY3B0cjsKLSAgICAgdGltZV90ICAgICAgICAgIGN1cnRpbWU7Ci0tI2lmZGVmIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMKLSsjaWYgMAotICAgICBzdGF0aWMgY2hhciAgICAgY29uZmlnX29wdHNbXSA9IE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlM7Ci0gI2VuZGlmCi0gCi1AQCAtMTI2LDcgKzEyNiw3IEBAIHZhcl9leHRlbnNpYmxlX3ZlcnNpb24oc3RydWN0IHZhcmlhYmxlICp2cCwKLSAgICAgICAgICp2YXJfbGVuID0gc3RybGVuKGVycm1zZyk7Ci0gICAgICAgICByZXR1cm4gKCh1X2NoYXIgKikgZXJybXNnKTsKLSAgICAgY2FzZSBWRVJDT05GSUc6Ci0tI2lmZGVmIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlMKLSsjaWYgMAotICAgICAgICAgKnZhcl9sZW4gPSBzdHJsZW4oY29uZmlnX29wdHMpOwotICAgICAgICAgaWYgKCp2YXJfbGVuID4gMTAyNCkKLSAgICAgICAgICAgICAqdmFyX2xlbiA9IDEwMjQ7ICAgIC8qIG1pYiBpbXBvc2VkIHJlc3RyaWN0aW9uICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wL3JlcHJvZHVjaWJpbGl0eS1hY2NlcHQtY29uZmlndXJlLW9wdGlvbnMtZnJvbS1lbnYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjBkYmY1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1JlcHJvZHVjaWJsZSBidWlsZDogVG8gYXZvaWQgYnVpbGQgaG9zdCBwYXRocyBiZWluZyB3cml0dGVuIGludG8gYmluYXJpZXMsCithY2NlcHQgTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUyBmcm9tIHRoZSBlbnZpcm9ubWVudC4KK05FVFNOTVBfQ09ORklHVVJFX09QVElPTlMgY2FuIGJlIHNldCBlaXRoZXIgbnVsbCBvciB0byBhIGZpeGVkIHZhbHVlLgorCistLS0gbmV0LXNubXAtNS44Lm9yaWdpbmFsL2NvbmZpZ3VyZS5hYwkyMDE4LTExLTIwIDE3OjQxOjM5LjkyNjUyOTA3MiArMTMwMAorKysrIG5ldC1zbm1wLTUuOC9jb25maWd1cmUuYWMJMjAxOC0xMS0yMCAxNzo1NDo0NC40ODgxODAyMjQgKzEzMDAKK0BAIC0yOCw3ICsyOCw3IEBACisgIworICMgc2F2ZSB0aGUgY29uZmlndXJlIGFyZ3VtZW50cworICMKKy1BQ19ERUZJTkVfVU5RVU9URUQoTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUywiJGFjX2NvbmZpZ3VyZV9hcmdzIiwKKytBQ19ERUZJTkVfVU5RVU9URUQoTkVUU05NUF9DT05GSUdVUkVfT1BUSU9OUywiJHtORVRTTk1QX0NPTkZJR1VSRV9PUFRJT05TLSRhY19jb25maWd1cmVfYXJnc30iLAorICAgW2NvbmZpZ3VyZSBvcHRpb25zIHNwZWNpZmllZF0pCisgQ09ORklHVVJFX09QVElPTlM9IlwiJGFjX2NvbmZpZ3VyZV9hcmdzXCIiCisgQUNfU1VCU1QoQ09ORklHVVJFX09QVElPTlMpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXAvcmVwcm9kdWNpYmlsaXR5LWhhdmUtcHJpbnRjYXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMxNmM3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcC9yZXByb2R1Y2liaWxpdHktaGF2ZS1wcmludGNhcC5wYXRjaApAQCAtMCwwICsxLDE5IEBACitSZXByb2R1Y2libGUgYnVpbGQ6IERvbid0IGNoZWNrIGZvciAvZXRjL3ByaW50Y2FwIG9uIHRoZSBidWlsZCBtYWNoaW5lIHdoZW4KK2Nyb3NzLWNvbXBpbGluZy4gVXNlIEFDX0NIRUNLX0ZJTEUgdG8gc2V0IHRoZSBjYWNoZWQgdmFyaWFibGUKK2FjX2N2X2ZpbGVfX2V0Y19wcmludGNhcCBpbnN0ZWFkLiBXaGVuIGNyb3NzLWNvbXBpbGluZywgdGhpcyB2YXJpYWJsZSBzaG91bGQgYmUKK3NldCBpbiB0aGUgZW52aXJvbm1lbnQgdG8gInllcyIgb3IgIm5vIiBhcyBhcHByb3ByaWF0ZSBmb3IgdGhlIHRhcmdldCBwbGF0Zm9ybS4KKworLS0tIG5ldC1zbm1wLTUuOC5vcmlnaW5hbC9jb25maWd1cmUuZC9jb25maWdfb3NfbWlzYzQJMjAxOC0xMS0yMCAxNzowNTowMy45ODYyNzQ1MjIgKzEzMDAKKysrKyBuZXQtc25tcC01LjgvY29uZmlndXJlLmQvY29uZmlnX29zX21pc2M0CTIwMTgtMTEtMjAgMTc6MDg6MzIuMjUwNzAwNDQ4ICsxMzAwCitAQCAtMTE2LDkgKzExNiw5IEBACisgCVtQYXRoIHRvIHRoZSBscHN0YXQgY29tbWFuZF0pCisgICAgIEFDX0RFRklORShIQVZFX0xQU1RBVCwgMSwgW1NldCBpZiB0aGUgbHBzdGF0IGNvbW1hbmQgaXMgYXZhaWxhYmxlXSkKKyBmaQorLWlmIHRlc3QgLXIgL2V0Yy9wcmludGNhcDsgdGhlbgorK0FDX0NIRUNLX0ZJTEUoWy9ldGMvcHJpbnRjYXBdLAorICAgICBBQ19ERUZJTkUoSEFWRV9QUklOVENBUCwgMSwgW1NldCBpZiAvZXRjL3ByaW50Y2FwIGV4aXN0c10pCistZmkKKyspCisgCisgCisgIyAgICAgICBDaGVjayBwcyBhcmdzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXBfNS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtcHJvdG9jb2xzL25ldC1zbm1wL25ldC1zbm1wXzUuOC5iYgppbmRleCA3NTdjMWRiLi42NzMxNDJiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1wcm90b2NvbHMvbmV0LXNubXAvbmV0LXNubXBfNS44LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXByb3RvY29scy9uZXQtc25tcC9uZXQtc25tcF81LjguYmIKQEAgLTEsOSArMSw5IEBACiBTVU1NQVJZID0gIlZhcmlvdXMgdG9vbHMgcmVsYXRpbmcgdG8gdGhlIFNpbXBsZSBOZXR3b3JrIE1hbmFnZW1lbnQgUHJvdG9jb2wiCiBIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldC1zbm1wLm9yZy8iCiBTRUNUSU9OID0gIm5ldCIKLUxJQ0VOU0UgPSAiQlNEIgorTElDRU5TRSA9ICJCU0QgJiBNSVQiCiAKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MztlbmRsaW5lPTg7bWQ1PTdmN2YwMGJhNjM5YWM4ZThkZWI1YTYyMmVhMjQ2MzRlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWQxMDBhMzk1YTM4NTg0ZjJlYzE4YTgyNzUyNjE2ODciCiAKIERFUEVORFMgPSAib3BlbnNzbCBsaWJubCBwY2l1dGlscyIKIApAQCAtMjQsNyArMjQsOSBAQAogICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUtZml4LWluY29ycmVjdC12YXJpYWJsZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9uZXQtc25tcC01LjcuMi1maXgtZW5naW5lQm9vdHMtdmFsdWUtb24tU0lHSFVQLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL25ldC1zbm1wLWZpeC1mb3ItZGlzYWJsZS1kZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1yZW1vdmUtY29uZmlndXJlLW9wdGlvbnMtZnJvbS12ZXJzaW9uaW5mby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2liaWxpdHktaGF2ZS1wcmludGNhcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2liaWxpdHktYWNjZXB0LWNvbmZpZ3VyZS1vcHRpb25zLWZyb20tZW52LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbmV0LXNubXAtZml4LWNvbXBpbGUtZXJyb3ItZGlzYWJsZS1kZXMucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiNmFhZTU5NDhkZjdlZmRlNjI2NjEzZDZhNGIzY2Q5ZDQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzYyOTEzODViOGVkODRmMDU4OTBmZTQxOTcwMDVkYWY3ZTdlZTdiMDgyYzJlMzkwZmExMTRhOTQ3N2E1NjA0MiIKQEAgLTQxLDE1ICs0MywxNSBAQAogCiBUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IGRlcyIKIFBBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0td2l0aC1lbGYsIC0td2l0aG91dC1lbGYsIGVsZnV0aWxzIgogUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLW5sLCAtLXdpdGhvdXQtbmwsIGxpYm5sIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKIFBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwsIgogCiBQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLWVtYmVkZGVkLXBlcmwgLS13aXRoLXBlcmwtbW9kdWxlcz15ZXMsIC0tZGlzYWJsZS1lbWJlZGRlZC1wZXJsIC0td2l0aC1wZXJsLW1vZHVsZXM9bm8sXAogICAgICAgICAgICAgICAgICAgICAgICBwZXJsLCBwZXJsIHBlcmwtbGliIgorUEFDS0FHRUNPTkZJR1tkZXNdID0gIi0tZW5hYmxlLWRlcywtLWRpc2FibGUtZGVzIgogCiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkIFwKICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbWFudWFscyBcCkBAIC02OCwxMiArNzAsMTcgQEAKICAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCiAgICAgYWNfY3ZfRVRDX01OVFRBQj0vZXRjL210YWIgXAogICAgIGx0X2N2X3NobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMgXAorICAgIGFjX2N2X3BhdGhfVU5BTUVQUk9HPSR7YmFzZV9iaW5kaXJ9L3VuYW1lIFwKKyAgICBhY19jdl9maWxlX19ldGNfcHJpbnRjYXA9bm8gXAorICAgIE5FVFNOTVBfQ09ORklHVVJFX09QVElPTlM9IFwKICIKIGV4cG9ydCBQRVJMUFJPRz0iJHtiaW5kaXJ9L2VudiBwZXJsIgogUEVSTFBST0dfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCAnIC1JJHtXT1JLRElSfScsICcnLCBkKX0iCiAKIEhBU19QRVJMID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BlcmwnLCAnMScsICcwJywgZCl9IgogCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTICs9ICJuZXQtc25tcC1jb25maWcgZ2VuLXZhcmlhYmxlcyIKKwogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CiAgICAgc2VkIC1pIC1lICJzfEkvdXNyL2luY2x1ZGV8SSR7U1RBR0lOR19JTkNESVJ9fGciIFwKICAgICAgICAgIiR7U30iL2NvbmZpZ3VyZSBcCkBAIC0xMTQsMTEgKzEyMSwxMyBAQAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NubXB0cmFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCiAgICAgc2VkICAgIC1lICJzQF5OU0NfU1JDRElSPS4qQE5TQ19TUkNESVI9LkBnIiBcCiAgICAgICAgIC1pICR7RH0ke2JpbmRpcn0vbmV0LXNubXAtY3JlYXRlLXYzLXVzZXIKLSAgICBzZWQgICAgLWUgInNAXk5TQ19TUkNESVI9LipATlNDX1NSQ0RJUj0uQGciIFwKLSAgICAgICAgICAgLWUgInNAXChbXiBdKi1mZGVidWctcHJlZml4LW1hcD1bXiBdKlwpXDEqQEBnIiBcCi0gICAgICAgICAgIC1lICJzQFwoW14gXSotLXN5c3Jvb3Q9W14gXSpcKVwxKkBAZyIgXAotICAgICAgICAgICAtZSAic0BcKFteIF0qLS13aXRoLWxpYnRvb2wtc3lzcm9vdD1bXiBdKlwpXDEqQEBnIiBcCi0gICAgICAgICAgIC1lICJzQFwoW14gXSotLXdpdGgtaW5zdGFsbC1wcmVmaXg9W14gXSpcKVwxKkBAZyIgXAorICAgIHNlZCAtZSAnc0BeTlNDX1NSQ0RJUj0uKkBOU0NfU1JDRElSPS5AZycgXAorICAgICAgICAtZSAnc0BbXiBdKi1mZGVidWctcHJlZml4LW1hcD1bXiAiXSpAQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSotLXN5c3Jvb3Q9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qLS13aXRoLWxpYnRvb2wtc3lzcm9vdD1bXiAiXSpAQGcnIFwKKyAgICAgICAgLWUgJ3NAW14gXSotLXdpdGgtaW5zdGFsbC1wcmVmaXg9W14gIl0qQEBnJyBcCisgICAgICAgIC1lICdzQFteIF0qUEtHX0NPTkZJR19QQVRIPVteICJdKkBAZycgXAorICAgICAgICAtZSAnc0BbXiBdKlBLR19DT05GSUdfTElCRElSPVteICJdKkBAZycgXAogICAgICAgICAtaSAke0R9JHtiaW5kaXJ9L25ldC1zbm1wLWNvbmZpZwogCiAgICAgaWYgWyAiJHtIQVNfUEVSTH0iID0gIjEiIF07IHRoZW4KQEAgLTE2OSwxMiArMTc4LDYgQEAKICAgICBmaQogfQogCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gIm5ldF9zbm1wX3BhY2thZ2VfcHJlcHJvY2VzcyIKLW5ldF9zbm1wX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgc2VkIC1lICdzQCR7UkVDSVBFX1NZU1JPT1R9QEBnJyBcCi0gICAgICAgLWkgJHtQS0dEfSR7YmluZGlyfS9uZXQtc25tcC1jb25maWcKLX0KLQogUEFDS0FHRVMgKz0gIiR7UE59LWxpYnMgJHtQTn0tbWlicyAke1BOfS1zZXJ2ZXIgJHtQTn0tY2xpZW50IFwKICAgICAgICAgICAgICAke1BOfS1zZXJ2ZXItc25tcGQgJHtQTn0tc2VydmVyLXNubXB0cmFwZCBcCiAgICAgICAgICAgICAgJHtQTn0tbGliLW5ldHNubXAgJHtQTn0tbGliLWFnZW50ICR7UE59LWxpYi1oZWxwZXJzIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE0LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzE1NDNkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0jIENvcHlyaWdodCAoYykgMjAxMi0yMDE0IExHIEVsZWN0cm9uaWNzLCBJbmMuCi1TVU1NQVJZID0gImMtYXJlcyBpcyBhIEMgbGlicmFyeSB0aGF0IHJlc29sdmVzIG5hbWVzIGFzeW5jaHJvbm91c2x5LiIKLUhPTUVQQUdFID0gImh0dHA6Ly9kYW5pZWwuaGF4eC5zZS9wcm9qZWN0cy9jLWFyZXMvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLm1kO21kNT1mYjk5NzQ1NGM4ZDYyYWE2YTQ3ZjA3YThjZDQ4YjAwNiIKLQotUFYgPSAiMS4xNC4wK2dpdHIke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9jLWFyZXMvYy1hcmVzLmdpdCBcCi0gICAgZmlsZTovL2NtYWtlLWluc3RhbGwtbGliY2FyZXMucGMucGF0Y2ggXAotIgotU1JDUkVWID0gIjE3ZGMxYjMxMDJlMGRmYzNlN2UzMTM2OTk4OTAxMzE1NGVlMTc4OTMiCi0KLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImNhcmVzLSg/UDxwdmVyPlxkK18oXGRfPykrKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKLQotUEFDS0FHRVMgPSsgIiR7UE59LXV0aWxzIgotCi1GSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvYy1hcmVzL2MtYXJlc18xLjE1LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0Mzc1MjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2MtYXJlcy9jLWFyZXNfMS4xNS4wLmJiCkBAIC0wLDAgKzEsMjYgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDEyLTIwMTQgTEcgRWxlY3Ryb25pY3MsIEluYy4KK1NVTU1BUlkgPSAiYy1hcmVzIGlzIGEgQyBsaWJyYXJ5IHRoYXQgcmVzb2x2ZXMgbmFtZXMgYXN5bmNocm9ub3VzbHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL2RhbmllbC5oYXh4LnNlL3Byb2plY3RzL2MtYXJlcy8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UubWQ7bWQ1PWZiOTk3NDU0YzhkNjJhYTZhNDdmMDdhOGNkNDhiMDA2IgorCitQViA9ICIxLjE1LjArZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gIlwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2MtYXJlcy9jLWFyZXMuZ2l0IFwKKyAgICBmaWxlOi8vY21ha2UtaW5zdGFsbC1saWJjYXJlcy5wYy5wYXRjaCBcCisiCitTUkNSRVYgPSAiZTk4MjkyNGFjZWU3ZjczMTNiNGJhYTRlZTVlYzAwMGM1ZTM3M2MzMCIKKworVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiY2FyZXMtKD9QPHB2ZXI+XGQrXyhcZF8/KSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZworCitQQUNLQUdFUyA9KyAiJHtQTn0tdXRpbHMiCisKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZG9jc18yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgppbmRleCAzMTg3NWVhLi40ZWNhYWJkIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1kb2NzXzIuNDAuMC5iYgpAQCAtNCwxOCArNCwxMyBAQAogCiBMSUNFTlNFID0gIkRNVEYiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLURvYy56aXAgXAorU1JDX1VSSSA9ICJodHRwOi8vZG10Zi5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9jaW0vY2ltX3NjaGVtYV92MjQwMC9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcDtzdWJkaXI9JHtCUH0gXAogICAgICAgICAgICBmaWxlOi8vTElDRU5TRSBcCiAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gIjNkMDE5NDBiYzEwODVjNmM0MjE4NGMyNWZiNjFmNzM5IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxNzRjZjBmODY1N2IxOWQ4MGRjNTllMTg0Nzc4ZDhlNTUzZGE0MjQ3MjhjYjI5NjZmZTlkNTQyOGRkODQyNjciCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgogCi1kb191bnBhY2soKSB7Ci0gICAgICAgIHVuemlwIC1xICR7RExfRElSfS9jaW1fc2NoZW1hXyR7UFZ9RmluYWwtRG9jLnppcCAtZCAke1N9Ci0gICAgICAgIGNwIC1mICR7RklMRV9ESVJOQU1FfS9maWxlcy9MSUNFTlNFICR7V09SS0RJUn0vCi19Ci0KIGRvX2luc3RhbGwoKSB7CiAgICAgICAgIGluc3RhbGwgLWQgLW0gMDc1NSAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCiAgICAgICAgIGNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vKiAke0R9JHtkYXRhZGlyfS9kb2MvY2ltLXNjaGVtYS0ke1BWfS1kb2NzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2NpbS1zY2hlbWEvY2ltLXNjaGVtYS1maW5hbF8yLjQwLjAuYmIKaW5kZXggYTE0ZGU0Ni4uNjdkMWRiMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9jaW0tc2NoZW1hL2NpbS1zY2hlbWEtZmluYWxfMi40MC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvY2ltLXNjaGVtYS9jaW0tc2NoZW1hLWZpbmFsXzIuNDAuMC5iYgpAQCAtNCwxOCArNCwxMyBAQAogCiBSQ09ORkxJQ1RTXyR7UE59ID0gImNpbS1zY2hlbWEtZXhwZXIiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwIFwKK1NSQ19VUkkgPSAiaHR0cDovL2RtdGYub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvY2ltL2NpbV9zY2hlbWFfdjI0MDAvY2ltX3NjaGVtYV8ke1BWfUZpbmFsLU1PRnMuemlwO3N1YmRpcj0ke0JQfSBcCiAgICAgZmlsZTovL0xJQ0VOU0UgXAogIgogU1JDX1VSSVttZDVzdW1dID0gImE5YmRmMTdjNzM3NGUzYjViN2FkZWFhYzQ4NDJjNGFkIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImRiZmEzMDY0ZWE0MjdhY2Q3MWE0YmViYmMxNzJjYTJkYzQ0YjBiMDlhNmQ4M2IwOTQ1YjlmZmE5ODhhOTA1OGEiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0U7bWQ1PWVlY2M2ZjcxYTU2ZmYzY2FmMTdmMTViZjdhZWFjN2I0IgogCi1kb191bnBhY2soKSB7Ci0gICAgdW56aXAgLXEgJHtETF9ESVJ9L2NpbV9zY2hlbWFfJHtQVn1GaW5hbC1NT0ZzLnppcCAtZCAke1N9Ci0gICAgY3AgLWYgJHtGSUxFX0RJUk5BTUV9L2ZpbGVzL0xJQ0VOU0UgJHtXT1JLRElSfS8KLX0KLQogZG9faW5zdGFsbCgpIHsKICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vbW9mL2NpbXYke1BWfS8KICAgICBpbnN0YWxsIC1kIC1tIDA3NTUgJHtEfSR7ZGF0YWRpcn0vZG9jL2NpbS1zY2hlbWEtJHtQVn0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxLmluYwppbmRleCA0ZjRiYmYxLi4zMzY3OGUyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3EuaW5jCkBAIC0xMiw2ICsxMiw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS1yZXNvbHZjb25mLnNlcnZpY2UgXAogICAgICAgICAgICBmaWxlOi8vZG5zbWFzcS1ub3Jlc29sdmNvbmYuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9kbnNtYXNxLXJlc29sdmVkLmNvbmYgXAogIgogCiBpbmhlcml0IHBrZ2NvbmZpZyB1cGRhdGUtcmMuZCBzeXN0ZW1kCkBAIC01OCw2ICs1OSw4IEBACiAgICAgZWxzZQogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kbnNtYXNxLW5vcmVzb2x2Y29uZi5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Ruc21hc3Euc2VydmljZQogICAgIGZpCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3Jlc29sdmVkLmNvbmYuZC8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kbnNtYXNxLXJlc29sdmVkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC9yZXNvbHZlZC5jb25mLmQvCiAKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9jb250cmliL2xlYXNlLXRvb2xzL2RoY3BfcmVsZWFzZSAke0R9JHtiaW5kaXJ9CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzkuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZG5zbWFzcV8yLjc5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNjZiOWE5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuNzkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLXJlcXVpcmUgZG5zbWFzcS5pbmMKLQotU1JDX1VSSVtkbnNtYXNxLTIuNzkubWQ1c3VtXSA9ICI1ZDcxMjBhNDZkMGMxNmEzMzRmNDY3NTdkN2UyYmE1NSIKLVNSQ19VUklbZG5zbWFzcS0yLjc5LnNoYTI1NnN1bV0gPSAiNzc1MTJkZDZmMzFmZmQ5NjcxOGU4ZGNiYmY1NGYwMmMwODNmMDUxZDRjY2E3MDliZDMyNTQwYWVhMjY5Zjc4OSIKLVNSQ19VUkkgKz0gIlwKLSAgICBmaWxlOi8vbHVhLnBhdGNoIFwKLSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kbnNtYXNxL2Ruc21hc3FfMi44MC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuODAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRiZGVmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9kbnNtYXNxXzIuODAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGRuc21hc3EuaW5jCisKK1NSQ19VUklbZG5zbWFzcS0yLjgwLm1kNXN1bV0gPSAiMWYwNzFmZDExNDU0ZTFjZmZlYTczYmRhZGNmNzBiMjEiCitTUkNfVVJJW2Ruc21hc3EtMi44MC5zaGEyNTZzdW1dID0gIjllNGE1OGY4MTZjZTAwMzNjZTM4M2M1NDliN2Q0MDU4YWQ5YjgyMzk2OGQzNTJkMmI3NjYxNGY4M2VhMzlhZGMiCitTUkNfVVJJICs9ICJcCisgICAgZmlsZTovL2x1YS5wYXRjaCBcCisiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG5zbWFzcS9maWxlcy9kbnNtYXNxLXJlc29sdmVkLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZlZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZjQ2NDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2Ruc21hc3EvZmlsZXMvZG5zbWFzcS1yZXNvbHZlZC5jb25mCkBAIC0wLDAgKzEsMyBAQAorIyBBdm9pZCBjb25mbGljdHMgYmV0d2VlbiBkbnNtYXNxIGFuZCBzeXN0ZW1kLXJlc29sdmVkIGFib3V0IHBvcnQgNTMKK1tSZXNvbHZlXQorRE5TU3R1Ykxpc3RlbmVyPW5vCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RvdmVjb3QvZG92ZWNvdF8yLjIuMzMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MmQ1ZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjMzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJEb3ZlY290IGlzIGFuIG9wZW4gc291cmNlIElNQVAgYW5kIFBPUDMgZW1haWwgc2VydmVyIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuZG92ZWNvdC5vcmcvIgotREVTQ1JJUFRJT04gPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciBmb3IgTGludXgvVU5JWC1saWtlIHN5c3RlbXMsIHdyaXR0ZW4gd2l0aCBzZWN1cml0eSBwcmltYXJpbHkgaW4gbWluZC4gRG92ZWNvdCBpcyBhbiBleGNlbGxlbnQgY2hvaWNlIGZvciBib3RoIHNtYWxsIGFuZCBsYXJnZSBpbnN0YWxsYXRpb25zLiBJdCdzIGZhc3QsIHNpbXBsZSB0byBzZXQgdXAsIHJlcXVpcmVzIG5vIHNwZWNpYWwgYWRtaW5pc3RyYXRpb24gYW5kIGl0IHVzZXMgdmVyeSBsaXR0bGUgbWVtb3J5LiIKLVNFQ1RJT04gPSAibWFpbCIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTgxMzc5YmQwZjFjMzYyZjhkMWQyMTUxNWU1YjMwYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG92ZWNvdC5vcmcvcmVsZWFzZXMvMi4yL2RvdmVjb3QtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWNvbnZlcnQtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy1zdGF0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kb3ZlY290LnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zb2NrZXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kb3ZlYWRtLUZpeC1wYXJhbGxlbC1idWlsZC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImQ2MWQxZTkyM2EyMmY5MDYyY2M5ZjQ3Njk2ODgyNjY2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImU5NDgzZDY4YTc2OThkNzAxYmMwNjEyNGZjZjZlMWIxZjE2MzgwYzI5ODZjN2VjMGNmNGUxNDc1YjlkMGMyMTgiCi0KLURFUEVORFMgPSAib3BlbnNzbCB4eiB6bGliIGJ6aXAyIGxpYmNhcCBpY3UgbGlidGlycGMiCi1DRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMiCi1MREZMQUdTICs9ICItbHRpcnBjIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1c2VyYWRkCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdsZGFwIHBhbScsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1twYW1dID0gIi0td2l0aC1wYW0sLS13aXRob3V0LXBhbSxsaWJwYW0sIgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcD1wbHVnaW4sLS13aXRob3V0LWxkYXAsb3BlbmxkYXAsIgotUEFDS0FHRUNPTkZJR1tsejRdID0gIi0td2l0aC1sejQsLS13aXRob3V0LWx6NCxsejQsIgotCi0jIEZyb20gbmF0aXZlIGJ1aWxkIGluIGFybXY3YS1oZi9lZ2xpYmMKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJpX2N2X3NpZ25lZF9zaXplX3Q9bm8gXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfZ210aW1lX21heF90aW1lX3Q9MzIgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3Zfc2lnbmVkX3RpbWVfdD15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfbW1hcF9wbGF5c193aXRoX3dyaXRlPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9mZF9wYXNzaW5nPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgaV9jdl9jOTlfdnNucHJpbnRmPXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X19fdmFfY29weT15ZXMgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl92YV9jb3B5PXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgbGliX2N2X3ZhX3ZhbF9jb3B5PXllcyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAiCi0KLSMgaGFyZGNvZGUgZXBvbGwoKSB0byBhdm9pZCBydW5uaW5nIHVuc2FmZSB0ZXN0cwotIyBCU0QgbmVlZHMga3F1ZXVlIGFuZCB1Y2xpYmMgcG9sbCgpCi1FWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1pb2xvb3A9ZXBvbGwgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkb3ZlY290LnNlcnZpY2UgZG92ZWNvdC5zb2NrZXQiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kIDc1NSAke0R9L2V0Yy9kb3ZlY290Ci0gICAgdG91Y2ggNjQ0ICR7RH0vZXRjL2RvdmVjb3QvZG92ZWNvdC5jb25mCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZG92ZWNvdC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgc2VkIC1pIC1lICdzI0BTWVNDT05GRElSQCMke3N5c2NvbmZkaXJ9I2cnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2RvdmVjb3Quc2VydmljZQotICAgIHNlZCAtaSAtZSAncyNAU0JJTkRJUkAjJHtzYmluZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kb3ZlY290LnNlcnZpY2UKLX0KLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLXIgLWQgJHtsaWJleGVjZGlyfSAtTSAtcyAke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiAtZyBkb3ZlY290IGRvdmVjb3Q7IFwKLSAgICAgICAgICAgICAgICAgICAgICAtciAtZCAke2xpYmV4ZWNkaXJ9IC1NIC1zICR7YmFzZV9zYmluZGlyfS9ub2xvZ2luIC1nIGRvdmVudWxsIGRvdmVudWxsIgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLWYgLXIgZG92ZWNvdDstZiAtciBkb3ZlbnVsbCIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9kb3ZlY290LypwbHVnaW4uc28gXAotICAgICAgICAgICAgICAgICR7bGliZGlyfS9kb3ZlY290L2xpYmZzX2NvbXByZXNzLnNvIFwKLSAgICAgICAgICAgICAgICAke2xpYmRpcn0vZG92ZWNvdC9saWJzc2xfaW9zdHJlYW1fb3BlbnNzbC5zbyIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKi8qLmEiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kb3ZlY290L2xpYmRvdmVjb3QqLnNvIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qLy5kZWJ1ZyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZG92ZWNvdC9kb3ZlY290XzIuMi4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWJmYjkxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9kb3ZlY290L2RvdmVjb3RfMi4yLjM2LmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAiRG92ZWNvdCBpcyBhbiBvcGVuIHNvdXJjZSBJTUFQIGFuZCBQT1AzIGVtYWlsIHNlcnZlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmRvdmVjb3Qub3JnLyIKK0RFU0NSSVBUSU9OID0gIkRvdmVjb3QgaXMgYW4gb3BlbiBzb3VyY2UgSU1BUCBhbmQgUE9QMyBlbWFpbCBzZXJ2ZXIgZm9yIExpbnV4L1VOSVgtbGlrZSBzeXN0ZW1zLCB3cml0dGVuIHdpdGggc2VjdXJpdHkgcHJpbWFyaWx5IGluIG1pbmQuIERvdmVjb3QgaXMgYW4gZXhjZWxsZW50IGNob2ljZSBmb3IgYm90aCBzbWFsbCBhbmQgbGFyZ2UgaW5zdGFsbGF0aW9ucy4gSXQncyBmYXN0LCBzaW1wbGUgdG8gc2V0IHVwLCByZXF1aXJlcyBubyBzcGVjaWFsIGFkbWluaXN0cmF0aW9uIGFuZCBpdCB1c2VzIHZlcnkgbGl0dGxlIG1lbW9yeS4iCitTRUNUSU9OID0gIm1haWwiCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTk4MTM3OWJkMGYxYzM2MmY4ZDFkMjE1MTVlNWIzMGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2RvdmVjb3Qub3JnL3JlbGVhc2VzLzIuMi9kb3ZlY290LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS5hYy1jb252ZXJ0LUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTkstc3RhdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG92ZWNvdC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2RvdmVjb3Quc29ja2V0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZG92ZWFkbS1GaXgtcGFyYWxsZWwtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhOGQ2NDkyNTg0MDI1YjI0MTNlODJlYTQ4ZGUzY2Q1ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlOWFiYTg5YmIxYWMxZTk1ODFiODRlNGE3YTUwZjUzMTQyNTM5NjE0ZWFmN2NjNGM4MDAwN2ViZWE0OTg4YmU1IgorCitERVBFTkRTID0gIm9wZW5zc2wgeHogemxpYiBiemlwMiBsaWJjYXAgaWN1IGxpYnRpcnBjIgorQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgorTERGTEFHUyArPSAiLWx0aXJwYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXNlcmFkZAorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnbGRhcCBwYW0nLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLXdpdGgtcGFtLC0td2l0aG91dC1wYW0sbGlicGFtLCIKK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS13aXRoLWxkYXA9cGx1Z2luLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwLCIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICItLXdpdGgtbHo0LC0td2l0aG91dC1sejQsbHo0LCIKKworIyBGcm9tIG5hdGl2ZSBidWlsZCBpbiBhcm12N2EtaGYvZWdsaWJjCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiaV9jdl9zaWduZWRfc2l6ZV90PW5vIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X2dtdGltZV9tYXhfdGltZV90PTMyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X3NpZ25lZF90aW1lX3Q9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpX2N2X21tYXBfcGxheXNfd2l0aF93cml0ZT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfZmRfcGFzc2luZz15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGlfY3ZfYzk5X3ZzbnByaW50Zj15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl9fX3ZhX2NvcHk9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJfY3ZfdmFfY29weT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYl9jdl92YV92YWxfY29weT15ZXMgXAorICAgICAgICAgICAgICAgICAgICAgICAgIgorCisjIGhhcmRjb2RlIGVwb2xsKCkgdG8gYXZvaWQgcnVubmluZyB1bnNhZmUgdGVzdHMKKyMgQlNEIG5lZWRzIGtxdWV1ZSBhbmQgdWNsaWJjIHBvbGwoKQorRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtaW9sb29wPWVwb2xsIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0iCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG92ZWNvdC5zZXJ2aWNlIGRvdmVjb3Quc29ja2V0IgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgaW5zdGFsbCAtZCA3NTUgJHtEfS9ldGMvZG92ZWNvdAorICAgIHRvdWNoIDY0NCAke0R9L2V0Yy9kb3ZlY290L2RvdmVjb3QuY29uZgorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2RvdmVjb3Quc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyNAU1lTQ09ORkRJUkAjJHtzeXNjb25mZGlyfSNnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kb3ZlY290LnNlcnZpY2UKKyAgICBzZWQgLWkgLWUgJ3MjQFNCSU5ESVJAIyR7c2JpbmRpcn0jZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZG92ZWNvdC5zZXJ2aWNlCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi1yIC1kICR7bGliZXhlY2Rpcn0gLU0gLXMgJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4gLWcgZG92ZWNvdCBkb3ZlY290OyBcCisgICAgICAgICAgICAgICAgICAgICAgLXIgLWQgJHtsaWJleGVjZGlyfSAtTSAtcyAke2Jhc2Vfc2JpbmRpcn0vbm9sb2dpbiAtZyBkb3ZlbnVsbCBkb3ZlbnVsbCIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1mIC1yIGRvdmVjb3Q7LWYgLXIgZG92ZW51bGwiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZG92ZWNvdC8qcGx1Z2luLnNvIFwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vZG92ZWNvdC9saWJmc19jb21wcmVzcy5zbyBcCisgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2RvdmVjb3QvbGlic3NsX2lvc3RyZWFtX29wZW5zc2wuc28iCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9kb3ZlY290LyovKi5hIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZG92ZWNvdC9saWJkb3ZlY290Ki5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RvdmVjb3QvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuMTYtMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC4xNi0xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3OTRjNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuMTYtMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkRpc3RyaWJ1dGVkIGJsb2NrIGRldmljZSBkcml2ZXIgZm9yIExpbnV4IgorREVTQ1JJUFRJT04gPSAiRFJCRCBpcyBhIGJsb2NrIGRldmljZSB3aGljaCBpcyBkZXNpZ25lZCB0byBidWlsZCBoaWdoIFwKKyAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eSBjbHVzdGVycy4gVGhpcyBpcyBkb25lIGJ5IG1pcnJvcmluZyBhIHdob2xlIFwKKyAgICAgICAgICAgICAgIGJsb2NrIGRldmljZSB2aWEgKGEgZGVkaWNhdGVkKSBuZXR3b3JrLiBZb3UgY291bGQgc2VlIFwKKyAgICAgICAgICAgICAgIGl0IGFzIGEgbmV0d29yayByYWlkLTEuIgorSE9NRVBBR0UgPSAiaHR0cDovL29zcy5saW5iaXQuY29tL2RyYmQvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgorREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbmJpdC5jb20vZG93bmxvYWRzL2RyYmQvOS4wL2RyYmQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NoZWNrX2V4aXN0ZW5jZV9vZl9tb2R1bGVzX2JlZm9yZV9pbnN0YWxsaW5nLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjQxNGE5ZWVmMjgwN2M4MjEwYjY0MDNlMzZjZTNlYTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjA3NGIwZDY0M2Y0YmJhZTQ2NDFkM2I0YmMzMGY0ODQwZTc0ZjJhMjEyZGQ5YzY1NTViODE0MWU1MzBlNTc4OSIKKworaW5oZXJpdCBtb2R1bGUKKworRVhUUkFfT0VNQUtFICs9ICJLRElSPScke1NUQUdJTkdfS0VSTkVMX0RJUn0nIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0iJHtEfSIKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC44LTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2RyYmQvZHJiZF85LjAuOC0xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTRkMTBiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvZHJiZC9kcmJkXzkuMC44LTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIkRpc3RyaWJ1dGVkIGJsb2NrIGRldmljZSBkcml2ZXIgZm9yIExpbnV4IgotREVTQ1JJUFRJT04gPSAiRFJCRCBpcyBhIGJsb2NrIGRldmljZSB3aGljaCBpcyBkZXNpZ25lZCB0byBidWlsZCBoaWdoIFwKLSAgICAgICAgICAgICAgIGF2YWlsYWJpbGl0eSBjbHVzdGVycy4gVGhpcyBpcyBkb25lIGJ5IG1pcnJvcmluZyBhIHdob2xlIFwKLSAgICAgICAgICAgICAgIGJsb2NrIGRldmljZSB2aWEgKGEgZGVkaWNhdGVkKSBuZXR3b3JrLiBZb3UgY291bGQgc2VlIFwKLSAgICAgICAgICAgICAgIGl0IGFzIGEgbmV0d29yayByYWlkLTEuIgotSE9NRVBBR0UgPSAiaHR0cDovL29zcy5saW5iaXQuY29tL2RyYmQvIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgotREVQRU5EUyA9ICJ2aXJ0dWFsL2tlcm5lbCIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpbmJpdC5jb20vZG93bmxvYWRzL2RyYmQvOS4wL2RyYmQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2NoZWNrX2V4aXN0ZW5jZV9vZl9tb2R1bGVzX2JlZm9yZV9pbnN0YWxsaW5nLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzFkZDU4MDQzZjQ2ZTk5MjZiNTc5YWE2NWQ0ZWE5ODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiODdmNzJkNDZkYjliYWQ5MjY0MTViM2FiOWY1ZjEzOTdkZThjNTgxZDJlMmVjMWFkZGJkZDVjZTI2MDRlNjEyMyIKLWluaGVyaXQgbW9kdWxlCi0KLUVYVFJBX09FTUFLRSArPSAiS0RJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9IiR7RH0iCi19Ci0KLVBOQkxBQ0tMSVNUW2RyYmRdID0gImltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzZXR1cF90aW1lcic7IDQuMTUgaGVhZCBmaWxlIGlzc3VlPyIgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvMDAwMS1NYWtlZmlsZS1maXgtcHJvYmxlbS10aGF0LXdhZi1jYW5ub3QtZm91bmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBmMmVmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLU1ha2VmaWxlLWZpeC1wcm9ibGVtLXRoYXQtd2FmLWNhbm5vdC1mb3VuZC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDcyMDU3NjFkNjU0NjM2YTZjMWZhZDAzYTNjYTQwZDM4ZTI1M2UxOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAyNSBKYW4gMjAxOSAxNjowMTowNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogZml4IHByb2JsZW0gdGhhdCB3YWYgY2Fubm90IGZvdW5kCisKK3RkYiBpcyBzdWJmb2xkZXIgb2Ygc2FtYmEsIGJ1dCBpdCBjYW4gYWxzbyBidWlsZCBpbmRlcGVuZGVudGx5Lgorc28gYm90aCBwYXRoIG5lZWQgdG8gYmUgYWRkZWQgaW50byBQQVRICisKK1Vwc3RlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworRml4IHJlamVjdCBieSB1cHN0cmVhbSBzaW5jZSB1cHN0ZWFtIG5lZWQgdG8gc3VwcG9ydCBib3RoIHB5dGhvbjIvMywKK3NvIGRyb3AgYWRkIGFwcGVuZCBQQVRILiByZWZlciBsaW5rOgoraHR0cHM6Ly9naXRsYWIuY29tL3NhbWJhLXRlYW0vc2FtYmEvbWVyZ2VfcmVxdWVzdHMvMjA5CitodHRwczovL2dpdGxhYi5jb20vc2FtYmEtdGVhbS9zYW1iYS9tZXJnZV9yZXF1ZXN0cy8yMTEKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggM2U3MDE0Ni4uNjRiYjM5MyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTEsNiArMSw2IEBACisgIyBzaW1wbGUgbWFrZWZpbGUgd3JhcHBlciB0byBydW4gd2FmCisgCistV0FGX0JJTkFSWT0kKFBZVEhPTikgLi4vLi4vYnVpbGR0b29scy9iaW4vd2FmCisrV0FGX0JJTkFSWT1QQVRIPWJ1aWxkdG9vbHMvYmluOi4uLy4uL2J1aWxkdG9vbHMvYmluOiQkUEFUSCB3YWYKKyBXQUY9UFlUSE9OSEFTSFNFRUQ9MSBXQUZfTUFLRT0xICQoV0FGX0JJTkFSWSkKKyAKKyBhbGw6CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLXdhZi1hZGQtc3VwcG9ydC1vZi1jcm9zc19jb21waWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiLzAwMDEtd2FmLWFkZC1zdXBwb3J0LW9mLWNyb3NzX2NvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIwYzlhMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi8wMDAxLXdhZi1hZGQtc3VwcG9ydC1vZi1jcm9zc19jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gNGI4NDYzZmY0M2Y4OTgzYTcwNmIxODFjNTI5MjQ5MWY5Zjk1NGJlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDI1IEphbiAyMDE5IDE1OjAwOjU5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHdhZjogYWRkIHN1cHBvcnQgb2YgY3Jvc3NfY29tcGlsZQorCitBZnRlciB1cGdyYWRlIGxpYnRkYiBmcm9tIDEuMy4xNiB0byAxLjMuMTcsIHdhZiBidWlsZCBzeXN0ZW0KK3doaWNoIHVzZWQgYnkgbGlidGRiIHVwZ3JhZGUgZnJvbSAxLjUuMTkgdG8gMi4wLjgKKworb24gMS41LjE5LCBmb3IgY3Jvc3NfY29tcGlsZSwgc3VicHJvY2Vzcy5Qb3BlbiBpcyBzZXQgdG8gYmUKK3NhbWJhX2Nyb3NzLmNyb3NzX1BvcGVuLCB3aGljaCB3aWxsIG5vdCBleGVjdXRlIHRlc3Rwcm9nIG9uCitob3N0LCBidXQgb25seSByZWFkIHJlc3VsdCBmcm9tIGNyb3NzLWFuc3dlcnMudHh0IHdoaWNoIGlzCitwYXNzZWQgYnkgb3B0aW9uIC0tY3Jvc3MtYW5zd2VyCisKK3BhcnQgb2Ygb2xkIGNvZGU6CisgICAgYXJncyA9IFV0aWxzLnRvX2xpc3Qoa3cuZ2V0KCdleGVjX2FyZ3MnLCBbXSkpCisgICAgcHJvYyA9IFV0aWxzLnBwcm9jLlBvcGVuKFtsYXN0cHJvZ10gKyBhcmdzLCBzdGRvdXQ9VXRpbHMucHByb2MuUElQRSwgc3RkZXJyPVV0aWxzLnBwcm9jLlBJUEUpCisKK2J1dCBvbiAyLjAuOCwgZXhlY19hcmdzIGlzIG5vdCB1c2VkIGFuZCBjYXVzZSBkb19jb25maWd1cmUKK2ZhaWxlZCB3aXRoIEV4ZWMgZm9ybWF0IGVycm9yCisKK2ZpeGVkIGJ5IGFwcGVuZCBjcm9zcyBhbnNlciByZWxhdGVkIGFyZ3MgdG8gY21kCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5jb20vc2FtYmEtdGVhbS9zYW1iYS9tZXJnZV9yZXF1ZXN0cy8yMTFdCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyB0aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5IHwgMTEgKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvd2FmL3dhZmxpYi9Ub29scy9jX2NvbmZpZy5weSBiL3RoaXJkX3BhcnR5L3dhZi93YWZsaWIvVG9vbHMvY19jb25maWcucHkKK2luZGV4IDc2MDgyMTUuLjc2N2NmMzMgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5CisrKysgYi90aGlyZF9wYXJ0eS93YWYvd2FmbGliL1Rvb2xzL2NfY29uZmlnLnB5CitAQCAtNjYwLDIwICs2NjAsMjEgQEAgY2xhc3MgdGVzdF9leGVjKFRhc2suVGFzayk6CisgCSIiIgorIAljb2xvciA9ICdQSU5LJworIAlkZWYgcnVuKHNlbGYpOgorKwkJYXJncyA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5rdy5nZXQoJ2V4ZWNfYXJncycsIFtdKQorIAkJaWYgZ2V0YXR0cihzZWxmLmdlbmVyYXRvciwgJ3JwYXRoJywgTm9uZSk6CisgCQkJaWYgZ2V0YXR0cihzZWxmLmdlbmVyYXRvciwgJ2RlZmluZV9yZXQnLCBGYWxzZSk6CistCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuY21kX2FuZF9sb2coW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0pCistCQkJZWxzZToKKy0JCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0pCisrCQkJCXNlbGYuZ2VuZXJhdG9yLmJsZC5yZXR2YWwgPSBzZWxmLmdlbmVyYXRvci5ibGQuY21kX2FuZF9sb2coW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0gKyBhcmdzKQorKwkJCWVsc2U6IAorKwkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmV4ZWNfY29tbWFuZChbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSArIGFyZ3MpCisgCQllbHNlOgorIAkJCWVudiA9IHNlbGYuZW52LmVudiBvciB7fQorIAkJCWVudi51cGRhdGUoZGljdChvcy5lbnZpcm9uKSkKKyAJCQlmb3IgdmFyIGluICgnTERfTElCUkFSWV9QQVRIJywgJ0RZTERfTElCUkFSWV9QQVRIJywgJ1BBVEgnKToKKyAJCQkJZW52W3Zhcl0gPSBzZWxmLmlucHV0c1swXS5wYXJlbnQuYWJzcGF0aCgpICsgb3MucGF0aC5wYXRoc2VwICsgZW52LmdldCh2YXIsICcnKQorIAkJCWlmIGdldGF0dHIoc2VsZi5nZW5lcmF0b3IsICdkZWZpbmVfcmV0JywgRmFsc2UpOgorLQkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldLCBlbnY9ZW52KQorKwkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmNtZF9hbmRfbG9nKFtzZWxmLmlucHV0c1swXS5hYnNwYXRoKCldICsgYXJncywgZW52PWVudikKKyAJCQllbHNlOgorLQkJCQlzZWxmLmdlbmVyYXRvci5ibGQucmV0dmFsID0gc2VsZi5nZW5lcmF0b3IuYmxkLmV4ZWNfY29tbWFuZChbc2VsZi5pbnB1dHNbMF0uYWJzcGF0aCgpXSwgZW52PWVudikKKysJCQkJc2VsZi5nZW5lcmF0b3IuYmxkLnJldHZhbCA9IHNlbGYuZ2VuZXJhdG9yLmJsZC5leGVjX2NvbW1hbmQoW3NlbGYuaW5wdXRzWzBdLmFic3BhdGgoKV0gKyBhcmdzLCBlbnY9ZW52KQorIAorIEBmZWF0dXJlKCd0ZXN0X2V4ZWMnKQorIEBhZnRlcl9tZXRob2QoJ2FwcGx5X2xpbmsnKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGIvdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2gKaW5kZXggMzY1YjkyZC4uZTZlMTAyMyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGlidGRiL2xpYnRkYi90ZGItQWRkLWNvbmZpZ3VyZS1vcHRpb25zLWZvci1wYWNrYWdlcy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNmRlMWFmZmRkZGU0MDAzYTk1NjUyM2MzMzBlY2YyNGUyMmUwOTRhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTNiYmM4NTFkOWZkNzM5NmYwODc3NThlNjE0YWJiYTYwZWViMmFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDE5IEp1bCAyMDE4IDE2OjIwOjMyICswODAwCitEYXRlOiBXZWQsIDIzIEphbiAyMDE5IDEwOjE0OjA1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHRkYjogQWRkIGNvbmZpZ3VyZSBvcHRpb25zIGZvciBwYWNrYWdlcwogCiBBZGQgY29uZmlndXJlIG9wdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6CkBAIC0yMSwxNiArMjEsMTkgQEAKIAogVXBkYXRlIGZvciBsaWJ0ZGJfMS4zLjE2CiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCitVcGRhdGUgZm9yIGxpYnRkYl8xLjMuMTcKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsaWIvcmVwbGFjZS93c2NyaXB0IHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyBsaWIvcmVwbGFjZS93c2NyaXB0IHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KICB3c2NyaXB0ICAgICAgICAgICAgIHwgIDYgKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYi9yZXBsYWNlL3dzY3JpcHQgYi9saWIvcmVwbGFjZS93c2NyaXB0Ci1pbmRleCBmZDAwYTQyLi4yZGY4M2NkIDEwMDY0NAoraW5kZXggNmNiYWU5My4uN2FlYWY0NiAxMDA2NDQKIC0tLSBhL2xpYi9yZXBsYWNlL3dzY3JpcHQKICsrKyBiL2xpYi9yZXBsYWNlL3dzY3JpcHQKLUBAIC0yMyw2ICsyMyw0MSBAQCBkZWYgc2V0X29wdGlvbnMob3B0KToKK0BAIC0yNSw2ICsyNSw0MSBAQCBkZWYgb3B0aW9ucyhvcHQpOgogICAgICBvcHQuUFJJVkFURV9FWFRFTlNJT05fREVGQVVMVCgnJykKICAgICAgb3B0LlJFQ1VSU0UoJ2J1aWxkdG9vbHMvd2Fmc2FtYmEnKQogIApAQCAtNzIsNyArNzUsNyBAQAogIEBVdGlscy5ydW5fb25jZQogIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuUkVDVVJTRSgnYnVpbGR0b29scy93YWZzYW1iYScpCi1AQCAtMzIsMTIgKzY3LDI1IEBAIGRlZiBjb25maWd1cmUoY29uZik6CitAQCAtMzQsMTIgKzY5LDI1IEBAIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuREVGSU5FKCdIQVZFX0xJQlJFUExBQ0UnLCAxKQogICAgICBjb25mLkRFRklORSgnTElCUkVQTEFDRV9ORVRXT1JLX0NIRUNLUycsIDEpCiAgCkBAIC0xMDMsMjEgKzEwNiwyNCBAQAogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3BvcnQuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2ZjbnRsLmggc3lzL2ZpbGlvLmggc3lzL2ZpbHN5cy5oIHN5cy9mcy9zNXBhcmFtLmggc3lzL2ZzL3Z4L3F1b3RhLmgnKQogICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3N5cy9pZC5oIHN5cy9pb2N0bC5oIHN5cy9pcGMuaCBzeXMvbW1hbi5oIHN5cy9tb2RlLmggc3lzL25kaXIuaCBzeXMvcHJpdi5oJykKLUBAIC0xMDgsNyArMTU2LDkgQEAgZGVmIGNvbmZpZ3VyZShjb25mKToKK0BAIC0xMTAsOCArMTU4LDEwIEBAIGRlZiBjb25maWd1cmUoY29uZik6CiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2ZpbGVpby5oIHN5cy9maWxlc3lzLmggc3lzL2R1c3RhdC5oIHN5cy9zeXNtYWNyb3MuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygneGZzL2xpYnhmcy5oIG5ldGdyb3VwLmgnKQogIAotLSAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKy0gICAgY29uZi5DSEVDS19IRUFERVJTKCd2YWxncmluZC5oIHZhbGdyaW5kL3ZhbGdyaW5kLmgnKQorLSAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kL21lbWNoZWNrLmggdmFsZ3JpbmQvaGVsZ3JpbmQuaCcpCiArICAgIGlmIE9wdGlvbnMub3B0aW9ucy5lbmFibGVfdmFsZ3JpbmQ6Ci0rICAgICAgICBjb25mLkNIRUNLX0hFQURFUlMoJ3ZhbGdyaW5kLmggdmFsZ3JpbmQvdmFsZ3JpbmQuaCB2YWxncmluZC9tZW1jaGVjay5oJykKKysgICAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQuaCB2YWxncmluZC92YWxncmluZC5oJykKKysgICAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndmFsZ3JpbmQvbWVtY2hlY2suaCB2YWxncmluZC9oZWxncmluZC5oJykKICsKICAgICAgY29uZi5DSEVDS19IRUFERVJTKCduc3NfY29tbW9uLmggbnNzd2l0Y2guaCBuc19hcGkuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygnc3lzL2V4dGF0dHIuaCBzeXMvZWEuaCBzeXMvcHJvcGxpc3QuaCBzeXMvY2RlZnMuaCcpCiAgICAgIGNvbmYuQ0hFQ0tfSEVBREVSUygndXRtcC5oIHV0bXB4LmggbGFzdGxvZy5oJykKLUBAIC0zNDIsMjAgKzM5MiwxOSBAQCBkZWYgY29uZmlndXJlKGNvbmYpOgorQEAgLTM3OSwyMSArNDI5LDIyIEBAIGRlZiBjb25maWd1cmUoY29uZik6CisgICAgIGNvbmYuQ0hFQ0tfRlVOQ1MoJ3ByY3RsIGRpcm5hbWUgYmFzZW5hbWUnKQogIAogICAgICBzdHJsY3B5X2luX2JzZCA9IEZhbHNlCi0gCistCiAtICAgICMgbGliYnNkIG9uIHNvbWUgcGxhdGZvcm1zIHByb3ZpZGVzIHN0cmxjcHkgYW5kIHN0cmxjYXQKIC0gICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ3N0cmxjcHkgc3RybGNhdCcpOgogLSAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignc3RybGNweSBzdHJsY2F0JywgJ2JzZCcsIGhlYWRlcnM9J2JzZC9zdHJpbmcuaCcsCkBAIC0xMzIsMjcgKzEzOCwzMCBAQAogLQogLSAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DUygnY2xvc2Vmcm9tJyk6CiAtICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdjbG9zZWZyb20nLCAnYnNkJywgaGVhZGVycz0nYnNkL3VuaXN0ZC5oJykKKysgICAgCiArICAgIGlmIE9wdGlvbnMub3B0aW9ucy5lbmFibGVfbGliYnNkOgogKyAgICAgICAgIyBsaWJic2Qgb24gc29tZSBwbGF0Zm9ybXMgcHJvdmlkZXMgc3RybGNweSBhbmQgc3RybGNhdAogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ3N0cmxjcHkgc3RybGNhdCcpOgotKyAgICAgICAgICAgIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ3N0cmxjcHkgc3RybGNhdCcsICdic2QnLCBoZWFkZXJzPSdic2Qvc3RyaW5nLmgnLAotKyAgICAgICAgICAgICAgICAgICAgY2hlY2tsaWJjPVRydWUpCisrICAgICAgICAgICAgaWYgY29uZi5DSEVDS19GVU5DU19JTignc3RybGNweSBzdHJsY2F0JywgJ2JzZCcsIGhlYWRlcnM9J2JzZC9zdHJpbmcuaCcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2xpYmM9VHJ1ZSk6CisrICAgICAgICAgICAgICAgIHN0cmxjcHlfaW5fYnNkID0gVHJ1ZQogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ2dldHBlZXJlaWQnKToKICsgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdnZXRwZWVyZWlkJywgJ2JzZCcsIGhlYWRlcnM9J3N5cy90eXBlcy5oIGJzZC91bmlzdGQuaCcpCiArICAgICAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DU19JTignc2V0cHJvY3RpdGxlJywgJ3NldHByb2N0aXRsZScsIGhlYWRlcnM9J3NldHByb2N0aXRsZS5oJyk6CiArICAgICAgICAgICAgY29uZi5DSEVDS19GVU5DU19JTignc2V0cHJvY3RpdGxlJywgJ2JzZCcsIGhlYWRlcnM9J3N5cy90eXBlcy5oIGJzZC91bmlzdGQuaCcpCisrICAgICAgICBpZiBub3QgY29uZi5DSEVDS19GVU5DUygnc2V0cHJvY3RpdGxlX2luaXQnKToKKysgICAgICAgICAgICBjb25mLkNIRUNLX0ZVTkNTX0lOKCdzZXRwcm9jdGl0bGVfaW5pdCcsICdic2QnLCBoZWFkZXJzPSdzeXMvdHlwZXMuaCBic2QvdW5pc3RkLmgnKQogKwogKyAgICAgICAgaWYgbm90IGNvbmYuQ0hFQ0tfRlVOQ1MoJ2Nsb3NlZnJvbScpOgogKyAgICAgICAgICAgIGNvbmYuQ0hFQ0tfRlVOQ1NfSU4oJ2Nsb3NlZnJvbScsICdic2QnLCBoZWFkZXJzPSdic2QvdW5pc3RkLmgnKQotKyAgICAKICAKICAgICAgY29uZi5DSEVDS19DT0RFKCcnJwogICAgICAgICAgICAgICAgICBzdHJ1Y3QgdWNyZWQgY3JlZDsKIGRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggNjUwNTY0OC4uNjYwODQ4MSAxMDA2NDQKK2luZGV4IGJjNWVlMjYuLjlhYzEwYjYgMTAwNjQ0CiAtLS0gYS93c2NyaXB0CiArKysgYi93c2NyaXB0Ci1AQCAtNjMsNiArNjMsMTIgQEAgZGVmIHNldF9vcHRpb25zKG9wdCk6CitAQCAtNjksNiArNjksMTIgQEAgZGVmIG9wdGlvbnMob3B0KToKICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0nZGlzYWJsZV90ZGJfbXV0ZXhfbG9ja2luZycsCiAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UpCiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDU3OWVkNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgdGRiIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vdGRiLnNhbWJhLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEwtMy4wKyAmIEdQTC0zLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90b29scy90ZGJkdW1wLmM7ZW5kbGluZT0xODttZDU9YjU5Y2Q0NWFhODYyNDU3ODEyNmE4Yzk4ZjQ4MDE4YzQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS90ZGIuaDtlbmRsaW5lPTI3O21kNT1mNWJiNTQ0NjQxZDMwODE4MjFiY2MxZGQ1ODMxMGJlNiIKLQotU1JDX1VSSSA9ICJodHRwczovL3NhbWJhLm9yZy9mdHAvdGRiL3RkYi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vZG8tbm90LWNoZWNrLXhzbHRwcm9jLW1hbnBhZ2VzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3RkYi1BZGQtY29uZmlndXJlLW9wdGlvbnMtZm9yLXBhY2thZ2VzLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjdkMDZkODcwOTE4OGUwN2RmODUzZDllOTFkYjg4OTI3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZhM2ZjMjYxNjU2N2YyMzk5Mzk4NGFkYTNjZWE5N2Q5NTNhMjc2NjlmZmQxYmZiYmU5NjFmMjZlMGNmOTZjYzUiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3hhdHRyJywgJ2F0dHInLCAnJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtYWNsLC0td2l0aG91dC1hY2wsYWNsIgotUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgotUEFDS0FHRUNPTkZJR1tsaWJhaW9dID0gIi0td2l0aC1saWJhaW8sLS13aXRob3V0LWxpYmFpbyxsaWJhaW8iCi1QQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiLS13aXRoLWxpYmJzZCwtLXdpdGhvdXQtbGliYnNkLGxpYmJzZCIKLVBBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKLQotUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKLQotaW5oZXJpdCB3YWYtc2FtYmEKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtcnBhdGggXAotICAgICAgICAgICAgICAgICAtLWJ1bmRsZWQtbGlicmFyaWVzPU5PTkUgXAotICAgICAgICAgICAgICAgICAtLWJ1aWx0aW4tbGlicmFyaWVzPXJlcGxhY2UgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbGliaWNvbnY9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fVwKLSAgICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VTICs9ICJ0ZGItdG9vbHMgcHl0aG9uLXRkYiIKLQotUlBST1ZJREVTXyR7UE59LWRiZyArPSAicHl0aG9uLXRkYi1kYmciCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCi1GSUxFU190ZGItdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU19weXRob24tdGRiID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0vc2l0ZS1wYWNrYWdlcy8qIgotUkRFUEVORFNfcHl0aG9uLXRkYiA9ICJweXRob24iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpYnRkYi9saWJ0ZGJfMS4zLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yzc3NTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZGIvbGlidGRiXzEuMy4xNy5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIlRoZSB0ZGIgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly90ZGIuc2FtYmEub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTC0zLjArICYgR1BMLTMuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3Rvb2xzL3RkYmR1bXAuYztlbmRsaW5lPTE4O21kNT1iNTljZDQ1YWE4NjI0NTc4MTI2YThjOThmNDgwMThjNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL3RkYi5oO2VuZGxpbmU9Mjc7bWQ1PWY1YmI1NDQ2NDFkMzA4MTgyMWJjYzFkZDU4MzEwYmU2IgorCitTUkNfVVJJID0gImh0dHBzOi8vc2FtYmEub3JnL2Z0cC90ZGIvdGRiLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtY2hlY2steHNsdHByb2MtbWFucGFnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdGRiLUFkZC1jb25maWd1cmUtb3B0aW9ucy1mb3ItcGFja2FnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS13YWYtYWRkLXN1cHBvcnQtb2YtY3Jvc3NfY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLWZpeC1wcm9ibGVtLXRoYXQtd2FmLWNhbm5vdC1mb3VuZC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MTlkMzczYWM3MmE2NmIwYTI3MzlkYmI0OTVkZTEyNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxY2I0Mzk5Mzk0YzYwYTc3MzQzMGNhNTQ4NDgzNTlhZGNmNTRmYjZmMTM2YWZkY2ZjYmJlNjJiNWY0MjQ1NjE0IgorCitQQUNLQUdFQ09ORklHID8/PSAiXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsICdhdHRyJywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtYWNsLC0td2l0aG91dC1hY2wsYWNsIgorUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgorUEFDS0FHRUNPTkZJR1tsaWJhaW9dID0gIi0td2l0aC1saWJhaW8sLS13aXRob3V0LWxpYmFpbyxsaWJhaW8iCitQQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiLS13aXRoLWxpYmJzZCwtLXdpdGhvdXQtbGliYnNkLGxpYmJzZCIKK1BBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItLXdpdGgtbGliY2FwLC0td2l0aG91dC1saWJjYXAsbGliY2FwIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKKworUyA9ICIke1dPUktESVJ9L3RkYi0ke1BWfSIKKworaW5oZXJpdCB3YWYtc2FtYmEKKworI2Nyb3NzX2NvbXBpbGUgY2Fubm90IHVzZSBwcmVmb3JrZWQgcHJvY2Vzcywgc2luY2UgZm9yayBwcm9jZXNzIGVhcmxpZXIgdGhhbiBwb2ludCBzdWJwcm9jZXMucG9wZW4KKyN0byBjcm9zcyBQb3BlbgorZXhwb3J0IFdBRl9OT19QUkVGT1JLPSJ5ZXMiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAgLS1idW5kbGVkLWxpYnJhcmllcz1OT05FIFwKKyAgICAgICAgICAgICAgICAgLS1idWlsdGluLWxpYnJhcmllcz1yZXBsYWNlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYmljb252PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH1cCisgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFUyArPSAidGRiLXRvb2xzIHB5dGhvbi10ZGIiCisKK1JQUk9WSURFU18ke1BOfS1kYmcgKz0gInB5dGhvbi10ZGItZGJnIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKi5zby4qIgorRklMRVNfdGRiLXRvb2xzID0gIiR7YmluZGlyfS8qIgorRklMRVNfcHl0aG9uLXRkYiA9ICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvKiIKK1JERVBFTkRTX3B5dGhvbi10ZGIgPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtLzAwMDEtSUZOQU1TSVotaXMtZGVmaW5lZC1pbi1uZXQtaWYuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS8wMDAxLUlGTkFNU0laLWlzLWRlZmluZWQtaW4tbmV0LWlmLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTdjNzA5MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bS8wMDAxLUlGTkFNU0laLWlzLWRlZmluZWQtaW4tbmV0LWlmLmgucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorRnJvbSAyOWIzN2U0NTU3N2MwOTIxODQ2YzE3MDlhMTkwZjA4YTNiMDMyNjY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgOCBNYXIgMjAxOSAwOTowODozOCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBJRk5BTVNJWiBpcyBkZWZpbmVkIGluIG5ldC9pZi5oCisKK0ZpeGVzCisvbW50L2EveW9lL2J1aWxkL3RtcC93b3JrL3FlbXVyaXNjdjY0LXlvZS1saW51eC1tdXNsL2xpbnV4LWF0bS8yLjUuMi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9saW51eC9pZl9hcnAuaDoxMjE6MTY6IGVycm9yOiAnSUZOQU1TSVonIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCit8ICBjaGFyICBhcnBfZGV2W0lGTkFNU0laXTsKK3wgICAgICAgICAgICAgICAgXn5+fn5+fn4KK0luIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9saW51eC1hdG0tMi41LjIvc3JjL2FycGQvaXRmLmM6MTc6CisvbW50L2EveW9lL2J1aWxkL3RtcC93b3JrL3FlbXVyaXNjdjY0LXlvZS1saW51eC1tdXNsL2xpbnV4LWF0bS8yLjUuMi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9saW51eC9pZl9hcnAuaDoxMjE6MTY6IGVycm9yOiAnSUZOQU1TSVonIHVuZGVjbGFyZWQgaGVyZSAobm90IGluIGEgZnVuY3Rpb24pCit8ICBjaGFyICBhcnBfZGV2W0lGTkFNU0laXTsKK3wgICAgICAgICAgICAgICAgXn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2FycGQvYXJwLmMgfCAxICsKKyBzcmMvYXJwZC9pdGYuYyB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYXJwZC9hcnAuYyBiL3NyYy9hcnBkL2FycC5jCitpbmRleCA5MmQzNzg3Li5mZjE1NzRjIDEwMDY0NAorLS0tIGEvc3JjL2FycGQvYXJwLmMKKysrKyBiL3NyYy9hcnBkL2FycC5jCitAQCAtMTcsNiArMTcsNyBAQAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+IC8qIGZvciBudG9ocywgZXRjLiAqLworICNkZWZpbmUgX0xJTlVYX05FVERFVklDRV9IIC8qIHZlcnkgY3J1ZGUgaGFjayBmb3IgZ2xpYmMyICovCisgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisrI2luY2x1ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8YXRtLmg+CitkaWZmIC0tZ2l0IGEvc3JjL2FycGQvaXRmLmMgYi9zcmMvYXJwZC9pdGYuYworaW5kZXggOTJmMDk1MS4uZDI4NWUzYiAxMDA2NDQKKy0tLSBhL3NyYy9hcnBkL2l0Zi5jCisrKysgYi9zcmMvYXJwZC9pdGYuYworQEAgLTE0LDYgKzE0LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNkZWZpbmUgX0xJTlVYX05FVERFVklDRV9IIC8qIGdsaWJjMiAqLworICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CisgCisgI2luY2x1ZGUgImF0bWQuaCIKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbGludXgtYXRtL2xpbnV4LWF0bV8yLjUuMi5iYgppbmRleCA5ZmNlNGZiLi41MTY4MmIxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L2xpbnV4LWF0bS9saW51eC1hdG1fMi41LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9saW51eC1hdG0vbGludXgtYXRtXzIuNS4yLmJiCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXR0Y3AtQWRkLXByaW50Zi1mb3JtYXQtc3RyaW5nLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItc2lnZC1SZXBsYWNlLW9uX2V4aXQtQVBJLXdpdGgtYXRleGl0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDMtbXBvYWQtRHJvcC1vbGQtaGFjay10by1jb21waWxlLXdpdGgtdmVyeS1vbGQtZ2xpYmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1JRk5BTVNJWi1pcy1kZWZpbmVkLWluLW5ldC1pZi5oLnBhdGNoIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gImQ0OTQ5OTM2OGMzY2YxNWY3M2EwNWQ5YmNlODgyNGE4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZXRjYXQvbmV0Y2F0LW9wZW5ic2RfMS4xOTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVmYzA1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLXJlcXVpcmUgbmV0Y2F0LmluYwotU1VNTUFSWSA9ICJPcGVuQlNEIE5ldGNhdCIKLUhPTUVQQUdFID0gImh0dHA6Ly9mdHAuZGViaWFuLm9yZyIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9ZjM5ZTYwYWU0ZWE5ZmRiNTU5YzgzM2JlMmU1OWRlOTkiCi0KLURFUEVORFMgKz0gImdsaWItMi4wIGxpYmJzZCIKLWRvX3BhdGNoW2RlcGVuZHNdID0gInF1aWx0LW5hdGl2ZTpkb19wb3B1bGF0ZV9zeXNyb290IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvbmV0Y2F0LW9wZW5ic2QvMS4xOTAtMi9uZXRjYXQtb3BlbmJzZF8ke1BWfS5vcmlnLnRhci5nejtuYW1lPW5ldGNhdCBcCi0gICAgICAgICAgIGh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvbmV0Y2F0LW9wZW5ic2QvMS4xOTAtMi9uZXRjYXQtb3BlbmJzZF8ke1BWfS0yLmRlYmlhbi50YXIueHo7bmFtZT1uZXRjYXQtcGF0Y2g7c3ViZGlyPSR7QlB9IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYnVuZGxlLW93bi1iYXNlNjQtZW5jb2RlLWRlY29kZS1mdW5jdGlvbnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbmV0Y2F0Lm1kNXN1bV0gPSAiZGQzMmZkMWQ3OTAzYjU0MWFkODcwOTc5NDUzOWI5NTkiCi1TUkNfVVJJW25ldGNhdC5zaGEyNTZzdW1dID0gIjY4Y2NjNDQ4MzkyYzA1ZWM1MWJhZWQwMTY3YTcyYjhjNjUwNDU0Zjk5MGI4OTVkNmU2ODc3ZDQxNmEzOGU1MzYiCi1TUkNfVVJJW25ldGNhdC1wYXRjaC5tZDVzdW1dID0gIjc4MDU4YjdhZjAxNzA2NTRiODc3YjAyYzM3NzE2Y2RmIgotU1JDX1VSSVtuZXRjYXQtcGF0Y2guc2hhMjU2c3VtXSA9ICI4ODA4OGFmM2Y1MjBjNzgyNWU1OWJjMTMzZDY1ZTcwZmM0YTMwMTM5ZDQ1MWM2ZmFhYmJkOWYyNDBiYzc4Mzc0IgotCi1pbmhlcml0IHBrZ2NvbmZpZwotCi1FWFRSQV9PRU1BS0UgKz0gIidMREZMQUdTPSR7TERGTEFHU30nIgotCi1kb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgotCi1uZXRjYXRfZG9fcGF0Y2goKSB7Ci0gICAgY2QgJHtTfQotICAgIHF1aWx0IHBvcCAtYSB8fCB0cnVlCi0gICAgaWYgWyAtZCAke1N9Ly5wYy1uZXRjYXQgXTsgdGhlbgotICAgICAgICAgICAgcm0gLXJmICR7U30vLnBjCi0gICAgICAgICAgICBtdiAke1N9Ly5wYy1uZXRjYXQgJHtTfS8ucGMKLSAgICAgICAgICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwb3AgLWEKLSAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYwotICAgIGZpCi0gICAgUVVJTFRfUEFUQ0hFUz0ke1N9L2RlYmlhbi9wYXRjaGVzIHF1aWx0IHB1c2ggLWEKLSAgICBtdiAke1N9Ly5wYyAke1N9Ly5wYy1uZXRjYXQKLX0KLQotZG9fdW5wYWNrW2NsZWFuZGlyc10gKz0gIiR7U30iCi0KLXB5dGhvbiBkb19wYXRjaCgpIHsKLSAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ25ldGNhdF9kb19wYXRjaCcsIGQpCi0gICAgYmIuYnVpbGQuZXhlY19mdW5jKCdwYXRjaF9kb19wYXRjaCcsIGQpCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgY2QgJHtTfQotICAgIHBrZ3JlbD00Ci0gICAgb2VfcnVubWFrZSBDRkxBR1M9IiRDRkxBR1MgLURERUJJQU5fVkVSU0lPTj1cIlxcXCIke3BrZ3JlbH1cXFwiXCIiCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQotfQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5NS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmV0Y2F0L25ldGNhdC1vcGVuYnNkXzEuMTk1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwYWQ0M2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25ldGNhdC9uZXRjYXQtb3BlbmJzZF8xLjE5NS5iYgpAQCAtMCwwICsxLDU2IEBACityZXF1aXJlIG5ldGNhdC5pbmMKK1NVTU1BUlkgPSAiT3BlbkJTRCBOZXRjYXQiCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmRlYmlhbi5vcmciCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWYzOWU2MGFlNGVhOWZkYjU1OWM4MzNiZTJlNTlkZTk5IgorCitERVBFTkRTICs9ICJnbGliLTIuMCBsaWJic2QiCitkb19wYXRjaFtkZXBlbmRzXSA9ICJxdWlsdC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MTAyMlQwODU0MDRaL3Bvb2wvbWFpbi9uL25ldGNhdC1vcGVuYnNkL25ldGNhdC1vcGVuYnNkXyR7UFZ9Lm9yaWcudGFyLmd6O25hbWU9bmV0Y2F0IFwKKyAgICAgICAgICAgaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxODEwMjJUMDg1NDA0Wi9wb29sL21haW4vbi9uZXRjYXQtb3BlbmJzZC9uZXRjYXQtb3BlbmJzZF8ke1BWfS0xLmRlYmlhbi50YXIueHo7bmFtZT1uZXRjYXQtcGF0Y2g7c3ViZGlyPSR7QlB9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYnVuZGxlLW93bi1iYXNlNjQtZW5jb2RlLWRlY29kZS1mdW5jdGlvbnMucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbmV0Y2F0Lm1kNXN1bV0gPSAiMjE5ZDVlNDljNDU2NThlMjI5YTNiZGE2MzA2M2E5ODYiCitTUkNfVVJJW25ldGNhdC5zaGEyNTZzdW1dID0gIjBlMjgzYjJhMjE0MzEzYzY5NDQ3Y2Q5NjJjNTI4YWMxOWFmYjNkZGZlNjA2YjI1ZGU2ZDE3OWYxODdjZGU0YzMiCitTUkNfVVJJW25ldGNhdC1wYXRjaC5tZDVzdW1dID0gIjdlYmEyNDE5ODlkYmVmNmNhYTc4ZWM0YmM4ZTM1MTUxIgorU1JDX1VSSVtuZXRjYXQtcGF0Y2guc2hhMjU2c3VtXSA9ICJjNjczNmZjYmFiNTI1NGNiYmM1MjI3ODk5M2E5NTFkYTExMjZlNDI4MDBhMjk3YzI3ZGIyOTdlMzMyZTIwMTdlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgKz0gIidMREZMQUdTPSR7TERGTEFHU30nIgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCituZXRjYXRfZG9fcGF0Y2goKSB7CisgICAgY2QgJHtTfQorICAgIHF1aWx0IHBvcCAtYSB8fCB0cnVlCisgICAgaWYgWyAtZCAke1N9Ly5wYy1uZXRjYXQgXTsgdGhlbgorICAgICAgICAgICAgcm0gLXJmICR7U30vLnBjCisgICAgICAgICAgICBtdiAke1N9Ly5wYy1uZXRjYXQgJHtTfS8ucGMKKyAgICAgICAgICAgIFFVSUxUX1BBVENIRVM9JHtTfS9kZWJpYW4vcGF0Y2hlcyBxdWlsdCBwb3AgLWEKKyAgICAgICAgICAgIHJtIC1yZiAke1N9Ly5wYworICAgIGZpCisgICAgUVVJTFRfUEFUQ0hFUz0ke1N9L2RlYmlhbi9wYXRjaGVzIHF1aWx0IHB1c2ggLWEKKyAgICBtdiAke1N9Ly5wYyAke1N9Ly5wYy1uZXRjYXQKK30KKworZG9fdW5wYWNrW2NsZWFuZGlyc10gKz0gIiR7U30iCisKK3B5dGhvbiBkb19wYXRjaCgpIHsKKyAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ25ldGNhdF9kb19wYXRjaCcsIGQpCisgICAgYmIuYnVpbGQuZXhlY19mdW5jKCdwYXRjaF9kb19wYXRjaCcsIGQpCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgY2QgJHtTfQorICAgIHBrZ3JlbD00CisgICAgb2VfcnVubWFrZSBDRkxBR1M9IiRDRkxBR1MgLURERUJJQU5fVkVSU0lPTj1cIlxcXCIke3BrZ3JlbH1cXFwiXCIiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9uYyAke0R9JHtiaW5kaXJ9L25jLiR7QlBOfQorfQorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjI2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjI2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjY2Q0ODYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4yNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotU1VNTUFSWSA9ICJIVFRQLzIgQyBMaWJyYXJ5IGFuZCB0b29scyIKLUhPTUVQQUdFID0gImh0dHBzOi8vbmdodHRwMi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NjRhYmRmMzBiMmVhZGQzN2NlNDdkY2JjZTBlYTFlYyIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmdodHRwMi9uZ2h0dHAyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9uZ2h0dHAyLSR7UFZ9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiOTI2ZjA3YWQzYjUwZjM4ZjdkODkzNWNlZDA0NzE2Y2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGRmNDIyOWY0MTIzYjVhYTk2ZTgzNGViY2ZkZmZlOTU0ZTkzZDk4NmYwMjUyZmQxMDEyM2Q1MGM2ZjAxMDk4MyIKLQotREVQRU5EUyA9ICJsaWJ4bWwyIG9wZW5zc2wgemxpYiBqYW5zc29uIGN1bml0IGMtYXJlcyIKLQotaW5oZXJpdCBjbWFrZSBweXRob25uYXRpdmUgcHl0aG9uLWRpcgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4zNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uZ2h0dHAyL25naHR0cDJfMS4zNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwMTk2ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25naHR0cDIvbmdodHRwMl8xLjM3LjAuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJIVFRQLzIgQyBMaWJyYXJ5IGFuZCB0b29scyIKK0hPTUVQQUdFID0gImh0dHBzOi8vbmdodHRwMi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NjRhYmRmMzBiMmVhZGQzN2NlNDdkY2JjZTBlYTFlYyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmdodHRwMi9uZ2h0dHAyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9uZ2h0dHAyLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkYzc1MzZkMDJhYTdkNDg4M2MyMGVhZjYzNzc0NzM4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYTA5MGIxNjRiMTdmNGI5MWZlMzIzMTBhMWMwZWRmM2U5N2UwMmNkOWQxNTI0ZWVmNDJkNjBkZDFlOGQ0N2I3IgorCitERVBFTkRTID0gImxpYnhtbDIgb3BlbnNzbCB6bGliIGphbnNzb24gY3VuaXQgYy1hcmVzIgorCitpbmhlcml0IGNtYWtlIHB5dGhvbm5hdGl2ZSBweXRob24tZGlyCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9uaXMvbmlzLmluYwppbmRleCAyMDBlYWY3Li5hOTY4YWYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L25pcy9uaXMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvbmlzL25pcy5pbmMKQEAgLTI1LDcgKzI1LDcgQEAKICMgc28gZm9yY2UgdGhlIHBhY2thZ2UgdG8gYmUgc2tpcHBlZCBoZXJlICh0aGlzIHdpbGwgY2F1c2UgYQogIyAnbm90aGluZyBwcm92aWRlcycgZXJyb3IpCiBweXRob24gKCkgewotICAgIG9zID0gZC5nZXRWYXIoIlRBUkdFVF9PUyIsIFRydWUpCisgICAgb3MgPSBkLmdldFZhcigiVEFSR0VUX09TIikKICAgICBpZiBvcyA9PSAibGludXgtdWNsaWJjIjoKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiTklTIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgcnBjc3ZjL3lwLmgsIHVDbGliQyBkb2VzIG5vdCBwcm92aWRlIHRoaXMiKQogfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC9vcGVuaXBtaS9vcGVuaXBtaV8yLjAuMjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgppbmRleCBkMjhlYmQ0Li5mMDQyNmNlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L29wZW5pcG1pL29wZW5pcG1pXzIuMC4yNS5iYgpAQCAtMzgsNyArMzgsNyBAQAogU1JDX1VSSVttZDVzdW1dID0gIjE0NjFhYzRkNzhmYzUxNjY0NmZkMGE2ZTYwNWE4YjA1IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImYwZjFhMGVjNzMyNDA5OTMwYjdhMzFhNmRhYTZjZjM5YjU4NWY1MjA1OWI2MmE1ZjA5MmI3ZWNlMjFhYTc1YTUiCiAKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgdXBkYXRlLXJjLmQgc3lzdGVtZAoraW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgcGVybG5hdGl2ZSB1cGRhdGUtcmMuZCBzeXN0ZW1kIGNwYW4tYmFzZQogCiBFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyBcCiAgICAgICAgICAgICAgICAgLS13aXRoLXBlcmw9JyR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJyBcCkBAIC03OCw2ICs3OCw3IEBACiAgICAgICAgIGVjaG8gIlNBTDogU1RBR0lOR19JTkNESVJfTkFUSVZFID0gJFNUQUdJTkdfSU5DRElSX05BVElWRSIKICAgICAgICAgZWNobyAiU0FMOiBsaWJkaXIgPSAkbGliZGlyIgogICAgICAgICBzZWQgLWkgLWUgIi9eUEVSTF9DRkxBR1MvczotSS91c3IvbG9jYWwvaW5jbHVkZTotSSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfTpnIiAkaQorICAgICAgICBzZWQgLWkgLWUgIi9eUEVSTF9DRkxBR1MvczotSSAuKiA6LUkgJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0vQ09SRSA6ZyIgJGkKICAgICAgICAgc2VkIC1pIC1lICIvXlBFUkxfSU5TVEFMTF9ESVIvczpeUEVSTF9JTlNUQUxMX0RJUiA9IC4qOlBFUkxfSU5TVEFMTF9ESVIgPSAke2xpYmRpcn0vcGVybC92ZW5kb3JfcGVybC8kcGVybF92ZXI6ZyIgJGkKICAgICBkb25lCiB9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3N0cm9uZ3N3YW4vc3Ryb25nc3dhbl81LjcuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCmluZGV4IGM4YmIxN2MuLjVhNGUyZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvc3Ryb25nc3dhbi9zdHJvbmdzd2FuXzUuNy4xLmJiCkBAIC02Niw4ICs2Niw4IEBACiAgICAgZGJnbGliZGlyID0gb3MucGF0aC5qb2luKGxpYmRpciwgJy5kZWJ1ZycpCiAKICAgICBkZWYgYWRkX3BsdWdpbl9jb25mKGYsIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIG1vZHVsZW5hbWUpOgotICAgICAgICBkdmFyID0gZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKQotICAgICAgICBvbGRmaWxlcyA9IGQuZ2V0VmFyKCdDT05GRklMRVNfJyArIHBrZywgVHJ1ZSkKKyAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKKyAgICAgICAgb2xkZmlsZXMgPSBkLmdldFZhcignQ09ORkZJTEVTXycgKyBwa2cpCiAgICAgICAgIG5ld2ZpbGUgPSAnLycgKyBvcy5wYXRoLnJlbHBhdGgoZiwgZHZhcikKIAogICAgICAgICBpZiBub3Qgb2xkZmlsZXM6CkBAIC04Myw3ICs4Myw3IEBACiAgICAgc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnbGlic3Ryb25nc3dhbi0oLiopXC5hJywgJyR7UE59LXBsdWdpbi0lcy1zdGF0aWNkZXYnLCAnc3Ryb25nU3dhbiAlcyBwbHVnaW4gLSBEZXZlbG9wbWVudCBmaWxlcyAoU3RhdGljIExpYnJhcmllcyknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCiAKICAgICBpZiBzcGxpdF9wYWNrYWdlczoKLSAgICAgICAgcG4gPSBkLmdldFZhcignUE4nLCBUcnVlKQorICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgIGQuc2V0VmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLXBsdWdpbnMnLCAnICcuam9pbihzcGxpdF9wYWNrYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLWRiZycsICcgJyArICcgJy5qb2luKHNwbGl0X2RiZ19wYWNrYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSUkVDT01NRU5EU18nICsgcG4gKyAnLWRldicsICcgJyArICcgJy5qb2luKHNwbGl0X2Rldl9wYWNrYWdlcykpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC9hdm9pZC1hYnNvbHV0ZS1wYXRoLXdoZW4tc2VhcmNoaW5nLWZvci1saWJkbHBpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODJjMTYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvYXZvaWQtYWJzb2x1dGUtcGF0aC13aGVuLXNlYXJjaGluZy1mb3ItbGliZGxwaS5wYXRjaApAQCAtMCwwICsxLDMwIEBACitGcm9tIGEyYmZkMjgwMzRkOWFhNDhkOGZmMTA5YzEzMTRlNTNiYzk3Nzk3NTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNCBPY3QgMjAxOCAyMjoyNjowOCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBhdm9pZCBhYnNvbHV0ZSBwYXRoIHdoZW4gc2VhcmNoaW5nIGZvciBsaWJkbHBpCisKK0xldCB0aGUgYnVpbGQgZW52aXJvbm1lbnQgY29udHJvbCBsaWJyYXJ5IHNlYXJjaCBwYXRocy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYzg4MjkwOS4uNTJhZWZkNiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNTQyLDcgKzU0Miw3IEBAIGRvbid0Ll0pCisgZmkKKyAKKyAjIGxpYmRscGkgaXMgbmVlZGVkIGZvciBTb2xhcmlzIDExIGFuZCBsYXRlci4KKy1BQ19DSEVDS19MSUIoZGxwaSwgZGxwaV93YWxrLCBMSUJTPSIkTElCUyAtbGRscGkiIExERkxBR1M9Ii1ML2xpYiAkTERGTEFHUyIsICwtTC9saWIpCisrQUNfQ0hFQ0tfTElCKGRscGksIGRscGlfd2FsaywgTElCUz0iJExJQlMgLWxkbHBpIikKKyAKKyBkbmwKKyBkbmwgQ2hlY2sgZm9yICJwY2FwX2xpc3RfZGF0YWxpbmtzKCkiLCAicGNhcF9zZXRfZGF0YWxpbmsoKSIsCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcC91bm5lY2Vzc2FyeS10by1jaGVjay1saWJwY2FwLnBhdGNoCmluZGV4IDhjZWZhZGYuLjY5ZDY4YmEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC90Y3BkdW1wL3RjcGR1bXAvdW5uZWNlc3NhcnktdG8tY2hlY2stbGlicGNhcC5wYXRjaApAQCAtMSwxMCArMSw4IEBACi1Gcm9tIDc0MWQ3N2U0MmZjNGFmNDk4MDRmN2VlNDNiNzIzN2UwMTYzM2NiY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGRkMDIzYzEzMzk4MGZjYzBjZmY1ODk2ZTg1Mzc3Njc1ZTA1NzE4OTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDggSnVsIDIwMTQgMTM6MjA6NDcgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gdW5uZWNlc3NhcnkgdG8gY2hlY2sgbGlicGNhcAogCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQogc2luY2UgdGhlIGNoZWNrIG9mIGxpYnBjYXAgZGlkIG5vdCBjb25zaWRlciB0aGUgY3Jvc3MtY29tcGlsZSwgbGVhZCB0byB0aGUKIGJlbG93IGVycm9yOgogCVRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yCkBAIC0xMywyMiArMTEsMjkgQEAKIEluIGZhY3QsIHRoZSBsaWJwY2FwIGhhcyBiZWVuIGFkZGVkIGludG8gdGhlIHRjcGR1bXAncyBERVBFTkRTLCBub3QgbmVlZCB0bwogY2hlY2sgaWYgbGlicGNhcCBleGlzdGVkLgogCi1TaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQogCitTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogLS0tCi0gY29uZmlndXJlLmluIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIGNvbmZpZ3VyZS5pbiB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgotaW5kZXggYjIzMDVhNS4uYjNiNWRiZiAxMDA2NDQKK2luZGV4IGIyMzA1YTUuLmM4ODI5MDkgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuaW4KICsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTQxOCw3ICs0MTgsNyBAQCBkbmwgU29tZSBwbGF0Zm9ybXMgbWF5IG5lZWQgLWxuc2wgZm9yIGdldHJwY2J5bnVtYmVyLgorQEAgLTQxOCw3ICs0MTgsOSBAQCBkbmwgU29tZSBwbGF0Zm9ybXMgbWF5IG5lZWQgLWxuc2wgZm9yIGdldHJwY2J5bnVtYmVyLgogIEFDX1NFQVJDSF9MSUJTKGdldHJwY2J5bnVtYmVyLCBuc2wsCiAgICAgIEFDX0RFRklORShIQVZFX0dFVFJQQ0JZTlVNQkVSLCAxLCBbZGVmaW5lIGlmIHlvdSBoYXZlIGdldHJwY2J5bnVtYmVyKCldKSkKICAKIC1BQ19MQkxfTElCUENBUChWX1BDQVBERVAsIFZfSU5DTFMpCi0rI0FDX0xCTF9MSUJQQ0FQKFZfUENBUERFUCwgVl9JTkNMUykKKysjIFNpbXBsaWZpZWQgKG1vcmUgY3Jvc3MgY29tcGlsZSBmcmllbmRseSkgY2hlY2sgZm9yIGxpYnBjYXAuIEFsbCB3ZSByZWFsbHkKKysjIG5lZWQgaXMgdG8gc2FuaXR5IGNoZWNrIHRoYXQgbGlicGNhcCBpcyBhdmFpbGFibGUgYW5kIGFkZCAtbHBjYXAgdG8gTElCUy4KKytBQ19DSEVDS19MSUIocGNhcCwgcGNhcF9jb21waWxlLCBMSUJTPSIkTElCUyAtbHBjYXAiKQogIAogICMKICAjIENoZWNrIGZvciB0aGVzZSBhZnRlciBBQ19MQkxfTElCUENBUCwgc28gd2UgbGluayB3aXRoIHRoZSBhcHByb3ByaWF0ZQorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3RjcGR1bXAvdGNwZHVtcF80LjkuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCmluZGV4IGQzODU0MGUuLjAzOGMxNjEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvdGNwZHVtcC90Y3BkdW1wXzQuOS4yLmJiCkBAIC0xLDEzICsxLDE1IEBACiBTVU1NQVJZID0gIkEgc29waGlzdGljYXRlZCBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50Y3BkdW1wLm9yZy8iCitTRUNUSU9OID0gIm5ldCIKIExJQ0VOU0UgPSAiQlNEIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MWQ0YjAzNjY1NTc5NTFjODRhOTRmYWJlMzUyOWY4NjciCi1TRUNUSU9OID0gIm5ldCIKKwogREVQRU5EUyA9ICJsaWJwY2FwIgogCiBTUkNfVVJJID0gIiBcCiAgICAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9yZWxlYXNlLyR7QlB9LnRhci5neiBcCiAgICAgZmlsZTovL3VubmVjZXNzYXJ5LXRvLWNoZWNrLWxpYnBjYXAucGF0Y2ggXAorICAgIGZpbGU6Ly9hdm9pZC1hYnNvbHV0ZS1wYXRoLXdoZW4tc2VhcmNoaW5nLWZvci1saWJkbHBpLnBhdGNoIFwKICAgICBmaWxlOi8vYWRkLXB0ZXN0LnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICIKQEAgLTE1LDM0ICsxNywyNSBAQAogU1JDX1VSSVttZDVzdW1dID0gIjliYmMxZWUzM2RhYjYxMzAyNDExYjAyZGQwNTE1NTc2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc5OGIzNTM2YTI5ODMyY2UwY2JiMDdmYWZiMWNlNTA5N2M5NWUzMDhhNmY1OTJkMTQwNTJlMWVmMTUwNWZlNzkiCiAKLWV4cG9ydCBMSUJTPSIgLWxwY2FwIgotCiBpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3QKLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X2xpbnV4X3ZlcnM9JHthY19jdl9saW51eF92ZXJzPTJ9IgogCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0bz15ZXMsIC0td2l0aG91dC1vcGVuc3NsIC0td2l0aG91dC1jcnlwdG8sIG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwgLS13aXRob3V0LXNtaSxsaWJzbWkiCi1QQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZz15ZXMsLS13aXRoLWNhcC1uZz1ubyxsaWJjYXAtbmciCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgogCi1FWFRSQV9BVVRPUkVDT05GICs9ICIgLUkgbTQiCitQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS13aXRoLWNhcC1uZywtLXdpdGhvdXQtY2FwLW5nLGxpYmNhcC1uZyIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0bywtLXdpdGhvdXQtb3BlbnNzbCAtLXdpdGhvdXQtY3J5cHRvLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3NtaV0gPSAiLS13aXRoLXNtaSwtLXdpdGhvdXQtc21pLGxpYnNtaSIKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgbTQiCiAKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewogICAgIG1rZGlyIC1wICR7U30vbTQKICAgICBpZiBbIC1mIGFjbG9jYWwubTQgXTsgdGhlbgogICAgICAgICBtdiBhY2xvY2FsLm00ICR7U30vbTQKICAgICBmaQotICAgICMgQUNfQ0hFQ0tfTElCKGRscGkuLiB3YXMgbG9va2luZyB0byBob3N0IC9saWIKLSAgICBzZWQgLWkgJ3M6LUwvbGliOjpnJyAuL2NvbmZpZ3VyZS5pbgotfQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICBzZWQgLWkgJ3M6LUwvdXNyL2xpYjo6JyAuL01ha2VmaWxlCi0gICAgc2VkIC1pICdzOi1XbCwtcnBhdGgsJHtTVEFHSU5HX0xJQkRJUn06OicgLi9NYWtlZmlsZQotICAgIHNlZCAtaSAnczotSS91c3IvaW5jbHVkZTo6JyAuL01ha2VmaWxlCiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgdGNwZHVtcCA0LjAuMCBpbnN0YWxscyBhIGNvcHkgdG8gL3Vzci9zYmluL3RjcGR1bXAuNC4wLjAKKyAgICAjIG1ha2UgaW5zdGFsbCBpbnN0YWxscyBhbiB1bm5lZWRlZCBleHRyYSBjb3B5IG9mIHRoZSB0Y3BkdW1wIGJpbmFyeQogICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3RjcGR1bXAuJHtQVn0KIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrLzAwMDEtQWRkLWxpYm0tdG8tbGluay1mb3ItZm1vZC1BUEkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmsvMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY1ZWY5Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmsvMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gMWE2YTVkMmJjYjFhZGVjOWJhMTM4YzJlYmVlN2JiYzk5NDYyMGFmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEyIEp1biAyMDE4IDIzOjIzOjQ0IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsaWJtIHRvIGxpbmsgZm9yIGZtb2QoKSBBUEkKLQotZml4ZXMKLWxkOiBDTWFrZUZpbGVzL3RzaGFyay5kaXIvdWkvY2xpL3RhcC1jb21wYXJlc3RhdC5jLm86IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gc3ltYm9sICdmbW9kQEBHTElCQ18yLjIuNScKLXwgL21udC9hL29lL2J1aWxkL3RtcC93b3JrL2NvcmUyLTY0LWJlYy1saW51eC93aXJlc2hhcmsvMV8yLjYuMS1yMC9yZWNpcGUtc3lzcm9vdC9saWIvbGlibS5zby42OiBlcnJvciBhZGRpbmcgc3ltYm9sczogRFNPIG1pc3NpbmcgZnJvbSBjb21tYW5kIGxpbmUKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIENNYWtlTGlzdHMudHh0IHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA3OTUwZTg1Li5hY2VlMTQwIDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjQ5NCw2ICsyNDk0LDcgQEAgaWYoQlVJTERfdHNoYXJrKQotIAkJJHtMSUJFUEFOX0xJQlN9Ci0gCQkke0FQUExFX0NPUkVfRk9VTkRBVElPTl9MSUJSQVJZfQotIAkJJHtBUFBMRV9TWVNURU1fQ09ORklHVVJBVElPTl9MSUJSQVJZfQotKwkJbQotIAkpCi0gCXNldCh0c2hhcmtfRklMRVMKLSAJCWNhcHR1cmVfb3B0cy5jCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi42LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1zdXBwb3J0L3dpcmVzaGFyay93aXJlc2hhcmtfMi42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2OTlmNjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzIuNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAid2lyZXNoYXJrIC0gYSBwb3B1bGFyIG5ldHdvcmsgcHJvdG9jb2wgYW5hbHl6ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LndpcmVzaGFyay5vcmciCi1TRUNUSU9OID0gIm5ldCIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlMjcxMjM0YmExYTEzYzZlNTEyZTc2Yjk0YWMyZjc3IgotCi1ERVBFTkRTID0gInBjcmUgZXhwYXQgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYmdjcnlwdCBsaWJncGctZXJyb3IgbGlieG1sMiBiaXNvbi1uYXRpdmUiCi0KLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgd2lyZXNoYXJrLW5hdGl2ZSBjaHJwYXRoLXJlcGxhY2VtZW50LW5hdGl2ZSAiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjL2FsbC12ZXJzaW9ucy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtbGlibS10by1saW5rLWZvci1mbW9kLUFQSS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjMwYmE1YjliNDhlZDJmZjkxYzBjZTM1N2QzM2I0NmIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDg3OTMzZWEwNzViZGJiMjVkOGRmMDYwMTdkOWM0ZjQ5ZmMyMGViN2Y2ZWM4MGFmMDg2NzE4ZWQ1NTUwZTg2MyIKLQotUEUgPSAiMSIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCi0KLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi0jIE9wdGlvbnM6IGd0ayssIGd0ayszIGFuZCBxdDUKLUdUSyA9ICJndGsrMyIKLQotUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIHNiYyIKLVBBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiICR7R1RLfSIsICIiLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImxpYnBjYXAgZ251dGxzIHNzbCBsaWJzc2giCi0KLVBBQ0tBR0VDT05GSUdbbGliY2FwXSA9ICItREVOQUJMRV9DQVA9T04sLURFTkFCTEVfQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04sIGxpYmNhcCIKLVBBQ0tBR0VDT05GSUdbbGlicGNhcF0gPSAiLURFTkFCTEVfUENBUD1PTiwtREVOQUJMRV9QQ0FQPU9GRiAtREVOQUJMRV9QQ0FQX05HX0RFRkFVTFQ9T04gLCBsaWJwY2FwIgotUEFDS0FHRUNPTkZJR1tsaWJzbWldID0gIi1ERU5BQkxFX1NNST1PTiwtREVOQUJMRV9TTUk9T0ZGLGxpYnNtaSIKLVBBQ0tBR0VDT05GSUdbbGlibmxdID0gIiwsbGlibmwiCi1QQUNLQUdFQ09ORklHW3BvcnRhdWRpb10gPSAiLURFTkFCTEVfUE9SVEFVRElPPU9OLC1ERU5BQkxFX1BPUlRBVURJTz1PRkYsIHBvcnRhdWRpby12MTkiCi1QQUNLQUdFQ09ORklHW2d0aytdID0gIi1ERU5BQkxFX0dUSz1PTiAtREJVSUxEX3dpcmVzaGFya19ndGs9T04sIC1ERU5BQkxFX0dUSz1PRkYsIGd0aysiCi1QQUNLQUdFQ09ORklHW2d0ayszXSA9ICItREVOQUJMRV9HVEszPU9OIC1EQlVJTERfd2lyZXNoYXJrX2d0az1PTiwgLURFTkFCTEVfR1RLMz1PRkYsIGd0ayszIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1ERU5BQkxFX0dOVVRMUz1PTiwtREVOQUJMRV9HTlVUTFM9T0ZGLCBnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3NzbF0gPSAiLCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1trcmI1XSA9ICItREVOQUJMRV9LUkI1PU9OLC1ERU5BQkxFX0tSQjU9T0ZGLCBrcmI1IgotUEFDS0FHRUNPTkZJR1tsdWFdID0gIi1ERU5BQkxFX0xVQT1PTiwtREVOQUJMRV9MVUE9T0ZGLCBsdWEiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi1ERU5BQkxFX1pMSUI9T04sLURFTkFCTEVfWkxJQj1PRkYsIHpsaWIiCi1QQUNLQUdFQ09ORklHW2dlb2lwXSA9ICIsLCBnZW9pcCIKLVBBQ0tBR0VDT05GSUdbcGx1Z2luc10gPSAiLURFTkFCTEVfUExVR0lOUz1PTiwtREVOQUJMRV9QTFVHSU5TPU9GRiIKLVBBQ0tBR0VDT05GSUdbc2JjXSA9ICItREVOQUJMRV9TQkM9T04sLURFTkFCTEVfU0JDPU9GRiwgc2JjIgotUEFDS0FHRUNPTkZJR1tsaWJzc2hdID0gIiwsbGlic3NoMiIKLVBBQ0tBR0VDT05GSUdbbHo0XSA9ICItREVOQUJMRV9MWjQ9T04sLURFTkFCTEVfTFo0PU9GRiwgbHo0IgotCi0jIHRoZXNlIG5leHQgdHdvIG9wdGlvbnMgcmVxdWlyZSBhZGRpb25hbCBsYXllcnMKLVBBQ0tBR0VDT05GSUdbYy1hcmVzXSA9ICItREVOQUJMRV9DQVJFUz1PTiwtREVOQUJMRV9DQVJFUz1PRkYsIGMtYXJlcyIKLVBBQ0tBR0VDT05GSUdbcXQ1XSA9ICItREVOQUJMRV9RVDU9T04gLURCVUlMRF93aXJlc2hhcms9T04sIC1ERU5BQkxFX1FUNT1PRkYgLURCVUlMRF93aXJlc2hhcms9T0ZGLCBxdGJhc2UiCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1ERU5BQkxFX05FVExJTks9T04gXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9tbWRicmVzb2x2ZT1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9yYW5kcGt0ZHVtcD1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9hbmRyb2lkZHVtcD1PRkYgXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9kY2VycGNpZGwyd3JzPU9GRiBcCi0gICAgICAgICAgICAgICAgICAtRE1fSU5DTFVERV9ESVI9JHtpbmNsdWRlZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRE1fTElCUkFSWT0ke2xpYmRpcn0gXAotICAgICAgICAgICAgICAgICAiCi1DRkxBR1NfYXBwZW5kID0gIiAtbG0iCi0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLQlmb3IgZiBpbiBsZW1vbgotCWRvCi0JCWluc3RhbGwgLW0gMDc1NSAke0J9L3J1bi8kZiAke0R9JHtiaW5kaXJ9Ci0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0JZm9yIGYgaW4gYGZpbmQgJHtEfSR7bGliZGlyfSAke0R9JHtiaW5kaXJ9IC10eXBlIGYgLWV4ZWN1dGFibGVgCi0JZG8KLQkJY2hycGF0aCAtLWRlbGV0ZSAkZgotCWRvbmUKLX0KLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gInRzaGFyayIKLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1ndGsiCi0KLUZJTEVTX3RzaGFyayA9ICIke2JpbmRpcn0vdHNoYXJrICR7bWFuZGlyfS9tYW4xL3RzaGFyay4qIgotRklMRVNfJHtQTn0tZ3RrID0gIiR7YmluZGlyfS93aXJlc2hhcmstZ3RrICR7ZGF0YWRpcn0vaWNvbnMgJHtkYXRhZGlyfS9hcHBkYXRhIFwKLSAgICAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyAke2RhdGFkaXJ9L3dpcmVzaGFyayAke2RhdGFkaXJ9L21pbWUgXAotICAgICAgICAgICAgICAgICAgICR7bWFuZGlyfS9tYW4xL3dpcmVzaGFyay4qICIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0qIgotCi1SREVQRU5EU190c2hhcmsgPSAid2lyZXNoYXJrIgotUkRFUEVORFNfJHtQTn0tZ3RrID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAieDExIiwgIiR7R1RLfSIsICIiLCBkKX0gd2lyZXNoYXJrIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18zLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLXN1cHBvcnQvd2lyZXNoYXJrL3dpcmVzaGFya18zLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzU1ZTNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtc3VwcG9ydC93aXJlc2hhcmsvd2lyZXNoYXJrXzMuMC4wLmJiCkBAIC0wLDAgKzEsODEgQEAKK0RFU0NSSVBUSU9OID0gIndpcmVzaGFyayAtIGEgcG9wdWxhciBuZXR3b3JrIHByb3RvY29sIGFuYWx5emVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53aXJlc2hhcmsub3JnIgorU0VDVElPTiA9ICJuZXQiCitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZTI3MTIzNGJhMWExM2M2ZTUxMmU3NmI5NGFjMmY3NyIKKworREVQRU5EUyA9ICJwY3JlIGV4cGF0IGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJnY3J5cHQgbGliZ3BnLWVycm9yIGxpYnhtbDIgYmlzb24tbmF0aXZlIgorCitERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIHdpcmVzaGFyay1uYXRpdmUgY2hycGF0aC1yZXBsYWNlbWVudC1uYXRpdmUgIgorCitTUkNfVVJJID0gImh0dHBzOi8vMS5ldS5kbC53aXJlc2hhcmsub3JnL3NyYy93aXJlc2hhcmstJHtQVn0udGFyLnh6IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly8xLmFzLmRsLndpcmVzaGFyay5vcmcvc3JjIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjU4ZDYyYWM3NDM0ZDEyNmRjNDk3MzAzYzhmNzk2MWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmM0ZjMwZjViMmU5NGYzYTY5NmZlZjlkZTQ0NjczY2RmNDAyZGI5MGFhYzUyOTk5NjZkYTY0N2Y3MDhmMDA5ZSIKKworUEUgPSAiMSIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgcHl0aG9uM25hdGl2ZSBwZXJsbmF0aXZlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworUEFDS0FHRUNPTkZJRyA/PSAibGlicGNhcCBnbnV0bHMgbGlibmwgbGliY2FwIHNiYyIKKworUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAibGlicGNhcCBnbnV0bHMgc3NsIGxpYnNzaCIKKworUEFDS0FHRUNPTkZJR1tsaWJjYXBdID0gIi1ERU5BQkxFX0NBUD1PTiwtREVOQUJMRV9DQVA9T0ZGIC1ERU5BQkxFX1BDQVBfTkdfREVGQVVMVD1PTiwgbGliY2FwIgorUEFDS0FHRUNPTkZJR1tsaWJwY2FwXSA9ICItREVOQUJMRV9QQ0FQPU9OLC1ERU5BQkxFX1BDQVA9T0ZGIC1ERU5BQkxFX1BDQVBfTkdfREVGQVVMVD1PTiAsIGxpYnBjYXAiCitQQUNLQUdFQ09ORklHW2xpYnNtaV0gPSAiLURFTkFCTEVfU01JPU9OLC1ERU5BQkxFX1NNST1PRkYsbGlic21pIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLCxsaWJubCIKK1BBQ0tBR0VDT05GSUdbcG9ydGF1ZGlvXSA9ICItREVOQUJMRV9QT1JUQVVESU89T04sLURFTkFCTEVfUE9SVEFVRElPPU9GRiwgcG9ydGF1ZGlvLXYxOSIKK1BBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItREVOQUJMRV9HTlVUTFM9T04sLURFTkFCTEVfR05VVExTPU9GRiwgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIiwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLURFTkFCTEVfS1JCNT1PTiwtREVOQUJMRV9LUkI1PU9GRiwga3JiNSIKK1BBQ0tBR0VDT05GSUdbbHVhXSA9ICItREVOQUJMRV9MVUE9T04sLURFTkFCTEVfTFVBPU9GRiwgbHVhIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItREVOQUJMRV9aTElCPU9OLC1ERU5BQkxFX1pMSUI9T0ZGLCB6bGliIgorUEFDS0FHRUNPTkZJR1tnZW9pcF0gPSAiLCwgZ2VvaXAiCitQQUNLQUdFQ09ORklHW3BsdWdpbnNdID0gIi1ERU5BQkxFX1BMVUdJTlM9T04sLURFTkFCTEVfUExVR0lOUz1PRkYiCitQQUNLQUdFQ09ORklHW3NiY10gPSAiLURFTkFCTEVfU0JDPU9OLC1ERU5BQkxFX1NCQz1PRkYsIHNiYyIKK1BBQ0tBR0VDT05GSUdbbGlic3NoXSA9ICIsLGxpYnNzaDIiCitQQUNLQUdFQ09ORklHW2x6NF0gPSAiLURFTkFCTEVfTFo0PU9OLC1ERU5BQkxFX0xaND1PRkYsIGx6NCIKKworIyB0aGVzZSBuZXh0IHR3byBvcHRpb25zIHJlcXVpcmUgYWRkaW9uYWwgbGF5ZXJzCitQQUNLQUdFQ09ORklHW2MtYXJlc10gPSAiLURFTkFCTEVfQ0FSRVM9T04sLURFTkFCTEVfQ0FSRVM9T0ZGLCBjLWFyZXMiCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OIC1EQlVJTERfd2lyZXNoYXJrPU9OLCAtREVOQUJMRV9RVDU9T0ZGIC1EQlVJTERfd2lyZXNoYXJrPU9GRiwgcXRiYXNlIgorCitFWFRSQV9PRUNNQUtFICs9ICItREVOQUJMRV9ORVRMSU5LPU9OIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfbW1kYnJlc29sdmU9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfcmFuZHBrdGR1bXA9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfYW5kcm9pZGR1bXA9T0ZGIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfZGNlcnBjaWRsMndycz1PRkYgXAorICAgICAgICAgICAgICAgICAgLURNX0lOQ0xVREVfRElSPSR7aW5jbHVkZWRpcn0gXAorICAgICAgICAgICAgICAgICAgLURNX0xJQlJBUlk9JHtsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIgorQ0ZMQUdTX2FwcGVuZCA9ICIgLWxtIgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJZm9yIGYgaW4gbGVtb24KKwlkbworCQlpbnN0YWxsIC1tIDA3NTUgJHtCfS9ydW4vJGYgJHtEfSR7YmluZGlyfQorCWRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworCWZvciBmIGluIGBmaW5kICR7RH0ke2xpYmRpcn0gJHtEfSR7YmluZGlyfSAtdHlwZSBmIC1leGVjdXRhYmxlYAorCWRvCisJCWNocnBhdGggLS1kZWxldGUgJGYKKwlkb25lCit9CisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICJ0c2hhcmsiCisKK0ZJTEVTX3RzaGFyayA9ICIke2JpbmRpcn0vdHNoYXJrICR7bWFuZGlyfS9tYW4xL3RzaGFyay4qIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSoiCisKK1JERVBFTkRTX3RzaGFyayA9ICJ3aXJlc2hhcmsiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQppbmRleCBkZTM1MWYyLi4wZTlmODQyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL1JFQURNRQpAQCAtNCwxMyArNCwxMyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29wZW5lbWJlZGRlZC1jb3JlLmdpdAotYnJhbmNoOiB0aHVkIAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS1vZV1bdGh1ZF0nIGluIHRoZSBzdWJqZWN0JworU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGggJ1ttZXRhLW9lXScgaW4gdGhlIHN1YmplY3QnCiAKIFdoZW4gc2VuZGluZyBzaW5nbGUgcGF0Y2hlcywgcGxlYXNlIHVzZSBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1vZV1bUEFUQ0gnCiAKIFlvdSBhcmUgZW5jb3VyYWdlZCB0byBmb3JrIHRoZSBtaXJyb3Igb24gR2l0SHViIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuZW1iZWRkZWQvb3BlbmVtYmVkZGVkLWNvcmUKIHRvIHNoYXJlIHlvdXIgcGF0Y2hlcywgdGhpcyBpcyBwcmVmZXJyZWQgZm9yIHBhdGNoIHNldHMgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIHBhdGNoLgpAQCAtMTksNCArMTksNCBAQAogJ2dpdCBmZXRjaCA8cmVtb3RlPicgd29ya3MgdGhlIHNhbWUgb24gYWxsIG9mIHRoZW0uIFdlIHJlY29tbWVuZCBHaXRIdWIgYmVjYXVzZSBpdCBpcyBmcmVlLCBlYXN5CiB0byB1c2UsIGhhcyBiZWVuIHByb3ZlbiB0byBiZSByZWxpYWJsZSBhbmQgaGFzIGEgcmVhbGx5IGdvb2Qgd2ViIEdVSS4KIAotVGh1ZCBtYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorbGF5ZXIgbWFpbnRhaW5lcjogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9icmVha3BhZC5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKaW5kZXggMzZmMTFmZi4uY2ViZTU1OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL2JyZWFrcGFkLmJiY2xhc3MKQEAgLTI1LDYgKzI1LDkgQEAKIGJyZWFrcGFkX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CiAgICAgbWtkaXIgLXAgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcwogICAgIGZpbmQgJHtEfSAtbmFtZSAke0JSRUFLUEFEX0JJTn0gLWV4ZWMgc2ggLWMgImR1bXBfc3ltcyB7fSA+ICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LnN5bSIgXDsKKyAgICBIQVNIPSQoaGVhZCAtbjEgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0uc3ltIHwgcmV2IHwgY3V0IC1kICcgJyAtZjIgfCByZXYpCisgICAgbWtkaXIgLXAgJHtQS0dEfS91c3Ivc2hhcmUvYnJlYWtwYWQtc3ltcy8ke0JSRUFLUEFEX0JJTn0vJHtIQVNIfQorICAgIG12ICR7UEtHRH0vdXNyL3NoYXJlL2JyZWFrcGFkLXN5bXMvJHtCUkVBS1BBRF9CSU59LnN5bSAke1BLR0R9L3Vzci9zaGFyZS9icmVha3BhZC1zeW1zLyR7QlJFQUtQQURfQklOfS8ke0hBU0h9CiB9CiAKIFBBQ0tBR0VTID0rICIke1BOfS1icmVha3BhZCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY2xhc3Nlcy9zY2FuY29kZS5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKaW5kZXggNzAxNjYwZi4uZTBmMGRiYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9jbGFzc2VzL3NjYW5jb2RlLmJiY2xhc3MKQEAgLTMsMTggKzMsMTggQEAKICMgRm9yIG1vcmUgaW5mb3JtYWl0b24gaHR0cHM6Ly9naXRodWIuY29tL25leEIvc2NhbmNvZGUtdG9vbGtpdAogCiBTQ0FOQ09ERV9GT1JNQVQgPz0gImh0bWwtYXBwIgotRVhUID0gIiR7QCdodG1sJyBpZiBkLmdldFZhcignU0NBTkNPREVfRk9STUFUJywgVHJ1ZSkgPT0gJ2h0bWwtYXBwJyBlbHNlICdqc29uJ30iCitFWFQgPSAiJHtAJ2h0bWwnIGlmIGQuZ2V0VmFyKCdTQ0FOQ09ERV9GT1JNQVQnKSA9PSAnaHRtbC1hcHAnIGVsc2UgJ2pzb24nfSIKIFNDQU5DT0RFX1RPT0xLSVQgPSAiJHtAZ2V0X3NjYW5jb2RlX3Rvb2xraXQoZCl9IgogU0NBTkNPREVfVEFHID0gInYyLjIuMSIKIFNDQU5DT0RFX0dJVF9MT0NBVElPTiA/PSAiaHR0cHM6Ly9naXRodWIuY29tL25leEIvc2NhbmNvZGUtdG9vbGtpdC5naXQiCiBTQ0FOQ09ERV9TUkNfTE9DQVRJT04gPz0gIiR7RExfRElSfS9zY2FuY29kZSIKIAogZGVmIGdldF9zY2FuY29kZV90b29sa2l0KGQpOgotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicsIFRydWUpICsgIi5sb2NrIikKLSAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nLCBUcnVlKSkpOgotICAgICAgICBvcy5zeXN0ZW0oImdpdCBjbG9uZSAlcyAlcyAtYiAlcyIgJSAoZC5nZXRWYXIoJ1NDQU5DT0RFX0dJVF9MT0NBVElPTicsIFRydWUpLCBkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJywgVHJ1ZSksIGQuZ2V0VmFyKCdTQ0FOQ09ERV9UQUcnLCBUcnVlKSkpCisgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZShkLmdldFZhcignU0NBTkNPREVfU1JDX0xPQ0FUSU9OJykgKyAiLmxvY2siKQorICAgIGlmIChub3Qgb3MucGF0aC5leGlzdHMoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicpKSk6CisgICAgICAgIG9zLnN5c3RlbSgiZ2l0IGNsb25lICVzICVzIC1iICVzIiAlIChkLmdldFZhcignU0NBTkNPREVfR0lUX0xPQ0FUSU9OJyksIGQuZ2V0VmFyKCdTQ0FOQ09ERV9TUkNfTE9DQVRJT04nKSwgZC5nZXRWYXIoJ1NDQU5DT0RFX1RBRycpKSkKICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybiAoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicsIFRydWUpKQorICAgIHJldHVybiAoZC5nZXRWYXIoJ1NDQU5DT0RFX1NSQ19MT0NBVElPTicpKQogCiBkb19zY2FuY29kZSgpIHsKIAlta2RpciAtcCAke0RFUExPWV9ESVJfSU1BR0V9L3NjYW5jb2RlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCmluZGV4IDIzYzEwY2UuLjMxZjJmMTcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvY29uZi9sYXllci5jb25mCkBAIC0yOSw3ICsyOSw3IEBACiAKIExBWUVSREVQRU5EU19vcGVuZW1iZWRkZWQtbGF5ZXIgPSAiY29yZSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX29wZW5lbWJlZGRlZC1sYXllciA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX29wZW5lbWJlZGRlZC1sYXllciA9ICJ0aHVkIHdhcnJpb3IiCiAKIExJQ0VOU0VfUEFUSCArPSAiJHtMQVlFUkRJUn0vbGljZW5zZXMiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSERGNSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvSERGNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDQ4MWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9IREY1CkBAIC0wLDAgKzEsOTIgQEAKK0NvcHlyaWdodCBOb3RpY2UgYW5kIExpY2Vuc2UgVGVybXMgZm9yIAorSERGNSAoSGllcmFyY2hpY2FsIERhdGEgRm9ybWF0IDUpIFNvZnR3YXJlIExpYnJhcnkgYW5kIFV0aWxpdGllcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSERGNSAoSGllcmFyY2hpY2FsIERhdGEgRm9ybWF0IDUpIFNvZnR3YXJlIExpYnJhcnkgYW5kIFV0aWxpdGllcworQ29weXJpZ2h0IChjKSAyMDA2LTIwMTgsIFRoZSBIREYgR3JvdXAuIAorCitOQ1NBIEhERjUgKEhpZXJhcmNoaWNhbCBEYXRhIEZvcm1hdCA1KSBTb2Z0d2FyZSBMaWJyYXJ5IGFuZCBVdGlsaXRpZXMKK0NvcHlyaWdodCAoYykgMTk5OC0yMDA2LCBUaGUgQm9hcmQgb2YgVHJ1c3RlZXMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMuIAorCitBbGwgcmlnaHRzIHJlc2VydmVkLgorCitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgCittb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgZm9yIGFueSBwdXJwb3NlIChpbmNsdWRpbmcgY29tbWVyY2lhbCBwdXJwb3NlcykgCitwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorCisxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICAgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisKKzIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgCisgICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucywgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiAKKyAgIGFuZC9vciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorCiszLiBOZWl0aGVyIHRoZSBuYW1lIG9mIFRoZSBIREYgR3JvdXAsIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5LCBub3IgdGhlIAorICAgbmFtZSBvZiBhbnkgQ29udHJpYnV0b3IgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgCisgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24gZnJvbSAKKyAgIFRoZSBIREYgR3JvdXAsIHRoZSBVbml2ZXJzaXR5LCBvciB0aGUgQ29udHJpYnV0b3IsIHJlc3BlY3RpdmVseS4KKworRElTQ0xBSU1FUjogCitUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBIREYgR1JPVVAgQU5EIFRIRSBDT05UUklCVVRPUlMgCisiQVMgSVMiIFdJVEggTk8gV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQgT1IgSU1QTElFRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEhERiBHUk9VUCBPUiBUSEUgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERBTUFHRVMgU1VGRkVSRUQgQlkgVEhFIFVTRVJTIEFSSVNJTkcgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAKK1lvdSBhcmUgdW5kZXIgbm8gb2JsaWdhdGlvbiB3aGF0c29ldmVyIHRvIHByb3ZpZGUgYW55IGJ1ZyBmaXhlcywgcGF0Y2hlcywgb3IgdXBncmFkZXMgdG8gdGhlIGZlYXR1cmVzLCBmdW5jdGlvbmFsaXR5IG9yIHBlcmZvcm1hbmNlIG9mIHRoZSBzb3VyY2UgY29kZSAoIkVuaGFuY2VtZW50cyIpIHRvIGFueW9uZTsgaG93ZXZlciwgaWYgeW91IGNob29zZSB0byBtYWtlIHlvdXIgRW5oYW5jZW1lbnRzIGF2YWlsYWJsZSBlaXRoZXIgcHVibGljbHksIG9yIGRpcmVjdGx5IHRvIFRoZSBIREYgR3JvdXAsIHdpdGhvdXQgaW1wb3NpbmcgYSBzZXBhcmF0ZSB3cml0dGVuIGxpY2Vuc2UgYWdyZWVtZW50IGZvciBzdWNoIEVuaGFuY2VtZW50cywgdGhlbiB5b3UgaGVyZWJ5IGdyYW50IHRoZSBmb2xsb3dpbmcgbGljZW5zZTogYSBub24tZXhjbHVzaXZlLCByb3lhbHR5LWZyZWUgcGVycGV0dWFsIGxpY2Vuc2UgdG8gaW5zdGFsbCwgdXNlLCBtb2RpZnksIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcywgaW5jb3Jwb3JhdGUgaW50byBvdGhlciBjb21wdXRlciBzb2Z0d2FyZSwgZGlzdHJpYnV0ZSwgYW5kIHN1YmxpY2Vuc2Ugc3VjaCBlbmhhbmNlbWVudHMgb3IgZGVyaXZhdGl2ZSB3b3JrcyB0aGVyZW9mLCBpbiBiaW5hcnkgYW5kIHNvdXJjZSBjb2RlIGZvcm0uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitMaW1pdGVkIHBvcnRpb25zIG9mIEhERjUgd2VyZSBkZXZlbG9wZWQgYnkgTGF3cmVuY2UgQmVya2VsZXkgTmF0aW9uYWwgCitMYWJvcmF0b3J5IChMQk5MKS4gTEJOTCdzIENvcHlyaWdodCBOb3RpY2UgYW5kIExpY2Vuc2luZyBUZXJtcyBjYW4gYmUKK2ZvdW5kIGhlcmU6IENPUFlJTkdfTEJOTF9IREY1IGZpbGUgaW4gdGhpcyBkaXJlY3Rvcnkgb3IgYXQgCitodHRwOi8vc3VwcG9ydC5oZGZncm91cC5vcmcvZnRwL0hERjUvcmVsZWFzZXMvQ09QWUlOR19MQk5MX0hERjUuIAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29udHJpYnV0b3JzOiAgIE5hdGlvbmFsIENlbnRlciBmb3IgU3VwZXJjb21wdXRpbmcgQXBwbGljYXRpb25zIChOQ1NBKSBhdCAKK3RoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLCBGb3J0bmVyIFNvZnR3YXJlLCBVbmlkYXRhIFByb2dyYW0gQ2VudGVyIChuZXRDREYpLCBUaGUgSW5kZXBlbmRlbnQgSlBFRyBHcm91cCAoSlBFRyksIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIgKGd6aXApLCBhbmQgRGlnaXRhbCBFcXVpcG1lbnQgQ29ycG9yYXRpb24gKERFQykuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgCitQb3J0aW9ucyBvZiBIREY1IHdlcmUgZGV2ZWxvcGVkIHdpdGggc3VwcG9ydCBmcm9tIHRoZSBMYXdyZW5jZSBCZXJrZWxleSAKK05hdGlvbmFsIExhYm9yYXRvcnkgKExCTkwpIGFuZCB0aGUgVW5pdGVkIFN0YXRlcyBEZXBhcnRtZW50IG9mIEVuZXJneSAKK3VuZGVyIFByaW1lIENvbnRyYWN0IE5vLiBERS1BQzAyLTA1Q0gxMTIzMS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUG9ydGlvbnMgb2YgSERGNSB3ZXJlIGRldmVsb3BlZCB3aXRoIHN1cHBvcnQgZnJvbSB0aGUgVW5pdmVyc2l0eSBvZiAKK0NhbGlmb3JuaWEsIExhd3JlbmNlIExpdmVybW9yZSBOYXRpb25hbCBMYWJvcmF0b3J5IChVQyBMTE5MKS4gIAorVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgYXBwbGllcyB0byB0aG9zZSBwb3J0aW9ucyBvZiB0aGUgcHJvZHVjdCBhbmQgbXVzdCAKK2JlIHJldGFpbmVkIGluIGFueSByZWRpc3RyaWJ1dGlvbiBvZiBzb3VyY2UgY29kZSwgYmluYXJpZXMsIGRvY3VtZW50YXRpb24sIAorYW5kL29yIGFjY29tcGFueWluZyBtYXRlcmlhbHM6CisKKyAgIFRoaXMgd29yayB3YXMgcGFydGlhbGx5IHByb2R1Y2VkIGF0IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIAorICAgTGF3cmVuY2UgTGl2ZXJtb3JlIE5hdGlvbmFsIExhYm9yYXRvcnkgKFVDIExMTkwpIHVuZGVyIGNvbnRyYWN0IAorICAgbm8uIFctNzQwNS1FTkctNDggKENvbnRyYWN0IDQ4KSBiZXR3ZWVuIHRoZSBVLlMuIERlcGFydG1lbnQgb2YgRW5lcmd5IAorICAgKERPRSkgYW5kIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEgKFVuaXZlcnNpdHkpIAorICAgZm9yIHRoZSBvcGVyYXRpb24gb2YgVUMgTExOTC4KKworICAgRElTQ0xBSU1FUjogCisgICBUaGlzIHdvcmsgd2FzIHByZXBhcmVkIGFzIGFuIGFjY291bnQgb2Ygd29yayBzcG9uc29yZWQgYnkgYW4gYWdlbmN5IG9mIAorICAgdGhlIFVuaXRlZCBTdGF0ZXMgR292ZXJubWVudC4gTmVpdGhlciB0aGUgVW5pdGVkIFN0YXRlcyBHb3Zlcm5tZW50IG5vciAKKyAgIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEgbm9yIGFueSBvZiB0aGVpciBlbXBsb3llZXMsIG1ha2VzIGFueSAKKyAgIHdhcnJhbnR5LCBleHByZXNzIG9yIGltcGxpZWQsIG9yIGFzc3VtZXMgYW55IGxpYWJpbGl0eSBvciByZXNwb25zaWJpbGl0eSAKKyAgIGZvciB0aGUgYWNjdXJhY3ksIGNvbXBsZXRlbmVzcywgb3IgdXNlZnVsbmVzcyBvZiBhbnkgaW5mb3JtYXRpb24sIAorICAgYXBwYXJhdHVzLCBwcm9kdWN0LCBvciBwcm9jZXNzIGRpc2Nsb3NlZCwgb3IgcmVwcmVzZW50cyB0aGF0IGl0cyB1c2UgCisgICB3b3VsZCBub3QgaW5mcmluZ2UgcHJpdmF0ZWx5LSBvd25lZCByaWdodHMuIFJlZmVyZW5jZSBoZXJlaW4gdG8gYW55IAorICAgc3BlY2lmaWMgY29tbWVyY2lhbCBwcm9kdWN0cywgcHJvY2Vzcywgb3Igc2VydmljZSBieSB0cmFkZSBuYW1lLCAKKyAgIHRyYWRlbWFyaywgbWFudWZhY3R1cmVyLCBvciBvdGhlcndpc2UsIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGNvbnN0aXR1dGUgCisgICBvciBpbXBseSBpdHMgZW5kb3JzZW1lbnQsIHJlY29tbWVuZGF0aW9uLCBvciBmYXZvcmluZyBieSB0aGUgVW5pdGVkIAorICAgU3RhdGVzIEdvdmVybm1lbnQgb3IgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gVGhlIHZpZXdzIGFuZCAKKyAgIG9waW5pb25zIG9mIGF1dGhvcnMgZXhwcmVzc2VkIGhlcmVpbiBkbyBub3QgbmVjZXNzYXJpbHkgc3RhdGUgb3IgcmVmbGVjdCAKKyAgIHRob3NlIG9mIHRoZSBVbml0ZWQgU3RhdGVzIEdvdmVybm1lbnQgb3IgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYSwgCisgICBhbmQgc2hhbGwgbm90IGJlIHVzZWQgZm9yIGFkdmVydGlzaW5nIG9yIHByb2R1Y3QgZW5kb3JzZW1lbnQgcHVycG9zZXMuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0hERjUgaXMgYXZhaWxhYmxlIHdpdGggdGhlIFNaSVAgY29tcHJlc3Npb24gbGlicmFyeSBidXQgU1pJUCBpcyBub3QgcGFydCAKK29mIEhERjUgYW5kIGhhcyBzZXBhcmF0ZSBjb3B5cmlnaHQgYW5kIGxpY2Vuc2UgdGVybXMuIFNlZSBTWklQIENvbXByZXNzaW9uIAoraW4gSERGIFByb2R1Y3RzICh3d3cuaGRmZ3JvdXAub3JnL2RvY19yZXNvdXJjZS9TWklQLykgZm9yIGZ1cnRoZXIgZGV0YWlscy4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9TU1BMLTEgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL1NTUEwtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTEzODNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9saWNlbnNlcy9TU1BMLTEKQEAgLTAsMCArMSw1NTcgQEAKKyAgICAgICAgICAgICAgICAgICAgIFNlcnZlciBTaWRlIFB1YmxpYyBMaWNlbnNlCisgICAgICAgICAgICAgICAgICAgICBWRVJTSU9OIDEsIE9DVE9CRVIgMTYsIDIwMTgKKworICAgICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgwqkgMjAxOCBNb25nb0RCLCBJbmMuCisKKyAgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoaXMKKyAgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorCisgICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCisKKyAgMC4gRGVmaW5pdGlvbnMuCisgIAorICDigJxUaGlzIExpY2Vuc2XigJ0gcmVmZXJzIHRvIFNlcnZlciBTaWRlIFB1YmxpYyBMaWNlbnNlLgorCisgIOKAnENvcHlyaWdodOKAnSBhbHNvIG1lYW5zIGNvcHlyaWdodC1saWtlIGxhd3MgdGhhdCBhcHBseSB0byBvdGhlciBraW5kcyBvZgorICB3b3Jrcywgc3VjaCBhcyBzZW1pY29uZHVjdG9yIG1hc2tzLgorCisgIOKAnFRoZSBQcm9ncmFt4oCdIHJlZmVycyB0byBhbnkgY29weXJpZ2h0YWJsZSB3b3JrIGxpY2Vuc2VkIHVuZGVyIHRoaXMKKyAgTGljZW5zZS4gIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzIOKAnHlvdeKAnS4g4oCcTGljZW5zZWVz4oCdIGFuZAorICDigJxyZWNpcGllbnRz4oCdIG1heSBiZSBpbmRpdmlkdWFscyBvciBvcmdhbml6YXRpb25zLgorCisgIFRvIOKAnG1vZGlmeeKAnSBhIHdvcmsgbWVhbnMgdG8gY29weSBmcm9tIG9yIGFkYXB0IGFsbCBvciBwYXJ0IG9mIHRoZSB3b3JrIGluCisgIGEgZmFzaGlvbiByZXF1aXJpbmcgY29weXJpZ2h0IHBlcm1pc3Npb24sIG90aGVyIHRoYW4gdGhlIG1ha2luZyBvZiBhbgorICBleGFjdCBjb3B5LiBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEg4oCcbW9kaWZpZWQgdmVyc2lvbuKAnSBvZiB0aGUKKyAgZWFybGllciB3b3JrIG9yIGEgd29yayDigJxiYXNlZCBvbuKAnSB0aGUgZWFybGllciB3b3JrLgorCisgIEEg4oCcY292ZXJlZCB3b3Jr4oCdIG1lYW5zIGVpdGhlciB0aGUgdW5tb2RpZmllZCBQcm9ncmFtIG9yIGEgd29yayBiYXNlZCBvbgorICB0aGUgUHJvZ3JhbS4KKworICBUbyDigJxwcm9wYWdhdGXigJ0gYSB3b3JrIG1lYW5zIHRvIGRvIGFueXRoaW5nIHdpdGggaXQgdGhhdCwgd2l0aG91dAorICBwZXJtaXNzaW9uLCB3b3VsZCBtYWtlIHlvdSBkaXJlY3RseSBvciBzZWNvbmRhcmlseSBsaWFibGUgZm9yCisgIGluZnJpbmdlbWVudCB1bmRlciBhcHBsaWNhYmxlIGNvcHlyaWdodCBsYXcsIGV4Y2VwdCBleGVjdXRpbmcgaXQgb24gYQorICBjb21wdXRlciBvciBtb2RpZnlpbmcgYSBwcml2YXRlIGNvcHkuIFByb3BhZ2F0aW9uIGluY2x1ZGVzIGNvcHlpbmcsCisgIGRpc3RyaWJ1dGlvbiAod2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiksIG1ha2luZyBhdmFpbGFibGUgdG8gdGhlCisgIHB1YmxpYywgYW5kIGluIHNvbWUgY291bnRyaWVzIG90aGVyIGFjdGl2aXRpZXMgYXMgd2VsbC4KKworICBUbyDigJxjb252ZXnigJ0gYSB3b3JrIG1lYW5zIGFueSBraW5kIG9mIHByb3BhZ2F0aW9uIHRoYXQgZW5hYmxlcyBvdGhlcgorICBwYXJ0aWVzIHRvIG1ha2Ugb3IgcmVjZWl2ZSBjb3BpZXMuIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaCBhCisgIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgorCisgIEFuIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlIGRpc3BsYXlzIOKAnEFwcHJvcHJpYXRlIExlZ2FsIE5vdGljZXPigJ0gdG8gdGhlCisgIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZSBmZWF0dXJlIHRoYXQKKyAgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikgdGVsbHMgdGhlIHVzZXIgdGhhdAorICB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUgZXh0ZW50IHRoYXQgd2FycmFudGllcworICBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZSB3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kCisgIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuIElmIHRoZSBpbnRlcmZhY2UgcHJlc2VudHMgYSBsaXN0IG9mCisgIHVzZXIgY29tbWFuZHMgb3Igb3B0aW9ucywgc3VjaCBhcyBhIG1lbnUsIGEgcHJvbWluZW50IGl0ZW0gaW4gdGhlIGxpc3QKKyAgbWVldHMgdGhpcyBjcml0ZXJpb24uCisKKyAgMS4gU291cmNlIENvZGUuCisKKyAgVGhlIOKAnHNvdXJjZSBjb2Rl4oCdIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorICBtYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4g4oCcT2JqZWN0IGNvZGXigJ0gbWVhbnMgYW55IG5vbi1zb3VyY2UgZm9ybSBvZiBhCisgIHdvcmsuCisKKyAgQSDigJxTdGFuZGFyZCBJbnRlcmZhY2XigJ0gbWVhbnMgYW4gaW50ZXJmYWNlIHRoYXQgZWl0aGVyIGlzIGFuIG9mZmljaWFsCisgIHN0YW5kYXJkIGRlZmluZWQgYnkgYSByZWNvZ25pemVkIHN0YW5kYXJkcyBib2R5LCBvciwgaW4gdGhlIGNhc2Ugb2YKKyAgaW50ZXJmYWNlcyBzcGVjaWZpZWQgZm9yIGEgcGFydGljdWxhciBwcm9ncmFtbWluZyBsYW5ndWFnZSwgb25lIHRoYXQgaXMKKyAgd2lkZWx5IHVzZWQgYW1vbmcgZGV2ZWxvcGVycyB3b3JraW5nIGluIHRoYXQgbGFuZ3VhZ2UuICBUaGUg4oCcU3lzdGVtCisgIExpYnJhcmllc+KAnSBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIgdGhhbiB0aGUgd29yayBhcworICBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YgcGFja2FnaW5nIGEgTWFqb3IKKyAgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvciBDb21wb25lbnQsIGFuZCAoYikgc2VydmVzCisgIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQgTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQKKyAgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuIGltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUKKyAgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uIEEg4oCcTWFqb3IgQ29tcG9uZW504oCdLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEKKyAgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudCAoa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZQorICBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtIChpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IKKyAgYSBjb21waWxlciB1c2VkIHRvIHByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQKKyAgdG8gcnVuIGl0LgorCisgIFRoZSDigJxDb3JyZXNwb25kaW5nIFNvdXJjZeKAnSBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsIHRoZQorICBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUgd29yaykgcnVuCisgIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0byBjb250cm9sCisgIHRob3NlIGFjdGl2aXRpZXMuIEhvd2V2ZXIsIGl0IGRvZXMgbm90IGluY2x1ZGUgdGhlIHdvcmsncyBTeXN0ZW0KKyAgTGlicmFyaWVzLCBvciBnZW5lcmFsLXB1cnBvc2UgdG9vbHMgb3IgZ2VuZXJhbGx5IGF2YWlsYWJsZSBmcmVlIHByb2dyYW1zCisgIHdoaWNoIGFyZSB1c2VkIHVubW9kaWZpZWQgaW4gcGVyZm9ybWluZyB0aG9zZSBhY3Rpdml0aWVzIGJ1dCB3aGljaCBhcmUKKyAgbm90IHBhcnQgb2YgdGhlIHdvcmsuIEZvciBleGFtcGxlLCBDb3JyZXNwb25kaW5nIFNvdXJjZSBpbmNsdWRlcworICBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcyBhc3NvY2lhdGVkIHdpdGggc291cmNlIGZpbGVzIGZvciB0aGUgd29yaywgYW5kCisgIHRoZSBzb3VyY2UgY29kZSBmb3Igc2hhcmVkIGxpYnJhcmllcyBhbmQgZHluYW1pY2FsbHkgbGlua2VkIHN1YnByb2dyYW1zCisgIHRoYXQgdGhlIHdvcmsgaXMgc3BlY2lmaWNhbGx5IGRlc2lnbmVkIHRvIHJlcXVpcmUsIHN1Y2ggYXMgYnkgaW50aW1hdGUKKyAgZGF0YSBjb21tdW5pY2F0aW9uIG9yIGNvbnRyb2wgZmxvdyBiZXR3ZWVuIHRob3NlIHN1YnByb2dyYW1zIGFuZCBvdGhlcgorICBwYXJ0cyBvZiB0aGUgd29yay4KKworICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzIGNhbgorICByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UuCisKKyAgVGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhIHdvcmsgaW4gc291cmNlIGNvZGUgZm9ybSBpcyB0aGF0IHNhbWUgd29yay4KKworICAyLiBCYXNpYyBQZXJtaXNzaW9ucy4KKworICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgorICBjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZAorICBjb25kaXRpb25zIGFyZSBtZXQuIFRoaXMgTGljZW5zZSBleHBsaWNpdGx5IGFmZmlybXMgeW91ciB1bmxpbWl0ZWQKKyAgcGVybWlzc2lvbiB0byBydW4gdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSwgc3ViamVjdCB0byBzZWN0aW9uIDEzLiBUaGUKKyAgb3V0cHV0IGZyb20gcnVubmluZyBhIGNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZQorICBvdXRwdXQsIGdpdmVuIGl0cyBjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gVGhpcyBMaWNlbnNlCisgIGFja25vd2xlZGdlcyB5b3VyIHJpZ2h0cyBvZiBmYWlyIHVzZSBvciBvdGhlciBlcXVpdmFsZW50LCBhcyBwcm92aWRlZCBieQorICBjb3B5cmlnaHQgbGF3LiAgU3ViamVjdCB0byBzZWN0aW9uIDEzLCB5b3UgbWF5IG1ha2UsIHJ1biBhbmQgcHJvcGFnYXRlCisgIGNvdmVyZWQgd29ya3MgdGhhdCB5b3UgZG8gbm90IGNvbnZleSwgd2l0aG91dCBjb25kaXRpb25zIHNvIGxvbmcgYXMgeW91cgorICBsaWNlbnNlIG90aGVyd2lzZSByZW1haW5zIGluIGZvcmNlLiBZb3UgbWF5IGNvbnZleSBjb3ZlcmVkIHdvcmtzIHRvCisgIG90aGVycyBmb3IgdGhlIHNvbGUgcHVycG9zZSBvZiBoYXZpbmcgdGhlbSBtYWtlIG1vZGlmaWNhdGlvbnMgZXhjbHVzaXZlbHkKKyAgZm9yIHlvdSwgb3IgcHJvdmlkZSB5b3Ugd2l0aCBmYWNpbGl0aWVzIGZvciBydW5uaW5nIHRob3NlIHdvcmtzLCBwcm92aWRlZAorICB0aGF0IHlvdSBjb21wbHkgd2l0aCB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlIGluIGNvbnZleWluZyBhbGwKKyAgbWF0ZXJpYWwgZm9yIHdoaWNoIHlvdSBkbyBub3QgY29udHJvbCBjb3B5cmlnaHQuIFRob3NlIHRodXMgbWFraW5nIG9yCisgIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MgZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIKKyAgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbiBhbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtCisgIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YgeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyCisgIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KKworICBDb252ZXlpbmcgdW5kZXIgYW55IG90aGVyIGNpcmN1bXN0YW5jZXMgaXMgcGVybWl0dGVkIHNvbGVseSB1bmRlciB0aGUKKyAgY29uZGl0aW9ucyBzdGF0ZWQgYmVsb3cuIFN1YmxpY2Vuc2luZyBpcyBub3QgYWxsb3dlZDsgc2VjdGlvbiAxMCBtYWtlcyBpdAorICB1bm5lY2Vzc2FyeS4KKworICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgorCisgIE5vIGNvdmVyZWQgd29yayBzaGFsbCBiZSBkZWVtZWQgcGFydCBvZiBhbiBlZmZlY3RpdmUgdGVjaG5vbG9naWNhbAorICBtZWFzdXJlIHVuZGVyIGFueSBhcHBsaWNhYmxlIGxhdyBmdWxmaWxsaW5nIG9ibGlnYXRpb25zIHVuZGVyIGFydGljbGUgMTEKKyAgb2YgdGhlIFdJUE8gY29weXJpZ2h0IHRyZWF0eSBhZG9wdGVkIG9uIDIwIERlY2VtYmVyIDE5OTYsIG9yIHNpbWlsYXIgbGF3cworICBwcm9oaWJpdGluZyBvciByZXN0cmljdGluZyBjaXJjdW12ZW50aW9uIG9mIHN1Y2ggbWVhc3VyZXMuCisKKyAgV2hlbiB5b3UgY29udmV5IGEgY292ZXJlZCB3b3JrLCB5b3Ugd2FpdmUgYW55IGxlZ2FsIHBvd2VyIHRvIGZvcmJpZAorICBjaXJjdW12ZW50aW9uIG9mIHRlY2hub2xvZ2ljYWwgbWVhc3VyZXMgdG8gdGhlIGV4dGVudCBzdWNoIGNpcmN1bXZlbnRpb24gaXMKKyAgZWZmZWN0ZWQgYnkgZXhlcmNpc2luZyByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlIHdpdGggcmVzcGVjdCB0byB0aGUKKyAgY292ZXJlZCB3b3JrLCBhbmQgeW91IGRpc2NsYWltIGFueSBpbnRlbnRpb24gdG8gbGltaXQgb3BlcmF0aW9uIG9yCisgIG1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBhcyBhIG1lYW5zIG9mIGVuZm9yY2luZywgYWdhaW5zdCB0aGUgd29yaydzIHVzZXJzLAorICB5b3VyIG9yIHRoaXJkIHBhcnRpZXMnIGxlZ2FsIHJpZ2h0cyB0byBmb3JiaWQgY2lyY3VtdmVudGlvbiBvZgorICB0ZWNobm9sb2dpY2FsIG1lYXN1cmVzLgorCisgIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCisKKyAgWW91IG1heSBjb252ZXkgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3Mgc291cmNlIGNvZGUgYXMgeW91CisgIHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kCisgIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZTsga2VlcAorICBpbnRhY3QgYWxsIG5vdGljZXMgc3RhdGluZyB0aGF0IHRoaXMgTGljZW5zZSBhbmQgYW55IG5vbi1wZXJtaXNzaXZlIHRlcm1zCisgIGFkZGVkIGluIGFjY29yZCB3aXRoIHNlY3Rpb24gNyBhcHBseSB0byB0aGUgY29kZTsga2VlcCBpbnRhY3QgYWxsIG5vdGljZXMKKyAgb2YgdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OyBhbmQgZ2l2ZSBhbGwgcmVjaXBpZW50cyBhIGNvcHkgb2YgdGhpcworICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIFByb2dyYW0uICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yCisgIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksIGFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkKKyAgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCisKKyAgNS4gQ29udmV5aW5nIE1vZGlmaWVkIFNvdXJjZSBWZXJzaW9ucy4KKworICBZb3UgbWF5IGNvbnZleSBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0sIG9yIHRoZSBtb2RpZmljYXRpb25zIHRvCisgIHByb2R1Y2UgaXQgZnJvbSB0aGUgUHJvZ3JhbSwgaW4gdGhlIGZvcm0gb2Ygc291cmNlIGNvZGUgdW5kZXIgdGhlIHRlcm1zCisgIG9mIHNlY3Rpb24gNCwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorCisgICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkIGl0LAorICAgIGFuZCBnaXZpbmcgYSByZWxldmFudCBkYXRlLgorCisgICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMgcmVsZWFzZWQKKyAgICB1bmRlciB0aGlzIExpY2Vuc2UgYW5kIGFueSBjb25kaXRpb25zIGFkZGVkIHVuZGVyIHNlY3Rpb24gNy4gVGhpcworICAgIHJlcXVpcmVtZW50IG1vZGlmaWVzIHRoZSByZXF1aXJlbWVudCBpbiBzZWN0aW9uIDQgdG8g4oCca2VlcCBpbnRhY3QgYWxsCisgICAgbm90aWNlc+KAnS4KKworICAgIGMpIFlvdSBtdXN0IGxpY2Vuc2UgdGhlIGVudGlyZSB3b3JrLCBhcyBhIHdob2xlLCB1bmRlciB0aGlzIExpY2Vuc2UgdG8KKyAgICBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuIFRoaXMgTGljZW5zZSB3aWxsIHRoZXJlZm9yZQorICAgIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNyBhZGRpdGlvbmFsIHRlcm1zLCB0byB0aGUKKyAgICB3aG9sZSBvZiB0aGUgd29yaywgYW5kIGFsbCBpdHMgcGFydHMsIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlCisgICAgcGFja2FnZWQuIFRoaXMgTGljZW5zZSBnaXZlcyBubyBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55CisgICAgb3RoZXIgd2F5LCBidXQgaXQgZG9lcyBub3QgaW52YWxpZGF0ZSBzdWNoIHBlcm1pc3Npb24gaWYgeW91IGhhdmUKKyAgICBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgorCisgICAgZCkgSWYgdGhlIHdvcmsgaGFzIGludGVyYWN0aXZlIHVzZXIgaW50ZXJmYWNlcywgZWFjaCBtdXN0IGRpc3BsYXkKKyAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKKyAgICBpbnRlcmZhY2VzIHRoYXQgZG8gbm90IGRpc3BsYXkgQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcywgeW91ciB3b3JrCisgICAgbmVlZCBub3QgbWFrZSB0aGVtIGRvIHNvLgorCisgIEEgY29tcGlsYXRpb24gb2YgYSBjb3ZlcmVkIHdvcmsgd2l0aCBvdGhlciBzZXBhcmF0ZSBhbmQgaW5kZXBlbmRlbnQKKyAgd29ya3MsIHdoaWNoIGFyZSBub3QgYnkgdGhlaXIgbmF0dXJlIGV4dGVuc2lvbnMgb2YgdGhlIGNvdmVyZWQgd29yaywgYW5kCisgIHdoaWNoIGFyZSBub3QgY29tYmluZWQgd2l0aCBpdCBzdWNoIGFzIHRvIGZvcm0gYSBsYXJnZXIgcHJvZ3JhbSwgaW4gb3Igb24KKyAgYSB2b2x1bWUgb2YgYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0sIGlzIGNhbGxlZCBhbiDigJxhZ2dyZWdhdGXigJ0gaWYKKyAgdGhlIGNvbXBpbGF0aW9uIGFuZCBpdHMgcmVzdWx0aW5nIGNvcHlyaWdodCBhcmUgbm90IHVzZWQgdG8gbGltaXQgdGhlCisgIGFjY2VzcyBvciBsZWdhbCByaWdodHMgb2YgdGhlIGNvbXBpbGF0aW9uJ3MgdXNlcnMgYmV5b25kIHdoYXQgdGhlCisgIGluZGl2aWR1YWwgd29ya3MgcGVybWl0LiBJbmNsdXNpb24gb2YgYSBjb3ZlcmVkIHdvcmsgaW4gYW4gYWdncmVnYXRlIGRvZXMKKyAgbm90IGNhdXNlIHRoaXMgTGljZW5zZSB0byBhcHBseSB0byB0aGUgb3RoZXIgcGFydHMgb2YgdGhlIGFnZ3JlZ2F0ZS4KKyAgCisgIDYuIENvbnZleWluZyBOb24tU291cmNlIEZvcm1zLgorCisgIFlvdSBtYXkgY29udmV5IGEgY292ZXJlZCB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCisgIHNlY3Rpb25zIDQgYW5kIDUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gY29udmV5IHRoZSBtYWNoaW5lLXJlYWRhYmxlCisgIENvcnJlc3BvbmRpbmcgU291cmNlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIGluIG9uZSBvZiB0aGVzZQorICB3YXlzOgorCisgICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAorICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgdGhlCisgICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgZml4ZWQgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bSBjdXN0b21hcmlseQorICAgIHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgorICAgCisgICAgYikgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAorICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYSB3cml0dGVuCisgICAgb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5ZWFycyBhbmQgdmFsaWQgZm9yIGFzIGxvbmcgYXMgeW91CisgICAgb2ZmZXIgc3BhcmUgcGFydHMgb3IgY3VzdG9tZXIgc3VwcG9ydCBmb3IgdGhhdCBwcm9kdWN0IG1vZGVsLCB0byBnaXZlCisgICAgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYSBjb3B5IG9mIHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciBhbGwgdGhlIHNvZnR3YXJlIGluIHRoZSBwcm9kdWN0IHRoYXQgaXMKKyAgICBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSwgb24gYSBkdXJhYmxlIHBoeXNpY2FsIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkCisgICAgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubyBtb3JlIHRoYW4geW91ciByZWFzb25hYmxlIGNvc3QKKyAgICBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgdGhpcyBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvCisgICAgY29weSB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZnJvbSBhIG5ldHdvcmsgc2VydmVyIGF0IG5vIGNoYXJnZS4KKyAgIAorICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCisgICAgd3JpdHRlbiBvZmZlciB0byBwcm92aWRlIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4gVGhpcyBhbHRlcm5hdGl2ZSBpcworICAgIGFsbG93ZWQgb25seSBvY2Nhc2lvbmFsbHkgYW5kIG5vbmNvbW1lcmNpYWxseSwgYW5kIG9ubHkgaWYgeW91IHJlY2VpdmVkCisgICAgdGhlIG9iamVjdCBjb2RlIHdpdGggc3VjaCBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggc3Vic2VjdGlvbiA2Yi4KKyAgIAorICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlCisgICAgKGdyYXRpcyBvciBmb3IgYSBjaGFyZ2UpLCBhbmQgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gdGhlCisgICAgQ29ycmVzcG9uZGluZyBTb3VyY2UgaW4gdGhlIHNhbWUgd2F5IHRocm91Z2ggdGhlIHNhbWUgcGxhY2UgYXQgbm8KKyAgICBmdXJ0aGVyIGNoYXJnZS4gWW91IG5lZWQgbm90IHJlcXVpcmUgcmVjaXBpZW50cyB0byBjb3B5IHRoZQorICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiBJZiB0aGUgcGxhY2UgdG8gY29weQorICAgIHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbWF5IGJlIG9uCisgICAgYSBkaWZmZXJlbnQgc2VydmVyIChvcGVyYXRlZCBieSB5b3Ugb3IgYSB0aGlyZCBwYXJ0eSkgdGhhdCBzdXBwb3J0cworICAgIGVxdWl2YWxlbnQgY29weWluZyBmYWNpbGl0aWVzLCBwcm92aWRlZCB5b3UgbWFpbnRhaW4gY2xlYXIgZGlyZWN0aW9ucworICAgIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZS4KKyAgICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSwgeW91IHJlbWFpbgorICAgIG9ibGlnYXRlZCB0byBlbnN1cmUgdGhhdCBpdCBpcyBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvCisgICAgc2F0aXNmeSB0aGVzZSByZXF1aXJlbWVudHMuCisgICAKKyAgICBlKSBDb252ZXkgdGhlIG9iamVjdCBjb2RlIHVzaW5nIHBlZXItdG8tcGVlciB0cmFuc21pc3Npb24sIHByb3ZpZGVkIHlvdQorICAgIGluZm9ybSBvdGhlciBwZWVycyB3aGVyZSB0aGUgb2JqZWN0IGNvZGUgYW5kIENvcnJlc3BvbmRpbmcgU291cmNlIG9mCisgICAgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vIGNoYXJnZSB1bmRlcgorICAgIHN1YnNlY3Rpb24gNmQuCisKKyAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCisgIGZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlIGluY2x1ZGVkCisgIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KKworICBBIOKAnFVzZXIgUHJvZHVjdOKAnSBpcyBlaXRoZXIgKDEpIGEg4oCcY29uc3VtZXIgcHJvZHVjdOKAnSwgd2hpY2ggbWVhbnMgYW55CisgIHRhbmdpYmxlIHBlcnNvbmFsIHByb3BlcnR5IHdoaWNoIGlzIG5vcm1hbGx5IHVzZWQgZm9yIHBlcnNvbmFsLCBmYW1pbHksCisgIG9yIGhvdXNlaG9sZCBwdXJwb3Nlcywgb3IgKDIpIGFueXRoaW5nIGRlc2lnbmVkIG9yIHNvbGQgZm9yIGluY29ycG9yYXRpb24KKyAgaW50byBhIGR3ZWxsaW5nLiBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCisgIGRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiBGb3IgYSBwYXJ0aWN1bGFyCisgIHByb2R1Y3QgcmVjZWl2ZWQgYnkgYSBwYXJ0aWN1bGFyIHVzZXIsIOKAnG5vcm1hbGx5IHVzZWTigJ0gcmVmZXJzIHRvIGEKKyAgdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCisgIG9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCisgIGFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gQSBwcm9kdWN0CisgIGlzIGEgY29uc3VtZXIgcHJvZHVjdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHByb2R1Y3QgaGFzIHN1YnN0YW50aWFsCisgIGNvbW1lcmNpYWwsIGluZHVzdHJpYWwgb3Igbm9uLWNvbnN1bWVyIHVzZXMsIHVubGVzcyBzdWNoIHVzZXMgcmVwcmVzZW50CisgIHRoZSBvbmx5IHNpZ25pZmljYW50IG1vZGUgb2YgdXNlIG9mIHRoZSBwcm9kdWN0LgorCisgIOKAnEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbuKAnSBmb3IgYSBVc2VyIFByb2R1Y3QgbWVhbnMgYW55IG1ldGhvZHMsCisgIHByb2NlZHVyZXMsIGF1dGhvcml6YXRpb24ga2V5cywgb3Igb3RoZXIgaW5mb3JtYXRpb24gcmVxdWlyZWQgdG8gaW5zdGFsbAorICBhbmQgZXhlY3V0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiBhIGNvdmVyZWQgd29yayBpbiB0aGF0IFVzZXIgUHJvZHVjdCBmcm9tCisgIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBpdHMgQ29ycmVzcG9uZGluZyBTb3VyY2UuIFRoZSBpbmZvcm1hdGlvbiBtdXN0CisgIHN1ZmZpY2UgdG8gZW5zdXJlIHRoYXQgdGhlIGNvbnRpbnVlZCBmdW5jdGlvbmluZyBvZiB0aGUgbW9kaWZpZWQgb2JqZWN0CisgIGNvZGUgaXMgaW4gbm8gY2FzZSBwcmV2ZW50ZWQgb3IgaW50ZXJmZXJlZCB3aXRoIHNvbGVseSBiZWNhdXNlCisgIG1vZGlmaWNhdGlvbiBoYXMgYmVlbiBtYWRlLgorCisgIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCisgIHNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzIHBhcnQKKyAgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZSBVc2VyCisgIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhIGZpeGVkIHRlcm0KKyAgKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlIENvcnJlc3BvbmRpbmcKKyAgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IHRoZQorICBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uIEJ1dCB0aGlzIHJlcXVpcmVtZW50IGRvZXMgbm90IGFwcGx5IGlmIG5laXRoZXIKKyAgeW91IG5vciBhbnkgdGhpcmQgcGFydHkgcmV0YWlucyB0aGUgYWJpbGl0eSB0byBpbnN0YWxsIG1vZGlmaWVkIG9iamVjdAorICBjb2RlIG9uIHRoZSBVc2VyIFByb2R1Y3QgKGZvciBleGFtcGxlLCB0aGUgd29yayBoYXMgYmVlbiBpbnN0YWxsZWQgaW4KKyAgUk9NKS4KKworICBUaGUgcmVxdWlyZW1lbnQgdG8gcHJvdmlkZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gZG9lcyBub3QgaW5jbHVkZSBhCisgIHJlcXVpcmVtZW50IHRvIGNvbnRpbnVlIHRvIHByb3ZpZGUgc3VwcG9ydCBzZXJ2aWNlLCB3YXJyYW50eSwgb3IgdXBkYXRlcworICBmb3IgYSB3b3JrIHRoYXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkIGJ5IHRoZSByZWNpcGllbnQsIG9yIGZvcgorICB0aGUgVXNlciBQcm9kdWN0IGluIHdoaWNoIGl0IGhhcyBiZWVuIG1vZGlmaWVkIG9yIGluc3RhbGxlZC4gQWNjZXNzCisgIHRvIGEgbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseQorICBhbmQgYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUKKyAgcnVsZXMgYW5kIHByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCisKKyAgQ29ycmVzcG9uZGluZyBTb3VyY2UgY29udmV5ZWQsIGFuZCBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24gcHJvdmlkZWQsIGluCisgIGFjY29yZCB3aXRoIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGluIGEgZm9ybWF0IHRoYXQgaXMgcHVibGljbHkgZG9jdW1lbnRlZAorICAoYW5kIHdpdGggYW4gaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIHRvIHRoZSBwdWJsaWMgaW4gc291cmNlIGNvZGUgZm9ybSksCisgIGFuZCBtdXN0IHJlcXVpcmUgbm8gc3BlY2lhbCBwYXNzd29yZCBvciBrZXkgZm9yIHVucGFja2luZywgcmVhZGluZyBvcgorICBjb3B5aW5nLgorCisgIDcuIEFkZGl0aW9uYWwgVGVybXMuCisKKyAg4oCcQWRkaXRpb25hbCBwZXJtaXNzaW9uc+KAnSBhcmUgdGVybXMgdGhhdCBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzCisgIExpY2Vuc2UgYnkgbWFraW5nIGV4Y2VwdGlvbnMgZnJvbSBvbmUgb3IgbW9yZSBvZiBpdHMgY29uZGl0aW9ucy4KKyAgQWRkaXRpb25hbCBwZXJtaXNzaW9ucyB0aGF0IGFyZSBhcHBsaWNhYmxlIHRvIHRoZSBlbnRpcmUgUHJvZ3JhbSBzaGFsbCBiZQorICB0cmVhdGVkIGFzIHRob3VnaCB0aGV5IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBMaWNlbnNlLCB0byB0aGUgZXh0ZW50IHRoYXQKKyAgdGhleSBhcmUgdmFsaWQgdW5kZXIgYXBwbGljYWJsZSBsYXcuIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgYXBwbHkgb25seQorICB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseSB1bmRlciB0aG9zZQorICBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZQorICB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4gIFdoZW4geW91IGNvbnZleSBhIGNvcHkgb2YKKyAgYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gcmVtb3ZlIGFueSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zCisgIGZyb20gdGhhdCBjb3B5LCBvciBmcm9tIGFueSBwYXJ0IG9mIGl0LiAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUKKyAgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93biByZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZQorICB3b3JrLikgWW91IG1heSBwbGFjZSBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIG9uIG1hdGVyaWFsLCBhZGRlZCBieSB5b3UgdG8KKyAgYSBjb3ZlcmVkIHdvcmssIGZvciB3aGljaCB5b3UgaGF2ZSBvciBjYW4gZ2l2ZSBhcHByb3ByaWF0ZSBjb3B5cmlnaHQKKyAgcGVybWlzc2lvbi4KKworICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIGZvciBtYXRlcmlhbCB5b3UgYWRkCisgIHRvIGEgY292ZXJlZCB3b3JrLCB5b3UgbWF5IChpZiBhdXRob3JpemVkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVycyBvZgorICB0aGF0IG1hdGVyaWFsKSBzdXBwbGVtZW50IHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2Ugd2l0aCB0ZXJtczoKKworICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQorICAgIHRlcm1zIG9mIHNlY3Rpb25zIDE1IGFuZCAxNiBvZiB0aGlzIExpY2Vuc2U7IG9yCisKKyAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKKyAgICBhdXRob3IgYXR0cmlidXRpb25zIGluIHRoYXQgbWF0ZXJpYWwgb3IgaW4gdGhlIEFwcHJvcHJpYXRlIExlZ2FsCisgICAgTm90aWNlcyBkaXNwbGF5ZWQgYnkgd29ya3MgY29udGFpbmluZyBpdDsgb3IKKworICAgIGMpIFByb2hpYml0aW5nIG1pc3JlcHJlc2VudGF0aW9uIG9mIHRoZSBvcmlnaW4gb2YgdGhhdCBtYXRlcmlhbCwgb3IKKyAgICByZXF1aXJpbmcgdGhhdCBtb2RpZmllZCB2ZXJzaW9ucyBvZiBzdWNoIG1hdGVyaWFsIGJlIG1hcmtlZCBpbgorICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKKworICAgIGQpIExpbWl0aW5nIHRoZSB1c2UgZm9yIHB1YmxpY2l0eSBwdXJwb3NlcyBvZiBuYW1lcyBvZiBsaWNlbnNvcnMgb3IKKyAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKKworICAgIGUpIERlY2xpbmluZyB0byBncmFudCByaWdodHMgdW5kZXIgdHJhZGVtYXJrIGxhdyBmb3IgdXNlIG9mIHNvbWUgdHJhZGUKKyAgICBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKKworICAgIGYpIFJlcXVpcmluZyBpbmRlbW5pZmljYXRpb24gb2YgbGljZW5zb3JzIGFuZCBhdXRob3JzIG9mIHRoYXQgbWF0ZXJpYWwKKyAgICBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZiBpdCkgd2l0aAorICAgIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIG9mIGxpYWJpbGl0eSB0byB0aGUgcmVjaXBpZW50LCBmb3IgYW55CisgICAgbGlhYmlsaXR5IHRoYXQgdGhlc2UgY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgZGlyZWN0bHkgaW1wb3NlIG9uIHRob3NlCisgICAgbGljZW5zb3JzIGFuZCBhdXRob3JzLgorCisgIEFsbCBvdGhlciBub24tcGVybWlzc2l2ZSBhZGRpdGlvbmFsIHRlcm1zIGFyZSBjb25zaWRlcmVkIOKAnGZ1cnRoZXIKKyAgcmVzdHJpY3Rpb25z4oCdIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiBJZiB0aGUgUHJvZ3JhbSBhcyB5b3UKKyAgcmVjZWl2ZWQgaXQsIG9yIGFueSBwYXJ0IG9mIGl0LCBjb250YWlucyBhIG5vdGljZSBzdGF0aW5nIHRoYXQgaXQgaXMKKyAgZ292ZXJuZWQgYnkgdGhpcyBMaWNlbnNlIGFsb25nIHdpdGggYSB0ZXJtIHRoYXQgaXMgYSBmdXJ0aGVyIHJlc3RyaWN0aW9uLAorICB5b3UgbWF5IHJlbW92ZSB0aGF0IHRlcm0uIElmIGEgbGljZW5zZSBkb2N1bWVudCBjb250YWlucyBhIGZ1cnRoZXIKKyAgcmVzdHJpY3Rpb24gYnV0IHBlcm1pdHMgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nIHVuZGVyIHRoaXMgTGljZW5zZSwgeW91CisgIG1heSBhZGQgdG8gYSBjb3ZlcmVkIHdvcmsgbWF0ZXJpYWwgZ292ZXJuZWQgYnkgdGhlIHRlcm1zIG9mIHRoYXQgbGljZW5zZQorICBkb2N1bWVudCwgcHJvdmlkZWQgdGhhdCB0aGUgZnVydGhlciByZXN0cmljdGlvbiBkb2VzIG5vdCBzdXJ2aXZlIHN1Y2gKKyAgcmVsaWNlbnNpbmcgb3IgY29udmV5aW5nLgorCisgIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UgbXVzdAorICBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlIGFkZGl0aW9uYWwgdGVybXMKKyAgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZyB3aGVyZSB0byBmaW5kIHRoZQorICBhcHBsaWNhYmxlIHRlcm1zLiAgQWRkaXRpb25hbCB0ZXJtcywgcGVybWlzc2l2ZSBvciBub24tcGVybWlzc2l2ZSwgbWF5IGJlCisgIHN0YXRlZCBpbiB0aGUgZm9ybSBvZiBhIHNlcGFyYXRlbHkgd3JpdHRlbiBsaWNlbnNlLCBvciBzdGF0ZWQgYXMKKyAgZXhjZXB0aW9uczsgdGhlIGFib3ZlIHJlcXVpcmVtZW50cyBhcHBseSBlaXRoZXIgd2F5LgorCisgIDguIFRlcm1pbmF0aW9uLgorCisgIFlvdSBtYXkgbm90IHByb3BhZ2F0ZSBvciBtb2RpZnkgYSBjb3ZlcmVkIHdvcmsgZXhjZXB0IGFzIGV4cHJlc3NseQorICBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIEFueSBhdHRlbXB0IG90aGVyd2lzZSB0byBwcm9wYWdhdGUgb3IgbW9kaWZ5CisgIGl0IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMKKyAgTGljZW5zZSAoaW5jbHVkaW5nIGFueSBwYXRlbnQgbGljZW5zZXMgZ3JhbnRlZCB1bmRlciB0aGUgdGhpcmQgcGFyYWdyYXBoCisgIG9mIHNlY3Rpb24gMTEpLgorCisgIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyIGxpY2Vuc2UKKyAgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKSBwcm92aXNpb25hbGx5LAorICB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kIGZpbmFsbHkgdGVybWluYXRlcworICB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGZhaWxzIHRvCisgIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMgcHJpb3IgdG8gNjAgZGF5cworICBhZnRlciB0aGUgY2Vzc2F0aW9uLgorCisgIE1vcmVvdmVyLCB5b3VyIGxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkCisgIHBlcm1hbmVudGx5IGlmIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vdGlmaWVzIHlvdSBvZiB0aGUgdmlvbGF0aW9uIGJ5IHNvbWUKKyAgcmVhc29uYWJsZSBtZWFucywgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB5b3UgaGF2ZSByZWNlaXZlZCBub3RpY2Ugb2YKKyAgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSAoZm9yIGFueSB3b3JrKSBmcm9tIHRoYXQgY29weXJpZ2h0IGhvbGRlciwgYW5kCisgIHlvdSBjdXJlIHRoZSB2aW9sYXRpb24gcHJpb3IgdG8gMzAgZGF5cyBhZnRlciB5b3VyIHJlY2VpcHQgb2YgdGhlIG5vdGljZS4KKworICBUZXJtaW5hdGlvbiBvZiB5b3VyIHJpZ2h0cyB1bmRlciB0aGlzIHNlY3Rpb24gZG9lcyBub3QgdGVybWluYXRlIHRoZQorICBsaWNlbnNlcyBvZiBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcyBvciByaWdodHMgZnJvbSB5b3UgdW5kZXIKKyAgdGhpcyBMaWNlbnNlLiBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CisgIHJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKKyAgbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KKworICA5LiBBY2NlcHRhbmNlIE5vdCBSZXF1aXJlZCBmb3IgSGF2aW5nIENvcGllcy4KKworICBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlIGluIG9yZGVyIHRvIHJlY2VpdmUgb3IgcnVuIGEKKyAgY29weSBvZiB0aGUgUHJvZ3JhbS4gQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrIG9jY3VycmluZworICBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uIHRvIHJlY2VpdmUgYQorICBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gSG93ZXZlciwgbm90aGluZyBvdGhlciB0aGFuCisgIHRoaXMgTGljZW5zZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gcHJvcGFnYXRlIG9yIG1vZGlmeSBhbnkgY292ZXJlZAorICB3b3JrLiBUaGVzZSBhY3Rpb25zIGluZnJpbmdlIGNvcHlyaWdodCBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuCisgIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEgY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91cgorICBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KKworICAxMC4gQXV0b21hdGljIExpY2Vuc2luZyBvZiBEb3duc3RyZWFtIFJlY2lwaWVudHMuCisKKyAgRWFjaCB0aW1lIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcworICBhIGxpY2Vuc2UgZnJvbSB0aGUgb3JpZ2luYWwgbGljZW5zb3JzLCB0byBydW4sIG1vZGlmeSBhbmQgcHJvcGFnYXRlIHRoYXQKKyAgd29yaywgc3ViamVjdCB0byB0aGlzIExpY2Vuc2UuIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcKKyAgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgorCisgIEFuIOKAnGVudGl0eSB0cmFuc2FjdGlvbuKAnSBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCisgIG9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4KKyAgb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuIElmIHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCisgIHJlc3VsdHMgZnJvbSBhbiBlbnRpdHkgdHJhbnNhY3Rpb24sIGVhY2ggcGFydHkgdG8gdGhhdCB0cmFuc2FjdGlvbiB3aG8KKyAgcmVjZWl2ZXMgYSBjb3B5IG9mIHRoZSB3b3JrIGFsc28gcmVjZWl2ZXMgd2hhdGV2ZXIgbGljZW5zZXMgdG8gdGhlIHdvcmsKKyAgdGhlIHBhcnR5J3MgcHJlZGVjZXNzb3IgaW4gaW50ZXJlc3QgaGFkIG9yIGNvdWxkIGdpdmUgdW5kZXIgdGhlIHByZXZpb3VzCisgIHBhcmFncmFwaCwgcGx1cyBhIHJpZ2h0IHRvIHBvc3Nlc3Npb24gb2YgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIG9mIHRoZQorICB3b3JrIGZyb20gdGhlIHByZWRlY2Vzc29yIGluIGludGVyZXN0LCBpZiB0aGUgcHJlZGVjZXNzb3IgaGFzIGl0IG9yIGNhbgorICBnZXQgaXQgd2l0aCByZWFzb25hYmxlIGVmZm9ydHMuCisKKyAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyIHJlc3RyaWN0aW9ucyBvbiB0aGUgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cworICBncmFudGVkIG9yIGFmZmlybWVkIHVuZGVyIHRoaXMgTGljZW5zZS4gRm9yIGV4YW1wbGUsIHlvdSBtYXkgbm90IGltcG9zZSBhCisgIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mIHJpZ2h0cyBncmFudGVkCisgIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24gKGluY2x1ZGluZyBhCisgIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgYW55IHBhdGVudCBjbGFpbQorICBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yIHNhbGUsIG9yIGltcG9ydGluZworICB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KKworICAxMS4gUGF0ZW50cy4KKworICBBIOKAnGNvbnRyaWJ1dG9y4oCdIGlzIGEgY29weXJpZ2h0IGhvbGRlciB3aG8gYXV0aG9yaXplcyB1c2UgdW5kZXIgdGhpcworICBMaWNlbnNlIG9mIHRoZSBQcm9ncmFtIG9yIGEgd29yayBvbiB3aGljaCB0aGUgUHJvZ3JhbSBpcyBiYXNlZC4gVGhlIHdvcmsKKyAgdGh1cyBsaWNlbnNlZCBpcyBjYWxsZWQgdGhlIGNvbnRyaWJ1dG9yJ3Mg4oCcY29udHJpYnV0b3IgdmVyc2lvbuKAnS4KKworICBBIGNvbnRyaWJ1dG9yJ3Mg4oCcZXNzZW50aWFsIHBhdGVudCBjbGFpbXPigJ0gYXJlIGFsbCBwYXRlbnQgY2xhaW1zIG93bmVkIG9yCisgIGNvbnRyb2xsZWQgYnkgdGhlIGNvbnRyaWJ1dG9yLCB3aGV0aGVyIGFscmVhZHkgYWNxdWlyZWQgb3IgaGVyZWFmdGVyCisgIGFjcXVpcmVkLCB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBieSBzb21lIG1hbm5lciwgcGVybWl0dGVkIGJ5IHRoaXMKKyAgTGljZW5zZSwgb2YgbWFraW5nLCB1c2luZywgb3Igc2VsbGluZyBpdHMgY29udHJpYnV0b3IgdmVyc2lvbiwgYnV0IGRvIG5vdAorICBpbmNsdWRlIGNsYWltcyB0aGF0IHdvdWxkIGJlIGluZnJpbmdlZCBvbmx5IGFzIGEgY29uc2VxdWVuY2Ugb2YgZnVydGhlcgorICBtb2RpZmljYXRpb24gb2YgdGhlIGNvbnRyaWJ1dG9yIHZlcnNpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sCisgIOKAnGNvbnRyb2zigJ0gaW5jbHVkZXMgdGhlIHJpZ2h0IHRvIGdyYW50IHBhdGVudCBzdWJsaWNlbnNlcyBpbiBhIG1hbm5lcgorICBjb25zaXN0ZW50IHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgRWFjaCBjb250cmlidXRvciBncmFudHMgeW91IGEgbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRlLCByb3lhbHR5LWZyZWUKKyAgcGF0ZW50IGxpY2Vuc2UgdW5kZXIgdGhlIGNvbnRyaWJ1dG9yJ3MgZXNzZW50aWFsIHBhdGVudCBjbGFpbXMsIHRvIG1ha2UsCisgIHVzZSwgc2VsbCwgb2ZmZXIgZm9yIHNhbGUsIGltcG9ydCBhbmQgb3RoZXJ3aXNlIHJ1biwgbW9kaWZ5IGFuZCBwcm9wYWdhdGUKKyAgdGhlIGNvbnRlbnRzIG9mIGl0cyBjb250cmlidXRvciB2ZXJzaW9uLgorCisgIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSDigJxwYXRlbnQgbGljZW5zZeKAnSBpcyBhbnkgZXhwcmVzcworICBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCwgaG93ZXZlciBkZW5vbWluYXRlZCwgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQKKyAgKHN1Y2ggYXMgYW4gZXhwcmVzcyBwZXJtaXNzaW9uIHRvIHByYWN0aWNlIGEgcGF0ZW50IG9yIGNvdmVuYW50IG5vdCB0bworICBzdWUgZm9yIHBhdGVudCBpbmZyaW5nZW1lbnQpLiBUbyDigJxncmFudOKAnSBzdWNoIGEgcGF0ZW50IGxpY2Vuc2UgdG8gYSBwYXJ0eQorICBtZWFucyB0byBtYWtlIHN1Y2ggYW4gYWdyZWVtZW50IG9yIGNvbW1pdG1lbnQgbm90IHRvIGVuZm9yY2UgYSBwYXRlbnQKKyAgYWdhaW5zdCB0aGUgcGFydHkuCisKKyAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwgYW5kCisgIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUgdG8gY29weSwKKyAgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYSBwdWJsaWNseQorICBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLCB0aGVuIHlvdSBtdXN0CisgIGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvIGF2YWlsYWJsZSwgb3IgKDIpCisgIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUgcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMKKyAgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZQorICByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudCBsaWNlbnNlIHRvIGRvd25zdHJlYW0KKyAgcmVjaXBpZW50cy4g4oCcS25vd2luZ2x5IHJlbHlpbmfigJ0gbWVhbnMgeW91IGhhdmUgYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQKKyAgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlIGNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yCisgIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsgaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZQorICBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0IGNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24KKyAgdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCisKKyAgSWYsIHB1cnN1YW50IHRvIG9yIGluIGNvbm5lY3Rpb24gd2l0aCBhIHNpbmdsZSB0cmFuc2FjdGlvbiBvcgorICBhcnJhbmdlbWVudCwgeW91IGNvbnZleSwgb3IgcHJvcGFnYXRlIGJ5IHByb2N1cmluZyBjb252ZXlhbmNlIG9mLCBhCisgIGNvdmVyZWQgd29yaywgYW5kIGdyYW50IGEgcGF0ZW50IGxpY2Vuc2UgdG8gc29tZSBvZiB0aGUgcGFydGllcyByZWNlaXZpbmcKKyAgdGhlIGNvdmVyZWQgd29yayBhdXRob3JpemluZyB0aGVtIHRvIHVzZSwgcHJvcGFnYXRlLCBtb2RpZnkgb3IgY29udmV5IGEKKyAgc3BlY2lmaWMgY29weSBvZiB0aGUgY292ZXJlZCB3b3JrLCB0aGVuIHRoZSBwYXRlbnQgbGljZW5zZSB5b3UgZ3JhbnQgaXMKKyAgYXV0b21hdGljYWxseSBleHRlbmRlZCB0byBhbGwgcmVjaXBpZW50cyBvZiB0aGUgY292ZXJlZCB3b3JrIGFuZCB3b3JrcworICBiYXNlZCBvbiBpdC4KKworICBBIHBhdGVudCBsaWNlbnNlIGlzIOKAnGRpc2NyaW1pbmF0b3J54oCdIGlmIGl0IGRvZXMgbm90IGluY2x1ZGUgd2l0aGluIHRoZQorICBzY29wZSBvZiBpdHMgY292ZXJhZ2UsIHByb2hpYml0cyB0aGUgZXhlcmNpc2Ugb2YsIG9yIGlzIGNvbmRpdGlvbmVkIG9uCisgIHRoZSBub24tZXhlcmNpc2Ugb2Ygb25lIG9yIG1vcmUgb2YgdGhlIHJpZ2h0cyB0aGF0IGFyZSBzcGVjaWZpY2FsbHkKKyAgZ3JhbnRlZCB1bmRlciB0aGlzIExpY2Vuc2UuIFlvdSBtYXkgbm90IGNvbnZleSBhIGNvdmVyZWQgd29yayBpZiB5b3UgYXJlCisgIGEgcGFydHkgdG8gYW4gYXJyYW5nZW1lbnQgd2l0aCBhIHRoaXJkIHBhcnR5IHRoYXQgaXMgaW4gdGhlIGJ1c2luZXNzIG9mCisgIGRpc3RyaWJ1dGluZyBzb2Z0d2FyZSwgdW5kZXIgd2hpY2ggeW91IG1ha2UgcGF5bWVudCB0byB0aGUgdGhpcmQgcGFydHkKKyAgYmFzZWQgb24gdGhlIGV4dGVudCBvZiB5b3VyIGFjdGl2aXR5IG9mIGNvbnZleWluZyB0aGUgd29yaywgYW5kIHVuZGVyCisgIHdoaWNoIHRoZSB0aGlyZCBwYXJ0eSBncmFudHMsIHRvIGFueSBvZiB0aGUgcGFydGllcyB3aG8gd291bGQgcmVjZWl2ZSB0aGUKKyAgY292ZXJlZCB3b3JrIGZyb20geW91LCBhIGRpc2NyaW1pbmF0b3J5IHBhdGVudCBsaWNlbnNlIChhKSBpbiBjb25uZWN0aW9uCisgIHdpdGggY29waWVzIG9mIHRoZSBjb3ZlcmVkIHdvcmsgY29udmV5ZWQgYnkgeW91IChvciBjb3BpZXMgbWFkZSBmcm9tCisgIHRob3NlIGNvcGllcyksIG9yIChiKSBwcmltYXJpbHkgZm9yIGFuZCBpbiBjb25uZWN0aW9uIHdpdGggc3BlY2lmaWMKKyAgcHJvZHVjdHMgb3IgY29tcGlsYXRpb25zIHRoYXQgY29udGFpbiB0aGUgY292ZXJlZCB3b3JrLCB1bmxlc3MgeW91CisgIGVudGVyZWQgaW50byB0aGF0IGFycmFuZ2VtZW50LCBvciB0aGF0IHBhdGVudCBsaWNlbnNlIHdhcyBncmFudGVkLCBwcmlvcgorICB0byAyOCBNYXJjaCAyMDA3LgorCisgIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcgYW55CisgIGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkgb3RoZXJ3aXNlIGJlCisgIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgorCisgIDEyLiBObyBTdXJyZW5kZXIgb2YgT3RoZXJzJyBGcmVlZG9tLgorCisgIElmIGNvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKyAgb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorICBleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiBJZiB5b3UgY2Fubm90IHVzZSwKKyAgcHJvcGFnYXRlIG9yIGNvbnZleSBhIGNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIKKyAgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuCisgIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heSBub3QgdXNlLCBwcm9wYWdhdGUgb3IgY29udmV5IGl0IGF0IGFsbC4gRm9yCisgIGV4YW1wbGUsIGlmIHlvdSBhZ3JlZSB0byB0ZXJtcyB0aGF0IG9ibGlnYXRlIHlvdSB0byBjb2xsZWN0IGEgcm95YWx0eSBmb3IKKyAgZnVydGhlciBjb252ZXlpbmcgZnJvbSB0aG9zZSB0byB3aG9tIHlvdSBjb252ZXkgdGhlIFByb2dyYW0sIHRoZSBvbmx5IHdheQorICB5b3UgY291bGQgc2F0aXNmeSBib3RoIHRob3NlIHRlcm1zIGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8gcmVmcmFpbgorICBlbnRpcmVseSBmcm9tIGNvbnZleWluZyB0aGUgUHJvZ3JhbS4KKworICAxMy4gT2ZmZXJpbmcgdGhlIFByb2dyYW0gYXMgYSBTZXJ2aWNlLgorCisgIElmIHlvdSBtYWtlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBQcm9ncmFtIG9yIGEgbW9kaWZpZWQgdmVyc2lvbgorICBhdmFpbGFibGUgdG8gdGhpcmQgcGFydGllcyBhcyBhIHNlcnZpY2UsIHlvdSBtdXN0IG1ha2UgdGhlIFNlcnZpY2UgU291cmNlCisgIENvZGUgYXZhaWxhYmxlIHZpYSBuZXR3b3JrIGRvd25sb2FkIHRvIGV2ZXJ5b25lIGF0IG5vIGNoYXJnZSwgdW5kZXIgdGhlCisgIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4gTWFraW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBQcm9ncmFtIG9yCisgIG1vZGlmaWVkIHZlcnNpb24gYXZhaWxhYmxlIHRvIHRoaXJkIHBhcnRpZXMgYXMgYSBzZXJ2aWNlIGluY2x1ZGVzLAorICB3aXRob3V0IGxpbWl0YXRpb24sIGVuYWJsaW5nIHRoaXJkIHBhcnRpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUKKyAgZnVuY3Rpb25hbGl0eSBvZiB0aGUgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uIHJlbW90ZWx5IHRocm91Z2ggYQorICBjb21wdXRlciBuZXR3b3JrLCBvZmZlcmluZyBhIHNlcnZpY2UgdGhlIHZhbHVlIG9mIHdoaWNoIGVudGlyZWx5IG9yCisgIHByaW1hcmlseSBkZXJpdmVzIGZyb20gdGhlIHZhbHVlIG9mIHRoZSBQcm9ncmFtIG9yIG1vZGlmaWVkIHZlcnNpb24sIG9yCisgIG9mZmVyaW5nIGEgc2VydmljZSB0aGF0IGFjY29tcGxpc2hlcyBmb3IgdXNlcnMgdGhlIHByaW1hcnkgcHVycG9zZSBvZiB0aGUKKyAgUHJvZ3JhbSBvciBtb2RpZmllZCB2ZXJzaW9uLgorCisgIOKAnFNlcnZpY2UgU291cmNlIENvZGXigJ0gbWVhbnMgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGZvciB0aGUgUHJvZ3JhbSBvcgorICB0aGUgbW9kaWZpZWQgdmVyc2lvbiwgYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYWxsIHByb2dyYW1zIHRoYXQKKyAgeW91IHVzZSB0byBtYWtlIHRoZSBQcm9ncmFtIG9yIG1vZGlmaWVkIHZlcnNpb24gYXZhaWxhYmxlIGFzIGEgc2VydmljZSwKKyAgaW5jbHVkaW5nLCB3aXRob3V0IGxpbWl0YXRpb24sIG1hbmFnZW1lbnQgc29mdHdhcmUsIHVzZXIgaW50ZXJmYWNlcywKKyAgYXBwbGljYXRpb24gcHJvZ3JhbSBpbnRlcmZhY2VzLCBhdXRvbWF0aW9uIHNvZnR3YXJlLCBtb25pdG9yaW5nIHNvZnR3YXJlLAorICBiYWNrdXAgc29mdHdhcmUsIHN0b3JhZ2Ugc29mdHdhcmUgYW5kIGhvc3Rpbmcgc29mdHdhcmUsIGFsbCBzdWNoIHRoYXQgYQorICB1c2VyIGNvdWxkIHJ1biBhbiBpbnN0YW5jZSBvZiB0aGUgc2VydmljZSB1c2luZyB0aGUgU2VydmljZSBTb3VyY2UgQ29kZQorICB5b3UgbWFrZSBhdmFpbGFibGUuICAKKworICAxNC4gUmV2aXNlZCBWZXJzaW9ucyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgTW9uZ29EQiwgSW5jLiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMgb2YgdGhlIFNlcnZlciBTaWRlCisgIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsIGJlIHNpbWlsYXIgaW4KKyAgc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldworICBwcm9ibGVtcyBvciBjb25jZXJucy4KKworICBFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gSWYgdGhlIFByb2dyYW0KKyAgc3BlY2lmaWVzIHRoYXQgYSBjZXJ0YWluIG51bWJlcmVkIHZlcnNpb24gb2YgdGhlIFNlcnZlciBTaWRlIFB1YmxpYworICBMaWNlbnNlIOKAnG9yIGFueSBsYXRlciB2ZXJzaW9u4oCdIGFwcGxpZXMgdG8gaXQsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YKKyAgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBlaXRoZXIgb2YgdGhhdCBudW1iZXJlZCB2ZXJzaW9uIG9yIG9mCisgIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSBNb25nb0RCLCBJbmMuIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90CisgIHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgU2VydmVyIFNpZGUgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkKKyAgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IE1vbmdvREIsIEluYy4KKworICBJZiB0aGUgUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIHByb3h5IGNhbiBkZWNpZGUgd2hpY2ggZnV0dXJlIHZlcnNpb25zIG9mCisgIHRoZSBTZXJ2ZXIgU2lkZSBQdWJsaWMgTGljZW5zZSBjYW4gYmUgdXNlZCwgdGhhdCBwcm94eSdzIHB1YmxpYyBzdGF0ZW1lbnQKKyAgb2YgYWNjZXB0YW5jZSBvZiBhIHZlcnNpb24gcGVybWFuZW50bHkgYXV0aG9yaXplcyB5b3UgdG8gY2hvb3NlIHRoYXQKKyAgdmVyc2lvbiBmb3IgdGhlIFByb2dyYW0uCisKKyAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgcGVybWlzc2lvbnMuCisgIEhvd2V2ZXIsIG5vIGFkZGl0aW9uYWwgb2JsaWdhdGlvbnMgYXJlIGltcG9zZWQgb24gYW55IGF1dGhvciBvciBjb3B5cmlnaHQKKyAgaG9sZGVyIGFzIGEgcmVzdWx0IG9mIHlvdXIgY2hvb3NpbmcgdG8gZm9sbG93IGEgbGF0ZXIgdmVyc2lvbi4KKworICAxNS4gRGlzY2xhaW1lciBvZiBXYXJyYW50eS4KKworICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCisgIEFQUExJQ0FCTEUgTEFXLiBFWENFUFQgV0hFTiBPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVAorICBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJREUgVEhFIFBST0dSQU0g4oCcQVMgSVPigJ0gV0lUSE9VVCBXQVJSQU5UWQorICBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICBQVVJQT1NFLiBUSEUgRU5USVJFIFJJU0sgQVMgVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNCisgIElTIFdJVEggWU9VLiBTSE9VTEQgVEhFIFBST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GCisgIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KKyAgCisgIDE2LiBMaW1pdGF0aW9uIG9mIExpYWJpbGl0eS4KKyAgCisgIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworICBXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTCisgIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HCisgIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRgorICBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8KKyAgTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVQorICBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCisgIFBST0dSQU1TKSwgRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRQorICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisgIAorICAxNy4gSW50ZXJwcmV0YXRpb24gb2YgU2VjdGlvbnMgMTUgYW5kIDE2LgorCisgIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZCBhYm92ZQorICBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywgcmV2aWV3aW5nCisgIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzIGFuIGFic29sdXRlCisgIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgUHJvZ3JhbSwgdW5sZXNzIGEKKyAgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYSBjb3B5IG9mIHRoZSBQcm9ncmFtIGluCisgIHJldHVybiBmb3IgYSBmZWUuCisgIAorICAgICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3JlYWQtZWRpZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvbGljZW5zZXMvcmVhZC1lZGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjJjNjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3JlYWQtZWRpZApAQCAtMCwwICsxLDE3IEBACisKKyAqIFRoaXMgaXMgYW4gdW5vZmZpY2lhbCBsaWNlbnNlLiBMZXQncyBjYWxsIGl0IEJTRC1saWtlLCB3aXRoIHRoZXNlIHRlcm1zOgorICogICAqIFlvdSBhcmUgZnJlZSB0byB1c2UgdGhpcyBzb2Z0d2FyZSBmb3IgYW55IHB1cnBvc2UuIEkgY2Fubm90IGd1YXJhbnRlZQorICogICAgIGFueXRoaW5nIGFib3V0IHRoaXMgc29mdHdhcmUgb3IgaXRzIGZpdG5lc3MgZm9yIGFueSBwdXJwb3NlLiBJIHdpbGwKKyAqICAgICBvZmZlciBzdXBwb3J0IGZvciB0aGlzIHNvZnR3YXJlIGFzIGxvbmcgYXMgSSBhbSBjYXBhYmxlIG9mIGRvaW5nIHNvLAorICogICAgIGJ1dCB0aGlzIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYSBzdXBwb3J0IGNvbnRyYWN0IG9mIGFueSBraW5kLgorICoKKyAqICAgKiBZb3UgYXJlIGZyZWUgdG8gbW9kaWZ5LCBkaXN0cmlidXRlLCBldGMuIHRoaXMgY29kZSB1bmRlciB0aGUgc3RyaWN0CisgKiAgICAgY29uZGl0aW9uIHRoYXQgeW91IGVtYWlsIG1lLCBNYXR0aGV3IEtlcm4gPHB5cm9waG9iaWNtYW5AZ21haWwuY29tPiwgYQorICogICAgIGJyaWVmIG1lc3NhZ2Ugb24gd2hhdCB5b3UncmUgZG9pbmcuIE5vdGhpbmcgd2lsbCBiZSByZWplY3RlZCwgdGhpcyBpcworICogICAgIHNpbXBseSB0byBrZWVwIHRhYnMgb24gbXkgd29yaywgYW5kIG1heWJlIHdlIGNhbiBzaGFyZSBpZGVhcyBvbiBFRElEcy4KKyAqCisgKiAgICogKEMpb3B5cmlnaHQgMjAwOC0yMDE0IE1hdHRoZXcgS2VybgorICoKKyAqICAgUGxlYXNlIHNlZSBBVVRIT1JTIGZvciBhIGxpc3Qgb2YgdGhlIHBlb3BsZSB3aG8gbWFkZSB0aGlzIHNvZnR3YXJlCisgKiAgIHBvc3NpYmxlLiBBbGwgb2YgdGhlIGN1cnJlbnQgY29kZSBpcyBhIHJld3JpdGUgb2YgbXkgb3duIHdvcmssIGJ1dAorICogICBJIGFtIHN0aWxsIGluZGVidGVkIHRvIHRob3NlIGd1eXMgZm9yIGEgdG9uIG9mIHRoZSBpZGVhcy4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAxLWNwdWJ1cm4tYTguUy1SZW1vdmUtLmZ1bmMtLmVuZGZ1bmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMS1jcHVidXJuLWE4LlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZjEyZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMS1jcHVidXJuLWE4LlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK0Zyb20gMDY0YTYzODYwYmY5ZWU0YmY1NGZhY2I3NmNhNjZmOWY5NTdkNDc5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDExOjEyOjM4IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNwdWJ1cm4qLlM6IFJlbW92ZSAuZnVuYy8uZW5kZnVuYworCitUaGVzZSBhcmUgbmVlZGVkIHRvIGdlbmVyYXRlIHN0YWJzIGRlYnVnIGluZm8gd2hpY2ggd2UgZG9udCB1c2UKK2FuZCBhcmUgc2lsZW50bHkgaWdub3JlZCBieSBnbnUgYXNzZW1ibGVyIHdoZW4gdW51c2VkLCBjbGFuZyBhc3NlbWJsZXIKK2hvd2V2ZXIgYmFyZnMsIHNvIHJlbW92ZSB0aGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgY3B1YnVybi1hNy5TIHwgMiAtLQorIGNwdWJ1cm4tYTguUyB8IDIgLS0KKyBjcHVidXJuLWE5LlMgfCAyIC0tCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3B1YnVybi1hNy5TIGIvY3B1YnVybi1hNy5TCitpbmRleCA3NGU5MjVhLi5jMWUzMDhjIDEwMDY0NAorLS0tIGEvY3B1YnVybi1hNy5TCisrKysgYi9jcHVidXJuLWE3LlMKK0BAIC00Miw3ICs0Miw2IEBACisgCisgICAgIC5nbG9iYWwgbWFpbgorIAorLS5mdW5jIG1haW4KKyAudHlwZSBtYWluLCAlZnVuY3Rpb24KKyBtYWluOgorICAgICAgICAgcHVzaCAgICAgICAge3I0LXIxMiwgbHJ9CitAQCAtODgsNCArODcsMyBAQCBtYWluOgorIAorICAgICAgICAgbW92ICAgICAgICAgcjAsICMwCisgICAgICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworZGlmZiAtLWdpdCBhL2NwdWJ1cm4tYTguUyBiL2NwdWJ1cm4tYTguUworaW5kZXggYzZmOTNhNi4uYTQyZjVhNSAxMDA2NDQKKy0tLSBhL2NwdWJ1cm4tYTguUworKysrIGIvY3B1YnVybi1hOC5TCitAQCAtNDYsNyArNDYsNiBAQAorIC8qIDE2IHNlZW1zIHRvIGJlIGEgZ29vZCBjaG9pY2UgKi8KKyAjZGVmaW5lIFNURVAgICAgICAgICAgICAgICAgIDE2CisgCistLmZ1bmMgbWFpbgorIC50aHVtYl9mdW5jCisgbWFpbjoKKyAgICAgICAgIG1vdiAgICAgICAgIGxyLCBwYworQEAgLTcwLDQgKzY5LDMgQEAgbWFpbjoKKyAgICAgICAgIHN1YnMgICAgICAgIGxyLCBsciwgIyhTVEVQICogNCkKKyAgICAgLmVuZHIKKyAgICAgICAgIGJuZSAgICAgICAgIDBiCistLmVuZGZ1bmMKK2RpZmYgLS1naXQgYS9jcHVidXJuLWE5LlMgYi9jcHVidXJuLWE5LlMKK2luZGV4IDAzMzhiMDAuLmExY2NhZTUgMTAwNjQ0CistLS0gYS9jcHVidXJuLWE5LlMKKysrKyBiL2NwdWJ1cm4tYTkuUworQEAgLTQ4LDcgKzQ4LDYgQEAKKyAvKiA2NCBzZWVtcyB0byBiZSBhIGdvb2QgY2hvaWNlICovCisgI2RlZmluZSBTVEVQICAgICAgICAgICAgICAgICA2NAorIAorLS5mdW5jIG1haW4KKyAudHlwZSBtYWluLCAlZnVuY3Rpb24KKyBtYWluOgorIAorQEAgLTk0LDQgKzkzLDMgQEAgbWFpbjoKKyAgICAgICAgIHN1YnNuZSAgICAgIGxyLCBsciwgIyhTVEVQICogNCkKKyAgICAgLmVuZHIKKyAgICAgICAgIGJuZSAgICAgICAgIDBiCistLmVuZGZ1bmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAyLWJ1cm4uUy1BZGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMi1idXJuLlMtQWRkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNjhjOWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMi1idXJuLlMtQWRkLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gYzJhZGNjYTkzYTAwNzU2NjVhODE5NWNhYWQ0OWI4OTc4NTg4NmU4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEyOjAyOjIyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1cm4uUzogQWRkCisKK1RoaXMgaXMgb3JpZ2luYWxseSBmcm9tCitodHRwczovL2hhcmR3YXJlYnVnLm9yZy9maWxlcy9idXJuLlMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYnVybi5TIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBidXJuLlMKKworZGlmZiAtLWdpdCBhL2J1cm4uUyBiL2J1cm4uUworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmMzNzJjODcKKy0tLSAvZGV2L251bGwKKysrKyBiL2J1cm4uUworQEAgLTAsMCArMSwyNiBAQAorKyAgICAgICAgLmFyY2ggICBhcm12Ny1hCisrICAgICAgICAuZnB1ICAgIG5lb24KKysKKysgICAgICAgIC50ZXh0CisrCisrICAgICAgICAuZ2xvYmFsIG1haW4KKysgICAgICAgIC50eXBlICAgbWFpbiwgU1RUX0ZVTkMKKysgICAgICAgIC5mdW5jICAgbWFpbgorK21haW46CisrICAgICAgICBiaWMgICAgICAgICAgICAgc3AsICBzcCwgICMxNQorKzE6CisrICAgICAgICB2bGQxLjggICAgICAgICAge3E4fSwgW3NwLDoxMjhdCisrICAgICAgICBzbXVhZCAgICAgICAgICAgcjYsICByNCwgIHI1CisrICAgICAgICB2ZW9yICAgICAgICAgICAgcTksICBxMCwgIHExCisrICAgICAgICBhZGQgICAgICAgICAgICAgbHIsICByNCwgIHI1CisrICAgICAgICBsZHIgICAgICAgICAgICAgaXAsICBbc3BdCisrICAgICAgICB2ZXh0LjggICAgICAgICAgcTEwLCBxMywgIHE0LCAgIzEKKysgICAgICAgIGVvciAgICAgICAgICAgICByNSwgIHI0LCAgcjUKKysgICAgICAgIHZhZGQuaTMyICAgICAgICBxMTEsIHEwLCAgcTEKKysgICAgICAgIHNtdXNkICAgICAgICAgICByNiwgIHI0LCAgcjUKKysgICAgICAgIGxkciAgICAgICAgICAgICByMiwgIFtzcF0KKysgICAgICAgIHZleHQuOCAgICAgICAgICBxMTIsIHExLCAgcTIsICAjMworKyAgICAgICAgc3N1YjggICAgICAgICAgIGxyLCAgcjQsICByNQorKyAgICAgICAgdm11bC51MTYgICAgICAgIHExMywgcTAsICBxNAorKyAgICAgICAgYiAgICAgICAgICAgICAgIDFiCisrLmVuZGZ1bmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLWFybS8wMDAzLWJ1cm4uUy1SZW1vdmUtLmZ1bmMtLmVuZGZ1bmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNTFiNjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm0vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMDc4ZGY1YjI1ZDc1NTc4YmIwNDQ4Y2E1MzUxNGMyM2RlYmU2ZDkyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEyOjAzOjExIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1cm4uUzogUmVtb3ZlIC5mdW5jLy5lbmRmdW5jCisKK1RoZXNlIGFyZSB1c2VsZXNzIG9uIExpbnV4IHN5c3RlbXMgd2hlcmUgd2UgdXNlIGR3YXJmIGRlYnVnIGluZm8gaW5zdGVhZAorb2Ygc3RhYnMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYnVybi5TIHwgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVybi5TIGIvYnVybi5TCitpbmRleCBjMzcyYzg3Li40NDU4ZjUxIDEwMDY0NAorLS0tIGEvYnVybi5TCisrKysgYi9idXJuLlMKK0BAIC01LDcgKzUsNiBAQAorIAorICAgICAgICAgLmdsb2JhbCBtYWluCisgICAgICAgICAudHlwZSAgIG1haW4sIFNUVF9GVU5DCistICAgICAgICAuZnVuYyAgIG1haW4KKyBtYWluOgorICAgICAgICAgYmljICAgICAgICAgICAgIHNwLCAgc3AsICAjMTUKKyAxOgorQEAgLTIzLDQgKzIyLDMgQEAgbWFpbjoKKyAgICAgICAgIHNzdWI4ICAgICAgICAgICBsciwgIHI0LCAgcjUKKyAgICAgICAgIHZtdWwudTE2ICAgICAgICBxMTMsIHEwLCAgcTQKKyAgICAgICAgIGIgICAgICAgICAgICAgICAxYgorLS5lbmRmdW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1hcm1fZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTg5ZGEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9jcHVidXJuL2NwdWJ1cm4tYXJtX2dpdC5iYgpAQCAtMCwwICsxLDM4IEBACitTVU1NQVJZID0gIkEgY29sbGVjdGlvbiBvZiBjcHVidXJuIHByb2dyYW1zIHR1bmVkIGZvciBkaWZmZXJlbnQgQVJNIGhhcmR3YXJlIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9jcHVidXJuLWE1My5TO2JlZ2lubGluZT0xO2VuZGxpbmU9MjI7bWQ1PTNiN2NjZDcwMTQ0YzE2ZDNmZTE0YWM0OTFjMmQ0YTg3IgorCitSUFJPVklERVNfJHtQTn0gPSAiY3B1YnVybi1uZW9uIgorUFJPVklERVMgKz0gImNwdWJ1cm4tbmVvbiIKKworU1JDUkVWID0gImFkN2U2NDY3MDBkMTRiODE0MTMyOTdiZGEwMmZiN2ZlOTY2MTNjM2YiCisKK1BWID0gIjEuMCtnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NzdmIvY3B1YnVybi1hcm0uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY3B1YnVybi1hOC5TLVJlbW92ZS0uZnVuYy0uZW5kZnVuYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWJ1cm4uUy1BZGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1idXJuLlMtUmVtb3ZlLS5mdW5jLS5lbmRmdW5jLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb21waWxlKCkgeworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGJ1cm4uUyAtbyBidXJuCisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hNy5TIC1vIGJ1cm4tYTcKKyAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWE4LlMgLW8gYnVybi1hOAorICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4tYTkuUyAtbyBidXJuLWE5CisgICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gY3B1YnVybi1hNTMuUyAtbyBidXJuLWE1MworICAgICR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IGNwdWJ1cm4ta3JhaXQuUyAtbyBidXJuLWtyYWl0Cit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgZm9yIGYgaW4gYnVybiBidXJuLWE3IGJ1cm4tYTggYnVybi1hOSBidXJuLWE1MyBidXJuLWtyYWl0OyBkbworICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJGYgJHtEfSR7YmluZGlyfS8kZgorICAgIGRvbmUKK30KKworQ09NUEFUSUJMRV9NQUNISU5FID89ICIoXiQpIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY3YSA9ICIoLiopIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY3dmUgPSAiKC4qKSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLW5lb25fMjAxNDA2MjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2NwdWJ1cm4vY3B1YnVybi1uZW9uXzIwMTQwNjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNGUzZmM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvY3B1YnVybi9jcHVidXJuLW5lb25fMjAxNDA2MjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1TVU1NQVJZID0gIkNQVSBidXJuIGFwcCB0aGF0IGxvYWRzIHRoZSBORU9OIGNvcHJvY2Vzc29yIGZ1bGx5IgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9idXJuLlM7bWQ1PTgyM2FiYzcyYzJjZDQ0OGU4N2RmOWJjNTM1NWE0NDU2IgotCi1ETF9ESVJfYXBwZW5kID0gIi8ke1BOfS0ke1BWfSIKLQotIyBFbnN1cmUgdG8gbWFrZSB0aGlzIGF2YWlsYWJsZSBmb3IgbWFjaGluZSB3aGljaCBoYXMgbmVvbgotQ09NUEFUSUJMRV9NQUNISU5FID0gIigke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJuZW9uIiwgIiR7TUFDSElORX0iLCAiSW52YWxpZCEiLCBkKX0pIgotCi1TUkNfVVJJID0gImh0dHA6Ly9oYXJkd2FyZWJ1Zy5vcmcvZmlsZXMvYnVybi5TO25hbWU9bXJ1IFwKLSAgICAgICAgICAgaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3NzdmIvY3B1YnVybi1hcm0vZGQ1YzViYTU4ZDJiMGIyM2NmYWI0YTI4NmY5ZDNmNTUxMDAwMGYyMC9jcHVidXJuLWE4LlM7bmFtZT1zc3ZiIgotCi1TUkNfVVJJW21ydS5tZDVzdW1dID0gIjgyM2FiYzcyYzJjZDQ0OGU4N2RmOWJjNTM1NWE0NDU2IgotU1JDX1VSSVttcnUuc2hhMjU2c3VtXSA9ICIwMWQ5ZmMwNGY4Mzc0MGM1MTNjMjU0MDFkY2M4OWMxMWIyYTVhNjAxM2U3MGJmY2E0MmI3YjAyMTI5Zjg4Y2QyIgotU1JDX1VSSVtzc3ZiLm1kNXN1bV0gPSAiYmEwZWYyOTM5YTNiM2I0ODc1MjM0NDhjNjc1NDRlOTQiCi1TUkNfVVJJW3NzdmIuc2hhMjU2c3VtXSA9ICJjZTQyZWJkYzcxYzg3NmEzM2Q5Zjc1MzQzNTVlZjc2Y2VmYTBkMDBkZGIxOWFkNjljZjA1YTI2NmM4NjFkMDhkIgotCi1TID0gIiR7V09SS0RJUn0iCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30gYnVybi5TIC1vIGJ1cm4KLSAgICAke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSBjcHVidXJuLWE4LlMgLW8gYnVybi1uZW9uYTgKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9idXJuICR7RH0ke2JpbmRpcn0vYnVybi1uZW9uCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vYnVybi1uZW9uYTggJHtEfSR7YmluZGlyfS8KLX0KLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2ZpbGVzLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGYwOWZhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy8wMDAxLUZpeC1jbGFuZy13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gMzVlOWY4MDUxOGQ2NjZkYjVmOWM2MmU4MDcyZmZiYzMwN2I0YWY0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI2IEF1ZyAyMDE3IDA4OjMwOjAxIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBjbGFuZyB3YXJuaW5ncwotCi0uLi9zcmMvbmF0aXZlLXN0YXRlLWRybS5jcHA6MzM0OjIwOiBlcnJvcjogY2Fubm90IHBhc3Mgb2JqZWN0IG9mIG5vbi10cml2aWFsIHR5cGUgJ3N0ZDo6X19jeHgxMTo6YmFzaWNfc3RyaW5nPGNoYXI+JyB0aHJvdWdoIHZhcmlhZGljIGZ1bmN0aW9uOyBjYWxsIHdpbGwgYWJvcnQgYXQgcnVudGltZSBbLVdub24tcG9kLXZhcmFyZ3NdCi0gICAgICAgICAgICAgICAgICAgZGV2X3BhdGgpOwotICAgICAgICAgICAgICAgICAgIF4KLTEgZXJyb3IgZ2VuZXJhdGVkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwIGIvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwCi1pbmRleCBkYzJiMzIzLi42MjU2NmVlIDEwMDY0NAotLS0tIGEvc3JjL25hdGl2ZS1zdGF0ZS1kcm0uY3BwCi0rKysgYi9zcmMvbmF0aXZlLXN0YXRlLWRybS5jcHAKLUBAIC0zMzEsNyArMzMxLDcgQEAgc3RhdGljIGludCBvcGVuX3VzaW5nX3VkZXZfc2NhbigpCi0gICAgIGlmICghdmFsaWRfZmQoZmQpKSB7Ci0gICAgICAgICAvLyAlbSBpcyBHTElCQyBzcGVjaWZpYy4uLiBNYXliZSB1c2Ugc3RyZXJyb3IgaGVyZS4uLgotICAgICAgICAgTG9nOjplcnJvcigiVHJpZWQgdG8gdXNlICclcycgYnV0IGZhaWxlZC5cblJlYXNvbiA6ICVtIiwKLS0gICAgICAgICAgICAgICAgICAgZGV2X3BhdGgpOwotKyAgICAgICAgICAgICAgICAgICBkZXZfcGF0aC5jX3N0cigpKTsKLSAgICAgfQotICAgICBlbHNlCi0gICAgICAgICBMb2c6OmRlYnVnKCJTdWNjZXNzIVxuIik7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvRml4LWNvbmZpZ3VyZS1mb3Itc3FydC1jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZGUwNWVlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotRnJvbSA5ZmIyOThjMzk4Zjg4YTYzZDcxNDMyYmUxNDEwZDUyZmFlMDg5MDYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVG9tIEhvY2hzdGVpbiA8dG9tLmhvY2hzdGVpbkBueHAuY29tPgotRGF0ZTogTW9uLCA4IEF1ZyAyMDE2IDExOjM5OjU0IC0wNTAwCi0KLS0tLQotIHdzY3JpcHQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggY2E4NDNmNC4uZWI0YTI2YSAxMDA2NDQKLS0tLSBhL3dzY3JpcHQKLSsrKyBiL3dzY3JpcHQKLUBAIC04NCw3ICs4NCw3IEBAIGRlZiBjb25maWd1cmUoY3R4KToKLSAgICAgICAgIGN0eC5jaGVja19jYyhsaWIgPSBsaWIsIHVzZWxpYl9zdG9yZSA9IHVzZWxpYikKLSAKLSAgICAgIyBDaGVjayByZXF1aXJlZCBmdW5jdGlvbnMKLS0gICAgcmVxX2Z1bmNzID0gWygnbWVtc2V0JywgJ3N0cmluZy5oJywgW10pICwoJ3NxcnQnLCAnbWF0aC5oJywgWydtJ10pXQotKyAgICByZXFfZnVuY3MgPSBbKCdtZW1zZXQnLCAnc3RyaW5nLmgnLCBbXSldCi0gICAgIGZvciBmdW5jLCBoZWFkZXIsIHVzZWxpYiBpbiByZXFfZnVuY3M6Ci0gICAgICAgICBjdHguY2hlY2tfY2MoZnVuY3Rpb25fbmFtZSA9IGZ1bmMsIGhlYWRlcl9uYW1lID0gaGVhZGVyLAotICAgICAgICAgICAgICAgICAgICAgICB1c2VsaWIgPSB1c2VsaWIsIG1hbmRhdG9yeSA9IFRydWUpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZmlsZXMvYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MmI4ZGViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9maWxlcy9idWlsZC1DaGVjay1wYWNrYWdlcy10by1iZS11c2VkLWJ5LXRoZS1lbmFibGVkLWZsYXZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLVN1YmplY3Q6IFtQQVRDSF0gYnVpbGQ6IENoZWNrIHBhY2thZ2VzIHRvIGJlIHVzZWQgYnkgdGhlIGVuYWJsZWQgZmxhdm9ycwotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotVGhlIHBhY2thZ2VzIHNob3VsZG4ndCBiZSBkeW5hbWljYWxseSBkZXRlY3RlZCBvdGhlcndpc2UgdGhlIGJ1aWxkCi1wcmVkaWN0YWJpbGl0eSBpcyBsb3N0LiBXZSBub3cgaGF2ZSBhbGwgcGFja2FnZXMgYXMgbWFuZGF0b3J5IGJ1dAotZGVwZW5kZW50IG9mIHRoZSBmbGF2b3JzIHdoaWNoIHVzZSB0aGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMi9wdWxsLzhdCi0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSB3c2NyaXB0IHwgMTAgKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS93c2NyaXB0IGIvd3NjcmlwdAotaW5kZXggY2FiNjJhMy4uZTdlYWVkMCAxMDA2NDQKLS0tLSBhL3dzY3JpcHQKLSsrKyBiL3dzY3JpcHQKLUBAIC0xMjEsMTMgKzEyMSwxNyBAQCBkZWYgY29uZmlndXJlKGN0eCk6Ci0gICAgICAgICAgICAgICAgICgnbWlyY2xpZW50JywnbWlyY2xpZW50JywgJzAuMTMnLCBsaXN0X2NvbnRhaW5zKGN0eC5vcHRpb25zLmZsYXZvcnMsICdtaXInKSksCi0gICAgICAgICAgICAgICAgICgnd2F5bGFuZC1jbGllbnQnLCd3YXlsYW5kLWNsaWVudCcsIE5vbmUsIGxpc3RfY29udGFpbnMoY3R4Lm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSksCi0gICAgICAgICAgICAgICAgICgnd2F5bGFuZC1lZ2wnLCd3YXlsYW5kLWVnbCcsIE5vbmUsIGxpc3RfY29udGFpbnMoY3R4Lm9wdGlvbnMuZmxhdm9ycywgJ3dheWxhbmQnKSldCi0tICAgIGZvciAocGtnLCB1c2VsaWIsIGF0bGVhc3QsIG1hbmRhdG9yeSkgaW4gb3B0X3BrZ3M6Ci0rICAgIGZvciAocGtnLCB1c2VsaWIsIGF0bGVhc3QsIGNoZWNrKSBpbiBvcHRfcGtnczoKLSsgICAgICAgICMgQ2hlY2sgcGFja2FnZXMgcmVxdWlyZWQgYnkgdGhlIGZsYXZvcnMKLSsgICAgICAgIGlmIG5vdCBjaGVjazoKLSsgICAgICAgICAgICBjb250aW51ZQotKwotICAgICAgICAgaWYgYXRsZWFzdCBpcyBOb25lOgotICAgICAgICAgICAgIGN0eC5jaGVja19jZmcocGFja2FnZSA9IHBrZywgdXNlbGliX3N0b3JlID0gdXNlbGliLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBtYW5kYXRvcnkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzID0gJy0tY2ZsYWdzIC0tbGlicycsIG1hbmRhdG9yeSA9IFRydWUpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIGN0eC5jaGVja19jZmcocGFja2FnZSA9IHBrZywgdXNlbGliX3N0b3JlID0gdXNlbGliLCBhdGxlYXN0X3ZlcnNpb249YXRsZWFzdCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgPSAnLS1jZmxhZ3MgLS1saWJzJywgbWFuZGF0b3J5ID0gbWFuZGF0b3J5KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncyA9ICctLWNmbGFncyAtLWxpYnMnLCBtYW5kYXRvcnkgPSBUcnVlKQotIAotIAotICAgICAjIFByZXBlbmQgQ1hYIGZsYWdzIHNvIHRoYXQgdGhleSBjYW4gYmUgb3ZlcnJpZGVuIGJ5IHRoZQotLS0gCi0yLjQuNgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2dsbWFyazIvZ2xtYXJrMl9naXQuYmIKaW5kZXggOTkwNTBlNy4uN2VkNWNkMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9nbG1hcmsyL2dsbWFyazJfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvZ2xtYXJrMi9nbG1hcmsyX2dpdC5iYgpAQCAtMTAsMTYgKzEwLDEyIEBACiAKIERFUEVORFMgPSAibGlicG5nIGpwZWcgdWRldiIKIAotUFYgPSAiMjAxNy4wNyske1NSQ1BWfSIKK1BWID0gIjIwMTkwMjA1KyR7U1JDUFZ9IgogCiBDT01QQVRJQkxFX0hPU1RfcnBpICA9ICIke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICd2YzRncmFwaGljcycsICcuKi1saW51eConLCAnbnVsbCcsIGQpfSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dsbWFyazIvZ2xtYXJrMi5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vYnVpbGQtQ2hlY2stcGFja2FnZXMtdG8tYmUtdXNlZC1ieS10aGUtZW5hYmxlZC1mbGF2by5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9GaXgtY29uZmlndXJlLWZvci1zcXJ0LWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWNsYW5nLXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gImVkMjBjNjMzZjE5MjZkMWRkNzhlM2U4OTA0M2M4NWE4MTMwMmNiZTYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2xtYXJrMi9nbG1hcmsyLmdpdDtwcm90b2NvbD1odHRwcyIKK1NSQ1JFViA9ICIwYzkwZGQ0OGRmNDNhNmIwZGIxZDlhYWJjYTYyOTgyNDBmNDk2OGY3IgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCkBAIC0zMSw5ICsyNyw2IEBACiAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgb3BlbmdsJywgJ3dheWxhbmQtZ2wgd2F5bGFuZC1nbGVzMicsICcnLCBkKX0gXAogICAgICAgICAgICAgICAgICAgZHJtLWdsIGRybS1nbGVzMiIKIAotIyBFbmFibGUgQysrMTEgZmVhdHVyZXMKLUNYWEZMQUdTICs9ICItc3RkPWMrKzExIgotCiBQQUNLQUdFQ09ORklHW3gxMS1nbF0gPSAiLCx2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbGlieDExIgogUEFDS0FHRUNPTkZJR1t4MTEtZ2xlczJdID0gIiwsdmlydHVhbC9saWJnbGVzMiB2aXJ0dWFsL2xpYngxMSIKIFBBQ0tBR0VDT05GSUdbZHJtLWdsXSA9ICIsLHZpcnR1YWwvbGliZ2wgbGliZHJtIHZpcnR1YWwvbGliZ2JtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfMjAxMTAyMDYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF8yMDExMDIwNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjUzNGM3My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL2xpYmMtYmVuY2gvbGliYy1iZW5jaF8yMDExMDIwNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiVGVzdHMgdG8gY29tcGFyZSBzdGFuZGFyZCBmdW5jdGlvbnMgb2YgZGlmZmVyZW50IGxpYmMgaW1wbGVtZW50YXRpb25zIgotREVTQ1JJUFRJT04gPSAibGliYy1iZW5jaCBpcyBhIHNldCBvZiB0aW1lLSBhbmQgbWVtb3J5LWVmZmljaWVuY3kgdGVzdHMgdG8gY29tcGFyZSBcCi1pbXBsZW1lbnRhdGlvbnMgb2YgdmFyaW91cyBDL1BPU0lYIHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rpb25zLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZXRhbGFicy5uZXQvbGliYy1iZW5jaC5odG1sIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL01ha2VmaWxlO21kNT1lMTJmMTEzZGEyN2RmZTljZmI2YzJjNTM3ZGE4ZDhkZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmV0YWxhYnMubmV0L3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmNzYzZGU5MGY5NWZlNjhlNGUwM2U1YjZmNDk2OThhYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODI1MjYwYWE1ZjE1ZjRmYmM3OTU3ZWM1NzhlOWM4NTljYmJlMjEwZTAyNWVjNzRjNGEwZDA1Njc3NTIzNzk0IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtCfS9saWJjLWJlbmNoICR7RH0ke2JpbmRpcn0KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbGliYy1iZW5jaC9saWJjLWJlbmNoX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODEzODk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9saWJjLWJlbmNoL2xpYmMtYmVuY2hfZ2l0LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiVGVzdHMgdG8gY29tcGFyZSBzdGFuZGFyZCBmdW5jdGlvbnMgb2YgZGlmZmVyZW50IGxpYmMgaW1wbGVtZW50YXRpb25zIgorREVTQ1JJUFRJT04gPSAibGliYy1iZW5jaCBpcyBhIHNldCBvZiB0aW1lLSBhbmQgbWVtb3J5LWVmZmljaWVuY3kgdGVzdHMgdG8gY29tcGFyZSBcCitpbXBsZW1lbnRhdGlvbnMgb2YgdmFyaW91cyBDL1BPU0lYIHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rpb25zLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZXRhbGFicy5uZXQvbGliYy1iZW5jaC5odG1sIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTlhODI1YzYzODk3YzUzZjQ4N2VmOTAwNTk4YzMxNTI3IgorCitTUkNSRVYgPSAiYjZiMmNlNWY5Zjg3YTA5YjE0NDk5Y2IwMGM2MDBjNjAxZjAyMjYzNCIKK1BWID0gIjIwMTEwMjA2K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5tdXNsLWxpYmMub3JnL2xpYmMtYmVuY2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke0J9L2xpYmMtYmVuY2ggJHtEfSR7YmluZGlyfQorfQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9uYmVuY2gtYnl0ZS9uYmVuY2gtYnl0ZV8yLjIuMy5iYgppbmRleCAyMmJiMDQxLi5iNGQ1NWJlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL25iZW5jaC1ieXRlL25iZW5jaC1ieXRlXzIuMi4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvbmJlbmNoLWJ5dGUvbmJlbmNoLWJ5dGVfMi4yLjMuYmIKQEAgLTcsNyArNyw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTU3O2VuZGxpbmU9NjY7bWQ1PTAyMGVmNTc5ZjhmYTU3NDZiN2UzMDdhNTQ3MDc4MzRmIgogU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZm9zc2llcy5vcmcvbGludXgvbWlzYy8ke0JQfS50YXIuZ3ogXAorU1JDX1VSSSA9ICJodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2Mvb2xkLyR7QlB9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9uYmVuY2hfMzJiaXRzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLWFkZC1tb3JlLWRlcGVuZGVuY2llcy10by1wb2ludGVyLmgucGF0Y2giCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguMC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxZmE1MWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC4wLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gIlBob3Jvbml4IFRlc3QgU3VpdGUiCi1ERVNDUklQVElPTiA9ICJUaGUgUGhvcm9uaXggVGVzdCBTdWl0ZSBpcyBkZXNpZ25lZCB0byBjYXJyeSBvdXQgYm90aCBxdWFsaXRhdGl2ZSBcCi1hbmQgcXVhbnRpdGF0aXZlIGJlbmNobWFya3MgaW4gYSBjbGVhbiwgcmVwcm9kdWNpYmxlLCBhbmQgZWFzeS10by11c2UgbWFubmVyLiIKLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLVNFQ1RJT04gPSAiY29uc29sZS90ZXN0cyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnBob3Jvbml4LXRlc3Qtc3VpdGUuY29tL3JlbGVhc2VzLyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzZGMzYTBlNDkwZTkwOWYxODgzNzlhOWUwNWZkNDc4MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzA2NTQ5MTA5YzcyNTRiYWYzMWVkYjM4NTI2NWIxOTU1N2I1NjkyMjE3ZDJkZmNmOTZmNmZiMTdkZThlODQyIgotCi1TID0gIiR7V09SS0RJUn0vcGhvcm9uaXgtdGVzdC1zdWl0ZSIKLQotaW5oZXJpdCBzeXN0ZW1kIGFsbGFyY2gKLQotZG9faW5zdGFsbCgpIHsKLSAgICBERVNURElSPSR7RH0gLi9pbnN0YWxsLXNoICR7ZXhlY19wcmVmaXh9Ci0KLSAgICBpZiBbICIke3N5c3RlbWRfdW5pdGRpcn0iICE9ICIvdXNyL2xpYi9zeXN0ZW1kIiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgICAgICBtdiAke0R9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW0vKiAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgICAgIHJtIC1yZiAke0R9L3Vzci9saWIvCi0gICAgZmkKLX0KLQotIyBJdCBpcyBub3QgYWR2aXNhYmxlIHRvIGVuYWJsZSB0aGVzZSBzZXJ2aWNlcyBieSBkZWZhdWx0IHNpbmNlIHRoZXkgY2FuIGNhdXNlCi0jIGNvbnRpbnVhbCB0YXJnZXQgcmVib290cyBpZiB0aGV5IGVuY291bnRlciBuZXR3b3JrIHByb2JsZW1zLgotIwotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInBob3JvbWF0aWMtY2xpZW50LnNlcnZpY2UgcGhvcm9tYXRpYy1zZXJ2ZXIuc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggcHl0aG9uIHBocC1jbGkgdXRpbC1saW51eC1sc2NwdSBvcy1yZWxlYXNlIGxzYiIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9waG9yb25peC10ZXN0LXN1aXRlIFwKLSAgICAke2RhdGFkaXJ9L2FwcGRhdGEvcGhvcm9uaXgtdGVzdC1zdWl0ZS5hcHBkYXRhLnhtbCBcCi0gICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvcGhvcm9uaXgtdGVzdC1zdWl0ZS5wbmcgXAotICAgICR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci82NHg2NC9taW1ldHlwZXMvYXBwbGljYXRpb24teC1vcGVuYmVuY2htYXJraW5nLnBuZyBcCi0gICAgJHtkYXRhZGlyfS9taW1lL3BhY2thZ2VzL29wZW5iZW5jaG1hcmtpbmctbWltZS54bWwgXAotICAgICR7c3lzdGVtZF91bml0ZGlyfS8qIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9waG9yb25peC10ZXN0LXN1aXRlL3Bob3Jvbml4LXRlc3Qtc3VpdGVfOC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM3YjA1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcGhvcm9uaXgtdGVzdC1zdWl0ZS9waG9yb25peC10ZXN0LXN1aXRlXzguNi4wLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiUGhvcm9uaXggVGVzdCBTdWl0ZSIKK0RFU0NSSVBUSU9OID0gIlRoZSBQaG9yb25peCBUZXN0IFN1aXRlIGlzIGRlc2lnbmVkIHRvIGNhcnJ5IG91dCBib3RoIHF1YWxpdGF0aXZlIFwKK2FuZCBxdWFudGl0YXRpdmUgYmVuY2htYXJrcyBpbiBhIGNsZWFuLCByZXByb2R1Y2libGUsIGFuZCBlYXN5LXRvLXVzZSBtYW5uZXIuIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorU0VDVElPTiA9ICJjb25zb2xlL3Rlc3RzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cucGhvcm9uaXgtdGVzdC1zdWl0ZS5jb20vcmVsZWFzZXMvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImEzZDllODFmNWFiYzE5MjFkM2FhZjcxMGFjNGY0MDQ2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjYjlkZmNmNGEzNDUyYWFmODJjY2U1OWNjYzA0ZmE0Y2Y1MWE0MzYxN2E2Y2NhOWQxZjljNWM2NzBhNTY1NWQiCisKK1MgPSAiJHtXT1JLRElSfS9waG9yb25peC10ZXN0LXN1aXRlIgorCitpbmhlcml0IHN5c3RlbWQgYWxsYXJjaAorCitkb19pbnN0YWxsKCkgeworICAgIERFU1RESVI9JHtEfSAuL2luc3RhbGwtc2ggJHtleGVjX3ByZWZpeH0KKworICAgIGlmIFsgIiR7c3lzdGVtZF91bml0ZGlyfSIgIT0gIi91c3IvbGliL3N5c3RlbWQiIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisgICAgICAgIG12ICR7RH0vdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS8qICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYi8KKyAgICBmaQorfQorCisjIEl0IGlzIG5vdCBhZHZpc2FibGUgdG8gZW5hYmxlIHRoZXNlIHNlcnZpY2VzIGJ5IGRlZmF1bHQgc2luY2UgdGhleSBjYW4gY2F1c2UKKyMgY29udGludWFsIHRhcmdldCByZWJvb3RzIGlmIHRoZXkgZW5jb3VudGVyIG5ldHdvcmsgcHJvYmxlbXMuCisjCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGhvcm9tYXRpYy1jbGllbnQuc2VydmljZSBwaG9yb21hdGljLXNlcnZlci5zZXJ2aWNlIgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCBweXRob24gcGhwLWNsaSB1dGlsLWxpbnV4LWxzY3B1IG9zLXJlbGVhc2UgbHNiIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L3Bob3Jvbml4LXRlc3Qtc3VpdGUgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YS9waG9yb25peC10ZXN0LXN1aXRlLmFwcGRhdGEueG1sIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvNDh4NDgvYXBwcy9waG9yb25peC10ZXN0LXN1aXRlLnBuZyBcCisgICAgJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzY0eDY0L21pbWV0eXBlcy9hcHBsaWNhdGlvbi14LW9wZW5iZW5jaG1hcmtpbmcucG5nIFwKKyAgICAke2RhdGFkaXJ9L21pbWUvcGFja2FnZXMvb3BlbmJlbmNobWFya2luZy1taW1lLnhtbCBcCisgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9zLXN1aXRlL3Mtc3VpdGVfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay9zLXN1aXRlL3Mtc3VpdGVfZ2l0LmJiCmluZGV4IDc3ZDE3MjguLjQ3ZDIxZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvcy1zdWl0ZS9zLXN1aXRlX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3Mtc3VpdGUvcy1zdWl0ZV9naXQuYmIKQEAgLTIsNyArMiw3IEBACiBMSUNFTlNFID0gIkdQTHYyIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjUyOWFhYTZhMGM1MGYxNWQyOWY4OTYwOWI1YzIyZjMiCiAKLVNSQ1JFViA9ICI3OTY5OGY2NDViZmIyOGQwZDk2NjQ4NGRkYWQzYTFlZmI1NjIyNDZkIgorU1JDUkVWID0gImQwNTAwNjg2NWY2ODgyOWZhNzYwM2JkYjkyYmQ1MTY0OWY1YmExYjYiCiBQViA9ICIwLjArZ2l0JHtTUkNQVn0iCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vQWxnb2Rldi1naXRodWIvUy5naXQ7cHJvdG9jb2w9aHR0cHM7YnJhbmNoPW1hc3RlciIKIApAQCAtMTcsMTEgKzE3LDEzIEBACiAgICAgICAgIGluc3RhbGwgLW0wNzU1IC1wICR7U30vJChiYXNlbmFtZSAkaSkvKiAke0R9L29wdC9TLXN1aXRlLyQoYmFzZW5hbWUgJGkpCiAgICAgZG9uZQogCisgICAgaW5zdGFsbCAtbTA3NTUgJHtTfS9kZWZfY29uZmlnLnNoICR7RH0vb3B0L1Mtc3VpdGUKICAgICBpbnN0YWxsIC1tMDc1NSAke1N9L2NvbmZpZ19wYXJhbXMuc2ggJHtEfS9vcHQvUy1zdWl0ZQotICAgIGluc3RhbGwgLW0wNzU1ICR7U30vZGVmX2NvbmZpZ19wYXJhbXMuc2ggJHtEfS9vcHQvUy1zdWl0ZQorICAgIGluc3RhbGwgLW0wNzU1ICR7U30vcHJvY2Vzc19jb25maWcuc2ggJHtEfS9vcHQvUy1zdWl0ZQogfQogCi1SREVQRU5EU18ke1BOfSA9ICJiYXNoIGJjIGNvcmV1dGlscyBnYXdrIGcrKyBnY2MgZmlvIGxpYmFpbyBsaWJhaW8tZGV2IHN5c3N0YXQiCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIGJjIGNvcmV1dGlscyBnYXdrIGcrKyBnY2MgZmlvIGxpYmFpbyBsaWJhaW8tZGV2IHN5c3N0YXQgXAorCQkgIGdpdCIKIAogRklMRVNfJHtQTn0gPSAiL29wdC9TLXN1aXRlLyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoLzAwMDEtYXNtLURlbGV0ZS0uZnVuYy0uZW5kZnVuYy1kaXJlY3RpdmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwOTA3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2gvMDAwMS1hc20tRGVsZXRlLS5mdW5jLS5lbmRmdW5jLWRpcmVjdGl2ZXMucGF0Y2gKQEAgLTAsMCArMSw0NDQgQEAKK0Zyb20gYjBhNjRkZGViYjUxN2ExNjc4YzQ0ZDliYWYyNGQ4YmJlMzlkMDJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDEzOjE1OjA3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFzbTogRGVsZXRlIC5mdW5jLy5lbmRmdW5jIGRpcmVjdGl2ZXMKKworVGhlc2UgYXJlIHVzZWZ1bCBvbmx5IHdpdGggc3RhYnMgZGVidWcgZm9ybWF0LCB3aGljaCBpcyBub3QgdXNlZCBvbgorbGludXggc3lzdGVtcywgZ2FzIGlnbm9yZXMgdGhlbSBzaWxlbnRseSwgYnV0IGNsYW5nIGFzc2VtYmxlciBkb2VzIG5vdAorYW5kIHJpZ2h0bHkgc28uCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBhYXJjaDY0LWFzbS5TIHwgMTQgKy0tLS0tLS0tLS0tLS0KKyBhcm0tbmVvbi5TICAgIHwgMjQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbWlwcy0zMi5TICAgICB8ICA1ICsrLS0tCisgeDg2LXNzZTIuUyAgICB8IDIxICsrKysrKysrKystLS0tLS0tLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hYXJjaDY0LWFzbS5TIGIvYWFyY2g2NC1hc20uUworaW5kZXggODQyYjllMi4uMTY1YzhhYyAxMDA2NDQKKy0tLSBhL2FhcmNoNjQtYXNtLlMKKysrKyBiL2FhcmNoNjQtYXNtLlMKK0BAIC0zMSw4ICszMSw3IEBACisgCisgLm1hY3JvIGFzbV9mdW5jdGlvbiBmdW5jdGlvbl9uYW1lCisgICAgIC5nbG9iYWwgXGZ1bmN0aW9uX25hbWUKKy0gICAgLnR5cGUgXGZ1bmN0aW9uX25hbWUsJWZ1bmN0aW9uIAorLS5mdW5jIFxmdW5jdGlvbl9uYW1lCisrICAgIC50eXBlIFxmdW5jdGlvbl9uYW1lLCVmdW5jdGlvbgorIFxmdW5jdGlvbl9uYW1lOgorICAgICBEU1QgICAgICAgICAucmVxIHgwCisgICAgIFNSQyAgICAgICAgIC5yZXEgeDEKK0BAIC01NCw3ICs1Myw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3hfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX2FhcmNoNjQKKyAwOgorQEAgLTY3LDcgKzY1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGYzMl9sMnN0cm1fYWFyY2g2NAorIDA6CitAQCAtODIsNyArNzksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDJzdHJtX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wyc3RybV9hYXJjaDY0CisgMDoKK0BAIC05Niw3ICs5Miw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGRwc3RwX3FfcGY2NF9sMnN0cm1fYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDFrZWVwX2FhcmNoNjQKKyAwOgorQEAgLTExMSw3ICsxMDYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2xkcHN0cF9xX3BmMzJfbDFrZWVwX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wxa2VlcF9hYXJjaDY0CisgMDoKK0BAIC0xMjUsNyArMTE5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZHBzdHBfcV9wZjY0X2wxa2VlcF9hYXJjaDY0CisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RwX3hfYWFyY2g2NAorIDA6CitAQCAtMTM3LDcgKzEzMCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RwX3hfYWFyY2g2NAorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF9xX2FhcmNoNjQKKyAwOgorQEAgLTE0Nyw3ICsxMzksNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0cF9xX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG5wX3hfYWFyY2g2NAorIDA6CitAQCAtMTU5LDcgKzE1MCw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF94X2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG5wX3FfYWFyY2g2NAorIDA6CitAQCAtMTY5LDcgKzE1OSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RucF9xX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9sZDFzdDFfYWFyY2g2NAorIDA6CitAQCAtMTgwLDYgKzE2OSw1IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbGQxc3QxX2FhcmNoNjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisgCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvYXJtLW5lb24uUyBiL2FybS1uZW9uLlMKK2luZGV4IDRkYjc4Y2UuLjk2MzFkODIgMTAwNjQ0CistLS0gYS9hcm0tbmVvbi5TCisrKysgYi9hcm0tbmVvbi5TCitAQCAtMzIsNyArMzIsNiBAQAorIAorIC5tYWNybyBhc21fZnVuY3Rpb24gZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCistLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAgICAgRFNUICAgICAgICAgLnJlcSByMAorICAgICBTUkMgICAgICAgICAucmVxIHIxCitAQCAtNjYsNyArNjUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkX25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWRfcGYzMl9uZW9uCitAQCAtOTcsNyArOTUsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19yZWFkX3BmMzJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9wZjY0X25lb24KK0BAIC0xMjcsNyArMTI0LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZF9wZjY0X25lb24KKyAgICAgdnBhZGQudTMyICAgZDMxLCBkMzEsIGQzMQorICAgICB2bW92LnUzMiAgICByMCwgZDMxWzBdCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyAvKiBBY3R1YWxseSB0aGlzIGNhbGN1bGF0ZXMgYSBzdW0gb2YgMzItYml0IHZhbHVlcyAqLworIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX25lb24KK0BAIC0xNTYsNyArMTUyLDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfcGYzMl9uZW9uCitAQCAtMTg3LDcgKzE4Miw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmMzJfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIC8qIEFjdHVhbGx5IHRoaXMgY2FsY3VsYXRlcyBhIHN1bSBvZiAzMi1iaXQgdmFsdWVzICovCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfcmVhZDJfcGY2NF9uZW9uCitAQCAtMjE3LDcgKzIxMSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX3JlYWQyX3BmNjRfbmVvbgorICAgICB2cGFkZC51MzIgICBkMzEsIGQzMSwgZDMxCisgICAgIHZtb3YudTMyICAgIHIwLCBkMzFbMF0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbmVvbgorIDA6CitAQCAtMjI2LDcgKzIxOSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjMzIKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfbmVvbgorICAgICB2cHVzaCAgICAgICB7ZDgtZDE1fQorQEAgLTI0NCw3ICsyMzYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX25lb24KKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgdnBvcCAgICAgICAge2Q4LWQxNX0KKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9uZW9uCisgMDoKK0BAIC0yNTQsNyArMjQ1LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjMyX25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzMyCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmMzJfbmVvbgorICAgICB2cHVzaCAgICAgICB7ZDgtZDE1fQorQEAgLTI4MCw3ICsyNzAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3Vucm9sbGVkX3BmMzJfbmVvbgorICAgICBiZ3QgICAgICAgICAwYgorICAgICB2cG9wICAgICAgICB7ZDgtZDE1fQorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjY0X25lb24KKyAwOgorQEAgLTI5Miw3ICsyODEsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmNjRfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfcGY2NF9uZW9uCisgICAgIHZwdXNoICAgICAgIHtkOC1kMTV9CitAQCAtMzE0LDcgKzMwMiw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdW5yb2xsZWRfcGY2NF9uZW9uCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHZwb3AgICAgICAgIHtkOC1kMTV9CisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19uZW9uCisgICAgIGFkZCAgICAgICAgIFNSQywgU1JDLCBTSVpFCitAQCAtMzI4LDcgKzMxNSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX25lb24KKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzMyCisgICAgIGJndCAgICAgICAgIDBiCisgICAgIGJ4ICAgICAgICAgIGxyCistLmVuZGZ1bmMKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2JhY2t3YXJkc19wZjMyX25lb24KKyAgICAgYWRkICAgICAgICAgU1JDLCBTUkMsIFNJWkUKK0BAIC0zNDMsNyArMzI5LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfcGYzMl9uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9iYWNrd2FyZHNfcGY2NF9uZW9uCisgICAgIGFkZCAgICAgICAgIFNSQywgU1JDLCBTSVpFCitAQCAtMzYwLDcgKzM0NSw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfYmFja3dhcmRzX3BmNjRfbmVvbgorICAgICBzdWJzICAgICAgICBTSVpFLCBTSVpFLCAjNjQKKyAgICAgYmd0ICAgICAgICAgMGIKKyAgICAgYnggICAgICAgICAgbHIKKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfbmVvbgorICAgICB2bGQxLjggICAgICB7ZDAsIGQxLCBkMiwgZDN9LCBbU1JDXSEKK0BAIC0zNzAsNyArMzU0LDYgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9iYWNrd2FyZHNfbmVvbgorICAgICBhZGQgICAgICAgICBTUkMsIFNSQywgU0laRQorQEAgLTM4Myw3ICszNjYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX2JhY2t3YXJkc19uZW9uCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICMzMgorICAgICBiZ3QgICAgICAgICAwYgorICAgICBieCAgICAgICAgICBscgorLS5lbmRmdW5jCisgCisgLyogc29tZSBjb2RlIGZvciBvbGRlciBBUk0gcHJvY2Vzc29ycyAqLworIAorQEAgLTM5OCw3ICszODAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bTRfYXJtdjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHBvcCAgICAgICAgIHtyNC1yMTIsIHBjfQorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdG04X2FybXY0CisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQwOSw3ICszOTAsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3N0bThfYXJtdjQKKyAgICAgc3VicyAgICAgICAgU0laRSwgU0laRSwgIzY0CisgICAgIGJndCAgICAgICAgIDBiCisgICAgIHBvcCAgICAgICAgIHtyNC1yMTIsIHBjfQorLS5lbmRmdW5jCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zdHJkX2FybXY1dGUKKyAgICAgcHVzaCAgICAgICAge3I0LXIxMiwgbHJ9CitAQCAtNDI2LDcgKzQwNiw2IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfc3RyZF9hcm12NXRlCisgICAgIHN1YnMgICAgICAgIFNJWkUsIFNJWkUsICM2NAorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfaW5jcl9hcm12NXRlCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ0Miw3ICs0MjEsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X2luY3JfYXJtdjV0ZQorICAgICBzdG1pYSAgICAgICBEU1QhLCB7cjgtcjExfQorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfd3JhcF9hcm12NXRlCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ1OCw3ICs0MzYsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3dyYXBfYXJtdjV0ZQorICAgICBzdG1pYSAgICAgICBEU1QhLCB7cjgtcjExfQorICAgICBiZ3QgICAgICAgICAwYgorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfdmZwCisgICAgIHB1c2ggICAgICAgIHtyNC1yMTIsIGxyfQorQEAgLTQ3MCw2ICs0NDcsNSBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3ZmcAorICAgICBiZ3QgICAgICAgICAwYgorICAgICB2cG9wICAgICAgICB7ZDgtZDE1fQorICAgICBwb3AgICAgICAgICB7cjQtcjEyLCBwY30KKy0uZW5kZnVuYworIAorICNlbmRpZgorZGlmZiAtLWdpdCBhL21pcHMtMzIuUyBiL21pcHMtMzIuUworaW5kZXggMTdiMmI3Zi4uNGY3ZGRhZSAxMDA2NDQKKy0tLSBhL21pcHMtMzIuUworKysrIGIvbWlwcy0zMi5TCitAQCAtMzIsNyArMzIsNiBAQAorIC5tYWNybyBhc21fZnVuY3Rpb24gZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCisgICAgIC50eXBlIFxmdW5jdGlvbl9uYW1lLCBAZnVuY3Rpb24KKy0gICAgLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAuZW5kbQorIAorQEAgLTkzLDcgKzkyLDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9wZjMyX21pcHMzMgorIDI6CisgICAgIGpyICAgICAgICAgICRyYQorICAgICBub3AKKy0uZW5kZnVuYworKworIAorIC8qCisgICogdm9pZCBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9taXBzMzIoaW50NjRfdCAqZHN0LCBpbnQ2NF90ICpzcmMsIGludCBzaXplKQorQEAgLTE3OCw2ICsxNzcsNiBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfbWlwczMyCisgICAgIGx3ICAgICAgICAgICRzNywgICAgMjgoJHNwKQorICAgICBqciAgICAgICAgICAkcmEKKyAgICAgYWRkaSAgICAgICAgJHNwLCAgICAkc3AsICAgIDMyCistLmVuZGZ1bmMKKysKKyAKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS94ODYtc3NlMi5TIGIveDg2LXNzZTIuUworaW5kZXggZDg4NDBlNC4uNDA5MDMxYiAxMDA2NDQKKy0tLSBhL3g4Ni1zc2UyLlMKKysrKyBiL3g4Ni1zc2UyLlMKK0BAIC0zMCw3ICszMCw2IEBACisgCisgLm1hY3JvIGFzbV9mdW5jdGlvbl9oZWxwZXIgZnVuY3Rpb25fbmFtZQorICAgICAuZ2xvYmFsIFxmdW5jdGlvbl9uYW1lCistLmZ1bmMgXGZ1bmN0aW9uX25hbWUKKyBcZnVuY3Rpb25fbmFtZToKKyAjaWZkZWYgX19hbWQ2NF9fCisgICAjaWZkZWYgX1dJTjY0CitAQCAtOTAsNyArODksNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X21vdnNiCisgICAgIHBvcDMgICAgICAgIGVkaSBlc2kgZWN4CisgI2VuZGlmCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9tb3ZzZAorIDA6CitAQCAtMTEwLDcgKzEwOSw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbW92c2QKKyAgICAgcG9wMyAgICAgICAgZWRpIGVzaSBlY3gKKyAjZW5kaWYKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3NzZTIKKyAwOgorQEAgLTEyNyw3ICsxMjYsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3NzZTIKKyAwOgorQEAgLTE0NCw3ICsxNDMsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X3BmMzJfc3NlMgorIDA6CitAQCAtMTYzLDcgKzE2Miw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGYzMl9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9udF9wZjMyX3NzZTIKKyAwOgorQEAgLTE4Miw3ICsxODEsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3BmMzJfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfcGY2NF9zc2UyCisgMDoKK0BAIC0yMDAsNyArMTk5LDcgQEAgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfY29weV9wZjY0X3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19jb3B5X250X3BmNjRfc3NlMgorIDA6CitAQCAtMjE4LDcgKzIxNyw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2NvcHlfbnRfcGY2NF9zc2UyCisgICAgIHN1YiAgICAgICAgIFNJWkUsICAgICAgIDY0CisgICAgIGpnICAgICAgICAgIDBiCisgICAgIHJldAorLS5lbmRmdW5jCisrCisgCisgYXNtX2Z1bmN0aW9uIGFsaWduZWRfYmxvY2tfZmlsbF9zc2UyCisgICAgIG1vdmRxYSAgICAgIHhtbTAsICAgICAgIFtTUkMgKyAwXQorQEAgLTIzMSw3ICsyMzAsNyBAQCBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX3NzZTIKKyAgICAgc3ViICAgICAgICAgU0laRSwgICAgICAgNjQKKyAgICAgamcgICAgICAgICAgMGIKKyAgICAgcmV0CistLmVuZGZ1bmMKKysKKyAKKyBhc21fZnVuY3Rpb24gYWxpZ25lZF9ibG9ja19maWxsX250X3NzZTIKKyAgICAgbW92ZHFhICAgICAgeG1tMCwgICAgICAgW1NSQyArIDBdCitAQCAtMjQ0LDcgKzI0Myw3IEBAIGFzbV9mdW5jdGlvbiBhbGlnbmVkX2Jsb2NrX2ZpbGxfbnRfc3NlMgorICAgICBzdWIgICAgICAgICBTSVpFLCAgICAgICA2NAorICAgICBqZyAgICAgICAgICAwYgorICAgICByZXQKKy0uZW5kZnVuYworKworIAorIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYmVuY2htYXJrL3RpbnltZW1iZW5jaC90aW55bWVtYmVuY2hfZ2l0LmJiCmluZGV4IDhjYjU5ZGEuLjJjZTEwZjkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1iZW5jaG1hcmsvdGlueW1lbWJlbmNoL3RpbnltZW1iZW5jaF9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJlbmNobWFyay90aW55bWVtYmVuY2gvdGlueW1lbWJlbmNoX2dpdC5iYgpAQCAtOCw4ICs4LDEwIEBACiAKIFBWID0gIjAuNC4wK2dpdCR7U1JDUFZ9IgogCi1TUkNSRVYgPSAiMmM3ODk4NDk3MDlkODM3YjRiZDExNGMxMWVkMmQ5YmRjNjVhZmJjNiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zc3ZiL3RpbnltZW1iZW5jaC5naXQiCitTUkNSRVYgPSAiYTJjZjZkN2UzODJlM2FlYTFlYjM5MTczMTc0ZDlmYTI4Y2FkMTVmMyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zc3ZiL3RpbnltZW1iZW5jaC5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hc20tRGVsZXRlLS5mdW5jLS5lbmRmdW5jLWRpcmVjdGl2ZXMucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZWZpYm9vdG1ncl8wLjE2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDk3ZTA5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzAuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1ERVNDUklQVElPTiA9ICJMaW51eCB1c2VyLXNwYWNlIGFwcGxpY2F0aW9uIHRvIG1vZGlmeSB0aGUgRUZJIEJvb3QgTWFuYWdlci4iCi1TVU1NQVJZID0gIkVGSSBCb290IE1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nciIKLVNFQ1RJT04gPSAiYmFzZSIKLQotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKLQotREVQRU5EUyA9ICJwY2l1dGlscyB6bGliIGVmaXZhciIKLQotQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhcm18YWFyY2g2NCkuKi1saW51eCIKLQotU1JDUkVWID0gImE1MTAzMjUxYTExNjYzYWRkZGM4NWM4NmUwYjhkM2QzYjczY2JiNGEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvZWZpYm9vdG1nci5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgcGtnY29uZmlnCi0KLUVYVFJBX09FTUFLRSA9ICInRUZJRElSPS8nICdDQz0ke0NDfScgJ0NGTEFHUz0ke0NGTEFHU30gLUkke1N9L3NyYy9pbmNsdWRlIGBwa2ctY29uZmlnIC0tY2ZsYWdzIGVmaXZhcmAnIgotCi1DRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1lcnJvciIKLWRvX2luc3RhbGwgKCkgewotICAgIGluc3RhbGwgLUQgLXAgLW0wNzU1ICR7Qn0vc3JjL2VmaWJvb3RtZ3IgJHtEfS8ke3NiaW5kaXJ9L2VmaWJvb3RtZ3IKLX0KLQotQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZmlib290bWdyL2VmaWJvb3RtZ3JfMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVkYjJlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9lZmlib290bWdyXzE3LmJiCkBAIC0wLDAgKzEsMjggQEAKK0RFU0NSSVBUSU9OID0gIkxpbnV4IHVzZXItc3BhY2UgYXBwbGljYXRpb24gdG8gbW9kaWZ5IHRoZSBFRkkgQm9vdCBNYW5hZ2VyLiIKK1NVTU1BUlkgPSAiRUZJIEJvb3QgTWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitERVBFTkRTID0gInBjaXV0aWxzIHpsaWIgZWZpdmFyIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitTUkNSRVYgPSAiZTA2NzE2MGVjZWY4MjA4ZTE5NDQwMDJlNWQ1MGIyNzU3MzMyMTFmYiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyLmdpdDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1leHRyYS1kZWNsLnBhdGNoIFwKKyAgICAgICAgICAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IHBrZ2NvbmZpZworCitFWFRSQV9PRU1BS0UgPSAiJ0VGSURJUj0vJyAnQ0M9JHtDQ30nICdDRkxBR1M9JHtDRkxBR1N9IC1JJHtTfS9zcmMvaW5jbHVkZSBgcGtnLWNvbmZpZyAtLWNmbGFncyBlZml2YXJgJyIKKworQ0ZMQUdTX2FwcGVuZF90b29sY2hhaW4tY2xhbmcgPSAiIC1Xbm8tZXJyb3IiCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1EIC1wIC1tMDc1NSAke0J9L3NyYy9lZmlib290bWdyICR7RH0vJHtzYmluZGlyfS9lZmlib290bWdyCit9CisKK0NMRUFOQlJPS0VOID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZmlsZXMvMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpYm9vdG1nci9maWxlcy8wMDAxLXJlbW92ZS1leHRyYS1kZWNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZjNhODEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaWJvb3RtZ3IvZmlsZXMvMDAwMS1yZW1vdmUtZXh0cmEtZGVjbC5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDk5YjU3ODUwMTY0MzM3N2UwYjE5OTRiMmEwNjhiNzkwZDE4OWQ1YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDEzIEp1biAyMDE4IDA5OjQxOjAxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBleHRyYSBkZWNsCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIEpvbmVzIDxwam9uZXNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZmlib290bWdyLmdpdF0KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworLS0tCisgc3JjL2VmaWJvb3RtZ3IuYyB8IDMgLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZWZpYm9vdG1nci5jIGIvc3JjL2VmaWJvb3RtZ3IuYworaW5kZXggZGUzOGYwMS4uNGUxYTY4MCAxMDA2NDQKKy0tLSBhL3NyYy9lZmlib290bWdyLmMKKysrKyBiL3NyYy9lZmlib290bWdyLmMKK0BAIC0xNTM2LDkgKzE1MzYsNiBAQCBwYXJzZV9vcHRzKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCQkJCSAgICAgICAiaW52YWxpZCBudW1lcmljIHZhbHVlICVzXG4iLAorIAkJCQkJICAgICAgIG9wdGFyZyk7CisgCQkJfQorLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCBlZml2YXItMzYgYWNjaWRlbnRhbGx5IGRvZXNuJ3QgaGF2ZSBhIHB1YmxpYworLSAgICAgICAgICAgICAgICAgICAgICAgICAqIGhlYWRlciBmb3IgdGhpcyAqLworLQkJCWV4dGVybiBpbnQgZWZpX3NldF92ZXJib3NlKGludCB2ZXJib3NpdHksIEZJTEUgKmVycmxvZyk7CisgCQkJZWZpX3NldF92ZXJib3NlKG9wdHMudmVyYm9zZSAtIDIsIHN0ZGVycik7CisgCQkJYnJlYWs7CisgCQljYXNlICdWJzoKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9lZml2YXIvZWZpdmFyXzAuMzYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMC4zNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjA1ODhlZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMC4zNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbHMgdG8gbWFuaXB1bGF0ZSBVRUZJIHZhcmlhYmxlcyIKLURFU0NSSVBUSU9OID0gImVmaXZhciBwcm92aWRlcyBhIHNpbXBsZSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHRoZSBVRUZJIHZhcmlhYmxlIGZhY2lsaXR5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaXZhciIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY2MjZiYjFlMjAxODljZmE5NWYyYzUwOGJhMjg2MzkzIgotCi1ERVBFTkRTID0gInBvcHQiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGVmaXZhci1uYXRpdmUiCi0KLWluaGVyaXQgcGtnY29uZmlnCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YXJtfGFhcmNoNjQpLiotbGludXgiCi0KLVNSQ1JFViA9ICJlZjM0NDkyMjNlY2QxZTdiMTA5OGM1MjNkNjZiMmY5NjBmZTgzOWVhIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2VmaXZhci5naXQgXAotICAgICAgICAgICBmaWxlOi8vYWxsb3ctbXVsdGktZGVmaW5pdGlvbnMtZm9yLW5hdGl2ZS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtZWZpdmFyLWZpeC1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICdmaWxlOi8vMDAwNC1maXgtdW5rbm93LW9wdGlvbi1mb3ItZ29sZC1saW5rZXIucGF0Y2gnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2ZpeC1jb21waWxlLWZhaWx1cmUtd2l0aC1ob3N0LWdjYy00LjYucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgc2VkIC1pIC1lIHM6LVdlcnJvcjo6ZyAke1N9L2djYy5zcGVjcwotfQotCi1kb19jb21waWxlX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICBvZV9ydW5tYWtlIC1DIHNyYyBtYWtlZ3VpZHMgQ0NfRk9SX0JVSUxEPSIke0JVSUxEX0NDfSIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Ci19Ci0KLWRvX2luc3RhbGxfY2xhc3MtbmF0aXZlKCkgewotICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke0J9L3NyYy9tYWtlZ3VpZHMgJHtEfSR7YmluZGlyfS9tYWtlZ3VpZHMKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMzcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2VmaXZhci9lZml2YXJfMzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE1NmU3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvZWZpdmFyL2VmaXZhcl8zNy5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIlRvb2xzIHRvIG1hbmlwdWxhdGUgVUVGSSB2YXJpYWJsZXMiCitERVNDUklQVElPTiA9ICJlZml2YXIgcHJvdmlkZXMgYSBzaW1wbGUgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byB0aGUgVUVGSSB2YXJpYWJsZSBmYWNpbGl0eSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIiCisKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02NjI2YmIxZTIwMTg5Y2ZhOTVmMmM1MDhiYTI4NjM5MyIKKworREVQRU5EUyA9ICJwb3B0IgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBlZml2YXItbmF0aXZlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFybXxhYXJjaDY0KS4qLWxpbnV4IgorCitTUkNSRVYgPSAiYzFkNmIxMGUxZWQ0YmEyYmUwN2YzODVlYWU1YmNlYjY5NDQ3OGExMCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9lZml2YXIuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2FsbG93LW11bHRpLWRlZmluaXRpb25zLWZvci1uYXRpdmUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly8wMDAxLWVmaXZhci1maXgtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnZmlsZTovLzAwMDQtZml4LXVua25vdy1vcHRpb24tZm9yLWdvbGQtbGlua2VyLnBhdGNoJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9maXgtY29tcGlsZS1mYWlsdXJlLXdpdGgtaG9zdC1nY2MtNC42LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSBzOi1XZXJyb3I6OmcgJHtTfS9nY2Muc3BlY3MKK30KKworZG9fY29tcGlsZV9jbGFzcy1uYXRpdmUoKSB7CisgICAgb2VfcnVubWFrZSAtQyBzcmMgbWFrZWd1aWRzIENDX0ZPUl9CVUlMRD0iJHtCVUlMRF9DQ30iCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9zcmMvbWFrZWd1aWRzICR7RH0ke2JpbmRpcn0vbWFrZWd1aWRzCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWVmaXZhcmZzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29ycy8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzLzAwMDEtbG0tc2Vuc29ycy1maXgtc2Vuc29ycy1kZXRlY3QtY2FuLXQtcmVhZC10aGUtY3B1LWluZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDU3MDlmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29ycy8wMDAxLWxtLXNlbnNvcnMtZml4LXNlbnNvcnMtZGV0ZWN0LWNhbi10LXJlYWQtdGhlLWNwdS1pbmYucGF0Y2gKQEAgLTAsMCArMSw3NCBAQAorRnJvbSBkZDliNDBjNTRmMTYwYTQ0ZjFkNzhlNTk0NmQ0Y2QwMGE4ODUyODAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgU2VwIDIwMTYgMDM6MTc6MzIgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gbG0tc2Vuc29yczogZml4IHNlbnNvcnMtZGV0ZWN0IGNhbid0IHJlYWQgdGhlIGNwdSBpbmZvcm1hdGlvbgorIG9uIGZzbC10NHh4eAorCitUaGlzIGlzIGJlY2F1c2UgdHdvIHJlYXNvbnM6CisKKzEuIFRoZSBzZW5zb3JzLWRldGVjdCBwcm9ncmFtIGluIGxtLXNlbnNvcnMgZGVwZW5kcyBvbiB0aGUgZmlsZSAnL3Byb2MvY3B1aW5mbycsCisgICBkaWZmZXJlbnQgYXJjaCB3cml0ZSBkaWZmZXJlbnQgaW5mb21hdGlvbiB0byBpdC4gVGhhdCBwcm9ncmFtIHN1cHBvcnRzIHg4NgorICAgYW5kIHg4Ni02NCB3ZWxsLCBidXQgd2VhayBvbiBwcGMgYW5kIGFybS4KKworMi4gVGhlIHNlbnNvcnMtZGV0ZWN0IHByb2dyYW0gc2hvdyB0aGUgY3B1IGluZm9ybWF0aW9uIGp1c3QgZGVzaWduIGZvciBpbnRlbCdzCisgICBjcHUsIHdoZW4gbWVldHMgb3RoZXIgYXJjaCwgaXQgY2FuJ3Qgb3V0cHV0IHRoZSBjb3JyZWN0IGluZm9ybWF0aW9uLgorCitTbyB3ZSBuZWVkIHRvIGFkZCB0aGUgcHBjIGFuZCBhcm0gc3VwcG9ydCBmb3IgdGhpcyBwcm9ncmFtOgorCisxLiBhZGQgdGhlIHBwYyBjcHUgaW5mb3JtYXRpb24gZmllbGQgJ2NwdScgaW4gaW5pdGlhbGl6ZV9jcHVfbGlzdCBmdW5jdGlvbi4KKworMi4gYWRkIHRoZSBjb3JyZXNwb25kIGNhc2Ugb2YgcHBjIGFuZCBhcm0gd2hlbiBwcmludCBjcHUgaW5mb3JtYXRpb24gaW4KKyAgIHByaW50X2NwdV9pbmZvIGZ1bmN0aW9uLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHByb2cvZGV0ZWN0L3NlbnNvcnMtZGV0ZWN0IHwgMTEgKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvcHJvZy9kZXRlY3Qvc2Vuc29ycy1kZXRlY3QgYi9wcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdAoraW5kZXggNWY2MjQwNS4uYWU0ZGVmMSAxMDA3NTUKKy0tLSBhL3Byb2cvZGV0ZWN0L3NlbnNvcnMtZGV0ZWN0CisrKysgYi9wcm9nL2RldGVjdC9zZW5zb3JzLWRldGVjdAorQEAgLTI4MzMsNiArMjgzMyw3IEBAIHN1YiBrZXJuZWxfdmVyc2lvbl9hdF9sZWFzdAorICMgbW9kZWwgbmFtZSBhbmQgc3RlcHBpbmcsIGRpcmVjdGx5IHRha2VuIGZyb20gL3Byb2MvY3B1aW5mby4KKyB1c2UgdmFycyBxdyhAY3B1KTsKKyAKKysjIFRoZSBhZGRlZCBmaWVsZCAnY3B1JyBpcyBmb3Igc3VwcG9ydCB0aGUgcHBjLgorIHN1YiBpbml0aWFsaXplX2NwdV9saXN0CisgeworIAlsb2NhbCAkXzsKK0BAIC0yODQ4LDcgKzI4NDksNyBAQCBzdWIgaW5pdGlhbGl6ZV9jcHVfbGlzdAorIAkJCX07CisgCQkJbmV4dDsKKyAJCX0KKy0JCWlmIChtL14odmVuZG9yX2lkfGNwdSBmYW1pbHl8bW9kZWx8bW9kZWwgbmFtZXxzdGVwcGluZ3xjcHVpZCBsZXZlbClccyo6XHMqKC4rKSQvKSB7CisrCQlpZiAobS9eKHZlbmRvcl9pZHxjcHUgZmFtaWx5fG1vZGVsfG1vZGVsIG5hbWV8c3RlcHBpbmd8Y3B1aWQgbGV2ZWx8Y3B1fHJldmlzaW9uKVxzKjpccyooLispJC8pIHsKKyAJCQlteSAkayA9ICQxOworIAkJCW15ICR2ID0gJDI7CisgCQkJJHYgPX4gcy9ccysvIC9nOwkjIE1lcmdlIG11bHRpcGxlIHNwYWNlcworQEAgLTI4NjEsMTIgKzI4NjIsMjAgQEAgc3ViIGluaXRpYWxpemVfY3B1X2xpc3QKKyAJcHVzaCBAY3B1LCAkZW50cnkgaWYgc2NhbGFyIGtleXMoJXskZW50cnl9KTsgIyBMYXN0IGVudHJ5CisgfQorIAorKyMgVGhlIGZpZWxkICdtb2RlbCBuYW1lJyBpcyBmb3IgQVJNLgorKyMgVGhlIGZpZWxkICdjcHUnIGlzIGZvciBwcGMuCisgc3ViIHByaW50X2NwdV9pbmZvCisgeworIAlteSAkY3B1ID0gJGNwdVswXTsKKyAJaWYgKCAkY3B1LT57J21vZGVsIG5hbWUnfSAmJiAkY3B1LT57J2NwdSBmYW1pbHknfSAmJiAkY3B1LT57bW9kZWx9ICYmICRjcHUtPntzdGVwcGluZ30gKSB7CisgCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnbW9kZWwgbmFtZSd9ICgkY3B1LT57J2NwdSBmYW1pbHknfS8kY3B1LT57bW9kZWx9LyRjcHUtPntzdGVwcGluZ30pXG4iOworIAl9CisrCWVsc2lmICggJGNwdS0+eydtb2RlbCBuYW1lJ30gKSB7CisrCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnbW9kZWwgbmFtZSd9XG4iOworKwl9CisrCWVsc2lmICggJGNwdS0+eydjcHUnfSAmJiAkY3B1LT57J3JldmlzaW9uJ30gKSB7CisrCQlwcmludCAiIyBQcm9jZXNzb3I6ICRjcHUtPnsnY3B1J30gJGNwdS0+eydyZXZpc2lvbid9XG4iOworKwl9CisgCWVsc2UgeworIAkJcHJpbnQgIiMgUHJvY2Vzc29yOiBUaGVyZSBpc24ndCBlbm91Z2ggY3B1IGluZm8gZm9yIHRoaXMgYXJjaCEhIVxuIjsKKyAJfQorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWJzcC9sbV9zZW5zb3JzL2xtc2Vuc29yc18zLjQuMC5iYgppbmRleCBmZmFiNWQ2Li40ZGJlZjczIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtYnNwL2xtX3NlbnNvcnMvbG1zZW5zb3JzXzMuNC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ic3AvbG1fc2Vuc29ycy9sbXNlbnNvcnNfMy40LjAuYmIKQEAgLTEyLDYgKzEyLDcgQEAKICAgICAgICAgICAgZmlsZTovL3NlbnNvcmQuaW5pdCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxtc2Vuc29ycy1zZW5zb3JzLWRldGVjdC1wcmludC1hLXNwZWNpYWwtbWVzc2FnZS13aGUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1wcm9nLURvLW5vdC1saW1pdC1zeXMtaW8uaC1oZWFkZXItaW5jbHVkZS10by1qdXN0LWdsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbG0tc2Vuc29ycy1maXgtc2Vuc29ycy1kZXRlY3QtY2FuLXQtcmVhZC10aGUtY3B1LWluZi5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiMWU5ZjExN2NiZmExMWJlMTk1NWFkYzk2ZGY3MWVhZGIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTMzNGMxYzJiMDZmNzI5MGUzZTY2YmRhZTMzMGE1ZDM2MDU0NzAxZmZkNDdhNWRkZTdhMDZmOWE3NDAyY2I0ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaG9zdGFwZC9ob3N0YXBkL2RlZmNvbmZpZwppbmRleCAyNzg5NjQwLi5hNjJiZWM0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2hvc3RhcGQvaG9zdGFwZC9kZWZjb25maWcKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ob3N0YXBkL2hvc3RhcGQvZGVmY29uZmlnCkBAIC0xMzksNiArMTM5LDkgQEAKICMgSUVFRSA4MDIuMTFuIChIaWdoIFRocm91Z2hwdXQpIHN1cHBvcnQKIENPTkZJR19JRUVFODAyMTFOPXkKIAorIyBJRUVFIDgwMi4xMWFjIChWZXJ5IEhpZ2ggVGhyb3VnaHB1dCkgc3VwcG9ydAorQ09ORklHX0lFRUU4MDIxMUFDPXkKKwogIyBSZW1vdmUgZGVidWdnaW5nIGNvZGUgdGhhdCBpcyBwcmludGluZyBvdXQgZGVidWcgbWVzc2FnZXMgdG8gc3Rkb3V0LgogIyBUaGlzIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgaG9zdGFwZCBjb25zaWRlcmFibHkgaWYgZGVidWdnaW5nCiAjIGNvZGUgaXMgbm90IG5lZWRlZC4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4wLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lyc3NpL2lyc3NpXzEuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGIwNGJiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4wLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIm5jdXJzZXMgSVJDIGNsaWVudCIKLURFU0NSSVBUSU9OID0gIklyc3NpIGlzIGFuIG5jdXJzZXMgSVJDIGNsaWVudCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWZkYzExMTMzMDYxNjdkNmVhMjU2MTQwNGNlMDJmOCIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBuY3Vyc2VzIG9wZW5zc2wiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IgotU1JDX1VSSVttZDVzdW1dID0gIjQ2ZDRhYzJhN2FiNDcyZTVkYzgwMGU1ZDdiZDlhODc5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4NWMwN2RiYWZlMTc4MjEzZWNjZGM2OWY1ZjhmMGFjMDI0ZGVhMDFjNjcyNDQ2NjhmOTFlYzFjMDZiOTg2Y2EiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC10ZXh0dWkgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtcHJveHkgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtYm90IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLXBlcmw9bm8gXAotICAgICAgICAgICAgICAgICAtLWVuYWJsZS10cnVlLWNvbG9yIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcnNzaS9pcnNzaV8xLjEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI4NjdlOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXJzc2kvaXJzc2lfMS4xLjIuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJuY3Vyc2VzIElSQyBjbGllbnQiCitERVNDUklQVElPTiA9ICJJcnNzaSBpcyBhbiBuY3Vyc2VzIElSQyBjbGllbnQiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVmZGMxMTEzMzA2MTY3ZDZlYTI1NjE0MDRjZTAyZjgiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbmN1cnNlcyBvcGVuc3NsIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyNzFkMmZkODc1Y2RkZDM0NTI2MjM0ZDhhNzY2ZDgyYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1Y2NjMmI4OWEzOTRlOTFiZWEwYWE4M2E5NTFjM2IxZDQ3MWM3NmRhODdiNDE2OWVjNDM1NTMwYTMxYmY5NzMyIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdGV4dHVpIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLXByb3h5IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWJvdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1wZXJsPW5vIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtdHJ1ZS1jb2xvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXdkL2l3ZF8wLjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pd2QvaXdkXzAuMTQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRmYmVkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXdkL2l3ZF8wLjE0LmJiCkBAIC0wLDAgKzEsMzEgQEAKK0RFU0NSSVBUSU9OID0gIldpcmVsZXNzIGRhZW1vbiBmb3IgTGludXgiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK0RFUEVORFMgPSAiZWxsIHJlYWRsaW5lIGRidXMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL3dpcmVsZXNzL2l3ZC5naXQiCitTUkNSRVYgPSAiZjg3MTU5OTY0Y2Y4ZmQ5Zjg1YjA2OTlkNTBlNGEwNTFkNGY3Yzk0OCIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1t3aXJlZF0gPSAiLS1lbmFibGUtd2lyZWQsLS1kaXNhYmxlLXdpcmVkIgorUEFDS0FHRUNPTkZJR1tvZm9ub10gPSAiLS1lbmFibGUtb2Zvbm8sLS1kaXNhYmxlLW9mb25vIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZC11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQtc2VydmljZSxzeXN0ZW1kIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWV4dGVybmFsLWVsbCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIG1rZGlyIC1wICR7U30vYnVpbGQtYXV4Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIG1rZGlyIC0tcGFyZW50cyAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW02NDQgJHtTfS9kb2MvKi50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiaXdkLnNlcnZpY2UgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnd2lyZWQnLCAnZWFkLnNlcnZpY2UnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTc0OGNiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4OCArMCwwIEBACi1TVU1NQVJZID0gIkEgbmV0d29yayBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCIKLURFU0NSSVBUSU9OID0gIktlcmJlcm9zIGlzIGEgc3lzdGVtIGZvciBhdXRoZW50aWNhdGluZyB1c2VycyBhbmQgc2VydmljZXMgb24gYSBuZXR3b3JrLiBcCi0gS2VyYmVyb3MgaXMgYSB0cnVzdGVkIHRoaXJkLXBhcnR5IHNlcnZpY2UuICBUaGF0IG1lYW5zIHRoYXQgdGhlcmUgaXMgYSBcCi0gdGhpcmQgcGFydHkgKHRoZSBLZXJiZXJvcyBzZXJ2ZXIpIHRoYXQgaXMgdHJ1c3RlZCBieSBhbGwgdGhlIGVudGl0aWVzIG9uIFwKLSB0aGUgbmV0d29yayAodXNlcnMgYW5kIHNlcnZpY2VzLCB1c3VhbGx5IGNhbGxlZCAicHJpbmNpcGFscyIpLiBcCi0gLiBcCi0gVGhpcyBpcyB0aGUgTUlUIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBLZXJiZXJvcyBWNS4gXAotIC4gXAotIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgS2VyYmVyb3Mga2V5IHNlcnZlciAoS0RDKS4gIFRoZSBLREMgbWFuYWdlcyBhbGwgXAotIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGZvciBhIEtlcmJlcm9zIHJlYWxtLCBob2xkcyB0aGUgbWFzdGVyIGtleXMgXAotIGZvciB0aGUgcmVhbG0sIGFuZCByZXNwb25kcyB0byBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cy4gIFRoaXMgcGFja2FnZSBcCi0gc2hvdWxkIGJlIGluc3RhbGxlZCBvbiBib3RoIG1hc3RlciBhbmQgc2xhdmUgS0RDcy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93ZWIubWl0LmVkdS9LZXJiZXJvcy8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS8uLi9OT1RJQ0U7bWQ1PTdmOTViYzNkOGQwMzUxYWE0ODFkNTZkNWU5ZGUyMGMzIgotREVQRU5EUyA9ICJiaXNvbi1uYXRpdmUgbmN1cnNlcyB1dGlsLWxpbnV4IGUyZnNwcm9ncyBlMmZzcHJvZ3MtbmF0aXZlIG9wZW5zc2wiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBiaW5jb25maWcgcGVybG5hdGl2ZSBzeXN0ZW1kIHVwZGF0ZS1yYy5kCi0KLVNIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi1TUkNfVVJJID0gImh0dHA6Ly93ZWIubWl0LmVkdS9rZXJiZXJvcy9kaXN0LyR7QlBOfS8ke1NIUlRfVkVSfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hY2xvY2FsLUFkZC1wYXJhbWV0ZXItdG8tZGlzYWJsZS1rZXl1dGlscy1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLXN1cHByZXNzLXVzci1saWItaW4ta3JiNS1jb25maWcucGF0Y2g7c3RyaXBsZXZlbD0yIFwKLSAgICAgICAgICAgZmlsZTovL2Nyb3NzY29tcGlsZV9ubS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ldGMvaW5pdC5kL2tyYjUta2RjIFwKLSAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1rZGMgXAotICAgICAgICAgICBmaWxlOi8vZXRjL2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICBmaWxlOi8va3JiNS1rZGMuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4NDhlOWI4MGQ2YWFhYTc5OGUzZjNkZjI0YjgzYzQwNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMTRmZmUzOTRlM2FkMGM3MzA1NjQwNzRlYzQ0ZjFkYTExOTE1OWQ5NDI4MWJiZWM1NDFkYzI5MTY4ZDIxMTE3IgotCi1DVkVfUFJPRFVDVCA9ICJrZXJiZXJvcyIKLQotUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLWxpYmVkaXQsLS13aXRob3V0LWxpYmVkaXQsbGliZWRpdCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0by1pbXBsPW9wZW5zc2wsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2tleXV0aWxzXSA9ICItLWVuYWJsZS1rZXl1dGlscywtLWRpc2FibGUta2V5dXRpbHMsa2V5dXRpbHMiCi1QQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKLQotRVhUUkFfT0VDT05GICs9ICIgLS13aXRob3V0LXRjbCAtLXdpdGgtc3lzdGVtLWV0IC0tZGlzYWJsZS1ycGF0aCIKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJrcmI1X2N2X2F0dHJfY29uc3RydWN0b3JfZGVzdHJ1Y3Rvcj15ZXMgYWNfY3ZfZnVuY19yZWdjb21wPXllcyBcCi0gICAgICAgICAgICAgICAgICBhY19jdl9wcmludGZfcG9zaXRpb25hbD15ZXMgYWNfY3ZfZmlsZV9fZXRjX2Vudmlyb25tZW50PXllcyBcCi0gICAgICAgICAgICAgICAgICBhY19jdl9maWxlX19ldGNfVElNRVpPTkU9bm8iCi0KLUNGTEFHU19hcHBlbmQgPSAiIC1mUElDIC1EREVTVFJVQ1RPUl9BVFRSX1dPUktTPTEgLUkke1NUQUdJTkdfSU5DRElSfS9ldCIKLUNGTEFHU19hcHBlbmRfcmlzY3Y2NCA9ICIgLURfUkVFTlRSQU5UIC1wdGhyZWFkIgotTERGTEFHU19hcHBlbmQgPSAiIC1wdGhyZWFkIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgZ251LWNvbmZpZ2l6ZSAtLWZvcmNlCi0gICAgYXV0b3JlY29uZgotICAgIG9lX3J1bmNvbmYKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9ydW4KLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3NjbGllbnQKLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3NpbV9jbGllbnQKLSAgICBybSAtZiAke0R9JHtiaW5kaXJ9L3V1Y2xpZW50Ci0gICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0va3JiNS1zZW5kLXByCi0gICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vc2ltX3NlcnZlcgotICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3NzZXJ2ZXIKLSAgICBybSAtZiAke0R9JHtzYmluZGlyfS91dXNlcnZlcgotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLSAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZXRjL2luaXQuZC8qICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZXRjL2RlZmF1bHQvKiAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAotCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwotICAgICAgICBlY2hvICJkIHJvb3Qgcm9vdCAwNzU1ICR7bG9jYWxzdGF0ZWRpcn0vcnVuL2tyYjVrZGMgbm9uZSIgXAotICAgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzg3X2tyYjUKLQotICAgICAgICBlY2hvICJSVU5fS0FETUlORD10cnVlIiA+PiAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlcgotICAgIGZpCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0gICAgICAgIGVjaG8gImQgL3J1bi9rcmI1a2RjIC0gLSAtIC0iIFwKLSAgICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgotCi0gICAgICAgIG1rZGlyIC1wICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2V0Yy9kZWZhdWx0LyogJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKLQotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va3JiNS1rZGMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICAgICR7UE59LWdzcy1zYW1wbGVzIFwKLSAgICAgICAgICAgICAke1BOfS1rNXRscyBcCi0gICAgICAgICAgICAgJHtQTn0ta2RjIFwKLSAgICAgICAgICAgICAke1BOfS1rZGMtbGRhcCBcCi0gICAgICAgICAgICAgJHtQTn0ta3Byb3BkIFwKLSAgICAgICAgICAgICAke1BOfS1vdHAgXAotICAgICAgICAgICAgICR7UE59LXBraW5pdCBcCi0gICAgICAgICAgICAgJHtQTn0tdXNlciBcCi0gICAgICAgICAgICAgbGliZ3NzYXBpLWtyYjUgXAotICAgICAgICAgICAgIGxpYmdzc3JwYyBcCi0gICAgICAgICAgICAgbGliazVjcnlwdG8gXAotICAgICAgICAgICAgIGxpYmthZG01Y2xudC1taXQgXAotICAgICAgICAgICAgIGxpYmthZG01c3J2LW1pdCBcCi0gICAgICAgICAgICAgbGlia2RiNSBcCi0gICAgICAgICAgICAgbGlia3JhZCBcCi0gICAgICAgICAgICAgbGlia3JiNSBcCi0gICAgICAgICAgICAgbGlia3JiNXN1cHBvcnQgXAotICAgICAgICAgICAgIGxpYnZlcnRvIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvdGVzdC5zbyIKLUZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9leGFtcGxlcyIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy8qLy5kZWJ1ZyIKLQotRklMRVNfJHtQTn0tYWRtaW4tc2VydmVyID0gIiR7c2JpbmRpcn0va2FkbWluLmxvY2FsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2thZG1pbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va3Byb3AgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1hZG1pbi1zZXJ2ZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKLQotRklMRVNfJHtQTn0tZ3NzLXNhbXBsZXMgPSAiJHtiaW5kaXJ9L2dzcy1jbGllbnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9nc3Mtc2VydmVyIgotCi1GSUxFU18ke1BOfS1rNXRscyA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3Rscy9rNXRscy5zbyIKLQotRklMRVNfJHtQTn0ta2RjID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMva2RiL2RiMi5zbyBcCi0gICAgICAgICAgICAgICAgICAgJHtsb2NhbHN0YXRlZGlyfS9rcmI1a2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tkYjVfdXRpbCBcCi0gICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcHJvcGxvZyBcCi0gICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcmI1a2RjIFwKLSAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1rZGMgXAotICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvODdfa3JiNSBcCi0gICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva3JiNS1rZGMgXAotICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYgXAotICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0va3JiNS1rZGMuc2VydmljZSIKLQotRklMRVNfJHtQTn0ta2RjLWxkYXAgPSAiJHtsaWJkaXJ9L2tyYjUvbGlia2RiX2xkYXAke1NPTElCU30gXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9rZGIva2xkYXAuc28gXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rZGI1X2xkYXBfdXRpbCIKLQotRklMRVNfJHtQTn0ta3Byb3BkID0gIiR7c2JpbmRpcn0va3Byb3BkIgotRklMRVNfJHtQTn0tb3RwID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC9vdHAuc28iCi1GSUxFU18ke1BOfS1wa2luaXQgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC5zbyIKLUZJTEVTXyR7UE59LXVzZXIgPSAiJHtiaW5kaXJ9L2sqIgotCi1GSUxFU19saWJnc3NhcGkta3JiNSA9ICIke2xpYmRpcn0vbGliZ3NzYXBpX2tyYjUke1NPTElCU30iCi1GSUxFU19saWJnc3NycGMgPSAiJHtsaWJkaXJ9L2xpYmdzc3JwYyR7U09MSUJTfSIKLUZJTEVTX2xpYms1Y3J5cHRvID0gIiR7bGliZGlyfS9saWJrNWNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYmthZG01Y2xudC1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01Y2xudF9taXQke1NPTElCU30iCi1GSUxFU19saWJrYWRtNXNydi1taXQgPSAiJHtsaWJkaXJ9L2xpYmthZG01c3J2X21pdCR7U09MSUJTfSIKLUZJTEVTX2xpYmtkYjUgPSAiJHtsaWJkaXJ9L2xpYmtkYjUke1NPTElCU30iCi1GSUxFU19saWJrcmFkID0gIiR7bGliZGlyfS9saWJrcmFkJHtTT0xJQlN9IgotRklMRVNfbGlia3JiNSA9ICIke2xpYmRpcn0vbGlia3JiNSR7U09MSUJTfSBcCi0gICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMvYXV0aGRhdGEgXAotICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2xpYmtyYjUiCi1GSUxFU19saWJrcmI1c3VwcG9ydCA9ICIke2xpYmRpcn0vbGlia3JiNXN1cHBvcnQke1NPTElCU30iCi1GSUxFU19saWJ2ZXJ0byA9ICIke2xpYmRpcn0vbGlidmVydG8ke1NPTElCU30iCi0KLVJERVBFTkRTXyR7UE59LWthZG1pbi1zZXJ2ZXIgPSAiJHtQTn0ta2RjIgotUkRFUEVORFNfJHtQTn0ta3Byb3BkID0gIiR7UE59LWtkYyIKLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1hZG1pbi1zZXJ2ZXIgJHtQTn0ta2RjIgotSU5JVFNDUklQVF9OQU1FXyR7UE59LWFkbWluLXNlcnZlciA9ICJrcmI1LWFkbWluLXNlcnZlciIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMiCi0KLVNZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tYWRtaW4tc2VydmVyICR7UE59LWtkYyIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAia3JiNS1hZG1pbi1zZXJ2ZXIuc2VydmljZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1rZGMgPSAia3JiNS1rZGMuc2VydmljZSIKLQotcGtnX3Bvc3RpbnN0XyR7UE59LWtkYyAoKSB7Ci0gICAgaWYgWyAteiAiJEQiIF07IHRoZW4KLSAgICAgICAgaWYgY29tbWFuZCAtdiBzeXN0ZW1kLXRtcGZpbGVzID4vZGV2L251bGw7IHRoZW4KLSAgICAgICAgICAgIHN5c3RlbWQtdG1wZmlsZXMgLS1jcmVhdGUgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZgotICAgICAgICBlbGlmIFsgLWUgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXTsgdGhlbgotICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCi0gICAgICAgIGZpCi0gICAgZmkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9rcmI1L2tyYjVfMS4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTI3YTRhZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkva3JiNS9rcmI1XzEuMTcuYmIKQEAgLTAsMCArMSwxOTIgQEAKK1NVTU1BUlkgPSAiQSBuZXR3b3JrIGF1dGhlbnRpY2F0aW9uIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAiS2VyYmVyb3MgaXMgYSBzeXN0ZW0gZm9yIGF1dGhlbnRpY2F0aW5nIHVzZXJzIGFuZCBzZXJ2aWNlcyBvbiBhIG5ldHdvcmsuIFwKKyBLZXJiZXJvcyBpcyBhIHRydXN0ZWQgdGhpcmQtcGFydHkgc2VydmljZS4gIFRoYXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBhIFwKKyB0aGlyZCBwYXJ0eSAodGhlIEtlcmJlcm9zIHNlcnZlcikgdGhhdCBpcyB0cnVzdGVkIGJ5IGFsbCB0aGUgZW50aXRpZXMgb24gXAorIHRoZSBuZXR3b3JrICh1c2VycyBhbmQgc2VydmljZXMsIHVzdWFsbHkgY2FsbGVkICJwcmluY2lwYWxzIikuIFwKKyAuIFwKKyBUaGlzIGlzIHRoZSBNSVQgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIEtlcmJlcm9zIFY1LiBcCisgLiBcCisgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBLZXJiZXJvcyBrZXkgc2VydmVyIChLREMpLiAgVGhlIEtEQyBtYW5hZ2VzIGFsbCBcCisgYXV0aGVudGljYXRpb24gY3JlZGVudGlhbHMgZm9yIGEgS2VyYmVyb3MgcmVhbG0sIGhvbGRzIHRoZSBtYXN0ZXIga2V5cyBcCisgZm9yIHRoZSByZWFsbSwgYW5kIHJlc3BvbmRzIHRvIGF1dGhlbnRpY2F0aW9uIHJlcXVlc3RzLiAgVGhpcyBwYWNrYWdlIFwKKyBzaG91bGQgYmUgaW5zdGFsbGVkIG9uIGJvdGggbWFzdGVyIGFuZCBzbGF2ZSBLRENzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3dlYi5taXQuZWR1L0tlcmJlcm9zLyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9Ly4uL05PVElDRTttZDU9YWZmNTQxZTcyNjFmMTkyNmFjNmEyYTlhN2JiYWI4MzkiCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBuY3Vyc2VzIHV0aWwtbGludXggZTJmc3Byb2dzIGUyZnNwcm9ncy1uYXRpdmUgb3BlbnNzbCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGJpbmNvbmZpZyBwZXJsbmF0aXZlIHN5c3RlbWQgdXBkYXRlLXJjLmQKKworU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKK1NSQ19VUkkgPSAiaHR0cDovL3dlYi5taXQuZWR1L2tlcmJlcm9zL2Rpc3QvJHtCUE59LyR7U0hSVF9WRVJ9LyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjbG9jYWwtQWRkLXBhcmFtZXRlci10by1kaXNhYmxlLWtleXV0aWxzLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4tc3VwcHJlc3MtdXNyLWxpYi1pbi1rcmI1LWNvbmZpZy5wYXRjaDtzdHJpcGxldmVsPTIgXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3Njb21waWxlX25tLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2V0Yy9pbml0LmQva3JiNS1rZGMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2luaXQuZC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvZGVmYXVsdC9rcmI1LWtkYyBcCisgICAgICAgICAgIGZpbGU6Ly9ldGMvZGVmYXVsdC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgIGZpbGU6Ly9rcmI1LWtkYy5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2tyYjUtYWRtaW4tc2VydmVyLnNlcnZpY2UgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjNiNzI5ZDg5ZWI0NDExNTBlMTQ2NzgwYzQxMzg0ODFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhNmUyMjg0YTUzZGU1NzAyZDNkYzJiZTNiOTMzOWM5NjNmOWI1Mzk3ZDNmYmJjNTNiZWIyNDkzODBhNzgxZjUiCisKK0NWRV9QUk9EVUNUID0gImtlcmJlcm9zIgorQ1ZFX1ZFUlNJT04gPSAiNS0ke1BWfSIKKworUyA9ICIke1dPUktESVJ9LyR7QlB9L3NyYyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInBraW5pdCIKK1BBQ0tBR0VDT05GSUdbbGliZWRpdF0gPSAiLS13aXRoLWxpYmVkaXQsLS13aXRob3V0LWxpYmVkaXQsbGliZWRpdCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0by1pbXBsPW9wZW5zc2wsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2tleXV0aWxzXSA9ICItLWVuYWJsZS1rZXl1dGlscywtLWRpc2FibGUta2V5dXRpbHMsa2V5dXRpbHMiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdbcGtpbml0XSA9ICItLWVuYWJsZS1wa2luaXQsIC0tZGlzYWJsZS1wa2luaXQiCisKK0VYVFJBX09FQ09ORiArPSAiIC0td2l0aG91dC10Y2wgLS13aXRoLXN5c3RlbS1ldCAtLWRpc2FibGUtcnBhdGgiCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAia3JiNV9jdl9hdHRyX2NvbnN0cnVjdG9yX2Rlc3RydWN0b3I9eWVzIGFjX2N2X2Z1bmNfcmVnY29tcD15ZXMgXAorICAgICAgICAgICAgICAgICAgYWNfY3ZfcHJpbnRmX3Bvc2l0aW9uYWw9eWVzIGFjX2N2X2ZpbGVfX2V0Y19lbnZpcm9ubWVudD15ZXMgXAorICAgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZXRjX1RJTUVaT05FPW5vIgorCitDRkxBR1NfYXBwZW5kID0gIiAtZlBJQyAtRERFU1RSVUNUT1JfQVRUUl9XT1JLUz0xIC1JJHtTVEFHSU5HX0lOQ0RJUn0vZXQiCitDRkxBR1NfYXBwZW5kX3Jpc2N2NjQgPSAiIC1EX1JFRU5UUkFOVCAtcHRocmVhZCIKK0xERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGdudS1jb25maWdpemUgLS1mb3JjZQorICAgIGF1dG9yZWNvbmYKKyAgICBvZV9ydW5jb25mCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtIC1yZiAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zY2xpZW50CisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS9zaW1fY2xpZW50CisgICAgcm0gLWYgJHtEfSR7YmluZGlyfS91dWNsaWVudAorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L2tyYjUtc2VuZC1wcgorICAgIHJtIC1mICR7RH0ke3NiaW5kaXJ9L3NpbV9zZXJ2ZXIKKyAgICBybSAtZiAke0R9JHtzYmluZGlyfS9zc2VydmVyCisgICAgcm0gLWYgJHtEfSR7c2JpbmRpcn0vdXVzZXJ2ZXIKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2V0Yy9pbml0LmQvKiAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2V0Yy9kZWZhdWx0LyogJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKworICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKKyAgICAgICAgZWNobyAiZCByb290IHJvb3QgMDc1NSAke2xvY2Fsc3RhdGVkaXJ9L3J1bi9rcmI1a2RjIG5vbmUiIFwKKyAgICAgICAgICAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy84N19rcmI1CisKKyAgICAgICAgZWNobyAiUlVOX0tBRE1JTkQ9dHJ1ZSIgPj4gJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQva3JiNS1hZG1pbi1zZXJ2ZXIKKyAgICBmaQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBlY2hvICJkIC9ydW4va3JiNWtkYyAtIC0gLSAtIiBcCisgICAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9rcmI1LmNvbmYKKworICAgICAgICBta2RpciAtcCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdAorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ldGMvZGVmYXVsdC8qICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2tyYjUta2RjLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KKyAgICBmaQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tYWRtaW4tc2VydmVyIFwKKyAgICAgICAgICAgICAke1BOfS1nc3Mtc2FtcGxlcyBcCisgICAgICAgICAgICAgJHtQTn0tazV0bHMgXAorICAgICAgICAgICAgICR7UE59LWtkYyBcCisgICAgICAgICAgICAgJHtQTn0ta2RjLWxkYXAgXAorICAgICAgICAgICAgICR7UE59LWtwcm9wZCBcCisgICAgICAgICAgICAgJHtQTn0tb3RwIFwKKyAgICAgICAgICAgICAke1BOfS1wa2luaXQgXAorICAgICAgICAgICAgICR7UE59LXNwYWtlIFwKKyAgICAgICAgICAgICAke1BOfS11c2VyIFwKKyAgICAgICAgICAgICBsaWJnc3NhcGkta3JiNSBcCisgICAgICAgICAgICAgbGliZ3NzcnBjIFwKKyAgICAgICAgICAgICBsaWJrNWNyeXB0byBcCisgICAgICAgICAgICAgbGlia2FkbTVjbG50LW1pdCBcCisgICAgICAgICAgICAgbGlia2FkbTVzcnYtbWl0IFwKKyAgICAgICAgICAgICBsaWJrZGI1IFwKKyAgICAgICAgICAgICBsaWJrcmFkIFwKKyAgICAgICAgICAgICBsaWJrcmI1IFwKKyAgICAgICAgICAgICBsaWJrcmI1c3VwcG9ydCBcCisgICAgICAgICAgICAgbGlidmVydG8iCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvcHJlYXV0aC90ZXN0LnNvIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2V4YW1wbGVzIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zLyovLmRlYnVnIgorCitGSUxFU18ke1BOfS1hZG1pbi1zZXJ2ZXIgPSAiJHtzYmluZGlyfS9rYWRtaW4ubG9jYWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va2FkbWluZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9rcHJvcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L2tyYjUtYWRtaW4tc2VydmVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9rcmI1LWFkbWluLXNlcnZlciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9rcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1nc3Mtc2FtcGxlcyA9ICIke2JpbmRpcn0vZ3NzLWNsaWVudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2dzcy1zZXJ2ZXIiCisKK0ZJTEVTXyR7UE59LWs1dGxzID0gIiR7bGliZGlyfS9rcmI1L3BsdWdpbnMvdGxzL2s1dGxzLnNvIgorCitGSUxFU18ke1BOfS1rZGMgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9rZGIvZGIyLnNvIFwKKyAgICAgICAgICAgICAgICAgICAke2xvY2Fsc3RhdGVkaXJ9L2tyYjVrZGMgXAorICAgICAgICAgICAgICAgICAgICR7c2JpbmRpcn0va2RiNV91dGlsIFwKKyAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2twcm9wbG9nIFwKKyAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tyYjVrZGMgXAorICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGVmYXVsdC9rcmI1LWtkYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy84N19rcmI1IFwKKyAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9rcmI1LWtkYyBcCisgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2tyYjUuY29uZiBcCisgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9rcmI1LWtkYy5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1rZGMtbGRhcCA9ICIke2xpYmRpcn0va3JiNS9saWJrZGJfbGRhcCR7U09MSUJTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0va3JiNS9wbHVnaW5zL2tkYi9rbGRhcC5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2tkYjVfbGRhcF91dGlsIgorCitGSUxFU18ke1BOfS1rcHJvcGQgPSAiJHtzYmluZGlyfS9rcHJvcGQiCitGSUxFU18ke1BOfS1vdHAgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL290cC5zbyIKK0ZJTEVTXyR7UE59LXBraW5pdCA9ICIke2xpYmRpcn0va3JiNS9wbHVnaW5zL3ByZWF1dGgvcGtpbml0LnNvIgorRklMRVNfJHtQTn0tc3Bha2UgPSAiJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9wcmVhdXRoL3NwYWtlLnNvIgorRklMRVNfJHtQTn0tdXNlciA9ICIke2JpbmRpcn0vayoiCisKK0ZJTEVTX2xpYmdzc2FwaS1rcmI1ID0gIiR7bGliZGlyfS9saWJnc3NhcGlfa3JiNSR7U09MSUJTfSIKK0ZJTEVTX2xpYmdzc3JwYyA9ICIke2xpYmRpcn0vbGliZ3NzcnBjJHtTT0xJQlN9IgorRklMRVNfbGliazVjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYms1Y3J5cHRvJHtTT0xJQlN9IgorRklMRVNfbGlia2FkbTVjbG50LW1pdCA9ICIke2xpYmRpcn0vbGlia2FkbTVjbG50X21pdCR7U09MSUJTfSIKK0ZJTEVTX2xpYmthZG01c3J2LW1pdCA9ICIke2xpYmRpcn0vbGlia2FkbTVzcnZfbWl0JHtTT0xJQlN9IgorRklMRVNfbGlia2RiNSA9ICIke2xpYmRpcn0vbGlia2RiNSR7U09MSUJTfSIKK0ZJTEVTX2xpYmtyYWQgPSAiJHtsaWJkaXJ9L2xpYmtyYWQke1NPTElCU30iCitGSUxFU19saWJrcmI1ID0gIiR7bGliZGlyfS9saWJrcmI1JHtTT0xJQlN9IFwKKyAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2tyYjUvcGx1Z2lucy9hdXRoZGF0YSBcCisgICAgICAgICAgICAgICAgICR7bGliZGlyfS9rcmI1L3BsdWdpbnMvbGlia3JiNSIKK0ZJTEVTX2xpYmtyYjVzdXBwb3J0ID0gIiR7bGliZGlyfS9saWJrcmI1c3VwcG9ydCR7U09MSUJTfSIKK0ZJTEVTX2xpYnZlcnRvID0gIiR7bGliZGlyfS9saWJ2ZXJ0byR7U09MSUJTfSIKKworUkRFUEVORFNfJHtQTn0ta2FkbWluLXNlcnZlciA9ICIke1BOfS1rZGMiCitSREVQRU5EU18ke1BOfS1rcHJvcGQgPSAiJHtQTn0ta2RjIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LWFkbWluLXNlcnZlciAke1BOfS1rZGMiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tYWRtaW4tc2VydmVyID0gImtyYjUtYWRtaW4tc2VydmVyIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LWtkYyA9ICJrcmI1LWtkYyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1hZG1pbi1zZXJ2ZXIgJHtQTn0ta2RjIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWFkbWluLXNlcnZlciA9ICJrcmI1LWFkbWluLXNlcnZlci5zZXJ2aWNlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LWtkYyA9ICJrcmI1LWtkYy5zZXJ2aWNlIgorCitwa2dfcG9zdGluc3RfJHtQTn0ta2RjICgpIHsKKyAgICBpZiBbIC16ICIkRCIgXTsgdGhlbgorICAgICAgICBpZiBjb21tYW5kIC12IHN5c3RlbWQtdG1wZmlsZXMgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgc3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQva3JiNS5jb25mCisgICAgICAgIGVsaWYgWyAtZSAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdOyB0aGVuCisgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKyAgICAgICAgZmkKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1ODM4ZDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJldi9saWJldl80LjI0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGZ1bGwtZmVhdHVyZWQgYW5kIGhpZ2gtcGVyZm9ybWFuY2UgZXZlbnQgbG9vcCB0aGF0IGlzIGxvb3NlbHkgXAotbW9kZWxsZWQgYWZ0ZXIgbGliZXZlbnQuIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvZnR3YXJlLnNjaG1vcnAuZGUvcGtnL2xpYmV2Lmh0bWwiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSB8IEdQTC0yLjArIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rpc3Quc2NobW9ycC5kZS9saWJldi9BdHRpYy8ke0JQfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5NDQ1OWE1YTIyZGIwNDFkZWM2Zjk4NDI0ZDZlZmU1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5NzM1OTNkMzQ3OWFiZGY2NTc2NzRhNTVhZmU1Zjc4NjI0YjBlNDQwNjE0ZTJiOGNiM2EwN2YxNmQ0ZDdmODIxIgotCi1pbmhlcml0IGF1dG90b29scwotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1waWMiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgQXZvaWQgY29uZmxpY3Rpbmcgd2l0aCBsaWJldmVudC4gVGhlIHByb3ZpZGVkIGNvbXBhdGliaWxpdHkgbGF5ZXIgaXMKLSAgICAjIHN0aWxsIGJhc2ljIHNvIGRyb3AgaXQgZm9yIG5vdy4KLSAgICBybSAke0R9JHtpbmNsdWRlZGlyfS9ldmVudC5oCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYmV2L2xpYmV2XzQuMjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ1NmU1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGliZXYvbGliZXZfNC4yNS5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkEgZnVsbC1mZWF0dXJlZCBhbmQgaGlnaC1wZXJmb3JtYW5jZSBldmVudCBsb29wIHRoYXQgaXMgbG9vc2VseSBcCittb2RlbGxlZCBhZnRlciBsaWJldmVudC4iCitIT01FUEFHRSA9ICJodHRwOi8vc29mdHdhcmUuc2NobW9ycC5kZS9wa2cvbGliZXYuaHRtbCIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIHwgR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNmFkNDE2YWZkMDQwYzkwNjk4ZWRjZGYxY2JlZTM0NyIKKworU1JDX1VSSSA9ICJodHRwOi8vZGlzdC5zY2htb3JwLmRlL2xpYmV2L0F0dGljLyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5MTFkYWY1NjY1MzRmNzQ1NzI2MDE1NzM2YTA0ZjA0YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3ODc1N2UxYzI3Nzc4ZDJmMzc5NTI1MWQ5ZmUwOTcxNWQ1MWNlMDQyMjQxNmRhNGFiYjM0YWYzOTI5YzAyNTg5IgorCitpbmhlcml0IGF1dG90b29scworCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1waWMiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgQXZvaWQgY29uZmxpY3Rpbmcgd2l0aCBsaWJldmVudC4gVGhlIHByb3ZpZGVkIGNvbXBhdGliaWxpdHkgbGF5ZXIgaXMKKyAgICAjIHN0aWxsIGJhc2ljIHNvIGRyb3AgaXQgZm9yIG5vdy4KKyAgICBybSAke0R9JHtpbmNsdWRlZGlyfS9ldmVudC5oCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbS9jbGFuZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCmluZGV4IDkyZTY1N2MuLmQ4ODU3ODQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltL2NsYW5nLnBhdGNoCkBAIC00NSw3ICs0NSw3IEBACiAgCQkgICAgICAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV3N0cmljdC1wcm90b3R5cGVzIFwKIEBAIC0xNywyMiArMzcsMjMgQEAgaWYgdGVzdCAiJEdDQyIgPSAieWVzIiAtYSAiJHNldF9tb3JlX3dhcgogIAkJICAgICAgLVdtaXNzaW5nLWluY2x1ZGUtZGlycyAtV2FnZ3JlZ2F0ZS1yZXR1cm4gXAotIAkJICAgICAgLVdmb3JtYXQtc2VjdXJpdHk7IGRvCisgCQkgICAgICAtV2Zvcm1hdC1zZWN1cml0eSAtV3R5cGUtbGltaXRzOyBkbwogIAkJU0FWRV9DRkxBR1M9IiRDRkxBR1MiCiAtCQlDRkxBR1M9IiRDRkxBR1MgJG9wdGlvbiIKICsJCUNGTEFHUz0iJENGTEFHUyAkb3B0aW9uICRXRVJST1IiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE2LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjBjMGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJtYmltL2xpYm1iaW1fMS4xNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJsaWJtYmltIGlzIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IE1CSU0gcHJvdG9jb2wiCi1ERVNDUklQVElPTiA9ICJsaWJtYmltIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYm1iaW0vIgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCi0iCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGxpYmd1ZGV2IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vY2xhbmcucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjc2ZWE0ZDgzODE5ODk5MTliMWQ5YjkxYzgxOGZlZDgwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4Y2E1MGJlZWRkZDRiNDMzMDlkZjViNjk4OTE3MjY4MzAzYmYxNzZjZWE1OGZlNGZlNTNkNWJmMGU5M2ZhYzIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE4LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYm1iaW0vbGlibWJpbV8xLjE4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWY1OWFkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlibWJpbS9saWJtYmltXzEuMTguMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gImxpYm1iaW0gaXMgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgTUJJTSBwcm90b2NvbCIKK0RFU0NSSVBUSU9OID0gImxpYm1iaW0gaXMgYSBnbGliLWJhc2VkIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIE1vYmlsZSBJbnRlcmZhY2UgQnJvYWRiYW5kIE1vZGVsIChNQklNKSBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGlibWJpbS8iCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGliZ3VkZXYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiYXNoLWNvbXBsZXRpb24KKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9jbGFuZy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiODQwY2QxMzNiYzBmNzE1YTdlZTQ3OTdkZDlhYzU1NjIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNmNDAxMjhkODNkMDg3OTQ2YTdkODU3N2U3MzU1MjYyMDJlMDM0ZDUyZjkwMDQ3NzM1MzI5NjA5MDk3YjI4MiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaS8wMDAxLXFtaS1uZXR3b3JrLURvbi10LWNyZWF0ZS1pbnZhbGlkLXdkcy1zdGFydC1uZXR3b3JrLXcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWkvMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjMwZDY4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaS8wMDAxLXFtaS1uZXR3b3JrLURvbi10LWNyZWF0ZS1pbnZhbGlkLXdkcy1zdGFydC1uZXR3b3JrLXcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDgyNjlmNGQ4NjkyN2ZiZTE5ZTc4Nzc2YTEyNzM2NjgwZmU5MTY5YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gQnVuayA8YnVua0BzdHVzdGEuZGU+Ci1EYXRlOiBNb24sIDEgT2N0IDIwMTggMTY6NTM6MzEgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gcW1pLW5ldHdvcms6IERvbid0IGNyZWF0ZSBpbnZhbGlkIC0td2RzLXN0YXJ0LW5ldHdvcmsgd2hlbgotIEFQTiBpcyBub3Qgc2V0Ci0KLUluIDEuMjAuMiB0aGUgd2FybmluZyBmb3IgdGhpcyB3YXMgdHVybmVkIGludG8gYW4gZXJyb3IuCi0KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI4OWQ4YWQ2NDE5ODk1ZTJlMWZiYTNkNzhhNTRhMGRiNjVkYTUyMWQpCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotIHV0aWxzL3FtaS1uZXR3b3JrLmluIHwgMTIgKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3V0aWxzL3FtaS1uZXR3b3JrLmluIGIvdXRpbHMvcW1pLW5ldHdvcmsuaW4KLWluZGV4IGJmN2JlZDkuLmE5ZTUyOTkgMTAwNzU1Ci0tLS0gYS91dGlscy9xbWktbmV0d29yay5pbgotKysrIGIvdXRpbHMvcW1pLW5ldHdvcmsuaW4KLUBAIC0zMzQsMTEgKzMzNCwxMyBAQCBzdGFydF9uZXR3b3JrICgpCi0gCi0gICAgIHNldHVwX2RhdGFfZm9ybWF0Ci0gCi0tICAgIFNUQVJUX05FVFdPUktfQVJHUz0iYXBuPSckQVBOJyIKLS0gICAgaWYgWyAtbiAiJEFQTl9VU0VSIiBdOyB0aGVuCi0tICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9IiR7U1RBUlRfTkVUV09SS19BUkdTfSx1c2VybmFtZT0nJEFQTl9VU0VSJyIKLS0gICAgICAgIGlmIFsgLW4gIiRBUE5fUEFTUyIgXTsgdGhlbgotLSAgICAgICAgICAgIFNUQVJUX05FVFdPUktfQVJHUz0iJHtTVEFSVF9ORVRXT1JLX0FSR1N9LHBhc3N3b3JkPSckQVBOX1BBU1MnIgotKyAgICBpZiBbIC1uICIkQVBOIiBdOyB0aGVuCi0rICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9ImFwbj0nJEFQTiciCi0rICAgICAgICBpZiBbIC1uICIkQVBOX1VTRVIiIF07IHRoZW4KLSsgICAgICAgICAgICBTVEFSVF9ORVRXT1JLX0FSR1M9IiR7U1RBUlRfTkVUV09SS19BUkdTfSx1c2VybmFtZT0nJEFQTl9VU0VSJyIKLSsgICAgICAgICAgICBpZiBbIC1uICIkQVBOX1BBU1MiIF07IHRoZW4KLSsgICAgICAgICAgICAgICAgU1RBUlRfTkVUV09SS19BUkdTPSIke1NUQVJUX05FVFdPUktfQVJHU30scGFzc3dvcmQ9JyRBUE5fUEFTUyciCi0rICAgICAgICAgICAgZmkKLSAgICAgICAgIGZpCi0gICAgIGZpCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIwLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGJjODFjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIwLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gImxpYnFtaSBpcyBhIGxpYnJhcnkgZm9yIHRhbGtpbmcgdG8gV1dBTiBkZXZpY2VzIGJ5IFFNSSBwcm90b2NvbCIKLURFU0NSSVBUSU9OID0gImxpYnFtaSBpcyBhIGdsaWItYmFzZWQgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIG1vZGVtcyBhbmQgZGV2aWNlcyB3aGljaCBzcGVhayB0aGUgUXVhbGNvbW0gTVNNIEludGVyZmFjZSAoUU1JKSBwcm90b2NvbCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGlicW1pIgotTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICIgXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCi0iCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1xbWktbmV0d29yay1Eb24tdC1jcmVhdGUtaW52YWxpZC13ZHMtc3RhcnQtbmV0d29yay13LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGV0ZWN0LWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjU4NDIxNDQ3NmFiNzVjMzk0MTYwY2I4NWZiY2NhYTFkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MzQ1OWNhOGJmZTEyMTNmODA0Nzg1OGQ0OTQ2ZmMxZjU4ZTE2NGQ0ZjQ4OGE3YTY5MDRlZGVlMjVlMmNhNDQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJ1ZGV2IG1iaW0iCi1QQUNLQUdFQ09ORklHW3VkZXZdID0gIiwtLXdpdGhvdXQtdWRldixsaWJndWRldiIKLVBBQ0tBR0VDT05GSUdbbWJpbV0gPSAiLS1lbmFibGUtbWJpbS1xbXV4LC0tZGlzYWJsZS1tYmltLXFtdXgsbGlibWJpbSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicW1pL2xpYnFtaV8xLjIyLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMTMyODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnFtaS9saWJxbWlfMS4yMi4yLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAibGlicW1pIGlzIGEgbGlicmFyeSBmb3IgdGFsa2luZyB0byBXV0FOIGRldmljZXMgYnkgUU1JIHByb3RvY29sIgorREVTQ1JJUFRJT04gPSAibGlicW1pIGlzIGEgZ2xpYi1iYXNlZCBsaWJyYXJ5IGZvciB0YWxraW5nIHRvIFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBRdWFsY29tbSBNU00gSW50ZXJmYWNlIChRTUkpIHByb3RvY29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJxbWkiCitMSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiYXNoLWNvbXBsZXRpb24KKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURldGVjdC1jbGFuZy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzZmQ4MzFjMWIwZGU0YTQ0MzJiZTYyODQzMmE5NjBmZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMWYxZTUxNGE4OWIxZGNiYTA1Y2Y3Mjc0ODk1ZTczMDFhMmRhNGM5NDdiN2MyZjE3YWNiODRmYzc0MDM4MjI3IgorCitQQUNLQUdFQ09ORklHID8/PSAidWRldiBtYmltIgorUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICIsLS13aXRob3V0LXVkZXYsbGliZ3VkZXYiCitQQUNLQUdFQ09ORklHW21iaW1dID0gIi0tZW5hYmxlLW1iaW0tcW11eCwtLWRpc2FibGUtbWJpbS1xbXV4LGxpYm1iaW0iCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yMC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjIwLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExMWZmOWQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjIwLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIkEgbXVsdGktcGxhdGZvcm0gc3VwcG9ydCBsaWJyYXJ5IHdpdGggYSBmb2N1cyBvbiBhc3luY2hyb25vdXMgSS9PIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xpYnV2L2xpYnV2IgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYvaXNzdWVzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1hNjg5MDJhNDMwZTMyMjAwMjYzZDE4MmQ0NDkyNGQ0NyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLVNSQ1JFViA9ICI4Y2ZkNjdlNTkxOTUyNTFkZmY3OTNlZTQ3YzE4NWM5ZDZhOGYzODE4IgotQlJBTkNIID0gInYxLngiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD0ke0JSQU5DSH07IgotCi1pbmhlcml0IGF1dG90b29scwotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgJHtTfS9hdXRvZ2VuLnNoIHx8IGJibm90ZSAiJHtQTn0gZmFpbGVkIHRvIGF1dG9nZW4uc2giCi0gICAgb2VfcnVuY29uZgotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ1di9saWJ1dl8xLjI3LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgyMzk0NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlidXYvbGlidXZfMS4yNy4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiQSBtdWx0aS1wbGF0Zm9ybSBzdXBwb3J0IGxpYnJhcnkgd2l0aCBhIGZvY3VzIG9uIGFzeW5jaHJvbm91cyBJL08iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGlidXYvbGlidXYiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1di9saWJ1di9pc3N1ZXMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWE2ODkwMmE0MzBlMzIyMDAyNjNkMTgyZDQ0OTI0ZDQ3IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9saWJ1di9saWJ1di9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiY2MyY2YyNTk0NDJmYmU4NTQwNGU3NTY5MWU4MjQ0ZTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFmY2RjODRjZDMxNWI3N2M4ZTUzMmU3YjNmZGU0M2Q1MzZhZjBlMmU4MzVlYWZiZDBlNzU1MThlZDI2ZGJlZCIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vYXV0b2dlbi5zaCB8fCBiYm5vdGUgIiR7UE59IGZhaWxlZCB0byBhdXRvZ2VuLnNoIgorICAgIG9lX3J1bmNvbmYKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMzg0MTQ4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlid2Vic29ja2V0cy9saWJ3ZWJzb2NrZXRzXzMuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotU1VNTUFSWSA9ICJDYW5vbmljYWwgbGlid2Vic29ja2V0cy5vcmcgd2Vic29ja2V0IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2xpYndlYnNvY2tldHMub3JnLyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00Y2U4N2YzZmFjYjZmOTExYzE0MmM4YmVmOWJmYjM4MCIKLQotREVQRU5EUyA9ICJ6bGliIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gImVhYTkzNWE4MGFkYjM4YjVjYzRkMDljZTA2ZWM5ODdiODdkY2RkZmEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd2FybWNhdC9saWJ3ZWJzb2NrZXRzLmdpdDtwcm90b2NvbD1odHRwczsiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnCi0KLVBBQ0tBR0VDT05GSUcgPz0gImxpYnV2IGNsaWVudCBzZXJ2ZXIgaHR0cDIgc3NsIgotUEFDS0FHRUNPTkZJR1tjbGllbnRdID0gIi1ETFdTX1dJVEhPVVRfQ0xJRU5UPU9GRiwtRExXU19XSVRIT1VUX0NMSUVOVD1PTiwiCi1QQUNLQUdFQ09ORklHW2h0dHAyXSA9ICItRExXU19XSVRIX0hUVFAyPU9OLC1ETFdTX1dJVEhfSFRUUDI9T0ZGLCIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLURMV1NfSVBWNj1PTiwtRExXU19JUFY2PU9GRiwiCi1QQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItRExXU19XSVRIX0xJQkVWPU9OLC1ETFdTX1dJVEhfTElCRVY9T0ZGLGxpYmV2IgotUEFDS0FHRUNPTkZJR1tsaWJ1dl0gPSAiLURMV1NfV0lUSF9MSUJVVj1PTiwtRExXU19XSVRIX0xJQlVWPU9GRixsaWJ1diIKLVBBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRExXU19XSVRIT1VUX1NFUlZFUj1PRkYsLURMV1NfV0lUSE9VVF9TRVJWRVI9T04sIgotUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1ETFdTX1dJVEhfU1NMPU9OLC1ETFdTX1dJVEhfU1NMPU9GRixvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1t0ZXN0YXBwc10gPSAiLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PRkYsLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PTiwiCi0KLVBBQ0tBR0VTID0rICIke1BOfS10ZXN0YXBwcyIKLQotRklMRVNfJHtQTn0tdGVzdGFwcHMgKz0gIiR7ZGF0YWRpcn0vbGlid2Vic29ja2V0cy10ZXN0LXNlcnZlci8qIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYndlYnNvY2tldHMvbGlid2Vic29ja2V0c18zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDYyMGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJ3ZWJzb2NrZXRzL2xpYndlYnNvY2tldHNfMy4xLjAuYmIKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJDYW5vbmljYWwgbGlid2Vic29ja2V0cy5vcmcgd2Vic29ja2V0IGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2xpYndlYnNvY2tldHMub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00Y2U4N2YzZmFjYjZmOTExYzE0MmM4YmVmOWJmYjM4MCIKKworREVQRU5EUyA9ICJ6bGliIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDUkVWID0gIjg5ZWVkY2FhOTRlMWM4YTk3ZWEzYWYxMDY0MmZkMjI0YmNlYTA2OGYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vd2FybWNhdC9saWJ3ZWJzb2NrZXRzLmdpdDtwcm90b2NvbD1odHRwczsiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz0gImxpYnV2IGNsaWVudCBzZXJ2ZXIgaHR0cDIgc3NsIgorUEFDS0FHRUNPTkZJR1tjbGllbnRdID0gIi1ETFdTX1dJVEhPVVRfQ0xJRU5UPU9GRiwtRExXU19XSVRIT1VUX0NMSUVOVD1PTiwiCitQQUNLQUdFQ09ORklHW2h0dHAyXSA9ICItRExXU19XSVRIX0hUVFAyPU9OLC1ETFdTX1dJVEhfSFRUUDI9T0ZGLCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLURMV1NfSVBWNj1PTiwtRExXU19JUFY2PU9GRiwiCitQQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItRExXU19XSVRIX0xJQkVWPU9OLC1ETFdTX1dJVEhfTElCRVY9T0ZGLGxpYmV2IgorUEFDS0FHRUNPTkZJR1tsaWJ1dl0gPSAiLURMV1NfV0lUSF9MSUJVVj1PTiwtRExXU19XSVRIX0xJQlVWPU9GRixsaWJ1diIKK1BBQ0tBR0VDT05GSUdbc2VydmVyXSA9ICItRExXU19XSVRIT1VUX1NFUlZFUj1PRkYsLURMV1NfV0lUSE9VVF9TRVJWRVI9T04sIgorUEFDS0FHRUNPTkZJR1tzc2xdID0gIi1ETFdTX1dJVEhfU1NMPU9OLC1ETFdTX1dJVEhfU1NMPU9GRixvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1t0ZXN0YXBwc10gPSAiLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PRkYsLURMV1NfV0lUSE9VVF9URVNUQVBQUz1PTiwiCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURMSUJfU1VGRklYPSR7QGQuZ2V0VmFyKCdiYXNlbGliJykucmVwbGFjZSgnbGliJywgJycpfSBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0YXBwcyIKKworRklMRVNfJHtQTn0tdGVzdGFwcHMgKz0gIiR7ZGF0YWRpcn0vbGlid2Vic29ja2V0cy10ZXN0LXNlcnZlci8qIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDAzLWluY2x1ZGUtbWlzc2luZy10aW1lLmgtZm9yLXRpbWVfdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHAvMDAwMy1pbmNsdWRlLW1pc3NpbmctdGltZS5oLWZvci10aW1lX3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MTYzZjYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDAzLWluY2x1ZGUtbWlzc2luZy10aW1lLmgtZm9yLXRpbWVfdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gYjM2Y2FmZGJjYmUyMTkzZjViNjY5ZTcwM2M2MDhlMTllMjNmODBhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDE1IEp1bCAyMDE3IDExOjE2OjQyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBpbmNsdWRlIG1pc3NpbmcgdGltZS5oIGZvciB0aW1lX3QKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHV0aWwuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3V0aWwuaCBiL3V0aWwuaAotaW5kZXggZTkxMmYxOS4uM2M2MzRjMSAxMDA2NDQKLS0tLSBhL3V0aWwuaAotKysrIGIvdXRpbC5oCi1AQCAtMjIsNyArMjIsNyBAQAotIAotICNpbmNsdWRlICJkZHQuaCIKLSAjaW5jbHVkZSAiZXRoZXIuaCIKLS0KLSsjaW5jbHVkZSA8dGltZS5oPgotIC8qKgotICAqIFRhYmxlIG9mIGh1bWFuIHJlYWRhYmxlIHN0cmluZ3MsIG9uZSBmb3IgZWFjaCBwb3J0IHN0YXRlLgotICAqLwotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cC8wMDA0LUFkanVzdC1pbmNsdWRlLWhlYWRlci1zZXF1ZW5jZS10by1hdm9pZC1kdXBsaWNhdGUtZGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTY5OTI3NS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gM2NkMjhhYTc3MTkzNGQ5MTY1ZmYwZDdlMTk5MzJjZGU2NWRlM2U1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDE1IEp1bCAyMDE3IDExOjE2OjU3IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNC80XSBBZGp1c3QgaW5jbHVkZSBoZWFkZXIgc2VxdWVuY2UgdG8gYXZvaWQgZHVwbGljYXRlCi0gZGVmaW5pdGlvbnMgb24gbXVzbAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gcmF3LmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcmF3LmMgYi9yYXcuYwotaW5kZXggZjUxYzgyOS4uNDk0ZWE3ZiAxMDA2NDQKLS0tLSBhL3Jhdy5jCi0rKysgYi9yYXcuYwotQEAgLTE4LDggKzE4LDYgQEAKLSAgKi8KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLS0jaW5jbHVkZSA8bGludXgvZmlsdGVyLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotICNpbmNsdWRlIDxuZXQvaWYuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotQEAgLTMyLDYgKzMwLDggQEAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotKyNpbmNsdWRlIDxsaW51eC9maWx0ZXIuaD4KLSsjaW5jbHVkZSA8bGludXgvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bGludXgvZXJycXVldWUuaD4KLSAjaW5jbHVkZSA8bGludXgvbmV0X3RzdGFtcC5oPgotICNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+Ci0tLSAKLTIuMTMuMwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpbnV4cHRwL2xpbnV4cHRwXzEuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMS44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjN2I4YjI5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMS44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUHJlY2lzaW9uIFRpbWUgUHJvdG9jb2wgKFBUUCkgYWNjb3JkaW5nIHRvIElFRUUgc3RhbmRhcmQgMTU4OCBmb3IgTGludXgiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saW51eHB0cC9maWxlcy92JHtQVn0vbGludXhwdHAtJHtQVn0udGd6IFwKLSAgICAgICAgICAgZmlsZTovL2J1aWxkLUFsbG93LUNDLWFuZC1wcmVmaXgtdG8tYmUtb3ZlcnJpZGVuLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25vLWluY2RlZnMtdXNpbmctaG9zdC1oZWFkZXJzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW5jbHVkZS1taXNzaW5nLXRpbWUuaC1mb3ItdGltZV90LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtQWRqdXN0LWluY2x1ZGUtaGVhZGVyLXNlcXVlbmNlLXRvLWF2b2lkLWR1cGxpY2F0ZS1kZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU2ODhjZGZlNTc5MzIyNzNlMWRiZjM1YjNiOTdiOWEwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImZhOGUwMGY2ZWM3M2NlZmE3YmIzMTNkY2U3ZjYwZGZlNWViOWUyYmRlMzM1MzU5NGU5YWMxOGVkYzkzZTUxNjUiCi0KLUVYVFJBX09FTUFLRSA9ICJBUkNIPSR7VEFSR0VUX0FSQ0h9IFwKLSAgICBFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX1BPU0lYX1NQQVdOIC1ESEFWRV9PTkVTVEVQX1NZTkMgJHtDRkxBR1N9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9wdHA0bCAgJHtEfS8ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1wICR7U30vcG1jICAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9waGMyc3lzICAke0R9LyR7YmluZGlyfQotICAgIGluc3RhbGwgLXAgJHtTfS9od3N0YW1wX2N0bCAgJHtEfS8ke2JpbmRpcn0KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saW51eHB0cC9saW51eHB0cF8yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIyNjJkMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGludXhwdHAvbGludXhwdHBfMi4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIlByZWNpc2lvbiBUaW1lIFByb3RvY29sIChQVFApIGFjY29yZGluZyB0byBJRUVFIHN0YW5kYXJkIDE1ODggZm9yIExpbnV4IgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbGludXhwdHAvZmlsZXMvdiR7UFZ9L2xpbnV4cHRwLSR7UFZ9LnRneiBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC1BbGxvdy1DQy1hbmQtcHJlZml4LXRvLWJlLW92ZXJyaWRlbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uby1pbmNkZWZzLXVzaW5nLWhvc3QtaGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImQ4YmI3Mzc0OTQzYmI3NDdkYjc3ODZhYzI2ZjE3ZjExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBhMjRkOTQwMWU4N2Q0YWYwMjNkMjAxZTIzNGQ5MTEyN2Q4MmMzNTBkYWFkOTM0MzIxMDYyODRhYTk0NTljN2QiCisKK0VYVFJBX09FTUFLRSA9ICJBUkNIPSR7VEFSR0VUX0FSQ0h9IFwKKyAgICBFWFRSQV9DRkxBR1M9Jy1EX0dOVV9TT1VSQ0UgLURIQVZFX0NMT0NLX0FESlRJTUUgLURIQVZFX1BPU0lYX1NQQVdOIC1ESEFWRV9PTkVTVEVQX1NZTkMgJHtDRkxBR1N9JyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9wdHA0bCAgJHtEfS8ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1wICR7U30vcG1jICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9waGMyc3lzICAke0R9LyR7YmluZGlyfQorICAgIGluc3RhbGwgLXAgJHtTfS9od3N0YW1wX2N0bCAgJHtEfS8ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlci8wMDAxLURvLW5vdC1wYXNzLW51bGwtc3RyaW5nLXRvLXMtcHJpbnRmLWZvcm1hdHRlZC1zdHJpbmcucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXIvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYmFmYmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXIvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXN0cmluZy10by1zLXByaW50Zi1mb3JtYXR0ZWQtc3RyaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gYjg4NjJlNmFmMWM2ZDAyMmI4YzE4MjA5OGU3ZGVkZGI4NzRlY2UxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDE4IERlYyAyMDE4IDIzOjEwOjQ0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBwYXNzIG51bGwgc3RyaW5nIHRvICVzIHByaW50ZiBmb3JtYXR0ZWQgc3RyaW5nCisKK0hlcmUgdGhlIHN0cmluZyBpcyBhbHJlYWR5IGRlY2lkZWQgdG8gYmUgTlVMTCBhbmQgcGFzc2luZworYSBudWxsIHBvaW50ZXIgdG8gJXMgd2lsbCBub3Qgd29yaworCitGaXhlcworZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9tb2JpbGUtYnJvYWRiYW5kL01vZGVtTWFuYWdlci9tZXJnZV9yZXF1ZXN0cy82N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHBsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3BsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYyBiL3BsdWdpbnMvbXRrL21tLWJyb2FkYmFuZC1tb2RlbS1tdGsuYworaW5kZXggNDc1YTYzYWMuLjU0MWRlNGE1IDEwMDY0NAorLS0tIGEvcGx1Z2lucy9tdGsvbW0tYnJvYWRiYW5kLW1vZGVtLW10ay5jCisrKysgYi9wbHVnaW5zL210ay9tbS1icm9hZGJhbmQtbW9kZW0tbXRrLmMKK0BAIC0xOTEsNyArMTkxLDcgQEAgZ2V0X3N1cHBvcnRlZF9tb2Rlc19yZWFkeSAoTU1CYXNlTW9kZW0gKnNlbGYsCisgCisgICAgIHJlc3BvbnNlID0gbW1fYmFzZV9tb2RlbV9hdF9jb21tYW5kX2ZpbmlzaCAoTU1fQkFTRV9NT0RFTSAoc2VsZiksIHJlcywgJmVycm9yKTsKKyAgICAgaWYgKCFyZXNwb25zZSkgeworLSAgICAgICAgbW1fZGJnICgiRmFpbCB0byBnZXQgcmVzcG9uc2UgJXMiLCByZXNwb25zZSk7CisrICAgICAgICBtbV9kYmcgKCJGYWlsIHRvIGdldCByZXNwb25zZSIpOworICAgICAgICAgZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZXJyb3IpOworICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHRhc2spOworICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuOC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2RlbW1hbmFnZXIvbW9kZW1tYW5hZ2VyXzEuOC4yLmJiCmluZGV4IDAxYzYyMTQuLmY5YjMwMmEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9kZW1tYW5hZ2VyL21vZGVtbWFuYWdlcl8xLjguMi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vZGVtbWFuYWdlci9tb2RlbW1hbmFnZXJfMS44LjIuYmIKQEAgLTksMTAgKzksMTEgQEAKIAogaW5oZXJpdCBnbm9tZWJhc2UgZ2V0dGV4dCBzeXN0ZW1kIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGJhc2gtY29tcGxldGlvbgogCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYmd1ZGV2IGRidXMtZ2xpYiBpbnRsdG9vbC1uYXRpdmUiCitERVBFTkRTID0gImdsaWItMi4wIGxpYmd1ZGV2IGRidXMtZ2xpYiBpbnRsdG9vbC1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCiAKIFNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvTW9kZW1NYW5hZ2VyL01vZGVtTWFuYWdlci0ke1BWfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtc2V0LVduby11bnVzZWQtYnV0LXNldC12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1wYXNzLW51bGwtc3RyaW5nLXRvLXMtcHJpbnRmLWZvcm1hdHRlZC1zdHJpbmcucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhNDljOWY3M2U0NmM3Yjg5ZTVlZmVkZGEyNTBkMjJjMCIKQEAgLTIwLDE0ICsyMSwxNCBAQAogCiBTID0gIiR7V09SS0RJUn0vTW9kZW1NYW5hZ2VyLSR7UFZ9IgogCi1QQUNLQUdFQ09ORklHID8/PSAibWJpbSBxbWkgcG9sa2l0IFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IFwKK1BBQ0tBR0VDT05GSUcgPz89ICJtYmltIHFtaSBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCBwb2xraXQnLCBkKX0gXAogIgogCiBQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywsIgogUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0td2l0aC1wb2xraXQ9eWVzLC0td2l0aC1wb2xraXQ9bm8scG9sa2l0IgogIyBTdXBwb3J0IFdXQU4gbW9kZW1zIGFuZCBkZXZpY2VzIHdoaWNoIHNwZWFrIHRoZSBNb2JpbGUgSW50ZXJmYWNlIEJyb2FkYmFuZCBNb2RlbCAoTUJJTSkgcHJvdG9jb2wuCi1QQUNLQUdFQ09ORklHW21iaW1dID0gIi0td2l0aC1tYmltLC0td2l0aC1tYmltPW5vLGxpYm1iaW0iCitQQUNLQUdFQ09ORklHW21iaW1dID0gIi0td2l0aC1tYmltLC0td2l0aG91dC1tYmltLGxpYm1iaW0iCiAjIFN1cHBvcnQgV1dBTiBtb2RlbXMgYW5kIGRldmljZXMgd2hpY2ggc3BlYWsgdGhlIFF1YWxjb21tIE1TTSBJbnRlcmZhY2UgKFFNSSkgcHJvdG9jb2wuCiBQQUNLQUdFQ09ORklHW3FtaV0gPSAiLS13aXRoLXFtaSwtLXdpdGhvdXQtcW1pLGxpYnFtaSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2gvMDAwMS1GaXgtYnVpbGRpbmctd2l0aC1saWJjLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2gvMDAwMS1GaXgtYnVpbGRpbmctd2l0aC1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMGVkZTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaC8wMDAxLUZpeC1idWlsZGluZy13aXRoLWxpYmMucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorRnJvbSBlZmE5ZTQ5NzE0YjMwZDdkOTEyODk0NmEyNTA0YzkzZTEwZDEwOWI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMTI6MjA6MDMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkaW5nIHdpdGggbGliYysrCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9uZXR3b3JrL25ldHdvcmsuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrLmNjIGIvc3JjL25ldHdvcmsvbmV0d29yay5jYworaW5kZXggMjZkYTYwMy4uZTQ4MDg1MyAxMDA2NDQKKy0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmsuY2MKKysrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmsuY2MKK0BAIC0zMzUsNyArMzM1LDcgQEAgYm9vbCBDb25uZWN0aW9uOjp0cnlfYmluZCggY29uc3QgY2hhciAqYWRkciwgaW50IHBvcnRfbG93LCBpbnQgcG9ydF9oaWdoICkKKyAgICAgICB9CisgICAgIH0KKyAKKy0gICAgaWYgKCBiaW5kKCBzb2NrKCksICZsb2NhbF9hZGRyLnNhLCBsb2NhbF9hZGRyX2xlbiApID09IDAgKSB7CisrICAgIGlmICggOjpiaW5kKCBzb2NrKCksICZsb2NhbF9hZGRyLnNhLCBsb2NhbF9hZGRyX2xlbiApID09IDAgKSB7CisgICAgICAgc2V0X01UVSggbG9jYWxfYWRkci5zYS5zYV9mYW1pbHkgKTsKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgfSBlbHNlIGlmICggaSA9PSBzZWFyY2hfaGlnaCApIHsgLyogbGFzdCBwb3J0IHRvIHNlYXJjaCAqLwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb3NoL21vc2hfMS4zLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZjODQzNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLSMgTk9URTogbW9zaC1zZXJ2ZXIgcmVxdWlyZXMgYSBVVEYtOCBsb2NhbGUsIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhZGQKLSMgYW4gZXhwbGljaXQgZGVwZW5kZW5jeSBmb3IgdGhpcyBzbyB5b3UgbmVlZCB0byBlbnN1cmUgdGhpcyBpcyBpbiB5b3VyCi0jIGltYWdlIHlvdXJzZWxmIHdoZW4geW91IGluc3RhbGwgbW9zaC1zZXJ2ZXIuCi0KLVNVTU1BUlkgPSAiUmVtb3RlIHNoZWxsIHN1cHBvcnRpbmcgcm9hbWluZyBhbmQgaGlnaC1sYXRlbmN5IGNvbm5lY3Rpb25zIgotREVTQ1JJUFRJT04gPSAiUmVtb3RlIHRlcm1pbmFsIGFwcGxpY2F0aW9uIHRoYXQgYWxsb3dzIHJvYW1pbmcsIHN1cHBvcnRzIFwKLWludGVybWl0dGVudCBjb25uZWN0aXZpdHksIGFuZCBwcm92aWRlcyBpbnRlbGxpZ2VudCBsb2NhbCBlY2hvIGFuZCBsaW5lIFwKLWVkaXRpbmcgb2YgdXNlciBrZXlzdHJva2VzLiBNb3NoIGlzIGEgcmVwbGFjZW1lbnQgZm9yIFNTSC4gSXQncyBtb3JlIFwKLXJvYnVzdCBhbmQgcmVzcG9uc2l2ZSwgZXNwZWNpYWxseSBvdmVyIFdpLUZpLCBjZWxsdWxhciwgYW5kIFwKLWxvbmctZGlzdGFuY2UgbGlua3MuIgotSE9NRVBBR0UgPSAiaHR0cDovL21vc2gubWl0LmVkdSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAicHJvdG9idWYtbmF0aXZlIHByb3RvYnVmIG5jdXJzZXMgemxpYiBsaWJpby1wdHktcGVybCBvcGVuc3NsIGxpYnV0ZW1wdGVyIgotCi1TUkNfVVJJID0gImh0dHA6Ly9tb3NoLm1pdC5lZHUvbW9zaC0ke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiZDk2MTI3Njk5NTkzNjk1M2JmMmQ1YTc5NDA2OGIwNzYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzIwZTEyZjQ2MWU1NWQ3MTU2NjU5Nzk3NmJkOTQ0MGJhNmM1MjY1ZmE2OGZiZjYxNGM2ZjFjODQwMWY5MzM3NiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVBBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1zZXJ2ZXIiCi1GSUxFU18ke1BOfS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9L21vc2gtc2VydmVyIgotCi1ORUVERURfUEVSTF9NT0RVTEVTID0gIlwKLSAgICBwZXJsLW1vZHVsZS1zb2NrZXQgXAotICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKLSAgICBwZXJsLW1vZHVsZS1lcnJubyBcCi0gICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgXAotICAgIHBlcmwtbW9kdWxlLXBvc2l4IFwKLSIKLQotIyBtb3NoIHVzZXMgU1NIIHRvIGF1dGhlbnRpY2F0ZSBhbmQgdGhlIGNsaWVudCB1c2VzIE9wZW5TU0gtc3BlY2lmaWMgZmVhdHVyZXMKLVJERVBFTkRTXyR7UE59ICs9ICJvcGVuc3NoLXNzaCAke05FRURFRF9QRVJMX01PRFVMRVN9IgotIyBUaGUgc2VydmVyIHNlZW1lZCBub3QgdG8gd29yayB3aXRoIGRyb3BiZWFyIGVpdGhlcgotUkRFUEVORFNfJHtQTn0tc2VydmVyICs9ICJvcGVuc3NoLXNzaGQgJHtORUVERURfUEVSTF9NT0RVTEVTfSIKLQotIyBGYWlscyB0byBidWlsZCB3aXRoIHRodW1iLTEgKHFlbXVhcm0pCi0jfCB7c3RhbmRhcmQgaW5wdXR9OiBBc3NlbWJsZXIgbWVzc2FnZXM6Ci0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDA6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRkcyByNCxyNCxyNCcKLSN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMTogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI1LHI1LHI1JwotI3wge3N0YW5kYXJkIGlucHV0fToyMTAyOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjYscjYscjYnCi0jfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDM6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNyxyNyxyNycKLSN8IHtzdGFuZGFyZCBpbnB1dH06MjEwNDogRXJyb3I6IHNlbGVjdGVkIHByb2Nlc3NvciBkb2VzIG5vdCBzdXBwb3J0IFRodW1iIG1vZGUgYGl0IGNzJwotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9zaC9tb3NoXzEuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNDM5MzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vc2gvbW9zaF8xLjMuMi5iYgpAQCAtMCwwICsxLDQ4IEBACisjIE5PVEU6IG1vc2gtc2VydmVyIHJlcXVpcmVzIGEgVVRGLTggbG9jYWxlLCBidXQgdGhlcmUncyBubyB3YXkgdG8gYWRkCisjIGFuIGV4cGxpY2l0IGRlcGVuZGVuY3kgZm9yIHRoaXMgc28geW91IG5lZWQgdG8gZW5zdXJlIHRoaXMgaXMgaW4geW91cgorIyBpbWFnZSB5b3Vyc2VsZiB3aGVuIHlvdSBpbnN0YWxsIG1vc2gtc2VydmVyLgorCitTVU1NQVJZID0gIlJlbW90ZSBzaGVsbCBzdXBwb3J0aW5nIHJvYW1pbmcgYW5kIGhpZ2gtbGF0ZW5jeSBjb25uZWN0aW9ucyIKK0RFU0NSSVBUSU9OID0gIlJlbW90ZSB0ZXJtaW5hbCBhcHBsaWNhdGlvbiB0aGF0IGFsbG93cyByb2FtaW5nLCBzdXBwb3J0cyBcCitpbnRlcm1pdHRlbnQgY29ubmVjdGl2aXR5LCBhbmQgcHJvdmlkZXMgaW50ZWxsaWdlbnQgbG9jYWwgZWNobyBhbmQgbGluZSBcCitlZGl0aW5nIG9mIHVzZXIga2V5c3Ryb2tlcy4gTW9zaCBpcyBhIHJlcGxhY2VtZW50IGZvciBTU0guIEl0J3MgbW9yZSBcCityb2J1c3QgYW5kIHJlc3BvbnNpdmUsIGVzcGVjaWFsbHkgb3ZlciBXaS1GaSwgY2VsbHVsYXIsIGFuZCBcCitsb25nLWRpc3RhbmNlIGxpbmtzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tb3NoLm1pdC5lZHUiCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gInByb3RvYnVmLW5hdGl2ZSBwcm90b2J1ZiBuY3Vyc2VzIHpsaWIgbGliaW8tcHR5LXBlcmwgb3BlbnNzbCBsaWJ1dGVtcHRlciIKKworU1JDX1VSSSA9ICJodHRwOi8vbW9zaC5taXQuZWR1L21vc2gtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkaW5nLXdpdGgtbGliYy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MTIyZjRkMmI5NzNhYjdjMzhkY2RhYzhjMzVjYjYxZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYTYwMDU3M2RmYTgyN2Q4OGNlMTE0ZTBmZWQzMDIxMDY4OTM4MWJiZGNmZjU0M2M5MzFlNGQ2YTJlODUxMjE2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXNlcnZlciIKK0ZJTEVTXyR7UE59LXNlcnZlciA9ICIke2JpbmRpcn0vbW9zaC1zZXJ2ZXIiCisKK05FRURFRF9QRVJMX01PRFVMRVMgPSAiXAorICAgIHBlcmwtbW9kdWxlLXNvY2tldCBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgXAorICAgIHBlcmwtbW9kdWxlLWVycm5vIFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBcCisgICAgcGVybC1tb2R1bGUtcG9zaXggXAorIgorCisjIG1vc2ggdXNlcyBTU0ggdG8gYXV0aGVudGljYXRlIGFuZCB0aGUgY2xpZW50IHVzZXMgT3BlblNTSC1zcGVjaWZpYyBmZWF0dXJlcworUkRFUEVORFNfJHtQTn0gKz0gIm9wZW5zc2gtc3NoICR7TkVFREVEX1BFUkxfTU9EVUxFU30iCisjIFRoZSBzZXJ2ZXIgc2VlbWVkIG5vdCB0byB3b3JrIHdpdGggZHJvcGJlYXIgZWl0aGVyCitSREVQRU5EU18ke1BOfS1zZXJ2ZXIgKz0gIm9wZW5zc2gtc3NoZCAke05FRURFRF9QRVJMX01PRFVMRVN9IgorCisjIEZhaWxzIHRvIGJ1aWxkIHdpdGggdGh1bWItMSAocWVtdWFybSkKKyN8IHtzdGFuZGFyZCBpbnB1dH06IEFzc2VtYmxlciBtZXNzYWdlczoKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMDogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGRzIHI0LHI0LHI0JworI3wge3N0YW5kYXJkIGlucHV0fToyMTAxOiBFcnJvcjogaW5zdHJ1Y3Rpb24gbm90IHN1cHBvcnRlZCBpbiBUaHVtYjE2IG1vZGUgLS0gYGFkY3MgcjUscjUscjUnCisjfCB7c3RhbmRhcmQgaW5wdXR9OjIxMDI6IEVycm9yOiBpbnN0cnVjdGlvbiBub3Qgc3VwcG9ydGVkIGluIFRodW1iMTYgbW9kZSAtLSBgYWRjcyByNixyNixyNicKKyN8IHtzdGFuZGFyZCBpbnB1dH06MjEwMzogRXJyb3I6IGluc3RydWN0aW9uIG5vdCBzdXBwb3J0ZWQgaW4gVGh1bWIxNiBtb2RlIC0tIGBhZGNzIHI3LHI3LHI3JworI3wge3N0YW5kYXJkIGlucHV0fToyMTA0OiBFcnJvcjogc2VsZWN0ZWQgcHJvY2Vzc29yIGRvZXMgbm90IHN1cHBvcnQgVGh1bWIgbW9kZSBgaXQgY3MnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtdG9vbHMtYmx1ZXRvb3RoLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKaW5kZXggZjJhMTZkYy4uOTEzZTMxMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC10b29scy1ibHVldG9vdGguYmIKQEAgLTMxLDcgKzMxLDMgQEAKICAgICAgICAgIHB1bHNlYXVkaW8tbW9kdWxlLWxvb3BiYWNrJywgXAogICAgICAgICAnJywgZCl9IFwKICIKLQotIyBJbnN0YWxsIGJsdWV6NCB0b29scyBvciBibHVlejUgdG9vbHMgZGVwZW5kaW5nIG9uIHdoYXQgaXMgc3BlY2lmaWVkIGluIHRoZSBkaXN0cm8uCi0jIE90aGVyd2lzZSBpbnN0YWxsIG5vdGhpbmcuCi1SREVQRU5EU18ke1BOfSA9ICIke1JERVBFTkRTXyR7QkxVRVp9fSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvcmFiYml0bXEtYy9yYWJiaXRtcS1jXzAuNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5ODQ2ZmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC43LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIEMtbGFuZ3VhZ2UgQU1RUCBjbGllbnQgbGlicmFyeSBmb3IgdXNlIHdpdGggdjIuMCsgb2YgdGhlIFJhYmJpdE1RIGJyb2tlciIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbGFueHovcmFiYml0bXEtYyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UtTUlUO21kNT02Yjc0MjRmOWRiODBjZmIxMWZkZDVjOTgwYjU4M2Y1MyIKLUxJQ0VOU0UgPSAiTUlUIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMuZ2l0IgotU1JDUkVWID0gIjRkZGUzMGNlOGQ5ODRlZGRhNTQwMzQ5ZjU3ZWI3OTk1YTg3YmE5ZGUiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAicG9wdCBvcGVuc3NsIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWV4YW1wbGVzIC0tZW5hYmxlLXRvb2xzIC0tZGlzYWJsZS1kb2NzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRvb2xzIgotRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC45LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3JhYmJpdG1xLWMvcmFiYml0bXEtY18wLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDk2ZDZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9yYWJiaXRtcS1jL3JhYmJpdG1xLWNfMC45LjAuYmIKQEAgLTAsMCArMSwxOSBAQAorREVTQ1JJUFRJT04gPSAiQSBDLWxhbmd1YWdlIEFNUVAgY2xpZW50IGxpYnJhcnkgZm9yIHVzZSB3aXRoIHYyLjArIG9mIHRoZSBSYWJiaXRNUSBicm9rZXIiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWxhbnh6L3JhYmJpdG1xLWMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLU1JVDttZDU9NmI3NDI0ZjlkYjgwY2ZiMTFmZGQ1Yzk4MGI1ODNmNTMiCitMSUNFTlNFID0gIk1JVCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FsYW54ei9yYWJiaXRtcS1jLmdpdCIKKyMgdjAuOS4wLW1hc3RlcgorU1JDUkVWID0gIjdlNjkzYTIzZjdmYjcxMjBmODU5OTVkM2M5MjI4MTQ0OTViZTMwZGIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAicG9wdCBvcGVuc3NsIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfRVhBTVBMRVM9T0ZGIC1EQlVJTERfVE9PTFM9T04gLURCVUlMRF9UT09MU19ET0NTPU9GRiAtREJVSUxEX0FQSV9ET0NTPU9GRiIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXRvb2xzIgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllZTRhNTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAxLVVzZS10b29sY2hhaW4tZnJvbS1lbnZpcm9ubWVudC12YXJpYWJsZXMucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorRnJvbSA2YjgyMmIzNjczOTIyMmQwYzg2NDI0OTk5MmI1ZDI4ZTNmZjRkOTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWRyaWFuIEZyaWVkbGkgPGFkcmlhbi5mcmllZGxpQGh1c3F2YXJuYWdyb3VwLmNvbT4KK0RhdGU6IE1vbiwgMyBTZXAgMjAxOCAxNzo1ODoyNyArMDIwMAorU3ViamVjdDogW1BBVENIXSBVc2UgdG9vbGNoYWluIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vV2ktRmlUZXN0U3VpdGUvV2ktRmlUZXN0U3VpdGUtTGludXgtRFVUL3B1bGwvNDJdCitTaWduZWQtb2ZmLWJ5OiBBZHJpYW4gRnJpZWRsaSA8YWRyaWFuLmZyaWVkbGlAaHVzcXZhcm5hZ3JvdXAuY29tPgorU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluYyAgICAgICAgIHwgNyArKysrLS0tCisgV1RHU2VydmljZS9NYWtlZmlsZSAgfCAyICstCisgY29uc29sZV9zcmMvTWFrZWZpbGUgfCAyICstCisgbGliL01ha2VmaWxlICAgICAgICAgfCA2ICsrKy0tLQorIDQgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCitpbmRleCBiMGVkZjVhLi4wMDk0YmRmIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuaW5jCisrKysgYi9NYWtlZmlsZS5pbmMKK0BAIC0xMywxNCArMTMsMTUgQEAKKyAjIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgIyBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAjCistQ0MgPSBnY2MKKytDQyA/PSBnY2MKKytBUiA/PSBhcgorIExJQj1saWIKKyBEVVQ9ZHV0CisgQ0E9Y2EKKyBVQ0M9dWNjCisgQ09OPWNvbnNvbGVfc3JjCisgV1RHPVdUR1NlcnZpY2UKKy1NQUtFPW1ha2UKKytNQUtFPz1tYWtlCisgCisgIyBUaGlzIGlzIGZvciBXTU0tUFMKKyAjZm9yIEV4dCBURworQEAgLTQ2LDcgKzQ3LDcgQEAgQ0ZMQUdTID0gLWcgLU8yIC1EX1JFRU5UUkFOVCAtV2FsbCAtSS4uL2luYworIAorIERVVExJQlMgPSAuLi9saWIvbGlid2ZhX2R1dC5hIC1scHRocmVhZAorIENBTElCUyA9IC4uL2xpYi9saWJ3ZmFfY2EuYSAtbHB0aHJlYWQKKy1SQU5MSUIgPSByYW5saWIKKytSQU5MSUIgPz0gcmFubGliCisgCisgTElCV0ZBX05BTUVfRFVUID0gbGlid2ZhX2R1dC5hCisgTElCV0ZBX05BTUVfQ0EgPSBsaWJ3ZmFfY2EuYQorZGlmZiAtLWdpdCBhL1dUR1NlcnZpY2UvTWFrZWZpbGUgYi9XVEdTZXJ2aWNlL01ha2VmaWxlCitpbmRleCA1MzEyZWI2Li40ODU1NzcxIDEwMDY0NAorLS0tIGEvV1RHU2VydmljZS9NYWtlZmlsZQorKysrIGIvV1RHU2VydmljZS9NYWtlZmlsZQorQEAgLTEzLDcgKzEzLDcgQEAKKyAjIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgIyBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAjCistQ0M9Z2NjCisrQ0M/PWdjYworIENGTEFHUz0gLVdhbGwKKyBMSUI9LWxwdGhyZWFkCisgCitkaWZmIC0tZ2l0IGEvY29uc29sZV9zcmMvTWFrZWZpbGUgYi9jb25zb2xlX3NyYy9NYWtlZmlsZQoraW5kZXggODI4MjI4My4uZDEwOThlYiAxMDA2NDQKKy0tLSBhL2NvbnNvbGVfc3JjL01ha2VmaWxlCisrKysgYi9jb25zb2xlX3NyYy9NYWtlZmlsZQorQEAgLTE0LDcgKzE0LDcgQEAKKyAjIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICMKKyAKKy1DQwk9IGdjYworK0NDCT89IGdjYworIENGTEFHUwk9IC1nIC1EV0ZBX0RFQlVHIC1wdGhyZWFkCisgCisgVEFSR0VUUyA9IHdmYV9jb24KK2RpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUgYi9saWIvTWFrZWZpbGUKK2luZGV4IGZmY2VmOTQuLjI5OWI4ZDYgMTAwNjQ0CistLS0gYS9saWIvTWFrZWZpbGUKKysrKyBiL2xpYi9NYWtlZmlsZQorQEAgLTE3LDkgKzE3LDkgQEAKKyBpbmNsdWRlIC4uL01ha2VmaWxlLmluYworIAorIGFsbDogICAgJHtMSUJfT0JKU30KKy0JCWFyIGNydiAke0xJQldGQV9OQU1FfSAkPworLQkJYXIgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKy0JCWFyIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfSAKKysJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FfSAkPworKwkJJChBUikgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKysJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfQorIAkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQldGQV9OQU1FX0NBfQorIAorIHdmYV90Zy5vOiB3ZmFfdGcuYyAuLi9pbmMvd2ZhX2FndC5oIC4uL2luYy93ZmFfdHlwZXMuaCAuLi9pbmMvd2ZhX3JzcC5oIC4uL2luYy93ZmFfdGx2LmggIC4uL2luYy93ZmFfdGcuaAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAyLUFkZC1taXNzaW5nLWluY2x1ZGUtcmVtb3Zlcy11bm5lZGRlZC1zdHVmZi1hbmQtYWRkLW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAyLUFkZC1taXNzaW5nLWluY2x1ZGUtcmVtb3Zlcy11bm5lZGRlZC1zdHVmZi1hbmQtYWRkLW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBmYjY0NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDItQWRkLW1pc3NpbmctaW5jbHVkZS1yZW1vdmVzLXVubmVkZGVkLXN0dWZmLWFuZC1hZGQtbi5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIDQ1MWIxNjJjOTAzYTFlZjA3MGE3NWRjMTgxNzE2MjBmM2JlZWY3YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNSBEZWMgMjAxOCAwMDozNjo1OSArMDUzMAorU3ViamVjdDogW1BBVENIIDIvM10gQWRkIG1pc3NpbmcgaW5jbHVkZSwgcmVtb3ZlcyB1bm5lZGRlZCBzdHVmZiBhbmQgYWRkIG5vbgorIGdsaWJjIHJwYworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBSZXRvIFNjaG5laWRlciA8Y29kZUByZXRvLXNjaG5laWRlci5jaD4KK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSAgICAgfCAyICstCisgaW5jL3dmYV90Zy5oIHwgMyArKysKKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQoraW5kZXggMmM0MWExNy4uNWM0YWQ4YyAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE1LDcgKzE1LDcgQEAKKyAjCisgaW5jbHVkZSBNYWtlZmlsZS5pbmMKKyAKKy1ESVJTPSAke0xJQn0gJHtEVVR9ICR7Q0F9ICR7VEN9ICR7V1RHfSAke0NPTn0KKytESVJTPSAke0xJQn0gJHtEVVR9ICR7Q0F9ICR7VEN9CisgCisgYWxsOgorIAlmb3IgaSBpbiAke0RJUlN9OyBkbyBcCitkaWZmIC0tZ2l0IGEvaW5jL3dmYV90Zy5oIGIvaW5jL3dmYV90Zy5oCitpbmRleCA3OTliZjlmLi5hMTgwNGRkIDEwMDY0NAorLS0tIGEvaW5jL3dmYV90Zy5oCisrKysgYi9pbmMvd2ZhX3RnLmgKK0BAIC0yNCw2ICsyNCw5IEBACisgI2lmbmRlZiBfV0ZBX1RHX0gKKyAjZGVmaW5lIF9XRkFfVEdfSAorIAorKyNpZm5kZWYgX1dJTkRPV1MKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdGltZS5oPgorIAorIC8qIG1heGltdW0gbnVtYmVyIG9mIHN0cmVhbXMgdG8gc3VwcG9ydCAqLworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAzLWZpeC1wYXRoLXRvLXVzci1zYmluLWZvci1zY3JpcHQtYW5kLW1ha2Utc2NyaXB0LWZvci0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS9maWxlcy8wMDAzLWZpeC1wYXRoLXRvLXVzci1zYmluLWZvci1zY3JpcHQtYW5kLW1ha2Utc2NyaXB0LWZvci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUxMzAyYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDMtZml4LXBhdGgtdG8tdXNyLXNiaW4tZm9yLXNjcmlwdC1hbmQtbWFrZS1zY3JpcHQtZm9yLS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIGZjN2I3MTA2ZGQwZDhkMTIzZjIwY2JkOGQ0MDg2MzdmYmMzMTVlMTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmtpdCBOYXZpayA8YW5raXQudGFyb3RAZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNSBEZWMgMjAxOCAwMToxMjozMiArMDUzMAorU3ViamVjdDogW1BBVENIIDMvM10gZml4IHBhdGggdG8gL3Vzci9zYmluIGZvciBzY3JpcHQgYW5kIG1ha2Ugc2NyaXB0IGZvcgorIGdlbmVyaWMgc2hlbGwKKworU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnRhcm90QGdtYWlsLmNvbT4KKy0tLQorIGxpYi93ZmFfY3MuYyAgICAgICAgICAgfCA0ICsrLS0KKyBzY3JpcHRzL2Rldl9zZW5kX2ZyYW1lIHwgMiArLQorIHNjcmlwdHMvc3RhX3Jlc2V0X3Bhcm0gfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvd2ZhX2NzLmMgYi9saWIvd2ZhX2NzLmMKK2luZGV4IDZiMWY1YTIuLjJhMTg1MzMgMTAwNjQ0CistLS0gYS9saWIvd2ZhX2NzLmMKKysrKyBiL2xpYi93ZmFfY3MuYworQEAgLTMxOSw3ICszMTksNyBAQCBpbnQgd2ZhU3RhR2V0SXBDb25maWcoaW50IGxlbiwgQllURSAqY2FDbWRCdWYsIGludCAqcmVzcExlbiwgQllURSAqcmVzcEJ1ZikKKyAgICAgLyoKKyAgICAgICogY2hlY2sgYSBzY3JpcHQgZmlsZSAodGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMpCisgICAgICAqLworLSAgICByZXQgPSBhY2Nlc3MoIi91c3IvbG9jYWwvc2Jpbi9nZXRpcGNvbmZpZy5zaCIsIEZfT0spOworKyAgICByZXQgPSBhY2Nlc3MoIi91c3Ivc2Jpbi9nZXRpcGNvbmZpZy5zaCIsIEZfT0spOworICAgICBpZihyZXQgPT0gLTEpCisgICAgIHsKKyAgICAgICAgIGlwY29uZmlnUmVzcC0+c3RhdHVzID0gU1RBVFVTX0VSUk9SOworQEAgLTIxMTUsNyArMjExNSw3IEBAIGludCB3ZmFTdGFQcmVzZXRQYXJhbXMoaW50IGxlbiwgQllURSAqY2FDbWRCdWYsIGludCAqcmVzcExlbiwgQllURSAqcmVzcEJ1ZikKKyAJICAgIHN0ID0gcmVtb3ZlKCIvdG1wL3Byb2Nlc3NpZC50eHQiKTsKKyAJfQorIAkKKy0Jc3ByaW50ZihjbWRTdHIsICIvdXNyL2xvY2FsL3NiaW4vZmluZHByb2Nlc3Muc2ggJXMgL3RtcC9wcm9jZXNzaWQudHh0XG4iLCAid3BhX3N1cHBsaWNhbnQiKTsKKysJc3ByaW50ZihjbWRTdHIsICIvdXNyL3NiaW4vZmluZHByb2Nlc3Muc2ggJXMgL3RtcC9wcm9jZXNzaWQudHh0XG4iLCAid3BhX3N1cHBsaWNhbnQiKTsKKyAJc3QgPSBzeXN0ZW0oY21kU3RyKTsKKyAJCisgCXRtcGZkID0gZm9wZW4oIi90bXAvcHJvY2Vzc2lkLnR4dCIsICJyKyIpOworZGlmZiAtLWdpdCBhL3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUgYi9zY3JpcHRzL2Rldl9zZW5kX2ZyYW1lCitpbmRleCA5ZTZhZmQzLi4zYzM3ZDYxIDEwMDY0NAorLS0tIGEvc2NyaXB0cy9kZXZfc2VuZF9mcmFtZQorKysrIGIvc2NyaXB0cy9kZXZfc2VuZF9mcmFtZQorQEAgLTEsNCArMSw0IEBACistIyEvYmluL2Jhc2ggCisrIyEvdXNyL2Jpbi9lbnYgc2ggCisgCisgIworICMgQ29weXJpZ2h0IChjKSAyMDE2IFdpLUZpIEFsbGlhbmNlCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9zdGFfcmVzZXRfcGFybSBiL3NjcmlwdHMvc3RhX3Jlc2V0X3Bhcm0KK2luZGV4IDJhZmYxZjEuLjJjMWMzMWUgMTAwNjQ0CistLS0gYS9zY3JpcHRzL3N0YV9yZXNldF9wYXJtCisrKysgYi9zY3JpcHRzL3N0YV9yZXNldF9wYXJtCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL3Vzci9iaW4vZW52IHNoCisgCisgIworICMgQ29weXJpZ2h0IChjKSAyMDE2IFdpLUZpIEFsbGlhbmNlCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93aWZpLXRlc3Qtc3VpdGUvZmlsZXMvMDAwNC1ydW4tcmFubGliLXBlci1saWJyYXJ5LWFuZC11c2UtQVIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhZjQ4OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL2ZpbGVzLzAwMDQtcnVuLXJhbmxpYi1wZXItbGlicmFyeS1hbmQtdXNlLUFSLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gY2NhMmY5OTAxZmI0ZmRjZGQ0OTA2NmZlNDM0ZWFlNTEyOTY0MTQzZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDkgRmViIDIwMTkgMDc6NTk6NDcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIHJ1biByYW5saWIgcGVyIGxpYnJhcnkgYW5kIHVzZSBBUgorCitVc2UgQVIgdmFyaWFibGUgdG8gaW52b2tlIGFyY2hpdmVyIGluc3RlYWQgb2YgaGFyZGNvZGluZywgaGVscHMgY3Jvc3MKK2NvbXBpbGUKKworY29tcGlsZXIgcmFubGliIGUuZy4gbGx2bS1yYW5saWIgZmFpbHMgdG8gb3BlcmF0ZSBvbiBtdWx0aXBsZSBhcmNoaXZlcworb24gc2luZ2xlIGludm9jYXRpb24KKworZml4ZXMgZXJyb3JzIGxpa2UKK2FybS15b2UtbGludXgtbXVzbGVhYmktbGx2bS1yYW5saWI6IGVycm9yOiBFeGFjdGx5IG9uZSBhcmNoaXZlIHNob3VsZCBiZSBzcGVjaWZpZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vV2ktRmlUZXN0U3VpdGUvV2ktRmlUZXN0U3VpdGUtTGludXgtRFVUL3B1bGwvNDddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliL01ha2VmaWxlIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlIGIvbGliL01ha2VmaWxlCitpbmRleCAyOTliOGQ2Li41ZmNhMzIyIDEwMDY0NAorLS0tIGEvbGliL01ha2VmaWxlCisrKysgYi9saWIvTWFrZWZpbGUKK0BAIC0yMCw3ICsyMCw5IEBAIGFsbDogICAgJHtMSUJfT0JKU30KKyAJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FfSAkPworIAkJJChBUikgY3J2ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQl9PQkpTX0RVVH0KKyAJCSQoQVIpIGNydiAke0xJQldGQV9OQU1FX0NBfSAke0xJQl9PQkpTX0NBfQorLQkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9ICR7TElCV0ZBX05BTUVfRFVUfSAke0xJQldGQV9OQU1FX0NBfQorKwkJJHtSQU5MSUJ9ICR7TElCV0ZBX05BTUV9CisrCQkke1JBTkxJQn0gJHtMSUJXRkFfTkFNRV9EVVR9CisrCQkke1JBTkxJQn0gJHtMSUJXRkFfTkFNRV9DQX0KKyAKKyB3ZmFfdGcubzogd2ZhX3RnLmMgLi4vaW5jL3dmYV9hZ3QuaCAuLi9pbmMvd2ZhX3R5cGVzLmggLi4vaW5jL3dmYV9yc3AuaCAuLi9pbmMvd2ZhX3Rsdi5oICAuLi9pbmMvd2ZhX3RnLmgKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvd2lmaS10ZXN0LXN1aXRlL3dpZmktdGVzdC1zdWl0ZV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS93aWZpLXRlc3Qtc3VpdGVfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5Y2ZiMzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dpZmktdGVzdC1zdWl0ZS93aWZpLXRlc3Qtc3VpdGVfZ2l0LmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgID0gIldpLUZpIFRlc3QgU3VpdGUgTGludXggQ29udHJvbCBBZ2VudCIKK0RFU0NSSVBUSU9OID0gIldpLUZpIFRlc3QgU3VpdGUgaXMgYSBzb2Z0d2FyZSBwbGF0Zm9ybSBvcmlnaW5hbGx5IGRldmVsb3BlZCBcCitieSBXaS1GaSBBbGxpYW5jZSwgdGhlIGdsb2JhbCBub24tcHJvZml0IGluZHVzdHJ5IGFzc29jaWF0aW9uIHRoYXQgYnJpbmdzIHlvdSBcCitXaS1GaSwgdG8gc3VwcG9ydCBjZXJ0aWZpY2F0aW9uIHByb2dyYW0gZGV2ZWxvcG1lbnQgYW5kIGRldmljZSBjZXJ0aWZpY2F0aW9uLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LndpLWZpLm9yZy9jZXJ0aWZpY2F0aW9uL3dpLWZpLXRlc3Qtc3VpdGUiCitMSUNFTlNFICA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MDU0MjQyN2VkNWMzMTVjYTM0YWEwOWFlN2E4NWVkMzIiCitTRUNUSU9OID0gInRlc3QiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitTUkNSRVYgPSAiZjdhOGQ3ZWY3ZDFhODMxYzFiYjQ3ZGUyMWZhMDgzNTM2ZWEyZjNhOSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9XaS1GaVRlc3RTdWl0ZS9XaS1GaVRlc3RTdWl0ZS1MaW51eC1EVVQuZ2l0IFwKKwlmaWxlOi8vMDAwMS1Vc2UtdG9vbGNoYWluLWZyb20tZW52aXJvbm1lbnQtdmFyaWFibGVzLnBhdGNoIFwKKwlmaWxlOi8vMDAwMi1BZGQtbWlzc2luZy1pbmNsdWRlLXJlbW92ZXMtdW5uZWRkZWQtc3R1ZmYtYW5kLWFkZC1uLnBhdGNoIFwKKwlmaWxlOi8vMDAwMy1maXgtcGF0aC10by11c3Itc2Jpbi1mb3Itc2NyaXB0LWFuZC1tYWtlLXNjcmlwdC1mb3ItLnBhdGNoIFwKKwlmaWxlOi8vMDAwNC1ydW4tcmFubGliLXBlci1saWJyYXJ5LWFuZC11c2UtQVIucGF0Y2ggXAorIgorCisjIHRvIGF2b2lkIGhvc3QgcGF0aCBRQSBlcnJvcgorQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjIgorIyBGaXggR05VIEhBU0ggZXJyb3IKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KKwlpbnN0YWxsIC1tIDA2NDQgJHtTfS9saWIvbGlid2ZhLmEgJHtEfSR7bGliZGlyfQorCWluc3RhbGwgLW0gMDY0NCAke1N9L2xpYi9saWJ3ZmFfY2EuYSAke0R9JHtsaWJkaXJ9CisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliL2xpYndmYV9kdXQuYSAke0R9JHtsaWJkaXJ9CisJaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L2R1dC93ZmFfZHV0ICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vY2Evd2ZhX2NhICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy8qLnNoICR7RH0ke3NiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy9hcnBfbmVpZ2hfbG9vcCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L3NjcmlwdHMvZGV2X3NlbmRfZnJhbWUgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9zY3JpcHRzL3N0YV9yZXNldF9wYXJtICR7RH0ke3NiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvY3ptcV80LjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2N6bXFfNC4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJkYjAwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb25uZWN0aXZpdHkvemVyb21xL2N6bXFfNC4xLjEuYmIKQEAgLTAsMCArMSwzMCBAQAorREVTQ1JJUFRJT04gPSAiQyBiaW5kaW5ncyBmb3IgWmVyb01RIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy56ZXJvbXEub3JnIgorTElDRU5TRSA9ICJNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTc0MWMzNDZlZWY1NjEzMTE2M2UxM2I5ZGIxMjQxYjMiCitERVBFTkRTID0gInplcm9tcSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vemVyb21xL2N6bXEvcmVsZWFzZXMvZG93bmxvYWQvdiR7UFZ9L2N6bXEtJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmQzYTZmZGQyNWMyYmIyOTg5N2M1MzY3MGRjZTk3YmYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjAwZmY0MTk4ODFkYzJhMDVkMDY4NmM4NDY3Y2Q4OWI0ODgyNjc3ZmM1NmYzMWMwZTJjYzgxYzEzNGNiYjBjMCIKKworaW5oZXJpdCBjbWFrZQorCitQQUNLQUdFUyA9ICJsaWIke0JQTn0gbGliJHtCUE59LWRldiBsaWIke0JQTn0tc3RhdGljZGV2ICR7UE59ICR7UE59LWRiZyIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyoiCitGSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiIKK0ZJTEVTX2xpYiR7QlBOfS1kZXYgPSAiJHtsaWJkaXJ9Lyouc28gJHtsaWJkaXJ9L3BrZ2NvbmZpZyAke2luY2x1ZGVkaXJ9IgorRklMRVNfbGliJHtCUE59LXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliKi5hIgorCitSREVQRU5EU19saWIke0JQTn0tZGV2ID0gInplcm9tcS1kZXYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJsejQgdXVpZCIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICIsLURDTUFLRV9ESVNBQkxFX0ZJTkRfUEFDS0FHRV9sejQ9VFJVRSxsejQiCitQQUNLQUdFQ09ORklHW3V1aWRdID0gIiwtRENNQUtFX0RJU0FCTEVfRklORF9QQUNLQUdFX3V1aWQ9VFJVRSx1dGlsLWxpbnV4IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29ubmVjdGl2aXR5L3plcm9tcS9maWxlcy8wMDAxLVByb2JsZW0tb3V0LW9mLWRhdGUtd2l0aC16cHJvamVjdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjU3MDJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvbm5lY3Rpdml0eS96ZXJvbXEvZmlsZXMvMDAwMS1Qcm9ibGVtLW91dC1vZi1kYXRlLXdpdGgtenByb2plY3QucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBkMTU1ZmZkMzM2MzBmODBiMjNjMzFiM2E2ZTAxZGEyMjFkZDliZDEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTHVjYSBCb2NjYXNzaSA8bHVjYS5ib2NjYXNzaUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDMwIE1hciAyMDE4IDE2OjM2OjIyICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFByb2JsZW06IG91dCBvZiBkYXRlIHdpdGggenByb2plY3QKKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogQWRyaWFuIEJ1bmsgPGJ1bmtAc3R1c3RhLmRlPgorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggYTNiODE3MjIuLjRmMjAzNDYxIDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtMzgsNyArMzgsNyBAQCBpZiAoTk9UIENNQUtFX0JVSUxEX1RZUEUpCisgICAgICAgICAgICAgT1VUUFVUX1NUUklQX1RSQUlMSU5HX1dISVRFU1BBQ0UKKyAgICAgICAgICkKKyAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJnaXQgd29ya3NwYWNlIHJvb3QgWyR7Z2l0X3Jlc3VsdH1dOiAke2dpdF9yb290fSIpCistICAgICAgICBpZiAoICIke2dpdF9yZXN1bHR9IiA9PSAiMCIgKQorKyAgICAgICAgaWYgKCAiJHtnaXRfcmVzdWx0fSIgU1RSRVFVQUwgIjAiICkKKyAgICAgICAgICAgICBzZXQgKENNQUtFX0JVSUxEX1RZUEUgRGVidWcpCisgICAgICAgICBlbHNlICgpCisgICAgICAgICAgICAgc2V0IChDTUFLRV9CVUlMRF9UWVBFIFJlbGVhc2UpCitAQCAtNjA4LDcgKzYwOCw3IEBAIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgVEFSR0VUICBkaXN0Y2xlYW4KKyApCisgCistaW5jbHVkZShDbGFuZ0Zvcm1hdCkKKytpbmNsdWRlKENsYW5nRm9ybWF0IE9QVElPTkFMKQorIAorICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgc3VtbWFyeQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtYnJva2VyXzE5LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl8xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmQ4YjhiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl8xOS5iYgpAQCAtMCwwICsxLDIxIEBACitTVU1NQVJZID0gImRidXMgYnJva2VyIgorREVTQ1JJUFRJT04gPSAiRHJvcC1pbiByZXBsYWNlbWVudCBmb3IgZGJ1cy1kYWVtb24uIgorCitTRUNUSU9OID0gImJhc2UiCisKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdiNDg2YzIzMzhkMjI1YTE0MDVkOTc5ZWQyYzE1Y2U4IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9idXMxL2RidXMtYnJva2VyL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9kYnVzLWJyb2tlci0ke1BWfS50YXIueHoiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTY0ODIyN2Y1YTM0N2Q0ZjM4ZDhhMjliYjkyOTVhNzNhMjVjM2ZlYjRmM2U3OWUzZjA0Y2M4NDczNDNkYTNlZCIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgc3lzdGVtZCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworREVQRU5EUyA9ICJleHBhdCBzeXN0ZW1kIgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAic3lzdGVtZCIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdXNlcl91bml0ZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy1icm9rZXJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl9naXQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMGYzMjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLWJyb2tlcl9naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gImRidXMgYnJva2VyIgotREVTQ1JJUFRJT04gPSAiRHJvcC1pbiByZXBsYWNlbWVudCBmb3IgZGJ1cy1kYWVtb24uIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdiNDg2YzIzMzhkMjI1YTE0MDVkOTc5ZWQyYzE1Y2U4IgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZXhwYXQiCi0KLVBWID0gIjE2K2dpdCR7U1JDUFZ9IgotU1JDUkVWID0gImZjODc0YWZhMDk5MmQwYzc1ZWMyNWFjYjQzZDM0NDY3OWYwZWU3ZDIiCi0KLVNSQ19VUkkgPSAiZ2l0c206Ly9naXRodWIuY29tL2J1czEvZGJ1cy1icm9rZXI7cHJvdG9jb2w9Z2l0IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBzeXN0ZW1kIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1FWFRSQV9PRU1FU09OICs9ICItRGRvY3M9ZmFsc2UiCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCi0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IgotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IgotCi1SREVQRU5EU18ke1BOfSA9ICJkYnVzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbC8wMDAxLWRoY3AtaW5jbHVkZS1pZl9hcnAuaC1mcm9tLWxpYmMtaW5zdGVhZC1vZi1saW51eC1oZWEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsLzAwMDEtZGhjcC1pbmNsdWRlLWlmX2FycC5oLWZyb20tbGliYy1pbnN0ZWFkLW9mLWxpbnV4LWhlYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWRhNjU0MC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsLzAwMDEtZGhjcC1pbmNsdWRlLWlmX2FycC5oLWZyb20tbGliYy1pbnN0ZWFkLW9mLWxpbnV4LWhlYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZDgyMzZkMWQ3ODlmNDk2YTE5M2RhZTVkMmExNWQ3MDZiODFmNjQ4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NYXJ0aW49MjBIdW5kZWI9QzM9QjhsbD89IDxtYXJ0aW5AZ2Vhbml4LmNvbT4KLURhdGU6IFRodSwgMTIgSnVsIDIwMTggMTA6MTk6NTAgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gZGhjcDogaW5jbHVkZSBpZl9hcnAuaCBmcm9tIGxpYmMgaW5zdGVhZCBvZiBsaW51eCBoZWFkZXJzCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci1UbzogZWxsQGxpc3RzLjAxLm9yZwotCi1Db21waWxhdGlvbiB3aXRoIG11c2wgbGliYyBmYWlscyBkdWUgdG8gcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QKLWFycHtyZXEscmVxX29sZCxoZHJ9JyBpbiBsaW51eC9pZl9hcnAuaCwgc2luY2UgaXQgaXMgYWxyZWFkeSBkZWZpbmVkIGFuZAotaW5jbHVkZWQgaW4gbmV0L2lmX2FycC5oICh0aHJvdWdoIG5ldC9ldGhlcm5ldC5oIC0+IG5ldC9pZl9ldGhlci5oKS4KLQotVGhlIG9ubHkgc3ltYm9scyB1c2VkIGZyb20gaWZfYXJwLmggaXMgQVJQSFJEX0VUSEVSLCBzbyBpdCBzaG91bGQgYmUKLXNhZmUgdG8gYXZvaWQgdGhlIGNvbXBpbGUgZXJyb3IgYnkgaW5jbHVkaW5nIHRoZSBpZl9hcnAuaCBoZWFkZXIgZnJvbQotdGhlIGMtbGlicmFyeSBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2xpc3RzLjAxLm9yZy9waXBlcm1haWwvZWxsLzIwMTgtSnVseS8wMDEyNDQuaHRtbF0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBIdW5kZWLDuGxsIDxtYXJ0aW5AZ2Vhbml4LmNvbT4KLS0tLQotIGVsbC9kaGNwLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9lbGwvZGhjcC5jIGIvZWxsL2RoY3AuYwotaW5kZXggNmM5MDM3MC4uMGQ5OWY3NCAxMDA2NDQKLS0tLSBhL2VsbC9kaGNwLmMKLSsrKyBiL2VsbC9kaGNwLmMKLUBAIC0yNyw3ICsyNyw3IEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L2lmX2FycC5oPgotKyNpbmNsdWRlIDxuZXQvaWZfYXJwLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHRpbWUuaD4KLSAKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC4xNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2YxMWNmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZWxsL2VsbF8wLjE3LmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgID0gIkVtYmVkZGVkIExpbnV4IExpYnJhcnkiCitERVNDUklQVElPTiA9ICJFTEwgaXMgYSBEQlVTIGxpYnJhcnkgd2hpY2ggcHJvdmlkZXMgREJVUyBiaW5kaW5ncy4iCitMSUNFTlNFICA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiNTA0YjY3YzUwMzMxZmM3ODczNGZlZDkwZmIwZTA5IgorU0VDVElPTiA9ICJsaWJzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJlYmMwMjFjZWUzYjJkMjBjYTJhZjVlM2VkMDI0OTVkYTYxNmIyZmQzIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpYnMvZWxsL2VsbC5naXQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICBta2RpciAtcCAke1N9L2J1aWxkLWF1eAorfQorCitERVBFTkRTID0gImRidXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9lbGwvZWxsXzAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDI4Y2FiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2VsbC9lbGxfMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSAgPSAiRW1iZWRkZWQgTGludXggTGlicmFyeSIKLURFU0NSSVBUSU9OID0gIkVMTCBpcyBhIERCVVMgbGlicmFyeSB3aGljaCBwcm92aWRlcyBEQlVTIGJpbmRpbmdzLiIKLUxJQ0VOU0UgID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkiCi1TRUNUSU9OID0gImxpYnMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDUkVWID0gImQ1NzIyODFjYWVkZWYzNTdjMzkyYTdjOWFhNjVhM2IyMWExOGNmZGIiCi1TUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9lbGwvZWxsLmdpdCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIG1rZGlyIC1wICR7U30vYnVpbGQtYXV4Ci19Ci0KLURFUEVORFMgPSAiZGJ1cyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW0vcmVtb3ZlLWV4YW1wbGVzLnBhdGNoCmluZGV4IGQzMmZlNzguLjQyZjI1MjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbS9yZW1vdmUtZXhhbXBsZXMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tL3JlbW92ZS1leGFtcGxlcy5wYXRjaApAQCAtMSw2ICsxLDcgQEAKLUZyb20gZjQ4YTY5ZmQxMWIyZWRhNmM0M2ZmMDQ2YzIwMmNiYzRkY2Q0ZTkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTIzNjAyNjBjMGQ3M2EwMDA4MmQ4NjdiYzQxNjIyNWZiYzJiNjU3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CiBEYXRlOiBUdWUsIDEyIEp1bCAyMDExIDExOjQ2OjM3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGdsaWJtbTogYWRkIDIuMjguMgogCiAtLS0KICBNYWtlZmlsZS5hbSAgfCA3ICstLS0tLS0KQEAgLTgsNyArOSw3IEBACiAgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KLWluZGV4IGEwZGY4YWYuLmMzZDVlMDYgMTAwNjQ0CitpbmRleCAxYjM2NmI0Li4wZmY1OGI1IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUuYW0KICsrKyBiL01ha2VmaWxlLmFtCiBAQCAtMjMsMTIgKzIzLDcgQEAgc3JjX3N1YmRpcnMgPSBnbGliL3NyYyBnaW8vc3JjCkBAIC0yNiw3ICsyNyw3IEBACiAgZ2xpYm1tX2luY2x1ZGVkaXIgPSAkKGluY2x1ZGVkaXIpLyQoR0xJQk1NX01PRFVMRV9OQU1FKQogIGdsaWJtbV9pbmNsdWRlX0hFQURFUlMgPSBnbGliL2dsaWJtbS5oCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBjMjBlNzc4Li43NDIwM2JlIDEwMDY0NAoraW5kZXggZTcwNjY4Ny4uMTk4ZTBkMCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCiBAQCAtMTY2LDcgKzE2Niw2IEBAIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUKQEAgLTM2LDQgKzM3LDQgQEAKIC0gICAgICAgICAgICAgICAgIGV4YW1wbGVzL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgICBkb2NzL01ha2VmaWxlCiAgICAgICAgICAgICAgICAgICBkb2NzL3JlZmVyZW5jZS9Eb3h5ZmlsZQotICAgICAgICAgICAgICAgICAgTVNWQ19OZXQyMDEzL2dsaWJtbS9nbGlibW0ucmMKKyAgICAgICAgICAgICAgICAgIE1TVkNfTk1ha2UvZ2xpYm1tL2dsaWJtbS5yYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmMDQ4ZDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYm1tXzIuNTYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLVNVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgZ2xpYiBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ndGttbS5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDJkZmZmZWJjNTZmZWM3NTI3YWFjNTNiN2E4OWQxZDggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAibW0tY29tbW9uIGdsaWItMi4wIGxpYnNpZ2MrKy0yLjAgZ2xpYi0yLjAtbmF0aXZlIgotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gIiBcCi0gICAgZnRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9nbGlibW0vJHtTSFJUX1ZFUn0vZ2xpYm1tLSR7UFZ9LnRhci54eiBcCi0gICAgZmlsZTovL3JlbW92ZS1leGFtcGxlcy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiNWFhN2E2MDA4NGZlM2UwMWQ3NDZjOTZmNGExMTUzMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU3NGZjYmEwZDI0NTQ1MWM1OGZjOGExOTZlOWQxMDM3ODliYzUxMGUxZWVlMWE5YjFlODE2YzUyMDllNzlhOSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCi0KLSAgICBpbnN0YWxsIC1tIDA2NDQgZ2xpYi9nbGlibW1jb25maWcuaCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40LwotICAgIGluc3RhbGwgLW0gMDY0NCBzY3JpcHRzL2dsaWJtbV9jaGVja19wZXJsLm00ICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwvIHx8IHRydWUKLQotICAgIGZvciBpIGluIGdlbmVyYXRlX3dyYXBfaW5pdC5wbCBnbW1wcm9jOyBkbwotICAgICAgICBzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvJGkKLSAgICBkb25lCi19Ci0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vZ2xpYm1tLSogJHtsaWJkaXJ9L2dsaWJtbS0yLjQvaW5jbHVkZS8gJHtsaWJkaXJ9L2dsaWJtbS0yLjQvcHJvYy8gJHtsaWJkaXJ9L2dpb21tLTIuNC9pbmNsdWRlLyIKLQotUkRFUEVORFNfJHtQTn0tZGV2ID0gInBlcmwiCi1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWJtbV8yLjU4LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41OC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3YWIwY2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGlibW1fMi41OC4xLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgZ2xpYiBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ndGttbS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDJkZmZmZWJjNTZmZWM3NTI3YWFjNTNiN2E4OWQxZDggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAibW0tY29tbW9uIGdsaWItMi4wIGxpYnNpZ2MrKy0yLjAgZ2xpYi0yLjAtbmF0aXZlIgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgorCitTUkNfVVJJID0gIiBcCisgICAgZnRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9nbGlibW0vJHtTSFJUX1ZFUn0vZ2xpYm1tLSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovL3JlbW92ZS1leGFtcGxlcy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNzdmMTAxNmNiYjI3ZTE1ZDRlMDRhMmI3YmZkYjRjYWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU1ZmUwM2JkZjFlMjIwZWVmZmQ1NDNlMDE3ZmQyZmIxNWJjZWM5MjM1ZjBmZmQ1MDY3NGFmZjkzNjJhODVmMCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hY2xvY2FsCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgZ2xpYi9nbGlibW1jb25maWcuaCAke0R9JHtkYXRhZGlyfS9nbGlibW0tMi40LworICAgIGluc3RhbGwgLW0gMDY0NCBzY3JpcHRzL2dsaWJtbV9jaGVja19wZXJsLm00ICR7RH0ke2RhdGFkaXJ9L2FjbG9jYWwvIHx8IHRydWUKKworICAgIGZvciBpIGluIGdlbmVyYXRlX3dyYXBfaW5pdC5wbCBnbW1wcm9jOyBkbworICAgICAgICBzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9nbGlibW0tMi40L3Byb2MvJGkKKyAgICBkb25lCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vZ2xpYm1tLSogJHtsaWJkaXJ9L2dsaWJtbS0yLjQvaW5jbHVkZS8gJHtsaWJkaXJ9L2dsaWJtbS0yLjQvcHJvYy8gJHtsaWJkaXJ9L2dpb21tLTIuNC9pbmNsdWRlLyIKKworUkRFUEVORFNfJHtQTn0tZGV2ID0gInBlcmwiCitTRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1M2JkNWRlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgbG9vc2UgY291cGxpbmcgb2YgQysrIG1ldGhvZCBjYWxscyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKLQotREVQRU5EUyA9ICJtbS1jb21tb24iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGlic2lnYysrLzIuMTAvbGlic2lnYysrLSR7UFZ9LnRhci54eiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3MGJjYmRlMmM5MDBlNDkyNWQ2ZWY0YmY1MDk1NDE5NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmODQzZDYzNDYyNjBiZmNiNDQyNjI1OWUzMTQ1MTJiOTllMjk2ZThjYTI0MWQ3NzFkMjFhYzY0ZjI4Mjk4ZDgxIgotCi1TID0gIiR7V09SS0RJUn0vbGlic2lnYysrLSR7UFZ9IgotCi1pbmhlcml0IGF1dG90b29scwotCi1FWFRSQV9BVVRPUkVDT05GID0gIi0tZXhjbHVkZT1hdXRvaGVhZGVyIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9zaWdjKystKi8iCi1GSUxFU18ke1BOfS1kb2MgKz0gIiR7ZGF0YWRpcn0vZGV2aGVscCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi1TRUNVUklUWV9DRkxBR1MgPSAiJHtTRUNVUklUWV9OT19QSUVfQ0ZMQUdTfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL2xpYnNpZ2MrKy0yLjAvbGlic2lnYysrLTIuMF8yLjEwLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDU0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9saWJzaWdjKystMi4wL2xpYnNpZ2MrKy0yLjBfMi4xMC4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBsb29zZSBjb3VwbGluZyBvZiBDKysgbWV0aG9kIGNhbGxzIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorCitERVBFTkRTID0gIm1tLWNvbW1vbiIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9saWJzaWdjKysvMi4xMC9saWJzaWdjKystJHtQVn0udGFyLnh6IgorU1JDX1VSSVttZDVzdW1dID0gIjU0OWNmZmJkYjcyZmExMDViNzgyNzU2ZjI3MTNmZmM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5YTI1ZjI2MTc4YzZjYmIxNDdmOTkwNGQ4YzUzM2I1YTVjNTExMWE0MWFjMmViNzgxZWI3MzRlZWE0NDYwMDMiCisKK1MgPSAiJHtXT1JLRElSfS9saWJzaWdjKystJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX0FVVE9SRUNPTkYgPSAiLS1leGNsdWRlPWF1dG9oZWFkZXIiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3NpZ2MrKy0qLyIKK0ZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9kZXZoZWxwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK1NFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvbmRjdGwvbmRjdGxfZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNDhmMTY2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX2dpdC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVNVTU1BUlkgPSAibGlibnZkaW1tIHV0aWxpdHkgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIlV0aWxpdHkgbGlicmFyeSBmb3IgbWFuYWdpbmcgdGhlIGxpYm52ZGltbSBcCi0obm9uLXZvbGF0aWxlIG1lbW9yeSBkZXZpY2UpIHN1Yi1zeXN0ZW0gaW4gdGhlIExpbnV4IGtlcm5lbC4gXAotVGhlIExJQk5WRElNTSBzdWJzeXN0ZW0gcHJvdmlkZXMgc3VwcG9ydCBmb3IgdGhyZWUgdHlwZXMgb2YgXAotTlZESU1NcywgbmFtZWx5LFBNRU0sIEJMSywgYW5kIE5WRElNTSBkZXZpY2VzIHRoYXQgY2FuIFwKLXNpbXVsdGFuZW91c2x5IHN1cHBvcnQgYm90aCBQTUVNIGFuZCBCTEsgbW9kZSBhY2Nlc3MuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5lbC9naXQvbnZkaW1tL252ZGltbS5naXQvdHJlZS9Eb2N1bWVudGF0aW9uL252ZGltbS9udmRpbW0udHh0P2g9bGlibnZkaW1tLWZvci1uZXh0IgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNjY2NTE4MDljYWM1ZGE2MGM4YjgwZTllNGU3OWUwOCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBtb2R1bGUtYmFzZSBiYXNoLWNvbXBsZXRpb24gc3lzdGVtZAotCi0jIHY2MgotU1JDUkVWID0gIjExZjU2MGY0MDQ4YzFkMzhiNzAxMWE0OTU2Njg3MWExZThhMDdjOTQiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcG1lbS9uZGN0bC5naXQiCi0KLURFUEVORFMgPSAidmlydHVhbC9rZXJuZWwga21vZCB1ZGV2IGpzb24tYyIKLQotUFYgPSAidjYyK2dpdCR7U1JDUFZ9IgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10ZXN0IC0tZW5hYmxlLWRlc3RydWN0aXZlIC0tZGlzYWJsZS1kb2NzIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZC11bml0LWRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGhvdXQtc3lzdGVtZC11bml0LWRpciwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICR7U30vYXV0b2dlbi5zaAotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibmRjdGwtbW9uaXRvci5zZXJ2aWNlIgotCi1DT01QQVRJQkxFX0hPU1Q9Jyh4ODZfNjQpLionCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF92NjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9uZGN0bC9uZGN0bF92NjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYzYWJmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL25kY3RsL25kY3RsX3Y2My5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gImxpYm52ZGltbSB1dGlsaXR5IGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJVdGlsaXR5IGxpYnJhcnkgZm9yIG1hbmFnaW5nIHRoZSBsaWJudmRpbW0gXAorKG5vbi12b2xhdGlsZSBtZW1vcnkgZGV2aWNlKSBzdWItc3lzdGVtIGluIHRoZSBMaW51eCBrZXJuZWwuIFwKK1RoZSBMSUJOVkRJTU0gc3Vic3lzdGVtIHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRocmVlIHR5cGVzIG9mIFwKK05WRElNTXMsIG5hbWVseSxQTUVNLCBCTEssIGFuZCBOVkRJTU0gZGV2aWNlcyB0aGF0IGNhbiBcCitzaW11bHRhbmVvdXNseSBzdXBwb3J0IGJvdGggUE1FTSBhbmQgQkxLIG1vZGUgYWNjZXNzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0uZ2l0L3RyZWUvRG9jdW1lbnRhdGlvbi9udmRpbW0vbnZkaW1tLnR4dD9oPWxpYm52ZGltbS1mb3ItbmV4dCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTY2NjUxODA5Y2FjNWRhNjBjOGI4MGU5ZTRlNzllMDgiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uIHN5c3RlbWQKKworU1JDUkVWID0gImNiMmQ2NzhkZDZkMjg2ZGQ5NmQzMTU0OGMzMjQ0OWE4Yjg4M2FlMzIiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcG1lbS9uZGN0bC5naXQiCisKK0RFUEVORFMgPSAidmlydHVhbC9rZXJuZWwga21vZCB1ZGV2IGpzb24tYyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS10ZXN0IC0tZW5hYmxlLWRlc3RydWN0aXZlIC0tZGlzYWJsZS1kb2NzIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kLCAtLXdpdGhvdXQtc3lzdGVtZCwgc3lzdGVtZCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgJHtTfS9hdXRvZ2VuLnNoCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZGN0bC1tb25pdG9yLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59ID0gImRpc2FibGUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW9lLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1vZS5iYgppbmRleCA2MmYxYzc3Li41ZmNmOTg5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLW9lLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtb2UuYmIKQEAgLTEzNiw4ICsxMzYsNyBAQAogICAgIGxpYnB3cXVhbGl0eSBsaWJxYiBsaWJ1aW8gXAogICAgIGxvY2tmaWxlLXByb2dzIGxvZ3dhdGNoIGxwcm5nIG1haWx4IG1kNWRlZXAgXAogICAgIG1vempzIG1yYWEgbmFuYSBuaWNzdGF0IFwKLSAgICBwN3ppcCBwOHBsYXRmb3JtIGxpYmZpbGUtZm5tYXRjaC1wZXJsIHBvbGtpdCBcCi0gICAgcG9sa2l0LWdyb3VwLXJ1bGUtZGF0ZXRpbWUgcG9sa2l0LWdyb3VwLXJ1bGUtbmV0d29yayBcCisgICAgcDd6aXAgcDhwbGF0Zm9ybSBsaWJmaWxlLWZubWF0Y2gtcGVybCBcCiAgICAgcmFycGQgcmVkaXMgcnJkdG9vbCBsaWJmYXN0anNvbiBsaWJyZWxwIHJzeXNsb2cgc2FubG9jayBcCiAgICAgc2JsaW0tY21waS1kZXZlbCBzYmxpbS1zZmMtY29tbW9uIHNibGltLXNmY2MgXAogICAgIHNjc2lyYXN0b29scyBzZ3BpbyBzbWFydG1vbnRvb2xzIHNuYXBweSBjYW4taXNvdHAgXApAQCAtMTQ4LDYgKzE0Nyw4IEBACiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJibHVleiIsICJjb2xsZWN0ZCIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInBhbS1wbHVnaW4tY2NyZWRzIHBhbS1wbHVnaW4tbGRhcGRiIiwgIiIsIGQpfSBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwYW0iLCAicGFtLXNzaC1hZ2VudC1hdXRoIG9wZW53c21hbiBzYmxpbS1zZmNiICIsICIiLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicG9sa2l0IiwgInBvbGtpdCBwb2xraXQtZ3JvdXAtcnVsZS1kYXRldGltZSAiLCAiIiwgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInBvbGtpdCIsICJwb2xraXQtZ3JvdXAtcnVsZS1uZXR3b3JrICIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJCQlBBVEgiLCAibWV0YS1weXRob24iLCAib3BlbmxtaS10b29scyIsICIiLCBkKX0gXAogICAgICIKIFJERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLW9lLWV4dGVuZGVkX3JlbW92ZV9taXBzYXJjaCA9ICJ1cG0gbXJhYSB0aXB0b3AiCkBAIC0yMjUsNyArMjI2LDcgQEAKICAgICBhbnRoeSBhc2lvIGF0b3AgYXVnZWFzIGF2cm8tYyBiZHdnYyBmcmFtZSBncmFpbCBcCiAgICAgY2NpZCBjZXJlcy1zb2x2ZXIgY2tlcm1pdCBjcHByZXN0IGN0YXBpLWNvbW1vbiBkYWVtb25pemUgXAogICAgIGRhZW1vbnRvb2xzIGRlYnN1bXMgZGV2bWVtMiBkZnUtdXRpbCBkZnUtdXRpbC1uYXRpdmUgZGlnaXRlbXAgXAotICAgIGRzdGF0IGVqZWN0IGVuY2EgZXBlZyBlc3BlYWsgZXNwZWFrLWRhdGEgZmJzZXQgZmJzZXQtbW9kZXMgXAorICAgIGRzdGF0IGVqZWN0IGVuY2EgZXBlZyBlc3BlYWsgZmJzZXQgZmJzZXQtbW9kZXMgXAogICAgIGZmdHcgZmx0ay1uYXRpdmUgZ2QgZ2ZsYWdzIGdsb2cgZ251bGliIGdwZXJmdG9vbHMgXAogICAgIGdwbSBncmFkbSBnc2wgZ3NvYXAgaGRkdGVtcCBoaWRhcGkgaHRvcCBodW5zcGVsbCBod2RhdGEgaWtzZW1lbCBcCiAgICAgbGliaW5paCBpbm90aWZ5LXRvb2xzIGpvZSBsY21zIGxjb3YgbGliYXRhc21hcnQgbGliYnl0ZXNpemUgXApAQCAtMjQyLDcgKzI0Myw3IEBACiAgICAgc2pmMjQxMC1saW51eC1uYXRpdmUgc2F0eXIgc2RwYXJtIHB0eS1mb3J3YXJkLW5hdGl2ZSBzZXJpYWwtZm9yd2FyZCBcCiAgICAgc2czLXV0aWxzIHNoYXJ1dGlscyBzbWVtIHNwaXRvb2xzIHNyZWNvcmQgc3NpYXBpIHN0YXJ0LXN0b3AtZGFlbW9uIHN0bTMyZmxhc2ggXAogICAgIHN5c2xvZy1uZyBzeXN0ZW0tY29uZmlnLWtleWJvYXJkIHRiYiB0aGluLXByb3Zpc2lvbmluZy10b29scyB0b2t5b2NhYmluZXQgXAotICAgIHRyZWUgdWRpc2tzIHVkaXNrczIgdWh1YmN0bCB1bml4b2RiYyB1cG93ZXIgdXJpcGFyc2VyIHVzYi1tb2Rlc3dpdGNoIFwKKyAgICB0cmVlIHVodWJjdGwgdW5peG9kYmMgdXJpcGFyc2VyIHVzYi1tb2Rlc3dpdGNoIFwKICAgICB1c2ItbW9kZXN3aXRjaC1kYXRhIHVzYnBhdGggdXRoYXNoIHV0b3VjaC1ldmVtdSB1dG91Y2gtZnJhbWUgXAogICAgIHZpbSB2aW0tdGlueSB3ZWJzb2NrZXRwcCB3bWljb25maWcgeGRlbHRhMyB4ZGctdXNlci1kaXJzIHhtbHN0YXJsZXQgXAogICAgIHpiYXIgemlsZSBcCkBAIC0yNTAsNiArMjUxLDcgQEAKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInB1bHNlYWRpbyBibHVlejQiLCAibGliY2FuYmVycmEiLCAiIiwgZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgIngxMSBwYW0iLCAieG9yZ3hyZHAgeHJkcCIsICIiLCBkKX0gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAiYmx1ZXo0IiwgInByb2NtYWlsIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJwb2xraXQiLCAidWRpc2tzIHVkaXNrczIgdXBvd2VyIiwgIiIsIGQpfSBcCiAgICAgJHtORTEwfSBcCiAgICAgIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9maWxlcy8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9maWxlcy8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2MzhmNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvZmlsZXMvMDAwMi1GaXgtYnVpbGQtd2l0aC1nbGliYy0yLjI4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSAwYzAzNDUzMDNiNzk3MWQ2Y2VjNDc4ZmQ4YjgxZDY0YmMxZmJlMGY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjEgQXVnIDIwMTggMjM6MjY6NDUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIHdpdGggPj0gZ2xpYmMgMi4yOAotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1TdG9sZW4gZnJvbSBbMV0KLQotWzFdIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjE5MQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJwbHktc3BsYXNoLWNvcmUvcGx5LXRlcm1pbmFsLmMgYi9zcmMvbGlicGx5LXNwbGFzaC1jb3JlL3BseS10ZXJtaW5hbC5jCi1pbmRleCBhMDk1NGYyLi5mM2IzMmZlIDEwMDY0NAotLS0tIGEvc3JjL2xpYnBseS1zcGxhc2gtY29yZS9wbHktdGVybWluYWwuYwotKysrIGIvc3JjL2xpYnBseS1zcGxhc2gtY29yZS9wbHktdGVybWluYWwuYwotQEAgLTMyLDYgKzMyLDcgQEAKLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDx0ZXJtaW9zLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDx3Y2hhci5oPgotLS0gCi0yLjE0LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTViMTZjOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS9wbHltb3V0aC9wbHltb3V0aF8wLjkuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY3ICswLDAgQEAKLVNVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKLQotREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCi0gICAgKGV2ZW4gYmVmb3JlIHRoZSByb290IGZpbGVzeXN0ZW0gaXMgbW91bnRlZCEpIHRoYXQgcHJvdmlkZXMgYSBcCi0gICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4gXAotIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1BseW1vdXRoIgotU0VDVElPTiA9ICJiYXNlIgotCi1MSUNFTlNFID0gIkdQTHYyKyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi0KLURFUEVORFMgPSAibGliY2FwIGxpYnBuZyBjYWlybyBkYnVzIHVkZXYiCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL3BzcGxhc2giCi1SUFJPVklERVNfJHtQTn0gPSAidmlydHVhbC1wc3BsYXNoIHZpcnR1YWwtcHNwbGFzaC1zdXBwb3J0IgotCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAotICAgIGZpbGU6Ly8wMDAxLU1ha2UtZnVsbC1wYXRoLXRvLXN5c3RlbWQtdHR5LWFzay1wYXNzd29yZC1hZ2VudC1jb24ucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLUZpeC1idWlsZC13aXRoLWdsaWJjLTIuMjgucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gImZmNDIwOTk0ZGViN2VhMjAzZGY2NzhkZjkyZTdhYjdkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJmMGNlODIwNDJjZjljN2VhZGQyNTE3YTFmNzRjOGE4NWZhODY5OTc4MWQ5ZjI5NGEwNmVhZGUyOWZiZWQ1N2YiCi0KLUVYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAotICAgIC0td2l0aC1sb2dvPSR7TE9HT30gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsIC0td2l0aC1zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQ9JHtiYXNlX2JpbmRpcn0vc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50JywgJycsIGQpfSBcCi0iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyBpbml0cmQiCi1QQUNLQUdFQ09ORklHX2FwcGVuZF94ODYgPSAiIGRybSIKLVBBQ0tBR0VDT05GSUdfYXBwZW5kX3g4Ni02NCA9ICIgZHJtIgotCi1QQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgotUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgotUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0ayszIgotUEFDS0FHRUNPTkZJR1tpbml0cmRdID0gIiwsLCIKLQotTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAotICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotCi0gICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBybSAtcmYgIiR7RH0ke2xpYmV4ZWNkaXJ9IgotICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAnJHtQTn0taW5pdHJkICcsICcnLCBkKX0iCi1QQUNLQUdFUyA9KyAiJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUiCi0KLUZJTEVTXyR7UE59LWluaXRyZCA9ICIke2xpYmV4ZWNkaXJ9L3BseW1vdXRoLyoiCi1GSUxFU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICIke3NiaW5kaXJ9L3BseW1vdXRoLXNldC1kZWZhdWx0LXRoZW1lIgotCi1GSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGx5bW91dGgvcmVuZGVyZXJzLy5kZWJ1ZyIKLQotCi1SREVQRU5EU18ke1BOfS1pbml0cmQgPSAiYmFzaCBkcmFjdXQiCi1SREVQRU5EU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICJiYXNoIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGx5bW91dGgtc3RhcnQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvcGx5bW91dGgvcGx5bW91dGhfMC45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1OTc3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3BseW1vdXRoL3BseW1vdXRoXzAuOS40LmJiCkBAIC0wLDAgKzEsNjcgQEAKK1NVTU1BUlkgPSAiUGx5bW91dGggaXMgYSBwcm9qZWN0IGZyb20gRmVkb3JhIHByb3ZpZGluZyBhIGZsaWNrZXItZnJlZSBncmFwaGljYWwgYm9vdCBwcm9jZXNzLiIKKworREVTQ1JJUFRJT04gPSAiUGx5bW91dGggaXMgYW4gYXBwbGljYXRpb24gdGhhdCBydW5zIHZlcnkgZWFybHkgaW4gdGhlIGJvb3QgcHJvY2VzcyBcCisgICAgKGV2ZW4gYmVmb3JlIHRoZSByb290IGZpbGVzeXN0ZW0gaXMgbW91bnRlZCEpIHRoYXQgcHJvdmlkZXMgYSBcCisgICAgZ3JhcGhpY2FsIGJvb3QgYW5pbWF0aW9uIHdoaWxlIHRoZSBib290IHByb2Nlc3MgaGFwcGVucyBpbiB0aGUgYmFja2dyb3VuZC4gXAorIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1BseW1vdXRoIgorU0VDVElPTiA9ICJiYXNlIgorCitMSUNFTlNFID0gIkdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGliY2FwIGxpYnBuZyBjYWlybyBkYnVzIHVkZXYiCitQUk9WSURFUyA9ICJ2aXJ0dWFsL3BzcGxhc2giCitSUFJPVklERVNfJHtQTn0gPSAidmlydHVhbC1wc3BsYXNoIHZpcnR1YWwtcHNwbGFzaC1zdXBwb3J0IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvcGx5bW91dGgvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgZmlsZTovLzAwMDEtTWFrZS1mdWxsLXBhdGgtdG8tc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50LWNvbi5wYXRjaCBcCisgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjRlZmE1NTUxZDIzMDE2NTk4MWIxMDVlN2M2YTUwYWE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRhMTk3YTRmMWEwNTc4NWQ3NDUzZGQ4MjliMjMxMzUyZmIyZDA5MTcxYmQ4NmM1ZmZhYWZiYjJkZDY3OTEzNTEiCisKK0VYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gXAorICAgIC0td2l0aC1sb2dvPSR7TE9HT30gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS1zeXN0ZW1kLWludGVncmF0aW9uIC0td2l0aC1zeXN0ZW0tcm9vdC1pbnN0YWxsIC0td2l0aC1zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQ9JHtiYXNlX2JpbmRpcn0vc3lzdGVtZC10dHktYXNrLXBhc3N3b3JkLWFnZW50JywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwYW5nbyBpbml0cmQiCitQQUNLQUdFQ09ORklHX2FwcGVuZF94ODYgPSAiIGRybSIKK1BBQ0tBR0VDT05GSUdfYXBwZW5kX3g4Ni02NCA9ICIgZHJtIgorCitQQUNLQUdFQ09ORklHW2RybV0gPSAiLS1lbmFibGUtZHJtLC0tZGlzYWJsZS1kcm0sbGliZHJtIgorUEFDS0FHRUNPTkZJR1twYW5nb10gPSAiLS1lbmFibGUtcGFuZ28sLS1kaXNhYmxlLXBhbmdvLHBhbmdvIgorUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0aywtLWRpc2FibGUtZ3RrLGd0ayszIgorUEFDS0FHRUNPTkZJR1tpbml0cmRdID0gIiwsLCIKKworTE9HTyA/Pz0gIiR7ZGF0YWRpcn0vcGx5bW91dGgvYml6Y29tLnBuZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBSZW1vdmUgL3Zhci9ydW4gZnJvbSBwYWNrYWdlIGFzIHBseW1vdXRoIHdpbGwgcG9wdWxhdGUgaXQgb24gc3RhcnR1cAorICAgIHJtIC1mciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorCisgICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBybSAtcmYgIiR7RH0ke2xpYmV4ZWNkaXJ9IgorICAgIGZpCit9CisKK1BBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbml0cmQnLCAnJHtQTn0taW5pdHJkICcsICcnLCBkKX0iCitQQUNLQUdFUyA9KyAiJHtQTn0tc2V0LWRlZmF1bHQtdGhlbWUiCisKK0ZJTEVTXyR7UE59LWluaXRyZCA9ICIke2xpYmV4ZWNkaXJ9L3BseW1vdXRoLyoiCitGSUxFU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICIke3NiaW5kaXJ9L3BseW1vdXRoLXNldC1kZWZhdWx0LXRoZW1lIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vcGx5bW91dGgvcmVuZGVyZXJzLy5kZWJ1ZyIKKworCitSREVQRU5EU18ke1BOfS1pbml0cmQgPSAiYmFzaCBkcmFjdXQiCitSREVQRU5EU18ke1BOfS1zZXQtZGVmYXVsdC10aGVtZSA9ICJiYXNoIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicGx5bW91dGgtc3RhcnQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC43LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY29yZS90b3lib3gvdG95Ym94XzAuNy41LmJiCmluZGV4IDFlYTg2OGYuLjYxNDEzNmUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jb3JlL3RveWJveC90b3lib3hfMC43LjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNvcmUvdG95Ym94L3RveWJveF8wLjcuNS5iYgpAQCAtNDgsNyArNDgsNyBAQAogICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L3RveWJveC5saW5rcyAke0R9JHtzeXNjb25mZGlyfQogfQogCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKK2luaGVyaXQgY21sMSB1cGRhdGUtYWx0ZXJuYXRpdmVzCiAKICMgSWYgeW91J3ZlIGNob3NlbiB0byBpbnN0YWxsIHRveWJveCB5b3UgcHJvYmFibHkgd2FudCBpdCB0byB0YWtlIHByZWNlZGVuY2UKICMgb3ZlciBidXN5Ym94IHdoZXJlIHBvc3NpYmxlIGJ1dCBub3Qgb3ZlciBvdGhlciBwYWNrYWdlcwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vYm90YW4vYm90YW5fMi43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkyODUzZDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjcuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE4IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0jIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCi0KLURFU0NSSVBUSU9OID0gIkNyeXB0byBhbmQgVExTIGZvciBDKysxMSIKLUhPTUVQQUdFID0gImh0dHBzOi8vYm90YW4ucmFuZG9tYml0Lm5ldCIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbGljZW5zZS50eHQ7bWQ1PWJmMzYxZmM2M2RmM2ZhMjU2NTJlZTgyYzQzYjc2MDFhIgotU0VDVElPTiA9ICJsaWJzIgotCi0KLSN2Mi43LjAKLVNSQ1JFViA9ICI1ODc0MDAwZDQyYzMzOGVjOTVhN2ZmMjRjZGMwYzY0ZTcwZjk2N2I1IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JhbmRvbWJpdC9ib3Rhbi5naXQiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgcHl0aG9uM25hdGl2ZSBzaXRlaW5mbyBsaWJfcGFja2FnZQotCi1DUFUgPz0gIiR7VEFSR0VUX0FSQ0h9IgotQ1BVX3g4NiA9ICJ4ODZfMzIiCi1DUFVfYXJtdjdhID0gImFybXY3IgotQ1BVX2FybXY3dmUgPSAiYXJtdjciCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQlweXRob24zICR7U30vY29uZmlndXJlLnB5IFwKLQktLXByZWZpeD0iJHtEfSR7cHJlZml4fSIgXAotCS0tY3B1PSIke0NQVX0iIFwKLQktLWNjLWJpbj0iJHtDWFh9IiBcCi0JLS1jeHhmbGFncz0iJHtDWFhGTEFHU30iIFwKLQktLWxkZmxhZ3M9IiR7TERGTEFHU30iIFwKLQktLXdpdGgtZW5kaWFuPSR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCdTSVRFSU5GT19FTkRJQU5ORVNTJywgJ2xlJywgJ2xpdHRsZScsICdiaWcnLCBkKX0gXAotCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwibmVvbiIsIiIsIi0tZGlzYWJsZS1uZW9uIixkKX0gXAotCS0td2l0aC1zeXNyb290LWRpcj0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAotCS0td2l0aC1idWlsZC1kaXI9IiR7Qn0iIFwKLQktLW9wdGltaXplLWZvci1zaXplIFwKLQktLXdpdGgtc3RhY2stcHJvdGVjdG9yIFwKLQktLWVuYWJsZS1zaGFyZWQtbGlicmFyeSBcCi0JLS13aXRoLXB5dGhvbi12ZXJzaW9ucz0zIFwKLQkke0VYVFJBX09FQ09ORn0KLX0KLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlCi19Ci1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbAotCXNlZCAtaSAtZSAic3wke0R9fHxnIiAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9ib3Rhbi0yLnBjCi19Ci0KLVBBQ0tBR0VTICs9ICIke1BOfS1weXRob24zIgotCi1GSUxFU18ke1BOfS1weXRob24zID0gIiR7bGliZGlyfS9weXRob24zIgotCi1SREVQRU5EU18ke1BOfS1weXRob24zICs9ICJweXRob24zIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2JvdGFuL2JvdGFuXzIuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2QyNWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9ib3Rhbi9ib3Rhbl8yLjkuMC5iYgpAQCAtMCwwICsxLDUzIEBACisjIENvcHlyaWdodCAoQykgMjAxOCBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitERVNDUklQVElPTiA9ICJDcnlwdG8gYW5kIFRMUyBmb3IgQysrMTEiCitIT01FUEFHRSA9ICJodHRwczovL2JvdGFuLnJhbmRvbWJpdC5uZXQiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UudHh0O21kNT1mNGMxNDVkNGQ3MGEzMjQ0YTA1M2M5ZjkwZDQ4NDFmYyIKK1NFQ1RJT04gPSAibGlicyIKKworU1JDX1VSSSA9ICJodHRwczovL2JvdGFuLnJhbmRvbWJpdC5uZXQvcmVsZWFzZXMvQm90YW4tJHtQVn0udGd6IgorU1JDX1VSSVttZDVzdW1dID0gImRiODQwM2Q2YTJmMTBjMjBmZGUzZjNjNzZiZTlhMDQ1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwNTU2NDM1MjMzNGRkNjNhZTYzZGIwMzkwNzdkOTZhZTUyZGZhNTdhMzI0ODg3MTA4MTcxOWI2YTlmMmQxMTkiCisKK1MgPSAiJHtXT1JLRElSfS9Cb3Rhbi0ke1BWfSIKKworaW5oZXJpdCBweXRob24zbmF0aXZlIHNpdGVpbmZvIGxpYl9wYWNrYWdlCisKK0NQVSA/PSAiJHtUQVJHRVRfQVJDSH0iCitDUFVfeDg2ID0gIng4Nl8zMiIKK0NQVV9hcm12N2EgPSAiYXJtdjciCitDUFVfYXJtdjd2ZSA9ICJhcm12NyIKKworZG9fY29uZmlndXJlKCkgeworCXB5dGhvbjMgJHtTfS9jb25maWd1cmUucHkgXAorCS0tcHJlZml4PSIke0R9JHtwcmVmaXh9IiBcCisJLS1jcHU9IiR7Q1BVfSIgXAorCS0tY2MtYmluPSIke0NYWH0iIFwKKwktLWN4eGZsYWdzPSIke0NYWEZMQUdTfSIgXAorCS0tbGRmbGFncz0iJHtMREZMQUdTfSIgXAorCS0td2l0aC1lbmRpYW49JHtAb2UudXRpbHMuY29uZGl0aW9uYWwoJ1NJVEVJTkZPX0VORElBTk5FU1MnLCAnbGUnLCAnbGl0dGxlJywgJ2JpZycsIGQpfSBcCisJJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCJuZW9uIiwiIiwiLS1kaXNhYmxlLW5lb24iLGQpfSBcCisJLS13aXRoLXN5c3Jvb3QtZGlyPSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCisJLS13aXRoLWJ1aWxkLWRpcj0iJHtCfSIgXAorCS0tb3B0aW1pemUtZm9yLXNpemUgXAorCS0td2l0aC1zdGFjay1wcm90ZWN0b3IgXAorCS0tZW5hYmxlLXNoYXJlZC1saWJyYXJ5IFwKKwktLXdpdGgtcHl0aG9uLXZlcnNpb25zPTMgXAorCSR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlKCkgeworCW9lX3J1bm1ha2UKK30KK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBpbnN0YWxsCisJc2VkIC1pIC1lICJzfCR7RH18fGciICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL2JvdGFuLTIucGMKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbjMiCisKK0ZJTEVTXyR7UE59LXB5dGhvbjMgPSAiJHtsaWJkaXJ9L3B5dGhvbjMiCisKK1JERVBFTkRTXyR7UE59LXB5dGhvbjMgKz0gInB5dGhvbjMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2NyeXB0c2V0dXAvY3J5cHRzZXR1cF8yLjAuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMC40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYzdiYzZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotU1VNTUFSWSA9ICJNYW5hZ2UgcGxhaW4gZG0tY3J5cHQgYW5kIExVS1MgZW5jcnlwdGVkIHZvbHVtZXMiCi1ERVNDUklQVElPTiA9ICJDcnlwdHNldHVwIGlzIHVzZWQgdG8gY29udmVuaWVudGx5IHNldHVwIGRtLWNyeXB0IG1hbmFnZWQgXAotZGV2aWNlLW1hcHBlciBtYXBwaW5ncy4gVGhlc2UgaW5jbHVkZSBwbGFpbiBkbS1jcnlwdCB2b2x1bWVzIGFuZCBcCi1MVUtTIHZvbHVtZXMuIFRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgTFVLUyB1c2VzIGEgbWV0YWRhdGEgaGVhZGVyIFwKLWFuZCBjYW4gaGVuY2Ugb2ZmZXIgbW9yZSBmZWF0dXJlcyB0aGFuIHBsYWluIGRtLWNyeXB0LiBPbiB0aGUgb3RoZXIgXAotaGFuZCwgdGhlIGhlYWRlciBpcyB2aXNpYmxlIGFuZCB2dWxuZXJhYmxlIHRvIGRhbWFnZS4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGxhYi5jb20vY3J5cHRzZXR1cC9jcnlwdHNldHVwIgotU0VDVElPTiA9ICJjb25zb2xlIgotTElDRU5TRSA9ICJHUEwtMi4wLXdpdGgtT3BlblNTTC1leGNlcHRpb24iCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zMjEwN2RkMjgzYjFkZmViNjZjOWIzZTZiZTMxMjMyNiIKLQotREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGxpYmRldm1hcHBlciBwb3B0IGxpYmdjcnlwdCBqc29uLWMiCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy8ke0JQTn0vdjIuMC8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiZWQ0MmIzMWY2N2QwNWIwNWUzOTJkMTk0M2Q0NjdiOGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWQzYTNjNzAzMzI5M2UwYzk3ZjBhZDA1MDFmZDViNGQ0OTEzYWU0OTdjYmY3MGNjYTA2NjMzY2NjNTRiNTczNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotIyBVc2Ugb3BlbnNzbCBiZWNhdXNlIGxpYmdjcnlwdCBkcm9wcyByb290IHByaXZpbGVnZXMKLSMgaWYgbGliZ2NyeXB0IGlzIGxpbmtlZCB3aXRoIGxpYmNhcCBzdXBwb3J0Ci1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPW9wZW5zc2wsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPWdjcnlwdCwsbGliZ2NyeXB0IgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWFlcy1nZW5lcmljIFwKLSAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtZG0tY3J5cHQgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1tZDUgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1jYmMgXAotICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1zaGEyNTYtZ2VuZXJpYyBcCi0gICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXh0cyBcCi0iCi0KLUVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCi0KLUZJTEVTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJyR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2NyeXB0c2V0dXAuY29uZicsICcnLCBkKX0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9jcnlwdHNldHVwL2NyeXB0c2V0dXBfMi4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YxZDIyMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vY3J5cHRzZXR1cC9jcnlwdHNldHVwXzIuMS4wLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiTWFuYWdlIHBsYWluIGRtLWNyeXB0IGFuZCBMVUtTIGVuY3J5cHRlZCB2b2x1bWVzIgorREVTQ1JJUFRJT04gPSAiQ3J5cHRzZXR1cCBpcyB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkbS1jcnlwdCBtYW5hZ2VkIFwKK2RldmljZS1tYXBwZXIgbWFwcGluZ3MuIFRoZXNlIGluY2x1ZGUgcGxhaW4gZG0tY3J5cHQgdm9sdW1lcyBhbmQgXAorTFVLUyB2b2x1bWVzLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IExVS1MgdXNlcyBhIG1ldGFkYXRhIGhlYWRlciBcCithbmQgY2FuIGhlbmNlIG9mZmVyIG1vcmUgZmVhdHVyZXMgdGhhbiBwbGFpbiBkbS1jcnlwdC4gT24gdGhlIG90aGVyIFwKK2hhbmQsIHRoZSBoZWFkZXIgaXMgdmlzaWJsZSBhbmQgdnVsbmVyYWJsZSB0byBkYW1hZ2UuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRsYWIuY29tL2NyeXB0c2V0dXAvY3J5cHRzZXR1cCIKK1NFQ1RJT04gPSAiY29uc29sZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMC13aXRoLU9wZW5TU0wtZXhjZXB0aW9uIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzIxMDdkZDI4M2IxZGZlYjY2YzliM2U2YmUzMTIzMjYiCisKK0RFUEVORFMgPSAidXRpbC1saW51eCBsaWJkZXZtYXBwZXIgcG9wdCBsaWJnY3J5cHQganNvbi1jIgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvJHtCUE59L3Yke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfS8ke0JQfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiNDFkOGI5ODVlZjY5MjQyODUyYjkzZTk1ZDUzZThlMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTNlZWIyNzQxZjhmMzM3NmQxNjU4NTE5MWYzYzYwZTA2N2RkOTg3ZTA5NmMzYzRiMDczZmFiNzc0OGIxYzg5NyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworIyBVc2Ugb3BlbnNzbCBiZWNhdXNlIGxpYmdjcnlwdCBkcm9wcyByb290IHByaXZpbGVnZXMKKyMgaWYgbGliZ2NyeXB0IGlzIGxpbmtlZCB3aXRoIGxpYmNhcCBzdXBwb3J0CitQQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPW9wZW5zc2wsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWNyeXB0b19iYWNrZW5kPWdjcnlwdCwsbGliZ2NyeXB0IgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLWFlcy1nZW5lcmljIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtZG0tY3J5cHQgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1tZDUgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1jYmMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1zaGEyNTYtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLXh0cyBcCisiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zdGF0aWMiCisKK0ZJTEVTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJyR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2NyeXB0c2V0dXAuY29uZicsICcnLCBkKX0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlia2NhcGkvbGlia2NhcGlfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKaW5kZXggYTkzZGRjOC4uNDZjNjZhMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJrY2FwaS9saWJrY2FwaV9naXQuYmIKQEAgLTEsMTQgKzEsMTMgQEAKIFNVTU1BUlkgPSAiTGludXggS2VybmVsIENyeXB0byBBUEkgVXNlciBTcGFjZSBJbnRlcmZhY2UgTGlicmFyeSIKIEhPTUVQQUdFID0gImh0dHA6Ly93d3cuY2hyb25veC5kZS9saWJrY2FwaS5odG1sIgogTElDRU5TRSA9ICJCU0QgfCBHUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDA0MjFjZjIzMTQyM2JkYTEwY2VhNjkxYjYxM2U4NjYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xNGQ1YTY4YjI4NzU1YzA0ZWJkYmEyMjZlODg4YjE1NyIKIAogREVQRU5EUyA9ICJsaWJ0b29sIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgotIyBVc2UgdjEuMS4zIHdpdGggY2hhbmdlcyBvbiB0b3AgZm9yIGJ1aWxkaW5nIGluIE9FCi1TUkNSRVYgPSAiMWM3MzZjNDNlYjcxZmJiNTY0MGQwMGVmYWYzNGExZWRmMTk3MmM0OSIKLVBWID0gIjEuMS4zK2dpdCR7U1JDUFZ9IgorU1JDUkVWID0gIjNjNTY5MzRmNDRhOGY1YTEyNTdjMzQyOTQyZTZlMDM0ZmM2ZjIwYmUiCitQViA9ICIxLjEuNCtnaXQke1NSQ1BWfSIKIFNSQ19VUkkgPSAiIFwKICAgICBnaXQ6Ly9naXRodWIuY29tL3NtdWVsbGVyREQvbGlia2NhcGkuZ2l0IFwKICIKQEAgLTE2LDEzICsxNSwxNyBAQAogaW5oZXJpdCBhdXRvdG9vbHMKIAogUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbdGVzdGFwcF0gPSAiLS1lbmFibGUta2NhcGktdGVzdCwsLCIKK1BBQ0tBR0VDT05GSUdbdGVzdGFwcF0gPSAiLS1lbmFibGUta2NhcGktdGVzdCwsLGJhc2giCiBQQUNLQUdFQ09ORklHW2FwcHNdID0gIi0tZW5hYmxlLWtjYXBpLXNwZWVkIC0tZW5hYmxlLWtjYXBpLWhhc2hlciAtLWVuYWJsZS1rY2FwaS1ybmdhcHAgLS1lbmFibGUta2NhcGktZW5jYXBwIC0tZW5hYmxlLWtjYXBpLWRnc3RhcHAsLCwiCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewogICAgICMgYmluZGlyIGNvbnRhaW5zIHRlc3RhcHAgYW5kIGFwcHMuICBIb3dldmVyIGl0IGlzIGFsd2F5cyBjcmVhdGVkLCBldmVuCiAgICAgIyB3aGVuIG5vIGJpbmFyaWVzIGFyZSBpbnN0YWxsZWQgKGVtcHR5IGJpbl9QUk9HUkFNUyBpbiBNYWtlZmlsZS5hbSksCiAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7YmluZGlyfQorCisgICAgIyBSZW1vdmUgdGhlIGdlbmVyYXRlZCBiaW5hcnkgY2hlY2tzdW0gZmlsZXMKKyAgICBybSAtZiAke0R9JHtiaW5kaXJ9Ly4qLmhtYWMKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9Ly4qLmhtYWMKIH0KIAogQ1BQRkxBR1NfYXBwZW5kX2xpYmMtbXVzbF90b29sY2hhaW4tY2xhbmcgPSAiIC1Xbm8tZXJyb3I9c2lnbi1jb21wYXJlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1jcnlwdG8vbGlic29kaXVtL2xpYnNvZGl1bV8xLjAuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3ZjM4ZmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFNvZGl1bSBjcnlwdG8gbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHA6Ly9saWJzb2RpdW0ub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2plZGlzY3QxL2xpYnNvZGl1bS9pc3N1ZXMiCi1MSUNFTlNFID0gIklTQyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTdmNWVjYmExZmE3OTNmYzFmM2M4ZjMyZDZjYjVhMzdiIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQubGlic29kaXVtLm9yZy9saWJzb2RpdW0vcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzN2IxODgzOWU1N2U3YTYyODM0MjMxMzk1YzhlOTYyYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZWFkYzdlMWUxYmNlZjA5NjgwZmI0ODM3ZDQ0OGZiZGY1NzIyNDk3OGY4NjVhYzFjMTY3NDU4NjhmYmQwNTMzIgotCi1pbmhlcml0IGF1dG90b29scwotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtY3J5cHRvL2xpYnNvZGl1bS9saWJzb2RpdW1fMS4wLjE3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDkzMDJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWNyeXB0by9saWJzb2RpdW0vbGlic29kaXVtXzEuMC4xNy5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRoZSBTb2RpdW0gY3J5cHRvIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vbGlic29kaXVtLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qZWRpc2N0MS9saWJzb2RpdW0vaXNzdWVzIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00NzIwM2M3NTM5NzJlODU1MTc5ZGZmZmUxNTE4OGJlZSIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLmxpYnNvZGl1bS5vcmcvbGlic29kaXVtL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMGY3MWUyNjgwMTg3YTE1NThiNTQ2MWU2ODc5MzQyYzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGNjM2RhZTMzZTY0MmNjMTg3YjVjZWI0NjdlMGFkMGUxYjUxZGNiYTU3N2RlMTE5MGU5ZmZhMTc3NjZhYzJiMSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9sZXZlbGRiL2xldmVsZGJfZ2l0LmJiCmluZGV4IDhmZWM4OWMuLjkwOGFkM2UgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbGV2ZWxkYi9sZXZlbGRiX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL2xldmVsZGIvbGV2ZWxkYl9naXQuYmIKQEAgLTM1LDMgKzM1LDcgQEAKIAogUEFDS0FHRVMgPSsgIiR7UE59LXB0ZXN0IgogRklMRVNfJHtQTn0tcHRlc3QgPSAiJHtiaW5kaXJ9IgorCisjIERvIG5vdCB0cnkgdG8gYnVpbGQgbGliMzItbGV2ZWxkYiBmb3IgbWlwczY0LCBidXQgYWxsb3cgbGlibjMyLWxldmVsZGIuCisjCitDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2hvMzJfcG4tbGliMzItbGV2ZWxkYiA9ICJudWxsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1OTc0MjIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi8wMDAxLWFzaW8tRG9udC11c2UtZXhwZXJpbWVudGFsLXdpdGgtY2xhbmcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSAzMWNhNWM1NjNmMWQ5YTNmNzAyNThiZTNkZDJiMWU1NDdhNjVhNTUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBGZWIgMjAxOSAwMDoyMToxMiAtMDgwMAorU3ViamVjdDogW1BBVENIXSBhc2lvOiBEb250IHVzZSBleHBlcmltZW50YWwgd2l0aCBjbGFuZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgLi4uL2FzaW8tbWFzdGVyL2FzaW8vaW5jbHVkZS9hc2lvL2RldGFpbC9zdHJpbmdfdmlldy5ocHAgICAgICB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdGhpcmRfcGFydHkvYXNpby1tYXN0ZXIvYXNpby9pbmNsdWRlL2FzaW8vZGV0YWlsL3N0cmluZ192aWV3LmhwcCBiL3NyYy90aGlyZF9wYXJ0eS9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwCitpbmRleCAyMjJjMDIxODZkLi4zYmY3NDk0NTI5IDEwMDY0NAorLS0tIGEvc3JjL3RoaXJkX3BhcnR5L2FzaW8tbWFzdGVyL2FzaW8vaW5jbHVkZS9hc2lvL2RldGFpbC9zdHJpbmdfdmlldy5ocHAKKysrKyBiL3NyYy90aGlyZF9wYXJ0eS9hc2lvLW1hc3Rlci9hc2lvL2luY2x1ZGUvYXNpby9kZXRhaWwvc3RyaW5nX3ZpZXcuaHBwCitAQCAtMjgsOCArMjgsOCBAQAorIG5hbWVzcGFjZSBhc2lvIHsKKyAKKyAjaWYgZGVmaW5lZChBU0lPX0hBU19TVERfRVhQRVJJTUVOVEFMX1NUUklOR19WSUVXKQorLXVzaW5nIHN0ZDo6ZXhwZXJpbWVudGFsOjpiYXNpY19zdHJpbmdfdmlldzsKKy11c2luZyBzdGQ6OmV4cGVyaW1lbnRhbDo6c3RyaW5nX3ZpZXc7CisrdXNpbmcgc3RkOjpiYXNpY19zdHJpbmdfdmlldzsKKyt1c2luZyBzdGQ6OnN0cmluZ192aWV3OworICNlbHNlIC8vIGRlZmluZWQoQVNJT19IQVNfU1REX0VYUEVSSU1FTlRBTF9TVFJJTkdfVklFVykKKyB1c2luZyBzdGQ6OmJhc2ljX3N0cmluZ192aWV3OworIHVzaW5nIHN0ZDo6c3RyaW5nX3ZpZXc7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi9kaXNhYmxlLWh3LWNyYzMyLW9uLWFybTY0LXMzOTB4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGIvZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNkNDkyMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYi9kaXNhYmxlLWh3LWNyYzMyLW9uLWFybTY0LXMzOTB4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotaW1wb3J0ZWQgZnJvbSBkZWJpYW4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1JbmRleDogZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL1NDb25zY3JpcHQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9TQ29uc2NyaXB0Ci0rKysgZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL1NDb25zY3JpcHQKLUBAIC0xODEsNyArMTgxLDkgQEAgaWYgdXNlU25hcHB5OgotICMgSWYgbm90IGF2YWlsYWJsZSBhdCBydW50aW1lLCB3ZSBmYWxsIGJhY2sgdG8gc29mdHdhcmUgaW4gc29tZSBjYXNlcy4KLSAjCi0gIyBPbiB6U2VyaWVzIHdlIG1heSBkaXNhYmxlIGJlY2F1c2UgU0xFUyAxMSBrZXJuZWwgZG9lIG5vdCBzdXBwb3J0IHRoZSBpbnN0cnVjdGlvbnMuCi0taWYgbm90IChlbnZbJ1RBUkdFVF9BUkNIJ10gPT0gJ3MzOTB4JyBhbmQgZ2V0X29wdGlvbigidXNlLXMzOTB4LWNyYzMyIikgPT0gIm9mZiIpOgotKyMgRGViaWFuOiBkaXNhYmxlIGhhcmR3YXJlLWFzc2lzdGVkIGNyYzMyIG9uIHMzOTB4IGFuZCBhcm02NCwgYXMgYXQgbGVhc3QgdGhlCi0rIyBidWlsZGQncyBkbyBub3Qgc3VwcG9ydCB0aGUgaW5zdHJ1Y3Rpb25zLgotK2lmIGVudlsnVEFSR0VUX0FSQ0gnXSBub3QgaW4gKCdzMzkweCcsICdhcm02NCcsICdhYXJjaDY0Jyk6Ci0gICAgIGVudi5BcHBlbmQoQ1BQREVGSU5FUz1bIkhBVkVfQ1JDMzJfSEFSRFdBUkUiXSkKLSAKLSB3dGxpYiA9IGVudi5MaWJyYXJ5KAotSW5kZXg6IGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9kaXN0L2ZpbGVsaXN0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvc3JjL3RoaXJkX3BhcnR5L3dpcmVkdGlnZXIvZGlzdC9maWxlbGlzdAotKysrIGdpdC9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9kaXN0L2ZpbGVsaXN0Ci1AQCAtNTQsNyArNTQsNiBAQCBzcmMvY2hlY2tzdW0vcG93ZXI4L2NyYzMyX3dyYXBwZXIuYwlQT1dFCi0gc3JjL2NoZWNrc3VtL3NvZnR3YXJlL2NoZWNrc3VtLmMKLSBzcmMvY2hlY2tzdW0veDg2L2NyYzMyLXg4Ni5jCQlYODZfSE9TVAotIHNyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMJWlNFUklFU19IT1NUCi0tc3JjL2NoZWNrc3VtL3pzZXJpZXMvY3JjMzJsZS12eC5zeAlaU0VSSUVTX0hPU1QKLSBzcmMvY29uZmlnL2NvbmZpZy5jCi0gc3JjL2NvbmZpZy9jb25maWdfYXBpLmMKLSBzcmMvY29uZmlnL2NvbmZpZ19jaGVjay5jCi1JbmRleDogZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL3NyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvdGhpcmRfcGFydHkvd2lyZWR0aWdlci9zcmMvY2hlY2tzdW0venNlcmllcy9jcmMzMi1zMzkweC5jCi0rKysgZ2l0L3NyYy90aGlyZF9wYXJ0eS93aXJlZHRpZ2VyL3NyYy9jaGVja3N1bS96c2VyaWVzL2NyYzMyLXMzOTB4LmMKLUBAIC03Nyw2ICs3Nyw3IEBAIHVuc2lnbmVkIGludCBfX3d0X2NyYzMyY19sZSh1bnNpZ25lZCBpbnQKLSAJCXJldHVybiBjcmM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAJfQotIAotKyNpZiBkZWZpbmVkKEhBVkVfQ1JDMzJfSEFSRFdBUkUpCi0gLyogTWFpbiBDUkMtMzIgZnVuY3Rpb25zICovCi0gREVGSU5FX0NSQzMyX1ZYKF9fd3RfY3JjMzJjX2xlX3Z4LCBfX3d0X2NyYzMyY19sZV92Z2ZtXzE2LCBfX3d0X2NyYzMyY19sZSkKLSAKLUBAIC04OSw2ICs5MCw3IEBAIF9fd3RfY2hlY2tzdW1faHcoY29uc3Qgdm9pZCAqY2h1bmssIHNpemUKLSB7Ci0gCXJldHVybiAofl9fd3RfY3JjMzJjX2xlX3Z4KDB4ZmZmZmZmZmYsIGNodW5rLCBsZW4pKTsKLSB9Ci0rI2VuZGlmCi0gCi0gI2VuZGlmCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL21vbmdvZGIvbW9uZ29kYl9naXQuYmIKaW5kZXggZDM5YWIwYS4uNTNhOWY2NiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9tb25nb2RiL21vbmdvZGJfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbW9uZ29kYi9tb25nb2RiX2dpdC5iYgpAQCAtMSw2ICsxLDYgQEAKIFNVTU1BUlkgPSAibW9uZ29kYiIKLUxJQ0VOU0UgPSAiQUdQTC0zLjAgJiBBcGFjaGUtMi4wICYgWmxpYiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0dOVS1BR1BMLTMuMC50eHQ7bWQ1PTczZjFlYjIwNTE3YzU1YmY5NDkzYjdkZDZlNDgwNzg4IFwKK0xJQ0VOU0UgPSAiU1NQTC0xICYgQXBhY2hlLTIuMCAmIFpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLUNvbW11bml0eS50eHQ7bWQ1PTNhODY1ZjI3ZjExZjQzZWNiZTU0MmQ5ZWEzODdkY2YxIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FQQUNIRS0yLjAudHh0O21kNT0zYjgzZWY5NjM4N2YxNDY1NWZjODU0ZGRjM2M2YmQ1NyIKIAogREVQRU5EUyA9ICJvcGVuc3NsIGxpYnBjcmUgbGlicGNhcCB6bGliIGJvb3N0IGN1cmwgcHl0aG9uIFwKQEAgLTEwLDkgKzEwLDkgQEAKIAogaW5oZXJpdCBzY29ucyBkb3MydW5peCBzaXRlaW5mbyBweXRob25uYXRpdmUKIAotUFYgPSAiNC4wLjErZ2l0JHtTUkNQVn0iCi0jdjQuMC4xCi1TUkNSRVYgPSAiNTRmMTU4MmZjNmViMDFkZTRkNGM0MmYyNmZjMTMzZTYyM2YwNjVmYiIKK1BWID0gIjQuMC42K2dpdCR7U1JDUFZ9IgorI3Y0LjAuNgorU1JDUkVWID0gImNhYTQyYTFmNzVhNTZjNzY0M2QwYjY4ZDM4ODA0NDQzNzVlYzQyZTMiCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbW9uZ29kYi9tb25nby5naXQ7YnJhbmNoPXY0LjAgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1UZWxsLXNjb25zLXRvLXVzZS1idWlsZC1zZXR0aW5ncy1mcm9tLWVudmlyb25tZW50LXZhLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLWxvbmctbG9uZy1pbnN0ZWFkLW9mLWludDY0X3QucGF0Y2ggXApAQCAtMjAsOCArMjAsOCBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtYS1kZWZpbml0aW9uLWZvci10aGUtbWFjcm8tX19FTEZfTkFUSVZFX0NMQVNTLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FybTY0LXN1cHBvcnQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1JbnRlbFJERlBNYXRoTGliMjBVMS1DaGVjay1mb3ItX19ERUZJTkVEX3djaGFyX3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ody1jcmMzMi1vbi1hcm02NC1zMzkweC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN1cHBvcnQtZGVwcmVjYXRlZC1yZXNvbHZlci1mdW5jdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hc2lvLURvbnQtdXNlLWV4cGVyaW1lbnRhbC13aXRoLWNsYW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0iXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZGVmYXVsdC1zdGFjay1zaXplLXRvLTI1NksucGF0Y2ggXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV8xMC4zLjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV8xMC4zLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxYTAzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzEwLjMuMTMuYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSBtYXJpYWRiLmluYworaW5oZXJpdCBuYXRpdmUKKworUFJPVklERVMgKz0gIm15c3FsNS1uYXRpdmUiCitERVBFTkRTID0gIm5jdXJzZXMtbmF0aXZlIHpsaWItbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAiIgorUEFDS0FHRVMgPSAiIgorRVhUUkFfT0VNQUtFID0gIiIKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSBzcWwvZ2VuX2xleF9oYXNoICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHNxbC9nZW5fbGV4X3Rva2VuICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IGV4dHJhL2NvbXBfZXJyICR7RH0ke2JpbmRpcn0vCisgICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvY29tcF9zcWwgJHtEfSR7YmluZGlyfS8KK30KKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLW5hdGl2ZV81LjUuNjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzUuNS42Mi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNlOTYwZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGItbmF0aXZlXzUuNS42Mi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLXJlcXVpcmUgbWFyaWFkYi5pbmMKLWluaGVyaXQgbmF0aXZlCi0KLVBST1ZJREVTICs9ICJteXNxbDUtbmF0aXZlIgotREVQRU5EUyA9ICJuY3Vyc2VzLW5hdGl2ZSB6bGliLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLVJERVBFTkRTXyR7UE59ID0gIiIKLVBBQ0tBR0VTID0gIiIKLUVYVFJBX09FTUFLRSA9ICIiCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDA3NTUgc3FsL2dlbl9sZXhfaGFzaCAke0R9JHtiaW5kaXJ9LwotICAgIGluc3RhbGwgLW0gMDc1NSBleHRyYS9jb21wX2VyciAke0R9JHtiaW5kaXJ9LwotICAgIGluc3RhbGwgLW0gMDc1NSBzY3JpcHRzL2NvbXBfc3FsICR7RH0ke2JpbmRpcn0vCi19Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIuaW5jCmluZGV4IDhjYTViMmIuLmZjYTc0ZDQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLmluYwpAQCAtNCwxMCArNCw3IEBACiBMSUNFTlNFID0gIkdQTHYyIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9kb3dubG9hZHMubWFyaWFkYi5vcmcvZi8ke0JQfS9zb3VyY2UvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBcCitTUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWRzLm1hcmlhZGIub3JnL2ludGVyc3RpdGlhbC8ke0JQTn0tJHtQVn0vc291cmNlLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICBmaWxlOi8vbXkuY25mIFwKICAgICAgICAgICAgZmlsZTovL215c3FsZC5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL2luc3RhbGxfZGIuc2VydmljZSBcCkBAIC0xNSwxMSArMTIsMTUgQEAKICAgICAgICAgICAgZmlsZTovL215c3FsLXN5c3RlbWQtc3RhcnQgXAogICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3N1cHBvcnQtZmlsZXMtQ01ha2VMaXN0cy50eHQtZml4LWRvX3BvcHVsYXRlX3N5c3Jvb3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3FsLUNNYWtlTGlzdHMudHh0LWZpeC1nZW5fbGV4X2hhc2gtbm90LWZvdW5kLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2MxMV9hdG9taWNzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nX3ZlcnNpb25faGVhZGVyX2NvbmZsaWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1hcm0tYXRvbWljLnBhdGNoIFwKICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiNjM3NWQ1NzdlOTUzOWI4MzlmNDRkODU3ZTcwZjgyYjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTZhMzY1YWY3MWI4YTllYzhiZmVlMDgwMWUyZGVjOTUwMTFkYThlZTc1MDc5ODZjYTMyOWJlMTEyOTY0MTFkYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MDNjZTQyZTM1YjlhNjg4ZjJjY2EwNTI3NWFjYjVjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiMmFhODU3ZWY1Yjg0Zjg1YTdlYTYwYTFlYWM3YjM0YzBjYTUxNTFjNzFhMGQ0NGNlMmQ3ZmIwMjhkNzE0NTlhIgogCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL01hcmlhREIvc2VydmVyL3JlbGVhc2VzIgogCkBAIC02Miw3ICs2Myw3IEBACiAjIE1hcmlhREIgZG9lc24ndCBsaW5rIHByb3Blcmx5IHdpdGggZ29sZAogIyBodHRwczovL21hcmlhZGIuYXRsYXNzaWFuLm5ldC9icm93c2UvTURFVi01OTgyCiBUQVJHRVRfQ0ZMQUdTICs9ICItZnVzZS1sZD1iZmQiCi0KK0xERkxBR1MgKz0gIiAtcHRocmVhZCIKIEJVSUxEX0NGTEFHUyArPSAiLWZ1c2UtbGQ9YmZkIgogQlVJTERfQ1hYRkxBR1MgKz0gIi1mdXNlLWxkPWJmZCIKIApAQCAtMTIwLDYgKzEyMSwxMSBAQAogICAgICAgICAgICAgZWNobyAiI2VuZGlmIiA+PiR7Qn0vaW5jbHVkZS9vcGVuc3NsL2tzc2wuaAogICAgICAgICBmaQogICAgIGZpCisgICAgIyB3b3JrYXJvdW5kIHRvIGhhbmRsZSBvdXQtb2Ytc291cmNlIGJ1aWxkIGZyb20gc291cmNlIHBhY2thZ2UKKyAgICB5YWNjX2ZpbGVzPSJzcWxfeWFjYy5oaCBzcWxfeWFjYy5jYyBzcWxfeWFjY19vcmEuaGggc3FsX3lhY2Nfb3JhLmNjIgorICAgIGZvciB5YWNjX2ZpbGUgaW4gJHt5YWNjX2ZpbGVzfTsgZG8KKyAgICAgICAgY3AgJHtTfS9zcWwvJHt5YWNjX2ZpbGV9ICR7Qn0vc3FsLyR7eWFjY19maWxlfQorICAgIGRvbmUKIH0KIAogU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJtYXJpYWRiX3N5c3Jvb3RfcHJlcHJvY2VzcyIKQEAgLTE4MSwxMyArMTg3LDEzIEBACiBSREVQRU5EU18ke1BOfS1zZXJ2ZXIgPSAicGVybCBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBcCiAgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBwZXJsLW1vZHVsZS1maWxlLXBhdGggcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lIFwKICAgICBwZXJsLW1vZHVsZS1maWxlLWNvcHkgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLXBvc2l4IFwKLSAgICAke1BOfS1jbGllbnQgbGliZGJpLXBlcmwgbGliZGJkLW15c3FsLXBlcmwiCisgICAgJHtQTn0tY2xpZW50ICR7UE59LXNldHVwZGIgbGliZGJpLXBlcmwgbGliZGJkLW15c3FsLXBlcmwiCiBSREVQRU5EU18ke1BOfS1sZWZ0b3ZlcnMgPSAicGVybCBwZXJsLW1vZHVsZS1jd2QgcGVybC1tb2R1bGUtYmVuY2htYXJrIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIFwKICAgICBwZXJsLW1vZHVsZS1wb3NpeCBwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciBwZXJsLW1vZHVsZS1zaWd0cmFwIHBlcmwtbW9kdWxlLXRocmVhZHMgXAogICAgIHBlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgcGVybC1tb2R1bGUtZmlsZS1jb3B5IFwKICAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgcGVybC1tb2R1bGUtZmlsZS1maW5kIHBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgcGVybC1tb2R1bGUtZmlsZS1wYXRoIFwKICAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBwZXJsLW1vZHVsZS1saWIgcGVybC1tb2R1bGUtZmlsZS10ZW1wIHBlcmwtbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IHBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCBwZXJsLW1vZHVsZS1pby1zZWxlY3QgYmFzaCIKIFJERVBFTkRTXyR7UE59LXNldHVwZGIgPSAiY29yZXV0aWxzIgogCiAjIEFsbG93IG9sZCBjb2RlIHRvIGxpbmsgdG8gdGhlIGJhY2t3YXJkIGNvbXBhdGlibGUgbGlicmFyeQpAQCAtMTk1LDEwICsyMDEsMTIgQEAKIAogRklMRVNfbGlibXlzcWxjbGllbnQgPSAiXAogICAgICR7bGliZGlyfS9saWJteXNxbGNsaWVudC5zby4qIFwKKyAgICAke2xpYmRpcn0vbGlibWFyaWFkYi5zby4qIFwKICAgICAke3N5c2NvbmZkaXJ9L215LmNuZi5kL2NsaWVudC5jbmYiCiBGSUxFU19saWJteXNxbGNsaWVudC1kZXYgPSAiIFwKICAgICAke2luY2x1ZGVkaXJ9L215c3FsLyBcCiAgICAgJHtsaWJkaXJ9L2xpYm15c3FsY2xpZW50LnNvIFwKKyAgICAke2xpYmRpcn0vbGlibWFyaWFkYi5zbyBcCiAgICAgJHtzeXNjb25mZGlyfS9hY2xvY2FsIFwKICAgICAke2JpbmRpcn0vbXlzcWxfY29uZmlnIgogRklMRVNfbGlibXlzcWxjbGllbnQtc3RhdGljZGV2ID0gIlwKQEAgLTIxNSw5ICsyMjMsMTEgQEAKIEZJTEVTX2xpYm15c3FsY2xpZW50LXItc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJteXNxbGNsaWVudF9yLmEiCiAKIEZJTEVTX2xpYm15c3FsZCA9ICJcCi0gICAgJHtsaWJkaXJ9L2xpYm15c3FsZC5zby4qIgorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYm1hcmlhZGJkLnNvLioiCiBGSUxFU19saWJteXNxbGQtZGV2ID0gIlwKLSAgICAke2xpYmRpcn0vbGlibXlzcWxkLnNvIgorICAgICR7bGliZGlyfS9saWJteXNxbGQuc28gXAorICAgICR7bGliZGlyfS9saWJtYXJpYWRiZC5zbyIKIAogRklMRVNfJHtQTn0tY2xpZW50ID0gIlwKICAgICAke2JpbmRpcn0vbXlpc2FtX2Z0ZHVtcCBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvMDAwMS1kaXNhYmxlLXVjb250ZXh0LW9uLW11c2wucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvMDAwMS1kaXNhYmxlLXVjb250ZXh0LW9uLW11c2wucGF0Y2gKaW5kZXggNjBlOTE5OS4uZGFmMjQzMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiLzAwMDEtZGlzYWJsZS11Y29udGV4dC1vbi1tdXNsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi8wMDAxLWRpc2FibGUtdWNvbnRleHQtb24tbXVzbC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNWJjM2U3ZWY5NzAwZDEyMDU0ZTAxMjVhMTI2ZjFiYjA5M2YwMWVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjY1OGJkYjM4YjdmZjZhNzg5MTVmZDBhYzM5MGZjMjI0ZTQwMDZjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDI2IE1hciAyMDE3IDE0OjMwOjMzIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIGRpc2FibGUgdWNvbnRleHQgb24gbXVzbApAQCAtNiwxMiArNiwxMyBAQAogbXVzbCBkb2VzIG5vdCBoYXZlICpjb250ZXgoKSBBUElzIGV2ZW4gdGhvdWdoIGl0IGhhcyB1Y29udGV4dC5oIGhlYWRlcgogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBpbmNsdWRlL215X2NvbnRleHQuaCB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2luY2x1ZGUvbXlfY29udGV4dC5oIGIvaW5jbHVkZS9teV9jb250ZXh0LmgKLWluZGV4IGRkNDQxMDMuLjliMjhjMTcgMTAwNjQ0CitpbmRleCBlYTBlMzQ5Ni4uNGM5YjM3ZGMgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL215X2NvbnRleHQuaAogKysrIGIvaW5jbHVkZS9teV9jb250ZXh0LmgKIEBAIC0zMSw3ICszMSw3IEBACkBAIC0yMyw2ICsyNCwzIEBACiAgI2RlZmluZSBNWV9DT05URVhUX1VTRV9VQ09OVEVYVAogICNlbHNlCiAgI2RlZmluZSBNWV9DT05URVhUX0RJU0FCTEUKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jMTFfYXRvbWljcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jMTFfYXRvbWljcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjk5ODYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2MxMV9hdG9taWNzLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0F1dGhvcjogVmljZW7Im2l1IENpb3JiYXJ1IDx2aWNlbnRpdUBtYXJpYWRiLm9yZz4KK0RhdGU6ICAgRnJpIERlYyAyMSAxOToxNDowNCAyMDE4ICswMjAwCisKKyAgIExpbmsgd2l0aCBsaWJhdG9taWMgdG8gZW5hYmxlIEMxMSBhdG9taWNzIHN1cHBvcnQKKworICAgU29tZSBhcmNoaXRlY3R1cmVzIChtaXBzKSByZXF1aXJlIGxpYmF0b21pYyB0byBzdXBwb3J0IHByb3BlcgorICAgYXRvbWljIG9wZXJhdGlvbnMuIENoZWNrIGZpcnN0IGlmIHN1cHBvcnQgaXMgYXZhaWxhYmxlIHdpdGhvdXQKKyAgIGxpbmtpbmcsIG90aGVyd2lzZSB1c2UgdGhlIGxpYnJhcnkuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvY29uZmlndXJlLmNtYWtlCisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC05MjYsNyArOTI2LDI1IEBAIGludCBtYWluKCkKKyAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKyAgIHJldHVybiAoaW50KV9fYXRvbWljX2xvYWRfbihwdHIsIF9fQVRPTUlDX1NFUV9DU1QpOworIH0iCistSEFWRV9HQ0NfQzExX0FUT01JQ1MpCisrSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSE9VVF9MSUJBVE9NSUMpCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhPVVRfTElCQVRPTUlDKQorKyAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrRUxTRSgpCisrICBTRVQoT0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFUyAke0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCisrICBMSVNUKEFQUEVORCBDTUFLRV9SRVFVSVJFRF9MSUJSQVJJRVMgImF0b21pYyIpCisrICBDSEVDS19DWFhfU09VUkNFX0NPTVBJTEVTKCIKKysgIGludCBtYWluKCkKKysgIHsKKysgICAgbG9uZyBsb25nIGludCB2YXI9IDE7CisrICAgIGxvbmcgbG9uZyBpbnQgKnB0cj0gJnZhcjsKKysgICAgcmV0dXJuIChpbnQpX19hdG9taWNfbG9hZF9uKHB0ciwgX19BVE9NSUNfU0VRX0NTVCk7CisrICB9IgorKyAgSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBJRihIQVZFX0dDQ19DMTFfQVRPTUlDU19XSVRIX0xJQkFUT01JQykKKysgICAgU0VUKEhBVkVfR0NDX0MxMV9BVE9NSUNTIFRydWUpCisrICBFTkRJRigpCisrICBTRVQoQ01BS0VfUkVRVUlSRURfTElCUkFSSUVTICR7T0xEX0NNQUtFX1JFUVVJUkVEX0xJQlJBUklFU30pCisrRU5ESUYoKQorIAorIElGKFdJVEhfVkFMR1JJTkQpCisgICBTRVQoSEFWRV92YWxncmluZCAxKQorLS0tIGEvbXlzeXMvQ01ha2VMaXN0cy50eHQKKysrKyBiL215c3lzL0NNYWtlTGlzdHMudHh0CitAQCAtNzgsNiArNzgsMTAgQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGRidWcgc3RyaW5ncworICAke0xJQk5TTH0gJHtMSUJNfSAke0xJQlJUfSAke0xJQkRMfSAke0xJQlNPQ0tFVH0gJHtMSUJFWEVDSU5GT30gJHtDUkMzMl9MSUJSQVJZfSkKKyBEVFJBQ0VfSU5TVFJVTUVOVChteXN5cykKKyAKKytJRiAoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJRVMobXlzeXMgYXRvbWljKQorK0VORElGKCkKKysKKyBJRihIQVZFX0JGRF9IKQorICAgVEFSR0VUX0xJTktfTElCUkFSSUVTKG15c3lzIGJmZCkgIAorIEVORElGKEhBVkVfQkZEX0gpCistLS0gYS9zcWwvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NxbC9DTWFrZUxpc3RzLnR4dAorQEAgLTE3OCw2ICsxNzgsMTAgQEAgRUxTRSgpCisgICBTRVQoTVlTUUxEX1NPVVJDRSBtYWluLmNjICR7RFRSQUNFX1BST0JFU19BTEx9KQorIEVORElGKCkKKyAKKytJRiAoSEFWRV9HQ0NfQzExX0FUT01JQ1NfV0lUSF9MSUJBVE9NSUMpCisrICBUQVJHRVRfTElOS19MSUJSQVJJRVMoc3FsIGF0b21pYykKKytFTkRJRigpCisrCisgCisgSUYoTVNWQyBBTkQgTk9UIFdJVEhPVVRfRFlOQU1JQ19QTFVHSU5TKQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NoYW5nZS1jYy10by1jYy12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmJkYTI0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jaGFuZ2UtY2MtdG8tY2MtdmVyc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLW1hcmlhZGI6IHJlcGxhY2UgdGhlIENDIHdpdGggQ0NfVkVSU0lPTiBhbmQgQ1hYIHdpdGggQ1hYX1ZFUlNJT04KLQotbXlzcWxidWcuc2ggaXMgYSBidWcgcmVwb3J0IHNjcmlwdC4gSXQgbWFrZXMgYSByZXBvcnQgd2l0aCB0aGUgYnVpbGQgaW5mb3JtYXRpb24sCi1pbmNsdWRpbmcgZ2NjIHZlcnNpb24uIFRoZSBDQyBpcyB0aGUgbG9jYWwgcGF0aCBvZiBnY2MsIHdoaWNoIGlzIHVzZWxlc3MgZm9yIGJ1ZwotcmVwb3J0LCBhbmQgdGhlIHBhdGggbWF5IGV4cG9zZSBwcml2YXRlIGluZm9ybWF0aW9uLCBzbyBjaGFuZ2UgaXQgdG8gQ0NfVkVSU0lPTi4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFl1ZSBUYW8gPFl1ZS5UYW9Ad2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLWRpZmYgLS1naXQgYS9zY3JpcHRzL215c3FsYnVnLnNoLm9sZCBiL3NjcmlwdHMvbXlzcWxidWcuc2gKLWluZGV4IGU5ZGYyMTAuLmQ0YjhkNTMgMTAwNjQ0Ci0tLS0gYS9zY3JpcHRzL215c3FsYnVnLnNoLm9sZAotKysrIGIvc2NyaXB0cy9teXNxbGJ1Zy5zaAotQEAgLTI0LDggKzI0LDggQEAgVkVSU0lPTj0iQFZFUlNJT05AQE1ZU1FMX1NFUlZFUl9TVUZGSVhAIgotIENPTVBJTEFUSU9OX0NPTU1FTlQ9IkBDT01QSUxBVElPTl9DT01NRU5UQCIKLSBCVUdteXNxbD0ibWFyaWEtZGV2ZWxvcGVyc0BsaXN0cy5sYXVuY2hwYWQubmV0IgotICMgVGhpcyBpcyBzZXQgYnkgY29uZmlndXJlCi0tQ09NUF9DQUxMX0lORk89IkNDPSdAU0FWRV9DQ0AnICBDRkxBR1M9J0BTQVZFX0NGTEFHU0AnICBDWFg9J0BTQVZFX0NYWEAnICBDWFhGTEFHUz0nQFNBVkVfQ1hYRkxBR1NAJyAgTERGTEFHUz0nQFNBVkVfTERGTEFHU0AnICBBU0ZMQUdTPSdAU0FWRV9BU0ZMQUdTQCciCi0tQ09NUF9SVU5fSU5GTz0iQ0M9J0BDQ0AnICBDRkxBR1M9J0BDRkxBR1NAJyAgQ1hYPSdAQ1hYQCcgIENYWEZMQUdTPSdAQ1hYRkxBR1NAJyAgTERGTEFHUz0nQExERkxBR1NAJyAgQVNGTEFHUz0nQEFTRkxBR1NAJyIKLStDT01QX0NBTExfSU5GTz0iQ0M9J0BDQ19WRVJTSU9OQCcgIENGTEFHUz0nQFNBVkVfQ0ZMQUdTQCcgIENYWD0nQENYWF9WRVJTSU9OQCcgIENYWEZMQUdTPSdAU0FWRV9DWFhGTEFHU0AnICBMREZMQUdTPSdAU0FWRV9MREZMQUdTQCcgIEFTRkxBR1M9J0BTQVZFX0FTRkxBR1NAJyIKLStDT01QX1JVTl9JTkZPPSJDQz0nQENDX1ZFUlNJT05AJyAgQ0ZMQUdTPSdAQ0ZMQUdTQCcgIENYWD0nQENYWF9WRVJTSU9OQCcgIENYWEZMQUdTPSdAQ1hYRkxBR1NAJyAgTERGTEFHUz0nQExERkxBR1NAJyAgQVNGTEFHUz0nQEFTRkxBR1NAJyIKLSBDT05GSUdVUkVfTElORT0iQENPTkZfQ09NTUFOREAiCi0gCi0gTElCQ19JTkZPPSIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2xhbmdfdmVyc2lvbl9oZWFkZXJfY29uZmxpY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY2xhbmdfdmVyc2lvbl9oZWFkZXJfY29uZmxpY3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc3YTg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9jbGFuZ192ZXJzaW9uX2hlYWRlcl9jb25mbGljdC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitsaWJjKysgYWxzbyBoYXMgYSBmaWxlIGNhbGxlZCB2ZXJzaW9uIGFuZCB0aGlzIGZpbGUgYW5kIGhvdyBjZmxhZ3MgYXJlIHNwZWNpZmllZAoraXQgZW5kcyB1cCBpbmNsdWRpbmcgdGhpcyBmaWxlIGFuZCByZXN1bHRpbmcgaW4gY29tcGlsZSBlcnJvcnMKKworZml4ZXMgZXJyb3JzIGxpa2UKK3N0b3JhZ2UvbXJvb25nYS92ZXJzaW9uOjE6MTogZXJyb3I6IGV4cGVjdGVkIHVucXVhbGlmaWVkLWlkCis3LjA3CiteCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tIGEvc3RvcmFnZS9tcm9vbmdhL0NNYWtlTGlzdHMudHh0CisrKysgYi9zdG9yYWdlL21yb29uZ2EvQ01ha2VMaXN0cy50eHQKK0BAIC04MCw3ICs4MCw3IEBAIGVsc2UoKQorICAgc2V0KE1STl9TT1VSQ0VfRElSICR7Q01BS0VfU09VUkNFX0RJUn0pCisgZW5kaWYoKQorIAorLWZpbGUoUkVBRCAke01STl9TT1VSQ0VfRElSfS92ZXJzaW9uICAgICAgICBNUk5fVkVSU0lPTikKKytmaWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyICAgICAgICAgICAgTVJOX1ZFUlNJT04pCisgZmlsZShSRUFEICR7TVJOX1NPVVJDRV9ESVJ9L3ZlcnNpb25fbWFqb3IgIE1STl9WRVJTSU9OX01BSk9SKQorIGZpbGUoUkVBRCAke01STl9TT1VSQ0VfRElSfS92ZXJzaW9uX21pbm9yICBNUk5fVkVSU0lPTl9NSU5PUikKKyBmaWxlKFJFQUQgJHtNUk5fU09VUkNFX0RJUn0vdmVyc2lvbl9taWNybyAgTVJOX1ZFUlNJT05fTUlDUk8pCistLS0gL2Rldi9udWxsCisrKysgYi9zdG9yYWdlL21yb29uZ2EvdmVyCitAQCAtMCwwICsxIEBACisrNy4wNworXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCistLS0gYS9zdG9yYWdlL21yb29uZ2EvdmVyc2lvbgorKysrIC9kZXYvbnVsbAorQEAgLTEgKzAsMCBAQAorLTcuMDcKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2NvbmZpZ3VyZS5jbWFrZS1maXgtdmFsZ3JpbmQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaAppbmRleCBlOTdkZWY2Li5hYzk0Mjc5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvY29uZmlndXJlLmNtYWtlLWZpeC12YWxncmluZC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNWVmZmJhMGQ3ZDQ3MDcxYTNmMWJjYTU2ODIzMTkwZDVhOTViYjFhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjRlMmIwZWRjMjYxMmFjZWZjYzQ4NDE0YmI2ZjBhZWIwODYwNjFhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDEyIE5vdiAyMDE0IDAzOjA5OjEwIC0wNTAwCitEYXRlOiBUdWUsIDI2IEZlYiAyMDE5IDIzOjU3OjA2IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5jbWFrZTogZml4IHZhbGdyaW5kCiAKIENoZWNrIHZhbGdyaW5kIGhlYWRlcnMgb25seSBpZiBXSVRIX1ZBTEdSSU5EIGlzIHNldC4KQEAgLTE1LDI3ICsxNSwyNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CisKIC0tLQotIGNvbmZpZ3VyZS5jbWFrZSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgY29uZmlndXJlLmNtYWtlIHwgNSArKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuY21ha2UgYi9jb25maWd1cmUuY21ha2UKLWluZGV4IDBiZDdiYmUuLjUxYTA5OGYgMTAwNjQ0CitpbmRleCAzY2ZjNGIzMS4uZDAxN2IzYjMgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuY21ha2UKICsrKyBiL2NvbmZpZ3VyZS5jbWFrZQotQEAgLTEwNDcsMTAgKzEwNDcsMTAgQEAgTUFSS19BU19BRFZBTkNFRChXSVRIX0FUT01JQ19MT0NLUyBNWV9BVE9NSUNfTU9ERV9SV0xPQ0sgTVlfQVRPTUlDX01PREVfRFVNTVkpCitAQCAtOTMwLDEwICs5MzAsOSBAQCBIQVZFX0dDQ19DMTFfQVRPTUlDUykKICAKICBJRihXSVRIX1ZBTEdSSU5EKQogICAgU0VUKEhBVkVfdmFsZ3JpbmQgMSkKLSsgIENIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIKLSsgIEhBVkVfVkFMR1JJTkQpCi0gRU5ESUYoKQotIAorLUVORElGKCkKKy0KIC1DSEVDS19JTkNMVURFX0ZJTEVTKCJ2YWxncmluZC9tZW1jaGVjay5oO3ZhbGdyaW5kL3ZhbGdyaW5kLmgiIAotLSAgSEFWRV9WQUxHUklORCkKKysgIENIRUNLX0lOQ0xVREVfRklMRVMoInZhbGdyaW5kL21lbWNoZWNrLmg7dmFsZ3JpbmQvdmFsZ3JpbmQuaCIKKyAgIEhBVkVfVkFMR1JJTkRfTUVNQ0hFQ0tfSCkKKytFTkRJRigpCiAgCiAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIyBDaGVjayBmb3IgSVB2NiBzdXBwb3J0Ci0tLSAKLTIuMC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYS1idWlsZGluZy1mYWlsdXJlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKaW5kZXggMGM0ZTEwMi4uOTE0OWVlMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1hLWJ1aWxkaW5nLWZhaWx1cmUucGF0Y2gKQEAgLTEsNCArMSw3IEBACi1bUEFUQ0hdIGZpeCBhIGJ1aWxkaW5nIGZhaWx1cmUKK0Zyb20gMWIyYjZhNjFjOWY4MjE1N2NkMmUwYzM3NDRmNmMwN2UwN2FlYjBiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDE6MTE6MzAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGEgYnVpbGRpbmcgZmFpbHVyZQogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKQEAgLTYsMTcgKzksMTggQEAKIEluIGZhY3QsIG91ciBidWlsZGluZyBzeXN0ZW0gd2lsbCBleHBvcnQgdGhlIG5lZWRlZCBjb21tYW5kcwogCiBTaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgogLS0tCiAgQ01ha2VMaXN0cy50eHQgfCA1IC0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBjMWNlMWM1Li44M2IzYTdlIDEwMDY0NAoraW5kZXggZmMzMDc1MC4uNGY5MTEwZSAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTM1MCwxMSArMzUwLDYgQEAgTVlTUUxfQ0hFQ0tfUkVBRExJTkUoKQorQEAgLTM0NywxMSArMzQ3LDYgQEAgQ0hFQ0tfUENSRSgpCiAgCi0gQ0hFQ0tfSkVNQUxMT0MoKQorIENIRUNLX1NZU1RFTUQoKQogIAogLUlGKENNQUtFX0NST1NTQ09NUElMSU5HKQogLSAgU0VUKElNUE9SVF9FWEVDVVRBQkxFUyAiSU1QT1JURklMRS1OT1RGT1VORCIgQ0FDSEUgRklMRVBBVEggIlBhdGggdG8gaW1wb3J0X2V4ZWN1dGFibGVzLmNtYWtlIGZyb20gYSBuYXRpdmUgYnVpbGQiKQpAQCAtMjQsOCArMjgsOCBAQAogLUVORElGKCkKIC0KICAjCi0gIyBTZXR1cCBtYWludGFpbmVyIG1vZGUgb3B0aW9ucyBieSB0aGUgZW5kLiBQbGF0Zm9ybSBjaGVja3MgYXJlCisgIyBTZXR1cCBtYWludGFpbmVyIG1vZGUgb3B0aW9ucy4gUGxhdGZvcm0gY2hlY2tzIGFyZQogICMgbm90IHJ1biB3aXRoIHRoZSB3YXJuaW5nIG9wdGlvbnMgYXMgdG8gbm90IHBlcnR1cmIgZnJhZ2lsZSBjaGVja3MKIC0tIAotMS45LjEKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWFybS1hdG9taWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LWFybS1hdG9taWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRkMzExNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtYXJtLWF0b21pYy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGZmYWFmNGQ0M2ViZjJlZjZkMDIyOWE2MGY0MDdjMWY1YTA2ZTVjNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNSBNYXIgMjAxOSAwMTo0NjowNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBidWlsZF9yb2Nrc2RiLmNtYWtlOiBmaXggYXRvbWljIHN1cHBvcnQgb24gYXJtCisKK0NoZWNrIHRvIGxpbmsgd2l0aCBsaWJhdG9taWMgdG8gZW5hYmxlIEMxMSBhdG9taWNzIHN1cHBvcnQKK3RvIGZpeCBiZWxvdyBidWlsZCBlcnJvciBvbiBhcm06Cit8IC9idWlsZC90bXAvd29yay9hcm12NWUtd3JzLWxpbnV4LWdudWVhYmkvbWFyaWFkYi8xMC4zLjEzLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL2FybS13cnMtbGludXgtZ251ZWFiaS8uLi8uLi9saWJleGVjL2FybS13cnMtbGludXgtZ251ZWFiaS9nY2MvYXJtLXdycy1saW51eC1nbnVlYWJpLzguMy4wL2xkLmJmZDogbGlicm9ja3NkYmxpYi5hKGVudl9wb3NpeC5jYy5vKTogaW4gZnVuY3Rpb24gYHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBsb25nIGxvbmc+OjpzdG9yZSh1bnNpZ25lZCBsb25nIGxvbmcsIHN0ZDo6bWVtb3J5X29yZGVyKSc6Cit8IC91c3IvaW5jbHVkZS9jKysvOC4zLjAvYml0cy9hdG9taWNfYmFzZS5oOjM3NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19hdG9taWNfc3RvcmVfOCcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CistLS0KKyBzdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZSB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3RvcmFnZS9yb2Nrc2RiL2J1aWxkX3JvY2tzZGIuY21ha2UgYi9zdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZQoraW5kZXggYzM2Yzc2MS4uMmI1MzlmZiAxMDA2NDQKKy0tLSBhL3N0b3JhZ2Uvcm9ja3NkYi9idWlsZF9yb2Nrc2RiLmNtYWtlCisrKysgYi9zdG9yYWdlL3JvY2tzZGIvYnVpbGRfcm9ja3NkYi5jbWFrZQorQEAgLTQyNCw2ICs0MjQsOSBAQCBsaXN0KEFQUEVORCBTT1VSQ0VTICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9idWlsZF92ZXJzaW9uLmNjKQorIAorIEFERF9DT05WRU5JRU5DRV9MSUJSQVJZKHJvY2tzZGJsaWIgJHtTT1VSQ0VTfSkKKyB0YXJnZXRfbGlua19saWJyYXJpZXMocm9ja3NkYmxpYiAke1RISVJEUEFSVFlfTElCU30gJHtTWVNURU1fTElCU30pCisrSUYgKEhBVkVfR0NDX0MxMV9BVE9NSUNTX1dJVEhfTElCQVRPTUlDKQorKyAgVEFSR0VUX0xJTktfTElCUkFSSUVTKHJvY2tzZGJsaWIgYXRvbWljKQorK0VORElGKCkKKyBJRihDTUFLRV9DWFhfQ09NUElMRVJfSUQgTUFUQ0hFUyAiR05VIiBPUiBDTUFLRV9DWFhfQ09NUElMRVJfSUQgTUFUQ0hFUyAiQ2xhbmciKQorICAgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKHJvY2tzZGJsaWIgUFJPUEVSVElFUyBDT01QSUxFX0ZMQUdTICItZlBJQyAtZm5vLWJ1aWx0aW4tbWVtY21wIC1mcnR0aSIpCisgZW5kaWYoKQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtY21ha2UtbW9kdWxlLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkOWY1NTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL2ZpeC1jbWFrZS1tb2R1bGUtcGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUF2b2lkIENNQUtFX01PRFVMRV9QQVRIIGJlaW5nIG92ZXJ3cml0dGVuCi0KLU9FLUNvcmUncyBzZXR0aW5nIG9mIENNQUtFX01PRFVMRV9QQVRIIHN0b21wcyBvbiBNYXJpYURCJ3MgdmFsdWUgdW5sZXNzCi13ZSBzZXQgaXQgYWZ0ZXIgc2V0dGluZyB0aGUgcHJvamVjdCBuYW1lLgotCi1TaWduZWQtb2ZmLWJ5OiBQYXVsIEVnZ2xldG9uIDxwYXVsLmVnZ2xldG9uQGxpbnV4LmludGVsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt3b3JraW5nIGFyb3VuZCBPRS1Db3JlIGJ1Z10KLQotLS0tIG1hcmlhZGIvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxMTowMTowNy42NzYzNTMwNDcgKzAxMDAKLSsrKyBtYXJpYWRiL0NNYWtlTGlzdHMudHh0CTIwMTQtMDctMTcgMTE6MDE6MzEuMjk5MzUzMTA3ICswMTAwCi1AQCAtMjgsOCArMjgsNiBAQAotIAotIE1FU1NBR0UoU1RBVFVTICJSdW5uaW5nIGNtYWtlIHZlcnNpb24gJHtDTUFLRV9WRVJTSU9OfSIpCi0gCi0tU0VUKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfTU9EVUxFX1BBVEh9ICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UpCi0tCi0gIyBEaXN0aW5ndWlzaCBiZXR3ZWVuIGNvbW11bml0eSBhbmQgbm9uLWNvbW11bml0eSBidWlsZHMsIHdpdGggdGhlCi0gIyBkZWZhdWx0IGJlaW5nIGEgY29tbXVuaXR5IGJ1aWxkLiBUaGlzIGRvZXMgbm90IGltcGFjdCB0aGUgZmVhdHVyZQotICMgc2V0IHRoYXQgd2lsbCBiZSBjb21waWxlZCBpbjsgaXQncyBtZXJlbHkgcHJvdmlkZWQgYXMgYSBoaW50IHRvCi1AQCAtNzcsNiArNzUsOCBAQAotIEVORElGKCkKLSBQUk9KRUNUKCR7TVlTUUxfUFJPSkVDVF9OQU1FfSkKLSAKLStTRVQoQ01BS0VfTU9EVUxFX1BBVEggJHtDTUFLRV9NT0RVTEVfUEFUSH0gJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZSkKLSsKLSBJRihCVUlMRF9DT05GSUcpCi0gICBJTkNMVURFKAotICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZS9idWlsZF9jb25maWd1cmF0aW9ucy8ke0JVSUxEX0NPTkZJR30uY21ha2UpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvZml4LW15c3FsY2xpZW50LXItdmVyc2lvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTE5ZTQyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9maXgtbXlzcWxjbGllbnQtci12ZXJzaW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYwICswLDAgQEAKLUZyb20gNmRiMmE2MDYxOTZmYjM4YTZkMTA2ZGM0MDllZWUxY2I5YTQwYTQ0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvciBEaWRyaWtzZW4gPHRvci5kaWRyaWtzZW5Ab3JhY2xlLmNvbT4KLURhdGU6IE1vbiwgMjQgSnVuIDIwMTMgMTc6MTU6MzUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gQnVnIzE2ODA5MDU1IE1ZU1FMIDUuNiBBTkQgNS43IFNUSUxMIFVTRSBMSUJNWVNRTENMSUVOVC5TTy4xOAotCi1XaXRoIHRoaXMgcGF0Y2gsIHRoZSBsaWJteXNxbC8gZGlyZWN0b3J5IGNvbnRhaW5zOgotbGlibXlzcWxjbGllbnQuYQotbGlibXlzcWxjbGllbnRfci5hIC0+IGxpYm15c3FsY2xpZW50LmEKLWxpYm15c3FsY2xpZW50X3Iuc28gLT4gbGlibXlzcWxjbGllbnQuc28qCi1saWJteXNxbGNsaWVudF9yLnNvLjE4IC0+IGxpYm15c3FsY2xpZW50LnNvLjE4KgotbGlibXlzcWxjbGllbnRfci5zby4xOC4xLjAgLT4gbGlibXlzcWxjbGllbnQuc28uMTguMS4wKgotbGlibXlzcWxjbGllbnQuc28gLT4gbGlibXlzcWxjbGllbnQuc28uMTgqCi1saWJteXNxbGNsaWVudC5zby4xOCAtPiBsaWJteXNxbGNsaWVudC5zby4xOC4xLjAqCi1saWJteXNxbGNsaWVudC5zby4xOC4xLjAqCi0KLVRoaXMgZml4ZXMgbGlibXlzcWxjbGllbnRfciBzeW1saW5rcyBwb2ludGluZyB0byB0aGUgdW52ZXJzaW9uZWQKLWxpYm15c3FsY2xpZW50LnNvIHN5bWxpbmsgKGxlYWRpbmcgdG8gcGFja2FnZSBRQSBlcnJvcnMgc2luY2UgdGhlCi1saWJteXNxbGNsaWVudC1yIHBhY2thZ2UgZW5kcyB1cCBkZXBlbmRpbmcgb24gbGlibXlzcWxjbGllbnQtZGV2KS4KLQotQm9ycm93ZWQgZnJvbSBNeVNRTCA1LjYgdHJlZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGVyY29uYS9teXNxbC8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotCi0tLS0KLSBjbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZSB8IDI1ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSBsaWJteXNxbC9DTWFrZUxpc3RzLnR4dCAgICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvaW5zdGFsbF9tYWNyb3MuY21ha2UgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQotaW5kZXggYjhlZmRmOC4uYTBkMGU2OCAxMDA2NDQKLS0tLSBhL2NtYWtlL2luc3RhbGxfbWFjcm9zLmNtYWtlCi0rKysgYi9jbWFrZS9pbnN0YWxsX21hY3Jvcy5jbWFrZQotQEAgLTEsNCArMSw0IEBACi0tIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rIyBDb3B5cmlnaHQgKGMpIDIwMDksIDIwMTMsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gIyAKLSAjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotQEAgLTE2NywyOCArMTY3LDMzIEBAIEVOREZVTkNUSU9OKCkKLSAKLSAKLSAjIEluc3RhbGwgc3ltYm9saWMgbGluayB0byBDTWFrZSB0YXJnZXQuIAotLSMgdGhlIGxpbmsgaXMgY3JlYXRlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGFyZ2V0Ci0tIyBhbmQgZXh0ZW5zaW9uIHdpbGwgYmUgdGhlIHNhbWUgYXMgZm9yIHRhcmdldCBmaWxlLgotLU1BQ1JPKElOU1RBTExfU1lNTElOSyBsaW5rbmFtZSB0YXJnZXQgZGVzdGluYXRpb24gY29tcG9uZW50KQotKyMgV2UgZG8gJ2NkIHBhdGg7IGxuIC1zIHRhcmdldF9uYW1lIGxpbmtfbmFtZScKLSsjIFdlIGFsc28gYWRkIGFuIElOU1RBTEwgdGFyZ2V0IGZvciAiJHtwYXRofS8ke2xpbmtfbmFtZX0iCi0rTUFDUk8oSU5TVEFMTF9TWU1MSU5LIHRhcmdldCB0YXJnZXRfbmFtZSBsaW5rX25hbWUgZGVzdGluYXRpb24gY29tcG9uZW50KQotIElGKFVOSVgpCi0gICBHRVRfVEFSR0VUX1BST1BFUlRZKGxvY2F0aW9uICR7dGFyZ2V0fSBMT0NBVElPTikKLSAgIEdFVF9GSUxFTkFNRV9DT01QT05FTlQocGF0aCAke2xvY2F0aW9ufSBQQVRIKQotLSAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCi0tICBTRVQob3V0cHV0ICR7cGF0aH0vJHtsaW5rbmFtZX0pCi0rICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0ICR7dGFyZ2V0fSIpCi0rICBNRVNTQUdFKFNUQVRVUyAibGlua19uYW1lICR7bGlua19uYW1lfSIpCi0rICBNRVNTQUdFKFNUQVRVUyAidGFyZ2V0X25hbWUgJHt0YXJnZXRfbmFtZX0iKQotKyAgTUVTU0FHRShTVEFUVVMgInBhdGggJHtwYXRofSIpCi0rICBNRVNTQUdFKFNUQVRVUyAiIikKLSsKLSsgIFNFVChvdXRwdXQgJHtwYXRofS8ke2xpbmtfbmFtZX0pCi0gICBBRERfQ1VTVE9NX0NPTU1BTkQoCi0gICAgIE9VVFBVVCAke291dHB1dH0KLSAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IEFSR1MgLUUgcmVtb3ZlIC1mICR7b3V0cHV0fQotICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gQVJHUyAtRSBjcmVhdGVfc3ltbGluayAKLS0gICAgICAke25hbWV9IAotLSAgICAgICR7bGlua25hbWV9Ci0rICAgICAgJHt0YXJnZXRfbmFtZX0gCi0rICAgICAgJHtsaW5rX25hbWV9Ci0gICAgIFdPUktJTkdfRElSRUNUT1JZICR7cGF0aH0KLSAgICAgREVQRU5EUyAke3RhcmdldH0KLSAgICAgKQotICAgCi0tICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua25hbWV9Ci0rICBBRERfQ1VTVE9NX1RBUkdFVChzeW1saW5rXyR7bGlua19uYW1lfQotICAgICBBTEwKLSAgICAgREVQRU5EUyAke291dHB1dH0pCi0tICBTRVRfVEFSR0VUX1BST1BFUlRJRVMoc3ltbGlua18ke2xpbmtuYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKLSsgIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhzeW1saW5rXyR7bGlua19uYW1lfSBQUk9QRVJUSUVTIENMRUFOX0RJUkVDVF9PVVRQVVQgMSkKLSAgIElGKENNQUtFX0dFTkVSQVRPUiBNQVRDSEVTICJYY29kZSIpCi0gICAgICMgRm9yIFhjb2RlLCByZXBsYWNlIHByb2plY3QgY29uZmlnIHdpdGggaW5zdGFsbCBjb25maWcKLSAgICAgU1RSSU5HKFJFUExBQ0UgIiR7Q01BS0VfQ0ZHX0lOVERJUn0iIAotZGlmZiAtLWdpdCBhL2xpYm15c3FsL0NNYWtlTGlzdHMudHh0IGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKLWluZGV4IGJlNTc2MGYuLjk2Mjg2ZmYgMTAwNjQ0Ci0tLS0gYS9saWJteXNxbC9DTWFrZUxpc3RzLnR4dAotKysrIGIvbGlibXlzcWwvQ01ha2VMaXN0cy50eHQKLUBAIC00MzMsNiArNDMzLDEyIEBAIElGKE1TVkMpCi0gIElOU1RBTExfREVCVUdfVEFSR0VUKGNsaWVudGxpYiBERVNUSU5BVElPTiAke0lOU1RBTExfTElCRElSfS9kZWJ1ZykKLSBFTkRJRigpCi0gCi0rTUFDUk8oR0VUX1RBUkdFVF9OQU1FIHRhcmdldCBvdXRfbmFtZSkKLSsgIEdFVF9UQVJHRVRfUFJPUEVSVFkobG9jYXRpb24gJHt0YXJnZXR9IExPQ0FUSU9OKQotKyAgR0VUX0ZJTEVOQU1FX0NPTVBPTkVOVChuYW1lICR7bG9jYXRpb259IE5BTUUpCi0rICBTRVQoJHtvdXRfbmFtZX0gJHtuYW1lfSkKLStFTkRNQUNSTygpCi0rCi0gSUYoVU5JWCkKLSAgIE1BQ1JPKEdFVF9WRVJTSU9ORURfTElCTkFNRSBMSUJOQU1FIEVYVEVOU0lPTiBWRVJTSU9OIE9VVE5BTUUpCi0gICAgIFNFVChET1RfVkVSU0lPTiAiLiR7VkVSU0lPTn0iKQotQEAgLTQ0NSw3ICs0NTEsMTMgQEAgSUYoVU5JWCkKLSAgICAgICBTRVQoJHtPVVROQU1FfSAke0xJQk5BTUV9JHtFWFRFTlNJT059JHtET1RfVkVSU0lPTn0pCi0gICAgIEVORElGKCkgCi0gICBFTkRNQUNSTygpCi0tICBJTlNUQUxMX1NZTUxJTksoJHtDTUFLRV9TVEFUSUNfTElCUkFSWV9QUkVGSVh9bXlzcWxjbGllbnRfci5hIG15c3FsY2xpZW50ICR7SU5TVEFMTF9MSUJESVJ9IERldmVsb3BtZW50KQotK0VORElGKCkKLSsKLStJRihVTklYKQotKyAgR0VUX1RBUkdFVF9OQU1FKG15c3FsY2xpZW50IGxpYl9uYW1lKQotKyAgSU5TVEFMTF9TWU1MSU5LKG15c3FsY2xpZW50Ci0rICAgICR7bGliX25hbWV9ICR7Q01BS0VfU1RBVElDX0xJQlJBUllfUFJFRklYfW15c3FsY2xpZW50X3IuYQotKyAgICAke0lOU1RBTExfTElCRElSfSBEZXZlbG9wbWVudCkKLSBFTkRJRigpCi0gCi0gSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotQEAgLTQ1NiwxMCArNDY4LDkgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotICAgICAjIGxpYnRvb2wgY29tcGF0YWJpbGl0eQotICAgICBJRihDTUFLRV9TWVNURU1fTkFNRSBNQVRDSEVTICJGcmVlQlNEIiBPUiBBUFBMRSkKLSAgICAgICBTRVQoT1NfU0hBUkVEX0xJQl9WRVJTSU9OICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iKQotLSAgICBFTFNFSUYoQ01BS0VfU1lTVEVNX05BTUUgTUFUQ0hFUyAiSFAtVVgiKQotLSAgICAgIFNFVChPU19TSEFSRURfTElCX1ZFUlNJT04gIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4wIikKLSAgICAgRUxTRSgpCi0tICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTiAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059LjAuMCIpCi0rICAgICAgU0VUKE9TX1NIQVJFRF9MSUJfVkVSU0lPTgotKyAgICAgICAgIiR7U0hBUkVEX0xJQl9NQUpPUl9WRVJTSU9OfS4ke1NIQVJFRF9MSUJfTUlOT1JfVkVSU0lPTn0uMCIpCi0gICAgIEVORElGKCkKLSAgICAgIyBOYW1lIG9mIHNoYXJlZCBsaWJyYXJ5IGlzIG15c3FsY2xpZW50IG9uIFVuaXgKLSAgICAgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYm15c3FsIFBST1BFUlRJRVMgCi1AQCAtNDgyLDggKzQ5MywxMyBAQCBJRihOT1QgRElTQUJMRV9TSEFSRUQpCi0gICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKLSAgICAgICAiIgotICAgICAgIGxpbmtuYW1lKQotLSAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotLSAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUyAiJHtTSEFSRURfTElCX01BSk9SX1ZFUlNJT059IiAiJHtPU19TSEFSRURfTElCX1ZFUlNJT059IikKLSsgICAgR0VUX1RBUkdFVF9OQU1FKGxpYm15c3FsIGxpYl9uYW1lKQotKyAgICBHRVRfRklMRU5BTUVfQ09NUE9ORU5UKGxpYl9uYW1lX3dlICR7bGliX25hbWV9IE5BTUVfV0UpCi0rICAgIElOU1RBTExfU1lNTElOSyhsaWJteXNxbAotKyAgICAgICR7bGliX25hbWV9ICR7bGlua25hbWV9Ci0rICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotKyAgICBTRVQoT1NfU0hBUkVEX0xJQl9TWU1MSU5LUwotKyAgICAgICIke1NIQVJFRF9MSUJfTUFKT1JfVkVSU0lPTn0iICIke09TX1NIQVJFRF9MSUJfVkVSU0lPTn0iKQotICAgICBMSVNUKFJFTU9WRV9EVVBMSUNBVEVTIE9TX1NIQVJFRF9MSUJfU1lNTElOS1MpCi0gICAgIEZPUkVBQ0godmVyICR7T1NfU0hBUkVEX0xJQl9TWU1MSU5LU30pCi0gICAgICAgR0VUX1ZFUlNJT05FRF9MSUJOQU1FKAotQEAgLTQ5MSw3ICs1MDcsMTEgQEAgSUYoTk9UIERJU0FCTEVfU0hBUkVEKQotICAgICAgICAgIiR7Q01BS0VfU0hBUkVEX0xJQlJBUllfU1VGRklYfSIKLSAgICAgICAgICIke3Zlcn0iCi0gICAgICAgICBsaW5rbmFtZSkKLS0gICAgICBJTlNUQUxMX1NZTUxJTksoJHtsaW5rbmFtZX0gbGlibXlzcWwgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotKyAgICAgIEdFVF9WRVJTSU9ORURfTElCTkFNRSgKLSsgICAgICAgICR7bGliX25hbWVfd2V9ICIke0NNQUtFX1NIQVJFRF9MSUJSQVJZX1NVRkZJWH0iICIke3Zlcn0iIGxpYl9uYW1lX3ZlcikKLSsgICAgICBJTlNUQUxMX1NZTUxJTksobGlibXlzcWwKLSsgICAgICAgICR7bGliX25hbWVfdmVyfSAke2xpbmtuYW1lfQotKyAgICAgICAgJHtJTlNUQUxMX0xJQkRJUn0gU2hhcmVkTGlicmFyaWVzKQotICAgICBFTkRGT1JFQUNIKCkKLSAgIEVORElGKCkKLSBFTkRJRigpCi0tLSAKLTIuMC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGIvcmVtb3ZlLWJhZC1wYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZjI2YjBiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9yZW1vdmUtYmFkLXBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1SZW1vdmUgaG9zdCBwYXRoIGZyb20gaW5jbHVkZSBkaXJlY3RvcmllcwotCi1OYXR1cmFsbHkgdGhpcyBicmVha3MgY3Jvc3MtY29tcGlsYXRpb24gaWYgcHJlc2VudC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotCi0tLS0gbWFyaWFkYi01LjUuMzgvc3RvcmFnZS90b2t1ZGIvZnQtaW5kZXgvQ01ha2VMaXN0cy50eHQJMjAxNC0wNy0xNyAxNDozNzowNC41MjkzMjc5OTggKzAxMDAKLSsrKyBtYXJpYWRiLTUuNS4zOC9zdG9yYWdlL3Rva3VkYi9mdC1pbmRleC9DTWFrZUxpc3RzLnR4dAkyMDE0LTA3LTE3IDE0OjQzOjU2Ljk5MTMzNzg5NSArMDEwMAotQEAgLTM5LDcgKzM5LDYgQEAKLSAKLSAjIyBkZWZhdWx0IGluY2x1ZGVzIGFuZCBsaWJyYXJpZXMKLSBpbmNsdWRlX2RpcmVjdG9yaWVzKFNZU1RFTQotLSAgL3Vzci9sb2NhbC9pbmNsdWRlCi0gICAke1pMSUJfSU5DTFVERV9ESVJTfQotICAgKQotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL3NxbC1DTWFrZUxpc3RzLnR4dC1maXgtZ2VuX2xleF9oYXNoLW5vdC1mb3VuZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zcWwtQ01ha2VMaXN0cy50eHQtZml4LWdlbl9sZXhfaGFzaC1ub3QtZm91bmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZjMWJlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zcWwtQ01ha2VMaXN0cy50eHQtZml4LWdlbl9sZXhfaGFzaC1ub3QtZm91bmQucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorRnJvbSA3OTY0NjQwMTViZmZlNmUwYmVjYTllMWMzNTViMjIzNTEyODAzYzNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjcgRmViIDIwMTkgMjM6MDE6MDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3FsL0NNYWtlTGlzdHMudHh0OiBmaXggZ2VuX2xleF9oYXNoIG5vdCBmb3VuZAorCitGaXggdGhlIGJlbG93IGRvX2NvbXBpbGUgaXNzdWUgaW4gY3Jvc3MtY29tcGlsaW5nIGVudi4KK3wgbWFrZVsyXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy9idWlsZC90bXAvd29yay9hYXJjaDY0LXBva3ktbGludXgvbWFyaWFkYi8xMC4zLjEzLXIwL21hcmlhZGItMTAuMy4xMy9zcWwvZ2VuX2xleF9oYXNoJywgbmVlZGVkIGJ5ICdzcWwvbGV4X2hhc2guaCcuICBTdG9wLgorfCBtYWtlWzJdOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnL2J1aWxkL3RtcC93b3JrL2FhcmNoNjQtcG9reS1saW51eC9tYXJpYWRiLzEwLjMuMTMtcjAvbWFyaWFkYi0xMC4zLjEzL3NxbC9nZW5fbGV4X3Rva2VuJywgbmVlZGVkIGJ5ICdzcWwvbGV4X3Rva2VuLmgnLiAgU3RvcC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKworLS0tCisgc3FsL0NNYWtlTGlzdHMudHh0IHwgMzAgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3FsL0NNYWtlTGlzdHMudHh0IGIvc3FsL0NNYWtlTGlzdHMudHh0CitpbmRleCBjNjkxMGY0Ni4uYmY1MWY0Y2IgMTAwNjQ0CistLS0gYS9zcWwvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NxbC9DTWFrZUxpc3RzLnR4dAorQEAgLTUwLDExICs1MCwxNiBAQCAke1dTUkVQX0lOQ0xVREVTfQorIAorIAorIAorLUFERF9DVVNUT01fQ09NTUFORCgKKy0gIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X3Rva2VuLmgKKy0gIENPTU1BTkQgZ2VuX2xleF90b2tlbiA+IGxleF90b2tlbi5oCistICBERVBFTkRTIGdlbl9sZXhfdG9rZW4KKy0pCisrSUYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKQorKyAgQUREX0NVU1RPTV9DT01NQU5EKAorKyAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X3Rva2VuLmgKKysgICBDT01NQU5EIGdlbl9sZXhfdG9rZW4gPiBsZXhfdG9rZW4uaAorKyAgIERFUEVORFMgZ2VuX2xleF90b2tlbikKKytFTFNFKCkKKysgIEFERF9DVVNUT01fQ09NTUFORCgKKysgICBPVVRQVVQgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2xleF90b2tlbi5oCisrICAgQ09NTUFORCBnZW5fbGV4X3Rva2VuID4gbGV4X3Rva2VuLmgpCisrRU5ESUYoKQorIAorIEFERF9ERUZJTklUSU9OUygtRE1ZU1FMX1NFUlZFUiAtREhBVkVfRVZFTlRfU0NIRURVTEVSKQorIAorQEAgLTM3MCwxMSArMzc1LDE2IEBAIElGKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORykKKyAgIEFERF9FWEVDVVRBQkxFKGdlbl9sZXhfaGFzaCBnZW5fbGV4X2hhc2guY2MpCisgRU5ESUYoKQorIAorLUFERF9DVVNUT01fQ09NTUFORCgKKy0gIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vbGV4X2hhc2guaAorLSAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oCistICBERVBFTkRTIGdlbl9sZXhfaGFzaAorLSkKKytJRihOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcpCisrICBBRERfQ1VTVE9NX0NPTU1BTkQoCisrICAgT1VUUFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9sZXhfaGFzaC5oCisrICAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oCisrICAgREVQRU5EUyBnZW5fbGV4X2hhc2gpCisrRUxTRSgpCisrICBBRERfQ1VTVE9NX0NPTU1BTkQoCisrICAgT1VUUFVUICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9sZXhfaGFzaC5oCisrICAgQ09NTUFORCBnZW5fbGV4X2hhc2ggPiBsZXhfaGFzaC5oKQorK0VORElGKCkKKyAKKyBNWVNRTF9BRERfRVhFQ1VUQUJMRShteXNxbF90emluZm9fdG9fc3FsIHR6dGltZS5jYyBDT01QT05FTlQgU2VydmVyKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhteXNxbF90emluZm9fdG9fc3FsIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiLURUWklORk8yU1FMIikKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiL3N1cHBvcnQtZmlsZXMtQ01ha2VMaXN0cy50eHQtZml4LWRvX3BvcHVsYXRlX3N5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5YTRlOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYi9zdXBwb3J0LWZpbGVzLUNNYWtlTGlzdHMudHh0LWZpeC1kb19wb3B1bGF0ZV9zeXNyb290LnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNGFjNWI1NTVkMDU4ZDRkNDg5ZjI1YTM4MDZhNzg3YjdiMjQ2NWQwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI3IEZlYiAyMDE5IDIyOjQxOjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cHBvcnQtZmlsZXMvQ01ha2VMaXN0cy50eHQ6IGZpeCBkb19wb3B1bGF0ZV9zeXNyb290IGlzc3VlCisKK0NvbW1lbnQgb3V0IHRoZSBsb2dpYyB3aGljaCBmb3Igc3VzZSBhcyBpdCBpbnRyb2R1Y2VzCitiZWxvdyBkb19wb3B1bGF0ZV9zeXNyb290IGVycm9yOgorRVJST1I6IG1hcmlhZGItbmF0aXZlLTEwLjMuMTMtcjAgZG9fcG9wdWxhdGVfc3lzcm9vdDogc3N0YXRlIGZvdW5kIGFuIGFic29sdXRlIHBhdGggc3ltbGluayAvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L21hcmlhZGItbmF0aXZlLzEwLjMuMTMtcjAvc3lzcm9vdC1kZXN0ZGlyL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9tYXJpYWRiLW5hdGl2ZS8xMC4zLjEzLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3Ivc2Jpbi9yY215c3FsIHBvaW50aW5nIGF0IC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvbWFyaWFkYi1uYXRpdmUvMTAuMy4xMy1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvZXRjL2luaXQuZC9teXNxbC4gUGxlYXNlIHJlcGxhY2UgdGhpcyB3aXRoIGEgcmVsYXRpdmUgbGluay4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW29lIGJ1aWxkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBzdXBwb3J0LWZpbGVzL0NNYWtlTGlzdHMudHh0IHwgNyAtLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0LWZpbGVzL0NNYWtlTGlzdHMudHh0IGIvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAoraW5kZXggYjU3Njc0MzIuLjU2NzMzZGUxIDEwMDY0NAorLS0tIGEvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAorKysrIGIvc3VwcG9ydC1maWxlcy9DTWFrZUxpc3RzLnR4dAorQEAgLTE2NSwxMiArMTY1LDUgQEAgSUYoVU5JWCkKKyAgICAgICBJTlNUQUxMKEZJTEVTIHJwbS9lbmFibGVfZW5jcnlwdGlvbi5wcmVzZXQgREVTVElOQVRJT04gJHtJTlNUQUxMX1NZU0NPTkYyRElSfQorICAgICAgICAgICAgICAgQ09NUE9ORU5UIEluaUZpbGVzKQorICAgICBFTkRJRigpCistCistICAgICMgVGhpcyBpcyBmb3IgU3VTRToKKy0gICAgSU5TVEFMTChDT0RFICJFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1FIGNyZWF0ZV9zeW1saW5rCistICAgICAgICAgICAgICAgICAgICR7SU5TVEFMTF9TWVNDT05GRElSfS9pbml0LmQvbXlzcWwKKy0gICAgICAgICAgICAgICAgICAgJHtJTlNUQUxMX1NCSU5ESVJ9L3JjbXlzcWwKKy0gICAgICAgICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgXCRFTlZ7REVTVERJUn0ke3ByZWZpeH0pIgorLSAgICAgICAgICAgICAgICAgICBDT01QT05FTlQgU3VwcG9ydEZpbGVzKQorICAgRU5ESUYoSU5TVEFMTF9TWVNDT05GRElSKQorIEVORElGKCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl8xMC4zLjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9tYXJpYWRiXzEwLjMuMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUyNGM5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl8xMC4zLjEzLmJiCkBAIC0wLDAgKzEsMjcgQEAKK3JlcXVpcmUgbWFyaWFkYi5pbmMKKworRVhUUkFfT0VDTUFLRSArPSAiLURTVEFDS19ESVJFQ1RJT049LTEiCisKK0RFUEVORFMgKz0gIm1hcmlhZGItbmF0aXZlIGJpc29uLW5hdGl2ZSBvcGVuc3NsIG5jdXJzZXMgemxpYiByZWFkbGluZSBsaWJhaW8gbGliZXZlbnQgbGlieG1sMiIKKworUFJPVklERVMgKz0gIm15c3FsNSBsaWJteXNxbGNsaWVudCIKKworUlBST1ZJREVTXyR7UE59ICs9ICJteXNxbDUiCitSUkVQTEFDRVNfJHtQTn0gKz0gIm15c3FsNSIKK1JDT05GTElDVFNfJHtQTn0gKz0gIm15c3FsNSIKKworUlBST1ZJREVTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKK1JSRVBMQUNFU18ke1BOfS1kYmcgKz0gIm15c3FsNS1kYmciCitSQ09ORkxJQ1RTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKKworUlBST1ZJREVTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKK1JSRVBMQUNFU18ke1BOfS1sZWZ0b3ZlcnMgKz0gIm15c3FsNS1sZWZ0b3ZlcnMiCitSQ09ORkxJQ1RTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKKworUlBST1ZJREVTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKK1JSRVBMQUNFU18ke1BOfS1jbGllbnQgKz0gIm15c3FsNS1jbGllbnQiCitSQ09ORkxJQ1RTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKKworUlBST1ZJREVTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKK1JSRVBMQUNFU18ke1BOfS1zZXJ2ZXIgKz0gIm15c3FsNS1zZXJ2ZXIiCitSQ09ORkxJQ1RTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl81LjUuNjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL215c3FsL21hcmlhZGJfNS41LjYyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNzg5NTczLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbWFyaWFkYl81LjUuNjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1yZXF1aXJlIG1hcmlhZGIuaW5jCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1EU1RBQ0tfRElSRUNUSU9OPS0xIgotCi1ERVBFTkRTICs9ICJtYXJpYWRiLW5hdGl2ZSBuY3Vyc2VzIHpsaWIgcmVhZGxpbmUgbGliYWlvIGxpYmV2ZW50IgotCi1QUk9WSURFUyArPSAibXlzcWw1IGxpYm15c3FsY2xpZW50IgotCi1SUFJPVklERVNfJHtQTn0gKz0gIm15c3FsNSIKLVJSRVBMQUNFU18ke1BOfSArPSAibXlzcWw1IgotUkNPTkZMSUNUU18ke1BOfSArPSAibXlzcWw1IgotCi1SUFJPVklERVNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgotUlJFUExBQ0VTXyR7UE59LWRiZyArPSAibXlzcWw1LWRiZyIKLVJDT05GTElDVFNfJHtQTn0tZGJnICs9ICJteXNxbDUtZGJnIgotCi1SUFJPVklERVNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgotUlJFUExBQ0VTXyR7UE59LWxlZnRvdmVycyArPSAibXlzcWw1LWxlZnRvdmVycyIKLVJDT05GTElDVFNfJHtQTn0tbGVmdG92ZXJzICs9ICJteXNxbDUtbGVmdG92ZXJzIgotCi1SUFJPVklERVNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgotUlJFUExBQ0VTXyR7UE59LWNsaWVudCArPSAibXlzcWw1LWNsaWVudCIKLVJDT05GTElDVFNfJHtQTn0tY2xpZW50ICs9ICJteXNxbDUtY2xpZW50IgotCi1SUFJPVklERVNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgotUlJFUExBQ0VTXyR7UE59LXNlcnZlciArPSAibXlzcWw1LXNlcnZlciIKLVJDT05GTElDVFNfJHtQTn0tc2VydmVyICs9ICJteXNxbDUtc2VydmVyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob24vMDAwMS1fbXlzcWwuYy1maXgtY29tcGlsYXRpb24td2l0aC1NYXJpYURCLXdpdGgtMTAuMy4xMy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMjQxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uLzAwMDEtX215c3FsLmMtZml4LWNvbXBpbGF0aW9uLXdpdGgtTWFyaWFEQi13aXRoLTEwLjMuMTMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA0NTQzNjU5MmFhNjQzMDhiMmFiNDZmODRjNjEwN2M2ZDdkZTBhM2VjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNiBNYXIgMjAxOSAwMDoxNjoxNyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBfbXlzcWwuYzogZml4IGNvbXBpbGF0aW9uIHdpdGggTWFyaWFEQiAxMC4zLjEzCisKK1VzZSBzdGFuZGFyZCBBUEkgZnVuY3Rpb24gTVlTUUxfT1BUX1JFQ09OTkVDVAoraW5zdGVhZCBvZiBkaXJlY3QgbW9kaWZpY2F0aW9uIG9mIGludGVybmFsIHN0cnVjdHVyZXMKK3doaWNoIGRvZXMgbm90IHdvcmsgZm9yIE1hcmlhREIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPG1pbmdsaS55dUB3aW5kcml2ZXIuY29tPgorLS0tCisgX215c3FsLmMgfCA5ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvX215c3FsLmMKKysrKyBiL19teXNxbC5jCitAQCAtMjAwMiw3ICsyMDAyLDE0IEBAIF9teXNxbF9Db25uZWN0aW9uT2JqZWN0X3BpbmcoCisgCWludCByLCByZWNvbm5lY3QgPSAtMTsNCisgCWlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifEkiLCAmcmVjb25uZWN0KSkgcmV0dXJuIE5VTEw7DQorIAljaGVja19jb25uZWN0aW9uKHNlbGYpOw0KKy0JaWYgKCByZWNvbm5lY3QgIT0gLTEgKSBzZWxmLT5jb25uZWN0aW9uLnJlY29ubmVjdCA9IHJlY29ubmVjdDsNCisrCWlmICggcmVjb25uZWN0ICE9IC0xICkgew0KKysjaWYgTVlTUUxfVkVSU0lPTl9JRCA+PSA1MDAxMw0KKysJCW15X2Jvb2wgcmVjb24gPSByZWNvbm5lY3Q7DQorKwkJbXlzcWxfb3B0aW9ucygmc2VsZi0+Y29ubmVjdGlvbiwgTVlTUUxfT1BUX1JFQ09OTkVDVCwgJnJlY29uKTsNCisrI2Vsc2UNCisrCQlzZWxmLT5jb25uZWN0aW9uLnJlY29ubmVjdCA9IHJlY29ubmVjdDsNCisrI2VuZGlmDQorKyAgICAgICAgfQ0KKyAJUHlfQkVHSU5fQUxMT1dfVEhSRUFEUw0KKyAJciA9IG15c3FsX3BpbmcoJihzZWxmLT5jb25uZWN0aW9uKSk7DQorIAlQeV9FTkRfQUxMT1dfVEhSRUFEUw0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvbXlzcWwvbXlzcWwtcHl0aG9uXzEuMi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKaW5kZXggYWMwZGY0Zi4uZjJmYWVjMSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9teXNxbC9teXNxbC1weXRob25fMS4yLjUuYmIKQEAgLTgsNyArOCw5IEBACiAKIFNSQ05BTUUgPSAiTXlTUUwtcHl0aG9uIgogCi1TUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS56aXAiCitTUkNfVVJJID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL3NvdXJjZS9NLyR7U1JDTkFNRX0vJHtTUkNOQU1FfS0ke1BWfS56aXAgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1fbXlzcWwuYy1maXgtY29tcGlsYXRpb24td2l0aC1NYXJpYURCLXdpdGgtMTAuMy4xMy5wYXRjaCBcCisiCiBTUkNfVVJJW21kNXN1bV0gPSAiNjU0Zjc1YjMwMmRiNmVkOGRjNWE4OThjNjI1ZTAzMGMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODExMDQwYjY0N2U1ZDU2ODZmODRkYjQxNWVmZDY5N2U2MjUwMDA4YjExMmI2OTA5YmE3N2FjMDU5ZTE0MGM3NCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtQWRkLXN1cHBvcnQtZm9yLVJJU0MtVi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1SSVNDLVYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODY1YWQzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLUFkZC1zdXBwb3J0LWZvci1SSVNDLVYucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBiMDZhMjI4YTVmZDE1ODlmYzliZWQ2NTRiMzI4OGIzMjFmYzIxYWExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIlJpY2hhcmQgVy5NLiBKb25lcyIgPHJqb25lc0ByZWRoYXQuY29tPgorRGF0ZTogU3VuLCAyMCBOb3YgMjAxNiAxNTowNDo1MiArMDAwMAorU3ViamVjdDogW1BBVENIXSBBZGQgc3VwcG9ydCBmb3IgUklTQy1WLgorCitUaGUgYXJjaGl0ZWN0dXJlIGlzIHN1ZmZpY2llbnRseSBzaW1pbGFyIHRvIGFhcmNoNjQgdGhhdCBzaW1wbHkKK2V4dGVuZGluZyB0aGUgZXhpc3RpbmcgYWFyY2g2NCBtYWNybyB3b3Jrcy4KKy0tLQorIHNyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2Uvc19sb2NrLmggYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3NfbG9jay5oCitpbmRleCAzZmUyOWNlLi43Y2Q1NzhmIDEwMDY0NAorLS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAorKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9zX2xvY2suaAorQEAgLTMxNiwxMSArMzE2LDEyIEBAIHRhcyh2b2xhdGlsZSBzbG9ja190ICpsb2NrKQorIAorIC8qCisgICogT24gQVJNIGFuZCBBUk02NCwgd2UgdXNlIF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldChpbnQgKiwgaW50KSBpZiBhdmFpbGFibGUuCisrICogT24gUklTQy1WLCB0aGUgc2FtZS4KKyAgKgorICAqIFdlIHVzZSB0aGUgaW50LXdpZHRoIHZhcmlhbnQgb2YgdGhlIGJ1aWx0aW4gYmVjYXVzZSBpdCB3b3JrcyBvbiBtb3JlIGNoaXBzCisgICogdGhhbiBvdGhlciB3aWR0aHMuCisgICovCistI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FybSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjQpCisrI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX2FybSkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjQpIHx8IGRlZmluZWQoX19yaXNjdikKKyAjaWZkZWYgSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTCisgI2RlZmluZSBIQVNfVEVTVF9BTkRfU0VUCisgCitAQCAtMzM3LDcgKzMzOCw3IEBAIHRhcyh2b2xhdGlsZSBzbG9ja190ICpsb2NrKQorICNkZWZpbmUgU19VTkxPQ0sobG9jaykgX19zeW5jX2xvY2tfcmVsZWFzZShsb2NrKQorIAorICNlbmRpZgkgLyogSEFWRV9HQ0NfX1NZTkNfSU5UMzJfVEFTICovCistI2VuZGlmCSAvKiBfX2FybV9fIHx8IF9fYXJtIHx8IF9fYWFyY2g2NF9fIHx8IF9fYWFyY2g2NCAqLworKyNlbmRpZgkgLyogX19hcm1fXyB8fCBfX2FybSB8fCBfX2FhcmNoNjRfXyB8fCBfX2FhcmNoNjQgfHwgX19yaXNjdiAqLworIAorIAorIC8qIFMvMzkwIGFuZCBTLzM5MHggTGludXggKDMyLSBhbmQgNjQtYml0IHpTZXJpZXMpICovCistLSAKKzIuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVN5bmMtb3VyLWNvcHktb2YtdGhlLXRpbWV6b25lLWxpYnJhcnktd2l0aC1JQU5BLXJlbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDhjNDZlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy8wMDAxLVN5bmMtb3VyLWNvcHktb2YtdGhlLXRpbWV6b25lLWxpYnJhcnktd2l0aC1JQU5BLXJlbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTY0ICswLDAgQEAKLUZyb20gMTJiZmI3NzhjZTY4OGZjNjYyYTZjYjM1ZjYyOTg3MzRmY2Y0ODU2ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBMYW5lIDx0Z2xAc3NzLnBnaC5wYS51cz4KLURhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTk6MzY6MzQgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gU3luYyBvdXIgY29weSBvZiB0aGUgdGltZXpvbmUgbGlicmFyeSB3aXRoIElBTkEgcmVsZWFzZQotIHR6Y29kZTIwMThmLgotCi1BYm91dCBoYWxmIG9mIHRoaXMgaXMgcHVyZWx5IGNvc21ldGljIGNoYW5nZXMgdG8gcmVkdWNlIHRoZSBkaWZmIGJldHdlZW4KLW91ciBjb2RlIGFuZCB0aGVpcnMsIGxpa2UgaW5zZXJ0aW5nICJjb25zdCIgbWFya2VycyB3aGVyZSB0aGV5IGhhdmUgdGhlbS4KLQotVGhlIG90aGVyIGhhbGYgaXMgdHJhY2tpbmcgYWN0dWFsIGNvZGUgY2hhbmdlcyBpbiB6aWMuYyBhbmQgbG9jYWx0aW1lLmMuCi1JIGRvbid0IHRoaW5rIGFueSBvZiB0aGVzZSByZXByZXNlbnQgbmVhci10ZXJtIGNvbXBhdGliaWxpdHkgaGF6YXJkcywgYnV0Ci1pdCBzZWVtcyBiZXN0IHRvIHN0YXkgdXAgdG8gZGF0ZS4KLQotSSBhbHNvIGZpeGVkIGxvbmdzdGFuZGluZyBidWdzIGluIG91ciBjb2RlIGZvciBwcm9kdWNpbmcgdGhlCi1rbm93bl9hYmJyZXZzLnR4dCBsaXN0LCB3aGljaCBieSBjaGFuY2UgaGFkbid0IGJlZW4gZXhwb3NlZCBiZWZvcmUsCi1idXQgd2hpY2ggcmVzdWx0ZWQgaW4gc29tZSBnYXJiYWdlIG91dHB1dCBhZnRlciBhcHBseWluZyB0aGUgdXBzdHJlYW0KLWNoYW5nZXMgaW4gemljLmMuICBOb3RhYmx5LCBiZWNhdXNlIHVwc3RyZWFtIHJlbW92ZWQgdGhlaXIgb2xkIHBob255Ci10cmFuc2l0aW9ucyBhdCB0aGUgQmlnIEJhbmcsIGl0J3Mgbm93IG5lY2Vzc2FyeSB0byBjb3BlIHdpdGggVFppZiBmaWxlcwotY29udGFpbmluZyBubyBEU1QgdHJhbnNpdGlvbiB0aW1lcyBhdCBhbGwuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgotCi0tLS0KLSBzcmMvdGltZXpvbmUvUkVBRE1FICAgICAgfCAgIDIgKy0KLSBzcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMgfCAxMjYgKysrKysrKysrKysrLS0tLS0tCi0gc3JjL3RpbWV6b25lL3BndHouaCAgICAgIHwgIDEwICstCi0gc3JjL3RpbWV6b25lL3ByaXZhdGUuaCAgIHwgICAzICsKLSBzcmMvdGltZXpvbmUvc3RyZnRpbWUuYyAgfCAgMTAgKy0KLSBzcmMvdGltZXpvbmUvdHpmaWxlLmggICAgfCAgIDcgKy0KLSBzcmMvdGltZXpvbmUvemljLmMgICAgICAgfCAzMzAgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSA3IGZpbGVzIGNoYW5nZWQsIDI5MSBpbnNlcnRpb25zKCspLCAxOTcgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL1JFQURNRQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9SRUFETUUKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL1JFQURNRQotQEAgLTU1LDcgKzU1LDcgQEAgbWF0Y2ggcHJvcGVybHkgb24gdGhlIG9sZCB2ZXJzaW9uLgotIFRpbWUgWm9uZSBjb2RlCi0gPT09PT09PT09PT09PT0KLSAKLS1UaGUgY29kZSBpbiB0aGlzIGRpcmVjdG9yeSBpcyBjdXJyZW50bHkgc3luY2VkIHdpdGggdHpjb2RlIHJlbGVhc2UgMjAxOGUuCi0rVGhlIGNvZGUgaW4gdGhpcyBkaXJlY3RvcnkgaXMgY3VycmVudGx5IHN5bmNlZCB3aXRoIHR6Y29kZSByZWxlYXNlIDIwMThmLgotIFRoZXJlIGFyZSBtYW55IGNvc21ldGljIChhbmQgbm90IHNvIGNvc21ldGljKSBkaWZmZXJlbmNlcyBmcm9tIHRoZQotIG9yaWdpbmFsIHR6Y29kZSBsaWJyYXJ5LCBidXQgZGlmZnMgaW4gdGhlIHVwc3RyZWFtIHZlcnNpb24gc2hvdWxkIHVzdWFsbHkKLSBiZSBwcm9wYWdhdGVkIHRvIG91ciB2ZXJzaW9uLiAgSGVyZSBhcmUgc29tZSBub3RlcyBhYm91dCB0aGF0LgotSW5kZXg6IHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvbG9jYWx0aW1lLmMKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL2xvY2FsdGltZS5jCi1AQCAtMSwzICsxLDUgQEAKLSsvKiBDb252ZXJ0IHRpbWVzdGFtcCBmcm9tIHBnX3RpbWVfdCB0byBzdHJ1Y3QgcGdfdG0uICAqLwotKwotIC8qCi0gICogVGhpcyBmaWxlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluLCBzbyBjbGFyaWZpZWQgYXMgb2YKLSAgKiAxOTk2LTA2LTA1IGJ5IEFydGh1ciBEYXZpZCBPbHNvbi4KLUBAIC0xMTcsNyArMTE5LDcgQEAgaW5pdF90dGluZm8oc3RydWN0IHR0aW5mbyAqcywgaW50MzIgZ210bwotIH0KLSAKLSBzdGF0aWMgaW50MzIKLS1kZXR6Y29kZShjb25zdCBjaGFyICpjb2RlcCkKLStkZXR6Y29kZShjb25zdCBjaGFyICpjb25zdCBjb2RlcCkKLSB7Ci0gCWludDMyCQlyZXN1bHQ7Ci0gCWludAkJCWk7Ci1AQCAtMTQzLDcgKzE0NSw3IEBAIGRldHpjb2RlKGNvbnN0IGNoYXIgKmNvZGVwKQotIH0KLSAKLSBzdGF0aWMgaW50NjQKLS1kZXR6Y29kZTY0KGNvbnN0IGNoYXIgKmNvZGVwKQotK2RldHpjb2RlNjQoY29uc3QgY2hhciAqY29uc3QgY29kZXApCi0gewotIAl1aW50NjQJCXJlc3VsdDsKLSAJaW50CQkJaTsKLUBAIC0yNTgsOCArMjYwLDEzIEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCWludDMyCQljaGFyY250ID0gZGV0emNvZGUodXAtPnR6aGVhZC50emhfY2hhcmNudCk7Ci0gCQljaGFyIGNvbnN0ICpwID0gdXAtPmJ1ZiArIHR6aGVhZHNpemU7Ci0gCi0rCQkvKgotKwkJICogQWx0aG91Z2ggdHpmaWxlKDUpIGN1cnJlbnRseSByZXF1aXJlcyB0eXBlY250IHRvIGJlIG5vbnplcm8sCi0rCQkgKiBzdXBwb3J0IGZ1dHVyZSBmb3JtYXRzIHRoYXQgbWF5IGFsbG93IHplcm8gdHlwZWNudCBpbiBmaWxlcyB0aGF0Ci0rCQkgKiBoYXZlIGEgVFogc3RyaW5nIGFuZCBubyB0cmFuc2l0aW9ucy4KLSsJCSAqLwotIAkJaWYgKCEoMCA8PSBsZWFwY250ICYmIGxlYXBjbnQgPCBUWl9NQVhfTEVBUFMKLS0JCQkgICYmIDAgPCB0eXBlY250ICYmIHR5cGVjbnQgPCBUWl9NQVhfVFlQRVMKLSsJCQkgICYmIDAgPD0gdHlwZWNudCAmJiB0eXBlY250IDwgVFpfTUFYX1RZUEVTCi0gCQkJICAmJiAwIDw9IHRpbWVjbnQgJiYgdGltZWNudCA8IFRaX01BWF9USU1FUwotIAkJCSAgJiYgMCA8PSBjaGFyY250ICYmIGNoYXJjbnQgPCBUWl9NQVhfQ0hBUlMKLSAJCQkgICYmICh0dGlzc3RkY250ID09IHR5cGVjbnQgfHwgdHRpc3N0ZGNudCA9PSAwKQotQEAgLTQxNiw4ICs0MjMsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQlzdHJ1Y3Qgc3RhdGUgKnRzID0gJmxzcC0+dS5zdDsKLSAKLSAJCXVwLT5idWZbbnJlYWQgLSAxXSA9ICdcMCc7Ci0tCQlpZiAodHpwYXJzZSgmdXAtPmJ1ZlsxXSwgdHMsIGZhbHNlKQotLQkJCSYmIHRzLT50eXBlY250ID09IDIpCi0rCQlpZiAodHpwYXJzZSgmdXAtPmJ1ZlsxXSwgdHMsIGZhbHNlKSkKLSAJCXsKLSAJCQkvKgotIAkJCSAqIEF0dGVtcHQgdG8gcmV1c2UgZXhpc3RpbmcgYWJicmV2aWF0aW9ucy4gV2l0aG91dCB0aGlzLAotQEAgLTQzMCw3ICs0MzYsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQkJaW50CQkJZ290YWJiciA9IDA7Ci0gCQkJaW50CQkJY2hhcmNudCA9IHNwLT5jaGFyY250OwotIAotLQkJCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspCi0rCQkJZm9yIChpID0gMDsgaSA8IHRzLT50eXBlY250OyBpKyspCi0gCQkJewotIAkJCQljaGFyCSAgICp0c2FiYnIgPSB0cy0+Y2hhcnMgKyB0cy0+dHRpc1tpXS50dF9hYmJyaW5kOwotIAkJCQlpbnQJCQlqOwotQEAgLTQ1NSw3ICs0NjEsNyBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCQkJCQl9Ci0gCQkJCX0KLSAJCQl9Ci0tCQkJaWYgKGdvdGFiYnIgPT0gMikKLSsJCQlpZiAoZ290YWJiciA9PSB0cy0+dHlwZWNudCkKLSAJCQl7Ci0gCQkJCXNwLT5jaGFyY250ID0gY2hhcmNudDsKLSAKLUBAIC00NzAsNyArNDc2LDggQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCQkJc3AtPnRpbWVjbnQtLTsKLSAKLSAJCQkJZm9yIChpID0gMDsgaSA8IHRzLT50aW1lY250OyBpKyspCi0tCQkJCQlpZiAoc3AtPmF0c1tzcC0+dGltZWNudCAtIDFdIDwgdHMtPmF0c1tpXSkKLSsJCQkJCWlmIChzcC0+dGltZWNudCA9PSAwCi0rCQkJCQkJfHwgc3AtPmF0c1tzcC0+dGltZWNudCAtIDFdIDwgdHMtPmF0c1tpXSkKLSAJCQkJCQlicmVhazsKLSAJCQkJd2hpbGUgKGkgPCB0cy0+dGltZWNudAotIAkJCQkJICAgJiYgc3AtPnRpbWVjbnQgPCBUWl9NQVhfVElNRVMpCi1AQCAtNDgxLDExICs0ODgsMTMgQEAgdHpsb2FkYm9keShjaGFyIGNvbnN0ICpuYW1lLCBjaGFyICpjYW5vbgotIAkJCQkJc3AtPnRpbWVjbnQrKzsKLSAJCQkJCWkrKzsKLSAJCQkJfQotLQkJCQlzcC0+dHRpc1tzcC0+dHlwZWNudCsrXSA9IHRzLT50dGlzWzBdOwotLQkJCQlzcC0+dHRpc1tzcC0+dHlwZWNudCsrXSA9IHRzLT50dGlzWzFdOwotKwkJCQlmb3IgKGkgPSAwOyBpIDwgdHMtPnR5cGVjbnQ7IGkrKykKLSsJCQkJCXNwLT50dGlzW3NwLT50eXBlY250KytdID0gdHMtPnR0aXNbaV07Ci0gCQkJfQotIAkJfQotIAl9Ci0rCWlmIChzcC0+dHlwZWNudCA9PSAwKQotKwkJcmV0dXJuIEVJTlZBTDsKLSAJaWYgKHNwLT50aW1lY250ID4gMSkKLSAJewotIAkJZm9yIChpID0gMTsgaSA8IHNwLT50aW1lY250OyArK2kpCi1AQCAtNTA3LDYgKzUxNiwxOCBAQCB0emxvYWRib2R5KGNoYXIgY29uc3QgKm5hbWUsIGNoYXIgKmNhbm9uCi0gCX0KLSAKLSAJLyoKLSsJICogSW5mZXIgc3AtPmRlZmF1bHR0eXBlIGZyb20gdGhlIGRhdGEuICBBbHRob3VnaCB0aGlzIGRlZmF1bHQgdHlwZSBpcwotKwkgKiBhbHdheXMgemVybyBmb3IgZGF0YSBmcm9tIHJlY2VudCB0emRiIHJlbGVhc2VzLCB0aGluZ3MgYXJlIHRyaWNraWVyIGZvcgotKwkgKiBkYXRhIGZyb20gdHpkYiAyMDE4ZSBvciBlYXJsaWVyLgotKwkgKgotKwkgKiBUaGUgZmlyc3Qgc2V0IG9mIGhldXJpc3RpY3Mgd29yayBhcm91bmQgYnVncyBpbiAzMi1iaXQgZGF0YSBnZW5lcmF0ZWQKLSsJICogYnkgdHpkYiAyMDEzYyBvciBlYXJsaWVyLiAgVGhlIHdvcmthcm91bmQgaXMgZm9yIHpvbmVzIGxpa2UKLSsJICogQXVzdHJhbGlhL01hY3F1YXJpZSB3aGVyZSB0aW1lc3RhbXBzIGJlZm9yZSB0aGUgZmlyc3QgdHJhbnNpdGlvbiBoYXZlIGEKLSsJICogdGltZSB0eXBlIHRoYXQgaXMgbm90IHRoZSBlYXJsaWVzdCBzdGFuZGFyZC10aW1lIHR5cGUuICBTZWU6Ci0rCSAqIGh0dHBzOi8vbW0uaWNhbm4ub3JnL3BpcGVybWFpbC90ei8yMDEzLU1heS8wMTkzNjguaHRtbAotKwkgKi8KLSsKLSsJLyoKLSAJICogSWYgdHlwZSAwIGlzIHVudXNlZCBpbiB0cmFuc2l0aW9ucywgaXQncyB0aGUgdHlwZSB0byB1c2UgZm9yIGVhcmx5Ci0gCSAqIHRpbWVzLgotIAkgKi8KLUBAIC01MjksNiArNTUwLDExIEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJfQotIAotIAkvKgotKwkgKiBUaGUgbmV4dCBoZXVyaXN0aWNzIGFyZSBmb3IgZGF0YSBnZW5lcmF0ZWQgYnkgdHpkYiAyMDE4ZSBvciBlYXJsaWVyLAotKwkgKiBmb3Igem9uZXMgbGlrZSBFU1Q1RURUIHdoZXJlIHRoZSBmaXJzdCB0cmFuc2l0aW9uIGlzIHRvIERTVC4KLSsJICovCi0rCi0rCS8qCi0gCSAqIElmIG5vIHJlc3VsdCB5ZXQsIGZpbmQgdGhlIGZpcnN0IHN0YW5kYXJkIHR5cGUuIElmIHRoZXJlIGlzIG5vbmUsIHB1bnQKLSAJICogdG8gdHlwZSB6ZXJvLgotIAkgKi8KLUBAIC01NDIsNyArNTY4LDE0IEBAIHR6bG9hZGJvZHkoY2hhciBjb25zdCAqbmFtZSwgY2hhciAqY2Fub24KLSAJCQkJYnJlYWs7Ci0gCQkJfQotIAl9Ci0rCi0rCS8qCi0rCSAqIEEgc2ltcGxlICdzcC0+ZGVmYXVsdHR5cGUgPSAwOycgd291bGQgc3VmZmljZSBoZXJlIGlmIHdlIGRpZG4ndCBoYXZlIHRvCi0rCSAqIHdvcnJ5IGFib3V0IDIwMThlLW9yLWVhcmxpZXIgZGF0YS4gIEV2ZW4gc2ltcGxlciB3b3VsZCBiZSB0byByZW1vdmUgdGhlCi0rCSAqIGRlZmF1bHR0eXBlIG1lbWJlciBhbmQganVzdCB1c2UgMCBpbiBpdHMgcGxhY2UuCi0rCSAqLwotIAlzcC0+ZGVmYXVsdHR5cGUgPSBpOwotKwotIAlyZXR1cm4gMDsKLSB9Ci0gCi1AQCAtNjAxLDEwICs2MzQsMTEgQEAgc3RhdGljIGNvbnN0IGludCB5ZWFyX2xlbmd0aHNbMl0gPSB7Ci0gfTsKLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgc2NhbiB1bnRpbCBhIGNoYXJhY3RlciB0aGF0IGlzIG5vdAotLSAqIGEgdmFsaWQgY2hhcmFjdGVyIGluIGEgem9uZSBuYW1lIGlzIGZvdW5kLiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoYXQKLS0gKiBjaGFyYWN0ZXIuCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIHNjYW4gdW50aWwgYSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QKLSsgKiBhIHZhbGlkIGNoYXJhY3RlciBpbiBhIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gaXMgZm91bmQuCi0rICogUmV0dXJuIGEgcG9pbnRlciB0byB0aGF0IGNoYXJhY3Rlci4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0gZ2V0em5hbWUoY29uc3QgY2hhciAqc3RycCkKLSB7Ci1AQCAtNjE3LDE1ICs2NTEsMTcgQEAgZ2V0em5hbWUoY29uc3QgY2hhciAqc3RycCkKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhbiBleHRlbmRlZCB0aW1lIHpvbmUgc3RyaW5nLCBzY2FuIHVudGlsIHRoZSBlbmRpbmcKLS0gKiBkZWxpbWl0ZXIgb2YgdGhlIHpvbmUgbmFtZSBpcyBsb2NhdGVkLiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBkZWxpbWl0ZXIuCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYW4gZXh0ZW5kZWQgdGltZXpvbmUgc3RyaW5nLCBzY2FuIHVudGlsIHRoZSBlbmRpbmcKLSsgKiBkZWxpbWl0ZXIgb2YgdGhlIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gaXMgbG9jYXRlZC4KLSsgKiBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBkZWxpbWl0ZXIuCi0gICoKLSAgKiBBcyB3aXRoIGdldHpuYW1lIGFib3ZlLCB0aGUgbGVnYWwgY2hhcmFjdGVyIHNldCBpcyBhY3R1YWxseSBxdWl0ZQotICAqIHJlc3RyaWN0ZWQsIHdpdGggb3RoZXIgY2hhcmFjdGVycyBwcm9kdWNpbmcgdW5kZWZpbmVkIHJlc3VsdHMuCi0gICogV2UgZG9uJ3QgZG8gYW55IGNoZWNraW5nIGhlcmU7IGNoZWNraW5nIGlzIGRvbmUgbGF0ZXIgaW4gY29tbW9uLWNhc2UgY29kZS4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0tZ2V0cXpuYW1lKGNvbnN0IGNoYXIgKnN0cnAsIGludCBkZWxpbSkKLStnZXRxem5hbWUoY29uc3QgY2hhciAqc3RycCwgY29uc3QgaW50IGRlbGltKQotIHsKLSAJaW50CQkJYzsKLSAKLUBAIC02MzUsMTMgKzY3MSwxNCBAQCBnZXRxem5hbWUoY29uc3QgY2hhciAqc3RycCwgaW50IGRlbGltKQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhIG51bWJlciBmcm9tIHRoYXQgc3RyaW5nLgotKyAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZXpvbmUgc3RyaW5nLCBleHRyYWN0IGEgbnVtYmVyIGZyb20gdGhhdCBzdHJpbmcuCi0gICogQ2hlY2sgdGhhdCB0aGUgbnVtYmVyIGlzIHdpdGhpbiBhIHNwZWNpZmllZCByYW5nZTsgaWYgaXQgaXMgbm90LCByZXR1cm4KLSAgKiBOVUxMLgotICAqIE90aGVyd2lzZSwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG5vdCBwYXJ0IG9mIHRoZSBudW1iZXIuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldG51bShjb25zdCBjaGFyICpzdHJwLCBpbnQgKm51bXAsIGludCBtaW4sIGludCBtYXgpCi0rZ2V0bnVtKGNvbnN0IGNoYXIgKnN0cnAsIGludCAqY29uc3QgbnVtcCwgY29uc3QgaW50IG1pbiwgY29uc3QgaW50IG1heCkKLSB7Ci0gCWNoYXIJCWM7Ci0gCWludAkJCW51bTsKLUBAIC02NjMsMTQgKzcwMCwxNSBAQCBnZXRudW0oY29uc3QgY2hhciAqc3RycCwgaW50ICpudW1wLCBpbnQKLSB9Ci0gCi0gLyoKLS0gKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWUgem9uZSBzdHJpbmcsIGV4dHJhY3QgYSBudW1iZXIgb2Ygc2Vjb25kcywKLSsgKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWV6b25lIHN0cmluZywgZXh0cmFjdCBhIG51bWJlciBvZiBzZWNvbmRzLAotICAqIGluIGhoWzptbVs6c3NdXSBmb3JtLCBmcm9tIHRoZSBzdHJpbmcuCi0gICogSWYgYW55IGVycm9yIG9jY3VycywgcmV0dXJuIE5VTEwuCi0gICogT3RoZXJ3aXNlLCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBmaXJzdCBjaGFyYWN0ZXIgbm90IHBhcnQgb2YgdGhlIG51bWJlcgotICAqIG9mIHNlY29uZHMuCi0gICovCi0rCi0gc3RhdGljIGNvbnN0IGNoYXIgKgotLWdldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKnNlY3NwKQotK2dldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKmNvbnN0IHNlY3NwKQotIHsKLSAJaW50CQkJbnVtOwotIAotQEAgLTcwNCwxMyArNzQyLDE0IEBAIGdldHNlY3MoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKnNlY3NwKQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhbiBvZmZzZXQsIGluCi0rICogR2l2ZW4gYSBwb2ludGVyIGludG8gYSB0aW1lem9uZSBzdHJpbmcsIGV4dHJhY3QgYW4gb2Zmc2V0LCBpbgotICAqIFsrLV1oaFs6bW1bOnNzXV0gZm9ybSwgZnJvbSB0aGUgc3RyaW5nLgotICAqIElmIGFueSBlcnJvciBvY2N1cnMsIHJldHVybiBOVUxMLgotICAqIE90aGVyd2lzZSwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgZmlyc3QgY2hhcmFjdGVyIG5vdCBwYXJ0IG9mIHRoZSB0aW1lLgotICAqLwotKwotIHN0YXRpYyBjb25zdCBjaGFyICoKLS1nZXRvZmZzZXQoY29uc3QgY2hhciAqc3RycCwgaW50MzIgKm9mZnNldHApCi0rZ2V0b2Zmc2V0KGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpjb25zdCBvZmZzZXRwKQotIHsKLSAJYm9vbAkJbmVnID0gZmFsc2U7Ci0gCi1AQCAtNzMwLDEzICs3NjksMTQgQEAgZ2V0b2Zmc2V0KGNvbnN0IGNoYXIgKnN0cnAsIGludDMyICpvZmZzZQotIH0KLSAKLSAvKgotLSAqIEdpdmVuIGEgcG9pbnRlciBpbnRvIGEgdGltZSB6b25lIHN0cmluZywgZXh0cmFjdCBhIHJ1bGUgaW4gdGhlIGZvcm0KLSsgKiBHaXZlbiBhIHBvaW50ZXIgaW50byBhIHRpbWV6b25lIHN0cmluZywgZXh0cmFjdCBhIHJ1bGUgaW4gdGhlIGZvcm0KLSAgKiBkYXRlWy90aW1lXS4gU2VlIFBPU0lYIHNlY3Rpb24gOCBmb3IgdGhlIGZvcm1hdCBvZiAiZGF0ZSIgYW5kICJ0aW1lIi4KLSAgKiBJZiBhIHZhbGlkIHJ1bGUgaXMgbm90IGZvdW5kLCByZXR1cm4gTlVMTC4KLSAgKiBPdGhlcndpc2UsIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBub3QgcGFydCBvZiB0aGUgcnVsZS4KLSAgKi8KLSsKLSBzdGF0aWMgY29uc3QgY2hhciAqCi0tZ2V0cnVsZShjb25zdCBjaGFyICpzdHJwLCBzdHJ1Y3QgcnVsZSAqcnVsZXApCi0rZ2V0cnVsZShjb25zdCBjaGFyICpzdHJwLCBzdHJ1Y3QgcnVsZSAqY29uc3QgcnVsZXApCi0gewotIAlpZiAoKnN0cnAgPT0gJ0onKQotIAl7Ci1AQCAtNzk1LDkgKzgzNSwxMCBAQCBnZXRydWxlKGNvbnN0IGNoYXIgKnN0cnAsIHN0cnVjdCBydWxlICpyCi0gICogR2l2ZW4gYSB5ZWFyLCBhIHJ1bGUsIGFuZCB0aGUgb2Zmc2V0IGZyb20gVVQgYXQgdGhlIHRpbWUgdGhhdCBydWxlIHRha2VzCi0gICogZWZmZWN0LCBjYWxjdWxhdGUgdGhlIHllYXItcmVsYXRpdmUgdGltZSB0aGF0IHJ1bGUgdGFrZXMgZWZmZWN0LgotICAqLwotKwotIHN0YXRpYyBpbnQzMgotLXRyYW5zdGltZShpbnQgeWVhciwgY29uc3Qgc3RydWN0IHJ1bGUgKnJ1bGVwLAotLQkJICBpbnQzMiBvZmZzZXQpCi0rdHJhbnN0aW1lKGNvbnN0IGludCB5ZWFyLCBjb25zdCBzdHJ1Y3QgcnVsZSAqY29uc3QgcnVsZXAsCi0rCQkgIGNvbnN0IGludDMyIG9mZnNldCkKLSB7Ci0gCWJvb2wJCWxlYXB5ZWFyOwotIAlpbnQzMgkJdmFsdWU7Ci1AQCAtOTgxLDcgKzEwMjIsNyBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQl7Ci0gCQkJZHN0bmFtZSA9IG5hbWU7Ci0gCQkJbmFtZSA9IGdldHpuYW1lKG5hbWUpOwotLQkJCWRzdGxlbiA9IG5hbWUgLSBkc3RuYW1lOwkvKiBsZW5ndGggb2YgRFNUIHpvbmUgbmFtZSAqLwotKwkJCWRzdGxlbiA9IG5hbWUgLSBkc3RuYW1lOwkvKiBsZW5ndGggb2YgRFNUIGFiYnIuICovCi0gCQl9Ci0gCQlpZiAoIWRzdGxlbikKLSAJCQlyZXR1cm4gZmFsc2U7Ci1AQCAtMTAyMyw4ICsxMDY0LDggQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCS8qCi0gCQkJICogVHdvIHRyYW5zaXRpb25zIHBlciB5ZWFyLCBmcm9tIEVQT0NIX1lFQVIgZm9yd2FyZC4KLSAJCQkgKi8KLS0JCQlpbml0X3R0aW5mbygmc3AtPnR0aXNbMF0sIC1kc3RvZmZzZXQsIHRydWUsIHN0ZGxlbiArIDEpOwotLQkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1sxXSwgLXN0ZG9mZnNldCwgZmFsc2UsIDApOwotKwkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1swXSwgLXN0ZG9mZnNldCwgZmFsc2UsIDApOwotKwkJCWluaXRfdHRpbmZvKCZzcC0+dHRpc1sxXSwgLWRzdG9mZnNldCwgdHJ1ZSwgc3RkbGVuICsgMSk7Ci0gCQkJc3AtPmRlZmF1bHR0eXBlID0gMDsKLSAJCQl0aW1lY250ID0gMDsKLSAJCQlqYW5maXJzdCA9IDA7Ci1AQCAtMTA3MywxOSArMTExNCwxNSBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQkJCQlpZiAoIWluY3JlbWVudF9vdmVyZmxvd190aW1lCi0gCQkJCQkJKCZzcC0+YXRzW3RpbWVjbnRdLAotIAkJCQkJCSBqYW5vZmZzZXQgKyBzdGFydHRpbWUpKQotLQkJCQkJCXNwLT50eXBlc1t0aW1lY250KytdID0gcmV2ZXJzZWQ7Ci0tCQkJCQllbHNlIGlmIChqYW5vZmZzZXQpCi0tCQkJCQkJc3AtPmRlZmF1bHR0eXBlID0gcmV2ZXJzZWQ7Ci0rCQkJCQkJc3AtPnR5cGVzW3RpbWVjbnQrK10gPSAhcmV2ZXJzZWQ7Ci0gCQkJCQlzcC0+YXRzW3RpbWVjbnRdID0gamFuZmlyc3Q7Ci0gCQkJCQlpZiAoIWluY3JlbWVudF9vdmVyZmxvd190aW1lCi0gCQkJCQkJKCZzcC0+YXRzW3RpbWVjbnRdLAotIAkJCQkJCSBqYW5vZmZzZXQgKyBlbmR0aW1lKSkKLSAJCQkJCXsKLS0JCQkJCQlzcC0+dHlwZXNbdGltZWNudCsrXSA9ICFyZXZlcnNlZDsKLSsJCQkJCQlzcC0+dHlwZXNbdGltZWNudCsrXSA9IHJldmVyc2VkOwotIAkJCQkJCXllYXJsaW0gPSB5ZWFyICsgWUVBUlNQRVJSRVBFQVQgKyAxOwotIAkJCQkJfQotLQkJCQkJZWxzZSBpZiAoamFub2Zmc2V0KQotLQkJCQkJCXNwLT5kZWZhdWx0dHlwZSA9ICFyZXZlcnNlZDsKLSAJCQkJfQotIAkJCQlpZiAoaW5jcmVtZW50X292ZXJmbG93X3RpbWUKLSAJCQkJCSgmamFuZmlyc3QsIGphbm9mZnNldCArIHllYXJzZWNzKSkKLUBAIC0xMDk0LDcgKzExMzEsMTAgQEAgdHpwYXJzZShjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3RhdGUgKgotIAkJCX0KLSAJCQlzcC0+dGltZWNudCA9IHRpbWVjbnQ7Ci0gCQkJaWYgKCF0aW1lY250KQotKwkJCXsKLSsJCQkJc3AtPnR0aXNbMF0gPSBzcC0+dHRpc1sxXTsKLSAJCQkJc3AtPnR5cGVjbnQgPSAxOwkvKiBQZXJwZXR1YWwgRFNULiAgKi8KLSsJCQl9Ci0gCQkJZWxzZSBpZiAoWUVBUlNQRVJSRVBFQVQgPCB5ZWFyIC0geWVhcmJlZykKLSAJCQkJc3AtPmdvYmFjayA9IHNwLT5nb2FoZWFkID0gdHJ1ZTsKLSAJCX0KLUBAIC0xMTYzLDcgKzEyMDMsNiBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gCQkJCQkgKiBvdGhlcndpc2UsIGFkZCB0aGUgc3RhbmRhcmQgdGltZSBvZmZzZXQgdG8gdGhlCi0gCQkJCQkgKiB0cmFuc2l0aW9uIHRpbWUuCi0gCQkJCQkgKi8KLS0KLSAJCQkJCS8qCi0gCQkJCQkgKiBUcmFuc2l0aW9ucyBmcm9tIERTVCB0byBERFNUIHdpbGwgZWZmZWN0aXZlbHkgZGlzYXBwZWFyCi0gCQkJCQkgKiBzaW5jZSBQT1NJWCBwcm92aWRlcyBmb3Igb25seSBvbmUgRFNUIG9mZnNldC4KLUBAIC0xMjE3LDcgKzEyNTYsNyBAQCB0enBhcnNlKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBzdGF0ZSAqCi0gfQotIAotIHN0YXRpYyB2b2lkCi0tZ210bG9hZChzdHJ1Y3Qgc3RhdGUgKnNwKQotK2dtdGxvYWQoc3RydWN0IHN0YXRlICpjb25zdCBzcCkKLSB7Ci0gCWlmICh0emxvYWQoZ210LCBOVUxMLCBzcCwgdHJ1ZSkgIT0gMCkKLSAJCXR6cGFyc2UoZ210LCBzcCwgdHJ1ZSk7Ci1AQCAtMTIzMiw3ICsxMjcxLDcgQEAgZ210bG9hZChzdHJ1Y3Qgc3RhdGUgKnNwKQotICAqLwotIHN0YXRpYyBzdHJ1Y3QgcGdfdG0gKgotIGxvY2Fsc3ViKHN0cnVjdCBzdGF0ZSBjb25zdCAqc3AsIHBnX3RpbWVfdCBjb25zdCAqdGltZXAsCi0tCQkgc3RydWN0IHBnX3RtICp0bXApCi0rCQkgc3RydWN0IHBnX3RtICpjb25zdCB0bXApCi0gewotIAljb25zdCBzdHJ1Y3QgdHRpbmZvICp0dGlzcDsKLSAJaW50CQkJaTsKLUBAIC0xMzAwLDYgKzEzMzksMTEgQEAgbG9jYWxzdWIoc3RydWN0IHN0YXRlIGNvbnN0ICpzcCwgcGdfdGltZQotIAl9Ci0gCXR0aXNwID0gJnNwLT50dGlzW2ldOwotIAotKwkvKgotKwkgKiBUbyBnZXQgKHdyb25nKSBiZWhhdmlvciB0aGF0J3MgY29tcGF0aWJsZSB3aXRoIFN5c3RlbSBWIFJlbGVhc2UgMi4wCi0rCSAqIHlvdSdkIHJlcGxhY2UgdGhlIHN0YXRlbWVudCBiZWxvdyB3aXRoIHQgKz0gdHRpc3AtPnR0X2dtdG9mZjsKLSsJICogdGltZXN1YigmdCwgMEwsIHNwLCB0bXApOwotKwkgKi8KLSAJcmVzdWx0ID0gdGltZXN1YigmdCwgdHRpc3AtPnR0X2dtdG9mZiwgc3AsIHRtcCk7Ci0gCWlmIChyZXN1bHQpCi0gCXsKLUBAIC0xMzIyLDggKzEzNjYsMTAgQEAgcGdfbG9jYWx0aW1lKGNvbnN0IHBnX3RpbWVfdCAqdGltZXAsIGNvbgotICAqCi0gICogRXhjZXB0IHdlIGhhdmUgYSBwcml2YXRlICJzdHJ1Y3Qgc3RhdGUiIGZvciBHTVQsIHNvIG5vIHNwIGlzIHBhc3NlZCBpbi4KLSAgKi8KLSsKLSBzdGF0aWMgc3RydWN0IHBnX3RtICoKLS1nbXRzdWIocGdfdGltZV90IGNvbnN0ICp0aW1lcCwgaW50MzIgb2Zmc2V0LCBzdHJ1Y3QgcGdfdG0gKnRtcCkKLStnbXRzdWIocGdfdGltZV90IGNvbnN0ICp0aW1lcCwgaW50MzIgb2Zmc2V0LAotKwkgICBzdHJ1Y3QgcGdfdG0gKnRtcCkKLSB7Ci0gCXN0cnVjdCBwZ190bSAqcmVzdWx0OwotIAotQEAgLTEzMzcsNiArMTM4Myw3IEBAIGdtdHN1YihwZ190aW1lX3QgY29uc3QgKnRpbWVwLCBpbnQzMiBvZmYKLSAJCWdtdF9pc19zZXQgPSB0cnVlOwotIAkJZ210bG9hZChnbXRwdHIpOwotIAl9Ci0rCi0gCXJlc3VsdCA9IHRpbWVzdWIodGltZXAsIG9mZnNldCwgZ210cHRyLCB0bXApOwotIAotIAkvKgotQEAgLTEzNjEsNiArMTQwOCw3IEBAIHBnX2dtdGltZShjb25zdCBwZ190aW1lX3QgKnRpbWVwKQotICAqIFJldHVybiB0aGUgbnVtYmVyIG9mIGxlYXAgeWVhcnMgdGhyb3VnaCB0aGUgZW5kIG9mIHRoZSBnaXZlbiB5ZWFyCi0gICogd2hlcmUsIHRvIG1ha2UgdGhlIG1hdGggZWFzeSwgdGhlIGFuc3dlciBmb3IgeWVhciB6ZXJvIGlzIGRlZmluZWQgYXMgemVyby4KLSAgKi8KLSsKLSBzdGF0aWMgaW50Ci0gbGVhcHNfdGhydV9lbmRfb2Zfbm9ubmVnKGludCB5KQotIHsKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3BndHouaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9wZ3R6LmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3BndHouaAotQEAgLTQ5LDEwICs0OSwxNiBAQCBzdHJ1Y3Qgc3RhdGUKLSAJcGdfdGltZV90CWF0c1tUWl9NQVhfVElNRVNdOwotIAl1bnNpZ25lZCBjaGFyIHR5cGVzW1RaX01BWF9USU1FU107Ci0gCXN0cnVjdCB0dGluZm8gdHRpc1tUWl9NQVhfVFlQRVNdOwotLQljaGFyCQljaGFyc1tCSUdHRVNUKEJJR0dFU1QoVFpfTUFYX0NIQVJTICsgMSwgMyAvKiBzaXplb2YgZ210ICovICksCi0rCWNoYXIJCWNoYXJzW0JJR0dFU1QoQklHR0VTVChUWl9NQVhfQ0hBUlMgKyAxLCA0IC8qIHNpemVvZiBnbXQgKi8gKSwKLSAJCQkJCQkJICAoMiAqIChUWl9TVFJMRU5fTUFYICsgMSkpKV07Ci0gCXN0cnVjdCBsc2luZm8gbHNpc1tUWl9NQVhfTEVBUFNdOwotLQlpbnQJCQlkZWZhdWx0dHlwZTsJLyogZm9yIGVhcmx5IHRpbWVzIG9yIGlmIG5vIHRyYW5zaXRpb25zICovCi0rCi0rCS8qCi0rCSAqIFRoZSB0aW1lIHR5cGUgdG8gdXNlIGZvciBlYXJseSB0aW1lcyBvciBpZiBubyB0cmFuc2l0aW9ucy4gSXQgaXMgYWx3YXlzCi0rCSAqIHplcm8gZm9yIHJlY2VudCB0emRiIHJlbGVhc2VzLiBJdCBtaWdodCBiZSBub256ZXJvIGZvciBkYXRhIGZyb20gdHpkYgotKwkgKiAyMDE4ZSBvciBlYXJsaWVyLgotKwkgKi8KLSsJaW50CQkJZGVmYXVsdHR5cGU7Ci0gfTsKLSAKLSAKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ByaXZhdGUuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBvc3RncmVzcWwtMTAuNS5vcmlnL3NyYy90aW1lem9uZS9wcml2YXRlLmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ByaXZhdGUuaAotQEAgLTEsNCArMSw3IEBACi0rLyogUHJpdmF0ZSBoZWFkZXIgZm9yIHR6ZGIgY29kZS4gICovCi0rCi0gI2lmbmRlZiBQUklWQVRFX0gKLSsKLSAjZGVmaW5lIFBSSVZBVEVfSAotIAotIC8qCi1JbmRleDogcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS9zdHJmdGltZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL3N0cmZ0aW1lLmMKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3N0cmZ0aW1lLmMKLUBAIC0xLDQgKzEsNCBAQAotLS8qIENvbnZlcnQgYSBicm9rZW4tZG93biB0aW1lc3RhbXAgdG8gYSBzdHJpbmcuICovCi0rLyogQ29udmVydCBhIGJyb2tlbi1kb3duIHRpbWVzdGFtcCB0byBhIHN0cmluZy4gICovCi0gCi0gLyoKLSAgKiBDb3B5cmlnaHQgMTk4OSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgotQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgY2hhciAqX2FkZChjb25zdCBjaGFyICosIGNoYXIgKiwKLSBzdGF0aWMgY2hhciAqX2NvbnYoaW50LCBjb25zdCBjaGFyICosIGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLSBzdGF0aWMgY2hhciAqX2ZtdChjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCBwZ190bSAqLCBjaGFyICosIGNvbnN0IGNoYXIgKiwKLSAJIGVudW0gd2FybiAqKTsKLS1zdGF0aWMgY2hhciAqX3ljb252KGludCwgaW50LCBib29sLCBib29sLCBjaGFyICosIGNvbnN0IGNoYXIgKik7Ci0rc3RhdGljIGNoYXIgKl95Y29udihpbnQsIGludCwgYm9vbCwgYm9vbCwgY2hhciAqLCBjaGFyIGNvbnN0ICopOwotIAotIAotIHNpemVfdAotQEAgLTQ0MSw3ICs0NDEsOCBAQCBfZm10KGNvbnN0IGNoYXIgKmZvcm1hdCwgY29uc3Qgc3RydWN0IHBnCi0gCi0gCQkJCQkvKgotIAkJCQkJICogQzk5IGFuZCBsYXRlciBzYXkgdGhhdCAlWiBtdXN0IGJlIHJlcGxhY2VkIGJ5IHRoZSBlbXB0eQotLQkJCQkJICogc3RyaW5nIGlmIHRoZSB0aW1lIHpvbmUgaXMgbm90IGRldGVybWluYWJsZS4KLSsJCQkJCSAqIHN0cmluZyBpZiB0aGUgdGltZSB6b25lIGFiYnJldmlhdGlvbiBpcyBub3QKLSsJCQkJCSAqIGRldGVybWluYWJsZS4KLSAJCQkJCSAqLwotIAkJCQkJY29udGludWU7Ci0gCQkJCWNhc2UgJ3onOgotQEAgLTUxOSw2ICs1MjAsNyBAQCBfYWRkKGNvbnN0IGNoYXIgKnN0ciwgY2hhciAqcHQsIGNvbnN0IGNoCi0gICogc2FtZSBvdXRwdXQgYXMgJVksIGFuZCB0aGF0ICVZIGNvbnRhaW5zIGF0IGxlYXN0IDQgYnl0ZXMsCi0gICogd2l0aCBtb3JlIG9ubHkgaWYgbmVjZXNzYXJ5LgotICAqLwotKwotIHN0YXRpYyBjaGFyICoKLSBfeWNvbnYoaW50IGEsIGludCBiLCBib29sIGNvbnZlcnRfdG9wLCBib29sIGNvbnZlcnRfeXksCi0gCSAgIGNoYXIgKnB0LCBjb25zdCBjaGFyICpwdGxpbSkKLUBAIC01MjYsNyArNTI4LDcgQEAgX3ljb252KGludCBhLCBpbnQgYiwgYm9vbCBjb252ZXJ0X3RvcCwgYgotIAlpbnQJCQlsZWFkOwotIAlpbnQJCQl0cmFpbDsKLSAKLS0jZGVmaW5lIERJVklTT1IgMTAwCi0rI2RlZmluZSBESVZJU09SCTEwMAotIAl0cmFpbCA9IGEgJSBESVZJU09SICsgYiAlIERJVklTT1I7Ci0gCWxlYWQgPSBhIC8gRElWSVNPUiArIGIgLyBESVZJU09SICsgdHJhaWwgLyBESVZJU09SOwotIAl0cmFpbCAlPSBESVZJU09SOwotSW5kZXg6IHBvc3RncmVzcWwtMTAuNS9zcmMvdGltZXpvbmUvdHpmaWxlLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwb3N0Z3Jlc3FsLTEwLjUub3JpZy9zcmMvdGltZXpvbmUvdHpmaWxlLmgKLSsrKyBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3R6ZmlsZS5oCi1AQCAtMSw0ICsxLDcgQEAKLSsvKiBMYXlvdXQgYW5kIGxvY2F0aW9uIG9mIFRaaWYgZmlsZXMuICAqLwotKwotICNpZm5kZWYgVFpGSUxFX0gKLSsKLSAjZGVmaW5lIFRaRklMRV9ICi0gCi0gLyoKLUBAIC0yMSwxNCArMjQsMTQgQEAKLSAgKiBJbmZvcm1hdGlvbiBhYm91dCB0aW1lIHpvbmUgZmlsZXMuCi0gICovCi0gCi0tI2RlZmluZSBUWkRFRkFVTFQJImxvY2FsdGltZSIKLSsjZGVmaW5lIFRaREVGQVVMVAkiL2V0Yy9sb2NhbHRpbWUiCi0gI2RlZmluZSBUWkRFRlJVTEVTCSJwb3NpeHJ1bGVzIgotIAotIC8qCi0gICogRWFjaCBmaWxlIGJlZ2lucyB3aXRoLiAuIC4KLSAgKi8KLSAKLS0jZGVmaW5lIFRaX01BR0lDCSJUWmlmIgotKyNkZWZpbmUJVFpfTUFHSUMJIlRaaWYiCi0gCi0gc3RydWN0IHR6aGVhZAotIHsKLUluZGV4OiBwb3N0Z3Jlc3FsLTEwLjUvc3JjL3RpbWV6b25lL3ppYy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC0xMC41Lm9yaWcvc3JjL3RpbWV6b25lL3ppYy5jCi0rKysgcG9zdGdyZXNxbC0xMC41L3NyYy90aW1lem9uZS96aWMuYwotQEAgLTEsMyArMSw1IEBACi0rLyogQ29tcGlsZSAuemkgdGltZSB6b25lIGRhdGEgaW50byBUWmlmIGJpbmFyeSBmaWxlcy4gICovCi0rCi0gLyoKLSAgKiBUaGlzIGZpbGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4sIHNvIGNsYXJpZmllZCBhcyBvZgotICAqIDIwMDYtMDctMTcgYnkgQXJ0aHVyIERhdmlkIE9sc29uLgotQEAgLTEzMCw4ICsxMzIsNyBAQCBzdGF0aWMgdm9pZCBhZGpsZWFwKHZvaWQpOwotIHN0YXRpYyB2b2lkIGFzc29jaWF0ZSh2b2lkKTsKLSBzdGF0aWMgdm9pZCBkb2xpbmsoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGJvb2wpOwotIHN0YXRpYyBjaGFyICoqZ2V0ZmllbGRzKGNoYXIgKmJ1Zik7Ci0tc3RhdGljIHppY190IGdldGhtcyhjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmVycnN0cmluZywKLS0JICAgYm9vbCk7Ci0rc3RhdGljIHppY190IGdldGhtcyhjb25zdCBjaGFyICpzdHJpbmcsIGNvbnN0IGNoYXIgKmVycnN0cmluZyk7Ci0gc3RhdGljIHppY190IGdldHN0ZG9mZihjaGFyICosIGJvb2wgKik7Ci0gc3RhdGljIHZvaWQgaW5maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKLSBzdGF0aWMgdm9pZCBpbmxlYXAoY2hhciAqKmZpZWxkcywgaW50IG5maWVsZHMpOwotQEAgLTE2Miw3ICsxNjMsNyBAQCBlbnVtCi0gUEVSQ0VOVF9aX0xFTl9CT1VORCA9IHNpemVvZiAiKzk5NTk1OSIgLSAxfTsKLSAKLSAvKiBJZiB0cnVlLCB3b3JrIGFyb3VuZCBhIGJ1ZyBpbiBRdCA1LjYuMSBhbmQgZWFybGllciwgd2hpY2ggbWlzaGFuZGxlcwotLSAgIHR6IGJpbmFyeSBmaWxlcyB3aG9zZSBQT1NJWC1UWi1zdHlsZSBzdHJpbmdzIGNvbnRhaW4gJzwnOyBzZWUKLSsgICBUWmlmIGZpbGVzIHdob3NlIFBPU0lYLVRaLXN0eWxlIHN0cmluZ3MgY29udGFpbiAnPCc7IHNlZQotICAgIFFUQlVHLTUzMDcxIDxodHRwczovL2J1Z3JlcG9ydHMucXQuaW8vYnJvd3NlL1FUQlVHLTUzMDcxPi4gIFRoaXMKLSAgICB3b3JrYXJvdW5kIHdpbGwgbm8gbG9uZ2VyIGJlIG5lZWRlZCB3aGVuIFF0IDUuNi4xIGFuZCBlYXJsaWVyIGFyZQotICAgIG9ic29sZXRlLCBzYXkgaW4gdGhlIHllYXIgMjAyMS4gICovCi1AQCAtMjExLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQJdHlwZWNudDsKLSAjZGVmaW5lIFpGX1JVTEUJCTMKLSAjZGVmaW5lIFpGX0ZPUk1BVAk0Ci0gI2RlZmluZSBaRl9USUxZRUFSCTUKLS0jZGVmaW5lIFpGX1RJTE1PTlRIIDYKLSsjZGVmaW5lIFpGX1RJTE1PTlRICTYKLSAjZGVmaW5lIFpGX1RJTERBWQk3Ci0gI2RlZmluZSBaRl9USUxUSU1FCTgKLSAjZGVmaW5lIFpPTkVfTUlORklFTERTCTUKLUBAIC0yMjQsMTIgKzIyNSwxMiBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gI2RlZmluZSBaRkNfR01UT0ZGCTAKLSAjZGVmaW5lIFpGQ19SVUxFCTEKLSAjZGVmaW5lIFpGQ19GT1JNQVQJMgotLSNkZWZpbmUgWkZDX1RJTFlFQVIgMwotKyNkZWZpbmUgWkZDX1RJTFlFQVIJMwotICNkZWZpbmUgWkZDX1RJTE1PTlRICTQKLSAjZGVmaW5lIFpGQ19USUxEQVkJNQotLSNkZWZpbmUgWkZDX1RJTFRJTUUgNgotLSNkZWZpbmUgWk9ORUNfTUlORklFTERTIDMKLS0jZGVmaW5lIFpPTkVDX01BWEZJRUxEUyA3Ci0rI2RlZmluZSBaRkNfVElMVElNRQk2Ci0rI2RlZmluZSBaT05FQ19NSU5GSUVMRFMJMwotKyNkZWZpbmUgWk9ORUNfTUFYRklFTERTCTcKLSAKLSAvKgotICAqIFdoaWNoIGZpbGVzIGFyZSB3aGljaCBvbiBhIFJ1bGUgbGluZS4KLUBAIC0yNDQsNyArMjQ1LDcgQEAgc3RhdGljIGludAl0eXBlY250OwotICNkZWZpbmUgUkZfVE9ECQk3Ci0gI2RlZmluZSBSRl9TVERPRkYJOAotICNkZWZpbmUgUkZfQUJCUlZBUgk5Ci0tI2RlZmluZSBSVUxFX0ZJRUxEUyAxMAotKyNkZWZpbmUgUlVMRV9GSUVMRFMJMTAKLSAKLSAvKgotICAqIFdoaWNoIGZpZWxkcyBhcmUgd2hpY2ggb24gYSBMaW5rIGxpbmUuCi1AQCAtMjUyLDcgKzI1Myw3IEBAIHN0YXRpYyBpbnQJdHlwZWNudDsKLSAKLSAjZGVmaW5lIExGX0ZST00JCTEKLSAjZGVmaW5lIExGX1RPCQkyCi0tI2RlZmluZSBMSU5LX0ZJRUxEUyAzCi0rI2RlZmluZSBMSU5LX0ZJRUxEUwkzCi0gCi0gLyoKLSAgKiBXaGljaCBmaWVsZHMgYXJlIHdoaWNoIG9uIGEgTGVhcCBsaW5lLgotQEAgLTI2NCw3ICsyNjUsNyBAQCBzdGF0aWMgaW50CXR5cGVjbnQ7Ci0gI2RlZmluZSBMUF9USU1FCQk0Ci0gI2RlZmluZSBMUF9DT1JSCQk1Ci0gI2RlZmluZSBMUF9ST0xMCQk2Ci0tI2RlZmluZSBMRUFQX0ZJRUxEUyA3Ci0rI2RlZmluZSBMRUFQX0ZJRUxEUwk3Ci0gCi0gLyoKLSAgKiBZZWFyIHN5bm9ueW1zLgotQEAgLTk5OCw0OCArOTk5LDYgQEAgZG9saW5rKGNoYXIgY29uc3QgKmZyb21maWVsZCwgY2hhciBjb25zdAotIHN0YXRpYyB6aWNfdCBjb25zdCBtaW5fdGltZSA9IE1JTlZBTCh6aWNfdCwgVElNRV9UX0JJVFNfSU5fRklMRSk7Ci0gc3RhdGljIHppY190IGNvbnN0IG1heF90aW1lID0gTUFYVkFMKHppY190LCBUSU1FX1RfQklUU19JTl9GSUxFKTsKLSAKLS0vKgotLSAqIEVzdGltYXRlZCB0aW1lIG9mIHRoZSBCaWcgQmFuZywgaW4gc2Vjb25kcyBzaW5jZSB0aGUgUE9TSVggZXBvY2guCi0tICogcm91bmRlZCBkb3dud2FyZCB0byB0aGUgbmVnYXRpb24gb2YgYSBwb3dlciBvZiB0d28gdGhhdCBpcwotLSAqIGNvbWZvcnRhYmx5IG91dHNpZGUgdGhlIGVycm9yIGJvdW5kcy4KLS0gKgotLSAqIEZvciB0aGUgdGltZSBvZiB0aGUgQmlnIEJhbmcsIHNlZToKLS0gKgotLSAqIEFkZSBQQVIsIEFnaGFuaW0gTiwgQXJtaXRhZ2UtQ2FwbGFuIEMgZXQgYWwuICBQbGFuY2sgMjAxMyByZXN1bHRzLgotLSAqIEkuIE92ZXJ2aWV3IG9mIHByb2R1Y3RzIGFuZCBzY2llbnRpZmljIHJlc3VsdHMuCi0tICogYXJYaXY6MTMwMy41MDYyIDIwMTMtMDMtMjAgMjA6MTA6MDEgVVRDCi0tICogPGh0dHBzOi8vYXJ4aXYub3JnL3BkZi8xMzAzLjUwNjJ2MT4gW1BERl0KLS0gKgotLSAqIFBhZ2UgMzYsIFRhYmxlIDksIHJvdyBBZ2UvR3lyLCBjb2x1bW4gUGxhbmNrK1dQK2hpZ2hMK0JBTyA2OCUgbGltaXRzCi0tICogZ2l2ZXMgdGhlIHZhbHVlIDEzLjc5OCBwbHVzLW9yLW1pbnVzIDAuMDM3IGJpbGxpb24geWVhcnMuCi0tICogTXVsdGlwbHlpbmcgdGhpcyBieSAxMDAwMDAwMDAwIGFuZCB0aGVuIGJ5IDMxNTU3NjAwICh0aGUgbnVtYmVyIG9mCi0tICogc2Vjb25kcyBpbiBhbiBhc3Ryb25vbWljYWwgeWVhcikgZ2l2ZXMgYSB2YWx1ZSB0aGF0IGlzIGNvbWZvcnRhYmx5Ci0tICogbGVzcyB0aGFuIDIqKjU5LCBzbyBCSUdfQkFORyBpcyAtIDIqKjU5LgotLSAqCi0tICogQklHX0JBTkcgaXMgYXBwcm94aW1hdGUsIGFuZCBtYXkgY2hhbmdlIGluIGZ1dHVyZSB2ZXJzaW9ucy4KLS0gKiBQbGVhc2UgZG8gbm90IHJlbHkgb24gaXRzIGV4YWN0IHZhbHVlLgotLSAqLwotLQotLSNpZm5kZWYgQklHX0JBTkcKLS0jZGVmaW5lIEJJR19CQU5HICgtICgoKHppY190KSAxKSA8PCA1OSkpCi0tI2VuZGlmCi0tCi0tLyogSWYgdHJ1ZSwgd29yayBhcm91bmQgR05PTUUgYnVnIDczMDMzMgotLSAgIDxodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMzMyPgotLSAgIGJ5IHJlZnVzaW5nIHRvIG91dHB1dCB0aW1lIHN0YW1wcyBiZWZvcmUgQklHX0JBTkcuCi0tICAgU3VjaCB0aW1lIHN0YW1wcyBhcmUgcGh5c2ljYWxseSBzdXNwZWN0IGFueXdheS4KLS0KLS0gICBUaGUgR05PTUUgYnVnIGlzIHNjaGVkdWxlZCB0byBiZSBmaXhlZCBpbiBHTk9NRSAzLjIyLCBhbmQgaWYgc28KLS0gICB0aGlzIHdvcmthcm91bmQgd2lsbCBubyBsb25nZXIgYmUgbmVlZGVkIHdoZW4gR05PTUUgMy4yMSBhbmQKLS0gICBlYXJsaWVyIGFyZSBvYnNvbGV0ZSwgc2F5IGluIHRoZSB5ZWFyIDIwMjEuICAqLwotLWVudW0KLS17Ci0tV09SS19BUk9VTkRfR05PTUVfQlVHXzczMDMzMiA9IHRydWV9OwotLQotLXN0YXRpYyBjb25zdCB6aWNfdCBlYXJseV90aW1lID0gKFdPUktfQVJPVU5EX0dOT01FX0JVR183MzAzMzIKLS0JCQkJCQkJCSA/IEJJR19CQU5HCi0tCQkJCQkJCQkgOiBNSU5WQUwoemljX3QsIFRJTUVfVF9CSVRTX0lOX0ZJTEUpKTsKLS0KLSAvKiBSZXR1cm4gdHJ1ZSBpZiBOQU1FIGlzIGEgZGlyZWN0b3J5LiAgKi8KLSBzdGF0aWMgYm9vbAotIGl0c2RpcihjaGFyIGNvbnN0ICpuYW1lKQotQEAgLTEyODEsOCArMTI0MCw5IEBAIGluZmlsZShjb25zdCBjaGFyICpuYW1lKQotICAqIEEgbnVsbCBzdHJpbmcgbWFwcyB0byB6ZXJvLgotICAqIENhbGwgZXJyb3Igd2l0aCBlcnJzdHJpbmcgYW5kIHJldHVybiB6ZXJvIG9uIGVycm9ycy4KLSAgKi8KLSsKLSBzdGF0aWMgemljX3QKLS1nZXRobXMoY2hhciBjb25zdCAqc3RyaW5nLCBjaGFyIGNvbnN0ICplcnJzdHJpbmcsIGJvb2wgc2lnbmFibGUpCi0rZ2V0aG1zKGNoYXIgY29uc3QgKnN0cmluZywgY2hhciBjb25zdCAqZXJyc3RyaW5nKQotIHsKLSAJLyogUEc6IG1ha2UgaGggYmUgaW50IG5vdCB6aWNfdCB0byBhdm9pZCBzc2NhbmYgcG9ydGFiaWxpdHkgaXNzdWVzICovCi0gCWludAkJCWhoOwotQEAgLTEyOTksOSArMTI1OSw3IEBAIGdldGhtcyhjaGFyIGNvbnN0ICpzdHJpbmcsIGNoYXIgY29uc3QgKmUKLSAKLSAJaWYgKHN0cmluZyA9PSBOVUxMIHx8ICpzdHJpbmcgPT0gJ1wwJykKLSAJCXJldHVybiAwOwotLQlpZiAoIXNpZ25hYmxlKQotLQkJc2lnbiA9IDE7Ci0tCWVsc2UgaWYgKCpzdHJpbmcgPT0gJy0nKQotKwlpZiAoKnN0cmluZyA9PSAnLScpCi0gCXsKLSAJCXNpZ24gPSAtMTsKLSAJCSsrc3RyaW5nOwotQEAgLTEzODQsNyArMTM0Miw3IEBAIGdldHN0ZG9mZihjaGFyICpmaWVsZCwgYm9vbCAqaXNkc3QpCi0gCQkJCWJyZWFrOwotIAkJfQotIAl9Ci0tCXN0ZG9mZiA9IGdldGhtcyhmaWVsZCwgXygiaW52YWxpZCBzYXZlZCB0aW1lIiksIHRydWUpOwotKwlzdGRvZmYgPSBnZXRobXMoZmllbGQsIF8oImludmFsaWQgc2F2ZWQgdGltZSIpKTsKLSAJKmlzZHN0ID0gZHN0IDwgMCA/IHN0ZG9mZiAhPSAwIDogZHN0OwotIAlyZXR1cm4gc3Rkb2ZmOwotIH0KLUBAIC0xMzk5LDEwICsxMzU3LDI5IEBAIGlucnVsZShjaGFyICoqZmllbGRzLCBpbnQgbmZpZWxkcykKLSAJCWVycm9yKF8oIndyb25nIG51bWJlciBvZiBmaWVsZHMgb24gUnVsZSBsaW5lIikpOwotIAkJcmV0dXJuOwotIAl9Ci0tCWlmICgqZmllbGRzW1JGX05BTUVdID09ICdcMCcpCi0rCXN3aXRjaCAoKmZpZWxkc1tSRl9OQU1FXSkKLSAJewotLQkJZXJyb3IoXygibmFtZWxlc3MgcnVsZSIpKTsKLS0JCXJldHVybjsKLSsJCWNhc2UgJ1wwJzoKLSsJCWNhc2UgJyAnOgotKwkJY2FzZSAnXGYnOgotKwkJY2FzZSAnXG4nOgotKwkJY2FzZSAnXHInOgotKwkJY2FzZSAnXHQnOgotKwkJY2FzZSAnXHYnOgotKwkJY2FzZSAnKyc6Ci0rCQljYXNlICctJzoKLSsJCWNhc2UgJzAnOgotKwkJY2FzZSAnMSc6Ci0rCQljYXNlICcyJzoKLSsJCWNhc2UgJzMnOgotKwkJY2FzZSAnNCc6Ci0rCQljYXNlICc1JzoKLSsJCWNhc2UgJzYnOgotKwkJY2FzZSAnNyc6Ci0rCQljYXNlICc4JzoKLSsJCWNhc2UgJzknOgotKwkJCWVycm9yKF8oIkludmFsaWQgcnVsZSBuYW1lIFwiJXNcIiIpLCBmaWVsZHNbUkZfTkFNRV0pOwotKwkJCXJldHVybjsKLSAJfQotIAlyLnJfZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAJci5yX2xpbmVudW0gPSBsaW5lbnVtOwotQEAgLTE1MDcsNyArMTQ4NCw3IEBAIGluenN1YihjaGFyICoqZmllbGRzLCBpbnQgbmZpZWxkcywgYm9vbAotIAl9Ci0gCXouel9maWxlbmFtZSA9IGZpbGVuYW1lOwotIAl6LnpfbGluZW51bSA9IGxpbmVudW07Ci0tCXouel9nbXRvZmYgPSBnZXRobXMoZmllbGRzW2lfZ210b2ZmXSwgXygiaW52YWxpZCBVVCBvZmZzZXQiKSwgdHJ1ZSk7Ci0rCXouel9nbXRvZmYgPSBnZXRobXMoZmllbGRzW2lfZ210b2ZmXSwgXygiaW52YWxpZCBVVCBvZmZzZXQiKSk7Ci0gCWlmICgoY3AgPSBzdHJjaHIoZmllbGRzW2lfZm9ybWF0XSwgJyUnKSkgIT0gTlVMTCkKLSAJewotIAkJaWYgKCgqKytjcCAhPSAncycgJiYgKmNwICE9ICd6JykgfHwgc3RyY2hyKGNwLCAnJScpCi1AQCAtMTY0OSw3ICsxNjI2LDcgQEAgaW5sZWFwKGNoYXIgKipmaWVsZHMsIGludCBuZmllbGRzKQotIAkJcmV0dXJuOwotIAl9Ci0gCXQgPSBkYXlvZmYgKiBTRUNTUEVSREFZOwotLQl0b2QgPSBnZXRobXMoZmllbGRzW0xQX1RJTUVdLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IiksIGZhbHNlKTsKLSsJdG9kID0gZ2V0aG1zKGZpZWxkc1tMUF9USU1FXSwgXygiaW52YWxpZCB0aW1lIG9mIGRheSIpKTsKLSAJY3AgPSBmaWVsZHNbTFBfQ09SUl07Ci0gCXsKLSAJCWJvb2wJCXBvc2l0aXZlOwotQEAgLTE3NTcsNyArMTczNCw3IEBAIHJ1bGVzdWIoc3RydWN0IHJ1bGUgKnJwLCBjb25zdCBjaGFyICpsb3kKLSAJCQkJYnJlYWs7Ci0gCQl9Ci0gCX0KLS0JcnAtPnJfdG9kID0gZ2V0aG1zKGRwLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IiksIGZhbHNlKTsKLSsJcnAtPnJfdG9kID0gZ2V0aG1zKGRwLCBfKCJpbnZhbGlkIHRpbWUgb2YgZGF5IikpOwotIAlmcmVlKGRwKTsKLSAKLSAJLyoKLUBAIC0xOTQyLDcgKzE5MTksNDMgQEAgaXMzMihjb25zdCB6aWNfdCB4KQotIH0KLSAKLSBzdGF0aWMgdm9pZAotLXdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdCBjaGFyICpjb25zdCBzdHJpbmcsIGNoYXIgdmVyc2lvbikKLStzd2FwdHlwZXMoaW50IGksIGludCBqKQotK3sKLSsJewotKwkJemljX3QJCXQgPSBnbXRvZmZzW2ldOwotKwotKwkJZ210b2Zmc1tpXSA9IGdtdG9mZnNbal07Ci0rCQlnbXRvZmZzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQljaGFyCQl0ID0gaXNkc3RzW2ldOwotKwotKwkJaXNkc3RzW2ldID0gaXNkc3RzW2pdOwotKwkJaXNkc3RzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQl1bnNpZ25lZCBjaGFyIHQgPSBhYmJyaW5kc1tpXTsKLSsKLSsJCWFiYnJpbmRzW2ldID0gYWJicmluZHNbal07Ci0rCQlhYmJyaW5kc1tqXSA9IHQ7Ci0rCX0KLSsJewotKwkJYm9vbAkJdCA9IHR0aXNzdGRzW2ldOwotKwotKwkJdHRpc3N0ZHNbaV0gPSB0dGlzc3Rkc1tqXTsKLSsJCXR0aXNzdGRzW2pdID0gdDsKLSsJfQotKwl7Ci0rCQlib29sCQl0ID0gdHRpc2dtdHNbaV07Ci0rCi0rCQl0dGlzZ210c1tpXSA9IHR0aXNnbXRzW2pdOwotKwkJdHRpc2dtdHNbal0gPSB0OwotKwl9Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0rd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0IGNoYXIgKmNvbnN0IHN0cmluZywgY2hhciB2ZXJzaW9uLAotKwkJICBpbnQgZGVmYXVsdHR5cGUpCi0gewotIAlGSUxFCSAgICpmcDsKLSAJcHRyZGlmZl90CWksCi1AQCAtMTk3NywxNCArMTk5MCwxMiBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAKLSAJCXRvaSA9IDA7Ci0gCQlmcm9taSA9IDA7Ci0tCQl3aGlsZSAoZnJvbWkgPCB0aW1lY250ICYmIGF0dHlwZXNbZnJvbWldLmF0IDwgZWFybHlfdGltZSkKLS0JCQkrK2Zyb21pOwotIAkJZm9yICg7IGZyb21pIDwgdGltZWNudDsgKytmcm9taSkKLSAJCXsKLS0JCQlpZiAodG9pID4gMSAmJiAoKGF0dHlwZXNbZnJvbWldLmF0ICsKLS0JCQkJCQkJIGdtdG9mZnNbYXR0eXBlc1t0b2kgLSAxXS50eXBlXSkgPD0KLS0JCQkJCQkJKGF0dHlwZXNbdG9pIC0gMV0uYXQgKwotLQkJCQkJCQkgZ210b2Zmc1thdHR5cGVzW3RvaSAtIDJdLnR5cGVdKSkpCi0rCQkJaWYgKHRvaSAhPSAwICYmICgoYXR0eXBlc1tmcm9taV0uYXQgKwotKwkJCQkJCQkgIGdtdG9mZnNbYXR0eXBlc1t0b2kgLSAxXS50eXBlXSkgPD0KLSsJCQkJCQkJIChhdHR5cGVzW3RvaSAtIDFdLmF0ICsgZ210b2Zmc1t0b2kgPT0gMSA/IDAKLSsJCQkJCQkJCQkJCQkJCQk6IGF0dHlwZXNbdG9pIC0gMl0udHlwZV0pKSkKLSAJCQl7Ci0gCQkJCWF0dHlwZXNbdG9pIC0gMV0udHlwZSA9Ci0gCQkJCQlhdHR5cGVzW2Zyb21pXS50eXBlOwotQEAgLTIwMTksOCArMjAzMCw4IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAl9Ci0gCi0gCS8qCi0tCSAqIFdvcmsgYXJvdW5kIFFUQlVHLTUzMDcxIGZvciB0aW1lIHN0YW1wcyBsZXNzIHRoYW4geTIwMzhfYm91bmRhcnkgLSAxLAotLQkgKiBieSBpbnNlcnRpbmcgYSBuby1vcCB0cmFuc2l0aW9uIGF0IHRpbWUgeTIwMzhfYm91bmRhcnkgLSAxLiBUaGlzIHdvcmtzCi0rCSAqIFdvcmsgYXJvdW5kIFFUQlVHLTUzMDcxIGZvciB0aW1lc3RhbXBzIGxlc3MgdGhhbiB5MjAzOF9ib3VuZGFyeSAtIDEsIGJ5Ci0rCSAqIGluc2VydGluZyBhIG5vLW9wIHRyYW5zaXRpb24gYXQgdGltZSB5MjAzOF9ib3VuZGFyeSAtIDEuIFRoaXMgd29ya3MKLSAJICogb25seSBmb3IgdGltZXN0YW1wcyBiZWZvcmUgdGhlIGJvdW5kYXJ5LCB3aGljaCBzaG91bGQgYmUgZ29vZCBlbm91Z2ggaW4KLSAJICogcHJhY3RpY2UgYXMgUVRCVUctNTMwNzEgc2hvdWxkIGJlIGxvbmctZGVhZCBieSAyMDM4LgotIAkgKi8KLUBAIC0yMTE2LDcgKzIxMjcsOCBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCWludAkJCXRoaXNsZWFwaSwKLSAJCQkJCXRoaXNsZWFwY250LAotIAkJCQkJdGhpc2xlYXBsaW07Ci0tCQlpbnQJCQl3cml0ZXR5cGVbVFpfTUFYX1RZUEVTXTsKLSsJCWludAkJCW9sZDA7Ci0rCQljaGFyCQlvbWl0dHlwZVtUWl9NQVhfVFlQRVNdOwotIAkJaW50CQkJdHlwZW1hcFtUWl9NQVhfVFlQRVNdOwotIAkJaW50CQkJdGhpc3R5cGVjbnQ7Ci0gCQljaGFyCQl0aGlzY2hhcnNbVFpfTUFYX0NIQVJTXTsKLUBAIC0yMTQ0LDI4ICsyMTU2LDE5IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCWVycm9yKF8oInRvbyBtYW55IHRyYW5zaXRpb24gdGltZXMiKSk7Ci0gCQl0aGlzdGltZWxpbSA9IHRoaXN0aW1laSArIHRoaXN0aW1lY250OwotIAkJdGhpc2xlYXBsaW0gPSB0aGlzbGVhcGkgKyB0aGlzbGVhcGNudDsKLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJd3JpdGV0eXBlW2ldID0gdGhpc3RpbWVjbnQgPT0gdGltZWNudDsKLS0JCWlmICh0aGlzdGltZWNudCA9PSAwKQotLQkJewotLQkJCS8qCi0tCQkJICogTm8gdHJhbnNpdGlvbiB0aW1lcyBmYWxsIGluIHRoZSBjdXJyZW50ICgzMi0gb3IgNjQtYml0KSB3aW5kb3cuCi0tCQkJICovCi0tCQkJaWYgKHR5cGVjbnQgIT0gMCkKLS0JCQkJd3JpdGV0eXBlW3R5cGVjbnQgLSAxXSA9IHRydWU7Ci0tCQl9Ci0tCQllbHNlCi0tCQl7Ci0tCQkJZm9yIChpID0gdGhpc3RpbWVpIC0gMTsgaSA8IHRoaXN0aW1lbGltOyArK2kpCi0tCQkJCWlmIChpID49IDApCi0tCQkJCQl3cml0ZXR5cGVbdHlwZXNbaV1dID0gdHJ1ZTsKLSsJCW1lbXNldChvbWl0dHlwZSwgdHJ1ZSwgdHlwZWNudCk7Ci0rCQlvbWl0dHlwZVtkZWZhdWx0dHlwZV0gPSBmYWxzZTsKLSsJCWZvciAoaSA9IHRoaXN0aW1laTsgaSA8IHRoaXN0aW1lbGltOyBpKyspCi0rCQkJb21pdHR5cGVbdHlwZXNbaV1dID0gZmFsc2U7Ci0rCi0rCQkvKgotKwkJICogUmVvcmRlciB0eXBlcyB0byBtYWtlIERFRkFVTFRUWVBFIHR5cGUgMC4gVXNlIFRZUEVNQVAgdG8gc3dhcCBPTEQwCi0rCQkgKiBhbmQgREVGQVVMVFRZUEUgc28gdGhhdCBERUZBVUxUVFlQRSBhcHBlYXJzIGFzIHR5cGUgMCBpbiB0aGUgb3V0cHV0Ci0rCQkgKiBpbnN0ZWFkIG9mIE9MRDAuICBUWVBFTUFQIGFsc28gb21pdHMgdW51c2VkIHR5cGVzLgotKwkJICovCi0rCQlvbGQwID0gc3RybGVuKG9taXR0eXBlKTsKLSsJCXN3YXB0eXBlcyhvbGQwLCBkZWZhdWx0dHlwZSk7Ci0gCi0tCQkJLyoKLS0JCQkgKiBGb3IgQW1lcmljYS9Hb2R0aGFiIGFuZCBBbnRhcmN0aWNhL1BhbG1lcgotLQkJCSAqLwotLQkJCWlmICh0aGlzdGltZWkgPT0gMCkKLS0JCQkJd3JpdGV0eXBlWzBdID0gdHJ1ZTsKLS0JCX0KLSAjaWZuZGVmIExFQVZFX1NPTUVfUFJFXzIwMTFfU1lTVEVNU19JTl9USEVfTFVSQ0gKLSAKLSAJCS8qCi1AQCAtMjE4Nyw4ICsyMTkwLDggQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQkJCQltcnVkc3QgPSB0eXBlc1tpXTsKLSAJCQkJZWxzZQotIAkJCQkJbXJ1c3RkID0gdHlwZXNbaV07Ci0tCQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCQlmb3IgKGkgPSBvbGQwOyBpIDwgdHlwZWNudDsgaSsrKQotKwkJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCQl7Ci0gCQkJCQlpZiAoaXNkc3RzW2ldKQotIAkJCQkJCWhpZHN0ID0gaTsKLUBAIC0yMjA1LDcgKzIyMDgsNyBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJCQkJICAgdHRpc3N0ZHNbbXJ1ZHN0XSwKLSAJCQkJCQkJICAgdHRpc2dtdHNbbXJ1ZHN0XSk7Ci0gCQkJCWlzZHN0c1ttcnVkc3RdID0gMTsKLS0JCQkJd3JpdGV0eXBlW3R5cGVdID0gdHJ1ZTsKLSsJCQkJb21pdHR5cGVbdHlwZV0gPSBmYWxzZTsKLSAJCQl9Ci0gCQkJaWYgKGhpc3RkID49IDAgJiYgbXJ1c3RkID49IDAgJiYgaGlzdGQgIT0gbXJ1c3RkICYmCi0gCQkJCWdtdG9mZnNbaGlzdGRdICE9IGdtdG9mZnNbbXJ1c3RkXSkKLUBAIC0yMjE3LDIyICsyMjIwLDI2IEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCQkJCQkgICB0dGlzc3Rkc1ttcnVzdGRdLAotIAkJCQkJCQkgICB0dGlzZ210c1ttcnVzdGRdKTsKLSAJCQkJaXNkc3RzW21ydXN0ZF0gPSAwOwotLQkJCQl3cml0ZXR5cGVbdHlwZV0gPSB0cnVlOwotKwkJCQlvbWl0dHlwZVt0eXBlXSA9IGZhbHNlOwotIAkJCX0KLSAJCX0KLSAjZW5kaWYJCQkJCQkJLyogIWRlZmluZWQKLSAJCQkJCQkJCSAqIExFQVZFX1NPTUVfUFJFXzIwMTFfU1lTVEVNU19JTl9USEVfTFVSQ0ggKi8KLSAJCXRoaXN0eXBlY250ID0gMDsKLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJdHlwZW1hcFtpXSA9IHdyaXRldHlwZVtpXSA/IHRoaXN0eXBlY250KysgOiAtMTsKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSsJCQkJdHlwZW1hcFtpID09IG9sZDAgPyBkZWZhdWx0dHlwZQotKwkJCQkJCTogaSA9PSBkZWZhdWx0dHlwZSA/IG9sZDAgOiBpXQotKwkJCQkJPSB0aGlzdHlwZWNudCsrOwotKwotIAkJZm9yIChpID0gMDsgaSA8IHNpemVvZiBpbmRtYXAgLyBzaXplb2YgaW5kbWFwWzBdOyArK2kpCi0gCQkJaW5kbWFwW2ldID0gLTE7Ci0gCQl0aGlzY2hhcmNudCA9IDA7Ci0tCQlmb3IgKGkgPSAwOyBpIDwgdHlwZWNudDsgKytpKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSAJCXsKLSAJCQljaGFyCSAgICp0aGlzYWJicjsKLSAKLS0JCQlpZiAoIXdyaXRldHlwZVtpXSkKLSsJCQlpZiAob21pdHR5cGVbaV0pCi0gCQkJCWNvbnRpbnVlOwotIAkJCWlmIChpbmRtYXBbYWJicmluZHNbaV1dID49IDApCi0gCQkJCWNvbnRpbnVlOwotQEAgLTIyNjcsMjMgKzIyNzQsMTYgQEAgd3JpdGV6b25lKGNvbnN0IGNoYXIgKmNvbnN0IG5hbWUsIGNvbnN0Ci0gCQlETyh0emhfdHlwZWNudCk7Ci0gCQlETyh0emhfY2hhcmNudCk7Ci0gI3VuZGVmIERPCi0tCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotLQkJCWlmIChwYXNzID09IDEpCi0gCi0tCQkJCS8qCi0tCQkJCSAqIE91dHB1dCBhbiBJTlQzMl9NSU4gInRyYW5zaXRpb24iIGlmIGFwcHJvcHJpYXRlOyBzZWUgYWJvdmUuCi0tCQkJCSAqLwotLQkJCQlwdXR0emNvZGUoKChhdHNbaV0gPCBQR19JTlQzMl9NSU4pID8KLS0JCQkJCQkgICBQR19JTlQzMl9NSU4gOiBhdHNbaV0pLCBmcCk7Ci0tCQkJZWxzZQotKwkJLyogUEc6IHByaW50IGN1cnJlbnQgdGltZXpvbmUgYWJicmV2aWF0aW9ucyBpZiByZXF1ZXN0ZWQgKi8KLSsJCWlmIChwcmludF9hYmJyZXZzICYmIHBhc3MgPT0gMikKLSsJCXsKLSsJCQkvKiBQcmludCAidHlwZSIgZGF0YSBmb3IgcGVyaW9kcyBlbmRpbmcgYWZ0ZXIgcHJpbnRfY3V0b2ZmICovCi0rCQkJZm9yIChpID0gdGhpc3RpbWVpOyBpIDwgdGhpc3RpbWVsaW07ICsraSkKLSAJCQl7Ci0tCQkJCXB1dHR6Y29kZTY0KGF0c1tpXSwgZnApOwotLQotLQkJCQkvKiBQcmludCBjdXJyZW50IHRpbWV6b25lIGFiYnJldmlhdGlvbnMgaWYgcmVxdWVzdGVkICovCi0tCQkJCWlmIChwcmludF9hYmJyZXZzICYmCi0tCQkJCQkoaSA9PSB0aGlzdGltZWxpbSAtIDEgfHwgYXRzW2kgKyAxXSA+IHByaW50X2N1dG9mZikpCi0rCQkJCWlmIChpID09IHRoaXN0aW1lbGltIC0gMSB8fCBhdHNbaSArIDFdID4gcHJpbnRfY3V0b2ZmKQotIAkJCQl7Ci0tCQkJCQl1bnNpZ25lZCBjaGFyIHRtID0gdHlwZW1hcFt0eXBlc1tpXV07Ci0rCQkJCQl1bnNpZ25lZCBjaGFyIHRtID0gdHlwZXNbaV07Ci0gCQkJCQljaGFyCSAgICp0aGlzYWJicmV2ID0gJnRoaXNjaGFyc1tpbmRtYXBbYWJicmluZHNbdG1dXV07Ci0gCi0gCQkJCQkvKiBmaWx0ZXIgb3V0IGFzc29ydGVkIGp1bmsgZW50cmllcyAqLwotQEAgLTIyOTUsNiArMjI5NSwzMiBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQkJCQkJCWlzZHN0c1t0bV0gPyAiXHREIiA6ICIiKTsKLSAJCQkJfQotIAkJCX0KLSsJCQkvKiBQcmludCB0aGUgZGVmYXVsdCB0eXBlIGlmIHdlIGhhdmUgbm8gdHJhbnNpdGlvbnMgYXQgYWxsICovCi0rCQkJaWYgKHRoaXN0aW1laSA+PSB0aGlzdGltZWxpbSkKLSsJCQl7Ci0rCQkJCXVuc2lnbmVkIGNoYXIgdG0gPSBkZWZhdWx0dHlwZTsKLSsJCQkJY2hhcgkgICAqdGhpc2FiYnJldiA9ICZ0aGlzY2hhcnNbaW5kbWFwW2FiYnJpbmRzW3RtXV1dOwotKwotKwkJCQkvKiBmaWx0ZXIgb3V0IGFzc29ydGVkIGp1bmsgZW50cmllcyAqLwotKwkJCQlpZiAoc3RyY21wKHRoaXNhYmJyZXYsIEdSQU5EUEFSRU5URUQpICE9IDAgJiYKLSsJCQkJCXN0cmNtcCh0aGlzYWJicmV2LCAienp6IikgIT0gMCkKLSsJCQkJCWZwcmludGYoc3Rkb3V0LCAiJXNcdCIgSU5UNjRfRk9STUFUICIlc1xuIiwKLSsJCQkJCQkJdGhpc2FiYnJldiwKLSsJCQkJCQkJZ210b2Zmc1t0bV0sCi0rCQkJCQkJCWlzZHN0c1t0bV0gPyAiXHREIiA6ICIiKTsKLSsJCQl9Ci0rCQl9Ci0rCi0rCQlmb3IgKGkgPSB0aGlzdGltZWk7IGkgPCB0aGlzdGltZWxpbTsgKytpKQotKwkJCWlmIChwYXNzID09IDEpCi0rCi0rCQkJCS8qCi0rCQkJCSAqIE91dHB1dCBhbiBJTlQzMl9NSU4gInRyYW5zaXRpb24iIGlmIGFwcHJvcHJpYXRlOyBzZWUgYWJvdmUuCi0rCQkJCSAqLwotKwkJCQlwdXR0emNvZGUoKChhdHNbaV0gPCBQR19JTlQzMl9NSU4pID8KLSsJCQkJCQkgICBQR19JTlQzMl9NSU4gOiBhdHNbaV0pLCBmcCk7Ci0rCQkJZWxzZQotKwkJCQlwdXR0emNvZGU2NChhdHNbaV0sIGZwKTsKLSAJCWZvciAoaSA9IHRoaXN0aW1laTsgaSA8IHRoaXN0aW1lbGltOyArK2kpCi0gCQl7Ci0gCQkJdW5zaWduZWQgY2hhciB1YzsKLUBAIC0yMzAyLDggKzIzMjgsOCBAQCB3cml0ZXpvbmUoY29uc3QgY2hhciAqY29uc3QgbmFtZSwgY29uc3QKLSAJCQl1YyA9IHR5cGVtYXBbdHlwZXNbaV1dOwotIAkJCWZ3cml0ZSgmdWMsIHNpemVvZiB1YywgMSwgZnApOwotIAkJfQotLQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQlpZiAod3JpdGV0eXBlW2ldKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSsJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCXsKLSAJCQkJcHV0dHpjb2RlKGdtdG9mZnNbaV0sIGZwKTsKLSAJCQkJcHV0Yyhpc2RzdHNbaV0sIGZwKTsKLUBAIC0yMzQ2LDEyICsyMzcyLDEzIEBAIHdyaXRlem9uZShjb25zdCBjaGFyICpjb25zdCBuYW1lLCBjb25zdAotIAkJCQlwdXR0emNvZGU2NCh0b2RvLCBmcCk7Ci0gCQkJcHV0dHpjb2RlKGNvcnJbaV0sIGZwKTsKLSAJCX0KLS0JCWZvciAoaSA9IDA7IGkgPCB0eXBlY250OyArK2kpCi0tCQkJaWYgKHdyaXRldHlwZVtpXSkKLSsJCWZvciAoaSA9IG9sZDA7IGkgPCB0eXBlY250OyBpKyspCi0rCQkJaWYgKCFvbWl0dHlwZVtpXSkKLSAJCQkJcHV0Yyh0dGlzc3Rkc1tpXSwgZnApOwotLQkJZm9yIChpID0gMDsgaSA8IHR5cGVjbnQ7ICsraSkKLS0JCQlpZiAod3JpdGV0eXBlW2ldKQotKwkJZm9yIChpID0gb2xkMDsgaSA8IHR5cGVjbnQ7IGkrKykKLSsJCQlpZiAoIW9taXR0eXBlW2ldKQotIAkJCQlwdXRjKHR0aXNnbXRzW2ldLCBmcCk7Ci0rCQlzd2FwdHlwZXMob2xkMCwgZGVmYXVsdHR5cGUpOwotIAl9Ci0gCWZwcmludGYoZnAsICJcbiVzXG4iLCBzdHJpbmcpOwotIAljbG9zZV9maWxlKGZwLCBkaXJlY3RvcnksIG5hbWUpOwotQEAgLTI3NTcsNiArMjc4NCw3IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJemljX3QJCW9uZSA9IDE7Ci0gCXppY190CQl5MjAzOF9ib3VuZGFyeSA9IG9uZSA8PCAzMTsKLSAJemljX3QJCW1heF95ZWFyMDsKLSsJaW50CQkJZGVmYXVsdHR5cGUgPSAtMTsKLSAKLSAJbWF4X2FiYnJfbGVuID0gMiArIG1heF9mb3JtYXRfbGVuICsgbWF4X2FiYnJ2YXJfbGVuOwotIAltYXhfZW52dmFyX2xlbiA9IDIgKiBtYXhfYWJicl9sZW4gKyA1ICogOTsKLUBAIC0yODgwLDkgKzI5MDgsOSBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCQkgKi8KLSAJCXN0ZG9mZiA9IDA7Ci0gCQl6cCA9ICZ6cGZpcnN0W2ldOwotLQkJdXNlc3RhcnQgPSBpID4gMCAmJiAoenAgLSAxKS0+el91bnRpbHRpbWUgPiBlYXJseV90aW1lOwotKwkJdXNlc3RhcnQgPSBpID4gMCAmJiAoenAgLSAxKS0+el91bnRpbHRpbWUgPiBtaW5fdGltZTsKLSAJCXVzZXVudGlsID0gaSA8ICh6b25lY291bnQgLSAxKTsKLS0JCWlmICh1c2V1bnRpbCAmJiB6cC0+el91bnRpbHRpbWUgPD0gZWFybHlfdGltZSkKLSsJCWlmICh1c2V1bnRpbCAmJiB6cC0+el91bnRpbHRpbWUgPD0gbWluX3RpbWUpCi0gCQkJY29udGludWU7Ci0gCQlnbXRvZmYgPSB6cC0+el9nbXRvZmY7Ci0gCQllYXQoenAtPnpfZmlsZW5hbWUsIHpwLT56X2xpbmVudW0pOwotQEAgLTI5MDEsNyArMjkyOSw3IEBAIG91dHpvbmUoY29uc3Qgc3RydWN0IHpvbmUgKnpwZmlyc3QsIHB0cmQKLSAJCQkJdXNlc3RhcnQgPSBmYWxzZTsKLSAJCQl9Ci0gCQkJZWxzZQotLQkJCQlhZGR0dChlYXJseV90aW1lLCB0eXBlKTsKLSsJCQkJZGVmYXVsdHR5cGUgPSB0eXBlOwotIAkJfQotIAkJZWxzZQotIAkJCWZvciAoeWVhciA9IG1pbl95ZWFyOyB5ZWFyIDw9IG1heF95ZWFyOyArK3llYXIpCi1AQCAtMzAzMiw2ICszMDYwLDggQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCQkJb2Zmc2V0ID0gb2FkZCh6cC0+el9nbXRvZmYsIHJwLT5yX3N0ZG9mZik7Ci0gCQkJCQl0eXBlID0gYWRkdHlwZShvZmZzZXQsIGFiLCBycC0+cl9pc2RzdCwKLSAJCQkJCQkJCSAgIHJwLT5yX3RvZGlzc3RkLCBycC0+cl90b2Rpc2dtdCk7Ci0rCQkJCQlpZiAoZGVmYXVsdHR5cGUgPCAwICYmICFycC0+cl9pc2RzdCkKLSsJCQkJCQlkZWZhdWx0dHlwZSA9IHR5cGU7Ci0gCQkJCQlpZiAocnAtPnJfaGl5ZWFyID09IFpJQ19NQVgKLSAJCQkJCQkmJiAhKDAgPD0gbGFzdGF0bWF4Ci0gCQkJCQkJCSAmJiBrdGltZSA8IGF0dHlwZXNbbGFzdGF0bWF4XS5hdCkpCi1AQCAtMzA1MCwxMSArMzA4MCwxNSBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gCQkJaWYgKCpzdGFydGJ1ZiA9PSAnXDAnKQotIAkJCQllcnJvcihfKCJjYW5ub3QgZGV0ZXJtaW5lIHRpbWUgem9uZSBhYmJyZXZpYXRpb24gdG8gdXNlIGp1c3QgYWZ0ZXIgdW50aWwgdGltZSIpKTsKLSAJCQllbHNlCi0tCQkJCWFkZHR0KHN0YXJ0dGltZSwKLS0JCQkJCSAgYWRkdHlwZShzdGFydG9mZiwgc3RhcnRidWYsCi0tCQkJCQkJCSAgc3RhcnRvZmYgIT0genAtPnpfZ210b2ZmLAotLQkJCQkJCQkgIHN0YXJ0dHRpc3N0ZCwKLS0JCQkJCQkJICBzdGFydHR0aXNnbXQpKTsKLSsJCQl7Ci0rCQkJCWJvb2wJCWlzZHN0ID0gc3RhcnRvZmYgIT0genAtPnpfZ210b2ZmOwotKwotKwkJCQl0eXBlID0gYWRkdHlwZShzdGFydG9mZiwgc3RhcnRidWYsIGlzZHN0LAotKwkJCQkJCQkgICBzdGFydHR0aXNzdGQsIHN0YXJ0dHRpc2dtdCk7Ci0rCQkJCWlmIChkZWZhdWx0dHlwZSA8IDAgJiYgIWlzZHN0KQotKwkJCQkJZGVmYXVsdHR5cGUgPSB0eXBlOwotKwkJCQlhZGR0dChzdGFydHRpbWUsIHR5cGUpOwotKwkJCX0KLSAJCX0KLSAKLSAJCS8qCi1AQCAtMzA3MSw2ICszMTA1LDggQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCQlzdGFydHRpbWUgPSB0YWRkKHN0YXJ0dGltZSwgLWdtdG9mZik7Ci0gCQl9Ci0gCX0KLSsJaWYgKGRlZmF1bHR0eXBlIDwgMCkKLSsJCWRlZmF1bHR0eXBlID0gMDsKLSAJaWYgKDAgPD0gbGFzdGF0bWF4KQotIAkJYXR0eXBlc1tsYXN0YXRtYXhdLmRvbnRtZXJnZSA9IHRydWU7Ci0gCWlmIChkb19leHRlbmQpCi1AQCAtMzEwMCw3ICszMTM2LDcgQEAgb3V0em9uZShjb25zdCBzdHJ1Y3Qgem9uZSAqenBmaXJzdCwgcHRyZAotIAkJCWF0dHlwZXNbdGltZWNudCAtIDFdLmRvbnRtZXJnZSA9IHRydWU7Ci0gCQl9Ci0gCX0KLS0Jd3JpdGV6b25lKHpwZmlyc3QtPnpfbmFtZSwgZW52dmFyLCB2ZXJzaW9uKTsKLSsJd3JpdGV6b25lKHpwZmlyc3QtPnpfbmFtZSwgZW52dmFyLCB2ZXJzaW9uLCBkZWZhdWx0dHlwZSk7Ci0gCWZyZWUoc3RhcnRidWYpOwotIAlmcmVlKGFiKTsKLSAJZnJlZShlbnZ2YXIpOwotQEAgLTMxMDksMjEgKzMxNDUsNiBAQCBvdXR6b25lKGNvbnN0IHN0cnVjdCB6b25lICp6cGZpcnN0LCBwdHJkCi0gc3RhdGljIHZvaWQKLSBhZGR0dCh6aWNfdCBzdGFydHRpbWUsIGludCB0eXBlKQotIHsKLS0JaWYgKHN0YXJ0dGltZSA8PSBlYXJseV90aW1lCi0tCQl8fCAodGltZWNudCA9PSAxICYmIGF0dHlwZXNbMF0uYXQgPCBlYXJseV90aW1lKSkKLS0JewotLQkJZ210b2Zmc1swXSA9IGdtdG9mZnNbdHlwZV07Ci0tCQlpc2RzdHNbMF0gPSBpc2RzdHNbdHlwZV07Ci0tCQl0dGlzc3Rkc1swXSA9IHR0aXNzdGRzW3R5cGVdOwotLQkJdHRpc2dtdHNbMF0gPSB0dGlzZ210c1t0eXBlXTsKLS0JCWlmIChhYmJyaW5kc1t0eXBlXSAhPSAwKQotLQkJCXN0cmNweShjaGFycywgJmNoYXJzW2FiYnJpbmRzW3R5cGVdXSk7Ci0tCQlhYmJyaW5kc1swXSA9IDA7Ci0tCQljaGFyY250ID0gc3RybGVuKGNoYXJzKSArIDE7Ci0tCQl0eXBlY250ID0gMTsKLS0JCXRpbWVjbnQgPSAwOwotLQkJdHlwZSA9IDA7Ci0tCX0KLSAJYXR0eXBlcyA9IGdyb3dhbGxvYyhhdHR5cGVzLCBzaXplb2YgKmF0dHlwZXMsIHRpbWVjbnQsICZ0aW1lY250X2FsbG9jKTsKLSAJYXR0eXBlc1t0aW1lY250XS5hdCA9IHN0YXJ0dGltZTsKLSAJYXR0eXBlc1t0aW1lY250XS5kb250bWVyZ2UgPSBmYWxzZTsKLUBAIC0zMzYxLDcgKzMzODIsNyBAQCBpc19hbHBoYShjaGFyIGEpCi0gfQotIAotIC8qIElmIEEgaXMgYW4gdXBwZXJjYXNlIGNoYXJhY3RlciBpbiB0aGUgQyBsb2NhbGUsIHJldHVybiBpdHMgbG93ZXJjYXNlCi0tICogY291bnRlcnBhcnQuICBPdGhlcndpc2UsIHJldHVybiBBLiAgKi8KLSsgICBjb3VudGVycGFydC4gIE90aGVyd2lzZSwgcmV0dXJuIEEuICAqLwotIHN0YXRpYyBjaGFyCi0gbG93ZXJpdChjaGFyIGEpCi0gewotQEAgLTM2MjgsNiArMzY0OSwxOCBAQCBycHl0aW1lKGNvbnN0IHN0cnVjdCBydWxlICpycCwgemljX3Qgd2FuCi0gCWRheW9mZiA9IDA7Ci0gCW0gPSBUTV9KQU5VQVJZOwotIAl5ID0gRVBPQ0hfWUVBUjsKLSsJaWYgKHkgPCB3YW50ZWR5KQotKwl7Ci0rCQl3YW50ZWR5IC09IHk7Ci0rCQlkYXlvZmYgPSAod2FudGVkeSAvIFlFQVJTUEVSUkVQRUFUKSAqIChTRUNTUEVSUkVQRUFUIC8gU0VDU1BFUkRBWSk7Ci0rCQl3YW50ZWR5ICU9IFlFQVJTUEVSUkVQRUFUOwotKwkJd2FudGVkeSArPSB5OwotKwl9Ci0rCWVsc2UgaWYgKHdhbnRlZHkgPCAwKQotKwl7Ci0rCQlkYXlvZmYgPSAod2FudGVkeSAvIFlFQVJTUEVSUkVQRUFUKSAqIChTRUNTUEVSUkVQRUFUIC8gU0VDU1BFUkRBWSk7Ci0rCQl3YW50ZWR5ICU9IFlFQVJTUEVSUkVQRUFUOwotKwl9Ci0gCXdoaWxlICh3YW50ZWR5ICE9IHkpCi0gCXsKLSAJCWlmICh3YW50ZWR5ID4geSkKLUBAIC0zNzA2LDcgKzM3MzksNiBAQCB3aWxsIG5vdCB3b3JrIHdpdGggcHJlLTIwMDQgdmVyc2lvbnMgb2YKLSAJaWYgKGRheW9mZiA+IG1heF90aW1lIC8gU0VDU1BFUkRBWSkKLSAJCXJldHVybiBtYXhfdGltZTsKLSAJdCA9ICh6aWNfdCkgZGF5b2ZmICogU0VDU1BFUkRBWTsKLS0KLSAJcmV0dXJuIHRhZGQodCwgcnAtPnJfdG9kKTsKLSB9Ci0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1VcGRhdGUtdGltZS16b25lLWRhdGEtZmlsZXMtdG8tdHpkYXRhLXJlbGVhc2UtMjAxOGYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvMDAwMS1VcGRhdGUtdGltZS16b25lLWRhdGEtZmlsZXMtdG8tdHpkYXRhLXJlbGVhc2UtMjAxOGYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxZTc2M2MuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjQ1MiArMCwwIEBACi1Gcm9tIDEzODc3ZDMwZjJlYzkzZjYwNDM5MzdmNzZhZjIwN2RjYzYxNGE0ZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUb20gTGFuZSA8dGdsQHNzcy5wZ2gucGEudXM+Ci1EYXRlOiBGcmksIDE5IE9jdCAyMDE4IDE3OjAxOjM0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVwZGF0ZSB0aW1lIHpvbmUgZGF0YSBmaWxlcyB0byB0emRhdGEgcmVsZWFzZSAyMDE4Zi4KLQotRFNUIGxhdyBjaGFuZ2VzIGluIENoaWxlLCBGaWppLCBhbmQgUnVzc2lhIChWb2xnb2dyYWQpLgotSGlzdG9yaWNhbCBjb3JyZWN0aW9ucyBmb3IgQ2hpbmEsIEphcGFuLCBNYWNhdSwgYW5kIE5vcnRoIEtvcmVhLgotCi1Ob3RlOiBsaWtlIHRoZSBwcmV2aW91cyB0emRhdGEgdXBkYXRlLCB0aGlzIGludm9sdmVzIGEgZGVwcmVzc2luZ2x5Ci1sYXJnZSBhbW91bnQgb2Ygc2VtYW50aWNhbGx5LW1lYW5pbmdsZXNzIGNodXJuIGluIHR6ZGF0YS56aS4gIFRoYXQKLWlzIGEgY29uc2VxdWVuY2Ugb2YgdXBzdHJlYW0ncyBkYXRhIGNvbXByZXNzaW9uIG1ldGhvZCBhc3NpZ25pbmcKLXVuc3RhYmxlIGFiYnJldmlhdGlvbnMgdG8gRFNUIHJ1bGVzZXRzLiAgSSBjb21wbGFpbmVkIGFib3V0IHRoYXQKLXRvIHRoZW0gbGFzdCB0aW1lLCBhbmQgdGhpcyB2ZXJzaW9uIG5vdyB1c2VzIGFuIGFzc2lnbm1lbnQgbWV0aG9kCi10aGF0IHBheXMgc29tZSBoZWVkIHRvIG5vdCBjaGFuZ2luZyBhYmJyZXZpYXRpb25zIHVubmVjZXNzYXJpbHkuCi1TbyBob3BlZnVsbHksIHRoYXQnbGwgYmUgYmV0dGVyIGdvaW5nIGZvcndhcmQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgotCi0tLS0KLSBzcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkgICAgICB8IDUyNzMgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvdGltZXpvbmUva25vd25fYWJicmV2cy50eHQgICB8ICAgIDEgKwotIHNyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0IHwgICAgMyArCi0gc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQgICAgfCAgICA0ICsKLSBzcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0ICAgICB8ICAgIDMgKwotIHNyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0IHwgICAgMyArCi0gNiBmaWxlcyBjaGFuZ2VkLCAyNjYwIGluc2VydGlvbnMoKyksIDI2MjcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkgYi9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkKLWluZGV4IGM0NzAxMTIuLjZkOTg5MDIgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvZGF0YS90emRhdGEuemkKLSsrKyBiL3NyYy90aW1lem9uZS9kYXRhL3R6ZGF0YS56aQotQEAgLTEsMzYgKzEsMzYgQEAKLS0jIHZlcnNpb24gMjAxOGUKLSsjIHZlcnNpb24gMjAxOGYKLSAjIFRoaXMgemljIGlucHV0IGZpbGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCi0tUiBBIDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0tUiBBIDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLS1SIEEgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLS1SIEEgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotLVIgQSAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0tUiBBIDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotLVIgQSAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLS1SIEEgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLS1SIEEgMTkyMSBvIC0gSnVuIDIxIDIzcyAwIC0KLS1SIEEgMTkzOSBvIC0gUyAxMSAyM3MgMSBTCi0tUiBBIDE5MzkgbyAtIE4gMTkgMSAwIC0KLS1SIEEgMTk0NCAxOTQ1IC0gQXAgTT49MSAyIDEgUwotLVIgQSAxOTQ0IG8gLSBPIDggMiAwIC0KLS1SIEEgMTk0NSBvIC0gUyAxNiAxIDAgLQotLVIgQSAxOTcxIG8gLSBBcCAyNSAyM3MgMSBTCi0tUiBBIDE5NzEgbyAtIFMgMjYgMjNzIDAgLQotLVIgQSAxOTc3IG8gLSBNYXkgNiAwIDEgUwotLVIgQSAxOTc3IG8gLSBPIDIxIDAgMCAtCi0tUiBBIDE5NzggbyAtIE1hciAyNCAxIDEgUwotLVIgQSAxOTc4IG8gLSBTIDIyIDMgMCAtCi0tUiBBIDE5ODAgbyAtIEFwIDI1IDAgMSBTCi0tUiBBIDE5ODAgbyAtIE8gMzEgMiAwIC0KLStSIGQgMTkxNiBvIC0gSnVuIDE0IDIzcyAxIFMKLStSIGQgMTkxNiAxOTE5IC0gTyBTdW4+PTEgMjNzIDAgLQotK1IgZCAxOTE3IG8gLSBNYXIgMjQgMjNzIDEgUwotK1IgZCAxOTE4IG8gLSBNYXIgOSAyM3MgMSBTCi0rUiBkIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIGQgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBkIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgZCAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgZCAxOTIxIG8gLSBKdW4gMjEgMjNzIDAgLQotK1IgZCAxOTM5IG8gLSBTIDExIDIzcyAxIFMKLStSIGQgMTkzOSBvIC0gTiAxOSAxIDAgLQotK1IgZCAxOTQ0IDE5NDUgLSBBcCBNPj0xIDIgMSBTCi0rUiBkIDE5NDQgbyAtIE8gOCAyIDAgLQotK1IgZCAxOTQ1IG8gLSBTIDE2IDEgMCAtCi0rUiBkIDE5NzEgbyAtIEFwIDI1IDIzcyAxIFMKLStSIGQgMTk3MSBvIC0gUyAyNiAyM3MgMCAtCi0rUiBkIDE5NzcgbyAtIE1heSA2IDAgMSBTCi0rUiBkIDE5NzcgbyAtIE8gMjEgMCAwIC0KLStSIGQgMTk3OCBvIC0gTWFyIDI0IDEgMSBTCi0rUiBkIDE5NzggbyAtIFMgMjIgMyAwIC0KLStSIGQgMTk4MCBvIC0gQXAgMjUgMCAxIFMKLStSIGQgMTk4MCBvIC0gTyAzMSAyIDAgLQotIFogQWZyaWNhL0FsZ2llcnMgMDoxMjoxMiAtIExNVCAxODkxIE1hciAxNSAwOjEKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEKLS0wIEEgV0Ulc1QgMTk0MCBGIDI1IDIKLS0xIEEgQ0Ulc1QgMTk0NiBPIDcKLSswIGQgV0Ulc1QgMTk0MCBGIDI1IDIKLSsxIGQgQ0Ulc1QgMTk0NiBPIDcKLSAwIC0gV0VUIDE5NTYgSmEgMjkKLSAxIC0gQ0VUIDE5NjMgQXAgMTQKLS0wIEEgV0Ulc1QgMTk3NyBPIDIxCi0tMSBBIENFJXNUIDE5NzkgTyAyNgotLTAgQSBXRSVzVCAxOTgxIE1heQotKzAgZCBXRSVzVCAxOTc3IE8gMjEKLSsxIGQgQ0Ulc1QgMTk3OSBPIDI2Ci0rMCBkIFdFJXNUIDE5ODEgTWF5Ci0gMSAtIENFVAotIFogQXRsYW50aWMvQ2FwZV9WZXJkZSAtMTozNDo0IC0gTE1UIDE5MTIgSmEgMSAydQotIC0yIC0gLTAyIDE5NDIgUwotQEAgLTUyLDQ0ICs1Miw0NCBAQCBMaSBBZnJpY2EvQWJpZGphbiBBZnJpY2EvTG9tZQotIExpIEFmcmljYS9BYmlkamFuIEFmcmljYS9Ob3Vha2Nob3R0Ci0gTGkgQWZyaWNhL0FiaWRqYW4gQWZyaWNhL091YWdhZG91Z291Ci0gTGkgQWZyaWNhL0FiaWRqYW4gQXRsYW50aWMvU3RfSGVsZW5hCi0tUiBCIDE5NDAgbyAtIEp1bCAxNSAwIDEgUwotLVIgQiAxOTQwIG8gLSBPIDEgMCAwIC0KLS1SIEIgMTk0MSBvIC0gQXAgMTUgMCAxIFMKLS1SIEIgMTk0MSBvIC0gUyAxNiAwIDAgLQotLVIgQiAxOTQyIDE5NDQgLSBBcCAxIDAgMSBTCi0tUiBCIDE5NDIgbyAtIE8gMjcgMCAwIC0KLS1SIEIgMTk0MyAxOTQ1IC0gTiAxIDAgMCAtCi0tUiBCIDE5NDUgbyAtIEFwIDE2IDAgMSBTCi0tUiBCIDE5NTcgbyAtIE1heSAxMCAwIDEgUwotLVIgQiAxOTU3IDE5NTggLSBPIDEgMCAwIC0KLS1SIEIgMTk1OCBvIC0gTWF5IDEgMCAxIFMKLS1SIEIgMTk1OSAxOTgxIC0gTWF5IDEgMSAxIFMKLS1SIEIgMTk1OSAxOTY1IC0gUyAzMCAzIDAgLQotLVIgQiAxOTY2IDE5OTQgLSBPIDEgMyAwIC0KLS1SIEIgMTk4MiBvIC0gSnVsIDI1IDEgMSBTCi0tUiBCIDE5ODMgbyAtIEp1bCAxMiAxIDEgUwotLVIgQiAxOTg0IDE5ODggLSBNYXkgMSAxIDEgUwotLVIgQiAxOTg5IG8gLSBNYXkgNiAxIDEgUwotLVIgQiAxOTkwIDE5OTQgLSBNYXkgMSAxIDEgUwotLVIgQiAxOTk1IDIwMTAgLSBBcCBsYXN0RiAwcyAxIFMKLS1SIEIgMTk5NSAyMDA1IC0gUyBsYXN0VGggMjQgMCAtCi0tUiBCIDIwMDYgbyAtIFMgMjEgMjQgMCAtCi0tUiBCIDIwMDcgbyAtIFMgVGg+PTEgMjQgMCAtCi0tUiBCIDIwMDggbyAtIEF1IGxhc3RUaCAyNCAwIC0KLS1SIEIgMjAwOSBvIC0gQXUgMjAgMjQgMCAtCi0tUiBCIDIwMTAgbyAtIEF1IDEwIDI0IDAgLQotLVIgQiAyMDEwIG8gLSBTIDkgMjQgMSBTCi0tUiBCIDIwMTAgbyAtIFMgbGFzdFRoIDI0IDAgLQotLVIgQiAyMDE0IG8gLSBNYXkgMTUgMjQgMSBTCi0tUiBCIDIwMTQgbyAtIEp1biAyNiAyNCAwIC0KLS1SIEIgMjAxNCBvIC0gSnVsIDMxIDI0IDEgUwotLVIgQiAyMDE0IG8gLSBTIGxhc3RUaCAyNCAwIC0KLStSIEsgMTk0MCBvIC0gSnVsIDE1IDAgMSBTCi0rUiBLIDE5NDAgbyAtIE8gMSAwIDAgLQotK1IgSyAxOTQxIG8gLSBBcCAxNSAwIDEgUwotK1IgSyAxOTQxIG8gLSBTIDE2IDAgMCAtCi0rUiBLIDE5NDIgMTk0NCAtIEFwIDEgMCAxIFMKLStSIEsgMTk0MiBvIC0gTyAyNyAwIDAgLQotK1IgSyAxOTQzIDE5NDUgLSBOIDEgMCAwIC0KLStSIEsgMTk0NSBvIC0gQXAgMTYgMCAxIFMKLStSIEsgMTk1NyBvIC0gTWF5IDEwIDAgMSBTCi0rUiBLIDE5NTcgMTk1OCAtIE8gMSAwIDAgLQotK1IgSyAxOTU4IG8gLSBNYXkgMSAwIDEgUwotK1IgSyAxOTU5IDE5ODEgLSBNYXkgMSAxIDEgUwotK1IgSyAxOTU5IDE5NjUgLSBTIDMwIDMgMCAtCi0rUiBLIDE5NjYgMTk5NCAtIE8gMSAzIDAgLQotK1IgSyAxOTgyIG8gLSBKdWwgMjUgMSAxIFMKLStSIEsgMTk4MyBvIC0gSnVsIDEyIDEgMSBTCi0rUiBLIDE5ODQgMTk4OCAtIE1heSAxIDEgMSBTCi0rUiBLIDE5ODkgbyAtIE1heSA2IDEgMSBTCi0rUiBLIDE5OTAgMTk5NCAtIE1heSAxIDEgMSBTCi0rUiBLIDE5OTUgMjAxMCAtIEFwIGxhc3RGIDBzIDEgUwotK1IgSyAxOTk1IDIwMDUgLSBTIGxhc3RUaCAyNCAwIC0KLStSIEsgMjAwNiBvIC0gUyAyMSAyNCAwIC0KLStSIEsgMjAwNyBvIC0gUyBUaD49MSAyNCAwIC0KLStSIEsgMjAwOCBvIC0gQXUgbGFzdFRoIDI0IDAgLQotK1IgSyAyMDA5IG8gLSBBdSAyMCAyNCAwIC0KLStSIEsgMjAxMCBvIC0gQXUgMTAgMjQgMCAtCi0rUiBLIDIwMTAgbyAtIFMgOSAyNCAxIFMKLStSIEsgMjAxMCBvIC0gUyBsYXN0VGggMjQgMCAtCi0rUiBLIDIwMTQgbyAtIE1heSAxNSAyNCAxIFMKLStSIEsgMjAxNCBvIC0gSnVuIDI2IDI0IDAgLQotK1IgSyAyMDE0IG8gLSBKdWwgMzEgMjQgMSBTCi0rUiBLIDIwMTQgbyAtIFMgbGFzdFRoIDI0IDAgLQotIFogQWZyaWNhL0NhaXJvIDI6NTo5IC0gTE1UIDE5MDAgTwotLTIgQiBFRSVzVAotLVIgQyAxOTIwIDE5NDIgLSBTIDEgMCAwOjIwIC0KLS1SIEMgMTkyMCAxOTQyIC0gRCAzMSAwIDAgLQotKzIgSyBFRSVzVAotK1IgR0ggMTkyMCAxOTQyIC0gUyAxIDAgMDoyMCAtCi0rUiBHSCAxOTIwIDE5NDIgLSBEIDMxIDAgMCAtCi0gWiBBZnJpY2EvQWNjcmEgLTA6MDo1MiAtIExNVCAxOTE4Ci0tMCBDIEdNVC8rMDAyMAotKzAgR0ggR01ULyswMDIwCi0gWiBBZnJpY2EvQmlzc2F1IC0xOjI6MjAgLSBMTVQgMTkxMiBKYSAxIDF1Ci0gLTEgLSAtMDEgMTk3NQotIDAgLSBHTVQKLUBAIC0xMTEsOTkgKzExMSw5OSBAQCBaIEFmcmljYS9Nb25yb3ZpYSAtMDo0Mzo4IC0gTE1UIDE4ODIKLSAtMDo0Mzo4IC0gTU1UIDE5MTkgTWFyCi0gLTA6NDQ6MzAgLSBNTVQgMTk3MiBKYSA3Ci0gMCAtIEdNVAotLVIgRCAxOTUxIG8gLSBPIDE0IDIgMSBTCi0tUiBEIDE5NTIgbyAtIEphIDEgMCAwIC0KLS1SIEQgMTk1MyBvIC0gTyA5IDIgMSBTCi0tUiBEIDE5NTQgbyAtIEphIDEgMCAwIC0KLS1SIEQgMTk1NSBvIC0gUyAzMCAwIDEgUwotLVIgRCAxOTU2IG8gLSBKYSAxIDAgMCAtCi0tUiBEIDE5ODIgMTk4NCAtIEFwIDEgMCAxIFMKLS1SIEQgMTk4MiAxOTg1IC0gTyAxIDAgMCAtCi0tUiBEIDE5ODUgbyAtIEFwIDYgMCAxIFMKLS1SIEQgMTk4NiBvIC0gQXAgNCAwIDEgUwotLVIgRCAxOTg2IG8gLSBPIDMgMCAwIC0KLS1SIEQgMTk4NyAxOTg5IC0gQXAgMSAwIDEgUwotLVIgRCAxOTg3IDE5ODkgLSBPIDEgMCAwIC0KLS1SIEQgMTk5NyBvIC0gQXAgNCAwIDEgUwotLVIgRCAxOTk3IG8gLSBPIDQgMCAwIC0KLS1SIEQgMjAxMyBvIC0gTWFyIGxhc3RGIDEgMSBTCi0tUiBEIDIwMTMgbyAtIE8gbGFzdEYgMiAwIC0KLStSIEwgMTk1MSBvIC0gTyAxNCAyIDEgUwotK1IgTCAxOTUyIG8gLSBKYSAxIDAgMCAtCi0rUiBMIDE5NTMgbyAtIE8gOSAyIDEgUwotK1IgTCAxOTU0IG8gLSBKYSAxIDAgMCAtCi0rUiBMIDE5NTUgbyAtIFMgMzAgMCAxIFMKLStSIEwgMTk1NiBvIC0gSmEgMSAwIDAgLQotK1IgTCAxOTgyIDE5ODQgLSBBcCAxIDAgMSBTCi0rUiBMIDE5ODIgMTk4NSAtIE8gMSAwIDAgLQotK1IgTCAxOTg1IG8gLSBBcCA2IDAgMSBTCi0rUiBMIDE5ODYgbyAtIEFwIDQgMCAxIFMKLStSIEwgMTk4NiBvIC0gTyAzIDAgMCAtCi0rUiBMIDE5ODcgMTk4OSAtIEFwIDEgMCAxIFMKLStSIEwgMTk4NyAxOTg5IC0gTyAxIDAgMCAtCi0rUiBMIDE5OTcgbyAtIEFwIDQgMCAxIFMKLStSIEwgMTk5NyBvIC0gTyA0IDAgMCAtCi0rUiBMIDIwMTMgbyAtIE1hciBsYXN0RiAxIDEgUwotK1IgTCAyMDEzIG8gLSBPIGxhc3RGIDIgMCAtCi0gWiBBZnJpY2EvVHJpcG9saSAwOjUyOjQ0IC0gTE1UIDE5MjAKLS0xIEQgQ0Ulc1QgMTk1OQotKzEgTCBDRSVzVCAxOTU5Ci0gMiAtIEVFVCAxOTgyCi0tMSBEIENFJXNUIDE5OTAgTWF5IDQKLSsxIEwgQ0Ulc1QgMTk5MCBNYXkgNAotIDIgLSBFRVQgMTk5NiBTIDMwCi0tMSBEIENFJXNUIDE5OTcgTyA0Ci0rMSBMIENFJXNUIDE5OTcgTyA0Ci0gMiAtIEVFVCAyMDEyIE4gMTAgMgotLTEgRCBDRSVzVCAyMDEzIE8gMjUgMgotKzEgTCBDRSVzVCAyMDEzIE8gMjUgMgotIDIgLSBFRVQKLS1SIEUgMTk4MiBvIC0gTyAxMCAwIDEgLQotLVIgRSAxOTgzIG8gLSBNYXIgMjEgMCAwIC0KLS1SIEUgMjAwOCBvIC0gTyBsYXN0U3VuIDIgMSAtCi0tUiBFIDIwMDkgbyAtIE1hciBsYXN0U3VuIDIgMCAtCi0rUiBNVSAxOTgyIG8gLSBPIDEwIDAgMSAtCi0rUiBNVSAxOTgzIG8gLSBNYXIgMjEgMCAwIC0KLStSIE1VIDIwMDggbyAtIE8gbGFzdFN1biAyIDEgLQotK1IgTVUgMjAwOSBvIC0gTWFyIGxhc3RTdW4gMiAwIC0KLSBaIEluZGlhbi9NYXVyaXRpdXMgMzo1MCAtIExNVCAxOTA3Ci0tNCBFICswNC8rMDUKLS1SIEYgMTkzOSBvIC0gUyAxMiAwIDEgUwotLVIgRiAxOTM5IG8gLSBOIDE5IDAgMCAtCi0tUiBGIDE5NDAgbyAtIEYgMjUgMCAxIFMKLS1SIEYgMTk0NSBvIC0gTiAxOCAwIDAgLQotLVIgRiAxOTUwIG8gLSBKdW4gMTEgMCAxIFMKLS1SIEYgMTk1MCBvIC0gTyAyOSAwIDAgLQotLVIgRiAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLS1SIEYgMTk2NyBvIC0gTyAxIDAgMCAtCi0tUiBGIDE5NzQgbyAtIEp1biAyNCAwIDEgUwotLVIgRiAxOTc0IG8gLSBTIDEgMCAwIC0KLS1SIEYgMTk3NiAxOTc3IC0gTWF5IDEgMCAxIFMKLS1SIEYgMTk3NiBvIC0gQXUgMSAwIDAgLQotLVIgRiAxOTc3IG8gLSBTIDI4IDAgMCAtCi0tUiBGIDE5NzggbyAtIEp1biAxIDAgMSBTCi0tUiBGIDE5NzggbyAtIEF1IDQgMCAwIC0KLS1SIEYgMjAwOCBvIC0gSnVuIDEgMCAxIFMKLS1SIEYgMjAwOCBvIC0gUyAxIDAgMCAtCi0tUiBGIDIwMDkgbyAtIEp1biAxIDAgMSBTCi0tUiBGIDIwMDkgbyAtIEF1IDIxIDAgMCAtCi0tUiBGIDIwMTAgbyAtIE1heSAyIDAgMSBTCi0tUiBGIDIwMTAgbyAtIEF1IDggMCAwIC0KLS1SIEYgMjAxMSBvIC0gQXAgMyAwIDEgUwotLVIgRiAyMDExIG8gLSBKdWwgMzEgMCAwIC0KLS1SIEYgMjAxMiAyMDEzIC0gQXAgbGFzdFN1biAyIDEgUwotLVIgRiAyMDEyIG8gLSBKdWwgMjAgMyAwIC0KLS1SIEYgMjAxMiBvIC0gQXUgMjAgMiAxIFMKLS1SIEYgMjAxMiBvIC0gUyAzMCAzIDAgLQotLVIgRiAyMDEzIG8gLSBKdWwgNyAzIDAgLQotLVIgRiAyMDEzIG8gLSBBdSAxMCAyIDEgUwotLVIgRiAyMDEzIG1hIC0gTyBsYXN0U3VuIDMgMCAtCi0tUiBGIDIwMTQgMjAyMSAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiBGIDIwMTQgbyAtIEp1biAyOCAzIDAgLQotLVIgRiAyMDE0IG8gLSBBdSAyIDIgMSBTCi0tUiBGIDIwMTUgbyAtIEp1biAxNCAzIDAgLQotLVIgRiAyMDE1IG8gLSBKdWwgMTkgMiAxIFMKLS1SIEYgMjAxNiBvIC0gSnVuIDUgMyAwIC0KLS1SIEYgMjAxNiBvIC0gSnVsIDEwIDIgMSBTCi0tUiBGIDIwMTcgbyAtIE1heSAyMSAzIDAgLQotLVIgRiAyMDE3IG8gLSBKdWwgMiAyIDEgUwotLVIgRiAyMDE4IG8gLSBNYXkgMTMgMyAwIC0KLS1SIEYgMjAxOCBvIC0gSnVuIDE3IDIgMSBTCi0tUiBGIDIwMTkgbyAtIE1heSA1IDMgMCAtCi0tUiBGIDIwMTkgbyAtIEp1biA5IDIgMSBTCi0tUiBGIDIwMjAgbyAtIEFwIDE5IDMgMCAtCi0tUiBGIDIwMjAgbyAtIE1heSAyNCAyIDEgUwotLVIgRiAyMDIxIG8gLSBBcCAxMSAzIDAgLQotLVIgRiAyMDIxIG8gLSBNYXkgMTYgMiAxIFMKLS1SIEYgMjAyMiBvIC0gTWF5IDggMiAxIFMKLS1SIEYgMjAyMyBvIC0gQXAgMjMgMiAxIFMKLS1SIEYgMjAyNCBvIC0gQXAgMTQgMiAxIFMKLS1SIEYgMjAyNSBvIC0gQXAgNiAyIDEgUwotLVIgRiAyMDI2IG1hIC0gTWFyIGxhc3RTdW4gMiAxIFMKLS1SIEYgMjAzNiBvIC0gTyAxOSAzIDAgLQotLVIgRiAyMDM3IG8gLSBPIDQgMyAwIC0KLSs0IE1VICswNC8rMDUKLStSIE0gMTkzOSBvIC0gUyAxMiAwIDEgUwotK1IgTSAxOTM5IG8gLSBOIDE5IDAgMCAtCi0rUiBNIDE5NDAgbyAtIEYgMjUgMCAxIFMKLStSIE0gMTk0NSBvIC0gTiAxOCAwIDAgLQotK1IgTSAxOTUwIG8gLSBKdW4gMTEgMCAxIFMKLStSIE0gMTk1MCBvIC0gTyAyOSAwIDAgLQotK1IgTSAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLStSIE0gMTk2NyBvIC0gTyAxIDAgMCAtCi0rUiBNIDE5NzQgbyAtIEp1biAyNCAwIDEgUwotK1IgTSAxOTc0IG8gLSBTIDEgMCAwIC0KLStSIE0gMTk3NiAxOTc3IC0gTWF5IDEgMCAxIFMKLStSIE0gMTk3NiBvIC0gQXUgMSAwIDAgLQotK1IgTSAxOTc3IG8gLSBTIDI4IDAgMCAtCi0rUiBNIDE5NzggbyAtIEp1biAxIDAgMSBTCi0rUiBNIDE5NzggbyAtIEF1IDQgMCAwIC0KLStSIE0gMjAwOCBvIC0gSnVuIDEgMCAxIFMKLStSIE0gMjAwOCBvIC0gUyAxIDAgMCAtCi0rUiBNIDIwMDkgbyAtIEp1biAxIDAgMSBTCi0rUiBNIDIwMDkgbyAtIEF1IDIxIDAgMCAtCi0rUiBNIDIwMTAgbyAtIE1heSAyIDAgMSBTCi0rUiBNIDIwMTAgbyAtIEF1IDggMCAwIC0KLStSIE0gMjAxMSBvIC0gQXAgMyAwIDEgUwotK1IgTSAyMDExIG8gLSBKdWwgMzEgMCAwIC0KLStSIE0gMjAxMiAyMDEzIC0gQXAgbGFzdFN1biAyIDEgUwotK1IgTSAyMDEyIG8gLSBKdWwgMjAgMyAwIC0KLStSIE0gMjAxMiBvIC0gQXUgMjAgMiAxIFMKLStSIE0gMjAxMiBvIC0gUyAzMCAzIDAgLQotK1IgTSAyMDEzIG8gLSBKdWwgNyAzIDAgLQotK1IgTSAyMDEzIG8gLSBBdSAxMCAyIDEgUwotK1IgTSAyMDEzIG1hIC0gTyBsYXN0U3VuIDMgMCAtCi0rUiBNIDIwMTQgMjAyMSAtIE1hciBsYXN0U3VuIDIgMSBTCi0rUiBNIDIwMTQgbyAtIEp1biAyOCAzIDAgLQotK1IgTSAyMDE0IG8gLSBBdSAyIDIgMSBTCi0rUiBNIDIwMTUgbyAtIEp1biAxNCAzIDAgLQotK1IgTSAyMDE1IG8gLSBKdWwgMTkgMiAxIFMKLStSIE0gMjAxNiBvIC0gSnVuIDUgMyAwIC0KLStSIE0gMjAxNiBvIC0gSnVsIDEwIDIgMSBTCi0rUiBNIDIwMTcgbyAtIE1heSAyMSAzIDAgLQotK1IgTSAyMDE3IG8gLSBKdWwgMiAyIDEgUwotK1IgTSAyMDE4IG8gLSBNYXkgMTMgMyAwIC0KLStSIE0gMjAxOCBvIC0gSnVuIDE3IDIgMSBTCi0rUiBNIDIwMTkgbyAtIE1heSA1IDMgMCAtCi0rUiBNIDIwMTkgbyAtIEp1biA5IDIgMSBTCi0rUiBNIDIwMjAgbyAtIEFwIDE5IDMgMCAtCi0rUiBNIDIwMjAgbyAtIE1heSAyNCAyIDEgUwotK1IgTSAyMDIxIG8gLSBBcCAxMSAzIDAgLQotK1IgTSAyMDIxIG8gLSBNYXkgMTYgMiAxIFMKLStSIE0gMjAyMiBvIC0gTWF5IDggMiAxIFMKLStSIE0gMjAyMyBvIC0gQXAgMjMgMiAxIFMKLStSIE0gMjAyNCBvIC0gQXAgMTQgMiAxIFMKLStSIE0gMjAyNSBvIC0gQXAgNiAyIDEgUwotK1IgTSAyMDI2IG1hIC0gTWFyIGxhc3RTdW4gMiAxIFMKLStSIE0gMjAzNiBvIC0gTyAxOSAzIDAgLQotK1IgTSAyMDM3IG8gLSBPIDQgMyAwIC0KLSBaIEFmcmljYS9DYXNhYmxhbmNhIC0wOjMwOjIwIC0gTE1UIDE5MTMgTyAyNgotLTAgRiBXRSVzVCAxOTg0IE1hciAxNgotKzAgTSBXRSVzVCAxOTg0IE1hciAxNgotIDEgLSBDRVQgMTk4NgotLTAgRiBXRSVzVAotKzAgTSBXRSVzVAotIFogQWZyaWNhL0VsX0FhaXVuIC0wOjUyOjQ4IC0gTE1UIDE5MzQKLSAtMSAtIC0wMSAxOTc2IEFwIDE0Ci0tMCBGIFdFJXNUCi0rMCBNIFdFJXNUCi0gWiBBZnJpY2EvTWFwdXRvIDI6MTA6MjAgLSBMTVQgMTkwMyBNYXIKLSAyIC0gQ0FUCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvQmxhbnR5cmUKLUBAIC0yMTMsMTUgKzIxMywxNSBAQCBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9IYXJhcmUKLSBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9LaWdhbGkKLSBMaSBBZnJpY2EvTWFwdXRvIEFmcmljYS9MdWJ1bWJhc2hpCi0gTGkgQWZyaWNhL01hcHV0byBBZnJpY2EvTHVzYWthCi0tUiBHIDE5OTQgbyAtIE1hciAyMSAwIC0xIFdBVAotLVIgRyAxOTk0IDIwMTcgLSBTIFN1bj49MSAyIDAgQ0FUCi0tUiBHIDE5OTUgMjAxNyAtIEFwIFN1bj49MSAyIC0xIFdBVAotK1IgTkEgMTk5NCBvIC0gTWFyIDIxIDAgLTEgV0FUCi0rUiBOQSAxOTk0IDIwMTcgLSBTIFN1bj49MSAyIDAgQ0FUCi0rUiBOQSAxOTk1IDIwMTcgLSBBcCBTdW4+PTEgMiAtMSBXQVQKLSBaIEFmcmljYS9XaW5kaG9layAxOjg6MjQgLSBMTVQgMTg5MiBGIDgKLSAxOjMwIC0gKzAxMzAgMTkwMyBNYXIKLSAyIC0gU0FTVCAxOTQyIFMgMjAgMgotIDIgMSBTQVNUIDE5NDMgTWFyIDIxIDIKLSAyIC0gU0FTVCAxOTkwIE1hciAyMQotLTIgRyAlcwotKzIgTkEgJXMKLSBaIEFmcmljYS9MYWdvcyAwOjEzOjM2IC0gTE1UIDE5MTkgUwotIDEgLSBXQVQKLSBMaSBBZnJpY2EvTGFnb3MgQWZyaWNhL0Jhbmd1aQotQEAgLTI0MSw1MiArMjQxLDUyIEBAIFogQWZyaWNhL1Nhb19Ub21lIDA6MjY6NTYgLSBMTVQgMTg4NAotIDEgLSBXQVQKLSBaIEluZGlhbi9NYWhlIDM6NDE6NDggLSBMTVQgMTkwNiBKdW4KLSA0IC0gKzA0Ci0tUiBIIDE5NDIgMTk0MyAtIFMgU3VuPj0xNSAyIDEgLQotLVIgSCAxOTQzIDE5NDQgLSBNYXIgU3VuPj0xNSAyIDAgLQotK1IgU0EgMTk0MiAxOTQzIC0gUyBTdW4+PTE1IDIgMSAtCi0rUiBTQSAxOTQzIDE5NDQgLSBNYXIgU3VuPj0xNSAyIDAgLQotIFogQWZyaWNhL0pvaGFubmVzYnVyZyAxOjUyIC0gTE1UIDE4OTIgRiA4Ci0gMTozMCAtIFNBU1QgMTkwMyBNYXIKLS0yIEggU0FTVAotKzIgU0EgU0FTVAotIExpIEFmcmljYS9Kb2hhbm5lc2J1cmcgQWZyaWNhL01hc2VydQotIExpIEFmcmljYS9Kb2hhbm5lc2J1cmcgQWZyaWNhL01iYWJhbmUKLS1SIEkgMTk3MCBvIC0gTWF5IDEgMCAxIFMKLS1SIEkgMTk3MCAxOTg1IC0gTyAxNSAwIDAgLQotLVIgSSAxOTcxIG8gLSBBcCAzMCAwIDEgUwotLVIgSSAxOTcyIDE5ODUgLSBBcCBsYXN0U3VuIDAgMSBTCi0rUiBTRCAxOTcwIG8gLSBNYXkgMSAwIDEgUwotK1IgU0QgMTk3MCAxOTg1IC0gTyAxNSAwIDAgLQotK1IgU0QgMTk3MSBvIC0gQXAgMzAgMCAxIFMKLStSIFNEIDE5NzIgMTk4NSAtIEFwIGxhc3RTdW4gMCAxIFMKLSBaIEFmcmljYS9LaGFydG91bSAyOjEwOjggLSBMTVQgMTkzMQotLTIgSSBDQSVzVCAyMDAwIEphIDE1IDEyCi0rMiBTRCBDQSVzVCAyMDAwIEphIDE1IDEyCi0gMyAtIEVBVCAyMDE3IE4KLSAyIC0gQ0FUCi0gWiBBZnJpY2EvSnViYSAyOjY6MjggLSBMTVQgMTkzMQotLTIgSSBDQSVzVCAyMDAwIEphIDE1IDEyCi0rMiBTRCBDQSVzVCAyMDAwIEphIDE1IDEyCi0gMyAtIEVBVAotLVIgSiAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0tUiBKIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotLVIgSiAxOTQwIG8gLSBGIDI1IDIzcyAxIFMKLS1SIEogMTk0MSBvIC0gTyA2IDAgMCAtCi0tUiBKIDE5NDIgbyAtIE1hciA5IDAgMSBTCi0tUiBKIDE5NDIgbyAtIE4gMiAzIDAgLQotLVIgSiAxOTQzIG8gLSBNYXIgMjkgMiAxIFMKLS1SIEogMTk0MyBvIC0gQXAgMTcgMiAwIC0KLS1SIEogMTk0MyBvIC0gQXAgMjUgMiAxIFMKLS1SIEogMTk0MyBvIC0gTyA0IDIgMCAtCi0tUiBKIDE5NDQgMTk0NSAtIEFwIE0+PTEgMiAxIFMKLS1SIEogMTk0NCBvIC0gTyA4IDAgMCAtCi0tUiBKIDE5NDUgbyAtIFMgMTYgMCAwIC0KLS1SIEogMTk3NyBvIC0gQXAgMzAgMHMgMSBTCi0tUiBKIDE5NzcgbyAtIFMgMjQgMHMgMCAtCi0tUiBKIDE5NzggbyAtIE1heSAxIDBzIDEgUwotLVIgSiAxOTc4IG8gLSBPIDEgMHMgMCAtCi0tUiBKIDE5ODggbyAtIEp1biAxIDBzIDEgUwotLVIgSiAxOTg4IDE5OTAgLSBTIGxhc3RTdW4gMHMgMCAtCi0tUiBKIDE5ODkgbyAtIE1hciAyNiAwcyAxIFMKLS1SIEogMTk5MCBvIC0gTWF5IDEgMHMgMSBTCi0tUiBKIDIwMDUgbyAtIE1heSAxIDBzIDEgUwotLVIgSiAyMDA1IG8gLSBTIDMwIDFzIDAgLQotLVIgSiAyMDA2IDIwMDggLSBNYXIgbGFzdFN1biAycyAxIFMKLS1SIEogMjAwNiAyMDA4IC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgbiAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0rUiBuIDE5MzkgbyAtIE4gMTggMjNzIDAgLQotK1IgbiAxOTQwIG8gLSBGIDI1IDIzcyAxIFMKLStSIG4gMTk0MSBvIC0gTyA2IDAgMCAtCi0rUiBuIDE5NDIgbyAtIE1hciA5IDAgMSBTCi0rUiBuIDE5NDIgbyAtIE4gMiAzIDAgLQotK1IgbiAxOTQzIG8gLSBNYXIgMjkgMiAxIFMKLStSIG4gMTk0MyBvIC0gQXAgMTcgMiAwIC0KLStSIG4gMTk0MyBvIC0gQXAgMjUgMiAxIFMKLStSIG4gMTk0MyBvIC0gTyA0IDIgMCAtCi0rUiBuIDE5NDQgMTk0NSAtIEFwIE0+PTEgMiAxIFMKLStSIG4gMTk0NCBvIC0gTyA4IDAgMCAtCi0rUiBuIDE5NDUgbyAtIFMgMTYgMCAwIC0KLStSIG4gMTk3NyBvIC0gQXAgMzAgMHMgMSBTCi0rUiBuIDE5NzcgbyAtIFMgMjQgMHMgMCAtCi0rUiBuIDE5NzggbyAtIE1heSAxIDBzIDEgUwotK1IgbiAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBuIDE5ODggbyAtIEp1biAxIDBzIDEgUwotK1IgbiAxOTg4IDE5OTAgLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBuIDE5ODkgbyAtIE1hciAyNiAwcyAxIFMKLStSIG4gMTk5MCBvIC0gTWF5IDEgMHMgMSBTCi0rUiBuIDIwMDUgbyAtIE1heSAxIDBzIDEgUwotK1IgbiAyMDA1IG8gLSBTIDMwIDFzIDAgLQotK1IgbiAyMDA2IDIwMDggLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIG4gMjAwNiAyMDA4IC0gTyBsYXN0U3VuIDJzIDAgLQotIFogQWZyaWNhL1R1bmlzIDA6NDA6NDQgLSBMTVQgMTg4MSBNYXkgMTIKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEKLS0xIEogQ0Ulc1QKLSsxIG4gQ0Ulc1QKLSBaIEFudGFyY3RpY2EvQ2FzZXkgMCAtIC0wMCAxOTY5Ci0gOCAtICswOCAyMDA5IE8gMTggMgotIDExIC0gKzExIDIwMTAgTWFyIDUgMgotQEAgLTMxNCwxMCArMzE0LDEwIEBAIFogQW50YXJjdGljYS9EdW1vbnREVXJ2aWxsZSAwIC0gLTAwIDE5NDcKLSAxMCAtICsxMAotIFogQW50YXJjdGljYS9TeW93YSAwIC0gLTAwIDE5NTcgSmEgMjkKLSAzIC0gKzAzCi0tUiBLIDIwMDUgbWEgLSBNYXIgbGFzdFN1biAxdSAyICswMgotLVIgSyAyMDA0IG1hIC0gTyBsYXN0U3VuIDF1IDAgKzAwCi0rUiBUciAyMDA1IG1hIC0gTWFyIGxhc3RTdW4gMXUgMiArMDIKLStSIFRyIDIwMDQgbWEgLSBPIGxhc3RTdW4gMXUgMCArMDAKLSBaIEFudGFyY3RpY2EvVHJvbGwgMCAtIC0wMCAyMDA1IEYgMTIKLS0wIEsgJXMKLSswIFRyICVzCi0gWiBBbnRhcmN0aWNhL1Zvc3RvayAwIC0gLTAwIDE5NTcgRCAxNgotIDYgLSArMDYKLSBaIEFudGFyY3RpY2EvUm90aGVyYSAwIC0gLTAwIDE5NzYgRAotQEAgLTMyNSwzMyArMzI1LDMzIEBAIFogQW50YXJjdGljYS9Sb3RoZXJhIDAgLSAtMDAgMTk3NiBECi0gWiBBc2lhL0thYnVsIDQ6MzY6NDggLSBMTVQgMTg5MAotIDQgLSArMDQgMTk0NQotIDQ6MzAgLSArMDQzMAotLVIgTCAyMDExIG8gLSBNYXIgbGFzdFN1biAycyAxIC0KLS1SIEwgMjAxMSBvIC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgQU0gMjAxMSBvIC0gTWFyIGxhc3RTdW4gMnMgMSAtCi0rUiBBTSAyMDExIG8gLSBPIGxhc3RTdW4gMnMgMCAtCi0gWiBBc2lhL1llcmV2YW4gMjo1OCAtIExNVCAxOTI0IE1heSAyCi0gMyAtICswMyAxOTU3IE1hcgotLTQgTSArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0tMyBNICswMy8rMDQgMTk5NSBTIDI0IDJzCi0rNCBSICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLSszIFIgKzAzLyswNCAxOTk1IFMgMjQgMnMKLSA0IC0gKzA0IDE5OTcKLS00IE0gKzA0LyswNSAyMDExCi0tNCBMICswNC8rMDUKLS1SIE4gMTk5NyAyMDE1IC0gTWFyIGxhc3RTdW4gNCAxIC0KLS1SIE4gMTk5NyAyMDE1IC0gTyBsYXN0U3VuIDUgMCAtCi0rNCBSICswNC8rMDUgMjAxMQotKzQgQU0gKzA0LyswNQotK1IgQVogMTk5NyAyMDE1IC0gTWFyIGxhc3RTdW4gNCAxIC0KLStSIEFaIDE5OTcgMjAxNSAtIE8gbGFzdFN1biA1IDAgLQotIFogQXNpYS9CYWt1IDM6MTk6MjQgLSBMTVQgMTkyNCBNYXkgMgotIDMgLSArMDMgMTk1NyBNYXIKLS00IE0gKzA0LyswNSAxOTkxIE1hciAzMSAycwotLTMgTSArMDMvKzA0IDE5OTIgUyBsYXN0U3VuIDJzCi0rNCBSICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLSszIFIgKzAzLyswNCAxOTkyIFMgbGFzdFN1biAycwotIDQgLSArMDQgMTk5NgotLTQgTyArMDQvKzA1IDE5OTcKLS00IE4gKzA0LyswNQotLVIgUCAyMDA5IG8gLSBKdW4gMTkgMjMgMSAtCi0tUiBQIDIwMDkgbyAtIEQgMzEgMjQgMCAtCi0rNCBFICswNC8rMDUgMTk5NwotKzQgQVogKzA0LyswNQotK1IgQkQgMjAwOSBvIC0gSnVuIDE5IDIzIDEgLQotK1IgQkQgMjAwOSBvIC0gRCAzMSAyNCAwIC0KLSBaIEFzaWEvRGhha2EgNjoxOjQwIC0gTE1UIDE4OTAKLSA1OjUzOjIwIC0gSE1UIDE5NDEgTwotIDY6MzAgLSArMDYzMCAxOTQyIE1heSAxNQotIDU6MzAgLSArMDUzMCAxOTQyIFMKLSA2OjMwIC0gKzA2MzAgMTk1MSBTIDMwCi0gNiAtICswNiAyMDA5Ci0tNiBQICswNi8rMDcKLSs2IEJEICswNi8rMDcKLSBaIEFzaWEvVGhpbXBodSA1OjU4OjM2IC0gTE1UIDE5NDcgQXUgMTUKLSA1OjMwIC0gKzA1MzAgMTk4NyBPCi0gNiAtICswNgotQEAgLTM2NiwxMDMgKzM2NiwxMjcgQEAgWiBBc2lhL1lhbmdvbiA2OjI0OjQ3IC0gTE1UIDE4ODAKLSA2OjMwIC0gKzA2MzAgMTk0MiBNYXkKLSA5IC0gKzA5IDE5NDUgTWF5IDMKLSA2OjMwIC0gKzA2MzAKLS1SIFEgMTk0MCBvIC0gSnVuIDMgMCAxIEQKLS1SIFEgMTk0MCAxOTQxIC0gTyAxIDAgMCBTCi0tUiBRIDE5NDEgbyAtIE1hciAxNiAwIDEgRAotLVIgUiAxOTg2IG8gLSBNYXkgNCAwIDEgRAotLVIgUiAxOTg2IDE5OTEgLSBTIFN1bj49MTEgMCAwIFMKLS1SIFIgMTk4NyAxOTkxIC0gQXAgU3VuPj0xMCAwIDEgRAotK1IgU2ggMTk0MCBvIC0gSnVuIDEgMCAxIEQKLStSIFNoIDE5NDAgbyAtIE8gMTIgMjQgMCBTCi0rUiBTaCAxOTQxIG8gLSBNYXIgMTUgMCAxIEQKLStSIFNoIDE5NDEgbyAtIE4gMSAyNCAwIFMKLStSIFNoIDE5NDIgbyAtIEphIDMxIDAgMSBECi0rUiBTaCAxOTQ1IG8gLSBTIDEgMjQgMCBTCi0rUiBTaCAxOTQ2IG8gLSBNYXkgMTUgMCAxIEQKLStSIFNoIDE5NDYgbyAtIFMgMzAgMjQgMCBTCi0rUiBTaCAxOTQ3IG8gLSBBcCAxNSAwIDEgRAotK1IgU2ggMTk0NyBvIC0gTyAzMSAyNCAwIFMKLStSIFNoIDE5NDggMTk0OSAtIE1heSAxIDAgMSBECi0rUiBTaCAxOTQ4IDE5NDkgLSBTIDMwIDI0IDAgUwotK1IgQ04gMTk4NiBvIC0gTWF5IDQgMiAxIEQKLStSIENOIDE5ODYgMTk5MSAtIFMgU3VuPj0xMSAyIDAgUwotK1IgQ04gMTk4NyAxOTkxIC0gQXAgU3VuPj0xMSAyIDEgRAotIFogQXNpYS9TaGFuZ2hhaSA4OjU6NDMgLSBMTVQgMTkwMQotLTggUSBDJXNUIDE5NDkKLS04IFIgQyVzVAotKzggU2ggQyVzVCAxOTQ5IE1heSAyOAotKzggQ04gQyVzVAotIFogQXNpYS9VcnVtcWkgNTo1MDoyMCAtIExNVCAxOTI4Ci0gNiAtICswNgotLVIgUyAxOTQxIG8gLSBBcCAxIDM6MzAgMSBTCi0tUiBTIDE5NDEgbyAtIFMgMzAgMzozMCAwIC0KLS1SIFMgMTk0NiBvIC0gQXAgMjAgMzozMCAxIFMKLS1SIFMgMTk0NiBvIC0gRCAxIDM6MzAgMCAtCi0tUiBTIDE5NDcgbyAtIEFwIDEzIDM6MzAgMSBTCi0tUiBTIDE5NDcgbyAtIEQgMzAgMzozMCAwIC0KLS1SIFMgMTk0OCBvIC0gTWF5IDIgMzozMCAxIFMKLS1SIFMgMTk0OCAxOTUxIC0gTyBsYXN0U3VuIDM6MzAgMCAtCi0tUiBTIDE5NTIgbyAtIE8gMjUgMzozMCAwIC0KLS1SIFMgMTk0OSAxOTUzIC0gQXAgU3VuPj0xIDM6MzAgMSBTCi0tUiBTIDE5NTMgbyAtIE4gMSAzOjMwIDAgLQotLVIgUyAxOTU0IDE5NjQgLSBNYXIgU3VuPj0xOCAzOjMwIDEgUwotLVIgUyAxOTU0IG8gLSBPIDMxIDM6MzAgMCAtCi0tUiBTIDE5NTUgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCAtCi0tUiBTIDE5NjUgMTk3NiAtIEFwIFN1bj49MTYgMzozMCAxIFMKLS1SIFMgMTk2NSAxOTc2IC0gTyBTdW4+PTE2IDM6MzAgMCAtCi0tUiBTIDE5NzMgbyAtIEQgMzAgMzozMCAxIFMKLS1SIFMgMTk3OSBvIC0gTWF5IFN1bj49OCAzOjMwIDEgUwotLVIgUyAxOTc5IG8gLSBPIFN1bj49MTYgMzozMCAwIC0KLStSIEhLIDE5NDEgbyAtIEFwIDEgMzozMCAxIFMKLStSIEhLIDE5NDEgbyAtIFMgMzAgMzozMCAwIC0KLStSIEhLIDE5NDYgbyAtIEFwIDIwIDM6MzAgMSBTCi0rUiBISyAxOTQ2IG8gLSBEIDEgMzozMCAwIC0KLStSIEhLIDE5NDcgbyAtIEFwIDEzIDM6MzAgMSBTCi0rUiBISyAxOTQ3IG8gLSBEIDMwIDM6MzAgMCAtCi0rUiBISyAxOTQ4IG8gLSBNYXkgMiAzOjMwIDEgUwotK1IgSEsgMTk0OCAxOTUxIC0gTyBsYXN0U3VuIDM6MzAgMCAtCi0rUiBISyAxOTUyIG8gLSBPIDI1IDM6MzAgMCAtCi0rUiBISyAxOTQ5IDE5NTMgLSBBcCBTdW4+PTEgMzozMCAxIFMKLStSIEhLIDE5NTMgbyAtIE4gMSAzOjMwIDAgLQotK1IgSEsgMTk1NCAxOTY0IC0gTWFyIFN1bj49MTggMzozMCAxIFMKLStSIEhLIDE5NTQgbyAtIE8gMzEgMzozMCAwIC0KLStSIEhLIDE5NTUgMTk2NCAtIE4gU3VuPj0xIDM6MzAgMCAtCi0rUiBISyAxOTY1IDE5NzYgLSBBcCBTdW4+PTE2IDM6MzAgMSBTCi0rUiBISyAxOTY1IDE5NzYgLSBPIFN1bj49MTYgMzozMCAwIC0KLStSIEhLIDE5NzMgbyAtIEQgMzAgMzozMCAxIFMKLStSIEhLIDE5NzkgbyAtIE1heSBTdW4+PTggMzozMCAxIFMKLStSIEhLIDE5NzkgbyAtIE8gU3VuPj0xNiAzOjMwIDAgLQotIFogQXNpYS9Ib25nX0tvbmcgNzozNjo0MiAtIExNVCAxOTA0IE8gMzAKLS04IFMgSEslc1QgMTk0MSBEIDI1Ci0rOCBISyBISyVzVCAxOTQxIEQgMjUKLSA5IC0gSlNUIDE5NDUgUyAxNQotLTggUyBISyVzVAotLVIgVCAxOTQ2IG8gLSBNYXkgMTUgMCAxIEQKLS1SIFQgMTk0NiBvIC0gTyAxIDAgMCBTCi0tUiBUIDE5NDcgbyAtIEFwIDE1IDAgMSBECi0tUiBUIDE5NDcgbyAtIE4gMSAwIDAgUwotLVIgVCAxOTQ4IDE5NTEgLSBNYXkgMSAwIDEgRAotLVIgVCAxOTQ4IDE5NTEgLSBPIDEgMCAwIFMKLS1SIFQgMTk1MiBvIC0gTWFyIDEgMCAxIEQKLS1SIFQgMTk1MiAxOTU0IC0gTiAxIDAgMCBTCi0tUiBUIDE5NTMgMTk1OSAtIEFwIDEgMCAxIEQKLS1SIFQgMTk1NSAxOTYxIC0gTyAxIDAgMCBTCi0tUiBUIDE5NjAgMTk2MSAtIEp1biAxIDAgMSBECi0tUiBUIDE5NzQgMTk3NSAtIEFwIDEgMCAxIEQKLS1SIFQgMTk3NCAxOTc1IC0gTyAxIDAgMCBTCi0tUiBUIDE5NzkgbyAtIEp1bCAxIDAgMSBECi0tUiBUIDE5NzkgbyAtIE8gMSAwIDAgUwotKzggSEsgSEslc1QKLStSIGYgMTk0NiBvIC0gTWF5IDE1IDAgMSBECi0rUiBmIDE5NDYgbyAtIE8gMSAwIDAgUwotK1IgZiAxOTQ3IG8gLSBBcCAxNSAwIDEgRAotK1IgZiAxOTQ3IG8gLSBOIDEgMCAwIFMKLStSIGYgMTk0OCAxOTUxIC0gTWF5IDEgMCAxIEQKLStSIGYgMTk0OCAxOTUxIC0gTyAxIDAgMCBTCi0rUiBmIDE5NTIgbyAtIE1hciAxIDAgMSBECi0rUiBmIDE5NTIgMTk1NCAtIE4gMSAwIDAgUwotK1IgZiAxOTUzIDE5NTkgLSBBcCAxIDAgMSBECi0rUiBmIDE5NTUgMTk2MSAtIE8gMSAwIDAgUwotK1IgZiAxOTYwIDE5NjEgLSBKdW4gMSAwIDEgRAotK1IgZiAxOTc0IDE5NzUgLSBBcCAxIDAgMSBECi0rUiBmIDE5NzQgMTk3NSAtIE8gMSAwIDAgUwotK1IgZiAxOTc5IG8gLSBKdWwgMSAwIDEgRAotK1IgZiAxOTc5IG8gLSBPIDEgMCAwIFMKLSBaIEFzaWEvVGFpcGVpIDg6NiAtIExNVCAxODk2Ci0gOCAtIENTVCAxOTM3IE8KLSA5IC0gSlNUIDE5NDUgUyAyMSAxCi0tOCBUIEMlc1QKLS1SIFUgMTk2MSAxOTYyIC0gTWFyIFN1bj49MTYgMzozMCAxIEQKLS1SIFUgMTk2MSAxOTY0IC0gTiBTdW4+PTEgMzozMCAwIFMKLS1SIFUgMTk2MyBvIC0gTWFyIFN1bj49MTYgMCAxIEQKLS1SIFUgMTk2NCBvIC0gTWFyIFN1bj49MTYgMzozMCAxIEQKLS1SIFUgMTk2NSBvIC0gTWFyIFN1bj49MTYgMCAxIEQKLS1SIFUgMTk2NSBvIC0gTyAzMSAwIDAgUwotLVIgVSAxOTY2IDE5NzEgLSBBcCBTdW4+PTE2IDM6MzAgMSBECi0tUiBVIDE5NjYgMTk3MSAtIE8gU3VuPj0xNiAzOjMwIDAgUwotLVIgVSAxOTcyIDE5NzQgLSBBcCBTdW4+PTE1IDAgMSBECi0tUiBVIDE5NzIgMTk3MyAtIE8gU3VuPj0xNSAwIDAgUwotLVIgVSAxOTc0IDE5NzcgLSBPIFN1bj49MTUgMzozMCAwIFMKLS1SIFUgMTk3NSAxOTc3IC0gQXAgU3VuPj0xNSAzOjMwIDEgRAotLVIgVSAxOTc4IDE5ODAgLSBBcCBTdW4+PTE1IDAgMSBECi0tUiBVIDE5NzggMTk4MCAtIE8gU3VuPj0xNSAwIDAgUwotLVogQXNpYS9NYWNhdSA3OjM0OjIwIC0gTE1UIDE5MTEgRCAzMSAxNnUKLS04IFUgQyVzVAotLVIgViAxOTc1IG8gLSBBcCAxMyAwIDEgUwotLVIgViAxOTc1IG8gLSBPIDEyIDAgMCAtCi0tUiBWIDE5NzYgbyAtIE1heSAxNSAwIDEgUwotLVIgViAxOTc2IG8gLSBPIDExIDAgMCAtCi0tUiBWIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAwIDEgUwotLVIgViAxOTc3IG8gLSBTIDI1IDAgMCAtCi0tUiBWIDE5NzggbyAtIE8gMiAwIDAgLQotLVIgViAxOTc5IDE5OTcgLSBTIGxhc3RTdW4gMCAwIC0KLS1SIFYgMTk4MSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIFMKLSs4IGYgQyVzVAotK1IgXyAxOTQyIDE5NDMgLSBBcCAzMCAyMyAxIC0KLStSIF8gMTk0MiBvIC0gTiAxNyAyMyAwIC0KLStSIF8gMTk0MyBvIC0gUyAzMCAyMyAwIFMKLStSIF8gMTk0NiBvIC0gQXAgMzAgMjNzIDEgRAotK1IgXyAxOTQ2IG8gLSBTIDMwIDIzcyAwIFMKLStSIF8gMTk0NyBvIC0gQXAgMTkgMjNzIDEgRAotK1IgXyAxOTQ3IG8gLSBOIDMwIDIzcyAwIFMKLStSIF8gMTk0OCBvIC0gTWF5IDIgMjNzIDEgRAotK1IgXyAxOTQ4IG8gLSBPIDMxIDIzcyAwIFMKLStSIF8gMTk0OSAxOTUwIC0gQXAgU2F0Pj0xIDIzcyAxIEQKLStSIF8gMTk0OSAxOTUwIC0gTyBsYXN0U2F0IDIzcyAwIFMKLStSIF8gMTk1MSBvIC0gTWFyIDMxIDIzcyAxIEQKLStSIF8gMTk1MSBvIC0gTyAyOCAyM3MgMCBTCi0rUiBfIDE5NTIgMTk1MyAtIEFwIFNhdD49MSAyM3MgMSBECi0rUiBfIDE5NTIgbyAtIE4gMSAyM3MgMCBTCi0rUiBfIDE5NTMgMTk1NCAtIE8gbGFzdFNhdCAyM3MgMCBTCi0rUiBfIDE5NTQgMTk1NiAtIE1hciBTYXQ+PTE3IDIzcyAxIEQKLStSIF8gMTk1NSBvIC0gTiA1IDIzcyAwIFMKLStSIF8gMTk1NiAxOTY0IC0gTiBTdW4+PTEgMzozMCAwIFMKLStSIF8gMTk1NyAxOTY0IC0gTWFyIFN1bj49MTggMzozMCAxIEQKLStSIF8gMTk2NSAxOTczIC0gQXAgU3VuPj0xNiAzOjMwIDEgRAotK1IgXyAxOTY1IDE5NjYgLSBPIFN1bj49MTYgMjozMCAwIFMKLStSIF8gMTk2NyAxOTc2IC0gTyBTdW4+PTE2IDM6MzAgMCBTCi0rUiBfIDE5NzMgbyAtIEQgMzAgMzozMCAxIEQKLStSIF8gMTk3NSAxOTc2IC0gQXAgU3VuPj0xNiAzOjMwIDEgRAotK1IgXyAxOTc5IG8gLSBNYXkgMTMgMzozMCAxIEQKLStSIF8gMTk3OSBvIC0gTyBTdW4+PTE2IDM6MzAgMCBTCi0rWiBBc2lhL01hY2F1IDc6MzQ6MTAgLSBMTVQgMTkwNCBPIDMwCi0rOCAtIENTVCAxOTQxIEQgMjEgMjMKLSs5IF8gKzA5LysxMCAxOTQ1IFMgMzAgMjQKLSs4IF8gQyVzVAotK1IgQ1kgMTk3NSBvIC0gQXAgMTMgMCAxIFMKLStSIENZIDE5NzUgbyAtIE8gMTIgMCAwIC0KLStSIENZIDE5NzYgbyAtIE1heSAxNSAwIDEgUwotK1IgQ1kgMTk3NiBvIC0gTyAxMSAwIDAgLQotK1IgQ1kgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDAgMSBTCi0rUiBDWSAxOTc3IG8gLSBTIDI1IDAgMCAtCi0rUiBDWSAxOTc4IG8gLSBPIDIgMCAwIC0KLStSIENZIDE5NzkgMTk5NyAtIFMgbGFzdFN1biAwIDAgLQotK1IgQ1kgMTk4MSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIFMKLSBaIEFzaWEvTmljb3NpYSAyOjEzOjI4IC0gTE1UIDE5MjEgTiAxNAotLTIgViBFRSVzVCAxOTk4IFMKLS0yIE8gRUUlc1QKLSsyIENZIEVFJXNUIDE5OTggUwotKzIgRSBFRSVzVAotIFogQXNpYS9GYW1hZ3VzdGEgMjoxNTo0OCAtIExNVCAxOTIxIE4gMTQKLS0yIFYgRUUlc1QgMTk5OCBTCi0tMiBPIEVFJXNUIDIwMTYgUyA4Ci0rMiBDWSBFRSVzVCAxOTk4IFMKLSsyIEUgRUUlc1QgMjAxNiBTIDgKLSAzIC0gKzAzIDIwMTcgTyAyOSAxdQotLTIgTyBFRSVzVAotKzIgRSBFRSVzVAotIExpIEFzaWEvTmljb3NpYSBFdXJvcGUvTmljb3NpYQotIFogQXNpYS9UYmlsaXNpIDI6NTk6MTEgLSBMTVQgMTg4MAotIDI6NTk6MTEgLSBUQk1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5NTcgTWFyCi0tNCBNICswNC8rMDUgMTk5MSBNYXIgMzEgMnMKLS0zIE0gKzAzLyswNCAxOTkyCi0tMyBXICswMy8rMDQgMTk5NCBTIGxhc3RTdW4KLS00IFcgKzA0LyswNSAxOTk2IE8gbGFzdFN1bgotKzQgUiArMDQvKzA1IDE5OTEgTWFyIDMxIDJzCi0rMyBSICswMy8rMDQgMTk5MgotKzMgZSArMDMvKzA0IDE5OTQgUyBsYXN0U3VuCi0rNCBlICswNC8rMDUgMTk5NiBPIGxhc3RTdW4KLSA0IDEgKzA1IDE5OTcgTWFyIGxhc3RTdW4KLS00IFcgKzA0LyswNSAyMDA0IEp1biAyNwotLTMgTSArMDMvKzA0IDIwMDUgTWFyIGxhc3RTdW4gMgotKzQgZSArMDQvKzA1IDIwMDQgSnVuIDI3Ci0rMyBSICswMy8rMDQgMjAwNSBNYXIgbGFzdFN1biAyCi0gNCAtICswNAotIFogQXNpYS9EaWxpIDg6MjI6MjAgLSBMTVQgMTkxMgotIDggLSArMDggMTk0MiBGIDIxIDIzCi1AQCAtNTA0LDcyICs1MjgsNzIgQEAgWiBBc2lhL0pheWFwdXJhIDk6MjI6NDggLSBMTVQgMTkzMiBOCi0gOSAtICswOSAxOTQ0IFMKLSA5OjMwIC0gKzA5MzAgMTk2NAotIDkgLSBXSVQKLS1SIFggMTk3OCAxOTgwIC0gTWFyIDIxIDAgMSAtCi0tUiBYIDE5NzggbyAtIE8gMjEgMCAwIC0KLS1SIFggMTk3OSBvIC0gUyAxOSAwIDAgLQotLVIgWCAxOTgwIG8gLSBTIDIzIDAgMCAtCi0tUiBYIDE5OTEgbyAtIE1heSAzIDAgMSAtCi0tUiBYIDE5OTIgMTk5NSAtIE1hciAyMiAwIDEgLQotLVIgWCAxOTkxIDE5OTUgLSBTIDIyIDAgMCAtCi0tUiBYIDE5OTYgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAxOTk2IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDE5OTcgMTk5OSAtIE1hciAyMiAwIDEgLQotLVIgWCAxOTk3IDE5OTkgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDAgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDAwIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDEgMjAwMyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDAxIDIwMDMgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDQgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDA0IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDUgbyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDA1IG8gLSBTIDIyIDAgMCAtCi0tUiBYIDIwMDggbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDA4IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMDkgMjAxMSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDA5IDIwMTEgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMTIgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDEyIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMTMgMjAxNSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDEzIDIwMTUgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMTYgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDE2IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMTcgMjAxOSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDE3IDIwMTkgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjAgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDIwIG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMjEgMjAyMyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDIxIDIwMjMgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjQgbyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDI0IG8gLSBTIDIxIDAgMCAtCi0tUiBYIDIwMjUgMjAyNyAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDI1IDIwMjcgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMjggMjAyOSAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDI4IDIwMjkgLSBTIDIxIDAgMCAtCi0tUiBYIDIwMzAgMjAzMSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDMwIDIwMzEgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMzIgMjAzMyAtIE1hciAyMSAwIDEgLQotLVIgWCAyMDMyIDIwMzMgLSBTIDIxIDAgMCAtCi0tUiBYIDIwMzQgMjAzNSAtIE1hciAyMiAwIDEgLQotLVIgWCAyMDM0IDIwMzUgLSBTIDIyIDAgMCAtCi0tUiBYIDIwMzYgbWEgLSBNYXIgMjEgMCAxIC0KLS1SIFggMjAzNiBtYSAtIFMgMjEgMCAwIC0KLStSIGkgMTk3OCAxOTgwIC0gTWFyIDIxIDAgMSAtCi0rUiBpIDE5NzggbyAtIE8gMjEgMCAwIC0KLStSIGkgMTk3OSBvIC0gUyAxOSAwIDAgLQotK1IgaSAxOTgwIG8gLSBTIDIzIDAgMCAtCi0rUiBpIDE5OTEgbyAtIE1heSAzIDAgMSAtCi0rUiBpIDE5OTIgMTk5NSAtIE1hciAyMiAwIDEgLQotK1IgaSAxOTkxIDE5OTUgLSBTIDIyIDAgMCAtCi0rUiBpIDE5OTYgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAxOTk2IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDE5OTcgMTk5OSAtIE1hciAyMiAwIDEgLQotK1IgaSAxOTk3IDE5OTkgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDAgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDAwIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDEgMjAwMyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDAxIDIwMDMgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDQgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDA0IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDUgbyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDA1IG8gLSBTIDIyIDAgMCAtCi0rUiBpIDIwMDggbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDA4IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMDkgMjAxMSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDA5IDIwMTEgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMTIgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDEyIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMTMgMjAxNSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDEzIDIwMTUgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMTYgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDE2IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMTcgMjAxOSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDE3IDIwMTkgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjAgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDIwIG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMjEgMjAyMyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDIxIDIwMjMgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjQgbyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDI0IG8gLSBTIDIxIDAgMCAtCi0rUiBpIDIwMjUgMjAyNyAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDI1IDIwMjcgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMjggMjAyOSAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDI4IDIwMjkgLSBTIDIxIDAgMCAtCi0rUiBpIDIwMzAgMjAzMSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDMwIDIwMzEgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMzIgMjAzMyAtIE1hciAyMSAwIDEgLQotK1IgaSAyMDMyIDIwMzMgLSBTIDIxIDAgMCAtCi0rUiBpIDIwMzQgMjAzNSAtIE1hciAyMiAwIDEgLQotK1IgaSAyMDM0IDIwMzUgLSBTIDIyIDAgMCAtCi0rUiBpIDIwMzYgbWEgLSBNYXIgMjEgMCAxIC0KLStSIGkgMjAzNiBtYSAtIFMgMjEgMCAwIC0KLSBaIEFzaWEvVGVocmFuIDM6MjU6NDQgLSBMTVQgMTkxNgotIDM6MjU6NDQgLSBUTVQgMTk0NgotIDM6MzAgLSArMDMzMCAxOTc3IE4KLS00IFggKzA0LyswNSAxOTc5Ci0tMzozMCBYICswMzMwLyswNDMwCi0tUiBZIDE5ODIgbyAtIE1heSAxIDAgMSAtCi0tUiBZIDE5ODIgMTk4NCAtIE8gMSAwIDAgLQotLVIgWSAxOTgzIG8gLSBNYXIgMzEgMCAxIC0KLS1SIFkgMTk4NCAxOTg1IC0gQXAgMSAwIDEgLQotLVIgWSAxOTg1IDE5OTAgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBZIDE5ODYgMTk5MCAtIE1hciBsYXN0U3VuIDFzIDEgLQotLVIgWSAxOTkxIDIwMDcgLSBBcCAxIDNzIDEgLQotLVIgWSAxOTkxIDIwMDcgLSBPIDEgM3MgMCAtCi0rNCBpICswNC8rMDUgMTk3OQotKzM6MzAgaSArMDMzMC8rMDQzMAotK1IgSVEgMTk4MiBvIC0gTWF5IDEgMCAxIC0KLStSIElRIDE5ODIgMTk4NCAtIE8gMSAwIDAgLQotK1IgSVEgMTk4MyBvIC0gTWFyIDMxIDAgMSAtCi0rUiBJUSAxOTg0IDE5ODUgLSBBcCAxIDAgMSAtCi0rUiBJUSAxOTg1IDE5OTAgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBJUSAxOTg2IDE5OTAgLSBNYXIgbGFzdFN1biAxcyAxIC0KLStSIElRIDE5OTEgMjAwNyAtIEFwIDEgM3MgMSAtCi0rUiBJUSAxOTkxIDIwMDcgLSBPIDEgM3MgMCAtCi0gWiBBc2lhL0JhZ2hkYWQgMjo1Nzo0MCAtIExNVCAxODkwCi0gMjo1NzozNiAtIEJNVCAxOTE4Ci0gMyAtICswMyAxOTgyIE1heQotLTMgWSArMDMvKzA0Ci0rMyBJUSArMDMvKzA0Ci0gUiBaIDE5NDAgbyAtIEp1biAxIDAgMSBECi0gUiBaIDE5NDIgMTk0NCAtIE4gMSAwIDAgUwotIFIgWiAxOTQzIG8gLSBBcCAxIDIgMSBECi1AQCAtNjU5LDE2MyArNjgzLDE2MyBAQCBSIFogMjAxMyBtYSAtIE8gbGFzdFN1biAyIDAgUwotIFogQXNpYS9KZXJ1c2FsZW0gMjoyMDo1NCAtIExNVCAxODgwCi0gMjoyMDo0MCAtIEpNVCAxOTE4Ci0gMiBaIEklc1QKLS1SIGEgMTk0OCBvIC0gTWF5IFNhdD49MSAyNCAxIEQKLS1SIGEgMTk0OCAxOTUxIC0gUyBTdW4+PTkgMCAwIFMKLS1SIGEgMTk0OSBvIC0gQXAgU2F0Pj0xIDI0IDEgRAotLVIgYSAxOTUwIDE5NTEgLSBNYXkgU2F0Pj0xIDI0IDEgRAotK1IgSlAgMTk0OCBvIC0gTWF5IFNhdD49MSAyNCAxIEQKLStSIEpQIDE5NDggMTk1MSAtIFMgU2F0Pj04IDI1IDAgUwotK1IgSlAgMTk0OSBvIC0gQXAgU2F0Pj0xIDI0IDEgRAotK1IgSlAgMTk1MCAxOTUxIC0gTWF5IFNhdD49MSAyNCAxIEQKLSBaIEFzaWEvVG9reW8gOToxODo1OSAtIExNVCAxODg3IEQgMzEgMTV1Ci0tOSBhIEolc1QKLS1SIGIgMTk3MyBvIC0gSnVuIDYgMCAxIFMKLS1SIGIgMTk3MyAxOTc1IC0gTyAxIDAgMCAtCi0tUiBiIDE5NzQgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBiIDE5NzYgbyAtIE4gMSAwIDAgLQotLVIgYiAxOTc3IG8gLSBPIDEgMCAwIC0KLS1SIGIgMTk3OCBvIC0gQXAgMzAgMCAxIFMKLS1SIGIgMTk3OCBvIC0gUyAzMCAwIDAgLQotLVIgYiAxOTg1IG8gLSBBcCAxIDAgMSBTCi0tUiBiIDE5ODUgbyAtIE8gMSAwIDAgLQotLVIgYiAxOTg2IDE5ODggLSBBcCBGPj0xIDAgMSBTCi0tUiBiIDE5ODYgMTk5MCAtIE8gRj49MSAwIDAgLQotLVIgYiAxOTg5IG8gLSBNYXkgOCAwIDEgUwotLVIgYiAxOTkwIG8gLSBBcCAyNyAwIDEgUwotLVIgYiAxOTkxIG8gLSBBcCAxNyAwIDEgUwotLVIgYiAxOTkxIG8gLSBTIDI3IDAgMCAtCi0tUiBiIDE5OTIgbyAtIEFwIDEwIDAgMSBTCi0tUiBiIDE5OTIgMTk5MyAtIE8gRj49MSAwIDAgLQotLVIgYiAxOTkzIDE5OTggLSBBcCBGPj0xIDAgMSBTCi0tUiBiIDE5OTQgbyAtIFMgRj49MTUgMCAwIC0KLS1SIGIgMTk5NSAxOTk4IC0gUyBGPj0xNSAwcyAwIC0KLS1SIGIgMTk5OSBvIC0gSnVsIDEgMHMgMSBTCi0tUiBiIDE5OTkgMjAwMiAtIFMgbGFzdEYgMHMgMCAtCi0tUiBiIDIwMDAgMjAwMSAtIE1hciBsYXN0VGggMHMgMSBTCi0tUiBiIDIwMDIgMjAxMiAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBiIDIwMDMgbyAtIE8gMjQgMHMgMCAtCi0tUiBiIDIwMDQgbyAtIE8gMTUgMHMgMCAtCi0tUiBiIDIwMDUgbyAtIFMgbGFzdEYgMHMgMCAtCi0tUiBiIDIwMDYgMjAxMSAtIE8gbGFzdEYgMHMgMCAtCi0tUiBiIDIwMTMgbyAtIEQgMjAgMCAwIC0KLS1SIGIgMjAxNCBtYSAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBiIDIwMTQgbWEgLSBPIGxhc3RGIDBzIDAgLQotKzkgSlAgSiVzVAotK1IgSiAxOTczIG8gLSBKdW4gNiAwIDEgUwotK1IgSiAxOTczIDE5NzUgLSBPIDEgMCAwIC0KLStSIEogMTk3NCAxOTc3IC0gTWF5IDEgMCAxIFMKLStSIEogMTk3NiBvIC0gTiAxIDAgMCAtCi0rUiBKIDE5NzcgbyAtIE8gMSAwIDAgLQotK1IgSiAxOTc4IG8gLSBBcCAzMCAwIDEgUwotK1IgSiAxOTc4IG8gLSBTIDMwIDAgMCAtCi0rUiBKIDE5ODUgbyAtIEFwIDEgMCAxIFMKLStSIEogMTk4NSBvIC0gTyAxIDAgMCAtCi0rUiBKIDE5ODYgMTk4OCAtIEFwIEY+PTEgMCAxIFMKLStSIEogMTk4NiAxOTkwIC0gTyBGPj0xIDAgMCAtCi0rUiBKIDE5ODkgbyAtIE1heSA4IDAgMSBTCi0rUiBKIDE5OTAgbyAtIEFwIDI3IDAgMSBTCi0rUiBKIDE5OTEgbyAtIEFwIDE3IDAgMSBTCi0rUiBKIDE5OTEgbyAtIFMgMjcgMCAwIC0KLStSIEogMTk5MiBvIC0gQXAgMTAgMCAxIFMKLStSIEogMTk5MiAxOTkzIC0gTyBGPj0xIDAgMCAtCi0rUiBKIDE5OTMgMTk5OCAtIEFwIEY+PTEgMCAxIFMKLStSIEogMTk5NCBvIC0gUyBGPj0xNSAwIDAgLQotK1IgSiAxOTk1IDE5OTggLSBTIEY+PTE1IDBzIDAgLQotK1IgSiAxOTk5IG8gLSBKdWwgMSAwcyAxIFMKLStSIEogMTk5OSAyMDAyIC0gUyBsYXN0RiAwcyAwIC0KLStSIEogMjAwMCAyMDAxIC0gTWFyIGxhc3RUaCAwcyAxIFMKLStSIEogMjAwMiAyMDEyIC0gTWFyIGxhc3RUaCAyNCAxIFMKLStSIEogMjAwMyBvIC0gTyAyNCAwcyAwIC0KLStSIEogMjAwNCBvIC0gTyAxNSAwcyAwIC0KLStSIEogMjAwNSBvIC0gUyBsYXN0RiAwcyAwIC0KLStSIEogMjAwNiAyMDExIC0gTyBsYXN0RiAwcyAwIC0KLStSIEogMjAxMyBvIC0gRCAyMCAwIDAgLQotK1IgSiAyMDE0IG1hIC0gTWFyIGxhc3RUaCAyNCAxIFMKLStSIEogMjAxNCBtYSAtIE8gbGFzdEYgMHMgMCAtCi0gWiBBc2lhL0FtbWFuIDI6MjM6NDQgLSBMTVQgMTkzMQotLTIgYiBFRSVzVAotKzIgSiBFRSVzVAotIFogQXNpYS9BbG1hdHkgNTo3OjQ4IC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMjAwNCBPIDMxIDJzCi0rNiBSICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkyIEphIDE5IDJzCi0rNiBSICswNi8rMDcgMjAwNCBPIDMxIDJzCi0gNiAtICswNgotIFogQXNpYS9ReXp5bG9yZGEgNDoyMTo1MiAtIExNVCAxOTI0IE1heSAyCi0gNCAtICswNCAxOTMwIEp1biAyMQotIDUgLSArMDUgMTk4MSBBcAotIDUgMSArMDYgMTk4MSBPCi0gNiAtICswNiAxOTgyIEFwCi0tNSBNICswNS8rMDYgMTk5MSBNYXIgMzEgMnMKLS00IE0gKzA0LyswNSAxOTkxIFMgMjkgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMTk5MiBNYXIgMjkgMnMKLS01IE0gKzA1LyswNiAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTEgUyAyOSAycwotKzUgUiArMDUvKzA2IDE5OTIgSmEgMTkgMnMKLSs2IFIgKzA2LyswNyAxOTkyIE1hciAyOSAycwotKzUgUiArMDUvKzA2IDIwMDQgTyAzMSAycwotIDYgLSArMDYKLSBaIEFzaWEvQXF0b2JlIDM6NDg6NDAgLSBMTVQgMTkyNCBNYXkgMgotIDQgLSArMDQgMTkzMCBKdW4gMjEKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAycwotLTUgTSArMDUvKzA2IDIwMDQgTyAzMSAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDIwMDQgTyAzMSAycwotIDUgLSArMDUKLSBaIEFzaWEvQXF0YXUgMzoyMTo0IC0gTE1UIDE5MjQgTWF5IDIKLSA0IC0gKzA0IDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAxOTk0IFMgMjUgMnMKLS00IE0gKzA0LyswNSAyMDA0IE8gMzEgMnMKLSs1IFIgKzA1LyswNiAxOTkxIE1hciAzMSAycwotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLSs1IFIgKzA1LyswNiAxOTk0IFMgMjUgMnMKLSs0IFIgKzA0LyswNSAyMDA0IE8gMzEgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL0F0eXJhdSAzOjI3OjQ0IC0gTE1UIDE5MjQgTWF5IDIKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0gNSAtICswNSAxOTgxIE8KLSA2IC0gKzA2IDE5ODIgQXAKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAxOTk5IE1hciAyOCAycwotLTQgTSArMDQvKzA1IDIwMDQgTyAzMSAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDE5OTkgTWFyIDI4IDJzCi0rNCBSICswNC8rMDUgMjAwNCBPIDMxIDJzCi0gNSAtICswNQotIFogQXNpYS9PcmFsIDM6MjU6MjQgLSBMTVQgMTkyNCBNYXkgMgotIDMgLSArMDMgMTkzMCBKdW4gMjEKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5ODkgTWFyIDI2IDJzCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAycwotLTUgTSArMDUvKzA2IDE5OTIgTWFyIDI5IDJzCi0tNCBNICswNC8rMDUgMjAwNCBPIDMxIDJzCi0rNSBSICswNS8rMDYgMTk4OSBNYXIgMjYgMnMKLSs0IFIgKzA0LyswNSAxOTkyIEphIDE5IDJzCi0rNSBSICswNS8rMDYgMTk5MiBNYXIgMjkgMnMKLSs0IFIgKzA0LyswNSAyMDA0IE8gMzEgMnMKLSA1IC0gKzA1Ci0tUiBjIDE5OTIgMTk5NiAtIEFwIFN1bj49NyAwcyAxIC0KLS1SIGMgMTk5MiAxOTk2IC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBjIDE5OTcgMjAwNSAtIE1hciBsYXN0U3VuIDI6MzAgMSAtCi0tUiBjIDE5OTcgMjAwNCAtIE8gbGFzdFN1biAyOjMwIDAgLQotK1IgS0cgMTk5MiAxOTk2IC0gQXAgU3VuPj03IDBzIDEgLQotK1IgS0cgMTk5MiAxOTk2IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBLRyAxOTk3IDIwMDUgLSBNYXIgbGFzdFN1biAyOjMwIDEgLQotK1IgS0cgMTk5NyAyMDA0IC0gTyBsYXN0U3VuIDI6MzAgMCAtCi0gWiBBc2lhL0Jpc2hrZWsgNDo1ODoyNCAtIExNVCAxOTI0IE1heSAyCi0gNSAtICswNSAxOTMwIEp1biAyMQotLTYgTSArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0tNSBNICswNS8rMDYgMTk5MSBBdSAzMSAyCi0tNSBjICswNS8rMDYgMjAwNSBBdSAxMgotKzYgUiArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0rNSBSICswNS8rMDYgMTk5MSBBdSAzMSAyCi0rNSBLRyArMDUvKzA2IDIwMDUgQXUgMTIKLSA2IC0gKzA2Ci0tUiBkIDE5NDggbyAtIEp1biAxIDAgMSBECi0tUiBkIDE5NDggbyAtIFMgMTMgMCAwIFMKLS1SIGQgMTk0OSBvIC0gQXAgMyAwIDEgRAotLVIgZCAxOTQ5IDE5NTEgLSBTIFN1bj49OCAwIDAgUwotLVIgZCAxOTUwIG8gLSBBcCAxIDAgMSBECi0tUiBkIDE5NTEgbyAtIE1heSA2IDAgMSBECi0tUiBkIDE5NTUgbyAtIE1heSA1IDAgMSBECi0tUiBkIDE5NTUgbyAtIFMgOSAwIDAgUwotLVIgZCAxOTU2IG8gLSBNYXkgMjAgMCAxIEQKLS1SIGQgMTk1NiBvIC0gUyAzMCAwIDAgUwotLVIgZCAxOTU3IDE5NjAgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBkIDE5NTcgMTk2MCAtIFMgU3VuPj0xOCAwIDAgUwotLVIgZCAxOTg3IDE5ODggLSBNYXkgU3VuPj04IDIgMSBECi0tUiBkIDE5ODcgMTk4OCAtIE8gU3VuPj04IDMgMCBTCi0rUiBLUiAxOTQ4IG8gLSBKdW4gMSAwIDEgRAotK1IgS1IgMTk0OCBvIC0gUyAxMyAwIDAgUwotK1IgS1IgMTk0OSBvIC0gQXAgMyAwIDEgRAotK1IgS1IgMTk0OSAxOTUxIC0gUyBTdW4+PTggMCAwIFMKLStSIEtSIDE5NTAgbyAtIEFwIDEgMCAxIEQKLStSIEtSIDE5NTEgbyAtIE1heSA2IDAgMSBECi0rUiBLUiAxOTU1IG8gLSBNYXkgNSAwIDEgRAotK1IgS1IgMTk1NSBvIC0gUyA5IDAgMCBTCi0rUiBLUiAxOTU2IG8gLSBNYXkgMjAgMCAxIEQKLStSIEtSIDE5NTYgbyAtIFMgMzAgMCAwIFMKLStSIEtSIDE5NTcgMTk2MCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEtSIDE5NTcgMTk2MCAtIFMgU3VuPj0xOCAwIDAgUwotK1IgS1IgMTk4NyAxOTg4IC0gTWF5IFN1bj49OCAyIDEgRAotK1IgS1IgMTk4NyAxOTg4IC0gTyBTdW4+PTggMyAwIFMKLSBaIEFzaWEvU2VvdWwgODoyNzo1MiAtIExNVCAxOTA4IEFwCi0gODozMCAtIEtTVCAxOTEyCi0gOSAtIEpTVCAxOTQ1IFMgOAotIDkgLSBLU1QgMTk1NCBNYXIgMjEKLS04OjMwIGQgSyVzVCAxOTYxIEF1IDEwCi0tOSBkIEslc1QKLSs4OjMwIEtSIEslc1QgMTk2MSBBdSAxMAotKzkgS1IgSyVzVAotIFogQXNpYS9QeW9uZ3lhbmcgODoyMyAtIExNVCAxOTA4IEFwCi0gODozMCAtIEtTVCAxOTEyCi0gOSAtIEpTVCAxOTQ1IEF1IDI0Ci0gOSAtIEtTVCAyMDE1IEF1IDE1Ci0tODozMCAtIEtTVCAyMDE4IE1heSA1Ci0rODozMCAtIEtTVCAyMDE4IE1heSA0IDIzOjMwCi0gOSAtIEtTVAotLVIgZSAxOTIwIG8gLSBNYXIgMjggMCAxIFMKLS1SIGUgMTkyMCBvIC0gTyAyNSAwIDAgLQotLVIgZSAxOTIxIG8gLSBBcCAzIDAgMSBTCi0tUiBlIDE5MjEgbyAtIE8gMyAwIDAgLQotLVIgZSAxOTIyIG8gLSBNYXIgMjYgMCAxIFMKLS1SIGUgMTkyMiBvIC0gTyA4IDAgMCAtCi0tUiBlIDE5MjMgbyAtIEFwIDIyIDAgMSBTCi0tUiBlIDE5MjMgbyAtIFMgMTYgMCAwIC0KLS1SIGUgMTk1NyAxOTYxIC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk1NyAxOTYxIC0gTyAxIDAgMCAtCi0tUiBlIDE5NzIgbyAtIEp1biAyMiAwIDEgUwotLVIgZSAxOTcyIDE5NzcgLSBPIDEgMCAwIC0KLS1SIGUgMTk3MyAxOTc3IC0gTWF5IDEgMCAxIFMKLS1SIGUgMTk3OCBvIC0gQXAgMzAgMCAxIFMKLS1SIGUgMTk3OCBvIC0gUyAzMCAwIDAgLQotLVIgZSAxOTg0IDE5ODcgLSBNYXkgMSAwIDEgUwotLVIgZSAxOTg0IDE5OTEgLSBPIDE2IDAgMCAtCi0tUiBlIDE5ODggbyAtIEp1biAxIDAgMSBTCi0tUiBlIDE5ODkgbyAtIE1heSAxMCAwIDEgUwotLVIgZSAxOTkwIDE5OTIgLSBNYXkgMSAwIDEgUwotLVIgZSAxOTkyIG8gLSBPIDQgMCAwIC0KLS1SIGUgMTk5MyBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0tUiBlIDE5OTMgMTk5OCAtIFMgbGFzdFN1biAwIDAgLQotLVIgZSAxOTk5IG1hIC0gTyBsYXN0U3VuIDAgMCAtCi0rUiBsIDE5MjAgbyAtIE1hciAyOCAwIDEgUwotK1IgbCAxOTIwIG8gLSBPIDI1IDAgMCAtCi0rUiBsIDE5MjEgbyAtIEFwIDMgMCAxIFMKLStSIGwgMTkyMSBvIC0gTyAzIDAgMCAtCi0rUiBsIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotK1IgbCAxOTIyIG8gLSBPIDggMCAwIC0KLStSIGwgMTkyMyBvIC0gQXAgMjIgMCAxIFMKLStSIGwgMTkyMyBvIC0gUyAxNiAwIDAgLQotK1IgbCAxOTU3IDE5NjEgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTU3IDE5NjEgLSBPIDEgMCAwIC0KLStSIGwgMTk3MiBvIC0gSnVuIDIyIDAgMSBTCi0rUiBsIDE5NzIgMTk3NyAtIE8gMSAwIDAgLQotK1IgbCAxOTczIDE5NzcgLSBNYXkgMSAwIDEgUwotK1IgbCAxOTc4IG8gLSBBcCAzMCAwIDEgUwotK1IgbCAxOTc4IG8gLSBTIDMwIDAgMCAtCi0rUiBsIDE5ODQgMTk4NyAtIE1heSAxIDAgMSBTCi0rUiBsIDE5ODQgMTk5MSAtIE8gMTYgMCAwIC0KLStSIGwgMTk4OCBvIC0gSnVuIDEgMCAxIFMKLStSIGwgMTk4OSBvIC0gTWF5IDEwIDAgMSBTCi0rUiBsIDE5OTAgMTk5MiAtIE1heSAxIDAgMSBTCi0rUiBsIDE5OTIgbyAtIE8gNCAwIDAgLQotK1IgbCAxOTkzIG1hIC0gTWFyIGxhc3RTdW4gMCAxIFMKLStSIGwgMTk5MyAxOTk4IC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBsIDE5OTkgbWEgLSBPIGxhc3RTdW4gMCAwIC0KLSBaIEFzaWEvQmVpcnV0IDI6MjIgLSBMTVQgMTg4MAotLTIgZSBFRSVzVAotLVIgZiAxOTM1IDE5NDEgLSBTIDE0IDAgMDoyMCAtCi0tUiBmIDE5MzUgMTk0MSAtIEQgMTQgMCAwIC0KLSsyIGwgRUUlc1QKLStSIE5CIDE5MzUgMTk0MSAtIFMgMTQgMCAwOjIwIC0KLStSIE5CIDE5MzUgMTk0MSAtIEQgMTQgMCAwIC0KLSBaIEFzaWEvS3VhbGFfTHVtcHVyIDY6NDY6NDYgLSBMTVQgMTkwMQotIDY6NTU6MjUgLSBTTVQgMTkwNSBKdW4KLSA3IC0gKzA3IDE5MzMKLUBAIC04MjcsOTggKzg1MSw5OCBAQCBaIEFzaWEvS3VhbGFfTHVtcHVyIDY6NDY6NDYgLSBMTVQgMTkwMQotIDggLSArMDgKLSBaIEFzaWEvS3VjaGluZyA3OjIxOjIwIC0gTE1UIDE5MjYgTWFyCi0gNzozMCAtICswNzMwIDE5MzMKLS04IGYgKzA4LyswODIwIDE5NDIgRiAxNgotKzggTkIgKzA4LyswODIwIDE5NDIgRiAxNgotIDkgLSArMDkgMTk0NSBTIDEyCi0gOCAtICswOAotIFogSW5kaWFuL01hbGRpdmVzIDQ6NTQgLSBMTVQgMTg4MAotIDQ6NTQgLSBNTVQgMTk2MAotIDUgLSArMDUKLS1SIGcgMTk4MyAxOTg0IC0gQXAgMSAwIDEgLQotLVIgZyAxOTgzIG8gLSBPIDEgMCAwIC0KLS1SIGcgMTk4NSAxOTk4IC0gTWFyIGxhc3RTdW4gMCAxIC0KLS1SIGcgMTk4NCAxOTk4IC0gUyBsYXN0U3VuIDAgMCAtCi0tUiBnIDIwMDEgbyAtIEFwIGxhc3RTYXQgMiAxIC0KLS1SIGcgMjAwMSAyMDA2IC0gUyBsYXN0U2F0IDIgMCAtCi0tUiBnIDIwMDIgMjAwNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0tUiBnIDIwMTUgMjAxNiAtIE1hciBsYXN0U2F0IDIgMSAtCi0tUiBnIDIwMTUgMjAxNiAtIFMgbGFzdFNhdCAwIDAgLQotK1IgWCAxOTgzIDE5ODQgLSBBcCAxIDAgMSAtCi0rUiBYIDE5ODMgbyAtIE8gMSAwIDAgLQotK1IgWCAxOTg1IDE5OTggLSBNYXIgbGFzdFN1biAwIDEgLQotK1IgWCAxOTg0IDE5OTggLSBTIGxhc3RTdW4gMCAwIC0KLStSIFggMjAwMSBvIC0gQXAgbGFzdFNhdCAyIDEgLQotK1IgWCAyMDAxIDIwMDYgLSBTIGxhc3RTYXQgMiAwIC0KLStSIFggMjAwMiAyMDA2IC0gTWFyIGxhc3RTYXQgMiAxIC0KLStSIFggMjAxNSAyMDE2IC0gTWFyIGxhc3RTYXQgMiAxIC0KLStSIFggMjAxNSAyMDE2IC0gUyBsYXN0U2F0IDAgMCAtCi0gWiBBc2lhL0hvdmQgNjo2OjM2IC0gTE1UIDE5MDUgQXUKLSA2IC0gKzA2IDE5NzgKLS03IGcgKzA3LyswOAotKzcgWCArMDcvKzA4Ci0gWiBBc2lhL1VsYWFuYmFhdGFyIDc6NzozMiAtIExNVCAxOTA1IEF1Ci0gNyAtICswNyAxOTc4Ci0tOCBnICswOC8rMDkKLSs4IFggKzA4LyswOQotIFogQXNpYS9DaG9pYmFsc2FuIDc6MzggLSBMTVQgMTkwNSBBdQotIDcgLSArMDcgMTk3OAotIDggLSArMDggMTk4MyBBcAotLTkgZyArMDkvKzEwIDIwMDggTWFyIDMxCi0tOCBnICswOC8rMDkKLSs5IFggKzA5LysxMCAyMDA4IE1hciAzMQotKzggWCArMDgvKzA5Ci0gWiBBc2lhL0thdGhtYW5kdSA1OjQxOjE2IC0gTE1UIDE5MjAKLSA1OjMwIC0gKzA1MzAgMTk4NgotIDU6NDUgLSArMDU0NQotLVIgaCAyMDAyIG8gLSBBcCBTdW4+PTIgMCAxIFMKLS1SIGggMjAwMiBvIC0gTyBTdW4+PTIgMCAwIC0KLS1SIGggMjAwOCBvIC0gSnVuIDEgMCAxIFMKLS1SIGggMjAwOCAyMDA5IC0gTiAxIDAgMCAtCi0tUiBoIDIwMDkgbyAtIEFwIDE1IDAgMSBTCi0rUiBQSyAyMDAyIG8gLSBBcCBTdW4+PTIgMCAxIFMKLStSIFBLIDIwMDIgbyAtIE8gU3VuPj0yIDAgMCAtCi0rUiBQSyAyMDA4IG8gLSBKdW4gMSAwIDEgUwotK1IgUEsgMjAwOCAyMDA5IC0gTiAxIDAgMCAtCi0rUiBQSyAyMDA5IG8gLSBBcCAxNSAwIDEgUwotIFogQXNpYS9LYXJhY2hpIDQ6Mjg6MTIgLSBMTVQgMTkwNwotIDU6MzAgLSArMDUzMCAxOTQyIFMKLSA1OjMwIDEgKzA2MzAgMTk0NSBPIDE1Ci0gNTozMCAtICswNTMwIDE5NTEgUyAzMAotIDUgLSArMDUgMTk3MSBNYXIgMjYKLS01IGggUEslc1QKLS1SIGkgMTk5OSAyMDA1IC0gQXAgRj49MTUgMCAxIFMKLS1SIGkgMTk5OSAyMDAzIC0gTyBGPj0xNSAwIDAgLQotLVIgaSAyMDA0IG8gLSBPIDEgMSAwIC0KLS1SIGkgMjAwNSBvIC0gTyA0IDIgMCAtCi0tUiBpIDIwMDYgMjAwNyAtIEFwIDEgMCAxIFMKLS1SIGkgMjAwNiBvIC0gUyAyMiAwIDAgLQotLVIgaSAyMDA3IG8gLSBTIFRoPj04IDIgMCAtCi0tUiBpIDIwMDggMjAwOSAtIE1hciBsYXN0RiAwIDEgUwotLVIgaSAyMDA4IG8gLSBTIDEgMCAwIC0KLS1SIGkgMjAwOSBvIC0gUyBGPj0xIDEgMCAtCi0tUiBpIDIwMTAgbyAtIE1hciAyNiAwIDEgUwotLVIgaSAyMDEwIG8gLSBBdSAxMSAwIDAgLQotLVIgaSAyMDExIG8gLSBBcCAxIDA6MSAxIFMKLS1SIGkgMjAxMSBvIC0gQXUgMSAwIDAgLQotLVIgaSAyMDExIG8gLSBBdSAzMCAwIDEgUwotLVIgaSAyMDExIG8gLSBTIDMwIDAgMCAtCi0tUiBpIDIwMTIgMjAxNCAtIE1hciBsYXN0VGggMjQgMSBTCi0tUiBpIDIwMTIgbyAtIFMgMjEgMSAwIC0KLS1SIGkgMjAxMyBvIC0gUyBGPj0yMSAwIDAgLQotLVIgaSAyMDE0IDIwMTUgLSBPIEY+PTIxIDAgMCAtCi0tUiBpIDIwMTUgbyAtIE1hciBsYXN0RiAyNCAxIFMKLS1SIGkgMjAxNiBtYSAtIE1hciBTYXQ+PTIyIDEgMSBTCi0tUiBpIDIwMTYgbWEgLSBPIGxhc3RTYXQgMSAwIC0KLSs1IFBLIFBLJXNUCi0rUiBQIDE5OTkgMjAwNSAtIEFwIEY+PTE1IDAgMSBTCi0rUiBQIDE5OTkgMjAwMyAtIE8gRj49MTUgMCAwIC0KLStSIFAgMjAwNCBvIC0gTyAxIDEgMCAtCi0rUiBQIDIwMDUgbyAtIE8gNCAyIDAgLQotK1IgUCAyMDA2IDIwMDcgLSBBcCAxIDAgMSBTCi0rUiBQIDIwMDYgbyAtIFMgMjIgMCAwIC0KLStSIFAgMjAwNyBvIC0gUyBUaD49OCAyIDAgLQotK1IgUCAyMDA4IDIwMDkgLSBNYXIgbGFzdEYgMCAxIFMKLStSIFAgMjAwOCBvIC0gUyAxIDAgMCAtCi0rUiBQIDIwMDkgbyAtIFMgRj49MSAxIDAgLQotK1IgUCAyMDEwIG8gLSBNYXIgMjYgMCAxIFMKLStSIFAgMjAxMCBvIC0gQXUgMTEgMCAwIC0KLStSIFAgMjAxMSBvIC0gQXAgMSAwOjEgMSBTCi0rUiBQIDIwMTEgbyAtIEF1IDEgMCAwIC0KLStSIFAgMjAxMSBvIC0gQXUgMzAgMCAxIFMKLStSIFAgMjAxMSBvIC0gUyAzMCAwIDAgLQotK1IgUCAyMDEyIDIwMTQgLSBNYXIgbGFzdFRoIDI0IDEgUwotK1IgUCAyMDEyIG8gLSBTIDIxIDEgMCAtCi0rUiBQIDIwMTMgbyAtIFMgRj49MjEgMCAwIC0KLStSIFAgMjAxNCAyMDE1IC0gTyBGPj0yMSAwIDAgLQotK1IgUCAyMDE1IG8gLSBNYXIgbGFzdEYgMjQgMSBTCi0rUiBQIDIwMTYgbWEgLSBNYXIgU2F0Pj0yMiAxIDEgUwotK1IgUCAyMDE2IG1hIC0gTyBsYXN0U2F0IDEgMCAtCi0gWiBBc2lhL0dhemEgMjoxNzo1MiAtIExNVCAxOTAwIE8KLSAyIFogRUVUL0VFU1QgMTk0OCBNYXkgMTUKLS0yIEIgRUUlc1QgMTk2NyBKdW4gNQotKzIgSyBFRSVzVCAxOTY3IEp1biA1Ci0gMiBaIEklc1QgMTk5NgotLTIgYiBFRSVzVCAxOTk5Ci0tMiBpIEVFJXNUIDIwMDggQXUgMjkKLSsyIEogRUUlc1QgMTk5OQotKzIgUCBFRSVzVCAyMDA4IEF1IDI5Ci0gMiAtIEVFVCAyMDA4IFMKLS0yIGkgRUUlc1QgMjAxMAotKzIgUCBFRSVzVCAyMDEwCi0gMiAtIEVFVCAyMDEwIE1hciAyNyAwOjEKLS0yIGkgRUUlc1QgMjAxMSBBdQotKzIgUCBFRSVzVCAyMDExIEF1Ci0gMiAtIEVFVCAyMDEyCi0tMiBpIEVFJXNUCi0rMiBQIEVFJXNUCi0gWiBBc2lhL0hlYnJvbiAyOjIwOjIzIC0gTE1UIDE5MDAgTwotIDIgWiBFRVQvRUVTVCAxOTQ4IE1heSAxNQotLTIgQiBFRSVzVCAxOTY3IEp1biA1Ci0rMiBLIEVFJXNUIDE5NjcgSnVuIDUKLSAyIFogSSVzVCAxOTk2Ci0tMiBiIEVFJXNUIDE5OTkKLS0yIGkgRUUlc1QKLS1SIGogMTkzNiBvIC0gTiAxIDAgMSAtCi0tUiBqIDE5MzcgbyAtIEYgMSAwIDAgLQotLVIgaiAxOTU0IG8gLSBBcCAxMiAwIDEgLQotLVIgaiAxOTU0IG8gLSBKdWwgMSAwIDAgLQotLVIgaiAxOTc4IG8gLSBNYXIgMjIgMCAxIC0KLS1SIGogMTk3OCBvIC0gUyAyMSAwIDAgLQotKzIgSiBFRSVzVCAxOTk5Ci0rMiBQIEVFJXNUCi0rUiBQSCAxOTM2IG8gLSBOIDEgMCAxIEQKLStSIFBIIDE5MzcgbyAtIEYgMSAwIDAgUwotK1IgUEggMTk1NCBvIC0gQXAgMTIgMCAxIEQKLStSIFBIIDE5NTQgbyAtIEp1bCAxIDAgMCBTCi0rUiBQSCAxOTc4IG8gLSBNYXIgMjIgMCAxIEQKLStSIFBIIDE5NzggbyAtIFMgMjEgMCAwIFMKLSBaIEFzaWEvTWFuaWxhIC0xNTo1NiAtIExNVCAxODQ0IEQgMzEKLSA4OjQgLSBMTVQgMTg5OSBNYXkgMTEKLS04IGogKzA4LyswOSAxOTQyIE1heQotLTkgLSArMDkgMTk0NCBOCi0tOCBqICswOC8rMDkKLSs4IFBIIFAlc1QgMTk0MiBNYXkKLSs5IC0gSlNUIDE5NDQgTgotKzggUEggUCVzVAotIFogQXNpYS9RYXRhciAzOjI2OjggLSBMTVQgMTkyMAotIDQgLSArMDQgMTk3MiBKdW4KLSAzIC0gKzAzCi1AQCAtOTQ1LDUyICs5NjksNTIgQEAgWiBBc2lhL0NvbG9tYm8gNToxOToyNCAtIExNVCAxODgwCi0gNjozMCAtICswNjMwIDE5OTYgTyAyNiAwOjMwCi0gNiAtICswNiAyMDA2IEFwIDE1IDA6MzAKLSA1OjMwIC0gKzA1MzAKLS1SIGsgMTkyMCAxOTIzIC0gQXAgU3VuPj0xNSAyIDEgUwotLVIgayAxOTIwIDE5MjMgLSBPIFN1bj49MSAyIDAgLQotLVIgayAxOTYyIG8gLSBBcCAyOSAyIDEgUwotLVIgayAxOTYyIG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk2MyAxOTY1IC0gTWF5IDEgMiAxIFMKLS1SIGsgMTk2MyBvIC0gUyAzMCAyIDAgLQotLVIgayAxOTY0IG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk2NSBvIC0gUyAzMCAyIDAgLQotLVIgayAxOTY2IG8gLSBBcCAyNCAyIDEgUwotLVIgayAxOTY2IDE5NzYgLSBPIDEgMiAwIC0KLS1SIGsgMTk2NyAxOTc4IC0gTWF5IDEgMiAxIFMKLS1SIGsgMTk3NyAxOTc4IC0gUyAxIDIgMCAtCi0tUiBrIDE5ODMgMTk4NCAtIEFwIDkgMiAxIFMKLS1SIGsgMTk4MyAxOTg0IC0gTyAxIDIgMCAtCi0tUiBrIDE5ODYgbyAtIEYgMTYgMiAxIFMKLS1SIGsgMTk4NiBvIC0gTyA5IDIgMCAtCi0tUiBrIDE5ODcgbyAtIE1hciAxIDIgMSBTCi0tUiBrIDE5ODcgMTk4OCAtIE8gMzEgMiAwIC0KLS1SIGsgMTk4OCBvIC0gTWFyIDE1IDIgMSBTCi0tUiBrIDE5ODkgbyAtIE1hciAzMSAyIDEgUwotLVIgayAxOTg5IG8gLSBPIDEgMiAwIC0KLS1SIGsgMTk5MCBvIC0gQXAgMSAyIDEgUwotLVIgayAxOTkwIG8gLSBTIDMwIDIgMCAtCi0tUiBrIDE5OTEgbyAtIEFwIDEgMCAxIFMKLS1SIGsgMTk5MSAxOTkyIC0gTyAxIDAgMCAtCi0tUiBrIDE5OTIgbyAtIEFwIDggMCAxIFMKLS1SIGsgMTk5MyBvIC0gTWFyIDI2IDAgMSBTCi0tUiBrIDE5OTMgbyAtIFMgMjUgMCAwIC0KLS1SIGsgMTk5NCAxOTk2IC0gQXAgMSAwIDEgUwotLVIgayAxOTk0IDIwMDUgLSBPIDEgMCAwIC0KLS1SIGsgMTk5NyAxOTk4IC0gTWFyIGxhc3RNIDAgMSBTCi0tUiBrIDE5OTkgMjAwNiAtIEFwIDEgMCAxIFMKLS1SIGsgMjAwNiBvIC0gUyAyMiAwIDAgLQotLVIgayAyMDA3IG8gLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGsgMjAwNyBvIC0gTiBGPj0xIDAgMCAtCi0tUiBrIDIwMDggbyAtIEFwIEY+PTEgMCAxIFMKLS1SIGsgMjAwOCBvIC0gTiAxIDAgMCAtCi0tUiBrIDIwMDkgbyAtIE1hciBsYXN0RiAwIDEgUwotLVIgayAyMDEwIDIwMTEgLSBBcCBGPj0xIDAgMSBTCi0tUiBrIDIwMTIgbWEgLSBNYXIgbGFzdEYgMCAxIFMKLS1SIGsgMjAwOSBtYSAtIE8gbGFzdEYgMCAwIC0KLStSIFMgMTkyMCAxOTIzIC0gQXAgU3VuPj0xNSAyIDEgUwotK1IgUyAxOTIwIDE5MjMgLSBPIFN1bj49MSAyIDAgLQotK1IgUyAxOTYyIG8gLSBBcCAyOSAyIDEgUwotK1IgUyAxOTYyIG8gLSBPIDEgMiAwIC0KLStSIFMgMTk2MyAxOTY1IC0gTWF5IDEgMiAxIFMKLStSIFMgMTk2MyBvIC0gUyAzMCAyIDAgLQotK1IgUyAxOTY0IG8gLSBPIDEgMiAwIC0KLStSIFMgMTk2NSBvIC0gUyAzMCAyIDAgLQotK1IgUyAxOTY2IG8gLSBBcCAyNCAyIDEgUwotK1IgUyAxOTY2IDE5NzYgLSBPIDEgMiAwIC0KLStSIFMgMTk2NyAxOTc4IC0gTWF5IDEgMiAxIFMKLStSIFMgMTk3NyAxOTc4IC0gUyAxIDIgMCAtCi0rUiBTIDE5ODMgMTk4NCAtIEFwIDkgMiAxIFMKLStSIFMgMTk4MyAxOTg0IC0gTyAxIDIgMCAtCi0rUiBTIDE5ODYgbyAtIEYgMTYgMiAxIFMKLStSIFMgMTk4NiBvIC0gTyA5IDIgMCAtCi0rUiBTIDE5ODcgbyAtIE1hciAxIDIgMSBTCi0rUiBTIDE5ODcgMTk4OCAtIE8gMzEgMiAwIC0KLStSIFMgMTk4OCBvIC0gTWFyIDE1IDIgMSBTCi0rUiBTIDE5ODkgbyAtIE1hciAzMSAyIDEgUwotK1IgUyAxOTg5IG8gLSBPIDEgMiAwIC0KLStSIFMgMTk5MCBvIC0gQXAgMSAyIDEgUwotK1IgUyAxOTkwIG8gLSBTIDMwIDIgMCAtCi0rUiBTIDE5OTEgbyAtIEFwIDEgMCAxIFMKLStSIFMgMTk5MSAxOTkyIC0gTyAxIDAgMCAtCi0rUiBTIDE5OTIgbyAtIEFwIDggMCAxIFMKLStSIFMgMTk5MyBvIC0gTWFyIDI2IDAgMSBTCi0rUiBTIDE5OTMgbyAtIFMgMjUgMCAwIC0KLStSIFMgMTk5NCAxOTk2IC0gQXAgMSAwIDEgUwotK1IgUyAxOTk0IDIwMDUgLSBPIDEgMCAwIC0KLStSIFMgMTk5NyAxOTk4IC0gTWFyIGxhc3RNIDAgMSBTCi0rUiBTIDE5OTkgMjAwNiAtIEFwIDEgMCAxIFMKLStSIFMgMjAwNiBvIC0gUyAyMiAwIDAgLQotK1IgUyAyMDA3IG8gLSBNYXIgbGFzdEYgMCAxIFMKLStSIFMgMjAwNyBvIC0gTiBGPj0xIDAgMCAtCi0rUiBTIDIwMDggbyAtIEFwIEY+PTEgMCAxIFMKLStSIFMgMjAwOCBvIC0gTiAxIDAgMCAtCi0rUiBTIDIwMDkgbyAtIE1hciBsYXN0RiAwIDEgUwotK1IgUyAyMDEwIDIwMTEgLSBBcCBGPj0xIDAgMSBTCi0rUiBTIDIwMTIgbWEgLSBNYXIgbGFzdEYgMCAxIFMKLStSIFMgMjAwOSBtYSAtIE8gbGFzdEYgMCAwIC0KLSBaIEFzaWEvRGFtYXNjdXMgMjoyNToxMiAtIExNVCAxOTIwCi0tMiBrIEVFJXNUCi0rMiBTIEVFJXNUCi0gWiBBc2lhL0R1c2hhbmJlIDQ6MzU6MTIgLSBMTVQgMTkyNCBNYXkgMgotIDUgLSArMDUgMTkzMCBKdW4gMjEKLS02IE0gKzA2LyswNyAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTEgTWFyIDMxIDJzCi0gNSAxICswNS8rMDYgMTk5MSBTIDkgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL0Jhbmdrb2sgNjo0Mjo0IC0gTE1UIDE4ODAKLUBAIC0xMDAwLDggKzEwMjQsOCBAQCBMaSBBc2lhL0Jhbmdrb2sgQXNpYS9QaG5vbV9QZW5oCi0gTGkgQXNpYS9CYW5na29rIEFzaWEvVmllbnRpYW5lCi0gWiBBc2lhL0FzaGdhYmF0IDM6NTM6MzIgLSBMTVQgMTkyNCBNYXkgMgotIDQgLSArMDQgMTkzMCBKdW4gMjEKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAyCi0tNCBNICswNC8rMDUgMTk5MiBKYSAxOSAyCi0rNSBSICswNS8rMDYgMTk5MSBNYXIgMzEgMgotKzQgUiArMDQvKzA1IDE5OTIgSmEgMTkgMgotIDUgLSArMDUKLSBaIEFzaWEvRHViYWkgMzo0MToxMiAtIExNVCAxOTIwCi0gNCAtICswNAotQEAgLTEwMTEsMTIgKzEwMzUsMTIgQEAgWiBBc2lhL1NhbWFya2FuZCA0OjI3OjUzIC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5ODEgQXAKLSA1IDEgKzA2IDE5ODEgTwotIDYgLSArMDYgMTk4MiBBcAotLTUgTSArMDUvKzA2IDE5OTIKLSs1IFIgKzA1LyswNiAxOTkyCi0gNSAtICswNQotIFogQXNpYS9UYXNoa2VudCA0OjM3OjExIC0gTE1UIDE5MjQgTWF5IDIKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMgotLTUgTSArMDUvKzA2IDE5OTIKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAyCi0rNSBSICswNS8rMDYgMTk5MgotIDUgLSArMDUKLSBaIEFzaWEvSG9fQ2hpX01pbmggNzo2OjQwIC0gTE1UIDE5MDYgSnVsCi0gNzo2OjMwIC0gUExNVCAxOTExIE1heQotQEAgLTEwMjgsMTc2ICsxMDUyLDE3NiBAQCBaIEFzaWEvSG9fQ2hpX01pbmggNzo2OjQwIC0gTE1UIDE5MDYgSnVsCi0gNyAtICswNyAxOTU5IEQgMzEgMjMKLSA4IC0gKzA4IDE5NzUgSnVuIDEzCi0gNyAtICswNwotLVIgbCAxOTE3IG8gLSBKYSAxIDA6MSAxIEQKLS1SIGwgMTkxNyBvIC0gTWFyIDI1IDIgMCBTCi0tUiBsIDE5NDIgbyAtIEphIDEgMiAxIEQKLS1SIGwgMTk0MiBvIC0gTWFyIDI5IDIgMCBTCi0tUiBsIDE5NDIgbyAtIFMgMjcgMiAxIEQKLS1SIGwgMTk0MyAxOTQ0IC0gTWFyIGxhc3RTdW4gMiAwIFMKLS1SIGwgMTk0MyBvIC0gTyAzIDIgMSBECi0rUiBBVSAxOTE3IG8gLSBKYSAxIDA6MSAxIEQKLStSIEFVIDE5MTcgbyAtIE1hciAyNSAyIDAgUwotK1IgQVUgMTk0MiBvIC0gSmEgMSAyIDEgRAotK1IgQVUgMTk0MiBvIC0gTWFyIDI5IDIgMCBTCi0rUiBBVSAxOTQyIG8gLSBTIDI3IDIgMSBECi0rUiBBVSAxOTQzIDE5NDQgLSBNYXIgbGFzdFN1biAyIDAgUwotK1IgQVUgMTk0MyBvIC0gTyAzIDIgMSBECi0gWiBBdXN0cmFsaWEvRGFyd2luIDg6NDM6MjAgLSBMTVQgMTg5NSBGCi0gOSAtIEFDU1QgMTg5OSBNYXkKLS05OjMwIGwgQUMlc1QKLS1SIG0gMTk3NCBvIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgbSAxOTc1IG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgbSAxOTgzIG8gLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBtIDE5ODQgbyAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBtIDE5OTEgbyAtIE4gMTcgMnMgMSBECi0tUiBtIDE5OTIgbyAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBtIDIwMDYgbyAtIEQgMyAycyAxIEQKLS1SIG0gMjAwNyAyMDA5IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBtIDIwMDcgMjAwOCAtIE8gbGFzdFN1biAycyAxIEQKLSs5OjMwIEFVIEFDJXNUCi0rUiBBVyAxOTc0IG8gLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBVyAxOTc1IG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVcgMTk4MyBvIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVcgMTk4NCBvIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFXIDE5OTEgbyAtIE4gMTcgMnMgMSBECi0rUiBBVyAxOTkyIG8gLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQVcgMjAwNiBvIC0gRCAzIDJzIDEgRAotK1IgQVcgMjAwNyAyMDA5IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVyAyMDA3IDIwMDggLSBPIGxhc3RTdW4gMnMgMSBECi0gWiBBdXN0cmFsaWEvUGVydGggNzo0MzoyNCAtIExNVCAxODk1IEQKLS04IGwgQVclc1QgMTk0MyBKdWwKLS04IG0gQVclc1QKLSs4IEFVIEFXJXNUIDE5NDMgSnVsCi0rOCBBVyBBVyVzVAotIFogQXVzdHJhbGlhL0V1Y2xhIDg6MzU6MjggLSBMTVQgMTg5NSBECi0tODo0NSBsICswODQ1LyswOTQ1IDE5NDMgSnVsCi0tODo0NSBtICswODQ1LyswOTQ1Ci0tUiBuIDE5NzEgbyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIG4gMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotLVIgbiAxOTg5IDE5OTEgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBuIDE5OTAgMTk5MiAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBvIDE5OTIgMTk5MyAtIE8gbGFzdFN1biAycyAxIEQKLS1SIG8gMTk5MyAxOTk0IC0gTWFyIFN1bj49MSAycyAwIFMKLSs4OjQ1IEFVICswODQ1LyswOTQ1IDE5NDMgSnVsCi0rODo0NSBBVyArMDg0NS8rMDk0NQotK1IgQVEgMTk3MSBvIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVEgMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotK1IgQVEgMTk4OSAxOTkxIC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVEgMTk5MCAxOTkyIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEhvIDE5OTIgMTk5MyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEhvIDE5OTMgMTk5NCAtIE1hciBTdW4+PTEgMnMgMCBTCi0gWiBBdXN0cmFsaWEvQnJpc2JhbmUgMTA6MTI6OCAtIExNVCAxODk1Ci0tMTAgbCBBRSVzVCAxOTcxCi0tMTAgbiBBRSVzVAotKzEwIEFVIEFFJXNUIDE5NzEKLSsxMCBBUSBBRSVzVAotIFogQXVzdHJhbGlhL0xpbmRlbWFuIDk6NTU6NTYgLSBMTVQgMTg5NQotLTEwIGwgQUUlc1QgMTk3MQotLTEwIG4gQUUlc1QgMTk5MiBKdWwKLS0xMCBvIEFFJXNUCi0tUiBwIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHAgMTk4NiBvIC0gTyAxOSAycyAxIEQKLS1SIHAgMTk4NyAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcCAxOTcyIG8gLSBGIDI3IDJzIDAgUwotLVIgcCAxOTczIDE5ODUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcCAxOTg2IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHAgMTk5MSBvIC0gTWFyIDMgMnMgMCBTCi0tUiBwIDE5OTIgbyAtIE1hciAyMiAycyAwIFMKLS1SIHAgMTk5MyBvIC0gTWFyIDcgMnMgMCBTCi0tUiBwIDE5OTQgbyAtIE1hciAyMCAycyAwIFMKLS1SIHAgMTk5NSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBwIDIwMDYgbyAtIEFwIDIgMnMgMCBTCi0tUiBwIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcCAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcCAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MQotKzEwIEFRIEFFJXNUIDE5OTIgSnVsCi0rMTAgSG8gQUUlc1QKLStSIEFTIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFTIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0rUiBBUyAxOTg3IDIwMDcgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBUyAxOTcyIG8gLSBGIDI3IDJzIDAgUwotK1IgQVMgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFTIDE5ODYgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotK1IgQVMgMTk5MSBvIC0gTWFyIDMgMnMgMCBTCi0rUiBBUyAxOTkyIG8gLSBNYXIgMjIgMnMgMCBTCi0rUiBBUyAxOTkzIG8gLSBNYXIgNyAycyAwIFMKLStSIEFTIDE5OTQgbyAtIE1hciAyMCAycyAwIFMKLStSIEFTIDE5OTUgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVMgMjAwNiBvIC0gQXAgMiAycyAwIFMKLStSIEFTIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVMgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFTIDIwMDggbWEgLSBPIFN1bj49MSAycyAxIEQKLSBaIEF1c3RyYWxpYS9BZGVsYWlkZSA5OjE0OjIwIC0gTE1UIDE4OTUgRgotIDkgLSBBQ1NUIDE4OTkgTWF5Ci0tOTozMCBsIEFDJXNUIDE5NzEKLS05OjMwIHAgQUMlc1QKLS1SIHEgMTk2NyBvIC0gTyBTdW4+PTEgMnMgMSBECi0tUiBxIDE5NjggbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcSAxOTY4IDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiBxIDE5NjkgMTk3MSAtIE1hciBTdW4+PTggMnMgMCBTCi0tUiBxIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLS1SIHEgMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHEgMTk4MiAxOTgzIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDE5ODQgMTk4NiAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiBxIDE5ODYgbyAtIE8gU3VuPj0xNSAycyAxIEQKLS1SIHEgMTk4NyAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiBxIDE5ODcgbyAtIE8gU3VuPj0yMiAycyAxIEQKLS1SIHEgMTk4OCAxOTkwIC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcSAxOTkxIDE5OTkgLSBPIFN1bj49MSAycyAxIEQKLS1SIHEgMTk5MSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0tUiBxIDIwMDAgbyAtIEF1IGxhc3RTdW4gMnMgMSBECi0tUiBxIDIwMDEgbWEgLSBPIFN1bj49MSAycyAxIEQKLS1SIHEgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcSAyMDA3IG8gLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHEgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLSs5OjMwIEFVIEFDJXNUIDE5NzEKLSs5OjMwIEFTIEFDJXNUCi0rUiBBVCAxOTY3IG8gLSBPIFN1bj49MSAycyAxIEQKLStSIEFUIDE5NjggbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVQgMTk2OCAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVQgMTk2OSAxOTcxIC0gTWFyIFN1bj49OCAycyAwIFMKLStSIEFUIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIEFUIDE5NzMgMTk4MSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBVCAxOTgyIDE5ODMgLSBNYXIgbGFzdFN1biAycyAwIFMKLStSIEFUIDE5ODQgMTk4NiAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBVCAxOTg2IG8gLSBPIFN1bj49MTUgMnMgMSBECi0rUiBBVCAxOTg3IDE5OTAgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFUIDE5ODcgbyAtIE8gU3VuPj0yMiAycyAxIEQKLStSIEFUIDE5ODggMTk5MCAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFUIDE5OTEgMTk5OSAtIE8gU3VuPj0xIDJzIDEgRAotK1IgQVQgMTk5MSAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAyMDAwIG8gLSBBdSBsYXN0U3VuIDJzIDEgRAotK1IgQVQgMjAwMSBtYSAtIE8gU3VuPj0xIDJzIDEgRAotK1IgQVQgMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQVQgMjAwNyBvIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBVCAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotIFogQXVzdHJhbGlhL0hvYmFydCA5OjQ5OjE2IC0gTE1UIDE4OTUgUwotIDEwIC0gQUVTVCAxOTE2IE8gMSAyCi0gMTAgMSBBRURUIDE5MTcgRgotLTEwIGwgQUUlc1QgMTk2NwotLTEwIHEgQUUlc1QKLSsxMCBBVSBBRSVzVCAxOTY3Ci0rMTAgQVQgQUUlc1QKLSBaIEF1c3RyYWxpYS9DdXJyaWUgOTozNToyOCAtIExNVCAxODk1IFMKLSAxMCAtIEFFU1QgMTkxNiBPIDEgMgotIDEwIDEgQUVEVCAxOTE3IEYKLS0xMCBsIEFFJXNUIDE5NzEgSnVsCi0tMTAgcSBBRSVzVAotLVIgciAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0tUiByIDE5NzIgbyAtIEYgbGFzdFN1biAycyAwIFMKLS1SIHIgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHIgMTk4NiAxOTkwIC0gTWFyIFN1bj49MTUgMnMgMCBTCi0tUiByIDE5ODYgMTk4NyAtIE8gU3VuPj0xNSAycyAxIEQKLS1SIHIgMTk4OCAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgciAxOTkxIDE5OTQgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgciAxOTk1IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHIgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLS1SIHIgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgciAyMDA2IG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiByIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgciAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgciAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MSBKdWwKLSsxMCBBVCBBRSVzVAotK1IgQVYgMTk3MSAxOTg1IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVYgMTk3MiBvIC0gRiBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMTk3MyAxOTg1IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFWIDE5ODYgMTk5MCAtIE1hciBTdW4+PTE1IDJzIDAgUwotK1IgQVYgMTk4NiAxOTg3IC0gTyBTdW4+PTE1IDJzIDEgRAotK1IgQVYgMTk4OCAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQVYgMTk5MSAxOTk0IC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFWIDE5OTUgMjAwNSAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLStSIEFWIDIwMDEgMjAwNyAtIE8gbGFzdFN1biAycyAxIEQKLStSIEFWIDIwMDYgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFWIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotK1IgQVYgMjAwOCBtYSAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFWIDIwMDggbWEgLSBPIFN1bj49MSAycyAxIEQKLSBaIEF1c3RyYWxpYS9NZWxib3VybmUgOTozOTo1MiAtIExNVCAxODk1IEYKLS0xMCBsIEFFJXNUIDE5NzEKLS0xMCByIEFFJXNUCi0tUiBzIDE5NzEgMTk4NSAtIE8gbGFzdFN1biAycyAxIEQKLS1SIHMgMTk3MiBvIC0gRiAyNyAycyAwIFMKLS1SIHMgMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLS1SIHMgMTk4MiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTgzIDE5ODUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHMgMTk4NiBvIC0gTyAxOSAycyAxIEQKLS1SIHMgMTk4NyAxOTk5IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcyAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDJzIDAgUwotLVIgcyAxOTk2IDIwMDUgLSBNYXIgbGFzdFN1biAycyAwIFMKLS1SIHMgMjAwMCBvIC0gQXUgbGFzdFN1biAycyAxIEQKLS1SIHMgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgcyAyMDA2IG8gLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiBzIDIwMDcgbyAtIE1hciBsYXN0U3VuIDJzIDAgUwotLVIgcyAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotLVIgcyAyMDA4IG1hIC0gTyBTdW4+PTEgMnMgMSBECi0rMTAgQVUgQUUlc1QgMTk3MQotKzEwIEFWIEFFJXNUCi0rUiBBTiAxOTcxIDE5ODUgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBTiAxOTcyIG8gLSBGIDI3IDJzIDAgUwotK1IgQU4gMTk3MyAxOTgxIC0gTWFyIFN1bj49MSAycyAwIFMKLStSIEFOIDE5ODIgbyAtIEFwIFN1bj49MSAycyAwIFMKLStSIEFOIDE5ODMgMTk4NSAtIE1hciBTdW4+PTEgMnMgMCBTCi0rUiBBTiAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAycyAwIFMKLStSIEFOIDE5ODYgbyAtIE8gMTkgMnMgMSBECi0rUiBBTiAxOTg3IDE5OTkgLSBPIGxhc3RTdW4gMnMgMSBECi0rUiBBTiAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgQU4gMTk5NiAyMDA1IC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBTiAyMDAwIG8gLSBBdSBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgQU4gMjAwNiBvIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQU4gMjAwNyBvIC0gTWFyIGxhc3RTdW4gMnMgMCBTCi0rUiBBTiAyMDA4IG1hIC0gQXAgU3VuPj0xIDJzIDAgUwotK1IgQU4gMjAwOCBtYSAtIE8gU3VuPj0xIDJzIDEgRAotIFogQXVzdHJhbGlhL1N5ZG5leSAxMDo0OjUyIC0gTE1UIDE4OTUgRgotLTEwIGwgQUUlc1QgMTk3MQotLTEwIHMgQUUlc1QKLSsxMCBBVSBBRSVzVCAxOTcxCi0rMTAgQU4gQUUlc1QKLSBaIEF1c3RyYWxpYS9Ccm9rZW5fSGlsbCA5OjI1OjQ4IC0gTE1UIDE4OTUgRgotIDEwIC0gQUVTVCAxODk2IEF1IDIzCi0gOSAtIEFDU1QgMTg5OSBNYXkKLS05OjMwIGwgQUMlc1QgMTk3MQotLTk6MzAgcyBBQyVzVCAyMDAwCi0tOTozMCBwIEFDJXNUCi0tUiB0IDE5ODEgMTk4NCAtIE8gbGFzdFN1biAyIDEgLQotLVIgdCAxOTgyIDE5ODUgLSBNYXIgU3VuPj0xIDIgMCAtCi0tUiB0IDE5ODUgbyAtIE8gbGFzdFN1biAyIDA6MzAgLQotLVIgdCAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAyIDAgLQotLVIgdCAxOTg2IG8gLSBPIDE5IDIgMDozMCAtCi0tUiB0IDE5ODcgMTk5OSAtIE8gbGFzdFN1biAyIDA6MzAgLQotLVIgdCAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDIgMCAtCi0tUiB0IDE5OTYgMjAwNSAtIE1hciBsYXN0U3VuIDIgMCAtCi0tUiB0IDIwMDAgbyAtIEF1IGxhc3RTdW4gMiAwOjMwIC0KLS1SIHQgMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0tUiB0IDIwMDYgbyAtIEFwIFN1bj49MSAyIDAgLQotLVIgdCAyMDA3IG8gLSBNYXIgbGFzdFN1biAyIDAgLQotLVIgdCAyMDA4IG1hIC0gQXAgU3VuPj0xIDIgMCAtCi0tUiB0IDIwMDggbWEgLSBPIFN1bj49MSAyIDA6MzAgLQotKzk6MzAgQVUgQUMlc1QgMTk3MQotKzk6MzAgQU4gQUMlc1QgMjAwMAotKzk6MzAgQVMgQUMlc1QKLStSIExIIDE5ODEgMTk4NCAtIE8gbGFzdFN1biAyIDEgLQotK1IgTEggMTk4MiAxOTg1IC0gTWFyIFN1bj49MSAyIDAgLQotK1IgTEggMTk4NSBvIC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNSAyIDAgLQotK1IgTEggMTk4NiBvIC0gTyAxOSAyIDA6MzAgLQotK1IgTEggMTk4NyAxOTk5IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAxOTkwIDE5OTUgLSBNYXIgU3VuPj0xIDIgMCAtCi0rUiBMSCAxOTk2IDIwMDUgLSBNYXIgbGFzdFN1biAyIDAgLQotK1IgTEggMjAwMCBvIC0gQXUgbGFzdFN1biAyIDA6MzAgLQotK1IgTEggMjAwMSAyMDA3IC0gTyBsYXN0U3VuIDIgMDozMCAtCi0rUiBMSCAyMDA2IG8gLSBBcCBTdW4+PTEgMiAwIC0KLStSIExIIDIwMDcgbyAtIE1hciBsYXN0U3VuIDIgMCAtCi0rUiBMSCAyMDA4IG1hIC0gQXAgU3VuPj0xIDIgMCAtCi0rUiBMSCAyMDA4IG1hIC0gTyBTdW4+PTEgMiAwOjMwIC0KLSBaIEF1c3RyYWxpYS9Mb3JkX0hvd2UgMTA6MzY6MjAgLSBMTVQgMTg5NSBGCi0gMTAgLSBBRVNUIDE5ODEgTWFyCi0tMTA6MzAgdCArMTAzMC8rMTEzMCAxOTg1IEp1bAotLTEwOjMwIHQgKzEwMzAvKzExCi0rMTA6MzAgTEggKzEwMzAvKzExMzAgMTk4NSBKdWwKLSsxMDozMCBMSCArMTAzMC8rMTEKLSBaIEFudGFyY3RpY2EvTWFjcXVhcmllIDAgLSAtMDAgMTg5OSBOCi0gMTAgLSBBRVNUIDE5MTYgTyAxIDIKLSAxMCAxIEFFRFQgMTkxNyBGCi0tMTAgbCBBRSVzVCAxOTE5IEFwIDEgMHMKLSsxMCBBVSBBRSVzVCAxOTE5IEFwIDEgMHMKLSAwIC0gLTAwIDE5NDggTWFyIDI1Ci0tMTAgbCBBRSVzVCAxOTY3Ci0tMTAgcSBBRSVzVCAyMDEwIEFwIDQgMwotKzEwIEFVIEFFJXNUIDE5NjcKLSsxMCBBVCBBRSVzVCAyMDEwIEFwIDQgMwotIDExIC0gKzExCi0gWiBJbmRpYW4vQ2hyaXN0bWFzIDc6Mjo1MiAtIExNVCAxODk1IEYKLSA3IC0gKzA3Ci0gWiBJbmRpYW4vQ29jb3MgNjoyNzo0MCAtIExNVCAxOTAwCi0gNjozMCAtICswNjMwCi0tUiB1IDE5OTggMTk5OSAtIE4gU3VuPj0xIDIgMSAtCi0tUiB1IDE5OTkgMjAwMCAtIEYgbGFzdFN1biAzIDAgLQotLVIgdSAyMDA5IG8gLSBOIDI5IDIgMSAtCi0tUiB1IDIwMTAgbyAtIE1hciBsYXN0U3VuIDMgMCAtCi0tUiB1IDIwMTAgMjAxMyAtIE8gU3VuPj0yMSAyIDEgLQotLVIgdSAyMDExIG8gLSBNYXIgU3VuPj0xIDMgMCAtCi0tUiB1IDIwMTIgMjAxMyAtIEphIFN1bj49MTggMyAwIC0KLS1SIHUgMjAxNCBvIC0gSmEgU3VuPj0xOCAyIDAgLQotLVIgdSAyMDE0IG1hIC0gTiBTdW4+PTEgMiAxIC0KLS1SIHUgMjAxNSBtYSAtIEphIFN1bj49MTQgMyAwIC0KLStSIEZKIDE5OTggMTk5OSAtIE4gU3VuPj0xIDIgMSAtCi0rUiBGSiAxOTk5IDIwMDAgLSBGIGxhc3RTdW4gMyAwIC0KLStSIEZKIDIwMDkgbyAtIE4gMjkgMiAxIC0KLStSIEZKIDIwMTAgbyAtIE1hciBsYXN0U3VuIDMgMCAtCi0rUiBGSiAyMDEwIDIwMTMgLSBPIFN1bj49MjEgMiAxIC0KLStSIEZKIDIwMTEgbyAtIE1hciBTdW4+PTEgMyAwIC0KLStSIEZKIDIwMTIgMjAxMyAtIEphIFN1bj49MTggMyAwIC0KLStSIEZKIDIwMTQgbyAtIEphIFN1bj49MTggMiAwIC0KLStSIEZKIDIwMTQgbWEgLSBOIFN1bj49MSAyIDEgLQotK1IgRkogMjAxNSBtYSAtIEphIFN1bj49MTMgMyAwIC0KLSBaIFBhY2lmaWMvRmlqaSAxMTo1NTo0NCAtIExNVCAxOTE1IE8gMjYKLS0xMiB1ICsxMi8rMTMKLSsxMiBGSiArMTIvKzEzCi0gWiBQYWNpZmljL0dhbWJpZXIgLTg6NTk6NDggLSBMTVQgMTkxMiBPCi0gLTkgLSAtMDkKLSBaIFBhY2lmaWMvTWFycXVlc2FzIC05OjE4IC0gTE1UIDE5MTIgTwotQEAgLTEyMzksNTAgKzEyNjMsNTAgQEAgWiBQYWNpZmljL05hdXJ1IDExOjc6NDAgLSBMTVQgMTkyMSBKYSAxNQotIDkgLSArMDkgMTk0NCBBdSAxNQotIDExOjMwIC0gKzExMzAgMTk3OSBNYXkKLSAxMiAtICsxMgotLVIgdiAxOTc3IDE5NzggLSBEIFN1bj49MSAwIDEgLQotLVIgdiAxOTc4IDE5NzkgLSBGIDI3IDAgMCAtCi0tUiB2IDE5OTYgbyAtIEQgMSAycyAxIC0KLS1SIHYgMTk5NyBvIC0gTWFyIDIgMnMgMCAtCi0rUiBOQyAxOTc3IDE5NzggLSBEIFN1bj49MSAwIDEgLQotK1IgTkMgMTk3OCAxOTc5IC0gRiAyNyAwIDAgLQotK1IgTkMgMTk5NiBvIC0gRCAxIDJzIDEgLQotK1IgTkMgMTk5NyBvIC0gTWFyIDIgMnMgMCAtCi0gWiBQYWNpZmljL05vdW1lYSAxMTo1OjQ4IC0gTE1UIDE5MTIgSmEgMTMKLS0xMSB2ICsxMS8rMTIKLS1SIHcgMTkyNyBvIC0gTiA2IDIgMSBTCi0tUiB3IDE5MjggbyAtIE1hciA0IDIgMCBNCi0tUiB3IDE5MjggMTkzMyAtIE8gU3VuPj04IDIgMDozMCBTCi0tUiB3IDE5MjkgMTkzMyAtIE1hciBTdW4+PTE1IDIgMCBNCi0tUiB3IDE5MzQgMTk0MCAtIEFwIGxhc3RTdW4gMiAwIE0KLS1SIHcgMTkzNCAxOTQwIC0gUyBsYXN0U3VuIDIgMDozMCBTCi0tUiB3IDE5NDYgbyAtIEphIDEgMCAwIFMKLS1SIHcgMTk3NCBvIC0gTiBTdW4+PTEgMnMgMSBECi0tUiB4IDE5NzQgbyAtIE4gU3VuPj0xIDI6NDVzIDEgLQotLVIgdyAxOTc1IG8gLSBGIGxhc3RTdW4gMnMgMCBTCi0tUiB4IDE5NzUgbyAtIEYgbGFzdFN1biAyOjQ1cyAwIC0KLS1SIHcgMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDJzIDEgRAotLVIgeCAxOTc1IDE5ODggLSBPIGxhc3RTdW4gMjo0NXMgMSAtCi0tUiB3IDE5NzYgMTk4OSAtIE1hciBTdW4+PTEgMnMgMCBTCi0tUiB4IDE5NzYgMTk4OSAtIE1hciBTdW4+PTEgMjo0NXMgMCAtCi0tUiB3IDE5ODkgbyAtIE8gU3VuPj04IDJzIDEgRAotLVIgeCAxOTg5IG8gLSBPIFN1bj49OCAyOjQ1cyAxIC0KLS1SIHcgMTk5MCAyMDA2IC0gTyBTdW4+PTEgMnMgMSBECi0tUiB4IDE5OTAgMjAwNiAtIE8gU3VuPj0xIDI6NDVzIDEgLQotLVIgdyAxOTkwIDIwMDcgLSBNYXIgU3VuPj0xNSAycyAwIFMKLS1SIHggMTk5MCAyMDA3IC0gTWFyIFN1bj49MTUgMjo0NXMgMCAtCi0tUiB3IDIwMDcgbWEgLSBTIGxhc3RTdW4gMnMgMSBECi0tUiB4IDIwMDcgbWEgLSBTIGxhc3RTdW4gMjo0NXMgMSAtCi0tUiB3IDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0tUiB4IDIwMDggbWEgLSBBcCBTdW4+PTEgMjo0NXMgMCAtCi0rMTEgTkMgKzExLysxMgotK1IgTlogMTkyNyBvIC0gTiA2IDIgMSBTCi0rUiBOWiAxOTI4IG8gLSBNYXIgNCAyIDAgTQotK1IgTlogMTkyOCAxOTMzIC0gTyBTdW4+PTggMiAwOjMwIFMKLStSIE5aIDE5MjkgMTkzMyAtIE1hciBTdW4+PTE1IDIgMCBNCi0rUiBOWiAxOTM0IDE5NDAgLSBBcCBsYXN0U3VuIDIgMCBNCi0rUiBOWiAxOTM0IDE5NDAgLSBTIGxhc3RTdW4gMiAwOjMwIFMKLStSIE5aIDE5NDYgbyAtIEphIDEgMCAwIFMKLStSIE5aIDE5NzQgbyAtIE4gU3VuPj0xIDJzIDEgRAotK1IgayAxOTc0IG8gLSBOIFN1bj49MSAyOjQ1cyAxIC0KLStSIE5aIDE5NzUgbyAtIEYgbGFzdFN1biAycyAwIFMKLStSIGsgMTk3NSBvIC0gRiBsYXN0U3VuIDI6NDVzIDAgLQotK1IgTlogMTk3NSAxOTg4IC0gTyBsYXN0U3VuIDJzIDEgRAotK1IgayAxOTc1IDE5ODggLSBPIGxhc3RTdW4gMjo0NXMgMSAtCi0rUiBOWiAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDJzIDAgUwotK1IgayAxOTc2IDE5ODkgLSBNYXIgU3VuPj0xIDI6NDVzIDAgLQotK1IgTlogMTk4OSBvIC0gTyBTdW4+PTggMnMgMSBECi0rUiBrIDE5ODkgbyAtIE8gU3VuPj04IDI6NDVzIDEgLQotK1IgTlogMTk5MCAyMDA2IC0gTyBTdW4+PTEgMnMgMSBECi0rUiBrIDE5OTAgMjAwNiAtIE8gU3VuPj0xIDI6NDVzIDEgLQotK1IgTlogMTk5MCAyMDA3IC0gTWFyIFN1bj49MTUgMnMgMCBTCi0rUiBrIDE5OTAgMjAwNyAtIE1hciBTdW4+PTE1IDI6NDVzIDAgLQotK1IgTlogMjAwNyBtYSAtIFMgbGFzdFN1biAycyAxIEQKLStSIGsgMjAwNyBtYSAtIFMgbGFzdFN1biAyOjQ1cyAxIC0KLStSIE5aIDIwMDggbWEgLSBBcCBTdW4+PTEgMnMgMCBTCi0rUiBrIDIwMDggbWEgLSBBcCBTdW4+PTEgMjo0NXMgMCAtCi0gWiBQYWNpZmljL0F1Y2tsYW5kIDExOjM5OjQgLSBMTVQgMTg2OCBOIDIKLS0xMTozMCB3IE5aJXNUIDE5NDYKLS0xMiB3IE5aJXNUCi0rMTE6MzAgTlogTlolc1QgMTk0NgotKzEyIE5aIE5aJXNUCi0gWiBQYWNpZmljL0NoYXRoYW0gMTI6MTM6NDggLSBMTVQgMTg2OCBOIDIKLSAxMjoxNSAtICsxMjE1IDE5NDYKLS0xMjo0NSB4ICsxMjQ1LysxMzQ1Ci0rMTI6NDUgayArMTI0NS8rMTM0NQotIExpIFBhY2lmaWMvQXVja2xhbmQgQW50YXJjdGljYS9NY011cmRvCi0tUiB5IDE5NzggbyAtIE4gMTIgMCAwOjMwIC0KLS1SIHkgMTk3OSAxOTkxIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgeSAxOTc5IDE5OTAgLSBPIGxhc3RTdW4gMCAwOjMwIC0KLStSIENLIDE5NzggbyAtIE4gMTIgMCAwOjMwIC0KLStSIENLIDE5NzkgMTk5MSAtIE1hciBTdW4+PTEgMCAwIC0KLStSIENLIDE5NzkgMTk5MCAtIE8gbGFzdFN1biAwIDA6MzAgLQotIFogUGFjaWZpYy9SYXJvdG9uZ2EgLTEwOjM5OjQgLSBMTVQgMTkwMQotIC0xMDozMCAtIC0xMDMwIDE5NzggTiAxMgotLS0xMCB5IC0xMC8tMDkzMAotKy0xMCBDSyAtMTAvLTA5MzAKLSBaIFBhY2lmaWMvTml1ZSAtMTE6MTk6NDAgLSBMTVQgMTkwMQotIC0xMToyMCAtIC0xMTIwIDE5NTEKLSAtMTE6MzAgLSAtMTEzMCAxOTc4IE8KLUBAIC0xMzExLDU3MCArMTMzNSw1NzAgQEAgWiBQYWNpZmljL1BhZ29fUGFnbyAxMjozNzoxMiAtIExNVCAxODkyIEp1bCA1Ci0gLTExOjIyOjQ4IC0gTE1UIDE5MTEKLSAtMTEgLSBTU1QKLSBMaSBQYWNpZmljL1BhZ29fUGFnbyBQYWNpZmljL01pZHdheQotLVIgeiAyMDEwIG8gLSBTIGxhc3RTdW4gMCAxIC0KLS1SIHogMjAxMSBvIC0gQXAgU2F0Pj0xIDQgMCAtCi0tUiB6IDIwMTEgbyAtIFMgbGFzdFNhdCAzIDEgLQotLVIgeiAyMDEyIG1hIC0gQXAgU3VuPj0xIDQgMCAtCi0tUiB6IDIwMTIgbWEgLSBTIGxhc3RTdW4gMyAxIC0KLStSIFdTIDIwMTAgbyAtIFMgbGFzdFN1biAwIDEgLQotK1IgV1MgMjAxMSBvIC0gQXAgU2F0Pj0xIDQgMCAtCi0rUiBXUyAyMDExIG8gLSBTIGxhc3RTYXQgMyAxIC0KLStSIFdTIDIwMTIgbWEgLSBBcCBTdW4+PTEgNCAwIC0KLStSIFdTIDIwMTIgbWEgLSBTIGxhc3RTdW4gMyAxIC0KLSBaIFBhY2lmaWMvQXBpYSAxMjozMzo0IC0gTE1UIDE4OTIgSnVsIDUKLSAtMTE6MjY6NTYgLSBMTVQgMTkxMQotIC0xMTozMCAtIC0xMTMwIDE5NTAKLS0tMTEgeiAtMTEvLTEwIDIwMTEgRCAyOSAyNAotLTEzIHogKzEzLysxNAotKy0xMSBXUyAtMTEvLTEwIDIwMTEgRCAyOSAyNAotKzEzIFdTICsxMy8rMTQKLSBaIFBhY2lmaWMvR3VhZGFsY2FuYWwgMTA6Mzk6NDggLSBMTVQgMTkxMiBPCi0gMTEgLSArMTEKLSBaIFBhY2lmaWMvRmFrYW9mbyAtMTE6MjQ6NTYgLSBMTVQgMTkwMQotIC0xMSAtIC0xMSAyMDExIEQgMzAKLSAxMyAtICsxMwotLVIgISAxOTk5IG8gLSBPIDcgMnMgMSAtCi0tUiAhIDIwMDAgbyAtIE1hciAxOSAycyAwIC0KLS1SICEgMjAwMCAyMDAxIC0gTiBTdW4+PTEgMiAxIC0KLS1SICEgMjAwMSAyMDAyIC0gSmEgbGFzdFN1biAyIDAgLQotLVIgISAyMDE2IG8gLSBOIFN1bj49MSAyIDEgLQotLVIgISAyMDE3IG8gLSBKYSBTdW4+PTE1IDMgMCAtCi0rUiBUTyAxOTk5IG8gLSBPIDcgMnMgMSAtCi0rUiBUTyAyMDAwIG8gLSBNYXIgMTkgMnMgMCAtCi0rUiBUTyAyMDAwIDIwMDEgLSBOIFN1bj49MSAyIDEgLQotK1IgVE8gMjAwMSAyMDAyIC0gSmEgbGFzdFN1biAyIDAgLQotK1IgVE8gMjAxNiBvIC0gTiBTdW4+PTEgMiAxIC0KLStSIFRPIDIwMTcgbyAtIEphIFN1bj49MTUgMyAwIC0KLSBaIFBhY2lmaWMvVG9uZ2F0YXB1IDEyOjE5OjIwIC0gTE1UIDE5MDEKLSAxMjoyMCAtICsxMjIwIDE5NDEKLSAxMyAtICsxMyAxOTk5Ci0tMTMgISArMTMvKzE0Ci0rMTMgVE8gKzEzLysxNAotIFogUGFjaWZpYy9GdW5hZnV0aSAxMTo1Njo1MiAtIExNVCAxOTAxCi0gMTIgLSArMTIKLSBaIFBhY2lmaWMvV2FrZSAxMTo2OjI4IC0gTE1UIDE5MDEKLSAxMiAtICsxMgotLVIgJCAxOTgzIG8gLSBTIDI1IDAgMSAtCi0tUiAkIDE5ODQgMTk5MSAtIE1hciBTdW4+PTIzIDAgMCAtCi0tUiAkIDE5ODQgbyAtIE8gMjMgMCAxIC0KLS1SICQgMTk4NSAxOTkxIC0gUyBTdW4+PTIzIDAgMSAtCi0tUiAkIDE5OTIgMTk5MyAtIEphIFN1bj49MjMgMCAwIC0KLS1SICQgMTk5MiBvIC0gTyBTdW4+PTIzIDAgMSAtCi0rUiBWVSAxOTgzIG8gLSBTIDI1IDAgMSAtCi0rUiBWVSAxOTg0IDE5OTEgLSBNYXIgU3VuPj0yMyAwIDAgLQotK1IgVlUgMTk4NCBvIC0gTyAyMyAwIDEgLQotK1IgVlUgMTk4NSAxOTkxIC0gUyBTdW4+PTIzIDAgMSAtCi0rUiBWVSAxOTkyIDE5OTMgLSBKYSBTdW4+PTIzIDAgMCAtCi0rUiBWVSAxOTkyIG8gLSBPIFN1bj49MjMgMCAxIC0KLSBaIFBhY2lmaWMvRWZhdGUgMTE6MTM6MTYgLSBMTVQgMTkxMiBKYSAxMwotLTExICQgKzExLysxMgotKzExIFZVICsxMS8rMTIKLSBaIFBhY2lmaWMvV2FsbGlzIDEyOjE1OjIwIC0gTE1UIDE5MDEKLSAxMiAtICsxMgotLVIgJSAxOTE2IG8gLSBNYXkgMjEgMnMgMSBCU1QKLS1SICUgMTkxNiBvIC0gTyAxIDJzIDAgR01UCi0tUiAlIDE5MTcgbyAtIEFwIDggMnMgMSBCU1QKLS1SICUgMTkxNyBvIC0gUyAxNyAycyAwIEdNVAotLVIgJSAxOTE4IG8gLSBNYXIgMjQgMnMgMSBCU1QKLS1SICUgMTkxOCBvIC0gUyAzMCAycyAwIEdNVAotLVIgJSAxOTE5IG8gLSBNYXIgMzAgMnMgMSBCU1QKLS1SICUgMTkxOSBvIC0gUyAyOSAycyAwIEdNVAotLVIgJSAxOTIwIG8gLSBNYXIgMjggMnMgMSBCU1QKLS1SICUgMTkyMCBvIC0gTyAyNSAycyAwIEdNVAotLVIgJSAxOTIxIG8gLSBBcCAzIDJzIDEgQlNUCi0tUiAlIDE5MjEgbyAtIE8gMyAycyAwIEdNVAotLVIgJSAxOTIyIG8gLSBNYXIgMjYgMnMgMSBCU1QKLS1SICUgMTkyMiBvIC0gTyA4IDJzIDAgR01UCi0tUiAlIDE5MjMgbyAtIEFwIFN1bj49MTYgMnMgMSBCU1QKLS1SICUgMTkyMyAxOTI0IC0gUyBTdW4+PTE2IDJzIDAgR01UCi0tUiAlIDE5MjQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTI1IDE5MjYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MjUgMTkzOCAtIE8gU3VuPj0yIDJzIDAgR01UCi0tUiAlIDE5MjcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTI4IDE5MjkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTMxIDE5MzIgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzMgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM0IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzUgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM2IDE5MzcgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzggbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTM5IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5MzkgbyAtIE4gU3VuPj0xNiAycyAwIEdNVAotLVIgJSAxOTQwIG8gLSBGIFN1bj49MjMgMnMgMSBCU1QKLS1SICUgMTk0MSBvIC0gTWF5IFN1bj49MiAxcyAyIEJEU1QKLS1SICUgMTk0MSAxOTQzIC0gQXUgU3VuPj05IDFzIDEgQlNUCi0tUiAlIDE5NDIgMTk0NCAtIEFwIFN1bj49MiAxcyAyIEJEU1QKLS1SICUgMTk0NCBvIC0gUyBTdW4+PTE2IDFzIDEgQlNUCi0tUiAlIDE5NDUgbyAtIEFwIE0+PTIgMXMgMiBCRFNUCi0tUiAlIDE5NDUgbyAtIEp1bCBTdW4+PTkgMXMgMSBCU1QKLS1SICUgMTk0NSAxOTQ2IC0gTyBTdW4+PTIgMnMgMCBHTVQKLS1SICUgMTk0NiBvIC0gQXAgU3VuPj05IDJzIDEgQlNUCi0tUiAlIDE5NDcgbyAtIE1hciAxNiAycyAxIEJTVAotLVIgJSAxOTQ3IG8gLSBBcCAxMyAxcyAyIEJEU1QKLS1SICUgMTk0NyBvIC0gQXUgMTAgMXMgMSBCU1QKLS1SICUgMTk0NyBvIC0gTiAyIDJzIDAgR01UCi0tUiAlIDE5NDggbyAtIE1hciAxNCAycyAxIEJTVAotLVIgJSAxOTQ4IG8gLSBPIDMxIDJzIDAgR01UCi0tUiAlIDE5NDkgbyAtIEFwIDMgMnMgMSBCU1QKLS1SICUgMTk0OSBvIC0gTyAzMCAycyAwIEdNVAotLVIgJSAxOTUwIDE5NTIgLSBBcCBTdW4+PTE0IDJzIDEgQlNUCi0tUiAlIDE5NTAgMTk1MiAtIE8gU3VuPj0yMSAycyAwIEdNVAotLVIgJSAxOTUzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NTMgMTk2MCAtIE8gU3VuPj0yIDJzIDAgR01UCi0tUiAlIDE5NTQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTU1IDE5NTYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NTcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTU4IDE5NTkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0tUiAlIDE5NjAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotLVIgJSAxOTYxIDE5NjMgLSBNYXIgbGFzdFN1biAycyAxIEJTVAotLVIgJSAxOTYxIDE5NjggLSBPIFN1bj49MjMgMnMgMCBHTVQKLS1SICUgMTk2NCAxOTY3IC0gTWFyIFN1bj49MTkgMnMgMSBCU1QKLS1SICUgMTk2OCBvIC0gRiAxOCAycyAxIEJTVAotLVIgJSAxOTcyIDE5ODAgLSBNYXIgU3VuPj0xNiAycyAxIEJTVAotLVIgJSAxOTcyIDE5ODAgLSBPIFN1bj49MjMgMnMgMCBHTVQKLS1SICUgMTk4MSAxOTk1IC0gTWFyIGxhc3RTdW4gMXUgMSBCU1QKLS1SICUgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IDAgR01UCi0tUiAlIDE5OTAgMTk5NSAtIE8gU3VuPj0yMiAxdSAwIEdNVAotK1IgRyAxOTE2IG8gLSBNYXkgMjEgMnMgMSBCU1QKLStSIEcgMTkxNiBvIC0gTyAxIDJzIDAgR01UCi0rUiBHIDE5MTcgbyAtIEFwIDggMnMgMSBCU1QKLStSIEcgMTkxNyBvIC0gUyAxNyAycyAwIEdNVAotK1IgRyAxOTE4IG8gLSBNYXIgMjQgMnMgMSBCU1QKLStSIEcgMTkxOCBvIC0gUyAzMCAycyAwIEdNVAotK1IgRyAxOTE5IG8gLSBNYXIgMzAgMnMgMSBCU1QKLStSIEcgMTkxOSBvIC0gUyAyOSAycyAwIEdNVAotK1IgRyAxOTIwIG8gLSBNYXIgMjggMnMgMSBCU1QKLStSIEcgMTkyMCBvIC0gTyAyNSAycyAwIEdNVAotK1IgRyAxOTIxIG8gLSBBcCAzIDJzIDEgQlNUCi0rUiBHIDE5MjEgbyAtIE8gMyAycyAwIEdNVAotK1IgRyAxOTIyIG8gLSBNYXIgMjYgMnMgMSBCU1QKLStSIEcgMTkyMiBvIC0gTyA4IDJzIDAgR01UCi0rUiBHIDE5MjMgbyAtIEFwIFN1bj49MTYgMnMgMSBCU1QKLStSIEcgMTkyMyAxOTI0IC0gUyBTdW4+PTE2IDJzIDAgR01UCi0rUiBHIDE5MjQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTI1IDE5MjYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MjUgMTkzOCAtIE8gU3VuPj0yIDJzIDAgR01UCi0rUiBHIDE5MjcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTI4IDE5MjkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTMxIDE5MzIgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzMgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM0IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzUgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM2IDE5MzcgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzggbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTM5IG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5MzkgbyAtIE4gU3VuPj0xNiAycyAwIEdNVAotK1IgRyAxOTQwIG8gLSBGIFN1bj49MjMgMnMgMSBCU1QKLStSIEcgMTk0MSBvIC0gTWF5IFN1bj49MiAxcyAyIEJEU1QKLStSIEcgMTk0MSAxOTQzIC0gQXUgU3VuPj05IDFzIDEgQlNUCi0rUiBHIDE5NDIgMTk0NCAtIEFwIFN1bj49MiAxcyAyIEJEU1QKLStSIEcgMTk0NCBvIC0gUyBTdW4+PTE2IDFzIDEgQlNUCi0rUiBHIDE5NDUgbyAtIEFwIE0+PTIgMXMgMiBCRFNUCi0rUiBHIDE5NDUgbyAtIEp1bCBTdW4+PTkgMXMgMSBCU1QKLStSIEcgMTk0NSAxOTQ2IC0gTyBTdW4+PTIgMnMgMCBHTVQKLStSIEcgMTk0NiBvIC0gQXAgU3VuPj05IDJzIDEgQlNUCi0rUiBHIDE5NDcgbyAtIE1hciAxNiAycyAxIEJTVAotK1IgRyAxOTQ3IG8gLSBBcCAxMyAxcyAyIEJEU1QKLStSIEcgMTk0NyBvIC0gQXUgMTAgMXMgMSBCU1QKLStSIEcgMTk0NyBvIC0gTiAyIDJzIDAgR01UCi0rUiBHIDE5NDggbyAtIE1hciAxNCAycyAxIEJTVAotK1IgRyAxOTQ4IG8gLSBPIDMxIDJzIDAgR01UCi0rUiBHIDE5NDkgbyAtIEFwIDMgMnMgMSBCU1QKLStSIEcgMTk0OSBvIC0gTyAzMCAycyAwIEdNVAotK1IgRyAxOTUwIDE5NTIgLSBBcCBTdW4+PTE0IDJzIDEgQlNUCi0rUiBHIDE5NTAgMTk1MiAtIE8gU3VuPj0yMSAycyAwIEdNVAotK1IgRyAxOTUzIG8gLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NTMgMTk2MCAtIE8gU3VuPj0yIDJzIDAgR01UCi0rUiBHIDE5NTQgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTU1IDE5NTYgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NTcgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTU4IDE5NTkgLSBBcCBTdW4+PTE2IDJzIDEgQlNUCi0rUiBHIDE5NjAgbyAtIEFwIFN1bj49OSAycyAxIEJTVAotK1IgRyAxOTYxIDE5NjMgLSBNYXIgbGFzdFN1biAycyAxIEJTVAotK1IgRyAxOTYxIDE5NjggLSBPIFN1bj49MjMgMnMgMCBHTVQKLStSIEcgMTk2NCAxOTY3IC0gTWFyIFN1bj49MTkgMnMgMSBCU1QKLStSIEcgMTk2OCBvIC0gRiAxOCAycyAxIEJTVAotK1IgRyAxOTcyIDE5ODAgLSBNYXIgU3VuPj0xNiAycyAxIEJTVAotK1IgRyAxOTcyIDE5ODAgLSBPIFN1bj49MjMgMnMgMCBHTVQKLStSIEcgMTk4MSAxOTk1IC0gTWFyIGxhc3RTdW4gMXUgMSBCU1QKLStSIEcgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IDAgR01UCi0rUiBHIDE5OTAgMTk5NSAtIE8gU3VuPj0yMiAxdSAwIEdNVAotIFogRXVyb3BlL0xvbmRvbiAtMDoxOjE1IC0gTE1UIDE4NDcgRCAxIDBzCi0tMCAlICVzIDE5NjggTyAyNwotKzAgRyAlcyAxOTY4IE8gMjcKLSAxIC0gQlNUIDE5NzEgTyAzMSAydQotLTAgJSAlcyAxOTk2Ci0tMCBPIEdNVC9CU1QKLSswIEcgJXMgMTk5NgotKzAgRSBHTVQvQlNUCi0gTGkgRXVyb3BlL0xvbmRvbiBFdXJvcGUvSmVyc2V5Ci0gTGkgRXVyb3BlL0xvbmRvbiBFdXJvcGUvR3Vlcm5zZXkKLSBMaSBFdXJvcGUvTG9uZG9uIEV1cm9wZS9Jc2xlX29mX01hbgotLVIgJiAxOTcxIG8gLSBPIDMxIDJ1IC0xIC0KLS1SICYgMTk3MiAxOTgwIC0gTWFyIFN1bj49MTYgMnUgMCAtCi0tUiAmIDE5NzIgMTk4MCAtIE8gU3VuPj0yMyAydSAtMSAtCi0tUiAmIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAwIC0KLS1SICYgMTk4MSAxOTg5IC0gTyBTdW4+PTIzIDF1IC0xIC0KLS1SICYgMTk5MCAxOTk1IC0gTyBTdW4+PTIyIDF1IC0xIC0KLS1SICYgMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAtMSAtCi0rUiBJRSAxOTcxIG8gLSBPIDMxIDJ1IC0xIC0KLStSIElFIDE5NzIgMTk4MCAtIE1hciBTdW4+PTE2IDJ1IDAgLQotK1IgSUUgMTk3MiAxOTgwIC0gTyBTdW4+PTIzIDJ1IC0xIC0KLStSIElFIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAwIC0KLStSIElFIDE5ODEgMTk4OSAtIE8gU3VuPj0yMyAxdSAtMSAtCi0rUiBJRSAxOTkwIDE5OTUgLSBPIFN1bj49MjIgMXUgLTEgLQotK1IgSUUgMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAtMSAtCi0gWiBFdXJvcGUvRHVibGluIC0wOjI1IC0gTE1UIDE4ODAgQXUgMgotIC0wOjI1OjIxIC0gRE1UIDE5MTYgTWF5IDIxIDJzCi0gLTA6MjU6MjEgMSBJU1QgMTkxNiBPIDEgMnMKLS0wICUgJXMgMTkyMSBEIDYKLS0wICUgR01UL0lTVCAxOTQwIEYgMjUgMnMKLSswIEcgJXMgMTkyMSBEIDYKLSswIEcgR01UL0lTVCAxOTQwIEYgMjUgMnMKLSAwIDEgSVNUIDE5NDYgTyA2IDJzCi0gMCAtIEdNVCAxOTQ3IE1hciAxNiAycwotIDAgMSBJU1QgMTk0NyBOIDIgMnMKLSAwIC0gR01UIDE5NDggQXAgMTggMnMKLS0wICUgR01UL0lTVCAxOTY4IE8gMjcKLS0xICYgSVNUL0dNVAotLVIgTyAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMXUgMSBTCi0tUiBPIDE5NzcgbyAtIFMgbGFzdFN1biAxdSAwIC0KLS1SIE8gMTk3OCBvIC0gTyAxIDF1IDAgLQotLVIgTyAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMXUgMCAtCi0tUiBPIDE5ODEgbWEgLSBNYXIgbGFzdFN1biAxdSAxIFMKLS1SIE8gMTk5NiBtYSAtIE8gbGFzdFN1biAxdSAwIC0KLS1SICcgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDFzIDEgUwotLVIgJyAxOTc3IG8gLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiAnIDE5NzggbyAtIE8gMSAxcyAwIC0KLS1SICcgMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgJyAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0tUiAnIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXMgMCAtCi0tUiAoIDE5MTYgbyAtIEFwIDMwIDIzIDEgUwotLVIgKCAxOTE2IG8gLSBPIDEgMSAwIC0KLS1SICggMTkxNyAxOTE4IC0gQXAgTT49MTUgMnMgMSBTCi0tUiAoIDE5MTcgMTkxOCAtIFMgTT49MTUgMnMgMCAtCi0tUiAoIDE5NDAgbyAtIEFwIDEgMnMgMSBTCi0tUiAoIDE5NDIgbyAtIE4gMiAycyAwIC0KLS1SICggMTk0MyBvIC0gTWFyIDI5IDJzIDEgUwotLVIgKCAxOTQzIG8gLSBPIDQgMnMgMCAtCi0tUiAoIDE5NDQgMTk0NSAtIEFwIE0+PTEgMnMgMSBTCi0tUiAoIDE5NDQgbyAtIE8gMiAycyAwIC0KLS1SICggMTk0NSBvIC0gUyAxNiAycyAwIC0KLS1SICggMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDJzIDEgUwotLVIgKCAxOTc3IG8gLSBTIGxhc3RTdW4gMnMgMCAtCi0tUiAoIDE5NzggbyAtIE8gMSAycyAwIC0KLS1SICggMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDJzIDAgLQotLVIgKCAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0tUiAoIDE5OTYgbWEgLSBPIGxhc3RTdW4gMnMgMCAtCi0tUiBXIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAwIDEgUwotLVIgVyAxOTc3IG8gLSBTIGxhc3RTdW4gMCAwIC0KLS1SIFcgMTk3OCBvIC0gTyAxIDAgMCAtCi0tUiBXIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAwIDAgLQotLVIgVyAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMCAxIFMKLS1SIFcgMTk5NiBtYSAtIE8gbGFzdFN1biAwIDAgLQotLVIgTSAxOTE3IG8gLSBKdWwgMSAyMyAxIE1TVAotLVIgTSAxOTE3IG8gLSBEIDI4IDAgMCBNTVQKLS1SIE0gMTkxOCBvIC0gTWF5IDMxIDIyIDIgTURTVAotLVIgTSAxOTE4IG8gLSBTIDE2IDEgMSBNU1QKLS1SIE0gMTkxOSBvIC0gTWF5IDMxIDIzIDIgTURTVAotLVIgTSAxOTE5IG8gLSBKdWwgMSAwdSAxIE1TRAotLVIgTSAxOTE5IG8gLSBBdSAxNiAwIDAgTVNLCi0tUiBNIDE5MjEgbyAtIEYgMTQgMjMgMSBNU0QKLS1SIE0gMTkyMSBvIC0gTWFyIDIwIDIzIDIgKzA1Ci0tUiBNIDE5MjEgbyAtIFMgMSAwIDEgTVNECi0tUiBNIDE5MjEgbyAtIE8gMSAwIDAgLQotLVIgTSAxOTgxIDE5ODQgLSBBcCAxIDAgMSBTCi0tUiBNIDE5ODEgMTk4MyAtIE8gMSAwIDAgLQotLVIgTSAxOTg0IDE5OTUgLSBTIGxhc3RTdW4gMnMgMCAtCi0tUiBNIDE5ODUgMjAxMCAtIE1hciBsYXN0U3VuIDJzIDEgUwotLVIgTSAxOTk2IDIwMTAgLSBPIGxhc3RTdW4gMnMgMCAtCi0tWiBXRVQgMCBPIFdFJXNUCi0tWiBDRVQgMSAoIENFJXNUCi0tWiBNRVQgMSAoIE1FJXNUCi0tWiBFRVQgMiBPIEVFJXNUCi0tUiApIDE5NDAgbyAtIEp1biAxNiAwIDEgUwotLVIgKSAxOTQyIG8gLSBOIDIgMyAwIC0KLS1SICkgMTk0MyBvIC0gTWFyIDI5IDIgMSBTCi0tUiApIDE5NDMgbyAtIEFwIDEwIDMgMCAtCi0tUiApIDE5NzQgbyAtIE1heSA0IDAgMSBTCi0tUiApIDE5NzQgbyAtIE8gMiAwIDAgLQotLVIgKSAxOTc1IG8gLSBNYXkgMSAwIDEgUwotLVIgKSAxOTc1IG8gLSBPIDIgMCAwIC0KLS1SICkgMTk3NiBvIC0gTWF5IDIgMCAxIFMKLS1SICkgMTk3NiBvIC0gTyAzIDAgMCAtCi0tUiApIDE5NzcgbyAtIE1heSA4IDAgMSBTCi0tUiApIDE5NzcgbyAtIE8gMiAwIDAgLQotLVIgKSAxOTc4IG8gLSBNYXkgNiAwIDEgUwotLVIgKSAxOTc4IG8gLSBPIDEgMCAwIC0KLS1SICkgMTk3OSBvIC0gTWF5IDUgMCAxIFMKLS1SICkgMTk3OSBvIC0gUyAzMCAwIDAgLQotLVIgKSAxOTgwIG8gLSBNYXkgMyAwIDEgUwotLVIgKSAxOTgwIG8gLSBPIDQgMCAwIC0KLS1SICkgMTk4MSBvIC0gQXAgMjYgMCAxIFMKLS1SICkgMTk4MSBvIC0gUyAyNyAwIDAgLQotLVIgKSAxOTgyIG8gLSBNYXkgMiAwIDEgUwotLVIgKSAxOTgyIG8gLSBPIDMgMCAwIC0KLS1SICkgMTk4MyBvIC0gQXAgMTggMCAxIFMKLS1SICkgMTk4MyBvIC0gTyAxIDAgMCAtCi0tUiApIDE5ODQgbyAtIEFwIDEgMCAxIFMKLSswIEcgR01UL0lTVCAxOTY4IE8gMjcKLSsxIElFIElTVC9HTVQKLStSIEUgMTk3NyAxOTgwIC0gQXAgU3VuPj0xIDF1IDEgUwotK1IgRSAxOTc3IG8gLSBTIGxhc3RTdW4gMXUgMCAtCi0rUiBFIDE5NzggbyAtIE8gMSAxdSAwIC0KLStSIEUgMTk3OSAxOTk1IC0gUyBsYXN0U3VuIDF1IDAgLQotK1IgRSAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXUgMSBTCi0rUiBFIDE5OTYgbWEgLSBPIGxhc3RTdW4gMXUgMCAtCi0rUiBXLSAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMXMgMSBTCi0rUiBXLSAxOTc3IG8gLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBXLSAxOTc4IG8gLSBPIDEgMXMgMCAtCi0rUiBXLSAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBXLSAxOTgxIG1hIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0rUiBXLSAxOTk2IG1hIC0gTyBsYXN0U3VuIDFzIDAgLQotK1IgYyAxOTE2IG8gLSBBcCAzMCAyMyAxIFMKLStSIGMgMTkxNiBvIC0gTyAxIDEgMCAtCi0rUiBjIDE5MTcgMTkxOCAtIEFwIE0+PTE1IDJzIDEgUwotK1IgYyAxOTE3IDE5MTggLSBTIE0+PTE1IDJzIDAgLQotK1IgYyAxOTQwIG8gLSBBcCAxIDJzIDEgUwotK1IgYyAxOTQyIG8gLSBOIDIgMnMgMCAtCi0rUiBjIDE5NDMgbyAtIE1hciAyOSAycyAxIFMKLStSIGMgMTk0MyBvIC0gTyA0IDJzIDAgLQotK1IgYyAxOTQ0IDE5NDUgLSBBcCBNPj0xIDJzIDEgUwotK1IgYyAxOTQ0IG8gLSBPIDIgMnMgMCAtCi0rUiBjIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rUiBjIDE5NzcgMTk4MCAtIEFwIFN1bj49MSAycyAxIFMKLStSIGMgMTk3NyBvIC0gUyBsYXN0U3VuIDJzIDAgLQotK1IgYyAxOTc4IG8gLSBPIDEgMnMgMCAtCi0rUiBjIDE5NzkgMTk5NSAtIFMgbGFzdFN1biAycyAwIC0KLStSIGMgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDJzIDEgUwotK1IgYyAxOTk2IG1hIC0gTyBsYXN0U3VuIDJzIDAgLQotK1IgZSAxOTc3IDE5ODAgLSBBcCBTdW4+PTEgMCAxIFMKLStSIGUgMTk3NyBvIC0gUyBsYXN0U3VuIDAgMCAtCi0rUiBlIDE5NzggbyAtIE8gMSAwIDAgLQotK1IgZSAxOTc5IDE5OTUgLSBTIGxhc3RTdW4gMCAwIC0KLStSIGUgMTk4MSBtYSAtIE1hciBsYXN0U3VuIDAgMSBTCi0rUiBlIDE5OTYgbWEgLSBPIGxhc3RTdW4gMCAwIC0KLStSIFIgMTkxNyBvIC0gSnVsIDEgMjMgMSBNU1QKLStSIFIgMTkxNyBvIC0gRCAyOCAwIDAgTU1UCi0rUiBSIDE5MTggbyAtIE1heSAzMSAyMiAyIE1EU1QKLStSIFIgMTkxOCBvIC0gUyAxNiAxIDEgTVNUCi0rUiBSIDE5MTkgbyAtIE1heSAzMSAyMyAyIE1EU1QKLStSIFIgMTkxOSBvIC0gSnVsIDEgMHUgMSBNU0QKLStSIFIgMTkxOSBvIC0gQXUgMTYgMCAwIE1TSwotK1IgUiAxOTIxIG8gLSBGIDE0IDIzIDEgTVNECi0rUiBSIDE5MjEgbyAtIE1hciAyMCAyMyAyICswNQotK1IgUiAxOTIxIG8gLSBTIDEgMCAxIE1TRAotK1IgUiAxOTIxIG8gLSBPIDEgMCAwIC0KLStSIFIgMTk4MSAxOTg0IC0gQXAgMSAwIDEgUwotK1IgUiAxOTgxIDE5ODMgLSBPIDEgMCAwIC0KLStSIFIgMTk4NCAxOTk1IC0gUyBsYXN0U3VuIDJzIDAgLQotK1IgUiAxOTg1IDIwMTAgLSBNYXIgbGFzdFN1biAycyAxIFMKLStSIFIgMTk5NiAyMDEwIC0gTyBsYXN0U3VuIDJzIDAgLQotK1ogV0VUIDAgRSBXRSVzVAotK1ogQ0VUIDEgYyBDRSVzVAotK1ogTUVUIDEgYyBNRSVzVAotK1ogRUVUIDIgRSBFRSVzVAotK1IgcSAxOTQwIG8gLSBKdW4gMTYgMCAxIFMKLStSIHEgMTk0MiBvIC0gTiAyIDMgMCAtCi0rUiBxIDE5NDMgbyAtIE1hciAyOSAyIDEgUwotK1IgcSAxOTQzIG8gLSBBcCAxMCAzIDAgLQotK1IgcSAxOTc0IG8gLSBNYXkgNCAwIDEgUwotK1IgcSAxOTc0IG8gLSBPIDIgMCAwIC0KLStSIHEgMTk3NSBvIC0gTWF5IDEgMCAxIFMKLStSIHEgMTk3NSBvIC0gTyAyIDAgMCAtCi0rUiBxIDE5NzYgbyAtIE1heSAyIDAgMSBTCi0rUiBxIDE5NzYgbyAtIE8gMyAwIDAgLQotK1IgcSAxOTc3IG8gLSBNYXkgOCAwIDEgUwotK1IgcSAxOTc3IG8gLSBPIDIgMCAwIC0KLStSIHEgMTk3OCBvIC0gTWF5IDYgMCAxIFMKLStSIHEgMTk3OCBvIC0gTyAxIDAgMCAtCi0rUiBxIDE5NzkgbyAtIE1heSA1IDAgMSBTCi0rUiBxIDE5NzkgbyAtIFMgMzAgMCAwIC0KLStSIHEgMTk4MCBvIC0gTWF5IDMgMCAxIFMKLStSIHEgMTk4MCBvIC0gTyA0IDAgMCAtCi0rUiBxIDE5ODEgbyAtIEFwIDI2IDAgMSBTCi0rUiBxIDE5ODEgbyAtIFMgMjcgMCAwIC0KLStSIHEgMTk4MiBvIC0gTWF5IDIgMCAxIFMKLStSIHEgMTk4MiBvIC0gTyAzIDAgMCAtCi0rUiBxIDE5ODMgbyAtIEFwIDE4IDAgMSBTCi0rUiBxIDE5ODMgbyAtIE8gMSAwIDAgLQotK1IgcSAxOTg0IG8gLSBBcCAxIDAgMSBTCi0gWiBFdXJvcGUvVGlyYW5lIDE6MTk6MjAgLSBMTVQgMTkxNAotIDEgLSBDRVQgMTk0MCBKdW4gMTYKLS0xICkgQ0Ulc1QgMTk4NCBKdWwKLS0xIE8gQ0Ulc1QKLSsxIHEgQ0Ulc1QgMTk4NCBKdWwKLSsxIEUgQ0Ulc1QKLSBaIEV1cm9wZS9BbmRvcnJhIDA6Njo0IC0gTE1UIDE5MDEKLSAwIC0gV0VUIDE5NDYgUyAzMAotIDEgLSBDRVQgMTk4NSBNYXIgMzEgMgotLTEgTyBDRSVzVAotLVIgKiAxOTIwIG8gLSBBcCA1IDJzIDEgUwotLVIgKiAxOTIwIG8gLSBTIDEzIDJzIDAgLQotLVIgKiAxOTQ2IG8gLSBBcCAxNCAycyAxIFMKLS1SICogMTk0NiAxOTQ4IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiAqIDE5NDcgbyAtIEFwIDYgMnMgMSBTCi0tUiAqIDE5NDggbyAtIEFwIDE4IDJzIDEgUwotLVIgKiAxOTgwIG8gLSBBcCA2IDAgMSBTCi0tUiAqIDE5ODAgbyAtIFMgMjggMCAwIC0KLSsxIEUgQ0Ulc1QKLStSIGEgMTkyMCBvIC0gQXAgNSAycyAxIFMKLStSIGEgMTkyMCBvIC0gUyAxMyAycyAwIC0KLStSIGEgMTk0NiBvIC0gQXAgMTQgMnMgMSBTCi0rUiBhIDE5NDYgMTk0OCAtIE8gU3VuPj0xIDJzIDAgLQotK1IgYSAxOTQ3IG8gLSBBcCA2IDJzIDEgUwotK1IgYSAxOTQ4IG8gLSBBcCAxOCAycyAxIFMKLStSIGEgMTk4MCBvIC0gQXAgNiAwIDEgUwotK1IgYSAxOTgwIG8gLSBTIDI4IDAgMCAtCi0gWiBFdXJvcGUvVmllbm5hIDE6NToyMSAtIExNVCAxODkzIEFwCi0tMSAoIENFJXNUIDE5MjAKLS0xICogQ0Ulc1QgMTk0MCBBcCAxIDJzCi0tMSAoIENFJXNUIDE5NDUgQXAgMiAycwotKzEgYyBDRSVzVCAxOTIwCi0rMSBhIENFJXNUIDE5NDAgQXAgMSAycwotKzEgYyBDRSVzVCAxOTQ1IEFwIDIgMnMKLSAxIDEgQ0VTVCAxOTQ1IEFwIDEyIDJzCi0gMSAtIENFVCAxOTQ2Ci0tMSAqIENFJXNUIDE5ODEKLS0xIE8gQ0Ulc1QKLSsxIGEgQ0Ulc1QgMTk4MQotKzEgRSBDRSVzVAotIFogRXVyb3BlL01pbnNrIDE6NTA6MTYgLSBMTVQgMTg4MAotIDE6NTAgLSBNTVQgMTkyNCBNYXkgMgotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLSAzIC0gTVNLIDE5NDEgSnVuIDI4Ci0tMSAoIENFJXNUIDE5NDQgSnVsIDMKLS0zIE0gTVNLL01TRCAxOTkwCi0rMSBjIENFJXNUIDE5NDQgSnVsIDMKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkxIE1hciAzMSAycwotLTIgTSBFRSVzVCAyMDExIE1hciAyNyAycwotKzIgUiBFRSVzVCAyMDExIE1hciAyNyAycwotIDMgLSArMDMKLS1SICsgMTkxOCBvIC0gTWFyIDkgMHMgMSBTCi0tUiArIDE5MTggMTkxOSAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SICsgMTkxOSBvIC0gTWFyIDEgMjNzIDEgUwotLVIgKyAxOTIwIG8gLSBGIDE0IDIzcyAxIFMKLS1SICsgMTkyMCBvIC0gTyAyMyAyM3MgMCAtCi0tUiArIDE5MjEgbyAtIE1hciAxNCAyM3MgMSBTCi0tUiArIDE5MjEgbyAtIE8gMjUgMjNzIDAgLQotLVIgKyAxOTIyIG8gLSBNYXIgMjUgMjNzIDEgUwotLVIgKyAxOTIyIDE5MjcgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiArIDE5MjMgbyAtIEFwIDIxIDIzcyAxIFMKLS1SICsgMTkyNCBvIC0gTWFyIDI5IDIzcyAxIFMKLS1SICsgMTkyNSBvIC0gQXAgNCAyM3MgMSBTCi0tUiArIDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLS1SICsgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0tUiArIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SICsgMTkyOCAxOTM4IC0gTyBTdW4+PTIgMnMgMCAtCi0tUiArIDE5MjkgbyAtIEFwIDIxIDJzIDEgUwotLVIgKyAxOTMwIG8gLSBBcCAxMyAycyAxIFMKLS1SICsgMTkzMSBvIC0gQXAgMTkgMnMgMSBTCi0tUiArIDE5MzIgbyAtIEFwIDMgMnMgMSBTCi0tUiArIDE5MzMgbyAtIE1hciAyNiAycyAxIFMKLS1SICsgMTkzNCBvIC0gQXAgOCAycyAxIFMKLS1SICsgMTkzNSBvIC0gTWFyIDMxIDJzIDEgUwotLVIgKyAxOTM2IG8gLSBBcCAxOSAycyAxIFMKLS1SICsgMTkzNyBvIC0gQXAgNCAycyAxIFMKLS1SICsgMTkzOCBvIC0gTWFyIDI3IDJzIDEgUwotLVIgKyAxOTM5IG8gLSBBcCAxNiAycyAxIFMKLS1SICsgMTkzOSBvIC0gTiAxOSAycyAwIC0KLS1SICsgMTk0MCBvIC0gRiAyNSAycyAxIFMKLS1SICsgMTk0NCBvIC0gUyAxNyAycyAwIC0KLS1SICsgMTk0NSBvIC0gQXAgMiAycyAxIFMKLS1SICsgMTk0NSBvIC0gUyAxNiAycyAwIC0KLS1SICsgMTk0NiBvIC0gTWF5IDE5IDJzIDEgUwotLVIgKyAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0rUiBiIDE5MTggbyAtIE1hciA5IDBzIDEgUwotK1IgYiAxOTE4IDE5MTkgLSBPIFNhdD49MSAyM3MgMCAtCi0rUiBiIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIGIgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBiIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgYiAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgYiAxOTIxIG8gLSBPIDI1IDIzcyAwIC0KLStSIGIgMTkyMiBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIGIgMTkyMiAxOTI3IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgYiAxOTIzIG8gLSBBcCAyMSAyM3MgMSBTCi0rUiBiIDE5MjQgbyAtIE1hciAyOSAyM3MgMSBTCi0rUiBiIDE5MjUgbyAtIEFwIDQgMjNzIDEgUwotK1IgYiAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0rUiBiIDE5MjcgbyAtIEFwIDkgMjNzIDEgUwotK1IgYiAxOTI4IG8gLSBBcCAxNCAyM3MgMSBTCi0rUiBiIDE5MjggMTkzOCAtIE8gU3VuPj0yIDJzIDAgLQotK1IgYiAxOTI5IG8gLSBBcCAyMSAycyAxIFMKLStSIGIgMTkzMCBvIC0gQXAgMTMgMnMgMSBTCi0rUiBiIDE5MzEgbyAtIEFwIDE5IDJzIDEgUwotK1IgYiAxOTMyIG8gLSBBcCAzIDJzIDEgUwotK1IgYiAxOTMzIG8gLSBNYXIgMjYgMnMgMSBTCi0rUiBiIDE5MzQgbyAtIEFwIDggMnMgMSBTCi0rUiBiIDE5MzUgbyAtIE1hciAzMSAycyAxIFMKLStSIGIgMTkzNiBvIC0gQXAgMTkgMnMgMSBTCi0rUiBiIDE5MzcgbyAtIEFwIDQgMnMgMSBTCi0rUiBiIDE5MzggbyAtIE1hciAyNyAycyAxIFMKLStSIGIgMTkzOSBvIC0gQXAgMTYgMnMgMSBTCi0rUiBiIDE5MzkgbyAtIE4gMTkgMnMgMCAtCi0rUiBiIDE5NDAgbyAtIEYgMjUgMnMgMSBTCi0rUiBiIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0rUiBiIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0rUiBiIDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rUiBiIDE5NDYgbyAtIE1heSAxOSAycyAxIFMKLStSIGIgMTk0NiBvIC0gTyA3IDJzIDAgLQotIFogRXVyb3BlL0JydXNzZWxzIDA6MTc6MzAgLSBMTVQgMTg4MAotIDA6MTc6MzAgLSBCTVQgMTg5MiBNYXkgMSAxMgotIDAgLSBXRVQgMTkxNCBOIDgKLSAxIC0gQ0VUIDE5MTYgTWF5Ci0tMSAoIENFJXNUIDE5MTggTiAxMSAxMXUKLS0wICsgV0Ulc1QgMTk0MCBNYXkgMjAgMnMKLS0xICggQ0Ulc1QgMTk0NCBTIDMKLS0xICsgQ0Ulc1QgMTk3NwotLTEgTyBDRSVzVAotLVIgLCAxOTc5IG8gLSBNYXIgMzEgMjMgMSBTCi0tUiAsIDE5NzkgbyAtIE8gMSAxIDAgLQotLVIgLCAxOTgwIDE5ODIgLSBBcCBTYXQ+PTEgMjMgMSBTCi0tUiAsIDE5ODAgbyAtIFMgMjkgMSAwIC0KLS1SICwgMTk4MSBvIC0gUyAyNyAyIDAgLQotKzEgYyBDRSVzVCAxOTE4IE4gMTEgMTF1Ci0rMCBiIFdFJXNUIDE5NDAgTWF5IDIwIDJzCi0rMSBjIENFJXNUIDE5NDQgUyAzCi0rMSBiIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIEJHIDE5NzkgbyAtIE1hciAzMSAyMyAxIFMKLStSIEJHIDE5NzkgbyAtIE8gMSAxIDAgLQotK1IgQkcgMTk4MCAxOTgyIC0gQXAgU2F0Pj0xIDIzIDEgUwotK1IgQkcgMTk4MCBvIC0gUyAyOSAxIDAgLQotK1IgQkcgMTk4MSBvIC0gUyAyNyAyIDAgLQotIFogRXVyb3BlL1NvZmlhIDE6MzM6MTYgLSBMTVQgMTg4MAotIDE6NTY6NTYgLSBJTVQgMTg5NCBOIDMwCi0gMiAtIEVFVCAxOTQyIE4gMiAzCi0tMSAoIENFJXNUIDE5NDUKLSsxIGMgQ0Ulc1QgMTk0NQotIDEgLSBDRVQgMTk0NSBBcCAyIDMKLSAyIC0gRUVUIDE5NzkgTWFyIDMxIDIzCi0tMiAsIEVFJXNUIDE5ODIgUyAyNiAzCi0tMiAoIEVFJXNUIDE5OTEKLS0yIFcgRUUlc1QgMTk5NwotLTIgTyBFRSVzVAotLVIgLiAxOTQ1IG8gLSBBcCBNPj0xIDJzIDEgUwotLVIgLiAxOTQ1IG8gLSBPIDEgMnMgMCAtCi0tUiAuIDE5NDYgbyAtIE1heSA2IDJzIDEgUwotLVIgLiAxOTQ2IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SIC4gMTk0NyAxOTQ4IC0gQXAgU3VuPj0xNSAycyAxIFMKLS1SIC4gMTk0OSBvIC0gQXAgOSAycyAxIFMKLSsyIEJHIEVFJXNUIDE5ODIgUyAyNiAzCi0rMiBjIEVFJXNUIDE5OTEKLSsyIGUgRUUlc1QgMTk5NwotKzIgRSBFRSVzVAotK1IgQ1ogMTk0NSBvIC0gQXAgTT49MSAycyAxIFMKLStSIENaIDE5NDUgbyAtIE8gMSAycyAwIC0KLStSIENaIDE5NDYgbyAtIE1heSA2IDJzIDEgUwotK1IgQ1ogMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBDWiAxOTQ3IDE5NDggLSBBcCBTdW4+PTE1IDJzIDEgUwotK1IgQ1ogMTk0OSBvIC0gQXAgOSAycyAxIFMKLSBaIEV1cm9wZS9QcmFndWUgMDo1Nzo0NCAtIExNVCAxODUwCi0gMDo1Nzo0NCAtIFBNVCAxODkxIE8KLS0xICggQ0Ulc1QgMTk0NSBNYXkgOQotLTEgLiBDRSVzVCAxOTQ2IEQgMSAzCi0rMSBjIENFJXNUIDE5NDUgTWF5IDkKLSsxIENaIENFJXNUIDE5NDYgRCAxIDMKLSAxIC0xIEdNVCAxOTQ3IEYgMjMgMgotLTEgLiBDRSVzVCAxOTc5Ci0tMSBPIENFJXNUCi0tUiAvIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLS1SIC8gMTkxNiBvIC0gUyAzMCAyMyAwIC0KLS1SIC8gMTk0MCBvIC0gTWF5IDE1IDAgMSBTCi0tUiAvIDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiAvIDE5NDUgbyAtIEF1IDE1IDJzIDAgLQotLVIgLyAxOTQ2IG8gLSBNYXkgMSAycyAxIFMKLS1SIC8gMTk0NiBvIC0gUyAxIDJzIDAgLQotLVIgLyAxOTQ3IG8gLSBNYXkgNCAycyAxIFMKLS1SIC8gMTk0NyBvIC0gQXUgMTAgMnMgMCAtCi0tUiAvIDE5NDggbyAtIE1heSA5IDJzIDEgUwotLVIgLyAxOTQ4IG8gLSBBdSA4IDJzIDAgLQotKzEgQ1ogQ0Ulc1QgMTk3OQotKzEgRSBDRSVzVAotK1IgRCAxOTE2IG8gLSBNYXkgMTQgMjMgMSBTCi0rUiBEIDE5MTYgbyAtIFMgMzAgMjMgMCAtCi0rUiBEIDE5NDAgbyAtIE1heSAxNSAwIDEgUwotK1IgRCAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotK1IgRCAxOTQ1IG8gLSBBdSAxNSAycyAwIC0KLStSIEQgMTk0NiBvIC0gTWF5IDEgMnMgMSBTCi0rUiBEIDE5NDYgbyAtIFMgMSAycyAwIC0KLStSIEQgMTk0NyBvIC0gTWF5IDQgMnMgMSBTCi0rUiBEIDE5NDcgbyAtIEF1IDEwIDJzIDAgLQotK1IgRCAxOTQ4IG8gLSBNYXkgOSAycyAxIFMKLStSIEQgMTk0OCBvIC0gQXUgOCAycyAwIC0KLSBaIEV1cm9wZS9Db3BlbmhhZ2VuIDA6NTA6MjAgLSBMTVQgMTg5MAotIDA6NTA6MjAgLSBDTVQgMTg5NAotLTEgLyBDRSVzVCAxOTQyIE4gMiAycwotLTEgKCBDRSVzVCAxOTQ1IEFwIDIgMgotLTEgLyBDRSVzVCAxOTgwCi0tMSBPIENFJXNUCi0rMSBEIENFJXNUIDE5NDIgTiAyIDJzCi0rMSBjIENFJXNUIDE5NDUgQXAgMiAyCi0rMSBEIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBaIEF0bGFudGljL0Zhcm9lIC0wOjI3OjQgLSBMTVQgMTkwOCBKYSAxMQotIDAgLSBXRVQgMTk4MQotLTAgTyBXRSVzVAotLVIgOiAxOTkxIDE5OTIgLSBNYXIgbGFzdFN1biAyIDEgRAotLVIgOiAxOTkxIDE5OTIgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIDogMTk5MyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0tUiA6IDE5OTMgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotLVIgOiAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotLVIgOiAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSswIEUgV0Ulc1QKLStSIFRoIDE5OTEgMTk5MiAtIE1hciBsYXN0U3VuIDIgMSBECi0rUiBUaCAxOTkxIDE5OTIgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFRoIDE5OTMgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgVGggMTk5MyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBUaCAyMDA3IG1hIC0gTWFyIFN1bj49OCAyIDEgRAotK1IgVGggMjAwNyBtYSAtIE4gU3VuPj0xIDIgMCBTCi0gWiBBbWVyaWNhL0Rhbm1hcmtzaGF2biAtMToxNDo0MCAtIExNVCAxOTE2IEp1bCAyOAotIC0zIC0gLTAzIDE5ODAgQXAgNiAyCi0tLTMgTyAtMDMvLTAyIDE5OTYKLSstMyBFIC0wMy8tMDIgMTk5NgotIDAgLSBHTVQKLSBaIEFtZXJpY2EvU2NvcmVzYnlzdW5kIC0xOjI3OjUyIC0gTE1UIDE5MTYgSnVsIDI4Ci0gLTIgLSAtMDIgMTk4MCBBcCA2IDIKLS0tMiAoIC0wMi8tMDEgMTk4MSBNYXIgMjkKLS0tMSBPIC0wMS8rMDAKLSstMiBjIC0wMi8tMDEgMTk4MSBNYXIgMjkKLSstMSBFIC0wMS8rMDAKLSBaIEFtZXJpY2EvR29kdGhhYiAtMzoyNjo1NiAtIExNVCAxOTE2IEp1bCAyOAotIC0zIC0gLTAzIDE5ODAgQXAgNiAyCi0tLTMgTyAtMDMvLTAyCi0rLTMgRSAtMDMvLTAyCi0gWiBBbWVyaWNhL1RodWxlIC00OjM1OjggLSBMTVQgMTkxNiBKdWwgMjgKLS0tNCA6IEElc1QKLSstNCBUaCBBJXNUCi0gWiBFdXJvcGUvVGFsbGlubiAxOjM5IC0gTE1UIDE4ODAKLSAxOjM5IC0gVE1UIDE5MTggRgotLTEgKCBDRSVzVCAxOTE5IEp1bAotKzEgYyBDRSVzVCAxOTE5IEp1bAotIDE6MzkgLSBUTVQgMTkyMSBNYXkKLSAyIC0gRUVUIDE5NDAgQXUgNgotIDMgLSBNU0sgMTk0MSBTIDE1Ci0tMSAoIENFJXNUIDE5NDQgUyAyMgotLTMgTSBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0rMSBjIENFJXNUIDE5NDQgUyAyMgotKzMgUiBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0gMiAxIEVFU1QgMTk4OSBTIDI0IDJzCi0tMiAoIEVFJXNUIDE5OTggUyAyMgotLTIgTyBFRSVzVCAxOTk5IE8gMzEgNAotKzIgYyBFRSVzVCAxOTk4IFMgMjIKLSsyIEUgRUUlc1QgMTk5OSBPIDMxIDQKLSAyIC0gRUVUIDIwMDIgRiAyMQotLTIgTyBFRSVzVAotLVIgOyAxOTQyIG8gLSBBcCAyIDI0IDEgUwotLVIgOyAxOTQyIG8gLSBPIDQgMSAwIC0KLS1SIDsgMTk4MSAxOTgyIC0gTWFyIGxhc3RTdW4gMiAxIFMKLS1SIDsgMTk4MSAxOTgyIC0gUyBsYXN0U3VuIDMgMCAtCi0rMiBFIEVFJXNUCi0rUiBGSSAxOTQyIG8gLSBBcCAyIDI0IDEgUwotK1IgRkkgMTk0MiBvIC0gTyA0IDEgMCAtCi0rUiBGSSAxOTgxIDE5ODIgLSBNYXIgbGFzdFN1biAyIDEgUwotK1IgRkkgMTk4MSAxOTgyIC0gUyBsYXN0U3VuIDMgMCAtCi0gWiBFdXJvcGUvSGVsc2lua2kgMTozOTo0OSAtIExNVCAxODc4IE1heSAzMQotIDE6Mzk6NDkgLSBITVQgMTkyMSBNYXkKLS0yIDsgRUUlc1QgMTk4MwotLTIgTyBFRSVzVAotKzIgRkkgRUUlc1QgMTk4MwotKzIgRSBFRSVzVAotIExpIEV1cm9wZS9IZWxzaW5raSBFdXJvcGUvTWFyaWVoYW1uCi0tUiA8IDE5MTYgbyAtIEp1biAxNCAyM3MgMSBTCi0tUiA8IDE5MTYgMTkxOSAtIE8gU3VuPj0xIDIzcyAwIC0KLS1SIDwgMTkxNyBvIC0gTWFyIDI0IDIzcyAxIFMKLS1SIDwgMTkxOCBvIC0gTWFyIDkgMjNzIDEgUwotLVIgPCAxOTE5IG8gLSBNYXIgMSAyM3MgMSBTCi0tUiA8IDE5MjAgbyAtIEYgMTQgMjNzIDEgUwotLVIgPCAxOTIwIG8gLSBPIDIzIDIzcyAwIC0KLS1SIDwgMTkyMSBvIC0gTWFyIDE0IDIzcyAxIFMKLS1SIDwgMTkyMSBvIC0gTyAyNSAyM3MgMCAtCi0tUiA8IDE5MjIgbyAtIE1hciAyNSAyM3MgMSBTCi0tUiA8IDE5MjIgMTkzOCAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SIDwgMTkyMyBvIC0gTWF5IDI2IDIzcyAxIFMKLS1SIDwgMTkyNCBvIC0gTWFyIDI5IDIzcyAxIFMKLS1SIDwgMTkyNSBvIC0gQXAgNCAyM3MgMSBTCi0tUiA8IDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLS1SIDwgMTkyNyBvIC0gQXAgOSAyM3MgMSBTCi0tUiA8IDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SIDwgMTkyOSBvIC0gQXAgMjAgMjNzIDEgUwotLVIgPCAxOTMwIG8gLSBBcCAxMiAyM3MgMSBTCi0tUiA8IDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLS1SIDwgMTkzMiBvIC0gQXAgMiAyM3MgMSBTCi0tUiA8IDE5MzMgbyAtIE1hciAyNSAyM3MgMSBTCi0tUiA8IDE5MzQgbyAtIEFwIDcgMjNzIDEgUwotLVIgPCAxOTM1IG8gLSBNYXIgMzAgMjNzIDEgUwotLVIgPCAxOTM2IG8gLSBBcCAxOCAyM3MgMSBTCi0tUiA8IDE5MzcgbyAtIEFwIDMgMjNzIDEgUwotLVIgPCAxOTM4IG8gLSBNYXIgMjYgMjNzIDEgUwotLVIgPCAxOTM5IG8gLSBBcCAxNSAyM3MgMSBTCi0tUiA8IDE5MzkgbyAtIE4gMTggMjNzIDAgLQotLVIgPCAxOTQwIG8gLSBGIDI1IDIgMSBTCi0tUiA8IDE5NDEgbyAtIE1heSA1IDAgMiBNCi0tUiA8IDE5NDEgbyAtIE8gNiAwIDEgUwotLVIgPCAxOTQyIG8gLSBNYXIgOSAwIDIgTQotLVIgPCAxOTQyIG8gLSBOIDIgMyAxIFMKLS1SIDwgMTk0MyBvIC0gTWFyIDI5IDIgMiBNCi0tUiA8IDE5NDMgbyAtIE8gNCAzIDEgUwotLVIgPCAxOTQ0IG8gLSBBcCAzIDIgMiBNCi0tUiA8IDE5NDQgbyAtIE8gOCAxIDEgUwotLVIgPCAxOTQ1IG8gLSBBcCAyIDIgMiBNCi0tUiA8IDE5NDUgbyAtIFMgMTYgMyAwIC0KLS1SIDwgMTk3NiBvIC0gTWFyIDI4IDEgMSBTCi0tUiA8IDE5NzYgbyAtIFMgMjYgMSAwIC0KLStSIEYgMTkxNiBvIC0gSnVuIDE0IDIzcyAxIFMKLStSIEYgMTkxNiAxOTE5IC0gTyBTdW4+PTEgMjNzIDAgLQotK1IgRiAxOTE3IG8gLSBNYXIgMjQgMjNzIDEgUwotK1IgRiAxOTE4IG8gLSBNYXIgOSAyM3MgMSBTCi0rUiBGIDE5MTkgbyAtIE1hciAxIDIzcyAxIFMKLStSIEYgMTkyMCBvIC0gRiAxNCAyM3MgMSBTCi0rUiBGIDE5MjAgbyAtIE8gMjMgMjNzIDAgLQotK1IgRiAxOTIxIG8gLSBNYXIgMTQgMjNzIDEgUwotK1IgRiAxOTIxIG8gLSBPIDI1IDIzcyAwIC0KLStSIEYgMTkyMiBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIEYgMTkyMiAxOTM4IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgRiAxOTIzIG8gLSBNYXkgMjYgMjNzIDEgUwotK1IgRiAxOTI0IG8gLSBNYXIgMjkgMjNzIDEgUwotK1IgRiAxOTI1IG8gLSBBcCA0IDIzcyAxIFMKLStSIEYgMTkyNiBvIC0gQXAgMTcgMjNzIDEgUwotK1IgRiAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLStSIEYgMTkyOCBvIC0gQXAgMTQgMjNzIDEgUwotK1IgRiAxOTI5IG8gLSBBcCAyMCAyM3MgMSBTCi0rUiBGIDE5MzAgbyAtIEFwIDEyIDIzcyAxIFMKLStSIEYgMTkzMSBvIC0gQXAgMTggMjNzIDEgUwotK1IgRiAxOTMyIG8gLSBBcCAyIDIzcyAxIFMKLStSIEYgMTkzMyBvIC0gTWFyIDI1IDIzcyAxIFMKLStSIEYgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0rUiBGIDE5MzUgbyAtIE1hciAzMCAyM3MgMSBTCi0rUiBGIDE5MzYgbyAtIEFwIDE4IDIzcyAxIFMKLStSIEYgMTkzNyBvIC0gQXAgMyAyM3MgMSBTCi0rUiBGIDE5MzggbyAtIE1hciAyNiAyM3MgMSBTCi0rUiBGIDE5MzkgbyAtIEFwIDE1IDIzcyAxIFMKLStSIEYgMTkzOSBvIC0gTiAxOCAyM3MgMCAtCi0rUiBGIDE5NDAgbyAtIEYgMjUgMiAxIFMKLStSIEYgMTk0MSBvIC0gTWF5IDUgMCAyIE0KLStSIEYgMTk0MSBvIC0gTyA2IDAgMSBTCi0rUiBGIDE5NDIgbyAtIE1hciA5IDAgMiBNCi0rUiBGIDE5NDIgbyAtIE4gMiAzIDEgUwotK1IgRiAxOTQzIG8gLSBNYXIgMjkgMiAyIE0KLStSIEYgMTk0MyBvIC0gTyA0IDMgMSBTCi0rUiBGIDE5NDQgbyAtIEFwIDMgMiAyIE0KLStSIEYgMTk0NCBvIC0gTyA4IDEgMSBTCi0rUiBGIDE5NDUgbyAtIEFwIDIgMiAyIE0KLStSIEYgMTk0NSBvIC0gUyAxNiAzIDAgLQotK1IgRiAxOTc2IG8gLSBNYXIgMjggMSAxIFMKLStSIEYgMTk3NiBvIC0gUyAyNiAxIDAgLQotIFogRXVyb3BlL1BhcmlzIDA6OToyMSAtIExNVCAxODkxIE1hciAxNSAwOjEKLSAwOjk6MjEgLSBQTVQgMTkxMSBNYXIgMTEgMDoxCi0tMCA8IFdFJXNUIDE5NDAgSnVuIDE0IDIzCi0tMSAoIENFJXNUIDE5NDQgQXUgMjUKLS0wIDwgV0Ulc1QgMTk0NSBTIDE2IDMKLS0xIDwgQ0Ulc1QgMTk3NwotLTEgTyBDRSVzVAotLVIgPSAxOTQ2IG8gLSBBcCAxNCAycyAxIFMKLS1SID0gMTk0NiBvIC0gTyA3IDJzIDAgLQotLVIgPSAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SID0gMTk0NyBvIC0gQXAgNiAzcyAxIFMKLS1SID0gMTk0NyBvIC0gTWF5IDExIDJzIDIgTQotLVIgPSAxOTQ3IG8gLSBKdW4gMjkgMyAxIFMKLS1SID0gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0tUiA9IDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotLVIgPiAxOTQ1IG8gLSBNYXkgMjQgMiAyIE0KLS1SID4gMTk0NSBvIC0gUyAyNCAzIDEgUwotLVIgPiAxOTQ1IG8gLSBOIDE4IDJzIDAgLQotKzAgRiBXRSVzVCAxOTQwIEp1biAxNCAyMwotKzEgYyBDRSVzVCAxOTQ0IEF1IDI1Ci0rMCBGIFdFJXNUIDE5NDUgUyAxNiAzCi0rMSBGIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIERFIDE5NDYgbyAtIEFwIDE0IDJzIDEgUwotK1IgREUgMTk0NiBvIC0gTyA3IDJzIDAgLQotK1IgREUgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBERSAxOTQ3IG8gLSBBcCA2IDNzIDEgUwotK1IgREUgMTk0NyBvIC0gTWF5IDExIDJzIDIgTQotK1IgREUgMTk0NyBvIC0gSnVuIDI5IDMgMSBTCi0rUiBERSAxOTQ4IG8gLSBBcCAxOCAycyAxIFMKLStSIERFIDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotK1IgU28gMTk0NSBvIC0gTWF5IDI0IDIgMiBNCi0rUiBTbyAxOTQ1IG8gLSBTIDI0IDMgMSBTCi0rUiBTbyAxOTQ1IG8gLSBOIDE4IDJzIDAgLQotIFogRXVyb3BlL0JlcmxpbiAwOjUzOjI4IC0gTE1UIDE4OTMgQXAKLS0xICggQ0Ulc1QgMTk0NSBNYXkgMjQgMgotLTEgPiBDRSVzVCAxOTQ2Ci0tMSA9IENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIGMgQ0Ulc1QgMTk0NSBNYXkgMjQgMgotKzEgU28gQ0Ulc1QgMTk0NgotKzEgREUgQ0Ulc1QgMTk4MAotKzEgRSBDRSVzVAotIExpIEV1cm9wZS9adXJpY2ggRXVyb3BlL0J1c2luZ2VuCi0gWiBFdXJvcGUvR2licmFsdGFyIC0wOjIxOjI0IC0gTE1UIDE4ODAgQXUgMiAwcwotLTAgJSAlcyAxOTU3IEFwIDE0IDIKLSswIEcgJXMgMTk1NyBBcCAxNCAyCi0gMSAtIENFVCAxOTgyCi0tMSBPIENFJXNUCi0tUiA/IDE5MzIgbyAtIEp1bCA3IDAgMSBTCi0tUiA/IDE5MzIgbyAtIFMgMSAwIDAgLQotLVIgPyAxOTQxIG8gLSBBcCA3IDAgMSBTCi0tUiA/IDE5NDIgbyAtIE4gMiAzIDAgLQotLVIgPyAxOTQzIG8gLSBNYXIgMzAgMCAxIFMKLS1SID8gMTk0MyBvIC0gTyA0IDAgMCAtCi0tUiA/IDE5NTIgbyAtIEp1bCAxIDAgMSBTCi0tUiA/IDE5NTIgbyAtIE4gMiAwIDAgLQotLVIgPyAxOTc1IG8gLSBBcCAxMiAwcyAxIFMKLS1SID8gMTk3NSBvIC0gTiAyNiAwcyAwIC0KLS1SID8gMTk3NiBvIC0gQXAgMTEgMnMgMSBTCi0tUiA/IDE5NzYgbyAtIE8gMTAgMnMgMCAtCi0tUiA/IDE5NzcgMTk3OCAtIEFwIFN1bj49MSAycyAxIFMKLS1SID8gMTk3NyBvIC0gUyAyNiAycyAwIC0KLS1SID8gMTk3OCBvIC0gUyAyNCA0IDAgLQotLVIgPyAxOTc5IG8gLSBBcCAxIDkgMSBTCi0tUiA/IDE5NzkgbyAtIFMgMjkgMiAwIC0KLS1SID8gMTk4MCBvIC0gQXAgMSAwIDEgUwotLVIgPyAxOTgwIG8gLSBTIDI4IDAgMCAtCi0rMSBFIENFJXNUCi0rUiBnIDE5MzIgbyAtIEp1bCA3IDAgMSBTCi0rUiBnIDE5MzIgbyAtIFMgMSAwIDAgLQotK1IgZyAxOTQxIG8gLSBBcCA3IDAgMSBTCi0rUiBnIDE5NDIgbyAtIE4gMiAzIDAgLQotK1IgZyAxOTQzIG8gLSBNYXIgMzAgMCAxIFMKLStSIGcgMTk0MyBvIC0gTyA0IDAgMCAtCi0rUiBnIDE5NTIgbyAtIEp1bCAxIDAgMSBTCi0rUiBnIDE5NTIgbyAtIE4gMiAwIDAgLQotK1IgZyAxOTc1IG8gLSBBcCAxMiAwcyAxIFMKLStSIGcgMTk3NSBvIC0gTiAyNiAwcyAwIC0KLStSIGcgMTk3NiBvIC0gQXAgMTEgMnMgMSBTCi0rUiBnIDE5NzYgbyAtIE8gMTAgMnMgMCAtCi0rUiBnIDE5NzcgMTk3OCAtIEFwIFN1bj49MSAycyAxIFMKLStSIGcgMTk3NyBvIC0gUyAyNiAycyAwIC0KLStSIGcgMTk3OCBvIC0gUyAyNCA0IDAgLQotK1IgZyAxOTc5IG8gLSBBcCAxIDkgMSBTCi0rUiBnIDE5NzkgbyAtIFMgMjkgMiAwIC0KLStSIGcgMTk4MCBvIC0gQXAgMSAwIDEgUwotK1IgZyAxOTgwIG8gLSBTIDI4IDAgMCAtCi0gWiBFdXJvcGUvQXRoZW5zIDE6MzQ6NTIgLSBMTVQgMTg5NSBTIDE0Ci0gMTozNDo1MiAtIEFNVCAxOTE2IEp1bCAyOCAwOjEKLS0yID8gRUUlc1QgMTk0MSBBcCAzMAotLTEgPyBDRSVzVCAxOTQ0IEFwIDQKLS0yID8gRUUlc1QgMTk4MQotLTIgTyBFRSVzVAotLVIgQCAxOTE4IG8gLSBBcCAxIDMgMSBTCi0tUiBAIDE5MTggbyAtIFMgMTYgMyAwIC0KLS1SIEAgMTkxOSBvIC0gQXAgMTUgMyAxIFMKLS1SIEAgMTkxOSBvIC0gTiAyNCAzIDAgLQotLVIgQCAxOTQ1IG8gLSBNYXkgMSAyMyAxIFMKLS1SIEAgMTk0NSBvIC0gTiAxIDAgMCAtCi0tUiBAIDE5NDYgbyAtIE1hciAzMSAycyAxIFMKLS1SIEAgMTk0NiAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiBAIDE5NDcgMTk0OSAtIEFwIFN1bj49NCAycyAxIFMKLS1SIEAgMTk1MCBvIC0gQXAgMTcgMnMgMSBTCi0tUiBAIDE5NTAgbyAtIE8gMjMgMnMgMCAtCi0tUiBAIDE5NTQgMTk1NSAtIE1heSAyMyAwIDEgUwotLVIgQCAxOTU0IDE5NTUgLSBPIDMgMCAwIC0KLS1SIEAgMTk1NiBvIC0gSnVuIFN1bj49MSAwIDEgUwotLVIgQCAxOTU2IG8gLSBTIGxhc3RTdW4gMCAwIC0KLS1SIEAgMTk1NyBvIC0gSnVuIFN1bj49MSAxIDEgUwotLVIgQCAxOTU3IG8gLSBTIGxhc3RTdW4gMyAwIC0KLS1SIEAgMTk4MCBvIC0gQXAgNiAxIDEgUwotKzIgZyBFRSVzVCAxOTQxIEFwIDMwCi0rMSBnIENFJXNUIDE5NDQgQXAgNAotKzIgZyBFRSVzVCAxOTgxCi0rMiBFIEVFJXNUCi0rUiBoIDE5MTggbyAtIEFwIDEgMyAxIFMKLStSIGggMTkxOCBvIC0gUyAxNiAzIDAgLQotK1IgaCAxOTE5IG8gLSBBcCAxNSAzIDEgUwotK1IgaCAxOTE5IG8gLSBOIDI0IDMgMCAtCi0rUiBoIDE5NDUgbyAtIE1heSAxIDIzIDEgUwotK1IgaCAxOTQ1IG8gLSBOIDEgMCAwIC0KLStSIGggMTk0NiBvIC0gTWFyIDMxIDJzIDEgUwotK1IgaCAxOTQ2IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLStSIGggMTk0NyAxOTQ5IC0gQXAgU3VuPj00IDJzIDEgUwotK1IgaCAxOTUwIG8gLSBBcCAxNyAycyAxIFMKLStSIGggMTk1MCBvIC0gTyAyMyAycyAwIC0KLStSIGggMTk1NCAxOTU1IC0gTWF5IDIzIDAgMSBTCi0rUiBoIDE5NTQgMTk1NSAtIE8gMyAwIDAgLQotK1IgaCAxOTU2IG8gLSBKdW4gU3VuPj0xIDAgMSBTCi0rUiBoIDE5NTYgbyAtIFMgbGFzdFN1biAwIDAgLQotK1IgaCAxOTU3IG8gLSBKdW4gU3VuPj0xIDEgMSBTCi0rUiBoIDE5NTcgbyAtIFMgbGFzdFN1biAzIDAgLQotK1IgaCAxOTgwIG8gLSBBcCA2IDEgMSBTCi0gWiBFdXJvcGUvQnVkYXBlc3QgMToxNjoyMCAtIExNVCAxODkwIE8KLS0xICggQ0Ulc1QgMTkxOAotLTEgQCBDRSVzVCAxOTQxIEFwIDgKLS0xICggQ0Ulc1QgMTk0NQotLTEgQCBDRSVzVCAxOTgwIFMgMjggMnMKLS0xIE8gQ0Ulc1QKLS1SIFsgMTkxNyAxOTE5IC0gRiAxOSAyMyAxIC0KLS1SIFsgMTkxNyBvIC0gTyAyMSAxIDAgLQotLVIgWyAxOTE4IDE5MTkgLSBOIDE2IDEgMCAtCi0tUiBbIDE5MjEgbyAtIE1hciAxOSAyMyAxIC0KLS1SIFsgMTkyMSBvIC0gSnVuIDIzIDEgMCAtCi0tUiBbIDE5MzkgbyAtIEFwIDI5IDIzIDEgLQotLVIgWyAxOTM5IG8gLSBPIDI5IDIgMCAtCi0tUiBbIDE5NDAgbyAtIEYgMjUgMiAxIC0KLS1SIFsgMTk0MCAxOTQxIC0gTiBTdW4+PTIgMXMgMCAtCi0tUiBbIDE5NDEgMTk0MiAtIE1hciBTdW4+PTIgMXMgMSAtCi0tUiBbIDE5NDMgMTk0NiAtIE1hciBTdW4+PTEgMXMgMSAtCi0tUiBbIDE5NDIgMTk0OCAtIE8gU3VuPj0yMiAxcyAwIC0KLS1SIFsgMTk0NyAxOTY3IC0gQXAgU3VuPj0xIDFzIDEgLQotLVIgWyAxOTQ5IG8gLSBPIDMwIDFzIDAgLQotLVIgWyAxOTUwIDE5NjYgLSBPIFN1bj49MjIgMXMgMCAtCi0tUiBbIDE5NjcgbyAtIE8gMjkgMXMgMCAtCi0rMSBjIENFJXNUIDE5MTgKLSsxIGggQ0Ulc1QgMTk0MSBBcCA4Ci0rMSBjIENFJXNUIDE5NDUKLSsxIGggQ0Ulc1QgMTk4MCBTIDI4IDJzCi0rMSBFIENFJXNUCi0rUiB3IDE5MTcgMTkxOSAtIEYgMTkgMjMgMSAtCi0rUiB3IDE5MTcgbyAtIE8gMjEgMSAwIC0KLStSIHcgMTkxOCAxOTE5IC0gTiAxNiAxIDAgLQotK1IgdyAxOTIxIG8gLSBNYXIgMTkgMjMgMSAtCi0rUiB3IDE5MjEgbyAtIEp1biAyMyAxIDAgLQotK1IgdyAxOTM5IG8gLSBBcCAyOSAyMyAxIC0KLStSIHcgMTkzOSBvIC0gTyAyOSAyIDAgLQotK1IgdyAxOTQwIG8gLSBGIDI1IDIgMSAtCi0rUiB3IDE5NDAgMTk0MSAtIE4gU3VuPj0yIDFzIDAgLQotK1IgdyAxOTQxIDE5NDIgLSBNYXIgU3VuPj0yIDFzIDEgLQotK1IgdyAxOTQzIDE5NDYgLSBNYXIgU3VuPj0xIDFzIDEgLQotK1IgdyAxOTQyIDE5NDggLSBPIFN1bj49MjIgMXMgMCAtCi0rUiB3IDE5NDcgMTk2NyAtIEFwIFN1bj49MSAxcyAxIC0KLStSIHcgMTk0OSBvIC0gTyAzMCAxcyAwIC0KLStSIHcgMTk1MCAxOTY2IC0gTyBTdW4+PTIyIDFzIDAgLQotK1IgdyAxOTY3IG8gLSBPIDI5IDFzIDAgLQotIFogQXRsYW50aWMvUmV5a2phdmlrIC0xOjI4IC0gTE1UIDE5MDgKLS0tMSBbIC0wMS8rMDAgMTk2OCBBcCA3IDFzCi0rLTEgdyAtMDEvKzAwIDE5NjggQXAgNyAxcwotIDAgLSBHTVQKLS1SIFwgMTkxNiBvIC0gSnVuIDMgMjQgMSBTCi0tUiBcIDE5MTYgMTkxNyAtIFMgMzAgMjQgMCAtCi0tUiBcIDE5MTcgbyAtIE1hciAzMSAyNCAxIFMKLS1SIFwgMTkxOCBvIC0gTWFyIDkgMjQgMSBTCi0tUiBcIDE5MTggbyAtIE8gNiAyNCAwIC0KLS1SIFwgMTkxOSBvIC0gTWFyIDEgMjQgMSBTCi0tUiBcIDE5MTkgbyAtIE8gNCAyNCAwIC0KLS1SIFwgMTkyMCBvIC0gTWFyIDIwIDI0IDEgUwotLVIgXCAxOTIwIG8gLSBTIDE4IDI0IDAgLQotLVIgXCAxOTQwIG8gLSBKdW4gMTQgMjQgMSBTCi0tUiBcIDE5NDIgbyAtIE4gMiAycyAwIC0KLS1SIFwgMTk0MyBvIC0gTWFyIDI5IDJzIDEgUwotLVIgXCAxOTQzIG8gLSBPIDQgMnMgMCAtCi0tUiBcIDE5NDQgbyAtIEFwIDIgMnMgMSBTCi0tUiBcIDE5NDQgbyAtIFMgMTcgMnMgMCAtCi0tUiBcIDE5NDUgbyAtIEFwIDIgMiAxIFMKLS1SIFwgMTk0NSBvIC0gUyAxNSAxIDAgLQotLVIgXCAxOTQ2IG8gLSBNYXIgMTcgMnMgMSBTCi0tUiBcIDE5NDYgbyAtIE8gNiAycyAwIC0KLS1SIFwgMTk0NyBvIC0gTWFyIDE2IDBzIDEgUwotLVIgXCAxOTQ3IG8gLSBPIDUgMHMgMCAtCi0tUiBcIDE5NDggbyAtIEYgMjkgMnMgMSBTCi0tUiBcIDE5NDggbyAtIE8gMyAycyAwIC0KLS1SIFwgMTk2NiAxOTY4IC0gTWF5IFN1bj49MjIgMHMgMSBTCi0tUiBcIDE5NjYgbyAtIFMgMjQgMjQgMCAtCi0tUiBcIDE5NjcgMTk2OSAtIFMgU3VuPj0yMiAwcyAwIC0KLS1SIFwgMTk2OSBvIC0gSnVuIDEgMHMgMSBTCi0tUiBcIDE5NzAgbyAtIE1heSAzMSAwcyAxIFMKLS1SIFwgMTk3MCBvIC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgXCAxOTcxIDE5NzIgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLS1SIFwgMTk3MSBvIC0gUyBsYXN0U3VuIDBzIDAgLQotLVIgXCAxOTcyIG8gLSBPIDEgMHMgMCAtCi0tUiBcIDE5NzMgbyAtIEp1biAzIDBzIDEgUwotLVIgXCAxOTczIDE5NzQgLSBTIGxhc3RTdW4gMHMgMCAtCi0tUiBcIDE5NzQgbyAtIE1heSAyNiAwcyAxIFMKLS1SIFwgMTk3NSBvIC0gSnVuIDEgMHMgMSBTCi0tUiBcIDE5NzUgMTk3NyAtIFMgbGFzdFN1biAwcyAwIC0KLS1SIFwgMTk3NiBvIC0gTWF5IDMwIDBzIDEgUwotLVIgXCAxOTc3IDE5NzkgLSBNYXkgU3VuPj0yMiAwcyAxIFMKLS1SIFwgMTk3OCBvIC0gTyAxIDBzIDAgLQotLVIgXCAxOTc5IG8gLSBTIDMwIDBzIDAgLQotK1IgSSAxOTE2IG8gLSBKdW4gMyAyNCAxIFMKLStSIEkgMTkxNiAxOTE3IC0gUyAzMCAyNCAwIC0KLStSIEkgMTkxNyBvIC0gTWFyIDMxIDI0IDEgUwotK1IgSSAxOTE4IG8gLSBNYXIgOSAyNCAxIFMKLStSIEkgMTkxOCBvIC0gTyA2IDI0IDAgLQotK1IgSSAxOTE5IG8gLSBNYXIgMSAyNCAxIFMKLStSIEkgMTkxOSBvIC0gTyA0IDI0IDAgLQotK1IgSSAxOTIwIG8gLSBNYXIgMjAgMjQgMSBTCi0rUiBJIDE5MjAgbyAtIFMgMTggMjQgMCAtCi0rUiBJIDE5NDAgbyAtIEp1biAxNCAyNCAxIFMKLStSIEkgMTk0MiBvIC0gTiAyIDJzIDAgLQotK1IgSSAxOTQzIG8gLSBNYXIgMjkgMnMgMSBTCi0rUiBJIDE5NDMgbyAtIE8gNCAycyAwIC0KLStSIEkgMTk0NCBvIC0gQXAgMiAycyAxIFMKLStSIEkgMTk0NCBvIC0gUyAxNyAycyAwIC0KLStSIEkgMTk0NSBvIC0gQXAgMiAyIDEgUwotK1IgSSAxOTQ1IG8gLSBTIDE1IDEgMCAtCi0rUiBJIDE5NDYgbyAtIE1hciAxNyAycyAxIFMKLStSIEkgMTk0NiBvIC0gTyA2IDJzIDAgLQotK1IgSSAxOTQ3IG8gLSBNYXIgMTYgMHMgMSBTCi0rUiBJIDE5NDcgbyAtIE8gNSAwcyAwIC0KLStSIEkgMTk0OCBvIC0gRiAyOSAycyAxIFMKLStSIEkgMTk0OCBvIC0gTyAzIDJzIDAgLQotK1IgSSAxOTY2IDE5NjggLSBNYXkgU3VuPj0yMiAwcyAxIFMKLStSIEkgMTk2NiBvIC0gUyAyNCAyNCAwIC0KLStSIEkgMTk2NyAxOTY5IC0gUyBTdW4+PTIyIDBzIDAgLQotK1IgSSAxOTY5IG8gLSBKdW4gMSAwcyAxIFMKLStSIEkgMTk3MCBvIC0gTWF5IDMxIDBzIDEgUwotK1IgSSAxOTcwIG8gLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBJIDE5NzEgMTk3MiAtIE1heSBTdW4+PTIyIDBzIDEgUwotK1IgSSAxOTcxIG8gLSBTIGxhc3RTdW4gMHMgMCAtCi0rUiBJIDE5NzIgbyAtIE8gMSAwcyAwIC0KLStSIEkgMTk3MyBvIC0gSnVuIDMgMHMgMSBTCi0rUiBJIDE5NzMgMTk3NCAtIFMgbGFzdFN1biAwcyAwIC0KLStSIEkgMTk3NCBvIC0gTWF5IDI2IDBzIDEgUwotK1IgSSAxOTc1IG8gLSBKdW4gMSAwcyAxIFMKLStSIEkgMTk3NSAxOTc3IC0gUyBsYXN0U3VuIDBzIDAgLQotK1IgSSAxOTc2IG8gLSBNYXkgMzAgMHMgMSBTCi0rUiBJIDE5NzcgMTk3OSAtIE1heSBTdW4+PTIyIDBzIDEgUwotK1IgSSAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBJIDE5NzkgbyAtIFMgMzAgMHMgMCAtCi0gWiBFdXJvcGUvUm9tZSAwOjQ5OjU2IC0gTE1UIDE4NjYgUyAyMgotIDA6NDk6NTYgLSBSTVQgMTg5MyBPIDMxIDIzOjQ5OjU2Ci0tMSBcIENFJXNUIDE5NDMgUyAxMAotLTEgKCBDRSVzVCAxOTQ0IEp1biA0Ci0tMSBcIENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIEkgQ0Ulc1QgMTk0MyBTIDEwCi0rMSBjIENFJXNUIDE5NDQgSnVuIDQKLSsxIEkgQ0Ulc1QgMTk4MAotKzEgRSBDRSVzVAotIExpIEV1cm9wZS9Sb21lIEV1cm9wZS9WYXRpY2FuCi0gTGkgRXVyb3BlL1JvbWUgRXVyb3BlL1Nhbl9NYXJpbm8KLS1SIF0gMTk4OSAxOTk2IC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0tUiBdIDE5ODkgMTk5NiAtIFMgbGFzdFN1biAycyAwIC0KLStSIExWIDE5ODkgMTk5NiAtIE1hciBsYXN0U3VuIDJzIDEgUwotK1IgTFYgMTk4OSAxOTk2IC0gUyBsYXN0U3VuIDJzIDAgLQotIFogRXVyb3BlL1JpZ2EgMTozNjozNCAtIExNVCAxODgwCi0gMTozNjozNCAtIFJNVCAxOTE4IEFwIDE1IDIKLSAxOjM2OjM0IDEgTFNUIDE5MTggUyAxNiAzCi1AQCAtMTg4MywxMyArMTkwNywxMyBAQCBaIEV1cm9wZS9SaWdhIDE6MzY6MzQgLSBMTVQgMTg4MAotIDE6MzY6MzQgLSBSTVQgMTkyNiBNYXkgMTEKLSAyIC0gRUVUIDE5NDAgQXUgNQotIDMgLSBNU0sgMTk0MSBKdWwKLS0xICggQ0Ulc1QgMTk0NCBPIDEzCi0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgbGFzdFN1biAycwotKzEgYyBDRSVzVCAxOTQ0IE8gMTMKLSszIFIgTVNLL01TRCAxOTg5IE1hciBsYXN0U3VuIDJzCi0gMiAxIEVFU1QgMTk4OSBTIGxhc3RTdW4gMnMKLS0yIF0gRUUlc1QgMTk5NyBKYSAyMQotLTIgTyBFRSVzVCAyMDAwIEYgMjkKLSsyIExWIEVFJXNUIDE5OTcgSmEgMjEKLSsyIEUgRUUlc1QgMjAwMCBGIDI5Ci0gMiAtIEVFVCAyMDAxIEphIDIKLS0yIE8gRUUlc1QKLSsyIEUgRUUlc1QKLSBMaSBFdXJvcGUvWnVyaWNoIEV1cm9wZS9WYWR1egotIFogRXVyb3BlL1ZpbG5pdXMgMTo0MToxNiAtIExNVCAxODgwCi0gMToyNCAtIFdNVCAxOTE3Ci1AQCAtMTg5OCw3ODMgKzE5MjIsNzc2IEBAIFogRXVyb3BlL1ZpbG5pdXMgMTo0MToxNiAtIExNVCAxODgwCi0gMiAtIEVFVCAxOTIwIE8gOQotIDEgLSBDRVQgMTk0MCBBdSAzCi0gMyAtIE1TSyAxOTQxIEp1biAyNAotLTEgKCBDRSVzVCAxOTQ0IEF1Ci0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLS0yIE0gRUUlc1QgMTk5MSBTIDI5IDJzCi0tMiAoIEVFJXNUIDE5OTgKLSsxIGMgQ0Ulc1QgMTk0NCBBdQotKzMgUiBNU0svTVNEIDE5ODkgTWFyIDI2IDJzCi0rMiBSIEVFJXNUIDE5OTEgUyAyOSAycwotKzIgYyBFRSVzVCAxOTk4Ci0gMiAtIEVFVCAxOTk4IE1hciAyOSAxdQotLTEgTyBDRSVzVCAxOTk5IE8gMzEgMXUKLSsxIEUgQ0Ulc1QgMTk5OSBPIDMxIDF1Ci0gMiAtIEVFVCAyMDAzCi0tMiBPIEVFJXNUCi0tUiBeIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLS1SIF4gMTkxNiBvIC0gTyAxIDEgMCAtCi0tUiBeIDE5MTcgbyAtIEFwIDI4IDIzIDEgUwotLVIgXiAxOTE3IG8gLSBTIDE3IDEgMCAtCi0tUiBeIDE5MTggbyAtIEFwIE0+PTE1IDJzIDEgUwotLVIgXiAxOTE4IG8gLSBTIE0+PTE1IDJzIDAgLQotLVIgXiAxOTE5IG8gLSBNYXIgMSAyMyAxIFMKLS1SIF4gMTkxOSBvIC0gTyA1IDMgMCAtCi0tUiBeIDE5MjAgbyAtIEYgMTQgMjMgMSBTCi0tUiBeIDE5MjAgbyAtIE8gMjQgMiAwIC0KLS1SIF4gMTkyMSBvIC0gTWFyIDE0IDIzIDEgUwotLVIgXiAxOTIxIG8gLSBPIDI2IDIgMCAtCi0tUiBeIDE5MjIgbyAtIE1hciAyNSAyMyAxIFMKLS1SIF4gMTkyMiBvIC0gTyBTdW4+PTIgMSAwIC0KLS1SIF4gMTkyMyBvIC0gQXAgMjEgMjMgMSBTCi0tUiBeIDE5MjMgbyAtIE8gU3VuPj0yIDIgMCAtCi0tUiBeIDE5MjQgbyAtIE1hciAyOSAyMyAxIFMKLS1SIF4gMTkyNCAxOTI4IC0gTyBTdW4+PTIgMSAwIC0KLS1SIF4gMTkyNSBvIC0gQXAgNSAyMyAxIFMKLS1SIF4gMTkyNiBvIC0gQXAgMTcgMjMgMSBTCi0tUiBeIDE5MjcgbyAtIEFwIDkgMjMgMSBTCi0tUiBeIDE5MjggbyAtIEFwIDE0IDIzIDEgUwotLVIgXiAxOTI5IG8gLSBBcCAyMCAyMyAxIFMKLSsyIEUgRUUlc1QKLStSIExYIDE5MTYgbyAtIE1heSAxNCAyMyAxIFMKLStSIExYIDE5MTYgbyAtIE8gMSAxIDAgLQotK1IgTFggMTkxNyBvIC0gQXAgMjggMjMgMSBTCi0rUiBMWCAxOTE3IG8gLSBTIDE3IDEgMCAtCi0rUiBMWCAxOTE4IG8gLSBBcCBNPj0xNSAycyAxIFMKLStSIExYIDE5MTggbyAtIFMgTT49MTUgMnMgMCAtCi0rUiBMWCAxOTE5IG8gLSBNYXIgMSAyMyAxIFMKLStSIExYIDE5MTkgbyAtIE8gNSAzIDAgLQotK1IgTFggMTkyMCBvIC0gRiAxNCAyMyAxIFMKLStSIExYIDE5MjAgbyAtIE8gMjQgMiAwIC0KLStSIExYIDE5MjEgbyAtIE1hciAxNCAyMyAxIFMKLStSIExYIDE5MjEgbyAtIE8gMjYgMiAwIC0KLStSIExYIDE5MjIgbyAtIE1hciAyNSAyMyAxIFMKLStSIExYIDE5MjIgbyAtIE8gU3VuPj0yIDEgMCAtCi0rUiBMWCAxOTIzIG8gLSBBcCAyMSAyMyAxIFMKLStSIExYIDE5MjMgbyAtIE8gU3VuPj0yIDIgMCAtCi0rUiBMWCAxOTI0IG8gLSBNYXIgMjkgMjMgMSBTCi0rUiBMWCAxOTI0IDE5MjggLSBPIFN1bj49MiAxIDAgLQotK1IgTFggMTkyNSBvIC0gQXAgNSAyMyAxIFMKLStSIExYIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotK1IgTFggMTkyNyBvIC0gQXAgOSAyMyAxIFMKLStSIExYIDE5MjggbyAtIEFwIDE0IDIzIDEgUwotK1IgTFggMTkyOSBvIC0gQXAgMjAgMjMgMSBTCi0gWiBFdXJvcGUvTHV4ZW1ib3VyZyAwOjI0OjM2IC0gTE1UIDE5MDQgSnVuCi0tMSBeIENFJXNUIDE5MTggTiAyNQotLTAgXiBXRSVzVCAxOTI5IE8gNiAycwotLTAgKyBXRSVzVCAxOTQwIE1heSAxNCAzCi0tMSAoIFdFJXNUIDE5NDQgUyAxOCAzCi0tMSArIENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SIF8gMTk3MyBvIC0gTWFyIDMxIDBzIDEgUwotLVIgXyAxOTczIG8gLSBTIDI5IDBzIDAgLQotLVIgXyAxOTc0IG8gLSBBcCAyMSAwcyAxIFMKLS1SIF8gMTk3NCBvIC0gUyAxNiAwcyAwIC0KLS1SIF8gMTk3NSAxOTc5IC0gQXAgU3VuPj0xNSAyIDEgUwotLVIgXyAxOTc1IDE5ODAgLSBTIFN1bj49MTUgMiAwIC0KLS1SIF8gMTk4MCBvIC0gTWFyIDMxIDIgMSBTCi0rMSBMWCBDRSVzVCAxOTE4IE4gMjUKLSswIExYIFdFJXNUIDE5MjkgTyA2IDJzCi0rMCBiIFdFJXNUIDE5NDAgTWF5IDE0IDMKLSsxIGMgV0Ulc1QgMTk0NCBTIDE4IDMKLSsxIGIgQ0Ulc1QgMTk3NwotKzEgRSBDRSVzVAotK1IgTVQgMTk3MyBvIC0gTWFyIDMxIDBzIDEgUwotK1IgTVQgMTk3MyBvIC0gUyAyOSAwcyAwIC0KLStSIE1UIDE5NzQgbyAtIEFwIDIxIDBzIDEgUwotK1IgTVQgMTk3NCBvIC0gUyAxNiAwcyAwIC0KLStSIE1UIDE5NzUgMTk3OSAtIEFwIFN1bj49MTUgMiAxIFMKLStSIE1UIDE5NzUgMTk4MCAtIFMgU3VuPj0xNSAyIDAgLQotK1IgTVQgMTk4MCBvIC0gTWFyIDMxIDIgMSBTCi0gWiBFdXJvcGUvTWFsdGEgMDo1ODo0IC0gTE1UIDE4OTMgTiAyIDBzCi0tMSBcIENFJXNUIDE5NzMgTWFyIDMxCi0tMSBfIENFJXNUIDE5ODEKLS0xIE8gQ0Ulc1QKLS1SIGAgMTk5NyBtYSAtIE1hciBsYXN0U3VuIDIgMSBTCi0tUiBgIDE5OTcgbWEgLSBPIGxhc3RTdW4gMyAwIC0KLSsxIEkgQ0Ulc1QgMTk3MyBNYXIgMzEKLSsxIE1UIENFJXNUIDE5ODEKLSsxIEUgQ0Ulc1QKLStSIE1EIDE5OTcgbWEgLSBNYXIgbGFzdFN1biAyIDEgUwotK1IgTUQgMTk5NyBtYSAtIE8gbGFzdFN1biAzIDAgLQotIFogRXVyb3BlL0NoaXNpbmF1IDE6NTU6MjAgLSBMTVQgMTg4MAotIDE6NTUgLSBDTVQgMTkxOCBGIDE1Ci0gMTo0NDoyNCAtIEJNVCAxOTMxIEp1bCAyNAotLTIgeyBFRSVzVCAxOTQwIEF1IDE1Ci0rMiB6IEVFJXNUIDE5NDAgQXUgMTUKLSAyIDEgRUVTVCAxOTQxIEp1bCAxNwotLTEgKCBDRSVzVCAxOTQ0IEF1IDI0Ci0tMyBNIE1TSy9NU0QgMTk5MCBNYXkgNiAyCi0tMiBNIEVFJXNUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NwotLTIgYCBFRSVzVAotKzEgYyBDRSVzVCAxOTQ0IEF1IDI0Ci0rMyBSIE1TSy9NU0QgMTk5MCBNYXkgNiAyCi0rMiBSIEVFJXNUIDE5OTIKLSsyIGUgRUUlc1QgMTk5NwotKzIgTUQgRUUlc1QKLSBaIEV1cm9wZS9Nb25hY28gMDoyOTozMiAtIExNVCAxODkxIE1hciAxNQotIDA6OToyMSAtIFBNVCAxOTExIE1hciAxMQotLTAgPCBXRSVzVCAxOTQ1IFMgMTYgMwotLTEgPCBDRSVzVCAxOTc3Ci0tMSBPIENFJXNUCi0tUiB8IDE5MTYgbyAtIE1heSAxIDAgMSBOU1QKLS1SIHwgMTkxNiBvIC0gTyAxIDAgMCBBTVQKLS1SIHwgMTkxNyBvIC0gQXAgMTYgMnMgMSBOU1QKLS1SIHwgMTkxNyBvIC0gUyAxNyAycyAwIEFNVAotLVIgfCAxOTE4IDE5MjEgLSBBcCBNPj0xIDJzIDEgTlNUCi0tUiB8IDE5MTggMTkyMSAtIFMgbGFzdE0gMnMgMCBBTVQKLS1SIHwgMTkyMiBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLS1SIHwgMTkyMiAxOTM2IC0gTyBTdW4+PTIgMnMgMCBBTVQKLS1SIHwgMTkyMyBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLS1SIHwgMTkyNCBvIC0gTWFyIGxhc3RTdW4gMnMgMSBOU1QKLS1SIHwgMTkyNSBvIC0gSnVuIEY+PTEgMnMgMSBOU1QKLS1SIHwgMTkyNiAxOTMxIC0gTWF5IDE1IDJzIDEgTlNUCi0tUiB8IDE5MzIgbyAtIE1heSAyMiAycyAxIE5TVAotLVIgfCAxOTMzIDE5MzYgLSBNYXkgMTUgMnMgMSBOU1QKLS1SIHwgMTkzNyBvIC0gTWF5IDIyIDJzIDEgTlNUCi0tUiB8IDE5MzcgbyAtIEp1bCAxIDAgMSBTCi0tUiB8IDE5MzcgMTkzOSAtIE8gU3VuPj0yIDJzIDAgLQotLVIgfCAxOTM4IDE5MzkgLSBNYXkgMTUgMnMgMSBTCi0tUiB8IDE5NDUgbyAtIEFwIDIgMnMgMSBTCi0tUiB8IDE5NDUgbyAtIFMgMTYgMnMgMCAtCi0rMCBGIFdFJXNUIDE5NDUgUyAxNiAzCi0rMSBGIENFJXNUIDE5NzcKLSsxIEUgQ0Ulc1QKLStSIE4gMTkxNiBvIC0gTWF5IDEgMCAxIE5TVAotK1IgTiAxOTE2IG8gLSBPIDEgMCAwIEFNVAotK1IgTiAxOTE3IG8gLSBBcCAxNiAycyAxIE5TVAotK1IgTiAxOTE3IG8gLSBTIDE3IDJzIDAgQU1UCi0rUiBOIDE5MTggMTkyMSAtIEFwIE0+PTEgMnMgMSBOU1QKLStSIE4gMTkxOCAxOTIxIC0gUyBsYXN0TSAycyAwIEFNVAotK1IgTiAxOTIyIG8gLSBNYXIgbGFzdFN1biAycyAxIE5TVAotK1IgTiAxOTIyIDE5MzYgLSBPIFN1bj49MiAycyAwIEFNVAotK1IgTiAxOTIzIG8gLSBKdW4gRj49MSAycyAxIE5TVAotK1IgTiAxOTI0IG8gLSBNYXIgbGFzdFN1biAycyAxIE5TVAotK1IgTiAxOTI1IG8gLSBKdW4gRj49MSAycyAxIE5TVAotK1IgTiAxOTI2IDE5MzEgLSBNYXkgMTUgMnMgMSBOU1QKLStSIE4gMTkzMiBvIC0gTWF5IDIyIDJzIDEgTlNUCi0rUiBOIDE5MzMgMTkzNiAtIE1heSAxNSAycyAxIE5TVAotK1IgTiAxOTM3IG8gLSBNYXkgMjIgMnMgMSBOU1QKLStSIE4gMTkzNyBvIC0gSnVsIDEgMCAxIFMKLStSIE4gMTkzNyAxOTM5IC0gTyBTdW4+PTIgMnMgMCAtCi0rUiBOIDE5MzggMTkzOSAtIE1heSAxNSAycyAxIFMKLStSIE4gMTk0NSBvIC0gQXAgMiAycyAxIFMKLStSIE4gMTk0NSBvIC0gUyAxNiAycyAwIC0KLSBaIEV1cm9wZS9BbXN0ZXJkYW0gMDoxOTozMiAtIExNVCAxODM1Ci0tMDoxOTozMiB8ICVzIDE5MzcgSnVsCi0tMDoyMCB8ICswMDIwLyswMTIwIDE5NDAgTWF5IDE2Ci0tMSAoIENFJXNUIDE5NDUgQXAgMiAyCi0tMSB8IENFJXNUIDE5NzcKLS0xIE8gQ0Ulc1QKLS1SIH0gMTkxNiBvIC0gTWF5IDIyIDEgMSBTCi0tUiB9IDE5MTYgbyAtIFMgMzAgMCAwIC0KLS1SIH0gMTk0NSBvIC0gQXAgMiAycyAxIFMKLS1SIH0gMTk0NSBvIC0gTyAxIDJzIDAgLQotLVIgfSAxOTU5IDE5NjQgLSBNYXIgU3VuPj0xNSAycyAxIFMKLS1SIH0gMTk1OSAxOTY1IC0gUyBTdW4+PTE1IDJzIDAgLQotLVIgfSAxOTY1IG8gLSBBcCAyNSAycyAxIFMKLSswOjE5OjMyIE4gJXMgMTkzNyBKdWwKLSswOjIwIE4gKzAwMjAvKzAxMjAgMTk0MCBNYXkgMTYKLSsxIGMgQ0Ulc1QgMTk0NSBBcCAyIDIKLSsxIE4gQ0Ulc1QgMTk3NwotKzEgRSBDRSVzVAotK1IgTk8gMTkxNiBvIC0gTWF5IDIyIDEgMSBTCi0rUiBOTyAxOTE2IG8gLSBTIDMwIDAgMCAtCi0rUiBOTyAxOTQ1IG8gLSBBcCAyIDJzIDEgUwotK1IgTk8gMTk0NSBvIC0gTyAxIDJzIDAgLQotK1IgTk8gMTk1OSAxOTY0IC0gTWFyIFN1bj49MTUgMnMgMSBTCi0rUiBOTyAxOTU5IDE5NjUgLSBTIFN1bj49MTUgMnMgMCAtCi0rUiBOTyAxOTY1IG8gLSBBcCAyNSAycyAxIFMKLSBaIEV1cm9wZS9Pc2xvIDA6NDMgLSBMTVQgMTg5NQotLTEgfSBDRSVzVCAxOTQwIEF1IDEwIDIzCi0tMSAoIENFJXNUIDE5NDUgQXAgMiAyCi0tMSB9IENFJXNUIDE5ODAKLS0xIE8gQ0Ulc1QKLSsxIE5PIENFJXNUIDE5NDAgQXUgMTAgMjMKLSsxIGMgQ0Ulc1QgMTk0NSBBcCAyIDIKLSsxIE5PIENFJXNUIDE5ODAKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvT3NsbyBBcmN0aWMvTG9uZ3llYXJieWVuCi0tUiB+IDE5MTggMTkxOSAtIFMgMTYgMnMgMCAtCi0tUiB+IDE5MTkgbyAtIEFwIDE1IDJzIDEgUwotLVIgfiAxOTQ0IG8gLSBBcCAzIDJzIDEgUwotLVIgfiAxOTQ0IG8gLSBPIDQgMiAwIC0KLS1SIH4gMTk0NSBvIC0gQXAgMjkgMCAxIFMKLS1SIH4gMTk0NSBvIC0gTiAxIDAgMCAtCi0tUiB+IDE5NDYgbyAtIEFwIDE0IDBzIDEgUwotLVIgfiAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0tUiB+IDE5NDcgbyAtIE1heSA0IDJzIDEgUwotLVIgfiAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLS1SIH4gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0tUiB+IDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotLVIgfiAxOTU3IG8gLSBKdW4gMiAxcyAxIFMKLS1SIH4gMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDFzIDAgLQotLVIgfiAxOTU4IG8gLSBNYXIgMzAgMXMgMSBTCi0tUiB+IDE5NTkgbyAtIE1heSAzMSAxcyAxIFMKLS1SIH4gMTk1OSAxOTYxIC0gTyBTdW4+PTEgMXMgMCAtCi0tUiB+IDE5NjAgbyAtIEFwIDMgMXMgMSBTCi0tUiB+IDE5NjEgMTk2NCAtIE1heSBsYXN0U3VuIDFzIDEgUwotLVIgfiAxOTYyIDE5NjQgLSBTIGxhc3RTdW4gMXMgMCAtCi0rUiBPIDE5MTggMTkxOSAtIFMgMTYgMnMgMCAtCi0rUiBPIDE5MTkgbyAtIEFwIDE1IDJzIDEgUwotK1IgTyAxOTQ0IG8gLSBBcCAzIDJzIDEgUwotK1IgTyAxOTQ0IG8gLSBPIDQgMiAwIC0KLStSIE8gMTk0NSBvIC0gQXAgMjkgMCAxIFMKLStSIE8gMTk0NSBvIC0gTiAxIDAgMCAtCi0rUiBPIDE5NDYgbyAtIEFwIDE0IDBzIDEgUwotK1IgTyAxOTQ2IG8gLSBPIDcgMnMgMCAtCi0rUiBPIDE5NDcgbyAtIE1heSA0IDJzIDEgUwotK1IgTyAxOTQ3IDE5NDkgLSBPIFN1bj49MSAycyAwIC0KLStSIE8gMTk0OCBvIC0gQXAgMTggMnMgMSBTCi0rUiBPIDE5NDkgbyAtIEFwIDEwIDJzIDEgUwotK1IgTyAxOTU3IG8gLSBKdW4gMiAxcyAxIFMKLStSIE8gMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgTyAxOTU4IG8gLSBNYXIgMzAgMXMgMSBTCi0rUiBPIDE5NTkgbyAtIE1heSAzMSAxcyAxIFMKLStSIE8gMTk1OSAxOTYxIC0gTyBTdW4+PTEgMXMgMCAtCi0rUiBPIDE5NjAgbyAtIEFwIDMgMXMgMSBTCi0rUiBPIDE5NjEgMTk2NCAtIE1heSBsYXN0U3VuIDFzIDEgUwotK1IgTyAxOTYyIDE5NjQgLSBTIGxhc3RTdW4gMXMgMCAtCi0gWiBFdXJvcGUvV2Fyc2F3IDE6MjQgLSBMTVQgMTg4MAotIDE6MjQgLSBXTVQgMTkxNSBBdSA1Ci0tMSAoIENFJXNUIDE5MTggUyAxNiAzCi0tMiB+IEVFJXNUIDE5MjIgSnVuCi0tMSB+IENFJXNUIDE5NDAgSnVuIDIzIDIKLS0xICggQ0Ulc1QgMTk0NCBPCi0tMSB+IENFJXNUIDE5NzcKLS0xICcgQ0Ulc1QgMTk4OAotLTEgTyBDRSVzVAotLVIgQUEgMTkxNiBvIC0gSnVuIDE3IDIzIDEgUwotLVIgQUEgMTkxNiBvIC0gTiAxIDEgMCAtCi0tUiBBQSAxOTE3IG8gLSBGIDI4IDIzcyAxIFMKLS1SIEFBIDE5MTcgMTkyMSAtIE8gMTQgMjNzIDAgLQotLVIgQUEgMTkxOCBvIC0gTWFyIDEgMjNzIDEgUwotLVIgQUEgMTkxOSBvIC0gRiAyOCAyM3MgMSBTCi0tUiBBQSAxOTIwIG8gLSBGIDI5IDIzcyAxIFMKLS1SIEFBIDE5MjEgbyAtIEYgMjggMjNzIDEgUwotLVIgQUEgMTkyNCBvIC0gQXAgMTYgMjNzIDEgUwotLVIgQUEgMTkyNCBvIC0gTyAxNCAyM3MgMCAtCi0tUiBBQSAxOTI2IG8gLSBBcCAxNyAyM3MgMSBTCi0tUiBBQSAxOTI2IDE5MjkgLSBPIFNhdD49MSAyM3MgMCAtCi0tUiBBQSAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLS1SIEFBIDE5MjggbyAtIEFwIDE0IDIzcyAxIFMKLS1SIEFBIDE5MjkgbyAtIEFwIDIwIDIzcyAxIFMKLS1SIEFBIDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLS1SIEFBIDE5MzEgMTkzMiAtIE8gU2F0Pj0xIDIzcyAwIC0KLS1SIEFBIDE5MzIgbyAtIEFwIDIgMjNzIDEgUwotLVIgQUEgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0tUiBBQSAxOTM0IDE5MzggLSBPIFNhdD49MSAyM3MgMCAtCi0tUiBBQSAxOTM1IG8gLSBNYXIgMzAgMjNzIDEgUwotLVIgQUEgMTkzNiBvIC0gQXAgMTggMjNzIDEgUwotLVIgQUEgMTkzNyBvIC0gQXAgMyAyM3MgMSBTCi0tUiBBQSAxOTM4IG8gLSBNYXIgMjYgMjNzIDEgUwotLVIgQUEgMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotLVIgQUEgMTkzOSBvIC0gTiAxOCAyM3MgMCAtCi0tUiBBQSAxOTQwIG8gLSBGIDI0IDIzcyAxIFMKLS1SIEFBIDE5NDAgMTk0MSAtIE8gNSAyM3MgMCAtCi0tUiBBQSAxOTQxIG8gLSBBcCA1IDIzcyAxIFMKLS1SIEFBIDE5NDIgMTk0NSAtIE1hciBTYXQ+PTggMjNzIDEgUwotLVIgQUEgMTk0MiBvIC0gQXAgMjUgMjJzIDIgTQotLVIgQUEgMTk0MiBvIC0gQXUgMTUgMjJzIDEgUwotLVIgQUEgMTk0MiAxOTQ1IC0gTyBTYXQ+PTI0IDIzcyAwIC0KLS1SIEFBIDE5NDMgbyAtIEFwIDE3IDIycyAyIE0KLS1SIEFBIDE5NDMgMTk0NSAtIEF1IFNhdD49MjUgMjJzIDEgUwotLVIgQUEgMTk0NCAxOTQ1IC0gQXAgU2F0Pj0yMSAyMnMgMiBNCi0tUiBBQSAxOTQ2IG8gLSBBcCBTYXQ+PTEgMjNzIDEgUwotLVIgQUEgMTk0NiBvIC0gTyBTYXQ+PTEgMjNzIDAgLQotLVIgQUEgMTk0NyAxOTQ5IC0gQXAgU3VuPj0xIDJzIDEgUwotLVIgQUEgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0tUiBBQSAxOTUxIDE5NjUgLSBBcCBTdW4+PTEgMnMgMSBTCi0tUiBBQSAxOTUxIDE5NjUgLSBPIFN1bj49MSAycyAwIC0KLS1SIEFBIDE5NzcgbyAtIE1hciAyNyAwcyAxIFMKLS1SIEFBIDE5NzcgbyAtIFMgMjUgMHMgMCAtCi0tUiBBQSAxOTc4IDE5NzkgLSBBcCBTdW4+PTEgMHMgMSBTCi0tUiBBQSAxOTc4IG8gLSBPIDEgMHMgMCAtCi0tUiBBQSAxOTc5IDE5ODIgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBBQSAxOTgwIG8gLSBNYXIgbGFzdFN1biAwcyAxIFMKLS1SIEFBIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDFzIDEgUwotLVIgQUEgMTk4MyBvIC0gTWFyIGxhc3RTdW4gMnMgMSBTCi0rMSBjIENFJXNUIDE5MTggUyAxNiAzCi0rMiBPIEVFJXNUIDE5MjIgSnVuCi0rMSBPIENFJXNUIDE5NDAgSnVuIDIzIDIKLSsxIGMgQ0Ulc1QgMTk0NCBPCi0rMSBPIENFJXNUIDE5NzcKLSsxIFctIENFJXNUIDE5ODgKLSsxIEUgQ0Ulc1QKLStSIHAgMTkxNiBvIC0gSnVuIDE3IDIzIDEgUwotK1IgcCAxOTE2IG8gLSBOIDEgMSAwIC0KLStSIHAgMTkxNyBvIC0gRiAyOCAyM3MgMSBTCi0rUiBwIDE5MTcgMTkyMSAtIE8gMTQgMjNzIDAgLQotK1IgcCAxOTE4IG8gLSBNYXIgMSAyM3MgMSBTCi0rUiBwIDE5MTkgbyAtIEYgMjggMjNzIDEgUwotK1IgcCAxOTIwIG8gLSBGIDI5IDIzcyAxIFMKLStSIHAgMTkyMSBvIC0gRiAyOCAyM3MgMSBTCi0rUiBwIDE5MjQgbyAtIEFwIDE2IDIzcyAxIFMKLStSIHAgMTkyNCBvIC0gTyAxNCAyM3MgMCAtCi0rUiBwIDE5MjYgbyAtIEFwIDE3IDIzcyAxIFMKLStSIHAgMTkyNiAxOTI5IC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgcCAxOTI3IG8gLSBBcCA5IDIzcyAxIFMKLStSIHAgMTkyOCBvIC0gQXAgMTQgMjNzIDEgUwotK1IgcCAxOTI5IG8gLSBBcCAyMCAyM3MgMSBTCi0rUiBwIDE5MzEgbyAtIEFwIDE4IDIzcyAxIFMKLStSIHAgMTkzMSAxOTMyIC0gTyBTYXQ+PTEgMjNzIDAgLQotK1IgcCAxOTMyIG8gLSBBcCAyIDIzcyAxIFMKLStSIHAgMTkzNCBvIC0gQXAgNyAyM3MgMSBTCi0rUiBwIDE5MzQgMTkzOCAtIE8gU2F0Pj0xIDIzcyAwIC0KLStSIHAgMTkzNSBvIC0gTWFyIDMwIDIzcyAxIFMKLStSIHAgMTkzNiBvIC0gQXAgMTggMjNzIDEgUwotK1IgcCAxOTM3IG8gLSBBcCAzIDIzcyAxIFMKLStSIHAgMTkzOCBvIC0gTWFyIDI2IDIzcyAxIFMKLStSIHAgMTkzOSBvIC0gQXAgMTUgMjNzIDEgUwotK1IgcCAxOTM5IG8gLSBOIDE4IDIzcyAwIC0KLStSIHAgMTk0MCBvIC0gRiAyNCAyM3MgMSBTCi0rUiBwIDE5NDAgMTk0MSAtIE8gNSAyM3MgMCAtCi0rUiBwIDE5NDEgbyAtIEFwIDUgMjNzIDEgUwotK1IgcCAxOTQyIDE5NDUgLSBNYXIgU2F0Pj04IDIzcyAxIFMKLStSIHAgMTk0MiBvIC0gQXAgMjUgMjJzIDIgTQotK1IgcCAxOTQyIG8gLSBBdSAxNSAyMnMgMSBTCi0rUiBwIDE5NDIgMTk0NSAtIE8gU2F0Pj0yNCAyM3MgMCAtCi0rUiBwIDE5NDMgbyAtIEFwIDE3IDIycyAyIE0KLStSIHAgMTk0MyAxOTQ1IC0gQXUgU2F0Pj0yNSAyMnMgMSBTCi0rUiBwIDE5NDQgMTk0NSAtIEFwIFNhdD49MjEgMjJzIDIgTQotK1IgcCAxOTQ2IG8gLSBBcCBTYXQ+PTEgMjNzIDEgUwotK1IgcCAxOTQ2IG8gLSBPIFNhdD49MSAyM3MgMCAtCi0rUiBwIDE5NDcgMTk0OSAtIEFwIFN1bj49MSAycyAxIFMKLStSIHAgMTk0NyAxOTQ5IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBwIDE5NTEgMTk2NSAtIEFwIFN1bj49MSAycyAxIFMKLStSIHAgMTk1MSAxOTY1IC0gTyBTdW4+PTEgMnMgMCAtCi0rUiBwIDE5NzcgbyAtIE1hciAyNyAwcyAxIFMKLStSIHAgMTk3NyBvIC0gUyAyNSAwcyAwIC0KLStSIHAgMTk3OCAxOTc5IC0gQXAgU3VuPj0xIDBzIDEgUwotK1IgcCAxOTc4IG8gLSBPIDEgMHMgMCAtCi0rUiBwIDE5NzkgMTk4MiAtIFMgbGFzdFN1biAxcyAwIC0KLStSIHAgMTk4MCBvIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0rUiBwIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDFzIDEgUwotK1IgcCAxOTgzIG8gLSBNYXIgbGFzdFN1biAycyAxIFMKLSBaIEV1cm9wZS9MaXNib24gLTA6MzY6NDUgLSBMTVQgMTg4NAotIC0wOjM2OjQ1IC0gTE1UIDE5MTIgSmEgMSAwdQotLTAgQUEgV0Ulc1QgMTk2NiBBcCAzIDIKLSswIHAgV0Ulc1QgMTk2NiBBcCAzIDIKLSAxIC0gQ0VUIDE5NzYgUyAyNiAxCi0tMCBBQSBXRSVzVCAxOTgzIFMgMjUgMXMKLS0wICcgV0Ulc1QgMTk5MiBTIDI3IDFzCi0tMSBPIENFJXNUIDE5OTYgTWFyIDMxIDF1Ci0tMCBPIFdFJXNUCi0rMCBwIFdFJXNUIDE5ODMgUyAyNSAxcwotKzAgVy0gV0Ulc1QgMTk5MiBTIDI3IDFzCi0rMSBFIENFJXNUIDE5OTYgTWFyIDMxIDF1Ci0rMCBFIFdFJXNUCi0gWiBBdGxhbnRpYy9Bem9yZXMgLTE6NDI6NDAgLSBMTVQgMTg4NAotIC0xOjU0OjMyIC0gSE1UIDE5MTIgSmEgMSAydQotLS0yIEFBIC0wMi8tMDEgMTk0MiBBcCAyNSAyMnMKLS0tMiBBQSArMDAgMTk0MiBBdSAxNSAyMnMKLS0tMiBBQSAtMDIvLTAxIDE5NDMgQXAgMTcgMjJzCi0tLTIgQUEgKzAwIDE5NDMgQXUgMjggMjJzCi0tLTIgQUEgLTAyLy0wMSAxOTQ0IEFwIDIyIDIycwotLS0yIEFBICswMCAxOTQ0IEF1IDI2IDIycwotLS0yIEFBIC0wMi8tMDEgMTk0NSBBcCAyMSAyMnMKLS0tMiBBQSArMDAgMTk0NSBBdSAyNSAyMnMKLS0tMiBBQSAtMDIvLTAxIDE5NjYgQXAgMyAyCi0tLTEgQUEgLTAxLyswMCAxOTgzIFMgMjUgMXMKLS0tMSAnIC0wMS8rMDAgMTk5MiBTIDI3IDFzCi0tMCBPIFdFJXNUIDE5OTMgTWFyIDI4IDF1Ci0tLTEgTyAtMDEvKzAwCi0rLTIgcCAtMDIvLTAxIDE5NDIgQXAgMjUgMjJzCi0rLTIgcCArMDAgMTk0MiBBdSAxNSAyMnMKLSstMiBwIC0wMi8tMDEgMTk0MyBBcCAxNyAyMnMKLSstMiBwICswMCAxOTQzIEF1IDI4IDIycwotKy0yIHAgLTAyLy0wMSAxOTQ0IEFwIDIyIDIycwotKy0yIHAgKzAwIDE5NDQgQXUgMjYgMjJzCi0rLTIgcCAtMDIvLTAxIDE5NDUgQXAgMjEgMjJzCi0rLTIgcCArMDAgMTk0NSBBdSAyNSAyMnMKLSstMiBwIC0wMi8tMDEgMTk2NiBBcCAzIDIKLSstMSBwIC0wMS8rMDAgMTk4MyBTIDI1IDFzCi0rLTEgVy0gLTAxLyswMCAxOTkyIFMgMjcgMXMKLSswIEUgV0Ulc1QgMTk5MyBNYXIgMjggMXUKLSstMSBFIC0wMS8rMDAKLSBaIEF0bGFudGljL01hZGVpcmEgLTE6NzozNiAtIExNVCAxODg0Ci0gLTE6NzozNiAtIEZNVCAxOTEyIEphIDEgMXUKLS0tMSBBQSAtMDEvKzAwIDE5NDIgQXAgMjUgMjJzCi0tLTEgQUEgKzAxIDE5NDIgQXUgMTUgMjJzCi0tLTEgQUEgLTAxLyswMCAxOTQzIEFwIDE3IDIycwotLS0xIEFBICswMSAxOTQzIEF1IDI4IDIycwotLS0xIEFBIC0wMS8rMDAgMTk0NCBBcCAyMiAyMnMKLS0tMSBBQSArMDEgMTk0NCBBdSAyNiAyMnMKLS0tMSBBQSAtMDEvKzAwIDE5NDUgQXAgMjEgMjJzCi0tLTEgQUEgKzAxIDE5NDUgQXUgMjUgMjJzCi0tLTEgQUEgLTAxLyswMCAxOTY2IEFwIDMgMgotLTAgQUEgV0Ulc1QgMTk4MyBTIDI1IDFzCi0tMCBPIFdFJXNUCi0tUiB7IDE5MzIgbyAtIE1heSAyMSAwcyAxIFMKLS1SIHsgMTkzMiAxOTM5IC0gTyBTdW4+PTEgMHMgMCAtCi0tUiB7IDE5MzMgMTkzOSAtIEFwIFN1bj49MiAwcyAxIFMKLS1SIHsgMTk3OSBvIC0gTWF5IDI3IDAgMSBTCi0tUiB7IDE5NzkgbyAtIFMgbGFzdFN1biAwIDAgLQotLVIgeyAxOTgwIG8gLSBBcCA1IDIzIDEgUwotLVIgeyAxOTgwIG8gLSBTIGxhc3RTdW4gMSAwIC0KLS1SIHsgMTk5MSAxOTkzIC0gTWFyIGxhc3RTdW4gMHMgMSBTCi0tUiB7IDE5OTEgMTk5MyAtIFMgbGFzdFN1biAwcyAwIC0KLSstMSBwIC0wMS8rMDAgMTk0MiBBcCAyNSAyMnMKLSstMSBwICswMSAxOTQyIEF1IDE1IDIycwotKy0xIHAgLTAxLyswMCAxOTQzIEFwIDE3IDIycwotKy0xIHAgKzAxIDE5NDMgQXUgMjggMjJzCi0rLTEgcCAtMDEvKzAwIDE5NDQgQXAgMjIgMjJzCi0rLTEgcCArMDEgMTk0NCBBdSAyNiAyMnMKLSstMSBwIC0wMS8rMDAgMTk0NSBBcCAyMSAyMnMKLSstMSBwICswMSAxOTQ1IEF1IDI1IDIycwotKy0xIHAgLTAxLyswMCAxOTY2IEFwIDMgMgotKzAgcCBXRSVzVCAxOTgzIFMgMjUgMXMKLSswIEUgV0Ulc1QKLStSIHogMTkzMiBvIC0gTWF5IDIxIDBzIDEgUwotK1IgeiAxOTMyIDE5MzkgLSBPIFN1bj49MSAwcyAwIC0KLStSIHogMTkzMyAxOTM5IC0gQXAgU3VuPj0yIDBzIDEgUwotK1IgeiAxOTc5IG8gLSBNYXkgMjcgMCAxIFMKLStSIHogMTk3OSBvIC0gUyBsYXN0U3VuIDAgMCAtCi0rUiB6IDE5ODAgbyAtIEFwIDUgMjMgMSBTCi0rUiB6IDE5ODAgbyAtIFMgbGFzdFN1biAxIDAgLQotK1IgeiAxOTkxIDE5OTMgLSBNYXIgbGFzdFN1biAwcyAxIFMKLStSIHogMTk5MSAxOTkzIC0gUyBsYXN0U3VuIDBzIDAgLQotIFogRXVyb3BlL0J1Y2hhcmVzdCAxOjQ0OjI0IC0gTE1UIDE4OTEgTwotIDE6NDQ6MjQgLSBCTVQgMTkzMSBKdWwgMjQKLS0yIHsgRUUlc1QgMTk4MSBNYXIgMjkgMnMKLS0yICggRUUlc1QgMTk5MQotLTIgeyBFRSVzVCAxOTk0Ci0tMiBXIEVFJXNUIDE5OTcKLS0yIE8gRUUlc1QKLSsyIHogRUUlc1QgMTk4MSBNYXIgMjkgMnMKLSsyIGMgRUUlc1QgMTk5MQotKzIgeiBFRSVzVCAxOTk0Ci0rMiBlIEVFJXNUIDE5OTcKLSsyIEUgRUUlc1QKLSBaIEV1cm9wZS9LYWxpbmluZ3JhZCAxOjIyIC0gTE1UIDE4OTMgQXAKLS0xICggQ0Ulc1QgMTk0NQotLTIgfiBDRSVzVCAxOTQ2Ci0tMyBNIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLS0yIE0gRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSsxIGMgQ0Ulc1QgMTk0NQotKzIgTyBDRSVzVCAxOTQ2Ci0rMyBSIE1TSy9NU0QgMTk4OSBNYXIgMjYgMnMKLSsyIFIgRUUlc1QgMjAxMSBNYXIgMjcgMnMKLSAzIC0gKzAzIDIwMTQgTyAyNiAycwotIDIgLSBFRVQKLSBaIEV1cm9wZS9Nb3Njb3cgMjozMDoxNyAtIExNVCAxODgwCi0gMjozMDoxNyAtIE1NVCAxOTE2IEp1bCAzCi0tMjozMToxOSBNICVzIDE5MTkgSnVsIDEgMHUKLS0zIE0gJXMgMTkyMSBPCi0tMyBNIE1TSy9NU0QgMTkyMiBPCi0rMjozMToxOSBSICVzIDE5MTkgSnVsIDEgMHUKLSszIFIgJXMgMTkyMSBPCi0rMyBSIE1TSy9NU0QgMTkyMiBPCi0gMiAtIEVFVCAxOTMwIEp1biAyMQotLTMgTSBNU0svTVNEIDE5OTEgTWFyIDMxIDJzCi0tMiBNIEVFJXNUIDE5OTIgSmEgMTkgMnMKLS0zIE0gTVNLL01TRCAyMDExIE1hciAyNyAycwotKzMgUiBNU0svTVNEIDE5OTEgTWFyIDMxIDJzCi0rMiBSIEVFJXNUIDE5OTIgSmEgMTkgMnMKLSszIFIgTVNLL01TRCAyMDExIE1hciAyNyAycwotIDQgLSBNU0sgMjAxNCBPIDI2IDJzCi0gMyAtIE1TSwotIFogRXVyb3BlL1NpbWZlcm9wb2wgMjoxNjoyNCAtIExNVCAxODgwCi0gMjoxNiAtIFNNVCAxOTI0IE1heSAyCi0gMiAtIEVFVCAxOTMwIEp1biAyMQotIDMgLSBNU0sgMTk0MSBOCi0tMSAoIENFJXNUIDE5NDQgQXAgMTMKLS0zIE0gTVNLL01TRCAxOTkwCi0rMSBjIENFJXNUIDE5NDQgQXAgMTMKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkwIEp1bCAxIDIKLSAyIC0gRUVUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NCBNYXkKLS0zIFcgTVNLL01TRCAxOTk2IE1hciAzMSAwcwotKzIgZSBFRSVzVCAxOTk0IE1heQotKzMgZSBNU0svTVNEIDE5OTYgTWFyIDMxIDBzCi0gMyAxIE1TRCAxOTk2IE8gMjcgM3MKLS0zIE0gTVNLL01TRCAxOTk3Ci0rMyBSIE1TSy9NU0QgMTk5NwotIDMgLSBNU0sgMTk5NyBNYXIgbGFzdFN1biAxdQotLTIgTyBFRSVzVCAyMDE0IE1hciAzMCAyCi0rMiBFIEVFJXNUIDIwMTQgTWFyIDMwIDIKLSA0IC0gTVNLIDIwMTQgTyAyNiAycwotIDMgLSBNU0sKLSBaIEV1cm9wZS9Bc3RyYWtoYW4gMzoxMjoxMiAtIExNVCAxOTI0IE1heQotIDMgLSArMDMgMTkzMCBKdW4gMjEKLS00IE0gKzA0LyswNSAxOTg5IE1hciAyNiAycwotLTMgTSArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLSszIFIgKzAzLyswNCAxOTkxIE1hciAzMSAycwotIDQgLSArMDQgMTk5MiBNYXIgMjkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNCAyMDE0IE8gMjYgMnMKLSAzIC0gKzAzIDIwMTYgTWFyIDI3IDJzCi0gNCAtICswNAotIFogRXVyb3BlL1ZvbGdvZ3JhZCAyOjU3OjQwIC0gTE1UIDE5MjAgSmEgMwotIDMgLSArMDMgMTkzMCBKdW4gMjEKLSA0IC0gKzA0IDE5NjEgTiAxMQotLTQgTSArMDQvKzA1IDE5ODggTWFyIDI3IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg4IE1hciAyNyAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotLTMgLSArMDMKLSszIC0gKzAzIDIwMTggTyAyOCAycwotKzQgLSArMDQKLSBaIEV1cm9wZS9TYXJhdG92IDM6NDoxOCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotLTQgTSArMDQvKzA1IDE5ODggTWFyIDI3IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg4IE1hciAyNyAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMgMjAxNiBEIDQgMnMKLSA0IC0gKzA0Ci0gWiBFdXJvcGUvS2lyb3YgMzoxODo0OCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotLTQgTSArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSs0IFIgKzA0LyswNSAxOTg5IE1hciAyNiAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0gNCAtICswNCAxOTkyIE1hciAyOSAycwotLTMgTSArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMKLSBaIEV1cm9wZS9TYW1hcmEgMzoyMDoyMCAtIExNVCAxOTE5IEp1bCAxIDB1Ci0gMyAtICswMyAxOTMwIEp1biAyMQotIDQgLSArMDQgMTkzNSBKYSAyNwotLTQgTSArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0tMyBNICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLS0yIE0gKzAyLyswMyAxOTkxIFMgMjkgMnMKLSs0IFIgKzA0LyswNSAxOTg5IE1hciAyNiAycwotKzMgUiArMDMvKzA0IDE5OTEgTWFyIDMxIDJzCi0rMiBSICswMi8rMDMgMTk5MSBTIDI5IDJzCi0gMyAtICswMyAxOTkxIE8gMjAgMwotLTQgTSArMDQvKzA1IDIwMTAgTWFyIDI4IDJzCi0tMyBNICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSs0IFIgKzA0LyswNSAyMDEwIE1hciAyOCAycwotKzMgUiArMDMvKzA0IDIwMTEgTWFyIDI3IDJzCi0gNCAtICswNAotIFogRXVyb3BlL1VseWFub3ZzayAzOjEzOjM2IC0gTE1UIDE5MTkgSnVsIDEgMHUKLSAzIC0gKzAzIDE5MzAgSnVuIDIxCi0tNCBNICswNC8rMDUgMTk4OSBNYXIgMjYgMnMKLS0zIE0gKzAzLyswNCAxOTkxIE1hciAzMSAycwotLTIgTSArMDIvKzAzIDE5OTIgSmEgMTkgMnMKLS0zIE0gKzAzLyswNCAyMDExIE1hciAyNyAycwotKzQgUiArMDQvKzA1IDE5ODkgTWFyIDI2IDJzCi0rMyBSICswMy8rMDQgMTk5MSBNYXIgMzEgMnMKLSsyIFIgKzAyLyswMyAxOTkyIEphIDE5IDJzCi0rMyBSICswMy8rMDQgMjAxMSBNYXIgMjcgMnMKLSA0IC0gKzA0IDIwMTQgTyAyNiAycwotIDMgLSArMDMgMjAxNiBNYXIgMjcgMnMKLSA0IC0gKzA0Ci0gWiBBc2lhL1lla2F0ZXJpbmJ1cmcgNDoyOjMzIC0gTE1UIDE5MTYgSnVsIDMKLSAzOjQ1OjUgLSBQTVQgMTkxOSBKdWwgMTUgNAotIDQgLSArMDQgMTkzMCBKdW4gMjEKLS01IE0gKzA1LyswNiAxOTkxIE1hciAzMSAycwotLTQgTSArMDQvKzA1IDE5OTIgSmEgMTkgMnMKLS01IE0gKzA1LyswNiAyMDExIE1hciAyNyAycwotKzUgUiArMDUvKzA2IDE5OTEgTWFyIDMxIDJzCi0rNCBSICswNC8rMDUgMTk5MiBKYSAxOSAycwotKzUgUiArMDUvKzA2IDIwMTEgTWFyIDI3IDJzCi0gNiAtICswNiAyMDE0IE8gMjYgMnMKLSA1IC0gKzA1Ci0gWiBBc2lhL09tc2sgNDo1MzozMCAtIExNVCAxOTE5IE4gMTQKLSA1IC0gKzA1IDE5MzAgSnVuIDIxCi0tNiBNICswNi8rMDcgMTk5MSBNYXIgMzEgMnMKLS01IE0gKzA1LyswNiAxOTkyIEphIDE5IDJzCi0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs2IFIgKzA2LyswNyAxOTkxIE1hciAzMSAycwotKzUgUiArMDUvKzA2IDE5OTIgSmEgMTkgMnMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcgMjAxNCBPIDI2IDJzCi0gNiAtICswNgotIFogQXNpYS9CYXJuYXVsIDU6MzUgLSBMTVQgMTkxOSBEIDEwCi0gNiAtICswNiAxOTMwIEp1biAyMQotLTcgTSArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0tNiBNICswNi8rMDcgMTk5MiBKYSAxOSAycwotLTcgTSArMDcvKzA4IDE5OTUgTWF5IDI4Ci0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAxOTk1IE1heSAyOAotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgTWFyIDI3IDJzCi0gNyAtICswNwotIFogQXNpYS9Ob3Zvc2liaXJzayA1OjMxOjQwIC0gTE1UIDE5MTkgRCAxNCA2Ci0gNiAtICswNiAxOTMwIEp1biAyMQotLTcgTSArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0tNiBNICswNi8rMDcgMTk5MiBKYSAxOSAycwotLTcgTSArMDcvKzA4IDE5OTMgTWF5IDIzCi0tNiBNICswNi8rMDcgMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAxOTkzIE1heSAyMwotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgSnVsIDI0IDJzCi0gNyAtICswNwotIFogQXNpYS9Ub21zayA1OjM5OjUxIC0gTE1UIDE5MTkgRCAyMgotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAyMDAyIE1heSAxIDMKLS02IE0gKzA2LyswNyAyMDExIE1hciAyNyAycwotKzcgUiArMDcvKzA4IDE5OTEgTWFyIDMxIDJzCi0rNiBSICswNi8rMDcgMTk5MiBKYSAxOSAycwotKzcgUiArMDcvKzA4IDIwMDIgTWF5IDEgMwotKzYgUiArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0gNyAtICswNyAyMDE0IE8gMjYgMnMKLSA2IC0gKzA2IDIwMTYgTWF5IDI5IDJzCi0gNyAtICswNwotIFogQXNpYS9Ob3Zva3V6bmV0c2sgNTo0ODo0OCAtIExNVCAxOTI0IE1heQotIDYgLSArMDYgMTkzMCBKdW4gMjEKLS03IE0gKzA3LyswOCAxOTkxIE1hciAzMSAycwotLTYgTSArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLS03IE0gKzA3LyswOCAyMDEwIE1hciAyOCAycwotLTYgTSArMDYvKzA3IDIwMTEgTWFyIDI3IDJzCi0rNyBSICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLSs2IFIgKzA2LyswNyAxOTkyIEphIDE5IDJzCi0rNyBSICswNy8rMDggMjAxMCBNYXIgMjggMnMKLSs2IFIgKzA2LyswNyAyMDExIE1hciAyNyAycwotIDcgLSArMDcKLSBaIEFzaWEvS3Jhc25veWFyc2sgNjoxMToyNiAtIExNVCAxOTIwIEphIDYKLSA2IC0gKzA2IDE5MzAgSnVuIDIxCi0tNyBNICswNy8rMDggMTk5MSBNYXIgMzEgMnMKLS02IE0gKzA2LyswNyAxOTkyIEphIDE5IDJzCi0tNyBNICswNy8rMDggMjAxMSBNYXIgMjcgMnMKLSs3IFIgKzA3LyswOCAxOTkxIE1hciAzMSAycwotKzYgUiArMDYvKzA3IDE5OTIgSmEgMTkgMnMKLSs3IFIgKzA3LyswOCAyMDExIE1hciAyNyAycwotIDggLSArMDggMjAxNCBPIDI2IDJzCi0gNyAtICswNwotIFogQXNpYS9Jcmt1dHNrIDY6NTc6NSAtIExNVCAxODgwCi0gNjo1Nzo1IC0gSU1UIDE5MjAgSmEgMjUKLSA3IC0gKzA3IDE5MzAgSnVuIDIxCi0tOCBNICswOC8rMDkgMTk5MSBNYXIgMzEgMnMKLS03IE0gKzA3LyswOCAxOTkyIEphIDE5IDJzCi0tOCBNICswOC8rMDkgMjAxMSBNYXIgMjcgMnMKLSs4IFIgKzA4LyswOSAxOTkxIE1hciAzMSAycwotKzcgUiArMDcvKzA4IDE5OTIgSmEgMTkgMnMKLSs4IFIgKzA4LyswOSAyMDExIE1hciAyNyAycwotIDkgLSArMDkgMjAxNCBPIDI2IDJzCi0gOCAtICswOAotIFogQXNpYS9DaGl0YSA3OjMzOjUyIC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTkxIE1hciAzMSAycwotLTggTSArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLS05IE0gKzA5LysxMCAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0rOCBSICswOC8rMDkgMTk5MiBKYSAxOSAycwotKzkgUiArMDkvKzEwIDIwMTEgTWFyIDI3IDJzCi0gMTAgLSArMTAgMjAxNCBPIDI2IDJzCi0gOCAtICswOCAyMDE2IE1hciAyNyAyCi0gOSAtICswOQotIFogQXNpYS9ZYWt1dHNrIDg6Mzg6NTggLSBMTVQgMTkxOSBEIDE1Ci0gOCAtICswOCAxOTMwIEp1biAyMQotLTkgTSArMDkvKzEwIDE5OTEgTWFyIDMxIDJzCi0tOCBNICswOC8rMDkgMTk5MiBKYSAxOSAycwotLTkgTSArMDkvKzEwIDIwMTEgTWFyIDI3IDJzCi0rOSBSICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLSs4IFIgKzA4LyswOSAxOTkyIEphIDE5IDJzCi0rOSBSICswOS8rMTAgMjAxMSBNYXIgMjcgMnMKLSAxMCAtICsxMCAyMDE0IE8gMjYgMnMKLSA5IC0gKzA5Ci0gWiBBc2lhL1ZsYWRpdm9zdG9rIDg6NDc6MzEgLSBMTVQgMTkyMiBOIDE1Ci0gOSAtICswOSAxOTMwIEp1biAyMQotLTEwIE0gKzEwLysxMSAxOTkxIE1hciAzMSAycwotLTkgTSArMDkvKzEwIDE5OTIgSmEgMTkgMnMKLS0xMCBNICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSsxMCBSICsxMC8rMTEgMTk5MSBNYXIgMzEgMnMKLSs5IFIgKzA5LysxMCAxOTkyIEphIDE5IDJzCi0rMTAgUiArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0gMTEgLSArMTEgMjAxNCBPIDI2IDJzCi0gMTAgLSArMTAKLSBaIEFzaWEvS2hhbmR5Z2EgOToyOjEzIC0gTE1UIDE5MTkgRCAxNQotIDggLSArMDggMTkzMCBKdW4gMjEKLS05IE0gKzA5LysxMCAxOTkxIE1hciAzMSAycwotLTggTSArMDgvKzA5IDE5OTIgSmEgMTkgMnMKLS05IE0gKzA5LysxMCAyMDA0Ci0tMTAgTSArMTAvKzExIDIwMTEgTWFyIDI3IDJzCi0rOSBSICswOS8rMTAgMTk5MSBNYXIgMzEgMnMKLSs4IFIgKzA4LyswOSAxOTkyIEphIDE5IDJzCi0rOSBSICswOS8rMTAgMjAwNAotKzEwIFIgKzEwLysxMSAyMDExIE1hciAyNyAycwotIDExIC0gKzExIDIwMTEgUyAxMyAwcwotIDEwIC0gKzEwIDIwMTQgTyAyNiAycwotIDkgLSArMDkKLSBaIEFzaWEvU2FraGFsaW4gOTozMDo0OCAtIExNVCAxOTA1IEF1IDIzCi0gOSAtICswOSAxOTQ1IEF1IDI1Ci0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMTk5NyBNYXIgbGFzdFN1biAycwotLTEwIE0gKzEwLysxMSAyMDExIE1hciAyNyAycwotKzExIFIgKzExLysxMiAxOTkxIE1hciAzMSAycwotKzEwIFIgKzEwLysxMSAxOTkyIEphIDE5IDJzCi0rMTEgUiArMTEvKzEyIDE5OTcgTWFyIGxhc3RTdW4gMnMKLSsxMCBSICsxMC8rMTEgMjAxMSBNYXIgMjcgMnMKLSAxMSAtICsxMSAyMDE0IE8gMjYgMnMKLSAxMCAtICsxMCAyMDE2IE1hciAyNyAycwotIDExIC0gKzExCi0gWiBBc2lhL01hZ2FkYW4gMTA6MzoxMiAtIExNVCAxOTI0IE1heSAyCi0gMTAgLSArMTAgMTkzMCBKdW4gMjEKLS0xMSBNICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLS0xMCBNICsxMC8rMTEgMTk5MiBKYSAxOSAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzExIFIgKzExLysxMiAxOTkxIE1hciAzMSAycwotKzEwIFIgKzEwLysxMSAxOTkyIEphIDE5IDJzCi0rMTEgUiArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0gMTIgLSArMTIgMjAxNCBPIDI2IDJzCi0gMTAgLSArMTAgMjAxNiBBcCAyNCAycwotIDExIC0gKzExCi0gWiBBc2lhL1NyZWRuZWtvbHltc2sgMTA6MTQ6NTIgLSBMTVQgMTkyNCBNYXkgMgotIDEwIC0gKzEwIDE5MzAgSnVuIDIxCi0tMTEgTSArMTEvKzEyIDE5OTEgTWFyIDMxIDJzCi0tMTAgTSArMTAvKzExIDE5OTIgSmEgMTkgMnMKLS0xMSBNICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyIDIwMTQgTyAyNiAycwotIDExIC0gKzExCi0gWiBBc2lhL1VzdC1OZXJhIDk6MzI6NTQgLSBMTVQgMTkxOSBEIDE1Ci0gOCAtICswOCAxOTMwIEp1biAyMQotLTkgTSArMDkvKzEwIDE5ODEgQXAKLS0xMSBNICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLS0xMCBNICsxMC8rMTEgMTk5MiBKYSAxOSAycwotLTExIE0gKzExLysxMiAyMDExIE1hciAyNyAycwotKzkgUiArMDkvKzEwIDE5ODEgQXAKLSsxMSBSICsxMS8rMTIgMTk5MSBNYXIgMzEgMnMKLSsxMCBSICsxMC8rMTEgMTk5MiBKYSAxOSAycwotKzExIFIgKzExLysxMiAyMDExIE1hciAyNyAycwotIDEyIC0gKzEyIDIwMTEgUyAxMyAwcwotIDExIC0gKzExIDIwMTQgTyAyNiAycwotIDEwIC0gKzEwCi0gWiBBc2lhL0thbWNoYXRrYSAxMDozNDozNiAtIExNVCAxOTIyIE4gMTAKLSAxMSAtICsxMSAxOTMwIEp1biAyMQotLTEyIE0gKzEyLysxMyAxOTkxIE1hciAzMSAycwotLTExIE0gKzExLysxMiAxOTkyIEphIDE5IDJzCi0tMTIgTSArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0tMTEgTSArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0rMTIgUiArMTIvKzEzIDE5OTEgTWFyIDMxIDJzCi0rMTEgUiArMTEvKzEyIDE5OTIgSmEgMTkgMnMKLSsxMiBSICsxMi8rMTMgMjAxMCBNYXIgMjggMnMKLSsxMSBSICsxMS8rMTIgMjAxMSBNYXIgMjcgMnMKLSAxMiAtICsxMgotIFogQXNpYS9BbmFkeXIgMTE6NDk6NTYgLSBMTVQgMTkyNCBNYXkgMgotIDEyIC0gKzEyIDE5MzAgSnVuIDIxCi0tMTMgTSArMTMvKzE0IDE5ODIgQXAgMSAwcwotLTEyIE0gKzEyLysxMyAxOTkxIE1hciAzMSAycwotLTExIE0gKzExLysxMiAxOTkyIEphIDE5IDJzCi0tMTIgTSArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0tMTEgTSArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0rMTMgUiArMTMvKzE0IDE5ODIgQXAgMSAwcwotKzEyIFIgKzEyLysxMyAxOTkxIE1hciAzMSAycwotKzExIFIgKzExLysxMiAxOTkyIEphIDE5IDJzCi0rMTIgUiArMTIvKzEzIDIwMTAgTWFyIDI4IDJzCi0rMTEgUiArMTEvKzEyIDIwMTEgTWFyIDI3IDJzCi0gMTIgLSArMTIKLSBaIEV1cm9wZS9CZWxncmFkZSAxOjIyIC0gTE1UIDE4ODQKLSAxIC0gQ0VUIDE5NDEgQXAgMTggMjMKLS0xICggQ0Ulc1QgMTk0NQotKzEgYyBDRSVzVCAxOTQ1Ci0gMSAtIENFVCAxOTQ1IE1heSA4IDJzCi0gMSAxIENFU1QgMTk0NSBTIDE2IDJzCi0gMSAtIENFVCAxOTgyIE4gMjcKLS0xIE8gQ0Ulc1QKLSsxIEUgQ0Ulc1QKLSBMaSBFdXJvcGUvQmVsZ3JhZGUgRXVyb3BlL0xqdWJsamFuYQotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvUG9kZ29yaWNhCi0gTGkgRXVyb3BlL0JlbGdyYWRlIEV1cm9wZS9TYXJhamV2bwotIExpIEV1cm9wZS9CZWxncmFkZSBFdXJvcGUvU2tvcGplCi0gTGkgRXVyb3BlL0JlbGdyYWRlIEV1cm9wZS9aYWdyZWIKLSBMaSBFdXJvcGUvUHJhZ3VlIEV1cm9wZS9CcmF0aXNsYXZhCi0tUiBBQiAxOTE4IG8gLSBBcCAxNSAyMyAxIFMKLS1SIEFCIDE5MTggMTkxOSAtIE8gNiAyNHMgMCAtCi0tUiBBQiAxOTE5IG8gLSBBcCA2IDIzIDEgUwotLVIgQUIgMTkyNCBvIC0gQXAgMTYgMjMgMSBTCi0tUiBBQiAxOTI0IG8gLSBPIDQgMjRzIDAgLQotLVIgQUIgMTkyNiBvIC0gQXAgMTcgMjMgMSBTCi0tUiBBQiAxOTI2IDE5MjkgLSBPIFNhdD49MSAyNHMgMCAtCi0tUiBBQiAxOTI3IG8gLSBBcCA5IDIzIDEgUwotLVIgQUIgMTkyOCBvIC0gQXAgMTUgMCAxIFMKLS1SIEFCIDE5MjkgbyAtIEFwIDIwIDIzIDEgUwotLVIgQUIgMTkzNyBvIC0gSnVuIDE2IDIzIDEgUwotLVIgQUIgMTkzNyBvIC0gTyAyIDI0cyAwIC0KLS1SIEFCIDE5MzggbyAtIEFwIDIgMjMgMSBTCi0tUiBBQiAxOTM4IG8gLSBBcCAzMCAyMyAyIE0KLS1SIEFCIDE5MzggbyAtIE8gMiAyNCAxIFMKLS1SIEFCIDE5MzkgbyAtIE8gNyAyNHMgMCAtCi0tUiBBQiAxOTQyIG8gLSBNYXkgMiAyMyAxIFMKLS1SIEFCIDE5NDIgbyAtIFMgMSAxIDAgLQotLVIgQUIgMTk0MyAxOTQ2IC0gQXAgU2F0Pj0xMyAyMyAxIFMKLS1SIEFCIDE5NDMgMTk0NCAtIE8gU3VuPj0xIDEgMCAtCi0tUiBBQiAxOTQ1IDE5NDYgLSBTIGxhc3RTdW4gMSAwIC0KLS1SIEFCIDE5NDkgbyAtIEFwIDMwIDIzIDEgUwotLVIgQUIgMTk0OSBvIC0gTyAyIDEgMCAtCi0tUiBBQiAxOTc0IDE5NzUgLSBBcCBTYXQ+PTEyIDIzIDEgUwotLVIgQUIgMTk3NCAxOTc1IC0gTyBTdW4+PTEgMSAwIC0KLS1SIEFCIDE5NzYgbyAtIE1hciAyNyAyMyAxIFMKLS1SIEFCIDE5NzYgMTk3NyAtIFMgbGFzdFN1biAxIDAgLQotLVIgQUIgMTk3NyBvIC0gQXAgMiAyMyAxIFMKLS1SIEFCIDE5NzggbyAtIEFwIDIgMnMgMSBTCi0tUiBBQiAxOTc4IG8gLSBPIDEgMnMgMCAtCi0tUiBBQyAxOTY3IG8gLSBKdW4gMyAxMiAxIFMKLS1SIEFDIDE5NjcgbyAtIE8gMSAwIDAgLQotLVIgQUMgMTk3NCBvIC0gSnVuIDI0IDAgMSBTCi0tUiBBQyAxOTc0IG8gLSBTIDEgMCAwIC0KLS1SIEFDIDE5NzYgMTk3NyAtIE1heSAxIDAgMSBTCi0tUiBBQyAxOTc2IG8gLSBBdSAxIDAgMCAtCi0tUiBBQyAxOTc3IG8gLSBTIDI4IDAgMCAtCi0tUiBBQyAxOTc4IG8gLSBKdW4gMSAwIDEgUwotLVIgQUMgMTk3OCBvIC0gQXUgNCAwIDAgLQotK1IgcyAxOTE4IG8gLSBBcCAxNSAyMyAxIFMKLStSIHMgMTkxOCAxOTE5IC0gTyA2IDI0cyAwIC0KLStSIHMgMTkxOSBvIC0gQXAgNiAyMyAxIFMKLStSIHMgMTkyNCBvIC0gQXAgMTYgMjMgMSBTCi0rUiBzIDE5MjQgbyAtIE8gNCAyNHMgMCAtCi0rUiBzIDE5MjYgbyAtIEFwIDE3IDIzIDEgUwotK1IgcyAxOTI2IDE5MjkgLSBPIFNhdD49MSAyNHMgMCAtCi0rUiBzIDE5MjcgbyAtIEFwIDkgMjMgMSBTCi0rUiBzIDE5MjggbyAtIEFwIDE1IDAgMSBTCi0rUiBzIDE5MjkgbyAtIEFwIDIwIDIzIDEgUwotK1IgcyAxOTM3IG8gLSBKdW4gMTYgMjMgMSBTCi0rUiBzIDE5MzcgbyAtIE8gMiAyNHMgMCAtCi0rUiBzIDE5MzggbyAtIEFwIDIgMjMgMSBTCi0rUiBzIDE5MzggbyAtIEFwIDMwIDIzIDIgTQotK1IgcyAxOTM4IG8gLSBPIDIgMjQgMSBTCi0rUiBzIDE5MzkgbyAtIE8gNyAyNHMgMCAtCi0rUiBzIDE5NDIgbyAtIE1heSAyIDIzIDEgUwotK1IgcyAxOTQyIG8gLSBTIDEgMSAwIC0KLStSIHMgMTk0MyAxOTQ2IC0gQXAgU2F0Pj0xMyAyMyAxIFMKLStSIHMgMTk0MyAxOTQ0IC0gTyBTdW4+PTEgMSAwIC0KLStSIHMgMTk0NSAxOTQ2IC0gUyBsYXN0U3VuIDEgMCAtCi0rUiBzIDE5NDkgbyAtIEFwIDMwIDIzIDEgUwotK1IgcyAxOTQ5IG8gLSBPIDIgMSAwIC0KLStSIHMgMTk3NCAxOTc1IC0gQXAgU2F0Pj0xMiAyMyAxIFMKLStSIHMgMTk3NCAxOTc1IC0gTyBTdW4+PTEgMSAwIC0KLStSIHMgMTk3NiBvIC0gTWFyIDI3IDIzIDEgUwotK1IgcyAxOTc2IDE5NzcgLSBTIGxhc3RTdW4gMSAwIC0KLStSIHMgMTk3NyBvIC0gQXAgMiAyMyAxIFMKLStSIHMgMTk3OCBvIC0gQXAgMiAycyAxIFMKLStSIHMgMTk3OCBvIC0gTyAxIDJzIDAgLQotIFogRXVyb3BlL01hZHJpZCAtMDoxNDo0NCAtIExNVCAxOTAwIEQgMzEgMjM6NDU6MTYKLS0wIEFCIFdFJXNUIDE5NDAgTWFyIDE2IDIzCi0tMSBBQiBDRSVzVCAxOTc5Ci0tMSBPIENFJXNUCi0rMCBzIFdFJXNUIDE5NDAgTWFyIDE2IDIzCi0rMSBzIENFJXNUIDE5NzkKLSsxIEUgQ0Ulc1QKLSBaIEFmcmljYS9DZXV0YSAtMDoyMToxNiAtIExNVCAxOTAwIEQgMzEgMjM6Mzg6NDQKLSAwIC0gV0VUIDE5MTggTWF5IDYgMjMKLSAwIDEgV0VTVCAxOTE4IE8gNyAyMwotIDAgLSBXRVQgMTkyNAotLTAgQUIgV0Ulc1QgMTkyOQotLTAgQUMgV0Ulc1QgMTk4NCBNYXIgMTYKLSswIHMgV0Ulc1QgMTkyOQotKzAgLSBXRVQgMTk2NwotKzAgTSBXRSVzVCAxOTg0IE1hciAxNgotIDEgLSBDRVQgMTk4NgotLTEgTyBDRSVzVAotKzEgRSBDRSVzVAotIFogQXRsYW50aWMvQ2FuYXJ5IC0xOjE6MzYgLSBMTVQgMTkyMiBNYXIKLSAtMSAtIC0wMSAxOTQ2IFMgMzAgMQotIDAgLSBXRVQgMTk4MCBBcCA2IDBzCi0gMCAxIFdFU1QgMTk4MCBTIDI4IDF1Ci0tMCBPIFdFJXNUCi0rMCBFIFdFJXNUCi0gWiBFdXJvcGUvU3RvY2tob2xtIDE6MTI6MTIgLSBMTVQgMTg3OQotIDE6MDoxNCAtIFNFVCAxOTAwCi0gMSAtIENFVCAxOTE2IE1heSAxNCAyMwotIDEgMSBDRVNUIDE5MTYgTyAxIDEKLSAxIC0gQ0VUIDE5ODAKLS0xIE8gQ0Ulc1QKLS1SIEFEIDE5NDEgMTk0MiAtIE1heSBNPj0xIDEgMSBTCi0tUiBBRCAxOTQxIDE5NDIgLSBPIE0+PTEgMiAwIC0KLSsxIEUgQ0Ulc1QKLStSIENIIDE5NDEgMTk0MiAtIE1heSBNPj0xIDEgMSBTCi0rUiBDSCAxOTQxIDE5NDIgLSBPIE0+PTEgMiAwIC0KLSBaIEV1cm9wZS9adXJpY2ggMDozNDo4IC0gTE1UIDE4NTMgSnVsIDE2Ci0gMDoyOTo0NiAtIEJNVCAxODk0IEp1bgotLTEgQUQgQ0Ulc1QgMTk4MQotLTEgTyBDRSVzVAotLVIgQUUgMTkxNiBvIC0gTWF5IDEgMCAxIFMKLS1SIEFFIDE5MTYgbyAtIE8gMSAwIDAgLQotLVIgQUUgMTkyMCBvIC0gTWFyIDI4IDAgMSBTCi0tUiBBRSAxOTIwIG8gLSBPIDI1IDAgMCAtCi0tUiBBRSAxOTIxIG8gLSBBcCAzIDAgMSBTCi0tUiBBRSAxOTIxIG8gLSBPIDMgMCAwIC0KLS1SIEFFIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotLVIgQUUgMTkyMiBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTI0IG8gLSBNYXkgMTMgMCAxIFMKLS1SIEFFIDE5MjQgMTkyNSAtIE8gMSAwIDAgLQotLVIgQUUgMTkyNSBvIC0gTWF5IDEgMCAxIFMKLS1SIEFFIDE5NDAgbyAtIEp1biAzMCAwIDEgUwotLVIgQUUgMTk0MCBvIC0gTyA1IDAgMCAtCi0tUiBBRSAxOTQwIG8gLSBEIDEgMCAxIFMKLS1SIEFFIDE5NDEgbyAtIFMgMjEgMCAwIC0KLS1SIEFFIDE5NDIgbyAtIEFwIDEgMCAxIFMKLS1SIEFFIDE5NDIgbyAtIE4gMSAwIDAgLQotLVIgQUUgMTk0NSBvIC0gQXAgMiAwIDEgUwotLVIgQUUgMTk0NSBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTQ2IG8gLSBKdW4gMSAwIDEgUwotLVIgQUUgMTk0NiBvIC0gTyAxIDAgMCAtCi0tUiBBRSAxOTQ3IDE5NDggLSBBcCBTdW4+PTE2IDAgMSBTCi0tUiBBRSAxOTQ3IDE5NTAgLSBPIFN1bj49MiAwIDAgLQotLVIgQUUgMTk0OSBvIC0gQXAgMTAgMCAxIFMKLS1SIEFFIDE5NTAgbyAtIEFwIDE5IDAgMSBTCi0tUiBBRSAxOTUxIG8gLSBBcCAyMiAwIDEgUwotLVIgQUUgMTk1MSBvIC0gTyA4IDAgMCAtCi0tUiBBRSAxOTYyIG8gLSBKdWwgMTUgMCAxIFMKLS1SIEFFIDE5NjIgbyAtIE8gOCAwIDAgLQotLVIgQUUgMTk2NCBvIC0gTWF5IDE1IDAgMSBTCi0tUiBBRSAxOTY0IG8gLSBPIDEgMCAwIC0KLS1SIEFFIDE5NzAgMTk3MiAtIE1heSBTdW4+PTIgMCAxIFMKLS1SIEFFIDE5NzAgMTk3MiAtIE8gU3VuPj0yIDAgMCAtCi0tUiBBRSAxOTczIG8gLSBKdW4gMyAxIDEgUwotLVIgQUUgMTk3MyBvIC0gTiA0IDMgMCAtCi0tUiBBRSAxOTc0IG8gLSBNYXIgMzEgMiAxIFMKLS1SIEFFIDE5NzQgbyAtIE4gMyA1IDAgLQotLVIgQUUgMTk3NSBvIC0gTWFyIDMwIDAgMSBTCi0tUiBBRSAxOTc1IDE5NzYgLSBPIGxhc3RTdW4gMCAwIC0KLS1SIEFFIDE5NzYgbyAtIEp1biAxIDAgMSBTCi0tUiBBRSAxOTc3IDE5NzggLSBBcCBTdW4+PTEgMCAxIFMKLS1SIEFFIDE5NzcgbyAtIE8gMTYgMCAwIC0KLS1SIEFFIDE5NzkgMTk4MCAtIEFwIFN1bj49MSAzIDEgUwotLVIgQUUgMTk3OSAxOTgyIC0gTyBNPj0xMSAwIDAgLQotLVIgQUUgMTk4MSAxOTgyIC0gTWFyIGxhc3RTdW4gMyAxIFMKLS1SIEFFIDE5ODMgbyAtIEp1bCAzMSAwIDEgUwotLVIgQUUgMTk4MyBvIC0gTyAyIDAgMCAtCi0tUiBBRSAxOTg1IG8gLSBBcCAyMCAwIDEgUwotLVIgQUUgMTk4NSBvIC0gUyAyOCAwIDAgLQotLVIgQUUgMTk4NiAxOTkzIC0gTWFyIGxhc3RTdW4gMXMgMSBTCi0tUiBBRSAxOTg2IDE5OTUgLSBTIGxhc3RTdW4gMXMgMCAtCi0tUiBBRSAxOTk0IG8gLSBNYXIgMjAgMXMgMSBTCi0tUiBBRSAxOTk1IDIwMDYgLSBNYXIgbGFzdFN1biAxcyAxIFMKLS1SIEFFIDE5OTYgMjAwNiAtIE8gbGFzdFN1biAxcyAwIC0KLSsxIENIIENFJXNUIDE5ODEKLSsxIEUgQ0Ulc1QKLStSIFQgMTkxNiBvIC0gTWF5IDEgMCAxIFMKLStSIFQgMTkxNiBvIC0gTyAxIDAgMCAtCi0rUiBUIDE5MjAgbyAtIE1hciAyOCAwIDEgUwotK1IgVCAxOTIwIG8gLSBPIDI1IDAgMCAtCi0rUiBUIDE5MjEgbyAtIEFwIDMgMCAxIFMKLStSIFQgMTkyMSBvIC0gTyAzIDAgMCAtCi0rUiBUIDE5MjIgbyAtIE1hciAyNiAwIDEgUwotK1IgVCAxOTIyIG8gLSBPIDggMCAwIC0KLStSIFQgMTkyNCBvIC0gTWF5IDEzIDAgMSBTCi0rUiBUIDE5MjQgMTkyNSAtIE8gMSAwIDAgLQotK1IgVCAxOTI1IG8gLSBNYXkgMSAwIDEgUwotK1IgVCAxOTQwIG8gLSBKdW4gMzAgMCAxIFMKLStSIFQgMTk0MCBvIC0gTyA1IDAgMCAtCi0rUiBUIDE5NDAgbyAtIEQgMSAwIDEgUwotK1IgVCAxOTQxIG8gLSBTIDIxIDAgMCAtCi0rUiBUIDE5NDIgbyAtIEFwIDEgMCAxIFMKLStSIFQgMTk0MiBvIC0gTiAxIDAgMCAtCi0rUiBUIDE5NDUgbyAtIEFwIDIgMCAxIFMKLStSIFQgMTk0NSBvIC0gTyA4IDAgMCAtCi0rUiBUIDE5NDYgbyAtIEp1biAxIDAgMSBTCi0rUiBUIDE5NDYgbyAtIE8gMSAwIDAgLQotK1IgVCAxOTQ3IDE5NDggLSBBcCBTdW4+PTE2IDAgMSBTCi0rUiBUIDE5NDcgMTk1MCAtIE8gU3VuPj0yIDAgMCAtCi0rUiBUIDE5NDkgbyAtIEFwIDEwIDAgMSBTCi0rUiBUIDE5NTAgbyAtIEFwIDE5IDAgMSBTCi0rUiBUIDE5NTEgbyAtIEFwIDIyIDAgMSBTCi0rUiBUIDE5NTEgbyAtIE8gOCAwIDAgLQotK1IgVCAxOTYyIG8gLSBKdWwgMTUgMCAxIFMKLStSIFQgMTk2MiBvIC0gTyA4IDAgMCAtCi0rUiBUIDE5NjQgbyAtIE1heSAxNSAwIDEgUwotK1IgVCAxOTY0IG8gLSBPIDEgMCAwIC0KLStSIFQgMTk3MCAxOTcyIC0gTWF5IFN1bj49MiAwIDEgUwotK1IgVCAxOTcwIDE5NzIgLSBPIFN1bj49MiAwIDAgLQotK1IgVCAxOTczIG8gLSBKdW4gMyAxIDEgUwotK1IgVCAxOTczIG8gLSBOIDQgMyAwIC0KLStSIFQgMTk3NCBvIC0gTWFyIDMxIDIgMSBTCi0rUiBUIDE5NzQgbyAtIE4gMyA1IDAgLQotK1IgVCAxOTc1IG8gLSBNYXIgMzAgMCAxIFMKLStSIFQgMTk3NSAxOTc2IC0gTyBsYXN0U3VuIDAgMCAtCi0rUiBUIDE5NzYgbyAtIEp1biAxIDAgMSBTCi0rUiBUIDE5NzcgMTk3OCAtIEFwIFN1bj49MSAwIDEgUwotK1IgVCAxOTc3IG8gLSBPIDE2IDAgMCAtCi0rUiBUIDE5NzkgMTk4MCAtIEFwIFN1bj49MSAzIDEgUwotK1IgVCAxOTc5IDE5ODIgLSBPIE0+PTExIDAgMCAtCi0rUiBUIDE5ODEgMTk4MiAtIE1hciBsYXN0U3VuIDMgMSBTCi0rUiBUIDE5ODMgbyAtIEp1bCAzMSAwIDEgUwotK1IgVCAxOTgzIG8gLSBPIDIgMCAwIC0KLStSIFQgMTk4NSBvIC0gQXAgMjAgMCAxIFMKLStSIFQgMTk4NSBvIC0gUyAyOCAwIDAgLQotK1IgVCAxOTg2IDE5OTMgLSBNYXIgbGFzdFN1biAxcyAxIFMKLStSIFQgMTk4NiAxOTk1IC0gUyBsYXN0U3VuIDFzIDAgLQotK1IgVCAxOTk0IG8gLSBNYXIgMjAgMXMgMSBTCi0rUiBUIDE5OTUgMjAwNiAtIE1hciBsYXN0U3VuIDFzIDEgUwotK1IgVCAxOTk2IDIwMDYgLSBPIGxhc3RTdW4gMXMgMCAtCi0gWiBFdXJvcGUvSXN0YW5idWwgMTo1NTo1MiAtIExNVCAxODgwCi0gMTo1Njo1NiAtIElNVCAxOTEwIE8KLS0yIEFFIEVFJXNUIDE5NzggTyAxNQotLTMgQUUgKzAzLyswNCAxOTg1IEFwIDIwCi0tMiBBRSBFRSVzVCAyMDA3Ci0tMiBPIEVFJXNUIDIwMTEgTWFyIDI3IDF1Ci0rMiBUIEVFJXNUIDE5NzggTyAxNQotKzMgVCArMDMvKzA0IDE5ODUgQXAgMjAKLSsyIFQgRUUlc1QgMjAwNwotKzIgRSBFRSVzVCAyMDExIE1hciAyNyAxdQotIDIgLSBFRVQgMjAxMSBNYXIgMjggMXUKLS0yIE8gRUUlc1QgMjAxNCBNYXIgMzAgMXUKLSsyIEUgRUUlc1QgMjAxNCBNYXIgMzAgMXUKLSAyIC0gRUVUIDIwMTQgTWFyIDMxIDF1Ci0tMiBPIEVFJXNUIDIwMTUgTyAyNSAxdQotKzIgRSBFRSVzVCAyMDE1IE8gMjUgMXUKLSAyIDEgRUVTVCAyMDE1IE4gOCAxdQotLTIgTyBFRSVzVCAyMDE2IFMgNwotKzIgRSBFRSVzVCAyMDE2IFMgNwotIDMgLSArMDMKLSBMaSBFdXJvcGUvSXN0YW5idWwgQXNpYS9Jc3RhbmJ1bAotIFogRXVyb3BlL0tpZXYgMjoyOjQgLSBMTVQgMTg4MAotIDI6Mjo0IC0gS01UIDE5MjQgTWF5IDIKLSAyIC0gRUVUIDE5MzAgSnVuIDIxCi0gMyAtIE1TSyAxOTQxIFMgMjAKLS0xICggQ0Ulc1QgMTk0MyBOIDYKLS0zIE0gTVNLL01TRCAxOTkwIEp1bCAxIDIKLSsxIGMgQ0Ulc1QgMTk0MyBOIDYKLSszIFIgTVNLL01TRCAxOTkwIEp1bCAxIDIKLSAyIDEgRUVTVCAxOTkxIFMgMjkgMwotLTIgVyBFRSVzVCAxOTk1Ci0tMiBPIEVFJXNUCi0rMiBlIEVFJXNUIDE5OTUKLSsyIEUgRUUlc1QKLSBaIEV1cm9wZS9Vemhnb3JvZCAxOjI5OjEyIC0gTE1UIDE4OTAgTwotIDEgLSBDRVQgMTk0MAotLTEgKCBDRSVzVCAxOTQ0IE8KLSsxIGMgQ0Ulc1QgMTk0NCBPCi0gMSAxIENFU1QgMTk0NCBPIDI2Ci0gMSAtIENFVCAxOTQ1IEp1biAyOQotLTMgTSBNU0svTVNEIDE5OTAKLSszIFIgTVNLL01TRCAxOTkwCi0gMyAtIE1TSyAxOTkwIEp1bCAxIDIKLSAxIC0gQ0VUIDE5OTEgTWFyIDMxIDMKLSAyIC0gRUVUIDE5OTIKLS0yIFcgRUUlc1QgMTk5NQotLTIgTyBFRSVzVAotKzIgZSBFRSVzVCAxOTk1Ci0rMiBFIEVFJXNUCi0gWiBFdXJvcGUvWmFwb3Jvemh5ZSAyOjIwOjQwIC0gTE1UIDE4ODAKLSAyOjIwIC0gKzAyMjAgMTkyNCBNYXkgMgotIDIgLSBFRVQgMTkzMCBKdW4gMjEKLSAzIC0gTVNLIDE5NDEgQXUgMjUKLS0xICggQ0Ulc1QgMTk0MyBPIDI1Ci0tMyBNIE1TSy9NU0QgMTk5MSBNYXIgMzEgMgotLTIgVyBFRSVzVCAxOTk1Ci0tMiBPIEVFJXNUCi0tUiBBRiAxOTE4IDE5MTkgLSBNYXIgbGFzdFN1biAyIDEgRAotLVIgQUYgMTkxOCAxOTE5IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBRiAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFGIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFGIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUYgMTk2NyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBRiAxOTY3IDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBRiAxOTc0IG8gLSBKYSA2IDIgMSBECi0tUiBBRiAxOTc1IG8gLSBGIDIzIDIgMSBECi0tUiBBRiAxOTc2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBRiAxOTg3IDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLS1SIEFGIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBRiAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLSsxIGMgQ0Ulc1QgMTk0MyBPIDI1Ci0rMyBSIE1TSy9NU0QgMTk5MSBNYXIgMzEgMgotKzIgZSBFRSVzVCAxOTk1Ci0rMiBFIEVFJXNUCi0rUiB1IDE5MTggMTkxOSAtIE1hciBsYXN0U3VuIDIgMSBECi0rUiB1IDE5MTggMTkxOSAtIE8gbGFzdFN1biAyIDAgUwotK1IgdSAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIHUgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotK1IgdSAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIHUgMTk2NyAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiB1IDE5NjcgMTk3MyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHUgMTk3NCBvIC0gSmEgNiAyIDEgRAotK1IgdSAxOTc1IG8gLSBGIDIzIDIgMSBECi0rUiB1IDE5NzYgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHUgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0rUiB1IDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0rUiB1IDIwMDcgbWEgLSBOIFN1bj49MSAyIDAgUwotIFogRVNUIC01IC0gRVNUCi0gWiBNU1QgLTcgLSBNU1QKLSBaIEhTVCAtMTAgLSBIU1QKLS1aIEVTVDVFRFQgLTUgQUYgRSVzVAotLVogQ1NUNkNEVCAtNiBBRiBDJXNUCi0tWiBNU1Q3TURUIC03IEFGIE0lc1QKLS1aIFBTVDhQRFQgLTggQUYgUCVzVAotLVIgQUcgMTkyMCBvIC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIEFHIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUcgMTkyMSAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUcgMTkyMSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBRyAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLStaIEVTVDVFRFQgLTUgdSBFJXNUCi0rWiBDU1Q2Q0RUIC02IHUgQyVzVAotK1ogTVNUN01EVCAtNyB1IE0lc1QKLStaIFBTVDhQRFQgLTggdSBQJXNUCi0rUiBOWSAxOTIwIG8gLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgTlkgMTkyMCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBOWSAxOTIxIDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBOWSAxOTIxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIE5ZIDE5NTUgMTk2NiAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9OZXdfWW9yayAtNDo1NjoyIC0gTE1UIDE4ODMgTiAxOCAxMjozOjU4Ci0tLTUgQUYgRSVzVCAxOTIwCi0tLTUgQUcgRSVzVCAxOTQyCi0tLTUgQUYgRSVzVCAxOTQ2Ci0tLTUgQUcgRSVzVCAxOTY3Ci0tLTUgQUYgRSVzVAotLVIgQUggMTkyMCBvIC0gSnVuIDEzIDIgMSBECi0tUiBBSCAxOTIwIDE5MjEgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFIIDE5MjEgbyAtIE1hciBsYXN0U3VuIDIgMSBECi0tUiBBSCAxOTIyIDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBSCAxOTIyIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFIIDE5NTUgMTk2NiAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVCAxOTIwCi0rLTUgTlkgRSVzVCAxOTQyCi0rLTUgdSBFJXNUIDE5NDYKLSstNSBOWSBFJXNUIDE5NjcKLSstNSB1IEUlc1QKLStSIENoIDE5MjAgbyAtIEp1biAxMyAyIDEgRAotK1IgQ2ggMTkyMCAxOTIxIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBDaCAxOTIxIG8gLSBNYXIgbGFzdFN1biAyIDEgRAotK1IgQ2ggMTkyMiAxOTY2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgQ2ggMTkyMiAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBDaCAxOTU1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvQ2hpY2FnbyAtNTo1MDozNiAtIExNVCAxODgzIE4gMTggMTI6OToyNAotLS02IEFGIEMlc1QgMTkyMAotLS02IEFIIEMlc1QgMTkzNiBNYXIgMSAyCi0rLTYgdSBDJXNUIDE5MjAKLSstNiBDaCBDJXNUIDE5MzYgTWFyIDEgMgotIC01IC0gRVNUIDE5MzYgTiAxNSAyCi0tLTYgQUggQyVzVCAxOTQyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQUggQyVzVCAxOTY3Ci0tLTYgQUYgQyVzVAotKy02IENoIEMlc1QgMTk0MgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgQ2ggQyVzVCAxOTY3Ci0rLTYgdSBDJXNUCi0gWiBBbWVyaWNhL05vcnRoX0Rha290YS9DZW50ZXIgLTY6NDU6MTIgLSBMTVQgMTg4MyBOIDE4IDEyOjE0OjQ4Ci0tLTcgQUYgTSVzVCAxOTkyIE8gMjUgMgotLS02IEFGIEMlc1QKLSstNyB1IE0lc1QgMTk5MiBPIDI1IDIKLSstNiB1IEMlc1QKLSBaIEFtZXJpY2EvTm9ydGhfRGFrb3RhL05ld19TYWxlbSAtNjo0NTozOSAtIExNVCAxODgzIE4gMTggMTI6MTQ6MjEKLS0tNyBBRiBNJXNUIDIwMDMgTyAyNiAyCi0tLTYgQUYgQyVzVAotKy03IHUgTSVzVCAyMDAzIE8gMjYgMgotKy02IHUgQyVzVAotIFogQW1lcmljYS9Ob3J0aF9EYWtvdGEvQmV1bGFoIC02OjQ3OjcgLSBMTVQgMTg4MyBOIDE4IDEyOjEyOjUzCi0tLTcgQUYgTSVzVCAyMDEwIE4gNyAyCi0tLTYgQUYgQyVzVAotLVIgQUkgMTkyMCAxOTIxIC0gTWFyIGxhc3RTdW4gMiAxIEQKLS1SIEFJIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQUkgMTkyMSBvIC0gTWF5IDIyIDIgMCBTCi0tUiBBSSAxOTY1IDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBSSAxOTY1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSstNyB1IE0lc1QgMjAxMCBOIDcgMgotKy02IHUgQyVzVAotK1IgRGUgMTkyMCAxOTIxIC0gTWFyIGxhc3RTdW4gMiAxIEQKLStSIERlIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRGUgMTkyMSBvIC0gTWF5IDIyIDIgMCBTCi0rUiBEZSAxOTY1IDE5NjYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBEZSAxOTY1IDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvRGVudmVyIC02OjU5OjU2IC0gTE1UIDE4ODMgTiAxOCAxMjowOjQKLS0tNyBBRiBNJXNUIDE5MjAKLS0tNyBBSSBNJXNUIDE5NDIKLS0tNyBBRiBNJXNUIDE5NDYKLS0tNyBBSSBNJXNUIDE5NjcKLS0tNyBBRiBNJXNUCi0tUiBBSiAxOTQ4IG8gLSBNYXIgMTQgMjoxIDEgRAotLVIgQUogMTk0OSBvIC0gSmEgMSAyIDAgUwotLVIgQUogMTk1MCAxOTY2IC0gQXAgbGFzdFN1biAxIDEgRAotLVIgQUogMTk1MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBSiAxOTYyIDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSstNyB1IE0lc1QgMTkyMAotKy03IERlIE0lc1QgMTk0MgotKy03IHUgTSVzVCAxOTQ2Ci0rLTcgRGUgTSVzVCAxOTY3Ci0rLTcgdSBNJXNUCi0rUiBDQSAxOTQ4IG8gLSBNYXIgMTQgMjoxIDEgRAotK1IgQ0EgMTk0OSBvIC0gSmEgMSAyIDAgUwotK1IgQ0EgMTk1MCAxOTY2IC0gQXAgbGFzdFN1biAxIDEgRAotK1IgQ0EgMTk1MCAxOTYxIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBDQSAxOTYyIDE5NjYgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvTG9zX0FuZ2VsZXMgLTc6NTI6NTggLSBMTVQgMTg4MyBOIDE4IDEyOjc6MgotLS04IEFGIFAlc1QgMTk0NgotLS04IEFKIFAlc1QgMTk2NwotLS04IEFGIFAlc1QKLSstOCB1IFAlc1QgMTk0NgotKy04IENBIFAlc1QgMTk2NwotKy04IHUgUCVzVAotIFogQW1lcmljYS9KdW5lYXUgMTU6MjoxOSAtIExNVCAxODY3IE8gMTkgMTU6MzM6MzIKLSAtODo1Nzo0MSAtIExNVCAxOTAwIEF1IDIwIDEyCi0gLTggLSBQU1QgMTk0MgotLS04IEFGIFAlc1QgMTk0NgotKy04IHUgUCVzVCAxOTQ2Ci0gLTggLSBQU1QgMTk2OQotLS04IEFGIFAlc1QgMTk4MCBBcCAyNyAyCi0tLTkgQUYgWSVzVCAxOTgwIE8gMjYgMgotLS04IEFGIFAlc1QgMTk4MyBPIDMwIDIKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTggdSBQJXNUIDE5ODAgQXAgMjcgMgotKy05IHUgWSVzVCAxOTgwIE8gMjYgMgotKy04IHUgUCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL1NpdGthIDE0OjU4OjQ3IC0gTE1UIDE4NjcgTyAxOSAxNTozMAotIC05OjE6MTMgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC04IC0gUFNUIDE5NDIKLS0tOCBBRiBQJXNUIDE5NDYKLSstOCB1IFAlc1QgMTk0NgotIC04IC0gUFNUIDE5NjkKLS0tOCBBRiBQJXNUIDE5ODMgTyAzMCAyCi0tLTkgQUYgWSVzVCAxOTgzIE4gMzAKLS0tOSBBRiBBSyVzVAotKy04IHUgUCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL01ldGxha2F0bGEgMTU6MTM6NDIgLSBMTVQgMTg2NyBPIDE5IDE1OjQ0OjU1Ci0gLTg6NDY6MTggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC04IC0gUFNUIDE5NDIKLS0tOCBBRiBQJXNUIDE5NDYKLSstOCB1IFAlc1QgMTk0NgotIC04IC0gUFNUIDE5NjkKLS0tOCBBRiBQJXNUIDE5ODMgTyAzMCAyCi0rLTggdSBQJXNUIDE5ODMgTyAzMCAyCi0gLTggLSBQU1QgMjAxNSBOIDEgMgotLS05IEFGIEFLJXNUCi0rLTkgdSBBSyVzVAotIFogQW1lcmljYS9ZYWt1dGF0IDE0OjQxOjUgLSBMTVQgMTg2NyBPIDE5IDE1OjEyOjE4Ci0gLTk6MTg6NTUgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC05IC0gWVNUIDE5NDIKLS0tOSBBRiBZJXNUIDE5NDYKLSstOSB1IFklc1QgMTk0NgotIC05IC0gWVNUIDE5NjkKLS0tOSBBRiBZJXNUIDE5ODMgTiAzMAotLS05IEFGIEFLJXNUCi0rLTkgdSBZJXNUIDE5ODMgTiAzMAotKy05IHUgQUslc1QKLSBaIEFtZXJpY2EvQW5jaG9yYWdlIDE0OjA6MjQgLSBMTVQgMTg2NyBPIDE5IDE0OjMxOjM3Ci0gLTk6NTk6MzYgLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMCAtIEFTVCAxOTQyCi0tLTEwIEFGIEElc1QgMTk2NyBBcAotKy0xMCB1IEElc1QgMTk2NyBBcAotIC0xMCAtIEFIU1QgMTk2OQotLS0xMCBBRiBBSCVzVCAxOTgzIE8gMzAgMgotLS05IEFGIFklc1QgMTk4MyBOIDMwCi0tLTkgQUYgQUslc1QKLSstMTAgdSBBSCVzVCAxOTgzIE8gMzAgMgotKy05IHUgWSVzVCAxOTgzIE4gMzAKLSstOSB1IEFLJXNUCi0gWiBBbWVyaWNhL05vbWUgMTI6NTg6MjIgLSBMTVQgMTg2NyBPIDE5IDEzOjI5OjM1Ci0gLTExOjE6MzggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMSAtIE5TVCAxOTQyCi0tLTExIEFGIE4lc1QgMTk0NgotKy0xMSB1IE4lc1QgMTk0NgotIC0xMSAtIE5TVCAxOTY3IEFwCi0gLTExIC0gQlNUIDE5NjkKLS0tMTEgQUYgQiVzVCAxOTgzIE8gMzAgMgotLS05IEFGIFklc1QgMTk4MyBOIDMwCi0tLTkgQUYgQUslc1QKLSstMTEgdSBCJXNUIDE5ODMgTyAzMCAyCi0rLTkgdSBZJXNUIDE5ODMgTiAzMAotKy05IHUgQUslc1QKLSBaIEFtZXJpY2EvQWRhayAxMjoxMzoyMiAtIExNVCAxODY3IE8gMTkgMTI6NDQ6MzUKLSAtMTE6NDY6MzggLSBMTVQgMTkwMCBBdSAyMCAxMgotIC0xMSAtIE5TVCAxOTQyCi0tLTExIEFGIE4lc1QgMTk0NgotKy0xMSB1IE4lc1QgMTk0NgotIC0xMSAtIE5TVCAxOTY3IEFwCi0gLTExIC0gQlNUIDE5NjkKLS0tMTEgQUYgQiVzVCAxOTgzIE8gMzAgMgotLS0xMCBBRiBBSCVzVCAxOTgzIE4gMzAKLS0tMTAgQUYgSCVzVAotKy0xMSB1IEIlc1QgMTk4MyBPIDMwIDIKLSstMTAgdSBBSCVzVCAxOTgzIE4gMzAKLSstMTAgdSBIJXNUCi0gWiBQYWNpZmljL0hvbm9sdWx1IC0xMDozMToyNiAtIExNVCAxODk2IEphIDEzIDEyCi0gLTEwOjMwIC0gSFNUIDE5MzMgQXAgMzAgMgotIC0xMDozMCAxIEhEVCAxOTMzIE1heSAyMSAxMgotQEAgLTI2ODMsNTMxICsyNzAwLDUzMSBAQCBaIFBhY2lmaWMvSG9ub2x1bHUgLTEwOjMxOjI2IC0gTE1UIDE4OTYgSmEgMTMgMTIKLSAtMTA6MzAgLSBIU1QgMTk0NyBKdW4gOCAyCi0gLTEwIC0gSFNUCi0gWiBBbWVyaWNhL1Bob2VuaXggLTc6Mjg6MTggLSBMTVQgMTg4MyBOIDE4IDExOjMxOjQyCi0tLTcgQUYgTSVzVCAxOTQ0IEphIDEgMDoxCi0rLTcgdSBNJXNUIDE5NDQgSmEgMSAwOjEKLSAtNyAtIE1TVCAxOTQ0IEFwIDEgMDoxCi0tLTcgQUYgTSVzVCAxOTQ0IE8gMSAwOjEKLSstNyB1IE0lc1QgMTk0NCBPIDEgMDoxCi0gLTcgLSBNU1QgMTk2NwotLS03IEFGIE0lc1QgMTk2OCBNYXIgMjEKLSstNyB1IE0lc1QgMTk2OCBNYXIgMjEKLSAtNyAtIE1TVAotIFogQW1lcmljYS9Cb2lzZSAtNzo0NDo0OSAtIExNVCAxODgzIE4gMTggMTI6MTU6MTEKLS0tOCBBRiBQJXNUIDE5MjMgTWF5IDEzIDIKLS0tNyBBRiBNJXNUIDE5NzQKLSstOCB1IFAlc1QgMTkyMyBNYXkgMTMgMgotKy03IHUgTSVzVCAxOTc0Ci0gLTcgLSBNU1QgMTk3NCBGIDMgMgotLS03IEFGIE0lc1QKLS1SIEFLIDE5NDEgbyAtIEp1biAyMiAyIDEgRAotLVIgQUsgMTk0MSAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBSyAxOTQ2IDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0rLTcgdSBNJXNUCi0rUiBJbiAxOTQxIG8gLSBKdW4gMjIgMiAxIEQKLStSIEluIDE5NDEgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgSW4gMTk0NiAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotIFogQW1lcmljYS9JbmRpYW5hL0luZGlhbmFwb2xpcyAtNTo0NDozOCAtIExNVCAxODgzIE4gMTggMTI6MTU6MjIKLS0tNiBBRiBDJXNUIDE5MjAKLS0tNiBBSyBDJXNUIDE5NDIKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBSyBDJXNUIDE5NTUgQXAgMjQgMgotKy02IHUgQyVzVCAxOTIwCi0rLTYgSW4gQyVzVCAxOTQyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBJbiBDJXNUIDE5NTUgQXAgMjQgMgotIC01IC0gRVNUIDE5NTcgUyAyOSAyCi0gLTYgLSBDU1QgMTk1OCBBcCAyNyAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3MQotKy01IHUgRSVzVCAxOTcxCi0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFMIDE5NTEgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFMIDE5NTEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQUwgMTk1NCAxOTYwIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQUwgMTk1NCAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiBNYSAxOTUxIG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNYSAxOTUxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIE1hIDE5NTQgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIE1hIDE5NTQgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL01hcmVuZ28gLTU6NDU6MjMgLSBMTVQgMTg4MyBOIDE4IDEyOjE0OjM3Ci0tLTYgQUYgQyVzVCAxOTUxCi0tLTYgQUwgQyVzVCAxOTYxIEFwIDMwIDIKLSstNiB1IEMlc1QgMTk1MQotKy02IE1hIEMlc1QgMTk2MSBBcCAzMCAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3NCBKYSA2IDIKLSstNSB1IEUlc1QgMTk3NCBKYSA2IDIKLSAtNiAxIENEVCAxOTc0IE8gMjcgMgotLS01IEFGIEUlc1QgMTk3NgotKy01IHUgRSVzVCAxOTc2Ci0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFNIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFNIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU0gMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU0gMTk1MyAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotLVIgQU0gMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU0gMTk2MCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBTSAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFNIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotKy01IHUgRSVzVAotK1IgViAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgViAxOTUzIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NTMgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgViAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgViAxOTU2IDE5NjMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWIDE5NjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgViAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFYgMTk2MiAxOTYzIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvVmluY2VubmVzIC01OjUwOjcgLSBMTVQgMTg4MyBOIDE4IDEyOjk6NTMKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBTSBDJXNUIDE5NjQgQXAgMjYgMgotKy02IHUgQyVzVCAxOTQ2Ci0rLTYgViBDJXNUIDE5NjQgQXAgMjYgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVCAyMDA3IE4gNCAyCi0tLTUgQUYgRSVzVAotLVIgQU4gMTk0NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU4gMTk0NiBvIC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBTiAxOTUzIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTiAxOTUzIDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFOIDE5NTUgbyAtIE1heSAxIDAgMSBECi0tUiBBTiAxOTU2IDE5NjMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBTiAxOTYwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFOIDE5NjEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU4gMTk2MiAxOTYzIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUIDIwMDcgTiA0IDIKLSstNSB1IEUlc1QKLStSIFBlIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFBlIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgUGUgMTk1MyAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgUGUgMTk1MyAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBQZSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgUGUgMTk1NiAxOTYzIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgUGUgMTk2MCBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBQZSAxOTYxIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFBlIDE5NjIgMTk2MyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9JbmRpYW5hL1RlbGxfQ2l0eSAtNTo0NzozIC0gTE1UIDE4ODMgTiAxOCAxMjoxMjo1NwotLS02IEFGIEMlc1QgMTk0NgotLS02IEFOIEMlc1QgMTk2NCBBcCAyNiAyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBQZSBDJXNUIDE5NjQgQXAgMjYgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVAotLVIgQU8gMTk1NSBvIC0gTWF5IDEgMCAxIEQKLS1SIEFPIDE5NTUgMTk2MCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQU8gMTk1NiAxOTY0IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQU8gMTk2MSAxOTY0IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTYgdSBDJXNUCi0rUiBQaSAxOTU1IG8gLSBNYXkgMSAwIDEgRAotK1IgUGkgMTk1NSAxOTYwIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBQaSAxOTU2IDE5NjQgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBQaSAxOTYxIDE5NjQgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9QZXRlcnNidXJnIC01OjQ5OjcgLSBMTVQgMTg4MyBOIDE4IDEyOjEwOjUzCi0tLTYgQUYgQyVzVCAxOTU1Ci0tLTYgQU8gQyVzVCAxOTY1IEFwIDI1IDIKLSstNiB1IEMlc1QgMTk1NQotKy02IFBpIEMlc1QgMTk2NSBBcCAyNSAyCi0gLTUgLSBFU1QgMTk2NiBPIDMwIDIKLS0tNiBBRiBDJXNUIDE5NzcgTyAzMCAyCi0rLTYgdSBDJXNUIDE5NzcgTyAzMCAyCi0gLTUgLSBFU1QgMjAwNiBBcCAyIDIKLS0tNiBBRiBDJXNUIDIwMDcgTiA0IDIKLS0tNSBBRiBFJXNUCi0tUiBBUCAxOTQ3IDE5NjEgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBUCAxOTQ3IDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFQIDE5NTUgMTk1NiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVAgMTk1NyAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBUCAxOTU5IDE5NjEgLSBPIGxhc3RTdW4gMiAwIFMKLSstNiB1IEMlc1QgMjAwNyBOIDQgMgotKy01IHUgRSVzVAotK1IgU3QgMTk0NyAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgU3QgMTk0NyAxOTU0IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBTdCAxOTU1IDE5NTYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIFN0IDE5NTcgMTk1OCAtIFMgbGFzdFN1biAyIDAgUwotK1IgU3QgMTk1OSAxOTYxIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0luZGlhbmEvS25veCAtNTo0NjozMCAtIExNVCAxODgzIE4gMTggMTI6MTM6MzAKLS0tNiBBRiBDJXNUIDE5NDcKLS0tNiBBUCBDJXNUIDE5NjIgQXAgMjkgMgotKy02IHUgQyVzVCAxOTQ3Ci0rLTYgU3QgQyVzVCAxOTYyIEFwIDI5IDIKLSAtNSAtIEVTVCAxOTYzIE8gMjcgMgotLS02IEFGIEMlc1QgMTk5MSBPIDI3IDIKLSstNiB1IEMlc1QgMTk5MSBPIDI3IDIKLSAtNSAtIEVTVCAyMDA2IEFwIDIgMgotLS02IEFGIEMlc1QKLS1SIEFRIDE5NDYgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFRIDE5NDYgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVEgMTk1NSAxOTU2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBUSAxOTU3IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLSstNiB1IEMlc1QKLStSIFB1IDE5NDYgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFB1IDE5NDYgMTk1NCAtIFMgbGFzdFN1biAyIDAgUwotK1IgUHUgMTk1NSAxOTU2IC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBQdSAxOTU3IDE5NjAgLSBTIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSW5kaWFuYS9XaW5hbWFjIC01OjQ2OjI1IC0gTE1UIDE4ODMgTiAxOCAxMjoxMzozNQotLS02IEFGIEMlc1QgMTk0NgotLS02IEFRIEMlc1QgMTk2MSBBcCAzMCAyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiBQdSBDJXNUIDE5NjEgQXAgMzAgMgotIC01IC0gRVNUIDE5NjkKLS0tNSBBRiBFJXNUIDE5NzEKLSstNSB1IEUlc1QgMTk3MQotIC01IC0gRVNUIDIwMDYgQXAgMiAyCi0tLTYgQUYgQyVzVCAyMDA3IE1hciAxMSAyCi0tLTUgQUYgRSVzVAotKy02IHUgQyVzVCAyMDA3IE1hciAxMSAyCi0rLTUgdSBFJXNUCi0gWiBBbWVyaWNhL0luZGlhbmEvVmV2YXkgLTU6NDA6MTYgLSBMTVQgMTg4MyBOIDE4IDEyOjE5OjQ0Ci0tLTYgQUYgQyVzVCAxOTU0IEFwIDI1IDIKLSstNiB1IEMlc1QgMTk1NCBBcCAyNSAyCi0gLTUgLSBFU1QgMTk2OQotLS01IEFGIEUlc1QgMTk3MwotKy01IHUgRSVzVCAxOTczCi0gLTUgLSBFU1QgMjAwNgotLS01IEFGIEUlc1QKLS1SIEFSIDE5MjEgbyAtIE1heSAxIDIgMSBECi0tUiBBUiAxOTIxIG8gLSBTIDEgMiAwIFMKLS1SIEFSIDE5NDEgMTk2MSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFSIDE5NDEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVIgMTk0NiBvIC0gSnVuIDIgMiAwIFMKLS1SIEFSIDE5NTAgMTk1NSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVIgMTk1NiAxOTYwIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiB2IDE5MjEgbyAtIE1heSAxIDIgMSBECi0rUiB2IDE5MjEgbyAtIFMgMSAyIDAgUwotK1IgdiAxOTQxIDE5NjEgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB2IDE5NDEgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgdiAxOTQ2IG8gLSBKdW4gMiAyIDAgUwotK1IgdiAxOTUwIDE5NTUgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHYgMTk1NiAxOTYwIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0tlbnR1Y2t5L0xvdWlzdmlsbGUgLTU6NDM6MiAtIExNVCAxODgzIE4gMTggMTI6MTY6NTgKLS0tNiBBRiBDJXNUIDE5MjEKLS0tNiBBUiBDJXNUIDE5NDIKLS0tNiBBRiBDJXNUIDE5NDYKLS0tNiBBUiBDJXNUIDE5NjEgSnVsIDIzIDIKLSstNiB1IEMlc1QgMTkyMQotKy02IHYgQyVzVCAxOTQyCi0rLTYgdSBDJXNUIDE5NDYKLSstNiB2IEMlc1QgMTk2MSBKdWwgMjMgMgotIC01IC0gRVNUIDE5NjgKLS0tNSBBRiBFJXNUIDE5NzQgSmEgNiAyCi0rLTUgdSBFJXNUIDE5NzQgSmEgNiAyCi0gLTYgMSBDRFQgMTk3NCBPIDI3IDIKLS0tNSBBRiBFJXNUCi0rLTUgdSBFJXNUCi0gWiBBbWVyaWNhL0tlbnR1Y2t5L01vbnRpY2VsbG8gLTU6Mzk6MjQgLSBMTVQgMTg4MyBOIDE4IDEyOjIwOjM2Ci0tLTYgQUYgQyVzVCAxOTQ2Ci0rLTYgdSBDJXNUIDE5NDYKLSAtNiAtIENTVCAxOTY4Ci0tLTYgQUYgQyVzVCAyMDAwIE8gMjkgMgotLS01IEFGIEUlc1QKLS1SIEFTIDE5NDggbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFTIDE5NDggbyAtIFMgbGFzdFN1biAyIDAgUwotKy02IHUgQyVzVCAyMDAwIE8gMjkgMgotKy01IHUgRSVzVAotK1IgRHQgMTk0OCBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRHQgMTk0OCBvIC0gUyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0RldHJvaXQgLTU6MzI6MTEgLSBMTVQgMTkwNQotIC02IC0gQ1NUIDE5MTUgTWF5IDE1IDIKLSAtNSAtIEVTVCAxOTQyCi0tLTUgQUYgRSVzVCAxOTQ2Ci0tLTUgQVMgRSVzVCAxOTczCi0tLTUgQUYgRSVzVCAxOTc1Ci0rLTUgdSBFJXNUIDE5NDYKLSstNSBEdCBFJXNUIDE5NzMKLSstNSB1IEUlc1QgMTk3NQotIC01IC0gRVNUIDE5NzUgQXAgMjcgMgotLS01IEFGIEUlc1QKLS1SIEFUIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFUIDE5NDYgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVQgMTk2NiBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVQgMTk2NiBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTUgdSBFJXNUCi0rUiBNZSAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBNZSAxOTQ2IG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIE1lIDE5NjYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIE1lIDE5NjYgbyAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9NZW5vbWluZWUgLTU6NTA6MjcgLSBMTVQgMTg4NSBTIDE4IDEyCi0tLTYgQUYgQyVzVCAxOTQ2Ci0tLTYgQVQgQyVzVCAxOTY5IEFwIDI3IDIKLSstNiB1IEMlc1QgMTk0NgotKy02IE1lIEMlc1QgMTk2OSBBcCAyNyAyCi0gLTUgLSBFU1QgMTk3MyBBcCAyOSAyCi0tLTYgQUYgQyVzVAotLVIgQVUgMTkxOCBvIC0gQXAgMTQgMiAxIEQKLS1SIEFVIDE5MTggbyAtIE8gMjcgMiAwIFMKLS1SIEFVIDE5NDIgbyAtIEYgOSAyIDEgVwotLVIgQVUgMTk0NSBvIC0gQXUgMTQgMjN1IDEgUAotLVIgQVUgMTk0NSBvIC0gUyAzMCAyIDAgUwotLVIgQVUgMTk3NCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVUgMTk3NCAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBVSAxOTg3IDIwMDYgLSBBcCBTdW4+PTEgMiAxIEQKLS1SIEFVIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBVSAyMDA3IG1hIC0gTiBTdW4+PTEgMiAwIFMKLS1SIEFWIDE5MTcgbyAtIEFwIDggMiAxIEQKLS1SIEFWIDE5MTcgbyAtIFMgMTcgMiAwIFMKLS1SIEFWIDE5MTkgbyAtIE1heSA1IDIzIDEgRAotLVIgQVYgMTkxOSBvIC0gQXUgMTIgMjMgMCBTCi0tUiBBViAxOTIwIDE5MzUgLSBNYXkgU3VuPj0xIDIzIDEgRAotLVIgQVYgMTkyMCAxOTM1IC0gTyBsYXN0U3VuIDIzIDAgUwotLVIgQVYgMTkzNiAxOTQxIC0gTWF5IE0+PTkgMCAxIEQKLS1SIEFWIDE5MzYgMTk0MSAtIE8gTT49MiAwIDAgUwotLVIgQVYgMTk0NiAxOTUwIC0gTWF5IFN1bj49OCAyIDEgRAotLVIgQVYgMTk0NiAxOTUwIC0gTyBTdW4+PTIgMiAwIFMKLS1SIEFWIDE5NTEgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFWIDE5NTEgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVYgMTk2MCAxOTg2IC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBViAxOTg3IG8gLSBBcCBTdW4+PTEgMDoxIDEgRAotLVIgQVYgMTk4NyAyMDA2IC0gTyBsYXN0U3VuIDA6MSAwIFMKLS1SIEFWIDE5ODggbyAtIEFwIFN1bj49MSAwOjEgMiBERAotLVIgQVYgMTk4OSAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLS1SIEFWIDIwMDcgMjAxMSAtIE1hciBTdW4+PTggMDoxIDEgRAotLVIgQVYgMjAwNyAyMDEwIC0gTiBTdW4+PTEgMDoxIDAgUwotKy02IHUgQyVzVAotK1IgQyAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgQyAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBDIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgQyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBDIDE5NDUgbyAtIFMgMzAgMiAwIFMKLStSIEMgMTk3NCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgQyAxOTc0IDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIEMgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0rUiBDIDIwMDcgbWEgLSBNYXIgU3VuPj04IDIgMSBECi0rUiBDIDIwMDcgbWEgLSBOIFN1bj49MSAyIDAgUwotK1IgaiAxOTE3IG8gLSBBcCA4IDIgMSBECi0rUiBqIDE5MTcgbyAtIFMgMTcgMiAwIFMKLStSIGogMTkxOSBvIC0gTWF5IDUgMjMgMSBECi0rUiBqIDE5MTkgbyAtIEF1IDEyIDIzIDAgUwotK1IgaiAxOTIwIDE5MzUgLSBNYXkgU3VuPj0xIDIzIDEgRAotK1IgaiAxOTIwIDE5MzUgLSBPIGxhc3RTdW4gMjMgMCBTCi0rUiBqIDE5MzYgMTk0MSAtIE1heSBNPj05IDAgMSBECi0rUiBqIDE5MzYgMTk0MSAtIE8gTT49MiAwIDAgUwotK1IgaiAxOTQ2IDE5NTAgLSBNYXkgU3VuPj04IDIgMSBECi0rUiBqIDE5NDYgMTk1MCAtIE8gU3VuPj0yIDIgMCBTCi0rUiBqIDE5NTEgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIGogMTk1MSAxOTU5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBqIDE5NjAgMTk4NiAtIE8gbGFzdFN1biAyIDAgUwotK1IgaiAxOTg3IG8gLSBBcCBTdW4+PTEgMDoxIDEgRAotK1IgaiAxOTg3IDIwMDYgLSBPIGxhc3RTdW4gMDoxIDAgUwotK1IgaiAxOTg4IG8gLSBBcCBTdW4+PTEgMDoxIDIgREQKLStSIGogMTk4OSAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLStSIGogMjAwNyAyMDExIC0gTWFyIFN1bj49OCAwOjEgMSBECi0rUiBqIDIwMDcgMjAxMCAtIE4gU3VuPj0xIDA6MSAwIFMKLSBaIEFtZXJpY2EvU3RfSm9obnMgLTM6MzA6NTIgLSBMTVQgMTg4NAotLS0zOjMwOjUyIEFWIE4lc1QgMTkxOAotLS0zOjMwOjUyIEFVIE4lc1QgMTkxOQotLS0zOjMwOjUyIEFWIE4lc1QgMTkzNSBNYXIgMzAKLS0tMzozMCBBViBOJXNUIDE5NDIgTWF5IDExCi0tLTM6MzAgQVUgTiVzVCAxOTQ2Ci0tLTM6MzAgQVYgTiVzVCAyMDExIE4KLS0tMzozMCBBVSBOJXNUCi0rLTM6MzA6NTIgaiBOJXNUIDE5MTgKLSstMzozMDo1MiBDIE4lc1QgMTkxOQotKy0zOjMwOjUyIGogTiVzVCAxOTM1IE1hciAzMAotKy0zOjMwIGogTiVzVCAxOTQyIE1heSAxMQotKy0zOjMwIEMgTiVzVCAxOTQ2Ci0rLTM6MzAgaiBOJXNUIDIwMTEgTgotKy0zOjMwIEMgTiVzVAotIFogQW1lcmljYS9Hb29zZV9CYXkgLTQ6MTo0MCAtIExNVCAxODg0Ci0gLTM6MzA6NTIgLSBOU1QgMTkxOAotLS0zOjMwOjUyIEFVIE4lc1QgMTkxOQotKy0zOjMwOjUyIEMgTiVzVCAxOTE5Ci0gLTM6MzA6NTIgLSBOU1QgMTkzNSBNYXIgMzAKLSAtMzozMCAtIE5TVCAxOTM2Ci0tLTM6MzAgQVYgTiVzVCAxOTQyIE1heSAxMQotLS0zOjMwIEFVIE4lc1QgMTk0NgotLS0zOjMwIEFWIE4lc1QgMTk2NiBNYXIgMTUgMgotLS00IEFWIEElc1QgMjAxMSBOCi0tLTQgQVUgQSVzVAotLVIgQVcgMTkxNiBvIC0gQXAgMSAwIDEgRAotLVIgQVcgMTkxNiBvIC0gTyAxIDAgMCBTCi0tUiBBVyAxOTIwIG8gLSBNYXkgOSAwIDEgRAotLVIgQVcgMTkyMCBvIC0gQXUgMjkgMCAwIFMKLS1SIEFXIDE5MjEgbyAtIE1heSA2IDAgMSBECi0tUiBBVyAxOTIxIDE5MjIgLSBTIDUgMCAwIFMKLS1SIEFXIDE5MjIgbyAtIEFwIDMwIDAgMSBECi0tUiBBVyAxOTIzIDE5MjUgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBVyAxOTIzIG8gLSBTIDQgMCAwIFMKLS1SIEFXIDE5MjQgbyAtIFMgMTUgMCAwIFMKLS1SIEFXIDE5MjUgbyAtIFMgMjggMCAwIFMKLS1SIEFXIDE5MjYgbyAtIE1heSAxNiAwIDEgRAotLVIgQVcgMTkyNiBvIC0gUyAxMyAwIDAgUwotLVIgQVcgMTkyNyBvIC0gTWF5IDEgMCAxIEQKLS1SIEFXIDE5MjcgbyAtIFMgMjYgMCAwIFMKLS1SIEFXIDE5MjggMTkzMSAtIE1heSBTdW4+PTggMCAxIEQKLS1SIEFXIDE5MjggbyAtIFMgOSAwIDAgUwotLVIgQVcgMTkyOSBvIC0gUyAzIDAgMCBTCi0tUiBBVyAxOTMwIG8gLSBTIDE1IDAgMCBTCi0tUiBBVyAxOTMxIDE5MzIgLSBTIE0+PTI0IDAgMCBTCi0tUiBBVyAxOTMyIG8gLSBNYXkgMSAwIDEgRAotLVIgQVcgMTkzMyBvIC0gQXAgMzAgMCAxIEQKLS1SIEFXIDE5MzMgbyAtIE8gMiAwIDAgUwotLVIgQVcgMTkzNCBvIC0gTWF5IDIwIDAgMSBECi0tUiBBVyAxOTM0IG8gLSBTIDE2IDAgMCBTCi0tUiBBVyAxOTM1IG8gLSBKdW4gMiAwIDEgRAotLVIgQVcgMTkzNSBvIC0gUyAzMCAwIDAgUwotLVIgQVcgMTkzNiBvIC0gSnVuIDEgMCAxIEQKLS1SIEFXIDE5MzYgbyAtIFMgMTQgMCAwIFMKLS1SIEFXIDE5MzcgMTkzOCAtIE1heSBTdW4+PTEgMCAxIEQKLS1SIEFXIDE5MzcgMTk0MSAtIFMgTT49MjQgMCAwIFMKLS1SIEFXIDE5MzkgbyAtIE1heSAyOCAwIDEgRAotLVIgQVcgMTk0MCAxOTQxIC0gTWF5IFN1bj49MSAwIDEgRAotLVIgQVcgMTk0NiAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVcgMTk0NiAxOTQ5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBVyAxOTUxIDE5NTQgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBVyAxOTUxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFXIDE5NTYgMTk1OSAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFXIDE5NTYgMTk1OSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVcgMTk2MiAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVcgMTk2MiAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0rLTM6MzAgaiBOJXNUIDE5NDIgTWF5IDExCi0rLTM6MzAgQyBOJXNUIDE5NDYKLSstMzozMCBqIE4lc1QgMTk2NiBNYXIgMTUgMgotKy00IGogQSVzVCAyMDExIE4KLSstNCBDIEElc1QKLStSIEggMTkxNiBvIC0gQXAgMSAwIDEgRAotK1IgSCAxOTE2IG8gLSBPIDEgMCAwIFMKLStSIEggMTkyMCBvIC0gTWF5IDkgMCAxIEQKLStSIEggMTkyMCBvIC0gQXUgMjkgMCAwIFMKLStSIEggMTkyMSBvIC0gTWF5IDYgMCAxIEQKLStSIEggMTkyMSAxOTIyIC0gUyA1IDAgMCBTCi0rUiBIIDE5MjIgbyAtIEFwIDMwIDAgMSBECi0rUiBIIDE5MjMgMTkyNSAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEggMTkyMyBvIC0gUyA0IDAgMCBTCi0rUiBIIDE5MjQgbyAtIFMgMTUgMCAwIFMKLStSIEggMTkyNSBvIC0gUyAyOCAwIDAgUwotK1IgSCAxOTI2IG8gLSBNYXkgMTYgMCAxIEQKLStSIEggMTkyNiBvIC0gUyAxMyAwIDAgUwotK1IgSCAxOTI3IG8gLSBNYXkgMSAwIDEgRAotK1IgSCAxOTI3IG8gLSBTIDI2IDAgMCBTCi0rUiBIIDE5MjggMTkzMSAtIE1heSBTdW4+PTggMCAxIEQKLStSIEggMTkyOCBvIC0gUyA5IDAgMCBTCi0rUiBIIDE5MjkgbyAtIFMgMyAwIDAgUwotK1IgSCAxOTMwIG8gLSBTIDE1IDAgMCBTCi0rUiBIIDE5MzEgMTkzMiAtIFMgTT49MjQgMCAwIFMKLStSIEggMTkzMiBvIC0gTWF5IDEgMCAxIEQKLStSIEggMTkzMyBvIC0gQXAgMzAgMCAxIEQKLStSIEggMTkzMyBvIC0gTyAyIDAgMCBTCi0rUiBIIDE5MzQgbyAtIE1heSAyMCAwIDEgRAotK1IgSCAxOTM0IG8gLSBTIDE2IDAgMCBTCi0rUiBIIDE5MzUgbyAtIEp1biAyIDAgMSBECi0rUiBIIDE5MzUgbyAtIFMgMzAgMCAwIFMKLStSIEggMTkzNiBvIC0gSnVuIDEgMCAxIEQKLStSIEggMTkzNiBvIC0gUyAxNCAwIDAgUwotK1IgSCAxOTM3IDE5MzggLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBIIDE5MzcgMTk0MSAtIFMgTT49MjQgMCAwIFMKLStSIEggMTkzOSBvIC0gTWF5IDI4IDAgMSBECi0rUiBIIDE5NDAgMTk0MSAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEggMTk0NiAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTQ2IDE5NDkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk1MSAxOTU0IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTUxIDE5NTQgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk1NiAxOTU5IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTU2IDE5NTkgLSBTIGxhc3RTdW4gMiAwIFMKLStSIEggMTk2MiAxOTczIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgSCAxOTYyIDE5NzMgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvSGFsaWZheCAtNDoxNDoyNCAtIExNVCAxOTAyIEp1biAxNQotLS00IEFXIEElc1QgMTkxOAotLS00IEFVIEElc1QgMTkxOQotLS00IEFXIEElc1QgMTk0MiBGIDkgMnMKLS0tNCBBVSBBJXNUIDE5NDYKLS0tNCBBVyBBJXNUIDE5NzQKLS0tNCBBVSBBJXNUCi0rLTQgSCBBJXNUIDE5MTgKLSstNCBDIEElc1QgMTkxOQotKy00IEggQSVzVCAxOTQyIEYgOSAycwotKy00IEMgQSVzVCAxOTQ2Ci0rLTQgSCBBJXNUIDE5NzQKLSstNCBDIEElc1QKLSBaIEFtZXJpY2EvR2xhY2VfQmF5IC0zOjU5OjQ4IC0gTE1UIDE5MDIgSnVuIDE1Ci0tLTQgQVUgQSVzVCAxOTUzCi0tLTQgQVcgQSVzVCAxOTU0Ci0rLTQgQyBBJXNUIDE5NTMKLSstNCBIIEElc1QgMTk1NAotIC00IC0gQVNUIDE5NzIKLS0tNCBBVyBBJXNUIDE5NzQKLS0tNCBBVSBBJXNUCi0tUiBBWCAxOTMzIDE5MzUgLSBKdW4gU3VuPj04IDEgMSBECi0tUiBBWCAxOTMzIDE5MzUgLSBTIFN1bj49OCAxIDAgUwotLVIgQVggMTkzNiAxOTM4IC0gSnVuIFN1bj49MSAxIDEgRAotLVIgQVggMTkzNiAxOTM4IC0gUyBTdW4+PTEgMSAwIFMKLS1SIEFYIDE5MzkgbyAtIE1heSAyNyAxIDEgRAotLVIgQVggMTkzOSAxOTQxIC0gUyBTYXQ+PTIxIDEgMCBTCi0tUiBBWCAxOTQwIG8gLSBNYXkgMTkgMSAxIEQKLS1SIEFYIDE5NDEgbyAtIE1heSA0IDEgMSBECi0tUiBBWCAxOTQ2IDE5NzIgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWCAxOTQ2IDE5NTYgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFYIDE5NTcgMTk3MiAtIE8gbGFzdFN1biAyIDAgUwotLVIgQVggMTk5MyAyMDA2IC0gQXAgU3VuPj0xIDA6MSAxIEQKLS1SIEFYIDE5OTMgMjAwNiAtIE8gbGFzdFN1biAwOjEgMCBTCi0rLTQgSCBBJXNUIDE5NzQKLSstNCBDIEElc1QKLStSIG8gMTkzMyAxOTM1IC0gSnVuIFN1bj49OCAxIDEgRAotK1IgbyAxOTMzIDE5MzUgLSBTIFN1bj49OCAxIDAgUwotK1IgbyAxOTM2IDE5MzggLSBKdW4gU3VuPj0xIDEgMSBECi0rUiBvIDE5MzYgMTkzOCAtIFMgU3VuPj0xIDEgMCBTCi0rUiBvIDE5MzkgbyAtIE1heSAyNyAxIDEgRAotK1IgbyAxOTM5IDE5NDEgLSBTIFNhdD49MjEgMSAwIFMKLStSIG8gMTk0MCBvIC0gTWF5IDE5IDEgMSBECi0rUiBvIDE5NDEgbyAtIE1heSA0IDEgMSBECi0rUiBvIDE5NDYgMTk3MiAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIG8gMTk0NiAxOTU2IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBvIDE5NTcgMTk3MiAtIE8gbGFzdFN1biAyIDAgUwotK1IgbyAxOTkzIDIwMDYgLSBBcCBTdW4+PTEgMDoxIDEgRAotK1IgbyAxOTkzIDIwMDYgLSBPIGxhc3RTdW4gMDoxIDAgUwotIFogQW1lcmljYS9Nb25jdG9uIC00OjE5OjggLSBMTVQgMTg4MyBEIDkKLSAtNSAtIEVTVCAxOTAyIEp1biAxNQotLS00IEFVIEElc1QgMTkzMwotLS00IEFYIEElc1QgMTk0MgotLS00IEFVIEElc1QgMTk0NgotLS00IEFYIEElc1QgMTk3MwotLS00IEFVIEElc1QgMTk5MwotLS00IEFYIEElc1QgMjAwNwotLS00IEFVIEElc1QKLSstNCBDIEElc1QgMTkzMwotKy00IG8gQSVzVCAxOTQyCi0rLTQgQyBBJXNUIDE5NDYKLSstNCBvIEElc1QgMTk3MwotKy00IEMgQSVzVCAxOTkzCi0rLTQgbyBBJXNUIDIwMDcKLSstNCBDIEElc1QKLSBaIEFtZXJpY2EvQmxhbmMtU2FibG9uIC0zOjQ4OjI4IC0gTE1UIDE4ODQKLS0tNCBBVSBBJXNUIDE5NzAKLSstNCBDIEElc1QgMTk3MAotIC00IC0gQVNUCi0tUiBBWSAxOTE5IG8gLSBNYXIgMzAgMjM6MzAgMSBECi0tUiBBWSAxOTE5IG8gLSBPIDI2IDAgMCBTCi0tUiBBWSAxOTIwIG8gLSBNYXkgMiAyIDEgRAotLVIgQVkgMTkyMCBvIC0gUyAyNiAwIDAgUwotLVIgQVkgMTkyMSBvIC0gTWF5IDE1IDIgMSBECi0tUiBBWSAxOTIxIG8gLSBTIDE1IDIgMCBTCi0tUiBBWSAxOTIyIDE5MjMgLSBNYXkgU3VuPj04IDIgMSBECi0tUiBBWSAxOTIyIDE5MjYgLSBTIFN1bj49MTUgMiAwIFMKLS1SIEFZIDE5MjQgMTkyNyAtIE1heSBTdW4+PTEgMiAxIEQKLS1SIEFZIDE5MjcgMTkzMiAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVkgMTkyOCAxOTMxIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVkgMTkzMiBvIC0gTWF5IDEgMiAxIEQKLS1SIEFZIDE5MzMgMTk0MCAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFZIDE5MzMgbyAtIE8gMSAyIDAgUwotLVIgQVkgMTkzNCAxOTM5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWSAxOTQ1IDE5NDYgLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5NDYgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFZIDE5NDcgMTk0OSAtIEFwIGxhc3RTdW4gMCAxIEQKLS1SIEFZIDE5NDcgMTk0OCAtIFMgbGFzdFN1biAwIDAgUwotLVIgQVkgMTk0OSBvIC0gTiBsYXN0U3VuIDAgMCBTCi0tUiBBWSAxOTUwIDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBWSAxOTUwIG8gLSBOIGxhc3RTdW4gMiAwIFMKLS1SIEFZIDE5NTEgMTk1NiAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVkgMTk1NyAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5MTkgbyAtIE1hciAzMCAyMzozMCAxIEQKLStSIHQgMTkxOSBvIC0gTyAyNiAwIDAgUwotK1IgdCAxOTIwIG8gLSBNYXkgMiAyIDEgRAotK1IgdCAxOTIwIG8gLSBTIDI2IDAgMCBTCi0rUiB0IDE5MjEgbyAtIE1heSAxNSAyIDEgRAotK1IgdCAxOTIxIG8gLSBTIDE1IDIgMCBTCi0rUiB0IDE5MjIgMTkyMyAtIE1heSBTdW4+PTggMiAxIEQKLStSIHQgMTkyMiAxOTI2IC0gUyBTdW4+PTE1IDIgMCBTCi0rUiB0IDE5MjQgMTkyNyAtIE1heSBTdW4+PTEgMiAxIEQKLStSIHQgMTkyNyAxOTMyIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5MjggMTkzMSAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIHQgMTkzMiBvIC0gTWF5IDEgMiAxIEQKLStSIHQgMTkzMyAxOTQwIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgdCAxOTMzIG8gLSBPIDEgMiAwIFMKLStSIHQgMTkzNCAxOTM5IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiB0IDE5NDUgMTk0NiAtIFMgbGFzdFN1biAyIDAgUwotK1IgdCAxOTQ2IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB0IDE5NDcgMTk0OSAtIEFwIGxhc3RTdW4gMCAxIEQKLStSIHQgMTk0NyAxOTQ4IC0gUyBsYXN0U3VuIDAgMCBTCi0rUiB0IDE5NDkgbyAtIE4gbGFzdFN1biAwIDAgUwotK1IgdCAxOTUwIDE5NzMgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiB0IDE5NTAgbyAtIE4gbGFzdFN1biAyIDAgUwotK1IgdCAxOTUxIDE5NTYgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHQgMTk1NyAxOTczIC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL1Rvcm9udG8gLTU6MTc6MzIgLSBMTVQgMTg5NQotLS01IEFVIEUlc1QgMTkxOQotLS01IEFZIEUlc1QgMTk0MiBGIDkgMnMKLS0tNSBBVSBFJXNUIDE5NDYKLS0tNSBBWSBFJXNUIDE5NzQKLS0tNSBBVSBFJXNUCi0rLTUgQyBFJXNUIDE5MTkKLSstNSB0IEUlc1QgMTk0MiBGIDkgMnMKLSstNSBDIEUlc1QgMTk0NgotKy01IHQgRSVzVCAxOTc0Ci0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL1RodW5kZXJfQmF5IC01OjU3IC0gTE1UIDE4OTUKLSAtNiAtIENTVCAxOTEwCi0gLTUgLSBFU1QgMTk0MgotLS01IEFVIEUlc1QgMTk3MAotLS01IEFZIEUlc1QgMTk3MwotKy01IEMgRSVzVCAxOTcwCi0rLTUgdCBFJXNUIDE5NzMKLSAtNSAtIEVTVCAxOTc0Ci0tLTUgQVUgRSVzVAotKy01IEMgRSVzVAotIFogQW1lcmljYS9OaXBpZ29uIC01OjUzOjQgLSBMTVQgMTg5NQotLS01IEFVIEUlc1QgMTk0MCBTIDI5Ci0rLTUgQyBFJXNUIDE5NDAgUyAyOQotIC01IDEgRURUIDE5NDIgRiA5IDJzCi0tLTUgQVUgRSVzVAotKy01IEMgRSVzVAotIFogQW1lcmljYS9SYWlueV9SaXZlciAtNjoxODoxNiAtIExNVCAxODk1Ci0tLTYgQVUgQyVzVCAxOTQwIFMgMjkKLSstNiBDIEMlc1QgMTk0MCBTIDI5Ci0gLTYgMSBDRFQgMTk0MiBGIDkgMnMKLS0tNiBBVSBDJXNUCi0rLTYgQyBDJXNUCi0gWiBBbWVyaWNhL0F0aWtva2FuIC02OjY6MjggLSBMTVQgMTg5NQotLS02IEFVIEMlc1QgMTk0MCBTIDI5Ci0rLTYgQyBDJXNUIDE5NDAgUyAyOQotIC02IDEgQ0RUIDE5NDIgRiA5IDJzCi0tLTYgQVUgQyVzVCAxOTQ1IFMgMzAgMgotKy02IEMgQyVzVCAxOTQ1IFMgMzAgMgotIC01IC0gRVNUCi0tUiBBWiAxOTE2IG8gLSBBcCAyMyAwIDEgRAotLVIgQVogMTkxNiBvIC0gUyAxNyAwIDAgUwotLVIgQVogMTkxOCBvIC0gQXAgMTQgMiAxIEQKLS1SIEFaIDE5MTggbyAtIE8gMjcgMiAwIFMKLS1SIEFaIDE5MzcgbyAtIE1heSAxNiAyIDEgRAotLVIgQVogMTkzNyBvIC0gUyAyNiAyIDAgUwotLVIgQVogMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBWiAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBWiAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFaIDE5NDYgbyAtIE1heSAxMiAyIDEgRAotLVIgQVogMTk0NiBvIC0gTyAxMyAyIDAgUwotLVIgQVogMTk0NyAxOTQ5IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk0NyAxOTQ5IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTUwIG8gLSBNYXkgMSAyIDEgRAotLVIgQVogMTk1MCBvIC0gUyAzMCAyIDAgUwotLVIgQVogMTk1MSAxOTYwIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk1MSAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBWiAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFaIDE5NjAgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQVogMTk2MyBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQVogMTk2MyBvIC0gUyAyMiAyIDAgUwotLVIgQVogMTk2NiAxOTg2IC0gQXAgbGFzdFN1biAycyAxIEQKLS1SIEFaIDE5NjYgMjAwNSAtIE8gbGFzdFN1biAycyAwIFMKLS1SIEFaIDE5ODcgMjAwNSAtIEFwIFN1bj49MSAycyAxIEQKLStSIFcgMTkxNiBvIC0gQXAgMjMgMCAxIEQKLStSIFcgMTkxNiBvIC0gUyAxNyAwIDAgUwotK1IgVyAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgVyAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBXIDE5MzcgbyAtIE1heSAxNiAyIDEgRAotK1IgVyAxOTM3IG8gLSBTIDI2IDIgMCBTCi0rUiBXIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgVyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBXIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgVyAxOTQ2IG8gLSBNYXkgMTIgMiAxIEQKLStSIFcgMTk0NiBvIC0gTyAxMyAyIDAgUwotK1IgVyAxOTQ3IDE5NDkgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBXIDE5NDcgMTk0OSAtIFMgbGFzdFN1biAyIDAgUwotK1IgVyAxOTUwIG8gLSBNYXkgMSAyIDEgRAotK1IgVyAxOTUwIG8gLSBTIDMwIDIgMCBTCi0rUiBXIDE5NTEgMTk2MCAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFcgMTk1MSAxOTU4IC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBXIDE5NTkgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgVyAxOTYwIG8gLSBTIGxhc3RTdW4gMiAwIFMKLStSIFcgMTk2MyBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgVyAxOTYzIG8gLSBTIDIyIDIgMCBTCi0rUiBXIDE5NjYgMTk4NiAtIEFwIGxhc3RTdW4gMnMgMSBECi0rUiBXIDE5NjYgMjAwNSAtIE8gbGFzdFN1biAycyAwIFMKLStSIFcgMTk4NyAyMDA1IC0gQXAgU3VuPj0xIDJzIDEgRAotIFogQW1lcmljYS9XaW5uaXBlZyAtNjoyODozNiAtIExNVCAxODg3IEp1bCAxNgotLS02IEFaIEMlc1QgMjAwNgotLS02IEFVIEMlc1QKLS1SIEFhIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBYSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBYSAxOTMwIDE5MzQgLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBYSAxOTMwIDE5MzQgLSBPIFN1bj49MSAwIDAgUwotLVIgQWEgMTkzNyAxOTQxIC0gQXAgU3VuPj04IDAgMSBECi0tUiBBYSAxOTM3IG8gLSBPIFN1bj49OCAwIDAgUwotLVIgQWEgMTkzOCBvIC0gTyBTdW4+PTEgMCAwIFMKLS1SIEFhIDE5MzkgMTk0MSAtIE8gU3VuPj04IDAgMCBTCi0tUiBBYSAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFhIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFhIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWEgMTk0NiBvIC0gQXAgU3VuPj04IDIgMSBECi0tUiBBYSAxOTQ2IG8gLSBPIFN1bj49OCAyIDAgUwotLVIgQWEgMTk0NyAxOTU3IC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWEgMTk0NyAxOTU3IC0gUyBsYXN0U3VuIDIgMCBTCi0tUiBBYSAxOTU5IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYSAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFiIDE5NTcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFiIDE5NTcgbyAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWIgMTk1OSAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWIgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYiAxOTYwIDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLSstNiBXIEMlc1QgMjAwNgotKy02IEMgQyVzVAotK1IgciAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgciAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiByIDE5MzAgMTkzNCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIHIgMTkzMCAxOTM0IC0gTyBTdW4+PTEgMCAwIFMKLStSIHIgMTkzNyAxOTQxIC0gQXAgU3VuPj04IDAgMSBECi0rUiByIDE5MzcgbyAtIE8gU3VuPj04IDAgMCBTCi0rUiByIDE5MzggbyAtIE8gU3VuPj0xIDAgMCBTCi0rUiByIDE5MzkgMTk0MSAtIE8gU3VuPj04IDAgMCBTCi0rUiByIDE5NDIgbyAtIEYgOSAyIDEgVwotK1IgciAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiByIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgciAxOTQ2IG8gLSBBcCBTdW4+PTggMiAxIEQKLStSIHIgMTk0NiBvIC0gTyBTdW4+PTggMiAwIFMKLStSIHIgMTk0NyAxOTU3IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgciAxOTQ3IDE5NTcgLSBTIGxhc3RTdW4gMiAwIFMKLStSIHIgMTk1OSBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgciAxOTU5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFN3IDE5NTcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIFN3IDE5NTcgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgU3cgMTk1OSAxOTYxIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgU3cgMTk1OSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0rUiBTdyAxOTYwIDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvUmVnaW5hIC02OjU4OjM2IC0gTE1UIDE5MDUgUwotLS03IEFhIE0lc1QgMTk2MCBBcCBsYXN0U3VuIDIKLSstNyByIE0lc1QgMTk2MCBBcCBsYXN0U3VuIDIKLSAtNiAtIENTVAotIFogQW1lcmljYS9Td2lmdF9DdXJyZW50IC03OjExOjIwIC0gTE1UIDE5MDUgUwotLS03IEFVIE0lc1QgMTk0NiBBcCBsYXN0U3VuIDIKLS0tNyBBYSBNJXNUIDE5NTAKLS0tNyBBYiBNJXNUIDE5NzIgQXAgbGFzdFN1biAyCi0rLTcgQyBNJXNUIDE5NDYgQXAgbGFzdFN1biAyCi0rLTcgciBNJXNUIDE5NTAKLSstNyBTdyBNJXNUIDE5NzIgQXAgbGFzdFN1biAyCi0gLTYgLSBDU1QKLS1SIEFjIDE5MTggMTkxOSAtIEFwIFN1bj49OCAyIDEgRAotLVIgQWMgMTkxOCBvIC0gTyAyNyAyIDAgUwotLVIgQWMgMTkxOSBvIC0gTWF5IDI3IDIgMCBTCi0tUiBBYyAxOTIwIDE5MjMgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTIwIG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5MjEgMTkyMyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWMgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBYyAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBYyAxOTQ1IG8gLSBTIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NDcgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFjIDE5NDcgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWMgMTk2NyBvIC0gQXAgbGFzdFN1biAyIDEgRAotLVIgQWMgMTk2NyBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBYyAxOTY5IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBYyAxOTY5IG8gLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFjIDE5NzIgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFjIDE5NzIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTkxOCAxOTE5IC0gQXAgU3VuPj04IDIgMSBECi0rUiBFZCAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBFZCAxOTE5IG8gLSBNYXkgMjcgMiAwIFMKLStSIEVkIDE5MjAgMTkyMyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5MjAgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTkyMSAxOTIzIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBFZCAxOTQyIG8gLSBGIDkgMiAxIFcKLStSIEVkIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLStSIEVkIDE5NDUgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgRWQgMTk0NyBvIC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRWQgMTk0NyBvIC0gUyBsYXN0U3VuIDIgMCBTCi0rUiBFZCAxOTY3IG8gLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBFZCAxOTY3IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIEVkIDE5NjkgbyAtIEFwIGxhc3RTdW4gMiAxIEQKLStSIEVkIDE5NjkgbyAtIE8gbGFzdFN1biAyIDAgUwotK1IgRWQgMTk3MiAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgRWQgMTk3MiAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0gWiBBbWVyaWNhL0VkbW9udG9uIC03OjMzOjUyIC0gTE1UIDE5MDYgUwotLS03IEFjIE0lc1QgMTk4NwotLS03IEFVIE0lc1QKLS1SIEFkIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBZCAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBZCAxOTQyIG8gLSBGIDkgMiAxIFcKLS1SIEFkIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLS1SIEFkIDE5NDUgbyAtIFMgMzAgMiAwIFMKLS1SIEFkIDE5NDYgMTk4NiAtIEFwIGxhc3RTdW4gMiAxIEQKLS1SIEFkIDE5NDYgbyAtIE8gMTMgMiAwIFMKLS1SIEFkIDE5NDcgMTk2MSAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWQgMTk2MiAyMDA2IC0gTyBsYXN0U3VuIDIgMCBTCi0rLTcgRWQgTSVzVCAxOTg3Ci0rLTcgQyBNJXNUCi0rUiBWYSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgVmEgMTkxOCBvIC0gTyAyNyAyIDAgUwotK1IgVmEgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiBWYSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0rUiBWYSAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0rUiBWYSAxOTQ2IDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0rUiBWYSAxOTQ2IG8gLSBPIDEzIDIgMCBTCi0rUiBWYSAxOTQ3IDE5NjEgLSBTIGxhc3RTdW4gMiAwIFMKLStSIFZhIDE5NjIgMjAwNiAtIE8gbGFzdFN1biAyIDAgUwotIFogQW1lcmljYS9WYW5jb3V2ZXIgLTg6MTI6MjggLSBMTVQgMTg4NAotLS04IEFkIFAlc1QgMTk4NwotLS04IEFVIFAlc1QKLSstOCBWYSBQJXNUIDE5ODcKLSstOCBDIFAlc1QKLSBaIEFtZXJpY2EvRGF3c29uX0NyZWVrIC04OjA6NTYgLSBMTVQgMTg4NAotLS04IEFVIFAlc1QgMTk0NwotLS04IEFkIFAlc1QgMTk3MiBBdSAzMCAyCi0rLTggQyBQJXNUIDE5NDcKLSstOCBWYSBQJXNUIDE5NzIgQXUgMzAgMgotIC03IC0gTVNUCi0gWiBBbWVyaWNhL0ZvcnRfTmVsc29uIC04OjEwOjQ3IC0gTE1UIDE4ODQKLS0tOCBBZCBQJXNUIDE5NDYKLSstOCBWYSBQJXNUIDE5NDYKLSAtOCAtIFBTVCAxOTQ3Ci0tLTggQWQgUCVzVCAxOTg3Ci0tLTggQVUgUCVzVCAyMDE1IE1hciA4IDIKLSstOCBWYSBQJXNUIDE5ODcKLSstOCBDIFAlc1QgMjAxNSBNYXIgOCAyCi0gLTcgLSBNU1QKLSBaIEFtZXJpY2EvQ3Jlc3RvbiAtNzo0Njo0IC0gTE1UIDE4ODQKLSAtNyAtIE1TVCAxOTE2IE8KLSAtOCAtIFBTVCAxOTE4IEp1biAyCi0gLTcgLSBNU1QKLS1SIEFlIDE5MTggbyAtIEFwIDE0IDIgMSBECi0tUiBBZSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0tUiBBZSAxOTE5IG8gLSBNYXkgMjUgMiAxIEQKLS1SIEFlIDE5MTkgbyAtIE4gMSAwIDAgUwotLVIgQWUgMTk0MiBvIC0gRiA5IDIgMSBXCi0tUiBBZSAxOTQ1IG8gLSBBdSAxNCAyM3UgMSBQCi0tUiBBZSAxOTQ1IG8gLSBTIDMwIDIgMCBTCi0tUiBBZSAxOTY1IG8gLSBBcCBsYXN0U3VuIDAgMiBERAotLVIgQWUgMTk2NSBvIC0gTyBsYXN0U3VuIDIgMCBTCi0tUiBBZSAxOTgwIDE5ODYgLSBBcCBsYXN0U3VuIDIgMSBECi0tUiBBZSAxOTgwIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFlIDE5ODcgMjAwNiAtIEFwIFN1bj49MSAyIDEgRAotK1IgWSAxOTE4IG8gLSBBcCAxNCAyIDEgRAotK1IgWSAxOTE4IG8gLSBPIDI3IDIgMCBTCi0rUiBZIDE5MTkgbyAtIE1heSAyNSAyIDEgRAotK1IgWSAxOTE5IG8gLSBOIDEgMCAwIFMKLStSIFkgMTk0MiBvIC0gRiA5IDIgMSBXCi0rUiBZIDE5NDUgbyAtIEF1IDE0IDIzdSAxIFAKLStSIFkgMTk0NSBvIC0gUyAzMCAyIDAgUwotK1IgWSAxOTY1IG8gLSBBcCBsYXN0U3VuIDAgMiBERAotK1IgWSAxOTY1IG8gLSBPIGxhc3RTdW4gMiAwIFMKLStSIFkgMTk4MCAxOTg2IC0gQXAgbGFzdFN1biAyIDEgRAotK1IgWSAxOTgwIDIwMDYgLSBPIGxhc3RTdW4gMiAwIFMKLStSIFkgMTk4NyAyMDA2IC0gQXAgU3VuPj0xIDIgMSBECi0gWiBBbWVyaWNhL1BhbmduaXJ0dW5nIDAgLSAtMDAgMTkyMQotLS00IEFlIEElc1QgMTk5NSBBcCBTdW4+PTEgMgotLS01IEFVIEUlc1QgMTk5OSBPIDMxIDIKLS0tNiBBVSBDJXNUIDIwMDAgTyAyOSAyCi0tLTUgQVUgRSVzVAotKy00IFkgQSVzVCAxOTk1IEFwIFN1bj49MSAyCi0rLTUgQyBFJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL0lxYWx1aXQgMCAtIC0wMCAxOTQyIEF1Ci0tLTUgQWUgRSVzVCAxOTk5IE8gMzEgMgotLS02IEFVIEMlc1QgMjAwMCBPIDI5IDIKLS0tNSBBVSBFJXNUCi0rLTUgWSBFJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0rLTUgQyBFJXNUCi0gWiBBbWVyaWNhL1Jlc29sdXRlIDAgLSAtMDAgMTk0NyBBdSAzMQotLS02IEFlIEMlc1QgMjAwMCBPIDI5IDIKLSstNiBZIEMlc1QgMjAwMCBPIDI5IDIKLSAtNSAtIEVTVCAyMDAxIEFwIDEgMwotLS02IEFVIEMlc1QgMjAwNiBPIDI5IDIKLSstNiBDIEMlc1QgMjAwNiBPIDI5IDIKLSAtNSAtIEVTVCAyMDA3IE1hciAxMSAzCi0tLTYgQVUgQyVzVAotKy02IEMgQyVzVAotIFogQW1lcmljYS9SYW5raW5fSW5sZXQgMCAtIC0wMCAxOTU3Ci0tLTYgQWUgQyVzVCAyMDAwIE8gMjkgMgotKy02IFkgQyVzVCAyMDAwIE8gMjkgMgotIC01IC0gRVNUIDIwMDEgQXAgMSAzCi0tLTYgQVUgQyVzVAotKy02IEMgQyVzVAotIFogQW1lcmljYS9DYW1icmlkZ2VfQmF5IDAgLSAtMDAgMTkyMAotLS03IEFlIE0lc1QgMTk5OSBPIDMxIDIKLS0tNiBBVSBDJXNUIDIwMDAgTyAyOSAyCi0rLTcgWSBNJXNUIDE5OTkgTyAzMSAyCi0rLTYgQyBDJXNUIDIwMDAgTyAyOSAyCi0gLTUgLSBFU1QgMjAwMCBOIDUKLSAtNiAtIENTVCAyMDAxIEFwIDEgMwotLS03IEFVIE0lc1QKLSstNyBDIE0lc1QKLSBaIEFtZXJpY2EvWWVsbG93a25pZmUgMCAtIC0wMCAxOTM1Ci0tLTcgQWUgTSVzVCAxOTgwCi0tLTcgQVUgTSVzVAotKy03IFkgTSVzVCAxOTgwCi0rLTcgQyBNJXNUCi0gWiBBbWVyaWNhL0ludXZpayAwIC0gLTAwIDE5NTMKLS0tOCBBZSBQJXNUIDE5NzkgQXAgbGFzdFN1biAyCi0tLTcgQWUgTSVzVCAxOTgwCi0tLTcgQVUgTSVzVAotKy04IFkgUCVzVCAxOTc5IEFwIGxhc3RTdW4gMgotKy03IFkgTSVzVCAxOTgwCi0rLTcgQyBNJXNUCi0gWiBBbWVyaWNhL1doaXRlaG9yc2UgLTk6MDoxMiAtIExNVCAxOTAwIEF1IDIwCi0tLTkgQWUgWSVzVCAxOTY3IE1heSAyOAotLS04IEFlIFAlc1QgMTk4MAotLS04IEFVIFAlc1QKLSstOSBZIFklc1QgMTk2NyBNYXkgMjgKLSstOCBZIFAlc1QgMTk4MAotKy04IEMgUCVzVAotIFogQW1lcmljYS9EYXdzb24gLTk6MTc6NDAgLSBMTVQgMTkwMCBBdSAyMAotLS05IEFlIFklc1QgMTk3MyBPIDI4Ci0tLTggQWUgUCVzVCAxOTgwCi0tLTggQVUgUCVzVAotLVIgQWYgMTkzOSBvIC0gRiA1IDAgMSBECi0tUiBBZiAxOTM5IG8gLSBKdW4gMjUgMCAwIFMKLS1SIEFmIDE5NDAgbyAtIEQgOSAwIDEgRAotLVIgQWYgMTk0MSBvIC0gQXAgMSAwIDAgUwotLVIgQWYgMTk0MyBvIC0gRCAxNiAwIDEgVwotLVIgQWYgMTk0NCBvIC0gTWF5IDEgMCAwIFMKLS1SIEFmIDE5NTAgbyAtIEYgMTIgMCAxIEQKLS1SIEFmIDE5NTAgbyAtIEp1bCAzMCAwIDAgUwotLVIgQWYgMTk5NiAyMDAwIC0gQXAgU3VuPj0xIDIgMSBECi0tUiBBZiAxOTk2IDIwMDAgLSBPIGxhc3RTdW4gMiAwIFMKLS1SIEFmIDIwMDEgbyAtIE1heSBTdW4+PTEgMiAxIEQKLS1SIEFmIDIwMDEgbyAtIFMgbGFzdFN1biAyIDAgUwotLVIgQWYgMjAwMiBtYSAtIEFwIFN1bj49MSAyIDEgRAotLVIgQWYgMjAwMiBtYSAtIE8gbGFzdFN1biAyIDAgUwotKy05IFkgWSVzVCAxOTczIE8gMjgKLSstOCBZIFAlc1QgMTk4MAotKy04IEMgUCVzVAotK1IgbSAxOTM5IG8gLSBGIDUgMCAxIEQKLStSIG0gMTkzOSBvIC0gSnVuIDI1IDAgMCBTCi0rUiBtIDE5NDAgbyAtIEQgOSAwIDEgRAotK1IgbSAxOTQxIG8gLSBBcCAxIDAgMCBTCi0rUiBtIDE5NDMgbyAtIEQgMTYgMCAxIFcKLStSIG0gMTk0NCBvIC0gTWF5IDEgMCAwIFMKLStSIG0gMTk1MCBvIC0gRiAxMiAwIDEgRAotK1IgbSAxOTUwIG8gLSBKdWwgMzAgMCAwIFMKLStSIG0gMTk5NiAyMDAwIC0gQXAgU3VuPj0xIDIgMSBECi0rUiBtIDE5OTYgMjAwMCAtIE8gbGFzdFN1biAyIDAgUwotK1IgbSAyMDAxIG8gLSBNYXkgU3VuPj0xIDIgMSBECi0rUiBtIDIwMDEgbyAtIFMgbGFzdFN1biAyIDAgUwotK1IgbSAyMDAyIG1hIC0gQXAgU3VuPj0xIDIgMSBECi0rUiBtIDIwMDIgbWEgLSBPIGxhc3RTdW4gMiAwIFMKLSBaIEFtZXJpY2EvQ2FuY3VuIC01OjQ3OjQgLSBMTVQgMTkyMiBKYSAxIDA6MTI6NTYKLSAtNiAtIENTVCAxOTgxIEQgMjMKLS0tNSBBZiBFJXNUIDE5OTggQXUgMiAyCi0tLTYgQWYgQyVzVCAyMDE1IEYgMSAyCi0rLTUgbSBFJXNUIDE5OTggQXUgMiAyCi0rLTYgbSBDJXNUIDIwMTUgRiAxIDIKLSAtNSAtIEVTVAotIFogQW1lcmljYS9NZXJpZGEgLTU6NTg6MjggLSBMTVQgMTkyMiBKYSAxIDA6MTozMgotIC02IC0gQ1NUIDE5ODEgRCAyMwotIC01IC0gRVNUIDE5ODIgRCAyCi0tLTYgQWYgQyVzVAotKy02IG0gQyVzVAotIFogQW1lcmljYS9NYXRhbW9yb3MgLTY6NDAgLSBMTVQgMTkyMSBEIDMxIDIzOjIwCi0gLTYgLSBDU1QgMTk4OAotLS02IEFGIEMlc1QgMTk4OQotLS02IEFmIEMlc1QgMjAxMAotLS02IEFGIEMlc1QKLSstNiB1IEMlc1QgMTk4OQotKy02IG0gQyVzVCAyMDEwCi0rLTYgdSBDJXNUCi0gWiBBbWVyaWNhL01vbnRlcnJleSAtNjo0MToxNiAtIExNVCAxOTIxIEQgMzEgMjM6MTg6NDQKLSAtNiAtIENTVCAxOTg4Ci0tLTYgQUYgQyVzVCAxOTg5Ci0tLTYgQWYgQyVzVAotKy02IHUgQyVzVCAxOTg5Ci0rLTYgbSBDJXNUCi0gWiBBbWVyaWNhL01leGljb19DaXR5IC02OjM2OjM2IC0gTE1UIDE5MjIgSmEgMSAwOjIzOjI0Ci0gLTcgLSBNU1QgMTkyNyBKdW4gMTAgMjMKLSAtNiAtIENTVCAxOTMwIE4gMTUKLSAtNyAtIE1TVCAxOTMxIE1heSAxIDIzCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotLS02IEFmIEMlc1QgMjAwMSBTIDMwIDIKLSstNiBtIEMlc1QgMjAwMSBTIDMwIDIKLSAtNiAtIENTVCAyMDAyIEYgMjAKLS0tNiBBZiBDJXNUCi0rLTYgbSBDJXNUCi0gWiBBbWVyaWNhL09qaW5hZ2EgLTY6NTc6NDAgLSBMTVQgMTkyMiBKYSAxIDA6MjoyMAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci1AQCAtMzIxNSwxMCArMzIzMiwxMCBAQCBaIEFtZXJpY2EvT2ppbmFnYSAtNjo1Nzo0MCAtIExNVCAxOTIyIEphIDEgMDoyOjIwCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotIC02IC0gQ1NUIDE5OTYKLS0tNiBBZiBDJXNUIDE5OTgKLSstNiBtIEMlc1QgMTk5OAotIC02IC0gQ1NUIDE5OTggQXAgU3VuPj0xIDMKLS0tNyBBZiBNJXNUIDIwMTAKLS0tNyBBRiBNJXNUCi0rLTcgbSBNJXNUIDIwMTAKLSstNyB1IE0lc1QKLSBaIEFtZXJpY2EvQ2hpaHVhaHVhIC03OjQ6MjAgLSBMTVQgMTkyMSBEIDMxIDIzOjU1OjQwCi0gLTcgLSBNU1QgMTkyNyBKdW4gMTAgMjMKLSAtNiAtIENTVCAxOTMwIE4gMTUKLUBAIC0zMjI2LDkgKzMyNDMsOSBAQCBaIEFtZXJpY2EvQ2hpaHVhaHVhIC03OjQ6MjAgLSBMTVQgMTkyMSBEIDMxIDIzOjU1OjQwCi0gLTYgLSBDU1QgMTkzMSBPCi0gLTcgLSBNU1QgMTkzMiBBcAotIC02IC0gQ1NUIDE5OTYKLS0tNiBBZiBDJXNUIDE5OTgKLSstNiBtIEMlc1QgMTk5OAotIC02IC0gQ1NUIDE5OTggQXAgU3VuPj0xIDMKLS0tNyBBZiBNJXNUCi0rLTcgbSBNJXNUCi0gWiBBbWVyaWNhL0hlcm1vc2lsbG8gLTc6MjM6NTIgLSBMTVQgMTkyMSBEIDMxIDIzOjM2OjgKLSAtNyAtIE1TVCAxOTI3IEp1biAxMCAyMwotIC02IC0gQ1NUIDE5MzAgTiAxNQotQEAgLTMyMzgsNyArMzI1NSw3IEBAIFogQW1lcmljYS9IZXJtb3NpbGxvIC03OjIzOjUyIC0gTE1UIDE5MjEgRCAzMSAyMzozNjo4Ci0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVCAxOTk5Ci0rLTcgbSBNJXNUIDE5OTkKLSAtNyAtIE1TVAotIFogQW1lcmljYS9NYXphdGxhbiAtNzo1OjQwIC0gTE1UIDE5MjEgRCAzMSAyMzo1NDoyMAotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi1AQCAtMzI0OSw3ICszMjY2LDcgQEAgWiBBbWVyaWNhL01hemF0bGFuIC03OjU6NDAgLSBMTVQgMTkyMSBEIDMxIDIzOjU0OjIwCi0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVAotKy03IG0gTSVzVAotIFogQW1lcmljYS9CYWhpYV9CYW5kZXJhcyAtNzoxIC0gTE1UIDE5MjEgRCAzMSAyMzo1OQotIC03IC0gTVNUIDE5MjcgSnVuIDEwIDIzCi0gLTYgLSBDU1QgMTkzMCBOIDE1Ci1AQCAtMzI1OSw4ICszMjc2LDggQEAgWiBBbWVyaWNhL0JhaGlhX0JhbmRlcmFzIC03OjEgLSBMTVQgMTkyMSBEIDMxIDIzOjU5Ci0gLTYgLSBDU1QgMTk0MiBBcCAyNAotIC03IC0gTVNUIDE5NDkgSmEgMTQKLSAtOCAtIFBTVCAxOTcwCi0tLTcgQWYgTSVzVCAyMDEwIEFwIDQgMgotLS02IEFmIEMlc1QKLSstNyBtIE0lc1QgMjAxMCBBcCA0IDIKLSstNiBtIEMlc1QKLSBaIEFtZXJpY2EvVGlqdWFuYSAtNzo0ODo0IC0gTE1UIDE5MjIgSmEgMSAwOjExOjU2Ci0gLTcgLSBNU1QgMTkyNAotIC04IC0gUFNUIDE5MjcgSnVuIDEwIDIzCi1AQCAtMzI3MywzMTUgKzMyOTAsMzE1IEBAIFogQW1lcmljYS9UaWp1YW5hIC03OjQ4OjQgLSBMTVQgMTkyMiBKYSAxIDA6MTE6NTYKLSAtOCAtIFBTVCAxOTQ4IEFwIDUKLSAtOCAxIFBEVCAxOTQ5IEphIDE0Ci0gLTggLSBQU1QgMTk1NAotLS04IEFKIFAlc1QgMTk2MQotKy04IENBIFAlc1QgMTk2MQotIC04IC0gUFNUIDE5NzYKLS0tOCBBRiBQJXNUIDE5OTYKLS0tOCBBZiBQJXNUIDIwMDEKLS0tOCBBRiBQJXNUIDIwMDIgRiAyMAotLS04IEFmIFAlc1QgMjAxMAotLS04IEFGIFAlc1QKLS1SIEFnIDE5NjQgMTk3NSAtIE8gbGFzdFN1biAyIDAgUwotLVIgQWcgMTk2NCAxOTc1IC0gQXAgbGFzdFN1biAyIDEgRAotKy04IHUgUCVzVCAxOTk2Ci0rLTggbSBQJXNUIDIwMDEKLSstOCB1IFAlc1QgMjAwMiBGIDIwCi0rLTggbSBQJXNUIDIwMTAKLSstOCB1IFAlc1QKLStSIEJTIDE5NjQgMTk3NSAtIE8gbGFzdFN1biAyIDAgUwotK1IgQlMgMTk2NCAxOTc1IC0gQXAgbGFzdFN1biAyIDEgRAotIFogQW1lcmljYS9OYXNzYXUgLTU6OTozMCAtIExNVCAxOTEyIE1hciAyCi0tLTUgQWcgRSVzVCAxOTc2Ci0tLTUgQUYgRSVzVAotLVIgQWggMTk3NyBvIC0gSnVuIDEyIDIgMSBECi0tUiBBaCAxOTc3IDE5NzggLSBPIFN1bj49MSAyIDAgUwotLVIgQWggMTk3OCAxOTgwIC0gQXAgU3VuPj0xNSAyIDEgRAotLVIgQWggMTk3OSBvIC0gUyAzMCAyIDAgUwotLVIgQWggMTk4MCBvIC0gUyAyNSAyIDAgUwotKy01IEJTIEUlc1QgMTk3NgotKy01IHUgRSVzVAotK1IgQkIgMTk3NyBvIC0gSnVuIDEyIDIgMSBECi0rUiBCQiAxOTc3IDE5NzggLSBPIFN1bj49MSAyIDAgUwotK1IgQkIgMTk3OCAxOTgwIC0gQXAgU3VuPj0xNSAyIDEgRAotK1IgQkIgMTk3OSBvIC0gUyAzMCAyIDAgUwotK1IgQkIgMTk4MCBvIC0gUyAyNSAyIDAgUwotIFogQW1lcmljYS9CYXJiYWRvcyAtMzo1ODoyOSAtIExNVCAxOTI0Ci0gLTM6NTg6MjkgLSBCTVQgMTkzMgotLS00IEFoIEElc1QKLS1SIEFpIDE5MTggMTk0MiAtIE8gU3VuPj0yIDAgMDozMCAtMDUzMAotLVIgQWkgMTkxOSAxOTQzIC0gRiBTdW4+PTkgMCAwIENTVAotLVIgQWkgMTk3MyBvIC0gRCA1IDAgMSBDRFQKLS1SIEFpIDE5NzQgbyAtIEYgOSAwIDAgQ1NUCi0tUiBBaSAxOTgyIG8gLSBEIDE4IDAgMSBDRFQKLS1SIEFpIDE5ODMgbyAtIEYgMTIgMCAwIENTVAotKy00IEJCIEElc1QKLStSIEJaIDE5MTggMTk0MiAtIE8gU3VuPj0yIDAgMDozMCAtMDUzMAotK1IgQlogMTkxOSAxOTQzIC0gRiBTdW4+PTkgMCAwIENTVAotK1IgQlogMTk3MyBvIC0gRCA1IDAgMSBDRFQKLStSIEJaIDE5NzQgbyAtIEYgOSAwIDAgQ1NUCi0rUiBCWiAxOTgyIG8gLSBEIDE4IDAgMSBDRFQKLStSIEJaIDE5ODMgbyAtIEYgMTIgMCAwIENTVAotIFogQW1lcmljYS9CZWxpemUgLTU6NTI6NDggLSBMTVQgMTkxMiBBcAotLS02IEFpICVzCi0rLTYgQlogJXMKLSBaIEF0bGFudGljL0Jlcm11ZGEgLTQ6MTk6MTggLSBMTVQgMTkzMCBKYSAxIDIKLSAtNCAtIEFTVCAxOTc0IEFwIDI4IDIKLS0tNCBBVSBBJXNUIDE5NzYKLS0tNCBBRiBBJXNUCi0tUiBBaiAxOTc5IDE5ODAgLSBGIGxhc3RTdW4gMCAxIEQKLS1SIEFqIDE5NzkgMTk4MCAtIEp1biBTdW4+PTEgMCAwIFMKLS1SIEFqIDE5OTEgMTk5MiAtIEphIFNhdD49MTUgMCAxIEQKLS1SIEFqIDE5OTEgbyAtIEp1bCAxIDAgMCBTCi0tUiBBaiAxOTkyIG8gLSBNYXIgMTUgMCAwIFMKLSstNCBDIEElc1QgMTk3NgotKy00IHUgQSVzVAotK1IgQ1IgMTk3OSAxOTgwIC0gRiBsYXN0U3VuIDAgMSBECi0rUiBDUiAxOTc5IDE5ODAgLSBKdW4gU3VuPj0xIDAgMCBTCi0rUiBDUiAxOTkxIDE5OTIgLSBKYSBTYXQ+PTE1IDAgMSBECi0rUiBDUiAxOTkxIG8gLSBKdWwgMSAwIDAgUwotK1IgQ1IgMTk5MiBvIC0gTWFyIDE1IDAgMCBTCi0gWiBBbWVyaWNhL0Nvc3RhX1JpY2EgLTU6MzY6MTMgLSBMTVQgMTg5MAotIC01OjM2OjEzIC0gU0pNVCAxOTIxIEphIDE1Ci0tLTYgQWogQyVzVAotLVIgQWsgMTkyOCBvIC0gSnVuIDEwIDAgMSBECi0tUiBBayAxOTI4IG8gLSBPIDEwIDAgMCBTCi0tUiBBayAxOTQwIDE5NDIgLSBKdW4gU3VuPj0xIDAgMSBECi0tUiBBayAxOTQwIDE5NDIgLSBTIFN1bj49MSAwIDAgUwotLVIgQWsgMTk0NSAxOTQ2IC0gSnVuIFN1bj49MSAwIDEgRAotLVIgQWsgMTk0NSAxOTQ2IC0gUyBTdW4+PTEgMCAwIFMKLS1SIEFrIDE5NjUgbyAtIEp1biAxIDAgMSBECi0tUiBBayAxOTY1IG8gLSBTIDMwIDAgMCBTCi0tUiBBayAxOTY2IG8gLSBNYXkgMjkgMCAxIEQKLS1SIEFrIDE5NjYgbyAtIE8gMiAwIDAgUwotLVIgQWsgMTk2NyBvIC0gQXAgOCAwIDEgRAotLVIgQWsgMTk2NyAxOTY4IC0gUyBTdW4+PTggMCAwIFMKLS1SIEFrIDE5NjggbyAtIEFwIDE0IDAgMSBECi0tUiBBayAxOTY5IDE5NzcgLSBBcCBsYXN0U3VuIDAgMSBECi0tUiBBayAxOTY5IDE5NzEgLSBPIGxhc3RTdW4gMCAwIFMKLS1SIEFrIDE5NzIgMTk3NCAtIE8gOCAwIDAgUwotLVIgQWsgMTk3NSAxOTc3IC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBayAxOTc4IG8gLSBNYXkgNyAwIDEgRAotLVIgQWsgMTk3OCAxOTkwIC0gTyBTdW4+PTggMCAwIFMKLS1SIEFrIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE1IDAgMSBECi0tUiBBayAxOTgxIDE5ODUgLSBNYXkgU3VuPj01IDAgMSBECi0tUiBBayAxOTg2IDE5ODkgLSBNYXIgU3VuPj0xNCAwIDEgRAotLVIgQWsgMTk5MCAxOTk3IC0gQXAgU3VuPj0xIDAgMSBECi0tUiBBayAxOTkxIDE5OTUgLSBPIFN1bj49OCAwcyAwIFMKLS1SIEFrIDE5OTYgbyAtIE8gNiAwcyAwIFMKLS1SIEFrIDE5OTcgbyAtIE8gMTIgMHMgMCBTCi0tUiBBayAxOTk4IDE5OTkgLSBNYXIgbGFzdFN1biAwcyAxIEQKLS1SIEFrIDE5OTggMjAwMyAtIE8gbGFzdFN1biAwcyAwIFMKLS1SIEFrIDIwMDAgMjAwMyAtIEFwIFN1bj49MSAwcyAxIEQKLS1SIEFrIDIwMDQgbyAtIE1hciBsYXN0U3VuIDBzIDEgRAotLVIgQWsgMjAwNiAyMDEwIC0gTyBsYXN0U3VuIDBzIDAgUwotLVIgQWsgMjAwNyBvIC0gTWFyIFN1bj49OCAwcyAxIEQKLS1SIEFrIDIwMDggbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotLVIgQWsgMjAwOSAyMDEwIC0gTWFyIFN1bj49OCAwcyAxIEQKLS1SIEFrIDIwMTEgbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotLVIgQWsgMjAxMSBvIC0gTiAxMyAwcyAwIFMKLS1SIEFrIDIwMTIgbyAtIEFwIDEgMHMgMSBECi0tUiBBayAyMDEyIG1hIC0gTiBTdW4+PTEgMHMgMCBTCi0tUiBBayAyMDEzIG1hIC0gTWFyIFN1bj49OCAwcyAxIEQKLSstNiBDUiBDJXNUCi0rUiBRIDE5MjggbyAtIEp1biAxMCAwIDEgRAotK1IgUSAxOTI4IG8gLSBPIDEwIDAgMCBTCi0rUiBRIDE5NDAgMTk0MiAtIEp1biBTdW4+PTEgMCAxIEQKLStSIFEgMTk0MCAxOTQyIC0gUyBTdW4+PTEgMCAwIFMKLStSIFEgMTk0NSAxOTQ2IC0gSnVuIFN1bj49MSAwIDEgRAotK1IgUSAxOTQ1IDE5NDYgLSBTIFN1bj49MSAwIDAgUwotK1IgUSAxOTY1IG8gLSBKdW4gMSAwIDEgRAotK1IgUSAxOTY1IG8gLSBTIDMwIDAgMCBTCi0rUiBRIDE5NjYgbyAtIE1heSAyOSAwIDEgRAotK1IgUSAxOTY2IG8gLSBPIDIgMCAwIFMKLStSIFEgMTk2NyBvIC0gQXAgOCAwIDEgRAotK1IgUSAxOTY3IDE5NjggLSBTIFN1bj49OCAwIDAgUwotK1IgUSAxOTY4IG8gLSBBcCAxNCAwIDEgRAotK1IgUSAxOTY5IDE5NzcgLSBBcCBsYXN0U3VuIDAgMSBECi0rUiBRIDE5NjkgMTk3MSAtIE8gbGFzdFN1biAwIDAgUwotK1IgUSAxOTcyIDE5NzQgLSBPIDggMCAwIFMKLStSIFEgMTk3NSAxOTc3IC0gTyBsYXN0U3VuIDAgMCBTCi0rUiBRIDE5NzggbyAtIE1heSA3IDAgMSBECi0rUiBRIDE5NzggMTk5MCAtIE8gU3VuPj04IDAgMCBTCi0rUiBRIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE1IDAgMSBECi0rUiBRIDE5ODEgMTk4NSAtIE1heSBTdW4+PTUgMCAxIEQKLStSIFEgMTk4NiAxOTg5IC0gTWFyIFN1bj49MTQgMCAxIEQKLStSIFEgMTk5MCAxOTk3IC0gQXAgU3VuPj0xIDAgMSBECi0rUiBRIDE5OTEgMTk5NSAtIE8gU3VuPj04IDBzIDAgUwotK1IgUSAxOTk2IG8gLSBPIDYgMHMgMCBTCi0rUiBRIDE5OTcgbyAtIE8gMTIgMHMgMCBTCi0rUiBRIDE5OTggMTk5OSAtIE1hciBsYXN0U3VuIDBzIDEgRAotK1IgUSAxOTk4IDIwMDMgLSBPIGxhc3RTdW4gMHMgMCBTCi0rUiBRIDIwMDAgMjAwMyAtIEFwIFN1bj49MSAwcyAxIEQKLStSIFEgMjAwNCBvIC0gTWFyIGxhc3RTdW4gMHMgMSBECi0rUiBRIDIwMDYgMjAxMCAtIE8gbGFzdFN1biAwcyAwIFMKLStSIFEgMjAwNyBvIC0gTWFyIFN1bj49OCAwcyAxIEQKLStSIFEgMjAwOCBvIC0gTWFyIFN1bj49MTUgMHMgMSBECi0rUiBRIDIwMDkgMjAxMCAtIE1hciBTdW4+PTggMHMgMSBECi0rUiBRIDIwMTEgbyAtIE1hciBTdW4+PTE1IDBzIDEgRAotK1IgUSAyMDExIG8gLSBOIDEzIDBzIDAgUwotK1IgUSAyMDEyIG8gLSBBcCAxIDBzIDEgRAotK1IgUSAyMDEyIG1hIC0gTiBTdW4+PTEgMHMgMCBTCi0rUiBRIDIwMTMgbWEgLSBNYXIgU3VuPj04IDBzIDEgRAotIFogQW1lcmljYS9IYXZhbmEgLTU6Mjk6MjggLSBMTVQgMTg5MAotIC01OjI5OjM2IC0gSE1UIDE5MjUgSnVsIDE5IDEyCi0tLTUgQWsgQyVzVAotLVIgQWwgMTk2NiBvIC0gTyAzMCAwIDEgRURUCi0tUiBBbCAxOTY3IG8gLSBGIDI4IDAgMCBFU1QKLS1SIEFsIDE5NjkgMTk3MyAtIE8gbGFzdFN1biAwIDA6MzAgLTA0MzAKLS1SIEFsIDE5NzAgbyAtIEYgMjEgMCAwIEVTVAotLVIgQWwgMTk3MSBvIC0gSmEgMjAgMCAwIEVTVAotLVIgQWwgMTk3MiAxOTc0IC0gSmEgMjEgMCAwIEVTVAotKy01IFEgQyVzVAotK1IgRE8gMTk2NiBvIC0gTyAzMCAwIDEgRURUCi0rUiBETyAxOTY3IG8gLSBGIDI4IDAgMCBFU1QKLStSIERPIDE5NjkgMTk3MyAtIE8gbGFzdFN1biAwIDA6MzAgLTA0MzAKLStSIERPIDE5NzAgbyAtIEYgMjEgMCAwIEVTVAotK1IgRE8gMTk3MSBvIC0gSmEgMjAgMCAwIEVTVAotK1IgRE8gMTk3MiAxOTc0IC0gSmEgMjEgMCAwIEVTVAotIFogQW1lcmljYS9TYW50b19Eb21pbmdvIC00OjM5OjM2IC0gTE1UIDE4OTAKLSAtNDo0MCAtIFNETVQgMTkzMyBBcCAxIDEyCi0tLTUgQWwgJXMgMTk3NCBPIDI3Ci0rLTUgRE8gJXMgMTk3NCBPIDI3Ci0gLTQgLSBBU1QgMjAwMCBPIDI5IDIKLS0tNSBBRiBFJXNUIDIwMDAgRCAzIDEKLSstNSB1IEUlc1QgMjAwMCBEIDMgMQotIC00IC0gQVNUCi0tUiBBbSAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBbSAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLStSIFNWIDE5ODcgMTk4OCAtIE1heSBTdW4+PTEgMCAxIEQKLStSIFNWIDE5ODcgMTk4OCAtIFMgbGFzdFN1biAwIDAgUwotIFogQW1lcmljYS9FbF9TYWx2YWRvciAtNTo1Njo0OCAtIExNVCAxOTIxCi0tLTYgQW0gQyVzVAotLVIgQW4gMTk3MyBvIC0gTiAyNSAwIDEgRAotLVIgQW4gMTk3NCBvIC0gRiAyNCAwIDAgUwotLVIgQW4gMTk4MyBvIC0gTWF5IDIxIDAgMSBECi0tUiBBbiAxOTgzIG8gLSBTIDIyIDAgMCBTCi0tUiBBbiAxOTkxIG8gLSBNYXIgMjMgMCAxIEQKLS1SIEFuIDE5OTEgbyAtIFMgNyAwIDAgUwotLVIgQW4gMjAwNiBvIC0gQXAgMzAgMCAxIEQKLS1SIEFuIDIwMDYgbyAtIE8gMSAwIDAgUwotKy02IFNWIEMlc1QKLStSIEdUIDE5NzMgbyAtIE4gMjUgMCAxIEQKLStSIEdUIDE5NzQgbyAtIEYgMjQgMCAwIFMKLStSIEdUIDE5ODMgbyAtIE1heSAyMSAwIDEgRAotK1IgR1QgMTk4MyBvIC0gUyAyMiAwIDAgUwotK1IgR1QgMTk5MSBvIC0gTWFyIDIzIDAgMSBECi0rUiBHVCAxOTkxIG8gLSBTIDcgMCAwIFMKLStSIEdUIDIwMDYgbyAtIEFwIDMwIDAgMSBECi0rUiBHVCAyMDA2IG8gLSBPIDEgMCAwIFMKLSBaIEFtZXJpY2EvR3VhdGVtYWxhIC02OjI6NCAtIExNVCAxOTE4IE8gNQotLS02IEFuIEMlc1QKLS1SIEFvIDE5ODMgbyAtIE1heSA4IDAgMSBECi0tUiBBbyAxOTg0IDE5ODcgLSBBcCBsYXN0U3VuIDAgMSBECi0tUiBBbyAxOTgzIDE5ODcgLSBPIGxhc3RTdW4gMCAwIFMKLS1SIEFvIDE5ODggMTk5NyAtIEFwIFN1bj49MSAxcyAxIEQKLS1SIEFvIDE5ODggMTk5NyAtIE8gbGFzdFN1biAxcyAwIFMKLS1SIEFvIDIwMDUgMjAwNiAtIEFwIFN1bj49MSAwIDEgRAotLVIgQW8gMjAwNSAyMDA2IC0gTyBsYXN0U3VuIDAgMCBTCi0tUiBBbyAyMDEyIDIwMTUgLSBNYXIgU3VuPj04IDIgMSBECi0tUiBBbyAyMDEyIDIwMTUgLSBOIFN1bj49MSAyIDAgUwotLVIgQW8gMjAxNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLS1SIEFvIDIwMTcgbWEgLSBOIFN1bj49MSAyIDAgUwotKy02IEdUIEMlc1QKLStSIEhUIDE5ODMgbyAtIE1heSA4IDAgMSBECi0rUiBIVCAxOTg0IDE5ODcgLSBBcCBsYXN0U3VuIDAgMSBECi0rUiBIVCAxOTgzIDE5ODcgLSBPIGxhc3RTdW4gMCAwIFMKLStSIEhUIDE5ODggMTk5NyAtIEFwIFN1bj49MSAxcyAxIEQKLStSIEhUIDE5ODggMTk5NyAtIE8gbGFzdFN1biAxcyAwIFMKLStSIEhUIDIwMDUgMjAwNiAtIEFwIFN1bj49MSAwIDEgRAotK1IgSFQgMjAwNSAyMDA2IC0gTyBsYXN0U3VuIDAgMCBTCi0rUiBIVCAyMDEyIDIwMTUgLSBNYXIgU3VuPj04IDIgMSBECi0rUiBIVCAyMDEyIDIwMTUgLSBOIFN1bj49MSAyIDAgUwotK1IgSFQgMjAxNyBtYSAtIE1hciBTdW4+PTggMiAxIEQKLStSIEhUIDIwMTcgbWEgLSBOIFN1bj49MSAyIDAgUwotIFogQW1lcmljYS9Qb3J0LWF1LVByaW5jZSAtNDo0OToyMCAtIExNVCAxODkwCi0gLTQ6NDkgLSBQUE1UIDE5MTcgSmEgMjQgMTIKLS0tNSBBbyBFJXNUCi0tUiBBcCAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0tUiBBcCAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLS1SIEFwIDIwMDYgbyAtIE1heSBTdW4+PTEgMCAxIEQKLS1SIEFwIDIwMDYgbyAtIEF1IE0+PTEgMCAwIFMKLSstNSBIVCBFJXNUCi0rUiBITiAxOTg3IDE5ODggLSBNYXkgU3VuPj0xIDAgMSBECi0rUiBITiAxOTg3IDE5ODggLSBTIGxhc3RTdW4gMCAwIFMKLStSIEhOIDIwMDYgbyAtIE1heSBTdW4+PTEgMCAxIEQKLStSIEhOIDIwMDYgbyAtIEF1IE0+PTEgMCAwIFMKLSBaIEFtZXJpY2EvVGVndWNpZ2FscGEgLTU6NDg6NTIgLSBMTVQgMTkyMSBBcAotLS02IEFwIEMlc1QKLSstNiBITiBDJXNUCi0gWiBBbWVyaWNhL0phbWFpY2EgLTU6NzoxMCAtIExNVCAxODkwCi0gLTU6NzoxMCAtIEtNVCAxOTEyIEYKLSAtNSAtIEVTVCAxOTc0Ci0tLTUgQUYgRSVzVCAxOTg0Ci0rLTUgdSBFJXNUIDE5ODQKLSAtNSAtIEVTVAotIFogQW1lcmljYS9NYXJ0aW5pcXVlIC00OjQ6MjAgLSBMTVQgMTg5MAotIC00OjQ6MjAgLSBGRk1UIDE5MTEgTWF5Ci0gLTQgLSBBU1QgMTk4MCBBcCA2Ci0gLTQgMSBBRFQgMTk4MCBTIDI4Ci0gLTQgLSBBU1QKLS1SIEFxIDE5NzkgMTk4MCAtIE1hciBTdW4+PTE2IDAgMSBECi0tUiBBcSAxOTc5IDE5ODAgLSBKdW4gTT49MjMgMCAwIFMKLS1SIEFxIDIwMDUgbyAtIEFwIDEwIDAgMSBECi0tUiBBcSAyMDA1IG8gLSBPIFN1bj49MSAwIDAgUwotLVIgQXEgMjAwNiBvIC0gQXAgMzAgMiAxIEQKLS1SIEFxIDIwMDYgbyAtIE8gU3VuPj0xIDEgMCBTCi0rUiBOSSAxOTc5IDE5ODAgLSBNYXIgU3VuPj0xNiAwIDEgRAotK1IgTkkgMTk3OSAxOTgwIC0gSnVuIE0+PTIzIDAgMCBTCi0rUiBOSSAyMDA1IG8gLSBBcCAxMCAwIDEgRAotK1IgTkkgMjAwNSBvIC0gTyBTdW4+PTEgMCAwIFMKLStSIE5JIDIwMDYgbyAtIEFwIDMwIDIgMSBECi0rUiBOSSAyMDA2IG8gLSBPIFN1bj49MSAxIDAgUwotIFogQW1lcmljYS9NYW5hZ3VhIC01OjQ1OjggLSBMTVQgMTg5MAotIC01OjQ1OjEyIC0gTU1UIDE5MzQgSnVuIDIzCi0gLTYgLSBDU1QgMTk3MyBNYXkKLSAtNSAtIEVTVCAxOTc1IEYgMTYKLS0tNiBBcSBDJXNUIDE5OTIgSmEgMSA0Ci0rLTYgTkkgQyVzVCAxOTkyIEphIDEgNAotIC01IC0gRVNUIDE5OTIgUyAyNAotIC02IC0gQ1NUIDE5OTMKLSAtNSAtIEVTVCAxOTk3Ci0tLTYgQXEgQyVzVAotKy02IE5JIEMlc1QKLSBaIEFtZXJpY2EvUGFuYW1hIC01OjE4OjggLSBMTVQgMTg5MAotIC01OjE5OjM2IC0gQ01UIDE5MDggQXAgMjIKLSAtNSAtIEVTVAotIExpIEFtZXJpY2EvUGFuYW1hIEFtZXJpY2EvQ2F5bWFuCi0gWiBBbWVyaWNhL1B1ZXJ0b19SaWNvIC00OjI0OjI1IC0gTE1UIDE4OTkgTWFyIDI4IDEyCi0gLTQgLSBBU1QgMTk0MiBNYXkgMwotLS00IEFGIEElc1QgMTk0NgotKy00IHUgQSVzVCAxOTQ2Ci0gLTQgLSBBU1QKLSBaIEFtZXJpY2EvTWlxdWVsb24gLTM6NDQ6NDAgLSBMTVQgMTkxMSBNYXkgMTUKLSAtNCAtIEFTVCAxOTgwIE1heQotIC0zIC0gLTAzIDE5ODcKLS0tMyBBVSAtMDMvLTAyCi0rLTMgQyAtMDMvLTAyCi0gWiBBbWVyaWNhL0dyYW5kX1R1cmsgLTQ6NDQ6MzIgLSBMTVQgMTg5MAotIC01Ojc6MTAgLSBLTVQgMTkxMiBGCi0gLTUgLSBFU1QgMTk3OQotLS01IEFGIEUlc1QgMjAxNSBOIFN1bj49MSAyCi0rLTUgdSBFJXNUIDIwMTUgTiBTdW4+PTEgMgotIC00IC0gQVNUIDIwMTggTWFyIDExIDMKLS0tNSBBRiBFJXNUCi0tUiBBciAxOTMwIG8gLSBEIDEgMCAxIC0KLS1SIEFyIDE5MzEgbyAtIEFwIDEgMCAwIC0KLS1SIEFyIDE5MzEgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5MzIgMTk0MCAtIE1hciAxIDAgMCAtCi0tUiBBciAxOTMyIDE5MzkgLSBOIDEgMCAxIC0KLS1SIEFyIDE5NDAgbyAtIEp1bCAxIDAgMSAtCi0tUiBBciAxOTQxIG8gLSBKdW4gMTUgMCAwIC0KLS1SIEFyIDE5NDEgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NDMgbyAtIEF1IDEgMCAwIC0KLS1SIEFyIDE5NDMgbyAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NDYgbyAtIE1hciAxIDAgMCAtCi0tUiBBciAxOTQ2IG8gLSBPIDEgMCAxIC0KLS1SIEFyIDE5NjMgbyAtIE8gMSAwIDAgLQotLVIgQXIgMTk2MyBvIC0gRCAxNSAwIDEgLQotLVIgQXIgMTk2NCAxOTY2IC0gTWFyIDEgMCAwIC0KLS1SIEFyIDE5NjQgMTk2NiAtIE8gMTUgMCAxIC0KLS1SIEFyIDE5NjcgbyAtIEFwIDIgMCAwIC0KLS1SIEFyIDE5NjcgMTk2OCAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBciAxOTY4IDE5NjkgLSBBcCBTdW4+PTEgMCAwIC0KLS1SIEFyIDE5NzQgbyAtIEphIDIzIDAgMSAtCi0tUiBBciAxOTc0IG8gLSBNYXkgMSAwIDAgLQotLVIgQXIgMTk4OCBvIC0gRCAxIDAgMSAtCi0tUiBBciAxOTg5IDE5OTMgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBciAxOTg5IDE5OTIgLSBPIFN1bj49MTUgMCAxIC0KLS1SIEFyIDE5OTkgbyAtIE8gU3VuPj0xIDAgMSAtCi0tUiBBciAyMDAwIG8gLSBNYXIgMyAwIDAgLQotLVIgQXIgMjAwNyBvIC0gRCAzMCAwIDEgLQotLVIgQXIgMjAwOCAyMDA5IC0gTWFyIFN1bj49MTUgMCAwIC0KLS1SIEFyIDIwMDggbyAtIE8gU3VuPj0xNSAwIDEgLQotKy01IHUgRSVzVAotK1IgQSAxOTMwIG8gLSBEIDEgMCAxIC0KLStSIEEgMTkzMSBvIC0gQXAgMSAwIDAgLQotK1IgQSAxOTMxIG8gLSBPIDE1IDAgMSAtCi0rUiBBIDE5MzIgMTk0MCAtIE1hciAxIDAgMCAtCi0rUiBBIDE5MzIgMTkzOSAtIE4gMSAwIDEgLQotK1IgQSAxOTQwIG8gLSBKdWwgMSAwIDEgLQotK1IgQSAxOTQxIG8gLSBKdW4gMTUgMCAwIC0KLStSIEEgMTk0MSBvIC0gTyAxNSAwIDEgLQotK1IgQSAxOTQzIG8gLSBBdSAxIDAgMCAtCi0rUiBBIDE5NDMgbyAtIE8gMTUgMCAxIC0KLStSIEEgMTk0NiBvIC0gTWFyIDEgMCAwIC0KLStSIEEgMTk0NiBvIC0gTyAxIDAgMSAtCi0rUiBBIDE5NjMgbyAtIE8gMSAwIDAgLQotK1IgQSAxOTYzIG8gLSBEIDE1IDAgMSAtCi0rUiBBIDE5NjQgMTk2NiAtIE1hciAxIDAgMCAtCi0rUiBBIDE5NjQgMTk2NiAtIE8gMTUgMCAxIC0KLStSIEEgMTk2NyBvIC0gQXAgMiAwIDAgLQotK1IgQSAxOTY3IDE5NjggLSBPIFN1bj49MSAwIDEgLQotK1IgQSAxOTY4IDE5NjkgLSBBcCBTdW4+PTEgMCAwIC0KLStSIEEgMTk3NCBvIC0gSmEgMjMgMCAxIC0KLStSIEEgMTk3NCBvIC0gTWF5IDEgMCAwIC0KLStSIEEgMTk4OCBvIC0gRCAxIDAgMSAtCi0rUiBBIDE5ODkgMTk5MyAtIE1hciBTdW4+PTEgMCAwIC0KLStSIEEgMTk4OSAxOTkyIC0gTyBTdW4+PTE1IDAgMSAtCi0rUiBBIDE5OTkgbyAtIE8gU3VuPj0xIDAgMSAtCi0rUiBBIDIwMDAgbyAtIE1hciAzIDAgMCAtCi0rUiBBIDIwMDcgbyAtIEQgMzAgMCAxIC0KLStSIEEgMjAwOCAyMDA5IC0gTWFyIFN1bj49MTUgMCAwIC0KLStSIEEgMjAwOCBvIC0gTyBTdW4+PTE1IDAgMSAtCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9CdWVub3NfQWlyZXMgLTM6NTM6NDggLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotLS0zIEFyIC0wMy8tMDIKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMgotIFogQW1lcmljYS9BcmdlbnRpbmEvQ29yZG9iYSAtNDoxNjo0OCAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTEgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MSBNYXIgMwotIC00IC0gLTA0IDE5OTEgTyAyMAotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLS0tMyBBciAtMDMvLTAyCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1NhbHRhIC00OjIxOjQwIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MSBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hciAzCi0gLTQgLSAtMDQgMTk5MSBPIDIwCi0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1R1Y3VtYW4gLTQ6MjA6NTIgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTEgTWFyIDMKLSAtNCAtIC0wNCAxOTkxIE8gMjAKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDEzCi0tLTMgQXIgLTAzLy0wMgotKy0zIEEgLTAzLy0wMgotIFogQW1lcmljYS9BcmdlbnRpbmEvTGFfUmlvamEgLTQ6Mjc6MjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hcgotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTWF5IDcKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDIwCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL1Nhbl9KdWFuIC00OjM0OjQgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hcgotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTWF5IDcKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IE1heSAzMQotIC00IC0gLTA0IDIwMDQgSnVsIDI1Ci0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL0p1anV5IC00OjIxOjEyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5MCBNYXIgNAotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTkwIE1hciA0Ci0gLTQgLSAtMDQgMTk5MCBPIDI4Ci0gLTQgMSAtMDMgMTk5MSBNYXIgMTcKLSAtNCAtIC0wNCAxOTkxIE8gNgotIC0zIDEgLTAyIDE5OTIKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotIFogQW1lcmljYS9BcmdlbnRpbmEvQ2F0YW1hcmNhIC00OjIzOjggLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkxIE1hciAzCi0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTEgTWFyIDMKLSAtNCAtIC0wNCAxOTkxIE8gMjAKLS0tMyBBciAtMDMvLTAyIDE5OTkgTyAzCi0tLTQgQXIgLTA0Ly0wMyAyMDAwIE1hciAzCi0rLTMgQSAtMDMvLTAyIDE5OTkgTyAzCi0rLTQgQSAtMDQvLTAzIDIwMDAgTWFyIDMKLSAtMyAtIC0wMyAyMDA0IEp1bgotIC00IC0gLTA0IDIwMDQgSnVuIDIwCi0tLTMgQXIgLTAzLy0wMiAyMDA4IE8gMTgKLSstMyBBIC0wMy8tMDIgMjAwOCBPIDE4Ci0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJnZW50aW5hL01lbmRvemEgLTQ6MzU6MTYgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTkwIE1hciA0Ci0rLTQgQSAtMDQvLTAzIDE5NjkgTyA1Ci0rLTMgQSAtMDMvLTAyIDE5OTAgTWFyIDQKLSAtNCAtIC0wNCAxOTkwIE8gMTUKLSAtNCAxIC0wMyAxOTkxIE1hcgotIC00IC0gLTA0IDE5OTEgTyAxNQotIC00IDEgLTAzIDE5OTIgTWFyCi0gLTQgLSAtMDQgMTk5MiBPIDE4Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBNYXkgMjMKLSAtNCAtIC0wNCAyMDA0IFMgMjYKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotLVIgQXMgMjAwOCAyMDA5IC0gTWFyIFN1bj49OCAwIDAgLQotLVIgQXMgMjAwNyAyMDA4IC0gTyBTdW4+PTggMCAxIC0KLStSIFNhIDIwMDggMjAwOSAtIE1hciBTdW4+PTggMCAwIC0KLStSIFNhIDIwMDcgMjAwOCAtIE8gU3VuPj04IDAgMSAtCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9TYW5fTHVpcyAtNDoyNToyNCAtIExNVCAxODk0IE8gMzEKLSAtNDoxNjo0OCAtIENNVCAxOTIwIE1heQotIC00IC0gLTA0IDE5MzAgRAotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5OTAKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5MAotIC0zIDEgLTAyIDE5OTAgTWFyIDE0Ci0gLTQgLSAtMDQgMTk5MCBPIDE1Ci0gLTQgMSAtMDMgMTk5MSBNYXIKLUBAIC0zNTkwLDI4NiArMzYwNywyODggQEAgWiBBbWVyaWNhL0FyZ2VudGluYS9TYW5fTHVpcyAtNDoyNToyNCAtIExNVCAxODk0IE8gMzEKLSAtNCAxIC0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBNYXkgMzEKLSAtNCAtIC0wNCAyMDA0IEp1bCAyNQotLS0zIEFyIC0wMy8tMDIgMjAwOCBKYSAyMQotLS00IEFzIC0wNC8tMDMgMjAwOSBPIDExCi0rLTMgQSAtMDMvLTAyIDIwMDggSmEgMjEKLSstNCBTYSAtMDQvLTAzIDIwMDkgTyAxMQotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9SaW9fR2FsbGVnb3MgLTQ6MzY6NTIgLSBMTVQgMTg5NCBPIDMxCi0gLTQ6MTY6NDggLSBDTVQgMTkyMCBNYXkKLSAtNCAtIC0wNCAxOTMwIEQKLS0tNCBBciAtMDQvLTAzIDE5NjkgTyA1Ci0tLTMgQXIgLTAzLy0wMiAxOTk5IE8gMwotLS00IEFyIC0wNC8tMDMgMjAwMCBNYXIgMwotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTk5IE8gMwotKy00IEEgLTA0Ly0wMyAyMDAwIE1hciAzCi0gLTMgLSAtMDMgMjAwNCBKdW4KLSAtNCAtIC0wNCAyMDA0IEp1biAyMAotLS0zIEFyIC0wMy8tMDIgMjAwOCBPIDE4Ci0rLTMgQSAtMDMvLTAyIDIwMDggTyAxOAotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL0FyZ2VudGluYS9Vc2h1YWlhIC00OjMzOjEyIC0gTE1UIDE4OTQgTyAzMQotIC00OjE2OjQ4IC0gQ01UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkzMCBECi0tLTQgQXIgLTA0Ly0wMyAxOTY5IE8gNQotLS0zIEFyIC0wMy8tMDIgMTk5OSBPIDMKLS0tNCBBciAtMDQvLTAzIDIwMDAgTWFyIDMKLSstNCBBIC0wNC8tMDMgMTk2OSBPIDUKLSstMyBBIC0wMy8tMDIgMTk5OSBPIDMKLSstNCBBIC0wNC8tMDMgMjAwMCBNYXIgMwotIC0zIC0gLTAzIDIwMDQgTWF5IDMwCi0gLTQgLSAtMDQgMjAwNCBKdW4gMjAKLS0tMyBBciAtMDMvLTAyIDIwMDggTyAxOAotKy0zIEEgLTAzLy0wMiAyMDA4IE8gMTgKLSAtMyAtIC0wMwotIExpIEFtZXJpY2EvQ3VyYWNhbyBBbWVyaWNhL0FydWJhCi0gWiBBbWVyaWNhL0xhX1BheiAtNDozMjozNiAtIExNVCAxODkwCi0gLTQ6MzI6MzYgLSBDTVQgMTkzMSBPIDE1Ci0gLTQ6MzI6MzYgMSBCU1QgMTkzMiBNYXIgMjEKLSAtNCAtIC0wNAotLVIgQXQgMTkzMSBvIC0gTyAzIDExIDEgLQotLVIgQXQgMTkzMiAxOTMzIC0gQXAgMSAwIDAgLQotLVIgQXQgMTkzMiBvIC0gTyAzIDAgMSAtCi0tUiBBdCAxOTQ5IDE5NTIgLSBEIDEgMCAxIC0KLS1SIEF0IDE5NTAgbyAtIEFwIDE2IDEgMCAtCi0tUiBBdCAxOTUxIDE5NTIgLSBBcCAxIDAgMCAtCi0tUiBBdCAxOTUzIG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2MyBvIC0gRCA5IDAgMSAtCi0tUiBBdCAxOTY0IG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2NSBvIC0gSmEgMzEgMCAxIC0KLS1SIEF0IDE5NjUgbyAtIE1hciAzMSAwIDAgLQotLVIgQXQgMTk2NSBvIC0gRCAxIDAgMSAtCi0tUiBBdCAxOTY2IDE5NjggLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk2NiAxOTY3IC0gTiAxIDAgMSAtCi0tUiBBdCAxOTg1IG8gLSBOIDIgMCAxIC0KLS1SIEF0IDE5ODYgbyAtIE1hciAxNSAwIDAgLQotLVIgQXQgMTk4NiBvIC0gTyAyNSAwIDEgLQotLVIgQXQgMTk4NyBvIC0gRiAxNCAwIDAgLQotLVIgQXQgMTk4NyBvIC0gTyAyNSAwIDEgLQotLVIgQXQgMTk4OCBvIC0gRiA3IDAgMCAtCi0tUiBBdCAxOTg4IG8gLSBPIDE2IDAgMSAtCi0tUiBBdCAxOTg5IG8gLSBKYSAyOSAwIDAgLQotLVIgQXQgMTk4OSBvIC0gTyAxNSAwIDEgLQotLVIgQXQgMTk5MCBvIC0gRiAxMSAwIDAgLQotLVIgQXQgMTk5MCBvIC0gTyAyMSAwIDEgLQotLVIgQXQgMTk5MSBvIC0gRiAxNyAwIDAgLQotLVIgQXQgMTk5MSBvIC0gTyAyMCAwIDEgLQotLVIgQXQgMTk5MiBvIC0gRiA5IDAgMCAtCi0tUiBBdCAxOTkyIG8gLSBPIDI1IDAgMSAtCi0tUiBBdCAxOTkzIG8gLSBKYSAzMSAwIDAgLQotLVIgQXQgMTk5MyAxOTk1IC0gTyBTdW4+PTExIDAgMSAtCi0tUiBBdCAxOTk0IDE5OTUgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDE5OTYgbyAtIEYgMTEgMCAwIC0KLS1SIEF0IDE5OTYgbyAtIE8gNiAwIDEgLQotLVIgQXQgMTk5NyBvIC0gRiAxNiAwIDAgLQotLVIgQXQgMTk5NyBvIC0gTyA2IDAgMSAtCi0tUiBBdCAxOTk4IG8gLSBNYXIgMSAwIDAgLQotLVIgQXQgMTk5OCBvIC0gTyAxMSAwIDEgLQotLVIgQXQgMTk5OSBvIC0gRiAyMSAwIDAgLQotLVIgQXQgMTk5OSBvIC0gTyAzIDAgMSAtCi0tUiBBdCAyMDAwIG8gLSBGIDI3IDAgMCAtCi0tUiBBdCAyMDAwIDIwMDEgLSBPIFN1bj49OCAwIDEgLQotLVIgQXQgMjAwMSAyMDA2IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDAyIG8gLSBOIDMgMCAxIC0KLS1SIEF0IDIwMDMgbyAtIE8gMTkgMCAxIC0KLS1SIEF0IDIwMDQgbyAtIE4gMiAwIDEgLQotLVIgQXQgMjAwNSBvIC0gTyAxNiAwIDEgLQotLVIgQXQgMjAwNiBvIC0gTiA1IDAgMSAtCi0tUiBBdCAyMDA3IG8gLSBGIDI1IDAgMCAtCi0tUiBBdCAyMDA3IG8gLSBPIFN1bj49OCAwIDEgLQotLVIgQXQgMjAwOCAyMDE3IC0gTyBTdW4+PTE1IDAgMSAtCi0tUiBBdCAyMDA4IDIwMTEgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMTIgbyAtIEYgU3VuPj0yMiAwIDAgLQotLVIgQXQgMjAxMyAyMDE0IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDE1IG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMTYgMjAyMiAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAxOCBtYSAtIE4gU3VuPj0xIDAgMSAtCi0tUiBBdCAyMDIzIG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMjQgMjAyNSAtIEYgU3VuPj0xNSAwIDAgLQotLVIgQXQgMjAyNiBvIC0gRiBTdW4+PTIyIDAgMCAtCi0tUiBBdCAyMDI3IDIwMzMgLSBGIFN1bj49MTUgMCAwIC0KLS1SIEF0IDIwMzQgbyAtIEYgU3VuPj0yMiAwIDAgLQotLVIgQXQgMjAzNSAyMDM2IC0gRiBTdW4+PTE1IDAgMCAtCi0tUiBBdCAyMDM3IG8gLSBGIFN1bj49MjIgMCAwIC0KLS1SIEF0IDIwMzggbWEgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMTkzMSBvIC0gTyAzIDExIDEgLQotK1IgQiAxOTMyIDE5MzMgLSBBcCAxIDAgMCAtCi0rUiBCIDE5MzIgbyAtIE8gMyAwIDEgLQotK1IgQiAxOTQ5IDE5NTIgLSBEIDEgMCAxIC0KLStSIEIgMTk1MCBvIC0gQXAgMTYgMSAwIC0KLStSIEIgMTk1MSAxOTUyIC0gQXAgMSAwIDAgLQotK1IgQiAxOTUzIG8gLSBNYXIgMSAwIDAgLQotK1IgQiAxOTYzIG8gLSBEIDkgMCAxIC0KLStSIEIgMTk2NCBvIC0gTWFyIDEgMCAwIC0KLStSIEIgMTk2NSBvIC0gSmEgMzEgMCAxIC0KLStSIEIgMTk2NSBvIC0gTWFyIDMxIDAgMCAtCi0rUiBCIDE5NjUgbyAtIEQgMSAwIDEgLQotK1IgQiAxOTY2IDE5NjggLSBNYXIgMSAwIDAgLQotK1IgQiAxOTY2IDE5NjcgLSBOIDEgMCAxIC0KLStSIEIgMTk4NSBvIC0gTiAyIDAgMSAtCi0rUiBCIDE5ODYgbyAtIE1hciAxNSAwIDAgLQotK1IgQiAxOTg2IG8gLSBPIDI1IDAgMSAtCi0rUiBCIDE5ODcgbyAtIEYgMTQgMCAwIC0KLStSIEIgMTk4NyBvIC0gTyAyNSAwIDEgLQotK1IgQiAxOTg4IG8gLSBGIDcgMCAwIC0KLStSIEIgMTk4OCBvIC0gTyAxNiAwIDEgLQotK1IgQiAxOTg5IG8gLSBKYSAyOSAwIDAgLQotK1IgQiAxOTg5IG8gLSBPIDE1IDAgMSAtCi0rUiBCIDE5OTAgbyAtIEYgMTEgMCAwIC0KLStSIEIgMTk5MCBvIC0gTyAyMSAwIDEgLQotK1IgQiAxOTkxIG8gLSBGIDE3IDAgMCAtCi0rUiBCIDE5OTEgbyAtIE8gMjAgMCAxIC0KLStSIEIgMTk5MiBvIC0gRiA5IDAgMCAtCi0rUiBCIDE5OTIgbyAtIE8gMjUgMCAxIC0KLStSIEIgMTk5MyBvIC0gSmEgMzEgMCAwIC0KLStSIEIgMTk5MyAxOTk1IC0gTyBTdW4+PTExIDAgMSAtCi0rUiBCIDE5OTQgMTk5NSAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAxOTk2IG8gLSBGIDExIDAgMCAtCi0rUiBCIDE5OTYgbyAtIE8gNiAwIDEgLQotK1IgQiAxOTk3IG8gLSBGIDE2IDAgMCAtCi0rUiBCIDE5OTcgbyAtIE8gNiAwIDEgLQotK1IgQiAxOTk4IG8gLSBNYXIgMSAwIDAgLQotK1IgQiAxOTk4IG8gLSBPIDExIDAgMSAtCi0rUiBCIDE5OTkgbyAtIEYgMjEgMCAwIC0KLStSIEIgMTk5OSBvIC0gTyAzIDAgMSAtCi0rUiBCIDIwMDAgbyAtIEYgMjcgMCAwIC0KLStSIEIgMjAwMCAyMDAxIC0gTyBTdW4+PTggMCAxIC0KLStSIEIgMjAwMSAyMDA2IC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMDIgbyAtIE4gMyAwIDEgLQotK1IgQiAyMDAzIG8gLSBPIDE5IDAgMSAtCi0rUiBCIDIwMDQgbyAtIE4gMiAwIDEgLQotK1IgQiAyMDA1IG8gLSBPIDE2IDAgMSAtCi0rUiBCIDIwMDYgbyAtIE4gNSAwIDEgLQotK1IgQiAyMDA3IG8gLSBGIDI1IDAgMCAtCi0rUiBCIDIwMDcgbyAtIE8gU3VuPj04IDAgMSAtCi0rUiBCIDIwMDggMjAxNyAtIE8gU3VuPj0xNSAwIDEgLQotK1IgQiAyMDA4IDIwMTEgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAxMiBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMTMgMjAxNCAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDE1IG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAxNiAyMDIyIC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMTggbWEgLSBOIFN1bj49MSAwIDEgLQotK1IgQiAyMDIzIG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAyNCAyMDI1IC0gRiBTdW4+PTE1IDAgMCAtCi0rUiBCIDIwMjYgbyAtIEYgU3VuPj0yMiAwIDAgLQotK1IgQiAyMDI3IDIwMzMgLSBGIFN1bj49MTUgMCAwIC0KLStSIEIgMjAzNCBvIC0gRiBTdW4+PTIyIDAgMCAtCi0rUiBCIDIwMzUgMjAzNiAtIEYgU3VuPj0xNSAwIDAgLQotK1IgQiAyMDM3IG8gLSBGIFN1bj49MjIgMCAwIC0KLStSIEIgMjAzOCBtYSAtIEYgU3VuPj0xNSAwIDAgLQotIFogQW1lcmljYS9Ob3JvbmhhIC0yOjk6NDAgLSBMTVQgMTkxNAotLS0yIEF0IC0wMi8tMDEgMTk5MCBTIDE3Ci0rLTIgQiAtMDIvLTAxIDE5OTAgUyAxNwotIC0yIC0gLTAyIDE5OTkgUyAzMAotLS0yIEF0IC0wMi8tMDEgMjAwMCBPIDE1Ci0rLTIgQiAtMDIvLTAxIDIwMDAgTyAxNQotIC0yIC0gLTAyIDIwMDEgUyAxMwotLS0yIEF0IC0wMi8tMDEgMjAwMiBPCi0rLTIgQiAtMDIvLTAxIDIwMDIgTwotIC0yIC0gLTAyCi0gWiBBbWVyaWNhL0JlbGVtIC0zOjEzOjU2IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5ODggUyAxMgotKy0zIEIgLTAzLy0wMiAxOTg4IFMgMTIKLSAtMyAtIC0wMwotIFogQW1lcmljYS9TYW50YXJlbSAtMzozODo0OCAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAxOTg4IFMgMTIKLSstNCBCIC0wNC8tMDMgMTk4OCBTIDEyCi0gLTQgLSAtMDQgMjAwOCBKdW4gMjQKLSAtMyAtIC0wMwotIFogQW1lcmljYS9Gb3J0YWxlemEgLTI6MzQgLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk5MCBTIDE3Ci0rLTMgQiAtMDMvLTAyIDE5OTAgUyAxNwotIC0zIC0gLTAzIDE5OTkgUyAzMAotLS0zIEF0IC0wMy8tMDIgMjAwMCBPIDIyCi0rLTMgQiAtMDMvLTAyIDIwMDAgTyAyMgotIC0zIC0gLTAzIDIwMDEgUyAxMwotLS0zIEF0IC0wMy8tMDIgMjAwMiBPCi0rLTMgQiAtMDMvLTAyIDIwMDIgTwotIC0zIC0gLTAzCi0gWiBBbWVyaWNhL1JlY2lmZSAtMjoxOTozNiAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTkwIFMgMTcKLSstMyBCIC0wMy8tMDIgMTk5MCBTIDE3Ci0gLTMgLSAtMDMgMTk5OSBTIDMwCi0tLTMgQXQgLTAzLy0wMiAyMDAwIE8gMTUKLSstMyBCIC0wMy8tMDIgMjAwMCBPIDE1Ci0gLTMgLSAtMDMgMjAwMSBTIDEzCi0tLTMgQXQgLTAzLy0wMiAyMDAyIE8KLSstMyBCIC0wMy8tMDIgMjAwMiBPCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQXJhZ3VhaW5hIC0zOjEyOjQ4IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDE5OTAgUyAxNwotKy0zIEIgLTAzLy0wMiAxOTkwIFMgMTcKLSAtMyAtIC0wMyAxOTk1IFMgMTQKLS0tMyBBdCAtMDMvLTAyIDIwMDMgUyAyNAotKy0zIEIgLTAzLy0wMiAyMDAzIFMgMjQKLSAtMyAtIC0wMyAyMDEyIE8gMjEKLS0tMyBBdCAtMDMvLTAyIDIwMTMgUwotKy0zIEIgLTAzLy0wMiAyMDEzIFMKLSAtMyAtIC0wMwotIFogQW1lcmljYS9NYWNlaW8gLTI6MjI6NTIgLSBMTVQgMTkxNAotLS0zIEF0IC0wMy8tMDIgMTk5MCBTIDE3Ci0rLTMgQiAtMDMvLTAyIDE5OTAgUyAxNwotIC0zIC0gLTAzIDE5OTUgTyAxMwotLS0zIEF0IC0wMy8tMDIgMTk5NiBTIDQKLSstMyBCIC0wMy8tMDIgMTk5NiBTIDQKLSAtMyAtIC0wMyAxOTk5IFMgMzAKLS0tMyBBdCAtMDMvLTAyIDIwMDAgTyAyMgotKy0zIEIgLTAzLy0wMiAyMDAwIE8gMjIKLSAtMyAtIC0wMyAyMDAxIFMgMTMKLS0tMyBBdCAtMDMvLTAyIDIwMDIgTwotKy0zIEIgLTAzLy0wMiAyMDAyIE8KLSAtMyAtIC0wMwotIFogQW1lcmljYS9CYWhpYSAtMjozNDo0IC0gTE1UIDE5MTQKLS0tMyBBdCAtMDMvLTAyIDIwMDMgUyAyNAotKy0zIEIgLTAzLy0wMiAyMDAzIFMgMjQKLSAtMyAtIC0wMyAyMDExIE8gMTYKLS0tMyBBdCAtMDMvLTAyIDIwMTIgTyAyMQotKy0zIEIgLTAzLy0wMiAyMDEyIE8gMjEKLSAtMyAtIC0wMwotIFogQW1lcmljYS9TYW9fUGF1bG8gLTM6NjoyOCAtIExNVCAxOTE0Ci0tLTMgQXQgLTAzLy0wMiAxOTYzIE8gMjMKLSstMyBCIC0wMy8tMDIgMTk2MyBPIDIzCi0gLTMgMSAtMDIgMTk2NAotLS0zIEF0IC0wMy8tMDIKLSstMyBCIC0wMy8tMDIKLSBaIEFtZXJpY2EvQ2FtcG9fR3JhbmRlIC0zOjM4OjI4IC0gTE1UIDE5MTQKLS0tNCBBdCAtMDQvLTAzCi0rLTQgQiAtMDQvLTAzCi0gWiBBbWVyaWNhL0N1aWFiYSAtMzo0NDoyMCAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAyMDAzIFMgMjQKLSstNCBCIC0wNC8tMDMgMjAwMyBTIDI0Ci0gLTQgLSAtMDQgMjAwNCBPCi0tLTQgQXQgLTA0Ly0wMwotKy00IEIgLTA0Ly0wMwotIFogQW1lcmljYS9Qb3J0b19WZWxobyAtNDoxNTozNiAtIExNVCAxOTE0Ci0tLTQgQXQgLTA0Ly0wMyAxOTg4IFMgMTIKLSstNCBCIC0wNC8tMDMgMTk4OCBTIDEyCi0gLTQgLSAtMDQKLSBaIEFtZXJpY2EvQm9hX1Zpc3RhIC00OjI6NDAgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0IDE5OTkgUyAzMAotLS00IEF0IC0wNC8tMDMgMjAwMCBPIDE1Ci0rLTQgQiAtMDQvLTAzIDIwMDAgTyAxNQotIC00IC0gLTA0Ci0gWiBBbWVyaWNhL01hbmF1cyAtNDowOjQgLSBMTVQgMTkxNAotLS00IEF0IC0wNC8tMDMgMTk4OCBTIDEyCi0rLTQgQiAtMDQvLTAzIDE5ODggUyAxMgotIC00IC0gLTA0IDE5OTMgUyAyOAotLS00IEF0IC0wNC8tMDMgMTk5NCBTIDIyCi0rLTQgQiAtMDQvLTAzIDE5OTQgUyAyMgotIC00IC0gLTA0Ci0gWiBBbWVyaWNhL0VpcnVuZXBlIC00OjM5OjI4IC0gTE1UIDE5MTQKLS0tNSBBdCAtMDUvLTA0IDE5ODggUyAxMgotKy01IEIgLTA1Ly0wNCAxOTg4IFMgMTIKLSAtNSAtIC0wNSAxOTkzIFMgMjgKLS0tNSBBdCAtMDUvLTA0IDE5OTQgUyAyMgotKy01IEIgLTA1Ly0wNCAxOTk0IFMgMjIKLSAtNSAtIC0wNSAyMDA4IEp1biAyNAotIC00IC0gLTA0IDIwMTMgTiAxMAotIC01IC0gLTA1Ci0gWiBBbWVyaWNhL1Jpb19CcmFuY28gLTQ6MzE6MTIgLSBMTVQgMTkxNAotLS01IEF0IC0wNS8tMDQgMTk4OCBTIDEyCi0rLTUgQiAtMDUvLTA0IDE5ODggUyAxMgotIC01IC0gLTA1IDIwMDggSnVuIDI0Ci0gLTQgLSAtMDQgMjAxMyBOIDEwCi0gLTUgLSAtMDUKLS1SIEF1IDE5MjcgMTkzMSAtIFMgMSAwIDEgLQotLVIgQXUgMTkyOCAxOTMyIC0gQXAgMSAwIDAgLQotLVIgQXUgMTk2OCBvIC0gTiAzIDR1IDEgLQotLVIgQXUgMTk2OSBvIC0gTWFyIDMwIDN1IDAgLQotLVIgQXUgMTk2OSBvIC0gTiAyMyA0dSAxIC0KLS1SIEF1IDE5NzAgbyAtIE1hciAyOSAzdSAwIC0KLS1SIEF1IDE5NzEgbyAtIE1hciAxNCAzdSAwIC0KLS1SIEF1IDE5NzAgMTk3MiAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMTk3MiAxOTg2IC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDE5NzMgbyAtIFMgMzAgNHUgMSAtCi0tUiBBdSAxOTc0IDE5ODcgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5ODcgbyAtIEFwIDEyIDN1IDAgLQotLVIgQXUgMTk4OCAxOTkwIC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDE5ODggMTk4OSAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMTk5MCBvIC0gUyAxNiA0dSAxIC0KLS1SIEF1IDE5OTEgMTk5NiAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTkxIDE5OTcgLSBPIFN1bj49OSA0dSAxIC0KLS1SIEF1IDE5OTcgbyAtIE1hciAzMCAzdSAwIC0KLS1SIEF1IDE5OTggbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAxOTk4IG8gLSBTIDI3IDR1IDEgLQotLVIgQXUgMTk5OSBvIC0gQXAgNCAzdSAwIC0KLS1SIEF1IDE5OTkgMjAxMCAtIE8gU3VuPj05IDR1IDEgLQotLVIgQXUgMjAwMCAyMDA3IC0gTWFyIFN1bj49OSAzdSAwIC0KLS1SIEF1IDIwMDggbyAtIE1hciAzMCAzdSAwIC0KLS1SIEF1IDIwMDkgbyAtIE1hciBTdW4+PTkgM3UgMCAtCi0tUiBBdSAyMDEwIG8gLSBBcCBTdW4+PTEgM3UgMCAtCi0tUiBBdSAyMDExIG8gLSBNYXkgU3VuPj0yIDN1IDAgLQotLVIgQXUgMjAxMSBvIC0gQXUgU3VuPj0xNiA0dSAxIC0KLS1SIEF1IDIwMTIgMjAxNCAtIEFwIFN1bj49MjMgM3UgMCAtCi0tUiBBdSAyMDEyIDIwMTQgLSBTIFN1bj49MiA0dSAxIC0KLS1SIEF1IDIwMTYgbWEgLSBNYXkgU3VuPj05IDN1IDAgLQotLVIgQXUgMjAxNiBtYSAtIEF1IFN1bj49OSA0dSAxIC0KLStSIHggMTkyNyAxOTMxIC0gUyAxIDAgMSAtCi0rUiB4IDE5MjggMTkzMiAtIEFwIDEgMCAwIC0KLStSIHggMTk2OCBvIC0gTiAzIDR1IDEgLQotK1IgeCAxOTY5IG8gLSBNYXIgMzAgM3UgMCAtCi0rUiB4IDE5NjkgbyAtIE4gMjMgNHUgMSAtCi0rUiB4IDE5NzAgbyAtIE1hciAyOSAzdSAwIC0KLStSIHggMTk3MSBvIC0gTWFyIDE0IDN1IDAgLQotK1IgeCAxOTcwIDE5NzIgLSBPIFN1bj49OSA0dSAxIC0KLStSIHggMTk3MiAxOTg2IC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk3MyBvIC0gUyAzMCA0dSAxIC0KLStSIHggMTk3NCAxOTg3IC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5ODcgbyAtIEFwIDEyIDN1IDAgLQotK1IgeCAxOTg4IDE5OTAgLSBNYXIgU3VuPj05IDN1IDAgLQotK1IgeCAxOTg4IDE5ODkgLSBPIFN1bj49OSA0dSAxIC0KLStSIHggMTk5MCBvIC0gUyAxNiA0dSAxIC0KLStSIHggMTk5MSAxOTk2IC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk5MSAxOTk3IC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDE5OTcgbyAtIE1hciAzMCAzdSAwIC0KLStSIHggMTk5OCBvIC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMTk5OCBvIC0gUyAyNyA0dSAxIC0KLStSIHggMTk5OSBvIC0gQXAgNCAzdSAwIC0KLStSIHggMTk5OSAyMDEwIC0gTyBTdW4+PTkgNHUgMSAtCi0rUiB4IDIwMDAgMjAwNyAtIE1hciBTdW4+PTkgM3UgMCAtCi0rUiB4IDIwMDggbyAtIE1hciAzMCAzdSAwIC0KLStSIHggMjAwOSBvIC0gTWFyIFN1bj49OSAzdSAwIC0KLStSIHggMjAxMCBvIC0gQXAgU3VuPj0xIDN1IDAgLQotK1IgeCAyMDExIG8gLSBNYXkgU3VuPj0yIDN1IDAgLQotK1IgeCAyMDExIG8gLSBBdSBTdW4+PTE2IDR1IDEgLQotK1IgeCAyMDEyIDIwMTQgLSBBcCBTdW4+PTIzIDN1IDAgLQotK1IgeCAyMDEyIDIwMTQgLSBTIFN1bj49MiA0dSAxIC0KLStSIHggMjAxNiAyMDE4IC0gTWF5IFN1bj49OSAzdSAwIC0KLStSIHggMjAxNiAyMDE4IC0gQXUgU3VuPj05IDR1IDEgLQotK1IgeCAyMDE5IG1hIC0gQXAgU3VuPj0yIDN1IDAgLQotK1IgeCAyMDE5IG1hIC0gUyBTdW4+PTIgNHUgMSAtCi0gWiBBbWVyaWNhL1NhbnRpYWdvIC00OjQyOjQ2IC0gTE1UIDE4OTAKLSAtNDo0Mjo0NiAtIFNNVCAxOTEwIEphIDEwCi0gLTUgLSAtMDUgMTkxNiBKdWwKLSAtNDo0Mjo0NiAtIFNNVCAxOTE4IFMgMTAKLSAtNCAtIC0wNCAxOTE5IEp1bAotIC00OjQyOjQ2IC0gU01UIDE5MjcgUwotLS01IEF1IC0wNS8tMDQgMTkzMiBTCi0rLTUgeCAtMDUvLTA0IDE5MzIgUwotIC00IC0gLTA0IDE5NDIgSnVuCi0gLTUgLSAtMDUgMTk0MiBBdQotIC00IC0gLTA0IDE5NDYgSnVsIDE1Ci0gLTQgMSAtMDMgMTk0NiBTCi0gLTQgLSAtMDQgMTk0NyBBcAotIC01IC0gLTA1IDE5NDcgTWF5IDIxIDIzCi0tLTQgQXUgLTA0Ly0wMwotKy00IHggLTA0Ly0wMwotIFogQW1lcmljYS9QdW50YV9BcmVuYXMgLTQ6NDM6NDAgLSBMTVQgMTg5MAotIC00OjQyOjQ2IC0gU01UIDE5MTAgSmEgMTAKLSAtNSAtIC0wNSAxOTE2IEp1bAotIC00OjQyOjQ2IC0gU01UIDE5MTggUyAxMAotIC00IC0gLTA0IDE5MTkgSnVsCi0gLTQ6NDI6NDYgLSBTTVQgMTkyNyBTCi0tLTUgQXUgLTA1Ly0wNCAxOTMyIFMKLSstNSB4IC0wNS8tMDQgMTkzMiBTCi0gLTQgLSAtMDQgMTk0MiBKdW4KLSAtNSAtIC0wNSAxOTQyIEF1Ci0gLTQgLSAtMDQgMTk0NyBBcAotIC01IC0gLTA1IDE5NDcgTWF5IDIxIDIzCi0tLTQgQXUgLTA0Ly0wMyAyMDE2IEQgNAotKy00IHggLTA0Ly0wMyAyMDE2IEQgNAotIC0zIC0gLTAzCi0gWiBQYWNpZmljL0Vhc3RlciAtNzoxNzoyOCAtIExNVCAxODkwCi0gLTc6MTc6MjggLSBFTVQgMTkzMiBTCi0tLTcgQXUgLTA3Ly0wNiAxOTgyIE1hciAxNCAzdQotLS02IEF1IC0wNi8tMDUKLSstNyB4IC0wNy8tMDYgMTk4MiBNYXIgMTQgM3UKLSstNiB4IC0wNi8tMDUKLSBaIEFudGFyY3RpY2EvUGFsbWVyIDAgLSAtMDAgMTk2NQotLS00IEFyIC0wNC8tMDMgMTk2OSBPIDUKLS0tMyBBciAtMDMvLTAyIDE5ODIgTWF5Ci0tLTQgQXUgLTA0Ly0wMyAyMDE2IEQgNAotKy00IEEgLTA0Ly0wMyAxOTY5IE8gNQotKy0zIEEgLTAzLy0wMiAxOTgyIE1heQotKy00IHggLTA0Ly0wMyAyMDE2IEQgNAotIC0zIC0gLTAzCi0tUiBBdiAxOTkyIG8gLSBNYXkgMyAwIDEgLQotLVIgQXYgMTk5MyBvIC0gQXAgNCAwIDAgLQotK1IgQ08gMTk5MiBvIC0gTWF5IDMgMCAxIC0KLStSIENPIDE5OTMgbyAtIEFwIDQgMCAwIC0KLSBaIEFtZXJpY2EvQm9nb3RhIC00OjU2OjE2IC0gTE1UIDE4ODQgTWFyIDEzCi0gLTQ6NTY6MTYgLSBCTVQgMTkxNCBOIDIzCi0tLTUgQXYgLTA1Ly0wNAotKy01IENPIC0wNS8tMDQKLSBaIEFtZXJpY2EvQ3VyYWNhbyAtNDozNTo0NyAtIExNVCAxOTEyIEYgMTIKLSAtNDozMCAtIC0wNDMwIDE5NjUKLSAtNCAtIEFTVAotIExpIEFtZXJpY2EvQ3VyYWNhbyBBbWVyaWNhL0xvd2VyX1ByaW5jZXMKLSBMaSBBbWVyaWNhL0N1cmFjYW8gQW1lcmljYS9LcmFsZW5kaWprCi0tUiBBdyAxOTkyIG8gLSBOIDI4IDAgMSAtCi0tUiBBdyAxOTkzIG8gLSBGIDUgMCAwIC0KLStSIEVDIDE5OTIgbyAtIE4gMjggMCAxIC0KLStSIEVDIDE5OTMgbyAtIEYgNSAwIDAgLQotIFogQW1lcmljYS9HdWF5YXF1aWwgLTU6MTk6MjAgLSBMTVQgMTg5MAotIC01OjE0IC0gUU1UIDE5MzEKLS0tNSBBdyAtMDUvLTA0Ci0rLTUgRUMgLTA1Ly0wNAotIFogUGFjaWZpYy9HYWxhcGFnb3MgLTU6NTg6MjQgLSBMTVQgMTkzMQotIC01IC0gLTA1IDE5ODYKLS0tNiBBdyAtMDYvLTA1Ci0tUiBBeCAxOTM3IDE5MzggLSBTIGxhc3RTdW4gMCAxIC0KLS1SIEF4IDE5MzggMTk0MiAtIE1hciBTdW4+PTE5IDAgMCAtCi0tUiBBeCAxOTM5IG8gLSBPIDEgMCAxIC0KLS1SIEF4IDE5NDAgMTk0MiAtIFMgbGFzdFN1biAwIDEgLQotLVIgQXggMTk0MyBvIC0gSmEgMSAwIDAgLQotLVIgQXggMTk4MyBvIC0gUyBsYXN0U3VuIDAgMSAtCi0tUiBBeCAxOTg0IDE5ODUgLSBBcCBsYXN0U3VuIDAgMCAtCi0tUiBBeCAxOTg0IG8gLSBTIDE2IDAgMSAtCi0tUiBBeCAxOTg1IDIwMDAgLSBTIFN1bj49OSAwIDEgLQotLVIgQXggMTk4NiAyMDAwIC0gQXAgU3VuPj0xNiAwIDAgLQotLVIgQXggMjAwMSAyMDEwIC0gQXAgU3VuPj0xNSAyIDAgLQotLVIgQXggMjAwMSAyMDEwIC0gUyBTdW4+PTEgMiAxIC0KLSstNiBFQyAtMDYvLTA1Ci0rUiBGSyAxOTM3IDE5MzggLSBTIGxhc3RTdW4gMCAxIC0KLStSIEZLIDE5MzggMTk0MiAtIE1hciBTdW4+PTE5IDAgMCAtCi0rUiBGSyAxOTM5IG8gLSBPIDEgMCAxIC0KLStSIEZLIDE5NDAgMTk0MiAtIFMgbGFzdFN1biAwIDEgLQotK1IgRksgMTk0MyBvIC0gSmEgMSAwIDAgLQotK1IgRksgMTk4MyBvIC0gUyBsYXN0U3VuIDAgMSAtCi0rUiBGSyAxOTg0IDE5ODUgLSBBcCBsYXN0U3VuIDAgMCAtCi0rUiBGSyAxOTg0IG8gLSBTIDE2IDAgMSAtCi0rUiBGSyAxOTg1IDIwMDAgLSBTIFN1bj49OSAwIDEgLQotK1IgRksgMTk4NiAyMDAwIC0gQXAgU3VuPj0xNiAwIDAgLQotK1IgRksgMjAwMSAyMDEwIC0gQXAgU3VuPj0xNSAyIDAgLQotK1IgRksgMjAwMSAyMDEwIC0gUyBTdW4+PTEgMiAxIC0KLSBaIEF0bGFudGljL1N0YW5sZXkgLTM6NTE6MjQgLSBMTVQgMTg5MAotIC0zOjUxOjI0IC0gU01UIDE5MTIgTWFyIDEyCi0tLTQgQXggLTA0Ly0wMyAxOTgzIE1heQotLS0zIEF4IC0wMy8tMDIgMTk4NSBTIDE1Ci0tLTQgQXggLTA0Ly0wMyAyMDEwIFMgNSAyCi0rLTQgRksgLTA0Ly0wMyAxOTgzIE1heQotKy0zIEZLIC0wMy8tMDIgMTk4NSBTIDE1Ci0rLTQgRksgLTA0Ly0wMyAyMDEwIFMgNSAyCi0gLTMgLSAtMDMKLSBaIEFtZXJpY2EvQ2F5ZW5uZSAtMzoyOToyMCAtIExNVCAxOTExIEp1bAotIC00IC0gLTA0IDE5NjcgTwotQEAgLTM4NzgsNDYgKzM4OTcsNDYgQEAgWiBBbWVyaWNhL0d1eWFuYSAtMzo1Mjo0MCAtIExNVCAxOTE1IE1hcgotIC0zOjQ1IC0gLTAzNDUgMTk3NSBKdWwgMzEKLSAtMyAtIC0wMyAxOTkxCi0gLTQgLSAtMDQKLS1SIEF5IDE5NzUgMTk4OCAtIE8gMSAwIDEgLQotLVIgQXkgMTk3NSAxOTc4IC0gTWFyIDEgMCAwIC0KLS1SIEF5IDE5NzkgMTk5MSAtIEFwIDEgMCAwIC0KLS1SIEF5IDE5ODkgbyAtIE8gMjIgMCAxIC0KLS1SIEF5IDE5OTAgbyAtIE8gMSAwIDEgLQotLVIgQXkgMTk5MSBvIC0gTyA2IDAgMSAtCi0tUiBBeSAxOTkyIG8gLSBNYXIgMSAwIDAgLQotLVIgQXkgMTk5MiBvIC0gTyA1IDAgMSAtCi0tUiBBeSAxOTkzIG8gLSBNYXIgMzEgMCAwIC0KLS1SIEF5IDE5OTMgMTk5NSAtIE8gMSAwIDEgLQotLVIgQXkgMTk5NCAxOTk1IC0gRiBsYXN0U3VuIDAgMCAtCi0tUiBBeSAxOTk2IG8gLSBNYXIgMSAwIDAgLQotLVIgQXkgMTk5NiAyMDAxIC0gTyBTdW4+PTEgMCAxIC0KLS1SIEF5IDE5OTcgbyAtIEYgbGFzdFN1biAwIDAgLQotLVIgQXkgMTk5OCAyMDAxIC0gTWFyIFN1bj49MSAwIDAgLQotLVIgQXkgMjAwMiAyMDA0IC0gQXAgU3VuPj0xIDAgMCAtCi0tUiBBeSAyMDAyIDIwMDMgLSBTIFN1bj49MSAwIDEgLQotLVIgQXkgMjAwNCAyMDA5IC0gTyBTdW4+PTE1IDAgMSAtCi0tUiBBeSAyMDA1IDIwMDkgLSBNYXIgU3VuPj04IDAgMCAtCi0tUiBBeSAyMDEwIG1hIC0gTyBTdW4+PTEgMCAxIC0KLS1SIEF5IDIwMTAgMjAxMiAtIEFwIFN1bj49OCAwIDAgLQotLVIgQXkgMjAxMyBtYSAtIE1hciBTdW4+PTIyIDAgMCAtCi0rUiB5IDE5NzUgMTk4OCAtIE8gMSAwIDEgLQotK1IgeSAxOTc1IDE5NzggLSBNYXIgMSAwIDAgLQotK1IgeSAxOTc5IDE5OTEgLSBBcCAxIDAgMCAtCi0rUiB5IDE5ODkgbyAtIE8gMjIgMCAxIC0KLStSIHkgMTk5MCBvIC0gTyAxIDAgMSAtCi0rUiB5IDE5OTEgbyAtIE8gNiAwIDEgLQotK1IgeSAxOTkyIG8gLSBNYXIgMSAwIDAgLQotK1IgeSAxOTkyIG8gLSBPIDUgMCAxIC0KLStSIHkgMTk5MyBvIC0gTWFyIDMxIDAgMCAtCi0rUiB5IDE5OTMgMTk5NSAtIE8gMSAwIDEgLQotK1IgeSAxOTk0IDE5OTUgLSBGIGxhc3RTdW4gMCAwIC0KLStSIHkgMTk5NiBvIC0gTWFyIDEgMCAwIC0KLStSIHkgMTk5NiAyMDAxIC0gTyBTdW4+PTEgMCAxIC0KLStSIHkgMTk5NyBvIC0gRiBsYXN0U3VuIDAgMCAtCi0rUiB5IDE5OTggMjAwMSAtIE1hciBTdW4+PTEgMCAwIC0KLStSIHkgMjAwMiAyMDA0IC0gQXAgU3VuPj0xIDAgMCAtCi0rUiB5IDIwMDIgMjAwMyAtIFMgU3VuPj0xIDAgMSAtCi0rUiB5IDIwMDQgMjAwOSAtIE8gU3VuPj0xNSAwIDEgLQotK1IgeSAyMDA1IDIwMDkgLSBNYXIgU3VuPj04IDAgMCAtCi0rUiB5IDIwMTAgbWEgLSBPIFN1bj49MSAwIDEgLQotK1IgeSAyMDEwIDIwMTIgLSBBcCBTdW4+PTggMCAwIC0KLStSIHkgMjAxMyBtYSAtIE1hciBTdW4+PTIyIDAgMCAtCi0gWiBBbWVyaWNhL0FzdW5jaW9uIC0zOjUwOjQwIC0gTE1UIDE4OTAKLSAtMzo1MDo0MCAtIEFNVCAxOTMxIE8gMTAKLSAtNCAtIC0wNCAxOTcyIE8KLSAtMyAtIC0wMyAxOTc0IEFwCi0tLTQgQXkgLTA0Ly0wMwotLVIgQXogMTkzOCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTkzOCBvIC0gQXAgMSAwIDAgLQotLVIgQXogMTkzOCAxOTM5IC0gUyBsYXN0U3VuIDAgMSAtCi0tUiBBeiAxOTM5IDE5NDAgLSBNYXIgU3VuPj0yNCAwIDAgLQotLVIgQXogMTk4NiAxOTg3IC0gSmEgMSAwIDEgLQotLVIgQXogMTk4NiAxOTg3IC0gQXAgMSAwIDAgLQotLVIgQXogMTk5MCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTk5MCBvIC0gQXAgMSAwIDAgLQotLVIgQXogMTk5NCBvIC0gSmEgMSAwIDEgLQotLVIgQXogMTk5NCBvIC0gQXAgMSAwIDAgLQotKy00IHkgLTA0Ly0wMwotK1IgUEUgMTkzOCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTkzOCBvIC0gQXAgMSAwIDAgLQotK1IgUEUgMTkzOCAxOTM5IC0gUyBsYXN0U3VuIDAgMSAtCi0rUiBQRSAxOTM5IDE5NDAgLSBNYXIgU3VuPj0yNCAwIDAgLQotK1IgUEUgMTk4NiAxOTg3IC0gSmEgMSAwIDEgLQotK1IgUEUgMTk4NiAxOTg3IC0gQXAgMSAwIDAgLQotK1IgUEUgMTk5MCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTk5MCBvIC0gQXAgMSAwIDAgLQotK1IgUEUgMTk5NCBvIC0gSmEgMSAwIDEgLQotK1IgUEUgMTk5NCBvIC0gQXAgMSAwIDAgLQotIFogQW1lcmljYS9MaW1hIC01Ojg6MTIgLSBMTVQgMTg5MAotIC01Ojg6MzYgLSBMTVQgMTkwOCBKdWwgMjgKLS0tNSBBeiAtMDUvLTA0Ci0rLTUgUEUgLTA1Ly0wNAotIFogQXRsYW50aWMvU291dGhfR2VvcmdpYSAtMjoyNjo4IC0gTE1UIDE4OTAKLSAtMiAtIC0wMgotIFogQW1lcmljYS9QYXJhbWFyaWJvIC0zOjQwOjQwIC0gTE1UIDE5MTEKLUBAIC0zOTQwLDY1ICszOTU5LDY1IEBAIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1N0X0x1Y2lhCi0gTGkgQW1lcmljYS9Qb3J0X29mX1NwYWluIEFtZXJpY2EvU3RfVGhvbWFzCi0gTGkgQW1lcmljYS9Qb3J0X29mX1NwYWluIEFtZXJpY2EvU3RfVmluY2VudAotIExpIEFtZXJpY2EvUG9ydF9vZl9TcGFpbiBBbWVyaWNhL1RvcnRvbGEKLS1SIEEhIDE5MjMgMTkyNSAtIE8gMSAwIDA6MzAgLQotLVIgQSEgMTkyNCAxOTI2IC0gQXAgMSAwIDAgLQotLVIgQSEgMTkzMyAxOTM4IC0gTyBsYXN0U3VuIDAgMDozMCAtCi0tUiBBISAxOTM0IDE5NDEgLSBNYXIgbGFzdFNhdCAyNCAwIC0KLS1SIEEhIDE5MzkgbyAtIE8gMSAwIDA6MzAgLQotLVIgQSEgMTk0MCBvIC0gTyAyNyAwIDA6MzAgLQotLVIgQSEgMTk0MSBvIC0gQXUgMSAwIDA6MzAgLQotLVIgQSEgMTk0MiBvIC0gRCAxNCAwIDA6MzAgLQotLVIgQSEgMTk0MyBvIC0gTWFyIDE0IDAgMCAtCi0tUiBBISAxOTU5IG8gLSBNYXkgMjQgMCAwOjMwIC0KLS1SIEEhIDE5NTkgbyAtIE4gMTUgMCAwIC0KLS1SIEEhIDE5NjAgbyAtIEphIDE3IDAgMSAtCi0tUiBBISAxOTYwIG8gLSBNYXIgNiAwIDAgLQotLVIgQSEgMTk2NSBvIC0gQXAgNCAwIDEgLQotLVIgQSEgMTk2NSBvIC0gUyAyNiAwIDAgLQotLVIgQSEgMTk2OCBvIC0gTWF5IDI3IDAgMDozMCAtCi0tUiBBISAxOTY4IG8gLSBEIDEgMCAwIC0KLS1SIEEhIDE5NzAgbyAtIEFwIDI1IDAgMSAtCi0tUiBBISAxOTcwIG8gLSBKdW4gMTQgMCAwIC0KLS1SIEEhIDE5NzIgbyAtIEFwIDIzIDAgMSAtCi0tUiBBISAxOTcyIG8gLSBKdWwgMTYgMCAwIC0KLS1SIEEhIDE5NzQgbyAtIEphIDEzIDAgMTozMCAtCi0tUiBBISAxOTc0IG8gLSBNYXIgMTAgMCAwOjMwIC0KLS1SIEEhIDE5NzQgbyAtIFMgMSAwIDAgLQotLVIgQSEgMTk3NCBvIC0gRCAyMiAwIDEgLQotLVIgQSEgMTk3NSBvIC0gTWFyIDMwIDAgMCAtCi0tUiBBISAxOTc2IG8gLSBEIDE5IDAgMSAtCi0tUiBBISAxOTc3IG8gLSBNYXIgNiAwIDAgLQotLVIgQSEgMTk3NyBvIC0gRCA0IDAgMSAtCi0tUiBBISAxOTc4IDE5NzkgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBISAxOTc4IG8gLSBEIDE3IDAgMSAtCi0tUiBBISAxOTc5IG8gLSBBcCAyOSAwIDEgLQotLVIgQSEgMTk4MCBvIC0gTWFyIDE2IDAgMCAtCi0tUiBBISAxOTg3IG8gLSBEIDE0IDAgMSAtCi0tUiBBISAxOTg4IG8gLSBGIDI4IDAgMCAtCi0tUiBBISAxOTg4IG8gLSBEIDExIDAgMSAtCi0tUiBBISAxOTg5IG8gLSBNYXIgNSAwIDAgLQotLVIgQSEgMTk4OSBvIC0gTyAyOSAwIDEgLQotLVIgQSEgMTk5MCBvIC0gRiAyNSAwIDAgLQotLVIgQSEgMTk5MCAxOTkxIC0gTyBTdW4+PTIxIDAgMSAtCi0tUiBBISAxOTkxIDE5OTIgLSBNYXIgU3VuPj0xIDAgMCAtCi0tUiBBISAxOTkyIG8gLSBPIDE4IDAgMSAtCi0tUiBBISAxOTkzIG8gLSBGIDI4IDAgMCAtCi0tUiBBISAyMDA0IG8gLSBTIDE5IDAgMSAtCi0tUiBBISAyMDA1IG8gLSBNYXIgMjcgMiAwIC0KLS1SIEEhIDIwMDUgbyAtIE8gOSAyIDEgLQotLVIgQSEgMjAwNiAyMDE1IC0gTWFyIFN1bj49OCAyIDAgLQotLVIgQSEgMjAwNiAyMDE0IC0gTyBTdW4+PTEgMiAxIC0KLStSIFUgMTkyMyAxOTI1IC0gTyAxIDAgMDozMCAtCi0rUiBVIDE5MjQgMTkyNiAtIEFwIDEgMCAwIC0KLStSIFUgMTkzMyAxOTM4IC0gTyBsYXN0U3VuIDAgMDozMCAtCi0rUiBVIDE5MzQgMTk0MSAtIE1hciBsYXN0U2F0IDI0IDAgLQotK1IgVSAxOTM5IG8gLSBPIDEgMCAwOjMwIC0KLStSIFUgMTk0MCBvIC0gTyAyNyAwIDA6MzAgLQotK1IgVSAxOTQxIG8gLSBBdSAxIDAgMDozMCAtCi0rUiBVIDE5NDIgbyAtIEQgMTQgMCAwOjMwIC0KLStSIFUgMTk0MyBvIC0gTWFyIDE0IDAgMCAtCi0rUiBVIDE5NTkgbyAtIE1heSAyNCAwIDA6MzAgLQotK1IgVSAxOTU5IG8gLSBOIDE1IDAgMCAtCi0rUiBVIDE5NjAgbyAtIEphIDE3IDAgMSAtCi0rUiBVIDE5NjAgbyAtIE1hciA2IDAgMCAtCi0rUiBVIDE5NjUgbyAtIEFwIDQgMCAxIC0KLStSIFUgMTk2NSBvIC0gUyAyNiAwIDAgLQotK1IgVSAxOTY4IG8gLSBNYXkgMjcgMCAwOjMwIC0KLStSIFUgMTk2OCBvIC0gRCAxIDAgMCAtCi0rUiBVIDE5NzAgbyAtIEFwIDI1IDAgMSAtCi0rUiBVIDE5NzAgbyAtIEp1biAxNCAwIDAgLQotK1IgVSAxOTcyIG8gLSBBcCAyMyAwIDEgLQotK1IgVSAxOTcyIG8gLSBKdWwgMTYgMCAwIC0KLStSIFUgMTk3NCBvIC0gSmEgMTMgMCAxOjMwIC0KLStSIFUgMTk3NCBvIC0gTWFyIDEwIDAgMDozMCAtCi0rUiBVIDE5NzQgbyAtIFMgMSAwIDAgLQotK1IgVSAxOTc0IG8gLSBEIDIyIDAgMSAtCi0rUiBVIDE5NzUgbyAtIE1hciAzMCAwIDAgLQotK1IgVSAxOTc2IG8gLSBEIDE5IDAgMSAtCi0rUiBVIDE5NzcgbyAtIE1hciA2IDAgMCAtCi0rUiBVIDE5NzcgbyAtIEQgNCAwIDEgLQotK1IgVSAxOTc4IDE5NzkgLSBNYXIgU3VuPj0xIDAgMCAtCi0rUiBVIDE5NzggbyAtIEQgMTcgMCAxIC0KLStSIFUgMTk3OSBvIC0gQXAgMjkgMCAxIC0KLStSIFUgMTk4MCBvIC0gTWFyIDE2IDAgMCAtCi0rUiBVIDE5ODcgbyAtIEQgMTQgMCAxIC0KLStSIFUgMTk4OCBvIC0gRiAyOCAwIDAgLQotK1IgVSAxOTg4IG8gLSBEIDExIDAgMSAtCi0rUiBVIDE5ODkgbyAtIE1hciA1IDAgMCAtCi0rUiBVIDE5ODkgbyAtIE8gMjkgMCAxIC0KLStSIFUgMTk5MCBvIC0gRiAyNSAwIDAgLQotK1IgVSAxOTkwIDE5OTEgLSBPIFN1bj49MjEgMCAxIC0KLStSIFUgMTk5MSAxOTkyIC0gTWFyIFN1bj49MSAwIDAgLQotK1IgVSAxOTkyIG8gLSBPIDE4IDAgMSAtCi0rUiBVIDE5OTMgbyAtIEYgMjggMCAwIC0KLStSIFUgMjAwNCBvIC0gUyAxOSAwIDEgLQotK1IgVSAyMDA1IG8gLSBNYXIgMjcgMiAwIC0KLStSIFUgMjAwNSBvIC0gTyA5IDIgMSAtCi0rUiBVIDIwMDYgMjAxNSAtIE1hciBTdW4+PTggMiAwIC0KLStSIFUgMjAwNiAyMDE0IC0gTyBTdW4+PTEgMiAxIC0KLSBaIEFtZXJpY2EvTW9udGV2aWRlbyAtMzo0NDo1MSAtIExNVCAxOTA4IEp1biAxMAotIC0zOjQ0OjUxIC0gTU1UIDE5MjAgTWF5Ci0gLTQgLSAtMDQgMTkyMyBPCi0tLTM6MzAgQSEgLTAzMzAvLTAzIDE5NDIgRCAxNAotLS0zIEEhIC0wMy8tMDIzMCAxOTYwCi0tLTMgQSEgLTAzLy0wMiAxOTY4Ci0tLTMgQSEgLTAzLy0wMjMwIDE5NzAKLS0tMyBBISAtMDMvLTAyIDE5NzQKLS0tMyBBISAtMDMvLTAxMzAgMTk3NCBNYXIgMTAKLS0tMyBBISAtMDMvLTAyMzAgMTk3NCBEIDIyCi0tLTMgQSEgLTAzLy0wMgotKy0zOjMwIFUgLTAzMzAvLTAzIDE5NDIgRCAxNAotKy0zIFUgLTAzLy0wMjMwIDE5NjAKLSstMyBVIC0wMy8tMDIgMTk2OAotKy0zIFUgLTAzLy0wMjMwIDE5NzAKLSstMyBVIC0wMy8tMDIgMTk3NAotKy0zIFUgLTAzLy0wMTMwIDE5NzQgTWFyIDEwCi0rLTMgVSAtMDMvLTAyMzAgMTk3NCBEIDIyCi0rLTMgVSAtMDMvLTAyCi0gWiBBbWVyaWNhL0NhcmFjYXMgLTQ6Mjc6NDQgLSBMTVQgMTg5MAotIC00OjI3OjQwIC0gQ01UIDE5MTIgRiAxMgotIC00OjMwIC0gLTA0MzAgMTk2NQotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dCBiL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dAotaW5kZXggNjdkMmYwYi4uMmFlNDQzYSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS9rbm93bl9hYmJyZXZzLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL2tub3duX2FiYnJldnMudHh0Ci1AQCAtOTIsNiArOTIsNyBAQCBOWlNUCTQzMjAwCi0gUERUCS0yNTIwMAlECi0gUEtUCTE4MDAwCi0gUFNUCS0yODgwMAotK1BTVAkyODgwMAotIFNBU1QJNzIwMAotIFNTVAktMzk2MDAKLSBVQ1QJMAotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS90em5hbWVzL0FtZXJpY2EudHh0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQW1lcmljYS50eHQKLWluZGV4IDFjNWViMWYuLjI1OTRjMzcgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9BbWVyaWNhLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvQW1lcmljYS50eHQKLUBAIC0yMzcsNiArMjM3LDkgQEAgUERUICAgIC0yNTIwMCBEICAjIFBhY2lmaWMgRGF5bGlnaHQgVGltZQotIFBFVCAgICAtMTgwMDAgICAgIyBQZXJ1IFRpbWUgKG9ic29sZXRlKQotIFBNRFQgICAgLTcyMDAgRCAgIyBQaWVycmUgJiBNaXF1ZWxvbiBEYXlsaWdodCBUaW1lIChvYnNvbGV0ZSkKLSBQTVNUICAgLTEwODAwICAgICMgUGllcnJlICYgTWlxdWVsb24gU3RhbmRhcmQgVGltZSAob2Jzb2xldGUpCi0rIyBDT05GTElDVCEgUFNUIGlzIG5vdCB1bmlxdWUKLSsjIE90aGVyIHRpbWV6b25lczoKLSsjICAtIFBTVDogUGhpbGlwcGluZSBTdGFuZGFyZCBUaW1lCi0gUFNUICAgIC0yODgwMCAgICAjIFBhY2lmaWMgU3RhbmRhcmQgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvRGF3c29uKQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvTG9zX0FuZ2VsZXMpCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lL3R6bmFtZXMvQXNpYS50eHQgYi9zcmMvdGltZXpvbmUvdHpuYW1lcy9Bc2lhLnR4dAotaW5kZXggZTFmYTkzMS4uMTEzMzMzOSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS90em5hbWVzL0FzaWEudHh0Ci0rKysgYi9zcmMvdGltZXpvbmUvdHpuYW1lcy9Bc2lhLnR4dAotQEAgLTE1OCw2ICsxNTgsMTAgQEAgUEtUICAgICAxODAwMCAgICAjIFBha2lzdGFuIFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBc2lhL0thcmFjaGkpCi0gUEtTVCAgICAyMTYwMCBEICAjIFBha2lzdGFuIFN1bW1lciBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQXNpYS9LYXJhY2hpKQotKyMgQ09ORkxJQ1QhIFBTVCBpcyBub3QgdW5pcXVlCi0rIyBPdGhlciB0aW1lem9uZXM6Ci0rIyAgLSBQU1Q6IFBhY2lmaWMgU3RhbmRhcmQgVGltZSAoQW1lcmljYSkKLStQU1QgICAgIDI4ODAwICAgICMgUGhpbGlwcGluZSBTdGFuZGFyZCBUaW1lCi0gUVlaVCAgICAyMTYwMCAgICAjIEtpemlsb3JkYSBUaW1lIChvYnNvbGV0ZSkKLSBTQUtTVCAgIEFzaWEvU2FraGFsaW4gICMgU2FraGFsaW4gU3VtbWVyIFRpbWUgKG9ic29sZXRlKQotIFNBS1QgICAgQXNpYS9TYWtoYWxpbiAgIyBTYWtoYWxpbiBUaW1lIChvYnNvbGV0ZSkKLWRpZmYgLS1naXQgYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9EZWZhdWx0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvRGVmYXVsdAotaW5kZXggMzgyNjA5Ni4uMTUzMjQxMyAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS90em5hbWVzL0RlZmF1bHQKLSsrKyBiL3NyYy90aW1lem9uZS90em5hbWVzL0RlZmF1bHQKLUBAIC0xODEsNiArMTgxLDkgQEAgUERUICAgIC0yNTIwMCBEICAjIFBhY2lmaWMgRGF5bGlnaHQgVGltZQotICAgICAgICAgICAgICAgICAgIyAgICAgKEFtZXJpY2EvV2hpdGVob3JzZSkKLSBQTURUICAgIC03MjAwIEQgICMgUGllcnJlICYgTWlxdWVsb24gRGF5bGlnaHQgVGltZSAob2Jzb2xldGUpCi0gUE1TVCAgIC0xMDgwMCAgICAjIFBpZXJyZSAmIE1pcXVlbG9uIFN0YW5kYXJkIFRpbWUgKG9ic29sZXRlKQotKyMgQ09ORkxJQ1QhIFBTVCBpcyBub3QgdW5pcXVlCi0rIyBPdGhlciB0aW1lem9uZXM6Ci0rIyAgLSBQU1Q6IFBoaWxpcHBpbmUgU3RhbmRhcmQgVGltZQotIFBTVCAgICAtMjg4MDAgICAgIyBQYWNpZmljIFN0YW5kYXJkIFRpbWUKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0Rhd3NvbikKLSAgICAgICAgICAgICAgICAgICMgICAgIChBbWVyaWNhL0xvc19BbmdlbGVzKQotZGlmZiAtLWdpdCBhL3NyYy90aW1lem9uZS90em5hbWVzL1BhY2lmaWMudHh0IGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvUGFjaWZpYy50eHQKLWluZGV4IGM4NjI0OGIuLmMzMDAwOGMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXpvbmUvdHpuYW1lcy9QYWNpZmljLnR4dAotKysrIGIvc3JjL3RpbWV6b25lL3R6bmFtZXMvUGFjaWZpYy50eHQKLUBAIC01Miw2ICs1Miw5IEBAIE5aU1QgICAgNDMyMDAgICAgIyBOZXcgWmVhbGFuZCBTdGFuZGFyZCBUaW1lCi0gUEdUICAgICAzNjAwMCAgICAjIFBhcHVhIE5ldyBHdWluZWEgVGltZSAob2Jzb2xldGUpCi0gUEhPVCAgICBQYWNpZmljL0VuZGVyYnVyeSAgIyBQaG9lbml4IElzbGFuZHMgVGltZSAoS2lyaWJhdGkpIChvYnNvbGV0ZSkKLSBQT05UICAgIDM5NjAwICAgICMgUG9uYXBlIFRpbWUgKE1pY3JvbmVzaWEpIChvYnNvbGV0ZSkKLSsjIENPTkZMSUNUISBQU1QgaXMgbm90IHVuaXF1ZQotKyMgT3RoZXIgdGltZXpvbmVzOgotKyMgIC0gUFNUOiBQaGlsaXBwaW5lIFN0YW5kYXJkIFRpbWUKLSBQU1QgICAgLTI4ODAwICAgICMgUGFjaWZpYyBTdGFuZGFyZCBUaW1lCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9EYXdzb24pCi0gICAgICAgICAgICAgICAgICAjICAgICAoQW1lcmljYS9Mb3NfQW5nZWxlcykKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL25vdC1jaGVjay1saWJwZXJsLnBhdGNoCmluZGV4IDk3MTUxMDkuLjIyYjYyZDkgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9ub3QtY2hlY2stbGlicGVybC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvbm90LWNoZWNrLWxpYnBlcmwucGF0Y2gKQEAgLTEsNCArMSw3IEBACi1bUEFUQ0hdIG5vdCBjaGVjayBsaWJwZXJsIHVuZGVyIGNyb3NzIGNvbXBpbGluZworRnJvbSA3ZTJhZjRkZTE5YmU1OGJjOWQ1NTFjNDFjZTI3NTAzOTZkMzU3ZjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTM6MjU6MTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUEFUQ0hdIG5vdCBjaGVjayBsaWJwZXJsIHVuZGVyIGNyb3NzIGNvbXBpbGluZwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKQEAgLTYsMjMgKzksMjkgQEAKIGNhbiBub3QgYmUgdXNlZCB0byBjaGVjayB0YXJnZXQgbGlicmFyeS4KIAogcG9zdHByZXNxbCBoYXMgdGhlIGRlcGVuZGVuY3kgb24gcGVybCwgc28gbm90IG5lZWQgdG8gY2hlY2sgbGlicGVybAotYWdhaW4sIGxpa2UgaW4gcG9zdGdyZXNxbC05LjIuNCAKK2FnYWluLCBsaWtlIGluIHBvc3RncmVzcWwtOS4yLjQKIAogU2lnbmVkLW9mZi1ieTogUm95IExpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiAxMS4xCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgY29uZmlndXJlLmluIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCi1JbmRleDogcG9zdGdyZXNxbC05LjQuMTUvY29uZmlndXJlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcG9zdGdyZXNxbC05LjQuMTUub3JpZy9jb25maWd1cmUuaW4KLSsrKyBwb3N0Z3Jlc3FsLTkuNC4xNS9jb25maWd1cmUuaW4KLUBAIC0xODc5LDcgKzE4NzksNyBAQCBpZiB0ZXN0ICIkd2l0aF90Y2wiID0geWVzOyB0aGVuCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCitpbmRleCBiOThiOWJiLi44NTg0Njc3IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmluCisrKysgYi9jb25maWd1cmUuaW4KK0BAIC0yMjExLDcgKzIyMTEsNyBAQCBVc2UgLS13aXRob3V0LXRjbCB0byBkaXNhYmxlIGJ1aWxkaW5nIFBML1RjbC5dKQogIGZpCiAgCiAgIyBjaGVjayBmb3IgPHBlcmwuaD4KIC1pZiB0ZXN0ICIkd2l0aF9wZXJsIiA9IHllczsgdGhlbgogK2lmIHRlc3QgIiR3aXRoX3BlcmwiID0geWVzICYmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbm87IHRoZW4KICAgIGFjX3NhdmVfQ1BQRkxBR1M9JENQUEZMQUdTCi0gICBDUFBGTEFHUz0iJENQUEZMQUdTIC1JJHBlcmxfYXJjaGxpYmV4cC9DT1JFIgorICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAkcGVybF9pbmNsdWRlc3BlYyIKICAgIEFDX0NIRUNLX0hFQURFUihwZXJsLmgsIFtdLCBbQUNfTVNHX0VSUk9SKFtoZWFkZXIgZmlsZSA8cGVybC5oPiBpcyByZXF1aXJlZCBmb3IgUGVybF0pXSwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9maWxlcy9wb3N0Z3Jlc3FsLmluaXQKaW5kZXggNGE0ZjBjZC4uMTc5MWU2OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL2ZpbGVzL3Bvc3RncmVzcWwuaW5pdAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvZmlsZXMvcG9zdGdyZXNxbC5pbml0CkBAIC0xNCw4ICsxNCw4IEBACiAjIFBHVkVSU0lPTiBpcyB0aGUgZnVsbCBwYWNrYWdlIHZlcnNpb24sIGUuZy4sIDguNC4wCiAjIE5vdGU6IHRoZSBzcGVjZmlsZSBpbnNlcnRzIHRoZSBjb3JyZWN0IHZhbHVlIGR1cmluZyBwYWNrYWdlIGJ1aWxkCiBQR1ZFUlNJT049OS4yLjQKLSMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgOC40ICh0aGlzIHNob3VsZCBtYXRjaCBQR19WRVJTSU9OKQotUEdNQUpPUlZFUlNJT049YGVjaG8gIiRQR1ZFUlNJT04iIHwgc2VkICdzL15cKFswLTldKlwuWzAtOV0qXCkuKiQvXDEvJ2AKKyMgUEdNQUpPUlZFUlNJT04gaXMgbWFqb3IgdmVyc2lvbiwgZS5nLiwgMTAgKHRoaXMgc2hvdWxkIG1hdGNoIFBHX1ZFUlNJT04pCitQR01BSk9SVkVSU0lPTj1gZWNobyAiJFBHVkVSU0lPTiIgfCBzZWQgJ3MvXlwoWzAtOV0qXCkuKiQvXDEvJ2AKIAogIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeS4KIC4gL2V0Yy9pbml0LmQvZnVuY3Rpb25zCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbC5pbmMKaW5kZXggZGM4NTIyNC4uODVmMTkxNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWwuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsLmluYwpAQCAtMzcsNyArMzcsNyBAQAogIyBMREZMQUdTIGZvciBzaGFyZWQgbGlicmFyaWVzCiBleHBvcnQgTERGTEFHU19TTCA9ICIke0xERkxBR1N9IgogCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcGVybG5hdGl2ZSBweXRob25uYXRpdmUgdXNlcmFkZCB1cGRhdGUtcmMuZCBzeXN0ZW1kIGdldHRleHQKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSB1c2VyYWRkIHVwZGF0ZS1yYy5kIHN5c3RlbWQgZ2V0dGV4dCBjcGFuLWJhc2UKIAogQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0gLUkke1NUQUdJTkdfSU5DRElSfS90Y2w4LjYiCiAKQEAgLTEwNiw2ICsxMDYsMTAgQEAKIAogfQogCisjIFRoaXMgd2lsbCBtYWtlIG5hdGl2ZSBwZXJsIHVzZSB0YXJnZXQgc2V0dGluZ3MgKGZvciBpbmNsdWRlIGRpcnMgZXRjLikKK2V4cG9ydCBQRVJMQ09ORklHVEFSR0VUID0gIiR7QGlzX3RhcmdldChkKX0iCitleHBvcnQgUEVSTF9BUkNITElCID0gIiR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2FyY2goZCl9IgorCiBkb19jb25maWd1cmUoKSB7CiAgICAgIyBkb19jb25maWd1cmUKICAgICBhdXRvdG9vbHNfZG9fY29uZmlndXJlCkBAIC0xMTksNyArMTIzLDcgQEAKICAgICBCTElCTkE9Ilwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKICAgICBzZWQgLWkgLWUgIi9ecGVybF9hcmNobGliZXhwL3M6JHtMSUJQTkF9OiR7U1RBR0lOR19MSUJESVJ9OmciIFwKICAgICAgICAgJHtCfS9zcmMvTWFrZWZpbGUuZ2xvYmFsCi0gICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7TElCUE5BfToke1NUQUdJTkdfTElCRElSfTpnIiBcCisgICAgc2VkIC1pIC1lICIvXnBlcmxfcHJpdmxpYmV4cC9zOiR7bGliZGlyfToke1NUQUdJTkdfTElCRElSfTpnIiBcCiAgICAgICAgICR7Qn0vc3JjL01ha2VmaWxlLmdsb2JhbAogICAgICMgcmVtb3ZlIHRoZSBycGF0aCwgcmVwbGFjZSB3aXRoIGNvcnJlY3QgbGliIHBhdGgKICAgICBzZWQgLWkgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTAuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcG9zdGdyZXNxbC9wb3N0Z3Jlc3FsXzEwLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMDJmMTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTAuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLXJlcXVpcmUgcG9zdGdyZXNxbC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02ZGM5NWU2M2FhNGQ3MjUwMmZmODE5M2RmZTJkZGQzOCIKLQotU1JDX1VSSSArPSAiXAotICAgIGZpbGU6Ly9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtVXBkYXRlLXRpbWUtem9uZS1kYXRhLWZpbGVzLXRvLXR6ZGF0YS1yZWxlYXNlLTIwMThmLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1TeW5jLW91ci1jb3B5LW9mLXRoZS10aW1lem9uZS1saWJyYXJ5LXdpdGgtSUFOQS1yZWxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImE1ZmU1ZmRmZjJkNmMyOGY2NTYwMTM5OGJlMDk1MGRmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjOGU2MTZjOTFhNDUxNDJiODVjMGFlYjFmMjllYmJhNGEzNjEzMDllODY0NjllMGZiNDYxN2I2YTczYzQwMTEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3Bvc3RncmVzcWwvcG9zdGdyZXNxbF8xMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjU5YzhkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9wb3N0Z3Jlc3FsL3Bvc3RncmVzcWxfMTEuMi5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIHBvc3RncmVzcWwuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9ODdkYTJiODQ4ODQ4NjBiNzFmNWYyNGFiMzdlN2RhNzgiCisKK1NSQ19VUkkgKz0gIlwKKyAgIGZpbGU6Ly9ub3QtY2hlY2stbGlicGVybC5wYXRjaCBcCisgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItUklTQy1WLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE5ZDQzYmU2NzljYjBkNTUzNjNmZWI4OTI2YWYzYTBmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2NzZiOWNlMDljMjE5NzgwMzIwNzBiNjc5NDY5NmUwYWE1YTQ3NmUzZDIxZDYwYWZjMDM2ZGMwYTljMDk0MDUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvZmlsZXMvMDAwMS1EaXNhYmxlLVdzaGFkb3ctYW5kLWRvLW5vdC1tYXJrLWRlZmF1bHQtY29weS1jb25zdHJ1LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtRGlzYWJsZS1Xc2hhZG93LWFuZC1kby1ub3QtbWFyay1kZWZhdWx0LWNvcHktY29uc3RydS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2NhYTNhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtRGlzYWJsZS1Xc2hhZG93LWFuZC1kby1ub3QtbWFyay1kZWZhdWx0LWNvcHktY29uc3RydS5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIGVlNzI4NDM0MTI0YjliN2QxN2FiYmQwNjBhNjJhYWM3OWE5Yjc5YzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNDozMToyNCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIC1Xc2hhZG93IGFuZCBkbyBub3QgbWFyayBkZWZhdWx0IGNvcHkgY29uc3RydWN0b3JzCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyB1dGlsaXRpZXMvcGVyc2lzdGVudF9jYWNoZS9ibG9ja19jYWNoZV90aWVyLmggICAgICB8IDQgKystLQorIHV0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oIHwgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggOThlMmUxOTczLi4zYTI0YTA3NWIgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0yNTQsNyArMjU0LDcgQEAgaWYoRkFJTF9PTl9XQVJOSU5HUykKKyAgIGlmKE1TVkMpCisgICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAvV1giKQorICAgZWxzZSgpICMgYXNzdW1lIEdDQworLSAgICBzZXQoQ01BS0VfQ1hYX0ZMQUdTICIke0NNQUtFX0NYWF9GTEFHU30gLVdlcnJvciIpCisrICAgIHNldChDTUFLRV9DWFhfRkxBR1MgIiR7Q01BS0VfQ1hYX0ZMQUdTfSAtV2Vycm9yIC1Xbm8tZXJyb3I9c2hhZG93IikKKyAgIGVuZGlmKCkKKyBlbmRpZigpCisgCitkaWZmIC0tZ2l0IGEvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oCitpbmRleCAyYjJjMGVmNGYuLjk2ZDA1NDBhNCAxMDA2NDQKKy0tLSBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXIuaAorKysrIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllci5oCitAQCAtOTEsOSArOTEsOSBAQCBjbGFzcyBCbG9ja0NhY2hlVGllciA6IHB1YmxpYyBQZXJzaXN0ZW50Q2FjaGVUaWVyIHsKKyAgICAgICAgIDoga2V5XyhzdGQ6Om1vdmUoa2V5KSksIGRhdGFfKGRhdGEpIHt9CisgICAgIH5JbnNlcnRPcCgpIHt9CisgCistICAgIEluc2VydE9wKCkgPSBkZWxldGU7CisrICAgIEluc2VydE9wKCkgPSBkZWZhdWx0OworICAgICBJbnNlcnRPcChJbnNlcnRPcCYmIC8qcmhzKi8pID0gZGVmYXVsdDsKKy0gICAgSW5zZXJ0T3AmIG9wZXJhdG9yPShJbnNlcnRPcCYmIHJocykgPSBkZWZhdWx0OworKyAgICBJbnNlcnRPcCYgb3BlcmF0b3I9KEluc2VydE9wJiYgcmhzKSA9IGRlbGV0ZTsKKyAKKyAgICAgLy8gdXNlZCBmb3IgZXN0aW1hdGluZyBzaXplIGJ5IGJvdW5kZWQgcXVldWUKKyAgICAgc2l6ZV90IFNpemUoKSB7IHJldHVybiBkYXRhXy5zaXplKCkgKyBrZXlfLnNpemUoKTsgfQorZGlmZiAtLWdpdCBhL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oIGIvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllcl9maWxlLmgKK2luZGV4IGUzOGI2YzlhMS4uZDliODlhNGY3IDEwMDY0NAorLS0tIGEvdXRpbGl0aWVzL3BlcnNpc3RlbnRfY2FjaGUvYmxvY2tfY2FjaGVfdGllcl9maWxlLmgKKysrKyBiL3V0aWxpdGllcy9wZXJzaXN0ZW50X2NhY2hlL2Jsb2NrX2NhY2hlX3RpZXJfZmlsZS5oCitAQCAtMjYyLDcgKzI2Miw3IEBAIGNsYXNzIFRocmVhZGVkV3JpdGVyIDogcHVibGljIFdyaXRlciB7CisgICAgICAgICA6IGZpbGVfKGZpbGUpLCBidWZfKGJ1ZiksIGZpbGVfb2ZmXyhmaWxlX29mZiksIGNhbGxiYWNrXyhjYWxsYmFjaykge30KKyAKKyAgICAgSU8oY29uc3QgSU8mKSA9IGRlZmF1bHQ7CistICAgIElPJiBvcGVyYXRvcj0oY29uc3QgSU8mKSA9IGRlZmF1bHQ7CisrICAgIElPJiBvcGVyYXRvcj0oY29uc3QgSU8mKSA9IGRlbGV0ZTsKKyAgICAgc2l6ZV90IFNpemUoKSBjb25zdCB7IHJldHVybiBzaXplb2YoSU8pOyB9CisgCisgICAgIFdyaXRhYmxlRmlsZSogZmlsZV8gPSBudWxscHRyOyAgICAgICAgICAgLy8gRmlsZSB0byB3cml0ZSB0bworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL2ZpbGVzLzAwMDEtdXRpbGl0aWVzLUZpeC1idWlsZC1mYWlsdXJlLXdpdGgtV2Vycm9yLW1heWJlLXVuaW5pdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLXV0aWxpdGllcy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLVdlcnJvci1tYXliZS11bmluaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWYwNDI5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9maWxlcy8wMDAxLXV0aWxpdGllcy1GaXgtYnVpbGQtZmFpbHVyZS13aXRoLVdlcnJvci1tYXliZS11bmluaXQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4OTk2ZjA3NWU2NGRhMGU2ZmZlZGE1NzYzMmVmMzFmODcxMGRlZmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMTUgTWFyIDIwMTkgMTY6NDc6MDMgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdXRpbGl0aWVzOiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIC1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZAorCitTdW1tYXJ5OgorSW5pdGlhbGl6ZSBtYWdpY19udW1iZXIgdG8gemVybyB0byBhdm9pZCBzdWNoIGZhaWx1cmUuCit1dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2M6OTE6MzogZXJyb3I6ICdtYWdpY19udW1iZXInIG1heSBiZSB1c2VkCit1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KKyAgIGlmIChtYWdpY19udW1iZXIgIT0ga01hZ2ljTnVtYmVyKSB7CisgICBefgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtleHBlY3RlZCB2ZXJzaW9uIDUuMTldCisKK1NpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CistLS0KKyB1dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MgYi91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MKK2luZGV4IDJiZjcwMjguLjg3MjZjYjggMTAwNjQ0CistLS0gYS91dGlsaXRpZXMvYmxvYl9kYi9ibG9iX2xvZ19mb3JtYXQuY2MKKysrKyBiL3V0aWxpdGllcy9ibG9iX2RiL2Jsb2JfbG9nX2Zvcm1hdC5jYworQEAgLTgyLDcgKzgyLDcgQEAgU3RhdHVzIEJsb2JMb2dGb290ZXI6OkRlY29kZUZyb20oU2xpY2Ugc3JjKSB7CisgICB1aW50MzJfdCBzcmNfY3JjID0gMDsKKyAgIHNyY19jcmMgPSBjcmMzMmM6OlZhbHVlKHNyYy5kYXRhKCksIEJsb2JMb2dGb290ZXI6OmtTaXplIC0gc2l6ZW9mKHVpbnQzMl90KSk7CisgICBzcmNfY3JjID0gY3JjMzJjOjpNYXNrKHNyY19jcmMpOworLSAgdWludDMyX3QgbWFnaWNfbnVtYmVyOworKyAgdWludDMyX3QgbWFnaWNfbnVtYmVyID0gMDsKKyAgIGlmICghR2V0Rml4ZWQzMigmc3JjLCAmbWFnaWNfbnVtYmVyKSB8fCAhR2V0Rml4ZWQ2NCgmc3JjLCAmYmxvYl9jb3VudCkgfHwKKyAgICAgICAhR2V0Rml4ZWQ2NCgmc3JjLCAmZXhwaXJhdGlvbl9yYW5nZS5maXJzdCkgfHwKKyAgICAgICAhR2V0Rml4ZWQ2NCgmc3JjLCAmZXhwaXJhdGlvbl9yYW5nZS5zZWNvbmQpIHx8ICFHZXRGaXhlZDMyKCZzcmMsICZjcmMpKSB7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiLzAwMDEtRml4LUdpdEh1Yi1pc3N1ZS0zNzE2LWdjYy04LXdhcm5pbmdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGIvMDAwMS1GaXgtR2l0SHViLWlzc3VlLTM3MTYtZ2NjLTgtd2FybmluZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlNDk4OTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGIvMDAwMS1GaXgtR2l0SHViLWlzc3VlLTM3MTYtZ2NjLTgtd2FybmluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTQgKzAsMCBAQAotRnJvbSA4ZDY1ZDcwYjU0ZDFkMzA2YTBhMGIwMGUwMzZiYzhkZGQzOWQ4ZWMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogInByemVteXNsYXcuc2tpYmluc2tpQHBlcmNvbmEuY29tIiA8cHJ6ZW15c2xhdy5za2liaW5za2lAcGVyY29uYS5jb20+Ci1EYXRlOiBGcmksIDIwIEFwciAyMDE4IDEzOjI4OjA1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBHaXRIdWIgaXNzdWUgIzM3MTY6IGdjYy04IHdhcm5pbmdzCi0KLVN1bW1hcnk6Ci1GaXggdGhlIGZvbGxvd2luZyBnY2MtOCB3YXJuaW5nczoKLS0gY29uZmxpY3RpbmcgQyBsYW5ndWFnZSBsaW5rYWdlIGRlY2xhcmF0aW9uIFstV2Vycm9yXQotLSB3cml0aW5nIHRvIGFuIG9iamVjdCB3aXRoIG5vIHRyaXZpYWwgY29weS1hc3NpZ25tZW50IFstV2Vycm9yPWNsYXNzLW1lbWFjY2Vzc10KLS0gYXJyYXkgc3Vic2NyaXB0IC0xIGlzIGJlbG93IGFycmF5IGJvdW5kcyBbLVdlcnJvcj1hcnJheS1ib3VuZHNdCi0KLVNvbHZlcyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcm9ja3NkYi9pc3N1ZXMvMzcxNgotQ2xvc2VzIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yb2Nrc2RiL3B1bGwvMzczNgotCi1EaWZmZXJlbnRpYWwgUmV2aXNpb246IEQ3Njg0MTYxCi0KLVB1bGxlZCBCeTogeWl3dS1hcmJ1ZwotCi1mYnNoaXBpdC1zb3VyY2UtaWQ6IDQ3YzA0MjNkMjZiNzRhZGQyNTFmMWQzNTk1MjExZWVlMWU0MWU1NGEKLS0tLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yb2Nrc2RiL2NvbW1pdC9kZWU5NWExYWZjNmM2MzUxNWU3ZDk0ZGVjMzNhY2RiNzk2MzhiNmQ3LnBhdGNoXQotCi0gZGIvYy5jYyAgICAgICAgICAgICAgICAgICB8IDc3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIG1lbXRhYmxlL2lubGluZXNraXBsaXN0LmggfCAxMiArKystLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDU2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGIvYy5jYyBiL2RiL2MuY2MKLWluZGV4IDA2NDEwM2VkNC4uMGQ0ODVkMDk2IDEwMDY0NAotLS0tIGEvZGIvYy5jYwotKysrIGIvZGIvYy5jYwotQEAgLTEzODgsMjMgKzEzODgsMjQgQEAgdm9pZCByb2Nrc2RiX3dyaXRlYmF0Y2hfcHV0X2xvZ19kYXRhKAotICAgYi0+cmVwLlB1dExvZ0RhdGEoU2xpY2UoYmxvYiwgbGVuKSk7Ci0gfQotIAotK2NsYXNzIEggOiBwdWJsaWMgV3JpdGVCYXRjaDo6SGFuZGxlciB7Ci0rIHB1YmxpYzoKLSsgIHZvaWQqIHN0YXRlXzsKLSsgIHZvaWQgKCpwdXRfKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4sIGNvbnN0IGNoYXIqIHYsIHNpemVfdCB2bGVuKTsKLSsgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLSsgIHZpcnR1YWwgdm9pZCBQdXQoY29uc3QgU2xpY2UmIGtleSwgY29uc3QgU2xpY2UmIHZhbHVlKSBvdmVycmlkZSB7Ci0rICAgICgqcHV0Xykoc3RhdGVfLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpLCB2YWx1ZS5kYXRhKCksIHZhbHVlLnNpemUoKSk7Ci0rICB9Ci0rICB2aXJ0dWFsIHZvaWQgRGVsZXRlKGNvbnN0IFNsaWNlJiBrZXkpIG92ZXJyaWRlIHsKLSsgICAgKCpkZWxldGVkXykoc3RhdGVfLCBrZXkuZGF0YSgpLCBrZXkuc2l6ZSgpKTsKLSsgIH0KLSt9OwotKwotIHZvaWQgcm9ja3NkYl93cml0ZWJhdGNoX2l0ZXJhdGUoCi0gICAgIHJvY2tzZGJfd3JpdGViYXRjaF90KiBiLAotICAgICB2b2lkKiBzdGF0ZSwKLSAgICAgdm9pZCAoKnB1dCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3QgdmxlbiksCi0gICAgIHZvaWQgKCpkZWxldGVkKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4pKSB7Ci0tICBjbGFzcyBIIDogcHVibGljIFdyaXRlQmF0Y2g6OkhhbmRsZXIgewotLSAgIHB1YmxpYzoKLS0gICAgdm9pZCogc3RhdGVfOwotLSAgICB2b2lkICgqcHV0Xykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3Qgdmxlbik7Ci0tICAgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLS0gICAgdmlydHVhbCB2b2lkIFB1dChjb25zdCBTbGljZSYga2V5LCBjb25zdCBTbGljZSYgdmFsdWUpIG92ZXJyaWRlIHsKLS0gICAgICAoKnB1dF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSwgdmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpOwotLSAgICB9Ci0tICAgIHZpcnR1YWwgdm9pZCBEZWxldGUoY29uc3QgU2xpY2UmIGtleSkgb3ZlcnJpZGUgewotLSAgICAgICgqZGVsZXRlZF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7Ci0tICAgIH0KLS0gIH07Ci0gICBIIGhhbmRsZXI7Ci0gICBoYW5kbGVyLnN0YXRlXyA9IHN0YXRlOwotICAgaGFuZGxlci5wdXRfID0gcHV0OwotQEAgLTE2NDksMTggKzE2NTAsNiBAQCB2b2lkIHJvY2tzZGJfd3JpdGViYXRjaF93aV9pdGVyYXRlKAotICAgICB2b2lkKiBzdGF0ZSwKLSAgICAgdm9pZCAoKnB1dCkodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3QgdmxlbiksCi0gICAgIHZvaWQgKCpkZWxldGVkKSh2b2lkKiwgY29uc3QgY2hhciogaywgc2l6ZV90IGtsZW4pKSB7Ci0tICBjbGFzcyBIIDogcHVibGljIFdyaXRlQmF0Y2g6OkhhbmRsZXIgewotLSAgIHB1YmxpYzoKLS0gICAgdm9pZCogc3RhdGVfOwotLSAgICB2b2lkICgqcHV0Xykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuLCBjb25zdCBjaGFyKiB2LCBzaXplX3Qgdmxlbik7Ci0tICAgIHZvaWQgKCpkZWxldGVkXykodm9pZCosIGNvbnN0IGNoYXIqIGssIHNpemVfdCBrbGVuKTsKLS0gICAgdmlydHVhbCB2b2lkIFB1dChjb25zdCBTbGljZSYga2V5LCBjb25zdCBTbGljZSYgdmFsdWUpIG92ZXJyaWRlIHsKLS0gICAgICAoKnB1dF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSwgdmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpOwotLSAgICB9Ci0tICAgIHZpcnR1YWwgdm9pZCBEZWxldGUoY29uc3QgU2xpY2UmIGtleSkgb3ZlcnJpZGUgewotLSAgICAgICgqZGVsZXRlZF8pKHN0YXRlXywga2V5LmRhdGEoKSwga2V5LnNpemUoKSk7Ci0tICAgIH0KLS0gIH07Ci0gICBIIGhhbmRsZXI7Ci0gICBoYW5kbGVyLnN0YXRlXyA9IHN0YXRlOwotICAgaGFuZGxlci5wdXRfID0gcHV0OwotQEAgLTMxMDksMjAgKzMwOTgsMjEgQEAgdm9pZCByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2Rlc3Ryb3kocm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiBzdCkgewotICAgZGVsZXRlIHN0OwotIH0KLSAKLStzdHJ1Y3QgV3JhcHBlciA6IHB1YmxpYyByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QgewotKyAgY29uc3QgU2xpY2VUcmFuc2Zvcm0qIHJlcF87Ci0rICB+V3JhcHBlcigpIHsgZGVsZXRlIHJlcF87IH0KLSsgIGNvbnN0IGNoYXIqIE5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5OYW1lKCk7IH0KLSsgIFNsaWNlIFRyYW5zZm9ybShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0rICAgIHJldHVybiByZXBfLT5UcmFuc2Zvcm0oc3JjKTsKLSsgIH0KLSsgIGJvb2wgSW5Eb21haW4oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotKyAgICByZXR1cm4gcmVwXy0+SW5Eb21haW4oc3JjKTsKLSsgIH0KLSsgIGJvb2wgSW5SYW5nZShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5JblJhbmdlKHNyYyk7IH0KLSsgIHN0YXRpYyB2b2lkIERvTm90aGluZyh2b2lkKikgeyB9Ci0rfTsKLSsKLSByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QqIHJvY2tzZGJfc2xpY2V0cmFuc2Zvcm1fY3JlYXRlX2ZpeGVkX3ByZWZpeChzaXplX3QgcHJlZml4TGVuKSB7Ci0tICBzdHJ1Y3QgV3JhcHBlciA6IHB1YmxpYyByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX3QgewotLSAgICBjb25zdCBTbGljZVRyYW5zZm9ybSogcmVwXzsKLS0gICAgfldyYXBwZXIoKSB7IGRlbGV0ZSByZXBfOyB9Ci0tICAgIGNvbnN0IGNoYXIqIE5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5OYW1lKCk7IH0KLS0gICAgU2xpY2UgVHJhbnNmb3JtKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsKLS0gICAgICByZXR1cm4gcmVwXy0+VHJhbnNmb3JtKHNyYyk7Ci0tICAgIH0KLS0gICAgYm9vbCBJbkRvbWFpbihjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0tICAgICAgcmV0dXJuIHJlcF8tPkluRG9tYWluKHNyYyk7Ci0tICAgIH0KLS0gICAgYm9vbCBJblJhbmdlKGNvbnN0IFNsaWNlJiBzcmMpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHJlcF8tPkluUmFuZ2Uoc3JjKTsgfQotLSAgICBzdGF0aWMgdm9pZCBEb05vdGhpbmcodm9pZCopIHsgfQotLSAgfTsKLSAgIFdyYXBwZXIqIHdyYXBwZXIgPSBuZXcgV3JhcHBlcjsKLSAgIHdyYXBwZXItPnJlcF8gPSByb2Nrc2RiOjpOZXdGaXhlZFByZWZpeFRyYW5zZm9ybShwcmVmaXhMZW4pOwotICAgd3JhcHBlci0+c3RhdGVfID0gbnVsbHB0cjsKLUBAIC0zMTMxLDE5ICszMTIxLDYgQEAgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2NyZWF0ZV9maXhlZF9wcmVmaXgoc2l6ZV90IHByZWYKLSB9Ci0gCi0gcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90KiByb2Nrc2RiX3NsaWNldHJhbnNmb3JtX2NyZWF0ZV9ub29wKCkgewotLSAgc3RydWN0IFdyYXBwZXIgOiBwdWJsaWMgcm9ja3NkYl9zbGljZXRyYW5zZm9ybV90IHsKLS0gICAgY29uc3QgU2xpY2VUcmFuc2Zvcm0qIHJlcF87Ci0tICAgIH5XcmFwcGVyKCkgeyBkZWxldGUgcmVwXzsgfQotLSAgICBjb25zdCBjaGFyKiBOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVwXy0+TmFtZSgpOyB9Ci0tICAgIFNsaWNlIFRyYW5zZm9ybShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7Ci0tICAgICAgcmV0dXJuIHJlcF8tPlRyYW5zZm9ybShzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5Eb21haW4oY29uc3QgU2xpY2UmIHNyYykgY29uc3Qgb3ZlcnJpZGUgewotLSAgICAgIHJldHVybiByZXBfLT5JbkRvbWFpbihzcmMpOwotLSAgICB9Ci0tICAgIGJvb2wgSW5SYW5nZShjb25zdCBTbGljZSYgc3JjKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZXBfLT5JblJhbmdlKHNyYyk7IH0KLS0gICAgc3RhdGljIHZvaWQgRG9Ob3RoaW5nKHZvaWQqKSB7IH0KLS0gIH07Ci0gICBXcmFwcGVyKiB3cmFwcGVyID0gbmV3IFdyYXBwZXI7Ci0gICB3cmFwcGVyLT5yZXBfID0gcm9ja3NkYjo6TmV3Tm9vcFRyYW5zZm9ybSgpOwotICAgd3JhcHBlci0+c3RhdGVfID0gbnVsbHB0cjsKLWRpZmYgLS1naXQgYS9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oIGIvbWVtdGFibGUvaW5saW5lc2tpcGxpc3QuaAotaW5kZXggNzAyYTczMzZkLi5lYWRkYTFkYzEgMTAwNjQ0Ci0tLS0gYS9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oCi0rKysgYi9tZW10YWJsZS9pbmxpbmVza2lwbGlzdC5oCi1AQCAtMjgwLDcgKzI4MCw3IEBAIHN0cnVjdCBJbmxpbmVTa2lwTGlzdDxDb21wYXJhdG9yPjo6Tm9kZSB7Ci0gICAvLyBuZXh0X1swXS4gIFRoaXMgaXMgdXNlZCBmb3IgcGFzc2luZyBkYXRhIGZyb20gQWxsb2NhdGVLZXkgdG8gSW5zZXJ0LgotICAgdm9pZCBTdGFzaEhlaWdodChjb25zdCBpbnQgaGVpZ2h0KSB7Ci0gICAgIGFzc2VydChzaXplb2YoaW50KSA8PSBzaXplb2YobmV4dF9bMF0pKTsKLS0gICAgbWVtY3B5KCZuZXh0X1swXSwgJmhlaWdodCwgc2l6ZW9mKGludCkpOwotKyAgICBtZW1jcHkoc3RhdGljX2Nhc3Q8dm9pZCo+KCZuZXh0X1swXSksICZoZWlnaHQsIHNpemVvZihpbnQpKTsKLSAgIH0KLSAKLSAgIC8vIFJldHJpZXZlcyB0aGUgdmFsdWUgcGFzc2VkIHRvIFN0YXNoSGVpZ2h0LiAgVW5kZWZpbmVkIGFmdGVyIGEgY2FsbAotQEAgLTMwMCwzMCArMzAwLDMwIEBAIHN0cnVjdCBJbmxpbmVTa2lwTGlzdDxDb21wYXJhdG9yPjo6Tm9kZSB7Ci0gICAgIGFzc2VydChuID49IDApOwotICAgICAvLyBVc2UgYW4gJ2FjcXVpcmUgbG9hZCcgc28gdGhhdCB3ZSBvYnNlcnZlIGEgZnVsbHkgaW5pdGlhbGl6ZWQKLSAgICAgLy8gdmVyc2lvbiBvZiB0aGUgcmV0dXJuZWQgTm9kZS4KLS0gICAgcmV0dXJuIChuZXh0X1stbl0ubG9hZChzdGQ6Om1lbW9yeV9vcmRlcl9hY3F1aXJlKSk7Ci0rICAgIHJldHVybiAoKCZuZXh0X1swXSAtIG4pLT5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUpKTsKLSAgIH0KLSAKLSAgIHZvaWQgU2V0TmV4dChpbnQgbiwgTm9kZSogeCkgewotICAgICBhc3NlcnQobiA+PSAwKTsKLSAgICAgLy8gVXNlIGEgJ3JlbGVhc2Ugc3RvcmUnIHNvIHRoYXQgYW55Ym9keSB3aG8gcmVhZHMgdGhyb3VnaCB0aGlzCi0gICAgIC8vIHBvaW50ZXIgb2JzZXJ2ZXMgYSBmdWxseSBpbml0aWFsaXplZCB2ZXJzaW9uIG9mIHRoZSBpbnNlcnRlZCBub2RlLgotLSAgICBuZXh0X1stbl0uc3RvcmUoeCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsZWFzZSk7Ci0rICAgICgmbmV4dF9bMF0gLSBuKS0+c3RvcmUoeCwgc3RkOjptZW1vcnlfb3JkZXJfcmVsZWFzZSk7Ci0gICB9Ci0gCi0gICBib29sIENBU05leHQoaW50IG4sIE5vZGUqIGV4cGVjdGVkLCBOb2RlKiB4KSB7Ci0gICAgIGFzc2VydChuID49IDApOwotLSAgICByZXR1cm4gbmV4dF9bLW5dLmNvbXBhcmVfZXhjaGFuZ2Vfc3Ryb25nKGV4cGVjdGVkLCB4KTsKLSsgICAgcmV0dXJuICgmbmV4dF9bMF0gLSBuKS0+Y29tcGFyZV9leGNoYW5nZV9zdHJvbmcoZXhwZWN0ZWQsIHgpOwotICAgfQotIAotICAgLy8gTm8tYmFycmllciB2YXJpYW50cyB0aGF0IGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBhIGZldyBsb2NhdGlvbnMuCi0gICBOb2RlKiBOb0JhcnJpZXJfTmV4dChpbnQgbikgewotICAgICBhc3NlcnQobiA+PSAwKTsKLS0gICAgcmV0dXJuIG5leHRfWy1uXS5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotKyAgICByZXR1cm4gKCZuZXh0X1swXSAtIG4pLT5sb2FkKHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotICAgfQotIAotICAgdm9pZCBOb0JhcnJpZXJfU2V0TmV4dChpbnQgbiwgTm9kZSogeCkgewotICAgICBhc3NlcnQobiA+PSAwKTsKLS0gICAgbmV4dF9bLW5dLnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotKyAgICAoJm5leHRfWzBdIC0gbiktPnN0b3JlKHgsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwotICAgfQotIAotICAgLy8gSW5zZXJ0IG5vZGUgYWZ0ZXIgcHJldiBvbiBzcGVjaWZpYyBsZXZlbC4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kYnMvcm9ja3NkYi9yb2Nrc2RiX2dpdC5iYgppbmRleCA1OTRkMWE5Li4yN2M3YjIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGJzL3JvY2tzZGIvcm9ja3NkYl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRicy9yb2Nrc2RiL3JvY2tzZGJfZ2l0LmJiCkBAIC02LDEyICs2LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFLmxldmVsZGI7bWQ1PWZiMDRmZjU3YTE0ZjMwOGYyZWVkNGE5Yjg3ZDQ1ODM3IgogCi1TUkNSRVYgPSAiYzYwZGY5ZDllNzYyOWZlMjA4YTliODQ4MjkzYTU1OTlmODNkNWU3NyIKLVNSQ0JSQU5DSCA9ICI1LjEzLmZiIgotUFYgPSAiNS4xMy4xIgorU1JDUkVWID0gImExNzc0ZGRlOWE1YmQ1MWJjNmVjZTU5ODg3ODFjNmYyOGNjNjlkNDgiCitTUkNCUkFOQ0ggPSAiNS4xOC5mYiIKK1BWID0gIjUuMTguMiIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZhY2Vib29rLyR7QlBOfS5naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1HaXRIdWItaXNzdWUtMzcxNi1nY2MtOC13YXJuaW5ncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtV3NoYWRvdy1hbmQtZG8tbm90LW1hcmstZGVmYXVsdC1jb3B5LWNvbnN0cnUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS11dGlsaXRpZXMtRml4LWJ1aWxkLWZhaWx1cmUtd2l0aC1XZXJyb3ItbWF5YmUtdW5pbml0LnBhdGNoIFwKICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCkBAIC0xOSw5ICsyMCw5IEBACiBpbmhlcml0IGNtYWtlCiAKIFBBQ0tBR0VDT05GSUcgPz89ICJiemlwMiB6bGliIGx6NCIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi1EV0lUSF9CWjI9T04sLURXSVRIX0JaMj1PRkYsYnppcDIiCi1QQUNLQUdFQ09ORklHW2x6NF0gPSAiLURXSVRIX0xaND1PTiwtRFdJVEhfTFo0PU9GRixsejQiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi1EV0lUSF9aTElCPU9OLC1EV0lUSF9aTElCPU9GRix6bGliIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLURXSVRIX0JaMj1PTiAtREJaSVAyX0xJQlJBUklFUzpTVFJJTkc9YnoyLC1EV0lUSF9CWjI9T0ZGLGJ6aXAyIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EV0lUSF9MWjQ9T04gLURMWjRfTElCUkFSSUVTOlNUUklORz1sejQsLURXSVRIX0xaND1PRkYsbHo0IgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRFdJVEhfWkxJQj1PTiAtRFpMSUJfTElCUkFSSUVTOlNUUklORz16LC1EV0lUSF9aTElCPU9GRix6bGliIgogUEFDS0FHRUNPTkZJR1tsaXRlXSA9ICItRFJPQ0tTREJfTElURT1PTiwtRFJPQ0tTREJfTElURT1PRkYiCiAKICMgVG9vbHMgYW5kIHRlc3RzIGN1cnJlbnRseSBkb24ndCBjb21waWxlIG9uIGFybXY1IHNvIHdlIGRpc2FibGUgdGhlbQpAQCAtMzAsMyArMzEsOCBAQAogICAgIC1EV0lUSF9URVNUUz1PRkYgXAogICAgIC1EV0lUSF9UT09MUz1PRkYgXAogIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIGZpeCBmb3IgcWEgY2hlY2sgYnVpbGRwYXRocworICAgIHNlZCAtaSAicyMke1JFQ0lQRV9TWVNST09UfSMjZyIgJHtEfSR7bGliZGlyfS9jbWFrZS9yb2Nrc2RiL1JvY2tzREJUYXJnZXRzLmNtYWtlCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzL2NvcmUvYWRiX2xpYnNzbF8xMS5kaWZmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29scy9jb3JlL2FkYl9saWJzc2xfMTEuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWFkNjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29scy9jb3JlL2FkYl9saWJzc2xfMTEuZGlmZgpAQCAtMCwwICsxLDM5IEBACitEZXNjcmlwdGlvbjogYWRiOiBNYWtlIGNvbXBhdGlibGUgd2l0aCBvcGVuc3NsIDEuMQorIE9wZW5TU0wgdmVyc2lvbiAxLjEgYnJvdWdodCBzb21lIEFQSSBjaGFuZ2VzIHdoaWNoIGJyb2tlIHRoZSBidWlsZCBoZXJlLAorIGZpeCB0aGF0IGJ5IGFjY2Vzc2luZyByc2EtPm4gKGFuZCBlKSBkaXJlY3RseSwgdXNpbmcgUlNBX2dldDBfa2V5IGluc3RlYWQuCitBdXRob3I6IENoaXJheXUgRGVzYWkgPGNoaXJheXVkZXNhaTFAZ21haWwuY29tCitMYXN0LVVwZGF0ZTogMjAxNi0xMS0xMAorLS0tCitUaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0zOiBodHRwOi8vZGVwLmRlYmlhbi5uZXQvZGVwcy9kZXAzLworLS0tCisgc3lzdGVtL2NvcmUvYWRiL2FkYl9hdXRoX2hvc3QuYyB8ICAgIDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCistLS0gYS9hZGIvYWRiX2F1dGhfaG9zdC5jCisrKysgYi9hZGIvYWRiX2F1dGhfaG9zdC5jCitAQCAtNzUsNiArNzUsNyBAQCBzdGF0aWMgaW50IFJTQV90b19SU0FQdWJsaWNLZXkoUlNBICpyc2EsCisgICAgIEJJR05VTSogcmVtID0gQk5fbmV3KCk7CisgICAgIEJJR05VTSogbiA9IEJOX25ldygpOworICAgICBCSUdOVU0qIG4waW52ID0gQk5fbmV3KCk7CisrICAgIEJJR05VTSogZSA9IEJOX25ldygpOworIAorICAgICBpZiAoUlNBX3NpemUocnNhKSAhPSBSU0FOVU1CWVRFUykgeworICAgICAgICAgcmV0ID0gMDsKK0BAIC04Miw3ICs4Myw3IEBAIHN0YXRpYyBpbnQgUlNBX3RvX1JTQVB1YmxpY0tleShSU0EgKnJzYSwKKyAgICAgfQorIAorICAgICBCTl9zZXRfYml0KHIzMiwgMzIpOworLSAgICBCTl9jb3B5KG4sIHJzYS0+bik7CisrICAgIFJTQV9nZXQwX2tleShyc2EsICZuLCAmZSwgTlVMTCk7CisgICAgIEJOX3NldF9iaXQociwgUlNBTlVNV09SRFMgKiAzMik7CisgICAgIEJOX21vZF9zcXIocnIsIHIsIG4sIGN0eCk7CisgICAgIEJOX2RpdihOVUxMLCByZW0sIG4sIHIzMiwgY3R4KTsKK0BAIC05Niw3ICs5Nyw3IEBAIHN0YXRpYyBpbnQgUlNBX3RvX1JTQVB1YmxpY0tleShSU0EgKnJzYSwKKyAgICAgICAgIEJOX2RpdihuLCByZW0sIG4sIHIzMiwgY3R4KTsKKyAgICAgICAgIHBrZXktPm5baV0gPSBCTl9nZXRfd29yZChyZW0pOworICAgICB9CistICAgIHBrZXktPmV4cG9uZW50ID0gQk5fZ2V0X3dvcmQocnNhLT5lKTsKKysgICAgcGtleS0+ZXhwb25lbnQgPSBCTl9nZXRfd29yZChlKTsKKyAKKyBvdXQ6CisgICAgIEJOX2ZyZWUobjBpbnYpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2FuZHJvaWQtdG9vbHMvYW5kcm9pZC10b29sc181LjEuMS5yMzcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgppbmRleCAyNjA0ZjY1Li5lMDljZDgyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYW5kcm9pZC10b29scy9hbmRyb2lkLXRvb2xzXzUuMS4xLnIzNy5iYgpAQCAtOCw3ICs4LDcgQEAKICAgICBmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0JTRC0zLUNsYXVzZTttZDU9NTUwNzk0NDY1YmEwZWM1MzEyZDY5MTllMjAzYTU1ZjkgXAogIgogREVQRU5EUyA9ICJsaWJic2QgbGlicGNyZSB6bGliIGxpYmNhcCIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbDEwIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBvcGVuc3NsIgogCiBBTkRST0lEX01JUlJPUiA9ICJhbmRyb2lkLmdvb2dsZXNvdXJjZS5jb20iCiAKQEAgLTM3LDYgKzM3LDcgQEAKICAgICBmaWxlOi8vY29yZS8wMDEwLVVzZS1saW51eC1jYXBhYmlsaXR5Lmgtb24tbGludXgtc3lzdGVtcy10b28ucGF0Y2g7cGF0Y2hkaXI9c3lzdGVtL2NvcmUgXAogICAgIGZpbGU6Ly9jb3JlLzAwMTEtUmVtb3ZlLWJpb25pYy1zcGVjaWZpYy1jYWxscy5wYXRjaDtwYXRjaGRpcj1zeXN0ZW0vY29yZSBcCiAgICAgZmlsZTovL2NvcmUvMDAxMi1GaXgtaW1wbGljaXQtZGVjbGFyYXRpb24tb2Ytc3RsY2F0LXN0cmxjb3B5LWZ1bmN0aW9uLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9jb3JlIFwKKyAgICBmaWxlOi8vY29yZS9hZGJfbGlic3NsXzExLmRpZmY7cGF0Y2hkaXI9c3lzdGVtL2NvcmUgXAogICAgIGZpbGU6Ly9leHRyYXMvMDAwMS1leHQ0X3V0aWxzLXJlbW92ZS1zZWxpbnV4LWV4dGVuc2lvbnMucGF0Y2g7cGF0Y2hkaXI9c3lzdGVtL2V4dHJhcyBcCiAgICAgZmlsZTovL2V4dHJhcy8wMDAyLWV4dDRfdXRpbHMtYWRkLW8tYXJndW1lbnQtdG8tcHJlc2VydmUtb3duZXJzaGlwLnBhdGNoO3BhdGNoZGlyPXN5c3RlbS9leHRyYXMgXAogICAgIGZpbGU6Ly9saWJzZWxpbnV4LzAwMDEtUmVtb3ZlLWJpb25pYy1zcGVjaWZpYy1jYWxscy5wYXRjaDtwYXRjaGRpcj1leHRlcm5hbC9saWJzZWxpbnV4IFwKQEAgLTU3LDYgKzU4LDkgQEAKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgogQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCiAKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjID0gIihudWxsKSIKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjNjQgPSAiKG51bGwpIgorCiBpbmhlcml0IHN5c3RlbWQKIAogU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImFuZHJvaWQtdG9vbHMtYWRiZC5zZXJ2aWNlIgpAQCAtOTEsNiArOTUsOSBAQAogICAgICAgbWlwc3xtaXBzZWwpCiAgICAgICAgIGV4cG9ydCBhbmRyb2lkX2FyY2g9bGludXgtbWlwcwogICAgICAgOzsKKyAgICAgIG1pcHM2NHxtaXBzNjRlbCkKKyAgICAgICAgZXhwb3J0IGFuZHJvaWRfYXJjaD1saW51eC1taXBzNjQKKyAgICAgIDs7CiAgICAgICBwb3dlcnBjfHBvd2VycGM2NCkKICAgICAgICAgZXhwb3J0IGFuZHJvaWRfYXJjaD1saW51eC1wcGMKICAgICAgIDs7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDEtUmVwbGFjZS11c2Utb2Ytc3RydWN0LXVjb250ZXh0LXdpdGgtdWNvbnRleHRfdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDdjYjhhMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQyICswLDAgQEAKLUZyb20gYjkwYzhmM2I2MGJmZTVkYmVkMjgyMzYyMDI0MmU5ZDMwYjllYjI4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI4IEp1biAyMDE3IDE5OjAxOjE4IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlcGxhY2UgdXNlIG9mIHN0cnVjdCB1Y29udGV4dCB3aXRoIHVjb250ZXh0X3QKLQotZ2xpYmMgMi4yNiB3b3VsZCBub3QgZXhwb3NlIHN0cnVjdCB1Y29udGV4dCBhbnltb3JlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gLi4uL2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgICAgfCAzMiArKysrKysrKysrKy0tLS0tLS0tLS0tCi0gLi4uL2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCAgICAgfCAxNCArKysrKy0tLS0tCi0gc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjICAgICAgfCAxMCArKystLS0tCi0gc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmggICAgICAgfCAgNCArLS0KLSAuLi4vbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjICAgICB8ICAyICstCi0gLi4uL2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MgICAgICAgfCAgMiArLQotIDYgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgYi9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLWluZGV4IGM4MDcyNGRkLi4wNTJjZTM3YyAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotKysrIGIvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi1AQCAtMzYsMTkgKzM2LDE5IEBAIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQgewotIAotIC8vIE1pbmlkdW1wIGRlZmluZXMgcmVnaXN0ZXIgc3RydWN0dXJlcyB3aGljaCBhcmUgZGlmZmVyZW50IGZyb20gdGhlIHJhdwotIC8vIHN0cnVjdHVyZXMgd2hpY2ggd2UgZ2V0IGZyb20gdGhlIGtlcm5lbC4gVGhlc2UgYXJlIHBsYXRmb3JtIHNwZWNpZmljCi0tLy8gZnVuY3Rpb25zIHRvIGp1Z2dsZSB0aGUgdWNvbnRleHQgYW5kIHVzZXIgc3RydWN0dXJlcyBpbnRvIG1pbmlkdW1wIGZvcm1hdC4KLSsvLyBmdW5jdGlvbnMgdG8ganVnZ2xlIHRoZSB1Y29udGV4dF90IGFuZCB1c2VyIHN0cnVjdHVyZXMgaW50byBtaW5pZHVtcCBmb3JtYXQuCi0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18pCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKSB7Ci0gICBjb25zdCBncmVnX3QqIHJlZ3MgPSB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3M7Ci0gCi1AQCAtODgsMTUgKzg4LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX194ODZfNjQpCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19SU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX1JJUF07Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwcmVncykgewotICAgY29uc3QgZ3JlZ190KiByZWdzID0gdWMtPnVjX21jb250ZXh0LmdyZWdzOwotIAotQEAgLTE0NSwxNSArMTQ1LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX19BUk1fRUFCSV9fKQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5hcm1fc3A7Ci0gfQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5hcm1fcGM7Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgewotICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9BUk1fRlVMTDsKLSAKLSAgIG91dC0+aXJlZ3NbMF0gPSB1Yy0+dWNfbWNvbnRleHQuYXJtX3IwOwotQEAgLTE4NCwxNSArMTg0LDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0gCi0gI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuc3A7Ci0gfQotIAotLXVpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpIHsKLSt1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5wYzsKLSB9Ci0gCi0tdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqIGZwcmVncykgewotICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9BUk02NF9GVUxMOwotIAotQEAgLTIxMCwxNSArMjEwLDE1IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjLAotIAotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gCi0tdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1YykgewotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0gICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdOwotIH0KLSAKLS11aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIHVjKSB7Ci0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQucGM7Ci0gfQotIAotLXZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHQgKnVjKSB7Ci0rdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dF90ICp1YykgewotICNpZiBfTUlQU19TSU0gPT0gX0FCSTY0Ci0gICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05URVhUX01JUFM2NF9GVUxMOwotICNlbGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmggYi9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotaW5kZXggYjZlNzdiNGIuLjJkZTgwYjcwIDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmgKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1AQCAtMzksMjMgKzM5LDIzIEBACi0gCi0gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7Ci0gCi0tLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBvZiBhY2Nlc3NvcnMgdG8gdWNvbnRleHQgc3RydWN0cy4KLSsvLyBXcmFwcyBwbGF0Zm9ybS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIG9mIGFjY2Vzc29ycyB0byB1Y29udGV4dF90IHN0cnVjdHMuCi0gc3RydWN0IFVDb250ZXh0UmVhZGVyIHsKLS0gIHN0YXRpYyB1aW50cHRyX3QgR2V0U3RhY2tQb2ludGVyKGNvbnN0IHN0cnVjdCB1Y29udGV4dCogdWMpOwotKyAgc3RhdGljIHVpbnRwdHJfdCBHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpOwotIAotLSAgc3RhdGljIHVpbnRwdHJfdCBHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29uc3Qgc3RydWN0IHVjb250ZXh0KiB1Yyk7Ci0rICBzdGF0aWMgdWludHB0cl90IEdldEluc3RydWN0aW9uUG9pbnRlcihjb25zdCB1Y29udGV4dF90KiB1Yyk7Ci0gCi0tICAvLyBKdWdnbGUgYSBhcmNoLXNwZWNpZmljIHVjb250ZXh0IGludG8gYSBtaW5pZHVtcCBmb3JtYXQKLSsgIC8vIEp1Z2dsZSBhIGFyY2gtc3BlY2lmaWMgdWNvbnRleHRfdCBpbnRvIGEgbWluaWR1bXAgZm9ybWF0Ci0gICAvLyAgIG91dDogdGhlIG1pbmlkdW1wIHN0cnVjdHVyZQotICAgLy8gICBpbmZvOiB0aGUgY29sbGVjdGlvbiBvZiByZWdpc3RlciBzdHJ1Y3R1cmVzLgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0KQotLSAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IF9saWJjX2Zwc3RhdGUqIGZwKTsKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotLSAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25zdCB1Y29udGV4dCAqdWMsCi0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpOwotICNlbHNlCi0tICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0ICp1Yyk7Ci0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKTsKLSAjZW5kaWYKLSB9OwotIAotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyBiL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXggNTg2ZDg0ZTkuLjA1OTM2ZDI4IDEwMDY0NAotLS0tIGEvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLUBAIC00NTcsOSArNDU3LDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoaW50IC8qc2lnKi8sIHNpZ2luZm9fdCogaW5mbywgdm9pZCogdWMpIHsKLSAgIC8vIEZpbGwgaW4gYWxsIHRoZSBob2xlcyBpbiB0aGUgc3RydWN0IHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCi0gICBtZW1zZXQoJmdfY3Jhc2hfY29udGV4dF8sIDAsIHNpemVvZihnX2NyYXNoX2NvbnRleHRfKSk7Ci0gICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uc2lnaW5mbywgaW5mbywgc2l6ZW9mKHNpZ2luZm9fdCkpOwotLSAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmNvbnRleHQsIHVjLCBzaXplb2Yoc3RydWN0IHVjb250ZXh0KSk7Ci0rICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uY29udGV4dCwgdWMsIHNpemVvZih1Y29udGV4dF90KSk7Ci0gI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCi0tICBzdHJ1Y3QgdWNvbnRleHQqIHVjX3B0ciA9IChzdHJ1Y3QgdWNvbnRleHQqKXVjOwotKyAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3QqKXVjOwotICAgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcF9wdHIgPQotICAgICAgIChzdHJ1Y3QgZnBzaW1kX2NvbnRleHQqKSZ1Y19wdHItPnVjX21jb250ZXh0Ll9fcmVzZXJ2ZWQ7Ci0gICBpZiAoZnBfcHRyLT5oZWFkLm1hZ2ljID09IEZQU0lNRF9NQUdJQykgewotQEAgLTQ2OCw5ICs0NjgsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbChpbnQgLypzaWcqLywgc2lnaW5mb190KiBpbmZvLCB2b2lkKiB1YykgewotICAgfQotICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICAvLyBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBvbiBBUk0gTGludXguCi0tICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHN0cnVjdCB1Y29udGV4dAotKyAgLy8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiB1Y29udGV4dF90Ci0gICAvLyBhbmQgJ2Zsb2F0X3N0YXRlJyBpcyBub3QgYSBtZW1iZXIgb2YgQ3Jhc2hDb250ZXh0LgotLSAgc3RydWN0IHVjb250ZXh0KiB1Y19wdHIgPSAoc3RydWN0IHVjb250ZXh0Kil1YzsKLSsgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKLSAgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LmZwcmVncykgewotICAgICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIHVjX3B0ci0+dWNfbWNvbnRleHQuZnByZWdzLAotICAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUpKTsKLUBAIC00OTQsNyArNDk0LDcgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpTaW11bGF0ZVNpZ25hbERlbGl2ZXJ5KGludCBzaWcpIHsKLSAgIC8vIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbCgpLgotICAgc2lnaW5mby5zaV9jb2RlID0gU0lfVVNFUjsKLSAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7Ci0tICBzdHJ1Y3QgdWNvbnRleHQgY29udGV4dDsKLSsgIHVjb250ZXh0X3QgY29udGV4dDsKLSAgIGdldGNvbnRleHQoJmNvbnRleHQpOwotICAgcmV0dXJuIEhhbmRsZVNpZ25hbChzaWcsICZzaWdpbmZvLCAmY29udGV4dCk7Ci0gfQotZGlmZiAtLWdpdCBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oIGIvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKLWluZGV4IGRhYmE1N2UwLi4yNTU5OGEyOSAxMDA2NDQKLS0tLSBhL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi0rKysgYi9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAotQEAgLTE5MSwxMSArMTkxLDExIEBAIGNsYXNzIEV4Y2VwdGlvbkhhbmRsZXIgewotICAgc3RydWN0IENyYXNoQ29udGV4dCB7Ci0gICAgIHNpZ2luZm9fdCBzaWdpbmZvOwotICAgICBwaWRfdCB0aWQ7ICAvLyB0aGUgY3Jhc2hpbmcgdGhyZWFkLgotLSAgICBzdHJ1Y3QgdWNvbnRleHQgY29udGV4dDsKLSsgICAgdWNvbnRleHRfdCBjb250ZXh0OwotICNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotICAgICAvLyAjaWZkZWYgdGhpcyBvdXQgYmVjYXVzZSBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBmb3IgTGludXggQVJNLgotICAgICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBwYXJ0IG9mIHN0cnVjdAotLSAgICAvLyB1Y29udGV4dCBzbyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KLSsgICAgLy8gdWNvbnRleHRfdCBzbyAnZmxvYXRfc3RhdGUnIGlzIG5vdCByZXF1aXJlZC4KLSAgICAgZnBzdGF0ZV90IGZsb2F0X3N0YXRlOwotICNlbmRpZgotICAgfTsKLWRpZmYgLS1naXQgYS9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYyBiL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCi1pbmRleCAzNzY0ZWVjMi4uODBhZDVjNDYgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwotKysrIGIvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKLUBAIC01OTMsNyArNTkzLDcgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAKLSAgIHZvaWQqIEFsbG9jKHVuc2lnbmVkIGJ5dGVzKSB7IHJldHVybiBkdW1wZXJfLT5hbGxvY2F0b3IoKS0+QWxsb2MoYnl0ZXMpOyB9Ci0gCi0tICBjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIGNvbnN0IHVjb250ZXh0XzsKLSsgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsKLSAjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjIGIvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1pbmRleCBkMTFiYTZlNS4uYzcxNjE0MzQgMTAwNjQ0Ci0tLS0gYS9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLSsrKyBiL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotQEAgLTEzMjMsNyArMTMyMyw3IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgIGNvbnN0IGludCBmZF87ICAvLyBGaWxlIGRlc2NyaXB0b3Igd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCi0gICBjb25zdCBjaGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCi0gCi0tICBjb25zdCBzdHJ1Y3QgdWNvbnRleHQqIGNvbnN0IHVjb250ZXh0XzsgIC8vIGFsc28gZnJvbSB0aGUgc2lnbmFsIGhhbmRsZXIKLSsgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsgIC8vIGFsc28gZnJvbSB0aGUgc2lnbmFsIGhhbmRsZXIKLSAjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBkaXR0bwotICNlbmRpZgotLS0gCi0yLjEzLjIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMi1Bdm9pZC11c2luZy1iYXNlbmFtZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM2MjgyOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvMDAwMi1Bdm9pZC11c2luZy1iYXNlbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gODA2OTY0Zjg1Mjc3M2U0MjdmZWE4MmE3NzE2ZDQ0Y2UzYmU0NDk4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+Ci1EYXRlOiBTdW4sIDEgRmViIDIwMTUgMTQ6Mjc6MzIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzNdIEF2b2lkIHVzaW5nIGJhc2VuYW1lCi0KLS0tLQotIHNyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9saW51eC9kdW1wX3N5bWJvbHMuY2MgYi9zcmMvY29tbW9uL2xpbnV4L2R1bXBfc3ltYm9scy5jYwotaW5kZXggZDAyOWNhMTQuLjZhYzRhMTdiIDEwMDY0NAotLS0tIGEvc3JjL2NvbW1vbi9saW51eC9kdW1wX3N5bWJvbHMuY2MKLSsrKyBiL3NyYy9jb21tb24vbGludXgvZHVtcF9zeW1ib2xzLmNjCi1AQCAtODgxLDkgKzg4MSw5IEBAIGNvbnN0IGNoYXIqIEVsZkFyY2hpdGVjdHVyZShjb25zdCB0eXBlbmFtZSBFbGZDbGFzczo6RWhkciogZWxmX2hlYWRlcikgewotIC8vIGxhc3Qgc2xhc2gsIG9yIHRoZSB3aG9sZSBmaWxlbmFtZSBpZiB0aGVyZSBhcmUgbm8gc2xhc2hlcy4KLSBzdHJpbmcgQmFzZUZpbGVOYW1lKGNvbnN0IHN0cmluZyAmZmlsZW5hbWUpIHsKLSAgIC8vIExvdHMgb2YgY29waWVzISAgYmFzZW5hbWUncyBiZWhhdmlvciBpcyBsZXNzIHRoYW4gaWRlYWwuCi0tICBjaGFyKiBjX2ZpbGVuYW1lID0gc3RyZHVwKGZpbGVuYW1lLmNfc3RyKCkpOwotLSAgc3RyaW5nIGJhc2UgPSBiYXNlbmFtZShjX2ZpbGVuYW1lKTsKLS0gIGZyZWUoY19maWxlbmFtZSk7Ci0rICBjb25zdCBjaGFyICpjX2ZpbGVuYW1lID0gZmlsZW5hbWUuY19zdHIoKTsKLSsgIGNvbnN0IGNoYXIgKnAgPSBzdHJyY2hyKGNfZmlsZW5hbWUsICcvJyk7Ci0rICBzdHJpbmcgYmFzZSA9IHAgPyBwKzEgOiBjX2ZpbGVuYW1lOwotICAgcmV0dXJuIGJhc2U7Ci0gfQotIAotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDUtbWQyY29yZS1SZXBsYWNlLWJhc2VuYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkLzAwMDUtbWQyY29yZS1SZXBsYWNlLWJhc2VuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTJjMWVkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC8wMDA1LW1kMmNvcmUtUmVwbGFjZS1iYXNlbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gYmJmMmI1ZWQ1ZDkzYjIyN2RmOGFlYTU3MjY3MjdiNDhlMjlmNjc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDE0IFNlcCAyMDE3IDIzOjM1OjQwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNS81XSBtZDJjb3JlOiBSZXBsYWNlIGJhc2VuYW1lKCkKLQotbXVzbCBkb2VzIG5vdCBwcm92aWRlIGl0Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjIGIvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCi1pbmRleCA2YTllMjhlYi4uNTJiODFjMjIgMTAwNjQ0Ci0tLS0gYS9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLSsrKyBiL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotQEAgLTEwNyw2ICsxMDcsOSBAQCBzdHJ1Y3QgT3B0aW9ucyB7Ci0gCi0gc3RhdGljIHZvaWQKLSBVc2FnZShpbnQgYXJnYywgY29uc3QgY2hhciogYXJndltdKSB7Ci0rICBjb25zdCBjaGFyICpjX2ZpbGVuYW1lID0gYXJndlswXTs7Ci0rICBjb25zdCBjaGFyICpwID0gc3RycmNocihjX2ZpbGVuYW1lLCAnLycpOwotKyAgY29uc3QgY2hhciAqYmFzZSA9IHAgPyBwKzEgOiBjX2ZpbGVuYW1lOwotICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICJVc2FnZTogJXMgW29wdGlvbnNdIDxtaW5pZHVtcCBmaWxlPlxuIgotICAgICAgICAgICAiXG4iCi1AQCAtMTMzLDcgKzEzNiw3IEBAIFVzYWdlKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pIHsKLSAgICAgICAgICAgIiAgICAgICAgICAgICBsb29rdXBzIHRvIGJlIGRvbmUgaW4gdGhpcyBkaXJlY3RvcnkgcmF0aGVyIHRoYW4gdGhlIGZpbGVzeXN0ZW1cbiIKLSAgICAgICAgICAgIiAgICAgICAgICAgICBsYXlvdXQgYXMgaXQgZXhpc3RzIGluIHRoZSBjcmFzaGluZyBpbWFnZS4gIFRoaXMgcGF0aCBzaG91bGQgZW5kXG4iCi0gICAgICAgICAgICIgICAgICAgICAgICAgd2l0aCBhIHNsYXNoIGlmIGl0J3MgYSBkaXJlY3RvcnkuICBlLmcuIC92YXIvbGliL2JyZWFrcGFkL1xuIgotLSAgICAgICAgICAiIiwgYmFzZW5hbWUoYXJndlswXSkpOwotKyAgICAgICAgICAiIiwgYmFzZSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvZG9udC1jbG9iYmVyLXJzcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZC9kb250LWNsb2JiZXItcnNwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxYzM3ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWQvZG9udC1jbG9iYmVyLXJzcC5wYXRjaApAQCAtMCwwICsxLDMwIEBACitEbyBub3QgYWRkIHN0YWNrIHBvaW50ZXIgdG8gY2xvYmJlciBsaXN0CisKK2l0IHdhcyBiZWluZyBpZ25vcmVkIHVudGlsIGdjYyA5LjAgYmVjYW1lIGNhcGFibGUKK29mIGZsYWdnaW5nIHRoaXMgc2lsZW50IGlnbm9yaW5nIHZpYSBbMV0KKworWzFdIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzPFBhc3RlPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2xpbnV4LXN5c2NhbGwtc3VwcG9ydC8rLzEzOTAxNjBdCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS9zcmMvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi9zcmMvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitAQCAtMTk2Niw3ICsxOTY2LDcgQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICAgICAgICAgX19hc21fXyB2b2xhdGlsZShMU1NfRU5UUllQT0lOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiPWEiIChfX3JlcykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIDogIjAiIChfX05SXyMjbmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICAgICAgICAgICA6ICJlc3AiLCAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgOiAibWVtb3J5Iik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICBMU1NfUkVUVVJOKHR5cGUsX19yZXMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIH0KKyAgICAgI3VuZGVmICBfc3lzY2FsbDEKK0BAIC0yNDA3LDcgKzI0MDcsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkIihMU1NfU1lTQ0FMTF9BUkcocGFyZW50X3RpZHB0cikpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIoTFNTX1NZU0NBTExfQVJHKG5ld3RscykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiciIoTFNTX1NZU0NBTExfQVJHKGNoaWxkX3RpZHB0cikpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJyc3AiLCAibWVtb3J5IiwgInI4IiwgInIxMCIsICJyMTEiLCAicmN4Iik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiLCAicjgiLCAicjEwIiwgInIxMSIsICJyY3giKTsKKyAgICAgICB9CisgICAgICAgTFNTX1JFVFVSTihpbnQsIF9fcmVzKTsKKyAgICAgfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9icmVha3BhZC9icmVha3BhZF9naXQuYmIKaW5kZXggZDk3NzNjOS4uNWY5YTcyZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2JyZWFrcGFkL2JyZWFrcGFkX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvYnJlYWtwYWQvYnJlYWtwYWRfZ2l0LmJiCkBAIC0xMywxNiArMTMsMTcgQEAKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCiAKLVBFID0gIjEiCitQRSA9ICIyIgogCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCitQViA9ICIxLjAiCiAKIFNSQ1JFVl9GT1JNQVQgPSAiYnJlYWtwYWRfZ3Rlc3RfcHJvdG9idWZfbHNzX2d5cCIKIAotU1JDUkVWX2JyZWFrcGFkID0gImRlYTg2N2U3NmYyNGU0YTY4Mzk1Njg0YjlkMWNmMjRiY2VmODJmMjAiCitTUkNSRVZfYnJlYWtwYWQgPSAiNTQ2NzM5M2EzZDFlN2FiOTI5ZmQwMWQ3OTk3MTcwMWJmNGUyYzJjNiIKKyN2MS44LjAKIFNSQ1JFVl9ndGVzdCA9ICJlYzQ0YzZjMTY3NWMyNWI5ODI3YWFjZDA4YzAyNDMzY2NjZGU3NzgwIgogU1JDUkVWX3Byb3RvYnVmID0gImNiNmRkNGVmNWY4MmU0MWUwNjE3OWRjZDU3ZDNiMWQ5MjQ2YWQ2YWMiCi1TUkNSRVZfbHNzID0gImE5MTYzM2QxNzI0MDdmNmM4M2RkNjlhZjExNTEwYjM3YWZlYmI3ZjkiCitTUkNSRVZfbHNzID0gImE4OWJmNzkwM2YzMTY5ZTZiYzdiOGVmYzEwYTczYTc1NzFkZTIxY2YiCiBTUkNSRVZfZ3lwID0gIjMyNGRkMTY2YjdjMGIzOWQ1MTMwMjZmYTUyZDYyODBhYzZkNTY3NzAiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvYnJlYWtwYWQ7bmFtZT1icmVha3BhZCBcCkBAIC0zMCwyNiArMzEsMjQgQEAKICAgICAgICAgICAgZ2l0Oi8vZ2l0aHViLmNvbS9nb29nbGUvcHJvdG9idWYuZ2l0O2Rlc3RzdWZmaXg9Z2l0L3NyYy90aGlyZF9wYXJ0eS9wcm90b2J1Zi9wcm90b2J1ZjtuYW1lPXByb3RvYnVmIFwKICAgICAgICAgICAgZ2l0Oi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9saW51eC1zeXNjYWxsLXN1cHBvcnQ7cHJvdG9jb2w9aHR0cHM7ZGVzdHN1ZmZpeD1naXQvc3JjL3RoaXJkX3BhcnR5L2xzcztuYW1lPWxzcyBcCiAgICAgICAgICAgIGdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvZ3lwO3Byb3RvY29sPWh0dHBzO2Rlc3RzdWZmaXg9Z2l0L3NyYy90b29scy9neXA7bmFtZT1neXAgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXBsYWNlLXVzZS1vZi1zdHJ1Y3QtdWNvbnRleHQtd2l0aC11Y29udGV4dF90LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUtb24tbXVzbC1saWJjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQXZvaWQtdXNpbmctYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtY29uZmxpY3QtYmV0d2Vlbi1tdXNsLWxpYmMtZGlyZW50LmgtYW5kLWxzcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVR1cm4tb2ZmLXNpZ24tY29tcGFyZS1mb3ItbXVzbC1saWJjLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItc3lzLXNpZ25hbC5oLWlzLWEtbm9ucG9ydGFibGUtYWxpYXMtZm9yLXNpZ25hbC5oLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDMtRG9udC1pbmNsdWRlLXN0YWIuaC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDA0LWVsZl9yZWFkZXIuY2MtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUtb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1tZDJjb3JlLVJlcGxhY2UtYmFzZW5hbWUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1Vc2UtX2Zwc3RhdGUtaW5zdGVhZC1vZi1fbGliY19mcHN0YXRlLW9uLWxpbnV4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL21jb250ZXh0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzYWJsZS1jYWxscy10by1nZXRjb250ZXh0LXdpdGgtbXVzbC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxzcy1NYXRjaC1zeXNjYWxscy10by1tYXRjaC1tdXNsLnBhdGNoO3BhdGNoZGlyPXNyYy90aGlyZF9wYXJ0eS9sc3MgXAogICAgICAgICAgICBmaWxlOi8vbWlwc19hc21fc2dpZGVmcy5wYXRjaDtwYXRjaGRpcj1zcmMvdGhpcmRfcGFydHkvbHNzIFwKKyAgICAgICAgICAgZmlsZTovL2RvbnQtY2xvYmJlci1yc3AucGF0Y2ggXAogIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogQ1hYRkxBR1MgKz0gIi1EX0dOVV9TT1VSQ0UiCiAKLUNPTVBBVElCTEVfTUFDSElORV9wb3dlcnBjID0gIighLipwcGMpLioiCitDT01QQVRJQkxFX0hPU1RfcG93ZXJwYyA9ICJudWxsIgogCiBkb19pbnN0YWxsX2FwcGVuZCgpIHsKICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQpAQCAtNzIsNyArNzEsNyBAQAogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCiAKICAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24KLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9tZW1vcnkuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vbWVtb3J5LmgKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yLmggJHtEfSR7aW5jbHVkZWRpcn0vYnJlYWtwYWQvY29tbW9uL21lbW9yeV9hbGxvY2F0b3IuaAogICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9zcmMvY29tbW9uL3Njb3BlZF9wdHIuaCAke0R9JHtpbmNsdWRlZGlyfS9icmVha3BhZC9jb21tb24vc2NvcGVkX3B0ci5oCiAgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3NyYy9jb21tb24vdXNpbmdfc3RkX3N0cmluZy5oICR7RH0ke2luY2x1ZGVkaXJ9L2JyZWFrcGFkL2NvbW1vbi91c2luZ19zdGRfc3RyaW5nLmgKIApAQCAtMTIwLDQgKzExOSw1IEBACiAjfCB7c3RhbmRhcmQgaW5wdXR9OjIxODQ6IEVycm9yOiBUaHVtYiBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgYWRkcmVzc2luZyBtb2RlIC0tIGBzdHIgcjYsW3IxLCMtNF0hJwogI3wge3N0YW5kYXJkIGlucHV0fToyMTkxOiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdJwogI3wgbWFrZTogKioqIFtzcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIub10gRXJyb3IgMQotQVJNX0lOU1RSVUNUSU9OX1NFVCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbi8wMDAxLWJ1aWxkLWRvbi10LWxvb2stZm9yLUljb252LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbi8wMDAxLWJ1aWxkLWRvbi10LWxvb2stZm9yLUljb252LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NmRjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZG94eWdlbi9kb3h5Z2VuLzAwMDEtYnVpbGQtZG9uLXQtbG9vay1mb3ItSWNvbnYucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyNDY1MGIwYzdkYjZiMjEzYTJlYWE1MDYxYjc1YjlmMWI0M2YxY2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmFydG9zeiBHb2xhc3pld3NraSA8YnJnbEBiZ2Rldi5wbD4KK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTE6NDQ6NTYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYnVpbGQ6IGRvbid0IGxvb2sgZm9yIEljb252CisKK0Ryb3AgdGhlIGZpbmRfcGFja2FnZSgpIGZvciBJY29udi4gQ01ha2UgaXMgdW5hYmxlIHRvIGZpbmQgaWNvbnYuaCBpbgorbmF0aXZlIGJ1aWxkIGJ1dCBhbGwgbW9kZXJuIHN5c3RlbXMgc3VwcGx5IGl0IGFzIHBhcnQgb2YgdGhlIHN0YW5kYXJkCitDIGxpYnJhcnkuIFdlIGRvbid0IG5lZWQgdGhpcyBjaGVjayBpbiBtZXRhLW9wZW5lbWJlZGRlZC4KKworU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YnJnbEBiZ2Rldi5wbD4KKworVXBzdHJlYW0tc3RhdHVzOiBJbmFwcHJvcHJpYXRlCistIHVwc3RyZWFtIGRveHlnZW4gbXVzdCBidWlsZCBvbiBtYW55IGFyY2hpdGVjdHVyZXMsIHRoaXMgY2hhbmdlIGlzCisgIHRvbyBpbnRydXNpdmUgZm9yIHVwc3RyZWFtCistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDQgLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNDVjMmYyYzEuLjIyY2YwMTQ0IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtOTIsMTAgKzkyLDYgQEAgaWYgKHNxbGl0ZTMpCisgICBlbmRpZigpCisgZW5kaWYoKQorIAorLWZpbmRfcGFja2FnZShJY29udiBSRVFVSVJFRCkKKy1pbmNsdWRlX2RpcmVjdG9yaWVzKCR7SUNPTlZfSU5DTFVERV9ESVJ9KQorLQorLQorICNzZXQoRE9YWURPQ1MgJHtDTUFLRV9TT1VSQ0VfRElSfS9kb2MgQ0FDSEUgSU5URVJOQUwgIlBhdGggdG8gZG94eWdlbiBkb2NzIikKKyBzZXQoRE9YWURPQ1MgJHtQUk9KRUNUX0JJTkFSWV9ESVJ9L2RvYykKKyBzZXQoRU5We0RPWFlHRU5fRE9DRElSfSAke0RPWFlET0NTfSkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW5fMS44LjE1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2RveHlnZW4vZG94eWdlbl8xLjguMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg0Njg0NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9kb3h5Z2VuL2RveHlnZW5fMS44LjE1LmJiCkBAIC0wLDAgKzEsMTYgQEAKK0RFU0NSSVBUSU9OID0gIkRveHlnZW4gaXMgdGhlIGRlIGZhY3RvIHN0YW5kYXJkIHRvb2wgZm9yIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbiBmcm9tIGFubm90YXRlZCBDKysgc291cmNlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmRveHlnZW4ub3JnLyIKKworTElDRU5TRSA9ICJHUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK2luaGVyaXQgY21ha2UgcHl0aG9uM25hdGl2ZQorCitERVBFTkRTID0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlB9LnNyYy50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC1kb24tdC1sb29rLWZvci1JY29udi5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYzk4YzczZWJhMzkyZDMzNGY1YmJhZjE1ZTA5YmFlMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZDljMGVjNDYyYjZhOWI1YjQxZWRlOTdiZWRlNTQ1OGUwZDdiYjQwZDRjZmEyN2Y2ZjYyMmViMzNjNTkyNDVkIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWNvcnJlY3QtdmVyc2lvbi1mb3Itc28tbGliLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtY29ycmVjdC12ZXJzaW9uLWZvci1zby1saWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YTQyZjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtY29ycmVjdC12ZXJzaW9uLWZvci1zby1saWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIDhiNDRkYzY1ZDk4ZDUwYjQ2Mjg0M2FjOWRhYjZmZTNmYzI1YWJlMzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+Ci1EYXRlOiBGcmksIDEyIE1heSAyMDE3IDEzOjU0OjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvcnJlY3QgdmVyc2lvbiBmb3Igc28gbGliCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0KLSBDTWFrZUxpc3RzLnR4dCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMzY3MGFmZS4uZjRmY2QyYyAxMDA2NDQKLS0tLSBhL0NNYWtlTGlzdHMudHh0Ci0rKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTE3Miw2ICsxNzIsNyBAQCBlbmRpZigpCi0gaWYoRkxBVEJVRkZFUlNfQlVJTERfU0hBUkVETElCKQotICAgYWRkX2xpYnJhcnkoZmxhdGJ1ZmZlcnNfc2hhcmVkIFNIQVJFRCAke0ZsYXRCdWZmZXJzX0xpYnJhcnlfU1JDU30pCi0gICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZmxhdGJ1ZmZlcnNfc2hhcmVkIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgZmxhdGJ1ZmZlcnMpCi0rICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoZmxhdGJ1ZmZlcnNfc2hhcmVkIFBST1BFUlRJRVMgVkVSU0lPTiAiJHtQVn0iKQotIGVuZGlmKCkKLSAKLSBmdW5jdGlvbihjb21waWxlX2ZsYXRidWZmZXJzX3NjaGVtYV90b19jcHAgU1JDX0ZCUykKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtZmxhdGJ1ZmZlcnMtTW92ZS1FbmRpYW5Td2FwLXRlbXBsYXRlLXRvLWZsYXRidWZmZXJzLS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9maWxlcy8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MzZmMDEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDEtZmxhdGJ1ZmZlcnMtTW92ZS1FbmRpYW5Td2FwLXRlbXBsYXRlLXRvLWZsYXRidWZmZXJzLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi1Gcm9tIGE2MTRkOGUyMGZhOWU0ZmQxNmI2OTlkNTgxZGRhYzI5NTZjMTIwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxOSBTZXAgMjAxNyAxMDowNDowMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gZmxhdGJ1ZmZlcnM6IE1vdmUgRW5kaWFuU3dhcCB0ZW1wbGF0ZSB0bwotIGZsYXRidWZmZXJzL2Jhc2UuaAotCi1DbGFuZyBjb21wbGFpbnMKLWNhbGwgdG8gZnVuY3Rpb24gJ0VuZGlhblN3YXAnIHRoYXQgaXMgbmVpdGhlciB2aXNpYmxlIGluIHRoZSB0ZW1wbGF0ZSBkZWZpbml0aW9uIG5vciBmb3VuZCBieSBhcmd1bWVudC1kZXBlbmRlbnQgbG9va3VwCi0gICAgIHJldHVybiBFbmRpYW5Td2FwKHQpOwotCi1UaGlzIHNlZW1zIHRvIGJlIGR1ZSB0byBsaW1pdGF0aW9uIG9mIHR3by1waGFzZSBsb29rdXAgb2YgZGVwZW5kZW50IG5hbWVzIGluIHRlbXBsYXRlIGRlZmluaXRpb25zCi0KLUl0cyBub3QgYmVpbmcgZm91bmQgdXNpbmcgYXNzb2NpYXRlZCBuYW1lc3BhY2VzIHRoZXJlZm9yZQotaXQgaGFzIHRvIGJlIG1hZGUgdmlzaWJsZSBhdCB0aGUgdGVtcGxhdGUgZGVmaW5pdGlvbiBzaXRlIGFzIHdlbGwKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oICAgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnMuaCB8IDMyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLWluZGV4IGYwNTE3NTUuLmM3M2ZiMmQgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotKysrIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmgKLUBAIC0xNTAsNiArMTUwLDM5IEBAIHR5cGVkZWYgdWludG1heF90IGxhcmdlc3Rfc2NhbGFyX3Q7Ci0gLy8gV2Ugc3VwcG9ydCBhbGlnbmluZyB0aGUgY29udGVudHMgb2YgYnVmZmVycyB1cCB0byB0aGlzIHNpemUuCi0gI2RlZmluZSBGTEFUQlVGRkVSU19NQVhfQUxJR05NRU5UIDE2Ci0gCi0rdGVtcGxhdGU8dHlwZW5hbWUgVD4gVCBFbmRpYW5Td2FwKFQgdCkgewotKyAgI2lmIGRlZmluZWQoX01TQ19WRVIpCi0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNiBfYnl0ZXN3YXBfdXNob3J0Ci0rICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAzMiBfYnl0ZXN3YXBfdWxvbmcKLSsgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9ieXRlc3dhcF91aW50NjQKLSsgICNlbHNlCi0rICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4Ci0rICAgICAgLy8gX19idWlsdGluX2Jzd2FwMTYgd2FzIG1pc3NpbmcgcHJpb3IgdG8gR0NDIDQuOC4KLSsgICAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYoeCkgXAotKyAgICAgICAgc3RhdGljX2Nhc3Q8dWludDE2X3Q+KF9fYnVpbHRpbl9ic3dhcDMyKHN0YXRpY19jYXN0PHVpbnQzMl90Pih4KSA8PCAxNikpCi0rICAgICNlbHNlCi0rICAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2IF9fYnVpbHRpbl9ic3dhcDE2Ci0rICAgICNlbmRpZgotKyAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX19idWlsdGluX2Jzd2FwMzIKLSsgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9fYnVpbHRpbl9ic3dhcDY0Ci0rICAjZW5kaWYKLSsgIGlmIChzaXplb2YoVCkgPT0gMSkgeyAgIC8vIENvbXBpbGUtdGltZSBpZi10aGVuJ3MuCi0rICAgIHJldHVybiB0OwotKyAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gMikgewotKyAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2KCpyZWludGVycHJldF9jYXN0PHVpbnQxNl90ICo+KCZ0KSk7Ci0rICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLSsgIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDQpIHsKLSsgICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVAzMigqcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCAqPigmdCkpOwotKyAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0rICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSA4KSB7Ci0rICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQNjQoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QgKj4oJnQpKTsKLSsgICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotKyAgfSBlbHNlIHsKLSsgICAgYXNzZXJ0KDApOwotKyAgfQotK30KLSsKLSsKLSB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIEVuZGlhblNjYWxhcihUIHQpIHsKLSAgICNpZiBGTEFUQlVGRkVSU19MSVRUTEVFTkRJQU4KLSAgICAgcmV0dXJuIHQ7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oIGIvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oCi1pbmRleCA5MjE2Y2Y0Li5mNzQ5ZGNiIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9mbGF0YnVmZmVycy9mbGF0YnVmZmVycy5oCi0rKysgYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2ZsYXRidWZmZXJzLmgKLUBAIC0zNywzOCArMzcsNiBAQCBpbmxpbmUgdm9pZCBFbmRpYW5DaGVjaygpIHsKLSAgICh2b2lkKWVuZGlhbnRlc3Q7Ci0gfQotIAotLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IFQgRW5kaWFuU3dhcChUIHQpIHsKLS0gICNpZiBkZWZpbmVkKF9NU0NfVkVSKQotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMTYgX2J5dGVzd2FwX3VzaG9ydAotLSAgICAjZGVmaW5lIEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIgX2J5dGVzd2FwX3Vsb25nCi0tICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfYnl0ZXN3YXBfdWludDY0Ci0tICAjZWxzZQotLSAgICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgX19HTlVDX18gKiAxMDAgKyBfX0dOVUNfTUlOT1JfXyA8IDQwOAotLSAgICAgIC8vIF9fYnVpbHRpbl9ic3dhcDE2IHdhcyBtaXNzaW5nIHByaW9yIHRvIEdDQyA0LjguCi0tICAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDE2KHgpIFwKLS0gICAgICAgIHN0YXRpY19jYXN0PHVpbnQxNl90PihfX2J1aWx0aW5fYnN3YXAzMihzdGF0aWNfY2FzdDx1aW50MzJfdD4oeCkgPDwgMTYpKQotLSAgICAjZWxzZQotLSAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNiBfX2J1aWx0aW5fYnN3YXAxNgotLSAgICAjZW5kaWYKLS0gICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDMyIF9fYnVpbHRpbl9ic3dhcDMyCi0tICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVA2NCBfX2J1aWx0aW5fYnN3YXA2NAotLSAgI2VuZGlmCi0tICBpZiAoc2l6ZW9mKFQpID09IDEpIHsgICAvLyBDb21waWxlLXRpbWUgaWYtdGhlbidzLgotLSAgICByZXR1cm4gdDsKLS0gIH0gZWxzZSBpZiAoc2l6ZW9mKFQpID09IDIpIHsKLS0gICAgYXV0byByID0gRkxBVEJVRkZFUlNfQllURVNXQVAxNigqcmVpbnRlcnByZXRfY2FzdDx1aW50MTZfdCAqPigmdCkpOwotLSAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8VCAqPigmcik7Ci0tICB9IGVsc2UgaWYgKHNpemVvZihUKSA9PSA0KSB7Ci0tICAgIGF1dG8gciA9IEZMQVRCVUZGRVJTX0JZVEVTV0FQMzIoKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDMyX3QgKj4oJnQpKTsKLS0gICAgcmV0dXJuICpyZWludGVycHJldF9jYXN0PFQgKj4oJnIpOwotLSAgfSBlbHNlIGlmIChzaXplb2YoVCkgPT0gOCkgewotLSAgICBhdXRvIHIgPSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0KCpyZWludGVycHJldF9jYXN0PHVpbnQ2NF90ICo+KCZ0KSk7Ci0tICAgIHJldHVybiAqcmVpbnRlcnByZXRfY2FzdDxUICo+KCZyKTsKLS0gIH0gZWxzZSB7Ci0tICAgIGFzc2VydCgwKTsKLS0gIH0KLS19Ci0tCi0gdGVtcGxhdGU8dHlwZW5hbWUgVD4gRkxBVEJVRkZFUlNfQ09OU1RFWFBSIHNpemVfdCBBbGlnbk9mKCkgewotICAgI2lmZGVmIF9NU0NfVkVSCi0gICAgIHJldHVybiBfX2FsaWdub2YoVCk7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2ZsYXRidWZmZXJzL2ZpbGVzLzAwMDItdXNlLV9fYnVpbHRpbl9ic3dhcDE2LXdoZW4tYnVpbGRpbmctd2l0aC1jbGFuZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYwMTU5Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmlsZXMvMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSA2MjZmZTVlMDQzZGUyNWU5NzBlYmRmMDYxYjg4YzY0NmZhNjg5MTEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTkgU2VwIDIwMTcgMTA6MDk6MzEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHVzZSBfX2J1aWx0aW5fYnN3YXAxNiB3aGVuIGJ1aWxkaW5nIHdpdGggY2xhbmcKLQotY2xhbmcgcHJldGVuZHMgdG8gYmUgZ2NjIDQuMi4wIGFuZCB0aGVyZWZvcmUgdGhlIGNvZGUgZG9lcwotbm90IHVzZSBfX2J1aWx0aW5fYnN3YXAxNiBidXQgdHJpZXMgdG8gc3ludGhlc2l6ZSBpdAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotIGluY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9mbGF0YnVmZmVycy9iYXNlLmggYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotaW5kZXggYzczZmIyZC4uMTNlOGZhYyAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvZmxhdGJ1ZmZlcnMvYmFzZS5oCi0rKysgYi9pbmNsdWRlL2ZsYXRidWZmZXJzL2Jhc2UuaAotQEAgLTE1Niw3ICsxNTYsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBUIEVuZGlhblN3YXAoVCB0KSB7Ci0gICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAzMiBfYnl0ZXN3YXBfdWxvbmcKLSAgICAgI2RlZmluZSBGTEFUQlVGRkVSU19CWVRFU1dBUDY0IF9ieXRlc3dhcF91aW50NjQKLSAgICNlbHNlCi0tICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4Ci0rICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiBfX0dOVUNfXyAqIDEwMCArIF9fR05VQ19NSU5PUl9fIDwgNDA4ICYmICFkZWZpbmVkKF9fY2xhbmdfXykKLSAgICAgICAvLyBfX2J1aWx0aW5fYnN3YXAxNiB3YXMgbWlzc2luZyBwcmlvciB0byBHQ0MgNC44LgotICAgICAgICNkZWZpbmUgRkxBVEJVRkZFUlNfQllURVNXQVAxNih4KSBcCi0gICAgICAgICBzdGF0aWNfY2FzdDx1aW50MTZfdD4oX19idWlsdGluX2Jzd2FwMzIoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHgpIDw8IDE2KSkKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjEwLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS4xMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1MmUxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS4xMC4wLmJiCkBAIC0wLDAgKzEsMzQgQEAKK1NVTU1BUlkgPSAiTWVtb3J5IEVmZmljaWVudCBTZXJpYWxpemF0aW9uIExpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZsYXRidWZmZXJzIgorU0VDVElPTiA9ICJjb25zb2xlL3Rvb2xzIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorCitQQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1jb21waWxlciIKKworUkRFUEVORFNfJHtQTn0tY29tcGlsZXIgPSAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWNvbXBpbGVyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9YTg3M2M1NjQ1YzE4NGQ1MWUwZjliMzRlMWQ3Y2Y1NTkiCisKK1NSQ1JFViA9ICJjMDY5OGNjMzNmMWU1MzRiYjU5YzQ1NTkwOWI4OGNjMjcyNjA4OWFmIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ29vZ2xlL2ZsYXRidWZmZXJzLmdpdCIKKworIyBNYWtlIHN1cmUgQysrMTEgaXMgdXNlZCwgcmVxdWlyZWQgZm9yIGV4YW1wbGUgZm9yIEdDQyA0LjkKK0NYWEZMQUdTICs9ICItc3RkPWMrKzExIgorQlVJTERfQ1hYRkxBR1MgKz0gIi1zdGQ9YysrMTEiCisKKyMgQlVJTERfVFlQRT1SZWxlYXNlIGlzIHJlcXVpcmVkLCBvdGhlcndpc2UgZmxhdGMgaXMgbm90IGluc3RhbGxlZAorRVhUUkFfT0VDTUFLRSArPSAiXAorICAgIC1EQ01BS0VfQlVJTERfVFlQRT1SZWxlYXNlIFwKKyAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1RFU1RTPU9GRiBcICAgIAorICAgIC1ERkxBVEJVRkZFUlNfQlVJTERfU0hBUkVETElCPU9OIFwKKyIKKworaW5oZXJpdCBjbWFrZQorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitGSUxFU18ke1BOfS1jb21waWxlciA9ICIke2JpbmRpcn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9mbGF0YnVmZmVycy9mbGF0YnVmZmVyc18xLjkuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYThkZjQ0NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZmxhdGJ1ZmZlcnMvZmxhdGJ1ZmZlcnNfMS45LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1TVU1NQVJZID0gIk1lbW9yeSBFZmZpY2llbnQgU2VyaWFsaXphdGlvbiBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycyIKLVNFQ1RJT04gPSAiY29uc29sZS90b29scyIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLQotUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tY29tcGlsZXIiCi0KLVJERVBFTkRTXyR7UE59LWNvbXBpbGVyID0gIiR7UE59IgotUkRFUEVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1jb21waWxlciIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWE4NzNjNTY0NWMxODRkNTFlMGY5YjM0ZTFkN2NmNTU5IgotCi1TUkNSRVYgPSAiMjVhMTU5NTBmNWEyNGQ3MjE3Njg5NzM5ZWQ4ZjZkYWM2NDkxMmQ2MiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9mbGF0YnVmZmVycy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb3JyZWN0LXZlcnNpb24tZm9yLXNvLWxpYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZsYXRidWZmZXJzLU1vdmUtRW5kaWFuU3dhcC10ZW1wbGF0ZS10by1mbGF0YnVmZmVycy0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtX19idWlsdGluX2Jzd2FwMTYtd2hlbi1idWlsZGluZy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi0jIE1ha2Ugc3VyZSBDKysxMSBpcyB1c2VkLCByZXF1aXJlZCBmb3IgZXhhbXBsZSBmb3IgR0NDIDQuOQotQ1hYRkxBR1MgKz0gIi1zdGQ9YysrMTEiCi1CVUlMRF9DWFhGTEFHUyArPSAiLXN0ZD1jKysxMSIKLQotRVhUUkFfT0VDTUFLRSArPSAiXAotICAgIC1ERkxBVEJVRkZFUlNfQlVJTERfVEVTVFM9T0ZGIFwKLSAgICAtREZMQVRCVUZGRVJTX0JVSUxEX1NIQVJFRExJQj1PTiBcCi0gICAgLURQVj0ke1BWfSBcCi0iCi0KLWluaGVyaXQgY21ha2UKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRklMRVNfJHtQTn0tY29tcGlsZXIgPSAiJHtiaW5kaXJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2lucy8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2lucy8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAzMGYzNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zLzAwMDEtVXNlLXBrZy1jb25maWctdG8tZmluZC1ncGdtZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDBjMjRmOTljYTRkNGY2NGVhODU4NDM0N2NhNmFlMGQ2MzhkNjI1YTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBGZWIgMjAxOSAxNjoxMzoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBVc2UgcGtnLWNvbmZpZyB0byBmaW5kIGdwZ21lCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+CistLS0KKyBidWlsZC9idW5kbGVkL2dwZ21lLm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvYnVuZGxlZC9ncGdtZS5tNCBiL2J1aWxkL2J1bmRsZWQvZ3BnbWUubTQKK2luZGV4IDQ0YmY0M2MuLmM5YThhZTYgMTAwNjQ0CistLS0gYS9idWlsZC9idW5kbGVkL2dwZ21lLm00CisrKysgYi9idWlsZC9idW5kbGVkL2dwZ21lLm00CitAQCAtMTgsNyArMTgsNyBAQCBBQ19ERUZVTihbX0FNX1BBVEhfR1BHTUVfQ09ORklHXSwKKyAgIGlmIHRlc3QgIngkZ3BnbWVfY29uZmlnX3ByZWZpeCIgIT0geCA7IHRoZW4KKyAgICAgICBHUEdNRV9DT05GSUc9IiRncGdtZV9jb25maWdfcHJlZml4L2Jpbi9ncGdtZS1jb25maWciCisgICBmaQorLSAgQUNfUEFUSF9QUk9HKEdQR01FX0NPTkZJRywgZ3BnbWUtY29uZmlnLCBubykKKysgIEdQR01FX0NPTkZJRz0icGtnLWNvbmZpZyBncGdtZSIKKyAKKyAgIGlmIHRlc3QgIiRHUEdNRV9DT05GSUciICE9ICJubyIgOyB0aGVuCisgICAgIGdwZ21lX3ZlcnNpb249YCRHUEdNRV9DT05GSUcgLS12ZXJzaW9uYAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueS1wbHVnaW5zXzEuMzEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ZjJmODkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI3MSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKLUhPTUVQQUdFID0gImh0dHA6Ly9wbHVnaW5zLmdlYW55Lm9yZy8iCi0KLUxJQ0VOU0VfREVGQVVMVCA9ICJHUEx2MiIKLUxJQ0VOU0UgPSAiJHtMSUNFTlNFX0RFRkFVTFR9ICYgQlNELTItQ2xhdXNlICYgR1BMdjMiCi0KLXB5dGhvbiAoKSB7Ci0gICAgZm9yIHBsdWdpbiBpbiBkLmdldFZhcignUExVR0lOUycpLnNwbGl0KCk6Ci0gICAgICAgIGlmICdMSUNFTlNFXyVzJyAlIHBsdWdpbiBub3QgaW4gZDoKLSAgICAgICAgICAgIGQuc2V0VmFyKCdMSUNFTlNFXycgKyBwbHVnaW4sICcke0xJQ0VOU0VfREVGQVVMVH0nKQotfQotCi1ERVBFTkRTID0gIiBcCi0gICAgZnJpYmlkaSBcCi0gICAgZ2VhbnkgXAotICAgIGxpYnhtbDIgXAotICAgIGxpYnNvdXAtMi40IFwKLSAgICBlbmNoYW50IFwKLSAgICBpbnRsdG9vbC1uYXRpdmUgXAotICAgIGxpYmFzc3VhbiBcCi0gICAgZ3BnbWUgXAotICAgIHZ0ZTkgXAotICAgIGxpYmdpdDIgXAotIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1pY29uLWNhY2hlCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3BsdWdpbnMuZ2Vhbnkub3JnLyR7UE59LyR7UE59LSR7UFZ9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiODA4ZjkwNDhiNzdmZDk3MDQ1NjllZDJiYTEyYTU2ZTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzZiZDllODAzZGI1YTYyNmI4NjY2OWYwODMzMGNmOTViOGNjMzUwNTdhMWNkZjY1NzU5YmMwMGFlZjEyMGUyNSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgcm0gLWYgJHtTfS9idWlsZC9jYWNoZS9nbGliLWdldHRleHQubTQKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nZWFueS8qLmxhICR7bGliZGlyfS8ke1BOfS8qLyoubGEiCi0KLVBMVUdJTlMgKz0gIiR7UE59LWFkZG9ucyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hZGRvbnMvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1hZGRvbnMgPSAiJHtsaWJkaXJ9L2dlYW55L2FkZG9ucy5zbyIKLVJERVBFTkRTXyR7UE59LWFkZG9ucyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tYXV0b2Nsb3NlIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2F1dG9jbG9zZS9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWF1dG9jbG9zZSA9ICIke2xpYmRpcn0vZ2VhbnkvYXV0b2Nsb3NlLnNvIgotUkRFUEVORFNfJHtQTn0tYXV0b2Nsb3NlID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1hdXRvbWFyayIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hdXRvbWFyay9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWF1dG9tYXJrID0gIiR7bGliZGlyfS9nZWFueS9hdXRvbWFyay5zbyIKLVJERVBFTkRTXyR7UE59LWF1dG9tYXJrID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1jb2RlbmF2IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2NvZGVuYXYvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1jb2RlbmF2ID0gIiR7bGliZGlyfS9nZWFueS9jb2RlbmF2LnNvIgotUkRFUEVORFNfJHtQTn0tY29kZW5hdiA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tY29tbWFuZGVyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2NvbW1hbmRlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUxJQ0VOU0VfJHtQTn0tY29tbWFuZGVyID0gIkdQTHYzIgotRklMRVNfJHtQTn0tY29tbWFuZGVyID0gIiR7bGliZGlyfS9nZWFueS9jb21tYW5kZXIuc28iCi1SREVQRU5EU18ke1BOfS1jb21tYW5kZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWRlYnVnZ2VyIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlYnVnZ2VyL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tZGVidWdnZXIgPSAiJHtsaWJkaXJ9L2dlYW55L2RlYnVnZ2VyLnNvICR7ZGF0YWRpcn0vJHtQTn0vZGVidWdnZXIiCi1SREVQRU5EU18ke1BOfS1kZWJ1Z2dlciA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZGVmaW5lZm9ybWF0IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlZmluZWZvcm1hdC9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LWRlZmluZWZvcm1hdCA9ICIke2xpYmRpcn0vZ2VhbnkvZGVmaW5lZm9ybWF0LnNvIgotUkRFUEVORFNfJHtQTn0tZGVmaW5lZm9ybWF0ID0gIiR7UE59IgotCi0jIG5vIGdub21lIGRldmhlbHAgaW4gc29tZSBjb21tb24gbGF5ZXIKLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRldmhlbHAiCi0jUExVR0lOUyArPSAiJHtQTn0tZGV2aGVscCIKLSNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZGV2aGVscC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLSNMSUNFTlNFXyR7UE59LWRldmhlbHAgPSAiR1BMdjMiCi0jRklMRVNfJHtQTn0tZGV2aGVscCA9ICIke2xpYmRpcn0vZ2VhbnkvZGV2aGVscC5zbyIKLSNSREVQRU5EU18ke1BOfS1kZXZoZWxwID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWN0YWdzIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55Y3RhZ3MvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWN0YWdzID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWN0YWdzLnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnljdGFncyA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnlkb2MiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2Vhbnlkb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1MSUNFTlNFXyR7UE59LWdlYW55ZG9jID0gIkdQTHYzIgotRklMRVNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZG9jLnNvIgotUkRFUEVORFNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55ZXh0cmFzZWwiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlleHRyYXNlbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55ZXh0cmFzZWwgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZXh0cmFzZWwuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueWV4dHJhc2VsID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWluc2VydG51bSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWluc2VydG51bS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWluc2VydG51bS5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueWxhdGV4IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55bGF0ZXgvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1nZWFueWxhdGV4ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWxhdGV4LnNvIgotUkRFUEVORFNfJHtQTn0tZ2VhbnlsYXRleCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlsaXBzdW0iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGlwc3VtL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0tZ2VhbnlsaXBzdW0gPSAiJHtsaWJkaXJ9L2dlYW55L2xpcHN1bS5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bGlwc3VtID0gIiR7UE59IgotCi0jIG5vIGx1YTogbWF4IHN1cHBvcnRlZCB2ZXJzaW9uIGlzIDUuMgotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VhbnlsdWEiCi0jUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlsdWEiCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55bHVhL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotI0ZJTEVTXyR7UE59LWdlYW55bHVhID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWx1YS5zbyAke2xpYmRpcn0vJHtQTn0vZ2VhbnlsdWEvKi5zbyIKLSNSREVQRU5EU18ke1BOfS1nZWFueWx1YSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnltYWNybyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1hY3JvL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnltYWNybyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnltYWNyby5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bWFjcm8gPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55bWluaXNjcmlwdCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1pbmlzY3JpcHQvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1nZWFueW1pbmlzY3JpcHQgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWluaXNjcmlwdC5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bWluaXNjcmlwdCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW51bWJlcmVkYm9va21hcmtzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnludW1iZXJlZGJvb2ttYXJrcy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55bnVtYmVyZWRib29rbWFya3MgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlYW55cGciCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwZy9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLUZJTEVTXyR7UE59LWdlYW55cGcgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cGcuc28iCi1SREVQRU5EU18ke1BOfS1nZWFueXBnID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1nZWFueXByaiIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXByai9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUxJQ0VOU0VfJHtQTn0tZ2VhbnlwcmogPSAiR1BMdjMiCi1GSUxFU18ke1BOfS1nZWFueXByaiA9ICIke2xpYmRpcn0vZ2VhbnkvZ2Vhbnlwcmouc28iCi1SREVQRU5EU18ke1BOfS1nZWFueXByaiA9ICIke1BOfSIKLQotIyBubyBnbm9tZSBweWd0awotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VhbnlweSIKLSNQTFVHSU5TICs9ICIke1BOfS1nZWFueXB5IgotI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXB5L0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotI0ZJTEVTXyR7UE59LWdlYW55cHkgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cHkuc28iCi0jUkRFUEVORFNfJHtQTn0tZ2VhbnlweSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnl2YyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXZjL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgotRklMRVNfJHtQTn0tZ2Vhbnl2YyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2Vhbnl2Yy5zbyIKLVJERVBFTkRTXyR7UE59LWdlYW55dmMgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWdlbml1c3Bhc3RlIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlbml1c3Bhc3RlL0NPUFlJTkc7bWQ1PWJmYzIwMzI2OWY4ODYyZWJmYzExOThjZGM4MDlhOTVhIgotRklMRVNfJHtQTn0tZ2VuaXVzcGFzdGUgPSAiJHtsaWJkaXJ9L2dlYW55L2dlbml1c3Bhc3RlLnNvICR7ZGF0YWRpcn0vJHtQTn0vZ2VuaXVzcGFzdGUiCi1SREVQRU5EU18ke1BOfS1nZW5pdXNwYXN0ZSA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tZ2l0LWNoYW5nZWJhciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9naXQtY2hhbmdlYmFyL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotTElDRU5TRV8ke1BOfS1naXQtY2hhbmdlYmFyID0gIkdQTHYzIgotRklMRVNfJHtQTn0tZ2l0LWNoYW5nZWJhciA9ICIke2xpYmRpcn0vZ2VhbnkvZ2l0LWNoYW5nZWJhci5zbyIKLVJERVBFTkRTXyR7UE59LWdpdC1jaGFuZ2ViYXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LWtleXJlY29yZCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9rZXlyZWNvcmQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi1GSUxFU18ke1BOfS1rZXlyZWNvcmQgPSAiJHtsaWJkaXJ9L2dlYW55L2tleXJlY29yZC5zbyIKLVJERVBFTkRTXyR7UE59LWtleXJlY29yZCA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tbGluZW9wZXJhdGlvbnMiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGluZW9wZXJhdGlvbnMvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCi1GSUxFU18ke1BOfS1saW5lb3BlcmF0aW9ucyA9ICIke2xpYmRpcn0vZ2VhbnkvbGluZW9wZXJhdGlvbnMuc28iCi1SREVQRU5EU18ke1BOfS1saW5lb3BlcmF0aW9ucyA9ICIke1BOfSIKLQotIyBubyBtYXJrZG93biAtIGF2b2lkIGZsb2F0aW5nIGRlcGVuZGVuY2llcwotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXBlZy1tYXJrZG93biIKLSNQTFVHSU5TICs9ICIke1BOfS1tYXJrZG93biIKLSNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbWFya2Rvd24vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0jRklMRVNfJHtQTn0tbWFya2Rvd24gPSAiJHtsaWJkaXJ9L2dlYW55L21hcmtkb3duLnNvIgotI1JERVBFTkRTXyR7UE59LW1hcmtkb3duID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1tdWx0aXRlcm0iCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbXVsdGl0ZXJtL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotRklMRVNfJHtQTn0tbXVsdGl0ZXJtID0gIiR7bGliZGlyfS9nZWFueS9tdWx0aXRlcm0uc28iCi1SREVQRU5EU18ke1BOfS1tdWx0aXRlcm0gPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LW92ZXJ2aWV3IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL292ZXJ2aWV3L292ZXJ2aWV3L292ZXJ2aWV3cGx1Z2luLmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMDttZDU9MWFhMzM1MjI5MTZjZGViNDZjY2NhYzBjNjI5ZGEwZDAiCi1GSUxFU18ke1BOfS1vdmVydmlldyA9ICIke2xpYmRpcn0vZ2Vhbnkvb3ZlcnZpZXcuc28gJHtkYXRhZGlyfS8ke1BOfS9vdmVydmlldyIKLVJERVBFTkRTXyR7UE59LW92ZXJ2aWV3ID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIiCi1MSUNFTlNFXyR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcGFpcnRhZ2hpZ2hsaWdodGVyL0NPUFlJTkc7bWQ1PWQ2ZDkyNzUyNWE2MTJiM2E4ZGJlYmM0YjJlOWI0N2MxIgotRklMRVNfJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyID0gIiR7bGliZGlyfS9nZWFueS9wYWlydGFnaGlnaGxpZ2h0ZXIuc28iCi1SREVQRU5EU18ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXBvaGVscGVyIgotTElDRU5TRV8ke1BOfS1wb2hlbHBlciA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wb2hlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLUZJTEVTXyR7UE59LXBvaGVscGVyID0gIiR7bGliZGlyfS9nZWFueS9wb2hlbHBlci5zbyIKLVJERVBFTkRTXyR7UE59LXBvaGVscGVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1wcmV0dHktcHJpbnRlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9wcmV0dHktcHJpbnRlci9zcmMvUHJldHR5UHJpbnRlci5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PTE2NjUxMTVjMmZhZGIxN2MxYjUzY2RiNGU0M2IyNDQwIgotRklMRVNfJHtQTn0tcHJldHR5LXByaW50ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3ByZXR0eS1wcmludGVyLnNvIgotUkRFUEVORFNfJHtQTn0tcHJldHR5LXByaW50ZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXByb2plY3Rvcmdhbml6ZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcHJvamVjdG9yZ2FuaXplci9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXByb2plY3Rvcmdhbml6ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3Byb2plY3Rvcmdhbml6ZXIuc28iCi1SREVQRU5EU18ke1BOfS1wcm9qZWN0b3JnYW5pemVyID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zY29wZSIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zY29wZS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXNjb3BlID0gIiR7bGliZGlyfS9nZWFueS9zY29wZS5zbyIKLVJERVBFTkRTXyR7UE59LXNjb3BlID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zZW5kbWFpbCIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zZW5kbWFpbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKLUZJTEVTXyR7UE59LXNlbmRtYWlsID0gIiR7bGliZGlyfS9nZWFueS9zZW5kbWFpbC5zbyIKLVJERVBFTkRTXyR7UE59LXNlbmRtYWlsID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zaGlmdGNvbHVtbiIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zaGlmdGNvbHVtbi9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLUZJTEVTXyR7UE59LXNoaWZ0Y29sdW1uID0gIiR7bGliZGlyfS9nZWFueS9zaGlmdGNvbHVtbi5zbyIKLVJERVBFTkRTXyR7UE59LXNoaWZ0Y29sdW1uID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS1zcGVsbGNoZWNrIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3NwZWxsY2hlY2svQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCi1GSUxFU18ke1BOfS1zcGVsbGNoZWNrID0gIiR7bGliZGlyfS9nZWFueS9zcGVsbGNoZWNrLnNvIgotUkRFUEVORFNfJHtQTn0tc3BlbGxjaGVjayA9ICIke1BOfSIKLQotUExVR0lOUyArPSAiJHtQTn0tdGFibGVjb252ZXJ0IgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3RhYmxlY29udmVydC9DT1BZSU5HO21kNT02NzUzNjg2ODc4ZDA5MGExZjNmOTQ0NTY2MWQzZGZiYyIKLUZJTEVTXyR7UE59LXRhYmxlY29udmVydCA9ICIke2xpYmRpcn0vZ2VhbnkvdGFibGVjb252ZXJ0LnNvIgotUkRFUEVORFNfJHtQTn0tdGFibGVjb252ZXJ0ID0gIiR7UE59IgotCi1QTFVHSU5TICs9ICIke1BOfS10cmVlYnJvd3NlciIKLUxJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly90cmVlYnJvd3Nlci9SRUFETUU7YmVnaW5saW5lPTY3O2VuZGxpbmU9Njc7bWQ1PTUyZjkwODU3ZmQxYTk2NzIxMTFlNDcyZGQwNTZhMGQ4IgotRklMRVNfJHtQTn0tdHJlZWJyb3dzZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3RyZWVicm93c2VyLnNvIgotUkRFUEVORFNfJHtQTn0tdHJlZWJyb3dzZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXVwZGF0ZWNoZWNrZXIiCi1MSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdXBkYXRlY2hlY2tlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLUZJTEVTXyR7UE59LXVwZGF0ZWNoZWNrZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3VwZGF0ZWNoZWNrZXIuc28iCi1SREVQRU5EU18ke1BOfS11cGRhdGVjaGVja2VyID0gIiR7UE59IgotCi0jIG5vIHdlYmtpdCAtIGxhc3RzIGFnZXMgYW5kIGlzIG5vdCBwcm9wZXJseSBkZXRlY3RlZAotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXdlYmhlbHBlciIKLSNQTFVHSU5TICs9ICIke1BOfS13ZWJoZWxwZXIiCi0jTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dlYmhlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLSNMSUNFTlNFXyR7UE59LXdlYmhlbHBlciA9ICJHUEx2MyIKLSNGSUxFU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3dlYmhlbHBlci5zbyIKLSNSREVQRU5EU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtQTn0iCi0KLVBMVUdJTlMgKz0gIiR7UE59LXhtbHNuaXBwZXRzIgotTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3htbHNuaXBwZXRzL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotRklMRVNfJHtQTn0teG1sc25pcHBldHMgPSAiJHtsaWJkaXJ9L2dlYW55L3htbHNuaXBwZXRzLnNvIgotUkRFUEVORFNfJHtQTn0teG1sc25pcHBldHMgPSAiJHtQTn0iCi0KLVBBQ0tBR0VTID0rICIke1BMVUdJTlN9IgotUkRFUEVORFNfJHtQTn0gPSAiJHtQTFVHSU5TfSIKLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnktcGx1Z2luc18xLjM0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzFjMTUzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55LXBsdWdpbnNfMS4zNC5iYgpAQCAtMCwwICsxLDI0NiBAQAorREVTQ1JJUFRJT04gPSAiQSBmYXN0IGFuZCBsaWdodHdlaWdodCBJREUiCitIT01FUEFHRSA9ICJodHRwOi8vcGx1Z2lucy5nZWFueS5vcmcvIgorCitMSUNFTlNFX0RFRkFVTFQgPSAiR1BMdjIiCitMSUNFTlNFID0gIiR7TElDRU5TRV9ERUZBVUxUfSAmIEJTRC0yLUNsYXVzZSAmIEdQTHYzIgorCitweXRob24gKCkgeworICAgIGZvciBwbHVnaW4gaW4gZC5nZXRWYXIoJ1BMVUdJTlMnKS5zcGxpdCgpOgorICAgICAgICBpZiAnTElDRU5TRV8lcycgJSBwbHVnaW4gbm90IGluIGQ6CisgICAgICAgICAgICBkLnNldFZhcignTElDRU5TRV8nICsgcGx1Z2luLCAnJHtMSUNFTlNFX0RFRkFVTFR9JykKK30KKworREVQRU5EUyA9ICIgXAorICAgIHZhbGEtbmF0aXZlIFwKKyAgICBmcmliaWRpIFwKKyAgICBnZWFueSBcCisgICAgbGlieG1sMiBcCisgICAgbGlic291cC0yLjQgXAorICAgIGVuY2hhbnQgXAorICAgIGludGx0b29sLW5hdGl2ZSBcCisgICAgbGliYXNzdWFuIFwKKyAgICBncGdtZSBcCisgICAgdnRlIFwKKyAgICBsaWJnaXQyIFwKKyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstaWNvbi1jYWNoZQorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL3BsdWdpbnMuZ2Vhbnkub3JnLyR7UE59LyR7UE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZ3BnbWUucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImJmNWZkZDUwNzI3YWQ4YmJiZmUwMDAyN2NjZjJkYWM1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NDQxN2M2ODE2MzZlODJhNjNjZjZmOTkwMWI1YjdmMzg4OTE2OGY3ZDliNWJhOWI0NTYwMTc2N2E1ODljM2IiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHJtIC1mICR7U30vYnVpbGQvY2FjaGUvZ2xpYi1nZXR0ZXh0Lm00Cit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2VhbnkvKi5sYSAke2xpYmRpcn0vJHtQTn0vKi8qLmxhIgorCitQTFVHSU5TICs9ICIke1BOfS1hZGRvbnMiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYWRkb25zL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tYWRkb25zID0gIiR7bGliZGlyfS9nZWFueS9hZGRvbnMuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWF1dG9jbG9zZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9hdXRvY2xvc2UvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1hdXRvY2xvc2UgPSAiJHtsaWJkaXJ9L2dlYW55L2F1dG9jbG9zZS5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tYXV0b21hcmsiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vYXV0b21hcmsvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1hdXRvbWFyayA9ICIke2xpYmRpcn0vZ2VhbnkvYXV0b21hcmsuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWNvZGVuYXYiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vY29kZW5hdi9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0ZJTEVTXyR7UE59LWNvZGVuYXYgPSAiJHtsaWJkaXJ9L2dlYW55L2NvZGVuYXYuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWNvbW1hbmRlciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9jb21tYW5kZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWNvbW1hbmRlciA9ICJHUEx2MyIKK0ZJTEVTXyR7UE59LWNvbW1hbmRlciA9ICIke2xpYmRpcn0vZ2VhbnkvY29tbWFuZGVyLnNvIgorCisjIHwgY2hlY2tpbmcgd2hldGhlciB0aGUgR1RLIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aCBwbHVnaW4gRGVidWdnZXIuLi4gbm8KK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRlYnVnZ2VyIgorI1BMVUdJTlMgKz0gIiR7UE59LWRlYnVnZ2VyIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9kZWJ1Z2dlci9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKyNGSUxFU18ke1BOfS1kZWJ1Z2dlciA9ICIke2xpYmRpcn0vZ2VhbnkvZGVidWdnZXIuc28gJHtkYXRhZGlyfS8ke1BOfS9kZWJ1Z2dlciIKKworUExVR0lOUyArPSAiJHtQTn0tZGVmaW5lZm9ybWF0IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2RlZmluZWZvcm1hdC9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0ZJTEVTXyR7UE59LWRlZmluZWZvcm1hdCA9ICIke2xpYmRpcn0vZ2VhbnkvZGVmaW5lZm9ybWF0LnNvIgorCisjIG5vIGdub21lIGRldmhlbHAgaW4gc29tZSBjb21tb24gbGF5ZXIKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWRldmhlbHAiCisjUExVR0lOUyArPSAiJHtQTn0tZGV2aGVscCIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZGV2aGVscC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKyNMSUNFTlNFXyR7UE59LWRldmhlbHAgPSAiR1BMdjMiCisjRklMRVNfJHtQTn0tZGV2aGVscCA9ICIke2xpYmRpcn0vZ2VhbnkvZGV2aGVscC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnljdGFncyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWN0YWdzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2VhbnljdGFncyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnljdGFncy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2Vhbnlkb2MiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2Vhbnlkb2MvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdlYW55ZG9jID0gIkdQTHYzIgorRklMRVNfJHtQTn0tZ2Vhbnlkb2MgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55ZG9jLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueWV4dHJhc2VsIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55ZXh0cmFzZWwvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueWV4dHJhc2VsID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWV4dHJhc2VsLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueWluc2VydG51bSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWluc2VydG51bS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55aW5zZXJ0bnVtID0gIiR7bGliZGlyfS9nZWFueS9nZWFueWluc2VydG51bS5zbyIKKworIyBubyBsdWE6IG1heCBzdXBwb3J0ZWQgdmVyc2lvbiBpcyA1LjIKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdlYW55bHVhIgorI1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bHVhIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueWx1YS9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKyNGSUxFU18ke1BOfS1nZWFueWx1YSA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlsdWEuc28gJHtsaWJkaXJ9LyR7UE59L2dlYW55bHVhLyouc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bWFjcm8iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnltYWNyby9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LWdlYW55bWFjcm8gPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWFjcm8uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWdlYW55bWluaXNjcmlwdCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW1pbmlzY3JpcHQvQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitGSUxFU18ke1BOfS1nZWFueW1pbmlzY3JpcHQgPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55bWluaXNjcmlwdC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueW51bWJlcmVkYm9va21hcmtzL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tZ2VhbnludW1iZXJlZGJvb2ttYXJrcyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnludW1iZXJlZGJvb2ttYXJrcy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlwZyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZWFueXBnL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorRklMRVNfJHtQTn0tZ2VhbnlwZyA9ICIke2xpYmRpcn0vZ2VhbnkvZ2VhbnlwZy5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlwcmoiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlwcmovQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdlYW55cHJqID0gIkdQTHYzIgorRklMRVNfJHtQTn0tZ2VhbnlwcmogPSAiJHtsaWJkaXJ9L2dlYW55L2dlYW55cHJqLnNvIgorCisjUExVR0lOUyArPSAiJHtQTn0tZ2VhbnlweSIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vZ2VhbnlweS9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKyNGSUxFU18ke1BOfS1nZWFueXB5ID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXB5LnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZWFueXZjIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dlYW55dmMvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1nZWFueXZjID0gIiR7bGliZGlyfS9nZWFueS9nZWFueXZjLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1nZW5pdXNwYXN0ZSIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9nZW5pdXNwYXN0ZS9DT1BZSU5HO21kNT1iZmMyMDMyNjlmODg2MmViZmMxMTk4Y2RjODA5YTk1YSIKK0ZJTEVTXyR7UE59LWdlbml1c3Bhc3RlID0gIiR7bGliZGlyfS9nZWFueS9nZW5pdXNwYXN0ZS5zbyAke2RhdGFkaXJ9LyR7UE59L2dlbml1c3Bhc3RlIgorCitQTFVHSU5TICs9ICIke1BOfS1naXQtY2hhbmdlYmFyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2dpdC1jaGFuZ2ViYXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitMSUNFTlNFXyR7UE59LWdpdC1jaGFuZ2ViYXIgPSAiR1BMdjMiCitGSUxFU18ke1BOfS1naXQtY2hhbmdlYmFyID0gIiR7ZGF0YWRpcn0vJHtCUE59L2dpdC1jaGFuZ2ViYXIgJHtsaWJkaXJ9L2dlYW55L2dpdC1jaGFuZ2ViYXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWtleXJlY29yZCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9rZXlyZWNvcmQvQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1rZXlyZWNvcmQgPSAiJHtsaWJkaXJ9L2dlYW55L2tleXJlY29yZC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tbGF0ZXgiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGF0ZXgvQ09QWUlORzttZDU9YzEwN2NmNzU0NTUwZTY1NzU1YzQyOTg1YTVkNGU5YzkiCitGSUxFU18ke1BOfS1sYXRleCA9ICIke2xpYmRpcn0vZ2VhbnkvbGF0ZXguc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LWxpbmVvcGVyYXRpb25zIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL2xpbmVvcGVyYXRpb25zL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tbGluZW9wZXJhdGlvbnMgPSAiJHtsaWJkaXJ9L2dlYW55L2xpbmVvcGVyYXRpb25zLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1saXBzdW0iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbGlwc3VtL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tbGlwc3VtID0gIiR7bGliZGlyfS9nZWFueS9saXBzdW0uc28iCisKKyMgbm8gbWFya2Rvd24gLSBhdm9pZCBmbG9hdGluZyBkZXBlbmRlbmNpZXMKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXBlZy1tYXJrZG93biIKKyNQTFVHSU5TICs9ICIke1BOfS1tYXJrZG93biIKKyNMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vbWFya2Rvd24vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisjRklMRVNfJHtQTn0tbWFya2Rvd24gPSAiJHtsaWJkaXJ9L2dlYW55L21hcmtkb3duLnNvIgorCisjIHwgY2hlY2tpbmcgd2hldGhlciB0aGUgR1RLIHZlcnNpb24gaW4gdXNlIGlzIGNvbXBhdGlibGUgd2l0aCBwbHVnaW4gbXVsdGl0ZXJtLi4uIG5vCitFWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1tdWx0aXRlcm0iCisjUExVR0lOUyArPSAiJHtQTn0tbXVsdGl0ZXJtIgorI0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9tdWx0aXRlcm0vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisjRklMRVNfJHtQTn0tbXVsdGl0ZXJtID0gIiR7bGliZGlyfS9nZWFueS9tdWx0aXRlcm0uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LW92ZXJ2aWV3IgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL292ZXJ2aWV3L292ZXJ2aWV3L292ZXJ2aWV3cGx1Z2luLmM7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMDttZDU9MWFhMzM1MjI5MTZjZGViNDZjY2NhYzBjNjI5ZGEwZDAiCitGSUxFU18ke1BOfS1vdmVydmlldyA9ICIke2xpYmRpcn0vZ2Vhbnkvb3ZlcnZpZXcuc28gJHtkYXRhZGlyfS8ke1BOfS9vdmVydmlldyIKKworUExVR0lOUyArPSAiJHtQTn0tcGFpcnRhZ2hpZ2hsaWdodGVyIgorTElDRU5TRV8ke1BOfS1wYWlydGFnaGlnaGxpZ2h0ZXIgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3BhaXJ0YWdoaWdobGlnaHRlci9DT1BZSU5HO21kNT1kNmQ5Mjc1MjVhNjEyYjNhOGRiZWJjNGIyZTliNDdjMSIKK0ZJTEVTXyR7UE59LXBhaXJ0YWdoaWdobGlnaHRlciA9ICIke2xpYmRpcn0vZ2VhbnkvcGFpcnRhZ2hpZ2hsaWdodGVyLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1wb2hlbHBlciIKK0xJQ0VOU0VfJHtQTn0tcG9oZWxwZXIgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcG9oZWxwZXIvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCitGSUxFU18ke1BOfS1wb2hlbHBlciA9ICIke2RhdGFkaXJ9LyR7QlBOfS9wb2hlbHBlciAke2xpYmRpcn0vZ2VhbnkvcG9oZWxwZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXByZXR0eS1wcmludGVyIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3ByZXR0eS1wcmludGVyL3NyYy9QcmV0dHlQcmludGVyLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xNzttZDU9MTY2NTExNWMyZmFkYjE3YzFiNTNjZGI0ZTQzYjI0NDAiCitGSUxFU18ke1BOfS1wcmV0dHktcHJpbnRlciA9ICIke2xpYmRpcn0vZ2VhbnkvcHJldHR5LXByaW50ZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXByb2plY3Rvcmdhbml6ZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vcHJvamVjdG9yZ2FuaXplci9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXByb2plY3Rvcmdhbml6ZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3Byb2plY3Rvcmdhbml6ZXIuc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXNjb3BlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3Njb3BlL0NPUFlJTkc7bWQ1PWMxMDdjZjc1NDU1MGU2NTc1NWM0Mjk4NWE1ZDRlOWM5IgorRklMRVNfJHtQTn0tc2NvcGUgPSAiJHtkYXRhZGlyfS8ke0JQTn0vc2NvcGUgJHtsaWJkaXJ9L2dlYW55L3Njb3BlLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS1zZW5kbWFpbCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly9zZW5kbWFpbC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXNlbmRtYWlsID0gIiR7bGliZGlyfS9nZWFueS9zZW5kbWFpbC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tc2hpZnRjb2x1bW4iCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc2hpZnRjb2x1bW4vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitGSUxFU18ke1BOfS1zaGlmdGNvbHVtbiA9ICIke2xpYmRpcn0vZ2Vhbnkvc2hpZnRjb2x1bW4uc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXNwZWxsY2hlY2siCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vc3BlbGxjaGVjay9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LXNwZWxsY2hlY2sgPSAiJHtsaWJkaXJ9L2dlYW55L3NwZWxsY2hlY2suc28iCisKK1BMVUdJTlMgKz0gIiR7UE59LXRhYmxlY29udmVydCIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly90YWJsZWNvbnZlcnQvQ09QWUlORzttZDU9Njc1MzY4Njg3OGQwOTBhMWYzZjk0NDU2NjFkM2RmYmMiCitGSUxFU18ke1BOfS10YWJsZWNvbnZlcnQgPSAiJHtsaWJkaXJ9L2dlYW55L3RhYmxlY29udmVydC5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdHJlZWJyb3dzZXIiCitMSUNfRklMRVNfQ0hLU1VNICs9ICJmaWxlOi8vdHJlZWJyb3dzZXIvUkVBRE1FO2JlZ2lubGluZT02NztlbmRsaW5lPTY3O21kNT0xZjE3ZjBmMmFiYjg4ZTBmYTBmMWIzNDIxMTJkODcxYyIKK0ZJTEVTXyR7UE59LXRyZWVicm93c2VyID0gIiR7bGliZGlyfS9nZWFueS90cmVlYnJvd3Nlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdXBkYXRlY2hlY2tlciIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly91cGRhdGVjaGVja2VyL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgorRklMRVNfJHtQTn0tdXBkYXRlY2hlY2tlciA9ICIke2xpYmRpcn0vZ2VhbnkvdXBkYXRlY2hlY2tlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0tdmltb2RlIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3ZpbW9kZS9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXZpbW9kZSA9ICIke2xpYmRpcn0vZ2Vhbnkvdmltb2RlLnNvIgorCisjIG5vIHdlYmtpdCAtIGxhc3RzIGFnZXMgYW5kIGlzIG5vdCBwcm9wZXJseSBkZXRlY3RlZAorRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLXdlYmhlbHBlciIKKyNQTFVHSU5TICs9ICIke1BOfS13ZWJoZWxwZXIiCisjTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dlYmhlbHBlci9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKyNMSUNFTlNFXyR7UE59LXdlYmhlbHBlciA9ICJHUEx2MyIKKyNGSUxFU18ke1BOfS13ZWJoZWxwZXIgPSAiJHtsaWJkaXJ9L2dlYW55L3dlYmhlbHBlci5zbyIKKworUExVR0lOUyArPSAiJHtQTn0td29ya2JlbmNoIgorTElDX0ZJTEVTX0NIS1NVTSArPSAiZmlsZTovL3dvcmtiZW5jaC9DT1BZSU5HO21kNT1jMTA3Y2Y3NTQ1NTBlNjU3NTVjNDI5ODVhNWQ0ZTljOSIKK0ZJTEVTXyR7UE59LXdvcmtiZW5jaCA9ICIke2xpYmRpcn0vZ2Vhbnkvd29ya2JlbmNoLnNvIgorCitQTFVHSU5TICs9ICIke1BOfS14bWxzbmlwcGV0cyIKK0xJQ19GSUxFU19DSEtTVU0gKz0gImZpbGU6Ly94bWxzbmlwcGV0cy9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKK0ZJTEVTXyR7UE59LXhtbHNuaXBwZXRzID0gIiR7bGliZGlyfS9nZWFueS94bWxzbmlwcGV0cy5zbyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbW1vbiAke1BMVUdJTlN9IgorRklMRVNfJHtQTn0tY29tbW9uID0gIiR7bGliZGlyfS9saWJnZWFueXBsdWdpbnV0aWxzJHtTT0xJQlN9IgorCisjIGdlYW55LXBsdWdpbnMgaXMgbWV0YSBwYWNrYWdlIGZvciBhbGwgcGx1Z2lucworUkRFUEVORFNfJHtQTn0gPSAiJHtQTFVHSU5TfSIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvZ2VhbnkvZ2VhbnlfMS4zMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjMxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjlkOGJjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjMxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2Vhbnkub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZDdiMmM5OTRhZjIxZDMxOGJkMmNkM2IzZjgwYzJkNSIKLQotREVQRU5EUyA9ICJndGsrIGxpYnhtbC1wYXJzZXItcGVybC1uYXRpdmUgcHl0aG9uMy1kb2N1dGlscy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnIHBlcmxuYXRpdmUgcHl0aG9ubmF0aXZlIGdldHRleHQKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuZ2Vhbnkub3JnLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzg2MDAwYmU2YjI2OTcyYzZhNjk5OTM5YzM3Y2RhMzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzBmZGI5MDZiYjc2YzQyNTFhOGJjZjgzZWUyNjdkYjI4YzI2ZWY2YWI4Njc2NjhhNzgyY2VjMTE2NGEzYWJhNSIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtaHRtbC1kb2NzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2dlYW55L2dlYW55XzEuMzQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjM0LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFiNTM1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9nZWFueS9nZWFueV8xLjM0LjEuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJBIGZhc3QgYW5kIGxpZ2h0d2VpZ2h0IElERSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ2Vhbnkub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iZDdiMmM5OTRhZjIxZDMxOGJkMmNkM2IzZjgwYzJkNSIKKworREVQRU5EUyA9ICJndGsrMyBsaWJ4bWwtcGFyc2VyLXBlcmwtbmF0aXZlIHB5dGhvbjMtZG9jdXRpbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBnZXR0ZXh0CisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmdlYW55Lm9yZy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjg3MjIwZjRhMGUwMzYyM2FiOWQ4NjgyMGY2YmU3YjVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU3NjVlZmQ4OWU3NTlkZWZlM2ZkNzk3ZDhhMjA1MmFmYmI0YjIzNTIyZWZiY2M3MmUzYTcyYjdmMTA5M2VjMTEiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2ljb25zIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWh0bWwtZG9jcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ndWlkZXIvZ3VpZGVyXzMuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2d1aWRlci9ndWlkZXJfMy45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE0MTM0NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ndWlkZXIvZ3VpZGVyXzMuOS40LmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAicnVudGltZSBwZXJmb3JtYW5jZSBhbmFseXplciIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9paXBlYWNlL2d1aWRlciIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2lpcGVhY2UvZ3VpZGVyL2lzc3VlcyIKK0FVVEhPUiA9ICJQZWFjZSBMZWUgPGlwZWFjZTVAZ21haWwuY29tPiIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yYzFjMDBmOWQzZWQ5ZTI0ZmE2OWI5MzJiN2U3YWZmMiIKKworUFYgPSAiMy45LjQrZ2l0JHtTUkNQVn0iCitQUiA9ICJyMCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2lpcGVhY2UvJHtCUE59IgorI1NSQ1JFViA9ICIke0FVVE9SRVZ9IgorU1JDUkVWID0gImI0MzNmMzgwNTY3NGVmNDU4OGMxYTE2MTk4NmM3NGVlYWM2YTQ4ZTciCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitSID0gIiR7UkVDSVBFX1NZU1JPT1R9IgorCitpbmhlcml0IGRpc3R1dGlscworCitHVUlERVJfT0JKID0gImd1aWRlci5weWMiCitHVUlERVJfU0NSSVBUID0gImd1aWRlciIKKworZG9faW5zdGFsbCgpIHsKKyAgICBweXRob24gJHtTfS9zZXR1cC5weSBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC12IC1tIDA3NTUgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7R1VJREVSX1NDUklQVH0gJHtEfSR7YmluZGlyfS8ke0dVSURFUl9TQ1JJUFR9CisKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLXYgLW0gMDc1NSAke1NUQUdJTkdfTElCRElSX05BVElWRX0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059L3NpdGUtcGFja2FnZXMvJHtCUE59LyR7R1VJREVSX09CSn0gJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7R1VJREVSX09CSn0KK30KKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLWN0eXBlcyBweXRob24tc2hlbGwgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uLWpzb24gcHl0aG9uLXN1YnByb2Nlc3MiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanEvU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcS9TdXBwb3J0LXdpdGhvdXQtb25pZ3VydW1hLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZGZkOTU1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcS9TdXBwb3J0LXdpdGhvdXQtb25pZ3VydW1hLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotRnJvbSAxOGI0YjE4YjQxZjVlZDM5NmQ3MzQ0OWNlOGQ2ZWM0MDhkOTVkNmIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgVG9sbmF5IDxkdG9sbmF5QGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjEgTm92IDIwMTUgMTA6MDU6MzcgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCAtLXdpdGhvdXQtb25pZ3VydW1hCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLQotLS0tCi0gY29uZmlndXJlLmFjIHwgNDEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDllMmM4Y2YuLjdmNmJlMzQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTUyLDI3ICs1MiwyNiBAQCBmaQotIEFDX0FSR19XSVRIKFtvbmlndXJ1bWFdLAotICAgICBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1vbmlndXJ1bWE9cHJlZml4XSwKLSAgICAgICAgIFt0cnkgdGhpcyBmb3IgYSBub24tc3RhbmRhcmQgaW5zdGFsbCBwcmVmaXggb2YgdGhlIG9uaWd1cnVtYSBsaWJyYXJ5XSldLAotLSAgICBbT05JR1VSVU1BUEFUSFNFVD0xXSwKLS0gICAgW09OSUdVUlVNQVBBVEhTRVQ9MF0pCi0tCi0taWYgdGVzdCAkT05JR1VSVU1BUEFUSFNFVCA9IDE7IHRoZW4KLS0gIENGTEFHUz0iJENGTEFHUyAtSSR7d2l0aF9vbmlndXJ1bWF9L2luY2x1ZGUiCi0tICBMREZMQUdTPSIkTERGTEFHUyAtTCR7d2l0aF9vbmlndXJ1bWF9L2xpYiIKLS1maQotLQotLSMgY2hlY2sgZm9yIE9OSUdVUlVNQSBsaWJyYXJ5Ci0tSEFWRV9PTklHVVJVTUE9MAotLUFDX0NIRUNLX0hFQURFUigib25pZ3VydW1hLmgiLAotLSAgICBBQ19DSEVDS19MSUIoW29uaWddLFtvbmlnX3ZlcnNpb25dLFtMSUJTPSIkTElCUyAtbG9uaWciOyBIQVZFX09OSUdVUlVNQT0xO10pKQotLQotLSMgaGFuZGxlIGNoZWNrIHJlc3VsdHMKLS1pZiB0ZXN0ICRIQVZFX09OSUdVUlVNQSAhPSAxOyB0aGVuCi0tICAgIEFDX01TR19OT1RJQ0UoW09uaWd1cnVtYSB3YXMgbm90IGZvdW5kLl0pCi0tICAgIEFDX01TR19OT1RJQ0UoWyBUcnkgc2V0dGluZyB0aGUgbG9jYXRpb24gdXNpbmcgJy0td2l0aC1vbmlndXJ1bWE9UFJFRklYJyBdKQotLWVsc2UKLS0gICAgQUNfREVGSU5FKFtIQVZFX09OSUdVUlVNQV0sMSxbRGVmaW5lIHRvIDEgaWYgT25pZ3VydW1hIGlzIGluc3RhbGxlZF0pCi0tZmkKLS0KLSsgICAgW10sCi0rICAgIFt3aXRoX29uaWd1cnVtYT15ZXNdKQotKwotK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfb25pZ3VydW1hIiAhPSB4bm9dLCBbCi0rICAgIEFTX0lGKFt0ZXN0ICJ4JHdpdGhfb25pZ3VydW1hIiAhPSB4eWVzXSwgWwotKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1JJHt3aXRoX29uaWd1cnVtYX0vaW5jbHVkZSIKLSsgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1MJHt3aXRoX29uaWd1cnVtYX0vbGliIgotKyAgICBdKQotKyAgICAjIGNoZWNrIGZvciBPTklHVVJVTUEgbGlicmFyeQotKyAgICBoYXZlX29uaWd1cnVtYT0wCi0rICAgIEFDX0NIRUNLX0hFQURFUigib25pZ3VydW1hLmgiLAotKyAgICAgICAgQUNfQ0hFQ0tfTElCKFtvbmlnXSxbb25pZ192ZXJzaW9uXSxbTElCUz0iJExJQlMgLWxvbmlnIjsgaGF2ZV9vbmlndXJ1bWE9MTtdKSkKLSsgICAgIyBoYW5kbGUgY2hlY2sgcmVzdWx0cwotKyAgICBBU19JRihbdGVzdCAkaGF2ZV9vbmlndXJ1bWEgPSAxXSwgWwotKyAgICAgICAgQUNfREVGSU5FKFtIQVZFX09OSUdVUlVNQV0sIDEsIFtEZWZpbmUgdG8gMSBpZiBPbmlndXJ1bWEgaXMgaW5zdGFsbGVkXSkKLSsgICAgXSwgWwotKyAgICAgICAgQUNfTVNHX05PVElDRShbT25pZ3VydW1hIHdhcyBub3QgZm91bmQuXSkKLSsgICAgICAgIEFDX01TR19OT1RJQ0UoW1RyeSBzZXR0aW5nIHRoZSBsb2NhdGlvbiB1c2luZyAnLS13aXRoLW9uaWd1cnVtYT1QUkVGSVgnXSkKLSsgICAgXSkKLStdKQotIAotIGRubCBDaGVjayBmb3IgdmFsZ3JpbmQKLSBBQ19DSEVDS19QUk9HUyh2YWxncmluZF9jbWQsIHZhbGdyaW5kKQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pxL2pxXzEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGY0MDgxNS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBhbmQgZmxleGlibGUgY29tbWFuZC1saW5lIEpTT04gcHJvY2Vzc29yIgotREVTQ1JJUFRJT04gPSAianEgaXMgbGlrZSBzZWQgZm9yIEpTT04gZGF0YSwgeW91IGNhbiB1c2UgaXQgdG8gc2xpY2UgYW5kIFwKLSAgICAgICAgICAgICAgIGZpbHRlciBhbmQgbWFwIGFuZCB0cmFuc2Zvcm0gc3RydWN0dXJlZCBkYXRhIHdpdGggdGhlIHNhbWUgXAotICAgICAgICAgICAgICAgZWFzZSB0aGF0IHNlZCwgYXdrLCBncmVwIGFuZCBmcmllbmRzIGxldCB5b3UgcGxheSB3aXRoIHRleHQuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9zdGVkb2xhbi5naXRodWIuaW8vanEvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vc3RlZG9sYW4vanEvaXNzdWVzIgotU0VDVElPTiA9ICJ1dGlscyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjlkZDBjMzVkN2UzOTFiYjhkNTE1ZWFjZjc1OTJlMDAiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vU3VwcG9ydC13aXRob3V0LW9uaWd1cnVtYS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwOTMzNTMyYjA4NmJkOGI2YTQxYzFiMTYyYjE3MzFmOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjNGQyYmZlYzY0MzYzNDExMTM0MTlkZWJmNDc5ZDgzMzY5MmNjNWNkYWI3ZWIwMzI2YjVhNGQ0ZmJlOWY0OTNjIgotCi1pbmhlcml0IGF1dG90b29scwotCi1QQUNLQUdFQ09ORklHID89ICJvbmlndXJ1bWEiCi0KLVBBQ0tBR0VDT05GSUdbZG9jc10gPSAiLS1lbmFibGUtZG9jcywtLWRpc2FibGUtZG9jcyxydWJ5LW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbWFpbnRhaW5lci1tb2RlXSA9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUsLS1kaXNhYmxlLW1haW50YWluZXItbW9kZSxmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW29uaWd1cnVtYV0gPSAiLS13aXRoLW9uaWd1cnVtYSwtLXdpdGhvdXQtb25pZ3VydW1hLG9uaWciCi0KLU9FX0VYVFJBQ09ORiArPSAiIFwKLSAgICAtLWRpc2FibGUtdmFsZ3JpbmQgXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qcS9qcV8xLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwODZlYWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanEvanFfMS42LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgYW5kIGZsZXhpYmxlIGNvbW1hbmQtbGluZSBKU09OIHByb2Nlc3NvciIKK0RFU0NSSVBUSU9OID0gImpxIGlzIGxpa2Ugc2VkIGZvciBKU09OIGRhdGEsIHlvdSBjYW4gdXNlIGl0IHRvIHNsaWNlIGFuZCBcCisgICAgICAgICAgICAgICBmaWx0ZXIgYW5kIG1hcCBhbmQgdHJhbnNmb3JtIHN0cnVjdHVyZWQgZGF0YSB3aXRoIHRoZSBzYW1lIFwKKyAgICAgICAgICAgICAgIGVhc2UgdGhhdCBzZWQsIGF3aywgZ3JlcCBhbmQgZnJpZW5kcyBsZXQgeW91IHBsYXkgd2l0aCB0ZXh0LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vc3RlZG9sYW4uZ2l0aHViLmlvL2pxLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL3N0ZWRvbGFuL2pxL2lzc3VlcyIKK1NFQ1RJT04gPSAidXRpbHMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE1ZDAzZTM2MGZhNzM5OWY3NmQ1YTQzNTlmYzcyY2JmIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zdGVkb2xhbi8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtCUH0vJHtCUH0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImU2OGZiZDZhOTkyZTM2ZjFhYzQ4Yzk5YmJmODI1ZDZiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVkZThjOGUyOWFhYTNmYjljYzZiNDdiYjI3Mjk5ZjI3MTM1NGViYjcyNTE0ZTNhY2NhZGM3ZDM4YjViYmFhNzIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitQQUNLQUdFQ09ORklHID89ICJvbmlndXJ1bWEiCisKK1BBQ0tBR0VDT05GSUdbZG9jc10gPSAiLS1lbmFibGUtZG9jcywtLWRpc2FibGUtZG9jcyxydWJ5LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbWFpbnRhaW5lci1tb2RlXSA9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUsLS1kaXNhYmxlLW1haW50YWluZXItbW9kZSxmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCitQQUNLQUdFQ09ORklHW29uaWd1cnVtYV0gPSAiLS13aXRoLW9uaWd1cnVtYSwtLXdpdGhvdXQtb25pZ3VydW1hLG9uaWciCisKK09FX0VYVFJBQ09ORiArPSAiIFwKKyAgICAtLWRpc2FibGUtdmFsZ3JpbmQgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1jbWFrZS1yZXBsYWNlLWhhcmRjb2RlZC1saWItQ01BS0VfTElCUkFSWV9QQVRILXdpdGgtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0OGU0ZGEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwYy8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1Gcm9tIGFjNjExMjRkZjE3YWI3NjUyNzUwOGJiYjlhMzExNWQ0ZDZjYzFhZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMSBOb3YgMjAxNiAxMToyNjoyNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjbWFrZTogcmVwbGFjZSBoYXJkY29kZWQgbGliLyR7Q01BS0VfTElCUkFSWV9QQVRIfSB3aXRoCi0ge0NNQUtFX0lOU1RBTExfTElCRElSfQotCi1GaXhlcwotfCBDTWFrZSBFcnJvciBhdCBzcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dDoyMDcgKGluc3RhbGwpOgotfCAgIGluc3RhbGwgVEFSR0VUUyBnaXZlbiB1bmtub3duIGFyZ3VtZW50ICIvbGliIi4KLQotYW5kCi0KLVdyb25nIGluc3RhbGwgcGF0aHMgZHVyaW5nIGNyb3NzIGNvbXBpbGUKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0ICAgIHwgOCArKysrLS0tLQotIHNyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0IHwgNiArKystLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9qc29ucnBjY3BwL0NNYWtlTGlzdHMudHh0IGIvc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQKLWluZGV4IGU0YTFlYjUuLjEzZjkwNTYgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL2pzb25ycGNjcHAvQ01ha2VMaXN0cy50eHQKLUBAIC0yMDUsMTUgKzIwNSwxNSBAQCBpZiAoV0lOMzIpCi0gZW5kaWYoKQotIAotIGluc3RhbGwoVEFSR0VUUyAke0FMTF9MSUJTfQotLQlMSUJSQVJZIERFU1RJTkFUSU9OIGxpYiR7TElCX1NVRkZJWH0vJHtDTUFLRV9MSUJSQVJZX1BBVEh9Ci0tCUFSQ0hJVkUgREVTVElOQVRJT04gbGliJHtMSUJfU1VGRklYfS8ke0NNQUtFX0xJQlJBUllfUEFUSH0KLSsJTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotKwlBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9Ci0gCVJVTlRJTUUgREVTVElOQVRJT04gYmluCi0gKQotIAotICNzZXQgcGtnLWNvbmZpZwotIGdldF9maWxlbmFtZV9jb21wb25lbnQoRlVMTF9QQVRIX0lOU1RBTExfUFJFRklYICR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9IEFCU09MVVRFKQotIHNldChGVUxMX1BBVEhfSU5DTFVERURJUiAiJHtGVUxMX1BBVEhfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiKQotLXNldChGVUxMX1BBVEhfTElCRElSICIke0ZVTExfUEFUSF9JTlNUQUxMX1BSRUZJWH0vbGliLyR7Q01BS0VfTElCUkFSWV9QQVRIfSIpCi0rc2V0KEZVTExfUEFUSF9MSUJESVIgIiR7RlVMTF9QQVRIX0lOU1RBTExfUFJFRklYfS8ke0NNQUtFX0lOU1RBTExfTElCRElSfSIpCi0gCi0gQ09ORklHVVJFX0ZJTEUoJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL2xpYmpzb25ycGNjcHAtY2xpZW50LnBjLmNtYWtlICR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1jbGllbnQucGMpCi0gQ09ORklHVVJFX0ZJTEUoJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NtYWtlL2xpYmpzb25ycGNjcHAtc2VydmVyLnBjLmNtYWtlICR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1zZXJ2ZXIucGMpCi1AQCAtMjIzLDYgKzIyMyw2IEBAIElOU1RBTEwoRklMRVMKLSAgICAgIiR7Q01BS0VfQklOQVJZX0RJUn0vbGlianNvbnJwY2NwcC1zZXJ2ZXIucGMiCi0gICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtY2xpZW50LnBjIgotICAgICAiJHtDTUFLRV9CSU5BUllfRElSfS9saWJqc29ucnBjY3BwLWNvbW1vbi5wYyIKLS0gICAgREVTVElOQVRJT04gImxpYiR7TElCX1NVRkZJWH0vJHtDTUFLRV9MSUJSQVJZX1BBVEh9L3BrZ2NvbmZpZyIpCi0rICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9wa2djb25maWciKQotIAotIAotZGlmZiAtLWdpdCBhL3NyYy9zdHViZ2VuZXJhdG9yL0NNYWtlTGlzdHMudHh0IGIvc3JjL3N0dWJnZW5lcmF0b3IvQ01ha2VMaXN0cy50eHQKLWluZGV4IGY5ZGJlNGMuLmI1N2IwZmUgMTAwNjQ0Ci0tLS0gYS9zcmMvc3R1YmdlbmVyYXRvci9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL3N0dWJnZW5lcmF0b3IvQ01ha2VMaXN0cy50eHQKLUBAIC01OCwxNSArNTgsMTUgQEAgQ09ORklHVVJFX0ZJTEUoJHtDTUFLRV9TT1VSQ0VfRElSfS9jbWFrZS9saWJqc29ucnBjY3BwLXN0dWIucGMuY21ha2UgJHtDTUFLRV9CSU4KLSAKLSBJTlNUQUxMKEZJTEVTCi0gICAgICIke0NNQUtFX0JJTkFSWV9ESVJ9L2xpYmpzb25ycGNjcHAtc3R1Yi5wYyIKLS0gICAgREVTVElOQVRJT04gImxpYi8ke0NNQUtFX0xJQlJBUllfUEFUSH0vcGtnY29uZmlnIikKLSsgICAgREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L3BrZ2NvbmZpZyIpCi0gCi0gaW5zdGFsbChESVJFQ1RPUlkgJHtDTUFLRV9TT1VSQ0VfRElSfS9zcmMvc3R1YmdlbmVyYXRvci8KLSAgICAgICAgIERFU1RJTkFUSU9OIGluY2x1ZGUvanNvbnJwY2NwcC9zdHViZ2VuCi0gICAgICAgICBGSUxFU19NQVRDSElORyBQQVRURVJOICIqLmgiKQotIAotIGluc3RhbGwoVEFSR0VUUyAke0FMTF9MSUJTfSBqc29ucnBjc3R1YgotLSAgICAgICAgTElCUkFSWSBERVNUSU5BVElPTiBsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfQotLSAgICAgICAgQVJDSElWRSBERVNUSU5BVElPTiBsaWIke0xJQl9TVUZGSVh9LyR7Q01BS0VfTElCUkFSWV9QQVRIfQotKyAgICAgICAgTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotKyAgICAgICAgQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfQotICAgICAgICAgUlVOVElNRSBERVNUSU5BVElPTiBiaW4KLSApCi0gCi0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JjbGllbnQtVHlwZWNhc3QtbWluLWFyZ3VtZW50cy1jb3JyZWN0bC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjFlOTc5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSA5NTAwZjEyZjVkODI3ODQwNjM0MzExZDZjYTk3MmQ5NTUxMjExZTRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjEgTm92IDIwMTYgMDE6MDA6NTEgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZmlsZWRlc2NyaXB0b3JjbGllbnQ6IFR5cGVjYXN0IG1pbigpIGFyZ3VtZW50cyBjb3JyZWN0bHkKLQotRml4ZXMKLQotfCAvbW50L2EvYnVpbGQvdG1wLWdsaWJjL3dvcmsvY29ydGV4YTdoZi1uZW9uLXZmcHY0LW9lLWxpbnV4LWdudWVhYmkvanNvbnJwYy8wLjcuMC1yMC9naXQvc3JjL2pzb25ycGNjcAotcC9jbGllbnQvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcmNsaWVudC5jcHA6NDc6OTI6IG5vdGU6ICAgZGVkdWNlZCBjb25mbGljdGluZyB0eXBlcyBmb3IgcGFyYW1ldGVyICdjbwotbnN0IF9UcCcgKCd1bnNpZ25lZCBpbnQnIGFuZCAnbG9uZyB1bnNpZ25lZCBpbnQnKQotfCAgICAgIHNzaXplX3QgYnl0ZVdyaXR0ZW4gPSB3cml0ZShvdXRwdXRmZCwgdG9TZW5kLmNfc3RyKCksIG1pbih0b1NlbmQuc2l6ZSgpLCBNQVhfV1JJVEVfU0laRSkpOwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwIGIvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwCi1pbmRleCA3N2FhYzdlLi42MzI1YjVjIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvY2xpZW50L2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JjbGllbnQuY3BwCi0rKysgYi9zcmMvanNvbnJwY2NwcC9jbGllbnQvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcmNsaWVudC5jcHAKLUBAIC00Myw3ICs0Myw3IEBAIHZvaWQgRmlsZURlc2NyaXB0b3JDbGllbnQ6OlNlbmRSUENNZXNzYWdlKGNvbnN0IHN0ZDo6c3RyaW5nJiBtZXNzYWdlLAotICAgc3RyaW5nIHRvU2VuZCA9IG1lc3NhZ2U7Ci0gICBkbwotICAgewotLSAgICBzc2l6ZV90IGJ5dGVXcml0dGVuID0gd3JpdGUob3V0cHV0ZmQsIHRvU2VuZC5jX3N0cigpLCBtaW4odG9TZW5kLnNpemUoKSwgTUFYX1dSSVRFX1NJWkUpKTsKLSsgICAgc3NpemVfdCBieXRlV3JpdHRlbiA9IHdyaXRlKG91dHB1dGZkLCB0b1NlbmQuY19zdHIoKSwgbWluKChsb25nIHVuc2lnbmVkIGludCl0b1NlbmQuc2l6ZSgpLCBNQVhfV1JJVEVfU0laRSkpOwotICAgICBpZiAoYnl0ZVdyaXR0ZW4gPCAxKQotICAgICAgIHRocm93IEpzb25ScGNFeGNlcHRpb24oRXJyb3JzOjpFUlJPUl9DTElFTlRfQ09OTkVDVE9SLAotICAgICAgICAgIlVua25vd24gZXJyb3Igb2NjdXJlZCB3aGlsZSB3cml0aW5nIHRvIHRoZSBvdXRwdXQgZmlsZSBkZXNjcmlwdG9yIik7Ci0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcnNlcnZlci1JbmNsdWRlLXN5cy1zZWxlY3QuaC1iZWZvcmUtb3RoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjkwNjhhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1maWxlZGVzY3JpcHRvcnNlcnZlci1JbmNsdWRlLXN5cy1zZWxlY3QuaC1iZWZvcmUtb3RoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBjN2FhZDEwNjI4OTQ5ZTEyNmY1MGUzMjY0YjViYzdlYjQxNzM0N2M2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMjEgTm92IDIwMTYgMDE6MjU6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZmlsZWRlc2NyaXB0b3JzZXJ2ZXI6IEluY2x1ZGUgc3lzL3NlbGVjdC5oIGJlZm9yZSBvdGhlcgotIGhlYWRlcnMKLQotRml4ZXMgZXJyb3JzIGUuZy4KLXwgL21udC9hL2J1aWxkL3RtcC1nbGliYy93b3JrL2NvcnRleGE3aGYtbmVvbi12ZnB2NC1vZS1saW51eC1nbnVlYWJpL2pzb25ycGMvMC43LjAtcjAvZ2l0L3NyYy9qc29ucnBjY3AKLXAvc2VydmVyL2Nvbm5lY3RvcnMvZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuaDo2Mzo3OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2ZkX3NldCcKLXwgICAgICAgZmRfc2V0IHJlYWRfZmRzOwotfCAgICAgICBeCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLWluZGV4IDlkNzQyMjMuLjhlMDE5Y2EgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yc2VydmVyLmNwcAotQEAgLTcsOCArNyw4IEBACi0gICogQGxpY2Vuc2UgU2VlIGF0dGFjaGVkIExJQ0VOU0UudHh0Ci0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLSAKLS0jaW5jbHVkZSAiZmlsZWRlc2NyaXB0b3JzZXJ2ZXIuaCIKLSAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgotKyNpbmNsdWRlICJmaWxlZGVzY3JpcHRvcnNlcnZlci5oIgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0tLSAKLTIuMTAuMgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDEtbWVtc2V0LWFuZC1mYW1pbHktbmVlZHMtdG8taW5jbHVkZS1zdHJpbmcuaC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1tZW1zZXQtYW5kLWZhbWlseS1uZWVkcy10by1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMWVmOThiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMS1tZW1zZXQtYW5kLWZhbWlseS1uZWVkcy10by1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbSBmNTQxNmYxYzJiMjk4OWY5NDE2M2EyYWU0YjkxYzliOWZhMTNjNjIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTM6MzI6MzEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIG1lbXNldCgpIGFuZCBmYW1pbHkgbmVlZHMgdG8gaW5jbHVkZSBzdHJpbmcuaAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvdW5peGRvbWFpbnNvY2tldHNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy91bml4ZG9tYWluc29ja2V0c2VydmVyLmNwcCBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwCi1pbmRleCA5ZmNhNTdiLi5lNjNjNDllIDEwMDY0NAotLS0tIGEvc3JjL2pzb25ycGNjcHAvc2VydmVyL2Nvbm5lY3RvcnMvdW5peGRvbWFpbnNvY2tldHNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL3VuaXhkb21haW5zb2NrZXRzZXJ2ZXIuY3BwCi1AQCAtMTYsNyArMTYsNyBAQAotICNpbmNsdWRlIDxjc3RkaW8+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxzdHJpbmc+Ci0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0gCi0gdXNpbmcgbmFtZXNwYWNlIGpzb25ycGM7Ci0gdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLS0tIAotMi4xMi4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvanNvbnJwYy9qc29ucnBjLzAwMDItRml4LWJ1aWxkLXByb2JsZW0tb24tTWFjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZWNlNDViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGMvMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc5MDUwZWY5NjA3ZjI0MmUwZDUwOTk2OWIxOWU5MzkwMjIwYzM0MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZb25nd2VpIFd1IDx3dXlvbmd3ZWlAZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMSBEZWMgMjAxNiAxMTo1NzoxMSArMDgwMAotU3ViamVjdDogW1BBVENIIDIvMl0gRml4IGJ1aWxkIHByb2JsZW0gb24gTWFjLgotCi1fX3N1c2Vjb25kc190IGlzIG5vdCBkZWZpbmVkIG9uIE1hYy9CU0Q7IHVzZSB0aGUgUE9TSVgtY29uZm9ybWFudAotc3VzZWNvbmRzX3QuCi0tLS0KLSBzcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAgYi9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLWluZGV4IDhlMDE5Y2EuLjY4MTA3ZjIgMTAwNjQ0Ci0tLS0gYS9zcmMvanNvbnJwY2NwcC9zZXJ2ZXIvY29ubmVjdG9ycy9maWxlZGVzY3JpcHRvcnNlcnZlci5jcHAKLSsrKyBiL3NyYy9qc29ucnBjY3BwL3NlcnZlci9jb25uZWN0b3JzL2ZpbGVkZXNjcmlwdG9yc2VydmVyLmNwcAotQEAgLTEyMiw3ICsxMjIsNyBAQCBpbnQgRmlsZURlc2NyaXB0b3JTZXJ2ZXI6OldhaXRGb3JSZWFkKCkgewotICAgRkRfWkVSTygmZXhjZXB0X2Zkcyk7Ci0gICBGRF9TRVQoaW5wdXRmZCwgJnJlYWRfZmRzKTsKLSAgIHRpbWVvdXQudHZfc2VjID0gMDsKLS0gIHRpbWVvdXQudHZfdXNlYyA9IChfX3N1c2Vjb25kc190KSAoUkVBRF9USU1FT1VUICogMTAwMDAwMCk7Ci0rICB0aW1lb3V0LnR2X3VzZWMgPSAoc3VzZWNvbmRzX3QpIChSRUFEX1RJTUVPVVQgKiAxMDAwMDAwKTsKLSAgIC8vIFdhaXQgZm9yIHNvbWV0aGluZyB0byByZWFkCi0gICByZXR1cm4gc2VsZWN0KGlucHV0ZmQgKyAxLCAmcmVhZF9mZHMsICZ3cml0ZV9mZHMsICZleGNlcHRfZmRzLCAmdGltZW91dCk7Ci0gfQotLS0gCi0yLjEyLjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY18wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfMC43LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViMWZmNjUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY18wLjcuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiQysrIGZyYW1ld29yayBmb3IganNvbi1ycGMgMS4wIGFuZCAyLjAiCi1ERVNDUklQVElPTiA9ICJKc29uUnBjLUNwcCBpcyBhbiBPcGVuU291cmNlIGltcGxlbWVudGF0aW9uIG9mIEpTT04tUlBDIFwKLSAgICAgICAgICAgICAgIHByb3RvY29sIGluIEMrKy4gSlNPTi1SUEMgaXMgYSBsaWdodHdlaWdodCByZW1vdGUgcHJvY2VkdXJlIFwKLSAgICAgICAgICAgICAgIGNhbGwgcHJvdG9jb2wgc2ltaWxhciB0byBYTUwtUlBDLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAiCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWVlNzJkNjAxODU0ZDVkMmEwNjVjZjY0Mjg4M2M0ODliIgotCi1QViA9ICIwLjcuMCtnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NpbmVtYXN0L2xpYmpzb24tcnBjLWNwcCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNtYWtlLXJlcGxhY2UtaGFyZGNvZGVkLWxpYi1DTUFLRV9MSUJSQVJZX1BBVEgtd2l0aC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maWxlZGVzY3JpcHRvcmNsaWVudC1UeXBlY2FzdC1taW4tYXJndW1lbnRzLWNvcnJlY3RsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZmlsZWRlc2NyaXB0b3JzZXJ2ZXItSW5jbHVkZS1zeXMtc2VsZWN0LmgtYmVmb3JlLW90aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lbXNldC1hbmQtZmFtaWx5LW5lZWRzLXRvLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtYnVpbGQtcHJvYmxlbS1vbi1NYWMucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiY2NiZGI0MTM4OGJkZDkyOTgyODk0MTY1MmRhODE2YmY1MmEwNTgwZSIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gImN1cmwganNvbmNwcCBsaWJtaWNyb2h0dHBkIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgKz0gIi1EQ09NUElMRV9URVNUUz1OTyAtRENPTVBJTEVfU1RVQkdFTj1OTyAtRENPTVBJTEVfRVhBTVBMRVM9Tk8gXAotICAgICAgICAgICAgICAgICAgLURCVUlMRF9TSEFSRURfTElCUz1ZRVMgLURCVUlMRF9TVEFUSUNfTElCUz1ZRVMgXAotICAgICAgICAgICAgICAgICAgLURDTUFLRV9MSUJSQVJZX1BBVEg9JHtsaWJkaXJ9IFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2pzb25ycGMvanNvbnJwY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhMTFiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9qc29ucnBjL2pzb25ycGNfZ2l0LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiQysrIGZyYW1ld29yayBmb3IganNvbi1ycGMgMS4wIGFuZCAyLjAiCitERVNDUklQVElPTiA9ICJKc29uUnBjLUNwcCBpcyBhbiBPcGVuU291cmNlIGltcGxlbWVudGF0aW9uIG9mIEpTT04tUlBDIFwKKyAgICAgICAgICAgICAgIHByb3RvY29sIGluIEMrKy4gSlNPTi1SUEMgaXMgYSBsaWdodHdlaWdodCByZW1vdGUgcHJvY2VkdXJlIFwKKyAgICAgICAgICAgICAgIGNhbGwgcHJvdG9jb2wgc2ltaWxhciB0byBYTUwtUlBDLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5lbWFzdC9saWJqc29uLXJwYy1jcHAiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTRlNzI4YzViMzYwMThmNmMzODNiNGI5ZWZkOWM4ODQwIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJjdXJsIGpzb25jcHAgbGlibWljcm9odHRwZCBoaXJlZGlzIgorCitQViA9ICIxLjEuMStnaXQke1NSQ1BWfSIKKyMgdjEuMS4xCitTUkNSRVYgPSAiMzE5NzgzYzYzNWNmOGNhYmNjMWE5ODA0OTVjOTlhODhmOWViYmQ5NyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NpbmVtYXN0L2xpYmpzb24tcnBjLWNwcCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZQorCitFWFRSQV9PRUNNQUtFICs9ICItRENPTVBJTEVfVEVTVFM9Tk8gLURDT01QSUxFX1NUVUJHRU49Tk8gLURDT01QSUxFX0VYQU1QTEVTPU5PIFwKKyAgICAgICAgICAgICAgICAgIC1EQlVJTERfU0hBUkVEX0xJQlM9WUVTIC1EQlVJTERfU1RBVElDX0xJQlM9WUVTIFwKKyAgICAgICAgICAgICAgICAgIC1EQ01BS0VfTElCUkFSWV9QQVRIPSR7bGliZGlyfSBcCisiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2xpYmpzb24tcnBjLWNwcC9jbWFrZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODA1MjUtMy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MDUyNS0zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjYzBlOTUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmVkaXQvbGliZWRpdF8yMDE4MDUyNS0zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1TVU1NQVJZID0gIkJTRCByZXBsYWNlbWVudCBmb3IgbGlicmVhZGxpbmUiCi1ERVNDUklQVElPTiA9ICJDb21tYW5kIGxpbmUgZWRpdG9yIGxpYnJhcnkgcHJvdmlkaW5nIGdlbmVyaWMgbGluZSBlZGl0aW5nLCBcCi1oaXN0b3J5LCBhbmQgdG9rZW5pemF0aW9uIGZ1bmN0aW9ucyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZTQyMjhkMGM1YTkwOTNiMDFhZWFhZWFlNjY0MTUzMyIKLQotREVQRU5EUyA9ICJuY3Vyc2VzIgotCi1pbmhlcml0IGF1dG90b29scwotCi0jIHVwc3RyZWFtIHNpdGUgZG9lcyBub3QgYWxsb3cgd2dldCdzIFVzZXItQWdlbnQKLUZFVENIQ01EX3dnZXQgKz0gIi1VIGJpdGJha2UiCi1TUkNfVVJJID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9zdGRjLXByZWRlZi5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjk3Njc5MzE5NzQyZjQ1ZDZjZGNkNjA3NTUxMWIxNGFjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0MWJlYThmZDE0MGZiNTdiYTY3YTk4ZWMxZDhhZTBiOGZmYTgyZjRhYmE5YzM1YTg3ZTVhOTQ5OWU2NTMxMTYiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgxMjA5LTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJlZGl0L2xpYmVkaXRfMjAxODEyMDktMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYTNkMjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZWRpdC9saWJlZGl0XzIwMTgxMjA5LTMuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkJTRCByZXBsYWNlbWVudCBmb3IgbGlicmVhZGxpbmUiCitERVNDUklQVElPTiA9ICJDb21tYW5kIGxpbmUgZWRpdG9yIGxpYnJhcnkgcHJvdmlkaW5nIGdlbmVyaWMgbGluZSBlZGl0aW5nLCBcCitoaXN0b3J5LCBhbmQgdG9rZW5pemF0aW9uIGZ1bmN0aW9ucyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZTQyMjhkMGM1YTkwOTNiMDFhZWFhZWFlNjY0MTUzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIgorCitpbmhlcml0IGF1dG90b29scworCisjIHVwc3RyZWFtIHNpdGUgZG9lcyBub3QgYWxsb3cgd2dldCdzIFVzZXItQWdlbnQKK0ZFVENIQ01EX3dnZXQgKz0gIi1VIGJpdGJha2UiCitTUkNfVVJJID0gImh0dHA6Ly93d3cudGhyeXNvZWUuZGsvZWRpdGxpbmUvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9zdGRjLXByZWRlZi5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjIyZTk0NWEwNDc2ZTM4OGU2Zjc4YmZjOGQ2ZTExOTJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4MTFkNzBjMGIwMDBmMmNhOTFiN2NiMWEzNzIwMzEzNDQ0MTc0M2M0ZmNjOWMzN2IwYjY4N2YzMjg2MTEwNjQiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMTguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM4NmYxZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbGliZ2VlL2xpYmdlZV8wLjE4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJnZWUgaXMgYSBjb2xsZWN0aW9uIGxpYnJhcnkgcHJvdmlkaW5nIEdPYmplY3QtYmFzZWQgaW50ZXJmYWNlcyBcCi1hbmQgY2xhc3NlcyBmb3IgY29tbW9ubHkgdXNlZCBkYXRhIHN0cnVjdHVyZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0xpYmdlZSIKLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZiYzA5MzkwMTg1N2ZjZDExOGYwNjVmOTAwOTgyYzI0IgotCi1QRSA9ICIxIgotCi1pbmhlcml0IGF1dG90b29scyB2YWxhIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCi0gICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbwotICAgICAgICBybSAtZiBtNC8kaQotICAgIGRvbmUKLX0KLQotU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL2xpYmdlZS8ke1NIUlRfVkVSfS8ke0JQfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiMjllYTYxMjVlNjUzZDdlNjBiNDlhOWE5NTQ0YWJjOTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGFkOTllZjkzN2QwNzFiNDg4M2MwNjFkZjQwYmZlMjMzZjc2NDlkNTBjMzU0Y2Y4MTIzNWYxODBiNDI0NDM5OSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9saWJnZWUvbGliZ2VlXzAuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTBlNWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xpYmdlZS9saWJnZWVfMC4yMC4xLmJiCkBAIC0wLDAgKzEsMjQgQEAKK0RFU0NSSVBUSU9OID0gImxpYmdlZSBpcyBhIGNvbGxlY3Rpb24gbGlicmFyeSBwcm92aWRpbmcgR09iamVjdC1iYXNlZCBpbnRlcmZhY2VzIFwKK2FuZCBjbGFzc2VzIGZvciBjb21tb25seSB1c2VkIGRhdGEgc3RydWN0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvTGliZ2VlIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmJjMDkzOTAxODU3ZmNkMTE4ZjA2NWY5MDA5ODJjMjQiCisKK1BFID0gIjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHZhbGEgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgIHJtIC1mIG00LyRpCisgICAgZG9uZQorfQorCitTSFJUX1ZFUiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfS4ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvbGliZ2VlLyR7U0hSVF9WRVJ9LyR7QlB9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMjI0ZGNhNTViYjkwOWY2NzMwZjQwY2MyNjczMzdiZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjI4MDJkMjlhNTE4ZThjNmQyOTkyODg0NjkxZjA2Y2NmY2MyNTc5MmE1Njg2MTc4NTc1YzcxMTFmZWE0NjMwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xvZzRjcGx1cy9sb2c0Y3BsdXNfMi4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDE3ZDE1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNVTU1BUlkgPSAibG9nNGNwbHVzIHByb3ZpZGVzIGEgc2ltcGxlIEMrKyBsb2dnaW5nIEFQSSBmb3IgbG9nIG1hbmFnZW1lbnQiCi1TRUNUSU9OID0gImxpYnMiCi1IT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9sb2c0Y3BsdXMvYnVncy8iCi0KLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCAmIEJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTQxZThlMDYwYzI2ODIyODg2YjU5MmFiNDc2NWM3NTZiIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wcm9qZWN0LyR7QlBOfS8ke0JQTn0tc3RhYmxlLyR7UFZ9LyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJiM2JiZWIyZGMzZTE3MDc2ODQzMGNmODc1ODMwMTZmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxMDUzOWYyMzE1MjcxZDM3MGM3YmM2YTJiNDgwOGNiZTM2OTI3OTgzN2Y0NTM5Y2U1Yzc4OWU0NTY0ODlmYzYyIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbG9nNGNwbHVzL2ZpbGVzL2xvZzRjcGx1cy1zdGFibGUvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibG9nNGNwbHVzLXN0YWJsZS8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sb2c0Y3BsdXMvbG9nNGNwbHVzXzIuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YzYyZjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbG9nNGNwbHVzL2xvZzRjcGx1c18yLjAuMy5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gImxvZzRjcGx1cyBwcm92aWRlcyBhIHNpbXBsZSBDKysgbG9nZ2luZyBBUEkgZm9yIGxvZyBtYW5hZ2VtZW50IgorU0VDVElPTiA9ICJsaWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9sb2c0Y3BsdXMvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3AvbG9nNGNwbHVzL2J1Z3MvIgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAgJiBCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00MWU4ZTA2MGMyNjgyMjg4NmI1OTJhYjQ3NjVjNzU2YiIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC8ke0JQTn0vJHtCUE59LXN0YWJsZS8ke1BWfS8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjBhODcwOTBjZDhlYzM0ZWExMWIzZTU5OTU0MjM0Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmQ4ZjYyN2FhNjQxN2U2YzZhMTAwYmMwOWRjNDA3Njg0Y2E0NjA1YzkyOWRlZmMxNjkwZWU3ZDZhNTc1Y2U2YSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2xvZzRjcGx1cy9maWxlcy9sb2c0Y3BsdXMtc3RhYmxlLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZzRjcGx1cy1zdGFibGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xzaHcvbHNod18wMi4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sc2h3L2xzaHdfMDIuMTguYmIKaW5kZXggYjM0NGZiZi4uZDFhNzMzNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2xzaHcvbHNod18wMi4xOC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHNody9sc2h3XzAyLjE4LmJiCkBAIC0zMCwzICszMCw1IEBACiBkb19pbnN0YWxsKCkgewogICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KIH0KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlLzAwMDEtaG9vay1Eby1ub3QtYXBwZW5kLWludC10by1zdGQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMWM0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLWhvb2stRG8tbm90LWFwcGVuZC1pbnQtdG8tc3RkLXN0cmluZy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDgzMjFmOGIzYmVmYmFhMzU1Y2ZlZDk4OGZkZDg0OTQxMzM5ODk2NzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA0IEZlYiAyMDE5IDAwOjM4OjE2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGhvb2s6IERvIG5vdCBhcHBlbmQgaW50IHRvIHN0ZDo6c3RyaW5nCisKK0NsYW5nIGZpbmQgdGhpcyBlcnJvcgorCit8IC4uLy4uLy4uL2dpdC9zeXNkZXBzL2xpbnV4LWdudS9ob29rcy5jOjIwNTo1MTogZXJyb3I6IGFkZGluZyAnaW50JyB0byBhIHN0cmluZyBkb2VzIG5vdCBhcHBlbmQgdG8gdGhlIHN0cmluZyBbLVdlcnJvciwtV3N0cmluZy1wbHVzCistaW50XQorfCAgICAgICAgICAgICAgICAgICAgIHx8IHNwcmludGYoc3lzcGF0aCwgIiVzLyVzIiwgc3lzY29uZmRpciwgRk4gKyAxKSA8IDApCit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5efn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYworKysrIGIvc3lzZGVwcy9saW51eC1nbnUvaG9va3MuYworQEAgLTIwMCw5ICsyMDAsMTAgQEAgb3NfZ2V0X2x0cmFjZV9jb25mX2ZpbGVuYW1lcyhzdHJ1Y3QgdmVjdAorIAljb25zdCBjaGFyICpzeXNjb25mZGlyID0gU1lTQ09ORkRJUjsKKyAJaWYgKHN5c2NvbmZkaXIgIT0gTlVMTCAmJiAqc3lzY29uZmRpciAhPSAnXDAnKSB7CisgCQkvKiBObyArMSwgd2Ugc2tpcCB0aGUgaW5pdGlhbCBwZXJpb2QuICAqLworLQkJc3lzcGF0aCA9IG1hbGxvYyhzdHJsZW4oc3lzY29uZmRpcikgKyBzaXplb2YgRk4pOworKwkJc3lzcGF0aCA9IG1hbGxvYyhzdHJsZW4oc3lzY29uZmRpcikgKyBzaXplb2YgRk4gKyAxKTsKKysJCXN5c3BhdGhbc3RybGVuKHN5c2NvbmZkaXIpICsgc2l6ZW9mIEZOICsgMV0gPSAnXDAnOworIAkJaWYgKHN5c3BhdGggPT0gTlVMTAorLQkJICAgIHx8IHNwcmludGYoc3lzcGF0aCwgIiVzLyVzIiwgc3lzY29uZmRpciwgRk4gKyAxKSA8IDApCisrCQkgICAgfHwgc3ByaW50ZihzeXNwYXRoLCAiJXMvJXMiLCBzeXNjb25mZGlyLCBGTikgPCAwKQorIAkJCWdvdG8gZmFpbDsKKyAJfQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2UvMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YWNhYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZS8wMDAxLW1vdmUtZnByaW50Zi1pbnRvLXNhbWUtYmxvY2std2hlcmUtbW9kbmFtZS1hbmQtc3ltbmEucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSAwY2FkMDI1ZjgwY2YwOTBkYzE2YTViNzBlMjE0NzdmNWIwOGE2N2ZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjAgRGVjIDIwMTggMTE6Mjc6NDUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbW92ZSBmcHJpbnRmIGludG8gc2FtZSBibG9jayB3aGVyZSBtb2RuYW1lIGFuZCBzeW1uYW1lIGFyZQorIGNvbXB1dGVkCisKK0luIGl0cyBjdXJyZW50IHN0YXRlIGlmIG1vZCB0dXJucyBvdXQgdG8gYmUgTlVMTCB0aGVuIG1vZG5hbWUgYW5kCitzeW1uYW1lIHdpbGwgYWxzbyB0dXJuIG91dCB0byBiZSBOVUxMIGFuZCBmcHJpbnRpbmcgdGhlbSBhcyBzdHJpbmdzIHdpbGwKK2JlIHByb2JsZW1hdGljCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgb3V0cHV0LmMgfCA3ICsrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvb3V0cHV0LmMgYi9vdXRwdXQuYworaW5kZXggYjYzYmVmZS4uNWFhZGE3YiAxMDA2NDQKKy0tLSBhL291dHB1dC5jCisrKysgYi9vdXRwdXQuYworQEAgLTY1NCwxMiArNjU0LDExIEBAIGZyYW1lX2NhbGxiYWNrIChEd2ZsX0ZyYW1lICpzdGF0ZSwgdm9pZCAqYXJnKQorIAkJCQkJICAgTlVMTCwgTlVMTCwgTlVMTCk7CisgCQlzeW1uYW1lID0gZHdmbF9tb2R1bGVfYWRkcmluZm8obW9kLCBwYywgJm9mZiwgJnN5bSwKKyAJCQkJCSAgICAgICBOVUxMLCBOVUxMLCBOVUxMKTsKKysJCS8qIFRoaXMgbWltaWNzIHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgbGlidW53aW5kIGJlbG93LiAgKi8KKysJCWZwcmludGYob3B0aW9ucy5vdXRwdXQsICIgPiAlcyglcysweCUiIFBSSXg2NCAiKSBbJSIgUFJJeDY0ICJdXG4iLAorKwkJCW1vZG5hbWUsIHN5bW5hbWUsIG9mZiwgcGMpOworIAl9CisgCistCS8qIFRoaXMgbWltaWNzIHRoZSBvdXRwdXQgcHJvZHVjZWQgYnkgbGlidW53aW5kIGJlbG93LiAgKi8KKy0JZnByaW50ZihvcHRpb25zLm91dHB1dCwgIiA+ICVzKCVzKzB4JSIgUFJJeDY0ICIpIFslIiBQUkl4NjQgIl1cbiIsCistCQltb2RuYW1lLCBzeW1uYW1lLCBvZmYsIHBjKTsKKy0KKyAJLyogU2VlIGlmIHdlIGNhbiBleHRyYWN0IHRoZSBzb3VyY2UgbGluZSB0b28gYW5kIHByaW50IGl0IG9uCisgCSAgIHRoZSBuZXh0IGxpbmUgaWYgd2UgY2FuIGZpbmQgaXQuICAqLworIAlpZiAobW9kICE9IE5VTEwpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9sdHJhY2UvbHRyYWNlX2dpdC5iYgppbmRleCBmNDAzM2Y3Li4zZGMyNjljIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHRyYWNlL2x0cmFjZV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x0cmFjZS9sdHJhY2VfZ2l0LmJiCkBAIC0yNSw2ICsyNSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtbjMyLW42NC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1SZWNvZ25pc2UtbGludXgtbXVzbC1hcy1hLWhvc3QtT1MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1taXBzLXBsdC5jLURlbGV0ZS1pbmNsdWRlLWVycm9yLmgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tb3ZlLWZwcmludGYtaW50by1zYW1lLWJsb2NrLXdoZXJlLW1vZG5hbWUtYW5kLXN5bW5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaG9vay1Eby1ub3QtYXBwZW5kLWludC10by1zdGQtc3RyaW5nLnBhdGNoIFwKICAgICAgICAgICAgIgogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL2x1YWppdC9sdWFqaXRfMi4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgppbmRleCBmM2EwZjcwLi5jMmQyMTgwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbHVhaml0L2x1YWppdF8yLjAuNS5iYgpAQCAtMjIsNyArMjIsNyBAQAogIyB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBtdWx0aWxpYiBkZXZlbG9wbWVudCBwYWNrYWdlIChlLmcuCiAjIGxpYmM2LWRldi1pMzg2IG9uIERlYmlhbi9VYnVudHUpIGFuZCBidWlsZCBhIDMyIGJpdCBob3N0IHBhcnQKICMgKEhPU1RfQ0M9ImdjYyAtbTMyIikuCi1CVUlMRF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtAWyctbTMyJywnJ11bZC5nZXRWYXIoJ1NJVEVJTkZPX0JJVFMnLCBUcnVlKSAhPSAnMzInXX0iCitCVUlMRF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtAWyctbTMyJywnJ11bZC5nZXRWYXIoJ1NJVEVJTkZPX0JJVFMnKSAhPSAnMzInXX0iCiAKICMgVGhlIGx1YSBtYWtlZmlsZXMgZXhwZWN0IHRoZSBUQVJHRVRfU1lTIHRvIGJlIGZyb20gdW5hbWUgLXMKICMgVmFsdWVzOiBXaW5kb3dzLCBMaW51eCwgRGFyd2luLCBpT1MsIFN1bk9TLCBQUzMsIEdOVS9rRnJlZUJTRApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWMvMDAwMS1GaXgtV2Vycm9yLWNsYXNzLW1lbWFjY2Vzcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjBkNzcyZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWMvMDAwMS1GaXgtV2Vycm9yLWNsYXNzLW1lbWFjY2Vzcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gYTA1ZDkyYWU4NTAyNGQwNjQ4ZjY5Zjk1MzA3YTFkM2U4ZTUxMTA5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDEgQXByIDIwMTggMTk6NTU6MzggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IC1XZXJyb3I9Y2xhc3MtbWVtYWNjZXNzCi0KLUNhc3RpbmcgdG8gdm9pZCogbWFrZSBnY2MgaGFwcHkgc2luY2UgaXRzIHVwc2V0IGFib3V0Ci1vYmplY3QgdHlwZXMgYW5kIHJpZ2h0bHkgc28KLQotRml4ZXMKLQotJ3ZvaWQqIG1lbWNweSh2b2lkKiwgY29uc3Qgdm9pZCosIHNpemVfdCknIGNvcHlpbmcgYW4gb2JqZWN0IG9mIG5vbi10cml2aWFsIHR5cGUgJ3N0cnVjdCBtc2dwYWNrOjp2Mjo6b2JqZWN0JyBmcm9tIGFuIGFycmF5IG9mICdjb25zdCBtc2dwYWNrX29iamVjdCcge2FrYSAnY29uc3Qgc3RydWN0IG1zZ3BhY2tfb2JqZWN0J30gWy1XZXJyb3I9Y2xhc3MtbWVtYWNjZXNzXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL21zZ3BhY2svbXNncGFjay1jL3B1bGwvNjU5XQotCi0gaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL21zZ3BhY2svdjEvb2JqZWN0LmhwcCBiL2luY2x1ZGUvbXNncGFjay92MS9vYmplY3QuaHBwCi1pbmRleCA2NGRhOGM1My4uOTcyMWY3MDUgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL21zZ3BhY2svdjEvb2JqZWN0LmhwcAotKysrIGIvaW5jbHVkZS9tc2dwYWNrL3YxL29iamVjdC5ocHAKLUBAIC02NjEsNyArNjYxLDcgQEAgaW5saW5lIG9iamVjdDo6b2JqZWN0KGNvbnN0IG1zZ3BhY2tfb2JqZWN0JiBvKQotIGlubGluZSB2b2lkIG9wZXJhdG9yPDwgKG1zZ3BhY2s6Om9iamVjdCYgbywgY29uc3QgbXNncGFja19vYmplY3QmIHYpCi0gewotICAgICAvLyBGSVhNRSBiZXRlciB3YXk/Ci0tICAgIHN0ZDo6bWVtY3B5KCZvLCAmdiwgc2l6ZW9mKHYpKTsKLSsgICAgc3RkOjptZW1jcHkoc3RhdGljX2Nhc3Q8dm9pZCo+KCZvKSwgJnYsIHNpemVvZih2KSk7Ci0gfQotIAotIGlubGluZSBvYmplY3Q6Om9wZXJhdG9yIG1zZ3BhY2tfb2JqZWN0KCkgY29uc3QKLS0tIAotMi4xNi4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18yLjEuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18yLjEuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjkwYTdmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbXNncGFjay9tc2dwYWNrLWNfMi4xLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIk1lc3NhZ2VQYWNrIGltcGxlbWVudGF0aW9uIGZvciBDIGFuZCBDKysiCi1ERVNDUklQVElPTiA9ICJNZXNzYWdlUGFjayBpcyBhbiBlZmZpY2llbnQgYmluYXJ5IHNlcmlhbGl6YXRpb24gZm9ybWF0LiBJdCdzIGxpa2UgSlNPTi4gYnV0IGZhc3QgYW5kIHNtYWxsIgotSE9NRVBBR0UgPSAiaHR0cDovL21zZ3BhY2sub3JnL2luZGV4Lmh0bWwiCi1MSUNFTlNFID0gIkJTTC0xLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9OT1RJQ0U7bWQ1PTdhODU4YzA3NDcyMzYwOGUwODYxNDA2MWRjMDQ0MzUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzljNDIwOWI2ZjJhYmYxNDM3YzgxM2IyMDhmMmQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0VfMV8wLnR4dDttZDU9ZTQyMjRjY2FlY2IxNGQ5NDJjNzFkMzFiZWYyMGQ3OGMgXAotICAgICAgICAgICAgICAgICAgICIKLQotUFYgLj0gIitnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21zZ3BhY2svbXNncGFjay1jIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LVdlcnJvci1jbGFzcy1tZW1hY2Nlc3MucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiMjA4NTk1YjI2MjBjZjYyNjBjZTNkNmQ0Y2Y4NTQzZjEzYjIwNjQ0OSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18zLjEuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9tc2dwYWNrL21zZ3BhY2stY18zLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGZkNDRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL21zZ3BhY2svbXNncGFjay1jXzMuMS4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiTWVzc2FnZVBhY2sgaW1wbGVtZW50YXRpb24gZm9yIEMgYW5kIEMrKyIKK0RFU0NSSVBUSU9OID0gIk1lc3NhZ2VQYWNrIGlzIGFuIGVmZmljaWVudCBiaW5hcnkgc2VyaWFsaXphdGlvbiBmb3JtYXQuIEl0J3MgbGlrZSBKU09OLiBidXQgZmFzdCBhbmQgc21hbGwiCitIT01FUEFHRSA9ICJodHRwOi8vbXNncGFjay5vcmcvaW5kZXguaHRtbCIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL05PVElDRTttZDU9N2E4NThjMDc0NzIzNjA4ZTA4NjE0MDYxZGMwNDQzNTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORzttZDU9MDYzOWM0MjA5YjZmMmFiZjE0MzdjODEzYjIwOGYyZDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRV8xXzAudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyBcCisgICAgICAgICAgICAgICAgICAgIgorCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbXNncGFjay9tc2dwYWNrLWMgXAorICAgICAgICAgICAiCisjIGNwcC0zLjEuMQorU1JDUkVWID0gIjgzYTgyZTNlYjUxMmIxOGQ0MTQ5Y2FiYjdlYjQzYzdlOGJjMDgxYWYiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAxLURpc2FibGUtcnVubmluZy1neXAtZmlsZXMtZm9yLWJ1bmRsZWQtZGVwcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCmluZGV4IDMyNGE0NjguLjVkMGRjMDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoCkBAIC00LDI2ICs0LDIzIEBACiBTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgcnVubmluZyBneXAgb24gc2hhcmVkIGRlcHMKIAogLS0tCi0gTWFrZWZpbGUgfCA3ICsrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIE1ha2VmaWxlIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IDBhMjE3YmQ4OTMuLmUxMjI5YWQwN2YgMTAwNjQ0CitpbmRleCBhOTg3NzJmLi5mNTY2M2UyIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtNzksMTAgKzc5LDkgQEAgJChOT0RFX0dfRVhFKTogY29uZmlnLmd5cGkgb3V0L01ha2VmaWxlCi0gCSQoTUFLRSkgLUMgb3V0IEJVSUxEVFlQRT1EZWJ1ZyBWPSQoVikKLSAJaWYgWyAhIC1yICRAIC1vICEgLUwgJEAgXTsgdGhlbiBsbiAtZnMgb3V0L0RlYnVnLyQoTk9ERV9FWEUpICRAOyBmaQorQEAgLTEyMyw4ICsxMjMsOCBAQCB3aXRoLWNvZGUtY2FjaGU6CisgdGVzdC1jb2RlLWNhY2hlOiB3aXRoLWNvZGUtY2FjaGUKKyAJJChQWVRIT04pIHRvb2xzL3Rlc3QucHkgJChQQVJBTExFTF9BUkdTKSAtLW1vZGU9JChCVUlMRFRZUEVfTE9XRVIpIGNvZGUtY2FjaGUKICAKIC1vdXQvTWFrZWZpbGU6IGNvbW1vbi5neXBpIGRlcHMvdXYvdXYuZ3lwIGRlcHMvaHR0cF9wYXJzZXIvaHR0cF9wYXJzZXIuZ3lwIFwKIC0gICAgICAgICAgICAgIGRlcHMvemxpYi96bGliLmd5cCBkZXBzL3Y4L2d5cGZpbGVzL3Rvb2xjaGFpbi5neXBpIFwKLS0gICAgICAgICAgICAgIGRlcHMvdjgvZ3lwZmlsZXMvZmVhdHVyZXMuZ3lwaSBkZXBzL3Y4L3NyYy92OC5neXAgbm9kZS5neXAgXAotLSAgICAgICAgICAgICAgY29uZmlnLmd5cGkKICtvdXQvTWFrZWZpbGU6IGNvbW1vbi5neXBpIGRlcHMvaHR0cF9wYXJzZXIvaHR0cF9wYXJzZXIuZ3lwIFwKLSsgICAgICAgICAgICAgIGRlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkgZGVwcy92OC9neXBmaWxlcy9mZWF0dXJlcy5neXBpIFwKLSsJCQkgIGRlcHMvdjgvc3JjL3Y4Lmd5cCBub2RlLmd5cCBjb25maWcuZ3lwaQorKyAgICAgICAgICAgICAgZGVwcy92OC9neXBmaWxlcy90b29sY2hhaW4uZ3lwaSBcCisgICAgICAgICAgICAgICBkZXBzL3Y4L2d5cGZpbGVzL2ZlYXR1cmVzLmd5cGkgZGVwcy92OC9neXBmaWxlcy92OC5neXAgbm9kZS5neXAgXAorICAgICAgICAgICAgICAgY29uZmlnLmd5cGkKICAJJChQWVRIT04pIHRvb2xzL2d5cF9ub2RlLnB5IC1mIG1ha2UKLSAKLSBjb25maWcuZ3lwaTogY29uZmlndXJlCiAtLSAKLTIuMTIuMgorMi4xOS4yCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAyLVVzaW5nLW5hdGl2ZS10b3JxdWUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAyLVVzaW5nLW5hdGl2ZS10b3JxdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkwMzVmOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDItVXNpbmctbmF0aXZlLXRvcnF1ZS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDRiYmVlNWUzZDU4YmM0OTExOTk5ZjNlYzJjYzVhYWI4ZGVkNjcxN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiV2lua2VyIE1hdHRoaWFzIChUVC1DQS9FTkcxKSIgPE1hdHRoaWFzLldpbmtlckBkZS5ib3NjaC5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDEwOjQ0OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzaW5nIG5hdGl2ZSB0b3JxdWUKKworLS0tCisgZGVwcy92OC9neXBmaWxlcy92OC5neXAgfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cCBiL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCitpbmRleCA4Yzc4ZjAyMjU1Li40MzQxNjg4NDRlIDEwMDY0NAorLS0tIGEvZGVwcy92OC9neXBmaWxlcy92OC5neXAKKysrKyBiL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCitAQCAtMjgzMSw3ICsyODMxLDYgQEAKKyAgICAgICAgIHsKKyAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ3J1bl90b3JxdWUnLAorICAgICAgICAgICAnaW5wdXRzJzogWyAgIyBPcmRlciBtYXR0ZXJzLgorLSAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS88KEVYRUNVVEFCTEVfUFJFRklYKXRvcnF1ZTwoRVhFQ1VUQUJMRV9TVUZGSVgpJywKKyAgICAgICAgICAgICAnLi4vc3JjL2J1aWx0aW5zL2Jhc2UudHEnLAorICAgICAgICAgICAgICcuLi9zcmMvYnVpbHRpbnMvYXJyYXkudHEnLAorICAgICAgICAgICAgICcuLi9zcmMvYnVpbHRpbnMvdHlwZWQtYXJyYXkudHEnLAorQEAgLTI4NDUsNyArMjg0NCwxMCBAQAorICAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS90b3JxdWUtZ2VuZXJhdGVkL2J1aWx0aW5zLXR5cGVkLWFycmF5LWZyb20tZHNsLWdlbi5jYycsCisgICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3RvcnF1ZS1nZW5lcmF0ZWQvYnVpbHRpbnMtdHlwZWQtYXJyYXktZnJvbS1kc2wtZ2VuLmgnLAorICAgICAgICAgICBdLAorLSAgICAgICAgICAnYWN0aW9uJzogWyc8QChfaW5wdXRzKScsICctbycsICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS90b3JxdWUtZ2VuZXJhdGVkJ10sCisrICAgICAgICAgICdhY3Rpb24nOiBbCisrICAgICAgICAgICAgJ3RvcnF1ZScsCisrICAgICAgICAgICAgJzxAKF9pbnB1dHMpJywKKysgICAgICAgICAgICAnLW8nLCAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvdG9ycXVlLWdlbmVyYXRlZCddLAorICAgICAgICAgfSwKKyAgICAgICBdLAorICAgICB9LCAjIHRvcnF1ZQorLS0gCisyLjE5LjIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDAzLUNyeXB0by1yZWR1Y2UtbWVtb3J5LXVzYWdlLW9mLVNpZ25GaW5hbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDNiYWMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2gKQEAgLTAsMCArMSwxMjIgQEAKK0Zyb20gMjAyODJiMWNiMDM4OTU1MzQyMWM0YzViMTRkZTE5OGM1ZGZmZjUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFubmEgSGVubmluZ3NlbiA8YW5uYUBhZGRhbGVheC5uZXQ+CitEYXRlOiBTYXQsIDIwIE9jdCAyMDE4IDA1OjI0OjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYzogdXNlIG1vcmUgZXhwbGljaXQgcmV0dXJuIHR5cGUgaW4gU2lnbjo6U2lnbkZpbmFsKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXNpbmcgdGhlIG5vbi1pbmRleGVkIHZhcmlhbnQgb2YgYHN0ZDo6Z2V0PD5gIGJyb2tlIFRyYXZpcyBDSS4KK0Fsc28sIHRoaXMgYWxsb3dzIHVzIHRvIGJlIGEgYml0IG1vcmUgY29uY2lzZSB3aGVuIHJldHVybmluZworZnJvbSBgU2lnbkZpbmFsKClgIGR1ZSB0byBzb21lIGVycm9yIGNvbmRpdGlvbi4KKworUmVmczogaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMjM0MjcKKworUFItVVJMOiBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC8yMzc3OQorUmV2aWV3ZWQtQnk6IEpveWVlIENoZXVuZyA8am95ZWVjOWgzQGdtYWlsLmNvbT4KK1Jldmlld2VkLUJ5OiBUb2JpYXMgTmllw59lbiA8dG5pZXNzZW5AdG5pZS5kZT4KK1Jldmlld2VkLUJ5OiBSZWZhZWwgQWNrZXJtYW5uIDxyZWZhY2tAZ21haWwuY29tPgorUmV2aWV3ZWQtQnk6IENvbGluIElocmlnIDxjamlocmlnQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9ub2RlX2NyeXB0by5jYyB8IDIzICsrKysrKysrKysrLS0tLS0tLS0tLS0tCisgc3JjL25vZGVfY3J5cHRvLmggIHwgMTIgKysrKysrKysrKystCisgMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ub2RlX2NyeXB0by5jYyBiL3NyYy9ub2RlX2NyeXB0by5jYworaW5kZXggYmQ4ZDllMDMyNTU0Li5lYzdkNGYyYmI1YmUgMTAwNjQ0CistLS0gYS9zcmMvbm9kZV9jcnlwdG8uY2MKKysrKyBiL3NyYy9ub2RlX2NyeXB0by5jYworQEAgLTM1NjIsMjIgKzM1NjIsMjAgQEAgc3RhdGljIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+IE5vZGVfU2lnbkZpbmFsKEVWUE1EUG9pbnRlciYmIG1kY3R4LAorICAgcmV0dXJuIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+KCk7CisgfQorIAorLXN0ZDo6cGFpcjxTaWduQmFzZTo6RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiBTaWduOjpTaWduRmluYWwoCisrU2lnbjo6U2lnblJlc3VsdCBTaWduOjpTaWduRmluYWwoCisgICAgIGNvbnN0IGNoYXIqIGtleV9wZW0sCisgICAgIGludCBrZXlfcGVtX2xlbiwKKyAgICAgY29uc3QgY2hhciogcGFzc3BocmFzZSwKKyAgICAgaW50IHBhZGRpbmcsCisgICAgIGludCBzYWx0X2xlbikgeworLSAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gYnVmZmVyOworLQorICAgaWYgKCFtZGN0eF8pCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnbk5vdEluaXRpYWxpc2VkLCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICAgIHJldHVybiBTaWduUmVzdWx0KGtTaWduTm90SW5pdGlhbGlzZWQpOworIAorICAgRVZQTURQb2ludGVyIG1kY3R4ID0gc3RkOjptb3ZlKG1kY3R4Xyk7CisgCisgICBCSU9Qb2ludGVyIGJwKEJJT19uZXdfbWVtX2J1Zihjb25zdF9jYXN0PGNoYXIqPihrZXlfcGVtKSwga2V5X3BlbV9sZW4pKTsKKyAgIGlmICghYnApCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnblByaXZhdGVLZXksIHN0ZDo6bW92ZShidWZmZXIpKTsKKysgICAgcmV0dXJuIFNpZ25SZXN1bHQoa1NpZ25Qcml2YXRlS2V5KTsKKyAKKyAgIEVWUEtleVBvaW50ZXIgcGtleShQRU1fcmVhZF9iaW9fUHJpdmF0ZUtleShicC5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudWxscHRyLAorQEAgLTM1ODgsNyArMzU4Niw3IEBAIHN0ZDo6cGFpcjxTaWduQmFzZTo6RXJyb3IsIE1hbGxvY2VkQnVmZmVyPHVuc2lnbmVkIGNoYXI+PiBTaWduOjpTaWduRmluYWwoCisgICAvLyB3aXRob3V0IGBwa2V5YCBiZWluZyBzZXQgdG8gbnVsbHB0cjsKKyAgIC8vIGNmLiB0aGUgdGVzdCBvZiBgdGVzdF9iYWRfcnNhX3ByaXZrZXkucGVtYCBmb3IgYW4gZXhhbXBsZS4KKyAgIGlmICghcGtleSB8fCAwICE9IEVSUl9wZWVrX2Vycm9yKCkpCistICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihrU2lnblByaXZhdGVLZXksIHN0ZDo6bW92ZShidWZmZXIpKTsKKysgICAgcmV0dXJuIFNpZ25SZXN1bHQoa1NpZ25Qcml2YXRlS2V5KTsKKyAKKyAjaWZkZWYgTk9ERV9GSVBTX01PREUKKyAgIC8qIFZhbGlkYXRlIERTQTIgcGFyYW1ldGVycyBmcm9tIEZJUFMgMTg2LTQgKi8KK0BAIC0zNjEyLDkgKzM2MTAsMTAgQEAgc3RkOjpwYWlyPFNpZ25CYXNlOjpFcnJvciwgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+IFNpZ246OlNpZ25GaW5hbCgKKyAgIH0KKyAjZW5kaWYgIC8vIE5PREVfRklQU19NT0RFCisgCistICBidWZmZXIgPSBOb2RlX1NpZ25GaW5hbChzdGQ6Om1vdmUobWRjdHgpLCBwa2V5LCBwYWRkaW5nLCBzYWx0X2xlbik7CisrICBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPiBidWZmZXIgPQorKyAgICAgIE5vZGVfU2lnbkZpbmFsKHN0ZDo6bW92ZShtZGN0eCksIHBrZXksIHBhZGRpbmcsIHNhbHRfbGVuKTsKKyAgIEVycm9yIGVycm9yID0gYnVmZmVyLmlzX2VtcHR5KCkgPyBrU2lnblByaXZhdGVLZXkgOiBrU2lnbk9rOworLSAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKGVycm9yLCBzdGQ6Om1vdmUoYnVmZmVyKSk7CisrICByZXR1cm4gU2lnblJlc3VsdChlcnJvciwgc3RkOjptb3ZlKGJ1ZmZlcikpOworIH0KKyAKKyAKK0BAIC0zNjM5LDE4ICszNjM4LDE4IEBAIHZvaWQgU2lnbjo6U2lnbkZpbmFsKGNvbnN0IEZ1bmN0aW9uQ2FsbGJhY2tJbmZvPFZhbHVlPiYgYXJncykgeworIAorICAgQ2xlYXJFcnJvck9uUmV0dXJuIGNsZWFyX2Vycm9yX29uX3JldHVybjsKKyAKKy0gIHN0ZDo6cGFpcjxFcnJvciwgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4+IHJldCA9IHNpZ24tPlNpZ25GaW5hbCgKKysgIFNpZ25SZXN1bHQgcmV0ID0gc2lnbi0+U2lnbkZpbmFsKAorICAgICAgIGJ1ZiwKKyAgICAgICBidWZfbGVuLAorICAgICAgIGxlbiA+PSAyICYmICFhcmdzWzFdLT5Jc051bGwoKSA/ICpwYXNzcGhyYXNlIDogbnVsbHB0ciwKKyAgICAgICBwYWRkaW5nLAorICAgICAgIHNhbHRfbGVuKTsKKyAKKy0gIGlmIChzdGQ6OmdldDxFcnJvcj4ocmV0KSAhPSBrU2lnbk9rKQorLSAgICByZXR1cm4gc2lnbi0+Q2hlY2tUaHJvdyhzdGQ6OmdldDxFcnJvcj4ocmV0KSk7CisrICBpZiAocmV0LmVycm9yICE9IGtTaWduT2spCisrICAgIHJldHVybiBzaWduLT5DaGVja1Rocm93KHJldC5lcnJvcik7CisgCisgICBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPiBzaWcgPQorLSAgICAgIHN0ZDo6bW92ZShzdGQ6OmdldDxNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4ocmV0KSk7CisrICAgICAgc3RkOjptb3ZlKHJldC5zaWduYXR1cmUpOworIAorICAgTG9jYWw8T2JqZWN0PiByYyA9CisgICAgICAgQnVmZmVyOjpOZXcoZW52LCByZWludGVycHJldF9jYXN0PGNoYXIqPihzaWcucmVsZWFzZSgpKSwgc2lnLnNpemUpCitkaWZmIC0tZ2l0IGEvc3JjL25vZGVfY3J5cHRvLmggYi9zcmMvbm9kZV9jcnlwdG8uaAoraW5kZXggNmZjZjczN2Y2YzQzLi4wYzI2YzFmNmZmMWQgMTAwNjQ0CistLS0gYS9zcmMvbm9kZV9jcnlwdG8uaAorKysrIGIvc3JjL25vZGVfY3J5cHRvLmgKK0BAIC01MTgsNyArNTE4LDE3IEBAIGNsYXNzIFNpZ24gOiBwdWJsaWMgU2lnbkJhc2UgeworICBwdWJsaWM6CisgICBzdGF0aWMgdm9pZCBJbml0aWFsaXplKEVudmlyb25tZW50KiBlbnYsIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0YXJnZXQpOworIAorLSAgc3RkOjpwYWlyPEVycm9yLCBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPj4gU2lnbkZpbmFsKAorKyAgc3RydWN0IFNpZ25SZXN1bHQgeworKyAgICBFcnJvciBlcnJvcjsKKysgICAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4gc2lnbmF0dXJlOworKworKyAgICBleHBsaWNpdCBTaWduUmVzdWx0KAorKyAgICAgICAgRXJyb3IgZXJyLAorKyAgICAgICAgTWFsbG9jZWRCdWZmZXI8dW5zaWduZWQgY2hhcj4mJiBzaWcgPSBNYWxsb2NlZEJ1ZmZlcjx1bnNpZ25lZCBjaGFyPigpKQorKyAgICAgIDogZXJyb3IoZXJyKSwgc2lnbmF0dXJlKHN0ZDo6bW92ZShzaWcpKSB7fQorKyAgfTsKKysKKysgIFNpZ25SZXN1bHQgU2lnbkZpbmFsKAorICAgICAgIGNvbnN0IGNoYXIqIGtleV9wZW0sCisgICAgICAgaW50IGtleV9wZW1fbGVuLAorICAgICAgIGNvbnN0IGNoYXIqIHBhc3NwaHJhc2UsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA0LU1ha2UtY29tcGF0aWJpbGl0eS13aXRoLWdjYy00LjgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA0LU1ha2UtY29tcGF0aWJpbGl0eS13aXRoLWdjYy00LjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI1YzA4NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzLzAwMDQtTWFrZS1jb21wYXRpYmlsaXR5LXdpdGgtZ2NjLTQuOC5wYXRjaApAQCAtMCwwICsxLDY5IEBACitJbXBsZW1lbnQgZnVuY3Rpb24gYXMgd3JhcHBlciBmb3Igc3RkOjptYWtlX3VuaXF1ZQorbWV0aG9kIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBnY2MgPCA0LjkgLgorImVycm9yOjptYWtlX3VuaXF1ZSBpcyBub3QgYSBtZW1iZXIgb2YgJ3N0ZCciCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgorU2lnbmVkLW9mZi1ieTogQnJhZCBCaXNob3AgPGJyYWRsZXliQGZ1enppZXNxdWlycmVsLmNvbT4KKworZGlmZiAtTmF1ciBub2RlLXYxMC4xNS4xL3NyYy9jYXJlc193cmFwLmNjIG5vZGUtdjEwLjE1LjEvc3JjL2NhcmVzX3dyYXAuY2MKKy0tLSBub2RlLXYxMC4xNS4xL3NyYy9jYXJlc193cmFwLmNjCTIwMTktMDEtMjkgMDg6MjA6NTAuMDAwMDAwMDAwICswMTAwCisrKysgbm9kZS12MTAuMTUuMS9zcmMvY2FyZXNfd3JhcC5jYwkyMDE5LTAyLTIxIDE2OjIyOjI1LjQ4OTEzMTY2NSArMDEwMAorQEAgLTUyLDYgKzUyLDE2IEBACisgIyBkZWZpbmUgQUlfVjRNQVBQRUQgMAorICNlbmRpZgorIAorKyNpZm5kZWYgX19jcHBfbGliX21ha2VfdW5pcXVlCisrbmFtZXNwYWNlIHN0ZCB7CisrICAvLy8gbWFrZV91bmlxdWUgaW1wbGVtZW50YXRpb24KKysgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisrICBzdGQ6OnVuaXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKysgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUPihuZXcgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKKysgIH0KKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIG5vZGUgeworIG5hbWVzcGFjZSBjYXJlc193cmFwIHsKKyAKK2RpZmYgLU5hdXIgbm9kZS12MTAuMTUuMS9zcmMvaW5zcGVjdG9yX2FnZW50LmNjIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYworLS0tIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYwkyMDE5LTAxLTI5IDA4OjIwOjUwLjAwMDAwMDAwMCArMDEwMAorKysrIG5vZGUtdjEwLjE1LjEvc3JjL2luc3BlY3Rvcl9hZ2VudC5jYwkyMDE5LTAyLTIxIDE2OjIyOjA5LjAwMDE4NTk5MiArMDEwMAorQEAgLTI0LDYgKzI0LDE2IEBACisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAjZW5kaWYgIC8vIF9fUE9TSVhfXworIAorKyNpZm5kZWYgX19jcHBfbGliX21ha2VfdW5pcXVlCisrbmFtZXNwYWNlIHN0ZCB7CisrICAvLy8gbWFrZV91bmlxdWUgaW1wbGVtZW50YXRpb24KKysgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lLi4uIEFyZ3M+CisrICBzdGQ6OnVuaXF1ZV9wdHI8VD4gbWFrZV91bmlxdWUoQXJncyYmLi4uIGFyZ3MpIHsKKysgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUPihuZXcgVChzdGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsKKysgIH0KKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIG5vZGUgeworIG5hbWVzcGFjZSBpbnNwZWN0b3IgeworIG5hbWVzcGFjZSB7CisKK2RpZmYgLS1naXQgYS9zcmMvaW5zcGVjdG9yL21haW5fdGhyZWFkX2ludGVyZmFjZS5jYyBiL3NyYy9pbnNwZWN0b3IvbWFpbl90aHJlYWRfaW50ZXJmYWNlLmNjCitpbmRleCBlMzc0YzBmZDcwLi4wNWQ3ZDhjNjBmIDEwMDY0NAorLS0tIGEvc3JjL2luc3BlY3Rvci9tYWluX3RocmVhZF9pbnRlcmZhY2UuY2MKKysrKyBiL3NyYy9pbnNwZWN0b3IvbWFpbl90aHJlYWRfaW50ZXJmYWNlLmNjCitAQCAtNiw2ICs2LDE2IEBACisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHVuaWNvZGUvdW5pc3RyLmg+CisKKysjaWZuZGVmIF9fY3BwX2xpYl9tYWtlX3VuaXF1ZQorK25hbWVzcGFjZSBzdGQgeworKyAgLy8vIG1ha2VfdW5pcXVlIGltcGxlbWVudGF0aW9uCisrICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZS4uLiBBcmdzPgorKyAgc3RkOjp1bmlxdWVfcHRyPFQ+IG1ha2VfdW5pcXVlKEFyZ3MmJi4uLiBhcmdzKSB7CisrICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VD4obmV3IFQoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7CisrICB9CisrfQorKyNlbmRpZgorKworIG5hbWVzcGFjZSBub2RlIHsKKyBuYW1lc3BhY2UgaW5zcGVjdG9yIHsKKyBuYW1lc3BhY2UgewpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNS1MaW5rLWF0b21pYy1saWJyYXJ5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNS1MaW5rLWF0b21pYy1saWJyYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ZmYxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA1LUxpbmstYXRvbWljLWxpYnJhcnkucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorTGluayBhdG9taWMgbGlicmFyeSB0byBmaXggbWlzc2luZyB1bmRlZmluZWQgcmVmZXJyZW5jZXMKK2xpa2UgInVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fYXRvbWljX2ZldGNoX2FkZF84JyIKKworU2lnbmVkLW9mZi1ieTogQW5kcmVqIFZhbGVrIDxhbmRyZWoudmFsZWtAc2llbWVucy5jb20+CisKK2RpZmYgLU5hdXIgbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cCBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdjguZ3lwCistLS0gbm9kZS12MTAuMTUuMS9kZXBzL3Y4L2d5cGZpbGVzL3Y4Lmd5cAkyMDE5LTAyLTEzIDA5OjAyOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy92OC5neXAJMjAxOS0wMi0xNSAyMToyNzoxMS43NTU2Nzk2NjAgKzAxMDAKK0BAIC00NTIsNiArNDUyLDExIEBACisgICAgICAgICAnPChERVBUSCknLAorICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpJworICAgICAgIF0sCisrICAgICAgJ2xpbmtfc2V0dGluZ3MnOiB7CisrICAgICAgICAnbGlicmFyaWVzJzogWworKyAgICAgICAgICAnLWxhdG9taWMnCisrICAgICAgICBdLAorKyAgICAgIH0sCisgICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICAnPEAoaW5zcGVjdG9yX2FsbF9zb3VyY2VzKScsCisgICAgICAgICAnLi4vaW5jbHVkZS8vdjgtaW5zcGVjdG9yLXByb3RvY29sLmgnLApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqcy8wMDA2LVVzZS10YXJnZXQtbGRmbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjU2OWNkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanMvMDAwNi1Vc2UtdGFyZ2V0LWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorVGhlIHRhcmdldCBMREZMQUdTIGhhdmUgYmVlbiBpZ25vcmVkLiBUb29scyBsaWtlIHRvcnF1ZQoraGF2ZSBiZWVuIGxvYWRlZCBmcm9tIHN5c3RlbSBsaWJyYXJpZXMsIGV2ZW4gaWYgYSBuYXRpdmUKK29uZSB3YXMgdGhlIHRhcmdldC4KK3wkIGxkZCB0b3JxdWUgCit8ICAgIGxpYnouc28uMSA9PiAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliei5zby4xCit8ICAgIGxpYmNyeXB0by5zby4xLjEgPT4gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjcnlwdG8uc28uMS4xCit8ICAgIGxpYnNzbC5zby4xLjEgPT4gL3Vzci9saWIveDg2XzY0LWxpbnV4LWdudS9saWJzc2wuc28uMS4xCit8ICAgIGxpYmljdWkxOG4uc28uNjMgPT4gbm90IGZvdW5kCit8ICAgIGxpYmljdXVjLnNvLjYzID0+IG5vdCBmb3VuZAorLi4uCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlaiBWYWxlayA8YW5kcmVqLnZhbGVrQHNpZW1lbnMuY29tPgorCitkaWZmIC1OYXVyIG5vZGUtdjEwLjE1LjEvZGVwcy92OC9neXBmaWxlcy90b29sY2hhaW4uZ3lwaSBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkKKy0tLSBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkJMjAxOS0wMy0xOCAxNTowMTozOS4wMDAwMDAwMDAgKzAxMDAKKysrKyBub2RlLXYxMC4xNS4xL2RlcHMvdjgvZ3lwZmlsZXMvdG9vbGNoYWluLmd5cGkJMjAxOS0wMy0xOCAxNTowNDowOC42MjgzNjEzMDggKzAxMDAKK0BAIC0xMTA2LDYgKzExMDYsNyBAQAorICAgICAgICAgICAgICdjZmxhZ3MnOiBbICctZm5vLXN0cmljdC1hbGlhc2luZycgXSwKKyAgICAgICAgICAgfV0sCisgICAgICAgICBdLCAgIyBjb25kaXRpb25zCisrICAgICAgICAnbGRmbGFncysnOiBbICckKExERkxBR1MpJyBdLAorICAgICAgIH1dLAorICAgICAgIFsnT1M9PSJzb2xhcmlzIicsIHsKKyAgICAgICAgICdkZWZpbmVzJzogWyAnX19DOTlGRUFUVVJFU19fPTEnIF0sICAjIGlzaW5mKCkgZXRjLgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL25vZGVqcy9ub2RlanNfMTAuMTUuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzEwLjE1LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJlNzdlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzEwLjE1LjMuYmIKQEAgLTAsMCArMSwxMDUgQEAKK0RFU0NSSVBUSU9OID0gIm5vZGVKUyBFdmVudGVkIEkvTyBmb3IgVjggSmF2YVNjcmlwdCIKK0hPTUVQQUdFID0gImh0dHA6Ly9ub2RlanMub3JnIgorTElDRU5TRSA9ICJNSVQgJiBCU0QgJiBBcnRpc3RpYy0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05Y2VlYmE3OWViMmVhMTA2N2I3YjNlZDE2ZmZmOGJhYiIKKworREVQRU5EUyA9ICJvcGVuc3NsIHpsaWIgaWN1IgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBub2RlanMtbmF0aXZlIgorCitpbmhlcml0IHBrZ2NvbmZpZworCitDT01QQVRJQkxFX01BQ0hJTkVfYXJtdjQgPSAiKCEuKmFybXY0KS4qIgorQ09NUEFUSUJMRV9NQUNISU5FX2FybXY1ID0gIighLiphcm12NSkuKiIKK0NPTVBBVElCTEVfTUFDSElORV9taXBzNjQgPSAiKCEuKm1pcHM2NCkuKiIKKworU1JDX1VSSSA9ICJodHRwOi8vbm9kZWpzLm9yZy9kaXN0L3Yke1BWfS9ub2RlLXYke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLXJ1bm5pbmctZ3lwLWZpbGVzLWZvci1idW5kbGVkLWRlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1DcnlwdG8tcmVkdWNlLW1lbW9yeS11c2FnZS1vZi1TaWduRmluYWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1NYWtlLWNvbXBhdGliaWxpdHktd2l0aC1nY2MtNC44LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtTGluay1hdG9taWMtbGlicmFyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LVVzZS10YXJnZXQtbGRmbGFncy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Vc2luZy1uYXRpdmUtdG9ycXVlLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDc2MjEwYTZhZTFlYTczZDEwMjU0OTQ3Njg0ODM2ZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGUyMmQ5MjZmMDU0MTUwMDAyMDU1NDc0ZTQ1MmVkNmNiYjg1ODYwYWE3ZGM1NDIyMjEzYTIwMDJlZDk3OTFkNSIKKworUyA9ICIke1dPUktESVJ9L25vZGUtdiR7UFZ9IgorCisjIHY4IGVycm9ycyBvdXQgaWYgeW91IGhhdmUgc2V0IENDQUNIRQorQ0NBQ0hFID0gIiIKKworZGVmIG1hcF9ub2RlanNfYXJjaChhLCBkKToKKyAgICBpbXBvcnQgcmUKKworICAgIGlmICAgcmUubWF0Y2goJ2kuODYkJywgYSk6IHJldHVybiAnaWEzMicKKyAgICBlbGlmIHJlLm1hdGNoKCd4ODZfNjQkJywgYSk6IHJldHVybiAneDY0JworICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjQkJywgYSk6IHJldHVybiAnYXJtNjQnCisgICAgZWxpZiByZS5tYXRjaCgnKHBvd2VycGM2NHxwcGM2NGxlKSQnLCBhKTogcmV0dXJuICdwcGM2NCcKKyAgICBlbGlmIHJlLm1hdGNoKCdwb3dlcnBjJCcsIGEpOiByZXR1cm4gJ3BwYycKKyAgICByZXR1cm4gYQorCitBUkNIRkxBR1NfYXJtID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NhbGxjb252ZW50aW9uLWhhcmQnLCAnLS13aXRoLWFybS1mbG9hdC1hYmk9aGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1zb2Z0ZnAnLCBkKX0gXAorICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICduZW9uJywgJy0td2l0aC1hcm0tZnB1PW5lb24nLCBcCisgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcHYzZDE2JywgJy0td2l0aC1hcm0tZnB1PXZmcHYzLWQxNicsIFwKKyAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjMnLCAnLS13aXRoLWFybS1mcHU9dmZwdjMnLCBcCisgICAgICAgICAgICAgICAgICAgICctLXdpdGgtYXJtLWZwdT12ZnAnLCBkKSwgZCksIGQpfSIKK0dZUF9ERUZJTkVTX2FwcGVuZF9taXBzZWwgPSAiIG1pcHNfYXJjaF92YXJpYW50PSdyMScgIgorQVJDSEZMQUdTID89ICIiCisKKyMgTm9kZSBpcyB3YXkgdG9vIGNvb2wgdG8gdXNlIHByb3BlciBhdXRvdG9vbHMsIHNvIHdlIGluc3RhbGwgdHdvIHdyYXBwZXJzIHRvIGZvcmNlZnVsbHkgaW5qZWN0IHByb3BlciBhcmNoIGNmbGFncyB0byB3b3JrYXJvdW5kIGd5cGkKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgcm0gLXJmICR7U30vZGVwcy9vcGVuc3NsCisgICAgZXhwb3J0IExEPSIke0NYWH0iCisgICAgR1lQX0RFRklORVM9IiR7R1lQX0RFRklORVN9IiBleHBvcnQgR1lQX0RFRklORVMKKyAgICAjICRUQVJHRVRfQVJDSCBzZXR0aW5ncyBkb24ndCBtYXRjaCAtLWRlc3QtY3B1IHNldHRpbmdzCisgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS13aXRoLWludGw9c3lzdGVtLWljdSAtLXdpdGhvdXQtc25hcHNob3QgLS1zaGFyZWQtb3BlbnNzbCAtLXNoYXJlZC16bGliIFwKKyAgICAgICAgICAgICAgIC0tZGVzdC1jcHU9IiR7QG1hcF9ub2RlanNfYXJjaChkLmdldFZhcignVEFSR0VUX0FSQ0gnKSwgZCl9IiBcCisgICAgICAgICAgICAgICAtLWRlc3Qtb3M9bGludXggXAorICAgICAgICAgICAgICAgJHtBUkNIRkxBR1N9Cit9CisKK2RvX2NvbXBpbGUgKCkgeworICAgIGV4cG9ydCBMRD0iJHtDWFh9IgorICAgIG9lX3J1bm1ha2UgQlVJTERUWVBFPVJlbGVhc2UKK30KKworZG9faW5zdGFsbCAoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyB1c2Ugbm9kZSBmcm9tIFBBVEggaW5zdGVhZCBvZiBhYnNvbHV0ZSBwYXRoIHRvIHN5c3Jvb3QKKyAgICAjIG5vZGUtdjAuMTAuMjUvdG9vbHMvaW5zdGFsbC5weSBpcyB1c2luZzoKKyAgICAjIHNoZWJhbmcgPSBvcy5wYXRoLmpvaW4obm9kZV9wcmVmaXgsICdiaW4vbm9kZScpCisgICAgIyB1cGRhdGVfc2hlYmFuZyhsaW5rX3BhdGgsIHNoZWJhbmcpCisgICAgIyBhbmQgbm9kZV9wcmVmaXggY2FuIGJlIHZlcnkgbG9uZyBwYXRoIHRvIGJpbmRpciBpbiBuYXRpdmUgc3lzcm9vdCBhbmQKKyAgICAjIHdoZW4gaXQgZXhjZWVkcyAxMjggY2hhcmFjdGVyIHNoZWJhbmcgbGltaXQgaXQncyBzdHJpcHBlZCB0byBpbmNvcnJlY3QgcGF0aAorICAgICMgYW5kIG5wbSBmYWlscyB0byBleGVjdXRlIGxpa2UgaW4gdGhpcyBjYXNlIHdpdGggMTMzIGNoYXJhY3RlcnMgc2hvdyBpbiBsb2cuZG9faW5zdGFsbDoKKyAgICAjIHVwZGF0aW5nIHNoZWJhbmcgb2YgL2hvbWUvamVua2lucy93b3Jrc3BhY2UvYnVpbGQtd2Vib3MtbmlnaHRseS9kZXZpY2UvcWVtdXg4Ni9sYWJlbC9vcGVuLXdlYm9zLWJ1aWxkZXIvQlVJTEQtcWVtdXg4Ni93b3JrL3g4Nl82NC1saW51eC9ub2RlanMtbmF0aXZlLzAuMTAuMTUtcjAvaW1hZ2UvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25wbSB0byAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvYmluL25vZGUKKyAgICAjIC91c3IvYmluL25wbSBpcyBzeW1saW5rIHRvIC91c3IvbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKKyAgICAjIHVzZSBzZWQgb24gbnBtLWNsaS5qcyBiZWNhdXNlIG90aGVyd2lzZSBzeW1saW5rIGlzIHJlcGxhY2VkIHdpdGggbm9ybWFsIGZpbGUgYW5kCisgICAgIyBucG0tY2xpLmpzIGNvbnRpbnVlcyB0byB1c2Ugb2xkIHNoZWJhbmcKKyAgICBzZWQgIjFzXi4qXiNcIS91c3IvYmluL2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworCisgICAgIyBJbnN0YWxsIHRoZSBuYXRpdmUgdG9ycXVlIHRvIHByb3ZpZGUgaXQgd2l0aGluIHN5c3Jvb3QgZm9yIHRoZSB0YXJnZXQgY29tcGlsYXRpb24KKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9vdXQvUmVsZWFzZS90b3JxdWUgJHtEfSR7YmluZGlyfS90b3JxdWUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgIHNlZCAiMXNeLipeI1whJHtiaW5kaXJ9L2VudiBub2RlXmciIC1pICR7RH0ke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcworfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tbnBtIgorRklMRVNfJHtQTn0tbnBtID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMgJHtiaW5kaXJ9L25wbSAke2JpbmRpcn0vbnB4IgorUkRFUEVORFNfJHtQTn0tbnBtID0gImJhc2ggcHl0aG9uLXNoZWxsIHB5dGhvbi1kYXRldGltZSBweXRob24tc3VicHJvY2VzcyBweXRob24tdGV4dHV0aWxzIFwKKyAgICBweXRob24tY29tcGlsZXIgcHl0aG9uLW1pc2MgcHl0aG9uLW11bHRpcHJvY2Vzc2luZyIKKworUEFDS0FHRVMgPSsgIiR7UE59LXN5c3RlbXRhcCIKK0ZJTEVTXyR7UE59LXN5c3RlbXRhcCA9ICIke2RhdGFkaXJ9L3N5c3RlbXRhcCIKKworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzguMTIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9ub2RlanMvbm9kZWpzXzguMTIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGMzMzk3OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvbm9kZWpzL25vZGVqc184LjEyLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJub2RlSlMgRXZlbnRlZCBJL08gZm9yIFY4IEphdmFTY3JpcHQiCi1IT01FUEFHRSA9ICJodHRwOi8vbm9kZWpzLm9yZyIKLUxJQ0VOU0UgPSAiTUlUICYgQlNEICYgQXJ0aXN0aWMtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmRlOTFkNWM1YmJkMWUwMzg5NjIzZTFhYzAxOGQ5ZTgiCi0KLURFUEVORFMgPSAib3BlbnNzbCB6bGliIGljdSIKLQotaW5oZXJpdCBwa2djb25maWcKLQotQ09NUEFUSUJMRV9NQUNISU5FX2FybXY0ID0gIighLiphcm12NCkuKiIKLUNPTVBBVElCTEVfTUFDSElORV9hcm12NSA9ICIoIS4qYXJtdjUpLioiCi1DT01QQVRJQkxFX01BQ0hJTkVfbWlwczY0ID0gIighLiptaXBzNjQpLioiCi0KLVNSQ19VUkkgPSAiaHR0cDovL25vZGVqcy5vcmcvZGlzdC92JHtQVn0vbm9kZS12JHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1ydW5uaW5nLWd5cC1maWxlcy1mb3ItYnVuZGxlZC1kZXBzLnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI4YjNhYmQwMzNkYWU5NmI2ZmFkY2I2YTg3MmE0NGQzYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1YTlkZmY1ODAxNmMxOGZiNGJmOTAyZDk2M2IxMjRmZjA1OGE1NTBlYmNkOTg0MGM2Nzc3NTczODdiY2U0MTlhIgotCi1TID0gIiR7V09SS0RJUn0vbm9kZS12JHtQVn0iCi0KLSMgdjggZXJyb3JzIG91dCBpZiB5b3UgaGF2ZSBzZXQgQ0NBQ0hFCi1DQ0FDSEUgPSAiIgotCi1kZWYgbWFwX25vZGVqc19hcmNoKGEsIGQpOgotICAgIGltcG9ydCByZQotCi0gICAgaWYgICByZS5tYXRjaCgnaS44NiQnLCBhKTogcmV0dXJuICdpYTMyJwotICAgIGVsaWYgcmUubWF0Y2goJ3g4Nl82NCQnLCBhKTogcmV0dXJuICd4NjQnCi0gICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogcmV0dXJuICdhcm02NCcKLSAgICBlbGlmIHJlLm1hdGNoKCcocG93ZXJwYzY0fHBwYzY0bGUpJCcsIGEpOiByZXR1cm4gJ3BwYzY0JwotICAgIGVsaWYgcmUubWF0Y2goJ3Bvd2VycGMkJywgYSk6IHJldHVybiAncHBjJwotICAgIHJldHVybiBhCi0KLUFSQ0hGTEFHU19hcm0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY2FsbGNvbnZlbnRpb24taGFyZCcsICctLXdpdGgtYXJtLWZsb2F0LWFiaT1oYXJkJywgJy0td2l0aC1hcm0tZmxvYXQtYWJpPXNvZnRmcCcsIGQpfSBcCi0gICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ25lb24nLCAnLS13aXRoLWFybS1mcHU9bmVvbicsIFwKLSAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjNkMTYnLCAnLS13aXRoLWFybS1mcHU9dmZwdjMtZDE2JywgXAotICAgICAgICAgICAgICAgICAgICBiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnB2MycsICctLXdpdGgtYXJtLWZwdT12ZnB2MycsIFwKLSAgICAgICAgICAgICAgICAgICAgJy0td2l0aC1hcm0tZnB1PXZmcCcsIGQpLCBkKSwgZCl9IgotR1lQX0RFRklORVNfYXBwZW5kX21pcHNlbCA9ICIgbWlwc19hcmNoX3ZhcmlhbnQ9J3IxJyAiCi1BUkNIRkxBR1MgPz0gIiIKLQotIyBOb2RlIGlzIHdheSB0b28gY29vbCB0byB1c2UgcHJvcGVyIGF1dG90b29scywgc28gd2UgaW5zdGFsbCB0d28gd3JhcHBlcnMgdG8gZm9yY2VmdWxseSBpbmplY3QgcHJvcGVyIGFyY2ggY2ZsYWdzIHRvIHdvcmthcm91bmQgZ3lwaQotZG9fY29uZmlndXJlICgpIHsKLSAgICBybSAtcmYgJHtTfS9kZXBzL29wZW5zc2wKLSAgICBleHBvcnQgTEQ9IiR7Q1hYfSIKLSAgICBHWVBfREVGSU5FUz0iJHtHWVBfREVGSU5FU30iIGV4cG9ydCBHWVBfREVGSU5FUwotICAgICMgJFRBUkdFVF9BUkNIIHNldHRpbmdzIGRvbid0IG1hdGNoIC0tZGVzdC1jcHUgc2V0dGluZ3MKLSAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSAtLXdpdGgtaW50bD1zeXN0ZW0taWN1IC0td2l0aG91dC1zbmFwc2hvdCAtLXNoYXJlZC1vcGVuc3NsIC0tc2hhcmVkLXpsaWIgXAotICAgICAgICAgICAgICAgLS1kZXN0LWNwdT0iJHtAbWFwX25vZGVqc19hcmNoKGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpLCBkKX0iIFwKLSAgICAgICAgICAgICAgIC0tZGVzdC1vcz1saW51eCBcCi0gICAgICAgICAgICAgICAke0FSQ0hGTEFHU30KLX0KLQotZG9fY29tcGlsZSAoKSB7Ci0gICAgZXhwb3J0IExEPSIke0NYWH0iCi0gICAgb2VfcnVubWFrZSBCVUlMRFRZUEU9UmVsZWFzZQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAjIHVzZSBub2RlIGZyb20gUEFUSCBpbnN0ZWFkIG9mIGFic29sdXRlIHBhdGggdG8gc3lzcm9vdAotICAgICMgbm9kZS12MC4xMC4yNS90b29scy9pbnN0YWxsLnB5IGlzIHVzaW5nOgotICAgICMgc2hlYmFuZyA9IG9zLnBhdGguam9pbihub2RlX3ByZWZpeCwgJ2Jpbi9ub2RlJykKLSAgICAjIHVwZGF0ZV9zaGViYW5nKGxpbmtfcGF0aCwgc2hlYmFuZykKLSAgICAjIGFuZCBub2RlX3ByZWZpeCBjYW4gYmUgdmVyeSBsb25nIHBhdGggdG8gYmluZGlyIGluIG5hdGl2ZSBzeXNyb290IGFuZAotICAgICMgd2hlbiBpdCBleGNlZWRzIDEyOCBjaGFyYWN0ZXIgc2hlYmFuZyBsaW1pdCBpdCdzIHN0cmlwcGVkIHRvIGluY29ycmVjdCBwYXRoCi0gICAgIyBhbmQgbnBtIGZhaWxzIHRvIGV4ZWN1dGUgbGlrZSBpbiB0aGlzIGNhc2Ugd2l0aCAxMzMgY2hhcmFjdGVycyBzaG93IGluIGxvZy5kb19pbnN0YWxsOgotICAgICMgdXBkYXRpbmcgc2hlYmFuZyBvZiAvaG9tZS9qZW5raW5zL3dvcmtzcGFjZS9idWlsZC13ZWJvcy1uaWdodGx5L2RldmljZS9xZW11eDg2L2xhYmVsL29wZW4td2Vib3MtYnVpbGRlci9CVUlMRC1xZW11eDg2L3dvcmsveDg2XzY0LWxpbnV4L25vZGVqcy1uYXRpdmUvMC4xMC4xNS1yMC9pbWFnZS9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbnBtIHRvIC9ob21lL2plbmtpbnMvd29ya3NwYWNlL2J1aWxkLXdlYm9zLW5pZ2h0bHkvZGV2aWNlL3FlbXV4ODYvbGFiZWwvb3Blbi13ZWJvcy1idWlsZGVyL0JVSUxELXFlbXV4ODYvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9iaW4vbm9kZQotICAgICMgL3Vzci9iaW4vbnBtIGlzIHN5bWxpbmsgdG8gL3Vzci9saWIvbm9kZV9tb2R1bGVzL25wbS9iaW4vbnBtLWNsaS5qcwotICAgICMgdXNlIHNlZCBvbiBucG0tY2xpLmpzIGJlY2F1c2Ugb3RoZXJ3aXNlIHN5bWxpbmsgaXMgcmVwbGFjZWQgd2l0aCBub3JtYWwgZmlsZSBhbmQKLSAgICAjIG5wbS1jbGkuanMgY29udGludWVzIHRvIHVzZSBvbGQgc2hlYmFuZwotICAgIHNlZCAiMXNeLipeI1whL3Vzci9iaW4vZW52IG5vZGVeZyIgLWkgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi9ub2RlX21vZHVsZXMvbnBtL2Jpbi9ucG0tY2xpLmpzCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICBzZWQgIjFzXi4qXiNcISR7YmluZGlyfS9lbnYgbm9kZV5nIiAtaSAke0R9JHtleGVjX3ByZWZpeH0vbGliL25vZGVfbW9kdWxlcy9ucG0vYmluL25wbS1jbGkuanMKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LW5wbSIKLUZJTEVTXyR7UE59LW5wbSA9ICIke2V4ZWNfcHJlZml4fS9saWIvbm9kZV9tb2R1bGVzICR7YmluZGlyfS9ucG0gJHtiaW5kaXJ9L25weCIKLVJERVBFTkRTXyR7UE59LW5wbSA9ICJiYXNoIHB5dGhvbi1zaGVsbCBweXRob24tZGF0ZXRpbWUgcHl0aG9uLXN1YnByb2Nlc3MgcHl0aG9uLXRleHR1dGlscyBcCi0gICAgcHl0aG9uLWNvbXBpbGVyIHB5dGhvbi1taXNjIHB5dGhvbi1tdWx0aXByb2Nlc3NpbmciCi0KLVBBQ0tBR0VTID0rICIke1BOfS1zeXN0ZW10YXAiCi1GSUxFU18ke1BOfS1zeXN0ZW10YXAgPSAiJHtkYXRhZGlyfS9zeXN0ZW10YXAiCi0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb2N0YXZlL2ZpbGVzL2ZpeC1ibGFzLWxpYnJhcnktaW50ZWdlci1zaXplLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9maWxlcy9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODlkN2QzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9maWxlcy9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaApAQCAtMCwwICsxLDE2IEBACitkaWZmIC1OYXVyIG9jdGF2ZS00LjQuMS5vcmlnL2NvbmZpZ3VyZS5hYyBvY3RhdmUtNC40LjEvY29uZmlndXJlLmFjCistLS0gb2N0YXZlLTQuNC4xLm9yaWcvY29uZmlndXJlLmFjCTIwMTktMDItMjMgMTA6NDY6MjQuMjg3MjQwNTcxICswMDAwCisrKysgb2N0YXZlLTQuNC4xL2NvbmZpZ3VyZS5hYwkyMDE5LTAyLTIzIDEwOjQ2OjQyLjI1NTI0OTMzMyArMDAwMAorQEAgLTc2Miw2ICs3NjIsMTIgQEAKKyAgIEFDX01TR19FUlJPUihbQkxBUyBhbmQgTEFQQUNLIGxpYnJhcmllcyBhcmUgcmVxdWlyZWRdKQorIGZpCisgCisraWYgYWNfZm5fZjc3X3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKysgIGF4X2JsYXNfaW50ZWdlcl9zaXplPTgKKytlbHNlCisrICBheF9ibGFzX2ludGVnZXJfc2l6ZT00CisrZmkKKysKKyBjYXNlICRheF9ibGFzX2ludGVnZXJfc2l6ZSBpbgorICAgNCkKKyAgICAgSEFWRV82NF9CSVRfQkxBUz1ubwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9vY3RhdmVfNC40LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb2N0YXZlL29jdGF2ZV80LjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWMzMmNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29jdGF2ZS9vY3RhdmVfNC40LjEuYmIKQEAgLTAsMCArMSw0MCBAQAorREVTQ1JJUFRJT04gPSAiSGlnaC1sZXZlbCBsYW5ndWFnZSwgcHJpbWFyaWx5IGludGVuZGVkIGZvciBudW1lcmljYWwgY29tcHV0YXRpb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL29jdGF2ZS8iCitTRUNUSU9OID0gIm1hdGgiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZWJiZDNlMzQyMzdhZjI2ZGE1ZGMwOGE0ZTQ0MDQ2NCIKKworREVQRU5EUyA9ICJncGVyZi1uYXRpdmUgdGV4aW5mbyBsYXBhY2sgcGNyZSByZWFkbGluZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHRleGluZm8gZ2V0dGV4dAorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWphdmEgLS1kaXNhYmxlLWRvY3MiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvb2N0YXZlLyR7UE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtYmxhcy1saWJyYXJ5LWludGVnZXItc2l6ZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNDNiZDVmNDMwOWEwYzA0OGM5MWFmMTBjZjhlODY3NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOWZiZDBmMjEyZjRlZjIxZTUzZjFkOWM0MWNmMzBjZTNkN2Y5NDUwZmI0NDkxMTYwMWUyMWVkNjRjNjdhZTk3IgorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJZm9yIGZvbGRlciBpbiAibGlib2N0YXZlL29wZXJhdG9ycyBsaWJvY3RhdmUvbnVtZXJpYyBsaWJvY3RhdmUvYXJyYXkgbGlib2N0YXZlL3V0aWwiOyBkbworCQlta2RpciAtcCAke0J9LyR7Zm9sZGVyfQorCWRvbmUKK30KKworUEFDS0FHRVMgPSsgIiBvY3RhdmUtY29tbW9uIGxpYm9jdGF2ZSBsaWJvY3RhdmUtZGV2IGxpYm9jdGF2ZS1kYmciCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7c2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyogJHtkYXRhZGlyfS8ke1BOfSBcCisgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vJHtQVn0vb2N0ICR7bGliZGlyfS8ke1BOfS8ke1BWfS9zaXRlICBcCisgICAgICAgICAgICAke2xpYmRpcn0vJHtQTn0vc2l0ZSAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucyAke2RhdGFkaXJ9L21ldGFpbmZvIgorRklMRVNfJHtQTn0tY29tbW9uID0gIiR7ZGF0YWRpcn0vaWNvbnMiCisKK0ZJTEVTX2xpYm9jdGF2ZSA9ICIke2xpYmRpcn0vJHtQTn0vJHtQVn0vbGliKiR7U09MSUJTfSIKK0ZJTEVTX2xpYm9jdGF2ZS1kZXYgPSAiJHtsaWJkaXJ9LyR7UE59LyR7UFZ9L2xpYioke1NPTElCU0RFVn0iCitGSUxFU19saWJvY3RhdmUtZGJnID0gIiR7bGliZGlyfS8ke1BOfS8ke1BWfS8uZGVidWciCisKK0ZJTEVTXyR7UE59LWRiZyA9ICIke2JpbmRpcn0vLmRlYnVnICR7bGliZGlyfS8ke1BOfS8ke1BWfS9vY3QvJHtUQVJHRVRfU1lTfS8uZGVidWciCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL29wZW5vY2Qvb3Blbm9jZF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgppbmRleCAyMWE4NmRlLi40Mzc3ZTg4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvb3Blbm9jZC9vcGVub2NkX2dpdC5iYgpAQCAtMjksNiArMjksOCBAQAogCiBkb19jb25maWd1cmUoKSB7CiAgICAgLi9ib290c3RyYXAgbm9zdWJtb2R1bGUKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9L2ppbXRjbC9hdXRvc2V0dXAKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfS9qaW10Y2wvYXV0b3NldHVwCiAgICAgb2VfcnVuY29uZiAke0VYVFJBX09FQ09ORn0KIH0KIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmwvMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybC8wMDAxLVVzZS1BUEktZnVuY3Rpb24tZm9yLXJlY29ubmVjdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGQ4OGMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJkLW15c3FsLXBlcmwvMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBlZGI2YjIwMmI3ZTIzMzg2NGFhNWRkODQ1MzI2NDZjNTAwOTdiMGI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgNCBNYXIgMjAxOSAwMDo0OToxNyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBVc2UgQVBJIGZ1bmN0aW9uIGZvciByZWNvbm5lY3QKKworRm9yIGNvbmZpZ3VyaW5nIHJlY29ubmVjdCBmdW5jdGlvbmFsaXR5IHVzZSBzdGFuZGFyZCBBUEkgZnVuY3Rpb24KK01ZU1FMX09QVF9SRUNPTk5FQ1QgaW5zdGVhZCBvZiBkaXJlY3QgbW9kaWZpY2F0aW9uIG9mIGludGVybmFsIHN0cnVjdHVyZXMKK3doaWNoIGRvZXMgbm90IHdvcmsgZm9yIE1hcmlhREIuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGggTWFyaWFEQiAxMC4yLjYrLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vcGVybDUtZGJpL0RCRC1teXNxbC9jb21taXQvMGIxODg0ZjQxNTNkM2RlMGE5MWJhZTRkM2IzY2MxNzcxZmZkZjRmM10KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGRiZGltcC5jIHwgMTYgKysrKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGJkaW1wLmMgYi9kYmRpbXAuYworaW5kZXggOWI4YjMxMy4uM2JlZDIxMyAxMDA2NDQKKy0tLSBhL2RiZGltcC5jCisrKysgYi9kYmRpbXAuYworQEAgLTE5NzksNiArMTk3OSwxNiBAQCBNWVNRTCAqbXlzcWxfZHJfY29ubmVjdCgKKyAKKyAgICAgaWYgKHJlc3VsdCkKKyAgICAgeworKyAgICAgIC8qCisrICAgICAgICB3ZSB0dXJuIG9mZiBNeXNxbCdzIGF1dG8gcmVjb25uZWN0IGFuZCBoYW5kbGUgcmUtY29ubmVjdGluZyBvdXJzZWx2ZXMKKysgICAgICAgIHNvIHRoYXQgd2UgY2FuIGtlZXAgdHJhY2sgb2Ygd2hlbiB0aGlzIGhhcHBlbnMuCisrICAgICAgKi8KKysjaWYgTVlTUUxfVkVSU0lPTl9JRCA+PSA1MDAxMworKyAgICAgIG15X2Jvb2wgcmVjb25uZWN0ID0gRkFMU0U7CisrICAgICAgbXlzcWxfb3B0aW9ucyhyZXN1bHQsIE1ZU1FMX09QVF9SRUNPTk5FQ1QsICZyZWNvbm5lY3QpOworKyNlbHNlCisrICAgICAgcmVzdWx0LT5yZWNvbm5lY3QgPSAwOworKyNlbmRpZgorICNpZiBNWVNRTF9WRVJTSU9OX0lEID49U0VSVkVSX1BSRVBBUkVfVkVSU0lPTgorICAgICAgIC8qIGNvbm5lY3Rpb24gc3VjY2VlZGVkLiAqLworICAgICAgIC8qIGltcF9kYmggPT0gTlVMTCB3aGVuIG15c3FsX2RyX2Nvbm5lY3QoKSBpcyBjYWxsZWQgZnJvbSBteXNxbC54cworQEAgLTE5OTIsMTIgKzIwMDIsNiBAQCBNWVNRTCAqbXlzcWxfZHJfY29ubmVjdCgKKyAgICAgICAgICAgaW1wX2RiaC0+YXN5bmNfcXVlcnlfaW5fZmxpZ2h0ID0gTlVMTDsKKyAgICAgICB9CisgI2VuZGlmCistCistICAgICAgLyoKKy0gICAgICAgIHdlIHR1cm4gb2ZmIE15c3FsJ3MgYXV0byByZWNvbm5lY3QgYW5kIGhhbmRsZSByZS1jb25uZWN0aW5nIG91cnNlbHZlcworLSAgICAgICAgc28gdGhhdCB3ZSBjYW4ga2VlcCB0cmFjayBvZiB3aGVuIHRoaXMgaGFwcGVucy4KKy0gICAgICAqLworLSAgICAgIHJlc3VsdC0+cmVjb25uZWN0PTA7CisgICAgIH0KKyAgICAgZWxzZSB7CisgICAgICAgLyogCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmQtbXlzcWwtcGVybF80LjA0My5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCmluZGV4IGJkOGJhNzguLmUxODVmNDggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiZC1teXNxbC1wZXJsXzQuMDQzLmJiCkBAIC0xNSw2ICsxNSw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kMGEwNjk2NDM0MGU1YzBjZGU4OGI3YWY2MTFmNzU1YyIKIAogU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9NL01JL01JQ0hJRUxCL0RCRC1teXNxbC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQVBJLWZ1bmN0aW9uLWZvci1yZWNvbm5lY3QucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiNGEwMGRkN2YxYzA1NzkzMTE0N2M2NWRmYzQ5MDFjMzYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJkYmktcGVybF8xLjY0MS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQxLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNGExMjQ1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUGVybCBEYXRhYmFzZSBJbnRlcmZhY2UiCi1ERVNDUklQVElPTiA9ICJEQkkgaXMgYSBkYXRhYmFzZSBhY2Nlc3MgQXBwbGljYXRpb24gUHJvZ3JhbW1pbmcgSW50ZXJmYWNlIFwKLShBUEkpIGZvciB0aGUgUGVybCBMYW5ndWFnZS4gVGhlIERCSSBBUEkgU3BlY2lmaWNhdGlvbiBkZWZpbmVzIGEgc2V0IFwKLW9mIGZ1bmN0aW9ucywgdmFyaWFibGVzIGFuZCBjb252ZW50aW9ucyB0aGF0IHByb3ZpZGUgYSBjb25zaXN0ZW50IFwKLWRhdGFiYXNlIGludGVyZmFjZSBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGRhdGFiYXNlIGJlaW5nIHVzZWQuIFwKLSIKLUhPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9EQkkvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKLVJERVBFTkRTXyR7UE59ID0gIiBwZXJsLW1vZHVsZS1jYXJwIFwKLSAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCi0gICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkgXAotICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWR5bmFsb2FkZXIgXAotIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xMDk4MmM3MTQ4ZTBhMDEyYzBmZDgwNTM0NTIyZjVjNSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9UL1RJL1RJTUIvREJJLSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlNzdmZDM3ZmNmNzdmYzg4ZmRlMDI5YzFiNzVkZWQ1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTA5ZTUzMmNkZDBlM2Q5MWVkYTU1MDU3OGRlYWFjMjllMmYwMDhhMTJiNjQ1NzZlOGMyNjFiYjkyZThjMmMxIgotCi1TID0gIiR7V09SS0RJUn0vREJJLSR7UFZ9IgotCi1pbmhlcml0IGNwYW4gcHRlc3QtcGVybAotCi1kb19pbnN0YWxsX3ByZXBlbmQoKSB7Ci0JIyB0ZXN0IHJlcXVpcmVzICItVCIgKHRhaW50KSBjb21tYW5kIGxpbmUgb3B0aW9uCi0Jcm0gLXJmICR7Qn0vdC9wb2QtY292ZXJhZ2UudAotCXJtIC1yZiAke0J9L3QvMTN0YWludC50Ci0JIyBzb3VyY2Ugb2YgdGVzdCBmYWlsdXJlIG5vdCBvYnZpb3VzCi0Jcm0gLXJmICR7Qn0vdC84NWdvZmVyLnQKLQkjIHVuY2xlYXIgd2h5IHRoZXJlIGFyZSBzZXZlcmFsIGR1cGxpY2F0ZXMgb2YgdGVzdHMgaW4gdGFyYmFsbAotCXJtIC1yZiAke0J9L3QveioudAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZGJpLXBlcmxfMS42NDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2MwMzE2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmRiaS1wZXJsXzEuNjQyLmJiCkBAIC0wLDAgKzEsMzYgQEAKK1NVTU1BUlkgPSAiVGhlIFBlcmwgRGF0YWJhc2UgSW50ZXJmYWNlIgorREVTQ1JJUFRJT04gPSAiREJJIGlzIGEgZGF0YWJhc2UgYWNjZXNzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIEludGVyZmFjZSBcCisoQVBJKSBmb3IgdGhlIFBlcmwgTGFuZ3VhZ2UuIFRoZSBEQkkgQVBJIFNwZWNpZmljYXRpb24gZGVmaW5lcyBhIHNldCBcCitvZiBmdW5jdGlvbnMsIHZhcmlhYmxlcyBhbmQgY29udmVudGlvbnMgdGhhdCBwcm92aWRlIGEgY29uc2lzdGVudCBcCitkYXRhYmFzZSBpbnRlcmZhY2UgaW5kZXBlbmRlbnQgb2YgdGhlIGFjdHVhbCBkYXRhYmFzZSBiZWluZyB1c2VkLiBcCisiCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvREJJLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCitSREVQRU5EU18ke1BOfSA9ICIgcGVybC1tb2R1bGUtY2FycCBcCisgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtZXhwb3J0ZXIgXAorICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5IFwKKyAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1keW5hbG9hZGVyIFwKKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MTA5ODJjNzE0OGUwYTAxMmMwZmQ4MDUzNDUyMmY1YzUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvVC9USS9USU1CL0RCSS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiZjJiYTE4YjVjZWExYzhjYjMyMmE2MmJlMGE4NDdmM2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YyMDI1MDIzYTU2Mjg2Y2ViZDE1Y2I0OTVlMzZjY2Q5YjQ1NmMzY2MyMjliZjJjZTFmNjllOWViZmMyN2Y1ZCIKKworUyA9ICIke1dPUktESVJ9L0RCSS0ke1BWfSIKKworaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworCSMgdGVzdCByZXF1aXJlcyAiLVQiICh0YWludCkgY29tbWFuZCBsaW5lIG9wdGlvbgorCXJtIC1yZiAke0J9L3QvcG9kLWNvdmVyYWdlLnQKKwlybSAtcmYgJHtCfS90LzEzdGFpbnQudAorCSMgc291cmNlIG9mIHRlc3QgZmFpbHVyZSBub3Qgb2J2aW91cworCXJtIC1yZiAke0J9L3QvODVnb2Zlci50CisJIyB1bmNsZWFyIHdoeSB0aGVyZSBhcmUgc2V2ZXJhbCBkdXBsaWNhdGVzIG9mIHRlc3RzIGluIHRhcmJhbGwKKwlybSAtcmYgJHtCfS90L3oqLnQKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC5pbmMKaW5kZXggYmZkMGRkZi4uNmY4OTNhZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLmluYwpAQCAtOCw3ICs4LDcgQEAKIERFUEVORFMgPSAiemxpYiBiemlwMiBsaWJ4bWwyIHZpcnR1YWwvbGliaWNvbnYgcGhwLW5hdGl2ZSBsZW1vbi1uYXRpdmUiCiBERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJ6bGliLW5hdGl2ZSBsaWJ4bWwyLW5hdGl2ZSIKIAotUEhQX01BSk9SX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ1BWJywgVHJ1ZSkuc3BsaXQoJy4nKVswXX0iCitQSFBfTUFKT1JfVkVSU0lPTiA9ICIke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzBdfSIKIAogU1JDX1VSSSA9ICJodHRwOi8vcGhwLm5ldC9kaXN0cmlidXRpb25zL3BocC0ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcGhwLWRvbi10LXVzZS1icm9rZW4td3JhcHBlci1mb3ItbWtkaXIucGF0Y2ggXApAQCAtMjAsNyArMjAsNiBAQAogICAgICAgICAgICAgZmlsZTovL3BocF9leGVjX25hdGl2ZS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vcGhwLWZwbS5jb25mIFwKICAgICAgICAgICAgIGZpbGU6Ly9waHAtZnBtLWFwYWNoZS5jb25mIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovLzcwX21vZF9waHAke1BIUF9NQUpPUl9WRVJTSU9OfS5jb25mIFwKICAgICAgICAgICAgIGZpbGU6Ly9waHAtZnBtLnNlcnZpY2UgXAogICAgICAgICAgICIKQEAgLTQ2LDEwICs0NSw5IEBACiBFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtbWJzdHJpbmcgXAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLXdkZHggXAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLWZwbSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtemlwIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtbGliZGlyPSR7YmFzZWxpYn0gXAogICAgICAgICAgICAgICAgIC0td2l0aC1nZXR0ZXh0PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYnppcD0ke1NUQUdJTkdfTElCRElSfS8uLiBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWljb252PSR7U1RBR0lOR19MSUJESVJ9Ly4uIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtYnoyPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IFwKICAgICAgICAgICAgICAgICAtLXdpdGgtY29uZmlnLWZpbGUtcGF0aD0ke3N5c2NvbmZkaXJ9L3BocC9hcGFjaGUyLXBocCR7UEhQX01BSk9SX1ZFUlNJT059IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NjNmQ0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLWxpYnhtbDItZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK1VzZSBwa2ctY29uZmlnIGZvciBsaWJ4bWwyIGRldGVjdGlvbi4KKworeG1sMi1jb25maWcgZG9lcyBub3Qgd29yay4gVXNlIHBrZ2NvbmZpZyB0byBzZXQgQ1BQRkxBR1MgYW5kIExJQlMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKworU2lnbmVkLW9mZi1ieTogIEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuaW4gfCAxNSArKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKy0tLSBhL2FjaW5jbHVkZS5tNAorKysrIGIvYWNpbmNsdWRlLm00CitAQCAtMjQ4MSw4ICsyNDgxLDggQEAgQUNfREVGVU4oW1BIUF9TRVRVUF9MSUJYTUxdLCBbCisgICAgIExJQlhNTF9WRVJTSU9OPWBleHByIFskXTEgXCogMTAwMDAwMCArIFskXTIgXCogMTAwMCArIFskXTNgCisgICAgIGlmIHRlc3QgIiRMSUJYTUxfVkVSU0lPTiIgLWdlICIyMDA2MDExIjsgdGhlbgorICAgICAgIGZvdW5kX2xpYnhtbD15ZXMKKy0gICAgICBMSUJYTUxfTElCUz1gJFhNTDJfQ09ORklHIC0tbGlic2AKKy0gICAgICBMSUJYTUxfSU5DUz1gJFhNTDJfQ09ORklHIC0tY2ZsYWdzYAorKyAgICAgIExJQlhNTF9MSUJTPWBwa2ctY29uZmlnIC0tbGlicyBsaWJ4bWwtMi4wYAorKyAgICAgIExJQlhNTF9JTkNTPWBwa2ctY29uZmlnIC0tY2ZsYWdzIGxpYnhtbC0yLjBgCisgICAgIGVsc2UKKyAgICAgICBBQ19NU0dfRVJST1IoW2xpYnhtbDIgdmVyc2lvbiAyLjYuMTEgb3IgZ3JlYXRlciByZXF1aXJlZC5dKQorICAgICBmaQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1hY2luY2x1ZGUubTQtZG9uLXQtdW5zZXQtY2FjaGUtdmFyaWFibGVzLnBhdGNoCmluZGV4IGEyNTBjYWMuLjUxZGJlMjYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIGRmZWJlODFmOTQ2YTgzZmUyNDk5ZmM4NGQ0ZjNkYmRjNTYxMjI3NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotRGF0ZTogVHVlLCAzIEFwciAyMDE4IDExOjM1OjAzICswODAwCitGcm9tIGQyNjc5Yzg5YzBiMTViOTBlNTM2MGI0ODYzMjU4YTc5NTVlNWY0ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxNTo1OToxOSArMDgwMAogU3ViamVjdDogW1BBVENIXSBhY2luY2x1ZGUubTQ6IGRvbid0IHVuc2V0IGNhY2hlIHZhcmlhYmxlcwogCiBVbnNldHRpbmcgcHJldmVudHMgY2FjaGUgdmFyaWFibGUgZnJvbSBiZWluZyBwYXNzZWQgdG8gY29uZmlndXJlLgpAQCAtOCwxNSArOCwxOCBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNy4zLjIKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBhY2luY2x1ZGUubTQgfCA0IC0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2FjaW5jbHVkZS5tNCBiL2FjaW5jbHVkZS5tNAotaW5kZXggZjZhNTVlYy4uZDMzNDZkZiAxMDA2NDQKK2luZGV4IDI1ZjkwMGQuLjI2NDE5NjkgMTAwNjQ0CiAtLS0gYS9hY2luY2x1ZGUubTQKICsrKyBiL2FjaW5jbHVkZS5tNAotQEAgLTE4OTAsOCArMTg5MCw2IEBAIGRlZmluZShbcGhwc2hpZnRdLFtpZmVsc2UoaW5kZXgoWyRAXSxbLF0pLC0xLCxbc3Vic3RyKFskQF0saW5jcihpbmRleChbJEBdLFssXSkpCitAQCAtMTkyMSw4ICsxOTIxLDYgQEAgZGVmaW5lKFtwaHBzaGlmdF0sW2lmZWxzZShpbmRleChbJEBdLFssXSksLTEsLFtzdWJzdHIoWyRAXSxpbmNyKGluZGV4KFskQF0sWyxdKSkKICBkbmwKICBBQ19ERUZVTihbUEhQX0NIRUNLX0ZVTkNfTElCXSxbCiAgICBpZmVsc2UoJDIsLDosWwpAQCAtMjUsMTQgKzI4LDE0IEBACiAgICB1bnNldCBmb3VuZAogICAgQUNfQ0hFQ0tfTElCKCQyLCAkMSwgW2ZvdW5kPXllc10sIFsKICAgICAgQUNfQ0hFQ0tfTElCKCQyLCBfXyQxLCBbZm91bmQ9eWVzXSwgW2ZvdW5kPW5vXSkKLUBAIC0xOTIzLDggKzE5MjEsNiBAQCBkbmwgaW4gdGhlIGRlZmF1bHQgbGlicmFyaWVzIGFuZCBhcyBhIGZhbGwgYmFjayBpbiB0aGUgc3BlY2lmaWVkIGxpYnJhcnkuCitAQCAtMTk1NCw4ICsxOTUyLDYgQEAgZG5sIGluIHRoZSBkZWZhdWx0IGxpYnJhcmllcyBhbmQgYXMgYSBmYWxsIGJhY2sgaW4gdGhlIHNwZWNpZmllZCBsaWJyYXJ5LgogIGRubCBEZWZpbmVzIEhBVkVfZnVuYyBhbmQgSEFWRV9saWJyYXJ5IGlmIGZvdW5kIGFuZCBhZGRzIHRoZSBsaWJyYXJ5IHRvIExJQlMuCiAgZG5sCiAgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DXSxbCiAtICB1bnNldCBhY19jdl9mdW5jXyQxCiAtICB1bnNldCBhY19jdl9mdW5jX19fJDEKICAgIHVuc2V0IGZvdW5kCi0gICAKKyAKICAgIEFDX0NIRUNLX0ZVTkMoJDEsIFtmb3VuZD15ZXNdLFsgQUNfQ0hFQ0tfRlVOQyhfXyQxLFtmb3VuZD15ZXNdLFtmb3VuZD1ub10pIF0pCiAtLSAKIDIuNy40CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhYjEwMWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1maXgtZXJyb3ItY2F1c2VkLWJ5LWEtbmV3LXZhcmlhYmxlLWlzLWRlY2xhcmVkLWFmdGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSAwZDg4ZDczNTg4N2M2ZjJmYTAwYTc0M2MyNzEyNGM3YTUyMDA2YTQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogU3VuLCAxNSBBcHIgMjAxOCAxOToxNzoyNyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBmaXggZXJyb3IgY2F1c2VkIGJ5IGEgbmV3IHZhcmlhYmxlIGlzIGRlY2xhcmVkIGFmdGVyIHRoZQotIGxhYmVsCi0KLVRoZXJlIGlzIGEgYnVpbGQgZmFpbHVyZSBvbiBtaXBzOgotLi4uCi18c2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jOiBJbiBmdW5jdGlvbiAnc2xqaXRfaGFzX2NwdV9mZWF0dXJlJzoKLXxzbGppdE5hdGl2ZU1JUFNfY29tbW9uLmM6NTA2OjM6IGVycm9yOiBhIGxhYmVsIGNhbiBvbmx5IGJlIHBhcnQKLW9mIGEgc3RhdGVtZW50IGFuZCBhIGRlY2xhcmF0aW9uIGlzIG5vdCBhIHN0YXRlbWVudAotfCAgIHNsaml0X3N3IGZpcjsKLXwgICBefn5+fn5+fgotLi4uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBleHQvcGNyZS9wY3JlbGliL3Nsaml0L3Nsaml0TmF0aXZlTUlQU19jb21tb24uYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9wY3JlL3BjcmVsaWIvc2xqaXQvc2xqaXROYXRpdmVNSVBTX2NvbW1vbi5jIGIvZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMKLWluZGV4IGVlMjA3ZmUuLmFkZmQzNDIgMTAwNjQ0Ci0tLS0gYS9leHQvcGNyZS9wY3JlbGliL3Nsaml0L3Nsaml0TmF0aXZlTUlQU19jb21tb24uYwotKysrIGIvZXh0L3BjcmUvcGNyZWxpYi9zbGppdC9zbGppdE5hdGl2ZU1JUFNfY29tbW9uLmMKLUBAIC00OTgsMTIgKzQ5OCwxNCBAQCBTTEpJVF9BUElfRlVOQ19BVFRSSUJVVEUgdm9pZCogc2xqaXRfZ2VuZXJhdGVfY29kZShzdHJ1Y3Qgc2xqaXRfY29tcGlsZXIgKmNvbXBpbAotIAotIFNMSklUX0FQSV9GVU5DX0FUVFJJQlVURSBzbGppdF9zMzIgc2xqaXRfaGFzX2NwdV9mZWF0dXJlKHNsaml0X3MzMiBmZWF0dXJlX3R5cGUpCi0gewotKyNpZiBkZWZpbmVkKF9fR05VQ19fKQotKwlzbGppdF9zdyBmaXI7Ci0rI2VuZGlmCi0gCXN3aXRjaCAoZmVhdHVyZV90eXBlKSB7Ci0gCWNhc2UgU0xKSVRfSEFTX0ZQVToKLSAjaWZkZWYgU0xKSVRfSVNfRlBVX0FWQUlMQUJMRQotIAkJcmV0dXJuIFNMSklUX0lTX0ZQVV9BVkFJTEFCTEU7Ci0gI2VsaWYgZGVmaW5lZChfX0dOVUNfXykKLS0JCXNsaml0X3N3IGZpcjsKLSAJCWFzbSAoImNmYzEgJTAsICQwIiA6ICI9ciIoZmlyKSk7Ci0gCQlyZXR1cm4gKGZpciA+PiAyMikgJiAweDE7Ci0gI2Vsc2UKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoCmluZGV4IDBkMjRkMzQuLjlmZmQwZTQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDAwMS1vcGNhY2hlLWNvbmZpZy5tNC1lbmFibGUtb3BjYWNoZS5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gYjJmYjcyNWRjNDA0ZDQ3MTM3MTczMWI2NjMyMzRlODdjYjBmY2E4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci1EYXRlOiBNb24sIDIgQXByIDIwMTggMTc6NTQ6NTIgKzA4MDAKK0Zyb20gZmIxMzlkOTcwN2RhYmUxNjg0YjQ3MmEwOGE2ZWI1NzYxZWRlNGEzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDE0OjU2OjE2ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIG9wY2FjaGUvY29uZmlnLm00OiBlbmFibGUgb3BjYWNoZQogCiBXZSBjYW4ndCB1c2UgQUNfVFJZX1JVTiB0byBydW4gcHJvZ3JhbXMgaW4gYSBjcm9zcyBjb21waWxlIGVudmlyb25tZW50LiBTZXQKQEAgLTEwLDQyICsxMCw0MSBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtDb25maWd1cmF0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorCit1cGRhdGUgcGF0Y2ggdG8gdmVyc2lvbiA3LjMuMgorU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGV4dC9vcGNhY2hlL2NvbmZpZy5tNCB8IDM0OSArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDM0MSBkZWxldGlvbnMoLSkKKyBleHQvb3BjYWNoZS9jb25maWcubTQgfCAzNTcgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzNTEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9leHQvb3BjYWNoZS9jb25maWcubTQgYi9leHQvb3BjYWNoZS9jb25maWcubTQKLWluZGV4IDdiNTAwZjAuLjEwYmI5OWEgMTAwNjQ0CitpbmRleCAzOTJmNGM2Li42NjE3NjkzIDEwMDY0NAogLS0tIGEvZXh0L29wY2FjaGUvY29uZmlnLm00CiArKysgYi9leHQvb3BjYWNoZS9jb25maWcubTQKLUBAIC0yOCwzNTMgKzI4LDIwIEBAIGlmIHRlc3QgIiRQSFBfT1BDQUNIRSIgIT0gIm5vIjsgdGhlbgotIAorQEAgLTI3LDM3NCArMjcsMjkgQEAgaWYgdGVzdCAiJFBIUF9PUENBQ0hFIiAhPSAibm8iOyB0aGVuCiAgICBBQ19DSEVDS19IRUFERVJTKFt1bmlzdGQuaCBzeXMvdWlvLmhdKQogIAotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBzeXN2aXBjIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKLS0gIEFDX1RSWV9SVU4oWworICAgQUNfTVNHX0NIRUNLSU5HKGZvciBzeXN2aXBjIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvaXBjLmg+CiAtI2luY2x1ZGUgPHN5cy9zaG0uaD4KIC0jaW5jbHVkZSA8dW5pc3RkLmg+CiAtI2luY2x1ZGUgPHN0cmluZy5oPgotKyAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCi0gCistCiAtaW50IG1haW4oKSB7CiAtICBwaWRfdCBwaWQ7CiAtICBpbnQgc3RhdHVzOwogLSAgaW50IGlwY19pZDsKIC0gIGNoYXIgKnNobTsKIC0gIHN0cnVjdCBzaG1pZF9kcyBzaG1idWY7Ci0rICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9BTk9OLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoTUFQX0FOT04pIFNITSBzdXBwb3J0XSkKLSAKKy0KIC0gIGlwY19pZCA9IHNobWdldChJUENfUFJJVkFURSwgNDA5NiwgKElQQ19DUkVBVCB8IFNITV9SIHwgU0hNX1cpKTsKIC0gIGlmIChpcGNfaWQgPT0gLTEpIHsKIC0gICAgcmV0dXJuIDE7CiAtICB9Ci0rICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9aRVJPLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoIi9kZXYvemVybyIpIFNITSBzdXBwb3J0XSkKLSAKKy0KIC0gIHNobSA9IHNobWF0KGlwY19pZCwgTlVMTCwgMCk7CiAtICBpZiAoc2htID09ICh2b2lkICopLTEpIHsKIC0gICAgc2htY3RsKGlwY19pZCwgSVBDX1JNSUQsIE5VTEwpOwpAQCAtOTAsMTMgKzg5LDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKLS0KLS0gIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIE1BUF9BTk9OIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKLS0gIEFDX1RSWV9SVU4oWworKyAgQUNfREVGSU5FKEhBVkVfU0hNX0lQQywgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBTeXNWIElQQyBTSE0gc3VwcG9ydF0pCisgCisgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1tYXAoKSB1c2luZyBNQVBfQU5PTiBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTE0MiwxMyArMTQyLDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfQU5PTiwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKE1BUF9BTk9OKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKLS0KLS0gIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIC9kZXYvemVybyBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0FOT04sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcChNQVBfQU5PTikgU0hNIHN1cHBvcnRdKQorIAorICAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgL2Rldi96ZXJvIHNoYXJlZCBtZW1vcnkgc3VwcG9ydCkKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvbW1hbi5oPgpAQCAtMTk3LDEzICsxOTgsMTQgQEAKIC0gIH0KIC0gIHJldHVybiAwOwogLX0KLS1dLGRubAorLV1dKV0sW2RubAogLSAgICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9aRVJPLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoIi9kZXYvemVybyIpIFNITSBzdXBwb3J0XSkKLS0gICAgbXNnPXllcyxtc2c9bm8sbXNnPW5vKQorLSAgICBtc2c9eWVzXSxbbXNnPW5vXSxbbXNnPW5vXSkKIC0gIEFDX01TR19SRVNVTFQoWyRtc2ddKQotLQotLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgc2htX29wZW4oKSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX1pFUk8sIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcCgiL2Rldi96ZXJvIikgU0hNIHN1cHBvcnRdKQorIAorICAgQUNfTVNHX0NIRUNLSU5HKGZvciBtbWFwKCkgdXNpbmcgc2htX29wZW4oKSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCistICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwogLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIC0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KIC0jaW5jbHVkZSA8c3lzL21tYW4uaD4KQEAgLTI2NiwxNCArMjY4LDE0IEBACiAtICB9CiAtICByZXR1cm4gMDsKIC19Ci0tXSxkbmwKKy1dXSldLFtkbmwKIC0gICAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfUE9TSVgsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVggbW1hcCgpIFNITSBzdXBwb3J0XSkKLS0gICAgbXNnPXllcyxtc2c9bm8sbXNnPW5vKQorLSAgICBtc2c9eWVzXSxbbXNnPW5vXSxbbXNnPW5vXSkKIC0gIEFDX01TR19SRVNVTFQoWyRtc2ddKQogKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfUE9TSVgsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgUE9TSVggbW1hcCgpIFNITSBzdXBwb3J0XSkKICAKICAgIEFDX01TR19DSEVDS0lORyhmb3IgbW1hcCgpIHVzaW5nIHJlZ3VsYXIgZmlsZSBzaGFyZWQgbWVtb3J5IHN1cHBvcnQpCi0tICBBQ19UUllfUlVOKFsKKy0gIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgogLSNpbmNsdWRlIDxzeXMvbW1hbi5oPgpAQCAtMzM2LDUwICszMzgsNzAgQEAKIC0gIH0KIC0gIHJldHVybiAwOwogLX0KLS1dLGRubAorLV1dKV0sW2RubAogLSAgICBBQ19ERUZJTkUoSEFWRV9TSE1fTU1BUF9GSUxFLCAxLCBbRGVmaW5lIGlmIHlvdSBoYXZlIG1tYXAoKSBTSE0gc3VwcG9ydF0pCi0tICAgIG1zZz15ZXMsbXNnPW5vLG1zZz1ubykKKy0gICAgbXNnPXllc10sW21zZz1ub10sW21zZz1ub10pCiAtICBBQ19NU0dfUkVTVUxUKFskbXNnXSkKKysgIEFDX0RFRklORShIQVZFX1NITV9NTUFQX0ZJTEUsIDEsIFtEZWZpbmUgaWYgeW91IGhhdmUgbW1hcCgpIFNITSBzdXBwb3J0XSkKKyAKKyBmbG9ja190eXBlPXVua25vd24KKyBBQ19NU0dfQ0hFQ0tJTkcoZm9yIHN0cnVjdCBmbG9jayBsYXlvdXQpCisgCisgaWYgdGVzdCAiJGZsb2NrX3R5cGUiID0gInVua25vd24iOyB0aGVuCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKKy0gICNpbmNsdWRlIDxmY250bC5oPgorLSAgc3RydWN0IGZsb2NrIGxvY2sgPSB7IDEsIDIsIDMsIDQsIDUsIDYsIDcgfTsKKy0gIGludCBtYWluKCkgeworLSAgICBpZihsb2NrLmxfdHlwZSA9PSAxICYmIGxvY2subF93aGVuY2UgPT0gMiAmJiBsb2NrLmxfc3RhcnQgPT0gNiAmJiBsb2NrLmxfbGVuPT0gNykgeworLQkJcmV0dXJuIDA7CistICAgIH0KKy0gICAgcmV0dXJuIDE7CistICB9CistXV0pXSwgWworLSAgICBmbG9ja190eXBlPWFpeDY0CistICAgIEFDX0RFRklORShbSEFWRV9GTE9DS19BSVg2NF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIDY0LWJpdCBBSVgtdHlwZV0pCistXSwgW10pCistZmkKIC0KLS1mbG9ja190eXBlPXVua25vd24KLS1BQ19NU0dfQ0hFQ0tJTkcoIndoZXRoZXIgZmxvY2sgc3RydWN0IGlzIGxpbnV4IG9yZGVyZWQiKQotLUFDX1RSWV9SVU4oWworLWlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCiAtICAjaW5jbHVkZSA8ZmNudGwuaD4KIC0gIHN0cnVjdCBmbG9jayBsb2NrID0geyAxLCAyLCAzLCA0LCA1IH07Ci0tICBpbnQgbWFpbigpIHsgCistICBpbnQgbWFpbigpIHsKIC0gICAgaWYobG9jay5sX3R5cGUgPT0gMSAmJiBsb2NrLmxfd2hlbmNlID09IDIgJiYgbG9jay5sX3N0YXJ0ID09IDMgJiYgbG9jay5sX2xlbiA9PSA0KSB7CiAtCQlyZXR1cm4gMDsKIC0gICAgfQogLSAgICByZXR1cm4gMTsKLS0gIH0gCi0tXSwgWworLSAgfQorLV1dKV0sIFsKIC0JZmxvY2tfdHlwZT1saW51eAotLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfTElOVVhdLCBbXSwgW1N0cnVjdCBmbG9jayBpcyBMaW51eC10eXBlXSkKLS0gICAgQUNfTVNHX1JFU1VMVCgieWVzIikKLS1dLCBBQ19NU0dfUkVTVUxUKCJubyIpICkKLSsgIAotKyAgQUNfREVGSU5FKEhBVkVfU0hNX01NQVBfRklMRSwgMSwgW0RlZmluZSBpZiB5b3UgaGF2ZSBtbWFwKCkgU0hNIHN1cHBvcnRdKQorKyAgICBmbG9ja190eXBlPWxpbnV4CisgICAgIEFDX0RFRklORShbSEFWRV9GTE9DS19MSU5VWF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIExpbnV4LXR5cGVdKQorLV0sIFtdKQorIGZpCiAgCi0tQUNfTVNHX0NIRUNLSU5HKCJ3aGV0aGVyIGZsb2NrIHN0cnVjdCBpcyBCU0Qgb3JkZXJlZCIpCi0tQUNfVFJZX1JVTihbCisgaWYgdGVzdCAiJGZsb2NrX3R5cGUiID0gInVua25vd24iOyB0aGVuCistQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKIC0gICNpbmNsdWRlIDxmY250bC5oPgogLSAgc3RydWN0IGZsb2NrIGxvY2sgPSB7IDEsIDIsIDMsIDQsIDUgfTsKLS0gIGludCBtYWluKCkgeyAKKy0gIGludCBtYWluKCkgewogLSAgICBpZihsb2NrLmxfc3RhcnQgPT0gMSAmJiBsb2NrLmxfbGVuID09IDIgJiYgbG9jay5sX3R5cGUgPT0gNCAmJiBsb2NrLmxfd2hlbmNlID09IDUpIHsKIC0JCXJldHVybiAwOwogLSAgICB9CiAtICAgIHJldHVybiAxOwotLSAgfSAKLS1dLCBbCistICB9CistXV0pXSwgWwogLQlmbG9ja190eXBlPWJzZAotLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfQlNEXSwgW10sIFtTdHJ1Y3QgZmxvY2sgaXMgQlNELXR5cGVdKSAKLS0gICAgQUNfTVNHX1JFU1VMVCgieWVzIikKLS1dLCBBQ19NU0dfUkVTVUxUKCJubyIpICkKLSsgIGZsb2NrX3R5cGU9bGludXgKLSsgIEFDX0RFRklORShbSEFWRV9GTE9DS19MSU5VWF0sIFtdLCBbU3RydWN0IGZsb2NrIGlzIExpbnV4LXR5cGVdKQotIAotIGlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgorLSAgICBBQ19ERUZJTkUoW0hBVkVfRkxPQ0tfQlNEXSwgW10sIFtTdHJ1Y3QgZmxvY2sgaXMgQlNELXR5cGVdKQorLV0sIFtdKQorLWZpCistCistQUNfTVNHX1JFU1VMVChbJGZsb2NrX3R5cGVdKQorLQorLWlmIHRlc3QgIiRmbG9ja190eXBlIiA9ICJ1bmtub3duIjsgdGhlbgogIAlBQ19NU0dfRVJST1IoW0Rvbid0IGtub3cgaG93IHRvIGRlZmluZSBzdHJ1Y3QgZmxvY2sgb24gdGhpcyBzeXN0ZW1bLF0gc2V0IC0tZW5hYmxlLW9wY2FjaGU9bm9dKQorIGZpCisgCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwLzAwNDgtVXNlLXBrZy1jb25maWctZm9yLUZyZWVUeXBlMi1kZXRlY3Rpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNmRkYWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ4LVVzZS1wa2ctY29uZmlnLWZvci1GcmVlVHlwZTItZGV0ZWN0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb206ID0/dXRmLTg/Yj9UMjVreFpsbGFpQlRkWExEdlE9PT89IDxvbmRyZWpAc3VyeS5vcmc+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDA2OjU0OjMxICswMDAwCitTdWJqZWN0OiBVc2UgcGtnLWNvbmZpZyBmb3IgRnJlZVR5cGUyIGRldGVjdGlvbgorCistLS0KKyBleHQvZ2QvY29uZmlnLm00IHwgMzAgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZXh0L2dkL2NvbmZpZy5tNCBiL2V4dC9nZC9jb25maWcubTQKK2luZGV4IDQ5OGQ4NzAuLmQyOGM2YWUgMTAwNjQ0CistLS0gYS9leHQvZ2QvY29uZmlnLm00CisrKysgYi9leHQvZ2QvY29uZmlnLm00CitAQCAtMTg0LDIxICsxODQsMjkgQEAgQUNfREVGVU4oW1BIUF9HRF9YUE1dLFsKKyBBQ19ERUZVTihbUEhQX0dEX0ZSRUVUWVBFMl0sWworICAgaWYgdGVzdCAiJFBIUF9GUkVFVFlQRV9ESVIiICE9ICJubyI7IHRoZW4KKyAKKy0gICAgZm9yIGkgaW4gJFBIUF9GUkVFVFlQRV9ESVIgL3Vzci9sb2NhbCAvdXNyOyBkbworLSAgICAgIGlmIHRlc3QgLWYgIiRpL2Jpbi9mcmVldHlwZS1jb25maWciOyB0aGVuCistICAgICAgICBGUkVFVFlQRTJfRElSPSRpCistICAgICAgICBGUkVFVFlQRTJfQ09ORklHPSIkaS9iaW4vZnJlZXR5cGUtY29uZmlnIgorLSAgICAgICAgYnJlYWsKKysgICAgaWYgdGVzdCAteiAiJFBLR19DT05GSUciOyB0aGVuCisrICAgICAgQUNfUEFUSF9QUk9HKFBLR19DT05GSUcsIHBrZy1jb25maWcsIG5vKQorKyAgICBmaQorKyAgICBpZiB0ZXN0IC14ICIkUEtHX0NPTkZJRyIgJiYgJFBLR19DT05GSUcgLS1leGlzdHMgZnJlZXR5cGUyIDsgdGhlbgorKyAgICAgIEZSRUVUWVBFMl9DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzIGZyZWV0eXBlMmAKKysgICAgICBGUkVFVFlQRTJfTElCUz1gJFBLR19DT05GSUcgLS1saWJzIGZyZWV0eXBlMmAKKysgICAgZWxzZQorKyAgICAgIGZvciBpIGluICRQSFBfRlJFRVRZUEVfRElSIC91c3IvbG9jYWwgL3VzcjsgZG8KKysgICAgICAgIGlmIHRlc3QgLWYgIiRpL2Jpbi9mcmVldHlwZS1jb25maWciOyB0aGVuCisrICAgICAgICAgIEZSRUVUWVBFMl9ESVI9JGkKKysgICAgICAgICAgRlJFRVRZUEUyX0NPTkZJRz0iJGkvYmluL2ZyZWV0eXBlLWNvbmZpZyIKKysgICAgICAgICAgYnJlYWsKKysgICAgICAgIGZpCisrICAgICAgZG9uZQorKworKyAgICAgIGlmIHRlc3QgLXogIiRGUkVFVFlQRTJfRElSIjsgdGhlbgorKyAgICAgICAgQUNfTVNHX0VSUk9SKFtmcmVldHlwZS1jb25maWcgbm90IGZvdW5kLl0pCisgICAgICAgZmkKKy0gICAgZG9uZQorIAorLSAgICBpZiB0ZXN0IC16ICIkRlJFRVRZUEUyX0RJUiI7IHRoZW4KKy0gICAgICBBQ19NU0dfRVJST1IoW2ZyZWV0eXBlLWNvbmZpZyBub3QgZm91bmQuXSkKKysgICAgICBGUkVFVFlQRTJfQ0ZMQUdTPWAkRlJFRVRZUEUyX0NPTkZJRyAtLWNmbGFnc2AKKysgICAgICBGUkVFVFlQRTJfTElCUz1gJEZSRUVUWVBFMl9DT05GSUcgLS1saWJzYAorICAgICBmaQorIAorLSAgICBGUkVFVFlQRTJfQ0ZMQUdTPWAkRlJFRVRZUEUyX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgRlJFRVRZUEUyX0xJQlM9YCRGUkVFVFlQRTJfQ09ORklHIC0tbGlic2AKKy0KKyAgICAgUEhQX0VWQUxfSU5DTElORSgkRlJFRVRZUEUyX0NGTEFHUykKKyAgICAgUEhQX0VWQUxfTElCTElORSgkRlJFRVRZUEUyX0xJQlMsIEdEX1NIQVJFRF9MSUJBREQpCisgICAgIEFDX0RFRklORShIQVZFX0xJQkZSRUVUWVBFLDEsWyBdKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OS1leHQtaW50bC1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtaWN1LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvMDA0OS1leHQtaW50bC1Vc2UtcGtnLWNvbmZpZy10by1kZXRlY3QtaWN1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYWRhMWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC8wMDQ5LWV4dC1pbnRsLVVzZS1wa2ctY29uZmlnLXRvLWRldGVjdC1pY3UucGF0Y2gKQEAgLTAsMCArMSwxMTEgQEAKK0Zyb206IEh1Z2ggTWNNYXN0ZXIgPGh1Z2gubWNtYXN0ZXJAb3V0bG9vay5jb20+CitEYXRlOiBXZWQsIDUgRGVjIDIwMTggMjM6Mjc6MzAgKzExMDAKK1N1YmplY3Q6IGV4dC9pbnRsOiBVc2UgcGtnLWNvbmZpZyB0byBkZXRlY3QgaWN1CisKK1RoZSBkZXZlbG9wZXJzIG9mIGljdSByZWNvbW1lbmQgdXNpbmcgcGtnLWNvbmZpZyB0byBkZXRlY3QgaWN1LAorYmVjYXVzZSBpY3UtY29uZmlnIGlzIGRlcHJlY2F0ZWQuCistLS0KKyBhY2luY2x1ZGUubTQgICAgICAgfCA1NiArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBleHQvaW50bC9jb25maWcubTQgfCAxNiArKysrKystLS0tLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKKworLS0tIHBocDcuMy5vcmlnL2FjaW5jbHVkZS5tNAorKysrIHBocDcuMy9hY2luY2x1ZGUubTQKK0BAIC0yMTY4LDU4ICsyMTY4LDE2IEBAIGRubAorIGRubCBDb21tb24gc2V0dXAgbWFjcm8gZm9yIElDVQorIGRubAorIEFDX0RFRlVOKFtQSFBfU0VUVVBfSUNVXSxbCistICBQSFBfQVJHX1dJVEgoaWN1LWRpciwsCistICBbICAtLXdpdGgtaWN1LWRpcj1ESVIgICAgICBTcGVjaWZ5IHdoZXJlIElDVSBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgY2FuIGJlIGZvdW5kXSwgREVGQVVMVCwgbm8pCisrICBQS0dfQ0hFQ0tfTU9EVUxFUyhbSUNVXSwgW2ljdS1pbyA+PSA1MC4xXSkKKyAKKy0gIGlmIHRlc3QgIiRQSFBfSUNVX0RJUiIgPSAibm8iOyB0aGVuCistICAgIFBIUF9JQ1VfRElSPURFRkFVTFQKKy0gIGZpCistCistICBpZiB0ZXN0ICIkUEhQX0lDVV9ESVIiID0gIkRFRkFVTFQiOyB0aGVuCistICAgIGRubCBUcnkgdG8gZmluZCBpY3UtY29uZmlnCistICAgIEFDX1BBVEhfUFJPRyhJQ1VfQ09ORklHLCBpY3UtY29uZmlnLCBubywgWyRQQVRIOi91c3IvbG9jYWwvYmluXSkKKy0gIGVsc2UKKy0gICAgSUNVX0NPTkZJRz0iJFBIUF9JQ1VfRElSL2Jpbi9pY3UtY29uZmlnIgorLSAgZmkKKy0KKy0gIEFDX01TR19DSEVDS0lORyhbZm9yIGxvY2F0aW9uIG9mIElDVSBoZWFkZXJzIGFuZCBsaWJyYXJpZXNdKQorLQorLSAgZG5sIFRydXN0IGljdS1jb25maWcgdG8ga25vdyBiZXR0ZXIgd2hhdCB0aGUgaW5zdGFsbCBwcmVmaXggaXMuLgorLSAgaWN1X2luc3RhbGxfcHJlZml4PWAkSUNVX0NPTkZJRyAtLXByZWZpeCAyPiAvZGV2L251bGxgCistICBpZiB0ZXN0ICIkPyIgIT0gIjAiIHx8IHRlc3QgLXogIiRpY3VfaW5zdGFsbF9wcmVmaXgiOyB0aGVuCistICAgIEFDX01TR19SRVNVTFQoW25vdCBmb3VuZF0pCistICAgIEFDX01TR19FUlJPUihbVW5hYmxlIHRvIGRldGVjdCBJQ1UgcHJlZml4IG9yICRJQ1VfQ09ORklHIGZhaWxlZC4gUGxlYXNlIHZlcmlmeSBJQ1UgaW5zdGFsbCBwcmVmaXggYW5kIG1ha2Ugc3VyZSBpY3UtY29uZmlnIHdvcmtzLl0pCistICBlbHNlCistICAgIEFDX01TR19SRVNVTFQoWyRpY3VfaW5zdGFsbF9wcmVmaXhdKQorLQorLSAgICBkbmwgQ2hlY2sgSUNVIHZlcnNpb24KKy0gICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgSUNVIDQuMCBvciBncmVhdGVyXSkKKy0gICAgaWN1X3ZlcnNpb25fZnVsbD1gJElDVV9DT05GSUcgLS12ZXJzaW9uYAorLSAgICBhY19JRlM9JElGUworLSAgICBJRlM9Ii4iCistICAgIHNldCAkaWN1X3ZlcnNpb25fZnVsbAorLSAgICBJRlM9JGFjX0lGUworLSAgICBpY3VfdmVyc2lvbj1gZXhwciBbJF0xIFwqIDEwMDAgKyBbJF0yYAorLSAgICBBQ19NU0dfUkVTVUxUKFtmb3VuZCAkaWN1X3ZlcnNpb25fZnVsbF0pCistCistICAgIGlmIHRlc3QgIiRpY3VfdmVyc2lvbiIgLWx0ICI0MDAwIjsgdGhlbgorLSAgICAgIEFDX01TR19FUlJPUihbSUNVIHZlcnNpb24gNC4wIG9yIGxhdGVyIGlzIHJlcXVpcmVkXSkKKy0gICAgZmkKKysgIFBIUF9FVkFMX0lOQ0xJTkUoJElDVV9DRkxBR1MpCisrICBQSFBfRVZBTF9MSUJMSU5FKCRJQ1VfTElCUywgJDEpCisgCistICAgIElDVV9WRVJTSU9OPSRpY3VfdmVyc2lvbgorLSAgICBJQ1VfSU5DUz1gJElDVV9DT05GSUcgLS1jcHBmbGFncy1zZWFyY2hwYXRoYAorLSAgICBJQ1VfTElCUz1gJElDVV9DT05GSUcgLS1sZGZsYWdzIC0tbGRmbGFncy1pY3Vpb2AKKy0gICAgUEhQX0VWQUxfSU5DTElORSgkSUNVX0lOQ1MpCistICAgIFBIUF9FVkFMX0xJQkxJTkUoJElDVV9MSUJTLCAkMSkKKysgIElDVV9DRkxBR1M9IiRJQ1VfQ0ZMQUdTIC1EVV9OT19ERUZBVUxUX0lOQ0xVREVfVVRGX0hFQURFUlM9MSIKKysgIElDVV9DWFhGTEFHUz0iJElDVV9DWFhGTEFHUyAtRFVOSVNUUl9GUk9NX0NIQVJfRVhQTElDSVQ9ZXhwbGljaXQgLURVTklTVFJfRlJPTV9TVFJJTkdfRVhQTElDSVQ9ZXhwbGljaXQiCisgCistICAgIElDVV9DWFhGTEFHUz1gJElDVV9DT05GSUcgLS1jeHhmbGFnc2AKKy0gICAgaWYgdGVzdCAiJGljdV92ZXJzaW9uIiAtZ2UgIjQ5MDAwIjsgdGhlbgorLSAgICAgIElDVV9DWFhGTEFHUz0iJElDVV9DWFhGTEFHUyAtRFVOSVNUUl9GUk9NX0NIQVJfRVhQTElDSVQ9ZXhwbGljaXQgLURVTklTVFJfRlJPTV9TVFJJTkdfRVhQTElDSVQ9ZXhwbGljaXQiCistICAgICAgSUNVX0NGTEFHUz0iLURVX05PX0RFRkFVTFRfSU5DTFVERV9VVEZfSEVBREVSUz0xIgorLSAgICBmaQorLSAgICBpZiB0ZXN0ICIkaWN1X3ZlcnNpb24iIC1nZSAiNjAwMDAiOyB0aGVuCistICAgICAgSUNVX0NGTEFHUz0iJElDVV9DRkxBR1MgLURVX0hJREVfT0JTT0xFVEVfVVRGX09MRF9IPTEiCistICAgIGZpCisrICBpZiAkUEtHX0NPTkZJRyBpY3UtaW8gLS1hdGxlYXN0LXZlcnNpb249NjA7IHRoZW4KKysgICAgSUNVX0NGTEFHUz0iJElDVV9DRkxBR1MgLURVX0hJREVfT0JTT0xFVEVfVVRGX09MRF9IPTEiCisgICBmaQorIF0pCisgCistLS0gcGhwNy4zLm9yaWcvZXh0L2ludGwvY29uZmlnLm00CisrKysgcGhwNy4zL2V4dC9pbnRsL2NvbmZpZy5tNAorQEAgLTksMTUgKzksNyBAQCBpZiB0ZXN0ICIkUEhQX0lOVEwiICE9ICJubyI7IHRoZW4KKyAgIFBIUF9TRVRVUF9JQ1UoSU5UTF9TSEFSRURfTElCQUREKQorICAgUEhQX1NVQlNUKElOVExfU0hBUkVEX0xJQkFERCkKKyAgIFBIUF9SRVFVSVJFX0NYWCgpCistICBJTlRMX0NPTU1PTl9GTEFHUz0iJElDVV9JTkNTICRJQ1VfQ0ZMQUdTIC1Xbm8td3JpdGUtc3RyaW5ncyAtRF9fU1REQ19MSU1JVF9NQUNST1MgLURaRU5EX0VOQUJMRV9TVEFUSUNfVFNSTUxTX0NBQ0hFPTEiCistICBpZiB0ZXN0ICIkaWN1X3ZlcnNpb24iIC1nZSAiNDAwMiI7IHRoZW4KKy0gICAgaWN1X3Nwb29mX3NyYz0iIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY2xhc3MuYyBcCistICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXIuY1wKKy0gICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9jcmVhdGUuY1wKKy0gICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9tYWluLmMiCistICBlbHNlCistICAgIGljdV9zcG9vZl9zcmM9IiIKKy0gIGZpCisrICBJTlRMX0NPTU1PTl9GTEFHUz0iJElDVV9DRkxBR1MgLVduby13cml0ZS1zdHJpbmdzIC1EX19TVERDX0xJTUlUX01BQ1JPUyAtRFpFTkRfRU5BQkxFX1NUQVRJQ19UU1JNTFNfQ0FDSEU9MSIKKyAgIFBIUF9ORVdfRVhURU5TSU9OKGludGwsIHBocF9pbnRsLmMgXAorICAgICBpbnRsX2Vycm9yLmMgXAorICAgICBpbnRsX2NvbnZlcnQuYyBcCitAQCAtNjgsNyArNjAsMTEgQEAgaWYgdGVzdCAiJFBIUF9JTlRMIiAhPSAibm8iOyB0aGVuCisgICAgIHRyYW5zbGl0ZXJhdG9yL3RyYW5zbGl0ZXJhdG9yX21ldGhvZHMuYyBcCisgICAgIHVjaGFyL3VjaGFyLmMgXAorICAgICBpZG4vaWRuLmMgXAorLSAgICAkaWN1X3Nwb29mX3NyYywgJGV4dF9zaGFyZWQsLCRJTlRMX0NPTU1PTl9GTEFHUyxjeHgpCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXJfY2xhc3MuYyBcCisrICAgIHNwb29mY2hlY2tlci9zcG9vZmNoZWNrZXIuY1wKKysgICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9jcmVhdGUuY1wKKysgICAgc3Bvb2ZjaGVja2VyL3Nwb29mY2hlY2tlcl9tYWluLmMgXAorKyAgICAsICRleHRfc2hhcmVkLCwkSU5UTF9DT01NT05fRkxBR1MsY3h4KQorIAorICAgUEhQX0lOVExfQ1hYX1NPVVJDRVM9ImludGxfY29udmVydGNwcC5jcHAgXAorICAgICBjb21tb24vY29tbW9uX2VudW0uY3BwIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL0NWRS0yMDE3LTkxMjAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9DVkUtMjAxNy05MTIwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjhmMjViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwL0NWRS0yMDE3LTkxMjAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1waHA6IHBhdGNoIGZvciBDVkUtMjAxNy05MTIwCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vYnVncy5waHAubmV0L2J1Zy5waHA/aWQ9NzQ1NDRdCi0KLUNWRTogQ1ZFLTIwMTctOTEyMAotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotCi1kaWZmIC0tZ2l0IGEvZXh0L215c3FsaS9teXNxbGlfYXBpLmMgYi9leHQvbXlzcWxpL215c3FsaV9hcGkuYwotaW5kZXggMDNhMzlkNy4uN2I4ODczMSAxMDA2NDQKLS0tLSBhL2V4dC9teXNxbGkvbXlzcWxpX2FwaS5jCi0rKysgYi9leHQvbXlzcWxpL215c3FsaV9hcGkuYwotQEAgLTE5NjUsNyArMTk2NSw3IEBAIFBIUF9GVU5DVElPTihteXNxbGlfcmVhbF9lc2NhcGVfc3RyaW5nKSB7Ci0gCX0KLSAJTVlTUUxJX0ZFVENIX1JFU09VUkNFX0NPTk4obXlzcWwsIG15c3FsX2xpbmssIE1ZU1FMSV9TVEFUVVNfVkFMSUQpOwotIAotLQluZXdzdHIgPSB6ZW5kX3N0cmluZ19hbGxvYygyICogZXNjYXBlc3RyX2xlbiwgMCk7Ci0rCW5ld3N0ciA9IHplbmRfc3RyaW5nX3NhZmVfYWxsb2MoMiwgZXNjYXBlc3RyX2xlbiwgMCwgMCk7Ci0gCVpTVFJfTEVOKG5ld3N0cikgPSBteXNxbF9yZWFsX2VzY2FwZV9zdHJpbmcobXlzcWwtPm15c3FsLCBaU1RSX1ZBTChuZXdzdHIpLCBlc2NhcGVzdHIsIGVzY2FwZXN0cl9sZW4pOwotIAluZXdzdHIgPSB6ZW5kX3N0cmluZ190cnVuY2F0ZShuZXdzdHIsIFpTVFJfTEVOKG5ld3N0ciksIDApOwotIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5MDE4NC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLUZyb20gM2JmY2M3ZmRkMjIyNjFlYWVkMTA5NDk3MTRkZTBhOTBkMzFlMTBhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjAgQXVnIDIwMTUgMTY6Mjk6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gW1BBVENIXSBjb25maWcubTQ6IGNoYW5nZSBBQ19UUllfUlVOIHRvIEFDX1RSWV9MSU5LCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1BQ19UUllfUlVOIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsZQotCi1TaWduZWQtb2ZmLWJ5OiBSb3kgTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0KLSUlIG9yaWdpbmFsIHBhdGNoOiBjaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaAotLS0tCi0gZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNCB8IDMxICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9maWxlaW5mby9jb25maWcubTQgYi9leHQvZmlsZWluZm8vY29uZmlnLm00Ci1pbmRleCA1MjNiNGZkLi4wYWFhNGM4IDEwMDY0NAotLS0tIGEvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAotKysrIGIvZXh0L2ZpbGVpbmZvL2NvbmZpZy5tNAotQEAgLTE0LDMxICsxNCwxMiBAQCBpZiB0ZXN0ICIkUEhQX0ZJTEVJTkZPIiAhPSAibm8iOyB0aGVuCi0gICAgIGxpYm1hZ2ljL3JlYWRjZGYuYyBsaWJtYWdpYy9zb2Z0bWFnaWMuYyBsaWJtYWdpYy9kZXIuYyIKLSAKLSAgIEFDX01TR19DSEVDS0lORyhbZm9yIHN0cmNhc2VzdHJdKQotLSAgQUNfVFJZX1JVTihbCi0tI2luY2x1ZGUgPHN0cmluZy5oPgotLSNpbmNsdWRlIDxzdHJpbmdzLmg+Ci0tI2luY2x1ZGUgPHN0ZGxpYi5oPgotLQotLWludCBtYWluKHZvaWQpCi0tewotLSAgICAgICAgY2hhciAqczAsICpzMSwgKnJldDsKLS0KLS0gICAgICAgIHMwID0gKGNoYXIgKikgbWFsbG9jKDQyKTsKLS0gICAgICAgIHMxID0gKGNoYXIgKikgbWFsbG9jKDgpOwotLQotLSAgICAgICAgbWVtc2V0KHMwLCAnWCcsIDQyKTsKLS0gICAgICAgIHMwWzI0XSA9ICdZJzsKLS0gICAgICAgIHMwWzI2XSA9ICdaJzsKLS0gICAgICAgIHMwWzQxXSA9ICdcMCc7Ci0tICAgICAgICBtZW1zZXQoczEsICd4JywgOCk7Ci0tICAgICAgICBzMVswXSA9ICd5JzsKLS0gICAgICAgIHMxWzJdID0gJ1onOwotLSAgICAgICAgczFbN10gPSAnXDAnOwotLQotLSAgICAgICAgcmV0ID0gc3RyY2FzZXN0cihzMCwgczEpOwotLQotLSAgICAgICAgcmV0dXJuICEoTlVMTCAhPSByZXQpOwotLX0KLSsgIEFDX1RSWV9DT01QSUxFKFsKLSsgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KLSsgICAgICNpbmNsdWRlIDxzdHJpbmdzLmg+Ci0rICAgICAjaW5jbHVkZSA8c3RkbGliLmg+Ci0rICBdLFsKLSsgICAgIHN0cmNhc2VzdHIoTlVMTCwgTlVMTCk7Ci0gICBdLFsKLSAgICAgZG5sIHVzaW5nIHRoZSBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbgotICAgICBBQ19NU0dfUkVTVUxUKHllcykKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocC9waHA1LTAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmFkNTU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHAvcGhwNS0wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSAxZmI1YTNiM2U2YzljZjAwMDJmZjc2OTg4ZGU3MmYwMTFiNjQyMDA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTY6MjU6MzcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWNpbmNsdWRlLm00OiBkb24ndCB1bnNldCBjYWNoZSB2YXJpYWJsZXMKKworVW5zZXR0aW5nIHByZXZlbnRzIGNhY2hlIHZhcmlhYmxlIGZyb20gYmVpbmcgcGFzc2VkIHRvIGNvbmZpZ3VyZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1zcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKwordXBkYXRlIHBhdGNoIHRvIHZlcnNpb24gNS42LjQwCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgYWNpbmNsdWRlLm00IHwgNCAtLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9hY2luY2x1ZGUubTQgYi9hY2luY2x1ZGUubTQKK2luZGV4IGIxODhlZWUuLmVkMzJmYzUgMTAwNjQ0CistLS0gYS9hY2luY2x1ZGUubTQKKysrKyBiL2FjaW5jbHVkZS5tNAorQEAgLTE4OTcsOCArMTg5Nyw2IEBAIGRlZmluZShbcGhwc2hpZnRdLFtpZmVsc2UoaW5kZXgoWyRAXSxbLF0pLC0xLCxbc3Vic3RyKFskQF0saW5jcihpbmRleChbJEBdLFssXSkpCisgZG5sCisgQUNfREVGVU4oW1BIUF9DSEVDS19GVU5DX0xJQl0sWworICAgaWZlbHNlKCQyLCw6LFsKKy0gIHVuc2V0IGFjX2N2X2xpYl8kMltdXyQxCistICB1bnNldCBhY19jdl9saWJfJDJbXV9fXyQxCisgICB1bnNldCBmb3VuZAorICAgQUNfQ0hFQ0tfTElCKCQyLCAkMSwgW2ZvdW5kPXllc10sIFsKKyAgICAgQUNfQ0hFQ0tfTElCKCQyLCBfXyQxLCBbZm91bmQ9eWVzXSwgW2ZvdW5kPW5vXSkKK0BAIC0xOTMwLDggKzE5MjgsNiBAQCBkbmwgaW4gdGhlIGRlZmF1bHQgbGlicmFyaWVzIGFuZCBhcyBhIGZhbGwgYmFjayBpbiB0aGUgc3BlY2lmaWVkIGxpYnJhcnkuCisgZG5sIERlZmluZXMgSEFWRV9mdW5jIGFuZCBIQVZFX2xpYnJhcnkgaWYgZm91bmQgYW5kIGFkZHMgdGhlIGxpYnJhcnkgdG8gTElCUy4KKyBkbmwKKyBBQ19ERUZVTihbUEhQX0NIRUNLX0ZVTkNdLFsKKy0gIHVuc2V0IGFjX2N2X2Z1bmNfJDEKKy0gIHVuc2V0IGFjX2N2X2Z1bmNfX18kMQorICAgdW5zZXQgZm91bmQKKyAgIAorICAgQUNfQ0hFQ0tfRlVOQygkMSwgW2ZvdW5kPXllc10sWyBBQ19DSEVDS19GVU5DKF9fJDEsW2ZvdW5kPXllc10sW2ZvdW5kPW5vXSkgXSkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjM4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjM4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmY1MTQ1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzUuNi4zOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLXJlcXVpcmUgcGhwLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iNjAyNjM2ZDQ2YTYxYzBhYzA0MzJiYmY1YzA3OGZlNCIKLQotU1JDX1VSSSArPSAiZmlsZTovL3BocDUtY2hhbmdlLUFDX1RSWV9SVU4tdG8tQUNfVFJZX0xJTksucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3B0aHJlYWQtY2hlY2stdGhyZWFkcy1tNC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtbHB0aHJlYWQtdG8tbGluay5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYWNpbmNsdWRlLXhtbDItY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS11c2UtcGtnY29uZmlnLWZvci1saWJ4bWwyLWNvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1QSFAtNS42LUxpYlNTTC0xLjEtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS1wZWFyLW1ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGhhci1tYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1Yjk4YWEwNjY1NjdlY2E4ZTU3MzhiOGVmNGEzNTQ1YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjViMjMxYmJkZDYzYmU0NDM5ZWY1Y2VkOTY1Y2ZkNjNlNjI5ODM0MjlkYmQ0ZGZjZmI0OTk4MTU5M2ViYzAzIgotCi1ERVBFTkRTICs9ICJsaWJtY3J5cHQiCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1tY3J5cHQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gXAotICAgICAgICAgICAgICAgICAiIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjQwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNS42LjQwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNWJhYzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF81LjYuNDAuYmIKQEAgLTAsMCArMSwyNSBAQAorcmVxdWlyZSBwaHAuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI2MDI2MzZkNDZhNjFjMGFjMDQzMmJiZjVjMDc4ZmU0IgorCitTUkNfVVJJICs9ICJmaWxlOi8vcGhwNS1jaGFuZ2UtQUNfVFJZX1JVTi10by1BQ19UUllfTElOSy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vcHRocmVhZC1jaGVjay10aHJlYWRzLW00LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1scHRocmVhZC10by1saW5rLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9hY2luY2x1ZGUteG1sMi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtYWNpbmNsdWRlLXVzZS1wa2djb25maWctZm9yLWxpYnhtbDItY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVBIUC01LjYtTGliU1NMLTEuMS1jb21wYXRpYmlsaXR5LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtYWNpbmNsdWRlLm00LWRvbi10LXVuc2V0LWNhY2hlLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhwNS1wZWFyLW1ha2VmaWxlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BocDUtcGhhci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waHA1LTAwMDEtb3BjYWNoZS1jb25maWcubTQtZW5hYmxlLW9wY2FjaGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NDYzMzYwNGQyZmVjZTFmNTNmNTA4YmMxNjc1MWI3NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZmQwMjVkMzQ2MjM1NTNhYjJmN2ZkOGZiMjFkMGM5ZTZmOWZhMzBkYzU2NWNhMDNhMWQ3Yjc2MzAyM2ZiYTAwIgorCitERVBFTkRTICs9ICJsaWJtY3J5cHQiCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1tY3J5cHQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAiIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4yLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3BocC9waHBfNy4yLjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZGM2NGJiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMi4xMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLXJlcXVpcmUgcGhwLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02N2UzNjliYzhkMWYyZTY0MTIzNmI4MDAyMDM5YTZhMiIKLQotU1JDX1VSSSArPSAiZmlsZTovL2NoYW5nZS1BQ19UUllfUlVOLXRvLUFDX1RSWV9MSU5LLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1za2lwLWJpbmNvbmZpZy1jaGVjay1mb3ItbGlieG1sLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1lcnJvci1jYXVzZWQtYnktYS1uZXctdmFyaWFibGUtaXMtZGVjbGFyZWQtYWZ0ZXIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTkxMjAucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BlYXItbWFrZWZpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhhci1tYWtlZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGNlOGZmNjE1YmZiOWRlN2E4OWJhYjhkNzQyYzExYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDFiNjEyOWEwOTIxYTE2MzZiMDdkYTliYzU5OGE4NzY2NjllNDVhNDYyY2VmNGI1ODQ0ZmMyNjg2MmRiZGE5ZCIKLQotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsaT0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAotICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXBkby1teXNxbD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9teXNxbF9jb25maWcgXAotICAgICAgICAgICAgICAgICAgICAgICAgLC0td2l0aG91dC1teXNxbGkgLS13aXRob3V0LXBkby1teXNxbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAsbXlzcWw1IgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kPSR7U1RBR0lOR19ESVJfVEFSR0VUfS91c3IsLS13aXRoLXZhbGdyaW5kPW5vLHZhbGdyaW5kIgotCi1GSUxFU18ke1BOfS1mcG0gKz0gIiR7c3lzY29uZmRpcn0vcGhwLWZwbS5kL3d3dy5jb25mLmRlZmF1bHQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9waHAvcGhwXzcuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNGZhY2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcGhwL3BocF83LjMuMi5iYgpAQCAtMCwwICsxLDI1IEBACityZXF1aXJlIHBocC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmIwN2JmYzUxZjZkNWUwYzMwYjY1ZDk3MDEyMzNiMmUiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWFjaW5jbHVkZS5tNC1kb24tdC11bnNldC1jYWNoZS12YXJpYWJsZXMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwNDgtVXNlLXBrZy1jb25maWctZm9yLUZyZWVUeXBlMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwNDktZXh0LWludGwtVXNlLXBrZy1jb25maWctdG8tZGV0ZWN0LWljdS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtcGtnLWNvbmZpZy1mb3ItbGlieG1sMi1kZXRlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BlYXItbWFrZWZpbGUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGhhci1tYWtlZmlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wY2FjaGUtY29uZmlnLm00LWVuYWJsZS1vcGNhY2hlLnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzg5M2ZmODI4OTQ1YzI3NGQ5MGUwMjY1MjgxNDI0MzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQ2ZjUwZGFjYmQyZjYxZTY0M2JiNzM3MDIxY2JlOGIxODE2ZTc4MGVlN2FkM2UwY2Q5OTlhMTg5MmFiMGFkZCIKKworUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsaT1teXNxbG5kIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aC1wZG8tbXlzcWw9bXlzcWxuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAsLS13aXRob3V0LW15c3FsaSAtLXdpdGhvdXQtcGRvLW15c3FsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICxteXNxbDUiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLXdpdGgtdmFsZ3JpbmQ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9L3VzciwtLXdpdGgtdmFsZ3JpbmQ9bm8sdmFsZ3JpbmQiCisKK0ZJTEVTXyR7UE59LWZwbSArPSAiJHtzeXNjb25mZGlyfS9waHAtZnBtLmQvd3d3LmNvbmYuZGVmYXVsdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zi9ydW4tcHRlc3QgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcHJvdG9idWYvcHJvdG9idWYvcnVuLXB0ZXN0CmluZGV4IDdjM2E4ZDEuLmIzYjIyNzggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9wcm90b2J1Zi9wcm90b2J1Zi9ydW4tcHRlc3QKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3Byb3RvYnVmL3Byb3RvYnVmL3J1bi1wdGVzdApAQCAtOCw3ICs4LDcgQEAKIAlpZiBbIC14ICIke3dyaXRlX2V4ZV9mdWxsX3BhdGh9IiBdOyB0aGVuCiAJCXdyaXRlX2V4ZT1gYmFzZW5hbWUgJHt3cml0ZV9leGVfZnVsbF9wYXRofWAKIAkJZWNobyAiR2VuZXJhdGluZyBuZXcgdGVzdCBmaWxlIHVzaW5nICR7d3JpdGVfZXhlfS4uLiIKLQkJJHt3cml0ZV9leGVfZnVsbF9wYXRofSAiJHtURVNUX0ZJTEV9IgorICAgIHByaW50ZiAiMTIzNFxubmFtZVxubmFtZUBleGFtcGxlLmNvbVxuIiB8ICR7d3JpdGVfZXhlX2Z1bGxfcGF0aH0gIiR7VEVTVF9GSUxFfSIKIAkJUkVUVkFMPSQ/CiAJCVsgJFJFVFZBTCAtZXEgMCBdIHx8IGV4aXQgJFJFVFZBTAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbi8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uLzAwMDEtQ01ha2UtcmVtb3ZlLWhhcmRjb2RlZC1DTUFLRUNPTkZJR19JTlNUQUxMX0RJUi1wYXRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NWY1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbi8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDhkMjcyZTUzYTRkMWRjNDA1ZTA4Y2UyZGQ1MDE1OWM1OGY0NDUxZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSdXNsYW4gQmlsb3ZvbCA8cmJpbG92b2xAY2lzY28uY29tPgorRGF0ZTogVGh1LCAyNCBKYW4gMjAxOSAxODoxMTozOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBDTWFrZTogcmVtb3ZlIGhhcmRjb2RlZCBDTUFLRUNPTkZJR19JTlNUQUxMX0RJUiBwYXRoCisKK0N1cnJlbnRseSB0aGlzIHBhdGggaXMgaGFyZGNvZGVkIHRvIGxpYi9jbWFrZS4KK1NvbWUgZGlzdHJpYnV0aW9ucyBoYXZlIGRpZmZlcmVudCBsaWJyYXJ5IHBhdGggKGxpa2UgbGliNjQpLgorU28gcmV1c2UgTElCX0lOU1RBTExfRElSIGZvciB0aGF0IHRvIG1ha2UgQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIKK2NvbmZpZ3VyYWJsZSBhbmQgdXNhYmxlIGluIHN1Y2ggZGlzdHJvcy4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL1RlbmNlbnQvcmFwaWRqc29uL2NvbW1pdC84ZDI3MmU1M2E0ZDFkYzQwNWUwOGNlMmRkNTAxNTljNThmNDQ1MWU5XQorCitTaWduZWQtb2ZmLWJ5OiBSdXNsYW4gQmlsb3ZvbCA8cmJpbG92b2xAY2lzY28uY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggN2M2MDQwNy4uMDI3NTY3MiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTE5OSw5ICsxOTksOSBAQCBDT05GSUdVUkVfRklMRSgke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vJHtQUk9KRUNUX05BTUV9Q29uZmlnVmVyc2lvbi5jbWFrZS5pbgorICAgICAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vJHtQUk9KRUNUX05BTUV9Q29uZmlnVmVyc2lvbi5jbWFrZSBAT05MWSkKKyAKKyAjIC4uLiBmb3IgdGhlIGluc3RhbGwgdHJlZQorLVNFVCggQ01BS0VDT05GSUdfSU5TVEFMTF9ESVIgbGliL2NtYWtlLyR7UFJPSkVDVF9OQU1FfSApCisrU0VUKCBDTUFLRUNPTkZJR19JTlNUQUxMX0RJUiAke0xJQl9JTlNUQUxMX0RJUn0vY21ha2UvJHtQUk9KRUNUX05BTUV9ICkKKyBGSUxFKCBSRUxBVElWRV9QQVRIIFJFTF9JTkNMVURFX0RJUgorLSAgICAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vJHtDTUFLRUNPTkZJR19JTlNUQUxMX0RJUn0iCisrICAgICIke0NNQUtFQ09ORklHX0lOU1RBTExfRElSfSIKKyAgICAgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiICkKKyAKKyBTRVQoICR7UFJPSkVDVF9OQU1FfV9JTkNMVURFX0RJUiAiXCR7JHtQUk9KRUNUX05BTUV9X0NNQUtFX0RJUn0vJHtSRUxfSU5DTFVERV9ESVJ9IiApCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy9yYXBpZGpzb24vcmFwaWRqc29uX2dpdC5iYgppbmRleCBjOTBlYWIwLi5lM2VkOWM2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvcmFwaWRqc29uL3JhcGlkanNvbl9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3JhcGlkanNvbi9yYXBpZGpzb25fZ2l0LmJiCkBAIC00LDcgKzQsOCBAQAogTElDRU5TRSA9ICJNSVQiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWNlbnNlLnR4dDttZDU9YmEwNGFhOGY2NWRlMTM5NmE3ZTU5ZDFkNzQ2YzIxMjUiCiAKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taWxveWlwL3JhcGlkanNvbi5naXQ7bm9icmFuY2g9MSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9taWxveWlwL3JhcGlkanNvbi5naXQ7bm9icmFuY2g9MSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlLXJlbW92ZS1oYXJkY29kZWQtQ01BS0VDT05GSUdfSU5TVEFMTF9ESVItcGF0aC5wYXRjaCIKIAogU1JDUkVWID0gIjZhOTA1ZjkzMTFmODJkMzA2ZGE3N2JkOTYzZWM1YWE1ZGEwN2RhOWMiCiAKQEAgLTE0LDcgKzE1LDcgQEAKIAogaW5oZXJpdCBjbWFrZQogCi1FWFRSQV9PRUNNQUtFICs9ICItRFJBUElESlNPTl9CVUlMRF9ET0M9T0ZGIC1EUkFQSURKU09OX0JVSUxEX1RFU1RTPU9GRiAtRFJBUElESlNPTl9CVUlMRF9FWEFNUExFUz1PRkYiCitFWFRSQV9PRUNNQUtFICs9ICItRFJBUElESlNPTl9CVUlMRF9ET0M9T0ZGIC1EUkFQSURKU09OX0JVSUxEX1RFU1RTPU9GRiAtRFJBUElESlNPTl9CVUlMRF9FWEFNUExFUz1PRkYgLURMSUJfSU5TVEFMTF9ESVI6U1RSSU5HPSR7bGliZGlyfSIKIAogIyBSYXBpZEpTT04gaXMgYSBoZWFkZXItb25seSBDKysgbGlicmFyeSwgc28gdGhlIG1haW4gcGFja2FnZSB3aWxsIGJlIGVtcHR5LgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrL2NvbmZzZWFyY2guZGlmZgppbmRleCA0ZGJkOWE0Li44Y2MwN2JjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGsvY29uZnNlYXJjaC5kaWZmCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90ay9jb25mc2VhcmNoLmRpZmYKQEAgLTEsMzUgKzEsNDYgQEAKK0Zyb20gNTUzOTQ0MmU1ZjU0NDI2MDYwNzFhZmM1Y2YwMjY0MjMxNGFkMTNiYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBXZWQsIDE3IEF1ZyAyMDExIDIyOjUyOjM1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIHRrIDguNS44OiBpbXBvcnQgZnJvbSBPRSByZXYKKwogUGF0Y2ggYnkgU2VyZ2VpIEdvbG92YW4gYWxsb3dzIHRvIGZpbmQgdGNsQ29uZmlnLnNoIGluIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41CiBhbmQgdGtDb25maWcuc2ggaW4gL3Vzci9zaGFyZS90Y2x0ay90azguNSB3aGVyZSB0aGV5IGFyZSBsb2NhdGVkIGluIERlYmlhbgogaW5zdGFsbGF0aW9uLgogCi0tLS0gdGs4LjUtOC41Ljgub3JpZy91bml4L2NvbmZpZ3VyZQotKysrIHRrOC41LTguNS44L3VuaXgvY29uZmlndXJlCi1AQCAtMTQzMSw3ICsxNDMxLDggQEAKLSAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAorLS0tCisgdW5peC9jb25maWd1cmUgfCAxICsKKyB1bml4L3RjbC5tNCAgICB8IDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitJbmRleDogYS91bml4L2NvbmZpZ3VyZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdW5peC9jb25maWd1cmUub3JpZworKysrIGIvdW5peC9jb25maWd1cmUKK0BAIC0xNDMyLDYgKzE0MzIsNyBAQCBlY2hvICIkYXNfbWU6IGVycm9yOiAke3dpdGhfdGNsY29uZmlnfSBkCiAgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9wa2cvbGliIDI+L2Rldi9udWxsYCBcCi0rCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC41IDI+L2Rldi9udWxsYCBcCisrCQkJYGxzIC1kIC91c3Ivc2hhcmUvdGNsdGsvdGNsOC42IDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliNjQgMj4vZGV2L251bGxgIFwKLSAJCQk7IGRvCi0gCQkgICAgaWYgdGVzdCAtZiAiJGkvdGNsQ29uZmlnLnNoIiA7IHRoZW4KLS0tLSB0azguNS04LjUuOC5vcmlnL3VuaXgvdGNsLm00Ci0rKysgdGs4LjUtOC41LjgvdW5peC90Y2wubTQKLUBAIC05Myw3ICs5Myw4IEBACi0gCQkJYGxzIC1kIC91c3IvY29udHJpYi9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIvdGNsOC42IDI+L2Rldi9udWxsYCBcCitJbmRleDogYS91bml4L3RjbC5tNAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdW5peC90Y2wubTQub3JpZworKysrIGIvdW5peC90Y2wubTQKK0BAIC05NCw2ICs5NCw3IEBAIEFDX0RFRlVOKFtTQ19QQVRIX1RDTENPTkZJR10sIFsKICAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIgMj4vZGV2L251bGxgIFwKKyAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAogIAkJCWBscyAtZCAvdXNyL3BrZy9saWIgMj4vZGV2L251bGxgIFwKLSsJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjUgMj4vZGV2L251bGxgIFwKKysJCQlgbHMgLWQgL3Vzci9zaGFyZS90Y2x0ay90Y2w4LjYgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9saWI2NCAyPi9kZXYvbnVsbGAgXAotIAkJCTsgZG8KLSAJCSAgICBpZiB0ZXN0IC1mICIkaS90Y2xDb25maWcuc2giIDsgdGhlbgotQEAgLTIyMyw3ICsyMjQsOCBAQAotIAkJCWBscyAtZCAke3ByZWZpeH0vbGliIDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvbG9jYWwvbGliL3RjbDguNiAyPi9kZXYvbnVsbGAgXAorQEAgLTIyNyw2ICsyMjgsNyBAQCBBQ19ERUZVTihbU0NfUEFUSF9US0NPTkZJR10sIFsKICAJCQlgbHMgLWQgL3Vzci9sb2NhbC9saWIgMj4vZGV2L251bGxgIFwKICAJCQlgbHMgLWQgL3Vzci9jb250cmliL2xpYiAyPi9kZXYvbnVsbGAgXAotKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RrOC41IDI+L2Rldi9udWxsYCBcCisgCQkJYGxzIC1kIC91c3IvcGtnL2xpYiAyPi9kZXYvbnVsbGAgXAorKwkJCWBscyAtZCAvdXNyL3NoYXJlL3RjbHRrL3RrOC42IDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliIDI+L2Rldi9udWxsYCBcCiAgCQkJYGxzIC1kIC91c3IvbGliNjQgMj4vZGV2L251bGxgIFwKLSAJCQk7IGRvCi0gCQkgICAgaWYgdGVzdCAtZiAiJGkvdGtDb25maWcuc2giIDsgdGhlbgorIAkJCWBscyAtZCAvdXNyL2xvY2FsL2xpYi90azguNiAyPi9kZXYvbnVsbGAgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTM4NTI1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIFRvb2xLaXQgRXh0ZW5zaW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCi1TRUNUSU9OID0gImRldmVsL3RjbHRrIgotCi0jIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAotTElDRU5TRSA9ICJ0Y2wiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2NvbXBhdC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2RvYy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi9tYWNvc3gvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCi0gICAgZmlsZTovLy4uL3VuaXgvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAotICAgIGZpbGU6Ly8uLi94bGliL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKLSIKLQotREVQRU5EUyA9ICJ0Y2wgdmlydHVhbC9saWJ4MTEgbGlieHQiCi0KLVNSQ19VUkkgPSAiXAotICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCi0gICAgZmlsZTovL2NvbmZzZWFyY2guZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly9ub24tbGludXguZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly90a2xpYnJhcnkuZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly90a3ByaXZhdGUuZGlmZjtzdHJpcGxldmVsPTIgXAotICAgIGZpbGU6Ly9maXgteGZ0LmRpZmYgXAotICAgIGZpbGU6Ly9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjVlMGZhZWNiYTQ1OGVlMTM4NjA3OGZiMjI4ZDAwOGJhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ5ZTdiY2EwOGRkZTk1MTk1YTI3ZjU5NGY3Yzg1MGIwODhiZTM1N2E3YzcwOTZlNDRlMTE1OGM3YTVmZDdiMzMiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgotCi0jIFNob3J0IHZlcnNpb24gZm9ybWF0OiAiOC42IgotVkVSID0gIiR7QG9zLnBhdGguc3BsaXRleHQoZC5nZXRWYXIoJ1BWJykpWzBdfSIKLQotTERGTEFHUyArPSAiLVdsLC1ycGF0aCwke2xpYmRpcn0vdGNsdGsvJHtQVn0vbGliIgotaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS1lbmFibGUtdGhyZWFkcyBcCi0gICAgLS13aXRoLXggXAotICAgIC0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUn0vY3Jvc3NzY3JpcHRzIFwKLSAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotIgotZXhwb3J0IFRLX0xJQlJBUlk9JyR7bGliZGlyfS90ayR7VkVSfScKLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGxuIC1zZiBsaWJ0ayR7VkVSfS5zbyAke0R9JHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvLjAKLSAgICBvZV9saWJpbnN0YWxsIC1zbyBsaWJ0ayR7VkVSfSAke0R9JHtsaWJkaXJ9Ci0gICAgbG4gLXNmIHdpc2gke1ZFUn0gJHtEfSR7YmluZGlyfS93aXNoCi19Ci0KLVBBQ0tBR0VDT05GSUcgPz89ICJ4ZnQiCi1QQUNLQUdFQ09ORklHW3hmdF0gPSAiLS1lbmFibGUteGZ0LC0tZGlzYWJsZS14ZnQseGZ0IgotUEFDS0FHRUNPTkZJR1t4c3NdID0gIi0tZW5hYmxlLXhzcywtLWRpc2FibGUteHNzLGxpYnhzY3Juc2F2ZXIgbGlieGV4dCIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWxpYiIKLQotRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWJ0ayR7VkVSfS5zbyoiCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RrKiIKLQotIyBpc24ndCBnZXR0aW5nIHBpY2tlZCB1cCBieSBzaGxpYnMgY29kZQotUkRFUEVORFNfJHtQTn0gKz0gInRrLWxpYiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90a184LjYuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTlhZTgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RrXzguNi45LmJiCkBAIC0wLDAgKzEsOTYgQEAKK1NVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIFRvb2xLaXQgRXh0ZW5zaW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gImRldmVsL3RjbHRrIgorCisjIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAorTElDRU5TRSA9ICJ0Y2wiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9Ly4uL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9Yzg4Zjk5ZGVjZWMxMWFmYTk2N2FkMzNkMzE0Zjg3ZmUgXAorICAgIGZpbGU6Ly8ke1N9Ly4uL2RvYy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vbGlicmFyeS9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vdW5peC9saWNlbnNlLnRlcm1zO21kNT1jODhmOTlkZWNlYzExYWZhOTY3YWQzM2QzMTRmODdmZSBcCisgICAgZmlsZTovLyR7U30vLi4vd2luL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyAgICBmaWxlOi8vJHtTfS8uLi94bGliL2xpY2Vuc2UudGVybXM7bWQ1PWM4OGY5OWRlY2VjMTFhZmE5NjdhZDMzZDMxNGY4N2ZlIFwKKyIKKworREVQRU5EUyA9ICJ0Y2wgdmlydHVhbC9saWJ4MTEgbGlieHQiCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCisgICAgZmlsZTovL2NvbmZzZWFyY2guZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9ub24tbGludXguZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a2xpYnJhcnkuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly90a3ByaXZhdGUuZGlmZjtzdHJpcGxldmVsPTIgXAorICAgIGZpbGU6Ly9maXgteGZ0LmRpZmYgXAorICAgIGZpbGU6Ly9jb25maWd1cmUudXNlLmZvbnRjb25maWcud2l0aC54ZnQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImUzY2Y2MjkwOTk5ZWUzMDY1MWQ3NTg2NGVjY2ZlYzYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzZjkxNjFlOGJhMGYxMDdmZThkNGRmMWY2ZDNhMTRjMzBjYzM1MTJkZmMxMmE3OTVkYWEzNjdhMjc2NjBkYWMiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0ke1BWfS91bml4IgorCisjIFNob3J0IHZlcnNpb24gZm9ybWF0OiAiOC42IgorVkVSID0gIiR7QG9zLnBhdGguc3BsaXRleHQoZC5nZXRWYXIoJ1BWJykpWzBdfSIKKworTERGTEFHUyArPSAiLVdsLC1ycGF0aCwke2xpYmRpcn0vdGNsdGsvJHtQVn0vbGliIgoraW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgLS13aXRoLXggXAorICAgIC0td2l0aC10Y2w9JHtTVEFHSU5HX0JJTkRJUn0vY3Jvc3NzY3JpcHRzIFwKKyAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAorIgorZXhwb3J0IFRLX0xJQlJBUlk9JyR7bGliZGlyfS90ayR7VkVSfScKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGxuIC1zZiBsaWJ0ayR7VkVSfS5zbyAke0R9JHtsaWJkaXJ9L2xpYnRrJHtWRVJ9LnNvLjAKKyAgICBvZV9saWJpbnN0YWxsIC1zbyBsaWJ0ayR7VkVSfSAke0R9JHtsaWJkaXJ9CisgICAgbG4gLXNmIHdpc2gke1ZFUn0gJHtEfSR7YmluZGlyfS93aXNoCisKKyAgICBzZWQgLWkgInM7LUwke0J9Oy1MJHtTVEFHSU5HX0xJQkRJUn07ZyIgdGtDb25maWcuc2gKKyAgICBzZWQgLWkgInM7JyR7V09SS0RJUn07JyR7U1RBR0lOR19JTkNESVJ9O2ciIHRrQ29uZmlnLnNoCisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQorICAgIGluc3RhbGwgLW0gMDc1NSB0a0NvbmZpZy5zaCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQorfQorCitQQUNLQUdFQ09ORklHID8/PSAieGZ0IgorUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLXhmdCwtLWRpc2FibGUteGZ0LHhmdCIKK1BBQ0tBR0VDT05GSUdbeHNzXSA9ICItLWVuYWJsZS14c3MsLS1kaXNhYmxlLXhzcyxsaWJ4c2NybnNhdmVyIGxpYnhleHQiCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK0ZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlidGske1ZFUn0uc28qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90ayoiCisKKyMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKK1JERVBFTkRTXyR7UE59ICs9ICJ0ay1saWIiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQorU1NUQVRFX1NDQU5fRklMRVMgKz0gIipDb25maWcuc2giCisKK2luaGVyaXQgYmluY29uZmlnCisKK1NZU1JPT1RfRElSUyArPSAiJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfSIKKworIyBGaXggc29tZSBwYXRocyB0aGF0IG1pZ2h0IGJlIHVzZWQgYnkgVGNsIGV4dGVuc2lvbnMKK0JJTkNPTkZJR19HTE9CID0gIipDb25maWcuc2giCisKKyMgQ2xlYW51cCBob3N0IHBhdGggZnJvbSAke2xpYmRpcn0vdGNsQ29uZmlnLnNoIGFuZCByZW1vdmUgdGhlCisjICR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vdGNsQ29uZmlnLnNoIGZyb20gdGFyZ2V0CitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInRjbF9wYWNrYWdlX3ByZXByb2Nlc3MiCit0Y2xfcGFja2FnZV9wcmVwcm9jZXNzKCkgeworICAgICAgICBzZWQgLWkgLWUgInM7JHtERUJVR19QUkVGSVhfTUFQfTs7ZyIgXAorICAgICAgICAgICAgICAgLWUgInM7LUwke1NUQUdJTkdfTElCRElSfTstTCR7bGliZGlyfTtnIiBcCisgICAgICAgICAgICAgICAtZSAiczske1NUQUdJTkdfSU5DRElSfTske2luY2x1ZGVkaXJ9O2ciIFwKKyAgICAgICAgICAgICAgIC1lICJzOy0tc3lzcm9vdD0ke1JFQ0lQRV9TWVNST09UfTs7ZyIgXAorICAgICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS90a0NvbmZpZy5zaAorCisgICAgICAgIHJtIC1mICR7UEtHRH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RrQ29uZmlnLnNoCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlN2FhYzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZS8wMDAxLWluY2x1ZGUtZGxmY24uaC1mb3ItUlRMRF9ERUZBVUxULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSBjZGY3ZjJlMzk0ZmNmYjkzYTYxZjUwOWFlMzM4OGYyOTU0MGE2YjM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOCBTZXAgMjAxOCAxMTo1NjoxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIGRsZmNuLmggZm9yIFJUTERfREVGQVVMVAotCi1GaXhlcwotcGx0aG9vay5jOjEyODo0MTogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JUTERfREVGQVVMVCcKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9uYW1oeXVuZy91ZnRyYWNlL3B1bGwvNDg3XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYm1jb3VudC9wbHRob29rLmMgfCAxICsKLSB1dGlscy9kZWJ1Zy5jICAgICAgIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2xpYm1jb3VudC9wbHRob29rLmMgYi9saWJtY291bnQvcGx0aG9vay5jCi1pbmRleCBkOWQ4NGYwLi5kNTRmNWU4IDEwMDY0NAotLS0tIGEvbGlibWNvdW50L3BsdGhvb2suYwotKysrIGIvbGlibWNvdW50L3BsdGhvb2suYwotQEAgLTYsNiArNiw3IEBACi0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0gI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSAjaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0gCi0gLyogVGhpcyBzaG91bGQgYmUgZGVmaW5lZCBiZWZvcmUgI2luY2x1ZGUgInV0aWxzLmgiICovCi0gI2RlZmluZSBQUl9GTVQgICAgICJtY291bnQiCi1kaWZmIC0tZ2l0IGEvdXRpbHMvZGVidWcuYyBiL3V0aWxzL2RlYnVnLmMKLWluZGV4IDIxMzRiMDkuLjU0NjBkZWYgMTAwNjQ0Ci0tLS0gYS91dGlscy9kZWJ1Zy5jCi0rKysgYi91dGlscy9kZWJ1Zy5jCi1AQCAtMTMsNiArMTMsNyBAQAotICNpbmNsdWRlIDxhc3NlcnQuaD4KLSAjaW5jbHVkZSA8bGltaXRzLmg+Ci0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0gCi0gI2luY2x1ZGUgInV0aWxzL3V0aWxzLmgiCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjguMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EzOGU2YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMvdWZ0cmFjZS91ZnRyYWNlXzAuOC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJUcmFjZSBhbmQgYW5hbHl6ZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIHdyaXR0ZW4gaW4gQy9DKysiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmFtaHl1bmcvdWZ0cmFjZSIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UvaXNzdWVzIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotREVQRU5EUyA9ICJlbGZ1dGlscyIKLURFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIgotCi1pbmhlcml0IGF1dG90b29scwotCi0jIHYwLjguMwotU1JDUkVWID0gIjhiNzIzYTZmYWUyZWYzMDQ5NWNkNjI3OTc3NGZiYTljOTVjZDljODgiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmFtaHl1bmcvJHtCUE59IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1kbGZjbi5oLWZvci1SVExEX0RFRkFVTFQucGF0Y2ggXAotICAgICAgICAgICAiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1MREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKLQotZGVmIHNldF90YXJnZXRfYXJjaChkKToKLSAgICBpbXBvcnQgcmUKLSAgICBhcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkKLSAgICBpZiByZS5tYXRjaChyJ2kuODYnLCBhcmNoLCByZS5JKToKLSAgICAgICAgcmV0dXJuICdpMzg2JwotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBhcmNoCi0KLUVYVFJBX1VGVFJBQ0VfT0VDT05GID0gIkFSQ0g9JHtAc2V0X3RhcmdldF9hcmNoKGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICB3aXRoX2VsZnV0aWxzPS91c2UvbGliZWxmL2Zyb20vc3lzcm9vdCIKLQotZG9fY29uZmlndXJlKCkgewotICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfVUZUUkFDRV9PRUNPTkZ9Ci19Ci0KLUZJTEVTX1NPTElCU0RFViA9ICIiCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9Lyouc28iCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YWFyY2g2NHxhcm0pIgotCi0jIHVmdHJhY2Ugc3VwcG9ydHMgYXJtdjYgYW5kIGFib3ZlCi1DT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKLUNPTVBBVElCTEVfSE9TVF9hcm12NSA9ICdudWxsJwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3VmdHJhY2UvdWZ0cmFjZV8wLjkuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY0MDE2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy91ZnRyYWNlL3VmdHJhY2VfMC45LjIuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJUcmFjZSBhbmQgYW5hbHl6ZSBleGVjdXRpb24gb2YgYSBwcm9ncmFtIHdyaXR0ZW4gaW4gQy9DKysiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbmFtaHl1bmcvdWZ0cmFjZSIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL25hbWh5dW5nL3VmdHJhY2UvaXNzdWVzIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworREVQRU5EUyA9ICJlbGZ1dGlscyIKK0RFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIgorCitpbmhlcml0IGF1dG90b29scworCisjIHYwLjkuMgorU1JDUkVWID0gIjY2ZmMxZmI5NzNmNGE0NGFlY2QyMTY1NDE0MDVmZmUwNTE5NmYxMWUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmFtaHl1bmcvJHtCUE59IFwKKyAgICAgICAgICAgIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbGFyZ3AiCisKK2RlZiBzZXRfdGFyZ2V0X2FyY2goZCk6CisgICAgaW1wb3J0IHJlCisgICAgYXJjaCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCisgICAgaWYgcmUubWF0Y2gocidpLjg2JywgYXJjaCwgcmUuSSk6CisgICAgICAgIHJldHVybiAnaTM4NicKKyAgICBlbGlmIHJlLm1hdGNoKCdhcm1lYicsIGFyY2gsIHJlLkkpOgorICAgICAgICByZXR1cm4gJ2FybScKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gYXJjaAorCitFWFRSQV9VRlRSQUNFX09FQ09ORiA9ICJBUkNIPSR7QHNldF90YXJnZXRfYXJjaChkKX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgd2l0aF9lbGZ1dGlscz0vdXNlL2xpYmVsZi9mcm9tL3N5c3Jvb3QiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKyAgICAke1N9L2NvbmZpZ3VyZSAke0VYVFJBX1VGVFJBQ0VfT0VDT05GfQorfQorCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLnNvIgorCitDT01QQVRJQkxFX0hPU1QgPSAiKGkuODZ8eDg2XzY0fGFhcmNoNjR8YXJtKSIKKworIyB1ZnRyYWNlIHN1cHBvcnRzIGFybXY2IGFuZCBhYm92ZQorQ09NUEFUSUJMRV9IT1NUX2FybXY0ID0gJ251bGwnCitDT01QQVRJQkxFX0hPU1RfYXJtdjUgPSAnbnVsbCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM0ZDY5Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tIDk1MGIyN2Y4MzIwYjg0MTQ5MGNhZmNiM2U2ZTNiODE4YzcxNzRjMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIEp1bCAyMDE3IDIyOjMyOjUwIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBjb21waWxlIGZhaWx1cmUgYWdhaW5zdCBtdXNsIEMgbGlicmFyeQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcCAgICAgICAgICAgICAgIHwgIDIgKy0KLSB0b29scy94bWxycGNfcHN0cmVhbS94bWxycGNfcHN0cmVhbS5jcHAgfCAxMCArKysrKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwIGIvdGVzdC9jcHAvc2VydmVyX2FieXNzLmNwcAotaW5kZXggMjQ1OGE4Zi4uODJmOTFkYSAxMDA2NDQKLS0tLSBhL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAKLSsrKyBiL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHAKLUBAIC0xOCw3ICsxOCw3IEBACi0gI2lmZGVmIFdJTjMyCi0gICAjaW5jbHVkZSA8d2luc29jazIuaD4KLSAjZWxzZQotLSAgI2luY2x1ZGUgPHN5cy91bmlzdGQuaD4KLSsgICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAgICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0gICAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0gICAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcCBiL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcAotaW5kZXggZDM5ZTEwNS4uMWZkODkwMCAxMDA2NDQKLS0tLSBhL3Rvb2xzL3htbHJwY19wc3RyZWFtL3htbHJwY19wc3RyZWFtLmNwcAotKysrIGIvdG9vbHMveG1scnBjX3BzdHJlYW0veG1scnBjX3BzdHJlYW0uY3BwCi1AQCAtMTUsMTEgKzE1LDE1IEBACi0gI2luY2x1ZGUgInhtbHJwYy1jL2dpcmVyci5ocHAiCi0gdXNpbmcgZ2lyZXJyOjp0aHJvd2Y7Ci0gCi0tI2luY2x1ZGUgPGZlYXR1cmVzLmg+ICAvLyBmb3IgX19CRUdJTl9ERUNMUwotKyNpZmRlZiBfX2NwbHVzcGx1cwotK2V4dGVybiAiQyIgewotKyNlbmRpZgotIAotLV9fQkVHSU5fREVDTFMKLSAjaW5jbHVkZSAiZHVtcHZhbHVlLmgiICAvKiBBbiBpbnRlcm5hbCBYbWxycGMtYyBoZWFkZXIgZmlsZSAhICovCi0tX19FTkRfREVDTFMKLSsKLSsjaWZkZWYgX19jcGx1c3BsdXMKLSt9Ci0rI2VuZGlmCi0gCi0gCi0gI2luY2x1ZGUgPHhtbHJwYy1jL2Jhc2UuaHBwPgotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtYy8wMDAxLXRlc3QtY3BwLXNlcnZlcl9hYnlzcy1GaXgtYnVpbGQtd2l0aC1jbGFuZy1saWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlODNiMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWMvMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGRiYTNjNWJmMzRlZDUzMGZkNDFlZDUwOTY4ODI1YWYyMTU4ZjE0MmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMzozMTozOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSB0ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3M6IEZpeCBidWlsZCB3aXRoIGNsYW5nL2xpYmMrKworCisvbW50L2EveW9lL3dvcmtzcGFjZS9zb3VyY2VzL3htbHJwYy1jL3Rlc3QvY3BwL3NlcnZlcl9hYnlzcy5jcHA6ODc6MTQ6IGVycm9yOiBhc3NpZ25pbmcgdG8gJ2ludCcgZnJvbSBpbmNvbXBhdGlibGUgdHlwZSAnX19iaW5kPGludAorJiwgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50PicKKyAgICAgICAgcmMgPSBiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKyAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyB0ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwIHwgNTYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQorCistLS0gYS90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCisrKysgYi90ZXN0L2NwcC9zZXJ2ZXJfYWJ5c3MuY3BwCitAQCAtODUsNyArODUsNyBAQCBwdWJsaWM6CisgICAgICAgICBzb2NrQWRkci5zaW5fcG9ydCAgID0gaHRvbnMocG9ydE51bWJlcik7CisgICAgICAgICBzb2NrQWRkci5zaW5fYWRkci5zX2FkZHIgPSAwOworIAorLSAgICAgICAgcmMgPSBiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKysgICAgICAgIHJjID0gOjpiaW5kKHRoaXMtPmZkLCAoc3RydWN0IHNvY2thZGRyICopJnNvY2tBZGRyLCBzaXplb2Yoc29ja0FkZHIpKTsKKyAgICAgICAgIAorICAgICAgICAgaWYgKHJjICE9IDApIHsKKyAgICAgICAgICAgICBjbG9zZXNvY2sodGhpcy0+ZmQpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuMzEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjMxLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVmYTU4ZjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWRldnRvb2xzL3htbHJwYy1jL3htbHJwYy1jXzEuMzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlhNTC1SUEMgZm9yIEMvQysrIGlzIHByb2dyYW1taW5nIGxpYnJhcmllcyBhbmQgcmVsYXRlZCB0b29scyB0byBoZWxwIHlvdSBcCi13cml0ZSBhbiBYTUwtUlBDIHNlcnZlciBvciBjbGllbnQgaW4gQyBvciBDKysuIgotCi1IT01FUEFHRSA9ICJodHRwOi8veG1scnBjLWMuc291cmNlZm9yZ2UubmV0LyIKLUxJQ0VOU0UgPSAiQlNEICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0NPUFlJTkc7bWQ1PWFlZmJmODFiYTA3NTBmMDIxNzZiNmY4Njc1MmVhOTUxIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZW5zYy94bWxycGMtYy5naXQ7YnJhbmNoPW1hc3RlciBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1jb21waWxlLWZhaWx1cmUtYWdhaW5zdC1tdXNsLUMtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1mb3JtYXR0aW5nLWlzc3Vlcy5wYXRjaCBcCi0iCi1TUkNSRVYgPSAiODE0NDNhOWRjMjM0Y2MyNzU0NDlkYmMxNzg2N2FkNzdhZTE4OTEyNCIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAiY3VybCBsaWJ4bWwyIgotUkRFUEVORFNfJHtQTn0gPSAiY3VybCBwZXJsIgotCi1pbmhlcml0IGNtYWtlCi0KLUVYVFJBX09FQ01BS0UgPSAiLURfbGliOlNUUklORz0ke2Jhc2VsaWJ9IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotVEFSR0VUX0NGTEFHUyArPSAiLVduby1uYXJyb3dpbmciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS41MS4wMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1kZXZ0b29scy94bWxycGMtYy94bWxycGMtY18xLjUxLjAzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDI2MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZGV2dG9vbHMveG1scnBjLWMveG1scnBjLWNfMS41MS4wMy5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTiA9ICJYTUwtUlBDIGZvciBDL0MrKyBpcyBwcm9ncmFtbWluZyBsaWJyYXJpZXMgYW5kIHJlbGF0ZWQgdG9vbHMgdG8gaGVscCB5b3UgXAord3JpdGUgYW4gWE1MLVJQQyBzZXJ2ZXIgb3IgY2xpZW50IGluIEMgb3IgQysrLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3htbHJwYy1jLnNvdXJjZWZvcmdlLm5ldC8iCitMSUNFTlNFID0gIkJTRCAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT1hZWZiZjgxYmEwNzUwZjAyMTc2YjZmODY3NTJlYTk1MSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL21pcnJvci94bWxycGMtYy5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0LWNwcC1zZXJ2ZXJfYWJ5c3MtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1mb3JtYXR0aW5nLWlzc3Vlcy5wYXRjaCBcCisgICAgICAgICAgICIKKyNSZWxlYXNlIDEuNTEuMDMKK1NSQ1JFViA9ICIzNDNhM2I5OGU1NDk5OWQ2N2VkYjY0NGJjZDM5NWFhOTc4NGZiMTZlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3N0YWJsZSIKKworREVQRU5EUyA9ICJsaWJ4bWwyIgorUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGJpbmNvbmZpZyBwa2djb25maWcKKworVEFSR0VUX0NGTEFHUyArPSAiLVduby1uYXJyb3dpbmciCisKK0VYVFJBX09FTUFLRSArPSAiQ0NfRk9SX0JVSUxEPScke0JVSUxEX0NDfScgXAorICAgICAgICAgICAgICAgICBMRF9GT1JfQlVJTEQ9JyR7QlVJTERfTER9JyBcCisgICAgICAgICAgICAgICAgIENGTEFHU19GT1JfQlVJTEQ9JyR7QlVJTERfQ0ZMQUdTfScgXAorICAgICAgICAgICAgICAgICBMREZMQUdTX0ZPUl9CVUlMRD0nJHtCVUlMRF9MREZMQUdTfScgXAorICAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWxpYnd3dy1jbGllbnQgLS1kaXNhYmxlLXdpbmluZXQtY2xpZW50IgorCitQQUNLQUdFQ09ORklHID8/PSAiY3VybCBjcGx1c3BsdXMiCisKK1BBQ0tBR0VDT05GSUdbYWJ5c3NdID0gIi0tZW5hYmxlLWFieXNzLXNlcnZlciAtLWVuYWJsZS1hYnlzcy10aHJlYWRzIC0tZW5hYmxlLWFieXNzLW9wZW5zc2wsLS1kaXNhYmxlLWFieXNzLXNlcnZlciAtLWRpc2FibGUtYWJ5c3MtdGhyZWFkcyAtLWRpc2FibGUtYWJ5c3Mtb3BlbnNzbCxvcGVuc3NsLCIKK1BBQ0tBR0VDT05GSUdbY3BsdXNwbHVzXSA9ICItLWVuYWJsZS1jcGx1c3BsdXMsLS1kaXNhYmxlLWNwbHVzcGx1cywsIgorUEFDS0FHRUNPTkZJR1tjdXJsXSA9ICItLWVuYWJsZS1jdXJsLWNsaWVudCwtLWRpc2FibGUtY3VybC1jbGllbnQsY3VybCxjdXJsIgorCitkb19jb25maWd1cmUoKSB7CisgICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30KKyAgICAgICAgYXV0b2NvbmYKKyAgICAgICAgb2VfcnVuY29uZgorICAgICAgICAjIGxpY2Vuc2UgaXMgaW5jb21wYXRpYmxlIHdpdGggbGliL3V0aWwvZ2V0b3B0eC4qCisgICAgICAgIHJtIC1mdiAke1N9L3Rvb2xzL3R1cmJvY2hhcmdlci9tb2RfZ3ppcC5jCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZC8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2gKaW5kZXggYjEyNjkwYi4uMTM1MTBjZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDUtRGlzYWJsZS1uZXctZ2NjOC13YXJuaW5ncy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkNjVlNDhiNjgwNzZkNWIzMDRlNmQ4NjU5NjcwMDNhZTFmZWEwZTZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmODJmOGZhZjk5NDJmNTFlOWMzYzc3M2I1NjU3NDY1MjY5NWJlZjVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgOSBNYXkgMjAxOCAyMTo0NTozOCAtMDcwMAogU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIG5ldyBnY2M4IHdhcm5pbmdzCkBAIC03LDE3ICs3LDE3IEBACiBhbHJlYWR5IGluIHBsYWNlCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKIC0tLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9jb2xsZWN0ZC9jb2xsZWN0ZC9wdWxsLzI3NjhdCiAgc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYyB8IDcgKysrKysrKwogIHNyYy93cml0ZV9zZW5zdS5jICAgICAgICAgICAgICAgICAgICAgfCA3ICsrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMgYi9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jCi1pbmRleCAyMzY1YWIwYS4uNzllNmVkOTYgMTAwNjQ0CitpbmRleCBhYTc1M2NlLi5mZWY0M2E5IDEwMDY0NAogLS0tIGEvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYwogKysrIGIvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYwotQEAgLTE2Myw2ICsxNjMsMTEgQEAgc3RhdGljIGludCBwYXJzZV9pbnQodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgdWludDY0X3QgKm91dCkgeworQEAgLTE0OCw2ICsxNDgsMTEgQEAgc3RhdGljIGludCBwYXJzZV9pbnQodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgdWludDY0X3QgKm91dCkgewogICAgcmV0dXJuIDA7CiAgfQogIApAQCAtMjksNyArMjksNyBAQAogIHN0YXRpYyBpbnQgcGFyc2Vfc3RyaW5nKHZvaWQgKnBheWxvYWQsIHNpemVfdCBwYXlsb2FkX3NpemUsIGNoYXIgKm91dCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qgb3V0X3NpemUpIHsKICAgIGNoYXIgKmluID0gcGF5bG9hZDsKLUBAIC0xNzUsNiArMTgwLDggQEAgc3RhdGljIGludCBwYXJzZV9zdHJpbmcodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgY2hhciAqb3V0LAorQEAgLTE2MCw2ICsxNjUsOCBAQCBzdGF0aWMgaW50IHBhcnNlX3N0cmluZyh2b2lkICpwYXlsb2FkLCBzaXplX3QgcGF5bG9hZF9zaXplLCBjaGFyICpvdXQsCiAgICByZXR1cm4gMDsKICB9CiAgCkBAIC0zOSwyMiArMzksMjIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNjX3ZhbHVlX2xpc3RfdCAqc3RhdGUpIHsKICAgIGNoYXIgYnVmW0xDQ19OQU1FX0xFTl07CiBkaWZmIC0tZ2l0IGEvc3JjL3dyaXRlX3NlbnN1LmMgYi9zcmMvd3JpdGVfc2Vuc3UuYwotaW5kZXggY2UyM2U2NTQuLjYzZTFmNTk5IDEwMDY0NAoraW5kZXggYmQ3YTU2ZC4uNmNiNTlkNSAxMDA2NDQKIC0tLSBhL3NyYy93cml0ZV9zZW5zdS5jCiArKysgYi9zcmMvd3JpdGVfc2Vuc3UuYwotQEAgLTU2OSw2ICs1NjksMTEgQEAgc3RhdGljIGNoYXIgKnNlbnN1X3ZhbHVlX3RvX2pzb24oc3RydWN0IHNlbnN1X2hvc3QgY29uc3QgKmhvc3QsIC8qIHt7eyAqLworQEAgLTU3MCw2ICs1NzAsMTEgQEAgc3RhdGljIGNoYXIgKnNlbnN1X3ZhbHVlX3RvX2pzb24oc3RydWN0IHNlbnN1X2hvc3QgY29uc3QgKmhvc3QsIC8qIHt7eyAqLwogICAgcmV0dXJuIHJldF9zdHI7CiAgfSAvKiB9fX0gY2hhciAqc2Vuc3VfdmFsdWVfdG9fanNvbiAqLwogIAogKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyNpZiBfX0dOVUNfXyA9PSA4CisrI2lmIF9fR05VQ19fID4gNwogKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdzdHJpbmdvcC1vdmVyZmxvdyIKICsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKICsjZW5kaWYKICAvKgogICAqIFVzZXMgcmVwbGFjZV9zdHIyKCkgaW1wbGVtZW50YXRpb24gZnJvbQogICAqIGh0dHA6Ly9jcmVhdGl2ZWFuZGNyaXRpY2FsLm5ldC9zdHItcmVwbGFjZS1jLwotQEAgLTYzMSw2ICs2MzYsOCBAQCBzdGF0aWMgY2hhciAqcmVwbGFjZV9zdHIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpvbGQsIC8qIHt7eyAqLworQEAgLTYzMiw2ICs2MzcsOCBAQCBzdGF0aWMgY2hhciAqcmVwbGFjZV9zdHIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpvbGQsIC8qIHt7eyAqLwogICAgcmV0dXJuIHJldDsKICB9IC8qIH19fSBjaGFyICpyZXBsYWNlX3N0ciAqLwogIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGQvMDAwNi1saWJjb2xsZWN0ZGNsaWVudC1GaXgtc3RyaW5nLW92ZXJmbG93LWVycm9ycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWQ2NTJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA5ODcxOWVhN2Y3MTc3NTBjNzkwYTFmOTM4NGVhOGQwMTE3ZTdmNTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMTg6MTU6MDUgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gbGliY29sbGVjdGRjbGllbnQ6IEZpeCBzdHJpbmcgb3ZlcmZsb3cgZXJyb3JzCisKK0Vuc3VyZSB0aGF0IHN0cmluZyBoYXMgYSBzcGFjZSBmb3IgZW5kaW5nIG51bGwgY2hhcgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbGliY29sbGVjdGRjbGllbnQvbmV0d29ya19wYXJzZS5jIGIvc3JjL2xpYmNvbGxlY3RkY2xpZW50L25ldHdvcmtfcGFyc2UuYworaW5kZXggZmVmNDNhOS4uNmQ2NTI2NiAxMDA2NDQKKy0tLSBhL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKKysrKyBiL3NyYy9saWJjb2xsZWN0ZGNsaWVudC9uZXR3b3JrX3BhcnNlLmMKK0BAIC0xNjksOSArMTY5LDkgQEAgc3RhdGljIGludCBwYXJzZV9zdHJpbmcodm9pZCAqcGF5bG9hZCwgc2l6ZV90IHBheWxvYWRfc2l6ZSwgY2hhciAqb3V0LAorIAorIHN0YXRpYyBpbnQgcGFyc2VfaWRlbnRpZmllcih1aW50MTZfdCB0eXBlLCB2b2lkICpwYXlsb2FkLCBzaXplX3QgcGF5bG9hZF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsY2NfdmFsdWVfbGlzdF90ICpzdGF0ZSkgeworLSAgY2hhciBidWZbTENDX05BTUVfTEVOXTsKKy0KKy0gIGlmIChwYXJzZV9zdHJpbmcocGF5bG9hZCwgcGF5bG9hZF9zaXplLCBidWYsIHNpemVvZihidWYpKSAhPSAwKQorKyAgY2hhciBidWZbTENDX05BTUVfTEVOKzFdOworKyAgYnVmW0xDQ19OQU1FX0xFTl0gPSAnXDAnOworKyAgaWYgKHBhcnNlX3N0cmluZyhwYXlsb2FkLCBwYXlsb2FkX3NpemUsIGJ1ZiwgTENDX05BTUVfTEVOKSAhPSAwKQorICAgICByZXR1cm4gRUlOVkFMOworIAorICAgc3dpdGNoICh0eXBlKSB7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvY29sbGVjdGQvY29sbGVjdGRfNS44LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmOWZhMjMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotU1VNTUFSWSA9ICJDb2xsZWN0cyBhbmQgc3VtbWFyaXNlcyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyIKLURFU0NSSVBUSU9OID0gImNvbGxlY3RkIGlzIGEgZGFlbW9uIHdoaWNoIGNvbGxlY3RzIHN5c3RlbSBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzIHBlcmlvZGljYWxseSBhbmQgcHJvdmlkZXMgbWVjaGFuaXNtcyB0byBzdG9yZSB0aGUgdmFsdWVzIGluIGEgdmFyaWV0eSBvZiB3YXlzLCBmb3IgZXhhbXBsZSBpbiBSUkQgZmlsZXMuIgotTElDRU5TRSA9ICJHUEx2MiAmIE1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFiZDIxZjE5ZjdmMGM2MWE3YmU4ZWNhY2IwZTI4ODU0IgotCi1ERVBFTkRTID0gInJyZHRvb2wgY3VybCBsaWJwY2FwIGxpYnhtbDIgeWFqbCBsaWJnY3J5cHQgbGlidG9vbCBsdm0yIgotCi1TUkNfVVJJID0gImh0dHA6Ly9jb2xsZWN0ZC5vcmcvZmlsZXMvY29sbGVjdGQtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5pbml0IFwKLSAgICAgICAgICAgZmlsZTovL2NvbGxlY3RkLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbm8tZ2NyeXB0LWJhZHBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25kaXRpb25hbGx5LWNoZWNrLWxpYnZpcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdG8tYnVpbGQtd2l0aC1nbGliYy0yLjI1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLUNoZWNrLWZvci1Xbm8tZXJyb3ItZm9ybWF0LXRydW5jYXRpb24tY29tcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LURpc2FibGUtbmV3LWdjYzgtd2FybmluZ3MucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTg0MTE1OTMyMzYyNGYxOGJmMDMxOThlOWY1YWEzNjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjA2ZmY0NzZiYmYwNTUzM2NiOTdhZTY3NDkyNjJjYzNjNzZjOTk2OWYwMzJiZDg0OTY2OTAwODRkZGViMTVjOSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjb2xsZWN0ZC5zZXJ2aWNlIgotCi0jIEZsb2F0aW5ncG9pbnQgbGF5b3V0LCBhcmNoaXRlY3R1cmUgZGVwZW5kZW50Ci0jICdub3RoaW5nJywgJ2VuZGlhbmZsaXAnIG9yICdpbnRzd2FwJwotRlBMQVlPVVQgPz0gIi0td2l0aC1mcC1sYXlvdXQ9bm90aGluZyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbb3Blbmpka10gPSAiLS13aXRoLWphdmE9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2p2bSwtLXdpdGhvdXQtamF2YSxvcGVuamRrLTciCi1QQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAgLS13aXRoLWxpYm5ldHNubXA9bm8sbmV0LXNubXAiCi1QQUNLQUdFQ09ORklHW2xpYm1lbWNhY2hlZF0gPSAiLS13aXRoLWxpYm1lbWNhY2hlZCwtLXdpdGhvdXQtbGlibWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKLVBBQ0tBR0VDT05GSUdbaXB0YWJsZXNdID0gIi0tZW5hYmxlLWlwdGFibGVzLC0tZGlzYWJsZS1pcHRhYmxlcyxpcHRhYmxlcyIKLVBBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9eWVzLCBcCi0gICAgICAgIC0tZGlzYWJsZS1wb3N0Z3Jlc3FsIC0td2l0aC1saWJwcT1ubyxwb3N0Z3Jlc3FsIgotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPXllcywgXAotICAgICAgICAtLWRpc2FibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPW5vLG15c3FsNSIKLVBBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1kYmksLS1kaXNhYmxlLWRiaSxsaWJkYmkiCi1QQUNLQUdFQ09ORklHW21vZGJ1c10gPSAiLS1lbmFibGUtbW9kYnVzLC0tZGlzYWJsZS1tb2RidXMsbGlibW9kYnVzIgotUEFDS0FHRUNPTkZJR1tsaWJvd2NhcGldID0gIi0td2l0aC1saWJvd2NhcGksLS13aXRob3V0LWxpYm93Y2FwaSxvd2ZzIgotUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1zZW5zb3JzIC0td2l0aC1saWJzZW5zb3JzPXllcywgXAotICAgICAgICAtLWRpc2FibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz1ubyxsbXNlbnNvcnMiCi1QQUNLQUdFQ09ORklHW2FtcXBdID0gIi0tZW5hYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPXllcywgXAotICAgICAgICAtLWRpc2FibGUtYW1xcCAtLXdpdGgtbGlicmFiYml0bXE9bm8scmFiYml0bXEtYyIKLSMgcHJvdG9idWYtYywgbGlidmlydCB0aGF0IGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gbWV0YS12aXJ0dWFsaXphdGlvbiBsYXllcgotUEFDS0FHRUNPTkZJR1twaW5iYV0gPSAiLS1lbmFibGUtcGluYmEsLS1kaXNhYmxlLXBpbmJhLHByb3RvYnVmLWMtbmF0aXZlIHByb3RvYnVmLWMiCi1QQUNLQUdFQ09ORklHW2xpYnZpcnRdID0gIi0tZW5hYmxlLXZpcnQsLS1kaXNhYmxlLXZpcnQsbGlidmlydCIKLVBBQ0tBR0VDT05GSUdbbGliZXNtdHBdID0gIi0td2l0aC1saWJlc210cCwtLXdpdGhvdXQtbGliZXNtdHAsbGliZXNtdHAiCi1QQUNLQUdFQ09ORklHW2xpYm1ubF0gPSAiLS13aXRoLWxpYm1ubCwtLXdpdGhvdXQtbGlibW5sLGxpYm1ubCIKLVBBQ0tBR0VDT05GSUdbbGliYXRhc21hcnRdID0gIi0td2l0aC1saWJhdGFzbWFydCwtLXdpdGhvdXQtbGliYXRhc21hcnQsbGliYXRhc21hcnQiCi1QQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLW9wZW5sZGFwIC0td2l0aC1saWJsZGFwLC0tZGlzYWJsZS1vcGVubGRhcCAtLXdpdGhvdXQtbGlibGRhcCwgb3BlbmxkYXAiCi0KLUVYVFJBX09FQ09ORiA9ICIgXAotICAgICAgICAgICAgICAgICR7RlBMQVlPVVR9IFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGVybCAtLXdpdGgtbGlicGVybD1ubyAtLXdpdGgtcGVybC1iaW5kaW5ncz1ubyBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWxpYmdjcnlwdD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9saWJnY3J5cHQtY29uZmlnIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm90aWZ5X2Rlc2t0b3AgXAotIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NvbGxlY3RkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCi0gICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAotICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKLSAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKLSAgICBpbnN0YWxsIC1EbSAwNjQwICR7Qn0vc3JjL2NvbGxlY3RkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgotICAgICMgRml4IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBhbGxvdyBjb2xsZWN0ZCB0byBzdGFydCB1cAotICAgIHNlZCAtaSAncyFeI0ZRRE5Mb29rdXBbIFx0XSp0cnVlIUZRRE5Mb29rdXAgICBmYWxzZSFnJyAke0R9JHtzeXNjb25mZGlyfS9jb2xsZWN0ZC5jb25mCi0KLSAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKLQotICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY29sbGVjdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0gICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2NvbGxlY3RkLnNlcnZpY2UKLX0KLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZiIKLQotSU5JVFNDUklQVF9OQU1FID0gImNvbGxlY3RkIgotSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCi0KLSMgdGhyZXNob2xkLnNvIGxvYWQuc28gYXJlIGFsc28gcHJvdmlkZWQgYnkgZ2VnbAotIyBkaXNrLnNvIGlzIGFsc28gcHJvdmlkZWQgYnkgbGliZ3Bob3RvMi1jYW1saWJzCi1QUklWQVRFX0xJQlMgPSAidGhyZXNob2xkLnNvIGxvYWQuc28gZGlzay5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9jb2xsZWN0ZC9jb2xsZWN0ZF81LjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGZmMThjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2NvbGxlY3RkL2NvbGxlY3RkXzUuOC4xLmJiCkBAIC0wLDAgKzEsODggQEAKK1NVTU1BUlkgPSAiQ29sbGVjdHMgYW5kIHN1bW1hcmlzZXMgc3lzdGVtIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3MiCitERVNDUklQVElPTiA9ICJjb2xsZWN0ZCBpcyBhIGRhZW1vbiB3aGljaCBjb2xsZWN0cyBzeXN0ZW0gcGVyZm9ybWFuY2Ugc3RhdGlzdGljcyBwZXJpb2RpY2FsbHkgYW5kIHByb3ZpZGVzIG1lY2hhbmlzbXMgdG8gc3RvcmUgdGhlIHZhbHVlcyBpbiBhIHZhcmlldHkgb2Ygd2F5cywgZm9yIGV4YW1wbGUgaW4gUlJEIGZpbGVzLiIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYmQyMWYxOWY3ZjBjNjFhN2JlOGVjYWNiMGUyODg1NCIKKworREVQRU5EUyA9ICJycmR0b29sIGN1cmwgbGlicGNhcCBsaWJ4bWwyIHlhamwgbGliZ2NyeXB0IGxpYnRvb2wgbHZtMiIKKworU1JDX1VSSSA9ICJodHRwOi8vY29sbGVjdGQub3JnL2ZpbGVzL2NvbGxlY3RkLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vY29sbGVjdGQuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9jb2xsZWN0ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL25vLWdjcnlwdC1iYWRwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZGl0aW9uYWxseS1jaGVjay1saWJ2aXJ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXRvLWJ1aWxkLXdpdGgtZ2xpYmMtMi4yNS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbmZpZ3VyZS1DaGVjay1mb3ItV25vLWVycm9yLWZvcm1hdC10cnVuY2F0aW9uLWNvbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1EaXNhYmxlLW5ldy1nY2M4LXdhcm5pbmdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtbGliY29sbGVjdGRjbGllbnQtRml4LXN0cmluZy1vdmVyZmxvdy1lcnJvcnMucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiYmZjZTk2YzQyY2VkZTUyNDMwMjg1MTBiY2M1N2MxZTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTc5NmZkYTI3Y2UwNjM3N2Y0OTFhZDkxYWEyODY5NjJhNjhjMmI1NDA3NmFhNzdhMjk2NzNkNTMyMDQ0NTNkYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9ubmF0aXZlIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJjb2xsZWN0ZC5zZXJ2aWNlIgorCisjIEZsb2F0aW5ncG9pbnQgbGF5b3V0LCBhcmNoaXRlY3R1cmUgZGVwZW5kZW50CisjICdub3RoaW5nJywgJ2VuZGlhbmZsaXAnIG9yICdpbnRzd2FwJworRlBMQVlPVVQgPz0gIi0td2l0aC1mcC1sYXlvdXQ9bm90aGluZyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbb3Blbmpka10gPSAiLS13aXRoLWphdmE9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtsaWJkaXJ9L2p2bSwtLXdpdGhvdXQtamF2YSxvcGVuamRrLTciCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAgLS13aXRoLWxpYm5ldHNubXA9bm8sbmV0LXNubXAiCitQQUNLQUdFQ09ORklHW2xpYm1lbWNhY2hlZF0gPSAiLS13aXRoLWxpYm1lbWNhY2hlZCwtLXdpdGhvdXQtbGlibWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKK1BBQ0tBR0VDT05GSUdbaXB0YWJsZXNdID0gIi0tZW5hYmxlLWlwdGFibGVzLC0tZGlzYWJsZS1pcHRhYmxlcyxpcHRhYmxlcyIKK1BBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcG9zdGdyZXNxbCAtLXdpdGgtbGlicHE9eWVzLCBcCisgICAgICAgIC0tZGlzYWJsZS1wb3N0Z3Jlc3FsIC0td2l0aC1saWJwcT1ubyxwb3N0Z3Jlc3FsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPXllcywgXAorICAgICAgICAtLWRpc2FibGUtbXlzcWwgLS13aXRoLWxpYm15c3FsPW5vLG15c3FsNSIKK1BBQ0tBR0VDT05GSUdbZGJpXSA9ICItLWVuYWJsZS1kYmksLS1kaXNhYmxlLWRiaSxsaWJkYmkiCitQQUNLQUdFQ09ORklHW21vZGJ1c10gPSAiLS1lbmFibGUtbW9kYnVzLC0tZGlzYWJsZS1tb2RidXMsbGlibW9kYnVzIgorUEFDS0FHRUNPTkZJR1tsaWJvd2NhcGldID0gIi0td2l0aC1saWJvd2NhcGksLS13aXRob3V0LWxpYm93Y2FwaSxvd2ZzIgorUEFDS0FHRUNPTkZJR1tzZW5zb3JzXSA9ICItLWVuYWJsZS1zZW5zb3JzIC0td2l0aC1saWJzZW5zb3JzPXllcywgXAorICAgICAgICAtLWRpc2FibGUtc2Vuc29ycyAtLXdpdGgtbGlic2Vuc29ycz1ubyxsbXNlbnNvcnMiCitQQUNLQUdFQ09ORklHW2FtcXBdID0gIi0tZW5hYmxlLWFtcXAgLS13aXRoLWxpYnJhYmJpdG1xPXllcywgXAorICAgICAgICAtLWRpc2FibGUtYW1xcCAtLXdpdGgtbGlicmFiYml0bXE9bm8scmFiYml0bXEtYyIKKyMgcHJvdG9idWYtYywgbGlidmlydCB0aGF0IGFyZSBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gbWV0YS12aXJ0dWFsaXphdGlvbiBsYXllcgorUEFDS0FHRUNPTkZJR1twaW5iYV0gPSAiLS1lbmFibGUtcGluYmEsLS1kaXNhYmxlLXBpbmJhLHByb3RvYnVmLWMtbmF0aXZlIHByb3RvYnVmLWMiCitQQUNLQUdFQ09ORklHW2xpYnZpcnRdID0gIi0tZW5hYmxlLXZpcnQsLS1kaXNhYmxlLXZpcnQsbGlidmlydCIKK1BBQ0tBR0VDT05GSUdbbGliZXNtdHBdID0gIi0td2l0aC1saWJlc210cCwtLXdpdGhvdXQtbGliZXNtdHAsbGliZXNtdHAiCitQQUNLQUdFQ09ORklHW2xpYm1ubF0gPSAiLS13aXRoLWxpYm1ubCwtLXdpdGhvdXQtbGlibW5sLGxpYm1ubCIKK1BBQ0tBR0VDT05GSUdbbGliYXRhc21hcnRdID0gIi0td2l0aC1saWJhdGFzbWFydCwtLXdpdGhvdXQtbGliYXRhc21hcnQsbGliYXRhc21hcnQiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLW9wZW5sZGFwIC0td2l0aC1saWJsZGFwLC0tZGlzYWJsZS1vcGVubGRhcCAtLXdpdGhvdXQtbGlibGRhcCwgb3BlbmxkYXAiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgICAgICAgICAgICAgICR7RlBMQVlPVVR9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcGVybCAtLXdpdGgtbGlicGVybD1ubyAtLXdpdGgtcGVybC1iaW5kaW5ncz1ubyBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYmdjcnlwdD0ke1NUQUdJTkdfQklORElSX0NST1NTfS9saWJnY3J5cHQtY29uZmlnIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbm90aWZ5X2Rlc2t0b3AgXAorIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NvbGxlY3RkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS91c3Ivc2Jpbi8hJHtzYmluZGlyfS8hZycgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2NvbGxlY3RkCisgICAgc2VkIC1pICdzIS9ldGMvISR7c3lzY29uZmRpcn0vIWcnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9jb2xsZWN0ZAorICAgIHNlZCAtaSAncyEvdmFyLyEke2xvY2Fsc3RhdGVkaXJ9LyFnJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBzZWQgLWkgJ3MhXlBBVEg9LiohUEFUSD0ke2Jhc2Vfc2JpbmRpcn06JHtiYXNlX2JpbmRpcn06JHtzYmluZGlyfToke2JpbmRpcn0hJyAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvY29sbGVjdGQKKyAgICBpbnN0YWxsIC1EbSAwNjQwICR7Qn0vc3JjL2NvbGxlY3RkLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZgorICAgICMgRml4IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBhbGxvdyBjb2xsZWN0ZCB0byBzdGFydCB1cAorICAgIHNlZCAtaSAncyFeI0ZRRE5Mb29rdXBbIFx0XSp0cnVlIUZRRE5Mb29rdXAgICBmYWxzZSFnJyAke0R9JHtzeXNjb25mZGlyfS9jb2xsZWN0ZC5jb25mCisKKyAgICBybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKKworICAgICMgSW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY29sbGVjdGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisgICAgICAgICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2NvbGxlY3RkLnNlcnZpY2UKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vY29sbGVjdGQuY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gImNvbGxlY3RkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKKyMgdGhyZXNob2xkLnNvIGxvYWQuc28gYXJlIGFsc28gcHJvdmlkZWQgYnkgZ2VnbAorIyBkaXNrLnNvIGlzIGFsc28gcHJvdmlkZWQgYnkgbGliZ3Bob3RvMi1jYW1saWJzCitQUklWQVRFX0xJQlMgPSAidGhyZXNob2xkLnNvIGxvYWQuc28gZGlzay5zbyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWQvaGF2ZWdlZC1pbml0LmQtTWFrZWZpbGUuYW0tYWRkLW1pc3NpbmctZGVwZW5kZW5jeS5wYXRjaAppbmRleCAzNmZkNTdjLi4wMjBhYzJjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZC9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoCkBAIC0zLDEzICszLDE0IEBACiBEYXRlOiBUdWUsIDI3IE1hciAyMDE4IDEwOjIxOjA5ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGluaXQuZC9NYWtlZmlsZS5hbTogYWRkIG1pc3NpbmcgZGVwZW5kZW5jeQogCi1pbnN0YWxsLWRhdGEtaG9vayBzaG91bGQgZXBlbmQgb24gaW5zdGFsbC1leGVjLWhvb2ssIG9yIHRoZQoraW5zdGFsbC1kYXRhLWhvb2sgc2hvdWxkIGRlcGVuZCBvbiBpbnN0YWxsLWV4ZWMtaG9vaywgb3IgdGhlCiBoYXZlZ2VkLnNlcnZpY2UgbWlnaHQgYmUgaW5zdGFsbGVkIGluY29ycmVjdGx5IHdoZW4gYnVpbGQKIHdpdGggLWogb3B0aW9uLgogCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25vIHVwc3RyZWFtIG1haWxpbmcgbGlzdF0KK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vamlya2EtaC9oYXZlZ2VkL3B1bGwvMTNdCiAKIFNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiByYWoua2hlbUBnbWFpbC5jb20KIC0tLQogIGluaXQuZC9NYWtlZmlsZS5hbSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKQEAgLTIxLDEyICsyMiwxMSBAQAogQEAgLTMzLDcgKzMzLDcgQEAgaWYgRU5BQkxFX1NZU1RFTUQKICBpbnN0YWxsLWV4ZWMtaG9vazoKICAJJChkb19zdWJzdCkgPCAkKHNyY2RpcikvJChzcmNfdG1wbCkgPiBoYXZlZ2VkLnNlcnZpY2U7Ci0gCisKIC1pbnN0YWxsLWRhdGEtaG9vazoKICtpbnN0YWxsLWRhdGEtaG9vazogaW5zdGFsbC1leGVjLWhvb2sKICBpZiBFTkFCTEVfU1lTVEVNRF9MT09LVVAKICAJaW5zdGFsbCAtcCAtRCAtbTY0NCBoYXZlZ2VkLnNlcnZpY2UgJChERVNURElSKWBwa2ctY29uZmlnIC0tdmFyaWFibGU9c3lzdGVtZHN5c3RlbXVuaXRkaXIgc3lzdGVtZGAvaGF2ZWdlZC5zZXJ2aWNlOwogIGVsc2UKLS0tIAorLS0KIDIuMTEuMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2hhdmVnZWQvaGF2ZWdlZF8xLjkuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmYxMzY3My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJoYXZlZ2VkIC0gQSBzaW1wbGUgZW50cm9weSBkYWVtb24iCi1ERVNDUklQVElPTiA9ICJUaGUgaGF2ZWdlZCBwcm9qZWN0IGlzIGFuIGF0dGVtcHQgdG8gcHJvdmlkZSBhbiBlYXN5LXRvLXVzZSwgdW5wcmVkaWN0YWJsZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBiYXNlZCB1cG9uIGFuIGFkYXB0YXRpb24gb2YgdGhlIEhBVkVHRSBhbGdvcml0aG0uIEhhdmVnZWQgd2FzIGNyZWF0ZWQgdG8gcmVtZWR5IGxvdy1lbnRyb3B5IGNvbmRpdGlvbnMgaW4gdGhlIExpbnV4IHJhbmRvbSBkZXZpY2UgdGhhdCBjYW4gb2NjdXIgdW5kZXIgc29tZSB3b3JrbG9hZHMsIGVzcGVjaWFsbHkgb24gaGVhZGxlc3Mgc2VydmVycy4iCi1BVVRIT1IgPSAiR2FyeSBXdWVydHoiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9pbmRleC5odG1sIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9oYXZlZ2VkLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9oYXZlZ2VkLWluaXQuZC1NYWtlZmlsZS5hbS1hZGQtbWlzc2luZy1kZXBlbmRlbmN5LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImZiMWQ4YjNkY2JiOWQwNmIzMGVjY2Q4YWE1MDBmZDMxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY3N2Q5YWRiZGY0MjFiNjE2MDFmYTI5ZmFhOWNlM2I0NzlkOTEwZjczYzY2YjllMzY0YmE4NjQyY2NiZmJlNzAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3Lmlzc2lob3N0cy5jb20vaGF2ZWdlZC9kb3dubG9hZHMuaHRtbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZAotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZW5hYmxlLW5pc3Rlc3Q9eWVzIFwKLSAgICAtLWVuYWJsZS1vbHQ9eWVzIFwKLSAgICAtLWVuYWJsZS10aHJlYWRzPW5vIFwKLSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLWluaXQ9c2VydmljZS5yZWRoYXQgLS1lbmFibGUtaW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLWVuYWJsZS1pbml0PXN5c3YucmVkaGF0LCBzeXN0ZW1kIgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgotSU5JVFNDUklQVF9OQU1FID0gImhhdmVnZWQiCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA5IgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImhhdmVnZWQuc2VydmljZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBUaGUgZXhpdCBzdGF0dXMgaXMgMTQzIHdoZW4gdGhlIHNlcnZpY2UgaXMgc3RvcHBlZAotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIHNlZCAtaSAnL0V4ZWNTdGFydC9hIFN1Y2Nlc3NFeGl0U3RhdHVzPTE0MycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vaGF2ZWdlZC5zZXJ2aWNlCi0gICAgZmkKLX0KLQotTUlQU19JTlNUUlVDVElPTl9TRVQgPSAibWlwcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9oYXZlZ2VkL2hhdmVnZWRfMS45LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYWFiNTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvaGF2ZWdlZC9oYXZlZ2VkXzEuOS40LmJiCkBAIC0wLDAgKzEsNDIgQEAKK1NVTU1BUlkgPSAiaGF2ZWdlZCAtIEEgc2ltcGxlIGVudHJvcHkgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAiVGhlIGhhdmVnZWQgcHJvamVjdCBpcyBhbiBhdHRlbXB0IHRvIHByb3ZpZGUgYW4gZWFzeS10by11c2UsIHVucHJlZGljdGFibGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IgYmFzZWQgdXBvbiBhbiBhZGFwdGF0aW9uIG9mIHRoZSBIQVZFR0UgYWxnb3JpdGhtLiBIYXZlZ2VkIHdhcyBjcmVhdGVkIHRvIHJlbWVkeSBsb3ctZW50cm9weSBjb25kaXRpb25zIGluIHRoZSBMaW51eCByYW5kb20gZGV2aWNlIHRoYXQgY2FuIG9jY3VyIHVuZGVyIHNvbWUgd29ya2xvYWRzLCBlc3BlY2lhbGx5IG9uIGhlYWRsZXNzIHNlcnZlcnMuIgorQVVUSE9SID0gIkdhcnkgV3VlcnR6IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc3NpaG9zdHMuY29tL2hhdmVnZWQvaW5kZXguaHRtbCIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKKyMgdjEuOS40CitTUkNSRVYgPSAiZmFhNDBmZjM0NWFmMTk0ZDMyNTNmNWZiMDMwNDAzZTNjOTgzMWMzNiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qaXJrYS1oL2hhdmVnZWQuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2hhdmVnZWQtaW5pdC5kLU1ha2VmaWxlLmFtLWFkZC1taXNzaW5nLWRlcGVuZGVuY3kucGF0Y2ggXAorIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9qaXJrYS1oL2hhdmVnZWQvcmVsZWFzZXMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworRVhUUkFfT0VDT05GID0gIlwKKyAgICAtLWVuYWJsZS1uaXN0ZXN0PXllcyBcCisgICAgLS1lbmFibGUtb2x0PXllcyBcCisgICAgLS1lbmFibGUtdGhyZWFkcz1ubyBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1pbml0PXNlcnZpY2UucmVkaGF0IC0tZW5hYmxlLWluaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS1lbmFibGUtaW5pdD1zeXN2LnJlZGhhdCwgc3lzdGVtZCIKKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKK0lOSVRTQ1JJUFRfTkFNRSA9ICJoYXZlZ2VkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAiZGVmYXVsdHMgOSIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJoYXZlZ2VkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgVGhlIGV4aXQgc3RhdHVzIGlzIDE0MyB3aGVuIHRoZSBzZXJ2aWNlIGlzIHN0b3BwZWQKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBzZWQgLWkgJy9FeGVjU3RhcnQvYSBTdWNjZXNzRXhpdFN0YXR1cz0xNDMnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2hhdmVnZWQuc2VydmljZQorICAgIGZpCit9CisKK01JUFNfSU5TVFJVQ1RJT05fU0VUID0gIm1pcHMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvamFuc3Nvbi9qYW5zc29uXzIuMTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3MGZhMjIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjExLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotU1VNTUFSWSA9ICJKYW5zc29uIGlzIGEgQyBsaWJyYXJ5IGZvciBlbmNvZGluZywgZGVjb2RpbmcgYW5kIG1hbmlwdWxhdGluZyBKU09OIGRhdGEiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uLyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OGI3MDIxM2VjMTY0YzdiZDg3NmVjMjEyMGJhNTJmNjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiN2FmMDcxZGI5OTcwNDQxZTFlYWFmMjU2NjIzMTBlMzMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU4NWY0MmRhYmU0OWE3ODMxZGJkZDZkMzBkY2E4YTk2Njk1NmI1MWE5YTUwZWQ1MzRiODJhZmMzZmE1YjJmNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9qYW5zc29uL2phbnNzb25fMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zY2MzNTNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2phbnNzb24vamFuc3Nvbl8yLjEyLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiSmFuc3NvbiBpcyBhIEMgbGlicmFyeSBmb3IgZW5jb2RpbmcsIGRlY29kaW5nIGFuZCBtYW5pcHVsYXRpbmcgSlNPTiBkYXRhIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kaWdpcC5vcmcvamFuc3Nvbi8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9ha2hlcm9uL2phbnNzb24vaXNzdWVzIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mYzI1NDhjMGViODM4MDBmMjkzMzAwNDBlMThiNWEwNSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRpZ2lwLm9yZy9qYW5zc29uL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZWQxZjNhOTI0NjA0YWFlNjgwNjdjMjE0YjAwMTBlZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZjhkZWM3NjUwNDhlZmFjNWQ5MTlhZGVkNTFiMjZhMzJhMDUzOTdlYTIwN2FhNzY5ZmY2YjUzYzcwMjdkMmM5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xjZHByb2MvbGNkcHJvY19naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgppbmRleCA5M2EwOWYyLi4xMzU0OTk3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGNkcHJvYy9sY2Rwcm9jX2dpdC5iYgpAQCAtMTksOSArMTksMTAgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1yYy5kCiAKLUNPTVBBVElCTEVfSE9TVF9hcm1fbGliYy1tdXNsID0gIm51bGwiCi0KIExDRF9EUklWRVJTID89ICJhbGwsIWlybWFuLCFzdmdhIgorTENEX0RSSVZFUlNfYXBwZW5kX2FhcmNoNjQgPSAiLCFzZXJpYWxWRkQiCitMQ0RfRFJJVkVSU19hcHBlbmRfYXJtID0gIiwhc2VyaWFsVkZEIgorCiBMQ0RfREVGQVVMVF9EUklWRVIgPz0gImN1cnNlcyIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gInVzYiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMTguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1ZjBjYzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJibG9ja2RldiBpcyBhIEMgbGlicmFyeSBzdXBwb3J0aW5nIEdPYmplY3QgaW50cm9zcGVjdGlvbiBmb3IgbWFuaXB1bGF0aW9uIG9mIFwKLWJsb2NrIGRldmljZXMuIEl0IGhhcyBhIHBsdWdpbi1iYXNlZCBhcmNoaXRlY3R1cmUgd2hlcmUgZWFjaCB0ZWNobm9sb2d5IChsaWtlIFwKLUxWTSwgQnRyZnMsIE1EIFJBSUQsIFN3YXAsLi4uKSBpcyBpbXBsZW1lbnRlZCBpbiBhIHNlcGFyYXRlIHBsdWdpbiwgcG9zc2libHkgXAotd2l0aCBtdWx0aXBsZSBpbXBsZW1lbnRhdGlvbnMgKGUuZy4gdXNpbmcgTFZNIENMSSBvciB0aGUgbmV3IExWTSBEQnVzIEFQSSkuIgotSE9NRVBBR0UgPSAiaHR0cDovL3JoaW5zdGFsbGVyLmdpdGh1Yi5pby9saWJibG9ja2Rldi8iCi1MSUNFTlNFID0gIkxHUEx2MisiCi1TRUNUSU9OID0gImRldmVsL2xpYiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzA3Y2I0OTlkMjU5NDUyZjMyNGJiOTBjMzA2N2Q4NWMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLVNSQ1JFViA9ICIwZGViZWI0NTU2MmFjM2Q4ZjZmNDNmNmY5NDJiMjM4YWJhYjU1YmU5IgotU1JDX1VSSSA9ICIgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvbGliYmxvY2tkZXY7YnJhbmNoPW1hc3RlciBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLUZJTEVTXyR7UE59ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgbHZtIGRtIGttb2QgcGFydGVkIGZzIGVzY3JvdyBidHJmcyBjcnlwdG8gbWRyYWlkIGtiZCBtcGF0aCIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW2x2bV0gPSAiLS13aXRoLWx2bSwgLS13aXRob3V0LWx2bSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgotUEFDS0FHRUNPTkZJR1tsdm0tZGJ1c10gPSAiLS13aXRoLWx2bV9kYnVzLCAtLXdpdGhvdXQtbHZtX2RidXMsIG11bHRpcGF0aC10b29scywgbHZtMiIKLVBBQ0tBR0VDT05GSUdbZG1dID0gIi0td2l0aC1kbSwgLS13aXRob3V0LWRtLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCi1QQUNLQUdFQ09ORklHW2RtcmFpZF0gPSAiLS13aXRoLWRtcmFpZCwgLS13aXRob3V0LWRtcmFpZCIKLVBBQ0tBR0VDT05GSUdba21vZF0gPSAiLS13aXRoLWtiZCwgLS13aXRob3V0LWtiZCwga21vZCIKLVBBQ0tBR0VDT05GSUdbcGFydGVkXSA9ICItLXdpdGgtcGFydCwgLS13aXRob3V0LXBhcnQsIHBhcnRlZCIKLVBBQ0tBR0VDT05GSUdbZnNdID0gIi0td2l0aC1mcywgLS13aXRob3V0LWZzLCB1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1tkb2NdID0gIi0td2l0aC1ndGstZG9jLCAtLXdpdGhvdXQtZ3RrLWRvYywgZ3RrLWRvYy1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW252ZGltbV0gPSAiLS13aXRoLW52ZGltbSwgLS13aXRob3V0LW52ZGltbSIKLVBBQ0tBR0VDT05GSUdbdmRvXSA9ICItLXdpdGgtdmRvLCAtLXdpdGhvdXQtdmRvIgotUEFDS0FHRUNPTkZJR1tlc2Nyb3ddID0gIi0td2l0aC1lc2Nyb3csIC0td2l0aG91dC1lc2Nyb3csIG5zcyB2b2x1bWUta2V5IgotUEFDS0FHRUNPTkZJR1tidHJmc10gPSAiLS13aXRoLWJ0cmZzLC0td2l0aG91dC1idHJmcyxsaWJieXRlc2l6ZSBidHJmcy10b29scyIKLVBBQ0tBR0VDT05GSUdbY3J5cHRvXSA9ICItLXdpdGgtY3J5cHRvLC0td2l0aG91dC1jcnlwdG8sY3J5cHRzZXR1cCBuc3Mgdm9sdW1lLWtleSIKLVBBQ0tBR0VDT05GSUdbbWRyYWlkXSA9ICItLXdpdGgtbWRyYWlkLC0td2l0aG91dC1tZHJhaWQsbGliYnl0ZXNpemUiCi1QQUNLQUdFQ09ORklHW2tiZF0gPSAiLS13aXRoLWtiZCwtLXdpdGhvdXQta2JkLGxpYmJ5dGVzaXplIgotUEFDS0FHRUNPTkZJR1ttcGF0aF0gPSAiLS13aXRoLW1wYXRoLC0td2l0aG91dC1tcGF0aCwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgotCi1leHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvdXRpbHMvLmxpYnMiCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYmJsb2NrZGV2L2xpYmJsb2NrZGV2XzIuMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTRhMTg4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJibG9ja2Rldi9saWJibG9ja2Rldl8yLjIwLmJiCkBAIC0wLDAgKzEsNDMgQEAKK0RFU0NSSVBUSU9OID0gImxpYmJsb2NrZGV2IGlzIGEgQyBsaWJyYXJ5IHN1cHBvcnRpbmcgR09iamVjdCBpbnRyb3NwZWN0aW9uIGZvciBtYW5pcHVsYXRpb24gb2YgXAorYmxvY2sgZGV2aWNlcy4gSXQgaGFzIGEgcGx1Z2luLWJhc2VkIGFyY2hpdGVjdHVyZSB3aGVyZSBlYWNoIHRlY2hub2xvZ3kgKGxpa2UgXAorTFZNLCBCdHJmcywgTUQgUkFJRCwgU3dhcCwuLi4pIGlzIGltcGxlbWVudGVkIGluIGEgc2VwYXJhdGUgcGx1Z2luLCBwb3NzaWJseSBcCit3aXRoIG11bHRpcGxlIGltcGxlbWVudGF0aW9ucyAoZS5nLiB1c2luZyBMVk0gQ0xJIG9yIHRoZSBuZXcgTFZNIERCdXMgQVBJKS4iCitIT01FUEFHRSA9ICJodHRwOi8vcmhpbnN0YWxsZXIuZ2l0aHViLmlvL2xpYmJsb2NrZGV2LyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvbGliIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jMDdjYjQ5OWQyNTk0NTJmMzI0YmI5MGMzMDY3ZDg1YyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworU1JDUkVWID0gImNiMzA4NTY2YzNjNTIyMmI4NDIyZjc4OTk3YTE3NDI3MTNiMjY1YTkiCitTUkNfVVJJID0gIiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJibG9ja2RldjticmFuY2g9bWFzdGVyIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyBsdm0gZG0ga21vZCBwYXJ0ZWQgZnMgZXNjcm93IGJ0cmZzIGNyeXB0byBtZHJhaWQga2JkIG1wYXRoIG52ZGltbSIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCitQQUNLQUdFQ09ORklHW2x2bV0gPSAiLS13aXRoLWx2bSwgLS13aXRob3V0LWx2bSwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgorUEFDS0FHRUNPTkZJR1tsdm0tZGJ1c10gPSAiLS13aXRoLWx2bV9kYnVzLCAtLXdpdGhvdXQtbHZtX2RidXMsIG11bHRpcGF0aC10b29scywgbHZtMiIKK1BBQ0tBR0VDT05GSUdbZG1dID0gIi0td2l0aC1kbSwgLS13aXRob3V0LWRtLCBtdWx0aXBhdGgtdG9vbHMsIGx2bTIiCitQQUNLQUdFQ09ORklHW2RtcmFpZF0gPSAiLS13aXRoLWRtcmFpZCwgLS13aXRob3V0LWRtcmFpZCIKK1BBQ0tBR0VDT05GSUdba21vZF0gPSAiLS13aXRoLWtiZCwgLS13aXRob3V0LWtiZCwga21vZCIKK1BBQ0tBR0VDT05GSUdbcGFydGVkXSA9ICItLXdpdGgtcGFydCwgLS13aXRob3V0LXBhcnQsIHBhcnRlZCIKK1BBQ0tBR0VDT05GSUdbZnNdID0gIi0td2l0aC1mcywgLS13aXRob3V0LWZzLCB1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJR1tkb2NdID0gIi0td2l0aC1ndGstZG9jLCAtLXdpdGhvdXQtZ3RrLWRvYywgZ3RrLWRvYy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW252ZGltbV0gPSAiLS13aXRoLW52ZGltbSwgLS13aXRob3V0LW52ZGltbSwgbmRjdGwgdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbdmRvXSA9ICItLXdpdGgtdmRvLCAtLXdpdGhvdXQtdmRvIgorUEFDS0FHRUNPTkZJR1tlc2Nyb3ddID0gIi0td2l0aC1lc2Nyb3csIC0td2l0aG91dC1lc2Nyb3csIG5zcyB2b2x1bWUta2V5IgorUEFDS0FHRUNPTkZJR1tidHJmc10gPSAiLS13aXRoLWJ0cmZzLC0td2l0aG91dC1idHJmcyxsaWJieXRlc2l6ZSBidHJmcy10b29scyIKK1BBQ0tBR0VDT05GSUdbY3J5cHRvXSA9ICItLXdpdGgtY3J5cHRvLC0td2l0aG91dC1jcnlwdG8sY3J5cHRzZXR1cCBuc3Mgdm9sdW1lLWtleSIKK1BBQ0tBR0VDT05GSUdbbWRyYWlkXSA9ICItLXdpdGgtbWRyYWlkLC0td2l0aG91dC1tZHJhaWQsbGliYnl0ZXNpemUiCitQQUNLQUdFQ09ORklHW2tiZF0gPSAiLS13aXRoLWtiZCwtLXdpdGhvdXQta2JkLGxpYmJ5dGVzaXplIgorUEFDS0FHRUNPTkZJR1ttcGF0aF0gPSAiLS13aXRoLW1wYXRoLC0td2l0aG91dC1tcGF0aCwgbXVsdGlwYXRoLXRvb2xzLCBsdm0yIgorCitleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0iJHtCfS9zcmMvdXRpbHMvLmxpYnMiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0Mjk1NmMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnJlcG9ydC9saWJyZXBvcnRfMi45LjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJMaWJyYXJpZXMgcHJvdmlkaW5nIEFQSSBmb3IgcmVwb3J0aW5nIGRpZmZlcmVudCBwcm9ibGVtcyBpbiBhcHBsaWNhdGlvbnMgXAotdG8gZGlmZmVyZW50IGJ1ZyB0YXJnZXRzIGxpa2UgQnVnemlsbGEsIGZ0cCwgdHJhYywgZXRjLi4uIgotU1VNTUFSWSA9ICJHZW5lcmljIGxpYnJhcnkgZm9yIHJlcG9ydGluZyB2YXJpb3VzIHByb2JsZW1zIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9hYnJ0LnJlYWR0aGVkb2NzLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyKyIKLURFUEVORFMgPSAieG1scnBjLWMgeG1scnBjLWMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSBcCi0gICAgICAgIGpzb24tYyBsaWJ0YXIgbGlibmV3dCBsaWJwcm94eSBycG0gXAotICAgICAgICBhdWdlYXMgc2F0eXIgc3lzdGVtZCBcCi0iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hYnJ0L2xpYnJlcG9ydC5naXQ7cHJvdG9jb2w9aHR0cHMiCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1yZW1vdmUtZG9jLWFuZC1hcGlkb2MucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YteG1sdG8tYW5kLWFzY2lpZG9jLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXdpdGhvdXQtYnVpbGQtcGx1Z2lucy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUuYWMtcmVtb3ZlLXByb2ctdGVzdC1vZi1hdWdwYXJzZS5wYXRjaCBcCi0iCi1TUkNSRVYgPSAiMTVmOTJiY2FmNzNlNWViODk1OGZiZGU2NTVhNTdkY2QxMTE3NTdhNyIKLQotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCi0KLWluaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd4MTEnLCdndGsnLCcnLGQpfSIKLVBBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLXdpdGgtZ3RrLCAtLXdpdGhvdXQtZ3RrLCBndGsrMywiCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LXB5dGhvbjIgLS13aXRoLXB5dGhvbjMiCi0KLVJERVBFTkRTX3B5dGhvbjMtbGlicmVwb3J0ICs9ICIke1BOfSIKLQotZG9fcGF0Y2hbcHJlZnVuY3NdICs9ICJkb19nZW5fdmVyc2lvbiIKLWRvX2dlbl92ZXJzaW9uKCkgewotICAgIGNkICR7U30KLSAgICAuL2dlbi12ZXJzaW9uCi19Ci0KLVBBQ0tBR0VTICs9ICJweXRob24zLWxpYnJlcG9ydCIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vKiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi8uZGVidWciCi1GSUxFU19weXRob24zLWxpYnJlcG9ydCA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9saWJyZXBvcnQvbGlicmVwb3J0XzIuOS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMjI4MzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlicmVwb3J0L2xpYnJlcG9ydF8yLjkuNy5iYgpAQCAtMCwwICsxLDQ5IEBACitERVNDUklQVElPTiA9ICJMaWJyYXJpZXMgcHJvdmlkaW5nIEFQSSBmb3IgcmVwb3J0aW5nIGRpZmZlcmVudCBwcm9ibGVtcyBpbiBhcHBsaWNhdGlvbnMgXAordG8gZGlmZmVyZW50IGJ1ZyB0YXJnZXRzIGxpa2UgQnVnemlsbGEsIGZ0cCwgdHJhYywgZXRjLi4uIgorU1VNTUFSWSA9ICJHZW5lcmljIGxpYnJhcnkgZm9yIHJlcG9ydGluZyB2YXJpb3VzIHByb2JsZW1zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9hYnJ0LnJlYWR0aGVkb2NzLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyKyIKK0RFUEVORFMgPSAieG1scnBjLWMgeG1scnBjLWMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSBcCisgICAgICAgIGpzb24tYyBsaWJ0YXIgbGlibmV3dCBsaWJwcm94eSBycG0gXAorICAgICAgICBhdWdlYXMgc2F0eXIgc3lzdGVtZCBcCisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hYnJ0L2xpYnJlcG9ydC5naXQ7cHJvdG9jb2w9aHR0cHMiCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1NYWtlZmlsZS5hbS1yZW1vdmUtZG9jLWFuZC1hcGlkb2MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDItY29uZmlndXJlLmFjLXJlbW92ZS1wcm9nLXRlc3Qtb2YteG1sdG8tYW5kLWFzY2lpZG9jLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLXdpdGhvdXQtYnVpbGQtcGx1Z2lucy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNC1jb25maWd1cmUuYWMtcmVtb3ZlLXByb2ctdGVzdC1vZi1hdWdwYXJzZS5wYXRjaCBcCisiCitTUkNSRVYgPSAiMWQ1Y2MwMGU0NGFmNDgwMGZjYWU5NzYxNjI1ZGQ0MjMwNjgxZTgyYSIKKworVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK2luaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCd4MTEnLCdndGsnLCcnLGQpfSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItLXdpdGgtZ3RrLCAtLXdpdGhvdXQtZ3RrLCBndGsrMywiCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LXB5dGhvbjIgLS13aXRoLXB5dGhvbjMiCisKK1JERVBFTkRTX3B5dGhvbjMtbGlicmVwb3J0ICs9ICIke1BOfSIKKworZG9fcGF0Y2hbcHJlZnVuY3NdICs9ICJkb19nZW5fdmVyc2lvbiIKK2RvX2dlbl92ZXJzaW9uKCkgeworICAgIGNkICR7U30KKyAgICAuL2dlbi12ZXJzaW9uCit9CisKK1BBQ0tBR0VTICs9ICJweXRob24zLWxpYnJlcG9ydCIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vKiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi8uZGVidWciCitGSUxFU19weXRob24zLWxpYnJlcG9ydCA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGlic2VyaWFscG9ydC9saWJzZXJpYWxwb3J0XzAuMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydF8wLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTJkNGJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydF8wLjEuMS5iYgpAQCAtMCwwICsxLDEyIEBACitERVNDUklQVElPTiA9ICJsaWJzZXJpYWxwb3J0IGlzIGEgbWluaW1hbCwgY3Jvc3MtcGxhdGZvcm0gc2hhcmVkIGxpYnJhcnkgd3JpdHRlbiBpbiBDIHRoYXQgaXMgaW50ZW5kZWQgdG8gdGFrZSBjYXJlIG9mIHRoZSBPUy1zcGVjaWZpYyBkZXRhaWxzIHdoZW4gd3JpdGluZyBzb2Z0d2FyZSB0aGF0IHVzZXMgc2VyaWFsIHBvcnRzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vc2lncm9rLm9yZy93aWtpL0xpYnNlcmlhbHBvcnQiCisKK0xJQ0VOU0UgPSAiTEdQTC0zLjArIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK1NSQ19VUkkgPSAiaHR0cDovL3NpZ3Jvay5vcmcvZG93bmxvYWQvc291cmNlL2xpYnNlcmlhbHBvcnQvbGlic2VyaWFscG9ydC0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTNmMDMyNWE2MTU3MTk4MTUyYjViZDdlODE4MmI1MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YTJhZjlkOWMzZmY0ODhlOTJmYjc1YjRiYTM4YjM1YmNmOWI4YTY2ZGYwNDc3M2ViYTJhN2JiZjFmYTc1MjlkIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnppcC9saWJ6aXBfMS41LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbGliemlwL2xpYnppcF8xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTczNzAwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xpYnppcC9saWJ6aXBfMS41LjEuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAibGliemlwIGlzIGEgQyBsaWJyYXJ5IGZvciByZWFkaW5nLCBjcmVhdGluZywgYW5kIG1vZGlmeWluZyB6aXAgYXJjaGl2ZXMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ6aXAub3JnLyIKKworTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wMWY4YjFiOGRhNjQwMzczOTA5NDM5NmUxNWIxZTcyMiIKKworREVQRU5EUyA9ICJ6bGliIGJ6aXAyIgorCitQQUNLQUdFQ09ORklHW3NzbF0gPSAiLURFTkFCTEVfT1BFTlNTTD1PTiwtREVOQUJMRV9PUEVOU1NMPU9GRixvcGVuc3NsIgorCitQQUNLQUdFQ09ORklHID89ICJzc2wiCisKK2luaGVyaXQgY21ha2UKKworU1JDX1VSSSA9ICJodHRwczovL2xpYnppcC5vcmcvZG93bmxvYWQvbGliemlwLSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmZTY2NWFhNmQ2YmYzYTk5ZWI2ZmE5YzU1MzI4M2ZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0ZWEzNWI2OTU2YzdiMzQ1M2YxZWQzZjNmZTQwZTNkZGFlMWY0MzkzMTA4OTEyNDU3OWU4Mzg0ZTc5ZWQzNzIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbG9nd2F0Y2gvbG9nd2F0Y2hfNy40LjMuYmIKaW5kZXggYWVhNTM5ZS4uMjc1YThmMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3dhdGNoL2xvZ3dhdGNoXzcuNC4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9sb2d3YXRjaC9sb2d3YXRjaF83LjQuMy5iYgpAQCAtMjAsOSArMjAsOSBAQAogICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kaXN0LmNvbmYvbG9nZmlsZXMKICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGlzdC5jb25mL3NlcnZpY2VzCiAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2NhY2hlL2xvZ3dhdGNoCi0gICAgbXYgY29uZi8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvZGVmYXVsdC5jb25mCi0gICAgbXYgc2NyaXB0cy8gJHtEfSR7ZGF0YWRpcn0vbG9nd2F0Y2gvc2NyaXB0cwotICAgIG12IGxpYiAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9saWIKKyAgICBjcCAtciAtZiBjb25mLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9kZWZhdWx0LmNvbmYKKyAgICBjcCAtciAtZiBzY3JpcHRzLyAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaC9zY3JpcHRzCisgICAgY3AgLXIgLWYgbGliICR7RH0ke2RhdGFkaXJ9L2xvZ3dhdGNoL2xpYgogICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9JHtkYXRhZGlyfS9sb2d3YXRjaAogCiAgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzL2Zvcm1hdC1vdmVyZmxvdy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9mb3JtYXQtb3ZlcmZsb3cucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjljNmE3YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqcy9mb3JtYXQtb3ZlcmZsb3cucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRHJvcCBlbmFibGUgZm9ybWF0IHN0cmluZyB3YXJuaW5ncyB0byBoZWxwIGdjYzkKKworRml4ZXMKK3wgL21udC9hL3lvZS9idWlsZC90bXAvd29yay9jb3JlMi02NC15b2UtbGludXgtbXVzbC9tb3pqcy81Mi45LjEtcjAvbW96anMtNTIuOS4xL2pzL3NyYy9qaXQveDY0L0Jhc2VBc3NlbWJsZXIteDY0Lmg6NTk2OjEzOiBlcnJvcjogJyVzJyBkaXJlY3RpdmUgYXJndW1lbnQgaXMgbnVsbCBbLVdlcnJvcj1mb3JtYXQtb3ZlcmZsb3c9XQorfCAgIDU5NiB8ICAgICAgICAgc3BldygibW92cSAgICAgICAiIE1FTV9vYnMgIiwgJXMiLCBBRERSX29icyhvZmZzZXQsIGJhc2UsIGluZGV4LCBzY2FsZSksIEdQUmVnNjROYW1lKGRzdCkpOworfCAgICAgICB8ICAgICAgICAgfn5+fl5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbV29ya2Fyb3VuZCBmb3IgZ2NjOV0KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKKy0tLSBhL2pzL3NyYy9tb3ouYnVpbGQKKysrKyBiL2pzL3NyYy9tb3ouYnVpbGQKK0BAIC03ODUsNyArNzg1LDcgQEAgaWYgQ09ORklHWydKU19IQVNfQ1RZUEVTJ106CisgICAgICAgICBERUZJTkVTWydGRklfQlVJTERJTkcnXSA9IFRydWUKKyAKKyBpZiBDT05GSUdbJ0dOVV9DWFgnXToKKy0gICAgQ1hYRkxBR1MgKz0gWyctV25vLXNoYWRvdycsICctV2Vycm9yPWZvcm1hdCddCisrICAgIENYWEZMQUdTICs9IFsnLVduby1zaGFkb3cnXQorIAorICMgU3VwcHJlc3Mgd2FybmluZ3MgaW4gdGhpcmQtcGFydHkgY29kZS4KKyBpZiBDT05GSUdbJ0NMQU5HX0NYWCddOgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzUyLjkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9tb3pqcy9tb3pqc181Mi45LjEuYmIKaW5kZXggN2M4YTdhZS4uOTJkMTU3MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL21vempzL21vempzXzUyLjkuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvbW96anMvbW96anNfNTIuOS4xLmJiCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLW1vemdsdWUtaW4tc3RhbmQtYWxvbmUtYnVpbGRzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2FkZC1yaXNjdi1zdXBwb3J0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtbW96anMtZml4LWNvcmVkdW1wLWNhdXNlZC1ieS1nZXRlbnYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZm9ybWF0LW92ZXJmbG93LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0pTX1BVQkxJQ19BUEkucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIFwKQEAgLTQ0LDcgKzQ1LDcgQEAKICAgICAtLWhvc3Q9JHtCVUlMRF9TWVN9IFwKICAgICAtLXByZWZpeD0ke3ByZWZpeH0gXAogICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCi0gICAgLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAtLWRpc2FibGUtdGVzdHMgLS1kaXNhYmxlLXN0cmlwIC0tZGlzYWJsZS1vcHRpbWl6ZSBcCiAgICAgLS13aXRoLW5zcHItbGlicz0nLWxwbGRzNCAtbHBsYzQgLWxuc3ByNCcgXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICItLWVuYWJsZS1nb2xkIiwgJy0tZGlzYWJsZS1nb2xkJywgZCl9IFwKICIKQEAgLTUyLDkgKzUzLDE1IEBACiBQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgogUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0teC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXgtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LC0teC1pbmNsdWRlcz1ubyAtLXgtbGlicmFyaWVzPW5vLHZpcnR1YWwvbGlieDExIgogCi1FWFRSQV9PRU1BS0VfdGFzay1jb21waWxlICs9ICJPU19MREZMQUdTPSctV2wsLWxhdG9taWMgJHtMREZMQUdTfSciCitFWFRSQV9PRU1BS0VfdGFzay1jb21waWxlICs9ICJCVUlMRF9PUFQ9MSBPU19MREZMQUdTPSctV2wsLWxhdG9taWMgJHtMREZMQUdTfSciCiBFWFRSQV9PRU1BS0VfdGFzay1pbnN0YWxsICs9ICJTVEFUSUNfTElCUkFSWV9OQU1FPWpzX3N0YXRpYyIKIAorZXhwb3J0IEhPU1RfQ0MgPSAiJHtCVUlMRF9DQ30iCitleHBvcnQgSE9TVF9DWFggPSAiJHtCVUlMRF9DWFh9IgorZXhwb3J0IEhPU1RfQ0ZMQUdTID0gIiR7QlVJTERfQ0ZMQUdTfSIKK2V4cG9ydCBIT1NUX0NQUEZMQUdTID0gIiR7QlVJTERfQ1BQRkxBR1N9IgorZXhwb3J0IEhPU1RfQ1hYRkxBR1MgPSAiJHtCVUlMRF9DWFhGTEFHU30iCisKIGRvX2NvbmZpZ3VyZSgpIHsKICAgICBleHBvcnQgU0hFTEw9Ii9iaW4vc2giCiAgICAgZXhwb3J0IFRNUD0iJHtCfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGNkMTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1BZGp1c3QtZm9yLUNVUkxFX1NTTF9DQUNFUlQtZGVwcmVjYXRpb24taW4tY3VybC03LjYyLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZjJjMzdmYWI1ZGJhZmZhMDZjMTI2OGVlMTMwOTU5NjMwNmM5YTRkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIwIE5vdiAyMDE4IDEyOjIzOjQ3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkanVzdCBmb3IgQ1VSTEVfU1NMX0NBQ0VSVCBkZXByZWNhdGlvbiBpbiBjdXJsID49IDcuNjIKKworVXNlIENVUkxFX1BFRVJfRkFJTEVEX1ZFUklGSUNBVElPTiBpbnN0ZWFkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyB8IDcgKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCitpbmRleCBkMGEzODI5Yi4uOTI3MjdmNGYgMTAwNjQ0CistLS0gYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCisrKysgYi9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jCitAQCAtMTg2LDE2ICsxODYsMjMgQEAgY29udmVydF90b19sYXN0X2Vycm9yKENVUkxjb2RlIHIpCisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ09OTkVDVF9FUlJPUjsKKyAgICAgICAgIGNhc2UgQ1VSTEVfQkFEX0ZVTkNUSU9OX0FSR1VNRU5UOgorICAgICAgICAgICAgICAgICByZXR1cm4gV1NfTEFTVEVSUl9DVVJMX0JBRF9GVU5DVElPTl9BUkc7CisrI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPCAweDA3M0UwMAorIAljYXNlIENVUkxFX1NTTF9QRUVSX0NFUlRJRklDQVRFOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX1BFRVJfQ0VSVElGSUNBVEU7CisrI2VuZGlmCisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9OT1RGT1VORDoKKyAJCXJldHVybiBXU19MQVNURVJSX1NTTF9FTkdJTkVfTk9URk9VTkQ7CisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9TRVRGQUlMRUQ6CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfRU5HSU5FX1NFVEZBSUxFRDsKKyAJY2FzZSBDVVJMRV9TU0xfQ0VSVFBST0JMRU06CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ0VSVFBST0JMRU07CisrI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPCAweDA3M0UwMAorIAljYXNlIENVUkxFX1NTTF9DQUNFUlQ6CisgCQlyZXR1cm4gV1NfTEFTVEVSUl9TU0xfQ0FDRVJUOworKyNlbHNlCisrCWNhc2UgQ1VSTEVfUEVFUl9GQUlMRURfVkVSSUZJQ0FUSU9OOgorKwkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX1BFRVJfQ0VSVElGSUNBVEU7CisrI2VuZGlmCisgI2lmIExJQkNVUkxfVkVSU0lPTl9OVU0gPiAweDcwQzAxCisgCWNhc2UgQ1VSTEVfU1NMX0VOR0lORV9JTklURkFJTEVEOgorIAkJcmV0dXJuIFdTX0xBU1RFUlJfU1NMX0VOR0lORV9JTklURkFJTEVEOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMS1Qb3J0LXRvLU9wZW5TU0wtMS4xLjAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLVBvcnQtdG8tT3BlblNTTC0xLjEuMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDlhZmE1Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLVBvcnQtdG8tT3BlblNTTC0xLjEuMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2MiArMCwwIEBACi1Gcm9tIGY3ODY0M2QyMzg4ZGQwNjk3ZjgzZjE3ODgwNDAzMjUzYTA1OTZkODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBWaXRlenNsYXYgQ3Job25layA8dmNyaG9uZWtAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgNSBTZXAgMjAxOCAxMToyMzo0NiAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gUG9ydCB0byBPcGVuU1NMIDEuMS4wCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi9wdWxsLzk5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMgfCAgNiArKystCi0gc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMgICAgICAgICAgICB8IDE3IC0tLS0tLS0tLS0KLSBzcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYyAgICAgICAgICAgIHwgMjAgKysrKy0tLS0tLS0tCi0gc3JjL3NlcnZlci9zaHR0cGQvc3NsLmggICAgICAgICAgICAgICB8IDQ2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGliL3dzbWFuLWN1cmwtY2xpZW50LXRyYW5zcG9ydC5jIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotaW5kZXggY2Q3ZjUxN2EuLmU2NGFkMDk3IDEwMDY0NAotLS0tIGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotKysrIGIvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYwotQEAgLTI0MSwxMiArMjQxLDE2IEBAIHdyaXRlX2hhbmRsZXIoIHZvaWQgKnB0ciwgc2l6ZV90IHNpemUsIHNpemVfdCBubWVtYiwgdm9pZCAqZGF0YSkKLSBzdGF0aWMgaW50IHNzbF9jZXJ0aWZpY2F0ZV90aHVtYnByaW50X3ZlcmlmeV9jYWxsYmFjayhYNTA5X1NUT1JFX0NUWCAqY3R4LCB2b2lkICphcmcpCi0gewotIAl1bnNpZ25lZCBjaGFyICp0aHVtYnByaW50ID0gKHVuc2lnbmVkIGNoYXIgKilhcmc7Ci0tCVg1MDkgKmNlcnQgPSBjdHgtPmNlcnQ7Ci0gCUVWUF9NRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqdGVtcERpZ2VzdDsKLSAKLSAJdW5zaWduZWQgY2hhciAgIHRlbXBGaW5nZXJwcmludFtFVlBfTUFYX01EX1NJWkVdOwotIAl1bnNpZ25lZCBpbnQgICAgICB0ZW1wRmluZ2VycHJpbnRMZW47Ci0gCXRlbXBEaWdlc3QgPSAoRVZQX01EKilFVlBfc2hhMSggKTsKLSsKLSsJWDUwOSAqY2VydCA9IFg1MDlfU1RPUkVfQ1RYX2dldF9jdXJyZW50X2NlcnQoY3R4KTsKLSsJaWYoIWNlcnQpCi0rCQlyZXR1cm4gMDsKLSsKLSAJaWYgKCBYNTA5X2RpZ2VzdChjZXJ0LCB0ZW1wRGlnZXN0LCB0ZW1wRmluZ2VycHJpbnQsICZ0ZW1wRmluZ2VycHJpbnRMZW4gKSA8PSAwKQotIAkJcmV0dXJuIDA7Ci0gCWlmKCFtZW1jbXAodGVtcEZpbmdlcnByaW50LCB0aHVtYnByaW50LCB0ZW1wRmluZ2VycHJpbnRMZW4pKQotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKLWluZGV4IDZkZTBkYjJhLi43YWM2NjllNCAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYwotQEAgLTExLDIzICsxMSw2IEBACi0gI2luY2x1ZGUgImRlZnMuaCIKLSAKLSAjaWYgIWRlZmluZWQoTk9fU1NMKQotLXN0cnVjdCBzc2xfZnVuYwlzc2xfc3dbXSA9IHsKLS0JeyJTU0xfZnJlZSIsCQkJezB9fSwKLS0JeyJTU0xfYWNjZXB0IiwJCQl7MH19LAotLQl7IlNTTF9jb25uZWN0IiwJCQl7MH19LAotLQl7IlNTTF9yZWFkIiwJCQl7MH19LAotLQl7IlNTTF93cml0ZSIsCQkJezB9fSwKLS0JeyJTU0xfZ2V0X2Vycm9yIiwJCXswfX0sCi0tCXsiU1NMX3NldF9mZCIsCQkJezB9fSwKLS0JeyJTU0xfbmV3IiwJCQl7MH19LAotLQl7IlNTTF9DVFhfbmV3IiwJCQl7MH19LAotLQl7IlNTTHYyM19zZXJ2ZXJfbWV0aG9kIiwJezB9fSwKLS0JeyJTU0xfbGlicmFyeV9pbml0IiwJCXswfX0sCi0tCXsiU1NMX0NUWF91c2VfUHJpdmF0ZUtleV9maWxlIiwJezB9fSwKLS0JeyJTU0xfQ1RYX3VzZV9jZXJ0aWZpY2F0ZV9maWxlIix7MH19LAotLQl7TlVMTCwJCQkJezB9fQotLX07Ci0tCi0gdm9pZAotIF9zaHR0cGRfc3NsX2hhbmRzaGFrZShzdHJ1Y3Qgc3RyZWFtICpzdHJlYW0pCi0gewotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jIGIvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLWluZGV4IDU4NzYzOTJlLi40YzFkYmYzMiAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotQEAgLTE0NzYsMjAgKzE0NzYsMTQgQEAgc2V0X3NzbChzdHJ1Y3Qgc2h0dHBkX2N0eCAqY3R4LCBjb25zdCBjaGFyICpwZW0pCi0gCWludAkJcmV0dmFsID0gRkFMU0U7Ci0gCUVDX0tFWSoJCWtleTsKLSAKLS0JLyogTG9hZCBTU0wgbGlicmFyeSBkeW5hbWljYWxseSAqLwotLQlpZiAoKGxpYiA9IGRsb3BlbihTU0xfTElCLCBSVExEX0xBWlkpKSA9PSBOVUxMKSB7Ci0tCQlfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJzZXRfc3NsOiBjYW5ub3QgbG9hZCAlcyIsIFNTTF9MSUIpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0tCX0KLS0KLS0JZm9yIChmcCA9IHNzbF9zdzsgZnAtPm5hbWUgIT0gTlVMTDsgZnArKykKLS0JCWlmICgoZnAtPnB0ci52X3ZvaWQgPSBkbHN5bShsaWIsIGZwLT5uYW1lKSkgPT0gTlVMTCkgewotLQkJCV9zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwic2V0X3NzbDogY2Fubm90IGZpbmQgJXMiLCBmcC0+bmFtZSk7Ci0tCQkJcmV0dXJuIChGQUxTRSk7Ci0tCQl9Ci0tCi0gCS8qIEluaXRpYWxpemUgU1NMIGNyYXAgKi8KLSsJZGVidWcoIkluaXRpYWxpemUgU1NMIik7Ci0rCVNTTF9sb2FkX2Vycm9yX3N0cmluZ3MoKTsKLSsJI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAotIAlTU0xfbGlicmFyeV9pbml0KCk7Ci0rCSNlbHNlCi0rCU9QRU5TU0xfaW5pdF9zc2woMCwgTlVMTCk7Ci0rCSNlbmRpZgotIAotIAlpZiAoKENUWCA9IFNTTF9DVFhfbmV3KFNTTHYyM19zZXJ2ZXJfbWV0aG9kKCkpKSA9PSBOVUxMKQotIAkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiU1NMX0NUWF9uZXcgZXJyb3IiKTsKLUBAIC0xNTMyLDcgKzE1MjYsNyBAQCBzZXRfc3NsKHN0cnVjdCBzaHR0cGRfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKnBlbSkKLSAJCQlpZiAoc3RybmNhc2VjbXAocHJvdG9jb2xzW2lkeF0ubmFtZSwgc3NsX2Rpc2FibGVkX3Byb3RvY29scywgYmxhbmtfcHRyLXNzbF9kaXNhYmxlZF9wcm90b2NvbHMpID09IDApIHsKLSAJCQkJLy9fc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJTU0w6IGRpc2FibGUgJXMgcHJvdG9jb2wiLCBwcm90b2NvbHNbaWR4XS5uYW1lKTsKLSAJCQkJZGVidWcoIlNTTDogZGlzYWJsZSAlcyBwcm90b2NvbCIsIHByb3RvY29sc1tpZHhdLm5hbWUpOwotLQkJCQlTU0xfQ1RYX2N0cmwoQ1RYLCBTU0xfQ1RSTF9PUFRJT05TLCBwcm90b2NvbHNbaWR4XS5vcHQsIE5VTEwpOwotKwkJCQlTU0xfQ1RYX3NldF9vcHRpb25zKENUWCwgcHJvdG9jb2xzW2lkeF0ub3B0KTsKLSAJCQkJYnJlYWs7Ci0gCQkJfQotIAkJfQotZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKLWluZGV4IGE4NjNmMmM3Li44ZGFkMDEwOSAxMDA2NDQKLS0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCi0rKysgYi9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAotQEAgLTEyLDUwICsxMiw0IEBACi0gCi0gI2luY2x1ZGUgPG9wZW5zc2wvc3NsLmg+Ci0gCi0tI2Vsc2UKLS0KLS0vKgotLSAqIFNuYXRjaGVkIGZyb20gT3BlblNTTCBpbmNsdWRlcy4gSSBwdXQgdGhlIHByb3RvdHlwZXMgaGVyZSB0byBiZSBpbmRlcGVuZGVudAotLSAqIGZyb20gdGhlIE9wZW5TU0wgc291cmNlIGluc3RhbGxhdGlvbi4gSGF2aW5nIHRoaXMsIHNodHRwZCArIFNTTCBjYW4gYmUKLS0gKiBidWlsdCBvbiBhbnkgc3lzdGVtIHdpdGggYmluYXJ5IFNTTCBsaWJyYXJpZXMgaW5zdGFsbGVkLgotLSAqLwotLQotLXR5cGVkZWYgc3RydWN0IHNzbF9zdCBTU0w7Ci0tdHlwZWRlZiBzdHJ1Y3Qgc3NsX21ldGhvZF9zdCBTU0xfTUVUSE9EOwotLXR5cGVkZWYgc3RydWN0IHNzbF9jdHhfc3QgU1NMX0NUWDsKLS0KLS0jZGVmaW5lCVNTTF9FUlJPUl9XQU5UX1JFQUQJMgotLSNkZWZpbmUJU1NMX0VSUk9SX1dBTlRfV1JJVEUJMwotLSNkZWZpbmUJU1NMX0VSUk9SX1NZU0NBTEwJNQotLSNkZWZpbmUJU1NMX0ZJTEVUWVBFX1BFTQkxCi0tCi0gI2VuZGlmCi0tCi0tLyoKLS0gKiBEeW5hbWljYWxseSBsb2FkZWQgU1NMIGZ1bmN0aW9uYWxpdHkKLS0gKi8KLS1zdHJ1Y3Qgc3NsX2Z1bmMgewotLQljb25zdCBjaGFyCSpuYW1lOwkJLyogU1NMIGZ1bmN0aW9uIG5hbWUJKi8KLS0JdW5pb24gdmFyaWFudAlwdHI7CQkvKiBGdW5jdGlvbiBwb2ludGVyCSovCi0tfTsKLS0KLS1leHRlcm4gc3RydWN0IHNzbF9mdW5jCXNzbF9zd1tdOwotLQotLSNkZWZpbmUJRlVOQyh4KQlzc2xfc3dbeF0ucHRyLnZfZnVuYwotLQotLSNkZWZpbmUJU1NMX2ZyZWUoeCkJKCogKHZvaWQgKCopKFNTTCAqKSkgRlVOQygwKSkoeCkKLS0jZGVmaW5lCVNTTF9hY2NlcHQoeCkJKCogKGludCAoKikoU1NMICopKSBGVU5DKDEpKSh4KQotLSNkZWZpbmUJU1NMX2Nvbm5lY3QoeCkJKCogKGludCAoKikoU1NMICopKSBGVU5DKDIpKSh4KQotLSNkZWZpbmUJU1NMX3JlYWQoeCx5LHopCSgqIChpbnQgKCopKFNTTCAqLCB2b2lkICosIGludCkpIEZVTkMoMykpKCh4KSwoeSksKHopKQotLSNkZWZpbmUJU1NMX3dyaXRlKHgseSx6KSBcCi0tCSgqIChpbnQgKCopKFNTTCAqLCBjb25zdCB2b2lkICosaW50KSkgRlVOQyg0KSkoKHgpLCAoeSksICh6KSkKLS0jZGVmaW5lCVNTTF9nZXRfZXJyb3IoeCx5KSgqIChpbnQgKCopKFNTTCAqLCBpbnQpKSBGVU5DKDUpKSgoeCksICh5KSkKLS0jZGVmaW5lCVNTTF9zZXRfZmQoeCx5KQkoKiAoaW50ICgqKShTU0wgKiwgaW50KSkgRlVOQyg2KSkoKHgpLCAoeSkpCi0tI2RlZmluZQlTU0xfbmV3KHgpCSgqIChTU0wgKiAoKikoU1NMX0NUWCAqKSkgRlVOQyg3KSkoeCkKLS0jZGVmaW5lCVNTTF9DVFhfbmV3KHgpCSgqIChTU0xfQ1RYICogKCopKFNTTF9NRVRIT0QgKikpIEZVTkMoOCkpKHgpCi0tI2RlZmluZQlTU0x2MjNfc2VydmVyX21ldGhvZCgpCSgqIChTU0xfTUVUSE9EICogKCopKHZvaWQpKSBGVU5DKDkpKSgpCi0tI2RlZmluZQlTU0xfbGlicmFyeV9pbml0KCkgKCogKGludCAoKikodm9pZCkpIEZVTkMoMTApKSgpCi0tI2RlZmluZQlTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUoeCx5LHopCSgqIChpbnQgKCopKFNTTF9DVFggKiwgXAotLQkJY29uc3QgY2hhciAqLCBpbnQpKSBGVU5DKDExKSkoKHgpLCAoeSksICh6KSkKLS0jZGVmaW5lCVNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUoeCx5LHopCSgqIChpbnQgKCopKFNTTF9DVFggKiwgXAotLQkJY29uc3QgY2hhciAqLCBpbnQpKSBGVU5DKDEyKSkoKHgpLCAoeSksICh6KSkKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDEtb3BlblNTTC0xLjEuMC1BUEktZml4ZXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMjMwYmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbi8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gNjM0Yjk1MTU3ZTE4MjM2NzJhMmM5NWZhYzBjZWNmMDc5YjU5NjdlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9LbGF1cz0yMEs9QzM9QTRtcGY/PSA8a2thZW1wZkBzdXNlLmRlPgorRGF0ZTogTW9uLCAxOSBOb3YgMjAxOCAxNTozMToyNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBvcGVuU1NMIDEuMS4wIEFQSSBmaXhlcworCistLS0KKyBzcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYyB8ICA1ICsrKysrCisgc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgfCAxMSArKysrKysrKysrLQorIHNyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oICAgIHwgIDMgKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL2lvX3NzbC5jCitpbmRleCA2ZGUwZGIyYS4uZWNlNjEwZWYgMTAwNjQ0CistLS0gYS9zcmMvc2VydmVyL3NodHRwZC9pb19zc2wuYworKysrIGIvc3JjL3NlcnZlci9zaHR0cGQvaW9fc3NsLmMKK0BAIC0yMSw4ICsyMSwxMyBAQCBzdHJ1Y3Qgc3NsX2Z1bmMJc3NsX3N3W10gPSB7CisgCXsiU1NMX3NldF9mZCIsCQkJezB9fSwKKyAJeyJTU0xfbmV3IiwJCQl7MH19LAorIAl7IlNTTF9DVFhfbmV3IiwJCQl7MH19LAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJeyJTU0x2MjNfc2VydmVyX21ldGhvZCIsCXswfX0sCisgCXsiU1NMX2xpYnJhcnlfaW5pdCIsCQl7MH19LAorKyNlbHNlCisrCXsiVExTX3NlcnZlcl9tZXRob2QiLAl7MH19LAorKwl7Ik9QRU5TU0xfaW5pdF9zc2wiLAkJezB9fSwKKysjZW5kaWYKKyAJeyJTU0xfQ1RYX3VzZV9Qcml2YXRlS2V5X2ZpbGUiLAl7MH19LAorIAl7IlNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2ZpbGUiLHswfX0sCisgCXtOVUxMLAkJCQl7MH19CitkaWZmIC0tZ2l0IGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYworaW5kZXggZjBmM2ZiZDguLjY1MmFlYTE3IDEwMDY0NAorLS0tIGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKKysrKyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCitAQCAtMTQ4OSw5ICsxNDg5LDE0IEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQorIAkJfQorIAorIAkvKiBJbml0aWFsaXplIFNTTCBjcmFwICovCistCVNTTF9saWJyYXJ5X2luaXQoKTsKKyAKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrCVNTTF9saWJyYXJ5X2luaXQoKTsKKyAJaWYgKChDVFggPSBTU0xfQ1RYX25ldyhTU0x2MjNfc2VydmVyX21ldGhvZCgpKSkgPT0gTlVMTCkKKysjZWxzZQorKyAgICAgICAgT1BFTlNTTF9pbml0X3NzbCgpOworKwlpZiAoKENUWCA9IFNTTF9DVFhfbmV3KFRMU19zZXJ2ZXJfbWV0aG9kKCkpKSA9PSBOVUxMKQorKyNlbmRpZgorIAkJX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiU1NMX0NUWF9uZXcgZXJyb3IiKTsKKyAJZWxzZSBpZiAoU1NMX0NUWF91c2VfY2VydGlmaWNhdGVfZmlsZShDVFgsIHdzbWFuZF9vcHRpb25zX2dldF9zc2xfY2VydF9maWxlKCksIFNTTF9GSUxFVFlQRV9QRU0pICE9IDEpCisgCQlfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJjYW5ub3Qgb3BlbiBjZXJ0aWZpY2F0ZSBmaWxlICVzIiwgcGVtKTsKK0BAIC0xNTUyLDYgKzE1NTcsMTAgQEAgc2V0X3NzbChzdHJ1Y3Qgc2h0dHBkX2N0eCAqY3R4LCBjb25zdCBjaGFyICpwZW0pCisgICAgICAgICAgIGlmIChyYyAhPSAxKSB7CisgICAgICAgICAgICAgX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiRmFpbGVkIHRvIHNldCBTU0wgY2lwaGVyIGxpc3QgXCIlc1wiIiwgc3NsX2NpcGhlcl9saXN0KTsKKyAgICAgICAgICAgfQorKyAgICAgICAgICBlbHNlIGlmICgoKnNzbF9jaXBoZXJfbGlzdCA9PSAwKSB8fCAoKnNzbF9jaXBoZXJfbGlzdCA9PSAnICcpKSB7CisrICAgICAgICAgICAgX3NodHRwZF9lbG9nKEVfTE9HLCBOVUxMLCAiRW1wdHkgJ3NzbF9jaXBoZXJfbGlzdCcgZGVmYXVsdHMgdG8gJ1RMU19BRVNfMjU2X0dDTV9TSEEzODQ6VExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NjpUTFNfQUVTXzEyOF9HQ01fU0hBMjU2Jy4iKTsKKysgICAgICAgICAgICBfc2h0dHBkX2Vsb2coRV9MT0csIE5VTEwsICJDaGVjayBvcGVuU1NMIGRvY3VtZW50YXRpb24uIik7CisrICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAJY3R4LT5zc2xfY3R4ID0gQ1RYOworIAorZGlmZiAtLWdpdCBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oIGIvc3JjL3NlcnZlci9zaHR0cGQvc3NsLmgKK2luZGV4IDIzMDRiNzBhLi44OWE3M2M0OSAxMDA2NDQKKy0tLSBhL3NyYy9zZXJ2ZXIvc2h0dHBkL3NzbC5oCisrKysgYi9zcmMvc2VydmVyL3NodHRwZC9zc2wuaAorQEAgLTU2LDYgKzU2LDkgQEAgZXh0ZXJuIHN0cnVjdCBzc2xfZnVuYwlzc2xfc3dbXTsKKyAjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgI2RlZmluZQlTU0x2MjNfc2VydmVyX21ldGhvZCgpCSgqIChTU0xfTUVUSE9EICogKCopKHZvaWQpKSBGVU5DKDkpKSgpCisgI2RlZmluZQlTU0xfbGlicmFyeV9pbml0KCkgKCogKGludCAoKikodm9pZCkpIEZVTkMoMTApKSgpCisrI2Vsc2UKKysjZGVmaW5lCVRMU19zZXJ2ZXJfbWV0aG9kKCkJKCogKFNTTF9NRVRIT0QgKiAoKikodm9pZCkpIEZVTkMoOSkpKCkKKysjZGVmaW5lCU9QRU5TU0xfaW5pdF9zc2woKSAoKiAoaW50ICgqKSh2b2lkKSkgRlVOQygxMCkpKCkKKyAjZW5kaWYKKyAjZGVmaW5lCVNTTF9DVFhfdXNlX1ByaXZhdGVLZXlfZmlsZSh4LHkseikJKCogKGludCAoKikoU1NMX0NUWCAqLCBcCisgCQljb25zdCBjaGFyICosIGludCkpIEZVTkMoMTEpKSgoeCksICh5KSwgKHopKQorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMi1DaGVjay1PcGVuU1NMLXZlcnNpb24tbnVtYmVyLXRvLWFsbG93LWJ1aWxkcy13aXRoLW9sLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL29wZW53c21hbi9vcGVud3NtYW4vMDAwMi1DaGVjay1PcGVuU1NMLXZlcnNpb24tbnVtYmVyLXRvLWFsbG93LWJ1aWxkcy13aXRoLW9sLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWUyZTAwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gNzU2NjliMDc3YmQ1NGJlZGJjMDg2YzYwY2JlMTM3ZTdmNGM2ODViNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFZpdGV6c2xhdiBDcmhvbmVrIDx2Y3Job25la0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyNCBBcHIgMjAxNyAxMToyODozOSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQ2hlY2sgT3BlblNTTCB2ZXJzaW9uIG51bWJlciB0byBhbGxvdyBidWlsZHMgd2l0aCBvbGRlcgotIHZlcnNpb24KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9PcGVud3NtYW4vb3BlbndzbWFuL3B1bGwvOTldCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyB8IDQgKysrKwotIHNyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jICAgICAgICAgICAgfCA0ICsrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYi93c21hbi1jdXJsLWNsaWVudC10cmFuc3BvcnQuYyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLWluZGV4IGU2NGFkMDk3Li40ZmMwNDdlOCAxMDA2NDQKLS0tLSBhL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLSsrKyBiL3NyYy9saWIvd3NtYW4tY3VybC1jbGllbnQtdHJhbnNwb3J0LmMKLUBAIC0yNDcsNyArMjQ3LDExIEBAIHN0YXRpYyBpbnQgc3NsX2NlcnRpZmljYXRlX3RodW1icHJpbnRfdmVyaWZ5X2NhbGxiYWNrKFg1MDlfU1RPUkVfQ1RYICpjdHgsIHZvaWQKLSAJdW5zaWduZWQgaW50ICAgICAgdGVtcEZpbmdlcnByaW50TGVuOwotIAl0ZW1wRGlnZXN0ID0gKEVWUF9NRCopRVZQX3NoYTEoICk7Ci0gCi0rCSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKLSsJWDUwOSAqY2VydCA9IGN0eC0+Y2VydDsKLSsJI2Vsc2UKLSAJWDUwOSAqY2VydCA9IFg1MDlfU1RPUkVfQ1RYX2dldF9jdXJyZW50X2NlcnQoY3R4KTsKLSsJI2VuZGlmCi0gCWlmKCFjZXJ0KQotIAkJcmV0dXJuIDA7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMgYi9zcmMvc2VydmVyL3NodHRwZC9zaHR0cGQuYwotaW5kZXggNGMxZGJmMzIuLjE2MTcyMGM4IDEwMDY0NAotLS0tIGEvc3JjL3NlcnZlci9zaHR0cGQvc2h0dHBkLmMKLSsrKyBiL3NyYy9zZXJ2ZXIvc2h0dHBkL3NodHRwZC5jCi1AQCAtMTUyNiw3ICsxNTI2LDExIEBAIHNldF9zc2woc3RydWN0IHNodHRwZF9jdHggKmN0eCwgY29uc3QgY2hhciAqcGVtKQotIAkJCWlmIChzdHJuY2FzZWNtcChwcm90b2NvbHNbaWR4XS5uYW1lLCBzc2xfZGlzYWJsZWRfcHJvdG9jb2xzLCBibGFua19wdHItc3NsX2Rpc2FibGVkX3Byb3RvY29scykgPT0gMCkgewotIAkJCQkvL19zaHR0cGRfZWxvZyhFX0xPRywgTlVMTCwgIlNTTDogZGlzYWJsZSAlcyBwcm90b2NvbCIsIHByb3RvY29sc1tpZHhdLm5hbWUpOwotIAkJCQlkZWJ1ZygiU1NMOiBkaXNhYmxlICVzIHByb3RvY29sIiwgcHJvdG9jb2xzW2lkeF0ubmFtZSk7Ci0rCQkJCSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKLSsJCQkJU1NMX0NUWF9jdHJsKENUWCwgU1NMX0NUUkxfT1BUSU9OUywgcHJvdG9jb2xzW2lkeF0ub3B0LCBOVUxMKTsKLSsJCQkJI2Vsc2UKLSAJCQkJU1NMX0NUWF9zZXRfb3B0aW9ucyhDVFgsIHByb3RvY29sc1tpZHhdLm9wdCk7Ci0rCQkJCSNlbmRpZgotIAkJCQlicmVhazsKLSAJCQl9Ci0gCQl9Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZmJhMzg1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuc291cmNlIEltcGxlbWVudGF0aW9uIG9mIFdTLU1hbmFnZW1lbnQiCi1ERVNDUklQVElPTiA9ICJPcGVud3NtYW4gaXMgYSBwcm9qZWN0IGludGVuZGVkIHRvIHByb3ZpZGUgYW4gb3Blbi1zb3VyY2UgXAotaW1wbGVtZW50YXRpb24gb2YgdGhlIFdlYiBTZXJ2aWNlcyBNYW5hZ2VtZW50IHNwZWNpcGljYXRpb24gXAotKFdTLU1hbmFnZW1lbnQpIGFuZCB0byBleHBvc2Ugc3lzdGVtIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24gb24gdGhlIFwKLUxpbnV4IG9wZXJhdGluZyBzeXN0ZW0gdXNpbmcgdGhlIFdTLU1hbmFnZW1lbnQgcHJvdG9jb2wuIFdTLU1hbmFnZW1lbnQgXAotaXMgYmFzZWQgb24gYSBzdWl0ZSBvZiB3ZWIgc2VydmljZXMgc3BlY2lmaWNhdGlvbnMgYW5kIHVzYWdlIFwKLXJlcXVpcmVtZW50cyB0aGF0IGV4cG9zZXMgYSBzZXQgb2Ygb3BlcmF0aW9ucyBmb2N1c2VkIG9uIGFuZCBjb3ZlcnMgXAotYWxsIHN5c3RlbSBtYW5hZ2VtZW50IGFzcGVjdHMuIFwKLU9wZW53c21hbiBTZXJ2ZXIgYW5kIHNlcnZpY2UgbGlicmFyaWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVud3NtYW4ub3JnLyIKLVNFQ1RJT04gPSAiQXBwbGljYXRpb25zL1N5c3RlbSIKLQotREVQRU5EUyA9ICJjdXJsIGxpYnhtbDIgb3BlbnNzbCBsaWJwYW0iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicGFtIgotCi1TUkNSRVYgPSAiZTkwZTVjOTZlMzAwNmMzNzJiZjQ1ZTAxODVlMzNjOTI1MGU2N2RmNiIKLVBWID0gIjIuNi41IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlbndzbWFuL29wZW53c21hbi5naXQgXAotICAgICAgICAgICBmaWxlOi8vbGlic3NsLWlzLXJlcXVpcmVkLWlmLWV2ZW50aW50LXN1cHBvcnRlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVud3NtYW5kLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1sb2NrLmMtRGVmaW5lLVBUSFJFQURfTVVURVhfUkVDVVJTSVZFX05QLWlmLXVuZGVmaW5lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUG9ydC10by1PcGVuU1NMLTEuMS4wLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQ2hlY2stT3BlblNTTC12ZXJzaW9uLW51bWJlci10by1hbGxvdy1idWlsZHMtd2l0aC1vbC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNGY1M2Q0YzZjZjczYjlkNDMxODZjZTNiZTZkZDBiYSIKLQotaW5oZXJpdCBzeXN0ZW1kIGNtYWtlIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgcGVybG5hdGl2ZQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAib3BlbndzbWFuZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1MREZMQUdTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAiIC1mdXNlLWxkPWJmZCAiLCAnJywgZCl9IgotCi1FWFRSQV9PRUNNQUtFID0gIi1EQlVJTERfQklORElOR1M9Tk8gXAotICAgICAgICAgICAgICAgICAtREJVSUxEX0xJQkNJTT1OTyBcCi0gICAgICAgICAgICAgICAgIC1EQlVJTERfUEVSTD1ZRVMgXAotICAgICAgICAgICAgICAgICAtRENNQUtFX0lOU1RBTExfUFJFRklYPSR7cHJlZml4fSBcCi0gICAgICAgICAgICAgICAgIC1ETElCPSR7YmFzZWxpYn0gXAotICAgICAgICAgICAgICAgICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgZXhwb3J0IFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9Ci0gICAgZXhwb3J0IFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9Ci19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gNzU1ICR7Qn0vZXRjL2luaXQvb3BlbndzbWFuZC5zaCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQKLSAgICBsbiAtc2YgJHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbndzbWFuZCAke0R9LyR7c2JpbmRpcn0vcmNvcGVud3NtYW5kCi0gICAgY2htb2QgNzU1ICR7RH0vJHtzeXNjb25mZGlyfS9vcGVud3NtYW4vb3dzbWFuZ2VuY2VydC5zaAotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9vcGVud3NtYW5kLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0KLSAgICAgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQotICAgICAgICBzZWQgLWkgLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCi0gICAgICAgIHNlZCAtaSAtZSAncyxATE9DQUxTVEFURURJUkAsJHtsb2NhbHN0YXRlZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKLSAgICBmaQotfQotCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9vcGVud3NtYW4vcGx1Z2lucy8uZGVidWcvIFwKLSAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L29wZW53c21hbi9hdXRoZW50aWNhdG9ycy8uZGVidWcvIFwKLSAgICAgICAgICAgICAgICAgICAiCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKLVJERVBFTkRTXyR7UE59ID0gInJ1YnkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9vcGVud3NtYW4vb3BlbndzbWFuXzIuNi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwNGZmMDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvb3BlbndzbWFuL29wZW53c21hbl8yLjYuOC5iYgpAQCAtMCwwICsxLDc1IEBACitTVU1NQVJZID0gIk9wZW5zb3VyY2UgSW1wbGVtZW50YXRpb24gb2YgV1MtTWFuYWdlbWVudCIKK0RFU0NSSVBUSU9OID0gIk9wZW53c21hbiBpcyBhIHByb2plY3QgaW50ZW5kZWQgdG8gcHJvdmlkZSBhbiBvcGVuLXNvdXJjZSBcCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgV2ViIFNlcnZpY2VzIE1hbmFnZW1lbnQgc3BlY2lwaWNhdGlvbiBcCisoV1MtTWFuYWdlbWVudCkgYW5kIHRvIGV4cG9zZSBzeXN0ZW0gbWFuYWdlbWVudCBpbmZvcm1hdGlvbiBvbiB0aGUgXAorTGludXggb3BlcmF0aW5nIHN5c3RlbSB1c2luZyB0aGUgV1MtTWFuYWdlbWVudCBwcm90b2NvbC4gV1MtTWFuYWdlbWVudCBcCitpcyBiYXNlZCBvbiBhIHN1aXRlIG9mIHdlYiBzZXJ2aWNlcyBzcGVjaWZpY2F0aW9ucyBhbmQgdXNhZ2UgXAorcmVxdWlyZW1lbnRzIHRoYXQgZXhwb3NlcyBhIHNldCBvZiBvcGVyYXRpb25zIGZvY3VzZWQgb24gYW5kIGNvdmVycyBcCithbGwgc3lzdGVtIG1hbmFnZW1lbnQgYXNwZWN0cy4gXAorT3BlbndzbWFuIFNlcnZlciBhbmQgc2VydmljZSBsaWJyYXJpZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW53c21hbi5vcmcvIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorCitERVBFTkRTID0gImN1cmwgbGlieG1sMiBvcGVuc3NsIGxpYnBhbSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCisKKyMgdjIuNi44CitTUkNSRVYgPSAiYjljZDBiNzI1MzQ4NTRhYmI2ZGQ4MzRjOGMxMWUwMjExMWI0YzhkNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW53c21hbi9vcGVud3NtYW4uZ2l0IFwKKyAgICAgICAgICAgZmlsZTovL2xpYnNzbC1pcy1yZXF1aXJlZC1pZi1ldmVudGludC1zdXBwb3J0ZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb3BlbndzbWFuZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbG9jay5jLURlZmluZS1QVEhSRUFEX01VVEVYX1JFQ1VSU0lWRV9OUC1pZi11bmRlZmluZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5TU0wtMS4xLjAtQVBJLWZpeGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRqdXN0LWZvci1DVVJMRV9TU0xfQ0FDRVJULWRlcHJlY2F0aW9uLWluLWN1cmwtNy42Mi5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNGY1M2Q0YzZjZjczYjlkNDMxODZjZTNiZTZkZDBiYSIKKworaW5oZXJpdCBzeXN0ZW1kIGNtYWtlIHBrZ2NvbmZpZyBweXRob24zbmF0aXZlIHBlcmxuYXRpdmUKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm9wZW53c21hbmQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworTERGTEFHU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgIiAtZnVzZS1sZD1iZmQgIiwgJycsIGQpfSIKKworRVhUUkFfT0VDTUFLRSA9ICItREJVSUxEX0JJTkRJTkdTPU5PIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9MSUJDSU09Tk8gXAorICAgICAgICAgICAgICAgICAtREJVSUxEX1BFUkw9WUVTIFwKKyAgICAgICAgICAgICAgICAgLURCVUlMRF9QWVRIT04zPVlFUyBcCisgICAgICAgICAgICAgICAgIC1EQlVJTERfUFlUSE9OPU5PIFwKKyAgICAgICAgICAgICAgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgICAtRExJQj0ke2Jhc2VsaWJ9IFwKKyAgICAgICAgICAgICAgICAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGV4cG9ydCBTVEFHSU5HX0lOQ0RJUj0ke1NUQUdJTkdfSU5DRElSfQorICAgIGV4cG9ydCBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2V0Yy9pbml0L29wZW53c21hbmQuc2ggJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVud3NtYW5kCisgICAgbG4gLXNmICR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW53c21hbmQgJHtEfS8ke3NiaW5kaXJ9L3Jjb3BlbndzbWFuZAorICAgIGNobW9kIDc1NSAke0R9LyR7c3lzY29uZmRpcn0vb3BlbndzbWFuL293c21hbmdlbmNlcnQuc2gKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vb3BlbndzbWFuZC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCisgICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9vcGVud3NtYW5kLnNlcnZpY2UKKyAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL29wZW53c21hbmQuc2VydmljZQorICAgICAgICBzZWQgLWkgLWUgJ3MsQExPQ0FMU1RBVEVESVJALCR7bG9jYWxzdGF0ZWRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vb3BlbndzbWFuZC5zZXJ2aWNlCisgICAgZmkKK30KKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vb3BlbndzbWFuL3BsdWdpbnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9vcGVud3NtYW4vYXV0aGVudGljYXRvcnMvLmRlYnVnLyBcCisgICAgICAgICAgICAgICAgICAgIgorCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCitSREVQRU5EU18ke1BOfSA9ICJydWJ5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGgvMDAwMS1BZGFwdC10by1PcGVuU1NMLTEuMS4xLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNzVhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAxLUFkYXB0LXRvLU9wZW5TU0wtMS4xLjEucGF0Y2gKQEAgLTAsMCArMSw4NzkgQEAKK0Zyb20gMzdlMjMzMzA3YTc5YTkyNTA5NjJkY2Y3N2I3YzdlMjdhMDJhMWEzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEgRmViIDIwMTkgMjI6NDQ6MTAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRhcHQgdG8gT3BlblNTTCAxLjEuMQorCitGcm9tOiBHdWlkbyBGYWxzaSA8bWFkQG1hZHBpbG90Lm5ldD4KK2h0dHBzOi8vc291cmNlcy5kZWJpYW4ub3JnL3NyYy9wYW0tc3NoLWFnZW50LWF1dGgvMC4xMC4zLTMvZGViaWFuL3BhdGNoZXMvb3BlbnNzbC0xLjEuMS0xLnBhdGNoLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBhdXRoZmQuYyAgICB8ICA1MCArKysrKysrKysrKysrKysrKysrKworIGJ1ZmJuLmMgICAgIHwgICA0ICsrCisgY2lwaGVyLmggICAgfCAgIDYgKystCisga2V4LmggICAgICAgfCAgIDkgKysrLQorIGtleS5jICAgICAgIHwgMTMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyBzc2gtZHNzLmMgICB8ICA1MSArKysrKysrKysrKysrKysrLS0tLQorIHNzaC1lY2RzYS5jIHwgIDQwICsrKysrKysrKysrKy0tLS0KKyBzc2gtcnNhLmMgICB8ICAyMiArKysrKysrLS0KKyA4IGZpbGVzIGNoYW5nZWQsIDI4NyBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dGhmZC5jIGIvYXV0aGZkLmMKK2luZGV4IDIxMmUwNmIuLmY5MTUxNGQgMTAwNjQ0CistLS0gYS9hdXRoZmQuYworKysrIGIvYXV0aGZkLmMKK0BAIC0zNjcsNiArMzY3LDcgQEAgc3NoX2dldF9uZXh0X2lkZW50aXR5KEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwgY2hhciAqKmNvbW1lbnQsIGludCB2ZXJzaW8KKyAJY2FzZSAxOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoS0VZX1JTQTEpOworIAkJYml0cyA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2ludCgmYXV0aC0+aWRlbnRpdGllcyk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0oJmF1dGgtPmlkZW50aXRpZXMsIGtleS0+cnNhLT5uKTsKKyAJCSpjb21tZW50ID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCBOVUxMKTsKK0BAIC0zNzQsNiArMzc1LDE1IEBAIHNzaF9nZXRfbmV4dF9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIGNoYXIgKipjb21tZW50LCBpbnQgdmVyc2lvCisgCQlpZiAoa2V5Yml0cyA8IDAgfHwgYml0cyAhPSAodV9pbnQpa2V5Yml0cykKKyAJCQlwYW1zc2hhZ2VudGF1dGhfbG9naXQoIldhcm5pbmc6IGlkZW50aXR5IGtleXNpemUgbWlzbWF0Y2g6IGFjdHVhbCAlZCwgYW5ub3VuY2VkICV1IiwKKyAJCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBiaXRzKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0oJmF1dGgtPmlkZW50aXRpZXMsIFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysJCSpjb21tZW50ID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCBOVUxMKTsKKysJCWtleWJpdHMgPSBCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQlpZiAoa2V5Yml0cyA8IDAgfHwgYml0cyAhPSAodV9pbnQpa2V5Yml0cykKKysJCQlwYW1zc2hhZ2VudGF1dGhfbG9naXQoIldhcm5pbmc6IGlkZW50aXR5IGtleXNpemUgbWlzbWF0Y2g6IGFjdHVhbCAlZCwgYW5ub3VuY2VkICV1IiwKKysJCQkgICAgQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXktPnJzYSkpLCBiaXRzKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIDI6CisgCQlibG9iID0gcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfc3RyaW5nKCZhdXRoLT5pZGVudGl0aWVzLCAmYmxlbik7CitAQCAtNDE3LDkgKzQyNywxNSBAQCBzc2hfZGVjcnlwdF9jaGFsbGVuZ2UoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLAorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYnVmZmVyKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmYnVmZmVyLCBTU0hfQUdFTlRDX1JTQV9DSEFMTEVOR0UpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+ZSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+bik7CisrI2Vsc2UKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBSU0FfZ2V0MF9lKGtleS0+cnNhKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrI2VuZGlmCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBjaGFsbGVuZ2UpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2FwcGVuZCgmYnVmZmVyLCBzZXNzaW9uX2lkLCAxNik7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludCgmYnVmZmVyLCByZXNwb25zZV90eXBlKTsKK0BAIC00OTYsNiArNTEyLDcgQEAgc3NoX2FnZW50X3NpZ24oQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLAorIHN0YXRpYyB2b2lkCisgc3NoX2VuY29kZV9pZGVudGl0eV9yc2ExKEJ1ZmZlciAqYiwgUlNBICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgeworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGIsIEJOX251bV9iaXRzKGtleS0+bikpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwga2V5LT5uKTsKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+ZSk7CitAQCAtNTA0LDYgKzUyMSwxNiBAQCBzc2hfZW5jb2RlX2lkZW50aXR5X3JzYTEoQnVmZmVyICpiLCBSU0EgKmtleSwgY29uc3QgY2hhciAqY29tbWVudCkKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+aXFtcCk7CS8qIHNzaCBrZXktPnUgKi8KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+cSk7CS8qIHNzaCBrZXktPnAsIFNTTCBrZXktPnEgKi8KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIGtleS0+cCk7CS8qIHNzaCBrZXktPnEsIFNTTCBrZXktPnAgKi8KKysjZWxzZQorKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoYiwgQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrZXkpKSk7CisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9uKGtleSkpOworKwlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwgUlNBX2dldDBfZShrZXkpKTsKKysJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKGIsIFJTQV9nZXQwX2Qoa2V5KSk7CisrCS8qIFRvIGtlZXAgd2l0aGluIHRoZSBwcm90b2NvbDogcCA8IHEgZm9yIHNzaC4gaW4gU1NMIHAgPiBxICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9pcW1wKGtleSkpOwkvKiBzc2gga2V5LT51ICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9xKGtleSkpOwkvKiBzc2gga2V5LT5wLCBTU0wga2V5LT5xICovCisrCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBSU0FfZ2V0MF9wKGtleSkpOwkvKiBzc2gga2V5LT5xLCBTU0wga2V5LT5wICovCisrI2VuZGlmCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoYiwgY29tbWVudCk7CisgfQorIAorQEAgLTUxMywxOSArNTQwLDM2IEBAIHNzaF9lbmNvZGVfaWRlbnRpdHlfc3NoMihCdWZmZXIgKmIsIEtleSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJc3dpdGNoIChrZXktPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPm4pOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5kKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPmlxbXApOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+cCk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5xKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfZChrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBSU0FfZ2V0MF9pcW1wKGtleS0+cnNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIFJTQV9nZXQwX3Aoa2V5LT5yc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgUlNBX2dldDBfcShrZXktPnJzYSkpOworKyNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnEpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+Zyk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wdWJfa2V5KTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnByaXZfa2V5KTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIERTQV9nZXQwX3Eoa2V5LT5kc2EpKTsKKysJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwgRFNBX2dldDBfZyhrZXktPmRzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIERTQV9nZXQwX3ByaXZfa2V5KGtleS0+ZHNhKSk7CisrI2VuZGlmCisgCQlicmVhazsKKyAJfQorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKGIsIGNvbW1lbnQpOworQEAgLTYwNSw5ICs2NDksMTUgQEAgc3NoX3JlbW92ZV9pZGVudGl0eShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsIEtleSAqa2V5KQorIAorIAlpZiAoa2V5LT50eXBlID09IEtFWV9SU0ExKSB7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jaGFyKCZtc2csIFNTSF9BR0VOVENfUkVNT1ZFX1JTQV9JREVOVElUWSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZtc2csIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIGtleS0+cnNhLT5uKTsKKysjZWxzZQorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZtc2csIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtKCZtc2csIFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysjZW5kaWYKKyAJfSBlbHNlIGlmIChrZXktPnR5cGUgPT0gS0VZX0RTQSB8fCBrZXktPnR5cGUgPT0gS0VZX1JTQSkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGtleSwgJmJsb2IsICZibGVuKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NoYXIoJm1zZywgU1NIMl9BR0VOVENfUkVNT1ZFX0lERU5USVRZKTsKK2RpZmYgLS1naXQgYS9idWZibi5jIGIvYnVmYm4uYworaW5kZXggNmE0OWM3My4uNGVjZWRjMSAxMDA2NDQKKy0tLSBhL2J1ZmJuLmMKKysrKyBiL2J1ZmJuLmMKK0BAIC0xNTEsNyArMTUxLDExIEBAIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTJfcmV0KEJ1ZmZlciAqYnVmZmVyLCBjb25zdCBCSUdOVU0gKnZhbHVlKQorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KGJ1ZmZlciwgMCk7CisgCQlyZXR1cm4gMDsKKyAJfQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJaWYgKHZhbHVlLT5uZWcpIHsKKysjZWxzZQorKwlpZiAoQk5faXNfbmVnYXRpdmUodmFsdWUpKSB7CisrI2VuZGlmCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoImJ1ZmZlcl9wdXRfYmlnbnVtMl9yZXQ6IG5lZ2F0aXZlIG51bWJlcnMgbm90IHN1cHBvcnRlZCIpOworIAkJcmV0dXJuICgtMSk7CisgCX0KK2RpZmYgLS1naXQgYS9jaXBoZXIuaCBiL2NpcGhlci5oCitpbmRleCA0OWJiYzE2Li42NGY1OWNhIDEwMDY0NAorLS0tIGEvY2lwaGVyLmgKKysrKyBiL2NpcGhlci5oCitAQCAtNTksMTUgKzU5LDE4IEBACisgI2RlZmluZSBDSVBIRVJfREVDUllQVAkJMAorIAorIHR5cGVkZWYgc3RydWN0IENpcGhlciBDaXBoZXI7CistdHlwZWRlZiBzdHJ1Y3QgQ2lwaGVyQ29udGV4dCBDaXBoZXJDb250ZXh0OworKy8vIHR5cGVkZWYgc3RydWN0IENpcGhlckNvbnRleHQgQ2lwaGVyQ29udGV4dDsKKyAKKyBzdHJ1Y3QgQ2lwaGVyOworKy8qCisgc3RydWN0IENpcGhlckNvbnRleHQgeworIAlpbnQJcGxhaW50ZXh0OworIAlFVlBfQ0lQSEVSX0NUWCBldnA7CisgCUNpcGhlciAqY2lwaGVyOworIH07CisrKi8KKyAKKysvKgorIHVfaW50CSBjaXBoZXJfbWFza19zc2gxKGludCk7CisgQ2lwaGVyCSpjaXBoZXJfYnlfbmFtZShjb25zdCBjaGFyICopOworIENpcGhlcgkqY2lwaGVyX2J5X251bWJlcihpbnQpOworQEAgLTg4LDQgKzkxLDUgQEAgdm9pZAkgY2lwaGVyX3NldF9rZXlpdihDaXBoZXJDb250ZXh0ICosIHVfY2hhciAqKTsKKyBpbnQJIGNpcGhlcl9nZXRfa2V5aXZfbGVuKGNvbnN0IENpcGhlckNvbnRleHQgKik7CisgaW50CSBjaXBoZXJfZ2V0X2tleWNvbnRleHQoY29uc3QgQ2lwaGVyQ29udGV4dCAqLCB1X2NoYXIgKik7Cisgdm9pZAkgY2lwaGVyX3NldF9rZXljb250ZXh0KENpcGhlckNvbnRleHQgKiwgdV9jaGFyICopOworKyovCisgI2VuZGlmCQkJCS8qIENJUEhFUl9IICovCitkaWZmIC0tZ2l0IGEva2V4LmggYi9rZXguaAoraW5kZXggOGUyOWM5MC4uODFjYTU3ZCAxMDA2NDQKKy0tLSBhL2tleC5oCisrKysgYi9rZXguaAorQEAgLTcwLDcgKzcwLDcgQEAgZW51bSBrZXhfZXhjaGFuZ2UgeworICNkZWZpbmUgS0VYX0lOSVRfU0VOVAkweDAwMDEKKyAKKyB0eXBlZGVmIHN0cnVjdCBLZXggS2V4OworLXR5cGVkZWYgc3RydWN0IE1hYyBNYWM7CisrLy8gdHlwZWRlZiBzdHJ1Y3QgTWFjIE1hYzsKKyB0eXBlZGVmIHN0cnVjdCBDb21wIENvbXA7CisgdHlwZWRlZiBzdHJ1Y3QgRW5jIEVuYzsKKyB0eXBlZGVmIHN0cnVjdCBOZXdrZXlzIE5ld2tleXM7CitAQCAtODQsNiArODQsNyBAQCBzdHJ1Y3QgRW5jIHsKKyAJdV9jaGFyCSprZXk7CisgCXVfY2hhcgkqaXY7CisgfTsKKysvKgorIHN0cnVjdCBNYWMgeworIAljaGFyCSpuYW1lOworIAlpbnQJZW5hYmxlZDsKK0BAIC05NSwxMSArOTYsMTMgQEAgc3RydWN0IE1hYyB7CisgCUhNQUNfQ1RYCWV2cF9jdHg7CisgCXN0cnVjdCB1bWFjX2N0eCAqdW1hY19jdHg7CisgfTsKKysqLworIHN0cnVjdCBDb21wIHsKKyAJaW50CXR5cGU7CisgCWludAllbmFibGVkOworIAljaGFyCSpuYW1lOworIH07CisrLyoKKyBzdHJ1Y3QgTmV3a2V5cyB7CisgCUVuYwllbmM7CisgCU1hYwltYWM7CitAQCAtMTI2LDcgKzEyOSw5IEBAIHN0cnVjdCBLZXggeworIAlpbnQJKCpob3N0X2tleV9pbmRleCkoS2V5ICopOworIAl2b2lkCSgqa2V4W0tFWF9NQVhdKShLZXggKik7CisgfTsKKysqLworIAorKy8qCisgS2V4CSprZXhfc2V0dXAoY2hhciAqW1BST1BPU0FMX01BWF0pOworIHZvaWQJIGtleF9maW5pc2goS2V4ICopOworIAorQEAgLTE1Miw2ICsxNTcsOCBAQCBrZXhnZXhfaGFzaChjb25zdCBFVlBfTUQgKiwgY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50LCBjaGFyICosCisgdm9pZAorIGRlcml2ZV9zc2gxX3Nlc3Npb25faWQoQklHTlVNICosIEJJR05VTSAqLCB1X2ludDhfdFs4XSwgdV9pbnQ4X3RbMTZdKTsKKyAKKysqLworKworICNpZiBkZWZpbmVkKERFQlVHX0tFWCkgfHwgZGVmaW5lZChERUJVR19LRVhESCkKKyB2b2lkCWR1bXBfZGlnZXN0KGNoYXIgKiwgdV9jaGFyICosIGludCk7CisgI2VuZGlmCitkaWZmIC0tZ2l0IGEva2V5LmMgYi9rZXkuYworaW5kZXggMTA3YTQ0Mi4uYWVkYmJiNSAxMDA2NDQKKy0tLSBhL2tleS5jCisrKysgYi9rZXkuYworQEAgLTc3LDE1ICs3NywyMSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhpbnQgdHlwZSkKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChyc2EgPSBSU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBSU0FfbmV3IGZhaWxlZCIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgocnNhLT5uID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKHJzYS0+ZSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworKyNlbHNlCisrCQlpZiAoUlNBX3NldDBfa2V5KHJzYSwgQk5fbmV3KCksIEJOX25ldygpLCBOVUxMKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfa2V5IGZhaWxlZCIpOworKyNlbmRpZgorIAkJay0+cnNhID0gcnNhOworIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKyAJCWlmICgoZHNhID0gRFNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogRFNBX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKGRzYS0+cCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChkc2EtPnEgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC05NCw2ICsxMDAsMTIgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoaW50IHR5cGUpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGRzYS0+cHViX2tleSA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworKyNlbHNlCisrCQlpZiAoRFNBX3NldDBfcHFnKGRzYSwgQk5fbmV3KCksIEJOX25ldygpLCBCTl9uZXcoKSkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9zZXQwX3BxZyBmYWlsZWQiKTsKKysJCWlmIChEU0Ffc2V0MF9rZXkoZHNhLCBCTl9uZXcoKSwgTlVMTCkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWstPmRzYSA9IGRzYTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKK0BAIC0xMTgsNiArMTMwLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9uZXdfcHJpdmF0ZShpbnQgdHlwZSkKKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKGstPnJzYS0+ZCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGstPnJzYS0+aXFtcCA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTEzMCwxNCArMTQzLDMwIEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3X3ByaXZhdGUoaW50IHR5cGUpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKyAJCWlmICgoay0+cnNhLT5kbXAxID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKFJTQV9zZXQwX2tleShrLT5yc2EsIE5VTEwsIE5VTEwsIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfa2V5IGZhaWxlZCIpOworKwkJaWYgKFJTQV9zZXQwX2NydF9wYXJhbXMoay0+cnNhLCBCTl9uZXcoKSwgQk5fbmV3KCksIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfY3J0X3BhcmFtcyBmYWlsZWQiKTsKKysJCWlmIChSU0Ffc2V0MF9mYWN0b3JzKGstPnJzYSwgQk5fbmV3KCksIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogUlNBX3NldDBfZmFjdG9ycyBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChrLT5kc2EtPnByaXZfa2V5ID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKERTQV9zZXQwX2tleShrLT5kc2EsIE5VTEwsIEJOX25ldygpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBEU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUNEU0E6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKEVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkoay0+ZWNkc2EsIEJOX25ldygpKSAhPSAxKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBFQ19LRVlfc2V0X3ByaXZhdGVfa2V5IGZhaWxlZCIpOworKyNlbHNlCisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRUQyNTUxOToKKyAJCVJBTkRfYnl0ZXMoay0+ZWQyNTUxOS0+c2ssIHNpemVvZihrLT5lZDI1NTE5LT5zaykpOworQEAgLTE5NSwxNCArMjI0LDI2IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZXF1YWwoY29uc3QgS2V5ICphLCBjb25zdCBLZXkgKmIpCisgCWNhc2UgS0VZX1JTQTE6CisgCWNhc2UgS0VZX1JTQToKKyAJCXJldHVybiBhLT5yc2EgIT0gTlVMTCAmJiBiLT5yc2EgIT0gTlVMTCAmJgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5lLCBiLT5yc2EtPmUpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5uLCBiLT5yc2EtPm4pID09IDA7CisrI2Vsc2UKKysJCSAgICBCTl9jbXAoUlNBX2dldDBfZShhLT5yc2EpLCBSU0FfZ2V0MF9lKGItPnJzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoUlNBX2dldDBfbihhLT5yc2EpLCBSU0FfZ2V0MF9uKGItPnJzYSkpID09IDA7CisrI2VuZGlmCisgCWNhc2UgS0VZX0RTQToKKyAJCXJldHVybiBhLT5kc2EgIT0gTlVMTCAmJiBiLT5kc2EgIT0gTlVMTCAmJgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wLCBiLT5kc2EtPnApID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5xLCBiLT5kc2EtPnEpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5nLCBiLT5kc2EtPmcpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wdWJfa2V5LCBiLT5kc2EtPnB1Yl9rZXkpID09IDA7CisrI2Vsc2UKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcChhLT5kc2EpLCBEU0FfZ2V0MF9wKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcShhLT5kc2EpLCBEU0FfZ2V0MF9xKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfZyhhLT5kc2EpLCBEU0FfZ2V0MF9nKGItPmRzYSkpID09IDAgJiYKKysJCSAgICBCTl9jbXAoRFNBX2dldDBfcHViX2tleShhLT5kc2EpLCBEU0FfZ2V0MF9wdWJfa2V5KGItPmRzYSkpID09IDA7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAkJcmV0dXJuIGEtPmVjZHNhICE9IE5VTEwgJiYgYi0+ZWNkc2EgIT0gTlVMTCAmJgorIAkJCUVDX0tFWV9jaGVja19rZXkoYS0+ZWNkc2EpID09IDEgJiYKK0BAIC0yMzEsNyArMjcyLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorICAgICB1X2ludCAqZGdzdF9yYXdfbGVuZ3RoKQorIHsKKyAJY29uc3QgRVZQX01EICptZCA9IE5VTEw7CistCUVWUF9NRF9DVFggY3R4OworKwlFVlBfTURfQ1RYICpjdHg7CisgCXVfY2hhciAqYmxvYiA9IE5VTEw7CisgCXVfY2hhciAqcmV0dmFsID0gTlVMTDsKKyAJdV9pbnQgbGVuID0gMDsKK0BAIC0yNTIsMTIgKzI5MywyMSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2ZpbmdlcnByaW50X3Jhdyhjb25zdCBLZXkgKmssIGVudW0gZnBfdHlwZSBkZ3N0X3R5cGUsCisgCX0KKyAJc3dpdGNoIChrLT50eXBlKSB7CisgCWNhc2UgS0VZX1JTQTE6CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJbmxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPm4pOworIAkJZWxlbiA9IEJOX251bV9ieXRlcyhrLT5yc2EtPmUpOworIAkJbGVuID0gbmxlbiArIGVsZW47CisgCQlibG9iID0gcGFtc3NoYWdlbnRhdXRoX3htYWxsb2MobGVuKTsKKyAJCUJOX2JuMmJpbihrLT5yc2EtPm4sIGJsb2IpOworIAkJQk5fYm4yYmluKGstPnJzYS0+ZSwgYmxvYiArIG5sZW4pOworKyNlbHNlCisrCQlubGVuID0gQk5fbnVtX2J5dGVzKFJTQV9nZXQwX24oay0+cnNhKSk7CisrCQllbGVuID0gQk5fbnVtX2J5dGVzKFJTQV9nZXQwX2Uoay0+cnNhKSk7CisrCQlsZW4gPSBubGVuICsgZWxlbjsKKysJCWJsb2IgPSBwYW1zc2hhZ2VudGF1dGhfeG1hbGxvYyhsZW4pOworKwkJQk5fYm4yYmluKFJTQV9nZXQwX24oay0+cnNhKSwgYmxvYik7CisrCQlCTl9ibjJiaW4oUlNBX2dldDBfZShrLT5yc2EpLCBibG9iICsgbmxlbik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAljYXNlIEtFWV9FQ0RTQToKK0BAIC0yNzMsMTEgKzMyMywxNCBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2ZpbmdlcnByaW50X3Jhdyhjb25zdCBLZXkgKmssIGVudW0gZnBfdHlwZSBkZ3N0X3R5cGUsCisgCX0KKyAJaWYgKGJsb2IgIT0gTlVMTCkgeworIAkJcmV0dmFsID0gcGFtc3NoYWdlbnRhdXRoX3htYWxsb2MoRVZQX01BWF9NRF9TSVpFKTsKKy0JCUVWUF9EaWdlc3RJbml0KCZjdHgsIG1kKTsKKy0JCUVWUF9EaWdlc3RVcGRhdGUoJmN0eCwgYmxvYiwgbGVuKTsKKy0JCUVWUF9EaWdlc3RGaW5hbCgmY3R4LCByZXR2YWwsIGRnc3RfcmF3X2xlbmd0aCk7CisrCQkvKiBYWFggRXJyb3JzIGZyb20gRVZQXyogZnVuY3Rpb25zIGFyZSBub3QgaGFkbGVkICovCisrCQljdHggPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOworKwkJRVZQX0RpZ2VzdEluaXQoY3R4LCBtZCk7CisrCQlFVlBfRGlnZXN0VXBkYXRlKGN0eCwgYmxvYiwgbGVuKTsKKysJCUVWUF9EaWdlc3RGaW5hbChjdHgsIHJldHZhbCwgZGdzdF9yYXdfbGVuZ3RoKTsKKyAJCW1lbXNldChibG9iLCAwLCBsZW4pOworIAkJcGFtc3NoYWdlbnRhdXRoX3hmcmVlKGJsb2IpOworKwkJRVZQX01EX0NUWF9kZXN0cm95KGN0eCk7CisgCX0gZWxzZSB7CisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9maW5nZXJwcmludF9yYXc6IGJsb2IgaXMgbnVsbCIpOworIAl9CitAQCAtNDU3LDEwICs1MTAsMTcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9yZWFkKEtleSAqcmV0LCBjaGFyICoqY3BwKQorIAkJCXJldHVybiAtMTsKKyAJCSpjcHAgPSBjcDsKKyAJCS8qIEdldCBwdWJsaWMgZXhwb25lbnQsIHB1YmxpYyBtb2R1bHVzLiAqLworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICghcmVhZF9iaWdudW0oY3BwLCByZXQtPnJzYS0+ZSkpCisgCQkJcmV0dXJuIC0xOworIAkJaWYgKCFyZWFkX2JpZ251bShjcHAsIHJldC0+cnNhLT5uKSkKKyAJCQlyZXR1cm4gLTE7CisrI2Vsc2UKKysJCWlmICghcmVhZF9iaWdudW0oY3BwLCBSU0FfZ2V0MF9lKHJldC0+cnNhKSkpCisrCQkJcmV0dXJuIC0xOworKwkJaWYgKCFyZWFkX2JpZ251bShjcHAsIFJTQV9nZXQwX24ocmV0LT5yc2EpKSkKKysJCQlyZXR1cm4gLTE7CisrI2VuZGlmCisgCQlzdWNjZXNzID0gMTsKKyAJCWJyZWFrOworIAljYXNlIEtFWV9VTlNQRUM6CitAQCAtNTgzLDEwICs2NDMsMTcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV93cml0ZShjb25zdCBLZXkgKmtleSwgRklMRSAqZikKKyAKKyAJaWYgKGtleS0+dHlwZSA9PSBLRVlfUlNBMSAmJiBrZXktPnJzYSAhPSBOVUxMKSB7CisgCQkvKiBzaXplIG9mIG1vZHVsdXMgJ24nICovCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJYml0cyA9IEJOX251bV9iaXRzKGtleS0+cnNhLT5uKTsKKyAJCWZwcmludGYoZiwgIiV1IiwgYml0cyk7CisgCQlpZiAod3JpdGVfYmlnbnVtKGYsIGtleS0+cnNhLT5lKSAmJgorIAkJICAgIHdyaXRlX2JpZ251bShmLCBrZXktPnJzYS0+bikpIHsKKysjZWxzZQorKwkJYml0cyA9IEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKTsKKysJCWZwcmludGYoZiwgIiV1IiwgYml0cyk7CisrCQlpZiAod3JpdGVfYmlnbnVtKGYsIFJTQV9nZXQwX2Uoa2V5LT5yc2EpKSAmJgorKwkJICAgIHdyaXRlX2JpZ251bShmLCBSU0FfZ2V0MF9uKGtleS0+cnNhKSkpIHsKKysjZW5kaWYKKyAJCQlzdWNjZXNzID0gMTsKKyAJCX0gZWxzZSB7CisgCQkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJrZXlfd3JpdGU6IGZhaWxlZCBmb3IgUlNBIGtleSIpOworQEAgLTY3NSwxMCArNzQyLDE3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfc2l6ZShjb25zdCBLZXkgKmspCisgeworIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWNhc2UgS0VZX1JTQToKKyAJCXJldHVybiBCTl9udW1fYml0cyhrLT5yc2EtPm4pOworIAljYXNlIEtFWV9EU0E6CisgCQlyZXR1cm4gQk5fbnVtX2JpdHMoay0+ZHNhLT5wKTsKKysjZWxzZQorKwljYXNlIEtFWV9SU0E6CisrCQlyZXR1cm4gQk5fbnVtX2JpdHMoUlNBX2dldDBfbihrLT5yc2EpKTsKKysJY2FzZSBLRVlfRFNBOgorKwkJcmV0dXJuIEJOX251bV9iaXRzKERTQV9nZXQwX3Aoay0+ZHNhKSk7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAl7CisgCQlpbnQgbmlkID0gRUNfR1JPVVBfZ2V0X2N1cnZlX25hbWUoRUNfS0VZX2dldDBfZ3JvdXAoay0+ZWNkc2EpKTsKK0BAIC03NjksMTcgKzg0MywyOSBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fcHJpdmF0ZShjb25zdCBLZXkgKmspCisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9EU0E6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChCTl9jb3B5KG4tPmRzYS0+cCwgay0+ZHNhLT5wKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+cSwgay0+ZHNhLT5xKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+Zywgay0+ZHNhLT5nKSA9PSBOVUxMKSB8fAorIAkJICAgIChCTl9jb3B5KG4tPmRzYS0+cHViX2tleSwgay0+ZHNhLT5wdWJfa2V5KSA9PSBOVUxMKSkKKysjZWxzZQorKwkJaWYgKChCTl9jb3B5KERTQV9nZXQwX3Aobi0+ZHNhKSwgRFNBX2dldDBfcChrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX3Eobi0+ZHNhKSwgRFNBX2dldDBfcShrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX2cobi0+ZHNhKSwgRFNBX2dldDBfZyhrLT5kc2EpKSA9PSBOVUxMKSB8fAorKwkJICAgIChCTl9jb3B5KERTQV9nZXQwX3B1Yl9rZXkobi0+ZHNhKSwgRFNBX2dldDBfcHViX2tleShrLT5kc2EpKSA9PSBOVUxMKSkKKysjZW5kaWYKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9mcm9tX3ByaXZhdGU6IEJOX2NvcHkgZmFpbGVkIik7CisgCQlicmVhazsKKyAJY2FzZSBLRVlfUlNBOgorIAljYXNlIEtFWV9SU0ExOgorIAkJbiA9IHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGstPnR5cGUpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJCWlmICgoQk5fY29weShuLT5yc2EtPm4sIGstPnJzYS0+bikgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5yc2EtPmUsIGstPnJzYS0+ZSkgPT0gTlVMTCkpCisrI2Vsc2UKKysJCWlmICgoQk5fY29weShSU0FfZ2V0MF9uKG4tPnJzYSksIFJTQV9nZXQwX24oay0+cnNhKSkgPT0gTlVMTCkgfHwKKysJCSAgICAoQk5fY29weShSU0FfZ2V0MF9lKG4tPnJzYSksIFJTQV9nZXQwX2Uoay0+cnNhKSkgPT0gTlVMTCkpCisrI2VuZGlmCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZnJvbV9wcml2YXRlOiBCTl9jb3B5IGZhaWxlZCIpOworIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VDRFNBOgorQEAgLTg4MSw4ICs5NjcsMTMgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX2Jsb2IoY29uc3QgdV9jaGFyICpibG9iLCB1X2ludCBibGVuKQorIAlzd2l0Y2ggKHR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPnJzYS0+ZSkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5yc2EtPm4pID09IC0xKSB7CisrI2Vsc2UKKysJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgUlNBX2dldDBfZShrZXktPnJzYSkpID09IC0xIHx8CisrCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIFJTQV9nZXQwX24oa2V5LT5yc2EpKSA9PSAtMSkgeworKyNlbmRpZgorIAkJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigia2V5X2Zyb21fYmxvYjogY2FuJ3QgcmVhZCByc2Ega2V5Iik7CisgCQkJcGFtc3NoYWdlbnRhdXRoX2tleV9mcmVlKGtleSk7CisgCQkJa2V5ID0gTlVMTDsKK0BAIC04OTQsMTAgKzk4NSwxNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fYmxvYihjb25zdCB1X2NoYXIgKmJsb2IsIHVfaW50IGJsZW4pCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cCkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnEpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5nKSA9PSAtMSB8fAorIAkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cHViX2tleSkgPT0gLTEpIHsKKysjZWxzZQorKwkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSkgPT0gLTEgfHwKKysJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgRFNBX2dldDBfcShrZXktPmRzYSkpID09IC0xIHx8CisrCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIERTQV9nZXQwX2coa2V5LT5kc2EpKSA9PSAtMSB8fAorKwkJICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSkgPT0gLTEpIHsKKysjZW5kaWYKKyAJCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoImtleV9mcm9tX2Jsb2I6IGNhbid0IHJlYWQgZHNhIGtleSIpOworIAkJCXBhbXNzaGFnZW50YXV0aF9rZXlfZnJlZShrZXkpOworIAkJCWtleSA9IE5VTEw7CitAQCAtMTAxNSw2ICsxMTEzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipibG9icCwgdV9pbnQgKmxlbnApCisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKKyAJc3dpdGNoIChrZXktPnR5cGUpIHsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCWNhc2UgS0VZX0RTQToKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoJmIsIGtleV9zc2hfbmFtZShrZXkpKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoJmIsIGtleS0+ZHNhLT5wKTsKK0BAIC0xMDI3LDYgKzExMjYsMjAgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV90b19ibG9iKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipibG9icCwgdV9pbnQgKmxlbnApCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBrZXktPnJzYS0+bik7CisgCQlicmVhazsKKysjZWxzZQorKwljYXNlIEtFWV9EU0E6CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jc3RyaW5nKCZiLCBrZXlfc3NoX25hbWUoa2V5KSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9wKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9xKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9nKGtleS0+ZHNhKSk7CisrCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKCZiLCBEU0FfZ2V0MF9wdWJfa2V5KGtleS0+ZHNhKSk7CisrCQlicmVhazsKKysJY2FzZSBLRVlfUlNBOgorKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZygmYiwga2V5X3NzaF9uYW1lKGtleSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgUlNBX2dldDBfZShrZXktPnJzYSkpOworKwkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwgUlNBX2dldDBfbihrZXktPnJzYSkpOworKwkJYnJlYWs7CisrI2VuZGlmCisgCWNhc2UgS0VZX0VDRFNBOgorIAl7CisgCQlzaXplX3QgbCA9IDA7CitAQCAtMTEzOCwxNCArMTI1MSwyMCBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCWNhc2UgS0VZX1JTQToKKyAJCWlmICgocGstPnJzYSA9IFJTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IFJTQV9uZXcgZmFpbGVkIik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAkJaWYgKChway0+cnNhLT5lID0gQk5fZHVwKGstPnJzYS0+ZSkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5yc2EtPm4gPSBCTl9kdXAoay0+cnNhLT5uKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKFJTQV9zZXQwX2tleShway0+cnNhLCBCTl9kdXAoUlNBX2dldDBfbihrLT5yc2EpKSwgQk5fZHVwKFJTQV9nZXQwX2Uoay0+cnNhKSksIE5VTEwpICE9IDEpCisrCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBSU0Ffc2V0MF9rZXkgZmFpbGVkIik7CisrI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorIAkJaWYgKChway0+ZHNhID0gRFNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogRFNBX25ldyBmYWlsZWQiKTsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQlpZiAoKHBrLT5kc2EtPnAgPSBCTl9kdXAoay0+ZHNhLT5wKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKyAJCWlmICgocGstPmRzYS0+cSA9IEJOX2R1cChrLT5kc2EtPnEpKSA9PSBOVUxMKQorQEAgLTExNTQsNiArMTI3MywxMiBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5kc2EtPnB1Yl9rZXkgPSBCTl9kdXAoay0+ZHNhLT5wdWJfa2V5KSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IEJOX2R1cCBmYWlsZWQiKTsKKysjZWxzZQorKwkJaWYgKERTQV9zZXQwX3BxZyhway0+ZHNhLCBCTl9kdXAoRFNBX2dldDBfcChrLT5kc2EpKSwgQk5fZHVwKERTQV9nZXQwX3Eoay0+ZHNhKSksIEJOX2R1cChEU0FfZ2V0MF9nKGstPmRzYSkpKSAhPSAxKQorKwkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogRFNBX3NldDBfcHFnIGZhaWxlZCIpOworKwkJaWYgKERTQV9zZXQwX2tleShway0+ZHNhLCBCTl9kdXAoRFNBX2dldDBfcHViX2tleShrLT5kc2EpKSwgTlVMTCkgIT0gMSkKKysJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9zZXQwX2tleSBmYWlsZWQiKTsKKysjZW5kaWYKKyAJCWJyZWFrOworIAljYXNlIEtFWV9FQ0RTQToKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogaW1wbGVtZW50IG1lIik7CitkaWZmIC0tZ2l0IGEvc3NoLWRzcy5jIGIvc3NoLWRzcy5jCitpbmRleCA5ZmRhYTVkLi4xMDUxYWUyIDEwMDY0NAorLS0tIGEvc3NoLWRzcy5jCisrKysgYi9zc2gtZHNzLmMKK0BAIC00OCwzNyArNDgsNTMgQEAgc3NoX2Rzc19zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyB7CisgCURTQV9TSUcgKnNpZzsKKyAJY29uc3QgRVZQX01EICpldnBfbWQgPSBFVlBfc2hhMSgpOworLQlFVlBfTURfQ1RYIG1kOworKwlFVlBfTURfQ1RYICptZDsKKyAJdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCBzaWdibG9iW1NJR0JMT0JfTEVOXTsKKyAJdV9pbnQgcmxlbiwgc2xlbiwgbGVuLCBkbGVuOworIAlCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwljb25zdCBCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorIAlpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9EU0EgfHwga2V5LT5kc2EgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3NpZ246IG5vIERTQSBrZXkiKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlzaWcgPSBEU0FfZG9fc2lnbihkaWdlc3QsIGRsZW4sIGtleS0+ZHNhKTsKKyAJbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrCUVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgCWlmIChzaWcgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3NpZ246IHNpZ24gZmFpbGVkIik7CisgCQlyZXR1cm4gLTE7CisgCX0KKyAKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCXJsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5yKTsKKyAJc2xlbiA9IEJOX251bV9ieXRlcyhzaWctPnMpOworKyNlbHNlCisrCURTQV9TSUdfZ2V0MCgoY29uc3QgRFNBX1NJRyAqKXNpZywgKGNvbnN0IEJJR05VTSAqKilyLCAoY29uc3QgQklHTlVNICoqKXMpOworKwlybGVuID0gQk5fbnVtX2J5dGVzKHIpOworKwlzbGVuID0gQk5fbnVtX2J5dGVzKHMpOworKyNlbmRpZgorIAlpZiAocmxlbiA+IElOVEJMT0JfTEVOIHx8IHNsZW4gPiBJTlRCTE9CX0xFTikgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJiYWQgc2lnIHNpemUgJXUgJXUiLCBybGVuLCBzbGVuKTsKKyAJCURTQV9TSUdfZnJlZShzaWcpOworIAkJcmV0dXJuIC0xOworIAl9CisgCW1lbXNldChzaWdibG9iLCAwLCBTSUdCTE9CX0xFTik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAlCTl9ibjJiaW4oc2lnLT5yLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIElOVEJMT0JfTEVOIC0gcmxlbik7CisgCUJOX2JuMmJpbihzaWctPnMsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gc2xlbik7CisrI2Vsc2UKKysJQk5fYm4yYmluKHIsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gSU5UQkxPQl9MRU4gLSBybGVuKTsKKysJQk5fYm4yYmluKHMsIHNpZ2Jsb2IrIFNJR0JMT0JfTEVOIC0gc2xlbik7CisrI2VuZGlmCisgCURTQV9TSUdfZnJlZShzaWcpOworIAorIAlpZiAoZGF0YWZlbGxvd3MgJiBTU0hfQlVHX1NJR0JMT0IpIHsKK0BAIC0xMTAsMTEgKzEyNiwxNCBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgCURTQV9TSUcgKnNpZzsKKyAJY29uc3QgRVZQX01EICpldnBfbWQgPSBFVlBfc2hhMSgpOworLQlFVlBfTURfQ1RYIG1kOworKwlFVlBfTURfQ1RYICptZDsKKyAJdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCAqc2lnYmxvYjsKKyAJdV9pbnQgbGVuLCBkbGVuOworIAlpbnQgcmxlbiwgcmV0OworIAlCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorIAlpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9EU0EgfHwga2V5LT5kc2EgPT0gTlVMTCkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZHNzX3ZlcmlmeTogbm8gRFNBIGtleSIpOworQEAgLTE1Nyw2ICsxNzYsNyBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJLyogcGFyc2Ugc2lnbmF0dXJlICovCisgCWlmICgoc2lnID0gRFNBX1NJR19uZXcoKSkgPT0gTlVMTCkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IERTQV9TSUdfbmV3IGZhaWxlZCIpOworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKyAJaWYgKChzaWctPnIgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKyAJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKyAJaWYgKChzaWctPnMgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC0xNjQsMTggKzE4NCwzMyBAQCBzc2hfZHNzX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJaWYgKChCTl9iaW4yYm4oc2lnYmxvYiwgSU5UQkxPQl9MRU4sIHNpZy0+cikgPT0gTlVMTCkgfHwKKyAJICAgIChCTl9iaW4yYm4oc2lnYmxvYisgSU5UQkxPQl9MRU4sIElOVEJMT0JfTEVOLCBzaWctPnMpID09IE5VTEwpKQorIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fYmluMmJuIGZhaWxlZCIpOworKyNlbHNlCisrCWlmICgociA9IEJOX25ldygpKSA9PSBOVUxMKQorKwkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fbmV3IGZhaWxlZCIpOworKwlpZiAoKHMgPSBCTl9uZXcoKSkgPT0gTlVMTCkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IEJOX25ldyBmYWlsZWQiKTsKKysJaWYgKERTQV9TSUdfc2V0MChzaWcsIHIsIHMpICE9IDEpCisrCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX3NldDAgZmFpbGVkIik7CisrCWlmICgoQk5fYmluMmJuKHNpZ2Jsb2IsIElOVEJMT0JfTEVOLCByKSA9PSBOVUxMKSB8fAorKwkgICAgKEJOX2JpbjJibihzaWdibG9iKyBJTlRCTE9CX0xFTiwgSU5UQkxPQl9MRU4sIHMpID09IE5VTEwpKQorKwkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fYmluMmJuIGZhaWxlZCIpOworKwlpZiAoRFNBX1NJR19zZXQwKHNpZywgciwgcykgIT0gMSkKKysJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgic3NoX2Rzc192ZXJpZnk6IERTQV9TSUdfc2V0MCBmYWlsZWQiKTsKKysjZW5kaWYKKyAKKyAJLyogY2xlYW4gdXAgKi8KKyAJbWVtc2V0KHNpZ2Jsb2IsIDAsIGxlbik7CisgCXBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAKKyAJLyogc2hhMSB0aGUgZGF0YSAqLworLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlyZXQgPSBEU0FfZG9fdmVyaWZ5KGRpZ2VzdCwgZGxlbiwgc2lnLCBrZXktPmRzYSk7CisgCW1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKwlFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorIAlEU0FfU0lHX2ZyZWUoc2lnKTsKKyAKK2RpZmYgLS1naXQgYS9zc2gtZWNkc2EuYyBiL3NzaC1lY2RzYS5jCitpbmRleCBlZmEwZjNkLi5jMjEzOTU5IDEwMDY0NAorLS0tIGEvc3NoLWVjZHNhLmMKKysrKyBiL3NzaC1lY2RzYS5jCitAQCAtNDEsMjIgKzQxLDI3IEBAIHNzaF9lY2RzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyB7CisgICAgIEVDRFNBX1NJRyAqc2lnOworICAgICBjb25zdCBFVlBfTUQgKmV2cF9tZCA9IGV2cF9mcm9tX2tleShrZXkpOworLSAgICBFVlBfTURfQ1RYIG1kOworKyAgICBFVlBfTURfQ1RYICptZDsKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdOworICAgICB1X2ludCBsZW4sIGRsZW47CisgICAgIEJ1ZmZlciBiLCBiYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorICAgICBpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9FQ0RTQSB8fCBrZXktPmVjZHNhID09IE5VTEwpIHsKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2VjZHNhX3NpZ246IG5vIEVDRFNBIGtleSIpOworICAgICAgICAgcmV0dXJuIC0xOworICAgICB9CisgCistICAgIEVWUF9EaWdlc3RJbml0KCZtZCwgZXZwX21kKTsKKy0gICAgRVZQX0RpZ2VzdFVwZGF0ZSgmbWQsIGRhdGEsIGRhdGFsZW4pOworLSAgICBFVlBfRGlnZXN0RmluYWwoJm1kLCBkaWdlc3QsICZkbGVuKTsKKysgICAgbWQgPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOworKyAgICBFVlBfRGlnZXN0SW5pdChtZCwgZXZwX21kKTsKKysgICAgRVZQX0RpZ2VzdFVwZGF0ZShtZCwgZGF0YSwgZGF0YWxlbik7CisrICAgIEVWUF9EaWdlc3RGaW5hbChtZCwgZGlnZXN0LCAmZGxlbik7CisgCisgICAgIHNpZyA9IEVDRFNBX2RvX3NpZ24oZGlnZXN0LCBkbGVuLCBrZXktPmVjZHNhKTsKKyAgICAgbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgICAgIGlmIChzaWcgPT0gTlVMTCkgeworICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfZWNkc2Ffc2lnbjogc2lnbiBmYWlsZWQiKTsKK0BAIC02NCw4ICs2OSwxNCBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgICAgIH0KKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiYik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorICAgICBpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzaWctPnIpID09IC0xIHx8CisgICAgICAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYmIsIHNpZy0+cykgPT0gLTEpIHsKKysjZWxzZQorKyAgICBEU0FfU0lHX2dldDAoc2lnLCAmciwgJnMpOworKyAgICBpZiAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCByKSA9PSAtMSB8fAorKyAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzKSA9PSAtMSkgeworKyNlbmRpZgorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJjb3VsZG4ndCBzZXJpYWxpemUgc2lnbmF0dXJlIik7CisgICAgICAgICBFQ0RTQV9TSUdfZnJlZShzaWcpOworICAgICAgICAgcmV0dXJuIC0xOworQEAgLTk0LDExICsxMDUsMTQgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgICAgIEVDRFNBX1NJRyAqc2lnOworICAgICBjb25zdCBFVlBfTUQgKmV2cF9tZCA9IGV2cF9mcm9tX2tleShrZXkpOworLSAgICBFVlBfTURfQ1RYIG1kOworKyAgICBFVlBfTURfQ1RYICptZDsKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdLCAqc2lnYmxvYjsKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBpbnQgcmxlbiwgcmV0OworICAgICBCdWZmZXIgYjsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlCSUdOVU0gKnIsICpzOworKyNlbmRpZgorIAorICAgICBpZiAoa2V5ID09IE5VTEwgfHwga2V5LT50eXBlICE9IEtFWV9FQ0RTQSB8fCBrZXktPmVjZHNhID09IE5VTEwpIHsKKyAgICAgICAgIHBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX2VjZHNhX3NpZ246IG5vIEVDRFNBIGtleSIpOworQEAgLTEyNyw4ICsxNDEsMTQgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9hcHBlbmQoJmIsIHNpZ2Jsb2IsIGxlbik7CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorICAgICBpZiAoKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnIpID09IC0xKSB8fAorICAgICAgICAgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBzaWctPnMpID09IC0xKSkKKysjZWxzZQorKyAgICBEU0FfU0lHX2dldDAoc2lnLCAmciwgJnMpOworKyAgICBpZiAoKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCByKSA9PSAtMSkgfHwKKysgICAgICAgIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwgcykgPT0gLTEpKQorKyNlbmRpZgorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZWNkc2FfdmVyaWZ5OiIKKyAgICAgICAgICAgICAicGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQgZmFpbGVkIik7CisgCitAQCAtMTM3LDE2ICsxNTcsMTggQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAgICAgcGFtc3NoYWdlbnRhdXRoX3hmcmVlKHNpZ2Jsb2IpOworIAorICAgICAvKiBzaGEyNTYgdGhlIGRhdGEgKi8KKy0gICAgRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworLSAgICBFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CistICAgIEVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworKyAgICBtZCA9IEVWUF9NRF9DVFhfY3JlYXRlKCk7CisrICAgIEVWUF9EaWdlc3RJbml0KG1kLCBldnBfbWQpOworKyAgICBFVlBfRGlnZXN0VXBkYXRlKG1kLCBkYXRhLCBkYXRhbGVuKTsKKysgICAgRVZQX0RpZ2VzdEZpbmFsKG1kLCBkaWdlc3QsICZkbGVuKTsKKyAKKyAgICAgcmV0ID0gRUNEU0FfZG9fdmVyaWZ5KGRpZ2VzdCwgZGxlbiwgc2lnLCBrZXktPmVjZHNhKTsKKyAgICAgbWVtc2V0KGRpZ2VzdCwgJ2QnLCBzaXplb2YoZGlnZXN0KSk7CisrICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZCk7CisgCisgICAgIEVDRFNBX1NJR19mcmVlKHNpZyk7CisgCisgICAgIHBhbXNzaGFnZW50YXV0aF92ZXJib3NlKCJzc2hfZWNkc2FfdmVyaWZ5OiBzaWduYXR1cmUgJXMiLAorICAgICAgICAgcmV0ID09IDEgPyAiY29ycmVjdCIgOiByZXQgPT0gMCA/ICJpbmNvcnJlY3QiIDogImVycm9yIik7CisgICAgIHJldHVybiByZXQ7CistfQorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisrfQorZGlmZiAtLWdpdCBhL3NzaC1yc2EuYyBiL3NzaC1yc2EuYworaW5kZXggZDA1ODQ0Yi4uOWQ3NGViNiAxMDA2NDQKKy0tLSBhL3NzaC1yc2EuYworKysrIGIvc3NoLXJzYS5jCitAQCAtNDAsNyArNDAsNyBAQCBzc2hfcnNhX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorICAgICBjb25zdCB1X2NoYXIgKmRhdGEsIHVfaW50IGRhdGFsZW4pCisgeworIAljb25zdCBFVlBfTUQgKmV2cF9tZDsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgKnNpZzsKKyAJdV9pbnQgc2xlbiwgZGxlbiwgbGVuOworIAlpbnQgb2ssIG5pZDsKK0BAIC01NSw2ICs1NSw3IEBAIHNzaF9yc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2Ffc2lnbjogRVZQX2dldF9kaWdlc3RieW5pZCAlZCBmYWlsZWQiLCBuaWQpOworIAkJcmV0dXJuIC0xOworIAl9CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKyAJRVZQX0RpZ2VzdEluaXQoJm1kLCBldnBfbWQpOworIAlFVlBfRGlnZXN0VXBkYXRlKCZtZCwgZGF0YSwgZGF0YWxlbik7CisgCUVWUF9EaWdlc3RGaW5hbCgmbWQsIGRpZ2VzdCwgJmRsZW4pOworQEAgLTY0LDYgKzY1LDcgQEAgc3NoX3JzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAKKyAJb2sgPSBSU0Ffc2lnbihuaWQsIGRpZ2VzdCwgZGxlbiwgc2lnLCAmbGVuLCBrZXktPnJzYSk7CisgCW1lbXNldChkaWdlc3QsICdkJywgc2l6ZW9mKGRpZ2VzdCkpOworKwlFVlBfTURfQ1RYX2Rlc3Ryb3kobWQpOworIAorIAlpZiAob2sgIT0gMSkgeworIAkJaW50IGVjb2RlID0gRVJSX2dldF9lcnJvcigpOworQEAgLTEwNyw3ICsxMDksNyBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyB7CisgCUJ1ZmZlciBiOworIAljb25zdCBFVlBfTUQgKmV2cF9tZDsKKy0JRVZQX01EX0NUWCBtZDsKKysJRVZQX01EX0NUWCAqbWQ7CisgCWNoYXIgKmt0eXBlOworIAl1X2NoYXIgZGlnZXN0W0VWUF9NQVhfTURfU0laRV0sICpzaWdibG9iOworIAl1X2ludCBsZW4sIGRsZW4sIG1vZGxlbjsKK0BAIC0xMTcsOSArMTE5LDE3IEBAIHNzaF9yc2FfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAkJcGFtc3NoYWdlbnRhdXRoX2xvZ2Vycm9yKCJzc2hfcnNhX3ZlcmlmeTogbm8gUlNBIGtleSIpOworIAkJcmV0dXJuIC0xOworIAl9CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorIAlpZiAoQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pIDwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSkgeworKyNlbHNlCisrCWlmIChCTl9udW1fYml0cyhSU0FfZ2V0MF9uKGtleS0+cnNhKSkgPCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKSB7CisrI2VuZGlmCisgCQlwYW1zc2hhZ2VudGF1dGhfbG9nZXJyb3IoInNzaF9yc2FfdmVyaWZ5OiBSU0EgbW9kdWx1cyB0b28gc21hbGw6ICVkIDwgbWluaW11bSAlZCBiaXRzIiwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisgCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKTsKKysjZWxzZQorKwkJICAgIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CisrI2VuZGlmCisgCQlyZXR1cm4gLTE7CisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiKTsKK0BAIC0xNjEsMTIgKzE3MSwxNCBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJCXBhbXNzaGFnZW50YXV0aF94ZnJlZShzaWdibG9iKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLQlFVlBfRGlnZXN0SW5pdCgmbWQsIGV2cF9tZCk7CistCUVWUF9EaWdlc3RVcGRhdGUoJm1kLCBkYXRhLCBkYXRhbGVuKTsKKy0JRVZQX0RpZ2VzdEZpbmFsKCZtZCwgZGlnZXN0LCAmZGxlbik7CisrCW1kID0gRVZQX01EX0NUWF9jcmVhdGUoKTsKKysJRVZQX0RpZ2VzdEluaXQobWQsIGV2cF9tZCk7CisrCUVWUF9EaWdlc3RVcGRhdGUobWQsIGRhdGEsIGRhdGFsZW4pOworKwlFVlBfRGlnZXN0RmluYWwobWQsIGRpZ2VzdCwgJmRsZW4pOworIAorIAlyZXQgPSBvcGVuc3NoX1JTQV92ZXJpZnkobmlkLCBkaWdlc3QsIGRsZW4sIHNpZ2Jsb2IsIGxlbiwga2V5LT5yc2EpOworIAltZW1zZXQoZGlnZXN0LCAnZCcsIHNpemVvZihkaWdlc3QpKTsKKysJRVZQX01EX0NUWF9kZXN0cm95KG1kKTsKKyAJbWVtc2V0KHNpZ2Jsb2IsICdzJywgbGVuKTsKKyAJcGFtc3NoYWdlbnRhdXRoX3hmcmVlKHNpZ2Jsb2IpOworIAlwYW1zc2hhZ2VudGF1dGhfdmVyYm9zZSgic3NoX3JzYV92ZXJpZnk6IHNpZ25hdHVyZSAlc2NvcnJlY3QiLCAocmV0PT0wKSA/ICJpbiIgOiAiIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAyLUNoZWNrLWFnYWluc3QtdGhlLWNvcnJlY3QtT1BFTlNTTF9WRVJTSU9OX05VTUJFUi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoLzAwMDItQ2hlY2stYWdhaW5zdC10aGUtY29ycmVjdC1PUEVOU1NMX1ZFUlNJT05fTlVNQkVSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwM2I0M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aC8wMDAyLUNoZWNrLWFnYWluc3QtdGhlLWNvcnJlY3QtT1BFTlNTTF9WRVJTSU9OX05VTUJFUi5wYXRjaApAQCAtMCwwICsxLDM2NSBAQAorRnJvbSBiMmVlMjk4MDlhNTRlMTY1NjczMjNkOGZiYWMyZDY1MmVlNThjNjkyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBGZWIgMjAxOSAyMjo0NToxOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBDaGVjayBhZ2FpbnN0IHRoZSBjb3JyZWN0IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIKKworRnJvbTogR3VpZG8gRmFsc2kgPG1hZEBtYWRwaWxvdC5uZXQ+CitodHRwczovL3NvdXJjZXMuZGViaWFuLm9yZy9zcmMvcGFtLXNzaC1hZ2VudC1hdXRoLzAuMTAuMy0zL2RlYmlhbi9wYXRjaGVzL29wZW5zc2wtMS4xLjEtMi5wYXRjaC8KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgYXV0aGZkLmMgICAgfCAxMiArKysrKystLS0tLS0KKyBidWZibi5jICAgICB8ICAyICstCisga2V5LmMgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyBzc2gtZHNzLmMgICB8IDEwICsrKysrLS0tLS0KKyBzc2gtZWNkc2EuYyB8ICA4ICsrKystLS0tCisgc3NoLXJzYS5jICAgfCAgNCArKy0tCisgNiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dGhmZC5jIGIvYXV0aGZkLmMKK2luZGV4IGY5MTUxNGQuLjRjNmNlYzggMTAwNjQ0CistLS0gYS9hdXRoZmQuYworKysrIGIvYXV0aGZkLmMKK0BAIC0zNjcsNyArMzY3LDcgQEAgc3NoX2dldF9uZXh0X2lkZW50aXR5KEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwgY2hhciAqKmNvbW1lbnQsIGludCB2ZXJzaW8KKyAJY2FzZSAxOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoS0VZX1JTQTEpOworIAkJYml0cyA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2ludCgmYXV0aC0+aWRlbnRpdGllcyk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bSgmYXV0aC0+aWRlbnRpdGllcywga2V5LT5yc2EtPmUpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtKCZhdXRoLT5pZGVudGl0aWVzLCBrZXktPnJzYS0+bik7CisgCQkqY29tbWVudCA9IHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X3N0cmluZygmYXV0aC0+aWRlbnRpdGllcywgTlVMTCk7CitAQCAtNDI3LDcgKzQyNyw3IEBAIHNzaF9kZWNyeXB0X2NoYWxsZW5nZShBdXRoZW50aWNhdGlvbkNvbm5lY3Rpb24gKmF1dGgsCisgCX0KKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZidWZmZXIpOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9jaGFyKCZidWZmZXIsIFNTSF9BR0VOVENfUlNBX0NIQUxMRU5HRSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfaW50KCZidWZmZXIsIEJOX251bV9iaXRzKGtleS0+cnNhLT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+ZSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmYnVmZmVyLCBrZXktPnJzYS0+bik7CitAQCAtNTEyLDcgKzUxMiw3IEBAIHNzaF9hZ2VudF9zaWduKEF1dGhlbnRpY2F0aW9uQ29ubmVjdGlvbiAqYXV0aCwKKyBzdGF0aWMgdm9pZAorIHNzaF9lbmNvZGVfaWRlbnRpdHlfcnNhMShCdWZmZXIgKmIsIFJTQSAqa2V5LCBjb25zdCBjaGFyICpjb21tZW50KQorIHsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoYiwgQk5fbnVtX2JpdHMoa2V5LT5uKSk7CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bShiLCBrZXktPm4pOworIAlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oYiwga2V5LT5lKTsKK0BAIC01NDAsNyArNTQwLDcgQEAgc3NoX2VuY29kZV9pZGVudGl0eV9zc2gyKEJ1ZmZlciAqYiwgS2V5ICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2NzdHJpbmcoYiwga2V5X3NzaF9uYW1lKGtleSkpOworIAlzd2l0Y2ggKGtleS0+dHlwZSkgeworIAljYXNlIEtFWV9SU0E6CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5yc2EtPm4pOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+cnNhLT5kKTsKK0BAIC01NTcsNyArNTU3LDcgQEAgc3NoX2VuY29kZV9pZGVudGl0eV9zc2gyKEJ1ZmZlciAqYiwgS2V5ICprZXksIGNvbnN0IGNoYXIgKmNvbW1lbnQpCisgI2VuZGlmCisgCQlicmVhazsKKyAJY2FzZSBLRVlfRFNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yKGIsIGtleS0+ZHNhLT5wKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bTIoYiwga2V5LT5kc2EtPnEpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMihiLCBrZXktPmRzYS0+Zyk7CitAQCAtNjQ5LDcgKzY0OSw3IEBAIHNzaF9yZW1vdmVfaWRlbnRpdHkoQXV0aGVudGljYXRpb25Db25uZWN0aW9uICphdXRoLCBLZXkgKmtleSkKKyAKKyAJaWYgKGtleS0+dHlwZSA9PSBLRVlfUlNBMSkgeworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY2hhcigmbXNnLCBTU0hfQUdFTlRDX1JFTU9WRV9SU0FfSURFTlRJVFkpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9pbnQoJm1zZywgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pKTsKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2JpZ251bSgmbXNnLCBrZXktPnJzYS0+ZSk7CisgCQlwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0oJm1zZywga2V5LT5yc2EtPm4pOworZGlmZiAtLWdpdCBhL2J1ZmJuLmMgYi9idWZibi5jCitpbmRleCA0ZWNlZGMxLi5iNDc1NGNjIDEwMDY0NAorLS0tIGEvYnVmYm4uYworKysrIGIvYnVmYm4uYworQEAgLTE1MSw3ICsxNTEsNyBAQCBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX3B1dF9iaWdudW0yX3JldChCdWZmZXIgKmJ1ZmZlciwgY29uc3QgQklHTlVNICp2YWx1ZSkKKyAJCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfcHV0X2ludChidWZmZXIsIDApOworIAkJcmV0dXJuIDA7CisgCX0KKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlpZiAodmFsdWUtPm5lZykgeworICNlbHNlCisgCWlmIChCTl9pc19uZWdhdGl2ZSh2YWx1ZSkpIHsKK2RpZmYgLS1naXQgYS9rZXkuYyBiL2tleS5jCitpbmRleCBhZWRiYmI1Li5kY2M1ZmM4IDEwMDY0NAorLS0tIGEva2V5LmMKKysrKyBiL2tleS5jCitAQCAtNzcsNyArNzcsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyhpbnQgdHlwZSkKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChyc2EgPSBSU0FfbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBSU0FfbmV3IGZhaWxlZCIpOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKHJzYS0+biA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ldzogQk5fbmV3IGZhaWxlZCIpOworIAkJaWYgKChyc2EtPmUgPSBCTl9uZXcoKSkgPT0gTlVMTCkKK0BAIC05MSw3ICs5MSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfbmV3KGludCB0eXBlKQorIAljYXNlIEtFWV9EU0E6CisgCQlpZiAoKGRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9uZXc6IERTQV9uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoZHNhLT5wID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3OiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGRzYS0+cSA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTEzMCw3ICsxMzAsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKyAJY2FzZSBLRVlfUlNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoKGstPnJzYS0+ZCA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X25ld19wcml2YXRlOiBCTl9uZXcgZmFpbGVkIik7CisgCQlpZiAoKGstPnJzYS0+aXFtcCA9IEJOX25ldygpKSA9PSBOVUxMKQorQEAgLTE1Myw3ICsxNTMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorICNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0RTQToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChrLT5kc2EtPnByaXZfa2V5ID0gQk5fbmV3KCkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEJOX25ldyBmYWlsZWQiKTsKKyAjZWxzZQorQEAgLTE2Miw3ICsxNjIsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X25ld19wcml2YXRlKGludCB0eXBlKQorICNlbmRpZgorIAkJYnJlYWs7CisgCWNhc2UgS0VZX0VDRFNBOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoRUNfS0VZX3NldF9wcml2YXRlX2tleShrLT5lY2RzYSwgQk5fbmV3KCkpICE9IDEpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfbmV3X3ByaXZhdGU6IEVDX0tFWV9zZXRfcHJpdmF0ZV9rZXkgZmFpbGVkIik7CisgI2Vsc2UKK0BAIC0yMjQsNyArMjI0LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9lcXVhbChjb25zdCBLZXkgKmEsIGNvbnN0IEtleSAqYikKKyAJY2FzZSBLRVlfUlNBMToKKyAJY2FzZSBLRVlfUlNBOgorIAkJcmV0dXJuIGEtPnJzYSAhPSBOVUxMICYmIGItPnJzYSAhPSBOVUxMICYmCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5lLCBiLT5yc2EtPmUpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+cnNhLT5uLCBiLT5yc2EtPm4pID09IDA7CisgI2Vsc2UKK0BAIC0yMzMsNyArMjMzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9lcXVhbChjb25zdCBLZXkgKmEsIGNvbnN0IEtleSAqYikKKyAjZW5kaWYKKyAJY2FzZSBLRVlfRFNBOgorIAkJcmV0dXJuIGEtPmRzYSAhPSBOVUxMICYmIGItPmRzYSAhPSBOVUxMICYmCistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5wLCBiLT5kc2EtPnApID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5xLCBiLT5kc2EtPnEpID09IDAgJiYKKyAJCSAgICBCTl9jbXAoYS0+ZHNhLT5nLCBiLT5kc2EtPmcpID09IDAgJiYKK0BAIC0yOTMsNyArMjkzLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9maW5nZXJwcmludF9yYXcoY29uc3QgS2V5ICprLCBlbnVtIGZwX3R5cGUgZGdzdF90eXBlLAorIAl9CisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9SU0ExOgorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlubGVuID0gQk5fbnVtX2J5dGVzKGstPnJzYS0+bik7CisgCQllbGVuID0gQk5fbnVtX2J5dGVzKGstPnJzYS0+ZSk7CisgCQlsZW4gPSBubGVuICsgZWxlbjsKK0BAIC01MTAsNyArNTEwLDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9yZWFkKEtleSAqcmV0LCBjaGFyICoqY3BwKQorIAkJCXJldHVybiAtMTsKKyAJCSpjcHAgPSBjcDsKKyAJCS8qIEdldCBwdWJsaWMgZXhwb25lbnQsIHB1YmxpYyBtb2R1bHVzLiAqLworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQlpZiAoIXJlYWRfYmlnbnVtKGNwcCwgcmV0LT5yc2EtPmUpKQorIAkJCXJldHVybiAtMTsKKyAJCWlmICghcmVhZF9iaWdudW0oY3BwLCByZXQtPnJzYS0+bikpCitAQCAtNjQzLDcgKzY0Myw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfd3JpdGUoY29uc3QgS2V5ICprZXksIEZJTEUgKmYpCisgCisgCWlmIChrZXktPnR5cGUgPT0gS0VZX1JTQTEgJiYga2V5LT5yc2EgIT0gTlVMTCkgeworIAkJLyogc2l6ZSBvZiBtb2R1bHVzICduJyAqLworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQliaXRzID0gQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pOworIAkJZnByaW50ZihmLCAiJXUiLCBiaXRzKTsKKyAJCWlmICh3cml0ZV9iaWdudW0oZiwga2V5LT5yc2EtPmUpICYmCitAQCAtNzQyLDcgKzc0Miw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfc2l6ZShjb25zdCBLZXkgKmspCisgeworIAlzd2l0Y2ggKGstPnR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBMToKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAljYXNlIEtFWV9SU0E6CisgCQlyZXR1cm4gQk5fbnVtX2JpdHMoay0+cnNhLT5uKTsKKyAJY2FzZSBLRVlfRFNBOgorQEAgLTg0Myw3ICs4NDMsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2Zyb21fcHJpdmF0ZShjb25zdCBLZXkgKmspCisgCXN3aXRjaCAoay0+dHlwZSkgeworIAljYXNlIEtFWV9EU0E6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoQk5fY29weShuLT5kc2EtPnAsIGstPmRzYS0+cCkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPnEsIGstPmRzYS0+cSkgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5kc2EtPmcsIGstPmRzYS0+ZykgPT0gTlVMTCkgfHwKK0BAIC04NTksNyArODU5LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX3ByaXZhdGUoY29uc3QgS2V5ICprKQorIAljYXNlIEtFWV9SU0E6CisgCWNhc2UgS0VZX1JTQTE6CisgCQluID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcoay0+dHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgoQk5fY29weShuLT5yc2EtPm4sIGstPnJzYS0+bikgPT0gTlVMTCkgfHwKKyAJCSAgICAoQk5fY29weShuLT5yc2EtPmUsIGstPnJzYS0+ZSkgPT0gTlVMTCkpCisgI2Vsc2UKK0BAIC05NjcsNyArOTY3LDcgQEAgcGFtc3NoYWdlbnRhdXRoX2tleV9mcm9tX2Jsb2IoY29uc3QgdV9jaGFyICpibG9iLCB1X2ludCBibGVuKQorIAlzd2l0Y2ggKHR5cGUpIHsKKyAJY2FzZSBLRVlfUlNBOgorIAkJa2V5ID0gcGFtc3NoYWdlbnRhdXRoX2tleV9uZXcodHlwZSk7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmIChwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5yc2EtPmUpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+cnNhLT5uKSA9PSAtMSkgeworICNlbHNlCitAQCAtOTg1LDcgKzk4NSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZnJvbV9ibG9iKGNvbnN0IHVfY2hhciAqYmxvYiwgdV9pbnQgYmxlbikKKyAJCWJyZWFrOworIAljYXNlIEtFWV9EU0E6CisgCQlrZXkgPSBwYW1zc2hhZ2VudGF1dGhfa2V5X25ldyh0eXBlKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiLCBrZXktPmRzYS0+cCkgPT0gLTEgfHwKKyAJCSAgICBwYW1zc2hhZ2VudGF1dGhfYnVmZmVyX2dldF9iaWdudW0yX3JldCgmYiwga2V5LT5kc2EtPnEpID09IC0xIHx8CisgCQkgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIGtleS0+ZHNhLT5nKSA9PSAtMSB8fAorQEAgLTExMTMsNyArMTExMyw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfdG9fYmxvYihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqYmxvYnAsIHVfaW50ICpsZW5wKQorIAl9CisgCXBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgCXN3aXRjaCAoa2V5LT50eXBlKSB7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJY2FzZSBLRVlfRFNBOgorIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfY3N0cmluZygmYiwga2V5X3NzaF9uYW1lKGtleSkpOworIAkJcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9wdXRfYmlnbnVtMigmYiwga2V5LT5kc2EtPnApOworQEAgLTEyNTEsNyArMTI1MSw3IEBAIHBhbXNzaGFnZW50YXV0aF9rZXlfZGVtb3RlKGNvbnN0IEtleSAqaykKKyAJY2FzZSBLRVlfUlNBOgorIAkJaWYgKChway0+cnNhID0gUlNBX25ldygpKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogUlNBX25ldyBmYWlsZWQiKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAkJaWYgKChway0+cnNhLT5lID0gQk5fZHVwKGstPnJzYS0+ZSkpID09IE5VTEwpCisgCQkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJrZXlfZGVtb3RlOiBCTl9kdXAgZmFpbGVkIik7CisgCQlpZiAoKHBrLT5yc2EtPm4gPSBCTl9kdXAoay0+cnNhLT5uKSkgPT0gTlVMTCkKK0BAIC0xMjY0LDcgKzEyNjQsNyBAQCBwYW1zc2hhZ2VudGF1dGhfa2V5X2RlbW90ZShjb25zdCBLZXkgKmspCisgCWNhc2UgS0VZX0RTQToKKyAJCWlmICgocGstPmRzYSA9IERTQV9uZXcoKSkgPT0gTlVMTCkKKyAJCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoImtleV9kZW1vdGU6IERTQV9uZXcgZmFpbGVkIik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJCWlmICgocGstPmRzYS0+cCA9IEJOX2R1cChrLT5kc2EtPnApKSA9PSBOVUxMKQorIAkJCXBhbXNzaGFnZW50YXV0aF9mYXRhbCgia2V5X2RlbW90ZTogQk5fZHVwIGZhaWxlZCIpOworIAkJaWYgKChway0+ZHNhLT5xID0gQk5fZHVwKGstPmRzYS0+cSkpID09IE5VTEwpCitkaWZmIC0tZ2l0IGEvc3NoLWRzcy5jIGIvc3NoLWRzcy5jCitpbmRleCAxMDUxYWUyLi45Yjk2Mjc0IDEwMDY0NAorLS0tIGEvc3NoLWRzcy5jCisrKysgYi9zc2gtZHNzLmMKK0BAIC01Miw3ICs1Miw3IEBAIHNzaF9kc3Nfc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgCXVfY2hhciBkaWdlc3RbRVZQX01BWF9NRF9TSVpFXSwgc2lnYmxvYltTSUdCTE9CX0xFTl07CisgCXVfaW50IHJsZW4sIHNsZW4sIGxlbiwgZGxlbjsKKyAJQnVmZmVyIGI7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDA1TAorIAljb25zdCBCSUdOVU0gKnIsICpzOworICNlbmRpZgorIAorQEAgLTc0LDcgKzc0LDcgQEAgc3NoX2Rzc19zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAJCXJldHVybiAtMTsKKyAJfQorIAorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCXJsZW4gPSBCTl9udW1fYnl0ZXMoc2lnLT5yKTsKKyAJc2xlbiA9IEJOX251bV9ieXRlcyhzaWctPnMpOworICNlbHNlCitAQCAtODgsNyArODgsNyBAQCBzc2hfZHNzX3NpZ24oY29uc3QgS2V5ICprZXksIHVfY2hhciAqKnNpZ3AsIHVfaW50ICpsZW5wLAorIAkJcmV0dXJuIC0xOworIAl9CisgCW1lbXNldChzaWdibG9iLCAwLCBTSUdCTE9CX0xFTik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAJQk5fYm4yYmluKHNpZy0+ciwgc2lnYmxvYisgU0lHQkxPQl9MRU4gLSBJTlRCTE9CX0xFTiAtIHJsZW4pOworIAlCTl9ibjJiaW4oc2lnLT5zLCBzaWdibG9iKyBTSUdCTE9CX0xFTiAtIHNsZW4pOworICNlbHNlCitAQCAtMTMxLDcgKzEzMSw3IEBAIHNzaF9kc3NfdmVyaWZ5KGNvbnN0IEtleSAqa2V5LCBjb25zdCB1X2NoYXIgKnNpZ25hdHVyZSwgdV9pbnQgc2lnbmF0dXJlbGVuLAorIAl1X2ludCBsZW4sIGRsZW47CisgCWludCBybGVuLCByZXQ7CisgCUJ1ZmZlciBiOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwNUwKKyAJQklHTlVNICpyLCAqczsKKyAjZW5kaWYKKyAKK0BAIC0xNzYsNyArMTc2LDcgQEAgc3NoX2Rzc192ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCS8qIHBhcnNlIHNpZ25hdHVyZSAqLworIAlpZiAoKHNpZyA9IERTQV9TSUdfbmV3KCkpID09IE5VTEwpCisgCQlwYW1zc2hhZ2VudGF1dGhfZmF0YWwoInNzaF9kc3NfdmVyaWZ5OiBEU0FfU0lHX25ldyBmYWlsZWQiKTsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBMCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAorIAlpZiAoKHNpZy0+ciA9IEJOX25ldygpKSA9PSBOVUxMKQorIAkJcGFtc3NoYWdlbnRhdXRoX2ZhdGFsKCJzc2hfZHNzX3ZlcmlmeTogQk5fbmV3IGZhaWxlZCIpOworIAlpZiAoKHNpZy0+cyA9IEJOX25ldygpKSA9PSBOVUxMKQorZGlmZiAtLWdpdCBhL3NzaC1lY2RzYS5jIGIvc3NoLWVjZHNhLmMKK2luZGV4IGMyMTM5NTkuLjViMTNiMzAgMTAwNjQ0CistLS0gYS9zc2gtZWNkc2EuYworKysrIGIvc3NoLWVjZHNhLmMKK0BAIC00NSw3ICs0NSw3IEBAIHNzaF9lY2RzYV9zaWduKGNvbnN0IEtleSAqa2V5LCB1X2NoYXIgKipzaWdwLCB1X2ludCAqbGVucCwKKyAgICAgdV9jaGFyIGRpZ2VzdFtFVlBfTUFYX01EX1NJWkVdOworICAgICB1X2ludCBsZW4sIGRsZW47CisgICAgIEJ1ZmZlciBiLCBiYjsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDVMCisgCUJJR05VTSAqciwgKnM7CisgI2VuZGlmCisgCitAQCAtNjksNyArNjksNyBAQCBzc2hfZWNkc2Ffc2lnbihjb25zdCBLZXkgKmtleSwgdV9jaGFyICoqc2lncCwgdV9pbnQgKmxlbnAsCisgICAgIH0KKyAKKyAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9pbml0KCZiYik7CistI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKKyAgICAgaWYgKHBhbXNzaGFnZW50YXV0aF9idWZmZXJfZ2V0X2JpZ251bTJfcmV0KCZiYiwgc2lnLT5yKSA9PSAtMSB8fAorICAgICAgICAgcGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmJiLCBzaWctPnMpID09IC0xKSB7CisgI2Vsc2UKK0BAIC0xMTAsNyArMTEwLDcgQEAgc3NoX2VjZHNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAgICAgdV9pbnQgbGVuLCBkbGVuOworICAgICBpbnQgcmxlbiwgcmV0OworICAgICBCdWZmZXIgYjsKKy0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDVMCisgCUJJR05VTSAqciwgKnM7CisgI2VuZGlmCisgCitAQCAtMTQxLDcgKzE0MSw3IEBAIHNzaF9lY2RzYV92ZXJpZnkoY29uc3QgS2V5ICprZXksIGNvbnN0IHVfY2hhciAqc2lnbmF0dXJlLCB1X2ludCBzaWduYXR1cmVsZW4sCisgCisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfaW5pdCgmYik7CisgICAgIHBhbXNzaGFnZW50YXV0aF9idWZmZXJfYXBwZW5kKCZiLCBzaWdibG9iLCBsZW4pOworLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgICAgIGlmICgocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIHNpZy0+cikgPT0gLTEpIHx8CisgICAgICAgICAocGFtc3NoYWdlbnRhdXRoX2J1ZmZlcl9nZXRfYmlnbnVtMl9yZXQoJmIsIHNpZy0+cykgPT0gLTEpKQorICNlbHNlCitkaWZmIC0tZ2l0IGEvc3NoLXJzYS5jIGIvc3NoLXJzYS5jCitpbmRleCA5ZDc0ZWI2Li4zNWYyZTM2IDEwMDY0NAorLS0tIGEvc3NoLXJzYS5jCisrKysgYi9zc2gtcnNhLmMKK0BAIC0xMTksMTMgKzExOSwxMyBAQCBzc2hfcnNhX3ZlcmlmeShjb25zdCBLZXkgKmtleSwgY29uc3QgdV9jaGFyICpzaWduYXR1cmUsIHVfaW50IHNpZ25hdHVyZWxlbiwKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX3JzYV92ZXJpZnk6IG5vIFJTQSBrZXkiKTsKKyAJCXJldHVybiAtMTsKKyAJfQorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCWlmIChCTl9udW1fYml0cyhrZXktPnJzYS0+bikgPCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKSB7CisgI2Vsc2UKKyAJaWYgKEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSA8IFNTSF9SU0FfTUlOSU1VTV9NT0RVTFVTX1NJWkUpIHsKKyAjZW5kaWYKKyAJCXBhbXNzaGFnZW50YXV0aF9sb2dlcnJvcigic3NoX3JzYV92ZXJpZnk6IFJTQSBtb2R1bHVzIHRvbyBzbWFsbDogJWQgPCBtaW5pbXVtICVkIGJpdHMiLAorLSNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMEwKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCisgCQkgICAgQk5fbnVtX2JpdHMoa2V5LT5yc2EtPm4pLCBTU0hfUlNBX01JTklNVU1fTU9EVUxVU19TSVpFKTsKKyAjZWxzZQorIAkJICAgIEJOX251bV9iaXRzKFJTQV9nZXQwX24oa2V5LT5yc2EpKSwgU1NIX1JTQV9NSU5JTVVNX01PRFVMVVNfU0laRSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aF8wLjEwLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL3BhbS1zc2gtYWdlbnQtYXV0aF8wLjEwLjMuYmIKaW5kZXggMmE0NjFmYy4uYWM3ZmE0YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9wYW0tc3NoLWFnZW50LWF1dGhfMC4xMC4zLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wYW0vcGFtLXNzaC1hZ2VudC1hdXRoXzAuMTAuMy5iYgpAQCAtNywxMSArNywxNCBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vT1BFTlNTSF9MSUNFTlNFO21kNT03YWUwOTIxODE3M2JlMTY0M2M5OThhNGI3MTAyN2Y5YiBcCiAiCiAKLVNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wYW1zc2hhZ2VudGF1dGgvZmlsZXMvcGFtX3NzaF9hZ2VudF9hdXRoL3Yke1BWfS9wYW1fc3NoX2FnZW50X2F1dGgtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wYW1zc2hhZ2VudGF1dGgvZmlsZXMvcGFtX3NzaF9hZ2VudF9hdXRoL3Yke1BWfS9wYW1fc3NoX2FnZW50X2F1dGgtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkYXB0LXRvLU9wZW5TU0wtMS4xLjEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1DaGVjay1hZ2FpbnN0LXRoZS1jb3JyZWN0LU9QRU5TU0xfVkVSU0lPTl9OVU1CRVIucGF0Y2ggXAorICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiOGRiZTkwYWIzNjI1ZTU0NTAzNjMzM2U2ZjUxY2NmMWQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M1M2QzNThkNmVhZWQxYjIxMTIzOWRmMDE3YzI3YzZmOTk3MDk5NWQxNDEwMmFlNjdiYWUxNmQ0ZjQ3YTc2MyIKIAotREVQRU5EUyArPSAibGlicGFtIG9wZW5zc2wxMCIKK0RFUEVORFMgKz0gImxpYnBhbSBvcGVuc3NsIgogCiBpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBhbSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0LWdyb3VwLXJ1bGUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKaW5kZXggNDBlNDAwNS4uMDZhYjEwNiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXQtZ3JvdXAtcnVsZS5pbmMKQEAgLTEsNiArMSw5IEBACiAjIHBvbGtpdCBtdXN0IHByZXBhcmUgcG9sa2l0ZCBncm91cAogREVQRU5EUyArPSAicG9sa2l0IgogCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBvbGtpdCIKKwogaW5oZXJpdCB1c2VyYWRkCiAKIGRvX2luc3RhbGxfcHJlcGVuZCgpIHsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L0NWRS0yMDE5LTYxMzMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcG9sa2l0L3BvbGtpdC9DVkUtMjAxOS02MTMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmQyMGRjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0L0NWRS0yMDE5LTYxMzMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTAgKzAsMCBAQAotRnJvbSA2Y2M2YWFmZWUxMzViYTQ0ZWE3NDgyNTBkN2QyOWI1NjJjYTE5MGUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVyc0B2ZXJidW0ub3JnPgotRGF0ZTogRnJpLCA0IEphbiAyMDE5IDE0OjI0OjQ4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJhY2tlbmQ6IENvbXBhcmUgUG9sa2l0VW5peFByb2Nlc3MgdWlkcyBmb3IgdGVtcG9yYXJ5Ci0gYXV0aG9yaXphdGlvbnMKLQotSXQgdHVybnMgb3V0IHRoYXQgdGhlIGNvbWJpbmF0aW9uIG9mIGAocGlkLCBzdGFydCB0aW1lKWAgaXMgbm90Ci1lbm91Z2ggdG8gYmUgdW5pcXVlLiAgRm9yIHRlbXBvcmFyeSBhdXRob3JpemF0aW9ucywgd2UgY2FuIGF2b2lkCi1zZXBhcmF0ZSB1c2VycyByYWNpbmcgb24gcGlkIHJldXNlIGJ5IHNpbXBseSBjb21wYXJpbmcgdGhlIHVpZC4KLQotaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Byb2plY3QtemVyby9pc3N1ZXMvZGV0YWlsP2lkPTE2OTIKLQotQW5kIHRoZSBhYm92ZSBvcmlnaW5hbCBlbWFpbCByZXBvcnQgaXMgaW5jbHVkZWQgaW4gZnVsbCBpbiBhIG5ldyBjb21tZW50LgotCi1SZXBvcnRlZC1ieTogSmFubiBIb3JuIDxqYW5uaEBnb29nbGUuY29tPgotCi1DbG9zZXM6IGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0L2lzc3Vlcy83NQotCi1DVkU6IENWRS0yMDE5LTYxMzMKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0LmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKwotIHNyYy9wb2xraXQvcG9sa2l0dW5peHByb2Nlc3MuYyAgICAgICAgICAgICAgICB8IDcxICsrKysrKysrKysrKysrKysrKy0KLSAuLi4vcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMgICAgICAgfCAzOSArKysrKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wb2xraXQvcG9sa2l0c3ViamVjdC5jIGIvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMKLWluZGV4IGQ0YzExODIuLmNjYWJkMGEgMTAwNjQ0Ci0tLS0gYS9zcmMvcG9sa2l0L3BvbGtpdHN1YmplY3QuYwotKysrIGIvc3JjL3BvbGtpdC9wb2xraXRzdWJqZWN0LmMKLUBAIC05OSw2ICs5OSw4IEBAIHBvbGtpdF9zdWJqZWN0X2hhc2ggKFBvbGtpdFN1YmplY3QgKnN1YmplY3QpCi0gICogQGI6IEEgI1BvbGtpdFN1YmplY3QuCi0gICoKLSAgKiBDaGVja3MgaWYgQGEgYW5kIEBiIGFyZSBlcXVhbCwgaWUuIHJlcHJlc2VudCB0aGUgc2FtZSBzdWJqZWN0LgotKyAqIEhvd2V2ZXIsIGF2b2lkIGNhbGxpbmcgcG9sa2l0X3N1YmplY3RfZXF1YWwoKSB0byBjb21wYXJlIHR3byBwcm9jZXNzZXM7Ci0rICogZm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRoZSBgUG9sa2l0VW5peFByb2Nlc3NgIGRvY3VtZW50YXRpb24uCi0gICoKLSAgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGluIGUuZy4gZ19oYXNoX3RhYmxlX25ldygpLgotICAqCi1kaWZmIC0tZ2l0IGEvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jIGIvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jCi1pbmRleCBiMDJiMjU4Li43OGQ3MjUxIDEwMDY0NAotLS0tIGEvc3JjL3BvbGtpdC9wb2xraXR1bml4cHJvY2Vzcy5jCi0rKysgYi9zcmMvcG9sa2l0L3BvbGtpdHVuaXhwcm9jZXNzLmMKLUBAIC01MSw3ICs1MSwxMCBAQAotICAqIEB0aXRsZTogUG9sa2l0VW5peFByb2Nlc3MKLSAgKiBAc2hvcnRfZGVzY3JpcHRpb246IFVuaXggcHJvY2Vzc3MKLSAgKgotLSAqIEFuIG9iamVjdCBmb3IgcmVwcmVzZW50aW5nIGEgVU5JWCBwcm9jZXNzLgotKyAqIEFuIG9iamVjdCBmb3IgcmVwcmVzZW50aW5nIGEgVU5JWCBwcm9jZXNzLiAgTk9URTogVGhpcyBvYmplY3QgYXMKLSsgKiBkZXNpZ25lZCBpcyBub3cga25vd24gYnJva2VuOyBhIG1lY2hhbmlzbSB0byBleHBsb2l0IGEgZGVsYXkgaW4KLSsgKiBzdGFydCB0aW1lIGluIHRoZSBMaW51eCBrZXJuZWwgd2FzIGlkZW50aWZpZWQuICBBdm9pZAotKyAqIGNhbGxpbmcgcG9sa2l0X3N1YmplY3RfZXF1YWwoKSB0byBjb21wYXJlIHR3byBwcm9jZXNzZXMuCi0gICoKLSAgKiBUbyB1bmlxdWVseSBpZGVudGlmeSBwcm9jZXNzZXMsIGJvdGggdGhlIHByb2Nlc3MgaWQgYW5kIHRoZSBzdGFydAotICAqIHRpbWUgb2YgdGhlIHByb2Nlc3MgKGEgbW9ub3RvbmljIGluY3JlYXNpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZQotQEAgLTY2LDYgKzY5LDcyIEBACi0gICogcG9sa2l0X3VuaXhfcHJvY2Vzc19uZXdfZm9yX293bmVyKCkgd2l0aCB0cnVzdGVkIGRhdGEuCi0gICovCi0gCi0rLyogU2VlIGh0dHBzOi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9wb2xraXQvcG9sa2l0L2lzc3Vlcy83NQotKwotKyAgQnV0IHF1b3RpbmcgdGhlIG9yaWdpbmFsIGVtYWlsIGluIGZ1bGwgaGVyZSB0byBlbnN1cmUgaXQncyBwcmVzZXJ2ZWQ6Ci0rCi0rICBGcm9tOiBKYW5uIEhvcm4gPGphbm5oQGdvb2dsZS5jb20+Ci0rICBTdWJqZWN0OiBbU0VDVVJJVFldIHBvbGtpdDogdGVtcG9yYXJ5IGF1dGggaGlqYWNraW5nIHZpYSBQSUQgcmV1c2UgYW5kIG5vbi1hdG9taWMgZm9yawotKyAgRGF0ZTogV2VkbmVzZGF5LCBPY3RvYmVyIDEwLCAyMDE4IDU6MzQgUE0KLSsKLStXaGVuIGEgKG5vbi1yb290KSB1c2VyIGF0dGVtcHRzIHRvIGUuZy4gY29udHJvbCBzeXN0ZW1kIHVuaXRzIGluIHRoZSBzeXN0ZW0KLStpbnN0YW5jZSBmcm9tIGFuIGFjdGl2ZSBzZXNzaW9uIG92ZXIgREJ1cywgdGhlIGFjY2VzcyBpcyBnYXRlZCBieSBhIHBvbGtpdAotK3BvbGljeSB0aGF0IHJlcXVpcmVzICJhdXRoX2FkbWluX2tlZXAiIGF1dGguIFRoaXMgcmVzdWx0cyBpbiBhbiBhdXRoIHByb21wdAotK2JlaW5nIHNob3duIHRvIHRoZSB1c2VyLCBhc2tpbmcgdGhlIHVzZXIgdG8gY29uZmlybSB0aGUgYWN0aW9uIGJ5IGVudGVyaW5nIHRoZQotK3Bhc3N3b3JkIG9mIGFuIGFkbWluaXN0cmF0b3IgYWNjb3VudC4KLSsKLStBZnRlciB0aGUgYWN0aW9uIGhhcyBiZWVuIGNvbmZpcm1lZCwgdGhlIGF1dGggZGVjaXNpb24gZm9yICJhdXRoX2FkbWluX2tlZXAiIGlzCi0rY2FjaGVkIGZvciB1cCB0byBmaXZlIG1pbnV0ZXMuIFN1YmplY3QgdG8gc29tZSByZXN0cmljdGlvbnMsIHNpbWlsYXIgYWN0aW9ucyBjYW4KLSt0aGVuIGJlIHBlcmZvcm1lZCBpbiB0aGlzIHRpbWVzcGFuIHdpdGhvdXQgcmVxdWlyaW5nIHJlLWF1dGg6Ci0rCi0rIC0gVGhlIFBJRCBvZiB0aGUgREJ1cyBjbGllbnQgcmVxdWVzdGluZyB0aGUgbmV3IGFjdGlvbiBtdXN0IG1hdGNoIHRoZSBQSUQgb2YKLSsgICB0aGUgREJ1cyBjbGllbnQgcmVxdWVzdGluZyB0aGUgb2xkIGFjdGlvbiAoYmFzZWQgb24gU09fUEVFUkNSRUQgaW5mb3JtYXRpb24KLSsgICBmb3J3YXJkZWQgYnkgdGhlIERCdXMgZGFlbW9uKS4KLSsgLSBUaGUgInN0YXJ0IHRpbWUiIG9mIHRoZSBjbGllbnQncyBQSUQgKGFzIHNlZW4gaW4gL3Byb2MvJHBpZC9zdGF0LCBmaWVsZCAyMikKLSsgICBtdXN0IG5vdCBoYXZlIGNoYW5nZWQuIFRoZSBncmFudWxhcml0eSBvZiB0aGlzIHRpbWVzdGFtcCBpcyBpbiB0aGUKLSsgICBtaWxsaXNlY29uZCByYW5nZS4KLSsgLSBwb2xraXQgcG9sbHMgZXZlcnkgdHdvIHNlY29uZHMgd2hldGhlciBhIHByb2Nlc3Mgd2l0aCB0aGUgZXhwZWN0ZWQgc3RhcnQgdGltZQotKyAgIHN0aWxsIGV4aXN0cy4gSWYgbm90LCB0aGUgdGVtcG9yYXJ5IGF1dGggZW50cnkgaXMgcHVyZ2VkLgotKwotK1dpdGhvdXQgdGhlIHN0YXJ0IHRpbWUgY2hlY2ssIHRoaXMgd291bGQgb2J2aW91c2x5IGJlIGJ1Z2d5IGJlY2F1c2UgYW4gYXR0YWNrZXIKLStjb3VsZCBzaW1wbHkgd2FpdCBmb3IgdGhlIGxlZ2l0aW1hdGUgY2xpZW50IHRvIGRpc2FwcGVhciwgdGhlbiBjcmVhdGUgYSBuZXcKLStjbGllbnQgd2l0aCB0aGUgc2FtZSBQSUQuCi0rCi0rVW5mb3J0dW5hdGVseSwgdGhlIHN0YXJ0IHRpbWUgY2hlY2sgaXMgYnlwYXNzYWJsZSBiZWNhdXNlIGZvcmsoKSBpcyBub3QgYXRvbWljLgotK0xvb2tpbmcgYXQgdGhlIHNvdXJjZSBjb2RlIG9mIGNvcHlfcHJvY2VzcygpIGluIHRoZSBrZXJuZWw6Ci0rCi0rICAgICAgICBwLT5zdGFydF90aW1lID0ga3RpbWVfZ2V0X25zKCk7Ci0rICAgICAgICBwLT5yZWFsX3N0YXJ0X3RpbWUgPSBrdGltZV9nZXRfYm9vdF9ucygpOwotKyAgICAgICAgWy4uLl0KLSsgICAgICAgIHJldHZhbCA9IGNvcHlfdGhyZWFkX3RscyhjbG9uZV9mbGFncywgc3RhY2tfc3RhcnQsIHN0YWNrX3NpemUsIHAsIHRscyk7Ci0rICAgICAgICBpZiAocmV0dmFsKQotKyAgICAgICAgICAgICAgICBnb3RvIGJhZF9mb3JrX2NsZWFudXBfaW87Ci0rCi0rICAgICAgICBpZiAocGlkICE9ICZpbml0X3N0cnVjdF9waWQpIHsKLSsgICAgICAgICAgICAgICAgcGlkID0gYWxsb2NfcGlkKHAtPm5zcHJveHktPnBpZF9uc19mb3JfY2hpbGRyZW4pOwotKyAgICAgICAgICAgICAgICBpZiAoSVNfRVJSKHBpZCkpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR2YWwgPSBQVFJfRVJSKHBpZCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBiYWRfZm9ya19jbGVhbnVwX3RocmVhZDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotK1RoZSBrdGltZV9nZXRfYm9vdF9ucygpIGNhbGwgaXMgd2hlcmUgdGhlICJzdGFydCB0aW1lIiBvZiB0aGUgcHJvY2VzcyBpcwotK3JlY29yZGVkLiBUaGUgYWxsb2NfcGlkKCkgY2FsbCBpcyB3aGVyZSBhIGZyZWUgUElEIGlzIGFsbG9jYXRlZC4gSW4gYmV0d2VlbgotK3RoZXNlLCBzb21lIHRpbWUgcGFzc2VzOyBhbmQgYmVjYXVzZSB0aGUgY29weV90aHJlYWRfdGxzKCkgY2FsbCBiZXR3ZWVuIHRoZW0gY2FuCi0rYWNjZXNzIHVzZXJzcGFjZSBtZW1vcnkgd2hlbiBzeXNfY2xvbmUoKSBpcyBpbnZva2VkIHRocm91Z2ggdGhlIDMyLWJpdCBzeXNjYWxsCi0rZW50cnkgcG9pbnQsIGFuIGF0dGFja2VyIGNhbiBldmVuIHN0YWxsIHRoZSBrZXJuZWwgYXJiaXRyYXJpbHkgbG9uZyBhdCB0aGlzCi0rcG9pbnQgKGJ5IHN1cHBseWluZyBhIHBvaW50ZXIgaW50byB1c2Vyc3BhY2UgbWVtb3J5IHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEKLSt1c2VyZmF1bHRmZCBvciBpcyBiYWNrZWQgYnkgYSBjdXN0b20gRlVTRSBmaWxlc3lzdGVtKS4KLSsKLStUaGlzIG1lYW5zIHRoYXQgYW4gYXR0YWNrZXIgY2FuIGltbWVkaWF0ZWx5IGNhbGwgc3lzX2Nsb25lKCkgd2hlbiB0aGUgdmljdGltCi0rcHJvY2VzcyBpcyBjcmVhdGVkLCBvZnRlbiByZXN1bHRpbmcgaW4gYSBwcm9jZXNzIHRoYXQgaGFzIHRoZSBleGFjdCBzYW1lIHN0YXJ0Ci0rdGltZSByZXBvcnRlZCBpbiBwcm9jZnM7IGFuZCB0aGVuIHRoZSBhdHRhY2tlciBjYW4gZGVsYXkgdGhlIGFsbG9jX3BpZCgpIGNhbGwKLSt1bnRpbCBhZnRlciB0aGUgdmljdGltIHByb2Nlc3MgaGFzIGRpZWQgYW5kIHRoZSBQSUQgYXNzaWdubWVudCBoYXMgY3ljbGVkCi0rYXJvdW5kLiBUaGlzIHJlc3VsdHMgaW4gYW4gYXR0YWNrZXIgcHJvY2VzcyB0aGF0IHBvbGtpdCBjYW4ndCBkaXN0aW5ndWlzaCBmcm9tCi0rdGhlIHZpY3RpbSBwcm9jZXNzLgotKyovCi0rCi0rCi0gLyoqCi0gICogUG9sa2l0VW5peFByb2Nlc3M6Ci0gICoKLWRpZmYgLS1naXQgYS9zcmMvcG9sa2l0YmFja2VuZC9wb2xraXRiYWNrZW5kaW50ZXJhY3RpdmVhdXRob3JpdHkuYyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCi1pbmRleCBhMTYzMGI5Li44MGU4MTQxIDEwMDY0NAotLS0tIGEvc3JjL3BvbGtpdGJhY2tlbmQvcG9sa2l0YmFja2VuZGludGVyYWN0aXZlYXV0aG9yaXR5LmMKLSsrKyBiL3NyYy9wb2xraXRiYWNrZW5kL3BvbGtpdGJhY2tlbmRpbnRlcmFjdGl2ZWF1dGhvcml0eS5jCi1AQCAtMzAzMSw2ICszMDMxLDQzIEBAIHRlbXBvcmFyeV9hdXRob3JpemF0aW9uX3N0b3JlX2ZyZWUgKFRlbXBvcmFyeUF1dGhvcml6YXRpb25TdG9yZSAqc3RvcmUpCi0gICBnX2ZyZWUgKHN0b3JlKTsKLSB9Ci0gCi0rLyogU2VlIHRoZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgcG9sa2l0dW5peHByb2Nlc3MuYyAqLwotK3N0YXRpYyBnYm9vbGVhbgotK3N1YmplY3RfZXF1YWxfZm9yX2F1dGh6IChQb2xraXRTdWJqZWN0ICphLAotKyAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICpiKQotK3sKLSsgIGlmICghcG9sa2l0X3N1YmplY3RfZXF1YWwgKGEsIGIpKQotKyAgICByZXR1cm4gRkFMU0U7Ci0rCi0rICAvKiBOb3cgc3BlY2lhbCBjYXNlIHVuaXggcHJvY2Vzc2VzLCBhcyB3ZSB3YW50IHRvIHByb3RlY3QgYWdhaW5zdAotKyAgICogcGlkIHJldXNlIGJ5IGluY2x1ZGluZyB0aGUgVUlELgotKyAgICovCi0rICBpZiAoUE9MS0lUX0lTX1VOSVhfUFJPQ0VTUyAoYSkgJiYgUE9MS0lUX0lTX1VOSVhfUFJPQ0VTUyAoYikpIHsKLSsgICAgUG9sa2l0VW5peFByb2Nlc3MgKmFwID0gKFBvbGtpdFVuaXhQcm9jZXNzKilhOwotKyAgICBpbnQgdWlkX2EgPSBwb2xraXRfdW5peF9wcm9jZXNzX2dldF91aWQgKChQb2xraXRVbml4UHJvY2VzcyopYSk7Ci0rICAgIFBvbGtpdFVuaXhQcm9jZXNzICpicCA9IChQb2xraXRVbml4UHJvY2VzcyopYjsKLSsgICAgaW50IHVpZF9iID0gcG9sa2l0X3VuaXhfcHJvY2Vzc19nZXRfdWlkICgoUG9sa2l0VW5peFByb2Nlc3MqKWIpOwotKwotKyAgICBpZiAodWlkX2EgIT0gLTEgJiYgdWlkX2IgIT0gLTEpCi0rICAgICAgewotKyAgICAgICAgaWYgKHVpZF9hID09IHVpZF9iKQotKyAgICAgICAgICB7Ci0rICAgICAgICAgICAgcmV0dXJuIFRSVUU7Ci0rICAgICAgICAgIH0KLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgewotKyAgICAgICAgICAgIGdfcHJpbnRlcnIgKCJkZW55aW5nIHNsb3dmb3JrOyBwaWQgJWQgdWlkICVkICE9ICVkIVxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICBwb2xraXRfdW5peF9wcm9jZXNzX2dldF9waWQgKGFwKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICB1aWRfYSwgdWlkX2IpOwotKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLSsgICAgICAgICAgfQotKyAgICAgIH0KLSsgICAgLyogRmFsbCB0aHJvdWdoOyBvbmUgb2YgdGhlIHVpZHMgaXMgdW5zZXQgc28gd2UgY2FuJ3QgcmVsaWFibHkgY29tcGFyZSAqLwotKyAgfQotKwotKyAgcmV0dXJuIFRSVUU7Ci0rfQotKwotIHN0YXRpYyBnYm9vbGVhbgotIHRlbXBvcmFyeV9hdXRob3JpemF0aW9uX3N0b3JlX2hhc19hdXRob3JpemF0aW9uIChUZW1wb3JhcnlBdXRob3JpemF0aW9uU3RvcmUgKnN0b3JlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xraXRTdWJqZWN0ICAgICAgICAgICAgICAgKnN1YmplY3QsCi1AQCAtMzA3Myw3ICszMTEwLDcgQEAgdGVtcG9yYXJ5X2F1dGhvcml6YXRpb25fc3RvcmVfaGFzX2F1dGhvcml6YXRpb24gKFRlbXBvcmFyeUF1dGhvcml6YXRpb25TdG9yZSAqc3QKLSAgICAgVGVtcG9yYXJ5QXV0aG9yaXphdGlvbiAqYXV0aG9yaXphdGlvbiA9IGwtPmRhdGE7Ci0gCi0gICAgIGlmIChzdHJjbXAgKGFjdGlvbl9pZCwgYXV0aG9yaXphdGlvbi0+YWN0aW9uX2lkKSA9PSAwICYmCi0tICAgICAgICBwb2xraXRfc3ViamVjdF9lcXVhbCAoc3ViamVjdF90b191c2UsIGF1dGhvcml6YXRpb24tPnN1YmplY3QpKQotKyAgICAgICAgc3ViamVjdF9lcXVhbF9mb3JfYXV0aHogKHN1YmplY3RfdG9fdXNlLCBhdXRob3JpemF0aW9uLT5zdWJqZWN0KSkKLSAgICAgICB7Ci0gICAgICAgICByZXQgPSBUUlVFOwotICAgICAgICAgaWYgKG91dF90bXBfYXV0aHpfaWQgIT0gTlVMTCkKLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9wb2xraXQvcG9sa2l0XzAuMTE1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKaW5kZXggOGQ1OTIwNS4uMTNjNGIwMiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3BvbGtpdC9wb2xraXRfMC4xMTUuYmIKQEAgLTcsNyArNyw5IEBACiAKIERFUEVORFMgPSAiZXhwYXQgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIG1vempzIgogCi1pbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyB1c2VyYWRkIHN5c3RlbWQgZ29iamVjdC1pbnRyb3NwZWN0aW9uCitpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyB1c2VyYWRkIHN5c3RlbWQgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicG9sa2l0IgogCiBQQUNLQUdFQ09ORklHID0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSBcCiAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdzeXN0ZW1kJywgXApAQCAtMjMsNyArMjUsNiBAQAogU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wb2xraXQvcmVsZWFzZXMvcG9sa2l0LSR7UFZ9LnRhci5neiBcCiAgICAgZmlsZTovLzAwMDEtbWFrZS1uZXRncm91cC1zdXBwb3J0LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCiAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKLSAgICBmaWxlOi8vQ1ZFLTIwMTktNjEzMy5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiZjAzYjA1NWQ2YWU1ZmM4ZWFjNzY4MzhjN2Q4M2QwODIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY4N2VjZGFiZmJkNDE1YzYzMDY2NzNjZWFkYzU5ODQ2ZjA1OWIxOGVmMmZjZTQyYmFjNjNmZTI4M2YxMjEzMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTk1MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjEyLmJiCkBAIC0wLDAgKzEsNTggQEAKK1NVTU1BUlkgPSAiUmVkaXMga2V5LXZhbHVlIHN0b3JlIgorREVTQ1JJUFRJT04gPSAiUmVkaXMgaXMgYW4gb3BlbiBzb3VyY2UsIGFkdmFuY2VkIGtleS12YWx1ZSBzdG9yZS4iCitIT01FUEFHRSA9ICJodHRwOi8vcmVkaXMuaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNjMDFiNDlmZWQ0ZGYxYTc5ODQzNjg4ZmEzZjdiOWQ2IgorREVQRU5EUyA9ICIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnJlZGlzLmlvL3JlbGVhc2VzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9oaXJlZGlzLXVzZS1kZWZhdWx0LUNDLWlmLWl0LWlzLXNldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9sdWEtdXBkYXRlLU1ha2VmaWxlLXRvLXVzZS1lbnZpcm9ubWVudC1idWlsZC1zZXR0aW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29lLXVzZS1saWJjLW1hbGxvYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZWRpcy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQtcmVkaXMtc2VydmVyIFwKKyAgICAgICAgICAgZmlsZTovL3JlZGlzLnNlcnZpY2UgXAorIgorCitTUkNfVVJJX2FwcGVuZF9taXBzID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9hcm0gPSAiIGZpbGU6Ly9yZW1vdmUtYXRvbWljcy5wYXRjaCIKK1NSQ19VUklfYXBwZW5kX3Bvd2VycGMgPSAiIGZpbGU6Ly9yZW1vdmUtYXRvbWljcy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ4ZjI0MGZkMmQ5NmIxYjU3OTMwMGI4NjYzOThlZGJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0NDcyNTlkMmVlZDQyNmE5NDljOWMxM2Y4ZmRiMmQ5MWZiNjZkOWRjOTE1ZGQ1MGRiMTNiODdmNDZkOTMxNjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kIHVzZXJhZGQKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gID0gIi0tc3lzdGVtIC0taG9tZS1kaXIgL3Zhci9saWIvcmVkaXMgLWcgcmVkaXMgLS1zaGVsbCAvYmluL2ZhbHNlIHJlZGlzIgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gcmVkaXMiCisKKworUkVESVNfT05fU1lTVEVNRCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBleHBvcnQgUFJFRklYPSR7RH0vJHtwcmVmaXh9CisgICAgb2VfcnVubWFrZSBpbnN0YWxsCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9yZWRpcy5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdC1yZWRpcy1zZXJ2ZXIgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC9yZWRpcy1zZXJ2ZXIKKyAgICBpbnN0YWxsIC1kICR7RH0vdmFyL2xpYi9yZWRpcy8KKyAgICBjaG93biByZWRpcy5yZWRpcyAke0R9L3Zhci9saWIvcmVkaXMvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIHNlZCAtaSAncyEvdXNyL3NiaW4vISR7c2JpbmRpcn0vIWcnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3JlZGlzLnNlcnZpY2UKKworICAgIGlmIFsgIiR7UkVESVNfT05fU1lTVEVNRH0iID0gdHJ1ZSBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAncyFkYWVtb25pemUgeWVzISMgZGFlbW9uaXplIHllcyEnICR7RH0vJHtzeXNjb25mZGlyfS9yZWRpcy9yZWRpcy5jb25mCisgICAgZmkKK30KKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gInJlZGlzLXNlcnZlciIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDg3IgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicmVkaXMuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yZWRpcy9yZWRpc180LjAuOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBkMzZkMi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcmVkaXMvcmVkaXNfNC4wLjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1TVU1NQVJZID0gIlJlZGlzIGtleS12YWx1ZSBzdG9yZSIKLURFU0NSSVBUSU9OID0gIlJlZGlzIGlzIGFuIG9wZW4gc291cmNlLCBhZHZhbmNlZCBrZXktdmFsdWUgc3RvcmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3JlZGlzLmlvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYzAxYjQ5ZmVkNGRmMWE3OTg0MzY4OGZhM2Y3YjlkNiIKLURFUEVORFMgPSAiIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5yZWRpcy5pby9yZWxlYXNlcy8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vaGlyZWRpcy11c2UtZGVmYXVsdC1DQy1pZi1pdC1pcy1zZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbHVhLXVwZGF0ZS1NYWtlZmlsZS10by11c2UtZW52aXJvbm1lbnQtYnVpbGQtc2V0dGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vZS11c2UtbGliYy1tYWxsb2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVkaXMuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0LXJlZGlzLXNlcnZlciBcCi0gICAgICAgICAgIGZpbGU6Ly9yZWRpcy5zZXJ2aWNlIFwKLSIKLQotU1JDX1VSSV9hcHBlbmRfbWlwcyA9ICIgZmlsZTovL3JlbW92ZS1hdG9taWNzLnBhdGNoIgotU1JDX1VSSV9hcHBlbmRfYXJtID0gIiBmaWxlOi8vcmVtb3ZlLWF0b21pY3MucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjNzViMTFlNDE3N2UxNTNlNGRjMWQ4ZGQzYTYxNzRlNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZjBjMzhiOGMxNTYzMTkyNDlmZWM2MWU1MDE4Y2Y1YjVmZTYzYTY1YjYxNjkwYmVjNzk4ZjRjOTk4YzIzMmFkIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ICA9ICItLXN5c3RlbSAtLWhvbWUtZGlyIC92YXIvbGliL3JlZGlzIC1nIHJlZGlzIC0tc2hlbGwgL2Jpbi9mYWxzZSByZWRpcyIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHJlZGlzIgotCi0KLVJFRElTX09OX1NZU1RFTUQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX0iCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgZXhwb3J0IFBSRUZJWD0ke0R9LyR7cHJlZml4fQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbAotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L3JlZGlzCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcmVkaXMuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2luaXQtcmVkaXMtc2VydmVyICR7RH0vJHtzeXNjb25mZGlyfS9pbml0LmQvcmVkaXMtc2VydmVyCi0gICAgaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvcmVkaXMvCi0gICAgY2hvd24gcmVkaXMucmVkaXMgJHtEfS92YXIvbGliL3JlZGlzLwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JlZGlzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KLSAgICBzZWQgLWkgJ3MhL3Vzci9zYmluLyEke3NiaW5kaXJ9LyFnJyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9yZWRpcy5zZXJ2aWNlCi0KLSAgICBpZiBbICIke1JFRElTX09OX1NZU1RFTUR9IiA9IHRydWUgXTsgdGhlbgotICAgICAgICBzZWQgLWkgJ3MhZGFlbW9uaXplIHllcyEjIGRhZW1vbml6ZSB5ZXMhJyAke0R9LyR7c3lzY29uZmRpcn0vcmVkaXMvcmVkaXMuY29uZgotICAgIGZpCi19Ci0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JlZGlzL3JlZGlzLmNvbmYiCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJyZWRpcy1zZXJ2ZXIiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA4NyIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJlZGlzLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwLzAwMDEtc3JjLXRjcC5jLWZpeC1qdW1wLW1pc3Nlcy1pbml0LWVycm9yLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1maXgtanVtcC1taXNzZXMtaW5pdC1lcnJvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhiNjg2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwLzAwMDEtc3JjLXRjcC5jLWZpeC1qdW1wLW1pc3Nlcy1pbml0LWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotRnJvbSAzZTVhMGNiNDQwYzc4OGUyMzgzZTQwYWIyM2FjMWNmMDFkOTY5NjFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWluZ2xpIFl1IDxtaW5nbGkueXVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFR1ZSwgMjQgSnVsIDIwMTggMDE6MzA6MjUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gc3JjL3RjcC5jOiBmaXgganVtcC1taXNzZXMtaW5pdCBlcnJvcgotCi1GaXggYmVsb3cganVtcC1taXNzZXMtaW5pdCBlcnJvcgotCi18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi9naXQvc3JjL3RjcC5jOjUxOgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOiBJbiBmdW5jdGlvbiAncmVscFRjcENvbm5lY3QnOgotfCAuLi8uLi9naXQvc3JjL3JlbHAuaDoyMjA6MzogZXJyb3I6IGp1bXAgc2tpcHMgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gWy1XZXJyb3I9anVtcC1taXNzZXMtaW5pdF0KLXwgICAgZ290byBmaW5hbGl6ZV9pdDsgIFwKLXwgICAgXn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjE5NTE6Mzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdBQk9SVF9GSU5BTElaRScKLXwgICAgQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfSU9fRVJSKTsKLXwgICAgXn5+fn5+fn5+fn5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoyMDA1OjE6IG5vdGU6IGxhYmVsICdmaW5hbGl6ZV9pdCcgZGVmaW5lZCBoZXJlCi18ICBmaW5hbGl6ZV9pdDoKLXwgIF5+fn5+fn5+fn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MTk5MTo2OiBub3RlOiAncicgZGVjbGFyZWQgaGVyZQotfCAgIGludCByID0gZ2V0c29ja29wdChwVGhpcy0+c29jaywgU09MX1NPQ0tFVCwgU09fRVJST1IsICZzb19lcnJvciwgJmxlbik7Ci18ICAgICAgIF4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uL2dpdC9zcmMvdGNwLmM6NTE6Ci18IC4uLy4uL2dpdC9zcmMvcmVscC5oOjIyMDozOiBlcnJvcjoganVtcCBza2lwcyB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiBbLVdlcnJvcj1qdW1wLW1pc3Nlcy1pbml0XQotfCAgICBnb3RvIGZpbmFsaXplX2l0OyAgXAotfCAgICBefn5+Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MTk1MTozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0FCT1JUX0ZJTkFMSVpFJwotfCAgICBBQk9SVF9GSU5BTElaRShSRUxQX1JFVF9JT19FUlIpOwotfCAgICBefn5+fn5+fn5+fn5+fgotfCAuLi8uLi9naXQvc3JjL3RjcC5jOjIwMDU6MTogbm90ZTogbGFiZWwgJ2ZpbmFsaXplX2l0JyBkZWZpbmVkIGhlcmUKLXwgIGZpbmFsaXplX2l0OgotfCAgXn5+fn5+fn5+fn4KLXwgLi4vLi4vZ2l0L3NyYy90Y3AuYzoxOTg5OjEyOiBub3RlOiAnbGVuJyBkZWNsYXJlZCBoZXJlCi18ICAgc29ja2xlbl90IGxlbiA9IHNpemVvZiBzb19lcnJvcjsKLXwgICAgICAgICAgICAgXn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAvcHVsbC8xMTddCi0KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGNwLmMgfCA3ICsrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RjcC5jIGIvc3JjL3RjcC5jCi1pbmRleCBmMzVlYjg0Li5mYjM0ZGM3IDEwMDY0NAotLS0tIGEvc3JjL3RjcC5jCi0rKysgYi9zcmMvdGNwLmMKLUBAIC0xOTM2LDYgKzE5MzYsOSBAQCByZWxwVGNwQ29ubmVjdChyZWxwVGNwX3QgKmNvbnN0IHBUaGlzLAotIAlzdHJ1Y3QgYWRkcmluZm8gaGludHM7Ci0gCXN0cnVjdCBhZGRyaW5mbyAqcmVzbG9jYWwgPSBOVUxMOwotIAlzdHJ1Y3QgcG9sbGZkIHBmZDsKLSsJaW50IHNvX2Vycm9yOwotKwlzb2NrbGVuX3QgbGVuID0gc2l6ZW9mIHNvX2Vycm9yOwotKwlpbnQgcjsKLSAKLSAJRU5URVJfUkVMUEZVTkM7Ci0gCVJFTFBPQkpfYXNzZXJ0KHBUaGlzLCBUY3ApOwotQEAgLTE5ODUsMTAgKzE5ODgsOCBAQCByZWxwVGNwQ29ubmVjdChyZWxwVGNwX3QgKmNvbnN0IHBUaGlzLAotIAkJQUJPUlRfRklOQUxJWkUoUkVMUF9SRVRfVElNRURfT1VUKTsKLSAJfQotIAotLQlpbnQgc29fZXJyb3I7Ci0tCXNvY2tsZW5fdCBsZW4gPSBzaXplb2Ygc29fZXJyb3I7Ci0gCi0tCWludCByID0gZ2V0c29ja29wdChwVGhpcy0+c29jaywgU09MX1NPQ0tFVCwgU09fRVJST1IsICZzb19lcnJvciwgJmxlbik7Ci0rCXIgPSBnZXRzb2Nrb3B0KHBUaGlzLT5zb2NrLCBTT0xfU09DS0VULCBTT19FUlJPUiwgJnNvX2Vycm9yLCAmbGVuKTsKLSAJaWYgKHIgPT0gLTEgfHwgc29fZXJyb3IgIT0gMCkgewotIAkJcFRoaXMtPnBFbmdpbmUtPmRiZ3ByaW50KCJzb2NrZXQgaGFzIGFuIGVycm9yICVkXG4iLCBzb19lcnJvcik7Ci0gCQlBQk9SVF9GSU5BTElaRShSRUxQX1JFVF9JT19FUlIpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1pbmNyZWFzZS10aGUtc2l6ZS1vZi1zekhuYW1lLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscC8wMDAxLXNyYy10Y3AuYy1pbmNyZWFzZS10aGUtc2l6ZS1vZi1zekhuYW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTYyZTE1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHAvMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gZDg5NTBhZDI3M2Q3OWVjNTE2NDY4Mjg5YWRiZDQyN2U2ODFkYmM2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDMwIEp1bCAyMDE4IDAxOjIyOjU2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy90Y3AuYzogaW5jcmVhc2UgdGhlIHNpemUgb2Ygc3pIbmFtZQotCi1JbmNyZWFzZSB0aGUgc2l6ZSBvZiBzekhuYW1lIHRvIGZpeCBiZWxvdwotZXJyb3I6Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6IEluIGZ1bmN0aW9uICdyZWxwVGNwU2V0UmVtSG9zdCc6Ci18IC4uLy4uL2dpdC9zcmMvdGNwLmM6MzUyOjU3OiBlcnJvcjogJyVzJyBkaXJlY3RpdmUgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgd3JpdGluZyB1cCB0byAxMDI0IGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSAxMDExIFstV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPV0KLXwgICAgICBzbnByaW50ZigoY2hhciopc3pIbmFtZSwgTklfTUFYSE9TVCwgIltNQUxJQ0lPVVM6SVA9JXNdIiwgc3pJUCk7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ICAgIH5+fn4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9wb2t5LWJ1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC9saWJyZWxwLzEuMi4xNi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9zdGRpby5oOjg2MiwKLXwgICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvdGNwLmM6Mzg6Ci18IC9wb2t5LWJ1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC9saWJyZWxwLzEuMi4xNi1yMC9yZWNpcGUtc3lzcm9vdC91c3IvaW5jbHVkZS9iaXRzL3N0ZGlvMi5oOjY0OjEwOiBub3RlOiAnX19idWlsdGluX19fc25wcmludGZfY2hrJyBvdXRwdXQgYmV0d2VlbiAxNiBhbmQgMTA0MCBieXRlcyBpbnRvIGEgZGVzdGluYXRpb24gb2Ygc2l6ZSAxMDI1Ci18ICAgIHJldHVybiBfX2J1aWx0aW5fX19zbnByaW50Zl9jaGsgKF9fcywgX19uLCBfX1VTRV9GT1JUSUZZX0xFVkVMIC0gMSwKLXwgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotfCAgICAgICAgIF9fYm9zIChfX3MpLCBfX2ZtdCwgX192YV9hcmdfcGFjayAoKSk7Ci18ICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotfCBjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotfCBNYWtlZmlsZTo1MzY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJyZWxwX2xhLXRjcC5sbycgZmFpbGVkCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9yc3lzbG9nL2xpYnJlbHAvcHVsbC8xMThdCi0KLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8bWluZ2xpLnl1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGNwLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RjcC5jIGIvc3JjL3RjcC5jCi1pbmRleCBmYjM0ZGM3Li4yYzM4YjBiIDEwMDY0NAotLS0tIGEvc3JjL3RjcC5jCi0rKysgYi9zcmMvdGNwLmMKLUBAIC0zMTksNyArMzE5LDcgQEAgcmVscFRjcFNldFJlbUhvc3QocmVscFRjcF90ICpjb25zdCBwVGhpcywgc3RydWN0IHNvY2thZGRyICpwQWRkcikKLSAJcmVscEVuZ2luZV90ICpwRW5naW5lOwotIAlpbnQgZXJyb3I7Ci0gCXVuc2lnbmVkIGNoYXIgc3pJUFtOSV9NQVhIT1NUXSA9ICIiOwotLQl1bnNpZ25lZCBjaGFyIHN6SG5hbWVbTklfTUFYSE9TVF0gPSAiIjsKLSsJdW5zaWduZWQgY2hhciBzekhuYW1lWzEwNDVdID0gIiI7Ci0gCXN0cnVjdCBhZGRyaW5mbyBoaW50cywgKnJlczsKLSAJc2l6ZV90IGxlbjsKLSAJCi1AQCAtMzQ5LDcgKzM0OSw3IEBAIHJlbHBUY3BTZXRSZW1Ib3N0KHJlbHBUY3BfdCAqY29uc3QgcFRoaXMsIHN0cnVjdCBzb2NrYWRkciAqcEFkZHIpCi0gCQkJaWYoZ2V0YWRkcmluZm8oKGNoYXIqKXN6SG5hbWUsIE5VTEwsICZoaW50cywgJnJlcykgPT0gMCkgewotIAkJCQlmcmVlYWRkcmluZm8gKHJlcyk7Ci0gCQkJCS8qIE9LLCB3ZSBrbm93IHdlIGhhdmUgZXZpbCwgc28gbGV0J3MgaW5kaWNhdGUgdGhpcyB0byBvdXIgY2FsbGVyICovCi0tCQkJCXNucHJpbnRmKChjaGFyKilzekhuYW1lLCBOSV9NQVhIT1NULCAiW01BTElDSU9VUzpJUD0lc10iLCBzeklQKTsKLSsJCQkJc25wcmludGYoKGNoYXIqKXN6SG5hbWUsIHNpemVvZihzekhuYW1lKSwgIltNQUxJQ0lPVVM6SVA9JXNdIiwgc3pJUCk7Ci0gCQkJCXBFbmdpbmUtPmRiZ3ByaW50KCJNYWxpY2lvdXMgUFRSIHJlY29yZCwgSVAgPSBcIiVzXCIgSE9TVCA9IFwiJXNcIiIsIHN6SVAsIHN6SG5hbWUpOwotIAkJCQlpUmV0ID0gUkVMUF9SRVRfTUFMSUNJT1VTX0hOQU1FOwotIAkJCX0KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS4yLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjIuMTYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NDc4ZWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvbGlicmVscF8xLjIuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIkEgcmVsaWFibGUgbG9nZ2luZyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvbGliZmFzdGpzb24iCi0KLUxJQ0VOU0UgPSAiR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZmI5YzEwZWQ5ZmQ2ODI2NzU3NjE1NDU1Y2E4OTNhOSIKLQotREVQRU5EUyA9ICJnbXAgbmV0dGxlIGxpYmlkbiB6bGliIGdudXRscyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JzeXNsb2cvbGlicmVscC5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtdGNwLmMtZml4LWp1bXAtbWlzc2VzLWluaXQtZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtdGNwLmMtaW5jcmVhc2UtdGhlLXNpemUtb2Ytc3pIbmFtZS5wYXRjaCBcCi0iCi0KLVNSQ1JFViA9ICI1ZTg0OWZmMDYwYmUwYzdkY2U5NzJlMTk0YzU0ZmRhY2ZlZTBhZGMyIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL2xpYnJlbHBfMS40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNTdkZDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9saWJyZWxwXzEuNC4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSByZWxpYWJsZSBsb2dnaW5nIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9saWJyZWxwIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWZiOWMxMGVkOWZkNjgyNjc1NzYxNTQ1NWNhODkzYTkiCisKK0RFUEVORFMgPSAiZ21wIG5ldHRsZSBsaWJpZG4gemxpYiBnbnV0bHMgb3BlbnNzbCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JzeXNsb2cvbGlicmVscC5naXQ7cHJvdG9jb2w9aHR0cHMgXAorIgorCitTUkNSRVYgPSAiZTk2NDQzZGRhM2MwODBmYTk5MWRlY2VjMjZiYzRhYzk4ZDI0YjlhMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvcnN5c2xvZy9yc3lzbG9nL3JzeXNsb2ctZml4LXB0ZXN0LW5vdC1maW5pc2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEyNDhmNzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZy9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLUZyb20gMDdhZDJhMTkwNTA4OWI5MTI0NjIzMzI0YTk5NjllNDUyMjMxNzExMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDEyIFNlcCAyMDE0IDAzOjQxOjExIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJzeXNsb2c6IHVwZGF0ZSBjb25maWd1cmUgdG8gZml4IHB0ZXN0Ci0KLSRNYXhNZXNzYWdlU2l6ZSBkb2Vzbid0IHdvcmsgaWYgYmVmb3JlICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYsIHRoZW4KLXRlc3QgY2FzZXMgZmFsbCBpbnRvIGluZmluaXRlIGxvb3Agd2l0aCBlcnJvciBtZXNzYWdlOgotCi04MDYyLjUxMTExMDcyOTo0OTAyYzQ4MDogZXJyb3I6IG1lc3NhZ2UgcmVjZWl2ZWQgaXMgbGFyZ2VyIHRoYW4gbWF4IG1zZyBzaXplLCB3ZSBzcGxpdCBpdAotODA2Mi41MTExNTIyNjU6NDkwMmM0ODA6IGRpc2NhcmRpbmcgemVyby1zaXplZCBtZXNzYWdlCi0KLVVwZGF0ZSBjb25maWd1cmUgdG8gZml4IGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIHRlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZiAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mICAgICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYgICAgICB8IDIgKy0KLSB0ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mICAgICAgICAgfCAyICstCi0gdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mICAgICAgIHwgMiArLQotIHRlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZiAgICAgICAgICAgICB8IDIgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgotaW5kZXggOWI2YTlmMy4uZTAwY2FhNCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvY29tcGxleDEuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9jb21wbGV4MS5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIGNvbXBsZXggdGVzdCBjYXNlIHdpdGggbXVsdGlwbGUgYWN0aW9ucyBpbiBnemlwIG1vZGUKLSAjIHJnZXJoYXJkcywgMjAwOS0wNS0yMgotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNYWluTXNnUXVldWVUaW1lb3V0RW5xdWV1ZSA1MDAwCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2UuY29uZiBiL3Rlc3RzL3Rlc3RzdWl0ZXMvZ3ppcHdyX2xhcmdlLmNvbmYKLWluZGV4IDU0YWQzYmIuLmU4MjQ3YTkgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZS5jb25mCi1AQCAtMSw3ICsxLDcgQEAKLSAjIHNpbXBsZSBhc3luYyB3cml0aW5nIHRlc3QKLSAjIHJnZXJoYXJkcywgMjAxMC0wMy0wOQotLSRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAkSW5jbHVkZUNvbmZpZyBkaWFnLWNvbW1vbi5jb25mCi0rJE1heE1lc3NhZ2VTaXplIDEwawotIAotICRNb2RMb2FkIC4uL3BsdWdpbnMvaW10Y3AvLmxpYnMvaW10Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCi1pbmRleCAzYTFiMjU1Li4yOTdjYjcwIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9nemlwd3JfbGFyZ2VfZHluZmlsZS5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2d6aXB3cl9sYXJnZV9keW5maWxlLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9jb25uZHJvcC5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfY29ubmRyb3AuY29uZgotaW5kZXggNzdhNWQ3OS4uZDlhMTRhOCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2Nvbm5kcm9wLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXB0Y3AvLmxpYnMvaW1wdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMAotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3RzdWl0ZXMvaW1wdGNwX2xhcmdlLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL2ltcHRjcF9sYXJnZS5jb25mCi1pbmRleCA3N2E1ZDc5Li5kOWExNGE4IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgotKysrIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXB0Y3BfbGFyZ2UuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0Ci0gIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltcHRjcC8ubGlicy9pbXB0Y3AKLSAkTWFpbk1zZ1F1ZXVlVGltZW91dFNodXRkb3duIDEwMDAwCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mIGIvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCi1pbmRleCBkZTQxYmM0Li43ODQ0ZGM3IDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdHN1aXRlcy9pbXRjcF9jb25uZHJvcC5jb25mCi0rKysgYi90ZXN0cy90ZXN0c3VpdGVzL2ltdGNwX2Nvbm5kcm9wLmNvbmYKLUBAIC0xLDcgKzEsNyBAQAotICMgc2ltcGxlIGFzeW5jIHdyaXRpbmcgdGVzdAotICMgcmdlcmhhcmRzLCAyMDEwLTAzLTA5Ci0tJE1heE1lc3NhZ2VTaXplIDEwawotICRJbmNsdWRlQ29uZmlnIGRpYWctY29tbW9uLmNvbmYKLSskTWF4TWVzc2FnZVNpemUgMTBrCi0gCi0gJE1vZExvYWQgLi4vcGx1Z2lucy9pbXRjcC8ubGlicy9pbXRjcAotICRNYWluTXNnUXVldWVUaW1lb3V0U2h1dGRvd24gMTAwMDAKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYgYi90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKLWluZGV4IGI2NGYxMzIuLmIwYWUyNjQgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0c3VpdGVzL3dyX2xhcmdlLmNvbmYKLSsrKyBiL3Rlc3RzL3Rlc3RzdWl0ZXMvd3JfbGFyZ2UuY29uZgotQEAgLTEsNyArMSw3IEBACi0gIyBzaW1wbGUgYXN5bmMgd3JpdGluZyB0ZXN0Ci0gIyByZ2VyaGFyZHMsIDIwMTAtMDMtMDkKLS0kTWF4TWVzc2FnZVNpemUgMTBrCi0gJEluY2x1ZGVDb25maWcgZGlhZy1jb21tb24uY29uZgotKyRNYXhNZXNzYWdlU2l6ZSAxMGsKLSAKLSAkTW9kTG9hZCAuLi9wbHVnaW5zL2ltdGNwLy5saWJzL2ltdGNwCi0gJE1haW5Nc2dRdWV1ZVRpbWVvdXRTaHV0ZG93biAxMDAwMApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjE5MDMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4xOTAzLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA2MTQxZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4xOTAzLjAuYmIKQEAgLTAsMCArMSwxNjkgQEAKK1NVTU1BUlkgPSAiUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBtdWx0aS10aHJlYWRlZCBzeXNsb2dkIgorREVTQ1JJUFRJT04gPSAiXAorUnN5c2xvZyBpcyBhbiBlbmhhbmNlZCBzeXNsb2dkIHN1cHBvcnRpbmcsIGFtb25nIG90aGVycywgTXlTUUwsXAorIFBvc3RncmVTUUwsIGZhaWxvdmVyIGxvZyBkZXN0aW5hdGlvbnMsIHN5c2xvZy90Y3AsIGZpbmUgZ3JhaW5cCisgb3V0cHV0IGZvcm1hdCBjb250cm9sLCBoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBzLCBxdWV1ZWQgb3BlcmF0aW9uc1wKKyBhbmQgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIG9uIGFueSBtZXNzYWdlIHBhcnQuIEl0IGlzIHF1aXRlXAorIGNvbXBhdGlibGUgdG8gc3RvY2sgc3lza2xvZ2QgYW5kIGNhbiBiZSB1c2VkIGFzIGEgZHJvcC1pbiByZXBsYWNlbWVudC5cCisgSXRzIGFkdmFuY2VkIGZlYXR1cmVzIG1ha2UgaXQgc3VpdGFibGUgZm9yIGVudGVycHJpc2UtY2xhc3MsXAorIGVuY3J5cHRpb24gcHJvdGVjdGVkIHN5c2xvZyByZWxheSBjaGFpbnMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBiZWluZ1wKKyB2ZXJ5IGVhc3kgdG8gc2V0dXAgZm9yIHRoZSBub3ZpY2UgdXNlci4iCisKK0RFUEVORFMgPSAiemxpYiBsaWJlc3RyIGxpYmZhc3Rqc29uIGJpc29uLW5hdGl2ZSBmbGV4LW5hdGl2ZSBsaWJsb2dnaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5yc3lzbG9nLmNvbS8iCitMSUNFTlNFID0gIkdQTHYzICYgTEdQTHYzICYgQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZDk2MzVlNjQ2ZmI3NWUxYjc0YzA3NGY3ODhlOTczIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1jYjc5MDNmMWU1YzM5YWU4MzgyMDllMTMwZGNhMjcwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkFTTDIwO21kNT0wNTJmOGEwOTIwNjYxNWFiMDczMjZmZjhjZTJkOWQzMlwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tL2Rvd25sb2FkL2ZpbGVzL2Rvd25sb2FkL3JzeXNsb2cvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3JzeXNsb2cuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLmxvZ3JvdGF0ZSBcCisgICAgICAgICAgIGZpbGU6Ly91c2UtcGtnY29uZmlnLXRvLWNoZWNrLWxpYmdjcnlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorIgorCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIFwKKyAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLXN5cy10aW1lLWgucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjBkNDU0Yzc5ZDQwNDBlM2YyNWZjZDEyZjhmMzNmZTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDBkMjNhNDkzZGNlYzY0YzdiNjgwN2ExYmI4ZWU4NjRlZDBmMzc2MGMyZmYzMDg4MDA4YmI2NjFkMzA0MDU2ZiIKKworCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JzeXNsb2cvcnN5c2xvZy9yZWxlYXNlcyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQgcHRlc3QKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZ2VuZXJhdGUtbWFuLXBhZ2VzIGFwX2N2X2F0b21pY19idWlsdGlucz15ZXMiCisKKyMgZmlyc3QgbGluZSBpcyBkZWZhdWx0IHllcyBpbiBjb25maWd1cmUKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIHJzeXNsb2dkIHJzeXNsb2dydCBrbG9nIGluZXQgcmVnZXhwIHV1aWQgbGliZ2NyeXB0IFwKKyAgICBmbWh0dHAgaW1kaWFnIGdudXRscyBpbWZpbGUgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3NubXAgc3lzdGVtZCcsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0ZXN0YmVuY2ggcmVscCAke1ZBTEdSSU5EfScsICcnLCBkKX0gXAorIgorCisjIGRlZmF1bHQgeWVzIGluIGNvbmZpZ3VyZQorUEFDS0FHRUNPTkZJR1tyZWxwXSA9ICItLWVuYWJsZS1yZWxwLC0tZGlzYWJsZS1yZWxwLGxpYnJlbHAsIgorUEFDS0FHRUNPTkZJR1tyc3lzbG9nZF0gPSAiLS1lbmFibGUtcnN5c2xvZ2QsLS1kaXNhYmxlLXJzeXNsb2dkLCwiCitQQUNLQUdFQ09ORklHW3JzeXNsb2dydF0gPSAiLS1lbmFibGUtcnN5c2xvZ3J0LC0tZGlzYWJsZS1yc3lzbG9ncnQsLCIKK1BBQ0tBR0VDT05GSUdbZm1odHRwXSA9ICItLWVuYWJsZS1mbWh0dHAsLS1kaXNhYmxlLWZtaHR0cCxjdXJsLCIKK1BBQ0tBR0VDT05GSUdbaW5ldF0gPSAiLS1lbmFibGUtaW5ldCwtLWRpc2FibGUtaW5ldCwsIgorUEFDS0FHRUNPTkZJR1trbG9nXSA9ICItLWVuYWJsZS1rbG9nLC0tZGlzYWJsZS1rbG9nLCwiCitQQUNLQUdFQ09ORklHW3JlZ2V4cF0gPSAiLS1lbmFibGUtcmVnZXhwLC0tZGlzYWJsZS1yZWdleHAsLCIKK1BBQ0tBR0VDT05GSUdbdXVpZF0gPSAiLS1lbmFibGUtdXVpZCwtLWRpc2FibGUtdXVpZCx1dGlsLWxpbnV4LCIKK1BBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLWVuYWJsZS1saWJnY3J5cHQsLS1kaXNhYmxlLWxpYmdjcnlwdCxsaWJnY3J5cHQsIgorUEFDS0FHRUNPTkZJR1t0ZXN0YmVuY2hdID0gIi0tZW5hYmxlLXRlc3RiZW5jaCAtLWVuYWJsZS1vbXN0ZG91dCwtLWRpc2FibGUtdGVzdGJlbmNoIC0tZGlzYWJsZS1vbXN0ZG91dCwsIgorCisjIGRlZmF1bHQgbm8gaW4gY29uZmlndXJlCitQQUNLQUdFQ09ORklHW2RlYnVnXSA9ICItLWVuYWJsZS1kZWJ1ZywtLWRpc2FibGUtZGVidWcsLCIKK1BBQ0tBR0VDT05GSUdbaW1kaWFnXSA9ICItLWVuYWJsZS1pbWRpYWcsLS1kaXNhYmxlLWltZGlhZywsIgorUEFDS0FHRUNPTkZJR1tpbWZpbGVdID0gIi0tZW5hYmxlLWltZmlsZSwtLWRpc2FibGUtaW1maWxlLCwiCitQQUNLQUdFQ09ORklHW3NubXBdID0gIi0tZW5hYmxlLXNubXAsLS1kaXNhYmxlLXNubXAsbmV0LXNubXAsIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywtLWRpc2FibGUtZ251dGxzLGdudXRscywiCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCwiCitQQUNLQUdFQ09ORklHW2ltam91cm5hbF0gPSAiLS1lbmFibGUtaW1qb3VybmFsLC0tZGlzYWJsZS1pbWpvdXJuYWwsIgorUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS1lbmFibGUtbXlzcWwsLS1kaXNhYmxlLW15c3FsLG15c3FsNSwiCitQQUNLQUdFQ09ORklHW3Bvc3RncmVzcWxdID0gIi0tZW5hYmxlLXBnc3FsLC0tZGlzYWJsZS1wZ3NxbCxwb3N0Z3Jlc3FsLCIKK1BBQ0tBR0VDT05GSUdbbGliZGJpXSA9ICItLWVuYWJsZS1saWJkYmksLS1kaXNhYmxlLWxpYmRiaSxsaWJkYmksIgorUEFDS0FHRUNPTkZJR1ttYWlsXSA9ICItLWVuYWJsZS1tYWlsLC0tZGlzYWJsZS1tYWlsLCwiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLWVuYWJsZS12YWxncmluZCwtLWRpc2FibGUtdmFsZ3JpbmQsdmFsZ3JpbmQsIgorCitURVNURElSID0gInRlc3RzIgorZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBlY2hvICdidWlsZHRlc3QtVEVTVFM6ICQoY2hlY2tfUFJPR1JBTVMpJyA+PiAke1RFU1RESVJ9L01ha2VmaWxlCisgICAgb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGJ1aWxkdGVzdC1URVNUUworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgICMgaW5zdGFsbCB0aGUgdGVzdHMKKyAgICBjcCAtcmYgJHtTfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9CisgICAgY3AgLXJmICR7Qn0vJHtURVNURElSfSAke0R9JHtQVEVTVF9QQVRIfQorCisgICAgIyBkbyBOT1QgbmVlZCB0byByZWJ1aWxkIE1ha2VmaWxlIGl0c2VsZgorICAgIHNlZCAtaSAncy9eTWFrZWZpbGU6LiokL01ha2VmaWxlOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKyAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgJChjaGVja19QUk9HUkFNUykKKyAgICBzZWQgLWkgJ3MvXmNoZWNrLVRFU1RTOi4qJC9jaGVjay1URVNUUzovJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisKKyAgICAjIGZpeCB0aGUgc3JjZGlyLCB0b3Bfc3JjZGlyCisgICAgc2VkIC1pICdzLF5cKHNyY2RpciA9IFwpLiosXDEke1BURVNUX1BBVEh9L3Rlc3RzLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgIHNlZCAtaSAncyxeXCh0b3Bfc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCisgICAgIyBmaXggdGhlIGFic190b3BfYnVpbGRkaXIKKyAgICBzZWQgLWkgJ3MsXlwoYWJzX3RvcF9idWlsZGRpciA9IFwpLiosXDEke1BURVNUX1BBVEh9LywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKKworICAgICMgdmFsZ3JpbmQgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBhcm0gYW5kIG1pcHMsCisgICAgIyBzbyByZW1vdmUgcmVsYXRlZCB0ZXN0IGNhc2VzIGlmIHRoZXJlIGlzIG5vIHZhbGdyaW5kLgorICAgIGlmIFsgeCR7VkFMR1JJTkR9ID0geCBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAnL3VkcC1tc2dyZWR1Yy0vZCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQorICAgIGZpCisKKyAgICAjIGluc3RhbGwgdGVzdC1kcml2ZXIKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3Rlc3QtZHJpdmVyICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIGluc3RhbGwgbmVjZXNzYXJ5IGxpbmtzCisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scworICAgIGxuIC1zZiAke3NiaW5kaXJ9L3JzeXNsb2dkICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzL3JzeXNsb2dkCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUKKyAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMKKyAgICAoCisgICAgICAgIGNkICR7RH0vJHtsaWJkaXJ9L3JzeXNsb2cKKyAgICAgICAgYWxsc289Iiouc28iCisgICAgICAgIGZvciBpIGluICRhbGxzbzsgZG8KKyAgICAgICAgICAgIGxuIC1zZiAke2xpYmRpcn0vcnN5c2xvZy8kaSAke0R9JHtQVEVTVF9QQVRIfS9ydW50aW1lLy5saWJzLyRpCisgICAgICAgIGRvbmUKKyAgICApCisKKyAgICAjIGZpeCB0aGUgbW9kdWxlIGxvYWQgcGF0aCB3aXRoIHJ1bnRpbWUvLmxpYnMKKyAgICBmaW5kICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0gLW5hbWUgIiouY29uZiIgLW8gLW5hbWUgIiouc2giIC1vIC1uYW1lICIqLmMiIHwgeGFyZ3MgXAorICAgICAgICBzZWQgLWkgLWUgJ3M6Li4vcGx1Z2lucy8uKi8ubGlicy86Li4vcnVudGltZS8ubGlicy86ZycKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgorICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kIgorICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vaW5pdHNjcmlwdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzbG9nCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mCisgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9yc3lzbG9nLmxvZ3JvdGF0ZSAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9sb2dyb3RhdGUucnN5c2xvZworICAgIHNlZCAtaSAtZSAicyNAQklORElSQCMke2JpbmRpcn0jZyIgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvbG9ncm90YXRlLnJzeXNsb2cKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2ltam91cm5hbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQKKyAgICAgICAgZWNobyAnJE1vZExvYWQgaW1qb3VybmFsJyA+PiAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmQvaW1qb3VybmFsLmNvbmYKKyAgICBmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtiaW5kaXJ9IgorCitJTklUU0NSSVBUX05BTUUgPSAic3lzbG9nIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3JzeXNsb2cuY29uZiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCisKK1JQUk9WSURFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JSRVBMQUNFU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKK1JDT05GTElDVFNfJHtQTn0gKz0gIiR7UE59LXN5c3RlbWQiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtCUE59LnNlcnZpY2UiCisKK1JERVBFTkRTXyR7UE59ICs9ICJsb2dyb3RhdGUiCisKKyMgZm9yIHJzeXNsb2ctcHRlc3QKK1ZBTEdSSU5EID0gInZhbGdyaW5kIgorVkFMR1JJTkRfbWlwcyA9ICIiCitWQUxHUklORF9taXBzNjQgPSAiIgorVkFMR1JJTkRfbWlwczY0bjMyID0gIiIKK1ZBTEdSSU5EX2FybSA9ICIiCitWQUxHUklORF9hYXJjaDY0ID0gIiIKK1ZBTEdSSU5EX3Jpc2N2NjQgPSAiIgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIlwKKyAgbWFrZSBkaWZmdXRpbHMgZ3ppcCBiYXNoIGdhd2sgY29yZXV0aWxzIHByb2NwcyBcCisgIGxpYmdjYyBweXRob24tY29yZSBweXRob24taW8gXAorICAiCitSUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiJHtUQ0xJQkN9LWRiZyAke1ZBTEdSSU5EfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9yc3lzbG9nL3JzeXNsb2dfOC4zNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjM3LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmYjQzOTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3JzeXNsb2cvcnN5c2xvZ184LjM3LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNjYgKzAsMCBAQAotU1VNTUFSWSA9ICJSc3lzbG9nIGlzIGFuIGVuaGFuY2VkIG11bHRpLXRocmVhZGVkIHN5c2xvZ2QiCi1ERVNDUklQVElPTiA9ICJcCi1Sc3lzbG9nIGlzIGFuIGVuaGFuY2VkIHN5c2xvZ2Qgc3VwcG9ydGluZywgYW1vbmcgb3RoZXJzLCBNeVNRTCxcCi0gUG9zdGdyZVNRTCwgZmFpbG92ZXIgbG9nIGRlc3RpbmF0aW9ucywgc3lzbG9nL3RjcCwgZmluZSBncmFpblwKLSBvdXRwdXQgZm9ybWF0IGNvbnRyb2wsIGhpZ2ggcHJlY2lzaW9uIHRpbWVzdGFtcHMsIHF1ZXVlZCBvcGVyYXRpb25zXAotIGFuZCB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgb24gYW55IG1lc3NhZ2UgcGFydC4gSXQgaXMgcXVpdGVcCi0gY29tcGF0aWJsZSB0byBzdG9jayBzeXNrbG9nZCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50LlwKLSBJdHMgYWR2YW5jZWQgZmVhdHVyZXMgbWFrZSBpdCBzdWl0YWJsZSBmb3IgZW50ZXJwcmlzZS1jbGFzcyxcCi0gZW5jcnlwdGlvbiBwcm90ZWN0ZWQgc3lzbG9nIHJlbGF5IGNoYWlucyB3aGlsZSBhdCB0aGUgc2FtZSB0aW1lIGJlaW5nXAotIHZlcnkgZWFzeSB0byBzZXR1cCBmb3IgdGhlIG5vdmljZSB1c2VyLiIKLQotREVQRU5EUyA9ICJ6bGliIGxpYmVzdHIgbGliZmFzdGpzb24gYmlzb24tbmF0aXZlIGZsZXgtbmF0aXZlIGxpYmxvZ2dpbmciCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnJzeXNsb2cuY29tLyIKLUxJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMgJiBBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTFkOTYzNWU2NDZmYjc1ZTFiNzRjMDc0Zjc4OGU5NzMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWNiNzkwM2YxZTVjMzlhZTgzODIwOWUxMzBkY2EyNzBhIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuQVNMMjA7bWQ1PTA1MmY4YTA5MjA2NjE1YWIwNzMyNmZmOGNlMmQ5ZDMyXAotIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cucnN5c2xvZy5jb20vZG93bmxvYWQvZmlsZXMvZG93bmxvYWQvcnN5c2xvZy8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2luaXRzY3JpcHQgXAotICAgICAgICAgICBmaWxlOi8vcnN5c2xvZy5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL3JzeXNsb2cubG9ncm90YXRlIFwKLSAgICAgICAgICAgZmlsZTovL3VzZS1wa2djb25maWctdG8tY2hlY2stbGliZ2NyeXB0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9yc3lzbG9nLWZpeC1wdGVzdC1ub3QtZmluaXNoLnBhdGNoIFwKLSIKLQotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBcCi0gICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdGltZS1oLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImUwOTQyYjRiODhhMTM2MDJhNmI2MzUyYmY5ZjA1MDkxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NWMyODliNGM4YWJkOGY4ZjNmZTM1YTgzMjQ5YjczOWNlZGFiZTgyNzIxNzAyYjkxMDI1NWY5ZmFmMTQ3ZTciCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vcnN5c2xvZy9yc3lzbG9nL3JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZCBwdGVzdAotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZGlzYWJsZS1nZW5lcmF0ZS1tYW4tcGFnZXMgYXBfY3ZfYXRvbWljX2J1aWx0aW5zPXllcyIKLQotIyBmaXJzdCBsaW5lIGlzIGRlZmF1bHQgeWVzIGluIGNvbmZpZ3VyZQotUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCi0gICAgcnN5c2xvZ2QgcnN5c2xvZ3J0IGtsb2cgaW5ldCByZWdleHAgdXVpZCBsaWJnY3J5cHQgXAotICAgIGZtaHR0cCBpbWRpYWcgZ251dGxzIGltZmlsZSBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc25tcCBzeXN0ZW1kJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3B0ZXN0JywgJ3Rlc3RiZW5jaCByZWxwICR7VkFMR1JJTkR9JywgJycsIGQpfSBcCi0iCi0KLSMgZGVmYXVsdCB5ZXMgaW4gY29uZmlndXJlCi1QQUNLQUdFQ09ORklHW3JlbHBdID0gIi0tZW5hYmxlLXJlbHAsLS1kaXNhYmxlLXJlbHAsbGlicmVscCwiCi1QQUNLQUdFQ09ORklHW3JzeXNsb2dkXSA9ICItLWVuYWJsZS1yc3lzbG9nZCwtLWRpc2FibGUtcnN5c2xvZ2QsLCIKLVBBQ0tBR0VDT05GSUdbcnN5c2xvZ3J0XSA9ICItLWVuYWJsZS1yc3lzbG9ncnQsLS1kaXNhYmxlLXJzeXNsb2dydCwsIgotUEFDS0FHRUNPTkZJR1tmbWh0dHBdID0gIi0tZW5hYmxlLWZtaHR0cCwtLWRpc2FibGUtZm1odHRwLGN1cmwsIgotUEFDS0FHRUNPTkZJR1tpbmV0XSA9ICItLWVuYWJsZS1pbmV0LC0tZGlzYWJsZS1pbmV0LCwiCi1QQUNLQUdFQ09ORklHW2tsb2ddID0gIi0tZW5hYmxlLWtsb2csLS1kaXNhYmxlLWtsb2csLCIKLVBBQ0tBR0VDT05GSUdbcmVnZXhwXSA9ICItLWVuYWJsZS1yZWdleHAsLS1kaXNhYmxlLXJlZ2V4cCwsIgotUEFDS0FHRUNPTkZJR1t1dWlkXSA9ICItLWVuYWJsZS11dWlkLC0tZGlzYWJsZS11dWlkLHV0aWwtbGludXgsIgotUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIi0tZW5hYmxlLWxpYmdjcnlwdCwtLWRpc2FibGUtbGliZ2NyeXB0LGxpYmdjcnlwdCwiCi1QQUNLQUdFQ09ORklHW3Rlc3RiZW5jaF0gPSAiLS1lbmFibGUtdGVzdGJlbmNoIC0tZW5hYmxlLW9tc3Rkb3V0LC0tZGlzYWJsZS10ZXN0YmVuY2ggLS1kaXNhYmxlLW9tc3Rkb3V0LCwiCi0KLSMgZGVmYXVsdCBubyBpbiBjb25maWd1cmUKLVBBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnLC0tZGlzYWJsZS1kZWJ1ZywsIgotUEFDS0FHRUNPTkZJR1tpbWRpYWddID0gIi0tZW5hYmxlLWltZGlhZywtLWRpc2FibGUtaW1kaWFnLCwiCi1QQUNLQUdFQ09ORklHW2ltZmlsZV0gPSAiLS1lbmFibGUtaW1maWxlLC0tZGlzYWJsZS1pbWZpbGUsLCIKLVBBQ0tBR0VDT05GSUdbc25tcF0gPSAiLS1lbmFibGUtc25tcCwtLWRpc2FibGUtc25tcCxuZXQtc25tcCwiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS1lbmFibGUtZ251dGxzLC0tZGlzYWJsZS1nbnV0bHMsZ251dGxzLCIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kLCIKLVBBQ0tBR0VDT05GSUdbaW1qb3VybmFsXSA9ICItLWVuYWJsZS1pbWpvdXJuYWwsLS1kaXNhYmxlLWltam91cm5hbCwiCi1QQUNLQUdFQ09ORklHW215c3FsXSA9ICItLWVuYWJsZS1teXNxbCwtLWRpc2FibGUtbXlzcWwsbXlzcWw1LCIKLVBBQ0tBR0VDT05GSUdbcG9zdGdyZXNxbF0gPSAiLS1lbmFibGUtcGdzcWwsLS1kaXNhYmxlLXBnc3FsLHBvc3RncmVzcWwsIgotUEFDS0FHRUNPTkZJR1tsaWJkYmldID0gIi0tZW5hYmxlLWxpYmRiaSwtLWRpc2FibGUtbGliZGJpLGxpYmRiaSwiCi1QQUNLQUdFQ09ORklHW21haWxdID0gIi0tZW5hYmxlLW1haWwsLS1kaXNhYmxlLW1haWwsLCIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0tZW5hYmxlLXZhbGdyaW5kLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCwiCi0KLVRFU1RESVIgPSAidGVzdHMiCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIGVjaG8gJ2J1aWxkdGVzdC1URVNUUzogJChjaGVja19QUk9HUkFNUyknID4+ICR7VEVTVERJUn0vTWFrZWZpbGUKLSAgICBvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0gICAgIyBpbnN0YWxsIHRoZSB0ZXN0cwotICAgIGNwIC1yZiAke1N9LyR7VEVTVERJUn0gJHtEfSR7UFRFU1RfUEFUSH0KLSAgICBjcCAtcmYgJHtCfS8ke1RFU1RESVJ9ICR7RH0ke1BURVNUX1BBVEh9Ci0KLSAgICAjIGRvIE5PVCBuZWVkIHRvIHJlYnVpbGQgTWFrZWZpbGUgaXRzZWxmCi0gICAgc2VkIC1pICdzL15NYWtlZmlsZTouKiQvTWFrZWZpbGU6LycgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotICAgICMgZG8gTk9UIG5lZWQgdG8gcmVidWlsZCAkKGNoZWNrX1BST0dSQU1TKQotICAgIHNlZCAtaSAncy9eY2hlY2stVEVTVFM6LiokL2NoZWNrLVRFU1RTOi8nICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLQotICAgICMgZml4IHRoZSBzcmNkaXIsIHRvcF9zcmNkaXIKLSAgICBzZWQgLWkgJ3MsXlwoc3JjZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vdGVzdHMsJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgc2VkIC1pICdzLF5cKHRvcF9zcmNkaXIgPSBcKS4qLFwxJHtQVEVTVF9QQVRIfS90ZXN0cywnICR7RH0ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLSAgICAjIGZpeCB0aGUgYWJzX3RvcF9idWlsZGRpcgotICAgIHNlZCAtaSAncyxeXChhYnNfdG9wX2J1aWxkZGlyID0gXCkuKixcMSR7UFRFU1RfUEFUSH0vLCcgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfS9NYWtlZmlsZQotCi0gICAgIyB2YWxncmluZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGFybSBhbmQgbWlwcywKLSAgICAjIHNvIHJlbW92ZSByZWxhdGVkIHRlc3QgY2FzZXMgaWYgdGhlcmUgaXMgbm8gdmFsZ3JpbmQuCi0gICAgaWYgWyB4JHtWQUxHUklORH0gPSB4IF07IHRoZW4KLSAgICAgICAgc2VkIC1pICcvdWRwLW1zZ3JlZHVjLS9kJyAke0R9JHtQVEVTVF9QQVRIfS8ke1RFU1RESVJ9L01ha2VmaWxlCi0gICAgZmkKLQotICAgICMgaW5zdGFsbCB0ZXN0LWRyaXZlcgotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0KLQotICAgICMgaW5zdGFsbCBuZWNlc3NhcnkgbGlua3MKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rvb2xzCi0gICAgbG4gLXNmICR7c2JpbmRpcn0vcnN5c2xvZ2QgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMvcnN5c2xvZ2QKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZQotICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vcnVudGltZS8ubGlicwotICAgICgKLSAgICAgICAgY2QgJHtEfS8ke2xpYmRpcn0vcnN5c2xvZwotICAgICAgICBhbGxzbz0iKi5zbyIKLSAgICAgICAgZm9yIGkgaW4gJGFsbHNvOyBkbwotICAgICAgICAgICAgbG4gLXNmICR7bGliZGlyfS9yc3lzbG9nLyRpICR7RH0ke1BURVNUX1BBVEh9L3J1bnRpbWUvLmxpYnMvJGkKLSAgICAgICAgZG9uZQotICAgICkKLQotICAgICMgZml4IHRoZSBtb2R1bGUgbG9hZCBwYXRoIHdpdGggcnVudGltZS8ubGlicwotICAgIGZpbmQgJHtEfSR7UFRFU1RfUEFUSH0vJHtURVNURElSfSAtbmFtZSAiKi5jb25mIiAtbyAtbmFtZSAiKi5zaCIgLW8gLW5hbWUgIiouYyIgfCB4YXJncyBcCi0gICAgICAgIHNlZCAtaSAtZSAnczouLi9wbHVnaW5zLy4qLy5saWJzLzouLi9ydW50aW1lLy5saWJzLzpnJwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0gICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQiCi0gICAgaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS9pbml0c2NyaXB0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXNsb2cKLSAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JzeXNsb2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yc3lzbG9nLmNvbmYKLSAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3JzeXNsb2cubG9ncm90YXRlICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2xvZ3JvdGF0ZS5yc3lzbG9nCi0gICAgc2VkIC1pIC1lICJzI0BCSU5ESVJAIyR7YmluZGlyfSNnIiAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9sb2dyb3RhdGUucnN5c2xvZwotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnaW1qb3VybmFsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgaW5zdGFsbCAtZCAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuZAotICAgICAgICBlY2hvICckTW9kTG9hZCBpbWpvdXJuYWwnID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3JzeXNsb2cuZC9pbWpvdXJuYWwuY29uZgotICAgIGZpCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2JpbmRpcn0iCi0KLUlOSVRTQ1JJUFRfTkFNRSA9ICJzeXNsb2ciCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcnN5c2xvZy5jb25mIgotCi1SQ09ORkxJQ1RTXyR7UE59ID0gImJ1c3lib3gtc3lzbG9nIHN5c2tsb2dkIHN5c2xvZy1uZyIKLQotUlBST1ZJREVTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUlJFUExBQ0VTXyR7UE59ICs9ICIke1BOfS1zeXN0ZW1kIgotUkNPTkZMSUNUU18ke1BOfSArPSAiJHtQTn0tc3lzdGVtZCIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0gKz0gImxvZ3JvdGF0ZSIKLQotIyBmb3IgcnN5c2xvZy1wdGVzdAotVkFMR1JJTkQgPSAidmFsZ3JpbmQiCi1WQUxHUklORF9taXBzID0gIiIKLVZBTEdSSU5EX21pcHM2NCA9ICIiCi1WQUxHUklORF9taXBzNjRuMzIgPSAiIgotVkFMR1JJTkRfYXJtID0gIiIKLVZBTEdSSU5EX2FhcmNoNjQgPSAiIgotVkFMR1JJTkRfcmlzY3Y2NCA9ICIiCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAibWFrZSBkaWZmdXRpbHMgZ3ppcCBiYXNoIGdhd2sgY29yZXV0aWxzIHByb2NwcyIKLVJSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICIke1RDTElCQ30tZGJnICR7VkFMR1JJTkR9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tfMC41LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva18wLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTUyY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9saWJzaWdyb2tfMC41LjEuYmIKQEAgLTAsMCArMSwyMyBAQAorREVTQ1JJUFRJT04gPSAibGlic2lncm9rIGlzIGEgc2hhcmVkIGxpYnJhcnkgd3JpdHRlbiBpbiBDLCB3aGljaCBwcm92aWRlcyB0aGUgYmFzaWMgaGFyZHdhcmUgYWNjZXNzIGRyaXZlcnMgZm9yIGxvZ2ljIGFuYWx5emVycyBhbmQgb3RoZXIgc3VwcG9ydGVkIGRldmljZXMsIGFzIHdlbGwgYXMgaW5wdXQvb3V0cHV0IGZpbGUgZm9ybWF0IHN1cHBvcnQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NpZ3Jvay5vcmcvd2lraS9NYWluX1BhZ2UiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ6aXAiCisKK1BBQ0tBR0VDT05GSUdbc2VyaWFscG9ydF0gPSAiLS13aXRoLWxpYnNlcmlhbHBvcnQsLS13aXRob3V0LWxpYnNlcmlhbHBvcnQsbGlic2VyaWFscG9ydCIKK1BBQ0tBR0VDT05GSUdbZnRkaV0gPSAiLS13aXRoLWxpYmZ0ZGksLS13aXRob3V0LWxpYmZ0ZGksbGliZnRkaSIKK1BBQ0tBR0VDT05GSUdbdXNiXSA9ICItLXdpdGgtbGlidXNiLC0td2l0aG91dC1saWJ1c2IsbGlidXNiIgorUEFDS0FHRUNPTkZJR1tjeHhdID0gIi0tZW5hYmxlLWN4eCwtLWRpc2FibGUtY3h4LGdsaWJtbSBkb3h5Z2VuLW5hdGl2ZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInNlcmlhbHBvcnQgZnRkaSB1c2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImh0dHA6Ly9zaWdyb2sub3JnL2Rvd25sb2FkL3NvdXJjZS9saWJzaWdyb2svbGlic2lncm9rLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImEzZGU5ZTUyYTY2MGU1MWQyN2E2YWNhMDI1ZDIwNGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU0MGZkZTdhZjk4ZDI5ZTkyMmU5ZDNjYmUwYTZjMDU2OTg4OTE1M2ZjMzFlNDdiOGIxYWZlNGQ4NDYyOTJiOWMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9LyoiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva2RlY29kZV8wLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zaWdyb2svbGlic2lncm9rZGVjb2RlXzAuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZTFlNDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL2xpYnNpZ3Jva2RlY29kZV8wLjUuMi5iYgpAQCAtMCwwICsxLDE0IEBACitERVNDUklQVElPTiA9ICJsaWJzaWdyb2tkZWNvZGUgaXMgYSBzaGFyZWQgbGlicmFyeSB3cml0dGVuIGluIEMsIHdoaWNoIHByb3ZpZGVzIChzdHJlYW1pbmcpIHByb3RvY29sIGRlY29kaW5nIGZ1bmN0aW9uYWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NpZ3Jvay5vcmcvd2lraS9NYWluX1BhZ2UiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJnbGliLTIuMCBweXRob24zIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworU1JDX1VSSSA9ICJodHRwOi8vc2lncm9rLm9yZy9kb3dubG9hZC9zb3VyY2UvbGlic2lncm9rZGVjb2RlL2xpYnNpZ3Jva2RlY29kZS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiOTAzM2JjN2U2OGJjMTdmZmZmZmQ0ZmRkNzkzZjVhMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlMDhkOWU3OTdjNTRlY2NmMzE0NGRhNjMxYjZlNWYxNDk4YWM1MzFlNTE1MjA0MjhkZjUzN2ExZGE4MjU4M2YwIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9zaWdyb2stY2xpXzAuNy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NpZ3Jvay9zaWdyb2stY2xpXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMWJjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc2lncm9rL3NpZ3Jvay1jbGlfMC43LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorREVTQ1JJUFRJT04gPSAic2lncm9rLWNsaSBpcyBhIGNvbW1hbmQtbGluZSBmcm9udGVuZCBmb3Igc2lncm9rLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9zaWdyb2sub3JnL3dpa2kvTWFpbl9QYWdlIgorCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK0RFUEVORFMgPSAibGlic2lncm9rIgorCitQQUNLQUdFQ09ORklHW2RlY29kZV0gPSAiLS13aXRoLWxpYnNpZ3Jva2RlY29kZSwtLXdpdGhvdXQtbGlic2lncm9rZGVjb2RlLGxpYnNpZ3Jva2RlY29kZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImRlY29kZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cDovL3NpZ3Jvay5vcmcvZG93bmxvYWQvc291cmNlL3NpZ3Jvay1jbGkvc2lncm9rLWNsaS0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3N2NiNzQ1ZTJmYTIzOWM3YmQxZWE4MWUyZDY3ZWRlOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NjY5ZDk2OGMyZGUzZGZjNmFkZmRhNzZlODM3ODliNmJhNzYzNjg0MDdjODMyNDM4Y2VmNWU3MDk5YTY1ZTFjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvMDAwMS1vc19saW51eC5jcHAtVXNlLXJlYWxwYXRoLUJTRC1QT1NJWC1pbnN0ZWFkLW9mLWNhbm9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvZmlsZXMvMDAwMS1vc19saW51eC5jcHAtVXNlLXJlYWxwYXRoLUJTRC1QT1NJWC1pbnN0ZWFkLW9mLWNhbm9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MWU2NGQyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL2ZpbGVzLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZjI4YWExODhlNWIwZWE4NTM2OWZlYmU2NTdiODgwN2I4MDI1MDM4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGNocmZyYW5rZSA8YXV0aG9yc0BzbWFydG1vbnRvb2xzLm9yZz4KLURhdGU6IFdlZCwgOCBOb3YgMjAxNyAwNjoxNTo1MCArMDAwMAotU3ViamVjdDogW1BBVENIXSBvc19saW51eC5jcHA6IFVzZSAncmVhbHBhdGgoKScgKEJTRCwgUE9TSVgpIGluc3RlYWQgb2YKLSAnY2Fub25pY2FsaXplX2ZpbGVfbmFtZSgpJyAoR05VIGV4dGVuc2lvbikuIFRoaXMgZml4ZXMgYnVpbGQgb24gc3lzdGVtcyB3aXRoCi0gbXVzbCBsaWJjICgjOTIxKS4KLQotZ2l0LXN2bi1pZDogaHR0cDovL3N2bi5jb2RlLnNmLm5ldC9wL3NtYXJ0bW9udG9vbHMvY29kZS90cnVua0A0NjAzIDRlYTY5ZTFhLTYxZjEtNDA0My1iZjgzLWI1Yzk0YzY0ODEzNwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3d3dy5zbWFydG1vbnRvb2xzLm9yZy90aWNrZXQvOTIxXQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIG9zX2xpbnV4LmNwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL29zX2xpbnV4LmNwcCBiL29zX2xpbnV4LmNwcAotaW5kZXggMTM0ZDViYy4uOTM1ZjljNyAxMDA2NDQKLS0tLSBhL29zX2xpbnV4LmNwcAotKysrIGIvb3NfbGludXguY3BwCi1AQCAtMzE3Niw3ICszMTc2LDcgQEAgc3RhdGljIGJvb2wgaXNfaHBzYShjb25zdCBjaGFyICogbmFtZSkKLSB7Ci0gICBjaGFyIHBhdGhbMTI4XTsKLSAgIHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9zeXMvYmxvY2svJXMvZGV2aWNlIiwgbmFtZSk7Ci0tICBjaGFyICogc3lzaG9zdHBhdGggPSBjYW5vbmljYWxpemVfZmlsZV9uYW1lKHBhdGgpOwotKyAgY2hhciAqIHN5c2hvc3RwYXRoID0gcmVhbHBhdGgobmFtZSwgKGNoYXIgKikwKTsKLSAgIGlmICghc3lzaG9zdHBhdGgpCi0gICAgIHJldHVybiBmYWxzZTsKLSAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC9zbWFydG1vbnRvb2xzL3NtYXJ0bW9udG9vbHNfNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3N2MxMDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc182LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1TVU1NQVJZID0gIkNvbnRyb2wgYW5kIG1vbml0b3Igc3RvcmFnZSBzeXN0ZW1zIHVzaW5nIFMuTS5BLlIuVCIKLURFU0NSSVBUSU9OID0gIlwKLVRoZSBzbWFydG1vbnRvb2xzIHBhY2thZ2UgY29udGFpbnMgdHdvIHV0aWxpdHkgcHJvZ3JhbXMgKHNtYXJ0Y3RsIFwKLWFuZCBzbWFydGQpIHRvIGNvbnRyb2wgYW5kIG1vbml0b3Igc3RvcmFnZSBzeXN0ZW1zIHVzaW5nIHRoZSBTZWxmLVwKLU1vbml0b3JpbmcsIEFuYWx5c2lzIGFuZCBSZXBvcnRpbmcgVGVjaG5vbG9neSBTeXN0ZW0gKFNNQVJUKSBidWlsdCBcCi1pbnRvIG1vc3QgbW9kZXJuIEFUQSBhbmQgU0NTSSBoYXJkIGRpc2tzLiBJbiBtYW55IGNhc2VzLCB0aGVzZSBcCi11dGlsaXRpZXMgd2lsbCBwcm92aWRlIGFkdmFuY2VkIHdhcm5pbmcgb2YgZGlzayBkZWdyYWRhdGlvbiBhbmQgZmFpbHVyZS4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9zbWFydG1vbnRvb2xzLnNvdXJjZWZvcmdlLm5ldC8iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0ZC5zbWFydGQgXAotICAgICAgICAgICBmaWxlOi8vc21hcnRtb250b29scy5kZWZhdWx0IFwKLSAgICAgICAgICAgZmlsZTovL3NtYXJ0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3NfbGludXguY3BwLVVzZS1yZWFscGF0aC1CU0QtUE9TSVgtaW5zdGVhZC1vZi1jYW5vbi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmNhcC1uZyBzZWxpbnV4JywgZCl9IgotUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1saWJjYXAtbmc9eWVzLC0td2l0aC1saWJjYXAtbmc9bm8sbGliY2FwLW5nIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eD15ZXMsLS13aXRoLXNlbGludXg9bm8sbGlic2VsaW51eCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjlhZTJjNmU3MTMxY2QyODEzZWRjYzY1Y2JlNWYyMjNmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxZjQzZDBmYjA2NGZjY2FmODIzYmJlNjhjZjBkMzE3ZDA4OTVmZjg5NWFhMzUzYjMzMzlhM2IzMTZhNTMwNTQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInNtYXJ0ZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgI2luc3RhbGwgdGhlIGluaXQuZC9zbWFydGQKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1dPUktESVJ9L2luaXRkLnNtYXJ0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc21hcnRkCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0gICAgaW5zdGFsbCAtcCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRtb250b29scy5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc21hcnRtb250b29scwotCi0gICAgI2luc3RhbGwgc3lzdGVtZCBzZXJ2aWNlIGZpbGUKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCi0gICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLSAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbWFydGQuc2VydmljZQotfQotCi1JTklUU0NSSVBUX05BTUUgPSAic21hcnRkIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKLQotUkRFUEVORFNfJHtQTn0gKz0gIm1haWx4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc183LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvc21hcnRtb250b29scy9zbWFydG1vbnRvb2xzXzcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTg0NTY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29sc183LjAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJDb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyBTLk0uQS5SLlQiCitERVNDUklQVElPTiA9ICJcCitUaGUgc21hcnRtb250b29scyBwYWNrYWdlIGNvbnRhaW5zIHR3byB1dGlsaXR5IHByb2dyYW1zIChzbWFydGN0bCBcCithbmQgc21hcnRkKSB0byBjb250cm9sIGFuZCBtb25pdG9yIHN0b3JhZ2Ugc3lzdGVtcyB1c2luZyB0aGUgU2VsZi1cCitNb25pdG9yaW5nLCBBbmFseXNpcyBhbmQgUmVwb3J0aW5nIFRlY2hub2xvZ3kgU3lzdGVtIChTTUFSVCkgYnVpbHQgXAoraW50byBtb3N0IG1vZGVybiBBVEEgYW5kIFNDU0kgaGFyZCBkaXNrcy4gSW4gbWFueSBjYXNlcywgdGhlc2UgXAordXRpbGl0aWVzIHdpbGwgcHJvdmlkZSBhZHZhbmNlZCB3YXJuaW5nIG9mIGRpc2sgZGVncmFkYXRpb24gYW5kIGZhaWx1cmUuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc21hcnRtb250b29scy5zb3VyY2Vmb3JnZS5uZXQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3NtYXJ0bW9udG9vbHMvc21hcnRtb250b29scy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vaW5pdGQuc21hcnRkIFwKKyAgICAgICAgICAgZmlsZTovL3NtYXJ0bW9udG9vbHMuZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9zbWFydGQuc2VydmljZSBcCisgICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmNhcC1uZyBzZWxpbnV4JywgZCl9IgorUEFDS0FHRUNPTkZJR1tsaWJjYXAtbmddID0gIi0td2l0aC1saWJjYXAtbmc9eWVzLC0td2l0aC1saWJjYXAtbmc9bm8sbGliY2FwLW5nIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eD15ZXMsLS13aXRoLXNlbGludXg9bm8sbGlic2VsaW51eCIKKworU1JDX1VSSVttZDVzdW1dID0gImIyYTgwZTQ3ODlhZjIzZDY3ZGZlMWU4OGE5OTdhYmJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImU1ZTFhYzI3ODZiYzg3ZmRiZDZmOTJkMGVlNzUxYjc5OWZiYjNlMWEwOWMwYTZhMzc5ZjllYjY0YjNlOGY2MWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInNtYXJ0ZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgI2luc3RhbGwgdGhlIGluaXQuZC9zbWFydGQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1dPUktESVJ9L2luaXRkLnNtYXJ0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc21hcnRkCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgaW5zdGFsbCAtcCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRtb250b29scy5kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvc21hcnRtb250b29scworCisgICAgI2luc3RhbGwgc3lzdGVtZCBzZXJ2aWNlIGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc21hcnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisgICAgICAgIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKyAgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zbWFydGQuc2VydmljZQorfQorCitJTklUU0NSSVBUX05BTUUgPSAic21hcnRkIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgNjAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKKworUkRFUEVORFNfJHtQTn0gKz0gIm1haWx4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RyaWdnZXJoYXBweS90cmlnZ2VyaGFwcHlfMC41LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdHJpZ2dlcmhhcHB5L3RyaWdnZXJoYXBweV8wLjUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzdjZTA2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3RyaWdnZXJoYXBweS90cmlnZ2VyaGFwcHlfMC41LjAuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJBIGxpZ2h0d2VpZ2h0IGhvdGtleSBkYWVtb24iCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vd2VydGFyYnl0ZS90cmlnZ2VyaGFwcHkiCisKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vd2VydGFyYnl0ZS90cmlnZ2VyaGFwcHkvYXJjaGl2ZS9kZWJpYW4vMC41LjAtMS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3N2Y5MGExOGM3NzVlNDdjNGM1ZTllMDg5ODdjYTMyZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MTUwYmFmYmY3ZjJkZTdkNTdlNmNjMTU0Njc2YzMzZGE5OGRjMTFhYzY0NDJlMWNhNTdlNWRjZTgyYmQ0MjkyIgorCitTID0gIiR7V09SS0RJUn0vJHtQTn0tZGViaWFuLSR7UFZ9LTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgdXBkYXRlLXJjLmQgc3lzdGVtZAorCitQQUNLQUdFQ09ORklHID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICIsLHN5c3RlbWQiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ0cmlnZ2VyaGFwcHkiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ0cmlnZ2VyaGFwcHkuc2VydmljZSB0cmlnZ2VyaGFwcHkuc29ja2V0IgorCitGSUxFU18ke1BOfSA9ICJcCiske3NiaW5kaXJ9L3RoZCBcCiske3NiaW5kaXJ9L3RoLWNtZCBcCiske3N5c2NvbmZkaXJ9L3RyaWdnZXJoYXBweS90cmlnZ2Vycy5kIFwKKyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzgwLXRyaWdnZXJoYXBweS5ydWxlcyBcCiske3N5c2NvbmZkaXJ9L2luaXQuZC90cmlnZ2VyaGFwcHkgXAorJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSBcCisiCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvODAtdHJpZ2dlcmhhcHB5LnJ1bGVzIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RyaWdnZXJoYXBweS90cmlnZ2Vycy5kCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3VkZXYvdHJpZ2dlcmhhcHB5LXVkZXYucnVsZXMgJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzgwLXRyaWdnZXJoYXBweS5ydWxlcworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9kZWJpYW4vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlnZ2VyaGFwcHkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vc3lzdGVtZC90cmlnZ2VyaGFwcHkuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3N5c3RlbWQvdHJpZ2dlcmhhcHB5LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG0vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG0vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOWExOTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbS8wMDAxLUNNYWtlTGlzdHMudHh0LVVzZS1TV0lHX1NVUFBPUlRfRklMRVMtdG8tZmluZC10aGUtbGkucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAzNzA3ZjQ2N2Y5YTI2YTdkZjNkNDEzODUwMjNiNDNjM2QwODkxMWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFuanVrdW1hciBNYXRoYSA8bWFuanVrdW1hci5oYXJ0aGlrb3RlLW1hdGhhQHhpbGlueC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDE3OjQ2OjUyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdW3YzXSBDTWFrZUxpc3RzLnR4dDogVXNlIFNXSUdfU1VQUE9SVF9GSUxFUyB0byBmaW5kIHRoZSBsaXN0Cisgb2YgZ2VuZXJhdGVkIGZpbGVzIGZvciBjbWFrZSB2ZXJzaW9uIDMuMTIgb3IgaGlnaGVyCisKK1VzZSBTV0lHX1NVUFBPUlRfRklMRVMgdG8gZmluZCB0aGUgbGlzdCBvZiBweXRob24gZmlsZXMgZ2VuZXJhdGVkIGJ5CitDTWFrZSBTd2lnIG1vZHVsZSBhbmQgaW5zdGFsbCB0aG9zZSBmaWxlcy4gVGhpcyBzaG91bGQgYmUgYXBwbGljYWJsZSB0bworY21ha2UgdmVyc2lvbiAzLjEyIG9yIGhpZ2hlcgorCitTaWduZWQtb2ZmLWJ5OiBNYW5qdWt1bWFyIE1hdGhhIDxtYW5qdWt1bWFyLmhhcnRoaWtvdGUtbWF0aGFAeGlsaW54LmNvbT4KKy0tLQorIHNyYy9DTWFrZUxpc3RzLnR4dCB8IDggKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGUxOWNkYTIuLmI1NjU4MTQgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFrZUxpc3RzLnR4dAorQEAgLTMzNyw4ICszMzcsMTQgQEAgbWFjcm8oX3VwbV9zd2lnX3B5dGhvbikKKyAgICAgICBPVVRQVVRfTkFNRSBfcHl1cG1fJHtsaWJuYW1lfQorICAgICAgIExJQlJBUllfT1VUUFVUX0RJUkVDVE9SWSAke0NNQUtFX0NVUlJFTlRfUFlUSE9OX0JJTkFSWV9ESVJ9KQorIAorKyAgaWYgKENNQUtFX1ZFUlNJT04gVkVSU0lPTl9MRVNTICIzLjEyIikKKysgICAgIHNldChzdXBwb3J0X2ZpbGVzICR7c3dpZ19leHRyYV9nZW5lcmF0ZWRfZmlsZXN9KQorKyAgZWxzZSgpCisrICAgICBnZXRfcHJvcGVydHkoc3VwcG9ydF9maWxlcyBUQVJHRVQgXyR7cHl0aG9uX3dyYXBwZXJfbmFtZX0gUFJPUEVSVFkgU1dJR19TVVBQT1JUX0ZJTEVTKQorKyAgZW5kaWYoKQorKworICAgIyBJbnN0YWxsIC5weSdzIHRvIHB5dGhvbiBwYWNrYWdlcyBkaXJlY3RvcnkvdXBtCistICBpbnN0YWxsIChGSUxFUyAke3N3aWdfZXh0cmFfZ2VuZXJhdGVkX2ZpbGVzfQorKyAgaW5zdGFsbCAoRklMRVMgJHtzdXBwb3J0X2ZpbGVzfQorICAgICAgIERFU1RJTkFUSU9OICR7UFlUSE9OX1BBQ0tBR0VTX1BBVEh9L3VwbQorICAgICAgIENPTVBPTkVOVCAke0NNQUtFX1BST0pFQ1RfTkFNRX0tcHl0aG9uJHtQWVRIT05fVkVSU0lPTl9NQUpPUn0pCisgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1leHRlbmRlZC91cG0vdXBtX2dpdC5iYgppbmRleCBiYWJlNWY0Li44ODU0YTMzIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdXBtL3VwbV9naXQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3VwbS91cG1fZ2l0LmJiCkBAIC0xMyw2ICsxMyw3IEBACiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vaW50ZWwtaW90LWRldmtpdC8ke0JQTn0uZ2l0O3Byb3RvY29sPWh0dHAgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1SZXBsYWNlLXN0cm5jcHktd2l0aC1tZW1jcHkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy10eXBlcy5oLWZvci11aW50LWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZUxpc3RzLnR4dC1Vc2UtU1dJR19TVVBQT1JUX0ZJTEVTLXRvLWZpbmQtdGhlLWxpLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtMjAsNyArMjEsNyBAQAogIyBEZXBlbmRzIG9uIG1yYWEgd2hpY2ggb25seSBzdXBwb3J0cyB4ODYgYW5kIEFSTSBmb3Igbm93CiBDT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKnxhYXJjaDY0Lip8YXJtLiopLWxpbnV4IgogCi1pbmhlcml0IGRpc3R1dGlsczMtYmFzZSBjbWFrZQoraW5oZXJpdCBkaXN0dXRpbHMzLWJhc2UgY21ha2UgcGtnY29uZmlnCiAKICMgb3ZlcnJpZGUgdGhpcyBpbiBsb2NhbC5jb25mIHRvIGdldCBuZWVkZWQgYmluZGluZ3MuCiAjIEJJTkRJTkdTX3BuLXVwbT0icHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQxYjIwYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIlRoZSB2b2x1bWVfa2V5IHByb2plY3QgcHJvdmlkZXMgYSBsaWJ2b2x1bWVfa2V5LCBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBcCi1zdG9yYWdlIHZvbHVtZSBlbmNyeXB0aW9uIGtleXMgYW5kIHN0b3JpbmcgdGhlbSBzZXBhcmF0ZWx5IGZyb20gdm9sdW1lcywgYW5kIGFuIFwKLWFzc29jaWF0ZWQgY29tbWFuZC1saW5lIHRvb2wsIG5hbWVkIHZvbHVtZV9rZXkuIgotTElDRU5TRSA9ICJHUEx2MiIKLVNFQ1RJT04gPSAiZGV2ZWwvbGliIgotCi1IT01FUEFHRSA9ICJodHRwczovL3BhZ3VyZS5pby92b2x1bWVfa2V5IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICJodHRwczovL3JlbGVhc2VzLnBhZ3VyZS5vcmcvdm9sdW1lX2tleS92b2x1bWVfa2V5LSR7UFZ9LnRhci54eiBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiMzBkZjU2Yzc3NDNlYjdjOTY1MjkzYjNkNjExOTQyMzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTZiMjc5YzI1YWU0NzdiNTU1ZjkzOGRiMmU0MTgxOGY5MGM4Y2RlOTQyYjBlZWM5MmY3MGI2Yzc3MjA5NWY2ZCIKLQotU1JDTkFNRSA9ICJ2b2x1bWVfa2V5IgotUyA9ICIke1dPUktESVJ9LyR7U1JDTkFNRX0tJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB5dGhvbjNuYXRpdmUgZ2V0dGV4dAotCi1ERVBFTkRTICs9ICIgXAotICAgIHV0aWwtbGludXggXAotICAgIGdsaWItMi4wIFwKLSAgICBjcnlwdHNldHVwIFwKLSAgICBuc3MgXAotICAgIGdwZ21lIFwKLSAgICBzd2lnLW5hdGl2ZSBcCi0iCi0KLVJERVBFTkRTX3B5dGhvbjMtJHtQTn0gKz0gIiR7UE59IgotCi1QQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKLUZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZXh0ZW5kZWQvdm9sdW1lX2tleS92b2x1bWUta2V5XzAuMy4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOThjYTVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWV4dGVuZGVkL3ZvbHVtZV9rZXkvdm9sdW1lLWtleV8wLjMuMTIuYmIKQEAgLTAsMCArMSwzOCBAQAorREVTQ1JJUFRJT04gPSAiVGhlIHZvbHVtZV9rZXkgcHJvamVjdCBwcm92aWRlcyBhIGxpYnZvbHVtZV9rZXksIGEgbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIFwKK3N0b3JhZ2Ugdm9sdW1lIGVuY3J5cHRpb24ga2V5cyBhbmQgc3RvcmluZyB0aGVtIHNlcGFyYXRlbHkgZnJvbSB2b2x1bWVzLCBhbmQgYW4gXAorYXNzb2NpYXRlZCBjb21tYW5kLWxpbmUgdG9vbCwgbmFtZWQgdm9sdW1lX2tleS4iCitMSUNFTlNFID0gIkdQTHYyIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCisKK0hPTUVQQUdFID0gImh0dHBzOi8vcGFndXJlLmlvL3ZvbHVtZV9rZXkiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy92b2x1bWVfa2V5L3ZvbHVtZV9rZXktJHtQVn0udGFyLnh6IFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMDA1OTEyOTAxNzNjM2VhNzE1Mjg0MTE4MzhmOTA4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2Y2EzNzQ4ZmMxZGFkMjJjNDUwYmJmNjYwMWQ0ZTcwNmNiMTFjNWU2NjJkMTFiYjRhZWI0NzNhOWNkNzczMDliIgorCitTUkNOQU1FID0gInZvbHVtZV9rZXkiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHl0aG9uM25hdGl2ZSBnZXR0ZXh0CisKK0RFUEVORFMgKz0gIiBcCisgICAgdXRpbC1saW51eCBcCisgICAgZ2xpYi0yLjAgXAorICAgIGNyeXB0c2V0dXAgXAorICAgIG5zcyBcCisgICAgZ3BnbWUgXAorICAgIHN3aWctbmF0aXZlIFwKKyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMiCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXB5dGhvbiwtLXdpdGhvdXQtcHl0aG9uLHB5dGhvbixweXRob24iCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLC0td2l0aG91dC1weXRob24zLHB5dGhvbjMscHl0aG9uMyIKKworUkRFUEVORFNfcHl0aG9uMy0ke1BOfSArPSAiJHtQTn0iCisKK1BBQ0tBR0VTICs9ICJweXRob24zLSR7UE59IgorRklMRVNfcHl0aG9uMy0ke1BOfSA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjQuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yNC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDc3NzRiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDKysgYmluZGluZ3MgZm9yIHRoZSBhdGsiCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1ERVBFTkRTID0gImF0ayBnbGlibW0iCi0KLWluaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdub21lIGF1dG90b29scyBwa2djb25maWcKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZDUzYjYwYjBmMWJlNTk3ZTg2MDcwOTU0YTQ5Y2YwYzMiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmZjk1Mzg1NzU5ZTJhZjIzODI4ZDQwNTYzNTZmMjUzNzZjZmFiYzQxZTY5MGFjMWRmMDU1MzcxNTM3ZTQ1OGJkIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9hdGsvYXRrbW1fMi4yOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzZjRmMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvYXRrL2F0a21tXzIuMjguMC5iYgpAQCAtMCwwICsxLDE5IEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIGF0ayIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiYXRrIGdsaWJtbSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ25vbWUgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI2MTk0YWM1NzdmMTU1NjdhZGZhM2M5MjM5NDRjNjY1MSIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjRjNGNmYzkxN2ZkNDJkMzg3OWNlOTk3YjQ2MzQyOGQ2OTgyYWZmYTBmYjY2MGNhZmNjMGJjMmQ5YWZjZWRkM2EiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS8qL2luY2x1ZGUgJHtsaWJkaXJ9LyovcHJvYy9tNCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjIyLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmI1NGRkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9ndGsrL2d0a21tM18zLjIyLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIEdUSysgdG9vbGtpdCBWMyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgPSAiYXRrbW0gcGFuZ29tbSBnbGlibW0gZ3RrKzMgY2Fpcm9tbSIKLQotQlBOID0gImd0a21tIgotCi1pbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODgzZTkwNDY3NjhiM2E1YWZjOGUzNjU5ODg4MjNlNzciCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI5MWFmZDk4YTMxNTE5NTM2ZjVmMzk3YzJkNzk2OTZlM2Q1MzE0M2I4MGI3NTc3ODUyMWNhN2I0OGNiMjgwMDkwIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZG8tbm90LWJ1aWxkLWRlbW9zLnBhdGNoIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGttbTNfMy4yNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjQuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZGQwNTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdub21lL2d0aysvZ3RrbW0zXzMuMjQuMS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIEdUSysgdG9vbGtpdCBWMyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrbW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy50b29sczttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK0RFUEVORFMgPSAiYXRrbW0gcGFuZ29tbSBnbGlibW0gZ3RrKzMgY2Fpcm9tbSIKKworQlBOID0gImd0a21tIgorCitpbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTUyNGVkNGU1YzgyMWQxM2VlZGE0OWJhMmE3OGYwMjQiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkZGZlNDJlZDI0NThhMjBhMzRkZTI1Mjg1NGJjZjRiNTJkM2YwYzY3MWMwNDVmNTZiNDJhYTI3Yzc1NDJkMmZkIgorU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZG8tbm90LWJ1aWxkLWRlbW9zLnBhdGNoIgorCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlICR7bGliZGlyfS8qL3Byb2MvbTQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlicGVhcy9saWJwZWFzXzEuMjIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1nbm9tZS9saWJwZWFzL2xpYnBlYXNfMS4yMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxZWFkMDYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ25vbWUvbGlicGVhcy9saWJwZWFzXzEuMjIuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gImxpYnBlYXMgaXMgYSBnb2JqZWN0LWJhc2VkIHBsdWdpbnMgZW5naW5lIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9MaWJwZWFzIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00YjU0YTFmZDU1YTQ0ODg2NWEwYjMyZDQxNTk4NzU5ZCIKKworREVQRU5EUyA9ICJnbm9tZS1jb21tb24gZ3RrKzMgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IGdub21lYmFzZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYyBndGstaWNvbi1jYWNoZQorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJhMjBkYzU1YzNmODhhZDA2ZGE5NDkxY2ZkN2RlNzU1OCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjViMmZjMGY1Mzk2MmIyNWJjYTEzMWE1ZWMwMTM5ZTZmZWY4ZTI1NDQ4MWI2ZTc3Nzk3NWY3YTFkMjcwMmE5NjIiCisKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS1lbmFibGUtcHl0aG9uMywtLWRpc2FibGUtcHl0aG9uMyxweXRob24zLXB5Z29iamVjdCIKKworZXhwb3J0IEdJUl9FWFRSQV9MSUJTX1BBVEggPSAiJHtCfS9saWJwZWFzLy5saWJzIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZGVtbyAke1BOfS1weXRob24zIgorRklMRVNfJHtQTn0tZGVtbyA9ICIgXAorICAgICR7YmluZGlyfS9wZWFzLWRlbW8gXAorICAgICR7bGliZGlyfS9wZWFzLWRlbW8gXAorIgorCitSREVQRU5EU18ke1BOfS1weXRob24zID0gInB5dGhvbjMtcHlnb2JqZWN0IgorRklMRVNfJHtQTn0tcHl0aG9uMyA9ICIke2xpYmRpcn0vbGlicGVhcy0xLjAvbG9hZGVycy9saWJweXRob24zbG9hZGVyLnNvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRmb3JnZS9mb250Zm9yZ2VfMjAxNzA3MzEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgppbmRleCA5NDdkMzZlLi42NjFiNWU4IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGZvcmdlL2ZvbnRmb3JnZV8yMDE3MDczMS5iYgpAQCAtNTQsNyArNTQsNyBAQAogICAgICR7ZGF0YWRpcn0vaWNvbnMgXAogIgogCi1GSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtkYXRhZGlyfS8ke1BOfS9weXRob24iCitGSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtkYXRhZGlyfS8ke0JQTn0vcHl0aG9uIgogUkRFUEVORFNfJHtQTn0tcHl0aG9uID0gInB5dGhvbiIKIAogIyBmb3IgZS5nIGtkZSdzIG94eWdlbi1mb250cwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLUV4cGxpY2l0LXR5cGVjYXN0LXRvLWF2b2lkLWltcGxpY2l0LWRvdWJsZS10by1mbG9hdC0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDEtRXhwbGljaXQtdHlwZWNhc3QtdG8tYXZvaWQtaW1wbGljaXQtZG91YmxlLXRvLWZsb2F0LS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODViZmY4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLUV4cGxpY2l0LXR5cGVjYXN0LXRvLWF2b2lkLWltcGxpY2l0LWRvdWJsZS10by1mbG9hdC0ucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBlM2JjZTk4YTYwZDZkYjNiNzE5YmJmNWQ3MWY3MzJmOWI4NmNiNTY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBGZWIgMjAxOSAwODoyODowOSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBFeHBsaWNpdCB0eXBlY2FzdCB0byBhdm9pZCBpbXBsaWNpdCBkb3VibGUgdG8gZmxvYXQKKyBjb252ZXJzaW9uCisKK2ZpeGVzIGNvbXBpbGUgZXJyb3JzIGUuZy4KKworLi4vLi4vZnRnbC0yLjEuM35yYzUvZGVtby9zaW1wbGUuY3BwOjExMDoyNzogZXJyb3I6IG5vbi1jb25zdGFudC1leHByZXNzaW9uIGNhbm5vdCBiZSBuYXJyb3dlZCBmcm9tIHR5cGUgJ2RvdWJsZScgdG8KKyAgICAgICdmbG9hdCcgaW4gaW5pdGlhbGl6ZXIgbGlzdCBbLVdjKysxMS1uYXJyb3dpbmddCisgICAgICAgICAgICAgICAgICAgICAgICAgICh0MyArIDIuMCkgLyAzLCAwLjMgfTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGRlbW8vc2ltcGxlLmNwcCB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2RlbW8vc2ltcGxlLmNwcCBiL2RlbW8vc2ltcGxlLmNwcAoraW5kZXggNTMyZTg2Mi4uYWJhNTViNCAxMDA2NDQKKy0tLSBhL2RlbW8vc2ltcGxlLmNwcAorKysrIGIvZGVtby9zaW1wbGUuY3BwCitAQCAtMTA1LDkgKzEwNSw5IEBAIHN0YXRpYyB2b2lkIFJlbmRlclNjZW5lKHZvaWQpCisgICAgIGZsb2F0IHQyID0gc2luKG4gLyA1MCArIDEpOworICAgICBmbG9hdCB0MyA9IHNpbihuIC8gMzAgKyAyKTsKKyAKKy0gICAgZmxvYXQgYW1iaWVudFs0XSAgPSB7ICh0MSArIDIuMCkgLyAzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgKHQyICsgMi4wKSAvIDMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAodDMgKyAyLjApIC8gMywgMC4zIH07CisrICAgIGZsb2F0IGFtYmllbnRbNF0gID0geyBmbG9hdCh0MSArIDIuMCkgLyAzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQodDIgKyAyLjApIC8gMywKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0KHQzICsgMi4wKSAvIDMsIDAuMyB9OworICAgICBmbG9hdCBkaWZmdXNlWzRdICA9IHsgMS4wLCAwLjksIDAuOSwgMS4wIH07CisgICAgIGZsb2F0IHNwZWN1bGFyWzRdID0geyAxLjAsIDAuNywgMC43LCAxLjAgfTsKKyAgICAgZmxvYXQgcG9zaXRpb25bNF0gPSB7IDEwMC4wLCAxMDAuMCwgMC4wLCAxLjAgfTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS11c2UtcGtnLWNvbmZpZy10by1maW5kLWZyZWV0eXBlMi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2wvMDAwMS11c2UtcGtnLWNvbmZpZy10by1maW5kLWZyZWV0eXBlMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjAzY2QwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAxLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtZnJlZXR5cGUyLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gOGJiMTgzOTI2MDc4YjZkZDU0MDQ4ZmI2ODIwODM4ZmU3YjZlNjE2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjMgT2N0IDIwMTYgMjI6NDY6NDMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIHBrZy1jb25maWcgdG8gZmluZCBmcmVldHlwZTIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBpbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgOSArKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA1MzU2MGVhLi5iNWJiNmEzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC00MSw4ICs0MSwxMyBAQCBBQ19DSEVDS19GVU5DUyhzdHJuZHVwKQorIAorIEFDX1BBVEhfWAorIAorLUFDX0NIRUNLX0ZUMihbOS4wLjNdLFtdLAorLSAgICAgICAgICAgICBbQUNfTVNHX0VSUk9SKFtGcmVlVHlwZTIgaXMgcmVxdWlyZWQgdG8gY29tcGlsZSB0aGlzIGxpYnJhcnldKV0pCisrUEtHX0NIRUNLX01PRFVMRVMoRlQyLCBmcmVldHlwZTIsCisrICAgIENGTEFHUz0iJENGTEFHUyAkRlQyX0NGTEFHUyIKKysgICAgTElCUz0iJExJQlMgJEZUMl9MSUJTIiwKKysgICAgQUNfTVNHX0VSUk9SKFtGcmVlVHlwZTIgaXMgcmVxdWlyZWQgdG8gY29tcGlsZSB0aGlzIGxpYnJhcnldKQorKykKKytBQ19TVUJTVChbRlQyX0NGTEFHU10pCisrQUNfU1VCU1QoW0ZUMl9MSUJTXSkKKyAKKyBBQ19QQVRIX1hUUkEKKyAKKy0tIAorMi41LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbC8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzMDc4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZnRnbC9mdGdsLzAwMDItTWFrZWZpbGUuYW0tcmVtb3ZlLXVzZWxlc3MtYW5kLWJyZWFraW5nLWNvZGUucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSBkYWFiYjQxMTA2NjFjNDM1OGVjNzMyOTNkNWMwYjIxMDZmNTY3YzFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU3VuLCAyMyBPY3QgMjAxNiAyMzo1NDoxNCArMDIwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogcmVtb3ZlIHVzZWxlc3MgYW5kIGJyZWFraW5nIGNvZGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgOSAtLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDg5YThhN2YuLmU1ODJhMzQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0yNCwxNSArMjQsNiBAQCBFWFRSQV9ESVNUID0gXAorIAltNCBcCisgCSQoTlVMTCkKKyAKKy0jIFByaW50IG91dCBhbiBpbmZvcm1hdGl2ZSBzdW1tYXJ5LgorLWFsbC1sb2NhbDoKKy0JQCQoRUNITykgIkRvbmUuIgorLQlAJChFQ0hPKQorLQlAaWYgdGVzdCAieCQoTUFLRUNNREdPQUxTKSIgPSAieGFsbC1hbSIgLW8gIngkKC5UQVJHRVRTKSIgPSAieGFsbC1hbSIgLW8gIngkKE1BS0VDTURHT0FMUykiID0gIngiIC1vICJ4JCguVEFSR0VUUykiID0gIngiIDsgdGhlbiBcCistCSAgJChFQ0hPKSAiLS0tIiA7XAorLQkgICQoRUNITykgIlJ1biAnbWFrZSBpbnN0YWxsJyB0byBiZWdpbiBpbnN0YWxsYXRpb24gaW50byAkKHByZWZpeCkiIDtcCistCWZpCistCUAkKEVDSE8pCisgCisgIyBVcGxvYWQgZG9jdW1lbnRhdGlvbgorIERPQyA9IGRvY3MvaHRtbCBkb2NzL2xhdGV4L2Z0Z2wucGRmCistLSAKKzIuNS41CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2xfMi4xLjMtcmM1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2Z0Z2wvZnRnbF8yLjEuMy1yYzUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzVlYWY0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9mdGdsL2Z0Z2xfMi4xLjMtcmM1LmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGZyb250ZW5kIHRvIEZyZWV0eXBlIDIiCitIT01FUEFHRSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9mdGdsLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTI3YTgzZTkyYzdiZjM2MzAyNTM4MGVlYzA1ZGY2ZTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworREVQRU5EUyArPSAiIFwKKyAgICBmcmVldHlwZSBcCisgICAgZnJlZWdsdXQgXAorIgorCitTUkNfVVJJID0gIiBcCisgICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgZmlsZTovLzAwMDEtdXNlLXBrZy1jb25maWctdG8tZmluZC1mcmVldHlwZTIucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLU1ha2VmaWxlLmFtLXJlbW92ZS11c2VsZXNzLWFuZC1icmVha2luZy1jb2RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1FeHBsaWNpdC10eXBlY2FzdC10by1hdm9pZC1pbXBsaWNpdC1kb3VibGUtdG8tZmxvYXQtLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNzg3OTAxOGNkZTg0NDA1OTQ5NWIzMDI5YjBiNjUwMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MjFmZjdiZDYyYzQ1OWZmNTM3MmUyNjljMjIzZTJhNjEwN2E2YTk5YTM2YWZkYzJhZTYzNGE5NzNhZjcwYzU5IgorCitTID0gIiR7V09SS0RJUn0vZnRnbC0yLjEuM35yYzUiCisKKyMgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBzeW1ib2wgJ3NpbkBAR0xJQkNfMi40JworQ0ZMQUdTICs9ICItbG0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDEtTWFrZS1HTE1fRU5BQkxFX0VYUEVSSU1FTlRBTC1hLWNvbmZpZ3VyYWJsZS1vcHRpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDEtTWFrZS1HTE1fRU5BQkxFX0VYUEVSSU1FTlRBTC1hLWNvbmZpZ3VyYWJsZS1vcHRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2OWM1YWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9maWxlcy8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYwICswLDAgQEAKLUZyb20gOTlhOTY3NmEwMTkzZjYyOTFkNzIwMmQ3YWY3MmUyNDU4MGFiZTU2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDE2IE1hciAyMDE4IDEzOjU1OjI5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBNYWtlIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGEgY29uZmlndXJhYmxlIG9wdGlvbgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1JdCBzZWVtcyB0aGF0IGVycm9yaW5nIG91dCBpZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBpcyBub3Qgc2V0IHR1cm5zIGludG8KLXBhY2thZ2VycyBuaWdodG1hcmU6IFRoZXJlIGFyZSBwYWNrYWdlcyBhcm91bmQgZXhwZWN0aW5nIGdseCBoZWFkZXJzLiBFLmcKLWxpYmdsdGYgWzFdIGZhaWxzIGR1cmluZyBjb25maWd1cmUgY2hlY2tpbmcgZm9yIHVzYWJsZSBoZWFkZXJzIEFORCBkdXJpbmcKLWNvbXBpbGUuIFBhdGljdWxhcmx5IGZpeGluZyBjb25maWd1cmUgZm9yIHRob3NlIHBhY2thZ2VzIGlzIHRpbWUtY29uc3VtaW5nOgotVGhlIG9ubHkgd2F5IChjb3JyZWN0IG1lIGlmIEkgYW0gd3JvbmcpIGlzIGNyZWF0aW5nIGEgcGF0Y2ggYWRkaW5nCi0KLUFDX0RFRklORShbR0xNX0VOQUJMRV9FWFBFUklNRU5UQUxdLCBbMV0sIFtnbG0gbmVlZHMgdGhpcyBmb3IgZ3R4IGhlYWRlcnNdKQotCi1CeSBhZGRpbmcgYSBjb25maWd1cmUgb3B0aW9uICdHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCcsIHRoZSBkZWNpc2lvbiB0byB1c2UKLWdsbS9nbHggaXMgZG9uZSBhdCBvbmUgKGFuZCB0aGUgcmlnaHQpIHBsYWNlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotCi1bMV0gaHR0cHM6Ly9nZXJyaXQubGlicmVvZmZpY2Uub3JnL2dpdHdlYj9wPWxpYmdsdGYuZ2l0Ci0KLVVwdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzJdCi0KLVsyXSBodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9wdWxsLzc0MQotLS0tCi0gQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrKwotIGdsbS9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgIHwgMiArKwotIGdsbS9leHBlcmltZW50YWwuaHBwLmluICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2V4dC5ocHAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAgICAgICB8IDEgKwotIGdsbS9ndHgvYml0LmhwcCAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jbG9zZXN0X3BvaW50LmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbG9yX3NwYWNlLmhwcCAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9jb21tb24uaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2NvbXBhdGliaWxpdHkuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvY29tcG9uZW50X3dpc2UuaHBwICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2V1bGVyX2FuZ2xlcy5ocHAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvZXh0ZW5kLmhwcCAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9leHRlbmRlZF9taW5fbWF4LmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2Zhc3RfZXhwb25lbnRpYWwuaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvZmFzdF9zcXVhcmVfcm9vdC5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwIHwgMSArCi0gZ2xtL2d0eC9oYXNoLmhwcCAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2ludGVnZXIuaHBwICAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvaW50ZXJzZWN0LmhwcCAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9pby5ocHAgICAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L2xvZ19iYXNlLmhwcCAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X2Nyb3NzX3Byb2R1Y3QuaHBwICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfZGVjb21wb3NlLmhwcCAgICAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcCAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X2ludGVycG9sYXRpb24uaHBwICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAgICAgfCAxICsKLSBnbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwICAgICAgICB8IDEgKwotIGdsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcCAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9tYXRyaXhfdHJhbnNmb3JtXzJkLmhwcCAgICAgfCAxICsKLSBnbG0vZ3R4L21peGVkX3Byb2R1Y3QuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbm9ybS5ocHAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9ub3JtYWwuaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L25vcm1hbGl6ZV9kb3QuaHBwICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvbnVtYmVyX3ByZWNpc2lvbi5ocHAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9vcHRpbXVtX3Bvdy5ocHAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcGVycGVuZGljdWxhci5ocHAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3Byb2plY3Rpb24uaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcXVhdGVybmlvbi5ocHAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC9yYW5nZS5ocHAgICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3Jhd19kYXRhLmhwcCAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvcm90YXRlX25vcm1hbGl6ZWRfYXhpcy5ocHAgIHwgMSArCi0gZ2xtL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAgICB8IDEgKwotIGdsbS9ndHgvc2NhbGFyX3JlbGF0aW9uYWwuaHBwICAgICAgIHwgMSArCi0gZ2xtL2d0eC9zcGxpbmUuaHBwICAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcCAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90ZXh0dXJlLmhwcCAgICAgICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3RyYW5zZm9ybS5ocHAgICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdHJhbnNmb3JtMi5ocHAgICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3R5cGVfdHJhaXQuaHBwICAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvdmVjX3N3aXp6bGUuaHBwICAgICAgICAgICAgIHwgMSArCi0gZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwICAgICAgICAgICAgfCAxICsKLSBnbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAgICAgICAgICAgICB8IDEgKwotIGdsbS9ndHgvd3JhcC5ocHAgICAgICAgICAgICAgICAgICAgIHwgMSArCi0gNjMgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotCi1kaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggZTUxNTliMGYuLmJkNGRkNjU0IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtODIsNiArODIsMTEgQEAgb3B0aW9uKEdMTV9URVNUX0VOQUJMRV9TSU1EX0FWWCAiRW5hYmxlIEFWWCBvcHRpbWl6YXRpb25zIiBPRkYpCi0gb3B0aW9uKEdMTV9URVNUX0VOQUJMRV9TSU1EX0FWWDIgIkVuYWJsZSBBVlgyIG9wdGltaXphdGlvbnMiIE9GRikKLSBvcHRpb24oR0xNX1RFU1RfRk9SQ0VfUFVSRSAiRm9yY2UgJ3B1cmUnIGluc3RydWN0aW9ucyIgT0ZGKQotIAotK29wdGlvbihHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCAiRW5hYmxlIGV4cGVyaW1lbnRhbCBHTE1fR1RYIiBPRkYpCi0rY29uZmlndXJlX2ZpbGUoZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4gZXhwZXJpbWVudGFsLmhwcCBAT05MWSkKLStpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0vZ2xtKQotK2luY2x1ZGVfZGlyZWN0b3JpZXMoJHtDTUFLRV9CSU5BUllfRElSfSkKLSsKLSBpZihHTE1fVEVTVF9GT1JDRV9QVVJFKQotIAlhZGRfZGVmaW5pdGlvbnMoLURHTE1fRk9SQ0VfUFVSRSkKLSAKLUBAIC0xNjcsNiArMTcyLDcgQEAgb3B0aW9uKEdMTV9JTlNUQUxMX0VOQUJMRSAiR0xNIGluc3RhbGwiIE9OKQotIHNldChHTE1fSU5TVEFMTF9DT05GSUdESVIgIiR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L2NtYWtlL2dsbSIpCi0gaWYgKEdMTV9JTlNUQUxMX0VOQUJMRSkKLSAJaW5zdGFsbChESVJFQ1RPUlkgZ2xtIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfSkKLSsJaW5zdGFsbChGSUxFUyAiJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2V4cGVyaW1lbnRhbC5ocHAiIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfS9nbG0pCi0gZW5kaWYoKQotIAotIHdyaXRlX2Jhc2ljX3BhY2thZ2VfdmVyc2lvbl9maWxlKCIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ2xtQ29uZmlnVmVyc2lvbi5jbWFrZSIgVkVSU0lPTiAke0dMTV9WRVJTSU9OfSBDT01QQVRJQklMSVRZIEFueU5ld2VyVmVyc2lvbikKLWRpZmYgLS1naXQgYS9nbG0vQ01ha2VMaXN0cy50eHQgYi9nbG0vQ01ha2VMaXN0cy50eHQKLWluZGV4IGRmOWM5ZWU1Li5kYzVkYjRiYyAxMDA2NDQKLS0tLSBhL2dsbS9DTWFrZUxpc3RzLnR4dAotKysrIGIvZ2xtL0NNYWtlTGlzdHMudHh0Ci1AQCAtNDMsNiArNDMsOCBAQCBzb3VyY2VfZ3JvdXAoIlNJTUQgRmlsZXMiIEZJTEVTICR7U0lNRF9JTkxJTkV9KQotIHNvdXJjZV9ncm91cCgiU0lNRCBGaWxlcyIgRklMRVMgJHtTSU1EX0hFQURFUn0pCi0gCi0gaW5jbHVkZV9kaXJlY3Rvcmllcygke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vLi4pCi0rIyBtYWtlIG91dC1vZiB0cmVlIGJ1aWxkcyBmaW5kIGV4cGVyaW1lbnRhbC5ocHAKLStpbmNsdWRlX2RpcmVjdG9yaWVzKCR7Q01BS0VfQklOQVJZX0RJUn0vZ2xtKQotIAotIGlmKEdMTV9TVEFUSUNfTElCUkFSWV9FTkFCTEUgT1IgR0xNX0RZTkFNSUNfTElCUkFSWV9FTkFCTEUpCi0gCWlmKEdMTV9TVEFUSUNfTElCUkFSWV9FTkFCTEUpCi1kaWZmIC0tZ2l0IGEvZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4gYi9nbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwLi5iZmFiNTEzOAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2xtL2V4cGVyaW1lbnRhbC5ocHAuaW4KLUBAIC0wLDAgKzEgQEAKLSsjY21ha2VkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLWRpZmYgLS1naXQgYS9nbG0vZXh0LmhwcCBiL2dsbS9leHQuaHBwCi1pbmRleCBkMDg1YmZkNS4uYTI5NDg0NDcgMTAwNjQ0Ci0tLS0gYS9nbG0vZXh0LmhwcAotKysrIGIvZ2xtL2V4dC5ocHAKLUBAIC0zOSw2ICszOSw3IEBACi0gIwlpbmNsdWRlICIuL2d0Yy90eXBlX2FsaWduZWQuaHBwIgotICNlbmRpZgotIAotKyNpbmNsdWRlICJleHBlcmltZW50YWwuaHBwIgotICNpZmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICNpbmNsdWRlICIuL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwIgotICNpbmNsdWRlICIuL2d0eC9iaXQuaHBwIgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcCBiL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmhwcAotaW5kZXggMGM5OTM1ZjMuLmQwMGMyYmM0IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaHBwCi0rKysgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHVFhfYXNzb2NpYXRlZF9taW5fbWF4IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9iaXQuaHBwIGIvZ2xtL2d0eC9iaXQuaHBwCi1pbmRleCAxNDQ3ZmEwMC4uMzE5NTcwODMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2JpdC5ocHAKLSsrKyBiL2dsbS9ndHgvYml0LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmNpZXMKLSAjaW5jbHVkZSAiLi4vZ3RjL2JpdGZpZWxkLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2JpdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY2xvc2VzdF9wb2ludC5ocHAgYi9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi1pbmRleCA2ODU5YmI5Ni4uZWJkOWZlNWEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi0rKysgYi9nbG0vZ3R4L2Nsb3Nlc3RfcG9pbnQuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jbG9zZXN0X3BvaW50IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAgYi9nbG0vZ3R4L2NvbG9yX3NwYWNlLmhwcAotaW5kZXggZDFlNjU1YzMuLjUxNDE2ODE5IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9jb2xvcl9zcGFjZS5ocHAKLSsrKyBiL2dsbS9ndHgvY29sb3Jfc3BhY2UuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jb2xvcl9zcGFjZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwIGIvZ2xtL2d0eC9jb2xvcl9zcGFjZV9ZQ29DZy5ocHAKLWluZGV4IGU4MmNiZDhiLi43YWU3MTA0MSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29sb3Jfc3BhY2VfWUNvQ2cuaHBwCi0rKysgYi9nbG0vZ3R4L2NvbG9yX3NwYWNlX1lDb0NnLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29sb3Jfc3BhY2VfWUNvQ2cgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2NvbW1vbi5ocHAgYi9nbG0vZ3R4L2NvbW1vbi5ocHAKLWluZGV4IDgwODFiZmY3Li41N2E2OGE4ZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29tbW9uLmhwcAotKysrIGIvZ2xtL2d0eC9jb21tb24uaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi92ZWM0LmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3ZlYzEuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29tbW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9jb21wYXRpYmlsaXR5LmhwcCBiL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLWluZGV4IGU1YjYwMzk5Li45ODc2NjY5YyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLSsrKyBiL2dsbS9ndHgvY29tcGF0aWJpbGl0eS5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2NvbXBhdGliaWxpdHkgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcCBiL2dsbS9ndHgvY29tcG9uZW50X3dpc2UuaHBwCi1pbmRleCAzOWJhYjVkNS4uNGZlMGU0ZTIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2NvbXBvbmVudF93aXNlLmhwcAotKysrIGIvZ2xtL2d0eC9jb21wb25lbnRfd2lzZS5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgIi4uL2RldGFpbC9zZXR1cC5ocHAiCi0gI2luY2x1ZGUgIi4uL2RldGFpbC9xdWFsaWZpZXIuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfY29tcG9uZW50X3dpc2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2R1YWxfcXVhdGVybmlvbi5ocHAgYi9nbG0vZ3R4L2R1YWxfcXVhdGVybmlvbi5ocHAKLWluZGV4IGM0MzQzZTlkLi5kNTlmYjQ1OSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZHVhbF9xdWF0ZXJuaW9uLmhwcAotKysrIGIvZ2xtL2d0eC9kdWFsX3F1YXRlcm5pb24uaHBwCi1AQCAtMjAsNiArMjAsNyBAQAotICNpbmNsdWRlICIuLi9ndGMvY29uc3RhbnRzLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL3F1YXRlcm5pb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZHVhbF9xdWF0ZXJuaW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwIGIvZ2xtL2d0eC9ldWxlcl9hbmdsZXMuaHBwCi1pbmRleCBlNjZlOTI4MS4uYWQ1OTg4YzEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2V1bGVyX2FuZ2xlcy5ocHAKLSsrKyBiL2dsbS9ndHgvZXVsZXJfYW5nbGVzLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZXVsZXJfYW5nbGVzIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9leHRlbmQuaHBwIGIvZ2xtL2d0eC9leHRlbmQuaHBwCi1pbmRleCBlZGE0ZTQ3MC4uY2RlNmRiNjMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2V4dGVuZC5ocHAKLSsrKyBiL2dsbS9ndHgvZXh0ZW5kLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZXh0ZW5kIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9leHRlbmRlZF9taW5fbWF4LmhwcCBiL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLWluZGV4IDNlNzY3YjBjLi4wYmNmZmNjNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLSsrKyBiL2dsbS9ndHgvZXh0ZW5kZWRfbWluX21heC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V4dGVudGVkX21pbl9tYXggaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2Zhc3RfZXhwb25lbnRpYWwuaHBwIGIvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotaW5kZXggMmQ0OTE4ZTcuLmU2ZDExZjBhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotKysrIGIvZ2xtL2d0eC9mYXN0X2V4cG9uZW50aWFsLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZmFzdF9leHBvbmVudGlhbCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvZmFzdF9zcXVhcmVfcm9vdC5ocHAgYi9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi1pbmRleCAxZTFlYzNjZi4uZjc1OGFlZWYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi0rKysgYi9nbG0vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwCi1AQCAtMTksNiArMTksNyBAQAotICNpbmNsdWRlICIuLi9leHBvbmVudGlhbC5ocHAiCi0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9mYXN0X3NxdWFyZV9yb290IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAgYi9nbG0vZ3R4L2Zhc3RfdHJpZ29ub21ldHJ5LmhwcAotaW5kZXggNzM5MDY1ZmIuLmYxMzMyOTU4IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9mYXN0X3RyaWdvbm9tZXRyeS5ocHAKLSsrKyBiL2dsbS9ndHgvZmFzdF90cmlnb25vbWV0cnkuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2d0Yy9jb25zdGFudHMuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfZmFzdF90cmlnb25vbWV0cnkgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcCBiL2dsbS9ndHgvZ3JhZGllbnRfcGFpbnQuaHBwCi1pbmRleCAyNzEzY2VjMC4uZDQ3MDM5OTEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L2dyYWRpZW50X3BhaW50LmhwcAotKysrIGIvZ2xtL2d0eC9ncmFkaWVudF9wYWludC5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9vcHRpbXVtX3Bvdy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9ncmFkaWVudF9wYWludCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwIGIvZ2xtL2d0eC9oYW5kZWRfY29vcmRpbmF0ZV9zcGFjZS5ocHAKLWluZGV4IDFkMGQ0MTA0Li4zYTUyZGRjZiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UuaHBwCi0rKysgYi9nbG0vZ3R4L2hhbmRlZF9jb29yZGluYXRlX3NwYWNlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfaGFuZGVkX2Nvb3JkaW5hdGVfc3BhY2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2hhc2guaHBwIGIvZ2xtL2d0eC9oYXNoLmhwcAotaW5kZXggZmU4YTNlZmQuLjkyYmZjOWIyIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9oYXNoLmhwcAotKysrIGIvZ2xtL2d0eC9oYXNoLmhwcAotQEAgLTEyLDYgKzEyLDcgQEAKLSAKLSAjcHJhZ21hIG9uY2UKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2hhc2ggaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L2ludGVnZXIuaHBwIGIvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotaW5kZXggOTY2MzdhMTMuLjVkMWExNmM2IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotKysrIGIvZ2xtL2d0eC9pbnRlZ2VyLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL2ludGVnZXIuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfaW50ZWdlciBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvaW50ZXJzZWN0LmhwcCBiL2dsbS9ndHgvaW50ZXJzZWN0LmhwcAotaW5kZXggNjFlMjIyNmEuLjQ4OTViYTkzIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pbnRlcnNlY3QuaHBwCi0rKysgYi9nbG0vZ3R4L2ludGVyc2VjdC5ocHAKLUBAIC0yMSw2ICsyMSw3IEBACi0gI2luY2x1ZGUgIi4uL2d0eC9jbG9zZXN0X3BvaW50LmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9jbG9zZXN0X3BvaW50IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9pby5ocHAgYi9nbG0vZ3R4L2lvLmhwcAotaW5kZXggNDlhMWVjMTEuLmFlMzljZDYwIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9pby5ocHAKLSsrKyBiL2dsbS9ndHgvaW8uaHBwCi1AQCAtMjMsNiArMjMsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9pbyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbG9nX2Jhc2UuaHBwIGIvZ2xtL2d0eC9sb2dfYmFzZS5ocHAKLWluZGV4IGU4NzNlMzU2Li40NWI4ZDUzYyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbG9nX2Jhc2UuaHBwCi0rKysgYi9nbG0vZ3R4L2xvZ19iYXNlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbG9nX2Jhc2UgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcCBiL2dsbS9ndHgvbWF0cml4X2Nyb3NzX3Byb2R1Y3QuaHBwCi1pbmRleCA5Njc3NDNiOC4uNTJkNmMxNzMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9jcm9zc19wcm9kdWN0LmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfY3Jvc3NfcHJvZHVjdC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9jcm9zc19wcm9kdWN0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfZGVjb21wb3NlLmhwcCBiL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLWluZGV4IGI3ZWMwZTgzLi42NzkzZmVlMiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X2RlY29tcG9zZS5ocHAKLUBAIC0yMCw2ICsyMCw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3RjL21hdHJpeF90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X2RlY29tcG9zZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X2ZhY3RvcmlzYXRpb24uaHBwIGIvZ2xtL2d0eC9tYXRyaXhfZmFjdG9yaXNhdGlvbi5ocHAKLWluZGV4IGUzMGE3NzQ2Li43OWMyOTNiZSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbWF0cml4X2ZhY3RvcmlzYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9mYWN0b3Jpc2F0aW9uLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWF0cml4X2ZhY3RvcmlzYXRpb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcCBiL2dsbS9ndHgvbWF0cml4X2ludGVycG9sYXRpb24uaHBwCi1pbmRleCA4OWM0NTk2Yy4uNzk5OTgzYmIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9pbnRlcnBvbGF0aW9uLmhwcAotKysrIGIvZ2xtL2d0eC9tYXRyaXhfaW50ZXJwb2xhdGlvbi5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9pbnRlcnBvbGF0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAgYi9nbG0vZ3R4L21hdHJpeF9tYWpvcl9zdG9yYWdlLmhwcAotaW5kZXggN2YyNjRhNTkuLmU2ODQ2N2NkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9tYXRyaXhfbWFqb3Jfc3RvcmFnZS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X21ham9yX3N0b3JhZ2UuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfbWFqb3Jfc3RvcmFnZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X29wZXJhdGlvbi5ocHAgYi9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi1pbmRleCBiY2U5MzhiYi4uMWU4NWJiNWUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF9vcGVyYXRpb24uaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9tYXRyaXhfb3BlcmF0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9tYXRyaXhfcXVlcnkuaHBwIGIvZ2xtL2d0eC9tYXRyaXhfcXVlcnkuaHBwCi1pbmRleCA1ZGY1ZjUyZi4uZWVjMWVlYzAgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF9xdWVyeS5ocHAKLSsrKyBiL2dsbS9ndHgvbWF0cml4X3F1ZXJ5LmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAiCi0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF9xdWVyeSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbWF0cml4X3RyYW5zZm9ybV8yZC5ocHAgYi9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi1pbmRleCAyMzlhYjlmNC4uM2NhOGQyZjIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi0rKysgYi9nbG0vZ3R4L21hdHJpeF90cmFuc2Zvcm1fMmQuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9tYXQzeDMuaHBwIgotICNpbmNsdWRlICIuLi92ZWMyLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX21hdHJpeF90cmFuc2Zvcm1fMmQgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L21peGVkX3Byb2R1Y3QuaHBwIGIvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotaW5kZXggNTg1NjJhYWIuLjVjNzQ2MGQ1IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotKysrIGIvZ2xtL2d0eC9taXhlZF9wcm9kdWN0LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbWl4ZWRfcHJvZHVjdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbm9ybS5ocHAgYi9nbG0vZ3R4L25vcm0uaHBwCi1pbmRleCA0NjQ3NGUwNy4uM2NmMmMzZWEgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L25vcm0uaHBwCi0rKysgYi9nbG0vZ3R4L25vcm0uaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nZW9tZXRyaWMuaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9ub3JtIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ub3JtYWwuaHBwIGIvZ2xtL2d0eC9ub3JtYWwuaHBwCi1pbmRleCAxNWNlYzljMi4uN2JiNGMwOTYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L25vcm1hbC5ocHAKLSsrKyBiL2dsbS9ndHgvbm9ybWFsLmhwcAotQEAgLTE2LDYgKzE2LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbm9ybWFsIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9ub3JtYWxpemVfZG90LmhwcCBiL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLWluZGV4IDg2MDQ4ZTcwLi5jNjYwNGRhNCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLSsrKyBiL2dsbS9ndHgvbm9ybWFsaXplX2RvdC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ3R4L2Zhc3Rfc3F1YXJlX3Jvb3QuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbm9ybWFsaXplX2RvdCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvbnVtYmVyX3ByZWNpc2lvbi5ocHAgYi9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi1pbmRleCAzNzMyYTU2Yy4uYjQ4ODQ1ZjcgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi0rKysgYi9nbG0vZ3R4L251bWJlcl9wcmVjaXNpb24uaHBwCi1AQCAtMTgsNiArMTgsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvdHlwZV9wcmVjaXNpb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfbnVtYmVyX3ByZWNpc2lvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvb3B0aW11bV9wb3cuaHBwIGIvZ2xtL2d0eC9vcHRpbXVtX3Bvdy5ocHAKLWluZGV4IGViMDlmMWMzLi45NGE2YmJiMiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvb3B0aW11bV9wb3cuaHBwCi0rKysgYi9nbG0vZ3R4L29wdGltdW1fcG93LmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfb3B0aW11bV9wb3cgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcCBiL2dsbS9ndHgvb3J0aG9ub3JtYWxpemUuaHBwCi1pbmRleCAyYTY4NGVlNC4uNGZmNDdlNTMgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L29ydGhvbm9ybWFsaXplLmhwcAotKysrIGIvZ2xtL2d0eC9vcnRob25vcm1hbGl6ZS5ocHAKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgIi4uL21hdDN4My5ocHAiCi0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9vcnRob25vcm1hbGl6ZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcGVycGVuZGljdWxhci5ocHAgYi9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi1pbmRleCAzNTYwMWFjNy4uMTcyNTFlYmUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi0rKysgYi9nbG0vZ3R4L3BlcnBlbmRpY3VsYXIuaHBwCi1AQCAtMTcsNiArMTcsNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndHgvcHJvamVjdGlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wZXJwZW5kaWN1bGFyIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAgYi9nbG0vZ3R4L3BvbGFyX2Nvb3JkaW5hdGVzLmhwcAotaW5kZXggYjg0MjFkYjQuLjUxMjUyMTVkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9wb2xhcl9jb29yZGluYXRlcy5ocHAKLSsrKyBiL2dsbS9ndHgvcG9sYXJfY29vcmRpbmF0ZXMuaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wb2xhcl9jb29yZGluYXRlcyBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcHJvamVjdGlvbi5ocHAgYi9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi1pbmRleCA5YTI0YWJmOS4uNGQ1YmY3NmYgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi0rKysgYi9nbG0vZ3R4L3Byb2plY3Rpb24uaHBwCi1AQCAtMTUsNiArMTUsNyBAQAotIC8vIERlcGVuZGVuY3k6Ci0gI2luY2x1ZGUgIi4uL2dlb21ldHJpYy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9wcm9qZWN0aW9uIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9xdWF0ZXJuaW9uLmhwcCBiL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLWluZGV4IGMzZDk5YTVjLi44MDhiYTBmZCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLSsrKyBiL2dsbS9ndHgvcXVhdGVybmlvbi5ocHAKLUBAIC0xOSw2ICsxOSw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9xdWF0ZXJuaW9uLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L25vcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcXVhdGVybmlvbiBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvcmFuZ2UuaHBwIGIvZ2xtL2d0eC9yYW5nZS5ocHAKLWluZGV4IGUwZWY0NmFmLi4wM2M3OTdjMyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcmFuZ2UuaHBwCi0rKysgYi9nbG0vZ3R4L3JhbmdlLmhwcAotQEAgLTE1LDYgKzE1LDcgQEAKLSAvLyBEZXBlbmRlbmNpZXMKLSAjaW5jbHVkZSAiLi4vZGV0YWlsL3NldHVwLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3JhbmdlIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9yYXdfZGF0YS5ocHAgYi9nbG0vZ3R4L3Jhd19kYXRhLmhwcAotaW5kZXggZmIzNGM4Y2IuLjAwODRmZWM2IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9yYXdfZGF0YS5ocHAKLSsrKyBiL2dsbS9ndHgvcmF3X2RhdGEuaHBwCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICIuLi9kZXRhaWwvc2V0dXAuaHBwIgotICNpbmNsdWRlICIuLi9kZXRhaWwvdHlwZV9pbnQuaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcmF3X2RhdGEgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3JvdGF0ZV9ub3JtYWxpemVkX2F4aXMuaHBwIGIvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotaW5kZXggZWVlOTBkNmUuLjgyNjEyOTI4IDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotKysrIGIvZ2xtL2d0eC9yb3RhdGVfbm9ybWFsaXplZF9heGlzLmhwcAotQEAgLTE5LDYgKzE5LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ3RjL2Vwc2lsb24uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvcXVhdGVybmlvbi5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9yb3RhdGVfbm9ybWFsaXplZF9heGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCBiL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLWluZGV4IGM4YWNlODllLi5lOTU0YjA0MSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLSsrKyBiL2dsbS9ndHgvcm90YXRlX3ZlY3Rvci5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC90cmFuc2Zvcm0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfcm90YXRlX3ZlY3RvciBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc2NhbGFyX211bHRpcGxpY2F0aW9uLmhwcCBiL2dsbS9ndHgvc2NhbGFyX211bHRpcGxpY2F0aW9uLmhwcAotaW5kZXggYjczZWRmNjcuLjIyYmFhNTJhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zY2FsYXJfbXVsdGlwbGljYXRpb24uaHBwCi0rKysgYi9nbG0vZ3R4L3NjYWxhcl9tdWx0aXBsaWNhdGlvbi5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gCi0gI2luY2x1ZGUgIi4uL2RldGFpbC9zZXR1cC5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zY2FsYXJfbXVsdGlwbGljYXRpb24gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcCBiL2dsbS9ndHgvc2NhbGFyX3JlbGF0aW9uYWwuaHBwCi1pbmRleCA3ZmM4YzFjYy4uZjIxZjNiMmIgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3NjYWxhcl9yZWxhdGlvbmFsLmhwcAotKysrIGIvZ2xtL2d0eC9zY2FsYXJfcmVsYXRpb25hbC5ocHAKLUBAIC0xNSw2ICsxNSw3IEBACi0gLy8gRGVwZW5kZW5jeToKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX2V4dGVuZCBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc3BsaW5lLmhwcCBiL2dsbS9ndHgvc3BsaW5lLmhwcAotaW5kZXggZjk2ZDdlMDcuLjc2MzU5Y2ZkIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC9zcGxpbmUuaHBwCi0rKysgYi9nbG0vZ3R4L3NwbGluZS5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9vcHRpbXVtX3Bvdy5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zcGxpbmUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcCBiL2dsbS9ndHgvc3RkX2Jhc2VkX3R5cGUuaHBwCi1pbmRleCA1NWEyZjA3NC4uOTI1MzJiOWUgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3N0ZF9iYXNlZF90eXBlLmhwcAotKysrIGIvZ2xtL2d0eC9zdGRfYmFzZWRfdHlwZS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgPGNzdGRsaWI+Ci0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF9zdGRfYmFzZWRfdHlwZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwIGIvZ2xtL2d0eC9zdHJpbmdfY2FzdC5ocHAKLWluZGV4IDRiNGUyODBmLi5kZmNkNTA4NSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvc3RyaW5nX2Nhc3QuaHBwCi0rKysgYi9nbG0vZ3R4L3N0cmluZ19jYXN0LmhwcAotQEAgLTI0LDYgKzI0LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDxjbWF0aD4KLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3N0cmluZ19jYXN0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90ZXh0dXJlLmhwcCBiL2dsbS9ndHgvdGV4dHVyZS5ocHAKLWluZGV4IDMxMmJmMzk4Li43YWYxODVmNiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdGV4dHVyZS5ocHAKLSsrKyBiL2dsbS9ndHgvdGV4dHVyZS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgIi4uL2d0Yy9pbnRlZ2VyLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L2NvbXBvbmVudF93aXNlLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3RleHR1cmUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3RyYW5zZm9ybS5ocHAgYi9nbG0vZ3R4L3RyYW5zZm9ybS5ocHAKLWluZGV4IGQyM2I5OWNlLi41YTVkOTYxOSAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdHJhbnNmb3JtLmhwcAotKysrIGIvZ2xtL2d0eC90cmFuc2Zvcm0uaHBwCi1AQCAtMTksNiArMTksNyBAQAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotICNpbmNsdWRlICIuLi9ndGMvbWF0cml4X3RyYW5zZm9ybS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90cmFuc2Zvcm0gaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3RyYW5zZm9ybTIuaHBwIGIvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotaW5kZXggODVmNWJlYTQuLjVkN2M4M2ZjIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotKysrIGIvZ2xtL2d0eC90cmFuc2Zvcm0yLmhwcAotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAiLi4vZ2xtLmhwcCIKLSAjaW5jbHVkZSAiLi4vZ3R4L3RyYW5zZm9ybS5ocHAiCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90cmFuc2Zvcm0yIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwIGIvZ2xtL2d0eC90eXBlX2FsaWduZWQuaHBwCi1pbmRleCA2ZmY5ZjI3Ni4uNmFkOTJmYWQgMTAwNjQ0Ci0tLS0gYS9nbG0vZ3R4L3R5cGVfYWxpZ25lZC5ocHAKLSsrKyBiL2dsbS9ndHgvdHlwZV9hbGlnbmVkLmhwcAotQEAgLTE4LDYgKzE4LDcgQEAKLSAvLyBEZXBlbmRlbmN5OgotICNpbmNsdWRlICIuLi9ndGMvdHlwZV9wcmVjaXNpb24uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdHlwZV9hbGlnbmVkIGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC90eXBlX3RyYWl0LmhwcCBiL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLWluZGV4IDYzN2JiZDE5Li42NTUxOWNhYiAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLSsrKyBiL2dsbS9ndHgvdHlwZV90cmFpdC5ocHAKLUBAIC0xMiw2ICsxMiw3IEBACi0gCi0gI3ByYWdtYSBvbmNlCi0gCi0rI2luY2x1ZGUgIi4uL2V4cGVyaW1lbnRhbC5ocHAiCi0gI2lmbmRlZiBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTAotICMJZXJyb3IgIkdMTTogR0xNX0dUWF90eXBlX3RyYWl0IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC92ZWNfc3dpenpsZS5ocHAgYi9nbG0vZ3R4L3ZlY19zd2l6emxlLmhwcAotaW5kZXggZGFlYmFjMzguLjEzZDUyM2RjIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC92ZWNfc3dpenpsZS5ocHAKLSsrKyBiL2dsbS9ndHgvdmVjX3N3aXp6bGUuaHBwCi1AQCAtMTQsNiArMTQsNyBAQAotIAotICNpbmNsdWRlICIuLi9nbG0uaHBwIgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdmVjX3N3aXp6bGUgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9nbG0vZ3R4L3ZlY3Rvcl9hbmdsZS5ocHAgYi9nbG0vZ3R4L3ZlY3Rvcl9hbmdsZS5ocHAKLWluZGV4IDQwMWE0N2ViLi45OGM5ZDExMCAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvdmVjdG9yX2FuZ2xlLmhwcAotKysrIGIvZ2xtL2d0eC92ZWN0b3JfYW5nbGUuaHBwCi1AQCAtMjAsNiArMjAsNyBAQAotICNpbmNsdWRlICIuLi9ndHgvcXVhdGVybmlvbi5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0eC9yb3RhdGVfdmVjdG9yLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3ZlY3Rvcl9hbmdsZSBpcyBhbiBleHBlcmltZW50YWwgZXh0ZW5zaW9uIGFuZCBtYXkgY2hhbmdlIGluIHRoZSBmdXR1cmUuIFVzZSAjZGVmaW5lIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMIGJlZm9yZSBpbmNsdWRpbmcgaXQsIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL2dsbS9ndHgvdmVjdG9yX3F1ZXJ5LmhwcCBiL2dsbS9ndHgvdmVjdG9yX3F1ZXJ5LmhwcAotaW5kZXggNjU2MGVhYTUuLjVhYjFmZmRhIDEwMDY0NAotLS0tIGEvZ2xtL2d0eC92ZWN0b3JfcXVlcnkuaHBwCi0rKysgYi9nbG0vZ3R4L3ZlY3Rvcl9xdWVyeS5ocHAKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgPGNmbG9hdD4KLSAjaW5jbHVkZSA8bGltaXRzPgotIAotKyNpbmNsdWRlICIuLi9leHBlcmltZW50YWwuaHBwIgotICNpZm5kZWYgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwKLSAjCWVycm9yICJHTE06IEdMTV9HVFhfdmVjdG9yX3F1ZXJ5IGlzIGFuIGV4cGVyaW1lbnRhbCBleHRlbnNpb24gYW5kIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4gVXNlICNkZWZpbmUgR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwgYmVmb3JlIGluY2x1ZGluZyBpdCwgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC4iCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvZ2xtL2d0eC93cmFwLmhwcCBiL2dsbS9ndHgvd3JhcC5ocHAKLWluZGV4IDJjNGI1NWRmLi41YmYyNmEzMyAxMDA2NDQKLS0tLSBhL2dsbS9ndHgvd3JhcC5ocHAKLSsrKyBiL2dsbS9ndHgvd3JhcC5ocHAKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgIi4uL2dsbS5ocHAiCi0gI2luY2x1ZGUgIi4uL2d0Yy92ZWMxLmhwcCIKLSAKLSsjaW5jbHVkZSAiLi4vZXhwZXJpbWVudGFsLmhwcCIKLSAjaWZuZGVmIEdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMCi0gIwllcnJvciAiR0xNOiBHTE1fR1RYX3dyYXAgaXMgYW4gZXhwZXJpbWVudGFsIGV4dGVuc2lvbiBhbmQgbWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLiBVc2UgI2RlZmluZSBHTE1fRU5BQkxFX0VYUEVSSU1FTlRBTCBiZWZvcmUgaW5jbHVkaW5nIGl0LCBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LiIKLSAjZW5kaWYKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZmlsZXMvMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2ZpbGVzLzAwMDItZ2xtLWluc3RhbGwtaGVhZGVycy1vbmx5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYmUzMzE4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZmlsZXMvMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDdmZGQzNmQ3NDk2MjM4ZTAzZTQzZmNjMzI4MzlmNzU1ODgxMTZjNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNiBNYXIgMjAxOCAxNTo0NDo0OCArMDEwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ2xtOiBpbnN0YWxsIGhlYWRlcnMgb25seQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1QbGF1c2liaWxpdHkgY2hlY2sgaW4gcm9vdCBzb3VyY2UgcGF0aAotCi0kIGZpbmQgZ2xtIC10eXBlIGYgISAtbmFtZSAnKi5ocHAnICEgLW5hbWUgJyouaCcgISAtbmFtZSAnKi5pbmwnCi1nbG0vZGV0YWlsL2dsbS5jcHAKLWdsbS9kZXRhaWwvZHVtbXkuY3BwCi1nbG0vZXhwZXJpbWVudGFsLmhwcC5pbgotZ2xtL0NNYWtlTGlzdHMudHh0Ci0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0KLVVwdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9wdWxsLzc0MQotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBiZDRkZDY1NC4uMTEzZGQ3MzUgMTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC0xNzEsNyArMTcxLDEyIEBAIG9wdGlvbihHTE1fSU5TVEFMTF9FTkFCTEUgIkdMTSBpbnN0YWxsIiBPTikKLSAKLSBzZXQoR0xNX0lOU1RBTExfQ09ORklHRElSICIke0NNQUtFX0lOU1RBTExfTElCRElSfS9jbWFrZS9nbG0iKQotIGlmIChHTE1fSU5TVEFMTF9FTkFCTEUpCi0tCWluc3RhbGwoRElSRUNUT1JZIGdsbSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0pCi0rCWluc3RhbGwoRElSRUNUT1JZIGdsbQotKwkJREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9Ci0rCQlGSUxFU19NQVRDSElORwotKwkJCVBBVFRFUk4gIiouaCIKLSsJCQlQQVRURVJOICIqLmhwcCIKLSsJCQlQQVRURVJOICIqLmlubCIpCi0gCWluc3RhbGwoRklMRVMgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9leHBlcmltZW50YWwuaHBwIiBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vZ2xtKQotIGVuZGlmKCkKLSAKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG0vMDAwMS1nbG0tUmVtb3ZlLXJlZHVuZGFudC1kb3VibGUtc2VtaS1jb2xvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmU1MGYyYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoCkBAIC0wLDAgKzEsMTIwIEBACitGcm9tIDNmNjg2OWUzOTJiMDYxZjI5MzJmM2RmMTU1YjZjYzM3ZTNlN2QzNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxIE1hciAyMDE5IDEwOjU2OjA1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGdsbTogUmVtb3ZlIHJlZHVuZGFudCBkb3VibGUgc2VtaS1jb2xvbnMKKworTWFrZSBjbGFuZyBoYXBweQorL2dsbS9ndGMvLi4vZXh0Ly4uL2RldGFpbC8uLi9zaW1kL2NvbW1vbi5oOjEwNjo0NTogZXJyb3I6IGVtcHR5IGV4cHJlc3Npb24gc3RhdGVtZW50IGhhcyBubyBlZmZlY3Q7IHJlbW92ZSB1bm5lY2Vzc2FyeSAnOycgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcgWy1XZXJyb3IsLVdleHRyYS1zZW1pLXN0bXRdCit8ICAgICAgICAgZ2xtX3ZlYzQgY29uc3Qgb3IwID0gX21tX29yX3BzKGFuZDAsIGFuZDEpOzsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfCAxIGVycm9yIGdlbmVyYXRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtL3B1bGwvODc0XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaW5sICAgICAgfCA4ICsrKystLS0tCisgZ2xtL3NpbWQvY29tbW9uLmggICAgICAgICAgICAgICAgICAgfCAyICstCisgdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAgfCA2ICsrKy0tLQorIHRlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwICAgICAgICAgICAgIHwgNCArKy0tCisgNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubCBiL2dsbS9ndHgvYXNzb2NpYXRlZF9taW5fbWF4LmlubAoraW5kZXggMWE0NTlhZGQuLjUxODZjNDcxIDEwMDY0NAorLS0tIGEvZ2xtL2d0eC9hc3NvY2lhdGVkX21pbl9tYXguaW5sCisrKysgYi9nbG0vZ3R4L2Fzc29jaWF0ZWRfbWluX21heC5pbmwKK0BAIC04Niw3ICs4Niw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiBVIGFzc29jaWF0ZWRNaW4KKyApCisgeworIAlUIFRlc3QxID0gbWluKHgsIHkpOworLQlUIFRlc3QyID0gbWluKHosIHcpOzsKKysJVCBUZXN0MiA9IG1pbih6LCB3KTsKKyAJVSBSZXN1bHQxID0geCA8IHkgPyBhIDogYjsKKyAJVSBSZXN1bHQyID0geiA8IHcgPyBjIDogZDsKKyAJVSBSZXN1bHQgPSBUZXN0MSA8IFRlc3QyID8gUmVzdWx0MSA6IFJlc3VsdDI7CitAQCAtMTUyLDcgKzE1Miw3IEBAIEdMTV9GVU5DX1FVQUxJRklFUiB2ZWM8TCwgVSwgUT4gYXNzb2NpYXRlZE1pbgorIAlmb3IobGVuZ3RoX3QgaSA9IDAsIG4gPSBSZXN1bHQubGVuZ3RoKCk7IGkgPCBuOyArK2kpCisgCXsKKyAJCVQgVGVzdDEgPSBtaW4oeFtpXSwgeVtpXSk7CistCQlUIFRlc3QyID0gbWluKHpbaV0sIHdbaV0pOzsKKysJCVQgVGVzdDIgPSBtaW4oeltpXSwgd1tpXSk7CisgCQlVIFJlc3VsdDEgPSB4W2ldIDwgeVtpXSA/IGEgOiBiOworIAkJVSBSZXN1bHQyID0geltpXSA8IHdbaV0gPyBjIDogZDsKKyAJCVJlc3VsdFtpXSA9IFRlc3QxIDwgVGVzdDIgPyBSZXN1bHQxIDogUmVzdWx0MjsKK0BAIC0yNzgsNyArMjc4LDcgQEAgR0xNX0ZVTkNfUVVBTElGSUVSIFUgYXNzb2NpYXRlZE1heAorICkKKyB7CisgCVQgVGVzdDEgPSBtYXgoeCwgeSk7CistCVQgVGVzdDIgPSBtYXgoeiwgdyk7OworKwlUIFRlc3QyID0gbWF4KHosIHcpOworIAlVIFJlc3VsdDEgPSB4ID4geSA/IGEgOiBiOworIAlVIFJlc3VsdDIgPSB6ID4gdyA/IGMgOiBkOworIAlVIFJlc3VsdCA9IFRlc3QxID4gVGVzdDIgPyBSZXN1bHQxIDogUmVzdWx0MjsKK0BAIC0zNDQsNyArMzQ0LDcgQEAgR0xNX0ZVTkNfUVVBTElGSUVSIHZlYzxMLCBVLCBRPiBhc3NvY2lhdGVkTWF4CisgCWZvcihsZW5ndGhfdCBpID0gMCwgbiA9IFJlc3VsdC5sZW5ndGgoKTsgaSA8IG47ICsraSkKKyAJeworIAkJVCBUZXN0MSA9IG1heCh4W2ldLCB5W2ldKTsKKy0JCVQgVGVzdDIgPSBtYXgoeltpXSwgd1tpXSk7OworKwkJVCBUZXN0MiA9IG1heCh6W2ldLCB3W2ldKTsKKyAJCVUgUmVzdWx0MSA9IHhbaV0gPiB5W2ldID8gYSA6IGI7CisgCQlVIFJlc3VsdDIgPSB6W2ldID4gd1tpXSA/IGMgOiBkOworIAkJUmVzdWx0W2ldID0gVGVzdDEgPiBUZXN0MiA/IFJlc3VsdDEgOiBSZXN1bHQyOworZGlmZiAtLWdpdCBhL2dsbS9zaW1kL2NvbW1vbi5oIGIvZ2xtL3NpbWQvY29tbW9uLmgKK2luZGV4IGQwNzkyMGEzLi45YjAxN2NiNCAxMDA2NDQKKy0tLSBhL2dsbS9zaW1kL2NvbW1vbi5oCisrKysgYi9nbG0vc2ltZC9jb21tb24uaAorQEAgLTEwMyw3ICsxMDMsNyBAQCBHTE1fRlVOQ19RVUFMSUZJRVIgZ2xtX3ZlYzQgZ2xtX3ZlYzRfc2lnbihnbG1fdmVjNCB4KQorIAlnbG1fdmVjNCBjb25zdCBjbXAxID0gX21tX2NtcGd0X3BzKHgsIHpybzApOworIAlnbG1fdmVjNCBjb25zdCBhbmQwID0gX21tX2FuZF9wcyhjbXAwLCBfbW1fc2V0MV9wcygtMS4wZikpOworIAlnbG1fdmVjNCBjb25zdCBhbmQxID0gX21tX2FuZF9wcyhjbXAxLCBfbW1fc2V0MV9wcygxLjBmKSk7CistCWdsbV92ZWM0IGNvbnN0IG9yMCA9IF9tbV9vcl9wcyhhbmQwLCBhbmQxKTs7CisrCWdsbV92ZWM0IGNvbnN0IG9yMCA9IF9tbV9vcl9wcyhhbmQwLCBhbmQxKTsKKyAJcmV0dXJuIG9yMDsKKyB9CisgCitkaWZmIC0tZ2l0IGEvdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAgYi90ZXN0L2NvcmUvY29yZV9mdW5jX2V4cG9uZW50aWFsLmNwcAoraW5kZXggYTQxNGE0ZTkuLjM4MGNkZmIxIDEwMDY0NAorLS0tIGEvdGVzdC9jb3JlL2NvcmVfZnVuY19leHBvbmVudGlhbC5jcHAKKysrKyBiL3Rlc3QvY29yZS9jb3JlX2Z1bmNfZXhwb25lbnRpYWwuY3BwCitAQCAtMTUzLDEzICsxNTMsMTMgQEAgc3RhdGljIGludCB0ZXN0X2ludmVyc2VzcXJ0KCkKKyAJZmxvYXQgQSA9IGdsbTo6aW52ZXJzZXNxcnQoMTYuZikgKiBnbG06OnNxcnQoMTYuZik7CisgCUVycm9yICs9IGdsbTo6ZXF1YWwoQSwgMS5mLCAwLjAxZikgPyAwIDogMTsKKyAKKy0JZ2xtOjp2ZWMxIEIgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMSgxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7OworKwlnbG06OnZlYzEgQiA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMxKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTsKKyAJRXJyb3IgKz0gZ2xtOjphbGwoZ2xtOjplcXVhbChCLCBnbG06OnZlYzEoMS5mKSwgMC4wMWYpKSA/IDAgOiAxOworIAorLQlnbG06OnZlYzIgQyA9IGdsbTo6aW52ZXJzZXNxcnQoZ2xtOjp2ZWMyKDE2LmYpKSAqIGdsbTo6c3FydCgxNi5mKTs7CisrCWdsbTo6dmVjMiBDID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzIoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOworIAlFcnJvciArPSBnbG06OmFsbChnbG06OmVxdWFsKEMsIGdsbTo6dmVjMigxLmYpLCAwLjAxZikpID8gMCA6IDE7CisgCistCWdsbTo6dmVjMyBEID0gZ2xtOjppbnZlcnNlc3FydChnbG06OnZlYzMoMTYuZikpICogZ2xtOjpzcXJ0KDE2LmYpOzsKKysJZ2xtOjp2ZWMzIEQgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjMygxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7CisgCUVycm9yICs9IGdsbTo6YWxsKGdsbTo6ZXF1YWwoRCwgZ2xtOjp2ZWMzKDEuZiksIDAuMDFmKSkgPyAwIDogMTsKKyAKKyAJZ2xtOjp2ZWM0IEUgPSBnbG06OmludmVyc2VzcXJ0KGdsbTo6dmVjNCgxNi5mKSkgKiBnbG06OnNxcnQoMTYuZik7CitkaWZmIC0tZ2l0IGEvdGVzdC9ndHgvZ3R4X2Vhc2luZy5jcHAgYi90ZXN0L2d0eC9ndHhfZWFzaW5nLmNwcAoraW5kZXggYjNlMTM5OTcuLjBlOThjZDUzIDEwMDY0NAorLS0tIGEvdGVzdC9ndHgvZ3R4X2Vhc2luZy5jcHAKKysrKyBiL3Rlc3QvZ3R4L2d0eF9lYXNpbmcuY3BwCitAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UKKyAJCXIgPSBnbG06OmNpcmN1bGFyRWFzZU91dChhKTsKKyAJCXIgPSBnbG06OmNpcmN1bGFyRWFzZUluT3V0KGEpOworIAorLQkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlSW4oYSk7OworKwkJciA9IGdsbTo6ZXhwb25lbnRpYWxFYXNlSW4oYSk7CisgCQlyID0gZ2xtOjpleHBvbmVudGlhbEVhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpleHBvbmVudGlhbEVhc2VJbk91dChhKTsKKyAKK0BAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZQorIAkJciA9IGdsbTo6YmFja0Vhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpiYWNrRWFzZUluT3V0KGEpOworIAorLQkJciA9IGdsbTo6Ym91bmNlRWFzZUluKGEpOzsKKysJCXIgPSBnbG06OmJvdW5jZUVhc2VJbihhKTsKKyAJCXIgPSBnbG06OmJvdW5jZUVhc2VPdXQoYSk7CisgCQlyID0gZ2xtOjpib3VuY2VFYXNlSW5PdXQoYSk7CisgCX0KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LWEyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjktYTIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmMTY3MDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dsbS9nbG1fMC45LjktYTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5HTCBNYXRoZW1hdGljcyBMaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiT3BlbkdMIE1hdGhlbWF0aWNzIChHTE0pIGlzIGEgaGVhZGVyIG9ubHkgQysrIFwKLW1hdGhlbWF0aWNzIGxpYnJhcnkgZm9yIGdyYXBoaWNzIHNvZnR3YXJlIGJhc2VkIG9uIHRoZSBPcGVuR0wgXAotU2hhZGluZyBMYW5ndWFnZSAoR0xTTCkgc3BlY2lmaWNhdGlvbnMuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9nbG0uZy10cnVjLm5ldCIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG0vaXNzdWVzIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9yZWFkbWUubWQ7YmVnaW5saW5lPTIxO2VuZGxpbmU9MjI7bWQ1PTMwNzViNTcyN2QzNmYyOWVkY2NmOTdiOTNlNzJiNzkwIgotCi1TUkNfVVJJID0gIiBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9nLXRydWMvZ2xtO2JyYW5jaD1tYXN0ZXIgXAotICAgIGZpbGU6Ly8wMDAxLU1ha2UtR0xNX0VOQUJMRV9FWFBFUklNRU5UQUwtYS1jb25maWd1cmFibGUtb3B0aW9uLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1nbG0taW5zdGFsbC1oZWFkZXJzLW9ubHkucGF0Y2ggXAotIgotU1JDUkVWID0gImZjYmVkZjUwNThlZjg2MTNkZDAyYWFjNjJlZjAwZDU1ZGNmZWFkZDciCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UKLQotRVhUUkFfT0VDTUFLRSA9ICItREdMTV9FTkFCTEVfRVhQRVJJTUVOVEFMPU9OIgotCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9nbG0vZ2xtXzAuOS45LjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjZhNWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ2xtL2dsbV8wLjkuOS4zLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIE1hdGhlbWF0aWNzIExpYnJhcnkiCitERVNDUklQVElPTiA9ICJPcGVuR0wgTWF0aGVtYXRpY3MgKEdMTSkgaXMgYSBoZWFkZXIgb25seSBDKysgXAorbWF0aGVtYXRpY3MgbGlicmFyeSBmb3IgZ3JhcGhpY3Mgc29mdHdhcmUgYmFzZWQgb24gdGhlIE9wZW5HTCBcCitTaGFkaW5nIExhbmd1YWdlIChHTFNMKSBzcGVjaWZpY2F0aW9ucy4iCitIT01FUEFHRSA9ICJodHRwczovL2dsbS5nLXRydWMubmV0IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vZy10cnVjL2dsbS9pc3N1ZXMiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JlYWRtZS5tZDtiZWdpbmxpbmU9MjE7ZW5kbGluZT0yMjttZDU9MzA3NWI1NzI3ZDM2ZjI5ZWRjY2Y5N2I5M2U3MmI3OTAiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2ctdHJ1Yy9nbG07YnJhbmNoPW1hc3RlciBcCisgICAgZmlsZTovLzAwMDEtZ2xtLVJlbW92ZS1yZWR1bmRhbnQtZG91YmxlLXNlbWktY29sb25zLnBhdGNoIFwKKyIKKyMgdjAuOS45LjMKK1NSQ1JFViA9ICI5NzQ5NzI3YzJkYjQ3NDIzNjkyMTllMWQ0NTJmNDNlOTE4NzM0YjRlIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6LzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvZ3JhcGh2aXovZ3JhcGh2aXovMDAwMS1Vc2UtbmF0aXZlLW1rZGVmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjUxZDAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6LzAwMDEtVXNlLW5hdGl2ZS1ta2RlZnMucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA1ZTUzYjY0MzYxNWZkNTNmM2ZmOTYwNTIxYmJlOWQ5NTY0MWU1ZjY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjAgSmFuIDIwMTkgMjM6NTg6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIG5hdGl2ZSBta2RlZnMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KKy0tLQorIGxpYi9ndnByL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliL2d2cHIvTWFrZWZpbGUuYW0gYi9saWIvZ3Zwci9NYWtlZmlsZS5hbQoraW5kZXggYWMzYzA5OC4uNDkxNDg1NCAxMDA2NDQKKy0tLSBhL2xpYi9ndnByL01ha2VmaWxlLmFtCisrKysgYi9saWIvZ3Zwci9NYWtlZmlsZS5hbQorQEAgLTU3LDcgKzU3LDcgQEAgZW5kaWYKKyBta2RlZnNfU09VUkNFUyA9IG1rZGVmcy5jCisgCisgZ2RlZnMuaDogJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhIG1rZGVmcyQoRVhFRVhUKQorLQkuL21rZGVmcyQoRVhFRVhUKSBnZGVmcy5oIDwgJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhCisrCW1rZGVmcyQoRVhFRVhUKSBnZGVmcy5oIDwgJCh0b3Bfc3JjZGlyKS9saWIvZ3Zwci9ncHJkYXRhCisgCisgRVhUUkFfRElTVCA9ICQobWFuX01BTlMpICQocGRmX0RBVEEpIGdwcmRhdGEgbWtkZWZzLmMgZ2RlZnMuaCB0cmllLmMgZ3ZwcmxpYi52Y3hwcm9qKgorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2dyYXBodml6L2dyYXBodml6XzIuNDAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpel8yLjQwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllZmZmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ncmFwaHZpei9ncmFwaHZpel8yLjQwLjEuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJHcmFwaCBWaXN1YWxpemF0aW9uIFRvb2xzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5ncmFwaHZpei5vcmciCitMSUNFTlNFID0gIkVQTC0xLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MTA5ZjVmYzE2Y2Y5NjNmYjNjZGQzMjc4MWIzY2UwNCIKKworREVQRU5EUyA9ICIgXAorICAgIGludGx0b29sLW5hdGl2ZSBcCisgICAgYmlzb24tbmF0aXZlIFwKKyAgICBncm9mZi1uYXRpdmUgXAorICAgIGxpYnRvb2wgXAorICAgIGdkay1waXhidWYgXAorICAgIGxpYnJzdmcgXAorICAgIGNhaXJvIFwKKyAgICBwYW5nbyBcCisgICAgZXhwYXQgXAorICAgIGZyZWV0eXBlIFwKKyIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtCUE59LW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBnZXR0ZXh0CisKKyMgVGhlIHNvdXJjZSB0YXJiYWxsIHN1Z2dlc3RlZCBhdAorIyBodHRwczovL2dyYXBodml6LmdpdGxhYi5pby9fcGFnZXMvRG93bmxvYWQvRG93bmxvYWRfc291cmNlLmh0bWwgaGFzIG5vCisjIHZlcnNpb24gaW4gaXRzIG5hbWUuIFNvIG9uY2UgZ3JhcGh2aXogaXMgdXBkZ3JhZGVkLCBvbmx5IGZpcnN0IHRpbWUgdXNlcnMgd2lsbAorIyBnZXQgY2hlY2tzdW0gZXJyb3JzLiBGZWRvcmEgcGVvcGxlIHNlZW0gdG8gZXhwZWN0IHNhbWUgc28gdGhleSB1c2UgYSB2ZXJzaW9uZWQKKyMgc291cmNlIC0gc2VlIGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL2NnaXQvcnBtcy9ncmFwaHZpei5naXQvdHJlZS9ncmFwaHZpei5zcGVjCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRsYWIuY29tL2dyYXBodml6L2dyYXBodml6Ly0vYXJjaGl2ZS9zdGFibGVfcmVsZWFzZV8ke1BWfS9ncmFwaHZpei1zdGFibGVfcmVsZWFzZV8ke1BWfS50YXIuZ3ogXAorIgorIyBVc2UgbmF0aXZlIG1rZGVmcworU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1Vc2UtbmF0aXZlLW1rZGVmcy5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIyYWNmMzBjYThlNmNjOGIwMDFiMDMzNGRiNjVmZDA3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNmMzZjhkYmZkZTFjNDUyMzA1NTQwMzkyN2JlZjI5Zjk3ZjlmYzEyNzE1YzEwNDJiNWRjZjY0OGEyYzFjNjJhIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59LXN0YWJsZV9yZWxlYXNlXyR7UFZ9IgorCitFWFRSQV9PRUNPTkZfY2xhc3MtdGFyZ2V0ID0gIlwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXRpbmNsdWRlZGlyPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXRsaWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1pbmNsdWRlZC1sdGRsIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtamF2YSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXIgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zaGFycCBcCisgICAgICAgICAgICAgICAgIgorQ0ZMQUdTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIC1EX3R5cF9zc2l6ZV90PTEgLURfbG9uZ19kb3VibGU9MSIKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIGNkICR7U30KKyAgICAjIGNyZWF0ZSB2ZXJzaW9uLm00IGFuZCBpZ25vcmUgbGlidG9vbGl6ZSBlcnJvcnMKKyAgICAuL2F1dG9nZW4uc2ggTk9DT05GSUcgfHwgdHJ1ZQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyBpbnN0YWxsIG1rZGVmcyBmb3IgdGFyZ2V0IGJ1aWxkCisgICAgaW5zdGFsbCAtbTc1NSAke0J9L2xpYi9ndnByL21rZGVmcyAke0R9JHtiaW5kaXJ9Cit9CisKK0ZJTEVTX1NPTElCU0RFVl9hcHBlbmQgPSAiICR7bGliZGlyfS9ncmFwaHZpei9saWIqJHtTT0xJQlNERVZ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGt3YXZlL2d0a3dhdmVfMy4zLjk4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2d0a3dhdmUvZ3Rrd2F2ZV8zLjMuOTguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBkZjZmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9ndGt3YXZlL2d0a3dhdmVfMy4zLjk4LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiVkNEIChWYWx1ZSBDaGFuZ2UgRHVtcCkgZmlsZSB3YXZlZm9ybSB2aWV3ZXIiCitERVNDUklQVElPTiA9ICJndGt3YXZlIGlzIGEgdmlld2VyIGZvciBWQ0QgKFZhbHVlIENoYW5nZSBEdW1wKSBmaWxlcyB3aGljaCBhcmUgdXN1YWxseSBjcmVhdGVkIGJ5IGRpZ2l0YWwgY2lyY3VpdCBzaW11bGF0b3JzLiAoVGhlc2UgZmlsZXMgaGF2ZSBubyBjb25uZWN0aW9uIHRvIHZpZGVvIENEcyEpICIKK0hPTUVQQUdFID0gImh0dHA6Ly9ndGt3YXZlLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTg1OTk4OTU0NWUzNzk2OGE5OWI2MzFlZjQyNzIyZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ3Rrd2F2ZS5zb3VyY2Vmb3JnZS5uZXQvJHtQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWFjMzA3M2VmMzgxZTBjMDlkYTMzNTkwMjk2Y2EzN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWZhNmJiYmViM2JkNTQxMDQ0MjVhNjlhMmFhMGQwNzliYjVjM2VjYzFjNDIwYmE1N2RjYWExYzk3YzVhMjJmNiIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbworREVQRU5EUyA9ICJ0Y2wgdGsgZ3BlcmYtbmF0aXZlIGJ6aXAyIHh6IHBhbmdvIHpsaWIgZ3RrKyBnZGstcGl4YnVmIGdsaWItMi4wIgorUkRFUEVORFNfJHtQTn0gPSAidGstbGliIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXRjbD0ke1NUQUdJTkdfQklORElSX0NST1NTfSAtLXdpdGgtdGs9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30iCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2FkZC1hYnNvbHV0ZS1wYXRoLWZvci1pbmNsdWRlLWRpci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI0MDBmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9hZGQtYWJzb2x1dGUtcGF0aC1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtTmF1ciB4Zm9ybXMtMS4yLjMub3JpZy9mZGVzaWduL01ha2VmaWxlLmFtIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEyOjU4OjUxLjk2ODY0NTg3MyArMDAwMAorKysrIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTM6MDA6NDguNTAwNjM1MTYzICswMDAwCitAQCAtMTEsNyArMTEsNyBAQAorIGZkZXNpZ24uMToKKyAJY3AgLXAgJChzcmNkaXIpL2ZkZXNpZ24ubWFuIGZkZXNpZ24uMQorIAorLUlOQ0xVREVTID0gLUkuL3hwbSAkKFhfQ0ZMQUdTKQorK0lOQ0xVREVTID0gLUkuL3hwbSAtSSQoc3JjZGlyKS94cG0gJChYX0NGTEFHUykKKyAKKyBiaW5fUFJPR1JBTVMgPSBmZGVzaWduCisgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9maWxlcy9maXgtbGluay10by14Zm9ybXMtbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NWJkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LWxpbmstdG8teGZvcm1zLW1hbi5wYXRjaApAQCAtMCwwICsxLDEyIEBACitkaWZmIC1OYXVyIHhmb3Jtcy0xLjIuMy5vcmlnL2xpYi9NYWtlZmlsZS5hbSB4Zm9ybXMtMS4yLjMvbGliL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvbGliL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTI6NTM6NTguMzQwNjc4MzczICswMDAwCisrKysgeGZvcm1zLTEuMi4zL2xpYi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEyOjU0OjMzLjA5NjY3NDEwMiArMDAwMAorQEAgLTI1LDcgKzI1LDcgQEAKKyBtYW5fTUFOUyA9IHhmb3Jtcy41CisgCisgeGZvcm1zLjU6CistCWNwIC1wIC4veGZvcm1zLm1hbiB4Zm9ybXMuNQorKwljcCAtcCAkKHNyY2RpcikveGZvcm1zLm1hbiB4Zm9ybXMuNQorIAorIGxpYmZvcm1zX2xhX1NPVVJDRVMgPSBcCisgCWFsaWduLmMgXApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1wYXRoLWZkZXNpZ25fTERBREQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvZmlsZXMvZml4LXBhdGgtZmRlc2lnbl9MREFERC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Mzk1NmRlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZvcm1zL2ZpbGVzL2ZpeC1wYXRoLWZkZXNpZ25fTERBREQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtTmF1ciB4Zm9ybXMtMS4yLjMub3JpZy9mZGVzaWduL01ha2VmaWxlLmFtIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCistLS0geGZvcm1zLTEuMi4zLm9yaWcvZmRlc2lnbi9NYWtlZmlsZS5hbQkyMDE5LTAyLTI0IDEzOjA4OjQ4LjQxMjYwMzI1MCArMDAwMAorKysrIHhmb3Jtcy0xLjIuMy9mZGVzaWduL01ha2VmaWxlLmFtCTIwMTktMDItMjQgMTM6MDk6MTguNDEyNjAxODc0ICswMDAwCitAQCAtMTUsNyArMTUsNyBAQAorIAorIGJpbl9QUk9HUkFNUyA9IGZkZXNpZ24KKyAKKy1mZGVzaWduX0xEQUREID0gJCh0b3Bfc3JjZGlyKS9saWIvbGliZm9ybXMubGEgJChYX0xJQlMpICQoWF9QUkVfTElCUykgJChYUE1fTElCKSAtbFgxMSAkKExJQlMpICQoWF9FWFRSQV9MSUJTKQorK2ZkZXNpZ25fTERBREQgPSAkKHRvcF9idWlsZGRpcikvbGliL2xpYmZvcm1zLmxhICQoWF9MSUJTKSAkKFhfUFJFX0xJQlMpICQoWFBNX0xJQikgLWxYMTEgJChMSUJTKSAkKFhfRVhUUkFfTElCUykKKyAKKyBmZGVzaWduX1NPVVJDRVMgPSBcCisgCWZkX2F0dHJpYnMuYyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvbGliZm9ybXNfMS4yLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGliZm9ybXMvbGliZm9ybXNfMS4yLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2ZDdjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJmb3Jtcy9saWJmb3Jtc18xLjIuMy5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJUaGUgWEZvcm1zIGdyYXBoaWNhbCBpbnRlcmZhY2Ugd2lkZ2V0IGxpYnJhcnkJIgorSE9NRVBBR0UgPSAiaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvcHJvamVjdHMveGZvcm1zLyIKK1BSID0gInIwIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hZGU5YTA1M2RmODFmNWI5NDA4ZDJmNGY1NTQ2ZGY4NiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcy94Zm9ybXMveGZvcm1zLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbGluay10by14Zm9ybXMtbWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2FkZC1hYnNvbHV0ZS1wYXRoLWZvci1pbmNsdWRlLWRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcGF0aC1mZGVzaWduX0xEQURELnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzU3MjBhNzU4YThiOGQ5ZTZlNDUyZGM2NzE5MGU5YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3OTg5YjM5NTk4Yzc2OTgyMGFkNDUxYWQ5MWU1Y2IwZGUyOTk0Njk0MGM4MjQwYWFjOTRjYTgyMzhjMmRlZjYxIgorCitpbmhlcml0IGF1dG90b29scyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworUyA9ICIke1dPUktESVJ9L3hmb3Jtcy0ke1BWfSIKKworREVQRU5EUyA9ICJsaWJ4cG0ganBlZyBsaWJ4MTEgbWVzYSIKK1JERVBFTkRTXyR7UE59ID0gImJhc2giCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZXh0cmEtaW5jPSR7U30vbGliIiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9saWJ2bmNzZXJ2ZXIvbGlidm5jc2VydmVyXzAuOS4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhkYWMwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl8wLjkuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1ERVNDUklQVElPTiA9ICJsaWJyYXJ5IGZvciBlYXN5IGltcGxlbWVudGF0aW9uIG9mIGEgUkRQL1ZOQyBzZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwczovL2xpYnZuYy5naXRodWIuaW8iCi1TRUNUSU9OID0gImxpYnMiCi1QUklPUklUWSA9ICJvcHRpb25hbCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNjFiNmI4MzdjYWQyNmM2OTAwYTkyNmI2MmFhZGE1ZiIKLQotREVQRU5EUyArPSAiemxpYiBsaWJzZGwganBlZyBsaWJwbmcgZ3RrKyBsaWJnY3J5cHQgbmV0dGxlIGdudXRscyBnbXAiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCcnLGQpfSIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLCxzeXN0ZW1kIgotCi1SREVQRU5EU18ke1BOfSArPSAibGlicG5nIGd0aysgbGliZ2NyeXB0IgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgYmluY29uZmlnIHBrZ2NvbmZpZwotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMvbGlidm5jc2VydmVyL2FyY2hpdmUvTGliVk5DU2VydmVyLSR7UFZ9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZjA2MTA0ZDVjMDA5ODEzZTk1MTQyOTMyYzRkZGIwNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTNkNjMwMzcyNzIyYTUzMjEzNmZkMjVjNTMyNmIyY2ExYTYzNmNiYjhiZjliYjExNWVmODY5YzgwNGQyODk0IgotCi1TID0gIiR7V09SS0RJUn0vJHtCUE59LUxpYlZOQ1NlcnZlci0ke1BWfSIKLQotVEFSR0VUX0xERkxBR1MgKz0gIi1sZ2NyeXB0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZuY3NlcnZlci9saWJ2bmNzZXJ2ZXJfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4YTg1OWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvbGlidm5jc2VydmVyL2xpYnZuY3NlcnZlcl9naXQuYmIKQEAgLTAsMCArMSwzNCBAQAorREVTQ1JJUFRJT04gPSAibGlicmFyeSBmb3IgZWFzeSBpbXBsZW1lbnRhdGlvbiBvZiBhIFJEUC9WTkMgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9saWJ2bmMuZ2l0aHViLmlvIgorU0VDVElPTiA9ICJsaWJzIgorUFJJT1JJVFkgPSAib3B0aW9uYWwiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgIGdjcnlwdCBcCisgICAgZ251dGxzIFwKKyAgICBqcGVnIFwKKyAgICBsem8gXAorICAgIHBuZyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCdzeXN0ZW1kJywnJyxkKX0gXAorICAgIHNkbCBcCisgICAgemxpYiBcCisiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLURXSVRIX0dDUllQVD1PTiwtRFdJVEhfR0NSWVBUPU9GRixsaWJnY3J5cHQsbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EV0lUSF9HTlVUTFM9T04sLURXSVRIX0dOVVRMUz1PRkYsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiwtRFdJVEhfSlBFRz1PRkYsanBlZyIKK1BBQ0tBR0VDT05GSUdbbHpvXSA9ICItRFdJVEhfTFpPPU9OLC1EV0lUSF9MWk89T0ZGLGx6byIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLURXSVRIX09QRU5TU0w9T04sLURXSVRIX09QRU5TU0w9T0ZGLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURXSVRIX1BORz1PTiwtRFdJVEhfUE5HPU9GRixsaWJwbmcsbGlicG5nIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItRFdJVEhfU1lTVEVNRD1PTiwtRFdJVEhfU1lTVEVNRD1PRkYsc3lzdGVtZCIKK1BBQ0tBR0VDT05GSUdbc2RsXSA9ICItRFdJVEhfU0RMPU9OLC1EV0lUSF9TREw9T0ZGLGxpYnNkbDIiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi1EV0lUSF9aTElCPU9OLC1EV0lUSF9aTElCPU9GRix6bGliIgorCitpbmhlcml0IGNtYWtlCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9MaWJWTkMvbGlidm5jc2VydmVyIgorU1JDUkVWID0gImMwYTIzODU3YTVjNDJiNDViNmQyMmNjZjcyMThiZWNkMWZhNjk0MDIiCisKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBmNzJjZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29tbV8yLjQwLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gIkMrKyBiaW5kaW5ncyBmb3IgdGhlIHBhbmdvIGxpYnJhcnkiCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLnRvb2xzO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotREVQRU5EUyA9ICJtbS1jb21tb24gY2Fpcm9tbSBnbGlibW0gcGFuZ28iCi0KLVNIUlRfVkVSID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19LiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMV19IgotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuZ25vbWUub3JnL3B1Yi9HTk9NRS9zb3VyY2VzL3BhbmdvbW0vJHtTSFJUX1ZFUn0vcGFuZ29tbS0ke1BWfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiODc0ZWFkZDk0MzQ2MTNkYmFjZjAyNzJjODJjM2FjMjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTc2MmVlMmEyZDU3ODFiZTY3OTc0NDhkNGRkMjM4M2NlMTQ5MDcxNTliMzBiYzEyYmY2YjA4ZTcyMjdiZTNhZiIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uICIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9LyovaW5jbHVkZS8gJHtsaWJkaXJ9L3BhbmdvbW0tKi8iCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb21tXzIuNDIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTg1ZGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvbW1fMi40Mi4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQysrIGJpbmRpbmdzIGZvciB0aGUgcGFuZ28gbGlicmFyeSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcudG9vbHM7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorCitERVBFTkRTID0gIm1tLWNvbW1vbiBjYWlyb21tIGdsaWJtbSBwYW5nbyIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL0dOT01FL3NvdXJjZXMvcGFuZ29tbS8ke1NIUlRfVkVSfS9wYW5nb21tLSR7UFZ9LnRhci54eiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2Y2ZmZWRmMjIyNWM0ZTcyNjQ1YTdkNzU3ZmI1YjgzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYTZkYTA2N2ZmOTNhNjQ0NTc4MGMwYjRiMjI2ZWI4NGY0ODRhYjEwNGI4MzkxZmI3NDRhNDVjYmM3ZWRiZjU2IgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjayBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vKi9pbmNsdWRlLyAke2xpYmRpcn0vcGFuZ29tbS0qLyIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9xcmVuY29kZS9xcmVuY29kZV9naXQuYmIKaW5kZXggZjUzOTc3NS4uMTA4YzMzOSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3FyZW5jb2RlL3FyZW5jb2RlX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvcXJlbmNvZGUvcXJlbmNvZGVfZ2l0LmJiCkBAIC00LDkgKzQsOSBAQAogU0VDVElPTiA9ICJsaWJzIgogTElDRU5TRSA9ICJMR1BMdjIuMSIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIgotUFYgPSAiNC4wLjArZ2l0JHtTUkNQVn0iCitQViA9ICI0LjAuMStnaXQke1NSQ1BWfSIKIAotU1JDUkVWID0gIjA3ZjNjNWQ0YmY5MTM2NzExNDIyY2M3ZGJmMjhhZmY0NjlkYTIyMGEiCitTUkNSRVYgPSAiN2M4M2RlYjhmNTYyYWU2MDEzZmVhNGMzZTY1Mjc4ZGY5M2Y5OGZiNyIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mdWt1Y2hpL2xpYnFyZW5jb2RlLmdpdCIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtQWRkLWluc3RhbGwtUEhPTlktdGFyZ2V0LWluLU1ha2VmaWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvZmlsZXMvMDAwMS1BZGQtaW5zdGFsbC1QSE9OWS10YXJnZXQtaW4tTWFrZWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1OThlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtQWRkLWluc3RhbGwtUEhPTlktdGFyZ2V0LWluLU1ha2VmaWxlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gOGQ5ODcwYjY2YzNjZmNmMTJjZTdlOGUwMTM5NDZlMmEyMTViYjcyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE5OjE2OjAyICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBpbnN0YWxsIFBIT05ZIHRhcmdldCBpbiBNYWtlZmlsZQorCistLS0KKyBNYWtlZmlsZSB8IDggKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwNTY0YjY1Li4wOTkzMzcyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMzUsNyArMzUsMTMgQEAgJChTVEFUSUNfTElCKTogJChPQkpFQ1RTKQorICUubzogJS5jcHAKKyAJJChDWFgpIC1jIC1vICRAICQ8ICQoQ1hYRkxBR1MpIC1NTUQKKyAKKytpbnN0YWxsOgorKwlta2RpciAtcCAkKFRBUkdFVF9ESVJfQklOKQorKwlta2RpciAtcCAkKFRBUkdFVF9ESVJfTElCKQorKwljcCAkKFRBUkdFVCkgJChUQVJHRVRfRElSX0JJTikvCisrCWNwICQoU1RBVElDX0xJQikgJChUQVJHRVRfRElSX0xJQikvCisrCisgY2xlYW46CisgCXJtIC1mICQoVEFSR0VUKSAkKE9CSkVDVFMpICQoQ0xJX09CSkVDVFMpICQoU1RBVElDX0xJQikgJChERVBTKQorIAorLS5QSE9OWTogY2xlYW4KKysuUEhPTlk6IGFsbCBpbnN0YWxsIGNsZWFuCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL2ZpbGVzLzAwMDEtdG9vbHMtbGVzc3BpcGUtQWxsb3ctZ2VuZXJpYy1zaGVsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWE0NWMyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvZmlsZXMvMDAwMS10b29scy1sZXNzcGlwZS1BbGxvdy1nZW5lcmljLXNoZWxsLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gMDMxMjdmZDVhNmVmZjVhZTJlYmVhMmU5YzZjMDFmYmYxYTBhNDIxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI1IERlYyAyMDE4IDE0OjM0OjA5ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHRvb2xzL2xlc3NwaXBlOiBBbGxvdyBnZW5lcmljIHNoZWxsCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vS2hyb25vc0dyb3VwL1NQSVJWLVRvb2xzL3B1bGwvMjI1NV0KK1NpZ25lZC1vZmYtYnk6IEFua2l0IE5hdmlrIDxhbmtpdC50YXJvdEBnbWFpbC5jb20+CistLS0KKyB0b29scy9sZXNzcGlwZS9zcGlydi1sZXNzcGlwZS5zaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL2xlc3NwaXBlL3NwaXJ2LWxlc3NwaXBlLnNoIGIvdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2gKK2luZGV4IDgxZTMzNTUuLmY5NTUyNTkgMTAwNjQ0CistLS0gYS90b29scy9sZXNzcGlwZS9zcGlydi1sZXNzcGlwZS5zaAorKysrIGIvdG9vbHMvbGVzc3BpcGUvc3BpcnYtbGVzc3BpcGUuc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvdXNyL2Jpbi9lbnYgc2gKKyAjIENvcHlyaWdodCAoYykgMjAxNiBUaGUgS2hyb25vcyBHcm91cCBJbmMuCisgCisgIyBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtc2hhZGVyLWdlbmVyYXRvcl9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3Mvc3Bpci9zcGlydi1zaGFkZXItZ2VuZXJhdG9yX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzg3OTcyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtc2hhZGVyLWdlbmVyYXRvcl9naXQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSAgPSAiU1BJUlYtQ3Jvc3MgaXMgYSB0b29sIGRlc2lnbmVkIGZvciBwYXJzaW5nIGFuZCBjb252ZXJ0aW5nIFNQSVItViBcCit0byBvdGhlciBzaGFkZXIgbGFuZ3VhZ2VzIgorTElDRU5TRSAgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorU0VDVElPTiA9ICJncmFwaGljcyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK1NSQ1JFViA9ICJlZDE2YjNlNjk5ODVmZWFmNTY1ZWZiZWNlYTcwYTFjYzJmY2EyYTU4IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1Dcm9zcy5naXQgXAorCWZpbGU6Ly8wMDAxLUFkZC1pbnN0YWxsLVBIT05ZLXRhcmdldC1pbi1NYWtlZmlsZS5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRSArPSAnVEFSR0VUX0RJUl9MSUI9IiR7RH0ke2xpYmRpcn0iJyAKK0VYVFJBX09FTUFLRSArPSAnVEFSR0VUX0RJUl9CSU49IiR7RH0ke2JpbmRpcn0iJworCitkb19jb21waWxlICgpIHsKKwljZCAke1N9ICYmIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCAoKSB7CisJY2QgJHtTfSAmJiBvZV9ydW5tYWtlIGluc3RhbGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXRvb2xzX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy9zcGlyL3NwaXJ2LXRvb2xzX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWUxMWRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3NwaXIvc3BpcnYtdG9vbHNfZ2l0LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgID0gIlRoZSBTUElSLVYgVG9vbHMgcHJvamVjdCBwcm92aWRlcyBhbiBBUEkgYW5kIGNvbW1hbmRzIGZvciBcCitwcm9jZXNzaW5nIFNQSVItViBtb2R1bGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIHByb2plY3QgaW5jbHVkZXMgYW4gYXNzZW1ibGVyLCBiaW5hcnkgbW9kdWxlIHBhcnNlciwgXAorZGlzYXNzZW1ibGVyLCB2YWxpZGF0b3IsIGFuZCBvcHRpbWl6ZXIgZm9yIFNQSVItVi4iCitMSUNFTlNFICA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2I4M2VmOTYzODdmMTQ2NTVmYzg1NGRkYzNjNmJkNTciCitTRUNUSU9OID0gImdyYXBoaWNzIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorREVTVF9ESVIgPSAiJHtTfS9leHRlcm5hbCIgCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vS2hyb25vc0dyb3VwL1NQSVJWLVRvb2xzLmdpdDtuYW1lPXNwaXJ2LXRvb2xzIFwKKwlmaWxlOi8vMDAwMS10b29scy1sZXNzcGlwZS1BbGxvdy1nZW5lcmljLXNoZWxsLnBhdGNoIFwKKwlnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9TUElSVi1IZWFkZXJzLmdpdDtuYW1lPXNwaXJ2LWhlYWRlcnM7ZGVzdHN1ZmZpeD0ke0RFU1RfRElSfS9zcGlydi1oZWFkZXJzIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9lZmZjZWUuZ2l0O25hbWU9ZWZmY2VlO2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vZWZmY2VlIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9yZTIuZ2l0O25hbWU9cmUyO2Rlc3RzdWZmaXg9JHtERVNUX0RJUn0vcmUyIFwKKwlnaXQ6Ly9naXRodWIuY29tL2dvb2dsZS9nb29nbGV0ZXN0LmdpdDtuYW1lPWdvb2dsZXRlc3Q7ZGVzdHN1ZmZpeD0ke0RFU1RfRElSfS9nb29nbGV0ZXN0IFwKKyIKK1NSQ1JFVl9zcGlydi10b29scyA9ICIxNjdmMTI3MGE5ZWU2NDFiMTdjMDE2YTU0NTc0MWU0YWFkZmFiZTg2IgorU1JDUkVWX3NwaXJ2LWhlYWRlcnMgPSAiNDYxOGI4NmU5ZTRiMDI3YTIyMDQwNzMyZGZlZTM1ZTM5OWNkMmM0NyIKK1NSQ1JFVl9lZmZjZWUgPSAiOGYwYTYxZGM5NWUwZGYxOGMxOGUwYWM1NmQ4M2IzZmE5ZDJmZTkwYiIKK1NSQ1JFVl9yZTIgPSAiMmNmODZlNWFiNmRjZmUwNDVhMWY1MTBjMmI5YThiMDEyYTQxNThjZCIKK1NSQ1JFVl9nb29nbGV0ZXN0ID0gIjE1MDYxMzE2NjUyNGM0NzRhOGE5N2RmNGMwMWQ0NmI3MjA1MGM0OTUiCisKK2luaGVyaXQgY21ha2UgcHl0aG9uM25hdGl2ZQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHtpbmNsdWRlZGlyfS9zcGlydgorCWluc3RhbGwgLW0gMDY0NCAke0RFU1RfRElSfS9zcGlydi1oZWFkZXJzL2luY2x1ZGUvc3BpcnYvMS4yLyogJHtEfS8ke2luY2x1ZGVkaXJ9L3NwaXJ2CQorfQorCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLnNvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtYXJwaGljLXVtaW5nXzIwMDgwMjE2LmJiCmluZGV4IDUyMmYwZmIuLjlkZTAyYjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWFycGhpYy11bWluZ18yMDA4MDIxNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1hcnBoaWMtdW1pbmdfMjAwODAyMTYuYmIKQEAgLTEsNyArMSw3IEBACiBTVU1NQVJZID0gIlVuaWNvZGUgTWluZ3RpIChwcmludGVkKSBUcnVlVHlwZSBGb250IgogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9DSktVbmlmb250cyIKIExJQ0VOU0UgPSAiQXJwaGljLVB1YmxpYy1MaWNlbnNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT02MmJlMDExMDk0Yjc4NjVkZGM0ZDFhNjQ4NDQ0ZDMxYSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpY2Vuc2UvZW5nbGlzaC9BUlBISUNQTC5UWFQ7bWQ1PTQ1NTVlZDg4ZTlhNzJmYzk1NjJhZjM3OWQwN2MzMzUwIgogU1JDX0RJU1RSSUJVVEVfTElDRU5TRVMgKz0gIiR7UE59IgogUlBST1ZJREVTXyR7UE59ID0gInZpcnR1YWwtY2hpbmVzZS1mb250IgogUFIgPSAicjYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1kcm9pZF9naXQuYmIKaW5kZXggZTYyYmFkZi4uOGRiYTdlZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy90dGYtZHJvaWRfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWRyb2lkX2dpdC5iYgpAQCAtMTIsOCArMTIsMTIgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdC9kYXRhL2ZvbnRzIgogCi1kb19pbnN0YWxsX3ByZXBlbmQoKSB7Ci0gICAgcm0gJHtTfS9BaGVtLnR0ZiBNVExjM20udHRmIERyb2lkU2Fuc0FyYWJpYy50dGYgRHJvaWRTYW5zVGhhaS50dGYgQ2xvY2tvcGlhLnR0ZiBNVExtcjNtLnR0ZiBEcm9pZFNhbnNIZWJyZXcudHRmIERyb2lkU2Fuc0ZhbGxiYWNrTGVnYWN5LnR0ZiAjIHdlJ3JlIG5vdCBwYWNrYWdpbmcgaXQKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGZvciBmIGluIEFoZW0udHRmIE1UTGMzbS50dGYgRHJvaWRTYW5zQXJhYmljLnR0ZiBEcm9pZFNhbnNUaGFpLnR0ZiBcCisgICAgICAgICAgICAgQ2xvY2tvcGlhLnR0ZiBNVExtcjNtLnR0ZiBEcm9pZFNhbnNIZWJyZXcudHRmIFwKKyAgICAgICAgICAgICBEcm9pZFNhbnNGYWxsYmFja0xlZ2FjeS50dGY7IGRvCisgICAgICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL3RydWV0eXBlLyRmCisgICAgZG9uZQogfQogCiBQQUNLQUdFUyA9ICJ0dGYtZHJvaWQtc2FucyB0dGYtZHJvaWQtc2Fucy1tb25vIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvMDAwMS1taXNjLU1ha2VmaWxlLmFtLWRvbi10LWluc3RhbGwtWGR1bW15LXdoZW4tY29uZmlndXJlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy8wMDAxLW1pc2MtTWFrZWZpbGUuYW0tZG9uLXQtaW5zdGFsbC1YZHVtbXktd2hlbi1jb25maWd1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE1ZjNmZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMvZmlsZXMvMDAwMS1taXNjLU1ha2VmaWxlLmFtLWRvbi10LWluc3RhbGwtWGR1bW15LXdoZW4tY29uZmlndXJlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gNjg2NDkxNTczODI3Yjk4YmEwMzFhZGFhNWRhMzczMzY2MDc5ZDNkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9KZWFuLUZyYW49QzM9QTdvaXM9MjBEYWdlbmFpcz89IDxqZWZmLmRhZ2VuYWlzQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTEgRmViIDIwMTkgMTE6NDI6NTkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gbWlzYy9NYWtlZmlsZS5hbTogZG9uJ3QgaW5zdGFsbCBYZHVtbXkgd2hlbiBjb25maWd1cmVkCisgLS13aXRob3V0LXgKKworVXBzdHJlYW0tc3RhdHVzOiBzdWJtaXR0ZWQgaHR0cHM6Ly9naXRodWIuY29tL2plZmYtZGFnZW5haXMveDExdm5jL3B1bGwvMQorCitTaWduZWQtb2ZmLWJ5OiBKZWFuLUZyYW5jb2lzIERhZ2VuYWlzIDxqZWZmLmRhZ2VuYWlzQGdtYWlsLmNvbT4KKy0tLQorIG1pc2MvTWFrZWZpbGUuYW0gfCA2ICsrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21pc2MvTWFrZWZpbGUuYW0gYi9taXNjL01ha2VmaWxlLmFtCitpbmRleCBjMGI5OGM4Li5lNGEyMmMxIDEwMDY0NAorLS0tIGEvbWlzYy9NYWtlZmlsZS5hbQorKysrIGIvbWlzYy9NYWtlZmlsZS5hbQorQEAgLTE4LDcgKzE4LDEwIEBAIEVYVFJBX0RJU1QgPSBcCisgCXVpbnB1dC5wbCBcCisgCXVsdHJhdm5jX3JlcGVhdGVyLnBsIFwKKyAJdmNpbmplY3QucGwgXAorLQl4MTF2bmNfbG9vcCBcCisrCXgxMXZuY19sb29wCisrCisraWYgSEFWRV9YMTEKKytFWFRSQV9ESVNUICs9IFwKKyAJWGR1bW15LmMgXAorIAlYZHVtbXkuaW4KKyAKK0BAIC0zMiwzICszNSw0IEBAIGRvX2R1bW15X2Nfc3Vic3QgPSAkKFNFRCkgXAorIFhkdW1teTogJChzcmNkaXIpL1hkdW1teS5pbiAkKHNyY2RpcikvWGR1bW15LmMKKyAJJChkb19kdW1teV9jX3N1YnN0KSA8ICQ8ID4gJEAudG1wCisgCW12IC1mICRALnRtcCAkQAorK2VuZGlmCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyYTUzOGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotbGlidm5jc2VydmVyOiByZXBsYWNlIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4gd2l0aCBXT1JEU19CSUdFTkRJQU4KLQotc2luY2UgbWFjcm8gQUNfQ19CSUdFTkRJQU4gaXMgdXNlZCBpbiBhdXRvY29uZiBhbmQgV09SRFNfQklHRU5ESUFOIGlzCi1hdXRvbWF0aWNhbGx5IHNldCBmb3IgZGlmZmVyZW50IGFyY2gsIGl0IGlzIGJldHRlciB0byB1c2UgV09SRFNfQklHRU5ESUFOCi1pbnN0ZWFkIG9mIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4sIHdoaWNoIGN1YXNlIGlzc3VlIGluIG1pcHMuCi0KLVNpZ25lZC1vZmYtYnk6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1kaWZmIC0tZ2l0IGEvbGlidm5jc2VydmVyL21haW4uYyBiL2xpYnZuY3NlcnZlci9tYWluLmMKLWluZGV4IGI2YmQ5MzAuLjhiYmI3YmYgMTAwNjQ0Ci0tLS0gYS9saWJ2bmNzZXJ2ZXIvbWFpbi5jCi0rKysgYi9saWJ2bmNzZXJ2ZXIvbWFpbi5jCi1AQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgTVVURVgoZXh0TXV0ZXgpOwotIAotIHN0YXRpYyBpbnQgcmZiRW5hYmxlTG9nZ2luZz0xOwotIAotLSNpZmRlZiBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOCi0rI2lmZGVmIFdPUkRTX0JJR0VORElBTgotIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0wKTsKLSAjZWxzZQotIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0xKTsKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaAppbmRleCBmNjJlNDA1Li4wNjAzMTljIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaApAQCAtMTAsMTAgKzEwLDEwIEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KIAotSW5kZXg6IHgxMXZuYy0wLjkuMTIveDExdm5jL3gxMXZuYy5kZXNrdG9wCitJbmRleDogeDExdm5jLTAuOS4xMi94MTF2bmMuZGVza3RvcAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHgxMXZuYy0wLjkuMTIub3JpZy94MTF2bmMveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozMzoxOC4wMDAwMDAwMDAgKzA4MDAKLSsrKyB4MTF2bmMtMC45LjEyL3gxMXZuYy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjM1OjIwLjAwMDAwMDAwMCArMDgwMAorLS0tIHgxMXZuYy0wLjkuMTIub3JpZy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjMzOjE4LjAwMDAwMDAwMCArMDgwMAorKysrIHgxMXZuYy0wLjkuMTIveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozNToyMC4wMDAwMDAwMDAgKzA4MDAKIEBAIC0xLDcgKzEsNyBAQAogIFtEZXNrdG9wIEVudHJ5XQogIE5hbWU9WDExVk5DIFNlcnZlcgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMDQ3YmM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVNVTU1BUlkgPSAiRXhwb3J0cyB5b3VyIFggc2Vzc2lvbiBvbi10aGUtZmx5IHZpYSBWTkMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyIKLQotU0VDVElPTiA9ICJ4MTEvdXRpbHMiCi1BVVRIT1IgPSAiS2FybCBSdW5nZSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDExdm5jL3gxMXZuYy5oO2VuZGxpbmU9MzM7bWQ1PTZmOTVkYzY1MzU0NjdkN2VlMTU2M2ZkNDM0ZmIzNzJlIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJ2bmNzZXJ2ZXIveDExdm5jLyR7UFZ9L3gxMXZuYy0ke1BWfS50YXIuZ3pcCi0gICAgICAgICAgIGZpbGU6Ly9zdGFydGluZy1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZW5kaWFuLWZpeC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtcmVkdW5kYW50LVJQQVRILnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImEzNzJlYzRmZTgyMTEyMjE1NDdiMWMxMDhjZjU2ZTRjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2ODI5ZjJlNjI5NjY3YTUyODRkZTYyYjA4MGIxMzEyNmEwNzM2NDk5ZmU0N2NkYjQ0N2FlZGIwN2E1OWYxM2IiCi0KLURFUEVORFMgPSAib3BlbnNzbCB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGpwZWcgemxpYiBsaWJ4Zml4ZXMgbGlieHJhbmRyIGxpYnhkYW1hZ2UgbGlieHRzdCBsaWJ0YXNuMSBwMTEta2l0IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0jIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ2F2YWhpJywgJycsIGQpfSBsaWJ2bmNzZXJ2ZXIiCi1QQUNLQUdFQ09ORklHW2F2YWhpXSA9ICItLXdpdGgtYXZhaGksLS13aXRob3V0LWF2YWhpLGF2YWhpIgotUEFDS0FHRUNPTkZJR1t4aW5lcmFtYV0gPSAiLS13aXRoLXhpbmVyYW1hLC0td2l0aG91dC14aW5lcmFtYSxsaWJ4aW5lcmFtYSIKLVBBQ0tBR0VDT05GSUdbbGlidm5jc2VydmVyXSA9ICItLXdpdGgtc3lzdGVtLWxpYnZuY3NlcnZlciwtLXdpdGhvdXQtc3lzdGVtLWxpYnZuY3NlcnZlcixsaWJ2bmNzZXJ2ZXIiCi0KLWRvX3ByZXBhcmVfc291cmNlcyAoKSB7Ci0gICAgIyBSZW1vdmUgb2xkIGxpYnRvb2wgbWFjcm9zIGZyb20gYWNpbmNsdWRlLm00Ci0gICAgc2VkIC1pIC1lICcvXiMgbGlidG9vbC5tNC9xJyAke1N9L2FjaW5jbHVkZS5tNAotfQotZG9fcGF0Y2hbcG9zdGZ1bmNzXSArPSAiZG9fcHJlcGFyZV9zb3VyY2VzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjE2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYWNlMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL3gxMXZuY18wLjkuMTYuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJFeHBvcnRzIHlvdXIgWCBzZXNzaW9uIG9yIEZyYW1lQnVmZmVyKGZiZGV2KSBvbi10aGUtZmx5IHZpYSBWTkMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyIKKworU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitBVVRIT1IgPSAiS2FybCBSdW5nZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3gxMXZuYy5oO2VuZGxpbmU9MzE7bWQ1PWU4NzFhMmFkMDA0Nzc2Nzk0YjYxNjgyMmRjYWI2MzE0IgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9MaWJWTkMveDExdm5jL2FyY2hpdmUvJHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9eDExdm5jLSR7UFZ9LnRhci5nelwKKyAgICAgICAgICAgZmlsZTovL3N0YXJ0aW5nLWZpeC5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtbWlzYy1NYWtlZmlsZS5hbS1kb24tdC1pbnN0YWxsLVhkdW1teS13aGVuLWNvbmZpZ3VyZS5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NDE3MmU4Zjg5NjM4OWVjOTYzZmZmOTM0MTVmMGQ5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODVlNWI1ZjVmMjVlZWM2ZjllNGExZThiZTNkMGFjNzFhNjg2MzMxZWUxY2ZiNDQyZGJhMzkxMTExYmQzMmJkIgorCitERVBFTkRTID0gIlwKKwlqcGVnIFwKKwlsaWJ0YXNuMSBcCisJbGlidm5jc2VydmVyIFwKKwlvcGVuc3NsIFwKKwlwMTEta2l0IFwKKwl6bGliIFwKKyIKKworaW5oZXJpdCBwa2djb25maWcgYXV0b3Rvb2xzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitBTllfT0ZfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBmYmRldiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIlwKKwkke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3plcm9jb25mJywgJ2F2YWhpJywgJycsIGQpfSBcCisJJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS13aXRoLWF2YWhpLC0td2l0aG91dC1hdmFoaSxhdmFoaSIKK1BBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0td2l0aC14aW5lcmFtYSwtLXdpdGhvdXQteGluZXJhbWEsbGlieGluZXJhbWEiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXgsLS13aXRob3V0LXgsIGxpYnhkYW1hZ2UgbGlieGV4dCBsaWJ4Zml4ZXMgbGlieHJhbmRyIGxpYnh0c3QgdmlydHVhbC9saWJ4MTEiCisKK1JSRUNPTU1FTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnZmJkZXYnLCAna2VybmVsLW1vZHVsZS11aW5wdXQnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuMTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvdHdtXzEuMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTIyNjdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuMTAuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKK1NVTU1BUlkgPSAidGlueSB3aW5kb3cgbWFuYWdlciIKK0RFUEVORFMgKz0gIiBsaWJ4ZXh0IGxpYnh0IGxpYnhtdSBiaXNvbi1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGM2ZDQyZWY2MGU4MTY2YWEyNjYwNjUyNGMwYjk1ODYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMzIyYzA4ZWViNjM1ZjkyNGVkZTViOGViYTNkYjU0ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NDQ5ZWFkY2ExNmNlMGYwZDkwMDYwNWIwY2MwMjBiOTVmNDA2MTkyNjFiN2JlY2NmYjQ2YmNjMTgzNjQ0NWQ3IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEvdHdtL3N5c3RlbS50d21yYyIKK0FMVEVSTkFUSVZFX05BTUUgPSAieC13aW5kb3ctbWFuYWdlciIKK0FMVEVSTkFUSVZFX1BBVEggPSAiJHtiaW5kaXJ9L3R3bSIKK0FMVEVSTkFUSVZFX0xJTksgPSAiJHtiaW5kaXJ9L3gtd2luZG93LW1hbmFnZXIiCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC90d21fMS4wLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxYzgwNGIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3R3bV8xLjAuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94b3JnLWFwcC1jb21tb24uaW5jCi1TVU1NQVJZID0gInRpbnkgd2luZG93IG1hbmFnZXIiCi1ERVBFTkRTICs9ICIgbGlieGV4dCBsaWJ4dCBsaWJ4bXUgYmlzb24tbmF0aXZlIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRjNmQ0MmVmNjBlODE2NmFhMjY2MDY1MjRjMGI5NTg2IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTlhNmYwNzZjZGFjYjVmNjk0NWRhYzgwOWJjZjQ5MDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzU3NTE2N2FjMzNlZGYzYmQxNTkyZjFiZWRmZTA1NTlkZWJiMTI4ZWQ1ZmI0ODczYzEyNzhlM2JlMTY2MzEwYSIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vWDExL3R3bS9zeXN0ZW0udHdtcmMiCi1BTFRFUk5BVElWRV9OQU1FID0gIngtd2luZG93LW1hbmFnZXIiCi1BTFRFUk5BVElWRV9QQVRIID0gIiR7YmluZGlyfS90d20iCi1BTFRFUk5BVElWRV9MSU5LID0gIiR7YmluZGlyfS94LXdpbmRvdy1tYW5hZ2VyIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdkXzEuMC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTRiZjU3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gInh3ZCBpcyBhIHRvb2wgdG8gY2FwdHVyZSBhbiBYIHdpbmRvdyBvciBzY3JlZW4gdG8gZmlsZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy94b3JnL2FwcC94d2QvIgotU0VDVElPTiA9ICJ4MTEvYXBwIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGNkYjc4M2U5YTAxOTgyMzczNzFmZGFhMjZhMThiZiIKLURFUEVORFMgPSAibGlieG11IGxpYnhrYmZpbGUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YjVkNDg0NjRjNWYzNjZlOTFlZmQwOGI2MmIxMmQ5NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzYmIzOTZhMjI2OGQ3OGRlNGIxYzNlNTIzN2E4NWY3ODQ5ZDM0MzRlODdiM2NkMWY0ZDU3ZWVmNjE0MjI3ZDc5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h3ZF8xLjAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFkNDhiMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2RfMS4wLjcuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSByZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJ4d2QgaXMgYSB0b29sIHRvIGNhcHR1cmUgYW4gWCB3aW5kb3cgb3Igc2NyZWVuIHRvIGZpbGUiCitIT01FUEFHRSA9ICJodHRwOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9hcHAveHdkLyIKK1NFQ1RJT04gPSAieDExL2FwcCIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzBjZGI3ODNlOWEwMTk4MjM3MzcxZmRhYTI2YTE4YmYiCitERVBFTkRTID0gImxpYnhtdSBsaWJ4a2JmaWxlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTE3OTRhOGViYTZkMjk1YTE5MmE4OTc1Mjg3ZmQ5NDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2Q2ODE1YjhiOWUwYjk4ZTI4NGQzZDczMmZiMTIxNjIxNTljYjlkY2VlNGY0NWE3ZDRjMGJkOGIzMDhhNjc5NCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV8xOC4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1hdGlfMTguMC4xLmJiCmluZGV4IDk2OWMxYTAuLmIzOGZiNjUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWF0aV8xOC4wLjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tYXRpXzE4LjAuMS5iYgpAQCAtMTIsOCArMTIsNiBAQAogaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyArPSAib3BlbmdsIgogCi1DT01QQVRJQkxFX0hPU1QgPSAnKGkuODZ8eDg2XzY0KS4qLWxpbnV4JwotCiBTUkNfVVJJW21kNXN1bV0gPSAiNDBlN2MwYTVhNjlhYmEzZDg0ZTA5NThmNTg3MDVlYTciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzJlYTNiODEyN2Q0NTUwYjY0Zjc5NzQ1N2Y1YTc4NTFhNTQxZmE0ZWUyY2MzZjM0NWI2YzE4ODZiODE3MTRhMCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzEuNi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzEuNi41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxODJlMThmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8xLjYuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKLQotU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBNYXRyb3ggTUdBIGRpc3BsYXkgZHJpdmVyIgotCi1ERVNDUklQVElPTiA9ICJtZ2EgaXMgYW4gWG9yZyBkcml2ZXIgZm9yIE1hdHJveCB2aWRlbyBjYXJkcyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmMxMzk1ZDJjZDMyZGZjNWQ2YzU3ZDJkOGY4M2QzZmMiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9jaGVja2ZpbGUucGF0Y2giCi0KLURFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnBjaWFjY2VzcyIKLQotQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2LiotbGludXh8eDg2XzY0LiotbGludXgpJwotCi1TUkNfVVJJW21kNXN1bV0gPSAiM2VlMjU0OTI0N2UwMWRlM2U3YmNlNTJjMjc0ODMxMTgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjY2M2NkOGU2MzY0ZjdjNGUyNjM3YjlmY2FiOTg2MWQwZTM5NzE1MThjNzNiMDBkMjEzZjY1NDVhMTI4OTQyMiIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpJywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmksLS1kaXNhYmxlLWRyaSxkcm0geG9yZ3Byb3RvLHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZHJpIgotCi1SREVQRU5EU18ke1BOfSA9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8yLjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW1nYV8yLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTEzZDUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tbWdhXzIuMC4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK3JlcXVpcmUgcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBNYXRyb3ggTUdBIGRpc3BsYXkgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJtZ2EgaXMgYW4gWG9yZyBkcml2ZXIgZm9yIE1hdHJveCB2aWRlbyBjYXJkcyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmMxMzk1ZDJjZDMyZGZjNWQ2YzU3ZDJkOGY4M2QzZmMiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9jaGVja2ZpbGUucGF0Y2giCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnBjaWFjY2VzcyIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2LiotbGludXh8eDg2XzY0LiotbGludXgpJworCitTUkNfVVJJW21kNXN1bV0gPSAiYjhmYzk5YjRhZGVhOGJmZTgwMTU2YjEzZGY0YjZjOWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjY4OTQ2ZTFhMTNlOWQ4MGU0ZjcyNGEwNzQwZGY5ZTZlOGM4YmFkMzc2OTdmY2JmNDU2OTI0ZTlmZGJiNWQ3OSIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmksLS1kaXNhYmxlLWRyaSxkcm0geG9yZ3Byb3RvLHhzZXJ2ZXIteG9yZy1leHRlbnNpb24tZHJpIgorCitSREVQRU5EU18ke1BOfSA9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWV4YSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvYnBmdG9vbC9icGZ0b29sLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKaW5kZXggZGQ3ZWFhMi4uZjc1YWM2ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9icGZ0b29sL2JwZnRvb2wuYmIKQEAgLTI3LDcgKzI3LDcgQEAKIFBBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCiAKIHB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7Ci0gICAgZC5zZXRWYXIoJ1BLR1YnLCBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iLCBUcnVlKS5zcGxpdCgiLSIpWzBdKQorICAgIGQuc2V0VmFyKCdQS0dWJywgZC5nZXRWYXIoIktFUk5FTF9WRVJTSU9OIikuc3BsaXQoIi0iKVswXSkKIH0KIAogQiA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3B1cG93ZXIvY3B1cG93ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NwdXBvd2VyL2NwdXBvd2VyLmJiCmluZGV4IDQ1NDRmNWIuLjkyODk3MzggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3B1cG93ZXIvY3B1cG93ZXIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcHVwb3dlci9jcHVwb3dlci5iYgpAQCAtMzAsNyArMzAsNyBAQAogUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKIAogcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCgpIHsKLSAgICBkLnNldFZhcignUEtHVicsIGQuZ2V0VmFyKCJLRVJORUxfVkVSU0lPTiIsIFRydWUpLnNwbGl0KCItIilbMF0pCisgICAgZC5zZXRWYXIoJ1BLR1YnLCBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iKS5zcGxpdCgiLSIpWzBdKQogfQogCiBCID0gIiR7V09SS0RJUn0vJHtCUE59LSR7UFZ9IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvY3Jhc2gvY3Jhc2hfNy4yLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3MmIxYTMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEyMCArMCwwIEBACi1TVU1NQVJZID0gIktlcm5lbCBhbmFseXNpcyB1dGlsaXR5IGZvciBsaXZlIHN5c3RlbXMsIG5ldGR1bXAsIGRpc2tkdW1wLCBrZHVtcCwgTEtDRCBvciBtY29yZSBkdW1wZmlsZXMiCi1ERVNDUklQVElPTiA9ICJUaGUgY29yZSBhbmFseXNpcyBzdWl0ZSBpcyBhIHNlbGYtY29udGFpbmVkIHRvb2wgdGhhdCBjYW4gYmUgdXNlZCB0b1wKLWludmVzdGlnYXRlIGVpdGhlciBsaXZlIHN5c3RlbXMsIGtlcm5lbCBjb3JlIGR1bXBzIGNyZWF0ZWQgZnJvbSB0aGVcCi1uZXRkdW1wLCBkaXNrZHVtcCBhbmQga2R1bXAgcGFja2FnZXMgZnJvbSBSZWQgSGF0IExpbnV4LCB0aGUgbWNvcmUga2VybmVsIHBhdGNoXAotb2ZmZXJlZCBieSBNaXNzaW9uIENyaXRpY2FsIExpbnV4LCBvciB0aGUgTEtDRCBrZXJuZWwgcGF0Y2guIgotCi1IT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vYW5kZXJzb24iCi1TRUNUSU9OID0gImRldmVsIgotCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTID0gInpsaWIgcmVhZGxpbmUgY29yZXV0aWxzLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vY3Jhc2gtdXRpbGl0eS8ke0JQTn0vYXJjaGl2ZS8ke1BWfS50YXIuZ3o7ZG93bmxvYWRmaWxlbmFtZT0ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItNy42LnRhci5nejtuYW1lPWdkYjtzdWJkaXI9JHtCUH0gXAotICAgICAgICAgICBmaWxlOi8vNzAwMWZvcmNlX2RlZmluZV9hcmNoaXRlY3R1cmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vNzAwM2Nyb3NzX3JhbmxpYi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNyb3NzX2FkZF9jb25maWd1cmVfb3B0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NpbS1wcGMtZHJvcC1MSUJTLWZyb20tcHNpbS1kZXBlbmRlbmN5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NpbS1jb21tb24tc2ltLWFyYW5nZS1maXgtZXh0ZXJuLWlubGluZS1oYW5kbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kb25ub3QtZXh0cmFjdC1nZGItZHVyaW5nLWRvLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2RiX2J1aWxkX2pvYnNfYW5kX25vdF93cml0ZV9jcmFzaF90YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXVucmVjb2duaXplZC1nY2Mtb3B0aW9uLW0zMi1mb3ItbWlwcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWNyYXNoLWZpeC1idWlsZC1lcnJvci11bmtub3duLXR5cGUtbmFtZS1nZGJfZnByZWdzZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1jcmFzaC1kZXRlY3QtdGhlLXN5c3Jvb3Qtcy1nbGliYy1oZWFkZXItZmlsZS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0ZjY2ZWIwZTlhODJmZjgzZGUwNmFjMmIzNzUwMWY1YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NWNhMmU5M2YxZWU2MjhlZjI0OTlhYjljNzg2MjNmOGIwNDUwMGJkZjczNzhjMDlkZTE5MjgzZjZhN2E2OThmIgotCi1TUkNfVVJJW2dkYi5tZDVzdW1dID0gImE5ODM2NzA3MzM3ZTVmN2JmNzZhMDA5YTg5MDRmNDcwIgotU1JDX1VSSVtnZGIuc2hhMjU2c3VtXSA9ICI4MDcwMzg5YTVkY2MxMDRlYjBiZTQ4M2Q1ODI3MjlmOThlZDRkNzYxYWQxOWNlZGQzZjE3YjVkMjUwMmZhYTM2IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NyYXNoLXV0aWxpdHkvY3Jhc2gvcmVsZWFzZXMiCi0KLWluaGVyaXQgZ2V0dGV4dAotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBjcm9zcyIKLVRBUkdFVF9DQ19BUkNIX2FwcGVuZCA9ICIgJHtTRUxFQ1RFRF9PUFRJTUlaQVRJT059IgotCi0jIGNyYXNoIDcuMS4zIGFuZCBiZWZvcmUgZG9uJ3Qgc3VwcG9ydCBtaXBzNjQKLUNPTVBBVElCTEVfSE9TVCA9ICJeKD8hbWlwczY0KS4qIgotCi1FWFRSQV9PRU1BS0UgPSAnUlBNUEtHPSIke1BWfSIgXAotICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7VEFSR0VUX1NZU30iIFwKLSAgICAgICAgICAgICAgICBHREJfSE9TVD0iJHtCVUlMRF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgR0RCX01BS0VfSk9CUz0iJHtQQVJBTExFTF9NQUtFfSIgXAotICAgICAgICAgICAgICAgIExERkxBR1M9IiR7TERGTEFHU30iIFwKLSAgICAgICAgICAgICAgICAnCi0KLUVYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdSUE1QS0c9IiR7UFZ9IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX1RBUkdFVD0iJHtCVUlMRF9TWVN9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcJHtHREJfQ09ORl9GTEFHU30gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tdGFyZ2V0PSR7VEFSR0VUX1NZU30iIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBHREJfSE9TVD0iJHtCVUlMRF9TWVN9IiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX01BS0VfSk9CUz0iJHtQQVJBTExFTF9NQUtFfSIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICcKLQotRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgotRVhUUkFfT0VNQUtFX2FwcGVuZF9jbGFzcy1jcm9zcyA9ICIgTERGTEFHUz0nJHtCVUlMRF9MREZMQUdTfSciCi0KLVJFTU9WRV9NMzIgPSAic2VkIC1pIC1lICdzLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0LiovI2RlZmluZSBUQVJHRVRfQ0ZMQUdTX0FSTV9PTl9YODZfNjRcdFwiVEFSR0VUX0NGTEFHUz0tRF9GSUxFX09GRlNFVF9CSVRTPTY0XCIvZycgJHtTfS9jb25maWd1cmUuYyIKLQotUkVNT1ZFX00zMl9jbGFzcy1jcm9zcyA9ICIiCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICA6Ci19Ci0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBjYXNlICR7VEFSR0VUX0FSQ0h9IGluCi0gICAgICAgIGFhcmNoNjQqKSAgICBBUkNIPUFSTTY0IDs7Ci0gICAgICAgIGFybSopICAgICAgICBBUkNIPUFSTSA7OwotICAgICAgICBpKjg2KikgICAgICAgQVJDSD1YODYgOzsKLSAgICAgICAgeDg2XzY0KikgICAgIEFSQ0g9WDg2XzY0IDs7Ci0gICAgICAgIHBvd2VycGM2NCopICBBUkNIPVBQQzY0IDs7Ci0gICAgICAgIHBvd2VycGMqKSAgICBBUkNIPVBQQyA7OwotICAgICAgICBtaXBzKikgICAgICAgQVJDSD1NSVBTIDs7Ci0gICAgZXNhYwotCi0gICAgc2VkIC1pIHMvRk9SQ0VfREVGSU5FX0FSQ0gvIiR7QVJDSH0iL2cgJHtTfS9jb25maWd1cmUuYwotICAgICR7UkVNT1ZFX00zMn0KLSAgICBzZWQgLWkgJ3MvJmd0Oy8+L2cnICR7U30vTWFrZWZpbGUKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICBvZV9ydW5tYWtlICR7RVhUUkFfT0VNQUtFfSBSRUNJUEVfU1lTUk9PVD0ke1JFQ0lQRV9TWVNST09UfQotfQotCi1kb19pbnN0YWxsX3ByZXBlbmQgKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKLQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2NyYXNoLjggJHtEfS8ke21hbmRpcn0vbWFuOC8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWZzLmggJHtEfSR7aW5jbHVkZWRpcn0vY3Jhc2gKLX0KLQotZG9faW5zdGFsbF9jbGFzcy10YXJnZXQgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9JHtTVEFHSU5HX0RJUl9OQVRJVkV9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vY3Jhc2ggJHtEfS8ke2JpbmRpcn0KLX0KLQotUkRFUEVORFNfJHtQTn0gKz0gImxpYmx6bWEiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtY3Jvc3MgPSAiIgotCi0jIENhdXNlcyBnY2MgdG8gZ2V0IHN0dWNrIGFuZCBlYXQgYWxsIGF2YWlsYWJsZSBtZW1vcnkgaW4gcWVtdWFybSBidWlsZHMKLSMgamVua2lucyAgMTUxNjEgIDEwMCAxMi41IDEwMzg5NTk2IDEwMzIxMjg0ID8gICBSICAgIDExOjQwICAyODoxNyAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYmV4ZWMvYXJtLW9lLWxpbnV4LWdudWVhYmkvZ2NjL2FybS1vZS1saW51eC1nbnVlYWJpLzQuOS4yL2NjMSAtcXVpZXQgLUkgLiAtSSAuIC1JIC4vY29tbW9uIC1JIC4vY29uZmlnIC1JIC4vLi4vaW5jbHVkZS9vcGNvZGUgLUkgLi8uLi9vcGNvZGVzLy4uIC1JIC4vLi4vcmVhZGxpbmUvLi4gLUkgLi4vYmZkIC1JIC4vLi4vYmZkIC1JIC4vLi4vaW5jbHVkZSAtSSAuLi9saWJkZWNudW1iZXIgLUkgLi8uLi9saWJkZWNudW1iZXIgLUkgLi9nbnVsaWIvaW1wb3J0IC1JIGJ1aWxkLWdudWxpYi9pbXBvcnQgLWlzeXNyb290IC9ob21lL2plbmtpbnMvb2Uvd29ybGQvc2hyLWNvcmUvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXVhcm0gLU1NRCBldmFsLmQgLU1GIC5kZXBzL2V2YWwuVHBvIC1NUCAtTVQgZXZhbC5vIC1EIExPQ0FMRURJUj0iL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiIC1EIENSQVNIX01FUkdFIC1EIEhBVkVfQ09ORklHX0ggLUQgVFVJPTEgZXZhbC5jIC1xdWlldCAtZHVtcGJhc2UgZXZhbC5jIC1tYXJjaD1hcm12NXRlIC1tdGh1bWIgLW10aHVtYi1pbnRlcndvcmsgLW10bHMtZGlhbGVjdD1nbnUgLWF1eGJhc2Utc3RyaXAgZXZhbC5vIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV25vLXBvaW50ZXItc2lnbiAtV25vLXVudXNlZCAtV3VudXNlZC12YWx1ZSAtV3VudXNlZC1mdW5jdGlvbiAtV25vLXN3aXRjaCAtV25vLWNoYXItc3Vic2NyaXB0cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAtV2VtcHR5LWJvZHkgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1vIC0KLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8xODY5NjQvCi1FWENMVURFX0ZST01fV09STERfbGliYy1tdXNsID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL2NyYXNoL2NyYXNoXzcuMi41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjIzMzU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9jcmFzaC9jcmFzaF83LjIuNS5iYgpAQCAtMCwwICsxLDEyMCBAQAorU1VNTUFSWSA9ICJLZXJuZWwgYW5hbHlzaXMgdXRpbGl0eSBmb3IgbGl2ZSBzeXN0ZW1zLCBuZXRkdW1wLCBkaXNrZHVtcCwga2R1bXAsIExLQ0Qgb3IgbWNvcmUgZHVtcGZpbGVzIgorREVTQ1JJUFRJT04gPSAiVGhlIGNvcmUgYW5hbHlzaXMgc3VpdGUgaXMgYSBzZWxmLWNvbnRhaW5lZCB0b29sIHRoYXQgY2FuIGJlIHVzZWQgdG9cCitpbnZlc3RpZ2F0ZSBlaXRoZXIgbGl2ZSBzeXN0ZW1zLCBrZXJuZWwgY29yZSBkdW1wcyBjcmVhdGVkIGZyb20gdGhlXAorbmV0ZHVtcCwgZGlza2R1bXAgYW5kIGtkdW1wIHBhY2thZ2VzIGZyb20gUmVkIEhhdCBMaW51eCwgdGhlIG1jb3JlIGtlcm5lbCBwYXRjaFwKK29mZmVyZWQgYnkgTWlzc2lvbiBDcml0aWNhbCBMaW51eCwgb3IgdGhlIExLQ0Qga2VybmVsIHBhdGNoLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3Blb3BsZS5yZWRoYXQuY29tL2FuZGVyc29uIgorU0VDVElPTiA9ICJkZXZlbCIKKworTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJ6bGliIHJlYWRsaW5lIGNvcmV1dGlscy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NyYXNoLXV0aWxpdHkvJHtCUE59L2FyY2hpdmUvJHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgaHR0cDovL2Z0cC5nbnUub3JnL2dudS9nZGIvZ2RiLTcuNi50YXIuZ3o7bmFtZT1nZGI7c3ViZGlyPSR7QlB9IFwKKyAgICAgICAgICAgZmlsZTovLzcwMDFmb3JjZV9kZWZpbmVfYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzcwMDNjcm9zc19yYW5saWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zc19hZGRfY29uZmlndXJlX29wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tcHBjLWRyb3AtTElCUy1mcm9tLXBzaW0tZGVwZW5kZW5jeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaW0tY29tbW9uLXNpbS1hcmFuZ2UtZml4LWV4dGVybi1pbmxpbmUtaGFuZGxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZG9ubm90LWV4dHJhY3QtZ2RiLWR1cmluZy1kby1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dkYl9idWlsZF9qb2JzX2FuZF9ub3Rfd3JpdGVfY3Jhc2hfdGFyZ2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JlbW92ZS11bnJlY29nbml6ZWQtZ2NjLW9wdGlvbi1tMzItZm9yLW1pcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1jcmFzaC1maXgtYnVpbGQtZXJyb3ItdW5rbm93bi10eXBlLW5hbWUtZ2RiX2ZwcmVnc2V0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtY3Jhc2gtZGV0ZWN0LXRoZS1zeXNyb290LXMtZ2xpYmMtaGVhZGVyLWZpbGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2Y2ZTE4ZDM4ODIxYmIzMjY3MDBmMWQ2ZDQzYmNhZWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTE0YTgzY2EyN2M5MWU0MzIxZjYzOTlkNjM3YTlkMjI3MGY3MmI5MzI3ZTU2ZDY4N2M1ZmIxMzllOTAzMDY5YiIKKworU1JDX1VSSVtnZGIubWQ1c3VtXSA9ICJhOTgzNjcwNzMzN2U1ZjdiZjc2YTAwOWE4OTA0ZjQ3MCIKK1NSQ19VUklbZ2RiLnNoYTI1NnN1bV0gPSAiODA3MDM4OWE1ZGNjMTA0ZWIwYmU0ODNkNTgyNzI5Zjk4ZWQ0ZDc2MWFkMTljZWRkM2YxN2I1ZDI1MDJmYWEzNiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9jcmFzaC11dGlsaXR5L2NyYXNoL3JlbGVhc2VzIgorCitpbmhlcml0IGdldHRleHQKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgY3Jvc3MiCitUQVJHRVRfQ0NfQVJDSF9hcHBlbmQgPSAiICR7U0VMRUNURURfT1BUSU1JWkFUSU9OfSIKKworIyBjcmFzaCA3LjEuMyBhbmQgYmVmb3JlIGRvbid0IHN1cHBvcnQgbWlwczY0CitDT01QQVRJQkxFX0hPU1QgPSAiXig/IW1pcHM2NCkuKiIKKworRVhUUkFfT0VNQUtFID0gJ1JQTVBLRz0iJHtQVn0iIFwKKyAgICAgICAgICAgICAgICBHREJfVEFSR0VUPSIke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICBMREZMQUdTPSIke0xERkxBR1N9IiBcCisgICAgICAgICAgICAgICAgJworCitFWFRSQV9PRU1BS0VfY2xhc3MtY3Jvc3MgPSAnUlBNUEtHPSIke1BWfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9UQVJHRVQ9IiR7QlVJTERfU1lTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCR7R0RCX0NPTkZfRkxBR1N9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0RCX0hPU1Q9IiR7QlVJTERfU1lTfSIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdEQl9NQUtFX0pPQlM9IiR7UEFSQUxMRUxfTUFLRX0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnCisKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBMREZMQUdTPScke0JVSUxEX0xERkxBR1N9JyIKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiIExERkxBR1M9JyR7QlVJTERfTERGTEFHU30nIgorCitSRU1PVkVfTTMyID0gInNlZCAtaSAtZSAncy8jZGVmaW5lIFRBUkdFVF9DRkxBR1NfQVJNX09OX1g4Nl82NC4qLyNkZWZpbmUgVEFSR0VUX0NGTEFHU19BUk1fT05fWDg2XzY0XHRcIlRBUkdFVF9DRkxBR1M9LURfRklMRV9PRkZTRVRfQklUUz02NFwiL2cnICR7U30vY29uZmlndXJlLmMiCisKK1JFTU9WRV9NMzJfY2xhc3MtY3Jvc3MgPSAiIgorCitkb19jb25maWd1cmUoKSB7CisgICAgOgorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisgICAgY2FzZSAke1RBUkdFVF9BUkNIfSBpbgorICAgICAgICBhYXJjaDY0KikgICAgQVJDSD1BUk02NCA7OworICAgICAgICBhcm0qKSAgICAgICAgQVJDSD1BUk0gOzsKKyAgICAgICAgaSo4NiopICAgICAgIEFSQ0g9WDg2IDs7CisgICAgICAgIHg4Nl82NCopICAgICBBUkNIPVg4Nl82NCA7OworICAgICAgICBwb3dlcnBjNjQqKSAgQVJDSD1QUEM2NCA7OworICAgICAgICBwb3dlcnBjKikgICAgQVJDSD1QUEMgOzsKKyAgICAgICAgbWlwcyopICAgICAgIEFSQ0g9TUlQUyA7OworICAgIGVzYWMKKworICAgIHNlZCAtaSBzL0ZPUkNFX0RFRklORV9BUkNILyIke0FSQ0h9Ii9nICR7U30vY29uZmlndXJlLmMKKyAgICAke1JFTU9WRV9NMzJ9CisgICAgc2VkIC1pICdzLyZndDsvPi9nJyAke1N9L01ha2VmaWxlCit9CisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSAke0VYVFJBX09FTUFLRX0gUkVDSVBFX1NZU1JPT1Q9JHtSRUNJUEVfU1lTUk9PVH0KK30KKworZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0vJHttYW5kaXJ9L21hbjgKKyAgICBpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9jcmFzaC44ICR7RH0vJHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGVmcy5oICR7RH0ke2luY2x1ZGVkaXJ9L2NyYXNoCit9CisKK2RvX2luc3RhbGxfY2xhc3MtdGFyZ2V0ICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSR7U1RBR0lOR19ESVJfTkFUSVZFfSBpbnN0YWxsCit9CisKK2RvX2luc3RhbGxfY2xhc3MtY3Jvc3MgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NyYXNoICR7RH0vJHtiaW5kaXJ9Cit9CisKK1JERVBFTkRTXyR7UE59ICs9ICJsaWJsem1hIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTXyR7UE59X2NsYXNzLWNyb3NzID0gIiIKKworIyBDYXVzZXMgZ2NjIHRvIGdldCBzdHVjayBhbmQgZWF0IGFsbCBhdmFpbGFibGUgbWVtb3J5IGluIHFlbXVhcm0gYnVpbGRzCisjIGplbmtpbnMgIDE1MTYxICAxMDAgMTIuNSAxMDM4OTU5NiAxMDMyMTI4NCA/ICAgUiAgICAxMTo0MCAgMjg6MTcgL2hvbWUvamVua2lucy9vZS93b3JsZC9zaHItY29yZS90bXAtZ2xpYmMvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWJleGVjL2FybS1vZS1saW51eC1nbnVlYWJpL2djYy9hcm0tb2UtbGludXgtZ251ZWFiaS80LjkuMi9jYzEgLXF1aWV0IC1JIC4gLUkgLiAtSSAuL2NvbW1vbiAtSSAuL2NvbmZpZyAtSSAuLy4uL2luY2x1ZGUvb3Bjb2RlIC1JIC4vLi4vb3Bjb2Rlcy8uLiAtSSAuLy4uL3JlYWRsaW5lLy4uIC1JIC4uL2JmZCAtSSAuLy4uL2JmZCAtSSAuLy4uL2luY2x1ZGUgLUkgLi4vbGliZGVjbnVtYmVyIC1JIC4vLi4vbGliZGVjbnVtYmVyIC1JIC4vZ251bGliL2ltcG9ydCAtSSBidWlsZC1nbnVsaWIvaW1wb3J0IC1pc3lzcm9vdCAvaG9tZS9qZW5raW5zL29lL3dvcmxkL3Noci1jb3JlL3RtcC1nbGliYy9zeXNyb290cy9xZW11YXJtIC1NTUQgZXZhbC5kIC1NRiAuZGVwcy9ldmFsLlRwbyAtTVAgLU1UIGV2YWwubyAtRCBMT0NBTEVESVI9Ii91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiAtRCBDUkFTSF9NRVJHRSAtRCBIQVZFX0NPTkZJR19IIC1EIFRVST0xIGV2YWwuYyAtcXVpZXQgLWR1bXBiYXNlIGV2YWwuYyAtbWFyY2g9YXJtdjV0ZSAtbXRodW1iIC1tdGh1bWItaW50ZXJ3b3JrIC1tdGxzLWRpYWxlY3Q9Z251IC1hdXhiYXNlLXN0cmlwIGV2YWwubyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1XZm9ybWF0LW5vbmxpdGVyYWwgLVduby1wb2ludGVyLXNpZ24gLVduby11bnVzZWQgLVd1bnVzZWQtdmFsdWUgLVd1bnVzZWQtZnVuY3Rpb24gLVduby1zd2l0Y2ggLVduby1jaGFyLXN1YnNjcmlwdHMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQgLVdlbXB0eS1ib2R5IC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAtbyAtCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg2OTY0LworRVhDTFVERV9GUk9NX1dPUkxEX2xpYmMtbXVzbCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZS8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2gKaW5kZXggNzY2ZjRmYy4uMTU2YjRkNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLzAwMDItbWVtX3NlY3Rpb24tU3VwcG9ydC1vbmx5LTQ2LWJpdC1mb3ItTUFYX1BIWVNNRU1fQklUUy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGUvMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiYTEyM2ZhNmIyYWEwYWM2MmQxYjc4ZjMyNzMzOTYzNWFlODcyMDFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwZDFjZGI1OWRhMzYwM2UwYTgwOTEzNjE3ZWNlMDE2NGIwNTM4MGQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZHJ1IE1vaXNlIDxhbGV4YW5kcnUubW9pc2VAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjkgQXByIDIwMTYgMDc6NDA6NDYgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gbWVtX3NlY3Rpb246IFN1cHBvcnQgb25seSA0NiBiaXQgZm9yIE1BWF9QSFlTTUVNX0JJVFMgb24KQEAgLTIxLDE5ICsyMSwyMCBAQAogU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1IE1vaXNlIDxhbGV4YW5kcnUubW9pc2VAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KIAorW2hxQmFpOiBhZGp1c3RlZCBwYXRjaCBmb3IgY29udGV4dCwgbm8gbG9naWNhbCBjaGFuZ2VdCitTaWduZWQtb2ZmLWJ5OiBIYWlxaW5nIEJhaSA8SGFpcWluZy5CYWlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGFyY2gvcHBjNjQuYyB8IDI4ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKKyBhcmNoL3BwYzY0LmMgfCAzMyArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2FyY2gvcHBjNjQuYyBiL2FyY2gvcHBjNjQuYwotaW5kZXggOGI2ZjdkNS4uNDU4ZjA2YiAxMDA2NDQKK2luZGV4IDk0N2ExMjUuLjQ1OGYwNmIgMTAwNjQ0CiAtLS0gYS9hcmNoL3BwYzY0LmMKICsrKyBiL2FyY2gvcHBjNjQuYwotQEAgLTQ2MiwzOCArNDYyLDE0IEBAIHBwYzY0X3Z0b3BfbGV2ZWw0KHVuc2lnbmVkIGxvbmcgdmFkZHIpCi0gCXJldHVybiBwYWRkcjsKK0BAIC00NjMsNDIgKzQ2MywxMyBAQCBwcGM2NF92dG9wX2xldmVsNCh1bnNpZ25lZCBsb25nIHZhZGRyKQogIH0KICAKLS1pbnQKKyBpbnQKIC1zZXRfcHBjNjRfbWF4X3BoeXNtZW1fYml0cyh2b2lkKQogLXsKIC0JbG9uZyBhcnJheV9sZW4gPSBBUlJBWV9MRU5HVEgobWVtX3NlY3Rpb24pOwpAQCAtNTIsMTAgKzUzLDE1IEBACiAtCQl8fCAoYXJyYXlfbGVuID09IChOUl9NRU1fU0VDVElPTlMoKSAvIF9TRUNUSU9OU19QRVJfUk9PVCgpKSkpCiAtCQlyZXR1cm4gVFJVRTsKIC0KKy0JaW5mby0+bWF4X3BoeXNtZW1fYml0cyAgPSBfTUFYX1BIWVNNRU1fQklUU180XzE5OworLQlpZiAoKGFycmF5X2xlbiA9PSAoTlJfTUVNX1NFQ1RJT05TKCkgLyBfU0VDVElPTlNfUEVSX1JPT1RfRVhUUkVNRSgpKSkKKy0JCXx8IChhcnJheV9sZW4gPT0gKE5SX01FTV9TRUNUSU9OUygpIC8gX1NFQ1RJT05TX1BFUl9ST09UKCkpKSkKKy0JCXJldHVybiBUUlVFOworLQogLQlyZXR1cm4gRkFMU0U7CiAtfQogLQotIGludAorLWludAogIGdldF9tYWNoZGVwX2luZm9fcHBjNjQodm9pZCkKICB7CiAgCXVuc2lnbmVkIGxvbmcgdm1saXN0LCB2bWFwX2FyZWFfbGlzdCwgdm1hbGxvY19zdGFydDsKQEAgLTcwLDMgKzc2LDYgQEAKICAJaW5mby0+cGFnZV9vZmZzZXQgPSBfX1BBR0VfT0ZGU0VUOwogIAogIAlpZiAoU1lNQk9MKF9zdGV4dCkgPT0gTk9UX0ZPVU5EX1NZTUJPTCkgeworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGVfMS42LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTk0YjguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotU1VNTUFSWSA9ICJWTWNvcmUgZXh0cmFjdGlvbiB0b29sIgotREVTQ1JJUFRJT04gPSAiXAotICAgIFRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGV4dHJhY3QgYSBzdWJzZXQgb2YgdGhlIG1lbW9yeSBhdmFpbGFibGUgZWl0aGVyIFwKLSAgICB2aWEgL2Rldi9tZW0gb3IgL3Byb2Mvdm1jb3JlIChmb3IgY3Jhc2hkdW1wcykuIEl0IGlzIHVzZWQgdG8gZ2V0IG1lbW9yeSBcCi0gICAgaW1hZ2VzIHdpdGhvdXQgZXh0cmEgdW5lZWRlZCBpbmZvcm1hdGlvbiAoemVybyBwYWdlcywgdXNlcnNwYWNlIHByb2dyYW1zLCBcCi0gICAgZXRjKS4gXAotIgotSE9NRVBBR0UgPSAiaHR0cDovL21ha2VkdW1wZmlsZS5zb3VyY2Vmb3JnZS5uZXQiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotTElDRU5TRSA9ICJHUEx2Mi4wIgotCi1ERVBFTkRTID0gImJ6aXAyIHpsaWIgZWxmdXRpbHMiCi1SREVQRU5EU18ke1BOfS10b29scyA9ICJwZXJsICR7UE59IgotCi0jIGFybSBhbmQgYWFyY2g2NCB3b3VsZCBjb21waWxlIGJ1dCBoYXMgbmV2ZXIgYmVlbiB0ZXN0ZWQgdXBzdHJlYW0uICBtaXBzIHdvdWxkIG5vdCBjb21waWxlLgotIwotQ09NUEFUSUJMRV9IT1NUID0gIih4ODZfNjR8aS44Nnxwb3dlcnBjfGFybXxhYXJjaDY0KS4qLWxpbnV4IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tdG9vbHMiCi1GSUxFU18ke1BOfS10b29scyA9ICIke2JpbmRpcn0vKi5wbCIKLQotU1JDX1VSSSA9ICJcCi0gICAgJHtTT1VSQ0VGT1JHRV9NSVJST1J9L21ha2VkdW1wZmlsZS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKLSAgICBmaWxlOi8vMDAwMS1tYWtlZHVtcGZpbGUtcmVwbGFjZS1oYXJkY29kZS1DRkxBR1MucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAyLW1lbV9zZWN0aW9uLVN1cHBvcnQtb25seS00Ni1iaXQtZm9yLU1BWF9QSFlTTUVNX0JJVFMucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjdkZmJjYTE5ZjQ4NzYwNGMyNzFlMjg5MmJhMDdmNGJkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlMDZmNzJkNWYyOTFmY2FiOWU5Mjk3NWY0MDVhNzZlMzdkNGY3ZmM4ZmE0MTcyZjE5OTYzNjM5OGFlODEyYjEiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tYWtlZHVtcGZpbGUvZmlsZXMvbWFrZWR1bXBmaWxlLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm1ha2VkdW1wZmlsZS8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLSMgSWYgd2UgZG8gbm90IHNwZWNpZnkgVEFSR0VULCBtYWtlZHVtcGZpbGUgd2lsbCBidWlsZCBmb3IgdGhlIGhvc3QgYnV0IHVzZSB0aGUKLSMgdGFyZ2V0IGdjYy4KLSMKLUVYVFJBX09FTUFLRSA9ICJcCi0gICAgTElOS1RZUEU9c3RhdGljIFwKLSAgICBUQVJHRVQ9JHtUQVJHRVRfQVJDSH0gXAotIgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBta2RpciAtcCAke0R9L3Vzci9iaW4KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L21ha2VkdW1wZmlsZSAke0R9L3Vzci9iaW4KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L21ha2VkdW1wZmlsZS1SLnBsICR7RH0vdXNyL2JpbgotCi0gICAgbWtkaXIgLXAgJHtEfS91c3Ivc2hhcmUvbWFuL21hbjgKLSAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS44Lmd6ICR7RH0vdXNyL3NoYXJlL21hbi9tYW44Ci0KLSAgICBta2RpciAtcCAke0R9L3Vzci9zaGFyZS9tYW4vbWFuNQotICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLmNvbmYuNS5neiAke0R9L3Vzci9zaGFyZS9tYW4vbWFuNQotCi0gICAgbWtkaXIgLXAgJHtEfS9ldGMvCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuY29uZiAke0R9L2V0Yy9tYWtlZHVtcGZpbGUuY29uZi5zYW1wbGUKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWFrZWR1bXBmaWxlL21ha2VkdW1wZmlsZV8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTNiNDEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9tYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlXzEuNi41LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiVk1jb3JlIGV4dHJhY3Rpb24gdG9vbCIKK0RFU0NSSVBUSU9OID0gIlwKKyAgICBUaGlzIHByb2dyYW0gaXMgdXNlZCB0byBleHRyYWN0IGEgc3Vic2V0IG9mIHRoZSBtZW1vcnkgYXZhaWxhYmxlIGVpdGhlciBcCisgICAgdmlhIC9kZXYvbWVtIG9yIC9wcm9jL3ZtY29yZSAoZm9yIGNyYXNoZHVtcHMpLiBJdCBpcyB1c2VkIHRvIGdldCBtZW1vcnkgXAorICAgIGltYWdlcyB3aXRob3V0IGV4dHJhIHVuZWVkZWQgaW5mb3JtYXRpb24gKHplcm8gcGFnZXMsIHVzZXJzcGFjZSBwcm9ncmFtcywgXAorICAgIGV0YykuIFwKKyIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYWtlZHVtcGZpbGUuc291cmNlZm9yZ2UubmV0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKK0xJQ0VOU0UgPSAiR1BMdjIuMCIKKworREVQRU5EUyA9ICJiemlwMiB6bGliIGVsZnV0aWxzIgorUkRFUEVORFNfJHtQTn0tdG9vbHMgPSAicGVybCAke1BOfSIKKworIyBhcm0gYW5kIGFhcmNoNjQgd291bGQgY29tcGlsZSBidXQgaGFzIG5ldmVyIGJlZW4gdGVzdGVkIHVwc3RyZWFtLiAgbWlwcyB3b3VsZCBub3QgY29tcGlsZS4KKyMKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0fGkuODZ8cG93ZXJwY3xhcm18YWFyY2g2NCkuKi1saW51eCIKKworUEFDS0FHRVMgPSsgIiR7UE59LXRvb2xzIgorRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoucGwiCisKK1NSQ19VUkkgPSAiXAorICAgICR7U09VUkNFRk9SR0VfTUlSUk9SfS9tYWtlZHVtcGZpbGUvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtbWFrZWR1bXBmaWxlLXJlcGxhY2UtaGFyZGNvZGUtQ0ZMQUdTLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1tZW1fc2VjdGlvbi1TdXBwb3J0LW9ubHktNDYtYml0LWZvci1NQVhfUEhZU01FTV9CSVRTLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNzM3ZjhlODkwNGQ1NjU2MjlmMGM5ZTcwMmY5MmQwMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1ZDRmMWQ2ZGVkOGRjYTY5NTFlZWFiY2Y0YmIxZWJmNjU3NTI4OGZlZTk0NzUyOTM5NzEwM2MwNDBlYjVjNzYwIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbWFrZWR1bXBmaWxlL2ZpbGVzL21ha2VkdW1wZmlsZS8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJtYWtlZHVtcGZpbGUvKD9QPHB2ZXI+XGQrKFwuXGQrKSspLyIKKworU0VDVElPTiA9ICJiYXNlIgorCisjIElmIHdlIGRvIG5vdCBzcGVjaWZ5IFRBUkdFVCwgbWFrZWR1bXBmaWxlIHdpbGwgYnVpbGQgZm9yIHRoZSBob3N0IGJ1dCB1c2UgdGhlCisjIHRhcmdldCBnY2MuCisjCitFWFRSQV9PRU1BS0UgPSAiXAorICAgIExJTktUWVBFPXN0YXRpYyBcCisgICAgVEFSR0VUPSR7VEFSR0VUX0FSQ0h9IFwKKyIKKworZG9faW5zdGFsbCAoKSB7CisgICAgbWtkaXIgLXAgJHtEfS91c3IvYmluCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUgJHtEfS91c3IvYmluCisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS9tYWtlZHVtcGZpbGUtUi5wbCAke0R9L3Vzci9iaW4KKworICAgIG1rZGlyIC1wICR7RH0vdXNyL3NoYXJlL21hbi9tYW44CisgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tYWtlZHVtcGZpbGUuOC5neiAke0R9L3Vzci9zaGFyZS9tYW4vbWFuOAorCisgICAgbWtkaXIgLXAgJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKKyAgICBpbnN0YWxsIC1tIDY0NCAke1N9L21ha2VkdW1wZmlsZS5jb25mLjUuZ3ogJHtEfS91c3Ivc2hhcmUvbWFuL21hbjUKKworICAgIG1rZGlyIC1wICR7RH0vZXRjLworICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vbWFrZWR1bXBmaWxlLmNvbmYgJHtEfS9ldGMvbWFrZWR1bXBmaWxlLmNvbmYuc2FtcGxlCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9taW5pY29yZWR1bXBlci9taW5pY29yZWR1bXBlcl8yLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmFlNWNmNC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJtaW5pY29yZWR1bXBlciBwcm92aWRlcyBhbiBhbHRlcm5hdGUgY29yZSBkdW1wIGZhY2lsaXR5IGZvciBMaW51eCBcCi10byBhbGxvdyBtaW5pbWFsIGFuZCBjdXN0b21pemVkIGNyYXNoIGR1bXBzIgotTElDRU5TRSA9ICIgTEdQTHYyLjEgJiBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hYTg0NmFlMzY1ZjcxYjY5ZTlmYTBkMjFhNTYzOTFlYyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkJTRDttZDU9YjkxNWFjODBkNTIzNmQ2YWE2NTljYjk4NmRhZjAwZTUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjIuMTttZDU9MzIxYmY0MWYyODBjZjgwNTA4NmRkNWE3MjBiMzc3ODUgXAotICAgICAgICAgICAgICAgICAgICIKLURFUEVORFMgPSAiZWxmdXRpbHMgZGJ1cyBkYnVzLWdsaWItbmF0aXZlIGdsaWItMi4wIGRidXMtZ2xpYiB1dGlsLWxpbnV4IGpzb24tYyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotU1JDUkVWID0gIjFjMGQ1OTYwYjBiYjRiYWM3NTY2ZTZhZmU4YmM5NzA1Mzk5Y2M3NmIiCi0KLVBSIC49ICIrZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmxpbnV4Zm91bmRhdGlvbi5vcmcvZGlhbW9uL21pbmljb3JlZHVtcGVyLmdpdDtwcm90b2NvbD1odHRwIFwKLSAgICAgICAgICAgZmlsZTovL21pbmljb3JlZHVtcGVyLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbWluaWNvcmVkdW1wZXIuaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1pbmljb3JlZHVtcGVyLUluaXRpYWxpemUtcG9pbnRlci10by1jb25maWctc3RydWN0LXQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pY29yZWR1bXBlci5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCi1JTklUU0NSSVBUX05BTUVfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIiCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4OSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbWluaWNvcmVkdW1wZXIKLSAgICBjcCAtcmYgJHtTfS9ldGMvKiAke0R9LyR7c3lzY29uZmRpcn0vCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKLQotICAgICMgY29ycmVjdCBwYXRoIG9mIG1pbmljb3JlZHVtcGVyCi0gICAgc2VkIC1pIC1lIHM6L3Vzci9iaW4vbWluaWNvcmVkdW1wZXI6JHtzYmluZGlyfS9taW5pY29yZWR1bXBlcjpnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pY29yZWR1bXBlcgotICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9taW5pY29yZWR1bXBlci5zZXJ2aWNlCi19Ci0KLSMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk2Ni8KLUVYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvbWluaWNvcmVkdW1wZXIvbWluaWNvcmVkdW1wZXJfMi4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZGFiOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL21pbmljb3JlZHVtcGVyL21pbmljb3JlZHVtcGVyXzIuMC4xLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAibWluaWNvcmVkdW1wZXIgcHJvdmlkZXMgYW4gYWx0ZXJuYXRlIGNvcmUgZHVtcCBmYWNpbGl0eSBmb3IgTGludXggXAordG8gYWxsb3cgbWluaW1hbCBhbmQgY3VzdG9taXplZCBjcmFzaCBkdW1wcyIKK0xJQ0VOU0UgPSAiIExHUEx2Mi4xICYgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzE4MjdjNjE3ZWM3YjQ1YTBkZDIzNjU4MzQ3Y2MxZTkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5CU0Q7bWQ1PWI5MTVhYzgwZDUyMzZkNmFhNjU5Y2I5ODZkYWYwMGU1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTHYyLjE7bWQ1PTMyMWJmNDFmMjgwY2Y4MDUwODZkZDVhNzIwYjM3Nzg1IFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTID0gImVsZnV0aWxzIGRidXMgZGJ1cy1nbGliLW5hdGl2ZSBnbGliLTIuMCBkYnVzLWdsaWIgdXRpbC1saW51eCBqc29uLWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK1NSQ1JFViA9ICIxNmEwZDQ0ZjE3MjVlYWE5MzA5NmVhYTBlMDg2ZjQyZWY0YzI3MTJjIgorCitQUiAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC5saW51eGZvdW5kYXRpb24ub3JnL2RpYW1vbi9taW5pY29yZWR1bXBlci5naXQ7cHJvdG9jb2w9aHR0cCBcCisgICAgICAgICAgIGZpbGU6Ly9taW5pY29yZWR1bXBlci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL21pbmljb3JlZHVtcGVyLmluaXQgXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtaW5pY29yZWR1bXBlci5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJlbmFibGUiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUVfJHtQTn0gPSAibWluaWNvcmVkdW1wZXIiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJkZWZhdWx0cyA4OSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisgICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vbWluaWNvcmVkdW1wZXIKKyAgICBjcCAtcmYgJHtTfS9ldGMvKiAke0R9LyR7c3lzY29uZmRpcn0vCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbWluaWNvcmVkdW1wZXIuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWluaWNvcmVkdW1wZXIKKworICAgICMgY29ycmVjdCBwYXRoIG9mIG1pbmljb3JlZHVtcGVyCisgICAgc2VkIC1pIC1lIHM6L3Vzci9iaW4vbWluaWNvcmVkdW1wZXI6JHtzYmluZGlyfS9taW5pY29yZWR1bXBlcjpnICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9taW5pY29yZWR1bXBlcgorICAgIHNlZCAtaSAtZSBzOi91c3IvYmluL21pbmljb3JlZHVtcGVyOiR7c2JpbmRpcn0vbWluaWNvcmVkdW1wZXI6ZyAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9taW5pY29yZWR1bXBlci5zZXJ2aWNlCit9CisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4Njk2Ni8KK0VYQ0xVREVfRlJPTV9XT1JMRF9saWJjLW11c2wgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1rZXJuZWwvb3Byb2ZpbGUvb3Byb2ZpbGUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKaW5kZXggMzQ5ZTJiZi4uNTE1ZWE4ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS5pbmMKQEAgLTI1LDYgKzI1LDcgQEAKICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAgICAgICAgICAgIGZpbGU6Ly9yb290LWhvbWUtZGlyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLXJtYi1kZWZpbml0aW9uLWZvci1OSU9TMi1hcmNoaXRlY3R1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZXBsYWNlLXN5bV9pdGVyYXRvci0wLXdpdGgtc3ltX2l0ZXJhdG9yLnBhdGNoIFwKICIKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm9wcm9maWxlLSg/UDxwdmVyPlxkKyhcLlxkKykrKS8iCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvb3Byb2ZpbGUvZmlsZXMvb3Byb2ZpbGUvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS8wMDAxLXJlcGxhY2Utc3ltX2l0ZXJhdG9yLTAtd2l0aC1zeW1faXRlcmF0b3IucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMta2VybmVsL29wcm9maWxlL29wcm9maWxlLzAwMDEtcmVwbGFjZS1zeW1faXRlcmF0b3ItMC13aXRoLXN5bV9pdGVyYXRvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmQyM2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLWtlcm5lbC9vcHJvZmlsZS9vcHJvZmlsZS8wMDAxLXJlcGxhY2Utc3ltX2l0ZXJhdG9yLTAtd2l0aC1zeW1faXRlcmF0b3IucGF0Y2gKQEAgLTAsMCArMSwxMzEgQEAKK0Zyb20gYjdjMWEyZTJiMGY0NjU3ZmUyOTEzMjRjYTQwOTIyNGYzMzIxYzlmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDExOjU4OjM0IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2UgKHN5bV9pdGVyYXRvcikwIHdpdGggc3ltX2l0ZXJhdG9yKCkKKworY2xhbmcvbGliYysrIGZpbmQgdGhpcyBlcnJvcgorCitsaWJwcC94bWxfdXRpbHMuY3BwOjQwOTo0MzogZXJyb3I6IGNhbGxpbmcgYSBwcml2YXRlIGNvbnN0cnVjdG9yIG9mIGNsYXNzICdzdGQ6Ol9fMTo6X193cmFwX2l0ZXI8Y29uc3Qgc3ltCitib2xfZW50cnkgKmNvbnN0ICo+JworfCAgICAgICAgICAgICAgICAgeyBsbyA9IGhpID0gMDsgbmFtZSA9ICIiOyBiZWdpbiA9IGVuZCA9IChzeW1faXRlcmF0b3IpMDt9Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorfAorCitkZWZhdWx0IGNvbnN0cnVjdGVkIGl0ZXJhdG9yIGlzbid0IHN1cHBvc2VkIHRvIGJlIHVzZWQgZm9yIGFueXRoaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYnBwL3htbF91dGlscy5jcHAgfCAyNiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYnBwL3htbF91dGlscy5jcHAgYi9saWJwcC94bWxfdXRpbHMuY3BwCitpbmRleCAzZGU0MWU1Li5mNDVkM2FlIDEwMDY0NAorLS0tIGEvbGlicHAveG1sX3V0aWxzLmNwcAorKysrIGIvbGlicHAveG1sX3V0aWxzLmNwcAorQEAgLTczLDcgKzczLDcgQEAgdm9pZCBkdW1wX3N5bWJvbChzdHJpbmcgY29uc3QgJiBwcmVmaXgsIHN5bV9pdGVyYXRvciBpdCwgYm9vbCB3YW50X25sID0gdHJ1ZSkKKyAKKyB2b2lkIGR1bXBfc3ltYm9scyhzdHJpbmcgY29uc3QgJiBwcmVmaXgsIHN5bV9pdGVyYXRvciBiLCBzeW1faXRlcmF0b3IgZSkKKyB7CistCWlmIChiID09IChzeW1faXRlcmF0b3IpMCkKKysJaWYgKGIgPT0gc3ltX2l0ZXJhdG9yKCkpCisgCQlyZXR1cm47CisgCisgCWZvciAoc3ltX2l0ZXJhdG9yIGl0ID0gYjsgaXQgIT0gZTsgKytpdCkKK0BAIC0xNjcsNyArMTY3LDcgQEAgc3RyaW5nIHhtbF91dGlsczo6Z2V0X3Byb2ZpbGVfaGVhZGVyKHN0cmluZyBjcHVfbmFtZSwgZG91YmxlIGNvbnN0IHNwZWVkKQorIAl9CisgCisgCXN0ciA8PCBpbml0X2F0dHIoQ1BVX05BTUUsIGNwdV90eXBlKSA8PCBlbmRsOworLQlpZiAocHJvY2Vzc29yLnNpemUoKSA+IDApIAorKwlpZiAocHJvY2Vzc29yLnNpemUoKSA+IDApCisgCQlzdHIgPDwgaW5pdF9hdHRyKFBST0NFU1NPUiwgc3RyaW5nKHByb2Nlc3NvcikpIDw8IGVuZGw7CisgCWlmIChucl9jcHVzID4gMSkgc3RyIDw8IGluaXRfYXR0cihTRVBBUkFURURfQ1BVUywgbnJfY3B1cykgPDwgZW5kbDsKKyAJc3RyIDw8IGluaXRfYXR0cihNSFosIHNwZWVkKSA8PCBlbmRsOworQEAgLTMyMCwxMSArMzIwLDExIEBAIHZvaWQgeG1sX3V0aWxzOjpidWlsZF9zdWJjbGFzc2VzKG9zdHJlYW0gJiBvdXQpCisgCQkJKCpzY19wdHIpW25ld19pbmRleF0uc3ViY2xhc3NfbmFtZSA9IHN1YmNsYXNzX25hbWU7CisgCQkJb3V0IDw8IG9wZW5fZWxlbWVudChDTEFTUywgdHJ1ZSk7CisgCQkJb3V0IDw8IGluaXRfYXR0cihOQU1FLCBzdWJjbGFzc19uYW1lKTsKKy0JCQlpZiAobnJfY3B1cyA+IDEpIAorKwkJCWlmIChucl9jcHVzID4gMSkKKyAJCQkJb3V0IDw8IGluaXRfYXR0cihDUFVfTlVNLCBwY2xhc3MucHRlbXBsYXRlLmNwdSk7CistCQkJaWYgKG5yX2V2ZW50cyA+IDEpIAorKwkJCWlmIChucl9ldmVudHMgPiAxKQorIAkJCQlvdXQgPDwgaW5pdF9hdHRyKEVWRU5UX05VTSwgZXZlbnQpOworLQkJCWlmIChoYXNfbm9uemVyb19tYXNrcykgCisrCQkJaWYgKGhhc19ub256ZXJvX21hc2tzKQorIAkJCQlvdXQgPDwgaW5pdF9hdHRyKEVWRU5UX01BU0ssIHBjbGFzcy5wdGVtcGxhdGUudW5pdG1hc2spOworIAkJCW91dCA8PCBjbG9zZV9lbGVtZW50KCk7CisgCQl9CitAQCAtNDA2LDcgKzQwNiw3IEBAIHhtbF91dGlsczo6b3V0cHV0X3N1bW1hcnlfZGF0YShvc3RyZWFtICYgb3V0LCBjb3VudF9hcnJheV90IGNvbnN0ICYgc3VtbWFyeSwgc2l6CisgY2xhc3MgbW9kdWxlX2luZm8geworIHB1YmxpYzoKKyAJbW9kdWxlX2luZm8oKQorLQkJeyBsbyA9IGhpID0gMDsgbmFtZSA9ICIiOyBiZWdpbiA9IGVuZCA9IChzeW1faXRlcmF0b3IpMDt9CisrCQl7IGxvID0gaGkgPSAwOyBuYW1lID0gIiI7IGJlZ2luID0gZW5kID0gc3ltX2l0ZXJhdG9yKCk7fQorIAl2b2lkIGR1bXAoKTsKKyAJdm9pZCBidWlsZF9tb2R1bGUoc3RyaW5nIGNvbnN0ICYgbiwgc3ltX2l0ZXJhdG9yIGl0LAorIAkgICAgICAgICAgICAgICAgICBzaXplX3QgbCwgc2l6ZV90IGgpOworQEAgLTU0MCwyMSArNTQwLDIxIEBAIHZvaWQgbW9kdWxlX2luZm86OmFkZF90b19zdW1tYXJ5KGNvdW50X2FycmF5X3QgY29uc3QgJiBjb3VudHMpCisgCisgdm9pZCBtb2R1bGVfaW5mbzo6c2V0X2JlZ2luKHN5bV9pdGVyYXRvciBiKQorIHsKKy0JaWYgKGJlZ2luID09IChzeW1faXRlcmF0b3IpMCkKKysJaWYgKGJlZ2luID09IHN5bV9pdGVyYXRvcigpKQorIAkJYmVnaW4gPSBiOworIH0KKyAKKyAKKyB2b2lkIG1vZHVsZV9pbmZvOjpzZXRfZW5kKHN5bV9pdGVyYXRvciBlKQorIHsKKy0JaWYgKGVuZCA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChlbmQgPT0gc3ltX2l0ZXJhdG9yKCkpCisgCQllbmQgPSBlOworIH0KKyAKKyAKKyBib29sIG1vZHVsZV9pbmZvOjppc19jbG9zZWQoc3RyaW5nIGNvbnN0ICYgbikKKyB7CistCXJldHVybiAobmFtZSA9PSBuKSAmJiBlbmQgIT0gKHN5bV9pdGVyYXRvcikwOworKwlyZXR1cm4gKG5hbWUgPT0gbikgJiYgZW5kICE9IHN5bV9pdGVyYXRvcigpOworIH0KKyAKKyAKK0BAIC01ODUsNyArNTg1LDcgQEAgdm9pZCBtb2R1bGVfaW5mbzo6b3V0cHV0X3N1bW1hcnkob3N0cmVhbSAmIG91dCkKKyAKKyB2b2lkIG1vZHVsZV9pbmZvOjpvdXRwdXRfc3ltYm9scyhvc3RyZWFtICYgb3V0LCBib29sIGlzX21vZHVsZSkKKyB7CistCWlmIChiZWdpbiA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiZWdpbiA9PSBzeW1faXRlcmF0b3IoKSkKKyAJCXJldHVybjsKKyAKKyAJZm9yIChzeW1faXRlcmF0b3IgaXQgPSBiZWdpbjsgaXQgIT0gZW5kOyArK2l0KQorQEAgLTYwNiw3ICs2MDYsNyBAQCB2b2lkIGJpbmFyeV9pbmZvOjpjbG9zZV9iaW5hcnkoc3ltX2l0ZXJhdG9yIGl0KQorIHZvaWQgYmluYXJ5X2luZm86OmR1bXAoKQorIHsKKyAJY3ZlcmIgPDwgdnhtbCA8PCAiYXBwX25hbWU9IiA8PCBuYW1lIDw8IGVuZGw7CistCWlmIChiZWdpbiAhPSAoc3ltX2l0ZXJhdG9yKTApCisrCWlmIChiZWdpbiAhPSBzeW1faXRlcmF0b3IoKSkKKyAJCWR1bXBfc3ltYm9scygiCSIsIGJlZ2luLCBlbmQpOworIAorIAlmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5yX21vZHVsZXM7ICsraSkKK0BAIC02NDgsNyArNjQ4LDcgQEAgYWRkX21vZHVsZV9zeW1ib2woc3RyaW5nIGNvbnN0ICYgbW9kdWxlLCBzdHJpbmcgY29uc3QgJiBhcHAsCisgCQkvLyBtYXJrIGVuZCBvZiBlbmNsb3NpbmcgYmluYXJ5IHN5bWJvbHMgaWYgdGhlcmUgaGF2ZSBiZWVuIGFueQorIAkJLy8gTk9URTogaXQgaXMgcG9zc2libGUgZm9yIHRoZSBiaW5hcnkncyBzeW1ib2xzIHRvIGZvbGxvdyBpdHMKKyAJCS8vIG1vZHVsZSBzeW1ib2xzCistCQlpZiAoYmVnaW4gIT0gKHN5bV9pdGVyYXRvcikwICYmIGVuZCA9PSAoc3ltX2l0ZXJhdG9yKTApCisrCQlpZiAoYmVnaW4gIT0gc3ltX2l0ZXJhdG9yKCkgJiYgZW5kID09IHN5bV9pdGVyYXRvcigpKQorIAkJCXNldF9lbmQoaXQpOworIAorIAkJLy8gYnVpbGQgdGhlIG5ldyBtb2R1bGUKK0BAIC03MTgsNyArNzE4LDcgQEAgc3VtbWFyaXplX3Byb2Nlc3NlcyhleHRyYV9pbWFnZXMgY29uc3QgJiBleHRyYV9mb3VuZF9pbWFnZXMpCisgeworIAkvLyBhZGQgbW9kdWxlcyB0byB0aGUgYXBwcm9wcmlhdGUgdGhyZWFkcyBpbiB0aGUgcHJvY2VzcyBoaWVyYXJjaHkKKyAJZm9yIChzeW1faXRlcmF0b3IgaXQgPSBzeW1ib2xzX2JlZ2luIDsgaXQgIT0gc3ltYm9sc19lbmQ7ICsraXQpIHsKKy0JCXN0cmluZyBiaW5hcnkgPSBnZXRfaW1hZ2VfbmFtZSgoKml0KS0+YXBwX25hbWUsIAorKwkJc3RyaW5nIGJpbmFyeSA9IGdldF9pbWFnZV9uYW1lKCgqaXQpLT5hcHBfbmFtZSwKKyAJCQlpbWFnZV9uYW1lX3N0b3JhZ2U6OmludF9maWxlbmFtZSwgZXh0cmFfZm91bmRfaW1hZ2VzKTsKKyAJCXN0cmluZyBtb2R1bGUgPSBnZXRfaW1hZ2VfbmFtZSgoKml0KS0+aW1hZ2VfbmFtZSwKKyAJCQlpbWFnZV9uYW1lX3N0b3JhZ2U6OmludF9maWxlbmFtZSwgZXh0cmFfZm91bmRfaW1hZ2VzKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2ZhYWQyL2ZhYWQyXzIuNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU1YTM4MS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1TVU1NQVJZID0gIkFuIG9wZW4gc291cmNlIE1QRUctNCBhbmQgTVBFRy0yIEFBQyBkZWNvZGluZyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdWRpb2NvZGluZy5jb20vZmFhZDIuaHRtbCIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM4MWM4Y2JlMjc3YTdiYzFlZTJhZTYwODNhMDRjOTU4IgotCi1MSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCi0KLVBSID0gInIxIgotCi1pbmhlcml0IGF1dG90b29scwotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mYWFjL2ZhYWQyLXNyYy9mYWFkMi0ke1BWfS8ke0JQfS50YXIuYnoyO25hbWU9ZmFhZDIgXAotIgotCi1TUkNfVVJJW2ZhYWQyLm1kNXN1bV0gPSAiNGMzMzJmYTIzZmViYzBlNDY0ODA2NDY4NWEzZDQzMzIiCi1TUkNfVVJJW2ZhYWQyLnNoYTI1NnN1bV0gPSAiMTQ1NjFiNWQ2YmM0NTdlODI1YmZkMzkyMWFlNTBhNjY0OGYzNzdhOTM5NmVhZjE2ZDRiMDU3YjM5YTNmNjNiNSIKLQotUEFDS0FHRVMgPSsgImxpYmZhYWQgbGliZmFhZC1kZXYgbGlibXA0ZmYgbGlibXA0ZmYtZGV2IgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZmFhZCIKLQotRklMRVNfbGliZmFhZCA9ICIke2xpYmRpcn0vbGliZmFhZC5zby4qIgotRklMRVNfbGliZmFhZC1kZXYgPSAiJHtsaWJkaXJ9L2xpYmZhYWQuc28gJHtsaWJkaXJ9L2xpYmZhYWQubGEgJHtpbmNsdWRlZGlyfS9mYWFkLmgiCi1GSUxFU19saWJmYWFkLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGliZmFhZC5hIgotCi1GSUxFU19saWJtcDRmZiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28uKiIKLUZJTEVTX2xpYm1wNGZmLWRldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuc28gJHtsaWJkaXJ9L2xpYm1wNGZmLmxhICR7aW5jbHVkZWRpcn0vbXA0ZmYuaCIKLUZJTEVTX2xpYm1wNGZmLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlibXA0ZmYuYSIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi44LjguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9mYWFkMi9mYWFkMl8yLjguOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjNhYWZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvZmFhZDIvZmFhZDJfMi44LjguYmIKQEAgLTAsMCArMSwxNCBAQAorU1VNTUFSWSA9ICJBbiBvcGVuIHNvdXJjZSBNUEVHLTQgYW5kIE1QRUctMiBBQUMgZGVjb2RpbmcgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXVkaW9jb2RpbmcuY29tL2ZhYWQyLmh0bWwiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zODFjOGNiZTI3N2E3YmMxZWUyYWU2MDgzYTA0Yzk1OCIKKworTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mYWFjL2ZhYWQyLXNyYy9mYWFkMi0yLjguMC8ke0JQfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiMjhmNjExNmVmZGJlOTM3ODI2OWY4YTYyMjE3NjdkMWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTg1YzNmYWRiOTc4OWQyODE1ZTUwZjRmZjcxNDUxMWM3OWMyNzEwYWMyN2E0YWFhZjVjMGMyNjYyMTQxNDI2ZCIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFjay8wMDAxLUZpeC1PU1gtYnVpbGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5YTNhYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2svMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZGQ2NTY4NWMyNGJiMjVhODAwZWQ0MjM4OGVkMGExZTg3OTJiMmVkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZhbGtUWCA8ZmFsa3R4QGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjQgTm92IDIwMTggMTQ6Mjk6NTggKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IE9TWCBidWlsZAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2phY2thdWRpby9qYWNrMi9jb21taXQvZDg1MWZhZGE0NjBkNDI1MDhhNmY4MmIxOTg2N2Y2Mzg1MzA2MjU4M10KKy0tLQorIHBvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Bvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcCBiL3Bvc2l4L0phY2tOZXRVbml4U29ja2V0LmNwcAoraW5kZXggN2E1NTg1ZWYuLmE0Y2I1MDM2IDEwMDY0NAorLS0tIGEvcG9zaXgvSmFja05ldFVuaXhTb2NrZXQuY3BwCisrKysgYi9wb3NpeC9KYWNrTmV0VW5peFNvY2tldC5jcHAKK0BAIC0xNjksNyArMTY5LDcgQEAgbmFtZXNwYWNlIEphY2sKKyAKKyAgICAgaW50IEphY2tOZXRVbml4U29ja2V0OjpCaW5kKCkKKyAgICAgeworLSAgICAgICAgcmV0dXJuIGJpbmQoZlNvY2tmZCwgcmVpbnRlcnByZXRfY2FzdDxzb2NrZXRfYWRkcmVzc190Kj4oJmZSZWN2QWRkciksIHNpemVvZihzb2NrZXRfYWRkcmVzc190KSk7CisrICAgICAgICByZXR1cm4gOjpiaW5kKGZTb2NrZmQsIHJlaW50ZXJwcmV0X2Nhc3Q8c29ja2V0X2FkZHJlc3NfdCo+KCZmUmVjdkFkZHIpLCBzaXplb2Yoc29ja2V0X2FkZHJlc3NfdCkpOworICAgICB9CisgCisgICAgIGludCBKYWNrTmV0VW5peFNvY2tldDo6QmluZFdpdGgoY29uc3QgY2hhciogaXApCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvamFjay9qYWNrX2dpdC5iYgppbmRleCA1MjU1OWNiLi40NzdhZjhjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9qYWNrL2phY2tfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2phY2svamFja19naXQuYmIKQEAgLTE2LDYgKzE2LDcgQEAKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2phY2thdWRpby9qYWNrMi5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1QeXRob24tMy43LWZpeGVzLTIxMjYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtT1NYLWJ1aWxkLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDUkVWID0gImMxNjQ3ODE5ZWVkNmQxMWY5NGIyMTk4MWQ5Yzg2OTYyOTI5OWYzNTciCiBQViA9ICIxLjkuMTIiCkBAIC0yNSw2ICsyNiw4IEBACiAKIFBBQ0tBR0VDT05GSUcgPz89ICJhbHNhIgogUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLWFsc2E9eWVzLC0tYWxzYT1ubyxhbHNhLWxpYiIKKyMgLS1kYnVzIG9ubHkgc3RvcHMgYnVpbGRpbmcgamFja2QgLT4gYWRkIC0tY2xhc3NpYworUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWRidXMgLS1jbGFzc2ljLCxkYnVzIgogUEFDS0FHRUNPTkZJR1tvcHVzXSA9ICItLW9wdXM9eWVzLC0tb3B1cz1ubyxsaWJvcHVzIgogCiAjIHBvcnRhdWRpbyBpcyBmb3Igd2luZG93cyBidWlsZHMgb25seQpAQCAtMzUsNiArMzgsMTEgQEAKIFJERVBFTkRTX2phY2stZGV2X3JlbW92ZSA9ICIke1BOfSAoPSAke0VYVEVORFBLR1Z9KSIKIAogRklMRVNfbGliamFjayA9ICIke2xpYmRpcn0vKi5zby4qICR7bGliZGlyfS9qYWNrLyouc28iCi1GSUxFU19qYWNrLXNlcnZlciA9ICIke2JpbmRpcn0vamFja2QiCitGSUxFU19qYWNrLXNlcnZlciA9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3NlcnZpY2VzIFwKKyAgICAke2JpbmRpcn0vamFja2RidXMgXAorICAgICR7YmluZGlyfS9qYWNrZCBcCisiCiBGSUxFU19qYWNrLXV0aWxzID0gIiR7YmluZGlyfS8qIgorCiBGSUxFU18ke1BOfS1kb2MgKz0gIiAke2RhdGFkaXJ9L2phY2stYXVkaW8tY29ubmVjdGlvbi1raXQvcmVmZXJlbmNlL2h0bWwvKiAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1LmluYwppbmRleCAxNGVhNjY0Li40ZmU3NDRjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTUuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL2xpdmU1NTUvbGl2ZTU1NS5pbmMKQEAgLTgsNyArOCw3IEBACiBTRUNUSU9OID0gImRldmVsIgogCiBVUkxWID0gIiR7QGQuZ2V0VmFyKCdQVicpWzA6NF19LiR7QGQuZ2V0VmFyKCdQVicpWzQ6Nl19LiR7QGQuZ2V0VmFyKCdQVicpWzY6OF19IgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvbGl2ZS4ke1VSTFZ9LnRhci5neiBcCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGl2ZTU1NS5jb20vbGl2ZS4ke1VSTFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9jb25maWcubGludXgtY3Jvc3MiCiAjIG9ubHkgbGF0ZXN0IGxpdmUgdmVyc2lvbiBzdGF5cyBvbiBodHRwOi8vd3d3LmxpdmU1NTUuY29tL2xpdmVNZWRpYS9wdWJsaWMvLCBhZGQgbWlycm9yIGZvciBvbGRlcgogTUlSUk9SUyArPSAiaHR0cDovL3d3dy5saXZlNTU1LmNvbS9saXZlTWVkaWEvcHVibGljLyBodHRwOi8vZGlzdGNhY2hlLkZyZWVCU0Qub3JnL3BvcnRzLWRpc3RmaWxlcy8gXG4iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxNzA0MTAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxNzA0MTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZmM0MjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTcwNDEwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1yZXF1aXJlIGxpdmU1NTUuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYjcwODRhNzJhZWIwOTU0OWM4YjI0OGY4Y2MzMDg4NDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGMzN2Q5YzgyOGY5MDI4NDAzOTk3MjcyZTQ5OTY4YzI2MDM4NWRiYmFlZjYyZTI4YmEyNGZhZWYwZGRhODY4YiIKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTkwMzA2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvbGl2ZTU1NS9saXZlNTU1XzIwMTkwMzA2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNjA1N2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS9saXZlNTU1L2xpdmU1NTVfMjAxOTAzMDYuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGxpdmU1NTUuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiBcCisgICAgICAgICAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE4NGNhMzk0NmQ4OTlmNTU5MmM3ZDMxMDEyZWQyZmUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZDBjMjZkOTgwNDI1ZDlhNDE5ZDgzNTE5M2UyOTJhMDhhOTY4ZjE3NWRhMTkwMmRhNGI0OTVmMTI2ZDVhYmQiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS42LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxN2NkYTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLW11bHRpbWVkaWEvd2VibS9saWJ2cHhfMS42LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIlZQWCBtdWx0aS1mb3JtYXQgY29kZWMiCi1ERVNDUklQVElPTiA9ICJUaGUgQlNELWxpY2Vuc2VkIGxpYnZweCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgZW4tIGFuZCBkZWNvZGVycyBmb3IgVlA4IGFuZCBWUDkgYml0c3RyZWFtcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYm0vaXNzdWVzL2xpc3QiCi1TRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKLUxJQ0VOU0UgPSAiQlNEIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNWIwNDc1NTAxNWJlOTAxNzQ0YTc4Y2MzMGQzOTBkNCIKLQotU1JDX1VSSSArPSAiaHR0cDovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJtLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICAgZmlsZTovL2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTE5NTE4YzgxMTFmYTkzYmRhYmRkODUyNTkxNjI2MTEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWMyYzBjMmE5N2ZiYTk0NzQ5NDNiZTM0ZWUzOTMzN2RlZTc1Njc4MGZjMTI4NzBiYTFkYzY4MzcyNTg2YTgxOSIKLQotIyBmZm1wZWcgbGlua3Mgd2l0aCB0aGlzIGFuZCBmYWlscwotIyBzeXNyb290cy9hcm12NHQtb2UtbGludXgtZ251ZWFiaS91c3IvbGliL2xpYnZweC5hKHZweF9lbmNvZGVyLmMubykoLnRleHQrMHhjNCk6IHVucmVzb2x2YWJsZSBSX0FSTV9USE1fQ0FMTCByZWxvY2F0aW9uIGFnYWluc3Qgc3ltYm9sIGBtZW1jcHlAQEdMSUJDXzIuNCcKLUFSTV9JTlNUUlVDVElPTl9TRVQgPSAiYXJtIgotCi1DRkxBR1MgKz0gIi1mUElDIgotCi1leHBvcnQgQ0MKLWV4cG9ydCBMRCA9ICIke0NDfSIKLQotVlBYVEFSR0VUX2FybXY1dGUgPSAiYXJtdjV0ZS1saW51eC1nY2MiCi1WUFhUQVJHRVRfYXJtdjYgPSAiYXJtdjYtbGludXgtZ2NjIgotVlBYVEFSR0VUX2FybXY3YSA9ICJhcm12Ny1saW51eC1nY2MiCi1WUFhUQVJHRVQgPz0gImdlbmVyaWMtZ251IgotCi1DT05GSUdVUkVPUFRTID0gIiBcCi0gICAgLS10YXJnZXQ9JHtWUFhUQVJHRVR9IFwKLSAgICAtLWVuYWJsZS12cDkgXAotICAgIC0tZW5hYmxlLWxpYnMgXAotICAgIC0tZGlzYWJsZS1pbnN0YWxsLWRvY3MgXAotICAgIC0tZGlzYWJsZS1zdGF0aWMgXAotICAgIC0tZW5hYmxlLXNoYXJlZCBcCi0gICAgLS1wcmVmaXg9JHtwcmVmaXh9IFwKLSAgICAtLWxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tc2l6ZS1saW1pdD0xNjM4NHgxNjM4NCBcCi0iCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICAke1N9L2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9Ci19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Ci19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYm0vbGlidnB4XzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMDRlZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJtL2xpYnZweF8xLjcuMC5iYgpAQCAtMCwwICsxLDUxIEBACitTVU1NQVJZID0gIlZQWCBtdWx0aS1mb3JtYXQgY29kZWMiCitERVNDUklQVElPTiA9ICJUaGUgQlNELWxpY2Vuc2VkIGxpYnZweCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gcHJvdmlkZXMgZW4tIGFuZCBkZWNvZGVycyBmb3IgVlA4IGFuZCBWUDkgYml0c3RyZWFtcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3dlYm0vaXNzdWVzL2xpc3QiCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiQlNEIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1kNWIwNDc1NTAxNWJlOTAxNzQ0YTc4Y2MzMGQzOTBkNCIKKworIyBTUkNSRVYgZm9yIDEuNy4wCitTUkNSRVYgPSAiMTMzZjgzZTJjMzRiOGQ3NzBhZTA2YWE1OTVjZWYzZTI1NDE3M2ZjYiIKK1NSQ19VUkkgKz0gImdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vd2VibS9saWJ2cHg7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICAgZmlsZTovL2xpYnZweC1jb25maWd1cmUtc3VwcG9ydC1ibGFuay1wcmVmaXgucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgZmZtcGVnIGxpbmtzIHdpdGggdGhpcyBhbmQgZmFpbHMKKyMgc3lzcm9vdHMvYXJtdjR0LW9lLWxpbnV4LWdudWVhYmkvdXNyL2xpYi9saWJ2cHguYSh2cHhfZW5jb2Rlci5jLm8pKC50ZXh0KzB4YzQpOiB1bnJlc29sdmFibGUgUl9BUk1fVEhNX0NBTEwgcmVsb2NhdGlvbiBhZ2FpbnN0IHN5bWJvbCBgbWVtY3B5QEBHTElCQ18yLjQnCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworQ0ZMQUdTICs9ICItZlBJQyIKKworZXhwb3J0IENDCitleHBvcnQgTEQgPSAiJHtDQ30iCisKK1ZQWFRBUkdFVF9hcm12NXRlID0gImFybXY1dGUtbGludXgtZ2NjIgorVlBYVEFSR0VUX2FybXY2ID0gImFybXY2LWxpbnV4LWdjYyIKK1ZQWFRBUkdFVF9hcm12N2EgPSAiYXJtdjctbGludXgtZ2NjIgorVlBYVEFSR0VUID89ICJnZW5lcmljLWdudSIKKworQ09ORklHVVJFT1BUUyA9ICIgXAorICAgIC0tdGFyZ2V0PSR7VlBYVEFSR0VUfSBcCisgICAgLS1lbmFibGUtdnA5IFwKKyAgICAtLWVuYWJsZS1saWJzIFwKKyAgICAtLWRpc2FibGUtaW5zdGFsbC1kb2NzIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXNpemUtbGltaXQ9MTYzODR4MTYzODQgXAorIgorCitkb19jb25maWd1cmUoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KKyAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNlY3VyaXR5L25tYXAvbm1hcF83LjcwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNlY3VyaXR5L25tYXAvbm1hcF83LjcwLmJiCmluZGV4IGU4NzgwMzguLmIxYjE1MGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zZWN1cml0eS9ubWFwL25tYXBfNy43MC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2VjdXJpdHkvbm1hcC9ubWFwXzcuNzAuYmIKQEAgLTQyLDYgKzQyLDggQEAKIAogZG9fY29uZmlndXJlKCkgewogICAgIGF1dG9jb25mCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9CiAgICAgb2VfcnVuY29uZgogfQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuMTAuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS4xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTY2MjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuMTAuMi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlNtYWxsIGFuZCBmYXN0IFBPU0lYLWNvbXBsaWFudCBzaGVsbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0L2Rhc2gvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvU2hlbGxzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI1MjYyYjRhMWExYmZmNzJiNDhlOTM1NTMxOTc2ZDJlIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1NSQ19VUkkgPSAiaHR0cDovL2dvbmRvci5hcGFuYS5vcmcuYXUvfmhlcmJlcnQvJHtCUE59L2ZpbGVzLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcmludGYtZm9ybWF0LWVycm9ycy13aXRoLWNsYW5nLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjhmNDg1ZjEyNmMwNWQwYWI4MDBlODVhYmZlMTk4N2FhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjNjYzOTE5ZGM1YzY2ZWM5OTFkYTE0YzdjZjdlMGJlOGFkMDBmM2RiNzM5ODZhOTg3YzExODg2MmI1ZjYwNzEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0iCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInNoIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vZGFzaCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGdyZXAgLXEgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvICR7YmFzZV9iaW5kaXJ9L2Rhc2ggPj4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscworfQorCitwa2dfcG9zdHJtXyR7UE59ICgpIHsKKyAgICBwcmludGYgIiQoZ3JlcCAtdiAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzKVxuIiA+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS45LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc2hlbGxzL2Rhc2gvZGFzaF8wLjUuOS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGVlNjZmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvZGFzaC9kYXNoXzAuNS45LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlNtYWxsIGFuZCBmYXN0IFBPU0lYLWNvbXBsaWFudCBzaGVsbCIKLUhPTUVQQUdFID0gImh0dHA6Ly9nb25kb3IuYXBhbmEub3JnLmF1L35oZXJiZXJ0L2Rhc2gvIgotU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvU2hlbGxzIgotCi1MSUNFTlNFID0gIkJTRCAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI1MjYyYjRhMWExYmZmNzJiNDhlOTM1NTMxOTc2ZDJlIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLVNSQ19VUkkgPSAiaHR0cDovL2dvbmRvci5hcGFuYS5vcmcuYXUvfmhlcmJlcnQvJHtCUE59L2ZpbGVzLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcmludGYtZm9ybWF0LWVycm9ycy13aXRoLWNsYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjY0NzI3MDJhOGQ5NzYwZDE2NmVmODMzM2RjYjUyN2E2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlY2Q1YmVhNzJhOTNlZDEwZWIxNWExYmU5OTUxZGQ1MWI1MmU1ZGExZDRhN2FlMDIwZWZkOTgyNmI0OWU2NTkiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1iaW5kaXI9JHtiYXNlX2JpbmRpcn0iCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gInNoIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3NoXSA9ICIke2Jhc2VfYmluZGlyfS9zaCIKLUFMVEVSTkFUSVZFX1RBUkdFVFtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vZGFzaCIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwIgotCi1wa2dfcG9zdGluc3RfJHtQTn0gKCkgewotICAgIGdyZXAgLXEgIl4ke2Jhc2VfYmluZGlyfS9kYXNoJCIgJEQke3N5c2NvbmZkaXJ9L3NoZWxscyB8fCBlY2hvICR7YmFzZV9iaW5kaXJ9L2Rhc2ggPj4gJEQke3N5c2NvbmZkaXJ9L3NoZWxscwotfQotCi1wa2dfcG9zdHJtXyR7UE59ICgpIHsKLSAgICBwcmludGYgIiQoZ3JlcCAtdiAiXiR7YmFzZV9iaW5kaXJ9L2Rhc2gkIiAkRCR7c3lzY29uZmRpcn0vc2hlbGxzKVxuIiA+ICREJHtzeXNjb25mZGlyfS9zaGVsbHMKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvbWtzaC9ta3NoXzU2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXNoZWxscy9ta3NoL21rc2hfNTYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRlYjU0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zaGVsbHMvbWtzaC9ta3NoXzU2LmJiCkBAIC0wLDAgKzEsMzYgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBNaXJCU0QgS29ybiBTaGVsbCAtIGFuIGVuaGFuY2VkIHZlcnNpb24gb2YgdGhlIHB1YmxpYyBkb21haW4ga3NoIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5taXJic2Qub3JnL21rc2guaHRtIgorU0VDVElPTiA9ICJiYXNlL3NoZWxsIgorCitMSUNFTlNFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQ0xJQkMiLCAiZ2xpYmMiLCAiTWlyT1MgJiBJU0MiLCAiTWlyT1MiLCBkKX0iCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9tYWluLmM7YmVnaW5saW5lPTY7ZW5kbGluZT0yNTttZDU9NzIwNGZlYzRkMTI5MTJmMmExM2ZlODc0NWJjMzU2ZjkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3RybGNweS5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MTc7bWQ1PWQ5NTNmMjhmMGM0M2VlMjllMjM4ZWM5YmMxNWRmMmEwIFwKKyAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5taXJic2Qub3JnL01pck9TL2Rpc3QvbWlyL21rc2gvbWtzaC1SNTZjLnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3OTlhOWFjNmQ1NTg3MWQ3OWJhNjY3MTNkOTI4NjYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRkODZlYmM0MjEyMTVhN2I0NDA5NWRjMTNiMDU2OTIxYmE4MWU2MWI5ZjZmNGNkYWIwOGNhMTM1ZDAyYWZiNzciCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJzaCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzaF0gPSAiJHtiYXNlX2JpbmRpcn0vc2giCitBTFRFUk5BVElWRV9UQVJHRVRbc2hdID0gIiR7YmFzZV9iaW5kaXJ9LyR7QlBOfSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworZG9fY29tcGlsZSgpIHsKKyAgICBzaCAke1N9L0J1aWxkLnNoIC1yCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9ta3NoICR7RH0ke2Jhc2VfYmluZGlyfS9ta3NoCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NrZWwKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kb3QubWtzaHJjICR7RH0ke3N5c2NvbmZkaXJ9L3NrZWwvLm1rc2hyYworfQorCitSUFJPVklERVNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnL2Jpbi9zaCcsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hY2UtY2xvdWQtZWRpdG9yL2FjZS1jbG91ZC1lZGl0b3JfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYWNlLWNsb3VkLWVkaXRvci9hY2UtY2xvdWQtZWRpdG9yX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWE2YzhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYWNlLWNsb3VkLWVkaXRvci9hY2UtY2xvdWQtZWRpdG9yX2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitERVNDUklQVElPTiA9ICJBY2UgaXMgYSBjb2RlIGVkaXRvciB3cml0dGVuIGluIEphdmFTY3JpcHQuIgorU1VNTUFSWSA9ICJBY2UgaXMgYSBjb2RlIGVkaXRvciB3cml0dGVuIGluIEphdmFTY3JpcHQuIFRoaXMgcmVwb3NpdG9yeSBoYXMgb25seSBnZW5lcmF0ZWQgZmlsZXMiCisKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Nzk0ZDExYzUyMTljNTljOWVmYTI0ODdjMmI0MDY2YjIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9hamF4b3JnL2FjZS1idWlsZHMuZ2l0O3Byb3RvY29sPWh0dHBzIgorCitQViA9ICIwMi4wNy4xNytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI4MTJlMmM1NmFlZDI0NjkzMWE2NjdmMTZjMjhiMDk2ZTM0NTk3MDE2IgorCitGSUxFU18ke1BOfSA9ICIke2RhdGFkaXJ9L2FjZS1idWlsZHMiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgKz0gInJzeW5jLW5hdGl2ZSIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vYWNlLWJ1aWxkcy9zcmMtbm9jb25mbGljdAorICAgIHJzeW5jIC1yIC0tZXhjbHVkZT0iLioiICR7U30vc3JjLW5vY29uZmxpY3QvKiAke0R9LyR7ZGF0YWRpcn0vYWNlLWJ1aWxkcy9zcmMtbm9jb25mbGljdAorfQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhjZDljMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQXNpbyBpcyBhIGNyb3NzLXBsYXRmb3JtIEMrKyBsaWJyYXJ5IGZvciBuZXR3b3JrIGFuZCBsb3ctbGV2ZWwgXAotICAgICAgICBJL08gcHJvZ3JhbW1pbmcgdGhhdCBwcm92aWRlcyBkZXZlbG9wZXJzIHdpdGggYSBjb25zaXN0ZW50IGFzeW5jaHJvbm91cyBcCi0gICAgICAgIG1vZGVsIHVzaW5nIGEgbW9kZXJuIEMrKyBhcHByb2FjaC4iCi1BVVRIT1IgPSAiQ2hyaXN0b3BoZXIgTS4gS29obGhvZmYgKGNocmlzIGF0IGtvaGxob2ZmIGRvdCBjb20pIgotSE9NRVBBR0UgPSAiaHR0cDovL3RoaW5rLWFzeW5jLmNvbS9Bc2lvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJCU0wtMS4wIgotCi1ERVBFTkRTID0gImJvb3N0IG9wZW5zc2wiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2U3M2YzMTFhM2FmNjllNmRmMjc1ZThjM2IxYzA5YjUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMzc4NTRkMTEzMDI0ZjU3Yzk3NTNkNjMyNmIzMzliYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTA5MWI0ZGU4NDc1MzlmYTViMjI1OWJmNzZhNTM1NTMzOWM3ZWFhYTVlMzNkN2Q0YWU3NGQ2MTRjMjE5NjVhIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9hc2lvLyR7QlB9LnRhci5iejIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hc2lvL2FzaW9fMS4xMi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWY4NzVmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXNpby9hc2lvXzEuMTIuMi5iYgpAQCAtMCwwICsxLDI2IEBACitERVNDUklQVElPTiA9ICJBc2lvIGlzIGEgY3Jvc3MtcGxhdGZvcm0gQysrIGxpYnJhcnkgZm9yIG5ldHdvcmsgYW5kIGxvdy1sZXZlbCBcCisgICAgICAgIEkvTyBwcm9ncmFtbWluZyB0aGF0IHByb3ZpZGVzIGRldmVsb3BlcnMgd2l0aCBhIGNvbnNpc3RlbnQgYXN5bmNocm9ub3VzIFwKKyAgICAgICAgbW9kZWwgdXNpbmcgYSBtb2Rlcm4gQysrIGFwcHJvYWNoLiIKK0FVVEhPUiA9ICJDaHJpc3RvcGhlciBNLiBLb2hsaG9mZiAoY2hyaXMgYXQga29obGhvZmYgZG90IGNvbSkiCitIT01FUEFHRSA9ICJodHRwOi8vdGhpbmstYXN5bmMuY29tL0FzaW8iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkJTTC0xLjAiCisKK0RFUEVORFMgPSAib3BlbnNzbCIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vYXNpby8ke0JQfS50YXIuYnoyIgorCitpbmhlcml0IGF1dG90b29scworCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZTczZjMxMWEzYWY2OWU2ZGYyNzVlOGMzYjFjMDliNSIKKworU1JDX1VSSVttZDVzdW1dID0gIjMxMmU1MzM4NWUyZGFhZDEwZjA4ZDU3ZjkxYWQzNDMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlMjdkY2IzNzQ1NmJhNzA3NTcwMzM0YjkxZjQ3OTg3MjExMTFlZDY3YjY5OTE1Njg1ZWFjMTQxODk1Nzc5YWEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2FzaW8vJHtCUH0udGFyLmJ6MiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImJvb3N0IgorCitQQUNLQUdFQ09ORklHW2Jvb3N0XSA9ICItLXdpdGgtYm9vc3QsLS13aXRob3V0LWJvb3N0LGJvb3N0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjQ2MDYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWFkZC1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLW1hY3Jvcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gMTNmMzc3MTY1NWY4NTlkNWUwMzMyZGQ2NWI5YzQzZjU3MmY2MzU5ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDExIEF1ZyAyMDE4IDE2OjAyOjA2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFkZCBzeXMvc3lzbWFjcm9zLmggZm9yIG1ham9yL21pbm9yIG1hY3JvcwotCi1waG90b3N5c3QuYzoxNDY1OjE5OiBlcnJvcjogY2FsbGVkIG9iamVjdCAnbWFqb3InIGlzIG5vdCBhIGZ1bmN0aW9uIG9yIGZ1bmN0aW9uIHBvaW50ZXIKLSAgICAgZG1wLT5tYWpvciAgPSBtYWpvcihzdGF0YnVmLnN0X3JkZXYpOwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBwaG90b3N5c3QuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvcGhvdG9zeXN0LmMgYi9waG90b3N5c3QuYwotaW5kZXggMzg4MjhlYy4uY2FlZDM1MiAxMDA2NDQKLS0tLSBhL3Bob3Rvc3lzdC5jCi0rKysgYi9waG90b3N5c3QuYwotQEAgLTE1Miw2ICsxNTIsNyBAQAotIHN0YXRpYyBjb25zdCBjaGFyIHJjc2lkW10gPSAiJElkOiBwaG90b3N5c3QuYyx2IDEuMzggMjAxMC8xMS8xOSAwNzo0MDo0MCBnZXJsb2YgRXhwICQiOwotIAotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hdG9wLmRhaWx5LWF0b3AuaW5pdC1hdG9wLXBtLnNoLUF2b2lkLXVzaW5nLWJhc2gucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvMDAwMS1hdG9wLmRhaWx5LWF0b3AuaW5pdC1hdG9wLXBtLnNoLUF2b2lkLXVzaW5nLWJhc2gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFjYjI1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC8wMDAxLWF0b3AuZGFpbHktYXRvcC5pbml0LWF0b3AtcG0uc2gtQXZvaWQtdXNpbmctYmFzaC5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIGZmYzhiYThkMzI0MjQzYTkyM2FiZTQ4ZTk3NThhZGVjYjAzZDI0YTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMjE6MjU6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXRvcC5kYWlseSwgYXRvcC5pbml0LCBhdG9wLXBtLnNoOiBBdm9pZCB1c2luZyBiYXNoCisKK0F2b2lkIHVzaW5nIGJhc2ggYW5kIGJhc2hpc21zIHdoZW4gbm90IG5lY2VzYXJ5LiBPbiBzb21lIHN5c3RlbXMsCitlLmcuLCBlbWJlZGRlZCBwcm9kdWN0cywgYmFzaCBtYXkgbm90IGJlIGF2YWlsYWJsZSBieSBkZWZhdWx0LgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL0F0b3B0b29sL2F0b3AvcHVsbC81MF0KK1NpZ25lZC1vZmYtYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGV0ZXIua2plbGxlcnN0ZWR0QGF4aXMuY29tPgorLS0tCisgYXRvcC1wbS5zaCB8IDIgKy0KKyBhdG9wLmRhaWx5IHwgNCArKy0tCisgYXRvcC5pbml0ICB8IDQgKystLQorIDMgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYXRvcC1wbS5zaCBiL2F0b3AtcG0uc2gKK2luZGV4IDdmNDFhODYuLjNmZjRhYjUgMTAwNzU1CistLS0gYS9hdG9wLXBtLnNoCisrKysgYi9hdG9wLXBtLnNoCitAQCAtMSw0ICsxLDQgQEAKKy0jIS9iaW4vYmFzaAorKyMhL2Jpbi9zaAorIAorIGNhc2UgIiQxIiBpbgorIAlwcmUpCS91c3IvYmluL3N5c3RlbWN0bCBzdG9wIGF0b3AKK2RpZmYgLS1naXQgYS9hdG9wLmRhaWx5IGIvYXRvcC5kYWlseQoraW5kZXggNTdhOTUwNy4uZmU1YTExYiAxMDA3NTUKKy0tLSBhL2F0b3AuZGFpbHkKKysrKyBiL2F0b3AuZGFpbHkKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgCisgTE9HT1BUUz0iLVIiCQkJCSMgZGVmYXVsdCBvcHRpb25zCisgTE9HSU5URVJWQUw9NjAwCQkJCSMgZGVmYXVsdCBpbnRlcnZhbCBpbiBzZWNvbmRzCitAQCAtMzgsNyArMzgsNyBAQCB0aGVuCisgCisgCXdoaWxlIHBzIC1wIGBjYXQgIiRQSURGSUxFImAgPiAvZGV2L251bGwKKyAJZG8KKy0JCWxldCBDTlQrPTEKKysJCUNOVD0kKChDTlQgKyAxKSkKKyAKKyAJCWlmIFsgJENOVCAtZ3QgNSBdCisgCQl0aGVuCitkaWZmIC0tZ2l0IGEvYXRvcC5pbml0IGIvYXRvcC5pbml0CitpbmRleCBlNmUxMWRjLi4wM2MzZjAyIDEwMDc1NQorLS0tIGEvYXRvcC5pbml0CisrKysgYi9hdG9wLmluaXQKK0BAIC0xLDQgKzEsNCBAQAorLSMhL2Jpbi9iYXNoCisrIyEvYmluL3NoCisgIworICMgYXRvcAkJU3RhcnR1cCBzY3JpcHQgZm9yIHRoZSBBdG9wIHByb2Nlc3MgbG9nZ2luZyBpbiBiYWNrZ3JvdW5kCisgIworQEAgLTQ3LDcgKzQ3LDcgQEAgY2FzZSAiJDEiIGluCisgCisgCQl3aGlsZSBwcyAtcCBgY2F0ICRQSURGSUxFYCA+IC9kZXYvbnVsbAorIAkJZG8KKy0JCQlsZXQgQ05UKz0xCisrCQkJQ05UPSQoKENOVCArIDEpKQorIAorIAkJCWlmIFsgJENOVCAtZ3QgNSBdCisgCQkJdGhlbgorLS0gCisyLjEyLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcC9maXgtcGVybWlzc2lvbnMucGF0Y2gKaW5kZXggZWU3NDE5OS4uODQ4OGIzOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvZml4LXBlcm1pc3Npb25zLnBhdGNoCkBAIC0xLDE1ICsxLDIyIEBACi1VcGRhdGUgcGVybWlzc2lvbnMgb2YgZXhlY3V0YWJsZSBmaWxlcyB0aGF0IHJlbW92ZSBzZXR1aWQgYml0IGFuZCBtYWtlIGV2ZXJ5b25lCi1jb3VsZCByZWFkLgorRnJvbSBkOTQ5OGQxMGQwZTgyNDE3NDk4MzVkYmM5ZmEyMjk0NjVkNGZkZmQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTM6NTg6MDQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHBlcm1pc3Npb25zCisKK1VwZGF0ZSBwZXJtaXNzaW9ucyBvZiBleGVjdXRhYmxlIGZpbGVzIHRoYXQgcmVtb3ZlIHNldHVpZCBiaXQgYW5kIG1ha2UKK2V2ZXJ5b25lIGNvdWxkIHJlYWQuCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KIFNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCisgTWFrZWZpbGUgfCAxMCArKysrKy0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKwogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGE2NWI5YjYuLjIxZDk4MjggMTAwNjQ0CitpbmRleCAzYmY1OTI5Li4xMjIxZWU0IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtNjYsNyArNjYsNyBAQCBzeXN0ZW1kaW5zdGFsbDoJZ2VuZXJpY2luc3RhbGwKK0BAIC03Miw3ICs3Miw3IEBAIHN5c3RlbWRpbnN0YWxsOglnZW5lcmljaW5zdGFsbAogIAkJY2htb2QgMDY0NCAgICAgICAgICAgICQoREVTVERJUikkKFNZU0RQQVRIKS9hdG9wYWNjdC5zZXJ2aWNlCiAgCQljcCBhdG9wLmNyb25zeXN0ZW1kICAgJChERVNURElSKSQoQ1JOUEFUSCkvYXRvcAogIAkJY3AgYXRvcC1wbS5zaCAgICAgICAgICQoREVTVERJUikkKFBNUEFUSEQpCkBAIC0xOCw3ICsyNSw3IEBACiAgCQkjCiAgCQkjIG9ubHkgd2hlbiBtYWtpbmcgb24gdGFyZ2V0IHN5c3RlbToKICAJCSMKLUBAIC05MSwxMSArOTEsMTEgQEAgc3lzdmluc3RhbGw6CWdlbmVyaWNpbnN0YWxsCitAQCAtOTcsMTEgKzk3LDExIEBAIHN5c3ZpbnN0YWxsOglnZW5lcmljaW5zdGFsbAogIAkJIwogIAkJaWYgWyAgIC1kICQoREVTVERJUikkKFBNUEFUSDEpIF07IAkJCVwKICAJCXRoZW4JY3AgNDVhdG9wcG0gJChERVNURElSKSQoUE1QQVRIMSk7IAkJXApAQCAtMzIsNyArMzksNyBAQAogIAkJZmkKICAJCSMKICAJCSMKLUBAIC0xMzksNyArMTM5LDcgQEAgZ2VuZXJpY2luc3RhbGw6CWF0b3AgYXRvcGFjY3RkCitAQCAtMTQ1LDcgKzE0NSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZCBhdG9wY29udmVydAogIAkJIwogIAkJY3AgYXRvcCAgIAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcAogIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcApAQCAtNDEsMTIgKzQ4LDEyIEBACiAgCQlsbiAtc2YgYXRvcCAgICAgICAgICAgICAkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wc2FyCiAgCQljcCBhdG9wYWNjdGQgIAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAogIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoU0JJTlBBVEgpL2F0b3BhY2N0ZAotQEAgLTE0Nyw3ICsxNDcsNyBAQCBnZW5lcmljaW5zdGFsbDoJYXRvcCBhdG9wYWNjdGQKLSAJCWNwIGF0b3AgICAJCSQoREVTVERJUikkKEJJTlBBVEgpL2F0b3AtJChWRVJTKQotIAkJbG4gLXNmIGF0b3AtJChWRVJTKSAgICAgJChERVNURElSKSQoQklOUEFUSCkvYXRvcHNhci0kKFZFUlMpCitAQCAtMTU5LDcgKzE1OSw3IEBAIGdlbmVyaWNpbnN0YWxsOglhdG9wIGF0b3BhY2N0ZCBhdG9wY29udmVydAorIAkJY2hvd24gcm9vdAkJJChERVNURElSKSQoQklOUEFUSCkvYXRvcGNvbnZlcnQKKyAJCWNobW9kIDA3MTEgCQkkKERFU1RESVIpJChCSU5QQVRIKS9hdG9wY29udmVydAogIAkJY3AgYXRvcC5kYWlseSAgICAJJChERVNURElSKSQoU0NSUEFUSCkKIC0JCWNobW9kIDA3MTEgCSAJJChERVNURElSKSQoU0NSUEFUSCkvYXRvcC5kYWlseQogKwkJY2htb2QgMDc1NSAJIAkkKERFU1RESVIpJChTQ1JQQVRIKS9hdG9wLmRhaWx5CiAgCQljcCBtYW4vYXRvcC4xICAgIAkkKERFU1RESVIpJChNQU4xUEFUSCkKICAJCWNwIG1hbi9hdG9wc2FyLjEgCSQoREVTVERJUikkKE1BTjFQQVRIKQotIAkJY3AgbWFuL2F0b3ByYy41ICAJJChERVNURElSKSQoTUFONVBBVEgpCisgCQljcCBtYW4vYXRvcGNvbnZlcnQuMSAJJChERVNURElSKSQoTUFOMVBBVEgpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3JlbW92ZS1iYXNoaXNtcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFmY2JmZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3AvcmVtb3ZlLWJhc2hpc21zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLWRpZmYgLS1naXQgYS9hdG9wLXBtLnNoIGIvYXRvcC1wbS5zaAotaW5kZXggN2Y0MWE4Ni4uM2ZmNGFiNSAxMDA3NTUKLS0tLSBhL2F0b3AtcG0uc2gKLSsrKyBiL2F0b3AtcG0uc2gKLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gCi0gY2FzZSAiJDEiIGluCi0gCXByZSkJL3Vzci9iaW4vc3lzdGVtY3RsIHN0b3AgYXRvcAotZGlmZiAtLWdpdCBhL2F0b3AuZGFpbHkgYi9hdG9wLmRhaWx5Ci1pbmRleCAyNGQzM2JkLi5mMjliZDk0IDEwMDc1NQotLS0tIGEvYXRvcC5kYWlseQotKysrIGIvYXRvcC5kYWlseQotQEAgLTEsNCArMSw0IEBACi0tIyEvYmluL2Jhc2gKLSsjIS9iaW4vc2gKLSAKLSBDVVJEQVk9YGRhdGUgKyVZJW0lZGAKLSBMT0dQQVRIPS92YXIvbG9nL2F0b3AKLUBAIC0xNiw3ICsxNiw3IEBAIHRoZW4KLSAKLSAJd2hpbGUgcHMgLXAgYGNhdCAkUElERklMRWAgPiAvZGV2L251bGwKLSAJZG8KLS0JCWxldCBDTlQrPTEKLSsJCUNOVD0kKChDTlQrMSkpCi0gCi0gCQlpZiBbICRDTlQgLWd0IDUgXQotIAkJdGhlbgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wL3N5c3Zpbml0LWltcGxlbWVudC1zdGF0dXMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaAppbmRleCA1OTk0ZDNlLi4xMTQ1YTI0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3Avc3lzdmluaXQtaW1wbGVtZW50LXN0YXR1cy5wYXRjaApAQCAtMSwxMSArMSwxOCBAQAorRnJvbSBiZGQwNjg4NzNlZDA5NzkwMjdjMjE3NzM5MzliZGIxODA0NmE4NzU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDYgRmViIDIwMTkgMTM6NTg6MDQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gc3lzdmluaXQ6IEltcGxlbWVudCBzdGF0dXMKKwogSW1wbGVtZW50IHRoZSBzdWItY29tbWFuZCBzdGF0dXMuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCiBTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQorIGF0b3AuaW5pdCB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCiBkaWZmIC0tZ2l0IGEvYXRvcC5pbml0IGIvYXRvcC5pbml0Ci1pbmRleCAxMDhiZGM1Li45Zjg5ZmFkIDEwMDc1NQoraW5kZXggZTZlMTFkYy4uZTdiMjI2ZCAxMDA3NTUKIC0tLSBhL2F0b3AuaW5pdAogKysrIGIvYXRvcC5pbml0CiBAQCAtMTgsNiArMTgsOCBAQApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMy4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYXRvcC9hdG9wXzIuMy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDI4MTNjLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLVNVTU1BUlkgPSAiTW9uaXRvciBmb3Igc3lzdGVtIHJlc291cmNlcyBhbmQgcHJvY2VzcyBhY3Rpdml0eSIKLURFU0NSSVBUSU9OID0gIkF0b3AgaXMgYW4gQVNDSUkgZnVsbC1zY3JlZW4gcGVyZm9ybWFuY2UgbW9uaXRvciBmb3IgTGludXggdGhhdCBcCi1pcyBjYXBhYmxlIG9mIHJlcG9ydGluZyB0aGUgYWN0aXZpdHkgb2YgYWxsIHByb2Nlc3NlcyAoZXZlbiBpZiBwcm9jZXNzZXMgaGF2ZSBcCi1maW5pc2hlZCBkdXJpbmcgdGhlIGludGVydmFsKSwgZGFpbHkgbG9nZ2luZyBvZiBzeXN0ZW0gYW5kIHByb2Nlc3MgYWN0aXZpdHkgZm9yIFwKLWxvbmctdGVybSBhbmFseXNpcywgaGlnaGxpZ2h0aW5nIG92ZXJsb2FkZWQgc3lzdGVtIHJlc291cmNlcyBieSB1c2luZyBjb2xvcnMsIFwKLWV0Yy4gQXQgcmVndWxhciBpbnRlcnZhbHMsIGl0IHNob3dzIHN5c3RlbS1sZXZlbCBhY3Rpdml0eSByZWxhdGVkIHRvIHRoZSBDUFUsIFwKLW1lbW9yeSwgc3dhcCwgZGlza3MgKGluY2x1ZGluZyBMVk0pIGFuZCBuZXR3b3JrIGxheWVycywgYW5kIGZvciBldmVyeSBwcm9jZXNzIFwKLShhbmQgdGhyZWFkKSBpdCBzaG93cyBlLmcuIHRoZSBDUFUgdXRpbGl6YXRpb24sIG1lbW9yeSBncm93dGgsIGRpc2sgXAotdXRpbGl6YXRpb24sIHByaW9yaXR5LCB1c2VybmFtZSwgc3RhdGUsIGFuZCBleGl0IGNvZGUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubCIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIgotCi1ERVBFTkRTID0gIm5jdXJzZXMgemxpYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmF0b3B0b29sLm5sL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICdmaWxlOi8vdm9sYXRpbGVzLmF0b3AuY29uZicsICdmaWxlOi8vdm9sYXRpbGVzLjk5X2F0b3AnLCBkKX0gXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWJhc2hpc21zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYWRkLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItbWFjcm9zLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjQ4ZTFkYmVmOGM3ZDgyNmU2ODgyOWE4ZDVmYzkyMGZjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjczZTQ3MjVkZTBiYWZhYzhjNjNiMDMyZTg0NzllMjMwNWUzOTYyYWZiZTk3N2VjMWFiZDQ1ZjllMTA0ZWIyNjQiCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSBhbGwKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7UFZ9IFNZU0RQQVRIPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAotICAgICAgICAgICAgUE1QQVRIRD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIHN5c3RlbWRpbnN0YWxsCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy5hdG9wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9hdG9wLmNvbmYKLSAgICAgICAgcm0gLWYgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYXRvcGFjY3Quc2VydmljZQotICAgIGVsc2UKLSAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBzeXN2aW5zdGFsbAotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0gICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X2F0b3AgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfYXRvcAotICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRvcGFjY3QKLSAgICBmaQotCi0gICAgIyByZW1vdmUgYXRvcGFjY3QgcmVsYXRlZCBmaWxlcwotICAgIHJtIC1yZiAke0R9JHtzYmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKLX0KLQotaW5oZXJpdCBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdG9wLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIgotCi1SREVQRU5EU18ke1BOfSA9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9hdG9wL2F0b3BfMi40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJkZTk2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2F0b3AvYXRvcF8yLjQuMC5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIk1vbml0b3IgZm9yIHN5c3RlbSByZXNvdXJjZXMgYW5kIHByb2Nlc3MgYWN0aXZpdHkiCitERVNDUklQVElPTiA9ICJBdG9wIGlzIGFuIEFTQ0lJIGZ1bGwtc2NyZWVuIHBlcmZvcm1hbmNlIG1vbml0b3IgZm9yIExpbnV4IHRoYXQgXAoraXMgY2FwYWJsZSBvZiByZXBvcnRpbmcgdGhlIGFjdGl2aXR5IG9mIGFsbCBwcm9jZXNzZXMgKGV2ZW4gaWYgcHJvY2Vzc2VzIGhhdmUgXAorZmluaXNoZWQgZHVyaW5nIHRoZSBpbnRlcnZhbCksIGRhaWx5IGxvZ2dpbmcgb2Ygc3lzdGVtIGFuZCBwcm9jZXNzIGFjdGl2aXR5IGZvciBcCitsb25nLXRlcm0gYW5hbHlzaXMsIGhpZ2hsaWdodGluZyBvdmVybG9hZGVkIHN5c3RlbSByZXNvdXJjZXMgYnkgdXNpbmcgY29sb3JzLCBcCitldGMuIEF0IHJlZ3VsYXIgaW50ZXJ2YWxzLCBpdCBzaG93cyBzeXN0ZW0tbGV2ZWwgYWN0aXZpdHkgcmVsYXRlZCB0byB0aGUgQ1BVLCBcCittZW1vcnksIHN3YXAsIGRpc2tzIChpbmNsdWRpbmcgTFZNKSBhbmQgbmV0d29yayBsYXllcnMsIGFuZCBmb3IgZXZlcnkgcHJvY2VzcyBcCisoYW5kIHRocmVhZCkgaXQgc2hvd3MgZS5nLiB0aGUgQ1BVIHV0aWxpemF0aW9uLCBtZW1vcnkgZ3Jvd3RoLCBkaXNrIFwKK3V0aWxpemF0aW9uLCBwcmlvcml0eSwgdXNlcm5hbWUsIHN0YXRlLCBhbmQgZXhpdCBjb2RlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYXRvcHRvb2wubmwiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zOTNhNWNhNDQ1ZjY5NjU4NzNlY2EwMjU5YTE3ZjgzMyIKKworREVQRU5EUyA9ICJuY3Vyc2VzIHpsaWIiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hdG9wdG9vbC5ubC9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnZmlsZTovL3ZvbGF0aWxlcy5hdG9wLmNvbmYnLCAnZmlsZTovL3ZvbGF0aWxlcy45OV9hdG9wJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wZXJtaXNzaW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zeXN2aW5pdC1pbXBsZW1lbnQtc3RhdHVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYXRvcC5kYWlseS1hdG9wLmluaXQtYXRvcC1wbS5zaC1Bdm9pZC11c2luZy1iYXNoLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjEwNzdkYTg4NGVkOTRmMmJjM2M4MWFjM2FiOTcwNDM2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJlMWMwMTBhNzcwODZiN2Q5ODM3NmZjZTk2NTE0YWZjZDczYzNmMjBhOGQxZmUwMTUyMDg5OWZmNjlhNzNkNjkiCisKK2RvX2NvbXBpbGUoKSB7CisgICAgb2VfcnVubWFrZSBhbGwKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBtYWtlIERFU1RESVI9JHtEfSBWRVJTPSR7UFZ9IFNZU0RQQVRIPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorICAgICAgICAgICAgUE1QQVRIRD0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLXNsZWVwIHN5c3RlbWRpbnN0YWxsCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy5hdG9wLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9hdG9wLmNvbmYKKyAgICAgICAgcm0gLWYgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYXRvcGFjY3Quc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgbWFrZSBERVNURElSPSR7RH0gVkVSUz0ke1BWfSBzeXN2aW5zdGFsbAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X2F0b3AgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfYXRvcAorICAgICAgICBybSAtZiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRvcGFjY3QKKyAgICBmaQorCisgICAgIyByZW1vdmUgYXRvcGFjY3QgcmVsYXRlZCBmaWxlcworICAgIHJtIC1yZiAke0R9JHtzYmluZGlyfSAke0R9JHttYW5kaXJ9L21hbjgKK30KKworaW5oZXJpdCBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhdG9wLnNlcnZpY2UgYXRvcGdwdS5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS1zbGVlcCIKKworUkRFUEVORFNfJHtQTn0gPSAicHJvY3BzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy8wMDAxLWNvbmZpZ3VyZS5hYy1hZGQtY2hlY2stZm9yLU5PX0dFVENPTlRFWFQtZGVmaW5pdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGVmNzc0Zi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy8wMDAxLWNvbmZpZ3VyZS5hYy1hZGQtY2hlY2stZm9yLU5PX0dFVENPTlRFWFQtZGVmaW5pdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWNvbmZpZ3VyZS5hYzogYWRkIGNoZWNrIGZvciBOT19HRVRDT05URVhUIGRlZmluaXRpb24KLQotU2lnbmVkLW9mZi1ieTogU2FtdWVsIE1hcnRpbiA8cy5tYXJ0aW40OUBnbWFpbC5jb20+Ci1beWFubi5tb3Jpbi4xOTk4QGZyZWUuZnI6IGFkZCBhIGNvbW1lbnQsIGNoYW5nZSB2YXJpYWJsZSBuYW1lLCB1c2UKLSBBU19JRiwgcmVtb3ZlIGRlYnVnIHRyYWNlcywgdXNlIEFDX0NIRUNLX0ZVTkNTIChhcyBzdWdnZXN0ZWQgYnkKLSBUaG9tYXMpXQotU2lnbmVkLW9mZi1ieTogIllhbm4gRS4gTU9SSU4iIDx5YW5uLm1vcmluLjE5OThAZnJlZS5mcj4KLUNjOiBUaG9tYXMgUGV0YXp6b25pIDx0aG9tYXMucGV0YXp6b25pQGZyZWUtZWxlY3Ryb25zLmNvbT4KLQotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLSBjb25maWd1cmUuYWMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotLS0tIGJkd2djLTcuMmYub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wNi0wMSAxOTowMDo0Ny4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiZHdnYy03LjJmL2NvbmZpZ3VyZS5hYwkyMDE0LTEyLTIzIDE0OjEzOjExLjU4NTcxNjcxMyArMDEwMAotQEAgLTM2NSw2ICszNjUsMTIgQEAKLSAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2Zub19zdHJpY3RfYWxpYXNpbmcpCi0gZmkKLSAKLSsjIENoZWNrIGZvciBnZXRjb250ZXh0ICh1Q2xpYmMgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCBpdCwgZm9yIGV4YW1wbGUpCi0rQUNfQ0hFQ0tfRlVOQ1MoW2dldGNvbnRleHRdKQotK0FTX0lGKFt0ZXN0ICIkYWNfY3ZfZnVuY19nZXRjb250ZXh0IiA9ICJubyJdLAotKyAgW0NGTEFHUz0iJENGTEFHUyAtRE5PX0dFVENPTlRFWFQiCi0rICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtRE5PX0dFVENPTlRFWFQiXSkKLSsKLSBjYXNlICIkaG9zdCIgaW4KLSAjIFdoaWxlIElSSVggNiBoYXMgbGliZGwgZm9yIHRoZSBPMzIgYW5kIE4zMiBBQklzLCBpdCdzIG1pc3NpbmcgZm9yIE42NAotICMgYW5kIHVubmVjZXNzYXJ5IGV2ZXJ5d2hlcmUuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy9tdXNsX2hlYWRlcl9maXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnYy9tdXNsX2hlYWRlcl9maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhMTg0OTYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2MvbXVzbF9oZWFkZXJfZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotQWRkIG1pc3NpbmcgaGVhZGVyIHRvIGF2b2lkOgotCi18IDE0NzI2NTk2MTAuMDE2MzU1OiAuLi9naXQvcHRocmVhZF9zdG9wX3dvcmxkLmM6IEluIGZ1bmN0aW9uICdHQ19icmllZl9hc3luY19zaWduYWxfc2FmZV9zbGVlcCc6Ci18IDE0NzI2NTk2MTAuMDU0MDI1MjogLi4vZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jOjM5NzoyMjogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAndHYnIGlzbid0IGtub3duCi18IDE0NzI2NTk2MTAuMDU0MDI1MjogICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2OwotfCAxNDcyNjU5NjEwLjA1NDAyNTI6ICAgICAgICAgICAgICAgICAgICAgICBefgotfCAxNDcyNjU5NjEwLjA1NDA5OTogLi4vZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jOjM5NzoyMjogd2FybmluZzogdW51c2VkIHZhcmlhYmxlICd0dicgWy1XdW51c2VkLXZhcmlhYmxlXQotfCAxNDcyNjU5NjEwLjA1NDA5OTogICAgICAgIHN0cnVjdCB0aW1ldmFsIHR2OwotfCAxNDcyNjU5NjEwLjA1NDA5OTogICAgICAgICAgICAgICAgICAgICAgIF5+Ci18IDE0NzI2NTk2MTAuMDU0MDk5OiBNYWtlZmlsZToxNTMwOiByZWNpcGUgZm9yIHRhcmdldCAncHRocmVhZF9zdG9wX3dvcmxkLmxvJyBmYWlsZWQKLQotaW4gbXVzbCBidWlsZHMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogZ2l0L3B0aHJlYWRfc3RvcF93b3JsZC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvcHRocmVhZF9zdG9wX3dvcmxkLmMKLSsrKyBnaXQvcHRocmVhZF9zdG9wX3dvcmxkLmMKLUBAIC00NSw2ICs0NSw3IEBACi0gI2luY2x1ZGUgPHNlbWFwaG9yZS5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSAjaW5jbHVkZSAiYXRvbWljX29wcy5oIgotIAotIC8qIEl0J3Mgc2FmZSB0byBjYWxsIG9yaWdpbmFsIHB0aHJlYWRfc2lnbWFzaygpIGhlcmUuICAgKi8KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYjY4ZjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvYmR3Z2MvYmR3Z2NfNy42LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1TVU1NQVJZID0gIkEgZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIEMgYW5kIEMrKyIKLQotREVTQ1JJUFRJT04gPSAiVGhlIEJvZWhtLURlbWVycy1XZWlzZXIgY29uc2VydmF0aXZlIGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBiZVwKLSB1c2VkIGFzIGEgZ2FyYmFnZSBjb2xsZWN0aW5nIHJlcGxhY2VtZW50IGZvciBDIG1hbGxvYyBvciBDKysgbmV3LiBJdCBhbGxvd3NcCi0geW91IHRvIGFsbG9jYXRlIG1lbW9yeSBiYXNpY2FsbHkgYXMgeW91IG5vcm1hbGx5IHdvdWxkLCB3aXRob3V0IGV4cGxpY2l0bHlcCi0gZGVhbGxvY2F0aW5nIG1lbW9yeSB0aGF0IGlzIG5vIGxvbmdlciB1c2VmdWwuIFRoZSBjb2xsZWN0b3IgYXV0b21hdGljYWxseVwKLSByZWN5Y2xlcyBtZW1vcnkgd2hlbiBpdCBkZXRlcm1pbmVzIHRoYXQgaXQgY2FuIG5vIGxvbmdlciBiZSBvdGhlcndpc2VcCi0gYWNjZXNzZWQuXAotICBUaGUgY29sbGVjdG9yIGlzIGFsc28gdXNlZCBieSBhIG51bWJlciBvZiBwcm9ncmFtbWluZyBsYW5ndWFnZVwKLSBpbXBsZW1lbnRhdGlvbnMgdGhhdCBlaXRoZXIgdXNlIEMgYXMgaW50ZXJtZWRpYXRlIGNvZGUsIHdhbnQgdG8gZmFjaWxpdGF0ZVwKLSBlYXNpZXIgaW50ZXJvcGVyYXRpb24gd2l0aCBDIGxpYnJhcmllcywgb3IganVzdCBwcmVmZXIgdGhlIHNpbXBsZSBjb2xsZWN0b3JcCi0gaW50ZXJmYWNlLlwKLSAgQWx0ZXJuYXRpdmVseSwgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIG1heSBiZSB1c2VkIGFzIGEgbGVhayBkZXRlY3RvciBmb3IgQ1wKLSBvciBDKysgcHJvZ3JhbXMsIHRob3VnaCB0aGF0IGlzIG5vdCBpdHMgcHJpbWFyeSBnb2FsLlwKLSAgRW1waXJpY2FsbHksIHRoaXMgY29sbGVjdG9yIHdvcmtzIHdpdGggbW9zdCB1bm1vZGlmaWVkIEMgcHJvZ3JhbXMsIHNpbXBseVwKLSBieSByZXBsYWNpbmcgbWFsbG9jIHdpdGggR0NfbWFsbG9jIGNhbGxzLCByZXBsYWNpbmcgcmVhbGxvYyB3aXRoIEdDX3JlYWxsb2NcCi0gY2FsbHMsIGFuZCByZW1vdmluZyBmcmVlIGNhbGxzLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oYm9laG0uaW5mby9nYy8iCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUuUVVJQ0s7bWQ1PTRmODFmMjRlYzY5NzI2YzMxMjQ4N2MyYWM3NDBlOWUzIgotCi1TUkNSRVYgPSAiOGFjMWQ4NGE0MGViN2E0MzFmZWMxYjgwOTdlM2YyNGI0OGZiMjNmYSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9pdm1haS9iZHdnYy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtYWRkLWNoZWNrLWZvci1OT19HRVRDT05URVhULWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbXVzbF9oZWFkZXJfZml4LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLUZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLSMgYnkgZGVmYXVsdCB1c2UgZXh0ZXJuYWwgbGliYXRvbWljLW9wcwotUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmF0b21pYy1vcHMiCi1QQUNLQUdFQ09ORklHW2xpYmF0b21pYy1vcHNdID0gIi0td2l0aC1saWJhdG9taWMtb3BzPXllcywtLXdpdGgtbGliYXRvbWljLW9wcz1ubyxsaWJhdG9taWMtb3BzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMTIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9iZHdnYy9iZHdnY183LjYuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjFjMTA5OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Jkd2djL2Jkd2djXzcuNi4xMi5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkEgZ2FyYmFnZSBjb2xsZWN0b3IgZm9yIEMgYW5kIEMrKyIKKworREVTQ1JJUFRJT04gPSAiVGhlIEJvZWhtLURlbWVycy1XZWlzZXIgY29uc2VydmF0aXZlIGdhcmJhZ2UgY29sbGVjdG9yIGNhbiBiZVwKKyB1c2VkIGFzIGEgZ2FyYmFnZSBjb2xsZWN0aW5nIHJlcGxhY2VtZW50IGZvciBDIG1hbGxvYyBvciBDKysgbmV3LiBJdCBhbGxvd3NcCisgeW91IHRvIGFsbG9jYXRlIG1lbW9yeSBiYXNpY2FsbHkgYXMgeW91IG5vcm1hbGx5IHdvdWxkLCB3aXRob3V0IGV4cGxpY2l0bHlcCisgZGVhbGxvY2F0aW5nIG1lbW9yeSB0aGF0IGlzIG5vIGxvbmdlciB1c2VmdWwuIFRoZSBjb2xsZWN0b3IgYXV0b21hdGljYWxseVwKKyByZWN5Y2xlcyBtZW1vcnkgd2hlbiBpdCBkZXRlcm1pbmVzIHRoYXQgaXQgY2FuIG5vIGxvbmdlciBiZSBvdGhlcndpc2VcCisgYWNjZXNzZWQuXAorICBUaGUgY29sbGVjdG9yIGlzIGFsc28gdXNlZCBieSBhIG51bWJlciBvZiBwcm9ncmFtbWluZyBsYW5ndWFnZVwKKyBpbXBsZW1lbnRhdGlvbnMgdGhhdCBlaXRoZXIgdXNlIEMgYXMgaW50ZXJtZWRpYXRlIGNvZGUsIHdhbnQgdG8gZmFjaWxpdGF0ZVwKKyBlYXNpZXIgaW50ZXJvcGVyYXRpb24gd2l0aCBDIGxpYnJhcmllcywgb3IganVzdCBwcmVmZXIgdGhlIHNpbXBsZSBjb2xsZWN0b3JcCisgaW50ZXJmYWNlLlwKKyAgQWx0ZXJuYXRpdmVseSwgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIG1heSBiZSB1c2VkIGFzIGEgbGVhayBkZXRlY3RvciBmb3IgQ1wKKyBvciBDKysgcHJvZ3JhbXMsIHRob3VnaCB0aGF0IGlzIG5vdCBpdHMgcHJpbWFyeSBnb2FsLlwKKyAgRW1waXJpY2FsbHksIHRoaXMgY29sbGVjdG9yIHdvcmtzIHdpdGggbW9zdCB1bm1vZGlmaWVkIEMgcHJvZ3JhbXMsIHNpbXBseVwKKyBieSByZXBsYWNpbmcgbWFsbG9jIHdpdGggR0NfbWFsbG9jIGNhbGxzLCByZXBsYWNpbmcgcmVhbGxvYyB3aXRoIEdDX3JlYWxsb2NcCisgY2FsbHMsIGFuZCByZW1vdmluZyBmcmVlIGNhbGxzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5oYm9laG0uaW5mby9nYy8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUUuUVVJQ0s7bWQ1PTcyODUwMWYyMzMwNTAyOTAzMTRkMzNmYjA3ZDg4M2ViIgorCitTUkNSRVYgPSAiYTQ2NTQ2ZjQwZDE4ZTYwYzMxMDc3YzJlN2M4YmI0ZTQ0YmYxYmVmMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9pdm1haS9iZHdnYy5naXQ7YnJhbmNoPXJlbGVhc2UtN182IFwKKyAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRvYyA9ICIke2RhdGFkaXJ9IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUID0gImFybSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgYnkgZGVmYXVsdCB1c2UgZXh0ZXJuYWwgbGliYXRvbWljLW9wcworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmF0b21pYy1vcHMiCitQQUNLQUdFQ09ORklHW2xpYmF0b21pYy1vcHNdID0gIi0td2l0aC1saWJhdG9taWMtb3BzPXllcywtLXdpdGgtbGliYXRvbWljLW9wcz1ubyxsaWJhdG9taWMtb3BzIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9jbGkxMV8xLjYuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCmluZGV4IDY4OTliMTIuLmU2MmMxZDMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NsaTExL2NsaTExXzEuNi4yLmJiCkBAIC02LDExICs2LDE0IEBACiBTUkNSRVYgPSAiYmQ0ZGM5MTE4NDdkMGNkZTdhNmI0MWRmYTYyNmE4NWFhYjIxM2JhZiIKIFBWIC49ICIrZ2l0JHtTUkNQVn0iCiAKLVNSQ19VUkkgKz0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMSIKK1NSQ19VUkkgKz0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMSBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaCBcCisgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAogaW5oZXJpdCBjbWFrZQogaW5oZXJpdCBwdGVzdAogCitFWFRSQV9PRUNNQUtFICs9ICItRENMQU5HX1RJRFk9T0ZGIgogREVQRU5EUyArPSAiYm9vc3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jbGkxMS9maWxlcy8wMDAxLUFkZC1DTEFOR19USURZLWNoZWNrLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvZmlsZXMvMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWYzNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY2xpMTEvZmlsZXMvMDAwMS1BZGQtQ0xBTkdfVElEWS1jaGVjay5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIGVmNjMxMGJjNzI2YTUzZmY2YjQ1MDcxNjMzZmE3YjM3MjI0Y2FlOTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMiBGZWIgMjAxOSAxMzoyMjoyMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBBZGQgQ0xBTkdfVElEWSBjaGVjaworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBDTWFrZUxpc3RzLnR4dCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDc5NDA0YjguLmY2ODIxN2QgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zOSw3ICszOSw3IEBAIGlmKENNQUtFX1BST0pFQ1RfTkFNRSBTVFJFUVVBTCBQUk9KRUNUX05BTUUpCisgICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLVdhbGwgLVdleHRyYSAtcGVkYW50aWMpCisgICAgIGVuZGlmKCkKKyAKKy0gICAgaWYoQ01BS0VfVkVSU0lPTiBWRVJTSU9OX0dSRUFURVIgMy42KQorKyAgICBpZihDTUFLRV9WRVJTSU9OIFZFUlNJT05fR1JFQVRFUiAzLjYgQU5EIENMQU5HX1RJRFkpCisgICAgICAgICAjIEFkZCBjbGFuZy10aWR5IGlmIGF2YWlsYWJsZQorICAgICAgICAgb3B0aW9uKENMQU5HX1RJRFlfRklYICJQZXJmb3JtIGZpeGVzIGZvciBDbGFuZy1UaWR5IiBPRkYpCisgICAgICAgICBmaW5kX3Byb2dyYW0oCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvOTUwLWZpeC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC85NTAtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWU0NmExLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC85NTAtZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotT3JpZ2luOiB1cHN0cmVhbQotQnVnOiBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvaXNzdWVzLzk1MAotTGFzdC1VcGRhdGU6IDIwMTgtMTEtMDQKLQotSW5kZXg6IGNwcHJlc3QvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY3BwcmVzdC5vcmlnL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAotKysrIGNwcHJlc3QvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCi1AQCAtMzU2LDcgKzM1Niw3IEBACi0gaW5saW5lIHNpemVfdCBjb3VudF91dGY4X3RvX3V0ZjE2KGNvbnN0IHN0ZDo6c3RyaW5nJiBzKQotIHsKLSAgICAgY29uc3Qgc2l6ZV90IHNTaXplID0gcy5zaXplKCk7Ci0tICAgIGF1dG8gc0RhdGEgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFV0aWxDaGFySW50ZXJuYWxfdCogY29uc3Q+KHMuZGF0YSgpKTsKLSsgICAgYXV0byBjb25zdCBzRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90Kj4ocy5kYXRhKCkpOwotICAgICBzaXplX3QgcmVzdWx0eyBzU2l6ZSB9OwotIAotICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgc1NpemU7KQotQEAgLTQ0MSw3ICs0NDEsNyBAQAotIHsKLSAgICAgLy8gU2F2ZSByZXBlYXRlZCBoZWFwIGFsbG9jYXRpb25zLCB1c2UgdGhlIGxlbmd0aCBvZiByZXN1bHRpbmcgc2VxdWVuY2UuCi0gICAgIGNvbnN0IHNpemVfdCBzcmNTaXplID0gcy5zaXplKCk7Ci0tICAgIGF1dG8gc3JjRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVXRpbENoYXJJbnRlcm5hbF90KiBjb25zdD4ocy5kYXRhKCkpOwotKyAgICBhdXRvIGNvbnN0IHNyY0RhdGEgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFV0aWxDaGFySW50ZXJuYWxfdCo+KHMuZGF0YSgpKTsKLSAgICAgdXRmMTZzdHJpbmcgZGVzdChjb3VudF91dGY4X3RvX3V0ZjE2KHMpLCBMJ1wwJyk7Ci0gICAgIHV0ZjE2c3RyaW5nOjp2YWx1ZV90eXBlKiBjb25zdCBkZXN0RGF0YSA9ICZkZXN0WzBdOwotICAgICBzaXplX3QgZGVzdEluZGV4ID0gMDsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLWZsb2F0LXRlc3RzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1Zjc0ZWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtZmxvYXQtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1EZXNjcmlwdGlvbjogbmV3IHRvb2xjaGFpbiBtaWdodCBoYXZlIGluY3JlYXNlZCB0aGUgZmxvYXQgcHJlY2lzaW9uCi1BdXRob3I6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c29mYm9yZ0BkZWJpYW4ub3JnPgotTGFzdC1VcGRhdGU6IDIwMTctMTAtMjgKLUZvcndhcmRlZDogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrL2lzc3Vlcy81NzYKLQotLS0tIGNhc2FibGFuY2EtMi4xMC4wLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3N0cmVhbXMvaXN0cmVhbV90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhLTIuMTAuMC9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvc3RyZWFtcy9pc3RyZWFtX3Rlc3RzLmNwcAotQEAgLTEzMDIsNyArMTMwMiw3IEBAIHZvaWQgY29tcGFyZV9mbG9hdChmbG9hdCBleHBlY3RlZCwgZmxvYXQKLSB7Ci0gICAgIGNvbXBhcmVfZmxvYXRpbmcoZXhwZWN0ZWQsIGFjdHVhbCwgRkxUX0VQU0lMT04pOwotIH0KLS0KLSsvKgotIFRFU1QoZXh0cmFjdF9mbG9hdGluZ19wb2ludCkKLSB7Ci0gICAgIHN0ZDo6c3RyaW5nIHRlc3Rfc3RyaW5nOwotQEAgLTEzNDksNyArMTM0OSw3IEBAIFRFU1QoZXh0cmFjdF9mbG9hdGluZ19wb2ludCkKLSAgICAgICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDEgLyBleHBlY3RlZCwgMSAvIGFjdHVhbCk7Ci0gICAgIH0gd2hpbGUgKCFzdGRfaXN0cmVhbS5lb2YoKSk7Ci0gfQotLQotKyovCi0gVEVTVChleHRyYWN0X2Zsb2F0aW5nX3BvaW50X3dpdGhfZXhjZXB0aW9ucykKLSB7Ci0gICAgIHN0ZDo6dmVjdG9yPHN0ZDo6cGFpcjxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+PiB0ZXN0czsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS1vdXRzaWRlLXRlc3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGZmMGQ5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9kaXNhYmxlLW91dHNpZGUtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDIgKzAsMCBAQAotRGVzY3JpcHRpb246IERlYmlhbiBmb3JiaWRzIGNhbGxzIHRvIGV4dGVybmFsIHdlYnNpdGVzLgotCi1BdXRob3I6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c0BkZWJpYW4ub3JnPgotT3JpZ2luOiBEZWJpYW4KLUZvcndhcmRlZDogbm90LW5lZWRlZAotUmV2aWV3ZWQtQnk6IEdpYW5mcmFuY28gQ29zdGFtYWduYSA8bG9jdXR1c29mYm9yZ0BkZWJpYW4ub3JnPgotTGFzdC1VcGRhdGU6IDIwMTUtMTEtMjUKLQotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L0NNYWtlTGlzdHMudHh0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9DTWFrZUxpc3RzLnR4dAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L0NNYWtlTGlzdHMudHh0Ci1AQCAtMTIsNyArMTIsNiBAQAotICAgbXVsdGlwbGVfcmVxdWVzdHMuY3BwCi0gICBvYXV0aDFfdGVzdHMuY3BwCi0gICBvYXV0aDJfdGVzdHMuY3BwCi0tICBvdXRzaWRlX3Rlc3RzLmNwcAotICAgcGlwZWxpbmVfc3RhZ2VfdGVzdHMuY3BwCi0gICBwcm9ncmVzc19oYW5kbGVyX3Rlc3RzLmNwcAotICAgcHJveHlfdGVzdHMuY3BwCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC02NjMsMTUgKzY2MywxOSBAQAotICAgICBWRVJJRllfQVJFX0VRVUFMKHJldHVybl9jb2RlLCByZXNwb25zZS5zdGF0dXNfY29kZSgpKTsKLSB9Ci0gCi0rLyoKLSBURVNUKGF1dGhfbm9fZGF0YSkKLSB7Ci0gICAgIGF1dGhfdGVzdF9pbXBsKGZhbHNlKTsKLSB9Ci0rKi8KLSAKLSsvKgotIFRFU1QodW5zdWNjZXNzZnVsX2F1dGhfd2l0aF9iYXNpY19jcmVkKQotIHsKLSAgICAgYXV0aF90ZXN0X2ltcGwodHJ1ZSk7Ci0gfQotKyovCi0gCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBzZXRfdXNlcl9vcHRpb25zX2FzaW9faHR0cCkKLSB7Ci1AQCAtNjkyLDcgKzY5Niw3IEBACi0gICAgIGF1dG8gcmVzcG9uc2UgPSBjbGllbnQucmVxdWVzdChtZXRob2RzOjpHRVQpLmdldCgpOwotICAgICBWRVJJRllfQVJFX0VRVUFMKDIwMCwgcmVzcG9uc2Uuc3RhdHVzX2NvZGUoKSk7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCBzZXRfdXNlcl9vcHRpb25zX2FzaW9faHR0cHMpCi0gewotICAgICBoYW5kbGVfdGltZW91dChbXQotQEAgLTcxNCw3ICs3MTgsNyBAQAotICAgICAgICAgVkVSSUZZX0lTX0ZBTFNFKHYuZW1wdHkoKSk7Ci0gICAgIH0pOwotIH0KLS0KLSsqLwotICNlbmRpZgotIAotIH0gLy8gU1VJVEUoYXV0aGVudGljYXRpb25fdGVzdHMpCi1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC04Niw3ICs4Niw3IEBACi0gICAgIH0KLSAgICAgcmV0dXJuIGZhbHNlOwotIH0KLS0KLSsvKgotIFRFU1Qoc3NsX3Rlc3QpCi0gewotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudDsKLUBAIC0xMjIsNyArMTIyLDcgQEAKLSAgICAgICAgIHRocm93OwotICAgICB9Ci0gfQotLQotKyovCi0gLy8gVGhlc2UgdGVzdHMgYXJlIHNwZWNpZmljIHRvIG91ciB3ZWJzb2NrZXRwcCBiYXNlZCBpbXBsZW1lbnRhdGlvbi4KLSAjaWYgIWRlZmluZWQoX19jcGx1c3BsdXNfd2lucnQpCi0gCi1AQCAtMTUzLDE0ICsxNTMsMTUgQEAKLSAgICAgICAgIHRocm93OwotICAgICB9Ci0gfQotLQotKy8qCi0gLy8gVGVzdCBzcGVjaWZpY2FsbHkgZm9yIHNlcnZlciBTaWduYWxSIHRlYW0gaGl0IGludGVyZXN0aW5nIGNhc2VzIHdpdGguCi0gVEVTVChzbmlfd2l0aF9vbGRlcl9zZXJ2ZXJfdGVzdCkKLSB7Ci0gICAgIHdlYnNvY2tldF9jbGllbnQgY2xpZW50OwotICAgICBzbmlfdGVzdF9pbXBsKGNsaWVudCk7Ci0gfQotLQotKyovCi0rLyoKLSAvLyBXaW5SVCBkb2Vzbid0IGV4cG9zZSBvcHRpb24gZm9yIGRpc2FibGluZy4KLSAvLyBObyBzdGFibGUgc2VydmVyIGlzIGF2YWlsYWJsZSB0byByZWxpYWJseSB0ZXN0IHRoaXMuCi0gLy8gVGhlIGNvbmZpZ3VyYXRpb24gYmVsb3cgcmVsaWVzIG9uIGEgdGltZW91dCBpbiB0aGUgc3VjY2VzcyBjYXNlLgotQEAgLTE4OCw3ICsxODksOCBAQAotICAgICAgICAgdGhyb3c7Ci0gICAgIH0KLSB9Ci0tCi0rKi8KLSsvKgotIC8vIFdpbnJ0IGRvZXNuJ3QgYWxsb3cgZXhwbGljaXRseSBzZXR0aW5nIHNlcnZlciBob3N0IGZvciBTTkkuCi0gVEVTVChzbmlfZXhwbGljaXRfaG9zdG5hbWUpCi0gewotQEAgLTE5OSw3ICsyMDEsNyBAQAotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudChjb25maWcpOwotICAgICBzbmlfdGVzdF9pbXBsKGNsaWVudCk7Ci0gfQotLQotKyovCi0gdm9pZCBoYW5kc2hha2VfZXJyb3JfdGVzdF9pbXBsKGNvbnN0IDo6dXRpbGl0eTo6c3RyaW5nX3QgJmhvc3QpCi0gewotICAgICB3ZWJzb2NrZXRfY2xpZW50IGNsaWVudDsKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNhc2FibGFuY2Eub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9jbGllbnQvY29ubmVjdGlvbnNfYW5kX2Vycm9ycy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotQEAgLTQxNSw2ICs0MTUsNyBAQAotIH0KLSAjZW5kaWYKLSAKLSsvKgotIC8vIFRyeSB0byBjb25uZWN0IHRvIGEgc2VydmVyIG9uIGEgY2xvc2VkIHBvcnQgYW5kIGNhbmNlbCB0aGUgb3BlcmF0aW9uLgotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgY2FuY2VsX2JhZF9wb3J0KQotIHsKLUBAIC00NDYsNyArNDQ3LDcgQEAKLSAKLSAgICAgVkVSSUZZX1RIUk9XU19IVFRQX0VSUk9SX0NPREUodC5nZXQoKSwgc3RkOjplcnJjOjpvcGVyYXRpb25fY2FuY2VsZWQpOwotIH0KLS0KLSsqLwotIH0gLy8gU1VJVEUoY29ubmVjdGlvbnNfYW5kX2Vycm9ycykKLSAKLSB9fX19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L2Rpc2FibGUtdGVzdC10aW1lb3V0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNjM2U4YS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvZGlzYWJsZS10ZXN0LXRpbWVvdXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLURlc2NyaXB0aW9uOiBTb21lIHRlc3RzIHRha2VzIHRvbyBsb25nIG9uIHNsb3cgYXJjaGl0ZWN0dXJlcyBhbmQgdGltZW91dHMKLSBXZSBjYW4gc2FmZWx5IGRpc2FibGUgdGhlbS4KLSBlLmcuCi0gUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwOjE0MjogZXJyb3I6IEZhaWx1cmUgaW4gcmVxdWVzdF90aW1lb3V0X21pY3Jvc2Vjb25kOiBUZXN0IGNhc2UgdGltZWQgb3V0IGFuZCBpcyBodW5nLiBBYm9ydGluZyBhbGwgcmVtYWluaW5nIHRlc3QgY2FzZXMuIEV4cGVjdGVkIHVuZGVyIDE4MDAwMG1zLiBGQUlMRUQKLQotSW5kZXg6IGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC9odHRwL2NsaWVudC9jb25uZWN0aW9uc19hbmRfZXJyb3JzLmNwcAotKysrIGNhc2FibGFuY2EvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvY2xpZW50L2Nvbm5lY3Rpb25zX2FuZF9lcnJvcnMuY3BwCi1AQCAtMTI3LDcgKzEyNyw3IEBACi0gICAgIC8vIFRyeSBzZW5kaW5nIGFub3RoZXIgcmVxdWVzdC4KLSAgICAgVkVSSUZZX1RIUk9XUyhjbGllbnQucmVxdWVzdChtZXRob2RzOjpHRVQpLndhaXQoKSwgd2ViOjpodHRwOjpodHRwX2V4Y2VwdGlvbik7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCByZXF1ZXN0X3RpbWVvdXQpCi0gewotICAgICB0ZXN0X2h0dHBfc2VydmVyOjpzY29wZWRfc2VydmVyIHNjb3BlZChtX3VyaSk7Ci1AQCAtMTQ2LDcgKzE0Niw4IEBACi0gI2VuZGlmCi0gICAgIHQuZ2V0KCk7Ci0gfQotLQotKyovCi0rLyoKLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHJlcXVlc3RfdGltZW91dF9taWNyb3NlY29uZCkKLSB7Ci0gICAgIHBwbHg6OnRhc2s8dGVzdF9yZXF1ZXN0Kj4gdDsKLUBAIC0xNjgsNyArMTY5LDcgQEAKLSAgICAgdHJ5IHsgdC5nZXQoKTsgfQotICAgICBjYXRjaCAoLi4uKSB7fQotIH0KLS0KLSsqLwotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgaW52YWxpZF9tZXRob2QpCi0gewotICAgICB3ZWI6Omh0dHA6OnVyaSB1cmkoVSgiaHR0cDovL3d3dy5iaW5nLmNvbS8iKSk7Ci1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9saXN0ZW5lci9yZXF1ZXN0c190ZXN0cy5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjYXNhYmxhbmNhLm9yaWcvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL2h0dHAvbGlzdGVuZXIvcmVxdWVzdHNfdGVzdHMuY3BwCi0rKysgY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvaHR0cC9saXN0ZW5lci9yZXF1ZXN0c190ZXN0cy5jcHAKLUBAIC0xNzMsNyArMTczLDcgQEAKLSAKLSAgICAgbGlzdGVuZXIuY2xvc2UoKS53YWl0KCk7Ci0gfQotLQotKy8qCi0gVEVTVF9GSVhUVVJFKHVyaV9hZGRyZXNzLCByZXNwb25zZV9vcmRlcikKLSB7Ci0gICAgIGh0dHBfbGlzdGVuZXIgbGlzdGVuZXIobV91cmkpOwotQEAgLTIxNyw3ICsyMTcsNyBAQAotIAotICAgICBsaXN0ZW5lci5jbG9zZSgpLndhaXQoKTsKLSB9Ci0tCi0rKi8KLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIHVyaV9lbmNvZGluZywgIklnbm9yZSIsICJDb2RlcGxleCAyMDEiKQotIHsKLSAgICAgaHR0cF9saXN0ZW5lciBsaXN0ZW5lcihtX3VyaSk7Ci1JbmRleDogY2FzYWJsYW5jYS9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvYXV0aGVudGljYXRpb25fdGVzdHMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2FzYWJsYW5jYS5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9hdXRoZW50aWNhdGlvbl90ZXN0cy5jcHAKLUBAIC0yMjEsNyArMjIxLDcgQEAKLSAgICAgICAgIFZFUklGWV9BUkVfRVFVQUwoIlRMUyBoYW5kc2hha2UgZmFpbGVkIiwgZS5lcnJvcl9jb2RlKCkubWVzc2FnZSgpKTsKLSAgICAgfQotIH0KLS0KLSsvKgotIFRFU1Qoc2VsZl9zaWduZWRfY2VydCkKLSB7Ci0gICAgIGhhbmRzaGFrZV9lcnJvcl90ZXN0X2ltcGwoVSgid3NzOi8vc2VsZi1zaWduZWQuYmFkc3NsLmNvbS8iKSk7Ci1AQCAtMjM2LDcgKzIzNiw3IEBACi0gewotICAgICBoYW5kc2hha2VfZXJyb3JfdGVzdF9pbXBsKFUoIndzczovL2V4cGlyZWQuYmFkc3NsLmNvbS8iKSk7Ci0gfQotLQotKyovCi0gI2VuZGlmCi0gCi0gfSAvLyBTVUlURShhdXRoZW50aWNhdGlvbl90ZXN0cykKLUluZGV4OiBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9jbGllbnRfY29uc3RydWN0aW9uLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNhc2FibGFuY2Eub3JpZy9SZWxlYXNlL3Rlc3RzL2Z1bmN0aW9uYWwvd2Vic29ja2V0cy9jbGllbnQvY2xpZW50X2NvbnN0cnVjdGlvbi5jcHAKLSsrKyBjYXNhYmxhbmNhL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC93ZWJzb2NrZXRzL2NsaWVudC9jbGllbnRfY29uc3RydWN0aW9uLmNwcAotQEAgLTgxLDcgKzgxLDcgQEAKLSAgICAgVkVSSUZZX0FSRV9FUVVBTChjb25maWcyLmNyZWRlbnRpYWxzKCkudXNlcm5hbWUoKSwgY3JlZC51c2VybmFtZSgpKTsKLSB9Ci0gCi0tCi0rLyoKLSAvLyBWZXJpZnkgdGhhdCB3ZSBjYW4gZ2V0IHRoZSBiYXNldXJpIGZyb20gd2Vic29ja2V0X2NsaWVudCBjb25uZWN0LgotIFRFU1RfRklYVFVSRSh1cmlfYWRkcmVzcywgdXJpX3Rlc3QpCi0gewotQEAgLTEwMSw3ICsxMDEsNyBAQAotICAgICBWRVJJRllfQVJFX0VRVUFMKGNsaWVudDIudXJpKCksIG1fdXJpKTsKLSAgICAgY2xpZW50Mi5jbG9zZSgpLndhaXQoKTsKLSB9Ci0tCi0rKi8KLSBURVNUX0ZJWFRVUkUodXJpX2FkZHJlc3MsIG1vdmVfb3BlcmF0aW9ucykKLSB7Ci0gICAgIHN0ZDo6c3RyaW5nIGJvZHkoImhlbGxvIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LTliNjcwZTViMzNkZmRiZDUwMWQ2MThjZDdlNzQ5ODE0OGZmYmQ1NTkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LTliNjcwZTViMzNkZmRiZDUwMWQ2MThjZDdlNzQ5ODE0OGZmYmQ1NTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFmMmNiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdC9yZXZlcnQtOWI2NzBlNWIzM2RmZGJkNTAxZDYxOGNkN2U3NDk4MTQ4ZmZiZDU1OS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitEZXNjcmlwdGlvbjogcmV2ZXJ0IHVwc3RyZWFtIGJ1Z2ZpeCAoc2VlOmh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9pc3N1ZXMvMTA5MCkKK0xhc3QtVXBkYXRlOiAyMDE5LTAzLTI4CisKKy0tLSBjcHByZXN0LTIuMTAuMTIub3JpZy9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS9zcmMvdXRpbGl0aWVzL2FzeW5jcnRfdXRpbHMuY3BwCitAQCAtMTM5MywxNiArMTM5MywxNSBAQCB1dGlsaXR5OjpzZWNvbmRzIF9fY2RlY2wgdGltZXNwYW46OnhtbF9kCisgICAgIHJldHVybiB1dGlsaXR5OjpzZWNvbmRzKG51bVNlY3MpOworIH0KKyAKKy1zdGF0aWMgY29uc3QgY2hhciBjX2FsbG93ZWRfY2hhcnNbXSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSI7Cistc3RhdGljIGNvbnN0IGludCBjaGFyc19jb3VudCA9IHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKGNfYWxsb3dlZF9jaGFycykgLSAxKTsKKytzdGF0aWMgY29uc3QgdXRpbGl0eTo6Y2hhcl90IGNfYWxsb3dlZF9jaGFyc1tdID0KKysgICAgX1hQTEFUU1RSKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIpOworIAorIHV0aWxpdHk6OnN0cmluZ190IG5vbmNlX2dlbmVyYXRvcjo6Z2VuZXJhdGUoKQorIHsKKy0gICAgc3RkOjp1bmlmb3JtX2ludF9kaXN0cmlidXRpb248PiBkaXN0cigwLCBjaGFyc19jb3VudCAtIDEpOworKyAgICBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpc3RyKDAsIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKGNfYWxsb3dlZF9jaGFycykgLyBzaXplb2YodXRpbGl0eTo6Y2hhcl90KSkgLSAxKTsKKyAgICAgdXRpbGl0eTo6c3RyaW5nX3QgcmVzdWx0OworICAgICByZXN1bHQucmVzZXJ2ZShsZW5ndGgoKSk7CistICAgIHN0ZDo6Z2VuZXJhdGVfbihzdGQ6OmJhY2tfaW5zZXJ0ZXIocmVzdWx0KSwgbGVuZ3RoKCksCistCQlbJl0geyByZXR1cm4gc3RhdGljX2Nhc3Q8dXRpbGl0eTo6Y2hhcl90PihjX2FsbG93ZWRfY2hhcnNbZGlzdHIobV9yYW5kb20pXSk7IH0pOworKyAgICBzdGQ6OmdlbmVyYXRlX24oc3RkOjpiYWNrX2luc2VydGVyKHJlc3VsdCksIGxlbmd0aCgpLCBbJl0oKSB7IHJldHVybiBjX2FsbG93ZWRfY2hhcnNbZGlzdHIobV9yYW5kb20pXTsgfSk7CisgICAgIHJldHVybiByZXN1bHQ7CisgfQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZTQ2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3QvcmV2ZXJ0LWYxMGQ5ZjhlMjE0NTE2ZDJjMTlhYTZlZjgzMWVlODc0YTU4YzA0NzkucGF0Y2gKQEAgLTAsMCArMSwxNTU3IEBACitEZXNjcmlwdGlvbjogcmV2ZXJ0IHVwc3RyZWFtIGJ1Z2ZpeCAoc2VlOmh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9pc3N1ZXMvMTA5MCkKK0xhc3QtVXBkYXRlOiAyMDE5LTAzLTI4CisKKy0tLSBjcHByZXN0LTIuMTAuMTIub3JpZy9SZWxlYXNlL2luY2x1ZGUvY3BwcmVzdC9hc3luY3J0X3V0aWxzLmgKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS9pbmNsdWRlL2NwcHJlc3QvYXN5bmNydF91dGlscy5oCitAQCAtNjMwLDYgKzYzMCwxNSBAQCBwcml2YXRlOgorICAgICBzdGF0aWMgY29uc3QgaW50ZXJ2YWxfdHlwZSBfaG91clRpY2tzID0gNjAgKiA2MCAqIF9zZWNvbmRUaWNrczsKKyAgICAgc3RhdGljIGNvbnN0IGludGVydmFsX3R5cGUgX2RheVRpY2tzID0gMjQgKiA2MCAqIDYwICogX3NlY29uZFRpY2tzOworIAorKyNpZmRlZiBfV0lOMzIKKysgICAgLy8gdm9pZCogdG8gYXZvaWQgcHVsbGluZyBpbiB3aW5kb3dzLmgKKysgICAgc3RhdGljIF9BU1lOQ1JUSU1QIGJvb2wgX19jZGVjbCBzeXN0ZW1fdHlwZV90b19kYXRldGltZSgvKlNZU1RFTVRJTUUqLyB2b2lkKiBwc3lzVGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzZWNvbmRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGV0aW1lKiBwZHQpOworKyNlbHNlCisrICAgIHN0YXRpYyBkYXRldGltZSB0aW1ldmFsX3RvX2RhdGV0aW1lKGNvbnN0IHRpbWV2YWwmIHRpbWUpOworKyNlbmRpZgorKworICAgICAvLyBQcml2YXRlIGNvbnN0cnVjdG9yLiBVc2Ugc3RhdGljIG1ldGhvZHMgdG8gY3JlYXRlIGFuIGluc3RhbmNlLgorICAgICBkYXRldGltZShpbnRlcnZhbF90eXBlIGludGVydmFsKSA6IG1faW50ZXJ2YWwoaW50ZXJ2YWwpIHt9CisgCitAQCAtNjkwLDYgKzY5OSw3IEBAIHB1YmxpYzoKKyAgICAgdm9pZCBzZXRfbGVuZ3RoKGludCBsZW5ndGgpIHsgbV9sZW5ndGggPSBsZW5ndGg7IH0KKyAKKyBwcml2YXRlOgorKyAgICBzdGF0aWMgY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QgY19hbGxvd2VkX2NoYXJzOworICAgICBzdGQ6Om10MTk5MzcgbV9yYW5kb207CisgICAgIGludCBtX2xlbmd0aDsKKyB9OworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2Uvc3JjL3BjaC9zdGRhZnguaAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3NyYy9wY2gvc3RkYWZ4LmgKK0BAIC02MSw2ICs2MSw3IEBACisgI3VuZGVmIEJPT1NUX05PX0NYWDExX05VTExQVFIKKyAjZW5kaWYKKyAjaW5jbHVkZSAiYm9vc3QvYmluZC9iaW5kLmhwcCIKKysjaW5jbHVkZSAiYm9vc3QvZGF0ZV90aW1lL3Bvc2l4X3RpbWUvcG9zaXhfdGltZV90eXBlcy5ocHAiCisgI2luY2x1ZGUgImJvb3N0L3RocmVhZC9jb25kaXRpb25fdmFyaWFibGUuaHBwIgorICNpbmNsdWRlICJib29zdC90aHJlYWQvbXV0ZXguaHBwIgorICNpbmNsdWRlIDxmY250bC5oPgorLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2Uvc3JjL3V0aWxpdGllcy9hc3luY3J0X3V0aWxzLmNwcAorKysrIGNwcHJlc3QtMi4xMC4xMi9SZWxlYXNlL3NyYy91dGlsaXRpZXMvYXN5bmNydF91dGlscy5jcHAKK0BAIC0xNSw5ICsxNSwyMCBAQAorIAorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGNwcHJlc3QvYXN5bmNydF91dGlscy5oPgorLSNpbmNsdWRlIDxzdGRleGNlcHQ+CisrI2luY2x1ZGUgPHNzdHJlYW0+CisgI2luY2x1ZGUgPHN0cmluZz4KKy0jaW5jbHVkZSA8dGltZS5oPgorKworKyNpZm5kZWYgX1dJTjMyCisrI2lmIGRlZmluZWQoX19jbGFuZ19fKQorKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XdW51c2VkLWxvY2FsLXR5cGVkZWYiCisrI2VuZGlmCisrI2luY2x1ZGUgPGJvb3N0L2RhdGVfdGltZS9wb3NpeF90aW1lL3Bvc2l4X3RpbWUuaHBwPgorKyNpbmNsdWRlIDxib29zdC9kYXRlX3RpbWUvcG9zaXhfdGltZS9wb3NpeF90aW1lX2lvLmhwcD4KKysjaWYgZGVmaW5lZChfX2NsYW5nX18pCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorKyNlbmRpZgorKyNlbmRpZgorIAorIHVzaW5nIG5hbWVzcGFjZSB3ZWI7CisgdXNpbmcgbmFtZXNwYWNlIHV0aWxpdHk7CitAQCAtNjE4LDcgKzYyOSwxOCBAQCBzdGQ6OnN0cmluZyBfX2NkZWNsIGNvbnZlcnNpb25zOjp0b191dGY4CisgCisgdXRmMTZzdHJpbmcgX19jZGVjbCBjb252ZXJzaW9uczo6dG9fdXRmMTZzdHJpbmcoY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlKSB7IHJldHVybiB1dGY4X3RvX3V0ZjE2KHZhbHVlKTsgfQorIAorLXN0YXRpYyBjb25zdCB1aW50NjRfdCBudFRvVW5peE9mZnNldFNlY29uZHMgPSAxMTY0NDQ3MzYwMFU7IC8vIGRpZmYgYmV0d2VlbiB3aW5kb3dzIGFuZCB1bml4IGVwb2NocyAoc2Vjb25kcykKKysjaWZuZGVmIFdJTjMyCisrZGF0ZXRpbWUgZGF0ZXRpbWU6OnRpbWV2YWxfdG9fZGF0ZXRpbWUoY29uc3QgdGltZXZhbCYgdGltZSkKKyt7CisrICAgIGNvbnN0IHVpbnQ2NF90IGVwb2NoX29mZnNldCA9IDExNjQ0NDczNjAwTEw7IC8vIGRpZmYgYmV0d2VlbiB3aW5kb3dzIGFuZCB1bml4IGVwb2NocyAoc2Vjb25kcykKKysgICAgdWludDY0X3QgcmVzdWx0ID0gZXBvY2hfb2Zmc2V0ICsgdGltZS50dl9zZWM7CisrICAgIHJlc3VsdCAqPSBfc2Vjb25kVGlja3M7ICAgICAgLy8gY29udmVydCB0byAxMGUtNworKyAgICByZXN1bHQgKz0gdGltZS50dl91c2VjICogMTA7IC8vIGNvbnZlcnQgYW5kIGFkZCBtaWNyb3NlY29uZHMsIDEwZS02IHRvIDEwZS03CisrICAgIHJldHVybiBkYXRldGltZShyZXN1bHQpOworK30KKysjZW5kaWYKKysKKytzdGF0aWMgYm9vbCBpc19kaWdpdCh1dGlsaXR5OjpjaGFyX3QgYykgeyByZXR1cm4gYyA+PSBfWFBMQVRTVFIoJzAnKSAmJiBjIDw9IF9YUExBVFNUUignOScpOyB9CisgCisgZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6dXRjX25vdygpCisgeworQEAgLTYzNCw2NDkgKzY1Niw0NTAgQEAgZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6dXRjX25vdygpCisgI2Vsc2UgLy8gTElOVVgKKyAgICAgc3RydWN0IHRpbWV2YWwgdGltZTsKKyAgICAgZ2V0dGltZW9mZGF5KCZ0aW1lLCBudWxscHRyKTsKKy0gICAgdWludDY0X3QgcmVzdWx0ID0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzICsgdGltZS50dl9zZWM7CistICAgIHJlc3VsdCAqPSBfc2Vjb25kVGlja3M7ICAgICAgLy8gY29udmVydCB0byAxMGUtNworLSAgICByZXN1bHQgKz0gdGltZS50dl91c2VjICogMTA7IC8vIGNvbnZlcnQgYW5kIGFkZCBtaWNyb3NlY29uZHMsIDEwZS02IHRvIDEwZS03CistICAgIHJldHVybiBkYXRldGltZShyZXN1bHQpOworKyAgICByZXR1cm4gdGltZXZhbF90b19kYXRldGltZSh0aW1lKTsKKyAjZW5kaWYKKyB9CisgCistc3RhdGljIGNvbnN0IGNoYXIgZGF5TmFtZXNbXSA9ICJTdW5cME1vblwwVHVlXDBXZWRcMFRodVwwRnJpXDBTYXQiOworLXN0YXRpYyBjb25zdCBjaGFyIG1vbnRoTmFtZXNbXSA9ICJKYW5cMEZlYlwwTWFyXDBBcHJcME1heVwwSnVuXDBKdWxcMEF1Z1wwU2VwXDBPY3RcME5vdlwwRGVjIjsKKy0KKyB1dGlsaXR5OjpzdHJpbmdfdCBkYXRldGltZTo6dG9fc3RyaW5nKGRhdGVfZm9ybWF0IGZvcm1hdCkgY29uc3QKKyB7CistICAgIGNvbnN0IHVpbnQ2NF90IGlucHV0ID0gbV9pbnRlcnZhbCAvIF9zZWNvbmRUaWNrczsgLy8gY29udmVydCB0byBzZWNvbmRzCistICAgIGNvbnN0IGludCBmcmFjX3NlYyA9IHN0YXRpY19jYXN0PGludD4obV9pbnRlcnZhbCAlIF9zZWNvbmRUaWNrcyk7CistICAgIGNvbnN0IHRpbWVfdCB0aW1lID0gc3RhdGljX2Nhc3Q8dGltZV90PihpbnB1dCAtIG50VG9Vbml4T2Zmc2V0U2Vjb25kcyk7CistICAgIHN0cnVjdCB0bSB0OworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICBpZiAoZ210aW1lX3MoJnQsICZ0aW1lKSAhPSAwKQorLSNlbHNlICAvLyBeXl4gX01TQ19WRVIgXl5eIC8vIHZ2diAhX01TQ19WRVIgdnZ2CistICAgIGlmIChnbXRpbWVfcigmdGltZSwgJnQpID09IDApCistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgIHsKKy0gICAgICAgIHRocm93IHN0ZDo6aW52YWxpZF9hcmd1bWVudCgiZ210aW1lX3IvcyBmYWlsZWQgb24gdGhlIHRpbWUgc3VwcGxpZWQiKTsKKy0gICAgfQorLQorLSAgICBjaGFyIG91dEJ1ZmZlclszOF07IC8vIFRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UXDAKKy0gICAgICAgICAgICAgICAgICAgICAgICAvLyAxOTcwLTAxLTAxVDAwOjAwOjAwLjEyMzQ1NjdaXDAKKy0gICAgY2hhciogb3V0Q3Vyc29yID0gb3V0QnVmZmVyOworLSAgICBzd2l0Y2ggKGZvcm1hdCkKKy0gICAgeworLSAgICAgICAgY2FzZSBSRkNfMTEyMzoKKy0jaWZkZWYgX01TQ19WRVIKKy0gICAgICAgICAgICBzcHJpbnRmX3Mob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgICAyNiwKKy0gICAgICAgICAgICAgICAgICAgICAgIiVzLCAlMDJkICVzICUwNGQgJTAyZDolMDJkOiUwMmQiLAorLSAgICAgICAgICAgICAgICAgICAgICBkYXlOYW1lcyArIDQgKiB0LnRtX3dkYXksCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fbWRheSwKKy0gICAgICAgICAgICAgICAgICAgICAgbW9udGhOYW1lcyArIDQgKiB0LnRtX21vbiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV95ZWFyICsgMTkwMCwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9ob3VyLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9zZWMpOworLSNlbHNlICAvLyBeXl4gX01TQ19WRVIgLy8gIV9NU0NfVkVSIHZ2dgorLSAgICAgICAgICAgIHNwcmludGYob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgIiVzLCAlMDJkICVzICUwNGQgJTAyZDolMDJkOiUwMmQiLAorLSAgICAgICAgICAgICAgICAgICAgZGF5TmFtZXMgKyA0ICogdC50bV93ZGF5LAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tZGF5LAorLSAgICAgICAgICAgICAgICAgICAgbW9udGhOYW1lcyArIDQgKiB0LnRtX21vbiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1feWVhciArIDE5MDAsCistICAgICAgICAgICAgICAgICAgICB0LnRtX2hvdXIsCistICAgICAgICAgICAgICAgICAgICB0LnRtX21pbiwKKy0gICAgICAgICAgICAgICAgICAgIHQudG1fc2VjKTsKKy0jZW5kaWYgLy8gX01TQ19WRVIKKy0gICAgICAgICAgICBvdXRDdXJzb3IgKz0gMjU7CistICAgICAgICAgICAgbWVtY3B5KG91dEN1cnNvciwgIiBHTVQiLCA0KTsKKy0gICAgICAgICAgICBvdXRDdXJzb3IgKz0gNDsKKy0gICAgICAgICAgICByZXR1cm4gdXRpbGl0eTo6c3RyaW5nX3Qob3V0QnVmZmVyLCBvdXRDdXJzb3IpOworLSAgICAgICAgY2FzZSBJU09fODYwMToKKy0jaWZkZWYgX01TQ19WRVIKKy0gICAgICAgICAgICBzcHJpbnRmX3Mob3V0Q3Vyc29yLAorLSAgICAgICAgICAgICAgICAgICAgICAyMCwKKy0gICAgICAgICAgICAgICAgICAgICAgIiUwNGQtJTAyZC0lMDJkVCUwMmQ6JTAyZDolMDJkIiwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV95ZWFyICsgMTkwMCwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9tb24gKyAxLAorLSAgICAgICAgICAgICAgICAgICAgICB0LnRtX21kYXksCistICAgICAgICAgICAgICAgICAgICAgIHQudG1faG91ciwKKy0gICAgICAgICAgICAgICAgICAgICAgdC50bV9taW4sCistICAgICAgICAgICAgICAgICAgICAgIHQudG1fc2VjKTsKKy0jZWxzZSAgLy8gXl5eIF9NU0NfVkVSIC8vICFfTVNDX1ZFUiB2dnYKKy0gICAgICAgICAgICBzcHJpbnRmKG91dEN1cnNvciwKKy0gICAgICAgICAgICAgICAgICAgICIlMDRkLSUwMmQtJTAyZFQlMDJkOiUwMmQ6JTAyZCIsCistICAgICAgICAgICAgICAgICAgICB0LnRtX3llYXIgKyAxOTAwLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tb24gKyAxLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9tZGF5LAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9ob3VyLAorLSAgICAgICAgICAgICAgICAgICAgdC50bV9taW4sCistICAgICAgICAgICAgICAgICAgICB0LnRtX3NlYyk7CistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgICAgICAgICAgb3V0Q3Vyc29yICs9IDE5OworLSAgICAgICAgICAgIGlmIChmcmFjX3NlYyAhPSAwKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgLy8gQXBwZW5kIGZyYWN0aW9uYWwgc2Vjb25kLCB3aGljaCBpcyBhIDctZGlnaXQgdmFsdWUgd2l0aCBubyB0cmFpbGluZyB6ZXJvcworLSAgICAgICAgICAgICAgICAvLyBUaGlzIHdheSwgJzEyMDAnIGJlY29tZXMgJzAwMDEyJworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICAgICAgICAgICAgICBzaXplX3QgYXBwZW5kZWQgPSBzcHJpbnRmX3Mob3V0Q3Vyc29yLCA5LCAiLiUwN2QiLCBmcmFjX3NlYyk7CistI2Vsc2UgIC8vIF5eXiBfTVNDX1ZFUiAvLyAhX01TQ19WRVIgdnZ2CistICAgICAgICAgICAgICAgIHNpemVfdCBhcHBlbmRlZCA9IHNwcmludGYob3V0Q3Vyc29yLCAiLiUwN2QiLCBmcmFjX3NlYyk7CistI2VuZGlmIC8vIF9NU0NfVkVSCistICAgICAgICAgICAgICAgIHdoaWxlIChvdXRDdXJzb3JbYXBwZW5kZWQgLSAxXSA9PSAnMCcpCistICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIC0tYXBwZW5kZWQ7IC8vIHRyaW0gdHJhaWxpbmcgemVyb3MKKy0gICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICBvdXRDdXJzb3IgKz0gYXBwZW5kZWQ7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICpvdXRDdXJzb3IgPSAnWic7CistICAgICAgICAgICAgKytvdXRDdXJzb3I7CistICAgICAgICAgICAgcmV0dXJuIHV0aWxpdHk6OnN0cmluZ190KG91dEJ1ZmZlciwgb3V0Q3Vyc29yKTsKKy0gICAgICAgIGRlZmF1bHQ6IHRocm93IHN0ZDo6aW52YWxpZF9hcmd1bWVudCgiVW5yZWNvZ25pemVkIGRhdGUgZm9ybWF0LiIpOworLSAgICB9CistfQorLQorLXRlbXBsYXRlPGNsYXNzIENoYXJUPgorLXN0YXRpYyBib29sIHN0cmluZ19zdGFydHNfd2l0aChjb25zdCBDaGFyVCogaGF5c3RhY2ssIGNvbnN0IGNoYXIqIG5lZWRsZSkKKy17CistICAgIHdoaWxlICgqbmVlZGxlKQorLSAgICB7CistICAgICAgICBpZiAoKmhheXN0YWNrICE9IHN0YXRpY19jYXN0PENoYXJUPigqbmVlZGxlKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICB9CistCistICAgICAgICArK2hheXN0YWNrOworLSAgICAgICAgKytuZWVkbGU7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIHRydWU7CistfQorLQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdChjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gOSkKKy0jZGVmaW5lIGFzY2lpX2lzZGlnaXQ2KGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSA2KQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDUoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDUpCistI2RlZmluZSBhc2NpaV9pc2RpZ2l0MyhjKSAoKHVuc2lnbmVkIGNoYXIpKCh1bnNpZ25lZCBjaGFyKShjKSAtICcwJykgPD0gMykKKy0jZGVmaW5lIGFzY2lpX2lzZGlnaXQyKGMpICgodW5zaWduZWQgY2hhcikoKHVuc2lnbmVkIGNoYXIpKGMpIC0gJzAnKSA8PSAyKQorLSNkZWZpbmUgYXNjaWlfaXNkaWdpdDEoYykgKCh1bnNpZ25lZCBjaGFyKSgodW5zaWduZWQgY2hhcikoYykgLSAnMCcpIDw9IDEpCistCistc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgbWF4X2RheXNfaW5fbW9udGhbMTJdID0geworLSAgICAzMSwgLy8gSmFuCistICAgIDAwLCAvLyBGZWIsIHNwZWNpYWwgaGFuZGxpbmcgZm9yIGxlYXAgeWVhcnMKKy0gICAgMzEsIC8vIE1hcgorLSAgICAzMCwgLy8gQXByCistICAgIDMxLCAvLyBNYXkKKy0gICAgMzAsIC8vIEp1bgorLSAgICAzMSwgLy8gSnVsCistICAgIDMxLCAvLyBBdWcKKy0gICAgMzAsIC8vIFNlcAorLSAgICAzMSwgLy8gT2N0CistICAgIDMwLCAvLyBOb3YKKy0gICAgMzEgIC8vIERlYworLX07CistCistc3RhdGljIGJvb2wgdmFsaWRhdGVfZGF5X21vbnRoKGludCBkYXksIGludCBtb250aCwgaW50IHllYXIpCisteworLSAgICBpbnQgbWF4RGF5c1RoaXNNb250aDsKKy0gICAgaWYgKG1vbnRoID09IDEpCistICAgIHsgLy8gRmViIG5lZWRzIGxlYXAgeWVhciB0ZXN0aW5nCistICAgICAgICBtYXhEYXlzVGhpc01vbnRoID0gMjggKyAoeWVhciAlIDQgPT0gMCAmJiAoeWVhciAlIDEwMCAhPSAwIHx8IHllYXIgJSA0MDAgPT0gMCkpOworLSAgICB9CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgbWF4RGF5c1RoaXNNb250aCA9IG1heF9kYXlzX2luX21vbnRoW21vbnRoXTsKKy0gICAgfQorLQorLSAgICByZXR1cm4gZGF5ID49IDEgJiYgZGF5IDw9IG1heERheXNUaGlzTW9udGg7CistfQorKyNpZmRlZiBfV0lOMzIKKysgICAgaW50IHN0YXR1czsKKyAKKy10ZW1wbGF0ZTxjbGFzcyBDaGFyVD4KKy1zdGF0aWMgaW50IGF0b2kyKGNvbnN0IENoYXJUKiBzdHIpCisteworLSAgICByZXR1cm4gKHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN0clswXSkgLSAnMCcpICogMTAgKyAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3RyWzFdKSAtICcwJyk7CistfQorKyAgICBVTEFSR0VfSU5URUdFUiBsYXJnZUludDsKKysgICAgbGFyZ2VJbnQuUXVhZFBhcnQgPSBtX2ludGVydmFsOworIAorLXN0YXRpYyBjb25zdCB0aW1lX3QgbWF4VGltZVQgPSBzaXplb2YodGltZV90KSA9PSA0ID8gKHRpbWVfdClJTlRfTUFYIDogKHRpbWVfdClMTE9OR19NQVg7CisrICAgIEZJTEVUSU1FIGZ0OworKyAgICBmdC5kd0hpZ2hEYXRlVGltZSA9IGxhcmdlSW50LkhpZ2hQYXJ0OworKyAgICBmdC5kd0xvd0RhdGVUaW1lID0gbGFyZ2VJbnQuTG93UGFydDsKKyAKKy1zdGF0aWMgdGltZV90IHRpbWV6b25lX2FkanVzdCh0aW1lX3QgcmVzdWx0LCB1bnNpZ25lZCBjaGFyIGNoU2lnbiwgaW50IGFkanVzdEhvdXJzLCBpbnQgYWRqdXN0TWludXRlcykKKy17CistICAgIGlmIChhZGp1c3RIb3VycyA+IDIzKQorKyAgICBTWVNURU1USU1FIHN5c3RlbVRpbWU7CisrICAgIGlmICghRmlsZVRpbWVUb1N5c3RlbVRpbWUoKGNvbnN0IEZJTEVUSU1FKikmZnQsICZzeXN0ZW1UaW1lKSkKKyAgICAgeworLSAgICAgICAgcmV0dXJuICh0aW1lX3QpLTE7CisrICAgICAgICB0aHJvdyB1dGlsaXR5OjpkZXRhaWxzOjpjcmVhdGVfc3lzdGVtX2Vycm9yKEdldExhc3RFcnJvcigpKTsKKyAgICAgfQorIAorLSAgICAvLyBhZGp1c3RNaW51dGVzID4gNTkgaXMgaW1wb3NzaWJsZSBkdWUgdG8gZGlnaXQgNSBjaGVjaworLSAgICBjb25zdCBpbnQgdHpBZGp1c3QgPSBhZGp1c3RNaW51dGVzICogNjAgKyBhZGp1c3RIb3VycyAqIDYwICogNjA7CistICAgIGlmIChjaFNpZ24gPT0gJy0nKQorKyAgICBzdGQ6OndzdHJpbmcgcmVzdWx0OworKyAgICBpZiAoZm9ybWF0ID09IFJGQ18xMTIzKQorICAgICB7CistICAgICAgICBpZiAobWF4VGltZVQgLSByZXN1bHQgPCB0ekFkanVzdCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gKHRpbWVfdCktMTsKKysgICAgICAgICAgICB3Y2hhcl90IGRhdGVTdHJbMThdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXREYXRlRm9ybWF0VygKKysgICAgICAgICAgICAgICAgTE9DQUxFX0lOVkFSSUFOVCwgMCwgJnN5c3RlbVRpbWUsIEwiZGRkJywnIGRkIE1NTSB5eXl5IiwgZGF0ZVN0ciwgc2l6ZW9mKGRhdGVTdHIpIC8gc2l6ZW9mKHdjaGFyX3QpKTsKKysjZWxzZQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldERhdGVGb3JtYXRFeChMT0NBTEVfTkFNRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMImRkZCcsJyBkZCBNTU0geXl5eSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihkYXRlU3RyKSAvIHNpemVvZih3Y2hhcl90KSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisrI2VuZGlmIC8vIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gMCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworKyAgICAgICAgICAgIH0KKysKKysgICAgICAgICAgICByZXN1bHQgKz0gZGF0ZVN0cjsKKysgICAgICAgICAgICByZXN1bHQgKz0gTCcgJzsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHJlc3VsdCArPSB0ekFkanVzdDsKKy0gICAgfQorLSAgICBlbHNlCistICAgIHsKKy0gICAgICAgIGlmICh0ekFkanVzdCA+IHJlc3VsdCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gKHRpbWVfdCktMTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHJlc3VsdCAtPSB0ekFkanVzdDsKKy0gICAgfQorLQorLSAgICByZXR1cm4gcmVzdWx0OworLX0KKy0KKy1zdGF0aWMgdGltZV90IG1ha2VfZ21fdGltZShzdHJ1Y3QgdG0qIHQpCisteworLSNpZmRlZiBfTVNDX1ZFUgorLSAgICByZXR1cm4gX21rZ210aW1lKHQpOworLSNlbGlmIChkZWZpbmVkKEFORFJPSUQpIHx8IGRlZmluZWQoX19BTkRST0lEX18pKQorLSAgICAvLyBIQUNLOiBUaGUgKG5vbnBvcnRhYmxlPykgUE9TSVggZnVuY3Rpb24gdGltZWdtIGlzIG5vdCBhdmFpbGFibGUgaW4KKy0gICAgLy8gICAgICAgYmlvbmljLiBBcyBhIHdvcmthcm91bmRbMV1bMl0sIHdlIHNldCB0aGUgQyBsaWJyYXJ5IHRpbWV6b25lIHRvCistICAgIC8vICAgICAgIFVUQywgY2FsbCBta3RpbWUsIHRoZW4gc2V0IHRoZSB0aW1lem9uZSBiYWNrLiBIb3dldmVyLCB0aGUgQworLSAgICAvLyAgICAgICBlbnZpcm9ubWVudCBpcyBmdW5kYW1lbnRhbGx5IGEgc2hhcmVkIGdsb2JhbCByZXNvdXJjZSBhbmQgdGhyZWFkLQorLSAgICAvLyAgICAgICB1bnNhZmUuIFdlIGNhbiBwcm90ZWN0IG91ciB1c2FnZSBoZXJlLCBob3dldmVyIGFueSBvdGhlciBjb2RlIG1pZ2h0CistICAgIC8vICAgICAgIG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50IGF0IHRoZSBzYW1lIHRpbWUuCistICAgIC8vCistICAgIC8vIFsxXSBodHRwOi8vbGludXguZGllLm5ldC9tYW4vMy90aW1lZ20KKy0gICAgLy8gWzJdIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL21hbnVhbC9odG1sX25vZGUvQnJva2VuXzAwMmRkb3duLVRpbWUuaHRtbAorLSAgICB0aW1lX3QgdGltZTsKKy0gICAgc3RhdGljIGJvb3N0OjptdXRleCBlbnZfdmFyX2xvY2s7CistICAgIHsKKy0gICAgICAgIGJvb3N0Ojpsb2NrX2d1YXJkPGJvb3N0OjptdXRleD4gbG9jayhlbnZfdmFyX2xvY2spOworLSAgICAgICAgc3RkOjpzdHJpbmcgcHJldl9lbnY7CistICAgICAgICBhdXRvIHByZXZfZW52X2NzdHIgPSBnZXRlbnYoIlRaIik7CistICAgICAgICBpZiAocHJldl9lbnZfY3N0ciAhPSBudWxscHRyKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHByZXZfZW52ID0gcHJldl9lbnZfY3N0cjsKKy0gICAgICAgIH0KKy0gICAgICAgIHNldGVudigiVFoiLCAiVVRDIiwgMSk7CistCistICAgICAgICB0aW1lID0gbWt0aW1lKHQpOworKyAgICAgICAgICAgIHdjaGFyX3QgdGltZVN0clsxMF0gPSB7MH07CisrI2lmIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIHN0YXR1cyA9IEdldFRpbWVGb3JtYXRXKExPQ0FMRV9JTlZBUklBTlQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElNRV9OT1RJTUVNQVJLRVIgfCBUSU1FX0ZPUkNFMjRIT1VSRk9STUFULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwiSEgnOidtbSc6J3NzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lU3RyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0aW1lU3RyKSAvIHNpemVvZih3Y2hhcl90KSk7CisrI2Vsc2UKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0RXgoTE9DQUxFX05BTUVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1FX05PVElNRU1BUktFUiB8IFRJTUVfRk9SQ0UyNEhPVVJGT1JNQVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0aW1lU3RyKSAvIHNpemVvZih3Y2hhcl90KSk7CisrI2VuZGlmIC8vIF9XSU4zMl9XSU5OVCA8IF9XSU4zMl9XSU5OVF9WSVNUQQorKyAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gMCkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworKyAgICAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmIChwcmV2X2Vudl9jc3RyKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHNldGVudigiVFoiLCBwcmV2X2Vudi5jX3N0cigpLCAxKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB1bnNldGVudigiVFoiKTsKKysgICAgICAgICAgICByZXN1bHQgKz0gdGltZVN0cjsKKysgICAgICAgICAgICByZXN1bHQgKz0gTCIgR01UIjsKKyAgICAgICAgIH0KKyAgICAgfQorLSAgICByZXR1cm4gdGltZTsKKy0jZWxzZSAgLy8gXl5eIEFORFJPSUQgLy8gT3RoZXIgUE9TSVggcGxhdGZvcm1zIHZ2dgorLSAgICByZXR1cm4gdGltZWdtKHQpOworLSNlbmRpZiAvLyBfTVNDX1ZFUgorLX0KKy0KKy0vKgorLWh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MjIKKy1odHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMTEyMworLQorLWRhdGUtdGltZSAgID0gIFsgZGF5ICIsIiBdIGRhdGUgdGltZSAgICAgICAgOyBkZCBtbSB5eQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgaGg6bW06c3Mgenp6CistCistZGF5ICAgICAgICAgPSAgIk1vbiIgIC8gIlR1ZSIgLyAgIldlZCIgIC8gIlRodSIKKy0gICAgICAgICAgICAvICAiRnJpIiAgLyAiU2F0IiAvICAiU3VuIgorLQorLWRhdGUgICAgICAgID0gIDEqMkRJR0lUIG1vbnRoIDJESUdJVCAgICAgICAgOyBkYXkgbW9udGggeWVhcgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgZS5nLiAyMCBKdW4gODIKKy1SRkMxMTIzIGNoYW5nZXMgdGhpcyB0bzoKKy1kYXRlICAgICAgICA9ICAxKjJESUdJVCBtb250aCAyKjRESUdJVCAgICAgICAgOyBkYXkgbW9udGggeWVhcgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBlLmcuIDIwIEp1biAxOTgyCistVGhpcyBpbXBsZW1lbnRhdGlvbiBvbmx5IGFjY2VwdHMgNCBkaWdpdCB5ZWFycy4KKy0KKy1tb250aCAgICAgICA9ICAiSmFuIiAgLyAgIkZlYiIgLyAgIk1hciIgIC8gICJBcHIiCistICAgICAgICAgICAgLyAgIk1heSIgIC8gICJKdW4iIC8gICJKdWwiICAvICAiQXVnIgorLSAgICAgICAgICAgIC8gICJTZXAiICAvICAiT2N0IiAvICAiTm92IiAgLyAgIkRlYyIKKy0KKy10aW1lICAgICAgICA9ICBob3VyIHpvbmUgICAgICAgICAgICAgICAgICAgIDsgQU5TSSBhbmQgTWlsaXRhcnkKKy0KKy1ob3VyICAgICAgICA9ICAyRElHSVQgIjoiIDJESUdJVCBbIjoiIDJESUdJVF0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgMDA6MDA6MDAgLSAyMzo1OTo1OQorLQorLXpvbmUgICAgICAgID0gICJVVCIgIC8gIkdNVCIgICAgICAgICAgICAgICAgOyBVbml2ZXJzYWwgVGltZQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBOb3J0aCBBbWVyaWNhbiA6IFVUCistICAgICAgICAgICAgLyAgIkVTVCIgLyAiRURUIiAgICAgICAgICAgICAgICA7ICBFYXN0ZXJuOiAgLSA1LyAtIDQKKy0gICAgICAgICAgICAvICAiQ1NUIiAvICJDRFQiICAgICAgICAgICAgICAgIDsgIENlbnRyYWw6ICAtIDYvIC0gNQorLSAgICAgICAgICAgIC8gICJNU1QiIC8gIk1EVCIgICAgICAgICAgICAgICAgOyAgTW91bnRhaW46IC0gNy8gLSA2CistICAgICAgICAgICAgLyAgIlBTVCIgLyAiUERUIiAgICAgICAgICAgICAgICA7ICBQYWNpZmljOiAgLSA4LyAtIDcKKy0KKy0vLyBtaWxpdGFyeSB0aW1lIGRlbGV0ZWQgYnkgUkZDIDExMjMKKy0KKy0gICAgICAgICAgICAvICggKCIrIiAvICItIikgNERJR0lUICkgICAgICAgIDsgTG9jYWwgZGlmZmVyZW50aWFsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICBob3VycyttaW4uIChISE1NKQorLSovCistCistCistZGF0ZXRpbWUgX19jZGVjbCBkYXRldGltZTo6ZnJvbV9zdHJpbmcoY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QmIGRhdGVTdHJpbmcsIGRhdGVfZm9ybWF0IGZvcm1hdCkKKy17CistICAgIGRhdGV0aW1lIHJlc3VsdDsKKy0gICAgdGltZV90IHNlY29uZHM7CistICAgIHVpbnQ2NF90IGZyYWNfc2VjID0gMDsKKy0gICAgc3RydWN0IHRtIHR7fTsKKy0gICAgYXV0byBzdHIgPSBkYXRlU3RyaW5nLmNfc3RyKCk7CistICAgIGlmIChmb3JtYXQgPT0gUkZDXzExMjMpCisrICAgIGVsc2UgaWYgKGZvcm1hdCA9PSBJU09fODYwMSkKKyAgICAgeworLSAgICAgICAgaW50IHBhcnNlZFdlZWtkYXkgPSAtMTsKKy0gICAgICAgIGZvciAoaW50IGRheSA9IDA7IGRheSA8IDc7ICsrZGF5KQorKyAgICAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZTaXplID0gNjQ7CisgICAgICAgICB7CistICAgICAgICAgICAgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsIGRheU5hbWVzICsgZGF5ICogNCkgJiYgc3RyWzNdID09IF9YUExBVFNUUignLCcpICYmIHN0cls0XSA9PSBfWFBMQVRTVFIoJyAnKSkKKysgICAgICAgICAgICB3Y2hhcl90IGRhdGVTdHJbYnVmZlNpemVdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXREYXRlRm9ybWF0VyhMT0NBTEVfSU5WQVJJQU5ULCAwLCAmc3lzdGVtVGltZSwgTCJ5eXl5LU1NLWRkIiwgZGF0ZVN0ciwgYnVmZlNpemUpOworKyNlbHNlCisrICAgICAgICAgICAgc3RhdHVzID0gR2V0RGF0ZUZvcm1hdEV4KExPQ0FMRV9OQU1FX0lOVkFSSUFOVCwgMCwgJnN5c3RlbVRpbWUsIEwieXl5eS1NTS1kZCIsIGRhdGVTdHIsIGJ1ZmZTaXplLCBOVUxMKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcGFyc2VkV2Vla2RheSA9IGRheTsKKy0gICAgICAgICAgICAgICAgc3RyICs9IDU7IC8vIHBhcnNlZCBkYXkgb2Ygd2VlaworLSAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgdGhyb3cgdXRpbGl0eTo6ZGV0YWlsczo6Y3JlYXRlX3N5c3RlbV9lcnJvcihHZXRMYXN0RXJyb3IoKSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorIAorLSAgICAgICAgaWYgKGFzY2lpX2lzZGlnaXQzKHN0clswXSkgJiYgYXNjaWlfaXNkaWdpdChzdHJbMV0pICYmIHN0clsyXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX21kYXkgPSBhdG9pMihzdHIpOyAvLyB2YWxpZGl0eSBjaGVja2VkIGxhdGVyCistICAgICAgICAgICAgc3RyICs9IDM7ICAgICAgICAgICAgICAgLy8gcGFyc2VkIGRheQorLSAgICAgICAgfQorLSAgICAgICAgZWxzZSBpZiAoYXNjaWlfaXNkaWdpdChzdHJbMF0pICYmIHN0clsxXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX21kYXkgPSBzdHJbMF0gLSBfWFBMQVRTVFIoJzAnKTsKKy0gICAgICAgICAgICBzdHIgKz0gMjsgLy8gcGFyc2VkIGRheQorLSAgICAgICAgfQorLSAgICAgICAgZWxzZQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ICs9IGRhdGVTdHI7CisrICAgICAgICAgICAgcmVzdWx0ICs9IEwnVCc7CisgICAgICAgICB9CisgCistICAgICAgICB0LnRtX21vbiA9IC0xOworLSAgICAgICAgZm9yIChpbnQgbW9udGggPSAwOyBtb250aCA8IDEyOyArK21vbnRoKQorICAgICAgICAgeworLSAgICAgICAgICAgIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCBtb250aE5hbWVzICsgbW9udGggKiA0KSkKKysgICAgICAgICAgICB3Y2hhcl90IHRpbWVTdHJbYnVmZlNpemVdID0gezB9OworKyNpZiBfV0lOMzJfV0lOTlQgPCBfV0lOMzJfV0lOTlRfVklTVEEKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0VyhMT0NBTEVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTUVfTk9USU1FTUFSS0VSIHwgVElNRV9GT1JDRTI0SE9VUkZPUk1BVCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzdGVtVGltZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZVN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmU2l6ZSk7CisrI2Vsc2UKKysgICAgICAgICAgICBzdGF0dXMgPSBHZXRUaW1lRm9ybWF0RXgoTE9DQUxFX05BTUVfSU5WQVJJQU5ULAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSU1FX05PVElNRU1BUktFUiB8IFRJTUVfRk9SQ0UyNEhPVVJGT1JNQVQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXN0ZW1UaW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMIkhIJzonbW0nOidzcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVTdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZTaXplKTsKKysjZW5kaWYgLy8gX1dJTjMyX1dJTk5UIDwgX1dJTjMyX1dJTk5UX1ZJU1RBCisrICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdC50bV9tb24gPSBtb250aDsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgIHRocm93IHV0aWxpdHk6OmRldGFpbHM6OmNyZWF0ZV9zeXN0ZW1fZXJyb3IoR2V0TGFzdEVycm9yKCkpOworICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKyAKKy0gICAgICAgIGlmICh0LnRtX21vbiA9PSAtMSB8fCBzdHJbM10gIT0gX1hQTEFUU1RSKCcgJykpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICByZXN1bHQgKz0gdGltZVN0cjsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIHN0ciArPSA0OyAvLyBwYXJzZWQgbW9udGgKKy0KKy0gICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDMoc3RyWzBdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMV0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsyXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzNdKSB8fAorLSAgICAgICAgICAgIHN0cls0XSAhPSAnICcpCisrICAgICAgICB1aW50NjRfdCBmcmFjX3NlYyA9IGxhcmdlSW50LlF1YWRQYXJ0ICUgX3NlY29uZFRpY2tzOworKyAgICAgICAgaWYgKGZyYWNfc2VjID4gMCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIC8vIEFwcGVuZCBmcmFjdGlvbmFsIHNlY29uZCwgd2hpY2ggaXMgYSA3LWRpZ2l0IHZhbHVlIHdpdGggbm8gdHJhaWxpbmcgemVyb3MKKysgICAgICAgICAgICAvLyBUaGlzIHdheSwgJzEyMDAnIGJlY29tZXMgJzAwMDEyJworKyAgICAgICAgICAgIHdjaGFyX3QgYnVmWzldID0gezB9OworKyAgICAgICAgICAgIHNpemVfdCBhcHBlbmRlZCA9IHN3cHJpbnRmX3MoYnVmLCA5LCBMIi4lMDdsZCIsIHN0YXRpY19jYXN0PGxvbmc+KGZyYWNfc2VjKSk7CisrICAgICAgICAgICAgd2hpbGUgKGJ1ZlthcHBlbmRlZCAtIDFdID09IEwnMCcpCisrICAgICAgICAgICAgICAgIC0tYXBwZW5kZWQ7IC8vIHRyaW0gdHJhaWxpbmcgemVyb3MKKysgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGJ1ZiwgYXBwZW5kZWQpOworICAgICAgICAgfQorIAorLSAgICAgICAgdC50bV95ZWFyID0gKHN0clswXSAtIF9YUExBVFNUUignMCcpKSAqIDEwMDAgKyAoc3RyWzFdIC0gX1hQTEFUU1RSKCcwJykpICogMTAwICsKKy0gICAgICAgICAgICAgICAgICAgIChzdHJbMl0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMCArIChzdHJbM10gLSBfWFBMQVRTVFIoJzAnKSk7CistICAgICAgICBpZiAodC50bV95ZWFyIDwgMTk3MCB8fCB0LnRtX3llYXIgPiAzMDAwKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrICAgICAgICByZXN1bHQgKz0gTCdaJzsKKysgICAgfQorIAorLSAgICAgICAgLy8gZGF5cyBpbiBtb250aCB2YWxpZGl0eSBjaGVjaworLSAgICAgICAgaWYgKCF2YWxpZGF0ZV9kYXlfbW9udGgodC50bV9tZGF5LCB0LnRtX21vbiwgdC50bV95ZWFyKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICByZXR1cm4gcmVzdWx0OworKyNlbHNlIC8vIExJTlVYCisrICAgIHVpbnQ2NF90IGlucHV0ID0gbV9pbnRlcnZhbDsKKysgICAgdWludDY0X3QgZnJhY19zZWMgPSBpbnB1dCAlIF9zZWNvbmRUaWNrczsKKysgICAgaW5wdXQgLz0gX3NlY29uZFRpY2tzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb252ZXJ0IHRvIHNlY29uZHMKKysgICAgdGltZV90IHRpbWUgPSAodGltZV90KWlucHV0IC0gKHRpbWVfdCkxMTY0NDQ3MzYwMExMOyAvLyBkaWZmIGJldHdlZW4gd2luZG93cyBhbmQgdW5peCBlcG9jaHMgKHNlY29uZHMpCisrCisrICAgIHN0cnVjdCB0bSBkYXRldGltZTsKKysgICAgZ210aW1lX3IoJnRpbWUsICZkYXRldGltZSk7CisrCisrICAgIGNvbnN0IGludCBtYXhfZHRfbGVuZ3RoID0gNjQ7CisrICAgIGNoYXIgb3V0cHV0W21heF9kdF9sZW5ndGggKyAxXSA9IHswfTsKKysKKysgICAgaWYgKGZvcm1hdCAhPSBSRkNfMTEyMyAmJiBmcmFjX3NlYyA+IDApCisrICAgIHsKKysgICAgICAgIC8vIEFwcGVuZCBmcmFjdGlvbmFsIHNlY29uZCwgd2hpY2ggaXMgYSA3LWRpZ2l0IHZhbHVlIHdpdGggbm8gdHJhaWxpbmcgemVyb3MKKysgICAgICAgIC8vIFRoaXMgd2F5LCAnMTIwMCcgYmVjb21lcyAnMDAwMTInCisrICAgICAgICBjb25zdCBpbnQgbWF4X2ZyYWNfbGVuZ3RoID0gODsKKysgICAgICAgIGNoYXIgYnVmW21heF9mcmFjX2xlbmd0aCArIDFdID0gezB9OworKyAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIi4lMDdsZCIsIChsb25nIGludClmcmFjX3NlYyk7CisrICAgICAgICAvLyB0cmltIHRyYWlsaW5nIHplcm9zCisrICAgICAgICBmb3IgKGludCBpID0gbWF4X2ZyYWNfbGVuZ3RoIC0gMTsgYnVmW2ldID09ICcwJzsgaS0tKQorKyAgICAgICAgICAgIGJ1ZltpXSA9ICdcMCc7CisrICAgICAgICAvLyBmb3JtYXQgdGhlIGRhdGV0aW1lIGludG8gYSBzZXBhcmF0ZSBidWZmZXIKKysgICAgICAgIGNoYXIgZGF0ZXRpbWVfc3RyW21heF9kdF9sZW5ndGggLSBtYXhfZnJhY19sZW5ndGggLSAxICsgMV0gPSB7MH07CisrICAgICAgICBzdHJmdGltZShkYXRldGltZV9zdHIsIHNpemVvZihkYXRldGltZV9zdHIpLCAiJVktJW0tJWRUJUg6JU06JVMiLCAmZGF0ZXRpbWUpOworKyAgICAgICAgLy8gbm93IHByaW50IHRoaXMgYnVmZmVyIGludG8gdGhlIG91dHB1dCBidWZmZXIKKysgICAgICAgIHNucHJpbnRmKG91dHB1dCwgc2l6ZW9mKG91dHB1dCksICIlcyVzWiIsIGRhdGV0aW1lX3N0ciwgYnVmKTsKKysgICAgfQorKyAgICBlbHNlCisrICAgIHsKKysgICAgICAgIHN0cmZ0aW1lKAorKyAgICAgICAgICAgIG91dHB1dCwgc2l6ZW9mKG91dHB1dCksIGZvcm1hdCA9PSBSRkNfMTEyMyA/ICIlYSwgJWQgJWIgJVkgJUg6JU06JVMgR01UIiA6ICIlWS0lbS0lZFQlSDolTTolU1oiLCAmZGF0ZXRpbWUpOworKyAgICB9CisgCistICAgICAgICB0LnRtX3llYXIgLT0gMTkwMDsKKy0gICAgICAgIHN0ciArPSA1OyAvLyBwYXJzZWQgeWVhcgorKyAgICByZXR1cm4gc3RkOjpzdHJpbmcob3V0cHV0KTsKKysjZW5kaWYKKyt9CisgCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQyKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSB8fCBzdHJbMl0gIT0gX1hQTEFUU1RSKCc6JykgfHwgIWFzY2lpX2lzZGlnaXQ1KHN0clszXSkgfHwKKy0gICAgICAgICAgICAhYXNjaWlfaXNkaWdpdChzdHJbNF0pKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrI2lmZGVmIF9XSU4zMgorK2Jvb2wgX19jZGVjbCBkYXRldGltZTo6c3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUodm9pZCogcHZzeXNUaW1lLCB1aW50NjRfdCBzZWNvbmRzLCBkYXRldGltZSogcGR0KQorK3sKKysgICAgU1lTVEVNVElNRSogcHN5c1RpbWUgPSAoU1lTVEVNVElNRSopcHZzeXNUaW1lOworKyAgICBGSUxFVElNRSBmaWxlVGltZTsKKyAKKy0gICAgICAgIHQudG1faG91ciA9IGF0b2kyKHN0cik7CistICAgICAgICBpZiAodC50bV9ob3VyID4gMjMpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgaWYgKFN5c3RlbVRpbWVUb0ZpbGVUaW1lKHBzeXNUaW1lLCAmZmlsZVRpbWUpKQorKyAgICB7CisrICAgICAgICBVTEFSR0VfSU5URUdFUiBsYXJnZUludDsKKysgICAgICAgIGxhcmdlSW50Lkxvd1BhcnQgPSBmaWxlVGltZS5kd0xvd0RhdGVUaW1lOworKyAgICAgICAgbGFyZ2VJbnQuSGlnaFBhcnQgPSBmaWxlVGltZS5kd0hpZ2hEYXRlVGltZTsKKyAKKy0gICAgICAgIHN0ciArPSAzOyAvLyBwYXJzZWQgaG91cgorLSAgICAgICAgdC50bV9taW4gPSBhdG9pMihzdHIpOworLSAgICAgICAgc3RyICs9IDI7IC8vIHBhcnNlZCBtaW5zCisrICAgICAgICAvLyBBZGQgaHVuZHJlZHRocyBvZiBuYW5vc2Vjb25kcworKyAgICAgICAgbGFyZ2VJbnQuUXVhZFBhcnQgKz0gc2Vjb25kczsKKyAKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gJzonKQorLSAgICAgICAgeworLSAgICAgICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDYoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8IHN0clszXSAhPSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICAgICAgfQorKyAgICAgICAgKnBkdCA9IGRhdGV0aW1lKGxhcmdlSW50LlF1YWRQYXJ0KTsKKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICB9CisrICAgIHJldHVybiBmYWxzZTsKKyt9CisrI2VuZGlmCisgCistICAgICAgICAgICAgdC50bV9zZWMgPSBhdG9pMihzdHIgKyAxKTsKKy0gICAgICAgICAgICBzdHIgKz0gNDsgLy8gcGFyc2VkIHNlY29uZHMKKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJyAnKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICB0LnRtX3NlYyA9IDA7CistICAgICAgICAgICAgc3RyICs9IDE7IC8vIHBhcnNlZCBzZWNvbmRzCistICAgICAgICB9CistICAgICAgICBlbHNlCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysvLyBUYWtlIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIGZyYWN0aW9uYWwgc2Vjb25kIGFuZCByZXR1cm4gdGhlIG51bWJlciBvZiB0aWNrcworKy8vIFRoaXMgaXMgZXF1aXZhbGVudCB0byBkb2luZyBhdG9mIG9uIHRoZSBzdHJpbmcgYW5kIG11bHRpcGx5aW5nIGJ5IDEwMDAwMDAwLAorKy8vIGJ1dCBkb2VzIG5vdCBsb3NlIHByZWNpc2lvbgorK3RlbXBsYXRlPHR5cGVuYW1lIFN0cmluZ0l0ZXJhdG9yPgorK3VpbnQ2NF90IHRpbWV0aWNrc19mcm9tX3NlY29uZChTdHJpbmdJdGVyYXRvciBiZWdpbiwgU3RyaW5nSXRlcmF0b3IgZW5kKQorK3sKKysgICAgaW50IHNpemUgPSAoaW50KShlbmQgLSBiZWdpbik7CisrICAgIF9BU1NFUlRFKGJlZ2luWzBdID09IFUoJy4nKSk7CisrICAgIHVpbnQ2NF90IHVmcmFjX3NlY29uZCA9IDA7CisrICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IDc7ICsraSkKKysgICAgeworKyAgICAgICAgdWZyYWNfc2Vjb25kICo9IDEwOworKyAgICAgICAgaW50IGFkZCA9IGkgPCBzaXplID8gYmVnaW5baV0gLSBVKCcwJykgOiAwOworKyAgICAgICAgdWZyYWNfc2Vjb25kICs9IGFkZDsKKysgICAgfQorKyAgICByZXR1cm4gdWZyYWNfc2Vjb25kOworK30KKysKKyt2b2lkIGV4dHJhY3RfZnJhY3Rpb25hbF9zZWNvbmQoY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QmIGRhdGVTdHJpbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpdHk6OnN0cmluZ190JiByZXN1bHRTdHJpbmcsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90JiB1ZnJhY19zZWNvbmQpCisreworKyAgICByZXN1bHRTdHJpbmcgPSBkYXRlU3RyaW5nOworKyAgICAvLyBGaXJzdCwgdGhlIHN0cmluZyBtdXN0IGJlIHN0cmljdGx5IGxvbmdlciB0aGFuIDIgY2hhcmFjdGVycywgYW5kIHRoZSB0cmFpbGluZyBjaGFyYWN0ZXIgbXVzdCBiZSAnWicKKysgICAgaWYgKHJlc3VsdFN0cmluZy5zaXplKCkgPiAyICYmIHJlc3VsdFN0cmluZ1tyZXN1bHRTdHJpbmcuc2l6ZSgpIC0gMV0gPT0gVSgnWicpKQorKyAgICB7CisrICAgICAgICAvLyBTZWNvbmQsIGZpbmQgdGhlIGxhc3Qgbm9uLWRpZ2l0IGJ5IHNjYW5uaW5nIHRoZSBzdHJpbmcgYmFja3dhcmRzCisrICAgICAgICBhdXRvIGxhc3Rfbm9uX2RpZ2l0ID0gc3RkOjpmaW5kX2lmX25vdChyZXN1bHRTdHJpbmcucmJlZ2luKCkgKyAxLCByZXN1bHRTdHJpbmcucmVuZCgpLCBpc19kaWdpdCk7CisrICAgICAgICBpZiAobGFzdF9ub25fZGlnaXQgPCByZXN1bHRTdHJpbmcucmVuZCgpIC0gMSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAvLyBGaW5hbGx5LCBtYWtlIHN1cmUgdGhlIGxhc3Qgbm9uLWRpZ2l0IGlzIGEgZG90OgorKyAgICAgICAgICAgIGF1dG8gbGFzdF9kb3QgPSBsYXN0X25vbl9kaWdpdC5iYXNlKCkgLSAxOworKyAgICAgICAgICAgIGlmICgqbGFzdF9kb3QgPT0gVSgnLicpKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgLy8gR290IGl0ISBOb3cgZXh0cmFjdCB0aGUgZnJhY3Rpb25hbCBzZWNvbmQKKysgICAgICAgICAgICAgICAgYXV0byBsYXN0X2JlZm9yZV9aID0gc3RkOjplbmQocmVzdWx0U3RyaW5nKSAtIDE7CisrICAgICAgICAgICAgICAgIHVmcmFjX3NlY29uZCA9IHRpbWV0aWNrc19mcm9tX3NlY29uZChsYXN0X2RvdCwgbGFzdF9iZWZvcmVfWik7CisrICAgICAgICAgICAgICAgIC8vIEFuZCBlcmFzZSBpdCBmcm9tIHRoZSBzdHJpbmcKKysgICAgICAgICAgICAgICAgcmVzdWx0U3RyaW5nLmVyYXNlKGxhc3RfZG90LCBsYXN0X2JlZm9yZV9aKTsKKysgICAgICAgICAgICB9CisgICAgICAgICB9CisrICAgIH0KKyt9CisgCistICAgICAgICBpZiAodC50bV9zZWMgPiA2MCkKKy0gICAgICAgIHsgLy8gNjAgdG8gYWxsb3cgbGVhcCBzZWNvbmRzCistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKytkYXRldGltZSBfX2NkZWNsIGRhdGV0aW1lOjpmcm9tX3N0cmluZyhjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCYgZGF0ZVN0cmluZywgZGF0ZV9mb3JtYXQgZm9ybWF0KQorK3sKKysgICAgLy8gYXZvaWQgZmxvYXRpbmcgcG9pbnQgbWF0aCB0byBwcmVzZXJ2ZSBwcmVjaXNpb24KKysgICAgdWludDY0X3QgdWZyYWNfc2Vjb25kID0gMDsKKyAKKy0gICAgICAgIHQudG1faXNkc3QgPSAwOworLSAgICAgICAgc2Vjb25kcyA9IG1ha2VfZ21fdGltZSgmdCk7CistICAgICAgICBpZiAoc2Vjb25kcyA8IDApCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysjaWZkZWYgX1dJTjMyCisrICAgIGRhdGV0aW1lIHJlc3VsdDsKKysgICAgaWYgKGZvcm1hdCA9PSBSRkNfMTEyMykKKysgICAgeworKyAgICAgICAgU1lTVEVNVElNRSBzeXNUaW1lID0gezB9OworIAorLSAgICAgICAgaWYgKHBhcnNlZFdlZWtkYXkgPj0gMCAmJiBwYXJzZWRXZWVrZGF5ICE9IHQudG1fd2RheSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgc3RkOjp3c3RyaW5nIG1vbnRoKDMsIEwnXDAnKTsKKysgICAgICAgIHN0ZDo6d3N0cmluZyB1bnVzZWQoMywgTCdcMCcpOworIAorLSAgICAgICAgaWYgKCFzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiR01UIikgJiYgIXN0cmluZ19zdGFydHNfd2l0aChzdHIsICJVVCIpKQorLSAgICAgICAgeworLSAgICAgICAgICAgIC8vIHNvbWUgdGltZXpvbmUgYWRqdXN0bWVudCBuZWNlc3NhcnkKKy0gICAgICAgICAgICBhdXRvIHR6Q2ggPSBfWFBMQVRTVFIoJy0nKTsKKy0gICAgICAgICAgICBpbnQgdHpIb3VyczsKKy0gICAgICAgICAgICBpbnQgdHpNaW51dGVzID0gMDsKKy0gICAgICAgICAgICBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIkVEVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDQ7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJFU1QiKSB8fCBzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiQ0RUIikpCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICB0ekhvdXJzID0gNTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZSBpZiAoc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIkNTVCIpIHx8IHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJNRFQiKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHR6SG91cnMgPSA2OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlIGlmIChzdHJpbmdfc3RhcnRzX3dpdGgoc3RyLCAiTVNUIikgfHwgc3RyaW5nX3N0YXJ0c193aXRoKHN0ciwgIlBEVCIpKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IDc7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cmluZ19zdGFydHNfd2l0aChzdHIsICJQU1QiKSkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHR6SG91cnMgPSA4OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBlbHNlIGlmICgodHpDaCA9PSBfWFBMQVRTVFIoJysnKSB8fCB0ekNoID09IF9YUExBVFNUUignLScpKSAmJiBhc2NpaV9pc2RpZ2l0MihzdHJbMV0pICYmCistICAgICAgICAgICAgICAgICAgICAgYXNjaWlfaXNkaWdpdChzdHJbMl0pICYmIGFzY2lpX2lzZGlnaXQ1KHN0clszXSkgJiYgYXNjaWlfaXNkaWdpdChzdHJbNF0pKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgdHpDaCA9IHN0clswXTsKKy0gICAgICAgICAgICAgICAgdHpIb3VycyA9IGF0b2kyKHN0ciArIDEpOworLSAgICAgICAgICAgICAgICB0ek1pbnV0ZXMgPSBhdG9pMihzdHIgKyAzKTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiUzYywgJTJkICUzYyAlNGQgJTJkOiUyZDolMmQgJTNjIjsKKysgICAgICAgIGF1dG8gbiA9IHN3c2NhbmZfcyhkYXRlU3RyaW5nLmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0U3RyaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZC5kYXRhKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLnNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53RGF5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoLmRhdGEoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBtb250aC5zaXplKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud1llYXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0hvdXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud01pbnV0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzVGltZS53U2Vjb25kLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZC5kYXRhKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgdW51c2VkLnNpemUoKSk7CisrCisrICAgICAgICBpZiAobiA9PSA4KQorKyAgICAgICAgeworKyAgICAgICAgICAgIHN0ZDo6d3N0cmluZyBtb250aG5hbWVzWzEyXSA9IHsKKysgICAgICAgICAgICAgICAgTCJKYW4iLCBMIkZlYiIsIEwiTWFyIiwgTCJBcHIiLCBMIk1heSIsIEwiSnVuIiwgTCJKdWwiLCBMIkF1ZyIsIEwiU2VwIiwgTCJPY3QiLCBMIk5vdiIsIEwiRGVjIn07CisrICAgICAgICAgICAgYXV0byBsb2MgPQorKyAgICAgICAgICAgICAgICBzdGQ6OmZpbmRfaWYobW9udGhuYW1lcywgbW9udGhuYW1lcyArIDEyLCBbJm1vbnRoXShjb25zdCBzdGQ6OndzdHJpbmcmIG0pIHsgcmV0dXJuIG0gPT0gbW9udGg7IH0pOworIAorLSAgICAgICAgICAgIHNlY29uZHMgPSB0aW1lem9uZV9hZGp1c3Qoc2Vjb25kcywgc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4odHpDaCksIHR6SG91cnMsIHR6TWludXRlcyk7CistICAgICAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorKyAgICAgICAgICAgIGlmIChsb2MgIT0gbW9udGhuYW1lcyArIDEyKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53TW9udGggPSAoc2hvcnQpKChsb2MgLSBtb250aG5hbWVzKSArIDEpOworKyAgICAgICAgICAgICAgICBpZiAoc3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUoJnN5c1RpbWUsIHVmcmFjX3NlY29uZCwgJnJlc3VsdCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgICAgIH0KKyAgICAgZWxzZSBpZiAoZm9ybWF0ID09IElTT184NjAxKQorICAgICB7CistICAgICAgICAvLyBwYXJzZSB5ZWFyCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQzKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clszXSkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgICAgIC8vIFVubGlrZSBGSUxFVElNRSwgU1lTVEVNVElNRSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwcmVjaXNpb24gdG8gaG9sZCBzZWNvbmRzIGluIDEwMCBuYW5vc2Vjb25kCisrICAgICAgICAvLyBpbmNyZW1lbnRzLiBUaGVyZWZvcmUsIHN0YXJ0IHdpdGggc2Vjb25kcyBhbmQgbWlsbGlzZWNvbmRzIHNldCB0byAwLCB0aGVuIGFkZCB0aGVtIHNlcGFyYXRlbHkKKyAKKy0gICAgICAgIHQudG1feWVhciA9IChzdHJbMF0gLSBfWFBMQVRTVFIoJzAnKSkgKiAxMDAwICsgKHN0clsxXSAtIF9YUExBVFNUUignMCcpKSAqIDEwMCArCistICAgICAgICAgICAgICAgICAgICAoc3RyWzJdIC0gX1hQTEFUU1RSKCcwJykpICogMTAgKyAoc3RyWzNdIC0gX1hQTEFUU1RSKCcwJykpOworLSAgICAgICAgaWYgKHQudG1feWVhciA8IDE5NzAgfHwgdC50bV95ZWFyID4gMzAwMCkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgLy8gVHJ5IHRvIGV4dHJhY3QgdGhlIGZyYWN0aW9uYWwgc2Vjb25kIGZyb20gdGhlIHRpbWVzdGFtcAorKyAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3QgaW5wdXQ7CisrICAgICAgICBleHRyYWN0X2ZyYWN0aW9uYWxfc2Vjb25kKGRhdGVTdHJpbmcsIGlucHV0LCB1ZnJhY19zZWNvbmQpOworKyAgICAgICAgeworKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiU0ZC0lMmQtJTJkVCUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdFN0cmluZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud1llYXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndNb250aCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0RheSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c1RpbWUud0hvdXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndNaW51dGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNUaW1lLndTZWNvbmQpOworIAorLSAgICAgICAgc3RyICs9IDQ7CistICAgICAgICBpZiAoKnN0ciA9PSBfWFBMQVRTVFIoJy0nKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICArK3N0cjsKKysgICAgICAgICAgICBpZiAobiA9PSAzIHx8IG4gPT0gNikKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIGlmIChzeXN0ZW1fdHlwZV90b19kYXRldGltZSgmc3lzVGltZSwgdWZyYWNfc2Vjb25kLCAmcmVzdWx0KSkKKysgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0KKy0gICAgICAgIC8vIHBhcnNlIG1vbnRoCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQxKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBEV09SRCBkYXRlID0gMDsKKyAKKy0gICAgICAgIHQudG1fbW9uID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIGlmICh0LnRtX21vbiA8IDEgfHwgdC50bV9tb24gPiAxMikKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorLQorLSAgICAgICAgdC50bV9tb24gLT0gMTsKKy0gICAgICAgIHN0ciArPSAyOworKyAgICAgICAgICAgIGNvbnN0IHdjaGFyX3QqIGZvcm1hdFN0cmluZyA9IEwiJThkVCUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksIGZvcm1hdFN0cmluZywgJmRhdGUsICZzeXNUaW1lLndIb3VyLCAmc3lzVGltZS53TWludXRlLCAmc3lzVGltZS53U2Vjb25kKTsKKyAKKy0gICAgICAgIGlmICgqc3RyID09IF9YUExBVFNUUignLScpKQorLSAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgfQorKyAgICAgICAgICAgIGlmIChuID09IDEgfHwgbiA9PSA0KQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgc3lzVGltZS53RGF5ID0gZGF0ZSAlIDEwMDsKKysgICAgICAgICAgICAgICAgZGF0ZSAvPSAxMDA7CisrICAgICAgICAgICAgICAgIHN5c1RpbWUud01vbnRoID0gZGF0ZSAlIDEwMDsKKysgICAgICAgICAgICAgICAgZGF0ZSAvPSAxMDA7CisrICAgICAgICAgICAgICAgIHN5c1RpbWUud1llYXIgPSAoV09SRClkYXRlOworIAorLSAgICAgICAgLy8gcGFyc2UgZGF5CistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQzKHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKy0gICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICBpZiAoc3lzdGVtX3R5cGVfdG9fZGF0ZXRpbWUoJnN5c1RpbWUsIHVmcmFjX3NlY29uZCwgJnJlc3VsdCkpCisrICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisgICAgICAgICB9CistCistICAgICAgICB0LnRtX21kYXkgPSBhdG9pMihzdHIpOworLSAgICAgICAgaWYgKCF2YWxpZGF0ZV9kYXlfbW9udGgodC50bV9tZGF5LCB0LnRtX21vbiwgdC50bV95ZWFyKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworLSAgICAgICAgfQorKyAgICAgICAgICAgIFNZU1RFTVRJTUUgc3lzVGltZSA9IHswfTsKKysgICAgICAgICAgICBHZXRTeXN0ZW1UaW1lKCZzeXNUaW1lKTsgLy8gRmlsbCBkYXRlIHBvcnRpb24gd2l0aCB0b2RheSdzIGluZm9ybWF0aW9uCisrICAgICAgICAgICAgc3lzVGltZS53U2Vjb25kID0gMDsKKysgICAgICAgICAgICBzeXNUaW1lLndNaWxsaXNlY29uZHMgPSAwOworIAorLSAgICAgICAgdC50bV95ZWFyIC09IDE5MDA7CistICAgICAgICBzdHIgKz0gMjsKKysgICAgICAgICAgICBjb25zdCB3Y2hhcl90KiBmb3JtYXRTdHJpbmcgPSBMIiUyZDolMmQ6JTJkWiI7CisrICAgICAgICAgICAgYXV0byBuID0gc3dzY2FuZl9zKGlucHV0LmNfc3RyKCksIGZvcm1hdFN0cmluZywgJnN5c1RpbWUud0hvdXIsICZzeXNUaW1lLndNaW51dGUsICZzeXNUaW1lLndTZWNvbmQpOworIAorLSAgICAgICAgaWYgKHN0clswXSAhPSBfWFBMQVRTVFIoJ1QnKSAmJiBzdHJbMF0gIT0gX1hQTEFUU1RSKCd0JykpCistICAgICAgICB7CistICAgICAgICAgICAgLy8gTm8gdGltZQorLSAgICAgICAgICAgIHNlY29uZHMgPSBtYWtlX2dtX3RpbWUoJnQpOworLSAgICAgICAgICAgIGlmIChzZWNvbmRzIDwgMCkKKysgICAgICAgICAgICBpZiAobiA9PSAzKQorICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKysgICAgICAgICAgICAgICAgaWYgKHN5c3RlbV90eXBlX3RvX2RhdGV0aW1lKCZzeXNUaW1lLCB1ZnJhY19zZWNvbmQsICZyZXN1bHQpKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgIHNlY29uZHMgKz0gbnRUb1VuaXhPZmZzZXRTZWNvbmRzOworLSAgICAgICAgICAgIHJlc3VsdC5tX2ludGVydmFsID0gc3RhdGljX2Nhc3Q8aW50ZXJ2YWxfdHlwZT4oc2Vjb25kcykgKiBfc2Vjb25kVGlja3M7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgIH0KKysgICAgfQorIAorLSAgICAgICAgKytzdHI7IC8vIHNraXAgJ1QnCisrICAgIHJldHVybiBkYXRldGltZSgpOworKyNlbHNlCisrICAgIHN0ZDo6c3RyaW5nIGlucHV0KGRhdGVTdHJpbmcpOworIAorLSAgICAgICAgLy8gcGFyc2UgaG91cgorLSAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0MihzdHJbMF0pIHx8ICFhc2NpaV9pc2RpZ2l0KHN0clsxXSkpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgc3RydWN0IHRtIG91dHB1dCA9IHRtKCk7CisgCistICAgICAgICB0LnRtX2hvdXIgPSBhdG9pMihzdHIpOworLSAgICAgICAgc3RyICs9IDI7CistICAgICAgICBpZiAodC50bV9ob3VyID4gMjMpCistICAgICAgICB7CistICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgIH0KKysgICAgaWYgKGZvcm1hdCA9PSBSRkNfMTEyMykKKysgICAgeworKyAgICAgICAgc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJWEsICVkICViICVZICVIOiVNOiVTIEdNVCIsICZvdXRwdXQpOworKyAgICB9CisrICAgIGVsc2UKKysgICAgeworKyAgICAgICAgLy8gVHJ5IHRvIGV4dHJhY3QgdGhlIGZyYWN0aW9uYWwgc2Vjb25kIGZyb20gdGhlIHRpbWVzdGFtcAorKyAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3QgaW5wdXQ7CisrICAgICAgICBleHRyYWN0X2ZyYWN0aW9uYWxfc2Vjb25kKGRhdGVTdHJpbmcsIGlucHV0LCB1ZnJhY19zZWNvbmQpOworIAorLSAgICAgICAgaWYgKCpzdHIgPT0gX1hQTEFUU1RSKCc6JykpCistICAgICAgICB7CistICAgICAgICAgICAgKytzdHI7CistICAgICAgICB9CisrICAgICAgICBhdXRvIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZLSVtLSVkVCVIOiVNOiVTWiIsICZvdXRwdXQpOworIAorLSAgICAgICAgLy8gcGFyc2UgbWludXRlCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQ1KHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZJW0lZFQlSDolTTolU1oiLCAmb3V0cHV0KTsKKyAgICAgICAgIH0KKy0gICAgICAgIHQudG1fbWluID0gYXRvaTIoc3RyKTsKKy0gICAgICAgIC8vIHQudG1fbWluID4gNTkgaXMgaW1wb3NzaWJsZSBiZWNhdXNlIHdlIGNoZWNrZWQgdGhhdCB0aGUgZmlyc3QgZGlnaXQgaXMgPD0gNSBpbiB0aGUgYmFzaWMgZm9ybWF0CistICAgICAgICAvLyBjaGVjayBhYm92ZQorLQorLSAgICAgICAgc3RyICs9IDI7CistCistICAgICAgICBpZiAoKnN0ciA9PSBfWFBMQVRTVFIoJzonKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICArK3N0cjsKKysgICAgICAgICAgICAvLyBGaWxsIHRoZSBkYXRlIHBvcnRpb24gd2l0aCB0aGUgZXBvY2gsCisrICAgICAgICAgICAgLy8gc3RycHRpbWUgd2lsbCBkbyB0aGUgcmVzdAorKyAgICAgICAgICAgIG1lbXNldCgmb3V0cHV0LCAwLCBzaXplb2Yoc3RydWN0IHRtKSk7CisrICAgICAgICAgICAgb3V0cHV0LnRtX3llYXIgPSA3MDsKKysgICAgICAgICAgICBvdXRwdXQudG1fbW9uID0gMTsKKysgICAgICAgICAgICBvdXRwdXQudG1fbWRheSA9IDE7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJUg6JU06JVNaIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICAvLyBwYXJzZSBzZWNvbmRzCistICAgICAgICBpZiAoIWFzY2lpX2lzZGlnaXQ2KHN0clswXSkgfHwgIWFzY2lpX2lzZGlnaXQoc3RyWzFdKSkKKysgICAgICAgIGlmIChyZXN1bHQgPT0gbnVsbHB0cikKKyAgICAgICAgIHsKKy0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICAgICAgICAgIHJlc3VsdCA9IHN0cnB0aW1lKGlucHV0LmRhdGEoKSwgIiVZLSVtLSVkIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICB0LnRtX3NlYyA9IGF0b2kyKHN0cik7CistICAgICAgICAvLyBXZSBhbGxvdyA2MCB0byBhY2NvdW50IGZvciBsZWFwIHNlY29uZHMKKy0gICAgICAgIGlmICh0LnRtX3NlYyA+IDYwKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisrICAgICAgICAgICAgcmVzdWx0ID0gc3RycHRpbWUoaW5wdXQuZGF0YSgpLCAiJVklbSVkIiwgJm91dHB1dCk7CisgICAgICAgICB9CistCistICAgICAgICBzdHIgKz0gMjsKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gX1hQTEFUU1RSKCcuJykgJiYgYXNjaWlfaXNkaWdpdChzdHJbMV0pKQorKyAgICAgICAgaWYgKHJlc3VsdCA9PSBudWxscHRyKQorICAgICAgICAgeworLSAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgICAgIGludCBkaWdpdHMgPSA3OworLSAgICAgICAgICAgIGZvciAoOzspCistICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICBmcmFjX3NlYyAqPSAxMDsKKy0gICAgICAgICAgICAgICAgZnJhY19zZWMgKz0gKnN0ciAtIF9YUExBVFNUUignMCcpOworLSAgICAgICAgICAgICAgICAtLWRpZ2l0czsKKy0gICAgICAgICAgICAgICAgKytzdHI7CistICAgICAgICAgICAgICAgIGlmIChkaWdpdHMgPT0gMCkKKy0gICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKGFzY2lpX2lzZGlnaXQoKnN0cikpCistICAgICAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3VtZSByZW1haW5pbmcgZnJhY3Rpb25hbCBzZWNvbmQgZGlnaXRzIHdlIGNhbid0IHVzZQorLSAgICAgICAgICAgICAgICAgICAgICAgICsrc3RyOworLSAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICAgICAgaWYgKCFhc2NpaV9pc2RpZ2l0KCpzdHIpKQorLSAgICAgICAgICAgICAgICB7CistICAgICAgICAgICAgICAgICAgICAvLyBubyBtb3JlIGRpZ2l0cyBpbiB0aGUgaW5wdXQsIGRvIHRoZSByZW1haW5pbmcgbXVsdGlwbGllcyB3ZSBuZWVkCistICAgICAgICAgICAgICAgICAgICBmb3IgKDsgZGlnaXRzICE9IDA7IC0tZGlnaXRzKQorLSAgICAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGZyYWNfc2VjICo9IDEwOworLSAgICAgICAgICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB9CisrICAgICAgICAgICAgcmV0dXJuIGRhdGV0aW1lKCk7CisgICAgICAgICB9CisrICAgIH0KKyAKKy0gICAgICAgIHNlY29uZHMgPSBtYWtlX2dtX3RpbWUoJnQpOworLSAgICAgICAgaWYgKHNlY29uZHMgPCAwKQorLSAgICAgICAgeworLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICB9CisrI2lmIChkZWZpbmVkKEFORFJPSUQpIHx8IGRlZmluZWQoX19BTkRST0lEX18pKQorKyAgICAvLyBIQUNLOiBUaGUgKG5vbnBvcnRhYmxlPykgUE9TSVggZnVuY3Rpb24gdGltZWdtIGlzIG5vdCBhdmFpbGFibGUgaW4KKysgICAgLy8gICAgICAgYmlvbmljLiBBcyBhIHdvcmthcm91bmRbMV1bMl0sIHdlIHNldCB0aGUgQyBsaWJyYXJ5IHRpbWV6b25lIHRvCisrICAgIC8vICAgICAgIFVUQywgY2FsbCBta3RpbWUsIHRoZW4gc2V0IHRoZSB0aW1lem9uZSBiYWNrLiBIb3dldmVyLCB0aGUgQworKyAgICAvLyAgICAgICBlbnZpcm9ubWVudCBpcyBmdW5kYW1lbnRhbGx5IGEgc2hhcmVkIGdsb2JhbCByZXNvdXJjZSBhbmQgdGhyZWFkLQorKyAgICAvLyAgICAgICB1bnNhZmUuIFdlIGNhbiBwcm90ZWN0IG91ciB1c2FnZSBoZXJlLCBob3dldmVyIGFueSBvdGhlciBjb2RlIG1pZ2h0CisrICAgIC8vICAgICAgIG1hbmlwdWxhdGUgdGhlIGVudmlyb25tZW50IGF0IHRoZSBzYW1lIHRpbWUuCisrICAgIC8vCisrICAgIC8vIFsxXSBodHRwOi8vbGludXguZGllLm5ldC9tYW4vMy90aW1lZ20KKysgICAgLy8gWzJdIGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJjL21hbnVhbC9odG1sX25vZGUvQnJva2VuXzAwMmRkb3duLVRpbWUuaHRtbAorKyAgICB0aW1lX3QgdGltZTsKKyAKKy0gICAgICAgIGlmIChzdHJbMF0gPT0gX1hQTEFUU1RSKCdaJykgfHwgc3RyWzBdID09IF9YUExBVFNUUigneicpKQorKyAgICBzdGF0aWMgYm9vc3Q6Om11dGV4IGVudl92YXJfbG9jazsKKysgICAgeworKyAgICAgICAgYm9vc3Q6OmxvY2tfZ3VhcmQ8Ym9vc3Q6Om11dGV4PiBsb2NrKGVudl92YXJfbG9jayk7CisrICAgICAgICBzdGQ6OnN0cmluZyBwcmV2X2VudjsKKysgICAgICAgIGF1dG8gcHJldl9lbnZfY3N0ciA9IGdldGVudigiVFoiKTsKKysgICAgICAgIGlmIChwcmV2X2Vudl9jc3RyICE9IG51bGxwdHIpCisgICAgICAgICB7CistICAgICAgICAgICAgLy8gbm8gYWRqdXN0bWVudCBuZWVkZWQgZm9yIHp1bHUgdGltZQorKyAgICAgICAgICAgIHByZXZfZW52ID0gcHJldl9lbnZfY3N0cjsKKyAgICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKHN0clswXSA9PSBfWFBMQVRTVFIoJysnKSB8fCBzdHJbMF0gPT0gX1hQTEFUU1RSKCctJykpCistICAgICAgICB7CistICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciBvZmZzZXREaXJlY3Rpb24gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdHJbMF0pOworLSAgICAgICAgICAgIGlmICghYXNjaWlfaXNkaWdpdDIoc3RyWzFdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbMl0pIHx8IHN0clszXSAhPSBfWFBMQVRTVFIoJzonKSB8fAorLSAgICAgICAgICAgICAgICAhYXNjaWlfaXNkaWdpdDUoc3RyWzRdKSB8fCAhYXNjaWlfaXNkaWdpdChzdHJbNV0pKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKy0gICAgICAgICAgICB9CisrICAgICAgICBzZXRlbnYoIlRaIiwgIlVUQyIsIDEpOworIAorLSAgICAgICAgICAgIHNlY29uZHMgPSB0aW1lem9uZV9hZGp1c3Qoc2Vjb25kcywgb2Zmc2V0RGlyZWN0aW9uLCBhdG9pMihzdHIgKyAxKSwgYXRvaTIoc3RyICsgNCkpOworLSAgICAgICAgICAgIGlmIChzZWNvbmRzIDwgMCkKKy0gICAgICAgICAgICB7CistICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CistICAgICAgICAgICAgfQorKyAgICAgICAgdGltZSA9IG1rdGltZSgmb3V0cHV0KTsKKysKKysgICAgICAgIGlmIChwcmV2X2Vudl9jc3RyKQorKyAgICAgICAgeworKyAgICAgICAgICAgIHNldGVudigiVFoiLCBwcmV2X2Vudi5jX3N0cigpLCAxKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGVsc2UKKyAgICAgICAgIHsKKy0gICAgICAgICAgICAvLyB0aGUgdGltZXpvbmUgaXMgbWFsZm9ybWVkLCBidXQgY3BwcmVzdHNkayBjdXJyZW50bHkgYWNjZXB0cyB0aGlzIGFzIG5vIHRpbWV6b25lCisrICAgICAgICAgICAgdW5zZXRlbnYoIlRaIik7CisgICAgICAgICB9CisgICAgIH0KKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICB0aHJvdyBzdGQ6OmludmFsaWRfYXJndW1lbnQoInVucmVjb2duaXplZCBkYXRlIGZvcm1hdCIpOworLSAgICB9CisrI2Vsc2UKKysgICAgdGltZV90IHRpbWUgPSB0aW1lZ20oJm91dHB1dCk7CisrI2VuZGlmCisrCisrICAgIHN0cnVjdCB0aW1ldmFsIHR2ID0gdGltZXZhbCgpOworKyAgICB0di50dl9zZWMgPSB0aW1lOworKyAgICBhdXRvIHJlc3VsdCA9IHRpbWV2YWxfdG9fZGF0ZXRpbWUodHYpOworIAorLSAgICBzZWNvbmRzICs9IG50VG9Vbml4T2Zmc2V0U2Vjb25kczsKKy0gICAgcmVzdWx0Lm1faW50ZXJ2YWwgPSBzdGF0aWNfY2FzdDxpbnRlcnZhbF90eXBlPihzZWNvbmRzKSAqIF9zZWNvbmRUaWNrcyArIGZyYWNfc2VjOworKyAgICAvLyBmcmFjdGlvbmFsIHNlY29uZHMgYXJlIGFscmVhZHkgaW4gY29ycmVjdCBmb3JtYXQgc28ganVzdCBhZGQgdGhlbS4KKysgICAgcmVzdWx0ID0gcmVzdWx0ICsgdWZyYWNfc2Vjb25kOworICAgICByZXR1cm4gcmVzdWx0OworKyNlbmRpZgorIH0KKyAKKyAvLy8gPHN1bW1hcnk+CitAQCAtMTM1OCwzMiArMTE4MSwzOCBAQCB1dGlsaXR5OjpzZWNvbmRzIF9fY2RlY2wgdGltZXNwYW46OnhtbF9kCisgICAgIC8vIFRoZSBmaW5hbCBTIGNvdWxkIGJlIG9taXR0ZWQKKyAKKyAgICAgaW50NjRfdCBudW1TZWNzID0gMDsKKy0gICAgYXV0byBjdXJzb3IgPSB0aW1lc3BhblN0cmluZy5jX3N0cigpOworLSAgICBhdXRvIGMgPSAqY3Vyc29yKys7IC8vIHNraXAgJ1AnCistICAgIHdoaWxlIChjKQorKworKyAgICB1dGlsaXR5Ojppc3RyaW5nc3RyZWFtX3QgaXModGltZXNwYW5TdHJpbmcpOworKyAgICBpcy5pbWJ1ZShzdGQ6OmxvY2FsZTo6Y2xhc3NpYygpKTsKKysgICAgYXV0byBlb2YgPSBzdGQ6OmNoYXJfdHJhaXRzPHV0aWxpdHk6OmNoYXJfdD46OmVvZigpOworKworKyAgICBzdGQ6OmJhc2ljX2lzdHJlYW08dXRpbGl0eTo6Y2hhcl90Pjo6aW50X3R5cGUgYzsKKysgICAgYyA9IGlzLmdldCgpOyAvLyBQCisrCisrICAgIHdoaWxlIChjICE9IGVvZikKKyAgICAgeworICAgICAgICAgaW50IHZhbCA9IDA7CistICAgICAgICBjID0gKmN1cnNvcisrOworKyAgICAgICAgYyA9IGlzLmdldCgpOworIAorLSAgICAgICAgd2hpbGUgKGFzY2lpX2lzZGlnaXQoYykpCisrICAgICAgICB3aGlsZSAoaXNfZGlnaXQoKHV0aWxpdHk6OmNoYXJfdCljKSkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICB2YWwgPSB2YWwgKiAxMCArIChjIC0gX1hQTEFUU1RSKCcwJykpOworLSAgICAgICAgICAgIGMgPSAqY3Vyc29yKys7CisrICAgICAgICAgICAgdmFsID0gdmFsICogMTAgKyAoYyAtIEwnMCcpOworKyAgICAgICAgICAgIGMgPSBpcy5nZXQoKTsKKyAKKy0gICAgICAgICAgICBpZiAoYyA9PSBfWFBMQVRTVFIoJy4nKSkKKysgICAgICAgICAgICBpZiAoYyA9PSAnLicpCisgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAvLyBkZWNpbWFsIHBvaW50IGlzIG5vdCBoYW5kbGVkCisgICAgICAgICAgICAgICAgIGRvCisgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIGMgPSAqY3Vyc29yKys7CistICAgICAgICAgICAgICAgIH0gd2hpbGUgKGFzY2lpX2lzZGlnaXQoYykpOworKyAgICAgICAgICAgICAgICAgICAgYyA9IGlzLmdldCgpOworKyAgICAgICAgICAgICAgICB9IHdoaWxlIChpc19kaWdpdCgodXRpbGl0eTo6Y2hhcl90KWMpKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgCistICAgICAgICBpZiAoYyA9PSBfWFBMQVRTVFIoJ0QnKSkgbnVtU2VjcyArPSB2YWwgKiAyNCAqIDM2MDA7IC8vIGRheXMKKy0gICAgICAgIGlmIChjID09IF9YUExBVFNUUignSCcpKSBudW1TZWNzICs9IHZhbCAqIDM2MDA7ICAgICAgLy8gSG91cnMKKy0gICAgICAgIGlmIChjID09IF9YUExBVFNUUignTScpKSBudW1TZWNzICs9IHZhbCAqIDYwOyAgICAgICAgLy8gTWludXRlcworLSAgICAgICAgaWYgKGMgPT0gX1hQTEFUU1RSKCdTJykgfHwgYyA9PSBfWFBMQVRTVFIoJ1wwJykpCisrICAgICAgICBpZiAoYyA9PSBMJ0QnKSBudW1TZWNzICs9IHZhbCAqIDI0ICogMzYwMDsgLy8gZGF5cworKyAgICAgICAgaWYgKGMgPT0gTCdIJykgbnVtU2VjcyArPSB2YWwgKiAzNjAwOyAgICAgIC8vIEhvdXJzCisrICAgICAgICBpZiAoYyA9PSBMJ00nKSBudW1TZWNzICs9IHZhbCAqIDYwOyAgICAgICAgLy8gTWludXRlcworKyAgICAgICAgaWYgKGMgPT0gTCdTJyB8fCBjID09IGVvZikKKyAgICAgICAgIHsKKyAgICAgICAgICAgICBudW1TZWNzICs9IHZhbDsgLy8gc2Vjb25kcworICAgICAgICAgICAgIGJyZWFrOworQEAgLTEzOTMsMTIgKzEyMjIsMTIgQEAgdXRpbGl0eTo6c2Vjb25kcyBfX2NkZWNsIHRpbWVzcGFuOjp4bWxfZAorICAgICByZXR1cm4gdXRpbGl0eTo6c2Vjb25kcyhudW1TZWNzKTsKKyB9CisgCistc3RhdGljIGNvbnN0IHV0aWxpdHk6OmNoYXJfdCBjX2FsbG93ZWRfY2hhcnNbXSA9CistICAgIF9YUExBVFNUUigiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiKTsKKytjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBub25jZV9nZW5lcmF0b3I6OmNfYWxsb3dlZF9jaGFycygKKysgICAgX1hQTEFUU1RSKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIpKTsKKyAKKyB1dGlsaXR5OjpzdHJpbmdfdCBub25jZV9nZW5lcmF0b3I6OmdlbmVyYXRlKCkKKyB7CistICAgIHN0ZDo6dW5pZm9ybV9pbnRfZGlzdHJpYnV0aW9uPD4gZGlzdHIoMCwgc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoY19hbGxvd2VkX2NoYXJzKSAvIHNpemVvZih1dGlsaXR5OjpjaGFyX3QpKSAtIDEpOworKyAgICBzdGQ6OnVuaWZvcm1faW50X2Rpc3RyaWJ1dGlvbjw+IGRpc3RyKDAsIHN0YXRpY19jYXN0PGludD4oY19hbGxvd2VkX2NoYXJzLmxlbmd0aCgpIC0gMSkpOworICAgICB1dGlsaXR5OjpzdHJpbmdfdCByZXN1bHQ7CisgICAgIHJlc3VsdC5yZXNlcnZlKGxlbmd0aCgpKTsKKyAgICAgc3RkOjpnZW5lcmF0ZV9uKHN0ZDo6YmFja19pbnNlcnRlcihyZXN1bHQpLCBsZW5ndGgoKSwgWyZdKCkgeyByZXR1cm4gY19hbGxvd2VkX2NoYXJzW2Rpc3RyKG1fcmFuZG9tKV07IH0pOworLS0tIGNwcHJlc3QtMi4xMC4xMi5vcmlnL1JlbGVhc2UvdGVzdHMvZnVuY3Rpb25hbC91dGlscy9kYXRldGltZS5jcHAKKysrKyBjcHByZXN0LTIuMTAuMTIvUmVsZWFzZS90ZXN0cy9mdW5jdGlvbmFsL3V0aWxzL2RhdGV0aW1lLmNwcAorQEAgLTc0LDYgKzc0LDE2IEBAIFNVSVRFKGRhdGV0aW1lKQorICAgICAgICAgfQorICAgICB9CisgCisrICAgIFRFU1QocGFyc2luZ190aW1lX2V4dGVuZGVkKQorKyAgICB7CisrICAgICAgICAvLyBJU08gODYwMQorKyAgICAgICAgeworKyAgICAgICAgICAgIGF1dG8gZHQgPSB1dGlsaXR5OjpkYXRldGltZTo6ZnJvbV9zdHJpbmcoX1hQTEFUU1RSKCIxNDozMDowMVoiKSwgdXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysKKysgICAgICAgICAgICBWRVJJRllfQVJFX05PVF9FUVVBTCgwdSwgZHQudG9faW50ZXJ2YWwoKSk7CisrICAgICAgICB9CisrICAgIH0KKysKKyAgICAgdm9pZCBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAodXRpbGl0eTo6c3RyaW5nX3Qgc3RyLCB1dGlsaXR5OjpzdHJpbmdfdCBzdHJFeHBlY3RlZCkKKyAgICAgeworICAgICAgICAgYXV0byBkdCA9IHV0aWxpdHk6OmRhdGV0aW1lOjpmcm9tX3N0cmluZyhzdHIsIHV0aWxpdHk6OmRhdGV0aW1lOjpJU09fODYwMSk7CitAQCAtOTEsOCArMTAxLDYgQEAgU1VJVEUoZGF0ZXRpbWUpCisgCisgICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZTIpCisgICAgIHsKKy0gICAgICAgIC8vIGxvc2UgdGhlIGxhc3QgJzAwMCcKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuMTIzNDU2NzAwMFoiKSwgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjEyMzQ1NjdaIikpOworICAgICAgICAgLy8gbG9zZSB0aGUgbGFzdCAnOTk5JyB3aXRob3V0IHJvdW5kaW5nIHVwCisgICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LjEyMzQ1Njc5OTlaIiksIF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS4xMjM0NTY3WiIpKTsKKyAgICAgfQorQEAgLTEyMSwyNjAgKzEyOSwxNiBAQCBTVUlURShkYXRldGltZSkKKyAgICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMTMtMTEtMTlUMTQ6MzA6NTkuNVoiKSk7CisgICAgIH0KKyAKKy0gICAgdm9pZCBUZXN0UmZjMTEyM0lzVGltZVQoY29uc3QgdXRpbGl0eTo6Y2hhcl90KiBzdHIsIHRpbWVfdCB0KQorLSAgICB7CistICAgICAgICBkYXRldGltZSBkdCA9IGRhdGV0aW1lOjpmcm9tX3N0cmluZyhzdHIsIHV0aWxpdHk6OmRhdGV0aW1lOjpSRkNfMTEyMyk7CistICAgICAgICB1aW50NjRfdCBpbnRlcnZhbCA9IGR0LnRvX2ludGVydmFsKCk7CistICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDAsIGludGVydmFsICUgMTAwMDAwMDApOworLSAgICAgICAgaW50ZXJ2YWwgLz0gMTAwMDAwMDA7CistICAgICAgICBpbnRlcnZhbCAtPSAxMTY0NDQ3MzYwMDsgLy8gTlQgZXBvY2ggYWRqdXN0bWVudAorLSAgICAgICAgVkVSSUZZX0FSRV9FUVVBTChzdGF0aWNfY2FzdDx1aW50NjRfdD4odCksIGludGVydmFsKTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX2FjY2VwdHNfZWFjaF9kYXkpCistICAgIHsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIkZyaSwgMDIgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogMSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJTYXQsIDAzIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDIpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiU3VuLCAwNCBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiAzKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIk1vbiwgMDUgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDg2NDAwICogNCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCJUdWUsIDA2IEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSA4NjQwMCAqIDUpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiV2VkLCAwNyBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDAgKiA2KTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX2JvdW5kYXJ5X2Nhc2VzKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxOSBKYW4gMjAzOCAwMzoxNDowNiBHTVQiKSwgKHRpbWVfdCkgSU5UX01BWCAtIDEpOworLSNpZm5kZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE5IEphbiAyMDM4IDAzOjEzOjA3IC0wMDAxIiksICh0aW1lX3QpIElOVF9NQVgpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTkgSmFuIDIwMzggMDM6MTQ6MDcgLTAwMDAiKSwgKHRpbWVfdCkgSU5UX01BWCk7CistI2VuZGlmIC8vIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxNCBKYW4gMjAxOSAyMzoxNjoyMSArMDAwMCIpLCAodGltZV90KSAxNTQ3NTA3NzgxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxIC0wMDAxIiksICh0aW1lX3QpIDE1NDc1MDc4NDEpOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTQgSmFuIDIwMTkgMjM6MTY6MjEgKzAwMDEiKSwgKHRpbWVfdCkgMTU0NzUwNzcyMSk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIxNCBKYW4gMjAxOSAyMzoxNjoyMSAtMDEwMCIpLCAodGltZV90KSAxNTQ3NTExMzgxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjE0IEphbiAyMDE5IDIzOjE2OjIxICswMTAwIiksICh0aW1lX3QpIDE1NDc1MDQxODEpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfdXNlc19lYWNoX2ZpZWxkKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMiBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgODY0MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMTIgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDk1MDQwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBGZWIgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjY3ODQwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMjAwMCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgOTQ2Njg0ODAwKTsKKy0jaWZuZGVmIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMjEwMCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgNDEwMjQ0NDgwMCk7CistI2VuZGlmIC8vIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk5MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgNjMxMTUyMDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzMTUzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAxMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDE6MDA6MDAgR01UIiksICh0aW1lX3QpIDM2MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MTA6MDAgR01UIiksICh0aW1lX3QpIDYwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMTowMCBHTVQiKSwgKHRpbWVfdCkgNjApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MTAgR01UIiksICh0aW1lX3QpIDEwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAxIEdNVCIpLCAodGltZV90KSAxKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDEwOjAwOjAwIEdNVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMjowMDowMCBQU1QiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDM6MDA6MDAgUERUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAzOjAwOjAwIE1TVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNDowMDowMCBNRFQiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDQ6MDA6MDAgQ1NUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA1OjAwOjAwIENEVCIpLCAodGltZV90KSAzNjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwNTowMDowMCBFU1QiKSwgKHRpbWVfdCkgMzYwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDY6MDA6MDAgRURUIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA2OjAwOjAwIC0wNDAwIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDA1OjU5OjAwIC0wNDAxIiksICh0aW1lX3QpIDM2MDAwKTsKKy0gICAgfQorLQorLSAgICBURVNUKHBhcnNpbmdfdGltZV9yZmMxMTIzX21heF9kYXlzKQorLSAgICB7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjU5MjAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIyOCBGZWIgMjAxOSAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTU1MTMxMjAwMCk7IC8vIG5vbiBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOAorLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMjkgRmViIDIwMjAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDE1ODI5MzQ0MDApOyAvLyBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOQorLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgTWFyIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDc2ODk2MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzAgQXByIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDEwMjgxNjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIE1heSAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAxMjk2MDAwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMCBKdW4gMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMTU1NTIwMDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgSnVsIDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDE4MjMwNDAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMxIEF1ZyAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyMDkwODgwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMCBTZXAgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMjM1MDA4MDApOworLSAgICAgICAgVGVzdFJmYzExMjNJc1RpbWVUKF9YUExBVFNUUigiMzEgT2N0IDE5NzAgMDA6MDA6MDAgR01UIiksICh0aW1lX3QpIDI2MTc5MjAwKTsKKy0gICAgICAgIFRlc3RSZmMxMTIzSXNUaW1lVChfWFBMQVRTVFIoIjMwIE5vdiAxOTcwIDAwOjAwOjAwIEdNVCIpLCAodGltZV90KSAyODc3MTIwMCk7CistICAgICAgICBUZXN0UmZjMTEyM0lzVGltZVQoX1hQTEFUU1RSKCIzMSBEZWMgMTk3MCAwMDowMDowMCBHTVQiKSwgKHRpbWVfdCkgMzE0NDk2MDApOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JmYzExMjNfaW52YWxpZF9jYXNlcykKKy0gICAgeworLSAgICAgICAgY29uc3QgdXRpbGl0eTo6c3RyaW5nX3QgYmFkX3N0cmluZ3NbXSA9IHsKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIkFodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksIC8vIGJhZCBsZXR0ZXJzIGluIGVhY2ggcGxhY2UKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRBdSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaEEsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1QSAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSxBMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIEExIEphbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwQSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDFBSmFuIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEFhbiAxOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKQW4gMTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFBIDE5NzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbkExOTcwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gQTk3MCAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDFBNzAgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOUEwIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3QSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzBBMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIEEwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwQTowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDBBMDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOkEwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowQTowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDBBMDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOkEwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowQSBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDBBR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCJUaHUsIDAxIEphbiAxOTcwIDAwOjAwOjAwIEFNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHQVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01BIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIiKSwgLy8gdHJ1bmNhdGlvbgorLSAgICAgICAgICAgIF9YUExBVFNUUigiVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGgiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4iKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuICIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTkiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NyIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIlRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgRyIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiVGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTSIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiRnJpLCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiKSwgLy8gd3JvbmcgZGF5CistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gNDk3MCAwMDowMDowMCBHTVQiKSwgLy8geWVhciB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMzAwMSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIFh4eCAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBtb250aCBiYWQKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAwIEphbiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIHNtYWxsCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBKYW4gMTk3MSAwMDowMDowMCBHTVQiKSwgLy8gZGF5IHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwIEZlYiAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBkYXkgdG9vIGJpZyBmb3IgZmViCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMCBGZWIgMTk3MSAwMDowMDowMCBHTVQiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYiAobm9uLWxlYXAgeWVhcikKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIE1hciAxOTcxIDAwOjAwOjAwIEdNVCIpLCAvLyBvdGhlciBtb250aHMKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMxIEFwciAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgTWF5IDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMSBKdW4gMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIEp1bCAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzIgQXVnIDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMSBTZXAgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMyIE9jdCAxOTcxIDAwOjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzEgTm92IDE5NzEgMDA6MDA6MDAgR01UIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMiBEZWMgMTk3MSAwMDowMDowMCBHTVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDcwOjAwOjAwIEdNVCIpLCAvLyBob3VyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDI0OjAwOjAwIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzEgMDA6NjA6MDAgR01UIiksIC8vIG1pbnV0ZSB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MSAwMDowMDo3MCBHTVQiKSwgLy8gc2Vjb25kIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcxIDAwOjAwOjYxIEdNVCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NjkgMDA6MDA6MDAgR01UIiksIC8vIHVuZGVyZmxvdworLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NjkgMDA6MDA6MDAgQ0VTVCIpLCAvLyBiYWQgdHoKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwICsyNDAwIiksIC8vIGJhZCB0em9mZnNldHMKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIC0zMDAwIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIwMSBKYW4gMTk3MCAwMDowMDowMCArMjE2MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMDEgSmFuIDE5NzAgMDA6MDA6MDAgLTI0MDAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjAxIEphbiAxOTcwIDAwOjAwOjAwIC0yMTYwIiksCistICAgICAgICB9OworLQorLSAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdHIgOiBiYWRfc3RyaW5ncykKKy0gICAgICAgIHsKKy0gICAgICAgICAgICBhdXRvIGR0ID0gdXRpbGl0eTo6ZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OlJGQ18xMTIzKTsKKy0gICAgICAgICAgICBWRVJJRllfQVJFX0VRVUFMKDAsIGR0LnRvX2ludGVydmFsKCkpOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfYm91bmRhcnlfY2FzZXMpCistICAgIHsKKy0gICAgICAgIC8vIGJvdW5kYXJ5IGNhc2VzOgorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMFoiKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlcG9jaAorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowNiswMDowMCIpLCBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDZaIikpOyAvLyBJTlRfTUFYIC0gMQorLSNpZm5kZWYgX1VTRV8zMkJJVF9USU1FX1QKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTM6MDctMDA6MDEiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDdaIikpOyAvLyBJTlRfTUFYIGFmdGVyIHN1YnRhY3RpbmcgMQorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAzOC0wMS0xOVQwMzoxNDowNy0wMDowMCIpLCBfWFBMQVRTVFIoIjIwMzgtMDEtMTlUMDM6MTQ6MDdaIikpOworLSNlbmRpZiAvLyBfVVNFXzMyQklUX1RJTUVfVAorLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfdXNlc19lYWNoX3RpbWV6b25lX2RpZ2l0KQorLSAgICB7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAwOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNjoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxLTAwOjAxIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNzoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAwOjAxIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMzoxNToyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxLTAxOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNVQwMDoxNjoyMVoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIyMDE5LTAxLTE0VDIzOjE2OjIxKzAxOjAwIiksIF9YUExBVFNUUigiMjAxOS0wMS0xNFQyMjoxNjoyMVoiKSk7CistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV91c2VzX2VhY2hfZGlnaXQpCistICAgIHsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDFaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMTowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAxOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDJUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMi0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjAwWiIpKTsKKy0KKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5OTktMDEtMDFUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0xMi0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA5LTAxVDAwOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMzBUMDA6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0zMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDIzOjAwOjAwWiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMTk6MDA6MDBaIikpOworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDo1OTowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjU5WiIpKTsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6NjBaIiksIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMTowMFoiKSk7IC8vIGxlYXAgc2Vjb25kcworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX2lzbzg2MDFfYWNjZXB0c19tb250aF9tYXhfZGF5cykKKy0gICAgeworLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMTk3MC0wMS0zMVQwMDowMDowMFoiKSk7IC8vIGphbgorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAxOS0wMi0yOFQwMDowMDowMFoiKSk7IC8vIG5vbiBsZWFwIHllYXIgYWxsb3dzIGZlYiAyOAorLSAgICAgICAgVGVzdERhdGVUaW1lUm91bmR0cmlwKF9YUExBVFNUUigiMjAyMC0wMi0yOVQwMDowMDowMFoiKSk7IC8vIGxlYXAgeWVhciBhbGxvd3MgZmViIDI5CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAzLTMxVDAwOjAwOjAwWiIpKTsgLy8gbWFyCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA0LTMwVDAwOjAwOjAwWiIpKTsgLy8gYXByCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA1LTMxVDAwOjAwOjAwWiIpKTsgLy8gbWF5CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA2LTMwVDAwOjAwOjAwWiIpKTsgLy8ganVuCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA3LTMxVDAwOjAwOjAwWiIpKTsgLy8ganVsCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA4LTMxVDAwOjAwOjAwWiIpKTsgLy8gYXVnCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTA5LTMwVDAwOjAwOjAwWiIpKTsgLy8gc2VwCistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTEwLTMxVDAwOjAwOjAwWiIpKTsgLy8gb2N0CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTExLTMwVDAwOjAwOjAwWiIpKTsgLy8gbm92CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTEyLTMxVDAwOjAwOjAwWiIpKTsgLy8gZGVjCistICAgIH0KKy0KKy0gICAgVEVTVChwYXJzaW5nX3RpbWVfaXNvODYwMV9hY2NlcHRzX2xvd2VyY2FzZV90X3opCistICAgIHsKKy0gICAgICAgIFRlc3REYXRlVGltZVJvdW5kdHJpcChfWFBMQVRTVFIoIjE5NzAtMDEtMDF0MDA6MDA6MDBaIiksIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMFoiKSk7CistICAgICAgICBUZXN0RGF0ZVRpbWVSb3VuZHRyaXAoX1hQTEFUU1RSKCIxOTcwLTAxLTAxVDAwOjAwOjAweiIpLCBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDBaIikpOworLSAgICB9CistCistICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9hY2NlcHRzX2ludmFsaWRfbm9fdHJhaWxpbmdfdGltZXpvbmUpCisrICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9pbnZhbGlkMSwKKysgICAgICAgICAiSWdub3JlOkxpbnV4IiwKKysgICAgICAgICAiQ29kZXBsZXggaXNzdWUgIzExNSIsCisrICAgICAgICAgIklnbm9yZTpBcHBsZSIsCisrICAgICAgICAgIkNvZGVwbGV4IGlzc3VlICMxMTUiKQorICAgICB7CisgICAgICAgICAvLyBObyBkaWdpdHMgYWZ0ZXIgdGhlIGRvdCwgb3Igbm9uLWRpZ2l0cy4gVGhpcyBpcyBub3QgYSB2YWxpZCBpbnB1dCwgYnV0IHdlIHNob3VsZCBub3QgY2hva2Ugb24gaXQsCisgICAgICAgICAvLyBTaW1wbHkgaWdub3JlIHRoZSBiYWQgZnJhY3Rpb24KKyAgICAgICAgIGNvbnN0IHV0aWxpdHk6OnN0cmluZ190IGJhZF9zdHJpbmdzW10gPSB7X1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LloiKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1hQTEFUU1RSKCIyMDEzLTExLTE5VDE0OjMwOjU5LmExMloiKX07CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OS4xYTJaIil9OworICAgICAgICAgdXRpbGl0eTo6c3RyaW5nX3Qgc3RyX2NvcnJlY3RlZCA9IF9YUExBVFNUUigiMjAxMy0xMS0xOVQxNDozMDo1OVoiKTsKKyAKKyAgICAgICAgIGZvciAoY29uc3QgYXV0byYgc3RyIDogYmFkX3N0cmluZ3MpCitAQCAtMzg3LDg3ICsxNTEsMTIgQEAgU1VJVEUoZGF0ZXRpbWUpCisgCisgICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF9kYXRldGltZV9pbnZhbGlkMikKKyAgICAgeworLSAgICAgICAgLy8gVmFyaW91cyB1bnN1cHBvcnRlZCBjYXNlcy4gSW4gYWxsIGNhc2VzLCB3ZSBoYXZlIHByb2R1Y2UgYW4gZW1wdHkgZGF0ZSB0aW1lCisrICAgICAgICAvLyBWYXJpb3VscyB1bnN1cHBvcnRlZCBjYXNlcy4gSW4gYWxsIGNhc2VzLCB3ZSBoYXZlIHByb2R1Y2UgYW4gZW1wdHkgZGF0ZSB0aW1lCisgICAgICAgICBjb25zdCB1dGlsaXR5OjpzdHJpbmdfdCBiYWRfc3RyaW5nc1tdID0geworLSAgICAgICAgICAgIF9YUExBVFNUUigiIiksICAgICAgICAgICAgICAgICAgICAgLy8gZW1wdHkKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIi5aIiksICAgICAgICAgICAgICAgICAgIC8vIHRvbyBzaG9ydAorLSAgICAgICAgICAgIF9YUExBVFNUUigiLlp4IiksICAgICAgICAgICAgICAgICAgLy8gbm8gdHJhaWxpbmcgWgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMy4xNFoiKSAgICAgICAgICAgICAgICAgLy8gbm90IGEgdmFsaWQgZGF0ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiYTk3MS0wMS0wMVQwMDowMDowMFoiKSwgLy8gYW55IG5vbiBkaWdpdHMgb3IgdmFsaWQgc2VwYXJhdG9ycworLSAgICAgICAgICAgIF9YUExBVFNUUigiMWE3MS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5YTEtMDEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTdhLTAxLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MWEwMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtYTEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTBhLTAxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMWEwMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtYTFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTBhVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MS0wMS0wMWEwMDowMDowMFoiKSwgcGFyc2VkIGFzIGNvbXBsZXRlIGRhdGUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUYTA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDBhOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMGEwMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6YTA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjBhOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDowMGEwMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6YTBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjBhWiIpLAorLSAgICAgICAgICAgIC8vICIxOTcxLTAxLTAxVDAwOjAwOjAwYSIsIGFjY2VwdGVkIGFzIHBlciBpbnZhbGlkX25vX3RyYWlsaW5nX3RpbWV6b25lIGFib3ZlCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxIiksIC8vIHRydW5jYXRpb24KKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5IiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTciKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcwLTAxLTAiKSwKKy0gICAgICAgICAgICAvLyBfWFBMQVRTVFIoIjE5NzAtMDEtMDEiKSwgY29tcGxldGUgZGF0ZQorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MCIpLAorLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCIpLCAvLyBhY2NlcHRlZCBhcyBpbnZhbGlkIHRpbWV6b25lIGFib3ZlCistICAgICAgICAgICAgX1hQTEFUU1RSKCI0OTcwLTAxLTAxVDAwOjAwOjAwWiIpLCAvLyB5ZWFyIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjMwMDEtMDEtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAwLTAxVDAwOjAwOjAwWiIpLCAvLyBtb250aCB0b28gc21hbGwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMjAtMDFUMDA6MDA6MDBaIiksIC8vIG1vbnRoIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMTMtMDFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAwVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIHNtYWxsCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTMyVDAwOjAwOjAwWiIpLCAvLyBkYXkgdG9vIGJpZworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMi0zMFQwMDowMDowMFoiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMi0zMFQwMDowMDowMFoiKSwgLy8gZGF5IHRvbyBiaWcgZm9yIGZlYiAobm9uLWxlYXAgeWVhcikKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDMtMzJUMDA6MDA6MDBaIiksIC8vIG90aGVyIG1vbnRocworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wNC0zMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDUtMzJUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA2LTMxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wNy0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDgtMzJUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTA5LTMxVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0xMC0zMlQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMTEtMzFUMDA6MDA6MDBaIiksCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTEyLTMyVDAwOjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQ3MDowMDowMFoiKSwgLy8gaG91ciB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDI0OjAwOjAwWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MS0wMS0wMVQwMDo2MDowMFoiKSwgLy8gbWludXRlIHRvbyBiaWcKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzEtMDEtMDFUMDA6MDA6NzBaIiksIC8vIHNlY29uZCB0b28gYmlnCistICAgICAgICAgICAgX1hQTEFUU1RSKCIxOTcxLTAxLTAxVDAwOjAwOjYxWiIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk2OS0wMS0wMVQwMDowMDowMFoiKSwgLy8gdW5kZXJmbG93CistI2lmZGVmIF9VU0VfMzJCSVRfVElNRV9UCistICAgICAgICAgICAgX1hQTEFUU1RSKCIzMDAwLTAxLTAxVDAwOjAwOjAxWiIpLCAvLyBvdmVyZmxvdworLSNlbmRpZgorLSAgICAgICAgICAgIF9YUExBVFNUUigiMzAwMS0wMS0wMVQwMDowMDowMFoiKSwKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDEiKSwgLy8gdGltZSB6b25lIHVuZGVyZmxvdworLSAgICAgICAgICAgIC8vIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC5aIiksIC8vIGFjY2VwdGVkIGFzIGludmFsaWQgdGltZXpvbmUgYWJvdmUKKy0gICAgICAgICAgICBfWFBMQVRTVFIoIjE5NzAtMDEtMDFUMDA6MDA6MDArMjQ6MDAiKSwgLy8gYmFkIHR6b2Zmc2V0cworLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0zMDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMCsyMTo2MCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0yNDowMCIpLAorLSAgICAgICAgICAgIF9YUExBVFNUUigiMTk3MC0wMS0wMVQwMDowMDowMC0yMTo2MCIpLAorKyAgICAgICAgICAgIF9YUExBVFNUUigiIiksICAgICAvLyBlbXB0eQorKyAgICAgICAgICAgIF9YUExBVFNUUigiLloiKSwgICAvLyB0b28gc2hvcnQKKysgICAgICAgICAgICBfWFBMQVRTVFIoIi5aeCIpLCAgLy8gbm8gdHJhaWxpbmcgWgorKyAgICAgICAgICAgIF9YUExBVFNUUigiMy4xNFoiKSAvLyBub3QgYSB2YWxpZCBkYXRlCisgICAgICAgICB9OworIAorICAgICAgICAgZm9yIChjb25zdCBhdXRvJiBzdHIgOiBiYWRfc3RyaW5ncykKK0BAIC00NzcsNiArMTY2LDE2IEBAIFNVSVRFKGRhdGV0aW1lKQorICAgICAgICAgfQorICAgICB9CisgCisrICAgIFRFU1QocGFyc2luZ190aW1lX3JvdW5kdHJpcF90aW1lKQorKyAgICB7CisrICAgICAgICAvLyB0aW1lIG9ubHkgd2l0aG91dCBkYXRlCisrICAgICAgICB1dGlsaXR5OjpzdHJpbmdfdCBzdHIgPSBfWFBMQVRTVFIoIjE0OjMwOjU5LjEyMzQ1NjdaIik7CisrICAgICAgICBhdXRvIGR0ID0gdXRpbGl0eTo6ZGF0ZXRpbWU6OmZyb21fc3RyaW5nKHN0ciwgdXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysgICAgICAgIHV0aWxpdHk6OnN0cmluZ190IHN0cjIgPSBkdC50b19zdHJpbmcodXRpbGl0eTo6ZGF0ZXRpbWU6OklTT184NjAxKTsKKysgICAgICAgIC8vIE11c3QgbG9vayBmb3IgYSBzdWJzdHJpbmcgbm93LCBzaW5jZSB0aGUgZGF0ZSBwYXJ0IGlzIGZpbGxlZCB3aXRoIHRvZGF5J3MgZGF0ZQorKyAgICAgICAgVkVSSUZZX0lTX1RSVUUoc3RyMi5maW5kKHN0cikgIT0gc3RkOjpzdHJpbmc6Om5wb3MpOworKyAgICB9CisrCisgfSAvLyBTVUlURShkYXRldGltZSkKKyAKKyB9IC8vIG5hbWVzcGFjZSB1dGlsc190ZXN0cwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0L3N5c3RlbS1icm90bGkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3Qvc3lzdGVtLWJyb3RsaS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTZmNjQ3Ny4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3Qvc3lzdGVtLWJyb3RsaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaW5kIHN5c3RlbSBicm90bGkKLUF1dGhvcjogR2lhbmZyYW5jbyBDb3N0YW1hZ25hIDxsb2N1dHVzb2Zib3JnQGRlYmlhbi5vcmc+Ci1Gb3J3YXJkZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvY3BwcmVzdHNkay9wdWxsLzk1MgotTGFzdC1VcGRhdGU6IDIwMTgtMTEtMDUKLQotLS0tIGNwcHJlc3QtMi4xMC43Lm9yaWcvUmVsZWFzZS9jbWFrZS9jcHByZXN0X2ZpbmRfYnJvdGxpLmNtYWtlCi0rKysgY3BwcmVzdC0yLjEwLjcvUmVsZWFzZS9jbWFrZS9jcHByZXN0X2ZpbmRfYnJvdGxpLmNtYWtlCi1AQCAtMyw4ICszLDE3IEBAIGZ1bmN0aW9uKGNwcHJlc3RfZmluZF9icm90bGkpCi0gICAgIHJldHVybigpCi0gICBlbmRpZigpCi0gCi0tICBmaW5kX3BhY2thZ2UodW5vZmZpY2lhbC1icm90bGkgUkVRVUlSRUQpCi0gCi0tICBhZGRfbGlicmFyeShjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCBJTlRFUkZBQ0UpCi0tICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZW5jIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZGVjIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpY29tbW9uKQotKyAgZmluZF9wYWNrYWdlKFBrZ0NvbmZpZykKLSsgIHBrZ19jaGVja19tb2R1bGVzKEJST1RMSUVOQyBsaWJicm90bGllbmMpCi0rICBwa2dfY2hlY2tfbW9kdWxlcyhCUk9UTElERUMgbGliYnJvdGxpZGVjKQotKyAgaWYoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rCSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNwcHJlc3QgUFJJVkFURSAke0JST1RMSURFQ19MREZMQUdTfSAke0JST1RMSUVOQ19MREZMQUdTfSkKLSsgIGVsc2UoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rICAgIGZpbmRfcGFja2FnZSh1bm9mZmljaWFsLWJyb3RsaSBSRVFVSVJFRCkKLSsgICAgYWRkX2xpYnJhcnkoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFKQotKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdHNka19icm90bGlfaW50ZXJuYWwgSU5URVJGQUNFIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZW5jIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpZGVjIHVub2ZmaWNpYWw6OmJyb3RsaTo6YnJvdGxpY29tbW9uKQotKyAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoY3BwcmVzdCBQUklWQVRFIGNwcHJlc3RzZGtfYnJvdGxpX2ludGVybmFsKQotKyAgZW5kaWYoQlJPVExJREVDX0ZPVU5EIEFORCBCUk9UTElFTkNfRk9VTkQpCi0rCi0gZW5kZnVuY3Rpb24oKQotLS0tIGNwcHJlc3QtMi4xMC43Lm9yaWcvUmVsZWFzZS9zcmMvQ01ha2VMaXN0cy50eHQKLSsrKyBjcHByZXN0LTIuMTAuNy9SZWxlYXNlL3NyYy9DTWFrZUxpc3RzLnR4dAotQEAgLTg0LDcgKzg0LDYgQEAgZWxzZSgpCi0gICAgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKGNwcHJlc3QgUFJJVkFURSAtRENQUFJFU1RfRVhDTFVERV9CUk9UTEk9MSkKLSAgIGVsc2UoKQotICAgICBjcHByZXN0X2ZpbmRfYnJvdGxpKCkKLS0gICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGNwcHJlc3QgUFJJVkFURSBjcHByZXN0c2RrX2Jyb3RsaV9pbnRlcm5hbCkKLSAgIGVuZGlmKCkKLSBlbmRpZigpCi0gCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC4xMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzA0NTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9jcHByZXN0L2NwcHJlc3RfMi4xMC4xMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIk1pY3Jvc29mdCBwcm9qZWN0IGZvciBjbG91ZC1iYXNlZCBjbGllbnQtc2VydmVyIGNvbW11bmljYXRpb24gaW4gbmF0aXZlIGNvZGUgdXNpbmcgYSBtb2Rlcm4gYXN5bmNocm9ub3VzIEMrKyBBUEkgZGVzaWduLiIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrLyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9saWNlbnNlLnR4dDttZDU9YTJlMTViOTU0NzY5MjE4ZmY5MTI0NjhlZWNkNmEwMmYiCitERVBFTkRTID0gIm9wZW5zc2wgd2Vic29ja2V0cHAgemxpYiBib29zdCBicm90bGkiCisKK0VYVFJBX09FQ01BS0UgPSAiLURDUFBSRVNUX0VYUE9SVF9ESVI9Y21ha2UgLURDUFBSRVNUX0VYQ0xVREVfQlJPVExJPU9GRiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL01pY3Jvc29mdC9jcHByZXN0c2RrLmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovL3JldmVydC05YjY3MGU1YjMzZGZkYmQ1MDFkNjE4Y2Q3ZTc0OTgxNDhmZmJkNTU5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JldmVydC1mMTBkOWY4ZTIxNDUxNmQyYzE5YWE2ZWY4MzFlZTg3NGE1OGMwNDc5LnBhdGNoIFwKKyAgICAgICAgICAgIgorCisjIHRhZyAyLjEwLjEyCitTUkNSRVY9ICJkNGZiMWNmN2Y3ZDIyYzEyZTJlNDQyYmE1YTVlOThkMDliMGEyOGFiIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2NwcHJlc3QvY3BwcmVzdF8yLjEwLjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjYzYzODUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvY3BwcmVzdC9jcHByZXN0XzIuMTAuNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLVNVTU1BUlkgPSAiTWljcm9zb2Z0IHByb2plY3QgZm9yIGNsb3VkLWJhc2VkIGNsaWVudC1zZXJ2ZXIgY29tbXVuaWNhdGlvbiBpbiBuYXRpdmUgY29kZSB1c2luZyBhIG1vZGVybiBhc3luY2hyb25vdXMgQysrIEFQSSBkZXNpZ24uIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsvIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L2xpY2Vuc2UudHh0O21kNT1hMmUxNWI5NTQ3NjkyMThmZjkxMjQ2OGVlY2Q2YTAyZiIKLURFUEVORFMgPSAib3BlbnNzbCB3ZWJzb2NrZXRwcCB6bGliIGJvb3N0IGJyb3RsaSIKLQotRVhUUkFfT0VDTUFLRSA9ICItRENQUFJFU1RfRVhQT1JUX0RJUj1jbWFrZSAtRENQUFJFU1RfRVhDTFVERV9CUk9UTEk9T0ZGIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L2NwcHJlc3RzZGsuZ2l0O3Byb3RvY29sPWh0dHBzO2JyYW5jaD1tYXN0ZXIgXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1vdXRzaWRlLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGUtdGVzdC10aW1lb3V0cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWZsb2F0LXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzk1MC1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzdGVtLWJyb3RsaS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotIyB0YWcgMi4xMC43Ci1TUkNSRVY9ICJjNGNlZjEyOWU4ODBhM2Y5YzIzYTQ4MGU4Yzk4Mzc5Mzk2MzE3M2JiIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGNtYWtlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lbmNoYW50L2VuY2hhbnQyXzIuMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jaGFudC9lbmNoYW50Ml8yLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjE1MGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZW5jaGFudC9lbmNoYW50Ml8yLjIuMy5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIkVuY2hhbnQgU3BlbGwgY2hlY2tlciBBUEkgTGlicmFyeSB2MiIKK1NFQ1RJT04gPSAibGlicyIKK0hPTUVQQUdFID0gImh0dHBzOi8vYWJpd29yZC5naXRodWIuaW8vZW5jaGFudC8iCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL0FiaVdvcmQvZW5jaGFudC9yZWxlYXNlcy9kb3dubG9hZC92JHtQVn0vZW5jaGFudC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNGI4YWJiNThlMDBlOTMzNjM1OTFiM2Y1ZWE0ZjUyZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWJkOGU5MTU2NzVjZmY1NGMwZDRkYTUwMjlkOTVjNTI4MzYyMjY2NTU3YzYxYzcxNDlkNTNmYTA2OWI4MDc2ZCIKKworUyA9ICIke1dPUktESVJ9L2VuY2hhbnQtJHtQVn0iCisKK0VYVFJBX09FTUFLRSA9ICJwa2dkYXRhZGlyPSR7ZGF0YWRpcn0vZW5jaGFudC0yIgorCitQQUNLQUdFQ09ORklHID8/PSAiaHVuc3BlbGwiCitQQUNLQUdFQ09ORklHW2FzcGVsbF0gID0gIi0td2l0aC1hc3BlbGwsLS13aXRob3V0LWFzcGVsbCxhc3BlbGwsYXNwZWxsIgorUEFDS0FHRUNPTkZJR1todW5zcGVsbF0gID0gIi0td2l0aC1odW5zcGVsbCwtLXdpdGhvdXQtaHVuc3BlbGwsaHVuc3BlbGwsaHVuc3BlbGwiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZW5jaGFudC0yIFwKKyAgICAke2xpYmRpcn0vZW5jaGFudC0yIFwKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWstZGF0YV8xLjQ4LjA0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuNDguMDQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0ZTVkMTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay1kYXRhXzEuNDguMDQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1yZXF1aXJlIGVzcGVhay5pbmMKLQotaW5oZXJpdCBuYXRpdmUKLQotUEFDS0FHRVMgPSAiJHtQTn0iCi1GSUxFU18ke1BOfSA9ICIke2xheW91dF9kYXRhZGlyfSIKLQotUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLVRBUkdFVF9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLQotZG9fY29tcGlsZSgpIHsKLSAgICAjIEZpeGluZyBieXRlIG9yZGVyIG9mIHBob25lbWUgZGF0YSBmaWxlcwotICAgIGNkICIke1N9L3BsYXRmb3Jtcy9iaWdfZW5kaWFuIgotICAgIHNlZCAtaSAnL14gKkNDICo9L2QnIE1ha2VmaWxlCi0gICAgc2VkIC1pICdzL1woLipCWVRFX09SREVSXCkvI3VuZGVmIEJZVEVfT1JERVJcbiNkZWZpbmUgQllURV9PUkRFUiBCSUdfRU5ESUFOXG5cMS8nIGVzcGVhay1waG9uZW1lLWRhdGEuYwotICAgIG9lX3J1bm1ha2UKLSAgICAuL2VzcGVhay1waG9uZW1lLWRhdGEgIiR7U30vZXNwZWFrLWRhdGEiICIuIiAiJHtTfS9lc3BlYWstZGF0YS9waG9uZGF0YS1tYW5pZmVzdCIKLSAgICBjcCAtZiBwaG9uZGF0YSBwaG9uaW5kZXggcGhvbnRhYiAiJHtTfS9lc3BlYWstZGF0YSIKLX0KLQotZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2VzcGVhay1kYXRhL3Bob24qICR7RH0ke2xheW91dF9kYXRhZGlyfS9lc3BlYWstZGF0YQotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVhay5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ1NDU1Yy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLURFU0NSSVBUSU9OID0gImVTcGVhayBpcyBhIGNvbXBhY3Qgb3BlbiBzb3VyY2Ugc29mdHdhcmUgc3BlZWNoIHN5bnRoZXNpemVyIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xpY2Vuc2UudHh0O21kNT1jYjdhMjBlZGI0YzlmNWY0NzhkZTY1MjNkY2Q3MzYyYyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9lc3BlYWsvZXNwZWFrLTEuNDguMDQtc291cmNlLnppcCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC1vZi1zaGFyZWQtbGlicmFyeS1vbi1hcmNoaXRlY3R1cmVzLW5lZWRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjYWRkNzQ4MmVhYWZlOTIzOTU0NmJkYzA5ZmEyNDRjMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiZjlhMTc2NzNhZGZmY2MyOGZmN2VhMTg3NjRmMDYxMzY1NDdlOTdiYmQ5ZWRmMmVjNjEyZjA5YjIwN2YwNjU5IgotCi1TID0gIiR7V09SS0RJUn0vZXNwZWFrLSR7UFZ9LXNvdXJjZSIKLQotREVQRU5EUyA9ICJwb3J0YXVkaW8tdjE5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjQ4LjA0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2VzcGVha18xLjQ4LjA0LmJiCmluZGV4IDU3ZTMwZjAuLjc4ZjhmODUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9lc3BlYWtfMS40OC4wNC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZXNwZWFrXzEuNDguMDQuYmIKQEAgLTEsOCArMSwyMCBAQAotcmVxdWlyZSBlc3BlYWsuaW5jCi1pbmhlcml0IHNpdGVpbmZvCitERVNDUklQVElPTiA9ICJlU3BlYWsgaXMgYSBjb21wYWN0IG9wZW4gc291cmNlIHNvZnR3YXJlIHNwZWVjaCBzeW50aGVzaXplciIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MaWNlbnNlLnR4dDttZDU9Y2I3YTIwZWRiNGM5ZjVmNDc4ZGU2NTIzZGNkNzM2MmMiCiAKLUVYVFJBX1BIT05FTUVTID0gJyR7QGJiLnV0aWxzLmNvbnRhaW5zKCJTSVRFSU5GT19FTkRJQU5ORVNTIiwgImJlIiwgICJlc3BlYWstZGF0YSAoPSAke1BWfSkiLCAiIiwgZCl9JwotUkRFUEVORFNfJHtQTn0gPSAicG9ydGF1ZGlvLXYxOSAke0VYVFJBX1BIT05FTUVTfSIKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvZXNwZWFrL2VzcGVhay0xLjQ4LjA0LXNvdXJjZS56aXAgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtb2Ytc2hhcmVkLWxpYnJhcnktb24tYXJjaGl0ZWN0dXJlcy1uZWVkaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItdHJfbGFuZ3VhZ2VzLWNhc3Qtc3RyaW5nX29yZGluYWwtaW5pdC12YWx1ZXMucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImNhZGQ3NDgyZWFhZmU5MjM5NTQ2YmRjMDlmYTI0NGMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmOWExNzY3M2FkZmZjYzI4ZmY3ZWExODc2NGYwNjEzNjU0N2U5N2JiZDllZGYyZWM2MTJmMDliMjA3ZjA2NTkiCisKK1MgPSAiJHtXT1JLRElSfS9lc3BlYWstJHtQVn0tc291cmNlIgorCitERVBFTkRTID0gInBvcnRhdWRpby12MTkgcWVtdS1oZWxwZXItbmF0aXZlIgoraW5oZXJpdCBzaXRlaW5mbyBxZW11CisKIAogQ1hYRkxBR1MgKz0gIi1EVVNFX1BPUlRBVURJTyIKIFRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgpAQCAtMTEsMTIgKzIzLDMwIEBACiAKIGRvX2NvbmZpZ3VyZSgpIHsKICAgICAjICAic3BlYWsiIGJpbmFyeSwgYSBUVFMgZW5naW5lLCB1c2VzIHBvcnRhdWRpbyBpbiBlaXRoZXIgQVBJcyBWMTggb3IgVjE5LCB1c2UgVjE5Ci0gICAgY3AgIiR7U30vc3JjL3BvcnRhdWRpbzE5LmgiICIke1N9L3NyYy9wb3J0YXVkaW8uaCIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7U30vc3JjL3BvcnRhdWRpbzE5LmgiICIke1N9L3NyYy9wb3J0YXVkaW8uaCIKIH0KIAogZG9fY29tcGlsZSgpIHsKICAgICBjZCBzcmMKICAgICBvZV9ydW5tYWtlCisKKyAgICBjZCAiJHtTfS9wbGF0Zm9ybXMvYmlnX2VuZGlhbiIKKyAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyR7U1RBR0lOR19ESVJfVEFSR0VUfScsIFsnJHtTfS9wbGF0Zm9ybXMvYmlnX2VuZGlhbicsICcke1NUQUdJTkdfRElSX1RBUkdFVH0ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgY2F0ID5xZW11d3JhcHBlciA8PEVPRgorIyEvYmluL3NoCiskcWVtdV9iaW5hcnkgIlwkQCIKK0VPRgorICAgIGNobW9kICt4IHFlbXV3cmFwcGVyCisgICAgc2VkIC1pICcvXiAqQ0MgKj0vZCcgTWFrZWZpbGUKKyAgICAjIEZpeGluZyBieXRlIG9yZGVyIG9mIHBob25lbWUgZGF0YSBmaWxlcworICAgIGlmIFsgIiR7U0lURUlORk9fRU5ESUFOTkVTU30iID0gImJlIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAncy9cKC4qQllURV9PUkRFUlwpLyN1bmRlZiBCWVRFX09SREVSXG4jZGVmaW5lIEJZVEVfT1JERVIgQklHX0VORElBTlxuXDEvJyBlc3BlYWstcGhvbmVtZS1kYXRhLmMKKyAgICBlbHNlCisgICAgICAgIHNlZCAtaSAncy9cKC4qQllURV9PUkRFUlwpLyN1bmRlZiBCWVRFX09SREVSXG4jZGVmaW5lIEJZVEVfT1JERVIgTElUVExFX0VORElBTlxuXDEvJyBlc3BlYWstcGhvbmVtZS1kYXRhLmMKKyAgICBmaQorICAgIG9lX3J1bm1ha2UKKyAgICAuL3FlbXV3cmFwcGVyIC4vZXNwZWFrLXBob25lbWUtZGF0YSAiJHtTfS9lc3BlYWstZGF0YSIgIi4iICIke1N9L2VzcGVhay1kYXRhL3Bob25kYXRhLW1hbmlmZXN0IgorICAgIGNwIC1mIHBob25kYXRhIHBob25pbmRleCBwaG9udGFiICIke1N9L2VzcGVhay1kYXRhIgogfQogCiBkb19pbnN0YWxsKCkgewpAQCAtMzEsMTAgKzYxLDcgQEAKICAgICBsbiAtc2YgZXNwZWFrL2VzcGVhay5oICR7RH0ke2luY2x1ZGVkaXJ9LwogICAgIG9lX2xpYmluc3RhbGwgLXNvIC1DIHNyYyBsaWJlc3BlYWsgJHtEfSR7bGliZGlyfQogCi0gICAgaWYgWyAiJHtTSVRFSU5GT19FTkRJQU5ORVNTfSIgPSAiYmUiIF0gOyB0aGVuCi0gICAgICAgICMgdGhlIGJpZy1lbmRpYW4gcGhvbiogZmlsZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBwYWNrYWdlIGVzcGVhay1kYXRhCi0gICAgICAgIHJtIC1mICR7U30vZXNwZWFrLWRhdGEvcGhvbioKLSAgICBmaQotCiAgICAgY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtTfS9lc3BlYWstZGF0YS8qICR7RH0ke2RhdGFkaXJ9L2VzcGVhay1kYXRhCiB9CisKK1JERVBFTkRTXyR7UE59ID0gInBvcnRhdWRpby12MTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvMDAwMi10cl9sYW5ndWFnZXMtY2FzdC1zdHJpbmdfb3JkaW5hbC1pbml0LXZhbHVlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2VzcGVhay9maWxlcy8wMDAyLXRyX2xhbmd1YWdlcy1jYXN0LXN0cmluZ19vcmRpbmFsLWluaXQtdmFsdWVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZjM2MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvMDAwMi10cl9sYW5ndWFnZXMtY2FzdC1zdHJpbmdfb3JkaW5hbC1pbml0LXZhbHVlcy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIDQ1MTMzMGQwOWE2YTM1MDBiNDBiYzRmNTg5NmJhNzkwYWI0NmNkNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb21haW4gTmFvdXIgPHJvbWFpbi5uYW91ckBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDE1IEphbiAyMDE3IDE5OjM3OjMxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSB0cl9sYW5ndWFnZXM6IGNhc3Qgc3RyaW5nX29yZGluYWwgaW5pdCB2YWx1ZXMKKworT24gc29tZSBhcmNoaXRlY3R1cmUsICJjaGFyIiBpcyBzaWduZWQgKHg4Nl82NCwgbmlvczIuLi4pIHNvIHRoZQorY29tcGlsZXIgdHJ5IHRvIGNvbnZlcnQgaW50IDB4YzIgYW5kIDB4YmEgdG8gYSBzaWduZWQgY2hhci4KK1RoaXMgaXMgYW4gZXJyb3Igc2luY2UgZ2NjNiAoV25hcnJvd2luZykuCisKK0ZpeGVzOgoraHR0cDovL2F1dG9idWlsZC5idWlsZHJvb3QubmV0L3Jlc3VsdHMvYmFlL2JhZWY5ODg4YjE5NzlkMTgxNzE2NjhhNjc1OTg1ZTNmM2I0NWZkYTYKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtpbXBvcnRlZCBmcm9tIEJSXQorU2lnbmVkLW9mZi1ieTogUm9tYWluIE5hb3VyIDxyb21haW4ubmFvdXJAZ21haWwuY29tPgorLS0tCisgc3JjL3RyX2xhbmd1YWdlcy5jcHAgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvdHJfbGFuZ3VhZ2VzLmNwcCBiL3NyYy90cl9sYW5ndWFnZXMuY3BwCitpbmRleCA1YzgwMjg2Li5kYmM2ZTM2IDEwMDY0NAorLS0tIGEvc3JjL3RyX2xhbmd1YWdlcy5jcHAKKysrKyBiL3NyYy90cl9sYW5ndWFnZXMuY3BwCitAQCAtMjAwLDcgKzIwMCw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBjaGFyc19pZ25vcmVfendual9oeXBoZW5bXSA9IHsKKyAJMHgyMDBkLCAgMSwgLy8gemVybyB3aWR0aCBqb2luZXIKKyAJMCwgMCB9OworIAorLWNvbnN0IGNoYXIgc3RyaW5nX29yZGluYWxbXSA9IHsweGMyLDB4YmEsMH07ICAvLyBtYXNjdWxpbmUgb3JkaW5hbCBjaGFyYWN0ZXIsIFVURi04CisrY29uc3QgY2hhciBzdHJpbmdfb3JkaW5hbFtdID0geyhjaGFyKTB4YzIsKGNoYXIpMHhiYSwwfTsgIC8vIG1hc2N1bGluZSBvcmRpbmFsIGNoYXJhY3RlciwgVVRGLTgKKyAKKyAKKyBzdGF0aWMgVHJhbnNsYXRvciogTmV3VHJhbnNsYXRvcih2b2lkKQorLS0gCisyLjkuMworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZXNwZWFrL2ZpbGVzL2VzcGVhay0xLjQ4LWdjYy02LWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1OWM3OC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9lc3BlYWsvZmlsZXMvZXNwZWFrLTEuNDgtZ2NjLTYtZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtLWdpdCBhL3NyYy90cl9sYW5ndWFnZXMuY3BwIGIvc3JjL3RyX2xhbmd1YWdlcy5jcHAKLS0tLSBhL3NyYy90cl9sYW5ndWFnZXMuY3BwCi0rKysgYi9zcmMvdHJfbGFuZ3VhZ2VzLmNwcAotQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgc2hvcnQgY2hhcnNfaWdub3JlX3p3bmpfaHlwaGVuW10gPSB7Ci0gCTB4MjAwZCwgIDEsIC8vIHplcm8gd2lkdGggam9pbmVyCi0gCTAsIDAgfTsKLSAKLS1jb25zdCBjaGFyIHN0cmluZ19vcmRpbmFsW10gPSB7MHhjMiwweGJhLDB9OyAgLy8gbWFzY3VsaW5lIG9yZGluYWwgY2hhcmFjdGVyLCBVVEYtOAotK2NvbnN0IGNoYXIgc3RyaW5nX29yZGluYWxbXSA9IHsnXHhjMicsJ1x4YmEnLDB9OyAgLy8gbWFzY3VsaW5lIG9yZGluYWwgY2hhcmFjdGVyLCBVVEYtOAotIAotIAotIHN0YXRpYyBUcmFuc2xhdG9yKiBOZXdUcmFuc2xhdG9yKHZvaWQpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mYXJzaWdodC9saWJuaWNlXzAuMS4xNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCmluZGV4IDc3NTI1N2YuLjk2N2JlZWIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZhcnNpZ2h0L2xpYm5pY2VfMC4xLjE0LmJiCkBAIC0xNSwxNSArMTUsMTYgQEAKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImdzdHJlYW1lcjEuMCIKIFBBQ0tBR0VDT05GSUdbZ3VwbnBdID0gIi0tZW5hYmxlLWd1cG5wLC0tZGlzYWJsZS1ndXBucCxndXBucC1pZ2QiCi1QQUNLQUdFQ09ORklHW2dzdHJlYW1lcjAuMTBdID0gIi0td2l0aC1nc3RyZWFtZXItMC4xMCwtLXdpdGhvdXQtZ3N0cmVhbWVyLTAuMTAsZ3N0cmVhbWVyIGdzdC1wbHVnaW5zLWJhc2UiCiBQQUNLQUdFQ09ORklHW2dzdHJlYW1lcjEuMF0gPSAiLS13aXRoLWdzdHJlYW1lciwtLXdpdGhvdXQtZ3N0cmVhbWVyLGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24KIAotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLnNvICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLyouc28iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmxhICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLyoubGEiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMC4xMC8qLmEgJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5hIgotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTAuMTAvLmRlYnVnICR7bGliZGlyfS9nc3RyZWFtZXItMS4wLy5kZWJ1ZyIKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWdzdHJlYW1lci0wLjEwIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5zbyIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvKi5hIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC8uZGVidWciCiAKIGRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewogICAgIG1rZGlyICR7U30vbTQgfHwgdHJ1ZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRml4LWdzdHJlYW1lci0xLjAtZGV0ZWN0aW9uLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwLzAwMDEtRml4LWdzdHJlYW1lci0xLjAtZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTY3Y2JhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC8wMDAxLUZpeC1nc3RyZWFtZXItMS4wLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gMzY4OTg5NTI2YzMyY2RmOWQ2ODBhMzk3ZmVkZTNjYjc3M2ZhMjYwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgR2lsYmVydCA8ZmxvcHB5bUBnZW50b28ub3JnPgotRGF0ZTogRnJpLCAyOCBKdWwgMjAxNyAxNjozMTo0MSAtMDQwMAotU3ViamVjdDogW1BBVENIXSBGaXggZ3N0cmVhbWVyLTEuMCBkZXRlY3Rpb24KLQotVXBzdHJlYW0gU3RhdGU6IEJhY2twb3J0Ci0KLS0tLQotIGNtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvRmluZEdTdHJlYW1lcl8xXzAuY21ha2UgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQotaW5kZXggM2FhOGZjNi4uNmZiYzBlYyAxMDA2NDQKLS0tLSBhL2NtYWtlL0ZpbmRHU3RyZWFtZXJfMV8wLmNtYWtlCi0rKysgYi9jbWFrZS9GaW5kR1N0cmVhbWVyXzFfMC5jbWFrZQotQEAgLTU5LDcgKzU5LDcgQEAgbWFjcm8oRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UIF9jb21wb25lbnRfcHJlZml4IF9wa2djb25maWdfbmFtZSBfbGlicmFyeSkKLSAKLSAgICAgc3RyaW5nKFJFR0VYIE1BVENIICIoLiopPj0oLiopIiBfZHVtbXkgIiR7X3BrZ2NvbmZpZ19uYW1lfSIpCi0gICAgIGlmICgiJHtDTUFLRV9NQVRDSF8yfSIgU1RSRVFVQUwgIiIpCi0tICAgICAgICBwa2dfY2hlY2tfbW9kdWxlcyhQQ18ke19jb21wb25lbnRfcHJlZml4fSAiJHtfcGtnY29uZmlnX25hbWV9ID49ICR7R1N0cmVhbWVyX0ZJTkRfVkVSU0lPTn0iKQotKyAgICAgICAgcGtnX2NoZWNrX21vZHVsZXMoUENfJHtfY29tcG9uZW50X3ByZWZpeH0gIiR7X3BrZ2NvbmZpZ19uYW1lfSA+PSAke0dTVFJFQU1FUl8xXzBfTUlOSU1VTV9WRVJTSU9OfSIpCi0gICAgIGVsc2UgKCkKLSAgICAgICAgIHBrZ19jaGVja19tb2R1bGVzKFBDXyR7X2NvbXBvbmVudF9wcmVmaXh9ICR7X3BrZ2NvbmZpZ19uYW1lfSkKLSAgICAgZW5kaWYgKCkKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcC93aW5wci1tYWtlY2VydC1CdWlsZC13aXRoLWluc3RhbGwtUlBBVEgucGF0Y2gKaW5kZXggMGQ3ZGNjMi4uMGY2ZjU3NSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwL3dpbnByLW1ha2VjZXJ0LUJ1aWxkLXdpdGgtaW5zdGFsbC1SUEFUSC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHAvd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoCkBAIC0xMiwxMyArMTIsMTMgQEAKICB3aW5wci90b29scy9tYWtlY2VydC1jbGkvQ01ha2VMaXN0cy50eHQgfCAzICsrKwogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKIAotZGlmZiAtLWdpdCBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dCBiL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAotaW5kZXggNzRhZmEwOS4uOGQwMGVmMSAxMDA2NDQKLS0tLSBhL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAotKysrIGIvd2lucHIvdG9vbHMvbWFrZWNlcnQtY2xpL0NNYWtlTGlzdHMudHh0CitJbmRleDogZ2l0L3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3dpbnByL3Rvb2xzL21ha2VjZXJ0LWNsaS9DTWFrZUxpc3RzLnR4dAorKysrIGdpdC93aW5wci90b29scy9tYWtlY2VydC1jbGkvQ01ha2VMaXN0cy50eHQKIEBAIC00NCw2ICs0NCw5IEBAIHNldCgke01PRFVMRV9QUkVGSVh9X0xJQlMgd2lucHItdG9vbHMpCiAgCi0gdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7TU9EVUxFX05BTUV9ICR7JHtNT0RVTEVfUFJFRklYfV9MSUJTfSkKKyB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtNT0RVTEVfTkFNRX0gJHske01PRFVMRV9QUkVGSVh9X0xJQlN9IHdpbnByKQogIAogK3NldF90YXJnZXRfcHJvcGVydGllcygke01PRFVMRV9OQU1FfSBQUk9QRVJUSUVTCiArICAgICAgIEJVSUxEX1dJVEhfSU5TVEFMTF9SUEFUSCAxKQpAQCAtMjYsNiArMjYsMyBAQAogIHNldF9wcm9wZXJ0eShUQVJHRVQgJHtNT0RVTEVfTkFNRX0gUFJPUEVSVFkgRk9MREVSICJXaW5QUi9Ub29scyIpCiAgCiAgaW5zdGFsbChUQVJHRVRTICR7TU9EVUxFX05BTUV9IERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9IENPTVBPTkVOVCB0b29scyBFWFBPUlQgV2luUFJUYXJnZXRzKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnJlZXJkcC9mcmVlcmRwX2dpdC5iYgppbmRleCA4OGFlYzljLi4zNzNjNDk3IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9mcmVlcmRwL2ZyZWVyZHBfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ZyZWVyZHAvZnJlZXJkcF9naXQuYmIKQEAgLTEzLDEwICsxMywxMCBAQAogUFYgPSAiMi4wLjArZ2l0ciR7U1JDUFZ9IgogUEtHViA9ICIke0dJVFBLR1ZUQUd9IgogCi1TUkNSRVYgPSAiMTY0OGRlYjQzNWFkNTIyMDZmN2FhMmFmZTRiNGRmZjcxZDkzMjliYyIKKyMgMi4wLjAtcmM0CitTUkNSRVYgPSAiZTIxYjcyYzk1Zjg1NzgxN2I0YjMyYjVlZjU0MDYzNTVjMDA1YTllOCIKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9GcmVlUkRQL0ZyZWVSRFAuZ2l0IFwKICAgICBmaWxlOi8vd2lucHItbWFrZWNlcnQtQnVpbGQtd2l0aC1pbnN0YWxsLVJQQVRILnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1GaXgtZ3N0cmVhbWVyLTEuMC1kZXRlY3Rpb24ucGF0Y2ggXAogIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZnVuY3Rpb24yL2Z1bmN0aW9uMl80LjAuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Z1bmN0aW9uMi9mdW5jdGlvbjJfNC4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU2YTI1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2Z1bmN0aW9uMi9mdW5jdGlvbjJfNC4wLjAuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICJJbXByb3ZlZCBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBzdGQ6OmZ1bmN0aW9uIgorREVTQ1JJUFRJT04gPSAiUHJvdmlkZXMgaW1wcm92ZWQgaW1wbGVtZW50YXRpb25zIG9mIHN0ZDo6ZnVuY3Rpb24uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9uYWlvcy5naXRodWIuaW8vZnVuY3Rpb24yIgorTElDRU5TRSA9ICJCU0wtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIgorU1JDUkVWID0gImQyYWNkYjZjM2M3NjEyYTYxMzNjZDAzNDY0ZWY5NDExNjEyNThmNGUiCitQViAuPSAiK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJICs9ICJnaXRzbTovL2dpdGh1Yi5jb20vTmFpb3MvZnVuY3Rpb24yIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCitpbmhlcml0IHB0ZXN0CisKKyMgSW5zdGFsbHMgc29tZSBkYXRhIHRvIGluY29ycmVjdCB0b3AtbGV2ZWwgL3VzciBkaXJlY3RvcnkKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCW1rZGlyIC1wICR7RH0vJHtkYXRhZGlyfS9mdW5jdGlvbjIKKwltdiAke0R9LyR7cHJlZml4fS9SZWFkbWUubWQgJHtEfS8ke2RhdGFkaXJ9L2Z1bmN0aW9uMi8KKwltdiAke0R9LyR7cHJlZml4fS9MSUNFTlNFLnR4dCAke0R9LyR7ZGF0YWRpcn0vZnVuY3Rpb24yLworfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYi9DVkUtMjAxOC0xNzk0Mi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWIvQ1ZFLTIwMTgtMTc5NDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3ZTgyYjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYi9DVkUtMjAxOC0xNzk0Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLUZyb20gZTkxNjAwYTdhYWUzYmFmYmVmYmUxM2FiZjc3MWU2MWJhZGQxNjI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDE2IE9jdCAyMDE4IDE0OjI2OjExICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHZhc25wcmludGY6IEZpeCBoZWFwIG1lbW9yeSBvdmVycnVuIGJ1Zy4KLQotUmVwb3J0ZWQgYnkgQmVuIFBmYWZmIDxibHBAY3Muc3RhbmZvcmQuZWR1PiBpbgotPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWdudWxpYi8yMDE4LTA5L21zZzAwMTA3Lmh0bWw+LgotCi0qIGxpYi92YXNucHJpbnRmLmMgKGNvbnZlcnRfdG9fZGVjaW1hbCk6IEFsbG9jYXRlIG9uZSBtb3JlIGJ5dGUgb2YKLW1lbW9yeS4KLSogdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgKHRlc3RfZnVuY3Rpb24pOiBBZGQgYW5vdGhlciB0ZXN0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWdudWxpYi5naXQ7Ci1hPWNvbW1pdGRpZmY7aD0yNzhiNDE3NWM5ZDdkZDQ3YzFhMzA3MTU1NGFhYzAyYWRkM2IzYzM1XQotCi1DVkU6IENWRS0yMDE4LTE3OTQyCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCi0gbGliL3Zhc25wcmludGYuYyAgICAgICAgfCAgNCArKystCi0gdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgfCAxOSArKysrKysrKysrKysrKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCi1pbmRleCA5ODY0MzUzLi41ZmY3NmEzIDEwMDY0NAotLS0tIGEvQ2hhbmdlTG9nCi0rKysgYi9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMTEgQEAKLSsyMDE4LTA5LTIzICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+Ci0rIAl2YXNucHJpbnRmOiBGaXggaGVhcCBtZW1vcnkgb3ZlcnJ1biBidWcuCi0rCVJlcG9ydGVkIGJ5IEJlbiBQZmFmZiA8YmxwQGNzLnN0YW5mb3JkLmVkdT4gaW4KLSsJPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWdudWxpYi8yMDE4LTA5L21zZzAwMTA3Lmh0bWw+LgotKwkqIGxpYi92YXNucHJpbnRmLmMgKGNvbnZlcnRfdG9fZGVjaW1hbCk6IEFsbG9jYXRlIG9uZSBtb3JlIGJ5dGUgb2YKLSsJbWVtb3J5LgotKwkqIHRlc3RzL3Rlc3QtdmFzbnByaW50Zi5jICh0ZXN0X2Z1bmN0aW9uKTogQWRkIGFub3RoZXIgdGVzdC4KLSsKLSAyMDE3LTA4LTIxICBQYXVsIEVnZ2VydCAgPGVnZ2VydEBjcy51Y2xhLmVkdT4KLSAKLSAJdmMtbGlzdC1maWxlczogcG9ydCB0byBTb2xhcmlzIDEwCi1kaWZmIC0tZ2l0IGEvbGliL3Zhc25wcmludGYuYyBiL2xpYi92YXNucHJpbnRmLmMKLWluZGV4IDJlNGViMTkuLjQ1ZGU0OWYgMTAwNjQ0Ci0tLS0gYS9saWIvdmFzbnByaW50Zi5jCi0rKysgYi9saWIvdmFzbnByaW50Zi5jCi1AQCAtODYwLDcgKzg2MCw5IEBAIGNvbnZlcnRfdG9fZGVjaW1hbCAobXBuX3QgYSwgc2l6ZV90IGV4dHJhX3plcm9lcykKLSAgIHNpemVfdCBhX2xlbiA9IGEubmxpbWJzOwotICAgLyogMC4wMzM0NSBpcyBzbGlnaHRseSBsYXJnZXIgdGhhbiBsb2coMikvKDkqbG9nKDEwKSkuICAqLwotICAgc2l6ZV90IGNfbGVuID0gOSAqICgoc2l6ZV90KShhX2xlbiAqIChHTVBfTElNQl9CSVRTICogMC4wMzM0NWYpKSArIDEpOwotLSAgY2hhciAqY19wdHIgPSAoY2hhciAqKSBtYWxsb2MgKHhzdW0gKGNfbGVuLCBleHRyYV96ZXJvZXMpKTsKLSsgIC8qIFdlIG5lZWQgZXh0cmFfemVyb2VzIGJ5dGVzIGZvciB6ZXJvZXMsIGZvbGxvd2VkIGJ5IGNfbGVuIGJ5dGVzIGZvciB0aGUKLSsgICAgIGRpZ2l0cyBvZiBhLCBmb2xsb3dlZCBieSAxIGJ5dGUgZm9yIHRoZSB0ZXJtaW5hdGluZyBOVUwuICAqLwotKyAgY2hhciAqY19wdHIgPSAoY2hhciAqKSBtYWxsb2MgKHhzdW0gKHhzdW0gKGV4dHJhX3plcm9lcywgY19sZW4pLCAxKSk7Ci0gICBpZiAoY19wdHIgIT0gTlVMTCkKLSAgICAgewotICAgICAgIGNoYXIgKmRfcHRyID0gY19wdHI7Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC12YXNucHJpbnRmLmMgYi90ZXN0cy90ZXN0LXZhc25wcmludGYuYwotaW5kZXggMmRkODY5Zi4uZmY2OGQ1YyAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3QtdmFzbnByaW50Zi5jCi0rKysgYi90ZXN0cy90ZXN0LXZhc25wcmludGYuYwotQEAgLTUzLDcgKzUzLDI0IEBAIHRlc3RfZnVuY3Rpb24gKGNoYXIgKiAoKm15X2FzbnByaW50ZikgKGNoYXIgKiwgc2l6ZV90ICosIGNvbnN0IGNoYXIgKiwgLi4uKSkKLSAgICAgICBBU1NFUlQgKHJlc3VsdCAhPSBOVUxMKTsKLSAgICAgICBBU1NFUlQgKHN0cmNtcCAocmVzdWx0LCAiMTIzNDUiKSA9PSAwKTsKLSAgICAgICBBU1NFUlQgKGxlbmd0aCA9PSA1KTsKLS0gICAgICBpZiAoc2l6ZSA8IDYpCi0rICAgICAgaWYgKHNpemUgPCA1ICsgMSkKLSsgICAgICAgIEFTU0VSVCAocmVzdWx0ICE9IGJ1Zik7Ci0rICAgICAgQVNTRVJUIChtZW1jbXAgKGJ1ZiArIHNpemUsICYiREVBREJFRUYiW3NpemVdLCA4IC0gc2l6ZSkgPT0gMCk7Ci0rICAgICAgaWYgKHJlc3VsdCAhPSBidWYpCi0rICAgICAgICBmcmVlIChyZXN1bHQpOwotKyAgICB9Ci0rICAgLyogTm90ZTogVGhpcyB0ZXN0IGFzc3VtZXMgSUVFRSA3NTQgcmVwcmVzZW50YXRpb24gb2YgJ2RvdWJsZScgZmxvYXRzLiAgKi8KLSsgIGZvciAoc2l6ZSA9IDA7IHNpemUgPD0gODsgc2l6ZSsrKQotKyAgICB7Ci0rICAgICAgc2l6ZV90IGxlbmd0aDsKLSsgICAgICBjaGFyICpyZXN1bHQ7Ci0rICAgICAgIG1lbWNweSAoYnVmLCAiREVBREJFRUYiLCA4KTsKLSsgICAgICBsZW5ndGggPSBzaXplOwotKyAgICAgIHJlc3VsdCA9IG15X2FzbnByaW50ZiAoYnVmLCAmbGVuZ3RoLCAiJTIuMGYiLCAxLjYzMTQxNTkyNjUzNTg5NzllKzEyNSk7Ci0rICAgICAgQVNTRVJUIChyZXN1bHQgIT0gTlVMTCk7Ci0rICAgICAgQVNTRVJUIChzdHJjbXAgKHJlc3VsdCwgIjE2MzE0MTU5MjY1MzU4OTc5MDIxNTcyOTM1MDkzOTUyODQ5MzA1NzUyOTU5ODg5OTczNDE1MTc3MjQ2ODE4NjI2ODQyMzI1Nzc3NzA2ODUzNjYxNDgzODY3ODE2MTA4MzUyMDc1Njk1MjA3NjI3MzA5NDIzNjk0NDk5MDIwOCIpID09IDApOwotKyAgICAgIEFTU0VSVCAobGVuZ3RoID09IDEyNik7Ci0rICAgICAgaWYgKHNpemUgPCAxMjYgKyAxKQotICAgICAgICAgQVNTRVJUIChyZXN1bHQgIT0gYnVmKTsKLSAgICAgICBBU1NFUlQgKG1lbWNtcCAoYnVmICsgc2l6ZSwgJiJERUFEQkVFRiJbc2l6ZV0sIDggLSBzaXplKSA9PSAwKTsKLSAgICAgICBpZiAocmVzdWx0ICE9IGJ1ZikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE3LTA4LTIwLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ251bGliL2dudWxpYl8yMDE3LTA4LTIwLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDQ4ODEwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxNy0wOC0yMC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIEdOVSBwb3J0YWJpbGl0eSBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiQSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIHN1YnJvdXRpbmVzIHdoaWNoIGFyZSBkZXNpZ25lZCB0byBcCi1iZSB1c2FibGUgb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gVGhlIGdvYWwgb2YgdGhlIHByb2plY3QgXAotaXMgdG8gbWFrZSBpdCBlYXN5IGZvciBmcmVlIHNvZnR3YXJlIGF1dGhvcnMgdG8gbWFrZSB0aGVpciBcCi1zb2Z0d2FyZSBydW4gb24gbWFueSBvcGVyYXRpbmcgc3lzdGVtcy4gU2luY2Ugc291cmNlIGlzIGRlc2lnbmVkIFwKLXRvIGJlIGNvcGllZCBmcm9tIGdudWxpYiwgaXQgaXMgbm90IGEgbGlicmFyeSBwZXItc2UsIGFzIG11Y2ggXAotYXMgYSBjb2xsZWN0aW9uIG9mIHBvcnRhYmxlIGlkaW9tcyB0byBiZSB1c2VkIGluIG90aGVyIHByb2plY3RzLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudWxpYi8iCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJMR1BMdjIrIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NmEyMmE2ZTViY2NlNDVlMmM4YWMxODRmODE0MTJiNSIKLVNSQ1JFViA9ICJiMjMwMDBkZTFlNDdjN2Q1ODBlMGUyMjA5NjZkZDFlZTQyYTVlNWJjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC5zdi5nbnUub3JnL2dudWxpYjtwcm90b2NvbD1naXQgXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTc5NDIucGF0Y2ggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBjZCAke1N9Ci0gICAgZ2l0IGNoZWNrb3V0IG1hc3RlcgotICAgIGdpdCBjbG9uZSAke1N9ICR7RH0vJHtkYXRhZGlyfS9nbnVsaWIKLSAgICBjZCAke0R9LyR7ZGF0YWRpcn0vZ251bGliCi0gICAgZ2l0IGFtICR7V09SS0RJUn0vQ1ZFLTIwMTgtMTc5NDIucGF0Y2gKLX0KLQotZG9fcGF0Y2hbbm9leGVjXSA9ICIxIgotZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKLWRvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgotZG9fcGFja2FnZVtub2V4ZWNdID0gIjEiCi1kb19wYWNrYWdlZGF0YVtub2V4ZWNdID0gIjEiCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfaXBrCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfZGViCi1kZWx0YXNrIHBhY2thZ2Vfd3JpdGVfcnBtCi1kZWx0YXNrIGRvX2RlcGxveV9hcmNoaXZlcyAKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTgtMDMtMDcuMDMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9nbnVsaWIvZ251bGliXzIwMTgtMDMtMDcuMDMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ2NzQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dudWxpYi9nbnVsaWJfMjAxOC0wMy0wNy4wMy5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlRoZSBHTlUgcG9ydGFiaWxpdHkgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBzdWJyb3V0aW5lcyB3aGljaCBhcmUgZGVzaWduZWQgdG8gXAorYmUgdXNhYmxlIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFRoZSBnb2FsIG9mIHRoZSBwcm9qZWN0IFwKK2lzIHRvIG1ha2UgaXQgZWFzeSBmb3IgZnJlZSBzb2Z0d2FyZSBhdXRob3JzIHRvIG1ha2UgdGhlaXIgXAorc29mdHdhcmUgcnVuIG9uIG1hbnkgb3BlcmF0aW5nIHN5c3RlbXMuIFNpbmNlIHNvdXJjZSBpcyBkZXNpZ25lZCBcCit0byBiZSBjb3BpZWQgZnJvbSBnbnVsaWIsIGl0IGlzIG5vdCBhIGxpYnJhcnkgcGVyLXNlLCBhcyBtdWNoIFwKK2FzIGEgY29sbGVjdGlvbiBvZiBwb3J0YWJsZSBpZGlvbXMgdG8gYmUgdXNlZCBpbiBvdGhlciBwcm9qZWN0cy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9nbnVsaWIvIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTZhMjJhNmU1YmNjZTQ1ZTJjOGFjMTg0ZjgxNDEyYjUiCitTUkNSRVYgPSAiMGQ2ZTMzMDdiYmRiOGRmNGQ1NjA0M2Q1ZjM3M2VlZWZmZTRjYmVmMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQuc3YuZ251Lm9yZy9nbnVsaWIuZ2l0IFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCB1dGlscworCitkb19pbnN0YWxsICgpIHsKKyAgICBjZCAke1N9CisgICAgY2hlY2tfZ2l0X2NvbmZpZworICAgIGdpdCBjaGVja291dCBtYXN0ZXIKKyAgICBnaXQgY2xvbmUgJHtTfSAke0R9LyR7ZGF0YWRpcn0vZ251bGliCit9CisKK2RvX3BhdGNoW25vZXhlY10gPSAiMSIKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKK2RvX3BhY2thZ2Vbbm9leGVjXSA9ICIxIgorZG9fcGFja2FnZWRhdGFbbm9leGVjXSA9ICIxIgorZGVsdGFzayBwYWNrYWdlX3dyaXRlX2lwaworZGVsdGFzayBwYWNrYWdlX3dyaXRlX2RlYgorZGVsdGFzayBwYWNrYWdlX3dyaXRlX3JwbQorZGVsdGFzayBkb19kZXBsb3lfYXJjaGl2ZXMgCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2dwZXJmdG9vbHMvZ3BlcmZ0b29sc18yLjcuYmIKaW5kZXggZTlmY2M0Yy4uYzhiOTEyNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvZ3BlcmZ0b29scy9ncGVyZnRvb2xzXzIuNy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9ncGVyZnRvb2xzL2dwZXJmdG9vbHNfMi43LmJiCkBAIC0yNiw0ICsyNiw1IEBACiAjIHtzdGFuZGFyZCBpbnB1dH06NDM0OiBFcnJvcjogbG8gcmVnaXN0ZXIgcmVxdWlyZWQgLS0gYGxkciBwYyxbc3BdJwogIyBNYWtlZmlsZTo0NTM4OiByZWNpcGUgZm9yIHRhcmdldCAnc3JjL2Jhc2UvbGlidGNtYWxsb2NfbGEtbGludXh0aHJlYWRzLmxvJyBmYWlsZWQKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF90b29sY2hhaW4tY2xhbmdfYXJtID0gImFybSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZjE2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzLzAwMDEtY3Jvc3MtY29tcGlsaW5nLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorRnJvbSAxYjRmYWRmNTUwNTg3YjQ2ZTQwNWQ3Y2NiNzc3ZGNiMDBhYTc5MWEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxNTozOToxNSArMDgwMAorU3ViamVjdDogW1BBVENIIDEvMl0gY3Jvc3MgY29tcGlsaW5nIHN1cHBvcnQKKworRG8gbm90IGdlbmVyYXRlIGNvbmZpZyBmaWxlcyBhdCBidWlsZCB0aW1lLCB1c2UgcHJlLWdlbmVyYXRlZAorZmlsZXMgdG8gaW5zdGVhZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgIHwgIDYgKysrKysrCisgc3JjL0NNYWtlTGlzdHMudHh0IHwgMjMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAwOGE2NWM0Li45YWYxNGQ1IDEwMDY0NAorLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrKyBiL0NNYWtlTGlzdHMudHh0CitAQCAtODE3LDQgKzgxNywxMCBAQCBlbmRpZiAoKQorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIGNvbmZpZ3VyZV9maWxlICgke0hERl9SRVNPVVJDRVNfRElSfS9INXB1YmNvbmYuaC5pbiAke0hERjVfQklOQVJZX0RJUn0vSDVwdWJjb25mLmggQE9OTFkpCisgCisrIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrIyBDb3B5IHRoZSBwcmUtZ2VuZXJhdGVkIGZpbGVzIGluIHBsYWNlCisrIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisrY29uZmlndXJlX2ZpbGUoSDVUaW5pdC5jIEg1VGluaXQuYyBDT1BZT05MWSkKKytjb25maWd1cmVfZmlsZShINWxpYl9zZXR0aW5ncy5jIEg1bGliX3NldHRpbmdzLmMgQ09QWU9OTFkpCisrCisgaW5jbHVkZSAoQ01ha2VJbnN0YWxsYXRpb24uY21ha2UpCitkaWZmIC0tZ2l0IGEvc3JjL0NNYWtlTGlzdHMudHh0IGIvc3JjL0NNYWtlTGlzdHMudHh0CitpbmRleCBkMzQzMjA4Li5kMTE1MjViIDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC02MTMsMzIgKzYxMyw5IEBAIHNldCAoSDVfUFJJVkFURV9IRUFERVJTCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgYWRkX2V4ZWN1dGFibGUgKEg1ZGV0ZWN0ICR7SERGNV9TUkNfRElSfS9INWRldGVjdC5jKQorIFRBUkdFVF9DX1BST1BFUlRJRVMgKEg1ZGV0ZWN0IFNUQVRJQyAiICIgIiAiKQorLWlmIChNU1ZDIE9SIE1JTkdXKQorLSAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzIChINWRldGVjdCAid3MyXzMyLmxpYiIpCistZW5kaWYgKCkKKy0KKy1zZXQgKENNRCAkPFRBUkdFVF9GSUxFOkg1ZGV0ZWN0PikKKy1hZGRfY3VzdG9tX2NvbW1hbmQgKAorLSAgICBPVVRQVVQgJHtIREY1X0JJTkFSWV9ESVJ9L0g1VGluaXQuYworLSAgICBDT01NQU5EICR7Q01EfQorLSAgICBBUkdTID4gJHtIREY1X0JJTkFSWV9ESVJ9L0g1VGluaXQuYworLSAgICBERVBFTkRTIEg1ZGV0ZWN0CistKQorIAorIGFkZF9leGVjdXRhYmxlIChINW1ha2VfbGlic2V0dGluZ3MgJHtIREY1X1NSQ19ESVJ9L0g1bWFrZV9saWJzZXR0aW5ncy5jKQorIFRBUkdFVF9DX1BST1BFUlRJRVMgKEg1bWFrZV9saWJzZXR0aW5ncyBTVEFUSUMgIiAiICIgIikKKy1pZiAoTVNWQyBPUiBNSU5HVykKKy0gIHRhcmdldF9saW5rX2xpYnJhcmllcyAoSDVtYWtlX2xpYnNldHRpbmdzICJ3czJfMzIubGliIikKKy1lbmRpZiAoKQorLQorLXNldCAoQ01EICQ8VEFSR0VUX0ZJTEU6SDVtYWtlX2xpYnNldHRpbmdzPikKKy1hZGRfY3VzdG9tX2NvbW1hbmQgKAorLSAgICBPVVRQVVQgJHtIREY1X0JJTkFSWV9ESVJ9L0g1bGliX3NldHRpbmdzLmMKKy0gICAgQ09NTUFORCAke0NNRH0KKy0gICAgQVJHUyA+ICR7SERGNV9CSU5BUllfRElSfS9INWxpYl9zZXR0aW5ncy5jCistICAgIERFUEVORFMgSDVtYWtlX2xpYnNldHRpbmdzCistICAgIFdPUktJTkdfRElSRUNUT1JZICR7SERGNV9CSU5BUllfRElSfQorLSkKKyAKKyBpZiAoR0VORVJBVEVfRVJST1JfSEVBREVSUykKKyAgIGZpbmRfcGFja2FnZSAoUGVybCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9maWxlcy8wMDAyLVJlbW92ZS1zdWZmaXgtc2hhcmVkLWZyb20tc2hhcmVkLWxpYnJhcnktbmFtZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvMDAwMi1SZW1vdmUtc3VmZml4LXNoYXJlZC1mcm9tLXNoYXJlZC1saWJyYXJ5LW5hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmY4OTM3OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvMDAwMi1SZW1vdmUtc3VmZml4LXNoYXJlZC1mcm9tLXNoYXJlZC1saWJyYXJ5LW5hbWUucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSBmNzYxNDE4NjRlZGY3MTAwYzFjMjliZWMxNTllYTYyOTA3N2E3ZmEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyOSBKYW4gMjAxOSAxMToxMzo0MiArMDgwMAorU3ViamVjdDogW1BBVENIIDIvMl0gUmVtb3ZlIHN1ZmZpeCBgLXNoYXJlZCcgZnJvbSBzaGFyZWQgbGlicmFyeSBuYW1lCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0IHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggOWFmMTRkNS4uMDUxMDBlMyAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTE1MywxOCArMTUzLDE4IEBAIHNldCAoSERGNV9GOTBfVEVTVF9MSUJfVEFSR0VUICAgICAiJHtIREY1X0Y5MF9URVNUX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKyBzZXQgKEhERjVfRjkwX0NfVEVTVF9MSUJfVEFSR0VUICAgIiR7SERGNV9GOTBfQ19URVNUX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKyBzZXQgKEhERjVfSExfRjkwX0xJQl9UQVJHRVQgICAgICAgIiR7SERGNV9ITF9GOTBfTElCX0NPUkVOQU1FfS1zdGF0aWMiKQorIHNldCAoSERGNV9ITF9GOTBfQ19MSUJfVEFSR0VUICAgICAiJHtIREY1X0hMX0Y5MF9DX0xJQl9DT1JFTkFNRX0tc3RhdGljIikKKy1zZXQgKEhERjVfTElCU0hfVEFSR0VUICAgICAgICAgICAgIiR7SERGNV9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X1RFU1RfTElCU0hfVEFSR0VUICAgICAgICIke0hERjVfVEVTVF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0NQUF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfQ1BQX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfSExfTElCU0hfVEFSR0VUICAgICAgICAgIiR7SERGNV9ITF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0hMX0NQUF9MSUJTSF9UQVJHRVQgICAgICIke0hERjVfSExfQ1BQX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfVE9PTFNfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9UT09MU19MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0Y5MF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfRjkwX0xJQl9DT1JFTkFNRX0tc2hhcmVkIikKKy1zZXQgKEhERjVfRjkwX0NfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9GOTBfQ19MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0Y5MF9URVNUX0xJQlNIX1RBUkdFVCAgICIke0hERjVfRjkwX1RFU1RfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9GOTBfQ19URVNUX0xJQlNIX1RBUkdFVCAiJHtIREY1X0Y5MF9DX1RFU1RfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorLXNldCAoSERGNV9ITF9GOTBfTElCU0hfVEFSR0VUICAgICAiJHtIREY1X0hMX0Y5MF9MSUJfQ09SRU5BTUV9LXNoYXJlZCIpCistc2V0IChIREY1X0hMX0Y5MF9DX0xJQlNIX1RBUkdFVCAgICIke0hERjVfSExfRjkwX0NfTElCX0NPUkVOQU1FfS1zaGFyZWQiKQorK3NldCAoSERGNV9MSUJTSF9UQVJHRVQgICAgICAgICAgICAiJHtIREY1X0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9URVNUX0xJQlNIX1RBUkdFVCAgICAgICAiJHtIREY1X1RFU1RfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0NQUF9MSUJTSF9UQVJHRVQgICAgICAgICIke0hERjVfQ1BQX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9ITF9MSUJTSF9UQVJHRVQgICAgICAgICAiJHtIREY1X0hMX0xJQl9DT1JFTkFNRX0iKQorK3NldCAoSERGNV9ITF9DUFBfTElCU0hfVEFSR0VUICAgICAiJHtIREY1X0hMX0NQUF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfVE9PTFNfTElCU0hfVEFSR0VUICAgICAgIiR7SERGNV9UT09MU19MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfRjkwX0xJQlNIX1RBUkdFVCAgICAgICAgIiR7SERGNV9GOTBfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9DX0xJQlNIX1RBUkdFVCAgICAgICIke0hERjVfRjkwX0NfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9URVNUX0xJQlNIX1RBUkdFVCAgICIke0hERjVfRjkwX1RFU1RfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0Y5MF9DX1RFU1RfTElCU0hfVEFSR0VUICIke0hERjVfRjkwX0NfVEVTVF9MSUJfQ09SRU5BTUV9IikKKytzZXQgKEhERjVfSExfRjkwX0xJQlNIX1RBUkdFVCAgICAgIiR7SERGNV9ITF9GOTBfTElCX0NPUkVOQU1FfSIpCisrc2V0IChIREY1X0hMX0Y5MF9DX0xJQlNIX1RBUkdFVCAgICIke0hERjVfSExfRjkwX0NfTElCX0NPUkVOQU1FfSIpCisgCisgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBEZWZpbmUgc29tZSBDTWFrZSB2YXJpYWJsZXMgZm9yIHVzZSBsYXRlciBpbiB0aGUgcHJvamVjdAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtMzIuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC0zMi5jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwNTdhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtMzIuYwpAQCAtMCwwICsxLDk3NSBAQAorLyogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgSDVkZXRlY3QgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJTWFyICA1LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdWFybT4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmFyaW91cyBpbnRlZ2VyIGFuZAorICoJCQlmbG9hdGluZyBwb2ludCBudW1lcmljIGZvcm1hdHMgZm91bmQgb24gdGhpcworICoJCQlhcmNoaXRlY3R1cmUuICBUaGUgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUKKyAqCQkJY2hlY2tlZCBjYXJlZnVsbHkgYW5kIGVycm9ycyByZXBvcnRlZCB0byB0aGUKKyAqCQkJSERGNSBtYWludGFpbmVyLgorICoJCQkKKyAqCQkJRWFjaCBvZiB0aGUgbnVtZXJpYyBmb3JtYXRzIGxpc3RlZCBiZWxvdyBhcmUKKyAqCQkJcHJpbnRlZCBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQgYml0IHRvIGxlYXN0CisgKgkJCXNpZ25pZmljYW50IGJpdCBldmVuIHRob3VnaCB0aGUgYWN0dWFsIGJ5dGVzCisgKgkJCW1pZ2h0IGJlIHN0b3JlZCBpbiBhIGRpZmZlcmVudCBvcmRlciBpbgorICoJCQltZW1vcnkuCSBUaGUgaW50ZWdlcnMgYWJvdmUgZWFjaCBiaW5hcnkgYnl0ZQorICoJCQlpbmRpY2F0ZSB0aGUgcmVsYXRpdmUgb3JkZXIgb2YgdGhlIGJ5dGVzIGluCisgKgkJCW1lbW9yeTsgbGl0dGxlLWVuZGlhbiBtYWNoaW5lcyBoYXZlCisgKgkJCWRlY3JlYXNpbmcgbnVtYmVycyB3aGlsZSBiaWctZW5kaWFuIG1hY2hpbmVzCisgKgkJCWhhdmUgaW5jcmVhc2luZyBudW1iZXJzLgorICoJCQkKKyAqCQkJVGhlIGZpZWxkcyBvZiB0aGUgbnVtYmVycyBhcmUgcHJpbnRlZCBhcworICoJCQlsZXR0ZXJzIHdpdGggYFMnIGZvciB0aGUgbWFudGlzc2Egc2lnbiBiaXQsCisgKgkJCWBNJyBmb3IgdGhlIG1hbnRpc3NhIG1hZ25pdHVkZSwgYW5kIGBFJyBmb3IKKyAqCQkJdGhlIGV4cG9uZW50LiAgVGhlIGV4cG9uZW50IGhhcyBhbiBhc3NvY2lhdGVkCisgKgkJCWJpYXMgd2hpY2ggY2FuIGJlIHN1YnRyYWN0ZWQgdG8gZmluZCB0aGUKKyAqCQkJdHJ1ZSBleHBvbmVudC4JVGhlIHJhZGl4IHBvaW50IGlzIGFzc3VtZWQKKyAqCQkJdG8gYmUgYmVmb3JlIHRoZSBmaXJzdCBgTScgYml0LgkgQW55IGJpdAorICoJCQlvZiBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIG5vdCBmYWxsaW5nIGludG8gb25lCisgKgkJCW9mIHRoZXNlIGNhdGVnb3JpZXMgaXMgcHJpbnRlZCBhcyBhIHF1ZXN0aW9uCisgKgkJCW1hcmsuICBCaXRzIG9mIGludGVnZXIgdHlwZXMgYXJlIHByaW50ZWQgYXMKKyAqCQkJYEknIGZvciAyJ3MgY29tcGxlbWVudCBhbmQgYFUnIGZvciBtYWduaXR1ZGUuCisgKgkJCQorICoJCQlJZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgdGhlIG5vcm1hbGl6ZWQKKyAqCQkJbWFudGlzc2EgKGFsd2F5cyBhIGAxJyBleGNlcHQgZm9yIGAwLjAnKSBpcworICoJCQlub3Qgc3RvcmVkIHRoZW4gYW4gYGltcGxpY2l0PXllcycgYXBwZWFycworICoJCQl1bmRlciB0aGUgZmllbGQgZGVzY3JpcHRpb24uICBJbiB0aGllIGNhc2UsCisgKgkJCXRoZSByYWRpeCBwb2ludCBpcyBzdGlsbCBhc3N1bWVkIHRvIGJlCisgKgkJCWJlZm9yZSB0aGUgZmlyc3QgYE0nIGJ1dCBhZnRlciB0aGUgaW1wbGljaXQKKyAqCQkJYml0LgorICoKKyAqIE1vZGlmaWNhdGlvbnM6CisgKgorICoJRE8gTk9UIE1BS0UgTU9ESUZJQ0FUSU9OUyBUTyBUSElTIEZJTEUhCisgKglJdCB3YXMgZ2VuZXJhdGVkIGJ5IGNvZGUgaW4gYEg1ZGV0ZWN0LmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qKioqKioqKioqKioqKioqLworLyogTW9kdWxlIFNldHVwICovCisvKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBINVRfUEFDS0FHRSAvKnN1cHByZXNzIGVycm9yIGFib3V0IGluY2x1ZGluZyBINVRwa2cuaCovCisKKworLyoqKioqKioqKioqLworLyogSGVhZGVycyAqLworLyoqKioqKioqKioqLworI2luY2x1ZGUgIkg1cHJpdmF0ZS5oIgkJLyogR2VuZXJpYyBGdW5jdGlvbnMJCQkqLworI2luY2x1ZGUgIkg1RXByaXZhdGUuaCIJCS8qIEVycm9yIGhhbmRsaW5nCQkgIAkqLworI2luY2x1ZGUgIkg1Rkxwcml2YXRlLmgiCS8qIEZyZWUgTGlzdHMJCQkJKi8KKyNpbmNsdWRlICJINUlwcml2YXRlLmgiCQkvKiBJRHMJCQkgIAkJKi8KKyNpbmNsdWRlICJINVRwa2cuaCIJCS8qIERhdGF0eXBlcyAJCQkJKi8KKworCisvKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIE1hY3JvcyAqLworLyoqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFR5cGVkZWZzICovCisvKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIFBhY2thZ2UgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBMb2NhbCBQcm90b3R5cGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUHVibGljIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIExpYnJhcnkgUHJpdmF0ZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKiovCisKKworCisvKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKiovCisKKworDAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBGdW5jdGlvbjoJSDVUTl9pbml0X2ludGVyZmFjZQorICoKKyAqIFB1cnBvc2U6CUluaXRpYWxpemUgcHJlLWRlZmluZWQgbmF0aXZlIGRhdGF0eXBlcyBmcm9tIGNvZGUgZ2VuZXJhdGVkCisgKiAgICAgICAgICAgICAgZHVyaW5nIHRoZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24gYnkgSDVkZXRlY3QuCisgKgorICogUmV0dXJuOglTdWNjZXNzOglub24tbmVnYXRpdmUKKyAqCQlGYWlsdXJlOgluZWdhdGl2ZQorICoKKyAqIFByb2dyYW1tZXI6CVJvYmIgTWF0emtlCisgKiAgICAgICAgICAgICAgV2VkbmVzZGF5LCBEZWNlbWJlciAxNiwgMTk5OAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitoZXJyX3QKK0g1VE5faW5pdF9pbnRlcmZhY2Uodm9pZCkKK3sKKyAgICBINVRfdAkqZHQgPSBOVUxMOworICAgIGhlcnJfdAlyZXRfdmFsdWUgPSBTVUNDRUVEOworCisgICAgRlVOQ19FTlRFUl9OT0FQSShGQUlMKQorCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0NIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0NIQVJfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TQ0hBUl9DT01QX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUNIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUNIQVJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0hPUlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0hPUlRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TSE9SVF9DT01QX0FMSUdOX2cgPSAyOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VTSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VU0hPUlRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0lOVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9MT05HX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0xPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MT05HX0NPTVBfQUxJR05fZyA9IDQ7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUxPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxPTkdfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQ4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlQxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0xFQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfRkFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTExPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxMT05HX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogU0VFRUVFRUUgRU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSAzMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDIzOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwMDA3ZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9JTVBMSUVEOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfRkxPQVRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRkxPQVRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9GTE9BVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogU0VFRUVFRUUgRUVFRU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiBJbXBsaWNpdCBiaXQ/IHllcworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5zaWduID0gNjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVwb3MgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXNpemUgPSAxMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwM2ZmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9ET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfRE9VQkxFX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBTRUVFRUVFRSBFRUVFTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSA2MzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDExOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lYmlhcyA9IDB4MDAwMDAzZmY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1wb3MgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tc2l6ZSA9IDUyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5ub3JtID0gSDVUX05PUk1fSU1QTElFRDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYucGFkID0gSDVUX1BBRF9aRVJPOworICAgIGlmKChINVRfTkFUSVZFX0xET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTERPVUJMRV9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0xET1VCTEVfQ09NUF9BTElHTl9nID0gODsKKworICAgIC8qIFNldCB0aGUgbmF0aXZlIG9yZGVyIGZvciB0aGlzIG1hY2hpbmUgKi8KKyAgICBINVRfbmF0aXZlX29yZGVyX2cgPSBINVRfT1JERVJfTEU7CisKKyAgICAvKiBTdHJ1Y3R1cmUgYWxpZ25tZW50IGZvciBwb2ludGVycywgaHZsX3QsIGhvYmpfcmVmX3QsIGhkc2V0X3JlZ19yZWZfdCAqLworICAgIEg1VF9QT0lOVEVSX0NPTVBfQUxJR05fZyA9IDQ7CisgICAgSDVUX0hWTF9DT01QX0FMSUdOX2cgPSA0OworICAgIEg1VF9IT0JKUkVGX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hEU0VUUkVHUkVGX0NPTVBfQUxJR05fZyA9IDE7CisKK2RvbmU6CisgICAgaWYocmV0X3ZhbHVlIDwgMCkgeworICAgICAgICBpZihkdCAhPSBOVUxMKSB7CisgICAgICAgICAgICBkdC0+c2hhcmVkID0gSDVGTF9GUkVFKEg1VF9zaGFyZWRfdCwgZHQtPnNoYXJlZCk7CisgICAgICAgICAgICBkdCA9IEg1RkxfRlJFRShINVRfdCwgZHQpOworICAgICAgICB9IC8qIGVuZCBpZiAqLworICAgIH0gLyogZW5kIGlmICovCisKKyAgICBGVU5DX0xFQVZFX05PQVBJKHJldF92YWx1ZSk7Cit9IC8qIGVuZCBINVROX2luaXRfaW50ZXJmYWNlKCkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBTElHTk1FTlQgYW5kIHNpZ25hbC1oYW5kbGluZyBzdGF0dXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogU2lnbmFsKCkgc3VwcG9ydDogeWVzICovCisvKiBzZXRqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIGxvbmdqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNpZ3NldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lncHJvY21hc2soKSBzdXBwb3J0OiB5ZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIHNpZ25hbCBoYW5kbGVycyBzdGF0aXN0aWNzICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsX2hhbmRsZXJzIHRlc3RlZDogMTUgdGltZXMgKi8KKy8qIHNpZ2J1c19oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnc2Vndl9oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnaWxsX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtNjQuYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVUaW5pdC02NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1Zjc5YTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1VGluaXQtNjQuYwpAQCAtMCwwICsxLDk5MSBAQAorLyogR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgSDVkZXRlY3QgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJSmFuIDI5LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdXg4Ni02ND4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgdmFyaW91cyBpbnRlZ2VyIGFuZAorICoJCQlmbG9hdGluZyBwb2ludCBudW1lcmljIGZvcm1hdHMgZm91bmQgb24gdGhpcworICoJCQlhcmNoaXRlY3R1cmUuICBUaGUgcGFyYW1ldGVycyBiZWxvdyBzaG91bGQgYmUKKyAqCQkJY2hlY2tlZCBjYXJlZnVsbHkgYW5kIGVycm9ycyByZXBvcnRlZCB0byB0aGUKKyAqCQkJSERGNSBtYWludGFpbmVyLgorICoJCQkKKyAqCQkJRWFjaCBvZiB0aGUgbnVtZXJpYyBmb3JtYXRzIGxpc3RlZCBiZWxvdyBhcmUKKyAqCQkJcHJpbnRlZCBmcm9tIG1vc3Qgc2lnbmlmaWNhbnQgYml0IHRvIGxlYXN0CisgKgkJCXNpZ25pZmljYW50IGJpdCBldmVuIHRob3VnaCB0aGUgYWN0dWFsIGJ5dGVzCisgKgkJCW1pZ2h0IGJlIHN0b3JlZCBpbiBhIGRpZmZlcmVudCBvcmRlciBpbgorICoJCQltZW1vcnkuCSBUaGUgaW50ZWdlcnMgYWJvdmUgZWFjaCBiaW5hcnkgYnl0ZQorICoJCQlpbmRpY2F0ZSB0aGUgcmVsYXRpdmUgb3JkZXIgb2YgdGhlIGJ5dGVzIGluCisgKgkJCW1lbW9yeTsgbGl0dGxlLWVuZGlhbiBtYWNoaW5lcyBoYXZlCisgKgkJCWRlY3JlYXNpbmcgbnVtYmVycyB3aGlsZSBiaWctZW5kaWFuIG1hY2hpbmVzCisgKgkJCWhhdmUgaW5jcmVhc2luZyBudW1iZXJzLgorICoJCQkKKyAqCQkJVGhlIGZpZWxkcyBvZiB0aGUgbnVtYmVycyBhcmUgcHJpbnRlZCBhcworICoJCQlsZXR0ZXJzIHdpdGggYFMnIGZvciB0aGUgbWFudGlzc2Egc2lnbiBiaXQsCisgKgkJCWBNJyBmb3IgdGhlIG1hbnRpc3NhIG1hZ25pdHVkZSwgYW5kIGBFJyBmb3IKKyAqCQkJdGhlIGV4cG9uZW50LiAgVGhlIGV4cG9uZW50IGhhcyBhbiBhc3NvY2lhdGVkCisgKgkJCWJpYXMgd2hpY2ggY2FuIGJlIHN1YnRyYWN0ZWQgdG8gZmluZCB0aGUKKyAqCQkJdHJ1ZSBleHBvbmVudC4JVGhlIHJhZGl4IHBvaW50IGlzIGFzc3VtZWQKKyAqCQkJdG8gYmUgYmVmb3JlIHRoZSBmaXJzdCBgTScgYml0LgkgQW55IGJpdAorICoJCQlvZiBhIGZsb2F0aW5nLXBvaW50IHZhbHVlIG5vdCBmYWxsaW5nIGludG8gb25lCisgKgkJCW9mIHRoZXNlIGNhdGVnb3JpZXMgaXMgcHJpbnRlZCBhcyBhIHF1ZXN0aW9uCisgKgkJCW1hcmsuICBCaXRzIG9mIGludGVnZXIgdHlwZXMgYXJlIHByaW50ZWQgYXMKKyAqCQkJYEknIGZvciAyJ3MgY29tcGxlbWVudCBhbmQgYFUnIGZvciBtYWduaXR1ZGUuCisgKgkJCQorICoJCQlJZiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXQgb2YgdGhlIG5vcm1hbGl6ZWQKKyAqCQkJbWFudGlzc2EgKGFsd2F5cyBhIGAxJyBleGNlcHQgZm9yIGAwLjAnKSBpcworICoJCQlub3Qgc3RvcmVkIHRoZW4gYW4gYGltcGxpY2l0PXllcycgYXBwZWFycworICoJCQl1bmRlciB0aGUgZmllbGQgZGVzY3JpcHRpb24uICBJbiB0aGllIGNhc2UsCisgKgkJCXRoZSByYWRpeCBwb2ludCBpcyBzdGlsbCBhc3N1bWVkIHRvIGJlCisgKgkJCWJlZm9yZSB0aGUgZmlyc3QgYE0nIGJ1dCBhZnRlciB0aGUgaW1wbGljaXQKKyAqCQkJYml0LgorICoKKyAqIE1vZGlmaWNhdGlvbnM6CisgKgorICoJRE8gTk9UIE1BS0UgTU9ESUZJQ0FUSU9OUyBUTyBUSElTIEZJTEUhCisgKglJdCB3YXMgZ2VuZXJhdGVkIGJ5IGNvZGUgaW4gYEg1ZGV0ZWN0LmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKKy8qKioqKioqKioqKioqKioqLworLyogTW9kdWxlIFNldHVwICovCisvKioqKioqKioqKioqKioqKi8KKworI2RlZmluZSBINVRfUEFDS0FHRSAvKnN1cHByZXNzIGVycm9yIGFib3V0IGluY2x1ZGluZyBINVRwa2cuaCovCisKKworLyoqKioqKioqKioqLworLyogSGVhZGVycyAqLworLyoqKioqKioqKioqLworI2luY2x1ZGUgIkg1cHJpdmF0ZS5oIgkJLyogR2VuZXJpYyBGdW5jdGlvbnMJCQkqLworI2luY2x1ZGUgIkg1RXByaXZhdGUuaCIJCS8qIEVycm9yIGhhbmRsaW5nCQkgIAkqLworI2luY2x1ZGUgIkg1Rkxwcml2YXRlLmgiCS8qIEZyZWUgTGlzdHMJCQkJKi8KKyNpbmNsdWRlICJINUlwcml2YXRlLmgiCQkvKiBJRHMJCQkgIAkJKi8KKyNpbmNsdWRlICJINVRwa2cuaCIJCS8qIERhdGF0eXBlcyAJCQkJKi8KKworCisvKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIE1hY3JvcyAqLworLyoqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFR5cGVkZWZzICovCisvKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKi8KKy8qIFBhY2thZ2UgVHlwZWRlZnMgKi8KKy8qKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKiovCisvKiBMb2NhbCBQcm90b3R5cGVzICovCisvKioqKioqKioqKioqKioqKioqKiovCisKKworLyoqKioqKioqKioqKioqKioqKioqLworLyogUHVibGljIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKioqLworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIExpYnJhcnkgUHJpdmF0ZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqLworLyogUGFja2FnZSBWYXJpYWJsZXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKiovCisKKworCisvKioqKioqKioqKioqKioqKioqKi8KKy8qIExvY2FsIFZhcmlhYmxlcyAqLworLyoqKioqKioqKioqKioqKioqKiovCisKKworDAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiBGdW5jdGlvbjoJSDVUTl9pbml0X2ludGVyZmFjZQorICoKKyAqIFB1cnBvc2U6CUluaXRpYWxpemUgcHJlLWRlZmluZWQgbmF0aXZlIGRhdGF0eXBlcyBmcm9tIGNvZGUgZ2VuZXJhdGVkCisgKiAgICAgICAgICAgICAgZHVyaW5nIHRoZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24gYnkgSDVkZXRlY3QuCisgKgorICogUmV0dXJuOglTdWNjZXNzOglub24tbmVnYXRpdmUKKyAqCQlGYWlsdXJlOgluZWdhdGl2ZQorICoKKyAqIFByb2dyYW1tZXI6CVJvYmIgTWF0emtlCisgKiAgICAgICAgICAgICAgV2VkbmVzZGF5LCBEZWNlbWJlciAxNiwgMTk5OAorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCitoZXJyX3QKK0g1VE5faW5pdF9pbnRlcmZhY2Uodm9pZCkKK3sKKyAgICBINVRfdAkqZHQgPSBOVUxMOworICAgIGhlcnJfdAlyZXRfdmFsdWUgPSBTVUNDRUVEOworCisgICAgRlVOQ19FTlRFUl9OT0FQSShGQUlMKQorCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0NIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0NIQVJfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TQ0hBUl9DT01QX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUNIQVJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUNIQVJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfU0hPUlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfU0hPUlRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9TSE9SVF9DT01QX0FMSUdOX2cgPSAyOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VTSE9SVF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VU0hPUlRfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9BTElHTl9nID0gMTsKKyAgICBINVRfTkFUSVZFX0lOVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MT05HX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTE9OR19nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VTE9OR19BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UOF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDAKKyAgICAqIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSAxOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQ4X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlQ4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9MRUFTVDhfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAwCisgICAgKiBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfRkFTVDhfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMAorICAgICogVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUOF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q4X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMTY7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlQxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0xFQVNUMTZfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAxNjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDE2X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDE2X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1QxNl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1QxNl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlQzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlQzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDMyOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9MRUFTVDMyX2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVF9MRUFTVDMyX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gMzI7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl9OT05FOworICAgIGlmKChINVRfTkFUSVZFX1VJTlRfTEVBU1QzMl9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0xFQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfSU5UX0ZBU1QzMl9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVF9GQVNUMzJfQUxJR05fZyA9IDE7CisKKyAgIC8qCisgICAgKiAgICA3ICAgICAgICA2ICAgICAgICA1ICAgICAgICA0CisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqIEFsaWdubWVudDogbm9uZQorICAgICovCisgICAgaWYoTlVMTCA9PSAoZHQgPSBINVRfX2FsbG9jKCkpKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9OT1NQQUNFLCBGQUlMLCAiZGF0YXR5cGUgYWxsb2NhdGlvbiBmYWlsZWQiKQorICAgIGR0LT5zaGFyZWQtPnN0YXRlID0gSDVUX1NUQVRFX0lNTVVUQUJMRTsKKyAgICBkdC0+c2hhcmVkLT50eXBlID0gSDVUX0lOVEVHRVI7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuaS5zaWduID0gSDVUX1NHTl8yOworICAgIGlmKChINVRfTkFUSVZFX0lOVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX0lOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UNjRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUlOVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkgSUlJSUlJSUkKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fMjsKKyAgICBpZigoSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVSBVVVVVVVVVVQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOX05PTkU7CisgICAgaWYoKEg1VF9OQVRJVkVfVUlOVF9MRUFTVDY0X2cgPSBINUlfcmVnaXN0ZXIoSDVJX0RBVEFUWVBFLCBkdCwgRkFMU0UpKSA8IDApCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX0NBTlRJTklULCBGQUlMLCAiY2FuJ3QgcmVnaXN0ZXIgSUQgZm9yIGJ1aWx0LWluIGRhdGF0eXBlIikKKyAgICBINVRfTkFUSVZFX1VJTlRfTEVBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9JTlRfRkFTVDY0X0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9VSU5UX0ZBU1Q2NF9BTElHTl9nID0gMTsKKworICAgLyoKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJIElJSUlJSUlJCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSSBJSUlJSUlJSQorICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfSU5URUdFUjsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gODsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSA2NDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5pLnNpZ24gPSBINVRfU0dOXzI7CisgICAgaWYoKEg1VF9OQVRJVkVfTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfTExPTkdfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9MTE9OR19DT01QX0FMSUdOX2cgPSA4OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUgVVVVVVVVVVUKKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVIFVVVVVVVVVVCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9JTlRFR0VSOworICAgIGR0LT5zaGFyZWQtPnNpemUgPSA4OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDY0OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51Lmkuc2lnbiA9IEg1VF9TR05fTk9ORTsKKyAgICBpZigoSDVUX05BVElWRV9VTExPTkdfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfVUxMT05HX0FMSUdOX2cgPSAxOworCisgICAvKgorICAgICogICAgMyAgICAgICAgMiAgICAgICAgMSAgICAgICAgMAorICAgICogU0VFRUVFRUUgRU1NTU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqIEltcGxpY2l0IGJpdD8geWVzCisgICAgKiBBbGlnbm1lbnQ6IG5vbmUKKyAgICAqLworICAgIGlmKE5VTEwgPT0gKGR0ID0gSDVUX19hbGxvYygpKSkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfTk9TUEFDRSwgRkFJTCwgImRhdGF0eXBlIGFsbG9jYXRpb24gZmFpbGVkIikKKyAgICBkdC0+c2hhcmVkLT5zdGF0ZSA9IEg1VF9TVEFURV9JTU1VVEFCTEU7CisgICAgZHQtPnNoYXJlZC0+dHlwZSA9IEg1VF9GTE9BVDsKKyAgICBkdC0+c2hhcmVkLT5zaXplID0gNDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vcmRlciA9IEg1VF9PUkRFUl9MRTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5vZmZzZXQgPSAwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnByZWMgPSAzMjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5sc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm1zYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnNpZ24gPSAzMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXBvcyA9IDIzOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lc2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwMDA3ZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gMjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9JTVBMSUVEOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfRkxPQVRfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRkxPQVRfQUxJR05fZyA9IDE7CisgICAgSDVUX05BVElWRV9GTE9BVF9DT01QX0FMSUdOX2cgPSA0OworCisgICAvKgorICAgICogICAgNyAgICAgICAgNiAgICAgICAgNSAgICAgICAgNAorICAgICogU0VFRUVFRUUgRUVFRU1NTU0gTU1NTU1NTU0gTU1NTU1NTU0KKyAgICAqICAgIDMgICAgICAgIDIgICAgICAgIDEgICAgICAgIDAKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiBJbXBsaWNpdCBiaXQ/IHllcworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDg7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub3JkZXIgPSBINVRfT1JERVJfTEU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMub2Zmc2V0ID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5wcmVjID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubHNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy5tc2JfcGFkID0gSDVUX1BBRF9aRVJPOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5zaWduID0gNjM7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVwb3MgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZXNpemUgPSAxMTsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuZWJpYXMgPSAweDAwMDAwM2ZmOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5tcG9zID0gMDsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXNpemUgPSA1MjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubm9ybSA9IEg1VF9OT1JNX0lNUExJRUQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLnBhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBpZigoSDVUX05BVElWRV9ET1VCTEVfZyA9IEg1SV9yZWdpc3RlcihINUlfREFUQVRZUEUsIGR0LCBGQUxTRSkpIDwgMCkKKyAgICAgICAgSEdPVE9fRVJST1IoSDVFX0RBVEFUWVBFLCBINUVfQ0FOVElOSVQsIEZBSUwsICJjYW4ndCByZWdpc3RlciBJRCBmb3IgYnVpbHQtaW4gZGF0YXR5cGUiKQorICAgIEg1VF9OQVRJVkVfRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfRE9VQkxFX0NPTVBfQUxJR05fZyA9IDg7CisKKyAgIC8qCisgICAgKiAgIDE1ICAgICAgIDE0ICAgICAgIDEzICAgICAgIDEyCisgICAgKiA/Pz8/Pz8/PyA/Pz8/Pz8/PyA/Pz8/Pz8/PyA/Pz8/Pz8/PworICAgICogICAxMSAgICAgICAxMCAgICAgICAgOSAgICAgICAgOAorICAgICogPz8/Pz8/Pz8gPz8/Pz8/Pz8gU0VFRUVFRUUgRUVFRUVFRUUKKyAgICAqICAgIDcgICAgICAgIDYgICAgICAgIDUgICAgICAgIDQKKyAgICAqIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NIE1NTU1NTU1NCisgICAgKiAgICAzICAgICAgICAyICAgICAgICAxICAgICAgICAwCisgICAgKiBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTSBNTU1NTU1NTQorICAgICogSW1wbGljaXQgYml0PyBubworICAgICogQWxpZ25tZW50OiBub25lCisgICAgKi8KKyAgICBpZihOVUxMID09IChkdCA9IEg1VF9fYWxsb2MoKSkpCisgICAgICAgIEhHT1RPX0VSUk9SKEg1RV9EQVRBVFlQRSwgSDVFX05PU1BBQ0UsIEZBSUwsICJkYXRhdHlwZSBhbGxvY2F0aW9uIGZhaWxlZCIpCisgICAgZHQtPnNoYXJlZC0+c3RhdGUgPSBINVRfU1RBVEVfSU1NVVRBQkxFOworICAgIGR0LT5zaGFyZWQtPnR5cGUgPSBINVRfRkxPQVQ7CisgICAgZHQtPnNoYXJlZC0+c2l6ZSA9IDE2OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9yZGVyID0gSDVUX09SREVSX0xFOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLm9mZnNldCA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMucHJlYyA9IDgwOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLmxzYl9wYWQgPSBINVRfUEFEX1pFUk87CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMubXNiX3BhZCA9IEg1VF9QQURfWkVSTzsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYuc2lnbiA9IDc5OworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5lcG9zID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmVzaXplID0gMTU7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLmViaWFzID0gMHgwMDAwM2ZmZjsKKyAgICBkdC0+c2hhcmVkLT51LmF0b21pYy51LmYubXBvcyA9IDA7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm1zaXplID0gNjQ7CisgICAgZHQtPnNoYXJlZC0+dS5hdG9taWMudS5mLm5vcm0gPSBINVRfTk9STV9OT05FOworICAgIGR0LT5zaGFyZWQtPnUuYXRvbWljLnUuZi5wYWQgPSBINVRfUEFEX1pFUk87CisgICAgaWYoKEg1VF9OQVRJVkVfTERPVUJMRV9nID0gSDVJX3JlZ2lzdGVyKEg1SV9EQVRBVFlQRSwgZHQsIEZBTFNFKSkgPCAwKQorICAgICAgICBIR09UT19FUlJPUihINUVfREFUQVRZUEUsIEg1RV9DQU5USU5JVCwgRkFJTCwgImNhbid0IHJlZ2lzdGVyIElEIGZvciBidWlsdC1pbiBkYXRhdHlwZSIpCisgICAgSDVUX05BVElWRV9MRE9VQkxFX0FMSUdOX2cgPSAxOworICAgIEg1VF9OQVRJVkVfTERPVUJMRV9DT01QX0FMSUdOX2cgPSAxNjsKKworICAgIC8qIFNldCB0aGUgbmF0aXZlIG9yZGVyIGZvciB0aGlzIG1hY2hpbmUgKi8KKyAgICBINVRfbmF0aXZlX29yZGVyX2cgPSBINVRfT1JERVJfTEU7CisKKyAgICAvKiBTdHJ1Y3R1cmUgYWxpZ25tZW50IGZvciBwb2ludGVycywgaHZsX3QsIGhvYmpfcmVmX3QsIGhkc2V0X3JlZ19yZWZfdCAqLworICAgIEg1VF9QT0lOVEVSX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hWTF9DT01QX0FMSUdOX2cgPSA4OworICAgIEg1VF9IT0JKUkVGX0NPTVBfQUxJR05fZyA9IDg7CisgICAgSDVUX0hEU0VUUkVHUkVGX0NPTVBfQUxJR05fZyA9IDE7CisKK2RvbmU6CisgICAgaWYocmV0X3ZhbHVlIDwgMCkgeworICAgICAgICBpZihkdCAhPSBOVUxMKSB7CisgICAgICAgICAgICBkdC0+c2hhcmVkID0gSDVGTF9GUkVFKEg1VF9zaGFyZWRfdCwgZHQtPnNoYXJlZCk7CisgICAgICAgICAgICBkdCA9IEg1RkxfRlJFRShINVRfdCwgZHQpOworICAgICAgICB9IC8qIGVuZCBpZiAqLworICAgIH0gLyogZW5kIGlmICovCisKKyAgICBGVU5DX0xFQVZFX05PQVBJKHJldF92YWx1ZSk7Cit9IC8qIGVuZCBINVROX2luaXRfaW50ZXJmYWNlKCkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBBTElHTk1FTlQgYW5kIHNpZ25hbC1oYW5kbGluZyBzdGF0dXMgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogU2lnbmFsKCkgc3VwcG9ydDogeWVzICovCisvKiBzZXRqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIGxvbmdqbXAoKSBzdXBwb3J0OiB5ZXMgKi8KKy8qIHNpZ3NldGptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lnbG9uZ2ptcCgpIHN1cHBvcnQ6IHllcyAqLworLyogc2lncHJvY21hc2soKSBzdXBwb3J0OiB5ZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qIHNpZ25hbCBoYW5kbGVycyBzdGF0aXN0aWNzICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogc2lnbmFsX2hhbmRsZXJzIHRlc3RlZDogMTUgdGltZXMgKi8KKy8qIHNpZ2J1c19oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnc2Vndl9oYW5kbGVyIGNhbGxlZDogNSB0aW1lcyAqLworLyogc2lnaWxsX2hhbmRsZXIgY2FsbGVkOiA1IHRpbWVzICovCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1bGliX3NldHRpbmdzLmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9oZGY1L2ZpbGVzL0g1bGliX3NldHRpbmdzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI0M2FlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvZmlsZXMvSDVsaWJfc2V0dGluZ3MuYwpAQCAtMCwwICsxLDk4IEBACisvKiBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBINW1ha2VfbGlic2V0dGluZ3MgLS0gZG8gbm90IGVkaXQgKi8KKworCisKKy8qICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKgorICogQ29weXJpZ2h0IGJ5IFRoZSBIREYgR3JvdXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBDb3B5cmlnaHQgYnkgdGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIElsbGlub2lzLiAgICAgICAgICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBIREY1LiAgVGhlIGZ1bGwgSERGNSBjb3B5cmlnaHQgbm90aWNlLCBpbmNsdWRpbmcgICAgICoKKyAqIHRlcm1zIGdvdmVybmluZyB1c2UsIG1vZGlmaWNhdGlvbiwgYW5kIHJlZGlzdHJpYnV0aW9uLCBpcyBjb250YWluZWQgaW4gICAgKgorICogdGhlIENPUFlJTkcgZmlsZSwgd2hpY2ggY2FuIGJlIGZvdW5kIGF0IHRoZSByb290IG9mIHRoZSBzb3VyY2UgY29kZSAgICAgICAqCisgKiBkaXN0cmlidXRpb24gdHJlZSwgb3IgaW4gaHR0cHM6Ly9zdXBwb3J0LmhkZmdyb3VwLm9yZy9mdHAvSERGNS9yZWxlYXNlcy4gICoKKyAqIElmIHlvdSBkbyBub3QgaGF2ZSBhY2Nlc3MgdG8gZWl0aGVyIGZpbGUsIHlvdSBtYXkgcmVxdWVzdCBhIGNvcHkgZnJvbSAgICAgKgorICogaGVscEBoZGZncm91cC5vcmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICoKKyAqCisgKiBDcmVhdGVkOgkJSmFuIDI5LCAyMDE5CisgKgkJCXJvb3QgPHJvb3RAcWVtdXg4Ni02ND4KKyAqCisgKiBQdXJwb3NlOgkJVGhpcyBtYWNoaW5lLWdlbmVyYXRlZCBzb3VyY2UgY29kZSBjb250YWlucworICoJCQlpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGlicmFyeSBidWlsZCBjb25maWd1cmF0aW9uCisgKgorICogTW9kaWZpY2F0aW9uczoKKyAqCisgKglETyBOT1QgTUFLRSBNT0RJRklDQVRJT05TIFRPIFRISVMgRklMRSEKKyAqCUl0IHdhcyBnZW5lcmF0ZWQgYnkgY29kZSBpbiBgSDVtYWtlX2xpYnNldHRpbmdzLmMnLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisKK2NoYXIgSDVsaWJoZGY1X3NldHRpbmdzW109CisJIiAgICAgIFNVTU1BUlkgT0YgVEhFIEhERjUgQ09ORklHVVJBVElPTlxuIgorCSIgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIKKwkiXG4iCisJIkdlbmVyYWwgSW5mb3JtYXRpb246XG4iCisJIi0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKwkiICAgICAgICAgICAgICAgICAgIEhERjUgVmVyc2lvbjogMS44LjE5XG4iCisJIiAgICAgICAgICAgICAgICAgIENvbmZpZ3VyZWQgb246IDIwMTktMDEtMjlcbiIKKwkiICAgICAgICAgICAgICAgICAgQ29uZmlndXJlZCBieTogTmluamFcbiIKKwkiICAgICAgICAgICAgICAgICBDb25maWd1cmUgbW9kZTogQ01BS0UgMy4xMi4yXG4iCisJIiAgICAgICAgICAgICAgICAgICAgSG9zdCBzeXN0ZW06IExpbnV4LTQuNC4wLTMxLWdlbmVyaWNcbiIKKwkiICAgICAgICAgICAgICBVbmFtZSBpbmZvcm1hdGlvbjogTGludXhcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICBCeXRlIHNleDogbGl0dGxlLWVuZGlhblxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgTGlicmFyaWVzOiBcbiIKKwkiICAgICAgICAgICAgIEluc3RhbGxhdGlvbiBwb2ludDogL3VzclxuIgorCSJcbiIKKwkiQ29tcGlsaW5nIE9wdGlvbnM6XG4iCisJIi0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCSIgICAgICAgICAgICAgICBDb21waWxhdGlvbiBNb2RlOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgIEg1X0NGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICBBTV9DRkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgIENQUEZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICBINV9DUFBGTEFHUzogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgQU1fQ1BQRkxBR1M6IFxuIgorCSIgICAgICAgICAgICAgICBTaGFyZWQgQyBMaWJyYXJ5OiBZRVNcbiIKKwkiICAgICAgICAgICAgICAgU3RhdGljIEMgTGlicmFyeTogWUVTXG4iCisJIiAgU3RhdGljYWxseSBMaW5rZWQgRXhlY3V0YWJsZXM6IE9GRlxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICBMREZMQUdTOiAtV2wsLU8xIC1XbCwtLWhhc2gtc3R5bGU9Z251IC1XbCwtLWFzLW5lZWRlZFxuIgorCSIgICAgICAgICAgICAgICAgICAgICBBTV9MREZMQUdTOiBcbiIKKwkiICAgICAgICAgICAgICAgIEV4dHJhIGxpYnJhcmllczogbTtkbFxuIgorCSIgICAgICAgICAgICAgIERlYnVnZ2VkIFBhY2thZ2VzOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICBBUEkgVHJhY2luZzogT0ZGXG4iCisJIlxuIgorCSJMYW5ndWFnZXM6XG4iCisJIi0tLS0tLS0tLS1cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgRm9ydHJhbjogT0ZGXG4iCisJIiAgICAgICAgICAgICAgIEZvcnRyYW4gQ29tcGlsZXI6IFxuIgorCSIgICAgICAgICAgRm9ydHJhbiAyMDAzIENvbXBpbGVyOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgRm9ydHJhbiBGbGFnczogXG4iCisJIiAgICAgICAgICAgICAgIEg1IEZvcnRyYW4gRmxhZ3M6IFxuIgorCSIgICAgICAgICAgICAgICBBTSBGb3J0cmFuIEZsYWdzOiBcbiIKKwkiICAgICAgICAgU2hhcmVkIEZvcnRyYW4gTGlicmFyeTogWUVTXG4iCisJIiAgICAgICAgIFN0YXRpYyBGb3J0cmFuIExpYnJhcnk6IFlFU1xuIgorCSJcbiIKKwkiICAgICAgICAgICAgICAgICAgIEg1IEMrKyBGbGFnczogXG4iCisJIiAgICAgICAgICAgICAgICAgICBBTSBDKysgRmxhZ3M6IFxuIgorCSIgICAgICAgICAgICAgU2hhcmVkIEMrKyBMaWJyYXJ5OiBZRVNcbiIKKwkiICAgICAgICAgICAgIFN0YXRpYyBDKysgTGlicmFyeTogWUVTXG4iCisJIlxuIgorCSJGZWF0dXJlczpcbiIKKwkiLS0tLS0tLS0tXG4iCisJIiAgICAgICAgICAgICAgICAgIFBhcmFsbGVsIEhERjU6IE9GRlxuIgorCSIgICAgICAgICAgICAgSGlnaCBMZXZlbCBsaWJyYXJ5OiBPTlxuIgorCSIgICAgICAgICAgICAgICAgICAgVGhyZWFkc2FmZXR5OiBPRkZcbiIKKwkiICAgICAgICAgICAgRGVmYXVsdCBBUEkgTWFwcGluZzogdjE4XG4iCisJIiBXaXRoIERlcHJlY2F0ZWQgUHVibGljIFN5bWJvbHM6IE9OXG4iCisJIiAgICAgICAgIEkvTyBmaWx0ZXJzIChleHRlcm5hbCk6IFxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVBFOiBcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgRGlyZWN0IFZGRDogXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIGRtYWxsb2M6IFxuIgorCSJDbGVhciBmaWxlIGJ1ZmZlcnMgYmVmb3JlIHdyaXRlOiBPTlxuIgorCSIgICAgICAgICAgIFVzaW5nIG1lbW9yeSBjaGVja2VyOiBPRkZcbiIKKwkiICAgICAgICAgRnVuY3Rpb24gU3RhY2sgVHJhY2luZzogT0ZGXG4iCisJIiAgICAgIFN0cmljdCBGaWxlIEZvcm1hdCBDaGVja3M6IE9GRlxuIgorCSIgICBPcHRpbWl6YXRpb24gSW5zdHJ1bWVudGF0aW9uOiBcbiIKKzsKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaGRmNS9oZGY1XzEuOC4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvaGRmNV8xLjguMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiZTliMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2hkZjUvaGRmNV8xLjguMTkuYmIKQEAgLTAsMCArMSw1OCBAQAorU1VNTUFSWSA9ICJVbmlxdWUgdGVjaG5vbG9neSBzdWl0ZSB0aGF0IG1ha2VzIHBvc3NpYmxlIHRoZSBtYW5hZ2VtZW50IG9mIFwKK2V4dHJlbWVseSBsYXJnZSBhbmQgY29tcGxleCBkYXRhIGNvbGxlY3Rpb25zIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuaGRmZ3JvdXAub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJIREY1IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTdlNTM1MWIxNzU5MWU2NTllZWRhZTEwNzI2NWM2MDYiCisKK2luaGVyaXQgY21ha2Ugc2l0ZWluZm8KKworU1JDX1VSSSA9ICIgXAorICAgIGh0dHBzOi8vc3VwcG9ydC5oZGZncm91cC5vcmcvZnRwL0hERjUvcmVsZWFzZXMvaGRmNS0xLjgvaGRmNS0ke1BWfS9zcmMvJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgIGZpbGU6Ly9INWxpYl9zZXR0aW5ncy5jIFwKKyAgICBmaWxlOi8vSDVUaW5pdC02NC5jIFwKKyAgICBmaWxlOi8vSDVUaW5pdC0zMi5jIFwKKyAgICBmaWxlOi8vMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItUmVtb3ZlLXN1ZmZpeC1zaGFyZWQtZnJvbS1zaGFyZWQtbGlicmFyeS1uYW1lLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZmMDM1M2VlMzNlOTkwODljMTEwYTFjOGQyZGQxYjIyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU5YzAzODE2MTA1ZDU3OTkwMzI5NTM3YWQxMDQ5YmEyMmMyYjhhZmUxODkwMDg1ZjBjMDIyYjc1ZjE3MjcyMzgiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliaGRmNS5zZXR0aW5ncyAke2RhdGFkaXJ9LyoiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKyAgICAtRFRFU1RfTEZTX1dPUktTX1JVTj0wIFwKKyAgICAtRFRFU1RfTEZTX1dPUktTX1JVTl9fVFJZUlVOX09VVFBVVD0wIFwKKyAgICAtREg1X1BSSU5URl9MTF9URVNUX1JVTj0xIFwKKyAgICAtREg1X1BSSU5URl9MTF9URVNUX1JVTl9fVFJZUlVOX09VVFBVVD0nOCcgXAorICAgIC1ESDVfTERPVUJMRV9UT19MT05HX1NQRUNJQUxfUlVOPTAgXAorICAgIC1ESDVfTERPVUJMRV9UT19MT05HX1NQRUNJQUxfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURINV9MT05HX1RPX0xET1VCTEVfU1BFQ0lBTF9SVU49MCBcCisgICAgLURINV9MT05HX1RPX0xET1VCTEVfU1BFQ0lBTF9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X0xET1VCTEVfVE9fTExPTkdfQUNDVVJBVEVfUlVOPTAgXAorICAgIC1ESDVfTERPVUJMRV9UT19MTE9OR19BQ0NVUkFURV9SVU5fX1RSWVJVTl9PVVRQVVQ9IFwKKyAgICAtREg1X0xMT05HX1RPX0xET1VCTEVfQ09SUkVDVF9SVU49MCBcCisgICAgLURINV9MTE9OR19UT19MRE9VQkxFX0NPUlJFQ1RfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURINV9OT19BTElHTk1FTlRfUkVTVFJJQ1RJT05TX1JVTj0wIFwKKyAgICAtREg1X05PX0FMSUdOTUVOVF9SRVNUUklDVElPTlNfUlVOX19UUllSVU5fT1VUUFVUPSBcCisgICAgLURDTUFLRV9JTlNUQUxMX1BSRUZJWD0nJHtwcmVmaXh9JyBcCisgICAgLURIREY1X0lOU1RBTExfTElCX0RJUj0nJHtiYXNlbGlifScgXAorIgorCitkb191bnBhY2tbcG9zdGZ1bmNzXSArPSAiZ2VuX2hkNWZpbGUiCitnZW5faGQ1ZmlsZSgpIHsKKyAgICBpbnN0YWxsIC1tIDU0NCAke1dPUktESVJ9L0g1bGliX3NldHRpbmdzLmMgJHtTfQorICAgIGluc3RhbGwgLW0gNTQ0ICR7V09SS0RJUn0vSDVUaW5pdC0ke1NJVEVJTkZPX0JJVFN9LmMgJHtTfS9INVRpbml0LmMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBVc2VkIGZvciBnZW5lcmF0aW5nIGNvbmZpZyBmaWxlcyBvbiB0YXJnZXQKKyAgICBpbnN0YWxsIC1tIDc1NSAke0J9L2Jpbi9INWRldGVjdCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtCfS9iaW4vSDVtYWtlX2xpYnNldHRpbmdzICR7RH0ke2JpbmRpcn0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19ESVNUUklCVVRFX0xJQ0VOU0VTICs9ICJIREY1IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaHVuc3BlbGwvaHVuc3BlbGxfMS42LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjYuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWZlZWE4OS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjYuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBzcGVsbCBjaGVja2VyIGFuZCBtb3JwaG9sb2dpY2FsIGFuYWx5emVyIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vaHVuc3BlbGwuZ2l0aHViLmlvLyIKLUxJQ0VOU0UgPSAiR1BMdjMgfCBMR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gIiBcCi0gICAgZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLSAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIFwKLSIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCi1TUkNfVVJJW21kNXN1bV0gPSAiMWE1NDUwNGNiNDcwYWFmYTY1MzBiYjM3MmExMGRjMDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NkOWNlYjA2MmZlNTgxNGY2NjhlNGYyMmIyZmE2ZTNiYTBiMzM5YjkyMTczOTU0MWNlMTgwY2FjNGQ2ZjRjNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKLQotUkRFUEVORFNfJHtQTn0gPSAicGVybCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2h1bnNwZWxsL2h1bnNwZWxsXzEuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGEzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9odW5zcGVsbC9odW5zcGVsbF8xLjcuMC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkEgc3BlbGwgY2hlY2tlciBhbmQgbW9ycGhvbG9naWNhbCBhbmFseXplciBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2h1bnNwZWxsLmdpdGh1Yi5pby8iCitMSUNFTlNFID0gIkdQTHYyIHwgTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gIiBcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTc1ODU5OTg5NTQ1ZTM3OTY4YTk5YjYzMWVmNDI3MjJlIFwKKyAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PWM5NmNhNmMxZGU4YWRjMDI1YWRmYWRhODFkMDZmYmE1IFwKKyIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9hcmNoaXZlL3Yke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYjIzOTlhNGFhOTI3ZThiM2UxNzFkOWVhNjczN2NjMDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmIyN2I4NmViOTEwYTgyODU0MDdjZjNjYTMzYjYyNjQzYTAyNzk4Y2YyZWVmNDY4YzBhNzRmNmMzZWU2YmM4YSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUkRFUEVORFNfJHtQTn0gPSAicGVybCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9pbWFnZW1hZ2ljay9pbWFnZW1hZ2lja183LjAuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCmluZGV4IDQ2Y2M3OGUuLjM3ZDVhNjMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2ltYWdlbWFnaWNrL2ltYWdlbWFnaWNrXzcuMC43LmJiCkBAIC0xLDUgKzEsOCBAQAotU1VNTUFSWSA9ICJJbWFnZU1hZ2ljayBpcyBhbiBpbWFnZSBjb252ZXJ0aW9uIHRvb2xzIgorU1VNTUFSWSA9ICJJbWFnZU1hZ2ljayBpcyBhbiBpbWFnZSBjb252ZXJzaW9uIHRvb2xraXQiCiBTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5pbWFnZW1hZ2ljay5vcmcvIgorREVTQ1JJUFRJT04gPSAiSW1hZ2VNYWdpY2sgaXMgYSBjb2xsZWN0aW9uIG9mIHRvb2xzIGZvciBkaXNwbGF5aW5nLCBjb252ZXJ0aW5nLCBhbmQgXAorZWRpdGluZyByYXN0ZXIgYW5kIHZlY3RvciBpbWFnZSBmaWxlcy4gSXQgY2FuIHJlYWQgYW5kIHdyaXRlIG92ZXIgMjAwIGltYWdlIGZpbGUgZm9ybWF0cy4iCiBMSUNFTlNFID0gIkltYWdlTWFnaWNrIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZGFkNWE5OGYxNzNmZDNmYTY5NThhMWE1OGM2MTMxYzEiCiAjIEZJWE1FOiBUaGVyZSBhcmUgbWFueSBtb3JlIGNoZWNrZWQgbGlicmFyaWVzLiBBbGwgc2hvdWxkIGJlIGFkZGVkIG9yIGV4cGxpY2l0bHkgZGlzYWJsZWQgdG8gZ2V0IGNvbnNpc3RlbnQgcmVzdWx0cy4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2l0c3Rvb2wvaXRzdG9vbF8yLjAuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2l0c3Rvb2wvaXRzdG9vbF8yLjAuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzRkNWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvaXRzdG9vbC9pdHN0b29sXzIuMC41LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiSVRTIFRvb2wgYWxsb3dzIHlvdSB0byB0cmFuc2xhdGUgeW91ciBYTUwgZG9jdW1lbnRzIHdpdGggUE8gZmlsZXMiCitIT01FUEFHRSA9ICJodHRwOi8vaXRzdG9vbC5vcmcvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5YzU3Yjk1ZmQ3ZDBlOWUyMzhlYmJjN2FkNDdjNWE1IgorCitpbmhlcml0IGF1dG90b29scyBweXRob24zbmF0aXZlCisKK0RFUEVORFMgPSAicHl0aG9uMy1uYXRpdmUgcHl0aG9uMy1seG1sLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vZmlsZXMuaXRzdG9vbC5vcmcvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjY1NWM2Zjc4ZmM2NGZhZWU0NWFkY2M0NWNjYzVhNTdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwMDUwNmY4ZGY2MmNjYTYyMjVlYzNlNjMxYTgyMzdlOWMwNDY1MGM3NzQ5NWFmNDkxOWFjNmExMDBkNGIzMDgiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICMgZml4IHNoZWJhbmcgb2YgbWFpbiBzY3JpcHQKKyAgICBzZWQgLWkgJ3M6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59OiR7YmluZGlyfS8ke1BZVEhPTl9QTn06ZycgJHtEfSR7YmluZGlyfS9pdHN0b29sCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMyBweXRob24zLWx4bWwiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FmODRkZS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJUaGUgZ29hbCBvZiB0aGlzIHByb2plY3QgaXMgdG8gcHJvdmlkZSBhIHRpbnkgbGlicmFyeSB0aGF0IHdvdWxkIFwKLWZhY2lsaXRhdGUgdGhlIGNvbW1vbiBvcGVyYXRpb25zIHdpdGggc2l6ZXMgaW4gYnl0ZXMuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplIgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9saWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMwN2NiNDk5ZDI1OTQ1MmYzMjRiYjkwYzMwNjdkODVjIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiYjBkY2Y2ZjQ1N2Q3MDAxMjdiNDNjMGUwYTE5ODI1M2MyNjZiNzhhZSIKLVBWID0gIjEuMytnaXQke1NSQ1BWfSIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJieXRlc2l6ZTticmFuY2g9bWFzdGVyIFwKLSIKLQotaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBweXRob24zbmF0aXZlCi0KLURFUEVORFMgKz0gIiBcCi0gICAgbGlicGNyZSBcCi0gICAgZ21wIFwKLSAgICBtcGZyIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2J5dGVzaXplIgotCi1QQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW2RvY10gPSAiLS13aXRoLWd0ay1kb2MsIC0td2l0aG91dC1ndGstZG9jLCBndGstZG9jLW5hdGl2ZSIKLQotRVhUUkFfT0VNQUtFID0gInB5M2xpYmRpcj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJieXRlc2l6ZS9saWJieXRlc2l6ZV8xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzY2U0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmJ5dGVzaXplL2xpYmJ5dGVzaXplXzEuNC5iYgpAQCAtMCwwICsxLDMzIEBACitERVNDUklQVElPTiA9ICJUaGUgZ29hbCBvZiB0aGlzIHByb2plY3QgaXMgdG8gcHJvdmlkZSBhIHRpbnkgbGlicmFyeSB0aGF0IHdvdWxkIFwKK2ZhY2lsaXRhdGUgdGhlIGNvbW1vbiBvcGVyYXRpb25zIHdpdGggc2l6ZXMgaW4gYnl0ZXMuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2xpYmJ5dGVzaXplIgorTElDRU5TRSA9ICJMR1BMdjIrIgorU0VDVElPTiA9ICJkZXZlbC9saWIiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWMwN2NiNDk5ZDI1OTQ1MmYzMjRiYjkwYzMwNjdkODVjIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorQiA9ICIke1N9IgorCitTUkNSRVYgPSAiZWJiZGEyMjE3ZDE3N2QyYTE3ZjkxN2Q3YTNlM2QxMzJhMjZkYjc5MSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9saWJieXRlc2l6ZTticmFuY2g9bWFzdGVyIFwKKyIKKworaW5oZXJpdCBnZXR0ZXh0IGF1dG90b29scyBweXRob24zbmF0aXZlCisKK0RFUEVORFMgKz0gIiBcCisgICAgbGlicGNyZSBcCisgICAgZ21wIFwKKyAgICBtcGZyIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2J5dGVzaXplIgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCitQQUNLQUdFQ09ORklHW2RvY10gPSAiLS13aXRoLWd0ay1kb2MsIC0td2l0aG91dC1ndGstZG9jLCBndGstZG9jLW5hdGl2ZSIKKworRVhUUkFfT0VNQUtFID0gInB5M2xpYmRpcj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJlaWdlbi9saWJlaWdlbl8zLjMuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDc4ZTUwLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiRWlnZW4gaXMgYSBDKysgdGVtcGxhdGUgbGlicmFyeSBmb3IgbGluZWFyIGFsZ2VicmE6IG1hdHJpY2VzLCB2ZWN0b3JzLCBudW1lcmljYWwgc29sdmVycywgYW5kIHJlbGF0ZWQgYWxnb3JpdGhtcy4iCi1BVVRIT1IgPSAiQmVub8OudCBKYWNvYiBhbmQgR2HDq2wgR3Vlbm5lYmF1ZCBhbmQgb3RoZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL2VpZ2VuLnR1eGZhbWlseS5vcmcvIgotTElDRU5TRSA9ICJNUEwtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5NUEwyO21kNT04MTVjYTU5OWM5ZGYyNDdhMGM3ZjYxOWJhYjEyM2RhZCIKLQotU1JDX1VSSSA9ICJodHRwOi8vYml0YnVja2V0Lm9yZy9laWdlbi9laWdlbi9nZXQvJHtQVn0udGFyLmJ6Mjtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiZTgzNTQ5YTc5ZDFiNzIxZGEwZjg4OTlhYjM0ZWRmOTUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzM1MmJmZjNlYTI5OWU0YzdkN2ZiZTMxYzUwNGY4ZWI5MTQ5ZDdlNjg1ZGVjNWExMmZiYWEyNjM3OWY2MDNlMiIKLQotUyA9ICIke1dPUktESVJ9L2VpZ2VuLWVpZ2VuLWIzZjNkNDk1MDAzMCIKLQotaW5oZXJpdCBjbWFrZQotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2RhdGFkaXJ9L2VpZ2VuMy9jbWFrZSAke2RhdGFkaXJ9L2NtYWtlL01vZHVsZXMgJHtkYXRhZGlyfS9wa2djb25maWciCi0KLSMgJHtQTn0gaXMgZW1wdHkgc28gd2UgbmVlZCB0byB0d2VhayAtZGV2IGFuZCAtZGJnIHBhY2thZ2UgZGVwZW5kZW5jaWVzCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZWlnZW4vbGliZWlnZW5fMy4zLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFkZWI2NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmVpZ2VuL2xpYmVpZ2VuXzMuMy43LmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkVpZ2VuIGlzIGEgQysrIHRlbXBsYXRlIGxpYnJhcnkgZm9yIGxpbmVhciBhbGdlYnJhOiBtYXRyaWNlcywgdmVjdG9ycywgbnVtZXJpY2FsIHNvbHZlcnMsIGFuZCByZWxhdGVkIGFsZ29yaXRobXMuIgorQVVUSE9SID0gIkJlbm/DrnQgSmFjb2IgYW5kIEdhw6tsIEd1ZW5uZWJhdWQgYW5kIG90aGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9laWdlbi50dXhmYW1pbHkub3JnLyIKK0xJQ0VOU0UgPSAiTVBMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTVBMMjttZDU9ODE1Y2E1OTljOWRmMjQ3YTBjN2Y2MTliYWIxMjNkYWQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL2VpZ2VuL2VpZ2VuL2dldC8ke1BWfS50YXIuYnoyO2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNWIxZjc1MTFjOTM5ODBjMzg1ZWJlMTFiZDNjOTNmYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZjEzY2Y5MGRlZGJlM2U1MmExOWY0MzAwMGQ3MWZkZjcyZTk4NmJlYjlhNTQzNmRkZGNkNjFmZjlkNzdhM2NlIgorCitTID0gIiR7V09SS0RJUn0vZWlnZW4tZWlnZW4tMzIzYzA1MmUxNzMxIgorCitpbmhlcml0IGNtYWtlCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfSIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7ZGF0YWRpcn0vZWlnZW4zL2NtYWtlICR7ZGF0YWRpcn0vY21ha2UvTW9kdWxlcyAke2RhdGFkaXJ9L3BrZ2NvbmZpZyIKKworIyAke1BOfSBpcyBlbXB0eSBzbyB3ZSBuZWVkIHRvIHR3ZWFrIC1kZXYgYW5kIC1kYmcgcGFja2FnZSBkZXBlbmRlbmNpZXMKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdpdDIvbGliZ2l0Ml8wLjI3LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxNmFlNWUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLVNVTU1BUlkgPSAidGhlIEdpdCBsaW5rYWJsZSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2xpYmdpdDIuZ2l0aHViLmNvbS8iCi1MSUNFTlNFID0gIkdQTC0yLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2YyY2Q1ZDNjY2NkNzFkNjIwNjZiYTYxOTYxNDU5MmIiCi0KLURFUEVORFMgPSAiY3VybCBvcGVuc3NsIHpsaWIgbGlic3NoMiBsaWJnY3J5cHQiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9saWJnaXQyL2xpYmdpdDIuZ2l0O2JyYW5jaD1tYWludC92MC4yNyIKLSN2MC4yNy41Ci1TUkNSRVYgPSAiOGUwYjE3Mjk4MWEwNDZkMTlmMWQ5ZWZhNWFjZDYxODZiY2NiZDNjZSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZQotCi1FWFRSQV9PRUNNQUtFID0gIlwKLSAgICAtRFRIUkVBRFNBRkU9T04gXAotICAgIC1EQlVJTERfQ0xBUj1PRkYgXAotICAgIC1EU0hBMV9UWVBFPSJidWlsdGluIiBcCi0gICAgLURDTUFLRV9CVUlMRF9UWVBFPVJlbFdpdGhEZWJJbmZvIFwKLSAgICAtREJVSUxEX0VYQU1QTEVTPU9GRiBcCi0gICAgLURMSUJfSU5TVEFMTF9ESVI9JHtsaWJkaXJ9IFwKLSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJnaXQyL2xpYmdpdDJfMC4yNy44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDM0MDg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ2l0Mi9saWJnaXQyXzAuMjcuOC5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gInRoZSBHaXQgbGlua2FibGUgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly9saWJnaXQyLmdpdGh1Yi5jb20vIgorTElDRU5TRSA9ICJHUEwtMi4wLXdpdGgtR0NDLWV4Y2VwdGlvbiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMmNkNWQzY2NjZDcxZDYyMDY2YmE2MTk2MTQ1OTJiIgorCitERVBFTkRTID0gImN1cmwgb3BlbnNzbCB6bGliIGxpYnNzaDIgbGliZ2NyeXB0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGliZ2l0Mi9saWJnaXQyLmdpdDticmFuY2g9bWFpbnQvdjAuMjciCisjdjAuMjcuOAorU1JDUkVWID0gIjI4ODI4MDNjYTJiMmNkZWRkMDY5NzQ2NDIyMTU1YTIzZmRkMDAyYjIiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgY21ha2UKKworRVhUUkFfT0VDTUFLRSA9ICJcCisgICAgLURUSFJFQURTQUZFPU9OIFwKKyAgICAtREJVSUxEX0NMQVI9T0ZGIFwKKyAgICAtRFNIQTFfVFlQRT0iYnVpbHRpbiIgXAorICAgIC1EQ01BS0VfQlVJTERfVFlQRT1SZWxXaXRoRGViSW5mbyBcCisgICAgLURCVUlMRF9FWEFNUExFUz1PRkYgXAorICAgIC1ETElCX0lOU1RBTExfRElSPSR7bGliZGlyfSBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMC4zLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgppbmRleCAwOWZiNjVhLi45NjYxNWViIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8wLjMuMy5iYgpAQCAtMSw0ICsxLDYgQEAKIHJlcXVpcmUgbGliZ3Bpb2QuaW5jCiAKK1BBQ0tBR0VDT05GSUdbdGVzdHNdID0gIi0tZW5hYmxlLXRlc3RzLC0tZGlzYWJsZS10ZXN0cyxrbW9kIHVkZXYiCisKIFNSQ19VUklbbWQ1c3VtXSA9ICIyYWExZTFhODBjM2M5MTlhZTE0MmFiOWE1NWZiNTljYSIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzczZTU1N2FmMWE0OTdmNzg2ODI1NDYyYTc3NmI3YmY5MDE2OGU2N2VlMGE1YmM1ZDI0NzNhNTY3NGRjMzhjIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDI4OWI5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmdwaW9kL2xpYmdwaW9kXzEuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLXJlcXVpcmUgbGliZ3Bpb2QuaW5jCi0KLURFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMzRhOTk3MmYyZjRlOWMzMmZhOTQwMzAxMzAxYjAwN2QiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjZiOTA3OWM5MzNmN2M4NTI0ODE1NDM3OTM3ZGRhNmI3OTVhMTYxNDFiY2EyMDJhOWVlYzcwYmE1ODQ0YjViYSIKLQotUEFDS0FHRUNPTkZJR1tjeHhdID0gIi0tZW5hYmxlLWJpbmRpbmdzLWN4eCwtLWRpc2FibGUtYmluZGluZ3MtY3h4IgotCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0tZW5hYmxlLWJpbmRpbmdzLXB5dGhvbiwtLWRpc2FibGUtYmluZGluZ3MtcHl0aG9uLHB5dGhvbjMscHl0aG9uMy1jb3JlIgotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjNuYXRpdmUnLCAnJywgZCl9Ci0KLVBBQ0tBR0VTID0rICIke1BOfS1weXRob24iCi1GSUxFU18ke1BOfS1weXRob24gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi1SUkVDT01NRU5EU19QWVRIT04gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICcke1BOfS1weXRob24nLCAnJyxkKX0iCi1SUkVDT01NRU5EU18ke1BOfSArPSAiJHtSUkVDT01NRU5EU19QWVRIT059IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGliZ3Bpb2QvbGliZ3Bpb2RfMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MTNhMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJncGlvZC9saWJncGlvZF8xLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSBsaWJncGlvZC5pbmMKKworREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5Zjc1MzBhNWQ1NmYwNzBiYTBhZjc4ZDZiYTA3Nzk3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZWM4MzdmMjNlOGYyMTk2ZTU5NzZkZWM0YWM4MTQwMzE3MDgzMDA3NWU3ZjMzZWRlMTM5NGVhZjY3ZjJlOTYyIgorCitQQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtYmluZGluZ3MtY3h4LC0tZGlzYWJsZS1iaW5kaW5ncy1jeHgiCitQQUNLQUdFQ09ORklHW3Rlc3RzXSA9ICItLWVuYWJsZS10ZXN0cyAtLWVuYWJsZS1pbnN0YWxsLXRlc3RzLC0tZGlzYWJsZS10ZXN0cyAtLWRpc2FibGUtaW5zdGFsbC10ZXN0cyxrbW9kIHVkZXYiCisKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS1lbmFibGUtYmluZGluZ3MtcHl0aG9uLC0tZGlzYWJsZS1iaW5kaW5ncy1weXRob24scHl0aG9uMyIKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zbmF0aXZlJywgJycsIGQpfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcHl0aG9uIgorRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorUlJFQ09NTUVORFNfUFlUSE9OID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnJHtQTn0tcHl0aG9uJywgJycsZCl9IgorUlJFQ09NTUVORFNfJHtQTn0tcHl0aG9uICs9ICIke1JSRUNPTU1FTkRTX1BZVEhPTn0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJpaW8vbGliaWlvX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCmluZGV4IGZhNmY0YzIuLmNjMGVmY2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYmlpby9saWJpaW9fZ2l0LmJiCkBAIC00LDggKzQsOCBAQAogTElDRU5TRSA9ICJMR1BMdjIuMSsiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9N2MxM2IzMzc2Y2VhMGNlNjhkMmQyZGEwYTFiM2E3MmMiCiAKLVNSQ1JFViA9ICJmYTgyOTc0ZDhiZDFmZGVkNzhlNjMwYWI3MWE3ZGVkMWIxMWQwZTMzIgotUFYgPSAiMC4xNCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI2ZWNmZjVkNDZlMWIxMmMyODU5ZjBiNjNhNzMyODI5NDBlMzQwMmJiIgorUFYgPSAiMC4xNStnaXQke1NSQ1BWfSIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FuYWxvZ2RldmljZXNpbmMvbGliaWlvLmdpdDtwcm90b2NvbD1odHRwcyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibXhtbC9saWJteG1sX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYm14bWwvbGlibXhtbF9naXQuYmIKaW5kZXggNTQyZmU4MS4uYjE3ZmM2NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlibXhtbC9saWJteG1sX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJteG1sL2xpYm14bWxfZ2l0LmJiCkBAIC0xLDEzICsxLDE0IEBACiBERVNDUklQVElPTiA9ICJUaW55IFhNTCBMaWJyYXJ5IgotTElDRU5TRSA9ICJNaW5pLVhNTC1MaWNlbnNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTZiYTM4NjA2ZDYzYmIwNDJjNWQ4Y2ZlZTE4MmUxMjAiCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04NmQzZjNhOTVjMzI0Yzk0NzliZDg5ODY5NjhmNDMyNyIKIEhPTUVQQUdFID0gImh0dHBzOi8vd3d3Lm1zd2VldC5vcmcvbXhtbC8iCiBCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoYWVscnN3ZWV0L214bWwvaXNzdWVzIgogCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbWljaGFlbHJzd2VldC9teG1sLmdpdCIKLVNSQ1JFViA9ICJiYTNjY2E4MmUxNWE4OGE5Y2M2YWZiNjBmMDU5Mjg4YTk5YWZjNzAzIgorU1JDUkVWID0gImM3NzU1YjY5OTJhMmFmZGQzNGRkZTQ3ZmM5YmU5N2YxMjM3Y2ZkZWQiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgotUFYgPSAiMi4xMitnaXQke1NSQ1BWfSIKKyMgdjMuMAorUFYgPSAiMy4wIgogCiBDT05GSUdVUkVPUFRTID0gIiAtLXByZWZpeD0ke3ByZWZpeH0gXAogICAgICAgICAgICAgICAgICAgLS1iaW5kaXI9JHtiaW5kaXJ9IFwKQEAgLTI4LDYgKzI5LDggQEAKICAgICAgICAgICAgICAgICAiCiAKIGRvX2NvbmZpZ3VyZSgpIHsKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuc3ViICR7U30KICAgICAuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9IC0tZW5hYmxlLXNoYXJlZAogfQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0YmZiOGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlic3NoMi9saWJzc2gyXzEuOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGNsaWVudC1zaWRlIEMgbGlicmFyeSBpbXBsZW1lbnRpbmcgdGhlIFNTSDIgcHJvdG9jb2wiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNzaDIub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLQotREVQRU5EUyA9ICJ6bGliIgotCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM1Y2YzNGZjMGFjYjQ0YjA4MmVmNTBlZjVlNDM1NGNhIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gIjNkMTE0N2NhZTY2ZTI5NTllYTU0NDFiMTgzZGUxYjFjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5ZjM0ZTJmNjgzNWY0Yjk5MmNhZmU4NjI1MDczYTg4ZTVhMjhiYTc4ZjgzZTgwOTk2MTBhN2IzYWY0Njc2ZDQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgKz0gIlwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAotICAgICAgICAgICAgICAgICAtLXdpdGgtbGliei1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgICAgICAgICIKLQotIyBvbmx5IG9uZSBvZiBvcGVuc3NsIGFuZCBnY3J5cHQgY291bGQgYmUgc2V0Ci1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wgLS13aXRoLWxpYnNzbC1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0sLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0IC0td2l0aC1saWJnY3J5cHQtcHJlZml4PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSwtLXdpdGhvdXQtbGliZ2NyeXB0LGxpYmdjcnlwdCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJzc2gyL2xpYnNzaDJfMS44LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU4NTNjZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnNzaDIvbGlic3NoMl8xLjguMi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgY2xpZW50LXNpZGUgQyBsaWJyYXJ5IGltcGxlbWVudGluZyB0aGUgU1NIMiBwcm90b2NvbCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubGlic3NoMi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitERVBFTkRTID0gInpsaWIiCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzVjZjM0ZmMwYWNiNDRiMDgyZWY1MGVmNWU0MzU0Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzc2gyLm9yZy9kb3dubG9hZC8ke0JQfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2MTZlZmQ5OWFmM2Q5ZWY3MzFhMjZiZWQ2Y2VlOTU5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwODgzMDdkOWY2YjZjNGI4YzEzZjM0NjAyZThmZjY1ZDIxYzJkYzRkNTUyODRkZmUxNWQ1MDJjNGVlMTkwZDY3IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GICs9ICJcCisgICAgICAgICAgICAgICAgIC0td2l0aC1saWJ6IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWxpYnotcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAiCisKKyMgb25seSBvbmUgb2Ygb3BlbnNzbCBhbmQgZ2NyeXB0IGNvdWxkIGJlIHNldAorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsIC0td2l0aC1saWJzc2wtcHJlZml4PSR7U1RBR0lOR19MSUJESVJ9LC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2djcnlwdF0gPSAiLS13aXRoLWxpYmdjcnlwdCAtLXdpdGgtbGliZ2NyeXB0LXByZWZpeD0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0sLS13aXRob3V0LWxpYmdjcnlwdCxsaWJnY3J5cHQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidGVhbS9saWJ0ZWFtXzEuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQyNTkyZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgY29udHJvbGxpbmcgdGVhbSBuZXR3b3JrIGRldmljZSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubGlidGVhbS5vcmcvIgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotREVQRU5EUyA9ICJsaWJubCBsaWJkYWVtb24gamFuc3NvbiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2pwaXJrby9saWJ0ZWFtIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtaW5jbHVkZS1zeXMtc2VsZWN0LmgtZm9yLWZkX3NldC1kZWZpbml0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItdGVhbWQtUmUtYWRqdXN0LWluY2x1ZGUtaGVhZGVyLW9yZGVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdGVhbV9iYXNpY190ZXN0LnB5LWRpc2FibGUtUmVkSGF0LXNwZWNpZmljLXRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gIjkxYTkyOGE1NmE1MDFkYWFjNWNlOGIzYzE2YmQ5OTQzNjYxZjFkMTYiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI1NjUxMTRkNzBjNDFiZmY2MDkzZDhlNTdiZTI4NGU4YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkNjUyODYzNzkxNDFkYjE0MWJlYTMzNDI0ZWMwNTA3YmIwZjgyN2EwYmYwM2Q5YzY1MDA0YmI1OTNlM2Q1NTQ1IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnRlYW0ke1NPTElCU30gXAotIgotCi1QQUNLQUdFUyArPSAiJHtQTn0tZGN0bCAke1BOfS11dGlscyIKLUZJTEVTXyR7UE59LWRjdGwgPSAiJHtsaWJkaXJ9L2xpYnRlYW1kY3RsJHtTT0xJQlN9IFwKLSIKLUZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9ib25kMnRlYW0gXAotICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kIFwKLSAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtZGN0bCBcCi0gICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbW5sIFwKLSIKLQotUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gInB5dGhvbiIKLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQlpbnN0YWxsICR7U30vc2NyaXB0cy90ZWFtX2Jhc2ljX3Rlc3QucHkgJHtEfSR7UFRFU1RfUEFUSH0vCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnRlYW0vbGlidGVhbV8xLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MGJiNGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ0ZWFtL2xpYnRlYW1fMS4yOC5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGNvbnRyb2xsaW5nIHRlYW0gbmV0d29yayBkZXZpY2UiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnRlYW0ub3JnLyIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGlibmwgbGliZGFlbW9uIGphbnNzb24iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9qcGlya28vbGlidGVhbSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXNlbGVjdC5oLWZvci1mZF9zZXQtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLXRlYW1kLVJlLWFkanVzdC1pbmNsdWRlLWhlYWRlci1vcmRlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlYW1fYmFzaWNfdGVzdC5weS1kaXNhYmxlLVJlZEhhdC1zcGVjaWZpYy10ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICI5MDM5NTBjN2ZjZjI4YzMyZjRiNjJkOWQxYzA3YzAyMzRlODM3OGEyIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHRlc3QKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnRlYW0ke1NPTElCU30gXAorIgorCitQQUNLQUdFUyArPSAiJHtQTn0tZGN0bCAke1BOfS11dGlscyIKK0ZJTEVTXyR7UE59LWRjdGwgPSAiJHtsaWJkaXJ9L2xpYnRlYW1kY3RsJHtTT0xJQlN9IFwKKyIKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9ib25kMnRlYW0gXAorICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3RlYW1kIFwKKyAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS90ZWFtZGN0bCBcCisgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGVhbW5sIFwKKyIKKworUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gInB5dGhvbiIKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlpbnN0YWxsICR7U30vc2NyaXB0cy90ZWFtX2Jhc2ljX3Rlc3QucHkgJHtEfSR7UFRFU1RfUEFUSH0vCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI2OWUzMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIlVTQiBHYWRnZXQgQ29uZmlndXJhdGlvbiBGaWxlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCisKK1NSQ19VUkkgPSAiZmlsZTovL3VzYmd4LmRlZmF1bHQiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vdXNiZ3guZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3VzYmd4Cit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcvdXNiZ3guZGVmYXVsdCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4LWNvbmZpZy91c2JneC5kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2OTBkZmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC1jb25maWcvdXNiZ3guZGVmYXVsdApAQCAtMCwwICsxLDIgQEAKK0lNUE9SVF9TQ0hFTUFTPSIiCitFTkFCTEVEX1NDSEVNQVM9IiRJTVBPUlRfU0NIRU1BUyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L2dhZGdldC1zdGFydCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L2dhZGdldC1zdGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTEwNmI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvZ2FkZ2V0LXN0YXJ0CkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorCitbIC1yIC9ldGMvZGVmYXVsdC91c2JneCBdICYmIC4gL2V0Yy9kZWZhdWx0L3VzYmd4CisKK2ZvciBpIGluICRJTVBPUlRfU0NIRU1BUzsgZG8KKyAgICAvdXNyL2Jpbi9nYWRnZXQtaW1wb3J0ICIkaSIgL2V0Yy91c2JneC8iJGkiLnNjaGVtYQorZG9uZQorCitmb3IgaSBpbiAkRU5BQkxFRF9TQ0hFTUFTOyBkbworICAgIGxzIC9zeXMvY2xhc3MvdWRjLyA+IC9zeXMva2VybmVsL2NvbmZpZy91c2JfZ2FkZ2V0LyIkaSIvVURDCitkb25lCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5pbml0ZCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnVzYmd4L2xpYnVzYmd4L3VzYmd4LmluaXRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxOTM4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5pbml0ZApAQCAtMCwwICsxLDE0MyBAQAorIyEgL2Jpbi9zaAorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgdXNiZworIyBSZXF1aXJlZC1TdGFydDogICAgJGxvY2FsX2ZzCisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3RvcDogICAgICRsb2NhbF9mcworIyBTaG91bGQtU3RvcDoKKyMgRGVmYXVsdC1TdGFydDogICAgIDIgMyA0IDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSA2CisjIFNob3J0LURlc2NyaXB0aW9uOiBFeGFtcGxlIGluaXRzY3JpcHQKKyMgRGVzY3JpcHRpb246ICAgICAgIFRoaXMgZmlsZSBzaG91bGQgYmUgdXNlZCB0byBjb25zdHJ1Y3Qgc2NyaXB0cyB0byBiZQorIyAgICAgICAgICAgICAgICAgICAgcGxhY2VkIGluIC9ldGMvaW5pdC5kCisjIyMgRU5EIElOSVQgSU5GTworCisjIFBBVEggc2hvdWxkIG9ubHkgaW5jbHVkZSAvdXNyLyogaWYgaXQgcnVucyBhZnRlciB0aGUgbW91bnRuZnMuc2ggc2NyaXB0CitQQVRIPS9zYmluOi91c3Ivc2JpbjovYmluOi91c3IvYmluCisKK0RFU0M9IkxvYWQgVVNCIGdhZGdldCBzY2hlbWFzIgorTkFNRT0idXNiZ3giCitEQUVNT049L3Vzci9iaW4vZ2FkZ2V0LXN0YXJ0CitEQUVNT05fQVJHUz0iIgorUElERklMRT0vdmFyL3J1bi8kTkFNRS5waWQKKworLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMgfHwgZXhpdCAxCisKKyMgRXhpdCBpZiB0aGUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkCitbIC14ICIkREFFTU9OIiBdIHx8IGV4aXQgMAorCisjIFJlYWQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmaWxlIGlmIGl0IGlzIHByZXNlbnQKK1sgLXIgL2V0Yy9kZWZhdWx0LyROQU1FIF0gJiYgLiAvZXRjL2RlZmF1bHQvJE5BTUUKKworIworIyBGdW5jdGlvbiB0aGF0IHN0YXJ0cyB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3N0YXJ0KCkgeworICAgIGxvY2FsIHN0YXR1cyBwaWQKKworICAgIHN0YXR1cz0wCisgICAgcGlkPWBwaWRvZnByb2MgJE5BTUVgIHx8IHN0YXR1cz0kPworICAgIGNhc2UgJHN0YXR1cyBpbgorICAgICAgICAwKQorICAgICAgICAgICAgZWNobyAiJERFU0MgYWxyZWFkeSBydW5uaW5nICgkcGlkKS4iCisgICAgICAgICAgICBleGl0IDEKKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBlY2hvICJTdGFydGluZyAkREVTQyAuLi4iCisgICAgICAgICAgICBleGVjICREQUVNT04gJERBRU1PTl9BUkdTID4vZGV2L251bGwgMj4mMSB8fCBzdGF0dXM9JD8KKyAgICAgICAgICAgIGVjaG8gIkVSUk9SOiBGYWlsZWQgdG8gc3RhcnQgJERFU0MuIgorICAgICAgICAgICAgZXhpdCAkc3RhdHVzCisgICAgICAgICAgICA7OworICAgIGVzYWMKK30KKworIworIyBGdW5jdGlvbiB0aGF0IHN0b3BzIHRoZSBkYWVtb24vc2VydmljZQorIworZG9fc3RvcCgpIHsKKyAgICBsb2NhbCBwaWQgc3RhdHVzCisKKyAgICBzdGF0dXM9MAorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgICMgRXhpdCB3aGVuIGZhaWwgdG8gc3RvcCwgdGhlIGtpbGwgd291bGQgY29tcGxhaW4gd2hlbiBmYWlsCisgICAgICAgICAgICBraWxsIC1zIDE1ICRwaWQgPi9kZXYvbnVsbCAmJiBybSAtZiAkUElERklMRSAmJiBcCisgICAgICAgICAgICAgICAgZWNobyAiU3RvcHBlZCAkREVTQyAoJHBpZCkuIiB8fCBleGl0ICQ/CisgICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgbm90IHJ1bm5pbmc7IG5vbmUga2lsbGVkLiIgPiYyCisgICAgICAgICAgICA7OworICAgIGVzYWMKKworICAgIHJldHVybiAkc3RhdHVzCit9CisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzZW5kcyBhIFNJR0hVUCB0byB0aGUgZGFlbW9uL3NlcnZpY2UKKyMKK2RvX3JlbG9hZCgpIHsKKyAgICBsb2NhbCBwaWQgc3RhdHVzCisKKyAgICBzdGF0dXM9MAorICAgICMgSWYgdGhlIGRhZW1vbiBjYW4gcmVsb2FkIGl0cyBjb25maWd1cmF0aW9uIHdpdGhvdXQKKyAgICAjIHJlc3RhcnRpbmcgKGZvciBleGFtcGxlLCB3aGVuIGl0IGlzIHNlbnQgYSBTSUdIVVApLAorICAgICMgdGhlbiBpbXBsZW1lbnQgdGhhdCBoZXJlLgorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgIGVjaG8gIlJlbG9hZGluZyAkREVTQyAuLi4iCisgICAgICAgICAgICBraWxsIC1zIDEgJHBpZCB8fCBleGl0ICQ/CisgICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgZWNobyAiJERFU0MgaXMgbm90IHJ1bm5pbmc7IG5vbmUgcmVsb2FkZWQuIiA+JjIKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworICAgIGV4aXQgJHN0YXR1cworfQorCisKKyMKKyMgRnVuY3Rpb24gdGhhdCBzaG93cyB0aGUgZGFlbW9uL3NlcnZpY2Ugc3RhdHVzCisjCitzdGF0dXNfb2ZfcHJvYyAoKSB7CisgICAgbG9jYWwgcGlkIHN0YXR1cworCisgICAgc3RhdHVzPTAKKyAgICAjIHBpZG9mIG91dHB1dCBudWxsIHdoZW4gbm8gcHJvZ3JhbSBpcyBydW5uaW5nLCBzbyBubyAiMj4vZGV2L251bGwiLgorICAgIHBpZD1gcGlkb2Zwcm9jICROQU1FYCB8fCBzdGF0dXM9JD8KKyAgICBjYXNlICRzdGF0dXMgaW4KKyAgICAgICAgMCkKKyAgICAgICAgICAgIGVjaG8gIiRERVNDIGlzIHJ1bm5pbmcgKCRwaWQpLiIKKyAgICAgICAgICAgIGV4aXQgMAorICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgIGVjaG8gIiRERVNDIGlzIG5vdCBydW5uaW5nLiIgPiYyCisgICAgICAgICAgICBleGl0ICRzdGF0dXMKKyAgICAgICAgICAgIDs7CisgICAgZXNhYworfQorCitjYXNlICIkMSIgaW4KKyAgICBzdGFydCkKKyAgICAgICAgZG9fc3RhcnQKKyAgICAgICAgOzsKKyAgICBzdG9wKQorICAgICAgICBkb19zdG9wIHx8IGV4aXQgJD8KKyAgICAgICAgOzsKKyAgICBzdGF0dXMpCisgICAgICAgIHN0YXR1c19vZl9wcm9jCisgICAgICAgIDs7CisgICAgcmVzdGFydCkKKyAgICAgICAgIyBBbHdheXMgc3RhcnQgdGhlIHNlcnZpY2UgcmVnYXJkbGVzcyB0aGUgc3RhdHVzIG9mIGRvX3N0b3AKKyAgICAgICAgZG9fc3RvcAorICAgICAgICBkb19zdGFydAorICAgICAgICA7OworICAgIHRyeS1yZXN0YXJ0fGZvcmNlLXJlbG9hZCkKKyAgICAgICAgZG9fc3RvcCAmJiBkb19zdGFydAorICAgICAgICA7OworICAgICopCisgICAgICAgIGVjaG8gIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxzdGF0dXN8cmVzdGFydHx0cnktcmVzdGFydHxmb3JjZS1yZWxvYWR9IiA+JjIKKyAgICAgICAgZXhpdCAzCisgICAgICAgIDs7Citlc2FjCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneC91c2JneC5zZXJ2aWNlIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvdXNiZ3guc2VydmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDU0MWQzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3gvdXNiZ3guc2VydmljZQpAQCAtMCwwICsxLDkgQEAKK1tVbml0XQorRGVzY3JpcHRpb249TG9hZCBVU0IgZ2FkZ2V0IHNjaGVtYXMKKworW1NlcnZpY2VdCitUeXBlPW9uZXNob3QKK0V4ZWNTdGFydD0vdXNyL2Jpbi9nYWRnZXQtc3RhcnQKKworW0luc3RhbGxdCitXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3hfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiZ3gvbGlidXNiZ3hfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3M2NhNjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2JneC9saWJ1c2JneF9naXQuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJVU0IgR2FkZ2V0IG5lWHQgQ29uZmlnZnMgTGlicmFyeSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK0RFUEVORFMgPSAibGliY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitQViA9ICIwLjIuMCtnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICI0NWMxNGVmNGQ1ZDdjZWQwZmJmOTg0MjA4ZGU0NGNlZDZkNWVkODk4IgorU1JDQlJBTkNIID0gIm1hc3RlciIKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL2xpYnVzYmd4L2xpYnVzYmd4LmdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKKyAgICBmaWxlOi8vZ2FkZ2V0LXN0YXJ0IFwKKyAgICBmaWxlOi8vdXNiZ3guaW5pdGQgXAorICAgIGZpbGU6Ly91c2JneC5zZXJ2aWNlIFwKKyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ1c2JneC5zZXJ2aWNlIgorCitJTklUU0NSSVBUX05BTUUgPSAidXNiZ3giCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworRVhUUkFfT0VDT05GID0gIi0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9L3VzYmd4IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vZ2FkZ2V0LXN0YXJ0ICR7RH0vJHtiaW5kaXJ9L2dhZGdldC1zdGFydAorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L3VzYmd4LnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vdXNiZ3guc2VydmljZQorICAgIGZpCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS91c2JneC5pbml0ZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdXNiZ3gKKwlmaQorfQorCitSREVQRU5EU18ke1BOfSArPSAibGlidXNiZ3gtY29uZmlnIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgppbmRleCA4Yzg0Y2IzLi5iOGE3MDBiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saWJ1dGVtcHRlci9saWJ1dGVtcHRlci5iYgpAQCAtMTIsNiArMTIsNyBAQAogCiBTUkNfVVJJID0gImdpdDovL2dpdC5hbHRsaW51eC5vcmcvcGVvcGxlL2xkdi9wYWNrYWdlcy9saWJ1dGVtcHRlci5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbWFjcm8tZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2xpYnV0ZW1wdGVyLXJlbW92ZS1nbGliYy1hc3N1bXB0aW9uLnBhdGNoIFwKICAgICAgICAgICAiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDItUHJvcGVyLW1hY3JvLXBhdGgtZ2VuZXJhdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpYnV0ZW1wdGVyL2xpYnV0ZW1wdGVyLzAwMDItUHJvcGVyLW1hY3JvLXBhdGgtZ2VuZXJhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTg2NmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbGlidXRlbXB0ZXIvbGlidXRlbXB0ZXIvMDAwMi1Qcm9wZXItbWFjcm8tcGF0aC1nZW5lcmF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMzQgQEAKK0Zyb20gNDhiNmJjZjlmNWQ4YTA1ZWFjZTRiYzQ2M2M0N2U4YTQ3MTVkMzAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGlkZGluZXYgPHhpZGluZXZAZ21haWwuY29tPgorRGF0ZTogTW9uLCAxOCBNYXIgMjAxOSAxNTo0NToyMCArMDIwMAorU3ViamVjdDogW1BBVENIXSBQcm9wZXIgbWFjcm8gcGF0aCBnZW5lcmF0aW9uLgorCitTaWduZWQtb2ZmLWJ5OiBpZGRpbmV2IDx4aWRpbmV2QGdtYWlsLmNvbT4KKy0tLQorIGxpYnV0ZW1wdGVyL2lmYWNlLmMgfCA3ICsrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGxpYnV0ZW1wdGVyL2lmYWNlLmMgbGlidXRlbXB0ZXIvaWZhY2UuYworaW5kZXggMjc3OTNmMC4uYzFjMGVlOSAxMDA2NDQKKy0tLSBsaWJ1dGVtcHRlci9pZmFjZS5jCisrKysgbGlidXRlbXB0ZXIvaWZhY2UuYworQEAgLTQ0LDEzICs0NCwxMiBAQAorICNlbmRpZgorIAorICNpZmRlZiAgTElCRVhFQ0RJUgorLSMgIGRlZmluZSBDQVRfUEFUSChESVIxLERJUjIpICAgICAgICAgICBESVIxIyNESVIyCistIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIENBVF9QQVRIKExJQkVYRUNESVIsL3V0ZW1wdGVyL3V0ZW1wdGVyKQorKyMgIGRlZmluZSBVVEVNUFRFUl9ERUZBVUxUX1BBVEhOQU1FICAgICBYU1RSX1BBVEgoTElCRVhFQ0RJUikiL3V0ZW1wdGVyL3V0ZW1wdGVyIgorICNlbHNlCistIyAgZGVmaW5lIFJBV19VVEVNUFRFUl9QQVRIICAgICAgICAgICAgIC91c3IvbGliL2xpYnRlbXB0ZXIvdXRlbXB0ZXIvdXRlbXB0ZXIKKysjICBkZWZpbmUgVVRFTVBURVJfREVGQVVMVF9QQVRITkFNRSAgICAgU1RSX1BBVEgoL3Vzci9saWIvbGlidGVtcHRlci91dGVtcHRlci91dGVtcHRlcikKKyAjZW5kaWYKKyAjZGVmaW5lIFNUUl9QQVRIKFJBV19TVFIpICAgICAgICAgICAgICAgI1JBV19TVFIKKy0jZGVmaW5lIFVURU1QVEVSX0RFRkFVTFRfUEFUSE5BTUUgICAgICAgU1RSX1BBVEgoUkFXX1VURU1QVEVSX1BBVEgpCisrI2RlZmluZSBYU1RSX1BBVEgoU1RSKSAgICAgICAgICAgICAgICAgIFNUUl9QQVRIKFNUUikKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqdXRlbXB0ZXJfcGF0aG5hbWU7Cisgc3RhdGljIGludCBzYXZlZF9mZCA9IC0xOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9saW8tdXRpbHMvbGlvLXV0aWxzXzQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCmluZGV4IGQ5NzgwY2YuLmVhNTRlNzUgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xpby11dGlscy9saW8tdXRpbHNfNC4xLmJiCkBAIC02LDEwICs2LDEwIEBACiAKIFBWID0gIjQuMStnaXQke1NSQ1BWfSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9yaXNpbmd0aWRlc3lzdGVtcy5jb20vbGlvLXV0aWxzLmdpdCBcCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vRGF0ZXJhL2xpby11dGlscy5naXQgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZXMtUmVzcGVjdC1lbnZpcm9ubWVudC12YXJpYWJsZXMtYW5kLWFkZC1MREZMLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDUkVWID0gIjI4YmQ5Mjg2NTViZGM3YmQzY2YzODBmMDE5NjYzMDY5MGM1MWUwNWYiCitTUkNSRVYgPSAiMGFjOTA5MWMxZmY3YTUyZDU0MzVhNGY0NDQ5ZTgyNjM3MTQyZTA2ZSIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIGluaGVyaXQgZGlzdHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXYvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyZjViZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2LzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluaXRpb25zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSAyZjM5ZGMzZDZmOTIwYzA4MjZhYTc0MzY3ZGExYTBhN2NjNDliMGZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTEgQXVnIDIwMTggMTU6MTg6MDQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gaW5jbHVkZSBzeXMvc3lzbWFjcm9zLmggZm9yIG1ham9yL21pbm9yIGRlZmluaXRpb25zCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLWluY2x1c2lvbiBvZiA8c3lzL3N5c21hY3Jvcy5oPiBieSA8c3lzL3R5cGVzLmg+IGlzIGRlcHJlY2F0ZWQuCi1UaGlzIG1lYW5zIHRoYXQgaW4gYSBmdXR1cmUgcmVsZWFzZSwgdGhlIG1hY3JvcyDigJxtYWpvcuKAnSwg4oCcbWlub3LigJ0sIGFuZAot4oCcbWFrZWRlduKAnSB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGZyb20gPHN5cy9zeXNtYWNyb3MuaD4uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9sb2NrZGV2LmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3NyYy9sb2NrZGV2LmMgYi9zcmMvbG9ja2Rldi5jCi1pbmRleCA5YTBmY2E1Li4zNTgxOTM4IDEwMDY0NAotLS0tIGEvc3JjL2xvY2tkZXYuYwotKysrIGIvc3JjL2xvY2tkZXYuYwotQEAgLTExNyw2ICsxMTcsNyBAQAotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvZmlsZS5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotICNpbmNsdWRlICJsb2NrZGV2LmgiCi0gI2luY2x1ZGUgInR0eWxvY2suaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9idWlsZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9idWlsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWM5MWQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2J1aWxkLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK2NvbW1pdCAwZGQ0NzEyMzY1NWM1MmQ2ODE4NWYwNmI5ZGE4ZmIwZTFiOTI1NDAwCitBdXRob3I6IEx1ZHdpZyBOdXNzZWwgPGx1ZHdpZy5udXNzZWxAc3VzZS5kZT4KK0RhdGU6ICAgVHVlIEZlYiA5IDE0OjU2OjIzIDIwMTAgKzAxMDAKKworICAgIFJlZEhhdCBwYXRjaCAyCisgICAgCisgICAgLSBjaGFuZ2UgbGlicmFyeSBmaWxlIG5hbWUKKyAgICAtIGluc3RhbGwgZGV2ZWwgc3ltbGluaworCistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0xMSw3ICsxMSw3IEBAIFZFUgk9ICQoc2hlbGwgZXhwciBgcHdkYCA6ICcuKi1cKFswLTkuXSoKKyBNVkVSCT0gJHtzaGVsbCBleHByIGBwd2RgIDogJy4qLVwoWzAtOV0qXCkuWzAtOV0qJ30KKyAKKyBzdGF0aWMJPSAke2xpYm5hbWV9LmEKKy1zaGFyZWQJPSAke2xpYm5hbWV9LiR7VkVSfS5zbworK3NoYXJlZAk9ICR7bGlibmFtZX0uc28uJHtWRVJ9Cisgc29uYW1lCT0gJHtsaWJuYW1lfS5zby4ke01WRVJ9CisgCisgIyBvdmVyd3JpdHRlbiBieSBjYWxsZXIgKGUuZy46IGRlYmlhbi9ydWxlcykKK0BAIC03Miw2ICs3Miw3IEBAIGluc3RhbGxfZG9jOglkb2NzL2xvY2tkZXYuMworIGluc3RhbGxfcnVuOgkke3NoYXJlZH0KKyAJaW5zdGFsbCAtbTc1NSAtZAkke2xpYmRpcn0KKyAJaW5zdGFsbCAtbTY0NCAke3NoYXJlZH0JJHtsaWJkaXJ9CisrCWxuIC1zICR7c2hhcmVkfQkJJHtsaWJkaXJ9L2xpYmxvY2tkZXYuc28KKyAKKyAuUEhPTlk6IGNsZWFuIGRpc3RjbGVhbiBwZXJsLWNsZWFuIG1vc3R5Y2xlYW4gCisgcGVybC1jbGVhbjoJY2xlYW4KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9jcm9zc19jb21waWxlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2L2Nyb3NzX2NvbXBpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4ZjZhNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldi9jcm9zc19jb21waWxlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTE1LDE3ICsxNSwxNyBAQCBzaGFyZWQJPSAke2xpYm5hbWV9LiR7VkVSfS5zbworIHNvbmFtZQk9ICR7bGlibmFtZX0uc28uJHtNVkVSfQorIAorICMgb3ZlcndyaXR0ZW4gYnkgY2FsbGVyIChlLmcuOiBkZWJpYW4vcnVsZXMpCistYmFzZWRpcgk9IC91c3IvbG9jYWwKKytiYXNlZGlyCT89IC91c3IvbG9jYWwKKyBzcmNkaXI9LgorIAorIGxpYmRpcgk9ICR7YmFzZWRpcn0vbGliCisgaW5jZGlyCT0gJHtiYXNlZGlyfS9pbmNsdWRlCisgbWFuZGlyCT0gJHtiYXNlZGlyfS9zaGFyZS9tYW4KKyAKKy1DQwk9IGdjYworLUxDRkxBR1MJPSAtZyAtTzIgLWZQSUMgLVdhbGwgLXBpcGUgLURfUkVFTlRSQU5UIAorLUNGTEFHUwk9IC1nCistTERMSUJTCT0gLWxsb2NrZGV2CisrQ0MJPz0gZ2NjCisrTENGTEFHUwk/PSAtZyAtTzIgLWZQSUMgLVdhbGwgLXBpcGUgLURfUkVFTlRSQU5UIAorK0NGTEFHUwk/PSAtZworK0xETElCUwk/PSAtbGxvY2tkZXYKKyAKKyAuUEhPTlk6IHNoYXJlZCBzdGF0aWMgcGVybC1saWIKKyBBTEw6CXNoYXJlZCBzdGF0aWMgcGVybC1saWIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl8xLjAuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2xvY2tkZXYvbG9ja2Rldl8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Yjg2MmJkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2XzEuMC4zLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiTG9ja2luZyBkZXZpY2VzIGxpYnJhcnkiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTT0iZmlsZTovL0xJQ0VOU0U7bWQ1PWQ4MDQ1ZjNiOGY5MjljMWNiMjlhMWUzZmQ3MzdiNDk5IgorCitQRSA9ICIxIgorU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE0MTAyM1QwNDMxMzJaL3Bvb2wvbWFpbi9sL2xvY2tkZXYvbG9ja2Rldl8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgICAgICAgIGh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTQxMDIzVDA0MzEzMlovcG9vbC9tYWluL2wvbG9ja2Rldi9sb2NrZGV2XyR7UFZ9LTEuNi5kaWZmLmd6O25hbWU9ZGViaWFucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3NfY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NGI5YzFiODdiMTI1ZmMzNDhlODkyZTI0NjI1NTI0YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjY2FlNjM1ZDdhYzNmZGQ1MDg5N2VjZWIyNTA4NzJiM2Q5YTE5MWQyOThmMjEzZTdmMGM4MzY5MTBkODY5ZjgyIgorU1JDX1VSSVtkZWJpYW5wYXRjaC5tZDVzdW1dID0gIjVlZjYyNjdjNDJmY2E5MTQ1ZTBhZjAwNmNjYjZhZmY3IgorU1JDX1VSSVtkZWJpYW5wYXRjaC5zaGEyNTZzdW1dID0gImE1NDA1YzZlZTVlOTdlNDVlZWIxYzgxMzMwYTdlOWY0NDRhNThiZGE1ZTY3NzFmYTMwMDA3NTE2YzExNTAwN2UiCisKK2luaGVyaXQgbGliX3BhY2thZ2UgcGVybG5hdGl2ZQorZXhwb3J0IGJhc2VkaXI9IiR7RH0ke3ByZWZpeH0iCisKK0NGTEFHUyArPSAiIC1EX19HTlVfTElCUkFSWV9fIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9fY29tcGlsZSgpIHsKKyAgICAgICAgb2VfcnVubWFrZSBiYXNlZGlyPSR7RH0ke3ByZWZpeH0gTEQ9IiR7Q0N9IiBMRD0iJHtDQ30iIHNoYXJlZCBzdGF0aWMKK30KK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGJhc2VkaXI9JHtEfSR7cHJlZml4fSBpbnN0YWxsCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbG9ja2Rldi9sb2NrZGV2X2dpdC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFkN2YwYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sb2NrZGV2L2xvY2tkZXZfZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJMb2NraW5nIGRldmljZXMgbGlicmFyeSIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNPSJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVBWID0gIjEuMC4zK2dpdCR7U1JDUFZ9IgotCi1TUkNSRVYgPSAiMTZiODk5NjQ1ZDMyMDEyY2M5NGNjOTIzMmY2NGQ0ZGRhYWYwYjc5NSIKLVNSQ19VUkkgPSAiZ2l0Oi8vYW5vbnNjbS5kZWJpYW4ub3JnL2xvY2tkZXYvbG9ja2Rldi5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW5pdGlvbnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgbGliX3BhY2thZ2UgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgLi9zY3JpcHRzL2dpdC12ZXJzaW9uID4gVkVSU0lPTgotCi0gICAgIyBNYWtlIGF1dG9tYWtlIGhhcHB5Ci0gICAgdG91Y2ggQ2hhbmdlTG9nCi19Ci0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRF9fR05VX0xJQlJBUllfXyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDEtQXZvaWQtYmFzaGlzbXMtaW4taW5pdC1zY3JpcHRzLnBhdGNoCmluZGV4IDViNTUxMTEuLjNjNGEzYTEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDAxLUF2b2lkLWJhc2hpc21zLWluLWluaXQtc2NyaXB0cy5wYXRjaApAQCAtMSwyNiArMSwyNyBAQAotRnJvbSA5MTZlYTBjNzBmZDA2M2FiN2I4MWYxNmZkOTE3YTc1ZGMwMmVkZjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+Ci1EYXRlOiBGcmksIDE3IE1hciAyMDE3IDAzOjE4OjI4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEF2b2lkIGJhc2hpc21zIGluIGluaXQgc2NyaXB0cworRnJvbSBlYTY2ZmFmNjhjOTM3MzVlZGIxZjI2OTFjZDczNjRiOGNhYjgzZmVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+CitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDE0OjUzOjA5ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBBdm9pZCBiYXNoaXNtcyBpbiBpbml0IHNjcmlwdHMKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCiAKIFNpZ25lZC1vZmYtYnk6IFBldGVyIEtqZWxsZXJzdGVkdCA8cGV0ZXIua2plbGxlcnN0ZWR0QGF4aXMuY29tPgotLS0tCi0gc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbiAgICAgIHwgNCArKy0tCi0gc2NyaXB0cy9jbHZtZF9pbml0X3JlZF9oYXQuaW4gICAgICAgICAgICAgICAgIHwgNiArKystLS0KLSBzY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbiAgICAgICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfY2x1c3Rlcl9hY3RpdmF0aW9uX3JlZF9oYXQuc2guaW4gfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbHZtZXRhZF9pbml0X3JlZF9oYXQuaW4gICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluICAgICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4gICAgICAgfCA0ICsrLS0KLSBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0ICAgICAgICAgICAgfCA0ICsrLS0KLSA4IGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQogCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4KK1JlYmFzZSB0byAyLjAzLjAxCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4gfCA0ICsrLS0KKyBzY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbiAgICAgICAgIHwgNCArKy0tCisgc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbiAgICB8IDQgKystLQorIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbiAgfCA0ICsrLS0KKyBzY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0ICAgICAgIHwgNCArKy0tCisgNSBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvYmxrX2F2YWlsYWJpbGl0eV9pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2Jsa19hdmFpbGFiaWxpdHlfaW5pdF9yZWRfaGF0LmluCitpbmRleCAzNDdjMzk1Li5iMmU5Y2Y5IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9ibGtfYXZhaWxhYmlsaXR5X2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTM1LDM4ICszNiwxMCBAQAogKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfSIKICAJOzsKICBlc2FjCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExWTTIuMi4wMi4xNzcub3JpZy9zY3JpcHRzL2Nsdm1kX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9jbHZtZF9pbml0X3JlZF9oYXQuaW4KLUBAIC0xLDQgKzEsNCBAQAotLSMhL2Jpbi9iYXNoCi0rIyEvYmluL3NoCi0gIwotICMgY2x2bWQgLSBDbHVzdGVyZWQgTFZNIERhZW1vbiBpbml0IHNjcmlwdAotICMKLUBAIC0xNjEsNyArMTYxLDcgQEAgcmVzdGFydCgpIHsKLSAJZmkKLSB9Ci0gCi0tWyAiJEVVSUQiICE9ICIwIiBdICYmIHsKLStbICIkKGlkIC11KSIgIT0gIjAiIF0gJiYgewotIAllY2hvICJjbHZtZCBpbml0IHNjcmlwdCBjYW4gb25seSBiZSBleGVjdXRlZCBhcyByb290IHVzZXIiCi0gCWV4aXQgNAotIH0KLUBAIC0yMDYsNyArMjA2LDcgQEAgY2FzZSAiJDEiIGluCi0gCTs7Ci0gCi0gICAqKQotLQllY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGNvbmRyZXN0YXJ0fHRyeS1yZXN0YXJ0fHJlbG9hZHxmb3JjZS1yZWxvYWR9IgotKwllY2hvICJVc2FnZTogJDAge3N0YXJ0fHN0b3B8c3RhdHVzfHJlc3RhcnR8Y29uZHJlc3RhcnR8dHJ5LXJlc3RhcnR8cmVsb2FkfGZvcmNlLXJlbG9hZH0iCi0gCXJ0cm49MgotIAk7OwotIGVzYWMKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgorZGlmZiAtLWdpdCBhL3NjcmlwdHMvY21pcnJvcmRfaW5pdF9yZWRfaGF0LmluIGIvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KK2luZGV4IGM4MmY4ZjUuLmEzYTMyMWQgMTAwNzU1CistLS0gYS9zY3JpcHRzL2NtaXJyb3JkX2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9jbWlycm9yZF9pbml0X3JlZF9oYXQuaW4KIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9iYXNoCiArIyEvYmluL3NoCkBAIC04Miw0OCArNTUsMTAgQEAKICAJCTs7CiAgZXNhYwogIAotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2NsdXN0ZXJfYWN0aXZhdGlvbl9yZWRfaGF0LnNoLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9jbHVzdGVyX2FjdGl2YXRpb25fcmVkX2hhdC5zaC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2NsdXN0ZXJfYWN0aXZhdGlvbl9yZWRfaGF0LnNoLmluCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9iaW4vYmFzaAotKyMhL2Jpbi9zaAotIAotIHNiaW5kaXI9IkBTQklORElSQCIKLSAKLUBAIC01NCw3ICs1NCw3IEBAIGNhc2UgIiQxIiBpbgotIAlydHJuPSQ/Ci0gCTs7Ci0gICAqKQotLQllY2hvICQiVXNhZ2U6ICQwIHthY3RpdmF0ZXxkZWFjdGl2YXRlfSIKLSsJZWNobyAiVXNhZ2U6ICQwIHthY3RpdmF0ZXxkZWFjdGl2YXRlfSIKLSAJcnRybj0zCi0gCTs7Ci0gZXNhYwotSW5kZXg6IExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bWV0YWRfaW5pdF9yZWRfaGF0LmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9sdm1ldGFkX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bWV0YWRfaW5pdF9yZWRfaGF0LmluCi1AQCAtMSw0ICsxLDQgQEAKLS0jIS9iaW4vYmFzaAotKyMhL2Jpbi9zaAotICMKLSAjIENvcHlyaWdodCAoQykgMjAxMi0yMDE3IFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAjCi1AQCAtMTAzLDcgKzEwMyw3IEBAIGNhc2UgIiQxIiBpbgotIAk7OwotIAotICAgKikKLS0JZWNobyAkIlVzYWdlOiAkMCB7c3RhcnR8c3RvcHxmb3JjZS1zdG9wfHJlc3RhcnR8Y29uZHJlc3RhcnR8dHJ5LXJlc3RhcnR8c3RhdHVzfSIKLSsJZWNobyAiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfGZvcmNlLXN0b3B8cmVzdGFydHxjb25kcmVzdGFydHx0cnktcmVzdGFydHxzdGF0dXN9IgotIAk7OwotIGVzYWMKLSAKLUluZGV4OiBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgotKysrIExWTTIuMi4wMi4xNzcvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgorZGlmZiAtLWdpdCBhL3NjcmlwdHMvbHZtMl9sdm1wb2xsZF9pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2x2bTJfbHZtcG9sbGRfaW5pdF9yZWRfaGF0LmluCitpbmRleCAxNzZmZjVkLi44MjVmNmFkIDEwMDY0NAorLS0tIGEvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgorKysrIGIvc2NyaXB0cy9sdm0yX2x2bXBvbGxkX2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTEzOSwxMCArNzQsMTAgQEAKICAJOzsKICBlc2FjCiAgCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMVk0yLjIuMDIuMTc3Lm9yaWcvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yZWRfaGF0LmluCi0rKysgTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KK2RpZmYgLS1naXQgYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4gYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KK2luZGV4IDk1ZTQxMjUuLmRmZjg5Y2QgMTAwNjQ0CistLS0gYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JlZF9oYXQuaW4KKysrKyBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmVkX2hhdC5pbgogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2Jhc2gKICsjIS9iaW4vc2gKQEAgLTE1OCwxMCArOTMsMTAgQEAKICAJOzsKICBlc2FjCiAgCi1JbmRleDogTFZNMi4yLjAyLjE3Ny9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gTFZNMi4yLjAyLjE3Ny5vcmlnL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKLSsrKyBMVk0yLjIuMDIuMTc3L3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKK2RpZmYgLS1naXQgYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19pbml0X3JoZWw0IGIvc2NyaXB0cy9sdm0yX21vbml0b3JpbmdfaW5pdF9yaGVsNAoraW5kZXggOGViMDZjNS4uMmU4ZDBmNyAxMDA2NDQKKy0tLSBhL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKKysrKyBiL3NjcmlwdHMvbHZtMl9tb25pdG9yaW5nX2luaXRfcmhlbDQKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9iYXNoCiArIyEvYmluL3NoCkBAIC0xNzcsMyArMTEyLDYgQEAKICAJOzsKICBlc2FjCiAgCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwMy1pbmNsdWRlLWZjbnRsLmgtZm9yLU9fLWRlZmluZXMtYW5kLWZjbnRsLXNpZ25hdHVyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFiMWMwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDMtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGIxYWQ5MWEwNTlkOTlhZmQxY2UyNTgyM2I3YzBhOGQzYWM2M2QyZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAyNSBPY3QgMjAxNiAxMTo1NTo0OSArMDAwMAotU3ViamVjdDogW1BBVENIIDMvNF0gaW5jbHVkZSBmY250bC5oIGZvciBPXyogZGVmaW5lcyBhbmQgZmNudGwoKSBzaWduYXR1cmUKLQotT24gZ2xpYmMgX3NvbWVob3dfIHRoaXMgaGVhZGVyIGdldHMgcHVsbGVkIGluIGluZGlyZWN0bHkKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2xpYmRhZW1vbi9zZXJ2ZXIvZGFlbW9uLXNlcnZlci5jIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKLWluZGV4IDZhZjZkZTkuLmE5NTkwZTcgMTAwNjQ0Ci0tLS0gYS9saWJkYWVtb24vc2VydmVyL2RhZW1vbi1zZXJ2ZXIuYwotKysrIGIvbGliZGFlbW9uL3NlcnZlci9kYWVtb24tc2VydmVyLmMKLUBAIC0xOCw2ICsxOCw3IEBACi0gI2luY2x1ZGUgImRhZW1vbi1zZXJ2ZXIuaCIKLSAjaW5jbHVkZSAiZGFlbW9uLWxvZy5oIgotIAotKyNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxkbGZjbi5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0tLSAKLTIuOS4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwNS1kby1ub3QtYnVpbGQtbWFudWFsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKaW5kZXggZTNjZTRjOC4uNzExN2Q5OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA1LWRvLW5vdC1idWlsZC1tYW51YWwucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDUxZDY2MWZmMzNiYjI1NGQ3YjMzNWE5Yzg3YWNmNWM2ZTdhOTQxOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDEwM2FjMWMxMjAwZGY4MTkwMzcyZDk3M2UwMDQ3NzZjZmZlOGU2NTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDMxIEp1bCAyMDE4IDE1OjA4OjM0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGRvIG5vdCBidWlsZCBtYW51YWwKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTQ6NTk6NTUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzNdIGRvIG5vdCBidWlsZCBtYW51YWwKIAogT24gc29tZSBob3N0ICh1YnVudHUgMTQwNCksIGJ1aWxkIG1hbnVhbCBmYWlsZWQuCiAuLi4KQEAgLTE0LDM0ICsxNCwzOSBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlLmluICB8IDYgKysrLS0tCiAgY29uZmlndXJlLmFjIHwgMSAtCiAgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBlMmY1YTg0Li5hY2YzMWU1IDEwMDY0NAoraW5kZXggNmExYTk5MC4uODBjYmE5MSAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluCiArKysgYi9NYWtlZmlsZS5pbgogQEAgLTE4LDcgKzE4LDcgQEAgdG9wX2J1aWxkZGlyID0gQHRvcF9idWlsZGRpckAKICBhYnNfdG9wX2J1aWxkZGlyID0gQGFic190b3BfYnVpbGRkaXJACiAgYWJzX3RvcF9zcmNkaXIgPSBAYWJzX3RvcF9zcmNkaXJACiAgCi0tU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gbWFuIHNjcmlwdHMgZGV2aWNlX21hcHBlciB0b29scwotK1NVQkRJUlMgPSBjb25mIGRhZW1vbnMgaW5jbHVkZSBsaWIgbGliZGFlbW9uIGxpYmRtIHNjcmlwdHMgZGV2aWNlX21hcHBlciB0b29scworLVNVQkRJUlMgPSBjb25mIGRhZW1vbnMgaW5jbHVkZSBsaWIgbGliZGFlbW9uIGxpYmRtIG1hbiBzY3JpcHRzIHRvb2xzCisrU1VCRElSUyA9IGNvbmYgZGFlbW9ucyBpbmNsdWRlIGxpYiBsaWJkYWVtb24gbGliZG0gc2NyaXB0cyB0b29scwogIAogIGlmZXEgKCJAVURFVl9SVUxFU0AiLCAieWVzIikKICAgIFNVQkRJUlMgKz0gdWRldgotQEAgLTQxLDcgKzQxLDcgQEAgaWZlcSAoJChNQUtFQ01ER09BTFMpLGNsZWFuKQorQEAgLTMzLDcgKzMzLDcgQEAgaWZlcSAoJChNQUtFQ01ER09BTFMpLGNsZWFuKQogIGVuZGlmCiAgIyBGSVhNRSBTaG91bGQgdXNlIGludGVybWVkaWF0ZSBNYWtlZmlsZXMgaGVyZSEKICBpZmVxICgkKE1BS0VDTURHT0FMUyksZGlzdGNsZWFuKQogLSAgU1VCRElSUyA9IGNvbmYgaW5jbHVkZSBtYW4gdGVzdCBzY3JpcHRzIFwKICsgIFNVQkRJUlMgPSBjb25mIGluY2x1ZGUgdGVzdCBzY3JpcHRzIFwKICAgICAgbGliZGFlbW9uIGxpYiB0b29scyBkYWVtb25zIGxpYmRtIFwKLSAgICAgdWRldiBwbyBsaWJsdm0gcHl0aG9uIGRldmljZV9tYXBwZXIKKyAgICAgdWRldiBwbwogIHRvb2xzLmRpc3RjbGVhbjogdGVzdC5kaXN0Y2xlYW4KLUBAIC03MSw3ICs3MSw3IEBAIGxpYmx2bS5kZXZpY2UtbWFwcGVyOiBpbmNsdWRlLmRldmljZS1tYXBwZXIKK0BAIC02NSw3ICs2NSw3IEBAIGxpYmRtLmRldmljZS1tYXBwZXI6IGluY2x1ZGUuZGV2aWNlLW1hcHBlcgogIGRhZW1vbnMuZGV2aWNlLW1hcHBlcjogbGliZG0uZGV2aWNlLW1hcHBlcgogIHRvb2xzLmRldmljZS1tYXBwZXI6IGxpYmRtLmRldmljZS1tYXBwZXIKICBzY3JpcHRzLmRldmljZS1tYXBwZXI6IGluY2x1ZGUuZGV2aWNlLW1hcHBlcgpAQCAtNTEsMTcgKzU2LDE3IEBACiAgaWZlcSAoIkBJTlRMQCIsICJ5ZXMiKQogIGxpYi5wb2ZpbGU6IGluY2x1ZGUucG9maWxlCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhYTM3NGVhLi41YTkyY2JhIDEwMDY0NAoraW5kZXggN2ZkMDU2MS4uNDE1NGRjMCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjEyNCw3ICsyMTI0LDYgQEAgbGliZG0vTWFrZWZpbGUKK0BAIC0xODEyLDcgKzE4MTIsNiBAQCBsaWJkYWVtb24vc2VydmVyL01ha2VmaWxlCisgbGliZG0vTWFrZWZpbGUKKyBsaWJkbS9kbS10b29scy9NYWtlZmlsZQogIGxpYmRtL2xpYmRldm1hcHBlci5wYwotIGxpYmx2bS9NYWtlZmlsZQotIGxpYmx2bS9saWJsdm0yYXBwLnBjCiAtbWFuL01ha2VmaWxlCiAgcG8vTWFrZWZpbGUKLSBweXRob24vTWFrZWZpbGUKLSBweXRob24vc2V0dXAucHkKKyBzY3JpcHRzL2x2bTItcHZzY2FuLnNlcnZpY2UKKyBzY3JpcHRzL2Jsa2RlYWN0aXZhdGUuc2gKIC0tIAogMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA2LXN0YXJ0LWx2bTItbW9uaXRvci5zZXJ2aWNlLWFmdGVyLXRtcC5tb3VudC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvZmlsZXMvMDAwNi1zdGFydC1sdm0yLW1vbml0b3Iuc2VydmljZS1hZnRlci10bXAubW91bnQucGF0Y2gKaW5kZXggMGU2OGQ2Mi4uZTVhZDRlYSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9maWxlcy8wMDA2LXN0YXJ0LWx2bTItbW9uaXRvci5zZXJ2aWNlLWFmdGVyLXRtcC5tb3VudC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2ZpbGVzLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoCkBAIC0xMCwyMCArMTAsMjUgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIHNjcmlwdHMvbHZtMl9tb25pdG9yaW5nX3N5c3RlbWRfcmVkX2hhdC5zZXJ2aWNlLmluIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc2NyaXB0cy9sdm0yX21vbml0b3Jpbmdfc3lzdGVtZF9yZWRfaGF0LnNlcnZpY2UuaW4gYi9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbgotaW5kZXggMjIyMzhiNy4uOTNiMmJlZSAxMDA2NDQKK2luZGV4IDdlYzRlNGUuLjMyODJhOTUgMTAwNjQ0CiAtLS0gYS9zY3JpcHRzL2x2bTJfbW9uaXRvcmluZ19zeXN0ZW1kX3JlZF9oYXQuc2VydmljZS5pbgogKysrIGIvc2NyaXB0cy9sdm0yX21vbml0b3Jpbmdfc3lzdGVtZF9yZWRfaGF0LnNlcnZpY2UuaW4KIEBAIC0yLDcgKzIsNyBAQAogIERlc2NyaXB0aW9uPU1vbml0b3Jpbmcgb2YgTFZNMiBtaXJyb3JzLCBzbmFwc2hvdHMgZXRjLiB1c2luZyBkbWV2ZW50ZCBvciBwcm9ncmVzcyBwb2xsaW5nCiAgRG9jdW1lbnRhdGlvbj1tYW46ZG1ldmVudGQoOCkgbWFuOmx2Y3JlYXRlKDgpIG1hbjpsdmNoYW5nZSg4KSBtYW46dmdjaGFuZ2UoOCkKLSBSZXF1aXJlcz1kbS1ldmVudC5zb2NrZXQgbHZtMi1sdm1ldGFkLnNvY2tldAotLUFmdGVyPWRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zb2NrZXQgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UgbHZtMi1sdm1ldGFkLnNlcnZpY2UKLStBZnRlcj1kbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZSBsdm0yLWx2bWV0YWQuc29ja2V0IGx2bTItYWN0aXZhdGlvbi5zZXJ2aWNlIGx2bTItbHZtZXRhZC5zZXJ2aWNlIHRtcC5tb3VudAorIFJlcXVpcmVzPWRtLWV2ZW50LnNvY2tldAorLUFmdGVyPWRtLWV2ZW50LnNvY2tldCBkbS1ldmVudC5zZXJ2aWNlIGx2bTItYWN0aXZhdGlvbi5zZXJ2aWNlCisrQWZ0ZXI9ZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UgbHZtMi1hY3RpdmF0aW9uLnNlcnZpY2UgdG1wLm1vdW50CiAgQmVmb3JlPWxvY2FsLWZzLXByZS50YXJnZXQKICBEZWZhdWx0RGVwZW5kZW5jaWVzPW5vCiAgQ29uZmxpY3RzPXNodXRkb3duLnRhcmdldApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMi4xODAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAyLjE4MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjZhZjMyNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2xpYmRldm1hcHBlcl8yLjAyLjE4MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLXJlcXVpcmUgbHZtMi5pbmMKLQotU1JDX1VSSVttZDVzdW1dID0gImJjMjZkYTY2ZTk2NzI3YmFiYmQyODhiYjBmMDUwMzM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0OTk3ZTI2ZGZjOTE2MTUxNzA3YzlkYTUwNGQzOGQwNDczYmVjMzQ4MWE4MjMwYjY3NmJjMDc5MDQxYmVhZDYiCi0KLURFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIC1DIGxpYmRtIGluc3RhbGwKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIC1DIHRvb2xzIGluc3RhbGxfZGV2aWNlLW1hcHBlcgotfQotCi1SUkVDT01NRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsdm0yLXVkZXZydWxlcyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9saWJkZXZtYXBwZXJfMi4wMy4wMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDMuMDIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM0ZmViYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbGliZGV2bWFwcGVyXzIuMDMuMDIuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSBsdm0yLmluYworCitTUkNSRVYgPSAiOTEzYzI4OTE3ZTYyNTc3YTJlZjY3MTUyYjJlNTE1OTIzNzUwM2RkYSIKKworREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgLUMgbGliZG0gaW5zdGFsbAorfQorCitSUkVDT01NRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsdm0yLXVkZXZydWxlcyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi5pbmMKaW5kZXggMjZhODg3ZS4uODYxN2YyNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIuaW5jCkBAIC03LDI1ICs3LDIzIEBACiAKIERFUEVORFMgKz0gInV0aWwtbGludXggbGliYWlvIgogCi1TUkNfVVJJID0gImZ0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9wdWIvbHZtMi9vbGQvTFZNMi4ke1BWfS50Z3ogXAorU1JDX1VSSSA9ICJmdHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vcHViL2x2bTIvcmVsZWFzZXMvTFZNMi4ke1BWfS50Z3ogXAogICAgICAgICAgICBmaWxlOi8vbHZtLmNvbmYgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1pbXBsZW1lbnQtbGliYy1zcGVjaWZpYy1yZW9wZW5fc3RyZWFtLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItR3VhcmQtdXNlLW9mLW1hbGxpbmZvLXdpdGgtX19HTElCQ19fLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW5jbHVkZS1mY250bC5oLWZvci1PXy1kZWZpbmVzLWFuZC1mY250bC1zaWduYXR1cmUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNC10d2Vhay1NT0RQUk9CRV9DTUQtZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Bdm9pZC1iYXNoaXNtcy1pbi1pbml0LXNjcmlwdHMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwNS1kby1ub3QtYnVpbGQtbWFudWFsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDYtc3RhcnQtbHZtMi1tb25pdG9yLnNlcnZpY2UtYWZ0ZXItdG1wLm1vdW50LnBhdGNoIFwKICAgICAgICAgICAgIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiZnRwOi8vc291cmNlcy5yZWRoYXQuY29tL3B1Yi9sdm0yLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIkxWTTJcLig/UDxwdmVyPlxkKyhcLlxkKykrKSIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZmMwN2RhNTQ2MWEzNzk0YTc1MWRjZmMzNTU4MjdkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NTBiYTc1MDIzOWZkNzViN2U1MmM5ODc3NTY1Y2FiZmZlZjUwNmJiZjZkN2Y2ZjE3Yjk3MDBkZWU1NmM3MjBmIgogCiBTID0gIiR7V09SS0RJUn0vTFZNMi4ke1BWfSIKIAogaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBzeXN0ZW1kIGxpY2Vuc2UKIAotTFZNMl9QQUNLQUdFQ09ORklHID0gImRtZXZlbnRkIGx2bWV0YWQiCitMVk0yX1BBQ0tBR0VDT05GSUcgPSAiZG1ldmVudGQiCiBMVk0yX1BBQ0tBR0VDT05GSUdfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAogICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCBkKX0gXAogICAgICR7QGluY29tcGF0aWJsZV9saWNlbnNlX2NvbnRhaW5zKCdHUEx2MycsICcnLCAndGhpbi1wcm92aXNpb25pbmctdG9vbHMnLCBkKX0gXApAQCAtMzksNyArMzcsNiBAQAogUEFDS0FHRUNPTkZJRyA/Pz0gIm9kaXJlY3QgJHtMVk0yX1BBQ0tBR0VDT05GSUd9IgogCiBQQUNLQUdFQ09ORklHW2RtZXZlbnRkXSA9ICItLWVuYWJsZS1kbWV2ZW50ZCwtLWRpc2FibGUtZG1ldmVudGQiCi1QQUNLQUdFQ09ORklHW2x2bWV0YWRdID0gIi0tZW5hYmxlLWx2bWV0YWQsLS1kaXNhYmxlLWx2bWV0YWQiCiBQQUNLQUdFQ09ORklHW29kaXJlY3RdID0gIi0tZW5hYmxlLW9fZGlyZWN0LC0tZGlzYWJsZS1vX2RpcmVjdCIKIFBBQ0tBR0VDT05GSUdbcmVhZGxpbmVdID0gIi0tZW5hYmxlLXJlYWRsaW5lLC0tZGlzYWJsZS1yZWFkbGluZSxyZWFkbGluZSIKIFBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4IgpAQCAtNTAsNyArNDcsNiBAQAogRVhUUkFfT0VDT05GID0gIi0td2l0aC11c2VyPSBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWdyb3VwPSBcCiAgICAgICAgICAgICAgICAgLS1lbmFibGUtcmVhbHRpbWUgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWFwcGxpYiBcCiAgICAgICAgICAgICAgICAgLS1lbmFibGUtY21kbGliIFwKICAgICAgICAgICAgICAgICAtLWVuYWJsZS1wa2djb25maWcgXAogICAgICAgICAgICAgICAgIC0td2l0aC11c3JsaWJkaXI9JHtsaWJkaXJ9IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1kZXYtaGRjLW9wZW4tZmFpbGVkLU5vLW1lZGl1bS1mb3VuZC13aWxsLXByaW50LW91dC1pLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZDViMWIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1kZXYtaGRjLW9wZW4tZmFpbGVkLU5vLW1lZGl1bS1mb3VuZC13aWxsLXByaW50LW91dC1pLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gOTNjOTNlM2I4NTQ5MmU1OGY5NDUxODQxZTYwNzlkMDBjNDk3ZWZhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEppcGluZyBNYSA8amlwaW5nLm1hMkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzoyOToxMiArMDgwMAorU3ViamVjdDogW1BBVENIXSAiL2Rldi9oZGM6IG9wZW4gZmFpbGVkOiBObyBtZWRpdW0gZm91bmQiIHdpbGwgcHJpbnQgb3V0IGluCisgbHZtZGlza3NjYW4uCisKK2NvbW1pdCBbNTdiYjQ2YzVlN2Y4XSBpbnRyb2R1Y2UgdGhpcyBpc3N1ZS4KKyIvZGV2L2hkYzogb3BlbiBmYWlsZWQ6IE5vIG1lZGl1bSBmb3VuZCIgd2lsbCBiZSBwcmludCBvdXQKK2FmdGVyIHJ1biBsdm1kaXNrc2Nhbi4gY2hhbmdlIGRldl9vcGVuX3JlYWRvbmx5KCkKK3RvIGRldl9vcGVuX3JlYWRvbmx5X3F1aWV0KCkgaW4gZnVjdGlvbiBfZGV2X2dldF9zaXplX2RldigpLgorCitTaWduZWQtb2ZmLWJ5OiBKaXBpbmcgTWEgPGppcGluZy5tYTJAd2luZHJpdmVyLmNvbT4KKy0tLQorIGxpYi9kZXZpY2UvZGV2LWlvLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWIvZGV2aWNlL2Rldi1pby5jIGIvbGliL2RldmljZS9kZXYtaW8uYworaW5kZXggZGM5NTEzMS4uODFhNjZiMCAxMDA2NDQKKy0tLSBhL2xpYi9kZXZpY2UvZGV2LWlvLmMKKysrKyBiL2xpYi9kZXZpY2UvZGV2LWlvLmMKK0BAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIGludCBfZGV2X2dldF9zaXplX2RldihzdHJ1Y3QgZGV2aWNlICpkZXYsIHVpbnQ2NF90ICpzaXplKQorIAl9CisgCisgCWlmIChmZCA8PSAwKSB7CistCQlpZiAoIWRldl9vcGVuX3JlYWRvbmx5KGRldikpCisrCQlpZiAoIWRldl9vcGVuX3JlYWRvbmx5X3F1aWV0KGRldikpCisgCQkJcmV0dXJuXzA7CisgCQlmZCA9IGRldl9mZChkZXYpOworIAkJZG9fY2xvc2UgPSAxOworLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yLzAwMDEtZXhwbGljaXRseS1kby1ub3QtaW5zdGFsbC1saWJkbS5wYXRjaAppbmRleCA3ZjVkZDkzLi4yNDE2MGI0IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTIvMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMi8wMDAxLWV4cGxpY2l0bHktZG8tbm90LWluc3RhbGwtbGliZG0ucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDVhM2UxM2FlOTQzMThjMmJlZDYwZjg3NWJiMzg1MmM0NWNlMDExM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNjMTZkOWFhYTQ2NjAyZTc1OTRkNzE3ZDg2ZTdmMDIwNjZkMjExMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI1IE1heSAyMDE3IDA1OjI3OjExIC0wNDAwCitEYXRlOiBNb24sIDI2IE5vdiAyMDE4IDE3OjIwOjIwICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGV4cGxpY2l0bHkgZG8gbm90IGluc3RhbGwgbGliZG0KIAogQWxyZWFkeSBoYXZlIHBhY2thZ2UgbGliZGV2bWFwcGVyIHdoaWNoIHNwbGl0IGZyb20gbHZtMiwKQEAgLTksMTcgKzksMjEgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbWV0YS1vZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogQW5kcmV3IEJyZXN0aWNrZXIgPGFicmVzdGljQHdheW1vLmNvbT4KKworCitVcGRhdGUgY29udGV4dCBmb3IgbHZtMiAyLjAzLjAyLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQotIGxpYmRtL01ha2VmaWxlLmluIHwgNiArKysrLS0KLSB0b29scy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgbGliZG0vTWFrZWZpbGUuaW4gICAgICAgICAgfCA2ICsrKystLQorIGxpYmRtL2RtLXRvb2xzL01ha2VmaWxlLmluIHwgNiArKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYmRtL01ha2VmaWxlLmluIGIvbGliZG0vTWFrZWZpbGUuaW4KLWluZGV4IDY2ZWMzOTUxMy4uYzc3OWM5ZDg2IDEwMDY0NAoraW5kZXggZTliYjVhZS4uNGU5YWUzZiAxMDA2NDQKIC0tLSBhL2xpYmRtL01ha2VmaWxlLmluCiArKysgYi9saWJkbS9NYWtlZmlsZS5pbgotQEAgLTc3LDkgKzc3LDExIEBAIGlmZXEgKCJAUEtHQ09ORklHQCIsICJ5ZXMiKQorQEAgLTgyLDkgKzgyLDExIEBAIGlmZXEgKCJAUEtHQ09ORklHQCIsICJ5ZXMiKQogICAgSU5TVEFMTF9UWVBFICs9IGluc3RhbGxfcGtnY29uZmlnCiAgZW5kaWYKICAKQEAgLTMyLDIxICszNiwzMCBAQAogKwllY2hvICJEbyBub3QgaW5zdGFsbCBkZXZpY2UgbWFwcGVyIGluIGx2bTIiCiAgCiAgaW5zdGFsbF9pbmNsdWRlOiAkKHNyY2RpcikvbGliZGV2bWFwcGVyLmgKLSAJJChJTlNUQUxMX0RBVEEpIC1EICQ8ICQoaW5jbHVkZWRpcikvJCg8RikKLWRpZmYgLS1naXQgYS90b29scy9NYWtlZmlsZS5pbiBiL3Rvb2xzL01ha2VmaWxlLmluCi1pbmRleCAxMDNiNzY3MzIuLjYzYmE3ZmMwNCAxMDA2NDQKLS0tLSBhL3Rvb2xzL01ha2VmaWxlLmluCi0rKysgYi90b29scy9NYWtlZmlsZS5pbgotQEAgLTI2Nyw3ICsyNjcsOCBAQCBpbnN0YWxsX2Rtc2V0dXBfc3RhdGljOiBkbXNldHVwLnN0YXRpYwotIAkkKFEpICQoSU5TVEFMTF9QUk9HUkFNKSAtRCAkPCAkKHN0YXRpY2RpcikvJCg8RikKLSAJJChRKSAkKExOX1MpIC1mICQoPEYpICQoc3RhdGljZGlyKS9kbXN0YXRzCisgCUBlY2hvICIgICAgW0lOU1RBTExdICQ8IgorZGlmZiAtLWdpdCBhL2xpYmRtL2RtLXRvb2xzL01ha2VmaWxlLmluIGIvbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4KK2luZGV4IDE1YTlkOGUuLjY1ZTEzMDYgMTAwNjQ0CistLS0gYS9saWJkbS9kbS10b29scy9NYWtlZmlsZS5pbgorKysrIGIvbGliZG0vZG0tdG9vbHMvTWFrZWZpbGUuaW4KK0BAIC0yMCw3ICsyMCw4IEBAIGFsbDogZGV2aWNlLW1hcHBlcgogIAotLWluc3RhbGxfZGV2aWNlLW1hcHBlcjogJChJTlNUQUxMX0RNU0VUVVBfVEFSR0VUUykKKyBTT1VSQ0VTMiA9IGRtc2V0dXAuYworIFRBUkdFVFNfRE0gPSBkbXNldHVwCistaW5zdGFsbF9kZXZpY2UtbWFwcGVyOiBpbnN0YWxsX2Rtc2V0dXBfZHluYW1pYwogK2luc3RhbGxfZGV2aWNlLW1hcHBlcjoKICsJZWNobyAiRG8gbm90IGluc3RhbGwgZGV2aWNlIG1hcHBlciBpbiBsdm0yIgogIAotIGluc3RhbGxfbHZtMjogJChJTlNUQUxMX0xWTV9UQVJHRVRTKQorIGlmZXEgKCJAU1RBVElDX0xJTktAIiwgInllcyIpCisgICBUQVJHRVRTX0RNICs9IGRtc2V0dXAuc3RhdGljCitAQCAtOTMsNiArOTQsNyBAQCBpbnN0YWxsX2RtZmlsZW1hcGRfc3RhdGljOiBkbWZpbGVtYXBkLnN0YXRpYworIC5QSE9OWTogaW5zdGFsbF9kbXNldHVwX2R5bmFtaWMgaW5zdGFsbF9kbXNldHVwX3N0YXRpYworIC5QSE9OWTogaW5zdGFsbF9kbWZpbGVtYXBkIGluc3RhbGxfZG1maWxlbWFwZF9zdGF0aWMKICAKKy1pbnN0YWxsOiBpbnN0YWxsX2RldmljZS1tYXBwZXIgaW5zdGFsbF9kbWZpbGVtYXBkCisraW5zdGFsbDoKKysJZWNobyAiRG8gbm90IGluc3RhbGwgZGV2aWNlIG1hcHBlciBpbiBsdm0yIgorIAorIGRldmljZS1tYXBwZXI6ICQoVEFSR0VUU19ETSkKIC0tIAotMi4xOS4wLjM5Ny5nZGQ5MDM0MGY2YS1nb29nCisyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xODAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMi4xODAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZDdiMDkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbHZtMi9sdm0yXzIuMDIuMTgwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotcmVxdWlyZSBsdm0yLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmMyNmRhNjZlOTY3MjdiYWJiZDI4OGJiMGYwNTAzMzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjQ5OTdlMjZkZmM5MTYxNTE3MDdjOWRhNTA0ZDM4ZDA0NzNiZWMzNDgxYTgyMzBiNjc2YmMwNzkwNDFiZWFkNiIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtZXhwbGljaXRseS1kby1ub3QtaW5zdGFsbC1saWJkbS5wYXRjaCIKLQotREVQRU5EUyArPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUiCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn06JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYiCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJNT0RQUk9CRV9DTUQ9JHtiYXNlX3NiaW5kaXJ9L21vZHByb2JlIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICAjIEluc3RhbGwgbWFjaGluZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIGZpbGUKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2x2bQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2x2bS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgotICAgIHNlZCAtaSAtZSAnczpAbGliZGlyQDoke2xpYmRpcn06ZycgJHtEfSR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9zeXN0ZW1kX3VuaXRzCi0gICAgICAgIHNlZCAtaSAtZSAnczovdXNyL2Jpbi90cnVlOiR7YmFzZV9iaW5kaXJ9L3RydWU6ZycgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vYmxrLWF2YWlsYWJpbGl0eS5zZXJ2aWNlCi0gICAgZWxzZQotICAgICAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwgaW5zdGFsbF9pbml0c2NyaXB0cwotICAgICAgICBtdiAke0R9JHtzeXNjb25mZGlyfS9yYy5kL2luaXQuZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLSAgICAgICAgcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKLSAgICBmaQotfQotCi1QQUNLQUdFX0JFRk9SRV9QTiA9ICIke1BOfS1zY3JpcHRzICR7UE59LXVkZXZydWxlcyIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdkbWV2ZW50ZCcsICdsdm0yLW1vbml0b3Iuc2VydmljZSBkbS1ldmVudC5zb2NrZXQgZG0tZXZlbnQuc2VydmljZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2x2bWV0YWQnLCAnbHZtMi1sdm1ldGFkLnNvY2tldCBsdm0yLXB2c2NhbkAuc2VydmljZScsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICAgICAgIGJsay1hdmFpbGFiaWxpdHkuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXdpdGgtY29uZmRpcj0ke3N5c2NvbmZkaXJ9IgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2RldmljZS1tYXBwZXIvKi5zbyIKLUZJTEVTXyR7UE59LXNjcmlwdHMgPSAiIFwKLSAgICAke3NiaW5kaXJ9L2Jsa2RlYWN0aXZhdGUgXAotICAgICR7c2JpbmRpcn0vZnNhZG0gXAotICAgICR7c2JpbmRpcn0vbHZtY29uZiBcCi0gICAgJHtzYmluZGlyfS9sdm1kdW1wIFwKLSIKLSMgU3BlY2lmaWVkIGV4cGxpY2l0bHkgZm9yIHRoZSB1ZGV2IHJ1bGVzLCBqdXN0IGluIGNhc2UgdGhhdCBpdCBkb2VzIG5vdCBnZXQgcGlja2VkCi0jIHVwIGF1dG9tYXRpY2FsbHk6Ci1GSUxFU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQiCi1SREVQRU5EU18ke1BOfS11ZGV2cnVsZXMgPSAiJHtQTn0iCi1SREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBsaWJkZXZtYXBwZXIiCi1SREVQRU5EU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBsaWJkZXZtYXBwZXIiCi0KLVJERVBFTkRTXyR7UE59LXNjcmlwdHMgPSAiJHtQTn0gKD0gJHtFWFRFTkRQS0dWfSkgYmFzaCIKLVJSRUNPTU1FTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICIke1BOfS1zY3JpcHRzICg9ICR7RVhURU5EUEtHVn0pIgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMy4wMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L2x2bTIvbHZtMl8yLjAzLjAyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyY2U5NWMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9sdm0yL2x2bTJfMi4wMy4wMi5iYgpAQCAtMCwwICsxLDYyIEBACityZXF1aXJlIGx2bTIuaW5jCisKK1NSQ1JFViA9ICI5MTNjMjg5MTdlNjI1NzdhMmVmNjcxNTJiMmU1MTU5MjM3NTAzZGRhIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1leHBsaWNpdGx5LWRvLW5vdC1pbnN0YWxsLWxpYmRtLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRldi1oZGMtb3Blbi1mYWlsZWQtTm8tbWVkaXVtLWZvdW5kLXdpbGwtcHJpbnQtb3V0LWkucGF0Y2ggXAorICAgICAgICAgICAiCisKK0RFUEVORFMgKz0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIgorCitpbmhlcml0IG11bHRpbGliX3NjcmlwdAorCitNVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59OiR7c3lzY29uZmRpcn0vbHZtL2x2bS5jb25mIgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiTU9EUFJPQkVfQ01EPSR7YmFzZV9zYmluZGlyfS9tb2Rwcm9iZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBJbnN0YWxsIG1hY2hpbmUgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBmaWxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9sdm0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdm0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9sdm0vbHZtLmNvbmYKKyAgICBzZWQgLWkgLWUgJ3M6QGxpYmRpckA6JHtsaWJkaXJ9OmcnICR7RH0ke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZgorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfc3lzdGVtZF91bml0cworICAgICAgICBzZWQgLWkgLWUgJ3M6L3Vzci9iaW4vdHJ1ZToke2Jhc2VfYmluZGlyfS90cnVlOmcnICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2Jsay1hdmFpbGFiaWxpdHkuc2VydmljZQorICAgIGVsc2UKKyAgICAgICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsIGluc3RhbGxfaW5pdHNjcmlwdHMKKyAgICAgICAgbXYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZC9pbml0LmQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIHJtIC1yZiAke0R9JHtzeXNjb25mZGlyfS9yYy5kCisgICAgZmkKK30KKworUEFDS0FHRV9CRUZPUkVfUE4gPSAiJHtQTn0tc2NyaXB0cyAke1BOfS11ZGV2cnVsZXMiCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZG1ldmVudGQnLCAnbHZtMi1tb25pdG9yLnNlcnZpY2UgZG0tZXZlbnQuc29ja2V0IGRtLWV2ZW50LnNlcnZpY2UnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBibGstYXZhaWxhYmlsaXR5LnNlcnZpY2UgbHZtMi1wdnNjYW5ALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1RBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLS13aXRoLWNvbmZkaXI9JHtzeXNjb25mZGlyfSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9kZXZpY2UtbWFwcGVyLyouc28iCitGSUxFU18ke1BOfS1zY3JpcHRzID0gIiBcCisgICAgJHtzYmluZGlyfS9ibGtkZWFjdGl2YXRlIFwKKyAgICAke3NiaW5kaXJ9L2ZzYWRtIFwKKyAgICAke3NiaW5kaXJ9L2x2bWNvbmYgXAorICAgICR7c2JpbmRpcn0vbHZtZHVtcCBcCisiCisjIFNwZWNpZmllZCBleHBsaWNpdGx5IGZvciB0aGUgdWRldiBydWxlcywganVzdCBpbiBjYXNlIHRoYXQgaXQgZG9lcyBub3QgZ2V0IHBpY2tlZAorIyB1cCBhdXRvbWF0aWNhbGx5OgorRklMRVNfJHtQTn0tdWRldnJ1bGVzID0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kIgorUkRFUEVORFNfJHtQTn0tdWRldnJ1bGVzID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbGliZGV2bWFwcGVyIgorUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgbGliZGV2bWFwcGVyIgorCitSREVQRU5EU18ke1BOfS1zY3JpcHRzID0gIiR7UE59ICg9ICR7RVhURU5EUEtHVn0pIGJhc2giCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgPSAiJHtQTn0tc2NyaXB0cyAoPSAke0VYVEVORFBLR1Z9KSIKKworQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2x2bS9sdm0uY29uZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0L21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0L21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmZmVkZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3QvbWFrZWZpbGUtcmVtb3ZlLWxkZmxhZ3MucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorUmVtb3ZlIHRoZSBkZWZhdWx0IENGTEFHUyBhbmQgTERGTEFHUyBpbiBNYWtlZmlsZS4gRW5zdXJlIHRoZSBleHRyYSBsaW5rZXIgZmxhZ3MgY2FuIGJlIHBhc3NlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgorCitkaWZmIC0tZ2l0IGEvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlIGIvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlCitpbmRleCBkYTFjYmQ4Li5kZWM1YjE0IDEwMDY0NAorLS0tIGEvY2FzZXMvc3RyZXNzL2h3cG9pc29uL01ha2VmaWxlCisrKysgYi9jYXNlcy9zdHJlc3MvaHdwb2lzb24vTWFrZWZpbGUKK0BAIC0xLDggKzEsOCBAQAorLUNGTEFHUyA6PSAtZyAtV2FsbAorLUxERkxBR1MgOj0gLWcKKysjQ0ZMQUdTIDo9IC1nIC1XYWxsCisrI0xERkxBR1MgOj0gLWcKKyAKKy1leHBvcnQgQ0ZMQUdTCistZXhwb3J0IExERkxBR1MKKysjZXhwb3J0IENGTEFHUworKyNleHBvcnQgTERGTEFHUworIAorIGFsbDoKKyAJbWtkaXIgLXAgYmluCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tY2Vsb2cvbWNlLXRlc3RfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODhjNzI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWNlbG9nL21jZS10ZXN0X2dpdC5iYgpAQCAtMCwwICsxLDMwIEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMiBXaW5kIFJpdmVyIFN5c3RlbXMsIEluYy4KKyMKK1NVTU1BUlkgPSAiTUNFIHRlc3Qgc3VpdGUiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBNQ0UgdGVzdCBzdWl0ZSBpcyBhIGNvbGxlY3Rpb24gb2YgdG9vbHMgYW5kIHRlc3Qgc2NyaXB0cyBmb3IgXAordGVzdGluZyB0aGUgTGludXggUkFTIHJlbGF0ZWQgZmVhdHVyZXMsIGluY2x1ZGluZyBDUFUvTWVtb3J5IGVycm9yIFwKK2NvbnRhaW5tZW50IGFuZCByZWNvdmVyeSwgQUNQSS9BUEVJIHN1cHBvcnQgZXRjLiIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvY3B1L21jZS9tY2UtdGVzdC5naXQ7cHJvdG9jb2w9Z2l0IFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLXJlbW92ZS1sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiNzRiZmZkOGIwYWEyNzA1MWFlYWExOTgzYTdiMjM5NzVjYThkODcyNiIKK1BWID0gIjIwMTcxMDMwK2dpdCR7U1JDUFZ9IgorCitSREVQRU5EU18ke1BOfSA9ICJtY2Vsb2cgbWNlLWluamVjdCBkaWFsb2cgYmFzaCIKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworUyA9IiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpeworICAgaW5zdGFsbCAtZCAke0R9L29wdC9tY2UtdGVzdAorICAgY3AgLXJmICR7U30vKiAke0R9L29wdC9tY2UtdGVzdC8KK30KKworRklMRVNfJHtQTn0gKz0gIi9vcHQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9taW5pLWljb252L21pbmktaWNvbnYuYmIKaW5kZXggMGYxNTQ4YS4uNDRmNTViNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbWluaS1pY29udi9taW5pLWljb252LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21pbmktaWNvbnYvbWluaS1pY29udi5iYgpAQCAtMTMsNyArMTMsNyBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NTIyNjJiZjFiY2Y4ZTg1OWEyYTNhN2FkZmIwMzY3YWY4NTkzMzgzZTczMGM0OTJlOTgxNDc3YWFjMGEwZDQiCiAKIAotUyA9ICIke1dPUktESVJ9LyR7UE59IgorUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKIAogZG9faW5zdGFsbCgpIHsKICAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9IFBSRUZJWD0ke3ByZWZpeH0gTElCPSR7YmFzZV9saWJkaXJ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tc2NnZW4vbXNjZ2VuXzAuMjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tc2NnZW4vbXNjZ2VuXzAuMjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhZDAxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L21zY2dlbi9tc2NnZW5fMC4yMC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIk1zY2dlbiBpcyBhIHNtYWxsIHByb2dyYW0gdGhhdCBwYXJzZXMgTWVzc2FnZSBTZXF1ZW5jZSBDaGFydCBkZXNjcmlwdGlvbnMgYW5kIHByb2R1Y2VzIFBORywgU1ZHLCBFUFMgb3Igc2VydmVyIHNpZGUgaW1hZ2UgbWFwcyAoaXNtYXBzKSBhcyB0aGUgb3V0cHV0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWN0ZXJuYW4ubWUudWsvbXNjZ2VuLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxZTZhMzQwMTg3YzFjZjcxNjUxMzQzOWQwN2MxZDc5IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubWN0ZXJuYW4ubWUudWsvbXNjZ2VuL3NvZnR3YXJlLyR7UE59LXNyYy0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWM5MGZiNTE1MGQ3MTc2YjY1Yjc5M2YwZmFhNzM3NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYzM0ODFhZTA1OTllMWMyZDMwYjdlZDU0YWI0NTI0OTEyNzUzM2FiMmYyMGU3NjhhMGFlNThkODU1MWRkYzIzIgorCitERVBFTkRTID0gImdkICIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwlzZWQgLWkgInMjQUNfUEFUSF9QUk9HKEdETElCX0NPTkZJRyxnZGxpYi1jb25maWcpI0FDX1BBVEhfUFJPRyhbR0RMSUJfQ09ORklHXSxbZ2RsaWItY29uZmlnXSwgLFske1NUQUdJTkdfQklORElSX0NST1NTfV0pIyIgJHtTfS9jb25maWd1cmUuYWMKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aC10b29scy1hZGQtUkRBQy1TVU4tQXJyYXlTdG9yYWdlLXRvLWh3dGFibGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMS1tdWx0aXBhdGgtdG9vbHMtYWRkLVJEQUMtU1VOLUFycmF5U3RvcmFnZS10by1od3RhYmxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZDk4M2U5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAxLW11bHRpcGF0aC10b29scy1hZGQtUkRBQy1TVU4tQXJyYXlTdG9yYWdlLXRvLWh3dGFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDExIEFwciAyMDE4IDE1OjE0OjEzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogYWRkIFJEQUMgU1VOL0FycmF5U3RvcmFnZSB0byBod3RhYmxlCi0KLUFscmVhZHkgaW4gc2NzaV9kaDogaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvZHJpdmVycy9zY3NpL3Njc2lfZGguYyNuNzAKLQotQ2M6IE5ldEFwcCBSREFDIHRlYW0gPG5nLWVzZXJpZXMtdXBzdHJlYW0tbWFpbnRhaW5lcnNAbmV0YXBwLmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9od3RhYmxlLmMgfCAxMiArKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDg4YjQ3MDAuLjgyN2U4OTkgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtODkwLDYgKzg5MCwxOCBAQCBzdGF0aWMgc3RydWN0IGh3ZW50cnkgZGVmYXVsdF9od1tdID0gewotIAkJLm5vX3BhdGhfcmV0cnkgPSAzMCwKLSAJfSwKLSAJewotKwkJLnZlbmRvciAgICAgICAgPSAiU1VOIiwKLSsJCS5wcm9kdWN0ICAgICAgID0gIkFycmF5U3RvcmFnZSIsCi0rCQkuYmxfcHJvZHVjdCAgICA9ICJVbml2ZXJzYWwgWHBvcnQiLAotKwkJLnBncG9saWN5ICAgICAgPSBHUk9VUF9CWV9QUklPLAotKwkJLmNoZWNrZXJfbmFtZSAgPSBSREFDLAotKwkJLmZlYXR1cmVzICAgICAgPSAiMiBwZ19pbml0X3JldHJpZXMgNTAiLAotKwkJLmh3aGFuZGxlciAgICAgPSAiMSByZGFjIiwKLSsJCS5wcmlvX25hbWUgICAgID0gUFJJT19SREFDLAotKwkJLnBnZmFpbGJhY2sgICAgPSAtRkFJTEJBQ0tfSU1NRURJQVRFLAotKwkJLm5vX3BhdGhfcmV0cnkgPSAzMCwKLSsJfSwKLSsJewotIAkJLyogWkZTIFN0b3JhZ2UgQXBwbGlhbmNlcyAqLwotIAkJLnZlbmRvciAgICAgICAgPSAiU1VOIiwKLSAJCS5wcm9kdWN0ICAgICAgID0gIihTdW4gU3RvcmFnZXxaRlMgU3RvcmFnZXxDT01TVEFSKSIsCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAyLW11bHRpcGF0aC10b29scy1yZW1vdmUtYy1mcm9tLV9fY3BsdXNjcGx1cy1taXNzcGVsbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMi1tdWx0aXBhdGgtdG9vbHMtcmVtb3ZlLWMtZnJvbS1fX2NwbHVzY3BsdXMtbWlzc3BlbGxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3M2YwMDBhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAyLW11bHRpcGF0aC10b29scy1yZW1vdmUtYy1mcm9tLV9fY3BsdXNjcGx1cy1taXNzcGVsbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI0IEFwciAyMDE4IDE1OjAzOjQwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVtb3ZlICJjIiBmcm9tIF9fY3BsdXNjcGx1cywgbWlzc3BlbGxlZAotCi1mb3VuZCBieSBjcHBjaGVjayhodHRwOi8vY3BwY2hlY2suc2YubmV0Lyk6Ci1bbGlibXBhdGhjbWQvbXBhdGhfY21kLmg6MjRdOiAoZXJyb3IpIEludmFsaWQgbnVtYmVyIG9mIGNoYXJhY3RlciAneycgd2hlbiB0aGVzZSBtYWNyb3MgYXJlIGRlZmluZWQ6ICdfX2NwbHVzY3BsdXMnLgotCi1DYzogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXBhdGhjbWQvbXBhdGhfY21kLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtcGF0aGNtZC9tcGF0aF9jbWQuaCBiL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oCi1pbmRleCBhYWE4ZGE5Li5kZjlkOTM4IDEwMDY0NAotLS0tIGEvbGlibXBhdGhjbWQvbXBhdGhfY21kLmgKLSsrKyBiL2xpYm1wYXRoY21kL21wYXRoX2NtZC5oCi1AQCAtMjAsNyArMjAsNyBAQAotICNpZm5kZWYgTElCX01QQVRIX0NNRF9ICi0gI2RlZmluZSBMSUJfTVBBVEhfQ01EX0gKLSAKLS0jaWZkZWYgX19jcGx1c2NwbHVzCi0rI2lmZGVmIF9fY3BsdXNwbHVzCi0gZXh0ZXJuICJDIiB7Ci0gI2VuZGlmCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwMy1tdWx0aXBhdGgtdG9vbHMtcmVtb3ZlLWVtYWNzLWF1dG9jb25maWctb2Yta3BhcnR4LWdwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzU4ZTFhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDEyIEFwciAyMDE4IDE4OjE3OjEzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogcmVtb3ZlIGVtYWNzIGF1dG9jb25maWcgb2Yga3BhcnR4L2dwdC5oCi0KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBETSBNTCA8ZG0tZGV2ZWxAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGtwYXJ0eC9ncHQuaCB8IDE5IC0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9rcGFydHgvZ3B0LmggYi9rcGFydHgvZ3B0LmgKLWluZGV4IDY2Y2U4ZjEuLjdiYjU0YjcgMTAwNjQ0Ci0tLS0gYS9rcGFydHgvZ3B0LmgKLSsrKyBiL2twYXJ0eC9ncHQuaAotQEAgLTEwOSwyMiArMTA5LDMgQEAgaW50IHJlYWRfZ3B0X3B0IChpbnQgZmQsIHN0cnVjdCBzbGljZSBhbGwsIHN0cnVjdCBzbGljZSAqc3AsIGludCBucyk7Ci0gCi0gCi0gI2VuZGlmCi0tCi0tLyoKLS0gKiBPdmVycmlkZXMgZm9yIEVtYWNzIHNvIHRoYXQgd2UgZm9sbG93IExpbnVzJ3MgdGFiYmluZyBzdHlsZS4KLS0gKiBFbWFjcyB3aWxsIG5vdGljZSB0aGlzIHN0dWZmIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGF1dG9tYXRpY2FsbHkKLS0gKiBhZGp1c3QgdGhlIHNldHRpbmdzIGZvciB0aGlzIGJ1ZmZlciBvbmx5LiAgVGhpcyBtdXN0IHJlbWFpbiBhdCB0aGUgZW5kCi0tICogb2YgdGhlIGZpbGUuCi0tICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tICogTG9jYWwgdmFyaWFibGVzOgotLSAqIGMtaW5kZW50LWxldmVsOiA0Ci0tICogYy1icmFjZS1pbWFnaW5hcnktb2Zmc2V0OiAwCi0tICogYy1icmFjZS1vZmZzZXQ6IC00Ci0tICogYy1hcmdkZWNsLWluZGVudDogNAotLSAqIGMtbGFiZWwtb2Zmc2V0OiAtNAotLSAqIGMtY29udGludWVkLXN0YXRlbWVudC1vZmZzZXQ6IDQKLS0gKiBjLWNvbnRpbnVlZC1icmFjZS1vZmZzZXQ6IDAKLS0gKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKLS0gKiB0YWItd2lkdGg6IDgKLS0gKiBFbmQ6Ci0tICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA0LW11bHRpcGF0aC10b29scy1yZXBsYWNlLUZTRi1hZGRyZXNzLXdpdGgtYS13d3ctcG9pbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNC1tdWx0aXBhdGgtdG9vbHMtcmVwbGFjZS1GU0YtYWRkcmVzcy13aXRoLWEtd3d3LXBvaW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2YxOGI1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA0LW11bHRpcGF0aC10b29scy1yZXBsYWNlLUZTRi1hZGRyZXNzLXdpdGgtYS13d3ctcG9pbnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTEgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMSBNYXkgMjAxOCAxNTo0Mjo0MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IHJlcGxhY2UgRlNGIGFkZHJlc3Mgd2l0aCBhIHd3dyBwb2ludGVyCi0KLUxlc3MgcHJvbmUgdG8gZnV0dXJlIG1vZGlmaWNhdGlvbnMsIG5ldyBGU0YgbGljZW5jZXMKLXBvaW50IGV4YWN0bHkgdG8gdGhpcyB1cmw6IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLUFuZCBzZW5kaW5nIGEgc21haWwgdG8gRlNGIGlzIG91dGRhdGVkLgotCi1GaXJzdCBjbGVhbiB1cCB3YXMgZG9uZSBpbiA1NjE5YTM5YzQzM2FjM2QxMGE4ODA3OTU5M2NlYzFhYTY0NzJjYmViCi0KLUNjOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLUNjOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5jICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5oICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi5jICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi5oICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZ2VuZXJpYy5jICAgICAgfCA0ICstLS0KLSBsaWJtdWx0aXBhdGgvZ2VuZXJpYy5oICAgICAgfCA0ICstLS0KLSB0ZXN0cy9kbWV2ZW50cy5jICAgICAgICAgICAgfCAyICstCi0gdGVzdHMvcGFyc2VyLmMgICAgICAgICAgICAgIHwgMiArLQotIHRlc3RzL3VldmVudC5jICAgICAgICAgICAgICB8IDIgKy0KLSB0ZXN0cy91dGlsLmMgICAgICAgICAgICAgICAgfCAyICstCi0gMTEgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5jIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuYwotaW5kZXggYmRjOWNhMC4uZDc1Mjk5MSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmMKLUBAIC0xMiw5ICsxMiw3IEBACi0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAotLSAgVVNBLgotKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotIAotICNpbmNsdWRlIDxzdGRpbnQuaD4KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZG0tZ2VuZXJpYy5oIGIvbGlibXVsdGlwYXRoL2RtLWdlbmVyaWMuaAotaW5kZXggNWQ1OTcyNC4uOTg2NDI5ZiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9kbS1nZW5lcmljLmgKLUBAIC0xMiw5ICsxMiw3IEBACi0gICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIAotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAotLSAgVVNBLgotKyAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqLwotICNpZm5kZWYgX0RNX0dFTkVSSUNfSAotICNkZWZpbmUgX0RNX0dFTkVSSUNfSAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9mb3JlaWduLmMgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5jCi1pbmRleCA3MjE3MTg0Li44MGIzOTliIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uYwotKysrIGIvbGlibXVsdGlwYXRoL2ZvcmVpZ24uYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAKLSAjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9mb3JlaWduLmggYi9saWJtdWx0aXBhdGgvZm9yZWlnbi5oCi1pbmRleCA5NzNmMzY4Li42OTdmMTJmIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2ZvcmVpZ24uaAotKysrIGIvbGlibXVsdGlwYXRoL2ZvcmVpZ24uaAotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAjaWZuZGVmIF9GT1JFSUdOX0gKLSAjZGVmaW5lIF9GT1JFSUdOX0gKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMgYi9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMKLWluZGV4IDIzNWY3NWQuLjI4MGI2YmQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZm9yZWlnbi9udm1lLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9mb3JlaWduL252bWUuYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gKi8KLSAKLSAjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9nZW5lcmljLmMgYi9saWJtdWx0aXBhdGgvZ2VuZXJpYy5jCi1pbmRleCA2ZjdhMmNkLi4wZDFlNjMyIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2dlbmVyaWMuYwotKysrIGIvbGlibXVsdGlwYXRoL2dlbmVyaWMuYwotQEAgLTEyLDkgKzEyLDcgQEAKLSAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLS0gIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsCi0tICBVU0EuCi0rICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICovCi0gCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2dlbmVyaWMuaCBiL2xpYm11bHRpcGF0aC9nZW5lcmljLmgKLWluZGV4IDdmN2ZlNjYuLjYzNDZmZmUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZ2VuZXJpYy5oCi0rKysgYi9saWJtdWx0aXBhdGgvZ2VuZXJpYy5oCi1AQCAtMTIsOSArMTIsNyBAQAotICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAKLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotLSAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKLS0gIFVTQS4KLSsgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKi8KLSAjaWZuZGVmIF9HRU5FUklDX0gKLSAjZGVmaW5lIF9HRU5FUklDX0gKLWRpZmYgLS1naXQgYS90ZXN0cy9kbWV2ZW50cy5jIGIvdGVzdHMvZG1ldmVudHMuYwotaW5kZXggYmJhNTFkYy4uMzM5OWM4MSAxMDA2NDQKLS0tLSBhL3Rlc3RzL2RtZXZlbnRzLmMKLSsrKyBiL3Rlc3RzL2RtZXZlbnRzLmMKLUBAIC0xMiw3ICsxMiw3IEBACi0gICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAgKgotICAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0tICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSsgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0gICoKLSAgKi8KLSAKLWRpZmYgLS1naXQgYS90ZXN0cy9wYXJzZXIuYyBiL3Rlc3RzL3BhcnNlci5jCi1pbmRleCBhN2U3NTk4Li4yOTg1OWRhIDEwMDY0NAotLS0tIGEvdGVzdHMvcGFyc2VyLmMKLSsrKyBiL3Rlc3RzL3BhcnNlci5jCi1AQCAtMTIsNyArMTIsNyBAQAotICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gICoKLSAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqCi0gICovCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdWV2ZW50LmMgYi90ZXN0cy91ZXZlbnQuYwotaW5kZXggYWNmY2IxNC4uYjBkMGJmZCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3VldmVudC5jCi0rKysgYi90ZXN0cy91ZXZlbnQuYwotQEAgLTEyLDcgKzEyLDcgQEAKLSAgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICAqCi0gICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0gKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAgKgotICAqLwotIAotZGlmZiAtLWdpdCBhL3Rlc3RzL3V0aWwuYyBiL3Rlc3RzL3V0aWwuYwotaW5kZXggMTEzYjEzNC4uODM5ZWZmZCAxMDA2NDQKLS0tLSBhL3Rlc3RzL3V0aWwuYwotKysrIGIvdGVzdHMvdXRpbC5jCi1AQCAtMTIsNyArMTIsNyBAQAotICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gICoKLSAgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0rICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotICAqCi0gICovCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA1LW11bHRpcGF0aC10b29scy1SZW1vdmUtdHJhaWxpbmctbGVhZGluZy13aGl0ZXNwYWNlcy0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNS1tdWx0aXBhdGgtdG9vbHMtUmVtb3ZlLXRyYWlsaW5nLWxlYWRpbmctd2hpdGVzcGFjZXMtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTNlNzM5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA1LW11bHRpcGF0aC10b29scy1SZW1vdmUtdHJhaWxpbmctbGVhZGluZy13aGl0ZXNwYWNlcy0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTYgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMSBNYXkgMjAxOCAxNTo0MzoxMSArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IFJlbW92ZSB0cmFpbGluZy9sZWFkaW5nIHdoaXRlc3BhY2VzIGFuZAotIHJlZm9ybWF0IGNvZGUKLQotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IGRldmljZS1tYXBwZXIgZGV2ZWxvcG1lbnQgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBNYWtlZmlsZS5pbmMgICAgICAgICAgIHwgMjMgKysrKysrKysrKystLS0tLS0tLS0tLS0KLSBrcGFydHgvbWFjLmggICAgICAgICAgIHwgIDIgKy0KLSBrcGFydHgvdGVzdC1rcGFydHggICAgIHwgIDIgKy0KLSBsaWJtcGF0aGNtZC9NYWtlZmlsZSAgIHwgIDIgKy0KLSBsaWJtdWx0aXBhdGgvaHd0YWJsZS5jIHwgMTQgKysrKysrKy0tLS0tLS0KLSBsaWJtdWx0aXBhdGgvcHJpbnQuaCAgIHwgIDIgKy0KLSBtdWx0aXBhdGhkL21haW4uaCAgICAgIHwgIDYgKysrLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYwotaW5kZXggNTdhMTgzNS4uYWYyZjViYSAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluYwotKysrIGIvTWFrZWZpbGUuaW5jCi1AQCAtMTAzLDIxICsxMDMsMjAgQEAgTERGTEFHUwkJPSAtV2wsLXoscmVscm8gLVdsLC16LG5vdwotIEJJTl9MREZMQUdTCT0gLXBpZQotIAotICMgQ2hlY2sgd2hldGhlciBhIGZ1bmN0aW9uIHdpdGggbmFtZSAkMSBoYXMgYmVlbiBkZWNsYXJlZCBpbiBoZWFkZXIgZmlsZSAkMi4KLS1jaGVja19mdW5jID0JCQkJCQkJCSAgICAgICBcCi0tICAgICQoc2hlbGwJCQkJCQkJCSAgICAgICBcCi0rY2hlY2tfZnVuYyA9ICQoc2hlbGwgXAotIAlpZiBncmVwIC1FcSAiXlteWzpibGFuazpdXStbWzpibGFuazpdXSskMVtbOmJsYW5rOl1dKiguKikqIiAiJDIiOyB0aGVuIFwKLS0JICAgZm91bmQ9MTsJCQkJCQkJICAgICAgIFwKLS0JICAgc3RhdHVzPSJ5ZXMiOwkJCQkJCSAgICAgICBcCi0tCWVsc2UJCQkJCQkJCSAgICAgICBcCi0tCSAgIGZvdW5kPTA7CQkJCQkJCSAgICAgICBcCi0tCSAgIHN0YXR1cz0ibm8iOwkJCQkJCQkgICAgICAgXAotLQlmaTsJCQkJCQkJCSAgICAgICBcCi0tCWVjaG8gMT4mMiAiQ2hlY2tpbmcgZm9yICQxIGluICQyIC4uLiAkJHN0YXR1cyI7CQkJICAgICAgIFwKLS0JZWNobyAiJCRmb3VuZCIJCQkJCQkJICAgICAgIFwKLS0gICAgKQotKwkJZm91bmQ9MTsgXAotKwkJc3RhdHVzPSJ5ZXMiOyBcCi0rCWVsc2UgXAotKwkJZm91bmQ9MDsgXAotKwkJc3RhdHVzPSJubyI7IFwKLSsJZmk7IFwKLSsJZWNobyAxPiYyICJDaGVja2luZyBmb3IgJDEgaW4gJDIgLi4uICQkc3RhdHVzIjsgXAotKwllY2hvICIkJGZvdW5kIiBcCi0rCSkKLSAKLSAjIENoZWNrZXIgd2hldGhlciBhIGZpbGUgd2l0aCBuYW1lICQxIGV4aXN0cwotLWNoZWNrX2ZpbGUgPSAkKHNoZWxsCVwKLStjaGVja19maWxlID0gJChzaGVsbCBcCi0gCWlmIFsgLWYgIiQxIiBdOyB0aGVuIFwKLSAJCWZvdW5kPTE7IFwKLSAJCXN0YXR1cz0ieWVzIjsgXAotZGlmZiAtLWdpdCBhL2twYXJ0eC9tYWMuaCBiL2twYXJ0eC9tYWMuaAotaW5kZXggYTQ0Y2YzOC4uNTVjM2VjOSAxMDA2NDQKLS0tLSBhL2twYXJ0eC9tYWMuaAotKysrIGIva3BhcnR4L21hYy5oCi1AQCAtMjQsNyArMjQsNyBAQCBzdHJ1Y3QgbWFjX2RyaXZlcl9kZXNjIHsKLSAJdWludDE2X3QgIHNpZ25hdHVyZTsgICAgICAvKiBleHBlY3RlZCB0byBiZSBNQUNfRFJJVkVSX01BR0lDICovCi0gCXVpbnQxNl90ICBibG9ja19zaXplOwotIAl1aW50MzJfdCAgYmxvY2tfY291bnQ7Ci0tICAgIC8qIC4uLiBtb3JlIHN0dWZmICovCi0rCS8qIC4uLiBtb3JlIHN0dWZmICovCi0gfTsKLSAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9rcGFydHgvdGVzdC1rcGFydHggYi9rcGFydHgvdGVzdC1rcGFydHgKLWluZGV4IDljZWUyMGYuLmQyMDAxZGMgMTAwNzU1Ci0tLS0gYS9rcGFydHgvdGVzdC1rcGFydHgKLSsrKyBiL2twYXJ0eC90ZXN0LWtwYXJ0eAotQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGVwICJjcmVhdGUgRE0gZGV2aWNlcyAoc3BhbnMpIgotICMgVGhleSBhbHNvIHNlcnZlIGFzIERNIGRldmljZXMgdG8gdGVzdCBwYXJ0aXRpb24gcmVtb3ZhbCBvbiB0aG9zZS4KLSAKLSBUQUJMRT0iXAotLTAgJCgoU0laRS9TRUNUU0laLU9GRlMpKSBsaW5lYXIgJERFVjEgJE9GRlMgCi0rMCAkKChTSVpFL1NFQ1RTSVotT0ZGUykpIGxpbmVhciAkREVWMSAkT0ZGUwotICQoKFNJWkUvU0VDVFNJWi1PRkZTKSkgJCgoU0laRS9TRUNUU0laLU9GRlMpKSBsaW5lYXIgJERFVjIgJE9GRlMiCi0gCi0gU1BBTjE9a3B0Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhjbWQvTWFrZWZpbGUgYi9saWJtcGF0aGNtZC9NYWtlZmlsZQotaW5kZXggNTNjMDg5OS4uMGY2YjgxNiAxMDA2NDQKLS0tLSBhL2xpYm1wYXRoY21kL01ha2VmaWxlCi0rKysgYi9saWJtcGF0aGNtZC9NYWtlZmlsZQotQEAgLTI3LDcgKzI3LDcgQEAgdW5pbnN0YWxsOgotIAkkKFJNKSAkKERFU1RESVIpJChpbmNsdWRlZGlyKS9tcGF0aF9jbWQuaAotIAotIGNsZWFuOiBkZXBfY2xlYW4KLS0JJChSTSkgY29yZSAqLmEgKi5vICouc28gKi5zby4qICouZ3ogCi0rCSQoUk0pIGNvcmUgKi5hICoubyAqLnNvICouc28uKiAqLmd6Ci0gCi0gaW5jbHVkZSAkKHdpbGRjYXJkICQoT0JKUzoubz0uZCkpCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDgyN2U4OTkuLjJjYTY4ODggMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtNzgsMTMgKzc4LDEzIEBACi0gI2VuZGlmCi0gCi0gc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLS0gICAgICAgLyoKLS0JKiBHZW5lcmljIE5WTWUKLS0JKgotLQkqIER1ZSB0byB0aGUgcGFyc2luZyBsb2dpYyBpbiBmaW5kX2h3ZSgpLCBnZW5lcmljIGVudHJpZXMKLS0JKiBoYXZlIHRvIGJlIHB1dCBvbiB0b3Agb2YgdGhpcyBsaXN0LCBhbmQgbW9yZSBzcGVjaWZpYyBvbmVzCi0tCSogYmVsb3cuCi0tCSovCi0rCS8qCi0rCSAqIEdlbmVyaWMgTlZNZSBkZXZpY2VzCi0rCSAqCi0rCSAqIER1ZSB0byB0aGUgcGFyc2luZyBsb2dpYyBpbiBmaW5kX2h3ZSgpLCBnZW5lcmljIGVudHJpZXMKLSsJICogaGF2ZSB0byBiZSBwdXQgb24gdG9wIG9mIHRoaXMgbGlzdCwgYW5kIG1vcmUgc3BlY2lmaWMgb25lcwotKwkgKiBiZWxvdy4KLSsJICovCi0gCXsKLSAJCS52ZW5kb3IgICAgICAgID0gIk5WTUUiLAotIAkJLnByb2R1Y3QgICAgICAgPSAiLioiLAotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wcmludC5oIGIvbGlibXVsdGlwYXRoL3ByaW50LmgKLWluZGV4IDdiYTY0MzguLjliNWEyM2EgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJpbnQuaAotKysrIGIvbGlibXVsdGlwYXRoL3ByaW50LmgKLUBAIC0xMTMsNyArMTEzLDcgQEAgaW50IF9zbnByaW50X211bHRpcGF0aCAoY29uc3Qgc3RydWN0IGdlbl9tdWx0aXBhdGggKiwgY2hhciAqLCBpbnQsCi0gCQkJY29uc3QgY2hhciAqLCBpbnQpOwotICNkZWZpbmUgc25wcmludF9tdWx0aXBhdGgoYnVmLCBsZW4sIGZtdCwgbXAsIHYpCQkJCVwKLSAJX3NucHJpbnRfbXVsdGlwYXRoKGRtX211bHRpcGF0aF90b19nZW4obXApLCBidWYsIGxlbiwgZm10LCAgdikKLS1pbnQgX3NucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5IChjb25zdCBzdHJ1Y3QgZ2VuX211bHRpcGF0aCAqLCBjaGFyICosIGludCwgCi0raW50IF9zbnByaW50X211bHRpcGF0aF90b3BvbG9neSAoY29uc3Qgc3RydWN0IGdlbl9tdWx0aXBhdGggKiwgY2hhciAqLCBpbnQsCi0gCQkJCSBpbnQgdmVyYm9zaXR5KTsKLSAjZGVmaW5lIHNucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5KGJ1ZiwgbGVuLCBtcHAsIHYpIFwKLSAJX3NucHJpbnRfbXVsdGlwYXRoX3RvcG9sb2d5IChkbV9tdWx0aXBhdGhfdG9fZ2VuKG1wcCksIGJ1ZiwgbGVuLCB2KQotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5oIGIvbXVsdGlwYXRoZC9tYWluLmgKLWluZGV4IGFmMzk1NTguLjhmZDQyNmIgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uaAotKysrIGIvbXVsdGlwYXRoZC9tYWluLmgKLUBAIC0yOSwxMSArMjksMTEgQEAgaW50IGV2X3JlbW92ZV9tYXAgKGNoYXIgKiwgY2hhciAqLCBpbnQsIHN0cnVjdCB2ZWN0b3JzICopOwotIGludCBzZXRfY29uZmlnX3N0YXRlKGVudW0gZGFlbW9uX3N0YXR1cyk7Ci0gdm9pZCAqIG1wYXRoX2FsbG9jX3ByaW5fcmVzcG9uc2UoaW50IHByaW5fc2EpOwotIGludCBwcmluX2RvX3Njc2lfaW9jdGwoY2hhciAqLCBpbnQgcnFfc2VydmFjdCwgc3RydWN0IHByaW5fcmVzcCAqIHJlc3AsCi0tICAgICAgIGludCBub2lzeSk7Ci0rCQkgICAgICAgaW50IG5vaXN5KTsKLSB2b2lkIGR1bXBIZXgoY29uc3QgY2hhciAqICwgaW50IGxlbiwgaW50IG5vX2FzY2lpKTsKLSBpbnQgcHJvdXRfZG9fc2NzaV9pb2N0bChjaGFyICogLCBpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotLSAgICAgICB1bnNpZ25lZCBpbnQgcnFfdHlwZSwgc3RydWN0IHByb3V0X3BhcmFtX2Rlc2NyaXB0b3IgKnBhcmFtLAotLSAgICAgICBpbnQgbm9pc3kpOwotKwkJCXVuc2lnbmVkIGludCBycV90eXBlLAotKwkJCXN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yICpwYXJhbSwgaW50IG5vaXN5KTsKLSBpbnQgbXBhdGhfcHJfZXZlbnRfaGFuZGxlKHN0cnVjdCBwYXRoICpwcCk7Ci0gdm9pZCAqIG1wYXRoX3ByX2V2ZW50X2hhbmRsZXJfZm4gKHZvaWQgKiApOwotIGludCB1cGRhdGVfbWFwX3ByKHN0cnVjdCBtdWx0aXBhdGggKm1wcCk7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwNi1tdWx0aXBhdGgtdG9vbHMtZml4LWNvbXBpbGF0aW9uLXdpdGgtbXVzbC1saWJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmZkNWI0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDExIE1heSAyMDE4IDE4OjM5OjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogZml4IGNvbXBpbGF0aW9uIHdpdGggbXVzbCBsaWJjCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSBhbGlhcy5jOjE1OgotZmlsZS5oOjk6NDc6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhtb2RlX3TigJk7IGRpZCB5b3UgbWVhbiDigJh0aW1lX3TigJk/Ci0gaW50IGVuc3VyZV9kaXJlY3Rvcmllc19leGlzdChjb25zdCBjaGFyICpzdHIsIG1vZGVfdCBkaXJfbW9kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lX3QKLQotc3lzZnMuYzogSW4gZnVuY3Rpb24g4oCYc3lzZnNfaXNfbXVsdGlwYXRoZWTigJk6Ci1zeXNmcy5jOjMwNDoxNTogZXJyb3I6IOKAmFBBVEhfTUFY4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuIOKAmFBBVEhfVVDigJk/Ci0gIGNoYXIgcGF0aGJ1ZltQQVRIX01BWF07Ci0gICAgICAgICAgICAgICBefn5+fn5+fgotICAgICAgICAgICAgICAgUEFUSF9VUAotCi1DYzogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0gTUwgPGRtLWRldmVsQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvZmlsZS5oICB8IDIgKysKLSBsaWJtdWx0aXBhdGgvc3lzZnMuYyB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZmlsZS5oIGIvbGlibXVsdGlwYXRoL2ZpbGUuaAotaW5kZXggMjk1MjBjNy4uM2M3NWM5MCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9maWxlLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9maWxlLmgKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgX0ZJTEVfSAotICNkZWZpbmUgX0ZJTEVfSAotIAotKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgotKwotICNkZWZpbmUgRklMRV9USU1FT1VUIDMwCi0gaW50IGVuc3VyZV9kaXJlY3Rvcmllc19leGlzdChjb25zdCBjaGFyICpzdHIsIG1vZGVfdCBkaXJfbW9kZSk7Ci0gaW50IG9wZW5fZmlsZShjb25zdCBjaGFyICpmaWxlLCBpbnQgKmNhbl93cml0ZSwgY29uc3QgY2hhciAqaGVhZGVyKTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvc3lzZnMuYyBiL2xpYm11bHRpcGF0aC9zeXNmcy5jCi1pbmRleCBlZTcyZTZhLi4xNmUwYTczIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3N5c2ZzLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9zeXNmcy5jCi1AQCAtMjgsNiArMjgsNyBAQAotICNpbmNsdWRlIDxkaXJlbnQuaD4KLSAjaW5jbHVkZSA8bGlidWRldi5oPgotICNpbmNsdWRlIDxmbm1hdGNoLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cy5oPgotIAotICNpbmNsdWRlICJjaGVja2Vycy5oIgotICNpbmNsdWRlICJ2ZWN0b3IuaCIKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDctbXVsdGlwYXRoLXRvb2xzLWFkZC14LXRvLWRvYy1wcmVjbGVhbi5wbC1hbmQtc3BsaXQtbS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA3LW11bHRpcGF0aC10b29scy1hZGQteC10by1kb2MtcHJlY2xlYW4ucGwtYW5kLXNwbGl0LW0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNjA4ZTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMDctbXVsdGlwYXRoLXRvb2xzLWFkZC14LXRvLWRvYy1wcmVjbGVhbi5wbC1hbmQtc3BsaXQtbS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhvc2UgVmF6cXVleiBQZXJleiA8eG9zZS52YXpxdWV6QGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTMgTWF5IDIwMTggMDA6Mzk6NDEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBhZGQgK3ggdG8gZG9jLXByZWNsZWFuLnBsIGFuZCBzcGxpdC1tYW4ucGwKLQotSXQgaXMgbm90IHN0cmljdGx5IG5lY2Vzc2FyeSwgYnV0IGl0IGhlbHBzIGlkZW50aWZ5IGJpbiBmaWxlcy4KLQotQ2M6IENocmlzdG9waGUgVmFyb3F1aSA8Y2hyaXN0b3BoZS52YXJvcXVpQG9wZW5zdmMuY29tPgotQ2M6IERNIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbCB8IDAKLSBsaWJkbW1wL2RvY3Mvc3BsaXQtbWFuLnBsICAgIHwgMAotIDIgZmlsZXMgY2hhbmdlZCwgMCBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbAotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZG1tcC9kb2NzL3NwbGl0LW1hbi5wbAotCi1kaWZmIC0tZ2l0IGEvbGliZG1tcC9kb2NzL2RvYy1wcmVjbGVhbi5wbCBiL2xpYmRtbXAvZG9jcy9kb2MtcHJlY2xlYW4ucGwKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1kaWZmIC0tZ2l0IGEvbGliZG1tcC9kb2NzL3NwbGl0LW1hbi5wbCBiL2xpYmRtbXAvZG9jcy9zcGxpdC1tYW4ucGwKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA4LW11bHRpcGF0aC10b29scy1yZWZyZXNoLWtlcm5lbC1kb2MtZnJvbS1rZXJuZWwtc291cmMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwOC1tdWx0aXBhdGgtdG9vbHMtcmVmcmVzaC1rZXJuZWwtZG9jLWZyb20ta2VybmVsLXNvdXJjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzUyMTU4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA4LW11bHRpcGF0aC10b29scy1yZWZyZXNoLWtlcm5lbC1kb2MtZnJvbS1rZXJuZWwtc291cmMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3ODQgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxMyBNYXkgMjAxOCAwMDozOTo0MiArMDIwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGgtdG9vbHM6IHJlZnJlc2gga2VybmVsLWRvYyBmcm9tIGtlcm5lbCBzb3VyY2VzCi0KLUNjOiBHcmlzIEdlIDxmZ2VAcmVkaGF0LmNvbT4KLUNjOiBDaHJpc3RvcGhlIFZhcm9xdWkgPGNocmlzdG9waGUudmFyb3F1aUBvcGVuc3ZjLmNvbT4KLUNjOiBkZXZpY2UtbWFwcGVyIGRldmVsb3BtZW50IDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MgfCA2NzEgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2OCBpbnNlcnRpb25zKCspLCAzMDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJkbW1wL2RvY3Mva2VybmVsLWRvYyBiL2xpYmRtbXAvZG9jcy9rZXJuZWwtZG9jCi1pbmRleCBmZWU4OTUyLi4wMDU3ZDhlIDEwMDc1NQotLS0tIGEvbGliZG1tcC9kb2NzL2tlcm5lbC1kb2MKLSsrKyBiL2xpYmRtbXAvZG9jcy9rZXJuZWwtZG9jCi1AQCAtMSw0ICsxLDUgQEAKLSAjIS91c3IvYmluL2VudiBwZXJsCi0rIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotIAotIHVzZSB3YXJuaW5nczsKLSB1c2Ugc3RyaWN0OwotQEAgLTMyOCwxMyArMzI5LDE1IEBAIG15ICRsaW5lcHJlZml4PSIiOwotIHVzZSBjb25zdGFudCB7Ci0gICAgIFNUQVRFX05PUk1BTCAgICAgICAgPT4gMCwgIyBub3JtYWwgY29kZQotICAgICBTVEFURV9OQU1FICAgICAgICAgID0+IDEsICMgbG9va2luZyBmb3IgZnVuY3Rpb24gbmFtZQotLSAgICBTVEFURV9GSUVMRCAgICAgICAgID0+IDIsICMgc2Nhbm5pbmcgZmllbGQgc3RhcnQKLS0gICAgU1RBVEVfUFJPVE8gICAgICAgICA9PiAzLCAjIHNjYW5uaW5nIHByb3RvdHlwZQotLSAgICBTVEFURV9ET0NCTE9DSyAgICAgID0+IDQsICMgZG9jdW1lbnRhdGlvbiBibG9jawotLSAgICBTVEFURV9JTkxJTkUgICAgICAgID0+IDUsICMgZ2F0aGVyaW5nIGRvY3VtZW50YXRpb24gb3V0c2lkZSBtYWluIGJsb2NrCi0rICAgIFNUQVRFX0JPRFlfTUFZQkUgICAgPT4gMiwgIyBib2R5IC0gb3IgbWF5YmUgbW9yZSBkZXNjcmlwdGlvbgotKyAgICBTVEFURV9CT0RZICAgICAgICAgID0+IDMsICMgdGhlIGJvZHkgb2YgdGhlIGNvbW1lbnQKLSsgICAgU1RBVEVfUFJPVE8gICAgICAgICA9PiA0LCAjIHNjYW5uaW5nIHByb3RvdHlwZQotKyAgICBTVEFURV9ET0NCTE9DSyAgICAgID0+IDUsICMgZG9jdW1lbnRhdGlvbiBibG9jawotKyAgICBTVEFURV9JTkxJTkUgICAgICAgID0+IDYsICMgZ2F0aGVyaW5nIGRvY3VtZW50YXRpb24gb3V0c2lkZSBtYWluIGJsb2NrCi0gfTsKLSBteSAkc3RhdGU7Ci0gbXkgJGluX2RvY19zZWN0OwotK215ICRsZWFkaW5nX3NwYWNlOwotIAotICMgSW5saW5lIGRvY3VtZW50YXRpb24gc3RhdGUKLSB1c2UgY29uc3RhbnQgewotQEAgLTM2Myw3ICszNjYsNyBAQCBteSAkZG9jX3NlY3QgPSAkZG9jX2NvbSAuCi0gbXkgJGRvY19jb250ZW50ID0gJGRvY19jb21fYm9keSAuICcoLiopJzsKLSBteSAkZG9jX2Jsb2NrID0gJGRvY19jb20gLiAnRE9DOlxzKiguKik/JzsKLSBteSAkZG9jX2lubGluZV9zdGFydCA9ICdeXHMqL1wqXCpccyokJzsKLS1teSAkZG9jX2lubGluZV9zZWN0ID0gJ1xzKlwqXHMqKEBbXHdcc10rKTooLiopJzsKLStteSAkZG9jX2lubGluZV9zZWN0ID0gJ1xzKlwqXHMqKEBccypbXHddW1x3XC5dKlxzKik6KC4qKSc7Ci0gbXkgJGRvY19pbmxpbmVfZW5kID0gJ15ccypcKi9ccyokJzsKLSBteSAkZG9jX2lubGluZV9vbmVsaW5lID0gJ15ccyovXCpcKlxzKihAW1x3XHNdKyk6XHMqKC4qKVxzKlwqL1xzKiQnOwotIG15ICRleHBvcnRfc3ltYm9sID0gJ15ccypFWFBPUlRfU1lNQk9MKF9HUEwpP1xzKlwoXHMqKFx3KylccypcKVxzKjsnOwotQEAgLTU1MywxMCArNTU2LDkgQEAgc3ViIG91dHB1dF9oaWdobGlnaHQgewotIAl9Ci0gCWlmICgkbGluZSBlcSAiIil7Ci0gCSAgICBpZiAoISAkb3V0cHV0X3ByZWZvcm1hdHRlZCkgewotLQkJcHJpbnQgJGxpbmVwcmVmaXgsIGxvY2FsX3VuZXNjYXBlKCRibGFua2xpbmUpOwotKwkJcHJpbnQgJGxpbmVwcmVmaXgsICRibGFua2xpbmU7Ci0gCSAgICB9Ci0gCX0gZWxzZSB7Ci0tCSAgICAkbGluZSA9fiBzL1xcXFxcXC9cJi9nOwotIAkgICAgaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIiAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIuIikgewotIAkJcHJpbnQgIlxcJiRsaW5lIjsKLSAJICAgIH0gZWxzZSB7Ci1AQCAtNzQ3LDE3ICs3NDksNzMgQEAgc3ViIG91dHB1dF9ibG9ja2hlYWRfcnN0KCUpIHsKLSAgICAgfQotIH0KLSAKLS1zdWIgb3V0cHV0X2hpZ2hsaWdodF9yc3QgewotLSAgICBteSAkY29udGVudHMgPSBqb2luICJcbiIsQF87Ci0tICAgIG15ICRsaW5lOwotLQotLSAgICAjIHVuZG8gdGhlIGV2aWwgZWZmZWN0cyBvZiB4bWxfZXNjYXBlKCkgZWFybGllcgotLSAgICAkY29udGVudHMgPSB4bWxfdW5lc2NhcGUoJGNvbnRlbnRzKTsKLS0KLSsjCi0rIyBBcHBseSB0aGUgUlNUIGhpZ2hsaWdodHMgdG8gYSBzdWItYmxvY2sgb2YgdGV4dC4KLSsjICAgCi0rc3ViIGhpZ2hsaWdodF9ibG9jaygkKSB7Ci0rICAgICMgVGhlIGRvaGlnaGxpZ2h0IGtsdWRnZSByZXF1aXJlcyB0aGUgdGV4dCBiZSBjYWxsZWQgJGNvbnRlbnRzCi0rICAgIG15ICRjb250ZW50cyA9IHNoaWZ0OwotICAgICBldmFsICRkb2hpZ2hsaWdodDsKLSAgICAgZGllICRAIGlmICRAOwotKyAgICByZXR1cm4gJGNvbnRlbnRzOwotK30KLSAKLS0gICAgZm9yZWFjaCAkbGluZSAoc3BsaXQgIlxuIiwgJGNvbnRlbnRzKSB7Ci0rIwotKyMgUmVnZXhlcyB1c2VkIG9ubHkgaGVyZS4KLSsjCi0rbXkgJHNwaGlueF9saXRlcmFsID0gJ15bXi5dLio6OiQnOwotK215ICRzcGhpbnhfY2Jsb2NrID0gJ15cLlwuXCArY29kZS1ibG9jazo6JzsKLSsKLStzdWIgb3V0cHV0X2hpZ2hsaWdodF9yc3QgewotKyAgICBteSAkaW5wdXQgPSBqb2luICJcbiIsQF87Ci0rICAgIG15ICRvdXRwdXQgPSAiIjsKLSsgICAgbXkgJGxpbmU7Ci0rICAgIG15ICRpbl9saXRlcmFsID0gMDsKLSsgICAgbXkgJGxpdHByZWZpeDsKLSsgICAgbXkgJGJsb2NrID0gIiI7Ci0rCi0rICAgIGZvcmVhY2ggJGxpbmUgKHNwbGl0ICJcbiIsJGlucHV0KSB7Ci0rCSMKLSsJIyBJZiB3ZSdyZSBpbiBhIGxpdGVyYWwgYmxvY2ssIHNlZSBpZiB3ZSBzaG91bGQgZHJvcCBvdXQKLSsJIyBvZiBpdC4gIE90aGVyd2lzZSBwYXNzIHRoZSBsaW5lIHN0cmFpZ2h0IHRocm91Z2ggdW5tdW5nZWQuCi0rCSMKLSsJaWYgKCRpbl9saXRlcmFsKSB7Ci0rCSAgICBpZiAoISAoJGxpbmUgPX4gL15ccyokLykpIHsKLSsJCSMKLSsJCSMgSWYgdGhpcyBpcyB0aGUgZmlyc3Qgbm9uLWJsYW5rIGxpbmUgaW4gYSBsaXRlcmFsCi0rCQkjIGJsb2NrIHdlIG5lZWQgdG8gZmlndXJlIG91dCB3aGF0IHRoZSBwcm9wZXIgaW5kZW50IGlzLgotKwkJIwotKwkJaWYgKCRsaXRwcmVmaXggZXEgIiIpIHsKLSsJCSAgICAkbGluZSA9fiAvXihccyopLzsKLSsJCSAgICAkbGl0cHJlZml4ID0gJ14nIC4gJDE7Ci0rCQkgICAgJG91dHB1dCAuPSAkbGluZSAuICJcbiI7Ci0rCQl9IGVsc2lmICghICgkbGluZSA9fiAvJGxpdHByZWZpeC8pKSB7Ci0rCQkgICAgJGluX2xpdGVyYWwgPSAwOwotKwkJfSBlbHNlIHsKLSsJCSAgICAkb3V0cHV0IC49ICRsaW5lIC4gIlxuIjsKLSsJCX0KLSsJICAgIH0gZWxzZSB7Ci0rCQkkb3V0cHV0IC49ICRsaW5lIC4gIlxuIjsKLSsJICAgIH0KLSsJfQotKwkjCi0rCSMgTm90IGluIGEgbGl0ZXJhbCBibG9jayAob3IganVzdCBkcm9wcGVkIG91dCkKLSsJIwotKwlpZiAoISAkaW5fbGl0ZXJhbCkgewotKwkgICAgJGJsb2NrIC49ICRsaW5lIC4gIlxuIjsKLSsJICAgIGlmICgoJGxpbmUgPX4gLyRzcGhpbnhfbGl0ZXJhbC8pIHx8ICgkbGluZSA9fiAvJHNwaGlueF9jYmxvY2svKSkgewotKwkJJGluX2xpdGVyYWwgPSAxOwotKwkJJGxpdHByZWZpeCA9ICIiOwotKwkJJG91dHB1dCAuPSBoaWdobGlnaHRfYmxvY2soJGJsb2NrKTsKLSsJCSRibG9jayA9ICIiCi0rCSAgICB9Ci0rCX0KLSsgICAgfQotKwotKyAgICBpZiAoJGJsb2NrKSB7Ci0rCSRvdXRwdXQgLj0gaGlnaGxpZ2h0X2Jsb2NrKCRibG9jayk7Ci0rICAgIH0KLSsgICAgZm9yZWFjaCAkbGluZSAoc3BsaXQgIlxuIiwgJG91dHB1dCkgewotIAlwcmludCAkbGluZXByZWZpeCAuICRsaW5lIC4gIlxuIjsKLSAgICAgfQotIH0KLUBAIC0xMDYyLDcgKzExMjAsNyBAQCBzdWIgZHVtcF9zdHJ1Y3QoJCQpIHsKLSAJCQkJCSMgSGFuZGxlIGJpdG1hcHMKLSAJCQkJCSRhcmcgPX4gcy86XHMqXGQrXHMqLy9nOwotIAkJCQkJIyBIYW5kbGUgYXJyYXlzCi0tCQkJCQkkYXJnID1+IHMvXFtcUytcXS8vZzsKLSsJCQkJCSRhcmcgPX4gcy9cWy4qXF0vL2c7Ci0gCQkJCQkjIFRoZSB0eXBlIG1heSBoYXZlIG11bHRpcGxlIHdvcmRzLAotIAkJCQkJIyBhbmQgbXVsdGlwbGUgSURzIGNhbiBiZSBkZWZpbmVkLCBsaWtlOgotIAkJCQkJIwljb25zdCBzdHJ1Y3QgZm9vLCAqYmFyLCBmb29iYXIKLUBAIC0xNDIyLDggKzE0ODAsNiBAQCBzdWIgcHVzaF9wYXJhbWV0ZXIoJCQkJCkgewotIAkJfQotIAl9Ci0gCi0tCSRwYXJhbSA9IHhtbF9lc2NhcGUoJHBhcmFtKTsKLS0KLSAJIyBzdHJpcCBzcGFjZXMgZnJvbSAkcGFyYW0gc28gdGhhdCBpdCBpcyBvbmUgY29udGludW91cyBzdHJpbmcKLSAJIyBvbiBAcGFyYW1ldGVybGlzdDsKLSAJIyB0aGlzIGZpeGVzIGEgcHJvYmxlbSB3aGVyZSBjaGVja19zZWN0aW9ucygpIGNhbm5vdCBmaW5kCi1AQCAtMTUyMiw2ICsxNTc4LDcgQEAgc3ViIGR1bXBfZnVuY3Rpb24oJCQpIHsKLSAgICAgJHByb3RvdHlwZSA9fiBzL19fbWVtaW5pdCArLy87Ci0gICAgICRwcm90b3R5cGUgPX4gcy9fX211c3RfY2hlY2sgKy8vOwotICAgICAkcHJvdG90eXBlID1+IHMvX193ZWFrICsvLzsKLSsgICAgJHByb3RvdHlwZSA9fiBzL19fc2NoZWQgKy8vOwotICAgICBteSAkZGVmaW5lID0gJHByb3RvdHlwZSA9fiBzL14jXHMqZGVmaW5lXHMrLy87ICNhayBhZGRlZAotICAgICAkcHJvdG90eXBlID1+IHMvX19hdHRyaWJ1dGVfX1xzKlwoXCgKLSAgICAgICAgICAgICAoPzoKLUBAIC0xNzQ4LDQ3ICsxODA1LDYgQEAgc3ViIHByb2Nlc3NfcHJvdG9fdHlwZSgkJCkgewotICAgICB9Ci0gfQotIAotLSMgeG1sX2VzY2FwZTogcmVwbGFjZSA8LCA+LCBhbmQgJiBpbiB0aGUgdGV4dCBzdHJlYW07Ci0tIwotLSMgaG93ZXZlciwgZm9ybWF0dGluZyBjb250cm9scyB0aGF0IGFyZSBnZW5lcmF0ZWQgaW50ZXJuYWxseS9sb2NhbGx5IGluIHRoZQotLSMga2VybmVsLWRvYyBzY3JpcHQgYXJlIG5vdCBlc2NhcGVkIGhlcmU7IGluc3RlYWQsIHRoZXkgYmVnaW4gbGlmZSBsaWtlCi0tIyAkYmxhbmtsaW5lX2h0bWwgKDQgb2YgJ1wnIGZvbGxvd2VkIGJ5IGEgbW5lbW9uaWMgKyAnOicpLCB0aGVuIHRoZXNlIHN0cmluZ3MKLS0jIGFyZSBjb252ZXJ0ZWQgdG8gdGhlaXIgbW5lbW9uaWMtZXhwZWN0ZWQgb3V0cHV0LCB3aXRob3V0IHRoZSA0ICogJ1wnICYgJzonLAotLSMganVzdCBiZWZvcmUgYWN0dWFsIG91dHB1dDsgKHRoaXMgaXMgZG9uZSBieSBsb2NhbF91bmVzY2FwZSgpKQotLXN1YiB4bWxfZXNjYXBlKCQpIHsKLS0JbXkgJHRleHQgPSBzaGlmdDsKLS0JaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIikgewotLQkJcmV0dXJuICR0ZXh0OwotLQl9Ci0tCSR0ZXh0ID1+IHMvXCYvXFxcXFxcYW1wOy9nOwotLQkkdGV4dCA9fiBzL1w8L1xcXFxcXGx0Oy9nOwotLQkkdGV4dCA9fiBzL1w+L1xcXFxcXGd0Oy9nOwotLQlyZXR1cm4gJHRleHQ7Ci0tfQotLQotLSMgeG1sX3VuZXNjYXBlOiByZXZlcnNlIHRoZSBlZmZlY3RzIG9mIHhtbF9lc2NhcGUKLS1zdWIgeG1sX3VuZXNjYXBlKCQpIHsKLS0JbXkgJHRleHQgPSBzaGlmdDsKLS0JaWYgKCRvdXRwdXRfbW9kZSBlcSAibWFuIikgewotLQkJcmV0dXJuICR0ZXh0OwotLQl9Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcYW1wOy9cJi9nOwotLQkkdGV4dCA9fiBzL1xcXFxcXGx0Oy88L2c7Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcZ3Q7Lz4vZzsKLS0JcmV0dXJuICR0ZXh0OwotLX0KLS0KLS0jIGNvbnZlcnQgbG9jYWwgZXNjYXBlIHN0cmluZ3MgdG8gaHRtbAotLSMgbG9jYWwgZXNjYXBlIHN0cmluZ3MgbG9vayBsaWtlOiAgJ1xcXFxtZW5tb25pYzonICh0aGF0J3MgNCBiYWNrc2xhc2hlcykKLS1zdWIgbG9jYWxfdW5lc2NhcGUoJCkgewotLQlteSAkdGV4dCA9IHNoaWZ0OwotLQlpZiAoJG91dHB1dF9tb2RlIGVxICJtYW4iKSB7Ci0tCQlyZXR1cm4gJHRleHQ7Ci0tCX0KLS0JJHRleHQgPX4gcy9cXFxcXFxcXGx0Oi88L2c7Ci0tCSR0ZXh0ID1+IHMvXFxcXFxcXFxndDovPi9nOwotLQlyZXR1cm4gJHRleHQ7Ci0tfQotIAotIHN1YiBtYXBfZmlsZW5hbWUoJCkgewotICAgICBteSAkZmlsZTsKLUBAIC0xODI2LDE1ICsxODQyLDI5MSBAQCBzdWIgcHJvY2Vzc19leHBvcnRfZmlsZSgkKSB7Ci0gICAgIGNsb3NlKElOKTsKLSB9Ci0gCi0tc3ViIHByb2Nlc3NfZmlsZSgkKSB7Ci0tICAgIG15ICRmaWxlOwotKyMKLSsjIFBhcnNlcnMgZm9yIHRoZSB2YXJpb3VzIHByb2Nlc3Npbmcgc3RhdGVzLgotKyMKLSsjIFNUQVRFX05PUk1BTDogbG9va2luZyBmb3IgdGhlIC8qKiB0byBiZWdpbiBldmVyeXRoaW5nLgotKyMKLStzdWIgcHJvY2Vzc19ub3JtYWwoKSB7Ci0rICAgIGlmICgvJGRvY19zdGFydC9vKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX05BTUU7CSMgbmV4dCBsaW5lIGlzIGFsd2F5cyB0aGUgZnVuY3Rpb24gbmFtZQotKwkkaW5fZG9jX3NlY3QgPSAwOwotKwkkZGVjbGFyYXRpb25fc3RhcnRfbGluZSA9ICQuICsgMTsKLSsgICAgfQotK30KLSsKLSsjCi0rIyBTVEFURV9OQU1FOiBMb29raW5nIGZvciB0aGUgIm5hbWUgLSBkZXNjcmlwdGlvbiIgbGluZQotKyMKLStzdWIgcHJvY2Vzc19uYW1lKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0gICAgIG15ICRpZGVudGlmaWVyOwotLSAgICBteSAkZnVuYzsKLSAgICAgbXkgJGRlc2NyOwotLSAgICBteSAkaW5fcHVycG9zZSA9IDA7Ci0rCi0rICAgIGlmICgvJGRvY19ibG9jay9vKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX0RPQ0JMT0NLOwotKwkkY29udGVudHMgPSAiIjsKLSsJJG5ld19zdGFydF9saW5lID0gJC4gKyAxOwotKwotKwlpZiAoICQxIGVxICIiICkgewotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9pbnRybzsKLSsJfSBlbHNlIHsKLSsJICAgICRzZWN0aW9uID0gJDE7Ci0rCX0KLSsgICAgfQotKyAgICBlbHNpZiAoLyRkb2NfZGVjbC9vKSB7Ci0rCSRpZGVudGlmaWVyID0gJDE7Ci0rCWlmICgvXHMqKFtcd1xzXSs/KShcKFwpKT9ccyotLykgewotKwkgICAgJGlkZW50aWZpZXIgPSAkMTsKLSsJfQotKwotKwkkc3RhdGUgPSBTVEFURV9CT0RZOwotKwkjIGlmIHRoZXJlJ3Mgbm8gQHBhcmFtIGJsb2NrcyBuZWVkIHRvIHNldCB1cCBkZWZhdWx0IHNlY3Rpb24KLSsJIyBoZXJlCi0rCSRjb250ZW50cyA9ICIiOwotKwkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLSsJaWYgKC8tKC4qKS8pIHsKLSsJICAgICMgc3RyaXAgbGVhZGluZy90cmFpbGluZy9tdWx0aXBsZSBzcGFjZXMKLSsJICAgICRkZXNjcj0gJDE7Ci0rCSAgICAkZGVzY3IgPX4gcy9eXHMqLy87Ci0rCSAgICAkZGVzY3IgPX4gcy9ccyokLy87Ci0rCSAgICAkZGVzY3IgPX4gcy9ccysvIC9nOwotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAkZGVzY3I7Ci0rCSAgICAkc3RhdGUgPSBTVEFURV9CT0RZX01BWUJFOwotKwl9IGVsc2UgewotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAiIjsKLSsJfQotKwotKwlpZiAoKCRkZWNsYXJhdGlvbl9wdXJwb3NlIGVxICIiKSAmJiAkdmVyYm9zZSkgewotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBtaXNzaW5nIGluaXRpYWwgc2hvcnQgZGVzY3JpcHRpb24gb24gbGluZTpcbiI7Ci0rCSAgICBwcmludCBTVERFUlIgJF87Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKwotKwlpZiAoJGlkZW50aWZpZXIgPX4gbS9ec3RydWN0LykgewotKwkgICAgJGRlY2xfdHlwZSA9ICdzdHJ1Y3QnOwotKwl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL151bmlvbi8pIHsKLSsJICAgICRkZWNsX3R5cGUgPSAndW5pb24nOwotKwl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL15lbnVtLykgewotKwkgICAgJGRlY2xfdHlwZSA9ICdlbnVtJzsKLSsJfSBlbHNpZiAoJGlkZW50aWZpZXIgPX4gbS9edHlwZWRlZi8pIHsKLSsJICAgICRkZWNsX3R5cGUgPSAndHlwZWRlZic7Ci0rCX0gZWxzZSB7Ci0rCSAgICAkZGVjbF90eXBlID0gJ2Z1bmN0aW9uJzsKLSsJfQotKwotKwlpZiAoJHZlcmJvc2UpIHsKLSsJICAgIHByaW50IFNUREVSUiAiJHtmaWxlfTokLjogaW5mbzogU2Nhbm5pbmcgZG9jIGZvciAkaWRlbnRpZmllclxuIjsKLSsJfQotKyAgICB9IGVsc2UgewotKwlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IENhbm5vdCB1bmRlcnN0YW5kICRfIG9uIGxpbmUgJC4iLAotKwkgICAgIiAtIEkgdGhvdWdodCBpdCB3YXMgYSBkb2MgbGluZVxuIjsKLSsJKyskd2FybmluZ3M7Ci0rCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLSsgICAgfQotK30KLSsKLSsKLSsjCi0rIyBTVEFURV9CT0RZIGFuZCBTVEFURV9CT0RZX01BWUJFOiB0aGUgYnVsayBvZiBhIGtlcm5lbGRvYyBjb21tZW50LgotKyMKLStzdWIgcHJvY2Vzc19ib2R5KCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgIGlmICgvJGRvY19zZWN0L2kpIHsgIyBjYXNlIGluc2Vuc2l0aXZlIGZvciBzdXBwb3J0ZWQgc2VjdGlvbiBuYW1lcwotKwkkbmV3c2VjdGlvbiA9ICQxOwotKwkkbmV3Y29udGVudHMgPSAkMjsKLSsKLSsJIyBtYXAgdGhlIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzIHRvIHRoZSBjYW5vbmljYWwgbmFtZXMKLSsJaWYgKCRuZXdzZWN0aW9uID1+IG0vXmRlc2NyaXB0aW9uJC9pKSB7Ci0rCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXmNvbnRleHQkL2kpIHsKLSsJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fY29udGV4dDsKLSsJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9ecmV0dXJucz8kL2kpIHsKLSsJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fcmV0dXJuOwotKwl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15cQHJldHVybiQvKSB7Ci0rCSAgICAjIHNwZWNpYWw6IEByZXR1cm4gaXMgYSBzZWN0aW9uLCBub3QgYSBwYXJhbSBkZXNjcmlwdGlvbgotKwkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0rCX0KLSsKLSsJaWYgKCgkY29udGVudHMgbmUgIiIpICYmICgkY29udGVudHMgbmUgIlxuIikpIHsKLSsJICAgIGlmICghJGluX2RvY19zZWN0ICYmICR2ZXJib3NlKSB7Ci0rCQlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IGNvbnRlbnRzIGJlZm9yZSBzZWN0aW9uc1xuIjsKLSsJCSsrJHdhcm5pbmdzOwotKwkgICAgfQotKwkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgJGNvbnRlbnRzKTsKLSsJICAgICRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLSsJfQotKwotKwkkaW5fZG9jX3NlY3QgPSAxOwotKwkkc3RhdGUgPSBTVEFURV9CT0RZOwotKwkkY29udGVudHMgPSAkbmV3Y29udGVudHM7Ci0rCSRuZXdfc3RhcnRfbGluZSA9ICQuOwotKwl3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0rCSAgICAkY29udGVudHMgPSBzdWJzdHIoJGNvbnRlbnRzLCAxKTsKLSsJfQotKwlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJfQotKwkkc2VjdGlvbiA9ICRuZXdzZWN0aW9uOwotKwkkbGVhZGluZ19zcGFjZSA9IHVuZGVmOwotKyAgICB9IGVsc2lmICgvJGRvY19lbmQvKSB7Ci0rCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0rCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotKwkgICAgJGNvbnRlbnRzID0gIiI7Ci0rCX0KLSsJIyBsb29rIGZvciBkb2NfY29tICsgPHRleHQ+ICsgZG9jX2VuZDoKLSsJaWYgKCRfID1+IG0nXHMqXCpccypbYS16QS1aXzAtOTpcLl0rXCovJykgewotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBzdXNwaWNpb3VzIGVuZGluZyBsaW5lOiAkXyI7Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKwotKwkkcHJvdG90eXBlID0gIiI7Ci0rCSRzdGF0ZSA9IFNUQVRFX1BST1RPOwotKwkkYnJjb3VudCA9IDA7Ci0rICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0rCSMgbWlndWVsLXN0eWxlIGNvbW1lbnQga2x1ZGdlLCBsb29rIGZvciBibGFuayBsaW5lcyBhZnRlcgotKwkjIEBwYXJhbWV0ZXIgbGluZSB0byBzaWduaWZ5IHN0YXJ0IG9mIGRlc2NyaXB0aW9uCi0rCWlmICgkMSBlcSAiIikgewotKwkgICAgaWYgKCRzZWN0aW9uID1+IG0vXkAvIHx8ICRzZWN0aW9uIGVxICRzZWN0aW9uX2NvbnRleHQpIHsKLSsJCWR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCQkkY29udGVudHMgPSAiIjsKLSsJCSRuZXdfc3RhcnRfbGluZSA9ICQuOwotKwkgICAgfSBlbHNlIHsKLSsJCSRjb250ZW50cyAuPSAiXG4iOwotKwkgICAgfQotKwkgICAgJHN0YXRlID0gU1RBVEVfQk9EWTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0JPRFlfTUFZQkUpIHsKLSsJICAgICMgQ29udGludWVkIGRlY2xhcmF0aW9uIHB1cnBvc2UKLSsJICAgIGNob21wKCRkZWNsYXJhdGlvbl9wdXJwb3NlKTsKLSsJICAgICRkZWNsYXJhdGlvbl9wdXJwb3NlIC49ICIgIiAuICQxOwotKwkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPX4gcy9ccysvIC9nOwotKwl9IGVsc2UgewotKwkgICAgbXkgJGNvbnQgPSAkMTsKLSsJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0rCQlpZiAoIWRlZmluZWQgJGxlYWRpbmdfc3BhY2UpIHsKLSsJCSAgICBpZiAoJGNvbnQgPX4gbS9eKFxzKykvKSB7Ci0rCQkJJGxlYWRpbmdfc3BhY2UgPSAkMTsKLSsJCSAgICB9IGVsc2UgewotKwkJCSRsZWFkaW5nX3NwYWNlID0gIiI7Ci0rCQkgICAgfQotKwkJfQotKwkJJGNvbnQgPX4gcy9eJGxlYWRpbmdfc3BhY2UvLzsKLSsJICAgIH0KLSsJICAgICRjb250ZW50cyAuPSAkY29udCAuICJcbiI7Ci0rCX0KLSsgICAgfSBlbHNlIHsKLSsJIyBpIGRvbnQga25vdyAtIGJhZCBsaW5lPyAgaWdub3JlLgotKwlwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IHdhcm5pbmc6IGJhZCBsaW5lOiAkXyI7Ci0rCSsrJHdhcm5pbmdzOwotKyAgICB9Ci0rfQotKwotKwotKyMKLSsjIFNUQVRFX1BST1RPOiByZWFkaW5nIGEgZnVuY3Rpb24vd2hhdGV2ZXIgcHJvdG90eXBlLgotKyMKLStzdWIgcHJvY2Vzc19wcm90bygkJCkgewotKyAgICBteSAkZmlsZSA9IHNoaWZ0OwotKwotKyAgICBpZiAoLyRkb2NfaW5saW5lX29uZWxpbmUvKSB7Ci0rCSRzZWN0aW9uID0gJDE7Ci0rCSRjb250ZW50cyA9ICQyOwotKwlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sICRjb250ZW50cyk7Ci0rCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSAgICAkY29udGVudHMgPSAiIjsKLSsJfQotKyAgICB9IGVsc2lmICgvJGRvY19pbmxpbmVfc3RhcnQvKSB7Ci0rCSRzdGF0ZSA9IFNUQVRFX0lOTElORTsKLSsJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfTkFNRTsKLSsgICAgfSBlbHNpZiAoJGRlY2xfdHlwZSBlcSAnZnVuY3Rpb24nKSB7Ci0rCXByb2Nlc3NfcHJvdG9fZnVuY3Rpb24oJF8sICRmaWxlKTsKLSsgICAgfSBlbHNlIHsKLSsJcHJvY2Vzc19wcm90b190eXBlKCRfLCAkZmlsZSk7Ci0rICAgIH0KLSt9Ci0rCi0rIwotKyMgU1RBVEVfRE9DQkxPQ0s6IHdpdGhpbiBhIERPQzogYmxvY2suCi0rIwotK3N1YiBwcm9jZXNzX2RvY2Jsb2NrKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgIGlmICgvJGRvY19lbmQvKSB7Ci0rCWR1bXBfZG9jX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0rCSRjb250ZW50cyA9ICIiOwotKwkkZnVuY3Rpb24gPSAiIjsKLSsJJXBhcmFtZXRlcmRlc2NzID0gKCk7Ci0rCSVwYXJhbWV0ZXJ0eXBlcyA9ICgpOwotKwlAcGFyYW1ldGVybGlzdCA9ICgpOwotKwklc2VjdGlvbnMgPSAoKTsKLSsJQHNlY3Rpb25saXN0ID0gKCk7Ci0rCSRwcm90b3R5cGUgPSAiIjsKLSsJJHN0YXRlID0gU1RBVEVfTk9STUFMOwotKyAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotKwlpZiAoICQxIGVxICIiICkJewotKwkgICAgJGNvbnRlbnRzIC49ICRibGFua2xpbmU7Ci0rCX0gZWxzZSB7Ci0rCSAgICAkY29udGVudHMgLj0gJDEgLiAiXG4iOwotKwl9Ci0rICAgIH0KLSt9Ci0rCi0rIwotKyMgU1RBVEVfSU5MSU5FOiBkb2Nib29rIGNvbW1lbnRzIHdpdGhpbiBhIHByb3RvdHlwZS4KLSsjCi0rc3ViIHByb2Nlc3NfaW5saW5lKCQkKSB7Ci0rICAgIG15ICRmaWxlID0gc2hpZnQ7Ci0rCi0rICAgICMgRmlyc3QgbGluZSAoc3RhdGUgMSkgbmVlZHMgdG8gYmUgYSBAcGFyYW1ldGVyCi0rICAgIGlmICgkaW5saW5lX2RvY19zdGF0ZSA9PSBTVEFURV9JTkxJTkVfTkFNRSAmJiAvJGRvY19pbmxpbmVfc2VjdC9vKSB7Ci0rCSRzZWN0aW9uID0gJDE7Ci0rCSRjb250ZW50cyA9ICQyOwotKwkkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLSsJaWYgKCRjb250ZW50cyBuZSAiIikgewotKwkgICAgd2hpbGUgKHN1YnN0cigkY29udGVudHMsIDAsIDEpIGVxICIgIikgewotKwkJJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0rCSAgICB9Ci0rCSAgICAkY29udGVudHMgLj0gIlxuIjsKLSsJfQotKwkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9URVhUOwotKwkjIERvY3VtZW50YXRpb24gYmxvY2sgZW5kICovCi0rICAgIH0gZWxzaWYgKC8kZG9jX2lubGluZV9lbmQvKSB7Ci0rCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0rCSAgICBkdW1wX3NlY3Rpb24oJGZpbGUsICRzZWN0aW9uLCAkY29udGVudHMpOwotKwkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotKwkgICAgJGNvbnRlbnRzID0gIiI7Ci0rCX0KLSsJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0rCSRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX05BOwotKwkjIFJlZ3VsYXIgdGV4dAotKyAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotKwlpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX1RFWFQpIHsKLSsJICAgICRjb250ZW50cyAuPSAkMSAuICJcbiI7Ci0rCSAgICAjIG51a2UgbGVhZGluZyBibGFuayBsaW5lcwotKwkgICAgaWYgKCRjb250ZW50cyA9fiAvXlxzKiQvKSB7Ci0rCQkkY29udGVudHMgPSAiIjsKLSsJICAgIH0KLSsJfSBlbHNpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX05BTUUpIHsKLSsJICAgICRpbmxpbmVfZG9jX3N0YXRlID0gU1RBVEVfSU5MSU5FX0VSUk9SOwotKwkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiAiOwotKwkgICAgcHJpbnQgU1RERVJSICJJbmNvcnJlY3QgdXNlIG9mIGtlcm5lbC1kb2MgZm9ybWF0OiAkXyI7Ci0rCSAgICArKyR3YXJuaW5nczsKLSsJfQotKyAgICB9Ci0rfQotKwotKwotK3N1YiBwcm9jZXNzX2ZpbGUoJCkgewotKyAgICBteSAkZmlsZTsKLSAgICAgbXkgJGluaXRpYWxfc2VjdGlvbl9jb3VudGVyID0gJHNlY3Rpb25fY291bnRlcjsKLSAgICAgbXkgKCRvcmlnX2ZpbGUpID0gQF87Ci0tICAgIG15ICRsZWFkaW5nX3NwYWNlOwotIAotICAgICAkZmlsZSA9IG1hcF9maWxlbmFtZSgkb3JpZ19maWxlKTsKLSAKLUBAIC0xODUzLDI1MCArMjE0NSwyMyBAQCBzdWIgcHJvY2Vzc19maWxlKCQpIHsKLSAJfQotIAkjIFJlcGxhY2UgdGFicyBieSBzcGFjZXMKLSAgICAgICAgIHdoaWxlICgkXyA9fiBzL1x0Ky8nICcgeCAobGVuZ3RoKCQmKSAqIDggLSBsZW5ndGgoJGApICUgOCkvZSkge307Ci0rCSMgSGFuZCB0aGlzIGxpbmUgdG8gdGhlIGFwcHJvcHJpYXRlIHN0YXRlIGhhbmRsZXIKLSAJaWYgKCRzdGF0ZSA9PSBTVEFURV9OT1JNQUwpIHsKLS0JICAgIGlmICgvJGRvY19zdGFydC9vKSB7Ci0tCQkkc3RhdGUgPSBTVEFURV9OQU1FOwkjIG5leHQgbGluZSBpcyBhbHdheXMgdGhlIGZ1bmN0aW9uIG5hbWUKLS0JCSRpbl9kb2Nfc2VjdCA9IDA7Ci0tCQkkZGVjbGFyYXRpb25fc3RhcnRfbGluZSA9ICQuICsgMTsKLS0JICAgIH0KLS0JfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX05BTUUpIHsjIHRoaXMgbGluZSBpcyB0aGUgZnVuY3Rpb24gbmFtZSAoYWx3YXlzKQotLQkgICAgaWYgKC8kZG9jX2Jsb2NrL28pIHsKLS0JCSRzdGF0ZSA9IFNUQVRFX0RPQ0JMT0NLOwotLQkJJGNvbnRlbnRzID0gIiI7Ci0tICAgICAgICAgICAgICAgICRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLS0KLS0JCWlmICggJDEgZXEgIiIgKSB7Ci0tCQkJJHNlY3Rpb24gPSAkc2VjdGlvbl9pbnRybzsKLS0JCX0gZWxzZSB7Ci0tCQkJJHNlY3Rpb24gPSAkMTsKLS0JCX0KLS0JICAgIH0KLS0JICAgIGVsc2lmICgvJGRvY19kZWNsL28pIHsKLS0JCSRpZGVudGlmaWVyID0gJDE7Ci0tCQlpZiAoL1xzKihbXHdcc10rPylccyotLykgewotLQkJICAgICRpZGVudGlmaWVyID0gJDE7Ci0tCQl9Ci0tCi0tCQkkc3RhdGUgPSBTVEFURV9GSUVMRDsKLS0JCSMgaWYgdGhlcmUncyBubyBAcGFyYW0gYmxvY2tzIG5lZWQgdG8gc2V0IHVwIGRlZmF1bHQgc2VjdGlvbgotLQkJIyBoZXJlCi0tCQkkY29udGVudHMgPSAiIjsKLS0JCSRzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCSRuZXdfc3RhcnRfbGluZSA9ICQuICsgMTsKLS0JCWlmICgvLSguKikvKSB7Ci0tCQkgICAgIyBzdHJpcCBsZWFkaW5nL3RyYWlsaW5nL211bHRpcGxlIHNwYWNlcwotLQkJICAgICRkZXNjcj0gJDE7Ci0tCQkgICAgJGRlc2NyID1+IHMvXlxzKi8vOwotLQkJICAgICRkZXNjciA9fiBzL1xzKiQvLzsKLS0JCSAgICAkZGVzY3IgPX4gcy9ccysvIC9nOwotLQkJICAgICRkZWNsYXJhdGlvbl9wdXJwb3NlID0geG1sX2VzY2FwZSgkZGVzY3IpOwotLQkJICAgICRpbl9wdXJwb3NlID0gMTsKLS0JCX0gZWxzZSB7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPSAiIjsKLS0JCX0KLS0KLS0JCWlmICgoJGRlY2xhcmF0aW9uX3B1cnBvc2UgZXEgIiIpICYmICR2ZXJib3NlKSB7Ci0tCQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBtaXNzaW5nIGluaXRpYWwgc2hvcnQgZGVzY3JpcHRpb24gb24gbGluZTpcbiI7Ci0tCQkJcHJpbnQgU1RERVJSICRfOwotLQkJCSsrJHdhcm5pbmdzOwotLQkJfQotLQotLQkJaWYgKCRpZGVudGlmaWVyID1+IG0vXnN0cnVjdC8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ3N0cnVjdCc7Ci0tCQl9IGVsc2lmICgkaWRlbnRpZmllciA9fiBtL151bmlvbi8pIHsKLS0JCSAgICAkZGVjbF90eXBlID0gJ3VuaW9uJzsKLS0JCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXmVudW0vKSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICdlbnVtJzsKLS0JCX0gZWxzaWYgKCRpZGVudGlmaWVyID1+IG0vXnR5cGVkZWYvKSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICd0eXBlZGVmJzsKLS0JCX0gZWxzZSB7Ci0tCQkgICAgJGRlY2xfdHlwZSA9ICdmdW5jdGlvbic7Ci0tCQl9Ci0tCi0tCQlpZiAoJHZlcmJvc2UpIHsKLS0JCSAgICBwcmludCBTVERFUlIgIiR7ZmlsZX06JC46IGluZm86IFNjYW5uaW5nIGRvYyBmb3IgJGlkZW50aWZpZXJcbiI7Ci0tCQl9Ci0tCSAgICB9IGVsc2UgewotLQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBDYW5ub3QgdW5kZXJzdGFuZCAkXyBvbiBsaW5lICQuIiwKLS0JCSIgLSBJIHRob3VnaHQgaXQgd2FzIGEgZG9jIGxpbmVcbiI7Ci0tCQkrKyR3YXJuaW5nczsKLS0JCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLS0JICAgIH0KLS0JfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX0ZJRUxEKSB7CSMgbG9vayBmb3IgaGVhZDogbGluZXMsIGFuZCBpbmNsdWRlIGNvbnRlbnQKLS0JICAgIGlmICgvJGRvY19zZWN0L2kpIHsgIyBjYXNlIGluc2Vuc2l0aXZlIGZvciBzdXBwb3J0ZWQgc2VjdGlvbiBuYW1lcwotLQkJJG5ld3NlY3Rpb24gPSAkMTsKLS0JCSRuZXdjb250ZW50cyA9ICQyOwotLQotLQkJIyBtYXAgdGhlIHN1cHBvcnRlZCBzZWN0aW9uIG5hbWVzIHRvIHRoZSBjYW5vbmljYWwgbmFtZXMKLS0JCWlmICgkbmV3c2VjdGlvbiA9fiBtL15kZXNjcmlwdGlvbiQvaSkgewotLQkJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fZGVmYXVsdDsKLS0JCX0gZWxzaWYgKCRuZXdzZWN0aW9uID1+IG0vXmNvbnRleHQkL2kpIHsKLS0JCSAgICAkbmV3c2VjdGlvbiA9ICRzZWN0aW9uX2NvbnRleHQ7Ci0tCQl9IGVsc2lmICgkbmV3c2VjdGlvbiA9fiBtL15yZXR1cm5zPyQvaSkgewotLQkJICAgICRuZXdzZWN0aW9uID0gJHNlY3Rpb25fcmV0dXJuOwotLQkJfSBlbHNpZiAoJG5ld3NlY3Rpb24gPX4gbS9eXEByZXR1cm4kLykgewotLQkJICAgICMgc3BlY2lhbDogQHJldHVybiBpcyBhIHNlY3Rpb24sIG5vdCBhIHBhcmFtIGRlc2NyaXB0aW9uCi0tCQkgICAgJG5ld3NlY3Rpb24gPSAkc2VjdGlvbl9yZXR1cm47Ci0tCQl9Ci0tCi0tCQlpZiAoKCRjb250ZW50cyBuZSAiIikgJiYgKCRjb250ZW50cyBuZSAiXG4iKSkgewotLQkJICAgIGlmICghJGluX2RvY19zZWN0ICYmICR2ZXJib3NlKSB7Ci0tCQkJcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiBjb250ZW50cyBiZWZvcmUgc2VjdGlvbnNcbiI7Ci0tCQkJKyskd2FybmluZ3M7Ci0tCQkgICAgfQotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJfQotLQotLQkJJGluX2RvY19zZWN0ID0gMTsKLS0JCSRpbl9wdXJwb3NlID0gMDsKLS0JCSRjb250ZW50cyA9ICRuZXdjb250ZW50czsKLS0gICAgICAgICAgICAgICAgJG5ld19zdGFydF9saW5lID0gJC47Ci0tCQl3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0tCQkgICAgJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0tCQl9Ci0tCQlpZiAoJGNvbnRlbnRzIG5lICIiKSB7Ci0tCQkgICAgJGNvbnRlbnRzIC49ICJcbiI7Ci0tCQl9Ci0tCQkkc2VjdGlvbiA9ICRuZXdzZWN0aW9uOwotLQkJJGxlYWRpbmdfc3BhY2UgPSB1bmRlZjsKLS0JICAgIH0gZWxzaWYgKC8kZG9jX2VuZC8pIHsKLS0JCWlmICgoJGNvbnRlbnRzIG5lICIiKSAmJiAoJGNvbnRlbnRzIG5lICJcbiIpKSB7Ci0tCQkgICAgZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCSAgICAkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkgICAgJGNvbnRlbnRzID0gIiI7Ci0tCQl9Ci0tCQkjIGxvb2sgZm9yIGRvY19jb20gKyA8dGV4dD4gKyBkb2NfZW5kOgotLQkJaWYgKCRfID1+IG0nXHMqXCpccypbYS16QS1aXzAtOTpcLl0rXCovJykgewotLQkJICAgIHByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogc3VzcGljaW91cyBlbmRpbmcgbGluZTogJF8iOwotLQkJICAgICsrJHdhcm5pbmdzOwotLQkJfQotLQotLQkJJHByb3RvdHlwZSA9ICIiOwotLQkJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0tCQkkYnJjb3VudCA9IDA7Ci0tIwkJcHJpbnQgU1RERVJSICJlbmQgb2YgZG9jIGNvbW1lbnQsIGxvb2tpbmcgZm9yIHByb3RvdHlwZVxuIjsKLS0JICAgIH0gZWxzaWYgKC8kZG9jX2NvbnRlbnQvKSB7Ci0tCQkjIG1pZ3VlbC1zdHlsZSBjb21tZW50IGtsdWRnZSwgbG9vayBmb3IgYmxhbmsgbGluZXMgYWZ0ZXIKLS0JCSMgQHBhcmFtZXRlciBsaW5lIHRvIHNpZ25pZnkgc3RhcnQgb2YgZGVzY3JpcHRpb24KLS0JCWlmICgkMSBlcSAiIikgewotLQkJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0tCQkJZHVtcF9zZWN0aW9uKCRmaWxlLCAkc2VjdGlvbiwgeG1sX2VzY2FwZSgkY29udGVudHMpKTsKLS0JCQkkc2VjdGlvbiA9ICRzZWN0aW9uX2RlZmF1bHQ7Ci0tCQkJJGNvbnRlbnRzID0gIiI7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgJG5ld19zdGFydF9saW5lID0gJC47Ci0tCQkgICAgfSBlbHNlIHsKLS0JCQkkY29udGVudHMgLj0gIlxuIjsKLS0JCSAgICB9Ci0tCQkgICAgJGluX3B1cnBvc2UgPSAwOwotLQkJfSBlbHNpZiAoJGluX3B1cnBvc2UgPT0gMSkgewotLQkJICAgICMgQ29udGludWVkIGRlY2xhcmF0aW9uIHB1cnBvc2UKLS0JCSAgICBjaG9tcCgkZGVjbGFyYXRpb25fcHVycG9zZSk7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgLj0gIiAiIC4geG1sX2VzY2FwZSgkMSk7Ci0tCQkgICAgJGRlY2xhcmF0aW9uX3B1cnBvc2UgPX4gcy9ccysvIC9nOwotLQkJfSBlbHNlIHsKLS0JCSAgICBteSAkY29udCA9ICQxOwotLQkJICAgIGlmICgkc2VjdGlvbiA9fiBtL15ALyB8fCAkc2VjdGlvbiBlcSAkc2VjdGlvbl9jb250ZXh0KSB7Ci0tCQkJaWYgKCFkZWZpbmVkICRsZWFkaW5nX3NwYWNlKSB7Ci0tCQkJICAgIGlmICgkY29udCA9fiBtL14oXHMrKS8pIHsKLS0JCQkJJGxlYWRpbmdfc3BhY2UgPSAkMTsKLS0JCQkgICAgfSBlbHNlIHsKLS0JCQkJJGxlYWRpbmdfc3BhY2UgPSAiIjsKLS0JCQkgICAgfQotLQkJCX0KLS0KLS0JCQkkY29udCA9fiBzL14kbGVhZGluZ19zcGFjZS8vOwotLQkJICAgIH0KLS0JCSAgICAkY29udGVudHMgLj0gJGNvbnQgLiAiXG4iOwotLQkJfQotLQkgICAgfSBlbHNlIHsKLS0JCSMgaSBkb250IGtub3cgLSBiYWQgbGluZT8gIGlnbm9yZS4KLS0JCXByaW50IFNUREVSUiAiJHtmaWxlfTokLjogd2FybmluZzogYmFkIGxpbmU6ICRfIjsKLS0JCSsrJHdhcm5pbmdzOwotLQkgICAgfQotKwkgICAgcHJvY2Vzc19ub3JtYWwoKTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX05BTUUpIHsKLSsJICAgIHByb2Nlc3NfbmFtZSgkZmlsZSwgJF8pOwotKwl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfQk9EWSB8fCAkc3RhdGUgPT0gU1RBVEVfQk9EWV9NQVlCRSkgewotKwkgICAgcHJvY2Vzc19ib2R5KCRmaWxlLCAkXyk7Ci0gCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9JTkxJTkUpIHsgIyBzY2FubmluZyBmb3IgaW5saW5lIHBhcmFtZXRlcnMKLS0JICAgICMgRmlyc3QgbGluZSAoc3RhdGUgMSkgbmVlZHMgdG8gYmUgYSBAcGFyYW1ldGVyCi0tCSAgICBpZiAoJGlubGluZV9kb2Nfc3RhdGUgPT0gU1RBVEVfSU5MSU5FX05BTUUgJiYgLyRkb2NfaW5saW5lX3NlY3QvbykgewotLQkJJHNlY3Rpb24gPSAkMTsKLS0JCSRjb250ZW50cyA9ICQyOwotLSAgICAgICAgICAgICAgICAkbmV3X3N0YXJ0X2xpbmUgPSAkLjsKLS0JCWlmICgkY29udGVudHMgbmUgIiIpIHsKLS0JCSAgICB3aGlsZSAoc3Vic3RyKCRjb250ZW50cywgMCwgMSkgZXEgIiAiKSB7Ci0tCQkJJGNvbnRlbnRzID0gc3Vic3RyKCRjb250ZW50cywgMSk7Ci0tCQkgICAgfQotLQkJICAgICRjb250ZW50cyAuPSAiXG4iOwotLQkJfQotLQkJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfVEVYVDsKLS0JICAgICMgRG9jdW1lbnRhdGlvbiBibG9jayBlbmQgKi8KLS0JICAgIH0gZWxzaWYgKC8kZG9jX2lubGluZV9lbmQvKSB7Ci0tCQlpZiAoKCRjb250ZW50cyBuZSAiIikgJiYgKCRjb250ZW50cyBuZSAiXG4iKSkgewotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJICAgICRjb250ZW50cyA9ICIiOwotLQkJfQotLQkJJHN0YXRlID0gU1RBVEVfUFJPVE87Ci0tCQkkaW5saW5lX2RvY19zdGF0ZSA9IFNUQVRFX0lOTElORV9OQTsKLS0JICAgICMgUmVndWxhciB0ZXh0Ci0tCSAgICB9IGVsc2lmICgvJGRvY19jb250ZW50LykgewotLQkJaWYgKCRpbmxpbmVfZG9jX3N0YXRlID09IFNUQVRFX0lOTElORV9URVhUKSB7Ci0tCQkgICAgJGNvbnRlbnRzIC49ICQxIC4gIlxuIjsKLS0JCSAgICAjIG51a2UgbGVhZGluZyBibGFuayBsaW5lcwotLQkJICAgIGlmICgkY29udGVudHMgPX4gL15ccyokLykgewotLQkJCSRjb250ZW50cyA9ICIiOwotLQkJICAgIH0KLS0JCX0gZWxzaWYgKCRpbmxpbmVfZG9jX3N0YXRlID09IFNUQVRFX0lOTElORV9OQU1FKSB7Ci0tCQkgICAgJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfRVJST1I7Ci0tCQkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OiQuOiB3YXJuaW5nOiAiOwotLQkJICAgIHByaW50IFNUREVSUiAiSW5jb3JyZWN0IHVzZSBvZiBrZXJuZWwtZG9jIGZvcm1hdDogJF8iOwotLQkJICAgICsrJHdhcm5pbmdzOwotLQkJfQotLQkgICAgfQotLQl9IGVsc2lmICgkc3RhdGUgPT0gU1RBVEVfUFJPVE8pIHsJIyBzY2FubmluZyBmb3IgZnVuY3Rpb24gJ3snIChlbmQgb2YgcHJvdG90eXBlKQotLQkgICAgaWYgKC8kZG9jX2lubGluZV9vbmVsaW5lLykgewotLQkJJHNlY3Rpb24gPSAkMTsKLS0JCSRjb250ZW50cyA9ICQyOwotLQkJaWYgKCRjb250ZW50cyBuZSAiIikgewotLQkJICAgICRjb250ZW50cyAuPSAiXG4iOwotLQkJICAgIGR1bXBfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkgICAgJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJICAgICRjb250ZW50cyA9ICIiOwotLQkJfQotLQkgICAgfSBlbHNpZiAoLyRkb2NfaW5saW5lX3N0YXJ0LykgewotLQkJJHN0YXRlID0gU1RBVEVfSU5MSU5FOwotLQkJJGlubGluZV9kb2Nfc3RhdGUgPSBTVEFURV9JTkxJTkVfTkFNRTsKLS0JICAgIH0gZWxzaWYgKCRkZWNsX3R5cGUgZXEgJ2Z1bmN0aW9uJykgewotLQkJcHJvY2Vzc19wcm90b19mdW5jdGlvbigkXywgJGZpbGUpOwotLQkgICAgfSBlbHNlIHsKLS0JCXByb2Nlc3NfcHJvdG9fdHlwZSgkXywgJGZpbGUpOwotLQkgICAgfQotKwkgICAgcHJvY2Vzc19pbmxpbmUoJGZpbGUsICRfKTsKLSsJfSBlbHNpZiAoJHN0YXRlID09IFNUQVRFX1BST1RPKSB7Ci0rCSAgICBwcm9jZXNzX3Byb3RvKCRmaWxlLCAkXyk7Ci0gCX0gZWxzaWYgKCRzdGF0ZSA9PSBTVEFURV9ET0NCTE9DSykgewotLQkJaWYgKC8kZG9jX2VuZC8pCi0tCQl7Ci0tCQkJZHVtcF9kb2Nfc2VjdGlvbigkZmlsZSwgJHNlY3Rpb24sIHhtbF9lc2NhcGUoJGNvbnRlbnRzKSk7Ci0tCQkJJHNlY3Rpb24gPSAkc2VjdGlvbl9kZWZhdWx0OwotLQkJCSRjb250ZW50cyA9ICIiOwotLQkJCSRmdW5jdGlvbiA9ICIiOwotLQkJCSVwYXJhbWV0ZXJkZXNjcyA9ICgpOwotLQkJCSVwYXJhbWV0ZXJ0eXBlcyA9ICgpOwotLQkJCUBwYXJhbWV0ZXJsaXN0ID0gKCk7Ci0tCQkJJXNlY3Rpb25zID0gKCk7Ci0tCQkJQHNlY3Rpb25saXN0ID0gKCk7Ci0tCQkJJHByb3RvdHlwZSA9ICIiOwotLQkJCSRzdGF0ZSA9IFNUQVRFX05PUk1BTDsKLS0JCX0KLS0JCWVsc2lmICgvJGRvY19jb250ZW50LykKLS0JCXsKLS0JCQlpZiAoICQxIGVxICIiICkKLS0JCQl7Ci0tCQkJCSRjb250ZW50cyAuPSAkYmxhbmtsaW5lOwotLQkJCX0KLS0JCQllbHNlCi0tCQkJewotLQkJCQkkY29udGVudHMgLj0gJDEgLiAiXG4iOwotLQkJCX0KLS0JCX0KLSsJICAgIHByb2Nlc3NfZG9jYmxvY2soJGZpbGUsICRfKTsKLSAJfQotICAgICB9Ci0rCi0rICAgICMgTWFrZSBzdXJlIHdlIGdvdCBzb21ldGhpbmcgaW50ZXJlc3RpbmcuCi0gICAgIGlmICgkaW5pdGlhbF9zZWN0aW9uX2NvdW50ZXIgPT0gJHNlY3Rpb25fY291bnRlcikgewotIAlpZiAoJG91dHB1dF9tb2RlIG5lICJub25lIikgewotIAkgICAgcHJpbnQgU1RERVJSICIke2ZpbGV9OjE6IHdhcm5pbmc6IG5vIHN0cnVjdHVyZWQgY29tbWVudHMgZm91bmRcbiI7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAwOS1tdWx0aXBhdGgtdG9vbHMtY29uZmlndXJlLWhpdGFjaGktYW1zMjAwMC1hbmQtaHVzMTAwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2FlMDc1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYb3NlIFZhenF1ZXogUGVyZXogPHhvc2UudmF6cXVlekBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDE0IE1heSAyMDE4IDE3OjMwOjE3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIG11bHRpcGF0aC10b29sczogY29uZmlndXJlIGhpdGFjaGkgYW1zMjAwMCBhbmQgaHVzMTAwIGFzIGZ1bGwKLSBhY3RpdmUgYXJyYXlzCi0KLUFNUzIwMDAgYW5kIEhVUzEwMCBmYW1pbGllcyBhcmUgYWN0aXZlL2FjdGl2ZSBhcnJheXMuCi0KLUJhc2VkIG9uIGh0dHBzOi8vc3VwcG9ydC5oaXRhY2hpdmFudGFyYS5jb20vZG93bmxvYWQvZXBjcmEvZGY4MTg5MTMucGRmCi1hbmQgaW50ZXJuYWwgaGl0YWNoaSBkb2NzLgotCi1DYzogTWF0dGhpYXMgUnVkb2xwaCA8TWF0dGhpYXMuUnVkb2xwaEBoaXRhY2hpdmFudGFyYS5jb20+Ci1DYzogQ2hyaXN0b3BoZSBWYXJvcXVpIDxjaHJpc3RvcGhlLnZhcm9xdWlAb3BlbnN2Yy5jb20+Ci1DYzogRE0tREVWIE1MIDxkbS1kZXZlbEByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogWG9zZSBWYXpxdWV6IFBlcmV6IDx4b3NlLnZhenF1ZXpAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2h3dGFibGUuYyB8IDEwICsrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2h3dGFibGUuYyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLWluZGV4IDJjYTY4ODguLjE0OGYwYmEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvaHd0YWJsZS5jCi1AQCAtMzk4LDEzICszOTgsMTMgQEAgc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLSAJICogTWFpbCA6IG1hdHRoaWFzLnJ1ZG9scGhAaGRzLmNvbQotIAkgKi8KLSAJewotLQkJLyogVVNQLVYsIEhVUyBWTSwgVlNQLCBWU1AgRzFYMDAgYW5kIFZTUCBHWDAwIGZhbWlsaWVzICovCi0rCQkvKiBVU1AtViwgSFVTIFZNLCBWU1AsIFZTUCBHMVgwMCBhbmQgVlNQIEdYMDAgZmFtaWxpZXMgLyBIUCBYUCAqLwotIAkJLnZlbmRvciAgICAgICAgPSAiKEhJVEFDSEl8SFApIiwKLSAJCS5wcm9kdWN0ICAgICAgID0gIl5PUEVOLSIsCi0gCQkucGdwb2xpY3kgICAgICA9IE1VTFRJQlVTLAotIAl9LAotIAl7Ci0tCQkvKiBBTVMgMjAwMCBhbmQgSFVTIDEwMCBmYW1pbGllcyAqLwotKwkJLyogQU1TIG90aGVyIHRoYW4gQU1TIDIwMDAgKi8KLSAJCS52ZW5kb3IgICAgICAgID0gIkhJVEFDSEkiLAotIAkJLnByb2R1Y3QgICAgICAgPSAiXkRGIiwKLSAJCS5ub19wYXRoX3JldHJ5ID0gTk9fUEFUSF9SRVRSWV9RVUVVRSwKLUBAIC00MTIsNiArNDEyLDEyIEBAIHN0YXRpYyBzdHJ1Y3QgaHdlbnRyeSBkZWZhdWx0X2h3W10gPSB7Ci0gCQkucGdmYWlsYmFjayAgICA9IC1GQUlMQkFDS19JTU1FRElBVEUsCi0gCQkucHJpb19uYW1lICAgICA9IFBSSU9fSERTLAotIAl9LAotKwl7Ci0rCQkvKiBBTVMgMjAwMCBhbmQgSFVTIDEwMCBmYW1pbGllcyAqLwotKwkJLnZlbmRvciAgICAgICAgPSAiSElUQUNISSIsCi0rCQkucHJvZHVjdCAgICAgICA9ICJeREY2MDBGIiwKLSsJCS5wZ3BvbGljeSAgICAgID0gTVVMVElCVVMsCi0rCX0sCi0gCS8qCi0gCSAqIElCTQotIAkgKgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMC1saWJtdWx0aXBhdGgtZG9uLXQtcmVqZWN0LW1hcHMtd2l0aC11bmRlZmluZWQtcHJpby5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEwLWxpYm11bHRpcGF0aC1kb24tdC1yZWplY3QtbWFwcy13aXRoLXVuZGVmaW5lZC1wcmlvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGRhMmVkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEwLWxpYm11bHRpcGF0aC1kb24tdC1yZWplY3QtbWFwcy13aXRoLXVuZGVmaW5lZC1wcmlvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1EYXRlOiBXZWQsIDIxIE1hciAyMDE4IDEwOjM0OjE4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogZG9uJ3QgcmVqZWN0IG1hcHMgd2l0aCB1bmRlZmluZWQgcHJpbwotCi1saWJtdWx0aXBhdGgncyBwcmlvIHJvdXRpbmVzIGNhbiBkZWFsIHdpdGggcHAtPnByaW9yaXR5ID09IFBSSU9fVU5ERUYKLWp1c3QgZmluZS4gUFJJT19VTkRFRiBpcyBqdXN0IGEgdmVyeSBsb3cgcHJpb3JpdHkuIFNvIHRoZXJlJ3MKLW5vIHJlYXNvbiB0byByZWplY3Qgc2V0dGluZyB1cCBhIG11bHRpcGF0aCBtYXAgYmVjYXVzZSBwYXRocyBoYXZlCi11bmRlZmluZWQgcHJpb3JpdHkuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jIHwgNSAtLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jIGIvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jCi1pbmRleCA1Nzk2NjgzLi41YzU0ZjliIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NvbmZpZ3VyZS5jCi0rKysgYi9saWJtdWx0aXBhdGgvY29uZmlndXJlLmMKLUBAIC0xMDYzLDkgKzEwNjMsNiBAQCBpbnQgY29hbGVzY2VfcGF0aHMgKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgdmVjdG9yIG5ld21wLCBjaGFyICogcmVmd3dpZCwKLSAJCQljb250aW51ZTsKLSAJCX0KLSAKLS0JCWlmIChwcDEtPnByaW9yaXR5ID09IFBSSU9fVU5ERUYpCi0tCQkJbXBwLT5hY3Rpb24gPSBBQ1RfUkVKRUNUOwotLQotIAkJaWYgKCFtcHAtPnBhdGhzKSB7Ci0gCQkJY29uZGxvZygwLCAiJXM6IHNraXAgY29hbGVzY2UgKG5vIHBhdGhzKSIsIG1wcC0+YWxpYXMpOwotIAkJCXJlbW92ZV9tYXAobXBwLCB2ZWNzLCAwKTsKLUBAIC0xMDkxLDggKzEwODgsNiBAQCBpbnQgY29hbGVzY2VfcGF0aHMgKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgdmVjdG9yIG5ld21wLCBjaGFyICogcmVmd3dpZCwKLSAJCQkJCW1wcC0+c2l6ZSk7Ci0gCQkJCW1wcC0+YWN0aW9uID0gQUNUX1JFSkVDVDsKLSAJCQl9Ci0tCQkJaWYgKHBwMi0+cHJpb3JpdHkgPT0gUFJJT19VTkRFRikKLS0JCQkJbXBwLT5hY3Rpb24gPSBBQ1RfUkVKRUNUOwotIAkJfQotIAkJdmVyaWZ5X3BhdGhzKG1wcCwgdmVjcyk7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMS1tdWx0aXBhdGhkLWhhbmRsZS1lcnJvcnMtaW4tdXhsc25yLWFzLWZhdGFsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NmE4MTRmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gV2lsY2sgPG13aWxja0BzdXNlLmNvbT4KLURhdGU6IFdlZCwgMjEgTWFyIDIwMTggMTA6MzQ6MTkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoZDogaGFuZGxlIGVycm9ycyBpbiB1eGxzbnIgYXMgZmF0YWwKLQotVGhlIHBwb2xsKCkgY2FsbHMgb2YgdGhlIHV4bHNuciB0aHJlYWQgYXJlIHZpdGFsIGZvciBwcm9wZXIgZnVuY3Rpb25pbmcgb2YKLW11bHRpcGF0aGQuIElmIHRoZSB1eGxzbnIgdGhyZWFkIGNhbid0IG9wZW4gdGhlIHNvY2tldCBvciBmYWlscyB0byBjYWxsIHBwb2xsKCkKLWZvciBvdGhlciByZWFzb25zLCBxdWl0IHRoZSBkYWVtb24uIElmIHdlIGRvbid0IGRvIHRoYXQsIG11bHRpcGF0aGQgbWF5Ci1oYW5nIGluIGEgc3RhdGUgd2hlcmUgaXQgY2FuJ3QgYmUgdGVybWluYXRlZCBhbnkgbW9yZSwgYmVjYXVzZSB0aGUgdXhsc25yCi10aHJlYWQgaXMgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIGFsbCBzaWduYWxzLiBUaGlzIGhhcHBlbnMgZS5nLiBpZgotc3lzdGVtZCdzIG11bHRpcGF0aGQuc29ja2V0IGlzIHJ1bm5pbmcgaW4gYW5kIG11bHRpcGF0aGQgaXMgc3RhcnRlZCBmcm9tCi1vdXRzaWRlIHN5c3RlbWQuCi0KLTI0ZjI4NDQgIm11bHRpcGF0aGQ6IGZpeCBzaWduYWwgYmxvY2tpbmcgbG9naWMiIGhhcyBtYWRlIHRoaXMgcHJvYmxlbSBtb3JlCi1zZXZlcmUuIEJlZm9yZSB0aGF0IHBhdGNoLCB0aGUgc2lnbmFscyB3ZXJlbid0IGFjdHVhbGx5IGJsb2NrZWQgaW4gYW55IHRocmVhZC4KLVRoYXQncyBub3QgdG8gc2F5IDI0ZjI4NDQgd2FzIHdyb25nLiBJIHN0aWxsIHRoaW5rIGl0J3MgY29ycmVjdCwgd2UganVzdAotbmVlZCB0aGlzIG9uZSBvbiB0b3AuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBXaWxjayA8bXdpbGNrQHN1c2UuY29tPgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbXVsdGlwYXRoZC91eGxzbnIuYyB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoZC91eGxzbnIuYyBiL211bHRpcGF0aGQvdXhsc25yLmMKLWluZGV4IGNkYWZkODIuLjZmNjY2NjYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL3V4bHNuci5jCi0rKysgYi9tdWx0aXBhdGhkL3V4bHNuci5jCi1AQCAtMTc4LDcgKzE3OCw3IEBAIHZvaWQgKiB1eHNvY2tfbGlzdGVuKHV4c29ja190cmlnZ2VyX2ZuIHV4c29ja190cmlnZ2VyLCB2b2lkICogdHJpZ2dlcl9kYXRhKQotIAotIAlpZiAodXhfc29jayA9PSAtMSkgewotIAkJY29uZGxvZygxLCAiY291bGQgbm90IGNyZWF0ZSB1eHNvY2s6ICVkIiwgZXJybm8pOwotLQkJcmV0dXJuIE5VTEw7Ci0rCQlleGl0X2RhZW1vbigpOwotIAl9Ci0gCi0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHV4c29ja19jbGVhbnVwLCAodm9pZCAqKXV4X3NvY2spOwotQEAgLTE4Nyw3ICsxODcsNyBAQCB2b2lkICogdXhzb2NrX2xpc3Rlbih1eHNvY2tfdHJpZ2dlcl9mbiB1eHNvY2tfdHJpZ2dlciwgdm9pZCAqIHRyaWdnZXJfZGF0YSkKLSAJcG9sbHMgPSAoc3RydWN0IHBvbGxmZCAqKU1BTExPQygoTUlOX1BPTExTICsgMSkgKiBzaXplb2Yoc3RydWN0IHBvbGxmZCkpOwotIAlpZiAoIXBvbGxzKSB7Ci0gCQljb25kbG9nKDAsICJ1eHNvY2s6IGZhaWxlZCB0byBhbGxvY2F0ZSBwb2xsIGZkcyIpOwotLQkJcmV0dXJuIE5VTEw7Ci0rCQlleGl0X2RhZW1vbigpOwotIAl9Ci0gCXNpZ2ZpbGxzZXQoJm1hc2spOwotIAlzaWdkZWxzZXQoJm1hc2ssIFNJR0lOVCk7Ci1AQCAtMjQ5LDYgKzI0OSw3IEBAIHZvaWQgKiB1eHNvY2tfbGlzdGVuKHV4c29ja190cmlnZ2VyX2ZuIHV4c29ja190cmlnZ2VyLCB2b2lkICogdHJpZ2dlcl9kYXRhKQotIAotIAkJCS8qIHNvbWV0aGluZyB3ZW50IGJhZGx5IHdyb25nISAqLwotIAkJCWNvbmRsb2coMCwgInV4c29jazogcG9sbCBmYWlsZWQgd2l0aCAlZCIsIGVycm5vKTsKLSsJCQlleGl0X2RhZW1vbigpOwotIAkJCWJyZWFrOwotIAkJfQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTItbGlibXVsdGlwYXRoLWZpeC1lcnJvci1wYXJzaW5nLWZpbmRfbXVsdGlwYXRocy1zdHJpYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGNlMjQzMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1EYXRlOiBUdWUsIDE1IE1heSAyMDE4IDE0OjMyOjQ0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYm11bHRpcGF0aDogZml4IGVycm9yIHBhcnNpbmcgImZpbmRfbXVsdGlwYXRocyBzdHJpY3QiCi0KLUlmICJmaW5kX211bHRpcGF0aHMgc3RyaWN0IiBpcyBzZXQgaW4gbXVsdGlwYXRoLmNvbmYsIHRoZSBlcnJvciBtZXNzYWdlCi0iaWxsZWdhbCB2YWx1ZSBmb3IgZmluZF9tdWx0aXBhdGhzOiBzdHJpY3QiIGlzIHByaW50ZWQuIFRoaXMgY2F1c2VzIG5vCi1mdW5jdGlvbmFsIHByb2JsZW0sIGFzICJzdHJpY3QiIGhhcHBlbnMgdG8gYmUgdGhlIGRlZmF1bHQsIGZhbGxiYWNrCi12YWx1ZS4gSXQgc2hvdWxkIGJlIGZpeGVkIG5vbmV0aGVsZXNzLiBGSU5EX01VTFRJUEFUSFNfU1RSSUNULCBoYXZpbmcKLXRoZSBoaWdoZXN0IG51bWVyaWMgdmFsdWUsIG11c3QgYmUgbGFzdCBpbiB0aGUgZW51bS4KLQotRml4ZXM6IGMzNmYyZjQyICJsaWJtdWx0aXBhdGg6IGNoYW5nZSBmaW5kX211bHRpcGF0aHMgb3B0aW9uIHRvIG11bHRpLXZhbHVlIgotU2lnbmVkLW9mZi1ieTogTWFydGluIFdpbGNrIDxtd2lsY2tAc3VzZS5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvc3RydWN0cy5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaCBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLWluZGV4IGViNmExNzguLmU0MjRiMTUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1AQCAtMTIyLDkgKzEyMiw5IEBAIGVudW0gZmluZF9tdWx0aXBhdGhzX3N0YXRlcyB7Ci0gCUZJTkRfTVVMVElQQVRIU19VTkRFRiA9IFlOVV9VTkRFRiwKLSAJRklORF9NVUxUSVBBVEhTX09GRiA9IFlOVV9OTywKLSAJRklORF9NVUxUSVBBVEhTX09OID0gX0ZJTkRfTVVMVElQQVRIU19GLAotLQlGSU5EX01VTFRJUEFUSFNfU1RSSUNUID0gX0ZJTkRfTVVMVElQQVRIU19GfF9GSU5EX01VTFRJUEFUSFNfTiwKLSAJRklORF9NVUxUSVBBVEhTX0dSRUVEWSA9IF9GSU5EX01VTFRJUEFUSFNfSSwKLSAJRklORF9NVUxUSVBBVEhTX1NNQVJUID0gX0ZJTkRfTVVMVElQQVRIU19GfF9GSU5EX01VTFRJUEFUSFNfSSwKLSsJRklORF9NVUxUSVBBVEhTX1NUUklDVCA9IF9GSU5EX01VTFRJUEFUSFNfRnxfRklORF9NVUxUSVBBVEhTX04sCi0gCV9fRklORF9NVUxUSVBBVEhTX0xBU1QsCi0gfTsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDEzLWxpYm11bHRpcGF0aC1wcmludC1jb3JyZWN0LWRlZmF1bHQtZm9yLWRlbGF5Xy1fY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Njc4MDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgNyBNYXkgMjAxOCAxNzoxNjowNSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IHByaW50IGNvcnJlY3QgZGVmYXVsdCBmb3IgZGVsYXlfKl9jaGVja3MKLQotVGhlc2Ugb3B0aW9ucyBkZWZhdWx0IHRvICJubyIsIHNvIHRoZXkgc2hvdWxkIGRpc3BsYXkgdGhhdCB3aGVuIHRoZQotY29uZmlnIGlzIHByaW50ZWQuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmMgfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggNDA0MDYxMS4uM2U3YzVkNiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC0xMTE1LDcgKzExMTUsOCBAQCBwcmludF9vZmZfaW50X3VuZGVmKGNoYXIgKiBidWZmLCBpbnQgbGVuLCBsb25nIHYpCi0gfQotIAotIGRlY2xhcmVfZGVmX2hhbmRsZXIoZGVsYXlfd2F0Y2hfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS1kZWNsYXJlX2RlZl9zbnByaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLStkZWNsYXJlX2RlZl9zbnByaW50X2RlZmludChkZWxheV93YXRjaF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYsCi0rCQkJICAgREVGQVVMVF9ERUxBWV9DSEVDS1MpCi0gZGVjbGFyZV9vdnJfaGFuZGxlcihkZWxheV93YXRjaF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfb3ZyX3NucHJpbnQoZGVsYXlfd2F0Y2hfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfaHdfaGFuZGxlcihkZWxheV93YXRjaF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotQEAgLTExMjMsNyArMTEyNCw4IEBAIGRlY2xhcmVfaHdfc25wcmludChkZWxheV93YXRjaF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9oYW5kbGVyKGRlbGF5X3dhdGNoX2NoZWNrcywgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9zbnByaW50KGRlbGF5X3dhdGNoX2NoZWNrcywgcHJpbnRfb2ZmX2ludF91bmRlZikKLSBkZWNsYXJlX2RlZl9oYW5kbGVyKGRlbGF5X3dhaXRfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS1kZWNsYXJlX2RlZl9zbnByaW50KGRlbGF5X3dhaXRfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmKQotK2RlY2xhcmVfZGVmX3NucHJpbnRfZGVmaW50KGRlbGF5X3dhaXRfY2hlY2tzLCBwcmludF9vZmZfaW50X3VuZGVmLAotKwkJCSAgIERFRkFVTFRfREVMQVlfQ0hFQ0tTKQotIGRlY2xhcmVfb3ZyX2hhbmRsZXIoZGVsYXlfd2FpdF9jaGVja3MsIHNldF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfb3ZyX3NucHJpbnQoZGVsYXlfd2FpdF9jaGVja3MsIHByaW50X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9od19oYW5kbGVyKGRlbGF5X3dhaXRfY2hlY2tzLCBzZXRfb2ZmX2ludF91bmRlZikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTQtbXVsdGlwYXRoLmNvbmYuNS1jbGFyaWZ5LXByb3BlcnR5LXdoaXRlbGlzdC1oYW5kbGluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE0LW11bHRpcGF0aC5jb25mLjUtY2xhcmlmeS1wcm9wZXJ0eS13aGl0ZWxpc3QtaGFuZGxpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhYjRlMDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTQtbXVsdGlwYXRoLmNvbmYuNS1jbGFyaWZ5LXByb3BlcnR5LXdoaXRlbGlzdC1oYW5kbGluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgOSBNYXkgMjAxOCAxNDozMjo1OSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtdWx0aXBhdGguY29uZi41OiBjbGFyaWZ5IHByb3BlcnR5IHdoaXRlbGlzdCBoYW5kbGluZwotCi1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCBmNjg5Nzk1Li45NmQxYjY2IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtMTE4MSwxMCArMTE4MSw5IEBAIGFuZAotIGtleXdvcmRzLiBGb3IgYSBmdWxsIGRlc2NyaXB0aW9uIG9mIHRoZXNlIGtleXdvcmRzIHBsZWFzZSBzZWUgdGhlIFxmSWRldmljZXNcZlIKLSBzZWN0aW9uIGRlc2NyaXB0aW9uLgotIC5MUAotLVRoZSBcZklwcm9wZXJ0eVxmUiBibGFja2xpc3QgYW5kIHdoaXRlbGlzdCBoYW5kbGluZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdXN1YWwKLS1oYW5kbGluZyBpbiB0aGUgc2Vuc2UgdGhhdCB0aGUgd2hpdGVsaXN0IFxmSWhhc1xmUiB0byBiZSBzZXQsIG90aGVyd2lzZSB0aGUKLS1kZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYKLS1wcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLgotK1RoZSBcZklwcm9wZXJ0eVxmUiB3aGl0ZWxpc3QgaGFuZGxpbmcgaXMgZGlmZmVyZW50IGZyb20gdGhlIHVzdWFsCi0raGFuZGxpbmcgaW4gdGhlIHNlbnNlIHRoYXQgdGhlIGRldmljZSBcZkloYXNcZlIgdG8gaGF2ZSBhIHVkZXYgcHJvcGVydHkgdGhhdAotK21hdGNoZXMgdGhlIHdoaXRlbGlzdCwgb3RoZXJ3aXNlIHRoZSBkZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYgcHJvcGVydHkgbWlzc2luZ1xmUiB3aWxsIGJlIGRpc3BsYXllZC4KLSAuCi0gLgotIC5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE1LW1wYXRocGVyc2lzdC1hZGQtYWxsX3RnX3B0LW9wdGlvbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE1LW1wYXRocGVyc2lzdC1hZGQtYWxsX3RnX3B0LW9wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmUyNjgxZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNS1tcGF0aHBlcnNpc3QtYWRkLWFsbF90Z19wdC1vcHRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMTcgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAzMSBNYXkgMjAxOCAxNzo0NzoxMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBtcGF0aHBlcnNpc3Q6IGFkZCBhbGxfdGdfcHQgb3B0aW9uCi0KLVNvbWUgYXJyYXlzLCBzdWNoIGFzIHRoZSBFTUMgVk5YLCBkb24ndCBmb2xsb3cgdGhlIHNjc2kgcGVyc2lzdGVudAotcmVzZXJ2YXRpb25zIHNwZWMgaW4gbWFraW5nIGtleSByZWdpc3RyYXRpb25zIHBlciBJX1QgTkVYVVMuIEluc3RlYWQsCi10aGUgcmVnaXN0cmF0aW9uIGlzIHNoYXJlZCBieSBhbGwgdGFyZ2V0IHBvcnRzIGNvbm5lY3RlZCB0byBhIGdpdmVuCi1ob3N0LiAgVGhpcyBjYXVzZXMgbXBhdGhwZXJzaXN0IHRvIGZhaWwgd2hlbmV2ZXIgaXQgdHJpZXMgdG8gcmVnaXN0ZXIgYQota2V5LCBzaW5jZSBpdCB3aWxsIHJlY2VpdmUgYSByZWdpc3RyYXRpb24gY29uZmxpY3Qgb24gc29tZSBvZiB0aGUgcGF0aHMuCi0KLVRvIGRlYWwgd2l0aCB0aGlzLCBtcGF0aHBlcnNpc3QgbmVlZHMgdG8gdHJhY2sgdGhlIGhvc3RzIHRoYXQgaXQgaGFzCi1kb25lIGEgcmVnaXN0cmF0aW9uIG9uLCBhbmQgb25seSByZWdpc3RlciBvbmNlIHBlciBob3N0LiBUaGUgbmV3Ci0iYWxsX3RnX3B0IiBtdWx0aXBhdGguY29uZiBvcHRpb24gaXMgdXNlZCB0byBzZXQgd2hpY2ggYXJyYXlzIG5lZWQgdGhpcwotZmVhdHVyZS4gIEkgY3VycmVudGx5IGRvbid0IGtub3cgaWYgYWxsIEVNQyBWTlggYXJyYXlzIGhhbmRsZSBwZXJzaXN0ZW50Ci1yZXNlcnZhdGlvbnMgbGlrZSB0aGlzLCBvciBpZiBpdCBpcyBjb25maWd1cmFibGUuIEEgZnV0dXJlIHBhdGNoIHdpbGwKLXVwZGF0ZSB0aGUgVk5YIGJ1aWx0LWluIGNvbmZpZywgaWYgdGhpcyBpcyBpbmRlZWQgdGhlaXIgZGVmYXVsdCAob3IKLW9ubHkpIHNldHRpbmcuCi0KLU11bHRpcGF0aGQgZG9lc24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0IHRoaXMuIEl0IGlzIG9mdGVuIHRoZSBjYXNlIHRoYXQKLXdoZW4gYSBwYXRoIGRldmljZSBjb21lcyBiYWNrLCBpdCB3aWxsIHN0aWxsIGhhdmUgdGhlIGtleXMgcmVnaXN0ZXJlZCB0bwotaXQuIEJlY2F1c2Ugb2YgdGhpcywgbXVsdGlwYXRoZCB1c2VzIHJlZ2lzdGVyLWFuZC1pZ25vcmUsIHdoaWNoIG1lYW5zCi10aGF0IGl0IHdvbid0IGNhdXNlIGFuIGVycm9yIGlmIHRoZSByZWdpc3RyYXRpb24gaGFzIGFscmVhZHkgaGFwcGVuZWQKLWRvd24gYSBkaWZmZXJlbnQgdGFyZ2V0IHBvcnQuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5jICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5oICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2RlZmF1bHRzLmggICAgICAgICB8ICAxICsKLSBsaWJtdWx0aXBhdGgvZGljdC5jICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKwotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKLSBsaWJtdWx0aXBhdGgvcHJvcHNlbC5oICAgICAgICAgIHwgIDEgKwotIGxpYm11bHRpcGF0aC9zdHJ1Y3RzLmggICAgICAgICAgfCAgNyArKysrKysrCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICB8IDExICsrKysrKysrKysrCi0gOSBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLWluZGV4IDkwN2ExN2MuLmNhOTFjNTUgMTAwNjQ0Ci0tLS0gYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jCi1AQCAtMzM1LDYgKzMzNSw3IEBAIGludCBtcGF0aF9wZXJzaXN0ZW50X3Jlc2VydmVfb3V0ICggaW50IGZkLCBpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJc2VsZWN0X3Jlc2VydmF0aW9uX2tleShjb25mLCBtcHApOwotKwlzZWxlY3RfYWxsX3RnX3B0KGNvbmYsIG1wcCk7Ci0gCXB1dF9tdWx0aXBhdGhfY29uZmlnKGNvbmYpOwotIAotIAltZW1jcHkoJnBya2V5LCBwYXJhbXAtPnNhX2tleSwgOCk7Ci1AQCAtNDU2LDcgKzQ1Nyw3IEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCXVuc2lnbmVkIGludCBycV90eXBlLCBzdHJ1Y3QgcHJvdXRfcGFyYW1fZGVzY3JpcHRvciAqIHBhcmFtcCwgaW50IG5vaXN5KQotIHsKLSAKLS0JaW50IGksIGo7Ci0rCWludCBpLCBqLCBrOwotIAlzdHJ1Y3QgcGF0aGdyb3VwICpwZ3AgPSBOVUxMOwotIAlzdHJ1Y3QgcGF0aCAqcHAgPSBOVUxMOwotIAlpbnQgcm9sbGJhY2sgPSAwOwotQEAgLTQ4MSwxMSArNDgyLDEzIEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCX0KLSAKLSAJc3RydWN0IHRocmVhZGluZm8gdGhyZWFkW2FjdGl2ZV9wYXRoY291bnRdOwotKwlpbnQgaG9zdHNbYWN0aXZlX3BhdGhjb3VudF07Ci0gCi0gCW1lbXNldCh0aHJlYWQsIDAsIHNpemVvZih0aHJlYWQpKTsKLSAKLSAJLyogaW5pdCB0aHJlYWQgcGFyYW1ldGVyICovCi0gCWZvciAoaSA9MDsgaTwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJCWhvc3RzW2ldID0gLTE7Ci0gCQl0aHJlYWRbaV0ucGFyYW0ucnFfc2VydmFjdCA9IHJxX3NlcnZhY3Q7Ci0gCQl0aHJlYWRbaV0ucGFyYW0ucnFfc2NvcGUgPSBycV9zY29wZTsKLSAJCXRocmVhZFtpXS5wYXJhbS5ycV90eXBlID0gcnFfdHlwZTsKLUBAIC01MTQsNiArNTE3LDE3IEBAIGludCBtcGF0aF9wcm91dF9yZWcoc3RydWN0IG11bHRpcGF0aCAqbXBwLGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCQkJCWNvbmRsb2cgKDEsICIlczogJXMgcGF0aCBub3QgdXAuIFNraXAuIiwgbXBwLT53d2lkLCBwcC0+ZGV2KTsKLSAJCQkJY29udGludWU7Ci0gCQkJfQotKwkJCWlmIChtcHAtPmFsbF90Z19wdCA9PSBBTExfVEdfUFRfT04gJiYKLSsJCQkgICAgcHAtPnNnX2lkLmhvc3Rfbm8gIT0gLTEpIHsKLSsJCQkJZm9yIChrID0gMDsgayA8IGNvdW50OyBrKyspIHsKLSsJCQkJCWlmIChwcC0+c2dfaWQuaG9zdF9ubyA9PSBob3N0c1trXSkgewotKwkJCQkJCWNvbmRsb2coMywgIiVzOiAlcyBob3N0ICVkIG1hdGNoZXMgc2tpcC4iLCBwcC0+d3dpZCwgcHAtPmRldiwgcHAtPnNnX2lkLmhvc3Rfbm8pOwotKwkJCQkJCWJyZWFrOwotKwkJCQkJfQotKwkJCQl9Ci0rCQkJCWlmIChrIDwgY291bnQpCi0rCQkJCQljb250aW51ZTsKLSsJCQl9Ci0gCQkJc3RybmNweSh0aHJlYWRbY291bnRdLnBhcmFtLmRldiwgcHAtPmRldiwKLSAJCQkJRklMRV9OQU1FX1NJWkUgLSAxKTsKLSAKLUBAIC01MzEsMTAgKzU0NSwxMiBAQCBpbnQgbXBhdGhfcHJvdXRfcmVnKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAkJCQljb25kbG9nICgwLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgdGhyZWFkICVkIiwgbXBwLT53d2lkLCByYyk7Ci0gCQkJCXRocmVhZFtjb3VudF0ucGFyYW0uc3RhdHVzID0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SOwotIAkJCX0KLSsJCQllbHNlCi0rCQkJCWhvc3RzW2NvdW50XSA9IHBwLT5zZ19pZC5ob3N0X25vOwotIAkJCWNvdW50ID0gY291bnQgKyAxOwotIAkJfQotIAl9Ci0tCWZvciggaT0wOyBpIDwgYWN0aXZlX3BhdGhjb3VudCA7IGkrKyl7Ci0rCWZvciggaT0wOyBpIDwgY291bnQgOyBpKyspewotIAkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgIT0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SKSB7Ci0gCQkJcmMgPSBwdGhyZWFkX2pvaW4odGhyZWFkW2ldLmlkLCBOVUxMKTsKLSAJCQlpZiAocmMpewotQEAgLTU1Nyw3ICs1NzMsNyBAQCBpbnQgbXBhdGhfcHJvdXRfcmVnKHN0cnVjdCBtdWx0aXBhdGggKm1wcCxpbnQgcnFfc2VydmFjdCwgaW50IHJxX3Njb3BlLAotIAl9Ci0gCWlmIChyb2xsYmFjayAmJiAoKHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX1NBKSAmJiBzYV9rZXkgIT0gMCApKXsKLSAJCWNvbmRsb2cgKDMsICIlczogRVJST1I6IGluaXRpYXRpbmcgcHIgb3V0IHJvbGxiYWNrIiwgbXBwLT53d2lkKTsKLS0JCWZvciggaT0wIDsgaSA8IGFjdGl2ZV9wYXRoY291bnQgOyBpKyspewotKwkJZm9yKCBpPTAgOyBpIDwgY291bnQgOyBpKyspewotIAkJCWlmKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgPT0gTVBBVEhfUFJfU1VDQ0VTUykgewotIAkJCQltZW1jcHkoJnRocmVhZFtpXS5wYXJhbS5wYXJhbXAtPmtleSwgJnRocmVhZFtpXS5wYXJhbS5wYXJhbXAtPnNhX2tleSwgOCk7Ci0gCQkJCW1lbXNldCgmdGhyZWFkW2ldLnBhcmFtLnBhcmFtcC0+c2Ffa2V5LCAwLCA4KTsKLUBAIC01NzEsNyArNTg3LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlZyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCQl9IGVsc2UKLSAJCQkJdGhyZWFkW2ldLnBhcmFtLnN0YXR1cyA9IE1QQVRIX1BSX1NLSVA7Ci0gCQl9Ci0tCQlmb3IoaT0wOyBpIDwgYWN0aXZlX3BhdGhjb3VudCA7IGkrKyl7Ci0rCQlmb3IoaT0wOyBpIDwgY291bnQgOyBpKyspewotIAkJCWlmICh0aHJlYWRbaV0ucGFyYW0uc3RhdHVzICE9IE1QQVRIX1BSX1NLSVAgJiYKLSAJCQkgICAgdGhyZWFkW2ldLnBhcmFtLnN0YXR1cyAhPSBNUEFUSF9QUl9USFJFQURfRVJST1IpIHsKLSAJCQkJcmMgPSBwdGhyZWFkX2pvaW4odGhyZWFkW2ldLmlkLCBOVUxMKTsKLUBAIC03MjAsNyArNzM2LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlbChzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCX0KLSAJfQotIAlwdGhyZWFkX2F0dHJfZGVzdHJveSAoJmF0dHIpOwotLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspewotIAkJaWYgKHRocmVhZFtpXS5wYXJhbS5zdGF0dXMgIT0gTVBBVEhfUFJfVEhSRUFEX0VSUk9SKSB7Ci0gCQkJcmMgPSBwdGhyZWFkX2pvaW4gKHRocmVhZFtpXS5pZCwgTlVMTCk7Ci0gCQkJaWYgKHJjKXsKLUBAIC03MjksNyArNzQ1LDcgQEAgaW50IG1wYXRoX3Byb3V0X3JlbChzdHJ1Y3QgbXVsdGlwYXRoICptcHAsaW50IHJxX3NlcnZhY3QsIGludCBycV9zY29wZSwKLSAJCX0KLSAJfQotIAotLQlmb3IgKGkgPSAwOyBpIDwgYWN0aXZlX3BhdGhjb3VudDsgaSsrKXsKLSsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspewotIAkJLyogIGNoZWNrIHRocmVhZCBzdGF0dXMgaGVyZSBhbmQgcmV0dXJuIHRoZSBzdGF0dXMgKi8KLSAKLSAJCWlmICh0aHJlYWRbaV0ucGFyYW0uc3RhdHVzID09IE1QQVRIX1BSX1JFU0VSVl9DT05GTElDVCkKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmMgYi9saWJtdWx0aXBhdGgvY29uZmlnLmMKLWluZGV4IDA4NWEzZTEuLjU4NzI5MjcgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwotQEAgLTM1Miw2ICszNTIsNyBAQCBtZXJnZV9od2UgKHN0cnVjdCBod2VudHJ5ICogZHN0LCBzdHJ1Y3QgaHdlbnRyeSAqIHNyYykKLSAJbWVyZ2VfbnVtKHNraXBfa3BhcnR4KTsKLSAJbWVyZ2VfbnVtKG1heF9zZWN0b3JzX2tiKTsKLSAJbWVyZ2VfbnVtKGdob3N0X2RlbGF5KTsKLSsJbWVyZ2VfbnVtKGFsbF90Z19wdCk7Ci0gCi0gCXNucHJpbnRmKGlkLCBzaXplb2YoaWQpLCAiJXMvJXMiLCBkc3QtPnZlbmRvciwgZHN0LT5wcm9kdWN0KTsKLSAJcmVjb25jaWxlX2ZlYXR1cmVzX3dpdGhfb3B0aW9ucyhpZCwgJmRzdC0+ZmVhdHVyZXMsCi1AQCAtNjIyLDYgKzYyMyw3IEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKLSAJY29uZi0+ZGlzYWJsZV9jaGFuZ2VkX3d3aWRzID0gREVGQVVMVF9ESVNBQkxFX0NIQU5HRURfV1dJRFM7Ci0gCWNvbmYtPnJlbW92ZV9yZXRyaWVzID0gMDsKLSAJY29uZi0+Z2hvc3RfZGVsYXkgPSBERUZBVUxUX0dIT1NUX0RFTEFZOwotKwljb25mLT5hbGxfdGdfcHQgPSBERUZBVUxUX0FMTF9UR19QVDsKLSAKLSAJLyoKLSAJICogcHJlbG9hZCBkZWZhdWx0IGh3dGFibGUKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmggYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKLWluZGV4IDZlNjlhMzcuLjFiZjcwOGEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotQEAgLTgyLDYgKzgyLDcgQEAgc3RydWN0IGh3ZW50cnkgewotIAlpbnQgc2tpcF9rcGFydHg7Ci0gCWludCBtYXhfc2VjdG9yc19rYjsKLSAJaW50IGdob3N0X2RlbGF5OwotKwlpbnQgYWxsX3RnX3B0OwotIAljaGFyICogYmxfcHJvZHVjdDsKLSB9OwotIAotQEAgLTE5NCw2ICsxOTUsNyBAQCBzdHJ1Y3QgY29uZmlnIHsKLSAJY2hhciAqIHBhcnRpdGlvbl9kZWxpbTsKLSAJY2hhciAqIGNvbmZpZ19kaXI7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0rCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSAKLSAJdmVjdG9yIGtleXdvcmRzOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLWluZGV4IGQ3Yjg3YjQuLmYwNzZiNGIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGVmYXVsdHMuaAotKysrIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLUBAIC00Myw2ICs0Myw3IEBACi0gI2RlZmluZSBERUZBVUxUX0dIT1NUX0RFTEFZIEdIT1NUX0RFTEFZX09GRgotICNkZWZpbmUgREVGQVVMVF9GSU5EX01VTFRJUEFUSFNfVElNRU9VVCAtMTAKLSAjZGVmaW5lIERFRkFVTFRfVU5LTk9XTl9GSU5EX01VTFRJUEFUSFNfVElNRU9VVCAxCi0rI2RlZmluZSBERUZBVUxUX0FMTF9UR19QVCBBTExfVEdfUFRfT0ZGCi0gCi0gI2RlZmluZSBERUZBVUxUX0NIRUNLSU5UCTUKLSAjZGVmaW5lIE1BWF9DSEVDS0lOVChhKQkJKGEgPDwgMikKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggM2U3YzVkNi4uMjU1N2I4YSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLUBAIC0xMTc4LDYgKzExNzgsMTMgQEAgZGVjbGFyZV9od19zbnByaW50KGdob3N0X2RlbGF5LCBwcmludF9vZmZfaW50X3VuZGVmKQotIGRlY2xhcmVfbXBfaGFuZGxlcihnaG9zdF9kZWxheSwgc2V0X29mZl9pbnRfdW5kZWYpCi0gZGVjbGFyZV9tcF9zbnByaW50KGdob3N0X2RlbGF5LCBwcmludF9vZmZfaW50X3VuZGVmKQotIAotK2RlY2xhcmVfZGVmX2hhbmRsZXIoYWxsX3RnX3B0LCBzZXRfeWVzX25vX3VuZGVmKQotK2RlY2xhcmVfZGVmX3NucHJpbnRfZGVmaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmLCBERUZBVUxUX0FMTF9UR19QVCkKLStkZWNsYXJlX292cl9oYW5kbGVyKGFsbF90Z19wdCwgc2V0X3llc19ub191bmRlZikKLStkZWNsYXJlX292cl9zbnByaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmKQotK2RlY2xhcmVfaHdfaGFuZGxlcihhbGxfdGdfcHQsIHNldF95ZXNfbm9fdW5kZWYpCi0rZGVjbGFyZV9od19zbnByaW50KGFsbF90Z19wdCwgcHJpbnRfeWVzX25vX3VuZGVmKQotKwotIAotIHN0YXRpYyBpbnQKLSBkZWZfdXhzb2NrX3RpbWVvdXRfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQotQEAgLTE1MDksNiArMTUxNiw3IEBAIGluaXRfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKQotIAlpbnN0YWxsX2tleXdvcmQoInBya2V5c19maWxlIiwgJmRlZl9wcmtleXNfZmlsZV9oYW5kbGVyLCAmc25wcmludF9kZWZfcHJrZXlzX2ZpbGUpOwotIAlpbnN0YWxsX2tleXdvcmQoImxvZ19jaGVja2VyX2VyciIsICZkZWZfbG9nX2NoZWNrZXJfZXJyX2hhbmRsZXIsICZzbnByaW50X2RlZl9sb2dfY2hlY2tlcl9lcnIpOwotIAlpbnN0YWxsX2tleXdvcmQoInJlc2VydmF0aW9uX2tleSIsICZkZWZfcmVzZXJ2YXRpb25fa2V5X2hhbmRsZXIsICZzbnByaW50X2RlZl9yZXNlcnZhdGlvbl9rZXkpOwotKwlpbnN0YWxsX2tleXdvcmQoImFsbF90Z19wdCIsICZkZWZfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X2RlZl9hbGxfdGdfcHQpOwotIAlpbnN0YWxsX2tleXdvcmQoInJldGFpbl9hdHRhY2hlZF9od19oYW5kbGVyIiwgJmRlZl9yZXRhaW5faHdoYW5kbGVyX2hhbmRsZXIsICZzbnByaW50X2RlZl9yZXRhaW5faHdoYW5kbGVyKTsKLSAJaW5zdGFsbF9rZXl3b3JkKCJkZXRlY3RfcHJpbyIsICZkZWZfZGV0ZWN0X3ByaW9faGFuZGxlciwgJnNucHJpbnRfZGVmX2RldGVjdF9wcmlvKTsKLSAJaW5zdGFsbF9rZXl3b3JkKCJkZXRlY3RfY2hlY2tlciIsICZkZWZfZGV0ZWN0X2NoZWNrZXJfaGFuZGxlciwgJnNucHJpbnRfZGVmX2RldGVjdF9jaGVja2VyKTsKLUBAIC0xNjE4LDYgKzE2MjYsNyBAQCBpbml0X2tleXdvcmRzKHZlY3RvciBrZXl3b3JkcykKLSAJaW5zdGFsbF9rZXl3b3JkKCJza2lwX2twYXJ0eCIsICZod19za2lwX2twYXJ0eF9oYW5kbGVyLCAmc25wcmludF9od19za2lwX2twYXJ0eCk7Ci0gCWluc3RhbGxfa2V5d29yZCgibWF4X3NlY3RvcnNfa2IiLCAmaHdfbWF4X3NlY3RvcnNfa2JfaGFuZGxlciwgJnNucHJpbnRfaHdfbWF4X3NlY3RvcnNfa2IpOwotIAlpbnN0YWxsX2tleXdvcmQoImdob3N0X2RlbGF5IiwgJmh3X2dob3N0X2RlbGF5X2hhbmRsZXIsICZzbnByaW50X2h3X2dob3N0X2RlbGF5KTsKLSsJaW5zdGFsbF9rZXl3b3JkKCJhbGxfdGdfcHQiLCAmaHdfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X2h3X2FsbF90Z19wdCk7Ci0gCWluc3RhbGxfc3VibGV2ZWxfZW5kKCk7Ci0gCi0gCWluc3RhbGxfa2V5d29yZF9yb290KCJvdmVycmlkZXMiLCAmb3ZlcnJpZGVzX2hhbmRsZXIpOwotQEAgLTE2NTQsNiArMTY2Myw3IEBAIGluaXRfa2V5d29yZHModmVjdG9yIGtleXdvcmRzKQotIAlpbnN0YWxsX2tleXdvcmQoInNraXBfa3BhcnR4IiwgJm92cl9za2lwX2twYXJ0eF9oYW5kbGVyLCAmc25wcmludF9vdnJfc2tpcF9rcGFydHgpOwotIAlpbnN0YWxsX2tleXdvcmQoIm1heF9zZWN0b3JzX2tiIiwgJm92cl9tYXhfc2VjdG9yc19rYl9oYW5kbGVyLCAmc25wcmludF9vdnJfbWF4X3NlY3RvcnNfa2IpOwotIAlpbnN0YWxsX2tleXdvcmQoImdob3N0X2RlbGF5IiwgJm92cl9naG9zdF9kZWxheV9oYW5kbGVyLCAmc25wcmludF9vdnJfZ2hvc3RfZGVsYXkpOwotKwlpbnN0YWxsX2tleXdvcmQoImFsbF90Z19wdCIsICZvdnJfYWxsX3RnX3B0X2hhbmRsZXIsICZzbnByaW50X292cl9hbGxfdGdfcHQpOwotIAotIAlpbnN0YWxsX2tleXdvcmRfcm9vdCgibXVsdGlwYXRocyIsICZtdWx0aXBhdGhzX2hhbmRsZXIpOwotIAlpbnN0YWxsX2tleXdvcmRfbXVsdGkoIm11bHRpcGF0aCIsICZtdWx0aXBhdGhfaGFuZGxlciwgTlVMTCk7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuYyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLWluZGV4IDYyN2QzNjYuLjljYTEzNTUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi1AQCAtOTc4LDMgKzk3OCwxOCBAQCBvdXQ6Ci0gCQlwcC0+ZGV2LCBwcC0+ZmluZF9tdWx0aXBhdGhzX3RpbWVvdXQsIG9yaWdpbik7Ci0gCXJldHVybiAwOwotIH0KLSsKLStpbnQgc2VsZWN0X2FsbF90Z19wdCAoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqIG1wKQotK3sKLSsJY29uc3QgY2hhciAqb3JpZ2luOwotKwotKwltcF9zZXRfb3ZyKGFsbF90Z19wdCk7Ci0rCW1wX3NldF9od2UoYWxsX3RnX3B0KTsKLSsJbXBfc2V0X2NvbmYoYWxsX3RnX3B0KTsKLSsJbXBfc2V0X2RlZmF1bHQoYWxsX3RnX3B0LCBERUZBVUxUX0FMTF9UR19QVCk7Ci0rb3V0OgotKwljb25kbG9nKDMsICIlczogYWxsX3RnX3B0ID0gJXMgJXMiLCBtcC0+YWxpYXMsCi0rCQkobXAtPmFsbF90Z19wdCA9PSBBTExfVEdfUFRfT04pPyAieWVzIiA6ICJubyIsCi0rCQlvcmlnaW4pOwotKwlyZXR1cm4gMDsKLSt9Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuaCBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmgKLWluZGV4IGEwMjJiZWUuLmFlOTliOTIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5oCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5oCi1AQCAtMzQsMyArMzQsNCBAQCBpbnQgc2VsZWN0X2dob3N0X2RlbGF5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKiBtcCk7Ci0gdm9pZCByZWNvbmNpbGVfZmVhdHVyZXNfd2l0aF9vcHRpb25zKGNvbnN0IGNoYXIgKmlkLCBjaGFyICoqZmVhdHVyZXMsCi0gCQkJCSAgICAgaW50KiBub19wYXRoX3JldHJ5LAotIAkJCQkgICAgIGludCAqcmV0YWluX2h3aGFuZGxlcik7Ci0raW50IHNlbGVjdF9hbGxfdGdfcHQgKHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKiBtcCk7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaCBiL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmgKLWluZGV4IGU0MjRiMTUuLjAxOTRiMWUgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi0rKysgYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1AQCAtMjE3LDYgKzIxNywxMiBAQCBlbnVtIHBya2V5X3NvdXJjZXMgewotIAlQUktFWV9TT1VSQ0VfRklMRSwKLSB9OwotIAotK2VudW0gYWxsX3RnX3B0X3N0YXRlcyB7Ci0rCUFMTF9UR19QVF9VTkRFRiA9IFlOVV9VTkRFRiwKLSsJQUxMX1RHX1BUX09GRiA9IFlOVV9OTywKLSsJQUxMX1RHX1BUX09OID0gWU5VX1lFUywKLSt9OwotKwotIHN0cnVjdCBzZ19pZCB7Ci0gCWludCBob3N0X25vOwotIAlpbnQgY2hhbm5lbDsKLUBAIC0zNjIsNiArMzY4LDcgQEAgc3RydWN0IG11bHRpcGF0aCB7Ci0gCWludCBwcmtleV9zb3VyY2U7Ci0gCXN0cnVjdCBiZTY0IHJlc2VydmF0aW9uX2tleTsKLSAJdW5zaWduZWQgY2hhciBwcmZsYWc7Ci0rCWludCBhbGxfdGdfcHQ7Ci0gCXN0cnVjdCBnZW5fbXVsdGlwYXRoIGdlbmVyaWNfbXA7Ci0gfTsKLSAKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1pbmRleCA5NmQxYjY2Li4wYzFmMTc0IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLSsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci1AQCAtNzQzLDYgKzc0MywxNyBAQCBUaGUgZGVmYXVsdCBpczogXGZCPHVuc2V0PlxmUgotIC4KLSAuCi0gLlRQCi0rLkIgYWxsX3RnX3B0Ci0rVGhpcyBtdXN0IGJlIHNldCB0byBcZkJ5ZXNcZlIgdG8gc3VjY2Vzc2Z1bGx5IHVzZSBtcGF0aHBlcnNpc3Qgb24gYXJyYXlzIHRoYXQKLSthdXRvbWF0aWNhbGx5IHNldCBhbmQgY2xlYXIgcmVnaXN0cmF0aW9uIGtleXMgb24gYWxsIHRhcmdldCBwb3J0cyBmcm9tIGEKLStob3N0LCBpbnN0ZWFkIG9mIHBlciB0YXJnZXQgcG9ydCBwZXIgaG9zdC4KLSsuUlMKLSsuVFAKLStUaGUgZGVmYXVsdCBpczogXGZCbm9cZlIKLSsuUkUKLSsuCi0rLgotKy5UUAotIC5CIHJldGFpbl9hdHRhY2hlZF9od19oYW5kbGVyCi0gKE9ic29sZXRlIGZvciBrZXJuZWxzID49IDQuMykgSWYgc2V0IHRvCi0gLkkgeWVzCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE2LWxpYm11bHRpcGF0aC1yZW1vdmUtcmJkLWNvZGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNi1saWJtdWx0aXBhdGgtcmVtb3ZlLXJiZC1jb2RlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDE5NTQ3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE2LWxpYm11bHRpcGF0aC1yZW1vdmUtcmJkLWNvZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDkzICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMSBKdW4gMjAxOCAxNjozMDo0NCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IHJlbW92ZSByYmQgY29kZQotCi1UaGUgQ2VwaCB0ZWFuIGhhcyBhc2tlZCB0byBkcm9wIHN1cHBvcnQgZm9yIG11bHRpcGF0aGVkIHJiZCwgc2luY2UgaXQKLXdhcyBydW5uaW5nIGludG8gZGF0YSBjb3JydXB0aW9uIGlzc3Vlcy4gVGhlcmUgd2FzIG5ldmVyIGFuIHVwc3RyZWFtCi1DZXBoIHJlbGVhc2UgYmFzZWQgb24gaXQsIGFuZCBiZWNhdXNlIG9mIHRoZSBjb3JydXB0aW9uLCB0aGVyZSBzaG91bGQgYmUKLW5vIHVzZXJzIG9mIHRoaXMgY29kZS4gVGhpcyBwYXRjaCBzaW1wbHkgcmV2ZXJ0cyBhbGwgdGhlIHJiZCBjb2RlIGZyb20KLW11bHRpcGF0aC4KLQotQ2M6IE1pY2hhZWwgQ2hyaXN0aWUgPG1jaHJpc3RpQHJlZGhhdC5jb20+Ci1DYzogSmFzb24gRGlsbGFtYW4gPGRpbGxhbWFuQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMuYyAgICAgICAgICAgICAgfCAgMjIgLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMuaCAgICAgICAgICAgICAgfCAgIDYgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9NYWtlZmlsZSAgICAgICB8ICAgNyAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYyAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9lbWNfY2xhcmlpb24uYyB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMgICAgICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvcmJkLmMgICAgICAgICAgfCA2NTMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBsaWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jICAgICAgICAgfCAgIDUgLQotIGxpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jICB8ICAgNSAtCi0gbGlibXVsdGlwYXRoL2NoZWNrZXJzL3R1ci5jICAgICAgICAgIHwgICA1IC0KLSBsaWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMgICAgICAgICAgICAgfCAgNzAgLS0tLQotIGxpYm11bHRpcGF0aC9od3RhYmxlLmMgICAgICAgICAgICAgICB8ICAxMiAtCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICAgICAgIHwgICAzIC0KLSBtdWx0aXBhdGhkL21haW4uYyAgICAgICAgICAgICAgICAgICAgfCAgMTEgLQotIDE1IGZpbGVzIGNoYW5nZWQsIDgxOSBkZWxldGlvbnMoLSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5jCi1pbmRleCAwOGNkZmMzLi4wYmFjYzg2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy5jCi1AQCAtMTQxLDEzICsxNDEsNiBAQCBzdHJ1Y3QgY2hlY2tlciAqIGFkZF9jaGVja2VyIChjaGFyICptdWx0aXBhdGhfZGlyLCBjaGFyICogbmFtZSkKLSAJaWYgKCFjLT5mcmVlKQotIAkJZ290byBvdXQ7Ci0gCi0tCWMtPnJlcGFpciA9ICh2b2lkICgqKShzdHJ1Y3QgY2hlY2tlciAqKSkgZGxzeW0oYy0+aGFuZGxlLAotLQkJCQkJCSAgICAgICAibGliY2hlY2tfcmVwYWlyIik7Ci0tCWVycnN0ciA9IGRsZXJyb3IoKTsKLS0JaWYgKGVycnN0ciAhPSBOVUxMKQotLQkJY29uZGxvZygwLCAiQSBkeW5hbWljIGxpbmtpbmcgZXJyb3Igb2NjdXJyZWQ6ICglcykiLCBlcnJzdHIpOwotLQlpZiAoIWMtPnJlcGFpcikKLS0JCWdvdG8gb3V0OwotIGRvbmU6Ci0gCWMtPmZkID0gLTE7Ci0gCWMtPnN5bmMgPSAxOwotQEAgLTIyMiwyMCArMjE1LDYgQEAgdm9pZCBjaGVja2VyX3B1dCAoc3RydWN0IGNoZWNrZXIgKiBkc3QpCi0gCWZyZWVfY2hlY2tlcihzcmMpOwotIH0KLSAKLS12b2lkIGNoZWNrZXJfcmVwYWlyIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlpZiAoIWNoZWNrZXJfc2VsZWN0ZWQoYykpCi0tCQlyZXR1cm47Ci0tCi0tCWMtPm1lc3NhZ2VbMF0gPSAnXDAnOwotLQlpZiAoYy0+ZGlzYWJsZSkgewotLQkJTVNHKGMsICJjaGVja2VyIGRpc2FibGVkIik7Ci0tCQlyZXR1cm47Ci0tCX0KLS0JaWYgKGMtPnJlcGFpcikKLS0JCWMtPnJlcGFpcihjKTsKLS19Ci0tCi0gaW50IGNoZWNrZXJfY2hlY2sgKHN0cnVjdCBjaGVja2VyICogYywgaW50IHBhdGhfc3RhdGUpCi0gewotIAlpbnQgcjsKLUBAIC0zMTAsNyArMjg5LDYgQEAgdm9pZCBjaGVja2VyX2dldCAoY2hhciAqbXVsdGlwYXRoX2Rpciwgc3RydWN0IGNoZWNrZXIgKiBkc3QsIGNoYXIgKiBuYW1lKQotIAlkc3QtPnN5bmMgPSBzcmMtPnN5bmM7Ci0gCXN0cm5jcHkoZHN0LT5uYW1lLCBzcmMtPm5hbWUsIENIRUNLRVJfTkFNRV9MRU4pOwotIAlzdHJuY3B5KGRzdC0+bWVzc2FnZSwgc3JjLT5tZXNzYWdlLCBDSEVDS0VSX01TR19MRU4pOwotLQlkc3QtPnJlcGFpciA9IHNyYy0+cmVwYWlyOwotIAlkc3QtPmNoZWNrID0gc3JjLT5jaGVjazsKLSAJZHN0LT5pbml0ID0gc3JjLT5pbml0OwotIAlkc3QtPmZyZWUgPSBzcmMtPmZyZWU7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzLmggYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMuaAotaW5kZXggNTIxNTRjYS4uN2IxOGExYSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy5oCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMuaAotQEAgLTg2LDcgKzg2LDYgQEAgZW51bSBwYXRoX2NoZWNrX3N0YXRlIHsKLSAjZGVmaW5lIFJFQURTRUNUT1IwICAicmVhZHNlY3RvcjAiCi0gI2RlZmluZSBDQ0lTU19UVVIgICAgImNjaXNzX3R1ciIKLSAjZGVmaW5lIE5PTkUgICAgICAgICAibm9uZSIKLS0jZGVmaW5lIFJCRCAgICAgICAgICAicmJkIgotIAotICNkZWZpbmUgQVNZTkNfVElNRU9VVF9TRUMJMzAKLSAKLUBAIC0xMTMsOSArMTEyLDYgQEAgc3RydWN0IGNoZWNrZXIgewotIAkJCQkJCW11bHRpcGF0aC13aWRlLiBVc2UgTUFMTE9DIGlmCi0gCQkJCQkJeW91IHdhbnQgdG8gc3R1ZmYgZGF0YSBpbi4gKi8KLSAJaW50ICgqY2hlY2spKHN0cnVjdCBjaGVja2VyICopOwotLQl2b2lkICgqcmVwYWlyKShzdHJ1Y3QgY2hlY2tlciAqKTsgICAgLyogY2FsbGVkIGlmIGNoZWNrIHJldHVybnMKLS0JCQkJCQlQQVRIX0RPV04gdG8gYnJpbmcgcGF0aCBpbnRvCi0tCQkJCQkJdXNhYmxlIHN0YXRlICovCi0gCWludCAoKmluaXQpKHN0cnVjdCBjaGVja2VyICopOyAgICAgICAvKiB0byBhbGxvY2F0ZSB0aGUgY29udGV4dCAqLwotIAl2b2lkICgqZnJlZSkoc3RydWN0IGNoZWNrZXIgKik7ICAgICAgLyogdG8gZnJlZSB0aGUgY29udGV4dCAqLwotIH07Ci1AQCAtMTM2LDcgKzEzMiw2IEBAIHZvaWQgY2hlY2tlcl9zZXRfYXN5bmMgKHN0cnVjdCBjaGVja2VyICopOwotIHZvaWQgY2hlY2tlcl9zZXRfZmQgKHN0cnVjdCBjaGVja2VyICosIGludCk7Ci0gdm9pZCBjaGVja2VyX2VuYWJsZSAoc3RydWN0IGNoZWNrZXIgKik7Ci0gdm9pZCBjaGVja2VyX2Rpc2FibGUgKHN0cnVjdCBjaGVja2VyICopOwotLXZvaWQgY2hlY2tlcl9yZXBhaXIgKHN0cnVjdCBjaGVja2VyICopOwotIGludCBjaGVja2VyX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqLCBpbnQpOwotIGludCBjaGVja2VyX3NlbGVjdGVkIChzdHJ1Y3QgY2hlY2tlciAqKTsKLSBjaGFyICogY2hlY2tlcl9uYW1lIChzdHJ1Y3QgY2hlY2tlciAqKTsKLUBAIC0xNDgsNiArMTQzLDUgQEAgdm9pZCBjaGVja2VyX2dldCAoY2hhciAqLCBzdHJ1Y3QgY2hlY2tlciAqLCBjaGFyICopOwotIGludCBsaWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqKTsKLSBpbnQgbGliY2hlY2tfaW5pdChzdHJ1Y3QgY2hlY2tlciAqKTsKLSB2b2lkIGxpYmNoZWNrX2ZyZWUoc3RydWN0IGNoZWNrZXIgKik7Ci0tdm9pZCBsaWJjaGVja19yZXBhaXIoc3RydWN0IGNoZWNrZXIgKik7Ci0gCi0gI2VuZGlmIC8qIF9DSEVDS0VSU19IICovCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlCi1pbmRleCA4N2MxNWJkLi4wMmNhZWE2IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL01ha2VmaWxlCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvTWFrZWZpbGUKLUBAIC0xNSwxNSArMTUsOCBAQCBMSUJTPSBcCi0gCWxpYmNoZWNraHBfc3cuc28gXAotIAlsaWJjaGVja3JkYWMuc28KLSAKLS1pZm5lcSAoJChjYWxsIGNoZWNrX2ZpbGUsL3Vzci9pbmNsdWRlL3JhZG9zL2xpYnJhZG9zLmgpLDApCi0tTElCUyArPSBsaWJjaGVja3JiZC5zbwotLWVuZGlmCi0tCi0gYWxsOiAkKExJQlMpCi0gCi0tbGliY2hlY2tyYmQuc286IHJiZC5vCi0tCSQoQ0MpICQoTERGTEFHUykgJChTSEFSRURfRkxBR1MpIC1vICRAICReIC1scmFkb3MgLWx1ZGV2Ci0tCi0gbGliY2hlY2tkaXJlY3Rpby5zbzogbGlic2cubyBkaXJlY3Rpby5vCi0gCSQoQ0MpICQoTERGTEFHUykgJChTSEFSRURfRkxBR1MpIC1vICRAICReIC1sYWlvCi0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jCi1pbmRleCA0MzY0NzBjLi4xY2FiMjAxIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2NjaXNzX3R1ci5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvY2Npc3NfdHVyLmMKLUBAIC01OSwxMSArNTksNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBpbnQgbGliY2hlY2tfY2hlY2soc3RydWN0IGNoZWNrZXIgKiBjKQotIHsKLSAJaW50IHJjOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9kaXJlY3Rpby5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2RpcmVjdGlvLmMKLWluZGV4IGNlNjBlNGMuLmE4MDg0OGQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZGlyZWN0aW8uYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2RpcmVjdGlvLmMKLUBAIC0xMTgsMTEgKzExOCw2IEBAIHZvaWQgbGliY2hlY2tfZnJlZSAoc3RydWN0IGNoZWNrZXIgKiBjKQotIAlmcmVlKGN0KTsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gc3RhdGljIGludAotIGNoZWNrX3N0YXRlKGludCBmZCwgc3RydWN0IGRpcmVjdGlvX2NvbnRleHQgKmN0LCBpbnQgc3luYywgaW50IHRpbWVvdXRfc2VjcykKLSB7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jCi1pbmRleCA5YzFmZmVkLi45MTE1YjFiIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2VtY19jbGFyaWlvbi5jCi0rKysgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvZW1jX2NsYXJpaW9uLmMKLUBAIC05MCwxMSArOTAsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJZnJlZShjLT5jb250ZXh0KTsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gaW50IGxpYmNoZWNrX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gewotIAl1bnNpZ25lZCBjaGFyIHNlbnNlX2J1ZmZlclsxMjhdID0geyAwLCB9OwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9ocF9zdy5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMKLWluZGV4IGNlZTlhYWIuLjBhZDM0YTYgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvaHBfc3cuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL2hwX3N3LmMKLUBAIC00NSwxMSArNDUsNiBAQCB2b2lkIGxpYmNoZWNrX2ZyZWUgKHN0cnVjdCBjaGVja2VyICogYykKLSAJcmV0dXJuOwotIH0KLSAKLS12b2lkIGxpYmNoZWNrX3JlcGFpciAoc3RydWN0IGNoZWNrZXIgKiBjKQotLXsKLS0JcmV0dXJuOwotLX0KLS0KLSBzdGF0aWMgaW50Ci0gZG9faW5xKGludCBzZ19mZCwgaW50IGNtZGR0LCBpbnQgZXZwZCwgdW5zaWduZWQgaW50IHBnX29wLAotICAgICAgICB2b2lkICpyZXNwLCBpbnQgbXhfcmVzcF9sZW4sIGludCBub2lzeSwgdW5zaWduZWQgaW50IHRpbWVvdXQpCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JiZC5jCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDRmZjU0ZjQuLjAwMDAwMDAKLS0tLSBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yYmQuYwotKysrIC9kZXYvbnVsbAotQEAgLTEsNjUzICswLDAgQEAKLS0vKgotLSAqIENvcHlyaWdodCAoYykgMjAxNiBSZWQgSGF0Ci0tICogQ29weXJpZ2h0IChjKSAyMDA0IENocmlzdG9waGUgVmFyb3F1aQotLSAqCi0tICogQ29kZSBiYXNlZCBvZmYgb2YgdHVyLmMgYW5kIGNlcGgncyBrcmJkLmNjCi0tICovCi0tI2RlZmluZSBfR05VX1NPVVJDRQotLSNpbmNsdWRlIDxzdGRpby5oPgotLSNpbmNsdWRlIDxzdGRsaWIuaD4KLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0tI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxlcnJuby5oPgotLSNpbmNsdWRlIDxwdGhyZWFkLmg+Ci0tI2luY2x1ZGUgPGxpYnVkZXYuaD4KLS0jaW5jbHVkZSA8aWZhZGRycy5oPgotLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLS0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLS0jaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0tI2luY2x1ZGUgPHN5cy90aW1lLmg+Ci0tI2luY2x1ZGUgPHN5cy93YWl0Lmg+Ci0tI2luY2x1ZGUgPHVyY3UuaD4KLS0KLS0jaW5jbHVkZSAicmFkb3MvbGlicmFkb3MuaCIKLS0KLS0jaW5jbHVkZSAic3RydWN0cy5oIgotLSNpbmNsdWRlICJjaGVja2Vycy5oIgotLQotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvZGVidWcuaCIKLS0jaW5jbHVkZSAiLi4vbGlibXVsdGlwYXRoL3V0aWwuaCIKLS0jaW5jbHVkZSAiLi4vbGlibXVsdGlwYXRoL3RpbWUtdXRpbC5oIgotLSNpbmNsdWRlICIuLi9saWJtdWx0aXBhdGgvdXRpbC5oIgotLQotLXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0OwotLXR5cGVkZWYgaW50ICh0aHJlYWRfZm4pKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCwgY2hhciAqbXNnKTsKLS0KLS0jZGVmaW5lIFJCRF9NU0cobXNnLCBmbXQsIGFyZ3MuLi4pIHNucHJpbnRmKG1zZywgQ0hFQ0tFUl9NU0dfTEVOLCBmbXQsICMjYXJncyk7Ci0tCi0tI2RlZmluZSBSQkRfRkVBVFVSRV9FWENMVVNJVkVfTE9DSwkoMSA8PCAyKQotLQotLXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0IHsKLS0JaW50IHJiZF9idXNfaWQ7Ci0tCWNoYXIgKmNsaWVudF9hZGRyOwotLQljaGFyICpjb25maWdfaW5mbzsKLS0JY2hhciAqc25hcDsKLS0JY2hhciAqcG9vbDsKLS0JY2hhciAqaW1hZ2U7Ci0tCWNoYXIgKnVzZXJuYW1lOwotLQlpbnQgcmVtYXBwZWQ7Ci0tCWludCBibGFja2xpc3RlZDsKLS0JdW5zaWduZWQgbG9ja19vbl9yZWFkOjE7Ci0tCi0tCXJhZG9zX3QgY2x1c3RlcjsKLS0KLS0JaW50IHN0YXRlOwotLQlpbnQgcnVubmluZzsKLS0JdGltZV90IHRpbWU7Ci0tCXRocmVhZF9mbiAqZm47Ci0tCXB0aHJlYWRfdCB0aHJlYWQ7Ci0tCXB0aHJlYWRfbXV0ZXhfdCBsb2NrOwotLQlwdGhyZWFkX2NvbmRfdCBhY3RpdmU7Ci0tCXB0aHJlYWRfc3BpbmxvY2tfdCBobGRyX2xvY2s7Ci0tCWludCBob2xkZXJzOwotLQljaGFyIG1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOXTsKLS19OwotLQotLWludCBsaWJjaGVja19pbml0KHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdDsKLS0Jc3RydWN0IHVkZXZfZGV2aWNlICpibG9ja19kZXY7Ci0tCXN0cnVjdCB1ZGV2X2RldmljZSAqYnVzX2RldjsKLS0Jc3RydWN0IHVkZXYgKnVkZXY7Ci0tCXN0cnVjdCBzdGF0IHNiOwotLQljb25zdCBjaGFyICpibG9ja19uYW1lLCAqYWRkciwgKmNvbmZpZ19pbmZvLCAqZmVhdHVyZXNfc3RyOwotLQljb25zdCBjaGFyICppbWFnZSwgKnBvb2wsICpzbmFwLCAqdXNlcm5hbWU7Ci0tCXVpbnQ2NF90IGZlYXR1cmVzID0gMDsKLS0JY2hhciBzeXNmc19wYXRoW1BBVEhfU0laRV07Ci0tCWludCByZXQ7Ci0tCi0tCWN0ID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCkpOwotLQlpZiAoIWN0KQotLQkJcmV0dXJuIDE7Ci0tCW1lbXNldChjdCwgMCwgc2l6ZW9mKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0KSk7Ci0tCWN0LT5ob2xkZXJzID0gMTsKLS0JcHRocmVhZF9jb25kX2luaXRfbW9ubygmY3QtPmFjdGl2ZSk7Ci0tCXB0aHJlYWRfbXV0ZXhfaW5pdCgmY3QtPmxvY2ssIE5VTEwpOwotLQlwdGhyZWFkX3NwaW5faW5pdCgmY3QtPmhsZHJfbG9jaywgUFRIUkVBRF9QUk9DRVNTX1BSSVZBVEUpOwotLQljLT5jb250ZXh0ID0gY3Q7Ci0tCi0tCS8qCi0tCSAqIFRoZSByYmQgYmxvY2sgbGF5ZXIgc3lzZnMgZGV2aWNlIGlzIG5vdCBsaW5rZWQgdG8gdGhlIHJiZCBidXMKLS0JICogZGV2aWNlIHRoYXQgd2UgaW50ZXJhY3Qgd2l0aCwgc28gZmlndXJlIHRoYXQgb3V0IG5vdy4KLS0JICovCi0tCWlmIChmc3RhdChjLT5mZCwgJnNiKSAhPSAwKQotLQkJZ290byBmcmVlX2N0OwotLQotLQl1ZGV2ID0gdWRldl9uZXcoKTsKLS0JaWYgKCF1ZGV2KQotLQkJZ290byBmcmVlX2N0OwotLQotLQlibG9ja19kZXYgPSB1ZGV2X2RldmljZV9uZXdfZnJvbV9kZXZudW0odWRldiwgJ2InLCBzYi5zdF9yZGV2KTsKLS0JaWYgKCFibG9ja19kZXYpCi0tCQlnb3RvIGZyZWVfdWRldjsKLS0KLS0JYmxvY2tfbmFtZSAgPSB1ZGV2X2RldmljZV9nZXRfc3lzbmFtZShibG9ja19kZXYpOwotLQlyZXQgPSBzc2NhbmYoYmxvY2tfbmFtZSwgInJiZCVkIiwgJmN0LT5yYmRfYnVzX2lkKTsKLS0KLS0JdWRldl9kZXZpY2VfdW5yZWYoYmxvY2tfZGV2KTsKLS0JaWYgKHJldCAhPSAxKQotLQkJZ290byBmcmVlX3VkZXY7Ci0tCi0tCXNucHJpbnRmKHN5c2ZzX3BhdGgsIHNpemVvZihzeXNmc19wYXRoKSwgIi9zeXMvYnVzL3JiZC9kZXZpY2VzLyVkIiwKLS0JCSBjdC0+cmJkX2J1c19pZCk7Ci0tCWJ1c19kZXYgPSB1ZGV2X2RldmljZV9uZXdfZnJvbV9zeXNwYXRoKHVkZXYsIHN5c2ZzX3BhdGgpOwotLQlpZiAoIWJ1c19kZXYpCi0tCQlnb3RvIGZyZWVfdWRldjsKLS0KLS0JYWRkciA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJjbGllbnRfYWRkciIpOwotLQlpZiAoIWFkZHIpIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgZmluZCBjbGllbnRfYWRkciBpbiByYmQgc3lzZnMuICIKLS0JCQkiVHJ5IHVwZGF0aW5nIGtlcm5lbCIsIGN0LT5yYmRfYnVzX2lkKTsKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCX0KLS0KLS0JY3QtPmNsaWVudF9hZGRyID0gc3RyZHVwKGFkZHIpOwotLQlpZiAoIWN0LT5jbGllbnRfYWRkcikKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCi0tCWZlYXR1cmVzX3N0ciA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJmZWF0dXJlcyIpOwotLQlpZiAoIWZlYXR1cmVzX3N0cikKLS0JCWdvdG8gZnJlZV9hZGRyOwotLQlmZWF0dXJlcyA9IHN0cnRvbGwoZmVhdHVyZXNfc3RyLCBOVUxMLCAxNik7Ci0tCWlmICghKGZlYXR1cmVzICYgUkJEX0ZFQVRVUkVfRVhDTFVTSVZFX0xPQ0spKSB7Ci0tCQljb25kbG9nKDMsICJyYmQlZDogRXhjbHVzaXZlIGxvY2sgbm90IHNldC4iLCBjdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIGZyZWVfYWRkcjsKLS0JfQotLQotLQljb25maWdfaW5mbyA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKGJ1c19kZXYsICJjb25maWdfaW5mbyIpOwotLQlpZiAoIWNvbmZpZ19pbmZvKQotLQkJZ290byBmcmVlX2FkZHI7Ci0tCi0tCWlmICghc3Ryc3RyKGNvbmZpZ19pbmZvLCAibm9zaGFyZSIpKSB7Ci0tCQljb25kbG9nKDMsICJyYmQlZDogT25seSBub25zaGFyZWQgY2xpZW50cyBzdXBwb3J0ZWQuIiwKLS0JCQljdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIGZyZWVfYWRkcjsKLS0JfQotLQotLQlpZiAoc3Ryc3RyKGNvbmZpZ19pbmZvLCAibG9ja19vbl9yZWFkIikpCi0tCQljdC0+bG9ja19vbl9yZWFkID0gMTsKLS0KLS0JY3QtPmNvbmZpZ19pbmZvID0gc3RyZHVwKGNvbmZpZ19pbmZvKTsKLS0JaWYgKCFjdC0+Y29uZmlnX2luZm8pCi0tCQlnb3RvIGZyZWVfYWRkcjsKLS0KLS0JdXNlcm5hbWUgPSBzdHJzdHIoY29uZmlnX2luZm8sICJuYW1lPSIpOwotLQlpZiAodXNlcm5hbWUpIHsKLS0JCWNoYXIgKmVuZDsKLS0JCWludCBsZW47Ci0tCi0tCQl1c2VybmFtZSArPSA1OwotLQkJZW5kID0gc3RyY2hyKHVzZXJuYW1lLCAnLCcpOwotLQkJaWYgKCFlbmQpCi0tCQkJZ290byBmcmVlX2luZm87Ci0tCQlsZW4gPSBlbmQgLSB1c2VybmFtZTsKLS0KLS0JCWN0LT51c2VybmFtZSA9IG1hbGxvYyhsZW4gKyAxKTsKLS0JCWlmICghY3QtPnVzZXJuYW1lKQotLQkJCWdvdG8gZnJlZV9pbmZvOwotLQkJc3RybmNweShjdC0+dXNlcm5hbWUsIHVzZXJuYW1lLCBsZW4pOwotLQkJY3QtPnVzZXJuYW1lW2xlbl0gPSAnXDAnOwotLQl9Ci0tCi0tCWltYWdlID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgIm5hbWUiKTsKLS0JaWYgKCFpbWFnZSkKLS0JCWdvdG8gZnJlZV91c2VybmFtZTsKLS0KLS0JY3QtPmltYWdlID0gc3RyZHVwKGltYWdlKTsKLS0JaWYgKCFjdC0+aW1hZ2UpCi0tCQlnb3RvIGZyZWVfdXNlcm5hbWU7Ci0tCi0tCXBvb2wgPSB1ZGV2X2RldmljZV9nZXRfc3lzYXR0cl92YWx1ZShidXNfZGV2LCAicG9vbCIpOwotLQlpZiAoIXBvb2wpCi0tCQlnb3RvIGZyZWVfaW1hZ2U7Ci0tCi0tCWN0LT5wb29sID0gc3RyZHVwKHBvb2wpOwotLQlpZiAoIWN0LT5wb29sKQotLQkJZ290byBmcmVlX2ltYWdlOwotLQotLQlzbmFwID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUoYnVzX2RldiwgImN1cnJlbnRfc25hcCIpOwotLQlpZiAoIXNuYXApCi0tCQlnb3RvIGZyZWVfcG9vbDsKLS0KLS0JaWYgKHN0cmNtcCgiLSIsIHNuYXApKSB7Ci0tCQljdC0+c25hcCA9IHN0cmR1cChzbmFwKTsKLS0JCWlmICghY3QtPnNuYXApCi0tCQkJZ290byBmcmVlX3Bvb2w7Ci0tCX0KLS0KLS0JaWYgKHJhZG9zX2NyZWF0ZSgmY3QtPmNsdXN0ZXIsIE5VTEwpIDwgMCkgewotLQkJY29uZGxvZygwLCAicmJkJWQ6IENvdWxkIG5vdCBjcmVhdGUgcmFkb3MgY2x1c3RlciIsCi0tCQkJY3QtPnJiZF9idXNfaWQpOwotLQkJZ290byBmcmVlX3NuYXA7Ci0tCX0KLS0KLS0JaWYgKHJhZG9zX2NvbmZfcmVhZF9maWxlKGN0LT5jbHVzdGVyLCBOVUxMKSA8IDApIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgcmVhZCByYWRvcyBjb25mIiwgY3QtPnJiZF9idXNfaWQpOwotLQkJZ290byBzaHV0ZG93bl9yYWRvczsKLS0JfQotLQotLQlyZXQgPSByYWRvc19jb25uZWN0KGN0LT5jbHVzdGVyKTsKLS0JaWYgKHJldCA8IDApIHsKLS0JCWNvbmRsb2coMCwgInJiZCVkOiBDb3VsZCBub3QgY29ubmVjdCB0byByYWRvcyBjbHVzdGVyIiwKLS0JCQljdC0+cmJkX2J1c19pZCk7Ci0tCQlnb3RvIHNodXRkb3duX3JhZG9zOwotLQl9Ci0tCi0tCXVkZXZfZGV2aWNlX3VucmVmKGJ1c19kZXYpOwotLQl1ZGV2X3VucmVmKHVkZXYpOwotLQotLQljb25kbG9nKDMsICJyYmQlZCBjaGVja2VyIGluaXQgJXMgJXMvJXNAJXMgJXMiLCBjdC0+cmJkX2J1c19pZCwKLS0JCWN0LT5jbGllbnRfYWRkciwgY3QtPnBvb2wsIGN0LT5pbWFnZSwgY3QtPnNuYXAgPyBjdC0+c25hcCA6ICItIiwKLS0JCWN0LT51c2VybmFtZSA/IGN0LT51c2VybmFtZSA6ICJub25lIik7Ci0tCXJldHVybiAwOwotLQotLXNodXRkb3duX3JhZG9zOgotLQlyYWRvc19zaHV0ZG93bihjdC0+Y2x1c3Rlcik7Ci0tZnJlZV9zbmFwOgotLQlpZiAoY3QtPnNuYXApCi0tCQlmcmVlKGN0LT5zbmFwKTsKLS1mcmVlX3Bvb2w6Ci0tCWZyZWUoY3QtPnBvb2wpOwotLWZyZWVfaW1hZ2U6Ci0tCWZyZWUoY3QtPmltYWdlKTsKLS1mcmVlX3VzZXJuYW1lOgotLQlpZiAoY3QtPnVzZXJuYW1lKQotLQkJZnJlZShjdC0+dXNlcm5hbWUpOwotLWZyZWVfaW5mbzoKLS0JZnJlZShjdC0+Y29uZmlnX2luZm8pOwotLWZyZWVfYWRkcjoKLS0JZnJlZShjdC0+Y2xpZW50X2FkZHIpOwotLWZyZWVfZGV2OgotLQl1ZGV2X2RldmljZV91bnJlZihidXNfZGV2KTsKLS1mcmVlX3VkZXY6Ci0tCXVkZXZfdW5yZWYodWRldik7Ci0tZnJlZV9jdDoKLS0JZnJlZShjdCk7Ci0tCXJldHVybiAxOwotLX0KLS0KLS1zdGF0aWMgdm9pZCBjbGVhbnVwX2NvbnRleHQoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0KQotLXsKLS0JcHRocmVhZF9tdXRleF9kZXN0cm95KCZjdC0+bG9jayk7Ci0tCXB0aHJlYWRfY29uZF9kZXN0cm95KCZjdC0+YWN0aXZlKTsKLS0JcHRocmVhZF9zcGluX2Rlc3Ryb3koJmN0LT5obGRyX2xvY2spOwotLQotLQlyYWRvc19zaHV0ZG93bihjdC0+Y2x1c3Rlcik7Ci0tCi0tCWlmIChjdC0+dXNlcm5hbWUpCi0tCQlmcmVlKGN0LT51c2VybmFtZSk7Ci0tCWlmIChjdC0+c25hcCkKLS0JCWZyZWUoY3QtPnNuYXApOwotLQlmcmVlKGN0LT5wb29sKTsKLS0JZnJlZShjdC0+aW1hZ2UpOwotLQlmcmVlKGN0LT5jb25maWdfaW5mbyk7Ci0tCWZyZWUoY3QtPmNsaWVudF9hZGRyKTsKLS0JZnJlZShjdCk7Ci0tfQotLQotLXZvaWQgbGliY2hlY2tfZnJlZShzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlpZiAoYy0+Y29udGV4dCkgewotLQkJc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gYy0+Y29udGV4dDsKLS0JCWludCBob2xkZXJzOwotLQkJcHRocmVhZF90IHRocmVhZDsKLS0KLS0JCXB0aHJlYWRfc3Bpbl9sb2NrKCZjdC0+aGxkcl9sb2NrKTsKLS0JCWN0LT5ob2xkZXJzLS07Ci0tCQlob2xkZXJzID0gY3QtPmhvbGRlcnM7Ci0tCQl0aHJlYWQgPSBjdC0+dGhyZWFkOwotLQkJcHRocmVhZF9zcGluX3VubG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCQlpZiAoaG9sZGVycykKLS0JCQlwdGhyZWFkX2NhbmNlbCh0aHJlYWQpOwotLQkJZWxzZQotLQkJCWNsZWFudXBfY29udGV4dChjdCk7Ci0tCQljLT5jb250ZXh0ID0gTlVMTDsKLS0JfQotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9pc19ibGFja2xpc3RlZChzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWNoYXIgKmFkZHJfdG9rLCAqc3RhcnQsICpzYXZlOwotLQljb25zdCBjaGFyICpjbWRbMl07Ci0tCWNoYXIgKmJsa2xpc3QsICpzdGF0OwotLQlzaXplX3QgYmxrbGlzdF9sZW4sIHN0YXRfbGVuOwotLQlpbnQgcmV0OwotLQljaGFyICplbmQ7Ci0tCi0tCWNtZFswXSA9ICJ7XCJwcmVmaXhcIjogXCJvc2QgYmxhY2tsaXN0IGxzXCJ9IjsKLS0JY21kWzFdID0gTlVMTDsKLS0KLS0JcmV0ID0gcmFkb3NfbW9uX2NvbW1hbmQoY3QtPmNsdXN0ZXIsIChjb25zdCBjaGFyICoqKWNtZCwgMSwgIiIsIDAsCi0tCQkJCSZibGtsaXN0LCAmYmxrbGlzdF9sZW4sICZzdGF0LCAmc3RhdF9sZW4pOwotLQlpZiAocmV0IDwgMCkgewotLQkJUkJEX01TRyhtc2csICJjaGVja2VyIGZhaWxlZDogbW9uIGNvbW1hbmQgZmFpbGVkICVkIiwgcmV0KTsKLS0JCXJldHVybiByZXQ7Ci0tCX0KLS0KLS0JaWYgKCFibGtsaXN0IHx8ICFibGtsaXN0X2xlbikKLS0JCWdvdG8gZnJlZV9idWZzOwotLQotLQkvKgotLQkgKiBwYXJzZSBsaXN0IG9mIGFkZHJzIHdpdGggdGhlIGZvcm1hdAotLQkgKiBpcHY0OnBvcnQvbm9uY2UgZGF0ZSB0aW1lXG4KLS0JICogb3IKLS0JICogW2lwdjZdOnBvcnQvbm9uY2UgZGF0ZSB0aW1lXG4KLS0JICovCi0tCXJldCA9IDA7Ci0tCWZvciAoc3RhcnQgPSBibGtsaXN0OyA7IHN0YXJ0ID0gTlVMTCkgewotLQkJYWRkcl90b2sgPSBzdHJ0b2tfcihzdGFydCwgIlxuIiwgJnNhdmUpOwotLQkJaWYgKCFhZGRyX3RvayB8fCAhc3RybGVuKGFkZHJfdG9rKSkKLS0JCQlicmVhazsKLS0KLS0JCWVuZCA9IHN0cmNocihhZGRyX3RvaywgJyAnKTsKLS0JCWlmICghZW5kKSB7Ci0tCQkJUkJEX01TRyhtc2csICJjaGVja2VyIGZhaWxlZDogaW52YWxpZCBibGFja2xpc3QgJXMiLAotLQkJCQkgYWRkcl90b2spOwotLQkJCWJyZWFrOwotLQkJfQotLQkJKmVuZCA9ICdcMCc7Ci0tCi0tCQlpZiAoIXN0cmNtcChhZGRyX3RvaywgY3QtPmNsaWVudF9hZGRyKSkgewotLQkJCWN0LT5ibGFja2xpc3RlZCA9IDE7Ci0tCQkJUkJEX01TRyhtc2csICIlcyBpcyBibGFja2xpc3RlZCIsIGN0LT5jbGllbnRfYWRkcik7Ci0tCQkJcmV0ID0gMTsKLS0JCQlicmVhazsKLS0JCX0KLS0JfQotLQotLWZyZWVfYnVmczoKLS0JcmFkb3NfYnVmZmVyX2ZyZWUoYmxrbGlzdCk7Ci0tCXJhZG9zX2J1ZmZlcl9mcmVlKHN0YXQpOwotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9jaGVjayhzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWlmIChjdC0+YmxhY2tsaXN0ZWQgfHwgcmJkX2lzX2JsYWNrbGlzdGVkKGN0LCBtc2cpID09IDEpCi0tCQlyZXR1cm4gUEFUSF9ET1dOOwotLQotLQlSQkRfTVNHKG1zZywgImNoZWNrZXIgcmVwb3J0cyBwYXRoIGlzIHVwIik7Ci0tCS8qCi0tCSAqIFBhdGggbWF5IGhhdmUgaXNzdWVzLCBidXQgdGhlIGNlcGggY2x1c3RlciBpcyBhdCBsZWFzdAotLQkgKiBhY2NlcHRpbmcgSU8sIHNvIHdlIGNhbiBhdHRlbXB0IHRvIGRvIElPLgotLQkgKgotLQkgKiBUT0RPOiBpbiBmdXR1cmUgdmVyc2lvbnMsIHdlIGNhbiBydW4gb3RoZXIgdGVzdHMgdG8KLS0JICogdmVyaWZ5IE9TRHMgYW5kIG5ldHdvcmtzLgotLQkgKi8KLS0JcmV0dXJuIFBBVEhfVVA7Ci0tfQotLQotLXN0YXRpYyBpbnQgc3lzZnNfd3JpdGVfcmJkX2J1cyhjb25zdCBjaGFyICp3aGljaCwgY29uc3QgY2hhciAqYnVmLAotLQkJCSAgICAgICBzaXplX3QgYnVmX2xlbikKLS17Ci0tCWNoYXIgc3lzZnNfcGF0aFtQQVRIX1NJWkVdOwotLQlpbnQgZmQ7Ci0tCWludCByOwotLQotLQkvKiB3ZSByZXF1aXJlIG5ld2VyIGtlcm5lbHMgc28gc2luZ2xlX21ham9yIHNob3VsZCBhbHdheXMgYmUgdGhlcmUgKi8KLS0Jc25wcmludGYoc3lzZnNfcGF0aCwgc2l6ZW9mKHN5c2ZzX3BhdGgpLAotLQkJICIvc3lzL2J1cy9yYmQvJXNfc2luZ2xlX21ham9yIiwgd2hpY2gpOwotLQlmZCA9IG9wZW4oc3lzZnNfcGF0aCwgT19XUk9OTFkpOwotLQlpZiAoZmQgPCAwKQotLQkJcmV0dXJuIC1lcnJubzsKLS0KLS0JciA9IHNhZmVfd3JpdGUoZmQsIGJ1ZiwgYnVmX2xlbik7Ci0tCWNsb3NlKGZkKTsKLS0JcmV0dXJuIHI7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX3JlbWFwKHN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCkKLS17Ci0tCWNoYXIgKmFyZ3ZbMTFdOwotLQlwaWRfdCBwaWQ7Ci0tCWludCByZXQgPSAwLCBpID0gMDsKLS0JaW50IHN0YXR1czsKLS0KLS0JcGlkID0gZm9yaygpOwotLQlzd2l0Y2ggKHBpZCkgewotLQljYXNlIDA6Ci0tCQlhcmd2W2krK10gPSAicmJkIjsKLS0JCWFyZ3ZbaSsrXSA9ICJtYXAiOwotLQkJaWYgKGN0LT5sb2NrX29uX3JlYWQpCi0tCQkJYXJndltpKytdID0gIi1vIG5vc2hhcmUsbG9ja19vbl9yZWFkIjsKLS0JCWVsc2UKLS0JCQlhcmd2W2krK10gPSAiLW8gbm9zaGFyZSI7Ci0tCQlpZiAoY3QtPnVzZXJuYW1lKSB7Ci0tCQkJYXJndltpKytdID0gIi0taWQiOwotLQkJCWFyZ3ZbaSsrXSA9IGN0LT51c2VybmFtZTsKLS0JCX0KLS0JCWFyZ3ZbaSsrXSA9ICItLXBvb2wiOwotLQkJYXJndltpKytdID0gY3QtPnBvb2w7Ci0tCQlpZiAoY3QtPnNuYXApIHsKLS0JCQlhcmd2W2krK10gPSAiLS1zbmFwIjsKLS0JCQlhcmd2W2krK10gPSBjdC0+c25hcDsKLS0JCX0KLS0JCWFyZ3ZbaSsrXSA9IGN0LT5pbWFnZTsKLS0JCWFyZ3ZbaV0gPSBOVUxMOwotLQotLQkJcmV0ID0gZXhlY3ZwKGFyZ3ZbMF0sIGFyZ3YpOwotLQkJY29uZGxvZygwLCAicmJkJWQ6IEVycm9yIGV4ZWN1dGluZyByYmQ6ICVzIiwgY3QtPnJiZF9idXNfaWQsCi0tCQkJc3RyZXJyb3IoZXJybm8pKTsKLS0JCWV4aXQoLTEpOwotLQljYXNlIC0xOgotLQkJY29uZGxvZygwLCAicmJkJWQ6IGZvcmsgZmFpbGVkOiAlcyIsIGN0LT5yYmRfYnVzX2lkLAotLQkJCXN0cmVycm9yKGVycm5vKSk7Ci0tCQlyZXR1cm4gLTE7Ci0tCWRlZmF1bHQ6Ci0tCQlyZXQgPSAtMTsKLS0JCXdhaXQoJnN0YXR1cyk7Ci0tCQlpZiAoV0lGRVhJVEVEKHN0YXR1cykpIHsKLS0JCQlzdGF0dXMgPSBXRVhJVFNUQVRVUyhzdGF0dXMpOwotLQkJCWlmIChzdGF0dXMgPT0gMCkKLS0JCQkJcmV0ID0gMDsKLS0JCQllbHNlCi0tCQkJCWNvbmRsb2coMCwgInJiZCVkOiBmYWlsZWQgd2l0aCAlZCIsCi0tCQkJCQljdC0+cmJkX2J1c19pZCwgc3RhdHVzKTsKLS0JCX0KLS0JfQotLQotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50IHN5c2ZzX3dyaXRlX3JiZF9yZW1vdmUoY29uc3QgY2hhciAqYnVmLCBpbnQgYnVmX2xlbikKLS17Ci0tCXJldHVybiBzeXNmc193cml0ZV9yYmRfYnVzKCJyZW1vdmUiLCBidWYsIGJ1Zl9sZW4pOwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9ybV9ibGFja2xpc3Qoc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0KQotLXsKLS0JY29uc3QgY2hhciAqY21kWzJdOwotLQljaGFyICpzdGF0LCAqY21kX3N0cjsKLS0Jc2l6ZV90IHN0YXRfbGVuOwotLQlpbnQgcmV0OwotLQotLQlyZXQgPSBhc3ByaW50ZigmY21kX3N0ciwgIntcInByZWZpeFwiOiBcIm9zZCBibGFja2xpc3RcIiwgXCJibGFja2xpc3RvcFwiOiBcInJtXCIsIFwiYWRkclwiOiBcIiVzXCJ9IiwKLS0JCSAgICAgICBjdC0+Y2xpZW50X2FkZHIpOwotLQlpZiAocmV0ID09IC0xKQotLQkJcmV0dXJuIC1FTk9NRU07Ci0tCi0tCWNtZFswXSA9IGNtZF9zdHI7Ci0tCWNtZFsxXSA9IE5VTEw7Ci0tCi0tCXJldCA9IHJhZG9zX21vbl9jb21tYW5kKGN0LT5jbHVzdGVyLCAoY29uc3QgY2hhciAqKiljbWQsIDEsICIiLCAwLAotLQkJCQlOVUxMLCBOVUxMLCAmc3RhdCwgJnN0YXRfbGVuKTsKLS0JaWYgKHJldCA8IDApIHsKLS0JCWNvbmRsb2coMSwgInJiZCVkOiByZXBhaXIgZmFpbGVkIHRvIHJlbW92ZSBibGFja2xpc3QgZm9yICVzICVkIiwKLS0JCQljdC0+cmJkX2J1c19pZCwgY3QtPmNsaWVudF9hZGRyLCByZXQpOwotLQkJZ290byBmcmVlX2NtZDsKLS0JfQotLQotLQljb25kbG9nKDEsICJyYmQlZDogcmVwYWlyIHJtIGJsYWNrbGlzdCBmb3IgJXMiLAotLQkgICAgICAgY3QtPnJiZF9idXNfaWQsIGN0LT5jbGllbnRfYWRkcik7Ci0tCWZyZWUoc3RhdCk7Ci0tZnJlZV9jbWQ6Ci0tCWZyZWUoY21kX3N0cik7Ci0tCXJldHVybiByZXQ7Ci0tfQotLQotLXN0YXRpYyBpbnQgcmJkX3JlcGFpcihzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QsIGNoYXIgKm1zZykKLS17Ci0tCWNoYXIgZGVsWzE3XTsKLS0JaW50IHJldDsKLS0KLS0JaWYgKCFjdC0+YmxhY2tsaXN0ZWQpCi0tCQlyZXR1cm4gUEFUSF9VUDsKLS0KLS0JaWYgKCFjdC0+cmVtYXBwZWQpIHsKLS0JCXJldCA9IHJiZF9yZW1hcChjdCk7Ci0tCQlpZiAocmV0KSB7Ci0tCQkJUkJEX01TRyhtc2csICJyZXBhaXIgZmFpbGVkIHRvIHJlbWFwLiBFcnIgJWQiLCByZXQpOwotLQkJCXJldHVybiBQQVRIX0RPV047Ci0tCQl9Ci0tCX0KLS0JY3QtPnJlbWFwcGVkID0gMTsKLS0KLS0Jc25wcmludGYoZGVsLCBzaXplb2YoZGVsKSwgIiVkIGZvcmNlIiwgY3QtPnJiZF9idXNfaWQpOwotLQlyZXQgPSBzeXNmc193cml0ZV9yYmRfcmVtb3ZlKGRlbCwgc3RybGVuKGRlbCkgKyAxKTsKLS0JaWYgKHJldCkgewotLQkJUkJEX01TRyhtc2csICJyZXBhaXIgZmFpbGVkIHRvIGNsZWFuIHVwLiBFcnIgJWQiLCByZXQpOwotLQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0JfQotLQotLQlyZXQgPSByYmRfcm1fYmxhY2tsaXN0KGN0KTsKLS0JaWYgKHJldCkgewotLQkJUkJEX01TRyhtc2csICJyZXBhaXIgY291bGQgbm90IHJlbW92ZSBibGFja2xpc3QgZW50cnkuIEVyciAlZCIsCi0tCQkJcmV0KTsKLS0JCXJldHVybiBQQVRIX0RPV047Ci0tCX0KLS0KLS0JY3QtPnJlbWFwcGVkID0gMDsKLS0JY3QtPmJsYWNrbGlzdGVkID0gMDsKLS0KLS0JUkJEX01TRyhtc2csICJoYXMgYmVlbiByZXBhaXJlZCIpOwotLQlyZXR1cm4gUEFUSF9VUDsKLS19Ci0tCi0tI2RlZmluZSByYmRfdGhyZWFkX2NsZWFudXBfcHVzaChjdCkgcHRocmVhZF9jbGVhbnVwX3B1c2goY2xlYW51cF9mdW5jLCBjdCkKLS0jZGVmaW5lIHJiZF90aHJlYWRfY2xlYW51cF9wb3AoY3QpIHB0aHJlYWRfY2xlYW51cF9wb3AoMSkKLS0KLS1zdGF0aWMgdm9pZCBjbGVhbnVwX2Z1bmModm9pZCAqZGF0YSkKLS17Ci0tCWludCBob2xkZXJzOwotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBkYXRhOwotLQlwdGhyZWFkX3NwaW5fbG9jaygmY3QtPmhsZHJfbG9jayk7Ci0tCWN0LT5ob2xkZXJzLS07Ci0tCWhvbGRlcnMgPSBjdC0+aG9sZGVyczsKLS0JY3QtPnRocmVhZCA9IDA7Ci0tCXB0aHJlYWRfc3Bpbl91bmxvY2soJmN0LT5obGRyX2xvY2spOwotLQlpZiAoIWhvbGRlcnMpCi0tCQljbGVhbnVwX2NvbnRleHQoY3QpOwotLQlyY3VfdW5yZWdpc3Rlcl90aHJlYWQoKTsKLS19Ci0tCi0tc3RhdGljIHZvaWQgKnJiZF90aHJlYWQodm9pZCAqY3R4KQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gY3R4OwotLQlpbnQgc3RhdGU7Ci0tCi0tCS8qIFRoaXMgdGhyZWFkIGNhbiBiZSBjYW5jZWxlZCwgc28gc2V0dXAgY2xlYW4gdXAgKi8KLS0JcmJkX3RocmVhZF9jbGVhbnVwX3B1c2goY3QpCi0tCXJjdV9yZWdpc3Rlcl90aHJlYWQoKTsKLS0JY29uZGxvZygzLCAicmJkJWQ6IHRocmVhZCBzdGFydGluZyB1cCIsIGN0LT5yYmRfYnVzX2lkKTsKLS0KLS0JY3QtPm1lc3NhZ2VbMF0gPSAnXDAnOwotLQotLQkvKiBjaGVja2VyIHN0YXJ0IHVwICovCi0tCXB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwotLQljdC0+c3RhdGUgPSBQQVRIX1BFTkRJTkc7Ci0tCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCi0tCXN0YXRlID0gY3QtPmZuKGN0LCBjdC0+bWVzc2FnZSk7Ci0tCi0tCS8qIGNoZWNrZXIgZG9uZSAqLwotLQlwdGhyZWFkX211dGV4X2xvY2soJmN0LT5sb2NrKTsKLS0JY3QtPnN0YXRlID0gc3RhdGU7Ci0tCXB0aHJlYWRfY29uZF9zaWduYWwoJmN0LT5hY3RpdmUpOwotLQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwotLQotLQljb25kbG9nKDMsICJyYmQlZDogdGhlYWQgZmluaXNoZWQsIHN0YXRlICVzIiwgY3QtPnJiZF9idXNfaWQsCi0tCQljaGVja2VyX3N0YXRlX25hbWUoc3RhdGUpKTsKLS0JcmJkX3RocmVhZF9jbGVhbnVwX3BvcChjdCk7Ci0tCXJldHVybiAoKHZvaWQgKikwKTsKLS19Ci0tCi0tc3RhdGljIHZvaWQgcmJkX3RpbWVvdXQoc3RydWN0IHRpbWVzcGVjICp0c3ApCi0tewotLQljbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgdHNwKTsKLS0JdHNwLT50dl9uc2VjICs9IDEwMDAgKiAxMDAwOyAvKiAxIG1pbGxpc2Vjb25kICovCi0tCW5vcm1hbGl6ZV90aW1lc3BlYyh0c3ApOwotLX0KLS0KLS1zdGF0aWMgaW50IHJiZF9leGVjX2ZuKHN0cnVjdCBjaGVja2VyICpjLCB0aHJlYWRfZm4gKmZuKQotLXsKLS0Jc3RydWN0IHJiZF9jaGVja2VyX2NvbnRleHQgKmN0ID0gYy0+Y29udGV4dDsKLS0Jc3RydWN0IHRpbWVzcGVjIHRzcDsKLS0JcHRocmVhZF9hdHRyX3QgYXR0cjsKLS0JaW50IHJiZF9zdGF0dXMsIHI7Ci0tCi0tCWlmIChjLT5zeW5jKQotLQkJcmV0dXJuIGZuKGN0LCBjLT5tZXNzYWdlKTsKLS0JLyoKLS0JICogQXN5bmMgbW9kZQotLQkgKi8KLS0JciA9IHB0aHJlYWRfbXV0ZXhfbG9jaygmY3QtPmxvY2spOwotLQlpZiAociAhPSAwKSB7Ci0tCQljb25kbG9nKDIsICJyYmQlZDogbXV0ZXggbG9jayBmYWlsZWQgd2l0aCAlZCIsIGN0LT5yYmRfYnVzX2lkLAotLQkJCXIpOwotLQkJTVNHKGMsICJyYmQlZDogdGhyZWFkIGZhaWxlZCB0byBpbml0aWFsaXplIiwgY3QtPnJiZF9idXNfaWQpOwotLQkJcmV0dXJuIFBBVEhfV0lMRDsKLS0JfQotLQotLQlpZiAoY3QtPnJ1bm5pbmcpIHsKLS0JCS8qIENoZWNrIGlmIGNoZWNrZXIgaXMgc3RpbGwgcnVubmluZyAqLwotLQkJaWYgKGN0LT50aHJlYWQpIHsKLS0JCQljb25kbG9nKDMsICJyYmQlZDogdGhyZWFkIG5vdCBmaW5pc2hlZCIsCi0tCQkJCWN0LT5yYmRfYnVzX2lkKTsKLS0JCQlyYmRfc3RhdHVzID0gUEFUSF9QRU5ESU5HOwotLQkJfSBlbHNlIHsKLS0JCQkvKiBjaGVja2VyIGRvbmUgKi8KLS0JCQljdC0+cnVubmluZyA9IDA7Ci0tCQkJcmJkX3N0YXR1cyA9IGN0LT5zdGF0ZTsKLS0JCQlzdHJuY3B5KGMtPm1lc3NhZ2UsIGN0LT5tZXNzYWdlLCBDSEVDS0VSX01TR19MRU4pOwotLQkJCWMtPm1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOIC0gMV0gPSAnXDAnOwotLQkJfQotLQkJcHRocmVhZF9tdXRleF91bmxvY2soJmN0LT5sb2NrKTsKLS0JfSBlbHNlIHsKLS0JCS8qIFN0YXJ0IG5ldyBjaGVja2VyICovCi0tCQljdC0+c3RhdGUgPSBQQVRIX1VOQ0hFQ0tFRDsKLS0JCWN0LT5mbiA9IGZuOwotLQkJcHRocmVhZF9zcGluX2xvY2soJmN0LT5obGRyX2xvY2spOwotLQkJY3QtPmhvbGRlcnMrKzsKLS0JCXB0aHJlYWRfc3Bpbl91bmxvY2soJmN0LT5obGRyX2xvY2spOwotLQkJc2V0dXBfdGhyZWFkX2F0dHIoJmF0dHIsIDMyICogMTAyNCwgMSk7Ci0tCQlyID0gcHRocmVhZF9jcmVhdGUoJmN0LT50aHJlYWQsICZhdHRyLCByYmRfdGhyZWFkLCBjdCk7Ci0tCQlpZiAocikgewotLQkJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjdC0+bG9jayk7Ci0tCQkJY3QtPnRocmVhZCA9IDA7Ci0tCQkJY3QtPmhvbGRlcnMtLTsKLS0JCQljb25kbG9nKDMsICJyYmQlZCBmYWlsZWQgdG8gc3RhcnQgcmJkIHRocmVhZCwgdXNpbmcgc3luYyBtb2RlIiwKLS0JCQkJY3QtPnJiZF9idXNfaWQpOwotLQkJCXJldHVybiBmbihjdCwgYy0+bWVzc2FnZSk7Ci0tCQl9Ci0tCQlwdGhyZWFkX2F0dHJfZGVzdHJveSgmYXR0cik7Ci0tCQlyYmRfdGltZW91dCgmdHNwKTsKLS0JCXIgPSBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KCZjdC0+YWN0aXZlLCAmY3QtPmxvY2ssICZ0c3ApOwotLQkJcmJkX3N0YXR1cyA9IGN0LT5zdGF0ZTsKLS0JCXN0cm5jcHkoYy0+bWVzc2FnZSwgY3QtPm1lc3NhZ2UsQ0hFQ0tFUl9NU0dfTEVOKTsKLS0JCWMtPm1lc3NhZ2VbQ0hFQ0tFUl9NU0dfTEVOIC0xXSA9ICdcMCc7Ci0tCQlwdGhyZWFkX211dGV4X3VubG9jaygmY3QtPmxvY2spOwotLQotLQkJaWYgKGN0LT50aHJlYWQgJiYKLS0JCSAgICAocmJkX3N0YXR1cyA9PSBQQVRIX1BFTkRJTkcgfHwgcmJkX3N0YXR1cyA9PSBQQVRIX1VOQ0hFQ0tFRCkpIHsKLS0JCQljb25kbG9nKDMsICJyYmQlZDogdGhyZWFkIHN0aWxsIHJ1bm5pbmciLAotLQkJCQljdC0+cmJkX2J1c19pZCk7Ci0tCQkJY3QtPnJ1bm5pbmcgPSAxOwotLQkJCXJiZF9zdGF0dXMgPSBQQVRIX1BFTkRJTkc7Ci0tCQl9Ci0tCX0KLS0KLS0JcmV0dXJuIHJiZF9zdGF0dXM7Ci0tfQotLQotLXZvaWQgbGliY2hlY2tfcmVwYWlyKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXN0cnVjdCByYmRfY2hlY2tlcl9jb250ZXh0ICpjdCA9IGMtPmNvbnRleHQ7Ci0tCi0tCWlmICghY3QgfHwgIWN0LT5ibGFja2xpc3RlZCkKLS0JCXJldHVybjsKLS0JcmJkX2V4ZWNfZm4oYywgcmJkX3JlcGFpcik7Ci0tfQotLQotLWludCBsaWJjaGVja19jaGVjayhzdHJ1Y3QgY2hlY2tlciAqIGMpCi0tewotLQlzdHJ1Y3QgcmJkX2NoZWNrZXJfY29udGV4dCAqY3QgPSBjLT5jb250ZXh0OwotLQotLQlpZiAoIWN0KQotLQkJcmV0dXJuIFBBVEhfVU5DSEVDS0VEOwotLQotLQlpZiAoY3QtPmJsYWNrbGlzdGVkKQotLQkJcmV0dXJuIFBBVEhfRE9XTjsKLS0KLS0JcmV0dXJuIHJiZF9leGVjX2ZuKGMsIHJiZF9jaGVjayk7Ci0tfQotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZGFjLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmRhYy5jCi1pbmRleCBhNjQzYTRhLi41MTA0ZTRlIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JkYWMuYwotKysrIGIvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JkYWMuYwotQEAgLTEzOSwxMSArMTM5LDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gc3RhdGljIGludAotIGRvX2lucShpbnQgc2dfZmQsIHVuc2lnbmVkIGludCBwZ19vcCwgdm9pZCAqcmVzcCwgaW50IG14X3Jlc3BfbGVuLAotICAgICAgICB1bnNpZ25lZCBpbnQgdGltZW91dCkKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvcmVhZHNlY3RvcjAuYyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jCi1pbmRleCA4ZmNjYjQ2Li4xYzJhODY4IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2NoZWNrZXJzL3JlYWRzZWN0b3IwLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy9yZWFkc2VjdG9yMC5jCi1AQCAtMjMsMTEgKzIzLDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gaW50IGxpYmNoZWNrX2NoZWNrIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gewotIAl1bnNpZ25lZCBjaGFyIGJ1Zls0MDk2XTsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMgYi9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMKLWluZGV4IGViMzM0OGQuLmJmODQ4NmQgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY2hlY2tlcnMvdHVyLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9jaGVja2Vycy90dXIuYwotQEAgLTExMiwxMSArMTEyLDYgQEAgdm9pZCBsaWJjaGVja19mcmVlIChzdHJ1Y3QgY2hlY2tlciAqIGMpCi0gCXJldHVybjsKLSB9Ci0gCi0tdm9pZCBsaWJjaGVja19yZXBhaXIgKHN0cnVjdCBjaGVja2VyICogYykKLS17Ci0tCXJldHVybjsKLS19Ci0tCi0gI2RlZmluZSBUVVJfTVNHKGZtdCwgYXJncy4uLikJCQkJCVwKLSAJZG8gewkJCQkJCQlcCi0gCQljaGFyIG1zZ1tDSEVDS0VSX01TR19MRU5dOwkJCVwKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMgYi9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMKLWluZGV4IDFlZjFkZmEuLjE4YWQwZTIgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGlzY292ZXJ5LmMKLSsrKyBiL2xpYm11bHRpcGF0aC9kaXNjb3ZlcnkuYwotQEAgLTEyNDYsMjEgKzEyNDYsNiBAQCBudm1lX3N5c2ZzX3BhdGhpbmZvIChzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSB9Ci0gCi0gc3RhdGljIGludAotLXJiZF9zeXNmc19wYXRoaW5mbyAoc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0tewotLQlzcHJpbnRmKHBwLT52ZW5kb3JfaWQsICJDZXBoIik7Ci0tCXNwcmludGYocHAtPnByb2R1Y3RfaWQsICJSQkQiKTsKLS0KLS0JY29uZGxvZygzLCAiJXM6IHZlbmRvciA9ICVzIHByb2R1Y3QgPSAlcyIsIHBwLT5kZXYsIHBwLT52ZW5kb3JfaWQsCi0tCQlwcC0+cHJvZHVjdF9pZCk7Ci0tCS8qCi0tCSAqIHNldCB0aGUgaHdlIGNvbmZpZ2xldCBwb2ludGVyCi0tCSAqLwotLQlwcC0+aHdlID0gZmluZF9od2UoaHd0YWJsZSwgcHAtPnZlbmRvcl9pZCwgcHAtPnByb2R1Y3RfaWQsIE5VTEwpOwotLQlyZXR1cm4gMDsKLS19Ci0tCi0tc3RhdGljIGludAotIGNjd19zeXNmc19wYXRoaW5mbyAoc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0gewotIAlzdHJ1Y3QgdWRldl9kZXZpY2UgKnBhcmVudDsKLUBAIC0xNDg2LDggKzE0NzEsNiBAQCBzeXNmc19wYXRoaW5mbyhzdHJ1Y3QgcGF0aCAqIHBwLCB2ZWN0b3IgaHd0YWJsZSkKLSAJCXBwLT5idXMgPSBTWVNGU19CVVNfQ0NXOwotIAlpZiAoIXN0cm5jbXAocHAtPmRldiwic2QiLCAyKSkKLSAJCXBwLT5idXMgPSBTWVNGU19CVVNfU0NTSTsKLS0JaWYgKCFzdHJuY21wKHBwLT5kZXYsInJiZCIsIDMpKQotLQkJcHAtPmJ1cyA9IFNZU0ZTX0JVU19SQkQ7Ci0gCWlmICghc3RybmNtcChwcC0+ZGV2LCJudm1lIiwgNCkpCi0gCQlwcC0+YnVzID0gU1lTRlNfQlVTX05WTUU7Ci0gCi1AQCAtMTUwMiw5ICsxNDg1LDYgQEAgc3lzZnNfcGF0aGluZm8oc3RydWN0IHBhdGggKiBwcCwgdmVjdG9yIGh3dGFibGUpCi0gCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfQ0NJU1MpIHsKLSAJCWlmIChjY2lzc19zeXNmc19wYXRoaW5mbyhwcCwgaHd0YWJsZSkpCi0gCQkJcmV0dXJuIDE7Ci0tCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfUkJEKSB7Ci0tCQlpZiAocmJkX3N5c2ZzX3BhdGhpbmZvKHBwLCBod3RhYmxlKSkKLS0JCQlyZXR1cm4gMTsKLSAJfSBlbHNlIGlmIChwcC0+YnVzID09IFNZU0ZTX0JVU19OVk1FKSB7Ci0gCQlpZiAobnZtZV9zeXNmc19wYXRoaW5mbyhwcCwgaHd0YWJsZSkpCi0gCQkJcmV0dXJuIDE7Ci1AQCAtMTc1Myw1MyArMTczMyw2IEBAIGdldF91ZGV2X3VpZChzdHJ1Y3QgcGF0aCAqIHBwLCBjaGFyICp1aWRfYXR0cmlidXRlLCBzdHJ1Y3QgdWRldl9kZXZpY2UgKnVkZXYpCi0gfQotIAotIHN0YXRpYyBpbnQKLS1nZXRfcmJkX3VpZChzdHJ1Y3QgcGF0aCAqIHBwKQotLXsKLS0Jc3RydWN0IHVkZXZfZGV2aWNlICpyYmRfYnVzX2RldjsKLS0JaW50IHJldCwgcmJkX2J1c19pZDsKLS0JY29uc3QgY2hhciAqcG9vbCwgKmltYWdlLCAqc25hcDsKLS0JY2hhciBzeXNmc19wYXRoW1BBVEhfU0laRV07Ci0tCXVpbnQ2NF90IHNuYXBfaWQsIG1heF9zbmFwX2lkID0gLTM7Ci0tCi0tCXJldCA9IHNzY2FuZihwcC0+ZGV2LCAicmJkJWQiLCAmcmJkX2J1c19pZCk7Ci0tCWlmIChyZXQgIT0gMSkKLS0JCXJldHVybiAtRUlOVkFMOwotLQotLQlzbnByaW50ZihzeXNmc19wYXRoLCBzaXplb2Yoc3lzZnNfcGF0aCksICIvc3lzL2J1cy9yYmQvZGV2aWNlcy8lZCIsCi0tCQkgcmJkX2J1c19pZCk7Ci0tCXJiZF9idXNfZGV2ID0gdWRldl9kZXZpY2VfbmV3X2Zyb21fc3lzcGF0aCh1ZGV2LCBzeXNmc19wYXRoKTsKLS0JaWYgKCFyYmRfYnVzX2RldikKLS0JCXJldHVybiAtRU5PREVWOwotLQotLQlyZXQgPSAtRUlOVkFMOwotLQlwb29sID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUocmJkX2J1c19kZXYsICJwb29sX2lkIik7Ci0tCWlmICghcG9vbCkKLS0JCWdvdG8gZnJlZV9kZXY7Ci0tCi0tCWltYWdlID0gdWRldl9kZXZpY2VfZ2V0X3N5c2F0dHJfdmFsdWUocmJkX2J1c19kZXYsICJpbWFnZV9pZCIpOwotLQlpZiAoIWltYWdlKQotLQkJZ290byBmcmVlX2RldjsKLS0KLS0Jc25hcCA9IHVkZXZfZGV2aWNlX2dldF9zeXNhdHRyX3ZhbHVlKHJiZF9idXNfZGV2LCAic25hcF9pZCIpOwotLQlpZiAoIXNuYXApCi0tCQlnb3RvIGZyZWVfZGV2OwotLQlzbmFwX2lkID0gc3RydG91bGwoc25hcCwgTlVMTCwgMTkpOwotLQlpZiAoc25hcF9pZCA+PSBtYXhfc25hcF9pZCkKLS0JCXJldCA9IHNucHJpbnRmKHBwLT53d2lkLCBXV0lEX1NJWkUsICIlcy0lcyIsIHBvb2wsIGltYWdlKTsKLS0JZWxzZQotLQkJcmV0ID0gc25wcmludGYocHAtPnd3aWQsIFdXSURfU0laRSwgIiVzLSVzLSVzIiwgcG9vbCwKLS0JCQkgICAgICAgaW1hZ2UsIHNuYXApOwotLQlpZiAocmV0ID49IFdXSURfU0laRSkgewotLQkJY29uZGxvZygwLCAiJXM6IHd3aWQgb3ZlcmZsb3ciLCBwcC0+ZGV2KTsKLS0JCXJldCA9IC1FT1ZFUkZMT1c7Ci0tCX0KLS0KLS1mcmVlX2RldjoKLS0JdWRldl9kZXZpY2VfdW5yZWYocmJkX2J1c19kZXYpOwotLQlyZXR1cm4gcmV0OwotLX0KLS0KLS1zdGF0aWMgaW50Ci0gZ2V0X3ZwZF91aWQoc3RydWN0IHBhdGggKiBwcCkKLSB7Ci0gCXN0cnVjdCB1ZGV2X2RldmljZSAqcGFyZW50ID0gcHAtPnVkZXY7Ci1AQCAtMTg3Niw5ICsxODA5LDYgQEAgZ2V0X3VpZCAoc3RydWN0IHBhdGggKiBwcCwgaW50IHBhdGhfc3RhdGUsIHN0cnVjdCB1ZGV2X2RldmljZSAqdWRldikKLSAJCX0gZWxzZQotIAkJCWxlbiA9IHN0cmxlbihwcC0+d3dpZCk7Ci0gCQlvcmlnaW4gPSAiY2FsbG91dCI7Ci0tCX0gZWxzZSBpZiAocHAtPmJ1cyA9PSBTWVNGU19CVVNfUkJEKSB7Ci0tCQlsZW4gPSBnZXRfcmJkX3VpZChwcCk7Ci0tCQlvcmlnaW4gPSAic3lzZnMiOwotIAl9IGVsc2UgewotIAotIAkJaWYgKHVkZXYgJiYgcHAtPnVpZF9hdHRyaWJ1dGUpIHsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvaHd0YWJsZS5jIGIvbGlibXVsdGlwYXRoL2h3dGFibGUuYwotaW5kZXggMTQ4ZjBiYS4uZDUyOWJhZSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9od3RhYmxlLmMKLUBAIC0xMDAwLDE4ICsxMDAwLDYgQEAgc3RhdGljIHN0cnVjdCBod2VudHJ5IGRlZmF1bHRfaHdbXSA9IHsKLSAJCS5wcmlvX25hbWUgICAgID0gUFJJT19BTFVBLAotIAl9LAotIAkvKgotLQkgKiBSZWQgSGF0Ci0tCSAqCi0tCSAqIE1haW50YWluZXI6IE1pa2UgQ2hyaXN0aWUKLS0JICogTWFpbDogbWNocmlzdGlAcmVkaGF0LmNvbQotLQkgKi8KLS0JewotLQkJLnZlbmRvciAgICAgICAgPSAiQ2VwaCIsCi0tCQkucHJvZHVjdCAgICAgICA9ICJSQkQiLAotLQkJLmNoZWNrZXJfbmFtZSAgPSBSQkQsCi0tCQkuZGVmZXJyZWRfcmVtb3ZlID0gREVGRVJSRURfUkVNT1ZFX09OLAotLQl9LAotLQkvKgotIAkgKiBLb3ZlCi0gCSAqLwotIAl7Ci1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotaW5kZXggMGMxZjE3NC4uMzFmNDU4NSAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci0rKysgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotQEAgLTQ4Miw5ICs0ODIsNiBAQCBDaGVjayB0aGUgcGF0aCBzdGF0ZSBmb3IgSFAvQ09NUEFRIFNtYXJ0IEFycmF5KENDSVNTKSBjb250cm9sbGVycy4KLSAuSSBub25lCi0gRG8gbm90IGNoZWNrIHRoZSBkZXZpY2UsIGZhbGxiYWNrIHRvIHVzZSB0aGUgdmFsdWVzIHJldHJpZXZlZCBmcm9tIHN5c2ZzCi0gLlRQCi0tLkkgcmJkCi0tQ2hlY2sgaWYgdGhlIHBhdGggaXMgaW4gdGhlIENlcGggYmxhY2tsaXN0IGFuZCByZW1hcCB0aGUgcGF0aCBpZiBpdCBpcy4KLS0uVFAKLSBUaGUgZGVmYXVsdCBpczogXGZCdHVyXGZSCi0gLlJFCi0gLgotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5jIGIvbXVsdGlwYXRoZC9tYWluLmMKLWluZGV4IDBkYjg4ZWUuLmQ0MGM0MTYgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uYwotKysrIGIvbXVsdGlwYXRoZC9tYWluLmMKLUBAIC0xNzgzLDE1ICsxNzgzLDYgQEAgaW50IHVwZGF0ZV9wYXRoX2dyb3VwcyhzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHN0cnVjdCB2ZWN0b3JzICp2ZWNzLCBpbnQgcmVmcmVzaCkKLSAJcmV0dXJuIDA7Ci0gfQotIAotLXZvaWQgcmVwYWlyX3BhdGgoc3RydWN0IHBhdGggKiBwcCkKLS17Ci0tCWlmIChwcC0+c3RhdGUgIT0gUEFUSF9ET1dOKQotLQkJcmV0dXJuOwotLQotLQljaGVja2VyX3JlcGFpcigmcHAtPmNoZWNrZXIpOwotLQlMT0dfTVNHKDEsIGNoZWNrZXJfbWVzc2FnZSgmcHAtPmNoZWNrZXIpKTsKLS19Ci0tCi0gLyoKLSAgKiBSZXR1cm5zICcxJyBpZiB0aGUgcGF0aCBoYXMgYmVlbiBjaGVja2VkLCAnLTEnIGlmIGl0IHdhcyBibGFja2xpc3RlZAotICAqIGFuZCAnMCcgb3RoZXJ3aXNlCi1AQCAtMTk3Miw3ICsxOTYzLDYgQEAgY2hlY2tfcGF0aCAoc3RydWN0IHZlY3RvcnMgKiB2ZWNzLCBzdHJ1Y3QgcGF0aCAqIHBwLCBpbnQgdGlja3MpCi0gCQkJcHAtPm1wcC0+ZmFpbGJhY2tfdGljayA9IDA7Ci0gCi0gCQkJcHAtPm1wcC0+c3RhdF9wYXRoX2ZhaWx1cmVzKys7Ci0tCQkJcmVwYWlyX3BhdGgocHApOwotIAkJCXJldHVybiAxOwotIAkJfQotIAotQEAgLTIwNzEsNyArMjA2MSw2IEBAIGNoZWNrX3BhdGggKHN0cnVjdCB2ZWN0b3JzICogdmVjcywgc3RydWN0IHBhdGggKiBwcCwgaW50IHRpY2tzKQotIAl9Ci0gCi0gCXBwLT5zdGF0ZSA9IG5ld3N0YXRlOwotLQlyZXBhaXJfcGF0aChwcCk7Ci0gCi0gCWlmIChwcC0+bXBwLT53YWl0X2Zvcl91ZGV2KQotIAkJcmV0dXJuIDE7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE3LW1wYXRocGVyc2lzdC1maXgtYXB0cGwtc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE3LW1wYXRocGVyc2lzdC1maXgtYXB0cGwtc3VwcG9ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk4ZDMxMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAxNy1tcGF0aHBlcnNpc3QtZml4LWFwdHBsLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDMgKzAsMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA0IEp1biAyMDE4IDIyOjA0OjQ0IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIG1wYXRocGVyc2lzdDogZml4IGFwdHBsIHN1cHBvcnQKLQotVGhlICJBY3RpdmUgUGVyc2lzdCBUaHJvdWdoIFBvd2VyIExvc3MiIGZsYWcgbXVzdCBiZSBzZXQgd2hlbmV2ZXIgYSBrZXkKLWlzIHJlZ2lzdGVyZWQuIEhvd2V2ZXIsIHRoZXJlIGlzIG5vIHdheSBmb3IgbXVsdGlwYXRoZCB0byBrbm93IGlmIHRoaXMKLXdhcyBzZXQgYnkgbXBhdGhwZXJzaXN0LiBUaGUgcmVzdWx0IGlzIHRoYXQgaWYgYSBwYXRoIGdvZXMgZG93biBhbmQKLWNvbWVzIGJhY2sgdXAgKG9yIGlmIGl0IHdhc24ndCB1cCB3aGVuIG1wYXRocGVyc2lzdCB3YXMgZmlyc3QgcnVuKQotbXVsdGlwYXRoZCB3aWxsIGNsZWFyIHRoZSBhcHRwbCBmbGFnIHdoZW4gaXQgcmVyZWdpc3RlcnMgdGhlIGtleSBvbiBpdC4KLQotVG8gZml4IHRoaXMsIG11bHRpcGF0aC5jb25mIG5vdyBhY2NlcHRzIGFuIG9wdGlvbmFsICI6YXB0cGwiIGFwcGVuZGVkCi1vbiB0aGUgcmVzZXJ2YXRpb25fa2V5IHZhbHVlLiBJZiB0aGlzIGlzIGFkZGVkIHRvIHRoZSByZXNlcnZhdGlvbl9rZXkKLW11bHRpcGF0aGQgd2lsbCBzZXQgdGhlIGFwdHBsIGZsYWcgd2hlbiBpdCByZXJlZ2lzdGVycyB0aGUga2V5LiBJZgotcmVzZXJ2YXRpb25fa2V5IGlzIHNldCB0byAiZmlsZSIsIHRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHRyYWNrZWQKLWluIHRoZSAvZXRjL211bHRpcGF0aC9wcmtleXMgZmlsZS4KLQotVG8gdHJhY2sgdGhpcyBmbGFnIGluIHRoZSBwcmtleXMgZmlsZSwgd2l0aG91dCBjaGFuZ2luZyB0aGUgZm9ybWF0Ci1JJ3ZlIG1hZGUgIjB4PGtleT4iIHN0YW5kIGZvciBub24tYXB0cGwga2V5cywgYW5kICIwWDxrZXk+IiBzdGFuZAotZm9yIGFwdHBsIGtleXMuIFNpbmNlIHByZXZpb3VzbHksIGFsbCBrZXlzIHVzZWQgYSBsb3dlci1jYXNlIHgsIHRoaXMKLXdpbGwgZGVmYXVsdCB0byB0aGUgY3VycmVudCBiZWhhdmlvciBmb3IgZXhpc3Rpbmcga2V5cy4gT2J2aW91c2x5LCB0aGUKLW5leHQgdGltZSBtcGF0aHBlcnNpc3QgaXMgcnVuLCB0aGlzIHdpbGwgYmUgY2hhbmdlZCBpZiAtLXBhcmFtLWFwdHBsCi1pcyB1c2VkLiAgU2luY2UgdGhlcmUgYXJlIG5vIG1vcmUgZmxhZ3MgdGhhdCBhcmUgaW4gc2dfcGVyc2lzdCB0aGF0Ci1tdWx0aXBhdGhkIG5lZWRzIHRvIGNhcmUgYWJvdXQgaW4gbXBhdGhwZXJzaXN0LCB0aGVyZSBzaG91bGRuJ3QgbmVlZAotdG8gYmUgYW55IG1vcmUgZmxhZ3MgYWRkZWQgdG8gdGhlIHBya2V5cyBmaWxlLgotCi1TaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci0tLS0KLSBsaWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jICB8ICAzICsrLQotIGxpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jIHwgMTEgKysrKysrKy0tLS0KLSBsaWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oICAgICAgICB8ICAzICsrLQotIGxpYm11bHRpcGF0aC9NYWtlZmlsZSAgICAgICAgICAgIHwgIDIgKy0KLSBsaWJtdWx0aXBhdGgvY29uZmlnLmggICAgICAgICAgICB8ICAyICsrCi0gbGlibXVsdGlwYXRoL2RpY3QuYyAgICAgICAgICAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrLS0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmggICAgICAgICAgICAgIHwgIDMgKystCi0gbGlibXVsdGlwYXRoL3Bya2V5LmMgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKystLS0KLSBsaWJtdWx0aXBhdGgvcHJrZXkuaCAgICAgICAgICAgICB8ICA2ICsrKystLQotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgICAgICAgICAgIHwgIDYgKysrKy0tCi0gbGlibXVsdGlwYXRoL3N0cnVjdHMuaCAgICAgICAgICAgfCAgMSArCi0gbGlibXVsdGlwYXRoL3V0aWwuYyAgICAgICAgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gbGlibXVsdGlwYXRoL3V0aWwuaCAgICAgICAgICAgICAgfCAgMSArCi0gbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgICAgICAgfCAgNyArKysrKy0tCi0gbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYyAgICAgICAgfCAxNSArKysrKysrKysrLS0tLS0KLSBtdWx0aXBhdGhkL21haW4uYyAgICAgICAgICAgICAgICB8ICAxICsKLSAxNiBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhfcGVyc2lzdC5jIGIvbGlibXBhdGhwZXJzaXN0L21wYXRoX3BlcnNpc3QuYwotaW5kZXggY2E5MWM1NS4uNmU5ZTY3ZiAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLSsrKyBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aF9wZXJzaXN0LmMKLUBAIC0zNDQsNyArMzQ0LDggQEAgaW50IG1wYXRoX3BlcnNpc3RlbnRfcmVzZXJ2ZV9vdXQgKCBpbnQgZmQsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCSAgICAgIHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX1NBKSB8fAotIAkgICAgIHJxX3NlcnZhY3QgPT0gTVBBVEhfUFJPVVRfUkVHX0lHTl9TQSkpIHsKLSAJCW1lbWNweSgmbXBwLT5yZXNlcnZhdGlvbl9rZXksIHBhcmFtcC0+c2Ffa2V5LCA4KTsKLS0JCWlmICh1cGRhdGVfcHJrZXkoYWxpYXMsIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSkpIHsKLSsJCWlmICh1cGRhdGVfcHJrZXlfZmxhZ3MoYWxpYXMsIGdldF9iZTY0KG1wcC0+cmVzZXJ2YXRpb25fa2V5KSwKLSsJCQkJICAgICAgIHBhcmFtcC0+c2FfZmxhZ3MpKSB7Ci0gCQkJY29uZGxvZygwLCAiJXM6IGZhaWxlZCB0byBzZXQgcHJrZXkgZm9yIG11bHRpcGF0aGQuIiwKLSAJCQkJYWxpYXMpOwotIAkJCXJldCA9IE1QQVRIX1BSX0RNTVBfRVJST1I7Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRoX3VwZGF0ZXByLmMgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfdXBkYXRlcHIuYwotaW5kZXggODA2M2U5MC4uMGFjYTI4ZSAxMDA2NDQKLS0tLSBhL2xpYm1wYXRocGVyc2lzdC9tcGF0aF91cGRhdGVwci5jCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhfdXBkYXRlcHIuYwotQEAgLTEsNyArMSw1IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxlcnJuby5oPgotLQotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RkYXJnLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci1AQCAtMTEsNiArOSw4IEBACi0gI2luY2x1ZGUgPHN5cy91bi5oPgotICNpbmNsdWRlIDxwb2xsLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotICNpbmNsdWRlICJkZWJ1Zy5oIgotICNpbmNsdWRlICJtcGF0aF9jbWQuaCIKLSAjaW5jbHVkZSAidXhzb2NrLmgiCi1AQCAtNTksMTEgKzU5LDE0IEBAIGludCB1cGRhdGVfcHJmbGFnKGNoYXIgKm1hcG5hbWUsIGludCBzZXQpIHsKLSAJcmV0dXJuIGRvX3VwZGF0ZV9wcihtYXBuYW1lLCAoc2V0KT8gInNldHByc3RhdHVzIiA6ICJ1bnNldHByc3RhdHVzIik7Ci0gfQotIAotLWludCB1cGRhdGVfcHJrZXkoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXkpIHsKLStpbnQgdXBkYXRlX3Bya2V5X2ZsYWdzKGNoYXIgKm1hcG5hbWUsIHVpbnQ2NF90IHBya2V5LCB1aW50OF90IHNhX2ZsYWdzKSB7Ci0gCWNoYXIgc3RyWzI1Nl07Ci0rCWNoYXIgKmZsYWdzdHIgPSAiIjsKLSAKLSsJaWYgKHNhX2ZsYWdzICYgTVBBVEhfRl9BUFRQTF9NQVNLKQotKwkJZmxhZ3N0ciA9ICI6YXB0cGwiOwotIAlpZiAocHJrZXkpCi0tCQlzcHJpbnRmKHN0ciwgInNldHBya2V5IGtleSAlIiBQUkl4NjQsIHBya2V5KTsKLSsJCXNwcmludGYoc3RyLCAic2V0cHJrZXkga2V5ICUiIFBSSXg2NCAiJXMiLCBwcmtleSwgZmxhZ3N0cik7Ci0gCWVsc2UKLSAJCXNwcmludGYoc3RyLCAidW5zZXRwcmtleSIpOwotIAlyZXR1cm4gZG9fdXBkYXRlX3ByKG1hcG5hbWUsIHN0cik7Ci1kaWZmIC0tZ2l0IGEvbGlibXBhdGhwZXJzaXN0L21wYXRocHIuaCBiL2xpYm1wYXRocGVyc2lzdC9tcGF0aHByLmgKLWluZGV4IDcyZmViNjAuLjVlYThjZDYgMTAwNjQ0Ci0tLS0gYS9saWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oCi0rKysgYi9saWJtcGF0aHBlcnNpc3QvbXBhdGhwci5oCi1AQCAtNDYsNyArNDYsOCBAQCBpbnQgc2VuZF9wcm91dF9hY3RpdmVwYXRoKGNoYXIgKiBkZXYsIGludCBycV9zZXJ2YWN0LCBpbnQgcnFfc2NvcGUsCi0gCXVuc2lnbmVkIGludCBycV90eXBlLCAgIHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yICogcGFyYW1wLCBpbnQgbm9pc3kpOwotIAotIGludCB1cGRhdGVfcHJmbGFnKGNoYXIgKm1hcG5hbWUsIGludCBzZXQpOwotLWludCB1cGRhdGVfcHJrZXkoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXkpOwotK2ludCB1cGRhdGVfcHJrZXlfZmxhZ3MoY2hhciAqbWFwbmFtZSwgdWludDY0X3QgcHJrZXksIHVpbnQ4X3Qgc2FfZmxhZ3MpOwotKyNkZWZpbmUgdXBkYXRlX3Bya2V5KG1hcG5hbWUsIHBya2V5KSB1cGRhdGVfcHJrZXlfZmxhZ3MobWFwbmFtZSwgcHJrZXksIDApCi0gdm9pZCAqIG1wYXRoX2FsbG9jX3ByaW5fcmVzcG9uc2UoaW50IHByaW5fc2EpOwotIGludCB1cGRhdGVfbWFwX3ByKHN0cnVjdCBtdWx0aXBhdGggKm1wcCk7Ci0gCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCi1pbmRleCBmNTE3ODZkLi4zM2Y1MjY5IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL01ha2VmaWxlCi0rKysgYi9saWJtdWx0aXBhdGgvTWFrZWZpbGUKLUBAIC03LDcgKzcsNyBAQCBTT05BTUUgPSAwCi0gREVWTElCID0gbGlibXVsdGlwYXRoLnNvCi0gTElCUyA9ICQoREVWTElCKS4kKFNPTkFNRSkKLSAKLS1DRkxBR1MgKz0gJChMSUJfQ0ZMQUdTKSAtSSQobXBhdGhjbWRkaXIpCi0rQ0ZMQUdTICs9ICQoTElCX0NGTEFHUykgLUkkKG1wYXRoY21kZGlyKSAtSSQobXBhdGhwZXJzaXN0ZGlyKQotIAotIExJQkRFUFMgKz0gLWxwdGhyZWFkIC1sZGwgLWxkZXZtYXBwZXIgLWx1ZGV2IC1MJChtcGF0aGNtZGRpcikgLWxtcGF0aGNtZCAtbHVyY3UgLWxhaW8KLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvY29uZmlnLmggYi9saWJtdWx0aXBhdGgvY29uZmlnLmgKLWluZGV4IDFiZjcwOGEuLmZjYmUzZmMgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmgKLSsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuaAotQEAgLTk4LDYgKzk4LDcgQEAgc3RydWN0IG1wZW50cnkgewotIAljaGFyICogcHJpb19hcmdzOwotIAlpbnQgcHJrZXlfc291cmNlOwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCWludCBwZ3BvbGljeTsKLSAJaW50IHBnZmFpbGJhY2s7Ci0gCWludCBycl93ZWlnaHQ7Ci1AQCAtMTk3LDYgKzE5OCw3IEBAIHN0cnVjdCBjb25maWcgewotIAlpbnQgcHJrZXlfc291cmNlOwotIAlpbnQgYWxsX3RnX3B0OwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCi0gCXZlY3RvciBrZXl3b3JkczsKLSAJdmVjdG9yIG1wdGFibGU7Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2RpY3QuYyBiL2xpYm11bHRpcGF0aC9kaWN0LmMKLWluZGV4IDI1NTdiOGEuLjdhZDBmNWEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvZGljdC5jCi0rKysgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1AQCAtMjIsNiArMjIsOCBAQAotICNpbmNsdWRlICJ1dGlsLmgiCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGludHR5cGVzLmg+Ci0rI2luY2x1ZGUgPGxpYnVkZXYuaD4KLSsjaW5jbHVkZSA8bXBhdGhfcGVyc2lzdC5oPgotICNpbmNsdWRlICJtcGF0aF9jbWQuaCIKLSAjaW5jbHVkZSAiZGljdC5oIgotIAotQEAgLTEwMTIsMTAgKzEwMTQsMTIgQEAgc25wcmludF9kZWZfbG9nX2NoZWNrZXJfZXJyIChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSB9Ci0gCi0gc3RhdGljIGludAotLXNldF9yZXNlcnZhdGlvbl9rZXkodmVjdG9yIHN0cnZlYywgc3RydWN0IGJlNjQgKmJlNjRfcHRyLCBpbnQgKnNvdXJjZV9wdHIpCi0rc2V0X3Jlc2VydmF0aW9uX2tleSh2ZWN0b3Igc3RydmVjLCBzdHJ1Y3QgYmU2NCAqYmU2NF9wdHIsIHVpbnQ4X3QgKmZsYWdzX3B0ciwKLSsJCSAgICBpbnQgKnNvdXJjZV9wdHIpCi0gewotIAljaGFyICpidWZmOwotIAl1aW50NjRfdCBwcmtleTsKLSsJdWludDhfdCBzYV9mbGFnczsKLSAKLSAJYnVmZiA9IHNldF92YWx1ZShzdHJ2ZWMpOwotIAlpZiAoIWJ1ZmYpCi1AQCAtMTAyMywzNSArMTAyNyw0MyBAQCBzZXRfcmVzZXJ2YXRpb25fa2V5KHZlY3RvciBzdHJ2ZWMsIHN0cnVjdCBiZTY0ICpiZTY0X3B0ciwgaW50ICpzb3VyY2VfcHRyKQotIAotIAlpZiAoc3RyY21wKGJ1ZmYsICJmaWxlIikgPT0gMCkgewotIAkJKnNvdXJjZV9wdHIgPSBQUktFWV9TT1VSQ0VfRklMRTsKLSsJCSpmbGFnc19wdHIgPSAwOwotIAkJcHV0X2JlNjQoKmJlNjRfcHRyLCAwKTsKLSAJCUZSRUUoYnVmZik7Ci0gCQlyZXR1cm4gMDsKLSAJfQotIAotLQlpZiAocGFyc2VfcHJrZXkoYnVmZiwgJnBya2V5KSAhPSAwKSB7Ci0rCWlmIChwYXJzZV9wcmtleV9mbGFncyhidWZmLCAmcHJrZXksICZzYV9mbGFncykgIT0gMCkgewotIAkJRlJFRShidWZmKTsKLSAJCXJldHVybiAxOwotIAl9Ci0gCSpzb3VyY2VfcHRyID0gUFJLRVlfU09VUkNFX0NPTkY7Ci0rCSpmbGFnc19wdHIgPSBzYV9mbGFnczsKLSAJcHV0X2JlNjQoKmJlNjRfcHRyLCBwcmtleSk7Ci0gCUZSRUUoYnVmZik7Ci0gCXJldHVybiAwOwotIH0KLSAKLSBpbnQKLS1wcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgaW50IHNvdXJjZSkKLStwcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgdWludDhfdCBmbGFncywKLSsJCSAgICAgIGludCBzb3VyY2UpCi0gewotKwljaGFyICpmbGFnc3RyID0gIiI7Ci0gCWlmIChzb3VyY2UgPT0gUFJLRVlfU09VUkNFX05PTkUpCi0gCQlyZXR1cm4gMDsKLSAJaWYgKHNvdXJjZSA9PSBQUktFWV9TT1VSQ0VfRklMRSkKLSAJCXJldHVybiBzbnByaW50ZihidWZmLCBsZW4sICJmaWxlIik7Ci0tCXJldHVybiBzbnByaW50ZihidWZmLCBsZW4sICIweCUiIFBSSXg2NCwgZ2V0X2JlNjQoa2V5KSk7Ci0rCWlmIChmbGFncyAmIE1QQVRIX0ZfQVBUUExfTUFTSykKLSsJCWZsYWdzdHIgPSAiOmFwdHBsIjsKLSsJcmV0dXJuIHNucHJpbnRmKGJ1ZmYsIGxlbiwgIjB4JSIgUFJJeDY0ICIlcyIsIGdldF9iZTY0KGtleSksCi0rCQkJZmxhZ3N0cik7Ci0gfQotIAotIHN0YXRpYyBpbnQKLSBkZWZfcmVzZXJ2YXRpb25fa2V5X2hhbmRsZXIoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykKLSB7Ci0gCXJldHVybiBzZXRfcmVzZXJ2YXRpb25fa2V5KHN0cnZlYywgJmNvbmYtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgJmNvbmYtPnNhX2ZsYWdzLAotIAkJCQkgICAmY29uZi0+cHJrZXlfc291cmNlKTsKLSB9Ci0gCi1AQCAtMTA2MCw2ICsxMDcyLDcgQEAgc25wcmludF9kZWZfcmVzZXJ2YXRpb25fa2V5IChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSAJCQkgICAgIGNvbnN0IHZvaWQgKiBkYXRhKQotIHsKLSAJcmV0dXJuIHByaW50X3Jlc2VydmF0aW9uX2tleShidWZmLCBsZW4sIGNvbmYtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgICBjb25mLT5zYV9mbGFncywKLSAJCQkJICAgICBjb25mLT5wcmtleV9zb3VyY2UpOwotIH0KLSAKLUBAIC0xMDcwLDYgKzEwODMsNyBAQCBtcF9yZXNlcnZhdGlvbl9rZXlfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQotIAlpZiAoIW1wZSkKLSAJCXJldHVybiAxOwotIAlyZXR1cm4gc2V0X3Jlc2VydmF0aW9uX2tleShzdHJ2ZWMsICZtcGUtPnJlc2VydmF0aW9uX2tleSwKLSsJCQkJICAgJm1wZS0+c2FfZmxhZ3MsCi0gCQkJCSAgICZtcGUtPnBya2V5X3NvdXJjZSk7Ci0gfQotIAotQEAgLTEwNzksNiArMTA5Myw3IEBAIHNucHJpbnRfbXBfcmVzZXJ2YXRpb25fa2V5IChzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICogYnVmZiwgaW50IGxlbiwKLSB7Ci0gCWNvbnN0IHN0cnVjdCBtcGVudHJ5ICogbXBlID0gKGNvbnN0IHN0cnVjdCBtcGVudHJ5ICopZGF0YTsKLSAJcmV0dXJuIHByaW50X3Jlc2VydmF0aW9uX2tleShidWZmLCBsZW4sIG1wZS0+cmVzZXJ2YXRpb25fa2V5LAotKwkJCQkgICAgIG1wZS0+c2FfZmxhZ3MsCi0gCQkJCSAgICAgbXBlLT5wcmtleV9zb3VyY2UpOwotIH0KLSAKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5oIGIvbGlibXVsdGlwYXRoL2RpY3QuaAotaW5kZXggNzU2NDg5Mi4uYTQwYWM2NiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9kaWN0LmgKLSsrKyBiL2xpYm11bHRpcGF0aC9kaWN0LmgKLUBAIC0xNSw2ICsxNSw3IEBAIGludCBwcmludF9wZ3BvbGljeShjaGFyICpidWZmLCBpbnQgbGVuLCBsb25nIHYpOwotIGludCBwcmludF9ub19wYXRoX3JldHJ5KGNoYXIgKmJ1ZmYsIGludCBsZW4sIGxvbmcgdik7Ci0gaW50IHByaW50X2Zhc3RfaW9fZmFpbChjaGFyICpidWZmLCBpbnQgbGVuLCBsb25nIHYpOwotIGludCBwcmludF9kZXZfbG9zcyhjaGFyICpidWZmLCBpbnQgbGVuLCB1bnNpZ25lZCBsb25nIHYpOwotLWludCBwcmludF9yZXNlcnZhdGlvbl9rZXkoY2hhciAqIGJ1ZmYsIGludCBsZW4sIHN0cnVjdCBiZTY0IGtleSwgaW50IHNvdXJjZSk7Ci0raW50IHByaW50X3Jlc2VydmF0aW9uX2tleShjaGFyICogYnVmZiwgaW50IGxlbiwgc3RydWN0IGJlNjQga2V5LCB1aW50OF90Ci0rCQkJICBmbGFncywgaW50IHNvdXJjZSk7Ci0gaW50IHByaW50X29mZl9pbnRfdW5kZWYoY2hhciAqYnVmZiwgaW50IGxlbiwgbG9uZyB2KTsKLSAjZW5kaWYgLyogX0RJQ1RfSCAqLwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9wcmtleS5jIGIvbGlibXVsdGlwYXRoL3Bya2V5LmMKLWluZGV4IDg5YjkwZWQuLmQ2NDVmODEgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJrZXkuYwotKysrIGIvbGlibXVsdGlwYXRoL3Bya2V5LmMKLUBAIC0xMSw2ICsxMSw4IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0rI2luY2x1ZGUgPG1wYXRoX3BlcnNpc3QuaD4KLSAKLSAjZGVmaW5lIFBSS0VZX1JFQUQgMAotICNkZWZpbmUgUFJLRVlfV1JJVEUgMQotQEAgLTEwOCw3ICsxMTAsOCBAQCBzdGF0aWMgaW50IGRvX3Bya2V5KGludCBmZCwgY2hhciAqd3dpZCwgY2hhciAqa2V5c3RyLCBpbnQgY21kKQotIAlyZXR1cm4gMDsKLSB9Ci0gCi0taW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSkKLStpbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5LAotKwkgICAgICB1aW50OF90ICpzYV9mbGFncykKLSB7Ci0gCWludCBmZDsKLSAJaW50IHVudXNlZDsKLUBAIC0xMjQsNiArMTI3LDkgQEAgaW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSkKLSAJcmV0ID0gZG9fcHJrZXkoZmQsIG1wcC0+d3dpZCwga2V5c3RyLCBQUktFWV9SRUFEKTsKLSAJaWYgKHJldCkKLSAJCWdvdG8gb3V0X2ZpbGU7Ci0rCSpzYV9mbGFncyA9IDA7Ci0rCWlmIChzdHJjaHIoa2V5c3RyLCAnWCcpKQotKwkJKnNhX2ZsYWdzID0gTVBBVEhfRl9BUFRQTF9NQVNLOwotIAlyZXQgPSAhIXBhcnNlX3Bya2V5KGtleXN0ciwgcHJrZXkpOwotIG91dF9maWxlOgotIAljbG9zZShmZCk7Ci1AQCAtMTMxLDcgKzEzNyw4IEBAIG91dDoKLSAJcmV0dXJuIHJldDsKLSB9Ci0gCi0taW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5KQotK2ludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSwKLSsJICAgICAgdWludDhfdCBzYV9mbGFncykKLSB7Ci0gCWludCBmZDsKLSAJaW50IGNhbl93cml0ZSA9IDE7Ci1AQCAtMTQxLDYgKzE0OCwxMiBAQCBpbnQgc2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgcHJrZXkpCi0gCWlmICghc3RybGVuKG1wcC0+d3dpZCkpCi0gCQlnb3RvIG91dDsKLSAKLSsJaWYgKHNhX2ZsYWdzICYgfk1QQVRIX0ZfQVBUUExfTUFTSykgewotKwkJY29uZGxvZygwLCAidW5zdXBwb3J0ZWQgcHIgZmxhZ3MsIDB4JXgiLAotKwkJCXNhX2ZsYWdzICYgfk1QQVRIX0ZfQVBUUExfTUFTSyk7Ci0rCQlzYV9mbGFncyAmPSBNUEFUSF9GX0FQVFBMX01BU0s7Ci0rCX0KLSsKLSAJZmQgPSBvcGVuX2ZpbGUoY29uZi0+cHJrZXlzX2ZpbGUsICZjYW5fd3JpdGUsIFBSS0VZU19GSUxFX0hFQURFUik7Ci0gCWlmIChmZCA8IDApCi0gCQlnb3RvIG91dDsKLUBAIC0xNDksNyArMTYyLDE1IEBAIGludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSkKLSAJCWdvdG8gb3V0X2ZpbGU7Ci0gCX0KLSAJaWYgKHBya2V5KSB7Ci0tCQlzbnByaW50ZihrZXlzdHIsIFBSS0VZX1NJWkUsICIweCUwMTYiIFBSSXg2NCwgcHJrZXkpOwotKwkJLyogdXNpbmcgdGhlIGNhcGl0YWxpemF0aW9uIG9mIHRoZSAneCcgaXMgYSBoYWNrLCBidXQKLSsJCSAqIGl0J3MgdW5saWtlbHkgdGhhdCBtcGF0aF9wZXJzaXN0IHdpbGwgc3VwcG9ydCBtb3JlIG9wdGlvbnMKLSsJCSAqIHNpbmNlIHNnX3BlcnNpc3QgZG9lc24ndCwgYW5kIHRoaXMgbGV0cyB1cyBrZWVwIHRoZQotKwkJICogc2FtZSBmaWxlIGZvcm1hdCBhcyBiZWZvcmUgaW5zdGVhZCBvZiBuZWVkaW5nIHRvIGNoYW5nZQotKwkJICogdGhlIGZvcm1hdCBvZiB0aGUgcHJrZXlzIGZpbGUgKi8KLSsJCWlmIChzYV9mbGFncykKLSsJCQlzbnByaW50ZihrZXlzdHIsIFBSS0VZX1NJWkUsICIwWCUwMTYiIFBSSXg2NCwgcHJrZXkpOwotKwkJZWxzZQotKwkJCXNucHJpbnRmKGtleXN0ciwgUFJLRVlfU0laRSwgIjB4JTAxNiIgUFJJeDY0LCBwcmtleSk7Ci0gCQlrZXlzdHJbUFJLRVlfU0laRSAtIDFdID0gJ1wwJzsKLSAJCXJldCA9IGRvX3Bya2V5KGZkLCBtcHAtPnd3aWQsIGtleXN0ciwgUFJLRVlfV1JJVEUpOwotIAl9Ci1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Bya2V5LmggYi9saWJtdWx0aXBhdGgvcHJrZXkuaAotaW5kZXggNDAyOGU3MC4uNjczOTE5MSAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcmtleS5oCi0rKysgYi9saWJtdWx0aXBhdGgvcHJrZXkuaAotQEAgLTEzLDcgKzEzLDkgQEAKLSAiIyBwcmtleSB3d2lkXG4iIFwKLSAiI1xuIgotIAotLWludCBzZXRfcHJrZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXBwLCB1aW50NjRfdCBwcmtleSk7Ci0taW50IGdldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90ICpwcmtleSk7Ci0raW50IHNldF9wcmtleShzdHJ1Y3QgY29uZmlnICpjb25mLCBzdHJ1Y3QgbXVsdGlwYXRoICptcHAsIHVpbnQ2NF90IHBya2V5LAotKwkgICAgICB1aW50OF90IHNhX2ZsYWdzKTsKLStpbnQgZ2V0X3Bya2V5KHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wcCwgdWludDY0X3QgKnBya2V5LAotKwkgICAgICB1aW50OF90ICpzYV9mbGFncyk7Ci0gCi0gI2VuZGlmIC8qIF9QUktFWV9IICovCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL3Byb3BzZWwuYyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLWluZGV4IDljYTEzNTUuLjYyYTY4OTMgMTAwNjQ0Ci0tLS0gYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi0rKysgYi9saWJtdWx0aXBhdGgvcHJvcHNlbC5jCi1AQCAtMTA2LDYgKzEwNiw3IEBAIGRvIHsJCQkJCQkJCQlcCi0gCWlmIChzcmMgJiYgc3JjLT5wcmtleV9zb3VyY2UgIT0gUFJLRVlfU09VUkNFX05PTkUpIHsJCVwKLSAJCW1wLT5wcmtleV9zb3VyY2UgPSBzcmMtPnBya2V5X3NvdXJjZTsJCQlcCi0gCQltcC0+cmVzZXJ2YXRpb25fa2V5ID0gc3JjLT5yZXNlcnZhdGlvbl9rZXk7CQlcCi0rCQltcC0+c2FfZmxhZ3MgPSBzcmMtPnNhX2ZsYWdzOwkJCQlcCi0gCQlvcmlnaW4gPSBtc2c7CQkJCQkJXAotIAkJZ290byBvdXQ7CQkJCQkJXAotIAl9CQkJCQkJCQlcCi1AQCAtNzAzLDE4ICs3MDQsMTkgQEAgaW50IHNlbGVjdF9yZXNlcnZhdGlvbl9rZXkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IG11bHRpcGF0aCAqbXApCi0gCWRvX3Bya2V5X3NldChtcC0+bXBlLCBtdWx0aXBhdGhzX29yaWdpbik7Ci0gCWRvX3Bya2V5X3NldChjb25mLCBjb25mX29yaWdpbik7Ci0gCXB1dF9iZTY0KG1wLT5yZXNlcnZhdGlvbl9rZXksIDApOwotKwltcC0+c2FfZmxhZ3MgPSAwOwotIAltcC0+cHJrZXlfc291cmNlID0gUFJLRVlfU09VUkNFX05PTkU7Ci0gCXJldHVybiAwOwotIG91dDoKLSAJaWYgKG1wLT5wcmtleV9zb3VyY2UgPT0gUFJLRVlfU09VUkNFX0ZJTEUpIHsKLSAJCWZyb21fZmlsZSA9ICIgKGZyb20gcHJrZXlzIGZpbGUpIjsKLS0JCWlmIChnZXRfcHJrZXkoY29uZiwgbXAsICZwcmtleSkgIT0gMCkKLSsJCWlmIChnZXRfcHJrZXkoY29uZiwgbXAsICZwcmtleSwgJm1wLT5zYV9mbGFncykgIT0gMCkKLSAJCQlwdXRfYmU2NChtcC0+cmVzZXJ2YXRpb25fa2V5LCAwKTsKLSAJCWVsc2UKLSAJCQlwdXRfYmU2NChtcC0+cmVzZXJ2YXRpb25fa2V5LCBwcmtleSk7Ci0gCX0KLSAJcHJpbnRfcmVzZXJ2YXRpb25fa2V5KGJ1ZmYsIFBSS0VZX1NJWkUsIG1wLT5yZXNlcnZhdGlvbl9rZXksCi0tCQkJICAgICAgbXAtPnBya2V5X3NvdXJjZSk7Ci0rCQkJICAgICAgbXAtPnNhX2ZsYWdzLCBtcC0+cHJrZXlfc291cmNlKTsKLSAJY29uZGxvZygzLCAiJXM6IHJlc2VydmF0aW9uX2tleSA9ICVzICVzJXMiLCBtcC0+YWxpYXMsIGJ1ZmYsIG9yaWdpbiwKLSAJCWZyb21fZmlsZSk7Ci0gCXJldHVybiAwOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9zdHJ1Y3RzLmggYi9saWJtdWx0aXBhdGgvc3RydWN0cy5oCi1pbmRleCAwMTk0YjFlLi45ODc0NzlmIDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotKysrIGIvbGlibXVsdGlwYXRoL3N0cnVjdHMuaAotQEAgLTM2Nyw2ICszNjcsNyBAQCBzdHJ1Y3QgbXVsdGlwYXRoIHsKLSAJLyogcGVyc2lzdGVudCBtYW5hZ2VtZW50IGRhdGEqLwotIAlpbnQgcHJrZXlfc291cmNlOwotIAlzdHJ1Y3QgYmU2NCByZXNlcnZhdGlvbl9rZXk7Ci0rCXVpbnQ4X3Qgc2FfZmxhZ3M7Ci0gCXVuc2lnbmVkIGNoYXIgcHJmbGFnOwotIAlpbnQgYWxsX3RnX3B0OwotIAlzdHJ1Y3QgZ2VuX211bHRpcGF0aCBnZW5lcmljX21wOwotZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC91dGlsLmMgYi9saWJtdWx0aXBhdGgvdXRpbC5jCi1pbmRleCA3MjUxYWQwLi44ZDhmY2M4IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL3V0aWwuYwotKysrIGIvbGlibXVsdGlwYXRoL3V0aWwuYwotQEAgLTEwLDYgKzEwLDggQEAKLSAjaW5jbHVkZSA8ZGlyZW50Lmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+Ci0rI2luY2x1ZGUgPG1wYXRoX3BlcnNpc3QuaD4KLSAKLSAjaW5jbHVkZSAidXRpbC5oIgotICNpbmNsdWRlICJkZWJ1Zy5oIgotQEAgLTQzNSw2ICs0MzcsMjAgQEAgaW50IHBhcnNlX3Bya2V5KGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5KQotIAlyZXR1cm4gMDsKLSB9Ci0gCi0raW50IHBhcnNlX3Bya2V5X2ZsYWdzKGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5LCB1aW50OF90ICpmbGFncykKLSt7Ci0rCWNoYXIgKmZsYWdzdHI7Ci0rCi0rCWZsYWdzdHIgPSBzdHJjaHIocHRyLCAnOicpOwotKwkqZmxhZ3MgPSAwOwotKwlpZiAoZmxhZ3N0cikgewotKwkJKmZsYWdzdHIrKyA9ICdcMCc7Ci0rCQlpZiAoc3RybGVuKGZsYWdzdHIpID09IDUgJiYgc3RyY21wKGZsYWdzdHIsICJhcHRwbCIpID09IDApCi0rCQkJKmZsYWdzID0gTVBBVEhfRl9BUFRQTF9NQVNLOwotKwl9Ci0rCXJldHVybiBwYXJzZV9wcmtleShwdHIsIHBya2V5KTsKLSt9Ci0rCi0gaW50IHNhZmVfd3JpdGUoaW50IGZkLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBjb3VudCkKLSB7Ci0gCXdoaWxlIChjb3VudCA+IDApIHsKLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvdXRpbC5oIGIvbGlibXVsdGlwYXRoL3V0aWwuaAotaW5kZXggYTNhYjg5NC4uNTZjZWM3NiAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC91dGlsLmgKLSsrKyBiL2xpYm11bHRpcGF0aC91dGlsLmgKLUBAIC0xOSw2ICsxOSw3IEBAIHZvaWQgc2V0dXBfdGhyZWFkX2F0dHIocHRocmVhZF9hdHRyX3QgKmF0dHIsIHNpemVfdCBzdGFja3NpemUsIGludCBkZXRhY2hlZCk7Ci0gaW50IHN5c3RlbWRfc2VydmljZV9lbmFibGVkKGNvbnN0IGNoYXIgKmRldik7Ci0gaW50IGdldF9saW51eF92ZXJzaW9uX2NvZGUodm9pZCk7Ci0gaW50IHBhcnNlX3Bya2V5KGNoYXIgKnB0ciwgdWludDY0X3QgKnBya2V5KTsKLStpbnQgcGFyc2VfcHJrZXlfZmxhZ3MoY2hhciAqcHRyLCB1aW50NjRfdCAqcHJrZXksIHVpbnQ4X3QgKmZsYWdzKTsKLSBpbnQgc2FmZV93cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KTsKLSAKLSAjZGVmaW5lIEtFUk5FTF9WRVJTSU9OKG1haiwgbWluLCBwdGMpICgoKChtYWopICogMjU2KSArIChtaW4pKSAqIDI1NiArIChwdGMpKQotZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41IGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLWluZGV4IDMxZjQ1ODUuLjMwZDg1OTggMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotKysrIGIvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUKLUBAIC03MjYsMTQgKzcyNiwxNyBAQCBUaGlzIGlzIHRoZSBzZXJ2aWNlIGFjdGlvbiByZXNlcnZhdGlvbiBrZXkgdXNlZCBieSBtcGF0aHBlcnNpc3QuIEl0IG11c3QgYmUKLSBzZXQgZm9yIGFsbCBtdWx0aXBhdGggZGV2aWNlcyB1c2luZyBwZXJzaXN0ZW50IHJlc2VydmF0aW9ucywgYW5kIGl0IG11c3QgYmUKLSB0aGUgc2FtZSBhcyB0aGUgUkVTRVJWQVRJT04gS0VZIGZpZWxkIG9mIHRoZSBQRVJTSVNURU5UIFJFU0VSVkUgT1VUIHBhcmFtZXRlcgotIGxpc3Qgd2hpY2ggY29udGFpbnMgYW4gOC1ieXRlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbiBjbGllbnQgdG8gdGhlCi0tZGV2aWNlIHNlcnZlciB0byBpZGVudGlmeSB0aGUgSV9UIG5leHVzLgotK2RldmljZSBzZXJ2ZXIgdG8gaWRlbnRpZnkgdGhlIElfVCBuZXh1cy4gSWYgdGhlIFxmSS0tcGFyYW0tYXB0cGxcZlIgb3B0aW9uIGlzCi0rdXNlZCB3aGVuIHJlZ2lzdGVyaW5nIHRoZSBrZXkgd2l0aCBtcGF0aHBlcnNpc3QsIFxmQjphcHRwbFxmUiBtdXN0IGJlIGFwcGVuZGVkCi0rdG8gdGhlIGVuZCBvZiB0aGUgcmVzZXJ2YXRpb24ga2V5LgotIC5SUwotIC5QUAotIEFsdGVybmF0aXZlbHksIHRoaXMgY2FuIGJlIHNldCB0byBcZkJmaWxlXGZSLCB3aGljaCB3aWxsIHN0b3JlIHRoZSBSRVNFUlZBVElPTgotIEtFWSByZWdpc3RlcmVkIGJ5IG1wYXRocGVyc2lzdCBpbiB0aGUgXGZJcHJrZXlzX2ZpbGVcZlIuIG11bHRpcGF0aGQgd2lsbCB0aGVuCi0gdXNlIHRoaXMga2V5IHRvIHJlZ2lzdGVyIGFkZGl0aW9uYWwgcGF0aHMgYXMgdGhleSBhcHBlYXIuICBXaGVuIHRoZQotIHJlZ2lzdHJhdGlvbiBpcyByZW1vdmVkLCB0aGUgUkVTRVJWQVRJT04gS0VZIGlzIHJlbW92ZWQgZnJvbSB0aGUKLS1cZklwcmtleXNfZmlsZVxmUi4KLStcZklwcmtleXNfZmlsZVxmUi4gVGhlIHBya2V5cyBmaWxlIHdpbGwgYXV0b21hdGljYWxseSBrZWVwIHRyYWNrIG9mIHdoZXRoZXIKLSt0aGUga2V5IHdhcyByZWdpc3RlcmVkIHdpdGggXGZJLS1wYXJhbS1hcHRwbFxmUi4KLSAuVFAKLSBUaGUgZGVmYXVsdCBpczogXGZCPHVuc2V0PlxmUgotIC5SRQotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvY2xpX2hhbmRsZXJzLmMgYi9tdWx0aXBhdGhkL2NsaV9oYW5kbGVycy5jCi1pbmRleCBiYTUwZmI4Li42NDUyNzk2IDEwMDY0NAotLS0tIGEvbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYwotKysrIGIvbXVsdGlwYXRoZC9jbGlfaGFuZGxlcnMuYwotQEAgLTIxLDYgKzIxLDcgQEAKLSAjaW5jbHVkZSAic3lzZnMuaCIKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8bGlidWRldi5oPgotKyNpbmNsdWRlIDxtcGF0aF9wZXJzaXN0Lmg+Ci0gI2luY2x1ZGUgInV0aWwuaCIKLSAjaW5jbHVkZSAicHJrZXkuaCIKLSAjaW5jbHVkZSAicHJvcHNlbC5oIgotQEAgLTE0NjMsNiArMTQ2NCw3IEBAIGNsaV9nZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJc3RydWN0IG11bHRpcGF0aCAqIG1wcDsKLSAJc3RydWN0IHZlY3RvcnMgKiB2ZWNzID0gKHN0cnVjdCB2ZWN0b3JzICopZGF0YTsKLSAJY2hhciAqbWFwbmFtZSA9IGdldF9rZXlwYXJhbSh2LCBNQVApOwotKwljaGFyICpmbGFnc3RyID0gIiI7Ci0gCi0gCW1hcG5hbWUgPSBjb252ZXJ0X2RldihtYXBuYW1lLCAwKTsKLSAJY29uZGxvZygzLCAiJXM6IGdldCBwZXJzaXN0ZW50IHJlc2VydmF0aW9uIGtleSAob3BlcmF0b3IpIiwgbWFwbmFtZSk7Ci1AQCAtMTQ3OCw4ICsxNDgwLDEwIEBAIGNsaV9nZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJCSpsZW4gPSBzdHJsZW4oKnJlcGx5KSArIDE7Ci0gCQlyZXR1cm4gMDsKLSAJfQotLQlzbnByaW50ZigqcmVwbHksIDIwLCAiMHglIiBQUkl4NjQgIlxuIiwKLS0JCSBnZXRfYmU2NChtcHAtPnJlc2VydmF0aW9uX2tleSkpOwotKwlpZiAobXBwLT5zYV9mbGFncyAmIE1QQVRIX0ZfQVBUUExfTUFTSykKLSsJCWZsYWdzdHIgPSAiOmFwdHBsIjsKLSsJc25wcmludGYoKnJlcGx5LCAyMCwgIjB4JSIgUFJJeDY0ICIlc1xuIiwKLSsJCSBnZXRfYmU2NChtcHAtPnJlc2VydmF0aW9uX2tleSksIGZsYWdzdHIpOwotIAkoKnJlcGx5KVsxOV0gPSAnXDAnOwotIAkqbGVuID0gc3RybGVuKCpyZXBseSkgKyAxOwotIAlyZXR1cm4gMDsKLUBAIC0xNTAzLDcgKzE1MDcsNyBAQCBjbGlfdW5zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAKLSAJY29uZiA9IGdldF9tdWx0aXBhdGhfY29uZmlnKCk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHB1dF9tdWx0aXBhdGhfY29uZmlnLCBjb25mKTsKLS0JcmV0ID0gc2V0X3Bya2V5KGNvbmYsIG1wcCwgMCk7Ci0rCXJldCA9IHNldF9wcmtleShjb25mLCBtcHAsIDAsIDApOwotIAlwdGhyZWFkX2NsZWFudXBfcG9wKDEpOwotIAotIAlyZXR1cm4gcmV0OwotQEAgLTE1MTcsNiArMTUyMSw3IEBAIGNsaV9zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJY2hhciAqbWFwbmFtZSA9IGdldF9rZXlwYXJhbSh2LCBNQVApOwotIAljaGFyICprZXlwYXJhbSA9IGdldF9rZXlwYXJhbSh2LCBLRVkpOwotIAl1aW50NjRfdCBwcmtleTsKLSsJdWludDhfdCBmbGFnczsKLSAJaW50IHJldDsKLSAJc3RydWN0IGNvbmZpZyAqY29uZjsKLSAKLUBAIC0xNTI3LDE0ICsxNTMyLDE0IEBAIGNsaV9zZXRwcmtleSh2b2lkICogdiwgY2hhciAqKiByZXBseSwgaW50ICogbGVuLCB2b2lkICogZGF0YSkKLSAJaWYgKCFtcHApCi0gCQlyZXR1cm4gMTsKLSAKLS0JaWYgKHBhcnNlX3Bya2V5KGtleXBhcmFtLCAmcHJrZXkpICE9IDApIHsKLSsJaWYgKHBhcnNlX3Bya2V5X2ZsYWdzKGtleXBhcmFtLCAmcHJrZXksICZmbGFncykgIT0gMCkgewotIAkJY29uZGxvZygwLCAiJXM6IGludmFsaWQgcHJrZXkgOiAnJXMnIiwgbWFwbmFtZSwga2V5cGFyYW0pOwotIAkJcmV0dXJuIDE7Ci0gCX0KLSAKLSAJY29uZiA9IGdldF9tdWx0aXBhdGhfY29uZmlnKCk7Ci0gCXB0aHJlYWRfY2xlYW51cF9wdXNoKHB1dF9tdWx0aXBhdGhfY29uZmlnLCBjb25mKTsKLS0JcmV0ID0gc2V0X3Bya2V5KGNvbmYsIG1wcCwgcHJrZXkpOwotKwlyZXQgPSBzZXRfcHJrZXkoY29uZiwgbXBwLCBwcmtleSwgZmxhZ3MpOwotIAlwdGhyZWFkX2NsZWFudXBfcG9wKDEpOwotIAotIAlyZXR1cm4gcmV0OwotZGlmZiAtLWdpdCBhL211bHRpcGF0aGQvbWFpbi5jIGIvbXVsdGlwYXRoZC9tYWluLmMKLWluZGV4IGQ0MGM0MTYuLjZiMWU3ODIgMTAwNjQ0Ci0tLS0gYS9tdWx0aXBhdGhkL21haW4uYwotKysrIGIvbXVsdGlwYXRoZC9tYWluLmMKLUBAIC0zMDg5LDYgKzMwODksNyBAQCB2b2lkICogIG1wYXRoX3ByX2V2ZW50X2hhbmRsZXJfZm4gKHZvaWQgKiBwYXRocCApCi0gCi0gCXBhcmFtPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm91dF9wYXJhbV9kZXNjcmlwdG9yKSk7Ci0gCW1lbXNldChwYXJhbSwgMCAsIHNpemVvZihzdHJ1Y3QgcHJvdXRfcGFyYW1fZGVzY3JpcHRvcikpOwotKwlwYXJhbS0+c2FfZmxhZ3MgPSBtcHAtPnNhX2ZsYWdzOwotIAltZW1jcHkocGFyYW0tPnNhX2tleSwgJm1wcC0+cmVzZXJ2YXRpb25fa2V5LCA4KTsKLSAJcGFyYW0tPm51bV90cmFuc3BvcnRpZCA9IDA7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE4LW11bHRpcGF0aC1kb24tdC1jaGVjay10aW1lc3RhbXBzLXdpdGhvdXQtYS1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhM2ZkODMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDUgSnVuIDIwMTggMTU6MzE6NTUgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoOiBkb24ndCBjaGVjayB0aW1lc3RhbXBzIHdpdGhvdXQgYSBwYXRoCi0KLUlmIGEgcGF0aCB3YXMgYmxhY2tsaXN0ZWQsIHBhdGh2ZWMgY291bGQgZXhpc3QgYnV0IGhhdmUgbm8gcGF0aCBpbiBpdC4KLXByaW50X2NtZF92YWxpZCB3YXNuJ3QgY2hlY2tpbmcgdGhpcyBiZWZvcmUgY2FsbGluZwotZmluZF9tdWx0aXBhdGhzX2NoZWNrX3RpbWVvdXQoKS4gVGhpcyB3YXMgY2F1c2luZyBpdCB0byBkZXJlZmVyZW5jZSBhCi1OVUxMIHBvaW50ZXIgaW4gdGhlc2UgY2FzZXMuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIG11bHRpcGF0aC9tYWluLmMgfCA0ICstLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggYzY5ZTk5Ni4uM2YwYTZhYSAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tYWluLmMKLSsrKyBiL211bHRpcGF0aC9tYWluLmMKLUBAIC00ODIsMTAgKzQ4Miw4IEBAIHN0YXRpYyBpbnQgcHJpbnRfY21kX3ZhbGlkKGludCBrLCBjb25zdCB2ZWN0b3IgcGF0aHZlYywKLSAJCQlwcCwgcHAtPmZpbmRfbXVsdGlwYXRoc190aW1lb3V0LCAmdW50aWwpOwotIAkJaWYgKHdhaXQgIT0gRklORF9NVUxUSVBBVEhTX1dBSVRJTkcpCi0gCQkJayA9IDE7Ci0tCX0gZWxzZSBpZiAocGF0aHZlYyAhPSBOVUxMKSB7Ci0tCQlwcCA9IFZFQ1RPUl9TTE9UKHBhdGh2ZWMsIDApOwotKwl9IGVsc2UgaWYgKHBhdGh2ZWMgIT0gTlVMTCAmJiAocHAgPSBWRUNUT1JfU0xPVChwYXRodmVjLCAwKSkpCi0gCQl3YWl0ID0gZmluZF9tdWx0aXBhdGhzX2NoZWNrX3RpbWVvdXQocHAsIDAsICZ1bnRpbCk7Ci0tCX0KLSAJaWYgKHdhaXQgPT0gRklORF9NVUxUSVBBVEhTX1dBSVRJTkcpCi0gCQlwcmludGYoIkZJTkRfTVVMVElQQVRIU19XQUlUX1VOVElMPVwiJWxkLiUwNmxkXCJcbiIsCi0gCQkJICAgICAgIHVudGlsLnR2X3NlYywgdW50aWwudHZfbnNlYy8xMDAwKTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTktbGlibXVsdGlwYXRoLWZpeC1kZXRlY3QtYWx1YS1jb3JuZXItY2FzZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDE5LWxpYm11bHRpcGF0aC1maXgtZGV0ZWN0LWFsdWEtY29ybmVyLWNhc2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzOTA4ZmEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMTktbGlibXVsdGlwYXRoLWZpeC1kZXRlY3QtYWx1YS1jb3JuZXItY2FzZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgOCBKdW4gMjAxOCAxNzoxMjozNyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJtdWx0aXBhdGg6IGZpeCBkZXRlY3QgYWx1YSBjb3JuZXIgY2FzZQotCi1JZiByZXRhaW5fYXR0YWNoX2h3X2hhbmRsZXIgPSBubywgdGhlbiB0aGUgcGF0aHMgdHBncyBzdGF0ZSB3aWxsIG5ldmVyCi1iZSBjaGVja2VkLCBhbmQgdGhlIG11bHRpcGF0aCBkZXZpY2Ugd2lsbCBhbHdheXMgc2VsZWN0IHRoZSBhbHVhCi1oYW5kbGVyLCBpZiBubyBvdGhlciBoYW5kbGVyIGlzIHNlbGVjdGVkLiB0aGUgcGF0aHMgdHBncyBzdGF0ZQotc2hvdWxkIGJlIGNoZWNrZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHJldGFpbl9od2hhbmRsZXIgdmFsdWUuCi0KLVNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLS0tLQotIGxpYm11bHRpcGF0aC9wcm9wc2VsLmMgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcHJvcHNlbC5jIGIvbGlibXVsdGlwYXRoL3Byb3BzZWwuYwotaW5kZXggNjJhNjg5My4uZjYyNmM3NCAxMDA2NDQKLS0tLSBhL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLSsrKyBiL2xpYm11bHRpcGF0aC9wcm9wc2VsLmMKLUBAIC00MDMsOSArNDAzLDExIEBAIGludCBzZWxlY3RfaHdoYW5kbGVyKHN0cnVjdCBjb25maWcgKmNvbmYsIHN0cnVjdCBtdWx0aXBhdGggKm1wKQotIAlib29sIGFsbF90cGdzID0gdHJ1ZTsKLSAKLSAJZGhfc3RhdGUgPSAmaGFuZGxlclsyXTsKLSsKLSsJdmVjdG9yX2ZvcmVhY2hfc2xvdChtcC0+cGF0aHMsIHBwLCBpKQotKwkJYWxsX3RwZ3MgPSBhbGxfdHBncyAmJiAocHAtPnRwZ3MgPiAwKTsKLSAJaWYgKG1wLT5yZXRhaW5faHdoYW5kbGVyICE9IFJFVEFJTl9IV0hBTkRMRVJfT0ZGKSB7Ci0gCQl2ZWN0b3JfZm9yZWFjaF9zbG90KG1wLT5wYXRocywgcHAsIGkpIHsKLS0JCQlhbGxfdHBncyA9IGFsbF90cGdzICYmIChwcC0+dHBncyA+IDApOwotIAkJCWlmIChnZXRfZGhfc3RhdGUocHAsIGRoX3N0YXRlLCBzaXplb2YoaGFuZGxlcikgLSAyKSA+IDAKLSAJCQkgICAgJiYgc3RyY21wKGRoX3N0YXRlLCAiZGV0YWNoZWQiKSkgewotIAkJCQltZW1jcHkoaGFuZGxlciwgIjEgIiwgMik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIwLW11bHRpcGF0aC1maXgtc2V0dGluZy1jb25mLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMC1tdWx0aXBhdGgtZml4LXNldHRpbmctY29uZi12ZXJzaW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjRmNDVlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIwLW11bHRpcGF0aC1maXgtc2V0dGluZy1jb25mLXZlcnNpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDggSnVuIDIwMTggMTc6MjM6MDcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoOiBmaXggc2V0dGluZyBjb25mLT52ZXJzaW9uCi0KLUNvbW1pdCBkM2I3MTQ5OCBzdG9wcGVkIG11bHRpcGF0aCBmcm9tIHNldHRpbmcgY29uZi0+dmVyc2lvbi4gSW5zdGVhZCwKLWl0IHdhcyBhbHdheXMgYmVpbmcgc2V0IHRvIDAuMC4wLiBNdWx0aXBhdGhkIHdhcyBzdGlsbCBzZXR0aW5nIHRoaXMKLWNvcnJlY3RseS4KLQotRml4ZXM6IGQzYjcxNDk4ICJtdWx0aXBhdGg6IGZpeCByY3UgdGhyZWFkIGNhbmNlbGxhdGlvbiBoYW5nIgotU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotLS0tCi0gbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jIGIvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jCi1pbmRleCBmMmJlZmFkLi44MTM2ZDE1IDEwMDY0NAotLS0tIGEvbGlibXVsdGlwYXRoL2Rldm1hcHBlci5jCi0rKysgYi9saWJtdWx0aXBhdGgvZGV2bWFwcGVyLmMKLUBAIC0yNDUsMTMgKzI0NSwxMyBAQCB2b2lkIGxpYm1wX2RtX2luaXQodm9pZCkKLSAJaW50IHZlcmJvc2l0eTsKLSAJdW5zaWduZWQgaW50IHZlcnNpb25bM107Ci0gCi0rCWlmIChkbV9wcmVyZXEodmVyc2lvbikpCi0rCQlleGl0KDEpOwotIAljb25mID0gZ2V0X211bHRpcGF0aF9jb25maWcoKTsKLSAJdmVyYm9zaXR5ID0gY29uZi0+dmVyYm9zaXR5OwotLQltZW1jcHkodmVyc2lvbiwgY29uZi0+dmVyc2lvbiwgc2l6ZW9mKHZlcnNpb24pKTsKLSsJbWVtY3B5KGNvbmYtPnZlcnNpb24sIHZlcnNpb24sIHNpemVvZih2ZXJzaW9uKSk7Ci0gCXB1dF9tdWx0aXBhdGhfY29uZmlnKGNvbmYpOwotIAlkbV9pbml0KHZlcmJvc2l0eSk7Ci0tCWlmIChkbV9wcmVyZXEodmVyc2lvbikpCi0tCQlleGl0KDEpOwotIAlkbV91ZGV2X3NldF9zeW5jX3N1cHBvcnQobGlibXBfZG1fdWRldl9zeW5jKTsKLSB9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaAppbmRleCA0ZWYzZTcwLi5lODhlMjU2IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMS1SSC1maXh1cC11ZGV2LXJ1bGVzLWZvci1yZWRoYXQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjEtUkgtZml4dXAtdWRldi1ydWxlcy1mb3ItcmVkaGF0LnBhdGNoCkBAIC0xMCwxOCArMTAsMjEgQEAKIHRvby4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcGRhdGUgcGF0Y2ggdG8gMC44LjAKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlLmluYyAgICAgICAgfCAyICstCiAga3BhcnR4L2twYXJ0eC5ydWxlcyB8IDIgKy0KICBtdWx0aXBhdGgvTWFrZWZpbGUgIHwgNCArKy0tCi0gbXVsdGlwYXRoL21haW4uYyAgICB8IDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluYyBiL01ha2VmaWxlLmluYwotaW5kZXggYWYyZjViYS4uMGIyNzFlYSAxMDA2NDQKK2luZGV4IGZjNzI4Y2EuLjJmMGJjZWEgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbmMKICsrKyBiL01ha2VmaWxlLmluYwotQEAgLTUxLDcgKzUxLDcgQEAgZW5kaWYKK0BAIC00OCw3ICs0OCw3IEBAIGVuZGlmCiAgcHJlZml4CQk9CiAgZXhlY19wcmVmaXgJPSAkKHByZWZpeCkKICB1c3JfcHJlZml4CT0gJChwcmVmaXgpCkBAIC02NCwxOSArNjcsNiBAQAogIAkkKFJNKSAkKERFU1RESVIpJChtYW44ZGlyKS8kKEVYRUMpLjguZ3oKICAJJChSTSkgJChERVNURElSKSQobWFuNWRpcikvJChFWEVDKS5jb25mLjUuZ3oKICAKLWRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggM2YwYTZhYS4uNmZkZGUwMyAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tYWluLmMKLSsrKyBiL211bHRpcGF0aC9tYWluLmMKLUBAIC0zODksNyArMzg5LDcgQEAgc3RhdGljIGludCBmaW5kX211bHRpcGF0aHNfY2hlY2tfdGltZW91dChjb25zdCBzdHJ1Y3QgcGF0aCAqcHAsIGxvbmcgdG1vLAotIAlzdHJ1Y3QgdGltZXNwZWMgbm93LCBmdGltZXNbMl0sIHRkaWZmOwotIAlzdHJ1Y3Qgc3RhdCBzdDsKLSAJbG9uZyBmZDsKLS0JaW50IHIsIGVyciwgcmV0cmllcyA9IDA7Ci0rCWludCByLCBlcnIgPSAwLCByZXRyaWVzID0gMDsKLSAKLSAJY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwgJm5vdyk7Ci0gCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKaW5kZXggNDUxYzUyNC4uZmQxMDYwOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjItUkgtUmVtb3ZlLXRoZS1wcm9wZXJ0eS1ibGFja2xpc3QtZXhjZXB0aW9uLWJ1aWx0aW4ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIgSnVsIDIwMTQgMTI6NDk6NTMgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IFJlbW92ZSB0aGUgcHJvcGVydHkgYmxhY2tsaXN0IGV4Y2VwdGlvbiBidWlsdGluCitGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAgMDA6MDA6MDAgMjAwMQorRnJvbTpCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IAorRGF0ZTogV2VkLCAyIEp1bCAgMjAxNCAxMjo0OTo1MyAtMDUwMCAKK1N1YmplY3Q6IFtQQVRDSF0gUkg6IFJlbW92ZSB0aGUgcHJvcGVydHkgYmxhY2tsaXN0ICBleGNlcHRpb24gYnVpbHRpbgogCiBNdWx0aXBhdGggc2V0IHRoZSBkZWZhdWx0IHByb3BlcnR5IGJsYWNrbGlzdCBleGNlcHRpb25zIHRvCiAoSURfU0NTSV9WUER8SURfV1dOKS4gIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgYmxhY2tsaXN0aW5nIHNvbWUgaW50ZXJuYWwKQEAgLTEyLDc2ICsxMiw0NiBAQAogaXQuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdGVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHBhdGNoIHRvIDAuOC4wCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGlibXVsdGlwYXRoL2JsYWNrbGlzdC5jICAgfCAxNSArKysrKystLS0tLS0tLS0KLSBtdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNSB8IDE0ICsrKysrKysrLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKKyBsaWJtdWx0aXBhdGgvYmxhY2tsaXN0LmMgfCAxMyArKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYyBiL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYwotaW5kZXggZWUzOTZlMi4uMTlkNDY5NyAxMDA2NDQKK2luZGV4IGUwZDAyNzkuLjlmNTgzMTMgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvYmxhY2tsaXN0LmMKICsrKyBiL2xpYm11bHRpcGF0aC9ibGFja2xpc3QuYwotQEAgLTE4MSwxMiArMTgxLDYgQEAgc2V0dXBfZGVmYXVsdF9ibGlzdCAoc3RydWN0IGNvbmZpZyAqIGNvbmYpCi0gCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyLCBPUklHSU5fREVGQVVMVCkpCi0gCQlyZXR1cm4gMTsKK0BAIC0xOTIsMTIgKzE5Miw2IEBAIHNldHVwX2RlZmF1bHRfYmxpc3QgKHN0cnVjdCBjb25maWcgKiBjb25mKQorIAljaGFyICogc3RyOworIAlpbnQgaTsKICAKLS0Jc3RyID0gU1RSRFVQKCIoU0NTSV9JREVOVF98SURfV1dOKSIpOworLQlzdHIgPSBTVFJEVVAoIl4ocmFtfHpyYW18cmF3fGxvb3B8ZmR8bWR8ZG0tfHNyfHNjZHxzdHxkY3NzYmxrKVswLTldIik7CiAtCWlmICghc3RyKQogLQkJcmV0dXJuIDE7Ci0tCWlmIChzdG9yZV9ibGUoY29uZi0+ZWxpc3RfcHJvcGVydHksIHN0ciwgT1JJR0lOX0RFRkFVTFQpKQorLQlpZiAoc3RvcmVfYmxlKGNvbmYtPmJsaXN0X2Rldm5vZGUsIHN0ciwgT1JJR0lOX0RFRkFVTFQpKQogLQkJcmV0dXJuIDE7CiAtCi0gCXZlY3Rvcl9mb3JlYWNoX3Nsb3QgKGNvbmYtPmh3dGFibGUsIGh3ZSwgaSkgewotIAkJaWYgKGh3ZS0+YmxfcHJvZHVjdCkgewotIAkJCWlmIChfYmxhY2tsaXN0X2RldmljZShjb25mLT5ibGlzdF9kZXZpY2UsIGh3ZS0+dmVuZG9yLAotQEAgLTM5MCw5ICszODQsMTIgQEAgZmlsdGVyX3Byb3BlcnR5KHN0cnVjdCBjb25maWcgKiBjb25mLCBzdHJ1Y3QgdWRldl9kZXZpY2UgKiB1ZGV2KQotIAkgKiBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIHRoZSAnbm9ybWFsJyBtYXRjaGluZzsKLSAJICogdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIF9oYXNfIHRvIG1hdGNoLgotIAkgKi8KLS0JbG9nX2ZpbHRlcihkZXZuYW1lLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAotLQkJICAgTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORyk7Ci0tCXJldHVybiBNQVRDSF9QUk9QRVJUWV9CTElTVF9NSVNTSU5HOwotKwlpZiAoVkVDVE9SX1NJWkUoY29uZi0+ZWxpc3RfcHJvcGVydHkpKSB7Ci0rCQlsb2dfZmlsdGVyKGRldm5hbWUsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCi0rCQkJICAgTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORyk7Ci0rCQlyZXR1cm4gTUFUQ0hfUFJPUEVSVFlfQkxJU1RfTUlTU0lORzsKLSsJfQotKwlyZXR1cm4gMDsKKyAJc3RyID0gU1RSRFVQKCJeKHRkfGhkfHZkKVthLXpdIik7CisgCWlmICghc3RyKQorIAkJcmV0dXJuIDE7CitAQCAtNDE1LDggKzQwOSwxMSBAQCBmaWx0ZXJfcHJvcGVydHkoc3RydWN0IGNvbmZpZyAqY29uZiwgc3RydWN0IHVkZXZfZGV2aWNlICp1ZGV2LCBpbnQgbHZsKQorIAkJfQorIAl9CisgCistCWxvZ19maWx0ZXIoZGV2bmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgZW52LCBOVUxMLCByLCBsdmwpOworLQlyZXR1cm4gcjsKKysgICAgICAgaWYgKFZFQ1RPUl9TSVpFKGNvbmYtPmVsaXN0X3Byb3BlcnR5KSkgeworKyAgICAgICAgICAgICAgIGxvZ19maWx0ZXIoZGV2bmFtZSwgTlVMTCwgTlVMTCwgTlVMTCwgZW52LCBOVUxMLCByLCBsdmwpOworKyAgICAgICAgICAgICAgIHJldHVybiByOworKyAgICAgICB9CisrICAgICAgIHJldHVybiAwOwogIH0KICAKLSB2b2lkCi1kaWZmIC0tZ2l0IGEvbXVsdGlwYXRoL211bHRpcGF0aC5jb25mLjUgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotaW5kZXggMzBkODU5OC4uYzQ1ZGE5ZiAxMDA2NDQKLS0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGguY29uZi41Ci0rKysgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLmNvbmYuNQotQEAgLTExNzksMTAgKzExNzksNiBAQCBUaGUgXGZJV29ybGQgV2lkZSBJZGVudGlmaWNhdGlvblxmUiBvZiBhIGRldmljZS4KLSAuVFAKLSAuQiBwcm9wZXJ0eQotIFJlZ3VsYXIgZXhwcmVzc2lvbiBvZiB0aGUgdWRldiBwcm9wZXJ0eSB0byBiZSB3aGl0ZWxpc3RlZC4KLS0uUlMKLS0uVFAKLS1UaGUgZGVmYXVsdCBpczogXGZCKFNDU0lfSURFTlRffElEX1dXTilcZlIKLS0uUkUKLSAuVFAKLSAuQiBkZXZpY2UKLSBTdWJzZWN0aW9uIGZvciB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uLiBUaGlzIHN1YnNlY3Rpb24gcmVjb2duaXplcyB0aGUKLUBAIC0xMTkzLDggKzExODksMTQgQEAga2V5d29yZHMuIEZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2YgdGhlc2Uga2V5d29yZHMgcGxlYXNlIHNlZSB0aGUgXGZJZGV2aWNlc1xmUgotIHNlY3Rpb24gZGVzY3JpcHRpb24uCi0gLkxQCi0gVGhlIFxmSXByb3BlcnR5XGZSIHdoaXRlbGlzdCBoYW5kbGluZyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdXN1YWwKLS1oYW5kbGluZyBpbiB0aGUgc2Vuc2UgdGhhdCB0aGUgZGV2aWNlIFxmSWhhc1xmUiB0byBoYXZlIGEgdWRldiBwcm9wZXJ0eSB0aGF0Ci0tbWF0Y2hlcyB0aGUgd2hpdGVsaXN0LCBvdGhlcndpc2UgdGhlIGRldmljZSB3aWxsIGJlIGJsYWNrbGlzdGVkLiBJbiB0aGVzZSBjYXNlcyB0aGUgbWVzc2FnZSBcZklibGFja2xpc3RlZCwgdWRldiBwcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLgotK2hhbmRsaW5nIGluIHRoZSBzZW5zZSB0aGF0IGlmIHRoZSBwcm9wZXJ5IHdoaXRlbGlzdCBpcyBzZXQsIHRoZSBkZXZpY2UKLStcZkloYXNcZlIgdG8gaGF2ZSBhIHVkZXYgcHJvcGVydHkgdGhhdCBtYXRjaGVzIHRoZSB3aGl0ZWxpc3QsIG90aGVyd2lzZSB0aGUKLStkZXZpY2Ugd2lsbCBiZSBibGFja2xpc3RlZC4gSW4gdGhlc2UgY2FzZXMgdGhlIG1lc3NhZ2UgXGZJYmxhY2tsaXN0ZWQsIHVkZXYKLStwcm9wZXJ0eSBtaXNzaW5nXGZSIHdpbGwgYmUgZGlzcGxheWVkLiBGb3IgZXhhbXBsZSBzZXR0dGluZyB0aGUKLStwcm9wZXJ0eSBibGFja2xpc3RfZXhjZXB0aW9uIHRvIFxmQihTQ1NJX0lERU5UX3xJRF9XV04pXGZSIHdpbGwgYmxhY2tsaXN0Ci0rYWxsIGRldmljZXMgdGhhdCBoYXZlIG5vIHVkZXYgcHJvcGVydHkgd2hvc2UgbmFtZSByZWdleCBtYXRjaGVzIGVpdGhlcgotK1xmQlNDU0lfSURFTlRfXGZSIG9yIFxmQklEX1dXTlxmUi4gVGhpcyB3b3JrcyB0byBleGNsdWRlIG1vc3QKLStub24tbXVsdGlwYXRoYWJsZSBkZXZpY2VzLgotIC4KLSAuCi0gLlwiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzdGF0aWMgdm9pZCBmcmVlX2JsZShzdHJ1Y3QgYmxlbnRyeSAqYmxlKQogLS0gCiAyLjcuNAogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMy1SSC1kb24tdC1zdGFydC13aXRob3V0LWEtY29uZmlnLWZpbGUucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyMy1SSC1kb24tdC1zdGFydC13aXRob3V0LWEtY29uZmlnLWZpbGUucGF0Y2gKaW5kZXggODg2ZjFjOC4uZWE2MTM3ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDIzLVJILWRvbi10LXN0YXJ0LXdpdGhvdXQtYS1jb25maWctZmlsZS5wYXRjaApAQCAtMSw3ICsxLDEwIEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE1IE9jdCAyMDE0IDEwOjM5OjMwIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiBkb24ndCBzdGFydCB3aXRob3V0IGEgY29uZmlnIGZpbGUKK0Zyb20gMGJmOGZmOGRhYjI2MjAxYjI2OGI0MTk4MDk4NDRjMDdlMTY4ZjE3ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE3OjI1OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZyb20gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCBNb24gU2VwIDE3CisgMDA6MDA6MDAgMjAwMSBGcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+IERhdGU6IFdlZCwgMTUKKyBPY3QgMjAxNCAxMDozOTozMCAtMDUwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiBkb24ndCBzdGFydCB3aXRob3V0IGEgY29uZmlnCisgZmlsZQogCiBJZiAvZXRjL211bHRpcGF0aC5jb25mIGRvZXNuJ3QgZXhpc3QsIGRvbid0IHN0YXJ0IG11bHRpcGF0aGQgYW5kIGJsYWNrbGlzdAogYWxsIGRldmljZXMgd2hlbiBydW5uaW5nIG11bHRpcGF0aC4gIEEgY29tcGxldGVseSBibGFuayBjb25maWd1cmF0aW9uIGZpbGUKQEAgLTExLDE2ICsxNCwyMSBAQAogL2V0Yy9tdWx0aXBhdGguY29uZiB3aWxsIGtlZXAgbXVsdGlwYXRoIGZyb20gZG9pbmcgYW55dGhpbmcuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gbGlibXVsdGlwYXRoL2NvbmZpZy5jICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKKyBsaWJtdWx0aXBhdGgvY29uZmlnLmMgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwogIGxpYm11bHRpcGF0aC9jb25maWcuaCAgICAgICAgIHwgIDEgKwogIG11bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMgICAgIHwgIDEgKwogIG11bHRpcGF0aGQvbXVsdGlwYXRoZC44ICAgICAgIHwgIDIgKysKICBtdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKykKKyA1IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9jb25maWcuYyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwotaW5kZXggNTg3MjkyNy4uMDYwNzQwMyAxMDA2NDQKK2luZGV4IDVhZjdhZjUuLmU0MjMzZjEgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvY29uZmlnLmMKICsrKyBiL2xpYm11bHRpcGF0aC9jb25maWcuYwogQEAgLTI2LDYgKzI2LDcgQEAKQEAgLTMwLDMwICszOCwzMyBAQAogKyNpbmNsdWRlICJ2ZXJzaW9uLmgiCiAgCiAgc3RhdGljIGludAotIGh3ZV9zdHJtYXRjaCAoc3RydWN0IGh3ZW50cnkgKmh3ZTEsIHN0cnVjdCBod2VudHJ5ICpod2UyKQotQEAgLTY1OCw2ICs2NTksMjAgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQotIAkJCWZhY3Rvcml6ZV9od3RhYmxlKGNvbmYtPmh3dGFibGUsIGJ1aWx0aW5faHd0YWJsZV9zaXplKTsKKyBod2Vfc3RybWF0Y2ggKGNvbnN0IHN0cnVjdCBod2VudHJ5ICpod2UxLCBjb25zdCBzdHJ1Y3QgaHdlbnRyeSAqaHdlMikKK0BAIC03NDMsNiArNzQ1LDIzIEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKKyAJCQlnb3RvIG91dDsKICAJCX0KLSAKKyAJCWZhY3Rvcml6ZV9od3RhYmxlKGNvbmYtPmh3dGFibGUsIGJ1aWx0aW5faHd0YWJsZV9zaXplLCBmaWxlKTsKICsJfSBlbHNlIHsKICsJCWNvbmRsb2coMCwgIi9ldGMvbXVsdGlwYXRoLmNvbmYgZG9lcyBub3QgZXhpc3QsIGJsYWNrbGlzdGluZyBhbGwgZGV2aWNlcy4iKTsKICsJCWlmIChjb25mLT5ibGlzdF9kZXZub2RlID09IE5VTEwpIHsKICsJCQljb25mLT5ibGlzdF9kZXZub2RlID0gdmVjdG9yX2FsbG9jKCk7CiArCQkJaWYgKCFjb25mLT5ibGlzdF9kZXZub2RlKSB7Ci0rCQkJCWNvbmRsb2coMCwgImNhbm5vdCBhbGxvY2F0ZSBibGFja2xpc3RcbiIpOworKwkJCQljb25mLT5ibGlzdF9kZXZub2RlID0gdmVjdG9yX2FsbG9jKCk7CisrCQkJCWlmICghY29uZi0+Ymxpc3RfZGV2bm9kZSkgeworKwkJCQkJY29uZGxvZygwLCAiY2Fubm90IGFsbG9jYXRlIGJsYWNrbGlzdFxuIik7CisrCQkJCQlnb3RvIG91dDsKKysJCQkJfQorKwkJCX0KKysJCQlpZiAoc3RvcmVfYmxlKGNvbmYtPmJsaXN0X2Rldm5vZGUsIHN0cmR1cCgiLioiKSwKKysJCQkJT1JJR0lOX05PX0NPTkZJRykpIHsKKysJCQkJY29uZGxvZygwLCAiY2Fubm90IHN0b3JlIGRlZmF1bHQgbm8tY29uZmlnIGJsYWNrbGlzdFxuIik7CiArCQkJCWdvdG8gb3V0OwogKwkJCX0KICsJCX0KLSsJCWlmIChzdG9yZV9ibGUoY29uZi0+Ymxpc3RfZGV2bm9kZSwgc3RyZHVwKCIuKiIpLAotKwkJICAgICAgICAgICAgICBPUklHSU5fTk9fQ09ORklHKSkgewotKwkJCWNvbmRsb2coMCwgImNhbm5vdCBzdG9yZSBkZWZhdWx0IG5vLWNvbmZpZyBibGFja2xpc3RcbiIpOwotKwkJCWdvdG8gb3V0OwotKwkJfQogIAl9CiAgCiAgCWNvbmYtPnByb2Nlc3NlZF9tYWluX2NvbmZpZyA9IDE7CiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZy5oIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCi1pbmRleCBmY2JlM2ZjLi4zYTQyNDM1IDEwMDY0NAoraW5kZXggN2QwY2Q5YS4uZDdmYjhlMiAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuaAogKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5oCiBAQCAtOSw2ICs5LDcgQEAKQEAgLTY1LDcgKzc2LDcgQEAKICAvKgogICAqIEluIGtlcm5lbCwgZmFzdF9pb19mYWlsID09IDAgbWVhbnMgaW1tZWRpYXRlIGZhaWx1cmUgb24gcnBvcnQgZGVsZXRlLgogZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMgYi9tdWx0aXBhdGgvbXVsdGlwYXRoLnJ1bGVzCi1pbmRleCBkNjU4MDczLi5iM2Y1NGQ3IDEwMDY0NAoraW5kZXggOWRmMTFhOS4uMDQ4NmJmNyAxMDA2NDQKIC0tLSBhL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMKICsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGgucnVsZXMKIEBAIC05LDYgKzksNyBAQCBJTVBPUlR7Y21kbGluZX09Im5vbXBhdGgiCkBAIC03Nyw3ICs4OCw3IEBACiAgRU5We0RFVlRZUEV9IT0icGFydGl0aW9uIiwgR09UTz0idGVzdF9kZXYiCiAgSU1QT1JUe3BhcmVudH09IkRNX01VTFRJUEFUSF9ERVZJQ0VfUEFUSCIKIGRpZmYgLS1naXQgYS9tdWx0aXBhdGhkL211bHRpcGF0aGQuOCBiL211bHRpcGF0aGQvbXVsdGlwYXRoZC44Ci1pbmRleCBlNzhhYzllLi4wOWNkZWFkIDEwMDY0NAoraW5kZXggOTRjM2Y5Ny4uZWQxM2VmZCAxMDA2NDQKIC0tLSBhL211bHRpcGF0aGQvbXVsdGlwYXRoZC44CiArKysgYi9tdWx0aXBhdGhkL211bHRpcGF0aGQuOAogQEAgLTM4LDYgKzM4LDggQEAgbWFwIHJlZ2FpbnMgaXRzIG1heGltdW0gcGVyZm9ybWFuY2UgYW5kIHJlZHVuZGFuY3kuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNC1SSC11c2UtcnBtLW9wdGZsYWdzLWlmLXByZXNlbnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNC1SSC11c2UtcnBtLW9wdGZsYWdzLWlmLXByZXNlbnQucGF0Y2gKaW5kZXggOTMzMGJmMC4uNzdkZDk2ZiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI0LVJILXVzZS1ycG0tb3B0ZmxhZ3MtaWYtcHJlc2VudC5wYXRjaApAQCAtMSw0OSArMSw1OCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxOSBBcHIgMjAxNyAwNjoxMDowMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogdXNlIHJwbSBvcHRmbGFncyBpZiBwcmVzZW50CitGcm9tIDQzNmY3NTk0NDg1ZTM1NTIzMjY5ZTY2MmM0YjVkYzNhMmMxMGZmOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAwOToxOToxNyArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBXZWQsIDE5CisgQXByIDIwMTcgMDY6MTA6MDEgLTA1MDAgU3ViamVjdDogW1BBVENIXSBSSDogdXNlIHJwbSBvcHRmbGFncyBpZiBwcmVzZW50CiAKIFVzZSB0aGUgcGFzc2VkIGluIG9wdGZsYWdzIHdoZW4gY29tcGlsaW5nIGFzIGFuIFJQTSwgYW5kIGtlZXAgdGhlCiBkZWZhdWx0IGZsYWdzIGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSBjdXJyZW50IGZlZG9yYSBmbGFncywgd2hpbGUKIHN0aWxsIGJlaW5nIGdlbmVyaWMuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK3VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBNYWtlZmlsZS5pbmMgfCAyNCArKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbmMgfCAyNSArKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbmMgYi9NYWtlZmlsZS5pbmMKLWluZGV4IDBiMjcxZWEuLjVmZjY5YTMgMTAwNjQ0CitpbmRleCBiODZjYmE2Li4yOTVhZmI5IDEwMDY0NAogLS0tIGEvTWFrZWZpbGUuaW5jCiArKysgYi9NYWtlZmlsZS5pbmMKLUBAIC04NSwxNCArODUsMjIgQEAgVEVTVF9DQ19PUFRJT04gPSAkKHNoZWxsIFwKK0BAIC04NSwxNSArODUsMjIgQEAgVEVTVF9DQ19PUFRJT04gPSAkKHNoZWxsIFwKICAJCWVjaG8gIiQoMikiOyBcCiAgCWZpKQogIAogLVNUQUNLUFJPVCA6PSAkKGNhbGwgVEVTVF9DQ19PUFRJT04sLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLC1mc3RhY2stcHJvdGVjdG9yKQorLUVSUk9SX0RJU0NBUkRFRF9RVUFMSUZJRVJTIDo9ICQoY2FsbCBURVNUX0NDX09QVElPTiwtV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzLCkKIC0KIC1PUFRGTEFHUwk9IC1PMiAtZyAtcGlwZSAtV2FsbCAtV2V4dHJhIC1XZm9ybWF0PTIgLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAogLQkJICAtV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IFwKIC0JCSAgLVduby1zaWduLWNvbXBhcmUgLVduby11bnVzZWQtcGFyYW1ldGVyIC1Xbm8tY2xvYmJlcmVkIFwKLS0JCSAgLVdlcnJvcj1jYXN0LXF1YWwgLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVycyBcCistCQkgIC1XZXJyb3I9Y2FzdC1xdWFsICQoRVJST1JfRElTQ0FSREVEX1FVQUxJRklFUlMpIFwKIC0JCSAgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgJChTVEFDS1BST1QpIFwKIC0JCSAgLS1wYXJhbT1zc3AtYnVmZmVyLXNpemU9NAogK2lmbmRlZiBSUE1fT1BUX0ZMQUdTCi0rCVNUQUNLUFJPVCA6PSAkKGNhbGwgVEVTVF9DQ19PUFRJT04sLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLC1mc3RhY2stcHJvdGVjdG9yKQotKwlPUFRGTEFHUwk9IC1PMiAtZyAtcGlwZSAtV2FsbCAtV2Vycm9yPWZvcm1hdC1zZWN1cml0eSBcCi0rCQkJICAtV3AsLURfRk9SVElGWV9TT1VSQ0U9MiAtZmV4Y2VwdGlvbnMgXAotKwkJCSAgJChTVEFDS1BST1QpIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAotKwkJCSAgLWdyZWNvcmQtZ2NjLXN3aXRjaGVzCi0rCWlmZXEgKCQoc2hlbGwgdGVzdCAtZiAvdXNyL2xpYi9ycG0vcmVkaGF0L3JlZGhhdC1oYXJkZW5lZC1jYzEgJiYgZWNobyAxKSwxKQotKwkJT1BURkxBR1MgKz0gLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMQotKwllbmRpZgorKyAgICAgICBTVEFDS1BST1QgOj0gJChjYWxsIFRFU1RfQ0NfT1BUSU9OLC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZywtZnN0YWNrLXByb3RlY3RvcikKKysgICAgICAgT1BURkxBR1MgICAgICAgID0gLU8yIC1nIC1waXBlIC1XYWxsIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLWZleGNlcHRpb25zIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgJChTVEFDS1BST1QpIC0tcGFyYW09c3NwLWJ1ZmZlci1zaXplPTQgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAtZ3JlY29yZC1nY2Mtc3dpdGNoZXMKKysgICAgICAgaWZlcSAoJChzaGVsbCB0ZXN0IC1mIC91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMSAmJiBlY2hvIDEpLDEpCisrICAgICAgICAgICAgICAgT1BURkxBR1MgKz0gLXNwZWNzPS91c3IvbGliL3JwbS9yZWRoYXQvcmVkaGF0LWhhcmRlbmVkLWNjMQorKyAgICAgICBlbmRpZgogK2Vsc2UKLSsJT1BURkxBR1MgPSAkKFJQTV9PUFRfRkxBR1MpCisrICAgICAgIE9QVEZMQUdTID0gJChSUE1fT1BUX0ZMQUdTKQogK2VuZGlmCi0rT1BURkxBR1MJKz0gLVdleHRyYSAtV3N0cmljdC1wcm90b3R5cGVzIC1XZm9ybWF0PTIgLVdlcnJvcj1pbXBsaWNpdC1pbnQgXAotKwkJICAgLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbiAtV25vLXNpZ24tY29tcGFyZSBcCi0rCQkgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVdlcnJvcj1jYXN0LXF1YWwgXAotKwkJICAgLVdlcnJvcj1kaXNjYXJkZWQtcXVhbGlmaWVycworK09QVEZMQUdTICAgICAgICs9IC1XZXh0cmEgLVdzdHJpY3QtcHJvdG90eXBlcyAtV2Zvcm1hdD0yIC1XZXJyb3I9aW1wbGljaXQtaW50IFwKKysgICAgICAgICAgICAgICAgICAtV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uIC1Xbm8tc2lnbi1jb21wYXJlIFwKKysgICAgICAgICAgICAgICAgICAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVdlcnJvcj1jYXN0LXF1YWwgXAorKyAgICAgICAgICAgICAgICAgIC1XZXJyb3I9ZGlzY2FyZGVkLXF1YWxpZmllcnMKICAKICBDRkxBR1MJCTo9ICQoT1BURkxBR1MpIC1EQklOX0RJUj1cIiQoYmluZGlyKVwiIC1ETElCX1NUUklORz1cIiR7TElCfVwiIC1EUlVOX0RJUj1cIiR7UlVOfVwiIFwKICAJCSAgIC1NTUQgLU1QICQoQ0ZMQUdTKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI1LVJILWFkZC1tcGF0aGNvbmYucGF0Y2gKaW5kZXggNWNhZDIyYi4uYTE0MDc3MSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNS1SSC1hZGQtbXBhdGhjb25mLnBhdGNoCkBAIC0xLDcgKzEsOSBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNiBPY3QgMjAxNCAxNTo0OTowMSAtMDUwMAotU3ViamVjdDogW1BBVENIXSBSSDogYWRkIG1wYXRoY29uZgorRnJvbSBlYjVhMzZlNmUwY2FlZGYwNjAwOGU0OGViNzdiN2JmN2M2NTM0ZWU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMDk6NTU6MTIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcKKyAwMDowMDowMCAyMDAxIEZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4gRGF0ZTogVGh1LCAxNgorIE9jdCAyMDE0IDE1OjQ5OjAxIC0wNTAwIFN1YmplY3Q6IFtQQVRDSF0gUkg6IGFkZCBtcGF0aGNvbmYKIAogbXBhdGhjb25mIGlzIGEgcHJvZ3JhbSAobGFyZ2VseSBiYXNlZCBvbiBsdm1jb21mKSB0byBoZWxwIHVzZXJzCiBjb25maWd1cmUgL2V0Yy9tdWx0aXBhdGguY29uZiBhbmQgZW5hYmxlIG9yIGRpc2FibGUgbXVsdGlwYXRoaW5nLiAgSXQKQEAgLTExLDYgKzEzLDEyIEBACiBhIHNpbmdsZSBjb21tYW5kLgogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCit1cGRhdGUgdGhpcyBwYXRjaCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL2NvbmZpZy5jIHwgICAxICsKICBtdWx0aXBhdGgvTWFrZWZpbGUgICAgfCAgIDUgKwpAQCAtMjEsMTEgKzI5LDExIEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IG11bHRpcGF0aC9tcGF0aGNvbmYuOAogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL2NvbmZpZy5jIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1pbmRleCAwNjA3NDAzLi41Yzk4ZTQ4IDEwMDY0NAoraW5kZXggZTQyMzNmMS4uYjc3OTUwNSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9jb25maWcuYwogKysrIGIvbGlibXVsdGlwYXRoL2NvbmZpZy5jCi1AQCAtNjYxLDYgKzY2MSw3IEBAIGxvYWRfY29uZmlnIChjaGFyICogZmlsZSkKLSAKK0BAIC03NDcsNiArNzQ3LDcgQEAgbG9hZF9jb25maWcgKGNoYXIgKiBmaWxlKQorIAkJZmFjdG9yaXplX2h3dGFibGUoY29uZi0+aHd0YWJsZSwgYnVpbHRpbl9od3RhYmxlX3NpemUsIGZpbGUpOwogIAl9IGVsc2UgewogIAkJY29uZGxvZygwLCAiL2V0Yy9tdWx0aXBhdGguY29uZiBkb2VzIG5vdCBleGlzdCwgYmxhY2tsaXN0aW5nIGFsbCBkZXZpY2VzLiIpOwogKwkJY29uZGxvZygwLCAiWW91IGNhbiBydW4gL3NiaW4vbXBhdGhjb25mIHRvIGNyZWF0ZSBvciBtb2RpZnkgL2V0Yy9tdWx0aXBhdGguY29uZiIpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjYtUkgtYWRkLXd3aWRzLWZyb20ta2VybmVsLWNtZGxpbmUtbXBhdGgud3dpZHMtd2l0aC1BLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjYtUkgtYWRkLXd3aWRzLWZyb20ta2VybmVsLWNtZGxpbmUtbXBhdGgud3dpZHMtd2l0aC1BLnBhdGNoCmluZGV4IGRkZjAyMmYuLjkzODI2MmIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNi1SSC1hZGQtd3dpZHMtZnJvbS1rZXJuZWwtY21kbGluZS1tcGF0aC53d2lkcy13aXRoLUEucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAgMDA6MDA6MDAgMjAwMSAKIEZyb206IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTcgT2N0IDIwMTQgMTE6MjA6MzQgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IGFkZCB3d2lkcyBmcm9tIGtlcm5lbCBjbWRsaW5lIG1wYXRoLnd3aWRzIHdpdGggLUEKK0RhdGU6IEZyaSwgMTcgIE9jdCAyMDE0IDExOjIwOjM0IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIFJIOiBhZGQgd3dpZHMgZnJvbSBrZXJuZWwgY21kbGluZSAgbXBhdGgud3dpZHMgd2l0aCAtQQogCiBUaGlzIHBhdGNoIGFkZHMgYW5vdGhlciBvcHRpb24gdG8gbXVsdGlwYXRoLCAiLUEiLCB3aGljaCByZWFkcwogL3Byb2MvY21kbGluZSBmb3IgbXBhdGgud3dpZD08V1dJRD4gb3B0aW9ucywgYW5kIGFkZHMgYW55IHd3aWRzIGl0IGZpbmRzCkBAIC0xMywxNiArMTMsMjIgQEAKIG11bHRpcGF0aGQuc2VydmljZQogCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitVcGRhdGUgdGhpcyBwYXRjaCB0byBuZXcgdmVyc2lvbiAwLjguMAorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL3d3aWRzLmMgICAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgbGlibXVsdGlwYXRoL3d3aWRzLmggICAgICAgICAgfCAgMSArCi0gbXVsdGlwYXRoL21haW4uYyAgICAgICAgICAgICAgfCAxMCArKysrKysrKy0tCi0gbXVsdGlwYXRoL211bHRpcGF0aC44ICAgICAgICAgfCAgNSArKysrLQorIG11bHRpcGF0aC9tYWluLmMgICAgICAgICAgICAgIHwgIDkgKysrKysrKystCisgbXVsdGlwYXRoL211bHRpcGF0aC44ICAgICAgICAgfCAgMyArKysKICBtdWx0aXBhdGhkL211bHRpcGF0aGQuc2VydmljZSB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisgNSBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvd3dpZHMuYyBiL2xpYm11bHRpcGF0aC93d2lkcy5jCi1pbmRleCA1M2U3OTUxLi4zOWUwOGNkIDEwMDY0NAoraW5kZXggNTNlNzk1MS4uOWJhOWI2MiAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC93d2lkcy5jCiArKysgYi9saWJtdWx0aXBhdGgvd3dpZHMuYwogQEAgLTQ0MywzICs0NDMsNDcgQEAgaW50IG9wICMjIF93d2lkKGNvbnN0IGNoYXIgKnd3aWQpIFwKQEAgLTMyLDQ2ICszOCw0NiBAQAogKwogK2ludCByZW1lbWJlcl9jbWRsaW5lX3d3aWQodm9pZCkKICt7Ci0rCUZJTEUgKmYgPSBOVUxMOwotKwljaGFyIGJ1ZltMSU5FX01BWF0sICpuZXh0LCAqcHRyOwotKwlpbnQgcmV0ID0gMDsKKysgICAgICAgRklMRSAqZiA9IE5VTEw7CisrICAgICAgIGNoYXIgYnVmW0xJTkVfTUFYXSwgKm5leHQsICpwdHI7CisrICAgICAgIGludCByZXQgPSAwOwogKwotKwlmID0gZm9wZW4oIi9wcm9jL2NtZGxpbmUiLCAicmUiKTsKLSsJaWYgKCFmKSB7Ci0rCQljb25kbG9nKDAsICJjYW4ndCBvcGVuIC9wcm9jL2NtZGxpbmUgOiAlcyIsIHN0cmVycm9yKGVycm5vKSk7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KKysgICAgICAgZiA9IGZvcGVuKCIvcHJvYy9jbWRsaW5lIiwgInJlIik7CisrICAgICAgIGlmICghZikgeworKyAgICAgICAgICAgICAgIGNvbmRsb2coMCwgImNhbid0IG9wZW4gL3Byb2MvY21kbGluZSA6ICVzIiwgc3RyZXJyb3IoZXJybm8pKTsKKysgICAgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgIH0KICsKLSsJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgewotKwkJaWYgKGZlcnJvcihmKSkKLSsJCQljb25kbG9nKDAsICJyZWFkIG9mIC9wcm9jL2NtZGxpbmUgZmFpbGVkIDogJXMiLAotKwkJCQlzdHJlcnJvcihlcnJubykpOwotKwkJZWxzZQotKwkJCWNvbmRsb2coMCwgImNvdWxkbid0IHJlYWQgL3Byb2MvY21kbGluZSIpOwotKwkJZmNsb3NlKGYpOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCWZjbG9zZShmKTsKLSsJbmV4dCA9IGJ1ZjsKLSsJd2hpbGUoKHB0ciA9IHN0cnN0cihuZXh0LCAibXBhdGgud3dpZD0iKSkpIHsKLSsJCXB0ciArPSAxMTsKLSsJCW5leHQgPSBzdHJwYnJrKHB0ciwgIiBcdFxuIik7Ci0rCQlpZiAobmV4dCkgewotKwkJCSpuZXh0ID0gJ1wwJzsKLSsJCQluZXh0Kys7Ci0rCQl9Ci0rCQlpZiAoc3RybGVuKHB0cikpIHsKLSsJCQlpZiAocmVtZW1iZXJfd3dpZChwdHIpICE9IDApCi0rCQkJCXJldCA9IC0xOwotKwkJfQotKwkJZWxzZSB7Ci0rCQkJY29uZGxvZygwLCAiZW1wdHkgbXBhdGgud3dpZCBrZXJuZWwgY29tbWFuZCBsaW5lIG9wdGlvbiIpOwotKwkJCXJldCA9IC0xOwotKwkJfQotKwkJaWYgKCFuZXh0KQotKwkJCWJyZWFrOwotKwl9Ci0rCXJldHVybiByZXQ7CisrICAgICAgIGlmICghZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKysgICAgICAgICAgICAgICBpZiAoZmVycm9yKGYpKQorKyAgICAgICAgICAgICAgICAgICAgICAgY29uZGxvZygwLCAicmVhZCBvZiAvcHJvYy9jbWRsaW5lIGZhaWxlZCA6ICVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKysgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICAgICBjb25kbG9nKDAsICJjb3VsZG4ndCByZWFkIC9wcm9jL2NtZGxpbmUiKTsKKysgICAgICAgICAgICAgICBmY2xvc2UoZik7CisrICAgICAgICAgICAgICAgcmV0dXJuIC0xOworKyAgICAgICB9CisrICAgICAgIGZjbG9zZShmKTsKKysgICAgICAgbmV4dCA9IGJ1ZjsKKysgICAgICAgd2hpbGUoKHB0ciA9IHN0cnN0cihuZXh0LCAibXBhdGgud3dpZD0iKSkpIHsKKysgICAgICAgICAgICAgICBwdHIgKz0gMTE7CisrICAgICAgICAgICAgICAgbmV4dCA9IHN0cnBicmsocHRyLCAiIFx0XG4iKTsKKysgICAgICAgICAgICAgICBpZiAobmV4dCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgKm5leHQgPSAnXDAnOworKyAgICAgICAgICAgICAgICAgICAgICAgbmV4dCsrOworKyAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICBpZiAoc3RybGVuKHB0cikpIHsKKysgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZW1lbWJlcl93d2lkKHB0cikgIT0gMCkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisrICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgIGVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgICAgY29uZGxvZygwLCAiZW1wdHkgbXBhdGgud3dpZCBrZXJuZWwgY29tbWFuZCBsaW5lIG9wdGlvbiIpOworKyAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gLTE7CisrICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgIGlmICghbmV4dCkKKysgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICB9CisrICAgICAgIHJldHVybiByZXQ7CiArfQogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC93d2lkcy5oIGIvbGlibXVsdGlwYXRoL3d3aWRzLmgKIGluZGV4IDBjNmVlNTQuLmUzMmEwYjAgMTAwNjQ0CkBAIC04NiwxOSArOTIsMTggQEAKICBlbnVtIHsKICAJV1dJRF9JU19OT1RfRkFJTEVEID0gMCwKIGRpZmYgLS1naXQgYS9tdWx0aXBhdGgvbWFpbi5jIGIvbXVsdGlwYXRoL21haW4uYwotaW5kZXggNmZkZGUwMy4uN2JhYzIzMiAxMDA2NDQKK2luZGV4IDVhYmIxMTguLmM3NTFiMzEgMTAwNjQ0CiAtLS0gYS9tdWx0aXBhdGgvbWFpbi5jCiArKysgYi9tdWx0aXBhdGgvbWFpbi5jCi1AQCAtMTA5LDcgKzEwOSw3IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCi0geworQEAgLTEzNCw2ICsxMzQsNyBAQCB1c2FnZSAoY2hhciAqIHByb2duYW1lKQogIAlmcHJpbnRmIChzdGRlcnIsIFZFUlNJT05fU1RSSU5HKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiVXNhZ2U6XG4iKTsKLS0JZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKKyAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICsJZnByaW50ZiAoc3RkZXJyLCAiICAlcyBbLWF8LUF8LWN8LXd8LVddIFstZF0gWy1yXSBbLWldIFstdiBsdmxdIFstcCBwb2xdIFstYiBmaWxdIFstcV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyAtbHwtbGx8LWYgWy12IGx2bF0gWy1iIGZpbF0gWy1SIG51bV0gW2Rldl1cbiIsIHByb2duYW1lKTsKICAJZnByaW50ZiAoc3RkZXJyLCAiICAlcyAtRiBbLXYgbHZsXSBbLVIgbnVtXVxuIiwgcHJvZ25hbWUpOwotIAlmcHJpbnRmIChzdGRlcnIsICIgICVzIC10XG4iLCBwcm9nbmFtZSk7Ci1AQCAtMTIzLDYgKzEyMyw4IEBAIHVzYWdlIChjaGFyICogcHJvZ25hbWUpCisgCWZwcmludGYgKHN0ZGVyciwgIiAgJXMgWy10fC1UXVxuIiwgcHJvZ25hbWUpOworQEAgLTE0Nyw2ICsxNDgsOCBAQCB1c2FnZSAoY2hhciAqIHByb2duYW1lKQogIAkJIiAgLWYgICAgICBmbHVzaCBhIG11bHRpcGF0aCBkZXZpY2UgbWFwXG4iCiAgCQkiICAtRiAgICAgIGZsdXNoIGFsbCBtdWx0aXBhdGggZGV2aWNlIG1hcHNcbiIKICAJCSIgIC1hICAgICAgYWRkIGEgZGV2aWNlIHd3aWQgdG8gdGhlIHd3aWRzIGZpbGVcbiIKQEAgLTEwNyw0MCArMTEyLDMxIEBACiAgCQkiICAtYyAgICAgIGNoZWNrIGlmIGEgZGV2aWNlIHNob3VsZCBiZSBhIHBhdGggaW4gYSBtdWx0aXBhdGggZGV2aWNlXG4iCiAgCQkiICAtQyAgICAgIGNoZWNrIGlmIGEgbXVsdGlwYXRoIGRldmljZSBoYXMgdXNhYmxlIHBhdGhzXG4iCiAgCQkiICAtcSAgICAgIGFsbG93IHF1ZXVlX2lmX25vX3BhdGggd2hlbiBtdWx0aXBhdGhkIGlzIG5vdCBydW5uaW5nXG4iCi1AQCAtOTA3LDcgKzkwOSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCQlleGl0KDEpOworQEAgLTg3MCw3ICs4NzMsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkJZXhpdChSVFZMX0ZBSUwpOwogIAltdWx0aXBhdGhfY29uZiA9IGNvbmY7CiAgCWNvbmYtPnJldHJpZ2dlcl90cmllcyA9IDA7Ci0tCXdoaWxlICgoYXJnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICI6YWRjQ2hsOjpGZk06djpwOmI6QnJSOml0cXVVd1ciKSkgIT0gRU9GICkgewotKwl3aGlsZSAoKGFyZyA9IGdldG9wdChhcmdjLCBhcmd2LCAiOmFBZGNDaGw6OkZmTTp2OnA6YjpCclI6aXRxdVV3VyIpKSAhPSBFT0YgKSB7CistCXdoaWxlICgoYXJnID0gZ2V0b3B0KGFyZ2MsIGFyZ3YsICI6YWRjQ2hsOjpGZk06djpwOmI6QnJSOml0VHF1VXdXIikpICE9IEVPRiApIHsKKysJd2hpbGUgKChhcmcgPSBnZXRvcHQoYXJnYywgYXJndiwgIjphQWRjQ2hsOjpGZk06djpwOmI6QnJSOml0VHF1VXdXIikpICE9IEVPRiApIHsKICAJCXN3aXRjaChhcmcpIHsKICAJCWNhc2UgMTogcHJpbnRmKCJvcHRhcmcgOiAlc1xuIixvcHRhcmcpOwogIAkJCWJyZWFrOwotQEAgLTk3NCw2ICs5NzYsMTAgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC05MzcsNiArOTQwLDEwIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgCQljYXNlICd0JzoKLSAJCQlyID0gZHVtcF9jb25maWcoY29uZik7CisgCQkJciA9IGR1bXBfY29uZmlnKGNvbmYsIE5VTEwsIE5VTEwpID8gUlRWTF9GQUlMIDogUlRWTF9PSzsKICAJCQlnb3RvIG91dF9mcmVlX2NvbmZpZzsKICsJCWNhc2UgJ0EnOgogKwkJCWlmIChyZW1lbWJlcl9jbWRsaW5lX3d3aWQoKSAhPSAwKQogKwkJCQlleGl0KDEpOwogKwkJCWV4aXQoMCk7Ci0gCQljYXNlICdoJzoKLSAJCQl1c2FnZShhcmd2WzBdKTsKLSAJCQlleGl0KDApOworIAkJY2FzZSAnVCc6CisgCQkJY21kID0gQ01EX0RVTVBfQ09ORklHOworIAkJCWJyZWFrOwogZGlmZiAtLWdpdCBhL211bHRpcGF0aC9tdWx0aXBhdGguOCBiL211bHRpcGF0aC9tdWx0aXBhdGguOAotaW5kZXggOTE0YThjYi4uOGM2YTRjMSAxMDA2NDQKK2luZGV4IDljZGQwNWEuLjFlMTIwZjMgMTAwNjQ0CiAtLS0gYS9tdWx0aXBhdGgvbXVsdGlwYXRoLjgKICsrKyBiL211bHRpcGF0aC9tdWx0aXBhdGguOAotQEAgLTI1LDcgKzI1LDcgQEAgbXVsdGlwYXRoIFwtIERldmljZSBtYXBwZXIgdGFyZ2V0IGF1dG9jb25maWcuCi0gLlJCIFtcfCBcLWJcIFxjCi0gLklSIGJpbmRpbmdzX2ZpbGUgXHxdCi0gLlJCIFtcfCBcLWQgXHxdCi0tLlJCIFtcfCBcLWggfCBcLWwgfCBcLWxsIHwgXC1mIHwgXC10IHwgXC1GIHwgXC1CIHwgXC1jIHwgXC1DIHwgXC1xIHwgXC1yIHwgXC1pIHwgXC1hIHwgXC11IHwgXC1VIHwgXC13IHwgXC1XIFx8XQotKy5SQiBbXHwgXC1oIHwgXC1sIHwgXC1sbCB8IFwtZiB8IFwtdCB8IFwtRiB8IFwtQiB8IFwtYyB8IFwtQyB8IFwtcSB8IFwtciB8IFwtaSB8IFwtYSB8IFwtQSB8IFwtdSB8IFwtVSB8IFwtdyB8IFwtVyBcfF0KLSAuUkIgW1x8IFwtcFwgXGMKLSAuSVIgZmFpbG92ZXIgfCBtdWx0aWJ1cyB8IGdyb3VwX2J5X3NlcmlhbCB8IGdyb3VwX2J5X3ByaW8gfCBncm91cF9ieV9ub2RlX25hbWUgXHxdCi0gLlJCIFtcfCBcLVJcIFxjCi1AQCAtMTM1LDYgKzEzNSw5IEBAIEFkZCB0aGUgV1dJRCBmb3IgdGhlIHNwZWNpZmllZCBkZXZpY2UgdG8gdGhlIFdXSURzIGZpbGUuCitAQCAtMTY3LDYgKzE2Nyw5IEBAIGl0c2VsZiBkb2Vzbid0IGF0dGVtcHQgdG8gZG8gSS9PIG9uIHRoZSBkZXZpY2UuCiAgQ2hlY2sgaWYgdGhlIGRldmljZSBzcGVjaWZpZWQgaW4gdGhlIHByb2dyYW0gZW52aXJvbm1lbnQgc2hvdWxkIGJlCiAgYSBwYXRoIGluIGEgbXVsdGlwYXRoIGRldmljZS4KICAuCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNy1SSC13YXJuLW9uLWludmFsaWQtcmVnZXgtaW5zdGVhZC1vZi1mYWlsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjctUkgtd2Fybi1vbi1pbnZhbGlkLXJlZ2V4LWluc3RlYWQtb2YtZmFpbGluZy5wYXRjaAppbmRleCBhMjNlMTY3Li41N2QwNGQwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyNy1SSC13YXJuLW9uLWludmFsaWQtcmVnZXgtaW5zdGVhZC1vZi1mYWlsaW5nLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2gKQEAgLTEsNyArMSwxMCBAQAotRnJvbSAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA2IE5vdiAyMDE3IDIxOjM5OjI4IC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJIOiB3YXJuIG9uIGludmFsaWQgcmVnZXggaW5zdGVhZCBvZiBmYWlsaW5nCitGcm9tIGQxNmRlNzBiNzY5MTkyNjk1NjFiNGU0MDQ4MjVmNzgyODZlYTlhNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMDozMTozMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBNb24sIDYgTm92CisgMjAxNyAyMTozOToyOCAtMDYwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiB3YXJuIG9uIGludmFsaWQgcmVnZXggaW5zdGVhZCBvZgorIGZhaWxpbmcKIAogbXVsdGlwYXRoLmNvbmYgdXNlZCB0byBhbGxvdyAiKiIgYXMgYSBtYXRjaCBldmVyeXRoaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiwKIGluc3RlYWQgb2YgcmVxdWlyaW5nICIuKiIuIEluc3RlYWQgb2YgZXJyb3Jpbmcgd2hlbiB0aGUgb2xkIHN0eWxlCkBAIC05LDM5ICsxMiw1NiBAQAogdGhlbS4KIAogU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKwordXBkYXRlIHRoaXMgcGF0Y2ggdG8gbmV3IHZlcnNpb24KKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIC0tLQotIGxpYm11bHRpcGF0aC9kaWN0LmMgICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLQorIGxpYm11bHRpcGF0aC9kaWN0LmMgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAgbGlibXVsdGlwYXRoL3BhcnNlci5jIHwgMTMgKysrKysrKysrKysrKwotIGxpYm11bHRpcGF0aC9wYXJzZXIuaCB8ICAxICsKLSAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisgbGlibXVsdGlwYXRoL3BhcnNlci5oIHwgIDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvZGljdC5jIGIvbGlibXVsdGlwYXRoL2RpY3QuYwotaW5kZXggN2FkMGY1YS4uYWI4MDhkNiAxMDA2NDQKK2luZGV4IGE4MWMwNTEuLjA2ODk3NjMgMTAwNjQ0CiAtLS0gYS9saWJtdWx0aXBhdGgvZGljdC5jCiArKysgYi9saWJtdWx0aXBhdGgvZGljdC5jCi1AQCAtNTUsNiArNTUsMjEgQEAgc2V0X3N0cih2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCitAQCAtNTksNiArNTksMjEgQEAgc2V0X3N0cih2ZWN0b3Igc3RydmVjLCB2b2lkICpwdHIpCiAgfQogIAogIHN0YXRpYyBpbnQKICtzZXRfcmVnZXgodmVjdG9yIHN0cnZlYywgdm9pZCAqcHRyKQogK3sKLSsJY2hhciAqKnN0cl9wdHIgPSAoY2hhciAqKilwdHI7CisrICAgICAgIGNoYXIgKipzdHJfcHRyID0gKGNoYXIgKiopcHRyOwogKwotKwlpZiAoKnN0cl9wdHIpCi0rCQlGUkVFKCpzdHJfcHRyKTsKLSsJKnN0cl9wdHIgPSBzZXRfcmVnZXhfdmFsdWUoc3RydmVjKTsKKysgICAgICAgaWYgKCpzdHJfcHRyKQorKyAgICAgICAgICAgICAgIEZSRUUoKnN0cl9wdHIpOworKyAgICAgICAqc3RyX3B0ciA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwogKwotKwlpZiAoISpzdHJfcHRyKQotKwkJcmV0dXJuIDE7CisrICAgICAgIGlmICghKnN0cl9wdHIpCisrICAgICAgICAgICAgICAgcmV0dXJuIDE7CiArCi0rCXJldHVybiAwOworKyAgICAgICByZXR1cm4gMDsKICt9CiArCiArc3RhdGljIGludAogIHNldF95ZXNfbm8odmVjdG9yIHN0cnZlYywgdm9pZCAqcHRyKQogIHsKICAJY2hhciAqIGJ1ZmY7Ci1AQCAtMTI3MSw3ICsxMjg2LDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCQlcCitAQCAtMTM0Niw4ICsxMzYxLDggQEAgYmxlXyAjIyBvcHRpb24gIyMgX2hhbmRsZXIgKHN0cnVjdCBjb25maWcgKmNvbmYsIHZlY3RvciBzdHJ2ZWMpCQlcCisgCQkJCQkJCQkJXAorIAlpZiAoIWNvbmYtPm9wdGlvbikJCQkJCQlcCisgCQlyZXR1cm4gMTsJCQkJCQlcCistCQkJCQkJCQkJXAorLQlidWZmID0gc2V0X3ZhbHVlKHN0cnZlYyk7CQkJCQlcCisrCQkJCQkJCQkJXAkKKysJYnVmZiA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwkJCQkJXAorIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKKyAJCXJldHVybiAxOwkJCQkJCVwKKyAJCQkJCQkJCQlcCitAQCAtMTM2Myw3ICsxMzc4LDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgXyAjIyBuYW1lICMjIF9oYW5kbGVyIChzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKSBcCiAgCWlmICghY29uZi0+b3B0aW9uKQkJCQkJCVwKICAJCXJldHVybiAxOwkJCQkJCVwKICAJCQkJCQkJCQlcCkBAIC01MCwxNiArNzAsNyBAQAogIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKICAJCXJldHVybiAxOwkJCQkJCVwKICAJCQkJCQkJCQlcCi1AQCAtMTI4Nyw3ICsxMzAyLDcgQEAgYmxlXyAjIyBvcHRpb24gIyMgXyAjIyBuYW1lICMjIF9oYW5kbGVyIChzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKSBcCi0gCWlmICghY29uZi0+b3B0aW9uKQkJCQkJCVwKLSAJCXJldHVybiAxOwkJCQkJCVwKLSAJCQkJCQkJCQlcCi0tCWJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsJCQkJCVwKLSsJYnVmZiA9IHNldF9yZWdleF92YWx1ZShzdHJ2ZWMpOwkJCQkJXAotIAlpZiAoIWJ1ZmYpCQkJCQkJCVwKLSAJCXJldHVybiAxOwkJCQkJCVwKLSAJCQkJCQkJCQlcCi1AQCAtMTM4OCwxNiArMTQwMywxNiBAQCBkZXZpY2VfaGFuZGxlcihzdHJ1Y3QgY29uZmlnICpjb25mLCB2ZWN0b3Igc3RydmVjKQorQEAgLTE0NjYsMTYgKzE0ODEsMTYgQEAgZGV2aWNlX2hhbmRsZXIoc3RydWN0IGNvbmZpZyAqY29uZiwgdmVjdG9yIHN0cnZlYykKICAJcmV0dXJuIDA7CiAgfQogIApAQCAtODEsMzcgKzkyLDM4IEBACiAgCiAgZGVjbGFyZV9od19oYW5kbGVyKGh3aGFuZGxlciwgc2V0X3N0cikKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcGFyc2VyLmMgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmMKLWluZGV4IGI4YjdlMGQuLjM0YjRhZDIgMTAwNjQ0CitpbmRleCA5MmVmN2NmLi4wZTJjZjQ5IDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL3BhcnNlci5jCiArKysgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmMKLUBAIC0zODAsNiArMzgwLDE5IEBAIHNldF92YWx1ZSh2ZWN0b3Igc3RydmVjKQorQEAgLTM4NCw2ICszODQsMTkgQEAgc2V0X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpCiAgCXJldHVybiBhbGxvYzsKICB9CiAgCiArdm9pZCAqCiArc2V0X3JlZ2V4X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpCiArewotKwljaGFyICpidWZmID0gc2V0X3ZhbHVlKHN0cnZlYyk7CisrICAgICAgIGNoYXIgKmJ1ZmYgPSBzZXRfdmFsdWUoc3RydmVjKTsKICsKLSsJaWYgKGJ1ZmYgJiYgc3RyY21wKCIqIiwgYnVmZikgPT0gMCkgewotKwkJY29uZGxvZygwLCAiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gXCIqXCIgaW4gbXVsdGlwYXRoLmNvbmYuIFVzaW5nIFwiLipcIiIpOwotKwkJRlJFRShidWZmKTsKLSsJCXJldHVybiBzdHJkdXAoIi4qIik7Ci0rCX0KLSsJcmV0dXJuIGJ1ZmY7CisrICAgICAgIGlmIChidWZmICYmIHN0cmNtcCgiKiIsIGJ1ZmYpID09IDApIHsKKysgICAgICAgICAgICAgICBjb25kbG9nKDAsICJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbiBcIipcIiBpbiBtdWx0aXBhdGguY29uZi4gVXNpbmcgXCIuKlwiIik7CisrICAgICAgICAgICAgICAgRlJFRShidWZmKTsKKysgICAgICAgICAgICAgICByZXR1cm4gc3RyZHVwKCIuKiIpOworKyAgICAgICB9CisrICAgICAgIHJldHVybiBidWZmOwogK30KICsKICAvKiBub24tcmVjdXJzaXZlIGNvbmZpZ3VyYXRpb24gc3RyZWFtIGhhbmRsZXIgKi8KICBzdGF0aWMgaW50IGt3X2xldmVsID0gMDsKICAKIGRpZmYgLS1naXQgYS9saWJtdWx0aXBhdGgvcGFyc2VyLmggYi9saWJtdWx0aXBhdGgvcGFyc2VyLmgKLWluZGV4IDYyOTA2ZTkuLmI3OTE3MDUgMTAwNjQ0CitpbmRleCA2MjkwNmU5Li5iNjg5OWZjIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL3BhcnNlci5oCiArKysgYi9saWJtdWx0aXBhdGgvcGFyc2VyLmgKLUBAIC03Nyw2ICs3Nyw3IEBAIGV4dGVybiB2b2lkIGR1bXBfa2V5d29yZHModmVjdG9yIGtleWR1bXAsIGludCBsZXZlbCk7CitAQCAtNzYsNyArNzYsNyBAQCBleHRlcm4gaW50IF9pbnN0YWxsX2tleXdvcmQodmVjdG9yIGtleXdvcmRzLCBjaGFyICpzdHJpbmcsCisgZXh0ZXJuIHZvaWQgZHVtcF9rZXl3b3Jkcyh2ZWN0b3Iga2V5ZHVtcCwgaW50IGxldmVsKTsKICBleHRlcm4gdm9pZCBmcmVlX2tleXdvcmRzKHZlY3RvciBrZXl3b3Jkcyk7CiAgZXh0ZXJuIHZlY3RvciBhbGxvY19zdHJ2ZWMoY2hhciAqc3RyaW5nKTsKLSBleHRlcm4gdm9pZCAqc2V0X3ZhbHVlKHZlY3RvciBzdHJ2ZWMpOworLWV4dGVybiB2b2lkICpzZXRfdmFsdWUodmVjdG9yIHN0cnZlYyk7CiArZXh0ZXJuIHZvaWQgKnNldF9yZWdleF92YWx1ZSh2ZWN0b3Igc3RydmVjKTsKICBleHRlcm4gaW50IHByb2Nlc3NfZmlsZShzdHJ1Y3QgY29uZmlnICpjb25mLCBjaGFyICpjb25mX2ZpbGUpOwogIGV4dGVybiBzdHJ1Y3Qga2V5d29yZCAqIGZpbmRfa2V5d29yZCh2ZWN0b3Iga2V5d29yZHMsIHZlY3RvciB2LCBjaGFyICogbmFtZSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCmluZGV4IDA1ZTY4NjQuLmFkMDNiOGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI4LVJILXJlc2V0LWRlZmF1bHQtZmluZF9tdXRpcGF0aHMtdmFsdWUtdG8tb2ZmLnBhdGNoCkBAIC0xLDE4ICsxLDI3IEBACi1Gcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCZW5qYW1pbiBNYXJ6aW5za2kgPGJtYXJ6aW5zQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDcgSnVuIDIwMTggMTc6NDM6NTIgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gUkg6IHJlc2V0IGRlZmF1bHQgZmluZF9tdXRpcGF0aHMgdmFsdWUgdG8gb2ZmCitGcm9tIDE2OTAwMTUwZTAyZTViMzY3YThiMzM2MjFiMzkzOTc1YWQwMTExMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxMjowMSArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQmVuamFtaW4gTWFyemluc2tpIDxibWFyemluc0ByZWRoYXQuY29tPiBEYXRlOiBUaHUsIDcgSnVuCisgMjAxOCAxNzo0Mzo1MiAtMDUwMCBTdWJqZWN0OiBbUEFUQ0hdIFJIOiByZXNldCBkZWZhdWx0IGZpbmRfbXV0aXBhdGhzIHZhbHVlCisgdG8gb2ZmCiAKIFVwc3RyZWFtIGhhcyBjaGFuZ2VkIHRvIGRlZmF1bHQgZmluZF9tdWx0aXBhdGhzIHRvICJzdHJpY3QiLiBGb3Igbm93CiBSZWRoYXQgd2lsbCByZXRhaW4gdGhlIHByZXZpb3VzIGRlZmF1bHQgb2YgIm9mZiIuCiAKIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIE1hcnppbnNraSA8Ym1hcnppbnNAcmVkaGF0LmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1VwZGF0ZSB0aGlzIHBhdGNoIHRvIG5ldyB2ZXJzaW9uCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBsaWJtdWx0aXBhdGgvZGVmYXVsdHMuaCB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oIGIvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKLWluZGV4IGYwNzZiNGIuLjcwYmE5OGEgMTAwNjQ0CitpbmRleCA2NTc2OTM5Li5hMjQwNGIyIDEwMDY0NAogLS0tIGEvbGlibXVsdGlwYXRoL2RlZmF1bHRzLmgKICsrKyBiL2xpYm11bHRpcGF0aC9kZWZhdWx0cy5oCiBAQCAtMTcsNyArMTcsNyBAQApAQCAtMjAsNyArMjksNyBAQAogICNkZWZpbmUgREVGQVVMVF9WRVJCT1NJVFkJMgogICNkZWZpbmUgREVGQVVMVF9SRUFTU0lHTl9NQVBTCTAKIC0jZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTCUZJTkRfTVVMVElQQVRIU19TVFJJQ1QKLSsjZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTCUZJTkRfTVVMVElQQVRIU19PRkYKKysjZGVmaW5lIERFRkFVTFRfRklORF9NVUxUSVBBVEhTICAgICAgICBGSU5EX01VTFRJUEFUSFNfT0ZGCiAgI2RlZmluZSBERUZBVUxUX0ZBU1RfSU9fRkFJTAk1CiAgI2RlZmluZSBERUZBVUxUX0RFVl9MT1NTX1RNTwk2MDAKICAjZGVmaW5lIERFRkFVTFRfUkVUQUlOX0hXSEFORExFUiBSRVRBSU5fSFdIQU5ETEVSX09OCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMjktbXVsdGlwYXRoLXRvb2xzLW1vZGlmeS1NYWtlZmlsZS5pbmMtZm9yLWNyb3NzLWNvbXBpbC5wYXRjaAppbmRleCA0NWNkMzJhLi40ZmE3OTYwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAyOS1tdWx0aXBhdGgtdG9vbHMtbW9kaWZ5LU1ha2VmaWxlLmluYy1mb3ItY3Jvc3MtY29tcGlsLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2gKQEAgLTEsNyArMSwxMCBAQAotRnJvbSA4YmRkNDQ4MWQ4MjJiNjYyNWQ4YmY3MTk0MzFjYTc0ZWQxYjVlMDIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhODA1YjYwMWZjZjRiYjllMjY5NTY2YThkMjVlNDhkOWU2MDkxNWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMTYgSnVsIDIwMTggMTU6NTY6MzcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jIGZvciBjcm9zcy1jb21waWxhdGlvbgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNDoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBGcm9tIDhiZGQ0NDgxZDgyMmI2NjI1ZDhiZjcxOTQzMWNhNzRlZDFiNWUwMjEgTW9uIFNlcCAxNworIDAwOjAwOjAwIDIwMDEgRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4gRGF0ZTogTW9uLCAxNgorIEp1bCAyMDE4IDE1OjU2OjM3ICswODAwIFN1YmplY3Q6IFtQQVRDSF0gbXVsdGlwYXRoLXRvb2xzOiBtb2RpZnkgTWFrZWZpbGUuaW5jCisgZm9yIGNyb3NzLWNvbXBpbGF0aW9uCiAKIERvIG5vdCBsb29rIGZvciBzeXN0ZW1kIGluZm8gb24gdGhlIGhvc3QsIGFuZCBhbGxvdyB1cyB0byBwYXNzIGluIENGTEFHUwogdXNpbmcgdGhlIE9QVEZMQUdTIHZhcmlhYmxlLgpAQCAtMjMsMTIgKzI2LDE1IEBACiByZW1vdmUgY2hhbmdlIGFib3V0IENGTEFHUyBwYXJ0LCBzaW5jZSBwYXRjaCAwMDI0IGFscmVhZHkgaGF2ZSBzaW1pbGFyIGZ1bmN0aW9uLgogCiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorCit1cGRhdGUgZm9yIHZlcnNpb24gMC43LjkKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KLSBNYWtlZmlsZS5pbmMgfCA4ICsrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbmMgfCA2IC0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW5jIGIvTWFrZWZpbGUuaW5jCi1pbmRleCA1N2ExODM1Li4wYzQwM2M3IDEwMDY0NAoraW5kZXggMjk1YWZiOS4uNzEzNmRiMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluYwogKysrIGIvTWFrZWZpbGUuaW5jCiBAQCAtMzgsMTIgKzM4LDYgQEAgaWZuZGVmIFJVTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzAtQWx3YXlzLXVzZS1kZXZtYXBwZXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAppbmRleCAxMjgxMTgwLi4zZTg4YjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZDkyOWExZWE1ZTQyZWNiZTMwYzk5MDY0NGVkNGFkYTI4MTdjNjQzOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTRhY2I0NmIxMDQ4NGQxZGE2ZjA5MzI1N2UzNGYyNjk4MzJlNmEzNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAwOjE0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgorRGF0ZTogTW9uLCAyNiBOb3YgMjAxOCAxMToxNzo0MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBTdWJqZWN0OiBbUEFUQ0hdICBBbHdheXMgdXNlIGRldm1hcHBlcgogCiBEbyBub3QgdHJ5IHRvIGNvbXB1dGUgc2V2ZXJhbCBfQVBJXyBtYWtlIHZhcmlhYmxlcwogZnJvbSBob3N0IGluZm9ybWF0aW9uIHdoZW4gY3Jvc3MtY29tcGlsaW5nLgpAQCAtMTgsMTIgKzE4LDE1IEBACiBSZWJhc2UgdG8gMC43LjcKIAogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAgbGlibXVsdGlwYXRoL01ha2VmaWxlIHwgMTkgKysrKy0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbGlibXVsdGlwYXRoL01ha2VmaWxlIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCi1pbmRleCBmNTE3ODZkLi4zYWQ5YzQ4IDEwMDY0NAoraW5kZXggMzNmNTI2OS4uYWRmNmY0YSAxMDA2NDQKIC0tLSBhL2xpYm11bHRpcGF0aC9NYWtlZmlsZQogKysrIGIvbGlibXVsdGlwYXRoL01ha2VmaWxlCiBAQCAtMjAsMjEgKzIwLDEwIEBAIGlmZGVmIFNZU1RFTUQKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9tdWx0aXBhdGgtdG9vbHMvZmlsZXMvMDAzMS1BbHdheXMtdXNlLWRldm1hcHBlci1mb3Ita3BhcnR4LnBhdGNoCmluZGV4IDg4YTc1OGQuLjQxOGMwMjAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9maWxlcy8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL2ZpbGVzLzAwMzEtQWx3YXlzLXVzZS1kZXZtYXBwZXItZm9yLWtwYXJ0eC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMTQ1ZjJiODI5ZTUzNjJjZGE5NzViZWJhZmQ3ZmU0ZDAwZmY1NmQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMWZlOTM3ODM1MzExYTJkMGFmYmM4NWNlNGE0ZGJkM2M5ZTBjOTEyZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE2IEp1bCAyMDE4IDE2OjAyOjA3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFsd2F5cyB1c2UgZGV2bWFwcGVyIGZvciBrcGFydHgKK0RhdGU6IE1vbiwgMjYgTm92IDIwMTggMTE6MTk6NDUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gU3ViamVjdDogW1BBVENIXSBBbHdheXMgdXNlIGRldm1hcHBlciBmb3Iga3BhcnR4CiAKIERvIG5vdCB0cnkgdG8gY29tcHV0ZSB0aGUgTElCRE1fQVBJX0NPT0tJRSBtYWtlIHZhcmlhYmxlCiBmcm9tIGhvc3QgaW5mb3JtYXRpb24gd2hlbiBjcm9zcy1jb21waWxpbmcuCkBAIC0xNiw2ICsxNiw5IEBACiAKIFJlYmFzZSB0byAwLjcuNwogU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKworUmViYXNlIHRvIDAuNy45CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCiAga3BhcnR4L01ha2VmaWxlIHwgNCArLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC43LjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjYzE1NDYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjcuNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi1TVU1NQVJZID0gIlRoZSB1cHN0cmVhbSBwcm9qZWN0IHVzZWQgdG8gZHJpdmUgdGhlIERldmljZSBNYXBwZXIgbXVsdGlwYXRoaW5nIGRyaXZlciIKLQotREVTQ1JJUFRJT04gPSAiSXQgcHJvdmlkZXMgdG9vbHMgdG8gbWFuYWdlIG11bHRpcGF0aCBkZXZpY2VzIFwKLWJ5IGluc3RydWN0aW5nIHRoZSBkZXZpY2UtbWFwcGVyIGtlcm5lbCBtb2R1bGUgd2hhdCB0byBkby4gVGhlc2UgXAotdG9vbHMgaW5jbHVkZTogXAotMS4gbXVsdGlwYXRoIC0gU2NhbiB0aGUgc3lzdGVtIGZvciBtdWx0aXBhdGggZGV2aWNlcyBhbmQgYXNzZW1ibGUgdGhlbS5cCi0yLiBtdWx0aXBhdGhkIC0gRGV0ZWN0cyB3aGVuIHBhdGhzIGZhaWwgYW5kIGV4ZWNzIG11bHRpcGF0aCB0byB1cGRhdGUgXAotdGhpbmdzLlwKLTMuIG1wYXRocGVyc2lzdCAtIFBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gbWFuYWdlbWVudCBmZWF0dXJlIGFsbG93cyBcCi1jbHVzdGVyIG1hbmFnZW1lbnQgc29mdHdhcmUgdG8gbWFuYWdlIHBlcnNpc3RlbnQgcmVzZXJ2YXRpb24gdGhyb3VnaCBcCi1tcGF0aCBkZXZpY2UuIEl0IHByb2Nlc3NlcyBtYW5hZ2VtZW50IHJlcXVlc3RzIGZyb20gY2FsbGVycyBhbmQgaGlkZXMgXAotdGhlIG1hbmFnZW1lbnQgdGFzayBkZXRhaWxzLiBJdCBhbHNvIGhhbmRsZXMgcGVyc2lzdGVudCByZXNlcnZhdGlvbiBcCi1tYW5hZ2VtZW50IG9mIGRhdGEgcGF0aCBsaWZlIGN5Y2xlIGFuZCBzdGF0ZSBjaGFuZ2VzLlwKLTQuIGtwYXJ0eCAtIFRoaXMgdG9vbCwgZGVyaXZlZCBmcm9tIHV0aWwtbGludXgncyBwYXJ0eCwgcmVhZHMgcGFydGl0aW9uIFwKLXRhYmxlcyBvbiBzcGVjaWZpZWQgZGV2aWNlIGFuZCBjcmVhdGUgZGV2aWNlIG1hcHMgb3ZlciBwYXJ0aXRpb25zIFwKLXNlZ21lbnRzIGRldGVjdGVkLiBJdCBpcyBjYWxsZWQgZnJvbSBob3RwbHVnIHVwb24gZGV2aWNlIG1hcHMgY3JlYXRpb24gXAotYW5kIGRlbGV0aW9uIgotCi1IT01FUEFHRSA9ICJodHRwOi8vY2hyaXN0b3BoZS52YXJvcXVpLmZyZWUuZnIvIgotCi1ERVBFTkRTID0gImxpYmRldm1hcHBlciBcCi0gICAgICAgICAgIGxpYmFpbyBcCi0gICAgICAgICAgIGxpYnVyY3UgXAotICAgICAgICAgICByZWFkbGluZSBcCi0gICAgICAgICAgIHVkZXYgXAotICAgICAgICAgICBqc29uLWMgXAotICAgICAgICAgICIKLQotTElDRU5TRSA9ICJHUEx2MiIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQub3BlbnN2Yy5jb20vbXVsdGlwYXRoLXRvb2xzLy5naXQ7cHJvdG9jb2w9aHR0cCBcCi0gICAgICAgICAgIGZpbGU6Ly9tdWx0aXBhdGhkLm9lIFwKLSAgICAgICAgICAgZmlsZTovL211bHRpcGF0aC5jb25mLmV4YW1wbGUgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1tdWx0aXBhdGgtdG9vbHMtYWRkLVJEQUMtU1VOLUFycmF5U3RvcmFnZS10by1od3RhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbXVsdGlwYXRoLXRvb2xzLXJlbW92ZS1jLWZyb20tX19jcGx1c2NwbHVzLW1pc3NwZWxsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLW11bHRpcGF0aC10b29scy1yZW1vdmUtZW1hY3MtYXV0b2NvbmZpZy1vZi1rcGFydHgtZ3AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1tdWx0aXBhdGgtdG9vbHMtcmVwbGFjZS1GU0YtYWRkcmVzcy13aXRoLWEtd3d3LXBvaW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbXVsdGlwYXRoLXRvb2xzLVJlbW92ZS10cmFpbGluZy1sZWFkaW5nLXdoaXRlc3BhY2VzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LW11bHRpcGF0aC10b29scy1maXgtY29tcGlsYXRpb24td2l0aC1tdXNsLWxpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1tdWx0aXBhdGgtdG9vbHMtYWRkLXgtdG8tZG9jLXByZWNsZWFuLnBsLWFuZC1zcGxpdC1tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtbXVsdGlwYXRoLXRvb2xzLXJlZnJlc2gta2VybmVsLWRvYy1mcm9tLWtlcm5lbC1zb3VyYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LW11bHRpcGF0aC10b29scy1jb25maWd1cmUtaGl0YWNoaS1hbXMyMDAwLWFuZC1odXMxMDAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1saWJtdWx0aXBhdGgtZG9uLXQtcmVqZWN0LW1hcHMtd2l0aC11bmRlZmluZWQtcHJpby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLW11bHRpcGF0aGQtaGFuZGxlLWVycm9ycy1pbi11eGxzbnItYXMtZmF0YWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1saWJtdWx0aXBhdGgtZml4LWVycm9yLXBhcnNpbmctZmluZF9tdWx0aXBhdGhzLXN0cmljLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtbGlibXVsdGlwYXRoLXByaW50LWNvcnJlY3QtZGVmYXVsdC1mb3ItZGVsYXlfLV9jaGVjay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE0LW11bHRpcGF0aC5jb25mLjUtY2xhcmlmeS1wcm9wZXJ0eS13aGl0ZWxpc3QtaGFuZGxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNS1tcGF0aHBlcnNpc3QtYWRkLWFsbF90Z19wdC1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNi1saWJtdWx0aXBhdGgtcmVtb3ZlLXJiZC1jb2RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctbXBhdGhwZXJzaXN0LWZpeC1hcHRwbC1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtbXVsdGlwYXRoLWRvbi10LWNoZWNrLXRpbWVzdGFtcHMtd2l0aG91dC1hLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOS1saWJtdWx0aXBhdGgtZml4LWRldGVjdC1hbHVhLWNvcm5lci1jYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjAtbXVsdGlwYXRoLWZpeC1zZXR0aW5nLWNvbmYtdmVyc2lvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAotICAgICAgICAgICAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgotCi1TUkNSRVYgPSAiMzg2ZDI4OGI1NTk1ZmMyYzAxZGZmZTY5OGI2ZWIzMDZjNjY3NDkwOCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKLQotIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgotIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCi0jIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgotIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKLSMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLSMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgotIwotRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAotICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKLSAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKLSAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCi0gICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKLSAgICAgICAgICAgICAgICcKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIGluc3RhbGwKLQotICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgotICAgICMKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAotICAgIGZpCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCi0gICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQotfQotCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAotICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgotCi1QUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCi1SUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgotUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgotCi1QQUNLQUdFUyA9KyAia3BhcnR4IgotRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKLSAgICAgICAgICAgICAgICIKLQotUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbXVsdGlwYXRoLXRvb2xzL211bHRpcGF0aC10b29sc18wLjguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmZjQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L211bHRpcGF0aC10b29scy9tdWx0aXBhdGgtdG9vbHNfMC44LjAuYmIKQEAgLTAsMCArMSwxMTEgQEAKK1NVTU1BUlkgPSAiVGhlIHVwc3RyZWFtIHByb2plY3QgdXNlZCB0byBkcml2ZSB0aGUgRGV2aWNlIE1hcHBlciBtdWx0aXBhdGhpbmcgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJJdCBwcm92aWRlcyB0b29scyB0byBtYW5hZ2UgbXVsdGlwYXRoIGRldmljZXMgXAorYnkgaW5zdHJ1Y3RpbmcgdGhlIGRldmljZS1tYXBwZXIga2VybmVsIG1vZHVsZSB3aGF0IHRvIGRvLiBUaGVzZSBcCit0b29scyBpbmNsdWRlOiBcCisxLiBtdWx0aXBhdGggLSBTY2FuIHRoZSBzeXN0ZW0gZm9yIG11bHRpcGF0aCBkZXZpY2VzIGFuZCBhc3NlbWJsZSB0aGVtLlwKKzIuIG11bHRpcGF0aGQgLSBEZXRlY3RzIHdoZW4gcGF0aHMgZmFpbCBhbmQgZXhlY3MgbXVsdGlwYXRoIHRvIHVwZGF0ZSBcCit0aGluZ3MuXAorMy4gbXBhdGhwZXJzaXN0IC0gUGVyc2lzdGVudCByZXNlcnZhdGlvbiBtYW5hZ2VtZW50IGZlYXR1cmUgYWxsb3dzIFwKK2NsdXN0ZXIgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBtYW5hZ2UgcGVyc2lzdGVudCByZXNlcnZhdGlvbiB0aHJvdWdoIFwKK21wYXRoIGRldmljZS4gSXQgcHJvY2Vzc2VzIG1hbmFnZW1lbnQgcmVxdWVzdHMgZnJvbSBjYWxsZXJzIGFuZCBoaWRlcyBcCit0aGUgbWFuYWdlbWVudCB0YXNrIGRldGFpbHMuIEl0IGFsc28gaGFuZGxlcyBwZXJzaXN0ZW50IHJlc2VydmF0aW9uIFwKK21hbmFnZW1lbnQgb2YgZGF0YSBwYXRoIGxpZmUgY3ljbGUgYW5kIHN0YXRlIGNoYW5nZXMuXAorNC4ga3BhcnR4IC0gVGhpcyB0b29sLCBkZXJpdmVkIGZyb20gdXRpbC1saW51eCdzIHBhcnR4LCByZWFkcyBwYXJ0aXRpb24gXAordGFibGVzIG9uIHNwZWNpZmllZCBkZXZpY2UgYW5kIGNyZWF0ZSBkZXZpY2UgbWFwcyBvdmVyIHBhcnRpdGlvbnMgXAorc2VnbWVudHMgZGV0ZWN0ZWQuIEl0IGlzIGNhbGxlZCBmcm9tIGhvdHBsdWcgdXBvbiBkZXZpY2UgbWFwcyBjcmVhdGlvbiBcCithbmQgZGVsZXRpb24iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9jaHJpc3RvcGhlLnZhcm9xdWkuZnJlZS5mci8iCisKK0RFUEVORFMgPSAibGliZGV2bWFwcGVyIFwKKyAgICAgICAgICAgbGliYWlvIFwKKyAgICAgICAgICAgbGlidXJjdSBcCisgICAgICAgICAgIHJlYWRsaW5lIFwKKyAgICAgICAgICAgdWRldiBcCisgICAgICAgICAgIGpzb24tYyBcCisgICAgICAgICAgIgorCitMSUNFTlNFID0gIkdQTHYyIgorCitTUkNfVVJJID0gImdpdDovL2dpdC5vcGVuc3ZjLmNvbS9tdWx0aXBhdGgtdG9vbHMvLmdpdDtwcm90b2NvbD1odHRwIFwKKyAgICAgICAgICAgZmlsZTovL211bHRpcGF0aGQub2UgXAorICAgICAgICAgICBmaWxlOi8vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLVJILWZpeHVwLXVkZXYtcnVsZXMtZm9yLXJlZGhhdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIyLVJILVJlbW92ZS10aGUtcHJvcGVydHktYmxhY2tsaXN0LWV4Y2VwdGlvbi1idWlsdGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtUkgtZG9uLXQtc3RhcnQtd2l0aG91dC1hLWNvbmZpZy1maWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtUkgtdXNlLXJwbS1vcHRmbGFncy1pZi1wcmVzZW50LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtUkgtYWRkLW1wYXRoY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI2LVJILWFkZC13d2lkcy1mcm9tLWtlcm5lbC1jbWRsaW5lLW1wYXRoLnd3aWRzLXdpdGgtQS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI3LVJILXdhcm4tb24taW52YWxpZC1yZWdleC1pbnN0ZWFkLW9mLWZhaWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1SSC1yZXNldC1kZWZhdWx0LWZpbmRfbXV0aXBhdGhzLXZhbHVlLXRvLW9mZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI5LW11bHRpcGF0aC10b29scy1tb2RpZnktTWFrZWZpbGUuaW5jLWZvci1jcm9zcy1jb21waWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1BbHdheXMtdXNlLWRldm1hcHBlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMxLUFsd2F5cy11c2UtZGV2bWFwcGVyLWZvci1rcGFydHgucGF0Y2ggXAorICAgICAgICAgICAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitTUkNSRVYgPSAiZWI2ODhlMTgzM2U5NTMzYmZkOTQ5NmRkYzM3ZWVjYzkzNTkwZGVmYSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBzeXN0ZW1kIHBrZ2NvbmZpZworCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibXVsdGlwYXRoZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBtdWx0aXBhdGgtdG9vbHMgaW5jbHVkZXMgYSBjb3B5IG9mIHRoZSB2YWxncmluZC5oIGhlYWRlcgorIyBmaWxlIGFuZCB1c2VzIHRoZSBtYWNyb3MgdG8gc3VwcHJlc3Mgc29tZSBmYWxzZSBwb3NpdGl2ZXMuIEhvd2V2ZXIsCisjIHRoYXQgb25seSB3b3JrcyBvbiBBUk0gd2hlbiB0aHVtYiBpcyBkaXNhYmxlZC4gT3RoZXJ3aXNlIG9uZSBnZXRzOgorIyAgIEVycm9yOiBzaGlmdHMgaW4gQ01QL01PViBpbnN0cnVjdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHVuaWZpZWQgc3ludGF4IC0tIGBtb3YgcjEyLHIxMixyb3IjMycKKyMgICAuLi9NYWtlZmlsZS5pbmM6NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkZWJ1Zy5vJyBmYWlsZWQKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCisKKyMgVGhlIGV4YWN0IHZlcnNpb24gb2YgU1lTVEVNRCBkb2VzIG5vdCBtYXR0ZXIgYnV0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMjA5LgorIworRVhUUkFfT0VNQUtFID0gJ01VTFRJUEFUSF9WRVJTSU9OPSR7UFZ9IERFU1RESVI9JHtEfSBzeXNsaWJkaXI9JHtiYXNlX2xpYmRpcn0gXAorICAgICAgICAgICAgICAgIE9QVEZMQUdTPSIke0NGTEFHU30iIFwKKyAgICAgICAgICAgICAgICBiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IFwKKyAgICAgICAgICAgICAgICBMSUI9JHtiYXNlX2xpYmRpcn0gbGliZGlyPSR7YmFzZV9saWJkaXJ9L211bHRpcGF0aCBcCisgICAgICAgICAgICAgICAgdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9IFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiU1lTVEVNRD0yMTYiLCAiIiwgZCl9IFwKKyAgICAgICAgICAgICAgICcKKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwKKworICAgICMgV2UgY29weSBhbiBpbml0c2NyaXB0LCBidXQgZG8gbm90IHN0YXJ0IG11bHRpcGF0aGQgYXQgaW5pdCB0aW1lLgorICAgICMKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisgICAgICAgIGNwICR7V09SS0RJUn0vbXVsdGlwYXRoZC5vZSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbXVsdGlwYXRoZAorICAgIGZpCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZSBcCisgICAgJHtEfSR7c3lzY29uZmRpcn0vbXVsdGlwYXRoLmNvbmYuZXhhbXBsZQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7YmFzZV9saWJkaXJ9L211bHRpcGF0aC8uZGVidWciCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWJzIgorRklMRVNfJHtQTn0tbGlicyA9ICIke2Jhc2VfbGliZGlyfS9saWIqLnNvLiogXAorICAgICAgICAgICAgICAgICAgICAke2Jhc2VfbGliZGlyfS9tdWx0aXBhdGgvbGliKi5zbyoiCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tbGlicyBiYXNoIgorCitQUk9WSURFUyArPSAiZGV2aWNlLW1hcHBlci1tdWx0aXBhdGgiCitSUFJPVklERVNfJHtQTn0gKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoIgorUlBST1ZJREVTXyR7UE59LWxpYnMgKz0gImRldmljZS1tYXBwZXItbXVsdGlwYXRoLWxpYnMiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnIgorCitQQUNLQUdFUyA9KyAia3BhcnR4IgorRklMRVNfa3BhcnR4ID0gIiR7YmFzZV9zYmluZGlyfS9rcGFydHggXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3VkZXYva3BhcnR4X2lkIFwKKyAgICAgICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2gga3BhcnR4IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub18zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjN2ZiZDUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvbmFuby9uYW5vXzMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKLU5vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKLVBpY28gdGV4dCBlZGl0b3IuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotREVQRU5EUyA9ICJuY3Vyc2VzIGZpbGUiCi1SREVQRU5EU18ke1BOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0KLVBWX01BSk9SID0gIiR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19IgotCi1TUkNfVVJJID0gImh0dHBzOi8vbmFuby1lZGl0b3Iub3JnL2Rpc3QvdiR7UFZfTUFKT1J9L25hbm8tJHtQVn0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzQxOTY0MjdhMDllYzJmODJhODhmYWNkMjIwZDI3ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTBhNWJjYTM1NDUxNGU2NDc2MmM5ODdjMjAwYTg3NThiMDVlN2JjY2VkM2IwMGIzZTQ4ZWEwYTJkMzgzYzhhMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L25hbm8vbmFub180LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNzkyMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9uYW5vL25hbm9fNC4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK0RFU0NSSVBUSU9OID0gIkdOVSBuYW5vIChOYW5vJ3MgQU5PdGhlciBlZGl0b3IsIG9yIFwKK05vdCBBTk90aGVyIGVkaXRvcikgaXMgYW4gZW5oYW5jZWQgY2xvbmUgb2YgdGhlIFwKK1BpY28gdGV4dCBlZGl0b3IuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5uYW5vLWVkaXRvci5vcmcvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IgorCitERVBFTkRTID0gIm5jdXJzZXMgZmlsZSIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8tYmFzZSIKKworUFZfTUFKT1IgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9uYW5vLWVkaXRvci5vcmcvZGlzdC92JHtQVl9NQUpPUn0vbmFuby0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMmRlM2U4YTYwZWNmMDk2NDllMzE2ZTg5YmUyYWFjNjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWUyZmNmZWEzNTc4NDYyNGE3ZDg2Nzg1NzY4Yjc3MmQ1OGJiMzk5NWQxYWVjOTE3NmEyN2ExMTNiMWU5YmFjMyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKKworUEFDS0FHRUNPTkZJR1t0aW55XSA9ICItLWVuYWJsZS10aW55LCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29scy8wMDAxLW1pc2MtRG8tbm90LXByaW50LU5VTEwtc3RyaW5nLWludG8tbG9ncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWYyNjVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gZTI1ZDAwZDgyOTdjYmEwNDRjM2E0ZDJlMzg3NDllNTRhZGFjNjZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDE5OjU5OjAyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pc2M6IERvIG5vdCBwcmludCBOVUxMIHN0cmluZyBpbnRvIGxvZ3MKKworc3RyaW5nIGZvcm1hdCAlcyBpcyBnZXR0aW5nIGEgTlVMTCBwb2ludGVyIGZvciAnZXhwYW5kJworcGFyYW1ldGVyIGFsd2F5cyBzaW5jZSB0aGUgY2hlY2sgZm9yIGNodW5rc1tpXSA9PSBOVUxMIHdpbGwgZW5zdXJlIHRoYXQKK2l0cyBhbHdheXMgbnVsbCB3aGVuIHRoZSBMb2coKSBBUEkgaXMgY2FsbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMvcHVsbC8zMTJdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jIGIvb3Blbi12bS10b29scy9saWIvbWlzYy91dGlsX21pc2MuYworaW5kZXggMTk4YzIzZDIuLjBhYzBhMzM1IDEwMDY0NAorLS0tIG9wZW4tdm0tdG9vbHMvbGliL21pc2MvdXRpbF9taXNjLmMKKysrKyBvcGVuLXZtLXRvb2xzL2xpYi9taXNjL3V0aWxfbWlzYy5jCitAQCAtNzE5LDggKzcxOSw4IEBAIFV0aWxfRXhwYW5kU3RyaW5nKGNvbnN0IGNoYXIgKmZpbGVOYW1lKSAvLyBJTiAgZmlsZSBwYXRoIHRvIGV4cGFuZAorICAgICAgIEFTU0VSVCghZnJlZUNodW5rW2ldKTsKKyAgICAgICBjaHVua3NbaV0gPSBleHBhbmQ7CisgICAgICAgaWYgKGNodW5rc1tpXSA9PSBOVUxMKSB7CistCSBMb2coIiVzOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5IHRvIGV4cGFuZCBcIiVzXCIgaW4gXCIlc1wiLlxuIiwKKy0gICAgICAgICAgICAgX19GVU5DVElPTl9fLCBleHBhbmQsIGZpbGVOYW1lKTsKKysJIExvZygiJXM6IENhbm5vdCBhbGxvY2F0ZSBtZW1vcnkgdG8gZXhwYW5kIGluIFwiJXNcIi5cbiIsCisrICAgICAgICAgICAgIF9fRlVOQ1RJT05fXywgZmlsZU5hbWUpOworIAkgZ290byBvdXQ7CisgICAgICAgfQorICAgICAgIGNodW5rU2l6ZVtpXSA9IHN0cmxlbihleHBhbmQpOwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4zLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkNzQ4NmQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0jIFRoaXMgcmVjaXBlIGlzIG1vZGlmaWVkIGZyb20gdGhlIHJlY2lwZSBvcmlnaW5hbGx5IGZvdW5kIGluIHRoZSBPcGVuLVN3aXRjaAotIyByZXBvc2l0b3J5OgotIwotIyBodHRwczovL2dpdGh1Yi5jb20vb3Blbi1zd2l0Y2gvb3BzLWJ1aWxkCi0jIHlvY3RvL29wZW5zd2l0Y2gvbWV0YS1mb3NzLW9wZW5zd2l0Y2gvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjAuNS5iYgotIyBDb21taXQgOTAwOGRlMmQ4ZTEwMGYzZjg2OGM2Njc2NTc0MmJjYTlmYTk4ZjNmOQotIwotIyBUaGUgcmVjaXBlIHBhY2thZ2luZyBoYXMgYmVlbiByZWxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3IgaW5jbHVzaW9uCi0jIGluIG1ldGEtb3BlbmVtYmVkZGVkIGJ5IGFncmVlbWVudCBvZiB0aGUgYXV0aG9yIChEaWVnbyBEb21wZSkuCi0jCi0KLVNVTU1BUlkgPSAiVG9vbHMgdG8gZW5oYW5jZSBWTVdhcmUgZ3Vlc3QgaW50ZWdyYXRpb24gYW5kIHBlcmZvcm1hbmNlIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzIgotU0VDVElPTiA9ICJ2bXdhcmUtdG9vbHMiCi0KLUxJQ0VOU0UgPSAiTEdQTC0yLjAgJiBHUEwtMi4wICYgQlNEICYgQ0RETC0xLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NTkzMTc4MDljNTQ0NGZiMzljZWFmNmFjNDVjNDNhYyIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtYmxvY2sgPSAiQlNEIgotTElDRU5TRV9tb2R1bGVzL2ZyZWVic2Qvdm1tZW1jdGwgPSAiR1BMLTIuMCIKLUxJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZteG5ldCA9ICJHUEwtMi4wIgotTElDRU5TRV9tb2R1bGVzL2xpbnV4ID0gIkdQTC0yLjAiCi1MSUNFTlNFX21vZHVsZXMvc29sYXJpcyA9ICJDRERMLTEuMCIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgZmlsZTovL3Rvb2xzLmNvbmYgXAotICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdm10b29sc2QuaW5pdCBcCi0gICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWRvbi10LXVzZS1kbmV0LWNvbmZpZy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN0cnVjdC10aW1lc3BlYy5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDYtRml4LWRlZmluaXRpb24tb2YtQUxMUEVSTVMtYW5kLUFDQ0VTU1BFUk1TLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAxMS1Vc2UtY29uZmlndXJlLXRlc3QtZm9yLXN5cy1zdGF0LmgtaW5jbHVkZS5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1zdWJkaXItb2JqZWN0cy1jb25maWd1cmUtZXJyb3IucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDItUmVuYW1lLXBvbGwuaC10by12bV9wb2xsLmgucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLXVzZS1wb3NpeC1zdHJlcnJvcl9yLXVubGVzcy1vbi1nbnUtbGliYy1zeXN0ZW0ucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtVXNlLW9mZjY0X3QtaW5zdGVhZC1vZi1fX29mZjY0X3QucGF0Y2ggXAotIgotU1JDUkVWID0gIjIxNDdkZjZhYWJlNjM5ZmM1ZmY0MjNlZDc5MWE4ZTdmMDJiZjhkMGEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQvb3Blbi12bS10b29scyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgdXRpbC1saW51eCBsaWJkbmV0IHByb2NwcyBsaWJ0aXJwYyIKLQotIyBvcGVuLXZtLXRvb2xzIGlzIHN1cHBvcnRlZCBvbmx5IG9uIHg4Ni4KLUNPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0Lip8aS44Ni4qKS1saW51eCcKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInZtdG9vbHNkLnNlcnZpY2UiCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtaWN1IC0tZGlzYWJsZS1tdWx0aW1vbiAtLWRpc2FibGUtZG9jcyBcCi0gICAgICAgICAtLWRpc2FibGUtdGVzdHMgLS13aXRob3V0LWd0a21tIC0td2l0aG91dC14ZXJjZXMgLS13aXRob3V0LXBhbSBcCi0gICAgICAgICAtLWRpc2FibGUtZ3JhYmJpdG1xcHJveHkgLS1kaXNhYmxlLXZnYXV0aCAtLWRpc2FibGUtZGVwbG95cGtnIFwKLSAgICAgICAgIC0td2l0aG91dC1yb290LXByaXZpbGVnZXMgLS13aXRob3V0LWtlcm5lbC1tb2R1bGVzIgotCi1OT19YMTFfRkxBR1MgPSAiLS13aXRob3V0LXggLS13aXRob3V0LWd0azIgLS13aXRob3V0LWd0azMiCi1YMTFfREVQRU5EUyA9ICJsaWJ4ZXh0IGxpYnhpIGxpYnhyZW5kZXIgbGlieHJhbmRyIGxpYnh0c3QgZ3RrKyBnZGstcGl4YnVmIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIiwke05PX1gxMV9GTEFHU30sJHtYMTFfREVQRU5EU30iCi0KLSMgZnVzZSBnZXRzIGltcGxpY2l0bHkgZGV0ZWN0ZWQ7IHRoZXJlIGlzIG5vIC0td2l0aG91dC1mdXNlIG9wdGlvbi4KLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAiLCxmdXNlIgotCi1DRkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuLXZtLXRvb2xzL3BsdWdpbnMvdm1zdmMvbGliKi5zbyBcCi0gICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5zbyBcCi0gICAgJHtzeXNjb25mZGlyfS92bXdhcmUtdG9vbHMvdG9vbHMuY29uZiBcCi0iCi1GSUxFU18ke1BOfS1sb2NhbGUgKz0gIiR7ZGF0YWRpcn0vb3Blbi12bS10b29scy9tZXNzYWdlcyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy9jb21tb24vbGliKi5sYSIKLQotQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIgotCi1SREVQRU5EU18ke1BOfSA9ICJ1dGlsLWxpbnV4IGxpYmRuZXQgZnVzZSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgbG4gLXNmICR7c2JpbmRpcn0vbW91bnQudm1oZ2ZzICR7RH0vc2Jpbi9tb3VudC52bWhnZnMKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scwotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS8qLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBlbHNlCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0gICAgICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3ZtdG9vbHNkLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZtdG9vbHNkCi0gICAgZmkKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90b29scy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIGV4cG9ydCBDVVNUT01fRE5FVF9OQU1FPWRuZXQKLSAgICBleHBvcnQgQ1VTVE9NX0RORVRfTElCUz0tTCR7U1RBR0lOR19MSUJESVJ9L2xpYmRuZXQuc28KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfSA9ICJ2bXRvb2xzZCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59ID0gInN0YXJ0IDkwIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCi0KLXB5dGhvbigpIHsKLSAgICBpZiAnbmV0d29ya2luZy1sYXllcicgbm90IGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnKS5zcGxpdCgpIG9yIFwKLSAgICAgICAgJ2ZpbGVzeXN0ZW1zLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtbmV0d29ya2luZyBhbmQgbWV0YS1maWxlc3lzdGVtcyB0byBiZSBwcmVzZW50LicpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuLXZtLXRvb2xzL29wZW4tdm0tdG9vbHNfMTAuMy41LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWQ2NTkzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3Blbi12bS10b29scy9vcGVuLXZtLXRvb2xzXzEwLjMuNS5iYgpAQCAtMCwwICsxLDEwNyBAQAorIyBUaGlzIHJlY2lwZSBpcyBtb2RpZmllZCBmcm9tIHRoZSByZWNpcGUgb3JpZ2luYWxseSBmb3VuZCBpbiB0aGUgT3Blbi1Td2l0Y2gKKyMgcmVwb3NpdG9yeToKKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL29wZW4tc3dpdGNoL29wcy1idWlsZAorIyB5b2N0by9vcGVuc3dpdGNoL21ldGEtZm9zcy1vcGVuc3dpdGNoL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW4tdm0tdG9vbHMvb3Blbi12bS10b29sc18xMC4wLjUuYmIKKyMgQ29tbWl0IDkwMDhkZTJkOGUxMDBmM2Y4NjhjNjY3NjU3NDJiY2E5ZmE5OGYzZjkKKyMKKyMgVGhlIHJlY2lwZSBwYWNrYWdpbmcgaGFzIGJlZW4gcmVsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm9yIGluY2x1c2lvbgorIyBpbiBtZXRhLW9wZW5lbWJlZGRlZCBieSBhZ3JlZW1lbnQgb2YgdGhlIGF1dGhvciAoRGllZ28gRG9tcGUpLgorIworCitTVU1NQVJZID0gIlRvb2xzIHRvIGVuaGFuY2UgVk1XYXJlIGd1ZXN0IGludGVncmF0aW9uIGFuZCBwZXJmb3JtYW5jZSIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scyIKK1NFQ1RJT04gPSAidm13YXJlLXRvb2xzIgorCitMSUNFTlNFID0gIkxHUEwtMi4wICYgR1BMLTIuMCAmIEJTRCAmIENEREwtMS4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTU5MzE3ODA5YzU0NDRmYjM5Y2VhZjZhYzQ1YzQzYWMiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bWJsb2NrID0gIkJTRCIKK0xJQ0VOU0VfbW9kdWxlcy9mcmVlYnNkL3ZtbWVtY3RsID0gIkdQTC0yLjAiCitMSUNFTlNFX21vZHVsZXMvZnJlZWJzZC92bXhuZXQgPSAiR1BMLTIuMCIKK0xJQ0VOU0VfbW9kdWxlcy9saW51eCA9ICJHUEwtMi4wIgorTElDRU5TRV9tb2R1bGVzL3NvbGFyaXMgPSAiQ0RETC0xLjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92bXdhcmUvb3Blbi12bS10b29scy5naXQ7cHJvdG9jb2w9aHR0cHMgXAorICAgICAgICAgICBmaWxlOi8vdG9vbHMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly92bXRvb2xzZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3ZtdG9vbHNkLmluaXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtZG9uLXQtdXNlLWRuZXQtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItYWRkLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zdHJ1Y3QtdGltZXNwZWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1GaXgtZGVmaW5pdGlvbi1vZi1BTExQRVJNUy1hbmQtQUNDRVNTUEVSTVMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1Vc2UtY29uZmlndXJlLXRvLXRlc3QtZm9yLWZlYXR1cmUtaW5zdGVhZC1vZi1wbGF0Zm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtVXNlLWNvbmZpZ3VyZS10ZXN0LWZvci1zeXMtc3RhdC5oLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LXN1YmRpci1vYmplY3RzLWNvbmZpZ3VyZS1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtcG9sbC5oLWluc3RlYWQtb2Ytc3lzLXBvbGwuaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLVJlbmFtZS1wb2xsLmgtdG8tdm1fcG9sbC5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtdXNlLXBvc2l4LXN0cmVycm9yX3ItdW5sZXNzLW9uLWdudS1saWJjLXN5c3RlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1vZmY2NF90LWluc3RlYWQtb2YtX19vZmY2NF90LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1Eby1ub3QtcHJpbnQtTlVMTC1zdHJpbmctaW50by1sb2dzLnBhdGNoIFwKKyAgICAgICAgICAgIgorIyBzdGFibGUtMTAuMy41CitTUkNSRVYgPSAiZjJmZjE5MjcxNzM3NWI5NWE2YjdlMjc4ZmI0N2RiYjNkM2JjNTZkMSIKKworUyA9ICIke1dPUktESVJ9L2dpdC9vcGVuLXZtLXRvb2xzIgorCitERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSB1dGlsLWxpbnV4IGxpYmRuZXQgcHJvY3BzIGxpYnRpcnBjIgorCisjIG9wZW4tdm0tdG9vbHMgaXMgc3VwcG9ydGVkIG9ubHkgb24geDg2LgorQ09NUEFUSUJMRV9IT1NUID0gJyh4ODZfNjQuKnxpLjg2LiopLWxpbnV4JworCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidm10b29sc2Quc2VydmljZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1pY3UgLS1kaXNhYmxlLW11bHRpbW9uIC0tZGlzYWJsZS1kb2NzIFwKKyAgICAgICAgIC0tZGlzYWJsZS10ZXN0cyAtLXdpdGhvdXQtZ3RrbW0gLS13aXRob3V0LXhlcmNlcyAtLXdpdGhvdXQtcGFtIFwKKyAgICAgICAgIC0tZGlzYWJsZS1ncmFiYml0bXFwcm94eSAtLWRpc2FibGUtdmdhdXRoIC0tZGlzYWJsZS1kZXBsb3lwa2cgXAorICAgICAgICAgLS13aXRob3V0LXJvb3QtcHJpdmlsZWdlcyAtLXdpdGhvdXQta2VybmVsLW1vZHVsZXMiCisKK05PX1gxMV9GTEFHUyA9ICItLXdpdGhvdXQteCAtLXdpdGhvdXQtZ3RrMiAtLXdpdGhvdXQtZ3RrMyIKK1gxMV9ERVBFTkRTID0gImxpYnhleHQgbGlieGkgbGlieHJlbmRlciBsaWJ4cmFuZHIgbGlieHRzdCBndGsrIGdkay1waXhidWYiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLCR7Tk9fWDExX0ZMQUdTfSwke1gxMV9ERVBFTkRTfSIKKworIyBmdXNlIGdldHMgaW1wbGljaXRseSBkZXRlY3RlZDsgdGhlcmUgaXMgbm8gLS13aXRob3V0LWZ1c2Ugb3B0aW9uLgorUEFDS0FHRUNPTkZJR1tmdXNlXSA9ICIsLGZ1c2UiCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW4tdm0tdG9vbHMvcGx1Z2lucy92bXN2Yy9saWIqLnNvIFwKKyAgICAke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLnNvIFwKKyAgICAke3N5c2NvbmZkaXJ9L3Ztd2FyZS10b29scy90b29scy5jb25mIFwKKyIKK0ZJTEVTXyR7UE59LWxvY2FsZSArPSAiJHtkYXRhZGlyfS9vcGVuLXZtLXRvb2xzL21lc3NhZ2VzIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vb3Blbi12bS10b29scy9wbHVnaW5zL2NvbW1vbi9saWIqLmxhIgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYiCisKK1JERVBFTkRTXyR7UE59ID0gInV0aWwtbGludXggbGliZG5ldCBmdXNlIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBsbiAtc2YgJHtzYmluZGlyfS9tb3VudC52bWhnZnMgJHtEfS9zYmluL21vdW50LnZtaGdmcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9Lyouc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgIGVsc2UKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdm10b29sc2QuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvdm10b29sc2QKKyAgICBmaQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Rvb2xzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vdm13YXJlLXRvb2xzL3Rvb2xzLmNvbmYKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgZXhwb3J0IENVU1RPTV9ETkVUX05BTUU9ZG5ldAorICAgIGV4cG9ydCBDVVNUT01fRE5FVF9MSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0vbGliZG5ldC5zbworfQorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgorSU5JVFNDUklQVF9OQU1FXyR7UE59ID0gInZtdG9vbHNkIgorSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0gPSAic3RhcnQgOTAgMiAzIDQgNSAuIHN0b3AgNjAgMCAxIDYgLiIKKworcHl0aG9uKCkgeworICAgIGlmICduZXR3b3JraW5nLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCkgb3IgXAorICAgICAgICAnZmlsZXN5c3RlbXMtbGF5ZXInIG5vdCBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJykuc3BsaXQoKToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgnUmVxdWlyZXMgbWV0YS1uZXR3b3JraW5nIGFuZCBtZXRhLWZpbGVzeXN0ZW1zIHRvIGJlIHByZXNlbnQuJykKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1BZGQtbWlzc2luZy1tdWx0aS1saW5lLXNlcGFyYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTEzNTk3Yi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIDYwODU3MjI5YWFiMTNjY2M0MjY1NzJhNDNhYjg5MTQwOWJiNzZlYTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCA5IFNlcCAyMDE4IDIyOjUyOjU1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXNzaW5nIG11bHRpLWxpbmUgc2VwYXJhdG9yCi0KLU90aGVyd2lzZSB0aGlzIGZhaWxzIHRvIGJ1aWxkICggZm91bmQgb24gbWlwcyApCi0KLUZpeGVzCi1jb250cmliL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHA6OTc6MTU6IGVycm9yOgotZXhwZWN0ZWQgY29uc3RydWN0b3IsIGRlc3RydWN0b3IsIG9yIHR5cGUgY29udmVyc2lvbiBiZWZvcmUgJygnIHRva2VuCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJgotX19HTlVDX01JTk9SX18+PTMpKQotICAgICAgICAgICAgICAgXgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfY29udHJpYi9wdWxsLzE3NjRdCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbW9kdWxlcy9zdXJmYWNlX21hdGNoaW5nL3NyYy9oYXNoX211cm11cjg2LmhwcCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL21vZHVsZXMvc3VyZmFjZV9tYXRjaGluZy9zcmMvaGFzaF9tdXJtdXI4Ni5ocHAgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1pbmRleCAxZWRmNmJmNC4uMDQ3N2QzN2UgMTAwNjQ0Ci0tLS0gYS9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi0rKysgYi9tb2R1bGVzL3N1cmZhY2VfbWF0Y2hpbmcvc3JjL2hhc2hfbXVybXVyODYuaHBwCi1AQCAtOTMsNyArOTMsNyBAQCB2b2lkIGhhc2hNdXJtdXJ4ODYgKCBjb25zdCB2b2lkICoga2V5LCBjb25zdCBpbnQgbGVuLCBjb25zdCB1aW50IHNlZWQsIHZvaWQgKiBvdQotIC8qIE5vdyBmaW5kIGJlc3Qgd2F5IHdlIGNhbiB0byBSRUFEX1VJTlQzMiAqLwotICNpZm5kZWYgV09SRFNfQklHRU5ESUFOCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgICgqKCh1aW50MzJfdCopKHB0cikpKQotLSNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKQotKyNlbGlmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKSBcCi0gICAgICYmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXz40IHx8IChfX0dOVUNfXz09NCAmJiBfX0dOVUNfTUlOT1JfXz49MykpCi0gIyBkZWZpbmUgUkVBRF9VSU5UMzIocHRyKSAgIChfX2J1aWx0aW5fYnN3YXAzMigqKCh1aW50MzJfdCopKHB0cikpKSkKLSAjZW5kaWYKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2LzAwMDEtQ2hlY2stZm9yLWNsYW5nLWJlZm9yZS11c2luZy1pc3lzdGVtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTkwNzFhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3YvMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGZhNzZkODY0NmJiMmI5YjUxNDcyOGVlZWY0MWFmZWQ3YzQzYTM2ZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMSBTZXAgMjAxOCAxODoxODozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBDaGVjayBmb3IgY2xhbmcgYmVmb3JlIHVzaW5nIC1pc3lzdGVtCi0KLVdoZW4gY3Jvc3MgY29tcGlsaW5nIHdpdGggY2xhbmcsIHRoZSBpbnRlcm5hbCBDKysgaGVhZGVycyBhcmUgbm90IGZvdW5kCi13aGVuIGFkZGluZyBzeXNyb290IHRvIC1pc3lzdGVtLCB0aGF0IGlzIHJlZHVuZGFudCBhbnl3YXkgYmVjYXVzZSBpdAotd2lsbCBsb29rIGZvciBoZWFkZXJzIGluc2lkZXIgLS1zeXNyb290IHBhdGggd2l0aCBzYW1lIHF1YWxpdHkgYXMgaXQKLXdvdWxkIGRvIHdpdGggLWlzeXN0ZW0gb3RoZXJ3aXNlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi9wdWxsLzEyNTA0XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGNtYWtlL09wZW5DVlV0aWxzLmNtYWtlIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY21ha2UvT3BlbkNWVXRpbHMuY21ha2UgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotaW5kZXggZmFlOTFjMTY1Zi4uNjBjMjAxOTJkYyAxMDA2NDQKLS0tLSBhL2NtYWtlL09wZW5DVlV0aWxzLmNtYWtlCi0rKysgYi9jbWFrZS9PcGVuQ1ZVdGlscy5jbWFrZQotQEAgLTI1OSw3ICsyNTksNyBAQCBmdW5jdGlvbihvY3ZfaW5jbHVkZV9kaXJlY3RvcmllcykKLSAgICAgb2N2X2lzX29wZW5jdl9kaXJlY3RvcnkoX19pc19vcGVuY3ZfZGlyICIke2Rpcn0iKQotICAgICBpZihfX2lzX29wZW5jdl9kaXIpCi0gICAgICAgbGlzdChBUFBFTkQgX19hZGRfYmVmb3JlICIke2Rpcn0iKQotLSAgICBlbHNlaWYoQ1ZfR0NDIEFORCBOT1QgQ01BS0VfQ1hYX0NPTVBJTEVSX1ZFUlNJT04gVkVSU0lPTl9MRVNTICI2LjAiIEFORAotKyAgICBlbHNlaWYoKChDVl9HQ0MgQU5EIE5PVCBDTUFLRV9DWFhfQ09NUElMRVJfVkVSU0lPTiBWRVJTSU9OX0xFU1MgIjYuMCIpIE9SIENWX0NMQU5HKSBBTkQKLSAgICAgICAgICAgIGRpciBNQVRDSEVTICIvdXNyL2luY2x1ZGUkIikKLSAgICAgICAjIHdvcmthcm91bmQgZm9yIEdDQyA2LnggYnVnCi0gICAgIGVsc2UoKQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhOTk3MDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmN2L29wZW5jdl8zLjQuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgotCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1ERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgotCi1TUkNSRVZfb3BlbmN2ID0gImIzOGM1MGIzZDBjMzFlODIyOTQzMTVlYzQ0YjU0YjdlZjU1OWVmMTIiCi1TUkNSRVZfY29udHJpYiA9ICIxZjZkNmYwNjI2NmUxZWYzMzY0MzdhZTU0MDRiZWUxYzY1ZDQyY2RhIgotU1JDUkVWX2lwcCA9ICJiZGI3YmI4NWYzNGE4Y2IwZDM1ZTQwYTgxZjU4ZGE0MzFhYTE1NTdhIgotU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgotU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgotU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCi1TUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgotCi1kZWYgaXBwX2ZpbGVuYW1lKGQpOgotICAgIGltcG9ydCByZQotICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnLCBUcnVlKQotICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgotICAgICAgICByZXR1cm4gImlwcGljdl8yMDE3dTNfbG54X2lhMzJfZ2VuZXJhbF8yMDE4MDUxOC50Z3oiCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuICJpcHBpY3ZfMjAxN3UzX2xueF9pbnRlbDY0X2dlbmVyYWxfMjAxODA1MTgudGd6IgotCi1kZWYgaXBwX21kNXN1bShkKToKLSAgICBpbXBvcnQgcmUKLSAgICBhcmNoID0gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJywgVHJ1ZSkKLSAgICBpZiByZS5tYXRjaCgiaS44NiQiLCBhcmNoKToKLSAgICAgICAgcmV0dXJuICJlYTcyZGU3NGRhZTNjNjA0ZWI2MzQ4Mzk1MzY2ZTc4ZSIKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gImI3Y2MzNTEyNjdkYjJkMzRiOWVmYTFjZDIyZmYwNTcyIgotCi1JUFBfRklMRU5BTUUgPSAiJHtAaXBwX2ZpbGVuYW1lKGQpfSIKLUlQUF9NRDUgPSAiJHtAaXBwX21kNXN1bShkKX0iCi0KLVNSQ1JFVl9GT1JNQVQgPSAib3BlbmN2X2NvbnRyaWJfaXBwX2Jvb3N0ZGVzY192Z2ciCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdi5naXQ7bmFtZT1vcGVuY3YgXAotICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl9jb250cmliLmdpdDtkZXN0c3VmZml4PWNvbnRyaWI7bmFtZT1jb250cmliIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1pcHBpY3YvbWFzdGVyXzIwMTgwNTE4O2Rlc3RzdWZmaXg9aXBwO25hbWU9aXBwIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX2Jvb3N0ZGVzY18yMDE2MTAxMjtkZXN0c3VmZml4PWJvb3N0ZGVzYztuYW1lPWJvb3N0ZGVzYyBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2XzNyZHBhcnR5LmdpdDticmFuY2g9Y29udHJpYl94ZmVhdHVyZXMyZF92Z2dfMjAxNjAzMTc7ZGVzdHN1ZmZpeD12Z2c7bmFtZT12Z2cgXAotICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90aW55LWRubi90aW55LWRubi9hcmNoaXZlL3YxLjAuMGEzLnRhci5nejtkZXN0c3VmZml4PWdpdC8zcmRwYXJ0eS90aW55ZG5uL3RpbnktZG5uLTEuMC4wYTM7bmFtZT10aW55ZG5uO3VucGFjaz1mYWxzZSBcCi0gICAgZmlsZTovLzAwMDEtM3JkcGFydHktaXBwaWN2LVVzZS1wcmUtZG93bmxvYWRlZC1pcHAucGF0Y2ggXAotICAgIGZpbGU6Ly91c2Vsb2NhbHhmZWF0dXJlcy5wYXRjaDtwYXRjaGRpcj0uLi9jb250cmliLyBcCi0gICAgZmlsZTovLzAwMDEtQWRkLW1pc3NpbmctbXVsdGktbGluZS1zZXBhcmF0b3IucGF0Y2g7cGF0Y2hkaXI9Li4vY29udHJpYi8gXAotICAgIGZpbGU6Ly8wMDAyLU1ha2Utb3BlbmN2LXRzLWNyZWF0ZS1zaGFyZS1saWJyYXJ5LWludGVhZC1vZi1zdGF0aWMucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLVRvLWZpeC1lcnJvcnMtYXMtZm9sbG93aW5nLnBhdGNoIFwKLSAgICBmaWxlOi8vZml4cGtnY29uZmlnLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1UZW1wb3JhcmxpeS13b3JrLWFyb3VuZC1kZXByZWNhdGVkLWZmbXBlZy1SQVctZnVuY3RpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1Eb250LXVzZS1pc3lzdGVtLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItY2xhbmctYmVmb3JlLXVzaW5nLWlzeXN0ZW0ucGF0Y2ggXAotIgotUFYgPSAiMy40LjMrZ2l0JHtTUkNQVn0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX3VucGFja19leHRyYSgpIHsKLSAgICBta2RpciAtcCAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L3YxLjAuMGEzLnRhci5neiAtQyAke1N9LzNyZHBhcnR5L3Rpbnlkbm4vCi0gICAgdGFyIHh6ZiAke1dPUktESVJ9L2lwcC9pcHBpY3YvJHtJUFBfRklMRU5BTUV9IC1DICR7V09SS0RJUn0KLSAgICBjcCAke1dPUktESVJ9L3ZnZy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCi0gICAgY3AgJHtXT1JLRElSfS9ib29zdGRlc2MvKi5pICR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzL3hmZWF0dXJlczJkL3NyYwotfQotYWRkdGFzayB1bnBhY2tfZXh0cmEgYWZ0ZXIgZG9fdW5wYWNrIGJlZm9yZSBkb19wYXRjaAotCi1FWFRSQV9PRUNNQUtFID0gIi1ET1BFTkNWX0VYVFJBX01PRFVMRVNfUEFUSD0ke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcyBcCi0gICAgLURXSVRIXzEzOTQ9T0ZGIFwKLSAgICAtREVOQUJMRV9QUkVDT01QSUxFRF9IRUFERVJTPU9GRiBcCi0gICAgLURDTUFLRV9TS0lQX1JQQVRIPU9OIFwKLSAgICAtRE9QRU5DVl9JQ1ZfSEFTSD0ke0lQUF9NRDV9IFwKLSAgICAtRElQUFJPT1Q9JHtXT1JLRElSfS9pcHBpY3ZfbG54IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygiVEFSR0VUX0NDX0FSQ0giLCAiLW1zc2UzIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMSIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSIsICIiLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTQuMiIsICItREVOQUJMRV9TU0U9MSAtREVOQUJMRV9TU0UyPTEgLURFTkFCTEVfU1NFMz0xIC1ERU5BQkxFX1NTU0UzPTEgLURFTkFCTEVfU1NFNDE9MSAtREVOQUJMRV9TU0U0Mj0xIiwgIiIsIGQpfSBcCi0gICAgJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoImxpYmRpciIsICIvdXNyL2xpYjY0IiwgIi1ETElCX1NVRkZJWD02NCIsICIiLCBkKX0gXAotICAgICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJsaWJkaXIiLCAiL3Vzci9saWIzMiIsICItRExJQl9TVUZGSVg9MzIiLCAiIiwgZCl9IFwKLSIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgotCi1QQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgotUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgotUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCi1QQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCi1QQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgotUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCi1QQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCi1QQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgotUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgotUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCi1QQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgotUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKLVBBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgotUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCi1QQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgotUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKLVBBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgotUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCi1QQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQotCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQotaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQotCi1leHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCi1leHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKLWV4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgotZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCi1leHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgotCi1UQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKLSAgICAke1BOfS1hcHBzIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7Ci0gICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQotCi0gICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQotICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KLSAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKLSAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6Ci0gICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCi0gICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKLQotICAgIG1ldGFwa2cgPSAgcG4KLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKLSAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KLSAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCi0KLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKLUZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKLUZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCi1GSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCi1GSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKLUlOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVNVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgotRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCi0KLVNVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKLUZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCi1SREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgY3AgJHtTfS9pbmNsdWRlL29wZW5jdi8qLmggJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2LwotICAgIHNlZCAtaSAnL2Jsb2J0cmFjay9kJyAke0R9JHtpbmNsdWRlZGlyfS9vcGVuY3YvY3ZhdXguaAotCi0gICAgIyBNb3ZlIFB5dGhvbiBmaWxlcyBpbnRvIGNvcnJlY3QgbGlicmFyeSBmb2xkZXIgKGZvciBtdWx0aWxpYiBidWlsZCkKLSAgICBpZiBbICIkbGliZGlyIiAhPSAiL3Vzci9saWIiIC1hIC1kICR7RH0vdXNyL2xpYiBdOyB0aGVuCi0gICAgICAgIG12ICR7RH0vdXNyL2xpYi8qICR7RH0vJHtsaWJkaXJ9LwotICAgICAgICBybSAtcmYgJHtEfS91c3IvbGliCi0gICAgZmkKLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5jdi9vcGVuY3ZfMy40LjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhNmUwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuY3Yvb3BlbmN2XzMuNC41LmJiCkBAIC0wLDAgKzEsMTkwIEBACitTVU1NQVJZID0gIk9wZW5jdiA6IFRoZSBPcGVuIENvbXB1dGVyIFZpc2lvbiBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL29wZW5jdi5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTYyZDg5YzVkY2IwNTgzNjA5ZWE5MTljNTZiZTBlZTc2IgorCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitERVBFTkRTID0gImxpYnRvb2wgc3dpZy1uYXRpdmUgYnppcDIgemxpYiBnbGliLTIuMCBsaWJ3ZWJwIgorCitTUkNSRVZfb3BlbmN2ID0gIjhmMTM1NmMzYzViMTY3MjEzNDk1ODJkYjQ2MWEyMDUxNjUzMDU5ZTgiCitTUkNSRVZfY29udHJpYiA9ICI3MjkyZGY2MjYyNGRlZDhhZjgwMzUyMzE0MzVkZmQxN2M5M2UxYTgwIgorU1JDUkVWX2lwcCA9ICIzMmUzMTVhNWIxMDZhN2I4OWRiZWQ1MWMyOGY4MTIwYTQ4YjM2OGI0IgorU1JDUkVWX2Jvb3N0ZGVzYyA9ICIzNGU0MjA2YWVmNDRkNTBlNmJiY2QwYWIwNjM1NGI1MmU3NDY2ZDI2IgorU1JDUkVWX3ZnZyA9ICJmY2NmN2NkNmE0YjEyMDc5ZjczYmJmYjIxNzQ1ZjliYWJjZDRlYjFkIgorU1JDX1VSSVt0aW55ZG5uLm1kNXN1bV0gPSAiYWRiMWM1MTJlMDljYTJjN2E2ZmFlZjM2ZjljNTNlNTkiCitTUkNfVVJJW3Rpbnlkbm4uc2hhMjU2c3VtXSA9ICJlMmM2MWNlOGM1ZGViYWE2NDQxMjExNzllOWRiZGNmODNmNDk3ZjM5ZGU4NTNmOGRkNTE3NTg0NjUwNWFhMThiIgorCitkZWYgaXBwX2ZpbGVuYW1lKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gImlwcGljdl8yMDE5X2xueF9pYTMyX2dlbmVyYWxfMjAxODA3MjMudGd6IgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiaXBwaWN2XzIwMTlfbG54X2ludGVsNjRfZ2VuZXJhbF8yMDE4MDcyMy50Z3oiCisKK2RlZiBpcHBfbWQ1c3VtKGQpOgorICAgIGltcG9ydCByZQorICAgIGFyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQorICAgIGlmIHJlLm1hdGNoKCJpLjg2JCIsIGFyY2gpOgorICAgICAgICByZXR1cm4gIjRmMzg0MzJjMzBiZmQ2NDIzMTY0YjdhMjRiYmM5OGEwIgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAiYzBiZDc4YWRiNDE1NmJiZjU1MmMxZGZlOTA1OTk2MDciCisKK0lQUF9GSUxFTkFNRSA9ICIke0BpcHBfZmlsZW5hbWUoZCl9IgorSVBQX01ENSA9ICIke0BpcHBfbWQ1c3VtKGQpfSIKKworU1JDUkVWX0ZPUk1BVCA9ICJvcGVuY3ZfY29udHJpYl9pcHBfYm9vc3RkZXNjX3ZnZyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2LmdpdDtuYW1lPW9wZW5jdiBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuY3Yvb3BlbmN2X2NvbnRyaWIuZ2l0O2Rlc3RzdWZmaXg9Y29udHJpYjtuYW1lPWNvbnRyaWIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWlwcGljdi9tYXN0ZXJfMjAxODA3MjM7ZGVzdHN1ZmZpeD1pcHA7bmFtZT1pcHAgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vb3BlbmN2L29wZW5jdl8zcmRwYXJ0eS5naXQ7YnJhbmNoPWNvbnRyaWJfeGZlYXR1cmVzMmRfYm9vc3RkZXNjXzIwMTYxMDEyO2Rlc3RzdWZmaXg9Ym9vc3RkZXNjO25hbWU9Ym9vc3RkZXNjIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL29wZW5jdi9vcGVuY3ZfM3JkcGFydHkuZ2l0O2JyYW5jaD1jb250cmliX3hmZWF0dXJlczJkX3ZnZ18yMDE2MDMxNztkZXN0c3VmZml4PXZnZztuYW1lPXZnZyBcCisgICAgaHR0cHM6Ly9naXRodWIuY29tL3RpbnktZG5uL3RpbnktZG5uL2FyY2hpdmUvdjEuMC4wYTMudGFyLmd6O2Rlc3RzdWZmaXg9Z2l0LzNyZHBhcnR5L3Rpbnlkbm4vdGlueS1kbm4tMS4wLjBhMztuYW1lPXRpbnlkbm47dW5wYWNrPWZhbHNlIFwKKyAgICBmaWxlOi8vMDAwMS0zcmRwYXJ0eS1pcHBpY3YtVXNlLXByZS1kb3dubG9hZGVkLWlwcC5wYXRjaCBcCisgICAgZmlsZTovL3VzZWxvY2FseGZlYXR1cmVzLnBhdGNoO3BhdGNoZGlyPS4uL2NvbnRyaWIvIFwKKyAgICBmaWxlOi8vMDAwMi1NYWtlLW9wZW5jdi10cy1jcmVhdGUtc2hhcmUtbGlicmFyeS1pbnRlYWQtb2Ytc3RhdGljLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1Uby1maXgtZXJyb3JzLWFzLWZvbGxvd2luZy5wYXRjaCBcCisgICAgZmlsZTovL2ZpeHBrZ2NvbmZpZy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtVGVtcG9yYXJsaXktd29yay1hcm91bmQtZGVwcmVjYXRlZC1mZm1wZWctUkFXLWZ1bmN0aS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtRG9udC11c2UtaXN5c3RlbS5wYXRjaCBcCisiCitQViA9ICIzLjQuNSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworZG9fdW5wYWNrX2V4dHJhKCkgeworICAgIG1rZGlyIC1wICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vdjEuMC4wYTMudGFyLmd6IC1DICR7U30vM3JkcGFydHkvdGlueWRubi8KKyAgICB0YXIgeHpmICR7V09SS0RJUn0vaXBwL2lwcGljdi8ke0lQUF9GSUxFTkFNRX0gLUMgJHtXT1JLRElSfQorICAgIGNwICR7V09SS0RJUn0vdmdnLyouaSAke1dPUktESVJ9L2NvbnRyaWIvbW9kdWxlcy94ZmVhdHVyZXMyZC9zcmMKKyAgICBjcCAke1dPUktESVJ9L2Jvb3N0ZGVzYy8qLmkgJHtXT1JLRElSfS9jb250cmliL21vZHVsZXMveGZlYXR1cmVzMmQvc3JjCit9CithZGR0YXNrIHVucGFja19leHRyYSBhZnRlciBkb191bnBhY2sgYmVmb3JlIGRvX3BhdGNoCisKK0VYVFJBX09FQ01BS0UgPSAiLURPUEVOQ1ZfRVhUUkFfTU9EVUxFU19QQVRIPSR7V09SS0RJUn0vY29udHJpYi9tb2R1bGVzIFwKKyAgICAtRFdJVEhfMTM5ND1PRkYgXAorICAgIC1ERU5BQkxFX1BSRUNPTVBJTEVEX0hFQURFUlM9T0ZGIFwKKyAgICAtRENNQUtFX1NLSVBfUlBBVEg9T04gXAorICAgIC1ET1BFTkNWX0lDVl9IQVNIPSR7SVBQX01ENX0gXAorICAgIC1ESVBQUk9PVD0ke1dPUktESVJ9L2lwcGljdl9sbnggXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUQVJHRVRfQ0NfQVJDSCIsICItbXNzZTMiLCAiLURFTkFCTEVfU1NFPTEgLURFTkFCTEVfU1NFMj0xIC1ERU5BQkxFX1NTRTM9MSAtREVOQUJMRV9TU1NFMz0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4xIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIlRBUkdFVF9DQ19BUkNIIiwgIi1tc3NlNC4yIiwgIi1ERU5BQkxFX1NTRT0xIC1ERU5BQkxFX1NTRTI9MSAtREVOQUJMRV9TU0UzPTEgLURFTkFCTEVfU1NTRTM9MSAtREVOQUJMRV9TU0U0MT0xIC1ERU5BQkxFX1NTRTQyPTEiLCAiIiwgZCl9IFwKKyIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURYODY9T04iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJweXRob24zIGVpZ2VuIGpwZWcgcG5nIHRpZmYgdjRsIGxpYnY0bCBnc3RyZWFtZXIgc2FtcGxlcyB0YmIgZ3Bob3RvMiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiZ3RrIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkxJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUIiwgImNvbW1lcmNpYWwiLCAibGliYXYiLCAiIiwgZCl9IgorCitQQUNLQUdFQ09ORklHW2FtZGJsYXNdID0gIi1EV0lUSF9PUEVOQ0xBTURCTEFTPU9OLC1EV0lUSF9PUEVOQ0xBTURCTEFTPU9GRixsaWJjbGFtZGJsYXMsIgorUEFDS0FHRUNPTkZJR1thbWRmZnRdID0gIi1EV0lUSF9PUEVOQ0xBTURGRlQ9T04sLURXSVRIX09QRU5DTEFNREZGVD1PRkYsbGliY2xhbWRmZnQsIgorUEFDS0FHRUNPTkZJR1tkbm5dID0gIi1EQlVJTERfb3BlbmN2X2Rubj1PTiAtRFBST1RPQlVGX1VQREFURV9GSUxFUz1PTiAtREJVSUxEX1BST1RPQlVGPU9GRiwtREJVSUxEX29wZW5jdl9kbm49T0ZGLHByb3RvYnVmIHByb3RvYnVmLW5hdGl2ZSwiCitQQUNLQUdFQ09ORklHW2VpZ2VuXSA9ICItRFdJVEhfRUlHRU49T04sLURXSVRIX0VJR0VOPU9GRixsaWJlaWdlbiBnZmxhZ3MgZ2xvZywiCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlXSA9ICItREJVSUxEX29wZW5jdl9mcmVldHlwZT1PTiwtREJVSUxEX29wZW5jdl9mcmVldHlwZT1PRkYsZnJlZXR5cGUsIgorUEFDS0FHRUNPTkZJR1tncGhvdG8yXSA9ICItRFdJVEhfR1BIT1RPMj1PTiwtRFdJVEhfR1BIT1RPMj1PRkYsbGliZ3Bob3RvMiwiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURXSVRIX0dTVFJFQU1FUj1PTiwtRFdJVEhfR1NUUkVBTUVSPU9GRixnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSwiCitQQUNLQUdFQ09ORklHW2d0a10gPSAiLURXSVRIX0dUSz1PTiwtRFdJVEhfR1RLPU9GRixndGsrMywiCitQQUNLQUdFQ09ORklHW2phc3Blcl0gPSAiLURXSVRIX0pBU1BFUj1PTiwtRFdJVEhfSkFTUEVSPU9GRixqYXNwZXIsIgorUEFDS0FHRUNPTkZJR1tqYXZhXSA9ICItREpBVkFfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7SkFWQV9IT01FfS9pbmNsdWRlL2xpbnV4IC1ESkFWQV9BV1RfSU5DTFVERV9QQVRIPSR7SkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9BV1RfTElCUkFSWT0ke0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7SkFWQV9IT01FfS9saWIvYW1kNjQvc2VydmVyL2xpYmp2bS5zbywsYW50LW5hdGl2ZSBmYXN0amFyLW5hdGl2ZSBvcGVuamRrLTgtbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04sLURXSVRIX0pQRUc9T0ZGLGpwZWcsIgorUEFDS0FHRUNPTkZJR1tsaWJhdl0gPSAiLURXSVRIX0ZGTVBFRz1PTiwtRFdJVEhfRkZNUEVHPU9GRixsaWJhdiwiCitQQUNLQUdFQ09ORklHW2xpYnY0bF0gPSAiLURXSVRIX0xJQlY0TD1PTiwtRFdJVEhfTElCVjRMPU9GRix2NGwtdXRpbHMsIgorUEFDS0FHRUNPTkZJR1tvcGVuY2xdID0gIi1EV0lUSF9PUEVOQ0w9T04sLURXSVRIX09QRU5DTD1PRkYsb3BlbmNsLWhlYWRlcnMgdmlydHVhbC9vcGVuY2wtaWNkLCIKK1BBQ0tBR0VDT05GSUdbb3JhY2xlLWphdmFdID0gIi1ESkFWQV9JTkNMVURFX1BBVEg9JHtPUkFDTEVfSkFWQV9IT01FfS9pbmNsdWRlIC1ESkFWQV9JTkNMVURFX1BBVEgyPSR7T1JBQ0xFX0pBVkFfSE9NRX0vaW5jbHVkZS9saW51eCAtREpBVkFfQVdUX0lOQ0xVREVfUEFUSD0ke09SQUNMRV9KQVZBX0hPTUV9L2luY2x1ZGUgLURKQVZBX0FXVF9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L2xpYmphd3Quc28gLURKQVZBX0pWTV9MSUJSQVJZPSR7T1JBQ0xFX0pBVkFfSE9NRX0vbGliL2FtZDY0L3NlcnZlci9saWJqdm0uc28sLGFudC1uYXRpdmUgb3JhY2xlLWpzZS1qZGsgb3JhY2xlLWpzZS1qZGstbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZywiCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi1EUFlUSE9OMl9OVU1QWV9JTkNMVURFX0RJUlM6UEFUSD0ke1NUQUdJTkdfTElCRElSfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvbnVtcHkvY29yZS9pbmNsdWRlLCxweXRob24tbnVtcHksIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItRFBZVEhPTjNfTlVNUFlfSU5DTFVERV9ESVJTOlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0vJHtQWVRIT05fRElSfS9zaXRlLXBhY2thZ2VzL251bXB5L2NvcmUvaW5jbHVkZSwscHl0aG9uMy1udW1weSwiCitQQUNLQUdFQ09ORklHW3NhbXBsZXNdID0gIi1EQlVJTERfRVhBTVBMRVM9T04gLURJTlNUQUxMX1BZVEhPTl9FWEFNUExFUz1PTiwtREJVSUxEX0VYQU1QTEVTPU9GRiwsIgorUEFDS0FHRUNPTkZJR1t0YmJdID0gIi1EV0lUSF9UQkI9T04sLURXSVRIX1RCQj1PRkYsdGJiLCIKK1BBQ0tBR0VDT05GSUdbdGV4dF0gPSAiLURCVUlMRF9vcGVuY3ZfdGV4dD1PTiwtREJVSUxEX29wZW5jdl90ZXh0PU9GRix0ZXNzZXJhY3QsIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiwiCitQQUNLQUdFQ09ORklHW3Y0bF0gPSAiLURXSVRIX1Y0TD1PTiwtRFdJVEhfVjRMPU9GRix2NGwtdXRpbHMsIgorCitpbmhlcml0IHBrZ2NvbmZpZyBjbWFrZQorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnZGlzdHV0aWxzMy1iYXNlJywgJycsIGQpfQoraW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ2Rpc3R1dGlscy1iYXNlJywgJycsIGQpfQorCitleHBvcnQgUFlUSE9OX0NTUEVDPSItSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCitleHBvcnQgUFlUSE9OPSIke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zJywgJ3B5dGhvbicsIGQpfSIKK2V4cG9ydCBPUkFDTEVfSkFWQV9IT01FPSIke1NUQUdJTkdfRElSX05BVElWRX0vdXNyL2Jpbi9qYXZhIgorZXhwb3J0IEpBVkFfSE9NRT0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9saWIvanZtL29wZW5qZGstOC1uYXRpdmUiCitleHBvcnQgQU5UX0RJUj0iJHtTVEFHSU5HX0RJUl9OQVRJVkV9L3Vzci9zaGFyZS9hbnQvIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiLUkke1N9L2luY2x1ZGUgIgorCitQQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2FtcGxlcycsICcke1BOfS1zYW1wbGVzJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnb3JhY2xlLWphdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2phdmEnLCAnJHtQTn0tamF2YScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjInLCAncHl0aG9uLSR7QlBOfScsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy0ke0JQTn0nLCAnJywgZCl9IFwKKyAgICAke1BOfS1hcHBzIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgY3ZfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY3ZfbGliZGlyLCAnXmxpYiguKilcLnNvJCcsICdsaWIlcy1kZXYnLCAnT3BlbkNWICVzIGRldmVsb3BtZW50IHBhY2thZ2UnLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGN2X2xpYmRpciwgJ15saWIoLiopXC5sYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGliJXMtZGV2JywgJ09wZW5DViAlcyBkZXZlbG9wbWVudCBwYWNrYWdlJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjdl9saWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnT3BlbkNWICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorICAgIG1ldGFwa2cgPSAgcG4gKyAnLWRldicKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2cgXQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbIF0KKyAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKKyAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgcGtnLmVuZHN3aXRoKCctZGV2Jyk6CisgICAgICAgICAgICBtZXRhcGtnX3JkZXBlbmRzLmFwcGVuZChwa2cpCisgICAgZC5zZXRWYXIoJ1JSRUNPTU1FTkRTXycgKyBtZXRhcGtnLCAnICcuam9pbihtZXRhcGtnX3JkZXBlbmRzKSkKKworICAgIG1ldGFwa2cgPSAgcG4KKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBibGFja2xpc3QgPSBbIG1ldGFwa2csICJsaWJvcGVuY3YtdHMiIF0KKyAgICBtZXRhcGtnX3JkZXBlbmRzID0gWyBdCisgICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06CisgICAgICAgIGlmIG5vdCBwa2cgaW4gYmxhY2tsaXN0IGFuZCBub3QgcGtnIGluIG1ldGFwa2dfcmRlcGVuZHMgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1kZXYnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRiZycpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZG9jJykgYW5kIG5vdCBwa2cuZW5kc3dpdGgoJy1sb2NhbGUnKSBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLXN0YXRpY2RldicpOgorICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQorICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWJvcGVuY3YtLioiCisKK0ZJTEVTXyR7UE59ID0gIiIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvamF2YS8uZGVidWcvKiAke2RhdGFkaXJ9L09wZW5DVi9zYW1wbGVzL2Jpbi8uZGVidWcvKiIKK0ZJTEVTXyR7UE59LWRldiA9ICIke2luY2x1ZGVkaXJ9ICR7bGliZGlyfS9wa2djb25maWcgJHtkYXRhZGlyfS9PcGVuQ1YvKi5jbWFrZSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS9PcGVuQ1YvM3JkcGFydHkvbGliLyouYSIKK0ZJTEVTXyR7UE59LWFwcHMgPSAiJHtiaW5kaXJ9LyogJHtkYXRhZGlyfS9PcGVuQ1YiCitGSUxFU18ke1BOfS1qYXZhID0gIiR7ZGF0YWRpcn0vT3BlbkNWL2phdmEiCitGSUxFU18ke1BOfS1zYW1wbGVzID0gIiR7ZGF0YWRpcn0vT3BlbkNWL3NhbXBsZXMvIgorCitJTlNBTkVfU0tJUF8ke1BOfS1qYXZhID0gImxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyA9ICJsaWJkaXIiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK1NVTU1BUllfcHl0aG9uLW9wZW5jdiA9ICJQeXRob24gYmluZGluZ3MgdG8gb3BlbmN2IgorRklMRVNfcHl0aG9uLW9wZW5jdiA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorUkRFUEVORFNfcHl0aG9uLW9wZW5jdiA9ICJweXRob24tY29yZSBweXRob24tbnVtcHkiCisKK1NVTU1BUllfcHl0aG9uMy1vcGVuY3YgPSAiUHl0aG9uIGJpbmRpbmdzIHRvIG9wZW5jdiIKK0ZJTEVTX3B5dGhvbjMtb3BlbmN2ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitSREVQRU5EU19weXRob24zLW9wZW5jdiA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1udW1weSIKKworUkRFUEVORFNfb3BlbmN2LWFwcHMgID0gImJhc2giCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGNwICR7U30vaW5jbHVkZS9vcGVuY3YvKi5oICR7RH0ke2luY2x1ZGVkaXJ9L29wZW5jdi8KKyAgICBzZWQgLWkgJy9ibG9idHJhY2svZCcgJHtEfSR7aW5jbHVkZWRpcn0vb3BlbmN2L2N2YXV4LmgKKworICAgICMgTW92ZSBQeXRob24gZmlsZXMgaW50byBjb3JyZWN0IGxpYnJhcnkgZm9sZGVyIChmb3IgbXVsdGlsaWIgYnVpbGQpCisgICAgaWYgWyAiJGxpYmRpciIgIT0gIi91c3IvbGliIiAtYSAtZCAke0R9L3Vzci9saWIgXTsgdGhlbgorICAgICAgICBtdiAke0R9L3Vzci9saWIvKiAke0R9LyR7bGliZGlyfS8KKyAgICAgICAgcm0gLXJmICR7RH0vdXNyL2xpYgorICAgIGZpCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcC9yZW1vdmUtdXNlci1ob3N0LXB3ZC1mcm9tLXZlcnNpb24ucGF0Y2gKaW5kZXggNGViMzg5Ny4uODcwZmM5OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXAvcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaApAQCAtMSwyNCArMSwzNiBAQAotZGlmZiAtcnUgb3BlbmxkYXAtMi40LjQ2Lm9yaWcvYnVpbGQvbWt2ZXJzaW9uIG9wZW5sZGFwLTIuNC40Ni9idWlsZC9ta3ZlcnNpb24KLS0tLSBvcGVubGRhcC0yLjQuNDYub3JpZy9idWlsZC9ta3ZlcnNpb24JMjAxOC0xMC0yNSAxODo0NjoxMC4zODM3NTA0ODAgKzEzMDAKLSsrKyBvcGVubGRhcC0yLjQuNDYvYnVpbGQvbWt2ZXJzaW9uCTIwMTgtMTAtMjUgMTg6NDY6MzMuMTU2MjMyNTg2ICsxMzAwCi1AQCAtNTAsNyArNTAsMTUgQEAKLSBmaQotIAotIEFQUExJQ0FUSU9OPSQxCi0tV0hPV0hFUkU9IiRVU0VSQGB1bmFtZSAtbmA6YHB3ZGAiCi0raWYgWyAtbiAiJHtTT1VSQ0VfREFURV9FUE9DSH0iIF07IHRoZW4KLSsgICBXSE9XSEVSRT0ib3BlbmxkYXAiCitGcm9tIDg2OGEwNGIwNTk2ZTJkZjcwOGJhMTRlZDcwODE1YjE0MTFkYjNkYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxMTozMzoyNCArMDgwMAorU3ViamVjdDogW1BBVENIXSBta3ZlcnNpb246IHJlbW92ZSB1c2VyIGhvc3QgcHdkIGZyb20gdmVyc2lvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworVXBkYXRlIHRoaXMgcGF0Y2ggdG8gdmVyc2lvbiAyLjQuNDcKKworU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKy0tLQorIGJ1aWxkL21rdmVyc2lvbiB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvbWt2ZXJzaW9uIGIvYnVpbGQvbWt2ZXJzaW9uCitpbmRleCA0ZTM1NzIzLi45ZmEzYmVlIDEwMDc1NQorLS0tIGEvYnVpbGQvbWt2ZXJzaW9uCisrKysgYi9idWlsZC9ta3ZlcnNpb24KK0BAIC01Myw4ICs1MywxMiBAQCBBUFBMSUNBVElPTj0kMQorICMgUmVwcm9kdWNpYmxlIGJ1aWxkcyBzZXQgU09VUkNFX0RBVEVfRVBPQ0gsIHdhbnQgY29uc3RhbnQgc3RyaW5ncworIGlmIFsgLW4gIiR7U09VUkNFX0RBVEVfRVBPQ0h9IiBdOyB0aGVuCisgICAgV0hPV0hFUkU9Im9wZW5sZGFwIgogKyAgIERBVEU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlYiAlZCAlWSAnKQogKyAgIFRJTUU9JChkYXRlIC1kQCRTT1VSQ0VfREFURV9FUE9DSCArJyAlSDolTTolUyAnKQotK2Vsc2UKLSsgICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorIGVsc2UKKy0gICBXSE9XSEVSRT0iJFVTRVJAJCh1bmFtZSAtbik6JChwd2QpIgorKyAgIFdIT1dIRVJFPSJvcGVubGRhcCIKICsgICBEQVRFPSciIF9fREFURV9fICInCiArICAgVElNRT0nIiBfX1RJTUVfXyAiJwotK2ZpCisgZmkKICAKICBjYXQgPDwgX19FT0ZfXwotIC8qIFRoaXMgd29yayBpcyBwYXJ0IG9mIE9wZW5MREFQIFNvZnR3YXJlIDxodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy8+LgotQEAgLTcyLDcgKzgwLDcgQEAKK0BAIC03Nyw3ICs4MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyIGNvcHlyaWdodFtdID0KICAiQ09QWUlORyBSRVNUUklDVElPTlMgQVBQTFlcbiI7CiAgCiAgJHN0YXRpYyAkY29uc3QgY2hhciAkU1lNQk9MW10gPQpAQCAtMjcsMyArMzksNiBAQAogICJcdCRXSE9XSEVSRVxuIjsKICAKICBfX0VPRl9fCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5sZGFwL29wZW5sZGFwXzIuNC40Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZlOWZiMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJPcGVuTERBUCBEaXJlY3RvcnkgU2VydmljZSIKLURFU0NSSVBUSU9OID0gIk9wZW5MREFQIFNvZnR3YXJlIGlzIGFuIG9wZW4gc291cmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuT3BlbkxEQVAub3JnL2xpY2Vuc2UuaHRtbCIKLSMgVGhlIE9wZW5MREFQIFB1YmxpYyBMaWNlbnNlIC0gc2VlIHRoZSBIT01FUEFHRSAtIGRlZmluZXMKLSMgdGhlIGxpY2Vuc2UuICB3d3cub3BlbmxkYXAub3JnIGNsYWltcyB0aGlzIGlzIE9wZW4gU291cmNlCi0jIChzZWUgaHR0cDovL3d3dy5vcGVubGRhcC5vcmcpLCB0aGUgbGljZW5zZSBhcHBlYXJzIHRvIGJlCi0jIGJhc2ljYWxseSBCU0QuICBvcGVuc291cmNlLm9yZyBkb2VzIG5vdCByZWNvcmQgdGhpcyBsaWNlbnNlCi0jIGF0IHByZXNlbnQgKHNvIGl0IGlzIGFwcGFyZW50bHkgbm90IE9TSSBjZXJ0aWZpZWQpLgotTElDRU5TRSA9ICJPcGVuTERBUCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVDttZDU9MjViNGVhZDBlNDUxODJlN2MyOTE0ZTU5ZmY1NzAwOWYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MTUzZDA3ZWYwNTJjNGEzN2E4ZmFjMjNiYzYwMzE5NzIgXAotICAgICAgICAgICAgICAgICAgICAiCi1TRUNUSU9OID0gImxpYnMiCi0KLUxEQVBfVkVSID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMDoyXSl9IgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5vcGVubGRhcC5vcmcvcHViL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2UvJHtCUH0udGd6IFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtbTQtcHRocmVhZC5wYXRjaCBcCi0gICAgZmlsZTovL2tpbGwtaWN1LnBhdGNoIFwKLSAgICBmaWxlOi8vb3BlbmxkYXAtMi40LjI4LWdudXRscy1nY3J5cHQucGF0Y2ggXAotICAgIGZpbGU6Ly91c2UtdXJhbmRvbS5wYXRjaCBcCi0gICAgZmlsZTovL2luaXRzY3JpcHQgXAotICAgIGZpbGU6Ly9zbGFwZC5zZXJ2aWNlIFwKLSAgICBmaWxlOi8vdGhyZWFkX3N0dWIucGF0Y2ggXAotICAgIGZpbGU6Ly9vcGVubGRhcC1DVkUtMjAxNS0zMjc2LnBhdGNoIFwKLSAgICBmaWxlOi8vcmVtb3ZlLXVzZXItaG9zdC1wd2QtZnJvbS12ZXJzaW9uLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjgyOTAxNmM1YTlmNDVjNTFhZGM1MDA3M2FjNmY5ZmQ3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlhOTBkY2I4NmI5OWFlNzkwY2NhYjkzYjc1ODVhMzFmYmNiZWVjOGM5NGJmMGY3YWIwY2EwYTg3ZWEwYzRiMmQiCi0KLURFUEVORFMgPSAidXRpbC1saW51eCBncm9mZi1uYXRpdmUiCi0KLSMgVGhlIG9yaWdpbmFsIHRvcC5tayB1c2VkIElOU1RBTEwsIG5vdCBJTlNUQUxMX1NUUklQX1BST0dSQU0gd2hlbgotIyBpbnN0YWxsaW5nIC5zbyBhbmQgZXhlY3V0YWJsZXMsIHRoaXMgZmFpbHMgaW4gY3Jvc3MgY29tcGlsYXRpb24KLSMgZW52aXJvbm1lbnRzCi1TUkNfVVJJICs9ICJmaWxlOi8vaW5zdGFsbC1zdHJpcC5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQKLQotIyBDViBTRVRUSU5HUwotIyBSZXF1aXJlZCB0byB3b3JrIHJvdW5kIEFDX0ZVTkNfTUVNQ01QIHdoaWNoIGdldHMgdGhlIHdyb25nIGFuc3dlcgotIyB3aGVuIGNyb3NzIGNvbXBpbGluZyAoc2hvdWxkIGJlIGluIHNpdGU/KQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9mdW5jX21lbWNtcF93b3JraW5nPXllcyIKLQotIyBDT05GSUcgREVGSU5JVElPTlMKLSMgVGhlIGZvbGxvd2luZyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCBmb3IgYQotIyBjcm9zcyBjb21waWxlIGF1dG9tYWdpY2FsbHkuICBTZWxlY3Qgc2hvdWxkIHlpZWxkIGZpbmUgb24gYWxsIE9FCi0jIHN5c3RlbXMuLi4KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXlpZWxkaW5nLXNlbGVjdD15ZXMiCi0jIFNoYXJlZCBsaWJyYXJpZXMgYXJlIG5pY2UuLi4KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtZHluYW1pYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBtb2R1bGVzIFwKLSAgICAgICAgICAgICAgICAgICBtZGIgbGRhcCBtZXRhIG1vbml0b3IgbnVsbCBwYXNzd2Qgc2hlbGwgcHJveHljYWNoZSBkbnNzcnYgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotIgotIy0td2l0aC10bHMgICAgICAgICAgICAgIHdpdGggVExTL1NTTCBzdXBwb3J0IGF1dG98b3BlbnNzbHxnbnV0bHMgW2F1dG9dCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLXRscz1nbnV0bHMsLGdudXRscyBsaWJnY3J5cHQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC10bHM9b3BlbnNzbCwsb3BlbnNzbCIKLQotUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtY3lydXMtc2FzbCwtLXdpdGhvdXQtY3lydXMtc2FzbCxjeXJ1cy1zYXNsIgotUEFDS0FHRUNPTkZJR1ttb2R1bGVzXSA9ICJsdF9jdl9kbG9wZW5fc2VsZj15ZXMgLS1lbmFibGUtbW9kdWxlcywtLWRpc2FibGUtbW9kdWxlcyxsaWJ0b29sIgotUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2IgotCi0jIFNMQVBEIG9wdGlvbnMKLSMKLSMgVU5JWCBjcnlwdCgzKSBwYXNzd2Qgc3VwcG9ydDoKLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtY3J5cHQiCi0KLSMgU0xBUEQgQkFDS0VORAotIwotIyBUaGUgYmFja2VuZCBtdXN0IGJlIHNldCBieSB0aGUgY29uZmlndXJhdGlvbi4gIFRoaXMgY29udHJvbHMgdGhlCi0jIHJlcXVpcmVkIGRhdGFiYXNlLgotIwotIyBCYWNrZW5kcz0iYmRiIGRuc3NydiBoZGIgbGRhcCBtZGIgbWV0YSBtb25pdG9yIG5kYiBudWxsIHBhc3N3ZCBwZXJsIHJlbGF5IHNoZWxsIHNvY2sgc3FsIgotIwotIyBOb3RlIHRoYXQgbXVsdGlwbGUgYmFja2VuZHMgY2FuIGJlIGJ1aWx0LiAgVGhlIGxkYm0gYmFja2VuZCByZXF1aXJlcyBhCi0jIGJ1aWxkLXRpbWUgY2hvaWNlIG9mIGRhdGFiYXNlIEFQSS4gIFRoZSBiZGIgYmFja2VuZCBmb3JjZXMgdGhpcyB0byBiZQotIyBEQjQuICBUbyB1c2UgdGhlIGdkYm0gKG9yIG90aGVyKSBBUEkgdGhlIEJlcmtlbHkgZGF0YWJhc2UgbW9kdWxlIG11c3QKLSMgYmUgcmVtb3ZlZCBmcm9tIHRoZSBidWlsZC4KLW1kID0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAiCi0jCi0jLS1lbmFibGUtYmRiICAgICAgICAgIGVuYWJsZSBCZXJrZWxleSBEQiBiYWNrZW5kIG5vfHllc3xtb2QgeWVzCi0jIFRoZSBCZXJrZWx5IERCIGlzIHRoZSBzdGFuZGFyZCBjaG9pY2UuICBUaGlzIHZlcnNpb24gb2YgT3BlbkxEQVAgcmVxdWlyZXMKLSMgdGhlIHZlcnNpb24gNCBpbXBsZW1lbnRhdGlvbiBvciBiZXR0ZXIuCi1QQUNLQUdFQ09ORklHW2JkYl0gPSAiLS1lbmFibGUtYmRiPXllcywtLWVuYWJsZS1iZGI9bm8sZGIiCi0KLSMtLWVuYWJsZS1kbnNzcnYgICAgICAgZW5hYmxlIGRuc3NydiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbZG5zc3J2XSA9ICItLWVuYWJsZS1kbnNzcnY9bW9kLC0tZW5hYmxlLWRuc3Nydj1ubyIKLQotIy0tZW5hYmxlLWhkYiAgICAgICAgICBlbmFibGUgSGllcmFyY2hpY2FsIERCIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1toZGJdID0gIi0tZW5hYmxlLWhkYj15ZXMsLS1lbmFibGUtaGRiPW5vLGRiIgotCi0jLS1lbmFibGUtbGRhcCAgICAgICAgIGVuYWJsZSBsZGFwIGJhY2tlbmQgbm98eWVzfG1vZCBubwotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwPW1vZCwtLWVuYWJsZS1sZGFwPW5vLCIKLQotIy0tZW5hYmxlLW1kYiAgICAgICAgICBlbmFibGUgbWRiIGRhdGFiYXNlIGJhY2tlbmQgbm98eWVzfG1vZCBbeWVzXQotUEFDS0FHRUNPTkZJR1ttZGJdID0gIi0tZW5hYmxlLW1kYj15ZXMsLS1lbmFibGUtbWRiPW5vLCIKLQotIy0tZW5hYmxlLW1ldGEgICAgICAgICBlbmFibGUgbWV0YWRpcmVjdG9yeSBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbbWV0YV0gPSAiLS1lbmFibGUtbWV0YT1tb2QsLS1lbmFibGUtbWV0YT1ubywiCi0KLSMtLWVuYWJsZS1tb25pdG9yICAgICAgZW5hYmxlIG1vbml0b3IgYmFja2VuZCBub3x5ZXN8bW9kIHllcwotUEFDS0FHRUNPTkZJR1ttb25pdG9yXSA9ICItLWVuYWJsZS1tb25pdG9yPW1vZCwtLWVuYWJsZS1tb25pdG9yPW5vLCIKLQotIy0tZW5hYmxlLW5kYiAgICAgICAgICBlbmFibGUgTXlTUUwgTkRCIENsdXN0ZXIgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbbmRiXSA9ICItLWVuYWJsZS1uZGI9bW9kLC0tZW5hYmxlLW5kYj1ubywiCi0KLSMtLWVuYWJsZS1udWxsICAgICAgICAgZW5hYmxlIG51bGwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW251bGxdID0gIi0tZW5hYmxlLW51bGw9bW9kLC0tZW5hYmxlLW51bGw9bm8sIgotCi0jLS1lbmFibGUtcGFzc3dkICAgICAgIGVuYWJsZSBwYXNzd2QgYmFja2VuZCBub3x5ZXN8bW9kIG5vCi1QQUNLQUdFQ09ORklHW3Bhc3N3ZF0gPSAiLS1lbmFibGUtcGFzc3dkPW1vZCwtLWVuYWJsZS1wYXNzd2Q9bm8sIgotCi0jLS1lbmFibGUtcGVybCAgICAgICAgIGVuYWJsZSBwZXJsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyAgVGhpcyByZXF1aXJlcyBhIGxvYWRhYmxlIHBlcmwgZHluYW1pYyBsaWJyYXJ5LCBpZiBlbmFibGVkIHdpdGhvdXQKLSMgIGRvaW5nIHNvbWV0aGluZyBhcHByb3ByaWF0ZSAoYnVpbGRpbmcgcGVybD8pIHRoZSBidWlsZCB3aWxsIHBpY2sKLSMgIHVwIHRoZSBidWlsZCBtYWNoaW5lIHBlcmwgLSBub3QgZ29vZCAoaW5oZXJpdCBwZXJsbmF0aXZlPykKLVBBQ0tBR0VDT05GSUdbcGVybF0gPSAiLS1lbmFibGUtcGVybD1tb2QsLS1lbmFibGUtcGVybD1ubyxwZXJsIgotCi0jLS1lbmFibGUtcmVsYXkgICAgICAgIGVuYWJsZSByZWxheSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KLVBBQ0tBR0VDT05GSUdbcmVsYXldID0gIi0tZW5hYmxlLXJlbGF5PW1vZCwtLWVuYWJsZS1yZWxheT1ubywiCi0KLSMtLWVuYWJsZS1zaGVsbCAgICAgICAgZW5hYmxlIHNoZWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubwotIyBjb25maWd1cmU6IFdBUk5JTkc6IFVzZSBvZiAtLXdpdGhvdXQtdGhyZWFkcyBpcyByZWNvbW1lbmRlZCB3aXRoIGJhY2stc2hlbGwKLVBBQ0tBR0VDT05GSUdbc2hlbGxdID0gIi0tZW5hYmxlLXNoZWxsPW1vZCAtLXdpdGhvdXQtdGhyZWFkcywtLWVuYWJsZS1zaGVsbD1ubywiCi0KLSMtLWVuYWJsZS1zb2NrICAgICAgICAgZW5hYmxlIHNvY2sgYmFja2VuZCBub3x5ZXN8bW9kIFtub10KLVBBQ0tBR0VDT05GSUdbc29ja10gPSAiLS1lbmFibGUtc29jaz1tb2QsLS1lbmFibGUtc29jaz1ubywiCi0KLSMtLWVuYWJsZS1zcWwgICAgICAgICAgZW5hYmxlIHNxbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KLSMgc3FsIHJlcXVpcmVzIHNvbWUgc3FsIGJhY2tlbmQgd2hpY2ggcHJvdmlkZXMgc3FsLmgsIHNxbGl0ZSogcHJvdmlkZXMKLSMgc3FsaXRlLmggKHdoaWNoIG1heSBiZSBjb21wYXRpYmxlIGJ1dCBoYXNuJ3QgYmVlbiB0cmllZC4pCi1QQUNLQUdFQ09ORklHW3NxbF0gPSAiLS1lbmFibGUtc3FsPW1vZCwtLWVuYWJsZS1zcWw9bm8sc3FsaXRlMyIKLQotIy0tZW5hYmxlLWR5bmdyb3VwICAgICBEeW5hbWljIEdyb3VwIG92ZXJsYXkgbm98eWVzfG1vZCBubwotIyAgVGhpcyBpcyBhIGRlbW8sIFByb3h5IENhY2hlIGRlZmluZXMgaW5pdF9tb2R1bGUgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlCi0jICBzYW1lIHN5bWJvbCBpbiBkeW5ncm91cAotUEFDS0FHRUNPTkZJR1tkeW5ncm91cF0gPSAiLS1lbmFibGUtZHluZ3JvdXA9bW9kLC0tZW5hYmxlLWR5bmdyb3VwPW5vLCIKLQotIy0tZW5hYmxlLXByb3h5Y2FjaGUgICBQcm94eSBDYWNoZSBvdmVybGF5IG5vfHllc3xtb2Qgbm8KLVBBQ0tBR0VDT05GSUdbcHJveHljYWNoZV0gPSAiLS1lbmFibGUtcHJveHljYWNoZT1tb2QsLS1lbmFibGUtcHJveHljYWNoZT1ubywiCi1GSUxFU18ke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUgPSAiJHttZH0vcGNhY2hlLSouc28uKiIKLVBBQ0tBR0VTICs9ICIke1BOfS1vdmVybGF5LXByb3h5Y2FjaGUiCi0KLSMgQXBwZW5kIFVSQU5ET01fREVWSUNFPScvZGV2L3VyYW5kb20nIHRvIENQUEZMQUdTOgotIyBUaGlzIGFsbG93cyB0bHMgdG8gb2J0YWluIHJhbmRvbSBiaXRzIGZyb20gL2Rldi91cmFuZG9tLCBieSBkZWZhdWx0Ci0jIGl0IHdhcyBkaXNhYmxlZCBmb3IgY3Jvc3MtY29tcGlsaW5nLgotQ1BQRkxBR1NfYXBwZW5kID0gIiAtRF9HTlVfU09VUkNFIC1EVVJBTkRPTV9ERVZJQ0U9XCcvZGV2L3VyYW5kb21cJyAtZlBJQyIKLQotTERGTEFHU19hcHBlbmQgPSAiIC1wdGhyZWFkIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9saWJ0b29sL2J1aWxkLWF1eC9sdG1haW4uc2ggJHtTfS9idWlsZAotICAgIHJtIC1mICR7U30vbGlidG9vbAotICAgIGFjbG9jYWwKLSAgICBsaWJ0b29saXplIC0tZm9yY2UgLS1jb3B5Ci0gICAgZ251LWNvbmZpZ2l6ZQotICAgIGF1dG9jb25mCi0gICAgb2VfcnVuY29uZgotfQotCi1MRUFEX1NPTkFNRSA9ICJsaWJsZGFwLSR7TERBUF9WRVJ9LnNvLioiCi0KLSMgVGhlIGV4ZWN1dGFibGVzIGdvIGluIGEgc2VwYXJhdGUgcGFja2FnZS4gIFRoaXMgYWxsb3dzIHRoZQotIyBpbnN0YWxsYXRpb24gb2YgdGhlIGxpYnJhcmllcyB3aXRoIG5vIGRhZW1vbiBzdXBwb3J0LgotIyBFYWNoIG1vZHVsZSBhbHNvIGhhcyBpdHMgb3duIHBhY2thZ2UgLSBzZWUgYWJvdmUuCi1QQUNLQUdFUyArPSAiJHtQTn0tc2xhcGQgJHtQTn0tc2x1cnBkICR7UE59LWJpbiIKLQotIyBQYWNrYWdlIGNvbnRlbnRzIC0gc2hpZnQgbW9zdCBzdGFuZGFyZCBjb250ZW50cyB0byAtYmluCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvbGRhcC4qICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEiCi1GSUxFU18ke1BOfS1zbGFwZCA9ICIke3N5c2NvbmZkaXJ9L2luaXQuZCAke2xpYmV4ZWNkaXJ9L3NsYXBkICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4gXAotICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NjaGVtYSBcCi0gICAgJHtzeXNjb25mZGlyfS9vcGVubGRhcC9EQl9DT05GSUcuZXhhbXBsZSAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyoiCi1GSUxFU18ke1BOfS1zbHVycGQgPSAiJHtsaWJleGVjZGlyfS9zbHVycGQgJHtsb2NhbHN0YXRlZGlyfS9vcGVubGRhcC1zbHVycCAke2xvY2Fsc3RhdGVkaXJ9L3J1biAke2xvY2Fsc3RhdGVkaXJ9L3ZvbGF0aWxlL3J1biIKLUZJTEVTXyR7UE59LWJpbiA9ICIke2JpbmRpcn0iCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtpbmNsdWRlZGlyfSAke2xpYmRpcn0vbGliKi5zbyAke2xpYmRpcn0vKi5sYSAke2xpYmRpcn0vKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5hICR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvKi5sYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZXhlY2Rpcn0vb3BlbmxkYXAvLmRlYnVnIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGNhdCAke1dPUktESVJ9L2luaXRzY3JpcHQgPiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvb3BlbmxkYXAKLSAgICBjaG1vZCA3NTUgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCi0gICAgIyBUaGlzIGlzIGR1cGxpY2F0ZWQgaW4gL2V0Yy9vcGVubGRhcCBhbmQgaXMgZm9yIHNsYXBkCi0gICAgcm0gLWYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtZGF0YS9EQl9DT05GSUcuZXhhbXBsZQotCi0gICAgIyBJbnN0YWxsaW5nIHNsYXBkIHVuZGVyICR7c2Jpbn0gaXMgbW9yZSBGSFMgYW5kIExTQiBjb21wbGlhbmNlCi0gICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vc2xhcGQgJHtEfS8ke3NiaW5kaXJ9L3NsYXBkCi0gICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZXhlY2Rpcn0KLSAgICBTTEFQVE9PTFM9InNsYXBhZGQgc2xhcGNhdCBzbGFwZG4gc2xhcGluZGV4IHNsYXBwYXNzd2Qgc2xhcHRlc3Qgc2xhcGF1dGggc2xhcGFjbCBzbGFwc2NoZW1hIgotICAgIGNkICR7RH0vJHtzYmluZGlyfS8KLSAgICBybSAtZiAke1NMQVBUT09MU30KLSAgICBmb3IgaSBpbiAke1NMQVBUT09MU307IGRvIGxuIC1zZiBzbGFwZCAkaTsgZG9uZQotCi0gICAgcm1kaXIgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biIKLSAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0iCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NsYXBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0gICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCi0gICAgIyBVc2VzIG1kbSBhcyB0aGUgZGF0YWJhc2UKLSAgICAjICBhbmQgbG9jYWxzdGF0ZWRpciBhcyBkYXRhIGRpcmVjdG9yeSAuLi4KLSAgICBzZWQgLWUgJ3MvIyBtb2R1bGVwYXRoL21vZHVsZXBhdGgvJyBcCi0gICAgICAgIC1lICdzLyMgbW9kdWxlbG9hZFxzKmJhY2tfYmRiLiovbW9kdWxlbG9hZCAgICBiYWNrX21kYi8nIFwKLSAgICAgICAgLWUgJ3MvZGF0YWJhc2VccypiZGIvZGF0YWJhc2UgICAgICAgIG1kYi8nIFwKLSAgICAgICAgLWUgJ3MlXmRpcmVjdG9yeVxzKi4qJWRpcmVjdG9yeSAgICR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEvJScgXAotICAgICAgICAtaSAke0R9JHtzeXNjb25mZGlyfS9vcGVubGRhcC9zbGFwZC5jb25mCi0KLSAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS8ke0JQTn0vZGF0YQotCi0KLX0KLQotSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zbGFwZCIKLUlOSVRTQ1JJUFRfTkFNRV8ke1BOfS1zbGFwZCA9ICJvcGVubGRhcCIKLUlOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNsYXBkID0gImRlZmF1bHRzIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNsYXBkID0gImhvc3RhcGQuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0tc2xhcGQgPz0gImRpc2FibGUiCi0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LWJhY2tlbmRzLiogXiR7UE59LWJhY2tlbmQtLioiCi0KLSMgVGhlIG1vZHVsZXMgcmVxdWlyZSB0aGVpciAuc28gdG8gYmUgZHluYW1pY2FseSBsb2FkZWQKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtZG5zc3J2ICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1sZGFwICAgICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1ldGEgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbWRiICAgICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tb25pdG9yICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW51bGwgICAgKz0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtcGFzc3dkICArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1zaGVsbCAgICs9ICJkZXYtc28iCi0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIGJhY2tlbmRfZGlyICAgID0gZC5leHBhbmQoJyR7bGliZXhlY2Rpcn0vb3BlbmxkYXAnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJhY2tlbmRfZGlyLCAnYmFja18oW2Etel0qKVwuc28kJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLS4qXC5zb1wuLiokJywgJ29wZW5sZGFwLWJhY2tlbmQtJXMnLCAnT3BlbkxEQVAgJXMgYmFja2VuZCcsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCi0KLSAgICBtZXRhcGtnID0gIiR7UE59LWJhY2tlbmRzIgotICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8nICsgbWV0YXBrZywgIjEiKQotICAgIGQuc2V0VmFyKCdGSUxFU18nICsgbWV0YXBrZywgIiIpCi0gICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlc1sxOl06Ci0gICAgICAgIGlmIHBrZy5jb3VudCgib3BlbmxkYXAtYmFja2VuZC0iKSBhbmQgbm90IHBrZyBpbiBtZXRhcGtnX3JkZXBlbmRzIGFuZCBub3QgcGtnLmNvdW50KCItZGV2IikgYW5kIG5vdCBwa2cuY291bnQoIi1kYmciKSBhbmQgbm90IHBrZy5jb3VudCgic3RhdGljIikgYW5kIG5vdCBwa2cuY291bnQoImxvY2FsZSIpOgotICAgICAgICAgICAgbWV0YXBrZ19yZGVwZW5kcy5hcHBlbmQocGtnKQotICAgIGQuc2V0VmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnLmpvaW4obWV0YXBrZ19yZGVwZW5kcykpCi0gICAgZC5zZXRWYXIoJ0RFU0NSSVBUSU9OXycgKyBtZXRhcGtnLCAnT3BlbkxEQVAgYmFja2VuZHMgbWV0YSBwYWNrYWdlJykKLSAgICBwYWNrYWdlcy5hcHBlbmQobWV0YXBrZykKLSAgICBkLnNldFZhcignUEFDS0FHRVMnLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbmxkYXAvb3BlbmxkYXBfMi40LjQ3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNDVkN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVubGRhcC9vcGVubGRhcF8yLjQuNDcuYmIKQEAgLTAsMCArMSwyNTUgQEAKK1NVTU1BUlkgPSAiT3BlbkxEQVAgRGlyZWN0b3J5IFNlcnZpY2UiCitERVNDUklQVElPTiA9ICJPcGVuTERBUCBTb2Z0d2FyZSBpcyBhbiBvcGVuIHNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lk9wZW5MREFQLm9yZy9saWNlbnNlLmh0bWwiCisjIFRoZSBPcGVuTERBUCBQdWJsaWMgTGljZW5zZSAtIHNlZSB0aGUgSE9NRVBBR0UgLSBkZWZpbmVzCisjIHRoZSBsaWNlbnNlLiAgd3d3Lm9wZW5sZGFwLm9yZyBjbGFpbXMgdGhpcyBpcyBPcGVuIFNvdXJjZQorIyAoc2VlIGh0dHA6Ly93d3cub3BlbmxkYXAub3JnKSwgdGhlIGxpY2Vuc2UgYXBwZWFycyB0byBiZQorIyBiYXNpY2FsbHkgQlNELiAgb3BlbnNvdXJjZS5vcmcgZG9lcyBub3QgcmVjb3JkIHRoaXMgbGljZW5zZQorIyBhdCBwcmVzZW50IChzbyBpdCBpcyBhcHBhcmVudGx5IG5vdCBPU0kgY2VydGlmaWVkKS4KK0xJQ0VOU0UgPSAiT3BlbkxEQVAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTI1YjRlYWQwZTQ1MTgyZTdjMjkxNGU1OWZmNTcwMDlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0U7bWQ1PTE1M2QwN2VmMDUyYzRhMzdhOGZhYzIzYmM2MDMxOTcyIFwKKyAgICAgICAgICAgICAgICAgICAgIgorU0VDVElPTiA9ICJsaWJzIgorCitMREFQX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5sZGFwLm9yZy9zb2Z0d2FyZS9kb3dubG9hZC9PcGVuTERBUC9vcGVubGRhcC1yZWxlYXNlLyR7QlB9LnRneiBcCisgICAgZmlsZTovL29wZW5sZGFwLW00LXB0aHJlYWQucGF0Y2ggXAorICAgIGZpbGU6Ly9raWxsLWljdS5wYXRjaCBcCisgICAgZmlsZTovL29wZW5sZGFwLTIuNC4yOC1nbnV0bHMtZ2NyeXB0LnBhdGNoIFwKKyAgICBmaWxlOi8vdXNlLXVyYW5kb20ucGF0Y2ggXAorICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICBmaWxlOi8vc2xhcGQuc2VydmljZSBcCisgICAgZmlsZTovL3RocmVhZF9zdHViLnBhdGNoIFwKKyAgICBmaWxlOi8vb3BlbmxkYXAtQ1ZFLTIwMTUtMzI3Ni5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS11c2VyLWhvc3QtcHdkLWZyb20tdmVyc2lvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNTA4Zjk3YmZkNzc4ZmVjNzc5OWYyODZlNWMwNzE3NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNTRjNTg3Nzg2NTIzM2Q5YWRhNzdjNjBjMGY2OWIzZTBiZmQ4YjFiNTU4ODk1MDRjNjUwMDQ3Y2MzMDU1MjBiIgorCitERVBFTkRTID0gInV0aWwtbGludXggZ3JvZmYtbmF0aXZlIgorCisjIFRoZSBvcmlnaW5hbCB0b3AubWsgdXNlZCBJTlNUQUxMLCBub3QgSU5TVEFMTF9TVFJJUF9QUk9HUkFNIHdoZW4KKyMgaW5zdGFsbGluZyAuc28gYW5kIGV4ZWN1dGFibGVzLCB0aGlzIGZhaWxzIGluIGNyb3NzIGNvbXBpbGF0aW9uCisjIGVudmlyb25tZW50cworU1JDX1VSSSArPSAiZmlsZTovL2luc3RhbGwtc3RyaXAucGF0Y2giCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKKyMgQ1YgU0VUVElOR1MKKyMgUmVxdWlyZWQgdG8gd29yayByb3VuZCBBQ19GVU5DX01FTUNNUCB3aGljaCBnZXRzIHRoZSB3cm9uZyBhbnN3ZXIKKyMgd2hlbiBjcm9zcyBjb21waWxpbmcgKHNob3VsZCBiZSBpbiBzaXRlPykKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfZnVuY19tZW1jbXBfd29ya2luZz15ZXMiCisKKyMgQ09ORklHIERFRklOSVRJT05TCisjIFRoZSBmb2xsb3dpbmcgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaXQgY2Fubm90IGJlIGRldGVybWluZWQgZm9yIGEKKyMgY3Jvc3MgY29tcGlsZSBhdXRvbWFnaWNhbGx5LiAgU2VsZWN0IHNob3VsZCB5aWVsZCBmaW5lIG9uIGFsbCBPRQorIyBzeXN0ZW1zLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC15aWVsZGluZy1zZWxlY3Q9eWVzIgorIyBTaGFyZWQgbGlicmFyaWVzIGFyZSBuaWNlLi4uCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWR5bmFtaWMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMgbW9kdWxlcyBcCisgICAgICAgICAgICAgICAgICAgbWRiIGxkYXAgbWV0YSBtb25pdG9yIG51bGwgcGFzc3dkIHNoZWxsIHByb3h5Y2FjaGUgZG5zc3J2IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyIKKyMtLXdpdGgtdGxzICAgICAgICAgICAgICB3aXRoIFRMUy9TU0wgc3VwcG9ydCBhdXRvfG9wZW5zc2x8Z251dGxzIFthdXRvXQorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC10bHM9Z251dGxzLCxnbnV0bHMgbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtdGxzPW9wZW5zc2wsLG9wZW5zc2wiCisKK1BBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLWN5cnVzLXNhc2wsLS13aXRob3V0LWN5cnVzLXNhc2wsY3lydXMtc2FzbCIKK1BBQ0tBR0VDT05GSUdbbW9kdWxlc10gPSAibHRfY3ZfZGxvcGVuX3NlbGY9eWVzIC0tZW5hYmxlLW1vZHVsZXMsLS1kaXNhYmxlLW1vZHVsZXMsbGlidG9vbCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKKworIyBTTEFQRCBvcHRpb25zCisjCisjIFVOSVggY3J5cHQoMykgcGFzc3dkIHN1cHBvcnQ6CitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWNyeXB0IgorCisjIFNMQVBEIEJBQ0tFTkQKKyMKKyMgVGhlIGJhY2tlbmQgbXVzdCBiZSBzZXQgYnkgdGhlIGNvbmZpZ3VyYXRpb24uICBUaGlzIGNvbnRyb2xzIHRoZQorIyByZXF1aXJlZCBkYXRhYmFzZS4KKyMKKyMgQmFja2VuZHM9ImJkYiBkbnNzcnYgaGRiIGxkYXAgbWRiIG1ldGEgbW9uaXRvciBuZGIgbnVsbCBwYXNzd2QgcGVybCByZWxheSBzaGVsbCBzb2NrIHNxbCIKKyMKKyMgTm90ZSB0aGF0IG11bHRpcGxlIGJhY2tlbmRzIGNhbiBiZSBidWlsdC4gIFRoZSBsZGJtIGJhY2tlbmQgcmVxdWlyZXMgYQorIyBidWlsZC10aW1lIGNob2ljZSBvZiBkYXRhYmFzZSBBUEkuICBUaGUgYmRiIGJhY2tlbmQgZm9yY2VzIHRoaXMgdG8gYmUKKyMgREI0LiAgVG8gdXNlIHRoZSBnZGJtIChvciBvdGhlcikgQVBJIHRoZSBCZXJrZWx5IGRhdGFiYXNlIG1vZHVsZSBtdXN0CisjIGJlIHJlbW92ZWQgZnJvbSB0aGUgYnVpbGQuCittZCA9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwIgorIworIy0tZW5hYmxlLWJkYiAgICAgICAgICBlbmFibGUgQmVya2VsZXkgREIgYmFja2VuZCBub3x5ZXN8bW9kIHllcworIyBUaGUgQmVya2VseSBEQiBpcyB0aGUgc3RhbmRhcmQgY2hvaWNlLiAgVGhpcyB2ZXJzaW9uIG9mIE9wZW5MREFQIHJlcXVpcmVzCisjIHRoZSB2ZXJzaW9uIDQgaW1wbGVtZW50YXRpb24gb3IgYmV0dGVyLgorUEFDS0FHRUNPTkZJR1tiZGJdID0gIi0tZW5hYmxlLWJkYj15ZXMsLS1lbmFibGUtYmRiPW5vLGRiIgorCisjLS1lbmFibGUtZG5zc3J2ICAgICAgIGVuYWJsZSBkbnNzcnYgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW2Ruc3Nydl0gPSAiLS1lbmFibGUtZG5zc3J2PW1vZCwtLWVuYWJsZS1kbnNzcnY9bm8iCisKKyMtLWVuYWJsZS1oZGIgICAgICAgICAgZW5hYmxlIEhpZXJhcmNoaWNhbCBEQiBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbaGRiXSA9ICItLWVuYWJsZS1oZGI9eWVzLC0tZW5hYmxlLWhkYj1ubyxkYiIKKworIy0tZW5hYmxlLWxkYXAgICAgICAgICBlbmFibGUgbGRhcCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KK1BBQ0tBR0VDT05GSUdbbGRhcF0gPSAiLS1lbmFibGUtbGRhcD1tb2QsLS1lbmFibGUtbGRhcD1ubywiCisKKyMtLWVuYWJsZS1tZGIgICAgICAgICAgZW5hYmxlIG1kYiBkYXRhYmFzZSBiYWNrZW5kIG5vfHllc3xtb2QgW3llc10KK1BBQ0tBR0VDT05GSUdbbWRiXSA9ICItLWVuYWJsZS1tZGI9eWVzLC0tZW5hYmxlLW1kYj1ubywiCisKKyMtLWVuYWJsZS1tZXRhICAgICAgICAgZW5hYmxlIG1ldGFkaXJlY3RvcnkgYmFja2VuZCBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW21ldGFdID0gIi0tZW5hYmxlLW1ldGE9bW9kLC0tZW5hYmxlLW1ldGE9bm8sIgorCisjLS1lbmFibGUtbW9uaXRvciAgICAgIGVuYWJsZSBtb25pdG9yIGJhY2tlbmQgbm98eWVzfG1vZCB5ZXMKK1BBQ0tBR0VDT05GSUdbbW9uaXRvcl0gPSAiLS1lbmFibGUtbW9uaXRvcj1tb2QsLS1lbmFibGUtbW9uaXRvcj1ubywiCisKKyMtLWVuYWJsZS1uZGIgICAgICAgICAgZW5hYmxlIE15U1FMIE5EQiBDbHVzdGVyIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW25kYl0gPSAiLS1lbmFibGUtbmRiPW1vZCwtLWVuYWJsZS1uZGI9bm8sIgorCisjLS1lbmFibGUtbnVsbCAgICAgICAgIGVuYWJsZSBudWxsIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1tudWxsXSA9ICItLWVuYWJsZS1udWxsPW1vZCwtLWVuYWJsZS1udWxsPW5vLCIKKworIy0tZW5hYmxlLXBhc3N3ZCAgICAgICBlbmFibGUgcGFzc3dkIGJhY2tlbmQgbm98eWVzfG1vZCBubworUEFDS0FHRUNPTkZJR1twYXNzd2RdID0gIi0tZW5hYmxlLXBhc3N3ZD1tb2QsLS1lbmFibGUtcGFzc3dkPW5vLCIKKworIy0tZW5hYmxlLXBlcmwgICAgICAgICBlbmFibGUgcGVybCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgcmVxdWlyZXMgYSBsb2FkYWJsZSBwZXJsIGR5bmFtaWMgbGlicmFyeSwgaWYgZW5hYmxlZCB3aXRob3V0CisjICBkb2luZyBzb21ldGhpbmcgYXBwcm9wcmlhdGUgKGJ1aWxkaW5nIHBlcmw/KSB0aGUgYnVpbGQgd2lsbCBwaWNrCisjICB1cCB0aGUgYnVpbGQgbWFjaGluZSBwZXJsIC0gbm90IGdvb2QgKGluaGVyaXQgcGVybG5hdGl2ZT8pCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0tZW5hYmxlLXBlcmw9bW9kLC0tZW5hYmxlLXBlcmw9bm8scGVybCIKKworIy0tZW5hYmxlLXJlbGF5ICAgICAgICBlbmFibGUgcmVsYXkgYmFja2VuZCBub3x5ZXN8bW9kIFt5ZXNdCitQQUNLQUdFQ09ORklHW3JlbGF5XSA9ICItLWVuYWJsZS1yZWxheT1tb2QsLS1lbmFibGUtcmVsYXk9bm8sIgorCisjLS1lbmFibGUtc2hlbGwgICAgICAgIGVuYWJsZSBzaGVsbCBiYWNrZW5kIG5vfHllc3xtb2Qgbm8KKyMgY29uZmlndXJlOiBXQVJOSU5HOiBVc2Ugb2YgLS13aXRob3V0LXRocmVhZHMgaXMgcmVjb21tZW5kZWQgd2l0aCBiYWNrLXNoZWxsCitQQUNLQUdFQ09ORklHW3NoZWxsXSA9ICItLWVuYWJsZS1zaGVsbD1tb2QgLS13aXRob3V0LXRocmVhZHMsLS1lbmFibGUtc2hlbGw9bm8sIgorCisjLS1lbmFibGUtc29jayAgICAgICAgIGVuYWJsZSBzb2NrIGJhY2tlbmQgbm98eWVzfG1vZCBbbm9dCitQQUNLQUdFQ09ORklHW3NvY2tdID0gIi0tZW5hYmxlLXNvY2s9bW9kLC0tZW5hYmxlLXNvY2s9bm8sIgorCisjLS1lbmFibGUtc3FsICAgICAgICAgIGVuYWJsZSBzcWwgYmFja2VuZCBub3x5ZXN8bW9kIG5vCisjIHNxbCByZXF1aXJlcyBzb21lIHNxbCBiYWNrZW5kIHdoaWNoIHByb3ZpZGVzIHNxbC5oLCBzcWxpdGUqIHByb3ZpZGVzCisjIHNxbGl0ZS5oICh3aGljaCBtYXkgYmUgY29tcGF0aWJsZSBidXQgaGFzbid0IGJlZW4gdHJpZWQuKQorUEFDS0FHRUNPTkZJR1tzcWxdID0gIi0tZW5hYmxlLXNxbD1tb2QsLS1lbmFibGUtc3FsPW5vLHNxbGl0ZTMiCisKKyMtLWVuYWJsZS1keW5ncm91cCAgICAgRHluYW1pYyBHcm91cCBvdmVybGF5IG5vfHllc3xtb2Qgbm8KKyMgIFRoaXMgaXMgYSBkZW1vLCBQcm94eSBDYWNoZSBkZWZpbmVzIGluaXRfbW9kdWxlIHdoaWNoIGNvbmZsaWN0cyB3aXRoIHRoZQorIyAgc2FtZSBzeW1ib2wgaW4gZHluZ3JvdXAKK1BBQ0tBR0VDT05GSUdbZHluZ3JvdXBdID0gIi0tZW5hYmxlLWR5bmdyb3VwPW1vZCwtLWVuYWJsZS1keW5ncm91cD1ubywiCisKKyMtLWVuYWJsZS1wcm94eWNhY2hlICAgUHJveHkgQ2FjaGUgb3ZlcmxheSBub3x5ZXN8bW9kIG5vCitQQUNLQUdFQ09ORklHW3Byb3h5Y2FjaGVdID0gIi0tZW5hYmxlLXByb3h5Y2FjaGU9bW9kLC0tZW5hYmxlLXByb3h5Y2FjaGU9bm8sIgorRklMRVNfJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlID0gIiR7bWR9L3BjYWNoZS0qLnNvLioiCitQQUNLQUdFUyArPSAiJHtQTn0tb3ZlcmxheS1wcm94eWNhY2hlIgorCisjIEFwcGVuZCBVUkFORE9NX0RFVklDRT0nL2Rldi91cmFuZG9tJyB0byBDUFBGTEFHUzoKKyMgVGhpcyBhbGxvd3MgdGxzIHRvIG9idGFpbiByYW5kb20gYml0cyBmcm9tIC9kZXYvdXJhbmRvbSwgYnkgZGVmYXVsdAorIyBpdCB3YXMgZGlzYWJsZWQgZm9yIGNyb3NzLWNvbXBpbGluZy4KK0NQUEZMQUdTX2FwcGVuZCA9ICIgLURfR05VX1NPVVJDRSAtRFVSQU5ET01fREVWSUNFPVwnL2Rldi91cmFuZG9tXCcgLWZQSUMiCisKK0xERkxBR1NfYXBwZW5kID0gIiAtcHRocmVhZCIKKworZG9fY29uZmlndXJlKCkgeworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vbGlidG9vbC9idWlsZC1hdXgvbHRtYWluLnNoICR7U30vYnVpbGQKKyAgICBybSAtZiAke1N9L2xpYnRvb2wKKyAgICBhY2xvY2FsCisgICAgbGlidG9vbGl6ZSAtLWZvcmNlIC0tY29weQorICAgIGdudS1jb25maWdpemUKKyAgICBhdXRvY29uZgorICAgIG9lX3J1bmNvbmYKK30KKworTEVBRF9TT05BTUUgPSAibGlibGRhcC0ke0xEQVBfVkVSfS5zby4qIgorCisjIFRoZSBleGVjdXRhYmxlcyBnbyBpbiBhIHNlcGFyYXRlIHBhY2thZ2UuICBUaGlzIGFsbG93cyB0aGUKKyMgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJpZXMgd2l0aCBubyBkYWVtb24gc3VwcG9ydC4KKyMgRWFjaCBtb2R1bGUgYWxzbyBoYXMgaXRzIG93biBwYWNrYWdlIC0gc2VlIGFib3ZlLgorUEFDS0FHRVMgKz0gIiR7UE59LXNsYXBkICR7UE59LXNsdXJwZCAke1BOfS1iaW4iCisKKyMgUGFja2FnZSBjb250ZW50cyAtIHNoaWZ0IG1vc3Qgc3RhbmRhcmQgY29udGVudHMgdG8gLWJpbgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL2xkYXAuKiAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhIgorRklMRVNfJHtQTn0tc2xhcGQgPSAiJHtzeXNjb25mZGlyfS9pbml0LmQgJHtsaWJleGVjZGlyfS9zbGFwZCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vcnVuICR7bG9jYWxzdGF0ZWRpcn0vdm9sYXRpbGUvcnVuIFwKKyAgICAke3N5c2NvbmZkaXJ9L29wZW5sZGFwL3NsYXBkLiogJHtzeXNjb25mZGlyfS9vcGVubGRhcC9zY2hlbWEgXAorICAgICR7c3lzY29uZmRpcn0vb3BlbmxkYXAvREJfQ09ORklHLmV4YW1wbGUgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qIgorRklMRVNfJHtQTn0tc2x1cnBkID0gIiR7bGliZXhlY2Rpcn0vc2x1cnBkICR7bG9jYWxzdGF0ZWRpcn0vb3BlbmxkYXAtc2x1cnAgJHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtsb2NhbHN0YXRlZGlyfS92b2xhdGlsZS9ydW4iCitGSUxFU18ke1BOfS1iaW4gPSAiJHtiaW5kaXJ9IgorRklMRVNfJHtQTn0tZGV2ID0gIiR7aW5jbHVkZWRpcn0gJHtsaWJkaXJ9L2xpYiouc28gJHtsaWJkaXJ9LyoubGEgJHtsaWJkaXJ9LyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyouYSAke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLyoubGEgJHtsaWJleGVjZGlyfS9vcGVubGRhcC8qLnNvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L29wZW5sZGFwLy5kZWJ1ZyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBjYXQgJHtXT1JLRElSfS9pbml0c2NyaXB0ID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL29wZW5sZGFwCisgICAgY2htb2QgNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9vcGVubGRhcAorICAgICMgVGhpcyBpcyBkdXBsaWNhdGVkIGluIC9ldGMvb3BlbmxkYXAgYW5kIGlzIGZvciBzbGFwZAorICAgIHJtIC1mICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L29wZW5sZGFwLWRhdGEvREJfQ09ORklHLmV4YW1wbGUKKworICAgICMgSW5zdGFsbGluZyBzbGFwZCB1bmRlciAke3NiaW59IGlzIG1vcmUgRkhTIGFuZCBMU0IgY29tcGxpYW5jZQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3NsYXBkICR7RH0vJHtzYmluZGlyfS9zbGFwZAorICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2xpYmV4ZWNkaXJ9CisgICAgU0xBUFRPT0xTPSJzbGFwYWRkIHNsYXBjYXQgc2xhcGRuIHNsYXBpbmRleCBzbGFwcGFzc3dkIHNsYXB0ZXN0IHNsYXBhdXRoIHNsYXBhY2wgc2xhcHNjaGVtYSIKKyAgICBjZCAke0R9LyR7c2JpbmRpcn0vCisgICAgcm0gLWYgJHtTTEFQVE9PTFN9CisgICAgZm9yIGkgaW4gJHtTTEFQVE9PTFN9OyBkbyBsbiAtc2Ygc2xhcGQgJGk7IGRvbmUKKworICAgIHJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zbGFwZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLworICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworICAgICMgVXNlcyBtZG0gYXMgdGhlIGRhdGFiYXNlCisgICAgIyAgYW5kIGxvY2Fsc3RhdGVkaXIgYXMgZGF0YSBkaXJlY3RvcnkgLi4uCisgICAgc2VkIC1lICdzLyMgbW9kdWxlcGF0aC9tb2R1bGVwYXRoLycgXAorICAgICAgICAtZSAncy8jIG1vZHVsZWxvYWRccypiYWNrX2JkYi4qL21vZHVsZWxvYWQgICAgYmFja19tZGIvJyBcCisgICAgICAgIC1lICdzL2RhdGFiYXNlXHMqYmRiL2RhdGFiYXNlICAgICAgICBtZGIvJyBcCisgICAgICAgIC1lICdzJV5kaXJlY3RvcnlccyouKiVkaXJlY3RvcnkgICAke2xvY2Fsc3RhdGVkaXJ9LyR7QlBOfS9kYXRhLyUnIFwKKyAgICAgICAgLWkgJHtEfSR7c3lzY29uZmRpcn0vb3BlbmxkYXAvc2xhcGQuY29uZgorCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vJHtCUE59L2RhdGEKKworCit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0tc2xhcGQiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tc2xhcGQgPSAib3BlbmxkYXAiCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfS1zbGFwZCA9ICJkZWZhdWx0cyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1zbGFwZCA9ICJob3N0YXBkLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFXyR7UE59LXNsYXBkID89ICJkaXNhYmxlIgorCisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1iYWNrZW5kcy4qIF4ke1BOfS1iYWNrZW5kLS4qIgorCisjIFRoZSBtb2R1bGVzIHJlcXVpcmUgdGhlaXIgLnNvIHRvIGJlIGR5bmFtaWNhbHkgbG9hZGVkCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLWRuc3NydiAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbGRhcCAgICArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1tZXRhICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLW1kYiAgICAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtbW9uaXRvciArPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tYmFja2VuZC1udWxsICAgICs9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke1BOfS1iYWNrZW5kLXBhc3N3ZCAgKz0gImRldi1zbyIKK0lOU0FORV9TS0lQXyR7UE59LWJhY2tlbmQtc2hlbGwgICArPSAiZGV2LXNvIgorCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBiYWNrZW5kX2RpciAgICA9IGQuZXhwYW5kKCcke2xpYmV4ZWNkaXJ9L29wZW5sZGFwJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYWNrZW5kX2RpciwgJ2JhY2tfKFthLXpdKilcLnNvJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFja2VuZF9kaXIsICdiYWNrXyhbYS16XSopXC0uKlwuc29cLi4qJCcsICdvcGVubGRhcC1iYWNrZW5kLSVzJywgJ09wZW5MREFQICVzIGJhY2tlbmQnLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorCisgICAgbWV0YXBrZyA9ICIke1BOfS1iYWNrZW5kcyIKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKKyAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQorICAgIG1ldGFwa2dfcmRlcGVuZHMgPSBbXQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQorICAgIGZvciBwa2cgaW4gcGFja2FnZXNbMTpdOgorICAgICAgICBpZiBwa2cuY291bnQoIm9wZW5sZGFwLWJhY2tlbmQtIikgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5jb3VudCgiLWRldiIpIGFuZCBub3QgcGtnLmNvdW50KCItZGJnIikgYW5kIG5vdCBwa2cuY291bnQoInN0YXRpYyIpIGFuZCBub3QgcGtnLmNvdW50KCJsb2NhbGUiKToKKyAgICAgICAgICAgIG1ldGFwa2dfcmRlcGVuZHMuYXBwZW5kKHBrZykKKyAgICBkLnNldFZhcignUkRFUEVORFNfJyArIG1ldGFwa2csICcgJy5qb2luKG1ldGFwa2dfcmRlcGVuZHMpKQorICAgIGQuc2V0VmFyKCdERVNDUklQVElPTl8nICsgbWV0YXBrZywgJ09wZW5MREFQIGJhY2tlbmRzIG1ldGEgcGFja2FnZScpCisgICAgcGFja2FnZXMuYXBwZW5kKG1ldGFwa2cpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2MvMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDhkODMyNy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtRml4ZWQtZ2NjLTgtY29tcGlsYXRpb24tZXJyb3JzLTEzNTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1Gcm9tIDg3ODU3ZDVjYWU3ZGI5NGZkZDc3NjkwNDg4NjM5MmIxZTg2MDUzYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yaWFuIEJlemRla2EgPDExMTk2OTMrZmJlemRla2FAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotRGF0ZTogRnJpLCAxOCBNYXkgMjAxOCAxODo1NDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBGaXhlZCBnY2MgOCBjb21waWxhdGlvbiBlcnJvcnMgKCMxMzUzKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1UaGUgZm9sbG93aW5nIGVycm9ycyBvY2N1cmVkIGR1cmluZyBhIGNvbXBpbGF0aW9uIHVzaW5nIGdjYyA4OgotCi1JbiBmdW5jdGlvbiDCu2dpZHNfY3JlYXRlX2ZpbGUuY29uc3Rwcm9wwqssCi0gICAgaW5zZXJ0ZWQgYnkgwrtnaWRzX3NhdmVfY2VydGlmaWNhdGUuaXNyYS44wqsgYmVpY2FyZC1naWRzLmM6MTU0ODo3OgotY2FyZC1naWRzLmM6NDY1OjI6IEVycm9yOiDCu3N0cm5jcHnCqyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZCBjb3B5aW5nIDggYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggOCBbLVdlcnJvcj1zdHJpbmdvcC10cnVuY2F0aW9uXQotICBzdHJuY3B5KHJlY29yZC0+ZmlsZW5hbWUsIGZpbGVuYW1lLCA4KTsKLSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLQotcGtjczE1LW9iZXJ0aHVyLmM6IEluIGZ1bmN0aW9uIMK7c2NfcGtjczE1ZW11X29iZXJ0aHVyX2FkZF9wcnZrZXnCqzoKLXBrY3MxNS1vYmVydGh1ci5jOjc0MTo1OiBFcnJvcjogwrtzdHJuY3B5wqsgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgY29weWluZyAyNTQgYnl0ZXMgZnJvbSBhIHN0cmluZyBvZiBsZW5ndGggMjU0IFstV2Vycm9yPXN0cmluZ29wLXRydW5jYXRpb25dCi0gICAgIHN0cm5jcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkgLSAxKTsKLSAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDL3B1bGwvMTM1M10KLVNpZ25lZC1vZmYtYnkgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMgICAgICAgfCAzICsrLQotIHNyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgfCAzICsrLQotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYm9wZW5zYy9jYXJkLWdpZHMuYyBiL3NyYy9saWJvcGVuc2MvY2FyZC1naWRzLmMKLWluZGV4IGZjNWQyYTcuLmFjM2U1NzkgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi0rKysgYi9zcmMvbGlib3BlbnNjL2NhcmQtZ2lkcy5jCi1AQCAtMzMsNiArMzMsNyBAQCBTb21lIGZlYXR1cmVzIGFyZSB1bmRvY3VtZW50ZWQgbGlrZSB0aGUgZm9ybWF0IHVzZWQgdG8gc3RvcmUgY2VydGlmaWNhdGVzLiBUaGV5Ci0gCi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSsjaW5jbHVkZSAiLi4vY29tbW9uL2NvbXBhdF9zdHJsY3B5LmgiCi0gCi0gI2lmZGVmIEVOQUJMRV9PUEVOU1NMCi0gLyogb3BlbnNzbCBvbmx5IG5lZWRlZCBmb3IgY2FyZCBhZG1pbmlzdHJhdGlvbiAqLwotQEAgLTQ2Miw3ICs0NjMsNyBAQCBzdGF0aWMgaW50IGdpZHNfY3JlYXRlX2ZpbGUoc2NfY2FyZF90ICpjYXJkLCBjaGFyKiBkaXJlY3RvcnksIGNoYXIqIGZpbGVuYW1lKSB7Ci0gCW1lbXNldChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0LCAwLCBzaXplb2YoZ2lkc19tZl9yZWNvcmRfdCkpOwotIAlyZWNvcmQgPSAoZ2lkc19tZl9yZWNvcmRfdCopIChtYXN0ZXJmaWxlYnVmZmVyICsgb2Zmc2V0KTsKLSAJc3RybmNweShyZWNvcmQtPmRpcmVjdG9yeSwgZGlyZWN0b3J5LCA4KTsKLS0Jc3RybmNweShyZWNvcmQtPmZpbGVuYW1lLCBmaWxlbmFtZSwgOCk7Ci0rCXN0cmxjcHkocmVjb3JkLT5maWxlbmFtZSwgZmlsZW5hbWUsIHNpemVvZihyZWNvcmQtPmZpbGVuYW1lKSk7Ci0gCXJlY29yZC0+ZmlsZUlkZW50aWZpZXIgPSBmaWxlSWRlbnRpZmllcjsKLSAJcmVjb3JkLT5kYXRhT2JqZWN0SWRlbnRpZmllciA9IGRhdGFPYmplY3RJZGVudGlmaWVyOwotIAotZGlmZiAtLWdpdCBhL3NyYy9saWJvcGVuc2MvcGtjczE1LW9iZXJ0aHVyLmMgYi9zcmMvbGlib3BlbnNjL3BrY3MxNS1vYmVydGh1ci5jCi1pbmRleCA0Zjg0MWVkLi4zNDE1YmU3IDEwMDY0NAotLS0tIGEvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotKysrIGIvc3JjL2xpYm9wZW5zYy9wa2NzMTUtb2JlcnRodXIuYwotQEAgLTI5LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlICIuLi9jb21tb24vY29tcGF0X3N0cmxjcHkuaCIKLSAKLSAjaW5jbHVkZSAicGtjczE1LmgiCi0gI2luY2x1ZGUgImxvZy5oIgotQEAgLTczOCw3ICs3MzksNyBAQCBzY19wa2NzMTVlbXVfb2JlcnRodXJfYWRkX3BydmtleShzdHJ1Y3Qgc2NfcGtjczE1X2NhcmQgKnAxNWNhcmQsCi0gCQkJdW5zaWduZWQgaW50IGlkID0gcGF0aC52YWx1ZVtwYXRoLmxlbiAtIDJdICogMHgxMDAgKyBwYXRoLnZhbHVlW3BhdGgubGVuIC0gMV07Ci0gCi0gCQkJaWYgKGlkID09IGNjb250LmlkX2NlcnQpICAgewotLQkJCQlzdHJuY3B5KGtvYmoubGFiZWwsIG9ianNbaWldLT5sYWJlbCwgc2l6ZW9mKGtvYmoubGFiZWwpIC0gMSk7Ci0rCQkJCXN0cmxjcHkoa29iai5sYWJlbCwgb2Jqc1tpaV0tPmxhYmVsLCBzaXplb2Yoa29iai5sYWJlbCkpOwotIAkJCQlicmVhazsKLSAJCQl9Ci0gCQl9Ci0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTFmMWEyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zYy8wMDAxLVJlbW92ZS1yZWR1bmRhbnQtbG9nZ2luZy5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGMwMTJmNDY5NjViM2ZlMjRlMzEzNjc3OTZlNTJjMmQwYjE0Y2E1ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAxNyBEZWMgMjAxOCAxODo0NDoyMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBSZW1vdmUgcmVkdW5kYW50IGxvZ2dpbmcKKworU2FtZSBpbmZvcm1hdGlvbiBpcyBwcmludGVkIGEgZmV3IGxpbmUgYmVsb3cgaW4gc2FtZSBmdW5jdGlvbiwgdGhlIG9ubHkKK2RpZmZlcmVuY2UgaXMgdGhhdCB0aGVyZSBpdCB0YWtlcyBjYXJlIG9mIGNhc2Ugd2hlbiBsYWJlbCBpcyBOVUxMIHBvaW50ZXIKK3VubGlrZSB0aGlzIGxpbmUKKworc2Vjb25kbHksIGV2ZXJ5IGZ1bmN0aW9uIGNhbGwgdG8gY29zbV93cml0ZV90b2tlbmluZm8oKSBpbiB0aGlzIGZpbGUKK3Bhc3NlcyBsYWJlbD1OVUxMLCBhbmQgdGhlbiBpdCB0cmllcyB0byBwcmludCBhIG51bGwgcG9pbnRlcgorCitGaXhlcyBlcnJvcnMgbGlrZQorc3JjL2xpYm9wZW5zYy9sb2cuaDo0ODo0NzogZXJyb3I6ICclcycgZGlyZWN0aXZlIGFyZ3VtZW50IGlzIG51bGwKK1stV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vT3BlblNDL09wZW5TQy9wdWxsLzE1NTddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitJbmRleDogZ2l0L3NyYy9wa2NzMTVpbml0L3BrY3MxNS1vYmVydGh1ci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKKysrKyBnaXQvc3JjL3BrY3MxNWluaXQvcGtjczE1LW9iZXJ0aHVyLmMKK0BAIC03MCw3ICs3MCw2IEBAIGNvc21fd3JpdGVfdG9rZW5pbmZvIChzdHJ1Y3Qgc2NfcGtjczE1X2MKKyAJY3R4ID0gcDE1Y2FyZC0+Y2FyZC0+Y3R4OworIAorIAlTQ19GVU5DX0NBTExFRChjdHgsIFNDX0xPR19ERUJVR19WRVJCT1NFKTsKKy0Jc2NfZGVidWcoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCAiY29zbV93cml0ZV90b2tlbmluZm8oKSBsYWJlbCAnJXMnOyBmbGFncyAweCVYIiwgbGFiZWwsIGZsYWdzKTsKKyAJaWYgKHNjX3Byb2ZpbGVfZ2V0X2ZpbGUocHJvZmlsZSwgQ09TTV9USVRMRSItdG9rZW4taW5mbyIsICZmaWxlKSkgeworIAkJcnYgPSBTQ19FUlJPUl9JTkNPTlNJU1RFTlRfUFJPRklMRTsKKyAJCVNDX1RFU1RfR09UT19FUlIoY3R4LCBTQ19MT0dfREVCVUdfTk9STUFMLCBydiwgIkNhbm5vdCBmaW5kICJDT1NNX1RJVExFIi10b2tlbi1pbmZvIik7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9vcGVuc2Mvb3BlbnNjXzAuMTguMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM5MzFlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotU1VNTUFSWSA9ICJTbWFydCBjYXJkIGxpYnJhcnkgYW5kIGFwcGxpY2F0aW9ucyIKLURFU0NSSVBUSU9OID0gIk9wZW5TQyBpcyBhIHRvb2wgZm9yIGFjY2Vzc2luZyBzbWFydCBjYXJkIGRldmljZXMuIEJhc2ljXAotZnVuY3Rpb25hbGl0eSAoZS5nLiBTRUxFQ1QgRklMRSwgUkVBRCBCSU5BUlkpIHNob3VsZCB3b3JrIG9uIGFueSBJU09cCi03ODE2LTQgY29tcGF0aWJsZSBzbWFydCBjYXJkLiBFbmNyeXB0aW9uIGFuZCBkZWNyeXB0aW9uIHVzaW5nIHByaXZhdGVcCi1rZXlzIG9uIHRoZSBzbWFydCBjYXJkIGlzIHBvc3NpYmxlIHdpdGggUEtDU1wKLXN1Y2ggYXMgdGhlIEZJTkVJRCAoRmlubmlzaCBFbGVjdHJvbmljIElEZW50aXR5KSBjYXJkLiBTd2VkaXNoIFBvc3RlblwKLWVJRCBjYXJkcyBoYXZlIGFsc28gYmVlbiBjb25maXJtZWQgdG8gd29yay4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNjLXByb2plY3Qub3JnL29wZW5zYy8iCi1TRUNUSU9OID0gIlN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwNTIxVDEwMTQyOFovcG9vbC9tYWluL28vb3BlbnNjL29wZW5zY18wLjE4LjAub3JpZy50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXhlZC1nY2MtOC1jb21waWxhdGlvbi1lcnJvcnMtMTM1My5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmNlNTE2Zjc1MmUwZGI1MzI3YWEwNmNjMDEzNmZlMjciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmVmNjJiMDBlOGZkYmUzZTM4NmMzZWUyNWMyY2FkYjU2YzE5MzFlYTQyZjFhMTFkY2U4Yzk0N2Y1MWI0NTAzMyIKLQotREVQRU5EUyA9ICJvcGVuY3QgcGNzYy1saXRlIHZpcnR1YWwvbGliaWNvbnYgb3BlbnNzbCIKLQotTElDRU5TRSA9ICJMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1TID0gIiR7V09SS0RJUn0vT3BlblNDLSR7UFZ9IgotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXN0YXRpYyBcCi0gICAgLS1lbmFibGUtb3BlbmN0IFwKLSAgICAtLWRpc2FibGUtcGNzYyBcCi0gICAgLS1kaXNhYmxlLWN0YXBpIFwKLSAgICAtLWRpc2FibGUtZG9jIFwKLSIKLUVYVFJBX09FTUFLRSA9ICJERVNURElSPSR7RH0iCi0KLVJERVBFTkRTXyR7UE59ID0gInJlYWRsaW5lIgotCi1GSUxFU18ke1BOfSArPSAiXAotICAgICR7bGliZGlyfS9vcGVuc2MtcGtjczExLnNvIFwKLSAgICAke2xpYmRpcn0vb25lcGluLW9wZW5zYy1wa2NzMTEuc28gXAotICAgICR7bGliZGlyfS9wa2NzMTEtc3B5LnNvIFwKLSIKLUZJTEVTXyR7UE59LWRldiArPSAiXAotICAgICR7bGliZGlyfS9wa2NzMTEvb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCi0gICAgJHtsaWJkaXJ9L3BrY3MxMS9wa2NzMTEtc3B5LnNvIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvb3BlbnNjL29wZW5zY18wLjE5LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxNzIyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L29wZW5zYy9vcGVuc2NfMC4xOS4wLmJiCkBAIC0wLDAgKzEsNDQgQEAKK1NVTU1BUlkgPSAiU21hcnQgY2FyZCBsaWJyYXJ5IGFuZCBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJPcGVuU0MgaXMgYSB0b29sIGZvciBhY2Nlc3Npbmcgc21hcnQgY2FyZCBkZXZpY2VzLiBCYXNpY1wKK2Z1bmN0aW9uYWxpdHkgKGUuZy4gU0VMRUNUIEZJTEUsIFJFQUQgQklOQVJZKSBzaG91bGQgd29yayBvbiBhbnkgSVNPXAorNzgxNi00IGNvbXBhdGlibGUgc21hcnQgY2FyZC4gRW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiB1c2luZyBwcml2YXRlXAora2V5cyBvbiB0aGUgc21hcnQgY2FyZCBpcyBwb3NzaWJsZSB3aXRoIFBLQ1NcCitzdWNoIGFzIHRoZSBGSU5FSUQgKEZpbm5pc2ggRWxlY3Ryb25pYyBJRGVudGl0eSkgY2FyZC4gU3dlZGlzaCBQb3N0ZW5cCitlSUQgY2FyZHMgaGF2ZSBhbHNvIGJlZW4gY29uZmlybWVkIHRvIHdvcmsuIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm9wZW5zYy1wcm9qZWN0Lm9yZy9vcGVuc2MvIgorU0VDVElPTiA9ICJTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzIgorTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKKyN2MC4xOS4wCitTUkNSRVYgPSAiZjE2OTFmYzkxZmMxMTMxOTFjM2E4YWFmNWZhY2Q2OTgzMzM0ZWM0NyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9PcGVuU0MvT3BlblNDIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmVtb3ZlLXJlZHVuZGFudC1sb2dnaW5nLnBhdGNoIFwKKyAgICAgICAgICAiCitERVBFTkRTID0gIm9wZW5jdCBwY3NjLWxpdGUgdmlydHVhbC9saWJpY29udiBvcGVuc3NsIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJhc2gtY29tcGxldGlvbgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAtLWVuYWJsZS1vcGVuY3QgXAorICAgIC0tZGlzYWJsZS1wY3NjIFwKKyAgICAtLWRpc2FibGUtY3RhcGkgXAorICAgIC0tZGlzYWJsZS1kb2MgXAorIgorRVhUUkFfT0VNQUtFID0gIkRFU1RESVI9JHtEfSIKKworUkRFUEVORFNfJHtQTn0gPSAicmVhZGxpbmUiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICAgJHtsaWJkaXJ9L29wZW5zYy1wa2NzMTEuc28gXAorICAgICR7bGliZGlyfS9vbmVwaW4tb3BlbnNjLXBrY3MxMS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS1zcHkuc28gXAorIgorRklMRVNfJHtQTn0tZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS9vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL29uZXBpbi1vcGVuc2MtcGtjczExLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExL3BrY3MxMS1zcHkuc28gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvLzAwMDEtU3VwcG9ydC1vZi1hcmNoLXJpc2N2NjQtYnktTWFudWVsLUEuLUZlcm5hbmRlei1Nb250ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkODlkMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jby8wMDAxLVN1cHBvcnQtb2YtYXJjaC1yaXNjdjY0LWJ5LU1hbnVlbC1BLi1GZXJuYW5kZXotTW9udGUucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSBlZDA0Yzk3YWJlMDE1YTIyNjI2OWRlMzkxZTM2YzRkMjUxMjkyNzI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJhbmNpcyBBTkRSRSA8ZnJhbmNpcy5hbmRyZS5rYW1wYmVsbEBvcmFuZ2UuZnI+CitEYXRlOiBTdW4sIDYgTWF5IDIwMTggMTI6Mjg6MjUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gU3VwcG9ydCBvZiBhcmNoIHJpc2N2NjQgYnkgTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8KKyA8bWFmbUBkZWJpYW4ub3JnPgorCistLS0KKyBGb3VuZGF0aW9uL2luY2x1ZGUvUG9jby9QbGF0Zm9ybS5oIHwgNiArKysrKy0KKyBGb3VuZGF0aW9uL3NyYy91dGlscy5oICAgICAgICAgICAgIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworLS0tIGEvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorKysrIGIvRm91bmRhdGlvbi9pbmNsdWRlL1BvY28vUGxhdGZvcm0uaAorQEAgLTEzNCw2ICsxMzQsNyBAQAorICNkZWZpbmUgUE9DT19BUkNIX05JT1MyICAgMHgwZQorICNkZWZpbmUgUE9DT19BUkNIX0FBUkNINjQgMHgwZgorICNkZWZpbmUgUE9DT19BUkNIX0FSTTY0ICAgMHgwZiAvLyBzYW1lIGFzIFBPQ09fQVJDSF9BQVJDSDY0CisrI2RlZmluZSBQT0NPX0FSQ0hfUklTQ1Y2NCAweDEwCisgCisgCisgI2lmIGRlZmluZWQoX19BTFBIQSkgfHwgZGVmaW5lZChfX2FscGhhKSB8fCBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfTV9BTFBIQSkKK0BAIC0yMjQsNiArMjI1LDkgQEAKKyAjZWxpZiBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCisgCSNkZWZpbmUgUE9DT19BUkNIIFBPQ09fQVJDSF9BQVJDSDY0CisgCSNkZWZpbmUgUE9DT19BUkNIX0JJR19FTkRJQU4gMQorKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSA2NCkKKysJI2RlZmluZSBQT0NPX0FSQ0ggUE9DT19BUkNIX1JJU0NWNjQKKysJI2RlZmluZSBQT0NPX0FSQ0hfTElUVExFX0VORElBTiAxCisgI2VuZGlmCisgCisgCistLS0gYS9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCisrKysgYi9Gb3VuZGF0aW9uL3NyYy91dGlscy5oCitAQCAtNjMsNiArNjMsNyBAQAorICAgICBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19hbHBoYV9fKSB8fCBcCisgICAgIGRlZmluZWQoX01JUFNfQVJDSF9NSVBTMzJSMikgfHwgXAorICAgICBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Jpc2N2KSB8fCBcCisgICAgIGRlZmluZWQobmlvczIpIHx8IGRlZmluZWQoX19uaW9zMikgfHwgZGVmaW5lZChfX25pb3MyX18pCisgI2RlZmluZSBET1VCTEVfQ09OVkVSU0lPTl9DT1JSRUNUX0RPVUJMRV9PUEVSQVRJT05TIDEKKyAjZWxpZiBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19pMzg2KQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9jby9wb2NvXzEuOS4wLmJiCmluZGV4IDI1OGNjNDkuLjcwYjI1MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvY28vcG9jb18xLjkuMC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb2NvL3BvY29fMS45LjAuYmIKQEAgLTExLDYgKzExLDcgQEAKIFNSQ19VUkkgPSAiIFwKICAgICBnaXQ6Ly9naXRodWIuY29tL3BvY29wcm9qZWN0L3BvY28uZ2l0O2JyYW5jaD1wb2NvLSR7UFZ9IFwKICAgICBmaWxlOi8vMDAwMS1Eb24tdC10cnktdG8taW5zdGFsbC1ub24tZXhpc3RpbmctRW5jb2RpbmdzLXRlc3RzdWl0LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LW9mLWFyY2gtcmlzY3Y2NC1ieS1NYW51ZWwtQS4tRmVybmFuZGV6LU1vbnRlLnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICIKIFNSQ1JFViA9ICJkYWYwMGRhNzNhYjkxN2U0ZDQ1ODFlM2FhMDBjMGVlNjFlMGNjNThiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci8wMDAxLWdsaWItQ01ha2VMaXN0cy50eHQtQWRkLWxpYnBvcHBsZXItdG8tbGluay1hbG9uZy13aXQucGF0Y2gKaW5kZXggN2VkNzk1ZS4uYzM2NGQ3MyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wb3BwbGVyL3BvcHBsZXIvMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoCkBAIC0xNSwxNSArMTUsMTggQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2dsaWIvQ01ha2VMaXN0cy50eHQgYi9nbGliL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAzM2M2NjA4Li44N2UxYjQ0IDEwMDY0NAoraW5kZXggNmY5MTY2OS4uY2E1MDIxZiAxMDA2NDQKIC0tLSBhL2dsaWIvQ01ha2VMaXN0cy50eHQKICsrKyBiL2dsaWIvQ01ha2VMaXN0cy50eHQKLUBAIC0xMjcsNyArMTI3LDcgQEAgaWYgKEhBVkVfSU5UUk9TUEVDVElPTiBBTkQgQlVJTERfU0hBUkVEX0xJQlMpCitAQCAtMTM1LDcgKzEzNSw3IEBAIGlmIChIQVZFX0lOVFJPU1BFQ1RJT04gQU5EIEJVSUxEX1NIQVJFRF9MSUJTKQogICAgZ2V0X2RpcmVjdG9yeV9wcm9wZXJ0eShfdG1wX2luY2x1ZGVzIElOQ0xVREVfRElSRUNUT1JJRVMpCiAgICBfbGlzdF9wcmVmaXgoX2luY2x1ZGVzIF90bXBfaW5jbHVkZXMgIi1JIikKLSAgIHNldChQb3BwbGVyXzBfMThfZ2lyX0NGTEFHUyAke19pbmNsdWRlc30gLUwke0NNQUtFX0JJTkFSWV9ESVJ9KQorICAgc2V0KFBvcHBsZXJfMF8xOF9naXJfQ0ZMQUdTICR7X2luY2x1ZGVzfSAtTCR7Q01BS0VfQklOQVJZX0RJUn0gLUwke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0pCiAtICBzZXQoUG9wcGxlcl8wXzE4X2dpcl9MSUJTIHBvcHBsZXItZ2xpYikKICsgIHNldChQb3BwbGVyXzBfMThfZ2lyX0xJQlMgcG9wcGxlci1nbGliIHBvcHBsZXIpCiAgICBfbGlzdF9wcmVmaXgoX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzIGludHJvc3BlY3Rpb25fZmlsZXMgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS8iKQogICAgbGlzdChBUFBFTkQgX2Fic19pbnRyb3NwZWN0aW9uX2ZpbGVzCiAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9wb3BwbGVyLWVudW1zLmMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlci9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKaW5kZXggNTI4NTI4YS4uYWI2YmRiMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2gKQEAgLTgsOCArOCw4IEBACiAtLS0gcG9wcGxlci0wLjY0LjAub3JpZy91dGlscy9wZGZzaWcuY2MKICsrKyBwb3BwbGVyLTAuNjQuMC91dGlscy9wZGZzaWcuY2MKIEBAIC0zNSw2ICszNSwxMCBAQAotICNpbmNsdWRlICJXaW4zMkNvbnNvbGUuaCIKICAjaW5jbHVkZSAibnVtYmVyb2ZjaGFyYWN0ZXJzLmgiCisgI2luY2x1ZGUgPGxpYmdlbi5oPgogIAogKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCiArI2RlZmluZSBiYXNlbmFtZShzcmMpIChzdHJyY2hyKHNyYywnLycpID8gc3RycmNocihzcmMsJy8nKSsxIDogc3JjKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjcwLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2MThmMjguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLVNVTU1BUlkgPSAiUG9wcGxlciBpcyBhIFBERiByZW5kZXJpbmcgbGlicmFyeSBiYXNlZCBvbiB0aGUgeHBkZi0zLjAgY29kZSBiYXNlIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgotCi1TUkNfVVJJID0gImh0dHA6Ly9wb3BwbGVyLmZyZWVkZXNrdG9wLm9yZy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtb3ZlcndyaXRlLWFsbC1vdXItYnVpbGQtZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1DYWlyb091dHB1dERldi5jYy1maXgtYnVpbGQtZXJyb3Itd2hlbi11c2luZy1maXhlZHBvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZ2xpYi1DTWFrZUxpc3RzLnR4dC1BZGQtbGlicG9wcGxlci10by1saW5rLWFsb25nLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9iYXNlbmFtZS1pbmNsdWRlLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImZkYjA2OTllOWFhMjBlODFhY2QxYTUwNzAxMzc0YzhiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2OTcyMDQ3ZDllZjgxNjJjYzhjMzg5ZDdlNzY5ODI5MWRmYzlmMmIzZTRlYTlhOWYwOGFlNjA0MTA3NDUxYmQiCi0KLURFUEVORFMgPSAiZm9udGNvbmZpZyB6bGliIGNhaXJvIGxjbXMgZ2xpYi0yLjAiCi0KLWluaGVyaXQgY21ha2UgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1QQUNLQUdFQ09ORklHID8/PSAianBlZyBvcGVuanBlZyBwbmcgdGlmZiBuc3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0JCRklMRV9DT0xMRUNUSU9OUycsICdxdDUtbGF5ZXInLCAncXQ1JywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLURXSVRIX0pQRUc9T04gLURFTkFCTEVfRENUREVDT0RFUj1saWJqcGVnLC1EV0lUSF9KUEVHPU9GRiAtREVOQUJMRV9EQ1RERUNPREVSPW5vbmUsanBlZyIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItRFdJVEhfUE5HPU9OLC1EV0lUSF9QTkc9T0ZGLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLURXSVRIX1RJRkY9T04sLURXSVRIX1RJRkY9T0ZGLHRpZmYiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi1ERU5BQkxFX0xJQkNVUkw9T04sLURFTkFCTEVfTElCQ1VSTD1PRkYsY3VybCIKLVBBQ0tBR0VDT05GSUdbb3BlbmpwZWddID0gIi1ERU5BQkxFX0xJQk9QRU5KUEVHPW9wZW5qcGVnMiwtREVOQUJMRV9MSUJPUEVOSlBFRz1ub25lLG9wZW5qcGVnIgotUEFDS0FHRUNPTkZJR1txdDVdID0gIi1ERU5BQkxFX1FUNT1PTiwtREVOQUJMRV9RVDU9T0ZGLHF0YmFzZSBxdHRvb2xzLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbnNzXSA9ICItRFdJVEhfTlNTMz1PTiwtRFdJVEhfTlNTMz1PRkYsbnNzIgotCi0jIHN1cnByaXNlIC0gZGlkIG5vdCBleHBlY3QgdGhpcyB0byB3b3JrIDopCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3F0NScsICdjbWFrZV9xdDUnLCAnJywgZCl9Ci0KLVNFQ1VSSVRZX0NGTEFHUyA9ICIke1NFQ1VSSVRZX05PX1BJRV9DRkxBR1N9IgotCi1FWFRSQV9PRUNNQUtFICs9ICIgXAotICAgIC1ERU5BQkxFX0NNUz1sY21zMiBcCi0gICAgLURFTkFCTEVfWFBERl9IRUFERVJTPU9OIFwKLSAgICAtREJVSUxEX0dUS19URVNUUz1PRkYgXAotICAgIC1ERU5BQkxFX1pMSUI9T04gXAotICAgIC1EQ01BS0VfQ1hYX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVM6UEFUSD0nJHtTVEFHSU5HX0lOQ0RJUn0nIFwKLSIKLQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLSAgICAjIHBvcHBsZXIgbWFjcm8gdXNlcyBwa2ctY29uZmlnIHRvIGNoZWNrIGZvciBnLWlyIHJ1bnRpbWVzLiBTb21ldGhpbmcKLSAgICAjIG1ha2VzIHRoZW0gcG9pbnQgdG8gL3Vzci9iaW4uIEFsaWduIHRoZW0gdG8gc3lzcm9vdCAtIHRoYXQncyB3aGVyZSB0aGUKLSAgICAjIGdpdC13cmFwcGVycyBhcmU6Ci0gICAgc2VkIC1pICdzOiAke2JpbmRpcn0vZy1pcjogJHtTVEFHSU5HX0JJTkRJUn0vZy1pcjonICR7Qn0vYnVpbGQubmluamEKLX0KLQotIyBjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMKLWRlZiBnZXRfcG9wcGxlcl9mcHVfc2V0dGluZyhiYiwgZCk6Ci0gICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnKSBpbiBbICdzb2Z0JyBdOgotICAgICAgICByZXR1cm4gIi1EVVNFX0ZJWEVEUE9JTlQ9T04iCi0gICAgcmV0dXJuICIiCi0KLUVYVFJBX09FQ01BS0UgKz0gIiR7QGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCi0KLVBBQ0tBR0VTID0rICJsaWJwb3BwbGVyIGxpYnBvcHBsZXItZ2xpYiIKLUZJTEVTX2xpYnBvcHBsZXIgPSAiJHtsaWJkaXJ9L2xpYnBvcHBsZXIuc28uKiIKLUZJTEVTX2xpYnBvcHBsZXItZ2xpYiA9ICIke2xpYmRpcn0vbGlicG9wcGxlci1nbGliLnNvLioiCi0KLVJERVBFTkRTX2xpYnBvcHBsZXIgPSAicG9wcGxlci1kYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcG9wcGxlci9wb3BwbGVyXzAuNzUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcwNGYxYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3BvcHBsZXIvcG9wcGxlcl8wLjc1LjAuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJQb3BwbGVyIGlzIGEgUERGIHJlbmRlcmluZyBsaWJyYXJ5IGJhc2VkIG9uIHRoZSB4cGRmLTMuMCBjb2RlIGJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3BvcHBsZXIuZnJlZWRlc2t0b3Aub3JnLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1vdmVyd3JpdGUtYWxsLW91ci1idWlsZC1mbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUNhaXJvT3V0cHV0RGV2LmNjLWZpeC1idWlsZC1lcnJvci13aGVuLXVzaW5nLWZpeGVkcG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nbGliLUNNYWtlTGlzdHMudHh0LUFkZC1saWJwb3BwbGVyLXRvLWxpbmstYWxvbmctd2l0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Jhc2VuYW1lLWluY2x1ZGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZiNGNhODAzZDk4OTc0MjY5NWNhNTg2YzVjYzQ4OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2JiYWVkYjBmYTI3OTdjYWM5MzNhMDY1OWQxNDQzMDNlNGQwOWVlYzY4OTJjNjU2MDBkYTk4N2Q4NzA3MTk5YSIKKworREVQRU5EUyA9ICJmb250Y29uZmlnIHpsaWIgY2Fpcm8gbGNtcyBnbGliLTIuMCIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK1BBQ0tBR0VDT05GSUcgPz89ICJqcGVnIG9wZW5qcGVnIHBuZyB0aWZmIG5zcyAke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ3F0NS1sYXllcicsICdxdDUnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItRFdJVEhfSlBFRz1PTiAtREVOQUJMRV9EQ1RERUNPREVSPWxpYmpwZWcsLURXSVRIX0pQRUc9T0ZGIC1ERU5BQkxFX0RDVERFQ09ERVI9bm9uZSxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi1EV0lUSF9QTkc9T04sLURXSVRIX1BORz1PRkYsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRFdJVEhfVElGRj1PTiwtRFdJVEhfVElGRj1PRkYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLURFTkFCTEVfTElCQ1VSTD1PTiwtREVOQUJMRV9MSUJDVVJMPU9GRixjdXJsIgorUEFDS0FHRUNPTkZJR1tvcGVuanBlZ10gPSAiLURFTkFCTEVfTElCT1BFTkpQRUc9b3BlbmpwZWcyLC1ERU5BQkxFX0xJQk9QRU5KUEVHPW5vbmUsb3BlbmpwZWciCitQQUNLQUdFQ09ORklHW3F0NV0gPSAiLURFTkFCTEVfUVQ1PU9OLC1ERU5BQkxFX1FUNT1PRkYscXRiYXNlIHF0dG9vbHMtbmF0aXZlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi1EV0lUSF9OU1MzPU9OLC1EV0lUSF9OU1MzPU9GRixuc3MiCisKKyMgc3VycHJpc2UgLSBkaWQgbm90IGV4cGVjdCB0aGlzIHRvIHdvcmsgOikKK2luaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncXQ1JywgJ2NtYWtlX3F0NScsICcnLCBkKX0KKworU0VDVVJJVFlfQ0ZMQUdTID0gIiR7U0VDVVJJVFlfTk9fUElFX0NGTEFHU30iCisKK0VYVFJBX09FQ01BS0UgKz0gIiBcCisgICAgLURFTkFCTEVfQ01TPWxjbXMyIFwKKyAgICAtREVOQUJMRV9VTlNUQUJMRV9BUElfQUJJX0hFQURFUlM9T04gXAorICAgIC1EQlVJTERfR1RLX1RFU1RTPU9GRiBcCisgICAgLURFTkFCTEVfWkxJQj1PTiBcCisgICAgLURDTUFLRV9DWFhfSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUzpQQVRIPScke1NUQUdJTkdfSU5DRElSfScgXAorIgorCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworICAgICMgcG9wcGxlciBtYWNybyB1c2VzIHBrZy1jb25maWcgdG8gY2hlY2sgZm9yIGctaXIgcnVudGltZXMuIFNvbWV0aGluZworICAgICMgbWFrZXMgdGhlbSBwb2ludCB0byAvdXNyL2Jpbi4gQWxpZ24gdGhlbSB0byBzeXNyb290IC0gdGhhdCdzIHdoZXJlIHRoZQorICAgICMgZ2lyLXdyYXBwZXJzIGFyZToKKyAgICBzZWQgLWkgJ3M6ICR7YmluZGlyfS9nLWlyOiAke1NUQUdJTkdfQklORElSfS9nLWlyOicgJHtCfS9idWlsZC5uaW5qYQorfQorCisjIGNoZWNrIGZvciBUQVJHRVRfRlBVPXNvZnQgYW5kIGluZm9ybSBjb25maWd1cmUgb2YgdGhlIHJlc3VsdCBzbyBpdCBjYW4gZGlzYWJsZSBzb21lIGZsb2F0aW5nIHBvaW50cworZGVmIGdldF9wb3BwbGVyX2ZwdV9zZXR0aW5nKGJiLCBkKToKKyAgICBpZiBkLmdldFZhcignVEFSR0VUX0ZQVScpIGluIFsgJ3NvZnQnIF06CisgICAgICAgIHJldHVybiAiLURVU0VfRklYRURQT0lOVD1PTiIKKyAgICByZXR1cm4gIiIKKworRVhUUkFfT0VDTUFLRSArPSAiJHtAZ2V0X3BvcHBsZXJfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworUEFDS0FHRVMgPSsgImxpYnBvcHBsZXIgbGlicG9wcGxlci1nbGliIgorRklMRVNfbGlicG9wcGxlciA9ICIke2xpYmRpcn0vbGlicG9wcGxlci5zby4qIgorRklMRVNfbGlicG9wcGxlci1nbGliID0gIiR7bGliZGlyfS9saWJwb3BwbGVyLWdsaWIuc28uKiIKKworUkRFUEVORFNfbGlicG9wcGxlciA9ICJwb3BwbGVyLWRhdGEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjUuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNkZDY3Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXJtaW5hbC1iYXNlZCB0b29sIGZvciBtb25pdG9yaW5nIHRoZSBwcm9ncmVzcyBvZiBkYXRhIHRocm91Z2ggYSBwaXBlbGluZSIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvQ09QWUlORzttZDU9OWM1MGRiMjU4OWVlM2VmMTBhOWI3YjJlNTBjZTFkMDIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5pdmFyY2guY29tL3Byb2dyYW1zL3NvdXJjZXMvcHYtJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlZmU4ZTllNGNhZDVmMzI2NGEzMjI1OGE2M2JmMmM4ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NmYzOTk5YjFjM2IzMDI3MTYzZGNlNmVmNjY3Y2RmOGRhZmI3NTIxOGVlMjVlNTRhMDNiZmU1OTA0NzhmOTBlIgotCi1pbmhlcml0IGF1dG90b29scwotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3B2L3B2XzEuNi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDk1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9wdi9wdl8xLjYuNi5iYgpAQCAtMCwwICsxLDEzIEBACitTVU1NQVJZID0gIlRlcm1pbmFsLWJhc2VkIHRvb2wgZm9yIG1vbml0b3JpbmcgdGhlIHByb2dyZXNzIG9mIGRhdGEgdGhyb3VnaCBhIHBpcGVsaW5lIgorCitMSUNFTlNFID0gIkFydGlzdGljLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvYy9DT1BZSU5HO21kNT05YzUwZGIyNTg5ZWUzZWYxMGE5YjdiMmU1MGNlMWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lml2YXJjaC5jb20vcHJvZ3JhbXMvc291cmNlcy8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZmMzU2NGZkZGNjMmI5YmQ0YTljMWQxNDNhYmE0YjRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwOGVmOTM1ZjdhMzc3ZTE0MzljMTgxYzRmYzE4OGQyNDdkYTEwZDUxYTE5ZWY3OWJjZGVlNTA0M2IwOTczZjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0xERU1VTEFUSU9OX21pcHNhcmNobjMyID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2JpZ2VuZGlhbicsICdlbGYzMmJ0c21pcG4zMicsICdlbGYzMmx0c21pcG4zMicsIGQpfSIKK2V4cG9ydCBMREVNVUxBVElPTgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLURvLW5vdC1pbnN0YWxsLWxpY2Vuc2UtZmlsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTliOTQ3NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorRG8gbm90IGluc3RhbGwgbGljZW5zZSBmaWxlCisKK0ZpbGUgbmFtZSBpcyBpbmNvcnJlY3QgYXMgd2VsbDsgbXVzdCBiZSBMSUNFTlNFIGluc3RlYWQgb2YgQ09QWUlORy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW3B5cm9waG9iaWNtYW5AZ21haWwuY29tXQorCitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+CisKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEzLDUgKzEzLDUgQEAKKyBhZGRfc3ViZGlyZWN0b3J5IChwYXJzZS1lZGlkKQorIAorIElOU1RBTEwoRklMRVMgZ2V0LWVkaWQuMSBERVNUSU5BVElPTiBzaGFyZS9tYW4vbWFuMSkKKy1JTlNUQUxMKEZJTEVTIEFVVEhPUlMgQ2hhbmdlTG9nIENPUFlJTkcgUkVBRE1FIERFU1RJTkFUSU9OCisrSU5TVEFMTChGSUxFUyBBVVRIT1JTIENoYW5nZUxvZyBSRUFETUUgREVTVElOQVRJT04KKyAJc2hhcmUvZG9jL3JlYWQtZWRpZCkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3JlYWQtZWRpZC9yZWFkLWVkaWQvMDAwMS1jb25maWd1cmUtcmVtb3ZlLWNoZWNrLWZvci14ODYuaC13ZS1kb24tdC1idWlsZC1nZXQtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ0MDgwMDIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZC8wMDAxLWNvbmZpZ3VyZS1yZW1vdmUtY2hlY2stZm9yLXg4Ni5oLXdlLWRvbi10LWJ1aWxkLWdldC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGViNzU5MGNjMmNkZDVjMzU0MDNhZjQ1NjdkODUyNGUwMTcwMTBmMWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgotRGF0ZTogU2F0LCAxMSBNYXkgMjAxMyAwNzo1ODoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBjb25maWd1cmU6IHJlbW92ZSBjaGVjayBmb3IgeDg2LmgsIHdlIGRvbid0IGJ1aWxkIGdldC1lZGlkCi0KLVNpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+Ci0KLVVwc3RyZWFtLXN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUuaW4gfCAyIC0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IGFjODVhMjEuLmY1M2U5MDQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTgsOCArOCw2IEBAIGRubCBDaGVja3MgZm9yIHByb2dyYW1zCi0gCi0gQUNfUFJPR19DQwotIAotLUFDX0NIRUNLX0hFQURFUihbbGlieDg2LmhdLCBbXSwgW0FDX01TR19FUlJPUihbbGlieDg2Lmggbm90IGZvdW5kXSldKQotLQotIGRubCBTaW1wbGUsIGh1aD8KLSAKLSBBQ19PVVRQVVQoW01ha2VmaWxlXSkKLS0tIAotMS44LjEuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8yLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjAwMjkwNi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAicmVhZC1lZGlkIGVsdWNpZGF0ZXMgdmFyaW91cyB2ZXJ5IHVzZWZ1bCBpbmZvcm1hdGlvbnMgZnJvbSBhIGNvbmZvcm1pbmcgUG5QIG1vbml0b3IiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDBiZjcwZmExZWY4MWZlNDc0MWVjMGU2MjMxZGFkZmQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3BvbHlwdXgub3JnL3Byb2plY3RzL3JlYWQtZWRpZC9yZWFkLWVkaWQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLXJlbW92ZS1jaGVjay1mb3IteDg2Lmgtd2UtZG9uLXQtYnVpbGQtZ2V0LS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4NmU3ZmExMTY3NzczYjI3ZjRlNTA1ZWRjOTMyNzRiIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0NmVjMTRlYzUwOWUwOWFjMjZmZTY4NjJiMTIwNDgxYjJjYzg4MWUyZjE0MmJhNDA4ODZkNmVlYzE1ZTc3ZTgiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLWRvX2NvbXBpbGUoKSB7Ci0gICAgb2VfcnVubWFrZSBwYXJzZS1lZGlkCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHBhcnNlLWVkaWQgJHtEfSR7YmluZGlyfQotfQotCi1QQUNLQUdFUyA9KyAicGFyc2UtZWRpZCIKLUZJTEVTX3BhcnNlLWVkaWQgPSAiJHtiaW5kaXJ9L3BhcnNlLWVkaWQiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9yZWFkLWVkaWQvcmVhZC1lZGlkXzMuMC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGMyY2FkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvcmVhZC1lZGlkL3JlYWQtZWRpZF8zLjAuMi5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIkEgcGFpciBvZiB0b29scyBmb3IgcmVhZGluZyB0aGUgRURJRCBmcm9tIGEgbW9uaXRvciIKK0RFU0NSSVBUSU9OID0gInJlYWQtZWRpZCBpcyBhIHNldCBvZiB0d28gdG9vbHMgLSBnZXQtZWRpZCwgd2hpY2ggZ2V0cyB0aGUgcmF3IFwKKyAgICAgICAgICAgICAgIEVESUQgaW5mb3JtYXRpb24gZnJvbSB0aGUgbW9uaXRvciwgYW5kIHBhcnNlLWVkaWQsIHdoaWNoIHR1cm5zIFwKKwkgICAgICAgdGhlIHJhdyBiaW5hcnkgaW5mb3JtYXRpb24gaW50byBhIHhvcmcuY29uZi1jb21wYXRpYmxlIG1vbml0b3IgXAorCSAgICAgICBzZWN0aW9uLiIKK0FVVEhPUiA9ICJTdGVmYW4gV2llaGxlciA8c3RlZmFuLndpZWhsZXJAbWlzc2luZ2xpbmtlbGVjdHJvbmljcy5jb20+IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wb2x5cHV4Lm9yZy9wcm9qZWN0cy9yZWFkLWVkaWQvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJyZWFkLWVkaWQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yOTJjNDJlMmFlZGM0YWY2MzY2MzZiZjdhZjBlMmIyNiIKKworU1JDX1VSSSA9ICJodHRwOi8vcG9seXB1eC5vcmcvcHJvamVjdHMvcmVhZC1lZGlkL3JlYWQtZWRpZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaW5zdGFsbC1saWNlbnNlLWZpbGUucGF0Y2ggXAorCSAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMTY1NDZlNDM4YmY2Yzk4NzM5ZmY3NDA2MWRmOTg1NCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjN2M2ZDg0NDBmNWI5MGY5OGUyNzY4MjkyNzFjY2VhNWIyZmY1YTM0MTNkZjhhMGY4N2VjMDlmODM0YWYxODZmIgorCitFWFRSQV9PRUNNQUtFID0gIi1EQ0xBU1NJQ0JVSUxEPU9GRiIKKworaW5oZXJpdCBjbWFrZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9saWJzYXNzX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyMjljZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3MvbGlic2Fzc19naXQuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJDL0MrKyBwb3J0IG9mIHRoZSBTYXNzIENTUyBwcmVjb21waWxlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9zYXNzLWxhbmcuY29tL2xpYnNhc3MiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmMzQzOTZjYTIwNWY1ZTExOWVlNzdhYWU5MWZhMjdkIgorCitpbmhlcml0IGF1dG90b29scworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzLmdpdDticmFuY2g9My41LXN0YWJsZSIKK1NSQ1JFViA9ICIzOWUzMDg3NGI5YTVkZDZhODAyYzIwZThiMDQ3MGJhNDRlZWJhOTI5IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS41IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2Fzcy9zYXNzY19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0YzBjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Nhc3Mvc2Fzc2NfZ2l0LmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAibGlic2FzcyBjb21tYW5kIGxpbmUgZHJpdmVyICIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MmY4YTc2OTgwNDExYTNmMWYxNDgwYjE0MWNlMDY3NDQiCisKK0RFUEVORFMgPSAibGlic2FzcyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zYXNzL3Nhc3NjLmdpdCIKK1NSQ1JFViA9ICJhYTZkNWM2MzVlYThmYWY0NGQ1NDJhMjNhYWY4NWQyN2U1Nzc3ZDQ4IgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWID0gIjMuNS4wIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDliZWEyLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJTYXR5ciBpcyBhIGNvbGxlY3Rpb24gb2YgbG93LWxldmVsIGFsZ29yaXRobXMgZm9yIHByb2dyYW0gXAotZmFpbHVyZSBwcm9jZXNzaW5nLCBhbmFseXNpcywgYW5kIHJlcG9ydGluZyBzdXBwb3J0aW5nIGtlcm5lbCBzcGFjZSwgdXNlciBcCi1zcGFjZSwgUHl0aG9uLCBhbmQgSmF2YSBwcm9ncmFtcyIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FicnQvc2F0eXIiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHl0aG9uM25hdGl2ZSBwa2djb25maWcKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FicnQvc2F0eXIuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItZml4LWNvbXBpbGUtZmFpbHVyZS1hZ2FpbnN0LW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0YmFhMGM3NjUwNzEwNTQzMTRkMWU3ZTc4NTQ3Y2U2YjdjMTMzZmJjIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLURFUEVORFMgKz0gIiBcCi0gICAgZ2RiIFwKLSIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtJHtQTn0iCi1GSUxFU19weXRob24zLSR7UE59ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyR7QlBOfSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMgcnBtIgotUEFDS0FHRUNPTkZJR1tweXRob24yXSA9ICItLXdpdGgtcHl0aG9uMiwgLS13aXRob3V0LXB5dGhvbjIsLHB5dGhvbjIiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob24zLCAtLXdpdGhvdXQtcHl0aG9uMywscHl0aG9uMyIKLVBBQ0tBR0VDT05GSUdbcnBtXSA9ICItLXdpdGgtcnBtLCAtLXdpdGhvdXQtcnBtLCBycG0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICR7U30vZ2VuLXZlcnNpb24KLX0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NhdHlyL3NhdHlyXzAuMjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwZGZjMmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zYXR5ci9zYXR5cl8wLjI3LmJiCkBAIC0wLDAgKzEsMzIgQEAKK0RFU0NSSVBUSU9OID0gIlNhdHlyIGlzIGEgY29sbGVjdGlvbiBvZiBsb3ctbGV2ZWwgYWxnb3JpdGhtcyBmb3IgcHJvZ3JhbSBcCitmYWlsdXJlIHByb2Nlc3NpbmcsIGFuYWx5c2lzLCBhbmQgcmVwb3J0aW5nIHN1cHBvcnRpbmcga2VybmVsIHNwYWNlLCB1c2VyIFwKK3NwYWNlLCBQeXRob24sIGFuZCBKYXZhIHByb2dyYW1zIgorCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYWJydC9zYXR5ciIKK0xJQ0VOU0UgPSAiR1BMdjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBweXRob24zbmF0aXZlIHBrZ2NvbmZpZworCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJydC9zYXR5ci5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1maXgtY29tcGlsZS1mYWlsdXJlLWFnYWluc3QtbXVzbC1DLWxpYnJhcnkucGF0Y2ggXAorIgorU1JDUkVWID0gImRmZjFiODc3ZDQyYmYyMTUzZjhmMDkwOTA1ZDljYzhmYjMzM2JmMWUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKKworREVQRU5EUyArPSAiIFwKKyAgICBnZGIgXAorIgorCitQQUNLQUdFUyArPSAicHl0aG9uMy0ke1BOfSIKK0ZJTEVTX3B5dGhvbjMtJHtQTn0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vJHtCUE59IgorCitQQUNLQUdFQ09ORklHID8/PSAicHl0aG9uMyBycG0iCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLCAtLXdpdGhvdXQtcHl0aG9uMiwscHl0aG9uMiIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMsIC0td2l0aG91dC1weXRob24zLCxweXRob24zIgorUEFDS0FHRUNPTkZJR1tycG1dID0gIi0td2l0aC1ycG0sIC0td2l0aG91dC1ycG0sIHJwbSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgJHtTfS9nZW4tdmVyc2lvbgorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlscy9nbGliYy0yLjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYmFkNDEzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHMvZ2xpYmMtMi4yOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLUZpeGVzOgotaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzE4NTg5Ni8KLQotVE9QRElSL3RtcC1nbGliYy93b3JrL2NvcmUyLTY0LW9lLWxpbnV4L3NnMy11dGlscy8xLjQyLXIwL3JlY2lwZS1zeXNyb290LW5hdGl2ZS91c3IvYmluL3g4Nl82NC1vZS1saW51eC8uLi8uLi9saWJleGVjL3g4Nl82NC1vZS1saW51eC9nY2MveDg2XzY0LW9lLWxpbnV4LzguMi4wL2xkOiBzZ19tYXAyNi5vOiBpbiBmdW5jdGlvbiBgbmRfbWF0Y2hfc2NhbmRpcl9zZWxlY3QnOgotL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzU5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWpvcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogL3Vzci9zcmMvZGVidWcvc2czLXV0aWxzLzEuNDItcjAvc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmM6MzYxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtaW5vcicKLVRPUERJUi90bXAtZ2xpYmMvd29yay9jb3JlMi02NC1vZS1saW51eC9zZzMtdXRpbHMvMS40Mi1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi94ODZfNjQtb2UtbGludXgvLi4vLi4vbGliZXhlYy94ODZfNjQtb2UtbGludXgvZ2NjL3g4Nl82NC1vZS1saW51eC84LjIuMC9sZDogc2dfbWFwMjYubzogaW4gZnVuY3Rpb24gYG50X3R5cF9mcm9tX2ZpbGVuYW1lJzoKLS91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWFqb3InCi1UT1BESVIvdG1wLWdsaWJjL3dvcmsvY29yZTItNjQtb2UtbGludXgvc2czLXV0aWxzLzEuNDItcjAvcmVjaXBlLXN5c3Jvb3QtbmF0aXZlL3Vzci9iaW4veDg2XzY0LW9lLWxpbnV4Ly4uLy4uL2xpYmV4ZWMveDg2XzY0LW9lLWxpbnV4L2djYy94ODZfNjQtb2UtbGludXgvOC4yLjAvbGQ6IC91c3Ivc3JjL2RlYnVnL3NnMy11dGlscy8xLjQyLXIwL3NnM191dGlscy0xLjQyL3NyYy9zZ19tYXAyNi5jOjIxOTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbWlub3InCi1jb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKLU1ha2VmaWxlOjgwNjogcmVjaXBlIGZvciB0YXJnZXQgJ3NnX21hcDI2JyBmYWlsZWQKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLSBzZzNfdXRpbHMtMS40Mi5vcmlnL3NyYy9zZ19tYXAyNi5jCTIwMTgtMDgtMDkgMTE6NTM6MjYuOTA3NDkzOTk2ICswMDAwCi0rKysgc2czX3V0aWxzLTEuNDIvc3JjL3NnX21hcDI2LmMJMjAxOC0wOC0wOSAxMTo1MTo1Ni43MTM0OTA3NjMgKzAwMDAKLUBAIC0zMyw2ICszMyw3IEBACi0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgotIAotICNpZmRlZiBIQVZFX0NPTkZJR19ICmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zZzMtdXRpbHMvc2czLXV0aWxzXzEuNDIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzN2M1ZTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJVdGlsaXRpZXMgZm9yIHdvcmtpbmcgd2l0aCBnZW5lcmljIFNDU0kgZGV2aWNlcyIKLQotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGxvdyBsZXZlbCB1dGlsaXRpZXMgZm9yIGRldmljZXMgdGhhdCB1c2UgdGhlIFNDU0kgY29tbWFuZCBzZXQiCi0KLUhPTUVQQUdFID0gImh0dHA6Ly9zZy5kYW5ueS5jei9zZy9zZzNfdXRpbHMuaHRtbCIKLVNFQ1RJT04gPSAiY29uc29sZS9hZG1pbiIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mOTBkYTdmYzUyMTcyNTk5ZGJmMDgyZDc2MjBmMThjYSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcC9zZzNfdXRpbHMtJHtQVn0udGd6IFwKLSAgICBmaWxlOi8vZ2xpYmMtMi4yOC5wYXRjaCBcCi0iCi1NSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI4MDgwZGU1YmYyMjIyZjhiNTVhMjkwOTNiZWM4YWVhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkY2I3YTAzMDliZDBiYTNkNGE4M2FjYjUyNjk3M2I4MDEwNmVlMjZjZDlmNzM5ODE4NmNkM2YwNjMzYzllZjMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1TID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgotCi1SREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NnMy11dGlscy9zZzMtdXRpbHNfMS40NC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTA5MDM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2czLXV0aWxzL3NnMy11dGlsc18xLjQ0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggZ2VuZXJpYyBTQ1NJIGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBjb250YWlucyBsb3cgbGV2ZWwgdXRpbGl0aWVzIGZvciBkZXZpY2VzIHRoYXQgdXNlIHRoZSBTQ1NJIGNvbW1hbmQgc2V0IgorCitIT01FUEFHRSA9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvc2czX3V0aWxzLmh0bWwiCitTRUNUSU9OID0gImNvbnNvbGUvYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjkwZGE3ZmM1MjE3MjU5OWRiZjA4MmQ3NjIwZjE4Y2EiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NnLmRhbm55LmN6L3NnL3Avc2czX3V0aWxzLSR7UFZ9LnRneiBcCisiCitNSVJST1JTICs9ICJodHRwOi8vc2cuZGFubnkuY3ovc2cvcCBodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInNnM191dGlscy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImMxMWQyYjNjYTRjYzJmZDAxNzk2NDczZTUzMzBhZmVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkYWU2ODRkMjJlNzFiMTEzNTNhNDhiMTZjOTU1OTdhZjkwZjBjYmU5YmJkNTdmOThkN2Y1NTQ0ZGE1Y2FlN2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitTID0gIiR7V09SS0RJUn0vc2czX3V0aWxzLSR7UFZ9IgorCitSREVQRU5EU18ke1BOfSArPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NoYXJ1dGlscy9zaGFydXRpbHNfNC4xNS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKaW5kZXggYzEyMjg5Yi4uZGNhNDI2NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc2hhcnV0aWxzL3NoYXJ1dGlsc180LjE1LjIuYmIKQEAgLTIwLDMgKzIwLDUgQEAKICAgICAgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfSR7bGliZGlyfQogICAgIGZpCiB9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3NwZGxvZy9zcGRsb2dfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxZTNmNjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zcGRsb2cvc3BkbG9nXzEuMy4xLmJiCkBAIC0wLDAgKzEsMTkgQEAKK0RFU0NSSVBUSU9OID0gIlZlcnkgZmFzdCwgaGVhZGVyIG9ubHksIEMrKyBsb2dnaW5nIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2dhYmltZS9zcGRsb2cvd2lraSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvTUlUO21kNT0wODM1YWRlNjk4ZTBiY2Y4NTA2ZWNkYTJmN2I0ZjMwMiIKKworU1JDUkVWID0gImE3MTQ4YjcxOGVhMmZhYmI4Mzg3Y2I5MGFlZTliZjQ0OGRhNjNlNjUiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZ2FiaW1lL3NwZGxvZy5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD12MS54OyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisjIG5vIG5lZWQgdG8gYnVpbGQgZXhhbXBsZSZ0ZXh0JmJlbmNobWFya3Mgb24gcHVyZSB5b2N0bworRVhUUkFfT0VDTUFLRSArPSAiLURTUERMT0dfSU5TVEFMTD1vbiAtRFNQRExPR19CVUlMRF9FWEFNUExFUz1vZmYgLURTUERMT0dfQlVJTERfVEVTVFM9b2ZmIC1EU1BETE9HX0JVSUxEX0JFTkNIPW9mZiIKKworaW5oZXJpdCBjbWFrZQorCisjIEhlYWRlci1vbmx5IGxpYnJhcnkKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtQWRkLWxpbnV4LW11c2xlYWJpLXRvLW9zdGFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2OTQ0MWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMS1BZGQtbGludXgtbXVzbGVhYmktdG8tb3N0YWJsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gMDg3ODQwZWZkYmM4NmIxNDMyZWJkZDgxZjI1YjRjYjc4Yzc1ZjgxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDExIFNlcCAyMDE4IDEyOjI4OjEwIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsaW51eC1tdXNsZWFiaSB0byBvc3RhYmxlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIG9zdGFibGUgICAgICB8IDEgKwotIHRyaXBsZXR0YWJsZSB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9vc3RhYmxlIGIvb3N0YWJsZQotaW5kZXggM2JiNjgxOS4uZDBmZmRjNyAxMDA2NDQKLS0tLSBhL29zdGFibGUKLSsrKyBiL29zdGFibGUKLUBAIC0xNSw2ICsxNSw3IEBACi0gdWNsaWJjZWFiaS1saW51eAlsaW51eC11Y2xpYmNlYWJpCWxpbnV4W14tXSotdWNsaWJjZWFiaQotIHVjbGliYy1saW51eAkJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYwotIG11c2xlYWJpaGYtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKLSttdXNsZWFiaS1saW51eAkJbGludXgtbXVzbGVhYmkJCWxpbnV4W14tXSotbXVzbGVhYmkKLSBtdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKLSBnbnVlYWJpaGYtbGludXgJCWxpbnV4LWdudWVhYmloZgkJbGludXhbXi1dKi1nbnVlYWJpaGYKLSBnbnVlYWJpLWxpbnV4CQlsaW51eC1nbnVlYWJpCQlsaW51eFteLV0qLWdudWVhYmkKLWRpZmYgLS1naXQgYS90cmlwbGV0dGFibGUgYi90cmlwbGV0dGFibGUKLWluZGV4IDcyNTc3NDQuLjQ1ODY0YzMgMTAwNjQ0Ci0tLS0gYS90cmlwbGV0dGFibGUKLSsrKyBiL3RyaXBsZXR0YWJsZQotQEAgLTYsNiArNiw3IEBACi0gdWNsaWJjZWFiaS1saW51eC1hcm0JdWNsaWJjLWxpbnV4LWFybWVsCi0gdWNsaWJjLWxpbnV4LTxjcHU+CXVjbGliYy1saW51eC08Y3B1PgotIG11c2xlYWJpaGYtbGludXgtYXJtCW11c2wtbGludXgtYXJtaGYKLSttdXNsZWFiaS1saW51eC1hcm0JbXVzbC1saW51eC1hcm0KLSBtdXNsLWxpbnV4LTxjcHU+CW11c2wtbGludXgtPGNwdT4KLSBnbnVlYWJpaGYtbGludXgtYXJtCWFybWhmCi0gZ251ZWFiaS1saW51eC1hcm0JYXJtZWwKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZTY4OTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAxLWRwa2ctU3VwcG9ydC1tdXNseDMyLWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gYTMyOGM4YmVjMGJmODA3MWFlOGYyMGZlZTRjNzQ3NTIwNTA2NGJhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorRGF0ZTogU3VuLCAxMCBTZXAgMjAxNyAwMDoxNDoxNSAtMDcwMAorU3ViamVjdDogW1BBVENIXSBkcGtnOiBTdXBwb3J0IG11c2x4MzIgYnVpbGQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nLgorQ2hhbmdlcyBtYWRlIG9uIG9zdGFibGUgYW5kIHR1cGxldGFibGUgdG8gZW5hYmxlIG11c2x4MzIgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IHN3ZWVhdW4gPHN3ZWUuYXVuLmtob3JAaW50ZWwuY29tPgorLS0tCisgZGF0YS9vc3RhYmxlICAgIHwgMSArCisgZGF0YS90dXBsZXRhYmxlIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2RhdGEvb3N0YWJsZSBiL2RhdGEvb3N0YWJsZQoraW5kZXggYmU2NDM0Mi4uODdkYjI3MyAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTksNiArMTksNyBAQCBiYXNlLXVjbGliYy1saW51eAlsaW51eC11Y2xpYmMJCWxpbnV4W14tXSotdWNsaWJjCisgZWFiaWhmLW11c2wtbGludXgJbGludXgtbXVzbGVhYmloZglsaW51eFteLV0qLW11c2xlYWJpaGYKKyBlYWJpLW11c2wtbGludXgJCWxpbnV4LW11c2xlYWJpCQlsaW51eFteLV0qLW11c2xlYWJpCisgYmFzZS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsCQlsaW51eFteLV0qLW11c2wKKyt4MzItbXVzbC1saW51eAkJbGludXgtbXVzbHgzMgkJbGludXhbXi1dKi1tdXNseDMyCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorIGFiaW4zMi1nbnUtbGludXgJbGludXgtZ251YWJpbjMyCQlsaW51eFteLV0qLWdudWFiaW4zMgorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggMjhmMDBiZi4uNzQ4ZmZhYiAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTAsNiArMTAsNyBAQCBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisgZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorK3gzMi1tdXNsLWxpbnV4LWFtZDY0CQl4MzIKKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDItQWRhcHQtdG8tbGludXgtd3JzLWtlcm5lbC12ZXJzaW9uLXdoaWNoLWhhcy1jaGFyYWN0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmUwY2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gYjRlYTU0MTU4YzM5OTg3NGUxMjM5NGViYzkxYWZlOTg5NTQ2OTVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoxNjoxNiArMDMwMAorU3ViamVjdDogW1BBVENIIDIvNV0gQWRhcHQgdG8gbGludXgtd3JzIGtlcm5lbCB2ZXJzaW9uLCB3aGljaCBoYXMgY2hhcmFjdGVyCisgJ18nIGluc2lkZS4gUmVtb3ZlIHRoZSBmaXJzdC1jaGFyLWRpZ2l0LWNoZWNrIChhcyB0aGUgMS4xNS44LjUgdmVyc2lvbiBkb2VzKS4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENvbnN0YW50aW4gTXVzY2EgPGNvbnN0YW50aW54Lm11c2NhQGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGxpYi9kcGtnL3BhcnNlaGVscC5jIHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliL2Rwa2cvcGFyc2VoZWxwLmMgYi9saWIvZHBrZy9wYXJzZWhlbHAuYworaW5kZXggNDUzMDc3ZmQ5Li5mNDJlYTI4ODIgMTAwNjQ0CistLS0gYS9saWIvZHBrZy9wYXJzZWhlbHAuYworKysrIGIvbGliL2Rwa2cvcGFyc2VoZWxwLmMKK0BAIC0yNDMsMTQgKzI0MywxMiBAQCBwYXJzZXZlcnNpb24oc3RydWN0IGRwa2dfdmVyc2lvbiAqcnZlcnNpb24sIGNvbnN0IGNoYXIgKnN0cmluZywKKyAgIHB0ciA9IHJ2ZXJzaW9uLT52ZXJzaW9uOworICAgaWYgKCEqcHRyKQorICAgICByZXR1cm4gZHBrZ19wdXRfZXJyb3IoZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBpcyBlbXB0eSIpKTsKKy0gIGlmICgqcHRyICYmICFjX2lzZGlnaXQoKnB0cisrKSkKKy0gICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJ2ZXJzaW9uIG51bWJlciBkb2VzIG5vdCBzdGFydCB3aXRoIGRpZ2l0IikpOworICAgZm9yICg7ICpwdHI7IHB0cisrKSB7CistICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+OiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+Ol8iLCAqcHRyKSA9PSBOVUxMKQorICAgICAgIHJldHVybiBkcGtnX3B1dF93YXJuKGVyciwgXygiaW52YWxpZCBjaGFyYWN0ZXIgaW4gdmVyc2lvbiBudW1iZXIiKSk7CisgICB9CisgICBmb3IgKHB0ciA9IHJ2ZXJzaW9uLT5yZXZpc2lvbjsgKnB0cjsgcHRyKyspIHsKKy0gICAgaWYgKCFjX2lzZGlnaXQoKnB0cikgJiYgIWNfaXNhbHBoYSgqcHRyKSAmJiBzdHJjaHIoIi4rfiIsICpwdHIpID09IE5VTEwpCisrICAgIGlmICghY19pc2RpZ2l0KCpwdHIpICYmICFjX2lzYWxwaGEoKnB0cikgJiYgc3RyY2hyKCIuLSt+XyIsICpwdHIpID09IE5VTEwpCisgICAgICAgcmV0dXJuIGRwa2dfcHV0X3dhcm4oZXJyLCBfKCJpbnZhbGlkIGNoYXJhY3RlciBpbiByZXZpc2lvbiBudW1iZXIiKSk7CisgICB9CisgCisKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNkODcwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMCwwICsxLDc1IEBACitGcm9tIDI0MjI5OTcxNDkyNTE1YjY0YzgxZThjNjM5MmU1ZGZiZGMyMmI0NGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6MjU6NDUgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIE91ciBwcmUvcG9zdGluc3RzIGV4cGVjdCAkRCB0byBiZSBzZXQgd2hlbiBydW5uaW5nIGluIGEKKyBzeXNyb290IGFuZCBkb24ndCBleHBlY3QgYSBjaHJvb3QuIFRoaXMgbWF0Y2hlcyB1cCBvdXIgc3lzdGVtIGV4cGVjdGF0aW9ucworIHdpdGggd2hhdCBkcGtnIGRvZXMuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgU3BlY2lmaWNdCisKK1JQIDIwMTEvMTIvMDcKK0FMSU1PTiAyMDE2LzA1LzI2CitBTElNT04gMjAxNy8wMi8yMQorLS0tCisgc3JjL3NjcmlwdC5jIHwgNDQgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9zY3JpcHQuYyBiL3NyYy9zY3JpcHQuYworaW5kZXggMmYyNTJhZS4uNzY4YTlkMSAxMDA2NDQKKy0tLSBhL3NyYy9zY3JpcHQuYworKysrIGIvc3JjL3NjcmlwdC5jCitAQCAtOTcsNDggKzk3LDEwIEBAIHNldGV4ZWN1dGUoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKnN0YWIpCisgc3RhdGljIGNvbnN0IGNoYXIgKgorIG1haW50c2NyaXB0X3ByZV9leGVjKHN0cnVjdCBjb21tYW5kICpjbWQpCisgeworLQljb25zdCBjaGFyICphZG1pbmRpciA9IGRwa2dfZGJfZ2V0X2RpcigpOworLQljb25zdCBjaGFyICpjaGFuZ2VkaXI7CistCXNpemVfdCBpbnN0ZGlybGVuID0gc3RybGVuKGluc3RkaXIpOworLQorLQlpZiAoaW5zdGRpcmxlbiA+IDAgJiYgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQljaGFuZ2VkaXIgPSBpbnN0ZGlyOworLQllbHNlCistCQljaGFuZ2VkaXIgPSAiLyI7CistCistCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQorLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCistCQkJb2hzaGl0ZShfKCJ1bmFibGUgdG8gc2V0ZW52IGZvciBzdWJwcm9jZXNzZXMiKSk7CistCQlpZiAoc2V0ZW52KCJEUEtHX1JPT1QiLCAiIiwgMSkgPCAwKQorLQkJCW9oc2hpdGUoXygidW5hYmxlIHRvIHNldGVudiBmb3Igc3VicHJvY2Vzc2VzIikpOworLQorLQkJaWYgKGNocm9vdChpbnN0ZGlyKSkKKy0JCQlvaHNoaXRlKF8oImZhaWxlZCB0byBjaHJvb3QgdG8gJyUuMjUwcyciKSwgaW5zdGRpcik7CisrCWlmICgqaW5zdGRpcikgeworKwkJc2V0ZW52KCJEIiwgaW5zdGRpciwgMSk7CisgCX0KKy0JLyogU3dpdGNoIHRvIGEga25vd24gZ29vZCBkaXJlY3RvcnkgdG8gZ2l2ZSB0aGUgbWFpbnRhaW5lciBzY3JpcHQKKy0JICogYSBzYW5lciBlbnZpcm9ubWVudCwgYWxzbyBuZWVkZWQgYWZ0ZXIgdGhlIGNocm9vdCgpLiAqLworLQlpZiAoY2hkaXIoY2hhbmdlZGlyKSkKKy0JCW9oc2hpdGUoXygiZmFpbGVkIHRvIGNoZGlyIHRvICclLjI1NXMnIiksIGNoYW5nZWRpcik7CistCWlmIChkZWJ1Z19oYXNfZmxhZyhkYmdfc2NyaXB0cykpIHsKKy0JCXN0cnVjdCB2YXJidWYgYXJncyA9IFZBUkJVRl9JTklUOworLQkJY29uc3QgY2hhciAqKmFyZ3YgPSBjbWQtPmFyZ3Y7CistCistCQl3aGlsZSAoKisrYXJndikgeworLQkJCXZhcmJ1Zl9hZGRfY2hhcigmYXJncywgJyAnKTsKKy0JCQl2YXJidWZfYWRkX3N0cigmYXJncywgKmFyZ3YpOworLQkJfQorLQkJdmFyYnVmX2VuZF9zdHIoJmFyZ3MpOworLQkJZGVidWcoZGJnX3NjcmlwdHMsICJmb3JrL2V4ZWMgJXMgKCVzICkiLCBjbWQtPmZpbGVuYW1lLAorLQkJICAgICAgYXJncy5idWYpOworLQkJdmFyYnVmX2Rlc3Ryb3koJmFyZ3MpOworLQl9CistCWlmIChpbnN0ZGlybGVuID09IDAgfHwgZmNfc2NyaXB0X2Nocm9vdGxlc3MpCistCQlyZXR1cm4gY21kLT5maWxlbmFtZTsKKy0KKy0JYXNzZXJ0KHN0cmxlbihjbWQtPmZpbGVuYW1lKSA+PSBpbnN0ZGlybGVuKTsKKy0JcmV0dXJuIGNtZC0+ZmlsZW5hbWUgKyBpbnN0ZGlybGVuOworKwlyZXR1cm4gY21kLT5maWxlbmFtZTsKKyB9CisgCisgLyoqCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NmM4NWM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gYWRiNmJmZDBmZWVjZWFmMDMwZGYwZGViZTMzNDNkN2Y3M2U3MDhhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyNiBBdWcgMjAxNSAxNjoyNzo0NSArMDMwMAorU3ViamVjdDogW1BBVENIIDQvNV0gVGhlIGx1dGltZXMgZnVuY3Rpb24gZG9lc24ndCB3b3JrIHByb3Blcmx5IGZvciBhbGwKKyBzeXN0ZW1zLgorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBzcmMvYXJjaGl2ZXMuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYworaW5kZXggYmZmNWYxNC4uYjcxMTAxMyAxMDA2NDQKKy0tLSBhL3NyYy9hcmNoaXZlcy5jCisrKysgYi9zcmMvYXJjaGl2ZXMuYworQEAgLTQ0OSw4ICs0NDksOSBAQCB0YXJvYmplY3Rfc2V0X210aW1lKHN0cnVjdCB0YXJfZW50cnkgKnRlLCBjb25zdCBjaGFyICpwYXRoKQorIAorICAgaWYgKHRlLT50eXBlID09IFRBUl9GSUxFVFlQRV9TWU1MSU5LKSB7CisgI2lmZGVmIEhBVkVfTFVUSU1FUworLSAgICBpZiAobHV0aW1lcyhwYXRoLCB0dikgJiYgZXJybm8gIT0gRU5PU1lTKQorKy8qICAgIGlmIChsdXRpbWVzKHBhdGgsIHR2KSAmJiBlcnJubyAhPSBFTk9TWVMpCisgICAgICAgb2hzaGl0ZShfKCJlcnJvciBzZXR0aW5nIHRpbWVzdGFtcHMgb2YgJyUuMjU1cyciKSwgcGF0aCk7CisrKi8KKyAjZW5kaWYKKyAgIH0gZWxzZSB7CisgICAgIGlmICh1dGltZXMocGF0aCwgdHYpKQorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZlOTZmMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDBhZDdiYmE4MGQ1YjkwMzUwODlmZjJiMmY3N2E3NzRiNWIyMDE5MTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjYgQXVnIDIwMTUgMTY6Mjg6NTkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCA1LzVdIGRwa2ctY29tcGlsZXIubTQ6IHJlbW92ZSAtV3ZsYQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSZW1vdmUgdGhlIC1XdmxhIGZsYWcgZnJvbSB0aGUgc2V0IG9mIGNvbXBpbGVyIHdhcm5pbmcgZmxhZ3MsIHNpbmNlIGdjYworb24gb2xkIGhvc3Qgc3lzdGVtcyBzdWNoIGFzIENlbnRPUyA1LjggZG9lc24ndCBzdXBwb3J0IGl0LCBhbmQgaXQKK2NhdXNlcyBhIGJ1aWxkIGVycm9yIGZvciBkcGtnLW5hdGl2ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKy0tLQorIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKK2luZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CistLS0gYS9tNC9kcGtnLWNvbXBpbGVyLm00CisrKysgYi9tNC9kcGtnLWNvbXBpbGVyLm00CitAQCAtNTIsNyArNTIsNiBAQCBBQ19ERUZVTihbRFBLR19DSEVDS19DT01QSUxFUl9XQVJOSU5HU10sIFsKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW9wXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdsb2dpY2FsLW5vdC1wYXJlbnRoZXNlc10pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQorLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKKyAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA2LWFkZC1tdXNsZWFiaS10by1rbm93bi10YXJnZXQtdHJpcGV0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Nzk3ZWE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBmODkxMDAyMmRjM2VjNjIyMjcyZjE2OGNkMDAyMmRiZGY2ZGZmOTNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMzAgRGVjIDIwMTUgMjM6MDU6NDEgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRkIG11c2xlYWJpIHRvIGtub3duIHRhcmdldCB0cmlwZXRzCisKK2hlbHBzIGNvbXBpbGluZyBkcGtnIGZvciBtdXNsL2FybS1zb2Z0ZmxvYXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CistLS0KKyBkYXRhL29zdGFibGUgICAgfCAxICsKKyBkYXRhL3R1cGxldGFibGUgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9vc3RhYmxlIGIvZGF0YS9vc3RhYmxlCitpbmRleCA5OWMxZjg4OWQuLmJlNjQzNDI3MSAxMDA2NDQKKy0tLSBhL2RhdGEvb3N0YWJsZQorKysrIGIvZGF0YS9vc3RhYmxlCitAQCAtMTcsNiArMTcsNyBAQAorIGVhYmktdWNsaWJjLWxpbnV4CWxpbnV4LXVjbGliY2VhYmkJbGludXhbXi1dKi11Y2xpYmNlYWJpCisgYmFzZS11Y2xpYmMtbGludXgJbGludXgtdWNsaWJjCQlsaW51eFteLV0qLXVjbGliYworIGVhYmloZi1tdXNsLWxpbnV4CWxpbnV4LW11c2xlYWJpaGYJbGludXhbXi1dKi1tdXNsZWFiaWhmCisrZWFiaS1tdXNsLWxpbnV4CQlsaW51eC1tdXNsZWFiaQkJbGludXhbXi1dKi1tdXNsZWFiaQorIGJhc2UtbXVzbC1saW51eAkJbGludXgtbXVzbAkJbGludXhbXi1dKi1tdXNsCisgZWFiaWhmLWdudS1saW51eAlsaW51eC1nbnVlYWJpaGYJCWxpbnV4W14tXSotZ251ZWFiaWhmCisgZWFiaS1nbnUtbGludXgJCWxpbnV4LWdudWVhYmkJCWxpbnV4W14tXSotZ251ZWFiaQorZGlmZiAtLWdpdCBhL2RhdGEvdHVwbGV0YWJsZSBiL2RhdGEvdHVwbGV0YWJsZQoraW5kZXggNWY1MDBmNmNhLi4yOGYwMGJmZTYgMTAwNjQ0CistLS0gYS9kYXRhL3R1cGxldGFibGUKKysrKyBiL2RhdGEvdHVwbGV0YWJsZQorQEAgLTgsNiArOCw3IEBACisgZWFiaS11Y2xpYmMtbGludXgtYXJtCQl1Y2xpYmMtbGludXgtYXJtZWwKKyBiYXNlLXVjbGliYy1saW51eC08Y3B1PgkJdWNsaWJjLWxpbnV4LTxjcHU+CisgZWFiaWhmLW11c2wtbGludXgtYXJtCQltdXNsLWxpbnV4LWFybWhmCisrZWFiaS1tdXNsLWxpbnV4LWFybQkJbXVzbC1saW51eC1hcm1lbAorIGJhc2UtbXVzbC1saW51eC08Y3B1PgkJbXVzbC1saW51eC08Y3B1PgorIGlscDMyLWdudS1saW51eC1hcm02NAkJYXJtNjRpbHAzMgorIGVhYmloZi1nbnUtbGludXgtYXJtCQlhcm1oZgorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjk4NWRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA4NjU5ZWVlZWRhNzRkNzFlMTIwODAxMjFmMGIxM2E4OGNiZGRhNDMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuPUMzPUFEYmFsPTIwTGltPUMzPUIzbj89IDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorRGF0ZTogVHVlLCAyMSBGZWIgMjAxNyAxMToyMzoyNyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBkcGtnLWRlYi9idWlsZC5jOiBSZW1vdmUgdXNhZ2Ugb2YgLS1jbGFtcC1tdGltZSBpbiB0YXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUmVjZW50bHkgZHBrZyBhZGRlZCAtLWNsYW1wLW10aW1lIHRvIHRhciB0byBjcmVhdGUgcmVwcm9kdWNpYmxlCitidWlsZCB0YXJiYWxscyBbMV0uCisKK0J1dCBob3N0IHRvb2xzIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIG9wdGlvbiBiZWNhdXNlIGlzIG5ldyBvbiB0YXIKK3NvIGRpc2FibGUgaW4gb3VyIGJ1aWxkcy4KKworU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQ29uZmlndXJhdGlvbl0KKworWzFdIGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9NzU5OTk5IzIwCitbMl0gaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9oZWxwLXRhci8yMDE2LTAxL21zZzAwMDAwLmh0bWwKKy0tLQorIGRwa2ctZGViL2J1aWxkLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggYTkyYjU4ZS4uYTNkMTkxMiAxMDA2NDQKKy0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKKysrKyBiL2Rwa2ctZGViL2J1aWxkLmMKK0BAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCisgCisgICAgIGNvbW1hbmRfaW5pdCgmY21kLCBUQVIsICJ0YXIgLWNmIik7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgInRhciIsICItY2YiLCAiLSIsICItLWZvcm1hdD1nbnUiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsICItLWNsYW1wLW10aW1lIiwgTlVMTCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tbXRpbWUiLCBtdGltZSwgTlVMTCk7CisgICAgIC8qIE1vZGUgbWlnaHQgYmVjb21lIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgcGFzcyBpdCBiZWZvcmUgLVQuICovCisgICAgIGlmIChtb2RlKQorICAgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbW9kZSIsIG1vZGUsIE5VTEwpOworLS0gCisyLjExLjAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE2NTYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0F1dGhvcjogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorRGF0ZTogICBXZWQgQXByIDggMTg6MDg6MTQgMjAxNSArMDUzMAorCitbUEFUQ0hdIGFkZCBhcm1lYiB0cmlwbGV0IGVudHJ5IGludG8gdHJpcGxldHRhYmxlLgorCitDcm9zcy1jb21wbGluZyBkcGtnIGFwcGxpY2F0aW9uIGZvciBhcm1lYiBmYWlscyB3aXRoIGJlbG93IGVycm9yCitkdXJpbmcgY29uZmlndXJlIHRhc2ssCisKKyhzbmlwKQorIGNvbmZpZ3VyZToyMzE0MTogY2hlY2tpbmcgZHBrZyBjcHUgdHlwZQorIGNvbmZpZ3VyZToyMzE0ODogcmVzdWx0OiBhcm1lYgorIGNvbmZpZ3VyZToyMzE1MDogV0FSTklORzogYXJtZWIgbm90IGZvdW5kIGluIGNwdXRhYmxlCisgY29uZmlndXJlOjIzMTYyOiBjaGVja2luZyBkcGtnIG9wZXJhdGluZyBzeXN0ZW0gdHlwZQorIGNvbmZpZ3VyZToyMzE2OTogcmVzdWx0OiBsaW51eC1nbnVlYWJpCisgY29uZmlndXJlOjIzMTcxOiBXQVJOSU5HOiBsaW51eC1nbnVlYWJpIG5vdCBmb3VuZCBpbiBvc3RhYmxlCisgY29uZmlndXJlOjIzMTgzOiBjaGVja2luZyBkcGtnIGFyY2hpdGVjdHVyZSBuYW1lCisgY29uZmlndXJlOjIzMTg5OiBlcnJvcjogY2Fubm90IGRldGVybWluZSBob3N0IGRwa2cgYXJjaGl0ZWN0dXJlCistLSBDVVQgLS0KKwordGhlIHJlcXVpcmVkIGNvbWJpbmF0aW9uIG9mICJnbnVlYWJpLWxpbnV4LWFybWViIiB3YXMgbm90IGZvdW5kIGluCit0aGUgdHJpcGxldHRhYmxlIGZpbGUgdGhlcmVieSByZXR1cm5pbmcgZHBrZ19hcmNoIGFzCitlbXB0eSBpbiBjb25maWd1cmUgc2NyaXB0LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS3Jpc2huYW5qYW5hcHBhLCBKYWdhZGVlc2ggPGphZ2FkZWVzaC5rcmlzaG5hbmphbmFwcGFAY2F2aXVtbmV0d29ya3MuY29tPgorU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKKy0tLQorIGRhdGEvdHVwbGV0YWJsZSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvZGF0YS90dXBsZXRhYmxlIGIvZGF0YS90dXBsZXRhYmxlCitpbmRleCBiNzgwMmJlYzMuLjVmNTAwZjZjYSAxMDA2NDQKKy0tLSBhL2RhdGEvdHVwbGV0YWJsZQorKysrIGIvZGF0YS90dXBsZXRhYmxlCitAQCAtMTIsNiArMTIsNyBAQCBiYXNlLW11c2wtbGludXgtPGNwdT4JCW11c2wtbGludXgtPGNwdT4KKyBpbHAzMi1nbnUtbGludXgtYXJtNjQJCWFybTY0aWxwMzIKKyBlYWJpaGYtZ251LWxpbnV4LWFybQkJYXJtaGYKKyBlYWJpLWdudS1saW51eC1hcm0JCWFybWVsCisrZWFiaS1nbnUtbGludXgtYXJtZWIJCWFybWViCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNmVsCW1pcHNuMzJyNmVsCisgYWJpbjMyLWdudS1saW51eC1taXBzNjRyNgltaXBzbjMycjYKKyBhYmluMzItZ251LWxpbnV4LW1pcHM2NGVsCW1pcHNuMzJlbAorLS0gCisyLjExLjAKKworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9hcmNoX3BtLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTBkMjJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb24vYXJjaF9wbS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitjb25maWd1cmUgY2Fubm90IGRldGVybWluZSB0aGUgcHJvcGVyIGNwdSwgb3MsIG9yCithcmNoaXRlY3R1cmUgZm9yIG1pcHM2NCwgYW5kIHBvc3NpYmx5IG90aGVyIGFyY2gncworYmVjYXVzZSBvZiBmYXVsdHkgY29kZSBhZGRlZCB0byBBcmNoLnBtIGluIHRoZSBsYXRlc3QKK3JlbGVhc2UgZnJvbSB1cHN0cmVhbS4gIFdlIHJlbW92ZSB0aGF0IGNvZGUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqc2xhdGVyQHdpbmRyaXZlci5jb20+CisKKy0tLQorIHNjcmlwdHMvRHBrZy9BcmNoLnBtIHwgMyAtLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvRHBrZy9BcmNoLnBtIGIvc2NyaXB0cy9EcGtnL0FyY2gucG0KK2luZGV4IDE3MjA4NDdiOC4uNjM0NWNlM2I5IDEwMDY0NAorLS0tIGEvc2NyaXB0cy9EcGtnL0FyY2gucG0KKysrKyBiL3NjcmlwdHMvRHBrZy9BcmNoLnBtCitAQCAtMzIzLDkgKzMyMyw2IEBAIHN1YiBfbG9hZF90dXBsZXRhYmxlKCkKKyAJCSAgICAobXkgJGR0ID0gJGRlYnR1cGxlKSA9fiBzLzxjcHU+LyRfY3B1LzsKKyAJCSAgICAobXkgJGRhID0gJGRlYmFyY2gpID1+IHMvPGNwdT4vJF9jcHUvOworIAorLQkJICAgIG5leHQgaWYgZXhpc3RzICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0KKy0JCSAgICAgICAgIG9yIGV4aXN0cyAkZGVidHVwbGVfdG9fZGViYXJjaHskZHR9OworLQorIAkJICAgICRkZWJhcmNoX3RvX2RlYnR1cGxleyRkYX0gPSAkZHQ7CisgCQkgICAgJGRlYnR1cGxlX3RvX2RlYmFyY2h7JGR0fSA9ICRkYTsKKyAJCX0KKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL25vbWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZjNjYjgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9ub21hbi5wYXRjaApAQCAtMCwwICsxLDIyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc2FibGUgZmVhdHVyZV0KKworLS0tCisgTWFrZWZpbGUuYW0gfCAzICstLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDBkYTUyY2IxNi4uYTFmNzllMGEyIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMTMsOCArMTMsNyBAQCBTVUJESVJTID0gXAorIAkkKE1BWUJFX0RTRUxFQ1QpIFwKKyAJc2NyaXB0cyBcCisgCXQtZnVuYyBcCistCXBvIFwKKy0JbWFuCisrCXBvCisgCisgQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKyAKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N0YXJ0LXN0b3AtZGFlbW9uL3N0YXJ0LXN0b3AtZGFlbW9uL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNDA4ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbi9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaApAQCAtMCwwICsxLDE3IEBACitidXN5Ym94LTEuMTkuNCB0YXIgdXRpbGl0eSBkb2Vzbid0IHN1cHBvcnQgLS13YXJuaW5nPW5vLXRpbWVzdGFtcAorCitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KK0luZGV4OiBkcGtnLTEuMTcuMS9kcGtnLWRlYi9leHRyYWN0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkcGtnLTEuMTcuMS5vcmlnL2Rwa2ctZGViL2V4dHJhY3QuYworKysrIGRwa2ctMS4xNy4xL2Rwa2ctZGViL2V4dHJhY3QuYworQEAgLTMxOCw3ICszMTgsNiBAQCBleHRyYWN0aGFsZihjb25zdCBjaGFyICpkZWJhciwgY29uc3QgY2hhCisgCisgICAgICAgY29tbWFuZF9hZGRfYXJnKCZjbWQsICItZiIpOworICAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLSIpOworLSAgICAgIGNvbW1hbmRfYWRkX2FyZygmY21kLCAiLS13YXJuaW5nPW5vLXRpbWVzdGFtcCIpOworIAorICAgICAgIG1fZHVwMihwMlswXSwwKTsKKyAgICAgICBjbG9zZShwMlswXSk7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xNy4yNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliMjJhMy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE3LjI1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU1VNTUFSWSA9ICJEZWJpYW4ncyBzdGFydC1zdG9wLWRhZW1vbiB1dGlsaXR5IGV4dHJhY3RlZCBmcm9tIHRoZSBkcGtnIFwKLXBhY2thZ2UiCi1MSUNFTlNFID0gIlBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vdXRpbHMvc3RhcnQtc3RvcC1kYWVtb24uYztlbmRsaW5lPTIxO21kNT04ZmJkMDQ5N2E3ZDBiMDFlOTk4MjBiZmZjYjU4ZTlhZCIKLSMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKLURFUEVORFMgPSAibmN1cnNlcyIKLVJDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKLQotU1JDX1VSSSA9ICIgXAotICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAotICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAxLUFkZC1saW51eC1tdXNsZWFiaS10by1vc3RhYmxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImU0OGZjZmRiMjE2MmU3N2Q3MmMyYTgzNDMyZDUzN2NhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDE5ZDM4YWU5OGZiMTA3Yzc5ZGJiMzY5MGNmYWRmZjg3N2YxNTNiOGM0OTcwZTNhMzBkMmU1OWFhNjZiYWEiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLVMgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLXdpdGhvdXQtYnoyIFwKLSAgICAtLXdpdGhvdXQtc2VsaW51eCBcCi0iCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAjIHJlbW92ZSBldmVyeXRoaW5nIHRoYXQgaXMgbm90IHJlbGF0ZWQgdG8gc3RhcnQtc3RvcC1kYWVtb24sIHNpbmNlIHRoZXJlCi0gICAgIyBpcyBubyBleHBsaWNpdCBydWxlIGZvciBvbmx5IGluc3RhbGxpbmcgc3NkCi0gICAgZmluZCAke0R9IC10eXBlIGYgLW5vdCAtbmFtZSAiKnN0YXJ0LXN0b3AtZGFlbW9uKiIgLWV4ZWMgcm0ge30gXDsKLSAgICBmaW5kICR7RH0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Ci0KLSAgICAjIHN1cHBvcnQgZm9yIGJ1Z2d5IGluaXQuZCBzY3JpcHRzIHRoYXQgcmVmZXIgdG8gYW4gYWx0ZXJuYXRpdmUKLSAgICAjIGV4cGxpY2l0IHBhdGggdG8gc3RhcnQtc3RvcC1kYWVtb24KLSAgICBpZiBbICIke2Jhc2Vfc2JpbmRpcn0iICE9ICIke3NiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICAgICAgbG4gLXNmICR7c2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24gJHtEfSR7YmFzZV9zYmluZGlyfS9zdGFydC1zdG9wLWRhZW1vbgotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zdGFydC1zdG9wLWRhZW1vbi9zdGFydC1zdG9wLWRhZW1vbl8xLjE4LjI1LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzcyZDNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3RhcnQtc3RvcC1kYWVtb24vc3RhcnQtc3RvcC1kYWVtb25fMS4xOC4yNS5iYgpAQCAtMCwwICsxLDg3IEBACitTVU1NQVJZID0gIkRlYmlhbidzIHN0YXJ0LXN0b3AtZGFlbW9uIHV0aWxpdHkgZXh0cmFjdGVkIGZyb20gdGhlIGRwa2cgXAorcGFja2FnZSIKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly91dGlscy9zdGFydC1zdG9wLWRhZW1vbi5jO2VuZGxpbmU9MjE7bWQ1PThmYmQwNDk3YTdkMGIwMWU5OTgyMGJmZmNiNThlOWFkIgorREVQRU5EUyA9ICJ6bGliIGJ6aXAyIHBlcmwgbmN1cnNlcyIKKyMgc3RhcnQtc3RvcC1kYWVtb24gaXMgdXN1YWxseSBzaGlwcGVkIGJ5IGRwa2cKK1JDT05GTElDVFNfJHtQTn0gPSAiZHBrZyIKKworU1JDX1VSSSA9ICIgXAorICAgICR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvZHBrZ18ke1BWfS50YXIueHogXAorICAgIGZpbGU6Ly8wMDAxLWRwa2ctc3RhcnQtc3RvcC1kYWVtb24tQWNjZXB0LVNJRy1wcmVmaXhlZC1zaWduYWwtbmEucGF0Y2ggXAorICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCisgICAgZmlsZTovL3JlbW92ZS10YXItbm8tdGltZXN0YW1wLnBhdGNoIFwKKyAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgZmlsZTovL2FkZF9hcm1lYl90cmlwbGV0X2VudHJ5LnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNC1UaGUtbHV0aW1lcy1mdW5jdGlvbi1kb2Vzbi10LXdvcmstcHJvcGVybHktZm9yLWFsbC1zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImU0NjNmNThiMDRhY2IyMzY1OWRmMjNkMmE3YTA1Y2ZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0OWMzNzE5NTNhZWEwM2Y1NDM4MTRkY2FlMzdjMDY5ZTg2MDY5MzMzZmIyZTI0ZTkyNTJlNzY2NDc2NjM0OTIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGVybG5hdGl2ZSBwa2djb25maWcgcGVybC12ZXJzaW9uCisKK1MgPSAiJHtXT1JLRElSfS9kcGtnLSR7UFZ9IgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kc2VsZWN0IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zdGFydC1zdG9wLWRhZW1vbiBcCisgICAgICAgICAgICAgICAgLS13aXRoLWxpYnogXAorICAgICAgICAgICAgICAgIC0td2l0aC1saWJiejIgXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJzZWxpbnV4IFwKKyAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKK1BBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgorCitleHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKK2V4cG9ydCBQRVJMX0xJQkRJUiA9ICIke2xpYmRpcn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKK0VYVFJBX09FQ09ORiArPSAiVEFSPXRhciIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIERFQl9IT1NUX0FSQ0g9JHtEUEtHX0FSQ0h9IgorCitEUEtHX0FSQ0ggPz89ICIke0BkZWJfYXJjaF9tYXAoZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyksIGQuZ2V0VmFyKCdUVU5FX0ZFQVRVUkVTJykpfSIKKworZGVmIGRlYl9hcmNoX21hcChhcmNoLCB0dW5lKToKKyAgICB0dW5lX2ZlYXR1cmVzID0gdHVuZS5zcGxpdCgpCisgICAgaWYgYXJjaCA9PSAiYWxsYXJjaCI6CisgICAgICAgIHJldHVybiAiYWxsIgorICAgIGlmIGFyY2ggaW4gWyJpNTg2IiwgImk2ODYiXToKKyAgICAgICAgcmV0dXJuICJpMzg2IgorICAgIGlmIGFyY2ggPT0gIng4Nl82NCI6CisgICAgICAgIGlmICJteDMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJ4MzIiCisgICAgICAgIHJldHVybiAiYW1kNjQiCisgICAgaWYgYXJjaC5zdGFydHN3aXRoKCJtaXBzIik6CisgICAgICAgIGVuZGlhbiA9IFsiZWwiLCAiIl1bImJpZ2VuZGlhbiIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICAgICAgaWYgIm42NCIgaW4gdHVuZV9mZWF0dXJlczoKKyAgICAgICAgICAgIHJldHVybiAibWlwczY0IiArIGVuZGlhbgorICAgICAgICBpZiAibjMyIiBpbiB0dW5lX2ZlYXR1cmVzOgorICAgICAgICAgICAgcmV0dXJuICJtaXBzbjMyIiArIGVuZGlhbgorICAgICAgICByZXR1cm4gIm1pcHMiICsgZW5kaWFuCisgICAgaWYgYXJjaCA9PSAicG93ZXJwYyI6CisgICAgICAgIHJldHVybiBhcmNoICsgWyIiLCAic3BlIl1bInNwZSIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICBpZiBhcmNoID09ICJhYXJjaDY0IjoKKyAgICAgICAgcmV0dXJuICJhcm02NCIKKyAgICBpZiBhcmNoID09ICJhcm0iOgorICAgICAgICByZXR1cm4gYXJjaCArIFsiZWwiLCAiaGYiXVsiY2FsbGNvbnZlbnRpb24taGFyZCIgaW4gdHVuZV9mZWF0dXJlc10KKyAgICByZXR1cm4gYXJjaAorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyByZW1vdmUgZXZlcnl0aGluZyB0aGF0IGlzIG5vdCByZWxhdGVkIHRvIHN0YXJ0LXN0b3AtZGFlbW9uLCBzaW5jZSB0aGVyZQorICAgICMgaXMgbm8gZXhwbGljaXQgcnVsZSBmb3Igb25seSBpbnN0YWxsaW5nIHNzZAorICAgIGZpbmQgJHtEfSAtdHlwZSBmIC1ub3QgLW5hbWUgIipzdGFydC1zdG9wLWRhZW1vbioiIC1leGVjIHJtIHt9IFw7CisgICAgZmluZCAke0R9IC1kZXB0aCAtdHlwZSBkIC1lbXB0eSAtZXhlYyBybWRpciB7fSBcOworCisgICAgIyBzdXBwb3J0IGZvciBidWdneSBpbml0LmQgc2NyaXB0cyB0aGF0IHJlZmVyIHRvIGFuIGFsdGVybmF0aXZlCisgICAgIyBleHBsaWNpdCBwYXRoIHRvIHN0YXJ0LXN0b3AtZGFlbW9uCisgICAgaWYgWyAiJHtiYXNlX3NiaW5kaXJ9IiAhPSAiJHtzYmluZGlyfSIgXTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgICAgIGxuIC1zZiAke3NiaW5kaXJ9L3N0YXJ0LXN0b3AtZGFlbW9uICR7RH0ke2Jhc2Vfc2JpbmRpcn0vc3RhcnQtc3RvcC1kYWVtb24KKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE2LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVmNDJjZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC9zeXNsb2ctbmcvc3lzbG9nLW5nXzMuMTYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLXJlcXVpcmUgc3lzbG9nLW5nLmluYwotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzJkNDRhZDAyYzJlOWJhMDc0OGIzZWNkM2YxNWE3ZmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzdlZTZmMWQ1ZTk4ZDg2ZjE5MTk2NGU1ODAxMTFiZmE3MTA4MWVjYmIzMjc1Y2VhMDM1YmJiYTE3N2I3M2EyOSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvc3lzbG9nLW5nL3N5c2xvZy1uZ18zLjE5LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVlY2Y2YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3N5c2xvZy1uZy9zeXNsb2ctbmdfMy4xOS4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgc3lzbG9nLW5nLmluYworCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9iYWxhYml0L3N5c2xvZy1uZy9yZWxlYXNlcy9kb3dubG9hZC8ke0JQfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLmNvbmYuc3lzdGVtZCBcCisgICAgICAgICAgIGZpbGU6Ly9zeXNsb2ctbmcuY29uZi5zeXN2aW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbml0c2NyaXB0IFwKKyAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zeXNsb2ctbmcgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLmFjLWFkZC1vcHRpb24tZW5hYmxlLXRocmVhZC10bHMtdG8tbWFuYWdlLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtY29uZmlnLWxpYm5ldC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtaW52YWxpZC1vd25lcnNoaXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLW5nLnNlcnZpY2UtdGhlLXN5c2xvZy1uZy1zZXJ2aWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzbG9nLW5nLWZpeC1zZWdtZW50LWZhdWx0LWR1cmluZy1zZXJ2aWNlLXN0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWE3OWJjMTNkOWZkOTI1YWE1ZmI5NTE2ZTg3YWFjZDMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWNmOTMxYTlkN2JlYWQwZTZkOWEyYzY1ZWVlOGY2MDA1YTAwNTg3OGY1OWFhMjgwZjNjNDI5NDI1N2VkNTE3OCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvZmlsZXMvdXNlLXNoLW9uLXBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNiMTZkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3RoaW4tcHJvdmlzaW9uaW5nLXRvb2xzL2ZpbGVzL3VzZS1zaC1vbi1wYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKKwordGhpbi1wcm92aXNpb25pbmctdG9vbHM6IHVzZSBzaCBvbiBwYXRoIHdoZW4gaW52b2tpbmcgdHh0Mm1hbgorCit0eHQybWFuIGNvbnRhaW5zIGEgdGVzdCB3aGljaCBtaWdodCB0cnkgdG8gdXNlIGtzaCB0byBydW4gdGhlIHNjcmlwdCwgc28gd2UKK2F2b2lkIHJ1bm5pbmcgL2Jpbi9zaC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogam9lLnNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0yMTAsNyArMjEwLDcgQEAgZW5kaWYKKyAKKyAlLjg6ICUudHh0IGJpbi90eHQybWFuCisgCUBlY2hvICIgICAgW3R4dDJtYW5dICQ8IgorLQkkKFYpIGJpbi90eHQybWFuIC1wIC10ICQoYmFzZW5hbWUgJChub3RkaXIgJDwpKSAkPCA+ICRACisrCSQoVikgc2ggYmluL3R4dDJtYW4gLXAgLXQgJChiYXNlbmFtZSAkKG5vdGRpciAkPCkpICQ8ID4gJEAKKyAKKyAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdGhpbi1wcm92aXNpb25pbmctdG9vbHMvdGhpbi1wcm92aXNpb25pbmctdG9vbHNfMC43LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgppbmRleCAyMGNiMTdhLi41ZjZiYTllIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC90aGluLXByb3Zpc2lvbmluZy10b29scy90aGluLXByb3Zpc2lvbmluZy10b29sc18wLjcuNi5iYgpAQCAtMTAsNiArMTAsNyBAQAogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2p0aG9ybmJlci90aGluLXByb3Zpc2lvbmluZy10b29scyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1zdHJpcC1wZGF0YV90b29scy1hdC1kb19pbnN0YWxsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWNvbXBpbGUtZmFpbGVkLXdpdGgtbGliYy1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3VzZS1zaC1vbi1wYXRoLnBhdGNoIFwKICIKIAogU1JDUkVWID0gIjZmOTM2OTkyYjhlNjIwOGE3ODM4ZmNmMWVjODdjNWJkM2E2OTRhNzciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjcuOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGIzMzhmLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3MyXzIuNy44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCi0KLURFUEVORFMgPSAiIFwKLSAgICBhY2wgXAotICAgIGxpYmF0YXNtYXJ0IFwKLSAgICBwb2xraXQgXAotICAgIGxpYmd1ZGV2IFwKLSAgICBkYnVzLWdsaWIgXAotICAgIGdsaWItMi4wIFwKLSAgICBsaWJibG9ja2RldiBcCi0gICAgaW50bHRvb2wtbmF0aXZlIFwKLSAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKLSAgICBsaWJ4c2x0LW5hdGl2ZSBcCi0iCi1ERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgotCi1SREVQRU5EU18ke1BOfSA9ICJhY2wiCi0KLVNSQ19VUkkgPSAiIFwKLSAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9Mi43LngtYnJhbmNoIFwKLSAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKLSIKLVNSQ1JFViA9ICI0N2JjMDE0MWNiODQ2MjRiYTFlMjI0MmQ1OTZhODlhMzBkZjFmNWVhIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgotCi1pbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtbWFuIC0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2RhdGFkaXJ9L2RidXMtMS8gXAotICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEgXAotICAgICR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uIFwKLSAgICAke2xpYmRpcn0vcG9sa2l0LTEvZXh0ZW5zaW9ucy8qLnNvIFwKLSAgICAke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvKiBcCi0gICAgJHtleGVjX3ByZWZpeH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkaXNrczIvKiBcCi0gICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSBcCi0iCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWJzIgotRklMRVNfJHtQTn0tbGlicyA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzMl8yLjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjIxMzBlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrczJfMi44LjEuYmIKQEAgLTAsMCArMSw1MCBAQAorU1VNTUFSWSA9ICJ1ZGlza3MgcHJvdmlkZXMgZGJ1cyBpbnRlcmZhY2VzIGZvciBkaXNrcyBhbmQgc3RvcmFnZSBkZXZpY2VzIgorTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGQ3OWY2ZGJiZmZkYmM4ZTg2YjA4NmE4ZjBjMGVmNDMiCisKK0RFUEVORFMgPSAiIFwKKyAgICBhY2wgXAorICAgIGxpYmF0YXNtYXJ0IFwKKyAgICBwb2xraXQgXAorICAgIGxpYmd1ZGV2IFwKKyAgICBkYnVzLWdsaWIgXAorICAgIGdsaWItMi4wIFwKKyAgICBsaWJibG9ja2RldiBcCisgICAgaW50bHRvb2wtbmF0aXZlIFwKKyAgICBnbm9tZS1jb21tb24tbmF0aXZlIFwKKyAgICBsaWJ4c2x0LW5hdGl2ZSBcCisiCitERVBFTkRTICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgorCitSREVQRU5EU18ke1BOfSA9ICJhY2wiCisKK1NSQ19VUkkgPSAiIFwKKyAgICBnaXQ6Ly9naXRodWIuY29tL3N0b3JhZ2VkLXByb2plY3QvdWRpc2tzLmdpdDticmFuY2g9bWFzdGVyIFwKKyAgICBmaWxlOi8vbm9uLWdudS1saWJjLnBhdGNoIFwKKyIKK1NSQ1JFViA9ICIwNWFlNDcxYmUzYzJhZGYyMjU1YjNhMDFlZGIwMGJiYTA2ZTAyYWZiIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworQ1ZFX1BST0RVQ1QgPSAidWRpc2tzIgorCitpbmhlcml0IGF1dG90b29scyBzeXN0ZW1kIGd0ay1kb2MgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAicG9sa2l0IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW1hbiAtLWRpc2FibGUtZ3RrLWRvYyIKKworRklMRVNfJHtQTn0gKz0gIiBcCisgICAgJHtkYXRhZGlyfS9kYnVzLTEvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbiBcCisgICAgJHtsaWJkaXJ9L3BvbGtpdC0xL2V4dGVuc2lvbnMvKi5zbyBcCisgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2LyogXAorICAgICR7ZXhlY19wcmVmaXh9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGlza3MyLyogXAorICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tbGlicyIKK0ZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9L2xpYioke1NPTElCU30iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91ZGlza3MvdWRpc2tzXzEuMC41LmJiCmluZGV4IDdjZDk5OTIuLjNhZThlY2MgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VkaXNrcy91ZGlza3NfMS4wLjUuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdWRpc2tzL3VkaXNrc18xLjAuNS5iYgpAQCAtMjIsNyArMjIsMTAgQEAKIFNSQ19VUklbdWRpc2tzLm1kNXN1bV0gPSAiNzBkNDhkY2ZlNTIzYTc0Y2Q3YzdmYmJjMjg0N2ZjZGQiCiBTUkNfVVJJW3VkaXNrcy5zaGEyNTZzdW1dID0gImYyZWM4MmViMGVhN2UwMWRjMjk5YjViMjliM2MxOGNkZjg2MTIzNmVjNDNkY2ZmNjZiMzU1MmI0YjMxYzZmNzEiCiAKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCisKIAogUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmRldm1hcHBlciIKIFBBQ0tBR0VDT05GSUdbbGliZGV2bWFwcGVyXSA9ICItLWVuYWJsZS1kZXZtYXBwZXIsLS1kaXNhYmxlLWRldm1hcHBlcixsaWJkZXZtYXBwZXIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjc0ZDM1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0iCi1ERVNDUklQVElPTiA9ICJ1bml4T0RCQyBpcyBhbiBPcGVuIFNvdXJjZSBPREJDIHN1Yi1zeXN0ZW0gYW5kIGFuIE9EQkMgU0RLIFwKLWZvciBMaW51eCwgTWFjIE9TWCwgYW5kIFVOSVguIgotCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnVuaXhvZGJjLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDdiMzdiZjgwYTNkZjVhNjViMzU1NDMzYWUzNmQyMDYiCi0KLURFUEVORFMgPSAibGlidG9vbCBteXNxbDUiCi0KLVNSQ19VUkkgPSAiZnRwOi8vZnRwLnVuaXhvZGJjLm9yZy9wdWIvdW5peE9EQkMvdW5peE9EQkMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2RvLW5vdC11c2UtbGlibHRkbC1zb3VyY2UtZGlyZWN0b3J5LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJhODYyOWZkMjk1M2IwNGI0NjM5ZDBhOWQ4YTVjZjlkMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4OGI2MzdmNjQ3YzA1MmVjYzM4NjFhM2JhYTI3NWMzYjUwM2IxOTNiNmE0OWZmOGMyOGIyNTY4NjU2ZDE0ZDY5IgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ1bml4T0RCQy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLVMgPSAiJHtXT1JLRElSfS91bml4T0RCQy0ke1BWfSIKLQotRVhUUkFfT0VNQUtFICs9ICJMSUJTPS1sbHRkbCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgIyBvbGQgbTQgZmlsZXMgd2lsbCBjYXVzZSBsaWJ0b29sIHZlcnNpb24gZG9uJ3QgbWF0Y2gKLSAgICBybSAtcmYgbTQvKgotICAgIHJtIC1mciBsaWJsdGRsCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VuaXhvZGJjL3VuaXhvZGJjXzIuMy43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2M2JhZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91bml4b2RiYy91bml4b2RiY18yLjMuNy5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSIKK0RFU0NSSVBUSU9OID0gInVuaXhPREJDIGlzIGFuIE9wZW4gU291cmNlIE9EQkMgc3ViLXN5c3RlbSBhbmQgYW4gT0RCQyBTREsgXAorZm9yIExpbnV4LCBNYWMgT1NYLCBhbmQgVU5JWC4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudW5peG9kYmMub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kN2IzN2JmODBhM2RmNWE2NWIzNTU0MzNhZTM2ZDIwNiIKKworREVQRU5EUyA9ICJsaWJ0b29sIG15c3FsNSIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnVuaXhvZGJjLm9yZy91bml4T0RCQy0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZG8tbm90LXVzZS1saWJsdGRsLXNvdXJjZS1kaXJlY3RvcnkucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjI3NGE3MTFiMGM3NzM5NGUwNTJkYjY0OTM4NDBjNmY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1ZjE2OWJhMWY0NTRhNzJiOGZjYmI4MmFiZDgzMjYzMGEzYmY5M2JhYTg0NzMxY2YyOTQ5ZjQ0OWUxZTNlNzciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInVuaXhPREJDLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L3VuaXhPREJDLSR7UFZ9IgorCitFWFRSQV9PRU1BS0UgKz0gIkxJQlM9LWxsdGRsIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAjIG9sZCBtNCBmaWxlcyB3aWxsIGNhdXNlIGxpYnRvb2wgdmVyc2lvbiBkb24ndCBtYXRjaAorICAgIHJtIC1yZiBtNC8qCisgICAgcm0gLWZyIGxpYmx0ZGwKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Vwb3dlci91cG93ZXJfMC45OS43LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKaW5kZXggMmNmMzE2My4uM2ZkOTFlOSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXBvd2VyL3Vwb3dlcl8wLjk5LjcuYmIKQEAgLTExLDcgKzExLDkgQEAKIFNSQ19VUklbbWQ1c3VtXSA9ICIyMzZiYjQzOWQ5ZmYxMTUxNDUwYjNkODU4MjM5OTUzMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNGJjYzJmNmFiMjVhMjUzM2JhYzcwYjU4N2JjYjAxOWU1OTEyOTMwNzY5MjBmNWI1ZTA0YmRlZGMxNDBhNDAxIgogCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBnb2JqZWN0LWludHJvc3BlY3Rpb24gc3lzdGVtZAoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgZ29iamVjdC1pbnRyb3NwZWN0aW9uIHN5c3RlbWQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwb2xraXQiCiAKIFBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgZCl9IgogUEFDS0FHRUNPTkZJR1tpZGV2aWNlXSA9ICItLXdpdGgtaWRldmljZSwtLXdpdGhvdXQtaWRldmljZSxsaWJpbW9iaWxlZGV2aWNlIGxpYnBsaXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzAyMDUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlZWQ1ZTIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDIwNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiRGF0YSBmaWxlcyBmb3IgdXNibW9kZXN3aXRjaCIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLQotaW5oZXJpdCBhbGxhcmNoCi0KLURFUEVORFMgKz0gInRjbC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwY2MxMDdjZDBjNGM4M2RmMGQ5NDAwYzk5OWUyMWRmZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmRjZmQ5ZDI4OTI4ZDhkOGYwMzM4MTU3MWEyMzQ0MmIzYzUwZDQ4ZDM0M2JjNDBhMWEwN2QwMTY2MjczOGQxIgotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLX0KLQotUkRFUEVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2ggKD49IDIuNC4wKSIKLUZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3VzYl9tb2Rlc3dpdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdXNiLW1vZGVzd2l0Y2gvdXNiLW1vZGVzd2l0Y2gtZGF0YV8yMDE3MDgwNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiZDk0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoLWRhdGFfMjAxNzA4MDYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJEYXRhIGZpbGVzIGZvciB1c2Jtb2Rlc3dpdGNoIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorCitpbmhlcml0IGFsbGFyY2gKKworREVQRU5EUyArPSAidGNsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gImZiNTBkMTViNTJlOTA5ZDc0MmRkMTZmMGE5ODgyMzE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNlNDEzZWYyYTUwZTY0OGU5YzgxYmMzZWE2MTEwZTczMjRhOGJmOTgxMDM0ZmM5ZWM0NDY3ZDM1NjI1NjNjMmMiCisKK2RvX2luc3RhbGwoKSB7CisgICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQorfQorCitSREVQRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaCAoPj0gMi40LjApIgorRklMRVNfJHtQTn0gKz0gIiR7YmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdXNiX21vZGVzd2l0Y2giCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYzBkZjhiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotU1VNTUFSWSA9ICJBIG1vZGUgc3dpdGNoaW5nIHRvb2wgZm9yIGNvbnRyb2xsaW5nICdmbGlwIGZsb3AnIChtdWx0aXBsZSBkZXZpY2UpIFVTQiBnZWFyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1ERVBFTkRTID0gImxpYnVzYjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5kcmFpc2Jlcmdob2YuZGUvdXNiX21vZGVzd2l0Y2gvJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzOGFkNWM5ZDcwZTA2MjI3YTAwMzYxYmRjMmIxZTU2OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzMWMwYmUyODBkNDlhOTllYzNkYzBiZTMzMjViZWYzMjBkOWMwNGI1MDcxNGVmMGNlMWUzNmE2MTRkNjg3NjMzIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ1c2JfbW9kZXN3aXRjaEAuc2VydmljZSIKLQotRVhUUkFfT0VNQUtFID0gIlRDTD0ke2JpbmRpcn0vdGNsc2giCi0KLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfSAke3N5c2NvbmZkaXJ9ICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi91c2JfbW9kZXN3aXRjaCAke3NiaW5kaXJ9ICR7bG9jYWxzdGF0ZWRpcn0vbGliL3VzYl9tb2Rlc3dpdGNoIgotUkRFUEVORFNfJHtQTn0gPSAidGNsIgotUlJFQ09NTUVORFNfJHtQTn0gPSAidXNiLW1vZGVzd2l0Y2gtZGF0YSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBpbnN0YWxsCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3VzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGZpCi19CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3VzYi1tb2Rlc3dpdGNoL3VzYi1tb2Rlc3dpdGNoXzIuNS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzZTQwYjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91c2ItbW9kZXN3aXRjaC91c2ItbW9kZXN3aXRjaF8yLjUuMi5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIkEgbW9kZSBzd2l0Y2hpbmcgdG9vbCBmb3IgY29udHJvbGxpbmcgJ2ZsaXAgZmxvcCcgKG11bHRpcGxlIGRldmljZSkgVVNCIGdlYXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK0RFUEVORFMgPSAibGlidXNiMSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRyYWlzYmVyZ2hvZi5kZS91c2JfbW9kZXN3aXRjaC8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjE2YjlhOGVmYTFiZjhmYmQ3ZDU2MTI3NTdlYWU0ZjI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFiZmZhYzA5Yzg3ZWFjZDc4ZTEwMTU0NTk2N2RjMjVhZjdlOTg5NzQ1YjQyNzY3NTZkNDVkYmY0MDA4YTJlYTYiCisKK2luaGVyaXQgcGtnY29uZmlnIHN5c3RlbWQKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInVzYl9tb2Rlc3dpdGNoQC5zZXJ2aWNlIgorCitFWFRSQV9PRU1BS0UgPSAiVENMPSR7YmluZGlyfS90Y2xzaCIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7c3lzY29uZmRpcn0gJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3VzYl9tb2Rlc3dpdGNoICR7c2JpbmRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvdXNiX21vZGVzd2l0Y2giCitSREVQRU5EU18ke1BOfSA9ICJ0Y2wiCitSUkVDT01NRU5EU18ke1BOfSA9ICJ1c2ItbW9kZXN3aXRjaC1kYXRhIgorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7U30vdXNiX21vZGVzd2l0Y2hALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjY2RkMTNiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIkhhc2ggdGFibGUgYW5kIGxpbmtlZCBsaXN0IGZvciBDIHN0cnVjdHVyZXMiCi1ERVNDUklQVElPTiA9ICIgdXRoYXNoLWRldiBwcm92aWRlcyBhIGhhc2ggdGFibGUgaW1wbGVtZW50YXRpb24gdXNpbmcgQyBwcmVwcm9jZXNzb3IgbWFjcm9zLlxuXAotIFRoaXMgcGFja2FnZSBhbHNvIGluY2x1ZGVzOlxuXAotICAqIHV0bGlzdC5oIHByb3ZpZGVzIGxpbmtlZCBsaXN0IG1hY3JvcyBmb3IgQyBzdHJ1Y3R1cmVzXG5cCi0gICogdXRhcnJheS5oIGltcGxlbWVudHMgZHluYW1pYyBhcnJheXMgdXNpbmcgbWFjcm9zXG5cCi0gICogdXRzdHJpbmcuaCBpbXBsZW1lbnRzIGEgYmFzaWMgZHluYW1pYyBzdHJpbmdcblwKLSIKLUhPTUVQQUdFID0gImh0dHBzOi8vdHJveWRoYW5zb24uZ2l0aHViLmlvL3V0aGFzaC8iCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkJTRC0xLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVjYzFmMWU0YzcxZjE5ZjU4MDQ1ODU4Njc1NmMwMmI0IgotCi1TUkNfVVJJID0gIlwKLSAgICBodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L2FyY2hpdmUvdiR7UFZ9LnRhci5nejtkb3dubG9hZGZpbGVuYW1lPSR7QlB9LnRhci5neiBcCi0gICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lkaGFuc29uLyR7QlBOfS9yZWxlYXNlcyIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwODYzMmE1ODY3NDI3NGM5Y2Q4N2UyOTMwZjU2OTZhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0YTMxZDUxZGQ3YTgzOTgxOWNlY2Q2ZjQ2MDQ5YjRmZmUwMzFkN2YzMTQ3ZDlhMDQyZjU1MDRmZGIxMzQ4ZDEiCi0KLWluaGVyaXQgcHRlc3QKLQotZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyB0ZXN0cyB0ZXN0c19vbmx5IFRFU1RfVEFSR0VUPQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtpbmNsdWRlZGlyfQotICAgIGluc3RhbGwgLW0wNjQ0IHNyYy8qLmggJHtEfSR7aW5jbHVkZWRpcn0KLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBpbnN0YWxsIC1kbTc1NSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNzU1IHRlc3RzL3Rlc3QqWzAtOV0gJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKLSAgICBpbnN0YWxsIC1tMDY0NCB0ZXN0cy90ZXN0KlswLTldLmFucyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cwotICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uZGF0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi19Ci0KLSMgVGhlIG1haW4gcGFja2FnZSBpcyBlbXB0eSBhbmQgbm9uLWV4aXN0ZW50LCBzbyAtZGV2Ci0jIHNob3VsZCBub3QgZGVwZW5kIG9uIGl0Li4uCi1SREVQRU5EU18ke1BOfS1kZXYgPSAiIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3V0aGFzaC91dGhhc2hfMi4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYjEzODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC91dGhhc2gvdXRoYXNoXzIuMS4wLmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiSGFzaCB0YWJsZSBhbmQgbGlua2VkIGxpc3QgZm9yIEMgc3RydWN0dXJlcyIKK0RFU0NSSVBUSU9OID0gIiB1dGhhc2gtZGV2IHByb3ZpZGVzIGEgaGFzaCB0YWJsZSBpbXBsZW1lbnRhdGlvbiB1c2luZyBDIHByZXByb2Nlc3NvciBtYWNyb3MuXG5cCisgVGhpcyBwYWNrYWdlIGFsc28gaW5jbHVkZXM6XG5cCisgICogdXRsaXN0LmggcHJvdmlkZXMgbGlua2VkIGxpc3QgbWFjcm9zIGZvciBDIHN0cnVjdHVyZXNcblwKKyAgKiB1dGFycmF5LmggaW1wbGVtZW50cyBkeW5hbWljIGFycmF5cyB1c2luZyBtYWNyb3NcblwKKyAgKiB1dHN0cmluZy5oIGltcGxlbWVudHMgYSBiYXNpYyBkeW5hbWljIHN0cmluZ1xuXAorIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly90cm95ZGhhbnNvbi5naXRodWIuaW8vdXRoYXNoLyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiQlNELTEtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YTI1MTNmN2QyMjkxZGY4NDA1MjdiNzZiMmE4Zjk3MTgiCisKK1NSQ19VUkkgPSAiXAorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90cm95ZGhhbnNvbi8ke0JQTn0vYXJjaGl2ZS92JHtQVn0udGFyLmd6O2Rvd25sb2FkZmlsZW5hbWU9JHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vdHJveWRoYW5zb24vJHtCUE59L3JlbGVhc2VzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGQwYTMzZjYzOTMyNjA5MjYwMzJmMWZhZDRiYWQzOWEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTUyY2NkOGU2NGQwZjQ5NTM3NzIzMmUzOTY0ZDA2YzdlYzhiYjhjM2ZiZDMyMTdmOGE1NzAyNjE0ZjlhNjY5ZSIKKworaW5oZXJpdCBwdGVzdAorCitkb19jb21waWxlW25vZXhlY10gPSAiMSIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIHRlc3RzX29ubHkgVEVTVF9UQVJHRVQ9Cit9CisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgaW5zdGFsbCAtbTA2NDQgc3JjLyouaCAke0R9JHtpbmNsdWRlZGlyfQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgIGluc3RhbGwgLWRtNzU1ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA3NTUgdGVzdHMvdGVzdCpbMC05XSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGluc3RhbGwgLW0wNjQ0IHRlc3RzL3Rlc3QqWzAtOV0uYW5zICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCisgICAgaW5zdGFsbCAtbTA2NDQgdGVzdHMvdGVzdCpbMC05XS5kYXQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKK30KKworIyBUaGUgbWFpbiBwYWNrYWdlIGlzIGVtcHR5IGFuZCBub24tZXhpc3RlbnQsIHNvIC1kZXYKKyMgc2hvdWxkIG5vdCBkZXBlbmQgb24gaXQuLi4KK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzL2tlcm5lbC00LjE4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2VhYTNkLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVycy9rZXJuZWwtNC4xOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaXggYnVpbGQgZmFpbHVyZSB3aXRoIG5ldyBrZXJuZWwgNC4xOAotQXV0aG9yOiBHaWFuZnJhbmNvIENvc3RhbWFnbmEgPGxvY3V0dXNvZmJvcmdAZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1JbmRleDogdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB2Ym94X21vZHVsZS5vcmlnL3Zib3hzZi91dGlscy5jCi0rKysgdmJveF9tb2R1bGUvdmJveHNmL3V0aWxzLmMKLUBAIC01MCw3ICs1MCwxMSBAQCBzdGF0aWMgdm9pZCBzZl90aW1lc3BlY19mcm9tX2Z0aW1lKFJUVElNCi0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKLSB9Ci0gI2Vsc2UgLyogPj0gMi42LjAgKi8KLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfZnRpbWVfZnJvbV90aW1lc3BlYyhzdHJ1Y3QgdGltZXNwZWMgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWN0IHRpbWVzcGVjNjQgKnR2LCBSVFRJTUVTUEVDICp0cykKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IFJUVGltZVNwZWNHZXROYW5vKHRzKTsKLSAgICAgaW50NjRfdCBuc2VjOwotQEAgLTYwLDcgKzY0LDExIEBAIHN0YXRpYyB2b2lkIHNmX2Z0aW1lX2Zyb21fdGltZXNwZWMoc3RydWMKLSAgICAgdHYtPnR2X25zZWMgPSBuc2VjOwotIH0KLSAKLSsjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMTgsIDApCi0gc3RhdGljIHZvaWQgc2ZfdGltZXNwZWNfZnJvbV9mdGltZShSVFRJTUVTUEVDICp0cywgc3RydWN0IHRpbWVzcGVjICp0dikKLSsjZWxzZQotK3N0YXRpYyB2b2lkIHNmX3RpbWVzcGVjX2Zyb21fZnRpbWUoUlRUSU1FU1BFQyAqdHMsIHN0cnVjdCB0aW1lc3BlYzY0ICp0dikKLSsjZW5kaWYKLSB7Ci0gICAgIGludDY0X3QgdCA9IChpbnQ2NF90KXR2LT50dl9uc2VjICsgKGludDY0X3QpdHYtPnR2X3NlYyAqIDEwMDAwMDAwMDA7Ci0gICAgIFJUVGltZVNwZWNTZXROYW5vKHRzLCB0KTsKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTRjYzM4Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3Zib3hndWVzdGRyaXZlcnMvdmJveGd1ZXN0ZHJpdmVyc181LjIuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKLVNFQ1RJT04gPSAiY29yZSIKLUxJQ0VOU0UgPSAiR1BMLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgotCi1ERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgotCi1pbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0Ci0KLUNPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKLQotVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAotICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCi0gICAgZmlsZTovL2tlcm5lbC00LjE4LnBhdGNoIFwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICJkOGUyOTE1MjViODQ1NjkzNTY3NzNlZWY1MDdjNDljZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDBhN2VmZDU2YzdmMzlmYWU3OWM3ZWMzMzIxNDczZGE0MTJlZjBkNzkxNDQ1N2I2NmY0MjY3OWQ1MTNlZmNmIgotCi1TID0gIiR7V09SS0RJUn0vdmJveF9tb2R1bGUiCi0KLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSD0iJHtBUkNIfSIKLWV4cG9ydCBCVUlMRF9UQVJHRVRfQVJDSF94ODYtNjQ9ImFtZDY0IgotCi1FWFRSQV9PRU1BS0UgKz0gIktFUk5fRElSPScke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059L2J1aWxkJyIKLQotYWRkdGFzayBleHBvcnRfc291cmNlcyBiZWZvcmUgZG9fcGF0Y2ggYWZ0ZXIgZG9fdW5wYWNrCi0KLWRvX2V4cG9ydF9zb3VyY2VzKCkgewotICAgIG1rZGlyIC1wICIke1N9IgotICAgICR7V09SS0RJUn0vJHtWQk9YX05BTUV9L3NyYy9WQm94L0FkZGl0aW9ucy9saW51eC9leHBvcnRfbW9kdWxlcy5zaCAke1R9L3Zib3hfbW9kdWxlcy50YXIuZ3oKLSAgICB0YXIgLUMgIiR7U30iIC14emYgJHtUfS92Ym94X21vZHVsZXMudGFyLmd6Ci0KLSAgICAjIGFkZCBhIG1vdW50IHV0aWxpdHkgdG8gdXNlIHNoYXJlZCBmb2xkZXIgZnJvbSBWQm94IEFkZGl0aW9uIFNvdXJjZSBDb2RlCi0gICAgbWtkaXIgLXAgIiR7U30vdXRpbHMiCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy9tb3VudC52Ym94c2YuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvc2hhcmVkZm9sZGVycy92YnNmbW91bnQuYyAke1N9L3V0aWxzCi0gICAgaW5zdGFsbCAke1N9Ly4uL01ha2VmaWxlLnV0aWxzICR7U30vdXRpbHMvTWFrZWZpbGUKLQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIHZib3hndWVzdGRyaXZlcnMvNS4yLjYtcjAvdmJveF9tb2R1bGUvdmJveGd1ZXN0L01ha2VmaWxlLmluY2x1ZGUuaGVhZGVyOjk5OiAqKiogVGhlIHZhcmlhYmxlIEtFUk5fRElSIG11c3QgYmUgYSBrZXJuZWwgYnVpbGQgZm9sZGVyIGFuZCBlbmQgd2l0aCAvYnVpbGQgd2l0aG91dCBhIHRyYWlsaW5nIHNsYXNoLCBvciBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCi0gICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjoxMDg6ICoqKiBUaGUga2VybmVsIGJ1aWxkIGZvbGRlciBwYXRoIG11c3QgZW5kIGluIDx2ZXJzaW9uPi9idWlsZCwgb3IgdGhlIHZhcmlhYmxlIEtFUk5fVkVSIG11c3QgYmUgc2V0LiAgU3RvcC4KLSAgICBta2RpciAtcCAke1dPUktESVJ9LyR7S0VSTkVMX1ZFUlNJT059Ci0gICAgbG4gLXNuZiAke1NUQUdJTkdfS0VSTkVMX0RJUn0gJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZAotfQotCi0jIGNvbXBpbGUgYW5kIGluc3RhbGwgbW91bnQgdXRpbGl0eQotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgb2VfcnVubWFrZSAnTEQ9JHtDQ30nICdMREZMQUdTPSR7TERGTEFHU30nIC1DICR7U30vdXRpbHMKLSAgICBpZiAhIFsgLWUgdmJveGd1ZXN0LmtvIC1hIC1lIHZib3hzZi5rbyAtYSAtZSB2Ym94dmlkZW8ua28gXSA7IHRoZW4KLSAgICAgICAgZWNobyAiRVJST1I6IE9uZSBvZiB2Ym94Ki5rbyBtb2R1bGVzIHdhc24ndCBidWlsdCIKLSAgICAgICAgZXhpdCAxCi0gICAgZmkKLX0KLQotbW9kdWxlX2RvX2luc3RhbGwoKSB7Ci0gICAgTU9EVUxFX0RJUj0ke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyR7S0VSTkVMX1ZFUlNJT059L2tlcm5lbC9taXNjCi0gICAgaW5zdGFsbCAtZCAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hndWVzdC5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3hzZi5rbyAkTU9EVUxFX0RJUgotICAgIGluc3RhbGwgLW0gNjQ0IHZib3h2aWRlby5rbyAkTU9EVUxFX0RJUgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KLSAgICBpbnN0YWxsIC1tIDc1NSAke1N9L3V0aWxzL21vdW50LnZib3hzZiAke0R9JHtiYXNlX3NiaW5kaXJ9Ci19Ci0KLVBBQ0tBR0VTICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJrZXJuZWwtbW9kdWxlLXZib3hndWVzdCBrZXJuZWwtbW9kdWxlLXZib3hzZiBrZXJuZWwtbW9kdWxlLXZib3h2aWRlbyIKLQotRklMRVNfJHtQTn0gPSAiJHtiYXNlX3NiaW5kaXJ9IgotCi0jIGF1dG9sb2FkIGlmIGluc3RhbGxlZAotS0VSTkVMX01PRFVMRV9BVVRPTE9BRCArPSAidmJveGd1ZXN0IHZib3hzZiB2Ym94dmlkZW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92Ym94Z3Vlc3Rkcml2ZXJzL3Zib3hndWVzdGRyaXZlcnNfNS4yLjIyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzk0ZjM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmJveGd1ZXN0ZHJpdmVycy92Ym94Z3Vlc3Rkcml2ZXJzXzUuMi4yMi5iYgpAQCAtMCwwICsxLDgwIEBACitTVU1NQVJZID0gIlZpcnR1YWxCb3ggTGludXggR3Vlc3QgRHJpdmVycyIKK1NFQ1RJT04gPSAiY29yZSIKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vJHtWQk9YX05BTUV9L0NPUFlJTkc7bWQ1PWUxOTdkNTY0MWJiMzViMjlkNDZjYThjNGJmN2YyNjYwIgorCitERVBFTkRTID0gInZpcnR1YWwva2VybmVsIgorCitpbmhlcml0IG1vZHVsZSBrZXJuZWwtbW9kdWxlLXNwbGl0CisKK0NPTVBBVElCTEVfTUFDSElORSA9ICIocWVtdXg4NnxxZW11eDg2LTY0KSIKKworVkJPWF9OQU1FID0gIlZpcnR1YWxCb3gtJHtQVn0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLnZpcnR1YWxib3gub3JnL3ZpcnR1YWxib3gvJHtQVn0vJHtWQk9YX05BTUV9LnRhci5iejIgXAorICAgIGZpbGU6Ly9NYWtlZmlsZS51dGlscyBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYzljMmYxNjJhYzVmOTlkMjhkOGMwY2E0M2IxOWVkMDEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTU4MGU4NzUzNDkzNDFhMWFhYmM2ZDVkMmY2OTdkMjQyZjI3NzQ4NzMxNmZhYWYxZmJlNjhkOTAxNGY3ODhkNCIKKworUyA9ICIke1dPUktESVJ9L3Zib3hfbW9kdWxlIgorCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0g9IiR7QVJDSH0iCitleHBvcnQgQlVJTERfVEFSR0VUX0FSQ0hfeDg2LTY0PSJhbWQ2NCIKKworRVhUUkFfT0VNQUtFICs9ICJLRVJOX0RJUj0nJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfS9idWlsZCciCisKKyMgb3RoZXJ3aXNlIDUuMi4yMiBidWlsZHMganVzdCB2Ym94Z3Vlc3QKK01BS0VfVEFSR0VUUyA9ICJhbGwiCisKK2FkZHRhc2sgZXhwb3J0X3NvdXJjZXMgYmVmb3JlIGRvX3BhdGNoIGFmdGVyIGRvX3VucGFjaworCitkb19leHBvcnRfc291cmNlcygpIHsKKyAgICBta2RpciAtcCAiJHtTfSIKKyAgICAke1dPUktESVJ9LyR7VkJPWF9OQU1FfS9zcmMvVkJveC9BZGRpdGlvbnMvbGludXgvZXhwb3J0X21vZHVsZXMuc2ggJHtUfS92Ym94X21vZHVsZXMudGFyLmd6CisgICAgdGFyIC1DICIke1N9IiAteHpmICR7VH0vdmJveF9tb2R1bGVzLnRhci5negorCisgICAgIyBhZGQgYSBtb3VudCB1dGlsaXR5IHRvIHVzZSBzaGFyZWQgZm9sZGVyIGZyb20gVkJveCBBZGRpdGlvbiBTb3VyY2UgQ29kZQorICAgIG1rZGlyIC1wICIke1N9L3V0aWxzIgorICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvbW91bnQudmJveHNmLmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtXT1JLRElSfS8ke1ZCT1hfTkFNRX0vc3JjL1ZCb3gvQWRkaXRpb25zL2xpbnV4L3NoYXJlZGZvbGRlcnMvdmJzZm1vdW50LmMgJHtTfS91dGlscworICAgIGluc3RhbGwgJHtTfS8uLi9NYWtlZmlsZS51dGlscyAke1N9L3V0aWxzL01ha2VmaWxlCisKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyB2Ym94Z3Vlc3Rkcml2ZXJzLzUuMi42LXIwL3Zib3hfbW9kdWxlL3Zib3hndWVzdC9NYWtlZmlsZS5pbmNsdWRlLmhlYWRlcjo5OTogKioqIFRoZSB2YXJpYWJsZSBLRVJOX0RJUiBtdXN0IGJlIGEga2VybmVsIGJ1aWxkIGZvbGRlciBhbmQgZW5kIHdpdGggL2J1aWxkIHdpdGhvdXQgYSB0cmFpbGluZyBzbGFzaCwgb3IgS0VSTl9WRVIgbXVzdCBiZSBzZXQuICBTdG9wLgorICAgICMgdmJveGd1ZXN0ZHJpdmVycy81LjIuNi1yMC92Ym94X21vZHVsZS92Ym94Z3Vlc3QvTWFrZWZpbGUuaW5jbHVkZS5oZWFkZXI6MTA4OiAqKiogVGhlIGtlcm5lbCBidWlsZCBmb2xkZXIgcGF0aCBtdXN0IGVuZCBpbiA8dmVyc2lvbj4vYnVpbGQsIG9yIHRoZSB2YXJpYWJsZSBLRVJOX1ZFUiBtdXN0IGJlIHNldC4gIFN0b3AuCisgICAgbWtkaXIgLXAgJHtXT1JLRElSfS8ke0tFUk5FTF9WRVJTSU9OfQorICAgIGxuIC1zbmYgJHtTVEFHSU5HX0tFUk5FTF9ESVJ9ICR7V09SS0RJUn0vJHtLRVJORUxfVkVSU0lPTn0vYnVpbGQKK30KKworIyBjb21waWxlIGFuZCBpbnN0YWxsIG1vdW50IHV0aWxpdHkKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworICAgIG9lX3J1bm1ha2UgJ0xEPSR7Q0N9JyAnTERGTEFHUz0ke0xERkxBR1N9JyAtQyAke1N9L3V0aWxzCisgICAgaWYgISBbIC1lIHZib3hndWVzdC5rbyAtYSAtZSB2Ym94c2Yua28gLWEgLWUgdmJveHZpZGVvLmtvIF0gOyB0aGVuCisgICAgICAgIGVjaG8gIkVSUk9SOiBPbmUgb2YgdmJveCoua28gbW9kdWxlcyB3YXNuJ3QgYnVpbHQiCisgICAgICAgIGV4aXQgMQorICAgIGZpCit9CisKK21vZHVsZV9kb19pbnN0YWxsKCkgeworICAgIE1PRFVMRV9ESVI9JHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfS9rZXJuZWwvbWlzYworICAgIGluc3RhbGwgLWQgJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94Z3Vlc3Qua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94c2Yua28gJE1PRFVMRV9ESVIKKyAgICBpbnN0YWxsIC1tIDY0NCB2Ym94dmlkZW8ua28gJE1PRFVMRV9ESVIKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSA3NTUgJHtTfS91dGlscy9tb3VudC52Ym94c2YgJHtEfSR7YmFzZV9zYmluZGlyfQorfQorCitQQUNLQUdFUyArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCitSUkVDT01NRU5EU18ke1BOfSArPSAia2VybmVsLW1vZHVsZS12Ym94Z3Vlc3Qga2VybmVsLW1vZHVsZS12Ym94c2Yga2VybmVsLW1vZHVsZS12Ym94dmlkZW8iCisKK0ZJTEVTXyR7UE59ID0gIiR7YmFzZV9zYmluZGlyfSIKKworIyBhdXRvbG9hZCBpZiBpbnN0YWxsZWQKK0tFUk5FTF9NT0RVTEVfQVVUT0xPQUQgKz0gInZib3hndWVzdCB2Ym94c2YgdmJveHZpZGVvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MjAwMDMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gNWVkMjVjMDc2YTFmYjE4ODlhM2M1MGRkZGYyOWYyMTg1MGI1OWExMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPiAKLURhdGU6IFR1ZSwgMjYgSnVuIDIwMTggMTc6Mjk6MDkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZGlzYWJsZSBhY2wgaGVhZGVyIGNoZWNrCi0KLURvbid0IGNoZWNrICdzeXMvYWNsLmgnIGlmIGFjbCBzdXBwb3J0IGRpc2FibGVkIGZvciB2aW0vdmltLXRpbnkuCi0KLVVwc3RyZWFtLVN0YXR1czogcGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvY29uZmlndXJlLmFjIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29uZmlndXJlLmFjIGIvc3JjL2NvbmZpZ3VyZS5hYwotaW5kZXggMTA3YzE3MC4uMGVlODZhZCAxMDA2NDQKLS0tLSBhL3NyYy9jb25maWd1cmUuYWMKLSsrKyBiL3NyYy9jb25maWd1cmUuYWMKLUBAIC0zMjIwLDcgKzMyMjAsNyBAQCBBQ19DSEVDS19IRUFERVJTKHN0ZGludC5oIHN0ZGxpYi5oIHN0cmluZy5oIFwKLSAJc3lzL3N5c3RlbWluZm8uaCBsb2NhbGUuaCBzeXMvc3RyZWFtLmggdGVybWlvcy5oIFwKLSAJbGliYy5oIHN5cy9zdGF0ZnMuaCBwb2xsLmggc3lzL3BvbGwuaCBwd2QuaCBcCi0gCXV0aW1lLmggc3lzL3BhcmFtLmggbGliaW50bC5oIGxpYmdlbi5oIFwKLS0JdXRpbC9kZWJ1Zy5oIHV0aWwvbXNnMThuLmggZnJhbWUuaCBzeXMvYWNsLmggXAotKwl1dGlsL2RlYnVnLmggdXRpbC9tc2cxOG4uaCBmcmFtZS5oIFwKLSAJc3lzL2FjY2Vzcy5oIHN5cy9zeXNpbmZvLmggd2NoYXIuaCB3Y3R5cGUuaCkKLSAKLSBkbmwgc3lzL3B0ZW0uaCBkZXBlbmRzIG9uIHN5cy9zdHJlYW0uaCBvbiBTb2xhcmlzCi1AQCAtMzg0OCw2ICszODQ4LDcgQEAgQUNfQVJHX0VOQUJMRShhY2wsCi0gCSwgW2VuYWJsZV9hY2w9InllcyJdKQotIGlmIHRlc3QgIiRlbmFibGVfYWNsIiA9ICJ5ZXMiOyB0aGVuCi0gICBBQ19NU0dfUkVTVUxUKG5vKQotKyAgQUNfQ0hFQ0tfSEVBREVSUyhzeXMvYWNsLmgpCi0gICBBQ19DSEVDS19MSUIocG9zaXgxZSwgYWNsX2dldF9maWxlLCBbTElCUz0iJExJQlMgLWxwb3NpeDFlIl0sCi0gCUFDX0NIRUNLX0xJQihhY2wsIGFjbF9nZXRfZmlsZSwgW0xJQlM9IiRMSUJTIC1sYWNsIgotIAkJICBBQ19DSEVDS19MSUIoYXR0ciwgZmdldHhhdHRyLCBMSUJTPSIkTElCUyAtbGF0dHIiLCwpXSwsKSwpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzguMS4wMzQ3LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZGU0ZDhlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fOC4xLjAzNDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotU1VNTUFSWSA9ICJWaSBJTXByb3ZlZCAtIGVuaGFuY2VkIHZpIGVkaXRvciIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotUFJPVklERVMgPSAieHhkIgotREVQRU5EUyA9ICJuY3Vyc2VzIGdldHRleHQtbmF0aXZlIgotIyB2aW1kaWZmIGRvZXNuJ3QgbGlrZSBidXN5Ym94IGRpZmYKLVJTVUdHRVNUU18ke1BOfSA9ICJkaWZmdXRpbHMiCi1MSUNFTlNFID0gInZpbSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQ7ZW5kbGluZT0yODc7bWQ1PWYxZjgyYjQyMzYwMDA1YzcwYjhjMTliMGVmNDkzZjcyIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdmltL3ZpbS5naXQgXAotICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9hY2xfaGVhZGVyX2NoZWNrLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoO3BhdGNoZGlyPS4uIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoO3BhdGNoZGlyPS4uIFwKLSIKLVNSQ1JFViA9ICJmMWMxMThiZTkzMTg0ZThlNTdlM2U4MGIxYjMzODNmNDY0ZWQ2NDllIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0L3NyYyIKLQotVklNRElSID0gInZpbSR7QGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMF19JHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUNMRUFOQlJPS0VOID0gIjEiCi0KLSMgdmltIGNvbmZpZ3VyZS5pbiBjb250YWlucyBmdW5jdGlvbnMgd2hpY2ggZ290ICdkcm9wcGVkJyBieSBhdXRvdG9vbHMuYmJjbGFzcwotZG9fY29uZmlndXJlICgpIHsKLSAgICBybSAtZiBhdXRvLyoKLSAgICB0b3VjaCBhdXRvL2NvbmZpZy5tawotICAgIGFjbG9jYWwKLSAgICBhdXRvY29uZgotICAgIG9lX3J1bmNvbmYKLSAgICB0b3VjaCBhdXRvL2NvbmZpZ3VyZQotICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rIGF1dG8vY29uZmlnLmgKLX0KLQotI0F2YWlsYWJsZSBQQUNLQUdFQ09ORklHIG9wdGlvbnMgYXJlIGd0a2d1aSwgYWNsLCB4MTEsIHRpbnkKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wgc2VsaW51eCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1tndGtndWldID0gIi0tZW5hYmxlLWd0azItdGVzdCAtLWVuYWJsZS1ndWk9Z3RrMiwtLWVuYWJsZS1ndWk9bm8sZ3RrKywiCi1QQUNLQUdFQ09ORklHW2FjbF0gPSAiLS1lbmFibGUtYWNsLC0tZGlzYWJsZS1hY2wsYWNsLCIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteCwtLXdpdGhvdXQteCx4dCwiCi1QQUNLQUdFQ09ORklHW3RpbnldID0gIi0td2l0aC1mZWF0dXJlcz10aW55LC0td2l0aC1mZWF0dXJlcz1iaWcsLCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwtLWRpc2FibGUtc2VsaW51eCxsaWJzZWxpbnV4LCIKLVBBQ0tBR0VDT05GSUdbZWxmdXRpbHNdID0gIi0tZW5hYmxlLWVsZi1jaGVjaywsZWxmdXRpbHMsIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtZ3BtIFwKLSAgICAtLWRpc2FibGUtZ3RrdGVzdCBcCi0gICAgLS1kaXNhYmxlLXhpbSBcCi0gICAgLS1kaXNhYmxlLW5ldGJlYW5zIFwKLSAgICAtLXdpdGgtdGxpYj1uY3Vyc2VzIFwKLSAgICBhY19jdl9zbWFsbF93Y2hhcl90PW5vIFwKLSAgICB2aW1fY3ZfZ2V0Y3dkX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X21lbW1vdmVfaGFuZGxlc19vdmVybGFwPXllcyBcCi0gICAgdmltX2N2X3N0YXRfaWdub3Jlc19zbGFzaD1ubyBcCi0gICAgdmltX2N2X3Rlcm1pbmZvPXllcyBcCi0gICAgdmltX2N2X3RnZXRlbnQ9bm9uLXplcm8gXAotICAgIHZpbV9jdl90b3VwcGVyX2Jyb2tlbj1ubyBcCi0gICAgdmltX2N2X3R0eV9ncm91cD13b3JsZCBcCi0gICAgU1RSSVA9L2Jpbi90cnVlIFwKLSIKLQotZG9faW5zdGFsbCgpIHsKLSAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0gICAgIyBXb3JrIGFyb3VuZCBmaWxlLXJkZXBzIHBpY2tpbmcgdXAgY3NoLCBhd2ssIHBlcmwgb3IgcHl0aG9uIGFzIGEgZGVwCi0gICAgY2htb2QgLXggJHtEfSR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scy92aW0xMzIKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL212ZS5hd2sKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucGwKLSAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzLyoucHkKLQotICAgICMgSW5zdGFsbCBleGFtcGxlIHZpbXJjIGZyb20gcnVudGltZSBmaWxlcwotICAgIGluc3RhbGwgLW0gMDY0NCAuLi9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltICR7RH0vJHtkYXRhZGlyfS8ke0JQTn0vdmltcmMKLQotICAgICMgd2UgdXNlIC0td2l0aC1mZWF0dXJlcz1iaWcgYXMgZGVmYXVsdAotICAgIG12ICR7RH0ke2JpbmRpcn0vJHtCUE59ICR7RH0ke2JpbmRpcn0vJHtCUE59LiR7QlBOfQotfQotCi1QQVJBTExFTF9NQUtFSU5TVCA9ICIiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jb21tb24gJHtQTn0tc3ludGF4ICR7UE59LWhlbHAgJHtQTn0tdHV0b3IgJHtQTn0tdmltcmMgJHtQTn0tdG9vbHMiCi1GSUxFU18ke1BOfS1zeW50YXggPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3N5bnRheCIKLUZJTEVTXyR7UE59LWhlbHAgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2RvYyIKLUZJTEVTXyR7UE59LXR1dG9yID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90dXRvciAke2JpbmRpcn0vJHtCUE59dHV0b3IiCi1GSUxFU18ke1BOfS12aW1yYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS92aW1yYyIKLUZJTEVTXyR7UE59LWRhdGEgPSAiJHtkYXRhZGlyfS8ke0JQTn0iCi1GSUxFU18ke1BOfS10b29scyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMiCi1GSUxFU18ke1BOfS1jb21tb24gPSAiIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vKi52aW0gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9hdXRvbG9hZCBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbG9ycyBcCi0gICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2NvbXBpbGVyIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZnRwbHVnaW4gXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9pbmRlbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9rZXltYXAgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9sYW5nIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vbWFjcm9zIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcGx1Z2luIFwKLSAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vcHJpbnQgXAotICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9zcGVsbCBcCi0gICAgJHtkYXRhZGlyfS9pY29ucyBcCi0iCi0KLVJERVBFTkRTXyR7QlBOfSA9ICJuY3Vyc2VzLXRlcm1pbmZvLWJhc2UiCi0jIFJlY29tbWVuZCB0aGF0IHJ1bnRpbWUgZGF0YSBpcyBpbnN0YWxsZWQgYWxvbmcgd2l0aCB2aW0KLVJSRUNPTU1FTkRTXyR7QlBOfSA9ICIke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS1jb21tb24iCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gInZpIHZpbSB4eGQiCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi1BTFRFUk5BVElWRV9UQVJHRVQgPSAiJHtiaW5kaXJ9LyR7QlBOfS4ke0JQTn0iCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdmldID0gIiR7YmFzZV9iaW5kaXJ9L3ZpIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3ZpbV0gPSAiJHtiaW5kaXJ9L3ZpbSIKLUFMVEVSTkFUSVZFX1RBUkdFVFt4eGRdID0gIiR7YmluZGlyfS94eGQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbeHhkXSA9ICIke2JpbmRpcn0veHhkIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDIvMDAwMS1GaXgtY29udmVydC1mcm9tLWNoYXItb24tQVJNLWJ1aWxkLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNzM3NzUuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMi8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDU3Mjk4NzRmYTUwNTljMzlhYTk3Y2ZhMDhmZGRmMTA3YjdhNjVjOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWd1ZWwgR2FpbyA8bWdhaW8zNUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDMgT2N0IDIwMTggMTA6MjI6MTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGNvbnZlcnQgZnJvbSBjaGFyIG9uIEFSTSBidWlsZAotCi1Tb21lIHBsYXRmb3JtcyBzZXQgdGhlIHNpZ25lZG5lc3Mgb2YgY2hhciB0byB1bnNpZ25lZCAoZWcuIEFSTSkuCi1Db252ZXJ0IGZyb20gY2hhciBzaG91bGQgbm90IGFzc3VtZSB0aGUgc2lnbmVkbmVzcyBvZiBjaGFyLgotCi1GaXggYnVpbGQgaXNzdWUgd2l0aCAtV2Vycm9yLC1XdGF1dG9sb2dpY2FsLXVuc2lnbmVkLXplcm8tY29tcGFyZSBmbGFncy4KLQotU2lnbmVkLW9mZi1ieTogTWlndWVsIEdhaW8gPG1nYWlvMzVAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtDb21taXQgZjFmYWFhOWMxMDcxMTM2OTIzMDFhZDhiYjU2MDg0NDYwZWYxYTJmZl0KLQotU2lnbmVkLW9mZi1ieTogQmFydG9zeiBHb2xhc3pld3NraSA8YmdvbGFzemV3c2tpQGJheWxpYnJlLmNvbT4KLS0tLQotIGluY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAgYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX3Rvc3RyaW5nLmNwcAotaW5kZXggNGUwYzAyN2QuLjhjYmFiYmYyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF90b3N0cmluZy5jcHAKLSsrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfdG9zdHJpbmcuY3BwCi1AQCAtMjA1LDcgKzIwNSw3IEBAIHN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGJvb2w+Ojpjb252ZXJ0KGJvb2wgYikgewotICAgICByZXR1cm4gYiA/ICJ0cnVlIiA6ICJmYWxzZSI7Ci0gfQotIAotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPGNoYXI+Ojpjb252ZXJ0KGNoYXIgdmFsdWUpIHsKLStzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjxzaWduZWQgY2hhcj46OmNvbnZlcnQoc2lnbmVkIGNoYXIgdmFsdWUpIHsKLSAgICAgaWYgKHZhbHVlID09ICdccicpIHsKLSAgICAgICAgIHJldHVybiAiJ1xcciciOwotICAgICB9IGVsc2UgaWYgKHZhbHVlID09ICdcZicpIHsKLUBAIC0yMjIsOCArMjIyLDggQEAgc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciB2YWx1ZSkgewotICAgICAgICAgcmV0dXJuIGNoc3RyOwotICAgICB9Ci0gfQotLXN0ZDo6c3RyaW5nIFN0cmluZ01ha2VyPHNpZ25lZCBjaGFyPjo6Y29udmVydChzaWduZWQgY2hhciBjKSB7Ci0tICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxjaGFyPihjKSk7Ci0rc3RkOjpzdHJpbmcgU3RyaW5nTWFrZXI8Y2hhcj46OmNvbnZlcnQoY2hhciBjKSB7Ci0rICAgIHJldHVybiA6OkNhdGNoOjpEZXRhaWw6OnN0cmluZ2lmeShzdGF0aWNfY2FzdDxzaWduZWQgY2hhcj4oYykpOwotIH0KLSBzdGQ6OnN0cmluZyBTdHJpbmdNYWtlcjx1bnNpZ25lZCBjaGFyPjo6Y29udmVydCh1bnNpZ25lZCBjaGFyIGMpIHsKLSAgICAgcmV0dXJuIDo6Q2F0Y2g6OkRldGFpbDo6c3RyaW5naWZ5KHN0YXRpY19jYXN0PGNoYXI+KGMpKTsKLS0tIAotMi4xOS4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jYXRjaDIvY2F0Y2gyXzIuNC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTgzYzJlLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi40LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1ERVNDUklQVElPTiA9ICJBIG1vZGVybiwgQysrLW5hdGl2ZSwgaGVhZGVyLW9ubHksIHRlc3QgZnJhbWV3b3JrIGZvciB1bml0LXRlc3RzLCBcCi1UREQgYW5kIEJERCAtIHVzaW5nIEMrKzExLCBDKysxNCwgQysrMTcgYW5kIGxhdGVyLiIKLUFVVEhPUiA9ICJQaGlsIE5hc2gsIE1hcnRpbiBIb3Jlbm92c2t5IGFuZCBvdGhlcnMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyIgotTElDRU5TRSA9ICJCU0wtMS4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PWU0MjI0Y2NhZWNiMTRkOTQyYzcxZDMxYmVmMjBkNzhjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2F0Y2hvcmcvQ2F0Y2gyLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1jb252ZXJ0LWZyb20tY2hhci1vbi1BUk0tYnVpbGQucGF0Y2giCi1TUkNSRVYgPSAiOWUxYmRjYTQ2NjcyOTVmY2IxNjI2NWVhZTAwZWZhODQyM2YwNzAwNyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCi0KLSMgSGVhZGVyLW9ubHkgbGlicmFyeQotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLVJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIke1BOfS1kZXYgKD0gJHtFWFRFTkRQS0dWfSkiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIHJtICR7RH0vJHtkYXRhZGlyfS9DYXRjaDIvbGxkYmluaXQKLSAgICBybSAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyL2dkYmluaXQKLSAgICBybWRpciAke0R9LyR7ZGF0YWRpcn0vQ2F0Y2gyLwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2NhdGNoMl8yLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkNjYxNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9jYXRjaDJfMi42LjEuYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBtb2Rlcm4sIEMrKy1uYXRpdmUsIGhlYWRlci1vbmx5LCB0ZXN0IGZyYW1ld29yayBmb3IgdW5pdC10ZXN0cywgXAorVEREIGFuZCBCREQgLSB1c2luZyBDKysxMSwgQysrMTQsIEMrKzE3IGFuZCBsYXRlci4iCitBVVRIT1IgPSAiUGhpbCBOYXNoLCBNYXJ0aW4gSG9yZW5vdnNreSBhbmQgb3RoZXJzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMiIKK0xJQ0VOU0UgPSAiQlNMLTEuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1lNDIyNGNjYWVjYjE0ZDk0MmM3MWQzMWJlZjIwZDc4YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkLXdhcm5pbmcucGF0Y2ggXAorICAgICAgICAgICIKKyMgdjIuNi4xCitTUkNSRVYgPSAiZGJiYWI4NzI3YzM0MjczM2Y3NTA0NTQ4MzA0OGNkY2I1MjQyMWUzMiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBweXRob24zbmF0aXZlCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9sbGRiaW5pdAorICAgIHJtICR7RH0ke2RhdGFkaXJ9L0NhdGNoMi9nZGJpbml0CisgICAgcm1kaXIgJHtEfSR7ZGF0YWRpcn0vQ2F0Y2gyLworfQorIyBIZWFkZXItb25seSBsaWJyYXJ5CitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NhdGNoMi9maWxlcy8wMDAxLUZpeC1XZGVmYXVsdGVkLWZ1bmN0aW9uLWRlbGV0ZWQtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTVjNzFhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY2F0Y2gyL2ZpbGVzLzAwMDEtRml4LVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gYTM5ZTBlYWE4MzE4MzM1MjYwOTY3ZmZkMWQxNjM4OGViNWExZDZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDEyIEZlYiAyMDE5IDEyOjU3OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCAtV2RlZmF1bHRlZC1mdW5jdGlvbi1kZWxldGVkIHdhcm5pbmcKKworQ2xhbmc4IHdhcm5zCisKK2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaDo4NDoyNTogZXJyb3I6IGV4cGxpY2l0bHkgZGVmYXVsdGVkIG1vdmUgYXNzaWdubWVudCBvcGVyYXRvciBpcyBpbXBsaWNpdGx5IGRlbGV0ZWQgWy1XZXJyb3IsLVdkZWZhdWx0ZWQtZnVuY3Rpb24tZGVsZXRlZF0KK3wgICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzICYmICkgICAgID0gZGVmYXVsdDsKK3wgICAgICAgICAgICAgICAgICAgICAgICAgXgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL2NhdGNob3JnL0NhdGNoMi9wdWxsLzE1MzddCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmggYi9pbmNsdWRlL2ludGVybmFsL2NhdGNoX2ludGVyZmFjZXNfcmVwb3J0ZXIuaAoraW5kZXggOWQ5OWM5ODEuLmU1ZmJmOGJiIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9pbnRlcm5hbC9jYXRjaF9pbnRlcmZhY2VzX3JlcG9ydGVyLmgKKysrKyBiL2luY2x1ZGUvaW50ZXJuYWwvY2F0Y2hfaW50ZXJmYWNlc19yZXBvcnRlci5oCitAQCAtODAsOCArODAsOCBAQCBuYW1lc3BhY2UgQ2F0Y2ggeworIAorICAgICAgICAgQXNzZXJ0aW9uU3RhdHMoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApICAgICAgICAgICAgICA9IGRlZmF1bHQ7CisgICAgICAgICBBc3NlcnRpb25TdGF0cyggQXNzZXJ0aW9uU3RhdHMgJiYgKSAgICAgICAgICAgICAgICAgID0gZGVmYXVsdDsKKy0gICAgICAgIEFzc2VydGlvblN0YXRzJiBvcGVyYXRvciA9ICggQXNzZXJ0aW9uU3RhdHMgY29uc3QmICkgPSBkZWZhdWx0OworLSAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlZmF1bHQ7CisrICAgICAgICBBc3NlcnRpb25TdGF0cyYgb3BlcmF0b3IgPSAoIEFzc2VydGlvblN0YXRzIGNvbnN0JiApID0gZGVsZXRlOworKyAgICAgICAgQXNzZXJ0aW9uU3RhdHMmIG9wZXJhdG9yID0gKCBBc3NlcnRpb25TdGF0cyAmJiApICAgICA9IGRlbGV0ZTsKKyAgICAgICAgIHZpcnR1YWwgfkFzc2VydGlvblN0YXRzKCk7CisgCisgICAgICAgICBBc3NlcnRpb25SZXN1bHQgYXNzZXJ0aW9uUmVzdWx0OworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1YjA4YjAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9jcHB1bml0XzEuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCi0gICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiZDFjNmJkZDVhNzZjNjZkMmMzODMzMWUyZDI4N2JjMDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Y0N2QyNDZlMzM0NmYyYmE0ZDdjOWU4ODJkYjNhZDllYmQzZmNiZDJlOGI3MzJmOTQ2ZTBlM2VlYjlmNDI5ZiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvY3BwdW5pdF8xLjE0LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MzI3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jcHB1bml0L2NwcHVuaXRfMS4xNC4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK0RFU0NSSVBUSU9OID0gIkNwcFVuaXQgaXMgdGhlIEMrKyBwb3J0IG9mIHRoZSBmYW1vdXMgSlVuaXQgZnJhbWV3b3JrIGZvciB1bml0IHRlc3RpbmcuIFRlc3Qgb3V0cHV0IGlzIGluIFhNTCBmb3IgYXV0b21hdGljIHRlc3RpbmcgYW5kIEdVSSBiYXNlZCBmb3Igc3VwZXJ2aXNlZCB0ZXN0cy4gIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9jcHB1bml0IgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIwZTllZjkyMWZmNzgwZWIzMjhiZGNhZWViZWMzMjY5IgorCitTUkNfVVJJID0gIiBcCisgICAgaHR0cDovL2Rldi13d3cubGlicmVvZmZpY2Uub3JnL3NyYy9jcHB1bml0LSR7UFZ9LnRhci5neiBcCisgICAgZmlsZTovLzAwMDEtZG9jLU1ha2VmaWxlLmFtLWRvLW5vdC1wcmVzZXJ2ZS1maWxlLWZsYWdzLXdoZW4tY29weS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiN2FkOTMwMjIxNzE3MTBhNTQxYmZlNGJmZDhiNGEzODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2Q1Njk4NjlkMjdiNDg4NjAyMTBjNzU4YzRmMzEzMDgyMTAzYTVlNTgyMTlhNzY2OWI1MmJmZDI5ZDY3NDc4MCIKKworaW5oZXJpdCBhdXRvdG9vbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2NwcHVuaXQvZmlsZXMvMDAwMS1kb2MtTWFrZWZpbGUuYW0tZG8tbm90LXByZXNlcnZlLWZpbGUtZmxhZ3Mtd2hlbi1jb3B5LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKaW5kZXggNmEyMGMxMi4uNDQxODc2ZSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3BwdW5pdC9maWxlcy8wMDAxLWRvYy1NYWtlZmlsZS5hbS1kby1ub3QtcHJlc2VydmUtZmlsZS1mbGFncy13aGVuLWNvcHkucGF0Y2gKQEAgLTE3LDE1ICsxNywxMiBAQAogaW5kZXggODgxNTQ3Ni4uMzIzNzQ5OSAxMDA2NDQKIC0tLSBhL2RvYy9NYWtlZmlsZS5hbQogKysrIGIvZG9jL01ha2VmaWxlLmFtCi1AQCAtMjIsNyArMjIsNyBAQCBodG1sZGlyICs9ICQocGtnZGF0YWRpcikvaHRtbAorQEAgLTgsNyArOCw3IEBAIGh0bWxkaXIgKz0gJChwa2dkYXRhZGlyKS9odG1sCiAgaHRtbF9EQVRBICs9ICQoc3RhdGljX3BhZ2VzKSBodG1sL2luZGV4Lmh0bWwKICAKICBpbnN0YWxsLWRhdGEtaG9vazoKIC0JY3AgLXBSIGh0bWwvKiAkKERFU1RESVIpJChodG1sZGlyKQogKwljcCAtUiBodG1sLyogJChERVNURElSKSQoaHRtbGRpcikKICAKLSAjIEF1dG9tYWtlJ3MgImRpc3RjaGVjayIgaXMgc2Vuc2l0aXZlIHRvIGhhdmluZyBmaWxlcyBsZWZ0IG92ZXIKLSAjIGFmdGVyICJtYWtlIHVuaW5zdGFsbCIsIHNvIHdlIGhhdmUgdG8gY2xlYW4gdXAgdGhlIGluc3RhbGwgaG9vay4KLS0tIAotMi41LjAKLQorIHVuaW5zdGFsbC1sb2NhbDoKKyAJcm0gLXJmICQoREVTVERJUikkKGh0bWxkaXIpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXRlc3QvY3h4dGVzdC9jeHh0ZXN0XzQuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjkxNTAxMS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQ3h4VGVzdCBpcyBhIHVuaXQgdGVzdGluZyBmcmFtZXdvcmsgZm9yIEMrKyB0aGF0IGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIEpVbml0LCBDcHBVbml0LCBhbmQgeFVuaXQuIgotSE9NRVBBR0UgPSAiaHR0cDovL2N4eHRlc3QuY29tLyIKLUxJQ0VOU0UgPSAiTEdQTC0yLjAiCi1TRUNUSU9OID0gImRldmVsIgotCi1TUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3Byb2plY3QvY3h4dGVzdC9jeHh0ZXN0LyR7UFZ9L2N4eHRlc3QtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImIzYTI0YjNlMWFhZDlhY2Y2YWRhYzM3ZjRjM2Y4M2VjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1NmQwZjQ4MTBlOGViNWMzNDQxNDdhMGNjYTUwZmMwZDg0MTIyYzI4NmU3NjQ0YjYxY2IzNjVjMmVlMjIwODMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L2N4eHRlc3QtJHtQVn0vQ09QWUlORzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCi1TID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCi0KLWluaGVyaXQgZGlzdHV0aWxzCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KLSAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9Ci0gICAgc2VkICcxY1wKLSMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy10ZXN0L2N4eHRlc3QvY3h4dGVzdF80LjQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MmZjY2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtdGVzdC9jeHh0ZXN0L2N4eHRlc3RfNC40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK0RFU0NSSVBUSU9OID0gIkN4eFRlc3QgaXMgYSB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIGZvciBDKysgdGhhdCBpcyBzaW1pbGFyIGluIHNwaXJpdCB0byBKVW5pdCwgQ3BwVW5pdCwgYW5kIHhVbml0LiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jeHh0ZXN0LmNvbS8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJMR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9DT1BZSU5HO21kNT1lNmE2MDBmZDVlMWQ5Y2JkZTJkOTgzNjgwMjMzYWQwMiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0L2N4eHRlc3QvY3h4dGVzdC8ke1BWfS9jeHh0ZXN0LSR7UFZ9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjM2NjMzM1NWUyYWM2NGUzNGMyMTVmMjhlNDRjZmNlYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxYzE1NGZlZjkxYzY1ZGJmMWNkNDUxOWFmN2FkZTcwYTYxZDg1YTkyM2I2ZTBjMGIwMDdkYzdmNDg5NWNmN2Q4IgorCitTID0gIiR7V09SS0RJUn0vY3h4dGVzdC0ke1BWfS9weXRob24iCisKK2luaGVyaXQgZGlzdHV0aWxzCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7aW5jbHVkZWRpcn0KKyAgICBjcCAtYSAuLi9jeHh0ZXN0ICR7RH0ke2luY2x1ZGVkaXJ9CisgICAgc2VkICcxY1wKKyMhL3Vzci9iaW4vZW52IHB5dGhvbicgLWkgJHtEfSR7YmluZGlyfS9jeHh0ZXN0Z2VuCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvUkVBRE1FCmluZGV4IDNjNzg3ZjQuLjY3ZjI5MTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL1JFQURNRQpAQCAtNTIsNyArNTIsNyBAQAogVGhpcyBsYXllciBkZXBlbmRzIG9uOgogCiAgIFVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKLSAgYnJhbmNoOiB0aHVkCisgIGJyYW5jaDogbWFzdGVyCiAgIHJldmlzaW9uOiBIRUFECiAgIHByaW86IGRlZmF1bHQKIApAQCAtNzUsMTIgKzc1LDE0IEBACiAtLS0tLS0tLS0tLQogCiBTZW5kIHBhdGNoZXMgLyBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1wZXJsXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCisnW21ldGEtcGVybF0nIGluIHRoZSBzdWJqZWN0LgogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1wZXJsXVtQQVRDSCcKIAotVGh1ZCBtYWludGFpbmVyczogQXJtaW4ga3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KK0xheWVyIG1haW50YWluZXJzOgorICAgIEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKyAgICBUaW0gIm1vdG8tdGltbyIgT3JsaW5nIDx0aWNvdGltb0BnbWFpbC5jb20+CiAKIExpY2Vuc2UKIC0tLS0tLS0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvY29uZi9sYXllci5jb25mCmluZGV4IGIyYmIzNzkuLjZlNjAwYWEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9jb25mL2xheWVyLmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTUsNCArMTUsNCBAQAogCiBMQVlFUkRFUEVORFNfcGVybC1sYXllciA9ICJjb3JlIG9wZW5lbWJlZGRlZC1sYXllciIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3BlcmwtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9wZXJsLWxheWVyID0gInRodWQgd2FycmlvciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLWV4dGVuZGVkL2xvZ2NoZWNrL2xvZ2NoZWNrXzEuMy4xOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODczYWMyYi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMTkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIkFuYWx5emVzIGxvZyBmaWxlcyBhbmQgc2VuZHMgbm90aWNlYWJsZSBldmVudHMgYXMgZW1haWwiCi1ERVNDUklQVElPTiA9ICJcCi1Mb2djaGVjayBpcyBhIHNpbXBsZSB1dGlsaXR5IHdoaWNoIGlzIGRlc2lnbmVkIHRvIGFsbG93IGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgXAotdG8gdmlldyB0aGUgbG9nLWZpbGVzIHdoaWNoIGFyZSBwcm9kdWNlZCB1cG9uIGhvc3RzIHVuZGVyIHRoZWlyIGNvbnRyb2wuIFwKLUl0IGRvZXMgdGhpcyBieSBtYWlsaW5nIHN1bW1hcmllcyBvZiB0aGUgbG9nLWZpbGVzIHRvIHRoZW0sIGFmdGVyIGZpcnN0IFwKLWZpbHRlcmluZyBvdXQgIm5vcm1hbCIgZW50cmllcy4gXAotTm9ybWFsIGVudHJpZXMgYXJlIGVudHJpZXMgd2hpY2ggbWF0Y2ggb25lIG9mIHRoZSBtYW55IGluY2x1ZGVkIHJlZ3VsYXIgXAotZXhwcmVzc2lvbiBmaWxlcyBjb250YWluIGluIHRoZSBkYXRhYmFzZS4iCi1TRUNUSU9OID0gIkFwcGxpY2F0aW9ucy9TeXN0ZW0iCi1IT01FUEFHRSA9ICJodHRwOi8vbG9nY2hlY2sub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jOTNjMDU1MGJkMzE3M2Y0NTA0YjJjYmQ4OTkxZTUwYiIKLQotU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbC8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly85OV9sb2djaGVjayBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiN2I1MGQxMGRhNmYxODUyMjg2MjdjNTVmZGQ1MWY2MjQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDYyOTRjMDkyYjIxMTVlY2EzZDA1NGM1Nzc3ODcxOGM5MWRkMmUwZmQxYzQ2NjUwYjczNDNjMmE5MjY3MmNhOSIKLQotaW5oZXJpdCB1c2VyYWRkCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi1tIC1nICR7QlBOfSAtRyBhZG0gLXIgLWQgJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtCUE59IFwKLSAgICAgICAgICAgICAgICAgICAgICAgLXMgL2Jpbi9mYWxzZSAtYyAnbG9nY2hlY2sgYWNjb3VudCcgJHtCUE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLXIgJHtCUE59IgotCi1kb19pbnN0YWxsKCkgewotICAgICMgRml4IFFBIElzc3VlCi0gICAgc2VkIC1pICcvaW5zdGFsbCAtZCAkKERFU1RESVIpXC92YXJcL2xvY2tcL2xvZ2NoZWNrL3MvXi8jLycgTWFrZWZpbGUKLQotICAgICMgIm1ha2UgaW5zdGFsbCIgZG8gbm90IGluc3RhbGwgdGhlIG1hbnBhZ2VzLiBJbnN0YWxsIHRoZW0gbWFudWFsbHkuCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW4xCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7bWFuZGlyfS9tYW44Ci0gICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2djaGVjay10ZXN0LjEgJHtEfSR7bWFuZGlyfS9tYW4xLwotICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9ndGFpbC44ICR7RH0ke21hbmRpcn0vbWFuOC8KLSAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwyLjggJHtEfSR7bWFuZGlyfS9tYW44LwotCi0gICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kCi0gICAgaW5zdGFsbCAtbSA2NDQgZGViaWFuL2xvZ2NoZWNrLmNyb24uZCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmQvbG9nY2hlY2sKLSAgICBpbnN0YWxsIC1tIDc1NSAtZCAke0R9L3Zhci9saWIvbG9nY2hlY2sKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0KLQotICAgICMgaW5zdGFsbCBoZWFkZXIudHh0IGZvciBnZW5lcmF0ZWQgbWFpbHMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9kZWJpYW4vaGVhZGVyLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KLQotICAgIGNob3duIC1SICR7QlBOfToke0JQTn0gJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfQotICAgIGNob3duIC1SIHJvb3Q6JHtCUE59ICR7RH0ke3N5c2NvbmZkaXJ9LyR7QlBOfQotCi0gICAgIyBEb24ndCBpbnN0YWxsIC92YXIvbG9jayB3aGVuIHBvcHVsYXRpbmcgcm9vdGZzLiBEbyBpdCB0aHJvdWdoIHZvbGF0aWxlCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTlfbG9nY2hlY2sgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBmaQotICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZAotICAgICAgICBlY2hvICJkIC92YXIvbG9jay9sb2djaGVjayAwNzU1IGxvZ2NoZWNrIGxvZ2NoZWNrIC0iIFwKLSAgICAgICAgICAgID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9sb2djaGVjay5jb25mCi0gICAgZmkKLX0KLQotVklSVFVBTC1SVU5USU1FX3N5c2xvZyA/Pz0gInJzeXNsb2ciCi0KLVJERVBFTkRTXyR7UE59ID0gIlwKLSAgICBiYXNoIFwKLSAgICBjcm9uaWUgXAotICAgIGRlYmlhbnV0aWxzLXJ1bi1wYXJ0cyBcCi0gICAgZ3JlcCBcCi0gICAgbG9ja2ZpbGUtcHJvZ3MgXAotICAgIG1pbWUtY29uc3RydWN0IFwKLSAgICBwZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIFwKLSAgICBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIFwKLSAgICBwZXJsLW1vZHVsZS1maWxlLWdsb2IgXAotICAgICR7VklSVFVBTC1SVU5USU1FX3N5c2xvZ30gXAotIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9sb2d0YWlsIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtZXh0ZW5kZWQvbG9nY2hlY2svbG9nY2hlY2tfMS4zLjIwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYjI4MWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1leHRlbmRlZC9sb2djaGVjay9sb2djaGVja18xLjMuMjAuYmIKQEAgLTAsMCArMSw4MCBAQAorU1VNTUFSWSA9ICJBbmFseXplcyBsb2cgZmlsZXMgYW5kIHNlbmRzIG5vdGljZWFibGUgZXZlbnRzIGFzIGVtYWlsIgorREVTQ1JJUFRJT04gPSAiXAorTG9nY2hlY2sgaXMgYSBzaW1wbGUgdXRpbGl0eSB3aGljaCBpcyBkZXNpZ25lZCB0byBhbGxvdyBhIHN5c3RlbSBhZG1pbmlzdHJhdG9yIFwKK3RvIHZpZXcgdGhlIGxvZy1maWxlcyB3aGljaCBhcmUgcHJvZHVjZWQgdXBvbiBob3N0cyB1bmRlciB0aGVpciBjb250cm9sLiBcCitJdCBkb2VzIHRoaXMgYnkgbWFpbGluZyBzdW1tYXJpZXMgb2YgdGhlIGxvZy1maWxlcyB0byB0aGVtLCBhZnRlciBmaXJzdCBcCitmaWx0ZXJpbmcgb3V0ICJub3JtYWwiIGVudHJpZXMuIFwKK05vcm1hbCBlbnRyaWVzIGFyZSBlbnRyaWVzIHdoaWNoIG1hdGNoIG9uZSBvZiB0aGUgbWFueSBpbmNsdWRlZCByZWd1bGFyIFwKK2V4cHJlc3Npb24gZmlsZXMgY29udGFpbiBpbiB0aGUgZGF0YWJhc2UuIgorU0VDVElPTiA9ICJBcHBsaWNhdGlvbnMvU3lzdGVtIgorSE9NRVBBR0UgPSAiaHR0cDovL2xvZ2NoZWNrLm9yZy8iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzkzYzA1NTBiZDMxNzNmNDUwNGIyY2JkODk5MWU1MGIiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2wvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vOTlfbG9nY2hlY2sgXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjFjNmU5YTk3ZjljYzQ4NTM1M2MyNTE0N2NiOTlmYjI1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYjZkMDJiOTMzNDcwZDBiMWQxZWZiNTRlYTE4NmUwZDBkMjczMzZmOWQxNDZiZTU5MmY2NWNlNjBkZmIzZTYiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0iCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItbSAtZyAke0JQTn0gLUcgYWRtIC1yIC1kICR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7QlBOfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC1zIC9iaW4vZmFsc2UgLWMgJ2xvZ2NoZWNrIGFjY291bnQnICR7QlBOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yICR7QlBOfSIKKworZG9faW5zdGFsbCgpIHsKKyAgICAjIEZpeCBRQSBJc3N1ZQorICAgIHNlZCAtaSAnL2luc3RhbGwgLWQgJChERVNURElSKVwvdmFyXC9sb2NrXC9sb2djaGVjay9zL14vIy8nIE1ha2VmaWxlCisKKyAgICAjICJtYWtlIGluc3RhbGwiIGRvIG5vdCBpbnN0YWxsIHRoZSBtYW5wYWdlcy4gSW5zdGFsbCB0aGVtIG1hbnVhbGx5LgorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuMQorICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gNjQ0IGRvY3MvbG9nY2hlY2stdGVzdC4xICR7RH0ke21hbmRpcn0vbWFuMS8KKyAgICBpbnN0YWxsIC1tIDY0NCBkb2NzL2xvZ3RhaWwuOCAke0R9JHttYW5kaXJ9L21hbjgvCisgICAgaW5zdGFsbCAtbSA2NDQgZG9jcy9sb2d0YWlsMi44ICR7RH0ke21hbmRpcn0vbWFuOC8KKworICAgIGluc3RhbGwgLW0gNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZAorICAgIGluc3RhbGwgLW0gNjQ0IGRlYmlhbi9sb2djaGVjay5jcm9uLmQgJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kL2xvZ2NoZWNrCisgICAgaW5zdGFsbCAtbSA3NTUgLWQgJHtEfS92YXIvbGliL2xvZ2NoZWNrCisKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0ke0R9CisKKyAgICAjIGluc3RhbGwgaGVhZGVyLnR4dCBmb3IgZ2VuZXJhdGVkIG1haWxzCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vZGViaWFuL2hlYWRlci50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtCUE59CisKKyAgICBjaG93biAtUiAke0JQTn06JHtCUE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0KKyAgICBjaG93biAtUiByb290OiR7QlBOfSAke0R9JHtzeXNjb25mZGlyfS8ke0JQTn0KKworICAgICMgRG9uJ3QgaW5zdGFsbCAvdmFyL2xvY2sgd2hlbiBwb3B1bGF0aW5nIHJvb3Rmcy4gRG8gaXQgdGhyb3VnaCB2b2xhdGlsZQorICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X2xvZ2NoZWNrICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisgICAgZmkKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKyAgICAgICAgZWNobyAiZCAvdmFyL2xvY2svbG9nY2hlY2sgMDc1NSBsb2djaGVjayBsb2djaGVjayAtIiBcCisgICAgICAgICAgICA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvbG9nY2hlY2suY29uZgorICAgIGZpCit9CisKK1ZJUlRVQUwtUlVOVElNRV9zeXNsb2cgPz89ICJyc3lzbG9nIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgYmFzaCBcCisgICAgY3JvbmllIFwKKyAgICBkZWJpYW51dGlscy1ydW4tcGFydHMgXAorICAgIGdyZXAgXAorICAgIGxvY2tmaWxlLXByb2dzIFwKKyAgICBtaW1lLWNvbnN0cnVjdCBcCisgICAgcGVybCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSBcCisgICAgcGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1nbG9iIFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV9zeXNsb2d9IFwKKyIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbG9ndGFpbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvYWRkdXNlci9hZGR1c2VyXzMuMTE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKaW5kZXggNjYwYTdmNy4uZTY5NWM1OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9hZGR1c2VyL2FkZHVzZXJfMy4xMTguYmIKQEAgLTIyLDcgKzIyLDcgQEAKICAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9hZGR1c2VyICR7RH0ke3NiaW5kaXJ9CiAgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vZGVsdXNlciAke0R9JHtzYmluZGlyfQogCi0gICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7U30vQWRkdXNlckNvbW1vbi5wbSAke0R9JHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KKyAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtTfS9BZGR1c2VyQ29tbW9uLnBtICR7RH0ke2xpYmRpcn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vRGViaWFuL0FkZHVzZXJDb21tb24ucG0KICAgICBzZWQgLWkgLWUgInMvVkVSU0lPTi8ke1BWfS8iICR7RH0ke3NiaW5kaXJ9LyoKIAogICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNjcxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtYmFzZS5iYgpAQCAtMCwwICsxLDcgQEAKK1NVTU1BUlkgPSAibWV0YS1wZXIgYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCA9ICJwYWNrYWdlZ3JvdXAtY29yZS1ib290IgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEwZDIwYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXBlcmwiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2ltYWdlcy9tZXRhLXBlcmwtcHRlc3QtaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I3NzZmOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvaW1hZ2VzL21ldGEtcGVybC1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcGVybC1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1wZXJsIGJ1aWxkIHB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjBmODgwOC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2MC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBsaWJyYXJ5IGZvciB0cmFuc3BhcmVudCBTU0wiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhIHRydWUgZHJvcC1pbiByZXBsYWNlbWVudCBmb3IgSU86OlNvY2tldDo6SU5FVCB0aGF0IFwKLXVzZXMgU1NMIHRvIGVuY3J5cHQgZGF0YSBiZWZvcmUgaXQgaXMgdHJhbnNmZXJyZWQgdG8gYSByZW1vdGUgc2VydmVyIFwKLW9yIGNsaWVudC4gSU86OlNvY2tldDo6U1NMIHN1cHBvcnRzIGFsbCB0aGUgZXh0cmEgZmVhdHVyZXMgdGhhdCBvbmUgXAotbmVlZHMgdG8gd3JpdGUgYSBmdWxsLWZlYXR1cmVkIFNTTCBjbGllbnQgb3Igc2VydmVyIGFwcGxpY2F0aW9uOiBcCi1tdWx0aXBsZSBTU0wgY29udGV4dHMsIGNpcGhlciBzZWxlY3Rpb24sIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiwgYW5kIFwKLVNTTCB2ZXJzaW9uIHNlbGVjdGlvbi4gQXMgYW4gZXh0cmEgYm9udXMsIGl0IHdvcmtzIHBlcmZlY3RseSB3aXRoIFwKLW1vZF9wZXJsLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvZGlzdC9JTy1Tb2NrZXQtU1NMLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJBcnRpc3RpYy0xLjB8R1BMdjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTUVUQS55bWw7YmVnaW5saW5lPTExO2VuZGxpbmU9MTE7bWQ1PTk2M2NlMjgyMjgzNDc4NzVhY2U2ODJkZTU2ZWVmOGU4IgotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYm5ldC1zc2xlYXktcGVybCBcCi0gICAgcGVybC1tb2R1bGUtYXV0b2xvYWRlciBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvUy9TVS9TVUxMUi9JTy1Tb2NrZXQtU1NMLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5N2ZhNmNkNjRmMTVkYjYwZjgxMGNkOGFiMDJkNTdmYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYjViMjg3N2FjNWI2ODZhNWQ3YjhkZDcxY2Y1NDY0ZmZlNzVkMTBjMzIwNDdiNTU3MDY3NDg3MGU0NmIxYjhjIgotCi1TID0gIiR7V09SS0RJUn0vSU8tU29ja2V0LVNTTC0ke1BWfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBta2RpciAtcCAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQlVHUyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vQ2hhbmdlcyAke0R9JHtkb2NkaXJ9LyR7UE59LwotICAgIGNwICR7U30vUkVBRE1FICR7RH0ke2RvY2Rpcn0vJHtQTn0vCi0gICAgY3AgLXBSUCAke1N9L2RvY3MgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vY2VydHMgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KLSAgICBjcCAtcFJQICR7U30vZXhhbXBsZSAke0R9JHtkb2NkaXJ9LyR7UE59LwotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLSAgICBjcCAtciAke0J9L3QgJHtEfSR7UFRFU1RfUEFUSH0KLSAgICBjcCAtciAke0J9L2NlcnRzICR7RH0ke1BURVNUX1BBVEh9Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYmlvL2xpYmlvLXNvY2tldC1zc2wtcGVybF8yLjA2Ni5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjA5ODQ2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJpby9saWJpby1zb2NrZXQtc3NsLXBlcmxfMi4wNjYuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJQZXJsIGxpYnJhcnkgZm9yIHRyYW5zcGFyZW50IFNTTCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgbW9kdWxlIGlzIGEgdHJ1ZSBkcm9wLWluIHJlcGxhY2VtZW50IGZvciBJTzo6U29ja2V0OjpJTkVUIHRoYXQgXAordXNlcyBTU0wgdG8gZW5jcnlwdCBkYXRhIGJlZm9yZSBpdCBpcyB0cmFuc2ZlcnJlZCB0byBhIHJlbW90ZSBzZXJ2ZXIgXAorb3IgY2xpZW50LiBJTzo6U29ja2V0OjpTU0wgc3VwcG9ydHMgYWxsIHRoZSBleHRyYSBmZWF0dXJlcyB0aGF0IG9uZSBcCituZWVkcyB0byB3cml0ZSBhIGZ1bGwtZmVhdHVyZWQgU1NMIGNsaWVudCBvciBzZXJ2ZXIgYXBwbGljYXRpb246IFwKK211bHRpcGxlIFNTTCBjb250ZXh0cywgY2lwaGVyIHNlbGVjdGlvbiwgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLCBhbmQgXAorU1NMIHZlcnNpb24gc2VsZWN0aW9uLiBBcyBhbiBleHRyYSBib251cywgaXQgd29ya3MgcGVyZmVjdGx5IHdpdGggXAorbW9kX3BlcmwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9kaXN0L0lPLVNvY2tldC1TU0wvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkFydGlzdGljLTEuMHxHUEx2MSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NRVRBLnltbDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0xMjttZDU9OTYzY2UyODIyODM0Nzg3NWFjZTY4MmRlNTZlZWY4ZTgiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBwZXJsLW1vZHVsZS1hdXRvbG9hZGVyIFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9TL1NVL1NVTExSL0lPLVNvY2tldC1TU0wtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImVjZjk2Y2UyZmY5ZTA0YTAzYTJkMTAxYzc2Y2UxMDIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNDcwNjQ3ODFhNTQ1MzA0ZDVkY2VhNWRmY2VlM2FjYzJlOTVhMzJlMWI0ODg0ZDgwNTA1Y2RlOGVlNmViY2QiCisKK1MgPSAiJHtXT1JLRElSfS9JTy1Tb2NrZXQtU1NMLSR7UFZ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIG1rZGlyIC1wICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9CVUdTICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9DaGFuZ2VzICR7RH0ke2RvY2Rpcn0vJHtQTn0vCisgICAgY3AgJHtTfS9SRUFETUUgJHtEfSR7ZG9jZGlyfS8ke1BOfS8KKyAgICBjcCAtcFJQICR7U30vZG9jcyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9jZXJ0cyAke0R9JHtkb2NkaXJ9LyR7UE59LworICAgIGNwIC1wUlAgJHtTfS9leGFtcGxlICR7RH0ke2RvY2Rpcn0vJHtQTn0vCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworICAgIGNwIC1yICR7Qn0vdCAke0R9JHtQVEVTVF9QQVRIfQorICAgIGNwIC1yICR7Qn0vY2VydHMgJHtEfSR7UFRFU1RfUEFUSH0KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTBjOWM0Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBETlMucG0gbW9kdWxlIHdpdGggZnJpZW5kcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5ldC1kbnMub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTI1MjtlbmRsaW5lPTI2OTttZDU9MjdkYjM3YjQyY2QxYTUxNzNhNTM5MjJkNjcwNzJiY2IiCi0KLURFUEVORFMgKz0gInBlcmwiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NlYXJjaC5jcGFuLm9yZy9DUEFOL2F1dGhvcnMvaWQvTi9OTC9OTE5FVExBQlMvTmV0LUROUy0ke1BWfS50YXIuZ3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2N2FmN2U1YzFjMzM5ZjYwYzQ1YzEwNTQzNzRiZDhlZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1MmNlMTQ5NGZjOTcwN2ZkNWE2MGVkNzFkYjVjZGU3MjcxNTdiN2YyMzYzNzg3ZDczMGQ0ZDFiZDk4MDBhOWQzIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOZXRcLUROU1wtKD9QPHB2ZXI+KFxkK1wuXGQrKSkoPyFfXGQrKS50YXIiCi0KLVMgPSAiJHtXT1JLRElSfS9OZXQtRE5TLSR7UFZ9IgotCi1FWFRSQV9DUEFORkxBR1MgPSAiRVhQQVRMSUJQQVRIPSR7U1RBR0lOR19MSUJESVJ9IEVYUEFUSU5DUEFUSD0ke1NUQUdJTkdfSU5DRElSfSIKLQotaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKLQotUkRFUEVORFNfJHtQTn0gPSAiIFwKLSAgICBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKLSAgICBwZXJsLW1vZHVsZS1iYXNlIFwKLSAgICBwZXJsLW1vZHVsZS1jb25zdGFudCBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LW1kNSBcCi0gICAgcGVybC1tb2R1bGUtZGlnZXN0LXNoYSBcCi0gICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKLSAgICBwZXJsLW1vZHVsZS1pbnRlZ2VyIFwKLSAgICBwZXJsLW1vZHVsZS1pby1maWxlIFwKLSAgICBwZXJsLW1vZHVsZS1pby1zZWxlY3QgXAotICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBcCi0gICAgcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIFwKLSAgICBwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCBcCi0gICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAotICAgIHBlcmwtbW9kdWxlLXRlc3QtbW9yZSBcCi0gICAgcGVybC1tb2R1bGUtdGltZS1sb2NhbCBcCi0iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICIgXAotICAgIGxpYm5ldC1kbnMtc2VjLXBlcmwgXAotIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKLSAgICBwZXJsLW1vZHVsZS1lbmNvZGUgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZS1ieXRlIFwKLSAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbSBcCi0gICAgcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCBcCi0gICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAotIgotCi1weXRob24gX19hbm9ueW1vdXMgKCkgewotICAgICMgcmF0aGVyIHRoYW4gdXNlICJmaW5kIiB0byBkZXRlcm1pbmUgbGliYy0qLnNvLAotICAgICMgc3RhdGljYWxseSBleHBvcnQgdGhlIGtub3duIHBhdGhzIGZvciBnbGliYyBhbmQgbXVzbAotICAgIGltcG9ydCBvcwotICAgIGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAiZ2xpYmMiOgotICAgICAgICBvcy5lbnZpcm9uWyJMSUJDIl0gPSAiJHtTVEFHSU5HX0JBU0VMSUJESVJ9L2xpYmMuc28uNiIKLSAgICBlbGlmIGQuZ2V0VmFyKCdUQ0xJQkMnKSA9PSAibXVzbCI6Ci0gICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfTElCRElSfS9saWJjLnNvIgotICAgIGVsc2U6Ci0gICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiaW5jb21wYXRpYmxlIHdpdGggJXMgQyBsaWJyYXJ5IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdUQ0xJQkMnKSkKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlibmV0L2xpYm5ldC1kbnMtcGVybF8xLjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYmU2MDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYm5ldC9saWJuZXQtZG5zLXBlcmxfMS4xOS5iYgpAQCAtMCwwICsxLDY2IEBACitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIEROUy5wbSBtb2R1bGUgd2l0aCBmcmllbmRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubmV0LWRucy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNSVQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MjUyO2VuZGxpbmU9MjY5O21kNT0yN2RiMzdiNDJjZDFhNTE3M2E1MzkyMmQ2NzA3MmJjYiIKKworREVQRU5EUyArPSAicGVybCIKKworU1JDX1VSSSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL0NQQU4vYXV0aG9ycy9pZC9OL05ML05MTkVUTEFCUy9OZXQtRE5TLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhhNDA0MDI4ODg0ODdiODUzZjg2MWQyMTQzM2YzNDFhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIwNjI3OGJkZDlhNTM4YmVjM2U0NWI1MGU4MGNjNWE5ZDdkYzZlNzBlYmYwODg5ZWY3ODI1NGYwZjcxMGNjZDciCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5ldFwtRE5TXC0oP1A8cHZlcj4oXGQrXC5cZCspKSg/IV9cZCspLnRhciIKKworUyA9ICIke1dPUktESVJ9L05ldC1ETlMtJHtQVn0iCisKK0VYVFJBX0NQQU5GTEFHUyA9ICJFWFBBVExJQlBBVEg9JHtTVEFHSU5HX0xJQkRJUn0gRVhQQVRJTkNQQVRIPSR7U1RBR0lOR19JTkNESVJ9IgorCitpbmhlcml0IGNwYW4gcHRlc3QtcGVybAorCitSREVQRU5EU18ke1BOfSA9ICIgXAorICAgIGxpYmRpZ2VzdC1obWFjLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWJhc2UgXAorICAgIHBlcmwtbW9kdWxlLWNvbnN0YW50IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3QtbWQ1IFwKKyAgICBwZXJsLW1vZHVsZS1kaWdlc3Qtc2hhIFwKKyAgICBwZXJsLW1vZHVsZS1maWxlLXNwZWMgXAorICAgIHBlcmwtbW9kdWxlLWludGVnZXIgXAorICAgIHBlcmwtbW9kdWxlLWlvLWZpbGUgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNlbGVjdCBcCisgICAgcGVybC1tb2R1bGUtaW8tc29ja2V0IFwKKyAgICBwZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgXAorICAgIHBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IFwKKyAgICBwZXJsLW1vZHVsZS1zY2FsYXItdXRpbCBcCisgICAgcGVybC1tb2R1bGUtdGVzdC1tb3JlIFwKKyAgICBwZXJsLW1vZHVsZS10aW1lLWxvY2FsIFwKKyIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBcCisiCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgXAorICAgIHBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tIFwKKyAgICBwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IFwKKyAgICBwZXJsLW1vZHVsZS1vdmVybG9hZCBcCisiCisKK3B5dGhvbiBfX2Fub255bW91cyAoKSB7CisgICAgIyByYXRoZXIgdGhhbiB1c2UgImZpbmQiIHRvIGRldGVybWluZSBsaWJjLSouc28sCisgICAgIyBzdGF0aWNhbGx5IGV4cG9ydCB0aGUga25vd24gcGF0aHMgZm9yIGdsaWJjIGFuZCBtdXNsCisgICAgaW1wb3J0IG9zCisgICAgaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJnbGliYyI6CisgICAgICAgIG9zLmVudmlyb25bIkxJQkMiXSA9ICIke1NUQUdJTkdfQkFTRUxJQkRJUn0vbGliYy5zby42IgorICAgIGVsaWYgZC5nZXRWYXIoJ1RDTElCQycpID09ICJtdXNsIjoKKyAgICAgICAgb3MuZW52aXJvblsiTElCQyJdID0gIiR7U1RBR0lOR19MSUJESVJ9L2xpYmMuc28iCisgICAgZWxzZToKKyAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJpbmNvbXBhdGlibGUgd2l0aCAlcyBDIGxpYnJhcnkiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC5nZXRWYXIoJ1RDTElCQycpKQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTMyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE4NDAxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvbGlieG1sL2xpYnhtbC1saWJ4bWwtcGVybF8yLjAxMzIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKLXdpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCi1pbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAotVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCi1zZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKLXlvdXIgcHJvZ3JhbXMuIgotCi1IT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKLURFUEVORFMgKz0gImxpYnhtbDIgXAotICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKLSAgICAgICAgemxpYiBcCi0iCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIGxpYnhtbDIgXAotICAgIGxpYnhtbC1zYXgtcGVybCBcCi0gICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAotICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCi0gICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAotICAgIHpsaWIgXAotIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCi0gICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCi0gICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAotICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKLSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKLSAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAotIgotU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICI0MzU0NmZkOWEzOTc0ZjE5MzIzZjlmYjA0ODYxZWNlOSIKLVNSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiNzIxNDUyZTMxMDNjYTE4OGY1OTY4YWIwNmQ1YmEyOWZlOGUwMGU0OWY0NzY3NzkwODgyMDk1MDUwMzEyZDQ3NiIKLQotUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCi0KLWluaGVyaXQgY3BhbgotCi1FWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1DRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKLUJVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgotCi1GSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL2xpYnhtbC9saWJ4bWwtbGlieG1sLXBlcmxfMi4wMTM0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzUzNTIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1wZXJsL3JlY2lwZXMtcGVybC9saWJ4bWwvbGlieG1sLWxpYnhtbC1wZXJsXzIuMDEzNC5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIlBlcmwgaW50ZXJmYWNlIHRvIHRoZSBsaWJ4bWwyIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUaGlzIG1vZHVsZSBpcyBhbiBpbnRlcmZhY2UgdG8gbGlieG1sMiwgcHJvdmlkaW5nIFhNTCBhbmQgSFRNTCBwYXJzZXJzIFwKK3dpdGggRE9NLCBTQVggYW5kIFhNTFJlYWRlciBpbnRlcmZhY2VzLCBhIGxhcmdlIHN1YnNldCBvZiBET00gTGF5ZXIgMyBcCitpbnRlcmZhY2UgYW5kIGEgWE1MOjpYUGF0aC1saWtlIGludGVyZmFjZSB0byBYUGF0aCBBUEkgb2YgbGlieG1sMi4gXAorVGhlIG1vZHVsZSBpcyBzcGxpdCBpbnRvIHNldmVyYWwgcGFja2FnZXMgd2hpY2ggYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhpcyBcCitzZWN0aW9uOyB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZSwgeW91IG9ubHkgbmVlZCB0byB1c2UgWE1MOjpMaWJYTUw7IGluIFwKK3lvdXIgcHJvZ3JhbXMuIgorCitIT01FUEFHRSA9ICJodHRwOi8vc2VhcmNoLmNwYW4ub3JnL2Rpc3QvWE1MLUxpYlhNTC0xLjk5LyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wfEdQTHYxKyIKK0RFUEVORFMgKz0gImxpYnhtbDIgXAorICAgICAgICBsaWJ4bWwtc2F4LXBlcmwtbmF0aXZlIFwKKyAgICAgICAgemxpYiBcCisiCitSREVQRU5EU18ke1BOfSArPSAiXAorICAgIGxpYnhtbDIgXAorICAgIGxpYnhtbC1zYXgtcGVybCBcCisgICAgbGlieG1sLXNheC1iYXNlLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWVuY29kZSBcCisgICAgcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgXAorICAgIHpsaWIgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9zZWFyY2guY3Bhbi5vcmcvQ1BBTi9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9YTUwtTGliWE1MLSR7UFZ9LnRhci5nejtuYW1lPWxpYnhtbCBcCisgICAgZmlsZTovL2Rpc2FibGUtbGlieG1sMi1jaGVjay5wYXRjaCBcCisgICAgZmlsZTovL2ZpeC1DQVRBTE9HLWNvbmRpdGlvbmFsLWNvbXBpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly91c2luZy1ET0NCLWNvbmRpdGlvbmFsLnBhdGNoIFwKKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PTY0ZWRhMWJjMTM1ZjBlY2UxZDExODdmMmE4YWM4MmMxIFwKKyAgICBmaWxlOi8vTElDRU5TRTttZDU9OTc4NzFiZGUxNTBkYWViNWU2MWFkOTUxMzdmZjI0NDYgXAorIgorU1JDX1VSSVtsaWJ4bWwubWQ1c3VtXSA9ICJkY2U2ODdkZDhiN2U4MmQxYzM1OWZkNzRiMTg1MmY2NCIKK1NSQ19VUklbbGlieG1sLnNoYTI1NnN1bV0gPSAiZjBiY2E0ZDBjMmRhMzVkODc5ZmVlNGNkMTNmMzUyMDE0MTg2Y2VkYWIyN2FiNWUxOTFmMzliNWQ3ZDRmNDZjZiIKKworUyA9ICIke1dPUktESVJ9L1hNTC1MaWJYTUwtJHtQVn0iCisKK2luaGVyaXQgY3BhbgorCitFWFRSQV9DUEFORkxBR1MgPSAiSU5DPS1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlieG1sMiBMSUJTPS1MJHtTVEFHSU5HX0xJQkRJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitDRkxBR1MgKz0gIiAtRF9HTlVfU09VUkNFICIKK0JVSUxEX0NGTEFHUyArPSAiIC1EX0dOVV9TT1VSQ0UgIgorCitGSUxFU18ke1BOfS1kYmcgPSsgIiR7bGliZGlyfS9wZXJsL3ZlbmRvcl9wZXJsLyovYXV0by9YTUwvTGliWE1MLy5kZWJ1Zy8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcGVybC9yZWNpcGVzLXBlcmwvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMGUzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXBlcmwvcmVjaXBlcy1wZXJsL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtcGVybC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIk1ldGEtcGVybCBwYWNrYWdlZ3JvdXAiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkIFwKKycKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcGVybCA9ICJcCisgICAgbGlicHJvYy13YWl0c3RhdC1wZXJsIGxpYm1vby1wZXJsIGxpYnRlcm0tcmVhZGtleS1wZXJsIFwKKyAgICBsaWJ1bmljb2RlLWxpbmVicmVhay1wZXJsIGxpYmN1cnNlcy1wZXJsIGxpYm1pbWUtdHlwZXMtcGVybCBcCisgICAgbGlibWltZS1jaGFyc2V0LXBlcmwgbGliaW8tc29ja2V0LXNzbC1wZXJsIGxpYmlvLXN0cmluZ3ktcGVybCBcCisgICAgbGlidGV4dC1pY29udi1wZXJsIGxpYnRleHQtY2hhcndpZHRoLXBlcmwgbGlidGV4dC1kaWZmLXBlcmwgXAorICAgIGxpYnRleHQtd3JhcGkxOG4tcGVybCBsaWJsb2NhbGUtZ2V0dGV4dC1wZXJsIGxpYmRhdGEtaGV4ZHVtcC1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1pbnN0YWxscGF0aHMtcGVybCBsaWJleHR1dGlscy1oZWxwZXJzLXBlcmwgbGliZXh0dXRpbHMtcGFyc2V4cy1wZXJsIFwKKyAgICBsaWJleHR1dGlscy1jb25maWctcGVybCBsaWJleHR1dGlscy1jcHBndWVzcy1wZXJsIGxpYmltcG9ydC1pbnRvLXBlcmwgXAorICAgIGxpYmNyeXB0LW9wZW5zc2wtcnNhLXBlcmwgbGliY3J5cHQtb3BlbnNzbC1ndWVzcyBsaWJjcnlwdC1vcGVuc3NsLXJhbmRvbS1wZXJsIFwKKyAgICBsaWJ4bWwtc2F4LXdyaXRlci1wZXJsIGxpYnhtbC1saWJ4bWwtcGVybCBsaWJ4bWwtZmlsdGVyLWJ1ZmZlcnRleHQtcGVybCBcCisgICAgYWRkdXNlciBcCisgICAgbGliYXV0aGVuLXNhc2wtcGVybCBsaWJuZXQtbGRhcC1wZXJsIGxpYm5ldC1kbnMtcGVybCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybCBsaWJuZXQtbGliaWRuLXBlcmwgbGlibmV0LXNzbGVheS1wZXJsIFwKKyAgICBsaWJuZXQtdGVsbmV0LXBlcmwgbGliZGV2ZWwtZ2xvYmFsZGVzdHJ1Y3Rpb24tcGVybCBsaWJpcGMtc2lnbmFsLXBlcmwgXAorICAgIGxpYnJvbGUtdGlueS1wZXJsIGxpYmVuY29kZS1wZXJsIGxpYmVuY29kZS1sb2NhbGUtcGVybCBcCisgICAgbGliZmlsZS1zbHVycC1wZXJsIGxpYmNhcHR1cmUtdGlueS1wZXJsIFwKKyAgICBwbzRhIFwKKyAgICBsaWJzdHJpY3R1cmVzLXBlcmwgbGlidGVzdC1oYXJuZXNzLXBlcmwgbGlic3ViLWV4cG9ydGVyLXByb2dyZXNzaXZlLXBlcmwgXAorICAgIGxpYmNsYXNzLW1ldGhvZC1tb2RpZmllcnMtcGVybCBsaWJodG1sLXBhcnNlci1wZXJsIGxpYmh0bWwtdHJlZS1wZXJsIFwKKyAgICBsaWJtb2R1bGUtcGx1Z2dhYmxlLXBlcmwgbGlibW9kdWxlLWJ1aWxkLXBlcmwgbGlibW9kdWxlLXJ1bnRpbWUtcGVybCBcCisgICAgbGlibW9kdWxlLWJ1aWxkLXRpbnktcGVybCBsaWJjZ2ktcGVybCBsaWJhbGdvcml0aG0tZGlmZi1wZXJsIFwKKyAgICBsaWJkYmQtc3FsaXRlLXBlcmwgbGliZGlnZXN0LXNoYTEtcGVybCBsaWJkaWdlc3QtaG1hYy1wZXJsIFwKKyAgICAiIAorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLWV4dGVuZGVkID0gIlwKKyAgICBsb2djaGVjayBtaW1lLWNvbnN0cnVjdCBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1wZXJsLXB0ZXN0ID0gIlwKKyAgICBsaWJtaW1lLXR5cGVzLXBlcmwtcHRlc3QgXAorICAgIGxpYmlvLXNvY2tldC1zc2wtcGVybC1wdGVzdCBcCisgICAgbGliZGF0YS1oZXhkdW1wLXBlcmwtcHRlc3QgXAorICAgIGxpYmF1dGhlbi1zYXNsLXBlcmwtcHRlc3QgXAorICAgIGxpYm5ldC1kbnMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LWRucy1zZWMtcGVybC1wdGVzdCBcCisgICAgbGlibmV0LXNzbGVheS1wZXJsLXB0ZXN0IFwKKyAgICBsaWJ0ZXN0LWhhcm5lc3MtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LXNoYTEtcGVybC1wdGVzdCBcCisgICAgbGliZGlnZXN0LWhtYWMtcGVybC1wdGVzdCBcCisgICAgIgorCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL1JFQURNRQppbmRleCA5YzEwYzc4Li43MDViMDM1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9SRUFETUUKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vUkVBRE1FCkBAIC0xMywxMiArMTMsMTIgQEAKIAogCVVSSTogZ2l0Oi8vZ2l0Lm9wZW5lbWJlZGRlZC5vcmcvb3BlbmVtYmVkZGVkLWNvcmUKIAlsYXllcnM6IG1ldGEKLQlicmFuY2g6IHRodWQKKwlicmFuY2g6IG1hc3RlcgogCXJldmlzaW9uOiBIRUFECiAKIAlVUkk6IGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL21ldGEtb3BlbmVtYmVkZGVkCiAJbGF5ZXJzOiBtZXRhLW9lCi0JYnJhbmNoOiB0aHVkCisJYnJhbmNoOiBtYXN0ZXIKIAlyZXZpc2lvbjogSEVBRAogCiBQbGVhc2UgZm9sbG93IHRoZSByZWNvbW1lbmRlZCBzZXR1cCBwcm9jZWR1cmVzIG9mIHlvdXIgT0UgZGlzdHJpYnV0aW9uLgpAQCAtMzUsMTMgKzM1LDE1IEBACiBiZWZvcmUgcG9zdGluZy4KIAogU2VuZCBwdWxsIHJlcXVlc3RzIHRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdpdGgKLSdbbWV0YS1weXRob25dW3RodWRdJyBpbiB0aGUgc3ViamVjdC4KKydbbWV0YS1weXRob25dJyBpbiB0aGUgc3ViamVjdC4KIAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNlIHNvbWV0aGluZyBsaWtlOiAKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvPW9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1weXRob25dW3RodWRdW1BBVENIJworJ2dpdCBzZW5kLWVtYWlsIC1NIC0xIC0tdG89b3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgLS1zdWJqZWN0LXByZWZpeD1tZXRhLXB5dGhvbl1bUEFUQ0gnCiAKIE1haW50ZW5hbmNlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRodWQgTWFpbnRhaW5lcnM6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CitMYXllciBNYWludGFpbmVyczoKKyAgICAgICAgVGltICJtb3RvLXRpbW8iIE9ybGluZyA8VGljb1RpbW9AZ21haWwuY29tPgorICAgICAgICBEZXJlayBTdHJha2EgPGRlcmVrQGFzdGVyaXVzLmlvPgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jbGFzc2VzL2JhbmRpdC5iYmNsYXNzIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzEwNDFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY2xhc3Nlcy9iYW5kaXQuYmJjbGFzcwpAQCAtMCwwICsxLDYzIEBACisjIENsYXNzIHRvIHNjYW4gUHl0aG9uIGNvZGUgZm9yIHNlY3VyaXR5IGlzc3VlcywgdXNpbmcgQmFuZGl0LgorIworIyAkIGJpdGJha2UgcHl0aG9uLWZvbyAtYyBiYW5kaXQKKyMKKyMgV3JpdGVzIHRoZSByZXBvcnQgdG8gJERFUExPWV9ESVIvYmFuZGl0L3B5dGhvbi1mb28uaHRtbC4KKyMgTm8gb3V0cHV0IGlmIG5vIGlzc3VlcyBmb3VuZCwgYSB3YXJuaW5nIGlmIGlzc3VlcyBmb3VuZC4KKyMKKyMgaHR0cHM6Ly9naXRodWIuY29tL1B5Q1FBL2JhbmRpdAorCisjIERlZmF1bHQgbG9jYXRpb24gb2Ygc291cmNlcywgYmFzZWQgb24gc3RhbmRhcmQgZGlzdHV0aWxzCitCQU5ESVRfU09VUkNFID89ICIke1N9L2J1aWxkIgorCisjIFRoZSByZXBvcnQgZm9ybWF0IHRvIHVzZS4KKyMgaHR0cHM6Ly9iYW5kaXQucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L2Zvcm1hdHRlcnMvaW5kZXguaHRtbAorQkFORElUX0ZPUk1BVCA/PSAiaHRtbCIKKworIyBXaGV0aGVyIGEgc2NhbiBzaG91bGQgYmUgZG9uZSBldmVyeSB0aW1lIHRoZSByZWNpcGUgaXMgYnVpbHQuCisjCisjIEJ5IGRlZmF1bHQgdGhlIHNjYW5uaW5nIG5lZWRzIHRvIGJlIGRvbmUgZXhwbGljaXRseSwgYnV0IGJ5IHNldHRpbmcgQkFORElUX0FVVE8KKyMgdG8gMSB0aGUgc2NhbiB3aWxsIGJlIGRvbmUgd2hlbmV2ZXIgdGhlIHJlY2lwZSBpdCBidWlsdC4gIE5vdGUgdGhhdCB5b3UKKyMgc2hvdWxkbid0IHNldCBCQU5ESVRfQVVUTyB0byAxIGdsb2JhbGx5IGFzIGl0IHdpbGwgdGhlbiB0cnkgdG8gc2NhbiBldmVyeQorIyByZWNpcGUsIGluY2x1ZGluZyBub24tUHl0aG9uIHJlY2lwZXMsIGNhdXNpbmcgY2lyY3VsYXIgbG9vcHMuCitCQU5ESVRfQVVUTyA/PSAiMCIKKworIyBXaGV0aGVyIEJhbmRpdCBmaW5kaW5nIGlzc3VlcyByZXN1bHRzIGluIGEgd2FybmluZyAoMCkgb3IgYW4gZXJyb3IgKDEpLgorQkFORElUX0ZBVEFMID89ICIwIgorCitkb19iYW5kaXRbZGVwZW5kc10gPSAicHl0aG9uMy1iYW5kaXQtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCitweXRob24gZG9fYmFuZGl0KCkgeworICAgIGltcG9ydCBvcywgc3VicHJvY2VzcworICAgIHRyeToKKyAgICAgICAgcmVwb3J0ID0gZC5leHBhbmQoIiR7REVQTE9ZX0RJUn0vYmFuZGl0LyR7UE59LSR7UFZ9LiR7QkFORElUX0ZPUk1BVH0iKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUocmVwb3J0KSwgZXhpc3Rfb2s9VHJ1ZSkKKworICAgICAgICBhcmdzID0gKCJiYW5kaXQiLAorICAgICAgICAgICAgICAgICItLWZvcm1hdCIsIGQuZ2V0VmFyKCJCQU5ESVRfRk9STUFUIiksCisgICAgICAgICAgICAgICAgIi0tb3V0cHV0IiwgcmVwb3J0LAorICAgICAgICAgICAgICAgICItbGwiLAorICAgICAgICAgICAgICAgICItLXJlY3Vyc2l2ZSIsIGQuZ2V0VmFyKCJCQU5ESVRfU09VUkNFIikpCisgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KGFyZ3MsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKKyAgICAgICAgYmIubm90ZSgiQmFuZGl0IGZvdW5kIG5vIGlzc3VlcyAocmVwb3J0IHdyaXR0ZW4gdG8gJXMpIiAlIHJlcG9ydCkKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgaWYgZS5yZXR1cm5jb2RlID09IDE6CisgICAgICAgICAgICBpZiBvZS50eXBlcy5ib29sZWFuKGQuZ2V0VmFyKCJCQU5ESVRfRkFUQUwiKSk6CisgICAgICAgICAgICAgICAgYmIuZXJyb3IoIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJiLndhcm4oIkJhbmRpdCBmb3VuZCBpc3N1ZXMgKHJlcG9ydCB3cml0dGVuIHRvICVzKSIgJSByZXBvcnQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBiYi5lcnJvcigiQmFuZGl0IGZhaWxlZDpcbiIgKyBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpCit9CisKK3B5dGhvbigpIHsKKyAgICBiZWZvcmUgPSAiZG9fYnVpbGQiCisgICAgYWZ0ZXIgPSAiZG9fY29tcGlsZSIKKworICAgIGlmIG9lLnR5cGVzLmJvb2xlYW4oZC5nZXRWYXIoIkJBTkRJVF9BVVRPIikpOgorICAgICAgICBiYi5idWlsZC5hZGR0YXNrKCJkb19iYW5kaXQiLCBiZWZvcmUsIGFmdGVyLCBkKQorICAgIGVsc2U6CisgICAgICAgIGJiLmJ1aWxkLmFkZHRhc2soImRvX2JhbmRpdCIsIE5vbmUsIGFmdGVyLCBkKQorfQorCisjIFRPRE86IHN0b3JlIHJlcG9ydCBpbiBzc3RhdGUKKyMgVE9ETzogYSB3YXkgdG8gcGFzcyBleHRyYSBhcmdzIG9yIC5iYW5kaXQgZmlsZSwgYmFzaWNhbGx5IGNvbnRyb2wgLWxsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9jb25mL2xheWVyLmNvbmYKaW5kZXggMzIxZDUxYi4uZmI1Y2RhNSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTQsNiArMTQsNiBAQAogCiBMQVlFUkRFUEVORFNfbWV0YS1weXRob24gPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9tZXRhLXB5dGhvbiA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX21ldGEtcHl0aG9uID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKaW5kZXggMDVmYmFlNC4uZTllZWJlOCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwYy5pbmMKQEAgLTcsNyArNyw3IEBACiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tZ2V2ZW50IgogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1nZXZlbnQgJHtQWVRIT05fUE59LW1zZ3BhY2sgJHtQWVRIT05fUE59LWdzb2NrZXRwb29sIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiYWNkZTFmMzQ2NDExOTk3ZDc2YWI4OTc5MGEzNTY4MjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZThkZGQ0N2U3YTJmYjJkM2IyMDNmY2M1MjI0NDNlZTViZTU2YzhmN2UyYzZkOTE1YzA0NzQ0NTk1MWNlZjFmYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4ZDk3OTYxMDUxNDIyZjNkZTMxNTYxMzQzNDk4MmQzYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTg5ZmQxMjc0ODJlMjkxYjFlYzMxNGQ2ZjBlNTVjYzEzMzExYzEyOTMyYWNlMzU2ZDYxNzhlYTFjYTI4ZjZhIgogCiBpbmhlcml0IHB5cGkKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbi1tcHJwY18wLjEuMTcuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24tbXBycGNfMC4xLjE2LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE2LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb25uZWN0aXZpdHkvcHl0aG9uLW1wcnBjL3B5dGhvbjMtbXBycGNfMC4xLjE3LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvbm5lY3Rpdml0eS9weXRob24tbXBycGMvcHl0aG9uMy1tcHJwY18wLjEuMTYuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29ubmVjdGl2aXR5L3B5dGhvbi1tcHJwYy9weXRob24zLW1wcnBjXzAuMS4xNy5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMDgxZTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtcHl0aG9uIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2M3NWZlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS1weXRob24taW1hZ2UuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlICBtZXRhLXB5dGhvbi1pbWFnZS1iYXNlLmJiCisKK1NVTU1BUlkgPSAibWV0YS1weXRob24gYnVpbGQgdGVzdCBpbWFnZSIKKworSU1BR0VfSU5TVEFMTCArPSAicGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtcHl0aG9uLXB0ZXN0LWltYWdlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZWUxNTM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXB5dGhvbi1wdGVzdC1pbWFnZS5iYgpAQCAtMCwwICsxLDUgQEAKK3JlcXVpcmUgIG1ldGEtcHl0aG9uLWltYWdlLWJhc2UuYmIKKworU1VNTUFSWSA9ICJtZXRhLXB5dGhvbiBwdGVzdCB0ZXN0IGltYWdlIgorCitJTUFHRV9JTlNUQUxMICs9ICJwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tcHRlc3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24uYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJjZGE1OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi5iYgpAQCAtMCwwICsxLDE1MCBAQAorU1VNTUFSWSA9ICJNZXRhLW9lIHB0ZXN0IHBhY2thZ2Vncm91cHMiCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1BST1ZJREVTID0gIiR7UEFDS0FHRVN9IgorUEFDS0FHRVMgPSAnIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24gPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1leHRlbmRlZCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtZXh0ZW5kZWQgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uID0gIlwKKyAgICBweXRob24tcHN1dGlsIHB5dGhvbi1jZXJ0aWZpIHB5dGhvbi1mbGFzayBweXRob24tcHlyb3V0ZTIgcHl0aG9uLXB5b3BlbnNzbCBweXRob24tcHlsaW50IFwKKyAgICBweXRob24tc2VtdmVyIHB5dGhvbi13cmFwdCBweXRob24tbmV0d29ya3ggcHl0aG9uLWJlaGF2ZSBweXRob24tZG9taW5hdGUgcHl0aG9uLWZsYXNrLXVzZXIgXAorICAgIHB5dGhvbi1hdHRycyBweXRob24taHVtYW5pemUgcHl0aG9uLXNpeCBweXRob24tZmxhc2stbG9naW4gcHl0aG9uLXpvcGVpbnRlcmZhY2UgcHl0aG9uLXNpamF4IFwKKyAgICBweXRob24tcHlpbm90aWZ5IHB5dGhvbi1zdGV2ZWRvcmUgcHl0aG9uLXB5and0IHB5dGhvbi13ZWJkYXYgcHl0aG9uLXR3aXN0ZWQgcHl0aG9uLWZsYXNrLXNpamF4IFwKKyAgICBweXRob24tZnVuY3Rvb2xzMzIgcHl0aG9uLWphdmFvYmotcHkzIHB5dGhvbi1weWdwZ21lIHB5dGhvbi1mdXR1cmUgcHl0aG9uLWF0dHIgXAorICAgIHB5dGhvbi1mbGFzay14c3RhdGljIHB5dGhvbi1tMmNyeXB0byBweXRob24taHlwZXJsaW5rIHB5dGhvbi1pbWFnaW5nIHB5dGhvbi1pZG5hIHB5dGhvbi1qaW5qYTIgXAorICAgIHB5dGhvbi1jYW4gcHl0aG9uLWZsYXNrLWJjcnlwdCBweXRob24tcmVxdWVzdHMgcHl0aG9uLXBhc3RlIHB5dGhvbi1mbGFzay1zY3JpcHQgcHl0aG9uLXNlcnBlbnQgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgcHl0aG9uLXB5c21pIHB5dGhvbi14bHJkIHB5dGhvbi1hcHBkaXJzIHB5dGhvbi1qc29ucGF0Y2ggcHl0aG9uLWJjcnlwdCBcCisgICAgcHl0aG9uLW5kZy1odHRwc2NsaWVudCBweXRob24tcHl0ZXN0IHB5dGhvbi1saW5lY2FjaGUyIHB5dGhvbi12aXNpdG9yIHB5dGhvbi1iYWNrcG9ydHMtYWJjIFwKKyAgICBweXRob24tc2V0dXB0b29scy1zY20gcHl0aG9uLWV2ZGV2IHB5dGhvbi1weWprcyBweXRob24tanNvbnBvaW50ZXIgcHl0aG9uLWNoZWV0YWggcHl0aG9uLWdldmVudCBcCisgICAgcHl0aG9uLXNtYnVzIHB5dGhvbi1zcWxhbGNoZW15IHB5dGhvbi1zY3J5cHQgcHl0aG9uLXdlcmt6ZXVnIHB5dGhvbi1hbnlqc29uIHB5dGhvbi1wZXhwZWN0IFwKKyAgICBweXRob24tcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBweXRob24tcHlhbHNhYXVkaW8gcHl0aG9uLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBcCisgICAgcHl0aG9uLWFsZW1iaWMgcHl0aG9uLWZsYXNrLXB5bW9uZ28gcHl0aG9uLXNsaXAtZGJ1cyBweXRob24tcHlkYnVzIHB5dGhvbi1hdXRvbWF0IHB5dGhvbi1yZmMzOTg3IFwKKyAgICBweXRob24tdHpsb2NhbCBweXRob24tYmFja3BvcnRzLXNzbCBweXRob24tc3VicHJvY2VzczMyIHB5dGhvbi1hc24xY3J5cHRvIHB5dGhvbi1weWJpbmQxMSBcCisgICAgcHl0aG9uLXB0eXByb2Nlc3MgcHl0aG9uLWJhYmVsIHB5dGhvbi1wYXNzbGliIHB5dGhvbi1vYXV0aGxpYiBweXRob24tc2Rub3RpZnkgXAorICAgIHB5dGhvbi1sYXp5LW9iamVjdC1wcm94eSBweXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMgcHl0aG9uLWNyY21vZCBweXRob24tcHl1c2IgcHl0aG9uLXZvYmplY3QgXAorICAgIHB5dGhvbi13ZWJjb2xvcnMgcHl0aG9uLXB5cGFyc2luZyBweXRob24tYmVhdXRpZnVsc291cDQgcHl0aG9uLWNmZmkgcHl0aG9uLXRvcm5hZG8tcmVkaXMgXAorICAgIHB5dGhvbi1pdHNkYW5nZXJvdXMgcHl0aG9uLXB5YXNuMS1tb2R1bGVzIHB5dGhvbi1uZXRhZGRyIHB5dGhvbi12Y3ZlcnNpb25lciBcCisgICAgcHl0aG9uLXNoIHB5dGhvbi1ncmVlbmxldCBweXRob24tcGFoby1tcXR0IHB5dGhvbi10cmFjZWJhY2syIHB5dGhvbi1nZGF0YSBweXRob24tZGJ1c21vY2sgXAorICAgIHB5dGhvbi13aG9vc2ggcHl0aG9uLWxvY2tmaWxlIHB5dGhvbi1pc29ydCBweXRob24td3Rmb3JtcyBweXRob24tZmVlZHBhcnNlciBweXRob24tZmxhc2stcmVzdGZ1bCBcCisgICAgcHl0aG9uLXB5c25tcCBweXRob24tZmxhc2stYmFiZWwgcHl0aG9uLXB5dGVzdC10ZW1wZGlyIHB5dGhvbi1mbGFzay1uYXYgcHl0aG9uLXB5em1xIHB5dGhvbi1weXlhbWwgXAorICAgIHB5dGhvbi1wcm90b2J1ZiBweXRob24tcGx1Z2d5IHB5dGhvbi1qc29uc2NoZW1hIHB5dGhvbi1tc2dwYWNrIHB5dGhvbi1wYW5kYXMgXAorICAgIHB5dGhvbi1wZXJpcGhlcnkgcHl0aG9uLXBpbnQgcHl0aG9uLXB5Y3J5cHRvZG9tZSBweXRob24teWFwcGkgcHl0aG9uLXB5Y3J5cHRvIHB5dGhvbi1wcmV0ZW5kIFwKKyAgICBweXRob24tcHlzZXJpYWwgcHl0aG9uLXB5aWZhY2UgcHl0aG9uLWRvY3V0aWxzIHB5dGhvbi1ncnBjaW8tdG9vbHMgcHl0aG9uLWRqYW5nby1zb3V0aCBcCisgICAgcHl0aG9uLWJhY2twb3J0cy1mdW5jdG9vbHMtbHJ1LWNhY2hlIHB5dGhvbi1weSBweXRob24tY2xpY2sgcHl0aG9uLWZsYXNrLW1pZ3JhdGUgXAorICAgIHB5dGhvbi1weXVkZXYgcHl0aG9uLXB5c3RhY2hlIHB5dGhvbi1ibGlua2VyIHB5dGhvbi1wcm9tcHQtdG9vbGtpdCBweXRob24tbHhtbCBcCisgICAgcHl0aG9uLXVuaWRpZmYgcHl0aG9uLWluZmxlY3Rpb24gcHl0aG9uLXR3b2Zpc2ggcHl0aG9uLXByZXR0eXRhYmxlIHB5dGhvbi13ZWJlbmNvZGluZ3MgXAorICAgIHB5dGhvbi1tb2NrIHB5dGhvbi1weWV4cGVjdCBweXRob24tZG5zcHl0aG9uIHB5dGhvbi1weXNvY2tzIHB5dGhvbi1weW5ldGxpbnV4IFwKKyAgICBweXRob24tZGFlbW9uIHB5dGhvbi1kamFuZ29yZXN0ZnJhbWV3b3JrIHB5dGhvbi10eXBpbmcgcHl0aG9uLW1vbm90b25pYyBweXRob24tc3BhcnRzIFwKKyAgICBweXRob24tZW51bTM0IHB5dGhvbi1weXBlcmNsaXAgcHl0aG9uLWZsYXNrLXVwbG9hZHMgcHl0aG9uLXBiciBweXRob24tcGFyc2UgcHl0aG9uLXB5Zmxha2VzIFwKKyAgICBweXRob24tcHloYW1jcmVzdCBweXRob24tbWFrbyBweXRob24taW5jcmVtZW50YWwgcHl0aG9uLXRvcm5hZG8gcHl0aG9uLXhzdGF0aWMtZm9udC1hd2Vzb21lIFwKKyAgICBweXRob24tY21kMiBweXRob24tc3RyaWN0LXJmYzMzMzkgcHl0aG9uLXB5Y29kZXN0eWxlIHB5dGhvbi14c3RhdGljIHB5dGhvbi1zbmFrZWZvb2QgXAorICAgIHB5dGhvbi1weWJsdWV6IHB5dGhvbi1mbGFzay1uYXZpZ2F0aW9uIHB5dGhvbi1weWZpcm1hdGEgcHl0aG9uLXB5bW9uZ28gcHl0aG9uLXB5c3FsaXRlIFwKKyAgICBweXRob24tcHJvZ3Jlc3MgcHl0aG9uLWZsYXNrLXNxbGFsY2hlbXkgcHl0aG9uLXB5bWlzcCBweXRob24tcGlwIHB5dGhvbi11anNvbiBweXRob24tcGx5IFwKKyAgICBweXRob24tcGVwOCBweXRob24tZGF0ZXV0aWwgcHl0aG9uLXB5Y3BhcnNlciBweXRob24tZGFlbW9uaXplIHB5dGhvbi1hc3Ryb2lkIHB5dGhvbi1weXJleCBcCisgICAgcHl0aG9uLW1hcmt1cHNhZmUgcHl0aG9uLXB5dGVzdC1ydW5uZXIgcHl0aG9uLWdycGNpbyBweXRob24tbWNjYWJlIHB5dGhvbi1weXR6IHB5dGhvbi1zZWxlY3RvcnMzNCBcCisgICAgcHl0aG9uLWN5dGhvbiBweXRob24tY2hhcmRldCBweXRob24tZWRpdG9yIHB5dGhvbi1mbGFzay1ib290c3RyYXAgcHl0aG9uLWh0bWw1bGliIFwKKyAgICBweXRob24tc2luZ2xlZGlzcGF0Y2ggcHl0aG9uLXJlZGlzIHB5dGhvbi1mbGFzay1tYWlsIHB5dGhvbi1mdW5jc2lncyBweXRob24tc25pbXB5IHB5dGhvbi1weWFzbjEgXAorICAgIHB5dGhvbi1kZWNvcmF0b3IgcHl0aG9uLXVybGxpYjMgcHl0aG9uLWZlZWRmb3JtYXR0ZXIgcHl0aG9uLW1hdHBsb3RsaWIgcHl0aG9uLWlzbzg2MDEgXAorICAgIHB5dGhvbi1udW1lcmljIHB5dGhvbi1yb2JvdGZyYW1ld29yayBweXRob24tZGphbmdvIHB5dGhvbi1zaW1wbGVqc29uIHB5dGhvbi13Y3dpZHRoIFwKKyAgICBweXRob24tY29uZmlncGFyc2VyIHB5dGhvbi1lcHlkb2MgcHl0aG9uLWludGVydmFscyBweXRob24tc3BlYWtsYXRlciBcCisgICAgcHl0aG9uLWF3cy1pb3QtZGV2aWNlLXNkay1weXRob24gcHl0aG9uLWNvbnN0YW50bHkgcHl0aG9uLWJpdGFycmF5IHB5dGhvbi1mbGFzay13dGYgXAorICAgIHB5dGhvbi1wYXJzZS10eXBlIHB5dGhvbi1pcGFkZHJlc3MgcHl0aG9uLWRidXMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAicGFtIiwgInB5dGhvbi1wYW0gcGFtZWxhIiwgIiIsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbi1zeXN0ZW1kIiwgIiIsIGQpfSBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMgPSAiXAorICAgIHB5dGhvbjMtcHlzZXJpYWwgcHl0aG9uMy1nZXZlbnQgcHl0aG9uMy1hbGVtYmljIHB5dGhvbjMtcm9ib3RmcmFtZXdvcmstc2VyaWFsbGlicmFyeSBcCisgICAgcHl0aG9uMy1yZmMzOTg3IHB5dGhvbjMteGxyZCBweXRob24zLWJhbmRpdCBweXRob24zLWNvbnN0YW50bHkgcHl0aG9uMy1pbmZsZWN0aW9uIFwKKyAgICBweXRob24zLWphdmFvYmotcHkzIHB5dGhvbjMtc2ggcHl0aG9uMy1weWNyeXB0byBweXRob24zLXB5YXNuMSBweXRob24zLXB5ZGJ1cyBweXRob24zLXd0Zm9ybXMgXAorICAgIHB5dGhvbjMtcHlibHVleiBweXRob24zLWJhYmVsIHB5dGhvbjMtcGFyc2UtdHlwZSBweXRob24zLWJpdGFycmF5IHB5dGhvbjMtZGphbmdvLXNvdXRoIFwKKyAgICBweXRob24zLXB5dXNiIHB5dGhvbjMtcHJjdGwgcHl0aG9uMy1qaW5qYTIgcHl0aG9uMy13ZXJremV1ZyBweXRob24zLXB5amtzIHB5dGhvbjMtcmVxdWVzdHMtZnRwIFwKKyAgICBweXRob24zLWJlaGF2ZSBweXRob24zLXB5cGFyc2luZyBweXRob24zLXB5eWFtbCBweXRob24zLXR6bG9jYWwgcHl0aG9uMy1wcmV0ZW5kIHB5dGhvbjMtc3RldmVkb3JlIFwKKyAgICBweXRob24zLXNpamF4IHB5dGhvbjMtbGFuZ3RhYmxlIHB5dGhvbjMtcmVxdWVzdHMtZmlsZSBweXRob24zLWNyY21vZCBweXRob24zLXJvYm90ZnJhbWV3b3JrIFwKKyAgICBweXRob24zLXBpbnQgcHl0aG9uMy1jb3ZlcmFnZSBweXRob24zLWlzbzg2MDEgcHl0aG9uMy1uZGctaHR0cHNjbGllbnQgcHl0aG9uMy15YXBwaSBweXRob24zLXR3b2Zpc2ggXAorICAgIHB5dGhvbjMtc3BlYWtsYXRlciBweXRob24zLXNtYnVzIHB5dGhvbjMtZGphbmdvcmVzdGZyYW1ld29yayBweXRob24zLW1zZ3BhY2sgcHl0aG9uMy1qc29ucG9pbnRlciBcCisgICAgcHl0aG9uMy1mbGFzay1zY3JpcHQgcHl0aG9uMy1jYXNzYW5kcmEtZHJpdmVyIHB5dGhvbjMtY3l0aG9uIHB5dGhvbjMtdWpzb24gcHl0aG9uMy1hd3MtaW90LWRldmljZS1zZGstcHl0aG9uIFwKKyAgICBweXRob24zLXB5dGVzdC1ydW5uZXIgcHl0aG9uMy1weWlmYWNlIHB5dGhvbjMtZmxhc2stbG9naW4gcHl0aG9uMy1tYXJrdXBzYWZlIHB5dGhvbjMtc2V0dXB0b29scy1zY20gXAorICAgIHB5dGhvbjMtc2VtdmVyIHB5dGhvbjMtc2Rub3RpZnkgcHl0aG9uMy1mbGFzay11c2VyIHB5dGhvbjMtdG9ybmFkbyBweXRob24zLWpzb25wYXRjaCBweXRob24zLXBleHBlY3QgXAorICAgIHB5dGhvbjMtcHJvZ3Jlc3MgcHl0aG9uMy1qc29uc2NoZW1hIHB5dGhvbjMteHN0YXRpYyBweXRob24zLXB5cm91dGUyIHB5dGhvbjMtaWRuYSBweXRob24zLXNxbGFsY2hlbXkgXAorICAgIHB5dGhvbjMtdXJsbGliMyBweXRob24zLWZsYXNrLW1haWwgcHl0aG9uMy1hc24xY3J5cHRvIHB5dGhvbjMtcHlpbm90aWZ5IHB5dGhvbjMtaW50ZXJ2YWxzIHB5dGhvbjMtcHlwZXJjbGlwIFwKKyAgICBweXRob24zLWZsYXNrLWJvb3RzdHJhcCBweXRob24zLXB5dWRldiBweXRob24zLWRlY29yYXRvciBweXRob24zLXB5YmluZDExIHB5dGhvbjMtcGx1Z2d5IHB5dGhvbjMtcmVkaXMgXAorICAgIHB5dGhvbjMtcHljcnlwdG9kb21lIHB5dGhvbjMtcGFzc2xpYiBweXRob24zLWRvbWluYXRlIHB5dGhvbjMtcGx5IHB5dGhvbjMtbnRwbGliIHB5dGhvbjMtc2VycGVudCBweXRob24zLXdyYXB0IFwKKyAgICBweXRob24zLWF0dHJzIHB5dGhvbjMtYXBwZGlycyBweXRob24zLWlzb3J0IHB5dGhvbjMtZXZkZXYgcHl0aG9uMy1pbmNyZW1lbnRhbCBweXRob24zLWNsaWNrIHB5dGhvbjMtZmxhc2stbmF2IFwKKyAgICBweXRob24zLXdlYmNvbG9ycyBweXRob24zLWRhdGV1dGlsIHB5dGhvbjMtYmxpbmtlciBweXRob24zLWh5cGVybGluayBweXRob24zLWx4bWwgcHl0aG9uMy1weWxpbnQgXAorICAgIHB5dGhvbjMtZmxhc2stbWlncmF0ZSBweXRob24zLXB5dGVzdC10ZW1wZGlyIHB5dGhvbjMtZmxhc2stcmVzdGZ1bCBweXRob24zLWZlZWRmb3JtYXR0ZXIgXAorICAgIHB5dGhvbjMtcHlhc24xLW1vZHVsZXMgcHl0aG9uMy1zY2FweSBweXRob24zLWh0bWw1bGliIHB5dGhvbjMtZG5zcHl0aG9uIHB5dGhvbjMtYXV0b21hdCBcCisgICAgcHl0aG9uMy1pdHNkYW5nZXJvdXMgcHl0aG9uMy1wYW5kYXMgcHl0aG9uMy1weWZpcm1hdGEgcHl0aG9uMy1wcm90b2J1ZiAgXAorICAgIHB5dGhvbjMtZmxhc2stYmFiZWwgcHl0aG9uMy1hbnlqc29uIHB5dGhvbjMtZmxhc2steHN0YXRpYyBweXRob24zLW11bHRpZGljdCBweXRob24zLXByb21wdC10b29sa2l0IFwKKyAgICBweXRob24zLXBlcmlwaGVyeSBweXRob24zLWdyZWVubGV0IHB5dGhvbjMtcHl0eiBweXRob24zLXB5ZXhwZWN0IHB5dGhvbjMtem9wZWludGVyZmFjZSBcCisgICAgcHl0aG9uMy1iY3J5cHQgcHl0aG9uMy14c3RhdGljLWZvbnQtYXdlc29tZSBweXRob24zLW0yY3J5cHRvIHB5dGhvbjMtcGFyc2UgcHl0aG9uMy1hdHRyIFwKKyAgICBweXRob24zLWJlYXV0aWZ1bHNvdXA0IHB5dGhvbjMtcHljb2Rlc3R5bGUgcHl0aG9uMy1vYXV0aGxpYiBweXRob24zLWdycGNpbyBweXRob24zLXNjcnlwdCBcCisgICAgcHl0aG9uMy1weWp3dCBweXRob24zLWFzdHJvaWQgcHl0aG9uMy1mbGFzay1weW1vbmdvIHB5dGhvbjMtd2N3aWR0aCBweXRob24zLWxhenktb2JqZWN0LXByb3h5IFwKKyAgICBweXRob24zLXdlYnNvY2tldHMgcHl0aG9uMy1weXptcSBweXRob24zLXB5dGVzdCBweXRob24zLWNoYXJkZXQgcHl0aG9uMy12Y3ZlcnNpb25lciBweXRob24zLXdob29zaCBcCisgICAgcHl0aG9uMy1weW1pc3AgcHl0aG9uMy1jZXJ0aWZpIHB5dGhvbjMtcHN1dGlsIHB5dGhvbjMtZmxhc2stc3FsYWxjaGVteSBweXRob24zLWh1bWFuaXplIFwKKyAgICBweXRob24zLWdycGNpby10b29scyBweXRob24zLWNvbmZpZ3BhcnNlciBweXRob24zLXN0cmljdC1yZmMzMzM5IHB5dGhvbjMtcGFoby1tcXR0IFwKKyAgICBweXRob24zLXB5dGVzdC1oZWxwZXJzLW5hbWVzcGFjZSBweXRob24zLWZsYXNrIHB5dGhvbjMtZmxhc2std3RmIHB5dGhvbjMtdmlzaXRvciBweXRob24zLXB5bmV0bGludXggXAorICAgIHB5dGhvbjMtcmVxdWVzdHMgcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9ycyBweXRob24zLXNwaWRldiBweXRob24zLXBpZCBweXRob24zLXB5bW9uZ28gXAorICAgIHB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtZGphbmdvIHB5dGhvbjMtdW5pZGlmZiBweXRob24zLXdlYmVuY29kaW5ncyBweXRob24zLWNhbiBweXRob24zLXB5YWxzYWF1ZGlvIFwKKyAgICBweXRob24zLWZsYXNrLXNpamF4IHB5dGhvbjMtY3J5cHRvZ3JhcGh5IHB5dGhvbjMtdHdpc3RlZCBweXRob24zLW5ldGFkZHIgcHl0aG9uMy1weWNwYXJzZXIgXAorICAgIHB5dGhvbjMtZmxhc2stdXBsb2FkcyBweXRob24zLXB5c29ja3MgcHl0aG9uMy1jZmZpIHB5dGhvbjMtZWRpdG9yIHB5dGhvbjMtcHR5cHJvY2VzcyBcCisgICAgcHl0aG9uMy1weW9wZW5zc2wgcHl0aG9uMy1vcmRlcmVkLXNldCBweXRob24zLXNpbXBsZWpzb24gcHl0aG9uMy1weSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgInB5dGhvbjMtc3lzdGVtZCIsICIiLCBkKX0gXAorIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS1weXRob24tZXh0ZW5kZWQgPSAiXAorICAgIHB5dGhvbi1weWVwaGVtIFwKKyAgICBweXRob24tY3NvbiBcCisgICAgcHl0aG9uLXB5d2JlbSBcCisgICAgcHl0aG9uLXB5cGFydGVkIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1leHRlbmRlZCA9ICJcCisgICAgcHl0aG9uMy1weWtpY2tzdGFydCBcCisgICAgcHl0aG9uMy1tZWggXAorICAgIHB5dGhvbjMtYmxpdmV0IFwKKyAgICBweXRob24zLXB5d2JlbSBcCisgICAgcHl0aG9uMy1weXBhcnRlZCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAicHl0aG9uMy1ibGl2ZXRndWkiLCAiIiwgZCl9IFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uLWNvbm5lY3Rpdml0eSA9ICJcCisgICAgcHl0aG9uLXB5cm80IFwKKyAgICBweXRob24tcHl0dW4gXAorICAgIHB5dGhvbi1tcHJwYyBcCisgICAgcHl0aG9uLXRocmlmdCBcCisgICAgcHl0aG9uLXR4d3MgXAorICAgIHB5dGhvbi1weWNvbm5tYW4gXAorICAgIHB5dGhvbi1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbjMtY29ubmVjdGl2aXR5ID0gIlwKKyAgICBweXRob24zLXB5dHVuIFwKKyAgICBweXRob24zLW1wcnBjIFwKKyAgICBweXRob24zLXB5Y29ubm1hbiBcCisgICAgcHl0aG9uMy1nc29ja2V0cG9vbCBcCisiCisKK1JERVBFTkRTX3BhY2thZ2Vncm91cC1tZXRhLXB5dGhvbi1wdGVzdCA9ICJcCisgICAgcHl0aG9uLXB5Z3BnbWUgXAorICAgIHB5dGhvbi1jcnlwdG9ncmFwaHkgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtcHl0aG9uMy1wdGVzdCA9ICJcCisgICAgcHl0aG9uMy1jcnlwdG9ncmFwaHkgXAorICAgICIKKworRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL2d5cC9neXBfZ2l0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjNmM2ZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9neXAvZ3lwX2dpdC5iYgpAQCAtMCwwICsxLDE1IEBACitERVNDUklQVElPTiA9ICJHWVAgaXMgYSBNZXRhLUJ1aWxkIHN5c3RlbTogYSBidWlsZCBzeXN0ZW0gdGhhdCBnZW5lcmF0ZXMgb3RoZXIgYnVpbGQgc3lzdGVtcy4iCitIT01FUEFHRSA9ICJodHRwczovL2d5cC5nc3JjLmlvLyIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YWI4MjhjYjhjZTRjNjJlZTgyOTQ1YTExMjQ3YjZiYmQiCitTRUNUSU9OID0gImRldmVsIgorCitTUkNfVVJJID0gImdpdDovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vZXh0ZXJuYWwvZ3lwO3Byb3RvY29sPWh0dHBzIgorU1JDUkVWID0gIjhiZWUwOWY0YTU3ODA3MTM2NTkzZGRjOTA2YjBiMjEzYzIxZjkwMTQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCitQViA9ICIwLjErZ2l0JHtTUkNQVn0iCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hdHRycy5pbmMKaW5kZXggZmE3M2VhNS4uZDBiNTY5NyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWF0dHJzLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXR0cnMuaW5jCkBAIC05LDYgKzksNiBAQAogaW5oZXJpdCBweXBpCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgICAke1BZVEhPTl9QTn0tY3J5cHRvZ3JhcGh5IFwKKyAgICAke1BZVEhPTl9QTn0tY3J5cHQgXAogICAgICR7UFlUSE9OX1BOfS1jdHlwZXMgXAotIiAgICAKKyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmFlMzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNhY2hldG9vbHMuaW5jCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiRXh0ZW5zaWJsZSBtZW1vaXppbmcgY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vdGtlbS9jYWNoZXRvb2xzIgorREVTQ1JJUFRJT04gPSAiVGhpcyBtb2R1bGUgcHJvdmlkZXMgdmFyaW91cyBtZW1vaXppbmcgXAorY29sbGVjdGlvbnMgYW5kIGRlY29yYXRvcnMsIGluY2x1ZGluZyB2YXJpYW50cyBvZiB0aGUgXAorUHl0aG9uIDMgU3RhbmRhcmQgTGlicmFyeSBAbHJ1X2NhY2hlIGZ1bmN0aW9uIGRlY29yYXRvci4iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0yN2Y3NTE4ZWI2ZjdkYzY4NmQwZjk1M2IyZjI4ZGFlNSIKKworaW5oZXJpdCBweXBpCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhN2IxYzVlYjUzOTBkNTAwNjdjNjJkN2JjYjRlODc1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZWZjYzlmYWIzYjQ5YWI4MzM0NzU3MDJiNTVlZGQ1YWUwN2FmMWFmN2E0YzYyNzY3ODk4MGI0NWU0NTljNDYwIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jYWNoZXRvb2xzXzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMTJhZDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29scworcmVxdWlyZSBweXRob24tY2FjaGV0b29scy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2suaW5jCmluZGV4IGM4MTU0NWIuLjYwYmM0NmYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGljay5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNsaWNrLmluYwpAQCAtNiwxMCArNiwxMCBAQAogc2Vuc2libGUgZGVmYXVsdHMgb3V0IG9mIHRoZSBib3guIgogSE9NRVBBR0UgPSAiaHR0cDovL2NsaWNrLnBvY29vLm9yZy8iCiBMSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA5ZThiNzg2OWY5NGJhOWU5YTdiMjYwZDUzYzY1ZGFiIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5yc3Q7bWQ1PWMxM2VkODkwYjIxMGE4ODJjMTc3ODIxNjY5NGM5OGM3IgogCi1TUkNfVVJJW21kNXN1bV0gPSAiZmM0Y2MwMGM0ODYzODMzMjMwZDNhZjkyYWY0OGFiZDQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjE1NTE2ZGY0NzhkNWE1NjE4MGZiZjgwZTY4ZjIwNjAxMGU2ZDE2MGZjMzlmYTUwOGI2NWUwMzVmZDc1MTMwYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZjUzZDUwZjdiNzM3M2ViYzc5NjNmOWZmNjk3NDUwYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1Yjk0YjQ5NTIxZjY0NTY2NzBmZGIzMGNkODJhNGVjYTk0MTI3ODhhOTNmYTZkZDZkZjcyYzk0ZDVhOGZmMmQ3IgogCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJjbGljay8oP1A8cHZlcj5cZCsoXC5cZCspKykvIgogCkBAIC0yMSwzICsyMSw1IEBACiAgICAgIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BZUElfUEFDS0FHRSA9ICJDbGljayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jbGlja182LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNi43LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY2xpY2tfNy4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzLmluYwppbmRleCBkMWUyNTRiLi4wNDE3M2YwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LXZlY3RvcnMuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9ycy5pbmMKQEAgLTgsOCArOCw4IEBACiAgICAgJHtQWVRIT05fUE59LWNyeXB0b2dyYXBoeSBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIyOTRkNDRmMzI4ODVhNmI5N2Q1ZjljZGQ3ZmZjNzNhMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNTZhMmRlZDg0YWUzNzllNTU2NTE1ZWVjOWI2OGRkNzQ5NTc2NTFhMzg0NjVkMTA2MDViYjlmYmFlMjgwZjE1IgorU1JDX1VSSVttZDVzdW1dID0gImU3ZjQ0YjE2NzhlMzA3MWUyMDQ0YTMyZjdjMzUzZDE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgyOWQ0M2U4MDY2MDU2ZGU4ZWE3YjhhZDMxMWRiNzllNDdkOGQ2NThlMjNkNWY1ZmM0YjAyNDVhMWIzYmFhNzQiCiAKIFBZUElfUEFDS0FHRSA9ICJjcnlwdG9ncmFwaHlfdmVjdG9ycyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuMy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeS12ZWN0b3JzXzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tY3J5cHRvZ3JhcGh5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCmluZGV4IGRiYmZlMmMuLjJjMWFjMWMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHkuaW5jCkBAIC0xMCwxNCArMTAsMTMgQEAKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICIKIAotU1JDX1VSSVttZDVzdW1dID0gImEwZjNmNTYzYWIxYzVjM2JjMDJmYWU4ZDRhYTNhZDE2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImMxMzJiYWI0NWQ0YmQwZmZmMWQzZmUyOTRkOTJiMGE2ZWI4NDA0ZTkzMzM3YjMxMjdiZGVjOWYyMWRlMTE3ZTYiCitTUkNfVVJJW21kNXN1bV0gPSAiNDY0ZjE4MGZmNjQ2MjI3NjBjY2E3MTY3Zjk3YjNmZjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTg1YjQxMDg4NWFkZGFlYjMxYTg2N2VhYmNlZmM5ZWY0YTdlOTA0YWQ0NWVhYzllNjBhNzYzYTU0YjI0NDYyNiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiBcCiAgICAgJHtQWVRIT05fUE59LWNmZmkgXAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tYXNuMWNyeXB0byBcCi0gICAgJHtQWVRIT05fUE59LXB5Y3BhcnNlciBcCiAgICAgJHtQWVRIT05fUE59LXNldHVwdG9vbHMgXAogICAgICR7UFlUSE9OX1BOfS1zaXggXAogIgpAQCAtMjcsNyArMjYsNiBAQAogICAgICR7UFlUSE9OX1BOfS1pZG5hIFwKICAgICAke1BZVEhPTl9QTn0tbnVtYmVycyBcCiAgICAgJHtQWVRIT05fUE59LWFzbjFjcnlwdG8gXAotICAgICR7UFlUSE9OX1BOfS1weWNwYXJzZXIgXAogICAgICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzIFwKICAgICAke1BZVEhPTl9QTn0tc2l4IFwKICAgICAke1BZVEhPTl9QTn0tdGhyZWFkaW5nIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1jcnlwdG9ncmFwaHlfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKaW5kZXggMTM1MTNmMi4uYmM4OWQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC5pbmMKQEAgLTQsOCArNCw5IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdldmVudC5vcmciCiBMSUNFTlNFID0gIk1JVCAmIFB5dGhvbi0yLjAgJiBCU0QiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZGU5OWFhYzI3YjQ3MGMyOWM2YzMwOWUwYzI3OWI2NSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTU5NjZjZDJjNjU4MjY1NmQyOGFiM2MzM2RhMzg2MGY4IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDciCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9OT1RJQ0U7bWQ1PTE4MTA4ZGYzNTgzNDYyY2FmZDQ1N2YwMjRiOWIwOWI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlcHMvbGliZXYvTElDRU5TRTttZDU9ZDZhZDQxNmFmZDA0MGM5MDY5OGVkY2RmMWNiZWUzNDcgXAorICAgICAgICAgICAgICAgICAgICAiCiBERVBFTkRTICs9ICJsaWJldmVudCIKIERFUEVORFMgKz0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCIKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1ncmVlbmxldCBcCkBAIC0xNywxMCArMTgsMTEgQEAKIAogU1JDX1VSSV9hcHBlbmQgPSAiIFwKICAgICBmaWxlOi8vbGliZXYtY29uZi5wYXRjaDtwYXRjaD0xO3BudW09MSBcCisgICAgZmlsZTovLzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3ZjBiYWYzNTUzODRmZTVmZjJlY2Y2Njg1MzQyMjU1NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzkxYzhhZTljNTdkNmYxNTMzNTQ3MzZlMWNjYWIxZTJiYWY2YzhkOWFlNWE3N2E5YWM5MGY0MWUyOTY2YjJkIgorU1JDX1VSSVttZDVzdW1dID0gIjZiOWRkOTg5MTcwNjE4MDNkOTE1OGU1MjU4YjhmNDEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFlYjdmYTNiOWJkOTE3NGRmZTljM2I1OWI3YTA5Yjc2OGVjZDQ5NmRlYmZjNDk3NmE5NTMwYTNlMTVjOTkwZDEiCiAKICMgVGhlIHB5dGhvbi1nZXZlbnQgaGFzIG5vIGF1dG9yZWNvbmYgYWJpbGl0eQogIyBhbmQgdGhlIGxvZ2ljIGZvciBkZXRlY3RpbmcgYSBjcm9zcyBjb21waWxlIGlzIGZsYXdlZApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2V2ZW50LzAwMDItc2V0dXAucHktZG8tbm90LXF1ZXJ5LWZvci1pbmNsdWRlLWRpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTM2YjcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudC8wMDAyLXNldHVwLnB5LWRvLW5vdC1xdWVyeS1mb3ItaW5jbHVkZS1kaXIucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBhNTNlZDZiMmY5NjdhNWY5NWU2OWQ1MWNhZDNmOGMxMjBkN2RmNjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDcgRmViIDIwMTkgMTU6MjE6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0dXAucHk6IGRvIG5vdCBxdWVyeSBmb3IgaW5jbHVkZSBkaXIKKworQXMgdGhpcyB3aWxsIHJldHVybiB0aGUgbmF0aXZlIHB5dGhvbiBkaXJlY3RvcnkgZXJyb25lb3VzbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA4NmQ2YzVhLi41ZDIyMjkxIDEwMDc1NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNTIsNyArNTIsNyBAQCBmcm9tIF9zZXR1cGFyZXMgaW1wb3J0IEFSRVMKKyAjIEdldCBhY2Nlc3MgdG8gdGhlIGdyZWVubGV0IGhlYWRlciBmaWxlLgorICMgVGhlIHN5c2NvbmZpZyBkaXIgaXMgbm90IGVub3VnaCBpZiB3ZSdyZSBpbiBhIHZpcnR1YWxlbnYKKyAjIFNlZSBodHRwczovL2dpdGh1Yi5jb20vcHlwYS9waXAvaXNzdWVzLzQ2MTAKKy1pbmNsdWRlX2RpcnMgPSBbc3lzY29uZmlnLmdldF9wYXRoKCJpbmNsdWRlIildCisraW5jbHVkZV9kaXJzID0gW10KKyB2ZW52X2luY2x1ZGVfZGlyID0gb3MucGF0aC5qb2luKHN5cy5wcmVmaXgsICdpbmNsdWRlJywgJ3NpdGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B5dGhvbicgKyBzeXNjb25maWcuZ2V0X3B5dGhvbl92ZXJzaW9uKCkpCisgdmVudl9pbmNsdWRlX2RpciA9IG9zLnBhdGguYWJzcGF0aCh2ZW52X2luY2x1ZGVfZGlyKQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS4yLjIuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1nZXZlbnRfMS40LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXQuaW5jCmluZGV4IGZjZDgxZjYuLmM3YzY1NmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncmVlbmxldC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0LmluYwpAQCAtMyw3ICszLDcgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTAzMTQzZDdhMWE5ZjVkOGEwZmVlODI1ZjI0Y2E5YzM2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuUFNGO21kNT1jMTA2OTMxZDk0MjllZGEwNDkyNjE3ZjAzN2I4ZjY5YSIKIAotU1JDX1VSSVttZDVzdW1dID0gImE4N2I2MDI4YzNiNzQyYjIxMGJmNTk3MzkzOWRiNTk1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImYxY2MyNjhhMTVhZGU1OGQ5YTBjMDQ1NjlmZTY2MTNlMTliOGIwMzQ1YjY0NDUzMDY0ZTJjM2M2ZDc5MDUxYWYiCitTUkNfVVJJW21kNXN1bV0gPSAiMTBmYTMwNGY2NzNmYzE4YjI4ZmE2ZDhjNjY1OGNiODAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTQxNjQ0M2UyMTkzNTZlM2MzMWYxZjkxOGE5MWJhZGYyZTM3YWNmMjk3ZTJmYTEzZDI0ZDFjYzIzODBmOGZiYyIKIAogaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JlZW5sZXRfMC40LjE0LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdyZWVubGV0XzAuNC4xNS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwppbmRleCAyM2QyNWY3Li5mZDM0MWY1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLmluYwpAQCAtNSw3ICs1LDExIEBACiBERVBFTkRTX2FwcGVuZCA9ICIke1BZVEhPTl9QTn0tcHJvdG9idWYiCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1ncnBjaW86IgotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaCAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaCBcCisiCiAKIFJERVBFTkRTXyR7UE59ID0gIiR7UFlUSE9OX1BOfS1wcm90b2J1ZiBcCiAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2V0dXB0b29scyBcCkBAIC0xNyw4ICsyMSw4IEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiMDk4N2FlMmU0N2I1MTAzZGUzY2FjYzQzNzg3NGEzYzUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGJmMjM2NjZlNzYzY2E3ZmY2MDEwNDY1ODY0ZTlmMDg4ZjRhYzdlY2MxZTExYWJkNmY4NWIyNTBlNjZiMmMwNSIKK1NSQ19VUklbbWQ1c3VtXSA9ICIxODg1NjVmMTUwZjM0ZDE5MjdiODdlMDE0ZjBmNGI3MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZGRiY2ExNmMyZTdiM2YyZmZjNmUzNGM3Y2ZhNjg4NmZiMDFkZTlmMTU2YWQzZjc3YjcyYWQ2NTJkNjMyMDk3IgogCiBDTEVBTkJST0tFTiA9ICIxIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvLzAwMDEtc2V0dXAucHktRG8tbm90LW1peC1DLWFuZC1DLWNvbXBpbGVyLW9wdGlvbnMucGF0Y2gKaW5kZXggOTk2NTk3Yi4uZjE3ZjA0OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby8wMDAxLXNldHVwLnB5LURvLW5vdC1taXgtQy1hbmQtQy1jb21waWxlci1vcHRpb25zLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vMDAwMS1zZXR1cC5weS1Eby1ub3QtbWl4LUMtYW5kLUMtY29tcGlsZXItb3B0aW9ucy5wYXRjaApAQCAtMTgsMTEgKzE4LDkgQEAKICBzZXR1cC5weSB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAotSW5kZXg6IGdycGNpby0xLjE0LjEvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBncnBjaW8tMS4xNC4xLm9yaWcvc2V0dXAucHkKLSsrKyBncnBjaW8tMS4xNC4xL3NldHVwLnB5Ci1AQCAtMTIzLDcgKzEyMyw3IEBAIEVOQUJMRV9ET0NVTUVOVEFUSU9OX0JVSUxEID0gb3MuZW52aXJvbi4KKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTE0NSw3ICsxNDUsNyBAQCBFTkFCTEVfRE9DVU1FTlRBVElPTl9CVUlMRCA9IG9zLmVudmlyb24uCiAgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyA9IG9zLmVudmlyb24uZ2V0KCdHUlBDX1BZVEhPTl9DRkxBR1MnLCBOb25lKQogIEVYVFJBX0VOVl9MSU5LX0FSR1MgPSBvcy5lbnZpcm9uLmdldCgnR1JQQ19QWVRIT05fTERGTEFHUycsIE5vbmUpCiAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgpAQCAtMzEsNyArMjksNyBAQAogICAgaWYgJ3dpbjMyJyBpbiBzeXMucGxhdGZvcm0gYW5kIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgNSk6CiAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9oeXBvdD1oeXBvdCcKICAgICAgIyBXZSB1c2UgZGVmaW5lIGZsYWdzIGhlcmUgYW5kIGRvbid0IGRpcmVjdGx5IGFkZCB0byBERUZJTkVfTUFDUk9TIGJlbG93IHRvCi1AQCAtMTM1LDcgKzEzNSw3IEBAIGlmIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgaXMgTm9uZToKK0BAIC0xNTcsNyArMTU3LDcgQEAgaWYgRVhUUkFfRU5WX0NPTVBJTEVfQVJHUyBpcyBOb25lOgogICAgICBlbHNlOgogICAgICAgIEVYVFJBX0VOVl9DT01QSUxFX0FSR1MgKz0gJyAtRF9mdGltZT1fZnRpbWU2NCAtRF90aW1lYj1fX3RpbWViNjQnCiAgICBlbGlmICJsaW51eCIgaW4gc3lzLnBsYXRmb3JtOgpAQCAtMzksNCArMzcsNCBAQAogKyAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKICAgIGVsaWYgImRhcndpbiIgaW4gc3lzLnBsYXRmb3JtOgogICAgICBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLWZ2aXNpYmlsaXR5PWhpZGRlbiAtZm5vLXdyYXB2IC1mbm8tZXhjZXB0aW9ucycKLSBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8xNkJJVCcKKyBFWFRSQV9FTlZfQ09NUElMRV9BUkdTICs9ICcgLURQQl9GSUVMRF8zMkJJVCcKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9wcGMtYm9yaW5nc3NsLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQzNWFiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW8vcHBjLWJvcmluZ3NzbC1zdXBwb3J0LnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0xldCBib3JpbmdTU0wgY29tcGlsZSBvbiBwcGMzMiBiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0gYS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorKysrIGIvdGhpcmRfcGFydHkvYm9yaW5nc3NsL2luY2x1ZGUvb3BlbnNzbC9iYXNlLmgKK0BAIC05NSw2ICs5NSw5IEBAIGV4dGVybiAiQyIgeworICNlbGlmIChkZWZpbmVkKF9fUFBDNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgJiYgZGVmaW5lZChfTElUVExFX0VORElBTikKKyAjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisgI2RlZmluZSBPUEVOU1NMX1BQQzY0TEUKKysjZWxpZiAoZGVmaW5lZChfX1BQQ19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwY19fKSkKKysjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisrI2RlZmluZSBPUEVOU1NMX1BQQworICNlbGlmIGRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF8zMl9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvL3Jpc2N2NjRfc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWY3ZDllCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpby9yaXNjdjY0X3N1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorQWRkIFJJU0MtViA2NGJpdCBzdXBwb3J0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9pbmNsdWRlL29wZW5zc2wvYmFzZS5oCisrKysgYi90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvaW5jbHVkZS9vcGVuc3NsL2Jhc2UuaAorQEAgLTEwNCw2ICsxMDQsOSBAQCBleHRlcm4gIkMiIHsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKSAmJiBkZWZpbmVkKF9fTFA2NF9fKQorICNkZWZpbmUgT1BFTlNTTF82NF9CSVQKKyAjZGVmaW5lIE9QRU5TU0xfTUlQUzY0CisrI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiBkZWZpbmVkKF9fcmlzY3ZfeGxlbikKKysjZGVmaW5lIE9QRU5TU0xfNjRfQklUCisrI2RlZmluZSBPUEVOU1NMX1JJU0NWNjQKKyAjZWxpZiBkZWZpbmVkKF9fcG5hY2xfXykKKyAjZGVmaW5lIE9QRU5TU0xfMzJfQklUCisgI2RlZmluZSBPUEVOU1NMX1BOQUNMCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1ncnBjaW9fMS4xOS4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdycGNpb18xLjE5LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taHRtbDVsaWIuaW5jCmluZGV4IDBlYjhiZjMuLmE4ZTBmYjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1odG1sNWxpYi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWh0bWw1bGliLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS13ZWJlbmNvZGluZ3MgXAogICAgICR7UFlUSE9OX1BOfS14bWwgXAogIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYS5pbmMKaW5kZXggNTE5ODEyZC4uMTNiMGNkYiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmEuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hLmluYwpAQCAtMyw4ICszLDggQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlICYgUHl0aG9uLTIuMCAmIFVuaWNvZGUiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnJzdDttZDU9NzgyNzc1YjMyZjk2MDk4NTEyZTI4M2ZiNWQ0NTQ2Y2QiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIwZTViYjY5MDE4ZGRlZjFiOWQ5NWY2ODExODJiZTgyYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODRhMzhhNmY5MDNjMWQ3MWQ2ZDVmYWMwNjZiNThkNzc2OGFmNGRlMmI4MzJlNDI2ZWM3OWMzMGRhYTk0YTE2IgorU1JDX1VSSVttZDVzdW1dID0gIjJlOWFlMGI0YTBiMjZkMTc0N2M2MTI3Y2RiMDYwYmMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImMzNTdiM2Y2MjhjZjUzYWUyYzRjMDU2MjdlY2M0ODQ1NTMxNDJjYTIzMjY0ZTU5M2QzMjdiY2RlNWU5YzM0MDciCiAKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCA9ICJcCiAgICAgJHtQWVRIT05fUE59LWNvZGVjcyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pZG5hXzIuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlkbmFfMi44LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24taXNvZGF0ZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NiNmJiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlLmluYwpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIklTTyA4NjAxIGRhdGUvdGltZSBwYXJzZXIiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO2JlZ2lubGluZT04O2VuZGxpbmU9ODttZDU9ZTkxMGIzNWIwZWY0ZTFmNjY1YjlhNzVkNmFmYjc3MDkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZTEyMDNmY2UyN2NlNjVlMmQwMWM1ZjIxYzRkNDI4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZTM2NGEzZDU3NTk0NzljZGIyZDM3Y2NlNmI5Mzc2ZWE1MDRkYjJmZjkwMjUyYTJlNWI3Y2M4OWNjOWZmMmQ4IgorCitpbmhlcml0IHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gIiBcCisgICAgJHtQWVRIT05fUE59LXNpeCBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWlzb2RhdGVfMC42LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDQ4ZTEyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1pc29kYXRlLmluYwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWppbmphMi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwppbmRleCAwYzBiZjBkLi41MzQyZWI1IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tamluamEyLmluYwpAQCAtMTMsMyArMTMsNSBAQAogICAgICR7UFlUSE9OX1BOfS1qc29uICR7UFlUSE9OX1BOfS10aHJlYWRpbmcgJHtQWVRIT05fUE59LW51bWJlcnMiCiAKIENMRUFOQlJPS0VOID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWtjb25maWdsaWItMTAuNDIuMC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJkNmE2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1rY29uZmlnbGliLTEwLjQyLjAuaW5jCkBAIC0wLDAgKzEsOCBAQAorREVTQ1JJUFRJT04gPSAiS2NvbmZpZ2xpYiBpcyBhIEtjb25maWcgaW1wbGVtZW50YXRpb24gaW4gUHl0aG9uIgorTElDRU5TRSA9ICJJU0MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NzEyMTc3YTcyYTM5Mzc5MDk1NDNlZGEzYWQxYmZiN2MiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMzA2Mjc5YTA1MGM2YTg4OGYzNGE1NzE5MDQ3ZjIxNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDcwZWI5MDYxZjkyNGUxZmE3YmMyYjFmMGFlZWExZDM4ZTFkZGY5YmJkYmQ0YjVjMzQ2YmNmMWEwODQ4Njc0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbC5pbmMKaW5kZXggN2YzNTVhNy4uMTQ4OTdjMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWwuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sLmluYwpAQCAtMTEsMTUgKzExLDE1IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvZWxlbWVudHRyZWUudHh0O21kNT1lYjM0ZDAzNmE2ZTNkNTYzMTRlZTQ5YTY4NTJhYzg5MSBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvbGljZW5zZXMvQlNELnR4dDttZDU9NzAwYTFmYzE3ZjQ3OTdkNGYyZDM0OTcwYzhlZTY5NGIgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jL2xpY2Vuc2VzL0dQTC50eHQ7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3JuZy9pc28tc2NoZW1hdHJvbi5ybmc7YmVnaW5saW5lPTI7ZW5kbGluZT03O21kNT05MzllNzQzMGNlODVlMTI0MmZmNTBjNGVlOTQzMDc1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHhtbC9pc29zY2hlbWF0cm9uL3Jlc291cmNlcy9ybmcvaXNvLXNjaGVtYXRyb24ucm5nO2JlZ2lubGluZT0yO2VuZGxpbmU9NzttZDU9ZmM4NTY4NGE4ZGQ1ZmEyNzJjMDg2YmNlYjBkOTllMTAgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2x4bWwvaXNvc2NoZW1hdHJvbi9yZXNvdXJjZXMveHNsL2lzby1zY2hlbWF0cm9uLXhzbHQxL2lzb19zY2hlbWF0cm9uX21lc3NhZ2UueHNsO2JlZ2lubGluZT0yO2VuZGxpbmU9MjQ7bWQ1PWNjODZiN2IyYmJjNjc4ZTEzZjU4ZWE0MDNlYjk5MjliIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9seG1sL2lzb3NjaGVtYXRyb24vcmVzb3VyY2VzL3hzbC9STkcyU2NodHJuLnhzbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTc7bWQ1PTViMDMyMzZkMjkzZGMzNzg0MjA1NTQyYjQwOWQyZjUzIFwKICAgICAgICAgICAgICAgICAgICAgIgogCiBERVBFTkRTICs9ICJsaWJ4bWwyIGxpYnhzbHQiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIzMTIzOTQwMGNhNGUxMzBiNjk5OTNiYjNjMTQyMDRiMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMmFmYmU0MDMwOTBmNTg5M2UyNTQ5NThkMDI4NzVlMDczMjk3NWU3M2M0YzBjZGQzM2MxZjAwOWE2MTk2M2NhIgorU1JDX1VSSVttZDVzdW1dID0gImQyYjJlYjMwNWJmYTllZDE1YWViZTYxYWZmYjNmZmE0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhNWU3ZTk0MWQ2ZTcxYzljOWE3MTdjOTM3MjVjZGEwNzA4YzI0NzRmNTMyZTM2ODBhYzVlMzllYzU3ZDIyNGQiCiAKIERJU1RVVElMU19CVUlMRF9BUkdTICs9ICIgXAogICAgICAgICAgICAgICAgICAgICAgLS13aXRoLXhzbHQtY29uZmlnPSdwa2ctY29uZmlnIGxpYnhzbHQnIFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWx4bWxfNC4zLjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1seG1sXzQuMi40LmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1hcmt1cHNhZmUuaW5jCmluZGV4IDkyN2Y4NDQuLjQzN2E2MGMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tYXJrdXBzYWZlLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbWFya3Vwc2FmZS5pbmMKQEAgLTEwLDMgKzEwLDUgQEAKIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXN0cmluZ29sZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2suaW5jCmluZGV4IGZkYzg5MjYuLjkxNDdjMDYgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFjay5pbmMKQEAgLTIsMTIgKzIsMTIgQEAKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNkOTUyMzE4MWQ5ZDRmYmY3ZmZjYTUyZWFhMmE1NzUxIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiNmQ2NDRjMDZhODdhNWExMTFiYmJmNWIzNGI0YmU0NDAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc4Y2M4YTZkMzU0NWI1MzJkZmQxNDlkYTcxNWFiYWU0ZmRhMmEzYWRiNmQ3NGU1MjVkMGQ1ZTUxZjQ2OTA5YiIKLQotUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2stcHl0aG9uIgorUFlQSV9QQUNLQUdFID0gIm1zZ3BhY2siCiBpbmhlcml0IHB5cGkKIAorU1JDX1VSSVttZDVzdW1dID0gImJlMzA0M2NjMmMxZTNiNWViZjA4NDYzZmZhNzFjZjE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY0YWJjNmJmM2EyYWMzMDE3MDJmNTc2MGY0ZTZlMjI3ZDBmZDRkODRkOTAxNGVmOWE0MGZhYTlkNDMzNjUyNTkiCisKIFJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiXAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1tc2dwYWNrXzAuNi4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW1zZ3BhY2tfMC42LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW9iZC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJjYWY2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1vYmQuaW5jCkBAIC0wLDAgKzEsOSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBoYW5kbGluZyByZWFsdGltZSBzZW5zb3IgZGF0YSBmcm9tIE9CRC1JSSB2ZWhpY2xlIHBvcnRzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JyZW5kYW4tdy9weXRob24tT0JEIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1JFQURNRS5yc3Q7bWQ1PTI5ODhhNWU5MTNlYjEwNWZhMDgwMTExMzVjNDE1N2Q0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTNlMDRmODI1ZTEzYjdlYmM5N2QwNmI2YTY0MDc4MDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGIxYmFjOTVkZjJmYWFjNTcxZWJmNDQ0Nzc4ZTRkNzM2ZDA1MGQ4ZWQ3MDQ5MDIzYzBmYzkyOWE1MjBlYmE2ZCIKKworaW5oZXJpdCBweXBpCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCmluZGV4IGY4MzRlNmYuLjY2OTQzZWQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHQuaW5jCkBAIC03LDggKzcsOSBAQAogU1JDTkFNRSA9ICJwYWhvLW1xdHQiCiAKIGluaGVyaXQgcHlwaQotU1JDX1VSSVttZDVzdW1dID0gIjJjYzI3ZDhiMzY5NzAwYjFmYzk5MzI1YWRkMGRhZGQyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMxOTExZjYwMzFkZTMwNmMyN2VkNzlkYzc3YjY5MGQ3YzU1YjBkY2IwZjA0MzRjYTM0ZWM2MzYxZDAzNzExMjIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlM2FjMjljZDVkYzI0N2EwMTA4M2EyYThmM2ZkZGQwOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlNDQwYTA1MmI0NmQyMjJlMTg0YmUzYmUzODY3NjM3ODcyMjA3MmZjZDRkZmQyYzhmNTA5ZmI4NjFhN2IwYjc5IgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0tcHl0ZXN0LXJ1bm5lci1uYXRpdmUiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYWhvLW1xdHRfMS4zLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFoby1tcXR0XzEuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMi4wLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiNDAxOWYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBhc3RlXzIuMC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotU1VNTUFSWSA9ICJUb29scyBmb3IgdXNpbmcgYSBXZWIgU2VydmVyIEdhdGV3YXkgSW50ZXJmYWNlIHN0YWNrIgotSE9NRVBBR0UgPSAiaHR0cDovL3B5dGhvbnBhc3RlLm9yZy8iCi1MSUNFTlNFID0gIk1JVCIKLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbi1zaXgiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RvY3MvbGljZW5zZS50eHQ7bWQ1PTE3OThmMjlkNTUwODBjNjAzNjVlNjI4M2NiNDk3NzljIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTIzMWUxNGVhZTYyZmE3ZWQ3NmU5MTMwYjA0YmM2MWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM0NmEzNDc4MjRjMzI2NDFiZjAyMGMxNzk2N2I0OWFlNzRkMzMxMGVjMWJjOWI5NThkNGI4NGUyZDk4NTIxOCIKLQotUFlQSV9QQUNLQUdFID0gIlBhc3RlIgotaW5oZXJpdCBweXBpIHNldHVwdG9vbHMKLQotRklMRVNfJHtQTn0gKz0gIi91c3IvbGliLyoiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGFzdGVfMy4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1YzMyMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYXN0ZV8zLjAuNi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlRvb2xzIGZvciB1c2luZyBhIFdlYiBTZXJ2ZXIgR2F0ZXdheSBJbnRlcmZhY2Ugc3RhY2siCitIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9ucGFzdGUub3JnLyIKK0xJQ0VOU0UgPSAiTUlUIgorUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uLXNpeCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9saWNlbnNlLnR4dDttZDU9MTc5OGYyOWQ1NTA4MGM2MDM2NWU2MjgzY2I0OTc3OWMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZTkzNzYyZjI0ZmM3MjhlY2I0ZGRjZmYyNjkzZGYzOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNmFhY2Y3YTQwNjg1YmUwYTBkYjhiMjY1MTZlN2Q1NTlkN2ZlNWNjZjdhNDdjNWNkMzRmMTVhYjU1OGE4YjkyIgorCitQWVBJX1BBQ0tBR0UgPSAiUGFzdGUiCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCitGSUxFU18ke1BOfSArPSAiL3Vzci9saWIvKiIKKworREVQRU5EUyArPSAiJHtQWVRIT05fUE59LXB5dGVzdC1ydW5uZXItbmF0aXZlIgorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBicl80LjIuMC5iYgppbmRleCBhNGI1NmNkLi4zMjQ4NzcyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyXzQuMi4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnJfNC4yLjAuYmIKQEAgLTEsMyArMSw3IEBACiBpbmhlcml0IHNldHVwdG9vbHMKICMgVGhlIGluYyBmaWxlIGlzIGluIG9lLWNvcmUKIHJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKKworU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHJvdG9idWYuaW5jCmluZGV4IGI2MTc5MDQuLjU0ZWFjYzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wcm90b2J1Zi5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXByb3RvYnVmLmluYwpAQCAtMjgsNCArMjgsNSBAQAogIgogCiAjIEZvciB1c2FnZSBpbiBvdGhlciByZWNpcGllcyB3aGVuIGNvbXBpbGluZyBwcm90b2J1ZiBmaWxlcyAoZS5nLiBieSBncnBjaW8tdG9vbHMpCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlci5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwppbmRleCBkMTEyZDlmLi40N2EwZTBlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYworKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyLmluYwpAQCAtMyw4ICszLDkgQEAKIExJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODZmMWNlZGI0ZTY0MTBhODhjZThlMzBiOTEwNzkxNjkiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3MjM3MGRhNTQzNTgyMDJhNjAxMzBlMjIzZDQ4ODEzNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5OWE4Y2EwM2UyOTg1MWQ5NjYxNmFkMDQwNGI0YWFkN2Q5ZWUxNmYyNWM5Zjk3MDhhMTFmYWYyODEwZjdiMjI2IgorU1JDX1VSSVttZDVzdW1dID0gIjc2Mzk2NzYyYWRjM2ZhNzY5YzgzZDhlMjAyZDM2YjZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5ODg3MThhYmZhZDgwYjZiMTU3YWNjZTdiZjEzMGEzMDg3NmQyNzYwMzczOGFjMzlmMTQwOTkzMjQ2YjI1YjMiCisKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTguYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHljcGFyc2VyXzIuMTkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5Y3BhcnNlcl8yLjE5LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzQzOTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1wdHJhY2UtQWJzdHJhY3Qtb3Zlci11c2VyX3JlZ3Nfc3RydWN0LW5hbWUtd2hpY2gtZGlmLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSAyZWYxMjRlMjM1YTQ3ZGQ0NzQyODEzY2Y4MGUxMWE4OWNmNGYwMmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLURhdGU6IFRodSwgMyBNYXkgMjAxOCAxMjozNTozMSArMDkzMAotU3ViamVjdDogW1BBVENIXSBwdHJhY2U6IEFic3RyYWN0IG92ZXIgdXNlcl9yZWdzX3N0cnVjdCBuYW1lLCB3aGljaCBkaWZmZXJzIG9uCi0gQVJNMzIKLQotU2lnbmVkLW9mZi1ieTogQW5kcmV3IEplZmZlcnkgPGFuZHJld0Bhai5pZC5hdT4KLS0tLQotIHNyYy9wdHJhY2UuY2MgfCAgNiArKystLS0KLSBzcmMvcHRyYWNlLmggIHwgMTAgKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuY2MgYi9zcmMvcHRyYWNlLmNjCi1pbmRleCA0ODVmNThlNGQ4MmUuLjYxMGZhYmIzYjhlOCAxMDA2NDQKLS0tLSBhL3NyYy9wdHJhY2UuY2MKLSsrKyBiL3NyYy9wdHJhY2UuY2MKLUBAIC0xMjIsOCArMTIyLDggQEAgdm9pZCBQdHJhY2VJbnRlcnJ1cHQocGlkX3QgcGlkKSB7Ci0gICBEb1dhaXQocGlkKTsKLSB9Ci0gCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLS0gIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7Ci0rdXNlcl9yZWdzX3N0cnVjdCBQdHJhY2VHZXRSZWdzKHBpZF90IHBpZCkgewotKyAgdXNlcl9yZWdzX3N0cnVjdCByZWdzOwotICAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHUywgcGlkLCAwLCAmcmVncykpIHsKLSAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotICAgICBzcyA8PCAiRmFpbGVkIHRvIFBUUkFDRV9HRVRSRUdTOiAiIDw8IHN0cmVycm9yKGVycm5vKTsKLUBAIC0xMzIsNyArMTMyLDcgQEAgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpIHsKLSAgIHJldHVybiByZWdzOwotIH0KLSAKLS12b2lkIFB0cmFjZVNldFJlZ3MocGlkX3QgcGlkLCBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0rdm9pZCBQdHJhY2VTZXRSZWdzKHBpZF90IHBpZCwgdXNlcl9yZWdzX3N0cnVjdCByZWdzKSB7Ci0gICBpZiAocHRyYWNlKFBUUkFDRV9TRVRSRUdTLCBwaWQsIDAsICZyZWdzKSkgewotICAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gc3M7Ci0gICAgIHNzIDw8ICJGYWlsZWQgdG8gUFRSQUNFX1NFVFJFR1M6ICIgPDwgc3RyZXJyb3IoZXJybm8pOwotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UuaCBiL3NyYy9wdHJhY2UuaAotaW5kZXggNzA4M2JlMWM0ZGZkLi5kNmFmOGJmOWY4M2EgMTAwNjQ0Ci0tLS0gYS9zcmMvcHRyYWNlLmgKLSsrKyBiL3NyYy9wdHJhY2UuaAotQEAgLTIzLDYgKzIzLDEyIEBACi0gCi0gI2luY2x1ZGUgIi4vY29uZmlnLmgiCi0gCi0rI2lmIGRlZmluZWQoX19hcm1fXykKLSt0eXBlZGVmIHN0cnVjdCB1c2VyX3JlZ3MgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZWxzZQotK3R5cGVkZWYgc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdDsKLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgcHlmbGFtZSB7Ci0gCi0gaW50IERvV2FpdChwaWRfdCBwaWQsIGludCBvcHRpb25zID0gMCk7Ci1AQCAtMzksMTAgKzQ1LDEwIEBAIHZvaWQgUHRyYWNlU2VpemUocGlkX3QgcGlkKTsKLSB2b2lkIFB0cmFjZUludGVycnVwdChwaWRfdCBwaWQpOwotIAotIC8vIGdldCByZWdzIGZyb20gYSBwcm9jZXNzCi0tc3RydWN0IHVzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotK3VzZXJfcmVnc19zdHJ1Y3QgUHRyYWNlR2V0UmVncyhwaWRfdCBwaWQpOwotIAotIC8vIHNldCByZWdzIGluIGEgcHJvY2VzcwotLXZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3MpOwotK3ZvaWQgUHRyYWNlU2V0UmVncyhwaWRfdCBwaWQsIHVzZXJfcmVnc19zdHJ1Y3QgcmVncyk7Ci0gCi0gLy8gcG9rZSBhIGxvbmcgd29yZCBpbnRvIGFuIGFkZHJlc3MKLSB2b2lkIFB0cmFjZVBva2UocGlkX3QgcGlkLCB1bnNpZ25lZCBsb25nIGFkZHIsIGxvbmcgZGF0YSk7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS0xLjYuNi8wMDAxLXN5bWJvbC1BY2NvdW50LWZvci1wcmVsaW5rZWQtc2hhcmVkLW9iamVjdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlZWZjOWMuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUtMS42LjYvMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLUZyb20gMDA3OTY1ZDM0MTM0OTY3OTYwNzY5OWQwMDVjNGFmODExYjJjNDE5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJldyBKZWZmZXJ5IDxhbmRyZXdAYWouaWQuYXU+Ci1EYXRlOiBGcmksIDQgTWF5IDIwMTggMTE6MjM6NTMgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gc3ltYm9sOiBBY2NvdW50IGZvciBwcmVsaW5rZWQgc2hhcmVkIG9iamVjdHMKLQotU29tZSBwcm9qZWN0cywgc3VjaCBhcyB0aG9zZSBkZXJpdmVkIGZyb20gWW9jdG8sIHRlbmQgdG8gcHJlbGluayB0aGVpcgotYmluYXJpZXMgYW5kIGxpYnJhcmllcyB0byByZWR1Y2UgcnVudGltZSBvdmVyaGVhZC4gQ3VycmVudGx5IHRoaXMgdHJpcHMKLXVwIHB5ZmxhbWUgaW4gaXRzIHN5bWJvbCBhZGRyZXNzIGNhbGN1bGF0aW9ucywgYW5kIGxlYWRzIHRvIHB0cmFjZQotZmFpbHVyZXMgZHVlIHRvIHNwdXJpb3VzIGFkZHJlc3NlczoKLQotICAgJCBweWZsYW1lIC10IHB5dGhvbiAtYyAicHJpbnQgJ2ZvbyciCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgVW5leHBlY3RlZCBwdHJhY2UoMikgZXhjZXB0aW9uOiBGYWlsZWQgdG8gUFRSQUNFX1BFRUtEQVRBIChwaWQgMTQ4MiwgYWRkciAweDlmOWIxZDcwKTogSW5wdXQvb3V0cHV0IGVycm9yCi0gICBVbmV4cGVjdGVkIHB0cmFjZSgyKSBleGNlcHRpb246IEZhaWxlZCB0byBQVFJBQ0VfUEVFS0RBVEEgKHBpZCAxNDgyLCBhZGRyIDB4OWY5YjFkNzApOiBJbnB1dC9vdXRwdXQgZXJyb3IKLSAgIFVuZXhwZWN0ZWQgcHRyYWNlKDIpIGV4Y2VwdGlvbjogRmFpbGVkIHRvIFBUUkFDRV9QRUVLREFUQSAocGlkIDE0ODIsIGFkZHIgMHg5ZjliMWQ3MCk6IElucHV0L291dHB1dCBlcnJvcgotICAgLi4uCi0KLUFkZCBzdXBwb3J0IGZvciByZWFkaW5nIGEgcHJlbGlua2VkIGJhc2UgcF92YWRkciBvdXQgb2YgdGhlIEVMRiBhbmQKLWFkanVzdCB0aGUgUHlBZGRyZXNzZXMgdmFsdWVzIGFjY29yZGluZ2x5LgotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZXcgSmVmZmVyeSA8YW5kcmV3QGFqLmlkLmF1PgotLS0tCi0gc3JjL3N5bWJvbC5jYyB8IDE1ICsrKysrKysrKysrKysrKwotIHNyYy9zeW1ib2wuaCAgfCAyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3N5bWJvbC5jYyBiL3NyYy9zeW1ib2wuY2MKLWluZGV4IDEyNTE3NGVmZWViNS4uMzljM2U4MTMyZGQxIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5jYwotKysrIGIvc3JjL3N5bWJvbC5jYwotQEAgLTE2Niw2ICsxNjYsMTcgQEAgUHlBQkkgRUxGOjpXYWxrVGFibGUoaW50IHN5bSwgaW50IHN0ciwgUHlBZGRyZXNzZXMgKmFkZHJzKSB7Ci0gICByZXR1cm4gYWJpOwotIH0KLSAKLSthZGRyX3QgRUxGOjpHZXRCYXNlQWRkcmVzcygpIHsKLSsgIGludDMyX3QgcGhudW0gPSBoZHIoKS0+ZV9waG51bTsKLSsgIGludDMyX3QgaTsKLSsgIGZvciAoaSA9IDA7IGkgPCBwaG51bSAmJiBwaGRyKGkpLT5wX3R5cGUgIT0gUFRfTE9BRDsgaSsrKSB7Ci0rICB9Ci0rICBpZiAoaSA9PSBwaG51bSkgewotKyAgICB0aHJvdyBGYXRhbEV4Y2VwdGlvbigiRmFpbGVkIHRvIGZpbmQgUFRfTE9BRCBlbnRyeSBpbiBwcm9ncmFtIGhlYWRlcnMiKTsKLSsgIH0KLSsgIHJldHVybiBwaGRyKGkpLT5wX3ZhZGRyOwotK30KLSsKLSBQeUFkZHJlc3NlcyBFTEY6OkdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKSB7Ci0gICBQeUFkZHJlc3NlcyBhZGRyczsKLSAgIFB5QUJJIGRldGVjdGVkX2FiaSA9IFdhbGtUYWJsZShkeW5zeW1fLCBkeW5zdHJfLCAmYWRkcnMpOwotQEAgLTE3Niw2ICsxODcsMTAgQEAgUHlBZGRyZXNzZXMgRUxGOjpHZXRBZGRyZXNzZXMoUHlBQkkgKmFiaSkgewotICAgaWYgKGFiaSAhPSBudWxscHRyKSB7Ci0gICAgICphYmkgPSBkZXRlY3RlZF9hYmk7Ci0gICB9Ci0rICAvLyBIYW5kbGUgcHJlbGlua2VkIHNoYXJlZCBvYmplY3RzCi0rICBpZiAoaGRyKCktPmVfdHlwZSA9PSBFVF9EWU4pIHsKLSsgICAgcmV0dXJuIGFkZHJzIC0gR2V0QmFzZUFkZHJlc3MoKTsKLSsgIH0KLSAgIHJldHVybiBhZGRyczsKLSB9Ci0gfSAgLy8gbmFtZXNwYWNlIHB5ZmxhbWUKLWRpZmYgLS1naXQgYS9zcmMvc3ltYm9sLmggYi9zcmMvc3ltYm9sLmgKLWluZGV4IDEyNDg1M2JjYzFjMS4uYmI5MmI5YTI2MDRiIDEwMDY0NAotLS0tIGEvc3JjL3N5bWJvbC5oCi0rKysgYi9zcmMvc3ltYm9sLmgKLUBAIC0yOCwxNSArMjgsMTkgQEAKLSAKLSAjaWYgVVNFX0VMRjY0Ci0gI2RlZmluZSBlaGRyX3QgRWxmNjRfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjY0X1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGY2NF9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGY2NF9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjY0X1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjY0X0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1M2NAotICNlbHNlCi0gI2RlZmluZSBlaGRyX3QgRWxmMzJfRWhkcgotKyNkZWZpbmUgcGhkcl90IEVsZjMyX1BoZHIKLSAjZGVmaW5lIHNoZHJfdCBFbGYzMl9TaGRyCi0gI2RlZmluZSBkeW5fdCBFbGYzMl9EeW4KLSAjZGVmaW5lIHN5bV90IEVsZjMyX1N5bQotKyNkZWZpbmUgYWRkcl90IEVsZjMyX0FkZHIKLSAjZGVmaW5lIEFSQ0hfRUxGQ0xBU1MgRUxGQ0xBU1MzMgotICNlbmRpZgotIAotQEAgLTY3LDggKzcxLDE4IEBAIHN0cnVjdCBQeUFkZHJlc3NlcyB7Ci0gICAgICAgICBpbnRlcnBfaGVhZF9oaW50KDApLAotICAgICAgICAgcGllKGZhbHNlKSB7fQotIAotKyAgUHlBZGRyZXNzZXMgb3BlcmF0b3ItKGNvbnN0IHVuc2lnbmVkIGxvbmcgYmFzZSkgY29uc3QgewotKyAgICBQeUFkZHJlc3NlcyByZXMoKnRoaXMpOwotKyAgICByZXMudHN0YXRlX2FkZHIgPSB0aGlzLT50c3RhdGVfYWRkciA9PSAwID8gMCA6IHRoaXMtPnRzdGF0ZV9hZGRyIC0gYmFzZTsKLSsgICAgcmVzLmludGVycF9oZWFkX2FkZHIgPQotKyAgICAgICAgdGhpcy0+aW50ZXJwX2hlYWRfYWRkciA9PSAwID8gMCA6IHRoaXMtPmludGVycF9oZWFkX2FkZHIgLSBiYXNlOwotKyAgICByZXMuaW50ZXJwX2hlYWRfZm5fYWRkciA9Ci0rICAgICAgICB0aGlzLT5pbnRlcnBfaGVhZF9mbl9hZGRyID09IDAgPyAwIDogdGhpcy0+aW50ZXJwX2hlYWRfZm5fYWRkciAtIGJhc2U7Ci0rICAgIHJldHVybiByZXM7Ci0rICB9Ci0rCi0gICBQeUFkZHJlc3NlcyBvcGVyYXRvcisoY29uc3QgdW5zaWduZWQgbG9uZyBiYXNlKSBjb25zdCB7Ci0tICAgIFB5QWRkcmVzc2VzIHJlczsKLSsgICAgUHlBZGRyZXNzZXMgcmVzKCp0aGlzKTsKLSAgICAgcmVzLnRzdGF0ZV9hZGRyID0gdGhpcy0+dHN0YXRlX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT50c3RhdGVfYWRkciArIGJhc2U7Ci0gICAgIHJlcy5pbnRlcnBfaGVhZF9hZGRyID0KLSAgICAgICAgIHRoaXMtPmludGVycF9oZWFkX2FkZHIgPT0gMCA/IDAgOiB0aGlzLT5pbnRlcnBfaGVhZF9hZGRyICsgYmFzZTsKLUBAIC0xMTMsNiArMTI3LDkgQEAgY2xhc3MgRUxGIHsKLSAgIC8vIEFCSS4KLSAgIFB5QWRkcmVzc2VzIEdldEFkZHJlc3NlcyhQeUFCSSAqYWJpKTsKLSAKLSsgIC8vIEV4dHJhY3QgdGhlIGJhc2UgbG9hZCBhZGRyZXNzIGZyb20gdGhlIFByb2dyYW0gSGVhZGVyIHRhYmxlCi0rICBhZGRyX3QgR2V0QmFzZUFkZHJlc3MoKTsKLSsKLSAgcHJpdmF0ZToKLSAgIHZvaWQgKmFkZHJfOwotICAgc2l6ZV90IGxlbmd0aF87Ci1AQCAtMTIyLDYgKzEzOSwxNiBAQCBjbGFzcyBFTEYgewotICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBlaGRyX3QgKj4oYWRkcl8pOwotICAgfQotIAotKyAgaW5saW5lIGNvbnN0IHBoZHJfdCAqcGhkcihpbnQgaWR4KSBjb25zdCB7Ci0rICAgIGlmIChpZHggPCAwKSB7Ci0rICAgICAgc3RkOjpvc3RyaW5nc3RyZWFtIHNzOwotKyAgICAgIHNzIDw8ICJJbGxlZ2FsIHBoZHIgaW5kZXg6ICIgPDwgaWR4OwotKyAgICAgIHRocm93IEZhdGFsRXhjZXB0aW9uKHNzLnN0cigpKTsKLSsgICAgfQotKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBwaGRyX3QgKj4ocCgpICsgaGRyKCktPmVfcGhvZmYgKwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4ICogaGRyKCktPmVfcGhlbnRzaXplKTsKLSsgIH0KLSsKLSAgIGlubGluZSBjb25zdCBzaGRyX3QgKnNoZHIoaW50IGlkeCkgY29uc3QgewotICAgICBpZiAoaWR4IDwgMCkgewotICAgICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBzczsKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lLmluYwppbmRleCAzNDBhYWI3Li5kOGQ4MzQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZS5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWUuaW5jCkBAIC01LDcgKzUsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT0yZWU0MTExMmE0NGZlNzAxNGRjZTMzZTI2NDY4YmE5MyIKIERFUEVORFMgPSAicHl0aG9uIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdWJlci9weWZsYW1lLmdpdDtwcm90b2NvbD1odHRwcyIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS91YmVyL3B5ZmxhbWUuZ2l0O3Byb3RvY29sPWh0dHBzO25vYnJhbmNoPTEiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKQEAgLTEzLDMgKzEzLDYgQEAKIENPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2hfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCiBDT01QQVRJQkxFX0hPU1RfYWFyY2g2NF9jbGFzcy10YXJnZXQgPSAibnVsbCIKK0NPTVBBVElCTEVfSE9TVF9wb3dlcnBjX2NsYXNzLXRhcmdldCA9ICJudWxsIgorQ09NUEFUSUJMRV9IT1NUX3Jpc2N2NjRfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCitDT01QQVRJQkxFX0hPU1RfcmlzY3YzMl9jbGFzcy10YXJnZXQgPSAibnVsbCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWZsYW1lXzEuNi42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkZWRiODkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLXJlcXVpcmUgcHl0aG9uLXB5ZmxhbWUuaW5jCi0KLSMgdjEuNi42Ci1TUkNSRVYgPSAiOGE5ZDhjMmFjYzNiM2JiMDI3NDc1YjczODEzNGYxZTZmZmYxNGU2YyIKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXB0cmFjZS1BYnN0cmFjdC1vdmVyLXVzZXJfcmVnc19zdHJ1Y3QtbmFtZS13aGljaC1kaWYucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS1zeW1ib2wtQWNjb3VudC1mb3ItcHJlbGlua2VkLXNoYXJlZC1vYmplY3RzLnBhdGNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlmbGFtZV8xLjYuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjA4ZjMwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXB5ZmxhbWVfMS42LjcuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHB5dGhvbi1weWZsYW1lLmluYworCisjIHYxLjYuNworU1JDUkVWID0gImMxNTFkMmYzNDczN2YyOGExZjUyNjZhMDAzYjJiMDcyMGJiZDlmOTYiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcHlpbm90aWZ5LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCmluZGV4IDk3NWYxMWMuLjIxYWJkYjggMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1weWlub3RpZnkuaW5jCkBAIC03LDYgKzcsNyBAQAogICAgICR7UFlUSE9OX1BOfS1pbyBcCiAgICAgJHtQWVRIT05fUE59LW1pc2MgXAogICAgICR7UFlUSE9OX1BOfS1zaGVsbCBcCisgICAgJHtQWVRIT05fUE59LXNtdHBkIFwKICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjhlNTgwZmExZmYzOTcxZjk0YTZmODE2NzJiNzZjNDA2IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWFjMTk3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJkZmxpYi5pbmMKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJSREZMaWIgaXMgYSBwdXJlIFB5dGhvbiBwYWNrYWdlIGZvciB3b3JraW5nIHdpdGggUkRGIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT02OGMxYTNiYjY4N2JkNjNiOGU1NTUyZjNlYTI0OTg0MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjUzNGZlMzViMTNjNTg1N2Q1M2ZhMWFjNWE0MWVjYTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhMWRmMTQ1NTI1NTVjNWM3NzE1ZDhjZTcxYzA4ZjQwNGM5ODhjNThhMWVjZDM4NTUyZDBkYTRmYzI2MTI4MGQiCisKK2luaGVyaXQgcHlwaQorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICAke1BZVEhPTl9QTn0taXNvZGF0ZSBcCisgICAgJHtQWVRIT05fUE59LXB5cGFyc2luZyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZGZsaWJfNC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZDBmNWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmRmbGliXzQuMi4yLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzCityZXF1aXJlIHB5dGhvbi1yZGZsaWIuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmM2YTM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliLmluYwpAQCAtMCwwICsxLDcgQEAKK0xJQ0VOU0UgPSAiSVNDIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MjJkMTE3YTg0OWRmMTBkMDQ3ZWQ5Yjc5MjgzOGU4NjMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MzU4YTg3OWE0Mzc3MzkzYmNmZDM3ZDBmOWFlNmQ0ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ODNhYzQxNjc1N2VhZGE2ZDNkMDcwNTRlYzcwOTJhYzIxYzdmMzVjYjFkMmNmODJmYWYyMDU2MzcwODFmNDY4IgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXJlcXVlc3RzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMTg5MTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlIHB5dGhvbi1yZXF1ZXN0cy1vYXV0aGxpYi5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMuaW5jCmluZGV4IDMwMWMyZjguLjA0MDFlZTQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLmluYwpAQCAtMSwxNiArMSwxMiBAQAogREVTQ1JJUFRJT04gPSAiUHl0aG9uIEhUVFAgZm9yIEh1bWFucy4iCiBIT01FUEFHRSA9ICJodHRwOi8vcHl0aG9uLXJlcXVlc3RzLm9yZyIKIExJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWJmYmVhZmI4NWEyY2VlMjYxNTEwZDY1ZDVlYzE5MTU2IgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YThkNWExZDFjMmQ1MzAyNWUyMjgyYzUxMTAzM2Y2ZjciCiAKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L3B5dGhvbi1yZXF1ZXN0czoiCiAKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVN0cmlwLUF1dGhvcml6YXRpb24taGVhZGVyLXdoZW5ldmVyLXJvb3QtVVJMLWNoYW5nZXMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItUmV3b3JrLWF1dGhvcml6YXRpb24tc3RyaXBwaW5nLWxvZ2ljLWFzLWRpc2N1c3NlZC5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2YzFhMzFhZmVjOWQ2MTRlMmU3MWE5MWVlNmNhMjg3OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlYzIyZDgyNmEzNmVkNzJhNzM1OGZmM2ZlNTZjYmQ0YmE2OWRkN2E2NzE4ZmZkNDUwZmYwZTlkZjdhNDdjZTZhIgorU1JDX1VSSVttZDVzdW1dID0gIjI5MTg4MTdlYTQ2ODhmNGVhMjFjYjRiMTFlMzUzNDQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVhODgxMjA2ZTU5ZjQxZGJkMGJkNDQ1NDM3ZDc5MmU0MzkwNjcwM2ZmZjc1Y2E4ZmY0M2NjZGIxMWYzM2YyNjMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXJlcXVlc3RzLzAwMDEtU3RyaXAtQXV0aG9yaXphdGlvbi1oZWFkZXItd2hlbmV2ZXItcm9vdC1VUkwtY2hhbmdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODBlZjVmZi4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMS1TdHJpcC1BdXRob3JpemF0aW9uLWhlYWRlci13aGVuZXZlci1yb290LVVSTC1jaGFuZ2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBAQAotRnJvbSBmYjBkMzkxMTM4ZGY0OGU5M2M0NGEyMDg3ZWE3OTZjY2E1ZTIyOWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDE2OjM4OjQyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTdHJpcCBBdXRob3JpemF0aW9uIGhlYWRlciB3aGVuZXZlciByb290IFVSTCBjaGFuZ2VzCi0KLVByZXZpb3VzbHkgdGhlIGhlYWRlciB3YXMgc3RyaXBwZWQgb25seSBpZiB0aGUgaG9zdG5hbWUgY2hhbmdlZCwgYnV0IGluCi1hbiBodHRwcyAtPiBodHRwIHJlZGlyZWN0IHRoYXQgY2FuIGxlYWsgdGhlIGNyZWRlbnRpYWxzIG9uIHRoZSB3aXJlCi0oIzQ3MTYpLiBCYXNlZCBvbiB3aXRoIFJGQyA3MjM1IHNlY3Rpb24gMi4yLCB0aGUgaGVhZGVyIGlzIG5vdyBzdHJpcHBlZAotaWYgdGhlICJjYW5vbmljYWwgcm9vdCBVUkwiIChzY2hlbWUrYXV0aG9yaXR5KSBoYXMgY2hhbmdlZCwgYnkgY2hlY2tpbmcKLXNjaGVtZSwgaG9zdG5hbWUgYW5kIHBvcnQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRml4IENWRS0yMDE4LTE4MDc0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHJlcXVlc3RzL3Nlc3Npb25zLnB5ICAgfCAgNCArKystCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDEyICsrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3JlcXVlc3RzL3Nlc3Npb25zLnB5IGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLWluZGV4IGJhMTM1MjYuLjI5NjlkODMgMTAwNjQ0Ci0tLS0gYS9yZXF1ZXN0cy9zZXNzaW9ucy5weQotKysrIGIvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLUBAIC0yNDIsNyArMjQyLDkgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgICAgICBvcmlnaW5hbF9wYXJzZWQgPSB1cmxwYXJzZShyZXNwb25zZS5yZXF1ZXN0LnVybCkKLSAgICAgICAgICAgICByZWRpcmVjdF9wYXJzZWQgPSB1cmxwYXJzZSh1cmwpCi0gCi0tICAgICAgICAgICAgaWYgKG9yaWdpbmFsX3BhcnNlZC5ob3N0bmFtZSAhPSByZWRpcmVjdF9wYXJzZWQuaG9zdG5hbWUpOgotKyAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0rICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotKyAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLSAgICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotIAotICAgICAgICAgIyAubmV0cmMgbWlnaHQgaGF2ZSBtb3JlIGF1dGggZm9yIHVzIG9uIG91ciBuZXcgaG9zdC4KLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5IGIvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weQotaW5kZXggZmNkZGIxZC4uZTBlODAxYSAxMDA2NDQKLS0tLSBhL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLSsrKyBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLUBAIC0xNTc1LDcgKzE1NzUsMTcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotICAgICAgICAgICAgIGF1dGg9KCd1c2VyJywgJ3Bhc3MnKSwKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByLmhpc3RvcnlbMF0ucmVxdWVzdC5oZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLS0gICAgICAgIGFzc2VydCBub3Qgci5yZXF1ZXN0LmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJywgJycpCi0rICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotKwotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICAgICAgciA9IHJlcXVlc3RzLmdldCgKLSsgICAgICAgICAgICBodHRwYmluX3NlY3VyZSgncmVkaXJlY3QtdG8nKSwKLSsgICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiBodHRwYmluKCdnZXQnKX0sCi0rICAgICAgICAgICAgYXV0aD0oJ3VzZXInLCAncGFzcycpLAotKyAgICAgICAgICAgIHZlcmlmeT1odHRwYmluX2NhX2J1bmRsZQotKyAgICAgICAgKQotKyAgICAgICAgYXNzZXJ0IHIuaGlzdG9yeVswXS5yZXF1ZXN0LmhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgYXNzZXJ0ICdBdXRob3JpemF0aW9uJyBub3QgaW4gci5yZXF1ZXN0LmhlYWRlcnMKLSAKLSAgICAgZGVmIHRlc3RfYXV0aF9pc19yZXRhaW5lZF9mb3JfcmVkaXJlY3Rfb25faG9zdChzZWxmLCBodHRwYmluKToKLSAgICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoaHR0cGJpbigncmVkaXJlY3QvMScpLCBhdXRoPSgndXNlcicsICdwYXNzJykpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHMvMDAwMi1SZXdvcmstYXV0aG9yaXphdGlvbi1zdHJpcHBpbmctbG9naWMtYXMtZGlzY3Vzc2VkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZjA2OWZiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0cy8wMDAyLVJld29yay1hdXRob3JpemF0aW9uLXN0cmlwcGluZy1sb2dpYy1hcy1kaXNjdXNzZWQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotRnJvbSA2OThjMmZhODUwYmZjOGIzYmRiNzY4ZTFjMWNkNmQ1N2U2NDM4MTFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJ1Y2UgTWVycnkgPGJtZXJyeUBza2EuYWMuemE+Ci1EYXRlOiBUdWUsIDE0IEF1ZyAyMDE4IDEzOjMwOjQzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBSZXdvcmsgYXV0aG9yaXphdGlvbiBzdHJpcHBpbmcgbG9naWMgYXMgZGlzY3Vzc2VkCi0KLVRoZSBleGNlcHRpb24gZm9yIGh0dHAtPmh0dHBzIHVwZ3JhZGUgbm93IHJlcXVpcmVzIHRoZSBzdGFuZGFyZCBIVFRQKFMpCi1wb3J0cyB0byBiZSB1c2VkLCBlaXRoZXIgaW1wbGljaXRseSAobm8gcG9ydCBzcGVjaWZpZWQpIG9yIGV4cGxpY2l0bHkuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotRm9sbG93LXVwIGZpeCBmb3IgQ1ZFLTIwMTgtMTgwNzQKLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gcmVxdWVzdHMvc2Vzc2lvbnMucHkgICB8IDI2ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tCi0gdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSB8IDMzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9yZXF1ZXN0cy9zZXNzaW9ucy5weSBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1pbmRleCAyOTY5ZDgzLi5jMTFhM2EyIDEwMDY0NAotLS0tIGEvcmVxdWVzdHMvc2Vzc2lvbnMucHkKLSsrKyBiL3JlcXVlc3RzL3Nlc3Npb25zLnB5Ci1AQCAtMTE1LDYgKzExNSwyMiBAQCBjbGFzcyBTZXNzaW9uUmVkaXJlY3RNaXhpbihvYmplY3QpOgotICAgICAgICAgICAgIHJldHVybiB0b19uYXRpdmVfc3RyaW5nKGxvY2F0aW9uLCAndXRmOCcpCi0gICAgICAgICByZXR1cm4gTm9uZQotIAotKyAgICBkZWYgc2hvdWxkX3N0cmlwX2F1dGgoc2VsZiwgb2xkX3VybCwgbmV3X3VybCk6Ci0rICAgICAgICAiIiJEZWNpZGUgd2hldGhlciBBdXRob3JpemF0aW9uIGhlYWRlciBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHJlZGlyZWN0aW5nIiIiCi0rICAgICAgICBvbGRfcGFyc2VkID0gdXJscGFyc2Uob2xkX3VybCkKLSsgICAgICAgIG5ld19wYXJzZWQgPSB1cmxwYXJzZShuZXdfdXJsKQotKyAgICAgICAgaWYgb2xkX3BhcnNlZC5ob3N0bmFtZSAhPSBuZXdfcGFyc2VkLmhvc3RuYW1lOgotKyAgICAgICAgICAgIHJldHVybiBUcnVlCi0rICAgICAgICAjIFNwZWNpYWwgY2FzZTogYWxsb3cgaHR0cCAtPiBodHRwcyByZWRpcmVjdCB3aGVuIHVzaW5nIHRoZSBzdGFuZGFyZAotKyAgICAgICAgIyBwb3J0cy4gVGhpcyBpc24ndCBzcGVjaWZpZWQgYnkgUkZDIDcyMzUsIGJ1dCBpcyBrZXB0IHRvIGF2b2lkCi0rICAgICAgICAjIGJyZWFraW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgcmVxdWVzdHMKLSsgICAgICAgICMgdGhhdCBhbGxvd2VkIGFueSByZWRpcmVjdHMgb24gdGhlIHNhbWUgaG9zdC4KLSsgICAgICAgIGlmIChvbGRfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cCcgYW5kIG9sZF9wYXJzZWQucG9ydCBpbiAoODAsIE5vbmUpCi0rICAgICAgICAgICAgICAgIGFuZCBuZXdfcGFyc2VkLnNjaGVtZSA9PSAnaHR0cHMnIGFuZCBuZXdfcGFyc2VkLnBvcnQgaW4gKDQ0MywgTm9uZSkpOgotKyAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICAgICAgIyBTdGFuZGFyZCBjYXNlOiByb290IFVSSSBtdXN0IG1hdGNoCi0rICAgICAgICByZXR1cm4gb2xkX3BhcnNlZC5wb3J0ICE9IG5ld19wYXJzZWQucG9ydCBvciBvbGRfcGFyc2VkLnNjaGVtZSAhPSBuZXdfcGFyc2VkLnNjaGVtZQotKwotICAgICBkZWYgcmVzb2x2ZV9yZWRpcmVjdHMoc2VsZiwgcmVzcCwgcmVxLCBzdHJlYW09RmFsc2UsIHRpbWVvdXQ9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeT1UcnVlLCBjZXJ0PU5vbmUsIHByb3hpZXM9Tm9uZSwgeWllbGRfcmVxdWVzdHM9RmFsc2UsICoqYWRhcHRlcl9rd2FyZ3MpOgotICAgICAgICAgIiIiUmVjZWl2ZXMgYSBSZXNwb25zZS4gUmV0dXJucyBhIGdlbmVyYXRvciBvZiBSZXNwb25zZXMgb3IgUmVxdWVzdHMuIiIiCi1AQCAtMjM2LDE2ICsyNTIsMTAgQEAgY2xhc3MgU2Vzc2lvblJlZGlyZWN0TWl4aW4ob2JqZWN0KToKLSAgICAgICAgIGhlYWRlcnMgPSBwcmVwYXJlZF9yZXF1ZXN0LmhlYWRlcnMKLSAgICAgICAgIHVybCA9IHByZXBhcmVkX3JlcXVlc3QudXJsCi0gCi0tICAgICAgICBpZiAnQXV0aG9yaXphdGlvbicgaW4gaGVhZGVyczoKLSsgICAgICAgIGlmICdBdXRob3JpemF0aW9uJyBpbiBoZWFkZXJzIGFuZCBzZWxmLnNob3VsZF9zdHJpcF9hdXRoKHJlc3BvbnNlLnJlcXVlc3QudXJsLCB1cmwpOgotICAgICAgICAgICAgICMgSWYgd2UgZ2V0IHJlZGlyZWN0ZWQgdG8gYSBuZXcgaG9zdCwgd2Ugc2hvdWxkIHN0cmlwIG91dCBhbnkKLSAgICAgICAgICAgICAjIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuCi0tICAgICAgICAgICAgb3JpZ2luYWxfcGFyc2VkID0gdXJscGFyc2UocmVzcG9uc2UucmVxdWVzdC51cmwpCi0tICAgICAgICAgICAgcmVkaXJlY3RfcGFyc2VkID0gdXJscGFyc2UodXJsKQotLQotLSAgICAgICAgICAgIGlmIChvcmlnaW5hbF9wYXJzZWQuaG9zdG5hbWUgIT0gcmVkaXJlY3RfcGFyc2VkLmhvc3RuYW1lCi0tICAgICAgICAgICAgICAgICAgICBvciBvcmlnaW5hbF9wYXJzZWQucG9ydCAhPSByZWRpcmVjdF9wYXJzZWQucG9ydAotLSAgICAgICAgICAgICAgICAgICAgb3Igb3JpZ2luYWxfcGFyc2VkLnNjaGVtZSAhPSByZWRpcmVjdF9wYXJzZWQuc2NoZW1lKToKLS0gICAgICAgICAgICAgICAgZGVsIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXQotKyAgICAgICAgICAgIGRlbCBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10KLSAKLSAgICAgICAgICMgLm5ldHJjIG1pZ2h0IGhhdmUgbW9yZSBhdXRoIGZvciB1cyBvbiBvdXIgbmV3IGhvc3QuCi0gICAgICAgICBuZXdfYXV0aCA9IGdldF9uZXRyY19hdXRoKHVybCkgaWYgc2VsZi50cnVzdF9lbnYgZWxzZSBOb25lCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9yZXF1ZXN0cy5weSBiL3Rlc3RzL3Rlc3RfcmVxdWVzdHMucHkKLWluZGV4IGUwZTgwMWEuLjE0ODA2N2IgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci0rKysgYi90ZXN0cy90ZXN0X3JlcXVlc3RzLnB5Ci1AQCAtMTU2NywxNyArMTU2Nyw3IEBAIGNsYXNzIFRlc3RSZXF1ZXN0czoKLSAgICAgICAgICAgICBwcmVxID0gcmVxLnByZXBhcmUoKQotICAgICAgICAgICAgIGFzc2VydCB0ZXN0X3VybCA9PSBwcmVxLnVybAotIAotLSAgICBAcHl0ZXN0Lm1hcmsueGZhaWwocmFpc2VzPUNvbm5lY3Rpb25FcnJvcikKLS0gICAgZGVmIHRlc3RfYXV0aF9pc19zdHJpcHBlZF9vbl9yZWRpcmVjdF9vZmZfaG9zdChzZWxmLCBodHRwYmluKToKLS0gICAgICAgIHIgPSByZXF1ZXN0cy5nZXQoCi0tICAgICAgICAgICAgaHR0cGJpbigncmVkaXJlY3QtdG8nKSwKLS0gICAgICAgICAgICBwYXJhbXM9eyd1cmwnOiAnaHR0cDovL3d3dy5nb29nbGUuY28udWsnfSwKLS0gICAgICAgICAgICBhdXRoPSgndXNlcicsICdwYXNzJyksCi0tICAgICAgICApCi0tICAgICAgICBhc3NlcnQgci5oaXN0b3J5WzBdLnJlcXVlc3QuaGVhZGVyc1snQXV0aG9yaXphdGlvbiddCi0tICAgICAgICBhc3NlcnQgJ0F1dGhvcml6YXRpb24nIG5vdCBpbiByLnJlcXVlc3QuaGVhZGVycwotLQotLSAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX3NjaGVtZV9yZWRpcmVjdChzZWxmLCBodHRwYmluLCBodHRwYmluX3NlY3VyZSwgaHR0cGJpbl9jYV9idW5kbGUpOgotKyAgICBkZWYgdGVzdF9hdXRoX2lzX3N0cmlwcGVkX29uX2h0dHBfZG93bmdyYWRlKHNlbGYsIGh0dHBiaW4sIGh0dHBiaW5fc2VjdXJlLCBodHRwYmluX2NhX2J1bmRsZSk6Ci0gICAgICAgICByID0gcmVxdWVzdHMuZ2V0KAotICAgICAgICAgICAgIGh0dHBiaW5fc2VjdXJlKCdyZWRpcmVjdC10bycpLAotICAgICAgICAgICAgIHBhcmFtcz17J3VybCc6IGh0dHBiaW4oJ2dldCcpfSwKLUBAIC0xNTk0LDYgKzE1ODQsMjcgQEAgY2xhc3MgVGVzdFJlcXVlc3RzOgotIAotICAgICAgICAgYXNzZXJ0IGgxID09IGgyCi0gCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2hvc3RfY2hhbmdlKHNlbGYpOgotKyAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotKyAgICAgICAgYXNzZXJ0IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2Fub3RoZXIuZXhhbXBsZS5jb20vJykKLSsKLSsgICAgZGVmIHRlc3Rfc2hvdWxkX3N0cmlwX2F1dGhfaHR0cF9kb3duZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cDovL2V4YW1wbGUuY29tL2JhcicpCi0rCi0rICAgIGRlZiB0ZXN0X3Nob3VsZF9zdHJpcF9hdXRoX2h0dHBzX3VwZ3JhZGUoc2VsZik6Ci0rICAgICAgICBzID0gcmVxdWVzdHMuU2Vzc2lvbigpCi0rICAgICAgICBhc3NlcnQgbm90IHMuc2hvdWxkX3N0cmlwX2F1dGgoJ2h0dHA6Ly9leGFtcGxlLmNvbS9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbS9iYXInKQotKyAgICAgICAgYXNzZXJ0IG5vdCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206ODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBub3Qgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tL2ZvbycsICdodHRwczovL2V4YW1wbGUuY29tOjQ0My9iYXInKQotKyAgICAgICAgIyBOb24tc3RhbmRhcmQgcG9ydHMgc2hvdWxkIHRyaWdnZXIgc3RyaXBwaW5nCi0rICAgICAgICBhc3NlcnQgcy5zaG91bGRfc3RyaXBfYXV0aCgnaHR0cDovL2V4YW1wbGUuY29tOjgwODAvZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vYmFyJykKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb20vZm9vJywgJ2h0dHBzOi8vZXhhbXBsZS5jb206ODQ0My9iYXInKQotKwotKyAgICBkZWYgdGVzdF9zaG91bGRfc3RyaXBfYXV0aF9wb3J0X2NoYW5nZShzZWxmKToKLSsgICAgICAgIHMgPSByZXF1ZXN0cy5TZXNzaW9uKCkKLSsgICAgICAgIGFzc2VydCBzLnNob3VsZF9zdHJpcF9hdXRoKCdodHRwOi8vZXhhbXBsZS5jb206MTIzNC9mb28nLCAnaHR0cHM6Ly9leGFtcGxlLmNvbTo0MzIxL2JhcicpCi0rCi0gICAgIGRlZiB0ZXN0X21hbnVhbF9yZWRpcmVjdF93aXRoX3BhcnRpYWxfYm9keV9yZWFkKHNlbGYsIGh0dHBiaW4pOgotICAgICAgICAgcyA9IHJlcXVlc3RzLlNlc3Npb24oKQotICAgICAgICAgcjEgPSBzLmdldChodHRwYmluKCdyZWRpcmVjdC8yJyksIGFsbG93X3JlZGlyZWN0cz1GYWxzZSwgc3RyZWFtPVRydWUpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4xOS4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5MzNiNDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2xpcC1kYnVzLmluYwpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgZGJ1cyBzZXJ2aWNlcyBpbiBQeXRob24gMi54IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwL3B5dGhvbi1zbGlwIgorREVTQ1JJUFRJT04gPSAiXAorVGhlIFNpbXBsZSBMaWJyYXJ5IGZvciBQeXRob24gMi54IHBhY2thZ2VzIGNvbnRhaW4gbWlzY2VsbGFuZW91cyBjb2RlIGZvciBcCitjb252ZW5pZW5jZSwgZXh0ZW5zaW9uIGFuZCB3b3JrYXJvdW5kIHB1cnBvc2VzLiBcCitcCitUaGlzIHBhY2thZ2UgcHJvdmlkZXMgc2xpcC5kYnVzLnNlcnZpY2UuT2JqZWN0LCB3aGljaCBpcyBhIGRidXMuc2VydmljZS5PYmplY3QgXAorZGVyaXZhdGl2ZSB0aGF0IGVuZHMgaXRzZWxmIGFmdGVyIGEgY2VydGFpbiB0aW1lIHdpdGhvdXQgYmVpbmcgdXNlZCBhbmQvb3IgaWYgXAordGhlcmUgYXJlIG5vIGNsaWVudHMgYW55bW9yZSBvbiB0aGUgbWVzc2FnZSBidXMsIGFzIHdlbGwgYXMgY29udmVuaWVuY2UgXAorZnVuY3Rpb25zIGFuZCBkZWNvcmF0b3JzIGZvciBpbnRlZ3JhdGluZyBhIGRidXMgc2VydmljZSB3aXRoIFBvbGljeUtpdC4iCisKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NTc0YzY5NjVhZTVmNTgzZTU1ODgwZTM5N2ZiYjAxOCIKK1NSQ05BTUUgPSAicHl0aG9uLXNsaXAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL25waGlsaXBwLyR7U1JDTkFNRX0vcmVsZWFzZXMvZG93bmxvYWQvJHtTUkNOQU1FfS0ke1BWfS8ke1NSQ05BTUV9LSR7UFZ9LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vJHtTUkNOQU1FfS0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI4YWU1ZjkzODUzNDY2YzQ0ZWM5NjcwNmJhMmExZWI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjZjMDg2ZjBkZDkzYTBhYzdhMDE3NmYzODNhMTJhZjkxYjY2NTdiNzhhMzAxZTNmNWIyNWQ5ZjhkNGQxMGIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKK30KKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLworIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitDTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNTg3ZTcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLVNVTU1BUlkgPSAiQ29udmVuaWVuY2UgZnVuY3Rpb25zIGZvciBkYnVzIHNlcnZpY2VzIGluIFB5dGhvbiAyLngiCi1IT01FUEFHRSA9ICJodHRwOi8vbnBoaWxpcHAuZmVkb3JhcGVvcGxlLm9yZy9weXRob24tc2xpcC8iCi1ERVNDUklQVElPTiA9ICJcCi1UaGUgU2ltcGxlIExpYnJhcnkgZm9yIFB5dGhvbiAyLnggcGFja2FnZXMgY29udGFpbiBtaXNjZWxsYW5lb3VzIGNvZGUgZm9yIFwKLWNvbnZlbmllbmNlLCBleHRlbnNpb24gYW5kIHdvcmthcm91bmQgcHVycG9zZXMuIFwKLVwKLVRoaXMgcGFja2FnZSBwcm92aWRlcyBzbGlwLmRidXMuc2VydmljZS5PYmplY3QsIHdoaWNoIGlzIGEgZGJ1cy5zZXJ2aWNlLk9iamVjdCBcCi1kZXJpdmF0aXZlIHRoYXQgZW5kcyBpdHNlbGYgYWZ0ZXIgYSBjZXJ0YWluIHRpbWUgd2l0aG91dCBiZWluZyB1c2VkIGFuZC9vciBpZiBcCi10aGVyZSBhcmUgbm8gY2xpZW50cyBhbnltb3JlIG9uIHRoZSBtZXNzYWdlIGJ1cywgYXMgd2VsbCBhcyBjb252ZW5pZW5jZSBcCi1mdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMgZm9yIGludGVncmF0aW5nIGEgZGJ1cyBzZXJ2aWNlIHdpdGggUG9saWN5S2l0LiIKLQotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1NzRjNjk2NWFlNWY1ODNlNTU4ODBlMzk3ZmJiMDE4IgotU1JDTkFNRSA9ICJweXRob24tc2xpcCIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbnBoaWxpcHAvJHtTUkNOQU1FfS9yZWxlYXNlcy9kb3dubG9hZC8ke1NSQ05BTUV9LSR7UFZ9LyR7U1JDTkFNRX0tJHtQVn0udGFyLmJ6MiIKLVMgPSAiJHtXT1JLRElSfS8ke1NSQ05BTUV9LSR7UFZ9IgotCi1pbmhlcml0IHNldHVwdG9vbHMKLQotU1JDX1VSSVttZDVzdW1dID0gImE2ZDhlZTk2MjQ1ZmMyMTc4NWQ0YzFjMDYyYzg1ZjJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJjODk3ZjFhYjZmNWI0OTg5Zjg1NTQ4Nzk5YWFlYjg0ZmRlNjdiYmJhMThlNDAzNDFiZmUxZDc4ODVjMmZkOWEiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLSAgICBzZWQgLWUgJ3MvQFZFUlNJT05ALyR7UFZ9L2cnIHNldHVwLnB5LmluID4gc2V0dXAucHkKLX0KLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMTg0NzEzLwotIyBweXRob24tbmF0aXZlL3B5dGhvbjogY2FuJ3Qgb3BlbiBmaWxlICdzZXR1cC5weSc6IFtFcnJubyAyXSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwZmExYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zbGlwLWRidXNfMC42LjUuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10cWRtLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjdhODBjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG0uaW5jCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiRmFzdCwgRXh0ZW5zaWJsZSBQcm9ncmVzcyBNZXRlciIKK0hPTUVQQUdFID0gImh0dHA6Ly90cWRtLmdpdGh1Yi5pby8iCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKKworTElDRU5TRSA9ICJNSVQgJiBNUEwtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9MDU0ZWY3MTA1Y2JhMDUwMDE3ZDEzNjgyNjJhMTYyM2MiCisKK2luaGVyaXQgcHlwaQorCitTUkNfVVJJW21kNXN1bV0gPSAiODA3ZThjMTNlMTZlMzY2MGFjODhlMDVkNzExZGFlYjAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTIyOTc3ZTNlYmU5NjFmNzIzNjJmNmRkZmI5MTk3Y2M1MzFjOTczN2FhZjVmNjA3ZWYwOTc0MGM4NDllY2QwNSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzODEwMDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHFkbV80LjMxLjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXRxZG0uaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpc3RlZC5pbmMKaW5kZXggMDE2MTZiMS4uNDU2YWRmNCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXN0ZWQuaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2lzdGVkLmluYwpAQCAtMzUsNyArMzUsNiBAQAogIgogCiBQQUNLQUdFUyA9KyAiXAotICAgICR7UE59LXNyYyBcCiAgICAgJHtQTn0tYmluIFwKICIKIApAQCAtMjQyLDkgKzI0MSwxMCBAQAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX3B5ZG9jdG9ydGVtcGxhdGVzLyBcCiAiCiAKLVJERVBFTkRTX3tQTn0tc3JjID0gIiR7UE59IgorUkRFUEVORFNfJHtQTn0tc3JjID0gIiR7UE59IgogRklMRVNfJHtQTn0tc3JjID0gIiBcCiAgICAgJHtsaWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcy90d2lzdGVkLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyoucHkgXAogICAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC8qLyovKi5weSBcCiAiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTY1N2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR3aXR0ZXIuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiVHdpdHRlciBmb3IgUHl0aG9uIgorREVTQ1JJUFRJT04gPSAiUHl0aG9uIG1vZHVsZSB0byBzdXBwb3J0IHR3aXR0ZXIgQVBJIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1BLRy1JTkZPO21kNT0wMzA3ZmZmZDhjNGQ5OTQ2YzAyOWRhYTE0MjZkMjZlNyIKKworU1JDX1VSSVttZDVzdW1dID0gImM2ZGMyZjMxNWRlZDc2MWFhZmM5NmJlYTMzNTFjN2Y2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlODVhNzlmNThhMDFkZDMzNTk2ODUyM2I5MWM1ZmNlNzYwZTdmZTc4YmYyNWE2ZTcxYzcyMjA0ZmU0OTlkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJ0d2VlcHkiCisKK1JERVBFTkRTXyR7UE59ICs9ICJcCisgICAgICAgICR7UFlUSE9OX1BOfS1waXAgXAorICAgICAgICAke1BZVEhPTl9QTn0tcHlzb2NrcyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1yZXF1ZXN0cyBcCisgICAgICAgICR7UFlUSE9OX1BOfS1zaXggXAorICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10d2l0dGVyXzMuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMjhiMDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29scworCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdHpsb2NhbC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJmOTNlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsLmluYwpAQCAtMCwwICsxLDggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0byByZXR1cm4gdHppbmZvIHdpdGggdGhlIGxvY2FsIHRpbWV6b25lIGluZm9ybWF0aW9uIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLm9yZy9wcm9qZWN0L3R6bG9jYWwvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NTdlMGJkNjE2NDNkODFkMDU2ODNjZGNlNjViMTFkMTAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTUzYmU4OTFlZmEwODEyYzRhZGZiMGM2ZTgxOGVlYyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGViZWI4NDg4NDVhYzg5OGRhNjUxOWI5YjMxODc5Y2YxM2I2NjI2ZjcxODRjNDk2MDM3YjgxOGUyMzhmMmM0ZSIgCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXR6bG9jYWxfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc5ODBkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi10emxvY2FsXzEuNS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBweXBpIHNldHVwdG9vbHMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKaW5kZXggY2Q2ZmE4ZC4uZTZjYzRhYyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgpAQCAtOSwxNCArOSw2IEBACiAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzCiAKLWRvX2NvbXBpbGVfYXBwZW5kKCkgewotICAgICR7UFlUSE9OfSBzZXR1cC5weSAtcSBiZGlzdF9lZ2cgLS1kaXN0LWRpciAuLwotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS92Y3ZlcnNpb25lciouZWdnICR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vCi19Ci0KIFJERVBFTkRTXyR7UE59ICs9ICJcCiAgICAgJHtQWVRIT05fUE59LXN1YnByb2Nlc3MgXAogICAgICIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi13ZWJlbmNvZGluZ3MuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKaW5kZXggMzRjYTcwNi4uYTJiODQxMCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXdlYmVuY29kaW5ncy5pbmMKQEAgLTExLDMgKzExLDUgQEAKICAgICAke1BZVEhPTl9QTn0tY29kZWNzIFwKICAgICAke1BZVEhPTl9QTn0tanNvbiBcCiAiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi14bHJkLmluYwppbmRleCBkMWFiMDVkLi44OTNlODJlIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24teGxyZC5pbmMKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXhscmQuaW5jCkBAIC0xMCwzICsxMCw1IEBACiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEyMTg4NTUxM2U2ZDkxNWZlMzNhOGVlNWZkZmE2NzU0MzNiNjE0MDViYTEzZTJhNjllNjJlZTM2ODI4ZDdlMiIKIAogUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS1jb21wcmVzc2lvbiAke1BZVEhPTl9QTn0taW8gJHtQWVRIT05fUE59LXBwcmludCAke1BZVEhPTl9QTn0tc2hlbGwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYWJzbF8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjVhNmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hYnNsXzAuNy4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiQWJzZWlsIFB5dGhvbiBDb21tb24gTGlicmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Fic2VpbC9hYnNlaWwtcHkiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNiODNlZjk2Mzg3ZjE0NjU1ZmM4NTRkZGMzYzZiZDU3IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWJzZWlsL2Fic2VpbC1weS5naXQiCitTUkNSRVYgPz0gImUzY2U1MDQxODNjNTdmYzRlY2E1MmZlODQ3MzJjMTFjZGE5OWQxMzEiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzdG9yXzAuNy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmRjOTI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1hc3Rvcl8wLjcuMS5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkVhc3kgbWFuaXB1bGF0aW9uIG9mIFB5dGhvbiBzb3VyY2UgdmlhIHRoZSBBU1QuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3RvciIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT01NjEyMDVmZGFiYzNlYzUyY2FlMmQzMDgxNWI4YWRlNyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2JlcmtlcnBla3NhZy9hc3Rvci5naXQiCitTUkNSRVYgPz0gIjRjYTNhMjZlNTJmMDg2Nzg4NTRjMjg0MWNkMGZkZjIyMzQ2MWU0N2QiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWJhbmRpdF8xLjQuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NGY0NzYxLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotU1VNTUFSWSA9ICJTZWN1cml0eSBvcmllbnRlZCBzdGF0aWMgYW5hbHlzZXIgZm9yIHB5dGhvbiBjb2RlLiIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTFkZWNlNzgyMWJmM2ZkNzBmZTEzMDllYWEzN2Q1MmEyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc0MTU1Y2I5OTIxYmU4NTc2OTNiMzJkMjUzMWU4NTciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2I5NzcwNDU0OTdmODNlYzNhMDI2MTY5NzNhYjg0NWM4MjljZGFiODE0NGNlMmU3NTdmZTAzMTEwNGE5YWJkNCIKLQotREVQRU5EUyA9ICJweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSBweXRob24zLXBici1uYXRpdmUiCi0KLWluaGVyaXQgc2V0dXB0b29sczMgcHlwaQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1iYW5kaXRfMS41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAwMmQ1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYmFuZGl0XzEuNS4xLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiU2VjdXJpdHkgb3JpZW50ZWQgc3RhdGljIGFuYWx5c2VyIGZvciBweXRob24gY29kZS4iCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKKworU1JDX1VSSVttZDVzdW1dID0gIjgxYmEzOTc5ZGVkMWI0MjFmYThkNjllNmZhYTA2ZGNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk0MTNmYWNmZTlkZTFlMWJkMjkxZDUyNWM3ODRlMWJlYjFhNTVjOTkxNmI1MWRhZTEyOTc5YWY2M2E2OWJhNGMiCisKK0RFUEVORFMgPSAicHl0aG9uMy1wYnItbmF0aXZlIHB5dGhvbjMtZ2l0IHB5dGhvbjMtcGJyIHB5dGhvbjMtcHl5YW1sIHB5dGhvbjMtc2l4IHB5dGhvbjMtc3RldmVkb3JlIgorCitpbmhlcml0IHNldHVwdG9vbHMzIHB5cGkKKworUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtbW9kdWxlcyBweXRob24zLWdpdCBweXRob24zLXBiciBweXRob24zLXB5eWFtbCBweXRob24zLXNpeCBweXRob24zLXN0ZXZlZG9yZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNhY2hldG9vbHNfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZiMmY2NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2FjaGV0b29sc18zLjEuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLWNhY2hldG9vbHMuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY2xpY2tfNy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNsaWNrXzYuNy5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jbGlja183LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi4zLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjQuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1jcnlwdG9ncmFwaHktdmVjdG9yc18yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5LXZlY3RvcnNfMi40LjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWNyeXB0b2dyYXBoeV8yLjMuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtY3J5cHRvZ3JhcGh5XzIuNC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdhc3RfMC4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUwOGExOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2FzdF8wLjIuMi5iYgpAQCAtMCwwICsxLDE0IEBACitTVU1NQVJZID0gIkEgZ2VuZXJpYyBBU1QgdG8gcmVwcmVzZW50IFB5dGhvbjIgYW5kIFB5dGhvbjMncyBBYnN0cmFjdCBTeW50YXggVHJlZShBU1QpLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJnZS1zYW5zLXBhaWxsZS9nYXN0IgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWEzYWQ5YjY4MDJlNzEzZmM1ZTMwN2UxMjMwZjFlYTkwIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2VyZ2Utc2Fucy1wYWlsbGUvZ2FzdC5naXQiCitTUkNSRVYgPz0gImVkODJlMmE1MDc1MDVjNmIxOGViNjY1ZDM3MzhiNmMwNjAyZGE1ZTciCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdldmVudF8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZjE3MmU1Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHB5dGhvbi1nZXZlbnQuaW5jCi1pbmhlcml0IHNldHVwdG9vbHMzCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1nZXZlbnRfMS40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY2ODhlNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2V2ZW50XzEuNC4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24tZ2V2ZW50LmluYworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdyZWVubGV0XzAuNC4xNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncmVlbmxldF8wLjQuMTQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JlZW5sZXRfMC40LjE1LmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE0LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdycGNpb18xLjE5LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ3JwY2lvXzEuMTQuMS5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1ncnBjaW9fMS4xOS4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweS8wMDAxLWNyb3NzLWNvbXBpbGluZy1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmNTBjODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWg1cHkvMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDdlM2IxNzQ1YzFmZWYzNDY4M2EwNjEwMzgxZGQzMzA4YWQ0ZDFiYTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI5IEphbiAyMDE5IDE3OjA4OjMyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNyb3NzIGNvbXBpbGluZyBzdXBwb3J0CisKK1JlbW92ZSB1c2VsZXNzIGRpcnMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXBfYnVpbGQucHkgICAgIHwgNCAtLS0tCisgc2V0dXBfY29uZmlndXJlLnB5IHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cF9idWlsZC5weSBiL3NldHVwX2J1aWxkLnB5CitpbmRleCA4NWIzMjFhLi4yYzc4ZTkyIDEwMDY0NAorLS0tIGEvc2V0dXBfYnVpbGQucHkKKysrKyBiL3NldHVwX2J1aWxkLnB5CitAQCAtNTMsMTAgKzUzLDYgQEAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpOgorICAgICAgICAgKCdfSERGNVVTRURMTF8nLCBOb25lKSwKKyAgICAgICAgICgnSDVfQlVJTFRfQVNfRFlOQU1JQ19MSUInLCBOb25lKQorICAgICBdKQorLWVsc2U6CistICAgIEZBTExCQUNLX1BBVEhTWydpbmNsdWRlX2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2luY2x1ZGUnLCAnL3Vzci9sb2NhbC9pbmNsdWRlJ10pCistICAgIEZBTExCQUNLX1BBVEhTWydsaWJyYXJ5X2RpcnMnXS5leHRlbmQoWycvb3B0L2xvY2FsL2xpYicsICcvdXNyL2xvY2FsL2xpYiddKQorLQorIAorIGNsYXNzIGg1cHlfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgCitkaWZmIC0tZ2l0IGEvc2V0dXBfY29uZmlndXJlLnB5IGIvc2V0dXBfY29uZmlndXJlLnB5CitpbmRleCBhMmRlNzZhLi4xOTdmMmRhIDEwMDY0NAorLS0tIGEvc2V0dXBfY29uZmlndXJlLnB5CisrKysgYi9zZXR1cF9jb25maWd1cmUucHkKK0BAIC0yMDgsNyArMjA4LDcgQEAgZGVmIGF1dG9kZXRlY3RfdmVyc2lvbihoZGY1X2Rpcj1Ob25lKToKKyAgICAgZWxzZToKKyAgICAgICAgIHJlZ2V4cCA9IHJlLmNvbXBpbGUocidebGliaGRmNS5zbycpCisgCistICAgIGxpYmRpcnMgPSBbJy91c3IvbG9jYWwvbGliJywgJy9vcHQvbG9jYWwvbGliJ10KKysgICAgbGliZGlycyA9IFtdCisgICAgIHRyeToKKyAgICAgICAgIGlmIHBrZ2NvbmZpZy5leGlzdHMoImhkZjUiKToKKyAgICAgICAgICAgICBsaWJkaXJzLmV4dGVuZChwa2djb25maWcucGFyc2UoImhkZjUiKVsnbGlicmFyeV9kaXJzJ10pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaDVweV8yLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2E3NzU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1oNXB5XzIuOS4wLmJiCkBAIC0wLDAgKzEsMzAgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYm90aCBhIGhpZ2gtIGFuZCBsb3ctbGV2ZWwgaW50ZXJmYWNlIHRvIHRoZSBIREY1IGxpYnJhcnkgZnJvbSBQeXRob24uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3Lmg1cHkub3JnLyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zZXR1cC5weTtiZWdpbmxpbmU9MTA3O2VuZGxpbmU9MTA3O21kNT03OTVlY2FkMGQyNjFjOTk4Y2M1MjZjODRhODIyZGZmNiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2g1cHkvaDVweS5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jcm9zcy1jb21waWxpbmctc3VwcG9ydC5wYXRjaCBcCisgICAgICAgICAgIgorU1JDUkVWID89ICI4ZDk2YTE0YzM1MDhkZTFiZGU3N2FlYzVkYjMwMmU0NzhkYzVkYmM0IgorCitpbmhlcml0IHNldHVwdG9vbHMzCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gInB5dGhvbjMtcGtnY29uZmlnLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtY3l0aG9uLW5hdGl2ZSBcCisgICAgICAgICAgIHB5dGhvbjMtbnVtcHktbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMy1zaXgtbmF0aXZlIFwKKyAgICAgICAgICAgcHl0aG9uMyBcCisgICAgICAgICAgIGhkZjUgXAorICAgICAgICAgICIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLXNpeCBcCisgICAgICAgICAgICAgICAgICIKKworZXhwb3J0IEhERjVfVkVSU0lPTj0iMS44LjE5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pZG5hXzIuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjcuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaWRuYV8yLjguYmIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtaXNvZGF0ZV8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTc5YWU5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1pc29kYXRlXzAuNi4wLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24taXNvZGF0ZS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rY29uZmlnbGliXzEwLjQyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTBiMDM5YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2NvbmZpZ2xpYl8xMC40Mi4wLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBweXRob24ta2NvbmZpZ2xpYi0ke1BWfS5pbmMKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLWFwcGxpY2F0aW9uc18xLjAuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzhiOTkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1rZXJhcy1hcHBsaWNhdGlvbnNfMS4wLjYuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJSZWZlcmVuY2UgaW1wbGVtZW50YXRpb25zIG9mIHBvcHVsYXIgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1hcHBsaWNhdGlvbnMiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MzY2ZTJmZDNjOTcxNGYxNjJkMzY2M2I2Zjk3Y2ZlNDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9rZXJhcy10ZWFtL2tlcmFzLWFwcGxpY2F0aW9ucy5naXQiCitTUkNSRVYgPz0gIjYxZGUyMTgxNTcyOGFhNjYzNzdlYmIyYTdiNGMyZjU0OTJhMzRkZDIiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1udW1weSBcCisgICAgICAgICAgICAgICAgICBweXRob24zLWg1cHkgXAorICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWtlcmFzLXByZXByb2Nlc3NpbmdfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThiOGM2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMta2VyYXMtcHJlcHJvY2Vzc2luZ18xLjAuNS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gIkVhc3kgZGF0YSBwcmVwcm9jZXNzaW5nIGFuZCBkYXRhIGF1Z21lbnRhdGlvbiBmb3IgZGVlcCBsZWFybmluZyBtb2RlbHMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTE3NDRiMzIwNTAwY2MyZTMxMTI5NjRkMDBjY2U3YWE0IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20va2VyYXMtdGVhbS9rZXJhcy1wcmVwcm9jZXNzaW5nLmdpdCIKK1NSQ1JFViA/PSAiMzYyZmU5ZjhkYWY1NTYxNTEzMjhlYjVkMDJiZDVhZTYzOGM2NTNiOCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1seG1sXzQuMy4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWx4bWxfNC4yLjQuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbHhtbF80LjMuMS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tYXJrZG93bl8zLjAuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZkMmYxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbWFya2Rvd25fMy4wLjEuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJBIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBvZiBKb2huIEdydWJlcidzIE1hcmtkb3duLiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5tZDttZDU9NzQ1YWFhZDBjNjljNjAwMzllNjM4YmZmOWZmYzU5ZWQiCisKK2luaGVyaXQgcHlwaSBzZXR1cHRvb2xzMworCitQWVBJX1BBQ0tBR0UgPSAiTWFya2Rvd24iCitQWVBJX1NSQ19VUkkgPSAiaHR0cHM6Ly9maWxlcy5weXRob25ob3N0ZWQub3JnL3BhY2thZ2VzLzNjLzUyLzdiYWU5ZTk5YTdhNGJlNmFmNGE3MTNmZTliNjkyNzc3ZTY0NjhkMjg5OTFjNTRjMjczZGZiNmVjOWZiMi9NYXJrZG93bi0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiNzIyMTlmNDZjYTQ0MGI2NTdiZjIyNzUwMDczMWJkZjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDAyZTBmOWIwNGM1MDBjZGU2NjM3YzExYWQ3YzcyNjcxZjM1OWI4N2I5ZmU5MjRiMjM4MzY0OWQ4ODQxZGI3YyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC41LjYuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW1zZ3BhY2tfMC42LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbXNncGFja18wLjUuNi5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1tc2dwYWNrXzAuNi4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtb2JkXzAuNy4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OGUzOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLW9iZF8wLjcuMC5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLW9iZC5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYWhvLW1xdHRfMS40LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGFoby1tcXR0XzEuMy4xLmJiCnJlbmFtZSB0byBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBhaG8tbXF0dF8xLjQuMC5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTg5YmEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1leHBsaWNpdGx5LXNldC1jb21waWxlLW9wdGlvbnMucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorRnJvbSA1Mjg3OTQzOWYyOTc2NjYyMTQwYjc2OTUxZjQzZjE2ZTFkNWVmMDhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAxOCBNYXIgMjAxOSAyMzoyMzo1NSAtMDQwMAorU3ViamVjdDogW1BBVENIXSBleHBsaWNpdGx5IHNldCBjb21waWxlIG9wdGlvbnMKKworT0UgZG9lcyBub3Qgc3VwcG9ydCB0byBpbnN0YWxsIGVnZyBwYWNrYWdlLCBzbworZXhwbGljaXRseSBzZXQgYnVpbGRfZXh0IG9wdGlvbnMgZm9yIG9lLWNvcmUncworYHNldHVwLnB5IGluc3RhbGwnCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLmNmZyB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZXR1cC5jZmcgYi9zZXR1cC5jZmcKK2luZGV4IDk1OTAwZmYuLjI3ZGEzMTMgMTAwNjQ0CistLS0gYS9zZXR1cC5jZmcKKysrKyBiL3NldHVwLmNmZworQEAgLTksMyArOSwxNSBAQCBhZGRvcHRzID0gLXZ4IFRlc3RzCisgCisgW2ZsYWtlOF0KKyBtYXgtbGluZS1sZW5ndGggPSA4OAorKworK1tidWlsZF9leHRdCisrZGlzYWJsZS1wbGF0Zm9ybS1ndWVzc2luZyA9IDEKKytlbmFibGUtemxpYiA9IDEKKytlbmFibGUtanBlZyA9IDEKKytlbmFibGUtdGlmZiA9IDEKKytlbmFibGUtZnJlZXR5cGUgPSAxCisrZW5hYmxlLWxjbXMgPSAxCisrZW5hYmxlLWpwZWcyMDAwID0gMQorK2Rpc2FibGUtd2VicCA9IDEKKytkaXNhYmxlLXdlYnBtdXggPSAxCisrZGlzYWJsZS1pbWFnZXF1YW50ID0gMQorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpbGxvdy8wMDAxLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODYyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3cvMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGE3ODQxMTQwMmM4MjQ2NjgyODNiZWI5NGRiNGJmN2UyMDZhNGNmNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDE0IE1hciAyMDE5IDAzOjQ4OjEwIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIHN1cHBvcnQgY3Jvc3MgY29tcGlsaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLnB5IHwgMTMgKysrLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggNzlmOTEyYi4uMzdlNTgyNyAxMDA3NTUKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTUwLDcgKzUwLDcgQEAgX0xJQl9JTUFHSU5HID0gKAorICAgICAiWmlwRW5jb2RlIiwgIlRpZmZEZWNvZGUiLCAiSnBlZzJLRGVjb2RlIiwgIkpwZWcyS0VuY29kZSIsICJCb3hCbHVyIiwKKyAgICAgIlF1YW50UG5nUXVhbnQiLCAiY29kZWNfZmQiKQorIAorLURFQlVHID0gRmFsc2UKKytERUJVRyA9IFRydWUKKyAKKyAKKyBjbGFzcyBEZXBlbmRlbmN5RXhjZXB0aW9uKEV4Y2VwdGlvbik6CitAQCAtMzQ1LDIxICszNDUsMTYgQEAgY2xhc3MgcGlsX2J1aWxkX2V4dChidWlsZF9leHQpOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBtYXRjaC5ncm91cCgxKSkKKyAKKyAgICAgICAgICMgaW5jbHVkZSwgcnBhdGgsIGlmIHNldCBhcyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CistICAgICAgICBmb3IgayBpbiAoJ0NfSU5DTFVERV9QQVRIJywgJ0NQQVRIJywgJ0lOQ0xVREUnKToKKysgICAgICAgIGZvciBrIGluICgnQ19JTkNMVURFX1BBVEgnLCAnQ1BBVEgnLCAnSU5DTFVERScsICdTVEFHSU5HX0lOQ0RJUicpOgorICAgICAgICAgICAgIGlmIGsgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgZm9yIGQgaW4gb3MuZW52aXJvbltrXS5zcGxpdChvcy5wYXRoLnBhdGhzZXApOgorICAgICAgICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkoaW5jbHVkZV9kaXJzLCBkKQorIAorLSAgICAgICAgZm9yIGsgaW4gKCdMRF9SVU5fUEFUSCcsICdMSUJSQVJZX1BBVEgnLCAnTElCJyk6CisrICAgICAgICBmb3IgayBpbiAoJ0xEX1JVTl9QQVRIJywgJ0xJQlJBUllfUEFUSCcsICdMSUInLCAnU1RBR0lOR19MSUJESVInKToKKyAgICAgICAgICAgICBpZiBrIGluIG9zLmVudmlyb246CisgICAgICAgICAgICAgICAgIGZvciBkIGluIG9zLmVudmlyb25ba10uc3BsaXQob3MucGF0aC5wYXRoc2VwKToKKyAgICAgICAgICAgICAgICAgICAgIF9hZGRfZGlyZWN0b3J5KGxpYnJhcnlfZGlycywgZCkKKyAKKy0gICAgICAgIHByZWZpeCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigicHJlZml4IikKKy0gICAgICAgIGlmIHByZWZpeDoKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShsaWJyYXJ5X2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiKSkKKy0gICAgICAgICAgICBfYWRkX2RpcmVjdG9yeShpbmNsdWRlX2RpcnMsIG9zLnBhdGguam9pbihwcmVmaXgsICJpbmNsdWRlIikpCistCisgICAgICAgICAjCisgICAgICAgICAjIGFkZCBwbGF0Zm9ybSBkaXJlY3RvcmllcworIAorQEAgLTQxMyw4ICs0MDgsNiBAQCBjbGFzcyBwaWxfYnVpbGRfZXh0KGJ1aWxkX2V4dCk6CisgICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImdudSIpIG9yIFwKKyAgICAgICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImZyZWVic2QiKToKKy0gICAgICAgICAgICBmb3IgZGlybmFtZSBpbiBfZmluZF9saWJyYXJ5X2RpcnNfbGRjb25maWcoKToKKy0gICAgICAgICAgICAgICAgX2FkZF9kaXJlY3RvcnkobGlicmFyeV9kaXJzLCBkaXJuYW1lKQorICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJsaW51eCIpIGFuZCBcCisgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uLmdldCgnQU5EUk9JRF9ST09UJywgTm9uZSk6CisgICAgICAgICAgICAgICAgICMgdGVybXV4IHN1cHBvcnQgZm9yIGFuZHJvaWQuCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waWxsb3dfNS40LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2YzE4NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlsbG93XzUuNC4xLmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiUHl0aG9uIEltYWdpbmcgTGlicmFyeSAoRm9yaykuIFBpbGxvdyBpcyB0aGUgZnJpZW5kbHkgUElMIGZvcmsgYnkgQWxleCBcCitDbGFyayBhbmQgQ29udHJpYnV0b3JzLiBQSUwgaXMgdGhlIFB5dGhvbiBJbWFnaW5nIExpYnJhcnkgYnkgRnJlZHJpayBMdW5kaCBhbmQgXAorQ29udHJpYnV0b3JzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vcGlsbG93LnJlYWR0aGVkb2NzLmlvIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjM3OTAwMWVjYjQ3ZTJhMDQyMGM0MDE3N2ZjMTEyNSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5dGhvbi1waWxsb3cvUGlsbG93LmdpdDticmFuY2g9NS40LnggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWV4cGxpY2l0bHktc2V0LWNvbXBpbGUtb3B0aW9ucy5wYXRjaCBcCisiCitTUkNSRVYgPz0gImYzOGYwMWJiZTNhMGE5ZjQ5Y2U1OTJjODZmZjIwYzAxYzk2NTUxMzMiCisKKworaW5oZXJpdCBzZXR1cHRvb2xzMworCitERVBFTkRTICs9ICIgXAorICAgIHpsaWIgXAorICAgIGpwZWcgXAorICAgIHRpZmYgXAorICAgIGZyZWV0eXBlIFwKKyAgICBsY21zIFwKKyAgICBvcGVuanBlZyBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBrZ2NvbmZpZ18xLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmViOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wa2djb25maWdfMS40LjAuYmIKQEAgLTAsMCArMSwxOCBAQAorU1VNTUFSWSA9ICJQeXRob24gbW9kdWxlIHRvIGludGVyZmFjZSB3aXRoIHRoZSBwa2ctY29uZmlnIGNvbW1hbmQgbGluZSB0b28iCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWciCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmFhN2Y4MmJlOGYyMjBiZmY2MTU2YmU0NzkwMzQ0ZmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9tYXR6ZS9wa2djb25maWcuZ2l0IgorU1JDUkVWID89ICI4YWYwMTAyMzQ2ODQ3ZTg4NzNhZjhlNzZhYjNmMzRiYTlkYTgwNmUyIgorCitSREVQRU5EU18ke1BOfSA9ICJwa2djb25maWcgXAorICAgICAgICAgICAgICAgICAiCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWYvMDAwMS1BZGQtUHl0aG9uLTMuNy1jb21wYXRpYmlsaXR5LTQ4NjIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNWU3M2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK0Zyb20gNTM5YmMwMTdhNjJmOTFiZGY3YzU0N2I1ODk0OGNiNWEyZjU5ZDkxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJlbiBXZWJiIDxiZW5Ac2FsaWxhYi5vcmc+CitEYXRlOiBUaHUsIDEyIEp1bCAyMDE4IDEwOjU4OjEwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBQeXRob24gMy43IGNvbXBhdGliaWxpdHkgKCM0ODYyKQorCitDb21waWxhdGlvbiBvZiBQeXRob24gd3JhcHBlcnMgZmFpbHMgd2l0aCBQeXRob24gMy43IGJlY2F1c2UKK3RoZSBQeXRob24gZm9sa3MgY2hhbmdlZCB0aGVpciBDIEFQSSBzdWNoIHRoYXQKK1B5VW5pY29kZV9Bc1VURjhBbmRTaXplKCkgbm93IHJldHVybnMgYSBjb25zdCBjaGFyKiByYXRoZXIKK3RoYW4gYSBjaGFyKi4gQWRkIGEgcGF0Y2ggdG8gd29yayBhcm91bmQuIFJlbGF0ZXMgIzQwODYuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9wcm90b2NvbGJ1ZmZlcnMvcHJvdG9idWYuZ2l0XQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCistLS0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYyAgICAgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MgfCAyICstCisgZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYyAgICAgICB8IDIgKy0KKyBnb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgICAgICAgIHwgMiArLQorIGdvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjICAgICAgICAgICAgICAgfCA0ICsrLS0KKyA1IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK2luZGV4IDhhZjBjYjEuLjE5YTFjMzggMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvci5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3IuY2MKK0BAIC01Niw3ICs1Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9jb250YWluZXJzLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfY29udGFpbmVycy5jYworaW5kZXggYmMwMDdmNy4uMDE1MzY2NCAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX2NvbnRhaW5lcnMuY2MKK0BAIC02Niw3ICs2Niw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZGVzY3JpcHRvcl9wb29sLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L2Rlc2NyaXB0b3JfcG9vbC5jYworaW5kZXggOTU4ODJhZS4uOTYyYWNjYyAxMDA2NDQKKy0tLSBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9kZXNjcmlwdG9yX3Bvb2wuY2MKK0BAIC00OCw3ICs0OCw3IEBACisgICAjZW5kaWYKKyAgICNkZWZpbmUgUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplKG9iLCBjaGFycHAsIHNpemVwKSBcCisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBcCistICAgICAgICgoKihjaGFycHApID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKysgICAgICAgKCgqKGNoYXJwcCkgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpKSA9PSBOVUxMPyAtMTogMCk6IFwKKyAgICAgICAgUHlCeXRlc19Bc1N0cmluZ0FuZFNpemUob2IsIChjaGFycHApLCAoc2l6ZXApKSkKKyAjZW5kaWYKKyAKK2RpZmYgLS1naXQgYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MgYi9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKK2luZGV4IDAxOGI1YzIuLjE3NGM1NDcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvZXh0ZW5zaW9uX2RpY3QuY2MKKysrKyBiL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9leHRlbnNpb25fZGljdC5jYworQEAgLTUzLDcgKzUzLDcgQEAKKyAgICNlbmRpZgorICAgI2RlZmluZSBQeVN0cmluZ19Bc1N0cmluZ0FuZFNpemUob2IsIGNoYXJwcCwgc2l6ZXApIFwKKyAgICAgKFB5VW5pY29kZV9DaGVjayhvYik/IFwKKy0gICAgICAgKCgqKGNoYXJwcCkgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShvYiwgKHNpemVwKSkpID09IE5VTEw/IC0xOiAwKTogXAorKyAgICAgICAoKCooY2hhcnBwKSA9IGNvbnN0X2Nhc3Q8Y2hhcio+KFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkpID09IE5VTEw/IC0xOiAwKTogXAorICAgICAgICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShvYiwgKGNoYXJwcCksIChzaXplcCkpKQorICNlbmRpZgorIAorZGlmZiAtLWdpdCBhL2dvb2dsZS9wcm90b2J1Zi9weWV4dC9tZXNzYWdlLmNjIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK2luZGV4IDU4OTM1MzMuLjMxMDk0YjcgMTAwNjQ0CistLS0gYS9nb29nbGUvcHJvdG9idWYvcHlleHQvbWVzc2FnZS5jYworKysrIGIvZ29vZ2xlL3Byb3RvYnVmL3B5ZXh0L21lc3NhZ2UuY2MKK0BAIC03OSw3ICs3OSw3IEBACisgICAgIChQeVVuaWNvZGVfQ2hlY2sob2IpPyBQeVVuaWNvZGVfQXNVVEY4KG9iKTogUHlCeXRlc19Bc1N0cmluZyhvYikpCisgICAjZGVmaW5lIFB5U3RyaW5nX0FzU3RyaW5nQW5kU2l6ZShvYiwgY2hhcnBwLCBzaXplcCkgXAorICAgICAoUHlVbmljb2RlX0NoZWNrKG9iKT8gXAorLSAgICAgICAoKCooY2hhcnBwKSA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKG9iLCAoc2l6ZXApKSkgPT0gTlVMTD8gLTE6IDApOiBcCisrICAgICAgICgoKihjaGFycHApID0gY29uc3RfY2FzdDxjaGFyKj4oUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2IsIChzaXplcCkpKSkgPT0gTlVMTD8gLTE6IDApOiBcCisgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplKG9iLCAoY2hhcnBwKSwgKHNpemVwKSkpCisgICAjZW5kaWYKKyAjZW5kaWYKK0BAIC0xNTI5LDcgKzE1MjksNyBAQCBQeU9iamVjdCogSGFzRmllbGQoQ01lc3NhZ2UqIHNlbGYsIFB5T2JqZWN0KiBhcmcpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CisgI2Vsc2UKKy0gIGZpZWxkX25hbWUgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKTsKKysgIGZpZWxkX25hbWUgPSBjb25zdF9jYXN0PGNoYXIqPihQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKSk7CisgICBpZiAoIWZpZWxkX25hbWUpIHsKKyAgICAgcmV0dXJuIE5VTEw7CisgICB9CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXByb3RvYnVmXzMuNi4xLmJiCmluZGV4IDc4MWQxZGMuLjliMDY2OGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHJvdG9idWZfMy42LjEuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wcm90b2J1Zl8zLjYuMS5iYgpAQCAtMSwyICsxLDExIEBACiBpbmhlcml0IHNldHVwdG9vbHMzCiByZXF1aXJlIHB5dGhvbi1wcm90b2J1Zi5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtQWRkLVB5dGhvbi0zLjctY29tcGF0aWJpbGl0eS00ODYyLnBhdGNoIgorREVQRU5EUyArPSAicHJvdG9idWYiCitESVNUVVRJTFNfQlVJTERfQVJHUyArPSAiLS1jcHBfaW1wbGVtZW50YXRpb24iCitESVNUVVRJTFNfSU5TVEFMTF9BUkdTICs9ICItLWNwcF9pbXBsZW1lbnRhdGlvbiIKKworZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgZXhwb3J0IEtPS09ST19CVUlMRF9OVU1CRVI9IjEiCit9CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXB5Y3BhcnNlcl8yLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOC5iYgpyZW5hbWUgdG8gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWNwYXJzZXJfMi4xOS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1weWx5cmljc18xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3NzUxYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcHlseXJpY3NfMS4xLjAuYmIKQEAgLTAsMCArMSwxMiBAQAorU1VNTUFSWSA9ICJQeXRob25pYyBJbXBsZW1lbnRhdGlvbiBvZiBseXJpY3Mud2lraWEuY29tIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NldHVwLnB5O2JlZ2lubGluZT0xNDtlbmRsaW5lPTE0O21kNT05NWQ0ODBjZDZmODQ3MWFiYWVhZTIxYmQwZWQyNzdiYSIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmM2M5OTdlZGViYTE0OWE4ZmIyYjg2MWNiYWQ4OWMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1ZjM2ZThlZjBlZDNiNDg3YTkyNDJjZTM0YzE5Zjk2ODRlNDE4YTViYmZmZDVkMzY3ZGMxZDE2MDRiNGNkMGIiCisKK1BZUElfUEFDS0FHRSA9ICJQeUx5cmljcyIKK1BZUElfUEFDS0FHRV9FWFQgPSAiemlwIgorCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmRmbGliXzQuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MTFkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJkZmxpYl80LjIuMi5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXJkZmxpYi5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHMtb2F1dGhsaWJfMC44LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyOTQ2NjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzLW9hdXRobGliXzAuOC4wLmJiCkBAIC0wLDAgKzEsMyBAQAorcmVxdWlyZSBweXRob24tcmVxdWVzdHMtb2F1dGhsaWIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXJlcXVlc3RzXzIuMjAuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1yZXF1ZXN0c18yLjE5LjEuYmIKcmVuYW1lIHRvIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcmVxdWVzdHNfMi4yMC4xLmJiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2xpcC1kYnVzXzAuNi41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MDJhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNsaXAtZGJ1c18wLjYuNS5iYgpAQCAtMCwwICsxLDIgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXNsaXAtZGJ1cy5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXN5c3RlbWRfMjM0LmJiCmluZGV4IDU4MGQ5OTMuLjc4ZWM0MzEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc3lzdGVtZF8yMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zeXN0ZW1kXzIzNC5iYgpAQCAtMSwyICsxLDMgQEAKIHJlcXVpcmUgcHl0aG9uLXN5c3RlbWQuaW5jCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMy1zeXNsb2ciCiBpbmhlcml0IHNldHVwdG9vbHMzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdGVybWNvbG9yXzEuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZGY3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRlcm1jb2xvcl8xLjEuMC5iYgpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkFOU0lJIENvbG9yIGZvcm1hdHRpbmcgZm9yIG91dHB1dCBpbiB0ZXJtaW5hbCIKK0hPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvdGVybWNvbG9yIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcudHh0O21kNT04MDllODc0OWI2MzU2Nzk3OGFjZmJkODFkOWY2YTI3ZCIKKworaW5oZXJpdCBweXBpIHNldHVwdG9vbHMzCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNDNlODk2NDRmODkwOWQ0NjJmYmJmYTUxMWM3NjhkZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxZDZkNjljZTY2MjExMTQzODAzZmJjNTY2NTJiNDFkNzNiNGE0MDBhMjg5MWQ3YmY3YTFjZGY0YzAyZGU2MTNiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHFkbV80LjMxLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ODMzN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXRxZG1fNC4zMS4xLmJiCkBAIC0wLDAgKzEsMiBAQAoraW5oZXJpdCBzZXR1cHRvb2xzMworcmVxdWlyZSBweXRob24tdHFkbS5pbmMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXN0ZWRfMTguNC4wLmJiCmluZGV4IDZiZDhjNTIuLmRmYjlkNGEgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpc3RlZF8xOC40LjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10d2lzdGVkXzE4LjQuMC5iYgpAQCAtMSw4ICsxLDYgQEAKIGluaGVyaXQgcHlwaSBzZXR1cHRvb2xzMwogcmVxdWlyZSBweXRob24tdHdpc3RlZC5pbmMKIAotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LXNyYyIKLQogRklMRVNfJHtQTn0tY29yZV9hcHBlbmQgKz0gIiBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9fX3B5Y2FjaGVfXyBcCiAgICR7bGliZGlyfS8ke1BZVEhPTl9ESVJ9L3NpdGUtcGFja2FnZXMvdHdpc3RlZC9weXRob24vX19weWNhY2hlX18vKnB5YyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR3aXR0ZXJfMy43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJlNGQyZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdHdpdHRlcl8zLjcuMC5iYgpAQCAtMCwwICsxLDMgQEAKK3JlcXVpcmUgcHl0aG9uLXR3aXR0ZXIuaW5jCitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKKwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy10emxvY2FsXzEuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMzkzNGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXR6bG9jYWxfMS41LjEuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXR6bG9jYWwuaW5jCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy12Y3ZlcnNpb25lcl8yLjE2LjAuMC5iYgppbmRleCBmNjM3MmM4Li4xNDkwNzhjIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXZjdmVyc2lvbmVyXzIuMTYuMC4wLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtdmN2ZXJzaW9uZXJfMi4xNi4wLjAuYmIKQEAgLTksMTIgKzksNCBAQAogCiBpbmhlcml0IHB5cGkgc2V0dXB0b29sczMKIAotZG9fY29tcGlsZV9hcHBlbmQoKSB7Ci0gICAgJHtQWVRIT059IHNldHVwLnB5IC1xIGJkaXN0X2VnZyAtLWRpc3QtZGlyIC4vCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3ZjdmVyc2lvbmVyKi5lZ2cgJHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KLX0KLQogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtd2hlZWxfMC4zMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4YzA4YTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXdoZWVsXzAuMzIuMy5iYgpAQCAtMCwwICsxLDE2IEBACitTVU1NQVJZID0gIlRoZSBvZmZpY2lhbCBiaW5hcnkgZGlzdHJpYnV0aW9uIGZvcm1hdCBmb3IgUHl0aG9uICIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9weXBhL3doZWVsIgorU0VDVElPTiA9ICJkZXZlbC9weXRob24iCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT05ZDY2YjQxYmMyYTA4MGU3MTc0YWNjNWRmZmVjZDc1MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B5cGEvd2hlZWwuZ2l0IgorU1JDUkVWID89ICIxMTU4NGI3OGE1NmI0ZWVkYmE0ZWVkYzU1YzlkYWM4YWEyZGQ3MDcwIgorCisKK2luaGVyaXQgc2V0dXB0b29sczMKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMS1jb21tZW50LW91dC1zZWxpbnV4LnBhdGNoCmluZGV4IGM3N2I4NmEuLjkwZmEzODcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNjQ4YTE4YmZjNDQ3ZjA3NmQ0OGFlNDE0N2Q5ODRiOGVmNTZlMzdhYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmM4ZTkzNTMwYmEwMTdlY2ZlMTExZTUzZDNjYmRjM2E1YjNhYzI4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMzAgSnVsIDIwMTggMTY6MTM6NDAgKzA4MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTY6NTg6MzggKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMS8xMV0gY29tbWVudCBvdXQgc2VsaW51eAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQpAQCAtMTIsNyArMTIsNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L2ZsYWdzLnB5IGIvYmxpdmV0L2ZsYWdzLnB5Ci1pbmRleCAxODQwMTIxLi44Nzg5MzkwIDEwMDY0NAoraW5kZXggNGUyNmQ4Mi4uOTQzMjRmZiAxMDA2NDQKIC0tLSBhL2JsaXZldC9mbGFncy5weQogKysrIGIvYmxpdmV0L2ZsYWdzLnB5CiBAQCAtMjAsNyArMjAsNyBAQApAQCAtMzUsNyArMzUsNyBAQAogICAgICAgICAgc2VsZi5kbXJhaWQgPSBUcnVlCiAgICAgICAgICBzZWxmLmliZnQgPSBUcnVlCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggNzMzNGZmNi4uMGYyYTk5NSAxMDA2NDQKK2luZGV4IDlkYWYxNTEuLjRlYWM4YjkgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKIEBAIC0zLDcgKzMsNyBAQCBpbXBvcnQgZnVuY3Rvb2xzCkBAIC00Nyw3ICs0Nyw3IEBACiAgaW1wb3J0IHN1YnByb2Nlc3MKICBpbXBvcnQgcmUKICBpbXBvcnQgc3lzCi1AQCAtNDMwLDYgKzQzMCw4IEBAIGRlZiBnZXRfY293X3N5c2ZzX3BhdGgoZGV2X3BhdGgsIGRldl9zeXNmc1BhdGgpOgorQEAgLTQ0NCw2ICs0NDQsOCBAQCBkZWYgZ2V0X2Nvd19zeXNmc19wYXRoKGRldl9wYXRoLCBkZXZfc3lzZnNQYXRoKToKICBkZWYgbWF0Y2hfcGF0aF9jb250ZXh0KHBhdGgpOgogICAgICAiIiIgUmV0dXJuIHRoZSBkZWZhdWx0IFNFTGludXggY29udGV4dCBmb3IgdGhlIGdpdmVuIHBhdGguICIiIgogICAgICBjb250ZXh0ID0gTm9uZQpAQCAtNTYsNyArNTYsNyBAQAogICAgICB0cnk6CiAgICAgICAgICBjb250ZXh0ID0gc2VsaW51eC5tYXRjaHBhdGhjb24ob3MucGF0aC5ub3JtcGF0aChwYXRoKSwgMClbMV0KICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLUBAIC00NTQsNiArNDU2LDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKK0BAIC00NjgsNiArNDcwLDggQEAgZGVmIHNldF9maWxlX2NvbnRleHQocGF0aCwgY29udGV4dCwgcm9vdD1Ob25lKToKICAKICAgICAgICAgICAgICBUcnVlIGlmIHN1Y2Nlc3NmdWwsIEZhbHNlIGlmIG5vdC4KICAgICAgIiIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2gKaW5kZXggZmVhMjI1NC4uNWIzODg1OSAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDItcnVuX3Byb2dyYW0tc3VwcG9ydC10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaApAQCAtMSwyMCArMSwyMCBAQAotRnJvbSA1OTY5NzllZDU4MTA5MTQxYTdmZWU2ODBhYjk1YjI3Mjk2YzAyMmIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA3MTNjZjgyMWViZTE3ZjllMTc3MTUwMmE4NWUwOTA1ZWEwNGRhZmFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE0OjM5OjU2ICswODAwCitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE3OjAzOjU4ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDIvMTFdIHJ1bl9wcm9ncmFtIHN1cHBvcnQgdGltZW91dAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCi0gYmxpdmV0L3V0aWwucHkgfCA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorIGJsaXZldC91dGlsLnB5IHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IDBmMmE5OTUuLjA1YTI1M2MgMTAwNjQ0CitpbmRleCA0ZWFjOGI5Li40ZjA1MDc2IDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTU3LDYgKzE1NywzMCBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCwzMCBAQCBjbGFzcyBQYXRoKHN0cik6CiAgICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgIHJldHVybiBzZWxmLl9wYXRoLl9faGFzaF9fKCkKICAKQEAgLTQ1LDEyICs0NSwxMiBAQAogIAogIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhbHNlLCBiaW5hcnlfb3V0cHV0PUZhbHNlKToKICAgICAgaWYgZW52X3BydW5lIGlzIE5vbmU6Ci1AQCAtMTc5LDM2ICsyMDMsMjIgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKK0BAIC0xODAsMzUgKzIwNCwyMyBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlNURE9VVAogICAgICAgICAgZWxzZToKICAgICAgICAgICAgICBzdGRlcnJfZGlyID0gc3VicHJvY2Vzcy5QSVBFCiAtICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJndiwKKy0gICAgICAgICAgICBwcm9jID0gc3VicHJvY2Vzcy5Qb3Blbihhcmd2LCAgIyBweWxpbnQ6IGRpc2FibGU9c3VicHJvY2Vzcy1wb3Blbi1wcmVleGVjLWZuCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3RkaW4sCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3RkZXJyX2RpciwKQEAgLTc4LDcgKzc4LDcgQEAKIC0gICAgICAgIHByb2dyYW1fbG9nLmRlYnVnKCJSZXR1cm4gY29kZTogJWQiLCBwcm9jLnJldHVybmNvZGUpCiAtCiAtICAgIHJldHVybiAocHJvYy5yZXR1cm5jb2RlLCBvdXQpCi0gCisrCiArICAgICAgICByZXMsIG91dCA9IHRpbWVvdXRfY29tbWFuZChhcmd2LCAxMCwKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKQEAgLTk0LDkgKzk0LDEwIEBACiArICAgICAgICAgICAgICAgIHByb2dyYW1fbG9nLmluZm8oIiVzIiwgbGluZSkKICsKICsgICAgcmV0dXJuIChyZXMsIG91dCkKKysKKyAKICAKICBkZWYgcnVuX3Byb2dyYW0oKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgcmV0dXJuIF9ydW5fcHJvZ3JhbSgqYXJncywgKiprd2FyZ3MpWzBdCiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKaW5kZXggMzhmMDYxZS4uODYxYjJjZCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDMtc3VwcG9ydC1pbmZpbml0LXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDMyNTg5OGYzZjI5NTFiYmRlMDdkYTQ3ODg4MTc1YzQyN2IxMWRkYzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVkNTQzNmRmYTNiZGRlN2I0ZTg3Y2U1YTQwY2JjNzI0MTk5ODQ3ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDggTWF5IDIwMTcgMTY6MTg6MDIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMy8xMV0gc3VwcG9ydCBpbmZpbml0IHRpbWVvdXQKQEAgLTExLDEwICsxMSwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvdXRpbC5weSBiL2JsaXZldC91dGlsLnB5Ci1pbmRleCAwNWEyNTNjLi5kNjgwNGJlIDEwMDY0NAoraW5kZXggNGYwNTA3Ni4uN2U4OTk0OSAxMDA2NDQKIC0tLSBhL2JsaXZldC91dGlsLnB5CiArKysgYi9ibGl2ZXQvdXRpbC5weQotQEAgLTE1Nyw2ICsxNTcsNyBAQCBjbGFzcyBQYXRoKHN0cik6CitAQCAtMTU4LDYgKzE1OCw3IEBAIGNsYXNzIFBhdGgoc3RyKToKICAgICAgZGVmIF9faGFzaF9fKHNlbGYpOgogICAgICAgICAgcmV0dXJuIHNlbGYuX3BhdGguX19oYXNoX18oKQogIApAQCAtMjIsNyArMjIsNyBAQAogIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKLUBAIC0xNjgsNyArMTY5LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2OSw3ICsxNzAsNyBAQCBkZWYgdGltZW91dF9jb21tYW5kKGFyZ3YsIHRpbWVvdXQsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICB3aGlsZSBwcm9jLnBvbGwoKSBpcyBOb25lOgogICAgICAgICAgICAgIHRpbWUuc2xlZXAoMC4xKQogICAgICAgICAgICAgIG5vdyA9IGRhdGV0aW1lLmRhdGV0aW1lLm5vdygpCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICAgICAgIG9zLmtpbGwocHJvYy5waWQsIHNpZ25hbC5TSUdLSUxMKQogICAgICAgICAgICAgICAgICBvcy53YWl0cGlkKC0xLCBvcy5XTk9IQU5HKQogICAgICAgICAgICAgICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiJWQgc2Vjb25kcyB0aW1lb3V0IiAlIHRpbWVvdXQpCi1AQCAtMTgyLDcgKzE4Myw3IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKK0BAIC0xODMsNyArMTg0LDcgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgogICAgICBwcm9ncmFtX2xvZy5kZWJ1ZygiUmV0dXJuIGNvZGU6ICVkIiwgcHJvYy5yZXR1cm5jb2RlKQogICAgICByZXR1cm4gKHByb2MucmV0dXJuY29kZSwgcHJvYy5zdGRvdXQucmVhZCgpKQogIApAQCAtNDAsNyArNDAsNyBAQAogICAgICBpZiBlbnZfcHJ1bmUgaXMgTm9uZToKICAgICAgICAgIGVudl9wcnVuZSA9IFtdCiAgCi1AQCAtMTkxLDcgKzE5MiwxMCBAQCBkZWYgX3J1bl9wcm9ncmFtKGFyZ3YsIHJvb3Q9Jy8nLCBzdGRpbj1Ob25lLCBlbnZfcHJ1bmU9Tm9uZSwgc3RkZXJyX3RvX3N0ZG91dD1GYQorQEAgLTE5Miw3ICsxOTMsMTAgQEAgZGVmIF9ydW5fcHJvZ3JhbShhcmd2LCByb290PScvJywgc3RkaW49Tm9uZSwgZW52X3BydW5lPU5vbmUsIHN0ZGVycl90b19zdGRvdXQ9RmEKICAgICAgICAgICAgICBvcy5jaHJvb3Qocm9vdCkKICAKICAgICAgd2l0aCBwcm9ncmFtX2xvZ19sb2NrOiAgIyBweWxpbnQ6IGRpc2FibGU9bm90LWNvbnRleHQtbWFuYWdlcgpAQCAtNTIsNyArNTIsNyBAQAogIAogICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgIGVudi51cGRhdGUoeyJMQ19BTEwiOiAiQyIsCi1AQCAtMjA0LDcgKzIwOCw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCitAQCAtMjA1LDcgKzIwOSw3IEBAIGRlZiBfcnVuX3Byb2dyYW0oYXJndiwgcm9vdD0nLycsIHN0ZGluPU5vbmUsIGVudl9wcnVuZT1Ob25lLCBzdGRlcnJfdG9fc3Rkb3V0PUZhCiAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgIHN0ZGVycl9kaXIgPSBzdWJwcm9jZXNzLlBJUEUKICAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaAppbmRleCBiZTk5N2FjLi41MjZhM2IxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNC1maXgtbmV3LnJvb3RzLW9iamVjdC1pcy1ub3QtaXRlcmFibGUucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjMzFkZjFjMGY1MzIzZGRjNzBlMGQxYzZkMTFkYjJmYmY3YTAyNGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmI4ZDA4YmRlYzJmNzliYjEzYzBhNDRiODE3MThkMjZlNWJkYWJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMwOjIwICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQvMTFdIGZpeCBuZXcucm9vdHMgb2JqZWN0IGlzIG5vdCBpdGVyYWJsZQpAQCAtMTEsMTAgKzExLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ibGl2ZXQvYmxpdmV0LnB5IGIvYmxpdmV0L2JsaXZldC5weQotaW5kZXggMzQwNTgxMC4uZjQyYjczYiAxMDA2NDQKK2luZGV4IGVhMDg4MzcuLjkxYzkyYjIgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvYmxpdmV0LnB5CiArKysgYi9ibGl2ZXQvYmxpdmV0LnB5Ci1AQCAtMTE5OCw3ICsxMTk4LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CitAQCAtMTIwNiw3ICsxMjA2LDcgQEAgY2xhc3MgQmxpdmV0KG9iamVjdCk6CiAgICAgICAgICAgICAgcCA9IHBhcnRpdGlvbi5kaXNrLmZvcm1hdC5wYXJ0ZWRfZGlzay5nZXRQYXJ0aXRpb25CeVBhdGgocGFydGl0aW9uLnBhdGgpCiAgICAgICAgICAgICAgcGFydGl0aW9uLnBhcnRlZF9wYXJ0aXRpb24gPSBwCiAgCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNS1maXgtaW5jb3JyZWN0LXRpbWVvdXQtd2hpbGUtc3lzdGVtLXRpbWUtY2hhbmdlZC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCmluZGV4IGVjYjk1MDMuLjljNWQ1M2IgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiMzBhNzQ2NzFjYTYwM2U2YmZkNTE0ZjcyZDRmZDdmZDZmY2VlZjU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNzgzYjliMDBkYTVkZjE3NmZjZDc5MjdiNzUyZjU3NGNhNmRiMzE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyNiBBdWcgMjAxNiAwMjowMjo0OSAtMDQwMAogU3ViamVjdDogW1BBVENIIDA1LzExXSBmaXggaW5jb3JyZWN0IHRpbWVvdXQgd2hpbGUgc3lzdGVtIHRpbWUgY2hhbmdlZApAQCAtMjIsMTAgKzIyLDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC91dGlsLnB5IGIvYmxpdmV0L3V0aWwucHkKLWluZGV4IGQ2ODA0YmUuLmJjMDhhZjUgMTAwNjQ0CitpbmRleCA3ZTg5OTQ5Li41NTcxZTczIDEwMDY0NAogLS0tIGEvYmxpdmV0L3V0aWwucHkKICsrKyBiL2JsaXZldC91dGlsLnB5Ci1AQCAtMTYyLDE0ICsxNjIsMTQgQEAgZGVmIHRpbWVvdXRfY29tbWFuZChhcmd2LCB0aW1lb3V0LCAqYXJncywgKiprd2FyZ3MpOgorQEAgLTE2MywxNCArMTYzLDE0IEBAIGRlZiB0aW1lb3V0X2NvbW1hbmQoYXJndiwgdGltZW91dCwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgIiIiY2FsbCBzaGVsbC1jb21tYW5kIGFuZCBlaXRoZXIgcmV0dXJuIGl0cyBvdXRwdXQgb3Iga2lsbCBpdAogICAgICBpZiBpdCBkb2Vzbid0IG5vcm1hbGx5IGV4aXQgd2l0aGluIHRpbWVvdXQgc2Vjb25kcyBhbmQgcmV0dXJuIE5vbmUiIiIKICAgICAgaW1wb3J0IHN1YnByb2Nlc3MsIGRhdGV0aW1lLCBvcywgdGltZSwgc2lnbmFsCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCmluZGV4IGRhNTY4YTQuLjJlNTNhNjQgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA2LXR3ZWFrLWJ0cmZzLXBhY2thZ2VzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwNjU5ZDhhODViY2RkNzZjMGIyM2I4YjVhZjY5NTg3ODNkMzVhYzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4OTMyYWU5MzNmMmI2YWNmNWU5OGM5OTU2YmVmZjY5YWU0MzBlZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogTW9uLCA4IE1heSAyMDE3IDE2OjMzOjE1ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMTFdIHR3ZWFrIGJ0cmZzIHBhY2thZ2VzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKaW5kZXggZTMwMTIxOS4uYjI2MDZkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDctaW52b2tpbmctbW91bnQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gOWM3YTE1MzEyMjU5ODU0ZjEyMTM3YTMwMjI5ZTUyYzMwZmI3Yzc3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjUzNDgxZGM0YTU2YjhhOTk2NjI4NzMzNTUzZTA4MGJiMGFhZmRkNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzEgQXVnIDIwMTYgMjE6MzA6MzIgLTA0MDAKK0RhdGU6IEZyaSwgMjMgTm92IDIwMTggMTc6MDc6MjIgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gaW52b2tpbmcgbW91bnQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CiAKIFRoaXMgbGFyZ2UgdGltZW91dCBpcyBuZWVkZWQgd2hlbiBydW5uaW5nIG9uIG1hY2hpbmVzIHdpdGgKQEAgLTE0LDE4ICsxNCwxOCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvYmxpdmV0L3V0aWwucHkgYi9ibGl2ZXQvdXRpbC5weQotaW5kZXggYmMwOGFmNS4uYjY3Mjc4NyAxMDA2NDQKK2luZGV4IDU1NzFlNzMuLjAyYzgwMzMgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvdXRpbC5weQogKysrIGIvYmxpdmV0L3V0aWwucHkKLUBAIC0yNTYsNyArMjU2LDcgQEAgZGVmIG1vdW50KGRldmljZSwgbW91bnRwb2ludCwgZnN0eXBlLCBvcHRpb25zPU5vbmUpOgorQEAgLTI1OCw3ICsyNTgsNyBAQCBkZWYgbW91bnQoZGV2aWNlLCBtb3VudHBvaW50LCBmc3R5cGUsIG9wdGlvbnM9Tm9uZSk6CisgICAgICAgICBtYWtlZGlycyhtb3VudHBvaW50KQogIAogICAgICBhcmd2ID0gWyJtb3VudCIsICItdCIsIGZzdHlwZSwgIi1vIiwgb3B0aW9ucywgZGV2aWNlLCBtb3VudHBvaW50XQotICAgICB0cnk6Ci0tICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YpCi0rICAgICAgICByYyA9IHJ1bl9wcm9ncmFtKGFyZ3YsIHRpbWVvdXQ9LTEpCi0gICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgcmFpc2UKKy0gICAgcmV0dXJuIHJ1bl9wcm9ncmFtKGFyZ3YpCisrICAgIHJldHVybiBydW5fcHJvZ3JhbShhcmd2LCB0aW1lb3V0PS0xKQogIAorIAorIGRlZiB1bW91bnQobW91bnRwb2ludCk6CiAtLSAKIDIuNy40CiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoCmluZGV4IGZlYjU2NDcuLmFkZTE4NjIgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2gKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMDgtdXNlLW9lLXZhcmlhYmxlLXRvLXJlcGxhY2UtaGFyZGNvZGVkLWRpci5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gN2Y1N2IyY2QxNDVkNjdjMjBiZWIwMmQ1NDk1YjUwMmY3YWYwMTJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTJlMjU3OTMzMzI1OGQxYTY5MGY4NzE4ZTkxYjBmMjE3MDc4ZTg4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IE1vbiwgOCBNYXkgMjAxNyAwMzo1NDoxMiAtMDQwMAogU3ViamVjdDogW1BBVENIIDA4LzExXSB1c2Ugb2UgdmFyaWFibGUgdG8gcmVwbGFjZSBoYXJkY29kZWQgZGlyCkBAIC0xMSw3ICsxMSw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKLWluZGV4IDdlZGFiMmMuLjliZTMxODcgMTAwNjQ0CitpbmRleCBiNzQ1YTc5Li5iNWI0MjU4IDEwMDY0NAogLS0tIGEvc2V0dXAucHkKICsrKyBiL3NldHVwLnB5CiBAQCAtNjEsMTAgKzYxLDEwIEBAIGNsYXNzIGJsaXZldF9zZGlzdChzZGlzdCk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IDMwZDJkM2UuLmY0Nzc4NzcgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDA5LWludm9raW5nLWZzY2std2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNzU3NjY2ZjQyZjU0M2JhZWVkNWRmNjEyNjk3OThjMDg1NjY1ZDliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5NjI0YjZkMGRkYTQwYWFlY2JhZjk1MzBiZTgxOTk0MzU3NWEyZWM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVGh1LCAxIEp1biAyMDE3IDE2OjA1OjI3ICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIGludm9raW5nIGZzY2sgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGIyZjQ1MDEuLmYxMjg0OTAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0MmQ4ZTU3Yzc0ODk1MTA5ODUzNGJmN2Y1MmM0ZWJjNzkwZWY2NmU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzMzg0NGY2NzczYTY3NmJkNTcyNDA5NTRlNDAyYWU5YTg0MzY2M2E0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAxNiBKdW4gMjAxNyAxNTo0MzowMCArMDgwMAogU3ViamVjdDogW1BBVENIIDEwLzExXSBpbnZva2luZyBta2ZzIHdpdGggaW5maW5pdGUgdGltZW91dApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoCmluZGV4IGYyNGNlMGEuLjEzYzI5MzMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMS1pbnZva2luZy1kZC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGE0NzUzYjNjYmJkNWFlZTU5ZGM1M2ViMTY1NjRjYWZkOTg2Mjc2M2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDIxY2EyYjg1OWE0OWU5NmEyMzBkNTVhNzg2NmRmYzdlZDVkMTM2NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDYgTWFyIDIwMTggMTc6Mjg6NTYgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gaW52b2tpbmcgZGQgd2l0aCBpbmZpbml0ZSB0aW1lb3V0CkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weSBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotaW5kZXggNDdmZjU0Ny4uMGNkMTYxNCAxMDA2NDQKK2luZGV4IDYyM2UxYzkuLjE0MWQ4YWQgMTAwNjQ0CiAtLS0gYS9ibGl2ZXQvZGV2aWNlcy9wYXJ0aXRpb24ucHkKICsrKyBiL2JsaXZldC9kZXZpY2VzL3BhcnRpdGlvbi5weQotQEAgLTYyMSw3ICs2MjEsNyBAQCBjbGFzcyBQYXJ0aXRpb25EZXZpY2UoU3RvcmFnZURldmljZSk6CitAQCAtNjE4LDcgKzYxOCw3IEBAIGNsYXNzIFBhcnRpdGlvbkRldmljZShTdG9yYWdlRGV2aWNlKToKICAgICAgICAgIGNtZCA9IFsiZGQiLCAiaWY9L2Rldi96ZXJvIiwgIm9mPSVzIiAlIGRldmljZSwgImJzPSVkIiAlIGJzLAogICAgICAgICAgICAgICAgICJzZWVrPSVkIiAlIHN0YXJ0LCAiY291bnQ9JWQiICUgY291bnRdCiAgICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2ggYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXQvMDAxMi1yZW1vdmUtZG1yYWlkLWRlcGVuZGVuY3ktY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NmUzZmYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA0NDc2ZTg0NmExZTY0ZGRlMTdkZjJlMjM3MGM4MDNjZTY5NTUxNGY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCA2IEF1ZyAyMDE4IDE3OjE4OjI3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlbW92ZSBkbXJhaWQgZGVwZW5kZW5jeSBjaGVjawotCi1PRSBkb2VzIG5vdCBzdXBwb3J0IGRtcmFpZCwgcmVtb3ZlIGl0IGZyb20gZGVwZW5kZW5jeSBjaGVjawotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IHwgMyArLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXQvdGFza3MvYXZhaWxhYmlsaXR5LnB5IGIvYmxpdmV0L3Rhc2tzL2F2YWlsYWJpbGl0eS5weQotaW5kZXggOWE4N2NmZC4uODQzY2Y2YSAxMDA2NDQKLS0tLSBhL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLSsrKyBiL2JsaXZldC90YXNrcy9hdmFpbGFiaWxpdHkucHkKLUBAIC0zMTYsOCArMzE2LDcgQEAgQkxPQ0tERVZfRE1fQUxMX01PREVTID0gKGJsb2NrZGV2LkRNVGVjaE1vZGUuQ1JFQVRFX0FDVElWQVRFIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoTW9kZS5RVUVSWSkKLSBCTE9DS0RFVl9ETSA9IEJsb2NrRGV2VGVjaEluZm8ocGx1Z2luX25hbWU9ImRtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfZm49YmxvY2tkZXYuZG1faXNfdGVjaF9hdmFpbCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVjaG5vbG9naWVzPXtibG9ja2Rldi5ETVRlY2guTUFQOiBCTE9DS0RFVl9ETV9BTExfTU9ERVMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tkZXYuRE1UZWNoLlJBSUQ6IEJMT0NLREVWX0RNX0FMTF9NT0RFU30pCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlY2hub2xvZ2llcz17YmxvY2tkZXYuRE1UZWNoLk1BUDogQkxPQ0tERVZfRE1fQUxMX01PREVTfSkKLSBCTE9DS0RFVl9ETV9URUNIID0gQmxvY2tEZXZNZXRob2QoQkxPQ0tERVZfRE0pCi0gCi0gIyBsaWJibG9ja2RldiBsb29wIHBsdWdpbiByZXF1aXJlZCB0ZWNobm9sb2dpZXMgYW5kIG1vZGVzCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldC8wMDEzLWFkZC1aLXktYW5kLXktdG8tbHZtLnB2Y3JlYXRlLnBhdGNoIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzYjVmNTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0LzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGJkZGJmYTQ5OWRmMTZiMTA4ZjJkODkyZWU0OGQ2NTYxNzUyM2MzM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDkgQXVnIDIwMTggMTE6MDA6MzkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gYWRkIGAtWiB5JyBhbmQgYC15JyB0byBsdm0ucHZjcmVhdGUKLQotV2hpbGUgcmVpbnN0YWxsIGEgY3J5cHQgZnMsIGl0IG9jY2FzaW9uYWxseSBmYWlsZWQKLVtzbmlwXQotfGdpLm92ZXJyaWRlcy5CbG9ja0Rldi5MVk1FcnJvcjogUHJvY2VzcyByZXBvcnRlZCBleGl0IGNvZGUgNToKLVdBUk5JTkc6IGF0YXJpIHNpZ25hdHVyZSBkZXRlY3RlZCBvbiAvZGV2L21hcHBlci9sdWtzLTBlNWY4OTFjCi0tNzcwMS00OGJjLWE0MWUtOGQ2MjZiNmVmOTUzIGF0IG9mZnNldCA0NjYuIFdpcGUgaXQ/IFt5L25dOgotW3NuaXBdCi0KLUFkZCBgLVogeScgYW5kIGAteScgdG8gbHZtLnB2Y3JlYXRlCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQvcHVsbC83MTRdCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJsaXZldC9mb3JtYXRzL2x2bXB2LnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYmxpdmV0L2Zvcm1hdHMvbHZtcHYucHkgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotaW5kZXggMjYwY2MwYi4uNGJiYjQ2ZiAxMDA2NDQKLS0tLSBhL2JsaXZldC9mb3JtYXRzL2x2bXB2LnB5Ci0rKysgYi9ibGl2ZXQvZm9ybWF0cy9sdm1wdi5weQotQEAgLTEyMCw5ICsxMjAsOSBAQCBjbGFzcyBMVk1QaHlzaWNhbFZvbHVtZShEZXZpY2VGb3JtYXQpOgotICAgICAgICAgbG9nX21ldGhvZF9jYWxsKHNlbGYsIGRldmljZT1zZWxmLmRldmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXNlbGYudHlwZSwgc3RhdHVzPXNlbGYuc3RhdHVzKQotIAotLSAgICAgICAgIyBDb25zaWRlciB1c2Ugb2YgLVp8LS16ZXJvCi0tICAgICAgICAjIC1mfC0tZm9yY2Ugb3IgLXl8LS15ZXMgbWF5IGJlIHJlcXVpcmVkCi0tICAgICAgICBibG9ja2Rldi5sdm0ucHZjcmVhdGUoc2VsZi5kZXZpY2UsIGRhdGFfYWxpZ25tZW50PXNlbGYuZGF0YV9hbGlnbm1lbnQpCi0rICAgICAgICBlYV96ZXJvID0gYmxvY2tkZXYuRXh0cmFBcmcubmV3KCItWiIsICJ5IikKLSsgICAgICAgIGVhX3llcyA9IGJsb2NrZGV2LkV4dHJhQXJnLm5ldygiLXkiLCAiIikKLSsgICAgICAgIGJsb2NrZGV2Lmx2bS5wdmNyZWF0ZShzZWxmLmRldmljZSwgZGF0YV9hbGlnbm1lbnQ9c2VsZi5kYXRhX2FsaWdubWVudCwgZXh0cmE9W2VhX3plcm8sIGVhX3llc10pCi0gCi0gICAgIGRlZiBfZGVzdHJveShzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgICBsb2dfbWV0aG9kX2NhbGwoc2VsZiwgZGV2aWNlPXNlbGYuZGV2aWNlLAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRfMy4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZjAyZjEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbW9kdWxlIGZvciBzeXN0ZW0gc3RvcmFnZSBjb25maWd1cmF0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvYmxpdmV0IgotTElDRU5TRSA9ICJMR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiZGRjMjRjNzFiYWQxMDIwOGIxMWVhMGM0NTg1Mzg5OGZhZGQ3MDMwYiIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQ7YnJhbmNoPTMuMS1yZWxlYXNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29tbWVudC1vdXQtc2VsaW51eC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXJ1bl9wcm9ncmFtLXN1cHBvcnQtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLXN1cHBvcnQtaW5maW5pdC10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtZml4LW5ldy5yb290cy1vYmplY3QtaXMtbm90LWl0ZXJhYmxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZml4LWluY29ycmVjdC10aW1lb3V0LXdoaWxlLXN5c3RlbS10aW1lLWNoYW5nZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi10d2Vhay1idHJmcy1wYWNrYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LWludm9raW5nLW1vdW50LXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LXVzZS1vZS12YXJpYWJsZS10by1yZXBsYWNlLWhhcmRjb2RlZC1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1pbnZva2luZy1mc2NrLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWludm9raW5nLW1rZnMtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtaW52b2tpbmctZGQtd2l0aC1pbmZpbml0ZS10aW1lb3V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItcmVtb3ZlLWRtcmFpZC1kZXBlbmRlbmN5LWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTMtYWRkLVoteS1hbmQteS10by1sdm0ucHZjcmVhdGUucGF0Y2ggXAotIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJibGl2ZXQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspJCIKLQotaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWtpY2tzdGFydCBweXRob24zLXB5dWRldiBcCi0gICAgICAgICAgICAgICAgICBwYXJ0ZWQgcHl0aG9uMy1weXBhcnRlZCBtdWx0aXBhdGgtdG9vbHMgXAotICAgICAgICAgICAgICAgICAgbHNvZiBjcnlwdHNldHVwIGxpYmJsb2NrZGV2IFwKLSAgICAgICAgICAgICAgICAgIGxpYmJ5dGVzaXplIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSIKLQotaW5oZXJpdCBzeXN0ZW1kCi0KLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJibGl2ZXQuc2VydmljZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldF8zLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTU2NWJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0XzMuMS4yLmJiCkBAIC0wLDAgKzEsNDYgQEAKK0RFU0NSSVBUSU9OID0gIkEgcHl0aG9uIG1vZHVsZSBmb3Igc3lzdGVtIHN0b3JhZ2UgY29uZmlndXJhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL2JsaXZldCIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjg3OGY3OTRhMzgxMjBhNjUyY2FiMDAyNmI3NzE3NWIwOTliZjFmOWQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0O2JyYW5jaD0zLjEtcmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbW1lbnQtb3V0LXNlbGludXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1ydW5fcHJvZ3JhbS1zdXBwb3J0LXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1zdXBwb3J0LWluZmluaXQtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWZpeC1uZXcucm9vdHMtb2JqZWN0LWlzLW5vdC1pdGVyYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWZpeC1pbmNvcnJlY3QtdGltZW91dC13aGlsZS1zeXN0ZW0tdGltZS1jaGFuZ2VkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtdHdlYWstYnRyZnMtcGFja2FnZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1pbnZva2luZy1tb3VudC13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC11c2Utb2UtdmFyaWFibGUtdG8tcmVwbGFjZS1oYXJkY29kZWQtZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktaW52b2tpbmctZnNjay13aXRoLWluZmluaXRlLXRpbWVvdXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1pbnZva2luZy1ta2ZzLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLWludm9raW5nLWRkLXdpdGgtaW5maW5pdGUtdGltZW91dC5wYXRjaCBcCisiCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gImJsaXZldC0oP1A8cHZlcj5cZCsoXC5cZCspKykkIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInN5c3RlbWQiCisKK2luaGVyaXQgc2V0dXB0b29sczMgcHl0aG9uM25hdGl2ZQorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLXB5a2lja3N0YXJ0IHB5dGhvbjMtcHl1ZGV2IFwKKyAgICAgICAgICAgICAgICAgIHBhcnRlZCBweXRob24zLXB5cGFydGVkIG11bHRpcGF0aC10b29scyBcCisgICAgICAgICAgICAgICAgICBsc29mIGNyeXB0c2V0dXAgbGliYmxvY2tkZXYgXAorICAgICAgICAgICAgICAgICAgbGliYnl0ZXNpemUgXAorIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMgXAorIgorCitpbmhlcml0IHN5c3RlbWQKKworU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImJsaXZldC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aS8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1YTcxZDQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpLzAwMDEtU2V0LV9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMtaW4tQmxpdmV0R1VJQW5hY29uZGEtaW5pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gYTdiNzZmNzgzNjA4MDMzZTQ0OWJhMWUzM2QwNDBjMmI0MGMwMWE0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFkYW0gV2lsbGlhbXNvbiA8YXdpbGxpYW1AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6Mzg6MTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gU2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgaW4gQmxpdmV0R1VJQW5hY29uZGEgaW5pdAotCi1CbGl2ZXRHVUlBbmFjb25kYSBzdWJjbGFzc2VzIEJsaXZldEdVSSwgYnV0IGRvZXNuJ3QgY2FsbCB0aGUKLXBhcmVudCBjbGFzcydzIF9faW5pdF9fLiBjNGI2ZTE3NCBhZGRlZCBzdXBwb3J0ZWRfZmlsZXN5c3RlbXMKLXRvIEJsaXZldEdVSSBhbmQgc2V0IF9zdXBwb3J0ZWRfZmlsZXN5c3RlbXMgZm9yIGNhY2hpbmcgZHVyaW5nCi1fX2luaXRfXywgYnV0IHRoaXMgd2FzIG5vdCBhbHNvIGFkZGVkIHRvIEJsaXZldEdVSUFuYWNvbmRhLCBzbwotd2hlbiBhbnl0aGluZyB0cmllcyB0byB1c2UgdGhlIHN1cHBvcnRlZF9maWxlc3lzdGVtcyBwcm9wZXJ0eQotb2YgYSBCbGl2ZXRHVUlBbmFjb25kYSBpbnN0YW5jZSwgaXQgd2lsbCBjcmFzaC4gVGhpcyBpcyBjYXVzaW5nCi1hbGwgYXR0ZW1wdHMgdG8gdXNlIGJsaXZldC1ndWkgaW4gYW5hY29uZGEgdG8gY3Jhc2ggc2luY2UgMi4xLjgKLWxhbmRlZCBpbiBSYXdoaWRlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vc3RvcmFnZWQtcHJvamVjdC9ibGl2ZXQtZ3VpXQotCi1TaWduZWQtb2ZmLWJ5OiBBZGFtIFdpbGxpYW1zb24gPGF3aWxsaWFtQHJlZGhhdC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBibGl2ZXRndWkvb3NpbnN0YWxsLnB5IHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9ibGl2ZXRndWkvb3NpbnN0YWxsLnB5IGIvYmxpdmV0Z3VpL29zaW5zdGFsbC5weQotaW5kZXggMjE4MDZjYS4uMzJmZjY2YiAxMDA2NDQKLS0tLSBhL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLSsrKyBiL2JsaXZldGd1aS9vc2luc3RhbGwucHkKLUBAIC05NCw2ICs5NCw5IEBAIGNsYXNzIEJsaXZldEdVSUFuYWNvbmRhKEJsaXZldEdVSSk6Ci0gICAgICAgICBzZWxmLmJ1aWxkZXIuc2V0X3RyYW5zbGF0aW9uX2RvbWFpbigiYmxpdmV0LWd1aSIpCi0gICAgICAgICBzZWxmLmJ1aWxkZXIuYWRkX2Zyb21fZmlsZShsb2NhdGVfdWlfZmlsZSgiYmxpdmV0LWd1aS51aSIpKQotIAotKyAgICAgICAgIyBzdXBwb3J0ZWQgZmlsZXN5c3RlbXMKLSsgICAgICAgIHNlbGYuX3N1cHBvcnRlZF9maWxlc3lzdGVtcyA9IFtdCi0rCi0gICAgICAgICAjIENTUyBzdHlsZXMKLSAgICAgICAgIGNzc19wcm92aWRlciA9IEd0ay5Dc3NQcm92aWRlcigpCi0gICAgICAgICBjc3NfcHJvdmlkZXIubG9hZF9mcm9tX3BhdGgobG9jYXRlX2Nzc19maWxlKCJyZWN0YW5nbGUuY3NzIikpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1ibGl2ZXQvcHl0aG9uMy1ibGl2ZXRndWlfMi4xLjEwLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZWE4MTAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS4xMC5iYgpAQCAtMCwwICsxLDI3IEBACitERVNDUklQVElPTiA9ICJHVUkgdG9vbCBmb3Igc3RvcmFnZSBjb25maWd1cmF0aW9uIHVzaW5nIGJsaXZldCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL2JsaXZldC1ndWkiCitMSUNFTlNFID0gIkdQTHYyKyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKK0IgPSAiJHtTfSIKKworU1JDUkVWID0gIjY3ZWMwYjdhMGUwNjViYTI0YWI4Nzk2MzQwOWJmYjIxYjJhYWM2ZGQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aTticmFuY2g9bWFzdGVyIFwKKyIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEgc3lzdGVtZCIKKworaW5oZXJpdCBzZXR1cHRvb2xzMyBweXRob24zbmF0aXZlCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtcHlnb2JqZWN0IHB5dGhvbjMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1ibGl2ZXQgZ3RrKzMgIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcGlkIGxpYnJlcG9ydCBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vKiBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tYmxpdmV0L3B5dGhvbjMtYmxpdmV0Z3VpXzIuMS44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjYyYjllLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtcHl0aG9uL3JlY2lwZXMtZXh0ZW5kZWQvcHl0aG9uLWJsaXZldC9weXRob24zLWJsaXZldGd1aV8yLjEuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLURFU0NSSVBUSU9OID0gIkdVSSB0b29sIGZvciBzdG9yYWdlIGNvbmZpZ3VyYXRpb24gdXNpbmcgYmxpdmV0IGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcmhpbnN0YWxsZXIvYmxpdmV0LWd1aSIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotQiA9ICIke1N9IgotCi1TUkNSRVYgPSAiYTRmZDQyN2VlMmFjYzVhOGY1ZmIwMzBiZjc4MTY5MTdjZWU2M2JkOCIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9yaGluc3RhbGxlci9ibGl2ZXQtZ3VpO2JyYW5jaD1tYXN0ZXIgXAotICAgIGZpbGU6Ly8wMDAxLVNldC1fc3VwcG9ydGVkX2ZpbGVzeXN0ZW1zLWluLUJsaXZldEdVSUFuYWNvbmRhLWluaXQucGF0Y2ggXAotIgotCi1pbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjawotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBzeXN0ZW1kIgotCi1pbmhlcml0IHNldHVwdG9vbHMzIHB5dGhvbjNuYXRpdmUKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1weWdvYmplY3QgcHl0aG9uMyBcCi0gICAgICAgICAgICAgICAgICBweXRob24zLWJsaXZldCBndGsrMyAgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1waWQgbGlicmVwb3J0IFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS8qIFwKLSAgICAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3ODc2YTkuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKLUhPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgotTElDRU5TRSA9ICJHUEx2MisiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgotCi1ERVBFTkRTID0gInB5dGhvbjMiCi1SREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKLSAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAotICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAotIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ1JFViA9ICIwN2M0ZDg5MTI5ZmE2YjQ2MGFjYzg2ZGFmNThlYjVmZjY0Y2RjODMyIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKLQotaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1weXRob24vcmVjaXBlcy1leHRlbmRlZC9weXRob24tcHlraWNrc3RhcnQvcHl0aG9uMy1weWtpY2tzdGFydF8zLjE4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMDM4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXB5dGhvbi9yZWNpcGVzLWV4dGVuZGVkL3B5dGhvbi1weWtpY2tzdGFydC9weXRob24zLXB5a2lja3N0YXJ0XzMuMTguYmIKQEAgLTAsMCArMSwyNSBAQAorREVTQ1JJUFRJT04gPSAiQSBweXRob24gbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIGtpY2tzdGFydCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHA6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL3B5a2lja3N0YXJ0IgorTElDRU5TRSA9ICJHUEx2MisiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIgorRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vZmlsZXM6IgorCitERVBFTkRTID0gInB5dGhvbjMiCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zIFwKKyAgICAgICAgICAgICAgICAgIHB5dGhvbjMtcmVxdWVzdHMgXAorICAgICAgICAgICAgICAgICAgcHl0aG9uMy1zaXggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JoaW5zdGFsbGVyL3B5a2lja3N0YXJ0LmdpdDtwcm90b2NvbD1odHRwczticmFuY2g9bWFzdGVyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc3VwcG9ydC1hdXRoZW50aWNhdGlvbi1mb3Ita2lja3N0YXJ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItcHlraWNrc3RhcnQtcGFyc2VyLnB5LWFkZC1sb2NrLWZvci1yZWFkS2lja3N0YXJ0LWFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWNvbW1lbnQtb3V0LXNlY3Rpb25zLXNodXRkb3duLWFuZC1lbnZpcm9ubWVudC1pbi1nZW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1sb2FkLnB5LXJldHJ5LXRvLWludm9rZS1yZXF1ZXN0LXdpdGgtdGltZW91dC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICJhZDk0MmYyNjQ0MzM3YzQ2NzJjN2EyMmJkMjRhNWI3MjY4YzFmNWU5IgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJyKD9QPHB2ZXI+XGQrKFwuXGQrKSsoLVxkKykqKSIKKworaW5oZXJpdCBzZXR1cHRvb2xzMwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvUkVBRE1FCmluZGV4IDRkMmM3MTAuLjdiNjA2MzAgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL1JFQURNRQorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9SRUFETUUKQEAgLTEzLDE0ICsxMywxNCBAQAogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL29lLWNvcmUuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIEZvciBzb21lIHJlY2lwZXMsIHRoZSBtZXRhLW9lIGxheWVyIGlzIHJlcXVpcmVkOgogCiBVUkk6IGdpdDovL2dpdGh1Yi5jb20vb3BlbmVtYmVkZGVkL21ldGEtb2UuZ2l0CiBzdWJkaXJlY3Rvcnk6IG1ldGEtb2UKLWJyYW5jaDogdGh1ZAorYnJhbmNoOiBtYXN0ZXIKIHJldmlzaW9uOiBIRUFECiAKIApAQCAtNTIsOSArNTIsOSBAQAogLS0tLS0tLS0tLS0KIAogU2VuZCBwYXRjaGVzIC8gcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwotd2l0aCAnW21ldGEtd2Vic2VydmVyXVt0aHVkXScgaW4gdGhlIHN1YmplY3QuCit3aXRoICdbbWV0YS13ZWJzZXJ2ZXJdJyBpbiB0aGUgc3ViamVjdC4KIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogRGVyZWsgU3RyYWthIDxkZXJla0Bhc3Rlcml1cy5pbz4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9jb25mL2xheWVyLmNvbmYKaW5kZXggYWFhM2E5NS4uMGQ2OTQ3OCAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL2NvbmYvbGF5ZXIuY29uZgpAQCAtMTcsNyArMTcsNyBAQAogCiBMQVlFUkRFUEVORFNfd2Vic2VydmVyID0gImNvcmUgb3BlbmVtYmVkZGVkLWxheWVyIgogCi1MQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfd2Vic2VydmVyID0gInRodWQgd2FycmlvciIKIAogTElDRU5TRV9QQVRIICs9ICIke0xBWUVSRElSfS9saWNlbnNlcyIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Y2UxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvaW1hZ2VzL21ldGEtd2Vic2VydmVyLWltYWdlLWJhc2UuYmIKQEAgLTAsMCArMSw3IEBACitTVU1NQVJZID0gIm1ldGEtd2Vic2VydmVyIGJ1aWxkIHRlc3QgaW1hZ2UiCisKK0lNQUdFX0lOU1RBTEwgPSAicGFja2FnZWdyb3VwLWNvcmUtYm9vdCIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1jb3JlL2ltYWdlcy9tZXRhLXdlYnNlcnZlci1pbWFnZS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U0ZjhhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9pbWFnZXMvbWV0YS13ZWJzZXJ2ZXItaW1hZ2UuYmIKQEAgLTAsMCArMSwzIEBACityZXF1aXJlICBtZXRhLXdlYnNlcnZlci1pbWFnZS1iYXNlLmJiCisKK0lNQUdFX0lOU1RBTEwgKz0gInBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtY29yZS9wYWNrYWdlc2dyb3Vwcy9wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMTE3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWNvcmUvcGFja2FnZXNncm91cHMvcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLmJiCkBAIC0wLDAgKzEsMzcgQEAKK1NVTU1BUlkgPSAiTWV0YS13ZWJzZXJ2ZXIgcGFja2FnZWdyb3VwcyIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICcgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlciBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1waHAgXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1zdXBwb3J0IFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gXAorJworCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXIgPSAiXAorICAgIHBhY2thZ2Vncm91cC1tZXRhLXdlYnNlcnZlci1odHRwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItcGhwIFwKKyAgICBwYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItc3VwcG9ydCBcCisgICAgcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXdlYmFkbWluIFwKKyIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLWh0dHAgPSAiXAorICAgIG5naW54IG1vbmtleSBjaGVyb2tlZSBoaWF3YXRoYSBub3N0cm9tbyBhcGFjaGUtd2Vic29ja2V0IFwKKyAgICBhcGFjaGUyIHN0aHR0cGQgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXBocCA9ICJcCisgICAgcGhwbXlhZG1pbiB4ZGVidWcgXAorICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLW1ldGEtd2Vic2VydmVyLXN1cHBvcnQgPSAiXAorICAgIHNwYXduLWZjZ2kgZmNnaSBcCisgICAgIgorCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtbWV0YS13ZWJzZXJ2ZXItd2ViYWRtaW4gPSAiXAorICAgIG5ldGRhdGEgd2VibWluIFwKKyAgICAiCitFWENMVURFX0ZST01fV09STEQgPSAiMSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvYXBhY2hlMi9hcGFjaGUyXzIuNC4zNC5iYgppbmRleCBhODdlMzg0Li44MGM4YjIwIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL2FwYWNoZTIvYXBhY2hlMl8yLjQuMzQuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9hcGFjaGUyL2FwYWNoZTJfMi40LjM0LmJiCkBAIC0zMSw2ICszMSw4IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAorQ1ZFX1BST0RVQ1QgPSAiaHR0cF9zZXJ2ZXIiCisKIEFMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJodHBhc3N3ZC4xIgogQUxURVJOQVRJVkVfTElOS19OQU1FW2h0cGFzc3dkLjFdID0gIiR7bWFuZGlyfS9tYW4xL2h0cGFzc3dkLjEiCiAKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvZGVmYXVsdF9zZXJ2ZXIuc2l0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YThhMjE1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9kZWZhdWx0X3NlcnZlci5zaXRlCkBAIC0wLDAgKzEsMTQgQEAKKyMgRGVmYXVsdCBzZXJ2ZXIgY29uZmlndXJhdGlvbgorc2VydmVyIHsKKyAgICBsaXN0ZW4gODAgZGVmYXVsdF9zZXJ2ZXI7CisgICAgbGlzdGVuIFs6Ol06ODAgZGVmYXVsdF9zZXJ2ZXI7CisKKyAgICByb290IC92YXIvd3d3L2xvY2FsaG9zdC9odG1sOworCisgICAgaW5kZXggaW5kZXguaHRtbCBpbmRleC5odG07CisKKyAgICBzZXJ2ZXJfbmFtZSBfOworCisgICAgIyByZWRpcmVjdCBzZXJ2ZXIgZXJyb3IgcGFnZXMgdG8gdGhlIHN0YXRpYyBwYWdlIC81MHguaHRtbAorICAgIGVycm9yX3BhZ2UgNTAwIDUwMiA1MDMgNTA0IC81MHguaHRtbDsKK30KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguY29uZgppbmRleCA2OWQzYTJhLi42ZDIxOTQyIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LmNvbmYKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5jb25mCkBAIC0xLDExOCArMSw0NyBAQAotCiB1c2VyICB3d3c7Ci13b3JrZXJfcHJvY2Vzc2VzICAxOwotCi1lcnJvcl9sb2cgIC92YXIvbG9nL25naW54L2Vycm9yLmxvZzsKLSNlcnJvcl9sb2cgIGxvZ3MvZXJyb3IubG9nICBub3RpY2U7Ci0jZXJyb3JfbG9nICBsb2dzL2Vycm9yLmxvZyAgaW5mbzsKLQotcGlkICAgICAgICAvcnVuL25naW54L25naW54LnBpZDsKLQord29ya2VyX3Byb2Nlc3NlcyAxOworcGlkIC9ydW4vbmdpbngvbmdpbngucGlkOworaW5jbHVkZSAvZXRjL25naW54L21vZHVsZXMtZW5hYmxlZC8qLmNvbmY7CiAKIGV2ZW50cyB7Ci0gICAgd29ya2VyX2Nvbm5lY3Rpb25zICAxMDI0OworICAgIHdvcmtlcl9jb25uZWN0aW9ucyA3Njg7CisgICAgIyBtdWx0aV9hY2NlcHQgb247CiB9CiAKLQogaHR0cCB7Ci0gICAgaW5jbHVkZSAgICAgICBtaW1lLnR5cGVzOworICAgICMgQmFzaWMgU2V0dGluZ3MKKyAgICBzZW5kZmlsZSBvbjsKKyAgICB0Y3Bfbm9wdXNoIG9uOworICAgIHRjcF9ub2RlbGF5IG9uOworICAgIGtlZXBhbGl2ZV90aW1lb3V0IDY1OworICAgIHR5cGVzX2hhc2hfbWF4X3NpemUgMjA0ODsKKyAgICAjIHNlcnZlcl90b2tlbnMgb2ZmOworCisgICAgIyBzZXJ2ZXJfbmFtZXNfaGFzaF9idWNrZXRfc2l6ZSA2NDsKKyAgICAjIHNlcnZlcl9uYW1lX2luX3JlZGlyZWN0IG9mZjsKKworICAgIGluY2x1ZGUgICAgICAgL2V0Yy9uZ2lueC9taW1lLnR5cGVzOwogICAgIGRlZmF1bHRfdHlwZSAgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOwogCi0gICAgbG9nX2Zvcm1hdCAgbWFpbiAgJyRyZW1vdGVfYWRkciAtICRyZW1vdGVfdXNlciBbJHRpbWVfbG9jYWxdICIkcmVxdWVzdCIgJwotICAgICAgICAgICAgICAgICAgICAgICckc3RhdHVzICRib2R5X2J5dGVzX3NlbnQgIiRodHRwX3JlZmVyZXIiICcKLSAgICAgICAgICAgICAgICAgICAgICAnIiRodHRwX3VzZXJfYWdlbnQiICIkaHR0cF94X2ZvcndhcmRlZF9mb3IiJzsKKyAgICAjIFNTTCBTZXR0aW5ncworICAgIHNzbF9wcm90b2NvbHMgVExTdjEgVExTdjEuMSBUTFN2MS4yIFRMU3YxLjM7ICMgRHJvcHBpbmcgU1NMdjMsIHJlZjogUE9PRExFCisgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyBvbjsKIAotICAgIGFjY2Vzc19sb2cgIC92YXIvbG9nL25naW54L2FjY2Vzcy5sb2cgIG1haW47CisgICAgIyMgTG9nZ2luZworICAgIGFjY2Vzc19sb2cgL3Zhci9sb2cvbmdpbngvYWNjZXNzLmxvZzsKKyAgICBlcnJvcl9sb2cgL3Zhci9sb2cvbmdpbngvZXJyb3IubG9nOwogCi0gICAgc2VuZGZpbGUgICAgICAgIG9uOwotICAgICN0Y3Bfbm9wdXNoICAgICBvbjsKKyAgICAjIyBHemlwIHNldHRpbmdzCisgICAgZ3ppcCAgb247CiAKLSAgICAja2VlcGFsaXZlX3RpbWVvdXQgIDA7Ci0gICAga2VlcGFsaXZlX3RpbWVvdXQgIDY1OworICAgIGd6aXBfdmFyeSBvbjsKKyAgICBnemlwX3Byb3hpZWQgYW55OworICAgIGd6aXBfY29tcF9sZXZlbCA2OworICAgIGd6aXBfYnVmZmVycyAxNiA4azsKKyAgICBnemlwX2h0dHBfdmVyc2lvbiAxLjE7CisgICAgZ3ppcF90eXBlcyB0ZXh0L3BsYWluIHRleHQvY3NzIGFwcGxpY2F0aW9uL2pzb24gYXBwbGljYXRpb24vamF2YXNjcmlwdCB0ZXh0L3htbCBhcHBsaWNhdGlvbi94bWwgYXBwbGljYXRpb24veG1sK3JzcyB0ZXh0L2phdmFzY3JpcHQ7CiAKLSAgICAjZ3ppcCAgb247Ci0KLSAgICBzZXJ2ZXIgewotICAgICAgICBsaXN0ZW4gICAgICAgODA7Ci0gICAgICAgIHNlcnZlcl9uYW1lICBsb2NhbGhvc3Q7Ci0KLSAgICAgICAgI2NoYXJzZXQga29pOC1yOwotCi0gICAgICAgICNhY2Nlc3NfbG9nICBsb2dzL2hvc3QuYWNjZXNzLmxvZyAgbWFpbjsKLQotICAgICAgICBsb2NhdGlvbiAvIHsKLSAgICAgICAgICAgIHJvb3QgICAvdmFyL3d3dy9sb2NhbGhvc3QvaHRtbDsKLSAgICAgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAgICAgfQotCi0gICAgICAgICNlcnJvcl9wYWdlICA0MDQgICAgICAgICAgICAgIC80MDQuaHRtbDsKLQotICAgICAgICAjIHJlZGlyZWN0IHNlcnZlciBlcnJvciBwYWdlcyB0byB0aGUgc3RhdGljIHBhZ2UgLzUweC5odG1sCi0gICAgICAgICMKLSAgICAgICAgZXJyb3JfcGFnZSAgIDUwMCA1MDIgNTAzIDUwNCAgLzUweC5odG1sOwotICAgICAgICBsb2NhdGlvbiA9IC81MHguaHRtbCB7Ci0gICAgICAgICAgICByb290ICAgL3Zhci93d3cvbG9jYWxob3N0L2h0bWw7Ci0gICAgICAgIH0KLQotICAgICAgICAjIHByb3h5IHRoZSBQSFAgc2NyaXB0cyB0byBBcGFjaGUgbGlzdGVuaW5nIG9uIDEyNy4wLjAuMTo4MAotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IFwucGhwJCB7Ci0gICAgICAgICMgICAgcHJveHlfcGFzcyAgIGh0dHA6Ly8xMjcuMC4wLjE7Ci0gICAgICAgICN9Ci0KLSAgICAgICAgIyBwYXNzIHRoZSBQSFAgc2NyaXB0cyB0byBGYXN0Q0dJIHNlcnZlciBsaXN0ZW5pbmcgb24gMTI3LjAuMC4xOjkwMDAKLSAgICAgICAgIwotICAgICAgICAjbG9jYXRpb24gfiBcLnBocCQgewotICAgICAgICAjICAgIHJvb3QgICAgICAgICAgIGh0bWw7Ci0gICAgICAgICMgICAgZmFzdGNnaV9wYXNzICAgMTI3LjAuMC4xOjkwMDA7Ci0gICAgICAgICMgICAgZmFzdGNnaV9pbmRleCAgaW5kZXgucGhwOwotICAgICAgICAjICAgIGZhc3RjZ2lfcGFyYW0gIFNDUklQVF9GSUxFTkFNRSAgL3NjcmlwdHMkZmFzdGNnaV9zY3JpcHRfbmFtZTsKLSAgICAgICAgIyAgICBpbmNsdWRlICAgICAgICBmYXN0Y2dpX3BhcmFtczsKLSAgICAgICAgI30KLQotICAgICAgICAjIGRlbnkgYWNjZXNzIHRvIC5odGFjY2VzcyBmaWxlcywgaWYgQXBhY2hlJ3MgZG9jdW1lbnQgcm9vdAotICAgICAgICAjIGNvbmN1cnMgd2l0aCBuZ2lueCdzIG9uZQotICAgICAgICAjCi0gICAgICAgICNsb2NhdGlvbiB+IC9cLmh0IHsKLSAgICAgICAgIyAgICBkZW55ICBhbGw7Ci0gICAgICAgICN9Ci0gICAgfQotCi0KLSAgICAjIGFub3RoZXIgdmlydHVhbCBob3N0IHVzaW5nIG1peCBvZiBJUC0sIG5hbWUtLCBhbmQgcG9ydC1iYXNlZCBjb25maWd1cmF0aW9uCi0gICAgIwotICAgICNzZXJ2ZXIgewotICAgICMgICAgbGlzdGVuICAgICAgIDgwMDA7Ci0gICAgIyAgICBsaXN0ZW4gICAgICAgc29tZW5hbWU6ODA4MDsKLSAgICAjICAgIHNlcnZlcl9uYW1lICBzb21lbmFtZSAgYWxpYXMgIGFub3RoZXIuYWxpYXM7Ci0KLSAgICAjICAgIGxvY2F0aW9uIC8gewotICAgICMgICAgICAgIHJvb3QgICBodG1sOwotICAgICMgICAgICAgIGluZGV4ICBpbmRleC5odG1sIGluZGV4Lmh0bTsKLSAgICAjICAgIH0KLSAgICAjfQotCi0KLSAgICAjIEhUVFBTIHNlcnZlcgotICAgICMKLSAgICAjc2VydmVyIHsKLSAgICAjICAgIGxpc3RlbiAgICAgICA0NDM7Ci0gICAgIyAgICBzZXJ2ZXJfbmFtZSAgbG9jYWxob3N0OwotCi0gICAgIyAgICBzc2wgICAgICAgICAgICAgICAgICBvbjsKLSAgICAjICAgIHNzbF9jZXJ0aWZpY2F0ZSAgICAgIGNlcnQucGVtOwotICAgICMgICAgc3NsX2NlcnRpZmljYXRlX2tleSAgY2VydC5rZXk7Ci0KLSAgICAjICAgIHNzbF9zZXNzaW9uX3RpbWVvdXQgIDVtOwotCi0gICAgIyAgICBzc2xfcHJvdG9jb2xzICBTU0x2MiBTU0x2MyBUTFN2MTsKLSAgICAjICAgIHNzbF9jaXBoZXJzICBISUdIOiFhTlVMTDohTUQ1OwotICAgICMgICAgc3NsX3ByZWZlcl9zZXJ2ZXJfY2lwaGVycyAgIG9uOwotCi0gICAgIyAgICBsb2NhdGlvbiAvIHsKLSAgICAjICAgICAgICByb290ICAgaHRtbDsKLSAgICAjICAgICAgICBpbmRleCAgaW5kZXguaHRtbCBpbmRleC5odG07Ci0gICAgIyAgICB9Ci0gICAgI30KLQorICAgICMjIFZpcnR1YWwgSG9zdCBDb25maWdzCisgICAgaW5jbHVkZSAvZXRjL25naW54L2NvbmYuZC8qLmNvbmY7CisgICAgaW5jbHVkZSAvZXRjL25naW54L3NpdGVzLWVuYWJsZWQvKjsKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZSBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvbmdpbnguc2VydmljZQppbmRleCBjZTk5MDYxLi5jNmZjMDQ5IDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL25naW54LnNlcnZpY2UKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9maWxlcy9uZ2lueC5zZXJ2aWNlCkBAIC0xLDExICsxLDE1IEBACiBbVW5pdF0KLURlc2NyaXB0aW9uPU5naW54IFNlcnZlcgotQWZ0ZXI9bmV0d29yay50YXJnZXQKK0Rlc2NyaXB0aW9uPVRoZSBOR0lOWCBIVFRQIGFuZCByZXZlcnNlIHByb3h5IHNlcnZlcgorQWZ0ZXI9c3lzbG9nLnRhcmdldCBuZXR3b3JrLnRhcmdldCByZW1vdGUtZnMudGFyZ2V0IG5zcy1sb29rdXAudGFyZ2V0CisKIFtTZXJ2aWNlXQogVHlwZT1mb3JraW5nCiBQSURGaWxlPS9ydW4vbmdpbngvbmdpbngucGlkCitFeGVjU3RhcnRQcmU9QFNCSU5ESVJAL25naW54IC10CiBFeGVjU3RhcnQ9QFNCSU5ESVJAL25naW54Ci1FeGVjU3RvcD1AU0JJTkRJUkAvbmdpbnggLXMgc3RvcAogRXhlY1JlbG9hZD1AU0JJTkRJUkAvbmdpbnggLXMgcmVsb2FkCitFeGVjU3RvcD1AQklORElSQC9raWxsIC1zIFFVSVQgJE1BSU5QSUQKK1ByaXZhdGVUbXA9dHJ1ZQorCiBbSW5zdGFsbF0KIFdhbnRlZEJ5PW11bHRpLXVzZXIudGFyZ2V0CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvZmlsZXMvcHJveHlfcGFyYW1zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmNzViYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L2ZpbGVzL3Byb3h5X3BhcmFtcwpAQCAtMCwwICsxLDQgQEAKK3Byb3h5X3NldF9oZWFkZXIgSG9zdCAkaHR0cF9ob3N0OworcHJveHlfc2V0X2hlYWRlciBYLVJlYWwtSVAgJHJlbW90ZV9hZGRyOworcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Gb3IgJHByb3h5X2FkZF94X2ZvcndhcmRlZF9mb3I7Citwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7CmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54LmluYyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCmluZGV4IDI0YzJjZWQuLjI5ZTdlZmMgMTAwNjQ0Ci0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnguaW5jCkBAIC0xNiw2ICsxNiw4IEBACiAgICAgZmlsZTovL25naW54LWNyb3NzLnBhdGNoIFwKICAgICBmaWxlOi8vMDAwMS1BbGxvdy10aGUtb3ZlcnJpZGluZy1vZi10aGUtZW5kaWFubmVzcy12aWEtdGhlLWNvbmZpLnBhdGNoIFwKICAgICBmaWxlOi8vbmdpbnguY29uZiBcCisgICAgZmlsZTovL2RlZmF1bHRfc2VydmVyLnNpdGUgXAorICAgIGZpbGU6Ly9wcm94eV9wYXJhbXMgXAogICAgIGZpbGU6Ly9uZ2lueC5pbml0IFwKICAgICBmaWxlOi8vbmdpbngtdm9sYXRpbGUuY29uZiBcCiAgICAgZmlsZTovL25naW54LnNlcnZpY2UgXApAQCAtMTAyLDIxICsxMDQsMzcgQEAKIAogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZ2lueC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L25naW54LmNvbmYKKyAgICBzZWQgLWkgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvbmdpbnguY29uZgogICAgIHNlZCAtaSAncywvdmFyLywke2xvY2Fsc3RhdGVkaXJ9LyxnJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCiAgICAgc2VkIC1pICdzL151c2VyLiovdXNlciAke05HSU5YX1VTRVJ9Oy9nJyAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9uZ2lueC5jb25mCisgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L2RlZmF1bHRfc2VydmVyLnNpdGUgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtYXZhaWxhYmxlL2RlZmF1bHRfc2VydmVyCisgICAgc2VkIC1pICdzLC92YXIvLCR7bG9jYWxzdGF0ZWRpcn0vLGcnICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlcgogICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmdpbngvc2l0ZXMtZW5hYmxlZAorICAgIGxuIC1zIC4uL3NpdGVzLWF2YWlsYWJsZS9kZWZhdWx0X3NlcnZlciAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9zaXRlcy1lbmFibGVkLworCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJveHlfcGFyYW1zICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3Byb3h5X3BhcmFtcwogCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcwogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25naW54LXZvbGF0aWxlLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsL3Zhci8sJHtsb2NhbHN0YXRlZGlyfS8sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKICAgICBzZWQgLWkgJ3MsQE5HSU5YX1VTRVJALCR7TkdJTlhfVVNFUn0sZycgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfbmdpbngKIAorICAgICMgY2xlYW51cCBjb25maWd1cmF0aW9uIGZvbGRlcgorICAgIHJtICR7RH0ke3N5c2NvbmZkaXJ9L25naW54LyouZGVmYXVsdAorCisgICAgIyBhZGQgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvbGRlcnMKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L21vZHVsZXMtYXZhaWxhYmxlCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZ2lueC9tb2R1bGVzLWVuYWJsZWQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L3NlcnZlci1jb25mLmQKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25naW54L2NvbmYuZAorCiAgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTt0aGVuCiAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KICAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmdpbnguc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KICAgICAgICAgc2VkIC1pIC1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBMT0NBTFNUQVRFRElSQCwke2xvY2Fsc3RhdGVkaXJ9LGcnIFwKICAgICAgICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgIC1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyBcCiAgICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZ2lueC5zZXJ2aWNlCiAgICAgZmkKIH0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE0LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2MTNmZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNC4yLmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKKyMgMS4xNC54IGJyYW5jaCBpcyB0aGUgY3VycmVudCBzdGFibGUgYnJhbmNoLCB0aGUgcmVjb21tZW5kZWQgZGVmYXVsdAorIyAxLjE1LnggaXMgdGhlIGN1cnJlbnQgbWFpbmxpbmUgYnJhbmNoZXMgY29udGFpbmluZyBhbGwgbmV3IGZlYXR1cmVzCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjM5YjgyOWExM2NlYTFkMjQ0YzEwNDRlODMwYmQ5YzIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDAyZDlmNjE1NGUzMzE4ODZhMmRkNGU2MDY1ODYzYzljMWNmODI5MWFlOTdhMTI1NTMwODU3MmMwMmJlOTc5NyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmMWJhOGYuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1odHRwZC9uZ2lueC9uZ2lueF8xLjE1LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi0jIDEuMTQueCBicmFuY2ggaXMgdGhlIGN1cnJlbnQgc3RhYmxlIGJyYW5jaCwgdGhlIHJlY29tbWVuZGVkIGRlZmF1bHQKLSMgMS4xNS54IGlzIHRoZSBjdXJyZW50IG1haW5saW5lIGJyYW5jaGVzIGNvbnRhaW5pbmcgYWxsIG5ldyBmZWF0dXJlcwotREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkZDVhMjY1YzU0YTc2YjY5OTQ0MzkzMWQ4MGE2MWI5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM3MjA2ODU4ZDdmODMyYjhlZjczYTQ1YzliOGY4ZTQzNmJjYjFlZTg4ZGIyYmM4NWI4ZTQzOGVjZWM5ZDU0NjAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjk0ZjViLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1yZXF1aXJlIG5naW54LmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNjkxNDAyY2M1NGNlMDlmODAwY2EzNDg2MzRhMmRmZSIKLQotU1JDX1VSSVttZDVzdW1dID0gImQwNjNmNzQ2ZDNkYzQyOThhZWQ5YzUxOGYxNjg0MTY2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlYmEwOWFlY2ZiZTgyNzdhYzMzYTVhMjQ4NmVjMmQ2NzMxNzM5ZjNjMWM3MDFiNDJhMGMzNzg0YWY2N2FkOTAiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtaHR0cGQvbmdpbngvbmdpbnhfMS4xNS43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlNmRjMzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLWh0dHBkL25naW54L25naW54XzEuMTUuNy5iYgpAQCAtMCwwICsxLDYgQEAKK3JlcXVpcmUgbmdpbnguaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM2OTE0MDJjYzU0Y2UwOWY4MDBjYTM0ODYzNGEyZGZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzE5YjJlM2Q0MTZmMTExZmVjYzlkYjY2MjU1NTM2NTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGYyMmVhMmY2YzBlMGEyMjFiNmRkYzAyYjY0MjhhM2ZmNzA4ZTJhZDU1ZjkzNjExMDJiMWM5ZjQxNDJiZGY5MyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzNkYmYzLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtcGhwL3hkZWJ1Zy94ZGVidWdfMi42LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1TVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgotTElDRU5TRSA9ICJYZGVidWciCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0zNGRmM2EyNzRhYTEyYjc5NTQxN2M2NTYzNGMwN2YxNiIKLQotREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM1Y2MwZjJlOGI3ZDQwNTU2YTlhZDlhZmQ5YzQ5YWVlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRhZTY5MWQ2YzA1MjA3M2I4ODZlMGM2ZTEzMDZhNzA3YmNhOWZkMThhMWUzNDg1Mzg0ZWY2YzRhYWNmMWJkNzciCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKLQotaW5oZXJpdCBhdXRvdG9vbHMKLQotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgotCi1kb19jb25maWd1cmUoKSB7Ci0gICAgY2QgJHtTfQotICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQotICAgIGNkICR7Qn0KLQotICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQotICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgotICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQotICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCi0gICAgb2VfcnVuY29uZgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXBocC94ZGVidWcveGRlYnVnXzIuNy4wUkMyLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmU2MmNiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy1waHAveGRlYnVnL3hkZWJ1Z18yLjcuMFJDMi5iYgpAQCAtMCwwICsxLDM1IEBACitTVU1NQVJZID0gIkRlYnVnZ2luZyBhbmQgcHJvZmlsaW5nIGV4dGVuc2lvbiBmb3IgUEhQIgorTElDRU5TRSA9ICJYZGVidWciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MmQ5NGEzMzBkMzRlZTZlZGMyNjM4NDUwNzM2ZjExOSIKKworREVQRU5EUyA9ICJwaHAgcmUyYy1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hkZWJ1Zy5vcmcvZmlsZXMveGRlYnVnLSR7UFZ9LnRneiIKKworU1JDX1VSSVttZDVzdW1dID0gImU4Y2FiZTAwM2Q2OTkwYjE1N2QwZDhjYWVlMzc0ODQ0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhYTZkMTc3MjkzN2U5ZjExYjkxYWQ4Y2VkNTg2YWEwZTE2MjgxZGMxNzhjNDA1YWMzODBkNDVkNDczMWY4YjAiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInhkZWJ1Zy0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRneiIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS14ZGVidWcgLXdpdGgtcGhwLWNvbmZpZz0ke1NUQUdJTkdfQklORElSX0NST1NTfS9waHAtY29uZmlnIgorCitkb19jb25maWd1cmUoKSB7CisgICAgY2QgJHtTfQorICAgICR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9L3BocGl6ZQorICAgIGNkICR7Qn0KKworICAgICMgUnVubmluZyBhdXRvcmVjb25mIGFzIGF1dG90b29sc19kb19jb25maWd1cmUgd291bGQgZG8gaGVyZQorICAgICMgYnJlYWtzIHRoZSBsaWJ0b29sIGNvbmZpZ3VyYXRpb24gcmVzdWx0aW5nIGluIGEgZmFpbHVyZSBsYXRlcgorICAgICMgaW4gZG9fY29tcGlsZS4gSXQncyBwb3NzaWJsZSB0aGlzIG1heSBiZSBmaXhhYmxlLCBob3dldmVyIHRoZQorICAgICMgZWFzaWVzdCBjb3Vyc2Ugb2YgYWN0aW9uIGZvciB0aGUgbW9tZW50IGlzIHRvIGF2b2lkIGRvaW5nIHRoYXQuCisgICAgb2VfcnVuY29uZgorfQorCitkb19pbnN0YWxsKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMX1JPT1Q9JHtEfQorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BocCovZXh0ZW5zaW9ucy8qLyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waHAqL2V4dGVuc2lvbnMvKi8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXdlYnNlcnZlci9yZWNpcGVzLXdlYmFkbWluL25ldGRhdGEvbmV0ZGF0YV9naXQuYmIKaW5kZXggYjBmMTYwMi4uMzkwZmE0YiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS13ZWJzZXJ2ZXIvcmVjaXBlcy13ZWJhZG1pbi9uZXRkYXRhL25ldGRhdGFfZ2l0LmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtd2Vic2VydmVyL3JlY2lwZXMtd2ViYWRtaW4vbmV0ZGF0YS9uZXRkYXRhX2dpdC5iYgpAQCAtMjcsNiArMjcsOCBAQAogCiBpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgdXNlcmFkZCBzeXN0ZW1kCiAKK0xERkxBR1MgKz0gIi1wdGhyZWFkIgorCiAjc3lzdGVtZAogU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKIFNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZXRkYXRhLnNlcnZpY2UiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL1JFQURNRQppbmRleCA0ZDhkYzQ1Li43NDMxZThiIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvUkVBRE1FCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9SRUFETUUKQEAgLTEsMTEgKzEsMTEgQEAKIFRoaXMgbGF5ZXIgZGVwZW5kcyBvbjoKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9vZS1jb3JlLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIAogVVJJOiBnaXQ6Ly9naXRodWIuY29tL29wZW5lbWJlZGRlZC9tZXRhLW9lLmdpdAotYnJhbmNoOiB0aHVkCiticmFuY2g6IG1hc3RlcgogcmV2aXNpb246IEhFQUQKIG1ldGEteGZjZSBkZXBlbmRzIG9uIG1ldGEtb2UsIG1ldGEtZ25vbWUgYW5kIG1ldGEtbXVsdGltZWRpYSBpbiB0aGlzIHJlcG9zaXRvcnkuCiAKQEAgLTE0LDkgKzE0LDkgQEAKIAogQkJNQVNLID0gIm1ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEiCiAKLVNlbmQgcHVsbCByZXF1ZXN0cyB0byBvcGVuZW1iZWRkZWQtZGV2ZWxAbGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3aXRoICdbbWV0YS14ZmNlXVt0aHVkXScgaW4gdGhlIHN1YmplY3QnCitTZW5kIHB1bGwgcmVxdWVzdHMgdG8gb3BlbmVtYmVkZGVkLWRldmVsQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd2l0aCAnW21ldGEteGZjZV0nIGluIHRoZSBzdWJqZWN0JwogCiBXaGVuIHNlbmRpbmcgc2luZ2xlIHBhdGNoZXMsIHBsZWFzZSB1c2luZyBzb21ldGhpbmcgbGlrZToKLSdnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVt0aHVkXVtQQVRDSCcKKydnaXQgc2VuZC1lbWFpbCAtTSAtMSAtLXRvIG9wZW5lbWJlZGRlZC1kZXZlbEBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS14ZmNlXVtQQVRDSCcKIAotVGh1ZCBNYWludGFpbmVyOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorTGF5ZXIgbWFpbnRhaW5lcjogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9jb25mL2xheWVyLmNvbmYKaW5kZXggZjVmNDRkNi4uNmU5ZDg5MiAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvY29uZi9sYXllci5jb25mCkBAIC0xOCw3ICsxOCw3IEBACiBMQVlFUkRFUEVORFNfeGZjZS1sYXllciArPSAibXVsdGltZWRpYS1sYXllciIKIExBWUVSREVQRU5EU194ZmNlLWxheWVyICs9ICJtZXRhLXB5dGhvbiIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3hmY2UtbGF5ZXIgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF94ZmNlLWxheWVyID0gInRodWQgd2FycmlvciIKIAogU0lHR0VOX0VYQ0xVREVfU0FGRV9SRUNJUEVfREVQUyArPSAiIFwKICAgeGZjZTQtc2Vzc2lvbi0+bWFjaGluZS1ob3N0IFwKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvY2F0ZmlzaC9jYXRmaXNoXzEuNC42LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyOWY4ODIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkNhdGZpc2ggaXMgYSBoYW5keSBmaWxlIHNlYXJjaGluZyB0b29sIGZvciBsaW51eCBhbmQgdW5peCIKLVNFQ1RJT04gPSAieDExL2FwcGxpY2F0aW9uIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTQzMjVhZmQzOTZmZWJjYjY1OWMzNmI0OTUzMzEzNWQ0IgotCi1pbmhlcml0IHhmY2UtYXBwIGRpc3R1dGlsczMgZ3RrLWljb24tY2FjaGUKLQotREVQRU5EUyArPSAicHl0aG9uMy1kaXN0dXRpbHMtZXh0cmEtbmF0aXZlIgotCi1CID0gIiR7U30iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4NzkxOTdjOTQwMGJlMmE4MGQ1MWFiZjQ5NGJmZmZiNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMWNhZWUxNGM1MjY4YWM3ODE0MzQ3MDFjMGViMjZlZGRmY2VkMmMwZjFhZTA2NjU0OTU4M2VkMDVmOTlhZGJmIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXRhaW5mbyIKLQotUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbjMtcHlnb2JqZWN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL2NhdGZpc2gvY2F0ZmlzaF8xLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGQ1NjkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9jYXRmaXNoL2NhdGZpc2hfMS40LjcuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJDYXRmaXNoIGlzIGEgaGFuZHkgZmlsZSBzZWFyY2hpbmcgdG9vbCBmb3IgbGludXggYW5kIHVuaXgiCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKKworaW5oZXJpdCB4ZmNlLWFwcCBkaXN0dXRpbHMzIGd0ay1pY29uLWNhY2hlCisKK0RFUEVORFMgKz0gInB5dGhvbjMtZGlzdHV0aWxzLWV4dHJhLW5hdGl2ZSIKKworQiA9ICIke1N9IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjRjMWMyYjJjNTYwODI0Y2FiOGQ3ZjZjN2JkNjI0Y2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDhjYWFhYzg3MmQyOWUyNzYyZTMxZTU5YWRlMTMxMGNiODYwYWY1NWYxYTM2ZjI1MjBjZTFkOTBjMzkyMjdlOSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vbWV0YWluZm8iCisKK1JERVBFTkRTXyR7UE59ICs9ICJweXRob24zLXB5Z29iamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMvbWVudWxpYnJlL21lbnVsaWJyZV8yLjIuMC5iYgppbmRleCBiMGU0Nzg0Li4xZTllNWYxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL21lbnVsaWJyZS9tZW51bGlicmVfMi4yLjAuYmIKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy9tZW51bGlicmUvbWVudWxpYnJlXzIuMi4wLmJiCkBAIC0xMyw3ICsxMyw3IEBACiAKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7UE59LSR7UFZ9LnRhci5neiIKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L21lbnVsaWJyZS8yLjIvJHtQVn0vK2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIuZ3oiCiBTUkNfVVJJW21kNXN1bV0gPSAiOTY5MDg0OGRiZjkxOTZjM2Y3YmFhNTc0ZTkwMzc4ZDgiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTQ2ZmVjODdmNDUxYzhmNWMyMjBkMDJiMWYzNmRkODUwZjRjZTlhYjYwN2Y4ZTk3MTFlZDhmMjAwOWUzNDlmZSIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGFyY2hpdmVyL3hhcmNoaXZlcl9naXQuYmIKaW5kZXggYTI3YzhmNS4uNzQ0NWNkNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94YXJjaGl2ZXIveGFyY2hpdmVyX2dpdC5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hhcmNoaXZlci94YXJjaGl2ZXJfZ2l0LmJiCkBAIC01LDIyICs1LDI5IEBACiBMSUNFTlNFID0gIkdQTHYyKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgogCi1ERVBFTkRTID0gImd0aysgZ2xpYi0yLjAgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBpbnRsdG9vbC1uYXRpdmUiCitERVBFTkRTID0gImd0ayszIGdsaWItMi4wIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgogCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS94YXJjaGl2ZXIuZ2l0O2JyYW5jaD1tYXN0ZXIiCi1TUkNSRVYgPSAiNWEyNmRkOGNlYWIwYWY3MWIzMGM4MzI4NmQ3YzczOThhODU4YzgxNCIKLVBWID0gIjAuNS4zIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2liL3hhcmNoaXZlci5naXQiCitTUkNSRVYgPSAiOWFiOTU4YTQwMjNiNjJiNDM5NzJjNTVhMzE0M2ZmMDcyMmJkODhhNiIKK1BWID0gIjAuNS40LjE0IgogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCB4ZmNlLWdpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ3RrLWljb24tY2FjaGUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCitpbmhlcml0IGdldHRleHQgcGtnY29uZmlnIGF1dG90b29scyBndGstaWNvbi1jYWNoZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKIAogIyBpbnN0YWxsIHRhcCBmaWxlcyBmb3IgdGh1bmFyLWFyY2hpdmUtcGx1Z2luIGluICR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4KIEVYVFJBX09FQ09ORiArPSAiLS1saWJleGVjZGlyPSR7bGliZGlyfSIKIAotRVhUUkFfT0VDT05GICs9ICItLWVuYWJsZS1tYWludGFpbmVyLW1vZGUiCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlIFwKKyAgICAtLWRpc2FibGUtZG9jIFwKKyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIHRvdWNoICR7U30vTkVXUyAke1N9L0FVVEhPUlMKK30KIAogRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90aHVuYXItYXJjaGl2ZS1wbHVnaW4iCiAKLVJSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiIKK1JSRUNPTU1FTkRTXyR7UE59ID0gImx6b3AgemlwIHRhciBiemlwMiB1bnppcCB4eiBwN3ppcCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaCBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIvZmlsZXMvMDAwMS1GaXgtYnVpbGQtYWZ0ZXItdXBkYXRlLW9mLXhmY29uZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzEyMTZjMC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LW1peGVyL2ZpbGVzLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDZlY2FlY2VkMjkxZjkzNWE5ZDQxZTliYzMzNDExMzU4Yzk1YTVlOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMiBKYW4gMjAxOCAxNTozNTowOCArMDEwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgYWZ0ZXIgdXBkYXRlIG9mIHhmY29uZgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi14ZmNvbmYgc3RvcHBlZCB1c2luZyBkYnVzLWdsaWIgc28gcmVxdWlyZWQgZmxhZ3MgbXVzdCBiZSBpbmNsdWRlZCBoZXJlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgotLS0tCi0gcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIHwgMiArKwotIHhmY2U0LW1peGVyL01ha2VmaWxlLmFtICB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtIGIvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi1pbmRleCBhNDk0NjgyLi5iMDk0NDcyIDEwMDY0NAotLS0tIGEvcGFuZWwtcGx1Z2luL01ha2VmaWxlLmFtCi0rKysgYi9wYW5lbC1wbHVnaW4vTWFrZWZpbGUuYW0KLUBAIC0yNyw2ICsyNyw3IEBAIGxpYm1peGVyX2xhX0NGTEFHUyA9CQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0gCSQoTElCWEZDRTRQQU5FTF9DRkxBR1MpCQkJCQkJXAotIAkkKFhGQ09ORl9DRkxBR1MpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9DRkxBR1MpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKQkJCQkJXAotIAkkKEtFWUJJTkRFUl9DRkxBR1MpCi0gCi1AQCAtNDgsNiArNDksNyBAQCBsaWJtaXhlcl9sYV9MSUJBREQgPQkJCQkJCQlcCi0gCSQoTElCWEZDRTRVSV9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFBBTkVMX0xJQlMpCQkJCQkJXAotIAkkKFhGQ09ORl9MSUJTKQkJCQkJCQlcCi0rCSQoREJVU19HTElCX0xJQlMpCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLSAJLWxnc3RpbnRlcmZhY2VzLTAuMTAJCQkJCQlcCi1kaWZmIC0tZ2l0IGEveGZjZTQtbWl4ZXIvTWFrZWZpbGUuYW0gYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotaW5kZXggNGFmNjllOS4uZTA3NmZjOCAxMDA2NDQKLS0tLSBhL3hmY2U0LW1peGVyL01ha2VmaWxlLmFtCi0rKysgYi94ZmNlNC1taXhlci9NYWtlZmlsZS5hbQotQEAgLTMyLDYgKzMyLDcgQEAgeGZjZTRfbWl4ZXJfQ0ZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVUSUxfQ0ZMQUdTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0NGTEFHUykJCQkJCQlcCi0rCSQoREJVU19HTElCX0NGTEFHUykJCQkJCQlcCi0gCSQoWEZDT05GX0NGTEFHUykJCQkJCQlcCi0gCSQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpCi0gCi1AQCAtNDYsNiArNDcsNyBAQCB4ZmNlNF9taXhlcl9MREZMQUdTID0gCQkJCQkJCVwKLSAJJChVTklRVUVfTElCUykJCQkJCQkJXAotIAkkKExJQlhGQ0U0VVRJTF9MSUJTKQkJCQkJCVwKLSAJJChMSUJYRkNFNFVJX0xJQlMpCQkJCQkJXAotKwkkKERCVVNfR0xJQl9MSUJTKQkJCQkJCVwKLSAJJChYRkNPTkZfTElCUykJCQkJCQkJXAotIAkkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykJCQkJCVwKLSAJLWxnc3RhdWRpby0wLjEwCQkJCQkJCVwKLS0tIAotMi4xNC4zCi0KZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtbWl4ZXIveGZjZTQtbWl4ZXJfNC4xMS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMDU3ZDguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1taXhlci94ZmNlNC1taXhlcl80LjExLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1TVU1NQVJZID0gIkEgdm9sdW1lIGNvbnRyb2wgYXBwbGljYXRpb24gYmFzZWQgb24gR1N0cmVhbWVyIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImdsaWItMi4wIGdzdC1wbHVnaW5zLWJhc2UgZ3RrKyB4ZmNvbmYgbGlidW5pcXVlIgotCi1TUkNfVVJJID0gIiBcCi0gICAgaHR0cDovL2FyY2hpdmUueGZjZS5vcmcvc3JjL2FwcHMvJHtCUE59LyR7QHhmY2VfdmVyZGlyKCIke1BWfSIpfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLWFmdGVyLXVwZGF0ZS1vZi14ZmNvbmYucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWIzNzUzYjkxMjI0ODY3YTNhMmRmZGRkYTIzOWMyOGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmIwYzFkZjIwMWVkMTEzMGY1NGYxNWI5MTRjYmU1YTU5Mjg2ZTk5NGExMzdhY2RhNTYwOTU3MGM1NzExMmRlMiIKLQotUkRFUEVORFNfJHtQTn0gPSAiZ3N0LW1ldGEtYXVkaW8iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXNjcmVlbnNob290ZXIveGZjZTQtc2NyZWVuc2hvb3Rlcl8xLjkuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmE0Y2RiLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJBcHBsaWNhdGlvbiB0byB0YWtlIHNjcmVlbnNob3RzIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvYXBwbGljYXRpb25zL3hmY2U0LXNjcmVlbnNob290ZXIiCi1TRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzkxNzI4YTA3M2JjMDA5YjRmZmFmMDBiNzU5OTg1NSIKLURFUEVORFMgPSAieGZjZTQtcGFuZWwgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2RrLXBpeGJ1ZiBndGsrIGdsaWItMi4wIGxpYnNvdXAtMi40IGV4byBsaWJ4Zml4ZXMgeGV4dCB2aXJ0dWFsL2xpYngxMSIKLQotaW5oZXJpdCB4ZmNlLWFwcAotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjc4M2ViNTc1ZTIwMTVmMzllMWMxYWFlNDk5YjExM2YiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzY0ZWJkZGM0Yzk5NzFiNDAyM2FhODAxOWQ0ZTNiZDA4ZjA5MWI2NWRjOThiMjE4YmViNTU4NTFmNjljZWRhMiIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgIG1rZGlyIC1wIGxpYgotICAgIG1rZGlyIC1wIHNyYyBwYW5lbC1wbHVnaW4KLX0KLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9hcHBkYXRhIFwKLSAgICAke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMgXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKLSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC1zY3JlZW5zaG9vdGVyL3hmY2U0LXNjcmVlbnNob290ZXJfMS45LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M1ODQ4YgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtc2NyZWVuc2hvb3Rlci94ZmNlNC1zY3JlZW5zaG9vdGVyXzEuOS40LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQXBwbGljYXRpb24gdG8gdGFrZSBzY3JlZW5zaG90cyIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL2FwcGxpY2F0aW9ucy94ZmNlNC1zY3JlZW5zaG9vdGVyIgorU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDc5MTcyOGEwNzNiYzAwOWI0ZmZhZjAwYjc1OTk4NTUiCitERVBFTkRTID0gInhmY2U0LXBhbmVsIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdkay1waXhidWYgZ3RrKyBnbGliLTIuMCBsaWJzb3VwLTIuNCBleG8gbGlieGZpeGVzIHhleHQgdmlydHVhbC9saWJ4MTEiCisKK2luaGVyaXQgeGZjZS1hcHAKKworU1JDX1VSSVttZDVzdW1dID0gIjY4MzIxZTUwOTM5ZmVhM2M2NmYwNzcxZDU5ODQ1ZGFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0ZjMyMjViM2Y3M2YxZmViMTg2OTgwN2I4YjI3YWVjNGMzMmEzZTljMjk1NDkxNWE1ZmIzOWQxOGQzYTYwZjIiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKyAgICBta2RpciAtcCBsaWIKKyAgICBta2RpciAtcCBzcmMgcGFuZWwtcGx1Z2luCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vYXBwZGF0YSBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zIFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucyBcCisiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFmZWExZC4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1hcHBzL3hmY2U0LXRhc2ttYW5hZ2VyL3hmY2U0LXRhc2ttYW5hZ2VyXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi0KLWluaGVyaXQgeGZjZS1hcHAKLQotREVQRU5EUyArPSAiZ3RrKyBjYWlybyBsaWJ3bmNrIGxpYnhtdSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGV4by1uYXRpdmUiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0YTJkMGIxZTgwMDFmYjM0MzEzOWE5N2Q1N2I1NmVhYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyMmU1MjNlMmVlMjMxNzEzZjQwYTQ4ODkwZDhjYmFlOTkzMjBhYzExNzNmN2M2ODUwMmY0OTAzMThlMWUwNDA5IgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtYXBwcy94ZmNlNC10YXNrbWFuYWdlci94ZmNlNC10YXNrbWFuYWdlcl8xLjIuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNhNTljOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLWFwcHMveGZjZTQtdGFza21hbmFnZXIveGZjZTQtdGFza21hbmFnZXJfMS4yLjIuYmIKQEAgLTAsMCArMSwxMCBAQAorU1VNTUFSWSA9ICJFYXN5IHRvIHVzZSB0YXNrIG1hbmFnZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1hcHAKKworREVQRU5EUyArPSAiZ3RrKzMgY2Fpcm8gbGlid25jayBsaWJ4bXUgeGZjZTQtZGV2LXRvb2xzLW5hdGl2ZSBleG8tbmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNjU3ODYyNWZmYmUwNjliMTM4NTMzZmY1ZTc3ZGY3MzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ5YTYxYzgxOWE0ZmQ5Mjg2YTY1YWU2MTYwNTk4NGYzMjdjOGIyNmNmOTM5Mjg5ZjY0NGU2NTZiZmEyMGUxMyIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4wLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmNTAxZjcuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlNpbXBsZSBjbGllbnQgcGx1Z2luIGZvciBNdXNpYyBQbGF5ZXIgRGFlbW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1tcGMtcGx1Z2luIgotU0VDVElPTiA9ICJ4MTEvYXBwbGljYXRpb24iCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM2MDRkOTg3ZTZkZmRmYzY3MmM3NTRkMDg5NTNiMGUwIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gImxpYm1wZCIKLQotIyBXaGlsZSB0aGlzIGl0ZW0gZG9lcyBub3QgcmVxdWlyZSBpdCwgaXQgZGVwZW5kcyBvbiBtcGQgd2hpY2ggZG9lcwotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi0jIGZvciBub3cgd2UgcmVjb21tZW5kIG91ciBvd24gbXBkLXNlcnZlcgotUlJFQ09NTUVORFNfJHtQTn0gPSAibXBkIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTNkNWQ5NWVmMGMzMDViYWM0NWZkZTYyMzEyNThlNWQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjEzMjA5MTZhZTMxMTJlNjgyNTY5OTY1MmE1MDJjZWJmYTc4YmIwMDZjNjQ5YjQyZDNkMzMxZGZlNTdiNmNiMCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtbXVsdGltZWRpYS94ZmNlNC1tcGMtcGx1Z2luL3hmY2U0LW1wYy1wbHVnaW5fMC41LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODUyMzU0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLW11bHRpbWVkaWEveGZjZTQtbXBjLXBsdWdpbi94ZmNlNC1tcGMtcGx1Z2luXzAuNS4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiU2ltcGxlIGNsaWVudCBwbHVnaW4gZm9yIE11c2ljIFBsYXllciBEYWVtb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LW1wYy1wbHVnaW4iCitTRUNUSU9OID0gIngxMS9hcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYwNGQ5ODdlNmRmZGZjNjcyYzc1NGQwODk1M2IwZTAiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAibGlibXBkIgorCisjIFdoaWxlIHRoaXMgaXRlbSBkb2VzIG5vdCByZXF1aXJlIGl0LCBpdCBkZXBlbmRzIG9uIG1wZCB3aGljaCBkb2VzCitMSUNFTlNFX0ZMQUdTID0gImNvbW1lcmNpYWwiCisKKyMgZm9yIG5vdyB3ZSByZWNvbW1lbmQgb3VyIG93biBtcGQtc2VydmVyCitSUkVDT01NRU5EU18ke1BOfSA9ICJtcGQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDVkZmRhY2IyYjIxOThlMWYxNjczZDYxZjg2ZTRmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MzVlNjc4Yzk3Mjk2NjNlOWVhYWRmY2Y1ODQyNmY3Y2VhMzdlNmQzZmRhNWU4MTg5NTVmYmM4YWRlMDBkZTAxIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjdjNjVhLi4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvYmF0dGVyeS94ZmNlNC1iYXR0ZXJ5LXBsdWdpbl8xLjEuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGJhdHRlcnkgbW9uaXRvciBwYW5lbCBwbHVnaW4gZm9yIFhmY2U0LCBjb21wYXRpYmxlIHdpdGggQVBNIGFuZCBBQ1AiCi1IT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LWJhdHRlcnktcGx1Z2luIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyNjk0MWM1NzllYmY0MTQzYjdlNDlhYTA4ZWU5YjMwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxZTk0OTY5YjkzZTBjMWQ2ZGE4NzM2NGI2NGMwY2RmYjQwYmFlNWU0YTA1NTAzOWJlOGI2N2I5ZTViM2RkNDRiIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9iYXR0ZXJ5L3hmY2U0LWJhdHRlcnktcGx1Z2luXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkZTFjZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2JhdHRlcnkveGZjZTQtYmF0dGVyeS1wbHVnaW5fMS4xLjIuYmIKQEAgLTAsMCArMSw5IEBACitTVU1NQVJZID0gIkEgYmF0dGVyeSBtb25pdG9yIHBhbmVsIHBsdWdpbiBmb3IgWGZjZTQsIGNvbXBhdGlibGUgd2l0aCBBUE0gYW5kIEFDUCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtYmF0dGVyeS1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworU1JDX1VSSVttZDVzdW1dID0gImJhMWNmZTYxOTA0NjM3M2Y5YWY1YjkwM2M3N2QxODU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MDEzNDlmYTlhOTc5ZGFlOTlhY2UzOWIyNGQ5OWI5N2Y2MmI4MGY0MmFjNWRlYTVhOTllNWFmM2U4OGQ3ZGIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL2NhbGN1bGF0b3IveGZjZTQtY2FsY3VsYXRvci1wbHVnaW5fMC42LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMGQwYTAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1TVU1NQVJZID0gIkEgY2FsY3VsYXRvciBwbHVnaW4gZm9yIHRoZSBYZmNlIHBhbmVsIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05MDk0MzBmNjNmZGRkNjNmMTIwYmEyOWU4OTc5ZjY1YyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbiBndGstaWNvbi1jYWNoZQotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWI5NTZhODk2OTNkMDM5YTYxYjQ3MjVjZWZiMjNhNGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWI1MTc2NTU4MGVhNDY1MGY5Y2YwNjIzODJhODIwZmI2NDgzZWU1ZGJlMDAzYWViNmYwNjM5MjllMjk5ZjljMiIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvY2FsY3VsYXRvci94ZmNlNC1jYWxjdWxhdG9yLXBsdWdpbl8wLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjE2NDU2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9jYWxjdWxhdG9yL3hmY2U0LWNhbGN1bGF0b3ItcGx1Z2luXzAuNy4wLmJiCkBAIC0wLDAgKzEsOSBAQAorU1VNTUFSWSA9ICJBIGNhbGN1bGF0b3IgcGx1Z2luIGZvciB0aGUgWGZjZSBwYW5lbCIKK0hPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtY2FsY3VsYXRvci1wbHVnaW4iCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTA5NDMwZjYzZmRkZDYzZjEyMGJhMjllODk3OWY2NWMiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gZ3RrLWljb24tY2FjaGUKKworU1JDX1VSSVttZDVzdW1dID0gIjFhZTE5MmE2OTgzNGVlMmY1MWYzNGEwYTk4MTE4MWY0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdiNTBhYjk0N2FiMDU4ZTFjMDc5MTEzZTdmMGY4YjM4ZWYyNDJmZWMzNmVjOWYzMWJiNGUzYzE5Y2IzZjlkZTkiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlYjQ1MTguLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy9zeXN0ZW1sb2FkL3hmY2U0LXN5c3RlbWxvYWQtcGx1Z2luXzEuMi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiUGFuZWwgcGx1Z2luIGRpc3BsYXlpbmcgY3VycmVudCBDUFUgbG9hZCwgdGhlIG1lbW9yeSBpbiB1c2UsIHRoZSBzd2FwIHNwYWNlIGFuZCB0aGUgc3lzdGVtIHVwdGltZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9nb29kaWVzLnhmY2Uub3JnL3Byb2plY3RzL3BhbmVsLXBsdWdpbnMveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW4iCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlhY2IxNzJhOTNmZjZjNDNjY2UyYWZmNzkwYThhZWY4IgotCi1pbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCi0KLURFUEVORFMgKz0gInVwb3dlciIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU1MDI3N2FmOTg4NmM0NzAwNTExNzExMGY2ZTdlYzBkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJiZjdkMDgwMjUzNGExZWIyZTlmMjUxYWYyYmI5N2FiYzNmNTg2MDhjMWYwMTUxMWQzMDJjMDYxMTFkMzQ4MTIiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3N5c3RlbWxvYWQveGZjZTQtc3lzdGVtbG9hZC1wbHVnaW5fMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlmYjJjYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvc3lzdGVtbG9hZC94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbl8xLjIuMi5iYgpAQCAtMCwwICsxLDExIEBACitERVNDUklQVElPTiA9ICJQYW5lbCBwbHVnaW4gZGlzcGxheWluZyBjdXJyZW50IENQVSBsb2FkLCB0aGUgbWVtb3J5IGluIHVzZSwgdGhlIHN3YXAgc3BhY2UgYW5kIHRoZSBzeXN0ZW0gdXB0aW1lIgorSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC1zeXN0ZW1sb2FkLXBsdWdpbiIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OWFjYjE3MmE5M2ZmNmM0M2NjZTJhZmY3OTBhOGFlZjgiCisKK2luaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4KKworREVQRU5EUyArPSAidXBvd2VyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzdiOTIzN2VjNGE0MjFkZTVkYWM3NjQ0OWI0YjVhNzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M2N2RmZWIwNDJlYWVhNWFjYTQ0MGRlOWM2YjNlY2Y5OWJlMGZiYWExY2Y3ZmRmOWU2NTI4MjMzYjQ2Yzk5ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY2M2JiOS4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3dlYXRoZXIveGZjZTQtd2VhdGhlci1wbHVnaW5fMC45LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1TVU1NQVJZID0gIlBhbmVsIHBsdWdpbiB0byBkaXNwbGF5IGN1cnJlbnQgdGVtcGVyYXR1cmUgYW5kIHdlYXRoZXIgY29uZGl0aW9uIgotSE9NRVBBR0UgPSAiaHR0cDovL2dvb2RpZXMueGZjZS5vcmcvcHJvamVjdHMvcGFuZWwtcGx1Z2lucy94ZmNlNC13ZWF0aGVyLXBsdWdpbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotaW5oZXJpdCB4ZmNlLXBhbmVsLXBsdWdpbgotCi1ERVBFTkRTICs9ICJsaWJzb3VwLTIuNCBkYnVzLWdsaWIgdXBvd2VyIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjVkM2Q5ZmIyZTY4OGE2MTkyMDE2NTVmNmVlYTUxYzIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQzNjhjZjIzMzI3NzRhZDJhMDUyMjZiMjkxNGVjYjYwZTc1NTBlOWIyMTY0YmU1M2ViZThmMzcwMTk4YmIzZCIKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veGZjZTQvd2VhdGhlciIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2VhdGhlci94ZmNlNC13ZWF0aGVyLXBsdWdpbl8wLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTNjYTEzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93ZWF0aGVyL3hmY2U0LXdlYXRoZXItcGx1Z2luXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK1NVTU1BUlkgPSAiUGFuZWwgcGx1Z2luIHRvIGRpc3BsYXkgY3VycmVudCB0ZW1wZXJhdHVyZSBhbmQgd2VhdGhlciBjb25kaXRpb24iCitIT01FUEFHRSA9ICJodHRwOi8vZ29vZGllcy54ZmNlLm9yZy9wcm9qZWN0cy9wYW5lbC1wbHVnaW5zL3hmY2U0LXdlYXRoZXItcGx1Z2luIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luCisKK0RFUEVORFMgKz0gImxpYnNvdXAtMi40IGRidXMtZ2xpYiB1cG93ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMGJkZTNiYTZhN2U4NjMwMjJhODZhMjNjNzg3MTI1NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Y2RjMThiOGRmNzU5ZGVlNGNlYWFmNmNlMzAzZWZmN2ZkYTQ4ZTI0N2RiYzI2Yjc4MTQyOTI5MjEzNTA2Y2ZkIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC93ZWF0aGVyIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtcGFuZWwtcGx1Z2lucy93aGlza2VybWVudS94ZmNlNC13aGlza2VybWVudS1wbHVnaW5fMi4zLjAuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjRhMzJmYy4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLVNVTU1BUlkgPSAiQW4gYWx0ZXJuYXRlIG1lbnUgZm9yIHRoZSBYZmNlIGRlc2t0b3AgZW52aXJvbm1lbnQiCi1IT01FUEFHRSA9ICJodHRwOi8vZ290dGNvZGUub3JnL3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbi8iCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi0KLWluaGVyaXQgeGZjZS1wYW5lbC1wbHVnaW4gY21ha2UKLQotU1JDX1VSSVttZDVzdW1dID0gImQyMzgzYzNlYjFiNTRhZGY1YTIwNjk3M2JkMjBmMTU5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdlNTY5YmIwZGZmN2UzZGIzZDk2NGUyMzMyM2Y1NGM2ZGU3MjQ5NzQxYzZhMGUzM2EwZmE1MDFkODMwNDBiMTYiCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJtZW51bGlicmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXBhbmVsLXBsdWdpbnMvd2hpc2tlcm1lbnUveGZjZTQtd2hpc2tlcm1lbnUtcGx1Z2luXzIuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMGEyNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1wYW5lbC1wbHVnaW5zL3doaXNrZXJtZW51L3hmY2U0LXdoaXNrZXJtZW51LXBsdWdpbl8yLjMuMi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkFuIGFsdGVybmF0ZSBtZW51IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL2dvdHRjb2RlLm9yZy94ZmNlNC13aGlza2VybWVudS1wbHVnaW4vIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitpbmhlcml0IHhmY2UtcGFuZWwtcGx1Z2luIGNtYWtlCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlOWFhNmMzMzQ2M2JkNTY0YzQ3ZTE5NDNjMGZjN2FjMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMWJmNmJlMzdmNzc3OGE0ODZiMTZlZjExNWQ0YzA1MTIwY2MxMmM4N2U0YWYzYWY5YzUwMDEyNzZiZGNiN2NjIgorCitSUkVDT01NRU5EU18ke1BOfSArPSAibWVudWxpYnJlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXyUuYmJhcHBlbmQgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2I0NDk2My4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW1fJS5iYmFwcGVuZAorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLXJlcXVpcmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJHtCUE59X3hmY2UuaW5jJywgJycsIGQpfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltX3hmY2UuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNTQwM2U2Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV94ZmNlLmluYworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JIyBUaGUgbW91c2UgYmVpbmcgYXV0b2VuYWJsZWQgaXMganVzdCBhbm5veWluZyBpbiB4ZmNlNC10ZXJtaW5hbCAobW91c2UKLQkjIGRyYWcgbWFrZSB2aW0gZ28gaW50byB2aXN1YWwgbW9kZSBhbmQgdGhlcmUgaXMgbm8gcmlnaHQgY2xpY2sgbWVudSksCi0JIyBkZWxldGUgdGhlIGJsb2NrLgotCXNlZCAtaSAnL3RoZSBtb3VzZSB3b3JrcyBqdXN0IGZpbmUvLCs0ZCcgJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYwotfQpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZXhvL2V4b18wLjEyLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDljNDgyOWIuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLURFU0NSSVBUSU9OPSJBcHBsaWNhdGlvbiBsaWJyYXJ5IGZvciB0aGUgWGZjZSBkZXNrdG9wIGVudmlyb25tZW50IgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCi1ERVBFTkRTID0gImd0aysgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgdmlydHVhbC9saWJ4MTEgbGlidXJpLXBlcmwtbmF0aXZlIGNhaXJvIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZ2xpYi0yLjAtbmF0aXZlIHhmY2U0LWRldi10b29scy1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1pbmhlcml0IHhmY2UgcHl0aG9ubmF0aXZlIHBlcmxuYXRpdmUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgotCi0jIFNSQ19VUkkgbXVzdCBmb2xsb3cgaW5oZXJpdGVkIG9uZQotU1JDX1VSSSArPSAiIFwKLSAgICBmaWxlOi8vZXhvLW5vLXRlc3RzLTAuOC5wYXRjaCBcCi0gICAgZmlsZTovL2NvbmZpZ3VyZS5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAotICAgIGZpbGU6Ly9yZWR1Y2UtYnVpbGQtdG8tZXhvLWNzb3VyY2Utb25seS5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkYTkzNGM1OTM5ZjJlZTQ1NDBmNWQ0ODk5MTA1M2YwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiOTZmZTg2YmI1MDRhYTliMzMzMmI5NjEwNWQ3NTVmNWQ5MDUyYzkwM2ZkNjU3NGI1MTJhNWVmNzZjMGFkNDM5IgotCi1QQUNLQUdFUyA9KyAiZXhvLWNzb3VyY2UiCi0KLSMgTm90ZTogcHl0aG9uIGJpbmRpbmdzIGRpZCBub3Qgd29yayBpbiBvZS1kZXYgYW5kIGFyZSBhYm91dCB0byBiZSBtb3ZlZCB0bwotIyBweXhmY2Ugc2VlIGh0dHA6Ly9jb21tZW50cy5nbWFuZS5vcmcvZ21hbmUuY29tcC5kZXNrdG9wLnhmY2UuZGV2ZWwudmVyc2lvbjQvMTk1NjAKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3hmY2U0LyBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L2V4by0xIFwKLSIKLQotRklMRVNfZXhvLWNzb3VyY2UgKz0gIiR7YmluZGlyfS9leG8tY3NvdXJjZSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2V4by9leG9fMC4xMi40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjdlZGZlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9leG8vZXhvXzAuMTIuNC5iYgpAQCAtMCwwICsxLDM2IEBACitERVNDUklQVElPTj0iQXBwbGljYXRpb24gbGlicmFyeSBmb3IgdGhlIFhmY2UgZGVza3RvcCBlbnZpcm9ubWVudCIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorREVQRU5EUyA9ICJndGsrIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIHZpcnR1YWwvbGlieDExIGxpYnVyaS1wZXJsLW5hdGl2ZSBjYWlybyIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImdsaWItMi4wLW5hdGl2ZSB4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGludGx0b29sLW5hdGl2ZSIKKworaW5oZXJpdCB4ZmNlIHB5dGhvbm5hdGl2ZSBwZXJsbmF0aXZlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKKworIyBTUkNfVVJJIG11c3QgZm9sbG93IGluaGVyaXRlZCBvbmUKK1NSQ19VUkkgKz0gIiBcCisgICAgZmlsZTovL2V4by1uby10ZXN0cy0wLjgucGF0Y2ggXAorICAgIGZpbGU6Ly9jb25maWd1cmUucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICBmaWxlOi8vcmVkdWNlLWJ1aWxkLXRvLWV4by1jc291cmNlLW9ubHkucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTYyYmJjY2IzOGRiMGFlY2Q0MTUxY2E5N2Y2YTM5YmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjBhZjYwODE2YmRiNTcyY2U1M2YxOTQ2MmZiMWYzYTU4OTVhMDQwMTdhODc4ODkzZGMwM2MxNjZlYTIwNTBhZiIKKworUEFDS0FHRVMgPSsgImV4by1jc291cmNlIgorCisjIE5vdGU6IHB5dGhvbiBiaW5kaW5ncyBkaWQgbm90IHdvcmsgaW4gb2UtZGV2IGFuZCBhcmUgYWJvdXQgdG8gYmUgbW92ZWQgdG8KKyMgcHl4ZmNlIHNlZSBodHRwOi8vY29tbWVudHMuZ21hbmUub3JnL2dtYW5lLmNvbXAuZGVza3RvcC54ZmNlLmRldmVsLnZlcnNpb240LzE5NTYwCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS94ZmNlNC8gXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9leG8tMSBcCisiCisKK0ZJTEVTX2V4by1jc291cmNlICs9ICIke2JpbmRpcn0vZXhvLWNzb3VyY2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNmUyMzY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvZ2FyY29uL2dhcmNvbl8wLjYuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlIE1lbnUgTGlicmFyeSIKLVNFQ1RJT04gPSAieDExL2xpYnMiCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA0YTAxYWJjYmRhYmZmYWUxY2EyNjMzNWEyOTMyNzZiIgotREVQRU5EUyA9ICJ4ZmNlNC1kZXYtdG9vbHMtbmF0aXZlIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGludGx0b29sLW5hdGl2ZSIKLQotaW5oZXJpdCB4ZmNlIGd0ay1kb2MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXhmY2UtYXBwbGljYXRpb25zLm1lbnUtZG9uLXQtYmxvYXQtc2V0dGluZ3MtbWVudS1ieS0ucGF0Y2giCi1TUkNfVVJJW21kNXN1bV0gPSAiMTc0NjkwYWQxOTI0M2Y3ZWY5NTI5Y2IwYzI0YjkwODAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDFjMzFiYTA0OThjMmNjMzlkZTRhOGUwYzIzNjc1MTBhZGJmNGJjMjEwNGMxN2ZlZWUzNThlNTFlNmFjZjYwMyIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGstZG9jIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kZXNrdG9wLWRpcmVjdG9yaWVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9nYXJjb24vZ2FyY29uXzAuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3MDk2ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL2dhcmNvbi9nYXJjb25fMC42LjIuYmIKQEAgLTAsMCArMSwxNyBAQAorREVTQ1JJUFRJT049IlhmY2UgTWVudSBMaWJyYXJ5IgorU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDRhMDFhYmNiZGFiZmZhZTFjYTI2MzM1YTI5MzI3NmIiCitERVBFTkRTID0gInhmY2U0LWRldi10b29scy1uYXRpdmUgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgaW50bHRvb2wtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSArPSAiZmlsZTovLzAwMDEteGZjZS1hcHBsaWNhdGlvbnMubWVudS1kb24tdC1ibG9hdC1zZXR0aW5ncy1tZW51LWJ5LS5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNGI2MzMyZmY2ZjA5MDU3NWQ1MzRkNmE5ZDI3NjFkOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhODdmMDk2NDhmZjEwZDQ1YzUyNGIzYmZlNjE4ZjE4NjIyYmRkOGIyMDU1ODlkMzVmZWQyZjEyZDljNzljNDdjIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWd0ay1kb2MiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2Rlc2t0b3AtZGlyZWN0b3JpZXMiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXhmY2UtZXh0ZW5kZWQuYmIKaW5kZXggNWY4YzAzYy4uYjQxMmMyNyAxMDA2NDQKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC14ZmNlLWV4dGVuZGVkLmJiCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAteGZjZS1leHRlbmRlZC5iYgpAQCAtNjQsNyArNjQsNiBAQAogICAgIHhmY2U0LWFwcGZpbmRlciBcCiAgICAgeGZjZTQtc2NyZWVuc2hvb3RlciBcCiAgICAgeGZjZTQtcG93ZXItbWFuYWdlciBcCi0gICAgeGZjZTQtbWl4ZXIgXAogICAgIHJpc3RyZXR0byBcCiAgICAgeGZjZTQtdGFza21hbmFnZXIgXAogICAgIGdpZ29sbyBcCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci12b2xtYW4vdGh1bmFyLXZvbG1hbl8wLjkuMC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM3YjY5Li4wMDAwMDAwCi0tLSBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJBdXRvbWF0aWMgbWFuYWdlbWVudCBvZiByZW1vdmFibGUgZHJpdmVzIGFuZCBtZWRpYSBmb3IgdGh1bmFyIgotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCi1ERVBFTkRTID0gImV4byBnbGliLTIuMCBsaWJ4ZmNlNHVpIGxpYnhmY2U0dXRpbCB4ZmNvbmYgbGlibm90aWZ5IGxpYmd1ZGV2IgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzYjQwM2E0Zjg0NjkyNzM5MWVhNGJlZTc2NWEwNTVkZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNGJmZmNmZWUxNTUzMGUyNzdmYTgwODY1ZWIxZGUzMWU2M2M3ZWZmYWY4ODM1YzlmYTdjNzFlNWEwMDc2YjJlIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tub3RpZnldID0gIi0tZW5hYmxlLW5vdGlmaWNhdGlvbnMsLS1kaXNhYmxlLW5vdGlmaWNhdGlvbnMsbGlibm90aWZ5IgotCi1SREVQRU5EU18ke1BOfSA9ICJlamVjdCIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXItdm9sbWFuL3RodW5hci12b2xtYW5fMC45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyNDUzYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UvdGh1bmFyLXZvbG1hbi90aHVuYXItdm9sbWFuXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiQXV0b21hdGljIG1hbmFnZW1lbnQgb2YgcmVtb3ZhYmxlIGRyaXZlcyBhbmQgbWVkaWEgZm9yIHRodW5hciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJleG8gZ2xpYi0yLjAgbGlieGZjZTR1aSBsaWJ4ZmNlNHV0aWwgeGZjb25mIGxpYm5vdGlmeSBsaWJndWRldiIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDk5MmExOGY0MjI5MThjMzNiNTYyZDZlNjYwNDU3NTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2Q4NzI5MWE0MjdlOGE1NjFjNTY2ZGNhM2FhN2U5M2I1NmZkY2U0Y2FlZmM3NTVkZGUwZjU5MTk4ZjZkYjM1OSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworUkRFUEVORFNfJHtQTn0gPSAiZWplY3QiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyYTBlMzAuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKLQotaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1MWEwOTg4NjI1YTdlMmM5NDQzNzdlNzVkM2VmZmM3MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NWY5MTA0NTU0MWViNTk4M2U3NzJhNTY0ZDk3ZjIzZTU5OTUyNTZiZmI5ODYzZTBmNGEwMTUzOTM0MjFkNDI4IgotCi1TID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCi0gICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAotICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKLSAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAke2RhdGFkaXJ9L1RodW5hciBcCi0gICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAotIgotCi1SUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiIGIvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS90aHVuYXIvdGh1bmFyXzEuOC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3NjY3MTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3RodW5hci90aHVuYXJfMS44LjQuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJGaWxlIG1hbmFnZXIgZm9yIHRoZSBYZmNlIERlc2t0b3AgRW52aXJvbm1lbnQiCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKK0RFUEVORFMgPSAiZXhvIGdsaWItMi4wIGd0ayszIGdkay1waXhidWYgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgeGZjb25mIGxpYnNtIGRidXMtZ2xpYiBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJub3RpZnkgeGZjZTQtcGFuZWwgdWRldiIKKworaW5oZXJpdCB4ZmNlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJodHRwOi8vYXJjaGl2ZS54ZmNlLm9yZy9zcmMveGZjZS8ke0JQTn0vJHtAJyR7UFZ9J1swOjNdfS9UaHVuYXItJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YTVkMGY0ZGRjYzY1M2M0NzkxZTU1NWYwZGM2MzgyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjMmJmNTFkYThkZGVjOGY2NDJkNjc4MTgxODRhZGEyY2E2ZTE0MzE1MWU2YTQ1NTYzOTkxZGI3MzM4N2E5M2IwIgorCitTID0gIiR7V09SS0RJUn0vVGh1bmFyLSR7UFZ9LyIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS1lbmFibGUtcGNyZSwtLWRpc2FibGUtcGNyZSxsaWJwY3JlIgorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0vdGh1bmFyeC0zLyogXAorICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorICAgICR7bGliZGlyfS9UaHVuYXIvW1R0XWh1bmFyKiBcCisgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKKyAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAke2RhdGFkaXJ9L1RodW5hciBcCisgICAgJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyogXAorIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJndmZzIGd2ZnNkLXRyYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzMzZmNTQuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLURFU0NSSVBUSU9OPSJYZmNlNCBBcHBsaWNhdGlvbiBGaW5kZXIiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFM9ImdsaWItMi4wIGd0ayszIGxpYnhmY2U0dXRpbCBsaWJ4ZmNlNHVpIGdhcmNvbiBkYnVzLWdsaWIgeGZjb25mIgotCi1pbmhlcml0IHhmY2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZTJhMWY5YjRhZTMxODNjNDYxYjc5ODkxMjI0YzMzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1Y2FiYjI3YmJlMGEwODY0Yjc4NWUxYTM4NTM1YTkxNTE2NzYzZTM4ZDZiZmY0MWEzOTE1YTYxZDI4MjU0YjAzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9hcHBkYXRhIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1hcHBmaW5kZXIveGZjZTQtYXBwZmluZGVyXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlmNmUyOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtYXBwZmluZGVyL3hmY2U0LWFwcGZpbmRlcl80LjEzLjIuYmIKQEAgLTAsMCArMSwxNCBAQAorREVTQ1JJUFRJT049IlhmY2U0IEFwcGxpY2F0aW9uIEZpbmRlciIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUz0iZ2xpYi0yLjAgZ3RrKzMgbGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgZ2FyY29uIGRidXMtZ2xpYiB4ZmNvbmYiCisKK2luaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjhiNGMyYWI0MTM3NDhmY2QwY2M1MTQ0NDQxOGQ1YWYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZkNzc0YWNiY2FiMDhkYmI4OGJjYmYyOGVlY2Y3M2VjOWY1NWIxM2UxZjIwNTgwMjFiNjNmNzAzYzQ5ODlkOTciCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21ldGFpbmZvIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wYW5lbC94ZmNlNC1wYW5lbF80LjEzLjMuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFhYmY2Ni4uMDAwMDAwMAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgUGFuZWwiCi1TRUNUSU9OID0gIngxMSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNmE4YmQ3NWQ4Zjg0OThiZGJiZTY0YTI3NzkxZDRlZSIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGdhcmNvbiBsaWJ4ZmNlNHVpIHhmY29uZiBleG8gZ3RrKyBndGsrMyBkYnVzIGNhaXJvIHZpcnR1YWwvbGlieDExIGxpYnhtbDIgbGlid25jazMgdmFsYS1uYXRpdmUiCi0KLWluaGVyaXQgeGZjZSBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgZ3RrLWljb24tY2FjaGUgcmVtb3ZlLWxpYnRvb2wKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjBjY2I0NDhlMzc5Mjk0OWViMGFlOWRiOGRjMjI3ODliIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImI0NjdmZWI3ZWU5Nzk3YWQxMmY1NmExNTI1NzBlNDJhOTZiOTRhZDYzNTgwZDQ1NTM2YWFiZWUyODI0NDBjZTgiCi1TUkNfVVJJICs9ICIgXAotICAgIGZpbGU6Ly8wMDAxLXdpbmRvd21lbnUtZG8tbm90LWRpc3BsYXktZGVza3RvcC1pY29uLXdoZW4tbm8td2luZG8ucGF0Y2ggXAotIgotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBwbHVnaW5fZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLycpCi0gICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXmxpYiguKikuc28kJywgcGx1Z2luX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgJyR7UE59IHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgYXV4X2ZpbGVzX3BhdHRlcm49Wycke2RhdGFkaXJ9L3hmY2U0L3BhbmVsL3BsdWdpbnMvJXMuZGVza3RvcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke3N5c2NvbmZkaXJ9L3hkZy94ZmNlL3BhbmVsLyVzLSonLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMvKi0lcy5wbmcnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtiaW5kaXJ9LyolcyonXSkKLX0KLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXiR7UE59LXBsdWdpbi0uKiIKLQotUEFDS0FHRVMgPSsgIiR7UE59LWd0azMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvbWlncmF0ZSBcCi0gICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL3dyYXBwZXItMS4wIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyoubGEiCi0KLUZJTEVTXyR7UE59LWd0azMgPSAiIFwKLSAgICAke2xpYmRpcn0vbGlieGZjZTRwYW5lbC0yLjAke1NPTElCU30gXAotICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTIuMCBcCi0iCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZjZTQtcGFuZWwveGZjZTQtcGFuZWxfNC4xMy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4ZTA1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBhbmVsL3hmY2U0LXBhbmVsXzQuMTMuNC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlhmY2U0IFBhbmVsIgorU0VDVElPTiA9ICJ4MTEiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjZhOGJkNzVkOGY4NDk4YmRiYmU2NGEyNzc5MWQ0ZWUiCitERVBFTkRTID0gImxpYnhmY2U0dXRpbCBnYXJjb24gbGlieGZjZTR1aSB4ZmNvbmYgZXhvIGd0aysgZ3RrKzMgZGJ1cyBjYWlybyB2aXJ0dWFsL2xpYngxMSBsaWJ4bWwyIGxpYnduY2szIHZhbGEtbmF0aXZlIgorCitpbmhlcml0IHhmY2UgZ3RrLWRvYyBnb2JqZWN0LWludHJvc3BlY3Rpb24gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGd0ay1pY29uLWNhY2hlIHJlbW92ZS1saWJ0b29sCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjMGYxMzJmZWQyMTEwZDM3ZjM1MWFhZGM5ZTgwYTAzNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzNmZmZDI2ZWY3ZjU4NjdjMDFiYTMxMDQ3NWI0MzU4ZmYwZTU4OGNmZDU1OTlhMjY2ZjAwMzdhNmMyMDA1MmExIgorU1JDX1VSSSArPSAiIFwKKyAgICBmaWxlOi8vMDAwMS13aW5kb3dtZW51LWRvLW5vdC1kaXNwbGF5LWRlc2t0b3AtaWNvbi13aGVuLW5vLXdpbmRvLnBhdGNoIFwKKyIKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8nKQorICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi0lcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luX2RpciwgJ15saWIoLiopLnNvJCcsIHBsdWdpbl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgIGF1eF9maWxlc19wYXR0ZXJuPVsnJHtkYXRhZGlyfS94ZmNlNC9wYW5lbC9wbHVnaW5zLyVzLmRlc2t0b3AnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtzeXNjb25mZGlyfS94ZGcveGZjZS9wYW5lbC8lcy0qJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7ZGF0YWRpcn0vaWNvbnMvaGljb2xvci80OHg0OC9hcHBzLyotJXMucG5nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7YmluZGlyfS8qJXMqJ10pCit9CisKK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1wbHVnaW4tLioiCisKK1BBQ0tBR0VTID0rICIke1BOfS1ndGszIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3hmY2U0L3BhbmVsL21pZ3JhdGUgXAorICAgICAgICAgICAgICAgICR7bGliZGlyfS94ZmNlNC9wYW5lbC93cmFwcGVyLTEuMCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0veGZjZTQvcGFuZWwvcGx1Z2lucy8qLmxhIgorCitGSUxFU18ke1BOfS1ndGszID0gIiBcCisgICAgJHtsaWJkaXJ9L2xpYnhmY2U0cGFuZWwtMi4wJHtTT0xJQlN9IFwKKyAgICAke2xpYmRpcn0veGZjZTQvcGFuZWwvd3JhcHBlci0yLjAgXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmNlNC1wb3dlci1tYW5hZ2VyL3hmY2U0LXBvd2VyLW1hbmFnZXJfMS42LjEuYmIgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgppbmRleCBlZDExN2IwLi4xY2RjYjQxIDEwMDY0NAotLS0gYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgorKysgYi9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLXhmY2UvcmVjaXBlcy14ZmNlL3hmY2U0LXBvd2VyLW1hbmFnZXIveGZjZTQtcG93ZXItbWFuYWdlcl8xLjYuMS5iYgpAQCAtMjAsOCArMjAsOCBAQAogICAgIC0tZW5hYmxlLXBhbmVsLXBsdWdpbnMgXAogIgogCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS1lbmFibGUtcG9sa2l0LCAtLWRpc2FibGUtcG9sa2l0LCBwb2xraXQiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncG9sa2l0JywgZCl9IgorUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0tZW5hYmxlLXBvbGtpdCwgLS1kaXNhYmxlLXBvbGtpdCwgcG9sa2l0IgogCiBQQUNLQUdFUyArPSAieGZjZTQtcG93ZXJtYW5hZ2VyLXBsdWdpbiIKIApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1Njk2YTEuLjAwMDAwMDAKLS0tIGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVNVTU1BUlkgPSAiWGZjZTQgRGVza3RvcCBNYW5hZ2VyIgotU0VDVElPTiA9ICJ4MTEvYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiIKLURFUEVORFMgPSAibGlieGZjZTR1dGlsIGxpYnhmY2U0dWkgbGlid25jayB4ZmNvbmYgZGJ1cy1nbGliIGRidXMtZ2xpYi1uYXRpdmUgdGh1bmFyIGdhcmNvbiBleG8iCi0KLWluaGVyaXQgeGZjZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotU1JDX1VSSVttZDVzdW1dID0gImMwNTU2OWMxYzM5Y2NkMzE0ZmI1ZGEyMGQ1MDg2OTA5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM4N2Y0M2Q4YTQ2MTVmNDQwNjBjMDE5Y2FkMjEyYWMxMmRmNjJjNThlZWEyNjA1ODEzNzQzMTE2ZjcxYWQzYmQiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW25vdGlmeV0gPSAiLS1lbmFibGUtbm90aWZpY2F0aW9ucywtLWRpc2FibGUtbm90aWZpY2F0aW9ucyxsaWJub3RpZnkiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2JhY2tncm91bmRzIgpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS14ZmNlL3JlY2lwZXMteGZjZS94ZmRlc2t0b3AveGZkZXNrdG9wXzQuMTMuMy5iYiBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3MGE5YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtb3BlbmVtYmVkZGVkL21ldGEteGZjZS9yZWNpcGVzLXhmY2UveGZkZXNrdG9wL3hmZGVza3RvcF80LjEzLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYZmNlNCBEZXNrdG9wIE1hbmFnZXIiCitTRUNUSU9OID0gIngxMS9iYXNlIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorREVQRU5EUyA9ICJsaWJ4ZmNlNHV0aWwgbGlieGZjZTR1aSBsaWJ3bmNrIHhmY29uZiBkYnVzLWdsaWIgZGJ1cy1nbGliLW5hdGl2ZSB0aHVuYXIgZ2FyY29uIGV4byIKKworaW5oZXJpdCB4ZmNlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjA4OTQ0ZjFiNjljZTFjNmUxZmJiOWQ3ZjRjYjFkYTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODBmN2YyOGVmMTc2MzhmZTFjZjQ0ODFkYjY5NDczMWMyMDg3ODVhNTZiNmM4NDAwMDUyMDJmOWMyZGIyMzhmNSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbm90aWZ5XSA9ICItLWVuYWJsZS1ub3RpZmljYXRpb25zLC0tZGlzYWJsZS1ub3RpZmljYXRpb25zLGxpYm5vdGlmeSIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYmFja2dyb3VuZHMiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1uZXR3b3JrZC1UcmFjay1hZGRyZXNzLWNvbmZpZ3VyYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2ODM2NjkuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBAQAotRnJvbSBhMjRkMGQ5NWRmMTkyOTkxMmMwZjc2N2Y1YWIxMzUzNTUyNDY0Yzg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IEZyaSwgMzAgTm92IDIwMTggMTU6NTQ6NDUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIG5ldHdvcmtkOiBUcmFjayBhZGRyZXNzIGNvbmZpZ3VyYXRpb24KLQotVGhpcyB3aWxsIGJlIHVzZWZ1bCB0byBhc3NlcnQgdGhhdCBvdXIgc3RhdGljIHJvdXRlIGNvbmZpZ3VyYXRpb24gYWx3YXlzCi1oYXBwZW5zIGFmdGVyIGFkZHJlc3MgY29uZmlndXJhdGlvbiBvbmNlIG91ciBpbmRpdmlkdWFsIGNvbmZpZ3VyZSBzdGF0ZQotZ29lcyBhd2F5LgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBjNDJmZjNhMWE3YmZlYTY2ZGM0NjU1MDk2Yzc5YmQ0ODExNTkwOTFiKQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBzcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgfCAxMSArKysrKysrKystLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICAyICsrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCA0YWZjZjg0M2JkLi4wZmFmMzM3MDY5IDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MjgsNiArNzI4LDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+bmV0d29yaykKLSAgICAgICAgICAgICAgICAgcmV0dXJuOwotIAotKyAgICAgICAgaWYgKCFsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotICAgICAgICAgaWYgKCFsaW5rLT5zdGF0aWNfcm91dGVzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLUBAIC04MzUsNiArODM4LDggQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9yb3V0ZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPm5ldHdvcmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApOwotICAgICAgICAgYXNzZXJ0KGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotIAotICAgICAgICAgKHZvaWQpIGxpbmtfc2V0X3JvdXRpbmdfcG9saWN5X3J1bGUobGluayk7Ci1AQCAtOTA0LDYgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0rICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfQotIAotQEAgLTEyMDQsOSArMTIxMCwxMCBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJPZmZlcmluZyBESENQdjQgbGVhc2VzIik7Ci0gICAgICAgICB9Ci0gCi0tICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKQotKyAgICAgICAgaWYgKGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCkgewotKyAgICAgICAgICAgICAgICBsaW5rLT5hZGRyZXNzZXNfY29uZmlndXJlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAgIGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhsaW5rKTsKLS0gICAgICAgIGVsc2UKLSsgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBhZGRyZXNzZXMiKTsKLSAKLSAgICAgICAgIHJldHVybiAwOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggN2UyMmRmZDUwNC4uMmYzN2NjMTU5OCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtODAsNiArODAsOCBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAgICAgICAgIFNldCAqcm91dGVzOwotICAgICAgICAgU2V0ICpyb3V0ZXNfZm9yZWlnbjsKLSAKLSsgICAgICAgIGJvb2wgYWRkcmVzc2VzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBzZF9kaGNwX2NsaWVudCAqZGhjcF9jbGllbnQ7Ci0gICAgICAgICBzZF9kaGNwX2xlYXNlICpkaGNwX2xlYXNlOwotICAgICAgICAgY2hhciAqbGVhc2VfZmlsZTsKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0M2MzNmIuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtZGVmZXItdGhlLXByb3BlcnR5LWNoYW5nZWQtc2lnbmFsLXVudGlsLWpvYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3OSArMCwwIEBACi1Gcm9tIDNhZjBhOTZjMGZjYzYyM2JkMTY2NDlmYzM2NDAzOTZhNjU3Y2Y5ZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZdSBXYXRhbmFiZSA8d2F0YW5hYmUueXUrZ2l0aHViQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjIgSnVsIDIwMTggMjM6MTA6MDIgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGltZWRhdGU6IGRlZmVyIHRoZSBwcm9wZXJ0eSBjaGFuZ2VkIHNpZ25hbCB1bnRpbCBqb2Igb2YKLSBzdGFydGluZy9zdG9wcGluZyBOVFAgc2VydmljZSBpcyBmaW5pc2hlZAotCi1CZWZvcmUgdGhpcywgdGhlIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGVtaXR0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIKLVN0YXJ0VW5pdC9TdG9wVW5pdCBtZXRob2QgaXMgY2FsbGVkLiBTbywgdGhlIHJ1bm5pbmcgc3RhdGUgb2YgdGhlIE5UUAotY2xpZW50IHNlcnZpY2UgbWF5IG5vdCB1cGRhdGVkLgotVGhpcyBtYWtlcyB0aGUgdGltaW5nIG9mIGVtaXR0aW5nIHByb3BlcnR5IGNoYW5nZWQgc2lnbmFsIGlzIGRlZmVycmVkCi11bnRpbCBqb2Igb2Ygc3RhcnRpbmcvc3RvcHBpbmcgTlRQIGNsaWVudCBzZXJ2aWNlIGlzIGNvbXBsZXRlZC4KLQotRml4ZXMgIzk2NzIuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLWluZGV4IDZjOTU3NjQuLjAxMmNiZTAgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLSsrKyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotQEAgLTQ2LDYgKzQ2LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgQ29udGV4dCB7Ci0gICAgICAgICBIYXNobWFwICpwb2xraXRfcmVnaXN0cnk7Ci0gICAgICAgICBzZF9idXNfbWVzc2FnZSAqY2FjaGU7Ci0gCi0rICAgICAgICBzZF9idXNfc2xvdCAqc2xvdF9qb2JfcmVtb3ZlZDsKLSsgICAgICAgIGNoYXIgKnBhdGhfbnRwX3VuaXQ7Ci0rCi0gICAgICAgICBMSVNUX0hFQUQoVW5pdFN0YXR1c0luZm8sIHVuaXRzKTsKLSB9IENvbnRleHQ7Ci0gCi1AQCAtNzQsNiArNzcsOSBAQCBzdGF0aWMgdm9pZCBjb250ZXh0X2ZyZWUoQ29udGV4dCAqYykgewotICAgICAgICAgYnVzX3ZlcmlmeV9wb2xraXRfYXN5bmNfcmVnaXN0cnlfZnJlZShjLT5wb2xraXRfcmVnaXN0cnkpOwotICAgICAgICAgc2RfYnVzX21lc3NhZ2VfdW5yZWYoYy0+Y2FjaGUpOwotIAotKyAgICAgICAgc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBmcmVlKGMtPnBhdGhfbnRwX3VuaXQpOwotKwotICAgICAgICAgd2hpbGUgKChwID0gYy0+dW5pdHMpKSB7Ci0gICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKHVuaXRzLCBjLT51bml0cywgcCk7Ci0gICAgICAgICAgICAgICAgIHVuaXRfc3RhdHVzX2luZm9fZnJlZShwKTsKLUBAIC0zNDUsMTcgKzM1MSw1NSBAQCBzdGF0aWMgaW50IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoQ29udGV4dCAqYywgc2RfYnVzICpidXMsIHNkX2J1c19tZXNzYWdlICptKQotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotLXN0YXRpYyBpbnQgdW5pdF9zdGFydF9vcl9zdG9wKFVuaXRTdGF0dXNJbmZvICp1LCBzZF9idXMgKmJ1cywgc2RfYnVzX2Vycm9yICplcnJvciwgYm9vbCBzdGFydCkgewotK3N0YXRpYyBpbnQgbWF0Y2hfam9iX3JlbW92ZWQoc2RfYnVzX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhLCBzZF9idXNfZXJyb3IgKmVycm9yKSB7Ci0rICAgICAgICBjb25zdCBjaGFyICpwYXRoOwotKyAgICAgICAgQ29udGV4dCAqYyA9IHVzZXJkYXRhOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoYyk7Ci0rICAgICAgICBhc3NlcnQobSk7Ci0rCi0rICAgICAgICByID0gc2RfYnVzX21lc3NhZ2VfcmVhZChtLCAidW9zcyIsIE5VTEwsICZwYXRoLCBOVUxMLCBOVUxMKTsKLSsgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICBidXNfbG9nX3BhcnNlX2Vycm9yKHIpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmICghc3RyZXFfcHRyKHBhdGgsIGMtPnBhdGhfbnRwX3VuaXQpKQotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsKLSsgICAgICAgICh2b2lkKSBzZF9idXNfZW1pdF9wcm9wZXJ0aWVzX2NoYW5nZWQoc2RfYnVzX21lc3NhZ2VfZ2V0X2J1cyhtKSwgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0rCi0rICAgICAgICBjLT5zbG90X2pvYl9yZW1vdmVkID0gc2RfYnVzX3Nsb3RfdW5yZWYoYy0+c2xvdF9qb2JfcmVtb3ZlZCk7Ci0rICAgICAgICBjLT5wYXRoX250cF91bml0ID0gbWZyZWUoYy0+cGF0aF9udHBfdW5pdCk7Ci0rCi0rICAgICAgICByZXR1cm4gMDsKLSt9Ci0rCi0rc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoQ29udGV4dCAqYywgVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm9yLCBib29sIHN0YXJ0KSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfYnVzX21lc3NhZ2VfdW5yZWZwKSBzZF9idXNfbWVzc2FnZSAqcmVwbHkgPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKHNkX2J1c19zbG90X3VucmVmcCkgc2RfYnVzX3Nsb3QgKnNsb3QgPSBOVUxMOwotKyAgICAgICAgY29uc3QgY2hhciAqcGF0aDsKLSAgICAgICAgIGludCByOwotIAotKyAgICAgICAgYXNzZXJ0KGMpOwotICAgICAgICAgYXNzZXJ0KHUpOwotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci0gICAgICAgICBhc3NlcnQoZXJyb3IpOwotIAotLSAgICAgICAgLyogQ2FsbCBjb250ZXh0X3VwZGF0ZV9udHBfc3RhdHVzKCkgdG8gdXBkYXRlIFVuaXRTdGF0dXNJbmZvIGJlZm9yZSBjYWxsaW5nIHRoaXMuICovCi0rICAgICAgICAvKiBUaGlzIG1ldGhvZCBtYXkgYmUgY2FsbGVkIGZyZXF1ZW50bHkuIEZvcmdldCB0aGUgcHJldmlvdXMgam9iIGlmIGl0IGhhcyBub3QgY29tcGxldGVkIHlldC4gKi8KLSsgICAgICAgIGMtPnNsb3Rfam9iX3JlbW92ZWQgPSBzZF9idXNfc2xvdF91bnJlZihjLT5zbG90X2pvYl9yZW1vdmVkKTsKLSAKLS0gICAgICAgIGlmIChzdHJlcSh1LT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKSA9PSBzdGFydCkKLS0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICByID0gc2RfYnVzX21hdGNoX3NpZ25hbF9hc3luYygKLSsgICAgICAgICAgICAgICAgICAgICAgICBidXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJnNsb3QsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIi9vcmcvZnJlZWRlc2t0b3Avc3lzdGVtZDEiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3Auc3lzdGVtZDEuTWFuYWdlciIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgIkpvYlJlbW92ZWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoX2pvYl9yZW1vdmVkLCBOVUxMLCBjKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0gICAgICAgICByID0gc2RfYnVzX2NhbGxfbWV0aG9kKAotICAgICAgICAgICAgICAgICBidXMsCi1AQCAtMzY0LDEzICs0MDgsMjIgQEAgc3RhdGljIGludCB1bml0X3N0YXJ0X29yX3N0b3AoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKmVycm8KLSAgICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5NYW5hZ2VyIiwKLSAgICAgICAgICAgICAgICAgc3RhcnQgPyAiU3RhcnRVbml0IiA6ICJTdG9wVW5pdCIsCi0gICAgICAgICAgICAgICAgIGVycm9yLAotLSAgICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAmcmVwbHksCi0gICAgICAgICAgICAgICAgICJzcyIsCi0gICAgICAgICAgICAgICAgIHUtPm5hbWUsCi0gICAgICAgICAgICAgICAgICJyZXBsYWNlIik7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotIAotKyAgICAgICAgciA9IHNkX2J1c19tZXNzYWdlX3JlYWQocmVwbHksICJvIiwgJnBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gYnVzX2xvZ19wYXJzZV9lcnJvcihyKTsKLSsKLSsgICAgICAgIHIgPSBmcmVlX2FuZF9zdHJkdXAoJmMtPnBhdGhfbnRwX3VuaXQsIHBhdGgpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotKwotKyAgICAgICAgYy0+c2xvdF9qb2JfcmVtb3ZlZCA9IFRBS0VfUFRSKHNsb3QpOwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTQyMiw4ICs0NzUsOSBAQCBzdGF0aWMgaW50IHVuaXRfZW5hYmxlX29yX2Rpc2FibGUoVW5pdFN0YXR1c0luZm8gKnUsIHNkX2J1cyAqYnVzLCBzZF9idXNfZXJyb3IgKgotICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci0tICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotICAgICAgICAgcmV0dXJuIDA7Ci0gfQotIAotQEAgLTgxMyw3ICs4NjcsNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChxIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBxOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHEgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBxID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IHE7Ci0gICAgICAgICAgICAgICAgIH0KLUBAIC04MjcsMTcgKzg4MSwxNyBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotIAotLSAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AodSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gdW5pdF9zdGFydF9vcl9zdG9wKGMsIHUsIGJ1cywgZXJyb3IsIGVuYWJsZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgIGVsc2UgaWYgKGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfYWN0aXZlKGMpIDw9IDApCi0rICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgdSwgYy0+dW5pdHMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmVxKHUtPmxvYWRfc3RhdGUsICJsb2FkZWQiKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhc3RyZXEodS0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gCi0tICAgICAgICAgICAgICAgICAgICAgICAgciA9IHVuaXRfc3RhcnRfb3Jfc3RvcCh1LCBidXMsIGVycm9yLCBlbmFibGUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X3N0YXJ0X29yX3N0b3AoYywgdSwgYnVzLCBlcnJvciwgZW5hYmxlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgfQotIAotQEAgLTg0Niw4ICs5MDAsNiBAQCBzdGF0aWMgaW50IG1ldGhvZF9zZXRfbnRwKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvcgotIAotICAgICAgICAgbG9nX2luZm8oIlNldCBOVFAgdG8gJXNkIiwgZW5hYmxlX2Rpc2FibGUoZW5hYmxlKSk7Ci0gCi0tICAgICAgICAodm9pZCkgc2RfYnVzX2VtaXRfcHJvcGVydGllc19jaGFuZ2VkKGJ1cywgIi9vcmcvZnJlZWRlc2t0b3AvdGltZWRhdGUxIiwgIm9yZy5mcmVlZGVza3RvcC50aW1lZGF0ZTEiLCAiTlRQIiwgTlVMTCk7Ci0tCi0gICAgICAgICByZXR1cm4gc2RfYnVzX3JlcGx5X21ldGhvZF9yZXR1cm4obSwgTlVMTCk7Ci0gfQotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtdGltZWRhdGUtdHJlYXQtYWN0aXZhdGluZy1vci1pbmFjdGl2YXRpbmctTlRQLWNsaWVudC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmNhMTZhYi4uMDAwMDAwMAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSA4NGE4NzcyNmVlYzg4ZTdiMTFjOGFhNjMzYmNhMDA2YTBjMGZjNDM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogWXUgV2F0YW5hYmUgPHdhdGFuYWJlLnl1K2dpdGh1YkBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDE1IEphbiAyMDE5IDAyOjU5OjQ4ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSB0aW1lZGF0ZTogdHJlYXQgJ2FjdGl2YXRpbmcnIG9yICdpbmFjdGl2YXRpbmcnIE5UUCBjbGllbnQKLSBzdGF0dXMgYXMgJ2FjdGl2ZScKLQotV2hlbiBgdGltZWRhdGVjdGwgc2V0LXRpbWVgIGlzIGNhbGxlZCwgTlRQIGNsaWVudCBtYXkgYmUgaW4KLSdhY3RpdmF0aW5nJyBvciBzb21ldGhpbmcuIEZvciBzYWZldHksIGxldCdzIHRyZWF0IHN1Y2ggc3RhdGVzIGFzCi0nYWN0aXZlJy4KLQotVGhpcyBhbHNvIGNoYW5nZXMgYWxsIHVuaXQgZmlsZSBzdGF0dXMgZXhjZXB0IGZvciAnbWFza2VkJyBvciAnZGlzYWJsZWQnCi1hcmUgdHJlYXRlZCBhcyAnZW5hYmxlZCcuCi0tLS0KLSBzcmMvdGltZWRhdGUvdGltZWRhdGVkLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1pbmRleCBlMTY4ODg5Li4xMjMwOGJlIDEwMDY0NAotLS0tIGEvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi0rKysgYi9zcmMvdGltZWRhdGUvdGltZWRhdGVkLmMKLUBAIC0xNjAsNyArMTYwLDcgQEAgc3RhdGljIGludCBjb250ZXh0X250cF9zZXJ2aWNlX2lzX2FjdGl2ZShDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IHN0cmVxX3B0cihpbmZvLT5hY3RpdmVfc3RhdGUsICJhY3RpdmUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+YWN0aXZlX3N0YXRlLCAiaW5hY3RpdmUiLCAiZmFpbGVkIik7Ci0gCi0gICAgICAgICByZXR1cm4gY291bnQ7Ci0gfQotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IGNvbnRleHRfbnRwX3NlcnZpY2VfaXNfZW5hYmxlZChDb250ZXh0ICpjKSB7Ci0gICAgICAgICAvKiBDYWxsIGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoKSB0byB1cGRhdGUgVW5pdFN0YXR1c0luZm8gYmVmb3JlIGNhbGxpbmcgdGhpcy4gKi8KLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSCh1bml0cywgaW5mbywgYy0+dW5pdHMpCi0tICAgICAgICAgICAgICAgIGNvdW50ICs9IFNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAiZW5hYmxlZCIsICJlbmFibGVkLXJ1bnRpbWUiKTsKLSsgICAgICAgICAgICAgICAgY291bnQgKz0gIVNUUlBUUl9JTl9TRVQoaW5mby0+dW5pdF9maWxlX3N0YXRlLCAibWFza2VkIiwgIm1hc2tlZC1ydW50aW1lIiwgImRpc2FibGVkIiwgImJhZCIpOwotIAotICAgICAgICAgcmV0dXJuIGNvdW50OwotIH0KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWM0Y2MzLi4wMDAwMDAwCi0tLSBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLW5ldHdvcmtkLVVzZS1vbmx5LWEtZ2VuZXJpYy1DT05GSUdVUklORy1zdGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi1Gcm9tIDMyODNkMTVmZTMzZGEzOTJiNzE3NGViNGI4MmE1YWQxY2UwM2E2ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiV2lsbGlhbSBBLiBLZW5uaW5ndG9uIElJSSIgPHdpbGxpYW1Ad2tlbm5pbmd0b24uY29tPgotRGF0ZTogRnJpLCAzMCBOb3YgMjAxOCAxNTozNjozMyAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvM10gbmV0d29ya2Q6IFVzZSBvbmx5IGEgZ2VuZXJpYyBDT05GSUdVUklORyBzdGF0ZQotCi1UaGlzIGFsbG93cyB1cyB0byBjb252ZXkgdGhhdCB3ZSBhcmUgcGVyZm9ybWluZyBtdWx0aXBsZSBsaW5rCi1jb25maWd1cmF0aW9uIGNoYW5nZXMgaW4gcGFyYWxsZWwuIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgY29uZmlndXJpbmcKLW5laWdoYm9ycyB3aGlsZSBzaW11bHRhbmVvdXNseSBjb25maWd1cmluZyBhZGRyZXNzZXMgYW5kIHJvdXRlcy4KLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjg5ZTY3NzRkMGRhZWZlODY3NzExNzFiOGY0Zjk3YjYzMzU0NjgzZSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotLS0tCi0gc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIHwgMzcgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCB8ICA0ICstLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi1pbmRleCAwZmFmMzM3MDY5Li43MWI5MjE4NWNkIDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5jCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLUBAIC03MDYsNyArNzA2LDcgQEAgc3RhdGljIHZvaWQgbGlua19lbnRlcl9jb25maWd1cmVkKExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAKLS0gICAgICAgIGlmIChsaW5rLT5zdGF0ZSAhPSBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTKQotKyAgICAgICAgaWYgKGxpbmstPnN0YXRlICE9IExJTktfU1RBVEVfQ09ORklHVVJJTkcpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSAgICAgICAgIGxvZ19saW5rX2luZm8obGluaywgIkNvbmZpZ3VyZWQiKTsKLUBAIC04MTAsOSArODEwLDggQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgYXNzZXJ0KGxpbmstPnJvdXRlX21lc3NhZ2VzID4gMCk7Ci0tICAgICAgICBhc3NlcnQoSU5fU0VUKGxpbmstPnN0YXRlLCBMSU5LX1NUQVRFX1NFVFRJTkdfQUREUkVTU0VTLAotLSAgICAgICAgICAgICAgICAgICAgICBMSU5LX1NUQVRFX1NFVFRJTkdfUk9VVEVTLCBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0gICAgICAgICAgICAgICAgICAgICAgTElOS19TVEFURV9MSU5HRVIpKTsKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0rICAgICAgICAgICAgICAgICAgICAgIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpOwotIAotICAgICAgICAgbGluay0+cm91dGVfbWVzc2FnZXMtLTsKLSAKLUBAIC04MzIsNyArODMxLDcgQEAgc3RhdGljIGludCByb3V0ZV9oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhdGEKLSAgICAgICAgIHJldHVybiAxOwotIH0KLSAKLS1zdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0rc3RhdGljIGludCBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBSb3V0ZSAqcnQ7Ci0gICAgICAgICBpbnQgcjsKLSAKLUBAIC04NDAsMTEgKzgzOSwxMSBAQCBzdGF0aWMgaW50IGxpbmtfZW50ZXJfc2V0X3JvdXRlcyhMaW5rICpsaW5rKSB7Ci0gICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmFkZHJlc3NfbWVzc2FnZXMgPT0gMCk7Ci0tICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgPT0gTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUyk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0gCi0tICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSsgICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfQ09ORklHVVJJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9TRVRUSU5HX1JPVVRFUyk7Ci0rICAgICAgICAodm9pZCkgbGlua19zZXRfcm91dGluZ19wb2xpY3lfcnVsZShsaW5rKTsKLSAKLSAgICAgICAgIExJU1RfRk9SRUFDSChyb3V0ZXMsIHJ0LCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfcm91dGVzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSByb3V0ZV9jb25maWd1cmUocnQsIGxpbmssIHJvdXRlX2hhbmRsZXIpOwotQEAgLTg5Myw3ICs4OTIsNyBAQCBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYQotICAgICAgICAgYXNzZXJ0KGxpbmspOwotICAgICAgICAgYXNzZXJ0KGxpbmstPmlmbmFtZSk7Ci0gICAgICAgICBhc3NlcnQobGluay0+YWRkcmVzc19tZXNzYWdlcyA+IDApOwotLSAgICAgICAgYXNzZXJ0KElOX1NFVChsaW5rLT5zdGF0ZSwgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLSsgICAgICAgIGFzc2VydChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfQ09ORklHVVJJTkcsCi0gICAgICAgICAgICAgICAgTElOS19TVEFURV9GQUlMRUQsIExJTktfU1RBVEVfTElOR0VSKSk7Ci0gCi0gICAgICAgICBsaW5rLT5hZGRyZXNzX21lc3NhZ2VzLS07Ci1AQCAtOTEwLDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRkcmVzc19oYW5kbGVyKHNkX25ldGxpbmsgKnJ0bmwsIHNkX25ldGxpbmtfbWVzc2FnZSAqbSwgdm9pZCAqdXNlcmRhCi0gICAgICAgICBpZiAobGluay0+YWRkcmVzc19tZXNzYWdlcyA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJBZGRyZXNzZXMgc2V0Iik7Ci0gICAgICAgICAgICAgICAgIGxpbmstPmFkZHJlc3Nlc19jb25maWd1cmVkID0gdHJ1ZTsKLS0gICAgICAgICAgICAgICAgbGlua19lbnRlcl9zZXRfcm91dGVzKGxpbmspOwotKyAgICAgICAgICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X3JvdXRlcyhsaW5rKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIHJldHVybiAxOwotQEAgLTEwNTQsNyArMTA1Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfYnJpZGdlX2ZkYihMaW5rICpsaW5rKSB7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCi0tc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIEFkZHJlc3MgKmFkOwotICAgICAgICAgaW50IHI7Ci1AQCAtMTA2Nyw3ICsxMDY2LDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAKLS0gICAgICAgIGxpbmtfc2V0X3N0YXRlKGxpbmssIExJTktfU1RBVEVfU0VUVElOR19BRERSRVNTRVMpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBMSVNUX0ZPUkVBQ0goYWRkcmVzc2VzLCBhZCwgbGluay0+bmV0d29yay0+c3RhdGljX2FkZHJlc3NlcykgewotICAgICAgICAgICAgICAgICByID0gYWRkcmVzc19jb25maWd1cmUoYWQsIGxpbmssIGFkZHJlc3NfaGFuZGxlciwgZmFsc2UpOwotQEAgLTEyMTIsNyArMTIxMSw3IEBAIHN0YXRpYyBpbnQgbGlua19lbnRlcl9zZXRfYWRkcmVzc2VzKExpbmsgKmxpbmspIHsKLSAKLSAgICAgICAgIGlmIChsaW5rLT5hZGRyZXNzX21lc3NhZ2VzID09IDApIHsKLSAgICAgICAgICAgICAgICAgbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICBsaW5rX2VudGVyX3NldF9yb3V0ZXMobGluayk7Ci0rICAgICAgICAgICAgICAgIGxpbmtfcmVxdWVzdF9zZXRfcm91dGVzKGxpbmspOwotICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgIGxvZ19saW5rX2RlYnVnKGxpbmssICJTZXR0aW5nIGFkZHJlc3NlcyIpOwotIAotQEAgLTIzMTMsNyArMjMxMiw3IEBAIHN0YXRpYyBpbnQgbGlua19qb2luZWQoTGluayAqbGluaykgewotICAgICAgICAgaWYgKCFsaW5rX2hhc19jYXJyaWVyKGxpbmspICYmICFsaW5rLT5uZXR3b3JrLT5jb25maWd1cmVfd2l0aG91dF9jYXJyaWVyKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLS0gICAgICAgIHJldHVybiBsaW5rX2VudGVyX3NldF9hZGRyZXNzZXMobGluayk7Ci0rICAgICAgICByZXR1cm4gbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMobGluayk7Ci0gfQotIAotIHN0YXRpYyBpbnQgbmV0ZGV2X2pvaW5faGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci1AQCAtMjM1MSw3ICsyMzUwLDcgQEAgc3RhdGljIGludCBsaW5rX2VudGVyX2pvaW5fbmV0ZGV2KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGFzc2VydChsaW5rLT5uZXR3b3JrKTsKLSAgICAgICAgIGFzc2VydChsaW5rLT5zdGF0ZSA9PSBMSU5LX1NUQVRFX1BFTkRJTkcpOwotIAotLSAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0gICAgICAgICBsaW5rX2RpcnR5KGxpbmspOwotIAotQEAgLTMyNjQsNyArMzI2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19jYXJyaWVyX2dhaW5lZChMaW5rICpsaW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLS0gICAgICAgICAgICAgICAgciA9IGxpbmtfZW50ZXJfc2V0X2FkZHJlc3NlcyhsaW5rKTsKLSsgICAgICAgICAgICAgICAgciA9IGxpbmtfcmVxdWVzdF9zZXRfYWRkcmVzc2VzKGxpbmspOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gICAgICAgICB9Ci1AQCAtMzM0OCw3ICszMzQ3LDcgQEAgaW50IGxpbmtfdXBkYXRlKExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZSAqbSkgewotICAgICAgICAgaWYgKGxpbmstPnN0YXRlID09IExJTktfU1RBVEVfTElOR0VSKSB7Ci0gICAgICAgICAgICAgICAgIGxpbmtfcmVmKGxpbmspOwotICAgICAgICAgICAgICAgICBsb2dfbGlua19pbmZvKGxpbmssICJMaW5rIHJlYWRkZWQiKTsKLS0gICAgICAgICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9FTlNMQVZJTkcpOwotKyAgICAgICAgICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSAKLSAgICAgICAgICAgICAgICAgciA9IGxpbmtfbmV3X2NhcnJpZXJfbWFwcyhsaW5rKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTM5MTEsOSArMzkxMCw3IEBAIHZvaWQgbGlua19jbGVhbihMaW5rICpsaW5rKSB7Ci0gCi0gc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGxpbmtfc3RhdGVfdGFibGVbX0xJTktfU1RBVEVfTUFYXSA9IHsKLSAgICAgICAgIFtMSU5LX1NUQVRFX1BFTkRJTkddID0gInBlbmRpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfRU5TTEFWSU5HXSA9ICJjb25maWd1cmluZyIsCi0tICAgICAgICBbTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFU10gPSAiY29uZmlndXJpbmciLAotLSAgICAgICAgW0xJTktfU1RBVEVfU0VUVElOR19ST1VURVNdID0gImNvbmZpZ3VyaW5nIiwKLSsgICAgICAgIFtMSU5LX1NUQVRFX0NPTkZJR1VSSU5HXSA9ICJjb25maWd1cmluZyIsCi0gICAgICAgICBbTElOS19TVEFURV9DT05GSUdVUkVEXSA9ICJjb25maWd1cmVkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX1VOTUFOQUdFRF0gPSAidW5tYW5hZ2VkIiwKLSAgICAgICAgIFtMSU5LX1NUQVRFX0ZBSUxFRF0gPSAiZmFpbGVkIiwKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLWluZGV4IDJmMzdjYzE1OTguLjVmZDgxYmU1YTUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmgKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotQEAgLTE5LDkgKzE5LDcgQEAKLSAKLSB0eXBlZGVmIGVudW0gTGlua1N0YXRlIHsKLSAgICAgICAgIExJTktfU1RBVEVfUEVORElORywKLS0gICAgICAgIExJTktfU1RBVEVfRU5TTEFWSU5HLAotLSAgICAgICAgTElOS19TVEFURV9TRVRUSU5HX0FERFJFU1NFUywKLS0gICAgICAgIExJTktfU1RBVEVfU0VUVElOR19ST1VURVMsCi0rICAgICAgICBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HLAotICAgICAgICAgTElOS19TVEFURV9DT05GSUdVUkVELAotICAgICAgICAgTElOS19TVEFURV9VTk1BTkFHRUQsCi0gICAgICAgICBMSU5LX1NUQVRFX0ZBSUxFRCwKLS0tIAotMi4yMC4xLjk3Lmc4MTE4OGQ5M2MzLWdvb2cKLQpkaWZmIC0tZ2l0IGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXRpbWVkYXRlLXJlZnVzZS10by1zZXQtdGltZS13aGVuLXByZXZpb3VzLXJlcXVlc3QtaXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA5YzNmMzcuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gYjQzNTZiNTcyMGFlMDk3NGYxZjg5NjJlMjY1NjI1OTFkZDBiZTllOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxNSBKYW4gMjAxOSAxNDo1MTozMCArMDkwMAotU3ViamVjdDogW1BBVENIIDIvMl0gdGltZWRhdGU6IHJlZnVzZSB0byBzZXQgdGltZSB3aGVuIHByZXZpb3VzIHJlcXVlc3QgaXMgbm90Ci0gZmluaXNoZWQKLQotSWYgYHRpbWVkYXRlY3RsIHNldC10aW1lYCBpcyBpbnZva2VkIHJpZ2h0IGFmdGVyIGB0aW1lZGF0ZWN0bCBzZXQtbnRwIHRydWVgLAotdGhlbiwgdGhlIE5UUCBzZXJ2aWNlIG1heSBub3QgYmUgc3RhcnRlZCB5ZXQuCi0KLUZpeGVzICMxMTQyMC4KLS0tLQotIHNyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyB8IDExICsrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYyBiL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotaW5kZXggMTIzMDhiZS4uZWViMTdiNiAxMDA2NDQKLS0tLSBhL3NyYy90aW1lZGF0ZS90aW1lZGF0ZWQuYwotKysrIGIvc3JjL3RpbWVkYXRlL3RpbWVkYXRlZC5jCi1AQCAtNTIzLDYgKzUyMywxMCBAQCBzdGF0aWMgaW50IHByb3BlcnR5X2dldF9jYW5fbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBlbmFibGVkLiAqLwotKyAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX21lc3NhZ2VfYXBwZW5kKHJlcGx5LCAiYiIsIHRydWUpOwotKwotICAgICAgICAgciA9IGNvbnRleHRfdXBkYXRlX250cF9zdGF0dXMoYywgYnVzLCByZXBseSk7Ci0gICAgICAgICBpZiAociA8IDApCi0gICAgICAgICAgICAgICAgIHJldHVybiByOwotQEAgLTU0OCw2ICs1NTIsMTAgQEAgc3RhdGljIGludCBwcm9wZXJ0eV9nZXRfbnRwKAotICAgICAgICAgYXNzZXJ0KHJlcGx5KTsKLSAgICAgICAgIGFzc2VydChlcnJvcik7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgLyogV2hlbiB0aGUgcHJldmlvdXMgcmVxdWVzdCBpcyBub3QgZmluaXNoZWQsIHRoZW4gYXNzdW1lIE5UUCBpcyBhY3RpdmUuICovCi0rICAgICAgICAgICAgICAgIHJldHVybiBzZF9idXNfbWVzc2FnZV9hcHBlbmQocmVwbHksICJiIiwgdHJ1ZSk7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIHJlcGx5KTsKLSAgICAgICAgIGlmIChyIDwgMCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci1AQCAtNzM1LDYgKzc0Myw5IEBAIHN0YXRpYyBpbnQgbWV0aG9kX3NldF90aW1lKHNkX2J1c19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSwgc2RfYnVzX2Vycm9yICplcnJvCi0gICAgICAgICBhc3NlcnQobSk7Ci0gICAgICAgICBhc3NlcnQoYyk7Ci0gCi0rICAgICAgICBpZiAoYy0+c2xvdF9qb2JfcmVtb3ZlZCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHNkX2J1c19lcnJvcl9zZXQoZXJyb3IsIEJVU19FUlJPUl9BVVRPTUFUSUNfVElNRV9TWU5DX0VOQUJMRUQsICJQcmV2aW91cyByZXF1ZXN0IGlzIG5vdCBmaW5pc2hlZCwgcmVmdXNpbmcuIik7Ci0rCi0gICAgICAgICByID0gY29udGV4dF91cGRhdGVfbnRwX3N0YXR1cyhjLCBidXMsIG0pOwotICAgICAgICAgaWYgKHIgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gc2RfYnVzX2Vycm9yX3NldF9lcnJub2YoZXJyb3IsIHIsICJGYWlsZWQgdG8gdXBkYXRlIGNvbnRleHQ6ICVtIik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW5ldHdvcmtkLVN0YXRpYy1uZWlnaGJvci1zdXBwb3J0LnBhdGNoIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2YTU2MzEuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NDcgKzAsMCBAQAotRnJvbSAyNDAyZTY5YzJjY2Y3OTVkNjdiYjU1ZDdjZDA3M2U3Mzg0ZDU3YTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIldpbGxpYW0gQS4gS2VubmluZ3RvbiBJSUkiIDx3aWxsaWFtQHdrZW5uaW5ndG9uLmNvbT4KLURhdGU6IFdlZCwgMjggTm92IDIwMTggMTk6MDA6NTggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIG5ldHdvcmtkOiBTdGF0aWMgbmVpZ2hib3Igc3VwcG9ydAotCi1XaGVuIHVzaW5nIG5ldHdvcmtkIHdlIGN1cnJlbnRseSBoYXZlIG5vIHdheSBvZiBlbnN1cmluZyB0aGF0IHN0YXRpYwotbmVpZ2hib3IgZW50cmllcyBhcmUgc2V0IHdoZW4gb3VyIGxpbmsgY29tZXMgdXAuIFRoaXMgY2hhbmdlIGFkZHMgYSBuZXcKLXNlY3Rpb24gdG8gdGhlIG5ldHdvcmsgZGVmaW5pdGlvbiB0aGF0IGFsbG93cyBtdWx0aXBsZSBzdGF0aWMgbmVpZ2hib3JzCi10byBiZSBzZXQgb24gYSBsaW5rLgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlNGE3MWJmMzZmNDIyYzM3MjhiOTAyYWFhNTg0NmFkZDdiYmMwZWI5KQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0tLS0KLSBtYW4vc3lzdGVtZC5uZXR3b3JrLnhtbCAgICAgICAgICAgICAgICAgIHwgIDI1ICsrKwotIHNyYy9uZXR3b3JrL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgfCAgIDIgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyAgICAgICAgICAgICAgfCAgMzQgKysrKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCAgICAgICAgICAgICAgfCAgIDMgKwotIHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMgICAgICAgICAgfCAyMzQgKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oICAgICAgICAgIHwgIDM3ICsrKysKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIHwgICAyICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgICAgICAgICAgIHwgIDEwICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmggICAgICAgICAgIHwgICA0ICsKLSA5IGZpbGVzIGNoYW5nZWQsIDM1MSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotCi1kaWZmIC0tZ2l0IGEvbWFuL3N5c3RlbWQubmV0d29yay54bWwgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotaW5kZXggZmM4ZTBhZWE2OC4uODA0NDE5YzMxYSAxMDA2NDQKLS0tLSBhL21hbi9zeXN0ZW1kLm5ldHdvcmsueG1sCi0rKysgYi9tYW4vc3lzdGVtZC5uZXR3b3JrLnhtbAotQEAgLTg5OSw2ICs4OTksMzEgQEAKLSAgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSAgIDwvcmVmc2VjdDE+Ci0gCi0rICA8cmVmc2VjdDE+Ci0rICAgIDx0aXRsZT5bTmVpZ2hib3JdIFNlY3Rpb24gT3B0aW9uczwvdGl0bGU+Ci0rICAgICAgPHBhcmE+QSA8bGl0ZXJhbD5bTmVpZ2hib3JdPC9saXRlcmFsPiBzZWN0aW9uIGFjY2VwdHMgdGhlCi0rICAgICAgZm9sbG93aW5nIGtleXMuIFRoZSBuZWlnaGJvciBzZWN0aW9uIGFkZHMgYSBwZXJtYW5lbnQsIHN0YXRpYwotKyAgICAgIGVudHJ5IHRvIHRoZSBuZWlnaGJvciB0YWJsZSAoSVB2Nikgb3IgQVJQIHRhYmxlIChJUHY0KSBmb3IKLSsgICAgICB0aGUgZ2l2ZW4gaGFyZHdhcmUgYWRkcmVzcyBvbiB0aGUgbGlua3MgbWF0Y2hlZCBmb3IgdGhlIG5ldHdvcmsuCi0rICAgICAgU3BlY2lmeSBzZXZlcmFsIDxsaXRlcmFsPltOZWlnaGJvcl08L2xpdGVyYWw+IHNlY3Rpb25zIHRvIGNvbmZpZ3VyZQotKyAgICAgIHNldmVyYWwgc3RhdGljIG5laWdoYm9ycy48L3BhcmE+Ci0rCi0rICAgICAgPHZhcmlhYmxlbGlzdCBjbGFzcz0nbmV0d29yay1kaXJlY3RpdmVzJz4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPkFkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBJUCBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICAgIDx2YXJsaXN0ZW50cnk+Ci0rICAgICAgICAgIDx0ZXJtPjx2YXJuYW1lPk1BQ0FkZHJlc3M9PC92YXJuYW1lPjwvdGVybT4KLSsgICAgICAgICAgPGxpc3RpdGVtPgotKyAgICAgICAgICAgIDxwYXJhPlRoZSBoYXJkd2FyZSBhZGRyZXNzIG9mIHRoZSBuZWlnaGJvci48L3BhcmE+Ci0rICAgICAgICAgIDwvbGlzdGl0ZW0+Ci0rICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KLSsgICAgICA8L3ZhcmlhYmxlbGlzdD4KLSsgIDwvcmVmc2VjdDE+Ci0rCi0gICAgIDxyZWZzZWN0MT4KLSAgICAgPHRpdGxlPltJUHY2QWRkcmVzc0xhYmVsXSBTZWN0aW9uIE9wdGlvbnM8L3RpdGxlPgotIAotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL21lc29uLmJ1aWxkIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLWluZGV4IDhmNTU0NGVhMDQuLjkwMDEzMGVkNmEgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9tZXNvbi5idWlsZAotKysrIGIvc3JjL25ldHdvcmsvbWVzb24uYnVpbGQKLUBAIC02Miw2ICs2Miw4IEBAIHNvdXJjZXMgPSBmaWxlcygnJycKLSAgICAgICAgIG5ldHdvcmtkLW1hbmFnZXIuaAotICAgICAgICAgbmV0d29ya2QtbmRpc2MuYwotICAgICAgICAgbmV0d29ya2QtbmRpc2MuaAotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuYwotKyAgICAgICAgbmV0d29ya2QtbmVpZ2hib3IuaAotICAgICAgICAgbmV0d29ya2QtcmFkdi5jCi0gICAgICAgICBuZXR3b3JrZC1yYWR2LmgKLSAgICAgICAgIG5ldHdvcmtkLW5ldHdvcmstYnVzLmMKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLWluZGV4IDcxYjkyMTg1Y2QuLjUxZjk1YWM1NWUgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYwotQEAgLTE3LDYgKzE3LDcgQEAKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLW5kaXNjLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJhZHYuaCIKLSAjaW5jbHVkZSAibmV0d29ya2Qtcm91dGluZy1wb2xpY3ktcnVsZS5oIgotICNpbmNsdWRlICJzZXQuaCIKLUBAIC03MzEsNiArNzMyLDkgQEAgdm9pZCBsaW5rX2NoZWNrX3JlYWR5KExpbmsgKmxpbmspIHsKLSAgICAgICAgIGlmICghbGluay0+YWRkcmVzc2VzX2NvbmZpZ3VyZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLSsgICAgICAgIGlmICghbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQpCi0rICAgICAgICAgICAgICAgIHJldHVybjsKLSsKLSAgICAgICAgIGlmICghbGluay0+c3RhdGljX3JvdXRlc19jb25maWd1cmVkKQotICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi1AQCAtODgzLDYgKzg4NywzNCBAQCBpbnQgbGlua19yb3V0ZV9yZW1vdmVfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZQotICAgICAgICAgcmV0dXJuIDE7Ci0gfQotIAotK3N0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9uZWlnaGJvcnMoTGluayAqbGluaykgewotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobGluayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+bmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQobGluay0+c3RhdGUgIT0gX0xJTktfU1RBVEVfSU5WQUxJRCk7Ci0rCi0rICAgICAgICBsaW5rX3NldF9zdGF0ZShsaW5rLCBMSU5LX1NUQVRFX0NPTkZJR1VSSU5HKTsKLSsKLSsgICAgICAgIExJU1RfRk9SRUFDSChuZWlnaGJvcnMsIG5laWdoYm9yLCBsaW5rLT5uZXR3b3JrLT5uZWlnaGJvcnMpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5laWdoYm9yX2NvbmZpZ3VyZShuZWlnaGJvciwgbGluaywgTlVMTCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNvdWxkIG5vdCBzZXQgbmVpZ2hib3I6ICVtIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbGlua19lbnRlcl9mYWlsZWQobGluayk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlmIChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA9PSAwKSB7Ci0rICAgICAgICAgICAgICAgIGxpbmstPm5laWdoYm9yc19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgICAgICAgICAgbGlua19jaGVja19yZWFkeShsaW5rKTsKLSsgICAgICAgIH0gZWxzZQotKyAgICAgICAgICAgICAgICBsb2dfbGlua19kZWJ1ZyhsaW5rLCAiU2V0dGluZyBuZWlnaGJvcnMiKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLSBzdGF0aWMgaW50IGFkZHJlc3NfaGFuZGxlcihzZF9uZXRsaW5rICpydG5sLCBzZF9uZXRsaW5rX21lc3NhZ2UgKm0sIHZvaWQgKnVzZXJkYXRhKSB7Ci0gICAgICAgICBfY2xlYW51cF8obGlua191bnJlZnApIExpbmsgKmxpbmsgPSB1c2VyZGF0YTsKLSAgICAgICAgIGludCByOwotQEAgLTEwNjgsNiArMTEwMCw4IEBAIHN0YXRpYyBpbnQgbGlua19yZXF1ZXN0X3NldF9hZGRyZXNzZXMoTGluayAqbGluaykgewotIAotICAgICAgICAgbGlua19zZXRfc3RhdGUobGluaywgTElOS19TVEFURV9DT05GSUdVUklORyk7Ci0gCi0rICAgICAgICBsaW5rX3JlcXVlc3Rfc2V0X25laWdoYm9ycyhsaW5rKTsKLSsKLSAgICAgICAgIExJU1RfRk9SRUFDSChhZGRyZXNzZXMsIGFkLCBsaW5rLT5uZXR3b3JrLT5zdGF0aWNfYWRkcmVzc2VzKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBhZGRyZXNzX2NvbmZpZ3VyZShhZCwgbGluaywgYWRkcmVzc19oYW5kbGVyLCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotaW5kZXggNWZkODFiZTVhNS4uNDY0ZTkzZDk4MiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbGluay5oCi1AQCAtNjgsNiArNjgsNyBAQCB0eXBlZGVmIHN0cnVjdCBMaW5rIHsKLSAKLSAgICAgICAgIHVuc2lnbmVkIGFkZHJlc3NfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCBhZGRyZXNzX2xhYmVsX21lc3NhZ2VzOwotKyAgICAgICAgdW5zaWduZWQgbmVpZ2hib3JfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0ZV9tZXNzYWdlczsKLSAgICAgICAgIHVuc2lnbmVkIHJvdXRpbmdfcG9saWN5X3J1bGVfbWVzc2FnZXM7Ci0gICAgICAgICB1bnNpZ25lZCByb3V0aW5nX3BvbGljeV9ydWxlX3JlbW92ZV9tZXNzYWdlczsKLUBAIC05NSw2ICs5Niw4IEBAIHR5cGVkZWYgc3RydWN0IExpbmsgewotICAgICAgICAgYm9vbCBpcHY0bGxfYWRkcmVzczoxOwotICAgICAgICAgYm9vbCBpcHY0bGxfcm91dGU6MTsKLSAKLSsgICAgICAgIGJvb2wgbmVpZ2hib3JzX2NvbmZpZ3VyZWQ7Ci0rCi0gICAgICAgICBib29sIHN0YXRpY19yb3V0ZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgcm91dGluZ19wb2xpY3lfcnVsZXNfY29uZmlndXJlZDsKLSAgICAgICAgIGJvb2wgc2V0dGluZ19tdHU7Ci1kaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuYyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5kYjY5ZDMxMGQzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5jCi1AQCAtMCwwICsxLDIzNCBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0rI2luY2x1ZGUgImNvbmYtcGFyc2VyLmgiCi0rI2luY2x1ZGUgImV0aGVyLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJoYXNobWFwLmgiCi0rI2luY2x1ZGUgImluLWFkZHItdXRpbC5oIgotKyNpbmNsdWRlICJuZXRsaW5rLXV0aWwuaCIKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1tYW5hZ2VyLmgiCi0rI2luY2x1ZGUgIm5ldHdvcmtkLW5laWdoYm9yLmgiCi0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcikgewotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuOwotKwotKyAgICAgICAgaWYgKG5laWdoYm9yLT5uZXR3b3JrKSB7Ci0rICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKG5laWdoYm9ycywgbmVpZ2hib3ItPm5ldHdvcmstPm5laWdoYm9ycywgbmVpZ2hib3IpOwotKyAgICAgICAgICAgICAgICBhc3NlcnQobmVpZ2hib3ItPm5ldHdvcmstPm5fbmVpZ2hib3JzID4gMCk7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5uZXR3b3JrLT5uX25laWdoYm9ycy0tOwotKwotKyAgICAgICAgICAgICAgICBpZiAobmVpZ2hib3ItPnNlY3Rpb24pIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBoYXNobWFwX3JlbW92ZShuZWlnaGJvci0+bmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24sIG5laWdoYm9yLT5zZWN0aW9uKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrX2NvbmZpZ19zZWN0aW9uX2ZyZWUobmVpZ2hib3ItPnNlY3Rpb24pOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBmcmVlKG5laWdoYm9yKTsKLSt9Ci0rCi0rc3RhdGljIGludCBuZWlnaGJvcl9uZXdfc3RhdGljKE5ldHdvcmsgKm5ldHdvcmssIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsIE5laWdoYm9yICoqcmV0KSB7Ci0rICAgICAgICBfY2xlYW51cF8obmV0d29ya19jb25maWdfc2VjdGlvbl9mcmVlcCkgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKm4gPSBOVUxMOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbmVpZ2hib3IgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmV0d29yayk7Ci0rICAgICAgICBhc3NlcnQocmV0KTsKLSsgICAgICAgIGFzc2VydCghIWZpbGVuYW1lID09IChzZWN0aW9uX2xpbmUgPiAwKSk7Ci0rCi0rICAgICAgICBpZiAoZmlsZW5hbWUpIHsKLSsgICAgICAgICAgICAgICAgciA9IG5ldHdvcmtfY29uZmlnX3NlY3Rpb25fbmV3KGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKwotKyAgICAgICAgICAgICAgICBuZWlnaGJvciA9IGhhc2htYXBfZ2V0KG5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uLCBuKTsKLSsgICAgICAgICAgICAgICAgaWYgKG5laWdoYm9yKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotKwotKyAgICAgICAgbmVpZ2hib3IgPSBuZXcoTmVpZ2hib3IsIDEpOwotKyAgICAgICAgaWYgKCFuZWlnaGJvcikKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0rICAgICAgICAqbmVpZ2hib3IgPSAoTmVpZ2hib3IpIHsKLSsgICAgICAgICAgICAgICAgLm5ldHdvcmsgPSBuZXR3b3JrLAotKyAgICAgICAgICAgICAgICAuZmFtaWx5ID0gQUZfVU5TUEVDLAotKyAgICAgICAgfTsKLSsKLSsgICAgICAgIExJU1RfQVBQRU5EKG5laWdoYm9ycywgbmV0d29yay0+bmVpZ2hib3JzLCBuZWlnaGJvcik7Ci0rICAgICAgICBuZXR3b3JrLT5uX25laWdoYm9ycysrOwotKwotKyAgICAgICAgaWYgKGZpbGVuYW1lKSB7Ci0rICAgICAgICAgICAgICAgIG5laWdoYm9yLT5zZWN0aW9uID0gVEFLRV9QVFIobik7Ci0rCi0rICAgICAgICAgICAgICAgIHIgPSBoYXNobWFwX3B1dChuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiwgbmVpZ2hib3ItPnNlY3Rpb24sIG5laWdoYm9yKTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotKwotKyAgICAgICAgKnJldCA9IFRBS0VfUFRSKG5laWdoYm9yKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStzdGF0aWMgaW50IG5laWdoYm9yX2hhbmRsZXIoc2RfbmV0bGluayAqcnRubCwgc2RfbmV0bGlua19tZXNzYWdlICptLCB2b2lkICp1c2VyZGF0YSkgewotKyAgICAgICAgX2NsZWFudXBfKGxpbmtfdW5yZWZwKSBMaW5rICpsaW5rID0gdXNlcmRhdGE7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChsaW5rKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5uZWlnaGJvcl9tZXNzYWdlcyA+IDApOwotKwotKyAgICAgICAgbGluay0+bmVpZ2hib3JfbWVzc2FnZXMtLTsKLSsKLSsgICAgICAgIGlmIChJTl9TRVQobGluay0+c3RhdGUsIExJTktfU1RBVEVfRkFJTEVELCBMSU5LX1NUQVRFX0xJTkdFUikpCi0rICAgICAgICAgICAgICAgIHJldHVybiAxOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9nZXRfZXJybm8obSk7Ci0rICAgICAgICBpZiAociA8IDAgJiYgciAhPSAtRUVYSVNUKQotKyAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDb3VsZCBub3Qgc2V0IG5laWdoYm9yOiAlbSIpOwotKwotKyAgICAgICAgaWYgKGxpbmstPm5laWdoYm9yX21lc3NhZ2VzID09IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX2xpbmtfZGVidWcobGluaywgIk5laWdoYm9ycyBzZXQiKTsKLSsgICAgICAgICAgICAgICAgbGluay0+bmVpZ2hib3JzX2NvbmZpZ3VyZWQgPSB0cnVlOwotKyAgICAgICAgICAgICAgICBsaW5rX2NoZWNrX3JlYWR5KGxpbmspOwotKyAgICAgICAgfQotKwotKyAgICAgICAgcmV0dXJuIDE7Ci0rfQotKwotK2ludCBuZWlnaGJvcl9jb25maWd1cmUoTmVpZ2hib3IgKm5laWdoYm9yLCBMaW5rICpsaW5rLCBzZF9uZXRsaW5rX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrKSB7Ci0rICAgICAgICBfY2xlYW51cF8oc2RfbmV0bGlua19tZXNzYWdlX3VucmVmcCkgc2RfbmV0bGlua19tZXNzYWdlICpyZXEgPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQobmVpZ2hib3IpOwotKyAgICAgICAgYXNzZXJ0KGxpbmspOwotKyAgICAgICAgYXNzZXJ0KGxpbmstPmlmaW5kZXggPiAwKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyKTsKLSsgICAgICAgIGFzc2VydChsaW5rLT5tYW5hZ2VyLT5ydG5sKTsKLSsKLSsgICAgICAgIGlmIChuZWlnaGJvci0+ZmFtaWx5ID09IEFGX1VOU1BFQykKLSsgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhFSU5WQUwsICJOZWlnaGJvciB3aXRob3V0IEFkZHJlc3M9IGNvbmZpZ3VyZWQiKTsKLSsgICAgICAgIGlmICghbmVpZ2hib3ItPm1hY19jb25maWd1cmVkKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGhvdXQgTUFDQWRkcmVzcz0gY29uZmlndXJlZCIpOwotKwotKyAgICAgICAgciA9IHNkX3J0bmxfbWVzc2FnZV9uZXdfbmVpZ2gobGluay0+bWFuYWdlci0+cnRubCwgJnJlcSwgUlRNX05FV05FSUdILAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmstPmlmaW5kZXgsIG5laWdoYm9yLT5mYW1pbHkpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYWxsb2NhdGUgUlRNX05FV05FSUdIIG1lc3NhZ2U6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfcnRubF9tZXNzYWdlX25laWdoX3NldF9zdGF0ZShyZXEsIE5VRF9QRVJNQU5FTlQpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2V0IHN0YXRlOiAlbSIpOwotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfbWVzc2FnZV9zZXRfZmxhZ3MocmVxLCBOTE1fRl9SRVFVRVNUIHwgTkxNX0ZfQ1JFQVRFIHwgTkxNX0ZfUkVQTEFDRSk7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkNvdWxkIG5vdCBzZXQgZmxhZ3M6ICVtIik7Ci0rCi0rICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9ldGhlcl9hZGRyKHJlcSwgTkRBX0xMQUREUiwgJm5laWdoYm9yLT5tYWMpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3QgYXBwZW5kIE5EQV9MTEFERFIgYXR0cmlidXRlOiAlbSIpOwotKwotKyAgICAgICAgc3dpdGNoIChuZWlnaGJvci0+ZmFtaWx5KSB7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ2OgotKyAgICAgICAgICAgICAgICByID0gc2RfbmV0bGlua19tZXNzYWdlX2FwcGVuZF9pbjZfYWRkcihyZXEsIE5EQV9EU1QsICZuZWlnaGJvci0+aW5fYWRkci5pbjYpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBjYXNlIEFGX0lORVQ6Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9uZXRsaW5rX21lc3NhZ2VfYXBwZW5kX2luX2FkZHIocmVxLCBOREFfRFNULCAmbmVpZ2hib3ItPmluX2FkZHIuaW4pOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiQ291bGQgbm90IGFwcGVuZCBOREFfRFNUIGF0dHJpYnV0ZTogJW0iKTsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKEVJTlZBTCwgIk5laWdoYm9yIHdpdGggaW52YWxpZCBhZGRyZXNzIGZhbWlseSIpOwotKyAgICAgICAgfQotKwotKyAgICAgICAgciA9IHNkX25ldGxpbmtfY2FsbF9hc3luYyhsaW5rLT5tYW5hZ2VyLT5ydG5sLCByZXEsIGNhbGxiYWNrID86IG5laWdoYm9yX2hhbmRsZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmssIDAsIE5VTEwpOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJDb3VsZCBub3Qgc2VuZCBydG5ldGxpbmsgbWVzc2FnZTogJW0iKTsKLSsKLSsgICAgICAgIGxpbmstPm5laWdoYm9yX21lc3NhZ2VzKys7Ci0rICAgICAgICBsaW5rX3JlZihsaW5rKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MoY29uc3QgY2hhciAqdW5pdCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmlsZW5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnNlY3Rpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNlY3Rpb25fbGluZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbHR5cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJ2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdXNlcmRhdGEpIHsKLSsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcmsgPSB1c2VyZGF0YTsKLSsgICAgICAgIF9jbGVhbnVwXyhuZWlnaGJvcl9mcmVlcCkgTmVpZ2hib3IgKm4gPSBOVUxMOwotKyAgICAgICAgaW50IHI7Ci0rCi0rICAgICAgICBhc3NlcnQoZmlsZW5hbWUpOwotKyAgICAgICAgYXNzZXJ0KHNlY3Rpb24pOwotKyAgICAgICAgYXNzZXJ0KGx2YWx1ZSk7Ci0rICAgICAgICBhc3NlcnQocnZhbHVlKTsKLSsgICAgICAgIGFzc2VydChkYXRhKTsKLSsKLSsgICAgICAgIHIgPSBuZWlnaGJvcl9uZXdfc3RhdGljKG5ldHdvcmssIGZpbGVuYW1lLCBzZWN0aW9uX2xpbmUsICZuKTsKLSsgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0rCi0rICAgICAgICByID0gaW5fYWRkcl9mcm9tX3N0cmluZ19hdXRvKHJ2YWx1ZSwgJm4tPmZhbWlseSwgJm4tPmluX2FkZHIpOwotKyAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICAgICAgICAgIGxvZ19zeW50YXgodW5pdCwgTE9HX0VSUiwgZmlsZW5hbWUsIGxpbmUsIHIsICJOZWlnaGJvciBBZGRyZXNzIGlzIGludmFsaWQsIGlnbm9yaW5nIGFzc2lnbm1lbnQ6ICVzIiwgcnZhbHVlKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBUQUtFX1BUUihuKTsKLSsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStpbnQgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkcihjb25zdCBjaGFyICp1bml0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc2VjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzZWN0aW9uX2xpbmUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsdHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpydmFsdWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp1c2VyZGF0YSkgewotKwotKyAgICAgICAgTmV0d29yayAqbmV0d29yayA9IHVzZXJkYXRhOwotKyAgICAgICAgX2NsZWFudXBfKG5laWdoYm9yX2ZyZWVwKSBOZWlnaGJvciAqbiA9IE5VTEw7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIGFzc2VydChmaWxlbmFtZSk7Ci0rICAgICAgICBhc3NlcnQoc2VjdGlvbik7Ci0rICAgICAgICBhc3NlcnQobHZhbHVlKTsKLSsgICAgICAgIGFzc2VydChydmFsdWUpOwotKyAgICAgICAgYXNzZXJ0KGRhdGEpOwotKwotKyAgICAgICAgciA9IG5laWdoYm9yX25ld19zdGF0aWMobmV0d29yaywgZmlsZW5hbWUsIHNlY3Rpb25fbGluZSwgJm4pOwotKyAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsKLSsgICAgICAgIHIgPSBldGhlcl9hZGRyX2Zyb21fc3RyaW5nKHJ2YWx1ZSwgJm4tPm1hYyk7Ci0rICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICAgICAgbG9nX3N5bnRheCh1bml0LCBMT0dfRVJSLCBmaWxlbmFtZSwgbGluZSwgciwgIk5laWdoYm9yIE1BQ0FkZHJlc3MgaXMgaW52YWxpZCwgaWdub3JpbmcgYXNzaWdubWVudDogJXMiLCBydmFsdWUpOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIG4tPm1hY19jb25maWd1cmVkID0gdHJ1ZTsKLSsgICAgICAgIFRBS0VfUFRSKG4pOwotKwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5laWdoYm9yLmggYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZWlnaGJvci5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMC4uMzBhMWY4ZmUyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmVpZ2hib3IuaAotQEAgLTAsMCArMSwzNyBAQAotKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSsjcHJhZ21hIG9uY2UKLSsKLSsjaW5jbHVkZSAic2QtbmV0bGluay5oIgotKwotKyNpbmNsdWRlICJjb25mLXBhcnNlci5oIgotKyNpbmNsdWRlICJldGhlci1hZGRyLXV0aWwuaCIKLSsjaW5jbHVkZSAiaW4tYWRkci11dGlsLmgiCi0rI2luY2x1ZGUgImxpc3QuaCIKLSsjaW5jbHVkZSAibWFjcm8uaCIKLSsKLSt0eXBlZGVmIHN0cnVjdCBOZWlnaGJvciBOZWlnaGJvcjsKLSsKLSsjaW5jbHVkZSAibmV0d29ya2QtbGluay5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZXR3b3JrLmgiCi0rCi0rc3RydWN0IE5laWdoYm9yIHsKLSsgICAgICAgIE5ldHdvcmsgKm5ldHdvcms7Ci0rICAgICAgICBMaW5rICpsaW5rOwotKyAgICAgICAgTmV0d29ya0NvbmZpZ1NlY3Rpb24gKnNlY3Rpb247Ci0rCi0rICAgICAgICBpbnQgZmFtaWx5OwotKyAgICAgICAgdW5pb24gaW5fYWRkcl91bmlvbiBpbl9hZGRyOwotKyAgICAgICAgYm9vbCBtYWNfY29uZmlndXJlZDsKLSsgICAgICAgIHN0cnVjdCBldGhlcl9hZGRyIG1hYzsKLSsKLSsgICAgICAgIExJU1RfRklFTERTKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotK307Ci0rCi0rdm9pZCBuZWlnaGJvcl9mcmVlKE5laWdoYm9yICpuZWlnaGJvcik7Ci0rCi0rREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKE5laWdoYm9yKiwgbmVpZ2hib3JfZnJlZSk7Ci0rCi0raW50IG5laWdoYm9yX2NvbmZpZ3VyZShOZWlnaGJvciAqbmVpZ2hib3IsIExpbmsgKmxpbmssIHNkX25ldGxpbmtfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2spOwotKwotK0NPTkZJR19QQVJTRVJfUFJPVE9UWVBFKGNvbmZpZ19wYXJzZV9uZWlnaGJvcl9hZGRyZXNzKTsKLStDT05GSUdfUEFSU0VSX1BST1RPVFlQRShjb25maWdfcGFyc2VfbmVpZ2hib3JfaHdhZGRyKTsKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLWdwZXJmLmdwZXJmIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay1ncGVyZi5ncGVyZgotaW5kZXggNmFkNTI1N2Y3OS4uMTg0MDUxNDlhNCAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmstZ3BlcmYuZ3BlcmYKLUBAIC05Myw2ICs5Myw4IEBAIEFkZHJlc3MuQXV0b0pvaW4sICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGFyc2VfYWRkcmVzc19mbGFncywKLSBBZGRyZXNzLlNjb3BlLCAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3Nfc2NvcGUsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLlByZWZpeCwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWxfcHJlZml4LCAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBJUHY2QWRkcmVzc0xhYmVsLkxhYmVsLCAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX2FkZHJlc3NfbGFiZWwsICAgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5BZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2FkZHJlc3MsICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLStOZWlnaGJvci5NQUNBZGRyZXNzLCAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX25laWdoYm9yX2h3YWRkciwgICAgICAgICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UeXBlT2ZTZXJ2aWNlLCAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdG9zLCAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5Qcmlvcml0eSwgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfcHJpb3JpdHksICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLSBSb3V0aW5nUG9saWN5UnVsZS5UYWJsZSwgICAgICAgICAgICAgICAgY29uZmlnX3BhcnNlX3JvdXRpbmdfcG9saWN5X3J1bGVfdGFibGUsICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAKLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLWluZGV4IDQyOWFhYzVlNmMuLmEzYjhmMGNlYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1uZXR3b3JrLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuYwotQEAgLTE1OCw2ICsxNTgsMTAgQEAgc3RhdGljIGludCBuZXR3b3JrX2xvYWRfb25lKE1hbmFnZXIgKm1hbmFnZXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKSB7Ci0gICAgICAgICBpZiAoIW5ldHdvcmstPmZkYl9lbnRyaWVzX2J5X3NlY3Rpb24pCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0rICAgICAgICBuZXR3b3JrLT5uZWlnaGJvcnNfYnlfc2VjdGlvbiA9IGhhc2htYXBfbmV3KCZuZXR3b3JrX2NvbmZpZ19oYXNoX29wcyk7Ci0rICAgICAgICBpZiAoIW5ldHdvcmstPm5laWdoYm9yc19ieV9zZWN0aW9uKQotKyAgICAgICAgICAgICAgICBsb2dfb29tKCk7Ci0rCi0gICAgICAgICBuZXR3b3JrLT5hZGRyZXNzX2xhYmVsc19ieV9zZWN0aW9uID0gaGFzaG1hcF9uZXcoJm5ldHdvcmtfY29uZmlnX2hhc2hfb3BzKTsKLSAgICAgICAgIGlmICghbmV0d29yay0+YWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbikKLSAgICAgICAgICAgICAgICAgbG9nX29vbSgpOwotQEAgLTI1Niw2ICsyNjAsNyBAQCBzdGF0aWMgaW50IG5ldHdvcmtfbG9hZF9vbmUoTWFuYWdlciAqbWFuYWdlciwgY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGlua1wwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZXR3b3JrXDAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFkZHJlc3NcMCIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVpZ2hib3JcMCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSVB2NkFkZHJlc3NMYWJlbFwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0aW5nUG9saWN5UnVsZVwwIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3V0ZVwwIgotQEAgLTM0MCw2ICszNDUsNyBAQCB2b2lkIG5ldHdvcmtfZnJlZShOZXR3b3JrICpuZXR3b3JrKSB7Ci0gICAgICAgICBJUHY2UHJveHlORFBBZGRyZXNzICppcHY2X3Byb3h5X25kcF9hZGRyZXNzOwotICAgICAgICAgUm91dGluZ1BvbGljeVJ1bGUgKnJ1bGU7Ci0gICAgICAgICBGZGJFbnRyeSAqZmRiX2VudHJ5OwotKyAgICAgICAgTmVpZ2hib3IgKm5laWdoYm9yOwotICAgICAgICAgQWRkcmVzc0xhYmVsICpsYWJlbDsKLSAgICAgICAgIFByZWZpeCAqcHJlZml4OwotICAgICAgICAgQWRkcmVzcyAqYWRkcmVzczsKLUBAIC0zOTMsNiArMzk5LDkgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgd2hpbGUgKChpcHY2X3Byb3h5X25kcF9hZGRyZXNzID0gbmV0d29yay0+aXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzKSkKLSAgICAgICAgICAgICAgICAgaXB2Nl9wcm94eV9uZHBfYWRkcmVzc19mcmVlKGlwdjZfcHJveHlfbmRwX2FkZHJlc3MpOwotIAotKyAgICAgICAgd2hpbGUgKChuZWlnaGJvciA9IG5ldHdvcmstPm5laWdoYm9ycykpCi0rICAgICAgICAgICAgICAgIG5laWdoYm9yX2ZyZWUobmVpZ2hib3IpOwotKwotICAgICAgICAgd2hpbGUgKChsYWJlbCA9IG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzKSkKLSAgICAgICAgICAgICAgICAgYWRkcmVzc19sYWJlbF9mcmVlKGxhYmVsKTsKLSAKLUBAIC00MDUsNiArNDE0LDcgQEAgdm9pZCBuZXR3b3JrX2ZyZWUoTmV0d29yayAqbmV0d29yaykgewotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3Nlc19ieV9zZWN0aW9uKTsKLSAgICAgICAgIGhhc2htYXBfZnJlZShuZXR3b3JrLT5yb3V0ZXNfYnlfc2VjdGlvbik7Ci0gICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+ZmRiX2VudHJpZXNfYnlfc2VjdGlvbik7Ci0rICAgICAgICBoYXNobWFwX2ZyZWUobmV0d29yay0+bmVpZ2hib3JzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPmFkZHJlc3NfbGFiZWxzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnByZWZpeGVzX2J5X3NlY3Rpb24pOwotICAgICAgICAgaGFzaG1hcF9mcmVlKG5ldHdvcmstPnJ1bGVzX2J5X3NlY3Rpb24pOwotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaCBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotaW5kZXggMmQ0NmQzOTNhYy4uOGRmMTgzMjZiYiAxMDA2NDQKLS0tLSBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLW5ldHdvcmsuaAotKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtbmV0d29yay5oCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlICJuZXR3b3JrZC1mZGIuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuaCIKLSAjaW5jbHVkZSAibmV0d29ya2QtbGxkcC10eC5oIgotKyNpbmNsdWRlICJuZXR3b3JrZC1uZWlnaGJvci5oIgotICNpbmNsdWRlICJuZXR3b3JrZC1yYWR2LmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRlLmgiCi0gI2luY2x1ZGUgIm5ldHdvcmtkLXJvdXRpbmctcG9saWN5LXJ1bGUuaCIKLUBAIC0yMjksNiArMjMwLDcgQEAgc3RydWN0IE5ldHdvcmsgewotICAgICAgICAgTElTVF9IRUFEKFJvdXRlLCBzdGF0aWNfcm91dGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChGZGJFbnRyeSwgc3RhdGljX2ZkYl9lbnRyaWVzKTsKLSAgICAgICAgIExJU1RfSEVBRChJUHY2UHJveHlORFBBZGRyZXNzLCBpcHY2X3Byb3h5X25kcF9hZGRyZXNzZXMpOwotKyAgICAgICAgTElTVF9IRUFEKE5laWdoYm9yLCBuZWlnaGJvcnMpOwotICAgICAgICAgTElTVF9IRUFEKEFkZHJlc3NMYWJlbCwgYWRkcmVzc19sYWJlbHMpOwotICAgICAgICAgTElTVF9IRUFEKFByZWZpeCwgc3RhdGljX3ByZWZpeGVzKTsKLSAgICAgICAgIExJU1RfSEVBRChSb3V0aW5nUG9saWN5UnVsZSwgcnVsZXMpOwotQEAgLTIzNyw2ICsyMzksNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19yb3V0ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3N0YXRpY19mZGJfZW50cmllczsKLSAgICAgICAgIHVuc2lnbmVkIG5faXB2Nl9wcm94eV9uZHBfYWRkcmVzc2VzOwotKyAgICAgICAgdW5zaWduZWQgbl9uZWlnaGJvcnM7Ci0gICAgICAgICB1bnNpZ25lZCBuX2FkZHJlc3NfbGFiZWxzOwotICAgICAgICAgdW5zaWduZWQgbl9zdGF0aWNfcHJlZml4ZXM7Ci0gICAgICAgICB1bnNpZ25lZCBuX3J1bGVzOwotQEAgLTI0NCw2ICsyNDcsNyBAQCBzdHJ1Y3QgTmV0d29yayB7Ci0gICAgICAgICBIYXNobWFwICphZGRyZXNzZXNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnJvdXRlc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqZmRiX2VudHJpZXNfYnlfc2VjdGlvbjsKLSsgICAgICAgIEhhc2htYXAgKm5laWdoYm9yc19ieV9zZWN0aW9uOwotICAgICAgICAgSGFzaG1hcCAqYWRkcmVzc19sYWJlbHNfYnlfc2VjdGlvbjsKLSAgICAgICAgIEhhc2htYXAgKnByZWZpeGVzX2J5X3NlY3Rpb247Ci0gICAgICAgICBIYXNobWFwICpydWxlc19ieV9zZWN0aW9uOwotLS0gCi0yLjIwLjEuOTcuZzgxMTg4ZDkzYzMtZ29vZwotCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2ggYi9tZXRhLXBob3NwaG9yL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1jb3JlLWZpeC10aGUtY2hlY2staWYtQ09ORklHX0NHUk9VUF9CUEYtaXMtb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2NDUxMDAuLjAwMDAwMDAKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotRnJvbSA0ZWE3OWMxOGYxZTIwODFkNTllYWEwZjFkZjQ3OWRiYzc3MDA3NzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotRGF0ZTogU3VuLCAxNiBEZWMgMjAxOCAxODoyNzowNiAtMDgwMAotU3ViamVjdDogW1BBVENIXSBjb3JlOiBmaXggdGhlIGNoZWNrIGlmIENPTkZJR19DR1JPVVBfQlBGIGlzIG9uCi0KLVNpbmNlIHRoZSBjb21taXQgdG9ydmFsZHMvbGludXhAZmRiNWM0NTMxYzFlMGU1MGU2MDlkZjgzZjczNmI2ZjNhMDI4OTZlMgotdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHJldHVybiBFQkFERiB3aGVuIENPTkZJR19DR1JPVVBfQlBGIGlzCi10dXJuZWQgb2ZmIGFuZCBhcyByZXN1bHQgdGhlIGJwZl9maXJld2FsbF9zdXBwb3J0ZWQoKSByZXR1cm5zIHRoZQotaW5jb3JyZWN0IHZhbHVlLgotCi1UaGlzIGNvbW1taXQgcmVwbGFjZXMgdGhlIHN5c2NhbGwgQlBGX1BST0dfQVRUQUNIIHdpdGggQlBGX1BST0dfREVUQUNICi13aGljaCBpcyBzdGlsbCB3b3JrIGFzIGV4cGVjdGVkLgotCi1SZXNvbHZlcyBvcGVuYm1jL2xpbnV4IzE1OQotU2VlIGFsc28gc3lzdGVtZC9zeXN0ZW1kIzcwNTQKLQotT3JpZ2luYWxseSB3cml0dGVuIGJ5OgotQWxleGFuZGVyIEZpbGlwcG92IDxhLmZpbGlwcG92QHlhZHJvLmNvbT4KLQotU2lnbmVkLW9mZi1ieTogRWQgVGFub3VzIDxlZC50YW5vdXNAaW50ZWwuY29tPgotLS0tCi0gc3JjL2NvcmUvYnBmLWZpcmV3YWxsLmMgfCAxNCArKysrKysrLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29yZS9icGYtZmlyZXdhbGwuYyBiL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi1pbmRleCA4YjY2ZWY3M2QuLmU2OGI3MGQwYyAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2JwZi1maXJld2FsbC5jCi0rKysgYi9zcmMvY29yZS9icGYtZmlyZXdhbGwuYwotQEAgLTY2MCw3ICs2NjAsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgKiBiKSB3aGV0aGVyIHRoZSB1bmlmaWVkIGhpZXJhcmNoeSBpcyBiZWluZyB1c2VkCi0gICAgICAgICAgKiBjKSB0aGUgQlBGIGltcGxlbWVudGF0aW9uIGluIHRoZSBrZXJuZWwgc3VwcG9ydHMgQlBGIExQTSBUUklFIG1hcHMsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqIGQpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyBCUEZfUFJPR19UWVBFX0NHUk9VUF9TS0IgcHJvZ3JhbXMsIHdoaWNoIHdlIHJlcXVpcmUKLS0gICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfQVRUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSsgICAgICAgICAqIGUpIHRoZSBCUEYgaW1wbGVtZW50YXRpb24gaW4gdGhlIGtlcm5lbCBzdXBwb3J0cyB0aGUgQlBGX1BST0dfREVUQUNIIGNhbGwsIHdoaWNoIHdlIHJlcXVpcmUKLSAgICAgICAgICAqCi0gICAgICAgICAgKi8KLSAKLUBAIC03MTQsNyArNzE0LDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotICAgICAgICAgICogaXMgdHVybmVkIG9mZiBhdCBrZXJuZWwgY29tcGlsYXRpb24gdGltZS4gVGhpcyBzdWNrcyBvZiBjb3Vyc2U6IHdoeSBkb2VzIGl0IGFsbG93IHVzIHRvIGNyZWF0ZSBhIGNncm91cCBCUEYKLSAgICAgICAgICAqIHByb2dyYW0gaWYgd2UgY2FuJ3QgZG8gYSB0aGluZyB3aXRoIGl0IGxhdGVyPwotICAgICAgICAgICoKLS0gICAgICAgICAqIFdlIGRldGVjdCB0aGlzIGNhc2UgYnkgaXNzdWluZyB0aGUgQlBGX1BST0dfQVRUQUNIIGJwZigpIGNhbGwgd2l0aCBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcnM6IGlmCi0rICAgICAgICAgKiBXZSBkZXRlY3QgdGhpcyBjYXNlIGJ5IGlzc3VpbmcgdGhlIEJQRl9QUk9HX0RFVEFDSCBicGYoKSBjYWxsIHdpdGggaW52YWxpZCBmaWxlIGRlc2NyaXB0b3JzOiBpZgotICAgICAgICAgICogQ09ORklHX0NHUk9VUF9CUEYgaXMgdHVybmVkIG9mZiwgdGhlbiB0aGUgY2FsbCB3aWxsIGZhaWwgZWFybHkgd2l0aCBFSU5WQUwuIElmIGl0IGlzIHR1cm5lZCBvbiB0aGUKLSAgICAgICAgICAqIHBhcmFtZXRlcnMgYXJlIHZhbGlkYXRlZCBob3dldmVyLCBhbmQgdGhhdCdsbCBmYWlsIHdpdGggRUJBREYgdGhlbi4gKi8KLSAKLUBAIC03MjQsMTUgKzcyNCwxNSBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfYnBmX2ZkID0gLTEsCi0gICAgICAgICB9OwotIAotLSAgICAgICAgaWYgKGJwZihCUEZfUFJPR19BVFRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotKyAgICAgICAgaWYgKGJwZihCUEZfUFJPR19ERVRBQ0gsICZhdHRyLCBzaXplb2YoYXR0cikpIDwgMCkgewotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUJBREYpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfQVRUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8oZXJybm8sICJEaWRuJ3QgZ2V0IEVCQURGIGZyb20gQlBGX1BST0dfREVUQUNILCBCUEYgZmlyZXdhbGxpbmcgaXMgbm90IHN1cHBvcnRlZDogJW0iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgICAgICAgICB9Ci0gCi0gICAgICAgICAgICAgICAgIC8qIFlBWSEgKi8KLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0ggY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIAotQEAgLTc0OCw3ICs3NDgsNyBAQCBpbnQgYnBmX2ZpcmV3YWxsX3N1cHBvcnRlZCh2b2lkKSB7Ci0gICAgICAgICAgICAgICAgIC5hdHRhY2hfZmxhZ3MgPSBCUEZfRl9BTExPV19NVUxUSSwKLSAgICAgICAgIH07Ci0gCi0tICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0FUVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0rICAgICAgICBpZiAoYnBmKEJQRl9QUk9HX0RFVEFDSCwgJmF0dHIsIHNpemVvZihhdHRyKSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFQkFERikgewotICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhlcnJubywgIkdvdCBFQkFERiB3aGVuIHVzaW5nIEJQRl9GX0FMTE9XX01VTFRJLCB3aGljaCBpbmRpY2F0ZXMgaXQgaXMgc3VwcG9ydGVkLiBZYXkhIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1cHBvcnRlZCA9IEJQRl9GSVJFV0FMTF9TVVBQT1JURURfV0lUSF9NVUxUSTsKLUBAIC03NjEsNyArNzYxLDcgQEAgaW50IGJwZl9maXJld2FsbF9zdXBwb3J0ZWQodm9pZCkgewotIAotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1NVUFBPUlRFRDsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiV3V0PyBLZXJuZWwgYWNjZXB0ZWQgb3VyIGludmFsaWQgQlBGX1BST0dfQVRUQUNIK0JQRl9GX0FMTE9XX01VTFRJIGNhbGw/IFNvbWV0aGluZyBpcyB3ZWlyZCwgYXNzdW1pbmcgQlBGIGZpcmV3YWxsaW5nIGlzIGJyb2tlbiBhbmQgaGVuY2Ugbm90IHN1cHBvcnRlZC4iKTsKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJXdXQ/IEtlcm5lbCBhY2NlcHRlZCBvdXIgaW52YWxpZCBCUEZfUFJPR19ERVRBQ0grQlBGX0ZfQUxMT1dfTVVMVEkgY2FsbD8gU29tZXRoaW5nIGlzIHdlaXJkLCBhc3N1bWluZyBCUEYgZmlyZXdhbGxpbmcgaXMgYnJva2VuIGFuZCBoZW5jZSBub3Qgc3VwcG9ydGVkLiIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gc3VwcG9ydGVkID0gQlBGX0ZJUkVXQUxMX1VOU1VQUE9SVEVEOwotICAgICAgICAgfQotIH0KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8lLmJiYXBwZW5kIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKaW5kZXggNjgwZjRmNi4uZmE2YTdlZCAxMDA2NDQKLS0tIGEvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKKysrIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXyUuYmJhcHBlbmQKQEAgLTEsMjMgKzEsMTMgQEAKIEZJTEVTXyR7UE59LWNhdGFsb2ctZXh0cmFsb2NhbGVzID0gXAogICAgICAgICAgICAgIiR7ZXhlY19wcmVmaXh9L2xpYi9zeXN0ZW1kL2NhdGFsb2cvKi4qLmNhdGFsb2ciCiBQQUNLQUdFUyA9KyAiJHtQTn0tY2F0YWxvZy1leHRyYWxvY2FsZXMiCi1QQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBoaWJlcm5hdGUgaW1hIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZWQgbG9naW5kIG1hY2hpbmVkIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgdmNvbnNvbGUiCitQQUNLQUdFQ09ORklHX3JlbW92ZSA9ICJiYWNrbGlnaHQgYmluZm10IGZpcnN0Ym9vdCBnc2hhZG93IGhpYmVybmF0ZSBpbWEgXAorICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlZCBsb2dpbmQgbWFjaGluZWQgbnNzIG5zcy1teW1hY2hpbmVzIG5zcy1yZXNvbHZlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvbGtpdCBxdW90YWNoZWNrIHNtYWNrIHV0bXAgdmNvbnNvbGUiCisKIEZJTEVTRVhUUkFQQVRIU19hcHBlbmQgOj0gIiR7VEhJU0RJUn0vJHtQTn06IgogU1JDX1VSSSArPSAiZmlsZTovL2RlZmF1bHQubmV0d29yayIKIFNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXNkLWJ1cy1Eb24tdC1hdXRvbWF0aWNhbGx5LWFkZC1PYmplY3RNYW5hZ2VyLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDYtY29yZS1maXgtdGhlLWNoZWNrLWlmLUNPTkZJR19DR1JPVVBfQlBGLWlzLW9uLnBhdGNoIgotCi0jIFN0YXRpYyBuZWlnaGJvciBzdXBwb3J0IGluY2x1ZGVkIGluIHYyNDAgc28gcmVtb3ZlIHdoZW4gdXBkYXRlZAotU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtbmV0d29ya2QtVHJhY2stYWRkcmVzcy1jb25maWd1cmF0aW9uLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItbmV0d29ya2QtVXNlLW9ubHktYS1nZW5lcmljLUNPTkZJR1VSSU5HLXN0YXRlLnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDMtbmV0d29ya2QtU3RhdGljLW5laWdoYm9yLXN1cHBvcnQucGF0Y2giCi0KLSMgRml4ZXMgZnJvbSB1cHN0cmVhbSBmb3Igb3BlbmJtYy9vcGVuYm1jIzM0NTkKLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpbWVkYXRlLWRlZmVyLXRoZS1wcm9wZXJ0eS1jaGFuZ2VkLXNpZ25hbC11bnRpbC1qb2IucGF0Y2giCi1TUkNfVVJJICs9ICJmaWxlOi8vMDAwMS10aW1lZGF0ZS10cmVhdC1hY3RpdmF0aW5nLW9yLWluYWN0aXZhdGluZy1OVFAtY2xpZW50LnBhdGNoIgotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItdGltZWRhdGUtcmVmdXNlLXRvLXNldC10aW1lLXdoZW4tcHJldmlvdXMtcmVxdWVzdC1pcy5wYXRjaCIKIAogUlJFQ09NTUVORFNfJHtQTn0gKz0gIm9ibWMtdGFyZ2V0cyIKIEZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0vbmV0d29yay9kZWZhdWx0Lm5ldHdvcmsiCmRpZmYgLS1naXQgYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiIGIvbWV0YS1waG9zcGhvci9yZWNpcGVzLXBob3NwaG9yL21ydy9tcnctYXBpLW5hdGl2ZS5iYgppbmRleCAxZDI3N2NmLi5iOGMzMTFiIDEwMDY0NAotLS0gYS9tZXRhLXBob3NwaG9yL3JlY2lwZXMtcGhvc3Bob3IvbXJ3L21ydy1hcGktbmF0aXZlLmJiCisrKyBiL21ldGEtcGhvc3Bob3IvcmVjaXBlcy1waG9zcGhvci9tcncvbXJ3LWFwaS1uYXRpdmUuYmIKQEAgLTE3LDYgKzE3LDYgQEAKIFNSQ1JFViA9ICIke01SV19BUElfU1JDUkVWfSIKIAogZG9faW5zdGFsbCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vcGVybC9zaXRlX3BlcmwvJHtQRVJMVkVSU0lPTn0vbXJ3Ci0gICAgaW5zdGFsbCAtbSAwNzU1IHNjcmlwdHMvVGFyZ2V0cy5wbSAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3Blcmwvc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCisgICAgaW5zdGFsbCAtZCAke0R9JHtQRVJMTElCRElSU19jbGFzcy1uYXRpdmV9L3NpdGVfcGVybC8ke1BFUkxWRVJTSU9OfS9tcncKKyAgICBpbnN0YWxsIC1tIDA3NTUgc2NyaXB0cy9UYXJnZXRzLnBtICR7RH0ke1BFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZX0vc2l0ZV9wZXJsLyR7UEVSTFZFUlNJT059L21ydy9UYXJnZXRzLnBtCiB9CmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzIGIvbWV0YS1yYXNwYmVycnlwaS9jbGFzc2VzL3NkY2FyZF9pbWFnZS1ycGkuYmJjbGFzcwppbmRleCBkNjNhMjQwLi41Mzg4MDNkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NsYXNzZXMvc2RjYXJkX2ltYWdlLXJwaS5iYmNsYXNzCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY2xhc3Nlcy9zZGNhcmRfaW1hZ2UtcnBpLmJiY2xhc3MKQEAgLTY0LDEzICs2NCw2IEBACiAjIFNEIGNhcmQgaW1hZ2UgbmFtZQogU0RJTUcgPSAiJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTkFNRX0ucm9vdGZzLnJwaS1zZGltZyIKIAotIyBDb21wcmVzc2lvbiBtZXRob2QgdG8gYXBwbHkgdG8gU0RJTUcgYWZ0ZXIgaXQgaGFzIGJlZW4gY3JlYXRlZC4gU3VwcG9ydGVkCi0jIGNvbXByZXNzaW9uIGZvcm1hdHMgYXJlICJnemlwIiwgImJ6aXAyIiBvciAieHoiLiBUaGUgb3JpZ2luYWwgLnJwaS1zZGltZyBmaWxlCi0jIGlzIGtlcHQgYW5kIGEgbmV3IGNvbXByZXNzZWQgZmlsZSBpcyBjcmVhdGVkIGlmIG9uZSBvZiB0aGVzZSBjb21wcmVzc2lvbgotIyBmb3JtYXRzIGlzIGNob3Nlbi4gSWYgU0RJTUdfQ09NUFJFU1NJT04gaXMgc2V0IHRvIGFueSBvdGhlciB2YWx1ZSBpdCBpcwotIyBzaWxlbnRseSBpZ25vcmVkLgotI1NESU1HX0NPTVBSRVNTSU9OID89ICIiCi0KICMgQWRkaXRpb25hbCBmaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgdG8gYmUgY29waWVkIGludG8gdGhlIHZmYXQgcGFydGl0aW9uIGZyb20gdGhlIElNQUdFX1JPT1RGUy4KIEZBVFBBWUxPQUQgPz0gIiIKIApAQCAtMTc3LDE5ICsxNzAsNiBAQAogICAgIGVsc2UKICAgICAgICAgZGQgaWY9JHtTRElNR19ST09URlN9IG9mPSR7U0RJTUd9IGNvbnY9bm90cnVuYyBzZWVrPTEgYnM9JChleHByIDEwMjQgXCogJHtCT09UX1NQQUNFX0FMSUdORUR9ICsgJHtJTUFHRV9ST09URlNfQUxJR05NRU5UfSBcKiAxMDI0KQogICAgIGZpCi0KLSAgICAjIE9wdGlvbmFsbHkgYXBwbHkgY29tcHJlc3Npb24KLSAgICBjYXNlICIke1NESU1HX0NPTVBSRVNTSU9OfSIgaW4KLSAgICAiZ3ppcCIpCi0gICAgICAgIGd6aXAgLWs5ICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICAiYnppcDIiKQotICAgICAgICBiemlwMiAtazkgIiR7U0RJTUd9IgotICAgICAgICA7OwotICAgICJ4eiIpCi0gICAgICAgIHh6IC1rICIke1NESU1HfSIKLSAgICAgICAgOzsKLSAgICBlc2FjCiB9CiAKIFJPT1RGU19QT1NUUFJPQ0VTU19DT01NQU5EICs9ICIgcnBpX2dlbmVyYXRlX3N5c2N0bF9jb25maWcgOyAiCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbGF5ZXIuY29uZiBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCmluZGV4IDY3ZWI5OGYuLjI2NGIyYzAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9sYXllci5jb25mCkBAIC05LDcgKzksNyBAQAogQkJGSUxFX1BBVFRFUk5fcmFzcGJlcnJ5cGkgOj0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfcmFzcGJlcnJ5cGkgPSAiOSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3Jhc3BiZXJyeXBpID0gInN1bW8gdGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9yYXNwYmVycnlwaSA9ICJzdW1vIHRodWQgd2FycmlvciIKIAogIyBBZGRpdGlvbmFsIGxpY2Vuc2UgZGlyZWN0b3JpZXMuCiBMSUNFTlNFX1BBVEggKz0gIiR7TEFZRVJESVJ9L2ZpbGVzL2N1c3RvbS1saWNlbnNlcyIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWJhc2UuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKaW5kZXggNGJiZDU3Ni4uY2M2YTU0ZSAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvaW5jbHVkZS9ycGktYmFzZS5pbmMKQEAgLTI1LDcgKzI1LDcgQEAKICAgICBvdmVybGF5cy9pMmMtcnRjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjLmR0Ym8gXAogICAgIG92ZXJsYXlzL2lxYXVkaW8tZGFjcGx1cy5kdGJvIFwKLSAgICBvdmVybGF5cy9saXJjLXJwaS5kdGJvIFwKKyAgICBvdmVybGF5cy9tY3AyNTE1LWNhbjAuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLWRpc2FibGUtYnQuZHRibyBcCiAgICAgb3ZlcmxheXMvcGkzLW1pbml1YXJ0LWJ0LmR0Ym8gXAogICAgIG92ZXJsYXlzL3BpdGZ0MjIuZHRibyBcCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1kZWZhdWx0LXZlcnNpb25zLmluYyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCmluZGV4IGE1ZmU2ZDcuLjk5ODNiNjEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvY29uZi9tYWNoaW5lL2luY2x1ZGUvcnBpLWRlZmF1bHQtdmVyc2lvbnMuaW5jCkBAIC0xLDMgKzEsMyBAQAogIyBSYXNwYmVycnlQaSBCU1AgZGVmYXVsdCB2ZXJzaW9ucwogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC1yYXNwYmVycnlwaSA/Pz0gIjQuMTQuJSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXJhc3BiZXJyeXBpID8/PSAiNC4xOS4lIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9jb25mL21hY2hpbmUvcmFzcGJlcnJ5cGkzLTY0LmNvbmYgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgppbmRleCA2MzVlNGY2Li44MGI2YmM0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2NvbmYvbWFjaGluZS9yYXNwYmVycnlwaTMtNjQuY29uZgpAQCAtMTEsNyArMTEsNyBAQAogICAgIGJsdWV6LWZpcm13YXJlLXJwaWRpc3Ryby1iY200MzQ1YzAtaGNkIFwKICIKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNTMuaW5jCiBpbmNsdWRlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3JwaS1iYXNlLmluYwogCiBSUElfS0VSTkVMX0RFVklDRVRSRUUgPSAiIFwKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQgYi9tZXRhLXJhc3BiZXJyeXBpL2RvY3MvZXh0cmEtYnVpbGQtY29uZmlnLm1kCmluZGV4IDczMmMxMDIuLmI0NGRlY2UgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvZG9jcy9leHRyYS1idWlsZC1jb25maWcubWQKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9kb2NzL2V4dHJhLWJ1aWxkLWNvbmZpZy5tZApAQCAtMTMsOSArMTMsNiBAQAogMi4gT3ZlcndyaXRlIFNESU1HX1JPT1RGU19UWVBFIGluIGxvY2FsLmNvbmYKICAgICAqIGBTRElNR19ST09URlNfVFlQRSA9ICJleHQzLnh6ImAKIAotMy4gT3ZlcndyaXRlIFNESU1HX0NPTVBSRVNTSU9OIGluIGxvY2FsLmNvbmYKLSAgICAqIGBTRElNR19DT01QUkVTU0lPTiA9ICJ4eiJgCi0KIEFjY29tbW9kYXRlIHRoZSB2YWx1ZXMgYWJvdmUgdG8geW91ciBvd24gbmVlZHMgKGV4OiBleHQzIC8gZXh0NCkuCiAKICMjIEdQVSBtZW1vcnkKQEAgLTI0Niw2ICsyNDMsMTUgQEAKIAogU2VlOiA8aHR0cHM6Ly9vcGVubGFicy5jby9PU0hXL1Jhc3BiZXJyeS1QaS04MDIuMTUuNC1yYWRpbz4KIAorIyMgRW5hYmxlIENBTiB3aXRoIFBpY2FuMgorCitJbiBvcmRlciB0byB1c2UgUGljYW4yIENBTiBtb2R1bGUsIHNldCB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczoKKworCUVOQUJMRV9TUElfQlVTID0gIjEiCisJRU5BQkxFX0NBTiA9ICIxIgorCitTZWU6IDxodHRwOi8vc2twYW5nLmNvLnVrL2NhdGFsb2cvcGljYW4yLWNhbmJ1cy1ib2FyZC1mb3ItcmFzcGJlcnJ5LXBpLTIzLXAtMTQ3NS5odG1sPgorCiAjIyBNYW51YWwgYWRkaXRpb25zIHRvIGNvbmZpZy50eHQKIAogVGhlIGBSUElfRVhUUkFfQ09ORklHYCB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBtYW51YWxseSBhZGQgYWRkaXRpb25hbCBsaW5lcyB0bwpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9keW5hbWljLWxheWVycy9xdDUtbGF5ZXIvcmVjaXBlcy1xdC9xdDUvcXRiYXNlXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAppbmRleCA1OGI3YjQ3Li40MjAyNjUxIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL2R5bmFtaWMtbGF5ZXJzL3F0NS1sYXllci9yZWNpcGVzLXF0L3F0NS9xdGJhc2VfJS5iYmFwcGVuZApAQCAtMSw3ICsxLDggQEAKIFBBQ0tBR0VDT05GSUdfR0xfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExIG9wZW5nbCcsICdnbCcsIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAgICAgJ29wZW5nbCcsICdlZ2xmcyBnbGVzMicsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJycsIGQpLCBkKX0iCi1QQUNLQUdFQ09ORklHX0dMX2FwcGVuZF9ycGkgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAndmM0Z3JhcGhpY3MnLCAnIGdibSBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJyBrbXMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19HTF9hcHBlbmRfcnBpID0gIiBnYm0iCiBQQUNLQUdFQ09ORklHX0ZPTlRTX3JwaSA9ICJmb250Y29uZmlnIgogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBsaWJpbnB1dCBleGFtcGxlcyB0c2xpYiB4a2IgeGtiY29tbW9uLWV2ZGV2IgogUEFDS0FHRUNPTkZJR19yZW1vdmVfcnBpID0gInRlc3RzIgpAQCAtMTUsMyArMTYsNCBAQAogICAgIGZpCiB9CiBSREVQRU5EU18ke1BOfV9hcHBlbmRfcnBpID0gIiB1c2VybGFuZCIKK0RFUEVORFNfYXBwZW5kX3JwaSA9ICIke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICd2YzRncmFwaGljcycsICcnLCAnIHVzZXJsYW5kJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9ib290ZmlsZXMvcnBpLWNvbmZpZ19naXQuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgppbmRleCBmY2M3NzcxLi5iMzM1NmVkIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2Jvb3RmaWxlcy9ycGktY29uZmlnX2dpdC5iYgpAQCAtMTgzLDYgKzE4MywxMiBAQAogICAgICAgICBlY2hvICJkdG92ZXJsYXk9YXQ4NnJmMjMzLHNwZWVkPTMwMDAwMDAiID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKICAgICBmaQogCisgICAgIyBFTkFCTEUgQ0FOCisgICAgaWYgWyAiJHtFTkFCTEVfQ0FOfSIgPSAiMSIgXTsgdGhlbgorICAgICAgICBlY2hvICIjIEVuYWJsZSBDQU4iID4+JHtERVBMT1lESVJ9L2JjbTI4MzUtYm9vdGZpbGVzL2NvbmZpZy50eHQKKyAgICAgICAgZWNobyAiZHRvdmVybGF5PW1jcDI1MTUtY2FuMCxvc2NpbGxhdG9yPTE2MDAwMDAwLGludGVycnVwdD0yNSIgPj4ke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAorICAgIGZpCisKICAgICAjIEFwcGVuZCBleHRyYSBjb25maWcgaWYgdGhlIHVzZXIgaGFzIHByb3ZpZGVkIGFueQogICAgIHByaW50ZiAiJHtSUElfRVhUUkFfQ09ORklHfVxuIiA+PiAke0RFUExPWURJUn0vYmNtMjgzNS1ib290ZmlsZXMvY29uZmlnLnR4dAogfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWJzcC9jb21tb24vZmlybXdhcmUuaW5jCmluZGV4IDM3Y2QzNDMuLmQxOTUyNWYgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ic3AvY29tbW9uL2Zpcm13YXJlLmluYworKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtYnNwL2NvbW1vbi9maXJtd2FyZS5pbmMKQEAgLTEsMTEgKzEsMTAgQEAKLVJQSUZXX0RBVEUgPz0gIjIwMTkwMjEyIgotU1JDUkVWID89ICI4Mzk3N2ZlM2I2ZWY1NGMxZDI5YzgzYjBhNzc4ZDMzMGY1MjM0NDFmIgorUlBJRldfREFURSA/PSAiMjAxOTAyMjAiCitTUkNSRVYgPz0gImViZjdiNDBjZGM2ZWZmZTdmZmEzZmQ1MTk1ZThiZTAxYjk0ZjgwZGEiCiBSUElGV19TUkNfVVJJID89ICJodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvZmlybXdhcmUvYXJjaGl2ZS8ke1NSQ1JFVn0udGFyLmd6IgogUlBJRldfUyA/PSAiJHtXT1JLRElSfS9maXJtd2FyZS0ke1NSQ1JFVn0iCiAKIFNSQ19VUkkgPSAiJHtSUElGV19TUkNfVVJJfSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI1Y2NkYjU0NDdjYmRkM2VlMDE1OGE1MTRmN2I3NmNiOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5YTM0Y2NjNGE1MTY5NWEzMzIwNmNjNmM4NTM0ZjYxNWJhNWEzMGZjYmNlNWZhM2FkZDQwMGVjYzZiODBhZDhhIgotCitTUkNfVVJJW21kNXN1bV0gPSAiNjExMDc3ZDM0M2UzODAyNDk2ZGQ5OTExOGNhNGU5NzciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTkxMWY2MzQyZWE4YWE5MzgwY2FlOTdjNmY1YWM0ZGRkMzcwNTI3MjY1ZjIzZDViNWQ0YjJjNmY2NzlkNGJhOCIKIAogUFYgPSAiJHtSUElGV19EQVRFfSIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtY29yZS91ZGV2L3VkZXYtcnVsZXMtcnBpLmJiCmluZGV4IGVkZWYwZGIuLjQyY2ZjZGQgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkuYmIKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS5iYgpAQCAtMiw3ICsyLDEwIEBACiBMSUNFTlNFID0gIk1JVCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9NSVQ7bWQ1PTA4MzVhZGU2OThlMGJjZjg1MDZlY2RhMmY3YjRmMzAyIgogCi1TUkNfVVJJID0gIiBmaWxlOi8vOTktY29tLnJ1bGVzIgorU1JDX1VSSSA9ICIgXAorCWZpbGU6Ly85OS1jb20ucnVsZXMgXAorCWZpbGU6Ly9jYW4ucnVsZXMgXAorCSIKIAogUyA9ICIke1dPUktESVJ9IgogCkBAIC0xMSw0ICsxNCw1IEBACiBkb19pbnN0YWxsICgpIHsKICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZAogICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5LWNvbS5ydWxlcyAke0R9JHtzeXNjb25mZGlyfS91ZGV2L3J1bGVzLmQvCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vY2FuLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KIH0KZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWNvcmUvdWRldi91ZGV2LXJ1bGVzLXJwaS9jYW4ucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3ZDU3ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1jb3JlL3VkZXYvdWRldi1ydWxlcy1ycGkvY2FuLnJ1bGVzCkBAIC0wLDAgKzEgQEAKK1NVQlNZU1RFTT09Im5ldCIsIERFVlBBVEg9PSIvZGV2aWNlcy9wbGF0Zm9ybS9zb2MvM2YyMDQwMDAuc3BpL3NwaV9tYXN0ZXIvc3BpMC9zcGkwLjAvbmV0L2NhbjAiLCBSVU4rPSIvc2Jpbi9pcCBsaW5rIHNldCBjYW4wIHVwIHR5cGUgY2FuIGJpdHJhdGUgNTAwMDAwIgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmExM2UyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXyUuYmJhcHBlbmQKQEAgLTAsMCArMSwzIEBACitQQUNLQUdFQ09ORklHX0dMRVNWMiA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnJywgJ2dsZXN2MicsIGQpfSIKKworUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3ZjNGdyYXBoaWNzJywgJycsICcgZWdsICR7UEFDS0FHRUNPTkZJR19HTEVTVjJ9JywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8lLmJiYXBwZW5kCmluZGV4IDc4OTcxMjUuLjA4ZWMxYzUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfJS5iYmFwcGVuZAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXyUuYmJhcHBlbmQKQEAgLTEgKzEsNiBAQAogUEFDS0FHRUNPTkZJR19hcHBlbmRfcnBpID0gIiBnYm0iCitQUk9WSURFU19hcHBlbmRfcnBpID0gIiB2aXJ0dWFsL2xpYmdibSIKKworZG9faW5zdGFsbF9hcHBlbmRfcnBpKCkgeworICAgIHJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9LSFIva2hycGxhdGZvcm0uaAorfQpkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAxLUFsbG93LWFwcGxpY2F0aW9ucy10by1zZXQtbmV4dC1yZXNvdXJjZS1oYW5kbGUucGF0Y2gKaW5kZXggZDZiMmFiYi4uY2VhMjE1ZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDEtQWxsb3ctYXBwbGljYXRpb25zLXRvLXNldC1uZXh0LXJlc291cmNlLWhhbmRsZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMS1BbGxvdy1hcHBsaWNhdGlvbnMtdG8tc2V0LW5leHQtcmVzb3VyY2UtaGFuZGxlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwOGQ1NmMxMTc0ZTI3NTczYWU4ZGYyYTdiOWU2NjMyYWZkMGJmZTg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4MjlkZmY2MjZkNDIzYWQzNGM4ZTcxMGNkMTBkNWZjOWE0ZWE4MGIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRG9tIENvYmxleSA8ZGM0QGJyb2FkY29tLmNvbT4KIERhdGU6IFR1ZSwgOSBKdWwgMjAxMyAwOToyNjoyNiAtMDQwMAogU3ViamVjdDogW1BBVENIIDAxLzE4XSBBbGxvdyBhcHBsaWNhdGlvbnMgdG8gc2V0IG5leHQgcmVzb3VyY2UgaGFuZGxlCkBAIC0yMDQsNSArMjA0LDUgQEAKICAKICBGTih2b2lkLCBlZ2xJbnRHZXRDb2xvckRhdGFfaW1wbCwgKEVHTF9TVVJGQUNFX0lEX1QgcywgS0hSTl9JTUFHRV9GT1JNQVRfVCBmb3JtYXQsIHVpbnQzMl90IHdpZHRoLCB1aW50MzJfdCBoZWlnaHQsIGludDMyX3Qgc3RyaWRlLCB1aW50MzJfdCB5X29mZnNldCwgdm9pZCAqZGF0YSkpCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAyLXdheWxhbmQtQWRkLXN1cHBvcnQtZm9yLXRoZS1XYXlsYW5kLXdpbnN5cy5wYXRjaAppbmRleCBjNDFjZGU3Li41NTAxMDAwIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMi13YXlsYW5kLUFkZC1zdXBwb3J0LWZvci10aGUtV2F5bGFuZC13aW5zeXMucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDItd2F5bGFuZC1BZGQtc3VwcG9ydC1mb3ItdGhlLVdheWxhbmQtd2luc3lzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkYTYwYTJhMzRhNDhlMmIzMjRmY2VhZTYwODk2NDgxNDQ4OGNjOGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0Njk4NDBkMjExYmViMjIwODVlNTc5MzRiZGEzY2FhYmI3MWE0Njk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogVG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KIERhdGU6IFR1ZSwgMSBPY3QgMjAxMyAxMzoxOToyMCArMDIwMAogU3ViamVjdDogW1BBVENIIDAyLzE4XSB3YXlsYW5kOiBBZGQgc3VwcG9ydCBmb3IgdGhlIFdheWxhbmQgd2luc3lzCkBAIC05MSwxMyArOTEsMTMgQEAKICAKICAjIEdsb2JhbCBpbmNsdWRlIHBhdGhzCiBkaWZmIC0tZ2l0IGEvUkVBRE1FLm1kIGIvUkVBRE1FLm1kCi1pbmRleCA5NGI5M2I4Li41MGI5MGIxIDEwMDY0NAoraW5kZXggZGU1NzU0ZC4uMjA5NzAzNiAxMDA2NDQKIC0tLSBhL1JFQURNRS5tZAogKysrIGIvUkVBRE1FLm1kCiBAQCAtNiwzICs2LDcgQEAgVXNlIGJ1aWxkbWUgdG8gYnVpbGQuIEl0IHJlcXVpcmVzIGNtYWtlIHRvIGJlIGluc3RhbGxlZCBhbmQgYW4gYXJtIGNyb3NzIGNvbXBpbGUKICBodHRwczovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvdG9vbHMvdHJlZS9tYXN0ZXIvYXJtLWJjbTI3MDgvZ2NjLWxpbmFyby1hcm0tbGludXgtZ251ZWFiaWhmLXJhc3BiaWFuCiAgCi0gTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkX3BhcnNlciBhbmQgdmNkYmcgYmluYXJpZXMgZHVlIHRvIGxpY2Vuc2luZyByZXN0cmljdGlvbnMuCisgTm90ZSB0aGF0IHRoaXMgcmVwb3NpdG9yeSBkb2VzIG5vdCBjb250YWluIHRoZSBzb3VyY2UgZm9yIHRoZSBlZGlkcGFyc2VyIGFuZCB2Y2RiZyBiaW5hcmllcyBkdWUgdG8gbGljZW5zaW5nIHJlc3RyaWN0aW9ucy4KICsKICtUbyBidWlsZCBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3aW5zeXMgaW4gRUdMLCBleGVjdXRlIHRoZSBidWlsZG1lIHNjcmlwdCBsaWtlIHRoaXM6CiArCkBAIC0xMzMsMTAgKzEzMywxMCBAQAogIAogIAlpZiBbICIkMSIgIT0gIiIgXTsgdGhlbgogZGlmZiAtLWdpdCBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQgYi9ob3N0X2FwcGxpY2F0aW9ucy9saW51eC9hcHBzL3Jhc3BpY2FtL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA0MjYzNmU4Li5kNDdhZDU1IDEwMDY0NAoraW5kZXggZjdkYjIxZS4uNzM5OTdiNyAxMDA2NDQKIC0tLSBhL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKICsrKyBiL2hvc3RfYXBwbGljYXRpb25zL2xpbnV4L2FwcHMvcmFzcGljYW0vQ01ha2VMaXN0cy50eHQKLUBAIC0zMyw3ICszMyw3IEBAIGFkZF9leGVjdXRhYmxlKHJhc3BpdmlkeXV2ICAke0NPTU1PTl9TT1VSQ0VTfSBSYXNwaVZpZFlVVi5jKQorQEAgLTU0LDcgKzU0LDcgQEAgYWRkX2V4ZWN1dGFibGUocmFzcGl2aWR5dXYgICR7Q09NTU9OX1NPVVJDRVN9IFJhc3BpVmlkWVVWLmMpCiAgCiAgc2V0IChNTUFMX0xJQlMgbW1hbF9jb3JlIG1tYWxfdXRpbCBtbWFsX3ZjX2NsaWVudCkKICAKQEAgLTE4OTQsNSArMTg5NCw1IEBACiArICAgIHNldCgke19zb3VyY2VzfSAkeyR7X3NvdXJjZXN9fSBQQVJFTlRfU0NPUEUpCiArZW5kZnVuY3Rpb24oKQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwMy13YXlsYW5kLUFkZC1XYXlsYW5kLWV4YW1wbGUucGF0Y2gKaW5kZXggZDgzYTllNS4uNzRiOTdiOCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDMtd2F5bGFuZC1BZGQtV2F5bGFuZC1leGFtcGxlLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDAzLXdheWxhbmQtQWRkLVdheWxhbmQtZXhhbXBsZS5wYXRjaApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDQtd2F5bGFuZC1lZ2wtQWRkLWJjbV9ob3N0LXRvLWRlcGVuZGVuY2llcy5wYXRjaAppbmRleCBhNDJhYTE0Li45NjIxYWZhIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNC13YXlsYW5kLWVnbC1BZGQtYmNtX2hvc3QtdG8tZGVwZW5kZW5jaWVzLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA0LXdheWxhbmQtZWdsLUFkZC1iY21faG9zdC10by1kZXBlbmRlbmNpZXMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGMzNzliZDJkYzU3NTI1NjA4NGQ5ZTM2ZmMxMWEzNDdlMjA2NjAxMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDNkMWQwNDYyODFiOTBkNjc3Nzg2NGIwZDlhMDMyNjU3ZmFkNzhkNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAxMCBBdWcgMjAxNSAwMjozODoyNyAtMDcwMAogU3ViamVjdDogW1BBVENIIDA0LzE4XSB3YXlsYW5kLWVnbDogQWRkIGJjbV9ob3N0IHRvIGRlcGVuZGVuY2llcwpAQCAtMjQsNSArMjQsNSBAQAogIExpYnM6IC1MJHtsaWJkaXJ9IC1sd2F5bGFuZC1lZ2wKICBDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDUtaW50ZXJmYWNlLXJlbW92ZS1mYXVsdHktYXNzZXJ0LXRvLW1ha2Utd2VzdG9uLWhhcHB5LS5wYXRjaAppbmRleCBiYmFhZGRhLi4wMDRlMmViIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNS1pbnRlcmZhY2UtcmVtb3ZlLWZhdWx0eS1hc3NlcnQtdG8tbWFrZS13ZXN0b24taGFwcHktLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA1LWludGVyZmFjZS1yZW1vdmUtZmF1bHR5LWFzc2VydC10by1tYWtlLXdlc3Rvbi1oYXBweS0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJkOTQwYzMyODc4ZDQwMWYzMTEyMTUyNzA1NzlmZjUxM2MyZjM5OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGQxN2U1YjkyODU2MzVkY2JlMWM2ZTVhNzM5OGY2ZTViMTU2MGEwYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiAiWWFubiBFLiBNT1JJTiIgPHlhbm4ubW9yaW4uMTk5OEBmcmVlLmZyPgogRGF0ZTogU2F0LCAyNCBKYW4gMjAxNSAyMjowNzoxOSArMDEwMAogU3ViamVjdDogW1BBVENIIDA1LzE4XSBpbnRlcmZhY2U6IHJlbW92ZSBmYXVsdHkgYXNzZXJ0KCkgdG8gbWFrZSB3ZXN0b24gaGFwcHkKQEAgLTI1LDUgKzI1LDUgQEAKICAgICAgICAgICAgICB9CiAgICAgICAgICAgfSBlbHNlIHsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDYtemVyby1vdXQtd2wtYnVmZmVycy1pbi1lZ2xfc3VyZmFjZV9mcmVlLnBhdGNoCmluZGV4IDFhNWUxNGYuLjk1NWRmYTEgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA2LXplcm8tb3V0LXdsLWJ1ZmZlcnMtaW4tZWdsX3N1cmZhY2VfZnJlZS5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNi16ZXJvLW91dC13bC1idWZmZXJzLWluLWVnbF9zdXJmYWNlX2ZyZWUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ2NmYyOGNlMzAyZjY4YWMzOWJlNzUwZjRiNTUyODU3OTFmNDNhYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdkNDU1OWMyNDE4ZjQ5OTdkZmRkZGVmYTkyODEyNTBkMGQ4MDgyZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjEwOjQ3IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMThdIHplcm8tb3V0IHdsIGJ1ZmZlcnMgaW4gZWdsX3N1cmZhY2VfZnJlZQpAQCAtMjksNSArMjksNSBAQAogICNlbmRpZgogICAgIH0KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA3LWluaXRpYWxpemUtZnJvbnQtYmFjay13YXlsYW5kLWJ1ZmZlcnMucGF0Y2gKaW5kZXggNzIyNjRlNC4uNTE0NzgyZiAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDctaW5pdGlhbGl6ZS1mcm9udC1iYWNrLXdheWxhbmQtYnVmZmVycy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwNy1pbml0aWFsaXplLWZyb250LWJhY2std2F5bGFuZC1idWZmZXJzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNGEyOTY3NTEzZjdkMGY1ZjNjYWVlOGNmNmNiYzdhN2EwODVlYmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxOWU2MzEwNzY3MGJiMTU4MzM3NDQ0MDJkNjhjOGZjYWU5ZTUzYTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgNiBGZWIgMjAxNiAxMToxMTo0MSAtMDgwMAogU3ViamVjdDogW1BBVENIIDA3LzE4XSBpbml0aWFsaXplIGZyb250IGJhY2sgd2F5bGFuZCBidWZmZXJzCkBAIC0zMCw1ICszMCw1IEBACiAgICAgfQogICNlbmRpZgogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDgtUmVtb3ZlLVJQQ19GTFVTSC5wYXRjaAppbmRleCBhMTAwZTM5Li5iZDZjMmZmIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOC1SZW1vdmUtUlBDX0ZMVVNILnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA4LVJlbW92ZS1SUENfRkxVU0gucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDE0YzIyOTg3ZGZhOWZlYzAyNzk0ODU2Y2QxNWIyZDY0YjRiODFjMzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQzMTJjZTRmOTMyMGIyNWY1MTNjNGQ4ZmExNjNmOWQ4ZmFlYmZkOTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA2IEZlYiAyMDE2IDExOjA5OjE4IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0ggMDgvMThdIFJlbW92ZSBSUENfRkxVU0gKQEAgLTIzLDUgKzIzLDUgQEAKICAgICAgICB9CiAgI2VuZGlmCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAwOS1maXgtY21ha2UtZGVwZW5kZW5jeS1yYWNlLnBhdGNoCmluZGV4IDQ2MDk0NTUuLmUxMzhhZTIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDA5LWZpeC1jbWFrZS1kZXBlbmRlbmN5LXJhY2UucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMDktZml4LWNtYWtlLWRlcGVuZGVuY3ktcmFjZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZTUxMGJlMjIxMjc2ZDA2ZTYzMGFiOTM0NTJlY2I3MTJkMzkyMTc5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2I0NTRhZDQ0ZmNiMzVmYzI4YjgyM2YwNWYzNTM4YzFmOTk3ZTg5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDYgRmViIDIwMTYgMTM6MTI6NDcgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwOS8xOF0gZml4IGNtYWtlIGRlcGVuZGVuY3kgcmFjZQpAQCAtNzQsNSArNzQsNSBAQAogIAlzdHJ1Y3Qgd2xfcmVzb3VyY2UgKnJlc291cmNlOwogIAlzdHJ1Y3Qgd2xfZGlzcG1hbnggKmRpc3BtYW54OwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMC1GaXgtZm9yLWZyYW1lcmF0ZS13aXRoLW5lc3RlZC1jb21wb3NpdGlvbi5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCmluZGV4IGRkMGI5NWUuLjcwZDkwNDUgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEwLUZpeC1mb3ItZnJhbWVyYXRlLXdpdGgtbmVzdGVkLWNvbXBvc2l0aW9uLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4ZTZjZGUwODA3N2VhZGZlNTYzZGMxN2MxOTk5NWViYzQ4ZTMwYjk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyZjBiMjUyNjZkMGI0YjA0ZWY3OGI4OTUwZjViZDk3NDk4NTdiNGYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFR1ZSwgMjkgTWFyIDIwMTYgMjA6Mzg6MzAgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMC8xOF0gRml4IGZvciBmcmFtZXJhdGUgd2l0aCBuZXN0ZWQgY29tcG9zaXRpb24KQEAgLTU2LDUgKzU2LDUgQEAKICAjaWZkZWYgQU5EUk9JRAogICAgICAgICAgICAgICAgIENMSUVOVF9VTkxPQ0soKTsKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTEtYnVpbGQtc2hhcmVkLWxpYnJhcnktZm9yLXZjaG9zdGlmLnBhdGNoCmluZGV4IDRiZDUzMjAuLmRhMzcxMDIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDExLWJ1aWxkLXNoYXJlZC1saWJyYXJ5LWZvci12Y2hvc3RpZi5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMS1idWlsZC1zaGFyZWQtbGlicmFyeS1mb3ItdmNob3N0aWYucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDlhOTdkNjAyNjI5OTkwOTNkNmNlOGNiNjg4Mjc5NTA2YzIxMGQ4MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDViYzQxMThlNzg2MWYzNWVhZDY1NjU1MzBjYjQyMTM5ODcyOTZmYjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCAyIEFwciAyMDE2IDEwOjM3OjI0IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTEvMThdIGJ1aWxkIHNoYXJlZCBsaWJyYXJ5IGZvciB2Y2hvc3RpZgpAQCAtMjQsNSArMjQsNSBAQAogICNhZGRfbGlicmFyeShidWZtYW4gICAgICAgICAgICB2Y192Y2hpX2J1Zm1hbi5jICAgICAgICAgICAgKQogIAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMi1pbXBsZW1lbnQtYnVmZmVyLXdyYXBwaW5nLWludGVyZmFjZS1mb3ItZGlzcG1hbngucGF0Y2gKaW5kZXggOTY4NGI0Yy4uNDA2NjZmZCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTItaW1wbGVtZW50LWJ1ZmZlci13cmFwcGluZy1pbnRlcmZhY2UtZm9yLWRpc3BtYW54LnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDEyLWltcGxlbWVudC1idWZmZXItd3JhcHBpbmctaW50ZXJmYWNlLWZvci1kaXNwbWFueC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZmVkZDc2NjgxNTIwNDljMTVlZDU4YzcwNThlNWY0YTljMWZhYzdjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMjcxOTRiYzA1YTdhNDg4ODI3NTkwMjA4Mjg1YTg3NTcxNjRlZGNlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIgQXByIDIwMTYgMTA6NTQ6NTkgLTA3MDAKIFN1YmplY3Q6IFtQQVRDSCAxMi8xOF0gaW1wbGVtZW50IGJ1ZmZlciB3cmFwcGluZyBpbnRlcmZhY2UgZm9yIGRpc3BtYW54CkBAIC04OCw1ICs4OCw1IEBACiAgCiAgPC9wcm90b2NvbD4KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTMtSW1wbGVtZW50LXRyaXBsZS1idWZmZXJpbmctZm9yLXdheWxhbmQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAppbmRleCAzMDUyMTY4Li41MTk3ODU2IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxMy1JbXBsZW1lbnQtdHJpcGxlLWJ1ZmZlcmluZy1mb3Itd2F5bGFuZC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjVmOGJjYTU1YWVhZDY3NmNkMDZmYzMyMTBhZWZmZWYxZjIxNThjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTk5YjJlYWZiYTUyNjBiODA4N2ZjMWE4NTgzMGIwOGVhMzIyODI5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEplZmYgV2FubmFtYWtlciA8amVmZl93YW5uYW1ha2VyQGNhYmxlLmNvbWNhc3QuY29tPgogRGF0ZTogVGh1LCAxOSBKYW4gMjAxNyAxODo1NjowNyArMDAwMAogU3ViamVjdDogW1BBVENIIDEzLzE4XSBJbXBsZW1lbnQgdHJpcGxlIGJ1ZmZlcmluZyBmb3Igd2F5bGFuZApAQCAtODYsNSArODYsNSBAQAogICAgICAgIGJhY2tfd2xfYnVmZmVyCiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNC1HTEVTMi1nbDJleHQuaC1EZWZpbmUtR0xfUjhfRVhULWFuZC1HTF9SRzhfRVhULnBhdGNoCmluZGV4IDAzN2Q3MDguLjdmN2U3MzIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE0LUdMRVMyLWdsMmV4dC5oLURlZmluZS1HTF9SOF9FWFQtYW5kLUdMX1JHOF9FWFQucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTQtR0xFUzItZ2wyZXh0LmgtRGVmaW5lLUdMX1I4X0VYVC1hbmQtR0xfUkc4X0VYVC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gZGMxZDA3ZDgzNWUxZmU3MGM5NTdhNjU1ZDZmYmI4Y2RlNjU3NzVhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTk3MjZjN2ZkY2QzODZiZDEwNGIxM2M0OTRkMjYxZjY5M2RkZTc5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDEwIE1heSAyMDE3IDA2OjM5OjM0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMTQvMThdIEdMRVMyL2dsMmV4dC5oOiBEZWZpbmUgR0xfUjhfRVhUIGFuZCBHTF9SRzhfRVhUCkBAIC0zMSw1ICszMSw1IEBACiAgI2lmbmRlZiBHTF9FWFRfdGV4dHVyZV90eXBlXzJfMTBfMTBfMTBfUkVWCiAgI2RlZmluZSBHTF9VTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVZfRVhUICAgICAgICAgICAgICAgICAgICAgIDB4ODM2OAogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNS1FR0wtZ2xwbGF0Zm9ybS5oLWRlZmluZS1FR0xfQ0FTVC5wYXRjaCBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCmluZGV4IDAyY2VjYjguLmNmY2MxMjAgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE1LUVHTC1nbHBsYXRmb3JtLmgtZGVmaW5lLUVHTF9DQVNULnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiNWZhMjk0YzBkOGZjYjZkZDViZmJmYjk2YTA4ODVkZDlmM2FlNjA5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzYmE3OWU4NmNkZWM4ODQ0MDg4NWZlZmM3YWFkZjc5M2IzMDFiMDAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQW5kcmVhIEdhbGJ1c2VyYSA8Z2l6ZXJvQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgMTQgSnVsIDIwMTcgMDk6NTI6NTQgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSCAxNS8xOF0gRUdML2dscGxhdGZvcm0uaDogZGVmaW5lIEVHTF9DQVNUCkBAIC0yOCw1ICsyOCw1IEBACiArCiAgI2VuZGlmIC8qIF9fZWdscGxhdGZvcm1faCAqLwogLS0gCi0yLjE5LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTYtQWxsb3ctbXVsdGlwbGUtd2F5bGFuZC1jb21wb3NpdG9yLXN0YXRlLWRhdGEtcGVyLXByby5wYXRjaAppbmRleCAzNGFkOTBjLi4yZDFiODgyIDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNi1BbGxvdy1tdWx0aXBsZS13YXlsYW5kLWNvbXBvc2l0b3Itc3RhdGUtZGF0YS1wZXItcHJvLnBhdGNoCisrKyBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE2LUFsbG93LW11bHRpcGxlLXdheWxhbmQtY29tcG9zaXRvci1zdGF0ZS1kYXRhLXBlci1wcm8ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJmZjAzZjkyYzBkOGJhZTExM2UwYzcyMzRjNzE5ZjgzODU4MDhiMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDVjNTNiMmZmNGQxNGI5ODhhZTlhYjQ1M2ZiMmVmOTdiNmEyNzdkZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKZWZmIFdhbm5hbWFrZXIgPGplZmZfd2FubmFtYWtlckBjYWJsZS5jb21jYXN0LmNvbT4KIERhdGU6IFNhdCwgMjcgSmFuIDIwMTggMTI6Mjg6MzEgLTA1MDAKIFN1YmplY3Q6IFtQQVRDSCAxNi8xOF0gQWxsb3cgbXVsdGlwbGUgd2F5bGFuZCBjb21wb3NpdG9yIHN0YXRlIGRhdGEgcGVyCkBAIC0xNDEsNSArMTQxLDUgQEAKICAgICBDTElFTlRfVU5MT0NLKCk7CiAgCiAtLSAKLTIuMTkuMQorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxNy1raHJvbm9zLWJhY2twb3J0LXR5cGVkZWYtZm9yLUVHTF9FWFRfaW1hZ2VfZG1hX2J1Zl9pLnBhdGNoCmluZGV4IDU0NmNkNTguLjljMjIzYWIgMTAwNjQ0Ci0tLSBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC9maWxlcy8wMDE3LWtocm9ub3MtYmFja3BvcnQtdHlwZWRlZi1mb3ItRUdMX0VYVF9pbWFnZV9kbWFfYnVmX2kucGF0Y2gKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTcta2hyb25vcy1iYWNrcG9ydC10eXBlZGVmLWZvci1FR0xfRVhUX2ltYWdlX2RtYV9idWZfaS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOGVmZDgxZTk2YmRkM2JlNjgwNjNhNmZkMzJiZTQ3NTUyMjVlOTNiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGQzYzZiN2NhNWQzNTJjYzAwZDk1MDFiOWQ1NTc2YzRlY2U3MGE4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEh1Z28gSHJvbWljIDxoaHJvbWljQGdtYWlsLmNvbT4KIERhdGU6IFN1biwgMTMgTWF5IDIwMTggMTA6NDk6MDQgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSCAxNy8xOF0ga2hyb25vczogYmFja3BvcnQgdHlwZWRlZiBmb3IKQEAgLTM0LDUgKzM0LDUgQEAKICAjaWZuZGVmIEVHTF9XTF9iaW5kX3dheWxhbmRfZGlzcGxheQogICNkZWZpbmUgRUdMX1dMX2JpbmRfd2F5bGFuZF9kaXNwbGF5IDEKIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL2ZpbGVzLzAwMTgtQWRkLUVHTF9JTUdfY29udGV4dF9wcmlvcml0eS1yZWxhdGVkLWRlZmluZXMucGF0Y2ggYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAppbmRleCBmNGQ4NjVlLi4wMzQ5OWQ0IDEwMDY0NAotLS0gYS9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaAorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvZmlsZXMvMDAxOC1BZGQtRUdMX0lNR19jb250ZXh0X3ByaW9yaXR5LXJlbGF0ZWQtZGVmaW5lcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOWNmZWE0NzYxYmE2ODc3NmZkOWJmYWM2NzFiNzRjNzE3NGY5OTAyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGY5OGNjYWMxMjgyNjViODVhZjNjNWUzMTA0MTNmYzlmY2U5Zjc4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDAwOjQ4OjM4IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMTgvMThdIEFkZCBFR0xfSU1HX2NvbnRleHRfcHJpb3JpdHkgcmVsYXRlZCBkZWZpbmVzCkBAIC0zMSw1ICszMSw1IEBACiAgI2RlZmluZSBFR0xfS0hSX3ZnX3BhcmVudF9pbWFnZSAxCiAgI2RlZmluZSBFR0xfVkdfUEFSRU5UX0lNQUdFX0tIUgkJCTB4MzBCQQkvKiBlZ2xDcmVhdGVJbWFnZUtIUiB0YXJnZXQgKi8KIC0tIAotMi4xOS4xCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYiBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1ncmFwaGljcy91c2VybGFuZC91c2VybGFuZF9naXQuYmIKaW5kZXggZjVjODAzZS4uNDMxMTU4OCAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWdyYXBoaWNzL3VzZXJsYW5kL3VzZXJsYW5kX2dpdC5iYgorKysgYi9tZXRhLXJhc3BiZXJyeXBpL3JlY2lwZXMtZ3JhcGhpY3MvdXNlcmxhbmQvdXNlcmxhbmRfZ2l0LmJiCkBAIC0xMiwxMSArMTIsMTEgQEAKIAogU1JDQlJBTkNIID0gIm1hc3RlciIKIFNSQ0ZPUksgPSAicmFzcGJlcnJ5cGkiCi1TUkNSRVYgPSAiZDU3NGI1MWE2MGEwNzViYWVmZTg2MzY3MDQ2NmVlMjRlNmM0MjU2ZSIKK1NSQ1JFViA9ICJlNTgwM2YyYzk4NmNiZjhjOTE5YzYwMjc4YjMyMzFkY2RmNDI3MWE2IgogCiAjIFVzZSB0aGUgZGF0ZSBvZiB0aGUgYWJvdmUgY29tbWl0IGFzIHRoZSBwYWNrYWdlIHZlcnNpb24uIFVwZGF0ZSB0aGlzIHdoZW4KICMgU1JDUkVWIGlzIGNoYW5nZWQuCi1QViA9ICIyMDE4MTEyMCIKK1BWID0gIjIwMTkwMTE0IgogCiBTUkNfVVJJID0gIlwKICAgICBnaXQ6Ly9naXRodWIuY29tLyR7U1JDRk9SS30vdXNlcmxhbmQuZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKQEAgLTY0LDYgKzY0LDggQEAKIAkJc2VkIC1pICdzL2luY2x1ZGUgInZjb3NfZnV0ZXhfbXV0ZXguaCIvaW5jbHVkZSAicHRocmVhZHNcL3Zjb3NfZnV0ZXhfbXV0ZXguaCIvZycgJHtmfQogCQlzZWQgLWkgJ3MvaW5jbHVkZSAidmNvc19wbGF0Zm9ybV90eXBlcy5oIi9pbmNsdWRlICJwdGhyZWFkc1wvdmNvc19wbGF0Zm9ybV90eXBlcy5oIi9nJyAke2Z9CiAJZG9uZQorICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtEfSR7cHJlZml4fSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3ZjZmlsZWQKKyAgICAgICAgcm0gLXJmICR7RH0ke3ByZWZpeH0ke3N5c2NvbmZkaXJ9CiAJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidmM0Z3JhcGhpY3MiLCAiMSIsICIwIiwgZCl9IiA9ICIxIiBdOyB0aGVuCiAJCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2xpYkVHTCoKIAkJcm0gLXJmICR7RH0ke2xpYmRpcn0vbGliR0xFUyoKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGktZGV2LmJiIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKaW5kZXggNGE3ZGIxYS4uYmI0YTY0ZSAxMDA2NDQKLS0tIGEvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaS1kZXYuYmIKQEAgLTcsMTYgKzcsMTcgQEAKIAogRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7VEhJU0RJUn0vbGludXgtcmFzcGJlcnJ5cGk6IgogCi1MSU5VWF9WRVJTSU9OID89ICI0LjE2IgotTElOVVhfUlBJX0RFVl9CUkFOQ0ggPz0gInJwaS00LjE2LnkiCitMSU5VWF9WRVJTSU9OID89ICI0LjE5IgorTElOVVhfUlBJX0JSQU5DSCA/PSAicnBpLTQuMTkueSIKIAogU1JDUkVWID0gIiR7QVVUT1JFVn0iCiBTUkNfVVJJID0gIiBcCi0gICAgZ2l0Oi8vZ2l0aHViLmNvbS9yYXNwYmVycnlwaS9saW51eC5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD0ke0xJTlVYX1JQSV9ERVZfQlJBTkNIfSBcCi0gICAgZmlsZTovLzAwMDEtbWVudWNvbmZpZy1jaGVjay1seGRpYWdsb2cuc2gtQWxsb3ctc3BlY2lmaWNhdGlvbi1vZi5wYXRjaCBcCisgICAgZ2l0Oi8vZ2l0aHViLmNvbS9yYXNwYmVycnlwaS9saW51eC5naXQ7cHJvdG9jb2w9Z2l0O2JyYW5jaD0ke0xJTlVYX1JQSV9CUkFOQ0h9IFwKICAgICAiCiByZXF1aXJlIGxpbnV4LXJhc3BiZXJyeXBpLmluYwogCiAjIERpc2FibGUgdmVyc2lvbiBjaGVjayBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gZWRpdCB0aGlzIHJlY2lwZSBldmVyeSB0aW1lCiAjIHVwc3RyZWFtIGJ1bXBzIHRoZSB2ZXJzaW9uCiBLRVJORUxfVkVSU0lPTl9TQU5JVFlfU0tJUCA9ICIxIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKZGlmZiAtLWdpdCBhL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGlfNC4xOS5iYiBiL21ldGEtcmFzcGJlcnJ5cGkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgtcmFzcGJlcnJ5cGlfNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTZhYmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1yYXNwYmVycnlwaS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC1yYXNwYmVycnlwaV80LjE5LmJiCkBAIC0wLDAgKzEsMTIgQEAKK0ZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke1RISVNESVJ9L2xpbnV4LXJhc3BiZXJyeXBpOiIKKworTElOVVhfVkVSU0lPTiA/PSAiNC4xOS4zMCIKK0xJTlVYX1JQSV9CUkFOQ0ggPz0gInJwaS00LjE5LnkiCisKK1NSQ1JFViA9ICIzYzQ2OGZjODE5MWQyNzZlM2U5ZWZkOTc2YTBmZjcxMjcxZjNmYzUxIgorU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vcmFzcGJlcnJ5cGkvbGludXguZ2l0O3Byb3RvY29sPWdpdDticmFuY2g9JHtMSU5VWF9SUElfQlJBTkNIfSBcCisgICAgIgorcmVxdWlyZSBsaW51eC1yYXNwYmVycnlwaS5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJlYTgxNWVlMjc5NWIyZjQyMzA4MjZjMGM2Yjg4MTQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L1JFQURNRSBiL21ldGEtc2VjdXJpdHkvUkVBRE1FCmluZGV4IGUyMzgyNzEuLjVhYmIwZTIgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvUkVBRE1FCisrKyBiL21ldGEtc2VjdXJpdHkvUkVBRE1FCkBAIC01Nyw4ICs1NywxNCBAQAogV2hlbiBzZW5kaW5nIHNpbmdsZSBwYXRjaGVzLCBwbGVhc2UgdXNpbmcgc29tZXRoaW5nIGxpa2U6CiAnZ2l0IHNlbmQtZW1haWwgLTEgLS10byB5b2N0b0B5b2N0b3Byb2plY3Qub3JnIC0tc3ViamVjdC1wcmVmaXg9bWV0YS1zZWN1cml0eV1bUEFUQ0gnCiAKK1RoZXNlIHZhbHVlcyBjYW4gYmUgc2V0IGFzIGRlZmF1bHRzIGZvciB0aGlzIHJlcG9zaXRvcnk6CisKKyQgZ2l0IGNvbmZpZyBzZW5kZW1haWwudG8geW9jdG9AeW9jdG9wcm9qZWN0Lm9yZworJCBnaXQgY29uZmlnIGZvcm1hdC5zdWJqZWN0UHJlZml4IG1ldGEtc2VjdXJpdHldW1BBVENICisKK05vdyB5b3UgY2FuIGp1c3QgZG8gJ2dpdCBzZW5kLWVtYWlsIG9yaWdpbi9tYXN0ZXInIHRvIHNlbmQgYWxsIGxvY2FsIHBhdGNoZXMuCisKIE1haW50YWluZXJzOiAgICBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgotICAgICAgICAgICAgICAgIFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KIAogCiBMaWNlbnNlCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGIvbWV0YS1zZWN1cml0eS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGI0NWYyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwpAQCAtMCwwICsxLDU5IEBACisjIG1ldGEtc2VjdXJpeXQgTWFpbnRhaW5lcnMgRmlsZQorIworIyBUaGlzIGZpbGUgY29udGFpbnMgYSBsaXN0IG9mIHJlY2lwZSBtYWludGFpbmVycy4KKyMKKyMgUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHJlY2lwZXMgaW4gbWV0YSB0byB0aGUgCisjIFlvY3RvIG1haWwgbGlzdCAoeW9jdG9AeW9jdG9wcm9qZWN0Lm9yZykKKyMKKyMgSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBvciBxdWVzdGlvbnMgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlY2lwZSwgZmVlbAorIyBmcmVlIHRvIGNvbnRhY3QgdGhlIG1haW50YWluZXIgZGlyZWN0bHkgKGNjOmluZyB0aGUgYXBwcm9wcmlhdGUgbWFpbGluZyBsaXN0CisjIHB1dHMgaXQgaW4gdGhlIGFyY2hpdmUgYW5kIGhlbHBzIG90aGVyIHBlb3BsZSB3aG8gbWlnaHQgaGF2ZSB0aGUgc2FtZQorIyBxdWVzdGlvbnMgaW4gdGhlIGZ1dHVyZSksIGJ1dCBwbGVhc2UgdHJ5IHRvIGRvIHRoZSBmb2xsb3dpbmcgZmlyc3Q6CisjCisjICAtIGxvb2sgaW4gdGhlIFlvY3RvIFByb2plY3QgQnVnemlsbGEKKyMgICAgKGh0dHA6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnLykgdG8gc2VlIGlmIGEgcHJvYmxlbSBoYXMKKyMgICAgYWxyZWFkeSBiZWVuIHJlcG9ydGVkCisjCisjIFRoZSBmb3JtYXQgaXMgYXMgYSBiaXRiYWtlIHZhcmlhYmxlIG92ZXJyaWRlIGZvciBlYWNoIHJlY2lwZQorIworIwlSRUNJUEVfTUFJTlRBSU5FUl9wbi08cmVjaXBlIG5hbWU+ID0gIkZ1bGwgTmFtZSA8YWRkcmVzc0Bkb21haW4+IgorIworIyBQbGVhc2Uga2VlcCB0aGlzIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgorUkVDSVBFX01BSU5UQUlORVJfcG4tYWlyY3JhY2stbmcgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1hcHBhcm1vciA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJhc3RpbGxlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tYnVjay1zZWN1cml0eSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNjcy10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNoZWNrc2VjID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY2hlY2tzZWN1cml0eSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNsYW1hdiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWRpbmctbGlicyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWVjcnlwdGZzLXV0aWxzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZnNjcnlwdGN0bCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvb2dsZS1hdXRoZW50aWNhdG9yLWxpYnBhbSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWhhc2gtcGVybCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlzaWMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXl1dGlscyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFlcy1zaXYgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJlbnYtcGVybCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmdzc2dsdWUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJodHAgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJtaGFzaCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1zcGFjayA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYi1wZXJsID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlic2VjY29tcCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYndoaXNrZXIyLXBlcmwgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uY3JhY2sgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uaWt0byA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXBheGN0bCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtZmFpbDJiYW4gPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1weXRob24zLXNjYXB5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uLWZhaWwyYmFuID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcHl0aG9uLXNjYXB5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcmVkaGF0LXNlY3VyaXR5ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tc2FtaGFpbiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXNtYWNrID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tc3NzZCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXN1cmljYXRhID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHJpcHdpcmUgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi14bWxzZWMxID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9jb25mL2xheWVyLmNvbmYgYi9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgppbmRleCAxOWU2NDdlLi43MTZmOGFjIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgorKysgYi9tZXRhLXNlY3VyaXR5L2NvbmYvbGF5ZXIuY29uZgpAQCAtMTMsNCArMTMsNCBAQAogCiBMQVlFUkRFUEVORFNfc2VjdXJpdHkgPSAiY29yZSBvcGVuZW1iZWRkZWQtbGF5ZXIgcGVybC1sYXllciBuZXR3b3JraW5nLWxheWVyIG1ldGEtcHl0aG9uIgogCi1ERUZBVUxUX1RFU1RfU1VJVEVTX3BuLXNlY3VyaXR5LWJ1aWxkLWltYWdlID0gIiAke1BURVNUVEVTVFNVSVRFfSIKK0RFRkFVTFRfVEVTVF9TVUlURVNfcG4tc2VjdXJpdHktYnVpbGQtaW1hZ2UgPSAiIHBpbmcgc3NoIHB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2FwcGFybW9yLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2FwcGFybW9yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyY2IzMTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvYXBwYXJtb3IucHkKQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBBcHBhcm1vclRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ2FwcGFybW9yJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X2FwcGFybW9yX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdhYS1zdGF0dXMgLS1oZWxwJykKKyAgICAgICAgbXNnID0gKCdhcHBhcm1vciBjb21tYW5kIGRvZXMgbm90IHdvcmsgYXMgZXhwZWN0ZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnYXBwYXJtb3IuQXBwYXJtb3JUZXN0LnRlc3RfYXBwYXJtb3JfaGVscCddKQorICAgIGRlZiB0ZXN0X2FwcGFybW9yX2FhX3N0YXR1cyhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2FhLXN0YXR1cycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdhcHBhcm1vciBtb2R1bGUgaXMgbG9hZGVkLicsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdhYS1zdGF0dXMgIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy9jbGFtYXYucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvY2xhbWF2LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjNzczMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvY2xhbWF2LnB5CkBAIC0wLDAgKzEsMzggQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE5IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisjCitpbXBvcnQgcmUKKworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgQ2xhbWF2VGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnY2xhbWF2J10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X2ZyZXNoY2xhbV9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignZnJlc2hjbGFtIC0taGVscCAnKQorICAgICAgICBtc2cgPSAoJ2ZyZXNoY2xhbSAtLWhsZXAgIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJywgCisgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnY2xhbWF2LkNsYW1hdlRlc3QudGVzdF9mcmVzaGNsYW1faGVscCddKQorICAgIGRlZiB0ZXN0X2ZyZXNoY2xhbV9kb3dubG9hZChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2ZyZXNoY2xhbSAtLXNob3ctcHJvZ3Jlc3MnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnRGF0YWJhc2UgdXBkYXRlZCcsIG91dHB1dCkKKyAgICAgICAgI21hdGNoID0gcmUuc2VhcmNoKCdtYWluLmN2ZCBpcyB1cCB0byBkYXRlJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ2ZyZXNoY2xhbSA6IERCIGRvd2Jsb2FkIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsnY2xhbWF2LkNsYW1hdlRlc3QudGVzdF9mcmVzaGNsYW1fZG93bmxvYWQnXSkKKyAgICBkZWYgdGVzdF9mcmVzaGNsYW1fY2hlY2tfbWlycm9ycyhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2ZyZXNoY2xhbSAtLWxpc3QtbWlycm9ycycpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdGYWlsdXJlczogMCcsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdmcmVzaGNsYW0gLS1saXN0LW1pcnJvcnM6IGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDEsIG1zZyA9IG1zZykKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3NhbWhhaW4ucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc2FtaGFpbi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNGJhZTdiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3NhbWhhaW4ucHkKQEAgLTAsMCArMSwyMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTYW1oYWluVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnc2FtaGFpbi1zdGFuZGFsb25lJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3NhbWhhaW5fc3RhbmRhbG9uZV9oZWxwKHNlbGYpOgorICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bignc2FtaGFpbiAtLWhlbHAnKQorICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgnUGxlYXNlIHJlcG9ydCBidWdzIHRvIHN1cHBvcnRAbGEtc2FtaG5hLmRlLicsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCdzYW1oYWluLXN0YW5kYWxvbmUgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMSwgbXNnID0gbXNnKQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3Nzc2QucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc3NzZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjQ0ODM2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3Nzc2QucHkKQEAgLTAsMCArMSwzNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTU1NEVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnc3NzZCddKQorICAgIEBPRVRlc3REZXBlbmRzKFsnc3NoLlNTSFRlc3QudGVzdF9zc2gnXSkKKyAgICBkZWYgdGVzdF9zc3NkX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzc3NjdGwgLS1oZWxwJykKKyAgICAgICAgbXNnID0gKCdzc3NjdGwgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAxLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3Nzc2QuU1NTRFRlc3QudGVzdF9zc3NkX2hlbHAnXSkKKyAgICBkZWYgdGVzdF9zc3NkX3Nzc2N0bF9jb25mX3Blcm1zX2NoayhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3Nzc2N0bCBkb21haW4tc3RhdHVzJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ0NvbmZEQiBpbml0aWFsaXphdGlvbiBoYXMgZmFpbGVkJywgb3V0cHV0KQorICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnc3NzY3RsIGRvbWFpbi1zdGF0dXMgZmFpbGVkLCBjaGVjayBzc3NkLmNvbmYgcGVybXMuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3Nzc2QuU1NTRFRlc3QudGVzdF9zc3NkX3Nzc2N0bF9jb25mX3Blcm1zX2NoayddKQorICAgIGRlZiB0ZXN0X3Nzc2Rfc3NzY3RsX2RlYW1vbihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3Nzc2N0bCBkb21haW4tc3RhdHVzJykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ05vIGRvbWFpbnMgY29uZmlndXJlZCwgZmF0YWwgZXJyb3IhJywgb3V0cHV0KQorICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgnc3NzY3RsIGRvbWFpbi1zdGF0dXMgZmFpbGVkLCBzc3NkLmNvbmYgbm90IHNldHVwIGNvcnJlY3RseS4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3N1cmljYXRhLnB5IGIvbWV0YS1zZWN1cml0eS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3N1cmljYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ZmM4YzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvc3VyaWNhdGEucHkKQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTkgQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMKK2ltcG9ydCByZQorCitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworCitjbGFzcyBTdXJpY2F0YVRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorCisgICAgQE9FSGFzUGFja2FnZShbJ3N1cmljYXRhJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3N1cmljYXRhX2hlbHAoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzdXJpY2F0YSAtLWhlbHAnKQorICAgICAgICBtc2cgPSAoJ3N1cmljYXRhIGNvbW1hbmQgZG9lcyBub3Qgd29yayBhcyBleHBlY3RlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMSwgbXNnID0gbXNnKQorCisgICAgQE9FVGVzdERlcGVuZHMoWydzdXJpY2F0YS5TdXJpY2F0YVRlc3QudGVzdF9zdXJpY2F0YV9oZWxwJ10pCisgICAgZGVmIHRlc3Rfc3VyaWNhdGFfdW5pdHRlc3Qoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdzdXJpY2F0YSAtdScpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdGQUlMRUQ6IDAgJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJ3N1cmljYXRhIHVuaXR0ZXN0IGhhZCBhbiB1bmV4cGVjdGVkIGZhaWx1cmUuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHJpcHdpcmUucHkgYi9tZXRhLXNlY3VyaXR5L2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHJpcHdpcmUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5NzI0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbGliL29lcWEvcnVudGltZS9jYXNlcy90cmlwd2lyZS5weQpAQCAtMCwwICsxLDQ3IEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorIworaW1wb3J0IHJlCisKK2Zyb20gb2VxYS5ydW50aW1lLmNhc2UgaW1wb3J0IE9FUnVudGltZVRlc3RDYXNlCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3IuZGVwZW5kcyBpbXBvcnQgT0VUZXN0RGVwZW5kcworZnJvbSBvZXFhLnJ1bnRpbWUuZGVjb3JhdG9yLnBhY2thZ2UgaW1wb3J0IE9FSGFzUGFja2FnZQorCisKK2NsYXNzIFRyaXB3aXJlVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsndHJpcHdpcmUnXSkKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3NzaC5TU0hUZXN0LnRlc3Rfc3NoJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfaGVscChzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3RyaXB3aXJlIC0taGVscCcpCisgICAgICAgIG1zZyA9ICgndHJpcHdpcmUgY29tbWFuZCBkb2VzIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChzdGF0dXMsIG91dHB1dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCA4LCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RyaXB3aXJlLlRyaXB3aXJlVGVzdC50ZXN0X3RyaXB3aXJlX2hlbHAnXSkKKyAgICBkZWYgdGVzdF90cmlwd2lyZV90d2luc3RhbGwoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCcvZXRjL3RyaXB3aXJlL3R3aW5zdGFsbC5zaCcpCisgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCdUaGUgZGF0YWJhc2Ugd2FzIHN1Y2Nlc3NmdWxseSBnZW5lcmF0ZWQuJywgb3V0cHV0KQorICAgICAgICBpZiBub3QgbWF0Y2g6CisgICAgICAgICAgICBtc2cgPSAoJy9ldGMvdHJpcHdpcmUvdHdpbnN0YWxsLnNoIGZhaWxlZC4gJworICAgICAgICAgICAgICAgJ1N0YXR1cyBhbmQgb3V0cHV0OiVzIGFuZCAlcycgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKKworICAgIEBPRVRlc3REZXBlbmRzKFsndHJpcHdpcmUuVHJpcHdpcmVUZXN0LnRlc3RfdHJpcHdpcmVfdHdpbnN0YWxsJ10pCisgICAgZGVmIHRlc3RfdHJpcHdpcmVfdHdhZG1pbihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ3R3YWRtaW4gLS1jcmVhdGUtY2ZnZmlsZSAtLWNmZ2ZpbGUgL2V0Yy90cmlwd2lyZS90d2NmZy5lbmMgLS1zaXRlLWtleWZpbGUgL2V0Yy90cmlwd2lyZS9zaXRlLmtleSAtUSB0cmlwd2lyZSAvZXRjL3RyaXB3aXJlL3R3Y2ZnLnR4dCcpCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0d2FkbWluIC0tY3JlYXRlLXBvbGZpbGUgLS1jZmdmaWxlIC9ldGMvdHJpcHdpcmUvdHdjZmcuZW5jIC0tcG9sZmlsZSAvZXRjL3RyaXB3aXJlL3R3cG9sLmVuYyAtLXNpdGUta2V5ZmlsZSAvZXRjL3RyaXB3aXJlL3NpdGUua2V5IC1RIHRyaXB3aXJlIC9ldGMvdHJpcHdpcmUvdHdwb2wudHh0JykKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ1dyb3RlIHBvbGljeSBmaWxlOiAvZXRjL3RyaXB3aXJlL3R3cG9sLmVuYycsIG91dHB1dCkKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgbXNnID0gKCd0d2FkbWluIC0tY3JlYXRlLXByb2ZpbGUgOyBmYWlsZWQuICcKKyAgICAgICAgICAgICAgICdTdGF0dXMgYW5kIG91dHB1dDolcyBhbmQgJXMnICUgKHN0YXR1cywgb3V0cHV0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2cgPSBtc2cpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3RyaXB3aXJlLlRyaXB3aXJlVGVzdC50ZXN0X3RyaXB3aXJlX3R3YWRtaW4nXSkKKyAgICBkZWYgdGVzdF90cmlwd2lyZV9pbml0KHNlbGYpOgorICAgICAgICBzdGF0dXMsIGhvc3RuYW1lID0gc2VsZi50YXJnZXQucnVuKCdob3N0bmFtZScpCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCd0cmlwd2lyZSAtLWluaXQgLS1jZmdmaWxlIC9ldGMvdHJpcHdpcmUvdHdjZmcuZW5jIC0tcG9sZmlsZSAvZXRjL3RyaXB3aXJlL3R3LnBvbCAtLXNpdGUta2V5ZmlsZSAvZXRjL3RyaXB3aXJlL3NpdGUua2V5IC0tbG9jYWwta2V5ZmlsZSAvZXRjL3RyaXB3aXJlLyVzLWxvY2FsLmtleSAtUCB0cmlwd2lyZScgJSBob3N0bmFtZSkKKyAgICAgICAgbWF0Y2ggPSByZS5zZWFyY2goJ1RoZSBkYXRhYmFzZSB3YXMgc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlZC4nLCBvdXRwdXQpCisgICAgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICAgICAgIG1zZyA9ICgndHJpcHdpcmUgLS1pbml0OyBGYWlsZWQgZm9yIGhvc3Q6ICVzLiAnCisgICAgICAgICAgICAgICAnU3RhdHVzIGFuZCBvdXRwdXQ6JXMgYW5kICVzJyAlIChob3N0bmFtZSwgc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsIG1zZyA9IG1zZykKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi42LjguYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOGE0NDY5Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtYXVkaXRvcnMvbHluaXMvbHluaXNfMi42LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0jIENvcHlyaWdodCAoQykgMjAxNyBBcm1pbiBLdXN0ZXIgIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KLSMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKLQotU1VNTUFSWSA9ICJMeW5pcyBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNlY3VyaXR5IGFuZCBhdWRpdGluZyB0b29sLiIKLUhPTUVESVIgPSAiaHR0cHM6Ly9jaXNvZnkuY29tLyIKLUxJQ0VOU0UgPSAiR1BMLTMuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNlZGQ2NzgyODU0MzA0ZmQxMWRhNDk3NWFiOTc5OWMxIgotCi1TUkNfVVJJID0gImh0dHBzOi8vY2lzb2Z5LmNvbS9maWxlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTFhNTM4MDU1YmZiNjgyNzMzZWY4ZTRmZTdlYjA5MDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmU0YzUxNTdhNGYyZDliYjM3ZDNmMGYxZjViZWEwM2Y5MjIzM2EyYTdkNGRmNmVkZGYyMzFhNzg0MDg3ZGZhYyIKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgotZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQotCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCi0JaW5zdGFsbCAtbSA1NTUgJHtTfS9seW5pcyAke0R9LyR7YmluZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIKLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zCi0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZQotCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcwotCi0JY3AgLXIgJHtTfS9kYi8qICR7RH0vJHtkYXRhZGlyfS9seW5pcy9kYi8uCi0JY3AgLXIgJHtTfS9wbHVnaW5zLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zLy4KLQljcCAtciAke1N9L2luY2x1ZGUvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZS8uCi0JY3AgLXIgJHtTfS9leHRyYXMvKiAgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcy8uCi0gICAgICAgIGNwICR7U30vKi5wcmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RldmVsb3Blci5wcmYgJHtzeXNjb25mZGlyfS9kZWZhdWx0LnByZiIKLUZJTEVTXyR7UE59LWRvYyArPSAibHluaXMuOCBGQVEgUkVBRE1FIENIQU5HRUxPRy5tZCBDT05UUklCVVRJT05TLm1kIENPTlRSSUJVVE9SUy5tZCIgCi0KLVJERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLWF1ZGl0b3JzL2x5bmlzL2x5bmlzXzIuNy4yLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYmE4MmY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1hdWRpdG9ycy9seW5pcy9seW5pc18yLjcuMi5iYgpAQCAtMCwwICsxLDQxIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcm1pbiBLdXN0ZXIgIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKyMgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIChzZWUgQ09QWUlORy5NSVQgZm9yIHRoZSB0ZXJtcykKKworU1VNTUFSWSA9ICJMeW5pcyBpcyBhIGZyZWUgYW5kIG9wZW4gc291cmNlIHNlY3VyaXR5IGFuZCBhdWRpdGluZyB0b29sLiIKK0hPTUVESVIgPSAiaHR0cHM6Ly9jaXNvZnkuY29tLyIKK0xJQ0VOU0UgPSAiR1BMLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTNlZGQ2NzgyODU0MzA0ZmQxMWRhNDk3NWFiOTc5OWMxIgorCitTUkNfVVJJID0gImh0dHBzOi8vY2lzb2Z5LmNvbS9maWxlcy8ke0JQTn0tJHtQVn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzQyMmNlZTNiMTJmYzMzMzM4ZmNkZTAwM2Q2NWUyMzQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZmRlNmNjZjhkNmVjMGFlMWU5YzlmNGE2ZDY0MGNkZGNkZTRiZjdhOTJmODQzN2Q0N2QxNmE1NDc3ZTIxYmZkYSIKKworUyA9ICIke1dPUktESVJ9LyR7QlBOfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK2RvX2NvbXBpbGVbbm9leGVjXSA9ICIxIgorZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCisJaW5zdGFsbCAtbSA1NTUgJHtTfS9seW5pcyAke0R9LyR7YmluZGlyfQorCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvZGIKKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZQorCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcworCisJY3AgLXIgJHtTfS9kYi8qICR7RH0vJHtkYXRhZGlyfS9seW5pcy9kYi8uCisJY3AgLXIgJHtTfS9wbHVnaW5zLyogICR7RH0vJHtkYXRhZGlyfS9seW5pcy9wbHVnaW5zLy4KKwljcCAtciAke1N9L2luY2x1ZGUvKiAke0R9LyR7ZGF0YWRpcn0vbHluaXMvaW5jbHVkZS8uCisJY3AgLXIgJHtTfS9leHRyYXMvKiAgJHtEfS8ke2RhdGFkaXJ9L2x5bmlzL2V4dHJhcy8uCisgICAgICAgIGNwICR7U30vKi5wcmYgJHtEfS8ke3N5c2NvbmZkaXJ9L2x5bmlzCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RldmVsb3Blci5wcmYgJHtzeXNjb25mZGlyfS9kZWZhdWx0LnByZiIKK0ZJTEVTXyR7UE59LWRvYyArPSAibHluaXMuOCBGQVEgUkVBRE1FIENIQU5HRUxPRy5tZCBDT05UUklCVVRJT05TLm1kIENPTlRSSUJVVE9SUy5tZCIgCisKK1JERVBFTkRTXyR7UE59ICs9ICJwcm9jcHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29lLXNjYXAvb2Utc2NhcF8xLjAuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29lLXNjYXAvb2Utc2NhcF8xLjAuYmIKaW5kZXggNWI2MTM3NS4uZTg0ZWQzMCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vZS1zY2FwL29lLXNjYXBfMS4wLmJiCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb2Utc2NhcC9vZS1zY2FwXzEuMC5iYgpAQCAtOCwxMiArOCwxMSBAQAogU1JDUkVWID0gIjcxNDc4NzFkN2YzN2Q0MDhjMGRkNzcyMGVmMGZkM2VjMWI1NGFkOTgiCiBTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYWt1c3Rlci9vZS1zY2FwLmdpdCIKIFNSQ19VUkkgKz0gIiBcCi0JZmlsZTovL3J1bl9jdmUuc2ggXAotCWZpbGU6Ly9ydW5fdGVzdC5zaCBcCi0JZmlsZTovL09wZW5FbWJlZGRlZF9ub2Rpc3Ryb18wLnhtbCBcCi0gICAgICAgIGZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54Y2NkZi54bWwgXAotIgotCQorICAgICAgICAgICAgZmlsZTovL3J1bl9jdmUuc2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bl90ZXN0LnNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9PcGVuRW1iZWRkZWRfbm9kaXN0cm9fMC54bWwgXAorICAgICAgICAgICAgZmlsZTovL09wZW5FbWJlZGRlZF9ub2Rpc3Ryb18wLnhjY2RmLnhtbCBcCisgICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vZmlsZXMvMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29wZW5zY2FwLWRhZW1vbi9maWxlcy8wMDAxLVJlbmFtZWQtbW9kdWxlLWFuZC12YXJpYWJsZXMtdG8tZ2V0LXJpZC1vZi1hc3luYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTUxOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vZmlsZXMvMDAwMS1SZW5hbWVkLW1vZHVsZS1hbmQtdmFyaWFibGVzLXRvLWdldC1yaWQtb2YtYXN5bmMucGF0Y2gKQEAgLTAsMCArMSwxMzAgQEAKK0Zyb20gYzM0MzQ5NzIwYTU3OTk3ZDMwOTQ2Mjg2NzU2ZTJiYTlkYmFiNmFjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9NYXQ9QzQ9OUJqPTIwVD1DMz1CRD1DND04RD89IDxtYXR5Y0ByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDExOjIxOjE5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlbmFtZWQgbW9kdWxlIGFuZCB2YXJpYWJsZXMgdG8gZ2V0IHJpZCBvZiBhc3luYy4KKworYXN5bmMgaXMgYSByZXNlcnZlZCB3b3JkIGluIFB5dGhvbiAzLjcuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1todHRwczovL2dpdGh1Yi5jb20vT3BlblNDQVAvb3BlbnNjYXAtZGFlbW9uL2NvbW1pdC9jMzQzNDk3MjBhNTc5OTdkMzA5NDYyODY3NTZlMmJhOWRiYWI2YWNlXQorCitTaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+CistLS0KKyBvcGVuc2NhcF9kYWVtb24ve2FzeW5jLnB5ID0+IGFzeW5jX3Rvb2xzLnB5fSB8ICAwCisgb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5ICAgICAgICAgICAgICAgfCAgMiArLQorIG9wZW5zY2FwX2RhZW1vbi9zeXN0ZW0ucHkgICAgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKystLS0tLS0tLQorIHRlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkgICAgICAgICAgICAgIHwgIDMgKystCisgNCBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKyByZW5hbWUgb3BlbnNjYXBfZGFlbW9uL3thc3luYy5weSA9PiBhc3luY190b29scy5weX0gKDEwMCUpCisKK2RpZmYgLS1naXQgYS9vcGVuc2NhcF9kYWVtb24vYXN5bmMucHkgYi9vcGVuc2NhcF9kYWVtb24vYXN5bmNfdG9vbHMucHkKK3NpbWlsYXJpdHkgaW5kZXggMTAwJQorcmVuYW1lIGZyb20gb3BlbnNjYXBfZGFlbW9uL2FzeW5jLnB5CityZW5hbWUgdG8gb3BlbnNjYXBfZGFlbW9uL2FzeW5jX3Rvb2xzLnB5CitkaWZmIC0tZ2l0IGEvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5IGIvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5CitpbmRleCBlNmVhZGY5Li5jYjZhOGI2IDEwMDY0NAorLS0tIGEvb3BlbnNjYXBfZGFlbW9uL2RidXNfZGFlbW9uLnB5CisrKysgYi9vcGVuc2NhcF9kYWVtb24vZGJ1c19kYWVtb24ucHkKK0BAIC04MSw3ICs4MSw3IEBAIGNsYXNzIE9wZW5TQ0FQRGFlbW9uRGJ1cyhkYnVzLnNlcnZpY2UuT2JqZWN0KToKKyAgICAgQGRidXMuc2VydmljZS5tZXRob2QoZGJ1c19pbnRlcmZhY2U9ZGJ1c191dGlscy5EQlVTX0lOVEVSRkFDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fc2lnbmF0dXJlPSIiLCBvdXRfc2lnbmF0dXJlPSJhKHhzaSkiKQorICAgICBkZWYgR2V0QXN5bmNBY3Rpb25zU3RhdHVzKHNlbGYpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtLmFzeW5jLmdldF9zdGF0dXMoKQorKyAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtLmFzeW5jX21hbmFnZXIuZ2V0X3N0YXR1cygpCisgCisgICAgIEBkYnVzLnNlcnZpY2UubWV0aG9kKGRidXNfaW50ZXJmYWNlPWRidXNfdXRpbHMuREJVU19JTlRFUkZBQ0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluX3NpZ25hdHVyZT0icyIsIG91dF9zaWduYXR1cmU9Iihzc3NuKSIpCitkaWZmIC0tZ2l0IGEvb3BlbnNjYXBfZGFlbW9uL3N5c3RlbS5weSBiL29wZW5zY2FwX2RhZW1vbi9zeXN0ZW0ucHkKK2luZGV4IDIwMTJmNmUuLjg1YzI2ODAgMTAwNjQ0CistLS0gYS9vcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5CisrKysgYi9vcGVuc2NhcF9kYWVtb24vc3lzdGVtLnB5CitAQCAtMjYsNyArMjYsNyBAQCBpbXBvcnQgbG9nZ2luZworIGZyb20gb3BlbnNjYXBfZGFlbW9uLnRhc2sgaW1wb3J0IFRhc2sKKyBmcm9tIG9wZW5zY2FwX2RhZW1vbi5jb25maWcgaW1wb3J0IENvbmZpZ3VyYXRpb24KKyBmcm9tIG9wZW5zY2FwX2RhZW1vbiBpbXBvcnQgb3NjYXBfaGVscGVycworLWZyb20gb3BlbnNjYXBfZGFlbW9uIGltcG9ydCBhc3luYworK2Zyb20gb3BlbnNjYXBfZGFlbW9uIGltcG9ydCBhc3luY190b29scworIAorIAorIGNsYXNzIFJlc3VsdHNOb3RBdmFpbGFibGUoRXhjZXB0aW9uKToKK0BAIC00MCw3ICs0MCw3IEBAIFRBU0tfQUNUSU9OX1BSSU9SSVRZID0gMTAKKyAKKyBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbmZpZ19maWxlKToKKy0gICAgICAgIHNlbGYuYXN5bmMgPSBhc3luYy5Bc3luY01hbmFnZXIoKQorKyAgICAgICAgc2VsZi5hc3luY19tYW5hZ2VyID0gYXN5bmNfdG9vbHMuQXN5bmNNYW5hZ2VyKCkKKyAKKyAgICAgICAgIGxvZ2dpbmcuaW5mbygiTG9hZGluZyBjb25maWd1cmF0aW9uIGZyb20gJyVzJy4iLCBjb25maWdfZmlsZSkKKyAgICAgICAgIHNlbGYuY29uZmlnID0gQ29uZmlndXJhdGlvbigpCitAQCAtOTAsNyArOTAsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICBpbnB1dF9maWxlLCB0YWlsb3JpbmdfZmlsZSwgTm9uZQorICAgICAgICAgKQorIAorLSAgICBjbGFzcyBBc3luY0V2YWx1YXRlU3BlY0FjdGlvbihhc3luYy5Bc3luY0FjdGlvbik6CisrICAgIGNsYXNzIEFzeW5jRXZhbHVhdGVTcGVjQWN0aW9uKGFzeW5jX3Rvb2xzLkFzeW5jQWN0aW9uKToKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzeXN0ZW0sIHNwZWMpOgorICAgICAgICAgICAgIHN1cGVyKFN5c3RlbS5Bc3luY0V2YWx1YXRlU3BlY0FjdGlvbiwgc2VsZikuX19pbml0X18oKQorIAorQEAgLTExMyw3ICsxMTMsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICByZXR1cm4gIkV2YWx1YXRlIFNwZWMgJyVzJyIgJSAoc2VsZi5zcGVjKQorIAorICAgICBkZWYgZXZhbHVhdGVfc3BlY19hc3luYyhzZWxmLCBzcGVjKToKKy0gICAgICAgIHJldHVybiBzZWxmLmFzeW5jLmVucXVldWUoCisrICAgICAgICByZXR1cm4gc2VsZi5hc3luY19tYW5hZ2VyLmVucXVldWUoCisgICAgICAgICAgICAgU3lzdGVtLkFzeW5jRXZhbHVhdGVTcGVjQWN0aW9uKAorICAgICAgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgICAgICBzcGVjCitAQCAtNDg4LDcgKzQ4OCw3IEBAIGNsYXNzIFN5c3RlbShvYmplY3QpOgorIAorICAgICAgICAgcmV0dXJuIHJldAorIAorLSAgICBjbGFzcyBBc3luY1VwZGF0ZVRhc2tBY3Rpb24oYXN5bmMuQXN5bmNBY3Rpb24pOgorKyAgICBjbGFzcyBBc3luY1VwZGF0ZVRhc2tBY3Rpb24oYXN5bmNfdG9vbHMuQXN5bmNBY3Rpb24pOgorICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN5c3RlbSwgdGFza19pZCwgcmVmZXJlbmNlX2RhdGV0aW1lKToKKyAgICAgICAgICAgICBzdXBlcihTeXN0ZW0uQXN5bmNVcGRhdGVUYXNrQWN0aW9uLCBzZWxmKS5fX2luaXRfXygpCisgCitAQCAtNTM2LDcgKzUzNiw3IEBAIGNsYXNzIFN5c3RlbShvYmplY3QpOgorIAorICAgICAgICAgICAgICAgICBpZiB0YXNrLnNob3VsZF9iZV91cGRhdGVkKHJlZmVyZW5jZV9kYXRldGltZSk6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhc2tzX3NjaGVkdWxlZC5hZGQodGFzay5pZF8pCistICAgICAgICAgICAgICAgICAgICBzZWxmLmFzeW5jLmVucXVldWUoCisrICAgICAgICAgICAgICAgICAgICBzZWxmLmFzeW5jX21hbmFnZXIuZW5xdWV1ZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uQXN5bmNVcGRhdGVUYXNrQWN0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrLmlkXywKK0BAIC02NjIsNyArNjYyLDcgQEAgY2xhc3MgU3lzdGVtKG9iamVjdCk6CisgICAgICAgICAgICAgZml4X3R5cGUKKyAgICAgICAgICkKKyAKKy0gICAgY2xhc3MgQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24oYXN5bmMuQXN5bmNBY3Rpb24pOgorKyAgICBjbGFzcyBBc3luY0V2YWx1YXRlQ1ZFU2Nhbm5lcldvcmtlckFjdGlvbihhc3luY190b29scy5Bc3luY0FjdGlvbik6CisgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgc3lzdGVtLCB3b3JrZXIpOgorICAgICAgICAgICAgIHN1cGVyKFN5c3RlbS5Bc3luY0V2YWx1YXRlQ1ZFU2Nhbm5lcldvcmtlckFjdGlvbiwgc2VsZikuX19pbml0X18oKQorIAorQEAgLTY4MCw3ICs2ODAsNyBAQCBjbGFzcyBTeXN0ZW0ob2JqZWN0KToKKyAgICAgICAgICAgICByZXR1cm4gIkV2YWx1YXRlIENWRSBTY2FubmVyIFdvcmtlciAnJXMnIiAlIChzZWxmLndvcmtlcikKKyAKKyAgICAgZGVmIGV2YWx1YXRlX2N2ZV9zY2FubmVyX3dvcmtlcl9hc3luYyhzZWxmLCB3b3JrZXIpOgorLSAgICAgICAgcmV0dXJuIHNlbGYuYXN5bmMuZW5xdWV1ZSgKKysgICAgICAgIHJldHVybiBzZWxmLmFzeW5jX21hbmFnZXIuZW5xdWV1ZSgKKyAgICAgICAgICAgICBTeXN0ZW0uQXN5bmNFdmFsdWF0ZUNWRVNjYW5uZXJXb3JrZXJBY3Rpb24oCisgICAgICAgICAgICAgICAgIHNlbGYsCisgICAgICAgICAgICAgICAgIHdvcmtlcgorZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF9iYXNpY191cGRhdGUucHkgYi90ZXN0cy91bml0L3Rlc3RfYmFzaWNfdXBkYXRlLnB5CitpbmRleCA2ZjY4M2U2Li43Zjk1M2Y3IDEwMDc1NQorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X2Jhc2ljX3VwZGF0ZS5weQorKysrIGIvdGVzdHMvdW5pdC90ZXN0X2Jhc2ljX3VwZGF0ZS5weQorQEAgLTM3LDggKzM3LDkgQEAgY2xhc3MgQmFzaWNVcGRhdGVUZXN0KHVuaXRfdGVzdF9oYXJuZXNzLkFQSVRlc3QpOgorICAgICAgICAgcHJpbnQoc2VsZi5zeXN0ZW0udGFza3MpCisgICAgICAgICBzZWxmLnN5c3RlbS5zY2hlZHVsZV90YXNrcygpCisgCistICAgICAgICB3aGlsZSBsZW4oc2VsZi5zeXN0ZW0uYXN5bmMuYWN0aW9ucykgPiAwOgorKyAgICAgICAgd2hpbGUgbGVuKHNlbGYuc3lzdGVtLmFzeW5jX21hbmFnZXIuYWN0aW9ucykgPiAwOgorICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKKyAKKysKKyBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgICBCYXNpY1VwZGF0ZVRlc3QucnVuKCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vb3BlbnNjYXAtZGFlbW9uXzAuMS4xMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvb3BlbnNjYXAtZGFlbW9uL29wZW5zY2FwLWRhZW1vbl8wLjEuMTAuYmIKaW5kZXggYTZhOTM3My4uY2E2ZTAzMCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9vcGVuc2NhcC1kYWVtb24vb3BlbnNjYXAtZGFlbW9uXzAuMS4xMC5iYgorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL29wZW5zY2FwLWRhZW1vbi9vcGVuc2NhcC1kYWVtb25fMC4xLjEwLmJiCkBAIC05LDcgKzksOSBAQAogREVQRU5EUyA9ICJweXRob24zLWRidXMiCiAKIFNSQ1JFViA9ICJmMjViMTZhZmI2YWM3NjFmZWExMzEzMmZmNDA2ZmJhNGNkZmQyYjc2IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL09wZW5TQ0FQL29wZW5zY2FwLWRhZW1vbi5naXQiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vT3BlblNDQVAvb3BlbnNjYXAtZGFlbW9uLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJlbmFtZWQtbW9kdWxlLWFuZC12YXJpYWJsZXMtdG8tZ2V0LXJpZC1vZi1hc3luYy5wYXRjaCBcCisgICAgICAgICAgIgogCiBpbmhlcml0IHNldHVwdG9vbHMzCiAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvc2NhcC1zZWN1cml0eS1ndWlkZS9zY2FwLXNlY3VyaXR5LWd1aWRlXzAuMS4zMy5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS1zZWN1cml0eS1jb21wbGlhbmNlL3JlY2lwZXMtb3BlbnNjYXAvc2NhcC1zZWN1cml0eS1ndWlkZS9zY2FwLXNlY3VyaXR5LWd1aWRlXzAuMS4zMy5iYgppbmRleCA3ZmE0MTdkLi4yN2QzZDg2IDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtc2VjdXJpdHktY29tcGxpYW5jZS9yZWNpcGVzLW9wZW5zY2FwL3NjYXAtc2VjdXJpdHktZ3VpZGUvc2NhcC1zZWN1cml0eS1ndWlkZV8wLjEuMzMuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXNlY3VyaXR5LWNvbXBsaWFuY2UvcmVjaXBlcy1vcGVuc2NhcC9zY2FwLXNlY3VyaXR5LWd1aWRlL3NjYXAtc2VjdXJpdHktZ3VpZGVfMC4xLjMzLmJiCkBAIC0xOSw2ICsxOSw4IEBACiAKIFNUQUdJTkdfT1NDQVBfQlVJTERESVIgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL29wZW5zY2FwL29zY2FwLWJ1aWxkLWFydGlmYWN0cyIKIAorT0VDTUFLRV9HRU5FUkFUT1IgPSAiVW5peCBNYWtlZmlsZXMiCisKIEVYVFJBX09FQ01BS0UgKz0gIi1EU1NHX1BST0RVQ1RfQ0hST01JVU06Qk9PTD1PRkYiCiBFWFRSQV9PRUNNQUtFICs9ICItRFNTR19QUk9EVUNUX0RFQklBTjg6Qk9PTD1PRkYiCiBFWFRSQV9PRUNNQUtFICs9ICItRFNTR19QUk9EVUNUX0ZFRE9SQTpCT09MPU9GRiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YzFhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCkBAIC0wLDAgKzEsMzkgQEAKKyMgbWV0YS10cG0gTWFpbnRhaW5lcnMgRmlsZQorIworIyBUaGlzIGZpbGUgY29udGFpbnMgYSBsaXN0IG9mIHJlY2lwZSBtYWludGFpbmVycy4KKyMKKyMgUGxlYXNlIHN1Ym1pdCBhbnkgcGF0Y2hlcyBhZ2FpbnN0IHJlY2lwZXMgaW4gbWV0YSB0byB0aGUgCisjIFlvY3RvIG1haWwgbGlzdCAoeW9jdG9AeW9jdG9wcm9qZWN0Lm9yZykKKyMKKyMgSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBvciBxdWVzdGlvbnMgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlY2lwZSwgZmVlbAorIyBmcmVlIHRvIGNvbnRhY3QgdGhlIG1haW50YWluZXIgZGlyZWN0bHkgKGNjOmluZyB0aGUgYXBwcm9wcmlhdGUgbWFpbGluZyBsaXN0CisjIHB1dHMgaXQgaW4gdGhlIGFyY2hpdmUgYW5kIGhlbHBzIG90aGVyIHBlb3BsZSB3aG8gbWlnaHQgaGF2ZSB0aGUgc2FtZQorIyBxdWVzdGlvbnMgaW4gdGhlIGZ1dHVyZSksIGJ1dCBwbGVhc2UgdHJ5IHRvIGRvIHRoZSBmb2xsb3dpbmcgZmlyc3Q6CisjCisjICAtIGxvb2sgaW4gdGhlIFlvY3RvIFByb2plY3QgQnVnemlsbGEKKyMgICAgKGh0dHA6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnLykgdG8gc2VlIGlmIGEgcHJvYmxlbSBoYXMKKyMgICAgYWxyZWFkeSBiZWVuIHJlcG9ydGVkCisjCisjIFRoZSBmb3JtYXQgaXMgYXMgYSBiaXRiYWtlIHZhcmlhYmxlIG92ZXJyaWRlIGZvciBlYWNoIHJlY2lwZQorIworIwlSRUNJUEVfTUFJTlRBSU5FUl9wbi08cmVjaXBlIG5hbWU+ID0gIkZ1bGwgTmFtZSA8YWRkcmVzc0Bkb21haW4+IgorIworIyBQbGVhc2Uga2VlcCB0aGlzIGxpc3QgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLgorUkVDSVBFX01BSU5UQUlORVJfcG4tYWlyY3JhY2stbmcgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1wY3ItZXh0ZW5kID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtLXF1b3RlLXRvb2xzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidHBtID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHJvdXNlcnMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1zd3RwbSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW9wZW5zc2wtdHBtLWVuZ2luZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbS10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItYWJybWQgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRvdHAgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRjdGktdWVmaSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItdHNzLWVuZ2luZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXRwbTItcGtjczExID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdHBtMi10c3MgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi10cG0yLXRvb2xzID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taWJtc3d0cG0yID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgorCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHBtMi5weSBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vbGliL29lcWEvcnVudGltZS9jYXNlcy90cG0yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MGE5YjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvdHBtMi5weQpAQCAtMCwwICsxLDQzIEBACisjIENvcHlyaWdodCAoQykgMjAxOSBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorIworZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5jb3JlLmRlY29yYXRvci5kZXBlbmRzIGltcG9ydCBPRVRlc3REZXBlbmRzCitmcm9tIG9lcWEucnVudGltZS5kZWNvcmF0b3IucGFja2FnZSBpbXBvcnQgT0VIYXNQYWNrYWdlCisKKworY2xhc3MgVHBtMlRlc3QoT0VSdW50aW1lVGVzdENhc2UpOgorICAgIGRlZiBjaGVja19lbmRsaW5lcyhzZWxmLCByZXN1bHRzLCAgZXhwZWN0ZWRfZW5kbGluZXMpOiAKKyAgICAgICAgZm9yIGxpbmUgaW4gcmVzdWx0cy5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBmb3IgZWwgaW4gZXhwZWN0ZWRfZW5kbGluZXM6CisgICAgICAgICAgICAgICAgaWYgbGluZSA9PSBlbDoKKyAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZW5kbGluZXMucmVtb3ZlKGVsKQorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIGlmIGV4cGVjdGVkX2VuZGxpbmVzOgorICAgICAgICAgICAgc2VsZi5mYWlsKCdNaXNzaW5nIGV4cGVjdGVkIGxpbmUgZW5kaW5nczpcbiAgJXMnICUgJ1xuICAnLmpvaW4oZXhwZWN0ZWRfZW5kbGluZXMpKQorCisgICAgQE9FSGFzUGFja2FnZShbJ3RwbTIuMC10c3MnXSkKKyAgICBAT0VIYXNQYWNrYWdlKFsndHBtMi1hYnJtZCddKQorICAgIEBPRUhhc1BhY2thZ2UoWyd0cG0yLjAtdG9vbHMnXSkKKyAgICBAT0VIYXNQYWNrYWdlKFsnaWJtc3d0cG0yJ10pCisgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQorICAgIGRlZiB0ZXN0X3RwbTJfc2ltKHNlbGYpOgorICAgICAgICBjbWRzID0gWworICAgICAgICAgICAgICAgICd0cG1fc2VydmVyICYnLAorICAgICAgICAgICAgICAgICd0cG0yLWFicm1kIC0tYWxsb3ctcm9vdCAtLXRjdGk9bXNzaW0gJicKKyAgICAgICAgICAgICAgIF0KKworICAgICAgICBmb3IgY21kIGluIGNtZHM6CisgICAgICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bihjbWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgbXNnPSdcbicuam9pbihbY21kLCBvdXRwdXRdKSkKKworICAgIEBPRVRlc3REZXBlbmRzKFsndHBtMi5UcG0yVGVzdC50ZXN0X3RwbTJfc2ltJ10pCisgICAgZGVmIHRlc3RfdHBtMihzZWxmKToKKyAgICAgICAgIChzdGF0dXMsIG91dHB1dCkgPSBzZWxmLnRhcmdldC5ydW4oJ3RwbTJfcGNybGlzdCcpCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcyA9IFtdCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcy5hcHBlbmQoJ3NoYTEgOicpCisgICAgICAgICBleHBlY3RlZF9lbmRsaW5lcy5hcHBlbmQoJyAgMCAgOiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAzJykKKyAgICAgICAgIGV4cGVjdGVkX2VuZGxpbmVzLmFwcGVuZCgnICAxICA6IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAnKQorCisgICAgICAgICBzZWxmLmNoZWNrX2VuZGxpbmVzKG91dHB1dCwgZXhwZWN0ZWRfZW5kbGluZXMpCisKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMi5iYgppbmRleCBjNGM4ZmIyLi41ZGVkM2EyIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1zZWN1cml0eS10cG0yLmJiCkBAIC05LDEwICs5LDE1IEBACiAKIFNVTU1BUllfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIgPSAiU2VjdXJpdHkgVFBNIDIuMCBzdXBwb3J0IgogUkRFUEVORFNfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTIgPSAiIFwKLSAgICB0cG0yLjAtdG9vbHMgXAorICAgIHRwbTItdG9vbHMgXAogICAgIHRyb3VzZXJzIFwKICAgICBsaWJ0c3MyIFwKICAgICBsaWJ0c3MyLXRjdGktZGV2aWNlIFwKICAgICBsaWJ0c3MyLXRjdGktbXNzaW0gXAogICAgIHRwbTItYWJybWQgXAorICAgIHRwbTItcGtjczExIFwKKyAgICBjcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IgXAogICAgICIKKworUkRFUEVORFNfcGFja2FnZWdyb3VwLXNlY3VyaXR5LXRwbTJfYXBwZW5kX3g4NiA9ICIgdHBtMi10Y3RpLXVlZmkiCitSREVQRU5EU19wYWNrYWdlZ3JvdXAtc2VjdXJpdHktdHBtMl9hcHBlbmRfeDg2LTY0ID0gIiB0cG0yLXRjdGktdWVmaSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8wLjYuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8wLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODgyOTYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzAuNi4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTElCUE0gLSBTb2Z0d2FyZSBUUE0gTGlicmFyeSIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTczZjA3ODZhOTM2ZGEzODE0ODk2ZGYwNmFkMjI1YTkiCisKK1NSQ1JFViA9ICI5ZGM5MTU1NzJiNTFkYjA3MTQ2NDBiYTFkZGY4Y2NhOWMwZjI0ZjA1IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9saWJ0cG1zLmdpdDticmFuY2g9c3RhYmxlLSR7UFZ9IgorCitQRSA9ICIxIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgoraW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwgLS13aXRob3V0LW9wZW5zc2wsIG9wZW5zc2wiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzEuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vbGlidHBtL2xpYnRwbV8xLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5MzBkN2IuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9saWJ0cG0vbGlidHBtXzEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLVNVTU1BUlkgPSAiTElCUE0gLSBTb2Z0d2FyZSBUUE0gTGlicmFyeSIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTczZjA3ODZhOTM2ZGEzODE0ODk2ZGYwNmFkMjI1YTkiCi0KLVNSQ1JFViA9ICI0MTExYmQxYmNmNzIxZTZlN2I1ZjExZWQ5YzJiOTMwODM2NzdhYTI1IgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9saWJ0cG1zLmdpdCIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/PSAib3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsIC0td2l0aG91dC1vcGVuc3NsLCBvcGVuc3NsIgotCi1QViA9ICIxLjArZ2l0JHtTUkNQVn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8wLjEuMC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMC4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJkZThiMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMC4xLjAuYmIKQEAgLTAsMCArMSw1MSBAQAorU1VNTUFSWSA9ICJTV1RQTSAtIFNvZnR3YXJlIFRQTSBFbXVsYXRvciIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZmU4MDkyYzgzMmI3MWVmMjBkZmU0YzZkM2RlY2IzYTgiCitTRUNUSU9OID0gImFwcHMiCisKK0RFUEVORFMgPSAibGlidGFzbjEgZXhwZWN0IHNvY2F0IGdsaWItMi4wIG5ldC10b29scy1uYXRpdmUgbGlidHBtIGxpYnRwbS1uYXRpdmUiCisKKyMgY29uZmlndXJlIGNoZWNrcyBmb3IgdGhlIHRvb2xzIGFscmVhZHkgZHVyaW5nIGNvbXBpbGF0aW9uIGFuZAorIyB0aGVuIHN3dHBtX3NldHVwIG5lZWRzIHRoZW0gYXQgcnVudGltZQorREVQRU5EUyArPSAidHBtLXRvb2xzLW5hdGl2ZSBleHBlY3QtbmF0aXZlIHNvY2F0LW5hdGl2ZSIKKworU1JDUkVWID0gImQ4MDNkODQ1NzVhYjNlNWRhYzMxNmJmODYzYzdmNTY5YTI3ZWEzNWYiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3RlZmFuYmVyZ2VyL3N3dHBtLmdpdDticmFuY2g9c3RhYmxlLSR7UFZ9IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9mY250bF9oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2lvY3RsX2gucGF0Y2ggXAorICAgICAgICAgICAiCitQRSA9ICIxIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKK1BBUkFMTEVMX01BS0UgPSAiIgorCitUU1NfVVNFUj0idHNzIgorVFNTX0dST1VQPSJ0c3MiCisKK1BBQ0tBR0VDT05GSUcgPz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnQkJGSUxFX0NPTExFQ1RJT05TJywgJ2ZpbGVzeXN0ZW1zLWxheWVyJywgJ2N1c2UnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tvcGVuc3NsXSA9ICItLXdpdGgtb3BlbnNzbCwgLS13aXRob3V0LW9wZW5zc2wsIG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywgLS13aXRob3V0LWdudXRscywgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRob3V0LXNlbGludXgsIGxpYnNlbGludXgiCitQQUNLQUdFQ09ORklHW2N1c2VdID0gIi0td2l0aC1jdXNlLCAtLXdpdGhvdXQtY3VzZSwgZnVzZSIKKworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtdHNzLXVzZXI9JHtUU1NfVVNFUn0gLS13aXRoLXRzcy1ncm91cD0ke1RTU19HUk9VUH0iCisKK2V4cG9ydCBTRUFSQ0hfRElSID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtICR7VFNTX1VTRVJ9IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtZyAke1RTU19HUk9VUH0gLS1ob21lLWRpciAgXAorICAgIC0tbm8tY3JlYXRlLWhvbWUgIC0tc2hlbGwgL2Jpbi9mYWxzZSAke0JQTn0iCisKK1BBQ0tBR0VfQkVGT1JFX1BOID0gIiR7UE59LWN1c2UiCitGSUxFU18ke1BOfS1jdXNlID0gIiR7YmluZGlyfS9zd3RwbV9jdXNlIgorCitJTlNBTkVfU0tJUF8ke1BOfSAgICs9ICJkZXYtc28iCisKK1JERVBFTkRTXyR7UE59ID0gImxpYnRwbSBleHBlY3Qgc29jYXQgYmFzaCB0cG0tdG9vbHMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vc3d0cG0vc3d0cG1fMS4wLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8xLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmZTEzOTMuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS9zd3RwbS9zd3RwbV8xLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIlNXVFBNIC0gU29mdHdhcmUgVFBNIEVtdWxhdG9yIgotTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mZTgwOTJjODMyYjcxZWYyMGRmZTRjNmQzZGVjYjNhOCIKLVNFQ1RJT04gPSAiYXBwcyIKLQotREVQRU5EUyA9ICJsaWJ0YXNuMSBleHBlY3Qgc29jYXQgZ2xpYi0yLjAgbmV0LXRvb2xzLW5hdGl2ZSBsaWJ0cG0gbGlidHBtLW5hdGl2ZSIKLQotIyBjb25maWd1cmUgY2hlY2tzIGZvciB0aGUgdG9vbHMgYWxyZWFkeSBkdXJpbmcgY29tcGlsYXRpb24gYW5kCi0jIHRoZW4gc3d0cG1fc2V0dXAgbmVlZHMgdGhlbSBhdCBydW50aW1lCi1ERVBFTkRTICs9ICJ0cG0tdG9vbHMtbmF0aXZlIGV4cGVjdC1uYXRpdmUgc29jYXQtbmF0aXZlIgotCi1TUkNSRVYgPSAiOTRiYjlmMmQ3MTZkMDliY2M2Y2QyYTJlMDMzMDE4Zjg1OTIwMDhlNyIKLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdGVmYW5iZXJnZXIvc3d0cG0uZ2l0O2JyYW5jaD10cG0yLXByZXZpZXcudjIgXAotICAgICAgICAgICBmaWxlOi8vZml4X2ZjbnRsX2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW9jdGxfaC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi1QQVJBTExFTF9NQUtFID0gIiIKLQotVFNTX1VTRVI9InRzcyIKLVRTU19HUk9VUD0idHNzIgotCi1QQUNLQUdFQ09ORklHID89ICJvcGVuc3NsIGN1c2UiCi1QQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLCAtLXdpdGhvdXQtb3BlbnNzbCwgb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItLXdpdGgtZ251dGxzLCAtLXdpdGhvdXQtZ251dGxzLCBnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4LCAtLXdpdGhvdXQtc2VsaW51eCwgbGlic2VsaW51eCIKLVBBQ0tBR0VDT05GSUdbY3VzZV0gPSAiLS13aXRoLWN1c2UsIC0td2l0aG91dC1jdXNlLCBmdXNlIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC10c3MtdXNlcj0ke1RTU19VU0VSfSAtLXdpdGgtdHNzLWdyb3VwPSR7VFNTX0dST1VQfSIKLQotZXhwb3J0IFNFQVJDSF9ESVIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gJHtUU1NfVVNFUn0iCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC1nICR7VFNTX0dST1VQfSAtLWhvbWUtZGlyICBcCi0gICAgLS1uby1jcmVhdGUtaG9tZSAgLS1zaGVsbCAvYmluL2ZhbHNlICR7QlBOfSIKLQotUkRFUEVORFNfJHtQTn0gPSAibGlidHBtIGV4cGVjdCBzb2NhdCBiYXNoIHRwbS10b29scyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1weXRob24oKSB7Ci0gICAgaWYgJ2N1c2UnIGluIGQuZ2V0VmFyKCdQQUNLQUdFQ09ORklHJykgYW5kIFwKLSAgICAgICAgJ2ZpbGVzeXN0ZW1zLWxheWVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ0N1c2UgZW5hYmxlZCB3aGljaCByZXF1aXJlcyBtZXRhLWZpbGVzeXN0ZW1zIHRvIGJlIHByZXNlbnQuJykKLX0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMC4yLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL3RwbTItYWJybWRfMi4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNDczNzkuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL3RwbTItYWJybWRfMi4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1TVU1NQVJZID0gIlRQTTIgQWNjZXNzIEJyb2tlciAmIFJlc291cmNlIE1hbmFnZXIiCi1ERVNDUklQVElPTiA9ICJUaGlzIGlzIGEgc3lzdGVtIGRhZW1vbiBpbXBsZW1lbnRpbmcgdGhlIFRQTTIgYWNjZXNzIFwKLWJyb2tlciAoVEFCKSAmIFJlc291cmNlIE1hbmFnZXIgKFJNKSBzcGVjIGZyb20gdGhlIFRDRy4gVGhlIGRhZW1vbiAodHBtMi1hYnJtZCkgXAotaXMgaW1wbGVtZW50ZWQgdXNpbmcgR2xpYiBhbmQgdGhlIEdPYmplY3Qgc3lzdGVtLiBJbiB0aGlzIGRvY3VtZW50YXRpb24gYW5kIFwKLWluIHRoZSBjb2RlIHdlIHVzZSBgdHBtMi1hYnJtZGAgYW5kIGB0YWJybWRgIGludGVyY2hhbmdlYWJseS4gXAotIgotU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCi0KLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtTfS9MSUNFTlNFO21kNT01MDBiMmU3NDJiZWZjM2RhMDA2ODRkOGExZDVmZDlkYSIKLQotREVQRU5EUyA9ICJhdXRvY29uZi1hcmNoaXZlIGRidXMgZ2xpYi0yLjAgdHBtMi4wLXRzcyBnbGliLTIuMC1uYXRpdmUgXAotICAgICAgICAgICAgbGlidHNzMiBsaWJ0c3MyLW11IGxpYnRzczItdGN0aS1kZXZpY2UgbGlidHNzMi10Y3RpLW1zc2ltIgotCi0KLVNSQ19VUkkgPSAiXAotICAgIGdpdDovL2dpdGh1Yi5jb20vMDFvcmcvdHBtMi1hYnJtZC5naXQgXAotICAgIGZpbGU6Ly90cG0yLWFicm1kLWluaXQuc2ggXAotICAgIGZpbGU6Ly90cG0yLWFicm1kLmRlZmF1bHQgXAotIgotU1JDUkVWID0gImQwMTIwYWNlNThkOTdiYzk1MjBjMGQ1NTg2NTdlYWNhODdhZTczYjEiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1yYy5kIHVzZXJhZGQKLQotU1lTVEVNRF9QQUNLQUdFUyArPSAiJHtQTn0iCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAidHBtMi1hYnJtZC5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfSA9ICJkaXNhYmxlIgotCi1JTklUU0NSSVBUX05BTUUgPSAiJHtQTn0iCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5OSAyIDMgNCA1IC4gc3RvcCAxOSAwIDEgNiAuIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAidHNzIgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtTSAtZCAvdmFyL2xpYi90cG0gLXMgL2Jpbi9mYWxzZSAtZyB0c3MgdHNzIgotCi1QQUNLQUdFQ09ORklHID89IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywnc3lzdGVtZCcsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9bm8iCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKLSAgICBpbnN0YWxsIC1tIDA3NTUgIiR7V09SS0RJUn0vdHBtMi1hYnJtZC1pbml0LnNoIiAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3RwbTItYWJybWQiCi0KLSAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0IgotICAgIGluc3RhbGwgLW0gMDY0NCAiJHtXT1JLRElSfS90cG0yLWFicm1kLmRlZmF1bHQiICIke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3RwbTItYWJybWQiCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vc3lzdGVtZC9zeXN0ZW0tcHJlc2V0IFwKLQkJJHtkYXRhZGlyfS9kYnVzLTEiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ0cG0yLjAtdHNzIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRvb2xzL3RwbTIuMC10b29sc18zLjEuMi5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRvb2xzL3RwbTIuMC10b29sc18zLjEuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y0MGViNy4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10b29scy90cG0yLjAtdG9vbHNfMy4xLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1TVU1NQVJZID0gIlRvb2xzIGZvciBUUE0yLiIKLURFU0NSSVBUSU9OID0gInRwbTIuMC10b29scyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9OTFiN2M1NDhkNzNlYTE2NTM3Nzk5ZTgwNjBjZWE4MTkiCi1TRUNUSU9OID0gInRwbSIKLQotREVQRU5EUyA9ICJwa2djb25maWcgdHBtMi4wLXRzcyBvcGVuc3NsIGN1cmwgYXV0b2NvbmYtYXJjaGl2ZSIKLQotU1JDUkVWID0gIjVlMmYxYWFmYzU4ZTYwYzUwNTBmODUxNDdhMTQ5MTQ1NjFmMjhhZDkiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS8wMW9yZy90cG0yLjAtdG9vbHMuZ2l0O25hbWU9dHBtMi4wLXRvb2xzO2Rlc3RzdWZmaXg9dHBtMi4wLXRvb2xzO2JyYW5jaD0zLlgiCi0KLVMgPSAiJHtXT1JLRElSfS90cG0yLjAtdG9vbHMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3NfMi4wLjEuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzc18yLjAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWQxZmY3Mi4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTIuMC10c3MvdHBtMi4wLXRzc18yLjAuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLVNVTU1BUlkgPSAiU29mdHdhcmUgc3RhY2sgZm9yIFRQTTIuIgotREVTQ1JJUFRJT04gPSAidHBtMi4wLXRzcyBsaWtlIHdvYWguIgotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wYjFkNjMxYzQyMThiNzJmNmIwNWNiNTg2MTM2MDZmNCIKLVNFQ1RJT04gPSAidHBtIgotCi1ERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIGxpYmdjcnlwdCIKLQotU1JDUkVWID0gImRjMzFlOGRjYTlkYmM3N2QxNmU0MTlkYzUxNGNlOGM1MjZjZDMzNTEiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdHNzLmdpdDticmFuY2g9Mi4wLngiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgICAgLi9ib290c3RyYXAKLX0KLQotSU5IRVJJVCArPSAiZXh0cmF1c2VycyIKLUVYVFJBX1VTRVJTX1BBUkFNUyA9ICJcCi0JdXNlcmFkZCAtcCAnJyB0c3M7IFwKLQlncm91cGFkZCB0c3M7IFwKLQkiCi0KLVBST1ZJREVTID0gIiR7UEFDS0FHRVN9IgotUEFDS0FHRVMgPSAiIFwKLSAgICAke1BOfSBcCi0gICAgJHtQTn0tZGJnIFwKLSAgICAke1BOfS1kb2MgXAotICAgIGxpYnRzczItbXUgXAotICAgIGxpYnRzczItbXUtZGV2IFwKLSAgICBsaWJ0c3MyLW11LXN0YXRpY2RldiBcCi0gICAgbGlidHNzMi10Y3RpLWRldmljZSBcCi0gICAgbGlidHNzMi10Y3RpLWRldmljZS1kZXYgXAotICAgIGxpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2IFwKLSAgICBsaWJ0c3MyLXRjdGktbXNzaW0gXAotICAgIGxpYnRzczItdGN0aS1tc3NpbS1kZXYgXAotICAgIGxpYnRzczItdGN0aS1tc3NpbS1zdGF0aWNkZXYgXAotICAgIGxpYnRzczIgXAotICAgIGxpYnRzczItZGV2IFwKLSAgICBsaWJ0c3MyLXN0YXRpY2RldiBcCi0iCi0KLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2Uuc28uKiIKLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2UtZGV2ID0gIiBcCi0gICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfdGN0aV9kZXZpY2UuaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktZGV2aWNlLnBjIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS5zbyIKLUZJTEVTX2xpYnRzczItdGN0aS1kZXZpY2Utc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLiphIgotCi1GSUxFU19saWJ0c3MyLXRjdGktbXNzaW0gPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS5zby4qIgotRklMRVNfbGlidHNzMi10Y3RpLW1zc2ltLWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0vdHNzMi90c3MyX3RjdGlfbXNzaW0uaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLXRjdGktbXNzaW0ucGMgXAotICAgICR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uc28iCi1GSUxFU19saWJ0c3MyLXRjdGktbXNzaW0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLXRjdGktbXNzaW0uKmEiCi0KLUZJTEVTX2xpYnRzczItbXUgPSAiJHtsaWJkaXJ9L2xpYnRzczItbXUuc28uKiIKLUZJTEVTX2xpYnRzczItbXUtZGV2ID0gIiBcCi0gICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfbXUuaCBcCi0gICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy90c3MyLW11LnBjIFwKLSAgICAke2xpYmRpcn0vbGlidHNzMi1tdS5zbyIKLUZJTEVTX2xpYnRzczItbXUtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJ0c3MyLW11LiphIgotCi1GSUxFU19saWJ0c3MyID0gIiR7bGliZGlyfS9saWJ0c3MyKnNvLioiCi1GSUxFU19saWJ0c3MyLWRldiA9ICIgXAotICAgICR7aW5jbHVkZWRpcn0gXAotICAgICR7bGliZGlyfS9wa2djb25maWcgXAotICAgICR7bGliZGlyfS9saWJ0c3MyKnNvIgotRklMRVNfbGlidHNzMi1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzcyphIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vdWRldiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMnNpbXVsYXRvci90cG0yc2ltdWxhdG9yXzEzOC5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMnNpbXVsYXRvci90cG0yc2ltdWxhdG9yXzEzOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY2NzkxYy4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtL3RwbTJzaW11bGF0b3IvdHBtMnNpbXVsYXRvcl8xMzguYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlRQTSAyLjAgU2ltdWxhdG9yIEV4dHJhY3Rpb24gU2NyaXB0IgotTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xNDE1ZjdiZTI4NDU0MGI4MWQ5ZDI4YzY3YzFhNmI4YiIKLQotREVQRU5EUyA9ICJweXRob24iCi0KLVNSQ1JFViA9ICJlNDUzMjRlYmEyNjg3MjNkMzk4NTYxMTFlNzkzM2M1Yzc2MjM4NDgxIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3N0d2FnbnIvdHBtMnNpbXVsYXRvci5naXQiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi1PRUNNQUtFX1NPVVJDRVBBVEggPSAiJHtTfS9jbWFrZSIKLQotaW5oZXJpdCBuYXRpdmUgbGliX3BhY2thZ2UgY21ha2UKLQotRVhUUkFfT0VDTUFLRSA9ICIgXAotCS1EQ01BS0VfQlVJTERfVFlQRT1EZWJ1ZyBcCi0JLURTUEVDX1ZFUlNJT049MTM4IFwKLSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCXNlZCAtaSAncy9eU0VUID0gRmFsc2UvU0VUID0gVHJ1ZS8nICR7U30vc2NyaXB0cy9zZXR0aW5ncy5weSAKLX0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3JfMC45LjkuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yXzAuOS45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNTA0NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yXzAuOS45LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQW4gZXh0ZW5zaW9uIHRvIGNyeXB0c2V0dXAvTFVLUyB0aGF0IGVuYWJsZXMgdXNlIG9mIHRoZSBUUE0gMi4wIHZpYSB0cG0yLXRzcyIKK0RFU0NSSVBUSU9OID0gIkNyeXB0c2V0dXAgaXMgdXRpbGl0eSB1c2VkIHRvIGNvbnZlbmllbnRseSBzZXR1cCBkaXNrIGVuY3J5cHRpb24gYmFzZWQgb24gRE1DcnlwdCBrZXJuZWwgbW9kdWxlLiIKKworU0VDVElPTiA9ICJzZWN1cml0eS90cG0iCitMSUNFTlNFID0gIkxHUEwtMi4xIHwgR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTMyMTA3ZGQyODNiMWRmZWI2NmM5YjNlNmJlMzEyMzI2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEdQTDttZDU9MTk2MDUxNTc4ODEwMGNlNWY5Yzk4ZWE3OGE2NWRjNTIgXAorICAgICAgICAgICAgICAgICAgICAiCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZSBwa2djb25maWcgZ2V0dGV4dCBsaWJ0c3MyLWRldiBsaWJkZXZtYXBwZXIgcG9wdCBsaWJnY3J5cHQganNvbi1jIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vQW5kcmVhc0Z1Y2hzU0lUL2NyeXB0c2V0dXAtdHBtLWluY3ViYXRvci5naXQ7YnJhbmNoPWx1a3MydHBtIFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZV9maXgucGF0Y2ggIgorCitTUkNSRVYgPSAiMTVjMjgzMTk1ZjE5ZjFkOTgwZTM5YmE0NTQ0ODY4M2Q1ZTM4MzE3OSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQKKworUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi0td2l0aC1jcnlwdG9fYmFja2VuZD1nY3J5cHQsLGxpYmdjcnlwdCIKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXN0YXRpYyIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1hZXMtZ2VuZXJpYyBcCisgICAgICAgICAgICAgICAgICAgICBrZXJuZWwtbW9kdWxlLWRtLWNyeXB0IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtbWQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtY2JjIFwKKyAgICAgICAgICAgICAgICAgICAgIGtlcm5lbC1tb2R1bGUtc2hhMjU2LWdlbmVyaWMgXAorICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS14dHMgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJsdm0yIgorUlJFQ09NTUVORFNfJHtQTn0gKz0gImx2bTItdWRldnJ1bGVzIgorCitSUkVQTEFDRVNfJHtQTn0gPSAiY3J5cHRzZXR1cCIKK1JDT05GTElDVFNfJHtQTn0gID0iY3J5cHRzZXR1cCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2ZpbGVzL2NvbmZpZ3VyZV9maXgucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9jcnlwdHNldHVwLXRwbS1pbmN1YmF0b3IvZmlsZXMvY29uZmlndXJlX2ZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzdiNmRhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvY3J5cHRzZXR1cC10cG0taW5jdWJhdG9yL2ZpbGVzL2NvbmZpZ3VyZV9maXgucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorVXBzdHJlYW0tU3RhdHVzOiBPRSBzcGVjaWZpYworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IGdpdC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9jb25maWd1cmUuYWMKKysrKyBnaXQvY29uZmlndXJlLmFjCitAQCAtMTYsNyArMTYsNyBAQCBBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmg6Y29uZmlnLmguaW5dCisgCisgIyBGb3Igb2xkIGF1dG9tYWtlIHVzZSB0aGlzCisgI0FNX0lOSVRfQVVUT01BS0UoZGlzdC14eiBzdWJkaXItb2JqZWN0cykKKy1BTV9JTklUX0FVVE9NQUtFKFtkaXN0LXh6IDEuMTIgc2VyaWFsLXRlc3RzIHN1YmRpci1vYmplY3RzXSkKKytBTV9JTklUX0FVVE9NQUtFKFtkaXN0LXh6IDEuMTIgc2VyaWFsLXRlc3RzIHN1YmRpci1vYmplY3RzIGZvcmVpZ25dKQorIAorIGlmIHRlc3QgIngkcHJlZml4IiA9ICJ4Tk9ORSI7IHRoZW4KKyAJc3lzY29uZmRpcj0vZXRjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9pYm1zd3RwbTIvaWJtc3d0cG0yXzEzMzIuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi9pYm1zd3RwbTIvaWJtc3d0cG0yXzEzMzIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYwNjhlNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL2libXN3dHBtMi9pYm1zd3RwbTJfMTMzMi5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIklCTSdzIFNvZnR3YXJlIFRQTSAyLjAiCisKK0xJQ0VOU0UgPSAiQlNEIgorU0VDVElPTiA9ICJzZWN1cnR5L3RwbSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0xJQ0VOU0U7bWQ1PTFlMDIzZjYxNDU0YWM4MjhiNGFhMWJjNDI5M2Y3ZDVmIgorCitTUkNfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2libXN3dHBtMi9maWxlcy9pYm10cG0xMzMyLnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwYWIzNGE2NTViNGUwOTgxMmQ3YWRhMTk3NDZhZjRmOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZTgxOTNhZjNkMTFkOWZmNmE5NTFkZGE4Y2QxZjQ2OTNjYjAxOTM0YThhZDc4NzZiODRlOTJjNjE0OGFiMGZkIgorCitERVBFTkRTID0gIm9wZW5zc2wiCisKK1MgPSAiJHtXT1JLRElSfS9zcmMiCisKK0xERkxBR1MgPSAiJHtMREZBTEdTfSIKKworZG9fY29tcGlsZSAoKSB7CisgICBtYWtlIENDPScke0NDfScKK30KKworZG9faW5zdGFsbCAoKSB7CisgICBpbnN0YWxsIC1kICR7RH0vJHtiaW5kaXJ9CisgICBpbnN0YWxsIC1tIDA3NTUgdHBtX3NlcnZlciAgJHtEfS8ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQtaW5pdC5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQtaW5pdC5zaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLWluaXQuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLWFicm1kL2ZpbGVzL3RwbTItYWJybWQuZGVmYXVsdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC9maWxlcy90cG0yLWFicm1kLmRlZmF1bHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjEuMS5iYiBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItYWJybWQvdHBtMi1hYnJtZF8yLjEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGM2NjgyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1hYnJtZC90cG0yLWFicm1kXzIuMS4xLmJiCkBAIC0wLDAgKzEsNTUgQEAKK1NVTU1BUlkgPSAiVFBNMiBBY2Nlc3MgQnJva2VyICYgUmVzb3VyY2UgTWFuYWdlciIKK0RFU0NSSVBUSU9OID0gIlRoaXMgaXMgYSBzeXN0ZW0gZGFlbW9uIGltcGxlbWVudGluZyB0aGUgVFBNMiBhY2Nlc3MgXAorYnJva2VyIChUQUIpICYgUmVzb3VyY2UgTWFuYWdlciAoUk0pIHNwZWMgZnJvbSB0aGUgVENHLiBUaGUgZGFlbW9uICh0cG0yLWFicm1kKSBcCitpcyBpbXBsZW1lbnRlZCB1c2luZyBHbGliIGFuZCB0aGUgR09iamVjdCBzeXN0ZW0uIEluIHRoaXMgZG9jdW1lbnRhdGlvbiBhbmQgXAoraW4gdGhlIGNvZGUgd2UgdXNlIGB0cG0yLWFicm1kYCBhbmQgYHRhYnJtZGAgaW50ZXJjaGFuZ2VhYmx5LiBcCisiCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKKworTElDRU5TRSA9ICJCU0QtMi1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L0xJQ0VOU0U7bWQ1PTUwMGIyZTc0MmJlZmMzZGEwMDY4NGQ4YTFkNWZkOWRhIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgZGJ1cyBnbGliLTIuMCB0cG0yLXRzcyBnbGliLTIuMC1uYXRpdmUgXAorICAgICAgICAgICAgbGlidHNzMiBsaWJ0c3MyLW11IGxpYnRzczItdGN0aS1kZXZpY2UgbGlidHNzMi10Y3RpLW1zc2ltIgorCisKK1NSQ19VUkkgPSAiXAorICAgIGdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLWFicm1kLmdpdCBcCisgICAgZmlsZTovL3RwbTItYWJybWQtaW5pdC5zaCBcCisgICAgZmlsZTovL3RwbTItYWJybWQuZGVmYXVsdCBcCisiCisKK1NSQ1JFViA9ICIwNmQ5ZDQzM2JhMjcxNTk2ODcyNTU0MDZiYWEzNzk0MGRiMTU0NjViIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZCB1cGRhdGUtcmMuZCB1c2VyYWRkCisKK1NZU1RFTURfUEFDS0FHRVMgKz0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInRwbTItYWJybWQuc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEVfJHtQTn0gPSAiZGlzYWJsZSIKKworSU5JVFNDUklQVF9OQU1FID0gIiR7UE59IgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOTkgMiAzIDQgNSAuIHN0b3AgMTkgMCAxIDYgLiIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gInRzcyIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLU0gLWQgL3Zhci9saWIvdHBtIC1zIC9iaW4vZmFsc2UgLWcgdHNzIHRzcyIKKworUEFDS0FHRUNPTkZJRyA/PSIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3N5c3RlbWQnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSwgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPW5vIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCisgICAgaW5zdGFsbCAtbSAwNzU1ICIke1dPUktESVJ9L3RwbTItYWJybWQtaW5pdC5zaCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cG0yLWFicm1kIgorCisgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKKyAgICBpbnN0YWxsIC1tIDA2NDQgIiR7V09SS0RJUn0vdHBtMi1hYnJtZC5kZWZhdWx0IiAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC90cG0yLWFicm1kIgorfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3N5c3RlbWQvc3lzdGVtLXByZXNldCBcCisJCSR7ZGF0YWRpcn0vZGJ1cy0xIgorCitSREVQRU5EU18ke1BOfSArPSAidHBtMi10c3MiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvZmlsZXMvYm9vdHN0cmFwX2ZpeHVwLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvZmlsZXMvYm9vdHN0cmFwX2ZpeHVwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzOGUyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXBrY3MxMS9maWxlcy9ib290c3RyYXBfZml4dXAucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBPRSBzcGVjaWZpYworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKworSW5kZXg6IGdpdC9ib290c3RyYXAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9ib290c3RyYXAKKysrKyBnaXQvYm9vdHN0cmFwCitAQCAtMjcsNCArMjcsMyBAQCBlY2hvICJHZW5lcmF0aW5nIGZpbGUgbGlzdHM6ICR7VkFSU19GSUxFCisgKSA+ICR7VkFSU19GSUxFfQorIAorIG1rZGlyIC1wIG00CistJHtBVVRPUkVDT05GfSAtLWluc3RhbGwgLS1zeW0gJEAKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL3RwbTItcGtjczExXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi1wa2NzMTEvdHBtMi1wa2NzMTFfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAzMWU2MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItcGtjczExL3RwbTItcGtjczExXzAuOS45LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQSBQS0NTIzExIGludGVyZmFjZSBmb3IgVFBNMiBoYXJkd2FyZSIKK0RFU0NSSVBUSU9OID0gIlBLQ1MgIzExIGlzIGEgUHVibGljLUtleSBDcnlwdG9ncmFwaHkgU3RhbmRhcmQgdGhhdCBkZWZpbmVzIGEgc3RhbmRhcmQgbWV0aG9kIHRvIGFjY2VzcyBjcnlwdG9ncmFwaGljIHNlcnZpY2VzIGZyb20gdG9rZW5zLyBkZXZpY2VzIHN1Y2ggYXMgaGFyZHdhcmUgc2VjdXJpdHkgbW9kdWxlcyAoSFNNKSwgc21hcnQgY2FyZHMsIGV0Yy4gSW4gdGhpcyBwcm9qZWN0IHdlIGludGVuZCB0byB1c2UgYSBUUE0yIGRldmljZSBhcyB0aGUgY3J5cHRvZ3JhcGhpYyB0b2tlbi4iCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9Yjc0OGFmNDFlZjEzMDBjOThlMTA1YjNiN2VjNGVjYzEiCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZSBwa2djb25maWcgZHN0YXQgc3FsaXRlMyBvcGVuc3NsIGxpYnRzczItZGV2IHRwbTItdG9vbHMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItcGtjczExLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9ib290c3RyYXBfZml4dXAucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDUkVWID0gIjMxMDdkODliNDA2ZWNkOWMwMDc4ODQ2MTM3MzNjOWEzNDRlZjZkMzkiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICR7U30vYm9vdHN0cmFwCit9CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS9maWxlcy9jb25maWd1cmVfb2VfZml4dXAucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRjdGktdWVmaS9maWxlcy9jb25maWd1cmVfb2VfZml4dXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEyMTZjZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL2ZpbGVzL2NvbmZpZ3VyZV9vZV9maXh1cC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6IE9FIHNwZWNpZmljCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPgorCitJbmRleDogZ2l0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGdpdC9jb25maWd1cmUuYWMKK0BAIC04NCw5ICs4NCw2IEBAIEFDX0FSR19XSVRIKFtlZmktbGRzXSwKKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWVmaS1sZHM9TERTX1BBVEhdLFtQYXRoIHRvIGdudS1lZmkgbGRzIGZpbGUuXSksCisgICAgICAgICAgICAgW10sCisgICAgICAgICAgICAgW3dpdGhfZWZpX2xkcz0iL3Vzci9saWIvZWxmXyR7QVJDSH1fZWZpLmxkcyJdKQorLUFDX0NIRUNLX0ZJTEUoWyIke3dpdGhfZWZpX2xkc30iXSwKKy0gICAgICAgICAgICAgIFtdLAorLSAgICAgICAgICAgICAgW0FDX01TR19FUlJPUihbTWlzc2luZyBmaWxlOiAke3dpdGhfZWZpX2xkc30uXSldKQorIEVYVFJBX0xERkxBR1M9Ii1MIC91c3IvbGliIC1MIC91c3IvbGliNjQgLVdsLC0tc2NyaXB0PSR7d2l0aF9lZmlfbGRzfSIKKyAKKyAjIHBhdGggdG8gb2JqZWN0IGZpbGUgZnJvbSBnbnUtZWZpCitAQCAtOTQsOSArOTEsNiBAQCBBQ19BUkdfV0lUSChbZWZpLWNydDBdLAorICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtZWZpLWNydDA9T0JKX1BBVEhdLFtQYXRoIHRvIGdudS1lZmkgY3J0MCBvYmplY3QgZmlsZS5dKSwKKyAgICAgICAgICAgICBbXSwKKyAgICAgICAgICAgICBbd2l0aF9lZmlfY3J0MD0iL3Vzci9saWIvY3J0MC1lZmktJHtBUkNIfS5vIl0pCistQUNfQ0hFQ0tfRklMRShbIiR7d2l0aF9lZmlfY3J0MH0iXSwKKy0gICAgICAgICAgICAgIFtdLAorLSAgICAgICAgICAgICAgW0FDX01TR19FUlJPUihbTWlzc2luZyAke3dpdGhfZWZpX2NydDB9IGZpbGUuXSldKQorIEVYVFJBX0xETElCUz0iJHt3aXRoX2VmaV9jcnQwfSIKKyAKKyAjIGNoZWNrIGZvciBlZmkgYW5kIGdudWVmaSBsaWJyYXJpZXMKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL3RwbTItdGN0aS11ZWZpXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10Y3RpLXVlZmkvdHBtMi10Y3RpLXVlZmlfMC45LjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1NjkxZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdGN0aS11ZWZpL3RwbTItdGN0aS11ZWZpXzAuOS45LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVENUSSBtb2R1bGUgZm9yIHVzZSB3aXRoIFRTUzIgbGlicmFyaWVzIGluIFVFRkkgZW52aXJvbm1lbnQiCitTRUNUSU9OID0gInNlY3VyaXR5L3RwbSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTAwYjJlNzQyYmVmYzNkYTAwNjg0ZDhhMWQ1ZmQ5ZGEiCitERVBFTkRTID0gImxpYnRzczItZGV2IGdudS1lZmktbmF0aXZlIGdudS1lZmkgcGtnY29uZmlnIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRjdGktdWVmaS5naXQgXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlX29lX2ZpeHVwLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiMTMxODg5ZDEyZDJjN2Q4OTc0NzExZDJlYmQxMDMyY2QzMjU3N2I3ZiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjQpLiotbGludXgiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXdpdGgtZWZpLWluY2x1ZGVkaXI9JHtTVEFHSU5HX0lOQ0RJUn0vZWZpIC0td2l0aC1lZmktbGRzPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS8iCitSREVQRU5EU18ke1BOfSA9ICJnbnUtZWZpIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b29scy90cG0yLXRvb2xzXzMuMS4zLmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b29scy90cG0yLXRvb2xzXzMuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmMWY1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvb2xzL3RwbTItdG9vbHNfMy4xLjMuYmIKQEAgLTAsMCArMSwxNSBAQAorU1VNTUFSWSA9ICJUb29scyBmb3IgVFBNMi4iCitERVNDUklQVElPTiA9ICJ0cG0yLXRvb2xzIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT05MWI3YzU0OGQ3M2VhMTY1Mzc3OTllODA2MGNlYTgxOSIKK1NFQ1RJT04gPSAidHBtIgorCitERVBFTkRTID0gInBrZ2NvbmZpZyB0cG0yLXRzcyBvcGVuc3NsIGN1cmwgYXV0b2NvbmYtYXJjaGl2ZSIKKworU1JDUkVWID0gIjc0YmEwNjVlNTkxNGJjNWQ3MTNjYTM3MDlkNjJhNTc1MWIwOTczNjkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdG9vbHMuZ2l0O2JyYW5jaD0zLlgiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL2ZpbGVzL2xpdHBtMl90b3RwX2J1aWxkX2ZpeC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC9maWxlcy9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE0NzA1NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdG90cC9maWxlcy9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorQzk5IGZpeGVzOgorCisgc3JjL2xpYnRwbTItdG90cC5jOjE3MjoxMzogZXJyb3I6IGZvcm1hdCAnJWxpJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgaW50JywgYnV0IGFyZ3VtZW50IDMgaGFzIHR5cGUgJ3NpemVfdCcge2FrYSAndW5zaWduZWQgaW50J30gWy1XZXJyb3I9Zm9ybWF0PV0KK3wgICAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpOworCitzcmMvdHBtMi10b3RwLmM6MzQzOjIzOiBlcnJvcjogZm9ybWF0ICclbGQnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyBpbnQnLCBidXQgYXJndW1lbnQgMyBoYXMgdHlwZSAndWludDY0X3QnIHtha2EgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnfSBbLVdlcnJvcj1mb3JtYXQ9XQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+CisKK0luZGV4OiBnaXQvc3JjL2xpYnRwbTItdG90cC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL2xpYnRwbTItdG90cC5jCisrKysgZ2l0L3NyYy9saWJ0cG0yLXRvdHAuYworQEAgLTE2OSw3ICsxNjksNyBAQCB0cG0ydG90cF9nZW5lcmF0ZUtleSh1aW50MzJfdCBwY3JzLCB1aW50CisgICAgIGlmIChyYyAhPSBUUE0yX1JDX0lOSVRJQUxJWkUpIGNoa3JjKHJjLCBnb3RvIGVycm9yKTsKKyAKKyAgICAgd2hpbGUgKCpzZWNyZXRfc2l6ZSA8IFNFQ1JFVExFTikgeworLSAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpOworKyAgICAgICAgZGJnKCJDYWxsaW5nIEVzeXNfR2V0UmFuZG9tIGZvciAlbGkgYnl0ZXMiLCAobG9uZyBpbnQpIChTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUpKTsKKyAgICAgICAgIHJjID0gRXN5c19HZXRSYW5kb20oY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFU1lTX1RSX05PTkUsIEVTWVNfVFJfTk9ORSwgRVNZU19UUl9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTRUNSRVRMRU4gLSAqc2VjcmV0X3NpemUsICZ0KTsKK0luZGV4OiBnaXQvc3JjL3RwbTItdG90cC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL3RwbTItdG90cC5jCisrKysgZ2l0L3NyYy90cG0yLXRvdHAuYworQEAgLTM0MCw3ICszNDAsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWx0aW1lICgmbm93KSk7CisgICAgICAgICAgICAgY2hrcmMocmMsIGV4aXQoMSkpOworICAgICAgICAgfQorLSAgICAgICAgcHJpbnRmKCIlcyUwNmxkIiwgdGltZXN0ciwgdG90cCk7CisrICAgICAgICBwcmludGYoIiVzJTA2bGQiLCB0aW1lc3RyLCAobG9uZyBpbnQpdG90cCk7CisgICAgICAgICBicmVhazsKKyAgICAgY2FzZSBDTURfUkVTRUFMOgorICAgICAgICAgcmMgPSB0cG0ydG90cF9sb2FkS2V5X252KG9wdC5udmluZGV4LCAma2V5QmxvYiwgJmtleUJsb2Jfc2l6ZSk7CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRvdHAvdHBtMi10b3RwXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL3RwbTItdG90cF8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzk0YWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10b3RwL3RwbTItdG90cF8wLjkuOS5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wuIiAKK0RFU0NSSVBUSU9OID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wgZm9yIFRydXN0ZWQgUGxhdGZvcm0gTW9kdWxlIChUUE0gMi4wKSB1c2luZyB0aGUgdHBtMi10c3Mgc29mdHdhcmUgc3RhY2sgdGhhdCBmb2xsb3dzIHRoZSBUcnVzdGVkIENvbXB1dGluZyBHcm91cHMgKFRDRykgVFBNIFNvZnR3YXJlIFN0YWNrIChUU1MgMi4wKS4gSXQgdXNlcyB0aGUgRW5oYW5jZWQgU3lzdGVtIEFQSSAoRVNBUEkpIGludGVyZmFjZSBvZiB0aGUgVFNTIDIuMCBmb3IgZG93bndhcmRzIGNvbW11bmljYXRpb24uIEl0IHN1cHBvcnRzIFJTQSBkZWNyeXB0aW9uIGFuZCBzaWduYXR1cmVzIGFzIHdlbGwgYXMgRUNEU0Egc2lnbmF0dXJlcy4iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZWQyMzgzM2U5M2M5NTE3M2M4ZDg5MTM3NDVlNGI0ZTEiCisKK1NFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUgbGlidHNzMi1kZXYgcXJlbmNvZGUiCisKK1NSQ1JFViA9ICI0NGZjYjY4MTlmNzkzMDJkNWEwODhiM2RlZjY0ODYxNmUzNTUxZDRhIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi10b3RwLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9saXRwbTJfdG90cF9idWlsZF9maXgucGF0Y2ggIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy1lbmdpbmUvdHBtMi10c3MtZW5naW5lXzAuOS45LmJiIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MtZW5naW5lL3RwbTItdHNzLWVuZ2luZV8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjUzMGJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MtZW5naW5lL3RwbTItdHNzLWVuZ2luZV8wLjkuOS5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wuIiAKK0RFU0NSSVBUSU9OID0gIlRoZSB0cG0yLXRzcy1lbmdpbmUgcHJvamVjdCBpbXBsZW1lbnRzIGEgY3J5cHRvZ3JhcGhpYyBlbmdpbmUgZm9yIE9wZW5TU0wgZm9yIFRydXN0ZWQgUGxhdGZvcm0gTW9kdWxlIChUUE0gMi4wKSB1c2luZyB0aGUgdHBtMi10c3Mgc29mdHdhcmUgc3RhY2sgdGhhdCBmb2xsb3dzIHRoZSBUcnVzdGVkIENvbXB1dGluZyBHcm91cHMgKFRDRykgVFBNIFNvZnR3YXJlIFN0YWNrIChUU1MgMi4wKS4gSXQgdXNlcyB0aGUgRW5oYW5jZWQgU3lzdGVtIEFQSSAoRVNBUEkpIGludGVyZmFjZSBvZiB0aGUgVFNTIDIuMCBmb3IgZG93bndhcmRzIGNvbW11bmljYXRpb24uIEl0IHN1cHBvcnRzIFJTQSBkZWNyeXB0aW9uIGFuZCBzaWduYXR1cmVzIGFzIHdlbGwgYXMgRUNEU0Egc2lnbmF0dXJlcy4iCisKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9M2ZiMDA0N2ZkMjkzOTE0NzhhNzFlOGU2MTAxYzc2ZWIiCisKK1NFQ1RJT04gPSAic2VjdXJpdHkvdHBtIgorCitERVBFTkRTID0gImF1dG9jb25mLWFyY2hpdmUtbmF0aXZlIGJhc2gtY29tcGxldGlvbiBsaWJ0c3MyIGxpYmdjcnlwdCBvcGVuc3NsIgorCitTUkNSRVYgPSAiYmVmODllYzc5Y2JiNGM5OTk2M2IwZTMzNmQ5MTg0ODI3YzU0NTc4MiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS90cG0yLXNvZnR3YXJlL3RwbTItdHNzLWVuZ2luZS5naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgc3lzdGVtZAorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitQQUNLQUdFUyArPSAiJHtQTn0tZW5naW5lcyAke1BOfS1lbmdpbmVzLXN0YXRpY2RldiAke1BOfS1iYXNoLWNvbXBsZXRpb24iCisKK0ZJTEVTXyR7UE59LWRldiA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEvdHBtMnRzcy5zbyAke2luY2x1ZGVkaXJ9LyoiCitGSUxFU18ke1BOfS1lbmdpbmVzID0gIiR7bGliZGlyfS9lbmdpbmVzLTEuMS9saWIqLnNvKiIKK0ZJTEVTXyR7UE59LWVuZ2luZXMtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9lbmdpbmVzLTEuMS9saWJ0cG0ydHNzLmEiCitGSUxFU18ke1BOfS1iYXNoLWNvbXBsZXRpb24gKz0gIiR7ZGF0YWRpcn0vYmFzaC1jb21wbGV0aW9uL2NvbXBsZXRpb25zIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbS90cG0yLjAtdHNzL3RwbTIuMC10c3MvYXhfcHRocmVhZC5tNCBiL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzL2F4X3B0aHJlYWQubTQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2F4X3B0aHJlYWQubTQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0yL3RwbTItdHNzL3RwbTItdHNzL2F4X3B0aHJlYWQubTQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2ZpeF9tdXNsX3NlbGVjdF9pbmNsdWRlLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3MvZml4X211c2xfc2VsZWN0X2luY2x1ZGUucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvbWV0YS10cG0vcmVjaXBlcy10cG0vdHBtMi4wLXRzcy90cG0yLjAtdHNzL2ZpeF9tdXNsX3NlbGVjdF9pbmNsdWRlLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzcy9maXhfbXVzbF9zZWxlY3RfaW5jbHVkZS5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3NfMi4yLjEuYmIgYi9tZXRhLXNlY3VyaXR5L21ldGEtdHBtL3JlY2lwZXMtdHBtMi90cG0yLXRzcy90cG0yLXRzc18yLjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGJkZWViCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9tZXRhLXRwbS9yZWNpcGVzLXRwbTIvdHBtMi10c3MvdHBtMi10c3NfMi4yLjEuYmIKQEAgLTAsMCArMSw3OSBAQAorU1VNTUFSWSA9ICJTb2Z0d2FyZSBzdGFjayBmb3IgVFBNMi4iCitERVNDUklQVElPTiA9ICJPU1MgaW1wbGVtZW50YXRpb24gb2YgdGhlIFRDRyBUUE0yIFNvZnR3YXJlIFN0YWNrIChUU1MyKSAiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTUwMGIyZTc0MmJlZmMzZGEwMDY4NGQ4YTFkNWZkOWRhIgorU0VDVElPTiA9ICJ0cG0iCisKK0RFUEVORFMgPSAiYXV0b2NvbmYtYXJjaGl2ZS1uYXRpdmUgbGliZ2NyeXB0IG9wZW5zc2wiCisKK1NSQ1JFViA9ICJlYjY5ZTEzNTU5ZjIwYTBiNDkwMDJhNjg1YzZmNGEzOWJlOTUwM2UyIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRzcy5naXQ7YnJhbmNoPTIuMi54IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHN5c3RlbWQKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbb3h5Z2VuXSA9ICIsLS1kaXNhYmxlLWRveHlnZW4tZG9jLCAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAuL2Jvb3RzdHJhcAorfQorCitJTkhFUklUICs9ICJleHRyYXVzZXJzIgorRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKKwl1c2VyYWRkIC1wICcnIHRzczsgXAorCWdyb3VwYWRkIHRzczsgXAorCSIKKworUFJPVklERVMgPSAiJHtQQUNLQUdFU30iCitQQUNLQUdFUyA9ICIgXAorICAgICR7UE59IFwKKyAgICAke1BOfS1kYmcgXAorICAgICR7UE59LWRvYyBcCisgICAgbGlidHNzMi1tdSBcCisgICAgbGlidHNzMi1tdS1kZXYgXAorICAgIGxpYnRzczItbXUtc3RhdGljZGV2IFwKKyAgICBsaWJ0c3MyLXRjdGktZGV2aWNlIFwKKyAgICBsaWJ0c3MyLXRjdGktZGV2aWNlLWRldiBcCisgICAgbGlidHNzMi10Y3RpLWRldmljZS1zdGF0aWNkZXYgXAorICAgIGxpYnRzczItdGN0aS1tc3NpbSBcCisgICAgbGlidHNzMi10Y3RpLW1zc2ltLWRldiBcCisgICAgbGlidHNzMi10Y3RpLW1zc2ltLXN0YXRpY2RldiBcCisgICAgbGlidHNzMiBcCisgICAgbGlidHNzMi1kZXYgXAorICAgIGxpYnRzczItc3RhdGljZGV2IFwKKyIKKworRklMRVNfbGlidHNzMi10Y3RpLWRldmljZSA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLWRldmljZS5zby4qIgorRklMRVNfbGlidHNzMi10Y3RpLWRldmljZS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9L3RzczIvdHNzMl90Y3RpX2RldmljZS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItdGN0aS1kZXZpY2UucGMgXAorICAgICR7bGliZGlyfS9saWJ0c3MyLXRjdGktZGV2aWNlLnNvIgorRklMRVNfbGlidHNzMi10Y3RpLWRldmljZS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1kZXZpY2UuKmEiCisKK0ZJTEVTX2xpYnRzczItdGN0aS1tc3NpbSA9ICIke2xpYmRpcn0vbGlidHNzMi10Y3RpLW1zc2ltLnNvLioiCitGSUxFU19saWJ0c3MyLXRjdGktbXNzaW0tZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfS90c3MyL3RzczJfdGN0aV9tc3NpbS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItdGN0aS1tc3NpbS5wYyBcCisgICAgJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS5zbyIKK0ZJTEVTX2xpYnRzczItdGN0aS1tc3NpbS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItdGN0aS1tc3NpbS4qYSIKKworRklMRVNfbGlidHNzMi1tdSA9ICIke2xpYmRpcn0vbGlidHNzMi1tdS5zby4qIgorRklMRVNfbGlidHNzMi1tdS1kZXYgPSAiIFwKKyAgICAke2luY2x1ZGVkaXJ9L3RzczIvdHNzMl9tdS5oIFwKKyAgICAke2xpYmRpcn0vcGtnY29uZmlnL3RzczItbXUucGMgXAorICAgICR7bGliZGlyfS9saWJ0c3MyLW11LnNvIgorRklMRVNfbGlidHNzMi1tdS1zdGF0aWNkZXYgPSAiJHtsaWJkaXJ9L2xpYnRzczItbXUuKmEiCisKK0ZJTEVTX2xpYnRzczIgPSAiJHtsaWJkaXJ9L2xpYnRzczIqc28uKiIKK0ZJTEVTX2xpYnRzczItZGV2ID0gIiBcCisgICAgJHtpbmNsdWRlZGlyfSBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgJHtsaWJkaXJ9L2xpYnRzczIqc28iCitGSUxFU19saWJ0c3MyLXN0YXRpY2RldiA9ICIke2xpYmRpcn0vbGlidHNzKmEiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS91ZGV2IgorCitSREVQRU5EU19saWJ0c3MyID0gImxpYmdjcnlwdCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9ydW4tcHRlc3QKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYWRkLUxERkxBR1MtdmFyaWFibGUtZm9yLXNhbWhhaW5fc2V0cHdkLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hZGQtTERGTEFHUy12YXJpYWJsZS1mb3Itc2FtaGFpbl9zZXRwd2QucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tYXZvaWQtc2VhcmNoaW5nLWhvc3QtZm9yLXBvc3RncmVzcWwucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuZGVmYXVsdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmRlZmF1bHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuaW5pdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jbGllbnQuaW5pdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY2xpZW50LmluaXQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNvbmZpZ3VyZS1hZGQtb3B0aW9uLWZvci1wcy5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tY29uZmlndXJlLWFkZC1vcHRpb24tZm9yLXBzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLWNyb3NzLWNvbXBpbGUucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1taXBzNjQtYWFyY2g2NC1kbm1hbGxvYy1oYXNoLWZpeC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1taXBzNjQtYWFyY2g2NC1kbm1hbGxvYy1oYXNoLWZpeC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLW5vdC1ydW4tcHRlc3Qtb24taG9zdC5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tbm90LXJ1bi1wdGVzdC1vbi1ob3N0LnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tcGlkLXBhdGgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tcGlkLXBhdGgucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXBpZC1wYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2FtaGFpbnJjLWZpeC1maWxlcy1kaXJzLXBhdGgucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy1maXgtZmlsZXMtZGlycy1wYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zYW1oYWlucmMucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNhbWhhaW5yYy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLXZvbGF0aWxlcwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zZXJ2ZXItdm9sYXRpbGVzCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmRlZmF1bHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5kZWZhdWx0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmluaXQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2VydmVyLmluaXQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNlcnZlci5pbml0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXNoYTI1Ni1iaWctZW5kaWFuLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmRlZmF1bHQKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLXN0YW5kYWxvbmUuZGVmYXVsdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4tc3RhbmRhbG9uZS5pbml0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vZmlsZXMvc2FtaGFpbi1zdGFuZGFsb25lLmluaXQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZSBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9maWxlcy9zYW1oYWluLnNlcnZpY2UKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZQpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL2ZpbGVzL3NhbWhhaW4uc2VydmljZQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4tY2xpZW50XzQuMy4wLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1jbGllbnRfNC4zLjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXNlcnZlcl80LjMuMC5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4tc2VydmVyXzQuMy4yLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3NhbWhhaW4vc2FtaGFpbi1zdGFuZGFsb25lXzQuMy4yLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjAuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLXN0YW5kYWxvbmVfNC4zLjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLmluYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc2FtaGFpbi9zYW1oYWluLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjlhZjM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zYW1oYWluL3NhbWhhaW4uaW5jCkBAIC0wLDAgKzEsMTYzIEBACitERVNDUklQVElPTiA9ICJQcm92aWRlcyBmaWxlIGludGVncml0eSBjaGVja2luZyBhbmQgbG9nIGZpbGUgbW9uaXRvcmluZy9hbmFseXNpcyIKK0hPTUVQQUdFICAgID0gImh0dHA6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vIgorTElDRU5TRSAgICAgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKKworCitTUkNfVVJJID0gImh0dHA6Ly9sYS1zYW1obmEuZGUvYXJjaGl2ZS9zYW1oYWluX3NpZ25lZC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jb25maWd1cmUtYWRkLW9wdGlvbi1mb3ItcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLWFkZC1MREZMQUdTLXZhcmlhYmxlLWZvci1zYW1oYWluX3NldHB3ZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLnNlcnZpY2UgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWU0Njc0MTY0ZDdjNzhmNWJiMzljNzJiNzAyOWM4YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNTgyODY0ZWY1NmFiNzk2MDMxZThlNjExZWQ2NmM0OGFkZWIzYTMwZWMzNGUxYThkMDA4ODU3MjQ0MjAzNWZjIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vYXJjaGl2ZS5odG1sIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAic2FtaGFpbl9zaWduZWQtKD9QPHB2ZXI+KFxkKyhcLlxkKykrKSlcLnRhciIKKworUyA9ICIke1dPUktESVJ9L3NhbWhhaW4tJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAorCitTQU1IQUlOX1BPUlQgPz89ICI0OTc3NyIKK1NBTUhBSU5fU0VSVkVSID8/PSAiTlVMTCIKKworSU5JVFNDUklQVF9OQU1FID0gIiR7QlBOfSIKK0lOSVRTQ1JJUFRfUEFSQU1TID89ICJkZWZhdWx0cyIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0lOSVRTQ1JJUFRfTkFNRX0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworIyBtb2RlIG1hcHBpbmc6CisjIEJQTiAgICAgICAgICAgICAgICBNT0RFX05BTUUgICBTQU1IQUlOX01PREUKKyMgc2FtaGFpbi1zdGFuZGFsb25lIHN0YW5kYWxvbmUgIG5vCisjIHNhbWhhaW4tY2xpZW50ICAgICBjbGllbnQgICAgICBjbGllbnQKKyMgc2FtaGFpbi1zZXJ2ZXIgICAgIHNlcnZlciAgICAgIHNlcnZlcgorTU9ERV9OQU1FID0gIiR7QGQuZ2V0VmFyKCdCUE4nKS5zcGxpdCgnLScpWzFdfSIKK1NBTUhBSU5fTU9ERSA9ICIke0BvZS51dGlscy5pZmVsc2UoZC5nZXRWYXIoJ01PREVfTkFNRScpID09ICdzdGFuZGFsb25lJywgJ25vJywgJyR7TU9ERV9OQU1FfScpfSIKKworIyBzdXBwb3J0cyBteXNxbHxwb3N0Z3Jlc3FsfG9yYWNsZXxvZGJjIGJ1dCBwb3N0Z3Jlc3FsIGlzIHRoZSBvbmx5IG9uZSBhdmFpbGFibGUKKworUEFDS0FHRUNPTkZJRyA/Pz0gInBvc3RncmVzcWwgcHMgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXggYXVkaXQnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IFwKKyIKKworUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSAgPSAiLS13aXRoLWRhdGFiYXNlPXBvc3RncmVzcWwgLS1lbmFibGUteG1sLWxvZyBQR1NRTF9JTkNfRElSPSR7U1RBR0lOR19JTkNESVJ9IFBHU1FMX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUn0sICwgcG9zdGdyZXNxbCIKK1BBQ0tBR0VDT05GSUdbc3VpZGNoZWNrXSAgPSAiLS1lbmFibGUtc3VpZGNoZWNrLCAsICIKK1BBQ0tBR0VDT05GSUdbbG9nd2F0Y2hdICA9ICItLWVuYWJsZS1sb2dpbi13YXRjaCwgLCAiCitQQUNLQUdFQ09ORklHW21vdW50c10gID0gIi0tZW5hYmxlLW1vdW50cy1jaGVjaywgLCAiCitQQUNLQUdFQ09ORklHW3VzZXJmaWxlc10gID0gIi0tZW5hYmxlLXVzZXJmaWxlcywgLCAiCitQQUNLQUdFQ09ORklHW2lwdjZdICA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwgLS1kaXNhYmxlLXNlbGludXgsIGxpYnNlbGludXggYXR0ciIKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICIgLS1lbmFibGUtcG9zaXgtYWNsICwgLS1kaXNhYmxlLXBvc2l4LWFjbCwgYWNsIgorUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD15ZXMsYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD1ubyxhdWRpdCIKK1BBQ0tBR0VDT05GSUdbcHNdID0gIi0td2l0aC1wcy1wYXRoPSR7YmFzZV9iaW5kaXJ9L3BzLCwscHJvY3BzIgorCitkb191bnBhY2tfc2FtaGFpbigpIHsKKyAgICBjZCAke1dPUktESVJ9CisgICAgdGFyIC14enZmIHNhbWhhaW4tJHtQVn0udGFyLmd6Cit9CisKK3B5dGhvbiBkb191bnBhY2tfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fdW5wYWNrX3NhbWhhaW4nLCBkKQorfQorCitkb19jb25maWd1cmVfcHJlcGVuZF9hcm0oKSB7CisgICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKK30KKworZG9fY29uZmlndXJlX3ByZXBlbmRfYWFyY2g2NCgpIHsKKyAgICBleHBvcnQgc2hfY3ZfX192YV9jb3B5PXllcworfQorCisjIElmIHdlIHVzZSBvZV9ydW5jb25mIGluIGRvX2NvbmZpZ3VyZSgpIGl0IHdpbGwgYnkgZGVmYXVsdAorIyB1c2UgdGhlIHByZWZpeCAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIHdoaWNoIGlzIG5vdAorIyByZWNvZ25pemVkIGJ5IFNhbWhhaW4ncyBjb25maWd1cmUgc2NyaXB0IGFuZCB3b3VsZCBpbnZhcmlhYmx5CisjIHRocm93IGJhY2sgdGhlIGVycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGNhdCA8PCBFT0YgPiAke1N9L2NvbmZpZy1zaXRlLiR7QlB9Citzc3BfY3ZfbGliPW5vCitzaF9jdl92YV9jb3B5PXllcworRU9GCisgICAgZXhwb3J0IENPTkZJR19TSVRFPSR7U30vY29uZmlnLXNpdGUuJHtCUH0KK30KKworZG9fY29uZmlndXJlICgpIHsKKwlhdXRvY29uZiAtZgorCS4vY29uZmlndXJlIFwKKwktLWJ1aWxkPSR7QlVJTERfU1lTfSBcCisJLS1ob3N0PSR7SE9TVF9TWVN9IFwKKwktLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKwktLXByZWZpeD0ke3ByZWZpeH0gXAorCS0tZXhlY19wcmVmaXg9JHtleGVjX3ByZWZpeH0gXAorCS0tYmluZGlyPSR7YmluZGlyfSBcCisJLS1zYmluZGlyPSR7c2JpbmRpcn0gXAorCS0tbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9IFwKKwktLWRhdGFkaXI9JHtkYXRhZGlyfSBcCisJLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAorCS0tc2hhcmVkc3RhdGVkaXI9JHtzaGFyZWRzdGF0ZWRpcn0gXAorCS0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKKwktLWxpYmRpcj0ke2xpYmRpcn0gXAorCS0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKKwktLWluZm9kaXI9JHtpbmZvZGlyfSBcCisJLS1tYW5kaXI9JHttYW5kaXJ9IFwKKwktLWVuYWJsZS1uZXR3b3JrPSR7U0FNSEFJTl9NT0RFfSBcCisJLS13aXRoLXBpZC1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NhbWhhaW4ucGlkIFwKKwktLXdpdGgtZGF0YS1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWhhaW4vc2FtaGFpbl9maWxlIFwKKwktLWRpc2FibGUtZG5tYWxsb2MgXAorCSR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlX3ByZXBlbmRfbGliYy1tdXNsICgpIHsKKwlzZWQgLWkgJ3MvXiNkZWZpbmUgSEFWRV9NQUxMT0NfSC4qLy8nICR7Qn0vY29uZmlnLmgKK30KKworIyBJbnN0YWxsIHRoZSBpbml0IHNjcmlwdCwgaXQncyBkZWZhdWx0IGZpbGUsIGFuZCB0aGUgZXh0cmFuZW91cworIyBkb2N1bWVudGF0aW9uLgorZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPScke0R9JyBJTlNUQUxMPWluc3RhbGwtYm9vdAorCisJaW5zdGFsbCAtRCAtbSA3NTUgJHtXT1JLRElSfS8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCisJCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC8ke0lOSVRTQ1JJUFRfTkFNRX0KKworCWluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vJHtJTklUU0NSSVBUX05BTUV9LmRlZmF1bHQgXAorCQkke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0LyR7SU5JVFNDUklQVF9OQU1FfQorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorCQlpZiBbICIke1NBTUhBSU5fTU9ERX0iID0gIm5vIiBdOyB0aGVuCisJCSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zYW1oYWluLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NhbWhhaW4uc2VydmljZQorCQllbHNlCisJCSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zYW1oYWluLnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LyR7QlBOfS5zZXJ2aWNlCisJCWZpCisJCWluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9LyR7QlBOfS5pbml0ICR7RH0vJHtsaWJleGVjZGlyfS8ke0JQTn0KKwkJc2VkIC1pIC1lICdzLEBMSUJESVJALCR7bGliZXhlY2Rpcn0sJyBcCisJCSAgICAgICAtZSAncyxAU0FNSEFJTl9IRUxQRVJALCR7QlBOfSwnIFwKKwkJICAgICAgIC1lICdzLEBNT0RFX05BTUVALCR7TU9ERV9OQU1FfSwnIFwKKwkJICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NhbWhhaW4qLnNlcnZpY2UKKyAgICBmaQorCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWNwIC1yIGRvY3MvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWNwIC1yIHNjcmlwdHMgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKwlpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtsb2NhbHN0YXRlZGlyfS9zYW1oYWluCisKKwkjIFByZXZlbnQgUUEgd2FybmluZ3MgYWJvdXQgaW5zdGFsbGVkICR7bG9jYWxzdGF0ZWRpcn0vcnVuCisJaWYgWyAtZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gXTsgdGhlbgorCQlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KKwlmaQorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3ogYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL2VtZXJnaW5nLnJ1bGVzLnRhci5negpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL2VtZXJnaW5nLnJ1bGVzLnRhci5negpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9lbWVyZ2luZy5ydWxlcy50YXIuZ3oKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvbm9fbGliaHRwX2J1aWxkLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvbm9fbGliaHRwX2J1aWxkLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL25vX2xpYmh0cF9idWlsZC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS5zZXJ2aWNlCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL2ZpbGVzL3N1cmljYXRhLnNlcnZpY2UKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvc3VyaWNhdGEueWFtbApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy9zdXJpY2F0YS55YW1sCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9maWxlcy92b2xhdGlsZXMuMDNfc3VyaWNhdGEKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9maWxlcy92b2xhdGlsZXMuMDNfc3VyaWNhdGEKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvZmlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvbGliaHRwXzAuNS4yNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvbGliaHRwXzAuNS4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL2xpYmh0cF8wLjUuMjcuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvbGliaHRwXzAuNS4yOS5iYgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YS5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YmU0MDNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy9zdXJpY2F0YS9zdXJpY2F0YS5pbmMKQEAgLTAsMCArMSw5IEBACitIT01FUEFHRSA9ICJodHRwOi8vc3VyaWNhdGEtaWRzLm9yZy8iCitTRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCitMSUNFTlNFID0gIkdQTHYyIgorCitWRVIgPSAiNC4xLjMiCitTUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbmluZm9zZWNmb3VuZGF0aW9uLm9yZy9kb3dubG9hZC9zdXJpY2F0YS0ke1ZFUn0udGFyLmd6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzVjNGE4ZTZiZTM5MTA4MzE2NDlhMDczOTUwMTk1ZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmNkYTZjODBiNzUzY2UzNjQ4M2M2YmU1MzUzNThiOTcxZjM4OTBiOWFhMjdhNThjMmQyZjdlODlkZDZjNmFhMCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvc3VyaWNhdGEvc3VyaWNhdGFfNC4xLjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhXzQuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZjU5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3N1cmljYXRhL3N1cmljYXRhXzQuMS4zLmJiCkBAIC0wLDAgKzEsOTcgQEAKK1NVTU1BUlkgPSAiVGhlIFN1cmljYXRhIEVuZ2luZSBpcyBhbiBPcGVuIFNvdXJjZSBOZXh0IEdlbmVyYXRpb24gSW50cnVzaW9uIERldGVjdGlvbiBhbmQgUHJldmVudGlvbiBFbmdpbmUiCisKK3JlcXVpcmUgc3VyaWNhdGEuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7YmVnaW5saW5lPTE7ZW5kbGluZT0yO21kNT1jNzBkOGQzMzEwOTQxZGNkZmNkMWUwMjgwMGExZjU0OCIKKworU1JDX1VSSSArPSAiZmlsZTovL2VtZXJnaW5nLnJ1bGVzLnRhci5nejtuYW1lPXJ1bGVzIgorCitTUkNfVVJJICs9ICIgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjAzX3N1cmljYXRhIFwKKyAgICAgICAgICAgZmlsZTovL3N1cmljYXRhLnlhbWwgXAorICAgICAgICAgICBmaWxlOi8vc3VyaWNhdGEuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICAiCisKK1NSQ19VUklbcnVsZXMubWQ1c3VtXSA9ICIyMDVjNWU1YjU0ZTQ4OTIwN2VkODkyYzAzYWQ3NWIzMyIKK1NSQ19VUklbcnVsZXMuc2hhMjU2c3VtXSA9ICI0YWE4MTAxMWIyNDY4NzVhNTcxODFjNmEwNTY5Y2E4ODc4NDVlMzY2OTA0YmNhZjAwNDMyMjBmMzNiZDY5Nzk4IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIHB5dGhvbjMtZGlyIHN5c3RlbWQgcHRlc3QKKworQ0ZMQUdTICs9ICItRF9ERUZBVUxUX1NPVVJDRSIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfaGVhZGVyX2h0cF9odHBfaD15ZXMgYWNfY3ZfbGliX2h0cF9odHBfY29ubl9jcmVhdGU9eWVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfSEFWRV9XR0VUPW5vIGFjX2N2X3BhdGhfSEFWRV9DVVJMPW5vICIKKworRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLWRlYnVnIFwKKyAgICAtLWVuYWJsZS1ub24tYnVuZGxlZC1odHAgXAorICAgIC0tZGlzYWJsZS1nY2NtYXJjaC1uYXRpdmUgXAorICAgIC0tZGlzYWJsZS1zdXJpY2F0YS11cGRhdGUgXAorICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImh0cCBqYW5zc29uIGZpbGUgcGNyZSB5YW1sIHBjYXAgY2FwLW5nIG5ldCBuZm5ldGxpbmsgbnNzIG5zcHIiCitQQUNLQUdFQ09ORklHX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd1bml0dGVzdHMnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW2h0cF0gPSAiLS13aXRoLWxpYmh0cC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliaHRwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmh0cCwiCitQQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY3JlLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjcmUgLCIgCitQQUNLQUdFQ09ORklHW3lhbWxdID0gIi0td2l0aC1saWJ5YW1sLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJ5YW1sLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnlhbWwgLCIKK1BBQ0tBR0VDT05GSUdbcGNhcF0gPSAiLS13aXRoLWxpYnBjYXAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYnBjYXAtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGlicGNhcCAsIiAKK1BBQ0tBR0VDT05GSUdbY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwX25nLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJjYXBfbmctbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGliY2FwLW5nICwgIgorUEFDS0FHRUNPTkZJR1tuZXRdID0gIi0td2l0aC1saWJuZXQtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICwgbGlibmV0LCIgCitQQUNLQUdFQ09ORklHW25mbmV0bGlua10gPSAiLS13aXRoLWxpYm5mbmV0bGluay1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibmZuZXRsaW5rLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYm5mbmV0bGluayAsIgorUEFDS0FHRUNPTkZJR1tuZnFdID0gIi0tZW5hYmxlLW5mcXVldWUsIC0tZGlzYWJsZS1uZnF1ZXVlLGxpYm5ldGZpbHRlci1xdWV1ZSwiCisKK1BBQ0tBR0VDT05GSUdbamFuc3Nvbl0gPSAiLS13aXRoLWxpYmphbnNzb24taW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmphbnNzb24tbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCxqYW5zc29uLCBqYW5zc29uIgorUEFDS0FHRUNPTkZJR1tmaWxlXSA9ICIsLGZpbGUsIGZpbGUiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWxpYm5zcy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibnNzLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNzLCBuc3MsIiAKK1BBQ0tBR0VDT05GSUdbbnNwcl0gPSAiLS13aXRoLWxpYm5zcHItaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcHItbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCBuc3ByLCBuc3ByLCIgCitQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLCAtLWRpc2FibGUtcHl0aG9uLCBweXRob24zLCBweXRob24zIiAKK1BBQ0tBR0VDT05GSUdbdW5pdHRlc3RzXSA9ICItLWVuYWJsZS11bml0dGVzdHMsIC0tZGlzYWJsZS11bml0dGVzdHMsIiAKKworZXhwb3J0IGxvZ2RpciA9ICIke2xvY2Fsc3RhdGVkaXJ9L2xvZyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQorCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLWNvbmYgREVTVERJUj0ke0R9CisKKyAgICAjIG1pbWljIG1vdmUgb2YgZG93bmxvYWRlZCBydWxlcyB0byBlX3N5c2NvbmZydWxlc2RpcgorICAgIGNwIC1yZiAgJHtXT1JLRElSfS9ydWxlcyAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQorCisgICAgb2VfcnVubWFrZSBpbnN0YWxsLXJ1bGVzIERFU1RESVI9JHtEfQorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YSAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3ZvbGF0aWxlcy4wM19zdXJpY2F0YSAgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvdm9sYXRpbGVzLjAzX3N1cmljYXRhCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS90aHJlc2hvbGQuY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3N1cmljYXRhCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgc2VkICAtZSBzOi9ldGM6JHtzeXNjb25mZGlyfTpnIFwKKyAgICAgICAgIC1lIHM6L3Zhci9ydW46L3J1bjpnIFwKKyAgICAgICAgIC1lIHM6L3Zhcjoke2xvY2Fsc3RhdGVkaXJ9OmcgXAorICAgICAgICAgLWUgczovdXNyL2Jpbjoke2JpbmRpcn06ZyBcCisgICAgICAgICAtZSBzOi9iaW4va2lsbDoke2Jhc2VfYmluZGlyfS9raWxsOmcgXAorICAgICAgICAgLWUgczovdXNyL2xpYjoke2xpYmRpcn06ZyBcCisgICAgICAgICAke1dPUktESVJ9L3N1cmljYXRhLnNlcnZpY2UgPiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zdXJpY2F0YS5zZXJ2aWNlCisKKyAgICAjIFJlbW92ZSAvdmFyL3J1biBhcyBpdCBpcyBjcmVhdGVkIG9uIHN0YXJ0dXAKKyAgICBybSAtcmYgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCisKK30KKworcGtnX3Bvc3RpbnN0X29udGFyZ2V0XyR7UE59ICgpIHsKK2lmIFsgLWUgL2V0Yy9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggXSA7IHRoZW4KKyAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKK2ZpCit9CisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0iCisKK1BBQ0tBR0VTID0rICIke1BOfS1zb2NrZXRjb250cm9sIgorRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfSIKK0ZJTEVTXyR7UE59LXNvY2tldGNvbnRyb2wgPSAiJHtiaW5kaXJ9L3N1cmljYXRhc2MgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3N1cmljYXRhL3N1cmljYXRhLnlhbWwiCisKK1JERVBFTkRTXyR7UE59LXB5dGhvbiA9ICJweXRob24iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL2FkZF9hcm1lYl9hcmNoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvYWRkX2FybWViX2FyY2gucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3J1bi1wdGVzdApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3J1bi1wdGVzdApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuY3JvbgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS5jcm9uCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvZmlsZXMvdHJpcHdpcmUuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3RyaXB3aXJlLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90cmlwd2lyZS50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2NmZy50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3Y2ZnLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3Y2ZnLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2NmZy50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3aW5zdGFsbC5zaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3aW5zdGFsbC5zaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d2luc3RhbGwuc2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtaWRzL3RyaXB3aXJlL2ZpbGVzL3R3cG9sLXlvY3RvLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL2ZpbGVzL3R3cG9sLXlvY3RvLnR4dApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS9maWxlcy90d3BvbC15b2N0by50eHQKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1pZHMvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjYzOTJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWlkcy90cmlwd2lyZS90cmlwd2lyZV8yLjQuMy43LmJiCkBAIC0wLDAgKzEsNzQgQEAKK1NVTU1BUlkgPSAiVHJpcHdpcmU6IEEgc3lzdGVtIGludGVncml0eSBhc3Nlc3NtZW50IHRvb2wgKElEUykiCitERVNDUklQVElPTiA9ICJPcGVuIFNvdXJjZSBUcmlwd2lyZcKuIHNvZnR3YXJlIGlzIGEgc2VjdXJpdHkgYW5kIGRhdGEgXAoraW50ZWdyaXR5IHRvb2wgdXNlZnVsIGZvciBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBvbiBzcGVjaWZpYyBmaWxlIGNoYW5nZShzKSBvbiBhIHJhbmdlIG9mIHN5c3RlbXMiCitIT01FUEFHRT0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90cmlwd2lyZSIKK1NFQ1RJT04gPSAic2VjdXJpdHkgTW9uaXRvci9BZG1pbiIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzA2OWJlOGRiYmU0OGU4OWI1ODBhYjRlZDg2YzEyNyIKKworU1JDUkVWID0gIjZlNjRhOWU1YjcwYTkwOWVjNDM5YmM1YTA5OWUzZmNmMzhjNjE0YjAiCisKK1NSQ19VUkkgPSAiXAorCWdpdDovL2dpdGh1Yi5jb20vVHJpcHdpcmUvdHJpcHdpcmUtb3Blbi1zb3VyY2UuZ2l0IFwKKwlmaWxlOi8vdHJpcHdpcmUuY3JvbiBcCisJZmlsZTovL3RyaXB3aXJlLnNoIFwKKwlmaWxlOi8vdHJpcHdpcmUudHh0IFwKKwlmaWxlOi8vdHdjZmcudHh0IFwKKwlmaWxlOi8vdHdpbnN0YWxsLnNoIFwKKwlmaWxlOi8vdHdwb2wteW9jdG8udHh0IFwKKwlmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwdGVzdAorCitJTklUU0NSSVBUX05BTUUgPSAidHJpcHdpcmUiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MCBTIC4iCitUUklQV0lSRV9IT1NUID0gIiR7SE9TVF9TWVN9IgorVFJJUFdJUkVfVEFSR0VUID0gIiR7VEFSR0VUX1NZU30iCisKK0NYWEZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCAgLS1lbmFibGUtc3RhdGljIC0tc3lzY29uZmRpcj0vZXRjL3RyaXB3aXJlIgorCitkb19pbnN0YWxsICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0gJHtEfSR7ZGF0YWRpcn0gJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQorICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vcmVwb3J0CisgICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjQgJHtEfSR7bWFuZGlyfS9tYW41ICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0gJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKworICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi8qICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7YmFzZV9saWJkaXJ9CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdHJpcHdpcmUuY3JvbiAke0R9JHtzeXNjb25mZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlwd2lyZQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3R3aW5zdGFsbC5zaCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3R3cG9sLXlvY3RvLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfS90d3BvbC50eHQKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d2NmZy50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KKworICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW40LyogJHtEfSR7bWFuZGlyfS9tYW40CisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjUvKiAke0R9JHttYW5kaXJ9L21hbjUKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuOC8qICR7RH0ke21hbmRpcn0vbWFuOAorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3BvbGljeS90ZW1wbGF0ZXMvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfS90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvKnR4dCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0NPUFlJTkcgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9UUkFERU1BUksgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90cmlwd2lyZS50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KK30KKworZG9faW5zdGFsbF9wdGVzdF9hcHBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKwljcCAtYSAke1N9L3NyYy90ZXN0LWhhcm5lc3MvKiAke0R9JHtQVEVTVF9QQVRIfQorCXNlZCAtaSAtZSAnc0AuLi8uLi8uLi8uLi9iaW5AJHtzYmluZGlyfUAnICAke0R9JHtQVEVTVF9QQVRIfS90d3Rvb2xzLnBtCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0gJHtkb2NkaXJ9LyR7UE59LyoiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7c3lzY29uZmRpcn0vJHtQTn0vLmRlYnVnIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke1BOfS9saWIqLmEiCitGSUxFU18ke1BOfS1wdGVzdCArPSAiJHtQVEVTVF9QQVRIfS90ZXN0cyAiCisKK1JERVBFTkRTXyR7UE59ICs9ICIgcGVybCBuYW5vIG1zbXRwIGNyb25pZSIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiBwZXJsIGxpYi1wZXJsIHBlcmwtbW9kdWxlcyAiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vci5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9hcHBhcm1vci5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVmOWJiMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yLmNmZwpAQCAtMCwwICsxLDE1IEBACitDT05GSUdfQVVESVQ9eQorIyBDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9BVURJVCBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfTkVUV09SSz15CisjIENPTkZJR19TRUNVUklUWV9ORVRXT1JLX1hGUk0gaXMgbm90IHNldAorQ09ORklHX1NFQ1VSSVRZX1BBVEg9eQorIyBDT05GSUdfU0VDVVJJVFlfU0VMSU5VWCBpcyBub3Qgc2V0CitDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1I9eQorQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0hBU0g9eQorQ09ORklHX1NFQ1VSSVRZX0FQUEFSTU9SX0hBU0hfREVGQVVMVD15CisjIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9ERUJVRyBpcyBub3Qgc2V0CitDT05GSUdfSU5URUdSSVRZX0FVRElUPXkKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SPXkKKyMgQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfREFDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZPSJhcHBhcm1vciIKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yX29uX2Jvb3QuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvYXBwYXJtb3Jfb25fYm9vdC5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMzNTc0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL2FwcGFybW9yX29uX2Jvb3QuY2ZnCkBAIC0wLDAgKzEgQEAKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9CT09UUEFSQU1fVkFMVUU9MQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2stZGVmYXVsdC1sc20uY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by01LjAvc21hY2stZGVmYXVsdC1sc20uY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YzQ4NDUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay1kZWZhdWx0LWxzbS5jZmcKQEAgLTAsMCArMSwyIEBACitDT05GSUdfREVGQVVMVF9TRUNVUklUWT0ic21hY2siCitDT05GSUdfREVGQVVMVF9TRUNVUklUWV9TTUFDSz15CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLTUuMC9zbWFjay5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJmNDY1YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tNS4wL3NtYWNrLmNmZwpAQCAtMCwwICsxLDggQEAKK0NPTkZJR19JUF9ORl9TRUNVUklUWT1tCitDT05GSUdfSVA2X05GX1NFQ1VSSVRZPW0KK0NPTkZJR19FWFQyX0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19FWFQzX0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19FWFQ0X0ZTX1NFQ1VSSVRZPXkKK0NPTkZJR19TRUNVUklUWT15CitDT05GSUdfU0VDVVJJVFlfU01BQ0s9eQorQ09ORklHX1RNUEZTX1hBVFRSPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3IuY2ZnIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKaW5kZXggMWRjNDE2OC4uYjVmOWJiMiAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by9hcHBhcm1vci5jZmcKQEAgLTEsMTMgKzEsMTUgQEAKIENPTkZJR19BVURJVD15Ci1DT05GSUdfQVVESVRTWVNDQUxMPXkKLUNPTkZJR19BVURJVF9XQVRDSD15Ci1DT05GSUdfQVVESVRfVFJFRT15CiAjIENPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX0FVRElUIGlzIG5vdCBzZXQKK0NPTkZJR19TRUNVUklUWV9ORVRXT1JLPXkKKyMgQ09ORklHX1NFQ1VSSVRZX05FVFdPUktfWEZSTSBpcyBub3Qgc2V0CiBDT05GSUdfU0VDVVJJVFlfUEFUSD15CiAjIENPTkZJR19TRUNVUklUWV9TRUxJTlVYIGlzIG5vdCBzZXQKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUj15Ci1DT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfQk9PVFBBUkFNX1ZBTFVFPTEKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIPXkKIENPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9IQVNIX0RFRkFVTFQ9eQorIyBDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1JfREVCVUcgaXMgbm90IHNldAogQ09ORklHX0lOVEVHUklUWV9BVURJVD15Ci0jIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0FQUEFSTU9SPXkKKyMgQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfREFDIGlzIG5vdCBzZXQKK0NPTkZJR19ERUZBVUxUX1NFQ1VSSVRZPSJhcHBhcm1vciIKK0NPTkZJR19BVURJVF9HRU5FUklDPXkKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8vYXBwYXJtb3Jfb25fYm9vdC5jZmcgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yX29uX2Jvb3QuY2ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMzU3NDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvL2FwcGFybW9yX29uX2Jvb3QuY2ZnCkBAIC0wLDAgKzEgQEAKK0NPTkZJR19TRUNVUklUWV9BUFBBUk1PUl9CT09UUEFSQU1fVkFMVUU9MQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LiUuYmJhcHBlbmQgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZAppbmRleCAwNjdiZThmLi4zMjEzOTJjIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuJS5iYmFwcGVuZApAQCAtMiw2ICsyLDcgQEAKIAogU1JDX1VSSSArPSAiXAogICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwcGFybW9yJywgJyBmaWxlOi8vYXBwYXJtb3IuY2ZnJywgJycsIGQpfSBcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBwYXJtb3InLCAnIGZpbGU6Ly9hcHBhcm1vcl9vbl9ib290LmNmZycsICcnLCBkKX0gXAogIgogCiBTUkNfVVJJICs9ICJcCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC4lLmJiYXBwZW5kIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuJS5iYmFwcGVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODEwZTIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuJS5iYmFwcGVuZApAQCAtMCwwICsxLDExIEBACitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtUSElTRElSfS8ke1BOfS01LjA6IgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYXBwYXJtb3InLCAnIGZpbGU6Ly9hcHBhcm1vci5jZmcnLCAnJywgZCl9IFwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcHBhcm1vcicsICcgZmlsZTovL2FwcGFybW9yX29uX2Jvb3QuY2ZnJywgJycsIGQpfSBcCisiCisKK1NSQ19VUkkgKz0gIlwKKyAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzbWFjaycsICcgZmlsZTovL3NtYWNrLmNmZycsICcnLCBkKX0gXAorICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NtYWNrJywgJyBmaWxlOi8vc21hY2stZGVmYXVsdC1sc20uY2ZnJywgJycsIGQpfSBcCisiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2FwcGFybW9yXzIuMTMuMi5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZWQ2MTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2FwcGFybW9yXzIuMTMuMi5iYgpAQCAtMCwwICsxLDE2MCBAQAorU1VNTUFSWSA9ICJBcHBBcm1vciBhbm90aGVyIE1BQyBjb250cm9sIHN5c3RlbSIKK0RFU0NSSVBUSU9OID0gInVzZXItc3BhY2UgcGFyc2VyIHV0aWxpdHkgZm9yIEFwcEFybW9yIFwKKyBUaGlzIHByb3ZpZGVzIHRoZSBzeXN0ZW0gaW5pdGlhbGl6YXRpb24gc2NyaXB0cyBuZWVkZWQgdG8gdXNlIHRoZSBcCisgQXBwQXJtb3IgTWFuZGF0b3J5IEFjY2VzcyBDb250cm9sIHN5c3RlbSwgaW5jbHVkaW5nIHRoZSBBcHBBcm1vciBQYXJzZXIgXAorIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGNvbnZlcnQgQXBwQXJtb3IgdGV4dCBwcm9maWxlcyBpbnRvIG1hY2hpbmUtcmVhZGFibGUgXAorIHBvbGljaWVzIHRoYXQgYXJlIGxvYWRlZCBpbnRvIHRoZSBrZXJuZWwgZm9yIHVzZSB3aXRoIHRoZSBBcHBBcm1vciBMaW51eCBcCisgU2VjdXJpdHkgTW9kdWxlLiIKK0hPTUVBUEFHRSA9ICJodHRwOi8vYXBwYXJtb3IubmV0LyIKK1NFQ1RJT04gPSAiYWRtaW4iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBCU0QtMy1DbGF1c2UgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1N9L0xJQ0VOU0U7bWQ1PWZkNTdhNGIwYmM3ODJkN2I4MGZkNDMxZjEwYmJmOWQwIgorCitERVBFTkRTID0gImJpc29uLW5hdGl2ZSBhcHIgZ2V0dGV4dC1uYXRpdmUgY29yZXV0aWxzLW5hdGl2ZSIKKworU1JDX1VSSSA9ICIgXAorCWh0dHA6Ly9hcmNoaXZlLnVidW50dS5jb20vdWJ1bnR1L3Bvb2wvbWFpbi9hLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3ogXAorCWZpbGU6Ly9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaCBcCisJZmlsZTovL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoIFwKKwlmaWxlOi8vYXBwYXJtb3IucmMgXAorCWZpbGU6Ly9mdW5jdGlvbnMgXAorCWZpbGU6Ly9hcHBhcm1vciBcCisJZmlsZTovL2FwcGFybW9yLnNlcnZpY2UgXAorCWZpbGU6Ly9ydW4tcHRlc3QgXAorCSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI0MzliMzUyNjZiNWEzYTQ2MWIwYTJkYmE2ZTg2M2MzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg0NGRlZjk5MjZkZmRhNWM3ODU4NDI4ZDA2ZTQ0YWZjODA1NzNmOTcwNjQ1OGI2ZTcyODJlZGJiNDBiMTFhMzAiCisKK1BBUkFMTEVMX01BS0UgPSAiIgorCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHB5dGhvbjNuYXRpdmUgcGVybG5hdGl2ZSBwdGVzdCBjcGFuIG1hbnBhZ2VzIHN5c3RlbWQKKworUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbiBwZXJsIgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuLXBhZ2VzLCAtLWRpc2FibGUtbWFuLXBhZ2VzIgorUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0td2l0aC1weXRob24sIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMgc3dpZy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIi0td2l0aC1wZXJsLCAtLXdpdGhvdXQtcGVybCwgcGVybCBwZXJsLW5hdGl2ZSBzd2lnLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbYXBhY2hlMl0gPSAiLCxhcGFjaGUyLCIKKworUEFNTElCPSIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcxJywgJzAnLCBkKX0iCitIVFRQRD0iJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICcxJywgJzAnLCBkKX0iCisKKworcHl0aG9uKCkgeworICAgIGlmICdhcGFjaGUyJyBpbiBkLmdldFZhcignUEFDS0FHRUNPTkZJRycpLnNwbGl0KCkgYW5kIFwKKyAgICAgICAgICAgICd3ZWJzZXJ2ZXInIG5vdCBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJykuc3BsaXQoKToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgnUmVxdWlyZXMgbWV0YS13ZWJzZXJ2ZXIgdG8gYmUgcHJlc2VudC4nKQorfQorCitESVNBQkxFX1NUQVRJQyA9ICIiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwljZCAke1N9L2xpYnJhcmllcy9saWJhcHBhcm1vcgorCWFjbG9jYWwKKwlhdXRvY29uZiAtLWZvcmNlCisJbGlidG9vbGl6ZSAtLWF1dG9tYWtlIC1jIC0tZm9yY2UKKwlhdXRvbWFrZSAtYWMKKwkuL2NvbmZpZ3VyZSAke0NPTkZJR1VSRU9QVFN9ICR7RVhUUkFfT0VDT05GfQorfQorCitkb19jb21waWxlICgpIHsKKyAgICAgICAgIyBGaXhlczoKKyAgICAgICAgIyB8IHNlZCAtaWUgJ3MvLy9nJyBNYWtlZmlsZS5wZXJsCisgICAgICAgICMgfCBzZWQ6IC1lIGV4cHJlc3Npb24gIzEsIGNoYXIgMDogbm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uCisgICAgICAgICN8IE1ha2VmaWxlOjQ3ODogcmVjaXBlIGZvciB0YXJnZXQgJ01ha2VmaWxlLnBlcmwnIGZhaWxlZAorICAgICAgICBzZWQgLWkgInNAc2VkIC1pZSAncy8vL2cnIE1ha2VmaWxlLnBlcmxAQCIgJHtTfS9saWJyYXJpZXMvbGliYXBwYXJtb3Ivc3dpZy9wZXJsL01ha2VmaWxlCisKKworCW9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKKyAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS91dGlscworICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcworCisJaWYgdGVzdCAteiAiJHtIVFRQRH0iIDsgdGhlbgorICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IKKwlmaQkKKworCWlmIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCisgICAgICAgIAlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vcgorCWZpCit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfS8ke0lOSVRfRF9ESVJ9CisJaW5zdGFsbCAtZCAke0R9L2xpYi9hcHBhcm1vcgorCQkKKwlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlvZV9ydW5tYWtlIC1DICR7Qn0vYmludXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCW9lX3J1bm1ha2UgLUMgJHtCfS91dGlscyBERVNURElSPSIke0R9IiBpbnN0YWxsCisJb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlciBERVNURElSPSIke0R9IiBpbnN0YWxsCisJb2VfcnVubWFrZSAtQyAke0J9L3Byb2ZpbGVzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKworCSMgSWYgcGVybCBpcyBkaXNhYmxlZCB0aGlzIHNjcmlwdCB3b24ndCBiZSBhbnkgZ29vZAorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCdwZXJsJywndHJ1ZScsJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2FhLW5vdGlmeQorCWZpCisKKwlpZiB0ZXN0IC16ICIke0hUVFBEfSIgOyB0aGVuCisJCW9lX3J1bm1ha2UgLUMgJHtCfS9jaGFuZ2VoYXQvbW9kX2FwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKKwlmaQorCisJaWYgdGVzdCAteiAiJHtQQU1MSUJ9IiA7IHRoZW4KKwkJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9wYW1fYXBwYXJtb3IgREVTVERJUj0iJHtEfSIgaW5zdGFsbAorCWZpCisKKwkjIGFhLWVhc3lwcm9mIGlzIGluc3RhbGxlZCBieSBweXRob24tdG9vbHMtc2V0dXAucHksIGZpeCBpdCB1cAorCXNlZCAtaSAtZSAnczovdXNyL2Jpbi9lbnYuKjovdXNyL2Jpbi9weXRob24zOicgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgorCWNobW9kIDA3NTUgJHtEfSR7YmluZGlyfS9hYS1lYXN5cHJvZgorCisJaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yICR7RH0vJHtJTklUX0RfRElSfS9hcHBhcm1vcgorCWluc3RhbGwgJHtXT1JLRElSfS9mdW5jdGlvbnMgJHtEfS9saWIvYXBwYXJtb3IKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9CisJaW5zdGFsbCAke1dPUktESVJ9L2FwcGFybW9yLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0KK30KKworZG9fY29tcGlsZV9wdGVzdCAoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yCisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wYXJzZXIvdHN0CisgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisJdD0ke0R9LyR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlCisJaW5zdGFsbCAtZCAke3R9CisJaW5zdGFsbCAtZCAke3R9L3Rlc3RzL3JlZ3Jlc3Npb24vYXBwYXJtb3IKKwljcCAtcmYgJHtCfS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yICR7dH0vdGVzdHMvcmVncmVzc2lvbgorCisJaW5zdGFsbCAtZCAke3R9L3BhcnNlci90c3QKKwljcCAtcmYgJHtCfS9wYXJzZXIvdHN0ICR7dH0vcGFyc2VyCisJY3AgJHtCfS9wYXJzZXIvYXBwYXJtb3JfcGFyc2VyICR7dH0vcGFyc2VyCisJY3AgJHtCfS9wYXJzZXIvZnJvYl9zbGFja19yYyAke3R9L3BhcnNlcgorCisJaW5zdGFsbCAtZCAke3R9L2xpYnJhcmllcy9saWJhcHBhcm1vcgorCWNwIC1yZiAke0J9L2xpYnJhcmllcy9saWJhcHBhcm1vciAke3R9L2xpYnJhcmllcworCisJaW5zdGFsbCAtZCAke3R9L2NvbW1vbgorCWNwIC1yZiAke0J9L2NvbW1vbiAke3R9CisKKwlpbnN0YWxsIC1kICR7dH0vYmludXRpbHMKKwljcCAtcmYgJHtCfS9iaW51dGlscyAke3R9Cit9CisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0iCitJTklUU0NSSVBUX05BTUUgPSAiYXBwYXJtb3IiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAxNiAyIDMgNCA1IC4gc3RvcCAzNSAwIDEgNiAuIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImFwcGFybW9yLnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1BBQ0tBR0VTICs9ICJtb2QtJHtQTn0iCisKK0ZJTEVTXyR7UE59ICs9ICIvbGliL2FwcGFybW9yLyAke3N5c2NvbmZkaXJ9L2FwcGFybW9yICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorRklMRVNfbW9kLSR7UE59ID0gIiR7bGliZGlyfS9hcGFjaGUyL21vZHVsZXMvKiIKKworUkRFUEVORFNfJHtQTn0gKz0gImJhc2ggbHNiIgorUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywncHl0aG9uJywncHl0aG9uMyBweXRob24zLW1vZHVsZXMnLCcnLCBkKX0iCitSREVQRU5EU18ke1BOfV9yZW1vdmUgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywncGVybCcsJycsJ3BlcmwnLCBkKX0iCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAicGVybCBjb3JldXRpbHMgZGJ1cy1saWIgYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vciBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3IKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9hcHBhcm1vcgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9hcHBhcm1vcgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9hcHBhcm1vci5yYwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnJjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZSBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2FwcGFybW9yLnNlcnZpY2UKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvYXBwYXJtb3Iuc2VydmljZQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9jcm9zc2NvbXBpbGVfcGVybF9iaW5kaW5ncy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Nyb3NzY29tcGlsZV9wZXJsX2JpbmRpbmdzLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Rpc2FibGVfcGRmLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2gKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZGYucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZGlzYWJsZV9wZXJsX2hfY2hlY2sucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaApyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9BcHBBcm1vci9maWxlcy9kaXNhYmxlX3BlcmxfaF9jaGVjay5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvZnVuY3Rpb25zCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvZnVuY3Rpb25zCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL2Z1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvQXBwQXJtb3IvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL0FwcEFybW9yL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3J1bi1wdGVzdCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvc21hY2svZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svZmlsZXMvcnVuLXB0ZXN0CnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL2ZpbGVzL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLW1hYy9zbWFjay9maWxlcy9zbWFja19nZW5lcmF0b3JfbWFrZV9maXh1cC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL2ZpbGVzL3NtYWNrX2dlbmVyYXRvcl9tYWtlX2ZpeHVwLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svc21hY2tfMS4zLjEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtbWFjL3NtYWNrL3NtYWNrXzEuMy4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc21hY2svc21hY2tfMS4zLjEuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1tYWMvc21hY2svc21hY2tfMS4zLjEuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1wZXJsL3BlcmwvbGlid2hpc2tlcjItcGVybF8yLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtcGVybC9wZXJsL2xpYndoaXNrZXIyLXBlcmxfMi41LmJiCmluZGV4IGQ5YWY0MzAuLjcxODU3YWIgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1wZXJsL3BlcmwvbGlid2hpc2tlcjItcGVybF8yLjUuYmIKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXBlcmwvcGVybC9saWJ3aGlza2VyMi1wZXJsXzIuNS5iYgpAQCAtMjQsNCArMjQsNiBAQAogICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gSU5TVEFMTERJUj0ke1BFUkxMSUJESVJTfS92ZW5kb3JfcGVybC8ke1BFUkxWRVJTSU9OfSBNQU5ESVI9JHtkYXRhZGlyfS9wZXJsLyR7UEVSTFZFUlNJT059CiB9CiAKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BlcmwiCisKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L0FwcEFybW9yL2FwcGFybW9yXzIuMTIuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTNmOGRjOS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvQXBwQXJtb3IvYXBwYXJtb3JfMi4xMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE1OSArMCwwIEBACi1TVU1NQVJZID0gIkFwcEFybW9yIGFub3RoZXIgTUFDIGNvbnRyb2wgc3lzdGVtIgotREVTQ1JJUFRJT04gPSAidXNlci1zcGFjZSBwYXJzZXIgdXRpbGl0eSBmb3IgQXBwQXJtb3IgXAotIFRoaXMgcHJvdmlkZXMgdGhlIHN5c3RlbSBpbml0aWFsaXphdGlvbiBzY3JpcHRzIG5lZWRlZCB0byB1c2UgdGhlIFwKLSBBcHBBcm1vciBNYW5kYXRvcnkgQWNjZXNzIENvbnRyb2wgc3lzdGVtLCBpbmNsdWRpbmcgdGhlIEFwcEFybW9yIFBhcnNlciBcCi0gd2hpY2ggaXMgcmVxdWlyZWQgdG8gY29udmVydCBBcHBBcm1vciB0ZXh0IHByb2ZpbGVzIGludG8gbWFjaGluZS1yZWFkYWJsZSBcCi0gcG9saWNpZXMgdGhhdCBhcmUgbG9hZGVkIGludG8gdGhlIGtlcm5lbCBmb3IgdXNlIHdpdGggdGhlIEFwcEFybW9yIExpbnV4IFwKLSBTZWN1cml0eSBNb2R1bGUuIgotSE9NRUFQQUdFID0gImh0dHA6Ly9hcHBhcm1vci5uZXQvIgotU0VDVElPTiA9ICJhZG1pbiIKLQotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIEJTRC0zLUNsYXVzZSAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7U30vTElDRU5TRTttZDU9ZmQ1N2E0YjBiYzc4MmQ3YjgwZmQ0MzFmMTBiYmY5ZDAiCi0KLURFUEVORFMgPSAiYmlzb24tbmF0aXZlIGFwciBnZXR0ZXh0LW5hdGl2ZSBjb3JldXRpbHMtbmF0aXZlIgotCi1TUkNfVVJJID0gIiBcCi0JaHR0cDovL2FyY2hpdmUudWJ1bnR1LmNvbS91YnVudHUvcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCi0JZmlsZTovL2Rpc2FibGVfcGVybF9oX2NoZWNrLnBhdGNoIFwKLQlmaWxlOi8vY3Jvc3Njb21waWxlX3BlcmxfYmluZGluZ3MucGF0Y2ggXAotCWZpbGU6Ly9hcHBhcm1vci5yYyBcCi0JZmlsZTovL2Z1bmN0aW9ucyBcCi0JZmlsZTovL2FwcGFybW9yIFwKLQlmaWxlOi8vYXBwYXJtb3Iuc2VydmljZSBcCi0JZmlsZTovL3J1bi1wdGVzdCBcCi0JIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDkwNTRmNTgwNDJmOGU1MWVhOTJjYzg2NjU3NWE4MzMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGEyYjBjZDA4M2ZhYTRkMDY0MGY1NzkwMjRiZTNhNjI5ZmFhN2RiM2I5OTU0MDc5OGExYTA1MGUyZWFiYTA1NiIKLQotUEFSQUxMRUxfTUFLRSA9ICIiCi0KLWluaGVyaXQgcGtnY29uZmlnIGF1dG90b29scy1icm9rZW5zZXAgdXBkYXRlLXJjLmQgcHl0aG9uM25hdGl2ZSBwZXJsbmF0aXZlIHB0ZXN0IGNwYW4KLWluaGVyaXQgJHtAYmIudXRpbHMuY29udGFpbnMoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInLCdzeXN0ZW1kJywnc3lzdGVtZCcsJycsIGQpfQotCi1TID0gIiR7V09SS0RJUn0vYXBwYXJtb3ItJHtQVn0iCi0KLVBBQ0tBR0VDT05GSUcgPz0ibWFuIHB5dGhvbiBwZXJsIgotUEFDS0FHRUNPTkZJR1ttYW5dID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLXdpdGgtcHl0aG9uLCAtLXdpdGhvdXQtcHl0aG9uLCBweXRob24zIHN3aWctbmF0aXZlIgotUEFDS0FHRUNPTkZJR1twZXJsXSA9ICItLXdpdGgtcGVybCwgLS13aXRob3V0LXBlcmwsIHBlcmwgcGVybC1uYXRpdmUgc3dpZy1uYXRpdmUiCi1QQUNLQUdFQ09ORklHW2FwYWNoZTJdID0gIiwsYXBhY2hlMiwiCi0KLVBBTUxJQj0iJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnMScsICcwJywgZCl9IgotSFRUUEQ9IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2FwYWNoZTInLCAnMScsICcwJywgZCl9IgotCi0KLXB5dGhvbigpIHsKLSAgICBpZiAnYXBhY2hlMicgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VDT05GSUcnKS5zcGxpdCgpIGFuZCBcCi0gICAgICAgICAgICAnd2Vic2VydmVyJyBub3QgaW4gZC5nZXRWYXIoJ0JCRklMRV9DT0xMRUNUSU9OUycpLnNwbGl0KCk6Ci0gICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoJ1JlcXVpcmVzIG1ldGEtd2Vic2VydmVyIHRvIGJlIHByZXNlbnQuJykKLX0KLQotQ09ORklHVVJFT1BUU19yZW1vdmUgPSAiLS1kaXNhYmxlLXN0YXRpYyIKLUVYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tZW5hYmxlLXN0YXRpYyIKLQotZG9fY29uZmlndXJlKCkgewotCWNkICR7U30vbGlicmFyaWVzL2xpYmFwcGFybW9yCi0JYWNsb2NhbAotCWF1dG9jb25mIC0tZm9yY2UKLQlsaWJ0b29saXplIC0tYXV0b21ha2UgLWMgLS1mb3JjZQotCWF1dG9tYWtlIC1hYwotCS4vY29uZmlndXJlICR7Q09ORklHVVJFT1BUU30gJHtFWFRSQV9PRUNPTkZ9Ci0Jc2VkIC1pIC1lICdzI15ZQUNDLiojWUFDQyA6PSBiaXNvbiMnICR7U30vcGFyc2VyL01ha2VmaWxlCi0Jc2VkIC1pIC1lICdzI15MRVguKiNMRVggOj0gZmxleCMnICR7U30vcGFyc2VyL01ha2VmaWxlCi19Ci0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgLUMgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke0J9L2JpbnV0aWxzCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS91dGlscwotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyCi0gICAgICAgIG9lX3J1bm1ha2UgLUMgJHtCfS9wcm9maWxlcwotCi0JaWYgdGVzdCAteiAiJHtIVFRQRH0iIDsgdGhlbgotICAgICAgICAJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IKLQlmaQkKLQotCWlmIHRlc3QgLXogIiR7UEFNTElCfSIgOyB0aGVuCi0gICAgICAgIAlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vcgotCWZpCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke0lOSVRfRF9ESVJ9Ci0JaW5zdGFsbCAtZCAke0R9L2xpYi9hcHBhcm1vcgotCQkKLQlvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQlvZV9ydW5tYWtlIC1DICR7Qn0vYmludXRpbHMgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCW9lX3J1bm1ha2UgLUMgJHtCfS91dGlscyBERVNURElSPSIke0R9IiBpbnN0YWxsCi0Jb2VfcnVubWFrZSAtQyAke0J9L3BhcnNlciBERVNURElSPSIke0R9IiBpbnN0YWxsCi0Jb2VfcnVubWFrZSAtQyAke0J9L3Byb2ZpbGVzIERFU1RESVI9IiR7RH0iIGluc3RhbGwKLQotCWlmIHRlc3QgLXogIiR7SFRUUER9IiA7IHRoZW4KLQkJb2VfcnVubWFrZSAtQyAke0J9L2NoYW5nZWhhdC9tb2RfYXBwYXJtb3IgREVTVERJUj0iJHtEfSIgaW5zdGFsbAotCWZpCi0KLQlpZiB0ZXN0IC16ICIke1BBTUxJQn0iIDsgdGhlbgotCQlvZV9ydW5tYWtlIC1DICR7Qn0vY2hhbmdlaGF0L3BhbV9hcHBhcm1vciBERVNURElSPSIke0R9IiBpbnN0YWxsCi0JZmkKLQotCSMgYWEtZWFzeXByb2YgaXMgaW5zdGFsbGVkIGJ5IHB5dGhvbi10b29scy1zZXR1cC5weSwgZml4IGl0IHVwCi0Jc2VkIC1pIC1lICdzOi91c3IvYmluL2Vudi4qOi91c3IvYmluL3B5dGhvbjM6JyAke0R9JHtiaW5kaXJ9L2FhLWVhc3lwcm9mCi0JY2htb2QgMDc1NSAke0R9JHtiaW5kaXJ9L2FhLWVhc3lwcm9mCi0KLQlpbnN0YWxsICR7V09SS0RJUn0vYXBwYXJtb3IgJHtEfS8ke0lOSVRfRF9ESVJ9L2FwcGFybW9yCi0JaW5zdGFsbCAke1dPUktESVJ9L2Z1bmN0aW9ucyAke0R9L2xpYi9hcHBhcm1vcgotCWlmIFsgIiR7VklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcn0iID0gInN5c3RlbWQiIF07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotCQlpbnN0YWxsICR7V09SS0RJUn0vYXBwYXJtb3Iuc2VydmljZSBcCi0JCQkke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQotCWZpCi19Ci0KLWRvX2NvbXBpbGVfcHRlc3QgKCkgewotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vcgotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vcGFyc2VyL3RzdAotICAgICAgICBvZV9ydW5tYWtlIC1DICR7Qn0vbGlicmFyaWVzL2xpYmFwcGFybW9yCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotCXQ9JHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZQotCWluc3RhbGwgLWQgJHt0fQotCWluc3RhbGwgLWQgJHt0fS90ZXN0cy9yZWdyZXNzaW9uL2FwcGFybW9yCi0JY3AgLXJmICR7Qn0vdGVzdHMvcmVncmVzc2lvbi9hcHBhcm1vciAke3R9L3Rlc3RzL3JlZ3Jlc3Npb24KLQotCWluc3RhbGwgLWQgJHt0fS9wYXJzZXIvdHN0Ci0JY3AgLXJmICR7Qn0vcGFyc2VyL3RzdCAke3R9L3BhcnNlcgotCWNwICR7Qn0vcGFyc2VyL2FwcGFybW9yX3BhcnNlciAke3R9L3BhcnNlcgotCWNwICR7Qn0vcGFyc2VyL2Zyb2Jfc2xhY2tfcmMgJHt0fS9wYXJzZXIKLQotCWluc3RhbGwgLWQgJHt0fS9saWJyYXJpZXMvbGliYXBwYXJtb3IKLQljcCAtcmYgJHtCfS9saWJyYXJpZXMvbGliYXBwYXJtb3IgJHt0fS9saWJyYXJpZXMKLQotCWluc3RhbGwgLWQgJHt0fS9jb21tb24KLQljcCAtcmYgJHtCfS9jb21tb24gJHt0fQotCi0JaW5zdGFsbCAtZCAke3R9L2JpbnV0aWxzCi0JY3AgLXJmICR7Qn0vYmludXRpbHMgJHt0fQotfQotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59IgotSU5JVFNDUklQVF9OQU1FID0gImFwcGFybW9yIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMTYgMiAzIDQgNSAuIHN0b3AgMzUgMCAxIDYgLiIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJhcHBhcm1vci5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYXBhY2hlMicsICdtb2QtJHtQTn0nLCAnJywgZCl9IgotCi1GSUxFU18ke1BOfSArPSAiL2xpYi9hcHBhcm1vci8gJHtzeXNjb25mZGlyfS9hcHBhcm1vciAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSIKLUZJTEVTX21vZC0ke1BOfSA9ICIke2xpYmRpcn0vYXBhY2hlMi9tb2R1bGVzLyoiCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJiYXNoIGxzYiIKLVJERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3B5dGhvbicsJ3B5dGhvbjMgcHl0aG9uMy1tb2R1bGVzJywnJywgZCl9IgotUkRFUEVORFNfJHtQTn1fcmVtb3ZlICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsJ3BlcmwnLCcnLCdwZXJsJywgZCl9IgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwgY29yZXV0aWxzIGRidXMtbGliIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuMTEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OWE2N2JkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NoZWNrc2VjL2NoZWNrc2VjXzEuMTEuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJMaW51eCBzeXN0ZW0gc2VjdXJpdHkgY2hlY2tzIgorREVTQ1JJUFRJT04gPSAiVGhlIGNoZWNrc2VjIHNjcmlwdCBpcyBkZXNpZ25lZCB0byB0ZXN0IHdoYXQgc3RhbmRhcmQgTGludXggT1MgYW5kIFBhWCBzZWN1cml0eSBmZWF0dXJlcyBhcmUgYmVpbmcgdXNlZC4iCitTRUNUSU9OID0gInNlY3VyaXR5IgorTElDRU5TRSA9ICJCU0QiCitIT01FUEFHRT0iaHR0cHM6Ly9naXRodWIuY29tL3NsaW1tNjA5L2NoZWNrc2VjLnNoIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTNmZGRjY2ExOWY2Yzg5Nzg3MWY5YjVmOWEwMzVmNGEiCisKK1NSQ1JFViA9ICJhNTdlMDNjNGY2MmRiYWNhMGVjOTQ5YmJjNTg0OTFmYjBjNDYxNDQ3IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NsaW1tNjA5L2NoZWNrc2VjLnNoIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsKCkgeworICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2NoZWNrc2VjICR7RH0ke2JpbmRpcn0KK30KKworUkRFUEVORFNfJHtQTn0gPSAiYmFzaCBvcGVuc3NsLWJpbiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvY2hlY2tzZWNfMS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwN2YwZjdjLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9jaGVja3NlY18xLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlByb2dyYW0gcmFkb21pbml6YXRpb24iCi1ERVNDUklQVElPTiA9ICJUaGUgY2hlY2tzZWMuc2ggc2NyaXB0IGlzIGRlc2lnbmVkIHRvIHRlc3Qgd2hhdCBzdGFuZGFyZCBMaW51eCBPUyBhbmQgUGFYIHNlY3VyaXR5IGZlYXR1cmVzIGFyZSBiZWluZyB1c2VkLiIKLVNFQ1RJT04gPSAic2VjdXJpdHkiCi1MSUNFTlNFID0gIkJTRCIKLUhPTUVQQUdFPSJodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWMuaHRtbCIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY2hlY2tzZWMuc2g7bWQ1PTA3NTk5NmJlMzM5YWIxNmFkN2I5NGQ2ZGUzZWUwN2JkIgotCi1TUkNfVVJJID0gImZpbGU6Ly9jaGVja3NlYy5zaCIKLQotUyA9ICIke1dPUktESVJ9IgotCi1kb19pbnN0YWxsKCkgewotICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2NoZWNrc2VjLnNoICAgICR7RH0ke2JpbmRpcn0KLX0KLQotUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9maWxlcy9jaGVja3NlYy5zaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jaGVja3NlYy9maWxlcy9jaGVja3NlYy5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQxZjcyZS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2hlY2tzZWMvZmlsZXMvY2hlY2tzZWMuc2gKKysrIC9kZXYvbnVsbApAQCAtMSw4ODIgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMKLSMgVGhlIEJTRCBMaWNlbnNlIChodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL2JzZC1saWNlbnNlLnBocCkgCi0jIHNwZWNpZmllcyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlIGZvciBjaGVja3NlYy5zaDoKLSMKLSMgQ29weXJpZ2h0IChjKSAyMDA5LTIwMTEsIFRvYmlhcyBLbGVpbi4KLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgCi0jIGFyZSBtZXQ6Ci0jIAotIyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IAotIyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCAKLSMgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gCi0jICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSAKLSMgICBkaXN0cmlidXRpb24uCi0jICogTmVpdGhlciB0aGUgbmFtZSBvZiBUb2JpYXMgS2xlaW4gbm9yIHRoZSBuYW1lIG9mIHRyYXBraXQuZGUgbWF5IGJlIAotIyAgIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIAotIyAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIAotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCAKLSMgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgCi0jIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIAotIyBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCAKLSMgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgCi0jIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyAKLSMgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIAotIyBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIAotIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgCi0jIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIAotIyBEQU1BR0UuCi0jCi0jIE5hbWUgICAgOiBjaGVja3NlYy5zaAotIyBWZXJzaW9uIDogMS41Ci0jIEF1dGhvciAgOiBUb2JpYXMgS2xlaW4KLSMgRGF0ZSAgICA6IE5vdmVtYmVyIDIwMTEKLSMgRG93bmxvYWQ6IGh0dHA6Ly93d3cudHJhcGtpdC5kZS90b29scy9jaGVja3NlYy5odG1sCi0jIENoYW5nZXMgOiBodHRwOi8vd3d3LnRyYXBraXQuZGUvdG9vbHMvY2hlY2tzZWNfY2hhbmdlcy50eHQKLSMKLSMgRGVzY3JpcHRpb246Ci0jCi0jIE1vZGVybiBMaW51eCBkaXN0cmlidXRpb25zIG9mZmVyIHNvbWUgbWl0aWdhdGlvbiB0ZWNobmlxdWVzIHRvIG1ha2UgaXQgCi0jIGhhcmRlciB0byBleHBsb2l0IHNvZnR3YXJlIHZ1bG5lcmFiaWxpdGllcyByZWxpYWJseS4gTWl0aWdhdGlvbnMgc3VjaCAKLSMgYXMgUkVMUk8sIE5vRXhlY3V0ZSAoTlgpLCBTdGFjayBDYW5hcmllcywgQWRkcmVzcyBTcGFjZSBMYXlvdXQgCi0jIFJhbmRvbWl6YXRpb24gKEFTTFIpIGFuZCBQb3NpdGlvbiBJbmRlcGVuZGVudCBFeGVjdXRhYmxlcyAoUElFKSBoYXZlIAotIyBtYWRlIHJlbGlhYmx5IGV4cGxvaXRpbmcgYW55IHZ1bG5lcmFiaWxpdGllcyB0aGF0IGRvIGV4aXN0IGZhciBtb3JlIAotIyBjaGFsbGVuZ2luZy4gVGhlIGNoZWNrc2VjLnNoIHNjcmlwdCBpcyBkZXNpZ25lZCB0byB0ZXN0IHdoYXQgKnN0YW5kYXJkKiAKLSMgTGludXggT1MgYW5kIFBhWCAoaHR0cDovL3BheC5ncnNlY3VyaXR5Lm5ldC8pIHNlY3VyaXR5IGZlYXR1cmVzIGFyZSBiZWluZyAKLSMgdXNlZC4KLSMKLSMgQXMgb2YgdmVyc2lvbiAxLjMgdGhlIHNjcmlwdCBhbHNvIGxpc3RzIHRoZSBzdGF0dXMgb2YgdmFyaW91cyBMaW51eCBrZXJuZWwgCi0jIHByb3RlY3Rpb24gbWVjaGFuaXNtcy4KLSMKLSMgQ3JlZGl0czoKLSMKLSMgVGhhbmtzIHRvIEJyYWQgU3BlbmdsZXIgKGdyc2VjdXJpdHkubmV0KSBmb3IgdGhlIFBhWCBzdXBwb3J0LgotIyBUaGFua3MgdG8gSm9uIE9iZXJoZWlkZSAoam9uLm9iZXJoZWlkZS5vcmcpIGZvciB0aGUga2VybmVsIHN1cHBvcnQuCi0jIFRoYW5rcyB0byBPbGxpZSBXaGl0ZWhvdXNlIChSZXNlYXJjaCBJbiBNb3Rpb24pIGZvciBycGF0aC9ydW5wYXRoIHN1cHBvcnQuCi0jIAotIyBPdGhlcnMgdGhhdCBjb250cmlidXRlZCB0byBjaGVja3NlYy5zaCAoaW4gbm8gcGFydGljdWxhciBvcmRlcik6Ci0jCi0jIFNpbW9uIFJ1ZGVyaWNoLCBEZW5pcyBTY2hlcmJha292LCBTdGVmYW4gS3V0dGxlciwgUmFkb3NsYXcgTWFkZWosCi0jIEFudGhvbnkgRy4gQmFzaWxlLCBNYXJ0aW4gVmFldGggYW5kIEJyaWFuIERhdmlzLiAKLSMKLQotIyBnbG9iYWwgdmFycwotaGF2ZV9yZWFkZWxmPTEKLXZlcmJvc2U9ZmFsc2UKLQotIyBGT1JUSUZZX1NPVVJDRSB2YXJzCi1GU19lbmQ9X2NoawotRlNfY250X3RvdGFsPTAKLUZTX2NudF9jaGVja2VkPTAKLUZTX2NudF91bmNoZWNrZWQ9MAotRlNfY2hrX2Z1bmNfbGliYz0wCi1GU19mdW5jdGlvbnM9MAotRlNfbGliYz0wCi0gCi0jIHZlcnNpb24gaW5mb3JtYXRpb24KLXZlcnNpb24oKSB7Ci0gIGVjaG8gImNoZWNrc2VjIHYxLjUsIFRvYmlhcyBLbGVpbiwgd3d3LnRyYXBraXQuZGUsIE5vdmVtYmVyIDIwMTEiCi0gIGVjaG8gCi19Ci0KLSMgaGVscAotaGVscCgpIHsKLSAgZWNobyAiVXNhZ2U6IGNoZWNrc2VjIFtPUFRJT05dIgotICBlY2hvCi0gIGVjaG8gIk9wdGlvbnM6IgotICBlY2hvCi0gIGVjaG8gIiAgLS1maWxlIDxleGVjdXRhYmxlLWZpbGU+IgotICBlY2hvICIgIC0tZGlyIDxkaXJlY3Rvcnk+IFstdl0iCi0gIGVjaG8gIiAgLS1wcm9jIDxwcm9jZXNzIG5hbWU+IgotICBlY2hvICIgIC0tcHJvYy1hbGwiCi0gIGVjaG8gIiAgLS1wcm9jLWxpYnMgPHByb2Nlc3MgSUQ+IgotICBlY2hvICIgIC0ta2VybmVsIgotICBlY2hvICIgIC0tZm9ydGlmeS1maWxlIDxleGVjdXRhYmxlLWZpbGU+IgotICBlY2hvICIgIC0tZm9ydGlmeS1wcm9jIDxwcm9jZXNzIElEPiIKLSAgZWNobyAiICAtLXZlcnNpb24iCi0gIGVjaG8gIiAgLS1oZWxwIgotICBlY2hvCi0gIGVjaG8gIkZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWU6IgotICBlY2hvICIgIGh0dHA6Ly93d3cudHJhcGtpdC5kZS90b29scy9jaGVja3NlYy5odG1sIgotICBlY2hvCi19Ci0KLSMgY2hlY2sgaWYgY29tbWFuZCBleGlzdHMKLWNvbW1hbmRfZXhpc3RzICgpIHsKLSAgdHlwZSAkMSAgPiAvZGV2L251bGwgMj4mMTsKLX0KLQotIyBjaGVjayBpZiBkaXJlY3RvcnkgZXhpc3RzCi1kaXJfZXhpc3RzICgpIHsKLSAgaWYgWyAtZCAkMSBdIDsgdGhlbgotICAgIHJldHVybiAwCi0gIGVsc2UKLSAgICByZXR1cm4gMQotICBmaQotfQotCi0jIGNoZWNrIHVzZXIgcHJpdmlsZWdlcwotcm9vdF9wcml2cyAoKSB7Ci0gIGlmIFsgJCgvdXNyL2Jpbi9pZCAtdSkgLWVxIDAgXSA7IHRoZW4KLSAgICByZXR1cm4gMAotICBlbHNlCi0gICAgcmV0dXJuIDEKLSAgZmkKLX0KLQotIyBjaGVjayBpZiBpbnB1dCBpcyBudW1lcmljCi1pc051bWVyaWMgKCkgewotICBlY2hvICIkQCIgfCBncmVwIC1xIC12ICJbXjAtOV0iCi19Ci0KLSMgY2hlY2sgaWYgaW5wdXQgaXMgYSBzdHJpbmcKLWlzU3RyaW5nICgpIHsKLSAgZWNobyAiJEAiIHwgZ3JlcCAtcSAtdiAiW15BLVphLXpdIgotfQotCi0jIGNoZWNrIGZpbGUocykKLWZpbGVjaGVjaygpIHsKLSAgIyBjaGVjayBmb3IgUkVMUk8gc3VwcG9ydAotICBpZiByZWFkZWxmIC1sICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnR05VX1JFTFJPJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWQgJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdCSU5EX05PVyc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtRnVsbCBSRUxSTyAgIFwwMzNbbSAgICcKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbVBhcnRpYWwgUkVMUk9cMDMzW20gICAnCi0gICAgZmkKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gUkVMUk8gICAgIFwwMzNbbSAgICcKLSAgZmkKLQotICAjIGNoZWNrIGZvciBzdGFjayBjYW5hcnkgc3VwcG9ydAotICBpZiByZWFkZWxmIC1zICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnX19zdGFja19jaGtfZmFpbCc7IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybUNhbmFyeSBmb3VuZCAgIFwwMzNbbSAgICcKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTm8gY2FuYXJ5IGZvdW5kXDAzM1ttICAgJwotICBmaQotCi0gICMgY2hlY2sgZm9yIE5YIHN1cHBvcnQKLSAgaWYgcmVhZGVsZiAtVyAtbCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgJ0dOVV9TVEFDSycgfCBncmVwIC1xICdSV0UnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1OWCBkaXNhYmxlZFwwMzNbbSAgICcKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTlggZW5hYmxlZCBcMDMzW20gICAnCi0gIGZpIAotCi0gICMgY2hlY2sgZm9yIFBJRSBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLWggJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkVYRUMnOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBQSUUgICAgICAgXDAzM1ttICAgJwotICBlbGlmIHJlYWRlbGYgLWggJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdUeXBlOltbOnNwYWNlOl1dKkRZTic7IHRoZW4KLSAgICBpZiByZWFkZWxmIC1kICQxIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnKERFQlVHKSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUElFIGVuYWJsZWQgIFwwMzNbbSAgICcKLSAgICBlbHNlICAgCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbURTTyAgICAgICAgICBcMDMzW20gICAnCi0gICAgZmkKLSAgZWxzZQotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtTm90IGFuIEVMRiBmaWxlXDAzM1ttICAgJwotICBmaSAKLQotICAjIGNoZWNrIGZvciBycGF0aCAvIHJ1biBwYXRoCi0gIGlmIHJlYWRlbGYgLWQgJDEgMj4vZGV2L251bGwgfCBncmVwIC1xICdycGF0aCc7IHRoZW4KLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUlBBVEggICAgXDAzM1ttICAnCi0gIGVsc2UKLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTm8gUlBBVEggXDAzM1ttICAnCi0gIGZpCi0KLSAgaWYgcmVhZGVsZiAtZCAkMSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ3J1bnBhdGgnOyB0aGVuCi0gICBlY2hvIC1uIC1lICdcMDMzWzMxbVJVTlBBVEggICAgXDAzM1ttICAnCi0gIGVsc2UKLSAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtTm8gUlVOUEFUSCBcMDMzW20gICcKLSAgZmkKLX0KLQotIyBjaGVjayBwcm9jZXNzKGVzKQotcHJvY2NoZWNrKCkgewotICAjIGNoZWNrIGZvciBSRUxSTyBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLWwgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnUHJvZ3JhbSBIZWFkZXJzJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWwgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnR05VX1JFTFJPJzsgdGhlbgotICAgICAgaWYgcmVhZGVsZiAtZCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwIC1xICdCSU5EX05PVyc7IHRoZW4KLSAgICAgICAgZWNobyAtbiAtZSAnXDAzM1szMm1GdWxsIFJFTFJPICAgICAgIFwwMzNbbSAnCi0gICAgICBlbHNlCi0gICAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFydGlhbCBSRUxSTyAgICBcMDMzW20gJwotICAgICAgZmkKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIFJFTFJPICAgICAgICAgXDAzM1ttICcKLSAgICBmaQotICBlbHNlCi0gICAgZWNobyAtbiAtZSAnXDAzM1szMW1QZXJtaXNzaW9uIGRlbmllZCAocGxlYXNlIHJ1biBhcyByb290KVwwMzNbbVxuJwotICAgIGV4aXQgMQotICBmaQotCi0gICMgY2hlY2sgZm9yIHN0YWNrIGNhbmFyeSBzdXBwb3J0Ci0gIGlmIHJlYWRlbGYgLXMgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnU3ltYm9sIHRhYmxlJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLXMgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnX19zdGFja19jaGtfZmFpbCc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtQ2FuYXJ5IGZvdW5kICAgICAgICAgXDAzM1ttICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1ObyBjYW5hcnkgZm91bmQgICAgICBcMDMzW20gICcKLSAgICBmaQotICBlbHNlCi0gICAgaWYgWyAiJDEiICE9ICIxIiBdIDsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szM21QZXJtaXNzaW9uIGRlbmllZCAgICBcMDMzW20gICcKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU5vIHN5bWJvbCB0YWJsZSBmb3VuZFwwMzNbbSAgJwotICAgIGZpCi0gIGZpCi0KLSAgIyBmaXJzdCBjaGVjayBmb3IgUGFYIHN1cHBvcnQKLSAgaWYgY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwIC1xICdQYVg6JzsgdGhlbgotICAgIHBhZ2VleGVjPSggJChjYXQgJDEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgJ1BhWDonIHwgY3V0IC1iNikgKQotICAgIHNlZ21leGVjPSggJChjYXQgJDEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgJ1BhWDonIHwgY3V0IC1iMTApICkKLSAgICBtcHJvdGVjdD0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjgpICkKLSAgICByYW5kbW1hcD0oICQoY2F0ICQxL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGN1dCAtYjkpICkKLSAgICBpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJNIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUGFYIGVuYWJsZWRcMDMzW20gICAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJwIiAmJiAiJHNlZ21leGVjIiA9ICJzIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIEFTTFIgb25seVwwMzNbbSAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJtIiAmJiAiJHJhbmRtbWFwIiA9ICJSIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIG1wcm90IG9mZiBcMDMzW20nCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJNIiAmJiAiJHJhbmRtbWFwIiA9ICJyIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIEFTTFIgb2ZmXDAzM1ttICAnCi0gICAgZWxpZiBbWyAiJHBhZ2VleGVjIiA9ICJQIiB8fCAiJHNlZ21leGVjIiA9ICJTIiBdXSAmJiBbWyAiJG1wcm90ZWN0IiA9ICJtIiAmJiAiJHJhbmRtbWFwIiA9ICJyIiBdXSA7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtUGFYIE5YIG9ubHlcMDMzW20gICAnCi0gICAgZWxzZQotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMW1QYVggZGlzYWJsZWRcMDMzW20gICcKLSAgICBmaQotICAjIGZhbGxiYWNrIGNoZWNrIGZvciBOWCBzdXBwb3J0Ci0gIGVsaWYgcmVhZGVsZiAtVyAtbCAkMS9leGUgMj4vZGV2L251bGwgfCBncmVwICdHTlVfU1RBQ0snIHwgZ3JlcCAtcSAnUldFJzsgdGhlbgotICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtTlggZGlzYWJsZWRcMDMzW20gICAnCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybU5YIGVuYWJsZWQgXDAzM1ttICAgJwotICBmaSAKLQotICAjIGNoZWNrIGZvciBQSUUgc3VwcG9ydAotICBpZiByZWFkZWxmIC1oICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1R5cGU6W1s6c3BhY2U6XV0qRVhFQyc7IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vIFBJRSAgICAgICAgICAgICAgIFwwMzNbbSAgICcKLSAgZWxpZiByZWFkZWxmIC1oICQxL2V4ZSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ1R5cGU6W1s6c3BhY2U6XV0qRFlOJzsgdGhlbgotICAgIGlmIHJlYWRlbGYgLWQgJDEvZXhlIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAnKERFQlVHKSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzJtUElFIGVuYWJsZWQgICAgICAgICAgXDAzM1ttICAgJwotICAgIGVsc2UgICAKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtRHluYW1pYyBTaGFyZWQgT2JqZWN0XDAzM1ttICAgJwotICAgIGZpCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMzbU5vdCBhbiBFTEYgZmlsZSAgICAgIFwwMzNbbSAgICcKLSAgZmkKLX0KLQotIyBjaGVjayBtYXBwZWQgbGlicmFyaWVzCi1saWJjaGVjaygpIHsKLSAgbGlicz0oICQoYXdrICd7IHByaW50ICQ2IH0nIC9wcm9jLyQxL21hcHMgfCBncmVwICcvJyB8IHNvcnQgLXUgfCB4YXJncyBmaWxlIHwgZ3JlcCBFTEYgfCBhd2sgJ3sgcHJpbnQgJDEgfScgfCBzZWQgJ3MvOi8gLycpICkKLSAKLSAgcHJpbnRmICJcbiogTG9hZGVkIGxpYnJhcmllcyAoZmlsZSBpbmZvcm1hdGlvbiwgIyBvZiBtYXBwZWQgZmlsZXM6ICR7I2xpYnNbQF19KTpcblxuIgotICAKLSAgZm9yIGVsZW1lbnQgaW4gJChzZXEgMCAkKCgkeyNsaWJzW0BdfSAtIDEpKSkKLSAgZG8KLSAgICBlY2hvICIgICR7bGlic1skZWxlbWVudF19OiIKLSAgICBlY2hvIC1uICIgICAgIgotICAgIGZpbGVjaGVjayAke2xpYnNbJGVsZW1lbnRdfQotICAgIHByaW50ZiAiXG5cbiIKLSAgZG9uZQotfQotCi0jIGNoZWNrIGZvciBzeXN0ZW0td2lkZSBBU0xSIHN1cHBvcnQKLWFzbHJjaGVjaygpIHsKLSAgIyBQYVggQVNMUiBzdXBwb3J0Ci0gIGlmICEoY2F0IC9wcm9jLzEvc3RhdHVzIDI+IC9kZXYvbnVsbCB8IGdyZXAgLXEgJ05hbWU6JykgOyB0aGVuCi0gICAgZWNobyAtbiAtZSAnOlwwMzNbMzNtIGluc3VmZmljaWVudCBwcml2aWxlZ2VzIGZvciBQYVggQVNMUiBjaGVja3NcMDMzW21cbicKLSAgICBlY2hvIC1uIC1lICcgIEZhbGxiYWNrIHRvIHN0YW5kYXJkIExpbnV4IEFTTFIgY2hlY2snCi0gIGZpCi0gIAotICBpZiBjYXQgL3Byb2MvMS9zdGF0dXMgMj4gL2Rldi9udWxsIHwgZ3JlcCAtcSAnUGFYOic7IHRoZW4KLSAgICBwcmludGYgIjogIgotICAgIGlmIGNhdCAvcHJvYy8xL3N0YXR1cyAyPiAvZGV2L251bGwgfCBncmVwICdQYVg6JyB8IGdyZXAgLXEgJ1InOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMybVBhWCBBU0xSIGVuYWJsZWRcMDMzW21cblxuJwotICAgIGVsc2UKLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzFtUGFYIEFTTFIgZGlzYWJsZWRcMDMzW21cblxuJwotICAgIGZpCi0gIGVsc2UKLSAgICAjIHN0YW5kYXJkIExpbnV4ICdrZXJuZWwucmFuZG9taXplX3ZhX3NwYWNlJyBBU0xSIHN1cHBvcnQKLSAgICAjIChzZWUgdGhlIGtlcm5lbCBmaWxlICdEb2N1bWVudGF0aW9uL3N5c2N0bC9rZXJuZWwudHh0JyBmb3IgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbikKLSAgICBwcmludGYgIiAoa2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZSk6ICIKLSAgICBpZiAvc2Jpbi9zeXNjdGwgLWEgMj4vZGV2L251bGwgfCBncmVwIC1xICdrZXJuZWwucmFuZG9taXplX3ZhX3NwYWNlID0gMSc7IHRoZW4KLSAgICAgIGVjaG8gLW4gLWUgJ1wwMzNbMzNtT24gKFNldHRpbmc6IDEpXDAzM1ttXG5cbicKLSAgICAgIHByaW50ZiAiICBEZXNjcmlwdGlvbiAtIE1ha2UgdGhlIGFkZHJlc3NlcyBvZiBtbWFwIGJhc2UsIHN0YWNrIGFuZCBWRFNPIHBhZ2UgcmFuZG9taXplZC5cbiIKLSAgICAgIHByaW50ZiAiICBUaGlzLCBhbW9uZyBvdGhlciB0aGluZ3MsIGltcGxpZXMgdGhhdCBzaGFyZWQgbGlicmFyaWVzIHdpbGwgYmUgbG9hZGVkIHRvIFxuIgotICAgICAgcHJpbnRmICIgIHJhbmRvbSBhZGRyZXNzZXMuIEFsc28gZm9yIFBJRS1saW5rZWQgYmluYXJpZXMsIHRoZSBsb2NhdGlvbiBvZiBjb2RlIHN0YXJ0XG4iCi0gICAgICBwcmludGYgIiAgaXMgcmFuZG9taXplZC4gSGVhcCBhZGRyZXNzZXMgYXJlICpub3QqIHJhbmRvbWl6ZWQuXG5cbiIKLSAgICBlbGlmIC9zYmluL3N5c2N0bCAtYSAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgJ2tlcm5lbC5yYW5kb21pemVfdmFfc3BhY2UgPSAyJzsgdGhlbgotICAgICAgZWNobyAtbiAtZSAnXDAzM1szMm1PbiAoU2V0dGluZzogMilcMDMzW21cblxuJwotICAgICAgcHJpbnRmICIgIERlc2NyaXB0aW9uIC0gTWFrZSB0aGUgYWRkcmVzc2VzIG9mIG1tYXAgYmFzZSwgaGVhcCwgc3RhY2sgYW5kIFZEU08gcGFnZSByYW5kb21pemVkLlxuIgotICAgICAgcHJpbnRmICIgIFRoaXMsIGFtb25nIG90aGVyIHRoaW5ncywgaW1wbGllcyB0aGF0IHNoYXJlZCBsaWJyYXJpZXMgd2lsbCBiZSBsb2FkZWQgdG8gcmFuZG9tIFxuIgotICAgICAgcHJpbnRmICIgIGFkZHJlc3Nlcy4gQWxzbyBmb3IgUElFLWxpbmtlZCBiaW5hcmllcywgdGhlIGxvY2F0aW9uIG9mIGNvZGUgc3RhcnQgaXMgcmFuZG9taXplZC5cblxuIgotICAgIGVsaWYgL3NiaW4vc3lzY3RsIC1hIDI+L2Rldi9udWxsIHwgZ3JlcCAtcSAna2VybmVsLnJhbmRvbWl6ZV92YV9zcGFjZSA9IDAnOyB0aGVuCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU9mZiAoU2V0dGluZzogMClcMDMzW21cbicKLSAgICBlbHNlCi0gICAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vdCBzdXBwb3J0ZWRcMDMzW21cbicKLSAgICBmaQotICAgIHByaW50ZiAiICBTZWUgdGhlIGtlcm5lbCBmaWxlICdEb2N1bWVudGF0aW9uL3N5c2N0bC9rZXJuZWwudHh0JyBmb3IgbW9yZSBkZXRhaWxzLlxuXG4iCi0gIGZpIAotfQotCi0jIGNoZWNrIGNwdSBueCBmbGFnCi1ueGNoZWNrKCkgewotICBpZiBncmVwIC1xIG54IC9wcm9jL2NwdWluZm87IHRoZW4KLSAgICBlY2hvIC1uIC1lICdcMDMzWzMybVllc1wwMzNbbVxuXG4nCi0gIGVsc2UKLSAgICBlY2hvIC1uIC1lICdcMDMzWzMxbU5vXDAzM1ttXG5cbicKLSAgZmkKLX0KLQotIyBjaGVjayBmb3Iga2VybmVsIHByb3RlY3Rpb24gbWVjaGFuaXNtcwota2VybmVsY2hlY2soKSB7Ci0gIHByaW50ZiAiICBEZXNjcmlwdGlvbiAtIExpc3QgdGhlIHN0YXR1cyBvZiBrZXJuZWwgcHJvdGVjdGlvbiBtZWNoYW5pc21zLiBSYXRoZXIgdGhhblxuIgotICBwcmludGYgIiAgaW5zcGVjdCBrZXJuZWwgbWVjaGFuaXNtcyB0aGF0IG1heSBhaWQgaW4gdGhlIHByZXZlbnRpb24gb2YgZXhwbG9pdGF0aW9uIG9mXG4iCi0gIHByaW50ZiAiICB1c2Vyc3BhY2UgcHJvY2Vzc2VzLCB0aGlzIG9wdGlvbiBsaXN0cyB0aGUgc3RhdHVzIG9mIGtlcm5lbCBjb25maWd1cmF0aW9uXG4iCi0gIHByaW50ZiAiICBvcHRpb25zIHRoYXQgaGFyZGVuIHRoZSBrZXJuZWwgaXRzZWxmIGFnYWluc3QgYXR0YWNrLlxuXG4iCi0gIHByaW50ZiAiICBLZXJuZWwgY29uZmlnOiAiCi0gCi0gIGlmIFsgLWYgL3Byb2MvY29uZmlnLmd6IF0gOyB0aGVuCi0gICAga2NvbmZpZz0iemNhdCAvcHJvYy9jb25maWcuZ3oiCi0gICAgcHJpbnRmICJcMDMzWzMybS9wcm9jL2NvbmZpZy5nelwwMzNbbVxuXG4iCi0gIGVsaWYgWyAtZiAvYm9vdC9jb25maWctYHVuYW1lIC1yYCBdIDsgdGhlbgotICAgIGtjb25maWc9ImNhdCAvYm9vdC9jb25maWctYHVuYW1lIC1yYCIKLSAgICBwcmludGYgIlwwMzNbMzNtL2Jvb3QvY29uZmlnLWB1bmFtZSAtcmBcMDMzW21cblxuIgotICAgIHByaW50ZiAiICBXYXJuaW5nOiBUaGUgY29uZmlnIG9uIGRpc2sgbWF5IG5vdCByZXByZXNlbnQgcnVubmluZyBrZXJuZWwgY29uZmlnIVxuXG4iOwotICBlbGlmIFsgLWYgIiR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ii8uY29uZmlnIF0gOyB0aGVuCi0gICAga2NvbmZpZz0iY2F0ICR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ly5jb25maWciCi0gICAgcHJpbnRmICJcMDMzWzMzbSVzXDAzM1ttXG5cbiIgIiR7S0JVSUxEX09VVFBVVDotL3Vzci9zcmMvbGludXh9Ly5jb25maWciCi0gICAgcHJpbnRmICIgIFdhcm5pbmc6IFRoZSBjb25maWcgb24gZGlzayBtYXkgbm90IHJlcHJlc2VudCBydW5uaW5nIGtlcm5lbCBjb25maWchXG5cbiI7Ci0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtTk9UIEZPVU5EXDAzM1ttXG5cbiIKLSAgICBleGl0IDAKLSAgZmkKLQotICBwcmludGYgIiAgR0NDIHN0YWNrIHByb3RlY3RvciBzdXBwb3J0OiAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SPXknOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICBmaQotCi0gIHByaW50ZiAiICBTdHJpY3QgdXNlciBjb3B5IGNoZWNrczogICAgICAgICAgICAgICAgIgotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfREVCVUdfU1RSSUNUX1VTRVJfQ09QWV9DSEVDS1M9eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGZpCi0KLSAgcHJpbnRmICIgIEVuZm9yY2UgcmVhZC1vbmx5IGtlcm5lbCBkYXRhOiAgICAgICAgICAiCi0gIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19ERUJVR19ST0RBVEE9eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gIGZpCi0gIHByaW50ZiAiICBSZXN0cmljdCAvZGV2L21lbSBhY2Nlc3M6ICAgICAgICAgICAgICAgIgotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfU1RSSUNUX0RFVk1FTT15JzsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgZmkKLQotICBwcmludGYgIiAgUmVzdHJpY3QgL2Rldi9rbWVtIGFjY2VzczogICAgICAgICAgICAgICIKLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0RFVktNRU09eSc7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gIGZpCi0KLSAgcHJpbnRmICJcbiIKLSAgcHJpbnRmICIqIGdyc2VjdXJpdHkgLyBQYVg6ICIKLQotICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfR1JLRVJOU0VDPXknOyB0aGVuCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19ISUdIPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtSGlnaCBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIGVsaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19NRURJVU09eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szM21NZWRpdW0gR1JLRVJOU0VDXDAzM1ttXG5cbiIKLSAgICBlbGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfTE9XPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzFtTG93IEdSS0VSTlNFQ1wwMzNbbVxuXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMzbUN1c3RvbSBHUktFUk5TRUNcMDMzW21cblxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgTm9uLWV4ZWN1dGFibGUga2VybmVsIHBhZ2VzOiAgICAgICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX0tFUk5FWEVDPXknOyB0aGVuCi0gICAgICBwcmludGYgIlwwMzNbMzJtRW5hYmxlZFwwMzNbbVxuIgotICAgIGVsc2UKLSAgICAgIHByaW50ZiAiXDAzM1szMW1EaXNhYmxlZFwwMzNbbVxuIgotICAgIGZpCi0KLSAgICBwcmludGYgIiAgUHJldmVudCB1c2Vyc3BhY2UgcG9pbnRlciBkZXJlZjogICAgICAgICIKLSAgICBpZiAka2NvbmZpZyB8IGdyZXAgLXFpICdDT05GSUdfUEFYX01FTU9SWV9VREVSRUY9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBQcmV2ZW50IGtvYmplY3QgcmVmY291bnQgb3ZlcmZsb3c6ICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19QQVhfUkVGQ09VTlQ9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBCb3VuZHMgY2hlY2sgaGVhcCBvYmplY3QgY29waWVzOiAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19QQVhfVVNFUkNPUFk9eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBEaXNhYmxlIHdyaXRpbmcgdG8ga21lbS9tZW0vcG9ydDogICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfS01FTT15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIERpc2FibGUgcHJpdmlsZWdlZCBJL086ICAgICAgICAgICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19JTz15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotCi0gICAgcHJpbnRmICIgIEhhcmRlbiBtb2R1bGUgYXV0by1sb2FkaW5nOiAgICAgICAgICAgICAiCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0dSS0VSTlNFQ19NT0RIQVJERU49eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1FbmFibGVkXDAzM1ttXG4iCi0gICAgZWxzZQotICAgICAgcHJpbnRmICJcMDMzWzMxbURpc2FibGVkXDAzM1ttXG4iCi0gICAgZmkKLQotICAgIHByaW50ZiAiICBIaWRlIGtlcm5lbCBzeW1ib2xzOiAgICAgICAgICAgICAgICAgICAgIgotICAgIGlmICRrY29uZmlnIHwgZ3JlcCAtcWkgJ0NPTkZJR19HUktFUk5TRUNfSElERVNZTT15JzsgdGhlbgotICAgICAgcHJpbnRmICJcMDMzWzMybUVuYWJsZWRcMDMzW21cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRGlzYWJsZWRcMDMzW21cbiIKLSAgICBmaQotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbU5vIEdSS0VSTlNFQ1wwMzNbbVxuXG4iCi0gICAgcHJpbnRmICIgIFRoZSBncnNlY3VyaXR5IC8gUGFYIHBhdGNoc2V0IGlzIGF2YWlsYWJsZSBoZXJlOlxuIgotICAgIHByaW50ZiAiICAgIGh0dHA6Ly9ncnNlY3VyaXR5Lm5ldC9cbiIKLSAgZmkKLQotICBwcmludGYgIlxuIgotICBwcmludGYgIiogS2VybmVsIEhlYXAgSGFyZGVuaW5nOiAiCi0KLSAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0tFUk5IRUFQPXknOyB0aGVuCi0gICAgaWYgJGtjb25maWcgfCBncmVwIC1xaSAnQ09ORklHX0tFUk5IRUFQX0ZVTExQT0lTT049eSc7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1GdWxsIEtFUk5IRUFQXDAzM1ttXG5cbiIKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzNtUGFydGlhbCBLRVJOSEVBUFwwMzNbbVxuXG4iCi0gICAgZmkKLSAgZWxzZQotICAgIHByaW50ZiAiXDAzM1szMW1ObyBLRVJOSEVBUFwwMzNbbVxuXG4iCi0gICAgcHJpbnRmICIgIFRoZSBLRVJOSEVBUCBoYXJkZW5pbmcgcGF0Y2hzZXQgaXMgYXZhaWxhYmxlIGhlcmU6XG4iCi0gICAgcHJpbnRmICIgICAgaHR0cHM6Ly93d3cuc3VicmVwdGlvbi5jb20va2VybmhlYXAvXG5cbiIKLSAgZmkKLX0KLQotIyAtLS0gRk9SVElGWV9TT1VSQ0Ugc3ViZnVuY3Rpb25zIChzdGFydCkgLS0tCi0KLSMgaXMgRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydGVkIGJ5IGxpYmM/Ci1GU19saWJjX2NoZWNrKCkgewotICBwcmludGYgIiogRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydCBhdmFpbGFibGUgKGxpYmMpICAgIDogIgotCi0gIGlmIFsgIiR7I0ZTX2Noa19mdW5jX2xpYmNbQF19IiAhPSAiMCIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzJtWWVzXDAzM1ttXG4iCi0gIGVsc2UKLSAgICBwcmludGYgIlwwMzNbMzFtTm9cMDMzW21cbiIKLSAgICBleGl0IDEKLSAgZmkKLX0KLQotIyB3YXMgdGhlIGJpbmFyeSBjb21waWxlZCB3aXRoIEZPUlRJRllfU09VUkNFPwotRlNfYmluYXJ5X2NoZWNrKCkgewotICBwcmludGYgIiogQmluYXJ5IGNvbXBpbGVkIHdpdGggRk9SVElGWV9TT1VSQ0Ugc3VwcG9ydDogIgotCi0gIGZvciBGU19lbGVtX2Z1bmN0aW9ucyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Z1bmN0aW9uc1tAXX0gLSAxKSkpCi0gIGRvCi0gICAgaWYgW1sgJHtGU19mdW5jdGlvbnNbJEZTX2VsZW1fZnVuY3Rpb25zXX0gPX4gX2NoayBdXSA7IHRoZW4KLSAgICAgIHByaW50ZiAiXDAzM1szMm1ZZXNcMDMzW21cbiIKLSAgICAgIHJldHVybgotICAgIGZpCi0gIGRvbmUKLSAgcHJpbnRmICJcMDMzWzMxbU5vXDAzM1ttXG4iCi0gIGV4aXQgMQotfQotCi1GU19jb21wYXJpc29uKCkgewotICBlY2hvCi0gIHByaW50ZiAiIC0tLS0tLSBFWEVDVVRBQkxFLUZJTEUgLS0tLS0tLSAuIC0tLS0tLS0tIExJQkMgLS0tLS0tLS1cbiIKLSAgcHJpbnRmICIgRk9SVElGWS1hYmxlIGxpYnJhcnkgZnVuY3Rpb25zIHwgQ2hlY2tlZCBmdW5jdGlvbiBuYW1lc1xuIgotICBwcmludGYgIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSAgZm9yIEZTX2VsZW1fbGliYyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Noa19mdW5jX2xpYmNbQF19IC0gMSkpKQotICBkbwotICAgIGZvciBGU19lbGVtX2Z1bmN0aW9ucyBpbiAkKHNlcSAwICQoKCR7I0ZTX2Z1bmN0aW9uc1tAXX0gLSAxKSkpCi0gICAgZG8KLSAgICAgIEZTX3RtcF9mdW5jPSR7RlNfZnVuY3Rpb25zWyRGU19lbGVtX2Z1bmN0aW9uc119Ci0gICAgICBGU190bXBfbGliYz0ke0ZTX2Noa19mdW5jX2xpYmNbJEZTX2VsZW1fbGliY119Ci0KLSAgICAgIGlmIFtbICRGU190bXBfZnVuYyA9fiBeJEZTX3RtcF9saWJjJCBdXSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICIgXDAzM1szMW0lLTMwc1wwMzNbbSB8IF9fJXMlc1xuIiAkRlNfdG1wX2Z1bmMgJEZTX3RtcF9saWJjICRGU19lbmQKLSAgICAgICAgbGV0IEZTX2NudF90b3RhbCsrCi0gICAgICAgIGxldCBGU19jbnRfdW5jaGVja2VkKysKLSAgICAgIGVsaWYgW1sgJEZTX3RtcF9mdW5jID1+IF4kRlNfdG1wX2xpYmMoX2NoaykgXV0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiIFwwMzNbMzJtJS0zMHNcMDMzW20gfCBfXyVzJXNcbiIgJEZTX3RtcF9mdW5jICRGU190bXBfbGliYyAkRlNfZW5kCi0gICAgICAgIGxldCBGU19jbnRfdG90YWwrKwotICAgICAgICBsZXQgRlNfY250X2NoZWNrZWQrKwotICAgICAgZmkKLQotICAgIGRvbmUKLSAgZG9uZQotfQotCi1GU19zdW1tYXJ5KCkgewotICBlY2hvCi0gIHByaW50ZiAiU1VNTUFSWTpcblxuIgotICBwcmludGYgIiogTnVtYmVyIG9mIGNoZWNrZWQgZnVuY3Rpb25zIGluIGxpYmMgICAgICAgICAgICAgICAgOiAkeyNGU19jaGtfZnVuY19saWJjW0BdfVxuIgotICBwcmludGYgIiogVG90YWwgbnVtYmVyIG9mIGxpYnJhcnkgZnVuY3Rpb25zIGluIHRoZSBleGVjdXRhYmxlOiAkeyNGU19mdW5jdGlvbnNbQF19XG4iCi0gIHByaW50ZiAiKiBOdW1iZXIgb2YgRk9SVElGWS1hYmxlIGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZSA6ICVzXG4iICRGU19jbnRfdG90YWwKLSAgcHJpbnRmICIqIE51bWJlciBvZiBjaGVja2VkIGZ1bmN0aW9ucyBpbiB0aGUgZXhlY3V0YWJsZSAgICAgIDogXDAzM1szMm0lc1wwMzNbbVxuIiAkRlNfY250X2NoZWNrZWQKLSAgcHJpbnRmICIqIE51bWJlciBvZiB1bmNoZWNrZWQgZnVuY3Rpb25zIGluIHRoZSBleGVjdXRhYmxlICAgIDogXDAzM1szMW0lc1wwMzNbbVxuIiAkRlNfY250X3VuY2hlY2tlZAotICBlY2hvCi19Ci0KLSMgLS0tIEZPUlRJRllfU09VUkNFIHN1YmZ1bmN0aW9ucyAoZW5kKSAtLS0KLQotaWYgIShjb21tYW5kX2V4aXN0cyByZWFkZWxmKSA7IHRoZW4KLSAgcHJpbnRmICJcMDMzWzMxbVdhcm5pbmc6ICdyZWFkZWxmJyBub3QgZm91bmQhIEl0J3MgcmVxdWlyZWQgZm9yIG1vc3QgY2hlY2tzLlwwMzNbbVxuXG4iCi0gIGhhdmVfcmVhZGVsZj0wCi1maQotCi0jIHBhcnNlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMKLWNhc2UgIiQxIiBpbgotCi0gLS12ZXJzaW9uKQotICB2ZXJzaW9uCi0gIGV4aXQgMAotICA7OwotCi0gLS1oZWxwKQotICBoZWxwCi0gIGV4aXQgMAotICA7OwotCi0gLS1kaXIpCi0gIGlmIFsgIiQzIiA9ICItdiIgXSA7IHRoZW4KLSAgICB2ZXJib3NlPXRydWUKLSAgZmkKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBkaXJlY3RvcnkuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyByZW1vdmUgdHJhaWxpbmcgc2xhc2hlcwotICB0ZW1wZGlyPWBlY2hvICQyIHwgc2VkIC1lICJzL1wvKiQvLyJgCi0gIGlmIFsgISAtZCAkdGVtcGRpciBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogVGhlIGRpcmVjdG9yeSAnJHRlbXBkaXInIGRvZXMgbm90IGV4aXN0LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGNkICR0ZW1wZGlyCi0gIHByaW50ZiAiUkVMUk8gICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgIE5YICAgICAgICAgICAgUElFICAgICAgICAgICAgIFJQQVRIICAgICAgUlVOUEFUSCAgICAgIEZJTEVcbiIKLSAgZm9yIE4gaW4gW0EtWmEtel0qOyBkbwotICAgIGlmIFsgIiROIiAhPSAiW0EtWmEtel0qIiBdOyB0aGVuCi0gICAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgICBpZiBbICEgLXIgJE4gXTsgdGhlbgotICAgICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IE5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICckdGVtcGRpci8kTicgKHJ1biBhcyByb290KS5cMDMzW21cbiIKLSAgICAgIGVsc2UKLSAgICAgICAgIyBFTEYgZXhlY3V0YWJsZT8KLSAgICAgICAgb3V0PWBmaWxlICROYAotICAgICAgICBpZiBbWyAhICRvdXQgPX4gRUxGIF1dIDsgdGhlbgotICAgICAgICAgICBpZiBbICIkdmVyYm9zZSIgPSAidHJ1ZSIgXSA7IHRoZW4KLSAgICAgICAgICAgICBwcmludGYgIlwwMzNbMzRtKioqIE5vdCBhbiBFTEYgZmlsZTogJHRlbXBkaXIvIgotICAgICAgICAgICAgIGZpbGUgJE4KLSAgICAgICAgICAgICBwcmludGYgIlwwMzNbbSIKLSAgICAgICAgICAgZmkKLSAgICAgICAgZWxzZSAKLSAgICAgICAgICBmaWxlY2hlY2sgJE4KLSAgICAgICAgICBpZiBbIGBmaW5kICR0ZW1wZGlyLyROIFwoIC1wZXJtIC0wMDQwMDAgLW8gLXBlcm0gLTAwMjAwMCBcKSAtdHlwZSBmIC1wcmludGAgXTsgdGhlbgotICAgICAgICAgICAgcHJpbnRmICJcMDMzWzM3OzQxbSVzJXNcMDMzW20iICQyICROCi0gICAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJpbnRmICIlcyVzIiAkdGVtcGRpci8gJE4KLSAgICAgICAgICBmaQotICAgICAgICAgIGVjaG8KLSAgICAgICAgZmkKLSAgICAgIGZpCi0gICAgZmkKLSAgZG9uZQotICBleGl0IDAKLSAgOzsKLSAKLSAtLWZpbGUpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgZmlsZS5cMDMzW21cblxuIgotICAgZXhpdCAxCi0gIGZpCi0gICMgZG9lcyB0aGUgZmlsZSBleGlzdD8KLSAgaWYgWyAhIC1lICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBUaGUgZmlsZSAnJDInIGRvZXMgbm90IGV4aXN0LlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgaWYgWyAhIC1yICQyIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBObyByZWFkIHBlcm1pc3Npb25zIGZvciAnJDInIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyBFTEYgZXhlY3V0YWJsZT8KLSAgb3V0PWBmaWxlICQyYAotICBpZiBbWyAhICRvdXQgPX4gRUxGIF1dIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogTm90IGFuIEVMRiBmaWxlOiAiCi0gICAgZmlsZSAkMgotICAgIHByaW50ZiAiXDAzM1ttXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIHByaW50ZiAiUkVMUk8gICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgIE5YICAgICAgICAgICAgUElFICAgICAgICAgICAgIFJQQVRIICAgICAgUlVOUEFUSCAgICAgIEZJTEVcbiIKLSAgZmlsZWNoZWNrICQyCi0gIGlmIFsgYGZpbmQgJDIgXCggLXBlcm0gLTAwNDAwMCAtbyAtcGVybSAtMDAyMDAwIFwpIC10eXBlIGYgLXByaW50YCBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szNzs0MW0lcyVzXDAzM1ttIiAkMiAkTgotICBlbHNlCi0gICAgcHJpbnRmICIlcyIgJDIKLSAgZmkKLSAgZWNobwotICBleGl0IDAKLSAgOzsKLQotIC0tcHJvYy1hbGwpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBjZCAvcHJvYwotICBwcmludGYgIiogU3lzdGVtLXdpZGUgQVNMUiIKLSAgYXNscmNoZWNrCi0gIHByaW50ZiAiKiBEb2VzIHRoZSBDUFUgc3VwcG9ydCBOWDogIgotICBueGNoZWNrIAotICBwcmludGYgIiAgICAgICAgIENPTU1BTkQgICAgUElEIFJFTFJPICAgICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgICAgICAgTlgvUGFYICAgICAgICBQSUVcbiIKLSAgZm9yIE4gaW4gWzEtOV0qOyBkbwotICAgIGlmIFsgJE4gIT0gJCQgXSAmJiByZWFkbGluayAtcSAkTi9leGUgPiAvZGV2L251bGw7IHRoZW4KLSAgICAgIHByaW50ZiAiJTE2cyIgYGhlYWQgLTEgJE4vc3RhdHVzIHwgY3V0IC1iIDctYAotICAgICAgcHJpbnRmICIlN2QgIiAkTgotICAgICAgcHJvY2NoZWNrICROCi0gICAgICBlY2hvCi0gICAgZmkKLSAgZG9uZQotICBpZiBbICEgLWUgL3Vzci9iaW4vaWQgXSA7IHRoZW4KLSAgICBwcmludGYgIlxuXDAzM1szM21Ob3RlOiBJZiB5b3UgYXJlIHJ1bm5pbmcgJ2NoZWNrc2VjLnNoJyBhcyBhbiB1bnByaXZpbGVnZWQgdXNlciwgeW91XG4iCi0gICAgcHJpbnRmICIgICAgICB3aWxsIG5vdCBzZWUgYWxsIHByb2Nlc3Nlcy4gUGxlYXNlIHJ1biB0aGUgc2NyaXB0IGFzIHJvb3QuXDAzM1ttXG5cbiIKLSAgZWxzZSAKLSAgICBpZiAhKHJvb3RfcHJpdnMpIDsgdGhlbgotICAgICAgcHJpbnRmICJcblwwMzNbMzNtTm90ZTogWW91IGFyZSBydW5uaW5nICdjaGVja3NlYy5zaCcgYXMgYW4gdW5wcml2aWxlZ2VkIHVzZXIuXG4iIAotICAgICAgcHJpbnRmICIgICAgICBUb28gc2VlIGFsbCBwcm9jZXNzZXMsIHBsZWFzZSBydW4gdGhlIHNjcmlwdCBhcyByb290LlwwMzNbbVxuXG4iCi0gICAgZmkKLSAgZmkKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLXByb2MpCi0gIGlmIFsgJGhhdmVfcmVhZGVsZiAtZXEgMCBdIDsgdGhlbgotICAgIGV4aXQgMQotICBmaQotICBpZiBbIC16ICIkMiIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBuYW1lLlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmICEoaXNTdHJpbmcgIiQyIikgOyB0aGVuCi0gICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIG5hbWUuXDAzM1ttXG5cbiIKLSAgICAgZXhpdCAxCi0gIGZpCi0gIGNkIC9wcm9jCi0gIHByaW50ZiAiKiBTeXN0ZW0td2lkZSBBU0xSIgotICBhc2xyY2hlY2sKLSAgcHJpbnRmICIqIERvZXMgdGhlIENQVSBzdXBwb3J0IE5YOiAiCi0gIG54Y2hlY2sKLSAgcHJpbnRmICIgICAgICAgICBDT01NQU5EICAgIFBJRCBSRUxSTyAgICAgICAgICAgICBTVEFDSyBDQU5BUlkgICAgICAgICAgIE5YL1BhWCAgICAgICAgUElFXG4iCi0gIGZvciBOIGluIGBwcyAtQW8gcGlkLGNvbW0gfCBncmVwICQyIHwgY3V0IC1iMS02YDsgZG8KLSAgICBpZiBbIC1kICROIF0gOyB0aGVuCi0gICAgICBwcmludGYgIiUxNnMiIGBoZWFkIC0xICROL3N0YXR1cyB8IGN1dCAtYiA3LWAKLSAgICAgIHByaW50ZiAiJTdkICIgJE4KLSAgICAgICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgICAgIGlmIFsgISAtciAkTi9leGUgXSA7IHRoZW4KLSAgICAgICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgICAgICBwcmludGYgIlwwMzNbMzFtTm8gcmVhZCBwZXJtaXNzaW9ucyBmb3IgJy9wcm9jLyROL2V4ZScgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgICAgICAgIGV4aXQgMQotICAgICAgICBmaQotICAgICAgICBpZiBbICEgYHJlYWRsaW5rICROL2V4ZWAgXSA7IHRoZW4KLSAgICAgICAgICBwcmludGYgIlwwMzNbMzFtUGVybWlzc2lvbiBkZW5pZWQuIFJlcXVlc3RlZCBwcm9jZXNzIElEIGJlbG9uZ3MgdG8gYSBrZXJuZWwgdGhyZWFkLlwwMzNbbVxuXG4iCi0gICAgICAgICAgZXhpdCAxCi0gICAgICAgIGZpCi0gICAgICAgIGV4aXQgMQotICAgICAgZmkKLSAgICAgIHByb2NjaGVjayAkTgotICAgICAgZWNobwotICAgIGZpCi0gIGRvbmUKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLXByb2MtbGlicykKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIElELlwwMzNbbVxuXG4iCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmICEoaXNOdW1lcmljICIkMiIpIDsgdGhlbgotICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFBsZWFzZSBwcm92aWRlIGEgdmFsaWQgcHJvY2VzcyBJRC5cMDMzW21cblxuIgotICAgICBleGl0IDEKLSAgZmkKLSAgY2QgL3Byb2MKLSAgcHJpbnRmICIqIFN5c3RlbS13aWRlIEFTTFIiCi0gIGFzbHJjaGVjawotICBwcmludGYgIiogRG9lcyB0aGUgQ1BVIHN1cHBvcnQgTlg6ICIKLSAgbnhjaGVjawotICBwcmludGYgIiogUHJvY2VzcyBpbmZvcm1hdGlvbjpcblxuIgotICBwcmludGYgIiAgICAgICAgIENPTU1BTkQgICAgUElEIFJFTFJPICAgICAgICAgICAgIFNUQUNLIENBTkFSWSAgICAgICAgICAgTlgvUGFYICAgICAgICBQSUVcbiIKLSAgTj0kMgotICBpZiBbIC1kICROIF0gOyB0aGVuCi0gICAgcHJpbnRmICIlMTZzIiBgaGVhZCAtMSAkTi9zdGF0dXMgfCBjdXQgLWIgNy1gCi0gICAgcHJpbnRmICIlN2QgIiAkTgotICAgICMgcmVhZCBwZXJtaXNzaW9ucz8KLSAgICBpZiBbICEgLXIgJE4vZXhlIF0gOyB0aGVuCi0gICAgICBpZiAhKHJvb3RfcHJpdnMpIDsgdGhlbgotICAgICAgICBwcmludGYgIlwwMzNbMzFtTm8gcmVhZCBwZXJtaXNzaW9ucyBmb3IgJy9wcm9jLyROL2V4ZScgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgICAgICBleGl0IDEKLSAgICAgIGZpCi0gICAgICBpZiBbICEgYHJlYWRsaW5rICROL2V4ZWAgXSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbVBlcm1pc3Npb24gZGVuaWVkLiBSZXF1ZXN0ZWQgcHJvY2VzcyBJRCBiZWxvbmdzIHRvIGEga2VybmVsIHRocmVhZC5cMDMzW21cblxuIgotICAgICAgICBleGl0IDEKLSAgICAgIGZpCi0gICAgICBleGl0IDEKLSAgICBmaQotICAgIHByb2NjaGVjayAkTgotICAgIGVjaG8KLSAgICBsaWJjaGVjayAkTgotICBmaQotICBleGl0IDAKLSAgOzsKLQotIC0ta2VybmVsKQotICBjZCAvcHJvYwotICBwcmludGYgIiogS2VybmVsIHByb3RlY3Rpb24gaW5mb3JtYXRpb246XG5cbiIKLSAga2VybmVsY2hlY2sKLSAgZXhpdCAwCi0gIDs7Ci0KLSAtLWZvcnRpZnktZmlsZSkKLSAgaWYgWyAkaGF2ZV9yZWFkZWxmIC1lcSAwIF0gOyB0aGVuCi0gICAgZXhpdCAxCi0gIGZpCi0gIGlmIFsgLXogIiQyIiBdIDsgdGhlbgotICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBmaWxlLlwwMzNbbVxuXG4iCi0gICBleGl0IDEKLSAgZmkKLSAgIyBkb2VzIHRoZSBmaWxlIGV4aXN0PwotICBpZiBbICEgLWUgJDIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IFRoZSBmaWxlICckMicgZG9lcyBub3QgZXhpc3QuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgIyByZWFkIHBlcm1pc3Npb25zPwotICBpZiBbICEgLXIgJDIgXSA7IHRoZW4KLSAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IE5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICckMicgKHJ1biBhcyByb290KS5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotICAjIEVMRiBleGVjdXRhYmxlPwotICBvdXQ9YGZpbGUgJDJgCi0gIGlmIFtbICEgJG91dCA9fiBFTEYgXV0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBOb3QgYW4gRUxGIGZpbGU6ICIKLSAgICBmaWxlICQyCi0gICAgcHJpbnRmICJcMDMzW21cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAtZSAvbGliL2xpYmMuc28uNiBdIDsgdGhlbgotICAgIEZTX2xpYmM9L2xpYi9saWJjLnNvLjYKLSAgZWxpZiBbIC1lIC9saWI2NC9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICBGU19saWJjPS9saWI2NC9saWJjLnNvLjYKLSAgZWxpZiBbIC1lIC9saWIvaTM4Ni1saW51eC1nbnUvbGliYy5zby42IF0gOyB0aGVuCi0gICAgRlNfbGliYz0vbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNgotICBlbGlmIFsgLWUgL2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgIEZTX2xpYmM9L2xpYi94ODZfNjQtbGludXgtZ251L2xpYmMuc28uNgotICBlbHNlCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBsaWJjIG5vdCBmb3VuZC5cMDMzW21cblxuIgotICAgIGV4aXQgMQotICBmaQotCi0gIEZTX2Noa19mdW5jX2xpYmM9KCAkKHJlYWRlbGYgLXMgJEZTX2xpYmMgfCBncmVwIF9jaGtAQCB8IGF3ayAneyBwcmludCAkOCB9JyB8IGN1dCAtYyAzLSB8IHNlZCAtZSAncy9fY2hrQC4qLy8nKSApCi0gIEZTX2Z1bmN0aW9ucz0oICQocmVhZGVsZiAtcyAkMiB8IGF3ayAneyBwcmludCAkOCB9JyB8IHNlZCAncy9fKi8vJyB8IHNlZCAtZSAncy9ALiovLycpICkKLQotICBGU19saWJjX2NoZWNrCi0gIEZTX2JpbmFyeV9jaGVjawotICBGU19jb21wYXJpc29uCi0gIEZTX3N1bW1hcnkKLQotICBleGl0IDAKLSAgOzsKLQotIC0tZm9ydGlmeS1wcm9jKQotICBpZiBbICRoYXZlX3JlYWRlbGYgLWVxIDAgXSA7IHRoZW4KLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgWyAteiAiJDIiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIHByb2Nlc3MgSUQuXDAzM1ttXG5cbiIKLSAgICBleGl0IDEKLSAgZmkKLSAgaWYgIShpc051bWVyaWMgIiQyIikgOyB0aGVuCi0gICAgIHByaW50ZiAiXDAzM1szMW1FcnJvcjogUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBwcm9jZXNzIElELlwwMzNbbVxuXG4iCi0gICAgIGV4aXQgMQotICBmaQotICBjZCAvcHJvYwotICBOPSQyCi0gIGlmIFsgLWQgJE4gXSA7IHRoZW4KLSAgICAjIHJlYWQgcGVybWlzc2lvbnM/Ci0gICAgaWYgWyAhIC1yICROL2V4ZSBdIDsgdGhlbgotICAgICAgaWYgIShyb290X3ByaXZzKSA7IHRoZW4KLSAgICAgICAgcHJpbnRmICJcMDMzWzMxbU5vIHJlYWQgcGVybWlzc2lvbnMgZm9yICcvcHJvYy8kTi9leGUnIChydW4gYXMgcm9vdCkuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgaWYgWyAhIGByZWFkbGluayAkTi9leGVgIF0gOyB0aGVuCi0gICAgICAgIHByaW50ZiAiXDAzM1szMW1QZXJtaXNzaW9uIGRlbmllZC4gUmVxdWVzdGVkIHByb2Nlc3MgSUQgYmVsb25ncyB0byBhIGtlcm5lbCB0aHJlYWQuXDAzM1ttXG5cbiIKLSAgICAgICAgZXhpdCAxCi0gICAgICBmaQotICAgICAgZXhpdCAxCi0gICAgZmkKLSAgICBpZiBbIC1lIC9saWIvbGliYy5zby42IF0gOyB0aGVuCi0gICAgICBGU19saWJjPS9saWIvbGliYy5zby42Ci0gICAgZWxpZiBbIC1lIC9saWI2NC9saWJjLnNvLjYgXSA7IHRoZW4KLSAgICAgIEZTX2xpYmM9L2xpYjY0L2xpYmMuc28uNgotICAgIGVsaWYgWyAtZSAvbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNiBdIDsgdGhlbgotICAgICAgRlNfbGliYz0vbGliL2kzODYtbGludXgtZ251L2xpYmMuc28uNgotICAgIGVsaWYgWyAtZSAvbGliL3g4Nl82NC1saW51eC1nbnUvbGliYy5zby42IF0gOyB0aGVuCi0gICAgICBGU19saWJjPS9saWIveDg2XzY0LWxpbnV4LWdudS9saWJjLnNvLjYKLSAgICBlbHNlCi0gICAgICBwcmludGYgIlwwMzNbMzFtRXJyb3I6IGxpYmMgbm90IGZvdW5kLlwwMzNbbVxuXG4iCi0gICAgICBleGl0IDEKLSAgICBmaQotICAgIHByaW50ZiAiKiBQcm9jZXNzIG5hbWUgKFBJRCkgICAgICAgICAgICAgICAgICAgICAgICAgOiAlcyAoJWQpXG4iIGBoZWFkIC0xICROL3N0YXR1cyB8IGN1dCAtYiA3LWAgJE4KLSAgICBGU19jaGtfZnVuY19saWJjPSggJChyZWFkZWxmIC1zICRGU19saWJjIHwgZ3JlcCBfY2hrQEAgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBjdXQgLWMgMy0gfCBzZWQgLWUgJ3MvX2Noa0AuKi8vJykgKQotICAgIEZTX2Z1bmN0aW9ucz0oICQocmVhZGVsZiAtcyAkMi9leGUgfCBhd2sgJ3sgcHJpbnQgJDggfScgfCBzZWQgJ3MvXyovLycgfCBzZWQgLWUgJ3MvQC4qLy8nKSApCi0KLSAgICBGU19saWJjX2NoZWNrCi0gICAgRlNfYmluYXJ5X2NoZWNrCi0gICAgRlNfY29tcGFyaXNvbgotICAgIEZTX3N1bW1hcnkKLSAgZmkKLSAgZXhpdCAwCi0gIDs7Ci0KLSAqKQotICBpZiBbICIkIyIgIT0gIjAiIF0gOyB0aGVuCi0gICAgcHJpbnRmICJcMDMzWzMxbUVycm9yOiBVbmtub3duIG9wdGlvbiAnJDEnLlwwMzNbbVxuXG4iCi0gIGZpCi0gIGhlbHAKLSAgZXhpdCAxCi0gIDs7Ci1lc2FjCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2xhbWF2L2NsYW1hdl8wLjk5LjQuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvY2xhbWF2L2NsYW1hdl8wLjk5LjQuYmIKaW5kZXggOGMyYzJmYS4uNjIxOWQ5ZSAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2NsYW1hdi9jbGFtYXZfMC45OS40LmJiCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9jbGFtYXYvY2xhbWF2XzAuOTkuNC5iYgpAQCAtMzEsMTcgKzMxLDEzIEBACiAKICMgQ2xhbWF2IGhhcyBhIGJ1aWx0IGxsdm0gdmVyc2lvbiAyIGJ1dCBkb2VzIG5vdCBidWlsZCB3aXRoIGdjYyA2LngsCiAjIGRpc2FibGUgdGhlIGludGVybmFsIG9uZS4gVGhpcyBpcyBhIGtub3duIGlzc3VlCi0jIElmIHlvdSB3YW50IExMVk0gc3VwcG9ydCwgdXNlIG1ldGEtb2UgbGx2bTMuMyB0byBidWlsZCBmb3IgR0NDIDYuWCwKLSMgYXMgZGVmaW5lZCBiZWxvdworIyBJZiB5b3Ugd2FudCBMTFZNIHN1cHBvcnQsIHVzZSB0aGUgb25lIGluIGNvcmUKIAotQ0xBTUFWX0xMVk0gPz0gIm9lbGx2bSIKLUNMQU1BVl9MTFZNX1JFTEVBU0UgPz0gIjYuMCIKLQotUEFDS0FHRUNPTkZJRyA/PSAibmN1cnNlcyBvcGVuc3NsIGJ6MiB6bGliICR7Q0xBTUFWX0xMVk19IgorUEFDS0FHRUNPTkZJRyA/PSAibmN1cnNlcyBvcGVuc3NsIGJ6MiB6bGliIGxsdm0iCiBQQUNLQUdFQ09ORklHICs9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJpcHY2IiwgImlwdjYiLCAiIiwgZCl9IgogUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3N5c3RlbWQnLCAnJywgZCl9IgogCi1QQUNLQUdFQ09ORklHW29lbGx2bV0gPSAiLS13aXRoLXN5c3RlbS1sbHZtIC0td2l0aC1sbHZtLWxpbmtpbmc9ZHluYW1pYyAtLWRpc2FibGUtbGx2bSwgLGxsdm0ke0NMQU1BVl9MTFZNX1JFTEVBU0V9IgorUEFDS0FHRUNPTkZJR1tsbHZtXSA9ICItLXdpdGgtc3lzdGVtLWxsdm0gLS13aXRoLWxsdm0tbGlua2luZz1keW5hbWljIC0tZGlzYWJsZS1sbHZtLCAsbGx2bTguMCIKIAogUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLXdpdGgtcGNyZT0ke1NUQUdJTkdfTElCRElSfSwgIC0td2l0aG91dC1wY3JlLCBsaWJwY3JlIgogUEFDS0FHRUNPTkZJR1t4bWxdID0gIi0td2l0aC14bWw9JHtTVEFHSU5HX0xJQkRJUn0vLi4sIC0td2l0aC14bWw9bm8sIGxpYnhtbDIsIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbi1mYWlsMmJhbi5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYwppbmRleCA5MjQ1ZjE3Li43MjcwZWQ4IDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYworKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuLmluYwpAQCAtOSw3ICs5LDcgQEAKIExJQ0VOU0UgPSAiR1BMLTIuMCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjYWJjMzFlOTAzMTFkYTg0Mzc1M2JhNzcyODg1ZDlmIgogCi1TUkNSRVYgPSJhYzBkNDQxZmQ2ODg1MmZmZGE3YjE1YzcxZjE2YjdmNGZkZTFhN2VlIgorU1JDUkVWID0iYWE1NjVlYjgwZWM2MDQzMzE3ZTg0MzBjYWJjYWY5YzNmNGU2MTU3OCIKIFNSQ19VUkkgPSAiIFwKIAlnaXQ6Ly9naXRodWIuY29tL2ZhaWwyYmFuL2ZhaWwyYmFuLmdpdDticmFuY2g9MC4xMSBcCiAJZmlsZTovL2luaXRkIFwKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24tZmFpbDJiYW5fMC4xMC4zLjEuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuMy4xLmJiCnJlbmFtZSB0byBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uLWZhaWwyYmFuXzAuMTAuNC4wLmJiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uMy1mYWlsMmJhbl8wLjEwLjMuMS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9mYWlsMmJhbi9weXRob24zLWZhaWwyYmFuXzAuMTAuNC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvZmFpbDJiYW4vcHl0aG9uMy1mYWlsMmJhbl8wLjEwLjMuMS5iYgpyZW5hbWUgdG8gbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2ZhaWwyYmFuL3B5dGhvbjMtZmFpbDJiYW5fMC4xMC40LjAuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9maWxlcy9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9maWxlcy9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGRlMWFmNC4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMvZmlsZXMva2V5dXRpbHMtdXNlLXJlbGF0aXZlLXBhdGgtZm9yLWxpbmsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TdWJqZWN0OiBbUEFUQ0hdIGtleXV0aWxzOiB1c2UgcmVsYXRpdmUgcGF0aCBmb3IgbGluawotCi1UaGUgYWJzb2x1dGUgcGF0aCBvZiB0aGUgc3ltbGluayB3aWxsIGJlIGludmFsaWQKLXdoZW4gcG9wdWxhdGVkIGluIHN5c3Jvb3QsIHNvIHVzZSByZWxhdGl2ZSBwYXRoIGluc3RlYWQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gTWFrZWZpbGUgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCi1pbmRleCA4MjRiYmJmLi44Y2UzYTEzIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUKLSsrKyBiL01ha2VmaWxlCi1AQCAtMTY3LDcgKzE2Nyw3IEBAIGlmZXEgKCQoTk9fU09MSUIpLDApCi0gCSQoSU5TVEFMTCkgLUQgJChMSUJOQU1FKSAkKERFU1RESVIpJChMSUJESVIpLyQoTElCTkFNRSkKLSAJJChMTlMpICQoTElCTkFNRSkgJChERVNURElSKSQoTElCRElSKS8kKFNPTkFNRSkKLSAJbWtkaXIgLXAgJChERVNURElSKSQoVVNSTElCRElSKQotLQkkKExOUykgJChMSUJESVIpLyQoU09OQU1FKSAkKERFU1RESVIpJChVU1JMSUJESVIpLyQoREVWRUxMSUIpCi0rCSQoTE5TKSAkKFNPTkFNRSkgJChERVNURElSKSQoVVNSTElCRElSKS8kKERFVkVMTElCKQotIGVuZGlmCi0gCSQoSU5TVEFMTCkgLUQga2V5Y3RsICQoREVTVERJUikkKEJJTkRJUikva2V5Y3RsCi0gCSQoSU5TVEFMTCkgLUQgcmVxdWVzdC1rZXkgJChERVNURElSKSQoU0JJTkRJUikvcmVxdWVzdC1rZXkKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjUuMTAuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS41LjEwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDIyMmI5Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjUuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1TVU1NQVJZID0gIkxpbnV4IEtleSBNYW5hZ2VtZW50IFV0aWxpdGllcyIKLURFU0NSSVBUSU9OID0gIlwKLSAgICBVdGlsaXRpZXMgdG8gY29udHJvbCB0aGUga2VybmVsIGtleSBtYW5hZ2VtZW50IGZhY2lsaXR5IGFuZCB0byBwcm92aWRlIFwKLSAgICBhIG1lY2hhbmlzbSBieSB3aGljaCB0aGUga2VybmVsIGNhbGwgYmFjayB0byB1c2Vyc3BhY2UgdG8gZ2V0IGEga2V5IFwKLSAgICBpbnN0YW50aWF0ZWQuIFwKLSAgICAiCi1IT01FUEFHRSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMiCi1TRUNUSU9OID0gImJhc2UiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErICYgR1BMdjIuMCsiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0UuR1BMO21kNT01ZjZlNzI4MjRmNWRhNTA1YzFmNGE3MTk3ZjAwNGI0NSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTkNFLkxHUEw7bWQ1PTdkMWNhY2FhM2VhNzUyYjcyZWE1ZTUyNWRmNTRhMjFmIgotCi0KLWluaGVyaXQgc2l0ZWluZm8gcHRlc3QKLQotU1JDX1VSSSA9ICJodHRwOi8vcGVvcGxlLnJlZGhhdC5jb20vZGhvd2VsbHMva2V5dXRpbHMvJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy11c2UtcmVsYXRpdmUtcGF0aC1mb3ItbGluay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXl1dGlscy10ZXN0LWZpeC1vdXRwdXQtZm9ybWF0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleXV0aWxzLWZpeC1lcnJvci1yZXBvcnQtYnktYWRkaW5nLWRlZmF1bHQtbWVzc2FnZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzNzcxNjc2MzE5YmM3Yjg0YjE1NDliNWM2M2ZmNTI0MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxMTVjM2RlYWU3ZjE4MTc3OGZkMGUwZmZhYTJkYWQxYmYxZmUyZjU2NzdjZjJlMGUzNDhjZGI3YTFjOTNhZmI2IgotCi1FWFRSQV9PRU1BS0UgPSAiJ0NGTEFHUz0ke0NGTEFHU30gLVdhbGwnIFwKLSAgICBOT19BUkxJQj0xIFwKLSAgICBCSU5ESVI9JHtiYXNlX2JpbmRpcn0gXAotICAgIFNCSU5ESVI9JHtiYXNlX3NiaW5kaXJ9IFwKLSAgICBMSUJESVI9JHtiYXNlX2xpYmRpcn0gXAotICAgIFVTUkxJQkRJUj0ke2Jhc2VfbGliZGlyfSBcCi0gICAgQlVJTERGT1I9JHtTSVRFSU5GT19CSVRTfS1iaXQgXAotICAgIE5PX0dMSUJDX0tFWUVSUj0xIFwKLSAgICAiCi0KLWRvX2luc3RhbGwgKCkgewotICAgIG9lX3J1bm1ha2UgREVTVERJUj0ke0R9IGluc3RhbGwKLX0KLQotZG9faW5zdGFsbF9wdGVzdCAoKSB7Ci0gICAgY3AgLXIgJHtTfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS8KLSAgICBzZWQgLWkgLWUgJ3MvT1NESVNUPVVua25vd24vT1NESVNUPSR7RElTVFJPfS8nICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3ByZXBhcmUuaW5jLnNoCi19Ci0KLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJnbGliYy11dGlscyIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9rZXl1dGlscy9rZXl1dGlsc18xLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjFmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkva2V5dXRpbHMva2V5dXRpbHNfMS42LmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiTGludXggS2V5IE1hbmFnZW1lbnQgVXRpbGl0aWVzIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFV0aWxpdGllcyB0byBjb250cm9sIHRoZSBrZXJuZWwga2V5IG1hbmFnZW1lbnQgZmFjaWxpdHkgYW5kIHRvIHByb3ZpZGUgXAorICAgIGEgbWVjaGFuaXNtIGJ5IHdoaWNoIHRoZSBrZXJuZWwgY2FsbCBiYWNrIHRvIHVzZXJzcGFjZSB0byBnZXQgYSBrZXkgXAorICAgIGluc3RhbnRpYXRlZC4gXAorICAgICIKK0hPTUVQQUdFID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kaG93ZWxscy9rZXl1dGlscyIKK1NFQ1RJT04gPSAiYmFzZSIKKworTElDRU5TRSA9ICJMR1BMdjIuMSsgJiBHUEx2Mi4wKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRS5HUEw7bWQ1PTVmNmU3MjgyNGY1ZGE1MDVjMWY0YTcxOTdmMDA0YjQ1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOQ0UuTEdQTDttZDU9N2QxY2FjYWEzZWE3NTJiNzJlYTVlNTI1ZGY1NGEyMWYiCisKKworaW5oZXJpdCBzaXRlaW5mbyBwdGVzdAorCitTUkNfVVJJID0gImh0dHA6Ly9wZW9wbGUucmVkaGF0LmNvbS9kaG93ZWxscy9rZXl1dGlscy8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2tleXV0aWxzLXRlc3QtZml4LW91dHB1dC1mb3JtYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8va2V5dXRpbHMtZml4LWVycm9yLXJlcG9ydC1ieS1hZGRpbmctZGVmYXVsdC1tZXNzYWdlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjE5MTk4N2IwYWI0NmJiNWI1MGVmZDcwYTZlNmNlODA4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzYWVmMjBjZWMwMDA1YzBmYTZiNGJlNDAwNzk4ODU1Njc0NzMxODViMWE1N2I2MjliMDMwZTY3OTQyYzcxMTUiCisKK0VYVFJBX09FTUFLRSA9ICInQ0ZMQUdTPSR7Q0ZMQUdTfSAtV2FsbCcgXAorICAgIE5PX0FSTElCPTEgXAorICAgIEJJTkRJUj0ke2Jhc2VfYmluZGlyfSBcCisgICAgU0JJTkRJUj0ke2Jhc2Vfc2JpbmRpcn0gXAorICAgIExJQkRJUj0ke2Jhc2VfbGliZGlyfSBcCisgICAgVVNSTElCRElSPSR7YmFzZV9saWJkaXJ9IFwKKyAgICBCVUlMREZPUj0ke1NJVEVJTkZPX0JJVFN9LWJpdCBcCisgICAgTk9fR0xJQkNfS0VZRVJSPTEgXAorICAgICIKKworZG9faW5zdGFsbCAoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9LyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vcGtnY29uZmlnCisgICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBjcCAtciAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9LworICAgIHNlZCAtaSAtZSAncy9PU0RJU1Q9VW5rbm93bi9PU0RJU1Q9JHtESVNUUk99LycgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvcHJlcGFyZS5pbmMuc2gKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3BrZ2NvbmZpZy9saWJrZXl1dGlscy5wYyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImxzYiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0X2FwcGVuZF9saWJjLWdsaWJjID0gIiBnbGliYy11dGlscyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0X2FwcGVuZF9saWJjLW11c2wgPSAiIG11c2wtdXRpbHMiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjUuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlibXNwYWNrL2xpYm1zcGFja18wLjUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwZGIyM2MuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIE1pY3Jvc29mdCBjb21wcmVzc2lvbiBmb3JtYXRzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jYWJleHRyYWN0Lm9yZy51ay9saWJtc3BhY2svIgotU0VDVElPTiA9ICJsaWIiCi1MSUNFTlNFID0gIkxHUEwtMi4xIgotREVQRU5EUyA9ICIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO2JlZ2lubGluZT0xO2VuZGxpbmU9MjttZDU9NWIxZmQxZjY2ZWY5MjZiM2M4YTViYjAwYTcyYTI4ZGQiCi0KLVNSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2xpYm0vJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5nelwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICIzYWEzZjZiOWVmMTAxNDYzMjcwYzA4NTQ3OGZkYTFkYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4OTY3ZjI3NTUyNWY1MDY3YjM2NGNlZTQzYjczZTQ0ZDA0MzM2NjhjMzlmOTM3NmRmZmYxOWY2NTNkMWM4MTEwIgotCi1pbmhlcml0IGF1dG90b29scwotCi1TID0gIiR7V09SS0RJUn0vJHtCUH1hbHBoYSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuOS4xLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYm1zcGFjay9saWJtc3BhY2tfMC45LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZhOGEwNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJtc3BhY2svbGlibXNwYWNrXzAuOS4xLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiQSBsaWJyYXJ5IGZvciBNaWNyb3NvZnQgY29tcHJlc3Npb24gZm9ybWF0cyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY2FiZXh0cmFjdC5vcmcudWsvbGlibXNwYWNrLyIKK1NFQ1RJT04gPSAibGliIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKK0RFUEVORFMgPSAiIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxJQjtiZWdpbmxpbmU9MTtlbmRsaW5lPTI7bWQ1PTViMWZkMWY2NmVmOTI2YjNjOGE1YmIwMGE3MmEyOGRkIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9saWJtLyR7QlBOfS8ke0JQTn1fJHtQVn0ub3JpZy50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NjAyYWU0YTZiMDQ2OGQ5YWFlZjYzNTljMWU5MDY1NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmEzMzZkOWM3OTg2MzhhYWYzZGNlYjQzODQzMzIwMDYxNTQ0YmJmMzU1NDdjMzE2YjA3NWI5OTExMmYyZTQwIgorCitpbmhlcml0IGF1dG90b29scworCitTID0gIiR7V09SS0RJUn0vJHtCUH1hbHBoYSIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi4zLjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbGlic2VjY29tcC9saWJzZWNjb21wXzIuMy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YzY2ZGI2Li4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi4zLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gImludGVyZmFjZSB0byBzZWNjb21wIGZpbHRlcmluZyBtZWNoYW5pc20iCi1ERVNDUklQVElPTiA9ICJUaGUgbGlic2VjY29tcCBsaWJyYXJ5IHByb3ZpZGVzIGFuZCBlYXN5IHRvIHVzZSwgcGxhdGZvcm0gaW5kZXBlbmRlbnQsaW50ZXJmYWNlIHRvIHRoZSBMaW51eCBLZXJuZWwncyBzeXNjYWxsIGZpbHRlcmluZyBtZWNoYW5pc206IHNlY2NvbXAuIgotU0VDVElPTiA9ICJzZWN1cml0eSIKLUxJQ0VOU0UgPSAiTEdQTC0yLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO2JlZ2lubGluZT0wO2VuZGxpbmU9MTttZDU9OGVhYzA4ZDIyMTEzODgwMzU3Y2ViOGU3YzM3Zjk4OWYiCi0KLVNSQ1JFViA9ICI3NGIxOTBlMWFhMDVmMDdkYTBjNjFmYjlhMzBkYmM5YzE4Y2UyYzlkIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc2VjY29tcC9saWJzZWNjb21wLmdpdDticmFuY2g9cmVsZWFzZS0yLjMgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBwdGVzdAotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbiwgLS1kaXNhYmxlLXB5dGhvbiwgcHl0aG9uIgotCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgIG9lX3J1bm1ha2UgLUMgdGVzdHMgY2hlY2stYnVpbGQKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90b29scwotICAgIGZvciBmaWxlIGluICQoZmluZCB0ZXN0cy8qIC1leGVjdXRhYmxlIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgZG9uZQotICAgIGZvciBmaWxlIGluICQoZmluZCB0ZXN0cy8qLnRlc3RzIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rlc3RzCi0gICAgZG9uZQotICAgIGZvciBmaWxlIGluICQoZmluZCB0b29scy8qIC1leGVjdXRhYmxlIC10eXBlIGYpOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc0NCAke1N9LyR7ZmlsZX0gJHtEfS8ke1BURVNUX1BBVEh9L3Rvb2xzCi0gICAgZG9uZQotfQotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0gJHtsaWJkaXJ9LyR7QlBOfS5zbyoiCi1GSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS8ke1BOfS90ZXN0cy8uZGVidWcvKiAke2xpYmRpcn0vJHtQTn0vdG9vbHMvLmRlYnVnIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L2xpYnNlY2NvbXAvbGlic2VjY29tcF8yLjQuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFmZmQ2MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9saWJzZWNjb21wL2xpYnNlY2NvbXBfMi40LjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJpbnRlcmZhY2UgdG8gc2VjY29tcCBmaWx0ZXJpbmcgbWVjaGFuaXNtIgorREVTQ1JJUFRJT04gPSAiVGhlIGxpYnNlY2NvbXAgbGlicmFyeSBwcm92aWRlcyBhbmQgZWFzeSB0byB1c2UsIHBsYXRmb3JtIGluZGVwZW5kZW50LGludGVyZmFjZSB0byB0aGUgTGludXggS2VybmVsJ3Mgc3lzY2FsbCBmaWx0ZXJpbmcgbWVjaGFuaXNtOiBzZWNjb21wLiIKK1NFQ1RJT04gPSAic2VjdXJpdHkiCitMSUNFTlNFID0gIkxHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTtiZWdpbmxpbmU9MDtlbmRsaW5lPTE7bWQ1PThlYWMwOGQyMjExMzg4MDM1N2NlYjhlN2MzN2Y5ODlmIgorCitTUkNSRVYgPSAiNGQ2NDAxMTc0MTM3NWJiMWE0YmE3ZDcxOTA1Y2EzN2I5Nzg4NTA4MyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NlY2NvbXAvbGlic2VjY29tcC5naXQ7YnJhbmNoPXJlbGVhc2UtMi40IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcgcHRlc3QKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24sIC0tZGlzYWJsZS1weXRob24sIHB5dGhvbiIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIGNoZWNrLWJ1aWxkCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdG9vbHMKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGRvbmUKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdGVzdHMvKi50ZXN0cyAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90ZXN0cworICAgIGRvbmUKKyAgICBmb3IgZmlsZSBpbiAkKGZpbmQgdG9vbHMvKiAtZXhlY3V0YWJsZSAtdHlwZSBmKTsgZG8KKyAgICAgICAgaW5zdGFsbCAtbSA3NDQgJHtTfS8ke2ZpbGV9ICR7RH0vJHtQVEVTVF9QQVRIfS90b29scworICAgIGRvbmUKK30KKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7bGliZGlyfS8ke0JQTn0uc28qIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vJHtQTn0vdGVzdHMvLmRlYnVnLyogJHtsaWJkaXJ9LyR7UE59L3Rvb2xzLy5kZWJ1ZyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uY3JhY2svbmNyYWNrXzAuNy5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uY3JhY2svbmNyYWNrXzAuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmJhMmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25jcmFjay9uY3JhY2tfMC43LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTmV0d29yayBhdXRoZW50aWNhdGlvbiBjcmFja2luZyB0b29sIgorREVTQ1JJUFRJT04gPSAiTmNyYWNrIGlzIGRlc2lnbmVkIGZvciBoaWdoLXNwZWVkIHBhcmFsbGVsIHRlc3Rpbmcgb2YgbmV0d29yayBkZXZpY2VzIGZvciBwb29yIHBhc3N3b3Jkcy4iCitIT01FUEFHRSA9ICJodHRwczovL25tYXAub3JnL25jcmFjayIKK1NFQ1RJT04gPSAic2VjdXJpdHkiCisKK0xJQ0VOU0UgPSAiR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE5OGZhOTNkNGU4MDIyNTgzOWU1OTUzMzZmM2I1ZmYwIgorCitTUkNSRVYgPSAiM2E3OTNhMjE4MjA3MDg0NjYwODE4MjViZWRhOWZjZTg1N2YzNmNiNiIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ubWFwL25jcmFjay5naXQiCisKK0RFUEVORFMgPSAib3BlbnNzbCB6bGliIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9DVkUtMjAxOC0xMTY1Mi5wYXRjaCBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9DVkUtMjAxOC0xMTY1Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWRkYjE2OS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvQ1ZFLTIwMTgtMTE2NTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotRnJvbSBlNzU5YjMzMDBhYWNlNTMxNGZlM2QzMDgwMGM4YmQ4M2M4MWMyOWY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogc3VsbG8gPHN1bGxvQGNpcnQubmV0PgotRGF0ZTogVGh1LCAzMSBNYXkgMjAxOCAyMzozMDowMyAtMDQwMAotU3ViamVjdDogW1BBVENIXSBGaXggQ1NWIGluamVjdGlvbiBpc3N1ZSBpZiBzZXJ2ZXIgcmVzcG9uZHMgd2l0aCBhIG1hbGljaW91cwotIFNlcnZlciBzdHJpbmcgJiBDU1Ygb3V0cHV0IGlzIG9wZW5lZCBpbiBFeGNlbCBvciBvdGhlciBzcHJlYWRzaGVldCBhcHAuCi0gUG90ZW50aWFsbHkgbWFsaWNpb3VzIGNlbGwgc3RhcnQgY2hhcmFjdGVycyBhcmUgbm93IHByZWZhY2VkIHdpdGggYSAnIG1hcmsuCi0gVGhhbmtzIHRvIEFkYW0gKEBieXRlc292ZXJib21icykgZm9yIGxldHRpbmcgbWUga25vdyEKLQotQWxzbyBmaXhlZCBhIGNyYXNoIGluIHRoZSBvdXRkYXRlZCBwbHVnaW4gaWYgdGhlICRzZXByIGZpZWxkIGVuZHMgdXAgYmVpbmcgc29tZXRoaW5nIHRoYXQgdHJpZ2dlcnMgYSBwYW5pYyBpbiBzcGxpdCgpLgotCi1DVkU6IENWRS0yMDE4LTExNjUyCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBOYWdhbGFrc2htaSBWZWVyYW1hbGx1IDxudmVlcmFtYWxsdUBtdmlzdGEuY29tPgotLS0tCi0gcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4gICB8ICAyICstCi0gcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3BsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luIGIvcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4KLWluZGV4IDcyMzc5Y2MuLmViMWQ4ODkgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbgotKysrIGIvcGx1Z2lucy9uaWt0b19vdXRkYXRlZC5wbHVnaW4KLUBAIC04Myw3ICs4Myw3IEBAIHN1YiBuaWt0b19vdXRkYXRlZCB7Ci0gICAgICAgICAgICAgJHNlcHIgPSBzdWJzdHIoJHNlcHIsIChsZW5ndGgoJHNlcHIpIC0gMSksIDEpOwotIAotICAgICAgICAgICAgICMgYnJlYWsgdXAgSUQgc3RyaW5nIG9uICRzZXByCi0tICAgICAgICAgICAgbXkgQFQgPSBzcGxpdCgvJHNlcHIvLCAkbWFyay0+eydiYW5uZXInfSk7Ci0rICAgICAgICAgICAgbXkgQFQgPSBzcGxpdCgvXFwkc2Vwci8sICRtYXJrLT57J2Jhbm5lcid9KTsKLSAKLSAgICAgICAgICAgICAjIGFzc3VtZSBsYXN0IGlzIHZlcnNpb24uLi4KLSAgICAgICAgICAgICBmb3IgKCRpID0gMCA7ICRpIDwgJCNUIDsgJGkrKykgeyAkTUFUQ0hTVFJJTkcgLj0gIiRUWyRpXSAiOyB9Ci1kaWZmIC0tZ2l0IGEvcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiBiL3BsdWdpbnMvbmlrdG9fcmVwb3J0X2Nzdi5wbHVnaW4KLWluZGV4IGQxM2FjYWIuLmI5NDJlNzggMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luCi0rKysgYi9wbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luCi1AQCAtNTIsMTAgKzUyLDEyIEBAIHN1YiBjc3Zfb3BlbiB7Ci0gc3ViIGNzdl9ob3N0X3N0YXJ0IHsKLSAgICAgbXkgKCRoYW5kbGUsICRtYXJrKSA9IEBfOwotICAgICAkbWFyay0+eydiYW5uZXInfSA9fiBzLyIvXFwiL2c7Ci0tICAgIHByaW50IE9VVCAiXCIkbWFyay0+eydob3N0bmFtZSd9XCIsIgotLSAgICAgIC4gIlwiJG1hcmstPnsnaXAnfVwiLCIKLS0gICAgICAuICJcIiRtYXJrLT57J3BvcnQnfVwiLCIgLiAiXCJcIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIKLS0gICAgICAuICJcIiRtYXJrLT57J2Jhbm5lcid9XCJcbiI7Ci0rICAgIHByaW50ICRoYW5kbGUgIlwiIiAuIGNzdl9zYWZlY2VsbCgkaG9zdG5hbWUpIC4gIlwiLCIKLSsgICAgICAuICJcIiIgLiBjc3Zfc2FmZWNlbGwoJG1hcmstPnsnaXAnfSkgLiAiXCIsIgotKyAgICAgIC4gIlwiIiAuIGNzdl9zYWZlY2VsbCgkbWFyay0+eydwb3J0J30pIC4gIlwiLCIgLiAiXCJcIiwiIC4gIlwiXCIsIiAuICJcIlwiLCIKLSsgICAgICAjLiAiXCIiIC4gJG1hcmstPnsnYmFubmVyJ30gLiAiXCJcbiI7Ci0rICAgICAgLiAiXCIiIC4gY3N2X3NhZmVjZWxsKCRtYXJrLT57J2Jhbm5lcid9KSAuICJcIlxuIjsKLSsKLSAgICAgcmV0dXJuOwotIH0KLSAKLUBAIC02NSwyNiArNjcsNDIgQEAgc3ViIGNzdl9pdGVtIHsKLSAgICAgbXkgKCRoYW5kbGUsICRtYXJrLCAkaXRlbSkgPSBAXzsKLSAgICAgZm9yZWFjaCBteSAkdXJpIChzcGxpdCgnICcsICRpdGVtLT57J3VyaSd9KSkgewotICAgICAgICAgbXkgJGxpbmUgPSAnJzsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydob3N0bmFtZSd9XCIsIjsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydpcCd9XCIsIjsKLS0gICAgICAgICRsaW5lIC49ICJcIiRpdGVtLT57J21hcmsnfS0+eydwb3J0J31cIiwiOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkaG9zdG5hbWUpIC4gIlwiLCI7Ci0rICAgICAgICAkbGluZSAuPSAiXCIiIC4gY3N2X3NhZmVjZWxsKCRpdGVtLT57J21hcmsnfS0+eydpcCd9KSAuIFwiLCI7Ci0rICAgICAgICAkbGluZSAuPSAiXCIiIC4gY3N2X3NhZmVjZWxsKCRpdGVtLT57J21hcmsnfS0+eydwb3J0J30pIC4gIlwiLCI7Ci0gCi0gICAgICAgICAkbGluZSAuPSAiXCIiOwotICAgICAgICAgaWYgKCRpdGVtLT57J29zdmRiJ30gbmUgJycpIHsgJGxpbmUgLj0gIk9TVkRCLSIgLiAkaXRlbS0+eydvc3ZkYid9OyB9Ci0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLSAgICAgICAgICRsaW5lIC49ICJcIiI7Ci0tICAgICAgICBpZiAoJGl0ZW0tPnsnbWV0aG9kJ30gbmUgJycpIHsgJGxpbmUgLj0gJGl0ZW0tPnsnbWV0aG9kJ307IH0KLSsgICAgICAgIGlmICgkaXRlbS0+eydtZXRob2QnfSBuZSAnJykgeyAkbGluZSAuPSBjc3Zfc2FmZWNlbGwoJGl0ZW0tPnsnbWV0aG9kJ30pOyB9Ci0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLSAgICAgICAgICRsaW5lIC49ICJcIiI7Ci0tICAgICAgICBpZiAoJHVyaSBuZSAnJykgeyAkbGluZSAuPSAkbWFyay0+eydyb290J30gLiAkdXJpOyB9Ci0rICAgICAgICAgICAgICAgICAgICAgICB7ICRsaW5lIC49IGNzdl9zYWZlY2VsbCgkbWFyay0+eydyb290J30pIC4gJHVyaTsgfQotKyAgICAgICAgICAgICAgIGVsc2UgeyAkbGluZSAuPSBjc3Zfc2FmZWNlbGwoJHVyCi0gICAgICAgICAkbGluZSAuPSAiXCIsIjsKLSAKLS0gICAgICAgICRpdGVtLT57J21lc3NhZ2UnfSA9fiBzLyIvXFwiL2c7Ci0tICAgICAgICAkbGluZSAuPSAiXCIkaXRlbS0+eydtZXNzYWdlJ31cIiI7Ci0tICAgICAgICBwcmludCAkaGFuZGxlICIkbGluZVxuIjsKLSsgICAgICAgbXkgJG1zZyA9ICRpdGVtLT57J21lc3NhZ2UnfTsKLSsgICAgICAgJHVyaT1xdW90ZW1ldGEoJHVyaSk7Ci0rICAgICAgIG15ICRyb290ID0gcXVvdGVtZXRhKCRtYXJrLT57J3Jvb3QnfSk7Ci0rICAgICAgICRtc2cgPX4gcy9eJHVyaTpccy8vOwotKyAgICAgICAkbXNnID1+IHMvXiRyb290JHVyaTpccy8vOwotKyAgICAgICAgICRtc2cgPX4gcy8iL1xcIi9nOwotKyAgICAgICAgJGxpbmUgLj0gIlwiIiAuIGNzdl9zYWZlY2VsbCgkbXNnKSAuIlwiIjsKLSsgICAgICAgICBwcmludCAkaGFuZGxlICIkbGluZVxuIjsKLSsKLSAgICAgfQotIH0KLSAKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyBwcmV2ZW50IENTViBpbmplY3Rpb24gYXR0YWNrcwotK3N1YiBjc3Zfc2FmZWNlbGwgewotKyAgICBteSAkY2VsbGRhdGEgPSAkX1swXSB8fCByZXR1cm47Ci0rICAgIGlmICgkY2VsbGRhdGEgPX4gL15bPStALV0vKSB7ICRjZWxsZGF0YSA9ICInIiAuICRjZWxsZGF0YTsgfQotKyAgICByZXR1cm4gJGNlbGxkYXRhOwotK30KLSsKLSsKLSAxOwotLS0gCi0yLjYuNAotCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvbG9jYXRpb24ucGF0Y2ggYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vZmlsZXMvbG9jYXRpb24ucGF0Y2gKaW5kZXggYTk1YjA2Mi4uZWRhYTIwNCAxMDA2NDQKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL2ZpbGVzL2xvY2F0aW9uLnBhdGNoCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9maWxlcy9sb2NhdGlvbi5wYXRjaApAQCAtMSwzNiArMSwzNiBAQAotRnJvbSBlMTBiOWIxZjY3MDQwNTdhY2UzOTk1NmFlMWRjNWM3Y2FjYTA3ZmYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmVpIERpbnUgPGFuZHJlaS5hZHJpYW54LmRpbnVAaW50ZWwuY29tPgotRGF0ZTogTW9uLCA4IEp1bCAyMDEzIDExOjUzOjU0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFNldHRpbmcgdGhlIGxvY2F0aW9uIG9mIG5pa3RvIG9uIHRoZSBpbWFnZQorRnJvbSBkMWNiNzAyZDUxNDdhYmVhMGQzMjA4YTRkNTU0YzYxYTZmMmRlY2Q2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2NvdHQgRWxsaXMgPHNjb3R0QGp1bXBub3d0ZWsuY29tPgorRGF0ZTogRnJpLCAyOCBEZWMgMjAxOCAxMTowODoyNSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBTZXQgY3VzdG9tIHBhdGhzCiAKLVVwc3RyZWFtIFN0YXR1czogSW5hcHJvcHJpYXRlCitVcHN0cmVhbSBTdGF0dXM6IEluYXBwcm9wcmlhdGUKIAotU2lnbmVkLW9mZi1ieTogQW5kcmVpIERpbnUgPGFuZHJlaS5hZHJpYW54LmRpbnVAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogU2NvdHQgRWxsaXMgPHNjb3R0QGp1bXBub3d0ZWsuY29tPgogLS0tCi0gbmlrdG8uY29uZiB8ICAgMTAgKysrKystLS0tLQorIG5pa3RvLmNvbmYgfCAxMCArKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAotZGlmZiAtLWdpdCBhL25pa3RvLmNvbmYgYi9uaWt0by5jb25mCi1pbmRleCAyNWI3ODRkLi45NTc3MDMzIDEwMDY0NAorZGlmZiAtLWdpdCBhL3Byb2dyYW0vbmlrdG8uY29uZiBiL3Byb2dyYW0vbmlrdG8uY29uZgoraW5kZXggYmYzNmM1OC4uOGM1NTQxNSAxMDA2NDQKIC0tLSBhL25pa3RvLmNvbmYKICsrKyBiL25pa3RvLmNvbmYKLUBAIC02MSwxMSArNjEsMTEgQEAgQ0lSVD0xNzQuMTQyLjE3LjE2NQorQEAgLTYxLDExICs2MSwxMSBAQCBDSVJUPTEwNy4xNzAuOTkuMjUxCiAgQ0hFQ0tNRVRIT0RTPUhFQUQgR0VUCiAgCiAgIyBJZiB5b3Ugd2FudCB0byBzcGVjaWZ5IHRoZSBsb2NhdGlvbiBvZiBhbnkgb2YgdGhlIGZpbGVzLCBzcGVjaWZ5IHRoZW0gaGVyZQogLSMgRVhFQ0RJUj0vb3B0L25pa3RvCQkJCSMgTG9jYXRpb24gb2YgTmlrdG8KIC0jIFBMVUdJTkRJUj0vb3B0L25pa3RvL3BsdWdpbnMJCQkjIExvY2F0aW9uIG9mIHBsdWdpbiBkaXIKLS0jIERCRElSPS9vcHQvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBwbHVnaW4gZGlyCi0tIyBURU1QTEFURURJUj0vb3B0L25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbWxhdGUgZGlyCistIyBEQkRJUj0vb3B0L25pa3RvL2RhdGFiYXNlcwkJCSMgTG9jYXRpb24gb2YgZGF0YWJhc2UgZGlyCistIyBURU1QTEFURURJUj0vb3B0L25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbGF0ZSBkaXIKIC0jIERPQ0RJUj0vb3B0L25pa3RvL2RvY3MJCQkjIExvY2F0aW9uIG9mIGRvY3MgZGlyCiArRVhFQ0RJUj0vdXNyL2Jpbi9uaWt0bwkJCQkjIExvY2F0aW9uIG9mIE5pa3RvCiArUExVR0lORElSPS9ldGMvbmlrdG8vcGx1Z2lucwkJCSMgTG9jYXRpb24gb2YgcGx1Z2luIGRpcgotK0RCRElSPS9ldGMvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBwbHVnaW4gZGlyCi0rVEVNUExBVEVESVI9L2V0Yy9uaWt0by90ZW1wbGF0ZXMJCSMgTG9jYXRpb24gb2YgdGVtcG1sYXRlIGRpcgorK0RCRElSPS9ldGMvbmlrdG8vZGF0YWJhc2VzCQkJIyBMb2NhdGlvbiBvZiBkYXRhYmFzZSBkaXIKKytURU1QTEFURURJUj0vZXRjL25pa3RvL3RlbXBsYXRlcwkJIyBMb2NhdGlvbiBvZiB0ZW1wbGF0ZSBkaXIKICtET0NESVI9L3Vzci9zaGFyZS9kb2MvbmlrdG8JCQkjIExvY2F0aW9uIG9mIGRvY3MgZGlyCiAgCiAgIyBEZWZhdWx0IHBsdWdpbiBtYWNyb3MKLSBAQE1VVEFURT1kaWN0aW9uYXJ5O3N1YmRvbWFpbgorICMgUmVtb3ZlIHBsdWdpbnMgZGVzaWduZWQgdG8gYmUgcnVuIHN0YW5kYWxvbmUKIC0tIAotMS43LjkuNQorMi43LjQKIApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS41LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L25pa3RvL25pa3RvXzIuMS41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWViMTRmLi4wMDAwMDAwCi0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi1TVU1NQVJZID0gIndlYiBzZXJ2ZXIgc2Nhbm5lciIKLURFU0NSSVBUSU9OID0gIk5pa3RvIGlzIGFuIE9wZW4gU291cmNlIChHUEwpIHdlYiBzZXJ2ZXIgc2Nhbm5lciB3aGljaCBwZXJmb3JtcyBjb21wcmVoZW5zaXZlIHRlc3RzIGFnYWluc3Qgd2ViIHNlcnZlcnMgZm9yIG11bHRpcGxlIGl0ZW1zLCBpbmNsdWRpbmcgb3ZlciA2NTAwIHBvdGVudGlhbGx5IGRhbmdlcm91cyBcCi0gICAgICAgICAgICAgICBmaWxlcy9DR0lzLCBjaGVja3MgZm9yIG91dGRhdGVkIHZlcnNpb25zIG9mIG92ZXIgMTI1MCBzZXJ2ZXJzLCBhbmQgdmVyc2lvbiBzcGVjaWZpYyBwcm9ibGVtcyBvbiBvdmVyIDI3MCBzZXJ2ZXJzLiIKLVNFQ1RJT04gPSAic2VjdXJpdHkiCi1MSUNFTlNFID0gIkdQTHYyIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vR1BMLTIuMDttZDU9ODAxZjgwOTgwZDE3MWRkNjQyNTYxMDgzM2EyMmRiZTYiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2NpcnQubmV0L25pa3RvLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9sb2NhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMTY1Mi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImVmY2M5OGE5MThiZWNiNzc0NzFlZTlhNWRmMGE3YjFlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBlNjcyYTZhNDZiZjJhYmRlNDE5YTBlOGVhODQ2Njk2ZDdmMzJlOTlhZDE4YTZiNDA1NzM2ZWU2YWYwNzUwOWYiCi0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfQotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vbWFuL21hbjEKLQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2RvYy9uaWt0bwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0KLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiXzQwNF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfY29udGVudF9zZWFyY2ggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9kaWN0aW9uYXJ5ICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZW1iZWRkZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9mYXZpY29uICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfaGVhZGVycyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2h0dHBvcHRpb25zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfbXVsdGlwbGVfaW5kZXggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9vdXRkYXRlZCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKLQlpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3BhcmtlZF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfcmVhbG1zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfc2VydmVyX21zZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9zdWJkb21haW5zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcwotCWluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfdGVzdHMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0JaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl92YXJpYWJsZXMgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCi0KLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9KU09OLVBQLnBtICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9MVzIucG0gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2FwYWNoZV9leHBlY3RfeHNzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXBhY2hldXNlcnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hdXRoLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2dpLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY2xpZW50YWNjZXNzcG9saWN5LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29udGVudF9zZWFyY2gucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb29raWVzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fY29yZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RpY3Rpb25hcnlfYXR0YWNrLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZW1iZWRkZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19mYXZpY29uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZmlsZW9wcy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2hlYWRlcnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19odHRwb3B0aW9ucy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX21zZ3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tdWx0aXBsZV9pbmRleC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX291dGRhdGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGFya2VkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcGF0aHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wdXRfZGVsX3Rlc3QucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfY3N2LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X2h0bWwucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKLQlpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfbXNmLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X25iZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF90ZXh0LnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0JaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X3htbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JvYm90cy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NpZWJlbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3NzbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3N1YmRvbWFpbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucwotCWluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3Rlc3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCi0KLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9jbG9zZS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2VuZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaGVhZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2l0ZW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N0b3AudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcwotCWluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N1bW1hcnkudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0JaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKLQlpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCi0KLQlpbnN0YWxsIC1tIDA2NDQgbmlrdG8uY29uZiAgICAke0R9JHtzeXNjb25mZGlyfQotCi0JaW5zdGFsbCAtbSAwNzU1IG5pa3RvLnBsICAgICR7RH0ke2JpbmRpcn0vbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgcmVwbGF5LnBsICAgICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by4xICAgICR7RH0ke2RhdGFkaXJ9L21hbi9tYW4xCi0KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9DSEFOR0VTLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9MSUNFTlNFLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KLQlpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by5kdGQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi0JaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG9fbWFudWFsLmh0bWwgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCi19Ci0KLVJERVBFTkRTXyR7UE59ID0gInBlcmwgbGlibmV0LXNzbGVheS1wZXJsIGxpYndoaXNrZXIyLXBlcmwgXAotICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgXAotICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCi0gICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtYmFzZSBwZXJsLW1vZHVsZS1iIHBlcmwtbW9kdWxlLWJ5dGVzIFwKLSAgICAgICAgICAgICAgICBuaWt0by1kb2MiCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvbmlrdG8vbmlrdG9fMi4xLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyYzQ2YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9uaWt0by9uaWt0b18yLjEuNi5iYgpAQCAtMCwwICsxLDExOCBAQAorU1VNTUFSWSA9ICJ3ZWIgc2VydmVyIHNjYW5uZXIiCitERVNDUklQVElPTiA9ICJOaWt0byBpcyBhbiBPcGVuIFNvdXJjZSB3ZWIgc2VydmVyIHNjYW5uZXIgd2hpY2ggcGVyZm9ybXMgY29tcHJlaGVuc2l2ZSB0ZXN0cyBhZ2FpbnN0IHdlYiBzZXJ2ZXJzIgorU0VDVElPTiA9ICJzZWN1cml0eSIKK0hPTUVQQUdFID0gImh0dHBzOi8vY2lydC5uZXQvTmlrdG8yIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IgorCitTUkNSRVYgPSAiZjFiYmQxYTg3NTZjMDc2YzhmZDRmNGRkMGJjMzRhOGVmMjE1YWU3OSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zdWxsby9uaWt0by5naXQgXAorICAgICAgICAgICBmaWxlOi8vbG9jYXRpb24ucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9naXQvcHJvZ3JhbSIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9CisgICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tYW4vbWFuMQorICAgIGluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0bworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfNDA0X3N0cmluZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9jb250ZW50X3NlYXJjaCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2RpY3Rpb25hcnkgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9kaXJfdHJhdmVyc2FsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZG9taW5vICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZHJ1cGFsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfZW1iZWRkZWQgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9mYXZpY29uICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfaGVhZGVycyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX2h0dHBvcHRpb25zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfbXVsdGlwbGVfaW5kZXggICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl9vdXRkYXRlZCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3BhcmtlZF9zdHJpbmdzICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfcmVhbG1zICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL2RhdGFiYXNlcworICAgIGluc3RhbGwgLW0gMDY0NCBkYXRhYmFzZXMvZGJfc2VydmVyX21zZ3MgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vZGF0YWJhc2VzCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRhdGFiYXNlcy9kYl90ZXN0cyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgZGF0YWJhc2VzL2RiX3ZhcmlhYmxlcyAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9kYXRhYmFzZXMKKworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL0xXMi5wbSAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fYXBhY2hlX2V4cGVjdF94c3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19hcGFjaGV1c2Vycy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2F1dGgucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jZ2kucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jbGllbnRhY2Nlc3Nwb2xpY3kucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb250ZW50X3NlYXJjaC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2Nvb2tpZXMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19jb3JlLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZGljdGlvbmFyeV9hdHRhY2sucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19kaXJfdHJhdmVyc2FsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZGlzaHdhc2hlci5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RvY2tlcl9yZWdpc3RyeS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RvbWluby5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2RydXBhbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2VtYmVkZGVkLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fZmF2aWNvbi5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX2ZpbGVvcHMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19oZWFkZXJzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9faHR0cG9wdGlvbnMucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tczEwXzA3MC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX21zZ3MucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19tdWx0aXBsZV9pbmRleC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX25lZ290aWF0ZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX29yaWdpbl9yZWZsZWN0aW9uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fb3V0ZGF0ZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wYXJrZWQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19wYXRocy5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3B1dF9kZWxfdGVzdC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9jc3YucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfaHRtbC5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9qc29uLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X25iZS5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3JlcG9ydF9zcWxnLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcmVwb3J0X3RleHQucGx1Z2luICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3BsdWdpbnMKKyAgICBpbnN0YWxsIC1tIDA2NDQgcGx1Z2lucy9uaWt0b19yZXBvcnRfeG1sLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fcm9ib3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc2llYmVsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc2l0ZWZpbGVzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc3NsLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisgICAgaW5zdGFsbCAtbSAwNjQ0IHBsdWdpbnMvbmlrdG9fc3RydXRzaG9jay5wbHVnaW4gICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vcGx1Z2lucworICAgIGluc3RhbGwgLW0gMDY0NCBwbHVnaW5zL25pa3RvX3Rlc3RzLnBsdWdpbiAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by9wbHVnaW5zCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9jbG9zZS50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2VuZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaGVhZC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX2hvc3RfaW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9ob3N0X2l0ZW0udG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N0b3AudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL2h0bV9zdGFydC50bXBsICAgICR7RH0ke3N5c2NvbmZkaXJ9L25pa3RvL3RlbXBsYXRlcworICAgIGluc3RhbGwgLW0gMDY0NCB0ZW1wbGF0ZXMvaHRtX3N1bW1hcnkudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9lbmQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2hlYWQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9ob3N0X2ltLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfaG9zdF9pdGVtLnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IHRlbXBsYXRlcy94bWxfc3RhcnQudG1wbCAgICAke0R9JHtzeXNjb25mZGlyfS9uaWt0by90ZW1wbGF0ZXMKKyAgICBpbnN0YWxsIC1tIDA2NDQgdGVtcGxhdGVzL3htbF9zdW1tYXJ5LnRtcGwgICAgJHtEfSR7c3lzY29uZmRpcn0vbmlrdG8vdGVtcGxhdGVzCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgbmlrdG8uY29uZiAgICAke0R9JHtzeXNjb25mZGlyfQorCisgICAgaW5zdGFsbCAtbSAwNzU1IG5pa3RvLnBsICAgICR7RH0ke2JpbmRpcn0vbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgcmVwbGF5LnBsICAgICR7RH0ke2JpbmRpcn0KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by4xICAgICR7RH0ke2RhdGFkaXJ9L21hbi9tYW4xCisKKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9DSEFOR0VTLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9MSUNFTlNFLnR4dCAgICAke0R9JHtkYXRhZGlyfS9kb2MvbmlrdG8KKyAgICBpbnN0YWxsIC1tIDA2NDQgZG9jcy9uaWt0by5kdGQgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCisgICAgaW5zdGFsbCAtbSAwNjQ0IGRvY3MvbmlrdG9fbWFudWFsLmh0bWwgICAgJHtEfSR7ZGF0YWRpcn0vZG9jL25pa3RvCit9CisKK1JERVBFTkRTXyR7UE59ID0gInBlcmwgbGlibmV0LXNzbGVheS1wZXJsIGxpYndoaXNrZXIyLXBlcmwgXAorICAgIHBlcmwtbW9kdWxlLWdldG9wdC1sb25nIHBlcmwtbW9kdWxlLXRpbWUtbG9jYWwgXAorICAgIHBlcmwtbW9kdWxlLWlvLXNvY2tldCBwZXJsLW1vZHVsZS1vdmVybG9hZGluZyBcCisgICAgcGVybC1tb2R1bGUtYmFzZSBwZXJsLW1vZHVsZS1iIHBlcmwtbW9kdWxlLWJ5dGVzIgorCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1jb3JlLXNlY3VyaXR5LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3BhY2thZ2Vncm91cC9wYWNrYWdlZ3JvdXAtY29yZS1zZWN1cml0eS5iYgppbmRleCBlODQ3ODQ3Li5iOGFiMjdkIDEwMDY0NAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvcGFja2FnZWdyb3VwL3BhY2thZ2Vncm91cC1jb3JlLXNlY3VyaXR5LmJiCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9wYWNrYWdlZ3JvdXAvcGFja2FnZWdyb3VwLWNvcmUtc2VjdXJpdHkuYmIKQEAgLTc4LDcgKzc4LDcgQEAKICAgICBweXRob24tc2NhcHktcHRlc3QgXAogICAgIHN1cmljYXRhLXB0ZXN0IFwKICAgICB0cmlwd2lyZS1wdGVzdCBcCi0gICAgcHl0aG9uMy1mYWlsMmJhbi1wdGVzdCBcCisgICAgcHl0aG9uLWZhaWwyYmFuLXB0ZXN0IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgImFwcGFybW9yIiwgImFwcGFybW9yLXB0ZXN0IiwgIiIsZCl9IFwKICAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInNtYWNrIiwgInNtYWNrLXB0ZXN0IiwgIiIsZCl9IFwKICAgICBwdGVzdC1ydW5uZXIgXApkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NhbWhhaW4vc2FtaGFpbi5pbmMgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQ0YmYwZC4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2FtaGFpbi9zYW1oYWluLmluYworKysgL2Rldi9udWxsCkBAIC0xLDE2MiArMCwwIEBACi1ERVNDUklQVElPTiA9ICJQcm92aWRlcyBmaWxlIGludGVncml0eSBjaGVja2luZyBhbmQgbG9nIGZpbGUgbW9uaXRvcmluZy9hbmFseXNpcyIKLUhPTUVQQUdFICAgID0gImh0dHA6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vIgotTElDRU5TRSAgICAgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04Y2E0M2NiYzg0MmMyMzM2ZTgzNTkyNmMyMTY2YzI4YiIKLQotCi1TUkNfVVJJID0gImh0dHA6Ly9sYS1zYW1obmEuZGUvYXJjaGl2ZS9zYW1oYWluX3NpZ25lZC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jcm9zcy1jb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tbWlwczY0LWFhcmNoNjQtZG5tYWxsb2MtaGFzaC1maXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1zYW1oYWlucmMtZml4LWZpbGVzLWRpcnMtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLXBpZC1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3NhbWhhaW4tc2hhMjU2LWJpZy1lbmRpYW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1jb25maWd1cmUtYWRkLW9wdGlvbi1mb3ItcHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2FtaGFpbi1hdm9pZC1zZWFyY2hpbmctaG9zdC1mb3ItcG9zdGdyZXNxbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLWFkZC1MREZMQUdTLXZhcmlhYmxlLWZvci1zYW1oYWluX3NldHB3ZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8ke0lOSVRTQ1JJUFRfTkFNRX0uZGVmYXVsdCBcCi0gICAgICAgICAgIGZpbGU6Ly9zYW1oYWluLnNlcnZpY2UgXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMDBlOTkzNzU2NzVmYzZlNTBjY2EzZTIwOGY1MjA3ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NTUxZGMzYjA4NTE4ODlhMmI5NzkwOTdlOWMwMjMwOWI0MGQ0OGI0NjU5ZjAyZWZlN2ZlNTI1Y2U4MzYxYTBkIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93d3cubGEtc2FtaG5hLmRlL3NhbWhhaW4vYXJjaGl2ZS5odG1sIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAic2FtaGFpbl9zaWduZWQtKD9QPHB2ZXI+KFxkKyhcLlxkKykrKSlcLnRhciIKLQotUyA9ICIke1dPUktESVJ9L3NhbWhhaW4tJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwa2djb25maWcgc3lzdGVtZAotCi1TQU1IQUlOX1BPUlQgPz89ICI0OTc3NyIKLVNBTUhBSU5fU0VSVkVSID8/PSAiTlVMTCIKLQotSU5JVFNDUklQVF9OQU1FID0gIiR7QlBOfSIKLUlOSVRTQ1JJUFRfUEFSQU1TID89ICJkZWZhdWx0cyIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0lOSVRTQ1JJUFRfTkFNRX0uc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotIyBtb2RlIG1hcHBpbmc6Ci0jIEJQTiAgICAgICAgICAgICAgICBNT0RFX05BTUUgICBTQU1IQUlOX01PREUKLSMgc2FtaGFpbi1zdGFuZGFsb25lIHN0YW5kYWxvbmUgIG5vCi0jIHNhbWhhaW4tY2xpZW50ICAgICBjbGllbnQgICAgICBjbGllbnQKLSMgc2FtaGFpbi1zZXJ2ZXIgICAgIHNlcnZlciAgICAgIHNlcnZlcgotTU9ERV9OQU1FID0gIiR7QGQuZ2V0VmFyKCdCUE4nKS5zcGxpdCgnLScpWzFdfSIKLVNBTUhBSU5fTU9ERSA9ICIke0BvZS51dGlscy5pZmVsc2UoZC5nZXRWYXIoJ01PREVfTkFNRScpID09ICdzdGFuZGFsb25lJywgJ25vJywgJyR7TU9ERV9OQU1FfScpfSIKLQotIyBzdXBwb3J0cyBteXNxbHxwb3N0Z3Jlc3FsfG9yYWNsZXxvZGJjIGJ1dCBwb3N0Z3Jlc3FsIGlzIHRoZSBvbmx5IG9uZSBhdmFpbGFibGUKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInBvc3RncmVzcWwgcHMgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXggYXVkaXQnLCAnJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsICdhY2wnLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1twb3N0Z3Jlc3FsXSAgPSAiLS13aXRoLWRhdGFiYXNlPXBvc3RncmVzcWwgLS1lbmFibGUteG1sLWxvZyBQR1NRTF9JTkNfRElSPSR7U1RBR0lOR19JTkNESVJ9IFBHU1FMX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUn0sICwgcG9zdGdyZXNxbCIKLVBBQ0tBR0VDT05GSUdbc3VpZGNoZWNrXSAgPSAiLS1lbmFibGUtc3VpZGNoZWNrLCAsICIKLVBBQ0tBR0VDT05GSUdbbG9nd2F0Y2hdICA9ICItLWVuYWJsZS1sb2dpbi13YXRjaCwgLCAiCi1QQUNLQUdFQ09ORklHW21vdW50c10gID0gIi0tZW5hYmxlLW1vdW50cy1jaGVjaywgLCAiCi1QQUNLQUdFQ09ORklHW3VzZXJmaWxlc10gID0gIi0tZW5hYmxlLXVzZXJmaWxlcywgLCAiCi1QQUNLQUdFQ09ORklHW2lwdjZdICA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS1lbmFibGUtc2VsaW51eCwgLS1kaXNhYmxlLXNlbGludXgsIGxpYnNlbGludXggYXR0ciIKLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICIgLS1lbmFibGUtcG9zaXgtYWNsICwgLS1kaXNhYmxlLXBvc2l4LWFjbCwgYWNsIgotUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD15ZXMsYWNfY3ZfaGVhZGVyX2F1cGFyc2VfaD1ubyxhdWRpdCIKLVBBQ0tBR0VDT05GSUdbcHNdID0gIi0td2l0aC1wcy1wYXRoPSR7YmFzZV9iaW5kaXJ9L3BzLCwscHJvY3BzIgotCi1kb191bnBhY2tfc2FtaGFpbigpIHsKLSAgICBjZCAke1dPUktESVJ9Ci0gICAgdGFyIC14enZmIHNhbWhhaW4tJHtQVn0udGFyLmd6Ci19Ci0KLXB5dGhvbiBkb191bnBhY2tfYXBwZW5kKCkgewotICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fdW5wYWNrX3NhbWhhaW4nLCBkKQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZF9hcm0oKSB7Ci0gICAgZXhwb3J0IHNoX2N2X19fdmFfY29weT15ZXMKLX0KLQotZG9fY29uZmlndXJlX3ByZXBlbmRfYWFyY2g2NCgpIHsKLSAgICBleHBvcnQgc2hfY3ZfX192YV9jb3B5PXllcwotfQotCi0jIElmIHdlIHVzZSBvZV9ydW5jb25mIGluIGRvX2NvbmZpZ3VyZSgpIGl0IHdpbGwgYnkgZGVmYXVsdAotIyB1c2UgdGhlIHByZWZpeCAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIHdoaWNoIGlzIG5vdAotIyByZWNvZ25pemVkIGJ5IFNhbWhhaW4ncyBjb25maWd1cmUgc2NyaXB0IGFuZCB3b3VsZCBpbnZhcmlhYmx5Ci0jIHRocm93IGJhY2sgdGhlIGVycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uOiAtLW9sZGluY2x1ZGVkaXI9L3Vzci9pbmNsdWRlIgotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIGNhdCA8PCBFT0YgPiAke1N9L2NvbmZpZy1zaXRlLiR7QlB9Ci1zc3BfY3ZfbGliPW5vCi1zaF9jdl92YV9jb3B5PXllcwotRU9GCi0gICAgZXhwb3J0IENPTkZJR19TSVRFPSR7U30vY29uZmlnLXNpdGUuJHtCUH0KLX0KLQotZG9fY29uZmlndXJlICgpIHsKLQlhdXRvY29uZiAtZgotCS4vY29uZmlndXJlIFwKLQktLWJ1aWxkPSR7QlVJTERfU1lTfSBcCi0JLS1ob3N0PSR7SE9TVF9TWVN9IFwKLQktLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKLQktLXByZWZpeD0ke3ByZWZpeH0gXAotCS0tZXhlY19wcmVmaXg9JHtleGVjX3ByZWZpeH0gXAotCS0tYmluZGlyPSR7YmluZGlyfSBcCi0JLS1zYmluZGlyPSR7c2JpbmRpcn0gXAotCS0tbGliZXhlY2Rpcj0ke2xpYmV4ZWNkaXJ9IFwKLQktLWRhdGFkaXI9JHtkYXRhZGlyfSBcCi0JLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0gXAotCS0tc2hhcmVkc3RhdGVkaXI9JHtzaGFyZWRzdGF0ZWRpcn0gXAotCS0tbG9jYWxzdGF0ZWRpcj0ke2xvY2Fsc3RhdGVkaXJ9IFwKLQktLWxpYmRpcj0ke2xpYmRpcn0gXAotCS0taW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IFwKLQktLWluZm9kaXI9JHtpbmZvZGlyfSBcCi0JLS1tYW5kaXI9JHttYW5kaXJ9IFwKLQktLWVuYWJsZS1uZXR3b3JrPSR7U0FNSEFJTl9NT0RFfSBcCi0JLS13aXRoLXBpZC1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vcnVuL3NhbWhhaW4ucGlkIFwKLQktLXdpdGgtZGF0YS1maWxlPSR7bG9jYWxzdGF0ZWRpcn0vbGliL3NhbWhhaW4vc2FtaGFpbl9maWxlIFwKLQkke0VYVFJBX09FQ09ORn0KLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7Ci0Jc2VkIC1pICdzL14jZGVmaW5lIEhBVkVfTUFMTE9DX0guKi8vJyAke0J9L2NvbmZpZy5oCi19Ci0KLSMgSW5zdGFsbCB0aGUgaW5pdCBzY3JpcHQsIGl0J3MgZGVmYXVsdCBmaWxlLCBhbmQgdGhlIGV4dHJhbmVvdXMKLSMgZG9jdW1lbnRhdGlvbi4KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlvZV9ydW5tYWtlIGluc3RhbGwgREVTVERJUj0nJHtEfScgSU5TVEFMTD1pbnN0YWxsLWJvb3QKLQotCWluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vJHtJTklUU0NSSVBUX05BTUV9LmluaXQgXAotCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvJHtJTklUU0NSSVBUX05BTUV9Ci0KLQlpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9LyR7SU5JVFNDUklQVF9OQU1FfS5kZWZhdWx0IFwKLQkJJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC8ke0lOSVRTQ1JJUFRfTkFNRX0KLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkJaWYgWyAiJHtTQU1IQUlOX01PREV9IiA9ICJubyIgXTsgdGhlbgotCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluLnNlcnZpY2UKLQkJZWxzZQotCQkgICAgaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vc2FtaGFpbi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8ke0JQTn0uc2VydmljZQotCQlmaQotCQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS8ke0JQTn0uaW5pdCAke0R9LyR7bGliZXhlY2Rpcn0vJHtCUE59Ci0JCXNlZCAtaSAtZSAncyxATElCRElSQCwke2xpYmV4ZWNkaXJ9LCcgXAotCQkgICAgICAgLWUgJ3MsQFNBTUhBSU5fSEVMUEVSQCwke0JQTn0sJyBcCi0JCSAgICAgICAtZSAncyxATU9ERV9OQU1FQCwke01PREVfTkFNRX0sJyBcCi0JCSAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zYW1oYWluKi5zZXJ2aWNlCi0gICAgZmkKLQotCWluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLQljcCAtciBkb2NzLyogJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLQljcCAtciBzY3JpcHRzICR7RH0ke2RvY2Rpcn0vJHtCUE59Ci0JaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vc2FtaGFpbgotCi0JIyBQcmV2ZW50IFFBIHdhcm5pbmdzIGFib3V0IGluc3RhbGxlZCAke2xvY2Fsc3RhdGVkaXJ9L3J1bgotCWlmIFsgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIF07IHRoZW4KLQkJcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuCi0JZmkKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvZmlsZXMvcnVuLXB0ZXN0IGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L2ZpbGVzL3J1bi1wdGVzdApvbGQgbW9kZSAxMDA3NTUKbmV3IG1vZGUgMTAwNjQ0CmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uLXNjYXB5LmluYyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCmluZGV4IDVhYmU3ZGIuLjk5ZjMwYTcgMTAwNjQ0Ci0tLSBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCisrKyBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHkuaW5jCkBAIC01LDE2ICs1LDI1IEBACiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2Jpbi9zY2FweTtiZWdpbmxpbmU9OTtlbmRsaW5lPTEzO21kNT0xZDUyNDk4NzJjYzU0Y2Q0Y2EzZDM4NzkyNjJkMGM2OSIKIAotU1JDX1VSSVttZDVzdW1dID0gImQ3ZDNjNDI5NGY1YTcxOGUyMzQ3NzVkMzhkYmViN2VjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ1MmY3MTRmNWMyZWFjNmZkMGE2MTQ2YjFkYmRkZmMyNGRkNWY0MTAzZjNlZDc2MjI3OTk1YTQ4OGNmYjJiNzMiCitTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1pbmhlcml0IHB5cGkgcHRlc3QKK1NSQ1JFViA9ICJiYWQxNGNiMWE1YWVlMjlmODEwN2ZiZThhZDAwOGQ0NjQ1ZjE0ZGE3IgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3NlY2Rldi9zY2FweS5naXQiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgWyAiJHtQWVRIT05fUE59IiA9ICJweXRob24zIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAncy9weXRob24vcHl0aG9uMy8nICR7RH0ke2JpbmRpcn0vc2NhcHkKKyAgICAgICAgc2VkIC1pIC1lICdzL3B5dGhvbi9weXRob24zLycgJHtEfSR7YmluZGlyfS9VVHNjYXB5CisgICAgZmkKK30KIAogZG9faW5zdGFsbF9wdGVzdCgpIHsKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS90ZXN0L3JlZ3Jlc3Npb24udXRzICR7RH0ke1BURVNUX1BBVEh9CiAgICAgc2VkIC1pICdzLEBQVEVTVF9QQVRIQCwke1BURVNUX1BBVEh9LCcgJHtEfSR7UFRFU1RfUEFUSH0vcnVuLXB0ZXN0CiB9CiAKLVJERVBFTkRTXyR7UE59ID0gInRjcGR1bXAgJHtQWVRIT05fUE59LWNvbXByZXNzaW9uICR7UFlUSE9OX1BOfS1uZXRjbGllbnQgIFwKK1JERVBFTkRTXyR7UE59ID0gInRjcGR1bXAgJHtQWVRIT05fUE59LWNvbXByZXNzaW9uICR7UFlUSE9OX1BOfS1jcnlwdG9ncmFwaHkgJHtQWVRIT05fUE59LW5ldGNsaWVudCAgXAogICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LW5ldHNlcnZlciAke1BZVEhPTl9QTn0tcHlkb2MgJHtQWVRIT05fUE59LXBrZ3V0aWwgJHtQWVRIT05fUE59LXNoZWxsIFwKICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS10aHJlYWRpbmcgJHtQWVRIT05fUE59LW51bWJlcnMgJHtQWVRIT05fUE59LXB5Y3J5cHRvIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbi1zY2FweV8yLjQuMC5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjAuYmIKcmVuYW1lIHRvIG1ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24tc2NhcHlfMi40LjIuYmIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zY2FweS9weXRob24zLXNjYXB5XzIuNC4wLmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkzY2E3YmUuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLWluaGVyaXQgc2V0dXB0b29sczMKLXJlcXVpcmUgcHl0aG9uLXNjYXB5LmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vcnVuLXB0ZXN0IgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjIuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc2NhcHkvcHl0aG9uMy1zY2FweV8yLjQuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2M3OWY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3NjYXB5L3B5dGhvbjMtc2NhcHlfMi40LjIuYmIKQEAgLTAsMCArMSw1IEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1zY2FweS5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjMuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGY3ZjgwNS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAic3lzdGVtIHNlY3VyaXR5IHNlcnZpY2VzIGRhZW1vbiIKLURFU0NSSVBUSU9OID0gIlNTU0QgaXMgYSBzeXN0ZW0gc2VjdXJpdHkgc2VydmljZXMgZGFlbW9uIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly9wYWd1cmUuaW8vU1NTRC9zc3NkLyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAib3BlbmxkYXAgY3lydXMtc2FzbCBsaWJ0ZGIgZGluZy1saWJzIGxpYnBhbSBjLWFyZXMga3JiNSBhdXRvY29uZi1hcmNoaXZlIgotREVQRU5EUyArPSAibGlibGRiIGRidXMgbGlidGFsbG9jIGxpYnBjcmUgZ2xpYi0yLjAgcG9wdCBlMmZzcHJvZ3MgbGlidGV2ZW50IgotCi1TUkNfVVJJID0gImh0dHBzOi8vcmVsZWFzZXMucGFndXJlLm9yZy9TU1NELyR7QlBOfS8ke0JQfS50YXIuZ3pcCi0gICAgICAgICAgICBmaWxlOi8vc3NzZC5jb25mICIKLQotU1JDX1VSSVttZDVzdW1dID0gImFmNDI4OGM5ZDFmOTk1M2UzYjNiNmUwYjE2NWE1ZWNlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImVlNWQxN2EwYzY2M2MwOTgxOWNiYWI5MzY0MDg1YjllNTdmYWVjYTAyNDA2Y2MzMGVmZTE0Y2MwY2ZjMDRlYzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHB5dGhvbi1kaXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJwYW0iCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTID0gImFjX2N2X21lbWJlcl9zdHJ1Y3RfbGRhcF9jb25uY2JfbGNfYXJnPW5vIFwKLSAgICBhY19jdl9wYXRoX05TVVBEQVRFPSR7YmluZGlyfSBcCi0gICAgYWNfY3ZfcGF0aF9QWVRIT04yPSR7UFlUSE9OX0RJUn0gYWNfY3ZfcHJvZ19IQVZFX1BZVEhPTjM9JHtQWVRIT05fRElSfSBcCi0gICAgIgotCi1QQUNLQUdFQ09ORklHID89Im5zcyBuc2NkIgotUEFDS0FHRUNPTkZJRyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW3NzaF0gPSAiLS13aXRoLXNzaCwgLS13aXRoLXNzaD1ubywgIgotUEFDS0FHRUNPTkZJR1tzYW1iYV0gPSAiLS13aXRoLXNhbWJhLCAtLXdpdGgtc2FtYmE9bm8sIHNhbWJhIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwgLS13aXRoLXNlbGludXg9bm8gLS13aXRoLXNlbWFuYWdlPW5vLCBsaWJzZWxpbnV4IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS13aXRoLW1hbnBhZ2VzLCAtLXdpdGgtbWFucGFnZXM9bm8iCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIi0td2l0aC1weXRob24yLWJpbmRpbmdzLCAtLXdpdGhvdXQtcHl0aG9uMi1iaW5kaW5ncyIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLS13aXRoLXB5dGhvbjMtYmluZGluZ3MsIC0td2l0aG91dC1weXRob24zLWJpbmRpbmdzIgotUEFDS0FHRUNPTkZJR1tuc3NdID0gIi0td2l0aC1jcnlwdG89bnNzLCAsbnNzLCIKLVBBQ0tBR0VDT05GSUdbY3lycHRvXSA9ICItLXdpdGgtY3J5cHRvPWxpYmNyeXB0bywgLCBsaWJjcnlwdG8iCi1QQUNLQUdFQ09ORklHW25zY2RdID0gIi0td2l0aC1uc2NkPSR7c2JpbmRpcn0sIC0td2l0aC1uc2NkPW5vICIKLVBBQ0tBR0VDT05GSUdbbmxdID0gIi0td2l0aC1saWJubCwgLS13aXRoLWxpYm5sPW5vLCBsaWJubCIKLVBBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWR1bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCAtLXdpdGgtc3lzdGVtZHVuaXRkaXI9IgotUEFDS0FHRUNPTkZJR1todHRwXSA9ICItLXdpdGgtc2VjcmV0cywgLS13aXRob3V0LXNlY3JldHMsIGFwYWNoZTIiCi1QQUNLQUdFQ09ORklHW2N1cmxdID0gIi0td2l0aC1zZWNyZXRzIC0td2l0aC1rY20sIC0td2l0aG91dC1zZWNyZXRzIC0td2l0aG91dC1rY20sIGN1cmwiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWNpZnMtaWRtYXAtcGx1Z2luIC0td2l0aG91dC1uZnN2NC1pZG1hcGQtcGx1Z2luIC0td2l0aG91dC1pcGEtZ2V0a2V5dGFiIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBta2RpciAtcCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkCi0gICAgY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nZXR0ZXh0L2NvbmZpZy5ycGF0aCAke0FVVE9UT09MU19BVVhESVJ9L2J1aWxkLwotCi0gICAgIyBsaWJyZXNvdmUgaGFzIGhvc3QgcGF0aCwgcmVtb3ZlIGl0Ci0gICAgc2VkIC1pIC1lICJzI1wkc3NzX2V4dHJhX2xpYmRpciMjIiAke1N9L3NyYy9leHRlcm5hbC9saWJyZXNvbHYubTQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsICBERVNURElSPSIke0R9IgotICAgIHJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9LyR7YmluZGlyfSIKLSAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9LyR7QlBOfS5jb25mICR7RH0vJHtzeXNjb25mZGlyfS8ke0JQTn0KLX0KLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mIgotCi1JTklUU0NSSVBUX05BTUUgPSAic3NzZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDAyIDUgMyAyIC4gc3RvcCAyMCAwIDEgNiAuIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QlBOfS5zZXJ2aWNlIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZGF0YWRpcn0gL3J1biAke2xpYmRpcn0vKi5zbyogIgotRklMRVNfJHtQTn0tZGV2ID0gIiAke2luY2x1ZGVkaXJ9LyogJHtsaWJkaXJ9LypsYSAke2xpYmRpcn0vKi8qbGEiCi0KLSMgVGhlIHBhY2thZ2UgY29udGFpbnMgc3ltbGlua3MgdGhhdCB0cmlwIHVwIGluc2FuZQotSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgotCi1SREVQRU5EU18ke1BOfSArPSAiYmluZCBkYnVzIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjQuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3NzZC9zc3NkXzEuMTYuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGJjOGM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3Nzc2Qvc3NzZF8xLjE2LjQuYmIKQEAgLTAsMCArMSw4OCBAQAorU1VNTUFSWSA9ICJzeXN0ZW0gc2VjdXJpdHkgc2VydmljZXMgZGFlbW9uIgorREVTQ1JJUFRJT04gPSAiU1NTRCBpcyBhIHN5c3RlbSBzZWN1cml0eSBzZXJ2aWNlcyBkYWVtb24iCitIT01FUEFHRSA9ICJodHRwczovL3BhZ3VyZS5pby9TU1NEL3Nzc2QvIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKKworREVQRU5EUyA9ICJvcGVubGRhcCBjeXJ1cy1zYXNsIGxpYnRkYiBkaW5nLWxpYnMgbGlicGFtIGMtYXJlcyBrcmI1IGF1dG9jb25mLWFyY2hpdmUiCitERVBFTkRTICs9ICJsaWJsZGIgZGJ1cyBsaWJ0YWxsb2MgbGlicGNyZSBnbGliLTIuMCBwb3B0IGUyZnNwcm9ncyBsaWJ0ZXZlbnQiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL1NTU0QvJHtCUE59LyR7QlB9LnRhci5nelwKKyAgICAgICAgICAgIGZpbGU6Ly9zc3NkLmNvbmYgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzU3YmJiNmYxNTQwOWQ4ZDA3NWY0ZjA2Y2I2NzhkNTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmJiMjEyY2Q2Yjc1YjkxOGU5NDVjMjRlN2MzZjk1YTQ4NmZiNTRkN2Y3ZDQ4OWE5MzM0Y2ZhMWExZjNiZjk1OSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgcHl0aG9uLWRpciBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gInBhbSIKKworU1NTRF9VSUQgPz0gInJvb3QiCitTU1NEX0dJRCA/PSAicm9vdCIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfbWVtYmVyX3N0cnVjdF9sZGFwX2Nvbm5jYl9sY19hcmc9bm8gXAorICAgIGFjX2N2X3BhdGhfTlNVUERBVEU9JHtiaW5kaXJ9IFwKKyAgICBhY19jdl9wYXRoX1BZVEhPTjI9JHtQWVRIT05fRElSfSBhY19jdl9wcm9nX0hBVkVfUFlUSE9OMz0ke1BZVEhPTl9ESVJ9IFwKKyAgICAiCisKK1BBQ0tBR0VDT05GSUcgPz0ibnNzIG5zY2QiCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3NlbGludXgnLCAnc2VsaW51eCcsICcnLCBkKX0iCitQQUNLQUdFQ09ORklHICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAnc3lzdGVtZCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbc3NoXSA9ICItLXdpdGgtc3NoLCAtLXdpdGgtc3NoPW5vLCAiCitQQUNLQUdFQ09ORklHW3NhbWJhXSA9ICItLXdpdGgtc2FtYmEsIC0td2l0aC1zYW1iYT1ubywgc2FtYmEiCitQQUNLQUdFQ09ORklHW3NlbGludXhdID0gIi0td2l0aC1zZWxpbnV4LCAtLXdpdGgtc2VsaW51eD1ubyAtLXdpdGgtc2VtYW5hZ2U9bm8sIGxpYnNlbGludXgiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLXdpdGgtbWFucGFnZXMsIC0td2l0aC1tYW5wYWdlcz1ubyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uMl0gPSAiLS13aXRoLXB5dGhvbjItYmluZGluZ3MsIC0td2l0aG91dC1weXRob24yLWJpbmRpbmdzIgorUEFDS0FHRUNPTkZJR1tweXRob24zXSA9ICItLXdpdGgtcHl0aG9uMy1iaW5kaW5ncywgLS13aXRob3V0LXB5dGhvbjMtYmluZGluZ3MiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWNyeXB0bz1uc3MsICxuc3MsIgorUEFDS0FHRUNPTkZJR1tjeXJwdG9dID0gIi0td2l0aC1jcnlwdG89bGliY3J5cHRvLCAsIGxpYmNyeXB0byIKK1BBQ0tBR0VDT05GSUdbbnNjZF0gPSAiLS13aXRoLW5zY2Q9JHtzYmluZGlyfSwgLS13aXRoLW5zY2Q9bm8gIgorUEFDS0FHRUNPTkZJR1tubF0gPSAiLS13aXRoLWxpYm5sLCAtLXdpdGgtbGlibmw9bm8sIGxpYm5sIgorUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZHVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sIC0td2l0aC1zeXN0ZW1kdW5pdGRpcj0iCitQQUNLQUdFQ09ORklHW2h0dHBdID0gIi0td2l0aC1zZWNyZXRzLCAtLXdpdGhvdXQtc2VjcmV0cywgYXBhY2hlMiIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS13aXRoLXNlY3JldHMgLS13aXRoLWtjbSwgLS13aXRob3V0LXNlY3JldHMgLS13aXRob3V0LWtjbSwgY3VybCIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtY2lmcy1pZG1hcC1wbHVnaW4gLS13aXRob3V0LW5mc3Y0LWlkbWFwZC1wbHVnaW4gLS13aXRob3V0LWlwYS1nZXRrZXl0YWIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIG1rZGlyIC1wICR7QVVUT1RPT0xTX0FVWERJUn0vYnVpbGQKKyAgICBjcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dldHRleHQvY29uZmlnLnJwYXRoICR7QVVUT1RPT0xTX0FVWERJUn0vYnVpbGQvCisKKyAgICAjIGxpYnJlc292ZSBoYXMgaG9zdCBwYXRoLCByZW1vdmUgaXQKKyAgICBzZWQgLWkgLWUgInMjXCRzc3NfZXh0cmFfbGliZGlyIyMiICR7U30vc3JjL2V4dGVybmFsL2xpYnJlc29sdi5tNAorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlIGluc3RhbGwgIERFU1RESVI9IiR7RH0iCisgICAgcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0vJHtiaW5kaXJ9IgorICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorICAgIGluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vJHtCUE59LmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9LyR7QlBOfQorCisgICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCisgICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgorCit9CisKK3BrZ19wb3N0aW5zdF9vbnRhcmdldF8ke1BOfSAoKSB7CitpZiBbIC1lIC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF0gOyB0aGVuCisgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCitmaQorICAgIGNob3duICR7U1NTRF9VSUR9OiR7U1NTRF9HSUR9ICR7c3lzY29uZmRpcn0vJHtCUE59LyR7QlBOfS5jb25mCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9LyR7QlBOfS8ke0JQTn0uY29uZiIKKworSU5JVFNDUklQVF9OQU1FID0gInNzc2QiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAwMiA1IDMgMiAuIHN0b3AgMjAgMCAxIDYgLiIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICIke0JQTn0uc2VydmljZSIKK1NZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfSAke2RhdGFkaXJ9IC9ydW4gJHtsaWJkaXJ9Lyouc28qICIKK0ZJTEVTXyR7UE59LWRldiA9ICIgJHtpbmNsdWRlZGlyfS8qICR7bGliZGlyfS8qbGEgJHtsaWJkaXJ9LyovKmxhIgorCisjIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKK0lOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKKworUkRFUEVORFNfJHtQTn0gPSAiYmluZCBkYnVzIGxpYmxkYiBsaWJwYW0iCmRpZmYgLS1naXQgYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGEuaW5jIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3N1cmljYXRhL3N1cmljYXRhLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWY0MjEyMS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGEuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1IT01FUEFHRSA9ICJodHRwOi8vc3VyaWNhdGEtaWRzLm9yZy8iCi1TRUNUSU9OID0gInNlY3VyaXR5IE1vbml0b3IvQWRtaW4iCi1MSUNFTlNFID0gIkdQTHYyIgotCi1WRVIgPSAiNC4wLjUiCi1TUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbmluZm9zZWNmb3VuZGF0aW9uLm9yZy9kb3dubG9hZC9zdXJpY2F0YS0ke1ZFUn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZWEwY2I4MjNkNmE4NjU2ODE1MmY3NWFkZTZkZTQ0MmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzRkYWNiNDM1OWQ1N2ZiZDM0NTJlMzg0ZWVlYjFkZDc3YjZhZTAwZjAyZTk5OTRhZDVhN2I0NjFkNWY0YzZjMiIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9zdXJpY2F0YV80LjAuNS5iYiBiL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS9zdXJpY2F0YS9zdXJpY2F0YV80LjAuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmMwYTEwOS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvc3VyaWNhdGEvc3VyaWNhdGFfNC4wLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1TVU1NQVJZID0gIlRoZSBTdXJpY2F0YSBFbmdpbmUgaXMgYW4gT3BlbiBTb3VyY2UgTmV4dCBHZW5lcmF0aW9uIEludHJ1c2lvbiBEZXRlY3Rpb24gYW5kIFByZXZlbnRpb24gRW5naW5lIgotCi1yZXF1aXJlIHN1cmljYXRhLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO2JlZ2lubGluZT0xO2VuZGxpbmU9MjttZDU9YzcwZDhkMzMxMDk0MWRjZGZjZDFlMDI4MDBhMWY1NDgiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9lbWVyZ2luZy5ydWxlcy50YXIuZ3o7bmFtZT1ydWxlcyIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgICAgZmlsZTovL3ZvbGF0aWxlcy4wM19zdXJpY2F0YSBcCi0gICAgICAgICAgIGZpbGU6Ly9zdXJpY2F0YS55YW1sIFwKLSAgICAgICAgICAgZmlsZTovL3N1cmljYXRhLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW3J1bGVzLm1kNXN1bV0gPSAiMjA1YzVlNWI1NGU0ODkyMDdlZDg5MmMwM2FkNzViMzMiCi1TUkNfVVJJW3J1bGVzLnNoYTI1NnN1bV0gPSAiNGFhODEwMTFiMjQ2ODc1YTU3MTgxYzZhMDU2OWNhODg3ODQ1ZTM2NjkwNGJjYWYwMDQzMjIwZjMzYmQ2OTc5OCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBweXRob24tZGlyIHN5c3RlbWQgcHRlc3QKLQotQ0ZMQUdTICs9ICItRF9ERUZBVUxUX1NPVVJDRSIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfaGVhZGVyX2h0cF9odHBfaD15ZXMgYWNfY3ZfbGliX2h0cF9odHBfY29ubl9jcmVhdGU9eWVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFjX2N2X3BhdGhfSEFWRV9XR0VUPW5vIGFjX2N2X3BhdGhfSEFWRV9DVVJMPW5vICIKLQotRVhUUkFfT0VDT05GICs9ICIgLS1kaXNhYmxlLWRlYnVnIFwKLSAgICAtLWVuYWJsZS1ub24tYnVuZGxlZC1odHAgXAotICAgIC0tZGlzYWJsZS1nY2NtYXJjaC1uYXRpdmUgXAotICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImh0cCBqYW5zc29uIGZpbGUgcGNyZSB5YW1sIHBjYXAgY2FwLW5nIG5ldCBuZm5ldGxpbmsgbnNzIG5zcHIiCi1QQUNLQUdFQ09ORklHX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd1bml0dGVzdHMnLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHW2h0cF0gPSAiLS13aXRoLWxpYmh0cC1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGliaHRwLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYmh0cCwiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1saWJwY3JlLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJwY3JlLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnBjcmUgLCIgCi1QQUNLQUdFQ09ORklHW3lhbWxdID0gIi0td2l0aC1saWJ5YW1sLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJ5YW1sLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYnlhbWwgLCIKLVBBQ0tBR0VDT05GSUdbcGNhcF0gPSAiLS13aXRoLWxpYnBjYXAtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYnBjYXAtbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGlicGNhcCAsIiAKLVBBQ0tBR0VDT05GSUdbY2FwLW5nXSA9ICItLXdpdGgtbGliY2FwX25nLWluY2x1ZGVzPSR7U1RBR0lOR19JTkNESVJ9IC0td2l0aC1saWJjYXBfbmctbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCAsbGliY2FwLW5nICwgIgotUEFDS0FHRUNPTkZJR1tuZXRdID0gIi0td2l0aC1saWJuZXQtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5ldC1saWJyYXJpZXM9JHtTVEFHSU5HX0xJQkRJUn0sICwgbGlibmV0LCIgCi1QQUNLQUdFQ09ORklHW25mbmV0bGlua10gPSAiLS13aXRoLWxpYm5mbmV0bGluay1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibmZuZXRsaW5rLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgLGxpYm5mbmV0bGluayAsIgotUEFDS0FHRUNPTkZJR1tuZnFdID0gIi0tZW5hYmxlLW5mcXVldWUsIC0tZGlzYWJsZS1uZnF1ZXVlLGxpYm5ldGZpbHRlci1xdWV1ZSwiCi0KLVBBQ0tBR0VDT05GSUdbamFuc3Nvbl0gPSAiLS13aXRoLWxpYmphbnNzb24taW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYmphbnNzb24tbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCxqYW5zc29uLCBqYW5zc29uIgotUEFDS0FHRUNPTkZJR1tmaWxlXSA9ICIsLGZpbGUsIGZpbGUiCi1QQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLWxpYm5zcy1pbmNsdWRlcz0ke1NUQUdJTkdfSU5DRElSfSAtLXdpdGgtbGlibnNzLWxpYnJhcmllcz0ke1NUQUdJTkdfTElCRElSfSwgbnNzLCBuc3MsIiAKLVBBQ0tBR0VDT05GSUdbbnNwcl0gPSAiLS13aXRoLWxpYm5zcHItaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0gLS13aXRoLWxpYm5zcHItbGlicmFyaWVzPSR7U1RBR0lOR19MSUJESVJ9LCBuc3ByLCBuc3ByLCIgCi1QQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS1lbmFibGUtcHl0aG9uLCAtLWRpc2FibGUtcHl0aG9uLCBweXRob24sIHB5dGhvbiIgCi1QQUNLQUdFQ09ORklHW3VuaXR0ZXN0c10gPSAiLS1lbmFibGUtdW5pdHRlc3RzLCAtLWRpc2FibGUtdW5pdHRlc3RzLCIgCi0KLWV4cG9ydCBsb2dkaXIgPSAiJHtsb2NhbHN0YXRlZGlyfS9sb2ciCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1jb25mIERFU1RESVI9JHtEfQotCi0gICAgIyBtaW1pYyBtb3ZlIG9mIGRvd25sb2FkZWQgcnVsZXMgdG8gZV9zeXNjb25mcnVsZXNkaXIKLSAgICBjcCAtcmYgICR7V09SS0RJUn0vcnVsZXMgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEKLQotICAgIG9lX3J1bm1ha2UgaW5zdGFsbC1ydWxlcyBERVNURElSPSR7RH0KLQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3VyaWNhdGEgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuMDNfc3VyaWNhdGEgICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzL3ZvbGF0aWxlcy4wM19zdXJpY2F0YQotCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vdGhyZXNob2xkLmNvbmZpZyAke0R9JHtzeXNjb25mZGlyfS9zdXJpY2F0YQotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIHNlZCAgLWUgczovZXRjOiR7c3lzY29uZmRpcn06ZyBcCi0gICAgICAgICAtZSBzOi92YXIvcnVuOi9ydW46ZyBcCi0gICAgICAgICAtZSBzOi92YXI6JHtsb2NhbHN0YXRlZGlyfTpnIFwKLSAgICAgICAgIC1lIHM6L3Vzci9iaW46JHtiaW5kaXJ9OmcgXAotICAgICAgICAgLWUgczovYmluL2tpbGw6JHtiYXNlX2JpbmRpcn0va2lsbDpnIFwKLSAgICAgICAgIC1lIHM6L3Vzci9saWI6JHtsaWJkaXJ9OmcgXAotICAgICAgICAgJHtXT1JLRElSfS9zdXJpY2F0YS5zZXJ2aWNlID4gJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3VyaWNhdGEuc2VydmljZQotCi0gICAgIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCi0gICAgcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotCi19Ci0KLXBrZ19wb3N0aW5zdF9vbnRhcmdldF8ke1BOfSAoKSB7Ci1pZiBbIC1lIC9ldGMvaW5pdC5kL3BvcHVsYXRlLXZvbGF0aWxlLnNoIF0gOyB0aGVuCi0gICAgJHtzeXNjb25mZGlyfS9pbml0LmQvcG9wdWxhdGUtdm9sYXRpbGUuc2ggdXBkYXRlCi1maQotfQotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tc29ja2V0Y29udHJvbCIKLUZJTEVTXyR7UE59ICs9ICIke3N5c3RlbWRfdW5pdGRpcn0iCi1GSUxFU18ke1BOfS1zb2NrZXRjb250cm9sID0gIiR7YmluZGlyfS9zdXJpY2F0YXNjICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgotCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9zdXJpY2F0YS9zdXJpY2F0YS55YW1sIgotCi1SREVQRU5EU18ke1BOfS1weXRob24gPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3RyaXB3aXJlL3RyaXB3aXJlXzIuNC4zLjYuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTlkMWYzNS4uMDAwMDAwMAotLS0gYS9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkvdHJpcHdpcmUvdHJpcHdpcmVfMi40LjMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLVNVTU1BUlkgPSAiVHJpcHdpcmU6IEEgc3lzdGVtIGludGVncml0eSBhc3Nlc3NtZW50IHRvb2wgKElEUykiCi1ERVNDUklQVElPTiA9ICJPcGVuIFNvdXJjZSBUcmlwd2lyZcKuIHNvZnR3YXJlIGlzIGEgc2VjdXJpdHkgYW5kIGRhdGEgXAotaW50ZWdyaXR5IHRvb2wgdXNlZnVsIGZvciBtb25pdG9yaW5nIGFuZCBhbGVydGluZyBvbiBzcGVjaWZpYyBmaWxlIGNoYW5nZShzKSBvbiBhIHJhbmdlIG9mIHN5c3RlbXMiCi1IT01FUEFHRT0iaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy90cmlwd2lyZSIKLVNFQ1RJT04gPSAic2VjdXJpdHkgTW9uaXRvci9BZG1pbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xYzA2OWJlOGRiYmU0OGU4OWI1ODBhYjRlZDg2YzEyNyIKLQotU1JDUkVWID0gIjgwZGI5MWI0YzFjYTRiZTllZmFmZDIyODZlM2IyYWQzMmJhNGMzNGMiCi0KLVNSQ19VUkkgPSAiXAotCWdpdDovL2dpdGh1Yi5jb20vVHJpcHdpcmUvdHJpcHdpcmUtb3Blbi1zb3VyY2UuZ2l0IFwKLQlmaWxlOi8vdHJpcHdpcmUuY3JvbiBcCi0JZmlsZTovL3RyaXB3aXJlLnNoIFwKLQlmaWxlOi8vdHJpcHdpcmUudHh0IFwKLQlmaWxlOi8vdHdjZmcudHh0IFwKLQlmaWxlOi8vdHdpbnN0YWxsLnNoIFwKLQlmaWxlOi8vdHdwb2wteW9jdG8udHh0IFwKLQlmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBwdGVzdAotCi1JTklUU0NSSVBUX05BTUUgPSAidHJpcHdpcmUiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA0MCBTIC4iCi1UUklQV0lSRV9IT1NUID0gIiR7SE9TVF9TWVN9IgotVFJJUFdJUkVfVEFSR0VUID0gIiR7VEFSR0VUX1NZU30iCi0KLUNYWEZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3BlbnNzbCAgLS1lbmFibGUtc3RhdGljIC0tc3lzY29uZmRpcj0vZXRjL3RyaXB3aXJlIgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0gJHtEfSR7ZGF0YWRpcn0gJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfSAke0R9JHttYW5kaXJ9ICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQotICAgIGluc3RhbGwgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59ICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi8ke0JQTn0vcmVwb3J0Ci0gICAgaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjQgJHtEfSR7bWFuZGlyfS9tYW41ICR7RH0ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0gJHtEfSR7ZG9jZGlyfS8ke0JQTn0vdGVtcGxhdGVzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQotICAgIGluc3RhbGwgLW0gMDc1NSAke1N9L2Jpbi8qICR7RH0ke3NiaW5kaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7YmFzZV9saWJkaXJ9Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbGliLyogJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliLyR7UE59Ci0gICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdHJpcHdpcmUuY3JvbiAke0R9JHtzeXNjb25mZGlyfQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3RyaXB3aXJlLnNoICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC90cmlwd2lyZQotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3R3aW5zdGFsbC5zaCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3R3cG9sLXlvY3RvLnR4dCAke0R9JHtzeXNjb25mZGlyfS8ke1BOfS90d3BvbC50eHQKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90d2NmZy50eHQgJHtEfSR7c3lzY29uZmRpcn0vJHtQTn0KLQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L21hbi9tYW40LyogJHtEfSR7bWFuZGlyfS9tYW40Ci0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7U30vbWFuL21hbjUvKiAke0R9JHttYW5kaXJ9L21hbjUKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9tYW4vbWFuOC8qICR7RH0ke21hbmRpcn0vbWFuOAotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L3BvbGljeS90ZW1wbGF0ZXMvKiAke0R9JHtkb2NkaXJ9LyR7QlBOfS90ZW1wbGF0ZXMKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2xpY3kvKnR4dCAke0R9JHtkb2NkaXJ9LyR7QlBOfQotICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L0NPUFlJTkcgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9UUkFERU1BUksgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90cmlwd2lyZS50eHQgJHtEfSR7ZG9jZGlyfS8ke0JQTn0KLX0KLQotZG9faW5zdGFsbF9wdGVzdF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKLQljcCAtYSAke1N9L3NyYy90ZXN0LWhhcm5lc3MvKiAke0R9JHtQVEVTVF9QQVRIfQotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9ICR7ZG9jZGlyfS8ke1BOfS8qIgotRklMRVNfJHtQTn0tZGJnICs9ICIke3N5c2NvbmZkaXJ9LyR7UE59Ly5kZWJ1ZyIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvJHtQTn0vbGliKi5hIgotRklMRVNfJHtQTn0tcHRlc3QgKz0gIiR7UFRFU1RfUEFUSH0vdGVzdHMgIgotCi1SREVQRU5EU18ke1BOfSArPSAiIHBlcmwgbmFubyBtc210cCBjcm9uaWUiCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICIgcGVybCBsaWItcGVybCIKZGlmZiAtLWdpdCBhL21ldGEtc2VjdXJpdHkvcmVjaXBlcy1zZWN1cml0eS94bWxzZWMxL3htbHNlYzFfMS4yLjI2LmJiIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkYmJmMzMuLjAwMDAwMDAKLS0tIGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1TVU1NQVJZID0gIlhNTCBTZWN1cml0eSBMaWJyYXJ5IGlzIGEgQyBsaWJyYXJ5IGJhc2VkIG9uIExpYlhNTDIiCi1ERVNDUklQVElPTiA9ICJcCi0gICAgWE1MIFNlY3VyaXR5IExpYnJhcnkgaXMgYSBDIGxpYnJhcnkgYmFzZWQgb24gXAotICAgIExpYlhNTDIgYW5kIE9wZW5TU0wuIFRoZSBsaWJyYXJ5IHdhcyBjcmVhdGVkIHdpdGggYSBnb2FsIHRvIHN1cHBvcnQgbWFqb3IgXAotICAgIFhNTCBzZWN1cml0eSBzdGFuZGFyZHMgIlhNTCBEaWdpdGFsIFNpZ25hdHVyZSIgYW5kICJYTUwgRW5jcnlwdGlvbiIuIFwKLSAgICAiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsZWtzZXkuY29tL3htbHNlYy8iCi1ERVBFTkRTID0gImxpYnRvb2wgbGlieG1sMiBsaWJ4c2x0IG9wZW5zc2wgemxpYiBsaWJnY3J5cHQgZ251dGxzIG5zcyBuc3ByIGxpYmdwZy1lcnJvciIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zNTI3OTFkNjIwOTJlYTgxMDRmMDg1MDQyZGU3ZjRkMCIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuYWxla3NleS5jb20veG1sc2VjL2Rvd25sb2FkLyR7QlB9LnRhci5neiBcCi0gICAgZmlsZTovL2ZpeC1sdG1haW4uc2gucGF0Y2ggXAotICAgIGZpbGU6Ly9jaGFuZ2UtZmluZGluZy1wYXRoLW9mLW5zcy5wYXRjaCBcCi0gICAgZmlsZTovL21ha2VmaWxlLXB0ZXN0LnBhdGNoIFwKLSAgICBmaWxlOi8veG1sc2VjMS1leGFtcGxlcy1hbGxvdy1idWlsZC1pbi1zZXBhcmF0ZS1kaXIucGF0Y2ggXAotICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjljNGFhZjlmZjYxNWE3MzkyMWI5ZTNiZjQ5ODhkODc4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkODI3NmM5YzcyMGNhNDJhM2IwMDIzZGY4YjdhZTQxYTJkNmM1ZjlhYThkMjBlZDE2NzJkODRjYzg5ODJkNTAiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdCBwa2djb25maWcKLQotQ0ZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKLUNQUEZMQUdTICs9ICItSSR7U1RBR0lOR19JTkNESVJ9L25zcHI0IC1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNzMyIKLQotRVhUUkFfT0VDT05GID0gIlwKLSAgICAtLXdpdGgtbnNzPSR7U1RBR0lOR19MSUJESVJ9Ly4uLy4uIC0td2l0aC1uc3ByPSR7U1RBR0lOR19MSUJESVJ9Ly4uLy4uIFwKLSAgICAiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3htbHNlYzFDb25mLnNoIgotRklMRVNfJHtQTn0tZGJnICs9ICIke1BURVNUX1BBVEh9Ly5kZWJ1Zy8qIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0tZGV2IgotSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImRldi1kZXBzIgotCi1QVEVTVF9FWFRSQV9BUkdTID0gInRvcF9zcmNkaXI9JHtTfSB0b3BfYnVpbGRkaXI9JHtCfSIKLQotZG9fY29tcGlsZV9wdGVzdCAoKSB7Ci0gICAgb2VfcnVubWFrZSAtQyAke1N9L2V4YW1wbGVzICR7UFRFU1RfRVhUUkFfQVJHU30gYWxsCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGZvciBpIGluICR7YmluZGlyfS94bWxzZWMxLWNvbmZpZyAke2xpYmRpcn0veG1sc2VjMUNvbmYuc2ggXAotICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3htbHNlYzEtb3BlbnNzbC5wYzsgZG8KLSAgICAgICAgc2VkIC1pIC1lICJzQCR7UkVDSVBFX1NZU1JPT1R9QEBnIiAke0R9JGkKLSAgICBkb25lCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotICAgIG9lX3J1bm1ha2UgLUMgJHtTfS9leGFtcGxlcyBERVNURElSPSR7RH0ke1BURVNUX1BBVEh9ICR7UFRFU1RfRVhUUkFfQVJHU30gaW5zdGFsbC1wdGVzdAotfQpkaWZmIC0tZ2l0IGEvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjcuYmIgYi9tZXRhLXNlY3VyaXR5L3JlY2lwZXMtc2VjdXJpdHkveG1sc2VjMS94bWxzZWMxXzEuMi4yNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWM4ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS1zZWN1cml0eS9yZWNpcGVzLXNlY3VyaXR5L3htbHNlYzEveG1sc2VjMV8xLjIuMjcuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJYTUwgU2VjdXJpdHkgTGlicmFyeSBpcyBhIEMgbGlicmFyeSBiYXNlZCBvbiBMaWJYTUwyIgorREVTQ1JJUFRJT04gPSAiXAorICAgIFhNTCBTZWN1cml0eSBMaWJyYXJ5IGlzIGEgQyBsaWJyYXJ5IGJhc2VkIG9uIFwKKyAgICBMaWJYTUwyIGFuZCBPcGVuU1NMLiBUaGUgbGlicmFyeSB3YXMgY3JlYXRlZCB3aXRoIGEgZ29hbCB0byBzdXBwb3J0IG1ham9yIFwKKyAgICBYTUwgc2VjdXJpdHkgc3RhbmRhcmRzICJYTUwgRGlnaXRhbCBTaWduYXR1cmUiIGFuZCAiWE1MIEVuY3J5cHRpb24iLiBcCisgICAgIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvIgorREVQRU5EUyA9ICJsaWJ0b29sIGxpYnhtbDIgbGlieHNsdCB6bGliIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTM1Mjc5MWQ2MjA5MmVhODEwNGYwODUwNDJkZTdmNGQwIgorCitTRUNUSU9OID0gImxpYnMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5hbGVrc2V5LmNvbS94bWxzZWMvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKKyAgICBmaWxlOi8vZml4LWx0bWFpbi5zaC5wYXRjaCBcCisgICAgZmlsZTovL2NoYW5nZS1maW5kaW5nLXBhdGgtb2YtbnNzLnBhdGNoIFwKKyAgICBmaWxlOi8vbWFrZWZpbGUtcHRlc3QucGF0Y2ggXAorICAgIGZpbGU6Ly94bWxzZWMxLWV4YW1wbGVzLWFsbG93LWJ1aWxkLWluLXNlcGFyYXRlLWRpci5wYXRjaCBcCisgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTA4YmVlN2U0ZjFiOTlmMmQ1MGFhYTdkMzhlZGU1NmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTdkNzU2YmFkOGU5MjU4OGU2OTk3ZDIyMjc3OTdlYWE5MDBkMDVlMzRhNDI2ODI5YjE0OWY2NWQ4NzExOGViNiIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0IHBrZ2NvbmZpZworCitDRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNwcjQgLUkke1NUQUdJTkdfSU5DRElSfS9uc3MzIgorQ1BQRkxBR1MgKz0gIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbnNwcjQgLUkke1NUQUdJTkdfSU5DRElSfS9uc3MzIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIGxpYmdjcnlwdCBuc3Mgb3BlbnNzbCBkZXMiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLCxnbnV0bHMiCitQQUNLQUdFQ09ORklHW2xpYmdjcnlwdF0gPSAiLCxsaWJnY3J5cHQiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLW5zcz0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiAtLXdpdGgtbnNwcj0ke1NUQUdJTkdfTElCRElSfS8uLi8uLiwsbnNzIG5zcHIiCitQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIiwsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbZGVzXSA9ICIsLS1kaXNhYmxlLWRlcywsIgorCisjIHRoZXNlIGNhbiBiZSBkeW5hbWljYWxseSBsb2FkZWQgd2l0aCB4bWxTZWNDcnlwdG9ETExvYWRMaWJyYXJ5KCkKK0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0vbGlieG1sc2VjMS5zbyIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGlieG1sc2VjMS0qLnNvIgorSU5TQU5FX1NLSVBfJHtQTn0gPSAiZGV2LXNvIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS94bWxzZWMxQ29uZi5zaCIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtQVEVTVF9QQVRIfS8uZGVidWcvKiIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LWRldiIKK0lOU0FORV9TS0lQXyR7UE59LXB0ZXN0ICs9ICJkZXYtZGVwcyIKKworUFRFU1RfRVhUUkFfQVJHUyA9ICJ0b3Bfc3JjZGlyPSR7U30gdG9wX2J1aWxkZGlyPSR7Qn0iCisKK2RvX2NvbXBpbGVfcHRlc3QgKCkgeworICAgIG9lX3J1bm1ha2UgLUMgJHtTfS9leGFtcGxlcyAke1BURVNUX0VYVFJBX0FSR1N9IGFsbAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBmb3IgaSBpbiAke2JpbmRpcn0veG1sc2VjMS1jb25maWcgJHtsaWJkaXJ9L3htbHNlYzFDb25mLnNoIFwKKyAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94bWxzZWMxLW9wZW5zc2wucGM7IGRvCisgICAgICAgIHNlZCAtaSAtZSAic0Ake1JFQ0lQRV9TWVNST09UfUBAZyIgJHtEfSRpCisgICAgZG9uZQorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBvZV9ydW5tYWtlIC1DICR7U30vZXhhbXBsZXMgREVTVERJUj0ke0R9JHtQVEVTVF9QQVRIfSAke1BURVNUX0VYVFJBX0FSR1N9IGluc3RhbGwtcHRlc3QKK30KZGlmZiAtLWdpdCBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS9tYWNoaW5lLXhpbGlueC1ib2FyZC5pbmMgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvbWFjaGluZS14aWxpbngtYm9hcmQuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzA0MWU0Li4wMDAwMDAwCi0tLSBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS9tYWNoaW5lLXhpbGlueC1ib2FyZC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLSMgRGVmYXVsdCBYaWxpbnggQm9hcmQgc2V0dGluZ3MKLQotRVhUUkFfSU1BR0VERVBFTkRTICs9ICJ2aXJ0dWFsL2Jvb3Rsb2FkZXIiCi0KZGlmZiAtLWdpdCBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXp5bnFtcC5pbmMgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1ic3AvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS16eW5xbXAuaW5jCmluZGV4IDIyNWZhNjUuLmNiZmE0N2IgMTAwNjQ0Ci0tLSBhL21ldGEteGlsaW54L21ldGEteGlsaW54LWJzcC9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXp5bnFtcC5pbmMKKysrIGIvbWV0YS14aWxpbngvbWV0YS14aWxpbngtYnNwL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtenlucW1wLmluYwpAQCAtOCw3ICs4LDcgQEAKIAogU09DX1ZBUklBTlQgPz0gImVnIgogCi1yZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3NvYy1mYW1pbHkuaW5jCiAKICMgTGludXggQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS14aWxpbngvbWV0YS14aWxpbngtc3RhbmRhbG9uZS9yZWNpcGVzLXN0YW5kYWxvbmUvcG11LWZpcm13YXJlL3BtdS1maXJtd2FyZV8yMDE4LjMuYmIgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgppbmRleCA4NDdlMDcxLi4zNDMyYzFmIDEwMDY0NAotLS0gYS9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgorKysgYi9tZXRhLXhpbGlueC9tZXRhLXhpbGlueC1zdGFuZGFsb25lL3JlY2lwZXMtc3RhbmRhbG9uZS9wbXUtZmlybXdhcmUvcG11LWZpcm13YXJlXzIwMTguMy5iYgpAQCAtMjMsNiArMjMsOSBAQAogICAgICMgbWFudWFsbHkgZG8gdGhlIGNvcHlfYnNwIHN0ZXAgZmlyc3QsIHNvIGFzIHRvIGJlIGFibGUgdG8gZml4IHVwIHVzZSBvZgogICAgICMgbWItKiBjb21tYW5kcwogICAgICR7U30vLi4vbWlzYy9jb3B5X2JzcC5zaAorCisgICAgIyBmaXggeGlsZnBnYSB0byBpbmNsdWRlIHRoZSB6eW5xbXAgYmFja2VuZAorICAgIG12ICR7U30vLi4vbWlzYy96eW5xbXBfcG11ZndfYnNwL3BzdV9wbXVfMC9saWJzcmMveGlsZnBnYS9zcmMvaW50ZXJmYWNlL3p5bnFtcC8qICR7U30vLi4vbWlzYy96eW5xbXBfcG11ZndfYnNwL3BzdV9wbXVfMC9saWJzcmMveGlsZnBnYS9zcmMKIH0KIAogQ09NUElMRVIgPSAiJHtDQ30iCmRpZmYgLS1naXQgYS9wb2t5L1JFQURNRS5PRS1Db3JlIGIvcG9reS9SRUFETUUuT0UtQ29yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjE5MTZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9SRUFETUUuT0UtQ29yZQpAQCAtMCwwICsxLDI5IEBACitPcGVuRW1iZWRkZWQtQ29yZQorPT09PT09PT09PT09PT09PT0KKworT3BlbkVtYmVkZGVkLUNvcmUgaXMgYSBsYXllciBjb250YWluaW5nIHRoZSBjb3JlIG1ldGFkYXRhIGZvciBjdXJyZW50IHZlcnNpb25zCitvZiBPcGVuRW1iZWRkZWQuIEl0IGlzIGRpc3Ryby1sZXNzIChjYW4gYnVpbGQgYSBmdW5jdGlvbmFsIGltYWdlIHdpdGgKK0RJU1RSTyA9ICJub2Rpc3RybyIpIGFuZCBjb250YWlucyBvbmx5IGVtdWxhdGVkIG1hY2hpbmUgc3VwcG9ydC4KKworRm9yIGluZm9ybWF0aW9uIGFib3V0IE9wZW5FbWJlZGRlZCwgc2VlIHRoZSBPcGVuRW1iZWRkZWQgd2Vic2l0ZToKKyAgICBodHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvCisKK1RoZSBZb2N0byBQcm9qZWN0IGhhcyBleHRlbnNpdmUgZG9jdW1lbnRhdGlvbiBhYm91dCBPRSBpbmNsdWRpbmcgYSByZWZlcmVuY2UgbWFudWFsCit3aGljaCBjYW4gYmUgZm91bmQgYXQ6CisgICAgaHR0cDovL3lvY3RvcHJvamVjdC5vcmcvZG9jdW1lbnRhdGlvbgorCisKK0NvbnRyaWJ1dGluZworLS0tLS0tLS0tLS0tCisKK1BsZWFzZSByZWZlciB0bworaHR0cDovL3d3dy5vcGVuZW1iZWRkZWQub3JnL3dpa2kvSG93X3RvX3N1Ym1pdF9hX3BhdGNoX3RvX09wZW5FbWJlZGRlZAorZm9yIGd1aWRlbGluZXMgb24gaG93IHRvIHN1Ym1pdCBwYXRjaGVzLgorCitNYWlsaW5nIGxpc3Q6CisKKyAgICBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29wZW5lbWJlZGRlZC1jb3JlCisKK1NvdXJjZSBjb2RlOgorCisgICAgaHR0cDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZC1jb3JlLwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlLy5naXRhdHRyaWJ1dGVzIGIvcG9reS9iaXRiYWtlLy5naXRhdHRyaWJ1dGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZjhmNjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2JpdGJha2UvLmdpdGF0dHJpYnV0ZXMKQEAgLTAsMCArMSwyIEBACisqbWluLmpzIGJpbmFyeQorKm1pbi5jc3MgYmluYXJ5CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UtaGFzaHNlcnYgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2UtaGFzaHNlcnYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzQ5Mzk3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS1oYXNoc2VydgpAQCAtMCwwICsxLDY3IEBACisjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMworIworIyBDb3B5cmlnaHQgKEMpIDIwMTggR2FybWluIEx0ZC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKKyMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisjIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisjIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBzcWxpdGUzCisKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpLCdsaWInKSkKKworaW1wb3J0IGhhc2hzZXJ2CisKK1ZFUlNJT04gPSAiMS4wLjAiCisKK0RFRkFVTFRfSE9TVCA9ICcnCitERUZBVUxUX1BPUlQgPSA4Njg2CisKK2RlZiBtYWluKCk6CisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0hUVFAgRXF1aXZhbGVuY2UgUmVmZXJlbmNlIFNlcnZlci4gVmVyc2lvbj0lcycgJSBWRVJTSU9OKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYWRkcmVzcycsIGRlZmF1bHQ9REVGQVVMVF9IT1NULCBoZWxwPSdCaW5kIGFkZHJlc3MgKGRlZmF1bHQgIiUoZGVmYXVsdClzIiknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcG9ydCcsIHR5cGU9aW50LCBkZWZhdWx0PURFRkFVTFRfUE9SVCwgaGVscD0nQmluZCBwb3J0IChkZWZhdWx0ICUoZGVmYXVsdClkKScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wcmVmaXgnLCBkZWZhdWx0PScnLCBoZWxwPSdIVFRQIHBhdGggcHJlZml4IChkZWZhdWx0ICIlKGRlZmF1bHQpcyIpJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRhdGFiYXNlJywgZGVmYXVsdD0nLi9oYXNoc2Vydi5kYicsIGhlbHA9J0RhdGFiYXNlIGZpbGUgKGRlZmF1bHQgIiUoZGVmYXVsdClzIiknKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbG9nJywgZGVmYXVsdD0nV0FSTklORycsIGhlbHA9J1NldCBsb2dnaW5nIGxldmVsJykKKworICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCisKKyAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignaGFzaHNlcnYnKQorCisgICAgbGV2ZWwgPSBnZXRhdHRyKGxvZ2dpbmcsIGFyZ3MubG9nLnVwcGVyKCksIE5vbmUpCisgICAgaWYgbm90IGlzaW5zdGFuY2UobGV2ZWwsIGludCk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0ludmFsaWQgbG9nIGxldmVsOiAlcycgJSBhcmdzLmxvZykKKworICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkKKyAgICBjb25zb2xlID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKKyAgICBjb25zb2xlLnNldExldmVsKGxldmVsKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGNvbnNvbGUpCisKKyAgICBkYiA9IHNxbGl0ZTMuY29ubmVjdChhcmdzLmRhdGFiYXNlKQorCisgICAgc2VydmVyID0gaGFzaHNlcnYuY3JlYXRlX3NlcnZlcigoYXJncy5hZGRyZXNzLCBhcmdzLnBvcnQpLCBkYiwgYXJncy5wcmVmaXgpCisgICAgc2VydmVyLnNlcnZlX2ZvcmV2ZXIoKQorICAgIHJldHVybiAwCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdHJ5OgorICAgICAgICByZXQgPSBtYWluKCkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICByZXQgPSAxCisgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCisgICAgc3lzLmV4aXQocmV0KQorCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utc2VsZnRlc3QgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utc2VsZnRlc3QKaW5kZXggY2ZhN2FjNS4uOTlmMWFmOSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXNlbGZ0ZXN0CisrKyBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS1zZWxmdGVzdApAQCAtMjIsNiArMjIsNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiB0cnk6CiAgICAgaW1wb3J0IGJiCisgICAgaW1wb3J0IGhhc2hzZXJ2CiAgICAgaW1wb3J0IGxheWVyaW5kZXhsaWIKIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZXhjOgogICAgIHN5cy5leGl0KHN0cihleGMpKQpAQCAtMzMsNyArMzQsOSBAQAogICAgICAgICAgImJiLnRlc3RzLmV2ZW50IiwKICAgICAgICAgICJiYi50ZXN0cy5mZXRjaCIsCiAgICAgICAgICAiYmIudGVzdHMucGFyc2UiLAorICAgICAgICAgImJiLnRlc3RzLnBlcnNpc3RfZGF0YSIsCiAgICAgICAgICAiYmIudGVzdHMudXRpbHMiLAorICAgICAgICAgImhhc2hzZXJ2LnRlc3RzIiwKICAgICAgICAgICJsYXllcmluZGV4bGliLnRlc3RzLmxheWVyaW5kZXhvYmoiLAogICAgICAgICAgImxheWVyaW5kZXhsaWIudGVzdHMucmVzdGFwaSIsCiAgICAgICAgICAibGF5ZXJpbmRleGxpYi50ZXN0cy5jb29rZXIiXQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXdvcmtlciBiL3Bva3kvYml0YmFrZS9iaW4vYml0YmFrZS13b3JrZXIKaW5kZXggZTkyNTA1NC4uYTllOTk3ZSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2Jpbi9iaXRiYWtlLXdvcmtlcgorKysgYi9wb2t5L2JpdGJha2UvYmluL2JpdGJha2Utd29ya2VyCkBAIC0xMzYsNyArMTM2LDcgQEAKICAgICBvcy5raWxscGcoMCwgc2lnbmFsLlNJR1RFUk0pCiAgICAgc3lzLmV4aXQoKQogCi1kZWYgZm9ya19vZmZfdGFzayhjZmcsIGRhdGEsIGRhdGFidWlsZGVyLCB3b3JrZXJkYXRhLCBmbiwgdGFzaywgdGFza25hbWUsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBleHRyYWNvbmZpZ2RhdGEsIHF1aWV0ZXJyb3JzPUZhbHNlLCBkcnlfcnVuX2V4ZWM9RmFsc2UpOgorZGVmIGZvcmtfb2ZmX3Rhc2soY2ZnLCBkYXRhLCBkYXRhYnVpbGRlciwgd29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgYXBwZW5kcywgdGFza2RlcGRhdGEsIGV4dHJhY29uZmlnZGF0YSwgcXVpZXRlcnJvcnM9RmFsc2UsIGRyeV9ydW5fZXhlYz1GYWxzZSk6CiAgICAgIyBXZSBuZWVkIHRvIHNldHVwIHRoZSBlbnZpcm9ubWVudCBCRUZPUkUgdGhlIGZvcmssIHNpbmNlCiAgICAgIyBhIGZvcmsoKSBvciBleGVjKigpIGFjdGl2YXRlcyBQU0VVRE8uLi4KIApAQCAtMjM0LDcgKzIzNCw4IEBACiAgICAgICAgICAgICAgICAgcmV0ID0gMAogCiAgICAgICAgICAgICAgICAgdGhlX2RhdGEgPSBiYl9jYWNoZS5sb2FkRGF0YUZ1bGwoZm4sIGFwcGVuZHMpCi0gICAgICAgICAgICAgICAgdGhlX2RhdGEuc2V0VmFyKCdCQl9UQVNLSEFTSCcsIHdvcmtlcmRhdGFbInJ1bnFfaGFzaCJdW3Rhc2tdKQorICAgICAgICAgICAgICAgIHRoZV9kYXRhLnNldFZhcignQkJfVEFTS0hBU0gnLCB0YXNraGFzaCkKKyAgICAgICAgICAgICAgICB0aGVfZGF0YS5zZXRWYXIoJ0JCX1VOSUhBU0gnLCB1bmloYXNoKQogCiAgICAgICAgICAgICAgICAgYmIudXRpbHMuc2V0X3Byb2Nlc3NfbmFtZSgiJXM6JXMiICUgKHRoZV9kYXRhLmdldFZhcigiUE4iKSwgdGFza25hbWUucmVwbGFjZSgiZG9fIiwgIiIpKSkKIApAQCAtNDI1LDEwICs0MjYsMTAgQEAKICAgICAgICAgc3lzLmV4aXQoMCkKIAogICAgIGRlZiBoYW5kbGVfcnVudGFzayhzZWxmLCBkYXRhKToKLSAgICAgICAgZm4sIHRhc2ssIHRhc2tuYW1lLCBxdWlldGVycm9ycywgYXBwZW5kcywgdGFza2RlcGRhdGEsIGRyeV9ydW5fZXhlYyA9IHBpY2tsZS5sb2FkcyhkYXRhKQorICAgICAgICBmbiwgdGFzaywgdGFza25hbWUsIHRhc2toYXNoLCB1bmloYXNoLCBxdWlldGVycm9ycywgYXBwZW5kcywgdGFza2RlcGRhdGEsIGRyeV9ydW5fZXhlYyA9IHBpY2tsZS5sb2FkcyhkYXRhKQogICAgICAgICB3b3JrZXJsb2dfd3JpdGUoIkhhbmRsaW5nIHJ1bnRhc2sgJXMgJXMgJXNcbiIgJSAodGFzaywgZm4sIHRhc2tuYW1lKSkKIAotICAgICAgICBwaWQsIHBpcGVpbiwgcGlwZW91dCA9IGZvcmtfb2ZmX3Rhc2soc2VsZi5jb29rZXJjZmcsIHNlbGYuZGF0YSwgc2VsZi5kYXRhYnVpbGRlciwgc2VsZi53b3JrZXJkYXRhLCBmbiwgdGFzaywgdGFza25hbWUsIGFwcGVuZHMsIHRhc2tkZXBkYXRhLCBzZWxmLmV4dHJhY29uZmlnZGF0YSwgcXVpZXRlcnJvcnMsIGRyeV9ydW5fZXhlYykKKyAgICAgICAgcGlkLCBwaXBlaW4sIHBpcGVvdXQgPSBmb3JrX29mZl90YXNrKHNlbGYuY29va2VyY2ZnLCBzZWxmLmRhdGEsIHNlbGYuZGF0YWJ1aWxkZXIsIHNlbGYud29ya2VyZGF0YSwgZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgYXBwZW5kcywgdGFza2RlcGRhdGEsIHNlbGYuZXh0cmFjb25maWdkYXRhLCBxdWlldGVycm9ycywgZHJ5X3J1bl9leGVjKQogCiAgICAgICAgIHNlbGYuYnVpbGRfcGlkc1twaWRdID0gdGFzawogICAgICAgICBzZWxmLmJ1aWxkX3BpcGVzW3BpZF0gPSBydW5RdWV1ZVdvcmtlclBpcGUocGlwZWluLCBwaXBlb3V0KQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWV4ZWN1dGlvbi54bWwKaW5kZXggZjFjYWFlYy4uNDZkYWZlZSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbAorKysgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1leGVjdXRpb24ueG1sCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBQcmlvciB0byBleGVjdXRpbmcgQml0QmFrZSwgeW91IHNob3VsZCB0YWtlIGFkdmFudGFnZSBvZiBhdmFpbGFibGUKICAgICAgICAgICAgICAgICBwYXJhbGxlbCB0aHJlYWQgZXhlY3V0aW9uIG9uIHlvdXIgYnVpbGQgaG9zdCBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpbiB5b3VyIHByb2plY3QncyA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBmaWxlLgogICAgICAgICAgICAgPC9wYXJhPgpAQCAtODcsOSArODcsOSBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIFRoZSA8ZmlsZW5hbWU+bGF5ZXIuY29uZjwvZmlsZW5hbWU+IGZpbGVzIGFyZSB1c2VkIHRvCiAgICAgICAgICAgICBjb25zdHJ1Y3Qga2V5IHZhcmlhYmxlcyBzdWNoIGFzCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgIDxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPiBpcyB1c2VkIHRvIHNlYXJjaCBmb3IKICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gYW5kIGNsYXNzIGZpbGVzIHVuZGVyIHRoZQogICAgICAgICAgICAgPGZpbGVuYW1lPmNvbmY8L2ZpbGVuYW1lPiBhbmQgPGZpbGVuYW1lPmNsYXNzZXM8L2ZpbGVuYW1lPgpAQCAtMTE3LDE5ICsxMTcsMTkgQEAKICAgICAgICAgICAgIGF0IGNlcnRhaW4gdmFyaWFibGVzLCBpbmNsdWRpbmc6CiAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfUFJFU0VSVkVfRU5WJz48ZmlsZW5hbWU+QkJfUFJFU0VSVkVfRU5WPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX09SSUdFTlYnPjxmaWxlbmFtZT5CQl9PUklHRU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9PUklHRU5WJz48ZmlsZW5hbWU+QkJfT1JJR0VOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CSVRCQUtFX1VJJz48ZmlsZW5hbWU+QklUQkFLRV9VSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQklUQkFLRV9VSSc+PGZpbGVuYW1lPkJJVEJBS0VfVUk8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIFRoZSBmaXJzdCBmb3VyIHZhcmlhYmxlcyBpbiB0aGlzIGxpc3QgcmVsYXRlIHRvIGhvdyBCaXRCYWtlIHRyZWF0cyBzaGVsbApAQCAtMTU2LDcgKzE1Niw3IEBACiAgICAgICAgICAgICBCaXRCYWtlIGZpcnN0IHNlYXJjaGVzIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGZvciBhbgogICAgICAgICAgICAgb3B0aW9uYWwgPGZpbGVuYW1lPmNvbmYvYmJsYXllcnMuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24gZmlsZS4KICAgICAgICAgICAgIFRoaXMgZmlsZSBpcyBleHBlY3RlZCB0byBjb250YWluIGEKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkxBWUVSUyc+PGZpbGVuYW1lPkJCTEFZRVJTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJMQVlFUlMnPjxmaWxlbmFtZT5CQkxBWUVSUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgdGhhdCBpcyBhIHNwYWNlLWRlbGltaXRlZCBsaXN0IG9mICdsYXllcicgZGlyZWN0b3JpZXMuCiAgICAgICAgICAgICBSZWNhbGwgdGhhdCBpZiBCaXRCYWtlIGNhbm5vdCBmaW5kIGEgPGZpbGVuYW1lPmJibGF5ZXJzLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgZmlsZSwgdGhlbiBpdCBpcyBhc3N1bWVkIHRoZSB1c2VyIGhhcyBzZXQgdGhlIDxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPgpAQCAtMTY2LDEwICsxNjYsMTAgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBGb3IgZWFjaCBkaXJlY3RvcnkgKGxheWVyKSBpbiB0aGlzIGxpc3QsIGEgPGZpbGVuYW1lPmNvbmYvbGF5ZXIuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICBmaWxlIGlzIGxvY2F0ZWQgYW5kIHBhcnNlZCB3aXRoIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSRElSJz48ZmlsZW5hbWU+TEFZRVJESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1MQVlFUkRJUic+PGZpbGVuYW1lPkxBWUVSRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBiZWluZyBzZXQgdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgbGF5ZXIgd2FzIGZvdW5kLgogICAgICAgICAgICAgVGhlIGlkZWEgaXMgdGhlc2UgZmlsZXMgYXV0b21hdGljYWxseSBzZXQgdXAKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGFuZCBvdGhlciB2YXJpYWJsZXMgY29ycmVjdGx5IGZvciBhIGdpdmVuIGJ1aWxkIGRpcmVjdG9yeS4KICAgICAgICAgPC9wYXJhPgogCkBAIC0xODksNyArMTg5LDcgQEAKICAgICAgICAgICAgIGRlcGVuZGluZyBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHByZXZpb3VzbHkKICAgICAgICAgICAgIG1lbnRpb25lZCBvciBzZXQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMuCiAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdyZWYtdmFyaWFibGVzLWdsb3MnPlZhcmlhYmxlcyBHbG9zc2FyeTwvbGluaz4iCisgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0ncmVmLWJiLXZhcmlhYmxlcy1nbG9zJz5WYXJpYWJsZXMgR2xvc3Nhcnk8L2xpbms+IgogICAgICAgICAgICAgY2hhcHRlciBwcmVzZW50cyBhIGZ1bGwgbGlzdCBvZiB2YXJpYWJsZXMuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtMjA0LDcgKzIwNCw3IEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5iYXNlLmJiY2xhc3M8L2ZpbGVuYW1lPiBmaWxlIGlzIGFsd2F5cyBpbmNsdWRlZC4KICAgICAgICAgICAgIE90aGVyIGNsYXNzZXMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uIHVzaW5nIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItSU5IRVJJVCc+PGZpbGVuYW1lPklOSEVSSVQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlIGFyZSBhbHNvIGluY2x1ZGVkLgogICAgICAgICAgICAgQml0QmFrZSBzZWFyY2hlcyBmb3IgY2xhc3MgZmlsZXMgaW4gYQogICAgICAgICAgICAgPGZpbGVuYW1lPmNsYXNzZXM8L2ZpbGVuYW1lPiBzdWJkaXJlY3RvcnkgdW5kZXIKQEAgLTI3MCw3ICsyNzAsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgRHVyaW5nIHRoZSBjb25maWd1cmF0aW9uIHBoYXNlLCBCaXRCYWtlIHdpbGwgaGF2ZSBzZXQKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgIEJpdEJha2Ugbm93IHVzZXMgaXQgdG8gY29uc3RydWN0IGEgbGlzdCBvZiByZWNpcGVzIHRvIHBhcnNlLAogICAgICAgICAgICAgYWxvbmcgd2l0aCBhbnkgYXBwZW5kIGZpbGVzICg8ZmlsZW5hbWU+LmJiYXBwZW5kPC9maWxlbmFtZT4pCiAgICAgICAgICAgICB0byBhcHBseS4KQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgICAgICAgICAgQW55IGluaGVyaXQgc3RhdGVtZW50cyBjYXVzZSBCaXRCYWtlIHRvIGZpbmQgYW5kCiAgICAgICAgICAgICB0aGVuIHBhcnNlIGNsYXNzIGZpbGVzICg8ZmlsZW5hbWU+LmJiY2xhc3M8L2ZpbGVuYW1lPikKICAgICAgICAgICAgIHVzaW5nCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBhcyB0aGUgc2VhcmNoIHBhdGguCiAgICAgICAgICAgICBGaW5hbGx5LCBCaXRCYWtlIHBhcnNlcyBpbiBvcmRlciBhbnkgYXBwZW5kIGZpbGVzIGZvdW5kIGluCiAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+LgpAQCAtMzAzLDggKzMwMyw4IEBACiAgICAgICAgICAgICBwaWVjZXMgb2YgbWV0YWRhdGEuCiAgICAgICAgICAgICBGb3IgZXhhbXBsZSwgaW4gPGZpbGVuYW1lPmJpdGJha2UuY29uZjwvZmlsZW5hbWU+IHRoZSByZWNpcGUKICAgICAgICAgICAgIG5hbWUgYW5kIHZlcnNpb24gYXJlIHVzZWQgdG8gc2V0IHRoZSB2YXJpYWJsZXMKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+IGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiBhbmQKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICBQTiA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCiAgICAgIFBWID0gIiR7QGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iCkBAIC0zMzYsNyArMzM2LDcgQEAKICAgICAgICAgICAgIHJlY2lwZSBpbmZvcm1hdGlvbi4KICAgICAgICAgICAgIFRoZSB2YWxpZGl0eSBvZiB0aGlzIGNhY2hlIGlzIGRldGVybWluZWQgYnkgZmlyc3QgY29tcHV0aW5nIGEKICAgICAgICAgICAgIGNoZWNrc3VtIG9mIHRoZSBiYXNlIGNvbmZpZ3VyYXRpb24gZGF0YSAoc2VlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9IQVNIQ09ORklHX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPikKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQ09ORklHX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hDT05GSUdfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+KQogICAgICAgICAgICAgYW5kIHRoZW4gY2hlY2tpbmcgaWYgdGhlIGNoZWNrc3VtIG1hdGNoZXMuCiAgICAgICAgICAgICBJZiB0aGF0IGNoZWNrc3VtIG1hdGNoZXMgd2hhdCBpcyBpbiB0aGUgY2FjaGUgYW5kIHRoZSByZWNpcGUKICAgICAgICAgICAgIGFuZCBjbGFzcyBmaWxlcyBoYXZlIG5vdCBjaGFuZ2VkLCBCaXRiYWtlIGlzIGFibGUgdG8gdXNlCkBAIC0zODQsOSArMzg0LDkgQEAKICAgICAgICAgICAgIHRoZSByZWNpcGUgY2FuIGJlIGtub3duLgogICAgICAgICAgICAgRWFjaCByZWNpcGUncyA8ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPiBsaXN0IGlzIGNyZWF0ZWQKICAgICAgICAgICAgIGltcGxpY2l0bHkgdGhyb3VnaCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlCisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQogICAgICAgICAgICAgYW5kIGV4cGxpY2l0bHkgdGhyb3VnaCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUk9WSURFUyc+PGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJPVklERVMnPjxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUsIHdoaWNoIGlzIG9wdGlvbmFsLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTQyNyw3ICs0MjcsNyBAQAogICAgICBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPSAibGludXgteW9jdG8iCiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBUaGUgZGVmYXVsdAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRUZFUlJFRF9QUk9WSURFUic+PGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgaXMgdGhlIHByb3ZpZGVyIHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUgdGFyZ2V0LgogICAgICAgICAgICAgQml0YmFrZSBpdGVyYXRlcyB0aHJvdWdoIGVhY2ggdGFyZ2V0IGl0IG5lZWRzIHRvIGJ1aWxkIGFuZAogICAgICAgICAgICAgcmVzb2x2ZXMgdGhlbSBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIHVzaW5nIHRoaXMgcHJvY2Vzcy4KQEAgLTQzOSwxMCArNDM5LDEwIEBACiAgICAgICAgICAgICBCaXRCYWtlIGRlZmF1bHRzIHRvIHRoZSBoaWdoZXN0IHZlcnNpb24gb2YgYSBwcm92aWRlci4KICAgICAgICAgICAgIFZlcnNpb24gY29tcGFyaXNvbnMgYXJlIG1hZGUgdXNpbmcgdGhlIHNhbWUgbWV0aG9kIGFzIERlYmlhbi4KICAgICAgICAgICAgIFlvdSBjYW4gdXNlIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRUZFUlJFRF9WRVJTSU9OJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1ZFUlNJT048L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+PGZpbGVuYW1lPlBSRUZFUlJFRF9WRVJTSU9OPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSB0byBzcGVjaWZ5IGEgcGFydGljdWxhciB2ZXJzaW9uLgogICAgICAgICAgICAgWW91IGNhbiBpbmZsdWVuY2UgdGhlIG9yZGVyIGJ5IHVzaW5nIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtNDY0LDcgKzQ2NCw3IEBACiAgICAgICAgICAgICBCaXRCYWtlIGRlZmF1bHRzIHRvIHNlbGVjdGluZyB0aGUgbW9zdCByZWNlbnQKICAgICAgICAgICAgIHZlcnNpb24sIHVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLgogICAgICAgICAgICAgSWYgdGhlIHJlY2lwZSBpbiBxdWVzdGlvbiBoYXMgYQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+PGZpbGVuYW1lPkRFRkFVTFRfUFJFRkVSRU5DRTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgc2V0IGxvd2VyIHRoYW4gdGhlIG90aGVyIHJlY2lwZXMgKGRlZmF1bHQgaXMgMCksIHRoZW4KICAgICAgICAgICAgIGl0IHdpbGwgbm90IGJlIHNlbGVjdGVkLgogICAgICAgICAgICAgVGhpcyBhbGxvd3MgdGhlIHBlcnNvbiBvciBwZXJzb25zIG1haW50YWluaW5nCkBAIC00NzUsOSArNDc1LDkgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIElmIHRoZSBmaXJzdCByZWNpcGUgaXMgbmFtZWQgPGZpbGVuYW1lPmFfMS4xLmJiPC9maWxlbmFtZT4sIHRoZW4gdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGUKICAgICAgICAgICAgIHdpbGwgYmUgc2V0IHRvIOKAnGHigJ0sIGFuZCB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgd2lsbCBiZSBzZXQgdG8gMS4xLgogICAgICAgICA8L3BhcmE+CiAKQEAgLTUzMiwxMSArNTMyLDExIEBACiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgRGVwZW5kZW5jaWVzIGFyZSBkZWZpbmVkIHRocm91Z2ggc2V2ZXJhbCB2YXJpYWJsZXMuCiAgICAgICAgICAgICBZb3UgY2FuIGZpbmQgaW5mb3JtYXRpb24gYWJvdXQgdmFyaWFibGVzIEJpdEJha2UgdXNlcyBpbgotICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3JlZi12YXJpYWJsZXMtZ2xvcyc+VmFyaWFibGVzIEdsb3NzYXJ5PC9saW5rPgorICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3JlZi1iYi12YXJpYWJsZXMtZ2xvcyc+VmFyaWFibGVzIEdsb3NzYXJ5PC9saW5rPgogICAgICAgICAgICAgbmVhciB0aGUgZW5kIG9mIHRoaXMgbWFudWFsLgogICAgICAgICAgICAgQXQgYSBiYXNpYyBsZXZlbCwgaXQgaXMgc3VmZmljaWVudCB0byBrbm93IHRoYXQgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+IGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4gdmFyaWFibGVzIHdoZW4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiBhbmQKKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlcyB3aGVuCiAgICAgICAgICAgICBjYWxjdWxhdGluZyBkZXBlbmRlbmNpZXMuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtNTYwLDcgKzU2MCw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBUaGUgYnVpbGQgbm93IHN0YXJ0cyB3aXRoIEJpdEJha2UgZm9ya2luZyBvZmYgdGhyZWFkcyB1cCB0byB0aGUgbGltaXQgc2V0IGluIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX05VTUJFUl9USFJFQURTJz48ZmlsZW5hbWU+QkJfTlVNQkVSX1RIUkVBRFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9OVU1CRVJfVEhSRUFEUyc+PGZpbGVuYW1lPkJCX05VTUJFUl9USFJFQURTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgIEJpdEJha2UgY29udGludWVzIHRvIGZvcmsgdGhyZWFkcyBhcyBsb25nIGFzIHRoZXJlIGFyZSB0YXNrcyByZWFkeSB0byBydW4sCiAgICAgICAgICAgICB0aG9zZSB0YXNrcyBoYXZlIGFsbCB0aGVpciBkZXBlbmRlbmNpZXMgbWV0LCBhbmQgdGhlIHRocmVhZCB0aHJlc2hvbGQgaGFzIG5vdCBiZWVuCkBAIC01NzQsNyArNTc0LDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEFzIGVhY2ggdGFzayBjb21wbGV0ZXMsIGEgdGltZXN0YW1wIGlzIHdyaXR0ZW4gdG8gdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnkgdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlLgogICAgICAgICAgICAgT24gc3Vic2VxdWVudCBydW5zLCBCaXRCYWtlIGxvb2tzIGluIHRoZSBidWlsZCBkaXJlY3Rvcnkgd2l0aGluCiAgICAgICAgICAgICA8ZmlsZW5hbWU+dG1wL3N0YW1wczwvZmlsZW5hbWU+IGFuZCBkb2VzIG5vdCByZXJ1bgogICAgICAgICAgICAgdGFza3MgdGhhdCBhcmUgYWxyZWFkeSBjb21wbGV0ZWQgdW5sZXNzIGEgdGltZXN0YW1wIGlzIGZvdW5kIHRvIGJlIGludmFsaWQuCkBAIC02MTgsNyArNjE4LDcgQEAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBUYXNrcyBjYW4gYmUgZWl0aGVyIGEgc2hlbGwgdGFzayBvciBhIFB5dGhvbiB0YXNrLgogICAgICAgICAgICAgRm9yIHNoZWxsIHRhc2tzLCBCaXRCYWtlIHdyaXRlcyBhIHNoZWxsIHNjcmlwdCB0bwotICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fS9ydW4uZG9fdGFza25hbWUucGlkPC9maWxlbmFtZT4KKyAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLVQnPjxmaWxlbmFtZT5UPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPn0vcnVuLmRvX3Rhc2tuYW1lLnBpZDwvZmlsZW5hbWU+CiAgICAgICAgICAgICBhbmQgdGhlbiBleGVjdXRlcyB0aGUgc2NyaXB0LgogICAgICAgICAgICAgVGhlIGdlbmVyYXRlZCBzaGVsbCBzY3JpcHQgY29udGFpbnMgYWxsIHRoZSBleHBvcnRlZCB2YXJpYWJsZXMsCiAgICAgICAgICAgICBhbmQgdGhlIHNoZWxsIGZ1bmN0aW9ucyB3aXRoIGFsbCB2YXJpYWJsZXMgZXhwYW5kZWQuCkBAIC02NDUsMTAgKzY0NSwxMCBAQAogICAgICAgICAgICAgYmVoYXZpb3I6CiAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0NIRURVTEVSJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUlMnPjxmaWxlbmFtZT5CQl9TQ0hFRFVMRVJTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TQ0hFRFVMRVJTJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogICAgICAgICAgICAgSXQgaXMgcG9zc2libGUgdG8gaGF2ZSBmdW5jdGlvbnMgcnVuIGJlZm9yZSBhbmQgYWZ0ZXIgYSB0YXNrJ3MgbWFpbgpAQCAtNjg0LDcgKzY4NCw3IEBACiAgICAgICAgICAgICBUaGUgc2ltcGxpc3RpYyBhcHByb2FjaCBmb3IgZXhjbHVkaW5nIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBpcyB0byBzZXQKICAgICAgICAgICAgIGl0IHRvIHNvbWUgZml4ZWQgdmFsdWUgYW5kIGNyZWF0ZSB0aGUgY2hlY2tzdW0gZm9yIHRoZSAicnVuIiBzY3JpcHQuCiAgICAgICAgICAgICBCaXRCYWtlIGdvZXMgb25lIHN0ZXAgYmV0dGVyIGFuZCB1c2VzIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgdG8gZGVmaW5lIGEgbGlzdCBvZiB2YXJpYWJsZXMgdGhhdCBzaG91bGQgbmV2ZXIgYmUgaW5jbHVkZWQKICAgICAgICAgICAgIHdoZW4gZ2VuZXJhdGluZyB0aGUgc2lnbmF0dXJlcy4KICAgICAgICAgPC9wYXJhPgpAQCAtNzk1LDcgKzc5NSw3IEBACiAgICAgICAgICAgICBUaGlzIHJlc3VsdHMgaW4gYW55IG1ldGFkYXRhIGNoYW5nZSB0aGF0IGNoYW5nZXMgdGhlIHRhc2sgaGFzaCwgYXV0b21hdGljYWxseQogICAgICAgICAgICAgY2F1c2luZyB0aGUgdGFzayB0byBiZSBydW4gYWdhaW4uCiAgICAgICAgICAgICBUaGlzIHJlbW92ZXMgdGhlIG5lZWQgdG8gYnVtcAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSJz48ZmlsZW5hbWU+UFI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YWx1ZXMsIGFuZCBjaGFuZ2VzIHRvIG1ldGFkYXRhIGF1dG9tYXRpY2FsbHkgcmlwcGxlIGFjcm9zcyB0aGUgYnVpbGQuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtODg0LDcgKzg4NCw3IEBACiAKICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICBCaXRCYWtlIGZpcnN0IGNhbGxzIHRoZSBmdW5jdGlvbiBkZWZpbmVkIGJ5IHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGZpbGVuYW1lPkJCX0hBU0hDSEVDS19GVU5DVElPTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGZpbGVuYW1lPkJCX0hBU0hDSEVDS19GVU5DVElPTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUgd2l0aCBhIGxpc3Qgb2YgdGFza3MgYW5kIGNvcnJlc3BvbmRpbmcKICAgICAgICAgICAgIGhhc2hlcyBpdCB3YW50cyB0byBidWlsZC4KICAgICAgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgZmFzdCBhbmQgcmV0dXJucyBhIGxpc3QKQEAgLTkwOCw3ICs5MDgsNyBAQAogICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGl0IGlzIHBvaW50bGVzcyB0byBvYnRhaW4gYSBjb21waWxlciBpZiB5b3UKICAgICAgICAgICAgIGFscmVhZHkgaGF2ZSB0aGUgY29tcGlsZWQgYmluYXJ5LgogICAgICAgICAgICAgVG8gaGFuZGxlIHRoaXMsIEJpdEJha2UgY2FsbHMgdGhlCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9ERVBWQUxJRDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGZ1bmN0aW9uIGZvciBlYWNoIHN1Y2Nlc3NmdWwgc2V0c2NlbmUgdGFzayB0byBrbm93IHdoZXRoZXIgb3Igbm90IGl0IG5lZWRzCiAgICAgICAgICAgICB0byBvYnRhaW4gdGhlIGRlcGVuZGVuY2llcyBvZiB0aGF0IHRhc2suCiAgICAgICAgIDwvcGFyYT4KQEAgLTkxNiw3ICs5MTYsNyBAQAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEZpbmFsbHksIGFmdGVyIGFsbCB0aGUgc2V0c2NlbmUgdGFza3MgaGF2ZSBleGVjdXRlZCwgQml0QmFrZSBjYWxscyB0aGUKICAgICAgICAgICAgIGZ1bmN0aW9uIGxpc3RlZCBpbgotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGZpbGVuYW1lPkJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjI8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHdpdGggdGhlIGxpc3Qgb2YgdGFza3MgQml0QmFrZSB0aGlua3MgaGFzIGJlZW4gImNvdmVyZWQiLgogICAgICAgICAgICAgVGhlIG1ldGFkYXRhIGNhbiB0aGVuIGVuc3VyZSB0aGF0IHRoaXMgbGlzdCBpcyBjb3JyZWN0IGFuZCBjYW4KICAgICAgICAgICAgIGluZm9ybSBCaXRCYWtlIHRoYXQgaXQgd2FudHMgc3BlY2lmaWMgdGFza3MgdG8gYmUgcnVuIHJlZ2FyZGxlc3MKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWZldGNoaW5nLnhtbAppbmRleCA5MmIyYzNkLi4zYWNkN2M0IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1mZXRjaGluZy54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZmV0Y2hpbmcueG1sCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBUaGlzIGNvZGUgc2V0cyB1cCBhbiBpbnN0YW5jZSBvZiB0aGUgZmV0Y2ggY2xhc3MuCiAgICAgICAgICAgICBUaGUgaW5zdGFuY2UgdXNlcyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIFVSTHMgZnJvbSB0aGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBhbmQgdGhlbiBjYWxscyB0aGUgPGZpbGVuYW1lPmRvd25sb2FkPC9maWxlbmFtZT4KICAgICAgICAgICAgIG1ldGhvZCB0byBkb3dubG9hZCB0aGUgZmlsZXMuCiAgICAgICAgIDwvcGFyYT4KQEAgLTc4LDcgKzc4LDcgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPlByZS1taXJyb3IgU2l0ZXM6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSBmaXJzdCB1c2VzIHByZS1taXJyb3JzIHRvIHRyeSBhbmQgZmluZCBzb3VyY2UgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGxvY2F0aW9ucyBhcmUgZGVmaW5lZCB1c2luZyB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Tb3VyY2UgVVJJOjwvZW1waGFzaXM+CkBAIC04OCw3ICs4OCw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5NaXJyb3IgU2l0ZXM6PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgSWYgZmV0Y2ggZmFpbHVyZXMgb2NjdXIsIEJpdEJha2UgbmV4dCB1c2VzIG1pcnJvciBsb2NhdGlvbnMgYXMKICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KQEAgLTE0NCw3ICsxNDQsNyBAQAogICAgICAgICAgICAgQW55IHNvdXJjZSBmaWxlcyB0aGF0IGFyZSBub3QgbG9jYWwgKGkuZS4KICAgICAgICAgICAgIGRvd25sb2FkZWQgZnJvbSB0aGUgSW50ZXJuZXQpIGFyZSBwbGFjZWQgaW50byB0aGUgZG93bmxvYWQKICAgICAgICAgICAgIGRpcmVjdG9yeSwgd2hpY2ggaXMgc3BlY2lmaWVkIGJ5IHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgIDwvcGFyYT4KIApAQCAtMTg0LDExICsxODQsMTEgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIElmCi0gICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RSSUNUX0NIRUNLU1VNJz48ZmlsZW5hbWU+QkJfU1RSSUNUX0NIRUNLU1VNPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RSSUNUX0NIRUNLU1VNJz48ZmlsZW5hbWU+QkJfU1RSSUNUX0NIRUNLU1VNPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICBpcyBzZXQsIGFueSBkb3dubG9hZCB3aXRob3V0IGEgY2hlY2tzdW0gdHJpZ2dlcnMgYW4KICAgICAgICAgICAgIGVycm9yIG1lc3NhZ2UuCiAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9OT19ORVRXT1JLJz48ZmlsZW5hbWU+QkJfTk9fTkVUV09SSzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX05PX05FVFdPUksnPjxmaWxlbmFtZT5CQl9OT19ORVRXT1JLPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICB2YXJpYWJsZSBjYW4gYmUgdXNlZCB0byBtYWtlIGFueSBhdHRlbXB0ZWQgbmV0d29yayBhY2Nlc3MgYSBmYXRhbAogICAgICAgICAgICAgZXJyb3IsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgY2hlY2tpbmcgdGhhdCBtaXJyb3JzIGFyZSBjb21wbGV0ZQogICAgICAgICAgICAgYXMgd2VsbCBhcyBvdGhlciB0aGluZ3MuCkBAIC0yNjUsMTEgKzI2NSwxMSBAQAogICAgICAgICAgICAgICAgIFRoZSBmaWxlbmFtZSB5b3Ugc3BlY2lmeSB3aXRoaW4gdGhlIFVSTCBjYW4gYmUKICAgICAgICAgICAgICAgICBlaXRoZXIgYW4gYWJzb2x1dGUgb3IgcmVsYXRpdmUgcGF0aCB0byBhIGZpbGUuCiAgICAgICAgICAgICAgICAgSWYgdGhlIGZpbGVuYW1lIGlzIHJlbGF0aXZlLCB0aGUgY29udGVudHMgb2YgdGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZSBpcyB1c2VkIGluIHRoZSBzYW1lIHdheQogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5QQVRIPC9maWxlbmFtZT4gaXMgdXNlZCB0byBmaW5kIGV4ZWN1dGFibGVzLgogICAgICAgICAgICAgICAgIElmIHRoZSBmaWxlIGNhbm5vdCBiZSBmb3VuZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0IGlzIGF2YWlsYWJsZSBpbgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgYnkgdGhlIHRpbWUgdGhlIDxmaWxlbmFtZT5kb3dubG9hZCgpPC9maWxlbmFtZT4gbWV0aG9kIGlzIGNhbGxlZC4KICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMzA0LDcgKzMwNCw3IEBACiAgICAgICAgICAgICAgICAgYWxsb3dzIHRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGZpbGUgdG8gYmUgc3BlY2lmaWVkLgogICAgICAgICAgICAgICAgIFNwZWNpZnlpbmcgdGhlIG5hbWUgb2YgdGhlIGRvd25sb2FkZWQgZmlsZSBpcyB1c2VmdWwKICAgICAgICAgICAgICAgICBmb3IgYXZvaWRpbmcgY29sbGlzaW9ucyBpbgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRExfRElSJz48ZmlsZW5hbWU+RExfRElSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgd2hlbiBkZWFsaW5nIHdpdGggbXVsdGlwbGUgZmlsZXMgdGhhdCBoYXZlIHRoZSBzYW1lIG5hbWUuCiAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTM1NSw3ICszNTUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgQSBzcGVjaWFsIHZhbHVlIG9mICJub3ciIGNhdXNlcyB0aGUgY2hlY2tvdXQgdG8KICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHVwZGF0ZWQgb24gZXZlcnkgYnVpbGQuCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48bGluayBsaW5rZW5kPSd2YXItQ1ZTRElSJz48ZmlsZW5hbWU+Q1ZTRElSPC9maWxlbmFtZT48L2xpbms+OjwvZW1waGFzaXM+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+PGxpbmsgbGlua2VuZD0ndmFyLWJiLUNWU0RJUic+PGZpbGVuYW1lPkNWU0RJUjwvZmlsZW5hbWU+PC9saW5rPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHdoZXJlIGEgdGVtcG9yYXJ5IGNoZWNrb3V0IGlzIHNhdmVkLgogICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGxvY2F0aW9uIGlzIG9mdGVuIDxmaWxlbmFtZT5ETF9ESVIvY3ZzPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KQEAgLTM5NSw3ICszOTUsNyBAQAogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPiJkYXRlIjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgZGF0ZS4KICAgICAgICAgICAgICAgICAgICAgICAgIElmIG5vICJkYXRlIiBpcyBzcGVjaWZpZWQsIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ0RBVEUnPjxmaWxlbmFtZT5TUkNEQVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1JDREFURSc+PGZpbGVuYW1lPlNSQ0RBVEU8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBjb25maWd1cmF0aW9uIGlzIHVzZWQgdG8gY2hlY2tvdXQgYSBzcGVjaWZpYyBkYXRlLgogICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHNwZWNpYWwgdmFsdWUgb2YgIm5vdyIgY2F1c2VzIHRoZSBjaGVja291dCB0byBiZQogICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZCBvbiBldmVyeSBidWlsZC4KQEAgLTQwNiw3ICs0MDYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgdG8gd2hpY2ggdGhlIG1vZHVsZSBpcyB1bnBhY2tlZC4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBhcmUgZm9yY2luZyB0aGUgbW9kdWxlIGludG8gYSBzcGVjaWFsCiAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkgcmVsYXRpdmUgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1DVlNESVInPjxmaWxlbmFtZT5DVlNESVI8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ1ZTRElSJz48ZmlsZW5hbWU+Q1ZTRElSPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+InJzaCI8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICAgICAgVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAibWV0aG9kIiBwYXJhbWV0ZXIuCkBAIC00NDgsNyArNDQ4LDcgQEAKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RkVUQ0hDTURfc3ZuPC9maWxlbmFtZT4sIHdoaWNoIGRlZmF1bHRzCiAgICAgICAgICAgICAgICAgdG8gInN2biIuCiAgICAgICAgICAgICAgICAgVGhlIGZldGNoZXIncyB0ZW1wb3Jhcnkgd29ya2luZyBkaXJlY3RvcnkgaXMgc2V0IGJ5Ci0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNWTkRJUic+PGZpbGVuYW1lPlNWTkRJUjwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1ZORElSJz48ZmlsZW5hbWU+U1ZORElSPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgIHdoaWNoIGlzIHVzdWFsbHkgPGZpbGVuYW1lPkRMX0RJUi9zdm48L2ZpbGVuYW1lPi4KICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtNTA5LDcgKzUwOSw3IEBACiAgICAgICAgICAgICAgICAgc291cmNlIGNvbnRyb2wgc3lzdGVtLgogICAgICAgICAgICAgICAgIFRoZSBmZXRjaGVyIHdvcmtzIGJ5IGNyZWF0aW5nIGEgYmFyZSBjbG9uZSBvZiB0aGUKICAgICAgICAgICAgICAgICByZW1vdGUgaW50bwotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1HSVRESVInPjxmaWxlbmFtZT5HSVRESVI8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUdJVERJUic+PGZpbGVuYW1lPkdJVERJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBpcyB1c3VhbGx5IDxmaWxlbmFtZT5ETF9ESVIvZ2l0MjwvZmlsZW5hbWU+LgogICAgICAgICAgICAgICAgIFRoaXMgYmFyZSBjbG9uZSBpcyB0aGVuIGNsb25lZCBpbnRvIHRoZSB3b3JrIGRpcmVjdG9yeSBkdXJpbmcgdGhlCiAgICAgICAgICAgICAgICAgdW5wYWNrIHN0YWdlIHdoZW4gYSBzcGVjaWZpYyB0cmVlIGlzIGNoZWNrZWQgb3V0LgpAQCAtNjEyLDcgKzYxMiw3IEBACiAgICAgICAgICAgICAgICAgVGhpcyBmZXRjaGVyIHN1Ym1vZHVsZSBpbmhlcml0cyBmcm9tIHRoZQogICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J2dpdC1mZXRjaGVyJz5HaXQgZmV0Y2hlcjwvbGluaz4gYW5kIGV4dGVuZHMKICAgICAgICAgICAgICAgICB0aGF0IGZldGNoZXIncyBiZWhhdmlvciBieSBmZXRjaGluZyBhIHJlcG9zaXRvcnkncyBzdWJtb2R1bGVzLgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIGlzIHBhc3NlZCB0byB0aGUgR2l0IGZldGNoZXIgYXMgZGVzY3JpYmVkIGluIHRoZQogICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdnaXQtZmV0Y2hlcic+R2l0IEZldGNoZXIgKDxmaWxlbmFtZT5naXQ6Ly88L2ZpbGVuYW1lPik8L2xpbms+IgogICAgICAgICAgICAgICAgIHNlY3Rpb24uCkBAIC02NDcsOSArNjQ3LDkgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVG8gdXNlIHRoaXMgZmV0Y2hlciwgbWFrZSBzdXJlIHlvdXIgcmVjaXBlIGhhcyBwcm9wZXIKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4sCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBWJz48ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPjwvbGluaz4gc2V0dGluZ3MuCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHNldHRpbmdzLgogICAgICAgICAgICAgICAgIEhlcmUgaXMgYW4gZXhhbXBsZToKICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CiAgICAgIFNSQ19VUkkgPSAiY2NyYzovL2NjLmV4YW1wbGUub3JnL2NjcmM7dm9iPS9leGFtcGxlX3ZvYjttb2R1bGU9L2V4YW1wbGVfbW9kdWxlIgpAQCAtNzM0LDE1ICs3MzQsMTUgQEAKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RkVUQ0hDTURfcDQ8L2ZpbGVuYW1lPiwgd2hpY2ggZGVmYXVsdHMKICAgICAgICAgICAgICAgICB0byAicDQiLgogICAgICAgICAgICAgICAgIFRoZSBmZXRjaGVyJ3MgdGVtcG9yYXJ5IHdvcmtpbmcgZGlyZWN0b3J5IGlzIHNldCBieQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QNERJUic+PGZpbGVuYW1lPlA0RElSPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QNERJUic+PGZpbGVuYW1lPlA0RElSPC9maWxlbmFtZT48L2xpbms+LAogICAgICAgICAgICAgICAgIHdoaWNoIGRlZmF1bHRzIHRvICJETF9ESVIvcDQiLgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUbyB1c2UgdGhpcyBmZXRjaGVyLCBtYWtlIHN1cmUgeW91ciByZWNpcGUgaGFzIHByb3BlcgotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+LCBhbmQKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPjxmaWxlbmFtZT5QVjwvZmlsZW5hbWU+PC9saW5rPiB2YWx1ZXMuCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhbHVlcy4KICAgICAgICAgICAgICAgICBUaGUgcDQgZXhlY3V0YWJsZSBpcyBhYmxlIHRvIHVzZSB0aGUgY29uZmlnIGZpbGUgZGVmaW5lZCBieSB5b3VyCiAgICAgICAgICAgICAgICAgc3lzdGVtJ3MgPGZpbGVuYW1lPlA0Q09ORklHPC9maWxlbmFtZT4gZW52aXJvbm1lbnQgdmFyaWFibGUgaW4KICAgICAgICAgICAgICAgICBvcmRlciB0byBkZWZpbmUgdGhlIFBlcmZvcmNlIHNlcnZlciBVUkwgYW5kIHBvcnQsIHVzZXJuYW1lLCBhbmQKQEAgLTc5Myw5ICs3OTMsOSBAQAogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5nb29nbGUtcmVwbzwvZmlsZW5hbWU+IHNvdXJjZSBjb250cm9sIHN5c3RlbS4KICAgICAgICAgICAgICAgICBUaGUgZmV0Y2hlciB3b3JrcyBieSBpbml0aWF0aW5nIGFuZCBzeW5jaW5nIHNvdXJjZXMgb2YgdGhlCiAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeSBpbnRvCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJFUE9ESVInPjxmaWxlbmFtZT5SRVBPRElSPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SRVBPRElSJz48ZmlsZW5hbWU+UkVQT0RJUjwvZmlsZW5hbWU+PC9saW5rPiwKICAgICAgICAgICAgICAgICB3aGljaCBpcyB1c3VhbGx5Ci0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT4vcmVwbzwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+L3JlcG88L2ZpbGVuYW1lPi4KICAgICAgICAgICAgIDwvcGFyYT4KIAogICAgICAgICAgICAgPHBhcmE+CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1oZWxsby54bWwKaW5kZXggOTA3NmYwZi4uMzkwNjZlNCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaGVsbG8ueG1sCisrKyBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWhlbGxvLnhtbApAQCAtMTk0LDcgKzE5NCw3IEBACiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgV2hlbiB5b3UgcnVuIEJpdEJha2UsIGl0IGJlZ2lucyBsb29raW5nIGZvciBtZXRhZGF0YSBmaWxlcy4KICAgICAgICAgICAgICAgICBUaGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlIGlzIHdoYXQgdGVsbHMgQml0QmFrZSB3aGVyZSB0byBsb29rIGZvciB0aG9zZSBmaWxlcy4KICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT4gaXMgbm90IHNldCBhbmQgeW91IG5lZWQgdG8gc2V0IGl0LgogICAgICAgICAgICAgICAgIFdpdGhvdXQgPGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+LCBCaXRiYWtlIGNhbm5vdApAQCAtMjczLDE0ICsyNzMsMTQgQEAKICAgICAgICAgICAgICAgICBzb21lIGVkaXRvciB0byBjcmVhdGUgdGhlIDxmaWxlbmFtZT5iaXRiYWtlLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgIHNvIHRoYXQgaXQgY29udGFpbnMgdGhlIGZvbGxvd2luZzoKICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+UE48L2xpbms+ICA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+UE48L2xpbms+ICA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgVE1QRElSICA9ICIkezxsaW5rIGxpbmtlbmQ9J3Zhci1UT1BESVInPlRPUERJUjwvbGluaz59L3RtcCIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUNBQ0hFJz5DQUNIRTwvbGluaz4gICA9ICIke1RNUERJUn0vY2FjaGUiCi0gICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+U1RBTVA8L2xpbms+ICAgPSAiJHtUTVBESVJ9LyR7UE59L3N0YW1wcyIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVQnPlQ8L2xpbms+ICAgICAgID0gIiR7VE1QRElSfS8ke1BOfS93b3JrIgotICAgICA8bGluayBsaW5rZW5kPSd2YXItQic+QjwvbGluaz4gICAgICAgPSAiJHtUTVBESVJ9LyR7UE59IgorICAgICBUTVBESVIgID0gIiR7PGxpbmsgbGlua2VuZD0ndmFyLWJiLVRPUERJUic+VE9QRElSPC9saW5rPn0vdG1wIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ0FDSEUnPkNBQ0hFPC9saW5rPiAgID0gIiR7VE1QRElSfS9jYWNoZSIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz5TVEFNUDwvbGluaz4gICA9ICIke1RNUERJUn0vJHtQTn0vc3RhbXBzIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItVCc+VDwvbGluaz4gICAgICAgPSAiJHtUTVBESVJ9LyR7UE59L3dvcmsiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CJz5CPC9saW5rPiAgICAgICA9ICIke1RNUERJUn0vJHtQTn0iCiAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICBXaXRob3V0IGEgdmFsdWUgZm9yIDxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+LCB0aGUKQEAgLTQwMiwxMiArNDAyLDEyIEBACiAgICAgICAgICAgICAgICAgTW92ZSB0byB0aGUgPGZpbGVuYW1lPmNvbmY8L2ZpbGVuYW1lPiBkaXJlY3RvcnkgYW5kIGNyZWF0ZSBhCiAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmxheWVyLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIHRoYXQgaGFzIHRoZSBmb2xsb3dpbmc6CiAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICBCQlBBVEggLj0gIjokezxsaW5rIGxpbmtlbmQ9J3Zhci1MQVlFUkRJUic+TEFZRVJESVI8L2xpbms+fSIKKyAgICAgQkJQQVRIIC49ICI6JHs8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJESVInPkxBWUVSRElSPC9saW5rPn0iCiAKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRVMnPkJCRklMRVM8L2xpbms+ICs9ICIke0xBWUVSRElSfS8qLmJiIgorICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+QkJGSUxFUzwvbGluaz4gKz0gIiR7TEFZRVJESVJ9LyouYmIiCiAKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRV9DT0xMRUNUSU9OUyc+QkJGSUxFX0NPTExFQ1RJT05TPC9saW5rPiArPSAibXlsYXllciIKLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCRklMRV9QQVRURVJOJz5CQkZJTEVfUEFUVEVSTl9teWxheWVyPC9saW5rPiA6PSAiXiR7TEFZRVJESVJfUkV9LyIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRV9DT0xMRUNUSU9OUyc+QkJGSUxFX0NPTExFQ1RJT05TPC9saW5rPiArPSAibXlsYXllciIKKyAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCRklMRV9QQVRURVJOJz5CQkZJTEVfUEFUVEVSTl9teWxheWVyPC9saW5rPiA6PSAiXiR7TEFZRVJESVJfUkV9LyIKICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZXNlIHZhcmlhYmxlcywgY2xpY2sgdGhlIGxpbmtzCiAgICAgICAgICAgICAgICAgdG8gZ28gdG8gdGhlIGRlZmluaXRpb25zIGluIHRoZSBnbG9zc2FyeS48L3BhcmE+CkBAIC00MTYsOSArNDE2LDkgQEAKICAgICAgICAgICAgICAgICBhIHJlY2lwZSBmaWxlIG5hbWVkIDxmaWxlbmFtZT5wcmludGhlbGxvLmJiPC9maWxlbmFtZT4gdGhhdAogICAgICAgICAgICAgICAgIGhhcyB0aGUgZm9sbG93aW5nOgogICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFU0NSSVBUSU9OJz5ERVNDUklQVElPTjwvbGluaz4gPSAiUHJpbnRzIEhlbGxvIFdvcmxkIgotICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPlBOPC9saW5rPiA9ICdwcmludGhlbGxvJwotICAgICA8bGluayBsaW5rZW5kPSd2YXItUFYnPlBWPC9saW5rPiA9ICcxJworICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVTQ1JJUFRJT04nPkRFU0NSSVBUSU9OPC9saW5rPiA9ICJQcmludHMgSGVsbG8gV29ybGQiCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+UE48L2xpbms+ID0gJ3ByaW50aGVsbG8nCisgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+UFY8L2xpbms+ID0gJzEnCiAKICAgICAgcHl0aG9uIGRvX2J1aWxkKCkgewogICAgICAgICBiYi5wbGFpbigiKioqKioqKioqKioqKioqKioqKioiKTsKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWludHJvLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWludHJvLnhtbAppbmRleCBmN2QzMTJhLi4wMjA1OGE2IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtaW50cm8ueG1sCkBAIC03ODEsNyArNzgxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LCB5b3UgbXVzdCBhbHNvIGVuYWJsZSBCaXRCYWtlIHRvIHBlcmZvcm0gbXVsdGlwbGUKICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBidWlsZHMuCiAgICAgICAgICAgICAgICAgICAgIEVuYWJsaW5nIGlzIGFjY29tcGxpc2hlZCBieSBzZXR0aW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJNVUxUSUNPTkZJRyc+PGZpbGVuYW1lPkJCTVVMVElDT05GSUc8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCTVVMVElDT05GSUcnPjxmaWxlbmFtZT5CQk1VTFRJQ09ORklHPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGluIHRoZSA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb24gZmlsZS4KICAgICAgICAgICAgICAgICAgICAgQXMgYW4gZXhhbXBsZSwgc3VwcG9zZSB5b3UgaGFkIGNvbmZpZ3VyYXRpb24gZmlsZXMKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLW1ldGFkYXRhLnhtbCBiL3Bva3kvYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLW1ldGFkYXRhLnhtbAppbmRleCBkOTFmNDM3Li4xOTlhYjIzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwKKysrIGIvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtbWV0YWRhdGEueG1sCkBAIC01OTUsNyArNTk1LDcgQEAKIAogICAgICAgICA8cGFyYT4KICAgICAgICAgICAgIEJpdEJha2UgdXNlcwotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgdG8gY29udHJvbCB3aGF0IHZhcmlhYmxlcyBhcmUgb3ZlcnJpZGRlbiBhZnRlciBCaXRCYWtlCiAgICAgICAgICAgICBwYXJzZXMgcmVjaXBlcyBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4KICAgICAgICAgICAgIFRoaXMgc2VjdGlvbiBkZXNjcmliZXMgaG93IHlvdSBjYW4gdXNlCkBAIC03MDUsNyArNzA1LDcgQEAKIAogICAgICAgICAgICAgICAgICAgICAgICAgPHBhcmE+SW50ZXJuYWxseSwgdGhpcyBpcyBpbXBsZW1lbnRlZCBieSBwcmVwZW5kaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgdGFzayAoZS5nLiAidGFzay1jb21waWxlOiIpIHRvIHRoZSB2YWx1ZSBvZgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU9WRVJSSURFUyc+PGZpbGVuYW1lPk9WRVJSSURFUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoZSBsb2NhbCBkYXRhc3RvcmUgb2YgdGhlIDxmaWxlbmFtZT5kb19jb21waWxlPC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2suPC9wYXJhPgogCkBAIC04NjgsNyArODY4LDcgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQlBBVEgnPjxmaWxlbmFtZT5CQlBBVEg8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgdmFyaWFibGUgdG8gbG9jYXRlIG5lZWRlZCBpbmNsdWRlIGFuZCBjbGFzcyBmaWxlcy4KICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIEJpdEJha2Ugc2VhcmNoZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGZvcgogICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5pbmNsdWRlPC9maWxlbmFtZT4gYW5kIDxmaWxlbmFtZT5yZXF1aXJlPC9maWxlbmFtZT4KQEAgLTEwODYsNyArMTA4Niw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBXaGVuIGNyZWF0aW5nIGEgY29uZmlndXJhdGlvbiBmaWxlICg8ZmlsZW5hbWU+LmNvbmY8L2ZpbGVuYW1lPiksCiAgICAgICAgICAgICAgICAgeW91IGNhbiB1c2UgdGhlCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUlOSEVSSVQnPjxmaWxlbmFtZT5JTkhFUklUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBkaXJlY3RpdmUgdG8gaW5oZXJpdCBhIGNsYXNzLgogICAgICAgICAgICAgICAgIEJpdEJha2Ugb25seSBzdXBwb3J0cyB0aGlzIGRpcmVjdGl2ZSB3aGVuIHVzZWQgd2l0aGluCiAgICAgICAgICAgICAgICAgYSBjb25maWd1cmF0aW9uIGZpbGUuCkBAIC0xMzcwLDcgKzEzNzAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgIEJpdEJha2Utc3R5bGUgUHl0aG9uIGZ1bmN0aW9ucyBnZW5lcmF0ZSBhIHNlcGFyYXRlCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59L3J1bi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5mdW5jdGlvbi1uYW1lPC9yZXBsYWNlYWJsZT48ZmlsZW5hbWU+LjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPnBpZDwvcmVwbGFjZWFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59L3J1bi48L2ZpbGVuYW1lPjxyZXBsYWNlYWJsZT5mdW5jdGlvbi1uYW1lPC9yZXBsYWNlYWJsZT48ZmlsZW5hbWU+LjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPnBpZDwvcmVwbGFjZWFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQgdGhhdCBpcyBleGVjdXRlZCB0byBydW4gdGhlIGZ1bmN0aW9uLCBhbmQgYWxzbwogICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgYSBsb2cgZmlsZSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7VH0vbG9nLjwvZmlsZW5hbWU+PHJlcGxhY2VhYmxlPmZ1bmN0aW9uLW5hbWU8L3JlcGxhY2VhYmxlPjxmaWxlbmFtZT4uPC9maWxlbmFtZT48cmVwbGFjZWFibGU+cGlkPC9yZXBsYWNlYWJsZT4KQEAgLTE3NzMsNyArMTc3Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIHRoaW5ncyBleHBvcnRlZCBvciBsaXN0ZWQgaW4gaXRzIHdoaXRlbGlzdCB0byBlbnN1cmUgdGhhdCB0aGUgYnVpbGQKICAgICAgICAgICAgICAgICAgICAgZW52aXJvbm1lbnQgaXMgcmVwcm9kdWNpYmxlIGFuZCBjb25zaXN0ZW50LgogICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIHByZXZlbnQgdGhpcyAiY2xlYW5pbmciIGJ5IHNldHRpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9QUkVTRVJWRV9FTlYnPjxmaWxlbmFtZT5CQl9QUkVTRVJWRV9FTlY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICAgICAgQ29uc2VxdWVudGx5LCBpZiB5b3UgZG8gd2FudCBzb21ldGhpbmcgdG8gZ2V0IHBhc3NlZCBpbnRvIHRoZQpAQCAtMTc4Myw5ICsxNzgzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFRlbGwgQml0QmFrZSB0byBsb2FkIHdoYXQgeW91IHdhbnQgZnJvbSB0aGUgZW52aXJvbm1lbnQKICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gdGhlIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZG8gc28gdGhyb3VnaCB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfRU5WX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9FTlZfRVhUUkFXSElURSc+PGZpbGVuYW1lPkJCX0VOVl9FWFRSQVdISVRFPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLgogICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGFzc3VtZSB5b3Ugd2FudCB0byBwcmV2ZW50IHRoZSBidWlsZCBzeXN0ZW0gZnJvbQogICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaW5nIHlvdXIgPGZpbGVuYW1lPiRIT01FLy5jY2FjaGU8L2ZpbGVuYW1lPgpAQCAtMTgyNCw3ICsxODI0LDcgQEAKICAgICAgICAgICAgICAgICBmcm9tIHRoZSBvcmlnaW5hbCBleGVjdXRpb24gZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgQml0YmFrZSBzYXZlcyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGVudmlyb25tZW50IGludG8KICAgICAgICAgICAgICAgICBhIHNwZWNpYWwgdmFyaWFibGUgbmFtZWQKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfT1JJR0VOVic+PGZpbGVuYW1lPkJCX09SSUdFTlY8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX09SSUdFTlYnPjxmaWxlbmFtZT5CQl9PUklHRU5WPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KQEAgLTE4ODMsNyArMTg4Myw3IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W2RlcGVuZHNdPC9maWxlbmFtZT46PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgaW50ZXItdGFzayBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBhbmQgdGhlCiAgICAgICAgICAgICAgICAgICAgICI8bGluayBsaW5rZW5kPSdpbnRlci10YXNrLWRlcGVuZGVuY2llcyc+SW50ZXItVGFzayBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMTg5MSw3ICsxODkxLDcgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPjxmaWxlbmFtZT5bZGVwdGFza108L2ZpbGVuYW1lPjo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgICAgICBDb250cm9scyB0YXNrIGJ1aWxkLXRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItREVQRU5EUyc+PGZpbGVuYW1lPkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0nYnVpbGQtZGVwZW5kZW5jaWVzJz5CdWlsZCBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMTkzNyw3ICsxOTM3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgb2YgY29yZXMgYnV0IGNlcnRhaW4gdGFza3MgbmVlZCB0byBiZSByYXRlLWxpbWl0ZWQgZHVlIHRvIHZhcmlvdXMKICAgICAgICAgICAgICAgICAgICAga2luZHMgb2YgcmVzb3VyY2UgY29uc3RyYWludHMgKGUuZy4gdG8gYXZvaWQgbmV0d29yayB0aHJvdHRsaW5nKS4KICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPm51bWJlcl90aHJlYWRzPC9maWxlbmFtZT4gd29ya3Mgc2ltaWxhcmx5IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfTlVNQkVSX1RIUkVBRFMnPjxmaWxlbmFtZT5CQl9OVU1CRVJfVEhSRUFEUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBidXQgaXMgdGFzay1zcGVjaWZpYy48L3BhcmE+CiAKICAgICAgICAgICAgICAgICAgICAgPHBhcmE+U2V0IHRoZSB2YWx1ZSBnbG9iYWxseS4KQEAgLTE5NzEsOSArMTk3MSw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JkZXBlbmRzXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIGludGVyLXRhc2sgcnVudGltZSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0naW50ZXItdGFzay1kZXBlbmRlbmNpZXMnPkludGVyLVRhc2sgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE5ODEsOSArMTk4MSw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JkZXB0YXNrXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIHRhc2sgcnVudGltZSBkZXBlbmRlbmNpZXMuCiAgICAgICAgICAgICAgICAgICAgIFNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUlJFQ09NTUVORFMnPjxmaWxlbmFtZT5SUkVDT01NRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYW5kIHRoZQogICAgICAgICAgICAgICAgICAgICAiPGxpbmsgbGlua2VuZD0ncnVudGltZS1kZXBlbmRlbmNpZXMnPlJ1bnRpbWUgRGVwZW5kZW5jaWVzPC9saW5rPiIKICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KQEAgLTE5OTYsOSArMTk5Niw5IEBACiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+W3JlY3JkZXB0YXNrXTwvZmlsZW5hbWU+OjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xzIHRhc2sgcmVjdXJzaXZlIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIGFuZCB0aGUKICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J3JlY3Vyc2l2ZS1kZXBlbmRlbmNpZXMnPlJlY3Vyc2l2ZSBEZXBlbmRlbmNpZXM8L2xpbms+IgogICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLgpAQCAtMjEyNyw3ICsyMTI3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgQW55IGdpdmVuIGRhdGFzdG9yZSBvbmx5IGhhcyBvbmUgc3VjaCBldmVudCBleGVjdXRlZAogICAgICAgICAgICAgICAgICAgICBhZ2FpbnN0IGl0LCBob3dldmVyLgogICAgICAgICAgICAgICAgICAgICBJZgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kZT0ndmFyLUJCX0lOVkFMSURDT05GJz48ZmlsZW5hbWU+QkJfSU5WQUxJRENPTkY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZGU9J3Zhci1iYi1CQl9JTlZBTElEQ09ORic+PGZpbGVuYW1lPkJCX0lOVkFMSURDT05GPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGlzIHNldCBpbiB0aGUgZGF0YXN0b3JlIGJ5IHRoZSBldmVudCBoYW5kbGVyLCB0aGUKICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpcyByZXBhcnNlZCBhbmQgYSBuZXcgZXZlbnQgdHJpZ2dlcmVkLAogICAgICAgICAgICAgICAgICAgICBhbGxvd2luZyB0aGUgbWV0YWRhdGEgdG8gdXBkYXRlIGNvbmZpZ3VyYXRpb24uCkBAIC0yMjU2LDE3ICsyMjU2LDE3IEBACiAgICAgICAgICAgICBmcm9tIGEgc2luZ2xlIHJlY2lwZSBmaWxlIG11bHRpcGxlIGluY2FybmF0aW9ucyBvZiB0aGF0CiAgICAgICAgICAgICByZWNpcGUgZmlsZSB3aGVyZSBhbGwgaW5jYXJuYXRpb25zIGFyZSBidWlsZGFibGUuCiAgICAgICAgICAgICBUaGVzZSBmZWF0dXJlcyBhcmUgZW5hYmxlZCB0aHJvdWdoIHRoZQotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCQ0xBU1NFWFRFTkQnPjxmaWxlbmFtZT5CQkNMQVNTRVhURU5EPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJDTEFTU0VYVEVORCc+PGZpbGVuYW1lPkJCQ0xBU1NFWFRFTkQ8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCVkVSU0lPTlMnPjxmaWxlbmFtZT5CQlZFUlNJT05TPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJWRVJTSU9OUyc+PGZpbGVuYW1lPkJCVkVSU0lPTlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgIHZhcmlhYmxlcy4KICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgIFRoZSBtZWNoYW5pc20gZm9yIHRoaXMgY2xhc3MgZXh0ZW5zaW9uIGlzIGV4dHJlbWVseQogICAgICAgICAgICAgICAgIHNwZWNpZmljIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi4KICAgICAgICAgICAgICAgICBVc3VhbGx5LCB0aGUgcmVjaXBlJ3MKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJPVklERVMnPjxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBST1ZJREVTJz48ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPjwvbGluaz4sCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz48ZmlsZW5hbWU+UE48L2ZpbGVuYW1lPjwvbGluaz4sIGFuZAorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlcyB3b3VsZCBuZWVkIHRvIGJlIG1vZGlmaWVkIGJ5IHRoZSBleHRlbnNpb24gY2xhc3MuCiAgICAgICAgICAgICAgICAgRm9yIHNwZWNpZmljIGV4YW1wbGVzLCBzZWUgdGhlIE9FLUNvcmUKICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+bmF0aXZlPC9maWxlbmFtZT4sIDxmaWxlbmFtZT5uYXRpdmVzZGs8L2ZpbGVuYW1lPiwKQEAgLTIyODcsNyArMjI4Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHByb2plY3QgZnJvbSBhIHNpbmdsZSByZWNpcGUgZmlsZS4KICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBhbHNvIHNwZWNpZnkgY29uZGl0aW9uYWwgbWV0YWRhdGEKICAgICAgICAgICAgICAgICAgICAgKHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtKSBmb3IgYSBzaW5nbGUgdmVyc2lvbiwgb3IgYW4gb3B0aW9uYWxseSBuYW1lZCByYW5nZSBvZiB2ZXJzaW9ucy4KICAgICAgICAgICAgICAgICAgICAgSGVyZSBpcyBhbiBleGFtcGxlOgogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CkBAIC0yMzA2LDcgKzIzMDYsNyBAQAogICAgICAgICAgICAgICAgICAgICBpbnRvIG92ZXJyaWRlcywgYnV0IGl0IGlzIGFsc28gbWFkZSBhdmFpbGFibGUgZm9yIHRoZSBtZXRhZGF0YSB0byB1c2UKICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIHZhcmlhYmxlIHRoYXQgZGVmaW5lcyB0aGUgYmFzZSByZWNpcGUgdmVyc2lvbnMgZm9yIHVzZSBpbgogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZmlsZTovLzwvZmlsZW5hbWU+IHNlYXJjaCBwYXRocwotICAgICAgICAgICAgICAgICAgICAoPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPikuCisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+KS4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgPC9wYXJhPgpAQCAtMjQwOCw3ICsyNDA4LDcgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIHRoZQotICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIG1hbmFnZSBidWlsZCB0aW1lIGRlcGVuZGVuY2llcy4KICAgICAgICAgICAgICAgICBUaGUgPGZpbGVuYW1lPltkZXB0YXNrXTwvZmlsZW5hbWU+IHZhcmZsYWcgZm9yIHRhc2tzCiAgICAgICAgICAgICAgICAgc2lnbmlmaWVzIHRoZSB0YXNrIG9mIGVhY2gKQEAgLTI0MjksOSArMjQyOSw5IEBACiAKICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgIEJpdEJha2UgdXNlcyB0aGUKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUEFDS0FHRVMnPjxmaWxlbmFtZT5QQUNLQUdFUzwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCi0gICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUEFDS0FHRVMnPjxmaWxlbmFtZT5QQUNLQUdFUzwvZmlsZW5hbWU+PC9saW5rPiwKKyAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPiwgYW5kCisgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJSRUNPTU1FTkRTJz48ZmlsZW5hbWU+UlJFQ09NTUVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICB2YXJpYWJsZXMgdG8gbWFuYWdlIHJ1bnRpbWUgZGVwZW5kZW5jaWVzLgogICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yNjg2LDcgKzI2ODYsNyBAQAogCiAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgVGhlc2UgY2hlY2tzdW1zIGFyZSBzdG9yZWQgaW4KLSAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICBZb3UgY2FuIGV4YW1pbmUgdGhlIGNoZWNrc3VtcyB1c2luZyB0aGUgZm9sbG93aW5nIEJpdEJha2UgY29tbWFuZDoKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBiaXRiYWtlLWR1bXBzaWdzCkBAIC0yNzA4LDQ0ICsyNzA4LDQ0IEBACiAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGxpc3QgZGVzY3JpYmVzIHJlbGF0ZWQgdmFyaWFibGVzOgogICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz46CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxmaWxlbmFtZT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbCBkdXJpbmcKICAgICAgICAgICAgICAgICAgICAgdGhlICJzZXRzY2VuZSIgcGFydCBvZiB0aGUgdGFzaydzIGV4ZWN1dGlvbiBpbiBvcmRlcgogICAgICAgICAgICAgICAgICAgICB0byB2YWxpZGF0ZSB0aGUgbGlzdCBvZiB0YXNrIGhhc2hlcy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9ERVBWQUxJRDwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGZ1bmN0aW9uIEJpdEJha2UgY2FsbHMgdGhhdCBkZXRlcm1pbmVzCiAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgQml0QmFrZSByZXF1aXJlcyBhIHNldHNjZW5lIGRlcGVuZGVuY3kgdG8KICAgICAgICAgICAgICAgICAgICAgYmUgbWV0LgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yJz48ZmlsZW5hbWU+QkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMjwvZmlsZW5hbWU+PC9saW5rPjoKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1NFVFNDRU5FX1ZFUklGWV9GVU5DVElPTjInPjxmaWxlbmFtZT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBjYWxsIHRoYXQgdmVyaWZpZXMgdGhlIGxpc3Qgb2YKICAgICAgICAgICAgICAgICAgICAgcGxhbm5lZCB0YXNrIGV4ZWN1dGlvbiBiZWZvcmUgdGhlIG1haW4gdGFzayBleGVjdXRpb24KICAgICAgICAgICAgICAgICAgICAgaGFwcGVucy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBtb2RlIGZvciBjb21wYXJpbmcgdGltZXN0YW1wcyBvZiBzdGFtcCBmaWxlcy4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfU1RBTVBfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU1RBTVBfV0hJVEVMSVNUJz48ZmlsZW5hbWU+QkJfU1RBTVBfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+OgogICAgICAgICAgICAgICAgICAgICBMaXN0cyBzdGFtcCBmaWxlcyB0aGF0IGFyZSBsb29rZWQgYXQgd2hlbiB0aGUgc3RhbXAgcG9saWN5CiAgICAgICAgICAgICAgICAgICAgIGlzICJ3aGl0ZWxpc3QiLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9UQVNLSEFTSCc+PGZpbGVuYW1lPkJCX1RBU0tIQVNIPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfVEFTS0hBU0gnPjxmaWxlbmFtZT5CQl9UQVNLSEFTSDwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgV2l0aGluIGFuIGV4ZWN1dGluZyB0YXNrLCB0aGlzIHZhcmlhYmxlIGhvbGRzIHRoZSBoYXNoCiAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSB0YXNrIGFzIHJldHVybmVkIGJ5IHRoZSBjdXJyZW50bHkgZW5hYmxlZAogICAgICAgICAgICAgICAgICAgICBzaWduYXR1cmUgZ2VuZXJhdG9yLgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1TVEFNUCc+PGZpbGVuYW1lPlNUQU1QPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1RBTVAnPjxmaWxlbmFtZT5TVEFNUDwvZmlsZW5hbWU+PC9saW5rPjoKICAgICAgICAgICAgICAgICAgICAgVGhlIGJhc2UgcGF0aCB0byBjcmVhdGUgc3RhbXAgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNUQU1QQ0xFQU4nPjxmaWxlbmFtZT5TVEFNUENMRUFOPC9maWxlbmFtZT48L2xpbms+OgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItU1RBTVBDTEVBTic+PGZpbGVuYW1lPlNUQU1QQ0xFQU48L2ZpbGVuYW1lPjwvbGluaz46CiAgICAgICAgICAgICAgICAgICAgIEFnYWluLCB0aGUgYmFzZSBwYXRoIHRvIGNyZWF0ZSBzdGFtcCBmaWxlcyBidXQgY2FuIHVzZSB3aWxkY2FyZHMKICAgICAgICAgICAgICAgICAgICAgZm9yIG1hdGNoaW5nIGEgcmFuZ2Ugb2YgZmlsZXMgZm9yIGNsZWFuIG9wZXJhdGlvbnMuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtcmVmLXZhcmlhYmxlcy54bWwgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbAppbmRleCBhODRiMmJjLi5hY2E2NzQxIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbAorKysgYi9wb2t5L2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1yZWYtdmFyaWFibGVzLnhtbApAQCAtMyw3ICszLDcgQEAKIFs8IUVOVElUWSAlIHBva3kgU1lTVEVNICIuLi9wb2t5LmVudCI+ICVwb2t5OyBdID4KIAogPCEtLSBEdW1teSBjaGFwdGVyIC0tPgotPGNoYXB0ZXIgaWQ9J3JlZi12YXJpYWJsZXMtZ2xvcyc+Cis8Y2hhcHRlciBpZD0ncmVmLWJiLXZhcmlhYmxlcy1nbG9zJz4KIAogPHRpdGxlPlZhcmlhYmxlcyBHbG9zc2FyeTwvdGl0bGU+CiAKQEAgLTM0LDI5ICszNCwyOSBAQAogICAgIDwvaXRlbWl6ZWRsaXN0PgogPC9ub3RlPgogCi08Z2xvc3NhcnkgaWQ9J3JlZi12YXJpYWJsZXMtZ2xvc3NhcnknPgorPGdsb3NzYXJ5IGlkPSdyZWYtYmItdmFyaWFibGVzLWdsb3NzYXJ5Jz4KIAogICAgIDxwYXJhPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1BU1NVTUVfUFJPVklERUQnPkE8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUInPkI8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUNBQ0hFJz5DPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPkQ8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUVYQ0xVREVfRlJPTV9XT1JMRCc+RTwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRkFLRVJPT1QnPkY8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUdJVERJUic+RzwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItSEdESVInPkg8L2xpbms+Ci08IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1JQ0VDQ19ESVNBQkxFRCc+STwvbGluaz4gLS0+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUFTU1VNRV9QUk9WSURFRCc+QTwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQic+QjwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQ0FDSEUnPkM8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFRkFVTFRfUFJFRkVSRU5DRSc+RDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRVhDTFVERV9GUk9NX1dPUkxEJz5FPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GQUtFUk9PVCc+RjwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItR0lURElSJz5HPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1IR0RJUic+SDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItSU5IRVJJVCc+STwvbGluaz4KIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnktaic+SjwvbGluaz4gLS0+CiA8IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1LQVJDSCc+SzwvbGluaz4gLS0+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSREVQRU5EUyc+TDwvbGluaz4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTUlSUk9SUyc+TTwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJERVBFTkRTJz5MPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1NSVJST1JTJz5NPC9saW5rPgogPCEtLSAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1nbG9zc2FyeS1uJz5OPC9saW5rPiAtLT4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz5PPC9saW5rPgotICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QNERJUic+UDwvbGluaz4KKyAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItT1ZFUlJJREVTJz5PPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QNERJUic+UDwvbGluaz4KIDwhLS0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVFNQUtFX1BST0ZJTEVTJz5RPC9saW5rPiAtLT4KLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPlI8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNFQ1RJT04nPlM8L2xpbms+Ci0gICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVQnPlQ8L2xpbms+CisgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz5SPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TRUNUSU9OJz5TPC9saW5rPgorICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz5UPC9saW5rPgogPCEtLSAgICAgICA8bGluayBsaW5rZW5kPSd2YXItVUJPT1RfQ09ORklHJz5VPC9saW5rPiAtLT4KIDwhLS0gICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItZ2xvc3Nhcnktdic+VjwvbGluaz4gLS0+CiA8IS0tICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1XQVJOX1FBJz5XPC9saW5rPiAtLT4KQEAgLTY1LDEzICs2NSwxMyBAQAogPCEtLSAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1nbG9zc2FyeS16Jz5aPC9saW5rPi0tPgogICAgIDwvcGFyYT4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWEnPjx0aXRsZT5BPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1hJz48dGl0bGU+QTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1BU1NVTUVfUFJPVklERUQnPjxnbG9zc3Rlcm0+QVNTVU1FX1BST1ZJREVEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQVNTVU1FX1BST1ZJREVEJz48Z2xvc3N0ZXJtPkFTU1VNRV9QUk9WSURFRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyByZWNpcGUgbmFtZXMKLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YWx1ZXMpIEJpdEJha2UgZG9lcyBub3QgYXR0ZW1wdCB0byBidWlsZC4KICAgICAgICAgICAgICAgICAgICAgSW5zdGVhZCwgQml0QmFrZSBhc3N1bWVzIHRoZXNlIHJlY2lwZXMgaGF2ZSBhbHJlYWR5IGJlZW4KICAgICAgICAgICAgICAgICAgICAgYnVpbHQuCkBAIC05MSw5ICs5MSw5IEBACiAgICAgPC9nbG9zc2Rpdj4KIAogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3NhcnktYic+PHRpdGxlPkI8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LWInPjx0aXRsZT5CPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUInPjxnbG9zc3Rlcm0+QjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUInPjxnbG9zc3Rlcm0+QjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIEJpdEJha2UgZXhlY3V0ZXMgZnVuY3Rpb25zCkBAIC0xMDIsNyArMTAyLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0FMTE9XRURfTkVUV09SS1MnPjxnbG9zc3Rlcm0+QkJfQUxMT1dFRF9ORVRXT1JLUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0FMTE9XRURfTkVUV09SS1MnPjxnbG9zc3Rlcm0+QkJfQUxMT1dFRF9ORVRXT1JLUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSBzcGFjZS1kZWxpbWl0ZWQgbGlzdCBvZiBob3N0cyB0aGF0IHRoZSBmZXRjaGVyCkBAIC0xMTEsNyArMTExLDcgQEAKICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGhvc3QgbGlzdCBpcyBvbmx5IHVzZWQgaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfTk9fTkVUV09SSyc+PGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBlaXRoZXIgbm90IHNldCBvciBzZXQgdG8gIjAiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgpAQCAtMTUxLDEzICsxNTEsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgIFVzaW5nIDxmaWxlbmFtZT5CQl9BTExPV0VEX05FVFdPUktTPC9maWxlbmFtZT4gaW4KICAgICAgICAgICAgICAgICAgICAgY29uanVuY3Rpb24gd2l0aAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGlzIHZlcnkgdXNlZnVsLgogICAgICAgICAgICAgICAgICAgICBBZGRpbmcgdGhlIGhvc3QgeW91IHdhbnQgdG8gdXNlIHRvCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT4gcmVzdWx0cyBpbiB0aGUgc291cmNlIGNvZGUKICAgICAgICAgICAgICAgICAgICAgYmVpbmcgZmV0Y2hlZCBmcm9tIGFuIGFsbG93ZWQgbG9jYXRpb24gYW5kIGF2b2lkcyByYWlzaW5nCiAgICAgICAgICAgICAgICAgICAgIGFuIGVycm9yIHdoZW4gYSBob3N0IHRoYXQgaXMgbm90IGFsbG93ZWQgaXMgaW4gYQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudC4KICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBiZWNhdXNlIHRoZSBmZXRjaGVyIGRvZXMgbm90IGF0dGVtcHQgdG8gdXNlIHRoZQogICAgICAgICAgICAgICAgICAgICBob3N0IGxpc3RlZCBpbiA8ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+IGFmdGVyIGEKQEAgLTE2Nyw3ICsxNjcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfQ09OU09MRUxPRyc+PGdsb3NzdGVybT5CQl9DT05TT0xFTE9HPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfQ09OU09MRUxPRyc+PGdsb3NzdGVybT5CQl9DT05TT0xFTE9HPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgcGF0aCB0byBhIGxvZyBmaWxlIGludG8gd2hpY2ggQml0QmFrZSdzIHVzZXIKQEAgLTE3Niw3ICsxNzYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfQ1VSUkVOVFRBU0snPjxnbG9zc3Rlcm0+QkJfQ1VSUkVOVFRBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9DVVJSRU5UVEFTSyc+PGdsb3NzdGVybT5CQl9DVVJSRU5UVEFTSzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDb250YWlucyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudGx5IHJ1bm5pbmcgdGFzay4KQEAgLTE4Niw3ICsxODYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfREFOR0xJTkdBUFBFTkRTX1dBUk5PTkxZJz48Z2xvc3N0ZXJtPkJCX0RBTkdMSU5HQVBQRU5EU19XQVJOT05MWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RBTkdMSU5HQVBQRU5EU19XQVJOT05MWSc+PGdsb3NzdGVybT5CQl9EQU5HTElOR0FQUEVORFNfV0FSTk9OTFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGVmaW5lcyBob3cgQml0QmFrZSBoYW5kbGVzIHNpdHVhdGlvbnMgd2hlcmUgYW4gYXBwZW5kCkBAIC0yMDgsNyArMjA4LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0RFRkFVTFRfVEFTSyc+PGdsb3NzdGVybT5CQl9ERUZBVUxUX1RBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9ERUZBVUxUX1RBU0snPjxnbG9zc3Rlcm0+QkJfREVGQVVMVF9UQVNLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkZWZhdWx0IHRhc2sgdG8gdXNlIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQgKGUuZy4KQEAgLTIxOSw3ICsyMTksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRElTS01PTl9ESVJTJz48Z2xvc3N0ZXJtPkJCX0RJU0tNT05fRElSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RJU0tNT05fRElSUyc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX0RJUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTW9uaXRvcnMgZGlzayBzcGFjZSBhbmQgYXZhaWxhYmxlIGlub2RlcyBkdXJpbmcgdGhlIGJ1aWxkCkBAIC0yNDUsNyArMjQ1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICBidWlsZCB3aGVuIGEgdGhyZXNob2xkIGlzIGJyb2tlbi4KICAgICAgICAgICAgICAgICAgICAgICBTdWJzZXF1ZW50IHdhcm5pbmdzIGFyZSBpc3N1ZWQgYXMKICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGJ5IHRoZQotICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2xpbms+IHZhcmlhYmxlLAorICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+QkJfRElTS01PTl9XQVJOSU5URVJWQUw8L2xpbms+IHZhcmlhYmxlLAogICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIG11c3QgYmUgZGVmaW5lZC4KIAogICAgICAgICAmbHQ7ZGlyJmd0OyBpczoKQEAgLTI3NSw3ICsyNzUsNyBAQAogICAgICBCQl9ESVNLTU9OX0RJUlMgPSAiQUJPUlQsJHtUTVBESVJ9LCwxMDBLIgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBmaXJzdCBleGFtcGxlIHdvcmtzIG9ubHkgaWYgeW91IGFsc28gc2V0Ci0gICAgICAgICAgICAgICAgICAgIHRoZSA8bGluayBsaW5rZW5kPSd2YXItQkJfRElTS01PTl9XQVJOSU5URVJWQUwnPjxmaWxlbmFtZT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgdGhlIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+PGZpbGVuYW1lPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlLgogICAgICAgICAgICAgICAgICAgICBUaGlzIGV4YW1wbGUgY2F1c2VzIHRoZSBidWlsZCBzeXN0ZW0gdG8gaW1tZWRpYXRlbHkKICAgICAgICAgICAgICAgICAgICAgYWJvcnQgd2hlbiBlaXRoZXIgdGhlIGRpc2sgc3BhY2UgaW4gPGZpbGVuYW1lPiR7VE1QRElSfTwvZmlsZW5hbWU+IGRyb3BzCiAgICAgICAgICAgICAgICAgICAgIGJlbG93IDEgR2J5dGUgb3IgdGhlIGF2YWlsYWJsZSBmcmVlIGlub2RlcyBkcm9wcyBiZWxvdwpAQCAtMzA5LDcgKzMwOSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTCc+PGdsb3NzdGVybT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0RJU0tNT05fV0FSTklOVEVSVkFMJz48Z2xvc3N0ZXJtPkJCX0RJU0tNT05fV0FSTklOVEVSVkFMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERlZmluZXMgdGhlIGRpc2sgc3BhY2UgYW5kIGZyZWUgaW5vZGUgd2FybmluZyBpbnRlcnZhbHMuCkBAIC0zMTksNyArMzE5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgSWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlCiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5CQl9ESVNLTU9OX1dBUk5JTlRFUlZBTDwvZmlsZW5hbWU+IHZhcmlhYmxlLCB5b3UgbXVzdAogICAgICAgICAgICAgICAgICAgICBhbHNvIHVzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0RJU0tNT05fRElSUyc+PGZpbGVuYW1lPkJCX0RJU0tNT05fRElSUzwvZmlsZW5hbWU+PC9saW5rPiB2YXJpYWJsZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRElTS01PTl9ESVJTJz48ZmlsZW5hbWU+QkJfRElTS01PTl9ESVJTPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgICAgIGFuZCBkZWZpbmUgaXRzIGFjdGlvbiBhcyAiV0FSTiIuCiAgICAgICAgICAgICAgICAgICAgIER1cmluZyB0aGUgYnVpbGQsIHN1YnNlcXVlbnQgd2FybmluZ3MgYXJlIGlzc3VlZCBlYWNoIHRpbWUKICAgICAgICAgICAgICAgICAgICAgZGlzayBzcGFjZSBvciBudW1iZXIgb2YgZnJlZSBpbm9kZXMgZnVydGhlciByZWR1Y2VzIGJ5CkBAIC0zNzQsNyArMzc0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfRU5WX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0VOVl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfRU5WX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGludGVybmFsIHdoaXRlbGlzdCBvZiB2YXJpYWJsZXMgdG8gYWxsb3cKQEAgLTM4MiwxMSArMzgyLDExIEBACiAgICAgICAgICAgICAgICAgICAgIGRhdGFzdG9yZS4KICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgbm90IHNwZWNpZmllZAogICAgICAgICAgICAgICAgICAgICAod2hpY2ggaXMgdGhlIGRlZmF1bHQpLCB0aGUgZm9sbG93aW5nIGxpc3QgaXMgdXNlZDoKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCUEFUSCc+PGZpbGVuYW1lPkJCUEFUSDwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1BSRVNFUlZFX0VOVic+PGZpbGVuYW1lPkJCX1BSRVNFUlZFX0VOVjwvZmlsZW5hbWU+PC9saW5rPiwKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJQQVRIJz48ZmlsZW5hbWU+QkJQQVRIPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfUFJFU0VSVkVfRU5WJz48ZmlsZW5hbWU+QkJfUFJFU0VSVkVfRU5WPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgICAgIGFuZAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxmaWxlbmFtZT5CQl9FTlZfRVhUUkFXSElURTwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX0VOVl9FWFRSQVdISVRFJz48ZmlsZW5hbWU+QkJfRU5WX0VYVFJBV0hJVEU8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgWW91IG11c3Qgc2V0IHRoaXMgdmFyaWFibGUgaW4gdGhlIGV4dGVybmFsIGVudmlyb25tZW50CiAgICAgICAgICAgICAgICAgICAgICAgICBpbiBvcmRlciBmb3IgaXQgdG8gd29yay4KQEAgLTM5NSw3ICszOTUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfRU5WX0VYVFJBV0hJVEUnPjxnbG9zc3Rlcm0+QkJfRU5WX0VYVFJBV0hJVEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9FTlZfRVhUUkFXSElURSc+PGdsb3NzdGVybT5CQl9FTlZfRVhUUkFXSElURTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYW4gYWRkaXRpb25hbCBzZXQgb2YgdmFyaWFibGVzIHRvIGFsbG93IHRocm91Z2gKQEAgLTQwMyw3ICs0MDMsNyBAQAogICAgICAgICAgICAgICAgICAgICBkYXRhc3RvcmUuCiAgICAgICAgICAgICAgICAgICAgIFRoaXMgbGlzdCBvZiB2YXJpYWJsZXMgYXJlIG9uIHRvcCBvZiB0aGUgaW50ZXJuYWwgbGlzdAogICAgICAgICAgICAgICAgICAgICBzZXQgaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0VOVl9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9FTlZfV0hJVEVMSVNUPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfRU5WX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX0VOVl9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4uCiAgICAgICAgICAgICAgICAgICAgIDxub3RlPgogICAgICAgICAgICAgICAgICAgICAgICAgWW91IG11c3Qgc2V0IHRoaXMgdmFyaWFibGUgaW4gdGhlIGV4dGVybmFsCiAgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCBpbiBvcmRlciBmb3IgaXQgdG8gd29yay4KQEAgLTQxMiwyMiArNDEyLDIyIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9GRVRDSF9QUkVNSVJST1JPTkxZJz48Z2xvc3N0ZXJtPkJCX0ZFVENIX1BSRU1JUlJPUk9OTFk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9GRVRDSF9QUkVNSVJST1JPTkxZJz48Z2xvc3N0ZXJtPkJCX0ZFVENIX1BSRU1JUlJPUk9OTFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgV2hlbiBzZXQgdG8gIjEiLCBjYXVzZXMgQml0QmFrZSdzIGZldGNoZXIgbW9kdWxlIHRvIG9ubHkKICAgICAgICAgICAgICAgICAgICAgc2VhcmNoCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVNSVJST1JTJz48ZmlsZW5hbWU+UFJFTUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGZpbGVzLgogICAgICAgICAgICAgICAgICAgICBCaXRCYWtlIHdpbGwgbm90IHNlYXJjaCB0aGUgbWFpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNSQ19VUkknPjxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIG9yCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1NSVJST1JTJz48ZmlsZW5hbWU+TUlSUk9SUzwvZmlsZW5hbWU+PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0ZJTEVOQU1FJz48Z2xvc3N0ZXJtPkJCX0ZJTEVOQU1FPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfRklMRU5BTUUnPjxnbG9zc3Rlcm0+QkJfRklMRU5BTUU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIGZpbGVuYW1lIG9mIHRoZSByZWNpcGUgdGhhdCBvd25zIHRoZSBjdXJyZW50bHkKQEAgLTQ0MCwxMiArNDQwLDEyIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9HRU5FUkFURV9NSVJST1JfVEFSQkFMTFMnPjxnbG9zc3Rlcm0+QkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTJz48Z2xvc3N0ZXJtPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBDYXVzZXMgdGFyYmFsbHMgb2YgdGhlIEdpdCByZXBvc2l0b3JpZXMsIGluY2x1ZGluZyB0aGUKICAgICAgICAgICAgICAgICAgICAgR2l0IG1ldGFkYXRhLCB0byBiZSBwbGFjZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURMX0RJUic+PGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgIEFueW9uZSB3aXNoaW5nIHRvIGNyZWF0ZSBhIHNvdXJjZSBtaXJyb3Igd291bGQgd2FudCB0bwogICAgICAgICAgICAgICAgICAgICBlbmFibGUgdGhpcyB2YXJpYWJsZS4KQEAgLTQ2MSw3ICs0NjEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfSEFTSENPTkZJR19XSElURUxJU1QnPjxnbG9zc3Rlcm0+QkJfSEFTSENPTkZJR19XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9IQVNIQ09ORklHX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9IQVNIQ09ORklHX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyB2YXJpYWJsZXMgdGhhdCBhcmUgZXhjbHVkZWQgZnJvbSBiYXNlIGNvbmZpZ3VyYXRpb24KQEAgLTQ4NSw3ICs0ODUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfSEFTSEJBU0VfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX0hBU0hCQVNFX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX0hBU0hCQVNFX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9IQVNIQkFTRV9XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgdmFyaWFibGVzIHRoYXQgYXJlIGV4Y2x1ZGVkIGZyb20gY2hlY2tzdW0gYW5kCkBAIC01MDAsNyArNTAwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0hBU0hDSEVDS19GVU5DVElPTic+PGdsb3NzdGVybT5CQl9IQVNIQ0hFQ0tfRlVOQ1RJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9IQVNIQ0hFQ0tfRlVOQ1RJT04nPjxnbG9zc3Rlcm0+QkJfSEFTSENIRUNLX0ZVTkNUSU9OPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbCBkdXJpbmcgdGhlCkBAIC01MjQsNyArNTI0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0lOVkFMSURDT05GJz48Z2xvc3N0ZXJtPkJCX0lOVkFMSURDT05GPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfSU5WQUxJRENPTkYnPjxnbG9zc3Rlcm0+QkJfSU5WQUxJRENPTkY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZQpAQCAtNTM5LDExICs1MzksMTEgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX0xPR0ZNVCc+PGdsb3NzdGVybT5CQl9MT0dGTVQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9MT0dGTVQnPjxnbG9zc3Rlcm0+QkJfTE9HRk1UPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgbG9nIGZpbGVzIHNhdmVkIGludG8KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSA8ZmlsZW5hbWU+QkJfTE9HRk1UPC9maWxlbmFtZT4gdmFyaWFibGUKICAgICAgICAgICAgICAgICAgICAgaXMgdW5kZWZpbmVkIGFuZCB0aGUgbG9nIGZpbGUgbmFtZXMgZ2V0IGNyZWF0ZWQgdXNpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBmb3JtOgpAQCAtNTU2LDcgKzU1Niw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIEJpdEJha2UgdG8gcnVuIGF0IGEgc3BlY2lmaWMgcHJpb3JpdHkKQEAgLTU2NCwxMyArNTY0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIFN5c3RlbSBwZXJtaXNzaW9ucyB1c3VhbGx5IG1lYW4gdGhhdCBCaXRCYWtlIGNhbiByZWR1Y2UgaXRzCiAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGJ1dCBub3QgcmFpc2UgaXQgYWdhaW4uCiAgICAgICAgICAgICAgICAgICAgIFNlZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfVEFTS19OSUNFX0xFVkVMJz48ZmlsZW5hbWU+QkJfVEFTS19OSUNFX0xFVkVMPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9UQVNLX05JQ0VfTEVWRUwnPjxmaWxlbmFtZT5CQl9UQVNLX05JQ0VfTEVWRUw8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfTk9fTkVUV09SSyc+PGdsb3NzdGVybT5CQl9OT19ORVRXT1JLPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTk9fTkVUV09SSyc+PGdsb3NzdGVybT5CQl9OT19ORVRXT1JLPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERpc2FibGVzIG5ldHdvcmsgYWNjZXNzIGluIHRoZSBCaXRCYWtlIGZldGNoZXIgbW9kdWxlcy4KQEAgLTU4Nyw3ICs1ODcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfTlVNQkVSX1RIUkVBRFMnPjxnbG9zc3Rlcm0+QkJfTlVNQkVSX1RIUkVBRFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9OVU1CRVJfVEhSRUFEUyc+PGdsb3NzdGVybT5CQl9OVU1CRVJfVEhSRUFEUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFza3MgQml0QmFrZSBzaG91bGQgcnVuIGluIHBhcmFsbGVsCkBAIC01OTksNyArNTk5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX05VTUJFUl9QQVJTRV9USFJFQURTJz48Z2xvc3N0ZXJtPkJCX05VTUJFUl9QQVJTRV9USFJFQURTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfTlVNQkVSX1BBUlNFX1RIUkVBRFMnPjxnbG9zc3Rlcm0+QkJfTlVNQkVSX1BBUlNFX1RIUkVBRFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2V0cyB0aGUgbnVtYmVyIG9mIHRocmVhZHMgQml0QmFrZSB1c2VzIHdoZW4gcGFyc2luZy4KQEAgLTYwOSw3ICs2MDksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfT1JJR0VOVic+PGdsb3NzdGVybT5CQl9PUklHRU5WPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfT1JJR0VOVic+PGdsb3NzdGVybT5CQl9PUklHRU5WPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgZXh0ZXJuYWwgZW52aXJvbm1lbnQgaW4KQEAgLTYyNSw3ICs2MjUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfUFJFU0VSVkVfRU5WJz48Z2xvc3N0ZXJtPkJCX1BSRVNFUlZFX0VOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1BSRVNFUlZFX0VOVic+PGdsb3NzdGVybT5CQl9QUkVTRVJWRV9FTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZXMgd2hpdGVsaXN0aW5nIGFuZCBpbnN0ZWFkIGFsbG93cyBhbGwgdmFyaWFibGVzCkBAIC02MzksMTIgKzYzOSwxMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfUlVORk1UJz48Z2xvc3N0ZXJtPkJCX1JVTkZNVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1JVTkZNVCc+PGdsb3NzdGVybT5CQl9SVU5GTVQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBleGVjdXRhYmxlIHNjcmlwdCBmaWxlcwogICAgICAgICAgICAgICAgICAgICAoaS5lLiBydW4gZmlsZXMpIHNhdmVkIGludG8KLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItVCc+PGZpbGVuYW1lPlQ8L2ZpbGVuYW1lPjwvbGluaz48ZmlsZW5hbWU+fTwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHs8L2ZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1UJz48ZmlsZW5hbWU+VDwvZmlsZW5hbWU+PC9saW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSA8ZmlsZW5hbWU+QkJfUlVORk1UPC9maWxlbmFtZT4gdmFyaWFibGUKICAgICAgICAgICAgICAgICAgICAgaXMgdW5kZWZpbmVkIGFuZCB0aGUgcnVuIGZpbGUgbmFtZXMgZ2V0IGNyZWF0ZWQgdXNpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgIGZvbGxvd2luZyBmb3JtOgpAQCAtNjU3LDcgKzY1Nyw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9SVU5UQVNLJz48Z2xvc3N0ZXJtPkJCX1JVTlRBU0s8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9SVU5UQVNLJz48Z2xvc3N0ZXJtPkJCX1JVTlRBU0s8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgdGFzay4KQEAgLTY2OSw3ICs2NjksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0NIRURVTEVSJz48Z2xvc3N0ZXJtPkJCX1NDSEVEVUxFUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NDSEVEVUxFUic+PGdsb3NzdGVybT5CQl9TQ0hFRFVMRVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2VsZWN0cyB0aGUgbmFtZSBvZiB0aGUgc2NoZWR1bGVyIHRvIHVzZSBmb3IgdGhlCkBAIC02OTUsNyArNjk1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NDSEVEVUxFUlMnPjxnbG9zc3Rlcm0+QkJfU0NIRURVTEVSUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NDSEVEVUxFUlMnPjxnbG9zc3Rlcm0+QkJfU0NIRURVTEVSUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIGN1c3RvbSBzY2hlZHVsZXJzIHRvIGltcG9ydC4KQEAgLTcwNSwxMyArNzA1LDEzIEBACiAKICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgRm9yIGluZm9ybWF0aW9uIGhvdyB0byBzZWxlY3QgYSBzY2hlZHVsZXIsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NDSEVEVUxFUic+PGZpbGVuYW1lPkJCX1NDSEVEVUxFUjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfU0NIRURVTEVSJz48ZmlsZW5hbWU+QkJfU0NIRURVTEVSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NFVFNDRU5FX0RFUFZBTElEJz48Z2xvc3N0ZXJtPkJCX1NFVFNDRU5FX0RFUFZBTElEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU0VUU0NFTkVfREVQVkFMSUQnPjxnbG9zc3Rlcm0+QkJfU0VUU0NFTkVfREVQVkFMSUQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgZnVuY3Rpb24gQml0QmFrZSBjYWxscyB0aGF0IGRldGVybWluZXMKQEAgLTczMSw3ICs3MzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGdsb3NzdGVybT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfU0VUU0NFTkVfVkVSSUZZX0ZVTkNUSU9OMic+PGdsb3NzdGVybT5CQl9TRVRTQ0VORV9WRVJJRllfRlVOQ1RJT04yPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRvIGNhbGwgdGhhdCB2ZXJpZmllcyB0aGUgbGlzdCBvZgpAQCAtNzUyLDcgKzc1Miw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUyc+PGdsb3NzdGVybT5CQl9TSUdOQVRVUkVfRVhDTFVERV9GTEFHUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTJz48Z2xvc3N0ZXJtPkJCX1NJR05BVFVSRV9FWENMVURFX0ZMQUdTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIHZhcmlhYmxlIGZsYWdzICh2YXJmbGFncykKQEAgLTc3MSw3ICs3NzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU0lHTkFUVVJFX0hBTkRMRVInPjxnbG9zc3Rlcm0+QkJfU0lHTkFUVVJFX0hBTkRMRVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TSUdOQVRVUkVfSEFORExFUic+PGdsb3NzdGVybT5CQl9TSUdOQVRVUkVfSEFORExFUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBuYW1lIG9mIHRoZSBzaWduYXR1cmUgaGFuZGxlciBCaXRCYWtlIHVzZXMuCkBAIC03OTAsNyArNzkwLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NSQ1JFVl9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1JDUkVWX1BPTElDWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NSQ1JFVl9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1JDUkVWX1BPTElDWTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBiZWhhdmlvciBvZiB0aGUgZmV0Y2hlciB3aGVuIGl0IGludGVyYWN0cyB3aXRoCkBAIC04MTcsNyArODE3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1NUQU1QX1BPTElDWSc+PGdsb3NzdGVybT5CQl9TVEFNUF9QT0xJQ1k8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9TVEFNUF9QT0xJQ1knPjxnbG9zc3Rlcm0+QkJfU1RBTVBfUE9MSUNZPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERlZmluZXMgdGhlIG1vZGUgdXNlZCBmb3IgaG93IHRpbWVzdGFtcHMgb2Ygc3RhbXAgZmlsZXMKQEAgLTgzNiw3ICs4MzYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz53aGl0ZWxpc3Q8L2VtcGhhc2lzPiAtCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWRlbnRpY2FsIHRvICJmdWxsIiBtb2RlIGV4Y2VwdCB0aW1lc3RhbXAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJpc29ucyBhcmUgbWFkZSBmb3IgcmVjaXBlcyBsaXN0ZWQgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1NUQU1QX1dISVRFTElTVCc+PGZpbGVuYW1lPkJCX1NUQU1QX1dISVRFTElTVDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TVEFNUF9XSElURUxJU1QnPjxmaWxlbmFtZT5CQl9TVEFNUF9XSElURUxJU1Q8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CkBAIC04NDgsMTkgKzg0OCwxOSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU1RBTVBfV0hJVEVMSVNUJz48Z2xvc3N0ZXJtPkJCX1NUQU1QX1dISVRFTElTVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NUQU1QX1dISVRFTElTVCc+PGdsb3NzdGVybT5CQl9TVEFNUF9XSElURUxJU1Q8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZmlsZXMgd2hvc2Ugc3RhbXAgZmlsZSB0aW1lc3RhbXBzIGFyZSBjb21wYXJlZCB3aGVuCiAgICAgICAgICAgICAgICAgICAgIHRoZSBzdGFtcCBwb2xpY3kgbW9kZSBpcyBzZXQgdG8gIndoaXRlbGlzdCIuCiAgICAgICAgICAgICAgICAgICAgIEZvciBpbmZvcm1hdGlvbiBvbiBzdGFtcCBwb2xpY2llcywgc2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItQkJfU1RBTVBfUE9MSUNZJz48ZmlsZW5hbWU+QkJfU1RBTVBfUE9MSUNZPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQl9TVEFNUF9QT0xJQ1knPjxmaWxlbmFtZT5CQl9TVEFNUF9QT0xJQ1k8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfU1RSSUNUX0NIRUNLU1VNJz48Z2xvc3N0ZXJtPkJCX1NUUklDVF9DSEVDS1NVTTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1NUUklDVF9DSEVDS1NVTSc+PGdsb3NzdGVybT5CQl9TVFJJQ1RfQ0hFQ0tTVU08L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU2V0cyBhIG1vcmUgc3RyaWN0IGNoZWNrc3VtIG1lY2hhbmlzbSBmb3Igbm9uLWxvY2FsIFVSTHMuCkBAIC04NzEsNyArODcxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1RBU0tfSU9OSUNFX0xFVkVMJz48Z2xvc3N0ZXJtPkJCX1RBU0tfSU9OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJfVEFTS19JT05JQ0VfTEVWRUwnPjxnbG9zc3Rlcm0+QkJfVEFTS19JT05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIGFkanVzdG1lbnQgb2YgYSB0YXNrJ3MgSW5wdXQvT3V0cHV0IHByaW9yaXR5LgpAQCAtODgyLDcgKzg4Miw3IEBACiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIGFkanVzdCB0aGUgSS9PIHByaW9yaXR5IG9mIHRoZXNlIHRhc2tzLgogICAgICAgICAgICAgICAgICAgICA8bm90ZT4KICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgd29ya3Mgc2ltaWxhcmx5IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX1RBU0tfTklDRV9MRVZFTCc+PGZpbGVuYW1lPkJCX1RBU0tfTklDRV9MRVZFTDwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUJCX1RBU0tfTklDRV9MRVZFTCc+PGZpbGVuYW1lPkJCX1RBU0tfTklDRV9MRVZFTDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgZXhjZXB0IHdpdGggYSB0YXNrJ3MgSS9PIHByaW9yaXRpZXMuCiAgICAgICAgICAgICAgICAgICAgIDwvbm90ZT4KICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC05MjEsNyArOTIxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCX1RBU0tfTklDRV9MRVZFTCc+PGdsb3NzdGVybT5CQl9UQVNLX05JQ0VfTEVWRUw8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9UQVNLX05JQ0VfTEVWRUwnPjxnbG9zc3Rlcm0+QkJfVEFTS19OSUNFX0xFVkVMPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyBzcGVjaWZpYyB0YXNrcyB0byBjaGFuZ2UgdGhlaXIgcHJpb3JpdHkKQEAgLTk0MCw3ICs5NDAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfVEFTS0hBU0gnPjxnbG9zc3Rlcm0+QkJfVEFTS0hBU0g8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9UQVNLSEFTSCc+PGdsb3NzdGVybT5CQl9UQVNLSEFTSDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBXaXRoaW4gYW4gZXhlY3V0aW5nIHRhc2ssIHRoaXMgdmFyaWFibGUgaG9sZHMgdGhlIGhhc2gKQEAgLTk1MCw3ICs5NTAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJfVkVSQk9TRV9MT0dTJz48Z2xvc3N0ZXJtPkJCX1ZFUkJPU0VfTE9HUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCX1ZFUkJPU0VfTE9HUyc+PGdsb3NzdGVybT5CQl9WRVJCT1NFX0xPR1M8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ29udHJvbHMgaG93IHZlcmJvc2UgQml0QmFrZSBpcyBkdXJpbmcgYnVpbGRzLgpAQCAtOTYwLDcgKzk2MCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQl9XT1JLRVJDT05URVhUJz48Z2xvc3N0ZXJtPkJCX1dPUktFUkNPTlRFWFQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQl9XT1JLRVJDT05URVhUJz48Z2xvc3N0ZXJtPkJCX1dPUktFUkNPTlRFWFQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGlmIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgZXhlY3V0aW5nIGEgdGFzay4KQEAgLTk3Myw3ICs5NzMsNyBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAKIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCQ0xBU1NFWFRFTkQnPjxnbG9zc3Rlcm0+QkJDTEFTU0VYVEVORDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCQ0xBU1NFWFRFTkQnPjxnbG9zc3Rlcm0+QkJDTEFTU0VYVEVORDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBbGxvd3MgeW91IHRvIGV4dGVuZCBhIHJlY2lwZSBzbyB0aGF0IGl0IGJ1aWxkcyB2YXJpYW50cwpAQCAtMTAwOSw3ICsxMDA5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5fY2xhc3MtbmF0aXZlPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgZXhhbXBsZSwgdG8gZ2VuZXJhdGUgYSBuYXRpdmUgdmVyc2lvbiBvZiBhIHJlY2lwZSwKICAgICAgICAgICAgICAgICAgICAgICAgIGEKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgICAgICBvbiAiZm9vIiBpcyByZXdyaXR0ZW4gdG8gYSA8ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICBvbiAiZm9vLW5hdGl2ZSIuCiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC0xMDI4LDcgKzEwMjgsNyBAQAogICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCREVCVUcnPjxnbG9zc3Rlcm0+QkJERUJVRzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCREVCVUcnPjxnbG9zc3Rlcm0+QkJERUJVRzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTZXRzIHRoZSBCaXRCYWtlIGRlYnVnIG91dHB1dCBsZXZlbCB0byBhIHNwZWNpZmljIHZhbHVlCkBAIC0xMDQyLDcgKzEwNDIsNyBAQAogICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCRklMRV9DT0xMRUNUSU9OUyc+PGdsb3NzdGVybT5CQkZJTEVfQ09MTEVDVElPTlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVfQ09MTEVDVElPTlMnPjxnbG9zc3Rlcm0+QkJGSUxFX0NPTExFQ1RJT05TPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+TGlzdHMgdGhlIG5hbWVzIG9mIGNvbmZpZ3VyZWQgbGF5ZXJzLgogICAgICAgICAgICAgICAgICAgICBUaGVzZSBuYW1lcyBhcmUgdXNlZCB0byBmaW5kIHRoZSBvdGhlciA8ZmlsZW5hbWU+QkJGSUxFXyo8L2ZpbGVuYW1lPgpAQCAtMTA1MywxMCArMTA1MywxMCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJGSUxFX1BBVFRFUk4nPjxnbG9zc3Rlcm0+QkJGSUxFX1BBVFRFUk48L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVfUEFUVEVSTic+PGdsb3NzdGVybT5CQkZJTEVfUEFUVEVSTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlZhcmlhYmxlIHRoYXQgZXhwYW5kcyB0byBtYXRjaCBmaWxlcyBmcm9tCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVTJz48ZmlsZW5hbWU+QkJGSUxFUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJGSUxFUyc+PGZpbGVuYW1lPkJCRklMRVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgaW4gYSBwYXJ0aWN1bGFyIGxheWVyLgogICAgICAgICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGlzIHVzZWQgaW4gdGhlIDxmaWxlbmFtZT5jb25mL2xheWVyLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIGFuZCBtdXN0CiAgICAgICAgICAgICAgICAgICAgIGJlIHN1ZmZpeGVkIHdpdGggdGhlIG5hbWUgb2YgdGhlIHNwZWNpZmljIGxheWVyIChlLmcuCkBAIC0xMDY0LDcgKzEwNjQsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJGSUxFX1BSSU9SSVRZJz48Z2xvc3N0ZXJtPkJCRklMRV9QUklPUklUWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCRklMRV9QUklPUklUWSc+PGdsb3NzdGVybT5CQkZJTEVfUFJJT1JJVFk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5Bc3NpZ25zIHRoZSBwcmlvcml0eSBmb3IgcmVjaXBlIGZpbGVzIGluIGVhY2ggbGF5ZXIuPC9wYXJhPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoaXMgdmFyaWFibGUgaXMgdXNlZnVsIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHNhbWUgcmVjaXBlIGFwcGVhcnMgaW4KQEAgLTEwNzQsNyArMTA3NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGxldHRpbmcgeW91IGNvbnRyb2wgdGhlIHByZWNlZGVuY2UgZm9yIHRoZSBtdWx0aXBsZSBsYXllcnMuCiAgICAgICAgICAgICAgICAgICAgIFRoZSBwcmVjZWRlbmNlIGVzdGFibGlzaGVkIHRocm91Z2ggdGhpcyB2YXJpYWJsZSBzdGFuZHMgcmVnYXJkbGVzcyBvZiBhCiAgICAgICAgICAgICAgICAgICAgIHJlY2lwZSdzIHZlcnNpb24KLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlKS4KKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+IHZhcmlhYmxlKS4KICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGEgbGF5ZXIgdGhhdCBoYXMgYSByZWNpcGUgd2l0aCBhIGhpZ2hlciA8ZmlsZW5hbWU+UFY8L2ZpbGVuYW1lPiB2YWx1ZSBidXQgZm9yCiAgICAgICAgICAgICAgICAgICAgIHdoaWNoIHRoZSA8ZmlsZW5hbWU+QkJGSUxFX1BSSU9SSVRZPC9maWxlbmFtZT4gaXMgc2V0IHRvIGhhdmUgYSBsb3dlciBwcmVjZWRlbmNlIHN0aWxsIGhhcyBhCiAgICAgICAgICAgICAgICAgICAgIGxvd2VyIHByZWNlZGVuY2UuPC9wYXJhPgpAQCAtMTA4Myw3ICsxMDgzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIHRoZSB2YWx1ZSA2IGhhcyBhIGhpZ2hlciBwcmVjZWRlbmNlIHRoYW4gdGhlIHZhbHVlIDUuCiAgICAgICAgICAgICAgICAgICAgIElmIG5vdCBzcGVjaWZpZWQsIHRoZSA8ZmlsZW5hbWU+QkJGSUxFX1BSSU9SSVRZPC9maWxlbmFtZT4gdmFyaWFibGUgaXMgc2V0IGJhc2VkIG9uIGxheWVyCiAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyAoc2VlIHRoZQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLUxBWUVSREVQRU5EUyc+TEFZRVJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+IHZhcmlhYmxlIGZvcgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLUxBWUVSREVQRU5EUyc+TEFZRVJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+IHZhcmlhYmxlIGZvcgogICAgICAgICAgICAgICAgICAgICBtb3JlIGluZm9ybWF0aW9uLgogICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBwcmlvcml0eSwgaWYgdW5zcGVjaWZpZWQKICAgICAgICAgICAgICAgICAgICAgZm9yIGEgbGF5ZXIgd2l0aCBubyBkZXBlbmRlbmNpZXMsIGlzIHRoZSBsb3dlc3QgZGVmaW5lZCBwcmlvcml0eSArIDEKQEAgLTEwOTUsNyArMTA5NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQkZJTEVTJz48Z2xvc3N0ZXJtPkJCRklMRVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkZJTEVTJz48Z2xvc3N0ZXJtPkJCRklMRVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiByZWNpcGUgZmlsZXMgQml0QmFrZSB1c2VzIHRvCkBAIC0xMTEzLDcgKzExMTMsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJJTkNMVURFRCc+PGdsb3NzdGVybT5CQklOQ0xVREVEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJJTkNMVURFRCc+PGdsb3NzdGVybT5CQklOQ0xVREVEPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIENvbnRhaW5zIGEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgYWxsIG9mIGFsbCBmaWxlcyB0aGF0CkBAIC0xMTIzLDcgKzExMjMsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJJTkNMVURFTE9HUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJJTkNMVURFTE9HUyc+PGdsb3NzdGVybT5CQklOQ0xVREVMT0dTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIElmIHNldCB0byBhIHZhbHVlLCBlbmFibGVzIHByaW50aW5nIHRoZSB0YXNrIGxvZyB3aGVuCkBAIC0xMTMyLDExICsxMTMyLDExIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQklOQ0xVREVMT0dTX0xJTkVTJz48Z2xvc3N0ZXJtPkJCSU5DTFVERUxPR1NfTElORVM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQklOQ0xVREVMT0dTX0xJTkVTJz48Z2xvc3N0ZXJtPkJCSU5DTFVERUxPR1NfTElORVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgSWYKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCSU5DTFVERUxPR1MnPjxmaWxlbmFtZT5CQklOQ0xVREVMT0dTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQklOQ0xVREVMT0dTJz48ZmlsZW5hbWU+QkJJTkNMVURFTE9HUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBpcyBzZXQsIHNwZWNpZmllcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgZnJvbSB0aGUKICAgICAgICAgICAgICAgICAgICAgdGFzayBsb2cgZmlsZSB0byBwcmludCB3aGVuIHJlcG9ydGluZyBhIGZhaWxlZCB0YXNrLgogICAgICAgICAgICAgICAgICAgICBJZiB5b3UgZG8gbm90IHNldCA8ZmlsZW5hbWU+QkJJTkNMVURFTE9HU19MSU5FUzwvZmlsZW5hbWU+LApAQCAtMTE0NSw3ICsxMTQ1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTEFZRVJTJz48Z2xvc3N0ZXJtPkJCTEFZRVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJMQVlFUlMnPjxnbG9zc3Rlcm0+QkJMQVlFUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5MaXN0cyB0aGUgbGF5ZXJzIHRvIGVuYWJsZSBkdXJpbmcgdGhlIGJ1aWxkLgogICAgICAgICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGlzIGRlZmluZWQgaW4gdGhlIDxmaWxlbmFtZT5iYmxheWVycy5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgpAQCAtMTE2Niw3ICsxMTY2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJCTEFZRVJTX0ZFVENIX0RJUic+PGdsb3NzdGVybT5CQkxBWUVSU19GRVRDSF9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQkxBWUVSU19GRVRDSF9ESVInPjxnbG9zc3Rlcm0+QkJMQVlFUlNfRkVUQ0hfRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNldHMgdGhlIGJhc2UgbG9jYXRpb24gd2hlcmUgbGF5ZXJzIGFyZSBzdG9yZWQuCkBAIC0xMTc4LDcgKzExNzgsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJNQVNLJz48Z2xvc3N0ZXJtPkJCTUFTSzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCTUFTSyc+PGdsb3NzdGVybT5CQk1BU0s8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgUHJldmVudHMgQml0QmFrZSBmcm9tIHByb2Nlc3NpbmcgcmVjaXBlcyBhbmQgcmVjaXBlCkBAIC0xMjM2LDcgKzEyMzYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJNVUxUSUNPTkZJRyc+PGdsb3NzdGVybT5CQk1VTFRJQ09ORklHPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJNVUxUSUNPTkZJRyc+PGdsb3NzdGVybT5CQk1VTFRJQ09ORklHPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBCQk1VTFRJQ09ORklHW2RvY10gPSAiRW5hYmxlcyBCaXRCYWtlIHRvIHBlcmZvcm0gbXVsdGlwbGUgY29uZmlndXJhdGlvbiBidWlsZHMgYW5kIGxpc3RzIGVhY2ggc2VwYXJhdGUgY29uZmlndXJhdGlvbiAobXVsdGljb25maWcpLiIKICAgICAgICAgICAgIDwvaW5mbz4KQEAgLTEyNzUsNyArMTI3NSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQlBBVEgnPjxnbG9zc3Rlcm0+QkJQQVRIPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItQkJQQVRIJz48Z2xvc3N0ZXJtPkJCUEFUSDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBVc2VkIGJ5IEJpdEJha2UgdG8gbG9jYXRlIGNsYXNzCkBAIC0xMzAyLDcgKzEzMDIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJTRVJWRVInPjxnbG9zc3Rlcm0+QkJTRVJWRVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQlNFUlZFUic+PGdsb3NzdGVybT5CQlNFUlZFUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIHNlcnZlciB0aGF0IHJ1bnMgbWVtb3J5LXJlc2lkZW50IEJpdEJha2UuCkBAIC0xMzEyLDcgKzEzMTIsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQkJUQVJHRVRTJz48Z2xvc3N0ZXJtPkJCVEFSR0VUUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJCVEFSR0VUUyc+PGdsb3NzdGVybT5CQlRBUkdFVFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIHlvdSB0byB1c2UgYSBjb25maWd1cmF0aW9uIGZpbGUgdG8gYWRkIHRvIHRoZSBsaXN0CkBAIC0xMzIxLDE0ICsxMzIxLDE0IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CQlZFUlNJT05TJz48Z2xvc3N0ZXJtPkJCVkVSU0lPTlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CQlZFUlNJT05TJz48Z2xvc3N0ZXJtPkJCVkVSU0lPTlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQWxsb3dzIGEgc2luZ2xlIHJlY2lwZSB0byBidWlsZCBtdWx0aXBsZSB2ZXJzaW9ucyBvZiBhCiAgICAgICAgICAgICAgICAgICAgIHByb2plY3QgZnJvbSBhIHNpbmdsZSByZWNpcGUgZmlsZS4KICAgICAgICAgICAgICAgICAgICAgWW91IGFsc28gYWJsZSB0byBzcGVjaWZ5IGNvbmRpdGlvbmFsIG1ldGFkYXRhCiAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1PVkVSUklERVMnPjxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgbWVjaGFuaXNtIGZvciBhIHNpbmdsZSB2ZXJzaW9uIG9yIGZvciBhbiBvcHRpb25hbGx5IG5hbWVkCiAgICAgICAgICAgICAgICAgICAgIHJhbmdlIG9mIHZlcnNpb25zLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KQEAgLTEzNDIsNyArMTM0Miw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1CSVRCQUtFX1VJJz48Z2xvc3N0ZXJtPkJJVEJBS0VfVUk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CSVRCQUtFX1VJJz48Z2xvc3N0ZXJtPkJJVEJBS0VfVUk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVXNlZCB0byBzcGVjaWZ5IHRoZSBVSSBtb2R1bGUgdG8gdXNlIHdoZW4gcnVubmluZyBCaXRCYWtlLgpAQCAtMTM1Niw3ICsxMzU2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUJVSUxETkFNRSc+PGdsb3NzdGVybT5CVUlMRE5BTUU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1CVUlMRE5BTUUnPjxnbG9zc3Rlcm0+QlVJTEROQU1FPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbmFtZSBhc3NpZ25lZCB0byB0aGUgYnVpbGQuCkBAIC0xMzY2LDcgKzEzNjYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQlpSRElSJz48Z2xvc3N0ZXJtPkJaUkRJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUJaUkRJUic+PGdsb3NzdGVybT5CWlJESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBmaWxlcyBjaGVja2VkIG91dCBvZiBhIEJhemFhcgpAQCAtMTM3Nyw5ICsxMzc3LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1jJz48dGl0bGU+QzwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktYyc+PHRpdGxlPkM8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItQ0FDSEUnPjxnbG9zc3Rlcm0+Q0FDSEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1DQUNIRSc+PGdsb3NzdGVybT5DQUNIRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSBCaXRCYWtlIHVzZXMgdG8gc3RvcmUgYSBjYWNoZQpAQCAtMTM4OSw3ICsxMzg5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUNWU0RJUic+PGdsb3NzdGVybT5DVlNESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1DVlNESVInPjxnbG9zc3Rlcm0+Q1ZTRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZmlsZXMgY2hlY2tlZCBvdXQgdW5kZXIgdGhlCkBAIC0xNDAwLDkgKzE0MDAsOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWQnPjx0aXRsZT5EPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1kJz48dGl0bGU+RDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1ERUZBVUxUX1BSRUZFUkVOQ0UnPjxnbG9zc3Rlcm0+REVGQVVMVF9QUkVGRVJFTkNFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItREVGQVVMVF9QUkVGRVJFTkNFJz48Z2xvc3N0ZXJtPkRFRkFVTFRfUFJFRkVSRU5DRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYSB3ZWFrIGJpYXMgZm9yIHJlY2lwZSBzZWxlY3Rpb24gcHJpb3JpdHkuCkBAIC0xNDEzLDIwICsxNDEzLDIwIEBACiAgICAgICAgICAgICAgICAgICAgIHBpZWNlIG9mIHNvZnR3YXJlLgogICAgICAgICAgICAgICAgICAgICBVc2luZyB0aGUgdmFyaWFibGUgaW4gdGhpcyB3YXkgY2F1c2VzIHRoZSBzdGFibGUgdmVyc2lvbgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgcmVjaXBlIHRvIGJ1aWxkIGJ5IGRlZmF1bHQgaW4gdGhlIGFic2VuY2Ugb2YKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1QUkVGRVJSRURfVkVSU0lPTic+UFJFRkVSUkVEX1ZFUlNJT048L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+UFJFRkVSUkVEX1ZFUlNJT048L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgYmVpbmcgdXNlZCB0byBidWlsZCB0aGUgZGV2ZWxvcG1lbnQgdmVyc2lvbi4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBiaWFzIHByb3ZpZGVkIGJ5IDxmaWxlbmFtZT5ERUZBVUxUX1BSRUZFUkVOQ0U8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpcyB3ZWFrIGFuZCBpcyBvdmVycmlkZGVuIGJ5Ci0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItQkJGSUxFX1BSSU9SSVRZJz5CQkZJTEVfUFJJT1JJVFk8L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfUFJJT1JJVFknPkJCRklMRV9QUklPUklUWTwvbGluaz48L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpZiB0aGF0IHZhcmlhYmxlIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHR3byBsYXllcnMKICAgICAgICAgICAgICAgICAgICAgdGhhdCBjb250YWluIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgc2FtZSByZWNpcGUuCiAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItREVQRU5EUyc+PGdsb3NzdGVybT5ERVBFTkRTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItREVQRU5EUyc+PGdsb3NzdGVybT5ERVBFTkRTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIExpc3RzIGEgcmVjaXBlJ3MgYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMKQEAgLTE0NTEsMTMgKzE0NTEsMTMgQEAKIAogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBGb3IgaW5mb3JtYXRpb24gb24gcnVudGltZSBkZXBlbmRlbmNpZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVJERVBFTkRTJz48ZmlsZW5hbWU+UkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItREVTQ1JJUFRJT04nPjxnbG9zc3Rlcm0+REVTQ1JJUFRJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1ERVNDUklQVElPTic+PGdsb3NzdGVybT5ERVNDUklQVElPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIGxvbmcgZGVzY3JpcHRpb24gZm9yIHRoZSByZWNpcGUuCkBAIC0xNDY1LDcgKzE0NjUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRExfRElSJz48Z2xvc3N0ZXJtPkRMX0RJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLURMX0RJUic+PGdsb3NzdGVybT5ETF9ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGNlbnRyYWwgZG93bmxvYWQgZGlyZWN0b3J5IHVzZWQgYnkgdGhlIGJ1aWxkIHByb2Nlc3MgdG8KQEAgLTE0NzQsNyArMTQ3NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHN1aXRhYmxlIGZvciBtaXJyb3JpbmcgZm9yIGV2ZXJ5dGhpbmcgZXhjZXB0IEdpdAogICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3JpZXMuCiAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IHRhcmJhbGxzIG9mIEdpdCByZXBvc2l0b3JpZXMsIHVzZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGZpbGVuYW1lPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTJz48ZmlsZW5hbWU+QkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CkBAIC0xNDgyLDkgKzE0ODIsOSBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWUnPjx0aXRsZT5FPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1lJz48dGl0bGU+RTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1FWENMVURFX0ZST01fV09STEQnPjxnbG9zc3Rlcm0+RVhDTFVERV9GUk9NX1dPUkxEPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRVhDTFVERV9GUk9NX1dPUkxEJz48Z2xvc3N0ZXJtPkVYQ0xVREVfRlJPTV9XT1JMRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEaXJlY3RzIEJpdEJha2UgdG8gZXhjbHVkZSBhIHJlY2lwZSBmcm9tIHdvcmxkIGJ1aWxkcyAoaS5lLgpAQCAtMTUxMiw5ICsxNTEyLDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1mJz48dGl0bGU+RjwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktZic+PHRpdGxlPkY8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1QnPjxnbG9zc3Rlcm0+RkFLRVJPT1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVCc+PGdsb3NzdGVybT5GQUtFUk9PVDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIGNvbW1hbmQgdG8gdXNlIHdoZW4gcnVubmluZyBhIHNoZWxsIHNjcmlwdApAQCAtMTUyNywxOSArMTUyNywxOSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RCQVNFRU5WJz48Z2xvc3N0ZXJtPkZBS0VST09UQkFTRUVOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UQkFTRUVOVic+PGdsb3NzdGVybT5GQUtFUk9PVEJBU0VFTlY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgIExpc3RzIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgd2hlbiBleGVjdXRpbmcKICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21tYW5kIGRlZmluZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVENNRCc+PGZpbGVuYW1lPkZBS0VST09UQ01EPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1RDTUQnPjxmaWxlbmFtZT5GQUtFUk9PVENNRDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgdGhhdCBzdGFydHMgdGhlIGJpdGJha2Utd29ya2VyIHByb2Nlc3MKICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBmYWtlcm9vdCBlbnZpcm9ubWVudC4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GQUtFUk9PVENNRCc+PGdsb3NzdGVybT5GQUtFUk9PVENNRDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UQ01EJz48Z2xvc3N0ZXJtPkZBS0VST09UQ01EPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgICBDb250YWlucyB0aGUgY29tbWFuZCB0aGF0IHN0YXJ0cyB0aGUgYml0YmFrZS13b3JrZXIKQEAgLTE1NDgsNyArMTU0OCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1GQUtFUk9PVERJUlMnPjxnbG9zc3Rlcm0+RkFLRVJPT1RESVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRkFLRVJPT1RESVJTJz48Z2xvc3N0ZXJtPkZBS0VST09URElSUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZGlyZWN0b3JpZXMgdG8gY3JlYXRlIGJlZm9yZSBydW5uaW5nIGEgdGFzayBpbgpAQCAtMTU1NywzMyArMTU1NywzMyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkFLRVJPT1RFTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1RFTlY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GQUtFUk9PVEVOVic+PGdsb3NzdGVybT5GQUtFUk9PVEVOVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCB3aGVuIHJ1bm5pbmcgYSB0YXNrCiAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgICAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kCiAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVEJBU0VFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEJBU0VFTlY8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1GQUtFUk9PVEJBU0VFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEJBU0VFTlY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZBS0VST09UTk9FTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1ROT0VOVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUZBS0VST09UTk9FTlYnPjxnbG9zc3Rlcm0+RkFLRVJPT1ROT0VOVjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgTGlzdHMgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCB3aGVuIHJ1bm5pbmcgYSB0YXNrCiAgICAgICAgICAgICAgICAgICAgICB0aGF0IGlzIG5vdCBpbiB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgICAgICAgICBGb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kCiAgICAgICAgICAgICAgICAgICAgICB0aGUgZmFrZXJvb3QgZW52aXJvbm1lbnQsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GQUtFUk9PVEVOVic+PGZpbGVuYW1lPkZBS0VST09URU5WPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItRkFLRVJPT1RFTlYnPjxmaWxlbmFtZT5GQUtFUk9PVEVOVjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRkVUQ0hDTUQnPjxnbG9zc3Rlcm0+RkVUQ0hDTUQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GRVRDSENNRCc+PGdsb3NzdGVybT5GRVRDSENNRDwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBEZWZpbmVzIHRoZSBjb21tYW5kIHRoZSBCaXRCYWtlIGZldGNoZXIgbW9kdWxlCkBAIC0xNTk1LDcgKzE1OTUsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRklMRSc+PGdsb3NzdGVybT5GSUxFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItRklMRSc+PGdsb3NzdGVybT5GSUxFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFBvaW50cyBhdCB0aGUgY3VycmVudCBmaWxlLgpAQCAtMTYwNyw3ICsxNjA3LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUZJTEVTUEFUSCc+PGdsb3NzdGVybT5GSUxFU1BBVEg8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1GSUxFU1BBVEgnPjxnbG9zc3Rlcm0+RklMRVNQQVRIPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyBkaXJlY3RvcmllcyBCaXRCYWtlIHVzZXMgd2hlbiBzZWFyY2hpbmcgZm9yCkBAIC0xNjI1LDkgKzE2MjUsOSBAQAogICAgIDwvZ2xvc3NkaXY+CiAKIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWcnPjx0aXRsZT5HPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1nJz48dGl0bGU+RzwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1HSVRESVInPjxnbG9zc3Rlcm0+R0lURElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItR0lURElSJz48Z2xvc3N0ZXJtPkdJVERJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGEgbG9jYWwgY29weSBvZiBhIEdpdCByZXBvc2l0b3J5CkBAIC0xNjM5LDkgKzE2MzksOSBAQAogICAgIDwvZ2xvc3NkaXY+CiAKIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWgnPjx0aXRsZT5IPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1oJz48dGl0bGU+SDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1IR0RJUic+PGdsb3NzdGVybT5IR0RJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUhHRElSJz48Z2xvc3N0ZXJtPkhHRElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggZmlsZXMgY2hlY2tlZCBvdXQgb2YgYSBNZXJjdXJpYWwKQEAgLTE2NTAsNyArMTY1MCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1IT01FUEFHRSc+PGdsb3NzdGVybT5IT01FUEFHRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUhPTUVQQUdFJz48Z2xvc3N0ZXJtPkhPTUVQQUdFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+V2Vic2l0ZSB3aGVyZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzb2Z0d2FyZSB0aGUgcmVjaXBlIGlzIGJ1aWxkaW5nCiAgICAgICAgICAgICAgICAgICAgIGNhbiBiZSBmb3VuZC48L3BhcmE+CkBAIC0xNjU5LDkgKzE2NTksOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LWknPjx0aXRsZT5JPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1pJz48dGl0bGU+STwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1JTkhFUklUJz48Z2xvc3N0ZXJtPklOSEVSSVQ8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1JTkhFUklUJz48Z2xvc3N0ZXJtPklOSEVSSVQ8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQ2F1c2VzIHRoZSBuYW1lZCBjbGFzcyBvciBjbGFzc2VzIHRvIGJlIGluaGVyaXRlZCBnbG9iYWxseS4KQEAgLTE2OTEsMTUgKzE2OTEsMTUgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1sJz48dGl0bGU+TDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktbCc+PHRpdGxlPkw8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJERVBFTkRTJz48Z2xvc3N0ZXJtPkxBWUVSREVQRU5EUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUxBWUVSREVQRU5EUyc+PGdsb3NzdGVybT5MQVlFUkRFUEVORFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5MaXN0cyB0aGUgbGF5ZXJzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLCB1cG9uIHdoaWNoIHRoaXMgcmVjaXBlIGRlcGVuZHMuCiAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsbHksIHlvdSBjYW4gc3BlY2lmeSBhIHNwZWNpZmljIGxheWVyIHZlcnNpb24gZm9yIGEgZGVwZW5kZW5jeQogICAgICAgICAgICAgICAgICAgICBieSBhZGRpbmcgaXQgdG8gdGhlIGVuZCBvZiB0aGUgbGF5ZXIgbmFtZSB3aXRoIGEgY29sb24sIChlLmcuICJhbm90aGVybGF5ZXI6MyIKICAgICAgICAgICAgICAgICAgICAgdG8gYmUgY29tcGFyZWQgYWdhaW5zdAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTEFZRVJWRVJTSU9OJz48ZmlsZW5hbWU+TEFZRVJWRVJTSU9OPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPl9hbm90aGVybGF5ZXI8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItTEFZRVJWRVJTSU9OJz48ZmlsZW5hbWU+TEFZRVJWRVJTSU9OPC9maWxlbmFtZT48L2xpbms+PGZpbGVuYW1lPl9hbm90aGVybGF5ZXI8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpbiB0aGlzIGNhc2UpLgogICAgICAgICAgICAgICAgICAgICBCaXRCYWtlIHByb2R1Y2VzIGFuIGVycm9yIGlmIGFueSBkZXBlbmRlbmN5IGlzIG1pc3Npbmcgb3IKICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcnNpb24gbnVtYmVycyBkbyBub3QgbWF0Y2ggZXhhY3RseSAoaWYgc3BlY2lmaWVkKS48L3BhcmE+CkBAIC0xNzEwLDcgKzE3MTAsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJESVInPjxnbG9zc3Rlcm0+TEFZRVJESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MQVlFUkRJUic+PGdsb3NzdGVybT5MQVlFUkRJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPldoZW4gdXNlZCBpbnNpZGUgdGhlIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBmaWxlLCB0aGlzIHZhcmlhYmxlIHByb3ZpZGVzIHRoZSBwYXRoIG9mIHRoZSBjdXJyZW50IGxheWVyLgpAQCAtMTcxOSwyMiArMTcxOSwyMiBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItTEFZRVJESVJfUkUnPjxnbG9zc3Rlcm0+TEFZRVJESVJfUkU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1MQVlFUkRJUl9SRSc+PGdsb3NzdGVybT5MQVlFUkRJUl9SRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPldoZW4gdXNlZCBpbnNpZGUgdGhlIDxmaWxlbmFtZT5sYXllci5jb25mPC9maWxlbmFtZT4gY29uZmlndXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBmaWxlLCB0aGlzIHZhcmlhYmxlIHByb3ZpZGVzIHRoZSBwYXRoIG9mIHRoZSBjdXJyZW50IGxheWVyLAogICAgICAgICAgICAgICAgICAgICBlc2NhcGVkIGZvciB1c2UgaW4gYSByZWd1bGFyIGV4cHJlc3Npb24KLSAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1CQkZJTEVfUEFUVEVSTic+PGZpbGVuYW1lPkJCRklMRV9QQVRURVJOPC9maWxlbmFtZT48L2xpbms+KS4KKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1CQkZJTEVfUEFUVEVSTic+PGZpbGVuYW1lPkJCRklMRV9QQVRURVJOPC9maWxlbmFtZT48L2xpbms+KS4KICAgICAgICAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBpcyBub3QgYXZhaWxhYmxlIG91dHNpZGUgb2YgPGZpbGVuYW1lPmxheWVyLmNvbmY8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBhbmQgcmVmZXJlbmNlcyBhcmUgZXhwYW5kZWQgaW1tZWRpYXRlbHkgd2hlbiBwYXJzaW5nIG9mIHRoZSBmaWxlIGNvbXBsZXRlcy48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1MQVlFUlZFUlNJT04nPjxnbG9zc3Rlcm0+TEFZRVJWRVJTSU9OPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItTEFZRVJWRVJTSU9OJz48Z2xvc3N0ZXJtPkxBWUVSVkVSU0lPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPk9wdGlvbmFsbHkgc3BlY2lmaWVzIHRoZSB2ZXJzaW9uIG9mIGEgbGF5ZXIgYXMgYSBzaW5nbGUgbnVtYmVyLgogICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIHVzZSB0aGlzIHZhcmlhYmxlIHdpdGhpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTEFZRVJERVBFTkRTJz48ZmlsZW5hbWU+TEFZRVJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1MQVlFUkRFUEVORFMnPjxmaWxlbmFtZT5MQVlFUkRFUEVORFM8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgZm9yIGFub3RoZXIgbGF5ZXIgaW4gb3JkZXIgdG8gZGVwZW5kIG9uIGEgc3BlY2lmaWMgdmVyc2lvbgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgbGF5ZXIuPC9wYXJhPgogICAgICAgICAgICAgICAgIDxwYXJhPgpAQCAtMTc0NCw3ICsxNzQ0LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUxJQ0VOU0UnPjxnbG9zc3Rlcm0+TElDRU5TRTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLUxJQ0VOU0UnPjxnbG9zc3Rlcm0+TElDRU5TRTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgbGlzdCBvZiBzb3VyY2UgbGljZW5zZXMgZm9yIHRoZSByZWNpcGUuCkBAIC0xNzU0LDkgKzE3NTQsOSBAQAogCiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LW0nPjx0aXRsZT5NPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1tJz48dGl0bGU+TTwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1NSVJST1JTJz48Z2xvc3N0ZXJtPk1JUlJPUlM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1NSVJST1JTJz48Z2xvc3N0ZXJtPk1JUlJPUlM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGFkZGl0aW9uYWwgcGF0aHMgZnJvbSB3aGljaCBCaXRCYWtlIGdldHMgc291cmNlIGNvZGUuCkBAIC0xNzY0LDE0ICsxNzY0LDE0IEBACiAgICAgICAgICAgICAgICAgICAgIHRyaWVzIHRoZSBsb2NhbCBkb3dubG9hZCBkaXJlY3RvcnkuCiAgICAgICAgICAgICAgICAgICAgIElmIHRoYXQgbG9jYXRpb24gZmFpbHMsIHRoZSBidWlsZCBzeXN0ZW0gdHJpZXMgbG9jYXRpb25zCiAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVBSRU1JUlJPUlMnPjxmaWxlbmFtZT5QUkVNSVJST1JTPC9maWxlbmFtZT48L2xpbms+LAorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFTUlSUk9SUyc+PGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4sCiAgICAgICAgICAgICAgICAgICAgIHRoZSB1cHN0cmVhbSBzb3VyY2UsIGFuZCB0aGVuIGxvY2F0aW9ucyBzcGVjaWZpZWQgYnkKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPiBpbiB0aGF0IG9yZGVyLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLU1VTFRJX1BST1ZJREVSX1dISVRFTElTVCc+PGdsb3NzdGVybT5NVUxUSV9QUk9WSURFUl9XSElURUxJU1Q8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1NVUxUSV9QUk9WSURFUl9XSElURUxJU1QnPjxnbG9zc3Rlcm0+TVVMVElfUFJPVklERVJfV0hJVEVMSVNUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEFsbG93cyB5b3UgdG8gc3VwcHJlc3MgQml0QmFrZSB3YXJuaW5ncyBjYXVzZWQgd2hlbgpAQCAtMTgwNCw5ICsxODA0LDkgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1vJz48dGl0bGU+TzwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3Nhcnktbyc+PHRpdGxlPk88L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItT1ZFUlJJREVTJz48Z2xvc3N0ZXJtPk9WRVJSSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLU9WRVJSSURFUyc+PGdsb3NzdGVybT5PVkVSUklERVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQml0QmFrZSB1c2VzIDxmaWxlbmFtZT5PVkVSUklERVM8L2ZpbGVuYW1lPiB0byBjb250cm9sCkBAIC0xODI5LDkgKzE4MjksOSBAQAogICAgICAgICA8L2dsb3NzZW50cnk+CiAgICAgPC9nbG9zc2Rpdj4KIAotICAgIDxnbG9zc2RpdiBpZD0ndmFyLWdsb3NzYXJ5LXAnPjx0aXRsZT5QPC90aXRsZT4KKyAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1iYi1nbG9zc2FyeS1wJz48dGl0bGU+UDwvdGl0bGU+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QNERJUic+PGdsb3NzdGVybT5QNERJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVA0RElSJz48Z2xvc3N0ZXJtPlA0RElSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBkaXJlY3RvcnkgaW4gd2hpY2ggYSBsb2NhbCBjb3B5IG9mIGEgUGVyZm9yY2UgZGVwb3QKQEAgLTE4NDAsMTQgKzE4NDAsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBBQ0tBR0VTJz48Z2xvc3N0ZXJtPlBBQ0tBR0VTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEFDS0FHRVMnPjxnbG9zc3Rlcm0+UEFDS0FHRVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT5UaGUgbGlzdCBvZiBwYWNrYWdlcyB0aGUgcmVjaXBlIGNyZWF0ZXMuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEFDS0FHRVNfRFlOQU1JQyc+PGdsb3NzdGVybT5QQUNLQUdFU19EWU5BTUlDPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEFDS0FHRVNfRFlOQU1JQyc+PGdsb3NzdGVybT5QQUNLQUdFU19EWU5BTUlDPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgcHJvbWlzZSB0aGF0IHlvdXIgcmVjaXBlIHNhdGlzZmllcyBydW50aW1lIGRlcGVuZGVuY2llcwpAQCAtMTg1Niw3ICsxODU2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgZG9lcyBub3QgYWN0dWFsbHkgc2F0aXNmeSB0aGUgZGVwZW5kZW5jaWVzLCBpdCBvbmx5IHN0YXRlcyB0aGF0CiAgICAgICAgICAgICAgICAgICAgIHRoZXkgc2hvdWxkIGJlIHNhdGlzZmllZC4KICAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGlmIGEgaGFyZCwgcnVudGltZSBkZXBlbmRlbmN5Ci0gICAgICAgICAgICAgICAgICAgICg8bGluayBsaW5rZW5kPSd2YXItUkRFUEVORFMnPjxmaWxlbmFtZT5SREVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPikKKyAgICAgICAgICAgICAgICAgICAgKDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+PGZpbGVuYW1lPlJERVBFTkRTPC9maWxlbmFtZT48L2xpbms+KQogICAgICAgICAgICAgICAgICAgICBvZiBhbm90aGVyIHBhY2thZ2UgaXMgc2F0aXNmaWVkIGR1cmluZyB0aGUgYnVpbGQKICAgICAgICAgICAgICAgICAgICAgdGhyb3VnaCB0aGUgPGZpbGVuYW1lPlBBQ0tBR0VTX0RZTkFNSUM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSwgYnV0IGEgcGFja2FnZSB3aXRoIHRoZSBtb2R1bGUgbmFtZSBpcyBuZXZlciBhY3R1YWxseQpAQCAtMTg2NSw3ICsxODY1LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBFJz48Z2xvc3N0ZXJtPlBFPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUEUnPjxnbG9zc3Rlcm0+UEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGVwb2NoIG9mIHRoZSByZWNpcGUuCkBAIC0xODc3LDcgKzE4NzcsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEVSU0lTVEVOVF9ESVInPjxnbG9zc3Rlcm0+UEVSU0lTVEVOVF9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QRVJTSVNURU5UX0RJUic+PGdsb3NzdGVybT5QRVJTSVNURU5UX0RJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSBCaXRCYWtlIHVzZXMgdG8gc3RvcmUgZGF0YSB0aGF0CkBAIC0xODg5LDcgKzE4ODksNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUEYnPjxnbG9zc3Rlcm0+UEY8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QRic+PGdsb3NzdGVybT5QRjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIHJlY2lwZSBvciBwYWNrYWdlIG5hbWUgYW5kIGluY2x1ZGVzIGFsbCB2ZXJzaW9uIGFuZCByZXZpc2lvbgpAQCAtMTg5OSwyNyArMTg5OSwyNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUE4nPjxnbG9zc3Rlcm0+UE48L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QTic+PGdsb3NzdGVybT5QTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSByZWNpcGUgbmFtZS48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUic+PGdsb3NzdGVybT5QUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSJz48Z2xvc3N0ZXJtPlBSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+VGhlIHJldmlzaW9uIG9mIHRoZSByZWNpcGUuCiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRUZFUlJFRF9QUk9WSURFUic+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUkVGRVJSRURfUFJPVklERVInPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1BST1ZJREVSPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERldGVybWluZXMgd2hpY2ggcmVjaXBlIHNob3VsZCBiZSBnaXZlbiBwcmVmZXJlbmNlIHdoZW4KICAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgcmVjaXBlcyBwcm92aWRlIHRoZSBzYW1lIGl0ZW0uCiAgICAgICAgICAgICAgICAgICAgIFlvdSBzaG91bGQgYWx3YXlzIHN1ZmZpeCB0aGUgdmFyaWFibGUgd2l0aCB0aGUgbmFtZSBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZWQgaXRlbSwgYW5kIHlvdSBzaG91bGQgc2V0IGl0IHRvIHRoZQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUE4nPjxmaWxlbmFtZT5QTjwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICBvZiB0aGUgcmVjaXBlIHRvIHdoaWNoIHlvdSB3YW50IHRvIGdpdmUgcHJlY2VkZW5jZS4KICAgICAgICAgICAgICAgICAgICAgU29tZSBleGFtcGxlczoKICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgpAQCAtMTkzMSwxNCArMTkzMSwxNCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJFRkVSUkVEX1BST1ZJREVSUyc+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVJTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUFJFRkVSUkVEX1BST1ZJREVSUyc+PGdsb3NzdGVybT5QUkVGRVJSRURfUFJPVklERVJTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIERldGVybWluZXMgd2hpY2ggcmVjaXBlIHNob3VsZCBiZSBnaXZlbiBwcmVmZXJlbmNlIGZvcgogICAgICAgICAgICAgICAgICAgICBjYXNlcyB3aGVyZSBtdWx0aXBsZSByZWNpcGVzIHByb3ZpZGUgdGhlIHNhbWUgaXRlbS4KICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25hbGx5LAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSUzwvZmlsZW5hbWU+IGlzIGlkZW50aWNhbCB0bwotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItUFJFRkVSUkVEX1BST1ZJREVSJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSPC9maWxlbmFtZT48L2xpbms+LgorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItYmItUFJFRkVSUkVEX1BST1ZJREVSJz48ZmlsZW5hbWU+UFJFRkVSUkVEX1BST1ZJREVSPC9maWxlbmFtZT48L2xpbms+LgogICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB0aGUgPGZpbGVuYW1lPlBSRUZFUlJFRF9QUk9WSURFUlM8L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZSBsZXRzIHlvdSBkZWZpbmUgcHJlZmVyZW5jZXMgZm9yIG11bHRpcGxlCiAgICAgICAgICAgICAgICAgICAgIHNpdHVhdGlvbnMgdXNpbmcgdGhlIGZvbGxvd2luZyBmb3JtOgpAQCAtMTk1NCwxNSArMTk1NCwxNSBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUFJFRkVSUkVEX1ZFUlNJT04nPjxnbG9zc3Rlcm0+UFJFRkVSUkVEX1ZFUlNJT048L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1QUkVGRVJSRURfVkVSU0lPTic+PGdsb3NzdGVybT5QUkVGRVJSRURfVkVSU0lPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgdmVyc2lvbnMgb2YgcmVjaXBlcyBhdmFpbGFibGUsIHRoaXMKICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgZGV0ZXJtaW5lcyB3aGljaCByZWNpcGUgc2hvdWxkIGJlIGdpdmVuIHByZWZlcmVuY2UuCiAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IGFsd2F5cyBzdWZmaXggdGhlIHZhcmlhYmxlIHdpdGggdGhlCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QTic+PGZpbGVuYW1lPlBOPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHlvdSB3YW50IHRvIHNlbGVjdCwgYW5kIHlvdSBzaG91bGQgc2V0Ci0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QVic+PGZpbGVuYW1lPlBWPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGFjY29yZGluZ2x5IGZvciBwcmVjZWRlbmNlLgogICAgICAgICAgICAgICAgIDwvcGFyYT4KIApAQCAtMTk4OSw3ICsxOTg5LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVBSRU1JUlJPUlMnPjxnbG9zc3Rlcm0+UFJFTUlSUk9SUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSRU1JUlJPUlMnPjxnbG9zc3Rlcm0+UFJFTUlSUk9SUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYWRkaXRpb25hbCBwYXRocyBmcm9tIHdoaWNoIEJpdEJha2UgZ2V0cyBzb3VyY2UgY29kZS4KQEAgLTE5OTgsNyArMTk5OCw3IEBACiAgICAgICAgICAgICAgICAgICAgIElmIHRoYXQgbG9jYXRpb24gZmFpbHMsIHRoZSBidWlsZCBzeXN0ZW0gdHJpZXMgbG9jYXRpb25zCiAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkgPGZpbGVuYW1lPlBSRU1JUlJPUlM8L2ZpbGVuYW1lPiwgdGhlIHVwc3RyZWFtCiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSwgYW5kIHRoZW4gbG9jYXRpb25zIHNwZWNpZmllZCBieQotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItTUlSUk9SUyc+PGZpbGVuYW1lPk1JUlJPUlM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLU1JUlJPUlMnPjxmaWxlbmFtZT5NSVJST1JTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIGluIHRoYXQgb3JkZXIuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMDIyLDIwICsyMDIyLDIwIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUk9WSURFUyc+PGdsb3NzdGVybT5QUk9WSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBST1ZJREVTJz48Z2xvc3N0ZXJtPlBST1ZJREVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEEgbGlzdCBvZiBhbGlhc2VzIGJ5IHdoaWNoIGEgcGFydGljdWxhciByZWNpcGUgY2FuIGJlCiAgICAgICAgICAgICAgICAgICAgIGtub3duLgogICAgICAgICAgICAgICAgICAgICBCeSBkZWZhdWx0LCBhIHJlY2lwZSdzIG93bgotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVBOJz5QTjwvbGluaz48L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLVBOJz5QTjwvbGluaz48L2ZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICBpcyBpbXBsaWNpdGx5IGFscmVhZHkgaW4gaXRzIDxmaWxlbmFtZT5QUk9WSURFUzwvZmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgIGxpc3QuCiAgICAgICAgICAgICAgICAgICAgIElmIGEgcmVjaXBlIHVzZXMgPGZpbGVuYW1lPlBST1ZJREVTPC9maWxlbmFtZT4sIHRoZQogICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsIGFsaWFzZXMgYXJlIHN5bm9ueW1zIGZvciB0aGUgcmVjaXBlIGFuZCBjYW4KICAgICAgICAgICAgICAgICAgICAgYmUgdXNlZnVsIHNhdGlzZnlpbmcgZGVwZW5kZW5jaWVzIG9mIG90aGVyIHJlY2lwZXMgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgIHRoZSBidWlsZCBhcyBzcGVjaWZpZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1ERVBFTkRTJz5ERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLWJiLURFUEVORFMnPkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC0yMDU5LDcgKzIwNTksNyBAQAogICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsIHRhcmdldCBpbiA8ZmlsZW5hbWU+UFJPVklERVM8L2ZpbGVuYW1lPi4KICAgICAgICAgICAgICAgICAgICAgUmVjaXBlcyB0aGF0IGRlcGVuZCBvbiB0aGUgZnVuY3Rpb25hbGl0eSBpbiBxdWVzdGlvbiBjYW4KICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZSB0aGUgdmlydHVhbCB0YXJnZXQgaW4KLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB0byBsZWF2ZSB0aGUgY2hvaWNlIG9mIHByb3ZpZGVyIG9wZW4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMDcyLDExICsyMDcyLDExIEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QUlNFUlZfSE9TVCc+PGdsb3NzdGVybT5QUlNFUlZfSE9TVDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBSU0VSVl9IT1NUJz48Z2xvc3N0ZXJtPlBSU0VSVl9IT1NUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXR3b3JrIGJhc2VkCi0gICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1QUic+PGZpbGVuYW1lPlBSPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UgaG9zdCBhbmQgcG9ydC4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAKQEAgLTIwOTQsNyArMjA5NCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1QVic+PGdsb3NzdGVybT5QVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVBWJz48Z2xvc3N0ZXJtPlBWPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+VGhlIHZlcnNpb24gb2YgdGhlIHJlY2lwZS4KICAgICAgICAgICAgICAgICAgPC9wYXJhPgpAQCAtMjEwOCw5ICsyMTA4LDkgQEAKICAgICA8L2dsb3NzZGl2PgogLS0+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS1yJz48dGl0bGU+UjwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3Nhcnktcic+PHRpdGxlPlI8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUkRFUEVORFMnPjxnbG9zc3Rlcm0+UkRFUEVORFM8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1SREVQRU5EUyc+PGdsb3NzdGVybT5SREVQRU5EUzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBMaXN0cyBhIHBhY2thZ2UncyBydW50aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciBwYWNrYWdlcykKQEAgLTIxNjUsMTMgKzIxNjUsMTMgQEAKIAogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBGb3IgaW5mb3JtYXRpb24gb24gYnVpbGQtdGltZSBkZXBlbmRlbmNpZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLURFUEVORFMnPjxmaWxlbmFtZT5ERVBFTkRTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1ERVBFTkRTJz48ZmlsZW5hbWU+REVQRU5EUzwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1SRVBPRElSJz48Z2xvc3N0ZXJtPlJFUE9ESVI8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1SRVBPRElSJz48Z2xvc3N0ZXJtPlJFUE9ESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRpcmVjdG9yeSBpbiB3aGljaCBhIGxvY2FsIGNvcHkgb2YgYQpAQCAtMjE4MSwxNCArMjE4MSwxNCBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItUlBST1ZJREVTJz48Z2xvc3N0ZXJtPlJQUk9WSURFUzwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVJQUk9WSURFUyc+PGdsb3NzdGVybT5SUFJPVklERVM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBsaXN0IG9mIHBhY2thZ2UgbmFtZSBhbGlhc2VzIHRoYXQgYSBwYWNrYWdlIGFsc28gcHJvdmlkZXMuCiAgICAgICAgICAgICAgICAgICAgIFRoZXNlIGFsaWFzZXMgYXJlIHVzZWZ1bCBmb3Igc2F0aXNmeWluZyBydW50aW1lIGRlcGVuZGVuY2llcwogICAgICAgICAgICAgICAgICAgICBvZiBvdGhlciBwYWNrYWdlcyBib3RoIGR1cmluZyB0aGUgYnVpbGQgYW5kIG9uIHRoZSB0YXJnZXQKICAgICAgICAgICAgICAgICAgICAgKGFzIHNwZWNpZmllZCBieQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+PGxpbmsgbGlua2VuZD0ndmFyLVJERVBFTkRTJz5SREVQRU5EUzwvbGluaz48L2ZpbGVuYW1lPikuCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT48bGluayBsaW5rZW5kPSd2YXItYmItUkRFUEVORFMnPlJERVBFTkRTPC9saW5rPjwvZmlsZW5hbWU+KS4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgQXMgd2l0aCBhbGwgcGFja2FnZS1jb250cm9sbGluZyB2YXJpYWJsZXMsIHlvdSBtdXN0IGFsd2F5cwpAQCAtMjIwMSw3ICsyMjAxLDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVJSRUNPTU1FTkRTJz48Z2xvc3N0ZXJtPlJSRUNPTU1FTkRTPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItUlJFQ09NTUVORFMnPjxnbG9zc3Rlcm0+UlJFQ09NTUVORFM8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgQSBsaXN0IG9mIHBhY2thZ2VzIHRoYXQgZXh0ZW5kcyB0aGUgdXNhYmlsaXR5IG9mIGEgcGFja2FnZQpAQCAtMjIxMCw3ICsyMjEwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgcGFja2FnZXMgaW4gb3JkZXIgdG8gc3VjY2Vzc2Z1bGx5IGJ1aWxkLCBidXQgbmVlZHMgdGhlbSBmb3IKICAgICAgICAgICAgICAgICAgICAgdGhlIGV4dGVuZGVkIHVzYWJpbGl0eS4KICAgICAgICAgICAgICAgICAgICAgVG8gc3BlY2lmeSBydW50aW1lIGRlcGVuZGVuY2llcyBmb3IgcGFja2FnZXMsIHNlZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1SREVQRU5EUyc+UkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPjxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1SREVQRU5EUyc+UkRFUEVORFM8L2xpbms+PC9maWxlbmFtZT4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCkBAIC0yMjQzLDE1ICsyMjQzLDE1IEBACiAKICAgICA8L2dsb3NzZGl2PgogCi0gICAgPGdsb3NzZGl2IGlkPSd2YXItZ2xvc3Nhcnktcyc+PHRpdGxlPlM8L3RpdGxlPgorICAgIDxnbG9zc2RpdiBpZD0ndmFyLWJiLWdsb3NzYXJ5LXMnPjx0aXRsZT5TPC90aXRsZT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNFQ1RJT04nPjxnbG9zc3Rlcm0+U0VDVElPTjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNFQ1RJT04nPjxnbG9zc3Rlcm0+U0VDVElPTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPlRoZSBzZWN0aW9uIGluIHdoaWNoIHBhY2thZ2VzIHNob3VsZCBiZSBjYXRlZ29yaXplZC48L3BhcmE+CiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TUkNfVVJJJz48Z2xvc3N0ZXJtPlNSQ19VUkk8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TUkNfVVJJJz48Z2xvc3N0ZXJtPlNSQ19VUkk8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGxpc3Qgb2Ygc291cmNlIGZpbGVzIC0gbG9jYWwgb3IgcmVtb3RlLgpAQCAtMjI3Miw3ICsyMjcyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbWV0YWRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSB0aGUgbG9jYWwgbWFjaGluZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcGF0aCBpcyByZWxhdGl2ZSB0byB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLUZJTEVTUEFUSCc+PGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+PC9saW5rPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz48ZmlsZW5hbWU+YnpyOi8vPC9maWxlbmFtZT4gLTwvZW1waGFzaXM+IEZldGNoZXMgZmlsZXMgZnJvbSBhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmF6YWFyIHJldmlzaW9uIGNvbnRyb2wgcmVwb3NpdG9yeS48L3BhcmE+PC9saXN0aXRlbT4KQEAgLTIzMjIsNyArMjMyMiw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TUkNEQVRFJz48Z2xvc3N0ZXJtPlNSQ0RBVEU8L2dsb3NzdGVybT4KKyAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1iYi1TUkNEQVRFJz48Z2xvc3N0ZXJtPlNSQ0RBVEU8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIGRhdGUgb2YgdGhlIHNvdXJjZSBjb2RlIHVzZWQgdG8gYnVpbGQgdGhlIHBhY2thZ2UuCkBAIC0yMzMxLDcgKzIzMzEsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDUkVWJz48Z2xvc3N0ZXJtPlNSQ1JFVjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNSQ1JFVic+PGdsb3NzdGVybT5TUkNSRVY8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgVGhlIHJldmlzaW9uIG9mIHRoZSBzb3VyY2UgY29kZSB1c2VkIHRvIGJ1aWxkIHRoZSBwYWNrYWdlLgpAQCAtMjM0NCwxMyArMjM0NCwxMyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItU1JDUkVWX0ZPUk1BVCc+PGdsb3NzdGVybT5TUkNSRVZfRk9STUFUPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1JDUkVWX0ZPUk1BVCc+PGdsb3NzdGVybT5TUkNSRVZfRk9STUFUPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIEhlbHBzIGNvbnN0cnVjdCB2YWxpZAotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDUkVWJz48ZmlsZW5hbWU+U1JDUkVWPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNSRVYnPjxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFsdWVzIHdoZW4gbXVsdGlwbGUgc291cmNlIGNvbnRyb2xsZWQgVVJMcyBhcmUgdXNlZCBpbgotICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4uCisgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1iYi1TUkNfVVJJJz48ZmlsZW5hbWU+U1JDX1VSSTwvZmlsZW5hbWU+PC9saW5rPi4KICAgICAgICAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgICAgICAgICA8cGFyYT4KQEAgLTIzNzEsNyArMjM3MSw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVEFNUCc+PGdsb3NzdGVybT5TVEFNUDwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNUQU1QJz48Z2xvc3N0ZXJtPlNUQU1QPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgICAgIFNwZWNpZmllcyB0aGUgYmFzZSBwYXRoIHVzZWQgdG8gY3JlYXRlIHJlY2lwZSBzdGFtcCBmaWxlcy4KQEAgLTIzODEsMTIgKzIzODEsMTIgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNUQU1QQ0xFQU4nPjxnbG9zc3Rlcm0+U1RBTVBDTEVBTjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNUQU1QQ0xFQU4nPjxnbG9zc3Rlcm0+U1RBTVBDTEVBTjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBTcGVjaWZpZXMgdGhlIGJhc2UgcGF0aCB1c2VkIHRvIGNyZWF0ZSByZWNpcGUgc3RhbXAgZmlsZXMuCiAgICAgICAgICAgICAgICAgICAgIFVubGlrZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLWJiLVNUQU1QJz48ZmlsZW5hbWU+U1RBTVA8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsIDxmaWxlbmFtZT5TVEFNUENMRUFOPC9maWxlbmFtZT4gY2FuIGNvbnRhaW4KICAgICAgICAgICAgICAgICAgICAgd2lsZGNhcmRzIHRvIG1hdGNoIHRoZSByYW5nZSBvZiBmaWxlcyBhIGNsZWFuIG9wZXJhdGlvbgogICAgICAgICAgICAgICAgICAgICBzaG91bGQgcmVtb3ZlLgpAQCAtMjM5Niw3ICsyMzk2LDcgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAotICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLVNVTU1BUlknPjxnbG9zc3Rlcm0+U1VNTUFSWTwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVNVTU1BUlknPjxnbG9zc3Rlcm0+U1VNTUFSWTwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBBIHNob3J0IHN1bW1hcnkgZm9yIHRoZSByZWNpcGUsIHdoaWNoIGlzIDcyIGNoYXJhY3RlcnMgb3IgbGVzcy4KQEAgLTI0MDQsNyArMjQwNCw3IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1TVk5ESVInPjxnbG9zc3Rlcm0+U1ZORElSPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItU1ZORElSJz48Z2xvc3N0ZXJtPlNWTkRJUjwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgICAgICBUaGUgZGlyZWN0b3J5IGluIHdoaWNoIGZpbGVzIGNoZWNrZWQgb3V0IG9mIGEgU3VidmVyc2lvbgpAQCAtMjQxNSw5ICsyNDE1LDkgQEAKIAogICAgIDwvZ2xvc3NkaXY+CiAKLSAgICA8Z2xvc3NkaXYgaWQ9J3Zhci1nbG9zc2FyeS10Jz48dGl0bGU+VDwvdGl0bGU+CisgICAgPGdsb3NzZGl2IGlkPSd2YXItYmItZ2xvc3NhcnktdCc+PHRpdGxlPlQ8L3RpdGxlPgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItVCc+PGdsb3NzdGVybT5UPC9nbG9zc3Rlcm0+CisgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItYmItVCc+PGdsb3NzdGVybT5UPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmE+UG9pbnRzIHRvIGEgZGlyZWN0b3J5IHdlcmUgQml0QmFrZSBwbGFjZXMKICAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5IGZpbGVzLCB3aGljaCBjb25zaXN0IG1vc3RseSBvZiB0YXNrIGxvZ3MgYW5kCkBAIC0yNDI2LDcgKzI0MjYsNyBAQAogICAgICAgICAgICAgPC9nbG9zc2RlZj4KICAgICAgICAgPC9nbG9zc2VudHJ5PgogCi0gICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItVE9QRElSJz48Z2xvc3N0ZXJtPlRPUERJUjwvZ2xvc3N0ZXJtPgorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLWJiLVRPUERJUic+PGdsb3NzdGVybT5UT1BESVI8L2dsb3NzdGVybT4KICAgICAgICAgICAgIDxnbG9zc2RlZj4KICAgICAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICAgICAgUG9pbnRzIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkuCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2J1aWxkLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9idWlsZC5weQppbmRleCAzZTJhOTRlLi43NTcxNDIxIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2J1aWxkLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvYnVpbGQucHkKQEAgLTMwNCw5ICszMDQsMTAgQEAKICAgICAgICAgdXRpbHMuYmV0dGVyX2V4ZWMoY29tcCwgeyJkIjogZH0sIGNvZGUsICJleGVjX3B5dGhvbl9mdW5jKCkgYXV0b2dlbmVyYXRlZCIsIHB5dGhvbmV4Y2VwdGlvbj1weXRob25leGNlcHRpb24pCiAgICAgZXhjZXB0IChiYi5wYXJzZS5Ta2lwUmVjaXBlLCBiYi5idWlsZC5GdW5jRmFpbGVkKToKICAgICAgICAgcmFpc2UKLSAgICBleGNlcHQ6CisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICBpZiBweXRob25leGNlcHRpb246CiAgICAgICAgICAgICByYWlzZQorICAgICAgICBsb2dnZXIuZXJyb3Ioc3RyKGUpKQogICAgICAgICByYWlzZSBGdW5jRmFpbGVkKGZ1bmMsIE5vbmUpCiAgICAgZmluYWxseToKICAgICAgICAgYmIuZGVidWcoMiwgIlB5dGhvbiBmdW5jdGlvbiAlcyBmaW5pc2hlZCIgJSBmdW5jKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jYWNoZS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvY2FjaGUucHkKaW5kZXggMjU4ZDY3OS4uNjVjNTE0YiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jYWNoZS5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NhY2hlLnB5CkBAIC05Nyw3ICs5Nyw3IEBACiAKICAgICAgICAgc2VsZi5za2lwcmVhc29uID0gc2VsZi5nZXR2YXIoJ19fU0tJUFBFRCcsIG1ldGFkYXRhKQogICAgICAgICBpZiBzZWxmLnNraXByZWFzb246Ci0gICAgICAgICAgICBzZWxmLnBuID0gc2VsZi5nZXR2YXIoJ1BOJywgbWV0YWRhdGEpIG9yIGJiLnBhcnNlLkJCSGFuZGxlci52YXJzX2Zyb21fZmlsZShmaWxlbmFtZSxtZXRhZGF0YSlbMF0KKyAgICAgICAgICAgIHNlbGYucG4gPSBzZWxmLmdldHZhcignUE4nLCBtZXRhZGF0YSkgb3IgYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZmlsZW5hbWUsbWV0YWRhdGEpWzBdCiAgICAgICAgICAgICBzZWxmLnNraXBwZWQgPSBUcnVlCiAgICAgICAgICAgICBzZWxmLnByb3ZpZGVzICA9IHNlbGYuZGVwdmFyKCdQUk9WSURFUycsIG1ldGFkYXRhKQogICAgICAgICAgICAgc2VsZi5ycHJvdmlkZXMgPSBzZWxmLmRlcHZhcignUlBST1ZJREVTJywgbWV0YWRhdGEpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2NvZGVwYXJzZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2NvZGVwYXJzZXIucHkKaW5kZXggZGRkMWI5Ny4uYWM5OTVhNiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb2RlcGFyc2VyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvY29kZXBhcnNlci5weQpAQCAtMzMsNyArMzMsNyBAQAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ0JpdEJha2UuQ29kZVBhcnNlcicpCiAKIGRlZiBiYmhhc2gocyk6Ci0gICAgcmV0dXJuIGhhc2hsaWIubWQ1KHMuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgIHJldHVybiBoYXNobGliLnNoYTI1NihzLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKIAogZGVmIGNoZWNrX2luZGVudChjb2Rlc3RyKToKICAgICAiIiJJZiB0aGUgY29kZSBpcyBpbmRlbnRlZCwgYWRkIGEgdG9wIGxldmVsIHBpZWNlIG9mIGNvZGUgdG8gJ3JlbW92ZScgdGhlIGluZGVudGF0aW9uIiIiCkBAIC0xNDAsNyArMTQwLDcgQEAKICAgICAjIHNvIHRoYXQgYW4gZXhpc3RpbmcgY2FjaGUgZ2V0cyBpbnZhbGlkYXRlZC4gQWRkaXRpb25hbGx5IHlvdSdsbCBuZWVkCiAgICAgIyB0byBpbmNyZW1lbnQgX19jYWNoZV92ZXJzaW9uX18gaW4gY2FjaGUucHkgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgb2xkCiAgICAgIyByZWNpcGUgY2FjaGVzIGRvbid0IHRyaWdnZXIgIlRhc2toYXNoIG1pc21hdGNoIiBlcnJvcnMuCi0gICAgQ0FDSEVfVkVSU0lPTiA9IDEwCisgICAgQ0FDSEVfVkVSU0lPTiA9IDExCiAKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIE11bHRpUHJvY2Vzc0NhY2hlLl9faW5pdF9fKHNlbGYpCkBAIC0zNjgsOCArMzY4LDkgQEAKICAgICBkZWYgX3BhcnNlX3NoZWxsKHNlbGYsIHZhbHVlKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdG9rZW5zLCBfID0gcHlzaHlhY2MucGFyc2UodmFsdWUsIGVvZj1UcnVlLCBkZWJ1Zz1GYWxzZSkKLSAgICAgICAgZXhjZXB0IHB5c2hsZXguTmVlZE1vcmU6Ci0gICAgICAgICAgICByYWlzZSBzaGVycm9ycy5TaGVsbFN5bnRheEVycm9yKCJVbmV4cGVjdGVkIEVPRiIpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICBiYi5lcnJvcignRXJyb3IgZHVyaW5nIHBhcnNlIHNoZWxsIGNvZGUsIHRoZSBsYXN0IDUgbGluZXMgYXJlOlxuJXMnICUgJ1xuJy5qb2luKHZhbHVlLnNwbGl0KCdcbicpWy01Ol0pKQorICAgICAgICAgICAgcmFpc2UKIAogICAgICAgICBzZWxmLnByb2Nlc3NfdG9rZW5zKHRva2VucykKIApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQppbmRleCBhZGM0MTAxLi45Y2NhYTc5IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlci5weQpAQCAtMTIxNiw4ICsxMjE2LDggQEAKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBlbGlmIHJlZ2V4ID09ICIiOgogICAgICAgICAgICAgICAgICAgICBwYXJzZWxvZy5kZWJ1ZygxLCAiQkJGSUxFX1BBVFRFUk5fJXMgaXMgZW1wdHkiICUgYykKKyAgICAgICAgICAgICAgICAgICAgY3JlID0gcmUuY29tcGlsZSgnXk5VTEwkJykKICAgICAgICAgICAgICAgICAgICAgZXJyb3JzID0gRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjcmUgPSByZS5jb21waWxlKHJlZ2V4KQpAQCAtMTg5MCwzNSArMTg5MCw2IEBACiAgICAgICAgIHNlbGYucmVjaXBlID0gcmVjaXBlCiAgICAgICAgIEV4Y2VwdGlvbi5fX2luaXRfXyhzZWxmLCByZWFsZXhjZXB0aW9uLCByZWNpcGUpCiAKLWNsYXNzIEZlZWRlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGpvYnMsIHRvX3BhcnNlcnMsIHF1aXQpOgotICAgICAgICBzZWxmLnF1aXQgPSBxdWl0Ci0gICAgICAgIHNlbGYuam9icyA9IGpvYnMKLSAgICAgICAgc2VsZi50b19wYXJzZXJzID0gdG9fcGFyc2VycwotICAgICAgICBtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcy5fX2luaXRfXyhzZWxmKQotCi0gICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBxdWl0ID0gc2VsZi5xdWl0LmdldF9ub3dhaXQoKQotICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgcXVpdCA9PSAnY2FuY2VsJzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi50b19wYXJzZXJzLmNhbmNlbF9qb2luX3RocmVhZCgpCi0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGpvYiA9IHNlbGYuam9icy5wb3AoKQotICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYudG9fcGFyc2Vycy5wdXQoam9iLCB0aW1lb3V0PTAuNSkKLSAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5GdWxsOgotICAgICAgICAgICAgICAgIHNlbGYuam9icy5pbnNlcnQoMCwgam9iKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KIGNsYXNzIFBhcnNlcihtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGpvYnMsIHJlc3VsdHMsIHF1aXQsIGluaXQsIHByb2ZpbGUpOgogICAgICAgICBzZWxmLmpvYnMgPSBqb2JzCkBAIC0xOTY1LDExICsxOTM2LDggQEAKICAgICAgICAgICAgICAgICByZXN1bHQgPSBwZW5kaW5nLnBvcCgpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgam9iID0gc2VsZi5qb2JzLmdldCh0aW1lb3V0PTAuMjUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICAgICAgaWYgam9iIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGpvYiA9IHNlbGYuam9icy5wb3AoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbmRleEVycm9yOgogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYucGFyc2UoKmpvYikKIApAQCAtMjA1MywxNCArMjAyMSwxNSBAQAogICAgICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZy51dGlsLkZpbmFsaXplKE5vbmUsIGJiLmNvZGVwYXJzZXIucGFyc2VyX2NhY2hlX3NhdmUsIGV4aXRwcmlvcml0eT0xKQogICAgICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZy51dGlsLkZpbmFsaXplKE5vbmUsIGJiLmZldGNoLmZldGNoZXJfcGFyc2Vfc2F2ZSwgZXhpdHByaW9yaXR5PTEpCiAKLSAgICAgICAgICAgIHNlbGYuZmVlZGVyX3F1aXQgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUobWF4c2l6ZT0xKQogICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdCA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZShtYXhzaXplPXNlbGYubnVtX3Byb2Nlc3NlcykKLSAgICAgICAgICAgIHNlbGYuam9icyA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZShtYXhzaXplPXNlbGYubnVtX3Byb2Nlc3NlcykKICAgICAgICAgICAgIHNlbGYucmVzdWx0X3F1ZXVlID0gbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkKLSAgICAgICAgICAgIHNlbGYuZmVlZGVyID0gRmVlZGVyKHNlbGYud2lsbHBhcnNlLCBzZWxmLmpvYnMsIHNlbGYuZmVlZGVyX3F1aXQpCi0gICAgICAgICAgICBzZWxmLmZlZWRlci5zdGFydCgpCisKKyAgICAgICAgICAgIGRlZiBjaHVua2lmeShsc3Qsbik6CisgICAgICAgICAgICAgICAgcmV0dXJuIFtsc3RbaTo6bl0gZm9yIGkgaW4gcmFuZ2UobildCisgICAgICAgICAgICBzZWxmLmpvYnMgPSBjaHVua2lmeShzZWxmLndpbGxwYXJzZSwgc2VsZi5udW1fcHJvY2Vzc2VzKQorCiAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBzZWxmLm51bV9wcm9jZXNzZXMpOgotICAgICAgICAgICAgICAgIHBhcnNlciA9IFBhcnNlcihzZWxmLmpvYnMsIHNlbGYucmVzdWx0X3F1ZXVlLCBzZWxmLnBhcnNlcl9xdWl0LCBpbml0LCBzZWxmLmNvb2tlci5jb25maWd1cmF0aW9uLnByb2ZpbGUpCisgICAgICAgICAgICAgICAgcGFyc2VyID0gUGFyc2VyKHNlbGYuam9ic1tpXSwgc2VsZi5yZXN1bHRfcXVldWUsIHNlbGYucGFyc2VyX3F1aXQsIGluaXQsIHNlbGYuY29va2VyLmNvbmZpZ3VyYXRpb24ucHJvZmlsZSkKICAgICAgICAgICAgICAgICBwYXJzZXIuc3RhcnQoKQogICAgICAgICAgICAgICAgIHNlbGYucHJvY2Vzc19uYW1lcy5hcHBlbmQocGFyc2VyLm5hbWUpCiAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzZXMuYXBwZW5kKHBhcnNlcikKQEAgLTIwODEsMjUgKzIwNTAsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50b3RhbCkKIAogICAgICAgICAgICAgYmIuZXZlbnQuZmlyZShldmVudCwgc2VsZi5jZmdkYXRhKQotICAgICAgICAgICAgc2VsZi5mZWVkZXJfcXVpdC5wdXQoTm9uZSkKICAgICAgICAgICAgIGZvciBwcm9jZXNzIGluIHNlbGYucHJvY2Vzc2VzOgogICAgICAgICAgICAgICAgIHNlbGYucGFyc2VyX3F1aXQucHV0KE5vbmUpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZlZWRlcl9xdWl0LnB1dCgnY2FuY2VsJykKLQogICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdC5jYW5jZWxfam9pbl90aHJlYWQoKQogICAgICAgICAgICAgZm9yIHByb2Nlc3MgaW4gc2VsZi5wcm9jZXNzZXM6CiAgICAgICAgICAgICAgICAgc2VsZi5wYXJzZXJfcXVpdC5wdXQoTm9uZSkKIAotICAgICAgICAgICAgc2VsZi5qb2JzLmNhbmNlbF9qb2luX3RocmVhZCgpCi0KICAgICAgICAgZm9yIHByb2Nlc3MgaW4gc2VsZi5wcm9jZXNzZXM6CiAgICAgICAgICAgICBpZiBmb3JjZToKICAgICAgICAgICAgICAgICBwcm9jZXNzLmpvaW4oLjEpCiAgICAgICAgICAgICAgICAgcHJvY2Vzcy50ZXJtaW5hdGUoKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBwcm9jZXNzLmpvaW4oKQotICAgICAgICBzZWxmLmZlZWRlci5qb2luKCkKIAogICAgICAgICBzeW5jID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5iYl9jYWNoZS5zeW5jKQogICAgICAgICBzeW5jLnN0YXJ0KCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvY29va2VyZGF0YS5weQppbmRleCA1ZGY2NmU2Li4wOTQxMmUyIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2Nvb2tlcmRhdGEucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9jb29rZXJkYXRhLnB5CkBAIC0zOTEsNyArMzkxLDExIEBACiAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIkJCRklMRVNfRFlOQU1JQyBlbnRyaWVzIG11c3QgYmUgb2YgdGhlIGZvcm0gPGNvbGxlY3Rpb24gbmFtZT46PGZpbGVuYW1lIHBhdHRlcm4+LCBub3Q6XG4gICAgJXMiICUgIlxuICAgICIuam9pbihpbnZhbGlkKSkKIAogICAgICAgICAgICAgbGF5ZXJzZXJpZXMgPSBzZXQoKGRhdGEuZ2V0VmFyKCJMQVlFUlNFUklFU19DT1JFTkFNRVMiKSBvciAiIikuc3BsaXQoKSkKKyAgICAgICAgICAgIGNvbGxlY3Rpb25zX3RtcCA9IGNvbGxlY3Rpb25zWzpdCiAgICAgICAgICAgICBmb3IgYyBpbiBjb2xsZWN0aW9uczoKKyAgICAgICAgICAgICAgICBjb2xsZWN0aW9uc190bXAucmVtb3ZlKGMpCisgICAgICAgICAgICAgICAgaWYgYyBpbiBjb2xsZWN0aW9uc190bXA6CisgICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJGb3VuZCBkdXBsaWNhdGVkIEJCRklMRV9DT0xMRUNUSU9OUyAnJXMnLCBjaGVjayBiYmxheWVycy5jb25mIG9yIGxheWVyLmNvbmYgdG8gZml4IGl0LiIgJSBjKQogICAgICAgICAgICAgICAgIGNvbXBhdCA9IHNldCgoZGF0YS5nZXRWYXIoIkxBWUVSU0VSSUVTX0NPTVBBVF8lcyIgJSBjKSBvciAiIikuc3BsaXQoKSkKICAgICAgICAgICAgICAgICBpZiBjb21wYXQgYW5kIG5vdCAoY29tcGF0ICYgbGF5ZXJzZXJpZXMpOgogICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiTGF5ZXIgJXMgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgY29yZSBsYXllciB3aGljaCBvbmx5IHN1cHBvcnRzIHRoZXNlIHNlcmllczogJXMgKGxheWVyIGlzIGNvbXBhdGlibGUgd2l0aCAlcykiCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGEucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGEucHkKaW5kZXggZDY2ZDk4Yy4uMjljMjM4OCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YS5weQpAQCAtMzIyLDggKzMyMiw2IEBACiAgICAgICAgICAgICBpZiB2YXJmbGFncy5nZXQoInB5dGhvbiIpOgogICAgICAgICAgICAgICAgIHZhbHVlID0gZC5nZXRWYXJGbGFnKGtleSwgIl9jb250ZW50IiwgRmFsc2UpCiAgICAgICAgICAgICAgICAgcGFyc2VyID0gYmIuY29kZXBhcnNlci5QeXRob25QYXJzZXIoa2V5LCBsb2dnZXIpCi0gICAgICAgICAgICAgICAgaWYgdmFsdWUgYW5kICJcdCIgaW4gdmFsdWU6Ci0gICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJWYXJpYWJsZSAlcyBjb250YWlucyB0YWJzLCBwbGVhc2UgcmVtb3ZlIHRoZXNlICglcykiICUgKGtleSwgZC5nZXRWYXIoIkZJTEUiKSkpCiAgICAgICAgICAgICAgICAgcGFyc2VyLnBhcnNlX3B5dGhvbih2YWx1ZSwgZmlsZW5hbWU9dmFyZmxhZ3MuZ2V0KCJmaWxlbmFtZSIpLCBsaW5lbm89dmFyZmxhZ3MuZ2V0KCJsaW5lbm8iKSkKICAgICAgICAgICAgICAgICBkZXBzID0gZGVwcyB8IHBhcnNlci5yZWZlcmVuY2VzCiAgICAgICAgICAgICAgICAgZGVwcyA9IGRlcHMgfCAoa2V5cyAmIHBhcnNlci5leGVjcykKQEAgLTQzOCw3ICs0MzYsNyBAQAogICAgICAgICAgICAgaWYgdmFyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgc3RyKHZhcikKICAgICAgICAgayA9IGZuICsgIi4iICsgdGFzawotICAgICAgICBiYXNlaGFzaFtrXSA9IGhhc2hsaWIubWQ1KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQorICAgICAgICBiYXNlaGFzaFtrXSA9IGhhc2hsaWIuc2hhMjU2KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQogICAgICAgICB0YXNrZGVwc1t0YXNrXSA9IGFsbGRlcHMKIAogICAgIHJldHVybiB0YXNrZGVwcywgYmFzZWhhc2gKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YV9zbWFydC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZGF0YV9zbWFydC5weQppbmRleCA2Yjk0ZmM0Li4wN2RiN2JlIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2RhdGFfc21hcnQucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9kYXRhX3NtYXJ0LnB5CkBAIC0zOSwxMCArMzksMTEgQEAKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLkRhdGEiKQogCiBfX3NldHZhcl9rZXl3b3JkX18gPSBbIl9hcHBlbmQiLCAiX3ByZXBlbmQiLCAiX3JlbW92ZSJdCi1fX3NldHZhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUoJyg/UDxiYXNlPi4qPykoP1A8a2V5d29yZD5fYXBwZW5kfF9wcmVwZW5kfF9yZW1vdmUpKF8oP1A8YWRkPlteQS1aXSopKT8kJykKLV9fZXhwYW5kX3Zhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUociJcJHtbXnt9QFxuXHQgOl0rfSIpCitfX3NldHZhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUocicoP1A8YmFzZT4uKj8pKD9QPGtleXdvcmQ+X2FwcGVuZHxfcHJlcGVuZHxfcmVtb3ZlKShfKD9QPGFkZD5bXkEtWl0qKSk/JCcpCitfX2V4cGFuZF92YXJfcmVnZXhwX18gPSByZS5jb21waWxlKHIiXCR7W2EtekEtWjAtOVwtXysuL35dKz99IikKIF9fZXhwYW5kX3B5dGhvbl9yZWdleHBfXyA9IHJlLmNvbXBpbGUociJcJHtALis/fSIpCi1fX3doaXRlc3BhY2Vfc3BsaXRfXyA9IHJlLmNvbXBpbGUoJyhccyknKQorX193aGl0ZXNwYWNlX3NwbGl0X18gPSByZS5jb21waWxlKHInKFxzKScpCitfX292ZXJyaWRlX3JlZ2V4cF9fID0gcmUuY29tcGlsZShyJ1thLXowLTldKycpCiAKIGRlZiBpbmZlcl9jYWxsZXJfZGV0YWlscyhsb2dpbmZvLCBwYXJlbnQgPSBGYWxzZSwgdmFydmFsID0gVHJ1ZSk6CiAgICAgIiIiU2F2ZSB0aGUgY2FsbGVyIHRoZSB0cm91YmxlIG9mIHNwZWNpZnlpbmcgZXZlcnl0aGluZy4iIiIKQEAgLTEyMiw3ICsxMjMsMTEgQEAKICAgICAgICAgICAgICAgICBjb25uZWN0b3IgPSBzZWxmLmRbIl9yZW1vdGVfZGF0YSJdCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rvci5leHBhbmRQeXRob25SZWYoc2VsZi52YXJuYW1lLCBjb2RlLCBzZWxmLmQpCiAKLSAgICAgICAgICAgIGNvZGVvYmogPSBjb21waWxlKGNvZGUuc3RyaXAoKSwgc2VsZi52YXJuYW1lIG9yICI8ZXhwYW5zaW9uPiIsICJldmFsIikKKyAgICAgICAgICAgIGlmIHNlbGYudmFybmFtZToKKyAgICAgICAgICAgICAgICB2YXJuYW1lID0gJ1ZhciA8JXM+JyAlIHNlbGYudmFybmFtZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB2YXJuYW1lID0gJzxleHBhbnNpb24+JworICAgICAgICAgICAgY29kZW9iaiA9IGNvbXBpbGUoY29kZS5zdHJpcCgpLCB2YXJuYW1lLCAiZXZhbCIpCiAKICAgICAgICAgICAgIHBhcnNlciA9IGJiLmNvZGVwYXJzZXIuUHl0aG9uUGFyc2VyKHNlbGYudmFybmFtZSwgbG9nZ2VyKQogICAgICAgICAgICAgcGFyc2VyLnBhcnNlX3B5dGhvbihjb2RlKQpAQCAtNDI3LDcgKzQzMiw4IEBACiAgICAgICAgICAgICBleGNlcHQgYmIucGFyc2UuU2tpcFJlY2lwZToKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgRXhwYW5zaW9uRXJyb3IodmFybmFtZSwgcywgZXhjKSBmcm9tIGV4YworICAgICAgICAgICAgICAgIHRiID0gc3lzLmV4Y19pbmZvKClbMl0KKyAgICAgICAgICAgICAgICByYWlzZSBFeHBhbnNpb25FcnJvcih2YXJuYW1lLCBzLCBleGMpLndpdGhfdHJhY2ViYWNrKHRiKSBmcm9tIGV4YwogCiAgICAgICAgIHZhcnBhcnNlLnZhbHVlID0gcwogCkBAIC01OTIsNyArNTk4LDcgQEAKICAgICAgICAgIyBha2EgcGF5IHRoZSBjb29raWUgbW9uc3RlcgogICAgICAgICBvdmVycmlkZSA9IHZhclt2YXIucmZpbmQoJ18nKSsxOl0KICAgICAgICAgc2hvcnR2YXIgPSB2YXJbOnZhci5yZmluZCgnXycpXQotICAgICAgICB3aGlsZSBvdmVycmlkZSBhbmQgb3ZlcnJpZGUuaXNsb3dlcigpOgorICAgICAgICB3aGlsZSBvdmVycmlkZSBhbmQgX19vdmVycmlkZV9yZWdleHBfXy5tYXRjaChvdmVycmlkZSk6CiAgICAgICAgICAgICBpZiBzaG9ydHZhciBub3QgaW4gc2VsZi5vdmVycmlkZWRhdGE6CiAgICAgICAgICAgICAgICAgc2VsZi5vdmVycmlkZWRhdGFbc2hvcnR2YXJdID0gW10KICAgICAgICAgICAgIGlmIFt2YXIsIG92ZXJyaWRlXSBub3QgaW4gc2VsZi5vdmVycmlkZWRhdGFbc2hvcnR2YXJdOgpAQCAtMTA2OCw0ICsxMDc0LDQgQEAKICAgICAgICAgICAgICAgICAgICAgZGF0YS51cGRhdGUoe2k6dmFsdWV9KQogCiAgICAgICAgIGRhdGFfc3RyID0gc3RyKFsoaywgZGF0YVtrXSkgZm9yIGsgaW4gc29ydGVkKGRhdGEua2V5cygpKV0pCi0gICAgICAgIHJldHVybiBoYXNobGliLm1kNShkYXRhX3N0ci5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgICAgIHJldHVybiBoYXNobGliLnNoYTI1NihkYXRhX3N0ci5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9fX2luaXRfXy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CmluZGV4IDcwOTM3MmUuLjhmZWNjODAgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL19faW5pdF9fLnB5CkBAIC01MjQsNyArNTI0LDcgQEAKIGRlZiBmZXRjaGVyX3BhcnNlX2RvbmUoKToKICAgICBfY2hlY2tzdW1fY2FjaGUuc2F2ZV9tZXJnZSgpCiAKLWRlZiBmZXRjaGVyX2NvbXBhcmVfcmV2aXNpb25zKCk6CitkZWYgZmV0Y2hlcl9jb21wYXJlX3JldmlzaW9ucyhkKToKICAgICAiIiIKICAgICBDb21wYXJlIHRoZSByZXZpc2lvbnMgaW4gdGhlIHBlcnNpc3RhbnQgY2FjaGUgd2l0aCBjdXJyZW50IHZhbHVlcyBhbmQKICAgICByZXR1cm4gdHJ1ZS9mYWxzZSBvbiB3aGV0aGVyIHRoZXkndmUgY2hhbmdlZC4KQEAgLTc3Nyw3ICs3NzcsOCBAQAogICAgICMKICAgICBmb3JtYXQgPSBkLmdldFZhcignU1JDUkVWX0ZPUk1BVCcpCiAgICAgaWYgbm90IGZvcm1hdDoKLSAgICAgICAgcmFpc2UgRmV0Y2hFcnJvcigiVGhlIFNSQ1JFVl9GT1JNQVQgdmFyaWFibGUgbXVzdCBiZSBzZXQgd2hlbiBtdWx0aXBsZSBTQ01zIGFyZSB1c2VkLiIpCisgICAgICAgIHJhaXNlIEZldGNoRXJyb3IoIlRoZSBTUkNSRVZfRk9STUFUIHZhcmlhYmxlIG11c3QgYmUgc2V0IHdoZW4gbXVsdGlwbGUgU0NNcyBhcmUgdXNlZC5cbiJcCisgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBTQ01zIGFyZTpcbiVzIiAlICdcbicuam9pbihzY21zKSkKIAogICAgIG5hbWVfdG9fcmV2ID0ge30KICAgICBzZWVuYXV0b2luYyA9IEZhbHNlCkBAIC04NTgsNyArODU5LDEwIEBACiAgICAgIyBEaXNhYmxlIHBzZXVkbyBhcyBpdCBtYXkgYWZmZWN0IHNzaCwgcG90ZW50aWFsbHkgY2F1c2luZyBpdCB0byBoYW5nLgogICAgIGNtZCA9ICdleHBvcnQgUFNFVURPX0RJU0FCTEVEPTE7ICcgKyBjbWQKIAotICAgIGxvZ2dlci5kZWJ1ZygxLCAiUnVubmluZyAlcyIsIGNtZCkKKyAgICBpZiB3b3JrZGlyOgorICAgICAgICBsb2dnZXIuZGVidWcoMSwgIlJ1bm5pbmcgJyVzJyBpbiAlcyIgJSAoY21kLCB3b3JrZGlyKSkKKyAgICBlbHNlOgorICAgICAgICBsb2dnZXIuZGVidWcoMSwgIlJ1bm5pbmcgJXMiLCBjbWQpCiAKICAgICBzdWNjZXNzID0gRmFsc2UKICAgICBlcnJvcl9tZXNzYWdlID0gIiIKQEAgLTg5NCw3ICs4OTgsNyBAQAogICAgIGxvZyByZW1vdGUgbmV0d29yayBhY2Nlc3MsIGFuZCBlcnJvciBpZiBCQl9OT19ORVRXT1JLIGlzIHNldCBvciB0aGUgZ2l2ZW4KICAgICBVUkkgaXMgdW50cnVzdGVkCiAgICAgIiIiCi0gICAgaWYgZC5nZXRWYXIoIkJCX05PX05FVFdPUksiKSA9PSAiMSI6CisgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfTk9fTkVUV09SSyIpKToKICAgICAgICAgcmFpc2UgTmV0d29ya0FjY2Vzcyh1cmwsIGluZm8pCiAgICAgZWxpZiBub3QgdHJ1c3RlZF9uZXR3b3JrKGQsIHVybCk6CiAgICAgICAgIHJhaXNlIFVudHJ1c3RlZFVybCh1cmwsIGluZm8pCkBAIC0xMDI3LDcgKzEwMzEsNyBAQAogICAgICAgICByYWlzZQogCiAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgaWYgZS5lcnJubyBpbiBbb3MuZXJybm8uRVNUQUxFXToKKyAgICAgICAgaWYgZS5lcnJubyBpbiBbZXJybm8uRVNUQUxFXToKICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJTdGFsZSBFcnJvciBPYnNlcnZlZCAlcy4iICUgdWQudXJsKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJhaXNlCkBAIC0xMDk0LDcgKzEwOTgsNyBAQAogICAgIEJCX0FMTE9XRURfTkVUV09SS1MgaXMgc2V0IGdsb2JhbGx5IG9yIGZvciBhIHNwZWNpZmljIHJlY2lwZS4KICAgICBOb3RlOiBtb2RpZmllcyBTUkNfVVJJICYgbWlycm9ycy4KICAgICAiIiIKLSAgICBpZiBkLmdldFZhcignQkJfTk9fTkVUV09SSycpID09ICIxIjoKKyAgICBpZiBiYi51dGlscy50b19ib29sZWFuKGQuZ2V0VmFyKCJCQl9OT19ORVRXT1JLIikpOgogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgcGtnbmFtZSA9IGQuZXhwYW5kKGQuZ2V0VmFyKCdQTicsIEZhbHNlKSkKQEAgLTE0MDMsNyArMTQwNyw3IEBACiAgICAgICAgIEZldGNoIHVybHMKICAgICAgICAgQXNzdW1lcyBsb2NhbHBhdGggd2FzIGNhbGxlZCBmaXJzdAogICAgICAgICAiIiIKLSAgICAgICAgcmFpc2UgTm9NZXRob2RFcnJvcih1cmwpCisgICAgICAgIHJhaXNlIE5vTWV0aG9kRXJyb3IodXJsZGF0YS51cmwpCiAKICAgICBkZWYgdW5wYWNrKHNlbGYsIHVybGRhdGEsIHJvb3RkaXIsIGRhdGEpOgogICAgICAgICBpdGVyYXRlID0gRmFsc2UKQEAgLTE1NDcsNyArMTU1MSw3IEBACiAgICAgICAgIENoZWNrIHRoZSBzdGF0dXMgb2YgYSBVUkwKICAgICAgICAgQXNzdW1lcyBsb2NhbHBhdGggd2FzIGNhbGxlZCBmaXJzdAogICAgICAgICAiIiIKLSAgICAgICAgbG9nZ2VyLmluZm8oIlVSTCAlcyBjb3VsZCBub3QgYmUgY2hlY2tlZCBmb3Igc3RhdHVzIHNpbmNlIG5vIG1ldGhvZCBleGlzdHMuIiwgdXJsKQorICAgICAgICBsb2dnZXIuaW5mbygiVVJMICVzIGNvdWxkIG5vdCBiZSBjaGVja2VkIGZvciBzdGF0dXMgc2luY2Ugbm8gbWV0aG9kIGV4aXN0cy4iLCB1cmxkYXRhLnVybCkKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBsYXRlc3RfcmV2aXNpb24oc2VsZiwgdWQsIGQsIG5hbWUpOgpAQCAtMTU1NSw3ICsxNTU5LDcgQEAKICAgICAgICAgTG9vayBpbiB0aGUgY2FjaGUgZm9yIHRoZSBsYXRlc3QgcmV2aXNpb24sIGlmIG5vdCBwcmVzZW50IGFzayB0aGUgU0NNLgogICAgICAgICAiIiIKICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgIl9sYXRlc3RfcmV2aXNpb24iKToKLSAgICAgICAgICAgIHJhaXNlIFBhcmFtZXRlckVycm9yKCJUaGUgZmV0Y2hlciBmb3IgdGhpcyBVUkwgZG9lcyBub3Qgc3VwcG9ydCBfbGF0ZXN0X3JldmlzaW9uIiwgdXJsKQorICAgICAgICAgICAgcmFpc2UgUGFyYW1ldGVyRXJyb3IoIlRoZSBmZXRjaGVyIGZvciB0aGlzIFVSTCBkb2VzIG5vdCBzdXBwb3J0IF9sYXRlc3RfcmV2aXNpb24iLCB1ZC51cmwpCiAKICAgICAgICAgcmV2cyA9IGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdCQl9VUklfSEVBRFJFVlMnLCBkKQogICAgICAgICBrZXkgPSBzZWxmLmdlbmVyYXRlX3JldmlzaW9uX2tleSh1ZCwgZCwgbmFtZSkKQEAgLTE2MzgsNyArMTY0Miw3IEBACiAgICAgICAgICAgICB1cmxzID0gc2VsZi51cmxzCiAKICAgICAgICAgbmV0d29yayA9IHNlbGYuZC5nZXRWYXIoIkJCX05PX05FVFdPUksiKQotICAgICAgICBwcmVtaXJyb3Jvbmx5ID0gKHNlbGYuZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSA9PSAiMSIpCisgICAgICAgIHByZW1pcnJvcm9ubHkgPSBiYi51dGlscy50b19ib29sZWFuKHNlbGYuZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSkKIAogICAgICAgICBmb3IgdSBpbiB1cmxzOgogICAgICAgICAgICAgdWQgPSBzZWxmLnVkW3VdCkBAIC0xNzE2LDcgKzE3MjAsNyBAQAogICAgICAgICAgICAgICAgIHVwZGF0ZV9zdGFtcCh1ZCwgc2VsZi5kKQogCiAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gW29zLmVycm5vLkVTVEFMRV06CisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyBpbiBbZXJybm8uRVNUQUxFXToKICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJTdGFsZSBFcnJvciBPYnNlcnZlZCAlcy4iICUgdSkKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ2hlY2tzdW1FcnJvcigiU3RhbGUgRXJyb3IgRGV0ZWN0ZWQiKQogCkBAIC0xNzg2LDcgKzE3OTAsNyBAQAogCiAgICAgICAgIGZvciB1cmwgaW4gdXJsczoKICAgICAgICAgICAgIGlmIHVybCBub3QgaW4gc2VsZi51ZDoKLSAgICAgICAgICAgICAgICBzZWxmLnVkW3VybF0gPSBGZXRjaERhdGEodXJsLCBkKQorICAgICAgICAgICAgICAgIHNlbGYudWRbdXJsXSA9IEZldGNoRGF0YSh1cmwsIHNlbGYuZCkKICAgICAgICAgICAgIHVkID0gc2VsZi51ZFt1cmxdCiAgICAgICAgICAgICB1ZC5zZXR1cF9sb2NhbHBhdGgoc2VsZi5kKQogCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXQucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXQucHkKaW5kZXggNTlhMmVlOC4uODE4NWJmNCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvZ2l0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdC5weQpAQCAtMTk5LDcgKzE5OSw3IEBACiAgICAgICAgICAgICBkZXB0aF9kZWZhdWx0ID0gMQogICAgICAgICB1ZC5zaGFsbG93X2RlcHRocyA9IGNvbGxlY3Rpb25zLmRlZmF1bHRkaWN0KGxhbWJkYTogZGVwdGhfZGVmYXVsdCkKIAotICAgICAgICByZXZzX2RlZmF1bHQgPSBkLmdldFZhcigiQkJfR0lUX1NIQUxMT1dfUkVWUyIsIFRydWUpCisgICAgICAgIHJldnNfZGVmYXVsdCA9IGQuZ2V0VmFyKCJCQl9HSVRfU0hBTExPV19SRVZTIikKICAgICAgICAgdWQuc2hhbGxvd19yZXZzID0gW10KICAgICAgICAgdWQuYnJhbmNoZXMgPSB7fQogICAgICAgICBmb3IgcG9zLCBuYW1lIGluIGVudW1lcmF0ZSh1ZC5uYW1lcyk6CkBAIC0zMTgsNyArMzE4LDcgQEAKICAgICBkZWYgdHJ5X3ByZW1pcnJvcihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICMgSWYgd2UgZG9uJ3QgZG8gdGhpcywgdXBkYXRpbmcgYW4gZXhpc3RpbmcgY2hlY2tvdXQgd2l0aCBvbmx5IHByZW1pcnJvcnMKICAgICAgICAgIyBpcyBub3QgcG9zc2libGUKLSAgICAgICAgaWYgZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSIpKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHVkLmNsb25lZGlyKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtNTIyLDkgKzUyMiwxNyBAQAogICAgIGRlZiBjbGVhbihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICIiIiBjbGVhbiB0aGUgZ2l0IGRpcmVjdG9yeSAiIiIKIAotICAgICAgICBiYi51dGlscy5yZW1vdmUodWQubG9jYWxwYXRoLCBUcnVlKQotICAgICAgICBiYi51dGlscy5yZW1vdmUodWQuZnVsbG1pcnJvcikKLSAgICAgICAgYmIudXRpbHMucmVtb3ZlKHVkLmZ1bGxtaXJyb3IgKyAiLmRvbmUiKQorICAgICAgICB0b19yZW1vdmUgPSBbdWQubG9jYWxwYXRoLCB1ZC5mdWxsbWlycm9yLCB1ZC5mdWxsbWlycm9yICsgIi5kb25lIl0KKyAgICAgICAgIyBUaGUgbG9jYWxwYXRoIGlzIGEgc3ltbGluayB0byBjbG9uZWRpciB3aGVuIGl0IGlzIGNsb25lZCBmcm9tIGEKKyAgICAgICAgIyBtaXJyb3IsIHNvIHJlbW92ZSBib3RoIG9mIHRoZW0uCisgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHVkLmxvY2FscGF0aCk6CisgICAgICAgICAgICBjbG9uZWRpciA9IG9zLnBhdGgucmVhbHBhdGgodWQubG9jYWxwYXRoKQorICAgICAgICAgICAgdG9fcmVtb3ZlLmFwcGVuZChjbG9uZWRpcikKKworICAgICAgICBmb3IgciBpbiB0b19yZW1vdmU6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhyKToKKyAgICAgICAgICAgICAgICBiYi5ub3RlKCdSZW1vdmluZyAlcycgJSByKQorICAgICAgICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZShyLCBUcnVlKQogCiAgICAgZGVmIHN1cHBvcnRzX3NyY3JldihzZWxmKToKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTYxNSw3ICs2MjMsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgcHVwdmVyID0gKCcnLCAnJykKIAotICAgICAgICB0YWdyZWdleCA9IHJlLmNvbXBpbGUoZC5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJykgb3IgIig/UDxwdmVyPihbMC05XVtcLnxfXT8pKykiKQorICAgICAgICB0YWdyZWdleCA9IHJlLmNvbXBpbGUoZC5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJykgb3IgciIoP1A8cHZlcj4oWzAtOV1bXC58X10/KSspIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fbHNyZW1vdGUodWQsIGQsICJyZWZzL3RhZ3MvKiIpCiAgICAgICAgIGV4Y2VwdCAoYmIuZmV0Y2gyLkZldGNoRXJyb3IsIGJiLmZldGNoMi5OZXR3b3JrQWNjZXNzKSBhcyBlOgpAQCAtNjMwLDcgKzYzOCw3IEBACiAKICAgICAgICAgICAgIHRhZ19oZWFkID0gbGluZS5zcGxpdCgiLyIpWy0xXQogICAgICAgICAgICAgIyBJZ25vcmUgbm9uLXJlbGVhc2VkIGJyYW5jaGVzCi0gICAgICAgICAgICBtID0gcmUuc2VhcmNoKCIoYWxwaGF8YmV0YXxyY3xmaW5hbCkrIiwgdGFnX2hlYWQpCisgICAgICAgICAgICBtID0gcmUuc2VhcmNoKHIiKGFscGhhfGJldGF8cmN8ZmluYWwpKyIsIHRhZ19oZWFkKQogICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAgICAgICBjb250aW51ZQogCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9naXRzbS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CmluZGV4IGIyMWZlZDIuLjMyMzg5MTMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2dpdHNtLnB5CkBAIC0xNDcsNiArMTQ3LDIzIEBACiAKICAgICAgICAgcmV0dXJuIHN1Ym1vZHVsZXMgIT0gW10KIAorICAgIGRlZiBuZWVkX3VwZGF0ZShzZWxmLCB1ZCwgZCk6CisgICAgICAgIGlmIEdpdC5uZWVkX3VwZGF0ZShzZWxmLCB1ZCwgZCk6CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgQ2hlY2sgZm9yIHRoZSBudWdnZXQgZHJvcHBlZCBieSB0aGUgZG93bmxvYWQgb3BlcmF0aW9uCisgICAgICAgICAgICBrbm93bl9zcmNyZXZzID0gcnVuZmV0Y2hjbWQoIiVzIGNvbmZpZyAtLWdldC1hbGwgYml0YmFrZS5zcmNyZXYiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1ZC5iYXNlY21kKSwgZCwgd29ya2Rpcj11ZC5jbG9uZWRpcikKKworICAgICAgICAgICAgaWYgdWQucmV2aXNpb25zW3VkLm5hbWVzWzBdXSBub3QgaW4ga25vd25fc3JjcmV2cy5zcGxpdCgpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIGV4Y2VwdCBiYi5mZXRjaDIuRmV0Y2hFcnJvcjoKKyAgICAgICAgICAgICMgTm8gc3JjcmV2IG51Z2dldHMsIHNvIHRoaXMgaXMgbmV3IGFuZCBuZWVkcyB0byBiZSB1cGRhdGVkCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHJldHVybiBGYWxzZQorCiAgICAgZGVmIGRvd25sb2FkKHNlbGYsIHVkLCBkKToKICAgICAgICAgZGVmIGRvd25sb2FkX3N1Ym1vZHVsZSh1ZCwgdXJsLCBtb2R1bGUsIG1vZHBhdGgsIGQpOgogICAgICAgICAgICAgdXJsICs9ICI7YmFyZWNsb25lPTE7bm9icmFuY2g9MSIKQEAgLTE1Nyw2ICsxNzQsOSBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG5ld2ZldGNoID0gRmV0Y2goW3VybF0sIGQsIGNhY2hlPUZhbHNlKQogICAgICAgICAgICAgICAgIG5ld2ZldGNoLmRvd25sb2FkKCkKKyAgICAgICAgICAgICAgICAjIERyb3AgYSBudWdnZXQgdG8gYWRkIGVhY2ggb2YgdGhlIHNyY3JldnMgd2UndmUgZmV0Y2hlZCAodXNlZCBieSBuZWVkX3VwZGF0ZSkKKyAgICAgICAgICAgICAgICBydW5mZXRjaGNtZCgiJXMgY29uZmlnIC0tYWRkIGJpdGJha2Uuc3JjcmV2ICVzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWQuYmFzZWNtZCwgdWQucmV2aXNpb25zW3VkLm5hbWVzWzBdXSksIGQsIHdvcmtkaXI9dWQuY2xvbmVkaXIpCiAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdnaXRzbTogc3VibW9kdWxlIGRvd25sb2FkIGZhaWxlZDogJXMgJXMnICUgKHR5cGUoZSkuX19uYW1lX18sIHN0cihlKSkpCiAgICAgICAgICAgICAgICAgcmFpc2UKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL2hnLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKaW5kZXggOTM2ZDA0My4uNWEyOTg1ZSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvaGcucHkKQEAgLTk5LDcgKzk5LDcgQEAKICAgICBkZWYgdHJ5X3ByZW1pcnJvcihzZWxmLCB1ZCwgZCk6CiAgICAgICAgICMgSWYgd2UgZG9uJ3QgZG8gdGhpcywgdXBkYXRpbmcgYW4gZXhpc3RpbmcgY2hlY2tvdXQgd2l0aCBvbmx5IHByZW1pcnJvcnMKICAgICAgICAgIyBpcyBub3QgcG9zc2libGUKLSAgICAgICAgaWYgZC5nZXRWYXIoIkJCX0ZFVENIX1BSRU1JUlJPUk9OTFkiKSBpcyBub3QgTm9uZToKKyAgICAgICAgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcigiQkJfRkVUQ0hfUFJFTUlSUk9ST05MWSIpKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHVkLm1vZGRpcik6CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL25wbS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL25wbS5weQppbmRleCA0MDhkZmMzLi42NWJmNWEzIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi9ucG0ucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvbnBtLnB5CkBAIC0yMjYsNyArMjI2LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2dldHNocmlua2VkZGVwZW5kZW5jaWVzKG9iaiwgZGF0YVsnZGVwZW5kZW5jaWVzJ11bb2JqXSwgZGF0YVsnZGVwZW5kZW5jaWVzJ11bb2JqXVsndmVyc2lvbiddLCBkLCB1ZCwgbG9ja2Rvd24sIG1hbmlmZXN0LCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICBvdXRwdXR1cmwgPSAiaW52YWxpZCIKLSAgICAgICAgaWYgKCdyZXNvbHZlZCcgbm90IGluIGRhdGEpIG9yIChub3QgZGF0YVsncmVzb2x2ZWQnXS5zdGFydHN3aXRoKCdodHRwJykpOgorICAgICAgICBpZiAoJ3Jlc29sdmVkJyBub3QgaW4gZGF0YSkgb3IgKG5vdCBkYXRhWydyZXNvbHZlZCddLnN0YXJ0c3dpdGgoJ2h0dHA6Ly8nKSBhbmQgbm90IGRhdGFbJ3Jlc29sdmVkJ10uc3RhcnRzd2l0aCgnaHR0cHM6Ly8nKSk6CiAgICAgICAgICAgICAjIHdpbGwgYmUgdGhlIGNhc2UgZm9yICR7UE59CiAgICAgICAgICAgICBmZXRjaGNtZCA9ICJucG0gdmlldyAlc0AlcyBkaXN0LnRhcmJhbGwgLS1yZWdpc3RyeSAlcyIgJSAocGtnLCB2ZXJzaW9uLCB1ZC5yZWdpc3RyeSkKICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygyLCAiRm91bmQgdGhpcyBtYXRjaGluZyBVUkw6ICVzIiAlIHN0cihmZXRjaGNtZCkpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi93Z2V0LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9mZXRjaDIvd2dldC5weQppbmRleCA4ZjUwNWI2Li4zYmIzZTNiIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL2ZldGNoMi93Z2V0LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvZmV0Y2gyL3dnZXQucHkKQEAgLTMzLDExICszMywxNCBAQAogaW1wb3J0IGVycm5vCiBpbXBvcnQgYmIKIGltcG9ydCBiYi5wcm9ncmVzcworaW1wb3J0IHNvY2tldAoraW1wb3J0IGh0dHAuY2xpZW50CiBpbXBvcnQgdXJsbGliLnJlcXVlc3QsIHVybGxpYi5wYXJzZSwgdXJsbGliLmVycm9yCiBmcm9tICAgYmIuZmV0Y2gyIGltcG9ydCBGZXRjaE1ldGhvZAogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hFcnJvcgogZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgbG9nZ2VyCiBmcm9tICAgYmIuZmV0Y2gyIGltcG9ydCBydW5mZXRjaGNtZAorZnJvbSAgIGJiLmZldGNoMiBpbXBvcnQgRmV0Y2hDb25uZWN0aW9uQ2FjaGUKIGZyb20gICBiYi51dGlscyBpbXBvcnQgZXhwb3J0X3Byb3hpZXMKIGZyb20gICBiczQgaW1wb3J0IEJlYXV0aWZ1bFNvdXAKIGZyb20gICBiczQgaW1wb3J0IFNvdXBTdHJhaW5lcgpAQCAtMTMyLDEwICsxMzUsNiBAQAogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIGNoZWNrc3RhdHVzKHNlbGYsIGZldGNoLCB1ZCwgZCwgdHJ5X2FnYWluPVRydWUpOgotICAgICAgICBpbXBvcnQgdXJsbGliLnJlcXVlc3QsIHVybGxpYi5lcnJvciwgdXJsbGliLnBhcnNlLCBzb2NrZXQsIGh0dHAuY2xpZW50Ci0gICAgICAgIGZyb20gdXJsbGliLnJlc3BvbnNlIGltcG9ydCBhZGRpbmZvdXJsCi0gICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaENvbm5lY3Rpb25DYWNoZQotCiAgICAgICAgIGNsYXNzIEhUVFBDb25uZWN0aW9uQ2FjaGUoaHR0cC5jbGllbnQuSFRUUENvbm5lY3Rpb24pOgogICAgICAgICAgICAgaWYgZmV0Y2guY29ubmVjdGlvbl9jYWNoZToKICAgICAgICAgICAgICAgICBkZWYgY29ubmVjdChzZWxmKToKQEAgLTE2OCw3ICsxNjcsNyBAQAogICAgICAgICAgICAgICAgICIiIgogICAgICAgICAgICAgICAgIGhvc3QgPSByZXEuaG9zdAogICAgICAgICAgICAgICAgIGlmIG5vdCBob3N0OgotICAgICAgICAgICAgICAgICAgICByYWlzZSB1cmxsbGliMi5VUkxFcnJvcignbm8gaG9zdCBnaXZlbicpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIHVybGxpYi5lcnJvci5VUkxFcnJvcignbm8gaG9zdCBnaXZlbicpCiAKICAgICAgICAgICAgICAgICBoID0gaHR0cF9jbGFzcyhob3N0LCB0aW1lb3V0PXJlcS50aW1lb3V0KSAjIHdpbGwgcGFyc2UgaG9zdDpwb3J0CiAgICAgICAgICAgICAgICAgaC5zZXRfZGVidWdsZXZlbChzZWxmLl9kZWJ1Z2xldmVsKQpAQCAtMTg1LDcgKzE4NCw3IEBACiAgICAgICAgICAgICAgICAgIyByZXF1ZXN0LgogCiAgICAgICAgICAgICAgICAgIyBEb24ndCBjbG9zZSBjb25uZWN0aW9uIHdoZW4gY29ubmVjdGlvbl9jYWNoZSBpcyBlbmFibGVkLAotICAgICAgICAgICAgICAgIGlmIGZldGNoLmNvbm5lY3Rpb25fY2FjaGUgaXMgTm9uZTogCisgICAgICAgICAgICAgICAgaWYgZmV0Y2guY29ubmVjdGlvbl9jYWNoZSBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICBoZWFkZXJzWyJDb25uZWN0aW9uIl0gPSAiY2xvc2UiCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgaGVhZGVyc1siQ29ubmVjdGlvbiJdID0gIktlZXAtQWxpdmUiICMgV29ya3MgZm9yIEhUVFAvMS4wCkBAIC0yNTIsNyArMjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICAgICAgY2xvc2VkID0gRmFsc2UKIAotICAgICAgICAgICAgICAgIHJlc3AgPSBhZGRpbmZvdXJsKGZwX2R1bW15KCksIHIubXNnLCByZXEuZ2V0X2Z1bGxfdXJsKCkpCisgICAgICAgICAgICAgICAgcmVzcCA9IHVybGxpYi5yZXNwb25zZS5hZGRpbmZvdXJsKGZwX2R1bW15KCksIHIubXNnLCByZXEuZ2V0X2Z1bGxfdXJsKCkpCiAgICAgICAgICAgICAgICAgcmVzcC5jb2RlID0gci5zdGF0dXMKICAgICAgICAgICAgICAgICByZXNwLm1zZyA9IHIucmVhc29uCiAKQEAgLTI3MSwxNyArMjcwLDE2IEBACiAgICAgICAgICAgICAgICAgZnAucmVhZCgpCiAgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQogCi0gICAgICAgICAgICAgICAgbmV3aGVhZGVycyA9IGRpY3QoKGssdikgZm9yIGssdiBpbiBsaXN0KHJlcS5oZWFkZXJzLml0ZW1zKCkpCisgICAgICAgICAgICAgICAgbmV3aGVhZGVycyA9IGRpY3QoKGssIHYpIGZvciBrLCB2IGluIGxpc3QocmVxLmhlYWRlcnMuaXRlbXMoKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBrLmxvd2VyKCkgbm90IGluICgiY29udGVudC1sZW5ndGgiLCAiY29udGVudC10eXBlIikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucGFyZW50Lm9wZW4odXJsbGliLnJlcXVlc3QuUmVxdWVzdChyZXEuZ2V0X2Z1bGxfdXJsKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM9bmV3aGVhZGVycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luX3JlcV9ob3N0PXJlcS5vcmlnaW5fcmVxX2hvc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudmVyaWZpYWJsZT1UcnVlKSkKIAotICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICBTb21lIHNlcnZlcnMgKGUuZy4gR2l0SHViIGFyY2hpdmVzLCBob3N0ZWQgb24gQW1hem9uIFMzKSByZXR1cm4gNDAzCi0gICAgICAgICAgICBGb3JiaWRkZW4gd2hlbiB0aGV5IGFjdHVhbGx5IG1lYW4gNDA1IE1ldGhvZCBOb3QgQWxsb3dlZC4KLSAgICAgICAgICAgICIiIgorCisgICAgICAgICAgICAjIFNvbWUgc2VydmVycyAoZS5nLiBHaXRIdWIgYXJjaGl2ZXMsIGhvc3RlZCBvbiBBbWF6b24gUzMpIHJldHVybiA0MDMKKyAgICAgICAgICAgICMgRm9yYmlkZGVuIHdoZW4gdGhleSBhY3R1YWxseSBtZWFuIDQwNSBNZXRob2QgTm90IEFsbG93ZWQuCiAgICAgICAgICAgICBodHRwX2Vycm9yXzQwMyA9IGh0dHBfZXJyb3JfNDA1CiAKIApAQCAtMjkyLDE1ICsyOTAsMTUgQEAKICAgICAgICAgICAgICIiIgogICAgICAgICAgICAgZGVmIHJlZGlyZWN0X3JlcXVlc3Qoc2VsZiwgcmVxLCBmcCwgY29kZSwgbXNnLCBoZWFkZXJzLCBuZXd1cmwpOgogICAgICAgICAgICAgICAgIG5ld3JlcSA9IHVybGxpYi5yZXF1ZXN0LkhUVFBSZWRpcmVjdEhhbmRsZXIucmVkaXJlY3RfcmVxdWVzdChzZWxmLCByZXEsIGZwLCBjb2RlLCBtc2csIGhlYWRlcnMsIG5ld3VybCkKLSAgICAgICAgICAgICAgICBuZXdyZXEuZ2V0X21ldGhvZCA9IGxhbWJkYTogcmVxLmdldF9tZXRob2QoKQorICAgICAgICAgICAgICAgIG5ld3JlcS5nZXRfbWV0aG9kID0gcmVxLmdldF9tZXRob2QKICAgICAgICAgICAgICAgICByZXR1cm4gbmV3cmVxCiAgICAgICAgIGV4cG9ydGVkX3Byb3hpZXMgPSBleHBvcnRfcHJveGllcyhkKQogCiAgICAgICAgIGhhbmRsZXJzID0gW0ZpeGVkSFRUUFJlZGlyZWN0SGFuZGxlciwgSFRUUE1ldGhvZEZhbGxiYWNrXQotICAgICAgICBpZiBleHBvcnRfcHJveGllczoKKyAgICAgICAgaWYgZXhwb3J0ZWRfcHJveGllczoKICAgICAgICAgICAgIGhhbmRsZXJzLmFwcGVuZCh1cmxsaWIucmVxdWVzdC5Qcm94eUhhbmRsZXIoKSkKICAgICAgICAgaGFuZGxlcnMuYXBwZW5kKENhY2hlSFRUUEhhbmRsZXIoKSkKLSAgICAgICAgIyBYWFg6IFNpbmNlIFB5dGhvbiAyLjcuOSBzc2wgY2VydCB2YWxpZGF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdAorICAgICAgICAjIFNpbmNlIFB5dGhvbiAyLjcuOSBzc2wgY2VydCB2YWxpZGF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdAogICAgICAgICAjIHNlZSBQRVAtMDQ3NiwgdGhpcyBjYXVzZXMgdmVyaWZpY2F0aW9uIGVycm9ycyBvbiBzb21lIGh0dHBzIHNlcnZlcnMKICAgICAgICAgIyBzbyBkaXNhYmxlIGJ5IGRlZmF1bHQuCiAgICAgICAgIGltcG9ydCBzc2wKQEAgLTMxOSwxOSArMzE3LDE5IEBACiAgICAgICAgICAgICAgICAgJycnQWRkcyBCYXNpYyBhdXRoIHRvIGh0dHAgcmVxdWVzdCwgcGFzcyBpbiBsb2dpbjpwYXNzd29yZCBhcyBzdHJpbmcnJycKICAgICAgICAgICAgICAgICBpbXBvcnQgYmFzZTY0CiAgICAgICAgICAgICAgICAgZW5jb2RldXNlciA9IGJhc2U2NC5iNjRlbmNvZGUobG9naW5fc3RyLmVuY29kZSgndXRmLTgnKSkuZGVjb2RlKCJ1dGYtOCIpCi0gICAgICAgICAgICAgICAgYXV0aGhlYWRlciA9ICAiQmFzaWMgJXMiICUgZW5jb2RldXNlcgorICAgICAgICAgICAgICAgIGF1dGhoZWFkZXIgPSAiQmFzaWMgJXMiICUgZW5jb2RldXNlcgogICAgICAgICAgICAgICAgIHIuYWRkX2hlYWRlcigiQXV0aG9yaXphdGlvbiIsIGF1dGhoZWFkZXIpCiAKLSAgICAgICAgICAgIGlmIHVkLnVzZXI6Ci0gICAgICAgICAgICAgICAgYWRkX2Jhc2ljX2F1dGgodWQudXNlciwgcikKKyAgICAgICAgICAgIGlmIHVkLnVzZXIgYW5kIHVkLnBzd2Q6CisgICAgICAgICAgICAgICAgYWRkX2Jhc2ljX2F1dGgodWQudXNlciArICc6JyArIHVkLnBzd2QsIHIpCiAKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBpbXBvcnQgbmV0cmMsIHVybGxpYi5wYXJzZQorICAgICAgICAgICAgICAgIGltcG9ydCBuZXRyYwogICAgICAgICAgICAgICAgIG4gPSBuZXRyYy5uZXRyYygpCiAgICAgICAgICAgICAgICAgbG9naW4sIHVudXNlZCwgcGFzc3dvcmQgPSBuLmF1dGhlbnRpY2F0b3JzKHVybGxpYi5wYXJzZS51cmxwYXJzZSh1cmkpLmhvc3RuYW1lKQogICAgICAgICAgICAgICAgIGFkZF9iYXNpY19hdXRoKCIlczolcyIgJSAobG9naW4sIHBhc3N3b3JkKSwgcikKICAgICAgICAgICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBJbXBvcnRFcnJvciwgSU9FcnJvciwgbmV0cmMuTmV0cmNQYXJzZUVycm9yKToKLSAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICAgICAgd2l0aCBvcGVuZXIub3BlbihyKSBhcyByZXNwb25zZToKICAgICAgICAgICAgICAgICBwYXNzCkBAIC0zOTYsMTggKzM5NCwxNCBAQAogICAgICAgICAob2xkcG4sIG9sZHB2LCBvbGRzdWZmaXgpID0gb2xkCiAgICAgICAgIChuZXdwbiwgbmV3cHYsIG5ld3N1ZmZpeCkgPSBuZXcKIAotICAgICAgICAiIiIKLSAgICAgICAgQ2hlY2sgZm9yIGEgbmV3IHN1ZmZpeCB0eXBlIHRoYXQgd2UgaGF2ZSBuZXZlciBoZWFyZCBvZiBiZWZvcmUKLSAgICAgICAgIiIiCi0gICAgICAgIGlmIChuZXdzdWZmaXgpOgorICAgICAgICAjIENoZWNrIGZvciBhIG5ldyBzdWZmaXggdHlwZSB0aGF0IHdlIGhhdmUgbmV2ZXIgaGVhcmQgb2YgYmVmb3JlCisgICAgICAgIGlmIG5ld3N1ZmZpeDoKICAgICAgICAgICAgIG0gPSBzZWxmLnN1ZmZpeF9yZWdleF9jb21wLnNlYXJjaChuZXdzdWZmaXgpCiAgICAgICAgICAgICBpZiBub3QgbToKICAgICAgICAgICAgICAgICBiYi53YXJuKCIlcyBoYXMgYSBwb3NzaWJsZSB1bmtub3duIHN1ZmZpeDogJXMiICUgKG5ld3BuLCBuZXdzdWZmaXgpKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgICIiIgotICAgICAgICBOb3Qgb3VyIHBhY2thZ2Ugc28gaWdub3JlIGl0Ci0gICAgICAgICIiIgorICAgICAgICAjIE5vdCBvdXIgcGFja2FnZSBzbyBpZ25vcmUgaXQKICAgICAgICAgaWYgb2xkcG4gIT0gbmV3cG46CiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIApAQCAtNDczLDE1ICs0NjcsMTQgQEAKIAogICAgICAgICByZXR1cm4gIiIKIAotICAgIGRlZiBfY2hlY2tfbGF0ZXN0X3ZlcnNpb25fYnlfZGlyKHNlbGYsIGRpcnZlciwgcGFja2FnZSwgcGFja2FnZV9yZWdleCwKLSAgICAgICAgICAgIGN1cnJlbnRfdmVyc2lvbiwgdWQsIGQpOgorICAgIGRlZiBfY2hlY2tfbGF0ZXN0X3ZlcnNpb25fYnlfZGlyKHNlbGYsIGRpcnZlciwgcGFja2FnZSwgcGFja2FnZV9yZWdleCwgY3VycmVudF92ZXJzaW9uLCB1ZCwgZCk6CiAgICAgICAgICIiIgotICAgICAgICAgICAgU2NhbiBldmVyeSBkaXJlY3RvcnkgaW4gb3JkZXIgdG8gZ2V0IHVwc3RyZWFtIHZlcnNpb24uCisgICAgICAgIFNjYW4gZXZlcnkgZGlyZWN0b3J5IGluIG9yZGVyIHRvIGdldCB1cHN0cmVhbSB2ZXJzaW9uLgogICAgICAgICAiIiIKICAgICAgICAgdmVyc2lvbl9kaXIgPSBbJycsICcnLCAnJ10KICAgICAgICAgdmVyc2lvbiA9IFsnJywgJycsICcnXQogCi0gICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUoIig/UDxwZng+XEQqKSg/UDx2ZXI+KFxkK1tcLlwtX10pKyhcZCspKSIpCisgICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUociIoP1A8cGZ4PlxEKikoP1A8dmVyPihcZCtbXC5cLV9dKSsoXGQrKSkiKQogICAgICAgICBzID0gZGlydmVyX3JlZ2V4LnNlYXJjaChkaXJ2ZXIpCiAgICAgICAgIGlmIHM6CiAgICAgICAgICAgICB2ZXJzaW9uX2RpclsxXSA9IHMuZ3JvdXAoJ3ZlcicpCkBAIC01NDEsMjYgKzUzNCwyNiBAQAogICAgICAgICAgICAgICAgIGdzdC1mbHVlbmRvLW1wMwogICAgICAgICAiIiIKICAgICAgICAgIyBtYXRjaCBtb3N0IHBhdHRlcm5zIHdoaWNoIHVzZXMgIi0iIGFzIHNlcGFyYXRvciB0byB2ZXJzaW9uIGRpZ2l0cwotICAgICAgICBwbl9wcmVmaXgxID0gIlthLXpBLVpdW2EtekEtWjAtOV0qKFstX11bYS16QS1aXVx3KykqXCs/Wy1fXSIKKyAgICAgICAgcG5fcHJlZml4MSA9IHIiW2EtekEtWl1bYS16QS1aMC05XSooWy1fXVthLXpBLVpdXHcrKSpcKz9bLV9dIgogICAgICAgICAjIGEgbG9vc2UgcGF0dGVybiBzdWNoIGFzIGZvciB1bnppcDU1Mi50YXIuZ3oKLSAgICAgICAgcG5fcHJlZml4MiA9ICJbYS16QS1aXSsiCisgICAgICAgIHBuX3ByZWZpeDIgPSByIlthLXpBLVpdKyIKICAgICAgICAgIyBhIGxvb3NlIHBhdHRlcm4gc3VjaCBhcyBmb3IgODAzMjUtcXVpY2t5LTAuNC50YXIuZ3oKLSAgICAgICAgcG5fcHJlZml4MyA9ICJbMC05XStbLV0/W2EtekEtWl0rIgorICAgICAgICBwbl9wcmVmaXgzID0gciJbMC05XStbLV0/W2EtekEtWl0rIgogICAgICAgICAjIFNhdmUgdGhlIFBhY2thZ2UgTmFtZSAocG4pIFJlZ2V4IGZvciB1c2UgbGF0ZXIKLSAgICAgICAgcG5fcmVnZXggPSAiKCVzfCVzfCVzKSIgJSAocG5fcHJlZml4MSwgcG5fcHJlZml4MiwgcG5fcHJlZml4MykKKyAgICAgICAgcG5fcmVnZXggPSByIiglc3wlc3wlcykiICUgKHBuX3ByZWZpeDEsIHBuX3ByZWZpeDIsIHBuX3ByZWZpeDMpCiAKICAgICAgICAgIyBtYXRjaCB2ZXJzaW9uCi0gICAgICAgIHB2ZXJfcmVnZXggPSAiKChbQS1aXSpcZCtbYS16QS1aXSpbXC5cLV9dKikrKSIKKyAgICAgICAgcHZlcl9yZWdleCA9IHIiKChbQS1aXSpcZCtbYS16QS1aXSpbXC5cLV9dKikrKSIKIAogICAgICAgICAjIG1hdGNoIGFyY2gKICAgICAgICAgcGFyY2hfcmVnZXggPSAiLXNvdXJjZXxfYWxsXyIKIAogICAgICAgICAjIHNyYy5ycG0gZXh0ZW5zaW9uIHdhcyBhZGRlZCBvbmx5IGZvciBycG0gcGFja2FnZS4gQ2FuIGJlIHJlbW92ZWQgaWYgdGhlIHJwbQogICAgICAgICAjIHBhY2thZ2VkIHdpbGwgYWx3YXlzIGJlIGNvbnNpZGVyZWQgYXMgaGF2aW5nIHRvIGJlIG1hbnVhbGx5IHVwZ3JhZGVkCi0gICAgICAgIHBzdWZmaXhfcmVnZXggPSAiKHRhclwuZ3p8dGd6fHRhclwuYnoyfHppcHx4enx0YXJcLmx6fHJwbXxiejJ8b3JpZ1wudGFyXC5nenx0YXJcLnh6fHNyY1wudGFyXC5nenxzcmNcLnRnenxzdm5yXGQrXC50YXJcLmJ6MnxzdGFibGVcLnRhclwuZ3p8c3JjXC5ycG0pIgorICAgICAgICBwc3VmZml4X3JlZ2V4ID0gciIodGFyXC5nenx0Z3p8dGFyXC5iejJ8emlwfHh6fHRhclwubHp8cnBtfGJ6MnxvcmlnXC50YXJcLmd6fHRhclwueHp8c3JjXC50YXJcLmd6fHNyY1wudGd6fHN2bnJcZCtcLnRhclwuYnoyfHN0YWJsZVwudGFyXC5nenxzcmNcLnJwbSkiCiAKICAgICAgICAgIyBtYXRjaCBuYW1lLCB2ZXJzaW9uIGFuZCBhcmNoaXZlIHR5cGUgb2YgYSBwYWNrYWdlCi0gICAgICAgIHBhY2thZ2VfcmVnZXhfY29tcCA9IHJlLmNvbXBpbGUoIig/UDxuYW1lPiVzP1wuP3Y/KSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzJCkiCisgICAgICAgIHBhY2thZ2VfcmVnZXhfY29tcCA9IHJlLmNvbXBpbGUociIoP1A8bmFtZT4lcz9cLj92PykoP1A8cHZlcj4lcykoP1A8YXJjaD4lcyk/W1wuLV0oP1A8dHlwZT4lcyQpIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHBuX3JlZ2V4LCBwdmVyX3JlZ2V4LCBwYXJjaF9yZWdleCwgcHN1ZmZpeF9yZWdleCkpCiAgICAgICAgIHNlbGYuc3VmZml4X3JlZ2V4X2NvbXAgPSByZS5jb21waWxlKHBzdWZmaXhfcmVnZXgpCiAKQEAgLTU3Miw3ICs1NjUsNyBAQAogICAgICAgICAgICAgdmVyc2lvbiA9IHNlbGYuX3BhcnNlX3BhdGgocGFja2FnZV9yZWdleF9jb21wLCBwYWNrYWdlKQogICAgICAgICAgICAgaWYgdmVyc2lvbjoKICAgICAgICAgICAgICAgICBwYWNrYWdlX2N1c3RvbV9yZWdleF9jb21wID0gcmUuY29tcGlsZSgKLSAgICAgICAgICAgICAgICAgICAgIig/UDxuYW1lPiVzKSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzKSIgJQorICAgICAgICAgICAgICAgICAgICByIig/UDxuYW1lPiVzKSg/UDxwdmVyPiVzKSg/UDxhcmNoPiVzKT9bXC4tXSg/UDx0eXBlPiVzKSIgJQogICAgICAgICAgICAgICAgICAgICAocmUuZXNjYXBlKHZlcnNpb25bMF0pLCBwdmVyX3JlZ2V4LCBwYXJjaF9yZWdleCwgcHN1ZmZpeF9yZWdleCkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHBhY2thZ2VfY3VzdG9tX3JlZ2V4X2NvbXAgPSBOb25lCkBAIC01ODksNyArNTgyLDcgQEAKICAgICAgICAgY3VycmVudF92ZXJzaW9uID0gWycnLCBkLmdldFZhcignUFYnKSwgJyddCiAKICAgICAgICAgIiIicG9zc2libGUgdG8gaGF2ZSBubyB2ZXJzaW9uIGluIHBrZyBuYW1lLCBzdWNoIGFzIHNwZWN0cnVtLWZ3IiIiCi0gICAgICAgIGlmIG5vdCByZS5zZWFyY2goIlxkKyIsIHBhY2thZ2UpOgorICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHIiXGQrIiwgcGFja2FnZSk6CiAgICAgICAgICAgICBjdXJyZW50X3ZlcnNpb25bMV0gPSByZS5zdWIoJ18nLCAnLicsIGN1cnJlbnRfdmVyc2lvblsxXSkKICAgICAgICAgICAgIGN1cnJlbnRfdmVyc2lvblsxXSA9IHJlLnN1YignLScsICcuJywgY3VycmVudF92ZXJzaW9uWzFdKQogICAgICAgICAgICAgcmV0dXJuIChjdXJyZW50X3ZlcnNpb25bMV0sICcnKQpAQCAtNjA3LDEzICs2MDAsMTMgQEAKIAogICAgICAgICAgICAgIyBzZWFyY2ggZm9yIHZlcnNpb24gbWF0Y2hlcyBvbiBmb2xkZXJzIGluc2lkZSB0aGUgcGF0aCwgbGlrZToKICAgICAgICAgICAgICMgIjUuNyIgaW4gaHR0cDovL2Rvd25sb2FkLmdub21lLm9yZy9zb3VyY2VzLyR7UE59LzUuNy8ke1BOfS0ke1BWfS50YXIuZ3oKLSAgICAgICAgICAgIGRpcnZlcl9yZWdleCA9IHJlLmNvbXBpbGUoIig/UDxkaXJ2ZXI+W14vXSooXGQrXC4pKlxkKyhbLV9dclxkKykqKS8iKQorICAgICAgICAgICAgZGlydmVyX3JlZ2V4ID0gcmUuY29tcGlsZShyIig/UDxkaXJ2ZXI+W14vXSooXGQrXC4pKlxkKyhbLV9dclxkKykqKS8iKQogICAgICAgICAgICAgbSA9IGRpcnZlcl9yZWdleC5zZWFyY2gocGF0aCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcG4gPSBkLmdldFZhcignUE4nKQogICAgICAgICAgICAgICAgIGRpcnZlciA9IG0uZ3JvdXAoJ2RpcnZlcicpCiAKLSAgICAgICAgICAgICAgICBkaXJ2ZXJfcG5fcmVnZXggPSByZS5jb21waWxlKCIlc1xkPyIgJSAocmUuZXNjYXBlKHBuKSkpCisgICAgICAgICAgICAgICAgZGlydmVyX3BuX3JlZ2V4ID0gcmUuY29tcGlsZShyIiVzXGQ/IiAlIChyZS5lc2NhcGUocG4pKSkKICAgICAgICAgICAgICAgICBpZiBub3QgZGlydmVyX3BuX3JlZ2V4LnNlYXJjaChkaXJ2ZXIpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHNlbGYuX2NoZWNrX2xhdGVzdF92ZXJzaW9uX2J5X2RpcihkaXJ2ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICBwYWNrYWdlLCBwYWNrYWdlX3JlZ2V4LCBjdXJyZW50X3ZlcnNpb24sIHVkLCBkKSwgJycpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL21haW4ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL21haW4ucHkKaW5kZXggN2RjOTUzZC4uNDFkZDNiOSAxMDA3NTUKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tYWluLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvbWFpbi5weQpAQCAtNDc1LDEwICs0NzUsMTEgQEAKICAgICAgICAgICAgICAgICBpZiBub3QgcmV0cmllczoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICByZXRyaWVzIC09IDEKKyAgICAgICAgICAgICAgICB0cnlubyA9IDggLSByZXRyaWVzCiAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShlLCAoYmIuc2VydmVyLnByb2Nlc3MuUHJvY2Vzc1RpbWVvdXQsIEJyb2tlblBpcGVFcnJvcikpOgotICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmV0cnlpbmcgc2VydmVyIGNvbm5lY3Rpb24uLi4iKQorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUmV0cnlpbmcgc2VydmVyIGNvbm5lY3Rpb24gKCMlZCkuLi4iICUgdHJ5bm8pCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uLi4uICglcykiICUgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIlJldHJ5aW5nIHNlcnZlciBjb25uZWN0aW9uICgjJWQpLi4uICglcykiICUgKHRyeW5vLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpKSkKICAgICAgICAgICAgIGlmIG5vdCByZXRyaWVzOgogICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJVbmFibGUgdG8gY29ubmVjdCB0byBiaXRiYWtlIHNlcnZlciwgb3Igc3RhcnQgb25lIikKICAgICAgICAgICAgIGlmIHJldHJpZXMgPCA1OgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tb25pdG9yZGlzay5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvbW9uaXRvcmRpc2sucHkKaW5kZXggODMzY2QzZC4uMmFkMWU2MSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9tb25pdG9yZGlzay5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL21vbml0b3JkaXNrLnB5CkBAIC0yOCwxNiArMjgsMTYgQEAKIAogICAgICIiIiBDb252ZXJ0IHRoZSBzcGFjZSB1bml0IEcsIE0sIEssIHRoZSB1bml0IGlzIGNhc2UtaW5zZW5zaXRpdmUgIiIiCiAKLSAgICB1bml0RyA9IHJlLm1hdGNoKCcoWzEtOV1bMC05XSopW2dHXVxzPyQnLCB1bml0KQorICAgIHVuaXRHID0gcmUubWF0Y2gocicoWzEtOV1bMC05XSopW2dHXVxzPyQnLCB1bml0KQogICAgIGlmIHVuaXRHOgogICAgICAgICByZXR1cm4gaW50KHVuaXRHLmdyb3VwKDEpKSAqICgxMDI0ICoqIDMpCi0gICAgdW5pdE0gPSByZS5tYXRjaCgnKFsxLTldWzAtOV0qKVttTV1ccz8kJywgdW5pdCkKKyAgICB1bml0TSA9IHJlLm1hdGNoKHInKFsxLTldWzAtOV0qKVttTV1ccz8kJywgdW5pdCkKICAgICBpZiB1bml0TToKICAgICAgICAgcmV0dXJuIGludCh1bml0TS5ncm91cCgxKSkgKiAoMTAyNCAqKiAyKQotICAgIHVuaXRLID0gcmUubWF0Y2goJyhbMS05XVswLTldKilba0tdXHM/JCcsIHVuaXQpCisgICAgdW5pdEsgPSByZS5tYXRjaChyJyhbMS05XVswLTldKilba0tdXHM/JCcsIHVuaXQpCiAgICAgaWYgdW5pdEs6CiAgICAgICAgIHJldHVybiBpbnQodW5pdEsuZ3JvdXAoMSkpICogMTAyNAotICAgIHVuaXROID0gcmUubWF0Y2goJyhbMS05XVswLTldKilccz8kJywgdW5pdCkKKyAgICB1bml0TiA9IHJlLm1hdGNoKHInKFsxLTldWzAtOV0qKVxzPyQnLCB1bml0KQogICAgIGlmIHVuaXROOgogICAgICAgICByZXR1cm4gaW50KHVuaXROLmdyb3VwKDEpKQogICAgIGVsc2U6CkBAIC04Myw3ICs4Myw3IEBACiAgICAgZm9yIHBhdGhTcGFjZUlub2RlIGluIEJCRGlycy5zcGxpdCgpOgogICAgICAgICAjIFRoZSBpbnB1dCBmb3JtYXQgaXM6ICJkaXIsc3BhY2UsaW5vZGUiLCBkaXIgaXMgYSBtdXN0LCBzcGFjZQogICAgICAgICAjIGFuZCBpbm9kZSBhcmUgb3B0aW9uYWwKLSAgICAgICAgcGF0aFNwYWNlSW5vZGVSZSA9IHJlLm1hdGNoKCcoW14sXSopLChbXixdKiksKFteLF0qKSw/KC4qKScsIHBhdGhTcGFjZUlub2RlKQorICAgICAgICBwYXRoU3BhY2VJbm9kZVJlID0gcmUubWF0Y2gocicoW14sXSopLChbXixdKiksKFteLF0qKSw/KC4qKScsIHBhdGhTcGFjZUlub2RlKQogICAgICAgICBpZiBub3QgcGF0aFNwYWNlSW5vZGVSZToKICAgICAgICAgICAgIHByaW50RXJyKCJJbnZhbGlkIHZhbHVlIGluIEJCX0RJU0tNT05fRElSUzogJXMiICUgcGF0aFNwYWNlSW5vZGUpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAgICAgZWxzZToKICAgICAgICAgIyBUaGUgZGlzayBzcGFjZSBvciBpbm9kZSBpbnRlcnZhbCBpcyBvcHRpb25hbCwgYnV0IGl0IHNob3VsZAogICAgICAgICAjIGhhdmUgYSBjb3JyZWN0IHZhbHVlIG9uY2UgaXQgaXMgc3BlY2lmaWVkCi0gICAgICAgIGludGVydmFsUmUgPSByZS5tYXRjaCgnKFteLF0qKSw/XHMqKC4qKScsIGludGVydmFsKQorICAgICAgICBpbnRlcnZhbFJlID0gcmUubWF0Y2gocicoW14sXSopLD9ccyooLiopJywgaW50ZXJ2YWwpCiAgICAgICAgIGlmIGludGVydmFsUmU6CiAgICAgICAgICAgICBpbnRlcnZhbFNwYWNlID0gaW50ZXJ2YWxSZS5ncm91cCgxKQogICAgICAgICAgICAgaWYgaW50ZXJ2YWxTcGFjZToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvYXN0LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKaW5kZXggOWQyMGMzMi4uNmQ3YzgwYiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9hc3QucHkKQEAgLTE3OCw3ICsxNzgsNyBAQAogICAgICAgICAgICAgZnVuY25hbWUgPSAoIl9fYW5vbl8lc18lcyIgJSAoc2VsZi5saW5lbm8sIHNlbGYuZmlsZW5hbWUudHJhbnNsYXRlKE1ldGhvZE5vZGUudHJfdGJsKSkpCiAgICAgICAgICAgICBzZWxmLnB5dGhvbiA9IFRydWUKICAgICAgICAgICAgIHRleHQgPSAiZGVmICVzKGQpOlxuIiAlIChmdW5jbmFtZSkgKyB0ZXh0Ci0gICAgICAgICAgICBiYi5tZXRob2Rwb29sLmluc2VydF9tZXRob2QoZnVuY25hbWUsIHRleHQsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vIC0gbGVuKHNlbGYuYm9keSkpCisgICAgICAgICAgICBiYi5tZXRob2Rwb29sLmluc2VydF9tZXRob2QoZnVuY25hbWUsIHRleHQsIHNlbGYuZmlsZW5hbWUsIHNlbGYubGluZW5vIC0gbGVuKHNlbGYuYm9keSkgLSAxKQogICAgICAgICAgICAgYW5vbmZ1bmNzID0gZGF0YS5nZXRWYXIoJ19fQkJBTk9ORlVOQ1MnLCBGYWxzZSkgb3IgW10KICAgICAgICAgICAgIGFub25mdW5jcy5hcHBlbmQoZnVuY25hbWUpCiAgICAgICAgICAgICBkYXRhLnNldFZhcignX19CQkFOT05GVU5DUycsIGFub25mdW5jcykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQkJIYW5kbGVyLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKaW5kZXggZTUwMzllMy4uOWRiYTVmMiAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9CQkhhbmRsZXIucHkKQEAgLTM4LDE0ICszOCwxNSBAQAogIyBGb3IgY29tcGF0aWJpbGl0eQogYmIuZGVwcmVjYXRlX2ltcG9ydChfX25hbWVfXywgImJiLnBhcnNlIiwgWyJ2YXJzX2Zyb21fZmlsZSJdKQogCi1fX2Z1bmNfc3RhcnRfcmVnZXhwX18gICAgPSByZS5jb21waWxlKCByIigoKD9QPHB5PnB5dGhvbil8KD9QPGZyPmZha2Vyb290KSlccyopKig/UDxmdW5jPltcd1wuXC1cK1x7XH1cJF0rKT9ccypcKFxzKlwpXHMqeyQiICkKLV9faW5oZXJpdF9yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUoIHIiaW5oZXJpdFxzKyguKykiICkKLV9fZXhwb3J0X2Z1bmNfcmVnZXhwX18gICA9IHJlLmNvbXBpbGUoIHIiRVhQT1JUX0ZVTkNUSU9OU1xzKyguKykiICkKLV9fYWRkdGFza19yZWdleHBfXyAgICAgICA9IHJlLmNvbXBpbGUoImFkZHRhc2tccysoP1A8ZnVuYz5cdyspXHMqKChiZWZvcmVccyooP1A8YmVmb3JlPigoLiooPz1hZnRlcikpfCguKikpKSl8KGFmdGVyXHMqKD9QPGFmdGVyPigoLiooPz1iZWZvcmUpKXwoLiopKSkpKSoiKQotX19kZWx0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZSgiZGVsdGFza1xzKyg/UDxmdW5jPlx3KykiKQotX19hZGRoYW5kbGVyX3JlZ2V4cF9fICAgID0gcmUuY29tcGlsZSggciJhZGRoYW5kbGVyXHMrKC4rKSIgKQotX19kZWZfcmVnZXhwX18gICAgICAgICAgID0gcmUuY29tcGlsZSggciJkZWZccysoXHcrKS4qOiIgKQotX19weXRob25fZnVuY19yZWdleHBfXyAgID0gcmUuY29tcGlsZSggciIoXHMrLiopfCheJCkiICkKK19fZnVuY19zdGFydF9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociIoKCg/UDxweT5weXRob24pfCg/UDxmcj5mYWtlcm9vdCkpXHMqKSooP1A8ZnVuYz5bXHdcLlwtXCtce1x9XCRdKyk/XHMqXChccypcKVxzKnskIiApCitfX2luaGVyaXRfcmVnZXhwX18gICAgICAgPSByZS5jb21waWxlKHIiaW5oZXJpdFxzKyguKykiICkKK19fZXhwb3J0X2Z1bmNfcmVnZXhwX18gICA9IHJlLmNvbXBpbGUociJFWFBPUlRfRlVOQ1RJT05TXHMrKC4rKSIgKQorX19hZGR0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZShyImFkZHRhc2tccysoP1A8ZnVuYz5cdyspXHMqKChiZWZvcmVccyooP1A8YmVmb3JlPigoLiooPz1hZnRlcikpfCguKikpKSl8KGFmdGVyXHMqKD9QPGFmdGVyPigoLiooPz1iZWZvcmUpKXwoLiopKSkpKSoiKQorX19kZWx0YXNrX3JlZ2V4cF9fICAgICAgID0gcmUuY29tcGlsZShyImRlbHRhc2tccysoP1A8ZnVuYz5cdyspIikKK19fYWRkaGFuZGxlcl9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociJhZGRoYW5kbGVyXHMrKC4rKSIgKQorX19kZWZfcmVnZXhwX18gICAgICAgICAgID0gcmUuY29tcGlsZShyImRlZlxzKyhcdyspLio6IiApCitfX3B5dGhvbl9mdW5jX3JlZ2V4cF9fICAgPSByZS5jb21waWxlKHIiKFxzKy4qKXwoXiQpfCheIykiICkKK19fcHl0aG9uX3RhYl9yZWdleHBfXyAgICA9IHJlLmNvbXBpbGUociIgKlx0IikKIAogX19pbmZ1bmNfXyA9IFtdCiBfX2lucHl0aG9uX18gPSBGYWxzZQpAQCAtMTYwLDYgKzE2MSwxNiBAQAogCiBkZWYgZmVlZGVyKGxpbmVubywgcywgZm4sIHJvb3QsIHN0YXRlbWVudHMsIGVvZj1GYWxzZSk6CiAgICAgZ2xvYmFsIF9fZnVuY19zdGFydF9yZWdleHBfXywgX19pbmhlcml0X3JlZ2V4cF9fLCBfX2V4cG9ydF9mdW5jX3JlZ2V4cF9fLCBfX2FkZHRhc2tfcmVnZXhwX18sIF9fYWRkaGFuZGxlcl9yZWdleHBfXywgX19kZWZfcmVnZXhwX18sIF9fcHl0aG9uX2Z1bmNfcmVnZXhwX18sIF9faW5weXRob25fXywgX19pbmZ1bmNfXywgX19ib2R5X18sIGJiLCBfX3Jlc2lkdWVfXywgX19jbGFzc25hbWVfXworCisgICAgIyBDaGVjayB0YWJzIGluIHB5dGhvbiBmdW5jdGlvbnM6CisgICAgIyAtIGRlZiBweV9mdW5jbmFtZSgpOiBjb3ZlcmVkIGJ5IF9faW5weXRob25fXworICAgICMgLSBweXRob24oKTogY292ZXJlZCBieSAnX19hbm9ueW1vdXMnID09IF9faW5mdW5jX19bMF0KKyAgICAjIC0gcHl0aG9uIGZ1bmNuYW1lKCk6IGNvdmVyZWQgYnkgX19pbmZ1bmNfX1szXQorICAgIGlmIF9faW5weXRob25fXyBvciAoX19pbmZ1bmNfXyBhbmQgKCdfX2Fub255bW91cycgPT0gX19pbmZ1bmNfX1swXSBvciBfX2luZnVuY19fWzNdKSk6CisgICAgICAgIHRhYiA9IF9fcHl0aG9uX3RhYl9yZWdleHBfXy5tYXRjaChzKQorICAgICAgICBpZiB0YWI6CisgICAgICAgICAgICBiYi53YXJuKCdweXRob24gc2hvdWxkIHVzZSA0IHNwYWNlcyBpbmRlbnRhdGlvbiwgYnV0IGZvdW5kIHRhYnMgaW4gJXMsIGxpbmUgJXMnICUgKHJvb3QsIGxpbmVubykpCisKICAgICBpZiBfX2luZnVuY19fOgogICAgICAgICBpZiBzID09ICd9JzoKICAgICAgICAgICAgIF9fYm9keV9fLmFwcGVuZCgnJykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQ29uZkhhbmRsZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3BhcnNlL3BhcnNlX3B5L0NvbmZIYW5kbGVyLnB5CmluZGV4IDlkM2ViZTEuLmVhNDlmOGMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGFyc2UvcGFyc2VfcHkvQ29uZkhhbmRsZXIucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9wYXJzZS9wYXJzZV9weS9Db25mSGFuZGxlci5weQpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBzID0gcy5yc3RyaXAoKQogICAgICAgICB3aGlsZSBzWy0xXSA9PSAnXFwnOgotICAgICAgICAgICAgczIgPSBmLnJlYWRsaW5lKCkuc3RyaXAoKQorICAgICAgICAgICAgczIgPSBmLnJlYWRsaW5lKCkucnN0cmlwKCkKICAgICAgICAgICAgIGxpbmVubyA9IGxpbmVubyArIDEKICAgICAgICAgICAgIGlmIChub3QgczIgb3IgczIgYW5kIHMyWzBdICE9ICIjIikgYW5kIHNbMF0gPT0gIiMiIDoKICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVGhlcmUgaXMgYSBjb25mdXNpbmcgbXVsdGlsaW5lLCBwYXJ0aWFsbHkgY29tbWVudGVkIGV4cHJlc3Npb24gb24gbGluZSAlcyBvZiBmaWxlICVzICglcykuXG5QbGVhc2UgY2xhcmlmeSB3aGV0aGVyIHRoaXMgaXMgYWxsIGEgY29tbWVudCBvciBzaG91bGQgYmUgcGFyc2VkLiIgJSAobGluZW5vLCBmbiwgcykpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3BlcnNpc3RfZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CmluZGV4IGJlZjcwMTguLjBkNDQxMDAgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcGVyc2lzdF9kYXRhLnB5CkBAIC0yOSw2ICsyOSw3IEBACiBmcm9tIGJiLmNvbXBhdCBpbXBvcnQgdG90YWxfb3JkZXJpbmcKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE1hcHBpbmcKIGltcG9ydCBzcWxpdGUzCitpbXBvcnQgY29udGV4dGxpYgogCiBzcWx2ZXJzaW9uID0gc3FsaXRlMy5zcWxpdGVfdmVyc2lvbl9pbmZvCiBpZiBzcWx2ZXJzaW9uWzBdIDwgMyBvciAoc3FsdmVyc2lvblswXSA9PSAzIGFuZCBzcWx2ZXJzaW9uWzFdIDwgMyk6CkBAIC0zNiw4NCArMzcsMTgxIEBACiAKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoIkJpdEJha2UuUGVyc2lzdERhdGEiKQotaWYgaGFzYXR0cihzcWxpdGUzLCAnZW5hYmxlX3NoYXJlZF9jYWNoZScpOgotICAgIHRyeToKLSAgICAgICAgc3FsaXRlMy5lbmFibGVfc2hhcmVkX2NhY2hlKFRydWUpCi0gICAgZXhjZXB0IHNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJvcjoKLSAgICAgICAgcGFzcwotCiAKIEB0b3RhbF9vcmRlcmluZwogY2xhc3MgU1FMVGFibGUoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgorICAgIGNsYXNzIF9EZWNvcmF0b3JzKG9iamVjdCk6CisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIHJldHJ5KCosIHJlY29ubmVjdD1UcnVlKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgRGVjb3JhdG9yIHRoYXQgcmVzdGFydHMgYSBmdW5jdGlvbiBpZiBhIGRhdGFiYXNlIGxvY2tlZCBzcWxpdGUKKyAgICAgICAgICAgIGV4Y2VwdGlvbiBvY2N1cnMuIElmIHJlY29ubmVjdCBpcyBUcnVlLCB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbgorICAgICAgICAgICAgd2lsbCBiZSBjbG9zZWQgYW5kIHJlb3BlbmVkIGVhY2ggdGltZSBhIGZhaWx1cmUgb2NjdXJzCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIGRlZiByZXRyeV93cmFwcGVyKGYpOgorICAgICAgICAgICAgICAgIGRlZiB3cmFwX2Z1bmMoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgICAgICAgICAgIyBSZWNvbm5lY3QgaWYgbmVjZXNzYXJ5CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuY29ubmVjdGlvbiBpcyBOb25lIGFuZCByZWNvbm5lY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlY29ubmVjdCgpCisKKyAgICAgICAgICAgICAgICAgICAgY291bnQgPSAwCisgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNxbGl0ZTMuT3BlcmF0aW9uYWxFcnJvciBhcyBleGM6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgY291bnQgPCA1MDAgYW5kICgnaXMgbG9ja2VkJyBpbiBzdHIoZXhjKSBvciAnbG9ja2luZyBwcm90b2NvbCcgaW4gc3RyKGV4YykpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCA9IGNvdW50ICsgMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiByZWNvbm5lY3Q6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlY29ubmVjdCgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gd3JhcF9mdW5jCisgICAgICAgICAgICByZXR1cm4gcmV0cnlfd3JhcHBlcgorCisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgZGVmIHRyYW5zYWN0aW9uKGYpOgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBEZWNvcmF0b3IgdGhhdCBzdGFydHMgYSBkYXRhYmFzZSB0cmFuc2FjdGlvbiBhbmQgY3JlYXRlcyBhIGRhdGFiYXNlCisgICAgICAgICAgICBjdXJzb3IgZm9yIHBlcmZvcm1pbmcgcXVlcmllcy4gSWYgbm8gZXhjZXB0aW9uIGlzIHRocm93biwgdGhlCisgICAgICAgICAgICBkYXRhYmFzZSByZXN1bHRzIGFyZSBjb21taXRlZC4gSWYgYW4gZXhjZXB0aW9uIG9jY3VycywgdGhlIGRhdGFiYXNlCisgICAgICAgICAgICBpcyByb2xsZWQgYmFjay4gSW4gYWxsIGNhc2VzLCB0aGUgY3Vyc29yIGlzIGNsb3NlZCBhZnRlciB0aGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGVuZHMuCisKKyAgICAgICAgICAgIE5vdGUgdGhhdCB0aGUgY3Vyc29yIGlzIHBhc3NlZCBhcyBhbiBleHRyYSBhcmd1bWVudCB0byB0aGUgZnVuY3Rpb24KKyAgICAgICAgICAgIGFmdGVyIGBzZWxmYCBhbmQgYmVmb3JlIGFueSBvZiB0aGUgbm9ybWFsIGFyZ3VtZW50cworICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBkZWYgd3JhcF9mdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICAgICAgIyBDb250ZXh0IG1hbmFnZXIgd2lsbCBDT01NSVQgdGhlIGRhdGFiYXNlIG9uIHN1Y2Nlc3MsCisgICAgICAgICAgICAgICAgIyBvciBST0xMQkFDSyBvbiBhbiBleGNlcHRpb24KKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuY29ubmVjdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgIyBBdXRvbWF0aWNhbGx5IGNsb3NlIHRoZSBjdXJzb3Igd2hlbiBkb25lCisgICAgICAgICAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5jbG9zaW5nKHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKSkgYXMgY3Vyc29yOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYoc2VsZiwgY3Vyc29yLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICByZXR1cm4gd3JhcF9mdW5jCisKICAgICAiIiJPYmplY3QgcmVwcmVzZW50aW5nIGEgdGFibGUvZG9tYWluIGluIHRoZSBkYXRhYmFzZSIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjYWNoZWZpbGUsIHRhYmxlKToKICAgICAgICAgc2VsZi5jYWNoZWZpbGUgPSBjYWNoZWZpbGUKICAgICAgICAgc2VsZi50YWJsZSA9IHRhYmxlCi0gICAgICAgIHNlbGYuY3Vyc29yID0gY29ubmVjdChzZWxmLmNhY2hlZmlsZSkKIAotICAgICAgICBzZWxmLl9leGVjdXRlKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyAlcyhrZXkgVEVYVCwgdmFsdWUgVEVYVCk7IgotICAgICAgICAgICAgICAgICAgICAgICUgdGFibGUpCisgICAgICAgIHNlbGYuY29ubmVjdGlvbiA9IE5vbmUKKyAgICAgICAgc2VsZi5fZXhlY3V0ZV9zaW5nbGUoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICVzKGtleSBURVhUIFBSSU1BUlkgS0VZIE5PVCBOVUxMLCB2YWx1ZSBURVhUKTsiICUgdGFibGUpCiAKLSAgICBkZWYgX2V4ZWN1dGUoc2VsZiwgKnF1ZXJ5KToKLSAgICAgICAgIiIiRXhlY3V0ZSBhIHF1ZXJ5LCB3YWl0aW5nIHRvIGFjcXVpcmUgYSBsb2NrIGlmIG5lY2Vzc2FyeSIiIgotICAgICAgICBjb3VudCA9IDAKLSAgICAgICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5jdXJzb3IuZXhlY3V0ZSgqcXVlcnkpCi0gICAgICAgICAgICBleGNlcHQgc3FsaXRlMy5PcGVyYXRpb25hbEVycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICAgICBpZiAnZGF0YWJhc2UgaXMgbG9ja2VkJyBpbiBzdHIoZXhjKSBhbmQgY291bnQgPCA1MDA6Ci0gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gY291bnQgKyAxCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KHJlY29ubmVjdD1GYWxzZSkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX3NldHVwX2RhdGFiYXNlKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJwcmFnbWEgc3luY2hyb25vdXMgPSBvZmY7IikKKyAgICAgICAgIyBFbmFibGUgV0FMIGFuZCBrZWVwIHRoZSBhdXRvY2hlY2twb2ludCBsZW5ndGggc21hbGwgKHRoZSBkZWZhdWx0IGlzCisgICAgICAgICMgdXN1YWxseSAxMDAwKS4gUGVyc2lzdGVudCBjYWNoZXMgYXJlIHVzdWFsbHkgcmVhZC1tb3N0bHksIHNvIGtlZXBpbmcKKyAgICAgICAgIyB0aGlzIHNob3J0IHdpbGwga2VlcCByZWFkZXJzIHJ1bm5pbmcgcXVpY2tseQorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgicHJhZ21hIGpvdXJuYWxfbW9kZSA9IFdBTDsiKQorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgicHJhZ21hIHdhbF9hdXRvY2hlY2twb2ludCA9IDEwMDsiKQorCisgICAgZGVmIHJlY29ubmVjdChzZWxmKToKKyAgICAgICAgaWYgc2VsZi5jb25uZWN0aW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5jb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgc2VsZi5jb25uZWN0aW9uID0gc3FsaXRlMy5jb25uZWN0KHNlbGYuY2FjaGVmaWxlLCB0aW1lb3V0PTUpCisgICAgICAgIHNlbGYuY29ubmVjdGlvbi50ZXh0X2ZhY3RvcnkgPSBzdHIKKyAgICAgICAgc2VsZi5fc2V0dXBfZGF0YWJhc2UoKQorCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX2V4ZWN1dGVfc2luZ2xlKHNlbGYsIGN1cnNvciwgKnF1ZXJ5KToKKyAgICAgICAgIiIiCisgICAgICAgIEV4ZWN1dGVzIGEgc2luZ2xlIHF1ZXJ5IGFuZCBkaXNjYXJkcyB0aGUgcmVzdWx0cy4gVGhpcyBjb3JyZWN0bHkgY2xvc2VzCisgICAgICAgIHRoZSBkYXRhYmFzZSBjdXJzb3Igd2hlbiBmaW5pc2hlZAorICAgICAgICAiIiIKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoKnF1ZXJ5KQorCisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBkZWYgX3Jvd19pdGVyKHNlbGYsIGYsICpxdWVyeSk6CisgICAgICAgICIiIgorICAgICAgICBIZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcm93IGl0ZXJhdG9yLiBFYWNoIHRpbWUgX19uZXh0X18gaXMKKyAgICAgICAgY2FsbGVkIG9uIHRoZSBpdGVyYXRvciwgdGhlIHByb3ZpZGVkIGZ1bmN0aW9uIGlzIGV2YWx1YXRlZCB0byBkZXRlcm1pbmUKKyAgICAgICAgdGhlIHJldHVybiB2YWx1ZQorICAgICAgICAiIiIKKyAgICAgICAgY2xhc3MgQ3Vyc29ySXRlcihvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGN1cnNvcik6CisgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IgPSBjdXJzb3IKKworICAgICAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmCisKKyAgICAgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByb3cgPSBzZWxmLmN1cnNvci5mZXRjaG9uZSgpCisgICAgICAgICAgICAgICAgaWYgcm93IGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY3Vyc29yLmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IgPSBjb25uZWN0KHNlbGYuY2FjaGVmaWxlKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4gZihyb3cpCisKKyAgICAgICAgICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKworICAgICAgICAgICAgZGVmIF9fZXhpdF9fKHNlbGYsIHR5cCwgdmFsdWUsIHRyYWNlYmFjayk6CisgICAgICAgICAgICAgICAgc2VsZi5jdXJzb3IuY2xvc2UoKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIGN1cnNvciA9IHNlbGYuY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgqcXVlcnkpCisgICAgICAgICAgICByZXR1cm4gQ3Vyc29ySXRlcihjdXJzb3IpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGN1cnNvci5jbG9zZSgpCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgotICAgICAgICBzZWxmLmN1cnNvci5fX2VudGVyX18oKQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24uX19lbnRlcl9fKCkKICAgICAgICAgcmV0dXJuIHNlbGYKIAogICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqZXhjaW5mbyk6Ci0gICAgICAgIHNlbGYuY3Vyc29yLl9fZXhpdF9fKCpleGNpbmZvKQorICAgICAgICBzZWxmLmNvbm5lY3Rpb24uX19leGl0X18oKmV4Y2luZm8pCiAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUsIFtrZXldKQotICAgICAgICBmb3Igcm93IGluIGRhdGE6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgY3Vyc29yLCBrZXkpOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUICogZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUgc2VsZi50YWJsZSwgW2tleV0pCisgICAgICAgIHJvdyA9IGN1cnNvci5mZXRjaG9uZSgpCisgICAgICAgIGlmIHJvdyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJldHVybiByb3dbMV0KICAgICAgICAgcmFpc2UgS2V5RXJyb3Ioa2V5KQogCi0gICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGtleSk6CisgICAgQF9EZWNvcmF0b3JzLnJldHJ5KCkKKyAgICBAX0RlY29yYXRvcnMudHJhbnNhY3Rpb24KKyAgICBkZWYgX19kZWxpdGVtX18oc2VsZiwgY3Vyc29yLCBrZXkpOgogICAgICAgICBpZiBrZXkgbm90IGluIHNlbGY6CiAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCi0gICAgICAgIHNlbGYuX2V4ZWN1dGUoIkRFTEVURSBmcm9tICVzIHdoZXJlIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBba2V5XSkKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIkRFTEVURSBmcm9tICVzIHdoZXJlIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBba2V5XSkKIAotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBjdXJzb3IsIGtleSwgdmFsdWUpOgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShrZXksIHN0cik6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ09ubHkgc3RyaW5nIGtleXMgYXJlIHN1cHBvcnRlZCcpCiAgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ09ubHkgc3RyaW5nIHZhbHVlcyBhcmUgc3VwcG9ydGVkJykKIAotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUICogZnJvbSAlcyB3aGVyZSBrZXk9PzsiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YWJsZSwgW2tleV0pCi0gICAgICAgIGV4aXN0cyA9IGxlbihsaXN0KGRhdGEpKQotICAgICAgICBpZiBleGlzdHM6Ci0gICAgICAgICAgICBzZWxmLl9leGVjdXRlKCJVUERBVEUgJXMgU0VUIHZhbHVlPT8gV0hFUkUga2V5PT87IiAlIHNlbGYudGFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZSwga2V5XSkKKyAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIlNFTEVDVCAqIGZyb20gJXMgd2hlcmUga2V5PT87IiAlIHNlbGYudGFibGUsIFtrZXldKQorICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiVVBEQVRFICVzIFNFVCB2YWx1ZT0/IFdIRVJFIGtleT0/OyIgJSBzZWxmLnRhYmxlLCBbdmFsdWUsIGtleV0pCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9leGVjdXRlKCJJTlNFUlQgaW50byAlcyhrZXksIHZhbHVlKSB2YWx1ZXMgKD8sID8pOyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBba2V5LCB2YWx1ZV0pCisgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgiSU5TRVJUIGludG8gJXMoa2V5LCB2YWx1ZSkgdmFsdWVzICg/LCA/KTsiICUgc2VsZi50YWJsZSwgW2tleSwgdmFsdWVdKQogCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgotICAgICAgICByZXR1cm4ga2V5IGluIHNldChzZWxmKQorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBjdXJzb3IsIGtleSk6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCdTRUxFQ1QgKiBmcm9tICVzIHdoZXJlIGtleT0/OycgJSBzZWxmLnRhYmxlLCBba2V5XSkKKyAgICAgICAgcmV0dXJuIGN1cnNvci5mZXRjaG9uZSgpIGlzIG5vdCBOb25lCiAKLSAgICBkZWYgX19sZW5fXyhzZWxmKToKLSAgICAgICAgZGF0YSA9IHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCBDT1VOVChrZXkpIEZST00gJXM7IiAlIHNlbGYudGFibGUpCi0gICAgICAgIGZvciByb3cgaW4gZGF0YToKKyAgICBAX0RlY29yYXRvcnMucmV0cnkoKQorICAgIEBfRGVjb3JhdG9ycy50cmFuc2FjdGlvbgorICAgIGRlZiBfX2xlbl9fKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJTRUxFQ1QgQ09VTlQoa2V5KSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQorICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gcm93WzBdCiAKICAgICBkZWYgX19pdGVyX18oc2VsZik6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1Qga2V5IEZST00gJXM7IiAlIHNlbGYudGFibGUpCi0gICAgICAgIHJldHVybiAocm93WzBdIGZvciByb3cgaW4gZGF0YSkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jvd19pdGVyKGxhbWJkYSByb3c6IHJvd1swXSwgIlNFTEVDVCBrZXkgZnJvbSAlczsiICUgc2VsZi50YWJsZSkKIAogICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgTWFwcGluZyk6CkBAIC0xMjIsMjUgKzIyMCwyNyBAQAogICAgICAgICByZXR1cm4gbGVuKHNlbGYpIDwgbGVuKG90aGVyKQogCiAgICAgZGVmIGdldF9ieV9wYXR0ZXJuKHNlbGYsIHBhdHRlcm4pOgotICAgICAgICBkYXRhID0gc2VsZi5fZXhlY3V0ZSgiU0VMRUNUICogRlJPTSAlcyBXSEVSRSBrZXkgTElLRSA/OyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlLCBbcGF0dGVybl0pCi0gICAgICAgIHJldHVybiBbcm93WzFdIGZvciByb3cgaW4gZGF0YV0KKyAgICAgICAgcmV0dXJuIHNlbGYuX3Jvd19pdGVyKGxhbWJkYSByb3c6IHJvd1sxXSwgIlNFTEVDVCAqIEZST00gJXMgV0hFUkUga2V5IExJS0UgPzsiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUsIFtwYXR0ZXJuXSkKIAogICAgIGRlZiB2YWx1ZXMoc2VsZik6CiAgICAgICAgIHJldHVybiBsaXN0KHNlbGYuaXRlcnZhbHVlcygpKQogCiAgICAgZGVmIGl0ZXJ2YWx1ZXMoc2VsZik6Ci0gICAgICAgIGRhdGEgPSBzZWxmLl9leGVjdXRlKCJTRUxFQ1QgdmFsdWUgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKLSAgICAgICAgcmV0dXJuIChyb3dbMF0gZm9yIHJvdyBpbiBkYXRhKQorICAgICAgICByZXR1cm4gc2VsZi5fcm93X2l0ZXIobGFtYmRhIHJvdzogcm93WzBdLCAiU0VMRUNUIHZhbHVlIEZST00gJXM7IiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlKQogCiAgICAgZGVmIGl0ZW1zKHNlbGYpOgogICAgICAgICByZXR1cm4gbGlzdChzZWxmLml0ZXJpdGVtcygpKQogCiAgICAgZGVmIGl0ZXJpdGVtcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2V4ZWN1dGUoIlNFTEVDVCAqIEZST00gJXM7IiAlIHNlbGYudGFibGUpCisgICAgICAgIHJldHVybiBzZWxmLl9yb3dfaXRlcihsYW1iZGEgcm93OiAocm93WzBdLCByb3dbMV0pLCAiU0VMRUNUICogRlJPTSAlczsiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGUpCiAKLSAgICBkZWYgY2xlYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuX2V4ZWN1dGUoIkRFTEVURSBGUk9NICVzOyIgJSBzZWxmLnRhYmxlKQorICAgIEBfRGVjb3JhdG9ycy5yZXRyeSgpCisgICAgQF9EZWNvcmF0b3JzLnRyYW5zYWN0aW9uCisgICAgZGVmIGNsZWFyKHNlbGYsIGN1cnNvcik6CisgICAgICAgIGN1cnNvci5leGVjdXRlKCJERUxFVEUgRlJPTSAlczsiICUgc2VsZi50YWJsZSkKIAogICAgIGRlZiBoYXNfa2V5KHNlbGYsIGtleSk6CiAgICAgICAgIHJldHVybiBrZXkgaW4gc2VsZgpAQCAtMTk0LDEyICsyOTQsNiBAQAogICAgICAgICAiIiIKICAgICAgICAgZGVsIHNlbGYuZGF0YVtkb21haW5dW2tleV0KIAotZGVmIGNvbm5lY3QoZGF0YWJhc2UpOgotICAgIGNvbm5lY3Rpb24gPSBzcWxpdGUzLmNvbm5lY3QoZGF0YWJhc2UsIHRpbWVvdXQ9NSwgaXNvbGF0aW9uX2xldmVsPU5vbmUpCi0gICAgY29ubmVjdGlvbi5leGVjdXRlKCJwcmFnbWEgc3luY2hyb25vdXMgPSBvZmY7IikKLSAgICBjb25uZWN0aW9uLnRleHRfZmFjdG9yeSA9IHN0cgotICAgIHJldHVybiBjb25uZWN0aW9uCi0KIGRlZiBwZXJzaXN0KGRvbWFpbiwgZCk6CiAgICAgIiIiQ29udmVuaWVuY2UgZmFjdG9yeSBmb3IgU1FMVGFibGUgb2JqZWN0cyBiYXNlZCB1cG9uIG1ldGFkYXRhIiIiCiAgICAgaW1wb3J0IGJiLnV0aWxzCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Byb3ZpZGVycy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CmluZGV4IGMyYWE5OGMuLmY0OTZkODQgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHJvdmlkZXJzLnB5CkBAIC0xMjksNyArMTI5LDcgQEAKICAgICAgICAgcHJlZmVycmVkX3YgPSBjZmdEYXRhLmdldFZhcigiUFJFRkVSUkVEX1ZFUlNJT04iKQogCiAgICAgaWYgcHJlZmVycmVkX3Y6Ci0gICAgICAgIG0gPSByZS5tYXRjaCgnKFxkKzopKiguKikoXy4qKSonLCBwcmVmZXJyZWRfdikKKyAgICAgICAgbSA9IHJlLm1hdGNoKHInKFxkKzopKiguKikoXy4qKSonLCBwcmVmZXJyZWRfdikKICAgICAgICAgaWYgbToKICAgICAgICAgICAgIGlmIG0uZ3JvdXAoMSk6CiAgICAgICAgICAgICAgICAgcHJlZmVycmVkX2UgPSBtLmdyb3VwKDEpWzotMV0KQEAgLTM4NCw3ICszODQsNyBAQAogCiAgICAgIyBPbmx5IHNlYXJjaCBkeW5hbWljIHBhY2thZ2VzIGlmIHdlIGNhbid0IGZpbmQgYW55dGhpbmcgaW4gb3RoZXIgdmFyaWFibGVzCiAgICAgZm9yIHBhdHRlcm4gaW4gZGF0YUNhY2hlLnBhY2thZ2VzX2R5bmFtaWM6Ci0gICAgICAgIHBhdHRlcm4gPSBwYXR0ZXJuLnJlcGxhY2UoJysnLCAiXCsiKQorICAgICAgICBwYXR0ZXJuID0gcGF0dGVybi5yZXBsYWNlKHInKycsIHIiXCsiKQogICAgICAgICBpZiBwYXR0ZXJuIGluIHJlZ2V4cF9jYWNoZToKICAgICAgICAgICAgIHJlZ2V4cCA9IHJlZ2V4cF9jYWNoZVtwYXR0ZXJuXQogICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL2J1aWx0aW4ucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvYnVpbHRpbi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTg4MTRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvYnVpbHRpbi5weQorKysgL2Rldi9udWxsCkBAIC0xLDcxMCArMCwwIEBACi0jIGJ1aWx0aW4ucHkgLSBidWlsdGlucyBhbmQgdXRpbGl0aWVzIGRlZmluaXRpb25zIGZvciBweXNoLgotIwotIyBDb3B5cmlnaHQgMjAwNyBQYXRyaWNrIE1lemFyZAotIwotIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCi0jIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCi0KLSIiIkJ1aWx0aW4gYW5kIGludGVybmFsIHV0aWxpdGllcyBpbXBsZW1lbnRhdGlvbnMuCi0KLS0gQmV3YXJlIG5vdCB0byB1c2UgcHl0aG9uIGludGVycHJldGVyIGVudmlyb25tZW50IGFzIGlmIGl0IHdlcmUgdGhlIHNoZWxsCi1lbnZpcm9ubWVudC4gRm9yIGluc3RhbmNlLCBjb21tYW5kcyB3b3JraW5nIGRpcmVjdG9yeSBtdXN0IGJlIGV4cGxpY2l0ZWx5IGhhbmRsZWQKLXRocm91Z2ggZW52WydQV0QnXSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gcHl0aG9uIHdvcmtpbmcgZGlyZWN0b3J5LgotIiIiCi1pbXBvcnQgZXJybm8KLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotCi1kZWYgaGFzX3N1YnByb2Nlc3NfYnVnKCk6Ci0gICAgcmV0dXJuIGdldGF0dHIoc3VicHJvY2VzcywgJ2xpc3QyY21kbGluZScpIGFuZCBcCi0gICAgICAgKCAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZShbJyddKSA9PSAnJyBvciBcCi0gICAgICAgICAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZShbJ2Zvb3xiYXInXSkgPT0gJ2Zvb3xiYXInKQotICAgICAgICAgICAgCi0jIERldGVjdCBweXRob24gYnVnIDE2MzQzNDM6ICJzdWJwcm9jZXNzIHN3YWxsb3dzIGVtcHR5IGFyZ3VtZW50cyB1bmRlciB3aW4zMiIKLSMgPGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci9pbmRleC5waHA/ZnVuYz1kZXRhaWwmYWlkPTE2MzQzNDMmZ3JvdXBfaWQ9NTQ3MCZhdGlkPTEwNTQ3MD4KLSMgQWxzbyBkZXRlY3Q6ICJbIDE3MTA4MDIgXSBzdWJwcm9jZXNzIG11c3QgZXNjYXBlIHJlZGlyZWN0aW9uIGNoYXJhY3RlcnMgdW5kZXIgd2luMzIiCi0jIDxodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwP2Z1bmM9ZGV0YWlsJmFpZD0xNzEwODAyJmdyb3VwX2lkPTU0NzAmYXRpZD0xMDU0NzA+Ci1pZiBoYXNfc3VicHJvY2Vzc19idWcoKToKLSAgICBpbXBvcnQgc3VicHJvY2Vzc19maXgKLSAgICBzdWJwcm9jZXNzLmxpc3QyY21kbGluZSA9IHN1YnByb2Nlc3NfZml4Lmxpc3QyY21kbGluZQotCi1mcm9tIHNoZXJyb3JzIGltcG9ydCAqCi0KLWNsYXNzIE5vbkV4aXRpbmdQYXJzZXIob3B0cGFyc2UuT3B0aW9uUGFyc2VyKToKLSAgICAiIiJPcHRpb25QYXJzZXIgZGVmYXVsdCBiZWhhdmlvdXIgdXBvbiBlcnJvciBpcyB0byBwcmludCB0aGUgZXJyb3IgbWVzc2FnZSBhbmQKLSAgICBleGl0LiBSYWlzZSBhIHV0aWxpdHkgZXJyb3IgaW5zdGVhZC4KLSAgICAiIiIKLSAgICBkZWYgZXJyb3Ioc2VsZiwgbXNnKToKLSAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKG1zZykKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzZXQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfU0VUID0gTm9uRXhpdGluZ1BhcnNlcih1c2FnZT0ic2V0IC0gc2V0IG9yIHVuc2V0IG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycyIpCi1PUFRfU0VULmFkZF9vcHRpb24oICctZicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19mJywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSdUaGUgc2hlbGwgc2hhbGwgZGlzYWJsZSBwYXRobmFtZSBleHBhbnNpb24uJykKLU9QVF9TRVQuYWRkX29wdGlvbignLWUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfZScsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0iIiJXaGVuIHRoaXMgb3B0aW9uIGlzIG9uLCBpZiBhIHNpbXBsZSBjb21tYW5kIGZhaWxzIGZvciBhbnkgb2YgdGhlIFwKLSAgICByZWFzb25zIGxpc3RlZCBpbiBDb25zZXF1ZW5jZXMgb2YgU2hlbGwgRXJyb3JzIG9yIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgXAotICAgIHZhbHVlID4wLCBhbmQgaXMgbm90IHBhcnQgb2YgdGhlIGNvbXBvdW5kIGxpc3QgZm9sbG93aW5nIGEgd2hpbGUsIHVudGlsLCBcCi0gICAgb3IgaWYga2V5d29yZCwgYW5kIGlzIG5vdCBhIHBhcnQgb2YgYW4gQU5EIG9yIE9SIGxpc3QsIGFuZCBpcyBub3QgYSBcCi0gICAgcGlwZWxpbmUgcHJlY2VkZWQgYnkgdGhlICEgcmVzZXJ2ZWQgd29yZCwgdGhlbiB0aGUgc2hlbGwgc2hhbGwgaW1tZWRpYXRlbHkgXAotICAgIGV4aXQuIiIiKQotT1BUX1NFVC5hZGRfb3B0aW9uKCcteCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc194JywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSIiIlRoZSBzaGVsbCBzaGFsbCB3cml0ZSB0byBzdGFuZGFyZCBlcnJvciBhIHRyYWNlIGZvciBlYWNoIGNvbW1hbmQgXAotICAgIGFmdGVyIGl0IGV4cGFuZHMgdGhlIGNvbW1hbmQgYW5kIGJlZm9yZSBpdCBleGVjdXRlcyBpdC4gSXQgaXMgdW5zcGVjaWZpZWQgXAotICAgIHdoZXRoZXIgdGhlIGNvbW1hbmQgdGhhdCB0dXJucyB0cmFjaW5nIG9mZiBpcyB0cmFjZWQuIiIiKQotCi1kZWYgYnVpbHRpbl9zZXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLQotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9TRVQucGFyc2VfYXJncyhhcmdzKQotICAgIGVudiA9IGludGVycC5nZXRfZW52KCkKLSAgICAKLSAgICBpZiBvcHRpb24uaGFzX2Y6Ci0gICAgICAgIGVudi5zZXRfb3B0KCctZicpCi0gICAgaWYgb3B0aW9uLmhhc19lOgotICAgICAgICBlbnYuc2V0X29wdCgnLWUnKQotICAgIGlmIG9wdGlvbi5oYXNfeDoKLSAgICAgICAgZW52LnNldF9vcHQoJy14JykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzaGlmdCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiBidWlsdGluX3NoaWZ0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHBhcmFtcyA9IGludGVycC5nZXRfZW52KCkuZ2V0X3Bvc2l0aW9uYWxfYXJncygpCi0gICAgaWYgYXJnczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgbiA9IGludChhcmdzWzBdKQotICAgICAgICAgICAgaWYgbiA+IGxlbihwYXJhbXMpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiAxCi0gICAgZWxzZToKLSAgICAgICAgbiA9IDEKLSAgICAgICAgCi0gICAgcGFyYW1zWzpuXSA9IFtdCi0gICAgaW50ZXJwLmdldF9lbnYoKS5zZXRfcG9zaXRpb25hbF9hcmdzKHBhcmFtcykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBleHBvcnQgc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfRVhQT1JUID0gTm9uRXhpdGluZ1BhcnNlcih1c2FnZT0ic2V0IC0gc2V0IG9yIHVuc2V0IG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycyIpCi1PUFRfRVhQT1JULmFkZF9vcHRpb24oJy1wJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX3AnLCBkZWZhdWx0PUZhbHNlKQotCi1kZWYgYnVpbHRpbl9leHBvcnQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX0VYUE9SVC5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgaWYgb3B0aW9uLmhhc19wOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKLSAgICAKLSAgICBmb3IgYXJnIGluIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG5hbWUsIHZhbHVlID0gYXJnLnNwbGl0KCc9JywgMSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICBuYW1lLCB2YWx1ZSA9IGFyZywgTm9uZQotICAgICAgICBlbnYgPSBpbnRlcnAuZ2V0X2VudigpLmV4cG9ydChuYW1lLCB2YWx1ZSkKLSAgICAKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyByZXR1cm4gc3BlY2lhbCBidWlsdGluCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgYnVpbHRpbl9yZXR1cm4obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICByZXMgPSAwCi0gICAgaWYgYXJnczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmVzID0gaW50KGFyZ3NbMF0pCi0gICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcmVzID0gMAotICAgICAgICBpZiBub3QgMDw9cmVzPD0yNTU6Ci0gICAgICAgICAgICByZXMgPSAwCi0gICAgICAgICAgICAKLSAgICAjIEJVRzogc2hvdWxkIGJlIGxhc3QgZXhlY3V0ZWQgY29tbWFuZCBleGl0IGNvZGUgICAgICAgIAotICAgIHJhaXNlIFJldHVyblNpZ25hbChyZXMpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgdHJhcCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiBidWlsdGluX3RyYXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICBpZiBsZW4oYXJncykgPCAyOgotICAgICAgICBzdGRlcnIud3JpdGUoJ3RyYXA6IHVzYWdlOiB0cmFwIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dXG4nKQotICAgICAgICByZXR1cm4gMgotCi0gICAgYWN0aW9uID0gYXJnc1swXQotICAgIGZvciBzaWcgaW4gYXJnc1sxOl06Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGVudi50cmFwc1tzaWddID0gYWN0aW9uCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgIHN0ZGVyci53cml0ZSgndHJhcDogJXNcbicgJSBzdHIoZSkpCi0gICAgcmV0dXJuIDAKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB1bnNldCBzcGVjaWFsIGJ1aWx0aW4KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1PUFRfVU5TRVQgPSBOb25FeGl0aW5nUGFyc2VyKCJ1bnNldCAtIHVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyIpCi1PUFRfVU5TRVQuYWRkX29wdGlvbiggJy1mJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX2YnLCBkZWZhdWx0PUZhbHNlKQotT1BUX1VOU0VULmFkZF9vcHRpb24oICctdicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc192JywgZGVmYXVsdD1GYWxzZSkKLQotZGVmIGJ1aWx0aW5fdW5zZXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX1VOU0VULnBhcnNlX2FyZ3MoYXJncykKLSAgICAKLSAgICBzdGF0dXMgPSAwCi0gICAgZW52ID0gaW50ZXJwLmdldF9lbnYoKQotICAgIGZvciBhcmcgaW4gYXJnczogICAgCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGlmIG9wdGlvbi5oYXNfZjoKLSAgICAgICAgICAgICAgICBlbnYucmVtb3ZlX2Z1bmN0aW9uKGFyZykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZGVsIGVudlthcmddCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IFZhckFzc2lnbm1lbnRFcnJvcjoKLSAgICAgICAgICAgIHN0YXR1cyA9IDEKLSAgICAgICAgICAgIAotICAgIHJldHVybiBzdGF0dXMKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB3YWl0IHNwZWNpYWwgYnVpbHRpbgotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIGJ1aWx0aW5fd2FpdChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgcmV0dXJuIGludGVycC53YWl0KFtpbnQoYXJnKSBmb3IgYXJnIGluIGFyZ3NdKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGNhdCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfY2F0KG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBpZiBub3QgYXJnczoKLSAgICAgICAgYXJncyA9IFsnLSddCi0KLSAgICBzdGF0dXMgPSAwCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBpZiBhcmcgPT0gJy0nOgotICAgICAgICAgICAgZGF0YSA9IHN0ZGluLnJlYWQoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihlbnZbJ1BXRCddLCBhcmcpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZiA9IGZpbGUocGF0aCwgJ3JiJykKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT0VOVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSAxCi0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgc3Rkb3V0LndyaXRlKGRhdGEpCi0gICAgICAgIHN0ZG91dC5mbHVzaCgpCi0gICAgcmV0dXJuIHN0YXR1cwotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBjZCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfQ0QgPSBOb25FeGl0aW5nUGFyc2VyKCJjZCAtIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnkiKQotCi1kZWYgdXRpbGl0eV9jZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotCi0gICAgb3B0aW9uLCBhcmdzID0gT1BUX0NELnBhcnNlX2FyZ3MoYXJncykKLSAgICBlbnYgPSBpbnRlcnAuZ2V0X2VudigpCi0gICAgCi0gICAgZGlyZWN0b3J5ID0gTm9uZQotICAgIHByaW50ZGlyID0gRmFsc2UKLSAgICBpZiBub3QgYXJnczoKLSAgICAgICAgaG9tZSA9IGVudi5nZXQoJ0hPTUUnKQotICAgICAgICBpZiBob21lOgotICAgICAgICAgICAgIyBVbnNwZWNpZmllZCwgZG8gbm90aGluZwotICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRpcmVjdG9yeSA9IGhvbWUKLSAgICBlbGlmIGxlbihhcmdzKT09MToKLSAgICAgICAgZGlyZWN0b3J5ID0gYXJnc1swXQotICAgICAgICBpZiBkaXJlY3Rvcnk9PSctJzoKLSAgICAgICAgICAgIGlmICdPTERQV0QnIG5vdCBpbiBlbnY6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVXRpbGl0eUVycm9yKCJPTERQV0Qgbm90IHNldCIpCi0gICAgICAgICAgICBwcmludGRpciA9IFRydWUKLSAgICAgICAgICAgIGRpcmVjdG9yeSA9IGVudlsnT0xEUFdEJ10KLSAgICBlbHNlOgotICAgICAgICByYWlzZSBVdGlsaXR5RXJyb3IoInRvbyBtYW55IGFyZ3VtZW50cyIpCi0gICAgICAgICAgICAKLSAgICBjdXJwYXRoID0gTm9uZQotICAgICMgQWJzb2x1dGUgZGlyZWN0b3JpZXMgd2lsbCBiZSBoYW5kbGVkIGNvcnJlY3RseSBieSB0aGUgb3MucGF0aC5qb2luIGNhbGwuCi0gICAgaWYgbm90IGRpcmVjdG9yeS5zdGFydHN3aXRoKCcuJykgYW5kIG5vdCBkaXJlY3Rvcnkuc3RhcnRzd2l0aCgnLi4nKToKLSAgICAgICAgY2RwYXRocyA9IGVudi5nZXQoJ0NEUEFUSCcsICcuJykuc3BsaXQoJzsnKQotICAgICAgICBmb3IgY2RwYXRoIGluIGNkcGF0aHM6Ci0gICAgICAgICAgICBwID0gb3MucGF0aC5qb2luKGNkcGF0aCwgZGlyZWN0b3J5KQotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihwKToKLSAgICAgICAgICAgICAgICBjdXJwYXRoID0gcAotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgCi0gICAgaWYgY3VycGF0aCBpcyBOb25lOgotICAgICAgICBjdXJwYXRoID0gZGlyZWN0b3J5Ci0gICAgY3VycGF0aCA9IG9zLnBhdGguam9pbihlbnZbJ1BXRCddLCBkaXJlY3RvcnkpCi0KLSAgICBlbnZbJ09MRFBXRCddID0gZW52WydQV0QnXQotICAgIGVudlsnUFdEJ10gPSBjdXJwYXRoCi0gICAgaWYgcHJpbnRkaXI6Ci0gICAgICAgIHN0ZG91dC53cml0ZSgnJXNcbicgJSBjdXJwYXRoKQotICAgIHJldHVybiAwCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgY29sb24gdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotZGVmIHV0aWxpdHlfY29sb24obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBlY2hvIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLWRlZiB1dGlsaXR5X2VjaG8obmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgIyBFY2hvIG9ubHkgdGFrZXMgYXJndW1lbnRzLCBubyBvcHRpb25zLiBVc2UgcHJpbnRmIGlmIHlvdSBuZWVkIGZhbmN5IHN0dWZmLgotICAgIG91dHB1dCA9ICcgJy5qb2luKGFyZ3MpICsgJ1xuJwotICAgIHN0ZG91dC53cml0ZShvdXRwdXQpCi0gICAgc3Rkb3V0LmZsdXNoKCkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBlZ3JlcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIyBlZ3JlcCBpcyB1c3VhbGx5IGEgc2hlbGwgc2NyaXB0LgotIyBVbmZvcnR1bmF0ZWx5LCBweXNoIGRvZXMgbm90IHN1cHBvcnQgc2hlbGwgc2NyaXB0cyAqd2l0aCBhcmd1bWVudHMqIHJpZ2h0IG5vdywKLSMgc28gdGhlIHJlZGlyZWN0aW9uIGlzIGltcGxlbWVudGVkIGhlcmUsIGFzc3VtaW5nIGdyZXAgaXMgYXZhaWxhYmxlLgotZGVmIHV0aWxpdHlfZWdyZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmV0dXJuIHJ1bl9jb21tYW5kKCdncmVwJywgWyctRSddICsgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIAotICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGVudiB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1kZWYgdXRpbGl0eV9lbnYobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAKLSAgICBpZiBhcmdzIGFuZCBhcmdzWzBdPT0nLWknOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdlbnY6IC1pIG9wdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQnKQotICAgIAotICAgIGkgPSAwCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBpZiAnPScgbm90IGluIGFyZzoKLSAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICMgVXBkYXRlIHRoZSBjdXJyZW50IGVudmlyb25tZW50Ci0gICAgICAgIG5hbWUsIHZhbHVlID0gYXJnLnNwbGl0KCc9JywgMSkKLSAgICAgICAgZW52W25hbWVdID0gdmFsdWUKLSAgICAgICAgaSArPSAxCi0gICAgICAgIAotICAgIGlmIGFyZ3NbaTpdOgotICAgICAgICAjIEZpbmQgdGhlbiBleGVjdXRlIHRoZSBzcGVjaWZpZWQgaW50ZXJwcmV0ZXIKLSAgICAgICAgdXRpbGl0eSA9IGVudi5maW5kX2luX3BhdGgoYXJnc1tpXSkKLSAgICAgICAgaWYgbm90IHV0aWxpdHk6Ci0gICAgICAgICAgICByZXR1cm4gMTI3Ci0gICAgICAgIGFyZ3NbaTppKzFdID0gdXRpbGl0eQotICAgICAgICBuYW1lID0gYXJnc1tpXQotICAgICAgICBhcmdzID0gYXJnc1tpKzE6XQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gcnVuX2NvbW1hbmQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgCi0gICAgICAgICAgICAgICAgZGVidWdmbGFncykKLSAgICAgICAgZXhjZXB0IFV0aWxpdHlFcnJvcjoKLSAgICAgICAgICAgIHN0ZGVyci53cml0ZSgnZW52OiBmYWlsZWQgdG8gZXhlY3V0ZSAlcycgJSAnICcuam9pbihbbmFtZV0rYXJncykpCi0gICAgICAgICAgICByZXR1cm4gMTI2ICAgICAgICAgICAgCi0gICAgZWxzZToKLSAgICAgICAgZm9yIHBhaXIgaW4gZW52LmdldF92YXJpYWJsZXMoKS5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIHN0ZG91dC53cml0ZSgnJXM9JXNcbicgJSBwYWlyKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGV4aXQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X2V4aXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmVzID0gTm9uZQotICAgIGlmIGFyZ3M6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJlcyA9IGludChhcmdzWzBdKQotICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgIHJlcyA9IE5vbmUKLSAgICAgICAgaWYgbm90IDA8PXJlczw9MjU1OgotICAgICAgICAgICAgcmVzID0gTm9uZQotICAgICAgICAgICAgCi0gICAgaWYgcmVzIGlzIE5vbmU6Ci0gICAgICAgICMgQlVHOiBzaG91bGQgYmUgbGFzdCBleGVjdXRlZCBjb21tYW5kIGV4aXQgY29kZQotICAgICAgICByZXMgPSAwCi0gICAgICAgIAotICAgIHJhaXNlIEV4aXRTaWduYWwocmVzKQotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIGZncmVwIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIHNlZSBlZ3JlcAotZGVmIHV0aWxpdHlfZmdyZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICAgICAgCi0gICAgcmV0dXJuIHJ1bl9jb21tYW5kKCdncmVwJywgWyctRiddICsgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIAotICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpCi0KLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgZ3VuemlwIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIHNlZSBlZ3JlcAotZGVmIHV0aWxpdHlfZ3VuemlwKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIHJldHVybiBydW5fY29tbWFuZCgnZ3ppcCcsIFsnLWQnXSArIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCAKLSAgICAgICAgc3RkZXJyLCBkZWJ1Z2ZsYWdzKQotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBraWxsIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV9raWxsKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIGZvciBhcmcgaW4gYXJnczoKLSAgICAgICAgcGlkID0gaW50KGFyZykKLSAgICAgICAgc3RhdHVzID0gc3VicHJvY2Vzcy5jYWxsKFsncHNraWxsJywgJy9UJywgc3RyKHBpZCldLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQotICAgICAgICAjIHBza2lsbCBpcyBhc3luY2hyb25vdXMsIGhlbmNlIHRoZSBzdHVwaWQgcG9sbGluZyBsb29wCi0gICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihbJ3BzbGlzdCcsIHN0cihwaWQpXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQotICAgICAgICAgICAgb3V0cHV0ID0gcC5jb21tdW5pY2F0ZSgpWzBdCi0gICAgICAgICAgICBpZiAoJ3Byb2Nlc3MgJWQgd2FzIG5vdCcgJSBwaWQpIGluIG91dHB1dDoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdGltZS5zbGVlcCgxKQotICAgIHJldHVybiBzdGF0dXMKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAKLSMgbWtkaXIgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLU9QVF9NS0RJUiA9IE5vbkV4aXRpbmdQYXJzZXIoIm1rZGlyIC0gbWFrZSBkaXJlY3Rvcmllcy4iKQotT1BUX01LRElSLmFkZF9vcHRpb24oJy1wJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0naGFzX3AnLCBkZWZhdWx0PUZhbHNlKQotCi1kZWYgdXRpbGl0eV9ta2RpcihuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICAjIFRPRE86IGltcGxlbWVudCB1bWFzawotICAgICMgVE9ETzogaW1wbGVtZW50IHByb3BlciB1dGlsaXR5IGVycm9yIHJlcG9ydAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9NS0RJUi5wYXJzZV9hcmdzKGFyZ3MpCi0gICAgZm9yIGFyZyBpbiBhcmdzOgotICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKGVudlsnUFdEJ10sIGFyZykKLSAgICAgICAgaWYgb3B0aW9uLmhhc19wOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICBlbHNlOiAgICAgICAgICAgICAgIAotICAgICAgICAgICAgb3MubWtkaXIocGF0aCkKLSAgICByZXR1cm4gMAotCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIG5ldHN0YXQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWRlZiB1dGlsaXR5X25ldHN0YXQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgIyBEbyB5b3UgcmVhbGx5IGV4cGVjdCBtZSB0byBpbXBsZW1lbnQgbmV0c3RhdCA/Ci0gICAgIyBUaGlzIGVtcHR5IGZvcm0gaXMgZW5vdWdoIGZvciBNZXJjdXJpYWwgdGVzdHMgc2luY2UgaXQncwotICAgICMgc3VwcG9zZWQgdG8gZ2VuZXJhdGUgbm90aGluZyB1cG9uIHN1Y2Nlc3MuIEZha2luZyB0aGlzIHRlc3QKLSAgICAjIGlzIG5vdCBhIGJpZyBkZWFsIGVpdGhlci4KLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIHB3ZCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi1PUFRfUFdEID0gTm9uRXhpdGluZ1BhcnNlcigicHdkIC0gcmV0dXJuIHdvcmtpbmcgZGlyZWN0b3J5IG5hbWUiKQotT1BUX1BXRC5hZGRfb3B0aW9uKCctTCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2hhc19MJywgZGVmYXVsdD1UcnVlLAotICAgIGhlbHA9IiIiSWYgdGhlIFBXRCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb250YWlucyBhbiBhYnNvbHV0ZSBwYXRobmFtZSBvZiBcCi0gICAgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRoYXQgZG9lcyBub3QgY29udGFpbiB0aGUgZmlsZW5hbWVzIGRvdCBvciBkb3QtZG90LCBcCi0gICAgcHdkIHNoYWxsIHdyaXRlIHRoaXMgcGF0aG5hbWUgdG8gc3RhbmRhcmQgb3V0cHV0LiBPdGhlcndpc2UsIHRoZSAtTCBvcHRpb24gXAotICAgIHNoYWxsIGJlaGF2ZSBhcyB0aGUgLVAgb3B0aW9uLiIiIikKLU9QVF9QV0QuYWRkX29wdGlvbignLVAnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdoYXNfTCcsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0iIiJUaGUgYWJzb2x1dGUgcGF0aG5hbWUgd3JpdHRlbiBzaGFsbCBub3QgY29udGFpbiBmaWxlbmFtZXMgdGhhdCwgaW4gXAotICAgIHRoZSBjb250ZXh0IG9mIHRoZSBwYXRobmFtZSwgcmVmZXIgdG8gZmlsZXMgb2YgdHlwZSBzeW1ib2xpYyBsaW5rLiIiIikKLQotZGVmIHV0aWxpdHlfcHdkKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBvcHRpb24sIGFyZ3MgPSBPUFRfUFdELnBhcnNlX2FyZ3MoYXJncykgICAgICAgIAotICAgIHN0ZG91dC53cml0ZSgnJXNcbicgJSBlbnZbJ1BXRCddKQotICAgIHJldHVybiAwCi0gICAgCi0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAgCi0jIHByaW50ZiB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUkVfVU5FU0NBUEUgPSByZS5jb21waWxlKHInKFxceFthLXpBLVowLTldezJ9fFxcWzAtN117MSwzfXxcXC4pJykKLQotZGVmIHV0aWxpdHlfcHJpbnRmKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIGRlZiByZXBsYWNlKG0pOgotICAgICAgICBhc3NlcnQgbS5ncm91cCgpCi0gICAgICAgIGcgPSBtLmdyb3VwKClbMTpdCi0gICAgICAgIGlmIGcuc3RhcnRzd2l0aCgneCcpOgotICAgICAgICAgICAgcmV0dXJuIGNocihpbnQoZ1sxOl0sIDE2KSkKLSAgICAgICAgaWYgbGVuKGcpIDw9IDMgYW5kIGxlbihbYyBmb3IgYyBpbiBnIGlmIGMgaW4gJzAxMjM0NTY3J10pID09IGxlbihnKToKLSAgICAgICAgICAgICMgWWF5LCBhbiBvY3RhbCBudW1iZXIKLSAgICAgICAgICAgIHJldHVybiBjaHIoaW50KGcsIDgpKQotICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgJ2EnOiAnXGEnLAotICAgICAgICAgICAgJ2InOiAnXGInLAotICAgICAgICAgICAgJ2YnOiAnXGYnLAotICAgICAgICAgICAgJ24nOiAnXG4nLAotICAgICAgICAgICAgJ3InOiAnXHInLAotICAgICAgICAgICAgJ3QnOiAnXHQnLAotICAgICAgICAgICAgJ3YnOiAnXHYnLAotICAgICAgICAgICAgJ1xcJzogJ1xcJywKLSAgICAgICAgfS5nZXQoZykKLSAgICAgICAgCi0gICAgIyBDb252ZXJ0IGVzY2FwZSBzZXF1ZW5jZXMKLSAgICBmb3JtYXQgPSByZS5zdWIoUkVfVU5FU0NBUEUsIHJlcGxhY2UsIGFyZ3NbMF0pCi0gICAgc3Rkb3V0LndyaXRlKGZvcm1hdCAlIHR1cGxlKGFyZ3NbMTpdKSkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyB0cnVlIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1kZWYgdXRpbGl0eV90cnVlKG5hbWUsIGFyZ3MsIGludGVycCwgZW52LCBzdGRpbiwgc3Rkb3V0LCBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgcmV0dXJuIDAKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzZWQgdXRpbGl0eQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVJFX1NFRCA9IHJlLmNvbXBpbGUocidecyguKS4qXDFbYS16QS1aXSokJykKLQotIyBjeWd3aW4gc2VkIGZhaWxzIHdpdGggc29tZSBleHByZXNzaW9ucyB3aGVuIHRoZXkgZG8gbm90IGVuZCB3aXRoIGEgc2luZ2xlIHNwYWNlLgotIyBzZWUgdW5pdCB0ZXN0cyBmb3IgZGV0YWlscy4gSW50ZXJlc3RpbmdseSwgdGhlIHNhbWUgZXhwcmVzc2lvbnMgd29ya3MgcGVyZmVjdGx5Ci0jIGluIGN5Z3dpbiBzaGVsbC4KLWRlZiB1dGlsaXR5X3NlZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCBkZWJ1Z2ZsYWdzKToKLSAgICBpZiAnZGVidWctdXRpbGl0eScgaW4gZGVidWdmbGFnczoKLSAgICAgICAgcHJpbnQgaW50ZXJwLmxvZygnICcuam9pbihbbmFtZSwgc3RyKGFyZ3MpLCBpbnRlcnBbJ1BXRCddXSkgKyAnXG4nKQotICAgICAgICAKLSAgICAjIFNjYW4gcGF0dGVybiBhcmd1bWVudHMgYW5kIGFwcGVuZCBhIHNwYWNlIGlmIG5lY2Vzc2FyeQotICAgIGZvciBpIGluIHJhbmdlKGxlbihhcmdzKSk6Ci0gICAgICAgIGlmIG5vdCBSRV9TRUQuc2VhcmNoKGFyZ3NbaV0pOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgYXJnc1tpXSA9IGFyZ3NbaV0gKyAnICcKLQotICAgIHJldHVybiBydW5fY29tbWFuZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgCi0gICAgICAgIHN0ZGVyciwgZGVidWdmbGFncykKLQotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzbGVlcCB1dGlsaXR5Ci0jLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotZGVmIHV0aWxpdHlfc2xlZXAobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0gICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIGRlYnVnZmxhZ3M6Ci0gICAgICAgIHByaW50IGludGVycC5sb2coJyAnLmpvaW4oW25hbWUsIHN0cihhcmdzKSwgaW50ZXJwWydQV0QnXV0pICsgJ1xuJykKLSAgICB0aW1lLnNsZWVwKGludChhcmdzWzBdKSkKLSAgICByZXR1cm4gMAotICAgIAotIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIAotIyBzb3J0IHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1PUFRfU09SVCA9IE5vbkV4aXRpbmdQYXJzZXIoInNvcnQgLSBzb3J0LCBtZXJnZSwgb3Igc2VxdWVuY2UgY2hlY2sgdGV4dCBmaWxlcyIpCi0KLWRlZiB1dGlsaXR5X3NvcnQobmFtZSwgYXJncywgaW50ZXJwLCBlbnYsIHN0ZGluLCBzdGRvdXQsIHN0ZGVyciwgZGVidWdmbGFncyk6Ci0KLSAgICBkZWYgc29ydChwYXRoKToKLSAgICAgICAgaWYgcGF0aCA9PSAnLSc6Ci0gICAgICAgICAgICBsaW5lcyA9IHN0ZGluLnJlYWRsaW5lcygpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZiA9IGZpbGUocGF0aCkKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBzdGRlcnIud3JpdGUoc3RyKGUpICsgJ1xuJykKLSAgICAgICAgICAgICAgICByZXR1cm4gMQotICAgICAgICAKLSAgICAgICAgaWYgbGluZXMgYW5kIGxpbmVzWy0xXVstMV0hPSdcbic6Ci0gICAgICAgICAgICBsaW5lc1stMV0gPSBsaW5lc1stMV0gKyAnXG4nCi0gICAgICAgIHJldHVybiBsaW5lcwotICAgIAotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0gICAgICAgIAotICAgIG9wdGlvbiwgYXJncyA9IE9QVF9TT1JULnBhcnNlX2FyZ3MoYXJncykKLSAgICBhbGxsaW5lcyA9IFtdCi0gICAgCi0gICAgaWYgbGVuKGFyZ3MpPD0wOgotICAgICAgICBhcmdzICs9IFsnLSddCi0gICAgICAgIAotICAgICMgTG9hZCBhbGwgZmlsZXMgbGluZXMKLSAgICBjdXJkaXIgPSBvcy5nZXRjd2QoKQotICAgIHRyeToKLSAgICAgICAgb3MuY2hkaXIoZW52WydQV0QnXSkKLSAgICAgICAgZm9yIHBhdGggaW4gYXJnczoKLSAgICAgICAgICAgIGFsbGxpbmVzICs9IHNvcnQocGF0aCkKLSAgICBmaW5hbGx5OgotICAgICAgICBvcy5jaGRpcihjdXJkaXIpCi0gICAgICAgICAgICAKLSAgICBhbGxsaW5lcy5zb3J0KCkKLSAgICBmb3IgbGluZSBpbiBhbGxsaW5lczoKLSAgICAgICAgc3Rkb3V0LndyaXRlKGxpbmUpCi0gICAgcmV0dXJuIDAKLSAgICAKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0jIGhnIHV0aWxpdHkKLSMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLWhnY29tbWFuZHMgPSBbCi0gICAgJ2FkZCcsCi0gICAgJ2FkZHJlbW92ZScsCi0gICAgJ2NvbW1pdCcsICdjaScsCi0gICAgJ2RlYnVncmVuYW1lJywKLSAgICAnZGVidWd3YWxrJywKLSAgICAnZmFsYWJhbGEnLCAjIER1bW15IGNvbW1hbmQgdXNlZCBpbiBhIG1lcmN1cmlhbCB0ZXN0Ci0gICAgJ2luY29taW5nJywKLSAgICAnbG9jYXRlJywKLSAgICAncHVsbCcsCi0gICAgJ3B1c2gnLAotICAgICdxaW5pdCcsCi0gICAgJ3JlbW92ZScsICdybScsCi0gICAgJ3JlbmFtZScsICdtdicsCi0gICAgJ3JldmVydCcsICAgIAotICAgICdzaG93Y29uZmlnJywKLSAgICAnc3RhdHVzJywgJ3N0JywKLSAgICAnc3RyaXAnLAotICAgIF0KLQotZGVmIHJld3JpdGVzbGFzaGVzKG5hbWUsIGFyZ3MpOgotICAgICMgU2V2ZXJhbCBoZyBjb21tYW5kcyBvdXRwdXQgZmlsZSBwYXRocywgcmV3cml0ZSB0aGUgc2VwYXJhdG9ycwotICAgIGlmIGxlbihhcmdzKSA+IDEgYW5kIG5hbWUubG93ZXIoKS5lbmRzd2l0aCgncHl0aG9uJykgXAotICAgICAgIGFuZCBhcmdzWzBdLmVuZHN3aXRoKCdoZycpOgotICAgICAgICBmb3IgY21kIGluIGhnY29tbWFuZHM6Ci0gICAgICAgICAgICBpZiBjbWQgaW4gYXJnc1sxOl06Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgICAgIAotICAgICMgc3ZuIG91dHB1dCBjb250YWlucyBtYW55IHBhdGhzIHdpdGggT1Mgc3BlY2lmaWMgc2VwYXJhdG9ycy4KLSAgICAjIE5vcm1hbGl6ZSB0aGVzZSB0byB1bml4IHBhdGhzLgotICAgIGJhc2UgPSBvcy5wYXRoLmJhc2VuYW1lKG5hbWUpCi0gICAgaWYgYmFzZS5zdGFydHN3aXRoKCdzdm4nKToKLSAgICAgICAgcmV0dXJuIFRydWUKLSAgICAKLSAgICByZXR1cm4gRmFsc2UKLQotZGVmIHJld3JpdGVoZyhvdXRwdXQpOgotICAgIGlmIG5vdCBvdXRwdXQ6Ci0gICAgICAgIHJldHVybiBvdXRwdXQKLSAgICAjIFJld3JpdGUgb3Mgc3BlY2lmaWMgbWVzc2FnZXMKLSAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgnOiBUaGUgc3lzdGVtIGNhbm5vdCBmaW5kIHRoZSBmaWxlIHNwZWNpZmllZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScpCi0gICAgb3V0cHV0ID0gcmUuc3ViKCc6IEFjY2VzcyBpcyBkZW5pZWQuKiQnLCAnOiBQZXJtaXNzaW9uIGRlbmllZCcsIG91dHB1dCkKLSAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZSgnOiBObyBjb25uZWN0aW9uIGNvdWxkIGJlIG1hZGUgYmVjYXVzZSB0aGUgdGFyZ2V0IG1hY2hpbmUgYWN0aXZlbHkgcmVmdXNlZCBpdCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJzogQ29ubmVjdGlvbiByZWZ1c2VkJykKLSAgICByZXR1cm4gb3V0cHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgCi0KLWRlZiBydW5fY29tbWFuZChuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwKLSAgICAgICAgICAgICAgICBzdGRlcnIsIGRlYnVnZmxhZ3MpOgotICAgICMgRXhlY3V0ZSB0aGUgY29tbWFuZAotICAgIGlmICdkZWJ1Zy11dGlsaXR5JyBpbiBkZWJ1Z2ZsYWdzOgotICAgICAgICBwcmludCBpbnRlcnAubG9nKCcgJy5qb2luKFtuYW1lLCBzdHIoYXJncyksIGludGVycFsnUFdEJ11dKSArICdcbicpCi0KLSAgICBoZ2JpbiA9IGludGVycC5vcHRpb25zKCkuaGdiaW5hcnkKLSAgICBpc2hnID0gaGdiaW4gYW5kICgnaGcnIGluIG5hbWUgb3IgYXJncyBhbmQgJ2hnJyBpbiBhcmdzWzBdKQotICAgIHVuaXhvdXRwdXQgPSAnY3lnd2luJyBpbiBuYW1lIG9yIGlzaGcKLSAgICAKLSAgICBleGVjX2VudiA9IGVudi5nZXRfdmFyaWFibGVzKCkgICAgICAgIAotICAgIHRyeToKLSAgICAgICAgIyBCVUc6IGNvbXBhcmluZyBmaWxlIGRlc2NyaXB0b3IgaXMgY2xlYXJseSBub3QgYSByZWxpYWJsZSB3YXkgdG8gdGVsbAotICAgICAgICAjIHdoZXRoZXIgdGhleSBwb2ludCBvbiB0aGUgc2FtZSB1bmRlcmx5aW5nIG9iamVjdC4gQnV0IGluIHB5c2ggbGltaXRlZAotICAgICAgICAjIHNjb3BlIHRoaXMgaXMgdXN1YWxseSByaWdodCwgd2UgZG8gbm90IGV4cGVjdCBjb21wbGljYXRlZCByZWRpcmVjdGlvbnMKLSAgICAgICAgIyBiZXNpZGVzIHVzdWFsIDI+JjEuCi0gICAgICAgICMgU3RpbGwgdGhlcmUgaXMgb25lIGNhc2Ugd2UgaGF2ZSBidXQgY2Fubm90IGRlYWwgd2l0aCBpcyB3aGVuIHN0ZG91dAotICAgICAgICAjIGFuZCBzdGRlcnIgYXJlIHJlZGlyZWN0ZWQgKmJ5IHB5c2ggY2FsbGVyKi4gVGhpcyB0aGUgcmVhc29uIGZvciB0aGUKLSAgICAgICAgIyAtLXJlZGlyZWN0IHB5c2goKSBvcHRpb24uCi0gICAgICAgICMgTm93LCB3ZSB3YW50IHRvIGtub3cgdGhleSBhcmUgdGhlIHNhbWUgYmVjYXVzZSB3ZSBzb21ldGltZXMgbmVlZCB0byAKLSAgICAgICAgIyB0cmFuc2Zvcm0gdGhlIGNvbW1hbmQgb3V0cHV0LCBtb3N0bHkgcmVtb3ZlIENSLUxGIHRvIGVuc3VyZSB0aGF0Ci0gICAgICAgICMgY29tbWFuZCBvdXRwdXQgaXMgdW5peC1saWtlLiBDeWd3aW4gdXRpbGllcyBhcmUgYSBzcGVjaWFsIGNhc2UgYmVjYXVzZQotICAgICAgICAjIHRoZXkgZXhwbGljaXRlbHkgc2V0IHRoZWlyIG91dHB1dCBzdHJlYW1zIHRvIGJpbmFyeSBtb2RlLCBzbyB3ZSBoYXZlCi0gICAgICAgICMgbm90aGluZyB0byBkby4gRm9yIGFsbCBvdGhlcnMgY29tbWFuZHMsIHdlIGhhdmUgdG8gZ3Vlc3Mgd2hldGhlciB0aGV5Ci0gICAgICAgICMgYXJlIHNlbmRpbmcgdGV4dCBkYXRhLCBpbiB3aGljaCBjYXNlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtdXN0IGJlIGRvbmUuCi0gICAgICAgICMgQWdhaW4sIHRoZSBOVUwgY2hhcmFjdGVyIHRlc3QgaXMgdW5yZWxpYWJsZSBidXQgc2hvdWxkIGJlIGVub3VnaCBmb3IKLSAgICAgICAgIyBoZyB0ZXN0cy4KLSAgICAgICAgcmVkaXJlY3RlZCA9IHN0ZG91dC5maWxlbm8oKT09c3RkZXJyLmZpbGVubygpCi0gICAgICAgIGlmIG5vdCByZWRpcmVjdGVkOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW25hbWVdICsgYXJncywgY3dkPWVudlsnUFdEJ10sIGVudj1leGVjX2VudiwgCi0gICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW25hbWVdICsgYXJncywgY3dkPWVudlsnUFdEJ10sIGVudj1leGVjX2VudiwgCi0gICAgICAgICAgICAgICAgICAgIHN0ZGluPXN0ZGluLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCi0gICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCi0gICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyBlOgotICAgICAgICByYWlzZSBVdGlsaXR5RXJyb3Ioc3RyKGUpKQotCi0gICAgaWYgbm90IHVuaXhvdXRwdXQ6Ci0gICAgICAgIGRlZiBlbmNvZGUocyk6Ci0gICAgICAgICAgICBpZiAnXDAnIGluIHM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHMKLSAgICAgICAgICAgIHJldHVybiBzLnJlcGxhY2UoJ1xyXG4nLCAnXG4nKQotICAgIGVsc2U6Ci0gICAgICAgIGVuY29kZSA9IGxhbWJkYSBzOiBzCi0KLSAgICBpZiByZXdyaXRlc2xhc2hlcyhuYW1lLCBhcmdzKToKLSAgICAgICAgZW5jb2RlMV8gPSBlbmNvZGUKLSAgICAgICAgZGVmIGVuY29kZShzKToKLSAgICAgICAgICAgIHMgPSBlbmNvZGUxXyhzKQotICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgnXFxcXCcsICdcXCcpCi0gICAgICAgICAgICBzID0gcy5yZXBsYWNlKCdcXCcsICcvJykKLSAgICAgICAgICAgIHJldHVybiBzCi0KLSAgICBpZiBpc2hnOgotICAgICAgICBlbmNvZGUyXyA9IGVuY29kZQotICAgICAgICBkZWYgZW5jb2RlKHMpOgotICAgICAgICAgICAgcmV0dXJuIHJld3JpdGVoZyhlbmNvZGUyXyhzKSkKLSAgICAKLSAgICBzdGRvdXQud3JpdGUoZW5jb2RlKG91dCkpCi0gICAgaWYgbm90IHJlZGlyZWN0ZWQ6Ci0gICAgICAgIHN0ZGVyci53cml0ZShlbmNvZGUoZXJyKSkKLSAgICByZXR1cm4gcC5yZXR1cm5jb2RlCi0gICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9pbnRlcnAucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvaW50ZXJwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMTRlY2YzLi4wMDAwMDAwCi0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9pbnRlcnAucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMzY3ICswLDAgQEAKLSMgaW50ZXJwLnB5IC0gc2hlbGwgaW50ZXJwcmV0ZXIgZm9yIHB5c2guCi0jCi0jIENvcHlyaWdodCAyMDA3IFBhdHJpY2sgTWV6YXJkCi0jCi0jIFRoaXMgc29mdHdhcmUgbWF5IGJlIHVzZWQgYW5kIGRpc3RyaWJ1dGVkIGFjY29yZGluZyB0byB0aGUgdGVybXMKLSMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KLQotIiIiSW1wbGVtZW50IHRoZSBzaGVsbCBpbnRlcnByZXRlci4KLQotTW9zdCByZWZlcmVuY2VzIGFyZSBtYWRlIHRvICJUaGUgT3BlbiBHcm91cCBCYXNlIFNwZWNpZmljYXRpb25zIElzc3VlIDYiLgotPGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS91dGlsaXRpZXMveGN1X2NoYXAwMi5odG1sPgotIiIiCi0jIFRPRE86IGRvY3VtZW50IHRoZSBmYWN0IGlucHV0IHN0cmVhbXMgbXVzdCBpbXBsZW1lbnQgZmlsZW5vKCkgc28gUG9wZW4gd2lsbCB3b3JrIGNvcnJlY3RseS4KLSMgaXQgcmVxdWlyZXMgbm9uLXN0ZGluIHN0cmVhbSB0byBiZSBpbXBsZW1lbnRlZCBhcyBmaWxlcy4gU3RpbGwgdG8gYmUgdGVzdGVkLi4uCi0jIERPQzogcGF0aHNlcCBpcyB1c2VkIGluIFBBVEggaW5zdGVhZCBvZiAnOicuIENsZWFybHksIHRoZXJlIGFyZSBwYXRoIHN5bnRheCBpc3N1ZXMgaGVyZS4KLSMgVE9ETzogc3RvcCBjb21tYW5kIGV4ZWN1dGlvbiB1cG9uIGVycm9yLgotIyBUT0RPOiBzb3J0IG91dCB0aGUgZmlsZW5hbWUvaW9fbnVtYmVyIG1lc3MuIEl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byB1c2UgZmlsZW5hbWVzIG9ubHkuCi0jIFRPRE86IHJldmlldyBzdWJzaGVsbCBpbXBsZW1lbnRhdGlvbgotIyBUT0RPOiB0ZXN0IGVudmlyb25tZW50IGNsb25pbmcgZm9yIG5vbi1zcGVjaWFsIGJ1aWx0aW5zCi0jIFRPRE86IHNldCAteCBzaG91bGQgbm90IHJlYnVpbGQgY29tbWFuZHMgZnJvbSB0b2tlbnMsIGFzc2lnbm1lbnRzL3JlZGlyZWN0aW9ucyBhcmUgbG9zdAotIyBUT0RPOiB1bml0IHRlc3QgZm9yIHZhcmlhYmxlIGFzc2lnbm1lbnQKLSMgVE9ETzogdGVzdCBlcnJvciBtYW5hZ2VtZW50IHdydCBlcnJvciB0eXBlL3V0aWxpdHkgdHlwZQotIyBUT0RPOiB0ZXN0IGZvciBiaW5hcnkgb3V0cHV0IGV2ZXJ5d2hlcmUKLSMgQlVHOiBkZWJ1Zy1wYXJzaW5nIGRvZXMgbm90IHBhc3MgbG9nIGZpbGUgdG8gUExZLiBNYXliZSBhIFBMWSB1cGdyYWRlIGlzIG5lY2Vzc2FyeS4KLWltcG9ydCBiYXNlNjQKLWltcG9ydCBjUGlja2xlIGFzIHBpY2tsZQotaW1wb3J0IGVycm5vCi1pbXBvcnQgZ2xvYgotaW1wb3J0IG9zCi1pbXBvcnQgcmUKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGVtcGZpbGUKLQotdHJ5OgotICAgIHMgPSBzZXQoKQotICAgIGRlbCBzCi1leGNlcHQgTmFtZUVycm9yOgotICAgIGZyb20gU2V0IGltcG9ydCBTZXQgYXMgc2V0Ci0KLWltcG9ydCBidWlsdGluCi1mcm9tIHNoZXJyb3JzIGltcG9ydCAqCi1pbXBvcnQgcHlzaGxleAotaW1wb3J0IHB5c2h5YWNjCi0KLWRlZiBtYXBwZW5kKGZ1bmMsICphcmdzLCAqKmthcmdzKToKLSAgICAiIiJMaWtlIG1hcCBidXQgYXNzdW1lIGZ1bmMgcmV0dXJucyBhIGxpc3QuIFJldHVybmVkIGxpc3RzIGFyZSBtZXJnZWQgaW50bwotICAgIGEgc2luZ2xlIG9uZS4KLSAgICAiIiIKLSAgICByZXR1cm4gcmVkdWNlKGxhbWJkYSBhLGI6IGErYiwgbWFwKGZ1bmMsICphcmdzLCAqKmthcmdzKSwgW10pCi0KLWNsYXNzIEZpbGVXcmFwcGVyOgotICAgICIiIkZpbGUgb2JqZWN0IHdyYXBwZXIgdG8gZWFzZSBkZWJ1Z2dpbmcuCi0gICAgCi0gICAgQWxsb3cgbW9kZSBjaGVja2luZyBhbmQgaW1wbGVtZW50IGZpbGUgZHVwbGljYXRpb24gdGhyb3VnaCBhIHNpbXBsZSAKLSAgICByZWZlcmVuY2UgY291bnRpbmcgc2NoZW1lLiBOb3Qgc3VyZSB0aGUgbGF0dGVyIGlzIHJlYWxseSB1c2VmdWwgc2luY2UKLSAgICBvbmx5IHJlYWwgZmlsZSBkZXNjcmlwdG9ycyBjYW4gYmUgdXNlZC4KLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgbW9kZSwgZmlsZSwgY2xvc2U9VHJ1ZSk6Ci0gICAgICAgIGlmIG1vZGUgbm90IGluICgncicsICd3JywgJ2EnKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJ2ludmFsaWQgbW9kZTogJXMnICUgbW9kZSkKLSAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGUKLSAgICAgICAgc2VsZi5fY2xvc2UgPSBjbG9zZQotICAgICAgICBpZiBpc2luc3RhbmNlKGZpbGUsIEZpbGVXcmFwcGVyKToKLSAgICAgICAgICAgIGlmIGZpbGUuX3JlZmNvdW50WzBdIDw9IDA6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigwLCAnRXJyb3InKQotICAgICAgICAgICAgc2VsZi5fcmVmY291bnQgPSBmaWxlLl9yZWZjb3VudAotICAgICAgICAgICAgc2VsZi5fcmVmY291bnRbMF0gKz0gMQotICAgICAgICAgICAgc2VsZi5fZmlsZSA9IGZpbGUuX2ZpbGUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX3JlZmNvdW50ID0gWzFdCi0gICAgICAgICAgICBzZWxmLl9maWxlID0gZmlsZQotICAgICAgICAKLSAgICBkZWYgZHVwKHNlbGYpOgotICAgICAgICByZXR1cm4gRmlsZVdyYXBwZXIoc2VsZi5fbW9kZSwgc2VsZiwgc2VsZi5fY2xvc2UpCi0gICAgICAgIAotICAgIGRlZiBmaWxlbm8oc2VsZik6Ci0gICAgICAgICIiImZpbGVubygpIHNob3VsZCBiZSBvbmx5IG5lY2Vzc2FyeSBmb3IgaW5wdXQgc3RyZWFtcy4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUuZmlsZW5vKCkKLSAgICAgICAgCi0gICAgZGVmIHJlYWQoc2VsZiwgc2l6ZT0tMSk6Ci0gICAgICAgIGlmIHNlbGYuX21vZGUhPSdyJzoKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoMCwgJ0Vycm9yJykKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUucmVhZChzaXplKQotICAgICAgICAKLSAgICBkZWYgcmVhZGxpbmVzKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9maWxlLnJlYWRsaW5lcygqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIAotICAgIGRlZiB3cml0ZShzZWxmLCBzKToKLSAgICAgICAgaWYgc2VsZi5fbW9kZSBub3QgaW4gKCd3JywgJ2EnKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoMCwgJ0Vycm9yJykKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGUud3JpdGUocykKLSAgICAgICAgCi0gICAgZGVmIGZsdXNoKHNlbGYpOgotICAgICAgICBzZWxmLl9maWxlLmZsdXNoKCkKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOiAgICAgICAgCi0gICAgICAgIGlmIG5vdCBzZWxmLl9yZWZjb3VudDoKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBhc3NlcnQgIHNlbGYuX3JlZmNvdW50WzBdID4gMAotICAgICAgICAKLSAgICAgICAgc2VsZi5fcmVmY291bnRbMF0gLT0gMSAgICAKLSAgICAgICAgaWYgc2VsZi5fcmVmY291bnRbMF0gPT0gMDoKLSAgICAgICAgICAgIHNlbGYuX21vZGUgPSAnYycKLSAgICAgICAgICAgIGlmIHNlbGYuX2Nsb3NlOgotICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGUuY2xvc2UoKQotICAgICAgICBzZWxmLl9yZWZjb3VudCA9IE5vbmUKLSAgICAgICAgICAgICAgICAKLSAgICBkZWYgbW9kZShzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX21vZGUKLQotICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBuYW1lKToKLSAgICAgICAgaWYgbmFtZSA9PSAnbmFtZSc6Ci0gICAgICAgICAgICBzZWxmLm5hbWUgPSBnZXRhdHRyKHNlbGYuX2ZpbGUsIG5hbWUpCi0gICAgICAgICAgICByZXR1cm4gc2VsZi5uYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQotCi0gICAgZGVmIF9fZGVsX18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2xvc2UoKQotICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAKLWRlZiB3aW4zMl9vcGVuX2Rldm51bGwobW9kZSk6Ci0gICAgcmV0dXJuIG9wZW4oJ05VTCcsIG1vZGUpCi0gICAgCi0gICAgICAgIAotY2xhc3MgUmVkaXJlY3Rpb25zOgotICAgICIiIlN0b3JlcyBvcGVuIGZpbGVzIGFuZCB0aGVpciBtYXBwaW5nIHRvIHBzZXVkby1zaCBmaWxlIGRlc2NyaXB0b3IuCi0gICAgIiIiCi0gICAgIyBCVUc6IHJlZGlyZWN0aW9ucyBhcmUgbm90IGhhbmRsZWQgY29ycmVjdGx5OiAxPiYzIDI+JjMgMz4mNCBkb2VzIAotICAgICMgbm90IG1ha2UgMSB0byByZWRpcmVjdCB0byA0Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX2Rlc2NyaXB0b3JzID0ge30KLSAgICAgICAgaWYgc3RkaW4gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcigwLCBzdGRpbikKLSAgICAgICAgaWYgc3Rkb3V0IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5fYWRkX2Rlc2NyaXB0b3IoMSwgc3Rkb3V0KQotICAgICAgICBpZiBzdGRlcnIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9hZGRfZGVzY3JpcHRvcigyLCBzdGRlcnIpCi0gICAgICAgICAgICAKLSAgICBkZWYgYWRkX2hlcmVfZG9jdW1lbnQoc2VsZiwgaW50ZXJwLCBuYW1lLCBjb250ZW50LCBpb19udW1iZXI9Tm9uZSk6Ci0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMAotICAgICAgICAgICAgCi0gICAgICAgIGlmIG5hbWU9PXB5c2hsZXgudW5xdW90ZV93b3JkdHJlZShuYW1lKToKLSAgICAgICAgICAgIGNvbnRlbnQgPSBpbnRlcnAuZXhwYW5kX2hlcmVfZG9jdW1lbnQoKCdUT0tFTicsIGNvbnRlbnQpKQotICAgIAotICAgICAgICAjIFdyaXRlIGRvY3VtZW50IGNvbnRlbnQgaW4gYSB0ZW1wb3JhcnkgZmlsZQotICAgICAgICB0bXAgPSB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdG1wLndyaXRlKGNvbnRlbnQpCi0gICAgICAgICAgICB0bXAuZmx1c2goKQotICAgICAgICAgICAgdG1wLnNlZWsoMCkKLSAgICAgICAgICAgIHNlbGYuX2FkZF9kZXNjcmlwdG9yKGlvX251bWJlciwgRmlsZVdyYXBwZXIoJ3InLCB0bXApKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICB0bXAuY2xvc2UoKQotICAgICAgICAgICAgcmFpc2UgICAgICAgICAgICAgICAgCi0gICAgICAgIAotICAgIGRlZiBhZGQoc2VsZiwgaW50ZXJwLCBvcCwgZmlsZW5hbWUsIGlvX251bWJlcj1Ob25lKToKLSAgICAgICAgaWYgb3Agbm90IGluICgnPCcsICc+JywgJz58JywgJz4+JywgJz4mJyk6Ci0gICAgICAgICAgICAjIFRPRE86IGFkZCBkZXNjcmlwdG9yIGR1cGxpY2F0aW9uIGFuZCBoZXJlX2RvY3VtZW50cyAgICAgIAotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignVW5zdXBwb3J0ZWQgcmVkaXJlY3Rpb24gb3BlcmF0b3IgIiVzIicgJSBvcCkKLSAgICAgICAgICAgIAotICAgICAgICBpZiBpb19udW1iZXIgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBpb19udW1iZXIgPSBpbnQoaW9fbnVtYmVyKQotICAgICAgICAgICAgCi0gICAgICAgIGlmIChvcCA9PSAnPiYnIGFuZCBmaWxlbmFtZS5pc2RpZ2l0KCkpIG9yIGZpbGVuYW1lPT0nLSc6Ci0gICAgICAgICAgICAjIE5vIGV4cGFuc2lvbiBmb3IgZmlsZSBkZXNjcmlwdG9ycywgcXVvdGUgdGhlbSBpZiB5b3Ugd2FudCBhIGZpbGVuYW1lCi0gICAgICAgICAgICBmdWxsbmFtZSA9IGZpbGVuYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiBmaWxlbmFtZS5zdGFydHN3aXRoKCcvJyk6Ci0gICAgICAgICAgICAgICAgIyBUT0RPOiB3aW4zMiBrbHVkZ2UKLSAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZT09Jy9kZXYvbnVsbCc6Ci0gICAgICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gJ05VTCcKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIFRPRE86IGhhbmRsZSBhYnNvbHV0ZSBwYXRobmFtZXMsIHRoZXkgYXJlIHVubGlrZWx5IHRvIGV4aXN0IG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAjIGN1cnJlbnQgcGxhdGZvcm0gKHdpbjMyIGZvciBpbnN0YW5jZSkuCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IGludGVycC5leHBhbmRfcmVkaXJlY3Rpb24oKCdUT0tFTicsIGZpbGVuYW1lKSkKLSAgICAgICAgICAgICAgICBpZiBub3QgZnVsbG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3IoJyVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QnICUgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgIyBCdWlsZCBhYnNvbHV0ZSBwYXRoIGJhc2VkIG9uIFBXRAotICAgICAgICAgICAgICAgIGZ1bGxuYW1lID0gb3MucGF0aC5qb2luKGludGVycC5nZXRfZW52KClbJ1BXRCddLCBmdWxsbmFtZSkKLSAgICAgICAgICAgIAotICAgICAgICBpZiBvcD09JzwnOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9pbnB1dF9yZWRpcmVjdGlvbihpbnRlcnAsIGZ1bGxuYW1lLCBpb19udW1iZXIpCi0gICAgICAgIGVsaWYgb3AgaW4gKCc+JywgJz58Jyk6Ci0gICAgICAgICAgICBjbG9iYmVyID0gKCc+fCc9PW9wKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9vdXRwdXRfcmVkaXJlY3Rpb24oaW50ZXJwLCBmdWxsbmFtZSwgaW9fbnVtYmVyLCBjbG9iYmVyKQotICAgICAgICBlbGlmIG9wPT0nPj4nOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2FkZF9vdXRwdXRfYXBwZW5kaW5nKGludGVycCwgZnVsbG5hbWUsIGlvX251bWJlcikKLSAgICAgICAgZWxpZiBvcD09Jz4mJzoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9kdXBfb3V0cHV0X2Rlc2NyaXB0b3IoZnVsbG5hbWUsIGlvX251bWJlcikKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICBpZiBzZWxmLl9kZXNjcmlwdG9ycyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGZvciBkZXNjIGluIHNlbGYuX2Rlc2NyaXB0b3JzLml0ZXJ2YWx1ZXMoKToKLSAgICAgICAgICAgICAgICBkZXNjLmZsdXNoKCkKLSAgICAgICAgICAgICAgICBkZXNjLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuX2Rlc2NyaXB0b3JzID0gTm9uZQotICAgICAgICAgICAgCi0gICAgZGVmIHN0ZGluKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVzY3JpcHRvcnNbMF0KLSAgICAgICAgICAKLSAgICBkZWYgc3Rkb3V0KHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fZGVzY3JpcHRvcnNbMV0gCi0gICAgICAgIAotICAgIGRlZiBzdGRlcnIoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9kZXNjcmlwdG9yc1syXSAKLSAgICAgICAgICAgIAotICAgIGRlZiBjbG9uZShzZWxmKToKLSAgICAgICAgY2xvbmUgPSBSZWRpcmVjdGlvbnMoKQotICAgICAgICBmb3IgZGVzYywgZmlsZW9iaiBpbiBzZWxmLl9kZXNjcmlwdG9ycy5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIGNsb25lLl9kZXNjcmlwdG9yc1tkZXNjXSA9IGZpbGVvYmouZHVwKCkKLSAgICAgICAgcmV0dXJuIGNsb25lCi0gICAgICAgICAgIAotICAgIGRlZiBfYWRkX291dHB1dF9yZWRpcmVjdGlvbihzZWxmLCBpbnRlcnAsIGZpbGVuYW1lLCBpb19udW1iZXIsIGNsb2JiZXIpOiAgICAKLSAgICAgICAgaWYgaW9fbnVtYmVyIGlzIE5vbmU6Ci0gICAgICAgICAgICAjIGlvX251bWJlciBkZWZhdWx0IHRvIHN0YW5kYXJkIG91dHB1dAotICAgICAgICAgICAgaW9fbnVtYmVyID0gMQotICAgICAgICAKLSAgICAgICAgaWYgbm90IGNsb2JiZXIgYW5kIGludGVycC5nZXRfZW52KCkuaGFzX29wdCgnLUMnKSBhbmQgb3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUpOgotICAgICAgICAgICAgIyBGaWxlIGFscmVhZHkgZXhpc3QgaW4gbm8tY2xvYmJlciBtb2RlLCBiYWlsIG91dAotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignRmlsZSAiJXMiIGFscmVhZHkgZXhpc3RzJyAlIGZpbGVuYW1lKQotICAgICAgICAgICAgCi0gICAgICAgICMgT3BlbiBhbmQgcmVnaXN0ZXIKLSAgICAgICAgc2VsZi5fYWRkX2ZpbGVfZGVzY3JpcHRvcihpb19udW1iZXIsIGZpbGVuYW1lLCAndycpCi0gICAgICAgIAotICAgIGRlZiBfYWRkX291dHB1dF9hcHBlbmRpbmcoc2VsZiwgaW50ZXJwLCBmaWxlbmFtZSwgaW9fbnVtYmVyKTogICAgCi0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMQotICAgICAgICBzZWxmLl9hZGRfZmlsZV9kZXNjcmlwdG9yKGlvX251bWJlciwgZmlsZW5hbWUsICdhJykKLSAgICAgICAgICAgIAotICAgIGRlZiBfYWRkX2lucHV0X3JlZGlyZWN0aW9uKHNlbGYsIGludGVycCwgZmlsZW5hbWUsIGlvX251bWJlcik6Ci0gICAgICAgIGlmIGlvX251bWJlciBpcyBOb25lOgotICAgICAgICAgICAgaW9fbnVtYmVyID0gMAotICAgICAgICBzZWxmLl9hZGRfZmlsZV9kZXNjcmlwdG9yKGlvX251bWJlciwgZmlsZW5hbWUsICdyJykKLSAgICAgICAgCi0gICAgZGVmIF9hZGRfZmlsZV9kZXNjcmlwdG9yKHNlbGYsIGlvX251bWJlciwgZmlsZW5hbWUsIG1vZGUpOiAgICAKLSAgICAgICAgdHJ5OiAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgZmlsZW5hbWUuc3RhcnRzd2l0aCgnLycpOgotICAgICAgICAgICAgICAgIGlmIGZpbGVuYW1lPT0nL2Rldi9udWxsJzoKLSAgICAgICAgICAgICAgICAgICAgZiA9IHdpbjMyX29wZW5fZGV2bnVsbChtb2RlKydiJykKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIFRPRE86IGhhbmRsZSBhYnNvbHV0ZSBwYXRobmFtZXMsIHRoZXkgYXJlIHVubGlrZWx5IHRvIGV4aXN0IG9uIHRoZQotICAgICAgICAgICAgICAgICAgICAjIGN1cnJlbnQgcGxhdGZvcm0gKHdpbjMyIGZvciBpbnN0YW5jZSkuCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoJ2Nhbm5vdCBvcGVuIGFic29sdXRlIHBhdGggJXMnICUgcmVwcihmaWxlbmFtZSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGYgPSBmaWxlKGZpbGVuYW1lLCBtb2RlKydiJykKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgIHJhaXNlIFJlZGlyZWN0aW9uRXJyb3Ioc3RyKGUpKQotICAgICAgICAgICAgCi0gICAgICAgIHdyYXBwZXIgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHdyYXBwZXIgPSBGaWxlV3JhcHBlcihtb2RlLCBmKQotICAgICAgICAgICAgZiA9IE5vbmUKLSAgICAgICAgICAgIHNlbGYuX2FkZF9kZXNjcmlwdG9yKGlvX251bWJlciwgd3JhcHBlcikKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgaWYgZjogZi5jbG9zZSgpCi0gICAgICAgICAgICBpZiB3cmFwcGVyOiB3cmFwcGVyLmNsb3NlKCkKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAKLSAgICBkZWYgX2R1cF9vdXRwdXRfZGVzY3JpcHRvcihzZWxmLCBzb3VyY2VfZmQsIGRlc3RfZmQpOgotICAgICAgICBpZiBzb3VyY2VfZmQgaXMgTm9uZToKLSAgICAgICAgICAgIHNvdXJjZV9mZCA9IDEKLSAgICAgICAgc2VsZi5fZHVwX2ZpbGVfZGVzY3JpcHRvcihzb3VyY2VfZmQsIGRlc3RfZmQsICd3JykKLSAgICAgICAgICAgIAotICAgIGRlZiBfZHVwX2ZpbGVfZGVzY3JpcHRvcihzZWxmLCBzb3VyY2VfZmQsIGRlc3RfZmQsIG1vZGUpOgotICAgICAgICBzb3VyY2VfZmQgPSBpbnQoc291cmNlX2ZkKQotICAgICAgICBpZiBzb3VyY2VfZmQgbm90IGluIHNlbGYuX2Rlc2NyaXB0b3JzOgotICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignIiVzIiBpcyBub3QgYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3InICUgc3RyKHNvdXJjZV9mZCkpCi0gICAgICAgIHNvdXJjZSA9IHNlbGYuX2Rlc2NyaXB0b3JzW3NvdXJjZV9mZF0KLSAgICAgICAgCi0gICAgICAgIGlmIHNvdXJjZS5tb2RlKCkhPW1vZGU6Ci0gICAgICAgICAgICByYWlzZSBSZWRpcmVjdGlvbkVycm9yKCdEZXNjcmlwdG9yICVzIGNhbm5vdCBiZSBkdXBsaWNhdGVkIGluIG1vZGUgIiVzIicgJSAoc3RyKHNvdXJjZSksIG1vZGUpKQotICAgICAgICAKLSAgICAgICAgaWYgZGVzdF9mZD09Jy0nOgotICAgICAgICAgICAgIyBDbG9zZSB0aGUgc291cmNlIGRlc2NyaXB0b3IKLSAgICAgICAgICAgIGRlbCBzZWxmLl9kZXNjcmlwdG9yc1tzb3VyY2VfZmRdCi0gICAgICAgICAgICBzb3VyY2UuY2xvc2UoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGVzdF9mZCA9IGludChkZXN0X2ZkKQotICAgICAgICAgICAgaWYgZGVzdF9mZCBub3QgaW4gc2VsZi5fZGVzY3JpcHRvcnM6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignQ2Fubm90IHJlcGxhY2UgZmlsZSBkZXNjcmlwdG9yICVzJyAlIHN0cihkZXN0X2ZkKSkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGRlc3QgPSBzZWxmLl9kZXNjcmlwdG9yc1tkZXN0X2ZkXQotICAgICAgICAgICAgaWYgZGVzdC5tb2RlKCkhPW1vZGU6Ci0gICAgICAgICAgICAgICAgcmFpc2UgUmVkaXJlY3Rpb25FcnJvcignRGVzY3JpcHRvciAlcyBjYW5ub3QgYmUgY2Fubm90IGJlIHJlZGlyZWN0ZWQgaW4gbW9kZSAiJXMiJyAlIChzdHIoZGVzdCksIG1vZGUpKQotICAgICAgICAgICAgCi0gICAgICAgICAgICBzZWxmLl9kZXNjcmlwdG9yc1tkZXN0X2ZkXSA9IHNvdXJjZS5kdXAoKQotICAgICAgICAgICAgZGVzdC5jbG9zZSgpICAgICAgICAKLSAgICAgICAgICAgIAotICAgIGRlZiBfYWRkX2Rlc2NyaXB0b3Ioc2VsZiwgaW9fbnVtYmVyLCBmaWxlKToKLSAgICAgICAgaW9fbnVtYmVyID0gaW50KGlvX251bWJlcikKLSAgICAgICAgCi0gICAgICAgIGlmIGlvX251bWJlciBpbiBzZWxmLl9kZXNjcmlwdG9yczoKLSAgICAgICAgICAgICMgQ2xvc2UgdGhlIGN1cnJlbnQgZGVzY3JpcHRvcgotICAgICAgICAgICAgZCA9IHNlbGYuX2Rlc2NyaXB0b3JzW2lvX251bWJlcl0KLSAgICAgICAgICAgIGRlbCBzZWxmLl9kZXNjcmlwdG9yc1tpb19udW1iZXJdCi0gICAgICAgICAgICBkLmNsb3NlKCkKLSAgICAgICAgICAgIAotICAgICAgICBzZWxmLl9kZXNjcmlwdG9yc1tpb19udW1iZXJdID0gZmlsZQotCi0gICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgIG5hbWVzID0gWygnJWQ9JXInICUgKGssIGdldGF0dHIodiwgJ25hbWUnLCBOb25lKSkpIGZvciBrLHYKLSAgICAgICAgICAgICAgICAgaW4gc2VsZi5fZGVzY3JpcHRvcnMuaXRlcml0ZW1zKCldCi0gICAgICAgIG5hbWVzID0gJywnLmpvaW4obmFtZXMpCi0gICAgICAgIHJldHVybiAnUmVkaXJlY3Rpb25zKCVzKScgJSBuYW1lcwotCi0gICAgZGVmIF9fZGVsX18oc2VsZik6Ci0gICAgICAgIHNlbGYuY2xvc2UoKQotICAgIAotZGVmIGN5Z3dpbl90b193aW5kb3dzX3BhdGgocGF0aCk6Ci0gICAgIiIiVHVybiAvY3lnZHJpdmUvYy9mb28gaW50byBjOi9mb28sIG9yIHJldHVybiBwYXRoIGlmIGl0Ci0gICAgaXMgbm90IGEgY3lnd2luIHBhdGguCi0gICAgIiIiCi0gICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aCgnL2N5Z2RyaXZlLycpOgotICAgICAgICByZXR1cm4gcGF0aAotICAgIHBhdGggPSBwYXRoW2xlbignL2N5Z2RyaXZlLycpOl0KLSAgICBwYXRoID0gcGF0aFs6MV0gKyAnOicgKyBwYXRoWzE6XQotICAgIHJldHVybiBwYXRoCi0gICAgCi1kZWYgd2luMzJfdG9fdW5peF9wYXRoKHBhdGgpOgotICAgIGlmIHBhdGggaXMgbm90IE5vbmU6Ci0gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJ1xcJywgJy8nKQotICAgIHJldHVybiBwYXRoICAgIAotICAgIAotX1JFX1NIRUJBTkcgPSByZS5jb21waWxlKHInXlwjIVxzPyhbXlxzXSspKD86XHMoW15cc10rKSk/JykKLV9TSEVCQU5HX0NNRFMgPSB7Ci0gICAgJy91c3IvYmluL2Vudic6ICdlbnYnLAotICAgICcvYmluL3NoJzogJ3B5c2gnLAotICAgICdweXRob24nOiAncHl0aG9uJywKLX0KLSAgICAKLWRlZiByZXNvbHZlX3NoZWJhbmcocGF0aCwgaWdub3Jlc2hlbGw9RmFsc2UpOgotICAgICIiIlJldHVybiBhIGxpc3Qgb2YgYXJndW1lbnRzIGFzIHNoZWJhbmcgaW50ZXJwcmV0ZXIgY2FsbCBvciBhbiBlbXB0eSBsaXN0Ci0gICAgaWYgcGF0aCBkb2VzIG5vdCByZWZlciB0byBhbiBleGVjdXRhYmxlIHNjcmlwdC4KLSAgICBTZWUgPGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9hdXN0aW4vZG9jcy9hdXN0aW5fNTFyMi50eHQ+LgotICAgIAotICAgIGlnbm9yZXNoZWxsIC0gc2V0IHRvIFRydWUgdG8gaWdub3JlIHNoIHNoZWJhbmdzLiBSZXR1cm4gYW4gZW1wdHkgbGlzdCBpbnN0ZWFkLgotICAgICIiIgotICAgIHRyeToKLSAgICAgICAgZiA9IGZpbGUocGF0aCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBBdCBtb3N0IDgwIGNoYXJhY3RlcnMgaW4gdGhlIGZpcnN0IGxpbmUKLSAgICAgICAgICAgIGhlYWRlciA9IGYucmVhZCg4MCkuc3BsaXRsaW5lcygpWzBdCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIAotICAgICAgICBtID0gX1JFX1NIRUJBTkcuc2VhcmNoKGhlYWRlcikKLSAgICAgICAgaWYgbm90IG06Ci0gICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgY21kLCBhcmcgPSBtLmdyb3VwKDEsMikKLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoY21kKToKLSAgICAgICAgICAgICMgS2VlcCB0aGlzIG9uZSwgdGhlIGhnIHNjcmlwdCBmb3IgaW5zdGFuY2UgY29udGFpbnMgYSB3ZWlyZCB3aW5kb3dzCi0gICAgICAgICAgICAjIHNoZWJhbmcgcmVmZXJlbmNpbmcgdGhlIGN1cnJlbnQgcHl0aG9uIGluc3RhbGwuCi0gICAgICAgICAgICBjbWRmaWxlID0gb3MucGF0aC5iYXNlbmFtZShjbWQpLmxvd2VyKCkKLSAgICAgICAgICAgIGlmIGNtZGZpbGUgPT0gJ3B5dGhvbi5leGUnOgotICAgICAgICAgICAgICAgIGNtZCA9ICdweXRob24nCi0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsaWYgY21kIG5vdCBpbiBfU0hFQkFOR19DTURTOgotICAgICAgICAgICAgcmFpc2UgQ29tbWFuZE5vdEZvdW5kKCdVbmtub3duIGludGVycHJldGVyICIlcyIgcmVmZXJlbmNlZCBpbiAnXAotICAgICAgICAgICAgICAgICdzaGViYW5nJyAlIGhlYWRlcikKLSAgICAgICAgY21kID0gX1NIRUJBTkdfQ01EUy5nZXQoY21kKQotICAgICAgICBpZiBjbWQgaXMgTm9uZSBvciAoaWdub3Jlc2hlbGwgYW5kIGNtZCA9PSAncHlzaCcpOgotICAgICAgICAgICAgcmV0dXJuIFtdCi0gICAgICAgIGlmIGFyZyBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIFtjbWQsIHdpbjMyX3RvX3VuaXhfcGF0aChwYXRoKV0KLSAgICAgICAgcmV0dXJuIFtjbWQsIGFyZywgd2luMzJfdG9fdW5peF9wYXRoKHBhdGgpXQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgIGlmICBlLmVycm5vIT1lcnJuby5FTk9FTlQgYW5kIFwKLSAgICAgICAgICAgIChlLmVycm5vIT1lcnJuby5FUEVSTSBhbmQgbm90IG9zLnBhdGguaXNkaXIocGF0aCkpOiAjIE9wZW5pbmcgYSBkaXJlY3RvcnkgcmFpc2VzIEVQRVJNCi0gICAgICAgICAgICByYWlzZQotICAgICAgICByZXR1cm4gW10KLSAgICAgICAgCi1kZWYgd2luMzJfZmluZF9pbl9wYXRoKG5hbWUsIHBhdGgpOgotICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgc3RyKToKLSAgICAgICAgcGF0aCA9IHBhdGguc3BsaXQob3MucGF0aHNlcCkKLSAgICAgICAgCi0gICAgZXh0cyA9IG9zLmVudmlyb24uZ2V0KCdQQVRIRVhUJywgJycpLmxvd2VyKCkuc3BsaXQob3MucGF0aHNlcCkKLSAgICBmb3IgcCBpbiBwYXRoOgotICAgICAgICBwX25hbWUgPSBvcy5wYXRoLmpvaW4ocCwgbmFtZSkKLSAgICAgICAgCi0gICAgICAgIHByZWZpeCA9IHJlc29sdmVfc2hlYmFuZyhwX25hbWUpCi0gICAgICAgIGlmIHByZWZpeDoKLSAgICAgICAgICAgIHJldHVybiBwcmVmaXgKLSAgICAgICAgICAgIAotICAgICAgICBmb3IgZXh0IGluIGV4dHM6ICAgIAotICAgICAgICAgICAgcF9uYW1lX2V4dCA9IHBfbmFtZSArIGV4dAotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMocF9uYW1lX2V4dCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFt3aW4zMl90b191bml4X3BhdGgocF9uYW1lX2V4dCldCi0gICAgcmV0dXJuIFtdCi0KLWNsYXNzIFRyYXBzKGRpY3QpOgotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKLSAgICAgICAgaWYga2V5IG5vdCBpbiAoJ0VYSVQnLCk6Ci0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCkKLSAgICAgICAgc3VwZXIoVHJhcHMsIHNlbGYpLl9fc2V0aXRlbV9fKGtleSwgdmFsdWUpCi0KLSMgSUZTIHdoaXRlIHNwYWNlcyBjaGFyYWN0ZXIgY2xhc3MKLV9JRlNfV0hJVEVTUEFDRVMgPSAoJyAnLCAnXHQnLCAnXG4nKQotCi1jbGFzcyBFbnZpcm9ubWVudDoKLSAgICAiIiJFbnZpcm9ubWVudCBob2xkcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGV4cG9ydCB0YWJsZSwgZnVuY3Rpb24gCi0gICAgZGVmaW5pdGlvbnMgYW5kIHdoYXRldmVyIGlzIGRlZmluZWQgaW4gMi4xMiAiU2hlbGwgRXhlY3V0aW9uIEVudmlyb25tZW50IiwKLSAgICByZWRpcmVjdGlvbiBleGNlcHRlZC4KLSAgICAiIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcHdkKToKLSAgICAgICAgc2VsZi5fb3B0ID0gc2V0KCkgICAgICAgI1NoZWxsIG9wdGlvbnMKLSAgICAgICAgCi0gICAgICAgIHNlbGYuX2Z1bmN0aW9ucyA9IHt9ICAgICAgICAKLSAgICAgICAgc2VsZi5fZW52ID0geyc/JzogJzAnLCAnIyc6ICcwJ30KLSAgICAgICAgc2VsZi5fZXhwb3J0ZWQgPSBzZXQoWwotICAgICAgICAgICAgJ0hPTUUnLCAnSUZTJywgJ1BBVEgnCi0gICAgICAgIF0pCi0gICAgICAgIAotICAgICAgICAjIFNldCBlbnZpcm9ubWVudCB2YXJzIHdpdGggc2lkZS1lZmZlY3RzCi0gICAgICAgIHNlbGYuX2lmc193cyA9IE5vbmUgICAgICMgU2V0IG9mIElGUyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMKLSAgICAgICAgc2VsZi5faWZzX3JlID0gTm9uZSAgICAgIyBSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBzcGxpdCBiZXR3ZWVuIHdvcmRzIHVzaW5nIElGUyBjbGFzc2VzCi0gICAgICAgIHNlbGZbJ0lGUyddID0gJycuam9pbihfSUZTX1dISVRFU1BBQ0VTKSAjRGVmYXVsdCBlbnZpcm9ubWVudCB2YWx1ZXMKLSAgICAgICAgc2VsZlsnUFdEJ10gPSBwd2QKLSAgICAgICAgc2VsZi50cmFwcyA9IFRyYXBzKCkKLSAgICAgICAgCi0gICAgZGVmIGNsb25lKHNlbGYsIHN1YnNoZWxsPUZhbHNlKToKLSAgICAgICAgZW52ID0gRW52aXJvbm1lbnQoc2VsZlsnUFdEJ10pCi0gICAgICAgIGVudi5fb3B0ID0gc2V0KHNlbGYuX29wdCkKLSAgICAgICAgZm9yIGssdiBpbiBzZWxmLmdldF92YXJpYWJsZXMoKS5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgIGlmIGsgaW4gc2VsZi5fZXhwb3J0ZWQ6Ci0gICAgICAgICAgICAgICAgZW52LmV4cG9ydChrLHYpCi0gICAgICAgICAgICBlbGlmIHN1YnNoZWxsOgotICAgICAgICAgICAgICAgIGVudltrXSA9IHYKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgaWYgc3Vic2hlbGw6Ci0gICAgICAgICAgICBlbnYuX2Z1bmN0aW9ucyA9IGRpY3Qoc2VsZi5fZnVuY3Rpb25zKQotICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBlbnYgICAgICAgIAotICAgICAgICAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgaWYga2V5IGluICgnQCcsICcqJywgJy0nLCAnJCcpOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgaXMgbm90IGltcGxlbWVudGVkJyAlIHJlcHIoa2V5KSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2VudltrZXldCi0gICAgICAgIAotICAgIGRlZiBnZXQoc2VsZiwga2V5LCBkZWZ2YWw9Tm9uZSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmW2tleV0KLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmV0dXJuIGRlZnZhbAotICAgICAgICAKLSAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSk6Ci0gICAgICAgIGlmIGtleT09J0lGUyc6Ci0gICAgICAgICAgICAjIFVwZGF0ZSB0aGUgd2hpdGVzcGFjZS9ub24td2hpdGVzcGFjZSBjbGFzc2VzCi0gICAgICAgICAgICBzZWxmLl91cGRhdGVfaWZzKHZhbHVlKQotICAgICAgICBlbGlmIGtleT09J1BXRCc6Ci0gICAgICAgICAgICBwd2QgPSBvcy5wYXRoLmFic3BhdGgodmFsdWUpCi0gICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihwd2QpOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhckFzc2lnbm1lbnRFcnJvcignSW52YWxpZCBkaXJlY3RvcnkgJXMnICUgdmFsdWUpCi0gICAgICAgICAgICB2YWx1ZSA9IHB3ZAotICAgICAgICBlbGlmIGtleSBpbiAoJz8nLCAnIScpOgotICAgICAgICAgICAgdmFsdWUgPSBzdHIoaW50KHZhbHVlKSkKLSAgICAgICAgc2VsZi5fZW52W2tleV0gPSB2YWx1ZQotICAgICAgICAKLSAgICBkZWYgX19kZWxpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgaWYga2V5IGluICgnSUZTJywgJ1BXRCcsICc/Jyk6Ci0gICAgICAgICAgICByYWlzZSBWYXJBc3NpZ25tZW50RXJyb3IoJyVzIGNhbm5vdCBiZSB1bnNldCcgJSBrZXkpCi0gICAgICAgIGRlbCBzZWxmLl9lbnZba2V5XQotCi0gICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBpdGVtKToKLSAgICAgICAgcmV0dXJuIGl0ZW0gaW4gc2VsZi5fZW52Ci0gICAgICAgIAotICAgIGRlZiBzZXRfcG9zaXRpb25hbF9hcmdzKHNlbGYsIGFyZ3MpOgotICAgICAgICAiIiJTZXQgdGhlIGNvbnRlbnQgb2YgJ2FyZ3MnIGFzIHBvc2l0aW9uYWwgYXJndW1lbnQgZnJvbSAxIHRvIGxlbihhcmdzKS4KLSAgICAgICAgUmV0dXJuIHByZXZpb3VzIGFyZ3VtZW50IGFzIGEgbGlzdCBvZiBzdHJpbmdzLgotICAgICAgICAiIiIKLSAgICAgICAgIyBTYXZlIGFuZCByZW1vdmUgcHJldmlvdXMgYXJndW1lbnRzCi0gICAgICAgIHByZXZhcmdzID0gW10gICAgICAgIAotICAgICAgICBmb3IgaSBpbiByYW5nZShpbnQoc2VsZi5fZW52WycjJ10pKToKLSAgICAgICAgICAgIGkgPSBzdHIoaSsxKQotICAgICAgICAgICAgcHJldmFyZ3MuYXBwZW5kKHNlbGYuX2VudltpXSkKLSAgICAgICAgICAgIGRlbCBzZWxmLl9lbnZbaV0KLSAgICAgICAgc2VsZi5fZW52WycjJ10gPSAnMCcKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgI1NldCBuZXcgb25lcwotICAgICAgICBmb3IgaSxhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgotICAgICAgICAgICAgc2VsZi5fZW52W3N0cihpKzEpXSA9IHN0cihhcmcpCi0gICAgICAgIHNlbGYuX2VudlsnIyddID0gc3RyKGxlbihhcmdzKSkKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBwcmV2YXJncwotICAgICAgICAKLSAgICBkZWYgZ2V0X3Bvc2l0aW9uYWxfYXJncyhzZWxmKToKLSAgICAgICAgcmV0dXJuIFtzZWxmLl9lbnZbc3RyKGkrMSldIGZvciBpIGluIHJhbmdlKGludChzZWxmLl9lbnZbJyMnXSkpXQotICAgICAgICAKLSAgICBkZWYgZ2V0X3ZhcmlhYmxlcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGRpY3Qoc2VsZi5fZW52KQotICAgICAgICAKLSAgICBkZWYgZXhwb3J0KHNlbGYsIGtleSwgdmFsdWU9Tm9uZSk6Ci0gICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZltrZXldID0gdmFsdWUKLSAgICAgICAgc2VsZi5fZXhwb3J0ZWQuYWRkKGtleSkKLSAgICAgICAgCi0gICAgZGVmIGdldF9leHBvcnRlZChzZWxmKToKLSAgICAgICAgcmV0dXJuIFsoayxzZWxmLl9lbnYuZ2V0KGspKSBmb3IgayBpbiBzZWxmLl9leHBvcnRlZF0KLSAgICAgICAgICAgIAotICAgIGRlZiBzcGxpdF9maWVsZHMoc2VsZiwgd29yZCk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLl9pZnNfd3Mgb3Igbm90IHdvcmQ6Ci0gICAgICAgICAgICByZXR1cm4gW3dvcmRdCi0gICAgICAgIHJldHVybiByZS5zcGxpdChzZWxmLl9pZnNfcmUsIHdvcmQpCi0gICAKLSAgICBkZWYgX3VwZGF0ZV9pZnMoc2VsZiwgdmFsdWUpOgotICAgICAgICAiIiJVcGRhdGUgdGhlIHNwbGl0X2ZpZWxkcyByZWxhdGVkIHZhcmlhYmxlcyB3aGVuIElGUyBjaGFyYWN0ZXIgc2V0IGlzCi0gICAgICAgIGNoYW5nZWQuCi0gICAgICAgICIiIgotICAgICAgICAjIFRPRE86IGhhbmRsZSBOVUxMIElGUwotICAgICAgICAKLSAgICAgICAgIyBTZXBhcmF0ZSBjaGFyYWN0ZXJzIGluIHdoaXRlc3BhY2UgYW5kIG5vbi13aGl0ZXNwYWNlCi0gICAgICAgIGNoYXJzID0gc2V0KHZhbHVlKQotICAgICAgICB3cyA9IFtjIGZvciBjIGluIGNoYXJzIGlmIGMgaW4gX0lGU19XSElURVNQQUNFU10KLSAgICAgICAgbndzID0gW2MgZm9yIGMgaW4gY2hhcnMgaWYgYyBub3QgaW4gX0lGU19XSElURVNQQUNFU10KLSAgICAgICAgCi0gICAgICAgICMgS2VlcCB3aGl0ZXNwYWNlcyBpbiBhIHN0cmluZyBmb3IgbGVmdCBhbmQgcmlnaHQgc3RyaXBwaW5nCi0gICAgICAgIHNlbGYuX2lmc193cyA9ICcnLmpvaW4od3MpCi0gICAgICAgIAotICAgICAgICAjIEJ1aWxkIGEgcmVnZXhwIHRvIHNwbGl0IGZpZWxkcwotICAgICAgICB0cmFpbGluZyA9ICdbJyArICcnLmpvaW4oW3JlLmVzY2FwZShjKSBmb3IgYyBpbiB3c10pICsgJ10nCi0gICAgICAgIGlmIG53czoKLSAgICAgICAgICAgICMgRmlyc3QsIHRoZSBzaW5nbGUgbm9uLXdoaXRlc3BhY2Ugb2NjdXJlbmNlLgotICAgICAgICAgICAgbndzID0gJ1snICsgJycuam9pbihbcmUuZXNjYXBlKGMpIGZvciBjIGluIG53c10pICsgJ10nCi0gICAgICAgICAgICBud3MgPSAnKD86JyArIHRyYWlsaW5nICsgJyonICsgbndzICsgdHJhaWxpbmcgKyAnKicgKyAnfCcgKyB0cmFpbGluZyArICcrKScKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgVGhlbiBtaXggYWxsIHBhcnRzIHdpdGggcXVhbnRpZmllcnMKLSAgICAgICAgICAgIG53cyA9IHRyYWlsaW5nICsgJysnCi0gICAgICAgIHNlbGYuX2lmc19yZSA9IHJlLmNvbXBpbGUobndzKQotICAgICAgIAotICAgIGRlZiBoYXNfb3B0KHNlbGYsIG9wdCwgdmFsPU5vbmUpOgotICAgICAgICByZXR1cm4gKG9wdCwgdmFsKSBpbiBzZWxmLl9vcHQKLSAgICAgICAgCi0gICAgZGVmIHNldF9vcHQoc2VsZiwgb3B0LCB2YWw9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX29wdC5hZGQoKG9wdCwgdmFsKSkKLSAgICAgICAgCi0gICAgZGVmIGZpbmRfaW5fcGF0aChzZWxmLCBuYW1lLCBwd2Q9RmFsc2UpOgotICAgICAgICBwYXRoID0gc2VsZi5fZW52LmdldCgnUEFUSCcsICcnKS5zcGxpdChvcy5wYXRoc2VwKQotICAgICAgICBpZiBwd2Q6Ci0gICAgICAgICAgICBwYXRoWzowXSA9IFtzZWxmWydQV0QnXV0KLSAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgotICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2ZpbmRfaW5fcGF0aChuYW1lLCBzZWxmLl9lbnYuZ2V0KCdQQVRIJywgJycpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCi0gICAgICAgICAgICAKLSAgICBkZWYgZGVmaW5lX2Z1bmN0aW9uKHNlbGYsIG5hbWUsIGJvZHkpOgotICAgICAgICBpZiBub3QgaXNfbmFtZShuYW1lKToKLSAgICAgICAgICAgIHJhaXNlIFNoZWxsU3ludGF4RXJyb3IoJyVzIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUnICUgcmVwcihuYW1lKSkKLSAgICAgICAgc2VsZi5fZnVuY3Rpb25zW25hbWVdID0gYm9keQotICAgICAgICAKLSAgICBkZWYgcmVtb3ZlX2Z1bmN0aW9uKHNlbGYsIG5hbWUpOgotICAgICAgICBkZWwgc2VsZi5fZnVuY3Rpb25zW25hbWVdCi0gICAgICAgIAotICAgIGRlZiBpc19mdW5jdGlvbihzZWxmLCBuYW1lKToKLSAgICAgICAgcmV0dXJuIG5hbWUgaW4gc2VsZi5fZnVuY3Rpb25zCi0gICAgICAgIAotICAgIGRlZiBnZXRfZnVuY3Rpb24oc2VsZiwgbmFtZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9mdW5jdGlvbnMuZ2V0KG5hbWUpCi0gICAgICAgIAotICAgICAgIAotbmFtZV9jaGFyc2V0ID0gJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XycKLW5hbWVfY2hhcnNldCA9IGRpY3QoemlwKG5hbWVfY2hhcnNldCxuYW1lX2NoYXJzZXQpKQotICAgICAgICAgICAKLWRlZiBtYXRjaF9uYW1lKHMpOgotICAgICIiIlJldHVybiB0aGUgbGVuZ3RoIGluIGNoYXJhY3RlcnMgb2YgdGhlIGxvbmdlc3QgcHJlZml4IG1hZGUgb2YgbmFtZQotICAgIGFsbG93ZWQgY2hhcmFjdGVycyBpbiBzLgotICAgICIiIgotICAgIGZvciBpLGMgaW4gZW51bWVyYXRlKHMpOgotICAgICAgICBpZiBjIG5vdCBpbiBuYW1lX2NoYXJzZXQ6Ci0gICAgICAgICAgICByZXR1cm4gc1s6aV0KLSAgICByZXR1cm4gcwotICAgIAotZGVmIGlzX25hbWUocyk6Ci0gICAgcmV0dXJuIGxlbihbYyBmb3IgYyBpbiBzIGlmIGMgbm90IGluIG5hbWVfY2hhcnNldF0pPD0wCi0gICAgCi1kZWYgaXNfc3BlY2lhbF9wYXJhbShjKToKLSAgICByZXR1cm4gbGVuKGMpPT0xIGFuZCBjIGluICgnQCcsJyonLCcjJywnPycsJy0nLCckJywnIScsJzAnKQotICAgIAotZGVmIHV0aWxpdHlfbm90X2ltcGxlbWVudGVkKG5hbWUsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgdXRpbGl0eSBpcyBub3QgaW1wbGVtZW50ZWQnICUgbmFtZSkKLSAgICAKLQotY2xhc3MgVXRpbGl0eToKLSAgICAiIiJEZWZpbmUgdXRpbGl0aWVzIHByb3BlcnRpZXM6Ci0gICAgZnVuYyAtLSB1dGlsaXR5IGNhbGxhYmxlLiBTZWUgYnVpbHRpbiBtb2R1bGUgZm9yIHV0aWxpdHkgc2FtcGxlcy4KLSAgICBpc19zcGVjaWFsIC0tIHNlZSBYQ1UgMi44LgotICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmdW5jLCBpc19zcGVjaWFsPTApOgotICAgICAgICBzZWxmLmZ1bmMgPSBmdW5jCi0gICAgICAgIHNlbGYuaXNfc3BlY2lhbCA9IGJvb2woaXNfc3BlY2lhbCkKLQotCi1kZWYgZW5jb2RlYXJncyhhcmdzKToKLSAgICBkZWYgZW5jb2RlYXJnKHMpOgotICAgICAgICBsaW5lcyA9IGJhc2U2NC5lbmNvZGVzdHJpbmcocykKLSAgICAgICAgbGluZXMgPSBbbC5zcGxpdGxpbmVzKClbMF0gZm9yIGwgaW4gbGluZXNdCi0gICAgICAgIHJldHVybiAnJy5qb2luKGxpbmVzKQotCi0gICAgcyA9IHBpY2tsZS5kdW1wcyhhcmdzKQotICAgIHJldHVybiBlbmNvZGVhcmcocykKLQotZGVmIGRlY29kZWFyZ3Mocyk6Ci0gICAgcyA9IGJhc2U2NC5kZWNvZGVzdHJpbmcocykKLSAgICByZXR1cm4gcGlja2xlLmxvYWRzKHMpCi0gICAgCi0KLWNsYXNzIEdsb2JFcnJvcihFeGNlcHRpb24pOgotICAgIHBhc3MKLQotY2xhc3MgT3B0aW9uczoKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgICMgVHJ1ZSBpZiBNZXJjdXJpYWwgb3BlcmF0ZXMgd2l0aCBiaW5hcnkgc3RyZWFtcwotICAgICAgICBzZWxmLmhnYmluYXJ5ID0gVHJ1ZQotCi1jbGFzcyBJbnRlcnByZXRlcjoKLSAgICAjIEltcGxlbWVudGF0aW9uIGlzIHZlcnkgYmFzaWM6IHRoZSBleGVjdXRlKCkgbWV0aG9kIGp1c3QgbWFrZXMgYSBERlMgb24gdGhlCi0gICAgIyBBU1QgYW5kIGV4ZWN1dGUgbm9kZXMgb25lIGJ5IG9uZS4gTm9kZXMgYXJlIHR1cGxlIChuYW1lLG9iaikgd2hlcmUgbmFtZQotICAgICMgaXMgYSBzdHJpbmcgaWRlbnRpZmllciBhbmQgb2JqIHRoZSBBU1QgZWxlbWVudCByZXR1cm5lZCBieSB0aGUgcGFyc2VyLgotICAgICMKLSAgICAjIEhhbmRsZXIgYXJlIG5hbWVkIGFmdGVyIHRoZSBub2RlIGlkZW50aWZpZXJzLgotICAgICMgVE9ETzogY2hlY2sgbm9kZSBuYW1lcyBhbmQgcmVtb3ZlIHRoZSBzd2l0Y2ggaW4gZXhlY3V0ZSB3aXRoIHNvbWUKLSAgICAjIGR5bmFtaWMgZ2V0YXR0cigpIGNhbGwgdG8gZmluZCBub2RlIGhhbmRsZXJzLgotICAgICIiIlNoZWxsIGludGVycHJldGVyLgotICAgIAotICAgIFRoZSBmb2xsb3dpbmcgZGVidWdnaW5nIGZsYWdzIGNhbiBiZSBwYXNzZWQ6Ci0gICAgZGVidWctcGFyc2luZyAtIGVuYWJsZSBQTFkgZGVidWdnaW5nLgotICAgIGRlYnVnLXRyZWUgLSBwcmludCB0aGUgZ2VuZXJhdGVkIEFTVC4KLSAgICBkZWJ1Zy1jbWQgLSB0cmFjZSBjb21tYW5kIGV4ZWN1dGlvbiBiZWZvcmUgd29yZCBleHBhbnNpb24sIHBsdXMgZXhpdCBzdGF0dXMuCi0gICAgZGVidWctdXRpbGl0eSAtIHRyYWNlIHV0aWxpdHkgZXhlY3V0aW9uLgotICAgICIiIgotICAgIAotICAgICMgTGlzdCBzdXBwb3J0ZWQgY29tbWFuZHMuCi0gICAgQ09NTUFORFMgPSB7Ci0gICAgICAgICdjYXQnOiAgICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9jYXQsKSwKLSAgICAgICAgJ2NkJzogICAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfY2QsKSwKLSAgICAgICAgJzonOiAgICAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfY29sb24sKSwKLSAgICAgICAgJ2VjaG8nOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfZWNobyksCi0gICAgICAgICdlbnYnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2VudiksCi0gICAgICAgICdleGl0JzogICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2V4aXQpLAotICAgICAgICAnZXhwb3J0JzogICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl9leHBvcnQsICAgICBpc19zcGVjaWFsPTEpLAotICAgICAgICAnZWdyZXAnOiAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV9lZ3JlcCksCi0gICAgICAgICdmZ3JlcCc6ICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X2ZncmVwKSwKLSAgICAgICAgJ2d1bnppcCc6ICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfZ3VuemlwKSwKLSAgICAgICAgJ2tpbGwnOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfa2lsbCksCi0gICAgICAgICdta2Rpcic6ICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X21rZGlyKSwKLSAgICAgICAgJ25ldHN0YXQnOiAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfbmV0c3RhdCksCi0gICAgICAgICdwcmludGYnOiAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3ByaW50ZiksCi0gICAgICAgICdwd2QnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3B3ZCksCi0gICAgICAgICdyZXR1cm4nOiAgIFV0aWxpdHkoYnVpbHRpbi5idWlsdGluX3JldHVybiwgICAgIGlzX3NwZWNpYWw9MSksCi0gICAgICAgICdzZWQnOiAgICAgIFV0aWxpdHkoYnVpbHRpbi51dGlsaXR5X3NlZCwpLAotICAgICAgICAnc2V0JzogICAgICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl9zZXQsKSwKLSAgICAgICAgJ3NoaWZ0JzogICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fc2hpZnQsKSwKLSAgICAgICAgJ3NsZWVwJzogICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfc2xlZXAsKSwKLSAgICAgICAgJ3NvcnQnOiAgICAgVXRpbGl0eShidWlsdGluLnV0aWxpdHlfc29ydCwpLAotICAgICAgICAndHJhcCc6ICAgICBVdGlsaXR5KGJ1aWx0aW4uYnVpbHRpbl90cmFwLCAgICAgICBpc19zcGVjaWFsPTEpLAotICAgICAgICAndHJ1ZSc6ICAgICBVdGlsaXR5KGJ1aWx0aW4udXRpbGl0eV90cnVlKSwKLSAgICAgICAgJ3Vuc2V0JzogICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fdW5zZXQsICAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICAgICAgJ3dhaXQnOiAgICAgVXRpbGl0eShidWlsdGluLmJ1aWx0aW5fd2FpdCwgICAgICAgaXNfc3BlY2lhbD0xKSwKLSAgICB9Ci0gICAgCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHB3ZCwgZGVidWdmbGFncyA9IFtdLCBlbnY9Tm9uZSwgcmVkaXJzPU5vbmUsIHN0ZGluPU5vbmUsCi0gICAgICAgICAgICAgICAgIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSwgb3B0cz1PcHRpb25zKCkpOgotICAgICAgICBzZWxmLl9lbnYgPSBlbnYKLSAgICAgICAgaWYgc2VsZi5fZW52IGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLl9lbnYgPSBFbnZpcm9ubWVudChwd2QpCi0gICAgICAgIHNlbGYuX2NoaWxkcmVuID0ge30KLSAgICAgICAgICAgIAotICAgICAgICBzZWxmLl9yZWRpcnMgPSByZWRpcnMKLSAgICAgICAgc2VsZi5fY2xvc2VfcmVkaXJzID0gRmFsc2UKLSAgICAgICAgCi0gICAgICAgIGlmIHNlbGYuX3JlZGlycyBpcyBOb25lOgotICAgICAgICAgICAgaWYgc3RkaW4gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzdGRpbiA9IHN5cy5zdGRpbgotICAgICAgICAgICAgaWYgc3Rkb3V0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0ID0gc3lzLnN0ZG91dAotICAgICAgICAgICAgaWYgc3RkZXJyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgc3RkZXJyID0gc3lzLnN0ZGVycgotICAgICAgICAgICAgc3RkaW4gPSBGaWxlV3JhcHBlcigncicsIHN0ZGluLCBGYWxzZSkKLSAgICAgICAgICAgIHN0ZG91dCA9IEZpbGVXcmFwcGVyKCd3Jywgc3Rkb3V0LCBGYWxzZSkKLSAgICAgICAgICAgIHN0ZGVyciA9IEZpbGVXcmFwcGVyKCd3Jywgc3RkZXJyLCBGYWxzZSkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycyA9IFJlZGlyZWN0aW9ucyhzdGRpbiwgc3Rkb3V0LCBzdGRlcnIpCi0gICAgICAgICAgICBzZWxmLl9jbG9zZV9yZWRpcnMgPSBUcnVlCi0gICAgICAgICAgICAKLSAgICAgICAgc2VsZi5fZGVidWdmbGFncyA9IGxpc3QoZGVidWdmbGFncykKLSAgICAgICAgc2VsZi5fbG9nZmlsZSA9IHN5cy5zdGRlcnIKLSAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdHMKLSAgICAgICAgCi0gICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICAiIiJNdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBpbnRlcnByZXRlciBpcyBubyBsb25nZXIgdXNlZC4iIiIKLSAgICAgICAgc2NyaXB0ID0gc2VsZi5fZW52LnRyYXBzLmdldCgnRVhJVCcpCi0gICAgICAgIGlmIHNjcmlwdDoKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLmV4ZWN1dGVfc2NyaXB0KHNjcmlwdD1zY3JpcHQpCi0gICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgIGlmIHNlbGYuX3JlZGlycyBpcyBub3QgTm9uZSBhbmQgc2VsZi5fY2xvc2VfcmVkaXJzOgotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgIGRlZiBsb2coc2VsZiwgcyk6Ci0gICAgICAgIHNlbGYuX2xvZ2ZpbGUud3JpdGUocykKLSAgICAgICAgc2VsZi5fbG9nZmlsZS5mbHVzaCgpCi0gICAgICAgICAgICAKLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgcmV0dXJuIHNlbGYuX2VudltrZXldCi0gICAgICAgIAotICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIHZhbHVlKToKLSAgICAgICAgc2VsZi5fZW52W2tleV0gPSB2YWx1ZQotCi0gICAgZGVmIG9wdGlvbnMoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9vcHRpb25zCi0KLSAgICBkZWYgcmVkaXJlY3Qoc2VsZiwgcmVkaXJzLCBpb3MpOgotICAgICAgICBkZWYgYWRkX3JlZGlyKGlvKToKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoaW8sIHB5c2h5YWNjLklPUmVkaXJlY3QpOgotICAgICAgICAgICAgICAgIHJlZGlycy5hZGQoc2VsZiwgaW8ub3AsIGlvLmZpbGVuYW1lLCBpby5pb19udW1iZXIpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJlZGlycy5hZGRfaGVyZV9kb2N1bWVudChzZWxmLCBpby5uYW1lLCBpby5jb250ZW50LCBpby5pb19udW1iZXIpCi0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICBtYXAoYWRkX3JlZGlyLCBpb3MpCi0gICAgICAgIHJldHVybiByZWRpcnMKLSAgICAgICAgICAgIAotICAgIGRlZiBleGVjdXRlX3NjcmlwdChzZWxmLCBzY3JpcHQ9Tm9uZSwgYXN0PU5vbmUsIHNvdXJjZWQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdHBhdGg9Tm9uZSk6Ci0gICAgICAgICIiIklmIHNjcmlwdCBpcyBub3QgTm9uZSwgcGFyc2UgdGhlIGlucHV0LiBPdGhlcndpc2UgdGFrZXMgdGhlIHN1cHBsaWVkCi0gICAgICAgIEFTVC4gVGhlbiBleGVjdXRlIHRoZSBBU1QuCi0gICAgICAgIFJldHVybiB0aGUgc2NyaXB0IGV4aXQgc3RhdHVzLgotICAgICAgICAiIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgaWYgc2NyaXB0cGF0aCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLl9lbnZbJzAnXSA9IG9zLnBhdGguYWJzcGF0aChzY3JpcHRwYXRoKQotCi0gICAgICAgICAgICBpZiBzY3JpcHQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZGVidWdfcGFyc2luZyA9ICgnZGVidWctcGFyc2luZycgaW4gc2VsZi5fZGVidWdmbGFncykgICAgCi0gICAgICAgICAgICAgICAgY21kcywgc2NyaXB0ID0gcHlzaHlhY2MucGFyc2Uoc2NyaXB0LCBUcnVlLCBkZWJ1Z19wYXJzaW5nKQotICAgICAgICAgICAgICAgIGlmICdkZWJ1Zy10cmVlJyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzOgotICAgICAgICAgICAgICAgICAgICBweXNoeWFjYy5wcmludF9jb21tYW5kcyhjbWRzLCBzZWxmLl9sb2dmaWxlKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9sb2dmaWxlLmZsdXNoKCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgY21kcywgc2NyaXB0ID0gYXN0LCAnJyAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgICAgIGZvciBjbWQgaW4gY21kczoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEV4aXRTaWduYWwgYXMgZToKLSAgICAgICAgICAgICAgICAgICAgaWYgc291cmNlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IGludChlLmFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgICAgICBleGNlcHQgU2hlbGxFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW52Wyc/J10gPSAxCi0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgaWYgJ2RlYnVnLXV0aWxpdHknIGluIHNlbGYuX2RlYnVnZmxhZ3Mgb3IgJ2RlYnVnLWNtZCcgaW4gc2VsZi5fZGVidWdmbGFnczoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2coJ3JldHVybmNvZGUgJyArIHN0cihzdGF0dXMpKyAnXG4nKQotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICBleGNlcHQgQ29tbWFuZE5vdEZvdW5kIGFzIGU6Ci0gICAgICAgICAgICBwcmludCA+PnNlbGYuX3JlZGlycy5zdGRlcnIsIHN0cihlKQotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZGVyci5mbHVzaCgpCi0gICAgICAgICAgICAjIENvbW1hbmQgbm90IGZvdW5kIGJ5IG5vbi1pbnRlcmFjdGl2ZSBzaGVsbAotICAgICAgICAgICAgIyByZXR1cm4gMTI3Ci0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQgUmVkaXJlY3Rpb25FcnJvciBhcyBlOgotICAgICAgICAgICAgIyBUT0RPOiBzaG91bGQgYmUgaGFuZGxlZCBkZXBlbmRpbmcgb24gdGhlIHV0aWxpdHkgc3RhdHVzCi0gICAgICAgICAgICBwcmludCA+PnNlbGYuX3JlZGlycy5zdGRlcnIsIHN0cihlKQotICAgICAgICAgICAgc2VsZi5fcmVkaXJzLnN0ZGVyci5mbHVzaCgpCi0gICAgICAgICAgICAjIENvbW1hbmQgbm90IGZvdW5kIGJ5IG5vbi1pbnRlcmFjdGl2ZSBzaGVsbAotICAgICAgICAgICAgIyByZXR1cm4gMTI3Ci0gICAgICAgICAgICByYWlzZQotCi0gICAgZGVmIGRvdGNvbW1hbmQoc2VsZiwgZW52LCBhcmdzKToKLSAgICAgICAgaWYgbGVuKGFyZ3MpIDwgMToKLSAgICAgICAgICAgIHJhaXNlIFNoZWxsRXJyb3IoJy4gZXhwZWN0cyBhdCBsZWFzdCBvbmUgYXJndW1lbnQnKQotICAgICAgICBwYXRoID0gYXJnc1swXQotICAgICAgICBpZiAnLycgbm90IGluIHBhdGg6Ci0gICAgICAgICAgICBmb3VuZCA9IGVudi5maW5kX2luX3BhdGgoYXJnc1swXSwgVHJ1ZSkKLSAgICAgICAgICAgIGlmIGZvdW5kOgotICAgICAgICAgICAgICAgIHBhdGggPSBmb3VuZFswXQotICAgICAgICBzY3JpcHQgPSBmaWxlKHBhdGgpLnJlYWQoKQotICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRlX3NjcmlwdChzY3JpcHQ9c2NyaXB0LCBzb3VyY2VkPVRydWUpCi0KLSAgICBkZWYgZXhlY3V0ZShzZWxmLCB0b2tlbiwgcmVkaXJzPU5vbmUpOgotICAgICAgICAiIiJFeGVjdXRlIGFuZCBBU1Qgc3VidHJlZSB3aXRoIHN1cHBsaWVkIHJlZGlyZWN0aW9ucyBvdmVycmlkaW5nIGRlZmF1bHQKLSAgICAgICAgaW50ZXJwcmV0ZXIgb25lcy4KLSAgICAgICAgUmV0dXJuIHRoZSBleGl0IHN0YXR1cy4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIG5vdCB0b2tlbjoKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgcmVkaXJzIGlzIE5vbmU6Ci0gICAgICAgICAgICByZWRpcnMgPSBzZWxmLl9yZWRpcnMKLSAgICAgICAgICAgIAotICAgICAgICBpZiBpc2luc3RhbmNlKHRva2VuLCBsaXN0KToKLSAgICAgICAgICAgICMgQ29tbWFuZHMgc2VxdWVuY2UKLSAgICAgICAgICAgIHJlcyA9IDAKLSAgICAgICAgICAgIGZvciB0IGluIHRva2VuOgotICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZSh0LCByZWRpcnMpCi0gICAgICAgICAgICByZXR1cm4gcmVzCi0KLSAgICAgICAgdHlwZSwgdmFsdWUgPSB0b2tlbgotICAgICAgICBzdGF0dXMgPSAwCi0gICAgICAgIGlmIHR5cGU9PSdzaW1wbGVfY29tbWFuZCc6Ci0gICAgICAgICAgICByZWRpcnNfY29weSA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBUT0RPOiBkZWZpbmUgYW5kIGhhbmRsZSBjb21tYW5kIHJldHVybiB2YWx1ZXMKLSAgICAgICAgICAgICAgICAjIFRPRE86IGltcGxlbWVudCBzZXQgLWUKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX3NpbXBsZV9jb21tYW5kKHZhbHVlLCByZWRpcnNfY29weSkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgcmVkaXJzX2NvcHkuY2xvc2UoKQotICAgICAgICBlbGlmIHR5cGU9PSdwaXBlbGluZSc6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX3BpcGVsaW5lKHZhbHVlLCByZWRpcnMpCi0gICAgICAgIGVsaWYgdHlwZT09J2FuZF9vcic6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX2FuZF9vcih2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSdmb3JfY2xhdXNlJzoKLSAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuX2V4ZWN1dGVfZm9yX2NsYXVzZSh2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSd3aGlsZV9jbGF1c2UnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV93aGlsZV9jbGF1c2UodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nZnVuY3Rpb25fZGVmaW5pdGlvbic6Ci0gICAgICAgICAgICBzdGF0dXMgPSBzZWxmLl9leGVjdXRlX2Z1bmN0aW9uX2RlZmluaXRpb24odmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nYnJhY2VfZ3JvdXAnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9icmFjZV9ncm91cCh2YWx1ZSwgcmVkaXJzKQotICAgICAgICBlbGlmIHR5cGU9PSdpZl9jbGF1c2UnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fZXhlY3V0ZV9pZl9jbGF1c2UodmFsdWUsIHJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nc3Vic2hlbGwnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zdWJzaGVsbChhc3Q9dmFsdWUuY21kcywgcmVkaXJzPXJlZGlycykKLSAgICAgICAgZWxpZiB0eXBlPT0nYXN5bmMnOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5fYXN5bmNsaXN0KHZhbHVlKQotICAgICAgICBlbGlmIHR5cGU9PSdyZWRpcmVjdF9saXN0JzoKLSAgICAgICAgICAgIHJlZGlyc19jb3B5ID0gc2VsZi5yZWRpcmVjdChyZWRpcnMuY2xvbmUoKSwgdmFsdWUucmVkaXJzKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZSh2YWx1ZS5jbWQsIHJlZGlyc19jb3B5KQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICByZWRpcnNfY29weS5jbG9zZSgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCdVbnN1cHBvcnRlZCB0b2tlbiB0eXBlICcgKyB0eXBlKQotCi0gICAgICAgIGlmIHN0YXR1cyA8IDA6Ci0gICAgICAgICAgICBzdGF0dXMgPSAyNTUKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2lmX2NsYXVzZShzZWxmLCBpZl9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIGNvbmRfc3RhdHVzID0gc2VsZi5leGVjdXRlKGlmX2NsYXVzZS5jb25kLCByZWRpcnMpCi0gICAgICAgIGlmIGNvbmRfc3RhdHVzPT0wOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0ZShpZl9jbGF1c2UuaWZfY21kcywgcmVkaXJzKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZXhlY3V0ZShpZl9jbGF1c2UuZWxzZV9jbWRzLCByZWRpcnMpCi0gICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfYnJhY2VfZ3JvdXAoc2VsZiwgZ3JvdXAsIHJlZGlycyk6Ci0gICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgZm9yIGNtZCBpbiBncm91cC5jbWRzOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGNtZCwgcmVkaXJzKQotICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgICAgICAKLSAgICBkZWYgX2V4ZWN1dGVfZnVuY3Rpb25fZGVmaW5pdGlvbihzZWxmLCBmdW5kZWYsIHJlZGlycyk6Ci0gICAgICAgIHNlbGYuX2Vudi5kZWZpbmVfZnVuY3Rpb24oZnVuZGVmLm5hbWUsIGZ1bmRlZi5ib2R5KQotICAgICAgICByZXR1cm4gMAotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3doaWxlX2NsYXVzZShzZWxmLCB3aGlsZV9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgd2hpbGUgMToKLSAgICAgICAgICAgIGNvbmRfc3RhdHVzID0gMAotICAgICAgICAgICAgZm9yIGNvbmQgaW4gd2hpbGVfY2xhdXNlLmNvbmRpdGlvbjoKLSAgICAgICAgICAgICAgICBjb25kX3N0YXR1cyA9IHNlbGYuZXhlY3V0ZShjb25kLCByZWRpcnMpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBjb25kX3N0YXR1czoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yIGNtZCBpbiB3aGlsZV9jbGF1c2UuY21kczoKLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoY21kLCByZWRpcnMpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBzdGF0dXMKLSAgICAgICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9mb3JfY2xhdXNlKHNlbGYsIGZvcl9jbGF1c2UsIHJlZGlycyk6Ci0gICAgICAgIGlmIG5vdCBpc19uYW1lKGZvcl9jbGF1c2UubmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBTaGVsbFN5bnRheEVycm9yKCclcyBpcyBub3QgYSB2YWxpZCBuYW1lJyAlIHJlcHIoZm9yX2NsYXVzZS5uYW1lKSkKLSAgICAgICAgaXRlbXMgPSBtYXBwZW5kKHNlbGYuZXhwYW5kX3Rva2VuLCBmb3JfY2xhdXNlLml0ZW1zKQotICAgICAgICAKLSAgICAgICAgc3RhdHVzID0gMCAgICAKLSAgICAgICAgZm9yIGl0ZW0gaW4gaXRlbXM6Ci0gICAgICAgICAgICBzZWxmLl9lbnZbZm9yX2NsYXVzZS5uYW1lXSA9IGl0ZW0KLSAgICAgICAgICAgIGZvciBjbWQgaW4gZm9yX2NsYXVzZS5jbWRzOgotICAgICAgICAgICAgICAgIHN0YXR1cyA9IHNlbGYuZXhlY3V0ZShjbWQsIHJlZGlycykKLSAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX2FuZF9vcihzZWxmLCBvcl9hbmQsIHJlZGlycyk6Ci0gICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZShvcl9hbmQubGVmdCwgcmVkaXJzKSAgICAgICAgCi0gICAgICAgIGlmIChvcl9hbmQub3A9PScmJicgYW5kIHJlcz09MCkgb3IgKG9yX2FuZC5vcCE9JyYmJyBhbmQgcmVzIT0wKToKLSAgICAgICAgICAgIHJlcyA9IHNlbGYuZXhlY3V0ZShvcl9hbmQucmlnaHQsIHJlZGlycykKLSAgICAgICAgcmV0dXJuIHJlcwotICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3BpcGVsaW5lKHNlbGYsIHBpcGVsaW5lLCByZWRpcnMpOiAgICAgICAgICAgIAotICAgICAgICBpZiBsZW4ocGlwZWxpbmUuY29tbWFuZHMpPT0xOgotICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKHBpcGVsaW5lLmNvbW1hbmRzWzBdLCByZWRpcnMpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIEV4ZWN1dGUgYWxsIGNvbW1hbmRzIG9uZSBhZnRlciB0aGUgb3RoZXIKLSAgICAgICAgICAgIHN0YXR1cyA9IDAKLSAgICAgICAgICAgIGlucGF0aCwgb3V0cGF0aCA9IE5vbmUsIE5vbmUKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIENvbW1hbmRzIGlucHV0cyBhbmQgb3V0cHV0cyBjYW5ub3QgcmVhbGx5IGJlIHBsdWdnZWQgYXMgZG9uZQotICAgICAgICAgICAgICAgICMgYnkgYSByZWFsIHNoZWxsLiBSdW4gY29tbWFuZHMgc2VxdWVudGlhbGx5IGFuZCBjaGFpbiB0aGVpcgotICAgICAgICAgICAgICAgICMgaW5wdXQvb3V0cHV0IHRocm91Z2h0IHRlbXBvcmFyeSBmaWxlcy4KLSAgICAgICAgICAgICAgICB0bXBmZCwgaW5wYXRoID0gdGVtcGZpbGUubWtzdGVtcCgpCi0gICAgICAgICAgICAgICAgb3MuY2xvc2UodG1wZmQpCi0gICAgICAgICAgICAgICAgdG1wZmQsIG91dHBhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKLSAgICAgICAgICAgICAgICBvcy5jbG9zZSh0bXBmZCkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBpbnBhdGggPSB3aW4zMl90b191bml4X3BhdGgoaW5wYXRoKQotICAgICAgICAgICAgICAgIG91dHBhdGggPSB3aW4zMl90b191bml4X3BhdGgob3V0cGF0aCkKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmb3IgaSwgY21kIGluIGVudW1lcmF0ZShwaXBlbGluZS5jb21tYW5kcyk6Ci0gICAgICAgICAgICAgICAgICAgIGNhbGxfcmVkaXJzID0gcmVkaXJzLmNsb25lKCkKLSAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgaSE9MDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsX3JlZGlycy5hZGQoc2VsZiwgJzwnLCBpbnBhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBpIT1sZW4ocGlwZWxpbmUuY29tbWFuZHMpLTE6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9yZWRpcnMuYWRkKHNlbGYsICc+Jywgb3V0cGF0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5leGVjdXRlKGNtZCwgY2FsbF9yZWRpcnMpCi0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgICMgQ2hhaW4gaW5wdXRzL291dHB1dHMKLSAgICAgICAgICAgICAgICAgICAgICAgIGlucGF0aCwgb3V0cGF0aCA9IG91dHBhdGgsIGlucGF0aAotICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9yZWRpcnMuY2xvc2UoKSAgICAgICAgICAgIAotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBpZiBpbnBhdGg6IG9zLnJlbW92ZShpbnBhdGgpCi0gICAgICAgICAgICAgICAgaWYgb3V0cGF0aDogb3MucmVtb3ZlKG91dHBhdGgpCi0gICAgICAgIAotICAgICAgICBpZiBwaXBlbGluZS5yZXZlcnNlX3N0YXR1czoKLSAgICAgICAgICAgIHN0YXR1cyA9IGludChub3Qgc3RhdHVzKQotICAgICAgICBzZWxmLl9lbnZbJz8nXSA9IHN0YXR1cwotICAgICAgICByZXR1cm4gc3RhdHVzCi0gICAgICAgIAotICAgIGRlZiBfZXhlY3V0ZV9mdW5jdGlvbihzZWxmLCBuYW1lLCBhcmdzLCBpbnRlcnAsIGVudiwgc3RkaW4sIHN0ZG91dCwgc3RkZXJyLCAqb3RoZXJzKToKLSAgICAgICAgYXNzZXJ0IGludGVycCBpcyBzZWxmCi0gICAgICAgIAotICAgICAgICBmdW5jID0gZW52LmdldF9mdW5jdGlvbihuYW1lKQotICAgICAgICAjU2V0IHBvc2l0aW9uYWwgcGFyYW1ldGVycwotICAgICAgICBwcmV2YXJncyA9IE5vbmUKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcHJldmFyZ3MgPSBlbnYuc2V0X3Bvc2l0aW9uYWxfYXJncyhhcmdzKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJlZGlycyA9IFJlZGlyZWN0aW9ucyhzdGRpbi5kdXAoKSwgc3Rkb3V0LmR1cCgpLCBzdGRlcnIuZHVwKCkpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBzZWxmLmV4ZWN1dGUoZnVuYywgcmVkaXJzKQotICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgIHJlZGlycy5jbG9zZSgpCi0gICAgICAgICAgICBleGNlcHQgUmV0dXJuU2lnbmFsIGFzIGU6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gaW50KGUuYXJnc1swXSkKLSAgICAgICAgICAgICAgICBlbnZbJz8nXSA9IHN0YXR1cwotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cwotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgI1Jlc2V0IHBvc2l0aW9uYWwgcGFyYW1ldGVycwotICAgICAgICAgICAgaWYgcHJldmFyZ3MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZW52LnNldF9wb3NpdGlvbmFsX2FyZ3MocHJldmFyZ3MpCi0gICAgICAgICAgICAgICAgCi0gICAgZGVmIF9leGVjdXRlX3NpbXBsZV9jb21tYW5kKHNlbGYsIHRva2VuLCByZWRpcnMpOgotICAgICAgICAiIiJDYW4gcmFpc2UgUmV0dXJuU2lnbmFsIHdoZW4gcmV0dXJuIGJ1aWx0aW4gaXMgY2FsbGVkLCBFeGl0U2lnbmFsIHdoZW4KLSAgICAgICAgZXhpdCBpcyBjYWxsZWQsIGFuZCBvdGhlciBzaGVsbCBleGNlcHRpb25zIHVwb24gYnVpbHRpbiBmYWlsdXJlcy4KLSAgICAgICAgIiIiCi0gICAgICAgIGRlYnVnX2NvbW1hbmQgPSAnZGVidWctY21kJyBpbiBzZWxmLl9kZWJ1Z2ZsYWdzCi0gICAgICAgIGlmIGRlYnVnX2NvbW1hbmQ6Ci0gICAgICAgICAgICBzZWxmLmxvZygnd29yZCcgKyByZXByKHRva2VuLndvcmRzKSArICdcbicpCi0gICAgICAgICAgICBzZWxmLmxvZygnYXNzaWducycgKyByZXByKHRva2VuLmFzc2lnbnMpICsgJ1xuJykKLSAgICAgICAgICAgIHNlbGYubG9nKCdyZWRpcnMnICsgcmVwcih0b2tlbi5yZWRpcnMpICsgJ1xuJykKLSAgICAgICAgCi0gICAgICAgIGlzX3NwZWNpYWwgPSBOb25lCi0gICAgICAgIGVudiA9IHNlbGYuX2VudgotICAgICAgICAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBXb3JkIGV4cGFuc2lvbgotICAgICAgICAgICAgYXJncyA9IFtdCi0gICAgICAgICAgICBmb3Igd29yZCBpbiB0b2tlbi53b3JkczogICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgYXJncyArPSBzZWxmLmV4cGFuZF90b2tlbih3b3JkKQotICAgICAgICAgICAgICAgIGlmIGlzX3NwZWNpYWwgaXMgTm9uZSBhbmQgYXJnczoKLSAgICAgICAgICAgICAgICAgICAgaXNfc3BlY2lhbCA9IGVudi5pc19mdW5jdGlvbihhcmdzWzBdKSBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAoYXJnc1swXSBpbiBzZWxmLkNPTU1BTkRTIGFuZCBzZWxmLkNPTU1BTkRTW2FyZ3NbMF1dLmlzX3NwZWNpYWwpCi0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIGRlYnVnX2NvbW1hbmQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2coJ19leGVjdXRlX3NpbXBsZV9jb21tYW5kJyArIHN0cihhcmdzKSArICdcbicpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBpZiBub3QgYXJnczoKLSAgICAgICAgICAgICAgICAjIFJlZGlyZWN0aW9ucyBoYXBwZW4gaXMgYSBzdWJzaGVsbAotICAgICAgICAgICAgICAgIHJlZGlycyA9IHJlZGlycy5jbG9uZSgpCi0gICAgICAgICAgICBlbGlmIG5vdCBpc19zcGVjaWFsOgotICAgICAgICAgICAgICAgIGVudiA9IHNlbGYuX2Vudi5jbG9uZSgpCi0gICAgICAgICAgICAKLSAgICAgICAgICAgICMgUmVkaXJlY3Rpb25zCi0gICAgICAgICAgICBzZWxmLnJlZGlyZWN0KHJlZGlycywgdG9rZW4ucmVkaXJzKQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgIyBWYXJpYWJsZXMgYXNzaWdubWVudHMKLSAgICAgICAgICAgIHJlcyA9IDAKLSAgICAgICAgICAgIGZvciB0eXBlLChrLHYpIGluIHRva2VuLmFzc2lnbnM6Ci0gICAgICAgICAgICAgICAgc3RhdHVzLCBleHBhbmRlZCA9IHNlbGYuZXhwYW5kX3ZhcmlhYmxlKChrLHYpKQotICAgICAgICAgICAgICAgIGlmIHN0YXR1cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgcmVzID0gc3RhdHVzCi0gICAgICAgICAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgICAgICAgICAgZW52LmV4cG9ydChrLCBleHBhbmRlZCkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBlbnZba10gPSBleHBhbmRlZAotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYgYXJncyBhbmQgYXJnc1swXSBpbiAoJy4nLCAnc291cmNlJyk6Ci0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5kb3Rjb21tYW5kKGVudiwgYXJnc1sxOl0pCi0gICAgICAgICAgICBlbGlmIGFyZ3M6Ci0gICAgICAgICAgICAgICAgaWYgYXJnc1swXSBpbiBzZWxmLkNPTU1BTkRTOgotICAgICAgICAgICAgICAgICAgICBjb21tYW5kID0gc2VsZi5DT01NQU5EU1thcmdzWzBdXQotICAgICAgICAgICAgICAgIGVsaWYgZW52LmlzX2Z1bmN0aW9uKGFyZ3NbMF0pOgotICAgICAgICAgICAgICAgICAgICBjb21tYW5kID0gVXRpbGl0eShzZWxmLl9leGVjdXRlX2Z1bmN0aW9uLCBpc19zcGVjaWFsPVRydWUpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90ICcvJyBpbiBhcmdzWzBdLnJlcGxhY2UoJ1xcJywgJy8nKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IGVudi5maW5kX2luX3BhdGgoYXJnc1swXSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBjbWQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUT0RPOiB0ZXN0IGVycm9yIGNvZGUgb24gdW5rbm93biBjb21tYW5kID0+IDEyNwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIENvbW1hbmROb3RGb3VuZCgnVW5rbm93biBjb21tYW5kOiAiJXMiJyAlIGFyZ3NbMF0pCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAjIEhhbmRsZSBjb21tYW5kcyBsaWtlICcvY3lnZHJpdmUvYy9mb28uYmF0JwotICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gY3lnd2luX3RvX3dpbmRvd3NfcGF0aChhcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGNtZCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ29tbWFuZE5vdEZvdW5kKCclczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScgJSBhcmdzWzBdKQotICAgICAgICAgICAgICAgICAgICAgICAgc2hlYmFuZyA9IHJlc29sdmVfc2hlYmFuZyhjbWQpCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBzaGViYW5nOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCA9IHNoZWJhbmcKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kID0gW2NtZF0KLSAgICAgICAgICAgICAgICAgICAgYXJnc1swOjFdID0gY21kCi0gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgPSBVdGlsaXR5KGJ1aWx0aW4ucnVuX2NvbW1hbmQpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgIyBDb21tYW5kIGV4ZWN1dGlvbgotICAgICAgICAgICAgICAgIGlmICdkZWJ1Zy1jbWQnIGluIHNlbGYuX2RlYnVnZmxhZ3M6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nKCdyZWRpcmVjdGlvbnMgJyArIHN0cihyZWRpcnMpICsgJ1xuJykKLSAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcmVzID0gY29tbWFuZC5mdW5jKGFyZ3NbMF0sIGFyZ3NbMTpdLCBzZWxmLCBlbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGlycy5zdGRpbigpLCByZWRpcnMuc3Rkb3V0KCksIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpcnMuc3RkZXJyKCksIHNlbGYuX2RlYnVnZmxhZ3MpCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIHNlbGYuX2Vudi5oYXNfb3B0KCcteCcpOgotICAgICAgICAgICAgICAgICMgVHJhY2UgY29tbWFuZCBleGVjdXRpb24gaW4gc2hlbGwgZW52aXJvbm1lbnQKLSAgICAgICAgICAgICAgICAjIEJVRzogd291bGQgYmUgaGFyZCB0byByZXByb2R1Y2UgYSByZWFsIHNoZWxsIGJlaGF2aW91ciBzaW5jZQotICAgICAgICAgICAgICAgICMgdGhlIEFTVCBpcyBub3QgYW5ub3RhdGVkIHdpdGggc291cmNlIGxpbmVzL3Rva2Vucy4KLSAgICAgICAgICAgICAgICBzZWxmLl9yZWRpcnMuc3Rkb3V0KCkud3JpdGUoJyAnLmpvaW4oYXJncykpCi0gICAgICAgICAgICAgICAgCi0gICAgICAgIGV4Y2VwdCBSZXR1cm5TaWduYWw6Ci0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQgU2hlbGxFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgaXNfc3BlY2lhbCBvciBpc2luc3RhbmNlKGUsIChFeGl0U2lnbmFsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGVsbFN5bnRheEVycm9yLCBFeHBhbnNpb25FcnJvcikpOgotICAgICAgICAgICAgICAgIHJhaXNlIGUKLSAgICAgICAgICAgIHNlbGYuX3JlZGlycy5zdGRlcnIoKS53cml0ZShzdHIoZSkrJ1xuJykKLSAgICAgICAgICAgIHJldHVybiAxCi0KLSAgICAgICAgcmV0dXJuIHJlcwotCi0gICAgZGVmIGV4cGFuZF90b2tlbihzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiRXhwYW5kIGEgd29yZCBhcyBzcGVjaWZpZWQgaW4gWzIuNiBXb3JkIEV4cGFuc2lvbnNdLiBSZXR1cm4gdGhlIGxpc3QKLSAgICAgICAgb2YgZXhwYW5kZWQgd29yZHMuCi0gICAgICAgICIiIgotICAgICAgICBzdGF0dXMsIHd0cmVlcyA9IHNlbGYuX2V4cGFuZF93b3JkKHdvcmQpCi0gICAgICAgIHJldHVybiBtYXAocHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcsIHd0cmVlcykKLSAgICAgICAgCi0gICAgZGVmIGV4cGFuZF92YXJpYWJsZShzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiUmV0dXJuIGEgc3RhdHVzIGNvZGUgKG9yIE5vbmUgaWYgbm8gY29tbWFuZCBleHBhbnNpb24gb2NjdXJyZWQpCi0gICAgICAgIGFuZCBhIHNpbmdsZSB3b3JkLgotICAgICAgICAiIiIKLSAgICAgICAgc3RhdHVzLCB3dHJlZXMgPSBzZWxmLl9leHBhbmRfd29yZCh3b3JkLCBwYXRobmFtZT1GYWxzZSwgc3BsaXQ9RmFsc2UpCi0gICAgICAgIHdvcmRzID0gbWFwKHB5c2hsZXgud29yZHRyZWVfYXNfc3RyaW5nLCB3dHJlZXMpCi0gICAgICAgIGFzc2VydCBsZW4od29yZHMpPT0xCi0gICAgICAgIHJldHVybiBzdGF0dXMsIHdvcmRzWzBdCi0gICAgICAgIAotICAgIGRlZiBleHBhbmRfaGVyZV9kb2N1bWVudChzZWxmLCB3b3JkKToKLSAgICAgICAgIiIiUmV0dXJuIHRoZSBleHBhbmRlZCBkb2N1bWVudCBhcyBhIHNpbmdsZSB3b3JkLiBUaGUgaGVyZSBkb2N1bWVudCBpcyAKLSAgICAgICAgYXNzdW1lZCB0byBiZSB1bnF1b3RlZC4KLSAgICAgICAgIiIiCi0gICAgICAgIHN0YXR1cywgd3RyZWVzID0gc2VsZi5fZXhwYW5kX3dvcmQod29yZCwgcGF0aG5hbWU9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXQ9RmFsc2UsIGhlcmVfZG9jdW1lbnQ9VHJ1ZSkKLSAgICAgICAgd29yZHMgPSBtYXAocHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcsIHd0cmVlcykKLSAgICAgICAgYXNzZXJ0IGxlbih3b3Jkcyk9PTEKLSAgICAgICAgcmV0dXJuIHdvcmRzWzBdCi0gICAgICAgIAotICAgIGRlZiBleHBhbmRfcmVkaXJlY3Rpb24oc2VsZiwgd29yZCk6Ci0gICAgICAgICIiIlJldHVybiBhIHNpbmdsZSB3b3JkLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5leHBhbmRfdmFyaWFibGUod29yZClbMV0KLSAgICAgICAgCi0gICAgZGVmIGdldF9lbnYoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9lbnYKLSAgICAgICAgCi0gICAgZGVmIF9leHBhbmRfd29yZChzZWxmLCB0b2tlbiwgcGF0aG5hbWU9VHJ1ZSwgc3BsaXQ9VHJ1ZSwgaGVyZV9kb2N1bWVudD1GYWxzZSk6Ci0gICAgICAgIHd0cmVlID0gcHlzaGxleC5tYWtlX3dvcmR0cmVlKHRva2VuWzFdLCBoZXJlX2RvY3VtZW50PWhlcmVfZG9jdW1lbnQpCi0gICAgICAgIAotICAgICAgICAjIFRPRE86IGltcGxlbWVudCB0aWxkZSBleHBhbnNpb24KLSAgICAgICAgZGVmIGV4cGFuZCh3dHJlZSk6Ci0gICAgICAgICAgICAiIiJSZXR1cm4gYSBwc2V1ZG8gd29yZHRyZWU6IHRoZSB0cmVlIG9yIGl0cyBzdWJlbGVtZW50cyBjYW4gYmUgZW1wdHkKLSAgICAgICAgICAgIGxpc3RzIHdoZW4gbm8gdmFsdWUgcmVzdWx0IGZyb20gdGhlIGV4cGFuc2lvbi4KLSAgICAgICAgICAgICIiIgotICAgICAgICAgICAgc3RhdHVzID0gTm9uZQotICAgICAgICAgICAgZm9yIHBhcnQgaW4gd3RyZWU6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgcGFydFswXWluICgiJyIsICdcXCcpOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGVsaWYgcGFydFswXSBpbiAoJ2AnLCAnJCgnKToKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzLCByZXN1bHQgPSBzZWxmLl9leHBhbmRfY29tbWFuZChwYXJ0KQotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gcmVzdWx0Ci0gICAgICAgICAgICAgICAgZWxpZiBwYXJ0WzBdIGluICgnJCcsICckeycpOgotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gc2VsZi5fZXhwYW5kX3BhcmFtZXRlcihwYXJ0LCB3dHJlZVswXT09JyInLCBzcGxpdCkKLSAgICAgICAgICAgICAgICBlbGlmIHBhcnRbMF0gaW4gKCcnLCAnIicpOgotICAgICAgICAgICAgICAgICAgICBzdGF0dXMsIHJlc3VsdCA9IGV4cGFuZChwYXJ0KQotICAgICAgICAgICAgICAgICAgICBwYXJ0WzpdID0gcmVzdWx0Ci0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcignJXMgZXhwYW5zaW9uIGlzIG5vdCBpbXBsZW1lbnRlZCcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHBhcnRbMF0pCi0gICAgICAgICAgICAjIFtdIGlzIHJldHVybmVkIHdoZW4gYW4gZXhwYW5zaW9uIHJlc3VsdCBpbiBuby1maWVsZCwKLSAgICAgICAgICAgICMgbGlrZSBhbiBlbXB0eSAkQAotICAgICAgICAgICAgd3RyZWUgPSBbcCBmb3IgcCBpbiB3dHJlZSBpZiBwICE9IFtdXQotICAgICAgICAgICAgaWYgbGVuKHd0cmVlKSA8IDM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgW10KLSAgICAgICAgICAgIHJldHVybiBzdGF0dXMsIHd0cmVlCi0gICAgICAgIAotICAgICAgICBzdGF0dXMsIHd0cmVlID0gZXhwYW5kKHd0cmVlKQotICAgICAgICBpZiBsZW4od3RyZWUpID09IDA6Ci0gICAgICAgICAgICByZXR1cm4gc3RhdHVzLCB3dHJlZQotICAgICAgICB3dHJlZSA9IHB5c2hsZXgubm9ybWFsaXplX3dvcmR0cmVlKHd0cmVlKQotICAgICAgICAKLSAgICAgICAgaWYgc3BsaXQ6Ci0gICAgICAgICAgICB3dHJlZXMgPSBzZWxmLl9zcGxpdF9maWVsZHMod3RyZWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB3dHJlZXMgPSBbd3RyZWVdCi0gICAgICAgIAotICAgICAgICBpZiBwYXRobmFtZToKLSAgICAgICAgICAgIHd0cmVlcyA9IG1hcHBlbmQoc2VsZi5fZXhwYW5kX3BhdGhuYW1lLCB3dHJlZXMpCi0gICAgICAgIAotICAgICAgICB3dHJlZXMgPSBtYXAoc2VsZi5fcmVtb3ZlX3F1b3Rlcywgd3RyZWVzKQotICAgICAgICByZXR1cm4gc3RhdHVzLCB3dHJlZXMKLSAgICAgICAgCi0gICAgZGVmIF9leHBhbmRfY29tbWFuZChzZWxmLCB3dHJlZSk6Ci0gICAgICAgICMgQlVHOiB0aGVyZSBpcyBzb21ldGhpbmcgdG8gZG8gd2l0aCBiYWNrc2xhc2hlcyBhbmQgcXVvdGVkCi0gICAgICAgICMgY2hhcmFjdGVycyBoZXJlCi0gICAgICAgIGNvbW1hbmQgPSBweXNobGV4LndvcmR0cmVlX2FzX3N0cmluZyh3dHJlZVsxOi0xXSkKLSAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnN1YnNoZWxsX291dHB1dChjb21tYW5kKQotICAgICAgICByZXR1cm4gc3RhdHVzLCBbJycsIG91dHB1dCwgJyddCi0gICAgICAgIAotICAgIGRlZiBfZXhwYW5kX3BhcmFtZXRlcihzZWxmLCB3dHJlZSwgcXVvdGVkPUZhbHNlLCBzcGxpdD1GYWxzZSk6Ci0gICAgICAgICIiIlJldHVybiBhIHZhbGlkIHd0cmVlIG9yIGFuIGVtcHR5IGxpc3Qgd2hlbiBubyBwYXJhbWV0ZXIgcmVzdWx0cy4iIiIKLSAgICAgICAgIyBHZXQgdGhlIHBhcmFtZXRlciBuYW1lCi0gICAgICAgICMgVE9ETzogaW1wbGVtZW50IHdlaXJkIGV4cGFuc2lvbiBydWxlcyB3aXRoICc6JwotICAgICAgICBuYW1lID0gcHlzaGxleC53b3JkdHJlZV9hc19zdHJpbmcod3RyZWVbMTotMV0pCi0gICAgICAgIGlmIG5vdCBpc19uYW1lKG5hbWUpIGFuZCBub3QgaXNfc3BlY2lhbF9wYXJhbShuYW1lKToKLSAgICAgICAgICAgIHJhaXNlIEV4cGFuc2lvbkVycm9yKCdCYWQgc3Vic3RpdHV0aW9uICIlcyInICUgbmFtZSkKLSAgICAgICAgIyBUT0RPOiBpbXBsZW1lbnQgc3BlY2lhbCBwYXJhbWV0ZXJzCi0gICAgICAgIGlmIG5hbWUgaW4gKCdAJywgJyonKToKLSAgICAgICAgICAgIGFyZ3MgPSBzZWxmLl9lbnYuZ2V0X3Bvc2l0aW9uYWxfYXJncygpCi0gICAgICAgICAgICBpZiBsZW4oYXJncykgPT0gMDoKLSAgICAgICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgICAgIGlmIGxlbihhcmdzKTwyOgotICAgICAgICAgICAgICAgIHJldHVybiBbJycsICcnLmpvaW4oYXJncyksICcnXQotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgc2VwID0gc2VsZi5fZW52LmdldCgnSUZTJywgJycpWzoxXQotICAgICAgICAgICAgaWYgc3BsaXQgYW5kIHF1b3RlZCBhbmQgbmFtZT09J0AnOgotICAgICAgICAgICAgICAgICMgSW50cm9kdWNlIGEgbmV3IHRva2VuIHRvIHRlbGwgdGhlIGNhbGxlciB0aGF0IHRoZXNlIHBhcmFtZXRlcnMKLSAgICAgICAgICAgICAgICAjIGNhdXNlIGEgc3BsaXQgYXMgc3BlY2lmaWVkIGluIDIuNS4yCi0gICAgICAgICAgICAgICAgcmV0dXJuIFsnQCddICsgYXJncyArIFsnJ10KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFsnJywgc2VwLmpvaW4oYXJncyksICcnXSAgICAgICAgICAgICAgICAKLSAgICAgICAgCi0gICAgICAgIHJldHVybiBbJycsIHNlbGYuX2Vudi5nZXQobmFtZSwgJycpLCAnJ10KLSAgICAgICAgCi0gICAgZGVmIF9zcGxpdF9maWVsZHMoc2VsZiwgd3RyZWUpOgotICAgICAgICBkZWYgaXNfZW1wdHkoc3BsaXQpOgotICAgICAgICAgICAgcmV0dXJuIHNwbGl0PT1bJycsICcnLCAnJ10KLSAgICAgICAgICAgIAotICAgICAgICBkZWYgc3BsaXRfcG9zaXRpb25hbChxdW90ZWQpOgotICAgICAgICAgICAgIyBSZXR1cm4gYSBsaXN0IG9mIHd0cmVlIHNwbGl0IGFjY29yZGluZyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgcnVsZXMuCi0gICAgICAgICAgICAjIEFsbCByZW1haW5pbmcgJ0AnIGdyb3VwcyBhcmUgcmVtb3ZlZC4KLSAgICAgICAgICAgIGFzc2VydCBxdW90ZWRbMF09PSciJwotICAgICAgICAgICAgCi0gICAgICAgICAgICBzcGxpdHMgPSBbW11dCi0gICAgICAgICAgICBmb3IgcGFydCBpbiBxdW90ZWQ6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocGFydCwgbGlzdCkgb3IgcGFydFswXSE9J0AnOgotICAgICAgICAgICAgICAgICAgICBzcGxpdHNbLTFdLmFwcGVuZChwYXJ0KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICMgRW1wdHkgb3Igc2luZ2xlIGFyZ3VtZW50IGxpc3Qgd2VyZSBkZWFsdCB3aXRoIGFscmVhZHkKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IGxlbihwYXJ0KT4zCi0gICAgICAgICAgICAgICAgICAgICMgRmlyc3QgYXJndW1lbnQgbXVzdCBqb2luIHdpdGggdGhlIGJlZ2lubmluZyBwYXJ0IG9mIHRoZSBvcmlnaW5hbCB3b3JkCi0gICAgICAgICAgICAgICAgICAgIHNwbGl0c1stMV0uYXBwZW5kKHBhcnRbMV0pCi0gICAgICAgICAgICAgICAgICAgICMgQ3JlYXRlIGRvdWJsZS1xdW90ZXMgZXhwcmVzc2lvbnMgZm9yIGV2ZXJ5IGFyZ3VtZW50IGFmdGVyIHRoZSBmaXJzdAotICAgICAgICAgICAgICAgICAgICBmb3IgYXJnIGluIHBhcnRbMjotMV06Ci0gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHNbLTFdLmFwcGVuZCgnIicpCi0gICAgICAgICAgICAgICAgICAgICAgICBzcGxpdHMuYXBwZW5kKFsnIicsIGFyZ10pCi0gICAgICAgICAgICByZXR1cm4gc3BsaXRzCi0gICAgICAgIAotICAgICAgICAjIEF0IHRoaXMgcG9pbnQsIGFsbCBleHBhbnNpb25zIGJ1dCBwYXRobmFtZXMgaGF2ZSBvY2N1cmVkLiBPbmx5IHF1b3RlZAotICAgICAgICAjIGFuZCBwb3NpdGlvbmFsIHNlcXVlbmNlcyByZW1haW4uIFRodXMsIGFsbCBjYW5kaWRhdGVzIGZvciBmaWVsZCBzcGxpdHRpbmcgCi0gICAgICAgICMgYXJlIGluIHRoZSB0cmVlIHJvb3QsIG9yIGFyZSBwb3NpdGlvbmFsIHNwbGl0cyAoJ0AnKSBhbmQgbGllIGluIHJvb3QKLSAgICAgICAgIyBjaGlsZHJlbi4KLSAgICAgICAgaWYgbm90IHd0cmVlIG9yIHd0cmVlWzBdIG5vdCBpbiAoJycsICciJyk6Ci0gICAgICAgICAgICAjIFRoZSB3aG9sZSB0b2tlbiBpcyBxdW90ZWQgb3IgZW1wdHksIG5vdGhpbmcgdG8gc3BsaXQKLSAgICAgICAgICAgIHJldHVybiBbd3RyZWVdCi0gICAgICAgICAgICAKLSAgICAgICAgaWYgd3RyZWVbMF09PSciJzoKLSAgICAgICAgICAgIHd0cmVlID0gWycnLCB3dHJlZSwgJyddCi0gICAgICAgIAotICAgICAgICByZXN1bHQgPSBbWycnLCAnJ11dCi0gICAgICAgIGZvciBwYXJ0IGluIHd0cmVlWzE6LTFdOgotICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXJ0LCBsaXN0KToKLSAgICAgICAgICAgICAgICBpZiBwYXJ0WzBdPT0nIic6Ci0gICAgICAgICAgICAgICAgICAgIHNwbGl0cyA9IHNwbGl0X3Bvc2l0aW9uYWwocGFydCkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHNwbGl0cyk8PTE6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdICs9IFtwYXJ0LCAnJ10KLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICMgVGVybWluYXRlIHRoZSBjdXJyZW50IHNwbGl0Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdICs9IFtzcGxpdHNbMF0sICcnXQotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IHNwbGl0c1sxOi0xXQotICAgICAgICAgICAgICAgICAgICAgICAgIyBDcmVhdGUgYSBuZXcgc3BsaXQKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBbWycnLCBzcGxpdHNbLTFdLCAnJ11dCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXSArPSBbcGFydCwgJyddCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNwbGl0cyA9IHNlbGYuX2Vudi5zcGxpdF9maWVsZHMocGFydCkKLSAgICAgICAgICAgICAgICBpZiBsZW4oc3BsaXRzKTw9MToKLSAgICAgICAgICAgICAgICAgICAgIyBObyBzcGxpdAotICAgICAgICAgICAgICAgICAgICByZXN1bHRbLTFdWy0xXSArPSBwYXJ0Ci0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIyBUZXJtaW5hdGUgdGhlIGN1cnJlbnQgcmVzdWx0aW5nIHBhcnQgYW5kIGNyZWF0ZSBhIG5ldyBvbmUKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0Wy0xXVstMV0gKz0gc3BsaXRzWzBdCi0gICAgICAgICAgICAgICAgICAgIHJlc3VsdFstMV0uYXBwZW5kKCcnKQotICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gW1snJywgciwgJyddIGZvciByIGluIHNwbGl0c1sxOi0xXV0KLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9IFtbJycsIHNwbGl0c1stMV1dXQotICAgICAgICByZXN1bHRbLTFdLmFwcGVuZCgnJykKLSAgICAgICAgCi0gICAgICAgICMgTGVhZGluZyBhbmQgdHJhaWxpbmcgZW1wdHkgZ3JvdXBzIGNvbWUgZnJvbSBsZWFkaW5nL3RyYWlsaW5nIGJsYW5rcwotICAgICAgICBpZiByZXN1bHQgYW5kIGlzX2VtcHR5KHJlc3VsdFstMV0pOgotICAgICAgICAgICAgcmVzdWx0Wy0xOl0gPSBbXQotICAgICAgICBpZiByZXN1bHQgYW5kIGlzX2VtcHR5KHJlc3VsdFswXSk6Ci0gICAgICAgICAgICByZXN1bHRbOjFdID0gW10KLSAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICAKLSAgICBkZWYgX2V4cGFuZF9wYXRobmFtZShzZWxmLCB3dHJlZSk6Ci0gICAgICAgICIiIlNlZSBbMi42LjYgUGF0aG5hbWUgRXhwYW5zaW9uXS4iIiIKLSAgICAgICAgaWYgc2VsZi5fZW52Lmhhc19vcHQoJy1mJyk6Ci0gICAgICAgICAgICByZXR1cm4gW3d0cmVlXQotICAgICAgICAKLSAgICAgICAgIyBBbGwgZXhwYW5zaW9ucyBoYXZlIGJlZW4gcGVyZm9ybWVkLCBvbmx5IHF1b3RlZCBzZXF1ZW5jZXMgc2hvdWxkIHJlbWFpbgotICAgICAgICAjIGluIHRoZSB0cmVlLiBHZW5lcmF0ZSB0aGUgcGF0dGVybiBieSBmb2xkaW5nIHRoZSB0cmVlLCBlc2NhcGluZyBzcGVjaWFsCi0gICAgICAgICMgY2hhcmFjdGVycyB3aGVuIGFwcGVhciBxdW90ZWQKLSAgICAgICAgc3BlY2lhbF9jaGFycyA9ICcqP1tdJwotICAgICAgICAKLSAgICAgICAgZGVmIG1ha2VfcGF0dGVybih3dHJlZSk6Ci0gICAgICAgICAgICBzdWJwYXR0ZXJuID0gW10KLSAgICAgICAgICAgIGZvciBwYXJ0IGluIHd0cmVlWzE6LTFdOgotICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGFydCwgbGlzdCk6Ci0gICAgICAgICAgICAgICAgICAgIHBhcnQgPSBtYWtlX3BhdHRlcm4ocGFydCkKLSAgICAgICAgICAgICAgICBlbGlmIHd0cmVlWzBdIT0nJzoKLSAgICAgICAgICAgICAgICAgICAgZm9yIGMgaW4gcGFydDoKLSAgICAgICAgICAgICAgICAgICAgICAgICMgTWV0YS1jaGFyYWN0ZXJzIGNhbm5vdCBiZSBxdW90ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGMgaW4gc3BlY2lhbF9jaGFyczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBHbG9iRXJyb3IoKQotICAgICAgICAgICAgICAgIHN1YnBhdHRlcm4uYXBwZW5kKHBhcnQpCi0gICAgICAgICAgICByZXR1cm4gJycuam9pbihzdWJwYXR0ZXJuKQotICAgICAgICAgICAgCi0gICAgICAgIGRlZiBwd2RfZ2xvYihwYXR0ZXJuKToKLSAgICAgICAgICAgIGN3ZCA9IG9zLmdldGN3ZCgpCi0gICAgICAgICAgICBvcy5jaGRpcihzZWxmLl9lbnZbJ1BXRCddKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJldHVybiBnbG9iLmdsb2IocGF0dGVybikgCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIG9zLmNoZGlyKGN3ZCkgICAgCi0gICAgICAgICAgICAKLSAgICAgICAgI1RPRE86IGNoZWNrIHdvcmtpbmcgZGlyZWN0b3J5IGlzc3VlcyBoZXJlIHdydCByZWxhdGl2ZSBwYXR0ZXJucwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwYXR0ZXJuID0gbWFrZV9wYXR0ZXJuKHd0cmVlKQotICAgICAgICAgICAgcGF0aHMgPSBwd2RfZ2xvYihwYXR0ZXJuKQotICAgICAgICBleGNlcHQgR2xvYkVycm9yOgotICAgICAgICAgICAgIyBCVUc6IE1ldGEtY2hhcmFjdGVycyB3ZXJlIGZvdW5kIGluIHF1b3RlZCBzZXF1ZW5jZXMuIFRoZSBzaG91bGQgCi0gICAgICAgICAgICAjIGhhdmUgYmVlbiB1c2VkIGxpdGVyYWxseSBidXQgdGhpcyBpcyB1bnN1cHBvcnRlZCBpbiBjdXJyZW50IGdsb2IgbW9kdWxlLgotICAgICAgICAgICAgIyBJbnN0ZWFkIHdlIGNvbnNpZGVyIHRoZSB3aG9sZSB0cmVlIG11c3QgYmUgdXNlZCBsaXRlcmFsbHkgYW5kCi0gICAgICAgICAgICAjIHRoZXJlZm9yZSB0aGVyZSBpcyBubyBwb2ludCBpbiBnbG9iYmluZy4gVGhpcyBpcyB3cm9uZyB3aGVuIG1ldGEKLSAgICAgICAgICAgICMgY2hhcmFjdGVycyBhcmUgbWl4ZWQgd2l0aCBxdW90ZWQgbWV0YSBpbiB0aGUgc2FtZSBwYXR0ZXJuIGxpa2U6Ci0gICAgICAgICAgICAjIDwgZm9vKiJweSoiID4KLSAgICAgICAgICAgIHBhdGhzID0gW10KLSAgICAgICAgICAgIAotICAgICAgICBpZiBub3QgcGF0aHM6Ci0gICAgICAgICAgICByZXR1cm4gW3d0cmVlXQotICAgICAgICByZXR1cm4gW1snJywgcGF0aCwgJyddIGZvciBwYXRoIGluIHBhdGhzXQotICAgICAgICAKLSAgICBkZWYgX3JlbW92ZV9xdW90ZXMoc2VsZiwgd3RyZWUpOgotICAgICAgICAiIiJTZWUgWzIuNi43IFF1b3RlIFJlbW92YWxdLiIiIgotICAgICAgICAKLSAgICAgICAgZGVmIHVucXVvdGUod3RyZWUpOgotICAgICAgICAgICAgdW5xdW90ZWQgPSBbXQotICAgICAgICAgICAgZm9yIHBhcnQgaW4gd3RyZWVbMTotMV06Ci0gICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXJ0LCBsaXN0KToKLSAgICAgICAgICAgICAgICAgICAgcGFydCA9IHVucXVvdGUocGFydCkKLSAgICAgICAgICAgICAgICB1bnF1b3RlZC5hcHBlbmQocGFydCkKLSAgICAgICAgICAgIHJldHVybiAnJy5qb2luKHVucXVvdGVkKQotICAgICAgICAgICAgCi0gICAgICAgIHJldHVybiBbJycsIHVucXVvdGUod3RyZWUpLCAnJ10KLSAgICAgICAgCi0gICAgZGVmIHN1YnNoZWxsKHNlbGYsIHNjcmlwdD1Ob25lLCBhc3Q9Tm9uZSwgcmVkaXJzPU5vbmUpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzY3JpcHQgb3IgQVNUIGluIGEgc3Vic2hlbGwsIHdpdGggaW5oZXJpdGVkIHJlZGlyZWN0aW9ucwotICAgICAgICBpZiByZWRpcnMgaXMgbm90IE5vbmUuCi0gICAgICAgICIiIgotICAgICAgICBpZiByZWRpcnM6Ci0gICAgICAgICAgICBzdWJfcmVkaXJzID0gcmVkaXJzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzdWJfcmVkaXJzID0gcmVkaXJzLmNsb25lKCkKLSAgICAgICAgCi0gICAgICAgIHN1YnNoZWxsID0gTm9uZSAgICAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3Vic2hlbGwgPSBJbnRlcnByZXRlcihOb25lLCBzZWxmLl9kZWJ1Z2ZsYWdzLCBzZWxmLl9lbnYuY2xvbmUoVHJ1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl9yZWRpcnMsIG9wdHM9c2VsZi5fb3B0aW9ucykKLSAgICAgICAgICAgIHJldHVybiBzdWJzaGVsbC5leGVjdXRlX3NjcmlwdChzY3JpcHQsIGFzdCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIG5vdCByZWRpcnM6IHN1Yl9yZWRpcnMuY2xvc2UoKQotICAgICAgICAgICAgaWYgc3Vic2hlbGw6IHN1YnNoZWxsLmNsb3NlKCkKLSAgICAgICAgCi0gICAgZGVmIHN1YnNoZWxsX291dHB1dChzZWxmLCBzY3JpcHQpOgotICAgICAgICAiIiJFeGVjdXRlIHRoZSBzY3JpcHQgaW4gYSBzdWJzaGVsbCBhbmQgcmV0dXJuIHRoZSBjYXB0dXJlZCBvdXRwdXQuIiIiICAgICAgICAKLSAgICAgICAgIyBDcmVhdGUgdGVtcG9yYXJ5IGZpbGUgdG8gY2FwdHVyZSBzdWJzaGVsbCBvdXRwdXQKLSAgICAgICAgdG1wZmQsIHRtcHBhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdG1wZmlsZSA9IG9zLmZkb3Blbih0bXBmZCwgJ3diJykKLSAgICAgICAgICAgIHN0ZG91dCA9IEZpbGVXcmFwcGVyKCd3JywgdG1wZmlsZSkKLSAgICAgICAgICAgIAotICAgICAgICAgICAgcmVkaXJzID0gUmVkaXJlY3Rpb25zKHNlbGYuX3JlZGlycy5zdGRpbigpLmR1cCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWRpcnMuc3RkZXJyKCkuZHVwKCkpICAgICAgICAgICAgCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0gc2VsZi5zdWJzaGVsbChzY3JpcHQ9c2NyaXB0LCByZWRpcnM9cmVkaXJzKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICByZWRpcnMuY2xvc2UoKQotICAgICAgICAgICAgICAgIHJlZGlycyA9IE5vbmUKLSAgICAgICAgICAgIAotICAgICAgICAgICAgIyBFeHRyYWN0IHN1YnNoZWxsIHN0YW5kYXJkIG91dHB1dAotICAgICAgICAgICAgdG1wZmlsZSA9IG9wZW4odG1wcGF0aCwgJ3JiJykKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBvdXRwdXQgPSB0bXBmaWxlLnJlYWQoKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXMsIG91dHB1dC5yc3RyaXAoJ1xuJykKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgdG1wZmlsZS5jbG9zZSgpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBvcy5yZW1vdmUodG1wcGF0aCkKLQotICAgIGRlZiBfYXN5bmNsaXN0KHNlbGYsIGNtZCk6Ci0gICAgICAgIGFyZ3MgPSAoc2VsZi5fZW52LmdldF92YXJpYWJsZXMoKSwgY21kKQotICAgICAgICBhcmcgPSBlbmNvZGVhcmdzKGFyZ3MpCi0gICAgICAgIGFzc2VydCBsZW4oYXJncykgPCAzMCoxMDI0Ci0gICAgICAgIGNtZCA9IFsncHlzaC5iYXQnLCAnLS1hc3QnLCAnLWMnLCBhcmddCi0gICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCwgY3dkPXNlbGYuX2VudlsnUFdEJ10pCi0gICAgICAgIHNlbGYuX2NoaWxkcmVuW3AucGlkXSA9IHAKLSAgICAgICAgc2VsZi5fZW52WychJ10gPSBwLnBpZAotICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIHdhaXQoc2VsZiwgcGlkcz1Ob25lKToKLSAgICAgICAgaWYgbm90IHBpZHM6Ci0gICAgICAgICAgICBwaWRzID0gc2VsZi5fY2hpbGRyZW4ua2V5cygpCi0KLSAgICAgICAgc3RhdHVzID0gMTI3Ci0gICAgICAgIGZvciBwaWQgaW4gcGlkczoKLSAgICAgICAgICAgIGlmIHBpZCBub3QgaW4gc2VsZi5fY2hpbGRyZW46Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHAgPSBzZWxmLl9jaGlsZHJlbi5wb3AocGlkKQotICAgICAgICAgICAgc3RhdHVzID0gcC53YWl0KCkKLQotICAgICAgICByZXR1cm4gc3RhdHVzCi0KZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9sc3Byb2YucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvbHNwcm9mLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTgzMWMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9sc3Byb2YucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMTYgKzAsMCBAQAotIyEgL3Vzci9iaW4vZW52IHB5dGhvbgotCi1pbXBvcnQgc3lzCi1mcm9tIF9sc3Byb2YgaW1wb3J0IFByb2ZpbGVyLCBwcm9maWxlcl9lbnRyeQotCi1fX2FsbF9fID0gWydwcm9maWxlJywgJ1N0YXRzJ10KLQotZGVmIHByb2ZpbGUoZiwgKmFyZ3MsICoqa3dkcyk6Ci0gICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgIHAgPSBQcm9maWxlcigpCi0gICAgcC5lbmFibGUoc3ViY2FsbHM9VHJ1ZSwgYnVpbHRpbnM9VHJ1ZSkKLSAgICB0cnk6Ci0gICAgICAgIGYoKmFyZ3MsICoqa3dkcykKLSAgICBmaW5hbGx5OgotICAgICAgICBwLmRpc2FibGUoKQotICAgIHJldHVybiBTdGF0cyhwLmdldHN0YXRzKCkpCi0KLQotY2xhc3MgU3RhdHMob2JqZWN0KToKLSAgICAiIiJYWFggZG9jc3RyaW5nIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YSk6Ci0gICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKLQotICAgIGRlZiBzb3J0KHNlbGYsIGNyaXQ9ImlubGluZXRpbWUiKToKLSAgICAgICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgICAgICBpZiBjcml0IG5vdCBpbiBwcm9maWxlcl9lbnRyeS5fX2RpY3RfXzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbid0IHNvcnQgYnkgJXMiICUgY3JpdCkKLSAgICAgICAgc2VsZi5kYXRhLnNvcnQobGFtYmRhIGIsIGE6IGNtcChnZXRhdHRyKGEsIGNyaXQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoYiwgY3JpdCkpKQotICAgICAgICBmb3IgZSBpbiBzZWxmLmRhdGE6Ci0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGUuY2FsbHMuc29ydChsYW1iZGEgYiwgYTogY21wKGdldGF0dHIoYSwgY3JpdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0YXR0cihiLCBjcml0KSkpCi0KLSAgICBkZWYgcHByaW50KHNlbGYsIHRvcD1Ob25lLCBmaWxlPU5vbmUsIGxpbWl0PU5vbmUsIGNsaW1pdD1Ob25lKToKLSAgICAgICAgIiIiWFhYIGRvY3N0cmluZyIiIgotICAgICAgICBpZiBmaWxlIGlzIE5vbmU6Ci0gICAgICAgICAgICBmaWxlID0gc3lzLnN0ZG91dAotICAgICAgICBkID0gc2VsZi5kYXRhCi0gICAgICAgIGlmIHRvcCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGQgPSBkWzp0b3BdCi0gICAgICAgIGNvbHMgPSAiJSAxMnMgJTEycyAlMTEuNGYgJTExLjRmICAgJXNcbiIKLSAgICAgICAgaGNvbHMgPSAiJSAxMnMgJTEycyAlMTJzICUxMnMgJXNcbiIKLSAgICAgICAgY29sczIgPSAiKyUxMnMgJTEycyAlMTEuNGYgJTExLjRmICsgICVzXG4iCi0gICAgICAgIGZpbGUud3JpdGUoaGNvbHMgJSAoIkNhbGxDb3VudCIsICJSZWN1cnNpdmUiLCAiVG90YWwobXMpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW5saW5lKG1zKSIsICJtb2R1bGU6bGluZW5vKGZ1bmN0aW9uKSIpKQotICAgICAgICBjb3VudCA9IDAKLSAgICAgICAgZm9yIGUgaW4gZDoKLSAgICAgICAgICAgIGZpbGUud3JpdGUoY29scyAlIChlLmNhbGxjb3VudCwgZS5yZWNjYWxsY291bnQsIGUudG90YWx0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuaW5saW5ldGltZSwgbGFiZWwoZS5jb2RlKSkpCi0gICAgICAgICAgICBjb3VudCArPSAxCi0gICAgICAgICAgICBpZiBsaW1pdCBpcyBub3QgTm9uZSBhbmQgY291bnQgPT0gbGltaXQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBjY291bnQgPSAwCi0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGZvciBzZSBpbiBlLmNhbGxzOgotICAgICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKGNvbHMgJSAoIislcyIgJSBzZS5jYWxsY291bnQsIHNlLnJlY2NhbGxjb3VudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlLnRvdGFsdGltZSwgc2UuaW5saW5ldGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIrJXMiICUgbGFiZWwoc2UuY29kZSkpKQotICAgICAgICAgICAgICAgICAgICBjb3VudCArPSAxCi0gICAgICAgICAgICAgICAgICAgIGNjb3VudCArPSAxCi0gICAgICAgICAgICAgICAgICAgIGlmIGxpbWl0IGlzIG5vdCBOb25lIGFuZCBjb3VudCA9PSBsaW1pdDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgICAgICAgICBpZiBjbGltaXQgaXMgbm90IE5vbmUgYW5kIGNjb3VudCA9PSBjbGltaXQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotCi0gICAgZGVmIGZyZWV6ZShzZWxmKToKLSAgICAgICAgIiIiUmVwbGFjZSBhbGwgcmVmZXJlbmNlcyB0byBjb2RlIG9iamVjdHMgd2l0aCBzdHJpbmcKLSAgICAgICAgZGVzY3JpcHRpb25zOyB0aGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHBpY2tsZSB0aGUgaW5zdGFuY2UuIiIiCi0KLSAgICAgICAgIyB0aGlzIGNvZGUgaXMgcHJvYmFibHkgcmF0aGVyIGlja2llciB0aGFuIGl0IG5lZWRzIHRvIGJlIQotICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oc2VsZi5kYXRhKSk6Ci0gICAgICAgICAgICBlID0gc2VsZi5kYXRhW2ldCi0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShlLmNvZGUsIHN0cik6Ci0gICAgICAgICAgICAgICAgc2VsZi5kYXRhW2ldID0gdHlwZShlKSgobGFiZWwoZS5jb2RlKSwpICsgZVsxOl0pCi0gICAgICAgICAgICBpZiBlLmNhbGxzOgotICAgICAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKGxlbihlLmNhbGxzKSk6Ci0gICAgICAgICAgICAgICAgICAgIHNlID0gZS5jYWxsc1tqXQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzZS5jb2RlLCBzdHIpOgotICAgICAgICAgICAgICAgICAgICAgICAgZS5jYWxsc1tqXSA9IHR5cGUoc2UpKChsYWJlbChzZS5jb2RlKSwpICsgc2VbMTpdKQotCi1fZm4ybW9kID0ge30KLQotZGVmIGxhYmVsKGNvZGUpOgotICAgIGlmIGlzaW5zdGFuY2UoY29kZSwgc3RyKToKLSAgICAgICAgcmV0dXJuIGNvZGUKLSAgICB0cnk6Ci0gICAgICAgIG1uYW1lID0gX2ZuMm1vZFtjb2RlLmNvX2ZpbGVuYW1lXQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgZm9yIGssIHYgaW4gc3lzLm1vZHVsZXMuaXRlbXMoKToKLSAgICAgICAgICAgIGlmIHYgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIodiwgJ19fZmlsZV9fJyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHYuX19maWxlX18sIHN0cik6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIHYuX19maWxlX18uc3RhcnRzd2l0aChjb2RlLmNvX2ZpbGVuYW1lKToKLSAgICAgICAgICAgICAgICBtbmFtZSA9IF9mbjJtb2RbY29kZS5jb19maWxlbmFtZV0gPSBrCi0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1uYW1lID0gX2ZuMm1vZFtjb2RlLmNvX2ZpbGVuYW1lXSA9ICc8JXM+JyVjb2RlLmNvX2ZpbGVuYW1lCi0KLSAgICByZXR1cm4gJyVzOiVkKCVzKScgJSAobW5hbWUsIGNvZGUuY29fZmlyc3RsaW5lbm8sIGNvZGUuY29fbmFtZSkKLQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIGltcG9ydCBvcwotICAgIHN5cy5hcmd2ID0gc3lzLmFyZ3ZbMTpdCi0gICAgaWYgbm90IHN5cy5hcmd2OgotICAgICAgICBwcmludCA+PiBzeXMuc3RkZXJyLCAidXNhZ2U6IGxzcHJvZi5weSA8c2NyaXB0PiA8YXJndW1lbnRzLi4uPiIKLSAgICAgICAgc3lzLmV4aXQoMikKLSAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShzeXMuYXJndlswXSkpKQotICAgIHN0YXRzID0gcHJvZmlsZShleGVjZmlsZSwgc3lzLmFyZ3ZbMF0sIGdsb2JhbHMoKSwgbG9jYWxzKCkpCi0gICAgc3RhdHMuc29ydCgpCi0gICAgc3RhdHMucHByaW50KCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2gucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0ZTYxNDUuLjAwMDAwMDAKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2gucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNjcgKzAsMCBAQAotIyBweXNoLnB5IC0gY29tbWFuZCBwcm9jZXNzaW5nIGZvciBweXNoLgotIwotIyBDb3B5cmlnaHQgMjAwNyBQYXRyaWNrIE1lemFyZAotIwotIyBUaGlzIHNvZnR3YXJlIG1heSBiZSB1c2VkIGFuZCBkaXN0cmlidXRlZCBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zCi0jIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaW5jb3Jwb3JhdGVkIGhlcmVpbiBieSByZWZlcmVuY2UuCi0KLWltcG9ydCBvcHRwYXJzZQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLWltcG9ydCBpbnRlcnAKLQotU0hfT1BUID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHByb2c9J3B5c2gnLCB1c2FnZT0iJXByb2cgW09QVElPTlNdIiwgdmVyc2lvbj0nMC4xJykKLVNIX09QVC5hZGRfb3B0aW9uKCctYycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2NvbW1hbmRfc3RyaW5nJywgZGVmYXVsdD1Ob25lLCAKLSAgICBoZWxwPSdBIHN0cmluZyB0aGF0IHNoYWxsIGJlIGludGVycHJldGVkIGJ5IHRoZSBzaGVsbCBhcyBvbmUgb3IgbW9yZSBjb21tYW5kcycpCi1TSF9PUFQuYWRkX29wdGlvbignLS1yZWRpcmVjdC10bycsIGRlc3Q9J3JlZGlyZWN0X3RvJywgZGVmYXVsdD1Ob25lLCAKLSAgICBoZWxwPSdSZWRpcmVjdCBzY3JpcHQgY29tbWFuZHMgc3Rkb3V0IGFuZCBzdGRlcnIgdG8gdGhlIHNwZWNpZmllZCBmaWxlJykKLSMgU2VlIHV0aWxpdHlfY29tbWFuZCBpbiBidWlsdGluLnB5IGFib3V0IHRoZSByZWFzb24gZm9yIHRoaXMgZmxhZy4KLVNIX09QVC5hZGRfb3B0aW9uKCctLXJlZGlyZWN0ZWQnLCBkZXN0PSdyZWRpcmVjdGVkJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwgCi0gICAgaGVscD0nVGVsbCB0aGUgaW50ZXJwcmV0ZXIgdGhhdCBzdGRvdXQgYW5kIHN0ZGVyciBhcmUgYWN0dWFsbHkgdGhlIHNhbWUgb2JqZWN0cywgd2hpY2ggaXMgcmVhbGx5IHN0ZG91dCcpCi1TSF9PUFQuYWRkX29wdGlvbignLS1kZWJ1Zy1wYXJzaW5nJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVzdD0nZGVidWdfcGFyc2luZycsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RyYWNlIFBMWSBleGVjdXRpb24nKQotU0hfT1BULmFkZF9vcHRpb24oJy0tZGVidWctdHJlZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnX3RyZWUnLCBkZWZhdWx0PUZhbHNlLCAKLSAgICBoZWxwPSdEaXNwbGF5IHRoZSBnZW5lcmF0ZWQgc3ludGF4IHRyZWUuJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWRlYnVnLWNtZCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2RlYnVnX2NtZCcsIGRlZmF1bHQ9RmFsc2UsIAotICAgIGhlbHA9J1RyYWNlIGNvbW1hbmQgZXhlY3V0aW9uIGJlZm9yZSBwYXJhbWV0ZXJzIGV4cGFuc2lvbiBhbmQgZXhpdCBzdGF0dXMuJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWRlYnVnLXV0aWxpdHknLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZXN0PSdkZWJ1Z191dGlsaXR5JywgZGVmYXVsdD1GYWxzZSwgCi0gICAgaGVscD0nVHJhY2UgdXRpbGl0eSBjYWxscywgYWZ0ZXIgcGFyYW1ldGVycyBleHBhbnNpb25zJykKLVNIX09QVC5hZGRfb3B0aW9uKCctLWFzdCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J2FzdCcsIGRlZmF1bHQ9RmFsc2UsCi0gICAgaGVscD0nRW5jb2RlZCBjb21tYW5kcyB0byBleGVjdXRlIGluIGEgc3VicHJvY2VzcycpCi1TSF9PUFQuYWRkX29wdGlvbignLS1wcm9maWxlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgZGVmYXVsdD1GYWxzZSwKLSAgICBoZWxwPSdQcm9maWxlIHB5c2ggcnVuJykKLSAgICAKLSAgICAKLWRlZiBzcGxpdF9hcmdzKGFyZ3MpOgotICAgICMgU2VwYXJhdGUgc2hlbGwgYXJndW1lbnRzIGZyb20gY29tbWFuZCBvbmVzCi0gICAgIyBKdXN0IHN0b3AgYXQgdGhlIGZpcnN0IGFyZ3VtZW50IG5vdCBzdGFydGluZyB3aXRoIGEgZGFzaC4gSSBrbm93LCB0aGlzIGlzIGNvbXBsZXRlbHkgYnJva2VuLAotICAgICMgaXQgaWdub3JlcyBmaWxlcyBzdGFydGluZyB3aXRoIGEgZGFzaCBvciBtYXkgdGFrZSBvcHRpb24gdmFsdWVzIGZvciBjb21tYW5kIGZpbGUuIFRoaXMgaXMgbm90Ci0gICAgIyBzdXBwb3NlZCB0byBoYXBwZW4gZm9yIG5vdwotICAgIGNvbW1hbmRfaW5kZXggPSBsZW4oYXJncykKLSAgICBmb3IgaSxhcmcgaW4gZW51bWVyYXRlKGFyZ3MpOgotICAgICAgICBpZiBub3QgYXJnLnN0YXJ0c3dpdGgoJy0nKToKLSAgICAgICAgICAgIGNvbW1hbmRfaW5kZXggPSBpCi0gICAgICAgICAgICBicmVhawotICAgICAgICAgICAgCi0gICAgcmV0dXJuIGFyZ3NbOmNvbW1hbmRfaW5kZXhdLCBhcmdzW2NvbW1hbmRfaW5kZXg6XQotCi0KLWRlZiBmaXhlbnYoZW52KToKLSAgICBwYXRoID0gZW52LmdldCgnUEFUSCcpCi0gICAgaWYgcGF0aCBpcyBub3QgTm9uZToKLSAgICAgICAgcGFydHMgPSBwYXRoLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgICAgICMgUmVtb3ZlIFdpbmRvd3MgdXRpbGl0aWVzIGZyb20gUEFUSCwgdGhleSBhcmUgdXNlbGVzcyBhdCBiZXN0IGFuZAotICAgICAgICAjIHNvbWUgb2YgdGhlbSAoZmluZCkgbWF5IGJlIGNvbmZ1c2VkIHdpdGggb3RoZXIgdXRpbGl0aWVzLgotICAgICAgICBwYXJ0cyA9IFtwIGZvciBwIGluIHBhcnRzIGlmICdzeXN0ZW0zMicgbm90IGluIHAubG93ZXIoKV0KLSAgICAgICAgZW52WydQQVRIJ10gPSBvcy5wYXRoc2VwLmpvaW4ocGFydHMpCi0gICAgaWYgZW52LmdldCgnSE9NRScpIGlzIE5vbmU6Ci0gICAgICAgICMgU2V2ZXJhbCB1dGlsaXRpZXMsIGluY2x1ZGluZyBjdnNwcywgY2Fubm90IHdvcmsgd2l0aG91dAotICAgICAgICAjIGEgZGVmaW5lZCBIT01FIGRpcmVjdG9yeS4KLSAgICAgICAgZW52WydIT01FJ10gPSBvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKQotICAgIHJldHVybiBlbnYKLQotZGVmIF9zaChjd2QsIHNoYXJncywgY21kYXJncywgb3B0aW9ucywgZGVidWdmbGFncz1Ob25lLCBlbnY9Tm9uZSk6Ci0gICAgaWYgb3MuZW52aXJvbi5nZXQoJ1BZU0hfVEVYVCcpICE9ICcxJzoKLSAgICAgICAgaW1wb3J0IG1zdmNydAotICAgICAgICBmb3IgZnAgaW4gKHN5cy5zdGRpbiwgc3lzLnN0ZG91dCwgc3lzLnN0ZGVycik6Ci0gICAgICAgICAgICBtc3ZjcnQuc2V0bW9kZShmcC5maWxlbm8oKSwgb3MuT19CSU5BUlkpCi0KLSAgICBoZ2JpbiA9IG9zLmVudmlyb24uZ2V0KCdQWVNIX0hHVEVYVCcpICE9ICcxJwotICAgIAotICAgIGlmIGRlYnVnZmxhZ3MgaXMgTm9uZToKLSAgICAgICAgZGVidWdmbGFncyA9IFtdCi0gICAgICAgIGlmIG9wdGlvbnMuZGVidWdfcGFyc2luZzogICAgZGVidWdmbGFncy5hcHBlbmQoJ2RlYnVnLXBhcnNpbmcnKQotICAgICAgICBpZiBvcHRpb25zLmRlYnVnX3V0aWxpdHk6ICAgIGRlYnVnZmxhZ3MuYXBwZW5kKCdkZWJ1Zy11dGlsaXR5JykKLSAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z19jbWQ6ICAgICAgICBkZWJ1Z2ZsYWdzLmFwcGVuZCgnZGVidWctY21kJykKLSAgICAgICAgaWYgb3B0aW9ucy5kZWJ1Z190cmVlOiAgICAgICBkZWJ1Z2ZsYWdzLmFwcGVuZCgnZGVidWctdHJlZScpCi0gICAgCi0gICAgaWYgZW52IGlzIE5vbmU6Ci0gICAgICAgIGVudiA9IGZpeGVudihkaWN0KG9zLmVudmlyb24pKQotICAgIGlmIGN3ZCBpcyBOb25lOgotICAgICAgICBjd2QgPSBvcy5nZXRjd2QoKQotCi0gICAgaWYgbm90IGNtZGFyZ3M6Ci0gICAgICAgICMgTm90aGluZyB0byBkbwotICAgICAgICByZXR1cm4gMAotCi0gICAgYXN0ID0gTm9uZQotICAgIGNvbW1hbmRfZmlsZSA9IE5vbmUKLSAgICBpZiBvcHRpb25zLmNvbW1hbmRfc3RyaW5nOgotICAgICAgICBpbnB1dCA9IGNtZGFyZ3NbMF0KLSAgICAgICAgaWYgbm90IG9wdGlvbnMuYXN0OgotICAgICAgICAgICAgaW5wdXQgKz0gJ1xuJwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYXJncywgaW5wdXQgPSBpbnRlcnAuZGVjb2RlYXJncyhpbnB1dCksIE5vbmUKLSAgICAgICAgICAgIGVudiwgYXN0ID0gYXJncwotICAgICAgICAgICAgY3dkID0gZW52LmdldCgnUFdEJywgY3dkKQotICAgIGVsc2U6Ci0gICAgICAgIGNvbW1hbmRfZmlsZSA9IGNtZGFyZ3NbMF0KLSAgICAgICAgYXJndW1lbnRzID0gY21kYXJnc1sxOl0KLQotICAgICAgICBwcmVmaXggPSBpbnRlcnAucmVzb2x2ZV9zaGViYW5nKGNvbW1hbmRfZmlsZSwgaWdub3Jlc2hlbGw9VHJ1ZSkKLSAgICAgICAgaWYgcHJlZml4OgotICAgICAgICAgICAgaW5wdXQgPSAnICcuam9pbihwcmVmaXggKyBbY29tbWFuZF9maWxlXSArIGFyZ3VtZW50cykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgUmVhZCBjb21tYW5kcyBmcm9tIGZpbGUKLSAgICAgICAgICAgIGYgPSBmaWxlKGNvbW1hbmRfZmlsZSkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFRyYWlsaW5nIG5ld2xpbmUgdG8gaGVscCB0aGUgcGFyc2VyCi0gICAgICAgICAgICAgICAgaW5wdXQgPSBmLnJlYWQoKSArICdcbicKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgCi0gICAgcmVkaXJlY3QgPSBOb25lCi0gICAgdHJ5OgotICAgICAgICBpZiBvcHRpb25zLnJlZGlyZWN0ZWQ6Ci0gICAgICAgICAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0Ci0gICAgICAgICAgICBzdGRlcnIgPSBzdGRvdXQKLSAgICAgICAgZWxpZiBvcHRpb25zLnJlZGlyZWN0X3RvOgotICAgICAgICAgICAgcmVkaXJlY3QgPSBvcGVuKG9wdGlvbnMucmVkaXJlY3RfdG8sICd3YicpCi0gICAgICAgICAgICBzdGRvdXQgPSByZWRpcmVjdAotICAgICAgICAgICAgc3RkZXJyID0gcmVkaXJlY3QKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHN0ZG91dCA9IHN5cy5zdGRvdXQKLSAgICAgICAgICAgIHN0ZGVyciA9IHN5cy5zdGRlcnIKLSAgICAgICAgICAgIAotICAgICAgICAjIFRPRE86IHNldCBhcmd1bWVudHMgdG8gZW52aXJvbm1lbnQgdmFyaWFibGVzCi0gICAgICAgIG9wdHMgPSBpbnRlcnAuT3B0aW9ucygpCi0gICAgICAgIG9wdHMuaGdiaW5hcnkgPSBoZ2JpbgotICAgICAgICBpcCA9IGludGVycC5JbnRlcnByZXRlcihjd2QsIGRlYnVnZmxhZ3MsIHN0ZG91dD1zdGRvdXQsIHN0ZGVycj1zdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdHM9b3B0cykKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBFeHBvcnQgZ2l2ZW4gZW52aXJvbm1lbnQgaW4gc2hlbGwgb2JqZWN0Ci0gICAgICAgICAgICBmb3Igayx2IGluIGVudi5pdGVyaXRlbXMoKToKLSAgICAgICAgICAgICAgICBpcC5nZXRfZW52KCkuZXhwb3J0KGssdikKLSAgICAgICAgICAgIHJldHVybiBpcC5leGVjdXRlX3NjcmlwdChpbnB1dCwgYXN0LCBzY3JpcHRwYXRoPWNvbW1hbmRfZmlsZSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlwLmNsb3NlKCkKLSAgICBmaW5hbGx5OgotICAgICAgICBpZiByZWRpcmVjdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJlZGlyZWN0LmNsb3NlKCkKLQotZGVmIHNoKGN3ZD1Ob25lLCBhcmdzPU5vbmUsIGRlYnVnZmxhZ3M9Tm9uZSwgZW52PU5vbmUpOgotICAgIGlmIGFyZ3MgaXMgTm9uZToKLSAgICAgICAgYXJncyA9IHN5cy5hcmd2WzE6XQotICAgIHNoYXJncywgY21kYXJncyA9IHNwbGl0X2FyZ3MoYXJncykKLSAgICBvcHRpb25zLCBzaGFyZ3MgPSBTSF9PUFQucGFyc2VfYXJncyhzaGFyZ3MpCi0KLSAgICBpZiBvcHRpb25zLnByb2ZpbGU6Ci0gICAgICAgIGltcG9ydCBsc3Byb2YKLSAgICAgICAgcCA9IGxzcHJvZi5Qcm9maWxlcigpCi0gICAgICAgIHAuZW5hYmxlKHN1YmNhbGxzPVRydWUpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBfc2goY3dkLCBzaGFyZ3MsIGNtZGFyZ3MsIG9wdGlvbnMsIGRlYnVnZmxhZ3MsIGVudikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHAuZGlzYWJsZSgpCi0gICAgICAgICAgICBzdGF0cyA9IGxzcHJvZi5TdGF0cyhwLmdldHN0YXRzKCkpCi0gICAgICAgICAgICBzdGF0cy5zb3J0KCkKLSAgICAgICAgICAgIHN0YXRzLnBwcmludCh0b3A9MTAsIGZpbGU9c3lzLnN0ZGVyciwgY2xpbWl0PTUpCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuIF9zaChjd2QsIHNoYXJncywgY21kYXJncywgb3B0aW9ucywgZGVidWdmbGFncywgZW52KQotICAgICAgICAgICAgCi1kZWYgbWFpbigpOgotICAgIHN5cy5leGl0KHNoKCkpCi0KLWlmIF9fbmFtZV9fPT0nX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2hsZXgucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQppbmRleCBmYmYwOTRiLi5hNDJjMjk0IDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaGxleC5weQpAQCAtMTMsMTEgKzEzLDYgQEAKICMgUExZIGluIHB1bGwgbW9kZS4gSXQgd2FzIGRlc2lnbmVkIHRvIHdvcmsgaW5jcmVtZW50YWxseSBhbmQgaXQgd291bGQgbm90IGJlCiAjIHRoYXQgaGFyZCB0byBlbmFibGUgcHVsbCBtb2RlLgogaW1wb3J0IHJlCi10cnk6Ci0gICAgcyA9IHNldCgpCi0gICAgZGVsIHMKLWV4Y2VwdCBOYW1lRXJyb3I6Ci0gICAgZnJvbSBTZXQgaW1wb3J0IFNldCBhcyBzZXQKIAogZnJvbSBwbHkgaW1wb3J0IGxleAogZnJvbSBiYi5weXNoLnNoZXJyb3JzIGltcG9ydCAqCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaHlhY2MucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvcHlzaHlhY2MucHkKaW5kZXggYmE0Y2VmZC4uZGU1NjVkYyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3B5c2h5YWNjLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9weXNoeWFjYy5weQpAQCAtNjM2LDEzICs2MzYsMTYgQEAKIGRlZiBwX2Vycm9yKHApOgogICAgIG1zZyA9IFtdCiAgICAgdyA9IG1zZy5hcHBlbmQKLSAgICB3KCclclxuJyAlIHApCi0gICAgdygnZm9sbG93ZWQgYnk6XG4nKQotICAgIGZvciBpIGluIHJhbmdlKDUpOgotICAgICAgICBuID0geWFjYy50b2tlbigpCi0gICAgICAgIGlmIG5vdCBuOgotICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgdygnICAlclxuJyAlIG4pCisgICAgaWYgcDoKKyAgICAgICAgdygnJXJcbicgJSBwKQorICAgICAgICB3KCdmb2xsb3dlZCBieTpcbicpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDUpOgorICAgICAgICAgICAgbiA9IHlhY2MudG9rZW4oKQorICAgICAgICAgICAgaWYgbm90IG46CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHcoJyAgJXJcbicgJSBuKQorICAgIGVsc2U6CisgICAgICAgIHcoJ1VuZXhwZWN0ZWQgRU9GJykKICAgICByYWlzZSBzaGVycm9ycy5TaGVsbFN5bnRheEVycm9yKCcnLmpvaW4obXNnKSkKIAogIyBCdWlsZCB0aGUgcGFyc2VyCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc2hlcnJvcnMucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc2hlcnJvcnMucHkKaW5kZXggNDlkMDUzMy4uM2ZlOGU0NyAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9weXNoL3NoZXJyb3JzLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zaGVycm9ycy5weQpAQCAtMTMsMjkgKzEzLDMgQEAKIAogY2xhc3MgU2hlbGxTeW50YXhFcnJvcihTaGVsbEVycm9yKToKICAgICBwYXNzCi0gICAgCi1jbGFzcyBVdGlsaXR5RXJyb3IoU2hlbGxFcnJvcik6Ci0gICAgIiIiUmFpc2VkIHVwb24gdXRpbGl0eSBzeW50YXggZXJyb3IgKG9wdGlvbiBvciBvcGVyYW5kIGVycm9yKS4iIiIKLSAgICBwYXNzCi0gICAKLWNsYXNzIEV4cGFuc2lvbkVycm9yKFNoZWxsRXJyb3IpOgotICAgIHBhc3MKLSAgICAgCi1jbGFzcyBDb21tYW5kTm90Rm91bmQoU2hlbGxFcnJvcik6Ci0gICAgIiIiU3BlY2lmaWVkIGNvbW1hbmQgd2FzIG5vdCBmb3VuZC4iIiIKLSAgICBwYXNzCi0gICAgCi1jbGFzcyBSZWRpcmVjdGlvbkVycm9yKFNoZWxsRXJyb3IpOgotICAgIHBhc3MKLSAgICAKLWNsYXNzIFZhckFzc2lnbm1lbnRFcnJvcihTaGVsbEVycm9yKToKLSAgICAiIiJWYXJpYWJsZSBhc3NpZ25tZW50IGVycm9yLiIiIgotICAgIHBhc3MKLSAgICAKLWNsYXNzIEV4aXRTaWduYWwoU2hlbGxFcnJvcik6Ci0gICAgIiIiRXhpdCBzaWduYWwuIiIiCi0gICAgcGFzcwotICAgIAotY2xhc3MgUmV0dXJuU2lnbmFsKFNoZWxsRXJyb3IpOgotICAgICIiIkV4aXQgc2lnbmFsLiIiIgotICAgIHBhc3MKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zdWJwcm9jZXNzX2ZpeC5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvcHlzaC9zdWJwcm9jZXNzX2ZpeC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDZlY2EyMi4uMDAwMDAwMAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3B5c2gvc3VicHJvY2Vzc19maXgucHkKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0jIHN1YnByb2Nlc3MgLSBTdWJwcm9jZXNzZXMgd2l0aCBhY2Nlc3NpYmxlIEkvTyBzdHJlYW1zCi0jCi0jIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgbW9kdWxlLCBzZWUgUEVQIDMyNC4KLSMKLSMgVGhpcyBtb2R1bGUgc2hvdWxkIHJlbWFpbiBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDIuMiwgc2VlIFBFUCAyOTEuCi0jCi0jIENvcHlyaWdodCAoYykgMjAwMy0yMDA1IGJ5IFBldGVyIEFzdHJhbmQgPGFzdHJhbmRAbHlzYXRvci5saXUuc2U+Ci0jCi0jIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KLSMgU2VlIGh0dHA6Ly93d3cucHl0aG9uLm9yZy8yLjQvbGljZW5zZSBmb3IgbGljZW5zaW5nIGRldGFpbHMuCi0KLWRlZiBsaXN0MmNtZGxpbmUoc2VxKToKLSAgICAiIiIKLSAgICBUcmFuc2xhdGUgYSBzZXF1ZW5jZSBvZiBhcmd1bWVudHMgaW50byBhIGNvbW1hbmQgbGluZQotICAgIHN0cmluZywgdXNpbmcgdGhlIHNhbWUgcnVsZXMgYXMgdGhlIE1TIEMgcnVudGltZToKLQotICAgIDEpIEFyZ3VtZW50cyBhcmUgZGVsaW1pdGVkIGJ5IHdoaXRlIHNwYWNlLCB3aGljaCBpcyBlaXRoZXIgYQotICAgICAgIHNwYWNlIG9yIGEgdGFiLgotCi0gICAgMikgQSBzdHJpbmcgc3Vycm91bmRlZCBieSBkb3VibGUgcXVvdGF0aW9uIG1hcmtzIGlzCi0gICAgICAgaW50ZXJwcmV0ZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQsIHJlZ2FyZGxlc3Mgb2Ygd2hpdGUgc3BhY2UKLSAgICAgICBjb250YWluZWQgd2l0aGluLiAgQSBxdW90ZWQgc3RyaW5nIGNhbiBiZSBlbWJlZGRlZCBpbiBhbgotICAgICAgIGFyZ3VtZW50LgotCi0gICAgMykgQSBkb3VibGUgcXVvdGF0aW9uIG1hcmsgcHJlY2VkZWQgYnkgYSBiYWNrc2xhc2ggaXMKLSAgICAgICBpbnRlcnByZXRlZCBhcyBhIGxpdGVyYWwgZG91YmxlIHF1b3RhdGlvbiBtYXJrLgotCi0gICAgNCkgQmFja3NsYXNoZXMgYXJlIGludGVycHJldGVkIGxpdGVyYWxseSwgdW5sZXNzIHRoZXkKLSAgICAgICBpbW1lZGlhdGVseSBwcmVjZWRlIGEgZG91YmxlIHF1b3RhdGlvbiBtYXJrLgotCi0gICAgNSkgSWYgYmFja3NsYXNoZXMgaW1tZWRpYXRlbHkgcHJlY2VkZSBhIGRvdWJsZSBxdW90YXRpb24gbWFyaywKLSAgICAgICBldmVyeSBwYWlyIG9mIGJhY2tzbGFzaGVzIGlzIGludGVycHJldGVkIGFzIGEgbGl0ZXJhbAotICAgICAgIGJhY2tzbGFzaC4gIElmIHRoZSBudW1iZXIgb2YgYmFja3NsYXNoZXMgaXMgb2RkLCB0aGUgbGFzdAotICAgICAgIGJhY2tzbGFzaCBlc2NhcGVzIHRoZSBuZXh0IGRvdWJsZSBxdW90YXRpb24gbWFyayBhcwotICAgICAgIGRlc2NyaWJlZCBpbiBydWxlIDMuCi0gICAgIiIiCi0KLSAgICAjIFNlZQotICAgICMgaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9saWJyYXJ5L2VuLXVzL3ZjY2VsbmcvaHRtL3Byb2dzXzEyLmFzcAotICAgIHJlc3VsdCA9IFtdCi0gICAgbmVlZHF1b3RlID0gRmFsc2UKLSAgICBmb3IgYXJnIGluIHNlcToKLSAgICAgICAgYnNfYnVmID0gW10KLQotICAgICAgICAjIEFkZCBhIHNwYWNlIHRvIHNlcGFyYXRlIHRoaXMgYXJndW1lbnQgZnJvbSB0aGUgb3RoZXJzCi0gICAgICAgIGlmIHJlc3VsdDoKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKQotCi0gICAgICAgIG5lZWRxdW90ZSA9ICgiICIgaW4gYXJnKSBvciAoIlx0IiBpbiBhcmcpIG9yICgifCIgaW4gYXJnKSBvciBhcmcgPT0gIiIKLSAgICAgICAgaWYgbmVlZHF1b3RlOgotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpCi0KLSAgICAgICAgZm9yIGMgaW4gYXJnOgotICAgICAgICAgICAgaWYgYyA9PSAnXFwnOgotICAgICAgICAgICAgICAgICMgRG9uJ3Qga25vdyBpZiB3ZSBuZWVkIHRvIGRvdWJsZSB5ZXQuCi0gICAgICAgICAgICAgICAgYnNfYnVmLmFwcGVuZChjKQotICAgICAgICAgICAgZWxpZiBjID09ICciJzoKLSAgICAgICAgICAgICAgICAjIERvdWJsZSBiYWNrc3BhY2VzLgotICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xcJyAqIGxlbihic19idWYpKjIpCi0gICAgICAgICAgICAgICAgYnNfYnVmID0gW10KLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCdcXCInKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIE5vcm1hbCBjaGFyCi0gICAgICAgICAgICAgICAgaWYgYnNfYnVmOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQuZXh0ZW5kKGJzX2J1ZikKLSAgICAgICAgICAgICAgICAgICAgYnNfYnVmID0gW10KLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGMpCi0KLSAgICAgICAgIyBBZGQgcmVtYWluaW5nIGJhY2tzcGFjZXMsIGlmIGFueS4KLSAgICAgICAgaWYgYnNfYnVmOgotICAgICAgICAgICAgcmVzdWx0LmV4dGVuZChic19idWYpCi0KLSAgICAgICAgaWYgbmVlZHF1b3RlOgotICAgICAgICAgICAgcmVzdWx0LmV4dGVuZChic19idWYpCi0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCciJykKLSAgICAgICAgICAgIAotICAgIHJldHVybiAnJy5qb2luKHJlc3VsdCkKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvcnVucXVldWUucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3J1bnF1ZXVlLnB5CmluZGV4IDM4M2MxODMuLjMyOWNkYTMgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvcnVucXVldWUucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9ydW5xdWV1ZS5weQpAQCAtMzcsMTEgKzM3LDEyIEBACiBpbXBvcnQgc3VicHJvY2VzcwogaW1wb3J0IHBpY2tsZQogZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFByb2Nlc3MKK2ltcG9ydCBzaGxleAogCiBiYmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlIikKIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJCaXRCYWtlLlJ1blF1ZXVlIikKIAotX19maW5kX21kNV9fID0gcmUuY29tcGlsZSggcicoP2kpKD88IVthLXowLTldKVthLWYwLTldezMyfSg/IVthLXowLTldKScgKQorX19maW5kX3NoYTI1Nl9fID0gcmUuY29tcGlsZSggcicoP2kpKD88IVthLXowLTldKVthLWYwLTldezY0fSg/IVthLXowLTldKScgKQogCiBkZWYgZm5fZnJvbV90aWQodGlkKToKICAgICAgcmV0dXJuIHRpZC5yc3BsaXQoIjoiLCAxKVswXQpAQCAtMzUxLDYgKzM1Miw3IEBACiAgICAgICAgIHNlbGYuZGVwZW5kcyA9IHNldCgpCiAgICAgICAgIHNlbGYucmV2ZGVwcyA9IHNldCgpCiAgICAgICAgIHNlbGYuaGFzaCA9IE5vbmUKKyAgICAgICAgc2VsZi51bmloYXNoID0gTm9uZQogICAgICAgICBzZWxmLnRhc2sgPSBOb25lCiAgICAgICAgIHNlbGYud2VpZ2h0ID0gMQogCkBAIC0zOTAsNiArMzkyLDkgQEAKICAgICBkZWYgZ2V0X3Rhc2tfaGFzaChzZWxmLCB0aWQpOgogICAgICAgICByZXR1cm4gc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmhhc2gKIAorICAgIGRlZiBnZXRfdGFza191bmloYXNoKHNlbGYsIHRpZCk6CisgICAgICAgIHJldHVybiBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaAorCiAgICAgZGVmIGdldF91c2VyX2lkc3RyaW5nKHNlbGYsIHRpZCwgdGFza19uYW1lX3N1ZmZpeCA9ICIiKToKICAgICAgICAgcmV0dXJuIHRpZCArIHRhc2tfbmFtZV9zdWZmaXgKIApAQCAtMTE2MSwxOCArMTE2NiwyMSBAQAogICAgICAgICAgICAgICAgIGlmIGxlbihzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uZGVwZW5kcyAtIGRlYWx0d2l0aCkgPT0gMDoKICAgICAgICAgICAgICAgICAgICAgZGVhbHR3aXRoLmFkZCh0aWQpCiAgICAgICAgICAgICAgICAgICAgIHRvZGVhbC5yZW1vdmUodGlkKQotICAgICAgICAgICAgICAgICAgICBwcm9jZGVwID0gW10KLSAgICAgICAgICAgICAgICAgICAgZm9yIGRlcCBpbiBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uZGVwZW5kczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHByb2NkZXAuYXBwZW5kKGZuX2Zyb21fdGlkKGRlcCkgKyAiLiIgKyB0YXNrbmFtZV9mcm9tX3RpZChkZXApKQotICAgICAgICAgICAgICAgICAgICAobWMsIGZuLCB0YXNrbmFtZSwgdGFza2ZuKSA9IHNwbGl0X3RpZF9tY2ZuKHRpZCkKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLmhhc2ggPSBiYi5wYXJzZS5zaWdnZW4uZ2V0X3Rhc2toYXNoKHRhc2tmbiwgdGFza25hbWUsIHByb2NkZXAsIHNlbGYuZGF0YUNhY2hlc1ttY10pCi0gICAgICAgICAgICAgICAgICAgIHRhc2sgPSBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0udGFzaworICAgICAgICAgICAgICAgICAgICBzZWxmLnByZXBhcmVfdGFza19oYXNoKHRpZCkKIAogICAgICAgICBiYi5wYXJzZS5zaWdnZW4ud3JpdGVvdXRfZmlsZV9jaGVja3N1bV9jYWNoZSgpCiAKICAgICAgICAgI3NlbGYuZHVtcF9kYXRhKCkKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLnJ1bnRhc2tlbnRyaWVzKQogCisgICAgZGVmIHByZXBhcmVfdGFza19oYXNoKHNlbGYsIHRpZCk6CisgICAgICAgIHByb2NkZXAgPSBbXQorICAgICAgICBmb3IgZGVwIGluIHNlbGYucnVudGFza2VudHJpZXNbdGlkXS5kZXBlbmRzOgorICAgICAgICAgICAgcHJvY2RlcC5hcHBlbmQoZm5fZnJvbV90aWQoZGVwKSArICIuIiArIHRhc2tuYW1lX2Zyb21fdGlkKGRlcCkpCisgICAgICAgIChtYywgZm4sIHRhc2tuYW1lLCB0YXNrZm4pID0gc3BsaXRfdGlkX21jZm4odGlkKQorICAgICAgICBzZWxmLnJ1bnRhc2tlbnRyaWVzW3RpZF0uaGFzaCA9IGJiLnBhcnNlLnNpZ2dlbi5nZXRfdGFza2hhc2godGFza2ZuLCB0YXNrbmFtZSwgcHJvY2RlcCwgc2VsZi5kYXRhQ2FjaGVzW21jXSkKKyAgICAgICAgc2VsZi5ydW50YXNrZW50cmllc1t0aWRdLnVuaWhhc2ggPSBiYi5wYXJzZS5zaWdnZW4uZ2V0X3VuaWhhc2godGFza2ZuICsgIi4iICsgdGFza25hbWUpCisKICAgICBkZWYgZHVtcF9kYXRhKHNlbGYpOgogICAgICAgICAiIiIKICAgICAgICAgRHVtcCBzb21lIGRlYnVnIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcm5hbCBkYXRhIHN0cnVjdHVyZXMKQEAgLTEyMjQsMjggKzEyMzIsMjMgQEAKICAgICAgICAgaWYgZmFrZXJvb3Q6CiAgICAgICAgICAgICBtYWdpYyA9IG1hZ2ljICsgImJlZWYiCiAgICAgICAgICAgICBtY2RhdGEgPSBzZWxmLmNvb2tlci5kYXRhYnVpbGRlci5tY2RhdGFbbWNdCi0gICAgICAgICAgICBmYWtlcm9vdGNtZCA9IG1jZGF0YS5nZXRWYXIoIkZBS0VST09UQ01EIikKKyAgICAgICAgICAgIGZha2Vyb290Y21kID0gc2hsZXguc3BsaXQobWNkYXRhLmdldFZhcigiRkFLRVJPT1RDTUQiKSkKICAgICAgICAgICAgIGZha2Vyb290ZW52ID0gKG1jZGF0YS5nZXRWYXIoIkZBS0VST09UQkFTRUVOViIpIG9yICIiKS5zcGxpdCgpCiAgICAgICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gKHZhci5zcGxpdCgnPScpIGZvciB2YXIgaW4gZmFrZXJvb3RlbnYpOgogICAgICAgICAgICAgICAgIGVudltrZXldID0gdmFsdWUKLSAgICAgICAgICAgIHdvcmtlciA9IHN1YnByb2Nlc3MuUG9wZW4oW2Zha2Vyb290Y21kLCAiYml0YmFrZS13b3JrZXIiLCBtYWdpY10sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgZW52PWVudikKKyAgICAgICAgICAgIHdvcmtlciA9IHN1YnByb2Nlc3MuUG9wZW4oZmFrZXJvb3RjbWQgKyBbImJpdGJha2Utd29ya2VyIiwgbWFnaWNdLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsIGVudj1lbnYpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB3b3JrZXIgPSBzdWJwcm9jZXNzLlBvcGVuKFsiYml0YmFrZS13b3JrZXIiLCBtYWdpY10sIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSkKICAgICAgICAgYmIudXRpbHMubm9uYmxvY2tpbmdmZCh3b3JrZXIuc3Rkb3V0KQogICAgICAgICB3b3JrZXJwaXBlID0gcnVuUXVldWVQaXBlKHdvcmtlci5zdGRvdXQsIE5vbmUsIHNlbGYuY2ZnRGF0YSwgc2VsZiwgcnFleGVjKQogCi0gICAgICAgIHJ1bnFoYXNoID0ge30KLSAgICAgICAgZm9yIHRpZCBpbiBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllczoKLSAgICAgICAgICAgIHJ1bnFoYXNoW3RpZF0gPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1t0aWRdLmhhc2gKLQogICAgICAgICB3b3JrZXJkYXRhID0gewogICAgICAgICAgICAgInRhc2tkZXBzIiA6IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLnRhc2tfZGVwcywKICAgICAgICAgICAgICJmYWtlcm9vdGVudiIgOiBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS5mYWtlcm9vdGVudiwKICAgICAgICAgICAgICJmYWtlcm9vdGRpcnMiIDogc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZmFrZXJvb3RkaXJzLAogICAgICAgICAgICAgImZha2Vyb290bm9lbnYiIDogc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZmFrZXJvb3Rub2VudiwKICAgICAgICAgICAgICJzaWdkYXRhIiA6IGJiLnBhcnNlLnNpZ2dlbi5nZXRfdGFza2RhdGEoKSwKLSAgICAgICAgICAgICJydW5xX2hhc2giIDogcnVucWhhc2gsCiAgICAgICAgICAgICAibG9nZGVmYXVsdGRlYnVnIiA6IGJiLm1zZy5sb2dnZXJEZWZhdWx0RGVidWdMZXZlbCwKICAgICAgICAgICAgICJsb2dkZWZhdWx0dmVyYm9zZSIgOiBiYi5tc2cubG9nZ2VyRGVmYXVsdFZlcmJvc2UsCiAgICAgICAgICAgICAibG9nZGVmYXVsdHZlcmJvc2Vsb2dzIiA6IGJiLm1zZy5sb2dnZXJWZXJib3NlTG9ncywKQEAgLTEzODcsNiArMTM5MCwyNiBAQAogICAgICAgICAgICAgY2FjaGVbdGlkXSA9IGlzY3VycmVudAogICAgICAgICByZXR1cm4gaXNjdXJyZW50CiAKKyAgICBkZWYgdmFsaWRhdGVfaGFzaChzZWxmLCAqLCBzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBzaWdpbmZvLCBzcV91bmloYXNoLCBkKToKKyAgICAgICAgbG9jcyA9IHsic3FfZm4iIDogc3FfZm4sICJzcV90YXNrIiA6IHNxX3Rhc2ssICJzcV9oYXNoIiA6IHNxX2hhc2gsICJzcV9oYXNoZm4iIDogc3FfaGFzaGZuLAorICAgICAgICAgICAgICAgICJzcV91bmloYXNoIiA6IHNxX3VuaWhhc2gsICJzaWdpbmZvIiA6IHNpZ2luZm8sICJkIiA6IGR9CisKKyAgICAgICAgaGFzaHZhbGlkYXRlX2FyZ3MgPSAoIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkLCBzaWdpbmZvPXNpZ2luZm8sIHNxX3VuaWhhc2g9c3FfdW5paGFzaCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89c2lnaW5mbykiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQpIikKKworICAgICAgICBmb3IgYXJncyBpbiBoYXNodmFsaWRhdGVfYXJnc1s6LTFdOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGNhbGwgPSBzZWxmLmhhc2h2YWxpZGF0ZSArIGFyZ3MKKyAgICAgICAgICAgICAgICByZXR1cm4gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKyAgICAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAjIENhbGwgdGhlIGxhc3QgZW50cnkgd2l0aG91dCBhIHRyeS4uLmNhdGNoIHRvIHByb3BhZ2F0ZSBhbnkgdGhyb3duCisgICAgICAgICMgVHlwZUVycm9yCisgICAgICAgIGNhbGwgPSBzZWxmLmhhc2h2YWxpZGF0ZSArIGhhc2h2YWxpZGF0ZV9hcmdzWy0xXQorICAgICAgICByZXR1cm4gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKwogICAgIGRlZiBfZXhlY3V0ZV9ydW5xdWV1ZShzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFJ1biB0aGUgdGFza3MgaW4gYSBxdWV1ZSBwcmVwYXJlZCBieSBycWRhdGEucHJlcGFyZSgpCkBAIC0xNTU4LDYgKzE1ODEsNyBAQAogICAgICAgICB2YWxpZCA9IFtdCiAgICAgICAgIHNxX2hhc2ggPSBbXQogICAgICAgICBzcV9oYXNoZm4gPSBbXQorICAgICAgICBzcV91bmloYXNoID0gW10KICAgICAgICAgc3FfZm4gPSBbXQogICAgICAgICBzcV90YXNrbmFtZSA9IFtdCiAgICAgICAgIHNxX3Rhc2sgPSBbXQpAQCAtMTU3NiwxNiArMTYwMCwxMyBAQAogICAgICAgICAgICAgc3FfZm4uYXBwZW5kKGZuKQogICAgICAgICAgICAgc3FfaGFzaGZuLmFwcGVuZChzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXS5oYXNoZm5bdGFza2ZuXSkKICAgICAgICAgICAgIHNxX2hhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0uaGFzaCkKKyAgICAgICAgICAgIHNxX3VuaWhhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaCkKICAgICAgICAgICAgIHNxX3Rhc2tuYW1lLmFwcGVuZCh0YXNrbmFtZSkKICAgICAgICAgICAgIHNxX3Rhc2suYXBwZW5kKHRpZCkKLSAgICAgICAgbG9jcyA9IHsgInNxX2ZuIiA6IHNxX2ZuLCAic3FfdGFzayIgOiBzcV90YXNrbmFtZSwgInNxX2hhc2giIDogc3FfaGFzaCwgInNxX2hhc2hmbiIgOiBzcV9oYXNoZm4sICJkIiA6IHNlbGYuY29va2VyLmRhdGEgfQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjYWxsID0gc2VsZi5oYXNodmFsaWRhdGUgKyAiKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89VHJ1ZSkiCi0gICAgICAgICAgICB2YWxpZCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCi0gICAgICAgICMgSGFuZGxlIHZlcnNpb24gd2l0aCBubyBzaWdpbmZvIHBhcmFtZXRlcgotICAgICAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICAgICAgY2FsbCA9IHNlbGYuaGFzaHZhbGlkYXRlICsgIihzcV9mbiwgc3FfdGFzaywgc3FfaGFzaCwgc3FfaGFzaGZuLCBkKSIKLSAgICAgICAgICAgIHZhbGlkID0gYmIudXRpbHMuYmV0dGVyX2V2YWwoY2FsbCwgbG9jcykKKworICAgICAgICB2YWxpZCA9IHNlbGYudmFsaWRhdGVfaGFzaChzcV9mbj1zcV9mbiwgc3FfdGFzaz1zcV90YXNrbmFtZSwgc3FfaGFzaD1zcV9oYXNoLCBzcV9oYXNoZm49c3FfaGFzaGZuLAorICAgICAgICAgICAgICAgIHNpZ2luZm89VHJ1ZSwgc3FfdW5paGFzaD1zcV91bmloYXNoLCBkPXNlbGYuY29va2VyLmRhdGEpCisKICAgICAgICAgZm9yIHYgaW4gdmFsaWQ6CiAgICAgICAgICAgICB2YWxpZF9uZXcuYWRkKHNxX3Rhc2tbdl0pCiAKQEAgLTE2NjcsNyArMTY4OCw3IEBACiAgICAgICAgICAgICBtYXRjaGVzID0ge2sgOiB2IGZvciBrLCB2IGluIGl0ZXIobWF0Y2hlcy5pdGVtcygpKSBpZiBoIG5vdCBpbiBrfQogICAgICAgICAgICAgaWYgbWF0Y2hlczoKICAgICAgICAgICAgICAgICBsYXRlc3RtYXRjaCA9IHNvcnRlZChtYXRjaGVzLmtleXMoKSwga2V5PWxhbWJkYSBmOiBtYXRjaGVzW2ZdKVstMV0KLSAgICAgICAgICAgICAgICBwcmV2aCA9IF9fZmluZF9tZDVfXy5zZWFyY2gobGF0ZXN0bWF0Y2gpLmdyb3VwKDApCisgICAgICAgICAgICAgICAgcHJldmggPSBfX2ZpbmRfc2hhMjU2X18uc2VhcmNoKGxhdGVzdG1hdGNoKS5ncm91cCgwKQogICAgICAgICAgICAgICAgIG91dHB1dCA9IGJiLnNpZ2dlbi5jb21wYXJlX3NpZ2ZpbGVzKGxhdGVzdG1hdGNoLCBtYXRjaCwgcmVjdXJzZWNiKQogICAgICAgICAgICAgICAgIGJiLnBsYWluKCJcblRhc2sgJXM6JXMgY291bGRuJ3QgYmUgdXNlZCBmcm9tIHRoZSBjYWNoZSBiZWNhdXNlOlxuICBXZSBuZWVkIGhhc2ggJXMsIGNsb3Nlc3QgbWF0Y2hpbmcgdGFzayB3YXMgJXNcbiAgIiAlIChwbiwgdGFza25hbWUsIGgsIHByZXZoKSArICdcbiAgJy5qb2luKG91dHB1dCkpCiAKQEAgLTIwNDIsNiArMjA2Myw4IEBACiAgICAgICAgICAgICB0YXNrZGVwZGF0YSA9IHNlbGYuYnVpbGRfdGFza2RlcGRhdGEodGFzaykKIAogICAgICAgICAgICAgdGFza2RlcCA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLnRhc2tfZGVwc1t0YXNrZm5dCisgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLmdldF90YXNrX2hhc2godGFzaykKKyAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5nZXRfdGFza191bmloYXNoKHRhc2spCiAgICAgICAgICAgICBpZiAnZmFrZXJvb3QnIGluIHRhc2tkZXAgYW5kIHRhc2tuYW1lIGluIHRhc2tkZXBbJ2Zha2Vyb290J10gYW5kIG5vdCAoc2VsZi5jb29rZXIuY29uZmlndXJhdGlvbi5kcnlfcnVuIG9yIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpOgogICAgICAgICAgICAgICAgIGlmIG5vdCBtYyBpbiBzZWxmLnJxLmZha2V3b3JrZXI6CiAgICAgICAgICAgICAgICAgICAgIHRyeToKQEAgLTIwNTEsMTAgKzIwNzQsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucnEuc3RhdGUgPSBydW5RdWV1ZUZhaWxlZAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGF0cy50YXNrRmFpbGVkKCkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKKyAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIEZhbHNlLCBzZWxmLmNvb2tlci5jb2xsZWN0aW9uLmdldF9maWxlX2FwcGVuZHModGFza2ZuKSwgdGFza2RlcGRhdGEsIHNlbGYucnFkYXRhLnNldHNjZW5lX2VuZm9yY2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgRmFsc2UsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgc2VsZi5ycWRhdGEuc2V0c2NlbmVfZW5mb3JjZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi5mbHVzaCgpCiAKICAgICAgICAgICAgIHNlbGYuYnVpbGRfc3RhbXBzW3Rhc2tdID0gYmIuYnVpbGQuc3RhbXBmaWxlKHRhc2tuYW1lLCBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXSwgdGFza2ZuLCBub2V4dHJhPVRydWUpCkBAIC0yMTA5LDggKzIxMzIsOSBAQAogICAgICAgICAgICAgICAgIGRlcHMgPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLmRlcGVuZHMKICAgICAgICAgICAgICAgICBwcm92aWRlcyA9IHNlbGYucnFkYXRhLmRhdGFDYWNoZXNbbWNdLmZuX3Byb3ZpZGVzW3Rhc2tmbl0KICAgICAgICAgICAgICAgICB0YXNraGFzaCA9IHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3JldmRlcF0uaGFzaAotICAgICAgICAgICAgICAgIHRhc2tkZXBkYXRhW3JldmRlcF0gPSBbcG4sIHRhc2tuYW1lLCBmbiwgZGVwcywgcHJvdmlkZXMsIHRhc2toYXNoXQorICAgICAgICAgICAgICAgIHVuaWhhc2ggPSBzZWxmLnJxZGF0YS5ydW50YXNrZW50cmllc1tyZXZkZXBdLnVuaWhhc2gKICAgICAgICAgICAgICAgICBkZXBzID0gc2VsZi5maWx0ZXJtY2RlcHModGFzaywgZGVwcykKKyAgICAgICAgICAgICAgICB0YXNrZGVwZGF0YVtyZXZkZXBdID0gW3BuLCB0YXNrbmFtZSwgZm4sIGRlcHMsIHByb3ZpZGVzLCB0YXNraGFzaCwgdW5paGFzaF0KICAgICAgICAgICAgICAgICBmb3IgcmV2ZGVwMiBpbiBkZXBzOgogICAgICAgICAgICAgICAgICAgICBpZiByZXZkZXAyIG5vdCBpbiB0YXNrZGVwZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWwuYXBwZW5kKHJldmRlcDIpCkBAIC0yMzEzLDYgKzIzMzcsNyBAQAogICAgICAgICBpZiBzZWxmLnJxLmhhc2h2YWxpZGF0ZToKICAgICAgICAgICAgIHNxX2hhc2ggPSBbXQogICAgICAgICAgICAgc3FfaGFzaGZuID0gW10KKyAgICAgICAgICAgIHNxX3VuaWhhc2ggPSBbXQogICAgICAgICAgICAgc3FfZm4gPSBbXQogICAgICAgICAgICAgc3FfdGFza25hbWUgPSBbXQogICAgICAgICAgICAgc3FfdGFzayA9IFtdCkBAIC0yMzQ0LDE0ICsyMzY5LDE0IEBACiAgICAgICAgICAgICAgICAgc3FfZm4uYXBwZW5kKGZuKQogICAgICAgICAgICAgICAgIHNxX2hhc2hmbi5hcHBlbmQoc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uaGFzaGZuW3Rhc2tmbl0pCiAgICAgICAgICAgICAgICAgc3FfaGFzaC5hcHBlbmQoc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbdGlkXS5oYXNoKQorICAgICAgICAgICAgICAgIHNxX3VuaWhhc2guYXBwZW5kKHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3RpZF0udW5paGFzaCkKICAgICAgICAgICAgICAgICBzcV90YXNrbmFtZS5hcHBlbmQodGFza25hbWUpCiAgICAgICAgICAgICAgICAgc3FfdGFzay5hcHBlbmQodGlkKQogCiAgICAgICAgICAgICBzZWxmLmNvb2tlci5kYXRhLnNldFZhcigiQkJfU0VUU0NFTkVfU1RBTVBDVVJSRU5UX0NPVU5UIiwgbGVuKHN0YW1wcHJlc2VudCkpCiAKLSAgICAgICAgICAgIGNhbGwgPSBzZWxmLnJxLmhhc2h2YWxpZGF0ZSArICIoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCkiCi0gICAgICAgICAgICBsb2NzID0geyAic3FfZm4iIDogc3FfZm4sICJzcV90YXNrIiA6IHNxX3Rhc2tuYW1lLCAic3FfaGFzaCIgOiBzcV9oYXNoLCAic3FfaGFzaGZuIiA6IHNxX2hhc2hmbiwgImQiIDogc2VsZi5jb29rZXIuZGF0YSB9Ci0gICAgICAgICAgICB2YWxpZCA9IGJiLnV0aWxzLmJldHRlcl9ldmFsKGNhbGwsIGxvY3MpCisgICAgICAgICAgICB2YWxpZCA9IHNlbGYucnEudmFsaWRhdGVfaGFzaChzcV9mbj1zcV9mbiwgc3FfdGFzaz1zcV90YXNrbmFtZSwgc3FfaGFzaD1zcV9oYXNoLCBzcV9oYXNoZm49c3FfaGFzaGZuLAorICAgICAgICAgICAgICAgICAgICBzaWdpbmZvPUZhbHNlLCBzcV91bmloYXNoPXNxX3VuaWhhc2gsIGQ9c2VsZi5jb29rZXIuZGF0YSkKIAogICAgICAgICAgICAgc2VsZi5jb29rZXIuZGF0YS5kZWxWYXIoIkJCX1NFVFNDRU5FX1NUQU1QQ1VSUkVOVF9DT1VOVCIpCiAKQEAgLTI0ODIsMTMgKzI1MDcsMTUgQEAKICAgICAgICAgICAgIHRhc2tkZXBkYXRhID0gc2VsZi5idWlsZF90YXNrZGVwZGF0YSh0YXNrKQogCiAgICAgICAgICAgICB0YXNrZGVwID0gc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10udGFza19kZXBzW3Rhc2tmbl0KKyAgICAgICAgICAgIHRhc2toYXNoID0gc2VsZi5ycWRhdGEuZ2V0X3Rhc2tfaGFzaCh0YXNrKQorICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYucnFkYXRhLmdldF90YXNrX3VuaWhhc2godGFzaykKICAgICAgICAgICAgIGlmICdmYWtlcm9vdCcgaW4gdGFza2RlcCBhbmQgdGFza25hbWUgaW4gdGFza2RlcFsnZmFrZXJvb3QnXSBhbmQgbm90IHNlbGYuY29va2VyLmNvbmZpZ3VyYXRpb24uZHJ5X3J1bjoKICAgICAgICAgICAgICAgICBpZiBub3QgbWMgaW4gc2VsZi5ycS5mYWtld29ya2VyOgogICAgICAgICAgICAgICAgICAgICBzZWxmLnJxLnN0YXJ0X2Zha2V3b3JrZXIoc2VsZiwgbWMpCi0gICAgICAgICAgICAgICAgc2VsZi5ycS5mYWtld29ya2VyW21jXS5wcm9jZXNzLnN0ZGluLndyaXRlKGIiPHJ1bnRhc2s+IiArIHBpY2tsZS5kdW1wcygodGFza2ZuLCB0YXNrLCB0YXNrbmFtZSwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKKyAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLmZha2V3b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4uZmx1c2goKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi53cml0ZShiIjxydW50YXNrPiIgKyBwaWNrbGUuZHVtcHMoKHRhc2tmbiwgdGFzaywgdGFza25hbWUsIFRydWUsIHNlbGYuY29va2VyLmNvbGxlY3Rpb24uZ2V0X2ZpbGVfYXBwZW5kcyh0YXNrZm4pLCB0YXNrZGVwZGF0YSwgRmFsc2UpKSArIGIiPC9ydW50YXNrPiIpCisgICAgICAgICAgICAgICAgc2VsZi5ycS53b3JrZXJbbWNdLnByb2Nlc3Muc3RkaW4ud3JpdGUoYiI8cnVudGFzaz4iICsgcGlja2xlLmR1bXBzKCh0YXNrZm4sIHRhc2ssIHRhc2tuYW1lLCB0YXNraGFzaCwgdW5paGFzaCwgVHJ1ZSwgc2VsZi5jb29rZXIuY29sbGVjdGlvbi5nZXRfZmlsZV9hcHBlbmRzKHRhc2tmbiksIHRhc2tkZXBkYXRhLCBGYWxzZSkpICsgYiI8L3J1bnRhc2s+IikKICAgICAgICAgICAgICAgICBzZWxmLnJxLndvcmtlclttY10ucHJvY2Vzcy5zdGRpbi5mbHVzaCgpCiAKICAgICAgICAgICAgIHNlbGYuYnVpbGRfc3RhbXBzW3Rhc2tdID0gYmIuYnVpbGQuc3RhbXBmaWxlKHRhc2tuYW1lLCBzZWxmLnJxZGF0YS5kYXRhQ2FjaGVzW21jXSwgdGFza2ZuLCBub2V4dHJhPVRydWUpCkBAIC0yNTUyLDcgKzI1NzksOCBAQAogICAgICAgICAgICAgICAgIGRlcHMgPSBnZXRzZXRzY2VuZWRlcHMocmV2ZGVwKQogICAgICAgICAgICAgICAgIHByb3ZpZGVzID0gc2VsZi5ycWRhdGEuZGF0YUNhY2hlc1ttY10uZm5fcHJvdmlkZXNbdGFza2ZuXQogICAgICAgICAgICAgICAgIHRhc2toYXNoID0gc2VsZi5ycWRhdGEucnVudGFza2VudHJpZXNbcmV2ZGVwXS5oYXNoCi0gICAgICAgICAgICAgICAgdGFza2RlcGRhdGFbcmV2ZGVwXSA9IFtwbiwgdGFza25hbWUsIGZuLCBkZXBzLCBwcm92aWRlcywgdGFza2hhc2hdCisgICAgICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYucnFkYXRhLnJ1bnRhc2tlbnRyaWVzW3JldmRlcF0udW5paGFzaAorICAgICAgICAgICAgICAgIHRhc2tkZXBkYXRhW3JldmRlcF0gPSBbcG4sIHRhc2tuYW1lLCBmbiwgZGVwcywgcHJvdmlkZXMsIHRhc2toYXNoLCB1bmloYXNoXQogICAgICAgICAgICAgICAgIGZvciByZXZkZXAyIGluIGRlcHM6CiAgICAgICAgICAgICAgICAgICAgIGlmIHJldmRlcDIgbm90IGluIHRhc2tkZXBkYXRhOgogICAgICAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbC5hcHBlbmQocmV2ZGVwMikKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvc2lnZ2VuLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKaW5kZXggMzUyZGNhYi4uMDljOWM4YSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi9zaWdnZW4ucHkKQEAgLTQxLDYgKzQxLDkgQEAKICAgICBkZWYgZmluYWxpc2Uoc2VsZiwgZm4sIGQsIHZhcmllbnQpOgogICAgICAgICByZXR1cm4KIAorICAgIGRlZiBnZXRfdW5paGFzaChzZWxmLCB0YXNrKToKKyAgICAgICAgcmV0dXJuIHNlbGYudGFza2hhc2hbdGFza10KKwogICAgIGRlZiBnZXRfdGFza2hhc2goc2VsZiwgZm4sIHRhc2ssIGRlcHMsIGRhdGFDYWNoZSk6CiAgICAgICAgIHJldHVybiAiMCIKIApAQCAtODcsNyArOTAsNyBAQAogICAgICAgICBzZWxmLnRhaW50cyA9IHt9CiAgICAgICAgIHNlbGYuZ2VuZGVwcyA9IHt9CiAgICAgICAgIHNlbGYubG9va3VwY2FjaGUgPSB7fQotICAgICAgICBzZWxmLnBrZ25hbWVleHRyYWN0ID0gcmUuY29tcGlsZSgiKD9QPGZuPi4qKVwuLioiKQorICAgICAgICBzZWxmLnBrZ25hbWVleHRyYWN0ID0gcmUuY29tcGlsZShyIig/UDxmbj4uKilcLi4qIikKICAgICAgICAgc2VsZi5iYXNld2hpdGVsaXN0ID0gc2V0KChkYXRhLmdldFZhcigiQkJfSEFTSEJBU0VfV0hJVEVMSVNUIikgb3IgIiIpLnNwbGl0KCkpCiAgICAgICAgIHNlbGYudGFza3doaXRlbGlzdCA9IE5vbmUKICAgICAgICAgc2VsZi5pbml0X3J1bmRlcGNoZWNrKGRhdGEpCkBAIC0xODgsNyArMTkxLDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiBzZWxmLnRhc2toYXNoOgogICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIlcyBpcyBub3QgaW4gdGFza2hhc2gsIGNhbGxlciBpc24ndCBjYWxsaW5nIGluIGRlcGVuZGVuY3kgb3JkZXI/IiAlIGRlcCkKLSAgICAgICAgICAgIGRhdGEgPSBkYXRhICsgc2VsZi50YXNraGFzaFtkZXBdCisgICAgICAgICAgICBkYXRhID0gZGF0YSArIHNlbGYuZ2V0X3VuaWhhc2goZGVwKQogICAgICAgICAgICAgc2VsZi5ydW50YXNrZGVwc1trXS5hcHBlbmQoZGVwKQogCiAgICAgICAgIGlmIHRhc2sgaW4gZGF0YUNhY2hlLmZpbGVfY2hlY2tzdW1zW2ZuXToKQEAgLTIxNSw3ICsyMTgsNyBAQAogICAgICAgICAgICAgc2VsZi50YWludHNba10gPSB0YWludAogICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIiVzIGlzIHRhaW50ZWQgZnJvbSBhIGZvcmNlZCBydW4iICUgaykKIAotICAgICAgICBoID0gaGFzaGxpYi5tZDUoZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgICAgIGggPSBoYXNobGliLnNoYTI1NihkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKICAgICAgICAgc2VsZi50YXNraGFzaFtrXSA9IGgKICAgICAgICAgI2Quc2V0VmFyKCJCQl9UQVNLSEFTSF90YXNrLSVzIiAlIHRhc2ssIHRhc2toYXNoW3Rhc2tdKQogICAgICAgICByZXR1cm4gaApAQCAtMjYzLDcgKzI2Niw3IEBACiAgICAgICAgICAgICBkYXRhWydmaWxlX2NoZWNrc3VtX3ZhbHVlcyddID0gWyhvcy5wYXRoLmJhc2VuYW1lKGYpLCBjcykgZm9yIGYsY3MgaW4gc2VsZi5maWxlX2NoZWNrc3VtX3ZhbHVlc1trXV0KICAgICAgICAgICAgIGRhdGFbJ3J1bnRhc2toYXNoZXMnXSA9IHt9CiAgICAgICAgICAgICBmb3IgZGVwIGluIGRhdGFbJ3J1bnRhc2tkZXBzJ106Ci0gICAgICAgICAgICAgICAgZGF0YVsncnVudGFza2hhc2hlcyddW2RlcF0gPSBzZWxmLnRhc2toYXNoW2RlcF0KKyAgICAgICAgICAgICAgICBkYXRhWydydW50YXNraGFzaGVzJ11bZGVwXSA9IHNlbGYuZ2V0X3VuaWhhc2goZGVwKQogICAgICAgICAgICAgZGF0YVsndGFza2hhc2gnXSA9IHNlbGYudGFza2hhc2hba10KIAogICAgICAgICB0YWludCA9IHNlbGYucmVhZF90YWludChmbiwgdGFzaywgcmVmZXJlbmNlc3RhbXApCkBAIC0zMTMsNiArMzE2LDEzIEBACiBjbGFzcyBTaWduYXR1cmVHZW5lcmF0b3JCYXNpY0hhc2goU2lnbmF0dXJlR2VuZXJhdG9yQmFzaWMpOgogICAgIG5hbWUgPSAiYmFzaWNoYXNoIgogCisgICAgZGVmIGdldF9zdGFtcGZpbGVfaGFzaChzZWxmLCB0YXNrKToKKyAgICAgICAgaWYgdGFzayBpbiBzZWxmLnRhc2toYXNoOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYudGFza2hhc2hbdGFza10KKworICAgICAgICAjIElmIHRhc2sgaXMgbm90IGluIGJhc2VoYXNoLCB0aGVuIGVycm9yCisgICAgICAgIHJldHVybiBzZWxmLmJhc2VoYXNoW3Rhc2tdCisKICAgICBkZWYgc3RhbXBmaWxlKHNlbGYsIHN0YW1wYmFzZSwgZm4sIHRhc2tuYW1lLCBleHRyYWluZm8sIGNsZWFuPUZhbHNlKToKICAgICAgICAgaWYgdGFza25hbWUgIT0gImRvX3NldHNjZW5lIiBhbmQgdGFza25hbWUuZW5kc3dpdGgoIl9zZXRzY2VuZSIpOgogICAgICAgICAgICAgayA9IGZuICsgIi4iICsgdGFza25hbWVbOi05XQpAQCAtMzIwLDExICszMzAsOSBAQAogICAgICAgICAgICAgayA9IGZuICsgIi4iICsgdGFza25hbWUKICAgICAgICAgaWYgY2xlYW46CiAgICAgICAgICAgICBoID0gIioiCi0gICAgICAgIGVsaWYgayBpbiBzZWxmLnRhc2toYXNoOgotICAgICAgICAgICAgaCA9IHNlbGYudGFza2hhc2hba10KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgSWYgayBpcyBub3QgaW4gYmFzZWhhc2gsIHRoZW4gZXJyb3IKLSAgICAgICAgICAgIGggPSBzZWxmLmJhc2VoYXNoW2tdCisgICAgICAgICAgICBoID0gc2VsZi5nZXRfc3RhbXBmaWxlX2hhc2goaykKKwogICAgICAgICByZXR1cm4gKCIlcy4lcy4lcy4lcyIgJSAoc3RhbXBiYXNlLCB0YXNrbmFtZSwgaCwgZXh0cmFpbmZvKSkucnN0cmlwKCcuJykKIAogICAgIGRlZiBzdGFtcGNsZWFubWFzayhzZWxmLCBzdGFtcGJhc2UsIGZuLCB0YXNrbmFtZSwgZXh0cmFpbmZvKToKQEAgLTY0NCw3ICs2NTIsNyBAQAogICAgICAgICBpZiB2YWwgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBiYXNlZGF0YSA9IGJhc2VkYXRhICsgc3RyKHZhbCkKIAotICAgIHJldHVybiBoYXNobGliLm1kNShiYXNlZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgcmV0dXJuIGhhc2hsaWIuc2hhMjU2KGJhc2VkYXRhLmVuY29kZSgidXRmLTgiKSkuaGV4ZGlnZXN0KCkKIAogZGVmIGNhbGNfdGFza2hhc2goc2lnZGF0YSk6CiAgICAgZGF0YSA9IHNpZ2RhdGFbJ2Jhc2VoYXNoJ10KQEAgLTY2Miw3ICs2NzAsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGF0YSA9IGRhdGEgKyBzaWdkYXRhWyd0YWludCddCiAKLSAgICByZXR1cm4gaGFzaGxpYi5tZDUoZGF0YS5lbmNvZGUoInV0Zi04IikpLmhleGRpZ2VzdCgpCisgICAgcmV0dXJuIGhhc2hsaWIuc2hhMjU2KGRhdGEuZW5jb2RlKCJ1dGYtOCIpKS5oZXhkaWdlc3QoKQogCiAKIGRlZiBkdW1wX3NpZ2ZpbGUoYSk6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2NvZGVwYXJzZXIucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2NvZGVwYXJzZXIucHkKaW5kZXggZTMwZTc4Yy4uM2ZkNzZhOCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9jb2RlcGFyc2VyLnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvY29kZXBhcnNlci5weQpAQCAtMTIzLDYgKzEyMywxMyBAQAogICAgICAgICBzZWxmLnBhcnNlRXhwcmVzc2lvbigic2VkIC1pIC1lICdzOklQezpJJHs6ZycgJHBjIikKICAgICAgICAgc2VsZi5hc3NlcnRFeGVjcyhzZXQoWyJzZWQiXSkpCiAKKyAgICBkZWYgdGVzdF9wYXJhbWV0ZXJfZXhwYW5zaW9uX21vZGlmaWVycyhzZWxmKToKKyAgICAgICAgIyAtIGFuZCArIGFyZSBhbHNvIHZhbGlkIG1vZGlmaWVycyBmb3IgcGFyYW1ldGVyIGV4cGFuc2lvbiwgYnV0IGFyZQorICAgICAgICAjIHZhbGlkIGNoYXJhY3RlcnMgaW4gYml0YmFrZSB2YXJpYWJsZSBuYW1lcywgc28gYXJlIG5vdCBpbmNsdWRlZCBoZXJlCisgICAgICAgIGZvciBpIGluICgnPScsICc6LScsICc6PScsICc/JywgJzo/JywgJzorJywgJyMnLCAnJScsICcjIycsICclJScpOgorICAgICAgICAgICAgbmFtZSA9ICJmb28lc2JhciIgJSBpCisgICAgICAgICAgICBzZWxmLnBhcnNlRXhwcmVzc2lvbigiJHslc30iICUgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obmFtZSwgc2VsZi5yZWZlcmVuY2VzKQogCiAgICAgZGVmIHRlc3RfdW50aWwoc2VsZik6CiAgICAgICAgIHNlbGYucGFyc2VFeHByZXNzaW9uKCJ1bnRpbCBmYWxzZTsgZG8gZWNobyB0cnVlOyBkb25lIikKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZGF0YS5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZGF0YS5weQppbmRleCBkYjNlMjAxLi4zYzUxMWYyIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2RhdGEucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9kYXRhLnB5CkBAIC0zOTQsNiArMzk0LDE1IEBACiAgICAgICAgIHNlbGYuZC5zZXRWYXIoIk9WRVJSSURFUyIsICJmb286YmFyOnNvbWVfdmFsIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmQuZ2V0VmFyKCJURVNUIiksICIgdGVzdHZhbHVlNSIpCiAKKyAgICAjIFRlc3QgYW4gb3ZlcnJpZGUgd2l0aCBfPG51bWVyaWM+IGluIGl0IGJhc2VkIG9uIGEgcmVhbCB3b3JsZCBPRSBpc3N1ZQorICAgIGRlZiB0ZXN0X3VuZGVyc2NvcmVfb3ZlcnJpZGUoc2VsZik6CisgICAgICAgIHNlbGYuZC5zZXRWYXIoIlRBUkdFVF9BUkNIIiwgIng4Nl82NCIpCisgICAgICAgIHNlbGYuZC5zZXRWYXIoIlBOIiwgInRlc3QtJHtUQVJHRVRfQVJDSH0iKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJWRVJTSU9OIiwgIjEiKQorICAgICAgICBzZWxmLmQuc2V0VmFyKCJWRVJTSU9OX3BuLXRlc3QtJHtUQVJHRVRfQVJDSH0iLCAiMiIpCisgICAgICAgIHNlbGYuZC5zZXRWYXIoIk9WRVJSSURFUyIsICJwbi0ke1BOfSIpCisgICAgICAgIGJiLmRhdGEuZXhwYW5kS2V5cyhzZWxmLmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kLmdldFZhcigiVkVSU0lPTiIpLCAiMiIpCiAKIGNsYXNzIFRlc3RLZXlFeHBhbnNpb24odW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL2ZldGNoLnB5CmluZGV4IDUyMmQyMDIuLjQyOTk5OGIgMTAwNjQ0Ci0tLSBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvZmV0Y2gucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9mZXRjaC5weQpAQCAtOTQyLDYgKzk0MiwyNSBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9fcGF0aCwgJy5naXQvbW9kdWxlcy9leHRlcm4vanNvbi9jb25maWcnKSksIG1zZz0nTWlzc2luZyBzdWJtb2R1bGUgY29uZmlnICJleHRlcm4vanNvbiInKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHJlcG9fcGF0aCwgJy5naXQvbW9kdWxlcy9leHRlcm4vc2FuaXRpemVycy9jb25maWcnKSksIG1zZz0nTWlzc2luZyBzdWJtb2R1bGUgY29uZmlnICJleHRlcm4vc2FuaXRpemVycyInKQogCisgICAgZGVmIHRlc3RfZ2l0X3N1Ym1vZHVsZV91cGRhdGVfQ0xJMTEoc2VsZik6CisgICAgICAgICIiIiBQcmV2ZW50IHJlZ3Jlc3Npb24gb24gdXBkYXRlIGRldGVjdGlvbiBub3QgZmluZGluZyBtaXNzaW5nIHN1Ym1vZHVsZSwgb3IgbW9kdWxlcyB3aXRob3V0IG5lZWRlZCBjb21taXRzICIiIgorICAgICAgICB1cmwgPSAiZ2l0c206Ly9naXRodWIuY29tL0NMSVV0aWxzL0NMSTExO3Byb3RvY29sPWdpdDtyZXY9Y2Y2YTk5ZmE2OWFhZWZlNDc3Y2M1MmUzZWY0YTdkMmQ3ZmE0MDcxNCIKKyAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoLkZldGNoKFt1cmxdLCBzZWxmLmQpCisgICAgICAgIGZldGNoZXIuZG93bmxvYWQoKQorCisgICAgICAgICMgQ0xJMTEgdGhhdCBwdWxscyBpbiBhIG5ld2VyIG5sb2htYW5uLWpzb24KKyAgICAgICAgdXJsID0gImdpdHNtOi8vZ2l0aHViLmNvbS9DTElVdGlscy9DTEkxMTtwcm90b2NvbD1naXQ7cmV2PTQ5YWM5ODlhOTUyN2VlOWJiNDk2ZGU5ZGVkN2I0ODcyYzJlMGU1Y2EiCisgICAgICAgIGZldGNoZXIgPSBiYi5mZXRjaC5GZXRjaChbdXJsXSwgc2VsZi5kKQorICAgICAgICBmZXRjaGVyLmRvd25sb2FkKCkKKyAgICAgICAgIyBQcmV2aW91cyBjd2QgaGFzIGJlZW4gZGVsZXRlZAorICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmRpcm5hbWUoc2VsZi51bnBhY2tkaXIpKQorICAgICAgICBmZXRjaGVyLnVucGFjayhzZWxmLnVucGFja2RpcikKKworICAgICAgICByZXBvX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi50ZW1wZGlyLCAndW5wYWNrZWQnLCAnZ2l0JykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL2dvb2dsZXRlc3QvY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL2dvb2dsZXRlc3QiJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL2pzb24vY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL2pzb24iJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihyZXBvX3BhdGgsICcuZ2l0L21vZHVsZXMvZXh0ZXJuL3Nhbml0aXplcnMvY29uZmlnJykpLCBtc2c9J01pc3Npbmcgc3VibW9kdWxlIGNvbmZpZyAiZXh0ZXJuL3Nhbml0aXplcnMiJykKKwogICAgIGRlZiB0ZXN0X2dpdF9zdWJtb2R1bGVfYWt0dWFsaXpyKHNlbGYpOgogICAgICAgICB1cmwgPSAiZ2l0c206Ly9naXRodWIuY29tL2FkdmFuY2VkdGVsZW1hdGljL2FrdHVhbGl6cjticmFuY2g9bWFzdGVyO3Byb3RvY29sPWdpdDtyZXY9ZDAwZDFhMDRjYzIzNjZkMWE1ZjE0M2I4NGI5ZjUwN2Y4YmQzMmM0NCIKICAgICAgICAgZmV0Y2hlciA9IGJiLmZldGNoLkZldGNoKFt1cmxdLCBzZWxmLmQpCkBAIC0xMzM4LDcgKzEzNTcsNyBAQAogCiAgICAgZGVmIGZldGNoKHNlbGYsIHVyaT1Ob25lKToKICAgICAgICAgaWYgdXJpIGlzIE5vbmU6Ci0gICAgICAgICAgICB1cmlzID0gc2VsZi5kLmdldFZhcignU1JDX1VSSScsIFRydWUpLnNwbGl0KCkKKyAgICAgICAgICAgIHVyaXMgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKQogICAgICAgICAgICAgdXJpID0gdXJpc1swXQogICAgICAgICAgICAgZCA9IHNlbGYuZAogICAgICAgICBlbHNlOgpAQCAtMTM5Nyw3ICsxNDE2LDcgQEAKIAogICAgICAgICBzcmNyZXYgPSBzZWxmLmdpdCgncmV2LXBhcnNlIEhFQUQnLCBjd2Q9c2VsZi5zcmNkaXIpLnN0cmlwKCkKICAgICAgICAgc2VsZi5kLnNldFZhcignU1JDUkVWJywgc3JjcmV2KQotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7bm9icmFuY2g9MTtiYXJlPTEnICUgdXJpCiAKICAgICAgICAgc2VsZi5mZXRjaF9zaGFsbG93KHVyaSkKQEAgLTE1NzYsNyArMTU5NSw3IEBACiAgICAgICAgIHNlbGYuYWRkX2VtcHR5X2ZpbGUoJ2YnKQogICAgICAgICBzZWxmLmFzc2VydFJldkNvdW50KDcsIGN3ZD1zZWxmLnNyY2RpcikKIAotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7YnJhbmNoPW1hc3RlcixhX2JyYW5jaDtuYW1lPW1hc3RlcixhX2JyYW5jaCcgJSB1cmkKIAogICAgICAgICBzZWxmLmQuc2V0VmFyKCdCQl9HSVRfU0hBTExPV19ERVBUSCcsICcwJykKQEAgLTE2MDIsNyArMTYyMSw3IEBACiAgICAgICAgIHNlbGYuYWRkX2VtcHR5X2ZpbGUoJ2YnKQogICAgICAgICBzZWxmLmFzc2VydFJldkNvdW50KDcsIGN3ZD1zZWxmLnNyY2RpcikKIAotICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJywgVHJ1ZSkuc3BsaXQoKVswXQorICAgICAgICB1cmkgPSBzZWxmLmQuZ2V0VmFyKCdTUkNfVVJJJykuc3BsaXQoKVswXQogICAgICAgICB1cmkgPSAnJXM7YnJhbmNoPW1hc3RlcixhX2JyYW5jaDtuYW1lPW1hc3RlcixhX2JyYW5jaCcgJSB1cmkKIAogICAgICAgICBzZWxmLmQuc2V0VmFyKCdCQl9HSVRfU0hBTExPV19ERVBUSCcsICcwJykKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvcGVyc2lzdF9kYXRhLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy9wZXJzaXN0X2RhdGEucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyYmNiZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvcGVyc2lzdF9kYXRhLnB5CkBAIC0wLDAgKzEsMTQyIEBACisjIGV4OnRzPTQ6c3c9NDpzdHM9NDpldAorIyAtKi0gdGFiLXdpZHRoOiA0OyBjLWJhc2ljLW9mZnNldDogNDsgaW5kZW50LXRhYnMtbW9kZTogbmlsIC0qLQorIworIyBCaXRCYWtlIFRlc3QgZm9yIGxpYi9iYi9wZXJzaXN0X2RhdGEvCisjCisjIENvcHlyaWdodCAoQykgMjAxOCBHYXJtaW4gTHRkLgorIworIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworIyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyMgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyMgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyMKKworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgYmIuZGF0YQoraW1wb3J0IGJiLnBlcnNpc3RfZGF0YQoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdGhyZWFkaW5nCisKK2NsYXNzIFBlcnNpc3REYXRhVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIF9jcmVhdGVfZGF0YShzZWxmKToKKyAgICAgICAgcmV0dXJuIGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdURVNUX1BFUlNJU1RfREFUQScsIHNlbGYuZCkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5kID0gYmIuZGF0YS5pbml0KCkKKyAgICAgICAgc2VsZi50ZW1wZGlyID0gdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KCkKKyAgICAgICAgc2VsZi5kWydQRVJTSVNURU5UX0RJUiddID0gc2VsZi50ZW1wZGlyLm5hbWUKKyAgICAgICAgc2VsZi5kYXRhID0gc2VsZi5fY3JlYXRlX2RhdGEoKQorICAgICAgICBzZWxmLml0ZW1zID0geworICAgICAgICAgICAgICAgICdBMSc6ICcxJywKKyAgICAgICAgICAgICAgICAnQjEnOiAnMicsCisgICAgICAgICAgICAgICAgJ0MyJzogJzMnCisgICAgICAgICAgICAgICAgfQorICAgICAgICBzZWxmLnN0cmVzc19jb3VudCA9IDEwMDAwCisgICAgICAgIHNlbGYudGhyZWFkX2NvdW50ID0gNQorCisgICAgICAgIGZvciBrLHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5kYXRhW2tdID0gdgorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzZWxmLnRlbXBkaXIuY2xlYW51cCgpCisKKyAgICBkZWYgX2l0ZXJfaGVscGVyKHNlbGYsIHNlZW4sIGl0ZXJhdG9yKToKKyAgICAgICAgd2l0aCBpdGVyKGl0ZXJhdG9yKToKKyAgICAgICAgICAgIGZvciB2IGluIGl0ZXJhdG9yOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh2IGluIHNlZW4pCisgICAgICAgICAgICAgICAgc2Vlbi5yZW1vdmUodikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VlbiksIDAsICclcyBub3Qgc2VlbicgJSBzZWVuKQorCisgICAgZGVmIHRlc3RfZ2V0KHNlbGYpOgorICAgICAgICBmb3IgaywgdiBpbiBzZWxmLml0ZW1zLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YVtrXSwgdikKKworICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLmRhdGEuZ2V0KCdEJykpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5kYXRhWydEJ10KKworICAgIGRlZiB0ZXN0X3NldChzZWxmKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5kYXRhW2tdICs9ICctZm9vJworCisgICAgICAgIGZvciBrLCB2IGluIHNlbGYuaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhW2tdLCB2ICsgJy1mb28nKQorCisgICAgZGVmIHRlc3RfZGVsZXRlKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFbJ0QnXSA9ICc0JworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YVsnRCddLCAnNCcpCisgICAgICAgIGRlbCBzZWxmLmRhdGFbJ0QnXQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzZWxmLmRhdGEuZ2V0KCdEJykpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5kYXRhWydEJ10KKworICAgIGRlZiB0ZXN0X2NvbnRhaW5zKHNlbGYpOgorICAgICAgICBmb3IgayBpbiBzZWxmLml0ZW1zOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGsgaW4gc2VsZi5kYXRhKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuZGF0YS5oYXNfa2V5KGspKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdOb3RGb3VuZCcgaW4gc2VsZi5kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYuZGF0YS5oYXNfa2V5KCdOb3RGb3VuZCcpKQorCisgICAgZGVmIHRlc3RfbGVuKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmRhdGEpLCBsZW4oc2VsZi5pdGVtcykpCisKKyAgICBkZWYgdGVzdF9pdGVyKHNlbGYpOgorICAgICAgICBzZWxmLl9pdGVyX2hlbHBlcihzZXQoc2VsZi5pdGVtcy5rZXlzKCkpLCBzZWxmLmRhdGEpCisKKyAgICBkZWYgdGVzdF9pdGVydmFsdWVzKHNlbGYpOgorICAgICAgICBzZWxmLl9pdGVyX2hlbHBlcihzZXQoc2VsZi5pdGVtcy52YWx1ZXMoKSksIHNlbGYuZGF0YS5pdGVydmFsdWVzKCkpCisKKyAgICBkZWYgdGVzdF9pdGVyaXRlbXMoc2VsZik6CisgICAgICAgIHNlbGYuX2l0ZXJfaGVscGVyKHNldChzZWxmLml0ZW1zLml0ZW1zKCkpLCBzZWxmLmRhdGEuaXRlcml0ZW1zKCkpCisKKyAgICBkZWYgdGVzdF9nZXRfYnlfcGF0dGVybihzZWxmKToKKyAgICAgICAgc2VsZi5faXRlcl9oZWxwZXIoeycxJywgJzInfSwgc2VsZi5kYXRhLmdldF9ieV9wYXR0ZXJuKCdfMScpKQorCisgICAgZGVmIF9zdHJlc3NfcmVhZChzZWxmLCBkYXRhKToKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5zdHJlc3NfY291bnQpOgorICAgICAgICAgICAgZm9yIGsgaW4gc2VsZi5pdGVtczoKKyAgICAgICAgICAgICAgICBkYXRhW2tdCisKKyAgICBkZWYgX3N0cmVzc193cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5zdHJlc3NfY291bnQpOgorICAgICAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGRhdGFba10gPSB2ICsgc3RyKGkpCisKKyAgICBkZWYgX3ZhbGlkYXRlX3N0cmVzcyhzZWxmKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5pdGVtcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGFba10sIHYgKyBzdHIoc2VsZi5zdHJlc3NfY291bnQgLSAxKSkKKworICAgIGRlZiB0ZXN0X3N0cmVzcyhzZWxmKToKKyAgICAgICAgc2VsZi5fc3RyZXNzX3JlYWQoc2VsZi5kYXRhKQorICAgICAgICBzZWxmLl9zdHJlc3Nfd3JpdGUoc2VsZi5kYXRhKQorICAgICAgICBzZWxmLl92YWxpZGF0ZV9zdHJlc3MoKQorCisgICAgZGVmIHRlc3Rfc3RyZXNzX3RocmVhZHMoc2VsZik6CisgICAgICAgIGRlZiByZWFkX3RocmVhZCgpOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2NyZWF0ZV9kYXRhKCkKKyAgICAgICAgICAgIHNlbGYuX3N0cmVzc19yZWFkKGRhdGEpCisKKyAgICAgICAgZGVmIHdyaXRlX3RocmVhZCgpOgorICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2NyZWF0ZV9kYXRhKCkKKyAgICAgICAgICAgIHNlbGYuX3N0cmVzc193cml0ZShkYXRhKQorCisgICAgICAgIHRocmVhZHMgPSBbXQorICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLnRocmVhZF9jb3VudCk6CisgICAgICAgICAgICB0aHJlYWRzLmFwcGVuZCh0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1yZWFkX3RocmVhZCkpCisgICAgICAgICAgICB0aHJlYWRzLmFwcGVuZCh0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD13cml0ZV90aHJlYWQpKQorCisgICAgICAgIGZvciB0IGluIHRocmVhZHM6CisgICAgICAgICAgICB0LnN0YXJ0KCkKKyAgICAgICAgc2VsZi5fc3RyZXNzX3JlYWQoc2VsZi5kYXRhKQorICAgICAgICBmb3IgdCBpbiB0aHJlYWRzOgorICAgICAgICAgICAgdC5qb2luKCkKKyAgICAgICAgc2VsZi5fdmFsaWRhdGVfc3RyZXNzKCkKKwpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy91dGlscy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdGVzdHMvdXRpbHMucHkKaW5kZXggMmY0Y2NmMy4uZjFjZDgzYSAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi90ZXN0cy91dGlscy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3Rlc3RzL3V0aWxzLnB5CkBAIC00Miw2ICs0MiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0IDwgMCkKICAgICAgICAgcmVzdWx0ID0gYmIudXRpbHMudmVyY21wX3N0cmluZygnMS4xJywgJzEuMCsxLjEtYmV0YTEnKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0ID4gMCkKKyAgICAgICAgcmVzdWx0ID0gYmIudXRpbHMudmVyY21wX3N0cmluZygnMS4nLCAnMS4xJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3VsdCA8IDApCisgICAgICAgIHJlc3VsdCA9IGJiLnV0aWxzLnZlcmNtcF9zdHJpbmcoJzEuMScsICcxLicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQgPiAwKQogCiAgICAgZGVmIHRlc3RfZXhwbG9kZV9kZXBfdmVyc2lvbnMoc2VsZik6CiAgICAgICAgIGNvcnJlY3RyZXN1bHQgPSB7ImZvbyIgOiBbIj0gMS4xMCJdfQpkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9iYi91dGlscy5weSBiL3Bva3kvYml0YmFrZS9saWIvYmIvdXRpbHMucHkKaW5kZXggNzNiNmNiNC4uYjY1MmE2OCAxMDA2NDQKLS0tIGEvcG9reS9iaXRiYWtlL2xpYi9iYi91dGlscy5weQorKysgYi9wb2t5L2JpdGJha2UvbGliL2JiL3V0aWxzLnB5CkBAIC0yNyw3ICsyNyw4IEBACiBpbXBvcnQgYmIubXNnCiBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCiBpbXBvcnQgZmNudGwKLWltcG9ydCBpbXAKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIGltcG9ydCBpdGVydG9vbHMKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgZ2xvYgpAQCAtNDMsNyArNDQsNyBAQAogZnJvbSBjdHlwZXMgaW1wb3J0IGNkbGwKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoIkJpdEJha2UuVXRpbCIpCi1weXRob25fZXh0ZW5zaW9ucyA9IFtlIGZvciBlLCBfLCBfIGluIGltcC5nZXRfc3VmZml4ZXMoKV0KK3B5dGhvbl9leHRlbnNpb25zID0gaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKQogCiAKIGRlZiBjbGVhbl9jb250ZXh0KCk6CkBAIC02OCw4ICs2OSw4IEBACiAKIGRlZiBleHBsb2RlX3ZlcnNpb24ocyk6CiAgICAgciA9IFtdCi0gICAgYWxwaGFfcmVnZXhwID0gcmUuY29tcGlsZSgnXihbYS16QS1aXSspKC4qKSQnKQotICAgIG51bWVyaWNfcmVnZXhwID0gcmUuY29tcGlsZSgnXihcZCspKC4qKSQnKQorICAgIGFscGhhX3JlZ2V4cCA9IHJlLmNvbXBpbGUocideKFthLXpBLVpdKykoLiopJCcpCisgICAgbnVtZXJpY19yZWdleHAgPSByZS5jb21waWxlKHInXihcZCspKC4qKSQnKQogICAgIHdoaWxlIChzICE9ICcnKToKICAgICAgICAgaWYgc1swXSBpbiBzdHJpbmcuZGlnaXRzOgogICAgICAgICAgICAgbSA9IG51bWVyaWNfcmVnZXhwLm1hdGNoKHMpCkBAIC0xMjAsNiArMTIxLDEwIEBACiAgICAgICAgICAgICByZXR1cm4gLTEKICAgICAgICAgZWxpZiBvYSA+IG9iOgogICAgICAgICAgICAgcmV0dXJuIDEKKyAgICAgICAgZWxpZiBjYSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIC0xCisgICAgICAgIGVsaWYgY2IgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIGVsaWYgY2EgPCBjYjoKICAgICAgICAgICAgIHJldHVybiAtMQogICAgICAgICBlbGlmIGNhID4gY2I6CkBAIC0zMTcsMTAgKzMyMiwxMyBAQAogICAgICAgICBlcnJvciA9IFtdCiAgICAgICAgICMgc3BsaXQgdGhlIHRleHQgaW50byBsaW5lcyBhZ2FpbgogICAgICAgICBib2R5ID0gdGV4dC5zcGxpdCgnXG4nKQotICAgICAgICBlcnJvci5hcHBlbmQoIkVycm9yIGluIGNvbXBpbGluZyBweXRob24gZnVuY3Rpb24gaW4gJXMsIGxpbmUgJXM6XG4iICUgKHJlYWxmaWxlLCBsaW5lbm8pKQorICAgICAgICBlcnJvci5hcHBlbmQoIkVycm9yIGluIGNvbXBpbGluZyBweXRob24gZnVuY3Rpb24gaW4gJXMsIGxpbmUgJXM6XG4iICUgKHJlYWxmaWxlLCBlLmxpbmVubykpCiAgICAgICAgIGlmIGhhc2F0dHIoZSwgImxpbmVubyIpOgogICAgICAgICAgICAgZXJyb3IuYXBwZW5kKCJUaGUgY29kZSBsaW5lcyByZXN1bHRpbmcgaW4gdGhpcyBlcnJvciB3ZXJlOiIpCi0gICAgICAgICAgICBlcnJvci5leHRlbmQoX3ByaW50X3RyYWNlKGJvZHksIGUubGluZW5vKSkKKyAgICAgICAgICAgICMgZS5saW5lbm86IGxpbmUncyBwb3NpdGlvbiBpbiByZWFmbGlsZQorICAgICAgICAgICAgIyBsaW5lbm86IGZ1bmN0aW9uIG5hbWUncyAicG9zaXRpb24gLTEiIGluIHJlYWxmaWxlCisgICAgICAgICAgICAjIGUubGluZW5vIC0gbGluZW5vOiBsaW5lJ3MgcmVsYXRpdmUgcG9zaXRpb24gaW4gZnVuY3Rpb24KKyAgICAgICAgICAgIGVycm9yLmV4dGVuZChfcHJpbnRfdHJhY2UoYm9keSwgZS5saW5lbm8gLSBsaW5lbm8pKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZXJyb3IuYXBwZW5kKCJUaGUgZnVuY3Rpb24gY2F1c2luZyB0aGlzIGVycm9yIHdhczoiKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gYm9keToKQEAgLTcwNCwxNSArNzEyLDcgQEAKICAgICAjIENBVVRJT046ICBUaGlzIGlzIGRhbmdlcm91cyEKICAgICBpZiBfY2hlY2tfdW5zYWZlX2RlbGV0ZV9wYXRoKHRvcGRpcik6CiAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignYmIudXRpbHMucHJ1bmVkaXI6IGNhbGxlZCB3aXRoIGRhbmdlcm91cyBwYXRoICIlcyIsIHJlZnVzaW5nIHRvIGRlbGV0ZSEnICUgdG9wZGlyKQotICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHRvcGRpciwgdG9wZG93biA9IEZhbHNlKToKLSAgICAgICAgZm9yIG5hbWUgaW4gZmlsZXM6Ci0gICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgICAgICBmb3IgbmFtZSBpbiBkaXJzOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKToKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBvcy5ybWRpcihvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkpCi0gICAgb3Mucm1kaXIodG9wZGlyKQorICAgIHJlbW92ZSh0b3BkaXIsIHJlY3Vyc2U9VHJ1ZSkKIAogIwogIyBDb3VsZCBhbHNvIHVzZSByZXR1cm4gcmUuY29tcGlsZSgiKCVzKSIgJSAifCIuam9pbihtYXAocmUuZXNjYXBlLCBzdWZmaXhlcykpKS5zdWIobGFtYmRhIG1vOiAiIiwgdmFyKQpAQCAtMTE1NywxNCArMTE1NywxNCBAQAogCiAgICAgdmFyX3JlcyA9IHt9CiAgICAgaWYgbWF0Y2hfb3ZlcnJpZGVzOgotICAgICAgICBvdmVycmlkZV9yZSA9ICcoX1thLXpBLVowLTktXyQoKXt9XSspPycKKyAgICAgICAgb3ZlcnJpZGVfcmUgPSByJyhfW2EtekEtWjAtOS1fJCgpe31dKyk/JwogICAgIGVsc2U6CiAgICAgICAgIG92ZXJyaWRlX3JlID0gJycKICAgICBmb3IgdmFyIGluIHZhcmlhYmxlczoKICAgICAgICAgaWYgdmFyLmVuZHN3aXRoKCcoKScpOgotICAgICAgICAgICAgdmFyX3Jlc1t2YXJdID0gcmUuY29tcGlsZSgnXiglcyVzKVsgXFx0XSpcKFsgXFx0XSpcKVsgXFx0XSp7JyAlICh2YXJbOi0yXS5yc3RyaXAoKSwgb3ZlcnJpZGVfcmUpKQorICAgICAgICAgICAgdmFyX3Jlc1t2YXJdID0gcmUuY29tcGlsZShyJ14oJXMlcylbIFxcdF0qXChbIFxcdF0qXClbIFxcdF0qeycgJSAodmFyWzotMl0ucnN0cmlwKCksIG92ZXJyaWRlX3JlKSkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUoJ14oJXMlcylbIFxcdF0qWz8rOi5dKj1bKy5dKlsgXFx0XSooWyJcJ10pJyAlICh2YXIsIG92ZXJyaWRlX3JlKSkKKyAgICAgICAgICAgIHZhcl9yZXNbdmFyXSA9IHJlLmNvbXBpbGUocideKCVzJXMpWyBcXHRdKls/KzouXSo9WysuXSpbIFxcdF0qKFsiXCddKScgJSAodmFyLCBvdmVycmlkZV9yZSkpCiAKICAgICB1cGRhdGVkID0gRmFsc2UKICAgICB2YXJzZXRfc3RhcnQgPSAnJwpAQCAtMTUwMSw2ICsxNTAxLDggQEAKICAgICAgIE5SX2lvcHJpb19zZXQgPSAyNTEKICAgICBlbGlmIF91bmFtZWFyY2hbMF0gPT0gImkiIGFuZCBfdW5hbWVhcmNoWzI6M10gPT0gIjg2IjoKICAgICAgIE5SX2lvcHJpb19zZXQgPSAyODkKKyAgICBlbGlmIF91bmFtZWFyY2ggPT0gImFhcmNoNjQiOgorICAgICAgTlJfaW9wcmlvX3NldCA9IDMwCiAKICAgICBpZiBOUl9pb3ByaW9fc2V0OgogICAgICAgICBpb3ByaW8gPSB2YWx1ZSB8IChjbHMgPDwgSU9QUklPX0NMQVNTX1NISUZUKQpAQCAtMTU0NCwxMiArMTU0Niw5IEBACiBkZWYgbG9hZF9wbHVnaW5zKGxvZ2dlciwgcGx1Z2lucywgcGx1Z2lucGF0aCk6CiAgICAgZGVmIGxvYWRfcGx1Z2luKG5hbWUpOgogICAgICAgICBsb2dnZXIuZGVidWcoMSwgJ0xvYWRpbmcgcGx1Z2luICVzJyAlIG5hbWUpCi0gICAgICAgIGZwLCBwYXRobmFtZSwgZGVzY3JpcHRpb24gPSBpbXAuZmluZF9tb2R1bGUobmFtZSwgW3BsdWdpbnBhdGhdKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gaW1wLmxvYWRfbW9kdWxlKG5hbWUsIGZwLCBwYXRobmFtZSwgZGVzY3JpcHRpb24pCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBpZiBmcDoKLSAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCisgICAgICAgIHNwZWMgPSBpbXBvcnRsaWIubWFjaGluZXJ5LlBhdGhGaW5kZXIuZmluZF9zcGVjKG5hbWUsIHBhdGg9W3BsdWdpbnBhdGhdICkKKyAgICAgICAgaWYgc3BlYzoKKyAgICAgICAgICAgIHJldHVybiBzcGVjLmxvYWRlci5sb2FkX21vZHVsZSgpCiAKICAgICBsb2dnZXIuZGVidWcoMSwgJ0xvYWRpbmcgcGx1Z2lucyBmcm9tICVzLi4uJyAlIHBsdWdpbnBhdGgpCiAKZGlmZiAtLWdpdCBhL3Bva3kvYml0YmFrZS9saWIvYnM0L2RhbW1pdC5weSBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2RhbW1pdC5weQppbmRleCA2OGQ0MTlmLi44MDVhYTkwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JzNC9kYW1taXQucHkKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9iczQvZGFtbWl0LnB5CkBAIC00NSw5ICs0NSw5IEBACiAgICAgcGFzcwogCiB4bWxfZW5jb2RpbmdfcmUgPSByZS5jb21waWxlKAotICAgICdePFw/LiplbmNvZGluZz1bXCciXSguKj8pW1wnIl0uKlw/PicuZW5jb2RlKCksIHJlLkkpCisgICAgcidePFw/LiplbmNvZGluZz1bXCciXSguKj8pW1wnIl0uKlw/PicuZW5jb2RlKCksIHJlLkkpCiBodG1sX21ldGFfcmUgPSByZS5jb21waWxlKAotICAgICc8XHMqbWV0YVtePl0rY2hhcnNldFxzKj1ccypbIlwnXT8oW14+XSo/KVsgLztcJyI+XScuZW5jb2RlKCksIHJlLkkpCisgICAgcic8XHMqbWV0YVtePl0rY2hhcnNldFxzKj1ccypbIlwnXT8oW14+XSo/KVsgLztcJyI+XScuZW5jb2RlKCksIHJlLkkpCiAKIGNsYXNzIEVudGl0eVN1YnN0aXR1dGlvbihvYmplY3QpOgogCkBAIC04MCwxMSArODAsMTEgQEAKICAgICAgICAgIj4iOiAiZ3QiLAogICAgICAgICB9CiAKLSAgICBCQVJFX0FNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZSgiKFs8Pl18IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICImKD8hI1xkKzt8I3hbMC05YS1mQS1GXSs7fFx3KzspIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIpIikKKyAgICBCQVJFX0FNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZShyIihbPD5dfCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByIiYoPyEjXGQrO3wjeFswLTlhLWZBLUZdKzt8XHcrOykiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciIpIikKIAotICAgIEFNUEVSU0FORF9PUl9CUkFDS0VUID0gcmUuY29tcGlsZSgiKFs8PiZdKSIpCisgICAgQU1QRVJTQU5EX09SX0JSQUNLRVQgPSByZS5jb21waWxlKHIiKFs8PiZdKSIpCiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX3N1YnN0aXR1dGVfaHRtbF9lbnRpdHkoY2xzLCBtYXRjaG9iaik6CmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2JzNC9lbGVtZW50LnB5IGIvcG9reS9iaXRiYWtlL2xpYi9iczQvZWxlbWVudC5weQppbmRleCAwZTYyYzJlLi4zNzc1YTYwIDEwMDY0NAotLS0gYS9wb2t5L2JpdGJha2UvbGliL2JzNC9lbGVtZW50LnB5CisrKyBiL3Bva3kvYml0YmFrZS9saWIvYnM0L2VsZW1lbnQucHkKQEAgLTEsNyArMSw3IEBACiBfX2xpY2Vuc2VfXyA9ICJNSVQiCiAKIGZyb20gcGRiIGltcG9ydCBzZXRfdHJhY2UKLWltcG9ydCBjb2xsZWN0aW9ucworaW1wb3J0IGNvbGxlY3Rpb25zLmFiYwogaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgd2FybmluZ3MKQEAgLTEwLDcgKzEwLDcgQEAKIERFRkFVTFRfT1VUUFVUX0VOQ09ESU5HID0gInV0Zi04IgogUFkzSyA9IChzeXMudmVyc2lvbl9pbmZvWzBdID4gMikKIAotd2hpdGVzcGFjZV9yZSA9IHJlLmNvbXBpbGUoIlxzKyIpCit3aGl0ZXNwYWNlX3JlID0gcmUuY29tcGlsZShyIlxzKyIpCiAKIGRlZiBfYWxpYXMoYXR0cik6CiAgICAgIiIiQWxpYXMgb25lIGF0dHJpYnV0ZSBuYW1lIHRvIGFub3RoZXIgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkiIiIKQEAgLTY3LDcgKzY3LDcgQEAKICAgICBUaGUgdmFsdWUgb2YgdGhlICdjb250ZW50JyBhdHRyaWJ1dGUgd2lsbCBiZSBvbmUgb2YgdGhlc2Ugb2JqZWN0cy4KICAgICAiIiIKIAotICAgIENIQVJTRVRfUkUgPSByZS5jb21waWxlKCIoKF58OylccypjaGFyc2V0PSkoW147XSopIiwgcmUuTSkKKyAgICBDSEFSU0VUX1JFID0gcmUuY29tcGlsZShyIigoXnw7KVxzKmNoYXJzZXQ9KShbXjtdKikiLCByZS5NKQogCiAgICAgZGVmIF9fbmV3X18oY2xzLCBvcmlnaW5hbF92YWx1ZSk6CiAgICAgICAgIG1hdGNoID0gY2xzLkNIQVJTRVRfUkUuc2VhcmNoKG9yaWdpbmFsX3ZhbHVlKQpAQCAtMTU1LDcgKzE1NSw3IEBACiAKICAgICBkZWYgZm9ybWF0X3N0cmluZyhzZWxmLCBzLCBmb3JtYXR0ZXI9J21pbmltYWwnKToKICAgICAgICAgIiIiRm9ybWF0IHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdHRlci4iIiIKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm9ybWF0dGVyLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKToKICAgICAgICAgICAgIGZvcm1hdHRlciA9IHNlbGYuX2Zvcm1hdHRlcl9mb3JfbmFtZShmb3JtYXR0ZXIpCiAgICAgICAgIGlmIGZvcm1hdHRlciBpcyBOb25lOgogICAgICAgICAgICAgb3V0cHV0ID0gcwpAQCAtNTgwLDcgKzU4MCw3IEBACiAKICAgICAjIE1ldGhvZHMgZm9yIHN1cHBvcnRpbmcgQ1NTIHNlbGVjdG9ycy4KIAotICAgIHRhZ19uYW1lX3JlID0gcmUuY29tcGlsZSgnXlthLXpBLVowLTldWy0uYS16QS1aMC05Ol9dKiQnKQorICAgIHRhZ19uYW1lX3JlID0gcmUuY29tcGlsZShyJ15bYS16QS1aMC05XVstLmEtekEtWjAtOTpfXSokJykKIAogICAgICMgL14oW2EtekEtWjAtOV1bLS5hLXpBLVowLTk6X10qKVxbKFx3KykoWz1+XHxcXlwkXCpdPyk9PyI/KFteXF0iXSopIj9cXSQvCiAgICAgIyAgIFwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vICBcLS0tL1wtLS0tLS0tLS0tLS0tLyAgICBcLS0tLS0tLS8KQEAgLTEwNzcsNyArMTA3Nyw3IEBACiAKICAgICAgICAgIyBGaXJzdCBvZmYsIHR1cm4gYSBzdHJpbmcgZm9ybWF0dGVyIGludG8gYSBmdW5jdGlvbi4gVGhpcwogICAgICAgICAjIHdpbGwgc3RvcCB0aGUgbG9va3VwIGZyb20gaGFwcGVuaW5nIG92ZXIgYW5kIG92ZXIgYWdhaW4uCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShmb3JtYXR0ZXIsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICBmb3JtYXR0ZXIgPSBzZWxmLl9mb3JtYXR0ZXJfZm9yX25hbWUoZm9ybWF0dGVyKQogCiAgICAgICAgIGF0dHJzID0gW10KQEAgLTExODEsNyArMTE4MSw3IEBACiAgICAgICAgICIiIgogICAgICAgICAjIEZpcnN0IG9mZiwgdHVybiBhIHN0cmluZyBmb3JtYXR0ZXIgaW50byBhIGZ1bmN0aW9uLiBUaGlzCiAgICAgICAgICMgd2lsbCBzdG9wIHRoZSBsb29rdXAgZnJvbSBoYXBwZW5pbmcgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZm9ybWF0dGVyLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGZvcm1hdHRlciwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKToKICAgICAgICAgICAgIGZvcm1hdHRlciA9IHNlbGYuX2Zvcm1hdHRlcl9mb3JfbmFtZShmb3JtYXR0ZXIpCiAKICAgICAgICAgcHJldHR5X3ByaW50ID0gKGluZGVudF9sZXZlbCBpcyBub3QgTm9uZSkKQEAgLTEzNjQsNyArMTM2NCw3IEBACiAgICAgICAgICAgICAgICAgaWYgdGFnX25hbWUgPT0gJyc6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICAgICAiQSBwc2V1ZG8tY2xhc3MgbXVzdCBiZSBwcmVmaXhlZCB3aXRoIGEgdGFnIG5hbWUuIikKLSAgICAgICAgICAgICAgICBwc2V1ZG9fYXR0cmlidXRlcyA9IHJlLm1hdGNoKCcoW2EtekEtWlxkLV0rKVwoKFthLXpBLVpcZF0rKVwpJywgcHNldWRvKQorICAgICAgICAgICAgICAgIHBzZXVkb19hdHRyaWJ1dGVzID0gcmUubWF0Y2gocicoW2EtekEtWlxkLV0rKVwoKFthLXpBLVpcZF0rKVwpJywgcHNldWRvKQogICAgICAgICAgICAgICAgIGZvdW5kID0gW10KICAgICAgICAgICAgICAgICBpZiBwc2V1ZG9fYXR0cmlidXRlcyBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICBwc2V1ZG9fdHlwZSA9IHBzZXVkbwpAQCAtMTU2Miw3ICsxNTYyLDcgQEAKICAgICBkZWYgX25vcm1hbGl6ZV9zZWFyY2hfdmFsdWUoc2VsZiwgdmFsdWUpOgogICAgICAgICAjIExlYXZlIGl0IGFsb25lIGlmIGl0J3MgYSBVbmljb2RlIHN0cmluZywgYSBjYWxsYWJsZSwgYQogICAgICAgICAjIHJlZ3VsYXIgZXhwcmVzc2lvbiwgYSBib29sZWFuLCBvciBOb25lLgotICAgICAgICBpZiAoaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKSBvciBpc2luc3RhbmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSkgb3IgaGFzYXR0cih2YWx1ZSwgJ21hdGNoJykKKyAgICAgICAgaWYgKGlzaW5zdGFuY2UodmFsdWUsIHN0cikgb3IgaXNpbnN0YW5jZSh2YWx1ZSwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKSBvciBoYXNhdHRyKHZhbHVlLCAnbWF0Y2gnKQogICAgICAgICAgICAgb3IgaXNpbnN0YW5jZSh2YWx1ZSwgYm9vbCkgb3IgdmFsdWUgaXMgTm9uZSk6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWUKIApAQCAtMTYwMiw3ICsxNjAyLDcgQEAKICAgICAgICAgICAgIG1hcmt1cCA9IG1hcmt1cF9uYW1lCiAgICAgICAgICAgICBtYXJrdXBfYXR0cnMgPSBtYXJrdXAKICAgICAgICAgY2FsbF9mdW5jdGlvbl93aXRoX3RhZ19kYXRhID0gKAotICAgICAgICAgICAgaXNpbnN0YW5jZShzZWxmLm5hbWUsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKQorICAgICAgICAgICAgaXNpbnN0YW5jZShzZWxmLm5hbWUsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkKICAgICAgICAgICAgIGFuZCBub3QgaXNpbnN0YW5jZShtYXJrdXBfbmFtZSwgVGFnKSkKIAogICAgICAgICBpZiAoKG5vdCBzZWxmLm5hbWUpCkBAIC0xNjg4LDcgKzE2ODgsNyBAQAogICAgICAgICAgICAgIyBUcnVlIG1hdGNoZXMgYW55IG5vbi1Ob25lIHZhbHVlLgogICAgICAgICAgICAgcmV0dXJuIG1hcmt1cCBpcyBub3QgTm9uZQogCi0gICAgICAgIGlmIGlzaW5zdGFuY2UobWF0Y2hfYWdhaW5zdCwgY29sbGVjdGlvbnMuQ2FsbGFibGUpOgorICAgICAgICBpZiBpc2luc3RhbmNlKG1hdGNoX2FnYWluc3QsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6CiAgICAgICAgICAgICByZXR1cm4gbWF0Y2hfYWdhaW5zdChtYXJrdXApCiAKICAgICAgICAgIyBDdXN0b20gY2FsbGFibGVzIHRha2UgdGhlIHRhZyBhcyBhbiBhcmd1bWVudCwgYnV0IGFsbApkaWZmIC0tZ2l0IGEvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi9fX2luaXRfXy5weSBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZiY2E3YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvYml0YmFrZS9saWIvaGFzaHNlcnYvX19pbml0X18ucHkKQEAgLTAsMCArMSwxNTIgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEdhcm1pbiBMdGQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorCitmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyLCBIVFRQU2VydmVyCitpbXBvcnQgY29udGV4dGxpYgoraW1wb3J0IHVybGxpYi5wYXJzZQoraW1wb3J0IHNxbGl0ZTMKK2ltcG9ydCBqc29uCitpbXBvcnQgdHJhY2ViYWNrCitpbXBvcnQgbG9nZ2luZworZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2hhc2hzZXJ2JykKKworY2xhc3MgSGFzaEVxdWl2YWxlbmNlU2VydmVyKEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIpOgorICAgIGRlZiBsb2dfbWVzc2FnZShzZWxmLCBmLCAqYXJncyk6CisgICAgICAgIGxvZ2dlci5kZWJ1ZyhmLCAqYXJncykKKworICAgIGRlZiBkb19HRVQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHAgPSB1cmxsaWIucGFyc2UudXJscGFyc2Uoc2VsZi5wYXRoKQorCisgICAgICAgICAgICBpZiBwLnBhdGggIT0gc2VsZi5wcmVmaXggKyAnL3YxL2VxdWl2YWxlbnQnOgorICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9lcnJvcig0MDQpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIHF1ZXJ5ID0gdXJsbGliLnBhcnNlLnBhcnNlX3FzKHAucXVlcnksIHN0cmljdF9wYXJzaW5nPVRydWUpCisgICAgICAgICAgICBtZXRob2QgPSBxdWVyeVsnbWV0aG9kJ11bMF0KKyAgICAgICAgICAgIHRhc2toYXNoID0gcXVlcnlbJ3Rhc2toYXNoJ11bMF0KKworICAgICAgICAgICAgZCA9IE5vbmUKKyAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5jbG9zaW5nKHNlbGYuZGIuY3Vyc29yKCkpIGFzIGN1cnNvcjoKKyAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnU0VMRUNUIHRhc2toYXNoLCBtZXRob2QsIHVuaWhhc2ggRlJPTSB0YXNrc192MSBXSEVSRSBtZXRob2Q9Om1ldGhvZCBBTkQgdGFza2hhc2g9OnRhc2toYXNoIE9SREVSIEJZIGNyZWF0ZWQgQVNDIExJTUlUIDEnLAorICAgICAgICAgICAgICAgICAgICAgICAgeydtZXRob2QnOiBtZXRob2QsICd0YXNraGFzaCc6IHRhc2toYXNofSkKKworICAgICAgICAgICAgICAgIHJvdyA9IGN1cnNvci5mZXRjaG9uZSgpCisKKyAgICAgICAgICAgICAgICBpZiByb3cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygnRm91bmQgZXF1aXZhbGVudCB0YXNrICVzJywgcm93Wyd0YXNraGFzaCddKQorICAgICAgICAgICAgICAgICAgICBkID0ge2s6IHJvd1trXSBmb3IgayBpbiAoJ3Rhc2toYXNoJywgJ21ldGhvZCcsICd1bmloYXNoJyl9CisKKyAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD11dGYtOCcpCisgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKKyAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoanNvbi5kdW1wcyhkKS5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGxvZ2dlci5leGNlcHRpb24oJ0Vycm9yIGluIEdFVCcpCisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAwLCBleHBsYWluPXRyYWNlYmFjay5mb3JtYXRfZXhjKCkpCisgICAgICAgICAgICByZXR1cm4KKworICAgIGRlZiBkb19QT1NUKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKHNlbGYucGF0aCkKKworICAgICAgICAgICAgaWYgcC5wYXRoICE9IHNlbGYucHJlZml4ICsgJy92MS9lcXVpdmFsZW50JzoKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0KQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAgICBsZW5ndGggPSBpbnQoc2VsZi5oZWFkZXJzWydjb250ZW50LWxlbmd0aCddKQorICAgICAgICAgICAgZGF0YSA9IGpzb24ubG9hZHMoc2VsZi5yZmlsZS5yZWFkKGxlbmd0aCkuZGVjb2RlKCd1dGYtOCcpKQorCisgICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhzZWxmLmRiLmN1cnNvcigpKSBhcyBjdXJzb3I6CisgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJycnCisgICAgICAgICAgICAgICAgICAgIFNFTEVDVCB0YXNraGFzaCwgbWV0aG9kLCB1bmloYXNoIEZST00gdGFza3NfdjEgV0hFUkUgbWV0aG9kPTptZXRob2QgQU5EIG91dGhhc2g9Om91dGhhc2gKKyAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgQ0FTRSBXSEVOIHRhc2toYXNoPTp0YXNraGFzaCBUSEVOIDEgRUxTRSAyIEVORCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgQVNDCisgICAgICAgICAgICAgICAgICAgIExJTUlUIDEKKyAgICAgICAgICAgICAgICAgICAgJycnLCB7azogZGF0YVtrXSBmb3IgayBpbiAoJ21ldGhvZCcsICdvdXRoYXNoJywgJ3Rhc2toYXNoJyl9KQorCisgICAgICAgICAgICAgICAgcm93ID0gY3Vyc29yLmZldGNob25lKCkKKworICAgICAgICAgICAgICAgIGlmIHJvdyBpcyBOb25lIG9yIHJvd1sndGFza2hhc2gnXSAhPSBkYXRhWyd0YXNraGFzaCddOgorICAgICAgICAgICAgICAgICAgICB1bmloYXNoID0gZGF0YVsndW5paGFzaCddCisgICAgICAgICAgICAgICAgICAgIGlmIHJvdyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuaWhhc2ggPSByb3dbJ3VuaWhhc2gnXQorCisgICAgICAgICAgICAgICAgICAgIGluc2VydF9kYXRhID0geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXRob2QnOiBkYXRhWydtZXRob2QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3V0aGFzaCc6IGRhdGFbJ291dGhhc2gnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGFza2hhc2gnOiBkYXRhWyd0YXNraGFzaCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlZCc6IGRhdGV0aW1lLm5vdygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIGZvciBrIGluICgnb3duZXInLCAnUE4nLCAnUFYnLCAnUFInLCAndGFzaycsICdvdXRoYXNoX3NpZ2luZm8nKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGsgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRfZGF0YVtrXSA9IGRhdGFba10KKworICAgICAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnJydJTlNFUlQgSU5UTyB0YXNrc192MSAoJXMpIFZBTFVFUyAoJXMpJycnICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsICcuam9pbihzb3J0ZWQoaW5zZXJ0X2RhdGEua2V5cygpKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJywgJy5qb2luKCc6JyArIGsgZm9yIGsgaW4gc29ydGVkKGluc2VydF9kYXRhLmtleXMoKSkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydF9kYXRhKQorCisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdBZGRpbmcgdGFza2hhc2ggJXMgd2l0aCB1bmloYXNoICVzJywgZGF0YVsndGFza2hhc2gnXSwgdW5paGFzaCkKKyAgICAgICAgICAgICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoJ1NFTEVDVCB0YXNraGFzaCwgbWV0aG9kLCB1bmloYXNoIEZST00gdGFza3NfdjEgV0hFUkUgaWQ9OmlkJywgeydpZCc6IGN1cnNvci5sYXN0cm93aWR9KQorICAgICAgICAgICAgICAgICAgICByb3cgPSBjdXJzb3IuZmV0Y2hvbmUoKQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGIuY29tbWl0KCkKKworICAgICAgICAgICAgICAgIGQgPSB7azogcm93W2tdIGZvciBrIGluICgndGFza2hhc2gnLCAnbWV0aG9kJywgJ3VuaWhhc2gnKX0KKworICAgICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCisgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLTgnKQorICAgICAgICAgICAgICAgIHNlbGYuZW5kX2hlYWRlcnMoKQorICAgICAgICAgICAgICAgIHNlbGYud2ZpbGUud3JpdGUoanNvbi5kdW1wcyhkKS5lbmNvZGUoJ3V0Zi04JykpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGxvZ2dlci5leGNlcHRpb24oJ0Vycm9yIGluIFBPU1QnKQorICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwMCwgZXhwbGFpbj10cmFjZWJhY2suZm9ybWF0X2V4YygpKQorICAgICAgICAgICAgcmV0dXJuCisKK2RlZiBjcmVhdGVfc2VydmVyKGFkZHIsIGRiLCBwcmVmaXg9JycpOgorICAgIGNsYXNzIEhhbmRsZXIoSGFzaEVxdWl2YWxlbmNlU2VydmVyKToKKyAgICAgICAgcGFzcworCisgICAgSGFuZGxlci5wcmVmaXggPSBwcmVmaXgKKyAgICBIYW5kbGVyLmRiID0gZGIKKyAgICBkYi5yb3dfZmFjdG9yeSA9IHNxbGl0ZTMuUm93CisKKyAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhkYi5jdXJzb3IoKSkgYXMgY3Vyc29yOgorICAgICAgICBjdXJzb3IuZXhlY3V0ZSgnJycKKyAgICAgICAgICAgIENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIHRhc2tzX3YxICgKKyAgICAgICAgICAgICAgICBpZCBJTlRFR0VSIFBSSU1BUlkgS0VZIEFVVE9JTkNSRU1FTlQsCisgICAgICAgICAgICAgICAgbWV0aG9kIFRFWFQgTk9UIE5VTEwsCisgICAgICAgICAgICAgICAgb3V0aGFzaCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIHRhc2toYXNoIFRFWFQgTk9UIE5VTEwsCisgICAgICAgICAgICAgICAgdW5paGFzaCBURVhUIE5PVCBOVUxMLAorICAgICAgICAgICAgICAgIGNyZWF0ZWQgREFURVRJTUUsCisKKyAgICAgICAgICAgICAgICAtLSBPcHRpb25hbCBmaWVsZHMKKyAgICAgICAgICAgICAgICBvd25lciBURVhULAorICAgICAgICAgICAgICAgIFBOIFRFWFQsCisgICAgICAgICAgICAgICAgUFYgVEVYVCwKKyAgICAgICAgICAgICAgICBQUiBURVhULAorICAgICAgICAgICAgICAgIHRhc2sgVEVYVCwKKyAgICAgICAgICAgICAgICBvdXRoYXNoX3NpZ2luZm8gVEVYVAorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICcnJykKKworICAgIGxvZ2dlci5pbmZvKCdTdGFydGluZyBzZXJ2ZXIgb24gJXMnLCBhZGRyKQorICAgIHJldHVybiBIVFRQU2VydmVyKGFkZHIsIEhhbmRsZXIpCmRpZmYgLS1naXQgYS9wb2t5L2JpdGJha2UvbGliL2hhc2hzZXJ2L3Rlc3RzLnB5IGIvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi90ZXN0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDZiNTRjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9iaXRiYWtlL2xpYi9oYXNoc2Vydi90ZXN0cy5weQpAQCAtMCwwICsxLDE0MSBAQAorIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEdhcm1pbiBMdGQuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisjIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworIyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorIyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB0aHJlYWRpbmcKK2ltcG9ydCBzcWxpdGUzCitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IHVybGxpYi5yZXF1ZXN0CitpbXBvcnQganNvbgorZnJvbSAuIGltcG9ydCBjcmVhdGVfc2VydmVyCisKK2NsYXNzIFRlc3RIYXNoRXF1aXZhbGVuY2VTZXJ2ZXIodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIyBTdGFydCBhbiBpbiBtZW1vcnkgaGFzaCBlcXVpdmFsZW5jZSBzZXJ2ZXIgaW4gdGhlIGJhY2tncm91bmQgYm91bmQgdG8KKyAgICAgICAgIyBhbiBlcGhlbWVyYWwgcG9ydAorICAgICAgICBkYiA9IHNxbGl0ZTMuY29ubmVjdCgnOm1lbW9yeTonLCBjaGVja19zYW1lX3RocmVhZD1GYWxzZSkKKyAgICAgICAgc2VsZi5zZXJ2ZXIgPSBjcmVhdGVfc2VydmVyKCgnbG9jYWxob3N0JywgMCksIGRiKQorICAgICAgICBzZWxmLnNlcnZlcl9hZGRyID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6JWQnICUgc2VsZi5zZXJ2ZXIuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5zZXJ2ZXIuc2VydmVfZm9yZXZlcikKKyAgICAgICAgc2VsZi5zZXJ2ZXJfdGhyZWFkLnN0YXJ0KCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIyBTaHV0ZG93biBzZXJ2ZXIKKyAgICAgICAgcyA9IGdldGF0dHIoc2VsZiwgJ3NlcnZlcicsIE5vbmUpCisgICAgICAgIGlmIHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnNlcnZlci5zaHV0ZG93bigpCisgICAgICAgICAgICBzZWxmLnNlcnZlcl90aHJlYWQuam9pbigpCisgICAgICAgICAgICBzZWxmLnNlcnZlci5zZXJ2ZXJfY2xvc2UoKQorCisgICAgZGVmIHNlbmRfZ2V0KHNlbGYsIHBhdGgpOgorICAgICAgICB1cmwgPSAnJXMvJXMnICUgKHNlbGYuc2VydmVyX2FkZHIsIHBhdGgpCisgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KHVybCkKKyAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykpCisKKyAgICBkZWYgc2VuZF9wb3N0KHNlbGYsIHBhdGgsIGRhdGEpOgorICAgICAgICBoZWFkZXJzID0geydjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbid9CisgICAgICAgIHVybCA9ICclcy8lcycgJSAoc2VsZi5zZXJ2ZXJfYWRkciwgcGF0aCkKKyAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBqc29uLmR1bXBzKGRhdGEpLmVuY29kZSgndXRmLTgnKSwgaGVhZGVycykKKyAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgIHJldHVybiBqc29uLmxvYWRzKHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoJ3V0Zi04JykpCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfaGFzaChzZWxmKToKKyAgICAgICAgIyBTaW1wbGUgdGVzdCB0aGF0IGhhc2hlcyBjYW4gYmUgY3JlYXRlZAorICAgICAgICB0YXNraGFzaCA9ICczNTc4OGVmY2I4ZGZiMGEwMjY1OWQ4MWNmMmJmZDY5NWZiMzBmYWY5JworICAgICAgICBvdXRoYXNoID0gJzI3NjVkNGE1ODg0YmU0OWIyODYwMTQ0NWMyNzYwYzVmMjFlN2U1YzBlZTJiN2UzZmNlOThmZDdlNTk3MDc5NmYnCisgICAgICAgIHVuaWhhc2ggPSAnZjQ2ZDNmYmI0MzliZDliOTIxMDk1ZGE2NTdhNGRlOTA2NTEwZDJjZCcKKworICAgICAgICBkID0gc2VsZi5zZW5kX2dldCgndjEvZXF1aXZhbGVudD9tZXRob2Q9VGVzdE1ldGhvZCZ0YXNraGFzaD0lcycgJSB0YXNraGFzaCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZCwgbXNnPSdGb3VuZCB1bmV4cGVjdGVkIHRhc2ssICVyJyAlIGQpCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gsICdTZXJ2ZXIgcmV0dXJuZWQgYmFkIHVuaWhhc2gnKQorCisgICAgZGVmIHRlc3RfY3JlYXRlX2VxdWl2YWxlbnQoc2VsZik6CisgICAgICAgICMgVGVzdHMgdGhhdCBhIHNlY29uZCByZXBvcnRlZCB0YXNrIHdpdGggdGhlIHNhbWUgb3V0aGFzaCB3aWxsIGJlCisgICAgICAgICMgYXNzaWduZWQgdGhlIHNhbWUgdW5paGFzaAorICAgICAgICB0YXNraGFzaCA9ICc1M2I4ZGNlNjcyY2I2ZDBjNzMxNzBiZTQzZjU0MDQ2MGJmYzM0N2I0JworICAgICAgICBvdXRoYXNoID0gJzVhOWNiMTY0OTYyNWYwYmY0MWZjNzc5MWI2MzVjZDljMmQ3MTE4YzdmMDIxYmE4N2RjZDAzZjcyYjY3Y2U3YTgnCisgICAgICAgIHVuaWhhc2ggPSAnZjM3OTE4Y2MwMmViNWE1MjBiMWFmZjg2ZmFhY2JjMGEzODEyNDY0NicKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gsICdTZXJ2ZXIgcmV0dXJuZWQgYmFkIHVuaWhhc2gnKQorCisgICAgICAgICMgUmVwb3J0IGEgZGlmZmVyZW50IHRhc2sgd2l0aCB0aGUgc2FtZSBvdXRoYXNoLiBUaGUgcmV0dXJuZWQgdW5paGFzaAorICAgICAgICAjIHNob3VsZCBtYXRjaCB0aGUgZmlyc3QgdGFzaworICAgICAgICB0YXNraGFzaDIgPSAnM2JmNmYxZTg5ZDI2MjA1YWVjOTBkYTA0ODU0ZmJkYmY3M2FmZTZiNCcKKyAgICAgICAgdW5paGFzaDIgPSAnYWYzNmIxOTkzMjBlNjExZmJiMTZmMWYyNzdkM2VlMWQ2MTljYTU4YicKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gyLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaCwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaDIsCisgICAgICAgICAgICB9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ3VuaWhhc2gnXSwgdW5paGFzaCwgJ1NlcnZlciByZXR1cm5lZCBiYWQgdW5paGFzaCcpCisKKyAgICBkZWYgdGVzdF9kdXBsaWNhdGVfdGFza2hhc2goc2VsZik6CisgICAgICAgICMgVGVzdHMgdGhhdCBkdXBsaWNhdGUgcmVwb3J0cyBvZiB0aGUgc2FtZSB0YXNraGFzaCB3aXRoIGRpZmZlcmVudAorICAgICAgICAjIG91dGhhc2ggJiB1bmloYXNoIGFsd2F5cyByZXR1cm4gdGhlIHVuaWhhc2ggZnJvbSB0aGUgZmlyc3QgcmVwb3J0ZWQKKyAgICAgICAgIyB0YXNraGFzaAorICAgICAgICB0YXNraGFzaCA9ICc4YWE5NmZjZmZiNTgzMWIzYzJjMGNiNzVmMDQzMWUzZjhiMjA1NTRhJworICAgICAgICBvdXRoYXNoID0gJ2FmZTI0MGE0Mzk5NTljZTg2ZjVlMzIyZjhjMjA4ZTFmZWRlZmVhOWU4MTNmMjE0MGM4MWFmODY2Y2M5ZWRmN2UnCisgICAgICAgIHVuaWhhc2ggPSAnMjE4ZTU3NTA5OTk4MTk3ZDU3MGUyYzk4NTEyZDAxMDU5ODVkZmZjOScKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgJ3VuaWhhc2gnOiB1bmloYXNoLAorICAgICAgICAgICAgfSkKKworICAgICAgICBkID0gc2VsZi5zZW5kX2dldCgndjEvZXF1aXZhbGVudD9tZXRob2Q9VGVzdE1ldGhvZCZ0YXNraGFzaD0lcycgJSB0YXNraGFzaCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWyd1bmloYXNoJ10sIHVuaWhhc2gpCisKKyAgICAgICAgb3V0aGFzaDIgPSAnMDkwNGE3ZmUzZGM3MTJkOWZkOGE3NGE2MTZkZGNhMmE4MjVhOGVlOTdhZGYwYmQzZmM4NjA4MmM3NjM5OTE0ZCcKKyAgICAgICAgdW5paGFzaDIgPSAnYWU5YTdkMjUyNzM1ZjBkYWZjZGIxMGUyZTAyNTYxY2EzYTQ3MzE0YycKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9wb3N0KCd2MS9lcXVpdmFsZW50JywgeworICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAnbWV0aG9kJzogJ1Rlc3RNZXRob2QnLAorICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoMiwKKyAgICAgICAgICAgICd1bmloYXNoJzogdW5paGFzaDIKKyAgICAgICAgICAgIH0pCisKKyAgICAgICAgZCA9IHNlbGYuc2VuZF9nZXQoJ3YxL2VxdWl2YWxlbnQ/bWV0aG9kPVRlc3RNZXRob2QmdGFza2hhc2g9JXMnICUgdGFza2hhc2gpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZFsndW5paGFzaCddLCB1bmloYXNoKQorCisgICAgICAgIG91dGhhc2gzID0gJzc3NjIzYTU0OWI1YjFhMzFlMzczMmRmYThmZTYxZDdjZTVkNDRiMzM3MGYyNTNjNTM2MGUxMzZiODUyOTY3YjQnCisgICAgICAgIHVuaWhhc2gzID0gJzkyMTdhN2Q2Mzk4NTE4ZTVkYzAwMmVkNThmMmNiYmJjNzg2OTY2MDMnCisgICAgICAgIGQgPSBzZWxmLnNlbmRfcG9zdCgndjEvZXF1aXZhbGVudCcsIHsKKyAgICAgICAgICAgICd0YXNraGFzaCc6IHRhc2toYXNoLAorICAgICAgICAgICAgJ21ldGhvZCc6ICdUZXN0TWV0aG9kJywKKyAgICAgICAgICAgICdvdXRoYXNoJzogb3V0aGFzaDMsCisgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gzCisgICAgICAgICAgICB9KQorCisgICAgICAgIGQgPSBzZWxmLnNlbmRfZ2V0KCd2MS9lcXVpdmFsZW50P21ldGhvZD1UZXN0TWV0aG9kJnRhc2toYXNoPSVzJyAlIHRhc2toYXNoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ3VuaWhhc2gnXSwgdW5paGFzaCkKKworCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vTWFrZWZpbGUgYi9wb2t5L2RvY3VtZW50YXRpb24vTWFrZWZpbGUKaW5kZXggMDkzNDIyZi4uMTQ4MGUxNCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL01ha2VmaWxlCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9NYWtlZmlsZQpAQCAtMjY5LDcgKzI2OSw4IEBACiAJZmlndXJlcy9zZGstZGV2dG9vbC1hZGQtZmxvdy5wbmcgZmlndXJlcy9zZGstaW5zdGFsbGVkLWV4dGVuc2libGUtc2RrLWRpcmVjdG9yeS5wbmcgXAogCWZpZ3VyZXMvc2RrLWRldnRvb2wtbW9kaWZ5LWZsb3cucG5nIGZpZ3VyZXMvc2RrLWVjbGlwc2UtZGV2LWZsb3cucG5nIFwKIAlmaWd1cmVzL3Nkay1kZXZ0b29sLXVwZ3JhZGUtZmxvdy5wbmcgZmlndXJlcy9iaXRiYWtlLWJ1aWxkLWZsb3cucG5nIGZpZ3VyZXMvYnlwcXMtdGl0bGUucG5nIFwKLQlmaWd1cmVzL292ZXJ2aWV3LW1hbnVhbC10aXRsZS5wbmcgZmlndXJlcy9zZGstYXV0b3Rvb2xzLWZsb3cucG5nIGZpZ3VyZXMvc2RrLW1ha2VmaWxlLWZsb3cucG5nCisJZmlndXJlcy9vdmVydmlldy1tYW51YWwtdGl0bGUucG5nIGZpZ3VyZXMvc2RrLWF1dG90b29scy1mbG93LnBuZyBmaWd1cmVzL3Nkay1tYWtlZmlsZS1mbG93LnBuZyBcCisJZmlndXJlcy9iYl9tdWx0aWNvbmZpZ19maWxlcy5wbmcgZmlndXJlcy9iaXRiYWtlLXRpdGxlLnBuZwogCWVuZGlmCiAKIE1BTlVBTFMgPSAkKERPQykvJChET0MpLmh0bWwKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMueG1sCmluZGV4IDVkYTAzYTguLjQyMTQxMmUgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLnhtbApAQCAtMTMxLDcgKzEzMSw3IEBACiAgICAgICAgICAgICAgICAgc2VjdGlvbiBpbiB0aGUgWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsLgogICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsICZVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7IGxpYnNkbDEuMi1kZXYgeHRlcm0KKyAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCAmVUJVTlRVX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMOwogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICA8L3BhcmE+CiAgICAgPC9zZWN0aW9uPgpAQCAtMTQ4LDExICsxNDgsMTEgQEAKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBnaXQgY2xvbmUgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reQogICAgICBDbG9uaW5nIGludG8gJ3Bva3knLi4uCi0gICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDI4NjMyLCBkb25lLgotICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDEwMTIwMy8xMDEyMDMpLCBkb25lLgotICAgICByZW1vdGU6IFRvdGFsIDQyODYzMiAoZGVsdGEgMzIwNDYzKSwgcmV1c2VkIDQyODUzMiAoZGVsdGEgMzIwMzYzKQotICAgICBSZWNlaXZpbmcgb2JqZWN0czogMTAwJSAoNDI4NjMyLzQyODYzMiksIDE1My4wMSBNaUIgfCAxMi40MCBNaUIvcywgZG9uZS4KLSAgICAgUmVzb2x2aW5nIGRlbHRhczogMTAwJSAoMzIwNDYzLzMyMDQ2MyksIGRvbmUuCisgICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDMyMTYwLCBkb25lLgorICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDEwMjA1Ni8xMDIwNTYpLCBkb25lLgorICAgICByZW1vdGU6IFRvdGFsIDQzMjE2MCAoZGVsdGEgMzIzMTE2KSwgcmV1c2VkIDQzMjAzNyAoZGVsdGEgMzIzMDAwKQorICAgICBSZWNlaXZpbmcgb2JqZWN0czogMTAwJSAoNDMyMTYwLzQzMjE2MCksIDE1My44MSBNaUIgfCA4LjU0IE1pQi9zLCBkb25lLgorICAgICBSZXNvbHZpbmcgZGVsdGFzOiAxMDAlICgzMjMxMTYvMzIzMTE2KSwgZG9uZS4KICAgICAgQ2hlY2tpbmcgY29ubmVjdGl2aXR5Li4uIGRvbmUuCiAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICBNb3ZlIHRvIHRoZSA8ZmlsZW5hbWU+cG9reTwvZmlsZW5hbWU+IGRpcmVjdG9yeSBhbmQgdGFrZSBhIGxvb2sKQEAgLTE3NCw2ICsxNzQsNyBAQAogICAgICB5b2N0by0yLjUuMgogICAgICB5b2N0by0yLjYKICAgICAgeW9jdG8tMi42LjEKKyAgICAgeW9jdG8tMi43CiAgICAgIHlvY3RvXzEuNV9NNS5yYzgKICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgIEZvciB0aGlzIGV4YW1wbGUsIGNoZWNrIG91dCB0aGUgYnJhbmNoIGJhc2VkIG9uIHRoZQpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2JzcC1ndWlkZS9ic3AtZ3VpZGUueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2JzcC1ndWlkZS9ic3AtZ3VpZGUueG1sCmluZGV4IDBkNWI2YjEuLmY1NTllMDggMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9ic3AtZ3VpZGUvYnNwLWd1aWRlLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vYnNwLWd1aWRlL2JzcC1ndWlkZS54bWwKQEAgLTEyNyw5ICsxMjcsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtY29tbW9uLXRhc2tzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtY29tbW9uLXRhc2tzLnhtbAppbmRleCBjNzVlNzE4Li44OTNlZjdiIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLWNvbW1vbi10YXNrcy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1jb21tb24tdGFza3MueG1sCkBAIC01MTE2LDE1ICs1MTE2LDE1IEBACiAgICAgICAgICAgICBTbywgY29tbWFuZHMgc3VjaCBhcyB0aGUgZm9sbG93aW5nIGFyZSB1c2VmdWwgd2hlbiBleHBsb3JpbmcgdGhlIGRhdGEKICAgICAgICAgICAgIHN0b3JlIGFuZCBydW5uaW5nIGZ1bmN0aW9uczoKICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIlNUQUdJTkdfRElSIiwgVHJ1ZSkKKyAgICAgcHlkZXZzaGVsbD4gZC5nZXRWYXIoIlNUQUdJTkdfRElSIikKICAgICAgJy9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMnCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJTVEFHSU5HX0RJUiIsIEZhbHNlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiU1RBR0lOR19ESVIiKQogICAgICAnJHtUTVBESVJ9L3N5c3Jvb3RzJwogICAgICBweWRldnNoZWxsPiBkLnNldFZhcigiRk9PIiwgImJhciIpCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJGT08iLCBUcnVlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIikKICAgICAgJ2JhcicKICAgICAgcHlkZXZzaGVsbD4gZC5kZWxWYXIoIkZPTyIpCi0gICAgIHB5ZGV2c2hlbGw+IGQuZ2V0VmFyKCJGT08iLCBUcnVlKQorICAgICBweWRldnNoZWxsPiBkLmdldFZhcigiRk9PIikKICAgICAgcHlkZXZzaGVsbD4gYmIuYnVpbGQuZXhlY19mdW5jKCJkb191bnBhY2siLCBkKQogICAgICBweWRldnNoZWxsPgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgpAQCAtNjMyMywxMCArNjMyMywxODEgQEAKICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KKworICAgICAgICA8c2VjdGlvbiBpZD0icmVwbGljYXRpbmctYS1idWlsZC1vZmZsaW5lIj4KKyAgICAgICAgICAgIDx0aXRsZT5SZXBsaWNhdGluZyBhIEJ1aWxkIE9mZmxpbmU8L3RpdGxlPgorCisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBJdCBjYW4gYmUgdXNlZnVsIHRvIHRha2UgYSAic25hcHNob3QiIG9mIHVwc3RyZWFtIHNvdXJjZXMKKyAgICAgICAgICAgICAgICB1c2VkIGluIGEgYnVpbGQgYW5kIHRoZW4gdXNlIHRoYXQgInNuYXBzaG90IiBsYXRlciB0bworICAgICAgICAgICAgICAgIHJlcGxpY2F0ZSB0aGUgYnVpbGQgb2ZmbGluZS4KKyAgICAgICAgICAgICAgICBUbyBkbyBzbywgeW91IG5lZWQgdG8gZmlyc3QgcHJlcGFyZSBhbmQgcG9wdWxhdGUgeW91ciBkb3dubG9hZHMKKyAgICAgICAgICAgICAgICBkaXJlY3RvcnkgeW91ciAic25hcHNob3QiIG9mIGZpbGVzLgorICAgICAgICAgICAgICAgIE9uY2UgeW91ciBkb3dubG9hZHMgZGlyZWN0b3J5IGlzIHJlYWR5LCB5b3UgY2FuIHVzZSBpdCBhdAorICAgICAgICAgICAgICAgIGFueSB0aW1lIGFuZCBmcm9tIGFueSBtYWNoaW5lIHRvIHJlcGxpY2F0ZSB5b3VyIGJ1aWxkLgorICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICBGb2xsb3cgdGhlc2Ugc3RlcHMgdG8gcG9wdWxhdGUgeW91ciBEb3dubG9hZHMgZGlyZWN0b3J5OgorICAgICAgICAgICAgICAgIDxvcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPkNyZWF0ZSBhIENsZWFuIERvd25sb2FkcyBEaXJlY3Rvcnk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHdpdGggYW4gZW1wdHkgZG93bmxvYWRzIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgKDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1ETF9ESVInPjxmaWxlbmFtZT5ETF9ESVI8L2ZpbGVuYW1lPjwvdWxpbms+KS4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBzdGFydCB3aXRoIGFuIGVtcHR5IGRvd25sb2FkcyBkaXJlY3RvcnkgYnkgZWl0aGVyCisgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmluZyB0aGUgZmlsZXMgaW4gdGhlIGV4aXN0aW5nIGRpcmVjdG9yeSBvciBieQorICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZworICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+IHRvIHBvaW50IHRvIGVpdGhlciBhbgorICAgICAgICAgICAgICAgICAgICAgICAgZW1wdHkgbG9jYXRpb24gb3Igb25lIHRoYXQgZG9lcyBub3QgeWV0IGV4aXN0LgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5HZW5lcmF0ZSBUYXJiYWxscyBvZiB0aGUgU291cmNlIEdpdCBSZXBvc2l0b3JpZXM6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQgeW91ciA8ZmlsZW5hbWU+bG9jYWwuY29uZjwvZmlsZW5hbWU+IGNvbmZpZ3VyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgYXMgZm9sbG93czoKKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgRExfRElSID0gIi9ob21lLzxyZXBsYWNlYWJsZT55b3VyLWRvd25sb2FkLWRpcjwvcmVwbGFjZWFibGU+LyIKKyAgICAgQkJfR0VORVJBVEVfTUlSUk9SX1RBUkJBTExTID0gIjEiCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBEdXJpbmcgdGhlIGZldGNoIHByb2Nlc3MgaW4gdGhlIG5leHQgc3RlcCwgQml0QmFrZQorICAgICAgICAgICAgICAgICAgICAgICAgZ2F0aGVycyB0aGUgc291cmNlIGZpbGVzIGFuZCBjcmVhdGVzIHRhcmJhbGxzIGluCisgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGlyZWN0b3J5IHBvaW50ZWQgdG8gYnkgPGZpbGVuYW1lPkRMX0RJUjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgU2VlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLUJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUyc+PGZpbGVuYW1lPkJCX0dFTkVSQVRFX01JUlJPUl9UQVJCQUxMUzwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5Qb3B1bGF0ZSBZb3VyIERvd25sb2FkcyBEaXJlY3RvcnkgV2l0aG91dCBCdWlsZGluZzo8L2VtcGhhc2lzPgorICAgICAgICAgICAgICAgICAgICAgICAgVXNlIEJpdEJha2UgdG8gZmV0Y2ggeW91ciBzb3VyY2VzIGJ1dCBpbmhpYml0IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGQ6CisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgICQgYml0YmFrZSA8cmVwbGFjZWFibGU+dGFyZ2V0PC9yZXBsYWNlYWJsZT4gLS1ydW5vbmx5PWZldGNoCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZG93bmxvYWRzIGRpcmVjdG9yeSAoaS5lLgorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7RExfRElSfTwvZmlsZW5hbWU+KSBub3cgaGFzIGEgInNuYXBzaG90IiBvZgorICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNvdXJjZSBmaWxlcyBpbiB0aGUgZm9ybSBvZiB0YXJiYWxscywgd2hpY2ggY2FuCisgICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2VkIGZvciB0aGUgYnVpbGQuCisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPk9wdGlvbmFsbHkgUmVtb3ZlIEFueSBHaXQgb3Igb3RoZXIgU0NNIFN1YmRpcmVjdG9yaWVzIEZyb20gdGhlIERvd25sb2FkcyBEaXJlY3Rvcnk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50LCB5b3UgY2FuIGNsZWFuIHVwIHlvdXIgZG93bmxvYWRzIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgYnkgcmVtb3ZpbmcgYW55IEdpdCBvciBvdGhlciBTb3VyY2UgQ29udHJvbCBNYW5hZ2VtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAoU0NNKSBzdWJkaXJlY3RvcmllcyBzdWNoIGFzCisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+JHtETF9ESVJ9L2dpdDIvKjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHRhcmJhbGxzIGFscmVhZHkgY29udGFpbiB0aGVzZSBzdWJkaXJlY3Rvcmllcy4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgIDwvb3JkZXJlZGxpc3Q+CisgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgIE9uY2UgeW91ciBkb3dubG9hZHMgZGlyZWN0b3J5IGhhcyBldmVyeXRoaW5nIGl0IG5lZWRzIHJlZ2FyZGluZworICAgICAgICAgICAgICAgIHNvdXJjZSBmaWxlcywgeW91IGNhbiBjcmVhdGUgeW91ciAib3duLW1pcnJvciIgYW5kIGJ1aWxkCisgICAgICAgICAgICAgICAgeW91ciB0YXJnZXQuCisgICAgICAgICAgICAgICAgVW5kZXJzdGFuZCB0aGF0IHlvdSBjYW4gdXNlIHRoZSBmaWxlcyB0byBidWlsZCB0aGUgdGFyZ2V0CisgICAgICAgICAgICAgICAgb2ZmbGluZSBmcm9tIGFueSBtYWNoaW5lIGFuZCBhdCBhbnkgdGltZS4KKyAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgRm9sbG93IHRoZXNlIHN0ZXBzIHRvIGJ1aWxkIHlvdXIgdGFyZ2V0IHVzaW5nIHRoZSBmaWxlcyBpbiB0aGUKKyAgICAgICAgICAgICAgICBkb3dubG9hZHMgZGlyZWN0b3J5OgorICAgICAgICAgICAgICAgIDxvcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPlVzaW5nIExvY2FsIEZpbGVzIE9ubHk6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIEluc2lkZSB5b3VyIDxmaWxlbmFtZT5sb2NhbC5jb25mPC9maWxlbmFtZT4gZmlsZSwgYWRkCisgICAgICAgICAgICAgICAgICAgICAgICB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3Zhci1TT1VSQ0VfTUlSUk9SX1VSTCc+PGZpbGVuYW1lPlNPVVJDRV9NSVJST1JfVVJMPC9maWxlbmFtZT48L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0IHRoZSA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNyZWYtY2xhc3Nlcy1vd24tbWlycm9ycyc+PGZpbGVuYW1lPm93bi1taXJyb3JzPC9maWxlbmFtZT48L3VsaW5rPgorICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3MsIGFuZCB1c2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7I3Zhci1iYi1CQl9OT19ORVRXT1JLJz48ZmlsZW5hbWU+QkJfTk9fTkVUV09SSzwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIHRvIHlvdXIgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KKyAgICAgU09VUkNFX01JUlJPUl9VUkwgPz0gImZpbGU6Ly8vaG9tZS88cmVwbGFjZWFibGU+eW91ci1kb3dubG9hZC1kaXI8L3JlcGxhY2VhYmxlPi8iCisgICAgIElOSEVSSVQgKz0gIm93bi1taXJyb3JzIgorICAgICBCQl9OT19ORVRXT1JLID0gIjEiCisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgPGZpbGVuYW1lPlNPVVJDRV9NSVJST1JfVVJMPC9maWxlbmFtZT4gYW5kCisgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b3duLW1pcnJvcjwvZmlsZW5hbWU+IGNsYXNzIHNldCB1cCB0aGUgc3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICB0byB1c2UgdGhlIGRvd25sb2FkcyBkaXJlY3RvcnkgYXMgeW91ciAib3duIG1pcnJvciIuCisgICAgICAgICAgICAgICAgICAgICAgICBVc2luZyB0aGUgPGZpbGVuYW1lPkJCX05PX05FVFdPUks8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgbWFrZXMgc3VyZSB0aGF0IEJpdEJha2UncyBmZXRjaGluZyBwcm9jZXNzCisgICAgICAgICAgICAgICAgICAgICAgICBpbiBzdGVwIDMgc3RheXMgbG9jYWwsIHdoaWNoIG1lYW5zIGZpbGVzIGZyb20KKyAgICAgICAgICAgICAgICAgICAgICAgIHlvdXIgIm93bi1taXJyb3IiIGFyZSB1c2VkLgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxlbXBoYXNpcz5TdGFydCBXaXRoIGEgQ2xlYW4gQnVpbGQ6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gc3RhcnQgd2l0aCBhIGNsZWFuIGJ1aWxkIGJ5IHJlbW92aW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7PC9maWxlbmFtZT48dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyN2YXItVE1QRElSJz48ZmlsZW5hbWU+VE1QRElSPC9maWxlbmFtZT48L3VsaW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSBvciB1c2luZyBhIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjYnVpbGQtZGlyZWN0b3J5Jz5CdWlsZCBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8ZW1waGFzaXM+QnVpbGQgWW91ciBUYXJnZXQ6PC9lbXBoYXNpcz4KKyAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBCaXRCYWtlIHRvIGJ1aWxkIHlvdXIgdGFyZ2V0OgorICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICAkIGJpdGJha2UgPHJlcGxhY2VhYmxlPnRhcmdldDwvcmVwbGFjZWFibGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICBUaGUgYnVpbGQgY29tcGxldGVzIHVzaW5nIHRoZSBrbm93biBsb2NhbCAic25hcHNob3QiIG9mCisgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2UgZmlsZXMgZnJvbSB5b3VyIG1pcnJvci4KKyAgICAgICAgICAgICAgICAgICAgICAgIFRoZSByZXN1bHRpbmcgdGFyYmFsbHMgZm9yIHlvdXIgInNuYXBzaG90IiBvZiBzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIGFyZSBpbiB0aGUgZG93bmxvYWRzIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxub3RlPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPlRoZSBvZmZsaW5lIGJ1aWxkIGRvZXMgbm90IHdvcmsgaWYgcmVjaXBlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dGVtcHQgdG8gZmluZCB0aGUgbGF0ZXN0IHZlcnNpb24gb2Ygc29mdHdhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBieSBzZXR0aW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLVNSQ1JFVic+PGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+PC91bGluaz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4kezwvZmlsZW5hbWU+PHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjdmFyLUFVVE9SRVYnPjxmaWxlbmFtZT5BVVRPUkVWPC9maWxlbmFtZT48L3VsaW5rPjxmaWxlbmFtZT59PC9maWxlbmFtZT46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgorICAgICBTUkNSRVYgPSAiJHtBVVRPUkVWfSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiBhIHJlY2lwZSBzZXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+IHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPiR7QVVUT1JFVn08L2ZpbGVuYW1lPiwgdGhlIGJ1aWxkIHN5c3RlbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VzIHRoZSBuZXR3b3JrIGluIGFuIGF0dGVtcHQgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhdGVzdCB2ZXJzaW9uIG9mIHNvZnR3YXJlIGZyb20gdGhlIFNDTS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBpY2FsbHksIHJlY2lwZXMgdGhhdCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+IGFyZSBjdXN0b20gb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZmllZCByZWNpcGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2lwZXMgdGhhdCByZXNpZGUgaW4gcHVibGljIHJlcG9zaXRvcmllcworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzdWFsbHkgZG8gbm90IHVzZSA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXJhPklmIHlvdSBkbyBoYXZlIHJlY2lwZXMgdGhhdCB1c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+QVVUT1JFVjwvZmlsZW5hbWU+LCB5b3UgY2FuIHRha2Ugc3RlcHMgdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbCB1c2UgdGhlIHJlY2lwZXMgaW4gYW4gb2ZmbGluZSBidWlsZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEbyB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3JkZXJlZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNlIGEgY29uZmlndXJhdGlvbiBnZW5lcmF0ZWQgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J21haW50YWluaW5nLWJ1aWxkLW91dHB1dC1xdWFsaXR5Jz5idWlsZCBoaXN0b3J5PC9saW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmJ1aWxkaGlzdG9yeS1jb2xsZWN0LXNyY3JldnM8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgdG8gY29sbGVjdCB0aGUgc3RvcmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPlNSQ1JFVjwvZmlsZW5hbWU+IHZhbHVlcyBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGJ1aWxkJ3MgaGlzdG9yeS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBjb2xsZWN0aW5nIHRoZXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzLCBzZWUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxsaW5rIGxpbmtlbmQ9J2J1aWxkLWhpc3RvcnktcGFja2FnZS1pbmZvcm1hdGlvbic+QnVpbGQgSGlzdG9yeSBQYWNrYWdlIEluZm9ybWF0aW9uPC9saW5rPiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uY2UgeW91IGhhdmUgdGhlIGNvcnJlY3Qgc291cmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV2aXNpb25zLCB5b3UgY2FuIG1vZGlmeSB0aG9zZSByZWNpcGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdG8gc2V0IDxmaWxlbmFtZT5TUkNSRVY8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHNwZWNpZmljIHZlcnNpb25zIG9mIHRoZSBzb2Z0d2FyZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcmRlcmVkbGlzdD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICA8L25vdGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICA8L29yZGVyZWRsaXN0PgorICAgICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L3NlY3Rpb24+CiAgICAgPC9zZWN0aW9uPgogCi0KLQogICAgIDxzZWN0aW9uIGlkPSdzcGVlZGluZy11cC1hLWJ1aWxkJz4KICAgICAgICAgPHRpdGxlPlNwZWVkaW5nIFVwIGEgQnVpbGQ8L3RpdGxlPgogCkBAIC02ODkyLDggKzcwNjMsOCBAQAogICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICBNQUNISU5FID0gInFlbXV4ODYtNjQiCiAgICAgIERFRkFVTFRUVU5FID0gIng4Ni02NC14MzIiCi0gICAgIGJhc2VsaWIgPSAiJHtAZC5nZXRWYXIoJ0JBU0VfTElCX3R1bmUtJyArIChkLmdldFZhcignREVGQVVMVFRVTkUnLCBUcnVlKSBcCi0gICAgICAgIG9yICdJTlZBTElEJyksIFRydWUpIG9yICdsaWInfSIKKyAgICAgYmFzZWxpYiA9ICIke0BkLmdldFZhcignQkFTRV9MSUJfdHVuZS0nICsgKGQuZ2V0VmFyKCdERUZBVUxUVFVORScpIFwKKyAgICAgICAgb3IgJ0lOVkFMSUQnKSkgb3IgJ2xpYid9IgogICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgT25jZSB5b3UgaGF2ZSBzZXQgdXAgeW91ciBjb25maWd1cmF0aW9uIGZpbGUsIHVzZSBCaXRCYWtlIHRvCiAgICAgICAgICAgICBidWlsZCBhbiBpbWFnZSB0aGF0IHN1cHBvcnRzIHRoZSB4MzIgcHNBQkkuCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXFlbXUueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC1xZW11LnhtbAppbmRleCA0ZTdiNWRlLi5mNWEwZDY0IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXFlbXUueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtcWVtdS54bWwKQEAgLTU5MCw2ICs1OTAsOSBAQAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+bm9ncmFwaGljPC9maWxlbmFtZT46CiAgICAgICAgICAgICAgICAgICAgIERpc2FibGVzIHRoZSB2aWRlbyBjb25zb2xlLCB3aGljaCBzZXRzIHRoZSBjb25zb2xlIHRvCiAgICAgICAgICAgICAgICAgICAgICJ0dHlzMCIuCisgICAgICAgICAgICAgICAgICAgIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSBoYXZlIGxvZ2dlZCBpbnRvIGEgc2VydmVyCisgICAgICAgICAgICAgICAgICAgIGFuZCB5b3UgZG8gbm90IHdhbnQgdG8gZGlzYWJsZSBmb3J3YXJkaW5nIGZyb20gdGhlCisgICAgICAgICAgICAgICAgICAgIFggV2luZG93IFN5c3RlbSAoWDExKSB0byB5b3VyIHdvcmtzdGF0aW9uIG9yIGxhcHRvcC4KICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+c2VyaWFsPC9maWxlbmFtZT46CmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLXN0YXJ0LnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCmluZGV4IGQzN2MwMzAuLjZlYzVjM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9kZXYtbWFudWFsL2Rldi1tYW51YWwtc3RhcnQueG1sCkBAIC00NCw3ICs0NCw3IEBACiAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CiAgICAgICAgICAgICAgICAgPGVtcGhhc2lzPkRldGVybWluZSBXaG8gaXMgR29pbmcgdG8gYmUgRGV2ZWxvcGluZzo8L2VtcGhhc2lzPgogICAgICAgICAgICAgICAgIFlvdSBuZWVkIHRvIHVuZGVyc3RhbmQgd2hvIGlzIGdvaW5nIHRvIGJlIGRvaW5nIGFueXRoaW5nCi0gICAgICAgICAgICAgICAgcmVsYXRlZCB0byB0aGUgWW9jdG8gUHJvamVjdCBhbmQgd2hhdCB0aGVpciByb2xlcyB3b3VsZCBiZS4KKyAgICAgICAgICAgICAgICByZWxhdGVkIHRvIHRoZSBZb2N0byBQcm9qZWN0IGFuZCBkZXRlcm1pbmUgdGhlaXIgcm9sZXMuCiAgICAgICAgICAgICAgICAgTWFraW5nIHRoaXMgZGV0ZXJtaW5hdGlvbiBpcyBlc3NlbnRpYWwgdG8gY29tcGxldGluZwogICAgICAgICAgICAgICAgIHN0ZXBzIHR3byBhbmQgdGhyZWUsIHdoaWNoIGFyZSB0byBnZXQgeW91ciBlcXVpcG1lbnQgdG9nZXRoZXIKICAgICAgICAgICAgICAgICBhbmQgc2V0IHVwIHlvdXIgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQncyBoYXJkd2FyZSB0b3BvbG9neS4KQEAgLTk1MSwxMSArOTUxLDExIEBACiAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBnaXQgY2xvbmUgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reQogICAgICBDbG9uaW5nIGludG8gJ3Bva3knLi4uCi0gICAgIHJlbW90ZTogQ291bnRpbmcgb2JqZWN0czogNDE2NTQyLCBkb25lLgotICAgICByZW1vdGU6IENvbXByZXNzaW5nIG9iamVjdHM6IDEwMCUgKDk4NjExLzk4NjExKSwgZG9uZS4KLSAgICAgcmVtb3RlOiBUb3RhbCA0MTY1NDIgKGRlbHRhIDMxMTEwNCksIHJldXNlZCA0MTYzNzcgKGRlbHRhIDMxMDkzOSkKLSAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQxNjU0Mi80MTY1NDIpLCAxNTAuMzkgTWlCIHwgMTUuNzcgTWlCL3MsIGRvbmUuCi0gICAgIFJlc29sdmluZyBkZWx0YXM6IDEwMCUgKDMxMTEwNC8zMTExMDQpLCBkb25lLgorICAgICByZW1vdGU6IENvdW50aW5nIG9iamVjdHM6IDQzMjE2MCwgZG9uZS4KKyAgICAgcmVtb3RlOiBDb21wcmVzc2luZyBvYmplY3RzOiAxMDAlICgxMDIwNTYvMTAyMDU2KSwgZG9uZS4KKyAgICAgcmVtb3RlOiBUb3RhbCA0MzIxNjAgKGRlbHRhIDMyMzExNiksIHJldXNlZCA0MzIwMzcgKGRlbHRhIDMyMzAwMCkKKyAgICAgUmVjZWl2aW5nIG9iamVjdHM6IDEwMCUgKDQzMjE2MC80MzIxNjApLCAxNTMuODEgTWlCIHwgOC41NCBNaUIvcywgZG9uZS4KKyAgICAgUmVzb2x2aW5nIGRlbHRhczogMTAwJSAoMzIzMTE2LzMyMzExNiksIGRvbmUuCiAgICAgIENoZWNraW5nIGNvbm5lY3Rpdml0eS4uLiBkb25lLgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIFVubGVzcyB5b3Ugc3BlY2lmeSBhIHNwZWNpZmljIGRldmVsb3BtZW50IGJyYW5jaCBvcgpAQCAtMTAzNywxMyArMTAzNywxNSBAQAogICAgICAgICAgICAuCiAgICAgICAgICAgIC4KICAgICAgICAgICAgLgotICAgICAgIHJlbW90ZXMvb3JpZ2luL21hc3Rlci1uZXh0Ci0gICAgICAgcmVtb3Rlcy9vcmlnaW4vbWFzdGVyLW5leHQyCi0gICAgICAgcmVtb3Rlcy9vcmlnaW4vbW9ydHkKLSAgICAgICByZW1vdGVzL29yaWdpbi9waW5reQotICAgICAgIHJlbW90ZXMvb3JpZ2luL3B1cnBsZQogICAgICAgIHJlbW90ZXMvb3JpZ2luL3B5cm8KKyAgICAgICByZW1vdGVzL29yaWdpbi9weXJvLW5leHQKICAgICAgICByZW1vdGVzL29yaWdpbi9yb2NrbworICAgICAgIHJlbW90ZXMvb3JpZ2luL3JvY2tvLW5leHQKKyAgICAgICByZW1vdGVzL29yaWdpbi9zdW1vCisgICAgICAgcmVtb3Rlcy9vcmlnaW4vc3Vtby1uZXh0CisgICAgICAgcmVtb3Rlcy9vcmlnaW4vdGh1ZAorICAgICAgIHJlbW90ZXMvb3JpZ2luL3RodWQtbmV4dAorICAgICAgIHJlbW90ZXMvb3JpZ2luL3dhcnJpb3IKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgogICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CkBAIC0xMTI1LDggKzExMjcsMTAgQEAKICAgICAgeW9jdG8tMi41CiAgICAgIHlvY3RvLTIuNS4xCiAgICAgIHlvY3RvLTIuNS4yCisgICAgIHlvY3RvLTIuNS4zCiAgICAgIHlvY3RvLTIuNgogICAgICB5b2N0by0yLjYuMQorICAgICB5b2N0by0yLjcKICAgICAgeW9jdG9fMS41X001LnJjOAogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2Rldi1tYW51YWwvZGV2LW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbAppbmRleCBiNTRjMGQ2Li41ZGRhMDE2IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vZGV2LW1hbnVhbC9kZXYtbWFudWFsLnhtbApAQCAtMTEyLDkgKzExMiw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi1jb21tb24ueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL2tlcm5lbC1kZXYva2VybmVsLWRldi1jb21tb24ueG1sCmluZGV4IDkwNTI4NzYuLjdmZjRjYmEgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYtY29tbW9uLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LWNvbW1vbi54bWwKQEAgLTE0NzksMTUgKzE0NzksMzMgQEAKIAogICAgICAgICAgICAgPHBhcmE+CiAgICAgICAgICAgICAgICAgVG8gdXNlIHRoZSA8ZmlsZW5hbWU+bWVudWNvbmZpZzwvZmlsZW5hbWU+IHRvb2wgaW4gdGhlIFlvY3RvCi0gICAgICAgICAgICAgICAgUHJvamVjdCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCwgeW91IG11c3QgbGF1bmNoIGl0IHVzaW5nCi0gICAgICAgICAgICAgICAgQml0QmFrZS4KLSAgICAgICAgICAgICAgICBUaHVzLCB0aGUgZW52aXJvbm1lbnQgbXVzdCBiZSBzZXQgdXAgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjc3RydWN0dXJlLWNvcmUtc2NyaXB0Jz48ZmlsZW5hbWU+Jk9FX0lOSVRfRklMRTs8L2ZpbGVuYW1lPjwvdWxpbms+Ci0gICAgICAgICAgICAgICAgc2NyaXB0IGZvdW5kIGluIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I2J1aWxkLWRpcmVjdG9yeSc+QnVpbGQgRGlyZWN0b3J5PC91bGluaz4uCi0gICAgICAgICAgICAgICAgWW91IG11c3QgYWxzbyBiZSBzdXJlIG9mIHRoZSBzdGF0ZSBvZiB5b3VyIGJ1aWxkJ3MKLSAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIGluIHRoZQotICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3NvdXJjZS1kaXJlY3RvcnknPlNvdXJjZSBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICBQcm9qZWN0IGRldmVsb3BtZW50IGVudmlyb25tZW50LCB5b3UgbXVzdCBkbyB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgICAgIDxpdGVtaXplZGxpc3Q+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIEJlY2F1c2UgeW91IGxhdW5jaCA8ZmlsZW5hbWU+bWVudWNvbmZpZzwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgICAgICB1c2luZyBCaXRCYWtlLCB5b3UgbXVzdCBiZSBzdXJlIHRvIHNldCB1cCB5b3VyCisgICAgICAgICAgICAgICAgICAgICAgICBlbnZpcm9ubWVudCBieSBydW5uaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfUkVGX1VSTDsjc3RydWN0dXJlLWNvcmUtc2NyaXB0Jz48ZmlsZW5hbWU+Jk9FX0lOSVRfRklMRTs8L2ZpbGVuYW1lPjwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQgZm91bmQgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19SRUZfVVJMOyNidWlsZC1kaXJlY3RvcnknPkJ1aWxkIERpcmVjdG9yeTwvdWxpbms+LgorICAgICAgICAgICAgICAgICAgICAgICAgPC9wYXJhPjwvbGlzdGl0ZW0+CisgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgIFlvdSBtdXN0IGJlIHN1cmUgb2YgdGhlIHN0YXRlIG9mIHlvdXIgYnVpbGQncworICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbiBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3NvdXJjZS1kaXJlY3RvcnknPlNvdXJjZSBEaXJlY3Rvcnk8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICBZb3VyIGJ1aWxkIGhvc3QgbXVzdCBoYXZlIHRoZSBmb2xsb3dpbmcgdHdvIHBhY2thZ2VzCisgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIGxpYm5jdXJzZXM1LWRldgorICAgICBsaWJ0aW5mby1kZXYKKyAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGNvbW1hbmRzIGluaXRpYWxpemUgdGhlIEJpdEJha2UgZW52aXJvbm1lbnQsCiAgICAgICAgICAgICAgICAgcnVuIHRoZQogICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX1JFRl9VUkw7I3JlZi10YXNrcy1rZXJuZWxfY29uZmlnbWUnPjxmaWxlbmFtZT5kb19rZXJuZWxfY29uZmlnbWU8L2ZpbGVuYW1lPjwvdWxpbms+CmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24va2VybmVsLWRldi9rZXJuZWwtZGV2LnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCmluZGV4IGZjNDZjMjAuLjMzNTUzZGYgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9rZXJuZWwtZGV2L2tlcm5lbC1kZXYueG1sCkBAIC05Nyw5ICs5Nyw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYmJfbXVsdGljb25maWdfZmlsZXMucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MWYwNjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvZmlndXJlcy9iYl9tdWx0aWNvbmZpZ19maWxlcy5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvZmlndXJlcy9iaXRiYWtlLXRpdGxlLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjI5MDE1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL2ZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL21lZ2EtbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC54bWwKaW5kZXggN2E0MTk5MS4uMmM1MThmOSAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL21lZ2EtbWFudWFsL21lZ2EtbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vbWVnYS1tYW51YWwvbWVnYS1tYW51YWwueG1sCkBAIC0xMiw5ICsxMiwxMSBAQAogCiAgICAgICAgIDxhYnN0cmFjdD4KICAgICAgICAgICAgIFRoZSBZb2N0byBQcm9qZWN0IE1lZ2EtTWFudWFsIGlzIGEgY29uY2F0ZW5hdGlvbiBvZiB0aGUgcHVibGlzaGVkCi0gICAgICAgICAgICBZb2N0byBQcm9qZWN0IEhUTUwgbWFudWFscyBmb3IgdGhlIGdpdmVuIHJlbGVhc2UuCi0gICAgICAgICAgICBUaGUgbWFudWFsIGV4aXN0cyB0byBoZWxwIHVzZXJzIGVmZmljaWVudGx5IHNlYXJjaCBmb3Igc3RyaW5ncwotICAgICAgICAgICAgYWNyb3NzIHRoZSBlbnRpcmUgWW9jdG8gUHJvamVjdCBkb2N1bWVudGF0aW9uIHNldC4KKyAgICAgICAgICAgIFlvY3RvIFByb2plY3QgSFRNTCBtYW51YWxzIGFsb25nIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgQml0QmFrZQorICAgICAgICAgICAgVXNlciBNYW51YWwgZm9yIHRoZSBnaXZlbiByZWxlYXNlLgorICAgICAgICAgICAgVGhlIE1lZ2EtTWFudWFsIGV4aXN0cyB0byBoZWxwIHVzZXJzIGVmZmljaWVudGx5IHNlYXJjaCBmb3Igc3RyaW5ncworICAgICAgICAgICAgYWNyb3NzIHRoZSBlbnRpcmUgWW9jdG8gUHJvamVjdCBkb2N1bWVudGF0aW9uIHNldCBpbmNsdXNpdmUgb2YKKyAgICAgICAgICAgIHRoZSBCaXRCYWtlIFVzZXIgTWFudWFsLgogICAgICAgICA8L2Fic3RyYWN0PgogCiAgICAgICAgIDxtZWRpYW9iamVjdD4KQEAgLTgxLDkgKzgzLDkgQEAKICAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KKyAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNzwvcmV2bnVtYmVyPgogICAgICAgICAgICAgICAgIDxkYXRlPiZSRUxfTU9OVEhfWUVBUjs8L2RhdGU+Ci0gICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNi4xIFJlbGVhc2UuPC9yZXZyZW1hcms+CisgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNyBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKQEAgLTMyMiw2ICszMjQsMzAgQEAKICAgICA8eGk6aW5jbHVkZQogICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwtcmVmZXJlbmNlLnhtbCIvPgogCis8IS0tIEluY2x1ZGVzIGJpdGJha2UtdXNlci1tYW51YWwgdGl0bGUgaW1hZ2UgYW5kIHRoZW4gYml0YmFrZS11c2VyLW1hbnVhbCBjaGFwdGVycyAtLT4KKworICAgIDxwYXJhPgorICAgICAgICA8aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvYml0YmFrZS10aXRsZS5wbmciIHdpZHRoPSIxMDAlIiBhbGlnbj0ibGVmdCIgc2NhbGVmaXQ9IjEiIC8+CisgICAgPC9wYXJhPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1pbnRyby54bWwiLz4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZXhlY3V0aW9uLnhtbCIvPgorCisgICAgPHhpOmluY2x1ZGUKKyAgICAgICAgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiIGhyZWY9Ii4uLy4uLy4uL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC1tZXRhZGF0YS54bWwiLz4KKworICAgIDx4aTppbmNsdWRlCisgICAgICAgIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIiBocmVmPSIuLi8uLi8uLi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2JpdGJha2UtdXNlci1tYW51YWwtZmV0Y2hpbmcueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLXJlZi12YXJpYWJsZXMueG1sIi8+CisKKyAgICA8eGk6aW5jbHVkZQorICAgICAgICB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSIgaHJlZj0iLi4vLi4vLi4vYml0YmFrZS9kb2MvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLWhlbGxvLnhtbCIvPgorCiA8L2Jvb2s+CiAKIDwhLS0KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLWNvbmNlcHRzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLWNvbmNlcHRzLnhtbAppbmRleCAzMzhhMTkwLi5jMWMxZmVjIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC1jb25jZXB0cy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwtY29uY2VwdHMueG1sCkBAIC04Miw3ICs4Miw3IEBACiAgICAgICAgICAgICA8cGFyYT4KICAgICAgICAgICAgICAgICBUaGlzIHNlY3Rpb24gYnJpZWZseSBpbnRyb2R1Y2VzIEJpdEJha2UuCiAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgbW9yZSBpbmZvcm1hdGlvbiBvbiBCaXRCYWtlLCBzZWUgdGhlCi0gICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyNiaXRiYWtlLXVzZXItbWFudWFsJz5CaXRCYWtlIFVzZXIgTWFudWFsPC91bGluaz4uCisgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+LgogICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICA8cGFyYT4KQEAgLTEwOTEsNyArMTA5MSw3IEBACiAgICAgICAgICAgICAgICAgPG5vdGU+CiAgICAgICAgICAgICAgICAgICAgIFNlcGFyYXRlIGRvY3VtZW50YXRpb24gZXhpc3RzIGZvciB0aGUgQml0QmFrZSB0b29sLgogICAgICAgICAgICAgICAgICAgICBTZWUgdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsjYml0YmFrZS11c2VyLW1hbnVhbCc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+CisgICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPgogICAgICAgICAgICAgICAgICAgICBmb3IgcmVmZXJlbmNlIG1hdGVyaWFsIG9uIEJpdEJha2UuCiAgICAgICAgICAgICAgICAgPC9ub3RlPgogICAgICAgICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwueG1sCmluZGV4IDMyMGNhMzUuLmIyM2MzOTQgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vb3ZlcnZpZXctbWFudWFsL292ZXJ2aWV3LW1hbnVhbC54bWwKQEAgLTM4LDEzICszOCw4IEBACiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICAgICAgPHJldmlzaW9uPgogICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42PC9yZXZudW1iZXI+Ci0gICAgICAgICAgICAgICAgPGRhdGU+Tm92ZW1iZXIgMjAxODwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42IFJlbGVhc2UuPC9yZXZyZW1hcms+Ci0gICAgICAgICAgICA8L3JldmlzaW9uPgotICAgICAgICAgICAgPHJldmlzaW9uPgotICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi42LjE8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3Bva3kuZW50IGIvcG9reS9kb2N1bWVudGF0aW9uL3Bva3kuZW50CmluZGV4IGY5MmU2OWQuLjYzMjYwMTIgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wb2t5LmVudAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vcG9reS5lbnQKQEAgLTEsMTcgKzEsMTcgQEAKLTwhRU5USVRZIERJU1RSTyAiMi42LjEiPgotPCFFTlRJVFkgRElTVFJPX0NPTVBSRVNTRUQgIjI2MSI+Ci08IUVOVElUWSBESVNUUk9fTkFNRV9OT19DQVAgInRodWQiPgotPCFFTlRJVFkgRElTVFJPX05BTUUgIlRodWQiPgotPCFFTlRJVFkgRElTVFJPX05BTUVfTk9fQ0FQX01JTlVTX09ORSAic3VtbyI+Ci08IUVOVElUWSBESVNUUk9fTkFNRV9NSU5VU19PTkUgIlN1bW8iPgotPCFFTlRJVFkgWU9DVE9fRE9DX1ZFUlNJT04gIjIuNi4xIj4KLTwhRU5USVRZIFlPQ1RPX0RPQ19WRVJTSU9OX01JTlVTX09ORSAiMi41LjIiPgotPCFFTlRJVFkgRElTVFJPX1JFTF9UQUcgInlvY3RvLTIuNi4xIj4KLTwhRU5USVRZIE1FVEFJTlRFTFZFUlNJT04gIjEwLjEiPgotPCFFTlRJVFkgUkVMX01PTlRIX1lFQVIgIkZlYnJ1YXJ5IDIwMTkiPgorPCFFTlRJVFkgRElTVFJPICIyLjciPgorPCFFTlRJVFkgRElTVFJPX0NPTVBSRVNTRUQgIjI3Ij4KKzwhRU5USVRZIERJU1RST19OQU1FX05PX0NBUCAid2FycmlvciI+Cis8IUVOVElUWSBESVNUUk9fTkFNRSAiV2FycmlvciI+Cis8IUVOVElUWSBESVNUUk9fTkFNRV9OT19DQVBfTUlOVVNfT05FICJ0aHVkIj4KKzwhRU5USVRZIERJU1RST19OQU1FX01JTlVTX09ORSAiVGh1ZCI+Cis8IUVOVElUWSBZT0NUT19ET0NfVkVSU0lPTiAiMi43Ij4KKzwhRU5USVRZIFlPQ1RPX0RPQ19WRVJTSU9OX01JTlVTX09ORSAiMi42Ij4KKzwhRU5USVRZIERJU1RST19SRUxfVEFHICJ5b2N0by0yLjciPgorPCFFTlRJVFkgTUVUQUlOVEVMVkVSU0lPTiAiOS4wIj4KKzwhRU5USVRZIFJFTF9NT05USF9ZRUFSICJUQkQiPgogPCFFTlRJVFkgTUVUQV9JTlRFTF9SRUxfVEFHICImTUVUQUlOVEVMVkVSU0lPTjstJkRJU1RST19OQU1FX05PX0NBUDstJllPQ1RPX0RPQ19WRVJTSU9OOyI+Ci08IUVOVElUWSBQT0tZVkVSU0lPTiAiMjEuMC4xIj4KLTwhRU5USVRZIFBPS1lWRVJTSU9OX0NPTVBSRVNTRUQgIjIxMDEiPgorPCFFTlRJVFkgUE9LWVZFUlNJT04gIjIyLjAuMCI+Cis8IUVOVElUWSBQT0tZVkVSU0lPTl9DT01QUkVTU0VEICIyMjAwIj4KIDwhRU5USVRZIFlPQ1RPX1BPS1kgInBva3ktJkRJU1RST19OQU1FX05PX0NBUDstJlBPS1lWRVJTSU9OOyI+CiA8IUVOVElUWSBDT1BZUklHSFRfWUVBUiAiMjAxMC0yMDE5Ij4KIDwhRU5USVRZIFlPQ1RPX0RMX1VSTCAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnIj4KQEAgLTY5LDE3ICs2OSwyMSBAQAogPCFFTlRJVFkgT0VfSU5JVF9GSUxFICJvZS1pbml0LWJ1aWxkLWVudiI+CiA8IUVOVElUWSBVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUwgImdhd2sgd2dldCBnaXQtY29yZSBkaWZmc3RhdCB1bnppcCB0ZXhpbmZvIGdjYy1tdWx0aWxpYiBcCiAgICAgIGJ1aWxkLWVzc2VudGlhbCBjaHJwYXRoIHNvY2F0IGNwaW8gcHl0aG9uIHB5dGhvbjMgcHl0aG9uMy1waXAgcHl0aG9uMy1wZXhwZWN0IFwKLSAgICAgeHotdXRpbHMgZGViaWFudXRpbHMgaXB1dGlscy1waW5nIj4KKyAgICAgeHotdXRpbHMgZGViaWFudXRpbHMgaXB1dGlscy1waW5nIHB5dGhvbjMtZ2l0IHB5dGhvbjMtamluamEyIGxpYmVnbDEtbWVzYSBsaWJzZGwxLjItZGV2IFwKKyAgICAgeHRlcm0iPgogPCFFTlRJVFkgRkVET1JBX0hPU1RfUEFDS0FHRVNfRVNTRU5USUFMICJnYXdrIG1ha2Ugd2dldCB0YXIgYnppcDIgZ3ppcCBweXRob24zIHVuemlwIHBlcmwgcGF0Y2ggXAogICAgICBkaWZmdXRpbHMgZGlmZnN0YXQgZ2l0IGNwcCBnY2MgZ2NjLWMrKyBnbGliYy1kZXZlbCB0ZXhpbmZvIGNocnBhdGggXAogICAgICBjY2FjaGUgcGVybC1EYXRhLUR1bXBlciBwZXJsLVRleHQtUGFyc2VXb3JkcyBwZXJsLVRocmVhZC1RdWV1ZSBwZXJsLWJpZ251bSBzb2NhdCBcCi0gICAgIHB5dGhvbjMtcGV4cGVjdCBmaW5kdXRpbHMgd2hpY2ggZmlsZSBjcGlvIHB5dGhvbiBweXRob24zLXBpcCB4eiI+CisgICAgIHB5dGhvbjMtcGV4cGVjdCBmaW5kdXRpbHMgd2hpY2ggZmlsZSBjcGlvIHB5dGhvbiBweXRob24zLXBpcCB4eiBweXRob24zLUdpdFB5dGhvbiBcCisgICAgIHB5dGhvbjMtamluamEyIFNETC1kZXZlbCB4dGVybSI+CiA8IUVOVElUWSBPUEVOU1VTRV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTCAicHl0aG9uIGdjYyBnY2MtYysrIGdpdCBjaHJwYXRoIG1ha2Ugd2dldCBweXRob24teG1sIFwKICAgICAgZGlmZnN0YXQgbWFrZWluZm8gcHl0aG9uLWN1cnNlcyBwYXRjaCBzb2NhdCBweXRob24zIHB5dGhvbjMtY3Vyc2VzIHRhciBweXRob24zLXBpcCBcCi0gICAgIHB5dGhvbjMtcGV4cGVjdCB4eiB3aGljaCI+CisgICAgIHB5dGhvbjMtcGV4cGVjdCB4eiB3aGljaCBweXRob24zLUppbmphMiBNZXNhLWxpYkVHTDEKKyAgICAgJCBzdWRvIHBpcDMgaW5zdGFsbCBHaXRQeXRob24gbGliU0RMLWRldmVsIHh0ZXJtIj4KIDwhRU5USVRZIENFTlRPU19IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTCAiLXkgZXBlbC1yZWxlYXNlCiAgICAgICQgc3VkbyB5dW0gbWFrZWNhY2hlCiAgICAgICQgc3VkbyB5dW0gaW5zdGFsbCBnYXdrIG1ha2Ugd2dldCB0YXIgYnppcDIgZ3ppcCBweXRob24gdW56aXAgcGVybCBwYXRjaCBcCiAgICAgIGRpZmZ1dGlscyBkaWZmc3RhdCBnaXQgY3BwIGdjYyBnY2MtYysrIGdsaWJjLWRldmVsIHRleGluZm8gY2hycGF0aCBzb2NhdCBcCiAgICAgIHBlcmwtRGF0YS1EdW1wZXIgcGVybC1UZXh0LVBhcnNlV29yZHMgcGVybC1UaHJlYWQtUXVldWUgcHl0aG9uMzQtcGlwIHh6IFwKLSAgICAgd2hpY2giPgorICAgICB3aGljaCBTREwtZGV2ZWwgeHRlcm0KKyAgICAgJCBzdWRvIHBpcDMgaW5zdGFsbCBHaXRQeXRob24gamluamEyIj4KZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwueG1sCmluZGV4IDEwY2E2OGUuLmFmMmM3YmEgMTAwNjQ0Ci0tLSBhL3Bva3kvZG9jdW1lbnRhdGlvbi9wcm9maWxlLW1hbnVhbC9wcm9maWxlLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLnhtbApAQCAtOTcsOSArOTcsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1tYW51YWwueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKaW5kZXggZjgzNGQyZC4uMjYyOTVmMCAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLW1hbnVhbC54bWwKQEAgLTEyOCw5ICsxMjgsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgICA8L3Jldmhpc3Rvcnk+CiAKZGlmZiAtLWdpdCBhL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1zeXN0ZW0tcmVxdWlyZW1lbnRzLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3JlZi1zeXN0ZW0tcmVxdWlyZW1lbnRzLnhtbAppbmRleCAwZGI4NGUzLi41ZjJiOWY2IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtc3lzdGVtLXJlcXVpcmVtZW50cy54bWwKKysrIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXN5c3RlbS1yZXF1aXJlbWVudHMueG1sCkBAIC05NywxOCArOTcsOSBAQAogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5PcGVuU1VTRSA0Mi4zPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgPC9wYXJhPgotPCEtLQotQ2hlY2tvdXQgdGhlIHBva3kgZGlzdHJvIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiAoYnkgYnJhbmNoIG9yIHRhZykuCi1Gcm9tIHRoZSBwb2t5IGRpcmVjdG9yeSwgcnVuIHRoZSBzY3JpcHQ6Ci0KLWJpdGJha2UgLWUgfCBncmVwIF5TQU5JVFlfVEVTVEVEX0RJU1RST1MgfCBzZWQgLWUgJ3MvLioiXCguKlwpIi4qL1wxL2cnIC1lICdzIVxcbiFcbiFnJyB8IHNlZCAncy9eW1x0XSovLztzL1sgXHRdKiQvLycgfCBncmVwIC12IFBva3kKLQotVGhpcyByZXR1cm5zIGEgbGlzdCBvZiB0aGUgc3VwcG9ydGVkIGRpc3Ryb3MgZm9yIHRoZSByZWxlYXNlLgotCi1IZXJlIGlzIHNvbWUgb2xkIGxpc3QgaXRlbXMgdG8gc2hvdyB0aGUgZm9ybToKIAogCi0gICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPlVidW50dSAxMC4wNDwvcGFyYT48L2xpc3RpdGVtPgorPCEtLSAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTAuMDQ8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+VWJ1bnR1IDExLjEwPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPlVidW50dSAxMi4wNCAoTFRTKTwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5VYnVudHUgMTMuMTA8L3BhcmE+PC9saXN0aXRlbT4KQEAgLTE1MSw4ICsxNDIsMTAgQEAKICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+b3BlblNVU0UgMTMuMjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT5vcGVuU1VTRSA0Mi4xPC9wYXJhPjwvbGlzdGl0ZW0+CiAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPm9wZW5TVVNFIDQyLjI8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgogLS0+CiAKKwogICAgICAgICA8bm90ZT4KICAgICAgICAgICAgIFdoaWxlIHRoZSBZb2N0byBQcm9qZWN0IFRlYW0gYXR0ZW1wdHMgdG8gZW5zdXJlIGFsbCBZb2N0byBQcm9qZWN0CiAgICAgICAgICAgICByZWxlYXNlcyBhcmUgb25lIGh1bmRyZWQgcGVyY2VudCBjb21wYXRpYmxlIHdpdGggZWFjaCBvZmZpY2lhbGx5CkBAIC0xOTksMjYgKzE5MiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsICZVQlVOVFVfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBhcHQtZ2V0IGluc3RhbGwgbGlic2RsMS4yLWRldiB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgogICAgICAkIHN1ZG8gYXB0LWdldCBpbnN0YWxsIG1ha2UgeHNsdHByb2MgZG9jYm9vay11dGlscyBmb3AgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGFwdC1nZXQgaW5zdGFsbCBweXRob24tZ2l0Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpAQCAtMjM2LDI3ICsyMTUsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIGRuZiBpbnN0YWxsICZGRURPUkFfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7CiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+R3JhcGhpY2FsIGFuZCBFY2xpcHNlIFBsdWctSW4gRXh0cmFzOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyByZWNvbW1lbmRlZCBpZiB0aGUgaG9zdCBzeXN0ZW0gaGFzIGdyYXBoaWNzCi0gICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0IG9yIGlmIHlvdSBhcmUgZ29pbmcgdG8gdXNlIHRoZSBFY2xpcHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBJREU6Ci0gICAgICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgICQgc3VkbyBkbmYgaW5zdGFsbCBTREwtZGV2ZWwgeHRlcm0KLSAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5Eb2N1bWVudGF0aW9uOjwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBidWlsZCBvdXQgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICBZb2N0byBQcm9qZWN0IGRvY3VtZW50YXRpb24gbWFudWFsczoKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGRuZiBpbnN0YWxsIG1ha2UgZG9jYm9vay1zdHlsZS1kc3NzbCBkb2Nib29rLXN0eWxlLXhzbCBcCisgICAgICQgc3VkbyBkbmYgaW5zdGFsbCBkb2Nib29rLXN0eWxlLWRzc3NsIGRvY2Jvb2stc3R5bGUteHNsIFwKICAgICAgZG9jYm9vay1kdGRzIGRvY2Jvb2stdXRpbHMgZm9wIGxpYnhzbHQgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgotICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPk9wZW5FbWJlZGRlZCBTZWxmLVRlc3QgKDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+KTo8L2VtcGhhc2lzPgotICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZXMgbmVlZGVkIGlmIHlvdSBhcmUgZ29pbmcgdG8gcnVuCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+b2Utc2VsZnRlc3Q8L2ZpbGVuYW1lPjoKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIGRuZiBpbnN0YWxsIHB5dGhvbjMtR2l0UHl0aG9uCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpAQCAtMjc0LDMzICsyMzksMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KICAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsICZPUEVOU1VTRV9IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTDsKICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD48L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5HcmFwaGljYWwgYW5kIEVjbGlwc2UgUGx1Zy1JbiBFeHRyYXM6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIHJlY29tbWVuZGVkIGlmIHRoZSBob3N0IHN5c3RlbSBoYXMgZ3JhcGhpY3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb3IgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlIEVjbGlwc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIElERToKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHp5cHBlciBpbnN0YWxsIGxpYlNETC1kZXZlbCB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgbWFrZSBkYmxhdGV4IHhtbHRvCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+T3BlbkVtYmVkZGVkIFNlbGYtVGVzdCAoPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT4pOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBydW4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+OgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgcHl0aG9uLUdpdFB5dGhvbgorICAgICAkIHN1ZG8genlwcGVyIGluc3RhbGwgZGJsYXRleCB4bWx0bwogICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgIDwvaXRlbWl6ZWRsaXN0PgotICAgICAgICAgICAgICAgIDxub3RlPgotICAgICAgICAgICAgICAgICAgICBTYW5pdHkgdGVzdGluZywgdGhyb3VnaCB0aGUKLSAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ncmVmLWNsYXNzZXMtdGVzdGltYWdlKic+dGVzdGltYWdlPC9saW5rPgotICAgICAgICAgICAgICAgICAgICBjbGFzc2VzLCBkb2VzIG5vdCB3b3JrIG9uIHN5c3RlbXMgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9J2h0dHBzOi8vZW4ub3BlbnN1c2Uub3JnL1BvcnRhbDpXaWNrZWQnPldpY2tlZDwvdWxpbms+Ci0gICAgICAgICAgICAgICAgICAgIG5ldHdvcmsgbWFuYWdlci4KLSAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvc2VjdGlvbj4KIApAQCAtMzE1LDcgKzI2MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgdG8gYnVpbGQgYW4gaW1hZ2UgZm9yIGEgaGVhZGxlc3MKICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbToKICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsICZDRU5UT1NfSE9TVF9QQUNLQUdFU19FU1NFTlRJQUw7IFNETC1kZXZlbCB4dGVybQorICAgICAkIHN1ZG8geXVtIGluc3RhbGwgJkNFTlRPU19IT1NUX1BBQ0tBR0VTX0VTU0VOVElBTDsKICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxub3RlPjx0aXRsZT5Ob3RlczwvdGl0bGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KQEAgLTMzNywyNyArMjgyLDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICA8L25vdGU+CiAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KLSAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPjxlbXBoYXNpcz5HcmFwaGljYWwgYW5kIEVjbGlwc2UgUGx1Zy1JbiBFeHRyYXM6PC9lbXBoYXNpcz4KLSAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIHJlY29tbWVuZGVkIGlmIHRoZSBob3N0IHN5c3RlbSBoYXMgZ3JhcGhpY3MKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb3IgaWYgeW91IGFyZSBnb2luZyB0byB1c2UgdGhlIEVjbGlwc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIElERToKLSAgICAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIFNETC1kZXZlbCB4dGVybQotICAgICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PjwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+PGVtcGhhc2lzPkRvY3VtZW50YXRpb246PC9lbXBoYXNpcz4KICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2VzIG5lZWRlZCBpZiB5b3UgYXJlIGdvaW5nIHRvIGJ1aWxkIG91dCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgIFlvY3RvIFByb2plY3QgZG9jdW1lbnRhdGlvbiBtYW51YWxzOgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8geXVtIGluc3RhbGwgbWFrZSBkb2Nib29rLXN0eWxlLWRzc3NsIGRvY2Jvb2stc3R5bGUteHNsIFwKKyAgICAgJCBzdWRvIHl1bSBpbnN0YWxsIGRvY2Jvb2stc3R5bGUtZHNzc2wgZG9jYm9vay1zdHlsZS14c2wgXAogICAgICBkb2Nib29rLWR0ZHMgZG9jYm9vay11dGlscyBmb3AgbGlieHNsdCBkYmxhdGV4IHhtbHRvCiAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+PC9wYXJhPjwvbGlzdGl0ZW0+Ci0gICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT48ZW1waGFzaXM+T3BlbkVtYmVkZGVkIFNlbGYtVGVzdCAoPGZpbGVuYW1lPm9lLXNlbGZ0ZXN0PC9maWxlbmFtZT4pOjwvZW1waGFzaXM+Ci0gICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlcyBuZWVkZWQgaWYgeW91IGFyZSBnb2luZyB0byBydW4KLSAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5vZS1zZWxmdGVzdDwvZmlsZW5hbWU+OgotICAgICAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICAkIHN1ZG8geXVtIGluc3RhbGwgR2l0UHl0aG9uCi0gICAgICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9zZWN0aW9uPgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVmLXZhcmlhYmxlcy54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbAppbmRleCA5ZjZiYzFhLi42NDcwYzczIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZWYtdmFyaWFibGVzLnhtbApAQCAtMzYyMSw2MCArMzYyMSw2IEBACiAgICAgICAgICAgICA8L2dsb3NzZGVmPgogICAgICAgICA8L2dsb3NzZW50cnk+CiAKLSAgICAgICAgPGdsb3NzZW50cnkgaWQ9J3Zhci1ESVNLX1NJR05BVFVSRSc+PGdsb3NzdGVybT5ESVNLX1NJR05BVFVSRTwvZ2xvc3N0ZXJtPgotICAgICAgICAgICAgPGluZm8+Ci0gICAgICAgICAgICAgICAgRElTS19TSUdOQVRVUkVbZG9jXSA9ICJBIDMyLWJpdCBNQlIgZGlzayBzaWduYXR1cmUgdXNlZCBieSBkaXJlY3RkaXNrIGltYWdlcy4iCi0gICAgICAgICAgICA8L2luZm8+Ci0gICAgICAgICAgICA8Z2xvc3NkZWY+Ci0gICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+Ci08IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgotICAgICAgICAgICAgICAgICAgICBBIDMyLWJpdCBNQlIgZGlzayBzaWduYXR1cmUgdXNlZCBieQotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZGlyZWN0ZGlzazwvZmlsZW5hbWU+IGltYWdlcy4KLSAgICAgICAgICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgdGhlIHNpZ25hdHVyZSBpcyBzZXQgdG8gYW4gYXV0b21hdGljYWxseQotICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZWQgcmFuZG9tIHZhbHVlIHRoYXQgYWxsb3dzIHRoZSBPcGVuRW1iZWRkZWQKLSAgICAgICAgICAgICAgICAgICAgYnVpbGQgc3lzdGVtIHRvIGNyZWF0ZSBhIGJvb3QgbG9hZGVyLgotICAgICAgICAgICAgICAgICAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBzaWduYXR1cmUgaW4gdGhlIGltYWdlIHJlY2lwZQotICAgICAgICAgICAgICAgICAgICBieSBzZXR0aW5nIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHRvIGFuCi0gICAgICAgICAgICAgICAgICAgIDgtZGlnaXQgaGV4IHN0cmluZy4KLSAgICAgICAgICAgICAgICAgICAgWW91IG1pZ2h0IHdhbnQgdG8gb3ZlcnJpZGUKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkRJU0tfU0lHTkFUVVJFPC9maWxlbmFtZT4gaWYgeW91IHdhbnQgdGhlIGRpc2sKLSAgICAgICAgICAgICAgICAgICAgc2lnbmF0dXJlIHRvIHJlbWFpbiBjb25zdGFudCBiZXR3ZWVuIGltYWdlIGJ1aWxkcy4KLSAgICAgICAgICAgICAgICA8L3BhcmE+Ci0KLSAgICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgV2hlbiB1c2luZyBMaW51eCAzLjggb3IgbGF0ZXIsIHlvdSBjYW4gdXNlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHRvIHNwZWNpZnkgdGhlIHJvb3QKLSAgICAgICAgICAgICAgICAgICAgYnkgVVVJRCB0byBhbGxvdyB0aGUga2VybmVsIHRvIGxvY2F0ZSB0aGUgcm9vdCBkZXZpY2UKLSAgICAgICAgICAgICAgICAgICAgZXZlbiBpZiB0aGUgZGV2aWNlIG5hbWUgY2hhbmdlcyBkdWUgdG8gZGlmZmVyZW5jZXMgaW4KLSAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY29uZmlndXJhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAgQnkgZGVmYXVsdCwgPGZpbGVuYW1lPlJPT1RfVk08L2ZpbGVuYW1lPiBpcyBzZXQKLSAgICAgICAgICAgICAgICAgICAgYXMgZm9sbG93czoKLSAgICAgICAgICAgICAgICAgICAgPGxpdGVyYWxsYXlvdXQgY2xhc3M9J21vbm9zcGFjZWQnPgotICAgICBST09UX1ZNID89ICJyb290PS9kZXYvc2RhMiIKLSAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICBIb3dldmVyLCB5b3UgY2FuIGNoYW5nZSB0aGlzIHRvIGxvY2F0ZSB0aGUgcm9vdCBkZXZpY2UKLSAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGRpc2sgc2lnbmF0dXJlIGluc3RlYWQ6Ci0gICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgUk9PVF9WTSA9ICJyb290PVBBUlRVVUlEPSR7RElTS19TSUdOQVRVUkV9LTAyIgotICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+Ci0gICAgICAgICAgICAgICAgPC9wYXJhPgotCi0gICAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgICAgICAgIEFzIHByZXZpb3VzbHkgbWVudGlvbmVkLCBpdCBpcyBwb3NzaWJsZSB0byBzZXQgdGhlCi0gICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5ESVNLX1NJR05BVFVSRTwvZmlsZW5hbWU+IHZhcmlhYmxlIGluIHlvdXIKLSAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmxvY2FsLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIHRvIGEgZml4ZWQKLSAgICAgICAgICAgICAgICAgICAgdmFsdWUgaWYgeW91IGRvIG5vdCB3YW50IDxmaWxlbmFtZT5zeXNsaW51eC5jZmc8L2ZpbGVuYW1lPgotICAgICAgICAgICAgICAgICAgICBjaGFuZ2luZyBmb3IgZWFjaCBidWlsZC4KLSAgICAgICAgICAgICAgICAgICAgWW91IG1pZ2h0IGZpbmQgdGhpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byB1cGdyYWRlIHRoZQotICAgICAgICAgICAgICAgICAgICByb290IGZpbGVzeXN0ZW0gb24gYSBkZXZpY2Ugd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgb3IKLSAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IHRoZSBtYXN0ZXIgYm9vdCByZWNvcmQuCi0gICAgICAgICAgICAgICAgPC9wYXJhPgotICAgICAgICAgICAgPC9nbG9zc2RlZj4KLSAgICAgICAgPC9nbG9zc2VudHJ5PgotCiAgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRElTVFJPJz48Z2xvc3N0ZXJtPkRJU1RSTzwvZ2xvc3N0ZXJtPgogICAgICAgICAgICAgPGluZm8+CiAgICAgICAgICAgICAgICAgRElTVFJPW2RvY10gPSAiVGhlIHNob3J0IG5hbWUgb2YgdGhlIGRpc3RyaWJ1dGlvbi4gSWYgdGhlIHZhcmlhYmxlIGlzIGJsYW5rLCBtZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIHdpbGwgYmUgdXNlZC4iCkBAIC0zODc3LDcgKzM4MjMsNyBAQAogICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFQ8L2ZpbGVuYW1lPiBmcm9tIGEKICAgICAgICAgICAgICAgICAgICAgY3VzdG9tIGRpc3RybyBjb25maWd1cmF0aW9uIGZpbGU6CiAgICAgICAgICAgICAgICAgICAgIDxsaXRlcmFsbGF5b3V0IGNsYXNzPSdtb25vc3BhY2VkJz4KLSAgICAgRElTVFJPX0ZFQVRVUkVTID89ICIke0RJU1RST19GRUFUVVJFU19ERUZBVUxUfSAke0RJU1RST19GRUFUVVJFU19MSUJDfSBteWZlYXR1cmUiCisgICAgIERJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gbXlmZWF0dXJlIgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgogICAgICAgICAgICAgPC9nbG9zc2RlZj4KQEAgLTM5MjQsMTMgKzM4NzAsMTQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAorPCEtLQogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLURJU1RST19GRUFUVVJFU19MSUJDJz48Z2xvc3N0ZXJtPkRJU1RST19GRUFUVVJFU19MSUJDPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBESVNUUk9fRkVBVFVSRVNfTElCQ1tkb2NdID0gIlNwZWNpZmllcyB0aGUgbGlzdCBvZiBkaXN0cm8gZmVhdHVyZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIEMgbGlicmFyeSAobGliYykuIgogICAgICAgICAgICAgPC9pbmZvPgogICAgICAgICAgICAgPGdsb3NzZGVmPgogICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPgotPCEtLSAgICAgICAgICAgICAgICA8cGFyYSByb2xlPSJnbG9zc2RlZmZpcnN0Ij48aW1hZ2VkYXRhIGZpbGVyZWY9ImZpZ3VyZXMvZGVmaW5lLWdlbmVyaWMucG5nIiAvPiAtLT4KKyAgICAgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+PGltYWdlZGF0YSBmaWxlcmVmPSJmaWd1cmVzL2RlZmluZS1nZW5lcmljLnBuZyIgLz4KICAgICAgICAgICAgICAgICAgICAgQSBjb252ZW5pZW5jZSB2YXJpYWJsZSB0aGF0IHNwZWNpZmllcyB0aGUgbGlzdCBvZiBkaXN0cm8KICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZXMgdGhhdCBhcmUgc3BlY2lmaWMgdG8gdGhlIEMgbGlicmFyeQogICAgICAgICAgICAgICAgICAgICAoPGZpbGVuYW1lPmxpYmM8L2ZpbGVuYW1lPikuCkBAIC0zOTQwLDYgKzM4ODcsNyBAQAogICAgICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KKy0tPgogCiAgICAgICAgIDxnbG9zc2VudHJ5IGlkPSd2YXItRElTVFJPX0ZFQVRVUkVTX05BVElWRSc+PGdsb3NzdGVybT5ESVNUUk9fRkVBVFVSRVNfTkFUSVZFPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KQEAgLTUwMTIsOSArNDk2MCwxNyBAQAogICAgICAgICAgICAgICAgICAgICBBIHN1YnNldCBvZiA8bGluayBsaW5rZW5kPSd2YXItT1ZFUlJJREVTJz48ZmlsZW5hbWU+T1ZFUlJJREVTPC9maWxlbmFtZT48L2xpbms+CiAgICAgICAgICAgICAgICAgICAgIHVzZWQgYnkgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0gZm9yIGNyZWF0aW5nCiAgICAgICAgICAgICAgICAgICAgIDxsaW5rIGxpbmtlbmQ9J3Zhci1GSUxFU1BBVEgnPjxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPjwvbGluaz4uCi0gICAgICAgICAgICAgICAgICAgIFlvdSBjYW4gZmluZCBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyBvdmVycmlkZXMgYXJlIGhhbmRsZWQKLSAgICAgICAgICAgICAgICAgICAgaW4gdGhlCi0gICAgICAgICAgICAgICAgICAgIDx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsnPkJpdEJha2UgVXNlciBNYW51YWw8L3VsaW5rPi4KKyAgICAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5GSUxFU09WRVJSSURFUzwvZmlsZW5hbWU+IHZhcmlhYmxlIHVzZXMKKyAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVzIHRvIGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHRoZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICBGb3IgYW4gZXhhbXBsZSBvZiBob3cgdGhhdCB3b3Jrcywgc2VlIHRoZQorICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNQQVRIJz48ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHlvdSBmaW5kIG1vcmUgaW5mb3JtYXRpb24gb24gaG93IG92ZXJyaWRlcworICAgICAgICAgICAgICAgICAgICBhcmUgaGFuZGxlZCBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgIjx1bGluayB1cmw9JyZZT0NUT19ET0NTX0JCX1VSTDsjY29uZGl0aW9uYWwtc3ludGF4LW92ZXJyaWRlcyc+Q29uZGl0aW9uYWwgU3ludGF4IChPdmVycmlkZXMpPC91bGluaz4iCisgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24gb2YgdGhlIEJpdEJha2UgVXNlciBNYW51YWwuCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC01MDQxLDExICs0OTk3LDE0IEBACiAgICAgICAgICAgICA8Z2xvc3NkZWY+CiAgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+CiA8IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgotICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBzZXQgb2YgZGlyZWN0b3JpZXMgdGhlIE9wZW5FbWJlZGRlZCBidWlsZCBzeXN0ZW0KLSAgICAgICAgICAgICAgICAgICAgdXNlcyB3aGVuIHNlYXJjaGluZyBmb3IgcGF0Y2hlcyBhbmQgZmlsZXMuCi0gICAgICAgICAgICAgICAgICAgIER1cmluZyB0aGUgYnVpbGQgcHJvY2VzcywgQml0QmFrZSBzZWFyY2hlcyBlYWNoIGRpcmVjdG9yeSBpbgotICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gaW4gdGhlIHNwZWNpZmllZCBvcmRlciB3aGVuCi0gICAgICAgICAgICAgICAgICAgIGxvb2tpbmcgZm9yIGZpbGVzIGFuZCBwYXRjaGVzIHNwZWNpZmllZCBieSBlYWNoCisgICAgICAgICAgICAgICAgICAgIFRoZSBkZWZhdWx0IHNldCBvZiBkaXJlY3RvcmllcyB0aGUgT3BlbkVtYmVkZGVkIGJ1aWxkCisgICAgICAgICAgICAgICAgICAgIHN5c3RlbSB1c2VzIHdoZW4gc2VhcmNoaW5nIGZvciBwYXRjaGVzIGFuZCBmaWxlcy4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgRHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLCBCaXRCYWtlIHNlYXJjaGVzIGVhY2ggZGlyZWN0b3J5CisgICAgICAgICAgICAgICAgICAgIGluIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiBpbiB0aGUgc3BlY2lmaWVkIG9yZGVyCisgICAgICAgICAgICAgICAgICAgIHdoZW4gbG9va2luZyBmb3IgZmlsZXMgYW5kIHBhdGNoZXMgc3BlY2lmaWVkIGJ5IGVhY2gKICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPmZpbGU6Ly88L2ZpbGVuYW1lPiBVUkkgaW4gYSByZWNpcGUncwogICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItU1JDX1VSSSc+PGZpbGVuYW1lPlNSQ19VUkk8L2ZpbGVuYW1lPjwvbGluaz4KICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50cy4KQEAgLTUwNjAsMjMgKzUwMTksNjIgQEAKICAgICAgRklMRVNQQVRIID0gIiR7QGJhc2Vfc2V0X2ZpbGVzcGF0aChbIiR7RklMRV9ESVJOQU1FfS8ke0JQfSIsIFwKICAgICAgICAgIiR7RklMRV9ESVJOQU1FfS8ke0JQTn0iLCAiJHtGSUxFX0RJUk5BTUV9L2ZpbGVzIl0sIGQpfSIKICAgICAgICAgICAgICAgICAgICAgPC9saXRlcmFsbGF5b3V0PgotICAgICAgICAgICAgICAgICAgICA8bm90ZT4KLSAgICAgICAgICAgICAgICAgICAgICAgIERvIG5vdCBoYW5kLWVkaXQgdGhlIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPgotICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCi0gICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYnVpbGQgc3lzdGVtIHRvIGxvb2sgaW4gZGlyZWN0b3JpZXMKLSAgICAgICAgICAgICAgICAgICAgICAgIG90aGVyIHRoYW4gdGhlIGRlZmF1bHRzLCBleHRlbmQgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gdmFyaWFibGUgYnkgdXNpbmcgdGhlCi0gICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNFWFRSQVBBVEhTJz48ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT48L2xpbms+Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgVGhlIDxmaWxlbmFtZT5GSUxFU1BBVEg8L2ZpbGVuYW1lPiB2YXJpYWJsZSBpcyBhdXRvbWF0aWNhbGx5CisgICAgICAgICAgICAgICAgICAgIGV4dGVuZGVkIHVzaW5nIHRoZSBvdmVycmlkZXMgZnJvbSB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLUZJTEVTT1ZFUlJJREVTJz48ZmlsZW5hbWU+RklMRVNPVkVSUklERVM8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgIDxub3RlPjx0aXRsZT5Ob3RlczwvdGl0bGU+CisgICAgICAgICAgICAgICAgICAgICAgICA8aXRlbWl6ZWRsaXN0PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRG8gbm90IGhhbmQtZWRpdCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0aGUgYnVpbGQgc3lzdGVtIHRvIGxvb2sgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdHMsIGV4dGVuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluayBsaW5rZW5kPSd2YXItRklMRVNFWFRSQVBBVEhTJz48ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhcmE+PC9saXN0aXRlbT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGlzdGl0ZW0+PHBhcmE+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlIGF3YXJlIHRoYXQgdGhlIGRlZmF1bHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IGRpcmVjdG9yaWVzIGRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBtYXAgdG8gZGlyZWN0b3JpZXMgaW4gY3VzdG9tIGxheWVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZSBhcHBlbmQgZmlsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDxmaWxlbmFtZT4uYmJhcHBlbmQ8L2ZpbGVuYW1lPikgYXJlIHVzZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHlvdSB3YW50IHRoZSBidWlsZCBzeXN0ZW0gdG8gZmluZCBwYXRjaGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGZpbGVzIHRoYXQgcmVzaWRlIHdpdGggeW91ciBhcHBlbmQgZmlsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlvdSBuZWVkIHRvIGV4dGVuZCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPkZJTEVTUEFUSDwvZmlsZW5hbWU+IHZhcmlhYmxlIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nIHRoZSA8ZmlsZW5hbWU+RklMRVNFWFRSQVBBVEhTPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgorICAgICAgICAgICAgICAgICAgICAgICAgPC9pdGVtaXplZGxpc3Q+CiAgICAgICAgICAgICAgICAgICAgIDwvbm90ZT4KLSAgICAgICAgICAgICAgICAgICAgQmUgYXdhcmUgdGhhdCB0aGUgZGVmYXVsdCA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZG8gbm90IG1hcCB0byBkaXJlY3RvcmllcyBpbiBjdXN0b20gbGF5ZXJzCi0gICAgICAgICAgICAgICAgICAgIHdoZXJlIGFwcGVuZCBmaWxlcyAoPGZpbGVuYW1lPi5iYmFwcGVuZDwvZmlsZW5hbWU+KQotICAgICAgICAgICAgICAgICAgICBhcmUgdXNlZC4KLSAgICAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgdGhlIGJ1aWxkIHN5c3RlbSB0byBmaW5kIHBhdGNoZXMgb3IgZmlsZXMKLSAgICAgICAgICAgICAgICAgICAgdGhhdCByZXNpZGUgd2l0aCB5b3VyIGFwcGVuZCBmaWxlcywgeW91IG5lZWQgdG8gZXh0ZW5kCi0gICAgICAgICAgICAgICAgICAgIHRoZSA8ZmlsZW5hbWU+RklMRVNQQVRIPC9maWxlbmFtZT4gdmFyaWFibGUgYnkgdXNpbmcKLSAgICAgICAgICAgICAgICAgICAgdGhlIDxmaWxlbmFtZT5GSUxFU0VYVFJBUEFUSFM8L2ZpbGVuYW1lPiB2YXJpYWJsZS4KKyAgICAgICAgICAgICAgICA8L3BhcmE+CisKKyAgICAgICAgICAgICAgICA8cGFyYT4KKyAgICAgICAgICAgICAgICAgICAgWW91IGNhbiB0YWtlIGFkdmFudGFnZSBvZiB0aGlzIHNlYXJjaGluZyBiZWhhdmlvciBpbgorICAgICAgICAgICAgICAgICAgICB1c2VmdWwgd2F5cy4KKyAgICAgICAgICAgICAgICAgICAgRm9yIGV4YW1wbGUsIGNvbnNpZGVyIGEgY2FzZSB3aGVyZSB0aGUgZm9sbG93aW5nCisgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZXhpc3RzIGZvciBnZW5lcmFsIGFuZCBtYWNoaW5lLXNwZWNpZmljCisgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOgorICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+CisgICAgIGZpbGVzL2RlZmNvbmZpZworICAgICBmaWxlcy9NQUNISU5FQS9kZWZjb25maWcKKyAgICAgZmlsZXMvTUFDSElORUIvZGVmY29uZmlnCisgICAgICAgICAgICAgICAgICAgIDwvbGl0ZXJhbGxheW91dD4KKyAgICAgICAgICAgICAgICAgICAgQWxzbyBpbiB0aGUgZXhhbXBsZSwgdGhlIDxmaWxlbmFtZT5TUkNfVVJJPC9maWxlbmFtZT4KKyAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50IGNvbnRhaW5zICJmaWxlOi8vZGVmY29uZmlnIi4KKyAgICAgICAgICAgICAgICAgICAgR2l2ZW4gdGhpcyBzY2VuYXJpbywgeW91IGNhbiBzZXQKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ndmFyLU1BQ0hJTkUnPjxmaWxlbmFtZT5NQUNISU5FPC9maWxlbmFtZT48L2xpbms+CisgICAgICAgICAgICAgICAgICAgIHRvICJNQUNISU5FQSIgYW5kIGNhdXNlIHRoZSBidWlsZCBzeXN0ZW0gdG8gdXNlIGZpbGVzCisgICAgICAgICAgICAgICAgICAgIGZyb20gPGZpbGVuYW1lPmZpbGVzL01BQ0hJTkVBPC9maWxlbmFtZT4uCisgICAgICAgICAgICAgICAgICAgIFNldCA8ZmlsZW5hbWU+TUFDSElORTwvZmlsZW5hbWU+IHRvICJNQUNISU5FQiIgYW5kIHRoZQorICAgICAgICAgICAgICAgICAgICBidWlsZCBzeXN0ZW0gdXNlcyBmaWxlcyBmcm9tCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5maWxlcy9NQUNISU5FQjwvZmlsZW5hbWU+LgorICAgICAgICAgICAgICAgICAgICBGaW5hbGx5LCBmb3IgYW55IG1hY2hpbmUgb3RoZXIgdGhhbiAiTUFDSElORUEiIGFuZAorICAgICAgICAgICAgICAgICAgICAiTUFDSElORUIiLCB0aGUgYnVpbGQgc3lzdGVtIHVzZXMgZmlsZXMgZnJvbQorICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+ZmlsZXMvZGVmY29uZmlnPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICAgICAgICAgPHBhcmE+CkBAIC02MDc2LDExICs2MDc0LDEyIEBACiAgICAgICAgICAgICAgICAgPG5vdGU+PHRpdGxlPk5vdGVzPC90aXRsZT4KICAgICAgICAgICAgICAgICAgICAgPGl0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgIDxsaXN0aXRlbT48cGFyYT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB5b3UgYWRkICJsaXZlIiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5JTUFHRV9GU1RZUEVTPC9maWxlbmFtZT4gaW5zaWRlIGFuIGltYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBlLCBiZSBzdXJlIHRoYXQgeW91IGRvIHNvIHByaW9yIHRvIHRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbmhlcml0IGltYWdlIiBsaW5lIG9mIHRoZSByZWNpcGUgb3IgdGhlIGxpdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZSB3aWxsIG5vdCBidWlsZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiBpbWFnZSByZWNpcGUgdXNlcyB0aGUgImluaGVyaXQgaW1hZ2UiIGxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgeW91IGFyZSBzZXR0aW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPklNQUdFX0ZTVFlQRVM8L2ZpbGVuYW1lPiBpbnNpZGUgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBlLCB5b3UgbXVzdCBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+SU1BR0VfRlNUWVBFUzwvZmlsZW5hbWU+IHByaW9yIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlICJpbmhlcml0IGltYWdlIiBsaW5lLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIER1ZSB0byB0aGUgd2F5IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtCkBAIC02ODY2LDYgKzY4NjUsNDQgQEAKICAgICAgICAgICAgIDwvZ2xvc3NkZWY+CiAgICAgICAgIDwvZ2xvc3NlbnRyeT4KIAorICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUlOSElCSVRfU1lTUk9PVF9TVFJJUCc+PGdsb3NzdGVybT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2dsb3NzdGVybT4KKyAgICAgICAgICAgIDxpbmZvPgorICAgICAgICAgICAgICAgIElOSElCSVRfU1lTUk9PVF9TVFJJUFtkb2NdID0gIklmIHNldCB0byAiMSIsIGNhdXNlcyB0aGUgYnVpbGQgdG8gbm90IHN0cmlwIGJpbmFyaWVzIGluIHRoZSByZXN1bHRpbmcgc3lzcm9vdC4iCisgICAgICAgICAgICA8L2luZm8+CisgICAgICAgICAgICA8Z2xvc3NkZWY+CisgICAgICAgICAgICAgICAgPHBhcmEgcm9sZT0iZ2xvc3NkZWZmaXJzdCI+Cis8IS0tICAgICAgICAgICAgICAgIDxwYXJhIHJvbGU9Imdsb3NzZGVmZmlyc3QiPjxpbWFnZWRhdGEgZmlsZXJlZj0iZmlndXJlcy9kZWZpbmUtZ2VuZXJpYy5wbmciIC8+IC0tPgorICAgICAgICAgICAgICAgICAgICBJZiBzZXQgdG8gIjEiLCBjYXVzZXMgdGhlIGJ1aWxkIHRvIG5vdCBzdHJpcCBiaW5hcmllcyBpbgorICAgICAgICAgICAgICAgICAgICB0aGUgcmVzdWx0aW5nIHN5c3Jvb3QuCisgICAgICAgICAgICAgICAgPC9wYXJhPgorCisgICAgICAgICAgICAgICAgPHBhcmE+CisgICAgICAgICAgICAgICAgICAgIEJ5IGRlZmF1bHQsIHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHN0cmlwcworICAgICAgICAgICAgICAgICAgICBiaW5hcmllcyBpbiB0aGUgcmVzdWx0aW5nIHN5c3Jvb3QuCisgICAgICAgICAgICAgICAgICAgIFdoZW4geW91IHNwZWNpZmljYWxseSBzZXQgdGhlCisgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2ZpbGVuYW1lPiB2YXJpYWJsZSB0bworICAgICAgICAgICAgICAgICAgICAiMSIgaW4geW91ciByZWNpcGUsIHlvdSBpbmhpYml0IHRoaXMgc3RyaXBwaW5nLgorICAgICAgICAgICAgICAgIDwvcGFyYT4KKworICAgICAgICAgICAgICAgIDxwYXJhPgorICAgICAgICAgICAgICAgICAgICBJZiB5b3Ugd2FudCB0byB1c2UgdGhpcyB2YXJpYWJsZSwgaW5jbHVkZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgPGxpbmsgbGlua2VuZD0ncmVmLWNsYXNzZXMtc3RhZ2luZyc+PGZpbGVuYW1lPnN0YWdpbmc8L2ZpbGVuYW1lPjwvbGluaz4KKyAgICAgICAgICAgICAgICAgICAgY2xhc3MuCisgICAgICAgICAgICAgICAgICAgIFRoaXMgY2xhc3MgdXNlcyBhIDxmaWxlbmFtZT5zeXNfc3RyaXAoKTwvZmlsZW5hbWU+CisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHRvIHRlc3QgZm9yIHRoZSB2YXJpYWJsZSBhbmQgYWN0cyBhY2NvcmRpbmdseS4KKyAgICAgICAgICAgICAgICAgICAgPG5vdGU+CisgICAgICAgICAgICAgICAgICAgICAgICBVc2Ugb2YgdGhlIDxmaWxlbmFtZT5JTkhJQklUX1NZU1JPT1RfU1RSSVA8L2ZpbGVuYW1lPgorICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGUgb2NjdXJzIGluIHJhcmUgYW5kIHNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgIEZvciBleGFtcGxlLCBzdXBwb3NlIHlvdSBhcmUgYnVpbGRpbmcgYmFyZS1tZXRhbAorICAgICAgICAgICAgICAgICAgICAgICAgZmlybXdhcmUgYnkgdXNpbmcgYW4gZXh0ZXJuYWwgR0NDIHRvb2xjaGFpbi4KKyAgICAgICAgICAgICAgICAgICAgICAgIEZ1cnRoZXJtb3JlLCBldmVuIGlmIHRoZSB0b29sY2hhaW4ncyBiaW5hcmllcyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwcGFibGUsIG90aGVyIGZpbGVzIGV4aXN0IHRoYXQgYXJlIG5lZWRlZCBmb3IgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICBidWlsZCB0aGF0IGFyZSBub3Qgc3RyaXBwYWJsZS4KKyAgICAgICAgICAgICAgICAgICAgPC9ub3RlPgorICAgICAgICAgICAgICAgIDwvcGFyYT4KKyAgICAgICAgICAgIDwvZ2xvc3NkZWY+CisgICAgICAgIDwvZ2xvc3NlbnRyeT4KKwogICAgICAgICA8Z2xvc3NlbnRyeSBpZD0ndmFyLUlOSVRSQU1GU19GU1RZUEVTJz48Z2xvc3N0ZXJtPklOSVRSQU1GU19GU1RZUEVTPC9nbG9zc3Rlcm0+CiAgICAgICAgICAgICA8aW5mbz4KICAgICAgICAgICAgICAgICBJTklUUkFNRlNfRlNUWVBFU1tkb2NdID0gIkRlZmluZXMgdGhlIGZvcm1hdCBmb3IgdGhlIG91dHB1dCBpbWFnZSBvZiBhbiBpbml0aWFsIFJBTSBmaWxlc3lzdGVtIChpbml0cmFtZnMpLCB3aGljaCBpcyB1c2VkIGR1cmluZyBib290LiIKQEAgLTk5MzMsNyArOTk3MCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGVuYW1lPi9iaW4vLmRlYnVnPC9maWxlbmFtZT4uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlIGZpbGVzIGFyZSBwbGFjZWQgaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlsZW5hbWU+L3Vzci9zcmMvZGVidWc8L2ZpbGVuYW1lPi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWJ1Zy1maWxlLWRpcmVjdG9yeSI6IERlYnVnIHN5bWJvbCBmaWxlcyBhcmUKQEAgLTk5NTcsNiArOTk5Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi5kZWJ1ZyIgcHJldmlvdXNseSBkZXNjcmliZWQgd2l0aCB0aGUgZXhjZXB0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBhbGwgc291cmNlIGZpbGVzIGFyZSBwbGFjZWQgaW4gYSBzZXBhcmF0ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4qLXNyYzwvZmlsZW5hbWU+IHBrZy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgICAgICAgICA8L2l0ZW1pemVkbGlzdD4KICAgICAgICAgICAgICAgICA8L3BhcmE+CkBAIC0xMzAwMiw3ICsxMzAzOSw3IEBACiAgICAgICAgICAgICAgICAgICAgIDxmaWxlbmFtZT4vbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZjwvZmlsZW5hbWU+KQogICAgICAgICAgICAgICAgICAgICBkZWZpbmVzIHRoZSA8ZmlsZW5hbWU+U0RLX1ZFUlNJT048L2ZpbGVuYW1lPiBhcyBmb2xsb3dzOgogICAgICAgICAgICAgICAgICAgICA8bGl0ZXJhbGxheW91dCBjbGFzcz0nbW9ub3NwYWNlZCc+Ci0gICAgIFNES19WRVJTSU9OIDo9ICIke0AnJHtESVNUUk9fVkVSU0lPTn0nLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpfSIKKyAgICAgU0RLX1ZFUlNJT04gPSAiJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJykucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90Jyl9IgogICAgICAgICAgICAgICAgICAgICA8L2xpdGVyYWxsYXlvdXQ+CiAgICAgICAgICAgICAgICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZXNvdXJjZXMueG1sIGIvcG9reS9kb2N1bWVudGF0aW9uL3JlZi1tYW51YWwvcmVzb3VyY2VzLnhtbAppbmRleCBiZTA0Njk2Li42YTBjZWU4IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vcmVmLW1hbnVhbC9yZXNvdXJjZXMueG1sCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi9yZWYtbWFudWFsL3Jlc291cmNlcy54bWwKQEAgLTE1NSw3ICsxNTUsNyBAQAogICAgICAgICAgICAgICAgIDwvcGFyYT48L2xpc3RpdGVtPgogICAgICAgICAgICAgPGxpc3RpdGVtPjxwYXJhPgogICAgICAgICAgICAgICAgIDxlbXBoYXNpcz4KLSAgICAgICAgICAgICAgICA8dWxpbmsgdXJsPScmWU9DVE9fRE9DU19CQl9VUkw7Jz5CaXRCYWtlIFVzZXIgTWFudWFsOjwvdWxpbms+CisgICAgICAgICAgICAgICAgPHVsaW5rIHVybD0nJllPQ1RPX0RPQ1NfQkJfVVJMOyc+Qml0QmFrZSBVc2VyIE1hbnVhbDwvdWxpbms+OgogICAgICAgICAgICAgICAgIDwvZW1waGFzaXM+CiAgICAgICAgICAgICAgICAgQSBjb21wcmVoZW5zaXZlIGd1aWRlIHRvIHRoZSBCaXRCYWtlIHRvb2wuCiAgICAgICAgICAgICAgICAgSWYgeW91IHdhbnQgaW5mb3JtYXRpb24gb24gQml0QmFrZSwgc2VlIHRoaXMgbWFudWFsLgpkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3Nkay1tYW51YWwvc2RrLW1hbnVhbC54bWwgYi9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbAppbmRleCA3ZjkzZDVmLi4xODI4MTE5IDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vc2RrLW1hbnVhbC9zZGstbWFudWFsLnhtbApAQCAtNjIsOSArNjIsOSBAQAogICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgICAgICA8cmV2aXNpb24+Ci0gICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjYuMTwvcmV2bnVtYmVyPgorICAgICAgICAgICAgICAgIDxyZXZudW1iZXI+Mi43PC9yZXZudW1iZXI+CiAgICAgICAgICAgICAgICAgPGRhdGU+JlJFTF9NT05USF9ZRUFSOzwvZGF0ZT4KLSAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi42LjEgUmVsZWFzZS48L3JldnJlbWFyaz4KKyAgICAgICAgICAgICAgICA8cmV2cmVtYXJrPlJlbGVhc2VkIHdpdGggdGhlIFlvY3RvIFByb2plY3QgMi43IFJlbGVhc2UuPC9yZXZyZW1hcms+CiAgICAgICAgICAgICA8L3JldmlzaW9uPgogICAgICAgIDwvcmV2aGlzdG9yeT4KIApkaWZmIC0tZ2l0IGEvcG9reS9kb2N1bWVudGF0aW9uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLnhtbCBiL3Bva3kvZG9jdW1lbnRhdGlvbi90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC54bWwKaW5kZXggZGNjMjk5MC4uNDJkYzZhMyAxMDA2NDQKLS0tIGEvcG9reS9kb2N1bWVudGF0aW9uL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLnhtbAorKysgYi9wb2t5L2RvY3VtZW50YXRpb24vdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwueG1sCkBAIC03Miw5ICs3Miw5IEBACiAgICAgICAgICAgICAgICAgPHJldnJlbWFyaz5SZWxlYXNlZCB3aXRoIHRoZSBZb2N0byBQcm9qZWN0IDIuNiBSZWxlYXNlLjwvcmV2cmVtYXJrPgogICAgICAgICAgICAgPC9yZXZpc2lvbj4KICAgICAgICAgICAgIDxyZXZpc2lvbj4KLSAgICAgICAgICAgICAgICA8cmV2bnVtYmVyPjIuNi4xPC9yZXZudW1iZXI+CisgICAgICAgICAgICAgICAgPHJldm51bWJlcj4yLjc8L3Jldm51bWJlcj4KICAgICAgICAgICAgICAgICA8ZGF0ZT4mUkVMX01PTlRIX1lFQVI7PC9kYXRlPgotICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjYuMSBSZWxlYXNlLjwvcmV2cmVtYXJrPgorICAgICAgICAgICAgICAgIDxyZXZyZW1hcms+UmVsZWFzZWQgd2l0aCB0aGUgWW9jdG8gUHJvamVjdCAyLjcgUmVsZWFzZS48L3JldnJlbWFyaz4KICAgICAgICAgICAgIDwvcmV2aXNpb24+CiAgICAgICAgPC9yZXZoaXN0b3J5PgogCmRpZmYgLS1naXQgYS9wb2t5L2RvY3VtZW50YXRpb24vdG9vbHMvbWVnYS1tYW51YWwuc2VkIGIvcG9reS9kb2N1bWVudGF0aW9uL3Rvb2xzL21lZ2EtbWFudWFsLnNlZAppbmRleCBmNmUyMDVmLi43OWJiZWVmIDEwMDY0NAotLS0gYS9wb2t5L2RvY3VtZW50YXRpb24vdG9vbHMvbWVnYS1tYW51YWwuc2VkCisrKyBiL3Bva3kvZG9jdW1lbnRhdGlvbi90b29scy9tZWdhLW1hbnVhbC5zZWQKQEAgLTEsNDAgKzEsMzYgQEAKLSMgUHJvY2Vzc2VzIHBva3ktcmVmLW1hbnVhbCBhbmQgeW9jdG8tcHJvamVjdC1xcyBtYW51YWwgKDx3b3JkPi08d29yZD4tPHdvcmQ+IHN0eWxlKS4KLSMgVGhpcyBzdHlsZSBpcyBmb3IgbWFudWFsIGZvbGRlcnMgbGlrZSAieW9jdG8tcHJvamVjdC1xcyIgYW5kICJwb2t5LXJlZi1tYW51YWwiLgotIyBUaGlzIGlzIHRoZSBvbGQgd2F5IHRoYXQgZGlkIGl0LiAgQ2FuJ3QgZG8gdGhhdCBub3cgdGhhdCB3ZSBoYXZlICJiaXRiYWtlLXVzZXItbWFudWFsIiBzdHJpbmdzCi0jIGluIHRoZSBtZWdhLW1hbnVhbC4KLSMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL1thLXpdKi1bYS16XSotW2Etel0qL1thLXpdKi1bYS16XSotW2Etel0qLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS95b2N0by1wcm9qZWN0LXFzL3lvY3RvLXByb2plY3QtcXMuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Bva3ktcmVmLW1hbnVhbC9wb2t5LXJlZi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworIyBQcm9jZXNzZXMgYml0YmFrZS11c2VyLW1hbnVhbCAoPHdvcmQ+LTx3b3JkPi08d29yZD4gc3R5bGUpLgorIyBUaGlzIHN0eWxlIGlzIGZvciBtYW51YWwgdGhyZWUtd29yZCBmb2xkZXJzLCB3aGljaCBjdXJyZW50bHkgaXMgb25seSB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbC4KKyMgV2UgdXNlZCB0byBoYXZlIHRoZSAieW9jdG8tcHJvamVjdC1xcyIgYW5kICJwb2t5LXJlZi1tYW51YWwiIGZvbGRlcnMgYnV0IG5vIGxvbmdlciBkby4KKyMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9bYS16XSotW2Etel0qLVthLXpdKi9bYS16XSotW2Etel0qLVthLXpdKi5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2JpdGJha2UtdXNlci1tYW51YWwvYml0YmFrZS11c2VyLW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCiAKLSMgUHJvY2Vzc2VzIGFsbCBvdGhlciBtYW51YWxzICg8d29yZD4tPHdvcmQ+IHN0eWxlKSBleGNlcHQgZm9yIHRoZSBCaXRCYWtlIFVzZXIgTWFudWFsIGJlY2F1c2UKLSMgaXQgaXMgbm90IGluY2x1ZGVkIGluIHRoZSBtZWdhLW1hbnVhbC4KKyMgUHJvY2Vzc2VzIGFsbCBvdGhlciBtYW51YWxzICg8d29yZD4tPHdvcmQ+IHN0eWxlKS4KICMgVGhpcyBzdHlsZSBpcyBmb3IgbWFudWFsIGZvbGRlcnMgdGhhdCB1c2UgdHdvIHdvcmQsIHdoaWNoIGlzIHRoZSBzdGFuZGFyZCBub3cgKGUuZy4gInJlZi1tYW51YWwiKS4KLSMgVGhpcyB3YXMgdGhlIG9uZS1saW5lciB0aGF0IHdvcmtlZCBiZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgQml0QmFrZSBVc2VyIE1hbnVhbCwgd2hpY2ggaXMKLSMgbm90IGluIHRoZSBtZWdhLW1hbnVhbC4KLSMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL1thLXpdKi1bYS16XSovW2Etel0qLVthLXpdKi5odG1sI0AibGluayIgaHJlZj0iI0BnCisjIEhlcmUgaXMgdGhlIG9uZS1saW5lcjoKKyMgc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9bYS16XSotW2Etel0qL1thLXpdKi1bYS16XSouaHRtbCNAImxpbmsiIGhyZWY9IiNAZwogCi1zQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvc2RrLW1hbnVhbC9zZGstbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9ic3AtZ3VpZGUvYnNwLWd1aWRlLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9rZXJuZWwtZGV2L2tlcm5lbC1kZXYuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKLXNAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9yZWYtbWFudWFsL3JlZi1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwotc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3RvYXN0ZXItbWFudWFsL3RvYXN0ZXItbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvc2RrLW1hbnVhbC9zZGstbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnNwLWd1aWRlL2JzcC1ndWlkZS5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2Rldi1tYW51YWwvZGV2LW1hbnVhbC5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZworc0AidWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9icmllZi15b2N0b3Byb2plY3Rxcy9icmllZi15b2N0b3Byb2plY3Rxcy5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sI0AibGluayIgaHJlZj0iI0BnCitzQCJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwjQCJsaW5rIiBocmVmPSIjQGcKK3NAInVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwuaHRtbCNAImxpbmsiIGhyZWY9IiNAZwogCiAjIFByb2Nlc3MgY2FzZXMgd2hlcmUganVzdCBhbiBleHRlcm5hbCBtYW51YWwgaXMgcmVmZXJlbmNlZCB3aXRob3V0IGFuIGlkIGFuY2hvcgotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JyaWVmLXlvY3RvcHJvamVjdHFzL2JyaWVmLXlvY3RvcHJvamVjdHFzLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBRdWljayBCdWlsZDwvYT5AWW9jdG8gUHJvamVjdCBRdWljayBCdWlsZEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEveW9jdG8tcHJvamVjdC1xcy95b2N0by1wcm9qZWN0LXFzLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBRdWljayBTdGFydDwvYT5AWW9jdG8gUHJvamVjdCBRdWljayBTdGFydEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvZGV2LW1hbnVhbC9kZXYtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBEZXZlbG9wbWVudCBUYXNrcyBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgRGV2ZWxvcG1lbnQgVGFza3MgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9vdmVydmlldy1tYW51YWwvb3ZlcnZpZXctbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBPdmVydmlldyBhbmQgQ29uY2VwdHMgTWFudWFsPC9hPkBZb2N0byBwcm9qZWN0IE92ZXJ2aWV3IGFuZCBDb25jZXB0cyBNYW51YWxAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESyk8L2E+QFlvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESylAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2JzcC1ndWlkZS9ic3AtZ3VpZGUuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IEJvYXJkIFN1cHBvcnQgUGFja2FnZSAoQlNQKSBEZXZlbG9wZXIncyBHdWlkZTwvYT5AWW9jdG8gUHJvamVjdCBCb2FyZCBTdXBwb3J0IFBhY2thZ2UgKEJTUCkgRGV2ZWxvcGVyJ3MgR3VpZGVAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL3Byb2ZpbGUtbWFudWFsL3Byb2ZpbGUtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBQcm9maWxpbmcgYW5kIFRyYWNpbmcgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFByb2ZpbGluZyBhbmQgVHJhY2luZyBNYW51YWxAZwotc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNi4xL2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBMaW51eCBLZXJuZWwgRGV2ZWxvcG1lbnQgTWFudWFsQGcKLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9yZWYtbWFudWFsL3JlZi1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgUmVmZXJlbmNlIE1hbnVhbEBnCi1zQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi42LjEvdG9hc3Rlci1tYW51YWwvdG9hc3Rlci1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Ub2FzdGVyIFVzZXIgTWFudWFsPC9hPkBUb2FzdGVyIFVzZXIgTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYnJpZWYteW9jdG9wcm9qZWN0cXMvYnJpZWYteW9jdG9wcm9qZWN0cXMuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFF1aWNrIEJ1aWxkPC9hPkBZb2N0byBQcm9qZWN0IFF1aWNrIEJ1aWxkQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvYml0YmFrZS11c2VyLW1hbnVhbC9iaXRiYWtlLXVzZXItbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+Qml0QmFrZSBVc2VyIE1hbnVhbDwvYT5AQml0QmFrZSBVc2VyIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2Rldi1tYW51YWwvZGV2LW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgRGV2ZWxvcG1lbnQgVGFza3MgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IERldmVsb3BtZW50IFRhc2tzIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L292ZXJ2aWV3LW1hbnVhbC9vdmVydmlldy1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IE92ZXJ2aWV3IGFuZCBDb25jZXB0cyBNYW51YWw8L2E+QFlvY3RvIHByb2plY3QgT3ZlcnZpZXcgYW5kIENvbmNlcHRzIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L3Nkay1tYW51YWwvc2RrLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESyk8L2E+QFlvY3RvIFByb2plY3QgQXBwbGljYXRpb24gRGV2ZWxvcG1lbnQgYW5kIHRoZSBFeHRlbnNpYmxlIFNvZnR3YXJlIERldmVsb3BtZW50IEtpdCAoZVNESylAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9ic3AtZ3VpZGUvYnNwLWd1aWRlLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBCb2FyZCBTdXBwb3J0IFBhY2thZ2UgKEJTUCkgRGV2ZWxvcGVyJ3MgR3VpZGU8L2E+QFlvY3RvIFByb2plY3QgQm9hcmQgU3VwcG9ydCBQYWNrYWdlIChCU1ApIERldmVsb3BlcidzIEd1aWRlQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcHJvZmlsZS1tYW51YWwvcHJvZmlsZS1tYW51YWwuaHRtbCIgdGFyZ2V0PSJfdG9wIj5Zb2N0byBQcm9qZWN0IFByb2ZpbGluZyBhbmQgVHJhY2luZyBNYW51YWw8L2E+QFlvY3RvIFByb2plY3QgUHJvZmlsaW5nIGFuZCBUcmFjaW5nIE1hbnVhbEBnCitzQDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi43L2tlcm5lbC1kZXYva2VybmVsLWRldi5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTGludXggS2VybmVsIERldmVsb3BtZW50IE1hbnVhbDwvYT5AWW9jdG8gUHJvamVjdCBMaW51eCBLZXJuZWwgRGV2ZWxvcG1lbnQgTWFudWFsQGcKK3NAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjcvcmVmLW1hbnVhbC9yZWYtbWFudWFsLmh0bWwiIHRhcmdldD0iX3RvcCI+WW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgTWFudWFsPC9hPkBZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBNYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy90b2FzdGVyLW1hbnVhbC90b2FzdGVyLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPlRvYXN0ZXIgVXNlciBNYW51YWw8L2E+QFRvYXN0ZXIgVXNlciBNYW51YWxAZwogCiAjIFByb2Nlc3MgYSBzaW5nbGUsIHJvdWdlIG9jY3VycmVuY2Ugb2YgYSBsaW5rZWQgcmVmZXJlbmNlIHRvIHRoZSBNZWdhLU1hbnVhbC4KLXNAPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vd3d3LnlvY3RvcHJvamVjdC5vcmcvZG9jcy8yLjYuMS9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTWVnYS1NYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTWVnYS1NYW51YWxAZworc0A8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuNy9tZWdhLW1hbnVhbC9tZWdhLW1hbnVhbC5odG1sIiB0YXJnZXQ9Il90b3AiPllvY3RvIFByb2plY3QgTWVnYS1NYW51YWw8L2E+QFlvY3RvIFByb2plY3QgTWVnYS1NYW51YWxAZwogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9SRUFETUUucG9reSBiL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CmluZGV4IDBhNDI4NDMuLjIyMDQ4MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CisrKyBiL3Bva3kvbWV0YS1wb2t5L1JFQURNRS5wb2t5CkBAIC0yNyw2ICsyNywxOSBAQAogRm9yIGluZm9ybWF0aW9uIGFib3V0IE9wZW5FbWJlZGRlZCwgc2VlIHRoZSBPcGVuRW1iZWRkZWQgd2Vic2l0ZToKICAgICBodHRwOi8vd3d3Lm9wZW5lbWJlZGRlZC5vcmcvCiAKKworQ29udHJpYnV0aW9uIEd1aWRlbGluZXMKKz09PT09PT09PT09PT09PT09PT09PT09CisKK0EgZ3VpZGUgdG8gc3VibWl0dGluZyBwYXRjaGVzIHRvIE9wZW5FbWJlZGRlZCBpcyBhdmFpbGFibGUgYXQ6CisKK2h0dHA6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy93aWtpL0hvd190b19zdWJtaXRfYV9wYXRjaF90b19PcGVuRW1iZWRkZWQKKworVGhlcmUgaXMgZ29vZCBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byB3cml0ZS9mb3JtYXQgcGF0Y2hlcyBhdDoKKworaHR0cHM6Ly93d3cub3BlbmVtYmVkZGVkLm9yZy93aWtpL0NvbW1pdF9QYXRjaF9NZXNzYWdlX0d1aWRlbGluZXMKKworCiBXaGVyZSB0byBTZW5kIFBhdGNoZXMKID09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9pbmNsdWRlL3Bva3ktZmxvYXRpbmctcmV2aXNpb25zLmluYyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCmluZGV4IGEzZGEwNDMuLjFmYzUwNDUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL2luY2x1ZGUvcG9reS1mbG9hdGluZy1yZXZpc2lvbnMuaW5jCkBAIC0yNiw4ICsyNiw2IEBACiBTUkNSRVZfcG4tbWF0Y2hib3gtZGVza3RvcC1zYXRvID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLW9oLXB1enpsZXMgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tbGlib3dsID89ICIke0FVVE9SRVZ9IgotU1JDUkVWX3BuLWZzdGVzdHMgPz0gIiR7QVVUT1JFVn0iCi1TUkNSRVZfcG4teHZpZGVvLXRlc3RzID89ICIke0FVVE9SRVZ9IgogU1JDUkVWX3BuLWNsdXR0ZXIgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tY2x1dHRlci1nc3QgPz0gIiR7QVVUT1JFVn0iCiBTUkNSRVZfcG4tbGlibWF0Y2hib3ggPz0gIiR7QVVUT1JFVn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LWxzYi5jb25mIGIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS1sc2IuY29uZgppbmRleCAxYzQyNmJhLi41YzdlMjcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LWxzYi5jb25mCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3ktbHNiLmNvbmYKQEAgLTExLDQgKzExLDQgQEAKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcG4tbGludXgteW9jdG8gPSAiIGZlYXR1cmVzL25mc2QvbmZzZC1lbmFibGUuc2NjIgogCiAjIFVzZSB0aGUgTFRTSSBLZXJuZWwgZm9yIExTQiBUZXN0aW5nCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0b19saW51eHN0ZGJhc2UgPz0gIjQuMTQlIgorUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG9fbGludXhzdGRiYXNlID89ICI0LjE5JSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZiBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvZGlzdHJvL3Bva3kuY29uZgppbmRleCBhMzcwYjIxLi42NTQ0YzAzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2Rpc3Ryby9wb2t5LmNvbmYKKysrIGIvcG9reS9tZXRhLXBva3kvY29uZi9kaXN0cm8vcG9reS5jb25mCkBAIC0xLDkgKzEsOSBAQAogRElTVFJPID0gInBva3kiCiBESVNUUk9fTkFNRSA9ICJQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBEaXN0cm8pIgotRElTVFJPX1ZFUlNJT04gPSAiMi42LjIiCi1ESVNUUk9fQ09ERU5BTUUgPSAidGh1ZCIKK0RJU1RST19WRVJTSU9OID0gIjIuNitzbmFwc2hvdC0ke0RBVEV9IgorRElTVFJPX0NPREVOQU1FID0gIm1hc3RlciIKIFNES19WRU5ET1IgPSAiLXBva3lzZGsiCi1TREtfVkVSU0lPTiA6PSAiJHtAJyR7RElTVFJPX1ZFUlNJT059Jy5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9Jywnc25hcHNob3QnKX0iCitTREtfVkVSU0lPTiA9ICIke0BkLmdldFZhcignRElTVFJPX1ZFUlNJT04nKS5yZXBsYWNlKCdzbmFwc2hvdC0ke0RBVEV9JywgJ3NuYXBzaG90Jyl9IgogCiBNQUlOVEFJTkVSID0gIlBva3kgPHBva3lAeW9jdG9wcm9qZWN0Lm9yZz4iCiAKQEAgLTIxLDkgKzIxLDkgQEAKIAogRElTVFJPX0ZFQVRVUkVTID89ICIke0RJU1RST19GRUFUVVJFU19ERUZBVUxUfSAke0RJU1RST19GRUFUVVJFU19MSUJDfSAke1BPS1lfREVGQVVMVF9ESVNUUk9fRkVBVFVSRVN9IgogCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAotU0RLX05BTUUgPSAiJHtESVNUUk99LSR7VENMSUJDfS0ke1NES19BUkNIfS0ke0lNQUdFX0JBU0VOQU1FfS0ke1RVTkVfUEtHQVJDSH0iCitTREtfTkFNRSA9ICIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLTUFDSElORX0tJHtJTUFHRV9CQVNFTkFNRX0tJHtUVU5FX1BLR0FSQ0h9LSR7TUFDSElORX0iCiBTREtQQVRIID0gIi9vcHQvJHtESVNUUk99LyR7U0RLX1ZFUlNJT059IgogCiBESVNUUk9fRVhUUkFfUkRFUEVORFMgKz0gIiAke1BPS1lfREVGQVVMVF9FWFRSQV9SREVQRU5EU30iCkBAIC0zOSw5ICszOSw2IEBACiAKIFRDTElCQ0FQUEVORCA9ICIiCiAKLVFFTVVfVEFSR0VUUyA/PSAiYXJtIGFhcmNoNjQgaTM4NiBtaXBzIG1pcHNlbCBtaXBzNjQgbWlwczY0ZWwgbmlvczIgcHBjIHg4Nl82NCIKLSMgT3RoZXIgUUVNVV9UQVJHRVRTICJzaDQiCi0KIFBSRU1JUlJPUlMgPz89ICJcCiBienI6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAogY3ZzOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKQEAgLTUyLDE3ICs0OSw2IEBACiBwNDovLy4qLy4qICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAogc3ZuOi8vLiovLiogICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIgogCi1NSVJST1JTID0rICJcCi1mdHA6Ly8uKi8uKiAgICAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXG4gXAotaHR0cDovLy4qLy4qICAgICBodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvIFxuIFwKLWh0dHBzOi8vLiovLiogICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcbiIKLQotIyBUaGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSSdzIGFyZSB1c2VkIHRvIHRlc3Qgd2hldGhlciB3ZSBjYW4gc3VjY2VzZnVsbHkKLSMgZmV0Y2ggZnJvbSB0aGUgbmV0d29yayAoYW5kIHdhcm4geW91IGlmIG5vdCkuIFRvIGRpc2FibGUgdGhlIHRlc3Qgc2V0Ci0jIHRoZSB2YXJpYWJsZSB0byBiZSBlbXB0eS4KLSMgR2l0IGV4YW1wbGUgdXJsOiBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1maXJld2FsbC10ZXN0O3Byb3RvY29sPWdpdDtyZXY9bWFzdGVyCi1DT05ORUNUSVZJVFlfQ0hFQ0tfVVJJUyA/PSAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vIgotCiBTQU5JVFlfVEVTVEVEX0RJU1RST1MgPz0gIiBcCiAgICAgICAgICAgICBwb2t5LTIuNSBcbiBcCiAgICAgICAgICAgICBwb2t5LTIuNiBcbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEtcG9reS9jb25mL2xheWVyLmNvbmYKaW5kZXggYjliMjYzNy4uMGQ3NGY0ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXBva3kvY29uZi9sYXllci5jb25mCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbGF5ZXIuY29uZgpAQCAtOSw3ICs5LDcgQEAKIEJCRklMRV9QQVRURVJOX3lvY3RvID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfeW9jdG8gPSAiNSIKIAotTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfeW9jdG8gPSAid2FycmlvciIKIAogIyBUaGlzIHNob3VsZCBvbmx5IGJlIGluY3JlbWVudGVkIG9uIHNpZ25pZmljYW50IGNoYW5nZXMgdGhhdCB3aWxsCiAjIGNhdXNlIGNvbXBhdGliaWxpdHkgaXNzdWVzIHdpdGggb3RoZXIgbGF5ZXJzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlIGIvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZQppbmRleCBjZjk2NTk4Li45MDY4ZTU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUKQEAgLTEyNCw2ICsxMjQsOCBAQAogIyB2YXJpYWJsZSBjYW4gY29udGFpbiB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CiAjICAiZGJnLXBrZ3MiICAgICAgIC0gYWRkIC1kYmcgcGFja2FnZXMgZm9yIGFsbCBpbnN0YWxsZWQgcGFja2FnZXMKICMgICAgICAgICAgICAgICAgICAgICAoYWRkcyBzeW1ib2wgaW5mb3JtYXRpb24gZm9yIGRlYnVnZ2luZy9wcm9maWxpbmcpCisjICAic3JjLXBrZ3MiICAgICAgIC0gYWRkIC1zcmMgcGFja2FnZXMgZm9yIGFsbCBpbnN0YWxsZWQgcGFja2FnZXMKKyMgICAgICAgICAgICAgICAgICAgICAoYWRkcyBzb3VyY2UgY29kZSBmb3IgZGVidWdnaW5nKQogIyAgImRldi1wa2dzIiAgICAgICAtIGFkZCAtZGV2IHBhY2thZ2VzIGZvciBhbGwgaW5zdGFsbGVkIHBhY2thZ2VzCiAjICAgICAgICAgICAgICAgICAgICAgKHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBkZXZlbG9wIGFnYWluc3QgbGlicyBpbiB0aGUgaW1hZ2UpCiAjICAicHRlc3QtcGtncyIgICAgIC0gYWRkIC1wdGVzdCBwYWNrYWdlcyBmb3IgYWxsIHB0ZXN0LWVuYWJsZWQgcGFja2FnZXMKQEAgLTIzOSw3ICsyNDEsNyBAQAogIyBzZWVuLiBUaGUgdHdvIGxpbmVzIGJlbG93IGVuYWJsZSB0aGUgU0RMIGJhY2tlbmQgdG9vLiBCeSBkZWZhdWx0IGxpYnNkbDItbmF0aXZlIHdpbGwKICMgYmUgYnVpbHQsIGlmIHlvdSB3YW50IHRvIHVzZSB5b3VyIGhvc3QncyBsaWJTREwgaW5zdGVhZCBvZiB0aGUgbWluaW1hbCBsaWJzZGwgYnVpbHQKICMgYnkgbGlic2RsMi1uYXRpdmUgdGhlbiB1bmNvbW1lbnQgdGhlIEFTU1VNRV9QUk9WSURFRCBsaW5lIGJlbG93LgotUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1uYXRpdmUgPSAiIHNkbCIKK1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgc2RsIgogUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tbmF0aXZlc2RrLXFlbXUgPSAiIHNkbCIKICNBU1NVTUVfUFJPVklERUQgKz0gImxpYnNkbDItbmF0aXZlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlLmV4dGVuZGVkIGIvcG9reS9tZXRhLXBva3kvY29uZi9sb2NhbC5jb25mLnNhbXBsZS5leHRlbmRlZAppbmRleCAzYmE5OWY0Li44N2QyMTFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtcG9reS9jb25mL2xvY2FsLmNvbmYuc2FtcGxlLmV4dGVuZGVkCisrKyBiL3Bva3kvbWV0YS1wb2t5L2NvbmYvbG9jYWwuY29uZi5zYW1wbGUuZXh0ZW5kZWQKQEAgLTI5MCwxOCArMjkwLDE4IEBACiAKICMgSW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgogIyBJbmhlcml0IGV4dHJhdXNlcnMgdG8gbWFrZSB0aGUgc2V0dGluZyBvZiBFWFRSQV9VU0VSU19QQVJBTVMgZWZmZWN0aXZlLgotI0lOSEVSSVQgKz0gImV4dHJhdXNlcnMiCisjSU1BR0VfQ0xBU1NFUyArPSAiZXh0cmF1c2VycyIKICMgVXNlciAvIGdyb3VwIHNldHRpbmdzCi0jIFRoZSBzZXR0aW5ncyBhcmUgc3BlcmF0ZWQgYnkgdGhlIDsgY2hhcmFjdGVyLgorIyBUaGUgc2V0dGluZ3MgYXJlIHNlcGFyYXRlZCBieSB0aGUgOyBjaGFyYWN0ZXIuCiAjIEVhY2ggc2V0dGluZyBpcyBhY3R1YWxseSBhIGNvbW1hbmQuIFRoZSBzdXBwb3J0ZWQgY29tbWFuZHMgYXJlIHVzZXJhZGQsCiAjIGdyb3VwYWRkLCB1c2VyZGVsLCBncm91cGRlbCwgdXNlcm1vZCBhbmQgZ3JvdXBtb2QuCiAjRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKLSN1c2VyYWRkIC1wICcnIHRlc3RlcjsgXAotI2dyb3VwYWRkIGRldmVsb3BlcnM7IFwKLSN1c2VyZGVsIG5vYm9keTsgXAotI2dyb3VwZGVsIHZpZGVvOyBcCi0jZ3JvdXBtb2QgLWcgMTAyMCBkZXZlbG9wZXJzOyBcCi0jdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAorIyAgICB1c2VyYWRkIC1wICcnIHRlc3RlcjsgXAorIyAgICBncm91cGFkZCBkZXZlbG9wZXJzOyBcCisjICAgIHVzZXJkZWwgbm9ib2R5OyBcCisjICAgIGdyb3VwZGVsIHZpZGVvOyBcCisjICAgIGdyb3VwbW9kIC1nIDEwMjAgZGV2ZWxvcGVyczsgXAorIyAgICB1c2VybW9kIC1zIC9iaW4vc2ggdGVzdGVyOyBcCiAjIgogCiAjIFZhcmlvdXMgcGFja2FnZXMgZHluYW1pY2FsbHkgYWRkIHVzZXJzIGFuZCBncm91cHMgdG8gdGhlIHN5c3RlbSBhdCBwYWNrYWdlCkBAIC0zOTUsNSArMzk1LDYgQEAKICMKICNESVNUUk9fRkVBVFVSRVNfYXBwZW5kID0gIiBzeXN0ZW1kIgogI0RJU1RST19GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEICs9ICJzeXN2aW5pdCIKKyNWSVJUVUFMLVJVTlRJTUVfbG9naW5fbWFuYWdlciA9ICJzaGFkb3ctYmFzZSIKICNWSVJUVUFMLVJVTlRJTUVfaW5pdF9tYW5hZ2VyID0gInN5c3RlbWQiCiAjVklSVFVBTC1SVU5USU1FX2luaXRzY3JpcHRzID0gInN5c3RlbWQtY29tcGF0LXVuaXRzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYuc2FtcGxlIGIvcG9reS9tZXRhLXBva3kvY29uZi9zaXRlLmNvbmYuc2FtcGxlCmluZGV4IGE0YzJmOWYuLjUxNjRmZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1wb2t5L2NvbmYvc2l0ZS5jb25mLnNhbXBsZQorKysgYi9wb2t5L21ldGEtcG9reS9jb25mL3NpdGUuY29uZi5zYW1wbGUKQEAgLTI2LDcgKzI2LDcgQEAKICMgSWYgeW91IHdpc2ggdG8gdXNlIGNlcnRhaW4gaG9zdHMgd2l0aG91dCB0aGUgcHJveHksIHNwZWNpZnkgdGhlbSBpbiBOT19QUk9YWS4KICMgU2VlIHRoZSBzY3JpcHQgZm9yIGRldGFpbHMgb24gc3ludGF4LiBUaGUgc2NyaXB0IG9lLWdpdC1wcm94eSB1c2VzIHNvbWUgdG9vbHMKICMgdGhhdCBtYXkgbm90IGJlIGluY2x1ZGVkIG9uIEhPU1RUT09MUywgdGh1cyAgYWRkIHRoZW0gbWFudWFsbHkgdGhyb3VnaAotIyBIT1NUVE9PTFMgKz0gImdldGVudCBzZXEiCisjIEhPU1RUT09MUyArPSAiZ2V0ZW50IgogCiAjIFVuY29tbWVudCB0aGlzIHRvIHVzZSBhIHNoYXJlZCBkb3dubG9hZCBkaXJlY3RvcnkKICNETF9ESVIgPSAiL3NvbWUvc2hhcmVkL2Rvd25sb2FkL2RpcmVjdG9yeS8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvY29uZi9sYXllci5jb25mIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L2NvbmYvbGF5ZXIuY29uZgppbmRleCAwNjI2YjJhLi4wODAzNTBhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEtc2VsZnRlc3QvY29uZi9sYXllci5jb25mCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9jb25mL2xheWVyLmNvbmYKQEAgLTksNCArOSw0IEBACiBCQkZJTEVfUEFUVEVSTl9zZWxmdGVzdCA9ICJeJHtMQVlFUkRJUn0vIgogQkJGSUxFX1BSSU9SSVRZX3NlbGZ0ZXN0ID0gIjUiCiAKLUxBWUVSU0VSSUVTX0NPTVBBVF9zZWxmdGVzdCA9ICJ0aHVkIgorTEFZRVJTRVJJRVNfQ09NUEFUX3NlbGZ0ZXN0ID0gIndhcnJpb3IiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvbGliL29lcWEvcnVudGltZS9jYXNlcy92aXJnbC5weSBiL3Bva3kvbWV0YS1zZWxmdGVzdC9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3ZpcmdsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMDFhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvbGliL29lcWEvcnVudGltZS9jYXNlcy92aXJnbC5weQpAQCAtMCwwICsxLDIzIEBACitmcm9tIG9lcWEucnVudGltZS5jYXNlIGltcG9ydCBPRVJ1bnRpbWVUZXN0Q2FzZQorZnJvbSBvZXFhLmNvcmUuZGVjb3JhdG9yLmRlcGVuZHMgaW1wb3J0IE9FVGVzdERlcGVuZHMKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgb2UubHNiCisKK2NsYXNzIFZpcmdsVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3NzaC5TU0hUZXN0LnRlc3Rfc3NoJ10pCisgICAgZGVmIHRlc3Rfa2VybmVsX2RyaXZlcihzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2RtZXNnfGdyZXAgdmlyZ2wnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgIkNoZWNraW5nIGZvciB2aXJnbCBkcml2ZXIgaW4gZG1lc2cgcmV0dXJuZWQgbm9uLXplcm86ICVkXG4lcyIgJSAoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEluKCJ2aXJnbCAzZCBhY2NlbGVyYXRpb24gZW5hYmxlZCIsIG91dHB1dCwgInZpcmdsIGFjY2VsZXJhdGlvbiBzZWVtcyB0byBiZSBkaXNhYmxlZDpcbiVzIiAlKG91dHB1dCkpCisKKyAgICBAT0VUZXN0RGVwZW5kcyhbJ3ZpcmdsLlZpcmdsVGVzdC50ZXN0X2tlcm5lbF9kcml2ZXInXSkKKyAgICBkZWYgdGVzdF9rbXNjdWJlKHNlbGYpOgorCisgICAgICAgIGRpc3RybyA9IG9lLmxzYi5kaXN0cm9faWRlbnRpZmllcigpCisgICAgICAgIGlmIGRpc3RybyBhbmQgZGlzdHJvID09ICdjZW50b3MtNyc6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCdrbXNjdWJlIGlzIG5vdCB3b3JraW5nIHdoZW4gY2VudG9zIDcgaXMgdGhlIGhvc3QgT1MnKQorCisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdrbXNjdWJlJywgdGltZW91dD0zMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDAsICJrbXNjdWJlIGV4aXRlZCB3aXRoIG5vbi16ZXJvIHN0YXR1cyAlZCBhbmQgb3V0cHV0OlxuJXMiICUoc3RhdHVzLCBvdXRwdXQpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdyZW5kZXJlcjogInZpcmdsIicsIG91dHB1dCwgImttc2N1YmUgZG9lcyBub3Qgc2VlbSB0byB1c2UgdmlyZ2w6XG4lcyIgJShvdXRwdXQpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy10ZXN0LmluYyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk2MDJlOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKQEAgLTAsMCArMSwxNiBAQAorU1VNTUFSWSA9ICJQeXRob24gZnJhbWV3b3JrIHRvIHByb2Nlc3MgaW50ZXJkZXBlbmRlbnQgdGFza3MgaW4gYSBwb29sIG9mIHdvcmtlcnMiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0aHViLmNvbS9naXRweXRob24tZGV2ZWxvcGVycy9hc3luYyIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9QS0ctSU5GTztiZWdpbmxpbmU9ODtlbmRsaW5lPTg7bWQ1PTg4ZGY4ZTc4YjllZGZkNzQ0OTUzODYyMTc5ZjJkMTRlIgorCitpbmhlcml0IHB5cGkKKworUFlQSV9QQUNLQUdFID0gImFzeW5jIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOWIwNmI1OTk3ZGUyMTU0ZjNiYzAyNzNmODBiY2VmNmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWM2ODk0ZDg3NmU0NTg3OGZhYWU0OTNiMGNmNjFkMGUyOGVjNDE3MzM0NDQ4YWMwYTZlYTIyMjlkODM0MzA1MSIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS10aHJlYWRpbmciCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtYXN5bmMtdGVzdF8wLjYuMi5iYiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzeW5jLXRlc3RfMC42LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJlMjQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWFzeW5jLXRlc3RfMC42LjIuYmIKQEAgLTAsMCArMSwyIEBACitpbmhlcml0IHNldHVwdG9vbHMzCityZXF1aXJlIHB5dGhvbi1hc3luYy10ZXN0LmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9kZXZ0b29sL2RldnRvb2wtdGVzdC1sb2NhbF82LjAzLmJiIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9kZXZ0b29sL2RldnRvb2wtdGVzdC1sb2NhbF82LjAzLmJiCmluZGV4IGIzNzdjYjcuLjZiZmM1NTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvZGV2dG9vbC9kZXZ0b29sLXRlc3QtbG9jYWxfNi4wMy5iYgorKysgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L2RldnRvb2wvZGV2dG9vbC10ZXN0LWxvY2FsXzYuMDMuYmIKQEAgLTksNyArOSw2IEBACiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5MmEyNTNkZjkyMTFlOWMyMDE3Mjc5NmVjZjM4OGYxMyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmQzOTg2ZDJiZWExMDlkNWRjMGU0ZjhjNDgyMmE0NTkyNzZjZjAyMTEyNWU4YzlmMjNjM2NjYTVkOGM4NTBlIgotVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOID0gIjEiCiAKIFMgPSAiJHtXT1JLRElSfS9zeXNsaW51eC0ke1BWfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9tdWx0aWNvbmZpZy9tdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlcl8wLjEuYmIgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L211bHRpY29uZmlnL211bHRpY29uZmlnLWltYWdlLXBhY2thZ2VyXzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGJjMGY1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9tdWx0aWNvbmZpZy9tdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlcl8wLjEuYmIKQEAgLTAsMCArMSwyOCBAQAorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworTUNNQUNISU5FX3ZpcnRjbGFzcy1tY2V4dGVuZC1tdXNsID0gInFlbXV4ODYtNjQiCitNQ01BQ0hJTkVfdmlydGNsYXNzLW1jZXh0ZW5kLXRpbnkgPSAicWVtdXg4NiIKK01DSU1HVFlQRV92aXJ0Y2xhc3MtbWNleHRlbmQtbXVzbCA9ICJleHQ0IgorTUNJTUdUWVBFX3ZpcnRjbGFzcy1tY2V4dGVuZC10aW55ID0gImNwaW8uZ3oiCisKK01DX0RFUExPWV9ESVJfSU1BR0UgPSAiJHtUT1BESVJ9L3RtcC1tYy0ke01DTkFNRX0vZGVwbG95L2ltYWdlcy8ke01DTUFDSElORX0iCisKK2RvX2luc3RhbGxbbWNkZXBlbmRzXSArPSAibXVsdGljb25maWc6OiR7TUNOQU1FfTpjb3JlLWltYWdlLW1pbmltYWw6ZG9faW1hZ2VfY29tcGxldGUgbXVsdGljb25maWc6OiR7TUNOQU1FfTp2aXJ0dWFsL2tlcm5lbDpkb19kZXBsb3kiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGluc3RhbGwgLWQgJHtEfS92YXIvbGliL21hY2hpbmVzLyR7TUNOQU1FfQorICAgIGluc3RhbGwgJHtNQ19ERVBMT1lfRElSX0lNQUdFfS9jb3JlLWltYWdlLW1pbmltYWwtJHtNQ01BQ0hJTkV9LiR7TUNJTUdUWVBFfSAke0R9L3Zhci9saWIvbWFjaGluZXMvJHtNQ05BTUV9L2NvcmUtaW1hZ2UtbWluaW1hbC4ke01DSU1HVFlQRX0KKyAgICBpbnN0YWxsICR7TUNfREVQTE9ZX0RJUl9JTUFHRX0vYnpJbWFnZSAke0R9L3Zhci9saWIvbWFjaGluZXMvJHtNQ05BTUV9Cit9CisKK3B5dGhvbiAoKSB7CisgICAgbWNuYW1lID0gZC5nZXRWYXIoJ01DTkFNRScpCisgICAgaWYgbm90IG1jbmFtZToKKyAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiTm90IGEgbXVsdGljb25maWcgdGFyZ2V0IikKKyAgICBtdWx0aWNvbmZpZ3MgPSBkLmdldFZhcignQkJNVUxUSUNPTkZJRycpIG9yICIiCisgICAgaWYgbWNuYW1lIG5vdCBpbiBtdWx0aWNvbmZpZ3M6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm11bHRpY29uZmlnIHRhcmdldCAlcyBub3QgZW5hYmxlZCIgJSBtY25hbWUpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibWNleHRlbmQ6dGlueSBtY2V4dGVuZDptdXNsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0LmluYyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ5MGI5MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC5pbmMKQEAgLTAsMCArMSw1IEBACitTUkNfVVJJID0gImh0dHA6Ly94b3JnLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9pbmRpdmlkdWFsL2xpYi9saWJ4c2htZmVuY2UtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjY2NjYyZTc2ODk5MTEyYzBmOTllMjJmMmZjNzc1YTdlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyMWIyZDFmZDc4YzFlZmJlMWYyYzE2ZGFlMWNiMjNmOGZkMjMxZGNmODkxNDY1YjhkZWJlNjM2YTkwNTRiMGMiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9hbm90aGVyZmlsZSBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9hbm90aGVyZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0L2Fub3RoZXJmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3Qvc29tZWZpbGUgYi9wb2t5L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3Qvc29tZWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdC9zb21lZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYiBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2MyMGQ5YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS1zZWxmdGVzdC9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKQEAgLTAsMCArMSwxMyBAQAorU1VNTUFSWSA9ICJUZXN0IHJlY2lwZSBmb3IgcmVjaXBldXRpbHMucGF0Y2hfcmVjaXBlKCkiCisKK3JlcXVpcmUgcmVjaXBldXRpbHMtdGVzdC5pbmMKKworTElDRU5TRSA9ICJQcm9wcmlldGFyeSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vc29tZWZpbGU7bWQ1PWQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlIgorREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSSArPSAiZmlsZTovL3NvbWVmaWxlIgorCitTUkNfVVJJX2FwcGVuZCA9ICIgZmlsZTovL2Fub3RoZXJmaWxlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXNrZWxldG9uL2NvbmYvbGF5ZXIuY29uZiBiL3Bva3kvbWV0YS1za2VsZXRvbi9jb25mL2xheWVyLmNvbmYKaW5kZXggMTNiZGE3Yi4uN2Q0ZmZiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXNrZWxldG9uL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEtc2tlbGV0b24vY29uZi9sYXllci5jb25mCkBAIC0xNCw0ICsxNCw0IEBACiAKIExBWUVSREVQRU5EU19za2VsZXRvbiA9ICJjb3JlIgogCi1MQVlFUlNFUklFU19DT01QQVRfc2tlbGV0b24gPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9za2VsZXRvbiA9ICJ3YXJyaW9yIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL2xheWVyLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgppbmRleCA1M2U4NzIyLi4zYzhmNzc1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbGF5ZXIuY29uZgpAQCAtOSw0ICs5LDQgQEAKIEJCRklMRV9QQVRURVJOX3lvY3RvYnNwID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfeW9jdG9ic3AgPSAiNSIKIExBWUVSVkVSU0lPTl95b2N0b2JzcCA9ICI0IgotTEFZRVJTRVJJRVNfQ09NUEFUX3lvY3RvYnNwID0gInRodWQiCitMQVlFUlNFUklFU19DT01QQVRfeW9jdG9ic3AgPSAid2FycmlvciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2JlYWdsZWJvbmUteW9jdG8uY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2JlYWdsZWJvbmUteW9jdG8uY29uZgppbmRleCBlOTExZTc1Li43MGQzY2ZlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9iZWFnbGVib25lLXlvY3RvLmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvYmVhZ2xlYm9uZS15b2N0by5jb25mCkBAIC0yMCwxMCArMjAsMTEgQEAKIElNQUdFX0lOU1RBTExfYXBwZW5kID0gIiBrZXJuZWwtZGV2aWNldHJlZSBrZXJuZWwtaW1hZ2UtemltYWdlIgogZG9faW1hZ2Vfd2ljW2RlcGVuZHNdICs9ICJtdG9vbHMtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QgZG9zZnN0b29scy1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCIKIAotU0VSSUFMX0NPTlNPTEVTID0gIjExNTIwMDt0dHlPMCIKK1NFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eVMwIDExNTIwMDt0dHlPMCIKK1NFUklBTF9DT05TT0xFU19DSEVDSyA9ICIke1NFUklBTF9DT05TT0xFU30iCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA/PSAibGludXgteW9jdG8iCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAogS0VSTkVMX0lNQUdFVFlQRSA9ICJ6SW1hZ2UiCiBLRVJORUxfREVWSUNFVFJFRSA9ICJhbTMzNXgtYm9uZS5kdGIgYW0zMzV4LWJvbmVibGFjay5kdGIgYW0zMzV4LWJvbmVncmVlbi5kdGIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9lZGdlcm91dGVyLmNvbmYgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9lZGdlcm91dGVyLmNvbmYKaW5kZXggYjdhOTRlOS4uODg1OTJkYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZWRnZXJvdXRlci5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2VkZ2Vyb3V0ZXIuY29uZgpAQCAtMSw2ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQogI0BOQU1FOiBFZGdlcm91dGVyCi0jQERFU0NSSVBUSU9OOiBFZGdlcm91dGVyCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGEgZ2VuZXJpYyBlZGdlcm91dGVyCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1taXBzNjQuaW5jCiAKQEAgLTExLDcgKzExLDcgQEAKIEtFUk5FTF9JTUFHRV9TVFJJUF9FWFRSQV9TRUNUSU9OUyAgPSAiLmNvbW1lbnQiCiAKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCA/PSAibGludXgteW9jdG8iCi1QUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/PSAiNS4wJSIKIAogU0VSSUFMX0NPTlNPTEVTID0gIjExNTIwMDt0dHlTMCIKIFVTRV9WVCA/PSAiMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYtNjQuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYtNjQuY29uZgppbmRleCAxMmY3YzBkLi5jNDg5NDYyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LTY0LmNvbmYKKysrIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni02NC5jb25mCkBAIC0xLDcgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQE5BTUU6IEdlbmVyaWMgWDg2XzY0LgotCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGdlbmVyaWMgWDg2XzY0ICg2NC1iaXQpIFBDcyBhbmQgc2VydmVycy4gU3VwcG9ydHMgYSBtb2RlcmF0ZWx5IHdpZGUgcmFuZ2Ugb2YgZHJpdmVycyB0aGF0IHNob3VsZCBib290IGFuZCBiZSB1c2FibGUgb24gInR5cGljYWwiIGhhcmR3YXJlLgorI0BOQU1FOiBHZW5lcmljIHg4Nl82NAorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBnZW5lcmljIHg4Nl82NCAoNjQtYml0KSBQQ3MgYW5kIHNlcnZlcnMuIFN1cHBvcnRzIGEgbW9kZXJhdGVseSB3aWRlIHJhbmdlIG9mIGRyaXZlcnMgdGhhdCBzaG91bGQgYm9vdCBhbmQgYmUgdXNhYmxlIG9uICJ0eXBpY2FsIiBoYXJkd2FyZS4KIAogREVGQVVMVFRVTkUgPz0gImNvcmUyLTY0IgogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcmUyLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9jb25mL21hY2hpbmUvZ2VuZXJpY3g4Ni5jb25mCmluZGV4IDc5OGI2MmUuLjk5MjlkMjcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL2dlbmVyaWN4ODYuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9nZW5lcmljeDg2LmNvbmYKQEAgLTEsNyArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogR2VuZXJpYyBYODYuCi0KLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgZ2VuZXJpYyBYODYgKDMyLWJpdCkgUENzLiBTdXBwb3J0cyBhIG1vZGVyYXRlbHkgd2lkZSByYW5nZSBvZiBkcml2ZXJzIHRoYXQgc2hvdWxkIGJvb3QgYW5kIGJlIHVzYWJsZSBvbiAidHlwaWNhbCIgaGFyZHdhcmUuCisjQE5BTUU6IEdlbmVyaWMgeDg2CisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIGdlbmVyaWMgeDg2ICgzMi1iaXQpIFBDcy4gU3VwcG9ydHMgYSBtb2RlcmF0ZWx5IHdpZGUgcmFuZ2Ugb2YgZHJpdmVycyB0aGF0IHNob3VsZCBib290IGFuZCBiZSB1c2FibGUgb24gInR5cGljYWwiIGhhcmR3YXJlLgogCiBERUZBVUxUVFVORSA/PSAiY29yZTItMzIiCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29yZTIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL2NvbmYvbWFjaGluZS9tcGM4MzE1ZS1yZGIuY29uZiBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCmluZGV4IDZmNWI5ODUuLmUyZGNlNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvY29uZi9tYWNoaW5lL21wYzgzMTVlLXJkYi5jb25mCkBAIC0xLDUgKzEsNiBAQAogI0BUWVBFOiBNYWNoaW5lCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcKKyNATkFNRTogRnJlZXNjYWxlIE1QQzgzMTVFLVJEQgorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBGcmVlc2NhbGUgTVBDODMxNUUtUkRCCiAKIFRBUkdFVF9GUFUgPSAiIgogCkBAIC0xNCw3ICsxNSw3IEBACiAKIE1BQ0hJTkVfRkVBVFVSRVMgPSAia2V5Ym9hcmQgcGNpIGV4dDIgZXh0MyBzZXJpYWwiCiAKLVBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID89ICI0LjE4JSIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID89ICI1LjAlIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsID89ICJsaW51eC15b2N0byIKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciA/PSAieHNlcnZlci14b3JnIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL2JlYWdsZWJvbmUteW9jdG8veG9yZy5jb25mIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL2JlYWdsZWJvbmUteW9jdG8veG9yZy5jb25mCmluZGV4IDJmNDBkYWUuLjVkYTE1ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9iZWFnbGVib25lLXlvY3RvL3hvcmcuY29uZgorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvYmVhZ2xlYm9uZS15b2N0by94b3JnLmNvbmYKQEAgLTUsNiArNSw3IEBACiBTZWN0aW9uICJEZXZpY2UiCiAgICAgICAgIElkZW50aWZpZXIgICAgICAiQnVpbHRpbiBEZWZhdWx0IGZiZGV2IERldmljZSAwIgogICAgICAgICBEcml2ZXIgICJtb2Rlc2V0dGluZyIKKyAgICAgICAgT3B0aW9uICAiQWNjZWxNZXRob2QiICJub25lIgogRW5kU2VjdGlvbgogCiBTZWN0aW9uICJTY3JlZW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTQuYmJhcHBlbmQgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTQuYmJhcHBlbmQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwMjQ4NWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiYXBwZW5kCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotS0JSQU5DSF9nZW5lcmljeDg2ICA9ICJ2NC4xNC9zdGFuZGFyZC9iYXNlIgotS0JSQU5DSF9nZW5lcmljeDg2LTY0ICA9ICJ2NC4xNC9zdGFuZGFyZC9iYXNlIgotS0JSQU5DSF9lZGdlcm91dGVyID0gInY0LjE0L3N0YW5kYXJkL2VkZ2Vyb3V0ZXIiCi1LQlJBTkNIX2JlYWdsZWJvbmUteW9jdG8gPSAidjQuMTQvc3RhbmRhcmQvYmVhZ2xlYm9uZSIKLUtCUkFOQ0hfbXBjODMxNWUtcmRiID0gInY0LjE0L3N0YW5kYXJkL2ZzbC1tcGM4MzE1ZS1yZGIiCi0KLUtNQUNISU5FX2dlbmVyaWN4ODYgPz0gImNvbW1vbi1wYyIKLUtNQUNISU5FX2dlbmVyaWN4ODYtNjQgPz0gImNvbW1vbi1wYy02NCIKLUtNQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPz0gImJlYWdsZWJvbmUiCi0KLVNSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjJjNWNhYTdlODQzMTFmMmEwMDk3OTc0YTY5N2FjMWY1OTAzMDUzMGUiCi1TUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICIyYzVjYWE3ZTg0MzExZjJhMDA5Nzk3NGE2OTdhYzFmNTkwMzA1MzBlIgotU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiZTA2YmZhMThjNzI3YmQwZTZlMTBjZjI2ZDlmMTYxZTRjNzkxZjUyYiIKLVNSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gImI4ODA1ZGU3N2RjZjhmNTlkODM2OGZlZTQ5MjFjMTQ2YzEzMDBhNmEiCi1TUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gImY4OGU4NzM2MGIxMGY4ZmJkODUzYTdkNDEyOTgyZTY2MjBmM2Y5NmQiCi0KLUNPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2ID0gImdlbmVyaWN4ODYiCi1DT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA9ICJnZW5lcmljeDg2LTY0IgotQ09NUEFUSUJMRV9NQUNISU5FX2VkZ2Vyb3V0ZXIgPSAiZWRnZXJvdXRlciIKLUNPTVBBVElCTEVfTUFDSElORV9iZWFnbGVib25lLXlvY3RvID0gImJlYWdsZWJvbmUteW9jdG8iCi1DT01QQVRJQkxFX01BQ0hJTkVfbXBjODMxNWUtcmRiID0gIm1wYzgzMTVlLXJkYiIKLQotTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjQuMTQuNzYiCi1MSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYtNjQgPSAiNC4xNC43NiIKLUxJTlVYX1ZFUlNJT05fZWRnZXJvdXRlciA9ICI0LjE0LjcxIgotTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjQuMTQuNzEiCi1MSU5VWF9WRVJTSU9OX21wYzgzMTVlLXJkYiA9ICI0LjE0LjcxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE4LmJiYXBwZW5kIGIvcG9reS9tZXRhLXlvY3RvLWJzcC9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE4LmJiYXBwZW5kCmluZGV4IDdmMTU4NDMuLmU1M2JiNTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOC5iYmFwcGVuZAorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTguYmJhcHBlbmQKQEAgLTgsOCArOCw4IEBACiBLTUFDSElORV9nZW5lcmljeDg2LTY0ID89ICJjb21tb24tcGMtNjQiCiBLTUFDSElORV9iZWFnbGVib25lLXlvY3RvID89ICJiZWFnbGVib25lIgogCi1TUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2ICAgID89ICJkYjJkODEzODY5YTA1MDE3ODI0NjllY2RiMTdlMjc3YTUwMWM5ZjU3IgotU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4Ni02NCA/PSAiZGIyZDgxMzg2OWEwNTAxNzgyNDY5ZWNkYjE3ZTI3N2E1MDFjOWY1NyIKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjYyZjBhM2FjZmZmZmQ1NTVmNjhlZDk3ZDVlNGZhYWRlMmIyOGYzYzAiCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICI2MmYwYTNhY2ZmZmZkNTU1ZjY4ZWQ5N2Q1ZTRmYWFkZTJiMjhmM2MwIgogU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiMjhlNzc4MWQ1N2E1OTIyN2JmMWMwOGM3ZjNkYmRmZWUxNmFhMGRjMiIKIFNSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gIjI4ZTc3ODFkNTdhNTkyMjdiZjFjMDhjN2YzZGJkZmVlMTZhYTBkYzIiCiBTUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gIjk5MDcxYTU5OWQ4NjUwYjA2OWZiODEzNTg2NmZjYTIwM2YzNzUzNTAiCkBAIC0yMCw4ICsyMCw4IEBACiBDT01QQVRJQkxFX01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA9ICJiZWFnbGVib25lLXlvY3RvIgogQ09NUEFUSUJMRV9NQUNISU5FX21wYzgzMTVlLXJkYiA9ICJtcGM4MzE1ZS1yZGIiCiAKLUxJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4NiA9ICI0LjE4LjIyIgotTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2LTY0ID0gIjQuMTguMjIiCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYgPSAiNC4xOC4yNyIKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI0LjE4LjI3IgogTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjQuMTguMjUiCiBMSU5VWF9WRVJTSU9OX2JlYWdsZWJvbmUteW9jdG8gPSAiNC4xOC4yNSIKIExJTlVYX1ZFUlNJT05fbXBjODMxNWUtcmRiID0gIjQuMTguMjUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmJhcHBlbmQgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzQuMTkuYmJhcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU3MDhjYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYmFwcGVuZApAQCAtMCwwICsxLDI3IEBACitLQlJBTkNIX2dlbmVyaWN4ODYgID0gInY0LjE5L3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX2dlbmVyaWN4ODYtNjQgID0gInY0LjE5L3N0YW5kYXJkL2Jhc2UiCitLQlJBTkNIX2VkZ2Vyb3V0ZXIgPSAidjQuMTkvc3RhbmRhcmQvZWRnZXJvdXRlciIKK0tCUkFOQ0hfYmVhZ2xlYm9uZS15b2N0byA9ICJ2NC4xOS9zdGFuZGFyZC9iZWFnbGVib25lIgorS0JSQU5DSF9tcGM4MzE1ZS1yZGIgPSAidjQuMTkvc3RhbmRhcmQvZnNsLW1wYzgzMTVlLXJkYiIKKworS01BQ0hJTkVfZ2VuZXJpY3g4NiA/PSAiY29tbW9uLXBjIgorS01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA/PSAiY29tbW9uLXBjLTY0IgorS01BQ0hJTkVfYmVhZ2xlYm9uZS15b2N0byA/PSAiYmVhZ2xlYm9uZSIKKworU1JDUkVWX21hY2hpbmVfZ2VuZXJpY3g4NiAgICA/PSAiZWViYjUxMzAwYTA3ODA0YTAyMGVjNDY4YjVmOGM1YmY3MjAxOThkOSIKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYtNjQgPz0gImVlYmI1MTMwMGEwNzgwNGEwMjBlYzQ2OGI1ZjhjNWJmNzIwMTk4ZDkiCitTUkNSRVZfbWFjaGluZV9lZGdlcm91dGVyID89ICJlZWJiNTEzMDBhMDc4MDRhMDIwZWM0NjhiNWY4YzViZjcyMDE5OGQ5IgorU1JDUkVWX21hY2hpbmVfYmVhZ2xlYm9uZS15b2N0byA/PSAiZWViYjUxMzAwYTA3ODA0YTAyMGVjNDY4YjVmOGM1YmY3MjAxOThkOSIKK1NSQ1JFVl9tYWNoaW5lX21wYzgzMTVlLXJkYiA/PSAiOGI2MGY5Njg4MjMyNTZmNWQyODg5YzQ1MjBkNzAyOTljYTIxNDExYiIKKworQ09NUEFUSUJMRV9NQUNISU5FX2dlbmVyaWN4ODYgPSAiZ2VuZXJpY3g4NiIKK0NPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2LTY0ID0gImdlbmVyaWN4ODYtNjQiCitDT01QQVRJQkxFX01BQ0hJTkVfZWRnZXJvdXRlciA9ICJlZGdlcm91dGVyIgorQ09NUEFUSUJMRV9NQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPSAiYmVhZ2xlYm9uZS15b2N0byIKK0NPTVBBVElCTEVfTUFDSElORV9tcGM4MzE1ZS1yZGIgPSAibXBjODMxNWUtcmRiIgorCitMSU5VWF9WRVJTSU9OX2dlbmVyaWN4ODYgPSAiNC4xOS4xNCIKK0xJTlVYX1ZFUlNJT05fZ2VuZXJpY3g4Ni02NCA9ICI0LjE5LjE0IgorTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjQuMTkuMTQiCitMSU5VWF9WRVJTSU9OX2JlYWdsZWJvbmUteW9jdG8gPSAiNC4xOS4xNCIKK0xJTlVYX1ZFUlNJT05fbXBjODMxNWUtcmRiID0gIjQuMTkuMTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYmFwcGVuZCBiL3Bva3kvbWV0YS15b2N0by1ic3AvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNS4wLmJiYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZjZlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEteW9jdG8tYnNwL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYmFwcGVuZApAQCAtMCwwICsxLDI3IEBACitLQlJBTkNIX2dlbmVyaWN4ODYgID0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfZ2VuZXJpY3g4Ni02NCAgPSAidjUuMC9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9lZGdlcm91dGVyID0gInY1LjAvc3RhbmRhcmQvZWRnZXJvdXRlciIKK0tCUkFOQ0hfYmVhZ2xlYm9uZS15b2N0byA9ICJ2NS4wL3N0YW5kYXJkL2JlYWdsZWJvbmUiCitLQlJBTkNIX21wYzgzMTVlLXJkYiA9ICJ2NS4wL3N0YW5kYXJkL2ZzbC1tcGM4MzE1ZS1yZGIiCisKK0tNQUNISU5FX2dlbmVyaWN4ODYgPz0gImNvbW1vbi1wYyIKK0tNQUNISU5FX2dlbmVyaWN4ODYtNjQgPz0gImNvbW1vbi1wYy02NCIKK0tNQUNISU5FX2JlYWdsZWJvbmUteW9jdG8gPz0gImJlYWdsZWJvbmUiCisKK1NSQ1JFVl9tYWNoaW5lX2dlbmVyaWN4ODYgICAgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9nZW5lcmljeDg2LTY0ID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfZWRnZXJvdXRlciA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX2JlYWdsZWJvbmUteW9jdG8gPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9tcGM4MzE1ZS1yZGIgPz0gIjhiNjJhZjdmMjUyYWYxMDU4ODI3NjgwMmM0YzZkN2M1MDJlODc1YmUiCisKK0NPTVBBVElCTEVfTUFDSElORV9nZW5lcmljeDg2ID0gImdlbmVyaWN4ODYiCitDT01QQVRJQkxFX01BQ0hJTkVfZ2VuZXJpY3g4Ni02NCA9ICJnZW5lcmljeDg2LTY0IgorQ09NUEFUSUJMRV9NQUNISU5FX2VkZ2Vyb3V0ZXIgPSAiZWRnZXJvdXRlciIKK0NPTVBBVElCTEVfTUFDSElORV9iZWFnbGVib25lLXlvY3RvID0gImJlYWdsZWJvbmUteW9jdG8iCitDT01QQVRJQkxFX01BQ0hJTkVfbXBjODMxNWUtcmRiID0gIm1wYzgzMTVlLXJkYiIKKworTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2ID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9nZW5lcmljeDg2LTY0ID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9lZGdlcm91dGVyID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9iZWFnbGVib25lLXlvY3RvID0gIjUuMC4zIgorTElOVVhfVkVSU0lPTl9tcGM4MzE1ZS1yZGIgPSAiNS4wLjMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEteW9jdG8tYnNwL3dpYy9iZWFnbGVib25lLXlvY3RvLndrcyBiL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCmluZGV4IGI3NWYyMzguLjk3YmQ0ODAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCisrKyBiL3Bva3kvbWV0YS15b2N0by1ic3Avd2ljL2JlYWdsZWJvbmUteW9jdG8ud2tzCkBAIC00LDMgKzQsNCBAQAogCiBwYXJ0IC9ib290IC0tc291cmNlIGJvb3RpbWctcGFydGl0aW9uIC0tb25kaXNrIG1tY2JsazAgLS1mc3R5cGU9dmZhdCAtLWxhYmVsIGJvb3QgLS1hY3RpdmUgLS1hbGlnbiA0IC0tc2l6ZSAxNiAtLXNvdXJjZXBhcmFtcz0ibG9hZGVyPXUtYm9vdCIgLS11c2UtdXVpZAogcGFydCAvIC0tc291cmNlIHJvb3RmcyAtLW9uZGlzayBtbWNibGsgLS1mc3R5cGU9ZXh0NCAtLWxhYmVsIHJvb3QgLS1hbGlnbiA0IC0tdXNlLXV1aWQKK2Jvb3Rsb2FkZXIgLS1hcHBlbmQ9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvYXJjaGl2ZXIuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2FyY2hpdmVyLmJiY2xhc3MKaW5kZXggZTMyMWEwZS4uYWY5ZjAxMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvYXJjaGl2ZXIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9hcmNoaXZlci5iYmNsYXNzCkBAIC0zNyw4ICszNywxMSBAQAogREVQTE9ZX0RJUl9TUkMgPz0gIiR7REVQTE9ZX0RJUn0vc291cmNlcyIKIEFSQ0hJVkVSX1RPUERJUiA/PSAiJHtXT1JLRElSfS9kZXBsb3ktc291cmNlcyIKIEFSQ0hJVkVSX09VVERJUiA9ICIke0FSQ0hJVkVSX1RPUERJUn0vJHtUQVJHRVRfU1lTfS8ke1BGfS8iCitBUkNISVZFUl9SUE1UT1BESVIgPz0gIiR7V09SS0RJUn0vZGVwbG95LXNvdXJjZXMtcnBtIgorQVJDSElWRVJfUlBNT1VURElSID0gIiR7QVJDSElWRVJfUlBNVE9QRElSfS8ke1RBUkdFVF9TWVN9LyR7UEZ9LyIKIEFSQ0hJVkVSX1dPUktESVIgPSAiJHtXT1JLRElSfS9hcmNoaXZlci13b3JrLyIKIAorCiBkb19kdW1wZGF0YVtkaXJzXSA9ICIke0FSQ0hJVkVSX09VVERJUn0iCiBkb19hcl9yZWNpcGVbZGlyc10gPSAiJHtBUkNISVZFUl9PVVRESVJ9IgogZG9fYXJfb3JpZ2luYWxbZGlyc10gPSAiJHtBUkNISVZFUl9PVVRESVJ9ICR7QVJDSElWRVJfV09SS0RJUn0iCkBAIC0xMTcsNiArMTIwLDkgQEAKICAgICBpZiBkLmdldFZhckZsYWcoJ0FSQ0hJVkVSX01PREUnLCAnc3JwbScpID09ICIxIiBhbmQgZC5nZXRWYXIoJ1BBQ0tBR0VTJyk6CiAgICAgICAgIGlmICJwYWNrYWdlX3JwbSIgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VfQ0xBU1NFUycpOgogICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19kZXBsb3lfYXJjaGl2ZXMnLCAnZGVwZW5kcycsICcgJXM6ZG9fcGFja2FnZV93cml0ZV9ycG0nICUgcG4pCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ2RpcnMnLCAnICR7QVJDSElWRVJfUlBNVE9QRElSfScpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ3NzdGF0ZS1pbnB1dGRpcnMnLCAnICR7QVJDSElWRVJfUlBNVE9QRElSfScpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX3BhY2thZ2Vfd3JpdGVfcnBtJywgJ3NzdGF0ZS1vdXRwdXRkaXJzJywgJyAke0RFUExPWV9ESVJfU1JDfScpCiAgICAgICAgICAgICBpZiBhcl9kdW1wZGF0YSA9PSAiMSI6CiAgICAgICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19wYWNrYWdlX3dyaXRlX3JwbScsICdkZXBlbmRzJywgJyAlczpkb19kdW1wZGF0YScgJSBwbikKICAgICAgICAgICAgIGlmIGFyX3JlY2lwZSA9PSAiMSI6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9iYXNlLmJiY2xhc3MKaW5kZXggYmM5YjIzNi4uMTYzNmM2ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvYmFzZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Jhc2UuYmJjbGFzcwpAQCAtMTIyLDYgKzEyMiwxMCBAQAogICAgICAgICBkZXN0dG9vbCA9IG9zLnBhdGguam9pbihkZXN0LCB0b29sKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdHRvb2wpOgogICAgICAgICAgICAgc3JjdG9vbCA9IGJiLnV0aWxzLndoaWNoKHBhdGgsIHRvb2wsIGV4ZWN1dGFibGU9VHJ1ZSkKKyAgICAgICAgICAgICMgZ2NjL2crKyBtYXkgbGluayB0byBjY2FjaGUgb24gc29tZSBob3N0cywgZS5nLiwKKyAgICAgICAgICAgICMgL3Vzci9sb2NhbC9iaW4vY2NhY2hlL2djYyAtPiAvdXNyL2Jpbi9jY2FjaGUsIHRoZW4gd2hpY2goZ2NjKQorICAgICAgICAgICAgIyB3b3VsZCByZXR1cm4gL3Vzci9sb2NhbC9iaW4vY2NhY2hlL2djYywgYnV0IHdoYXQgd2UgbmVlZCBpcworICAgICAgICAgICAgIyAvdXNyL2Jpbi9nY2MsIHRoaXMgY29kZSBjYW4gY2hlY2sgYW5kIGZpeCB0aGF0LgogICAgICAgICAgICAgaWYgImNjYWNoZSIgaW4gc3JjdG9vbDoKICAgICAgICAgICAgICAgICBzcmN0b29sID0gYmIudXRpbHMud2hpY2gocGF0aCwgdG9vbCwgZXhlY3V0YWJsZT1UcnVlLCBkaXJlY3Rpb249MSkKICAgICAgICAgICAgIGlmIHNyY3Rvb2w6CkBAIC0yMTYsNyArMjIwLDcgQEAKICAgICAgICAgYmIuZmF0YWwoJ1RoZSBmb2xsb3dpbmcgdmFyaWFibGUocykgd2VyZSBub3Qgc2V0OiAlc1xuUGxlYXNlIHNldCB0aGVtIGRpcmVjdGx5LCBvciBjaG9vc2UgYSBNQUNISU5FIG9yIERJU1RSTyB0aGF0IHNldHMgdGhlbS4nICUgJywgJy5qb2luKHBlc3RlcnVzZXIpKQogCiBhZGRoYW5kbGVyIGJhc2VfZXZlbnRoYW5kbGVyCi1iYXNlX2V2ZW50aGFuZGxlcltldmVudG1hc2tdID0gImJiLmV2ZW50LkNvbmZpZ1BhcnNlZCBiYi5ldmVudC5NdWx0aUNvbmZpZ1BhcnNlZCBiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UgYmIucnVucXVldWUuc2NlbmVRdWV1ZUNvbXBsZXRlIGJiLmV2ZW50LlJlY2lwZVBhcnNlZCIKK2Jhc2VfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQ29uZmlnUGFyc2VkIGJiLmV2ZW50Lk11bHRpQ29uZmlnUGFyc2VkIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCBiYi5ldmVudC5SZWNpcGVQcmVGaW5hbGlzZSBiYi5ldmVudC5SZWNpcGVQYXJzZWQiCiBweXRob24gYmFzZV9ldmVudGhhbmRsZXIoKSB7CiAgICAgaW1wb3J0IGJiLnJ1bnF1ZXVlCiAKQEAgLTIyNCw2ICsyMjgsMTIgQEAKICAgICAgICAgaWYgbm90IGQuZ2V0VmFyKCJOQVRJVkVMU0JTVFJJTkciLCBGYWxzZSk6CiAgICAgICAgICAgICBkLnNldFZhcigiTkFUSVZFTFNCU1RSSU5HIiwgbHNiX2Rpc3Ryb19pZGVudGlmaWVyKGQpKQogICAgICAgICBkLnNldFZhcignQkJfVkVSU0lPTicsIGJiLl9fdmVyc2lvbl9fKQorCisgICAgIyBUaGVyZSBtaWdodCBiZSBubyBiYi5ldmVudC5Db25maWdQYXJzZWQgZXZlbnQgaWYgYml0YmFrZSBzZXJ2ZXIgaXMKKyAgICAjIHJ1bm5pbmcsIHNvIGNoZWNrIGJiLmV2ZW50LkJ1aWxkU3RhcnRlZCB0b28gdG8gbWFrZSBzdXJlICR7SE9TVFRPT0xTX0RJUn0KKyAgICAjIGV4aXN0cy4KKyAgICBpZiBpc2luc3RhbmNlKGUsIGJiLmV2ZW50LkNvbmZpZ1BhcnNlZCkgb3IgXAorICAgICAgICAgICAgKGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuQnVpbGRTdGFydGVkKSBhbmQgbm90IG9zLnBhdGguZXhpc3RzKGQuZ2V0VmFyKCdIT1NUVE9PTFNfRElSJykpKToKICAgICAgICAgIyBXb3JrcyB3aXRoIHRoZSBsaW5lIGluIGxheWVyLmNvbmYgd2hpY2ggY2hhbmdlcyBQQVRIIHRvIHBvaW50IGhlcmUKICAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTJywgZCkKICAgICAgICAgc2V0dXBfaG9zdHRvb2xzX2RpcihkLmdldFZhcignSE9TVFRPT0xTX0RJUicpLCAnSE9TVFRPT0xTX05PTkZBVEFMJywgZCwgZmF0YWw9RmFsc2UpCkBAIC0yNjAsMjMgKzI3MCwxMCBAQAogICAgIGlmIGlzaW5zdGFuY2UoZSwgYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UpOgogICAgICAgICBpZiBkLmdldFZhcigiVEFSR0VUX1BSRUZJWCIpID09IGQuZ2V0VmFyKCJTREtfUFJFRklYIik6CiAgICAgICAgICAgICBkLmRlbFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIikKLSAgICAgICAgICAgIGQuZGVsVmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysiKQogICAgICAgICAgICAgZC5kZWxWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1jb21waWxlcmxpYnMiKQogCi0gICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ydW5xdWV1ZS5zY2VuZVF1ZXVlQ29tcGxldGUpOgotICAgICAgICBjb21wbGV0aW9ucyA9IGQuZXhwYW5kKCIke1NUQUdJTkdfRElSfS9zc3RhdGVjb21wbGV0aW9ucyIpCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGNvbXBsZXRpb25zKToKLSAgICAgICAgICAgIGNtZHMgPSBzZXQoKQotICAgICAgICAgICAgd2l0aCBvcGVuKGNvbXBsZXRpb25zLCAiciIpIGFzIGY6Ci0gICAgICAgICAgICAgICAgY21kcyA9IHNldChmKQotICAgICAgICAgICAgZC5zZXRWYXIoImNvbXBsZXRpb25fZnVuY3Rpb24iLCAiXG4iLmpvaW4oY21kcykpCi0gICAgICAgICAgICBkLnNldFZhckZsYWcoImNvbXBsZXRpb25fZnVuY3Rpb24iLCAiZnVuYyIsICIxIikKLSAgICAgICAgICAgIGJiLmRlYnVnKDEsICJFeGVjdXRpbmcgU2NlbmVRdWV1ZSBDb21wbGV0aW9uIGNvbW1hbmRzOiAlcyIgJSAiXG4iLmpvaW4oY21kcykpCi0gICAgICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImNvbXBsZXRpb25fZnVuY3Rpb24iLCBkKQotICAgICAgICAgICAgb3MucmVtb3ZlKGNvbXBsZXRpb25zKQotCiAgICAgaWYgaXNpbnN0YW5jZShlLCBiYi5ldmVudC5SZWNpcGVQYXJzZWQpOgogICAgICAgICAjCiAgICAgICAgICMgSWYgd2UgaGF2ZSBtdWx0aXBsZSBwcm92aWRlcnMgb2YgdmlydHVhbC9YIGFuZCBhIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL1ggaXMgc2V0CkBAIC0zMDEsNyArMjk4LDYgQEAKIAogYWRkdGFzayBjb25maWd1cmUgYWZ0ZXIgZG9fcGF0Y2gKIGRvX2NvbmZpZ3VyZVtkaXJzXSA9ICIke0J9IgotZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdFtkZXB0YXNrXSA9ICJkb19wb3B1bGF0ZV9zeXNyb290IgogYmFzZV9kb19jb25maWd1cmUoKSB7CiAJaWYgWyAtbiAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiAtYSAtZSAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiBdOyB0aGVuCiAJCWlmIFsgImBjYXQgJHtDT05GSUdVUkVTVEFNUEZJTEV9YCIgIT0gIiR7QkJfVEFTS0hBU0h9IiBdOyB0aGVuCkBAIC00NjcsMTIgKzQ2MywxNSBAQAogCiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbGljZW5zZScsIGQpOgogICAgICAgICBjaGVja19saWNlbnNlX2Zvcm1hdChkKQotICAgICAgICB1bm1hdGNoZWRfbGljZW5zZV9mbGFnID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQotICAgICAgICBpZiB1bm1hdGNoZWRfbGljZW5zZV9mbGFnOgotICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNraXBwaW5nICVzIGJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKLSAgICAgICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIgJSBwbikKLSAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoImJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlIG5vdCIKLSAgICAgICAgICAgICAgICAgIiB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIpCisgICAgICAgIHVubWF0Y2hlZF9saWNlbnNlX2ZsYWdzID0gY2hlY2tfbGljZW5zZV9mbGFncyhkKQorICAgICAgICBpZiB1bm1hdGNoZWRfbGljZW5zZV9mbGFnczoKKyAgICAgICAgICAgIGlmIGxlbih1bm1hdGNoZWRfbGljZW5zZV9mbGFncykgPT0gMToKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gImJlY2F1c2UgaXQgaGFzIGEgcmVzdHJpY3RlZCBsaWNlbnNlICd7MH0nLiBXaGljaCBpcyBub3Qgd2hpdGVsaXN0ZWQgaW4gTElDRU5TRV9GTEFHU19XSElURUxJU1QiLmZvcm1hdCh1bm1hdGNoZWRfbGljZW5zZV9mbGFnc1swXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICJiZWNhdXNlIGl0IGhhcyByZXN0cmljdGVkIGxpY2Vuc2VzIHswfS4gV2hpY2ggYXJlIG5vdCB3aGl0ZWxpc3RlZCBpbiBMSUNFTlNFX0ZMQUdTX1dISVRFTElTVCIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAiLCAiLmpvaW4oIid7MH0nIi5mb3JtYXQoZikgZm9yIGYgaW4gdW5tYXRjaGVkX2xpY2Vuc2VfZmxhZ3MpKQorICAgICAgICAgICAgYmIuZGVidWcoMSwgIlNraXBwaW5nICVzICVzIiAlIChwbiwgbWVzc2FnZSkpCisgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKG1lc3NhZ2UpCiAKICAgICAjIElmIHdlJ3JlIGJ1aWxkaW5nIGEgdGFyZ2V0IHBhY2thZ2Ugd2UgbmVlZCB0byB1c2UgZmFrZXJvb3QgKHBzZXVkbykKICAgICAjIGluIG9yZGVyIHRvIGNhcHR1cmUgcGVybWlzc2lvbnMsIG93bmVycywgZ3JvdXBzIGFuZCBzcGVjaWFsIGZpbGVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9idWlsZGhpc3RvcnkuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCmluZGV4IDQwYjI5MmIuLjc5NmY2OGMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2J1aWxkaGlzdG9yeS5iYmNsYXNzCkBAIC01MTksMTIgKzUxOSwxNCBAQAogCiBidWlsZGhpc3RvcnlfbGlzdF9maWxlcygpIHsKIAkjIExpc3QgdGhlIGZpbGVzIGluIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LCBidXQgZXhjbHVkZSBkYXRlL3RpbWUgZXRjLgotCSMgVGhpcyBhd2sgc2NyaXB0IGlzIHNvbWV3aGF0IG1lc3N5LCBidXQgaGFuZGxlcyB3aGVyZSB0aGUgc2l6ZSBpcyBub3QgcHJpbnRlZCBmb3IgZGV2aWNlIGZpbGVzIHVuZGVyIHBzZXVkbworCSMgVGhpcyBpcyBzb21ld2hhdCBtZXNzeSwgYnV0IGhhbmRsZXMgd2hlcmUgdGhlIHNpemUgaXMgbm90IHByaW50ZWQgZm9yIGRldmljZSBmaWxlcyB1bmRlciBwc2V1ZG8KKwkoIGNkICQxCisJZmluZF9jbWQ9J2ZpbmQgLiAhIC1wYXRoIC4gLXByaW50ZiAiJU0gJS0xMHUgJS0xMGcgJTEwcyAlcCAtPiAlbFxuIicKIAlpZiBbICIkMyIgPSAiZmFrZXJvb3QiIF0gOyB0aGVuCi0JCSggY2QgJDEgJiYgJHtGQUtFUk9PVEVOVn0gJHtGQUtFUk9PVENNRH0gZmluZCAuICEgLXBhdGggLiAtcHJpbnRmICIlTSAlLTEwdSAlLTEwZyAlMTBzICVwIC0+ICVsXG4iIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKKwkJZXZhbCAke0ZBS0VST09URU5WfSAke0ZBS0VST09UQ01EfSAkZmluZF9jbWQKIAllbHNlCi0JCSggY2QgJDEgJiYgZmluZCAuICEgLXBhdGggLiAtcHJpbnRmICIlTSAlLTEwdSAlLTEwZyAlMTBzICVwIC0+ICVsXG4iIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKLQlmaQorCQlldmFsICRmaW5kX2NtZAorCWZpIHwgc29ydCAtazUgfCBzZWQgJ3MvICogLT4gJC8vJyA+ICQyICkKIH0KIAogYnVpbGRoaXN0b3J5X2xpc3RfcGtnX2ZpbGVzKCkgewpAQCAtNjcwLDEyICs2NzIsMjkgQEAKICAgICBzdGF0dXNoZWFkZXIgPSBkLmdldFZhcignQlVJTERDRkdfSEVBREVSJykKICAgICByZXR1cm4oJ1xuJXNcbiVzXG4nICUgKHN0YXR1c2hlYWRlciwgJ1xuJy5qb2luKHN0YXR1c2xpbmVzKSkpCiAKK2RlZiBidWlsZGhpc3RvcnlfZ2V0X21vZGlmaWVkKHBhdGgpOgorICAgICMgY29waWVkIGZyb20gZ2V0X2xheWVyX2dpdF9zdGF0dXMoKSBpbiBpbWFnZS1idWlsZGluZm8uYmJjbGFzcworICAgIGltcG9ydCBzdWJwcm9jZXNzCisgICAgdHJ5OgorICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiIiJjZCAlczsgZXhwb3J0IFBTRVVET19VTkxPQUQ9MTsgc2V0IC1lOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXQgZGlmZiAtLXF1aWV0IC0tbm8tZXh0LWRpZmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l0IGRpZmYgLS1xdWlldCAtLW5vLWV4dC1kaWZmIC0tY2FjaGVkIiIiICUgcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hlbGw9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorICAgICAgICByZXR1cm4gIiIKKyAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZXg6CisgICAgICAgICMgU2lsZW50bHkgdHJlYXQgZXJyb3JzIGFzICJtb2RpZmllZCIsIHdpdGhvdXQgY2hlY2tpbmcgZm9yIHRoZQorICAgICAgICAjIChleHBlY3RlZCkgcmV0dXJuIGNvZGUgMSBpbiBhIG1vZGlmaWVkIGdpdCByZXBvLiBGb3IgZXhhbXBsZSwgd2UgZ2V0CisgICAgICAgICMgb3V0cHV0IGFuZCBhIDEyOSByZXR1cm4gY29kZSB3aGVuIGEgbGF5ZXIgaXNuJ3QgYSBnaXQgcmVwbyBhdCBhbGwuCisgICAgICAgIHJldHVybiAiIC0tIG1vZGlmaWVkIgorCiBkZWYgYnVpbGRoaXN0b3J5X2dldF9tZXRhZGF0YV9yZXZzKGQpOgogICAgICMgV2Ugd2FudCBhbiBlYXNpbHkgbWFjaGluZS1yZWFkYWJsZSBmb3JtYXQgaGVyZSwgc28gZ2V0X2xheWVyc19icmFuY2hfcmV2IGlzbid0IHF1aXRlIHdoYXQgd2Ugd2FudAogICAgIGxheWVycyA9IChkLmdldFZhcigiQkJMQVlFUlMiKSBvciAiIikuc3BsaXQoKQotICAgIG1lZGFkYXRhX3JldnMgPSBbIiUtMTdzID0gJXM6JXMiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwKKyAgICBtZWRhZGF0YV9yZXZzID0gWyIlLTE3cyA9ICVzOiVzJXMiICUgKG9zLnBhdGguYmFzZW5hbWUoaSksIFwKICAgICAgICAgYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X2JyYW5jaChpLCBOb25lKS5zdHJpcCgpLCBcCi0gICAgICAgIGJhc2VfZ2V0X21ldGFkYXRhX2dpdF9yZXZpc2lvbihpLCBOb25lKSkgXAorICAgICAgICBiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb24oaSwgTm9uZSksIFwKKyAgICAgICAgYnVpbGRoaXN0b3J5X2dldF9tb2RpZmllZChpKSkgXAogICAgICAgICAgICAgZm9yIGkgaW4gbGF5ZXJzXQogICAgIHJldHVybiAnXG4nLmpvaW4obWVkYWRhdGFfcmV2cykKIApAQCAtODk2LDcgKzkxNSw3IEBACiAgICAgICAgICAgICBpZiBvcmlnX3NyY3JldiAhPSAnSU5WQUxJRCc6CiAgICAgICAgICAgICAgICAgZi53cml0ZSgnIyBTUkNSRVYgPSAiJXMiXG4nICUgb3JpZ19zcmNyZXYpCiAgICAgICAgICAgICBpZiBsZW4oc3JjcmV2cykgPiAxOgotICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc3JjcmV2cy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc29ydGVkKHNyY3JldnMuaXRlbXMoKSk6CiAgICAgICAgICAgICAgICAgICAgIG9yaWdfc3JjcmV2ID0gZC5nZXRWYXIoJ1NSQ1JFVl8lcycgJSBuYW1lLCBGYWxzZSkKICAgICAgICAgICAgICAgICAgICAgaWYgb3JpZ19zcmNyZXY6CiAgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCcjIFNSQ1JFVl8lcyA9ICIlcyJcbicgJSAobmFtZSwgb3JpZ19zcmNyZXYpKQpAQCAtOTA0LDcgKzkyMyw3IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGYud3JpdGUoJ1NSQ1JFViA9ICIlcyJcbicgJSBuZXh0KGl0ZXIoc3JjcmV2cy52YWx1ZXMoKSkpKQogICAgICAgICAgICAgaWYgbGVuKHRhZ19zcmNyZXZzKSA+IDA6Ci0gICAgICAgICAgICAgICAgZm9yIG5hbWUsIHNyY3JldiBpbiB0YWdfc3JjcmV2cy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGZvciBuYW1lLCBzcmNyZXYgaW4gc29ydGVkKHRhZ19zcmNyZXZzLml0ZW1zKCkpOgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKCcjIHRhZ18lcyA9ICIlcyJcbicgJSAobmFtZSwgc3JjcmV2KSkKICAgICAgICAgICAgICAgICAgICAgaWYgbmFtZSBpbiBvbGRfdGFnX3NyY3JldnMgYW5kIG9sZF90YWdfc3JjcmV2c1tuYW1lXSAhPSBzcmNyZXY6CiAgICAgICAgICAgICAgICAgICAgICAgICBwa2cgPSBkLmdldFZhcignUE4nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY2NhY2hlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcwppbmRleCA5NjA5MDIwLi5iNTQ1NzM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jY2FjaGUuYmJjbGFzcwpAQCAtMSw1ICsxLDM3IEBACi1DQ0FDSEUgPSAiJHtAYmIudXRpbHMud2hpY2goZC5nZXRWYXIoJ1BBVEgnKSwgJ2NjYWNoZScpIGFuZCAnY2NhY2hlICd9IgotZXhwb3J0IENDQUNIRV9ESVIgPz0gIiR7VE1QRElSfS9jY2FjaGUvJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU30vJHtQTn0iCisjCisjIFVzYWdlOgorIyAtIEVuYWJsZSBjY2FjaGUKKyMgICBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGEgY29uZmZpbGUgc3VjaCBhcyBjb25mL2xvY2FsLmNvbmY6CisjICAgSU5IRVJJVCArPSAiY2NhY2hlIgorIworIyAtIERpc2FibGUgY2NhY2hlIGZvciBhIHJlY2lwZQorIyAgIEFkZCB0aGUgZm9sbG93aW5nIGxpbmUgdG8gdGhlIHJlY2lwZSBpZiBpdCBjYW4ndCBiZSBidWlsdCB3aXRoIGNjYWNoZToKKyMgICBDQ0FDSEVfRElTQUJMRSA9ICcxJworIworIyAtIFNoYXJlIGNjYWNoZSBmaWxlcyBiZXR3ZWVuIGRpZmZlcmVudCBidWlsZHMKKyMgICBTZXQgQ0NBQ0hFX1RPUF9ESVIgdG8gYSBzaGFyZWQgZGlyCisjICAgQ0NBQ0hFX1RPUF9ESVIgPSAvcGF0aC90by9zaGFyZWRfY2NhY2hlLworIworIyAtIFRPIGRlYnVnIGNjYWhlCisjICAgZXhwb3J0IENDQUNIRV9ERUJVRyA9ICIxIgorIyAgIGV4cG9ydCBDQ0FDSEVfTE9HRklMRSA9ICIke0NDQUNIRV9ESVJ9L2xvZ2ZpbGUubG9nIgorIyAgIEFuZCBhbHNvIHNldCBQQVJBTExFTF9NQUtFID0gIi1qIDEiIHRvIGdldCBtYWtlIHRoZSBsb2cgaW4gb3JkZXIKKyMKKworIyBTZXQgaXQgdG8gYSBzaGFyZWQgbG9jYXRpb24gZm9yIGRpZmZlcmVudCBidWlsZHMsIHNvIHRoYXQgY2FjaGUgZmlsZXMgY2FuCisjIGJlIHNoYXJlZCBiZXR3ZWVuIGRpZmZlcmVudCBidWlsZHMuCitDQ0FDSEVfVE9QX0RJUiA/PSAiJHtUTVBESVJ9L2NjYWNoZSIKKworIyBjY2FoZSByZW1vdmVzIENDQUNIRV9CQVNFRElSIGZyb20gZmlsZSBwYXRoLCBzbyB0aGF0IGhhc2hlcyB3aWxsIGJlIHRoZSBzYW1lCisjIGluIGRpZmZlcmVudCBidWlsZHMuCitleHBvcnQgQ0NBQ0hFX0JBU0VESVIgPz0gIiR7VE1QRElSfSIKKworIyBVc2VkIGZvciBzaGFyaW5nIGNhY2hlIGZpbGVzIGFmdGVyIGNvbXBpbGVyIGlzIHJlYnVpbHQKK2V4cG9ydCBDQ0FDSEVfQ09NUElMRVJDSEVDSyA/PSAiJWNvbXBpbGVyJSAtZHVtcHNwZWNzIgorCitleHBvcnQgQ0NBQ0hFX0NPTkZJR1BBVEggPz0gIiR7Q09SRUJBU0V9L21ldGEvY29uZi9jY2FjaGUuY29uZiIKKworZXhwb3J0IENDQUNIRV9ESVIgPz0gIiR7Q0NBQ0hFX1RPUF9ESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9LyR7UE59IgogCiAjIFdlIG5lZWQgdG8gc3RvcCBjY2FjaGUgY29uc2lkZXJpbmcgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIHRoZQogIyBkZWJ1Zy1wcmVmaXgtbWFwIHRhcmdldCBkaXJlY3RvcnkgdG8gYmUgc2lnbmlmaWNhbnQgd2hlbiBjYWxjdWxhdGluZwpAQCAtNyw1ICszOSwyOCBAQAogIyAke1BWfSBvciAke1BSfSBjaGFuZ2UuCiBleHBvcnQgQ0NBQ0hFX05PSEFTSERJUiA/PSAiMSIKIAotREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBjY2FjaGUtbmF0aXZlIgotREVQRU5EU1t2YXJkZXB2YWx1ZWV4Y2x1ZGVdID0gIiBjY2FjaGUtbmF0aXZlIgorcHl0aG9uKCkgeworICAgICIiIgorICAgIEVuYWJsZSBjY2FjaGUgZm9yIHRoZSByZWNpcGUKKyAgICAiIiIKKyAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCisgICAgIyBxdWlsdC1uYXRpdmUgZG9lc24ndCBuZWVkIGNjYWNoZSBzaW5jZSBubyBjIGZpbGVzCisgICAgaWYgbm90IChwbiBpbiAoJ2NjYWNoZS1uYXRpdmUnLCAncXVpbHQtbmF0aXZlJykgb3IKKyAgICAgICAgICAgIGJiLnV0aWxzLnRvX2Jvb2xlYW4oZC5nZXRWYXIoJ0NDQUNIRV9ESVNBQkxFJykpKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0RFUEVORFMnLCAnIGNjYWNoZS1uYXRpdmUnKQorICAgICAgICBkLnNldFZhcignQ0NBQ0hFJywgJ2NjYWNoZSAnKQorfQorCithZGR0YXNrIGNsZWFuY2NhY2hlIGFmdGVyIGRvX2NsZWFuCitweXRob24gZG9fY2xlYW5jY2FjaGUoKSB7CisgICAgaW1wb3J0IHNodXRpbAorCisgICAgY2NhY2hlX2RpciA9IGQuZ2V0VmFyKCdDQ0FDSEVfRElSJykKKyAgICBpZiBvcy5wYXRoLmV4aXN0cyhjY2FjaGVfZGlyKToKKyAgICAgICAgYmIubm90ZSgiUmVtb3ZpbmcgJXMiICUgY2NhY2hlX2RpcikKKyAgICAgICAgc2h1dGlsLnJtdHJlZShjY2FjaGVfZGlyKQorICAgIGVsc2U6CisgICAgICAgIGJiLm5vdGUoIiVzIGRvZXNuJ3QgZXhpc3QiICUgY2NhY2hlX2RpcikKK30KK2FkZHRhc2sgY2xlYW5hbGwgYWZ0ZXIgZG9fY2xlYW5jY2FjaGUKK2RvX2NsZWFuY2NhY2hlW25vc3RhbXBdID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jbHV0dGVyLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbHV0dGVyLmJiY2xhc3MKaW5kZXggNWVkYWIwZS4uMjRiNTNhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY2x1dHRlci5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NsdXR0ZXIuYmJjbGFzcwpAQCAtMTQsNCArMTQsNSBAQAogU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtSRUFMTkFNRX0vJHtWRVJNSU5PUn0vJHtSRUFMTkFNRX0tJHtQVn0udGFyLnh6O25hbWU9YXJjaGl2ZSIKIFMgPSAiJHtXT1JLRElSfS8ke1JFQUxOQU1FfS0ke1BWfSIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dAorQ0xVVFRFUkJBU0VCVUlMRENMQVNTID8/PSAiYXV0b3Rvb2xzIgoraW5oZXJpdCAke0NMVVRURVJCQVNFQlVJTERDTEFTU30gcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY21ha2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NtYWtlLmJiY2xhc3MKaW5kZXggYjM2NGQyYi4uZTE2NjMwNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY21ha2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWFrZS5iYmNsYXNzCkBAIC00LDkgKzQsNiBAQAogREVQRU5EU19wcmVwZW5kID0gImNtYWtlLW5hdGl2ZSAiCiBCID0gIiR7V09SS0RJUn0vYnVpbGQiCiAKLSMgV2UgbmVlZCB0byB1bnNldCBDQ0FDSEUgb3RoZXJ3aXNlIGNtYWtlIGdldHMgdG9vIGNvbmZ1c2VkCi1DQ0FDSEUgPSAiIgotCiAjIFdoYXQgQ01ha2UgZ2VuZXJhdG9yIHRvIHVzZS4KICMgVGhlIHN1cHBvcnRlZCBvcHRpb25zIGFyZSAiVW5peCBNYWtlZmlsZXMiIG9yICJOaW5qYSIuCiBPRUNNQUtFX0dFTkVSQVRPUiA/PSAiTmluamEiCkBAIC0yMywxMCArMjAsMjIgQEAKICAgICAgICAgZC5zZXRWYXJGbGFnKCJkb19jb21waWxlIiwgInByb2dyZXNzIiwgciJvdXRvZjpeXFsoXGQrKS8oXGQrKVxdXHMrIikKICAgICBlbHNlOgogICAgICAgICBiYi5mYXRhbCgiVW5rbm93biBDTWFrZSBHZW5lcmF0b3IgJXMiICUgZ2VuZXJhdG9yKQorCisgICAgIyBDL0MrKyBDb21waWxlciAod2l0aG91dCBjcHUgYXJjaC90dW5lIGFyZ3VtZW50cykKKyAgICBpZiBub3QgZC5nZXRWYXIoJ09FQ01BS0VfQ19DT01QSUxFUicpOgorICAgICAgICBjY19saXN0ID0gZC5nZXRWYXIoJ0NDJykuc3BsaXQoKQorICAgICAgICBpZiBjY19saXN0WzBdID09ICdjY2FjaGUnOgorICAgICAgICAgICAgZC5zZXRWYXIoJ09FQ01BS0VfQ19DT01QSUxFUicsICclcyAlcycgJSAoY2NfbGlzdFswXSwgY2NfbGlzdFsxXSkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkLnNldFZhcignT0VDTUFLRV9DX0NPTVBJTEVSJywgY2NfbGlzdFswXSkKKworICAgIGlmIG5vdCBkLmdldFZhcignT0VDTUFLRV9DWFhfQ09NUElMRVInKToKKyAgICAgICAgY3h4X2xpc3QgPSBkLmdldFZhcignQ1hYJykuc3BsaXQoKQorICAgICAgICBpZiBjeHhfbGlzdFswXSA9PSAnY2NhY2hlJzoKKyAgICAgICAgICAgIGQuc2V0VmFyKCdPRUNNQUtFX0NYWF9DT01QSUxFUicsICclcyAlcycgJSAoY3h4X2xpc3RbMF0sIGN4eF9saXN0WzFdKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGQuc2V0VmFyKCdPRUNNQUtFX0NYWF9DT01QSUxFUicsIGN4eF9saXN0WzBdKQogfQotIyBDL0MrKyBDb21waWxlciAod2l0aG91dCBjcHUgYXJjaC90dW5lIGFyZ3VtZW50cykKLU9FQ01BS0VfQ19DT01QSUxFUiA/PSAiYGVjaG8gJHtDQ30gfCBzZWQgJ3MvXlwoW14gXSpcKS4qL1wxLydgIgotT0VDTUFLRV9DWFhfQ09NUElMRVIgPz0gImBlY2hvICR7Q1hYfSB8IHNlZCAncy9eXChbXiBdKlwpLiovXDEvJ2AiCiBPRUNNQUtFX0FSID89ICIke0FSfSIKIAogIyBDb21waWxlciBmbGFncwpAQCAtMTA4LDYgKzExNywxMCBAQAogIyBhZGQgZm9yIG5vbiAvdXNyL2xpYiBsaWJkaXIsIGUuZy4gL3Vzci9saWI2NAogc2V0KCBDTUFLRV9MSUJSQVJZX1BBVEggJHtsaWJkaXJ9ICR7YmFzZV9saWJkaXJ9KQogCisjIGFkZCBpbmNsdWRlIGRpciB0byBpbXBsaWNpdCBpbmNsdWRlcyBpbiBjYXNlIGl0IGRpZmZlcnMgZnJvbSAvdXNyL2luY2x1ZGUKK2xpc3QoQVBQRU5EIENNQUtFX0NfSU1QTElDSVRfSU5DTFVERV9ESVJFQ1RPUklFUyAke2luY2x1ZGVkaXJ9KQorbGlzdChBUFBFTkQgQ01BS0VfQ1hYX0lNUExJQ0lUX0lOQ0xVREVfRElSRUNUT1JJRVMgJHtpbmNsdWRlZGlyfSkKKwogRU9GCiB9CiAKQEAgLTE1MSw3ICsxNjQsNiBAQAogCSAgLURDTUFLRV9JTlNUQUxMX0RBVEFST09URElSOlBBVEg9JHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdkYXRhZGlyJyksIGQuZ2V0VmFyKCdwcmVmaXgnKSl9IFwKIAkgIC1EQ01BS0VfSU5TVEFMTF9TT19OT19FWEU9MCBcCiAJICAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPSR7V09SS0RJUn0vdG9vbGNoYWluLmNtYWtlIFwKLQkgIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRT0xIFwKIAkgIC1EQ01BS0VfTk9fU1lTVEVNX0ZST01fSU1QT1JURUQ9MSBcCiAJICAke0VYVFJBX09FQ01BS0V9IFwKIAkgIC1Xbm8tZGV2CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jbWwxLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jbWwxLmJiY2xhc3MKaW5kZXggOTI2NzQ3Zi4uOThkMjRjZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY21sMS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NtbDEuYmJjbGFzcwpAQCAtMjYsNyArMjYsNyBAQAogICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBtdGltZSA9IDAKIAotICAgIG9lX3Rlcm1pbmFsKCIke1NIRUxMfSAtYyBcIm1ha2UgJXM7IGlmIFsgXCQ/IC1uZSAwIF07IHRoZW4gZWNobyAnQ29tbWFuZCBmYWlsZWQuJzsgcHJpbnRmICdQcmVzcyBhbnkga2V5IHRvIGNvbnRpbnVlLi4uICc7IHJlYWQgcjsgZmlcIiIgJSBkLmdldFZhcignS0NPTkZJR19DT05GSUdfQ09NTUFORCcpLAorICAgIG9lX3Rlcm1pbmFsKCJzaCAtYyBcIm1ha2UgJXM7IGlmIFsgXFwkPyAtbmUgMCBdOyB0aGVuIGVjaG8gJ0NvbW1hbmQgZmFpbGVkLic7IHByaW50ZiAnUHJlc3MgYW55IGtleSB0byBjb250aW51ZS4uLiAnOyByZWFkIHI7IGZpXCIiICUgZC5nZXRWYXIoJ0tDT05GSUdfQ09ORklHX0NPTU1BTkQnKSwKICAgICAgICAgICAgICAgICBkLmdldFZhcignUE4nKSArICcgQ29uZmlndXJhdGlvbicsIGQpCiAKICAgICAjIEZJWE1FIHRoaXMgY2hlY2sgY2FuIGJlIHJlbW92ZWQgd2hlbiB0aGUgbWluaW11bSBiaXRiYWtlIHZlcnNpb24gaGFzIGJlZW4gYnVtcGVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9jb21wcmVzc19kb2MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCmluZGV4IDQ1YmI4ZmYuLmQ2ZDExZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2NvbXByZXNzX2RvYy5iYmNsYXNzCkBAIC0xNjAsNiArMTYwLDcgQEAKICAgICByZXR1cm4gRmFsc2UsICcnCiAKIGRlZiBjb21wcmVzc19kb2ModG9wZGlyLCBjb21wcmVzc19tb2RlLCBjb21wcmVzc19jbWRzKToKKyAgICBpbXBvcnQgc3VicHJvY2VzcwogICAgIGhhcmRsaW5rX2RpY3QgPSB7fQogICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHRvcGRpcik6CiAgICAgICAgIGZvciBmIGluIGZpbGVzOgpAQCAtMTg3LDYgKzE4OCw3IEBACiAKICMgRGVjb21wcmVzcyBkb2MgZmlsZXMgd2hpY2ggZm9ybWF0IGlzIG5vdCBjb21wcmVzc19tb2RlCiBkZWYgZGVjb21wcmVzc19kb2ModG9wZGlyLCBjb21wcmVzc19tb2RlLCBkZWNvbXByZXNzX2NtZHMpOgorICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICAgaGFyZGxpbmtfZGljdCA9IHt9CiAgICAgZGVjb21wcmVzcyA9IFRydWUKICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayh0b3BkaXIpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi1iYXNlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcwppbmRleCA1NzdmY2Q2Li44NjdlZGY4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLWJhc2UuYmJjbGFzcwpAQCAtMiw3ICsyLDcgQEAKICMgY3Bhbi1iYXNlIHByb3ZpZGVycyB2YXJpb3VzIHBlcmwgcmVsYXRlZCBpbmZvcm1hdGlvbiBuZWVkZWQgZm9yIGJ1aWxkaW5nCiAjIGNwYW4gbW9kdWxlcwogIwotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wZXJsICR7ZGF0YWRpcn0vcGVybCIKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcGVybDUgJHtkYXRhZGlyfS9wZXJsNSIKIAogREVQRU5EUyAgKz0gIiR7QFsicGVybCIsICJwZXJsLW5hdGl2ZSJdWyhiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSldfSIKIFJERVBFTkRTXyR7UE59ICs9ICIke0BbInBlcmwiLCAiIl1bKGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpKV19IgpAQCAtMTQsNSArMTQsNSBAQAogICAgICAgICByZXR1cm4gInllcyIKICAgICByZXR1cm4gIm5vIgogCi1QRVJMTElCRElSUyA9ICIke2xpYmRpcn0vcGVybCIKLVBFUkxMSUJESVJTX2NsYXNzLW5hdGl2ZSA9ICIke2xpYmRpcn0vcGVybC1uYXRpdmUiCitQRVJMTElCRElSUyA9ICIke2xpYmRpcn0vcGVybDUiCitQRVJMTElCRElSU19jbGFzcy1uYXRpdmUgPSAiJHtsaWJkaXJ9L3Blcmw1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbi5iYmNsYXNzCmluZGV4IGE1YmMzMDEuLmU5OTA4YWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW4uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuLmJiY2xhc3MKQEAgLTEwLDEzICsxMCwxNCBAQAogZXhwb3J0IFBFUkxDT05GSUdUQVJHRVQgPSAiJHtAaXNfdGFyZ2V0KGQpfSIKIAogIyBFbnYgdmFyIHdoaWNoIHRlbGxzIHBlcmwgd2hlcmUgdGhlIHBlcmwgaW5jbHVkZSBmaWxlcyBhcmUKLWV4cG9ydCBQRVJMX0lOQyA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9L0NPUkUiCi1leHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKLWV4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKLWV4cG9ydCBQRVJMSE9TVExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfS8iCitleHBvcnQgUEVSTF9JTkMgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0vQ09SRSIKK2V4cG9ydCBQRVJMX0xJQiA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS8ke0BnZXRfcGVybF92ZXJzaW9uKGQpfSIKK2V4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0iCitleHBvcnQgUEVSTEhPU1RMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMSE9TVEFSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2hvc3RhcmNoKGQpfS8iCiAKIGNwYW5fZG9fY29uZmlndXJlICgpIHsKLQl5ZXMgJycgfCBwZXJsICR7RVhUUkFfUEVSTEZMQUdTfSBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz12ZW5kb3IgTk9fUEVSTExPQ0FMPTEgTk9fUEFDS0xJU1Q9MSAke0VYVFJBX0NQQU5GTEFHU30KKwl5ZXMgJycgfCBwZXJsICR7RVhUUkFfUEVSTEZMQUdTfSBNYWtlZmlsZS5QTCBJTlNUQUxMRElSUz12ZW5kb3IgTk9fUEVSTExPQ0FMPTEgTk9fUEFDS0xJU1Q9MSBQRVJMPSQod2hpY2ggcGVybCkgJHtFWFRSQV9DUEFORkxBR1N9CiAKIAkjIE1ha2VmaWxlLlBMcyBjYW4gZXhpdCB3aXRoIHN1Y2Nlc3Mgd2l0aG91dCBnZW5lcmF0aW5nIGEKIAkjIE1ha2VmaWxlLCBlLmcuIGluIGNhc2VzIG9mIG1pc3NpbmcgY29uZmlndXJlIHRpbWUKQEAgLTI3LDcgKzI4LDcgQEAKIAlbIC1lIE1ha2VmaWxlIF0gfHwgYmJmYXRhbCAiTm8gTWFrZWZpbGUgd2FzIGdlbmVyYXRlZCBieSBNYWtlZmlsZS5QTCIKIAogCWlmIFsgIiR7QlVJTERfU1lTfSIgIT0gIiR7SE9TVF9TWVN9IiBdOyB0aGVuCi0JCS4gJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybC9jb25maWcuc2gKKwkJLiAke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsNS9jb25maWcuc2gKIAkJIyBVc2UgZmluZCBzaW5jZSB0aGVyZSBjYW4gYmUgYSBNYWtlZmlsZSBnZW5lcmF0ZWQgZm9yIGVhY2ggTWFrZWZpbGUuUEwKIAkJZm9yIGYgaW4gYGZpbmQgLW5hbWUgTWFrZWZpbGUuUExgOyBkbwogCQkJZjI9YGVjaG8gJGYgfCBzZWQgLWUgJ3MvLlBMLy8nYApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbl9idWlsZC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Bhbl9idWlsZC5iYmNsYXNzCmluZGV4IDlhMmFkODkuLmYzZmI0NjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2NwYW5fYnVpbGQuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcGFuX2J1aWxkLmJiY2xhc3MKQEAgLTcsMTQgKzcsMTUgQEAKIAogIyBFbnYgdmFyIHdoaWNoIHRlbGxzIHBlcmwgaWYgaXQgc2hvdWxkIHVzZSBob3N0IChubykgb3IgdGFyZ2V0ICh5ZXMpIHNldHRpbmdzCiBleHBvcnQgUEVSTENPTkZJR1RBUkdFVCA9ICIke0Bpc190YXJnZXQoZCl9IgotZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSfSR7UEVSTF9PV05fRElSfS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9IgotZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsLyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMX0FSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0vJHtAZ2V0X3BlcmxfYXJjaChkKX0iCitleHBvcnQgUEVSTEhPU1RMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyIKK2V4cG9ydCBQRVJMSE9TVEFSQ0hMSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3Blcmw1LyR7QGdldF9wZXJsX3ZlcnNpb24oZCl9LyR7QGdldF9wZXJsX2hvc3RhcmNoKGQpfS8iCiBleHBvcnQgTEQgPSAiJHtDQ0xEfSIKIAogY3Bhbl9idWlsZF9kb19jb25maWd1cmUgKCkgewogCWlmIFsgIiR7QGlzX3RhcmdldChkKX0iID0gInllcyIgXTsgdGhlbgogCQkjIGJ1aWxkIGZvciB0YXJnZXQKLQkJLiAke1NUQUdJTkdfTElCRElSfS9wZXJsL2NvbmZpZy5zaAorCQkuICR7U1RBR0lOR19MSUJESVJ9L3Blcmw1L2NvbmZpZy5zaAogCWZpCiAKIAlwZXJsIEJ1aWxkLlBMIC0taW5zdGFsbGRpcnMgdmVuZG9yIC0tZGVzdGRpciAke0R9IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLWNhbmFkaWFuLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy1jYW5hZGlhbi5iYmNsYXNzCmluZGV4IGFjZGUzMzEuLmY1YzlmNjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLWNhbmFkaWFuLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MtY2FuYWRpYW4uYmJjbGFzcwpAQCAtOCw2ICs4LDggQEAKICMgU0RLIHBhY2thZ2VzIGFyZSBidWlsdCBlaXRoZXIgZXhwbGljaXRseSBieSB0aGUgdXNlciwKICMgb3IgaW5kaXJlY3RseSB2aWEgZGVwZW5kZW5jeS4gIE5vIG5lZWQgdG8gYmUgaW4gJ3dvcmxkJy4KIEVYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorTkFUSVZFU0RLTElCQyA/PSAibGliYy1nbGliYyIKK0xJQkNPVkVSUklERSA9ICI6JHtOQVRJVkVTREtMSUJDfSIKIENMQVNTT1ZFUlJJREUgPSAiY2xhc3MtY3Jvc3MtY2FuYWRpYW4iCiBTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU4gPSAiJHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtiaW5kaXJfbmF0aXZlfS8ke1NES19BUkNIfSR7U0RLX1ZFTkRPUn0tJHtTREtfT1N9OiR7U1RBR0lOR19ESVJfTkFUSVZFfSR7YmluZGlyX25hdGl2ZX0vJHtUQVJHRVRfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3NzLmJiY2xhc3MKaW5kZXggMzRkNzk1MS4uZjgzMjU2MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3MuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zcy5iYmNsYXNzCkBAIC0xNyw2ICsxNyw5IEBACiBIT1NUX0xEX0FSQ0ggPSAiJHtCVUlMRF9MRF9BUkNIfSIKIEhPU1RfQVNfQVJDSCA9ICIke0JVSUxEX0FTX0FSQ0h9IgogCisjIE5vIHN0cmlwIHN5c3Jvb3Qgd2hlbiBERUJVR19CVUlMRCBpcyBlbmFibGVkCitJTkhJQklUX1NZU1JPT1RfU1RSSVAgPz0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJzEnLCAnJywgZCl9IgorCiBleHBvcnQgbHRfY3Zfc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWMgPSAiJHtsaWJkaXJ9ICR7YmFzZV9saWJkaXJ9IC9saWIgL2xpYjY0IC91c3IvbGliIC91c3IvbGliNjQiCiAKIFNUQUdJTkdfRElSX0hPU1QgPSAiJHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3NzZGsuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Nyb3Nzc2RrLmJiY2xhc3MKaW5kZXggZmRhYWFjOC4uYzBjMGJmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvY3Jvc3NzZGsuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9jcm9zc3Nkay5iYmNsYXNzCkBAIC0xLDYgKzEsOCBAQAogaW5oZXJpdCBjcm9zcwogCiBDTEFTU09WRVJSSURFID0gImNsYXNzLWNyb3Nzc2RrIgorTkFUSVZFU0RLTElCQyA/PSAibGliYy1nbGliYyIKK0xJQkNPVkVSUklERSA9ICI6JHtOQVRJVkVTREtMSUJDfSIKIE1BQ0hJTkVPVkVSUklERVMgPSAiIgogUEFDS0FHRV9BUkNIID0gIiR7U0RLX0FSQ0h9IgogcHl0aG9uICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2RlYmlhbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKaW5kZXggOTg5ZWE4Zi4uNmY4YTU5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGViaWFuLmJiY2xhc3MKQEAgLTI5LDExICsyOSwxMSBAQAogCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCJQS0dERVNUIikKICAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpCi0gICAgc29fcmUgPSByZS5jb21waWxlKCJsaWIuKlwuc28iKQorICAgIHNvX3JlID0gcmUuY29tcGlsZShyImxpYi4qXC5zbyIpCiAKICAgICBkZWYgc29jcnVuY2gocyk6CiAgICAgICAgIHMgPSBzLmxvd2VyKCkucmVwbGFjZSgnXycsICctJykKLSAgICAgICAgbSA9IHJlLm1hdGNoKCJeKC4qKSguKVwuc29cLiguKikkIiwgcykKKyAgICAgICAgbSA9IHJlLm1hdGNoKHIiXiguKikoLilcLnNvXC4oLiopJCIsIHMpCiAgICAgICAgIGlmIG0gaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIGlmIG0uZ3JvdXAoMikgaW4gJzAxMjM0NTY3ODknOgpAQCAtNzksNyArNzksNyBAQAogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBjbWQgPSBbZC5leHBhbmQoIiR7VEFSR0VUX1BSRUZJWH1vYmpkdW1wIiksICItcCIsIGZdCiAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQpLmRlY29kZSgidXRmLTgiKQotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG0gaW4gcmUuZmluZGl0ZXIoIlxzK1NPTkFNRVxzKyhbXlxzXSspIiwgb3V0cHV0KToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiXHMrU09OQU1FXHMrKFteXHNdKykiLCBvdXRwdXQpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG0uZ3JvdXAoMSkgbm90IGluIHNvbmFtZXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbmFtZXMuYXBwZW5kKG0uZ3JvdXAoMSkpCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2RldmljZXRyZWUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RldmljZXRyZWUuYmJjbGFzcwppbmRleCA4ZmU1YTVlLi41YzAzZTRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kZXZpY2V0cmVlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZGV2aWNldHJlZS5iYmNsYXNzCkBAIC0yNyw2ICsyNyw4IEBACiAKIENPTVBBVElCTEVfTUFDSElORSA/PSAiXiQiCiAKK1BST1ZJREVTID0gInZpcnR1YWwvZHRiIgorCiBQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgogCiBTWVNST09UX0RJUlMgKz0gIi9ib290L2RldmljZXRyZWUiCkBAIC0xMjAsOSArMTIyLDEyIEBACiAgICAgaW5jbHVkZXMgPSBleHBhbmRfaW5jbHVkZXMoIkRUX0lOQ0xVREUiLCBkKQogICAgIGxpc3RwYXRoID0gZC5nZXRWYXIoIkRUX0ZJTEVTX1BBVEgiKQogICAgIGZvciBkdHMgaW4gb3MubGlzdGRpcihsaXN0cGF0aCk6Ci0gICAgICAgIGlmIG5vdCBkdHMuZW5kc3dpdGgoIi5kdHMiKToKLSAgICAgICAgICAgIGNvbnRpbnVlICMgc2tpcCBub24tLmR0cyBmaWxlcwogICAgICAgICBkdHNwYXRoID0gb3MucGF0aC5qb2luKGxpc3RwYXRoLCBkdHMpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGlmIG5vdChvcy5wYXRoLmlzZmlsZShkdHNwYXRoKSkgb3Igbm90KGR0cy5lbmRzd2l0aCgiLmR0cyIpIG9yIGRldmljZXRyZWVfc291cmNlX2lzX292ZXJsYXkoZHRzcGF0aCkpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlICMgc2tpcCBub24tLmR0cyBmaWxlcyBhbmQgbm9uLW92ZXJsYXkgZmlsZXMKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgY29udGludWUgIyBza2lwIGlmIGNhbid0IGRldGVybWluZSBpZiBvdmVybGF5CiAgICAgICAgIGRldmljZXRyZWVfY29tcGlsZShkdHNwYXRoLCBpbmNsdWRlcywgZCkKIH0KIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGV2dG9vbC1zb3VyY2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2RldnRvb2wtc291cmNlLmJiY2xhc3MKaW5kZXggMTM3MmUzMi4uYTgxMTAwMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZGV2dG9vbC1zb3VyY2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9kZXZ0b29sLXNvdXJjZS5iYmNsYXNzCkBAIC0xMDMsOCArMTAzLDEwIEBACiAgICAgICAgICAgICAgICAgZm9yIGwgaW4gc2NjZmlsZToKICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGwuc3BsaXQoKQogICAgICAgICAgICAgICAgICAgICBpZiBsaW5lIGFuZCBsaW5lWzBdIGluICgna2NvbmYnLCAncGF0Y2gnKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2ZpbGVzW2xpbmVbLTFdXSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKQotICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkyKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKSwgd29ya2RpcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGNmZyA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobG9jYWxfZmlsZXNba2V5XSksIGxpbmVbLTFdKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGNmZyBpbiBsb2NhbF9maWxlcy52YWx1ZXMoKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbF9maWxlc1tsaW5lWy0xXV0gPSBjZmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weTIoY2ZnLCB3b3JrZGlyKQogICAgICAgICAgICAgICAgIHNjY2ZpbGUuY2xvc2UoKQogCiAgICAgIyBJZ25vcmUgbG9jYWwgZmlsZXMgd2l0aCBzdWJkaXI9e0JQfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHJvX2ZlYXR1cmVzX2NoZWNrLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcwppbmRleCA5Yjc4YjAzLi5lZWFhM2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9fZmVhdHVyZXNfY2hlY2suYmJjbGFzcwpAQCAtMTEsMjcgKzExLDIyIEBACiAKIHB5dGhvbiAoKSB7CiAgICAgIyBBc3N1bWUgYXQgbGVhc3Qgb25lIHZhciBpcyBzZXQuCi0gICAgZGlzdHJvX2ZlYXR1cmVzID0gKGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnKSBvciAiIikuc3BsaXQoKQorICAgIGRpc3Ryb19mZWF0dXJlcyA9IHNldCgoZC5nZXRWYXIoJ0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogCi0gICAgYW55X29mX2Rpc3Ryb19mZWF0dXJlcyA9IGQuZ2V0VmFyKCdBTllfT0ZfRElTVFJPX0ZFQVRVUkVTJykKKyAgICBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignQU5ZX09GX0RJU1RST19GRUFUVVJFUycpIG9yICcnKS5zcGxpdCgpKQogICAgIGlmIGFueV9vZl9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgIGFueV9vZl9kaXN0cm9fZmVhdHVyZXMgPSBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzLnNwbGl0KCkKLSAgICAgICAgaWYgc2V0LmlzZGlzam9pbnQoc2V0KGFueV9vZl9kaXN0cm9fZmVhdHVyZXMpLHNldChkaXN0cm9fZmVhdHVyZXMpKToKLSAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm9uZSBvZiAnJXMnIG5lZWRzIHRvIGJlIGluIERJU1RST19GRUFUVVJFUyIgJSBhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzKQorICAgICAgICBpZiBzZXQuaXNkaXNqb2ludChhbnlfb2ZfZGlzdHJvX2ZlYXR1cmVzLCBkaXN0cm9fZmVhdHVyZXMpOgorICAgICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgib25lIG9mICclcycgbmVlZHMgdG8gYmUgaW4gRElTVFJPX0ZFQVRVUkVTIiAlICcgJy5qb2luKGFueV9vZl9kaXN0cm9fZmVhdHVyZXMpKQogCi0gICAgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzID0gZC5nZXRWYXIoJ1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUycpCisgICAgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTJykgb3IgJycpLnNwbGl0KCkpCiAgICAgaWYgcmVxdWlyZWRfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMgPSByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMuc3BsaXQoKQotICAgICAgICBmb3IgZiBpbiByZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICBpZiBmIGluIGRpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJtaXNzaW5nIHJlcXVpcmVkIGRpc3RybyBmZWF0dXJlICclcycgKG5vdCBpbiBESVNUUk9fRkVBVFVSRVMpIiAlIGYpCisgICAgICAgIG1pc3NpbmcgPSBzZXQuZGlmZmVyZW5jZShyZXF1aXJlZF9kaXN0cm9fZmVhdHVyZXMsIGRpc3Ryb19mZWF0dXJlcykKKyAgICAgICAgaWYgbWlzc2luZzoKKyAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIm1pc3NpbmcgcmVxdWlyZWQgZGlzdHJvIGZlYXR1cmUlcyAnJXMnIChub3QgaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSAoJ3MnIGlmIGxlbihtaXNzaW5nKSA+IDEgZWxzZSAnJywgJyAnLmpvaW4obWlzc2luZykpKQogCi0gICAgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzID0gZC5nZXRWYXIoJ0NPTkZMSUNUX0RJU1RST19GRUFUVVJFUycpCisgICAgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzID0gc2V0KChkLmdldFZhcignQ09ORkxJQ1RfRElTVFJPX0ZFQVRVUkVTJykgb3IgJycpLnNwbGl0KCkpCiAgICAgaWYgY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzOgotICAgICAgICBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXMgPSBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXMuc3BsaXQoKQotICAgICAgICBmb3IgZiBpbiBjb25mbGljdF9kaXN0cm9fZmVhdHVyZXM6Ci0gICAgICAgICAgICBpZiBmIGluIGRpc3Ryb19mZWF0dXJlczoKLSAgICAgICAgICAgICAgICByYWlzZSBiYi5wYXJzZS5Ta2lwUmVjaXBlKCJjb25mbGljdGluZyBkaXN0cm8gZmVhdHVyZSAnJXMnIChpbiBESVNUUk9fRkVBVFVSRVMpIiAlIGYpCisgICAgICAgIGNvbmZsaWN0cyA9IHNldC5pbnRlcnNlY3Rpb24oY29uZmxpY3RfZGlzdHJvX2ZlYXR1cmVzLCBkaXN0cm9fZmVhdHVyZXMpCisgICAgICAgIGlmIGNvbmZsaWN0czoKKyAgICAgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoImNvbmZsaWN0aW5nIGRpc3RybyBmZWF0dXJlJXMgJyVzJyAoaW4gRElTVFJPX0ZFQVRVUkVTKSIgJSAoJ3MnIGlmIGxlbihjb25mbGljdHMpID4gMSBlbHNlICcnLCAnICcuam9pbihjb25mbGljdHMpKSkKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3Ryb2RhdGEuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2Rpc3Ryb2RhdGEuYmJjbGFzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTllZThjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0cm9kYXRhLmJiY2xhc3MKKysrIC9kZXYvbnVsbApAQCAtMSw0MjcgKzAsMCBAQAotaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL3Vwc3RyZWFtX3RyYWNraW5nLmluYwotaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMKLWluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKLQotYWRkaGFuZGxlciBkaXN0cm9fZXZlbnRoYW5kbGVyCi1kaXN0cm9fZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIgotcHl0aG9uIGRpc3Ryb19ldmVudGhhbmRsZXIoKSB7Ci0gICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgIGltcG9ydCBjc3YKLSAgICBsb2dmaWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgImRpc3Ryb2RhdGEuY3N2IikKLQotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICB3aXRoIG9wZW4obG9nZmlsZSwgImEiKSBhcyBmOgotICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYpCi0gICAgICAgIHdyaXRlci53cml0ZXJvdyhbJ1BhY2thZ2UnLCAnRGVzY3JpcHRpb24nLCAnT3duZXInLCAnTGljZW5zZScsIAotICAgICAgICAgICAgJ1Zlck1hdGNoJywgJ1ZlcnNpb24nLCAnVXBzdHJlYW0nLCAnUmVhc29uJywgJ1JlY2lwZSBTdGF0dXMnLAotICAgICAgICAgICAgJ0Rpc3RybyAxJywgJ0Rpc3RybyAyJywgJ0Rpc3RybyAzJ10pCi0gICAgICAgIGYuY2xvc2UoKQotICAgIGJiLnV0aWxzLnVubG9ja2ZpbGUobGYpCi0KLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBkaXN0cm9kYXRhX25wCi1kb19kaXN0cm9kYXRhX25wW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fZGlzdHJvZGF0YV9ucCgpIHsKLSAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCi0gICAgICAgIHBuID0gZC5nZXRWYXIoIlBOIikKLSAgICAgICAgYmIubm90ZSgiUGFja2FnZSBOYW1lOiAlcyIgJSBwbikKLQotICAgICAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRpc3RfY2hlY2sKLSAgICAgICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCi0gICAgICAgIGRpc3Ryb19jaGVja19kaXIgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAiZGlzdHJvX2NoZWNrIikKLSAgICAgICAgZGF0ZXRpbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdEQVRFVElNRScpCi0gICAgICAgIGRpc3RfY2hlY2sudXBkYXRlX2Rpc3Ryb19kYXRhKGRpc3Ryb19jaGVja19kaXIsIGRhdGV0aW1lLCBsb2NhbGRhdGEpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLW5hdGl2ZSIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItbmF0aXZlIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZSBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1jcm9zc3NkayIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItY3Jvc3NzZGsiKQotICAgICAgICAgICAgYmIubm90ZSgiY3Jvc3MgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1pbml0aWFsIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG4uc3BsaXQoIi1pbml0aWFsIikKLSAgICAgICAgICAgIGJiLm5vdGUoImluaXRpYWwgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgIiIiZ2VuZXJhdGUgcGFja2FnZSBpbmZvcm1hdGlvbiBmcm9tIC5iYiBmaWxlIiIiCi0gICAgICAgIHBuYW1lID0gbG9jYWxkYXRhLmdldFZhcignUE4nKQotICAgICAgICBwY3VydmVyID0gbG9jYWxkYXRhLmdldFZhcignUFYnKQotICAgICAgICBwZGVzYyA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFU0NSSVBUSU9OJykKLSAgICAgICAgaWYgcGRlc2MgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgcGRlc2MgPSBwZGVzYy5yZXBsYWNlKCcsJywnJykKLSAgICAgICAgICAgICAgICBwZGVzYyA9IHBkZXNjLnJlcGxhY2UoJ1xuJywnJykKLQotICAgICAgICBwZ3JwID0gbG9jYWxkYXRhLmdldFZhcignU0VDVElPTicpCi0gICAgICAgIHBsaWNlbnNlID0gbG9jYWxkYXRhLmdldFZhcignTElDRU5TRScpLnJlcGxhY2UoJywnLCdfJykKLQotICAgICAgICByc3RhdHVzID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX0NPTE9SJykKLSAgICAgICAgaWYgcnN0YXR1cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICByc3RhdHVzID0gcnN0YXR1cy5yZXBsYWNlKCcsJywnJykKLQotICAgICAgICBwdXB2ZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfVVBTVFJFQU1fVkVSU0lPTicpCi0gICAgICAgIGlmIHBjdXJ2ZXIgPT0gcHVwdmVyOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIxIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZlcm1hdGNoPSIwIgotICAgICAgICBub3VwZGF0ZV9yZWFzb24gPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfTk9fVVBEQVRFX1JFQVNPTicpCi0gICAgICAgIGlmIG5vdXBkYXRlX3JlYXNvbiBpcyBOb25lOgotICAgICAgICAgICAgICAgIG5vdXBkYXRlPSIwIgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG5vdXBkYXRlPSIxIgotICAgICAgICAgICAgICAgIG5vdXBkYXRlX3JlYXNvbiA9IG5vdXBkYXRlX3JlYXNvbi5yZXBsYWNlKCcsJywnJykKLQotICAgICAgICBtYWludGFpbmVyID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX01BSU5UQUlORVInKQotICAgICAgICBybHJkID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX1VQU1RSRUFNX0RBVEUnKQotICAgICAgICByZXN1bHQgPSBkaXN0X2NoZWNrLmNvbXBhcmVfaW5fZGlzdHJvX3BhY2thZ2VzX2xpc3QoZGlzdHJvX2NoZWNrX2RpciwgbG9jYWxkYXRhKQotCi0gICAgICAgIGJiLm5vdGUoIkRJU1RSTzogJXMsJXMsJXMsJXMsJXMsJXMsJXMsJXMsJXNcbiIgJSBcCi0gICAgICAgICAgICAgICAgICAocG5hbWUsIHBkZXNjLCBtYWludGFpbmVyLCBwbGljZW5zZSwgdmVybWF0Y2gsIHBjdXJ2ZXIsIHB1cHZlciwgbm91cGRhdGVfcmVhc29uLCByc3RhdHVzKSkKLSAgICAgICAgbGluZSA9IHBuCi0gICAgICAgIGZvciBpIGluIHJlc3VsdDoKLSAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgIiwiICsgaQotICAgICAgICBiYi5ub3RlKCIlc1xuIiAlIGxpbmUpCi19Ci1kb19kaXN0cm9kYXRhX25wW3ZhcmRlcHNleGNsdWRlXSA9ICJEQVRFVElNRSIKLQotYWRkdGFzayBkaXN0cm9kYXRhCi1kb19kaXN0cm9kYXRhW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fZGlzdHJvZGF0YSgpIHsKLSAgICAgICAgaW1wb3J0IGNzdgotICAgICAgICBsb2dwYXRoID0gZC5nZXRWYXIoJ0xPR19ESVInKQotICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICAgICAgbG9nZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAiZGlzdHJvZGF0YS5jc3YiKQotCi0gICAgICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGlzdF9jaGVjawotICAgICAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICAgICAgdG1wZGlyID0gZC5nZXRWYXIoJ1RNUERJUicpCi0gICAgICAgIGRpc3Ryb19jaGVja19kaXIgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAiZGlzdHJvX2NoZWNrIikKLSAgICAgICAgZGF0ZXRpbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdEQVRFVElNRScpCi0gICAgICAgIGRpc3RfY2hlY2sudXBkYXRlX2Rpc3Ryb19kYXRhKGRpc3Ryb19jaGVja19kaXIsIGRhdGV0aW1lLCBsb2NhbGRhdGEpCi0KLSAgICAgICAgcG4gPSBkLmdldFZhcigiUE4iKQotICAgICAgICBiYi5ub3RlKCJQYWNrYWdlIE5hbWU6ICVzIiAlIHBuKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1uYXRpdmUiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLW5hdGl2ZSIpCi0gICAgICAgICAgICBiYi5ub3RlKCJOYXRpdmUgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uc3RhcnRzd2l0aCgibmF0aXZlc2RrLSIpOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbi5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuLmZpbmQoIi1jcm9zc3NkayIpICE9IC0xOgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuLnNwbGl0KCItY3Jvc3NzZGsiKQotICAgICAgICAgICAgYmIubm90ZSgiY3Jvc3MgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgaWYgcG4uZmluZCgiLWluaXRpYWwiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbi5zcGxpdCgiLWluaXRpYWwiKQotICAgICAgICAgICAgYmIubm90ZSgiaW5pdGlhbCBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZFswXSArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICAiIiJnZW5lcmF0ZSBwYWNrYWdlIGluZm9ybWF0aW9uIGZyb20gLmJiIGZpbGUiIiIKLSAgICAgICAgcG5hbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQTicpCi0gICAgICAgIHBjdXJ2ZXIgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQVicpCi0gICAgICAgIHBkZXNjID0gbG9jYWxkYXRhLmdldFZhcignREVTQ1JJUFRJT04nKQotICAgICAgICBpZiBwZGVzYyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBwZGVzYyA9IHBkZXNjLnJlcGxhY2UoJywnLCcnKQotICAgICAgICAgICAgICAgIHBkZXNjID0gcGRlc2MucmVwbGFjZSgnXG4nLCcnKQotCi0gICAgICAgIHBncnAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGxpY2Vuc2UgPSBsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNFJykucmVwbGFjZSgnLCcsJ18nKQotCi0gICAgICAgIHJzdGF0dXMgPSBsb2NhbGRhdGEuZ2V0VmFyKCdSRUNJUEVfQ09MT1InKQotICAgICAgICBpZiByc3RhdHVzIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIHJzdGF0dXMgPSByc3RhdHVzLnJlcGxhY2UoJywnLCcnKQotCi0gICAgICAgIHB1cHZlciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9VUFNUUkVBTV9WRVJTSU9OJykKLSAgICAgICAgaWYgcGN1cnZlciA9PSBwdXB2ZXI6Ci0gICAgICAgICAgICAgICAgdmVybWF0Y2g9IjEiCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmVybWF0Y2g9IjAiCi0KLSAgICAgICAgbm91cGRhdGVfcmVhc29uID0gbG9jYWxkYXRhLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQotICAgICAgICBpZiBub3VwZGF0ZV9yZWFzb24gaXMgTm9uZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMCIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBub3VwZGF0ZT0iMSIKLSAgICAgICAgICAgICAgICBub3VwZGF0ZV9yZWFzb24gPSBub3VwZGF0ZV9yZWFzb24ucmVwbGFjZSgnLCcsJycpCi0KLSAgICAgICAgbWFpbnRhaW5lciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJykKLSAgICAgICAgcmxyZCA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9VUFNUUkVBTV9EQVRFJykKLSAgICAgICAgIyBkbyB0aGUgY29tcGFyaXNvbgotICAgICAgICByZXN1bHQgPSBkaXN0X2NoZWNrLmNvbXBhcmVfaW5fZGlzdHJvX3BhY2thZ2VzX2xpc3QoZGlzdHJvX2NoZWNrX2RpciwgbG9jYWxkYXRhKQotCi0gICAgICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siICUgbG9nZmlsZSkKLSAgICAgICAgd2l0aCBvcGVuKGxvZ2ZpbGUsICJhIikgYXMgZjoKLSAgICAgICAgICAgIHJvdyA9IFtwbmFtZSwgcGRlc2MsIG1haW50YWluZXIsIHBsaWNlbnNlLCB2ZXJtYXRjaCwgcGN1cnZlciwgcHVwdmVyLCBub3VwZGF0ZV9yZWFzb24sIHJzdGF0dXNdCi0gICAgICAgICAgICByb3cuZXh0ZW5kKHJlc3VsdCkKLQotICAgICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihmKQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KHJvdykKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotfQotZG9fZGlzdHJvZGF0YVt2YXJkZXBzZXhjbHVkZV0gPSAiREFURVRJTUUiCi0KLWFkZGhhbmRsZXIgY2hlY2twa2dfZXZlbnRoYW5kbGVyCi1jaGVja3BrZ19ldmVudGhhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5CdWlsZFN0YXJ0ZWQgYmIuZXZlbnQuQnVpbGRDb21wbGV0ZWQiCi1weXRob24gY2hlY2twa2dfZXZlbnRoYW5kbGVyKCkgewotICAgIGltcG9ydCBjc3YKLQotICAgIGRlZiBwYXJzZV9jc3ZfZmlsZShmaWxlbmFtZSk6Ci0gICAgICAgIHBhY2thZ2VfZGljdCA9IHt9Ci0KLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAiciIpIGFzIGY6Ci0gICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgZm9yIHJvdyBpbiByZWFkZXI6Ci0gICAgICAgICAgICAgICAgcG4gPSByb3dbMF0KLQotICAgICAgICAgICAgICAgIGlmIHJlYWRlci5saW5lX251bSA9PSAxOgotICAgICAgICAgICAgICAgICAgICBoZWFkZXIgPSByb3cKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgICAgIGlmIG5vdCBwbiBpbiBwYWNrYWdlX2RpY3Qua2V5cygpOgotICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX2RpY3RbcG5dID0gcm93Ci0gICAgICAgICAgICBmLmNsb3NlKCkKLQotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJ3IikgYXMgZjoKLSAgICAgICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZiwgZGVsaW1pdGVyPSdcdCcpCi0gICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coaGVhZGVyKQotICAgICAgICAgICAgZm9yIHBuIGluIHBhY2thZ2VfZGljdC5rZXlzKCk6Ci0gICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KHBhY2thZ2VfZGljdFtwbl0pCi0gICAgICAgICAgICBmLmNsb3NlKCkKLQotICAgICAgICBkZWwgcGFja2FnZV9kaWN0Ci0KLSAgICBpZiBiYi5ldmVudC5nZXROYW1lKGUpID09ICJCdWlsZFN0YXJ0ZWQiOgotICAgICAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRjCi0gICAgICAgIGxvZ2ZpbGUgPSBkYy5jcmVhdGVfbG9nX2ZpbGUoZS5kYXRhLCAiY2hlY2twa2cuY3N2IikKLQotICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgaGVhZGVycyA9IFsnUGFja2FnZScsICdWZXJzaW9uJywgJ1VwdmVyJywgJ0xpY2Vuc2UnLCAnU2VjdGlvbicsCi0gICAgICAgICAgICAgICAgJ0hvbWUnLCAnUmVsZWFzZScsICdEZXBlbmRzJywgJ0J1Z1RyYWNrZXInLCAnUEUnLCAnRGVzY3JpcHRpb24nLAotICAgICAgICAgICAgICAgICdTdGF0dXMnLCAnVHJhY2tpbmcnLCAnVVJJJywgJ01BSU5UQUlORVInLCAnTm9VcFJlYXNvbiddCi0gICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coaGVhZGVycykKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIGVsaWYgYmIuZXZlbnQuZ2V0TmFtZShlKSA9PSAiQnVpbGRDb21wbGV0ZWQiOgotICAgICAgICBpbXBvcnQgb3MKLSAgICAgICAgZmlsZW5hbWUgPSAidG1wL2xvZy9jaGVja3BrZy5jc3YiCi0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lKToKLSAgICAgICAgICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoIiVzLmxvY2siJWZpbGVuYW1lKQotICAgICAgICAgICAgcGFyc2VfY3N2X2ZpbGUoZmlsZW5hbWUpCi0gICAgICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQotCi1hZGR0YXNrIGNoZWNrcGtnCi1kb19jaGVja3BrZ1tub3N0YW1wXSA9ICIxIgotcHl0aG9uIGRvX2NoZWNrcGtnKCkgewotICAgICAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICAgICAgaW1wb3J0IGNzdgotICAgICAgICBpbXBvcnQgcmUKLSAgICAgICAgaW1wb3J0IHRlbXBmaWxlCi0gICAgICAgIGltcG9ydCBzdWJwcm9jZXNzCi0gICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscwotICAgICAgICBmcm9tIGJiLnV0aWxzIGltcG9ydCB2ZXJjbXBfc3RyaW5nCi0gICAgICAgIGZyb20gYmIuZmV0Y2gyIGltcG9ydCBGZXRjaEVycm9yLCBOb01ldGhvZEVycm9yLCBkZWNvZGV1cmwKLQotICAgICAgICBkZWYgZ2V0X3Vwc3RyZWFtX3ZlcnNpb25fYW5kX3N0YXR1cygpOgotCi0gICAgICAgICAgICAjIHNldCBpZiB0aGUgdXBzdHJlYW0gY2hlY2sgZmFpbHMgcmVsaWFibHksIGUuZy4gYWJzZW50IGdpdCB0YWdzLCBvciB3ZWlyZCB2ZXJzaW9uIGZvcm1hdCB1c2VkIG9uIG91ciBvciBvbiB1cHN0cmVhbSBzaWRlLgotICAgICAgICAgICAgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duID0gbG9jYWxkYXRhLmdldFZhcignVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOJykKLSAgICAgICAgICAgICMgc2V0IGlmIHRoZSB1cHN0cmVhbSBjaGVjayBjYW5ub3QgYmUgcmVsaWFibHkgcGVyZm9ybWVkIGR1ZSB0byB0cmFuc2llbnQgbmV0d29yayBmYWlsdXJlcywgb3Igc2VydmVyIGJlaGF2aW5nIHdlaXJkbHkuIAotICAgICAgICAgICAgIyBUaGlzIG9uZSBzaG91bGQgYmUgdXNlZCBzcGFyaW5nbHksIGFzIGl0IGNvbXBsZXRlbHkgZXhjbHVkZXMgYSByZWNpcGUgZnJvbSB1cHN0cmVhbSBjaGVja2luZy4KLSAgICAgICAgICAgIHVwc3RyZWFtX2NoZWNrX3VucmVsaWFibGUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdVUFNUUkVBTV9DSEVDS19VTlJFTElBQkxFJykKLQotICAgICAgICAgICAgaWYgdXBzdHJlYW1fY2hlY2tfdW5yZWxpYWJsZSA9PSAiMSI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuICJOL0EiLCAiQ0hFQ0tfSVNfVU5SRUxJQUJMRSIKLQotICAgICAgICAgICAgdXYgPSBvZS5yZWNpcGV1dGlscy5nZXRfcmVjaXBlX3Vwc3RyZWFtX3ZlcnNpb24obG9jYWxkYXRhKQotICAgICAgICAgICAgcHVwdmVyID0gdXZbJ3ZlcnNpb24nXSBpZiB1dlsndmVyc2lvbiddIGVsc2UgIk4vQSIKLSAgICAgICAgICAgIHB2ZXJzaW9uID0gdXZbJ2N1cnJlbnRfdmVyc2lvbiddCi0gICAgICAgICAgICByZXZpc2lvbiA9IHV2WydyZXZpc2lvbiddIGlmIHV2WydyZXZpc2lvbiddIGVsc2UgIk4vQSIKLQotICAgICAgICAgICAgaWYgcHVwdmVyID09ICJOL0EiOgotICAgICAgICAgICAgICAgIHBzdGF0dXMgPSAiVU5LTk9XTiIgaWYgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIlVOS05PV05fQlJPS0VOIgotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjbXAgPSB2ZXJjbXBfc3RyaW5nKHB2ZXJzaW9uLCBwdXB2ZXIpCi0gICAgICAgICAgICAgICAgaWYgY21wID09IC0xOgotICAgICAgICAgICAgICAgICAgICBwc3RhdHVzID0gIlVQREFURSIgaWYgbm90IHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJLTk9XTl9CUk9LRU4iCi0gICAgICAgICAgICAgICAgZWxpZiBjbXAgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcHN0YXR1cyA9ICJNQVRDSCIgaWYgbm90IHVwc3RyZWFtX3ZlcnNpb25fdW5rbm93biBlbHNlICJLTk9XTl9CUk9LRU4iCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCi0KLSAgICAgICAgICAgIHJldHVybiBwdmVyc2lvbiwgcHVwdmVyLCBwc3RhdHVzLCByZXZpc2lvbgotCi0KLSAgICAgICAgIiIiaW5pdGlhbGl6ZSBsb2cgZmlsZXMuIiIiCi0gICAgICAgIGxvZ3BhdGggPSBkLmdldFZhcignTE9HX0RJUicpCi0gICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihsb2dwYXRoKQotICAgICAgICBsb2dmaWxlID0gb3MucGF0aC5qb2luKGxvZ3BhdGgsICJjaGVja3BrZy5jc3YiKQotCi0gICAgICAgICIiImdlbmVyYXRlIHBhY2thZ2UgaW5mb3JtYXRpb24gZnJvbSAuYmIgZmlsZSIiIgotICAgICAgICBwbmFtZSA9IGQuZ2V0VmFyKCdQTicpCi0KLSAgICAgICAgaWYgcG5hbWUuZmluZCgiLW5hdGl2ZSIpICE9IC0xOgotICAgICAgICAgICAgaWYgZC5nZXRWYXIoJ0JCQ0xBU1NFWFRFTkQnKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG5hbWUuc3BsaXQoIi1uYXRpdmUiKQotICAgICAgICAgICAgYmIubm90ZSgiTmF0aXZlIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuYW1lLnN0YXJ0c3dpdGgoIm5hdGl2ZXNkay0iKToKLSAgICAgICAgICAgIGlmIGQuZ2V0VmFyKCdCQkNMQVNTRVhURU5EJyk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgcG5zdHJpcHBlZCA9IHBuYW1lLnJlcGxhY2UoIm5hdGl2ZXNkay0iLCAiIikKLSAgICAgICAgICAgIGJiLm5vdGUoIk5hdGl2ZVNESyBTcGxpdDogJXMiICUgcG5zdHJpcHBlZCkKLSAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ09WRVJSSURFUycsICJwbi0iICsgcG5zdHJpcHBlZCArICI6IiArIGQuZ2V0VmFyKCdPVkVSUklERVMnKSkKLQotICAgICAgICBpZiBwbmFtZS5maW5kKCItY3Jvc3MiKSAhPSAtMToKLSAgICAgICAgICAgIHBuc3RyaXBwZWQgPSBwbmFtZS5zcGxpdCgiLWNyb3NzIikKLSAgICAgICAgICAgIGJiLm5vdGUoImNyb3NzIFNwbGl0OiAlcyIgJSBwbnN0cmlwcGVkKQotICAgICAgICAgICAgbG9jYWxkYXRhLnNldFZhcignT1ZFUlJJREVTJywgInBuLSIgKyBwbnN0cmlwcGVkWzBdICsgIjoiICsgZC5nZXRWYXIoJ09WRVJSSURFUycpKQotCi0gICAgICAgIGlmIHBuYW1lLmZpbmQoIi1pbml0aWFsIikgIT0gLTE6Ci0gICAgICAgICAgICBwbnN0cmlwcGVkID0gcG5hbWUuc3BsaXQoIi1pbml0aWFsIikKLSAgICAgICAgICAgIGJiLm5vdGUoImluaXRpYWwgU3BsaXQ6ICVzIiAlIHBuc3RyaXBwZWQpCi0gICAgICAgICAgICBsb2NhbGRhdGEuc2V0VmFyKCdPVkVSUklERVMnLCAicG4tIiArIHBuc3RyaXBwZWRbMF0gKyAiOiIgKyBkLmdldFZhcignT1ZFUlJJREVTJykpCi0KLSAgICAgICAgcGRlc2MgPSBsb2NhbGRhdGEuZ2V0VmFyKCdERVNDUklQVElPTicpCi0gICAgICAgIHBncnAgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGxpY2Vuc2UgPSBsb2NhbGRhdGEuZ2V0VmFyKCdMSUNFTlNFJykKLSAgICAgICAgcHNlY3Rpb24gPSBsb2NhbGRhdGEuZ2V0VmFyKCdTRUNUSU9OJykKLSAgICAgICAgcGhvbWUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdIT01FUEFHRScpCi0gICAgICAgIHByZWxlYXNlID0gbG9jYWxkYXRhLmdldFZhcignUFInKQotICAgICAgICBwZGVwZW5kcyA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RFUEVORFMnKQotICAgICAgICBwYnVndHJhY2tlciA9IGxvY2FsZGF0YS5nZXRWYXIoJ0JVR1RSQUNLRVInKQotICAgICAgICBwcGUgPSBsb2NhbGRhdGEuZ2V0VmFyKCdQRScpCi0gICAgICAgIHBzcmN1cmkgPSBsb2NhbGRhdGEuZ2V0VmFyKCdTUkNfVVJJJykKLSAgICAgICAgbWFpbnRhaW5lciA9IGxvY2FsZGF0YS5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJykKLQotICAgICAgICBwdmVyc2lvbiwgcHVwdmVyLCBwc3RhdHVzLCBwcmV2aXNpb24gPSBnZXRfdXBzdHJlYW1fdmVyc2lvbl9hbmRfc3RhdHVzKCkKLQotICAgICAgICBpZiBwc3JjdXJpOgotICAgICAgICAgICAgcHNyY3VyaSA9IHBzcmN1cmkuc3BsaXQoKVswXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHNyY3VyaSA9ICJub25lIgotICAgICAgICBwZGVwZW5kcyA9ICIiLmpvaW4ocGRlcGVuZHMuc3BsaXQoIlx0IikpCi0gICAgICAgIHBkZXNjID0gIiIuam9pbihwZGVzYy5zcGxpdCgiXHQiKSkKLSAgICAgICAgbm9fdXBncl9yZWFzb24gPSBkLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQotICAgICAgICBsZiA9IGJiLnV0aWxzLmxvY2tmaWxlKCIlcy5sb2NrIiAlIGxvZ2ZpbGUpCi0gICAgICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KFtwbmFtZSwgcHZlcnNpb24sIHB1cHZlciwgcGxpY2Vuc2UsIHBzZWN0aW9uLCBwaG9tZSwgCi0gICAgICAgICAgICAgICAgcHJlbGVhc2UsIHBkZXBlbmRzLCBwYnVndHJhY2tlciwgcHBlLCBwZGVzYywgcHN0YXR1cywgcHJldmlzaW9uLAotICAgICAgICAgICAgICAgIHBzcmN1cmksIG1haW50YWluZXIsIG5vX3VwZ3JfcmVhc29uXSkKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotfQotCi1hZGRoYW5kbGVyIGRpc3Ryb19jaGVja19ldmVudGhhbmRsZXIKLWRpc3Ryb19jaGVja19ldmVudGhhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5CdWlsZFN0YXJ0ZWQiCi1weXRob24gZGlzdHJvX2NoZWNrX2V2ZW50aGFuZGxlcigpIHsKLSAgICAiIiJpbml0aWFsaXplIGxvZyBmaWxlcy4iIiIKLSAgICBpbXBvcnQgb2UuZGlzdHJvX2NoZWNrIGFzIGRjCi0gICAgcmVzdWx0X2ZpbGUgPSBkYy5jcmVhdGVfbG9nX2ZpbGUoZS5kYXRhLCAiZGlzdHJvY2hlY2suY3N2IikKLSAgICByZXR1cm4KLX0KLQotYWRkdGFzayBkaXN0cm9fY2hlY2sKLWRvX2Rpc3Ryb19jaGVja1tub3N0YW1wXSA9ICIxIgotZG9fZGlzdHJvX2NoZWNrW3ZhcmRlcHNleGNsdWRlXSArPSAiREFURVRJTUUiCi1weXRob24gZG9fZGlzdHJvX2NoZWNrKCkgewotICAgICIiImNoZWNrcyBpZiB0aGUgcGFja2FnZSBpcyBwcmVzZW50IGluIG90aGVyIHB1YmxpYyBMaW51eCBkaXN0cm9zIiIiCi0gICAgaW1wb3J0IG9lLmRpc3Ryb19jaGVjayBhcyBkYwotICAgIGltcG9ydCBzaHV0aWwKLSAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zcycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3Nzc2RrJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlc2RrJyxkKToKLSAgICAgICAgcmV0dXJuCi0KLSAgICBsb2NhbGRhdGEgPSBiYi5kYXRhLmNyZWF0ZUNvcHkoZCkKLSAgICB0bXBkaXIgPSBkLmdldFZhcignVE1QRElSJykKLSAgICBkaXN0cm9fY2hlY2tfZGlyID0gb3MucGF0aC5qb2luKHRtcGRpciwgImRpc3Ryb19jaGVjayIpCi0gICAgbG9ncGF0aCA9IGQuZ2V0VmFyKCdMT0dfRElSJykKLSAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICByZXN1bHRfZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAiZGlzdHJvY2hlY2suY3N2IikKLSAgICBkYXRldGltZSA9IGxvY2FsZGF0YS5nZXRWYXIoJ0RBVEVUSU1FJykKLSAgICBkYy51cGRhdGVfZGlzdHJvX2RhdGEoZGlzdHJvX2NoZWNrX2RpciwgZGF0ZXRpbWUsIGxvY2FsZGF0YSkKLQotICAgICMgZG8gdGhlIGNvbXBhcmlzb24KLSAgICByZXN1bHQgPSBkYy5jb21wYXJlX2luX2Rpc3Ryb19wYWNrYWdlc19saXN0KGRpc3Ryb19jaGVja19kaXIsIGQpCi0KLSAgICAjIHNhdmUgdGhlIHJlc3VsdHMKLSAgICBkYy5zYXZlX2Rpc3Ryb19jaGVja19yZXN1bHQocmVzdWx0LCBkYXRldGltZSwgcmVzdWx0X2ZpbGUsIGQpCi19Ci0KLSMKLSNDaGVjayBNaXNzaW5nIExpY2Vuc2UgVGV4dC4KLSNVc2UgdGhpcyB0YXNrIHRvIGdlbmVyYXRlIHRoZSBtaXNzaW5nIGxpY2Vuc2UgdGV4dCBkYXRhIGZvciBwa2ctcmVwb3J0IHN5c3RlbSwKLSN0aGVuIHdlIGNhbiBzZWFyY2ggdGhvc2UgcmVjaXBlcyB3aGljaCBsaWNlbnNlIHRleHQgaXNuJ3QgZXhzaXQgaW4gY29tbW9uLWxpY2Vuc2VzIGRpcmVjdG9yeQotIwotYWRkaGFuZGxlciBjaGVja2xpY2Vuc2VfZXZlbnRoYW5kbGVyCi1jaGVja2xpY2Vuc2VfZXZlbnRoYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuQnVpbGRTdGFydGVkIgotcHl0aG9uIGNoZWNrbGljZW5zZV9ldmVudGhhbmRsZXIoKSB7Ci0gICAgIiIiaW5pdGlhbGl6ZSBsb2cgZmlsZXMuIiIiCi0gICAgaW1wb3J0IGNzdgotICAgIGltcG9ydCBvZS5kaXN0cm9fY2hlY2sgYXMgZGMKLSAgICBsb2dmaWxlID0gZGMuY3JlYXRlX2xvZ19maWxlKGUuZGF0YSwgIm1pc3NpbmdsaWNlbnNlLmNzdiIpCi0gICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgIHdpdGggb3Blbihsb2dmaWxlLCAiYSIpIGFzIGY6Ci0gICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZiwgZGVsaW1pdGVyPSdcdCcpCi0gICAgICAgIHdyaXRlci53cml0ZXJvdyhbJ1BhY2thZ2UnLCAnTGljZW5zZScsICdNaXNzaW5nTGljZW5zZSddKQotICAgICAgICBmLmNsb3NlKCkKLSAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQotCi1hZGR0YXNrIGNoZWNrbGljZW5zZQotZG9fY2hlY2tsaWNlbnNlW25vc3RhbXBdID0gIjEiCi1weXRob24gZG9fY2hlY2tsaWNlbnNlKCkgewotICAgIGltcG9ydCBjc3YKLSAgICBpbXBvcnQgc2h1dGlsCi0gICAgbG9ncGF0aCA9IGQuZ2V0VmFyKCdMT0dfRElSJykKLSAgICBiYi51dGlscy5ta2RpcmhpZXIobG9ncGF0aCkKLSAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgbG9nZmlsZSA9IG9zLnBhdGguam9pbihsb2dwYXRoLCAibWlzc2luZ2xpY2Vuc2UuY3N2IikKLSAgICBnZW5lcmljX2RpcmVjdG9yeSA9IGQuZ2V0VmFyKCdDT01NT05fTElDRU5TRV9ESVInKQotICAgIGxpY2Vuc2VfdHlwZXMgPSBkLmdldFZhcignTElDRU5TRScpCi0gICAgZm9yIGxpY2Vuc2VfdHlwZSBpbiAoKGxpY2Vuc2VfdHlwZXMucmVwbGFjZSgnKycsICcnKS5yZXBsYWNlKCd8JywgJyYnKQotICAgICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgnKCcsICcnKS5yZXBsYWNlKCcpJywgJycpLnJlcGxhY2UoJzsnLCAnJykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoJywnLCAnJykucmVwbGFjZSgiICIsICIiKS5zcGxpdCgiJiIpKSk6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oZ2VuZXJpY19kaXJlY3RvcnksIGxpY2Vuc2VfdHlwZSkpOgotICAgICAgICAgICAgbGYgPSBiYi51dGlscy5sb2NrZmlsZSgiJXMubG9jayIgJSBsb2dmaWxlKQotICAgICAgICAgICAgd2l0aCBvcGVuKGxvZ2ZpbGUsICJhIikgYXMgZjoKLSAgICAgICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nXHQnKQotICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdyhbcG4sIGxpY2Vuc2VfdHlwZXMsIGxpY2Vuc2VfdHlwZV0pCi0gICAgICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQotICAgIHJldHVybgotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZGlzdHV0aWxzLXRvb2xzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0dXRpbHMtdG9vbHMuYmJjbGFzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYyODgwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9kaXN0dXRpbHMtdG9vbHMuYmJjbGFzcworKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLURJU1RVVElMU19CVUlMRF9BUkdTID89ICIiCi1ESVNUVVRJTFNfU1RBR0VfSEVBREVSU19BUkdTID89ICItLWluc3RhbGwtZGlyPSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0iCi1ESVNUVVRJTFNfU1RBR0VfQUxMX0FSR1MgPz0gIi0tcHJlZml4PSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgIC0taW5zdGFsbC1kYXRhPSR7U1RBR0lOR19EQVRBRElSfSIKLURJU1RVVElMU19JTlNUQUxMX0FSR1MgPz0gIi0tcHJlZml4PSR7RH0vJHtwcmVmaXh9IFwKLSAgICAtLWluc3RhbGwtZGF0YT0ke0R9LyR7ZGF0YWRpcn0iCi0KLWRpc3R1dGlsc19kb19jb21waWxlKCkgewotICAgICAgICAgU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0gXAotICAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IHNldHVwLnB5IGJ1aWxkICR7RElTVFVUSUxTX0JVSUxEX0FSR1N9IHx8IFwKLSAgICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgYnVpbGRfZXh0IGV4ZWN1dGlvbiBmYWlsZWQuIgotfQotCi1kaXN0dXRpbHNfc3RhZ2VfaGVhZGVycygpIHsKLSAgICAgICAgaW5zdGFsbCAtZCAke1NUQUdJTkdfRElSX0hPU1R9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0KLSAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IHNldHVwLnB5IGluc3RhbGxfaGVhZGVycyAke0RJU1RVVElMU19TVEFHRV9IRUFERVJTX0FSR1N9IHx8IFwKLSAgICAgICAgYmJmYXRhbF9sb2cgIiR7UFlUSE9OX1BOfSBzZXR1cC5weSBpbnN0YWxsX2hlYWRlcnMgZXhlY3V0aW9uIGZhaWxlZC4iCi19Ci0KLWRpc3R1dGlsc19zdGFnZV9hbGwoKSB7Ci0gICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICBpbnN0YWxsIC1kICR7U1RBR0lOR19ESVJfSE9TVH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQotICAgICAgICBQWVRIT05QQVRIPSR7U1RBR0lOR19ESVJfSE9TVH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSBcCi0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBzZXR1cC5weSBpbnN0YWxsICR7RElTVFVUSUxTX1NUQUdFX0FMTF9BUkdTfSB8fCBcCi0gICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCAoc3RhZ2UpIGV4ZWN1dGlvbiBmYWlsZWQuIgotfQotCi1kaXN0dXRpbHNfZG9faW5zdGFsbCgpIHsKLSAgICAgICAgZWNobyAiQmVnaW5uaW5nICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQotICAgICAgICBlY2hvICJTdGVwIDIgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKLSAgICAgICAgU1RBR0lOR19MSUJESVI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICBQWVRIT05QQVRIPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gXAotICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCAtLWluc3RhbGwtbGliPSR7RH0vJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gJHtESVNUVVRJTFNfSU5TVEFMTF9BUkdTfSB8fCBcCi0gICAgICAgIGJiZmF0YWxfbG9nICIke1BZVEhPTl9QTn0gc2V0dXAucHkgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKLQotICAgICAgICBlY2hvICJTdGVwIDMgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgICMgc3VwcG9ydCBmaWxlbmFtZXMgd2l0aCAqc3BhY2VzKgotICAgICAgICBmaW5kICR7RH0gLW5hbWUgIioucHkiIC1wcmludDAgfCB3aGlsZSByZWFkIC1kICQnXDAnIGkgOyBkbyBcCi0gICAgICAgICAgICBzZWQgLWkgLWUgczoke0R9OjpnICRpCi0gICAgICAgIGRvbmUKLQotICAgICAgICBlY2hvICJTdGVwIDQgb2YgJHtQTn0gSW5zdGFsbCAuLi4iCi0gICAgICAgIGlmIHRlc3QgLWUgJHtEfSR7YmluZGlyfSA7IHRoZW4JCi0gICAgICAgICAgICBmb3IgaSBpbiAke0R9JHtiaW5kaXJ9LyogOyBkbyBcCi0gICAgICAgICAgICAgICAgc2VkIC1pIC1lIHM6JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9OiR7YmluZGlyfTpnICRpCi0gICAgICAgICAgICBkb25lCi0gICAgICAgIGZpCi0KLSAgICAgICAgZWNobyAiU3RlcCA0IG9mICR7UE59IEluc3RhbGwgLi4uIgotICAgICAgICBpZiB0ZXN0IC1lICR7RH0ke3NiaW5kaXJ9OyB0aGVuCi0gICAgICAgICAgICBmb3IgaSBpbiAke0R9JHtzYmluZGlyfS8qIDsgZG8gXAotICAgICAgICAgICAgICAgIHNlZCAtaSAtZSBzOiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfToke2JpbmRpcn06ZyAkaQotICAgICAgICAgICAgZG9uZQotICAgICAgICBmaQotCi0gICAgICAgIGVjaG8gIlN0ZXAgNSBvZiAke1BOfSBJbnN0YWxsIC4uLiIKLSAgICAgICAgcm0gLWYgJHtEfSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2Vhc3ktaW5zdGFsbC5wdGgKLSAgICAgICAgCi0gICAgICAgICMKLSAgICAgICAgIyBGSVhNRTogQmFuZGFpZCBhZ2FpbnN0IHdyb25nIGRhdGFkaXIgY29tcHV0YXRpb24KLSAgICAgICAgIwotICAgICAgICBpZiBbIC1lICR7RH0ke2RhdGFkaXJ9L3NoYXJlIF07IHRoZW4KLSAgICAgICAgICAgIG12IC1mICR7RH0ke2RhdGFkaXJ9L3NoYXJlLyogJHtEfSR7ZGF0YWRpcn0vCi0gICAgICAgIGZpCi19Ci0KLSNFWFBPUlRfRlVOQ1RJT05TIGRvX2NvbXBpbGUgZG9faW5zdGFsbAotCi1leHBvcnQgTERTSEFSRUQ9IiR7Q0NMRH0gLXNoYXJlZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2V4dHJhdXNlcnMuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2V4dHJhdXNlcnMuYmJjbGFzcwppbmRleCA3NzA5NDA3Li4zMjU2OWU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9leHRyYXVzZXJzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZXh0cmF1c2Vycy5iYmNsYXNzCkBAIC0xLDE4ICsxLDE3IEBACi0jIFRoaXMgYmJjbGFzcyBpcyBtYWlubHkgdXNlZCBmb3IgaW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgorIyBUaGlzIGJiY2xhc3MgaXMgdXNlZCBmb3IgaW1hZ2UgbGV2ZWwgdXNlci9ncm91cCBjb25maWd1cmF0aW9uLgogIyBJbmhlcml0IHRoaXMgY2xhc3MgaWYgeW91IHdhbnQgdG8gbWFrZSBFWFRSQV9VU0VSU19QQVJBTVMgZWZmZWN0aXZlLgogCiAjIEJlbG93IGlzIGFuIGV4YW1wbGUgc2hvd2luZyBob3cgdG8gdXNlIHRoaXMgZnVuY3Rpb25hbGl0eS4KLSMgSU5IRVJJVCArPSAiZXh0cmF1c2VycyIKKyMgSU1BR0VfQ0xBU1NFUyArPSAiZXh0cmF1c2VycyIKICMgRVhUUkFfVVNFUlNfUEFSQU1TID0gIlwKLSMgdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKLSMgZ3JvdXBhZGQgZGV2ZWxvcGVyczsgXAotIyB1c2VyZGVsIG5vYm9keTsgXAotIyBncm91cGRlbCAtZyB2aWRlbzsgXAotIyBncm91cG1vZCAtZyAxMDIwIGRldmVsb3BlcnM7IFwKLSMgdXNlcm1vZCAtcyAvYmluL3NoIHRlc3RlcjsgXAorIyAgICAgdXNlcmFkZCAtcCAnJyB0ZXN0ZXI7IFwKKyMgICAgIGdyb3VwYWRkIGRldmVsb3BlcnM7IFwKKyMgICAgIHVzZXJkZWwgbm9ib2R5OyBcCisjICAgICBncm91cGRlbCAtZyB2aWRlbzsgXAorIyAgICAgZ3JvdXBtb2QgLWcgMTAyMCBkZXZlbG9wZXJzOyBcCisjICAgICB1c2VybW9kIC1zIC9iaW4vc2ggdGVzdGVyOyBcCiAjICIKIAotCiBpbmhlcml0IHVzZXJhZGRfYmFzZQogCiBQQUNLQUdFX0lOU1RBTExfYXBwZW5kID0gIiAke0BbJycsICdiYXNlLXBhc3N3ZCBzaGFkb3cnXVtib29sKGQuZ2V0VmFyKCdFWFRSQV9VU0VSU19QQVJBTVMnKSldfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2ZvbnRjYWNoZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKaW5kZXggZjcxYTc1NC4uMTNmOWRmMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZm9udGNhY2hlLmJiY2xhc3MKQEAgLTIwLDYgKzIwLDcgQEAKIAkkSU5URVJDRVBUX0RJUi9wb3N0aW5zdF9pbnRlcmNlcHQgdXBkYXRlX2ZvbnRfY2FjaGUgJHtQS0d9IG1scHJlZml4PSR7TUxQUkVGSVh9IGJpbnByZWZpeD0ke01MUFJFRklYfSBcCiAJCSdiaW5kaXI9IiR7YmluZGlyfSInIFwKIAkJJ2xpYmRpcj0iJHtsaWJkaXJ9IicgXAorICAgICAgICAgICAgICAgICdsaWJleGVjZGlyPSIke2xpYmV4ZWNkaXJ9IicgXAogCQknYmFzZV9saWJkaXI9IiR7YmFzZV9saWJkaXJ9IicgXAogCQknZm9udGNvbmZpZ2NhY2hlZGlyPSIke0ZPTlRDT05GSUdfQ0FDSEVfRElSfSInIFwKIAkJJ2ZvbnRjb25maWdjYWNoZXBhcmFtcz0iJHtGT05UQ09ORklHX0NBQ0hFX1BBUkFNU30iJyBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9nY29uZi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ2NvbmYuYmJjbGFzcwppbmRleCA0ZTBlZTJlLi4zZTNjNTA5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nY29uZi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2djb25mLmJiY2xhc3MKQEAgLTQ5LDcgKzQ5LDcgQEAKICAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICBzY2hlbWFfZGlyID0gJyVzLyVzL2V0Yy9nY29uZi9zY2hlbWFzJyAlIChwa2dkZXN0LCBwa2cpCiAgICAgICAgIHNjaGVtYXMgPSBbXQotICAgICAgICBzY2hlbWFfcmUgPSByZS5jb21waWxlKCIuKlwuc2NoZW1hcyQiKQorICAgICAgICBzY2hlbWFfcmUgPSByZS5jb21waWxlKHIiLipcLnNjaGVtYXMkIikKICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2NoZW1hX2Rpcik6CiAgICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKHNjaGVtYV9kaXIpOgogICAgICAgICAgICAgICAgIGlmIHNjaGVtYV9yZS5tYXRjaChmKToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nby5iYmNsYXNzCmluZGV4IGFmMzMxZjguLjcwNjljNWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2dvLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ28uYmJjbGFzcwpAQCAtNDUsNyArNDUsNiBAQAogCiBCID0gIiR7V09SS0RJUn0vYnVpbGQiCiBleHBvcnQgR09QQVRIID0gIiR7Qn0iCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBleHBvcnQgR09UTVBESVIgPz0gIiR7V09SS0RJUn0vZ28tdG1wIgogR09UTVBESVJbdmFyZGVwdmFsdWVdID0gIiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZ29hcmNoLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcwppbmRleCBiMmM5NGZhLi43YWFmMjZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2FyY2guYmJjbGFzcwpAQCAtNDIsNiArNDIsMTAgQEAKIFNFQ1VSSVRZX0NGTEFHU19taXBzYXJjaCA9ICIke1NFQ1VSSVRZX05PUElFX0NGTEFHU30iCiBTRUNVUklUWV9OT1BJRV9DRkxBR1MgPz89ICIiCiAKKyMgZ28gY2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGU6CisjIGdjYzogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCitDQ0FDSEVfRElTQUJMRSA/PSAiMSIKKwogZGVmIGdvX21hcF9hcmNoKGEsIGQpOgogICAgIGltcG9ydCByZQogICAgIGlmIHJlLm1hdGNoKCdpLjg2JywgYSk6CkBAIC02NCw2ICs2OCw4IEBACiAgICAgICAgIHJldHVybiAncHBjNjQnCiAgICAgZWxpZiByZS5tYXRjaCgncChwY3xvd2VycGMpKDY0ZWwpJywgYSk6CiAgICAgICAgIHJldHVybiAncHBjNjRsZScKKyAgICBlbGlmIGEgPT0gJ3Jpc2N2NjQnOgorICAgICAgICByZXR1cm4gJ3Jpc2N2NjQnCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiVW5zdXBwb3J0ZWQgQ1BVIGFyY2hpdGVjdHVyZTogJXMiICUgYSkKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvZ29iamVjdC1pbnRyb3NwZWN0aW9uLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcwppbmRleCBhMzIzYzFmLi40Y2ViMGM2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9nb2JqZWN0LWludHJvc3BlY3Rpb24uYmJjbGFzcwpAQCAtMjUsNyArMjUsNyBAQAogREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBnb2JqZWN0LWludHJvc3BlY3Rpb24tbmF0aXZlIgogCiAjIFRoaXMgaXMgdXNlZCBieSBpbnRyb3NwZWN0aW9uIHRvb2xzIHRvIGZpbmQgLmdpciBpbmNsdWRlcwotZXhwb3J0IFhER19EQVRBX0RJUlMgPSAiJHtTVEFHSU5HX0RBVEFESVJ9IgorZXhwb3J0IFhER19EQVRBX0RJUlMgPSAiJHtTVEFHSU5HX0RBVEFESVJ9OiR7U1RBR0lOR19MSUJESVJ9IgogCiBkb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy10YXJnZXQgKCkgewogICAgICMgaW50cm9zcGVjdGlvbi5tNCBwcmUtcGFja2FnZWQgd2l0aCB1cHN0cmVhbSB0YXJiYWxscyBkb2VzIG5vdCB5ZXQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2dzZXR0aW5ncy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKaW5kZXggZWFlM2RjNy4uMzNhZmM5NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3NldHRpbmdzLmJiY2xhc3MKQEAgLTcsMzIgKzcsMzYgQEAKIAogIyBUT0RPIHVzZSBhIHRyaWdnZXIgc28gdGhhdCB0aGlzIHJ1bnMgb25jZSBwZXIgcGFja2FnZSBvcGVyYXRpb24gcnVuCiAKK0dTRVRUSU5HU19QQUNLQUdFID89ICIke1BOfSIKIAotUkRFUEVORFNfJHtQTn0gKz0gImdsaWItMi4wLXV0aWxzIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzIgotCi1QQUNLQUdFX1dSSVRFX0RFUFMgKz0gImdsaWItMi4wLW5hdGl2ZSIKK3B5dGhvbiBfX2Fub255bW91cygpIHsKKyAgICBwa2cgPSBkLmdldFZhcigiR1NFVFRJTkdTX1BBQ0tBR0UiKQorICAgIGlmIHBrZzoKKyAgICAgICAgZC5hcHBlbmRWYXIoIlBBQ0tBR0VfV1JJVEVfREVQUyIsICIgZ2xpYi0yLjAtbmF0aXZlIikKKyAgICAgICAgZC5hcHBlbmRWYXIoIlJERVBFTkRTXyIgKyBwa2csICIgJHtNTFBSRUZJWH1nbGliLTIuMC11dGlscyIpCisgICAgICAgIGQuYXBwZW5kVmFyKCJGSUxFU18iICsgcGtnLCAiICR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcyIpCit9CiAKIGdzZXR0aW5nc19wb3N0aW5zdHJtICgpIHsKIAlnbGliLWNvbXBpbGUtc2NoZW1hcyAkRCR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcwogfQogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfYXBwZW5kICgpIHsKLSAgICBwa2cgPSBkLmdldFZhcignUE4nKQotICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdGluc3Qgc2NyaXB0cyB0byAlcyIgJSBwa2cpCisgICAgcGtnID0gZC5nZXRWYXIoJ0dTRVRUSU5HU19QQUNLQUdFJykKKyAgICBpZiBwa2c6CisgICAgICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdGluc3Qgc2NyaXB0cyB0byAlcyIgJSBwa2cpCiAKLSAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JykKLSAgICBpZiBub3QgcG9zdGluc3Q6Ci0gICAgICAgIHBvc3RpbnN0ID0gJyMhL2Jpbi9zaFxuJwotICAgIHBvc3RpbnN0ICs9IGQuZ2V0VmFyKCdnc2V0dGluZ3NfcG9zdGluc3RybScpCi0gICAgZC5zZXRWYXIoJ3BrZ19wb3N0aW5zdF8lcycgJSBwa2csIHBvc3RpbnN0KQorICAgICAgICBwb3N0aW5zdCA9IGQuZ2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RpbnN0JykKKyAgICAgICAgaWYgbm90IHBvc3RpbnN0OgorICAgICAgICAgICAgcG9zdGluc3QgPSAnIyEvYmluL3NoXG4nCisgICAgICAgIHBvc3RpbnN0ICs9IGQuZ2V0VmFyKCdnc2V0dGluZ3NfcG9zdGluc3RybScpCisgICAgICAgIGQuc2V0VmFyKCdwa2dfcG9zdGluc3RfJXMnICUgcGtnLCBwb3N0aW5zdCkKIAotICAgIGJiLm5vdGUoImFkZGluZyBnc2V0dGluZ3MgcG9zdHJtIHNjcmlwdHMgdG8gJXMiICUgcGtnKQorICAgICAgICBiYi5ub3RlKCJhZGRpbmcgZ3NldHRpbmdzIHBvc3RybSBzY3JpcHRzIHRvICVzIiAlIHBrZykKIAotICAgIHBvc3RybSA9IGQuZ2V0VmFyKCdwa2dfcG9zdHJtXyVzJyAlIHBrZykgb3IgZC5nZXRWYXIoJ3BrZ19wb3N0cm0nKQotICAgIGlmIG5vdCBwb3N0cm06Ci0gICAgICAgIHBvc3RybSA9ICcjIS9iaW4vc2hcbicKLSAgICBwb3N0cm0gKz0gZC5nZXRWYXIoJ2dzZXR0aW5nc19wb3N0aW5zdHJtJykKLSAgICBkLnNldFZhcigncGtnX3Bvc3RybV8lcycgJSBwa2csIHBvc3RybSkKKyAgICAgICAgcG9zdHJtID0gZC5nZXRWYXIoJ3BrZ19wb3N0cm1fJXMnICUgcGtnKSBvciBkLmdldFZhcigncGtnX3Bvc3RybScpCisgICAgICAgIGlmIG5vdCBwb3N0cm06CisgICAgICAgICAgICBwb3N0cm0gPSAnIyEvYmluL3NoXG4nCisgICAgICAgIHBvc3RybSArPSBkLmdldFZhcignZ3NldHRpbmdzX3Bvc3RpbnN0cm0nKQorICAgICAgICBkLnNldFZhcigncGtnX3Bvc3RybV8lcycgJSBwa2csIHBvc3RybSkKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2d0ay1kb2MuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2d0ay1kb2MuYmJjbGFzcwppbmRleCBiNGY2NzU0Li43MDdkNzRkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9ndGstZG9jLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvZ3RrLWRvYy5iYmNsYXNzCkBAIC00MSw3ICs0MSw3IEBACiAgICAgaWYgWyAke0dUS0RPQ19FTkFCTEVEfSA9IFRydWUgXTsgdGhlbgogICAgICAgICAjIFdyaXRlIG91dCBhIHFlbXUgd3JhcHBlciB0aGF0IHdpbGwgYmUgZ2l2ZW4gdG8gZ3RrZG9jLXNjYW5nb2JqIHNvIHRoYXQgaXQKICAgICAgICAgIyBjYW4gcnVuIHRhcmdldCBoZWxwZXIgYmluYXJpZXMgdGhyb3VnaCB0aGF0LgotICAgICAgICBxZW11X2JpbmFyeT0iJHtAcWVtdV93cmFwcGVyX2NtZGxpbmUoZCwgJyRTVEFHSU5HX0RJUl9IT1NUJywgWydcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCckU1RBR0lOR19ESVJfSE9TVC8ke2xpYmRpcn0nLCckU1RBR0lOR19ESVJfSE9TVC8ke2Jhc2VfbGliZGlyfSddKX0iCisgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1xcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCckU1RBR0lOR19ESVJfSE9TVC8ke2xpYmRpcn0nLCckU1RBR0lOR19ESVJfSE9TVC8ke2Jhc2VfbGliZGlyfSddKX0iCiAgICAgICAgIGNhdCA+ICR7Qn0vZ3RrZG9jLXFlbXV3cmFwcGVyIDw8IEVPRgogIyEvYmluL3NoCiAjIFVzZSBhIG1vZHVsZXMgZGlyZWN0b3J5IHdoaWNoIGRvZXNuJ3QgZXhpc3Qgc28gd2UgZG9uJ3QgbG9hZCByYW5kb20gdGhpbmdzCkBAIC01MSw2ICs1MSw5IEBACiBHSVJfRVhUUkFfTElCU19QQVRIPVxgZmluZCAke0J9IC1uYW1lICouc28gLXByaW50ZiAiJWhcbiJ8c29ydHx1bmlxfCB0ciAnXG4nICc6J1xgXCRHSVJfRVhUUkFfTElCU19QQVRICiBHSVJfRVhUUkFfTElCU19QQVRIPVxgZmluZCAke0J9IC1uYW1lIC5saWJzfCB0ciAnXG4nICc6J1xgXCRHSVJfRVhUUkFfTElCU19QQVRICiAKKyMgbWVzb24gc2V0cyB0aGlzIHdyb25nbHkgKG9ubHkgdG8gbGlicyBpbiBidWlsZC1kaXIpLCBxZW11LXdyYXBwZXJfY21kbGluZSgpIGFuZCBHSVJfRVhUUkFfTElCU19QQVRIIHRha2UgY2FyZSBvZiBpdCBwcm9wZXJseQordW5zZXQgTERfTElCUkFSWV9QQVRICisKIGlmIFsgLWQgIi5saWJzIiBdOyB0aGVuCiAgICAgJHFlbXVfYmluYXJ5ICIubGlicy9cJEAiCiBlbHNlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pY2VjYy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaWNlY2MuYmJjbGFzcwppbmRleCA3ZDk0NTI1Li42ZDAwM2RjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pY2VjYy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ljZWNjLmJiY2xhc3MKQEAgLTM0LDYgKzM0LDcgQEAKICAgICBJQ0VDQ19ERUJVRyBJQ0VDQ19MT0dGSUxFIElDRUNDX1JFUEVBVF9SQVRFIElDRUNDX1BSRUZFUlJFRF9IT1NUIFwKICAgICBJQ0VDQ19DTEFOR19SRU1PVEVfQ1BQIElDRUNDX0lHTk9SRV9VTlZFUklGSUVEIElDRUNDX1RFU1RfU09DS0VUIFwKICAgICBJQ0VDQ19FTlZfREVCVUcgSUNFQ0NfU1lTVEVNX1BBQ0tBR0VfQkwgSUNFQ0NfU1lTVEVNX0NMQVNTX0JMIFwKKyAgICBJQ0VDQ19SRU1PVEVfQ1BQIFwKICAgICAiCiAKIElDRUNDX0VOVl9FWEVDID89ICIke1NUQUdJTkdfQklORElSX05BVElWRX0vaWNlY2MtY3JlYXRlLWVudiIKQEAgLTU2LDYgKzU3LDggQEAKICMgU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaWNlY2MvaWNlY3JlYW0vaXNzdWVzLzE5MAogZXhwb3J0IElDRUNDX0NBUkVUX1dPUktBUk9VTkQgPz89ICIwIgogCitleHBvcnQgSUNFQ0NfUkVNT1RFX0NQUCA/Pz0gIjEiCisKIElDRUNDX0NGTEFHUyA9ICIiCiBDRkxBR1MgKz0gIiR7SUNFQ0NfQ0ZMQUdTfSIKIENYWEZMQUdTICs9ICIke0lDRUNDX0NGTEFHU30iCkBAIC0xMzAsNiArMTMzLDEzIEBACiAgICAgICAgIHJldHVybiAibm8iCiAKICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCisgICAgYnBuID0gZC5nZXRWYXIoJ0JQTicpCisKKyAgICAjIEJsYWNrbGlzdC93aGl0ZWxpc3QgY2hlY2tzIGFyZSBtYWRlIGFnYWluc3QgQlBOLCBiZWNhdXNlIHRoZXJlIGlzIGEgZ29vZAorICAgICMgY2hhbmNlIHRoYXQgaWYgaWNlY2Mgc2hvdWxkIGJlIHNraXBwZWQgZm9yIGEgcmVjaXBlLCBpdCBzaG91bGQgYmUgc2tpcHBlZAorICAgICMgZm9yIGFsbCB0aGUgdmFyaWFudHMgb2YgdGhhdCByZWNpcGUuIFBOIGlzIHN0aWxsIGNoZWNrZWQgaW4gY2FzZSBhIHVzZXIKKyAgICAjIHNwZWNpZmllZCBhIG1vcmUgc3BlY2lmaWMgcmVjaXBlLgorICAgIGNoZWNrX3BuID0gc2V0KFtwbiwgYnBuXSkKIAogICAgIHN5c3RlbV9jbGFzc19ibGFja2xpc3QgPSAoZC5nZXRWYXIoJ0lDRUNDX1NZU1RFTV9DTEFTU19CTCcpIG9yICIiKS5zcGxpdCgpCiAgICAgdXNlcl9jbGFzc19ibGFja2xpc3QgPSAoZC5nZXRWYXIoJ0lDRUNDX1VTRVJfQ0xBU1NfQkwnKSBvciAibm9uZSIpLnNwbGl0KCkKQEAgLTE0NSwxMSArMTU1LDExIEBACiAgICAgdXNlcl9wYWNrYWdlX3doaXRlbGlzdCA9IChkLmdldFZhcignSUNFQ0NfVVNFUl9QQUNLQUdFX1dMJykgb3IgIiIpLnNwbGl0KCkKICAgICBwYWNrYWdlX2JsYWNrbGlzdCA9IHN5c3RlbV9wYWNrYWdlX2JsYWNrbGlzdCArIHVzZXJfcGFja2FnZV9ibGFja2xpc3QKIAotICAgIGlmIHBuIGluIHBhY2thZ2VfYmxhY2tsaXN0OgorICAgIGlmIGNoZWNrX3BuICYgc2V0KHBhY2thZ2VfYmxhY2tsaXN0KToKICAgICAgICAgYmIuZGVidWcoMSwgIiVzOiBmb3VuZCBpbiBibGFja2xpc3QsIGRpc2FibGUgaWNlY2MiICUgcG4pCiAgICAgICAgIHJldHVybiAibm8iCiAKLSAgICBpZiBwbiBpbiB1c2VyX3BhY2thZ2Vfd2hpdGVsaXN0OgorICAgIGlmIGNoZWNrX3BuICYgc2V0KHVzZXJfcGFja2FnZV93aGl0ZWxpc3QpOgogICAgICAgICBiYi5kZWJ1ZygxLCAiJXM6IGZvdW5kIGluIHdoaXRlbGlzdCwgZW5hYmxlIGljZWNjIiAlIHBuKQogICAgICAgICByZXR1cm4gInllcyIKIApAQCAtMzc5LDcgKzM4OSw3IEBACiAgICAgICAgICAgICAke0lDRUNDX0VOVl9FWEVDfSAke0lDRUNDX0VOVl9ERUJVR30gIiR7SUNFQ0NfQ0N9IiAiJHtJQ0VDQ19DWFh9IiAiJHtJQ0VDQ19BU30iICIke0lDRUNDX1ZFUlNJT059IgogICAgICAgICB0aGVuCiAgICAgICAgICAgICB0b3VjaCAiJHtJQ0VDQ19WRVJTSU9OfS5kb25lIgotICAgICAgICBlbGlmICEgd2FpdF9mb3JfZmlsZSAiJHtJQ0VDQ19WRVJTSU9OfS5kb25lIiAzMCAKKyAgICAgICAgZWxpZiAhIHdhaXRfZm9yX2ZpbGUgIiR7SUNFQ0NfVkVSU0lPTn0uZG9uZSIgMzAKICAgICAgICAgdGhlbgogICAgICAgICAgICAgIyBsb2NraW5nIGZhaWxlZCBzbyB3YWl0IGZvciAke0lDRUNDX1ZFUlNJT059LmRvbmUgdG8gYXBwZWFyCiAgICAgICAgICAgICBiYndhcm4gIlRpbWVvdXQgd2FpdGluZyBmb3IgJHtJQ0VDQ19WRVJTSU9OfS5kb25lIgpAQCAtMzk1LDcgKzQwNSw4IEBACiAgICAgZXhwb3J0IElDRUNDX1ZFUlNJT04gSUNFQ0NfQ0MgSUNFQ0NfQ1hYCiAgICAgZXhwb3J0IFBBVEg9IiRJQ0VfUEFUSDokUEFUSCIKIAotICAgIGJibm90ZSAiVXNpbmcgaWNlY2MiCisgICAgYmJub3RlICJVc2luZyBpY2VjYyBwYXRoOiAkSUNFX1BBVEgiCisgICAgYmJub3RlICJVc2luZyBpY2VjYyB0YXJiYWxsOiAkSUNFQ0NfVkVSU0lPTiIKIH0KIAogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS1idWlsZGluZm8uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCmluZGV4IDg3YTZhMWEuLjk0YzU4NWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLWJ1aWxkaW5mby5iYmNsYXNzCkBAIC0xNiw5ICsxNiw4IEBACiBJTUFHRV9CVUlMRElORk9fRklMRSA/Pz0gIiR7c3lzY29uZmRpcn0vYnVpbGQiCiAKICMgRnJvbSBidWlsZGhpc3RvcnkuYmJjbGFzcwotZGVmIGltYWdlX2J1aWxkaW5mb19vdXRwdXR2YXJzKHZhcnMsIGxpc3R2YXJzLCBkKTogCitkZWYgaW1hZ2VfYnVpbGRpbmZvX291dHB1dHZhcnModmFycywgZCk6CiAgICAgdmFycyA9IHZhcnMuc3BsaXQoKQotICAgIGxpc3R2YXJzID0gbGlzdHZhcnMuc3BsaXQoKQogICAgIHJldCA9ICIiCiAgICAgZm9yIHZhciBpbiB2YXJzOgogICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKHZhcikgb3IgIiIKQEAgLTU5LDggKzU4LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgIyBTaW5nbGUgYW5kIGxpc3QgdmFyaWFibGVzIHRvIGJlIHJlYWQKICAgICAgICAgdmFycyA9IChkLmdldFZhcigiSU1BR0VfQlVJTERJTkZPX1ZBUlMiKSBvciAiIikKLSAgICAgICAgbGlzdHZhcnMgPSAoZC5nZXRWYXIoIklNQUdFX0JVSUxESU5GT19MVkFSUyIpIG9yICIiKQotICAgICAgICByZXR1cm4gaW1hZ2VfYnVpbGRpbmZvX291dHB1dHZhcnModmFycywgbGlzdHZhcnMsIGQpCisgICAgICAgIHJldHVybiBpbWFnZV9idWlsZGluZm9fb3V0cHV0dmFycyh2YXJzLCBkKQogCiAjIFdyaXRlIGJ1aWxkIGluZm9ybWF0aW9uIHRvIHRhcmdldCBmaWxlc3lzdGVtCiBweXRob24gYnVpbGRpbmZvICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzCmluZGV4IDJmZjU3NGIuLjI3NmQwZDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2UuYmJjbGFzcwpAQCAtMjQsNyArMjQsNyBAQAogTElDRU5TRSA/PSAiTUlUIgogUEFDS0FHRVMgPSAiIgogREVQRU5EUyArPSAiJHtAJyAnLmpvaW4oWyIlcy1xZW11d3JhcHBlci1jcm9zcyIgJSBtIGZvciBtIGluIGQuZ2V0VmFyKCJNVUxUSUxJQl9WQVJJQU5UUyIpLnNwbGl0KCldKX0gcWVtdXdyYXBwZXItY3Jvc3MgZGVwbW9kd3JhcHBlci1jcm9zcyBjcm9zcy1sb2NhbGVkZWYtbmF0aXZlIgotUkRFUEVORFMgKz0gIiR7UEFDS0FHRV9JTlNUQUxMfSAke0xJTkdVQVNfSU5TVEFMTH0iCitSREVQRU5EUyArPSAiJHtQQUNLQUdFX0lOU1RBTEx9ICR7TElOR1VBU19JTlNUQUxMfSAke0lNQUdFX0lOU1RBTExfREVCVUdGU30iCiBSUkVDT01NRU5EUyArPSAiJHtQQUNLQUdFX0lOU1RBTExfQVRURU1QVE9OTFl9IgogUEFUSF9wcmVwZW5kID0gIiR7QCI6Ii5qb2luKGFsbF9tdWx0aWxpYl90dW5lX3ZhbHVlcyhkLCAnU1RBR0lOR19CSU5ESVJfQ1JPU1MnKS5zcGxpdCgpKX06IgogCkBAIC01MDAsNyArNTAwLDcgQEAKICAgICAgICAgZC5wcmVwZW5kVmFyRmxhZyh0YXNrLCAncG9zdGZ1bmNzJywgJ2NyZWF0ZV9zeW1saW5rcyAnKQogICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3N1YmltYWdlcycsICcgJyArICcgJy5qb2luKHN1YmltYWdlcykpCiAgICAgICAgIGQuYXBwZW5kVmFyRmxhZyh0YXNrLCAndmFyZGVwcycsICcgJyArICcgJy5qb2luKHZhcmRlcHMpKQotICAgICAgICBkLmFwcGVuZFZhckZsYWcodGFzaywgJ3ZhcmRlcHNleGNsdWRlJywgJ0RBVEVUSU1FIERBVEUgJyArICcgJy5qb2luKHZhcmRlcHNleGNsdWRlKSkKKyAgICAgICAgZC5hcHBlbmRWYXJGbGFnKHRhc2ssICd2YXJkZXBzZXhjbHVkZScsICcgREFURVRJTUUgREFURSAnICsgJyAnLmpvaW4odmFyZGVwc2V4Y2x1ZGUpKQogCiAgICAgICAgIGJiLmRlYnVnKDIsICJBZGRpbmcgdGFzayAlcyBiZWZvcmUgJXMsIGFmdGVyICVzIiAlICh0YXNrLCAnZG9faW1hZ2VfY29tcGxldGUnLCBhZnRlcikpCiAgICAgICAgIGJiLmJ1aWxkLmFkZHRhc2sodGFzaywgJ2RvX2ltYWdlX2NvbXBsZXRlJywgYWZ0ZXIsIGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZV90eXBlcy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvaW1hZ2VfdHlwZXMuYmJjbGFzcwppbmRleCAwYTY5NTQyLi5mMzYzYzQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbWFnZV90eXBlcy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJiY2xhc3MKQEAgLTU2LDcgKzU2LDYgQEAKIAogWFpfQ09NUFJFU1NJT05fTEVWRUwgPz0gIi0zIgogWFpfSU5URUdSSVRZX0NIRUNLID89ICJjcmMzMiIKLVhaX1RIUkVBRFMgPz0gIi1UIDAiCiAKIFpJUF9DT01QUkVTU0lPTl9MRVZFTCA/PSAiLTkiCiAKQEAgLTI4MCwxMSArMjc5LDExIEBACiAjIENPTlZFUlNJT05fQ01EL0RFUEVORFMuCiBDT01QUkVTU0lPTlRZUEVTID89ICIiCiAKLUNPTlZFUlNJT05UWVBFUyA9ICJneiBiejIgbHptYSB4eiBsejQgbHpvIHppcCBzdW0gbWQ1c3VtIHNoYTFzdW0gc2hhMjI0c3VtIHNoYTI1NnN1bSBzaGEzODRzdW0gc2hhNTEyc3VtIGJtYXAgdS1ib290IHZtZGsgdmRpIHFjb3cyICR7Q09NUFJFU1NJT05UWVBFU30iCitDT05WRVJTSU9OVFlQRVMgPSAiZ3ogYnoyIGx6bWEgeHogbHo0IGx6byB6aXAgc3VtIG1kNXN1bSBzaGExc3VtIHNoYTIyNHN1bSBzaGEyNTZzdW0gc2hhMzg0c3VtIHNoYTUxMnN1bSBibWFwIHUtYm9vdCB2bWRrIHZkaSBxY293MiBiYXNlNjQgJHtDT01QUkVTU0lPTlRZUEVTfSIKIENPTlZFUlNJT05fQ01EX2x6bWEgPSAibHptYSAtayAtZiAtNyAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKIENPTlZFUlNJT05fQ01EX2d6ID0gInBpZ3ogLWYgLTkgLW4gLWMgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5neiIKIENPTlZFUlNJT05fQ01EX2J6MiA9ICJwYnppcDIgLWYgLWsgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iCi1DT05WRVJTSU9OX0NNRF94eiA9ICJ4eiAtZiAtayAtYyAke1haX0NPTVBSRVNTSU9OX0xFVkVMfSAke1haX1RIUkVBRFN9IC0tY2hlY2s9JHtYWl9JTlRFR1JJVFlfQ0hFQ0t9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ID4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0ueHoiCitDT05WRVJTSU9OX0NNRF94eiA9ICJ4eiAtZiAtayAtYyAke1haX0NPTVBSRVNTSU9OX0xFVkVMfSAke1haX0RFRkFVTFRTfSAtLWNoZWNrPSR7WFpfSU5URUdSSVRZX0NIRUNLfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9Lnh6IgogQ09OVkVSU0lPTl9DTURfbHo0ID0gImx6NCAtOSAteiAtbCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS5sejQiCiBDT05WRVJTSU9OX0NNRF9sem8gPSAibHpvcCAtOSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKIENPTlZFUlNJT05fQ01EX3ppcCA9ICJ6aXAgJHtaSVBfQ09NUFJFU1NJT05fTEVWRUx9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnppcCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSIKQEAgLTMwMCw2ICsyOTksNyBAQAogQ09OVkVSU0lPTl9DTURfdm1kayA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHZtZGsgJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0udm1kayIKIENPTlZFUlNJT05fQ01EX3ZkaSA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHZkaSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfS52ZGkiCiBDT05WRVJTSU9OX0NNRF9xY293MiA9ICJxZW11LWltZyBjb252ZXJ0IC1PIHFjb3cyICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnFjb3cyIgorQ09OVkVSU0lPTl9DTURfYmFzZTY0ID0gImJhc2U2NCAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LmJhc2U2NCIKIENPTlZFUlNJT05fREVQRU5EU19sem1hID0gInh6LW5hdGl2ZSIKIENPTlZFUlNJT05fREVQRU5EU19neiA9ICJwaWd6LW5hdGl2ZSIKIENPTlZFUlNJT05fREVQRU5EU19iejIgPSAicGJ6aXAyLW5hdGl2ZSIKQEAgLTMwOSwxMCArMzA5LDExIEBACiBDT05WRVJTSU9OX0RFUEVORFNfemlwID0gInppcC1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfc3VtID0gIm10ZC11dGlscy1uYXRpdmUiCiBDT05WRVJTSU9OX0RFUEVORFNfYm1hcCA9ICJibWFwLXRvb2xzLW5hdGl2ZSIKLUNPTlZFUlNJT05fREVQRU5EU191LWJvb3QgPSAidS1ib290LW1raW1hZ2UtbmF0aXZlIgotQ09OVkVSU0lPTl9ERVBFTkRTX3ZtZGsgPSAicWVtdS1uYXRpdmUiCi1DT05WRVJTSU9OX0RFUEVORFNfdmRpID0gInFlbXUtbmF0aXZlIgotQ09OVkVSU0lPTl9ERVBFTkRTX3Fjb3cyID0gInFlbXUtbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3UtYm9vdCA9ICJ1LWJvb3QtdG9vbHMtbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3ZtZGsgPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX3ZkaSA9ICJxZW11LXN5c3RlbS1uYXRpdmUiCitDT05WRVJTSU9OX0RFUEVORFNfcWNvdzIgPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgorQ09OVkVSU0lPTl9ERVBFTkRTX2Jhc2U2NCA9ICJjb3JldXRpbHMtbmF0aXZlIgogCiBSVU5OQUJMRV9JTUFHRV9UWVBFUyA/PSAiZXh0MiBleHQzIGV4dDQiCiBSVU5OQUJMRV9NQUNISU5FX1BBVFRFUk5TID89ICJxZW11IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvaW5zYW5lLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcwppbmRleCAyOTVmZWI4Li4zN2I4YmIwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9pbnNhbmUuYmJjbGFzcwpAQCAtMzMsNyArMzMsOCBAQAogICAgICAgICAgICAgcGVybXMgZGVwLWNtcCBwa2d2YXJjaGVjayBwZXJtLWNvbmZpZyBwZXJtLWxpbmUgcGVybS1saW5rIFwKICAgICAgICAgICAgIHNwbGl0LXN0cmlwIHBhY2thZ2VzLWxpc3QgcGtndi11bmRlZmluZWQgdmFyLXVuZGVmaW5lZCBcCiAgICAgICAgICAgICB2ZXJzaW9uLWdvaW5nLWJhY2t3YXJkcyBleHBhbmRlZC1kIGludmFsaWQtY2hhcnMgXAotICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgXAorICAgICAgICAgICAgbGljZW5zZS1jaGVja3N1bSBkZXYtZWxmIGZpbGUtcmRlcHMgY29uZmlndXJlLXVuc2FmZSBcCisgICAgICAgICAgICBjb25maWd1cmUtZ2V0dGV4dCBcCiAgICAgICAgICAgICAiCiAjIEFkZCB1c3JtZXJnZSBRQSBjaGVjayBiYXNlZCBvbiBkaXN0cm8gZmVhdHVyZQogRVJST1JfUUFfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAndXNybWVyZ2UnLCAnIHVzcm1lcmdlJywgJycsIGQpfSIKQEAgLTMwNywxMCArMzA4LDEwIEBACiAgICAgaWYgbm90ICgobWFjaGluZSA9PSBlbGYubWFjaGluZSgpKSBvciBpc18zMiBvciBpc19icGYpOgogICAgICAgICBwYWNrYWdlX3FhX2FkZF9tZXNzYWdlKG1lc3NhZ2VzLCAiYXJjaCIsICJBcmNoaXRlY3R1cmUgZGlkIG5vdCBtYXRjaCAoJXMsIGV4cGVjdGVkICVzKSBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgIChvZS5xYS5lbGZfbWFjaGluZV90b19zdHJpbmcoZWxmLm1hY2hpbmUoKSksIG9lLnFhLmVsZl9tYWNoaW5lX3RvX3N0cmluZyhtYWNoaW5lKSwgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQotICAgIGVsaWYgbm90ICgoYml0cyA9PSBlbGYuYWJpU2l6ZSgpKSBvciBpc18zMik6CisgICAgZWxpZiBub3QgKChiaXRzID09IGVsZi5hYmlTaXplKCkpIG9yIGlzXzMyIG9yIGlzX2JwZik6CiAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkJpdCBzaXplIGRpZCBub3QgbWF0Y2ggKCVkIHRvICVkKSAlcyBvbiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgIChiaXRzLCBlbGYuYWJpU2l6ZSgpLCBicG4sIHBhY2thZ2VfcWFfY2xlYW5fcGF0aChwYXRoLGQpKSkKLSAgICBlbGlmIG5vdCBsaXR0bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCk6CisgICAgZWxpZiBub3QgKChsaXR0bGVlbmRpYW4gPT0gZWxmLmlzTGl0dGxlRW5kaWFuKCkpIG9yIGlzX2JwZik6CiAgICAgICAgIHBhY2thZ2VfcWFfYWRkX21lc3NhZ2UobWVzc2FnZXMsICJhcmNoIiwgIkVuZGlhbm5lcyBkaWQgbm90IG1hdGNoICglZCB0byAlZCkgb24gJXMiICUgXAogICAgICAgICAgICAgICAgICAobGl0dGxlZW5kaWFuLCBlbGYuaXNMaXR0bGVFbmRpYW4oKSwgcGFja2FnZV9xYV9jbGVhbl9wYXRoKHBhdGgsZCkpKQogCkBAIC00NTcsNyArNDU4LDYgQEAKICAgICAiIiIKICAgICBDaGVjayBmb3IgY2hhbmdlcyBpbiB0aGUgbGljZW5zZSBmaWxlcy4KICAgICAiIiIKLSAgICBpbXBvcnQgdGVtcGZpbGUKICAgICBzYW5lID0gVHJ1ZQogCiAgICAgbGljX2ZpbGVzID0gZC5nZXRWYXIoJ0xJQ19GSUxFU19DSEtTVU0nKSBvciAnJwpAQCAtNDk1LDYxICs0OTUsNDUgQEAKIAogICAgICAgICBpZiAobm90IGJlZ2lubGluZSkgYW5kIChub3QgZW5kbGluZSk6CiAgICAgICAgICAgICBtZDVjaGtzdW0gPSBiYi51dGlscy5tZDVfZmlsZShzcmNsaWNmaWxlKQotICAgICAgICAgICAgd2l0aCBvcGVuKHNyY2xpY2ZpbGUsICdyYicpIGFzIGY6Ci0gICAgICAgICAgICAgICAgbGljZW5zZSA9IGYucmVhZCgpCisgICAgICAgICAgICB3aXRoIG9wZW4oc3JjbGljZmlsZSwgJ3InLCBlcnJvcnM9J3JlcGxhY2UnKSBhcyBmOgorICAgICAgICAgICAgICAgIGxpY2Vuc2UgPSBmLnJlYWQoKS5zcGxpdGxpbmVzKCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZpID0gb3BlbihzcmNsaWNmaWxlLCAncmInKQotICAgICAgICAgICAgZm8gPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0nd2InLCBwcmVmaXg9J3Bva3kuJywgc3VmZml4PScudG1wJywgZGVsZXRlPUZhbHNlKQotICAgICAgICAgICAgdG1wbGljZmlsZSA9IGZvLm5hbWU7Ci0gICAgICAgICAgICBsaW5lbm8gPSAwCi0gICAgICAgICAgICBsaW5lc291dCA9IDAKLSAgICAgICAgICAgIGxpY2Vuc2UgPSBbXQotICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmk6Ci0gICAgICAgICAgICAgICAgbGluZW5vICs9IDEKLSAgICAgICAgICAgICAgICBpZiAobGluZW5vID49IGJlZ2lubGluZSk6Ci0gICAgICAgICAgICAgICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvLndyaXRlKGxpbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaWNlbnNlLmFwcGVuZChsaW5lKQotICAgICAgICAgICAgICAgICAgICAgICAgbGluZXNvdXQgKz0gMQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGZvLmZsdXNoKCkKLSAgICAgICAgICAgIGZvLmNsb3NlKCkKLSAgICAgICAgICAgIGZpLmNsb3NlKCkKLSAgICAgICAgICAgIG1kNWNoa3N1bSA9IGJiLnV0aWxzLm1kNV9maWxlKHRtcGxpY2ZpbGUpCi0gICAgICAgICAgICBsaWNlbnNlID0gYicnLmpvaW4obGljZW5zZSkKLSAgICAgICAgICAgIG9zLnVubGluayh0bXBsaWNmaWxlKQotCisgICAgICAgICAgICB3aXRoIG9wZW4oc3JjbGljZmlsZSwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgICAgICBpbXBvcnQgaGFzaGxpYgorICAgICAgICAgICAgICAgIGxpbmVubyA9IDAKKyAgICAgICAgICAgICAgICBsaWNlbnNlID0gW10KKyAgICAgICAgICAgICAgICBtID0gaGFzaGxpYi5tZDUoKQorICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICAgICAgICAgIGxpbmVubyArPSAxCisgICAgICAgICAgICAgICAgICAgIGlmIChsaW5lbm8gPj0gYmVnaW5saW5lKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICgobGluZW5vIDw9IGVuZGxpbmUpIG9yIG5vdCBlbmRsaW5lKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtLnVwZGF0ZShsaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuYXBwZW5kKGxpbmUuZGVjb2RlKCd1dGYtOCcsIGVycm9ycz0ncmVwbGFjZScpLnJzdHJpcCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIG1kNWNoa3N1bSA9IG0uaGV4ZGlnZXN0KCkKICAgICAgICAgaWYgcmVjaXBlbWQ1ID09IG1kNWNoa3N1bToKICAgICAgICAgICAgIGJiLm5vdGUgKHBuICsgIjogbWQ1IGNoZWNrc3VtIG1hdGNoZWQgZm9yICIsIHVybCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIHJlY2lwZW1kNToKICAgICAgICAgICAgICAgICBtc2cgPSBwbiArICI6IFRoZSBMSUNfRklMRVNfQ0hLU1VNIGRvZXMgbm90IG1hdGNoIGZvciAiICsgdXJsCiAgICAgICAgICAgICAgICAgbXNnID0gbXNnICsgIlxuIiArIHBuICsgIjogVGhlIG5ldyBtZDUgY2hlY2tzdW0gaXMgIiArIG1kNWNoa3N1bQotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgbGljZW5zZV9saW5lcyA9IGxpY2Vuc2UuZGVjb2RlKCd1dGYtOCcpLnNwbGl0KCdcbicpCi0gICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICAjIExpY2Vuc2UgdGV4dCBtaWdodCBub3QgYmUgdmFsaWQgVVRGLTgsIGluIHdoaWNoCi0gICAgICAgICAgICAgICAgICAgICMgY2FzZSB3ZSBkb24ndCBrbm93IGhvdyB0byBpbmNsdWRlIGl0IGluIG91ciBvdXRwdXQKLSAgICAgICAgICAgICAgICAgICAgIyBhbmQgaGF2ZSB0byBza2lwIGl0LgotICAgICAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgbWF4X2xpbmVzID0gaW50KGQuZ2V0VmFyKCdRQV9NQVhfTElDRU5TRV9MSU5FUycpIG9yIDIwKQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgbGljZW5zZV9saW5lcyBvciBsaWNlbnNlX2xpbmVzWy0xXSAhPSAnJzoKLSAgICAgICAgICAgICAgICAgICAgICAgICMgRW5zdXJlIHRoYXQgb3VyIGxpY2Vuc2UgdGV4dCBlbmRzIHdpdGggYSBsaW5lIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICAjICh3aWxsIGJlIGFkZGVkIHdpdGggam9pbigpIGJlbG93KS4KLSAgICAgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2VfbGluZXMuYXBwZW5kKCcnKQotICAgICAgICAgICAgICAgICAgICByZW1vdmUgPSBsZW4obGljZW5zZV9saW5lcykgLSBtYXhfbGluZXMKLSAgICAgICAgICAgICAgICAgICAgaWYgcmVtb3ZlID4gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKLSAgICAgICAgICAgICAgICAgICAgICAgIGVuZCA9IHN0YXJ0ICsgcmVtb3ZlIC0gMQotICAgICAgICAgICAgICAgICAgICAgICAgZGVsIGxpY2Vuc2VfbGluZXNbc3RhcnQ6ZW5kXQotICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZV9saW5lcy5pbnNlcnQoc3RhcnQsICcuLi4nKQotICAgICAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiXG4iICsgcG4gKyAiOiBIZXJlIGlzIHRoZSBzZWxlY3RlZCBsaWNlbnNlIHRleHQ6IiArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIns6dl43MH0iLmZvcm1hdCgiIGJlZ2lubGluZT0lZCAiICUgYmVnaW5saW5lIGlmIGJlZ2lubGluZSBlbHNlICIiKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArICJcbiIuam9pbihsaWNlbnNlX2xpbmVzKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIns6Xl43MH0iLmZvcm1hdCgiIGVuZGxpbmU9JWQgIiAlIGVuZGxpbmUgaWYgZW5kbGluZSBlbHNlICIiKQorICAgICAgICAgICAgICAgIG1heF9saW5lcyA9IGludChkLmdldFZhcignUUFfTUFYX0xJQ0VOU0VfTElORVMnKSBvciAyMCkKKyAgICAgICAgICAgICAgICBpZiBub3QgbGljZW5zZSBvciBsaWNlbnNlWy0xXSAhPSAnJzoKKyAgICAgICAgICAgICAgICAgICAgIyBFbnN1cmUgdGhhdCBvdXIgbGljZW5zZSB0ZXh0IGVuZHMgd2l0aCBhIGxpbmUgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgIyAod2lsbCBiZSBhZGRlZCB3aXRoIGpvaW4oKSBiZWxvdykuCisgICAgICAgICAgICAgICAgICAgIGxpY2Vuc2UuYXBwZW5kKCcnKQorICAgICAgICAgICAgICAgIHJlbW92ZSA9IGxlbihsaWNlbnNlKSAtIG1heF9saW5lcworICAgICAgICAgICAgICAgIGlmIHJlbW92ZSA+IDA6CisgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gbWF4X2xpbmVzIC8vIDIKKyAgICAgICAgICAgICAgICAgICAgZW5kID0gc3RhcnQgKyByZW1vdmUgLSAxCisgICAgICAgICAgICAgICAgICAgIGRlbCBsaWNlbnNlW3N0YXJ0OmVuZF0KKyAgICAgICAgICAgICAgICAgICAgbGljZW5zZS5pbnNlcnQoc3RhcnQsICcuLi4nKQorICAgICAgICAgICAgICAgIG1zZyA9IG1zZyArICJcbiIgKyBwbiArICI6IEhlcmUgaXMgdGhlIHNlbGVjdGVkIGxpY2Vuc2UgdGV4dDoiICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIlxuIiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ7OnZeNzB9Ii5mb3JtYXQoIiBiZWdpbmxpbmU9JWQgIiAlIGJlZ2lubGluZSBpZiBiZWdpbmxpbmUgZWxzZSAiIikgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAiXG4iICsgIlxuIi5qb2luKGxpY2Vuc2UpICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIns6Xl43MH0iLmZvcm1hdCgiIGVuZGxpbmU9JWQgIiAlIGVuZGxpbmUgaWYgZW5kbGluZSBlbHNlICIiKQogICAgICAgICAgICAgICAgIGlmIGJlZ2lubGluZToKICAgICAgICAgICAgICAgICAgICAgaWYgZW5kbGluZToKICAgICAgICAgICAgICAgICAgICAgICAgIHNyY2ZpbGVkZXNjID0gIiVzIChsaW5lcyAlZCB0aHJvdWdoIHRvICVkKSIgJSAoc3JjbGljZmlsZSwgYmVnaW5saW5lLCBlbmRsaW5lKQpAQCAtNTcwLDcgKzU1NCw3IEBACiAgICAgICAgIGJiLmZhdGFsKCJGYXRhbCBRQSBlcnJvcnMgZm91bmQsIGZhaWxpbmcgdGFzay4iKQogfQogCi1kZWYgcGFja2FnZV9xYV9jaGVja19zdGFnZWQocGF0aCxkKToKK2RlZiBxYV9jaGVja19zdGFnZWQocGF0aCxkKToKICAgICAiIiIKICAgICBDaGVjayBzdGFnZWQgbGEgYW5kIHBjIGZpbGVzIGZvciBjb21tb24gcHJvYmxlbXMgbGlrZSByZWZlcmVuY2VzIHRvIHRoZSB3b3JrCiAgICAgZGlyZWN0b3J5LgpAQCAtNTg5LDIwICs1NzMsMzEgQEAKICAgICBlbHNlOgogICAgICAgICBwa2djb25maWdjaGVjayA9IHRtcGRpcgogCisgICAgc2tpcCA9IChkLmdldFZhcignSU5TQU5FX1NLSVAnKSBvciAiIikuc3BsaXQoKQorICAgIHNraXBfbGEgPSBGYWxzZQorICAgIGlmICdsYScgaW4gc2tpcDoKKyAgICAgICAgYmIubm90ZSgiUmVjaXBlICVzIHNraXBwaW5nIHFhIGNoZWNraW5nOiBsYSIgJSBkLmdldFZhcignUE4nKSkKKyAgICAgICAgc2tpcF9sYSA9IFRydWUKKworICAgIHNraXBfcGtnY29uZmlnID0gRmFsc2UKKyAgICBpZiAncGtnY29uZmlnJyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IHBrZ2NvbmZpZyIgJSBkLmdldFZhcignUE4nKSkKKyAgICAgICAgc2tpcF9wa2djb25maWcgPSBUcnVlCisKICAgICAjIGZpbmQgYWxsIC5sYSBhbmQgLnBjIGZpbGVzCiAgICAgIyByZWFkIHRoZSBjb250ZW50CiAgICAgIyBhbmQgY2hlY2sgZm9yIHN0dWZmIHRoYXQgbG9va3Mgd3JvbmcKICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhwYXRoKToKICAgICAgICAgZm9yIGZpbGUgaW4gZmlsZXM6CiAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsZmlsZSkKLSAgICAgICAgICAgIGlmIGZpbGUuZW5kc3dpdGgoIi5sYSIpOgorICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgiLmxhIikgYW5kIG5vdCBza2lwX2xhOgogICAgICAgICAgICAgICAgIHdpdGggb3BlbihwYXRoKSBhcyBmOgogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQogICAgICAgICAgICAgICAgICAgICBmaWxlX2NvbnRlbnQgPSBmaWxlX2NvbnRlbnQucmVwbGFjZShyZWNpcGVzeXNyb290LCAiIikKICAgICAgICAgICAgICAgICAgICAgaWYgd29ya2RpciBpbiBmaWxlX2NvbnRlbnQ6CiAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tc2cgPSAiJXMgZmFpbGVkIHNhbml0eSB0ZXN0ICh3b3JrZGlyKSBpbiBwYXRoICVzIiAlIChmaWxlLHJvb3QpCiAgICAgICAgICAgICAgICAgICAgICAgICBzYW5lICY9IHBhY2thZ2VfcWFfaGFuZGxlX2Vycm9yKCJsYSIsIGVycm9yX21zZywgZCkKLSAgICAgICAgICAgIGVsaWYgZmlsZS5lbmRzd2l0aCgiLnBjIik6CisgICAgICAgICAgICBlbGlmIGZpbGUuZW5kc3dpdGgoIi5wYyIpIGFuZCBub3Qgc2tpcF9wa2djb25maWc6CiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIGY6CiAgICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGYucmVhZCgpCiAgICAgICAgICAgICAgICAgICAgIGZpbGVfY29udGVudCA9IGZpbGVfY29udGVudC5yZXBsYWNlKHJlY2lwZXN5c3Jvb3QsICIiKQpAQCAtMTAxNyw2ICsxMDEyLDEzIEBACiBkb19wYWNrYWdlX3FhW3JkZXB0YXNrXSA9ICJkb19wYWNrYWdlZGF0YSIKIGFkZHRhc2sgZG9fcGFja2FnZV9xYSBhZnRlciBkb19wYWNrYWdlZGF0YSBkb19wYWNrYWdlIGJlZm9yZSBkb19idWlsZAogCisjIEFkZCB0aGUgcGFja2FnZSBzcGVjaWZpYyBJTlNBTkVfU0tJUHMgdG8gdGhlIHNzdGF0ZSBkZXBlbmRlbmNpZXMKK3B5dGhvbigpIHsKKyAgICBwa2dzID0gKGQuZ2V0VmFyKCdQQUNLQUdFUycpIG9yICcnKS5zcGxpdCgpCisgICAgZm9yIHBrZyBpbiBwa2dzOgorICAgICAgICBkLmFwcGVuZFZhckZsYWcoImRvX3BhY2thZ2VfcWEiLCAidmFyZGVwcyIsICIgSU5TQU5FX1NLSVBfe30iLmZvcm1hdChwa2cpKQorfQorCiBTU1RBVEVUQVNLUyArPSAiZG9fcGFja2FnZV9xYSIKIGRvX3BhY2thZ2VfcWFbc3N0YXRlLWlucHV0ZGlyc10gPSAiIgogZG9fcGFja2FnZV9xYVtzc3RhdGUtb3V0cHV0ZGlyc10gPSAiIgpAQCAtMTAyNyw4ICsxMDI5LDcgQEAKIAogcHl0aG9uIGRvX3FhX3N0YWdpbmcoKSB7CiAgICAgYmIubm90ZSgiUUEgY2hlY2tpbmcgc3RhZ2luZyIpCi0KLSAgICBpZiBub3QgcGFja2FnZV9xYV9jaGVja19zdGFnZWQoZC5leHBhbmQoJyR7U1lTUk9PVF9ERVNURElSfSR7bGliZGlyfScpLCBkKToKKyAgICBpZiBub3QgcWFfY2hlY2tfc3RhZ2VkKGQuZXhwYW5kKCcke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0nKSwgZCk6CiAgICAgICAgIGJiLmZhdGFsKCJRQSBzdGFnaW5nIHdhcyBicm9rZW4gYnkgdGhlIHBhY2thZ2UgYnVpbHQgYWJvdmUiKQogfQogCkBAIC0xMDQyLDE1ICsxMDQzLDIyIEBACiAgICAgY29uZmlncyA9IFtdCiAgICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKIAotICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpOgorICAgIHNraXAgPSAoZC5nZXRWYXIoJ0lOU0FORV9TS0lQJykgb3IgIiIpLnNwbGl0KCkKKyAgICBza2lwX2NvbmZpZ3VyZV91bnNhZmUgPSBGYWxzZQorICAgIGlmICdjb25maWd1cmUtdW5zYWZlJyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IGNvbmZpZ3VyZS11bnNhZmUiICUgZC5nZXRWYXIoJ1BOJykpCisgICAgICAgIHNraXBfY29uZmlndXJlX3Vuc2FmZSA9IFRydWUKKworICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2F1dG90b29scycsIGQpIGFuZCBub3Qgc2tpcF9jb25maWd1cmVfdW5zYWZlOgogICAgICAgICBiYi5ub3RlKCJDaGVja2luZyBhdXRvdG9vbHMgZW52aXJvbm1lbnQgZm9yIGNvbW1vbiBtaXNjb25maWd1cmF0aW9uIikKICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsod29ya2Rpcik6CiAgICAgICAgICAgICBzdGF0ZW1lbnQgPSAiZ3JlcCAtcSAtRiAtZSAnQ1JPU1MgQ09NUElMRSBCYWRuZXNzOicgLWUgJ2lzIHVuc2FmZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24nICVzIiAlIFwKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihyb290LCJjb25maWcubG9nIikKICAgICAgICAgICAgIGlmICJjb25maWcubG9nIiBpbiBmaWxlczoKICAgICAgICAgICAgICAgICBpZiBzdWJwcm9jZXNzLmNhbGwoc3RhdGVtZW50LCBzaGVsbD1UcnVlKSA9PSAwOgotICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiIiJUaGlzIGF1dG9jb25mIGxvZyBpbmRpY2F0ZXMgZXJyb3JzLCBpdCBsb29rZWQgYXQgaG9zdCBpbmNsdWRlIGFuZC9vciBsaWJyYXJ5IHBhdGhzIHdoaWxlIGRldGVybWluaW5nIHN5c3RlbSBjYXBhYmlsaXRpZXMuCi1SZXJ1biBjb25maWd1cmUgdGFzayBhZnRlciBmaXhpbmcgdGhpcy4iIiIpCisgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZyA9ICIiIlRoaXMgYXV0b2NvbmYgbG9nIGluZGljYXRlcyBlcnJvcnMsIGl0IGxvb2tlZCBhdCBob3N0IGluY2x1ZGUgYW5kL29yIGxpYnJhcnkgcGF0aHMgd2hpbGUgZGV0ZXJtaW5pbmcgc3lzdGVtIGNhcGFiaWxpdGllcy4KK1JlcnVuIGNvbmZpZ3VyZSB0YXNrIGFmdGVyIGZpeGluZyB0aGlzLiIiIgorICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiY29uZmlndXJlLXVuc2FmZSIsIGVycm9yX21zZywgZCkKIAogICAgICAgICAgICAgaWYgImNvbmZpZ3VyZS5hYyIgaW4gZmlsZXM6CiAgICAgICAgICAgICAgICAgY29uZmlncy5hcHBlbmQob3MucGF0aC5qb2luKHJvb3QsImNvbmZpZ3VyZS5hYyIpKQpAQCAtMTA2MSw4ICsxMDY5LDE0IEBACiAgICAgIyBDaGVjayBnZXR0ZXh0IGNvbmZpZ3VyYXRpb24gYW5kIGRlcGVuZGVuY2llcyBhcmUgY29ycmVjdAogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCisgICAgc2tpcF9jb25maWd1cmVfZ2V0dGV4dCA9IEZhbHNlCisgICAgaWYgJ2NvbmZpZ3VyZS1nZXR0ZXh0JyBpbiBza2lwOgorICAgICAgICBiYi5ub3RlKCJSZWNpcGUgJXMgc2tpcHBpbmcgcWEgY2hlY2tpbmc6IGNvbmZpZ3VyZS1nZXR0ZXh0IiAlIGQuZ2V0VmFyKCdQTicpKQorICAgICAgICBza2lwX2NvbmZpZ3VyZV9nZXR0ZXh0ID0gVHJ1ZQorCiAgICAgY25mID0gZC5nZXRWYXIoJ0VYVFJBX09FQ09ORicpIG9yICIiCi0gICAgaWYgImdldHRleHQiIG5vdCBpbiBkLmdldFZhcignUCcpIGFuZCAiZ2NjLXJ1bnRpbWUiIG5vdCBpbiBkLmdldFZhcignUCcpIGFuZCAiLS1kaXNhYmxlLW5scyIgbm90IGluIGNuZjoKKyAgICBpZiBub3QgKCJnZXR0ZXh0IiBpbiBkLmdldFZhcignUCcpIG9yICJnY2MtcnVudGltZSIgaW4gZC5nZXRWYXIoJ1AnKSBvciBcCisgICAgICAgICAgICAiLS1kaXNhYmxlLW5scyIgaW4gY25mIG9yIHNraXBfY29uZmlndXJlX2dldHRleHQpOgogICAgICAgICBtbCA9IGQuZ2V0VmFyKCJNTFBSRUZJWCIpIG9yICIiCiAgICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzLWNhbmFkaWFuJywgZCk6CiAgICAgICAgICAgICBndCA9ICJuYXRpdmVzZGstZ2V0dGV4dCIKQEAgLTEwNzMsOCArMTA4Nyw4IEBACiAgICAgICAgICAgICBmb3IgY29uZmlnIGluIGNvbmZpZ3M6CiAgICAgICAgICAgICAgICAgZ251ID0gImdyZXAgXCJeW1s6c3BhY2U6XV0qQU1fR05VX0dFVFRFWFRcIiAlcyA+L2Rldi9udWxsIiAlIGNvbmZpZwogICAgICAgICAgICAgICAgIGlmIHN1YnByb2Nlc3MuY2FsbChnbnUsIHNoZWxsPVRydWUpID09IDA6Ci0gICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCIiIiVzIHJlcXVpcmVkIGJ1dCBub3QgaW4gREVQRU5EUyBmb3IgZmlsZSAlcy4KLU1pc3NpbmcgaW5oZXJpdCBnZXR0ZXh0PyIiIiAlIChndCwgY29uZmlnKSkKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfbXNnID0gIiVzIHJlcXVpcmVkIGJ1dCBub3QgaW4gREVQRU5EUyBmb3IgZmlsZSAlcy4gTWlzc2luZyBpbmhlcml0IGdldHRleHQ/IgorICAgICAgICAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigiY29uZmlndXJlLWdldHRleHQiLCBlcnJvcl9tc2csIGQpCiAKICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAjIENoZWNrIHVucmVjb2duaXNlZCBjb25maWd1cmUgb3B0aW9ucyAod2l0aCBhIHdoaXRlIGxpc3QpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtZml0aW1hZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCmluZGV4IDRjNGZkOTkuLjI1MTdkNzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1maXRpbWFnZS5iYmNsYXNzCkBAIC00LDcgKzQsNyBAQAogICAgIGtlcm5lbHR5cGVzID0gZC5nZXRWYXIoJ0tFUk5FTF9JTUFHRVRZUEVTJykgb3IgIiIKICAgICBpZiAnZml0SW1hZ2UnIGluIGtlcm5lbHR5cGVzLnNwbGl0KCk6CiAgICAgICAgIGRlcGVuZHMgPSBkLmdldFZhcigiREVQRU5EUyIpCi0gICAgICAgIGRlcGVuZHMgPSAiJXMgdS1ib290LW1raW1hZ2UtbmF0aXZlIGR0Yy1uYXRpdmUiICUgZGVwZW5kcworICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC10b29scy1uYXRpdmUgZHRjLW5hdGl2ZSIgJSBkZXBlbmRzCiAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKIAogICAgICAgICB1YXJjaCA9IGQuZ2V0VmFyKCJVQk9PVF9BUkNIIikKQEAgLTE5LDkgKzE5LDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJlcGxhY2VtZW50dHlwZSA9ICJ6SW1hZ2UiCiAKLQkjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCi0JIyB0byBrZXJuZWwuYmJjbGFzcyAuIFdlIGhhdmUgdG8gb3ZlcnJpZGUgaXQsIHNpbmNlIHdlIHBhY2sgekltYWdlCi0JIyAoYXQgbGVhc3QgZm9yIG5vdykgaW50byB0aGUgZml0SW1hZ2UgLgorICAgICAgICAjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCisgICAgICAgICMgdG8ga2VybmVsLmJiY2xhc3MgLiBXZSBoYXZlIHRvIG92ZXJyaWRlIGl0LCBzaW5jZSB3ZSBwYWNrIHpJbWFnZQorICAgICAgICAjIChhdCBsZWFzdCBmb3Igbm93KSBpbnRvIHRoZSBmaXRJbWFnZSAuCiAgICAgICAgIHR5cGVmb3JtYWtlID0gZC5nZXRWYXIoIktFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UiKSBvciAiIgogICAgICAgICBpZiAnZml0SW1hZ2UnIGluIHR5cGVmb3JtYWtlLnNwbGl0KCk6CiAgICAgICAgICAgICBkLnNldFZhcignS0VSTkVMX0lNQUdFVFlQRV9GT1JfTUFLRScsIHR5cGVmb3JtYWtlLnJlcGxhY2UoJ2ZpdEltYWdlJywgcmVwbGFjZW1lbnR0eXBlKSkKQEAgLTMwLDEyICszMCwxOSBAQAogICAgICAgICBpZiBpbWFnZToKICAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fYXNzZW1ibGVfZml0aW1hZ2VfaW5pdHJhbWZzJywgJ2RlcGVuZHMnLCAnICR7SU5JVFJBTUZTX0lNQUdFfTpkb19pbWFnZV9jb21wbGV0ZScpCiAKKyAgICAgICAgI2NoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZHRiIHByb3ZpZGVycworICAgICAgICBwcm92aWRlcmR0YiA9IGQuZ2V0VmFyKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9kdGIiKQorICAgICAgICBpZiBwcm92aWRlcmR0YjoKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fYXNzZW1ibGVfZml0aW1hZ2UnLCAnZGVwZW5kcycsICcgdmlydHVhbC9kdGI6ZG9fcG9wdWxhdGVfc3lzcm9vdCcpCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlX2luaXRyYW1mcycsICdkZXBlbmRzJywgJyB2aXJ0dWFsL2R0Yjpkb19wb3B1bGF0ZV9zeXNyb290JykKKyAgICAgICAgICAgIGQuc2V0VmFyKCdFWFRFUk5BTF9LRVJORUxfREVWSUNFVFJFRScsICIke1JFQ0lQRV9TWVNST09UfS9ib290L2RldmljZXRyZWUiKQorCiAgICAgICAgICMgVmVyaWZpZWQgYm9vdCB3aWxsIHNpZ24gdGhlIGZpdEltYWdlIGFuZCBhcHBlbmQgdGhlIHB1YmxpYyBrZXkgdG8KICAgICAgICAgIyBVLUJvb3QgZHRiLiBXZSBlbnN1cmUgdGhlIFUtQm9vdCBkdGIgaXMgZGVwbG95ZWQgYmVmb3JlIGFzc2VtYmxpbmcKICAgICAgICAgIyB0aGUgZml0SW1hZ2U6CiAgICAgICAgIGlmIGQuZ2V0VmFyKCdVQk9PVF9TSUdOX0VOQUJMRScpID09ICIxIjoKICAgICAgICAgICAgIHVib290X3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl91LWJvb3QnKSBvciAndS1ib290JwotICAgICAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19hc3NlbWJsZV9maXRpbWFnZScsICdkZXBlbmRzJywgJyAlczpkb19kZXBsb3knICUgdWJvb3RfcG4pCisgICAgICAgICAgICBkLmFwcGVuZFZhckZsYWcoJ2RvX2Fzc2VtYmxlX2ZpdGltYWdlJywgJ2RlcGVuZHMnLCAnICVzOmRvX3BvcHVsYXRlX3N5c3Jvb3QnICUgdWJvb3RfcG4pCiB9CiAKICMgT3B0aW9ucyBmb3IgdGhlIGRldmljZSB0cmVlIGNvbXBpbGVyIHBhc3NlZCB0byBta2ltYWdlICctRCcgZmVhdHVyZToKQEAgLTM3Myw3ICszODAsOCBAQAogCSMKIAkjIFN0ZXAgMjogUHJlcGFyZSBhIERUQiBpbWFnZSBzZWN0aW9uCiAJIwotCWlmIFsgLW4gIiR7S0VSTkVMX0RFVklDRVRSRUV9IiBdOyB0aGVuCisKKwlpZiBbIC16ICIke0VYVEVSTkFMX0tFUk5FTF9ERVZJQ0VUUkVFfSIgXSAmJiBbIC1uICIke0tFUk5FTF9ERVZJQ0VUUkVFfSIgXTsgdGhlbgogCQlkdGJjb3VudD0xCiAJCWZvciBEVEIgaW4gJHtLRVJORUxfREVWSUNFVFJFRX07IGRvCiAJCQlpZiBlY2hvICR7RFRCfSB8IGdyZXAgLXEgJy9kdHMvJzsgdGhlbgpAQCAtMzkxLDYgKzM5OSwxNiBAQAogCQlkb25lCiAJZmkKIAorCWlmIFsgLW4gIiR7RVhURVJOQUxfS0VSTkVMX0RFVklDRVRSRUV9IiBdOyB0aGVuCisJCWR0YmNvdW50PTEKKwkJZm9yIERUQkZJTEUgaW4gJHtFWFRFUk5BTF9LRVJORUxfREVWSUNFVFJFRX0vKi5kdGI7IGRvCisJCQlEVEI9YGJhc2VuYW1lICR7RFRCRklMRX1gCisJCQlEVEI9JChlY2hvICIke0RUQn0iIHwgdHIgJy8nICdfJykKKwkJCURUQlM9IiR7RFRCU30gJHtEVEJ9IgorCQkJZml0aW1hZ2VfZW1pdF9zZWN0aW9uX2R0YiAkezF9ICR7RFRCfSAke0RUQkZJTEV9CisJCWRvbmUKKwlmaQorCiAJIwogCSMgU3RlcCAzOiBQcmVwYXJlIGEgc2V0dXAgc2VjdGlvbi4gKEZvciB4ODYpCiAJIwpAQCAtNDU2LDEwICs0NzQsMTcgQEAKIAkjIFN0ZXAgNzogU2lnbiB0aGUgaW1hZ2UgYW5kIGFkZCBwdWJsaWMga2V5IHRvIFUtQm9vdCBkdGIKIAkjCiAJaWYgWyAieCR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICJ4MSIgXSA7IHRoZW4KKwkJYWRkX2tleV90b191X2Jvb3Q9IiIKKwkJaWYgWyAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXTsgdGhlbgorCQkJIyBUaGUgdS1ib290LmR0YiBpcyBhIHN5bWxpbmsgdG8gVUJPT1RfRFRCX0lNQUdFLCBzbyB3ZSBuZWVkIGNvcHkKKwkJCSMgYm90aCBvZiB0aGVtLCBhbmQgZG9uJ3QgZGVyZWZlcmVuY2UgdGhlIHN5bWxpbmsuCisJCQljcCAtUCAke1NUQUdJTkdfREFUQURJUn0vdS1ib290Ki5kdGIgJHtCfQorCQkJYWRkX2tleV90b191X2Jvb3Q9Ii1LICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSIKKwkJZmkKIAkJdWJvb3QtbWtpbWFnZSBcCiAJCQkke0AnLUQgIiR7VUJPT1RfTUtJTUFHRV9EVENPUFRTfSInIGlmIGxlbignJHtVQk9PVF9NS0lNQUdFX0RUQ09QVFN9JykgZWxzZSAnJ30gXAogCQkJLUYgLWsgIiR7VUJPT1RfU0lHTl9LRVlESVJ9IiBcCi0JCQkke0AnLUsgIiR7REVQTE9ZX0RJUl9JTUFHRX0vJHtVQk9PVF9EVEJfQklOQVJZfSInIGlmIGxlbignJHtVQk9PVF9EVEJfQklOQVJZfScpIGVsc2UgJyd9IFwKKwkJCSRhZGRfa2V5X3RvX3VfYm9vdCBcCiAJCQktciBhcmNoLyR7QVJDSH0vYm9vdC8kezJ9CiAJZmkKIH0KQEAgLTQ4MSw3ICs1MDYsNyBAQAogCWZpCiB9CiAKLWFkZHRhc2sgYXNzZW1ibGVfZml0aW1hZ2VfaW5pdHJhbWZzIGJlZm9yZSBkb19kZXBsb3kgYWZ0ZXIgZG9faW5zdGFsbAorYWRkdGFzayBhc3NlbWJsZV9maXRpbWFnZV9pbml0cmFtZnMgYmVmb3JlIGRvX2RlcGxveSBhZnRlciBkb19idW5kbGVfaW5pdHJhbWZzCiAKIAoga2VybmVsX2RvX2RlcGxveVt2YXJkZXBzZXhjbHVkZV0gPSAiREFURVRJTUUiCkBAIC01MDUsNSArNTMwLDExIEBACiAJCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9hcmNoLyR7QVJDSH0vYm9vdC9maXRJbWFnZS0ke0lOSVRSQU1GU19JTUFHRX0gJHtERVBMT1lESVJ9L2ZpdEltYWdlLSR7SU5JVFJBTUZTX0lNQUdFX05BTUV9LSR7S0VSTkVMX0ZJVF9OQU1FfS5iaW4KIAkJCWxuIC1zbmYgZml0SW1hZ2UtJHtJTklUUkFNRlNfSU1BR0VfTkFNRX0tJHtLRVJORUxfRklUX05BTUV9LmJpbiAke0RFUExPWURJUn0vZml0SW1hZ2UtJHtJTklUUkFNRlNfSU1BR0VfTkFNRX0tJHtLRVJORUxfRklUX0xJTktfTkFNRX0KIAkJZmkKKwkJaWYgWyAiJHtVQk9PVF9TSUdOX0VOQUJMRX0iID0gIjEiIC1hIC1uICIke1VCT09UX0RUQl9CSU5BUll9IiBdIDsgdGhlbgorCQkJIyBVQk9PVF9EVEJfSU1BR0UgaXMgYSByZWFsZmlsZSwgYnV0IHdlIGNhbid0IHVzZQorCQkJIyAke1VCT09UX0RUQl9JTUFHRX0gc2luY2UgaXQgY29udGFpbnMgJHtQVn0gd2hpY2ggaXMgYWltZWQKKwkJCSMgZm9yIHUtYm9vdCwgYnV0IHdlIGFyZSBpbiBrZXJuZWwgZW52IG5vdy4KKwkJCWluc3RhbGwgLW0gMDY0NCAke0J9L3UtYm9vdC0ke01BQ0hJTkV9Ki5kdGIgJHtERVBMT1lESVJ9LworCQlmaQogCWZpCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtbW9kdWxlLXNwbGl0LmJiY2xhc3MKaW5kZXggNjdhYjQxNi4uZThkM2ViNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLW1vZHVsZS1zcGxpdC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC1tb2R1bGUtc3BsaXQuYmJjbGFzcwpAQCAtNDgsNyArNDgsOCBAQAogICAgICAgICB0bXBmaWxlID0gdGZbMV0KICAgICAgICAgY21kID0gIiVzb2JqY29weSAtaiAubW9kaW5mbyAtTyBiaW5hcnkgJXMgJXMiICUgKGQuZ2V0VmFyKCJIT1NUX1BSRUZJWCIpIG9yICIiLCBmaWxlLCB0bXBmaWxlKQogICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoY21kLCBzaGVsbD1UcnVlKQotICAgICAgICBmID0gb3Blbih0bXBmaWxlKQorICAgICAgICAjIGVycm9ycz0ncmVwbGFjZSc6IFNvbWUgb2xkIGtlcm5lbCB2ZXJzaW9ucyBjb250YWluIGludmFsaWQgdXRmLTggY2hhcmFjdGVycyBpbiBtb2QgZGVzY3JpcHRpb25zIChsaWtlIDB4ZjYsICfDticpCisgICAgICAgIGYgPSBvcGVuKHRtcGZpbGUsIGVycm9ycz0ncmVwbGFjZScpCiAgICAgICAgIGwgPSBmLnJlYWQoKS5zcGxpdCgiXDAwMCIpCiAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICBvcy5jbG9zZSh0ZlswXSkKQEAgLTEzMiw3ICsxMzMsNyBAQAogICAgIGtlcm5lbF9wYWNrYWdlX25hbWUgPSBkLmdldFZhcigiS0VSTkVMX1BBQ0tBR0VfTkFNRSIpIG9yICJrZXJuZWwiCiAgICAga2VybmVsX3ZlcnNpb24gPSBkLmdldFZhcigiS0VSTkVMX1ZFUlNJT04iKQogCi0gICAgbW9kdWxlX3JlZ2V4ID0gJ14oLiopXC5rP28kJworICAgIG1vZHVsZV9yZWdleCA9IHInXiguKilcLms/byQnCiAKICAgICBtb2R1bGVfcGF0dGVybl9wcmVmaXggPSBkLmdldFZhcignS0VSTkVMX01PRFVMRV9QQUNLQUdFX1BSRUZJWCcpCiAgICAgbW9kdWxlX3BhdHRlcm5fc3VmZml4ID0gZC5nZXRWYXIoJ0tFUk5FTF9NT0RVTEVfUEFDS0FHRV9TVUZGSVgnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXVpbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLXVpbWFnZS5iYmNsYXNzCmluZGV4IGMyZGU2YmIuLmNlZGI0ZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC11aW1hZ2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwtdWltYWdlLmJiY2xhc3MKQEAgLTMsNyArMyw3IEBACiBweXRob24gX19hbm9ueW1vdXMgKCkgewogICAgIGlmICJ1SW1hZ2UiIGluIGQuZ2V0VmFyKCdLRVJORUxfSU1BR0VUWVBFUycpOgogICAgICAgICBkZXBlbmRzID0gZC5nZXRWYXIoIkRFUEVORFMiKQotICAgICAgICBkZXBlbmRzID0gIiVzIHUtYm9vdC1ta2ltYWdlLW5hdGl2ZSIgJSBkZXBlbmRzCisgICAgICAgIGRlcGVuZHMgPSAiJXMgdS1ib290LXRvb2xzLW5hdGl2ZSIgJSBkZXBlbmRzCiAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKIAogICAgICAgICAjIE92ZXJyaWRlIEtFUk5FTF9JTUFHRVRZUEVfRk9SX01BS0UgdmFyaWFibGUsIHdoaWNoIGlzIGludGVybmFsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9rZXJuZWwteW9jdG8uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCmluZGV4IDQ5NmM4YTcuLmVkOWJjZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC15b2N0by5iYmNsYXNzCkBAIC01LDEyICs1LDIxIEBACiAKICMgcmV0dXJucyBsb2NhbCAoYWJzb2x1dGUpIHBhdGggbmFtZXMgZm9yIGFsbCB2YWxpZCBwYXRjaGVzIGluIHRoZQogIyBzcmNfdXJpCi1kZWYgZmluZF9wYXRjaGVzKGQpOgorZGVmIGZpbmRfcGF0Y2hlcyhkLHN1YmRpcik6CiAgICAgcGF0Y2hlcyA9IHNyY19wYXRjaGVzKGQpCiAgICAgcGF0Y2hfbGlzdD1bXQogICAgIGZvciBwIGluIHBhdGNoZXM6Ci0gICAgICAgIF8sIF8sIGxvY2FsLCBfLCBfLCBfID0gYmIuZmV0Y2guZGVjb2RldXJsKHApCi0gICAgICAgIHBhdGNoX2xpc3QuYXBwZW5kKGxvY2FsKQorICAgICAgICBfLCBfLCBsb2NhbCwgXywgXywgcGFybSA9IGJiLmZldGNoLmRlY29kZXVybChwKQorICAgICAgICAjIGlmIHBhdGNoZGlyIGhhcyBiZWVuIHBhc3NlZCwgd2Ugd29uJ3QgYmUgYWJsZSB0byBhcHBseSBpdCBzbyBza2lwCisgICAgICAgICMgdGhlIHBhdGNoIGZvciBub3csIGFuZCBzcGVjaWFsIHByb2Nlc3NpbmcgaGFwcGVucyBsYXRlcgorICAgICAgICBwYXRjaGRpciA9ICcnCisgICAgICAgIGlmICJwYXRjaGRpciIgaW4gcGFybToKKyAgICAgICAgICAgIHBhdGNoZGlyID0gcGFybVsicGF0Y2hkaXIiXQorICAgICAgICBpZiBzdWJkaXI6CisgICAgICAgICAgICBpZiBzdWJkaXIgPT0gcGF0Y2hkaXI6CisgICAgICAgICAgICAgICAgcGF0Y2hfbGlzdC5hcHBlbmQobG9jYWwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwYXRjaF9saXN0LmFwcGVuZChsb2NhbCkKIAogICAgIHJldHVybiBwYXRjaF9saXN0CiAKQEAgLTExOSw4ICsxMjgsMjAgQEAKIAkJZmkKIAlmaQogCisJIyB3YXMgYW55b25lIHRyeWluZyB0byBwYXRjaCB0aGUga2VybmVsIG1ldGEgZGF0YSA/LCB3ZSBuZWVkIHRvIGRvCisJIyB0aGlzIGhlcmUsIHNpbmNlIHRoZSBzY2MgY29tbWFuZHMgbWlncmF0ZSB0aGUgLmNmZyBmcmFnbWVudHMgdG8gdGhlCisJIyBrZXJuZWwgc291cmNlIHRyZWUsIHdoZXJlIHRoZXknbGwgYmUgdXNlZCBsYXRlci4KKwljaGVja19naXRfY29uZmlnCisJcGF0Y2hlcz0iJHtAIiAiLmpvaW4oZmluZF9wYXRjaGVzKGQsJ2tlcm5lbC1tZXRhJykpfSIKKwlmb3IgcCBpbiAkcGF0Y2hlczsgZG8KKwkgICAgKAorCQljZCAke1dPUktESVJ9L2tlcm5lbC1tZXRhCisJCWdpdCBhbSAtcyAkcAorCSAgICApCisJZG9uZQorCiAJc2Njc19mcm9tX3NyY191cmk9IiR7QCIgIi5qb2luKGZpbmRfc2NjcyhkKSl9IgotCXBhdGNoZXM9IiR7QCIgIi5qb2luKGZpbmRfcGF0Y2hlcyhkKSl9IgorCXBhdGNoZXM9IiR7QCIgIi5qb2luKGZpbmRfcGF0Y2hlcyhkLCcnKSl9IgogCWZlYXRfZGlycz0iJHtAIiAiLmpvaW4oZmluZF9rZXJuZWxfZmVhdHVyZV9kaXJzKGQpKX0iCiAKIAkjIGEgcXVpY2sgY2hlY2sgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgZHVwbGljYXRlIGRlZmNvbmZpZ3MKQEAgLTEzOCwxMCArMTU5LDEwIEBACiAJZm9yIGYgaW4gJHtmZWF0X2RpcnN9OyBkbwogCQlpZiBbIC1kICIke1dPUktESVJ9LyRmL21ldGEiIF07IHRoZW4KIAkJCWluY2x1ZGVzPSIkaW5jbHVkZXMgLUkke1dPUktESVJ9LyRmL2tlcm5lbC1tZXRhIgotCSAgICAgICAgZWxpZiBbIC1kICIke1dPUktESVJ9LyRmIiBdOyB0aGVuCi0JCQlpbmNsdWRlcz0iJGluY2x1ZGVzIC1JJHtXT1JLRElSfS8kZiIKIAkJZWxpZiBbIC1kICIke1dPUktESVJ9Ly4uL29lLWxvY2FsLWZpbGVzLyRmIiBdOyB0aGVuCiAJCQlpbmNsdWRlcz0iJGluY2x1ZGVzIC1JJHtXT1JLRElSfS8uLi9vZS1sb2NhbC1maWxlcy8kZiIKKwkgICAgICAgIGVsaWYgWyAtZCAiJHtXT1JLRElSfS8kZiIgXTsgdGhlbgorCQkJaW5jbHVkZXM9IiRpbmNsdWRlcyAtSSR7V09SS0RJUn0vJGYiCiAJCWZpCiAJZG9uZQogCWZvciBzIGluICR7c2Njc30gJHtwYXRjaGVzfTsgZG8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2tlcm5lbC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKaW5kZXggYmQxODVlMi4uOWRhOTgxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMva2VybmVsLmJiY2xhc3MKQEAgLTQ4Nyw2ICs0ODcsMTUgQEAKIAkJbWtkaXIgLXAgJGtlcm5lbGRpci9hcmNoLyR7QVJDSH0vaW5jbHVkZS9nZW5lcmF0ZWQvCiAJCWNwIC1mUiBhcmNoLyR7QVJDSH0vaW5jbHVkZS9nZW5lcmF0ZWQvKiAka2VybmVsZGlyL2FyY2gvJHtBUkNIfS9pbmNsdWRlL2dlbmVyYXRlZC8KIAlmaQorCisJaWYgKGdyZXAgLXEgLWkgLWUgJ15DT05GSUdfVU5XSU5ERVJfT1JDPXkkJyAka2VybmVsZGlyLy5jb25maWcpOyB0aGVuCisJCSMgV2l0aCBDT05GSUdfVU5XSU5ERVJfT1JDICh0aGUgZGVmYXVsdCBpbiA0LjE0KSwgb2JqdG9vbCBpcyByZXF1aXJlZCBmb3IKKwkJIyBvdXQtb2YtdHJlZSBtb2R1bGVzIHRvIGJlIGFibGUgdG8gZ2VuZXJhdGUgb2JqZWN0IGZpbGVzLgorCQlpZiBbIC14IHRvb2xzL29ianRvb2wvb2JqdG9vbCBdOyB0aGVuCisJCQlta2RpciAtcCAke2tlcm5lbGRpcn0vdG9vbHMvb2JqdG9vbAorCQkJY3AgdG9vbHMvb2JqdG9vbC9vYmp0b29sICR7a2VybmVsZGlyfS90b29scy9vYmp0b29sLworCQlmaQorCWZpCiB9CiAKICMgV2UgZG9uJ3QgbmVlZCB0byBzdGFnZSBhbnl0aGluZywgbm90IHRoZSBtb2R1bGVzL2Zpcm13YXJlIHNpbmNlIHRob3NlIHdvdWxkIGNsYXNoIHdpdGggbGludXgtZmlybXdhcmUKQEAgLTU4MCw3ICs1ODksNyBAQAogUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJzcGxpdF9rZXJuZWxfcGFja2FnZXMgIgogCiBweXRob24gc3BsaXRfa2VybmVsX3BhY2thZ2VzICgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCByb290PScke25vbmFyY2hfYmFzZV9saWJkaXJ9L2Zpcm13YXJlJywgZmlsZV9yZWdleD0nXiguKilcLihiaW58Znd8Y2lzfGNzcHxkc3ApJCcsIG91dHB1dF9wYXR0ZXJuPScke0tFUk5FTF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLSVzJywgZGVzY3JpcHRpb249J0Zpcm13YXJlIGZvciAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9JyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vZmlybXdhcmUnLCBmaWxlX3JlZ2V4PXInXiguKilcLihiaW58Znd8Y2lzfGNzcHxkc3ApJCcsIG91dHB1dF9wYXR0ZXJuPScke0tFUk5FTF9QQUNLQUdFX05BTUV9LWZpcm13YXJlLSVzJywgZGVzY3JpcHRpb249J0Zpcm13YXJlIGZvciAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBleHRyYV9kZXBlbmRzPScnKQogfQogCiAjIE1hbnkgc2NyaXB0cyB3YW50IHRvIGxvb2sgaW4gYXJjaC8kYXJjaC9ib290IGZvciB0aGUgYm9vdGFibGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpYmMtcGFja2FnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKaW5kZXggMzQ1ZWMyOS4uODg1OWRhZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbGliYy1wYWNrYWdlLmJiY2xhc3MKQEAgLTM3LDE2ICszNywxMSBAQAogICAgICAgICAgICAgICAgIGQuc2V0VmFyKCJERVBFTkRTIiwgZGVwZW5kcykKICAgICAgICAgICAgICAgICBkLnNldFZhcigiR0xJQkNfSU5URVJOQUxfVVNFX0JJTkFSWV9MT0NBTEUiLCAiY29tcGlsZSIpCiAgICAgICAgICAgICAgICAgYnJlYWsKLQotICAgICMgdHJ5IHRvIGZpeCBkaXNhYmxlIGNoYXJzZXRzL2xvY2FsZXMvbG9jYWxlLWNvZGUgY29tcGlsZSBmYWlsCi0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWNoYXJzZXRzJywgVHJ1ZSwgRmFsc2UsIGQpIGFuZCBcCi0gICAgICAgICAgICBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtbG9jYWxlcycsIFRydWUsIEZhbHNlLCBkKSBhbmQgXAotICAgICAgICAgICAgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZS1jb2RlJywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBkLnNldFZhcignUEFDS0FHRV9OT19HQ09OVicsICcwJykKLSAgICBlbHNlOgotICAgICAgICBkLnNldFZhcignUEFDS0FHRV9OT19HQ09OVicsICcxJykKIH0KIAorIyB0cnkgdG8gZml4IGRpc2FibGUgY2hhcnNldHMvbG9jYWxlcy9sb2NhbGUtY29kZSBjb21waWxlIGZhaWwKK1BBQ0tBR0VfTk9fR0NPTlYgPz0gIjAiCisKIE9WRVJSSURFU19hcHBlbmQgPSAiOiR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfSIKIAogbG9jYWxlX2Jhc2VfcG9zdGluc3Rfb250YXJnZXQoKSB7CkBAIC02OSw5ICs2NCwxNCBAQAogCWZvciBpIGluICR0cmVlZGlyLyR7ZGF0YWRpcn0vaTE4bi9jaGFybWFwcy8qZ3o7IGRvIAogCQlndW56aXAgJGkKIAlkb25lCi0JdGFyIC1jZiAtIC1DICR7TE9DQUxFVFJFRVNSQ30ke2Jhc2VfbGliZGlyfSAtcCAuIHwgdGFyIC14ZiAtIC1DICR0cmVlZGlyLyR7YmFzZV9saWJkaXJ9Ci0JaWYgWyAtZiAke1NUQUdJTkdfRElSX05BVElWRX0ke3ByZWZpeF9uYXRpdmV9L2xpYi9saWJnY2Nfcy4qIF07IHRoZW4KLQkJdGFyIC1jZiAtIC1DICR7U1RBR0lOR19ESVJfTkFUSVZFfS8ke3ByZWZpeF9uYXRpdmV9LyR7YmFzZV9saWJkaXJ9IC1wIGxpYmdjY19zLiogfCB0YXIgLXhmIC0gLUMgJHRyZWVkaXIvJHtiYXNlX2xpYmRpcn0KKwkjIFRoZSBleHRyYWN0IHBhdHRlcm4gIi4vbCouc28qIiBpcyBjYXJlZnVsbHkgc2VsZWN0ZWQgc28gdGhhdCBpdCB3aWxsCisJIyBtYXRjaCBsZCouc28gYW5kIGxpYiouc28qLCBidXQgbm90IGFueSBmaWxlcyBpbiB0aGUgZ2NvbnYgZGlyZWN0b3J5CisJIyAoaWYgaXQgZXhpc3RzKS4gVGhpcyBtYWtlcyBzdXJlIHdlIG9ubHkgdW5wYWNrIHRoZSBmaWxlcyB3ZSBuZWVkLgorCSMgVGhpcyBpcyBpbXBvcnRhbnQgaW4gY2FzZSB1c3JtZXJnZSBpcyBzZXQgaW4gRElTVFJPX0ZFQVRVUkVTLCB3aGljaAorCSMgbWVhbnMgJHtiYXNlX2xpYmRpcn0gPT0gJHtsaWJkaXJ9LgorCXRhciAtY2YgLSAtQyAke0xPQ0FMRVRSRUVTUkN9JHtiYXNlX2xpYmRpcn0gLXAgLiB8IHRhciAteGYgLSAtQyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfSAtLXdpbGRjYXJkcyAnLi9sKi5zbyonCisJaWYgWyAtZiAke1NUQUdJTkdfTElCRElSX05BVElWRX0vbGliZ2NjX3MuKiBdOyB0aGVuCisJCXRhciAtY2YgLSAtQyAke1NUQUdJTkdfTElCRElSX05BVElWRX0gLXAgbGliZ2NjX3MuKiB8IHRhciAteGYgLSAtQyAkdHJlZWRpci8ke2Jhc2VfbGliZGlyfQogCWZpCiAJaW5zdGFsbCAtbSAwNzU1ICR7TE9DQUxFVFJFRVNSQ30ke2JpbmRpcn0vbG9jYWxlZGVmICR0cmVlZGlyLyR7YmFzZV9iaW5kaXJ9CiB9CkBAIC0xMTUsOCArMTE1LDggQEAKICAgICBkZWYgY2FsY19nY29udl9kZXBzKGZuLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBncm91cCk6CiAgICAgICAgIGRlcHMgPSBbXQogICAgICAgICBmID0gb3BlbihmbiwgInJiIikKLSAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUoJ15jb3B5ICIoLiopIicpCi0gICAgICAgIGlfcmUgPSByZS5jb21waWxlKCdeaW5jbHVkZSAiKFx3KykiLionKQorICAgICAgICBjX3JlID0gcmUuY29tcGlsZShyJ15jb3B5ICIoLiopIicpCisgICAgICAgIGlfcmUgPSByZS5jb21waWxlKHInXmluY2x1ZGUgIihcdyspIi4qJykKICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgIGwgPSBsLmRlY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBtID0gY19yZS5tYXRjaChsKSBvciBpX3JlLm1hdGNoKGwpCkBAIC0xMzAsMTUgKzEzMCwxNSBAQAogICAgICAgICBpZiBicG4gIT0gJ2dsaWJjJzoKICAgICAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnLCBwa2cucmVwbGFjZShicG4sICdnbGliYycpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2NvbnZfbGliZGlyLCBmaWxlX3JlZ2V4PSdeKC4qKVwuc28kJywgb3V0cHV0X3BhdHRlcm49YnBuKyctZ2NvbnYtJXMnLCBcCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2NvbnZfbGliZGlyLCBmaWxlX3JlZ2V4PXInXiguKilcLnNvJCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWdjb252LSVzJywgXAogICAgICAgICBkZXNjcmlwdGlvbj0nZ2NvbnYgbW9kdWxlIGZvciBjaGFyYWN0ZXIgc2V0ICVzJywgaG9vaz1jYWxjX2djb252X2RlcHMsIFwKICAgICAgICAgZXh0cmFfZGVwZW5kcz1icG4rJy1nY29udicpCiAKICAgICBkZWYgY2FsY19jaGFybWFwX2RlcHMoZm4sIHBrZywgZmlsZV9yZWdleCwgb3V0cHV0X3BhdHRlcm4sIGdyb3VwKToKICAgICAgICAgZGVwcyA9IFtdCiAgICAgICAgIGYgPSBvcGVuKGZuLCAicmIiKQotICAgICAgICBjX3JlID0gcmUuY29tcGlsZSgnXmNvcHkgIiguKikiJykKLSAgICAgICAgaV9yZSA9IHJlLmNvbXBpbGUoJ15pbmNsdWRlICIoXHcrKSIuKicpCisgICAgICAgIGNfcmUgPSByZS5jb21waWxlKHInXmNvcHkgIiguKikiJykKKyAgICAgICAgaV9yZSA9IHJlLmNvbXBpbGUocideaW5jbHVkZSAiKFx3KykiLionKQogICAgICAgICBmb3IgbCBpbiBmLnJlYWRsaW5lcygpOgogICAgICAgICAgICAgbCA9IGwuZGVjb2RlKCJsYXRpbi0xIikKICAgICAgICAgICAgIG0gPSBjX3JlLm1hdGNoKGwpIG9yIGlfcmUubWF0Y2gobCkKQEAgLTE1MiwxNCArMTUyLDE0IEBACiAgICAgICAgIGlmIGJwbiAhPSAnZ2xpYmMnOgogICAgICAgICAgICAgZC5zZXRWYXIoJ1JQUk9WSURFU18lcycgJSBwa2csIHBrZy5yZXBsYWNlKGJwbiwgJ2dsaWJjJykpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBjaGFybWFwX2RpciwgZmlsZV9yZWdleD0nXiguKilcLmd6JCcsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWNoYXJtYXAtJXMnLCBcCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgY2hhcm1hcF9kaXIsIGZpbGVfcmVnZXg9cideKC4qKVwuZ3okJywgb3V0cHV0X3BhdHRlcm49YnBuKyctY2hhcm1hcC0lcycsIFwKICAgICAgICAgZGVzY3JpcHRpb249J2NoYXJhY3RlciBtYXAgZm9yICVzIGVuY29kaW5nJywgaG9vaz1jYWxjX2NoYXJtYXBfZGVwcywgZXh0cmFfZGVwZW5kcz0nJykKIAogICAgIGRlZiBjYWxjX2xvY2FsZV9kZXBzKGZuLCBwa2csIGZpbGVfcmVnZXgsIG91dHB1dF9wYXR0ZXJuLCBncm91cCk6CiAgICAgICAgIGRlcHMgPSBbXQogICAgICAgICBmID0gb3BlbihmbiwgInJiIikKLSAgICAgICAgY19yZSA9IHJlLmNvbXBpbGUoJ15jb3B5ICIoLiopIicpCi0gICAgICAgIGlfcmUgPSByZS5jb21waWxlKCdeaW5jbHVkZSAiKFx3KykiLionKQorICAgICAgICBjX3JlID0gcmUuY29tcGlsZShyJ15jb3B5ICIoLiopIicpCisgICAgICAgIGlfcmUgPSByZS5jb21waWxlKHInXmluY2x1ZGUgIihcdyspIi4qJykKICAgICAgICAgZm9yIGwgaW4gZi5yZWFkbGluZXMoKToKICAgICAgICAgICAgIGwgPSBsLmRlY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBtID0gY19yZS5tYXRjaChsKSBvciBpX3JlLm1hdGNoKGwpCkBAIC0xNzMsMTMgKzE3MywxMyBAQAogICAgICAgICBpZiBicG4gIT0gJ2dsaWJjJzoKICAgICAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnLCBwa2cucmVwbGFjZShicG4sICdnbGliYycpKQogCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbG9jYWxlc19kaXIsIGZpbGVfcmVnZXg9JyguKiknLCBvdXRwdXRfcGF0dGVybj1icG4rJy1sb2NhbGVkYXRhLSVzJywgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInKC4qKScsIG91dHB1dF9wYXR0ZXJuPWJwbisnLWxvY2FsZWRhdGEtJXMnLCBcCiAgICAgICAgIGRlc2NyaXB0aW9uPSdsb2NhbGUgZGVmaW5pdGlvbiBmb3IgJXMnLCBob29rPWNhbGNfbG9jYWxlX2RlcHMsIGV4dHJhX2RlcGVuZHM9JycpCiAgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgZC5nZXRWYXIoJ1BBQ0tBR0VTJywgRmFsc2UpICsgJyAnICsgZC5nZXRWYXIoJ01MUFJFRklYJywgRmFsc2UpICsgYnBuICsgJy1nY29udicpCiAKICAgICB1c2VfYmluID0gZC5nZXRWYXIoIkdMSUJDX0lOVEVSTkFMX1VTRV9CSU5BUllfTE9DQUxFIikKIAotICAgIGRvdF9yZSA9IHJlLmNvbXBpbGUoIiguKilcLiguKikiKQorICAgIGRvdF9yZSA9IHJlLmNvbXBpbGUociIoLiopXC4oLiopIikKIAogICAgICMgUmVhZCBpbiBzdXBwb3J0ZWQgbG9jYWxlcyBhbmQgYXNzb2NpYXRlZCBlbmNvZGluZ3MKICAgICBzdXBwb3J0ZWQgPSB7fQpAQCAtMjM2LDYgKzIzNiw4IEBACiAgICAgICAgIGlmIHVzZV9jcm9zc19sb2NhbGVkZWYgPT0gIjEiOgogICAgICAgICAgICAgdGFyZ2V0X2FyY2ggPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQogICAgICAgICAgICAgbG9jYWxlX2FyY2hfb3B0aW9ucyA9IHsgXAorICAgICAgICAgICAgICAgICJhcmMiOiAgICAgIiAtLXVpbnQzMi1hbGlnbj00IC0tbGl0dGxlLWVuZGlhbiAiLCBcCisgICAgICAgICAgICAgICAgImFyY2ViIjogICAiIC0tdWludDMyLWFsaWduPTQgLS1iaWctZW5kaWFuICIsICAgIFwKICAgICAgICAgICAgICAgICAiYXJtIjogICAgICIgLS11aW50MzItYWxpZ249NCAtLWxpdHRsZS1lbmRpYW4gIiwgXAogICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgIiAtLXVpbnQzMi1hbGlnbj00IC0tYmlnLWVuZGlhbiAiLCAgICBcCiAgICAgICAgICAgICAgICAgImFhcmNoNjQiOiAiIC0tdWludDMyLWFsaWduPTQgLS1saXR0bGUtZW5kaWFuICIsICAgIFwKQEAgLTI3OCw3ICsyODAsNyBAQAogICAgICAgICAgICAgcWVtdV9vcHRpb25zID0gZC5nZXRWYXIoJ1FFTVVfT1BUSU9OUycpCiAKICAgICAgICAgICAgIGNtZCA9ICJQU0VVRE9fUkVMT0FERUQ9WUVTIFBBVEg9XCIlc1wiIEkxOE5QQVRIPVwiJXNcIiAlcyAtTCAlcyBcCi0gICAgICAgICAgICAgICAgLUUgTERfTElCUkFSWV9QQVRIPSVzICVzICVzL2Jpbi9sb2NhbGVkZWYgJXMiICUgXAorICAgICAgICAgICAgICAgIC1FIExEX0xJQlJBUllfUEFUSD0lcyAlcyAlcyR7YmFzZV9iaW5kaXJ9L2xvY2FsZWRlZiAlcyIgJSBcCiAgICAgICAgICAgICAgICAgKHBhdGgsIGkxOG5wYXRoLCBxZW11LCB0cmVlZGlyLCBsZGxpYmRpciwgcWVtdV9vcHRpb25zLCB0cmVlZGlyLCBsb2NhbGVkZWZfb3B0cykKIAogICAgICAgICBjb21tYW5kc1siJXMvJXMiICUgKG91dHB1dHBhdGgsIG5hbWUpXSA9IGNtZApAQCAtMjkwLDcgKzI5Miw3IEBACiAgICAgICAgIGQuc2V0VmFyKCdBTExPV19FTVBUWV8lcycgJSBwa2duYW1lLCAnMScpCiAgICAgICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICclcyAlcycgJSAocGtnbmFtZSwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykpKQogICAgICAgICBycHJvdmlkZXMgPSAnICVzdmlydHVhbC1sb2NhbGUtJXMnICUgKG1scHJlZml4LCBsZWdpdGltaXplX3BhY2thZ2VfbmFtZShuYW1lKSkKLSAgICAgICAgbSA9IHJlLm1hdGNoKCIoLiopXyguKikiLCBuYW1lKQorICAgICAgICBtID0gcmUubWF0Y2gociIoLiopXyguKikiLCBuYW1lKQogICAgICAgICBpZiBtOgogICAgICAgICAgICAgcnByb3ZpZGVzICs9ICcgJXN2aXJ0dWFsLWxvY2FsZS0lcycgJSAobWxwcmVmaXgsIG0uZ3JvdXAoMSkpCiAgICAgICAgIGQuc2V0VmFyKCdSUFJPVklERVNfJXMnICUgcGtnbmFtZSwgcnByb3ZpZGVzKQpAQCAtMzQzLDExICszNDUsMTQgQEAKICAgICAgICAgbWFrZWZpbGUgPSBvZS5wYXRoLmpvaW4oZC5nZXRWYXIoIldPUktESVIiKSwgImxvY2FsZS10cmVlIiwgIk1ha2VmaWxlIikKICAgICAgICAgbSA9IG9wZW4obWFrZWZpbGUsICJ3IikKICAgICAgICAgbS53cml0ZSgiYWxsOiAlc1xuXG4iICUgIiAiLmpvaW4oY29tbWFuZHMua2V5cygpKSkKLSAgICAgICAgZm9yIGNtZCBpbiBjb21tYW5kczoKKyAgICAgICAgdG90YWwgPSBsZW4oY29tbWFuZHMpCisgICAgICAgIGZvciBpLCBjbWQgaW4gZW51bWVyYXRlKGNvbW1hbmRzKToKICAgICAgICAgICAgIG0ud3JpdGUoY21kICsgIjpcbiIpCisgICAgICAgICAgICBtLndyaXRlKCJcdEBlY2hvICdQcm9ncmVzcyAlZC8lZCdcbiIgJSAoaSwgdG90YWwpKQogICAgICAgICAgICAgbS53cml0ZSgiXHQiICsgY29tbWFuZHNbY21kXSArICJcblxuIikKICAgICAgICAgbS5jbG9zZSgpCiAgICAgICAgIGQuc2V0VmFyKCJFWFRSQV9PRU1BS0UiLCAiLUMgJXMgJHtQQVJBTExFTF9NQUtFfSIgJSAob3MucGF0aC5kaXJuYW1lKG1ha2VmaWxlKSkpCisgICAgICAgIGQuc2V0VmFyRmxhZygib2VfcnVubWFrZSIsICJwcm9ncmVzcyIsICJvdXRvZjpQcm9ncmVzc1xzKFxkKykvKFxkKykiKQogICAgICAgICBiYi5ub3RlKCJFeGVjdXRpbmcgYmluYXJ5IGxvY2FsZSBnZW5lcmF0aW9uIG1ha2VmaWxlIikKICAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJvZV9ydW5tYWtlIiwgZCkKICAgICAgICAgYmIubm90ZSgiY29sbGVjdGluZyBiaW5hcnkgbG9jYWxlcyBmcm9tIGxvY2FsZSB0cmVlIikKQEAgLTM1NiwxMiArMzYxLDEyIEBACiAgICAgaWYgdXNlX2JpbiBpbiAoJ2NvbXBpbGUnLCAncHJlY29tcGlsZWQnKToKICAgICAgICAgbGNzcGxpdCA9IGQuZ2V0VmFyKCdHTElCQ19TUExJVF9MQ19QQUNLQUdFUycpCiAgICAgICAgIGlmIGxjc3BsaXQgYW5kIGludChsY3NwbGl0KToKLSAgICAgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGJpbmFyeV9sb2NhbGVzX2RpciwgZmlsZV9yZWdleD0nXiguKi9MQ19cdyspJywgXAorICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInXiguKi9MQ19cdyspJywgXAogICAgICAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJuPWJwbisnLWJpbmFyeS1sb2NhbGVkYXRhLSVzJywgXAogICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSdiaW5hcnkgbG9jYWxlIGRlZmluaXRpb24gZm9yICVzJywgcmVjdXJzaXZlPVRydWUsCiAgICAgICAgICAgICAgICAgaG9vaz1tZXRhcGtnX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2RpcnM9VHJ1ZSwgbWF0Y2hfcGF0aD1UcnVlKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PScoLiopJywgXAorICAgICAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmluYXJ5X2xvY2FsZXNfZGlyLCBmaWxlX3JlZ2V4PXInKC4qKScsIFwKICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVybj1icG4rJy1iaW5hcnktbG9jYWxlZGF0YS0lcycsIFwKICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0nYmluYXJ5IGxvY2FsZSBkZWZpbml0aW9uIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIGFsbG93X2RpcnM9VHJ1ZSkKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZS5iYmNsYXNzCmluZGV4IGFlYzY5OTkuLmVkOTFhNGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlLmJiY2xhc3MKQEAgLTMxNiw4ICszMTYsOCBAQAogICAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGlmIGEgcmVjaXBlIGhhcyBhbnkgTElDRU5TRV9GTEFHUyB0aGF0CiAgICAgYXJlbid0IHdoaXRlbGlzdGVkLgogCi0gICAgSWYgaXQgZG9lcywgaXQgcmV0dXJucyB0aGUgZmlyc3QgTElDRU5TRV9GTEFHUyBpdGVtIG1pc3NpbmcgZnJvbSB0aGUKLSAgICB3aGl0ZWxpc3QsIG9yIGFsbCBvZiB0aGUgTElDRU5TRV9GTEFHUyBpZiB0aGVyZSBpcyBubyB3aGl0ZWxpc3QuCisgICAgSWYgaXQgZG9lcywgaXQgcmV0dXJucyB0aGUgYWxsIExJQ0VOU0VfRkxBR1MgbWlzc2luZyBmcm9tIHRoZSB3aGl0ZWxpc3QsIG9yCisgICAgYWxsIG9mIHRoZSBMSUNFTlNFX0ZMQUdTIGlmIHRoZXJlIGlzIG5vIHdoaXRlbGlzdC4KIAogICAgIElmIGV2ZXJ5dGhpbmcgaXMgaXMgcHJvcGVybHkgd2hpdGVsaXN0ZWQsIGl0IHJldHVybnMgTm9uZS4KICAgICAiIiIKQEAgLTM1NCwyMiArMzU0LDIzIEBACiAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgZGVmIGFsbF9saWNlbnNlX2ZsYWdzX21hdGNoKGxpY2Vuc2VfZmxhZ3MsIHdoaXRlbGlzdCk6Ci0gICAgICAgICIiIiBSZXR1cm4gZmlyc3QgdW5tYXRjaGVkIGZsYWcsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgorICAgICAgICAiIiIgUmV0dXJuIGFsbCB1bm1hdGNoZWQgZmxhZ3MsIE5vbmUgaWYgYWxsIGZsYWdzIG1hdGNoICIiIgogICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgICAgIHNwbGl0X3doaXRlbGlzdCA9IHdoaXRlbGlzdC5zcGxpdCgpCisgICAgICAgIGZsYWdzID0gW10KICAgICAgICAgZm9yIGZsYWcgaW4gbGljZW5zZV9mbGFncy5zcGxpdCgpOgogICAgICAgICAgICAgaWYgbm90IGxpY2Vuc2VfZmxhZ19tYXRjaGVzKGZsYWcsIHNwbGl0X3doaXRlbGlzdCwgcG4pOgotICAgICAgICAgICAgICAgIHJldHVybiBmbGFnCi0gICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICAgICAgZmxhZ3MuYXBwZW5kKGZsYWcpCisgICAgICAgIHJldHVybiBmbGFncyBpZiBmbGFncyBlbHNlIE5vbmUKIAogICAgIGxpY2Vuc2VfZmxhZ3MgPSBkLmdldFZhcignTElDRU5TRV9GTEFHUycpCiAgICAgaWYgbGljZW5zZV9mbGFnczoKICAgICAgICAgd2hpdGVsaXN0ID0gZC5nZXRWYXIoJ0xJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUJykKICAgICAgICAgaWYgbm90IHdoaXRlbGlzdDoKLSAgICAgICAgICAgIHJldHVybiBsaWNlbnNlX2ZsYWdzCi0gICAgICAgIHVubWF0Y2hlZF9mbGFnID0gYWxsX2xpY2Vuc2VfZmxhZ3NfbWF0Y2gobGljZW5zZV9mbGFncywgd2hpdGVsaXN0KQotICAgICAgICBpZiB1bm1hdGNoZWRfZmxhZzoKLSAgICAgICAgICAgIHJldHVybiB1bm1hdGNoZWRfZmxhZworICAgICAgICAgICAgcmV0dXJuIGxpY2Vuc2VfZmxhZ3Muc3BsaXQoKQorICAgICAgICB1bm1hdGNoZWRfZmxhZ3MgPSBhbGxfbGljZW5zZV9mbGFnc19tYXRjaChsaWNlbnNlX2ZsYWdzLCB3aGl0ZWxpc3QpCisgICAgICAgIGlmIHVubWF0Y2hlZF9mbGFnczoKKyAgICAgICAgICAgIHJldHVybiB1bm1hdGNoZWRfZmxhZ3MKICAgICByZXR1cm4gTm9uZQogCiBkZWYgY2hlY2tfbGljZW5zZV9mb3JtYXQoZCk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlX2ltYWdlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9saWNlbnNlX2ltYWdlLmJiY2xhc3MKaW5kZXggYjY1ZmY1Ni4uNjc1MDAzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbGljZW5zZV9pbWFnZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL2xpY2Vuc2VfaW1hZ2UuYmJjbGFzcwpAQCAtMzIsMTEgKzMyLDEyIEBACiAKICAgICByb290ZnNfbGljZW5zZV9tYW5pZmVzdCA9IG9zLnBhdGguam9pbihkLmdldFZhcignTElDRU5TRV9ESVJFQ1RPUlknKSwKICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdJTUFHRV9OQU1FJyksICdsaWNlbnNlLm1hbmlmZXN0JykKLSAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIHJvb3Rmc19saWNlbnNlX21hbmlmZXN0LCBwa2dfZGljKQorICAgIHdyaXRlX2xpY2Vuc2VfZmlsZXMoZCwgcm9vdGZzX2xpY2Vuc2VfbWFuaWZlc3QsIHBrZ19kaWMsIHJvb3Rmcz1UcnVlKQogfQogCi1kZWYgd3JpdGVfbGljZW5zZV9maWxlcyhkLCBsaWNlbnNlX21hbmlmZXN0LCBwa2dfZGljKToKK2RlZiB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGxpY2Vuc2VfbWFuaWZlc3QsIHBrZ19kaWMsIHJvb3Rmcz1UcnVlKToKICAgICBpbXBvcnQgcmUKKyAgICBpbXBvcnQgc3RhdAogCiAgICAgYmFkX2xpY2Vuc2VzID0gKGQuZ2V0VmFyKCJJTkNPTVBBVElCTEVfTElDRU5TRSIpIG9yICIiKS5zcGxpdCgpCiAgICAgYmFkX2xpY2Vuc2VzID0gbWFwKGxhbWJkYSBsOiBjYW5vbmljYWxfbGljZW5zZShkLCBsKSwgYmFkX2xpY2Vuc2VzKQpAQCAtOTQsNyArOTUsNyBAQAogICAgICMgV2l0aCBib3RoIG9wdGlvbnMgc2V0IHdlIHNlZSBhIC41IE0gaW5jcmVhc2UgaW4gY29yZS1pbWFnZS1taW5pbWFsCiAgICAgY29weV9saWNfbWFuaWZlc3QgPSBkLmdldFZhcignQ09QWV9MSUNfTUFOSUZFU1QnKQogICAgIGNvcHlfbGljX2RpcnMgPSBkLmdldFZhcignQ09QWV9MSUNfRElSUycpCi0gICAgaWYgY29weV9saWNfbWFuaWZlc3QgPT0gIjEiOgorICAgIGlmIHJvb3RmcyBhbmQgY29weV9saWNfbWFuaWZlc3QgPT0gIjEiOgogICAgICAgICByb290ZnNfbGljZW5zZV9kaXIgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ0lNQUdFX1JPT1RGUycpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzcicsICdzaGFyZScsICdjb21tb24tbGljZW5zZXMnKQogICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIocm9vdGZzX2xpY2Vuc2VfZGlyKQpAQCAtMTQ2LDYgKzE0NywxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpbmsocGtnX2xpY2Vuc2UsIHBrZ19yb290ZnNfbGljZW5zZSkKKyAgICAgICAgICAgICMgRml4dXAgZmlsZSBvd25lcnNoaXAgYW5kIHBlcm1pc3Npb25zCisgICAgICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocm9vdGZzX2xpY2Vuc2VfZGlyKToKKyAgICAgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICAgICAgcCA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZikKKyAgICAgICAgICAgICAgICAgICAgb3MubGNob3duKHAsIDAsIDApCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzbGluayhwKToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9zLmNobW9kKHAsIHN0YXQuU19JUlVTUiB8IHN0YXQuU19JV1VTUiB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JUk9USCkKKyAgICAgICAgICAgICAgICBmb3IgZGlyIGluIGRpcnM6CisgICAgICAgICAgICAgICAgICAgIHAgPSBvcy5wYXRoLmpvaW4od2Fsa3Jvb3QsIGRpcikKKyAgICAgICAgICAgICAgICAgICAgb3MubGNob3duKHAsIDAsIDApCisgICAgICAgICAgICAgICAgICAgIG9zLmNobW9kKHAsIHN0YXQuU19JUldYVSB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JWEdSUCB8IHN0YXQuU19JUk9USCB8IHN0YXQuU19JWE9USCkKKwogCiAKIGRlZiBsaWNlbnNlX2RlcGxveWVkX21hbmlmZXN0KGQpOgpAQCAtMTc2LDcgKzE4OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLmdldFZhcignSU1BR0VfTkFNRScpKQogICAgIGJiLnV0aWxzLm1rZGlyaGllcihsaWNfbWFuaWZlc3RfZGlyKQogICAgIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4obGljX21hbmlmZXN0X2RpciwgJ2ltYWdlX2xpY2Vuc2UubWFuaWZlc3QnKQotICAgIHdyaXRlX2xpY2Vuc2VfZmlsZXMoZCwgaW1hZ2VfbGljZW5zZV9tYW5pZmVzdCwgbWFuX2RpYykKKyAgICB3cml0ZV9saWNlbnNlX2ZpbGVzKGQsIGltYWdlX2xpY2Vuc2VfbWFuaWZlc3QsIG1hbl9kaWMsIHJvb3Rmcz1GYWxzZSkKIAogZGVmIGdldF9kZXBsb3llZF9kZXBlbmRlbmNpZXMoZCk6CiAgICAgIiIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9tY2V4dGVuZC5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbWNleHRlbmQuYmJjbGFzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjhmOTYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbWNleHRlbmQuYmJjbGFzcwpAQCAtMCwwICsxLDE2IEBACitweXRob24gbWNleHRlbmRfdmlydGNsYXNzX2hhbmRsZXIgKCkgeworICAgIGNscyA9IGUuZGF0YS5nZXRWYXIoIkJCRVhURU5EQ1VSUiIpCisgICAgdmFyaWFudCA9IGUuZGF0YS5nZXRWYXIoIkJCRVhURU5EVkFSSUFOVCIpCisgICAgaWYgY2xzICE9ICJtY2V4dGVuZCIgb3Igbm90IHZhcmlhbnQ6CisgICAgICAgIHJldHVybgorCisgICAgb3ZlcnJpZGUgPSAiOnZpcnRjbGFzcy1tY2V4dGVuZC0iICsgdmFyaWFudAorCisgICAgZS5kYXRhLnNldFZhcigiUE4iLCBlLmRhdGEuZ2V0VmFyKCJQTiIsIEZhbHNlKSArICItIiArIHZhcmlhbnQpCisgICAgZS5kYXRhLnNldFZhcigiTUNOQU1FIiwgdmFyaWFudCkKKyAgICBlLmRhdGEuc2V0VmFyKCJPVkVSUklERVMiLCBlLmRhdGEuZ2V0VmFyKCJPVkVSUklERVMiLCBGYWxzZSkgKyBvdmVycmlkZSkKK30KKworYWRkaGFuZGxlciBtY2V4dGVuZF92aXJ0Y2xhc3NfaGFuZGxlcgorbWNleHRlbmRfdmlydGNsYXNzX2hhbmRsZXJbZXZlbnRtYXNrXSA9ICJiYi5ldmVudC5SZWNpcGVQcmVGaW5hbGlzZSIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbWVzb24uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL21lc29uLmJiY2xhc3MKaW5kZXggM2NiZGNmMS4uMTE1ZDFhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbWVzb24uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9tZXNvbi5iYmNsYXNzCkBAIC01NCw4ICs1NCwxMiBAQAogICAgICAgICByZXR1cm4gJ3BwYycKICAgICBlbGlmIGFyY2ggPT0gJ3Bvd2VycGM2NCc6CiAgICAgICAgIHJldHVybiAncHBjNjQnCisgICAgZWxpZiBhcmNoID09ICdhcm1lYic6CisgICAgICAgIHJldHVybiAnYXJtJwogICAgIGVsaWYgYXJjaCA9PSAnbWlwc2VsJzoKICAgICAgICAgcmV0dXJuICdtaXBzJworICAgIGVsaWYgYXJjaCA9PSAnbWlwczY0ZWwnOgorICAgICAgICByZXR1cm4gJ21pcHM2NCcKICAgICBlbGlmIHJlLm1hdGNoKHIiaVszLTZdODYiLCBhcmNoKToKICAgICAgICAgcmV0dXJuICJ4ODYiCiAgICAgZWxzZToKQEAgLTg1LDYgKzg5LDcgQEAKIHN0cmlwID0gJHtAbWVzb25fYXJyYXkoJ1NUUklQJywgZCl9CiByZWFkZWxmID0gJHtAbWVzb25fYXJyYXkoJ1JFQURFTEYnLCBkKX0KIHBrZ2NvbmZpZyA9ICdwa2ctY29uZmlnJworbGx2bS1jb25maWcgPSAnbGx2bS1jb25maWc4LjAuMCcKIAogW3Byb3BlcnRpZXNdCiBuZWVkc19leGVfd3JhcHBlciA9IHRydWUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL21ldGFkYXRhX3NjbS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKaW5kZXggZmE3OTFmMC4uNThiYjRjNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvbWV0YWRhdGFfc2NtLmJiY2xhc3MKQEAgLTMsNTUgKzMsMTUgQEAKIAogZGVmIGJhc2VfZGV0ZWN0X3JldmlzaW9uKGQpOgogICAgIHBhdGggPSBiYXNlX2dldF9zY21iYXNlcGF0aChkKQotCi0gICAgc2NtcyA9IFtiYXNlX2dldF9tZXRhZGF0YV9naXRfcmV2aXNpb25dCi0KLSAgICBmb3Igc2NtIGluIHNjbXM6Ci0gICAgICAgIHJldiA9IHNjbShwYXRoLCBkKQotICAgICAgICBpZiByZXYgIT0gIjx1bmtub3duPiI6Ci0gICAgICAgICAgICByZXR1cm4gcmV2Ci0KLSAgICByZXR1cm4gIjx1bmtub3duPiIKKyAgICByZXR1cm4gYmFzZV9nZXRfbWV0YWRhdGFfZ2l0X3JldmlzaW9uKHBhdGgsIGQpCiAKIGRlZiBiYXNlX2RldGVjdF9icmFuY2goZCk6CiAgICAgcGF0aCA9IGJhc2VfZ2V0X3NjbWJhc2VwYXRoKGQpCi0KLSAgICBzY21zID0gW2Jhc2VfZ2V0X21ldGFkYXRhX2dpdF9icmFuY2hdCi0KLSAgICBmb3Igc2NtIGluIHNjbXM6Ci0gICAgICAgIHJldiA9IHNjbShwYXRoLCBkKQotICAgICAgICBpZiByZXYgIT0gIjx1bmtub3duPiI6Ci0gICAgICAgICAgICByZXR1cm4gcmV2LnN0cmlwKCkKLQotICAgIHJldHVybiAiPHVua25vd24+IgorICAgIHJldHVybiBiYXNlX2dldF9tZXRhZGF0YV9naXRfYnJhbmNoKHBhdGgsIGQpCiAKIGRlZiBiYXNlX2dldF9zY21iYXNlcGF0aChkKToKICAgICByZXR1cm4gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdDT1JFQkFTRScpLCAnbWV0YScpCiAKLWRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9icmFuY2gocGF0aCwgZCk6Ci0gICAgbW9ub3RvbmVfYnJhbmNoID0gIjx1bmtub3duPiIKLSAgICB0cnk6Ci0gICAgICAgIHdpdGggb3BlbigiJXMvX01UTi9vcHRpb25zIiAlIHBhdGgpIGFzIGY6Ci0gICAgICAgICAgICBtb25vdG9uZV9icmFuY2ggPSBmLnJlYWQoKS5zdHJpcCgpCi0gICAgICAgICAgICBpZiBtb25vdG9uZV9icmFuY2guc3RhcnRzd2l0aCggImRhdGFiYXNlIiApOgotICAgICAgICAgICAgICAgIG1vbm90b25lX2JyYW5jaF93b3JkcyA9IG1vbm90b25lX2JyYW5jaC5zcGxpdCgpCi0gICAgICAgICAgICAgICAgbW9ub3RvbmVfYnJhbmNoID0gbW9ub3RvbmVfYnJhbmNoX3dvcmRzWyBtb25vdG9uZV9icmFuY2hfd29yZHMuaW5kZXgoICJicmFuY2giICkrMV1bMTotMV0KLSAgICBleGNlcHQ6Ci0gICAgICAgIHBhc3MKLSAgICByZXR1cm4gbW9ub3RvbmVfYnJhbmNoCi0KLWRlZiBiYXNlX2dldF9tZXRhZGF0YV9tb25vdG9uZV9yZXZpc2lvbihwYXRoLCBkKToKLSAgICBtb25vdG9uZV9yZXZpc2lvbiA9ICI8dW5rbm93bj4iCi0gICAgdHJ5OgotICAgICAgICB3aXRoIG9wZW4oIiVzL19NVE4vcmV2aXNpb24iICUgcGF0aCkgYXMgZjoKLSAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uID0gZi5yZWFkKCkuc3RyaXAoKQotICAgICAgICAgICAgaWYgbW9ub3RvbmVfcmV2aXNpb24uc3RhcnRzd2l0aCggImZvcm1hdF92ZXJzaW9uIiApOgotICAgICAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uX3dvcmRzID0gbW9ub3RvbmVfcmV2aXNpb24uc3BsaXQoKQotICAgICAgICAgICAgICAgIG1vbm90b25lX3JldmlzaW9uID0gbW9ub3RvbmVfcmV2aXNpb25fd29yZHNbIG1vbm90b25lX3JldmlzaW9uX3dvcmRzLmluZGV4KCAib2xkX3JldmlzaW9uIiApKzFdWzE6LTFdCi0gICAgZXhjZXB0IElPRXJyb3I6Ci0gICAgICAgIHBhc3MKLSAgICByZXR1cm4gbW9ub3RvbmVfcmV2aXNpb24KLQogZGVmIGJhc2VfZ2V0X21ldGFkYXRhX3N2bl9yZXZpc2lvbihwYXRoLCBkKToKICAgICAjIFRoaXMgb25seSB3b3JrcyB3aXRoIG9sZGVyIHN1YnZlcnNpb24uIEZvciBuZXdlciB2ZXJzaW9ucyAKICAgICAjIHRoaXMgZnVuY3Rpb24gd2lsbCBuZWVkIHRvIGJlIGZpeGVkIGJ5IHNvbWVvbmUgaW50ZXJlc3RlZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvbW9kdWxlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcwppbmRleCBlMzQ0OTYwLi5jMGRmYTM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9tb2R1bGUuYmJjbGFzcwpAQCAtNDgsNiArNDgsNyBAQAogbW9kdWxlX2RvX2luc3RhbGwoKSB7CiAJdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTIExERkxBR1MKIAlvZV9ydW5tYWtlIERFUE1PRD1lY2hvIE1PRExJQj0iJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbW9kdWxlcy8ke0tFUk5FTF9WRVJTSU9OfSIgXAorCSAgICAgICAgICAgSU5TVEFMTF9GV19QQVRIPSIke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfS9maXJtd2FyZSIgXAogCSAgICAgICAgICAgQ0M9IiR7S0VSTkVMX0NDfSIgTEQ9IiR7S0VSTkVMX0xEfSIgXAogCSAgICAgICAgICAgTz0ke1NUQUdJTkdfS0VSTkVMX0JVSUxERElSfSBcCiAJICAgICAgICAgICAke01PRFVMRVNfSU5TVEFMTF9UQVJHRVR9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9tdWx0aWxpYi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvbXVsdGlsaWIuYmJjbGFzcwppbmRleCA2YzY0OTlhLi4yYjc2MWYzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9tdWx0aWxpYi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL211bHRpbGliLmJiY2xhc3MKQEAgLTg4LDggKzg4LDYgQEAKIGFkZGhhbmRsZXIgbXVsdGlsaWJfdmlydGNsYXNzX2hhbmRsZXIKIG11bHRpbGliX3ZpcnRjbGFzc19oYW5kbGVyW2V2ZW50bWFza10gPSAiYmIuZXZlbnQuUmVjaXBlUHJlRmluYWxpc2UiCiAKLVNUQUdJTkdDQ19wcmVwZW5kID0gIiR7QkJFWFRFTkRWQVJJQU5UfS0iCi0KIHB5dGhvbiBfX2Fub255bW91cyAoKSB7CiAgICAgdmFyaWFudCA9IGQuZ2V0VmFyKCJCQkVYVEVORFZBUklBTlQiKQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9uYXRpdmUuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCmluZGV4IGRkY2NmZTIuLmU5ZjZjNzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL25hdGl2ZS5iYmNsYXNzCkBAIC0xMTksNiArMTE5LDkgQEAKICMgcmV1c2VkIGlmIHdlIG1hbmlwdWxhdGUgdGhlIHBhdGhzLgogU1NUQVRFX1NDQU5fQ01EID89ICIke1NTVEFURV9TQ0FOX0NNRF9OQVRJVkV9IgogCisjIE5vIHN0cmlwIHN5c3Jvb3Qgd2hlbiBERUJVR19CVUlMRCBpcyBlbmFibGVkCitJTkhJQklUX1NZU1JPT1RfU1RSSVAgPz0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJzEnLCAnJywgZCl9IgorCiBweXRob24gbmF0aXZlX3ZpcnRjbGFzc19oYW5kbGVyICgpIHsKICAgICBwbiA9IGUuZGF0YS5nZXRWYXIoIlBOIikKICAgICBpZiBub3QgcG4uZW5kc3dpdGgoIi1uYXRpdmUiKToKQEAgLTE4OSwzICsxOTIsNiBAQAogZG9fcG9wdWxhdGVfc3lzcm9vdFtzdGFtcC1leHRyYS1pbmZvXSA9ICIiCiAKIFVTRV9OTFMgPSAibm8iCisKK1JFQ0lQRVJERVBUQVNLID0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiCitkb19wb3B1bGF0ZV9zeXNyb290W3JkZXB0YXNrXSA9ICIke1JFQ0lQRVJERVBUQVNLfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2UuYmJjbGFzcwppbmRleCA2NmU0MjNlLi40YzBhODU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZS5iYmNsYXNzCkBAIC03NSw3ICs3NSw3IEBACiAgICAgICAgICAgICByZXR1cm4gKCdcXHUlcycgJSBjcCkuZW5jb2RlKCdsYXRpbi0xJykuZGVjb2RlKCd1bmljb2RlX2VzY2FwZScpCiAKICAgICAjIEhhbmRsZSB1bmljb2RlIGNvZGVwb2ludHMgZW5jb2RlZCBhcyA8VTAxMjM+LCBhcyBpbiBnbGliYyBsb2NhbGUgZmlsZXMuCi0gICAgcyA9IHJlLnN1YignPFUoWzAtOUEtRmEtZl17MSw0fSk+JywgZml4dXRmLCBzKQorICAgIHMgPSByZS5zdWIocic8VShbMC05QS1GYS1mXXsxLDR9KT4nLCBmaXh1dGYsIHMpCiAKICAgICAjIFJlbWFpbmluZyBwYWNrYWdlIG5hbWUgdmFsaWRpdHkgZml4ZXMKICAgICByZXR1cm4gcy5sb3dlcigpLnJlcGxhY2UoJ18nLCAnLScpLnJlcGxhY2UoJ0AnLCAnKycpLnJlcGxhY2UoJywnLCAnKycpLnJlcGxhY2UoJy8nLCAnLScpCkBAIC0zNDQsNyArMzQ0LDcgQEAKIAogICAgIHJldHVybiBkZWJ1Z2ZpbGVzLmtleXMoKQogCi1kZWYgYXBwZW5kX3NvdXJjZV9pbmZvKGZpbGUsIHNvdXJjZWZpbGUsIGQsIGZhdGFsPVRydWUpOgorZGVmIHNvdXJjZV9pbmZvKGZpbGUsIGQsIGZhdGFsPVRydWUpOgogICAgIGltcG9ydCBzdWJwcm9jZXNzCiAKICAgICBjbWQgPSBbImR3YXJmc3JjZmlsZXMiLCBmaWxlXQpAQCAtMzYzLDIyICszNjMsMTUgQEAKICAgICAgICAgYmIubm90ZShtc2cpCiAKICAgICBkZWJ1Z3NvdXJjZXMgPSBwYXJzZV9kZWJ1Z3NvdXJjZXNfZnJvbV9kd2FyZnNyY2ZpbGVzX291dHB1dChvdXRwdXQpCi0gICAgIyBmaWxlbmFtZXMgYXJlIG51bGwtc2VwYXJhdGVkIC0gdGhpcyBpcyBhbiBhcnRlZmFjdCBvZiB0aGUgcHJldmlvdXMgdXNlCi0gICAgIyBvZiBycG0ncyBkZWJ1Z2VkaXQsIHdoaWNoIHdhcyB3cml0aW5nIHRoZW0gb3V0IHRoYXQgd2F5LCBhbmQgdGhlIGNvZGUgZWxzZXdoZXJlCi0gICAgIyBpcyBzdGlsbCBhc3N1bWluZyB0aGF0LgotICAgIGRlYnVnbGlzdG91dHB1dCA9ICdcMCcuam9pbihkZWJ1Z3NvdXJjZXMpICsgJ1wwJwotICAgIGxmID0gYmIudXRpbHMubG9ja2ZpbGUoc291cmNlZmlsZSArICIubG9jayIpCi0gICAgd2l0aCBvcGVuKHNvdXJjZWZpbGUsICdhJykgYXMgc2Y6Ci0gICAgICAgIHNmLndyaXRlKGRlYnVnbGlzdG91dHB1dCkKLSAgICBiYi51dGlscy51bmxvY2tmaWxlKGxmKQogCisgICAgcmV0dXJuIGxpc3QoZGVidWdzb3VyY2VzKQogCi1kZWYgc3BsaXRkZWJ1Z2luZm8oZmlsZSwgZHZhciwgZGVidWdkaXIsIGRlYnVnbGliZGlyLCBkZWJ1Z2FwcGVuZCwgZGVidWdzcmNkaXIsIHNvdXJjZWZpbGUsIGQpOgorZGVmIHNwbGl0ZGVidWdpbmZvKGZpbGUsIGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBkKToKICAgICAjIEZ1bmN0aW9uIHRvIHNwbGl0IGEgc2luZ2xlIGZpbGUgaW50byB0d28gY29tcG9uZW50cywgb25lIGlzIHRoZSBzdHJpcHBlZAogICAgICMgdGFyZ2V0IHN5c3RlbSBiaW5hcnksIHRoZSBvdGhlciBjb250YWlucyBhbnkgZGVidWdnaW5nIGluZm9ybWF0aW9uLiBUaGUKICAgICAjIHR3byBmaWxlcyBhcmUgbGlua2VkIHRvIHJlZmVyZW5jZSBlYWNoIG90aGVyLgogICAgICMKLSAgICAjIHNvdXJjZWZpbGUgaXMgYWxzbyBnZW5lcmF0ZWQgY29udGFpbmluZyBhIGxpc3Qgb2YgZGVidWdzb3VyY2VzCisgICAgIyByZXR1cm4gYSBtYXBwaW5nIG9mIGZpbGVzOmRlYnVnc291cmNlcwogCiAgICAgaW1wb3J0IHN0YXQKICAgICBpbXBvcnQgc3VicHJvY2VzcwpAQCAtMzg2LDYgKzM3OSw3IEBACiAgICAgc3JjID0gZmlsZVtsZW4oZHZhcik6XQogICAgIGRlc3QgPSBkZWJ1Z2xpYmRpciArIG9zLnBhdGguZGlybmFtZShzcmMpICsgZGVidWdkaXIgKyAiLyIgKyBvcy5wYXRoLmJhc2VuYW1lKHNyYykgKyBkZWJ1Z2FwcGVuZAogICAgIGRlYnVnZmlsZSA9IGR2YXIgKyBkZXN0CisgICAgc291cmNlcyA9IFtdCiAKICAgICAjIFNwbGl0IHRoZSBmaWxlLi4uCiAgICAgYmIudXRpbHMubWtkaXJoaWVyKG9zLnBhdGguZGlybmFtZShkZWJ1Z2ZpbGUpKQpAQCAtMzk3LDcgKzM5MSw3IEBACiAKICAgICAjIFdlIGlnbm9yZSBrZXJuZWwgbW9kdWxlcywgd2UgZG9uJ3QgZ2VuZXJhdGUgZGVidWcgaW5mbyBmaWxlcy4KICAgICBpZiBmaWxlLmZpbmQoIi9saWIvbW9kdWxlcy8iKSAhPSAtMSBhbmQgZmlsZS5lbmRzd2l0aCgiLmtvIik6Ci0gICAgICAgIHJldHVybiAxCisgICAgICAgIHJldHVybiAoZmlsZSwgc291cmNlcykKIAogICAgIG5ld21vZGUgPSBOb25lCiAgICAgaWYgbm90IG9zLmFjY2VzcyhmaWxlLCBvcy5XX09LKSBvciBvcy5hY2Nlc3MoZmlsZSwgb3MuUl9PSyk6CkBAIC00MDcsNyArNDAxLDcgQEAKIAogICAgICMgV2UgbmVlZCB0byBleHRyYWN0IHRoZSBkZWJ1ZyBzcmMgaW5mb3JtYXRpb24gaGVyZS4uLgogICAgIGlmIGRlYnVnc3JjZGlyOgotICAgICAgICBhcHBlbmRfc291cmNlX2luZm8oZmlsZSwgc291cmNlZmlsZSwgZCkKKyAgICAgICAgc291cmNlcyA9IHNvdXJjZV9pbmZvKGZpbGUsIGQpCiAKICAgICBiYi51dGlscy5ta2RpcmhpZXIob3MucGF0aC5kaXJuYW1lKGRlYnVnZmlsZSkpCiAKQEAgLTQxOSwxNyArNDEzLDI2IEBACiAgICAgaWYgbmV3bW9kZToKICAgICAgICAgb3MuY2htb2QoZmlsZSwgb3JpZ21vZGUpCiAKLSAgICByZXR1cm4gMAorICAgIHJldHVybiAoZmlsZSwgc291cmNlcykKIAotZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIGQpOgorZGVmIGNvcHlkZWJ1Z3NvdXJjZXMoZGVidWdzcmNkaXIsIHNvdXJjZXMsIGQpOgogICAgICMgVGhlIGRlYnVnIHNyYyBpbmZvcm1hdGlvbiB3cml0dGVuIG91dCB0byBzb3VyY2VmaWxlIGlzIGZ1cnRoZXIgcHJvY2Vzc2VkCiAgICAgIyBhbmQgY29waWVkIHRvIHRoZSBkZXN0aW5hdGlvbiBoZXJlLgogCiAgICAgaW1wb3J0IHN0YXQKICAgICBpbXBvcnQgc3VicHJvY2VzcwogCi0gICAgc291cmNlZmlsZSA9IGQuZXhwYW5kKCIke1dPUktESVJ9L2RlYnVnc291cmNlcy5saXN0IikKLSAgICBpZiBkZWJ1Z3NyY2RpciBhbmQgb3MucGF0aC5pc2ZpbGUoc291cmNlZmlsZSk6CisgICAgaWYgZGVidWdzcmNkaXIgYW5kIHNvdXJjZXM6CisgICAgICAgIHNvdXJjZWZpbGUgPSBkLmV4cGFuZCgiJHtXT1JLRElSfS9kZWJ1Z3NvdXJjZXMubGlzdCIpCisgICAgICAgIGJiLnV0aWxzLnJlbW92ZShzb3VyY2VmaWxlKQorCisgICAgICAgICMgZmlsZW5hbWVzIGFyZSBudWxsLXNlcGFyYXRlZCAtIHRoaXMgaXMgYW4gYXJ0ZWZhY3Qgb2YgdGhlIHByZXZpb3VzIHVzZQorICAgICAgICAjIG9mIHJwbSdzIGRlYnVnZWRpdCwgd2hpY2ggd2FzIHdyaXRpbmcgdGhlbSBvdXQgdGhhdCB3YXksIGFuZCB0aGUgY29kZSBlbHNld2hlcmUKKyAgICAgICAgIyBpcyBzdGlsbCBhc3N1bWluZyB0aGF0LgorICAgICAgICBkZWJ1Z2xpc3RvdXRwdXQgPSAnXDAnLmpvaW4oc291cmNlcykgKyAnXDAnCisgICAgICAgIHdpdGggb3Blbihzb3VyY2VmaWxlLCAnYScpIGFzIHNmOgorICAgICAgICAgICBzZi53cml0ZShkZWJ1Z2xpc3RvdXRwdXQpCisKICAgICAgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKICAgICAgICAgc3RyaXAgPSBkLmdldFZhcigiU1RSSVAiKQogICAgICAgICBvYmpjb3B5ID0gZC5nZXRWYXIoIk9CSkNPUFkiKQpAQCAtNDcxLDcgKzQ3NCw4IEBACiAKICAgICAgICAgIyBjcGlvIHNlZW1zIHRvIGhhdmUgYSBidWcgd2l0aCAtbEwgdG9nZXRoZXIgYW5kIHN5bWJvbGljIGxpbmtzIGFyZSBqdXN0IGNvcGllZCwgbm90IGRlcmVmZXJlbmNlZC4KICAgICAgICAgIyBXb3JrIGFyb3VuZCB0aGlzIGJ5IG1hbnVhbGx5IGZpbmRpbmcgYW5kIGNvcHlpbmcgYW55IHN5bWJvbGljIGxpbmtzIHRoYXQgbWFkZSBpdCB0aHJvdWdoLgotICAgICAgICBjbWQgPSAiZmluZCAlcyVzIC10eXBlIGwgLXByaW50MCAtZGVsZXRlIHwgc2VkIHMjJXMlcy8jI2cgfCAoY2QgJyVzJyA7IGNwaW8gLXBkMG1MIC0tbm8tcHJlc2VydmUtb3duZXIgJyVzJXMnIDI+L2Rldi9udWxsKSIgJSAoZHZhciwgZGVidWdzcmNkaXIsIGR2YXIsIGRlYnVnc3JjZGlyLCB3b3JrcGFyZW50ZGlyLCBkdmFyLCBkZWJ1Z3NyY2RpcikKKyAgICAgICAgY21kID0gImZpbmQgJXMlcyAtdHlwZSBsIC1wcmludDAgLWRlbGV0ZSB8IHNlZCBzIyVzJXMvIyNnIHwgKGNkICclcycgOyBjcGlvIC1wZDBtTCAtLW5vLXByZXNlcnZlLW93bmVyICclcyVzJykiICUgXAorICAgICAgICAgICAgICAgIChkdmFyLCBkZWJ1Z3NyY2RpciwgZHZhciwgZGVidWdzcmNkaXIsIHdvcmtwYXJlbnRkaXIsIGR2YXIsIGRlYnVnc3JjZGlyKQogICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChjbWQsIHNoZWxsPVRydWUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKIAogICAgICAgICAjIFRoZSBjb3B5IGJ5IGNwaW8gbWF5IGhhdmUgcmVzdWx0ZWQgaW4gc29tZSBlbXB0eSBkaXJlY3RvcmllcyEgIFJlbW92ZSB0aGVzZQpAQCAtOTMyLDkgKzkzNiw2IEBACiAgICAgICAgIGRlYnVnbGliZGlyID0gIiIKICAgICAgICAgZGVidWdzcmNkaXIgPSAiL3Vzci9zcmMvZGVidWciCiAKLSAgICBzb3VyY2VmaWxlID0gZC5leHBhbmQoIiR7V09SS0RJUn0vZGVidWdzb3VyY2VzLmxpc3QiKQotICAgIGJiLnV0aWxzLnJlbW92ZShzb3VyY2VmaWxlKQotCiAgICAgIwogICAgICMgRmlyc3QgbGV0cyBmaWd1cmUgb3V0IGFsbCBvZiB0aGUgZmlsZXMgd2UgbWF5IGhhdmUgdG8gcHJvY2VzcyAuLi4gZG8gdGhpcyBvbmx5IG9uY2UhCiAgICAgIwpAQCAtMTAzOSwxMSArMTA0MCwxNSBAQAogICAgICMgRmlyc3QgbGV0cyBwcm9jZXNzIGRlYnVnIHNwbGl0dGluZwogICAgICMKICAgICBpZiAoZC5nZXRWYXIoJ0lOSElCSVRfUEFDS0FHRV9ERUJVR19TUExJVCcpICE9ICcxJyk6Ci0gICAgICAgIG9lLnV0aWxzLm11bHRpcHJvY2Vzc19sYXVuY2goc3BsaXRkZWJ1Z2luZm8sIGxpc3QoZWxmZmlsZXMpLCBkLCBleHRyYWFyZ3M9KGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBzb3VyY2VmaWxlLCBkKSkKKyAgICAgICAgcmVzdWx0cyA9IG9lLnV0aWxzLm11bHRpcHJvY2Vzc19sYXVuY2goc3BsaXRkZWJ1Z2luZm8sIGxpc3QoZWxmZmlsZXMpLCBkLCBleHRyYWFyZ3M9KGR2YXIsIGRlYnVnZGlyLCBkZWJ1Z2xpYmRpciwgZGVidWdhcHBlbmQsIGRlYnVnc3JjZGlyLCBkKSkKIAogICAgICAgICBpZiBkZWJ1Z3NyY2RpciBhbmQgbm90IHRhcmdldG9zLnN0YXJ0c3dpdGgoIm1pbmd3Iik6CiAgICAgICAgICAgICBmb3IgZmlsZSBpbiBzdGF0aWNsaWJzOgotICAgICAgICAgICAgICAgIGFwcGVuZF9zb3VyY2VfaW5mbyhmaWxlLCBzb3VyY2VmaWxlLCBkLCBmYXRhbD1GYWxzZSkKKyAgICAgICAgICAgICAgICByZXN1bHRzLmV4dGVuZChzb3VyY2VfaW5mbyhmaWxlLCBkLCBmYXRhbD1GYWxzZSkpCisKKyAgICAgICAgc291cmNlcyA9IHNldCgpCisgICAgICAgIGZvciByIGluIHJlc3VsdHM6CisgICAgICAgICAgICBzb3VyY2VzLnVwZGF0ZShyWzFdKQogCiAgICAgICAgICMgSGFyZGxpbmsgb3VyIGRlYnVnIHN5bWJvbHMgdG8gdGhlIG90aGVyIGhhcmRsaW5rIGNvcGllcwogICAgICAgICBmb3IgcmVmIGluIGlub2RlczoKQEAgLTEwOTEsNyArMTA5Niw3IEBACiAKICAgICAgICAgIyBQcm9jZXNzIHRoZSBkZWJ1Z3NyY2RpciBpZiByZXF1ZXN0ZWQuLi4KICAgICAgICAgIyBUaGlzIGNvcGllcyBhbmQgcGxhY2VzIHRoZSByZWZlcmVuY2VkIHNvdXJjZXMgZm9yIGxhdGVyIGRlYnVnZ2luZy4uLgotICAgICAgICBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBkKQorICAgICAgICBjb3B5ZGVidWdzb3VyY2VzKGRlYnVnc3JjZGlyLCBzb3VyY2VzLCBkKQogICAgICMKICAgICAjIEVuZCBvZiBkZWJ1ZyBzcGxpdHRpbmcKICAgICAjCkBAIC0xMTIzLDcgKzExMjgsNyBAQAogICAgIHdvcmtkaXIgPSBkLmdldFZhcignV09SS0RJUicpCiAgICAgb3V0ZGlyID0gZC5nZXRWYXIoJ0RFUExPWV9ESVInKQogICAgIGR2YXIgPSBkLmdldFZhcignUEtHRCcpCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKQorICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKQogICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKIAogICAgIGJiLnV0aWxzLm1rZGlyaGllcihvdXRkaXIpCkBAIC0xMTMzLDMyICsxMTM4LDM0IEBACiAKICAgICBzcGxpdF9zb3VyY2VfcGFja2FnZSA9IChkLmdldFZhcignUEFDS0FHRV9ERUJVR19TUExJVF9TVFlMRScpID09ICdkZWJ1Zy13aXRoLXNyY3BrZycpCiAKLSAgICAjIElmIGRlYnVnLXdpdGgtc3JjcGtnIG1vZGUgaXMgZW5hYmxlZCB0aGVuIHRoZSBzcmMgcGFja2FnZSBpcyBhZGRlZAotICAgICMgaW50byB0aGUgcGFja2FnZSBsaXN0IGFuZCB0aGUgc291cmNlIGRpcmVjdG9yeSBhcyBpdHMgbWFpbiBjb250ZW50CisgICAgIyBJZiBkZWJ1Zy13aXRoLXNyY3BrZyBtb2RlIGlzIGVuYWJsZWQgdGhlbiBhZGQgdGhlIHNvdXJjZSBwYWNrYWdlIGlmIGl0CisgICAgIyBkb2Vzbid0IGV4aXN0IGFuZCBhZGQgdGhlIHNvdXJjZSBmaWxlIGNvbnRlbnRzIHRvIHRoZSBzb3VyY2UgcGFja2FnZS4KICAgICBpZiBzcGxpdF9zb3VyY2VfcGFja2FnZToKICAgICAgICAgc3JjX3BhY2thZ2VfbmFtZSA9ICgnJXMtc3JjJyAlIGQuZ2V0VmFyKCdQTicpKQotICAgICAgICBwYWNrYWdlcyArPSAoJyAnICsgc3JjX3BhY2thZ2VfbmFtZSkKKyAgICAgICAgaWYgbm90IHNyY19wYWNrYWdlX25hbWUgaW4gcGFja2FnZXM6CisgICAgICAgICAgICBwYWNrYWdlcy5hcHBlbmQoc3JjX3BhY2thZ2VfbmFtZSkKICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXyVzJyAlIHNyY19wYWNrYWdlX25hbWUsICcvdXNyL3NyYy9kZWJ1ZycpCiAKICAgICAjIFNhbml0eSBjaGVjayBQQUNLQUdFUyBmb3IgZHVwbGljYXRlcwogICAgICMgU2FuaXR5IHNob3VsZCBiZSBtb3ZlZCB0byBzYW5pdHkuYmJjbGFzcyBvbmNlIHdlIGhhdmUgdGhlIGluZnJhc3RydWN0dXJlCiAgICAgcGFja2FnZV9kaWN0ID0ge30KIAotICAgIGZvciBpLCBwa2cgaW4gZW51bWVyYXRlKHBhY2thZ2VzLnNwbGl0KCkpOgorICAgIGZvciBpLCBwa2cgaW4gZW51bWVyYXRlKHBhY2thZ2VzKToKICAgICAgICAgaWYgcGtnIGluIHBhY2thZ2VfZGljdDoKICAgICAgICAgICAgIG1zZyA9ICIlcyBpcyBsaXN0ZWQgaW4gUEFDS0FHRVMgbXVsdGlwbGUgdGltZXMsIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIGVycm9ycy4iICUgcGtnCiAgICAgICAgICAgICBwYWNrYWdlX3FhX2hhbmRsZV9lcnJvcigicGFja2FnZXMtbGlzdCIsIG1zZywgZCkKLSAgICAgICAgIyBJZiBkZWJ1Zy13aXRoLXNyY3BrZyBtb2RlIGlzIGVuYWJsZWQgdGhlbiB0aGUgc3JjIHBhY2thZ2Ugd2lsbCBoYXZlCi0gICAgICAgICMgcHJpb3JpdHkgb3ZlciBkYmcgcGFja2FnZSB3aGVuIGFzc2lnbmluZyB0aGUgZmlsZXMuCi0gICAgICAgICMgVGhpcyBhbGxvd3Mgc3JjIHBhY2thZ2UgdG8gaW5jbHVkZSBzb3VyY2UgZmlsZXMgYW5kIHJlbW92ZSB0aGVtIGZyb20gZGJnLgotICAgICAgICBlbGlmIHNwbGl0X3NvdXJjZV9wYWNrYWdlIGFuZCBwa2cuZW5kc3dpdGgoIi1zcmMiKToKKyAgICAgICAgIyBFbnN1cmUgdGhlIHNvdXJjZSBwYWNrYWdlIGdldHMgdGhlIGNoYW5jZSB0byBwaWNrIHVwIHRoZSBzb3VyY2UgZmlsZXMKKyAgICAgICAgIyBiZWZvcmUgdGhlIGRlYnVnIHBhY2thZ2UgYnkgb3JkZXJpbmcgaXQgZmlyc3QgaW4gUEFDS0FHRVMuIFdoZXRoZXIgaXQKKyAgICAgICAgIyBhY3R1YWxseSBwaWNrcyB1cCBhbnkgc291cmNlIGZpbGVzIGlzIGNvbnRyb2xsZWQgYnkKKyAgICAgICAgIyBQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFLgorICAgICAgICBlbGlmIHBrZy5lbmRzd2l0aCgiLXNyYyIpOgogICAgICAgICAgICAgcGFja2FnZV9kaWN0W3BrZ10gPSAoMTAsIGkpCiAgICAgICAgIGVsaWYgYXV0b2RlYnVnIGFuZCBwa2cuZW5kc3dpdGgoIi1kYmciKToKICAgICAgICAgICAgIHBhY2thZ2VfZGljdFtwa2ddID0gKDMwLCBpKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcGFja2FnZV9kaWN0W3BrZ10gPSAoNTAsIGkpCi0gICAgcGFja2FnZV9saXN0ID0gc29ydGVkKHBhY2thZ2VfZGljdC5rZXlzKCksIGtleT1wYWNrYWdlX2RpY3QuZ2V0KQotICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VfbGlzdCkpCisgICAgcGFja2FnZXMgPSBzb3J0ZWQocGFja2FnZV9kaWN0LmtleXMoKSwga2V5PXBhY2thZ2VfZGljdC5nZXQpCisgICAgZC5zZXRWYXIoJ1BBQ0tBR0VTJywgJyAnLmpvaW4ocGFja2FnZXMpKQogICAgIHBrZ2Rlc3QgPSBkLmdldFZhcignUEtHREVTVCcpCiAKICAgICBzZWVuID0gW10KQEAgLTExNzYsNyArMTE4Myw3IEBACiAgICAgICAgICAgICBpZiAiLy5kZWJ1Zy8iIGluIHBhdGggb3IgcGF0aC5lbmRzd2l0aCgiLy5kZWJ1ZyIpOgogICAgICAgICAgICAgICAgIGRlYnVnLmFwcGVuZChwYXRoKQogCi0gICAgZm9yIHBrZyBpbiBwYWNrYWdlX2xpc3Q6CisgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKICAgICAgICAgcm9vdCA9IG9zLnBhdGguam9pbihwa2dkZXN0LCBwa2cpCiAgICAgICAgIGJiLnV0aWxzLm1rZGlyaGllcihyb290KQogCkBAIC0xMjQ3LDcgKzEyNTQsNyBAQAogCiAgICAgIyBIYW5kbGUgTElDRU5TRV9FWENMVVNJT04KICAgICBwYWNrYWdlX2xpc3QgPSBbXQotICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKKyAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICBpZiBkLmdldFZhcignTElDRU5TRV9FWENMVVNJT04tJyArIHBrZyk6CiAgICAgICAgICAgICBtc2cgPSAiJXMgaGFzIGFuIGluY29tcGF0aWJsZSBsaWNlbnNlLiBFeGNsdWRpbmcgZnJvbSBwYWNrYWdpbmcuIiAlIHBrZwogICAgICAgICAgICAgcGFja2FnZV9xYV9oYW5kbGVfZXJyb3IoImluY29tcGF0aWJsZS1saWNlbnNlIiwgbXNnLCBkKQpAQCAtMTQzOCw3ICsxNDQ1LDcgQEAKICAgICAgICAgICAgIGlmIGZzdGF0LnN0X2lubyBub3QgaW4gc2VlbjoKICAgICAgICAgICAgICAgICBzZWVuLmFkZChmc3RhdC5zdF9pbm8pCiAgICAgICAgICAgICAgICAgdG90YWxfc2l6ZSArPSBmc3RhdC5zdF9zaXplCi0gICAgICAgIGQuc2V0VmFyKCdGSUxFU19JTkZPJywganNvbi5kdW1wcyhmaWxlcykpCisgICAgICAgIGQuc2V0VmFyKCdGSUxFU19JTkZPJywganNvbi5kdW1wcyhmaWxlcywgc29ydF9rZXlzPVRydWUpKQogCiAgICAgICAgIHN1YmRhdGFfZmlsZSA9IHBrZ2RhdGFkaXIgKyAiL3J1bnRpbWUvJXMiICUgcGtnCiAgICAgICAgIHNmID0gb3BlbihzdWJkYXRhX2ZpbGUsICd3JykKQEAgLTE1NjEsMTIgKzE1NjgsMTIgQEAKICAgICAgICAgaWYgcGtnIG5vdCBpbiByZXF1aXJlc19maWxlczoKICAgICAgICAgICAgIHJlcXVpcmVzX2ZpbGVzW3BrZ10gPSBbXQogCi0gICAgICAgIGZvciBmaWxlIGluIHByb3ZpZGVzOgorICAgICAgICBmb3IgZmlsZSBpbiBzb3J0ZWQocHJvdmlkZXMpOgogICAgICAgICAgICAgcHJvdmlkZXNfZmlsZXNbcGtnXS5hcHBlbmQoZmlsZSkKICAgICAgICAgICAgIGtleSA9ICJGSUxFUlBST1ZJREVTXyIgKyBmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAgICBkLmFwcGVuZFZhcihrZXksICIgIiArICIgIi5qb2luKHByb3ZpZGVzW2ZpbGVdKSkKIAotICAgICAgICBmb3IgZmlsZSBpbiByZXF1aXJlczoKKyAgICAgICAgZm9yIGZpbGUgaW4gc29ydGVkKHJlcXVpcmVzKToKICAgICAgICAgICAgIHJlcXVpcmVzX2ZpbGVzW3BrZ10uYXBwZW5kKGZpbGUpCiAgICAgICAgICAgICBrZXkgPSAiRklMRVJERVBFTkRTXyIgKyBmaWxlICsgIl8iICsgcGtnCiAgICAgICAgICAgICBkLmFwcGVuZFZhcihrZXksICIgIiArICIgIi5qb2luKHJlcXVpcmVzW2ZpbGVdKSkKQEAgLTE1ODksOCArMTU5Niw4IEBACiAgICAgICAgIGJiLm5vdGUoIm5vdCBnZW5lcmF0aW5nIHNobGlicyIpCiAgICAgICAgIHJldHVybgogCi0gICAgbGliX3JlID0gcmUuY29tcGlsZSgiXi4qXC5zbyIpCi0gICAgbGliZGlyX3JlID0gcmUuY29tcGlsZSgiLiovJXMkIiAlIGQuZ2V0VmFyKCdiYXNlbGliJykpCisgICAgbGliX3JlID0gcmUuY29tcGlsZShyIl4uKlwuc28iKQorICAgIGxpYmRpcl9yZSA9IHJlLmNvbXBpbGUociIuKi8lcyQiICUgZC5nZXRWYXIoJ2Jhc2VsaWInKSkKIAogICAgIHBhY2thZ2VzID0gZC5nZXRWYXIoJ1BBQ0tBR0VTJykKIApAQCAtMTYzMSwxNyArMTYzOCwxNyBAQAogICAgICAgICBmZC5jbG9zZSgpCiAgICAgICAgIHJwYXRoID0gdHVwbGUoKQogICAgICAgICBmb3IgbCBpbiBsaW5lczoKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXHMrUlBBVEhccysoW15cc10qKSIsIGwpCisgICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytSUEFUSFxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcnBhdGhzID0gbS5ncm91cCgxKS5yZXBsYWNlKCIkT1JJR0lOIiwgbGRpcikuc3BsaXQoIjoiKQogICAgICAgICAgICAgICAgIHJwYXRoID0gdHVwbGUobWFwKG9zLnBhdGgubm9ybXBhdGgsIHJwYXRocykpCiAgICAgICAgIGZvciBsIGluIGxpbmVzOgotICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJccytORUVERURccysoW15cc10qKSIsIGwpCisgICAgICAgICAgICBtID0gcmUubWF0Y2gociJccytORUVERURccysoW15cc10qKSIsIGwpCiAgICAgICAgICAgICBpZiBtOgogICAgICAgICAgICAgICAgIGRlcCA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICBpZiBkZXAgbm90IGluIG5lZWRlZDoKICAgICAgICAgICAgICAgICAgICAgbmVlZGVkLmFkZCgoZGVwLCBmaWxlLCBycGF0aCkpCi0gICAgICAgICAgICBtID0gcmUubWF0Y2goIlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyIlxzK1NPTkFNRVxzKyhbXlxzXSopIiwgbCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgdGhpc19zb25hbWUgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgcHJvdiA9ICh0aGlzX3NvbmFtZSwgbGRpciwgcGtndmVyKQpAQCAtMTcyMSw3ICsxNzI4LDcgQEAKICAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgICAgICAjIHByb2Nlc3MgdGhlIG91dHB1dCwgZ3JhYmJpbmcgYWxsIC5kbGwgbmFtZXMKICAgICAgICAgICAgIGlmIHAucmV0dXJuY29kZSA9PSAwOgotICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKCJETEwgTmFtZTogKC4qP1wuZGxsKSQiLCBvdXQuZGVjb2RlKCksIHJlLk1VTFRJTElORSB8IHJlLklHTk9SRUNBU0UpOgorICAgICAgICAgICAgICAgIGZvciBtIGluIHJlLmZpbmRpdGVyKHIiRExMIE5hbWU6ICguKj9cLmRsbCkkIiwgb3V0LmRlY29kZSgpLCByZS5NVUxUSUxJTkUgfCByZS5JR05PUkVDQVNFKToKICAgICAgICAgICAgICAgICAgICAgZGxsbmFtZSA9IG0uZ3JvdXAoMSkKICAgICAgICAgICAgICAgICAgICAgaWYgZGxsbmFtZToKICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRlZFtwa2ddLmFkZCgoZGxsbmFtZSwgZmlsZSwgdHVwbGUoKSkpCkBAIC0xODY3LDcgKzE4NzQsNyBAQAogICAgICAgICAgICAgb3MucmVtb3ZlKGRlcHNfZmlsZSkKICAgICAgICAgaWYgbGVuKGRlcHMpOgogICAgICAgICAgICAgZmQgPSBvcGVuKGRlcHNfZmlsZSwgJ3cnKQotICAgICAgICAgICAgZm9yIGRlcCBpbiBkZXBzOgorICAgICAgICAgICAgZm9yIGRlcCBpbiBzb3J0ZWQoZGVwcyk6CiAgICAgICAgICAgICAgICAgZmQud3JpdGUoZGVwICsgJ1xuJykKICAgICAgICAgICAgIGZkLmNsb3NlKCkKIH0KQEAgLTE4ODIsOSArMTg4OSw5IEBACiAgICAgc2hsaWJzX2RpcnMgPSBkLmdldFZhcignU0hMSUJTRElSUycpLnNwbGl0KCkKICAgICBzaGxpYnN3b3JrX2RpciA9IGQuZ2V0VmFyKCdTSExJQlNXT1JLRElSJykKIAotICAgIHBjX3JlID0gcmUuY29tcGlsZSgnKC4qKVwucGMkJykKLSAgICB2YXJfcmUgPSByZS5jb21waWxlKCcoLiopPSguKiknKQotICAgIGZpZWxkX3JlID0gcmUuY29tcGlsZSgnKC4qKTogKC4qKScpCisgICAgcGNfcmUgPSByZS5jb21waWxlKHInKC4qKVwucGMkJykKKyAgICB2YXJfcmUgPSByZS5jb21waWxlKHInKC4qKT0oLiopJykKKyAgICBmaWVsZF9yZSA9IHJlLmNvbXBpbGUocicoLiopOiAoLiopJykKIAogICAgIHBrZ2NvbmZpZ19wcm92aWRlZCA9IHt9CiAgICAgcGtnY29uZmlnX25lZWRlZCA9IHt9CkBAIC0xOTMyLDcgKzE5MzksNyBAQAogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlyKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKToKLSAgICAgICAgICAgIG0gPSByZS5tYXRjaCgnXiguKilcLnBjbGlzdCQnLCBmaWxlKQorICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHInXiguKilcLnBjbGlzdCQnLCBmaWxlKQogICAgICAgICAgICAgaWYgbToKICAgICAgICAgICAgICAgICBwa2cgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgZmQgPSBvcGVuKG9zLnBhdGguam9pbihkaXIsIGZpbGUpKQpAQCAtMTk4OCw3ICsxOTk1LDcgQEAKICAgICBwYWNrYWdlcyA9IGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCkKICAgICBmb3IgcGtnIGluIHBhY2thZ2VzOgogICAgICAgICByZGVwZW5kcyA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkLmdldFZhcignUkRFUEVORFNfJyArIHBrZykgb3IgIiIpCi0gICAgICAgIGZvciBkZXAgaW4gcGtnbGliZGVwc1twa2ddOgorICAgICAgICBmb3IgZGVwIGluIHNvcnRlZChwa2dsaWJkZXBzW3BrZ10pOgogICAgICAgICAgICAgIyBBZGQgdGhlIGRlcCBpZiBpdCdzIG5vdCBhbHJlYWR5IHRoZXJlLCBvciBpZiBubyBjb21wYXJpc29uIGlzIHNldAogICAgICAgICAgICAgaWYgZGVwIG5vdCBpbiByZGVwZW5kczoKICAgICAgICAgICAgICAgICByZGVwZW5kc1tkZXBdID0gW10KQEAgLTIwMjEsNyArMjAyOCw3IEBACiAgICAgICAgICNiYi5ub3RlKCdkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgZGVwZW5kcykpCiAgICAgICAgIHJyZWNsaXN0ID0gYmIudXRpbHMuZXhwbG9kZV9kZXBfdmVyc2lvbnMyKGQuZ2V0VmFyKCdSUkVDT01NRU5EU18nICsgcGtnKSBvciAiIikKIAotICAgICAgICBmb3IgZGVwZW5kIGluIGRlcGVuZHM6CisgICAgICAgIGZvciBkZXBlbmQgaW4gc29ydGVkKGRlcGVuZHMpOgogICAgICAgICAgICAgaWYgZGVwZW5kLmZpbmQoJy1uYXRpdmUnKSAhPSAtMSBvciBkZXBlbmQuZmluZCgnLWNyb3NzJykgIT0gLTEgb3IgZGVwZW5kLnN0YXJ0c3dpdGgoJ3ZpcnR1YWwvJyk6CiAgICAgICAgICAgICAgICAgI2JiLm5vdGUoIlNraXBwaW5nICVzIiAlIGRlcGVuZCkKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMjA0Miw3ICsyMDQ5LDcgQEAKICAgICAgICAgI2JiLm5vdGUoJ3JkZXBlbmRzIGZvciAlcyBpcyAlcycgJSAoYmFzZSwgcmRlcGVuZHMpKQogICAgICAgICBycmVjbGlzdCA9IGJiLnV0aWxzLmV4cGxvZGVfZGVwX3ZlcnNpb25zMihkLmdldFZhcignUlJFQ09NTUVORFNfJyArIHBrZykgb3IgIiIpCiAKLSAgICAgICAgZm9yIGRlcGVuZCBpbiByZGVwZW5kczoKKyAgICAgICAgZm9yIGRlcGVuZCBpbiBzb3J0ZWQocmRlcGVuZHMpOgogICAgICAgICAgICAgaWYgZGVwZW5kLmZpbmQoJ3ZpcnR1YWwtbG9jYWxlLScpICE9IC0xOgogICAgICAgICAgICAgICAgICNiYi5ub3RlKCJTa2lwcGluZyAlcyIgJSBkZXBlbmQpCiAgICAgICAgICAgICAgICAgY29udGludWUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX2lway5iYmNsYXNzCmluZGV4IDVlYjkxMGMuLmQxYjMxN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfaXBrLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9pcGsuYmJjbGFzcwpAQCAtOCw3ICs4LDcgQEAKIFBLR1dSSVRFRElSSVBLID0gIiR7V09SS0RJUn0vZGVwbG95LWlwa3MiCiAKICMgUHJvZ3JhbSB0byBiZSB1c2VkIHRvIGJ1aWxkIG9wa2cgcGFja2FnZXMKLU9QS0dCVUlMRENNRCA/Pz0gIm9wa2ctYnVpbGQgLVogeHoiCitPUEtHQlVJTERDTUQgPz89ICdvcGtnLWJ1aWxkIC1aIHh6IC1hICIke1haX0RFRkFVTFRTfSInCiAKIE9QS0dfQVJHUyArPSAiLS1mb3JjZV9wb3N0aW5zdGFsbCAtLXByZWZlci1hcmNoLXRvLXZlcnNpb24iCiBPUEtHX0FSR1MgKz0gIiR7QFsnJywgJy0tbm8taW5zdGFsbC1yZWNvbW1lbmRzJ11bZC5nZXRWYXIoIk5PX1JFQ09NTUVOREFUSU9OUyIpID09ICIxIl19IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2VfcnBtLmJiY2xhc3MKaW5kZXggMjFhZGEzNC4uMWE2NGNiMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcGFja2FnZV9ycG0uYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlX3JwbS5iYmNsYXNzCkBAIC0xMTMsNiArMTEzLDEwIEBACiAgICAgICAgICAgICBzb3VyY2VfbGlzdCA9IG9zLmxpc3RkaXIoYXJfb3V0ZGlyKQogICAgICAgICAgICAgc291cmNlX251bWJlciA9IDAKICAgICAgICAgICAgIGZvciBzb3VyY2UgaW4gc291cmNlX2xpc3Q6CisgICAgICAgICAgICAgICAgIyBkb19kZXBsb3lfYXJjaGl2ZXMgbWF5IGhhdmUgYWxyZWFkeSBydW4gKGZyb20gc3N0YXRlKSBtZWFuaW5nIGEgLnNyYy5ycG0gbWF5IGFscmVhZHkgCisgICAgICAgICAgICAgICAgIyBleGlzdCBpbiBBUkNISVZFUl9PVVRESVIgc28gc2tpcCBpZiBwcmVzZW50LgorICAgICAgICAgICAgICAgIGlmIHNvdXJjZS5lbmRzd2l0aCgiLnNyYy5ycG0iKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICAjIFRoZSBycG1idWlsZCBkb2Vzbid0IG5lZWQgdGhlIHJvb3QgcGVybWlzc2lvbiwgYnV0IGl0IG5lZWRzCiAgICAgICAgICAgICAgICAgIyB0byBrbm93IHRoZSBmaWxlJ3MgdXNlciBhbmQgZ3JvdXAgbmFtZSwgdGhlIG9ubHkgdXNlciBhbmQKICAgICAgICAgICAgICAgICAjIGdyb3VwIGluIGZha2Vyb290IGlzICJyb290IiB3aGVuIHdvcmtpbmcgaW4gZmFrZXJvb3QuCkBAIC02OTAsNyArNjk0LDcgQEAKICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfdG1wcGF0aCAiICsgd29ya2RpciArICInIgogICAgIGlmIGQuZ2V0VmFyRmxhZygnQVJDSElWRVJfTU9ERScsICdzcnBtJykgPT0gJzEnIGFuZCBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdhcmNoaXZlcicsIGQpOgogICAgICAgICBjbWQgPSBjbWQgKyAiIC0tZGVmaW5lICdfc291cmNlZGlyICIgKyBkLmdldFZhcignQVJDSElWRVJfT1VURElSJykgKyAiJyIKLSAgICAgICAgY21kc3JwbSA9IGNtZCArICIgLS1kZWZpbmUgJ19zcmNycG1kaXIgIiArIGQuZ2V0VmFyKCdBUkNISVZFUl9PVVRESVInKSArICInIgorICAgICAgICBjbWRzcnBtID0gY21kICsgIiAtLWRlZmluZSAnX3NyY3JwbWRpciAiICsgZC5nZXRWYXIoJ0FSQ0hJVkVSX1JQTU9VVERJUicpICsgIiciCiAgICAgICAgIGNtZHNycG0gPSBjbWRzcnBtICsgIiAtYnMgIiArIG91dHNwZWNmaWxlCiAgICAgICAgICMgQnVpbGQgdGhlIC5zcmMucnBtCiAgICAgICAgIGQuc2V0VmFyKCdTQlVJTERTUEVDJywgY21kc3JwbSArICJcbiIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy9wYWNrYWdlZ3JvdXAuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCmluZGV4IGQ1NDBkNDIuLjk0YTU5ZTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BhY2thZ2Vncm91cC5iYmNsYXNzCkBAIC00OCw2ICs0OCw4IEBACiBkZWx0YXNrIGRvX2luc3RhbGwKIGRlbHRhc2sgZG9fcG9wdWxhdGVfc3lzcm9vdAogCitJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgorCiBweXRob24gKCkgewogICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZXNkaycsIGQpOgogICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BlcmwtdmVyc2lvbi5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKaW5kZXggYmFmZDk2NS4uODRiNjdiOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGVybC12ZXJzaW9uLmJiY2xhc3MKQEAgLTEsNCArMSw0IEBACi1QRVJMX09XTl9ESVIgPSAiJHtAWyIiLCAiL3BlcmwtbmF0aXZlIl1bKGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ25hdGl2ZScsIGQpKV19IgorUEVSTF9PV05fRElSID0gIiIKIAogIyBEZXRlcm1pbmUgdGhlIHN0YWdlZCB2ZXJzaW9uIG9mIHBlcmwgZnJvbSB0aGUgcGVybCBjb25maWd1cmF0aW9uIGZpbGUKICMgQXNzaWduIHZhcmRlcHZhbHVlLCBiZWNhdXNlIG90aGVyd2lzZSBzaWduYXR1cmUgaXMgY2hhbmdlZCBiZWZvcmUgYW5kIGFmdGVyCkBAIC02LDcgKzYsNyBAQAogZ2V0X3BlcmxfdmVyc2lvblt2YXJkZXB2YWx1ZV0gPSAiJHtQRVJMX09XTl9ESVJ9IgogZGVmIGdldF9wZXJsX3ZlcnNpb24oZCk6CiAgICAgaW1wb3J0IHJlCi0gICAgY2ZnID0gZC5leHBhbmQoJyR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3BlcmwvY29uZmlnLnNoJykKKyAgICBjZmcgPSBkLmV4cGFuZCgnJHtTVEFHSU5HX0xJQkRJUn0ke1BFUkxfT1dOX0RJUn0vcGVybDUvY29uZmlnLnNoJykKICAgICB0cnk6CiAgICAgICAgIGYgPSBvcGVuKGNmZywgJ3InKQogICAgIGV4Y2VwdCBJT0Vycm9yOgpAQCAtMjIsMyArMjIsNDUgQEAKIAogUEVSTFZFUlNJT04gOj0gIiR7QGdldF9wZXJsX3ZlcnNpb24oZCl9IgogUEVSTFZFUlNJT05bdmFyZGVwdmFsdWVdID0gIiIKKworCisjIERldGVybWluZSB0aGUgc3RhZ2VkIGFyY2ggb2YgcGVybCBmcm9tIHRoZSBwZXJsIGNvbmZpZ3VyYXRpb24gZmlsZQorIyBBc3NpZ24gdmFyZGVwdmFsdWUsIGJlY2F1c2Ugb3RoZXJ3aXNlIHNpZ25hdHVyZSBpcyBjaGFuZ2VkIGJlZm9yZSBhbmQgYWZ0ZXIKKyMgcGVybCBpcyBidWlsdCAoZnJvbSBOb25lIHRvIHJlYWwgdmVyc2lvbiBpbiBjb25maWcuc2gpLgorZGVmIGdldF9wZXJsX2FyY2goZCk6CisgICAgaW1wb3J0IHJlCisgICAgY2ZnID0gZC5leHBhbmQoJyR7U1RBR0lOR19MSUJESVJ9JHtQRVJMX09XTl9ESVJ9L3Blcmw1L2NvbmZpZy5zaCcpCisgICAgdHJ5OgorICAgICAgICBmID0gb3BlbihjZmcsICdyJykKKyAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBsID0gZi5yZWFkbGluZXMoKTsKKyAgICBmLmNsb3NlKCk7CisgICAgciA9IHJlLmNvbXBpbGUoIl5hcmNobmFtZT0nKFteJ10qKSciKQorICAgIGZvciBzIGluIGw6CisgICAgICAgIG0gPSByLm1hdGNoKHMpCisgICAgICAgIGlmIG06CisgICAgICAgICAgICByZXR1cm4gbS5ncm91cCgxKQorICAgIHJldHVybiBOb25lCisKK1BFUkxBUkNIIDo9ICIke0BnZXRfcGVybF9hcmNoKGQpfSIKK1BFUkxBUkNIW3ZhcmRlcHZhbHVlXSA9ICIiCisKKyMgRGV0ZXJtaW5lIHRoZSBzdGFnZWQgYXJjaCBvZiBwZXJsLW5hdGl2ZSBmcm9tIHRoZSBwZXJsIGNvbmZpZ3VyYXRpb24gZmlsZQorIyBBc3NpZ24gdmFyZGVwdmFsdWUsIGJlY2F1c2Ugb3RoZXJ3aXNlIHNpZ25hdHVyZSBpcyBjaGFuZ2VkIGJlZm9yZSBhbmQgYWZ0ZXIKKyMgcGVybCBpcyBidWlsdCAoZnJvbSBOb25lIHRvIHJlYWwgdmVyc2lvbiBpbiBjb25maWcuc2gpLgorZGVmIGdldF9wZXJsX2hvc3RhcmNoKGQpOgorICAgIGltcG9ydCByZQorICAgIGNmZyA9IGQuZXhwYW5kKCcke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybDUvY29uZmlnLnNoJykKKyAgICB0cnk6CisgICAgICAgIGYgPSBvcGVuKGNmZywgJ3InKQorICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICByZXR1cm4gTm9uZQorICAgIGwgPSBmLnJlYWRsaW5lcygpOworICAgIGYuY2xvc2UoKTsKKyAgICByID0gcmUuY29tcGlsZSgiXmFyY2huYW1lPScoW14nXSopJyIpCisgICAgZm9yIHMgaW4gbDoKKyAgICAgICAgbSA9IHIubWF0Y2gocykKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIHJldHVybiBtLmdyb3VwKDEpCisgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BpeGJ1ZmNhY2hlLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9waXhidWZjYWNoZS5iYmNsYXNzCmluZGV4IDMzNzhmZjIuLmIwN2Y1MWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3BpeGJ1ZmNhY2hlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcGl4YnVmY2FjaGUuYmJjbGFzcwpAQCAtMyw3ICszLDcgQEAKICMgcGFja2FnZXMuCiAjCiAKLURFUEVORFMgKz0gInFlbXUtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBxZW11LW5hdGl2ZSIKIGluaGVyaXQgcWVtdQogCiBQSVhCVUZfUEFDS0FHRVMgPz89ICIke1BOfSIKQEAgLTU0LDcgKzU0LDYgQEAKIERFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZ2RrLXBpeGJ1Zi1uYXRpdmUiCiBTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGl4YnVmY2FjaGVfc3N0YXRlX3Bvc3RpbnN0IgogCi0jIFNlZSBiYXNlLmJiY2xhc3MgZm9yIHRoZSBvdGhlciBoYWxmIG9mIHRoaXMKIHBpeGJ1ZmNhY2hlX3NzdGF0ZV9wb3N0aW5zdCgpIHsKIAlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KIAlkZXN0PSR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS9wb3N0aW5zdC0ke1BOfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2Jhc2UuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19iYXNlLmJiY2xhc3MKaW5kZXggNjc3YmEzYy4uZWJjMzBkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2Jhc2UuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfYmFzZS5iYmNsYXNzCkBAIC02LDYgKzYsNyBAQAogQ09NUExFTUVOVEFSWV9HTE9CW3N0YXRpY2Rldi1wa2dzXSA9ICcqLXN0YXRpY2RldicKIENPTVBMRU1FTlRBUllfR0xPQltkb2MtcGtnc10gPSAnKi1kb2MnCiBDT01QTEVNRU5UQVJZX0dMT0JbZGJnLXBrZ3NdID0gJyotZGJnJworQ09NUExFTUVOVEFSWV9HTE9CW3NyYy1wa2dzXSA9ICcqLXNyYycKIENPTVBMRU1FTlRBUllfR0xPQltwdGVzdC1wa2dzXSA9ICcqLXB0ZXN0JwogCiBkZWYgY29tcGxlbWVudGFyeV9nbG9icyhmZWF0dXJldmFyLCBkKToKQEAgLTE3LDcgKzE4LDcgQEAKICAgICAgICAgICAgIGdsb2JzLmFwcGVuZChnbG9iKQogICAgIHJldHVybiAnICcuam9pbihnbG9icykKIAotU0RLSU1BR0VfRkVBVFVSRVMgPz89ICJkZXYtcGtncyBkYmctcGtncyAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2FwaS1kb2N1bWVudGF0aW9uJywgJ2RvYy1wa2dzJywgJycsIGQpfSIKK1NES0lNQUdFX0ZFQVRVUkVTID8/PSAiZGV2LXBrZ3MgZGJnLXBrZ3Mgc3JjLXBrZ3MgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhcGktZG9jdW1lbnRhdGlvbicsICdkb2MtcGtncycsICcnLCBkKX0iCiBTREtJTUFHRV9JTlNUQUxMX0NPTVBMRU1FTlRBUlkgPSAnJHtAY29tcGxlbWVudGFyeV9nbG9icygiU0RLSU1BR0VfRkVBVFVSRVMiLCBkKX0nCiAKIFBBQ0tBR0VfQVJDSFNfYXBwZW5kX3Rhc2stcG9wdWxhdGUtc2RrID0gIiBzZGstcHJvdmlkZXMtZHVtbXktdGFyZ2V0IgpAQCAtMjI1LDcgKzIyNiw3IEBACiAJIyBQYWNrYWdlIGl0IHVwCiAJbWtkaXIgLXAgJHtTREtERVBMT1lESVJ9CiAJY2QgJHtTREtfT1VUUFVUfS8ke1NES1BBVEh9Ci0JdGFyICR7U0RLVEFST1BUU30gLWNmIC0gLiB8IHh6IC1UIDAgPiAke1NES0RFUExPWURJUn0vJHtUT09MQ0hBSU5fT1VUUFVUTkFNRX0udGFyLnh6CisJdGFyICR7U0RLVEFST1BUU30gLWNmIC0gLiB8IHh6ICR7WFpfREVGQVVMVFN9ID4gJHtTREtERVBMT1lESVJ9LyR7VE9PTENIQUlOX09VVFBVVE5BTUV9LnRhci54egogfQogCiBUT09MQ0hBSU5fU0hBUl9FWFRfVE1QTCA/PSAiJHtDT1JFQkFTRX0vbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoIgpAQCAtMjU3LDcgKzI1OCw3IEBACiAJCS1lICdzI0BTREtFWFRQQVRIQCMke1NES0VYVFBBVEh9I2cnIFwKIAkJLWUgJ3MjQE9MREVTVF9LRVJORUxAIyR7U0RLX09MREVTVF9LRVJORUx9I2cnIFwKIAkJLWUgJ3MjQFJFQUxfTVVMVElNQUNIX1RBUkdFVF9TWVNAIyR7UkVBTF9NVUxUSU1BQ0hfVEFSR0VUX1NZU30jZycgXAotCQktZSAncyNAU0RLX1RJVExFQCMke0BkLmdldFZhcigiU0RLX1RJVExFIikucmVwbGFjZSgnJicsICdcJicpfSNnJyBcCisJCS1lICdzI0BTREtfVElUTEVAIyR7QGQuZ2V0VmFyKCJTREtfVElUTEUiKS5yZXBsYWNlKCcmJywgJ1xcJicpfSNnJyBcCiAJCS1lICdzI0BTREtfVkVSU0lPTkAjJHtTREtfVkVSU0lPTn0jZycgXAogCQktZSAnL0BTREtfUFJFX0lOU1RBTExfQ09NTUFOREAvZCcgXAogCQktZSAnL0BTREtfUE9TVF9JTlNUQUxMX0NPTU1BTkRAL2QnIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19leHQuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3BvcHVsYXRlX3Nka19leHQuYmJjbGFzcwppbmRleCA0MGIwMzc1Li44MDBlMTE3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy9wb3B1bGF0ZV9zZGtfZXh0LmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvcG9wdWxhdGVfc2RrX2V4dC5iYmNsYXNzCkBAIC01ODksMTEgKzU4OSw4IEBACiAJCWV4aXQgMQogCWZpCiAJU0RLX0VYVEVOU0lCTEU9IjEiCi0JaWYgWyAiJHB1Ymxpc2giID0gIjEiIF0gOyB0aGVuCi0JCUVYVFJBX1RBUl9PUFRJT05TPSIkRVhUUkFfVEFSX09QVElPTlMgLS1leGNsdWRlPWV4dC1zZGstcHJlcGFyZS5weSIKLQkJaWYgWyAiJHtTREtfRVhUX1RZUEV9IiA9ICJtaW5pbWFsIiBdIDsgdGhlbgotCQkJRVhUUkFfVEFSX09QVElPTlM9IiRFWFRSQV9UQVJfT1BUSU9OUyAtLWV4Y2x1ZGU9c3N0YXRlLWNhY2hlIgotCQlmaQorCWlmIFsgIiRwdWJsaXNoIiA9ICIxIiBdICYmIFsgIiR7U0RLX0VYVF9UWVBFfSIgPSAibWluaW1hbCIgXSA7IHRoZW4KKwkJRVhUUkFfVEFSX09QVElPTlM9IiRFWFRSQV9UQVJfT1BUSU9OUyAtLWV4Y2x1ZGU9c3N0YXRlLWNhY2hlIgogCWZpCiB9CiBTREtfUFJFX0lOU1RBTExfQ09NTUFORF90YXNrLXBvcHVsYXRlLXNkay1leHQgPSAiJHtzZGtfZXh0X3ByZWluc3R9IgpAQCAtNjM1LDYgKzYzMiw4IEBACiAJCSMgc291cmNpbmcgYSBzY3JpcHQuIFRoYXQgaXMgd2h5IHRoaXMgaGFzIHRvIGxvb2sgc28gdWdseS4KIAkJTE9HRklMRT0iJHRhcmdldF9zZGtfZGlyL3ByZXBhcmluZ19idWlsZF9zeXN0ZW0ubG9nIgogCQlzaCAtYyAiLiBidWlsZHRvb2xzL2Vudmlyb25tZW50LXNldHVwKiA+ICRMT0dGSUxFICYmIGNkICR0YXJnZXRfc2RrX2Rpci9gZGlybmFtZSAke29lX2luaXRfYnVpbGRfZW52X3BhdGh9YCAmJiBzZXQgJHRhcmdldF9zZGtfZGlyICYmIC4gJHRhcmdldF9zZGtfZGlyLyR7b2VfaW5pdF9idWlsZF9lbnZfcGF0aH0gJHRhcmdldF9zZGtfZGlyID4+ICRMT0dGSUxFICYmIHB5dGhvbiAkdGFyZ2V0X3Nka19kaXIvZXh0LXNkay1wcmVwYXJlLnB5ICRMT0dGSUxFICcke1NES19JTlNUQUxMX1RBUkdFVFN9JyIgfHwgeyBlY2hvICJwcmludGYgJ0VSUk9SOiB0aGlzIFNESyB3YXMgbm90IGZ1bGx5IGluc3RhbGxlZCBhbmQgbmVlZHMgcmVpbnN0YWxsaW5nXG4nIiA+PiAkZW52X3NldHVwX3NjcmlwdCA7IGV4aXQgMSA7IH0KKwlmaQorCWlmIFsgLWUgJHRhcmdldF9zZGtfZGlyL2V4dC1zZGstcHJlcGFyZS5weSBdOyB0aGVuCiAJCXJtICR0YXJnZXRfc2RrX2Rpci9leHQtc2RrLXByZXBhcmUucHkKIAlmaQogCWVjaG8gZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHRlc3QuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3B0ZXN0LmJiY2xhc3MKaW5kZXggOWQ4YTc5OC4uOTc4NjVjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcHRlc3QuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9wdGVzdC5iYmNsYXNzCkBAIC0zLDYgKzMsOSBAQAogVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgdGVzdCBkaXJlY3RvcnkgJHtQVEVTVF9QQVRIfSBmb3IgcGFja2FnZSB0ZXN0IHB1cnBvc2VzLiIKIAogUFRFU1RfUEFUSCA/PSAiJHtsaWJkaXJ9LyR7QlBOfS9wdGVzdCIKK1BURVNUX0JVSUxEX0hPU1RfRklMRVMgPz0gIk1ha2VmaWxlIgorUFRFU1RfQlVJTERfSE9TVF9QQVRURVJOID89ICIiCisKIEZJTEVTXyR7UE59LXB0ZXN0ID0gIiR7UFRFU1RfUEFUSH0iCiBTRUNUSU9OXyR7UE59LXB0ZXN0ID0gImRldmVsIgogQUxMT1dfRU1QVFlfJHtQTn0tcHRlc3QgPSAiMSIKQEAgLTQ1LDYgKzQ4LDIxIEBACiAgICAgZmkKICAgICBkb19pbnN0YWxsX3B0ZXN0CiAgICAgY2hvd24gLVIgcm9vdDpyb290ICR7RH0ke1BURVNUX1BBVEh9CisKKyAgICAjIFN0cmlwIGJ1aWxkIGhvc3QgcGF0aHMgZnJvbSBhbnkgaW5zdGFsbGVkIE1ha2VmaWxlCisgICAgZm9yIGZpbGVuYW1lIGluICR7UFRFU1RfQlVJTERfSE9TVF9GSUxFU307IGRvCisgICAgICAgIGZvciBpbnN0YWxsZWRfcHRlc3RfZmlsZSBpbiAkKGZpbmQgJHtEfSR7UFRFU1RfUEFUSH0gLXR5cGUgZiAtbmFtZSAkZmlsZW5hbWUpOyBkbworICAgICAgICAgICAgYmJub3RlICJTdHJpcHBpbmcgaG9zdCBwYXRocyBmcm9tOiAkaW5zdGFsbGVkX3B0ZXN0X2ZpbGUiCisgICAgICAgICAgICBzZWQgLWUgJ3MjJHtIT1NUVE9PTFNfRElSfS8qIyNnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3MjJHtXT1JLRElSfS8qPSMuPSNnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3MjJHtXT1JLRElSfS8qIyNnJyBcCisgICAgICAgICAgICAgICAgLWkgJGluc3RhbGxlZF9wdGVzdF9maWxlCisgICAgICAgICAgICBpZiBbIC1uICIke1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTn0iIF07IHRoZW4KKyAgICAgICAgICAgICAgIHNlZCAtRSAnLyR7UFRFU1RfQlVJTERfSE9TVF9QQVRURVJOfS9kJyBcCisgICAgICAgICAgICAgICAgICAgLWkgJGluc3RhbGxlZF9wdGVzdF9maWxlCisgICAgICAgICAgICBmaQorICAgICAgICBkb25lCisgICAgZG9uZQogfQogCiBkb19jb25maWd1cmVfcHRlc3RfYmFzZVtkaXJzXSA9ICIke0J9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uMy1kaXIuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjMtZGlyLmJiY2xhc3MKaW5kZXggMDZiYjA0Ni4uN2RkMTMwYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uMy1kaXIuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zLWRpci5iYmNsYXNzCkBAIC0xLDQgKzEsNCBAQAotUFlUSE9OX0JBU0VWRVJTSU9OID0gIjMuNSIKK1BZVEhPTl9CQVNFVkVSU0lPTiA9ICIzLjciCiBQWVRIT05fQUJJID0gIm0iCiBQWVRIT05fRElSID0gInB5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSIKIFBZVEhPTl9QTiA9ICJweXRob24zIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uM25hdGl2ZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvcHl0aG9uM25hdGl2ZS5iYmNsYXNzCmluZGV4IGRhMTJhNzEuLmEzYWNhZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3B5dGhvbjNuYXRpdmUuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9weXRob24zbmF0aXZlLmJiY2xhc3MKQEAgLTksNiArOSw4IEBACiBleHBvcnQgU1RBR0lOR19JTkNESVIKIGV4cG9ydCBTVEFHSU5HX0xJQkRJUgogCitleHBvcnQgX1BZVEhPTl9TWVNDT05GSUdEQVRBX05BTUU9Il9zeXNjb25maWdkYXRhIgorCiAjIHN1cHByZXNzIGhvc3QgdXNlcidzIHNpdGUtcGFja2FnZXMgZGlycy4KIGV4cG9ydCBQWVRIT05OT1VTRVJTSVRFID0gIjEiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Nhbml0eS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKaW5kZXggMzc0ZGFjZi4uY2FiMDkyMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc2FuaXR5LmJiY2xhc3MKQEAgLTMzOCw3ICszMzgsNyBAQAogZGVmIGdldF9maWxlc3lzdGVtX2lkKHBhdGgpOgogICAgIGltcG9ydCBzdWJwcm9jZXNzCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJzdGF0IiwgIi1mIiwgIi1jIiwgIiV0IiwgcGF0aF0pLmRlY29kZSgndXRmLTgnKQorICAgICAgICByZXR1cm4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJzdGF0IiwgIi1mIiwgIi1jIiwgIiV0IiwgcGF0aF0pLmRlY29kZSgndXRmLTgnKS5zdHJpcCgpCiAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgogICAgICAgICBiYi53YXJuKCJDYW4ndCBnZXQgZmlsZXN5c3RlbSBpZCBvZjogJXMiICUgcGF0aCkKICAgICAgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Njb25zLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy9zY29ucy5iYmNsYXNzCmluZGV4IGI5YWUxOWQuLjllZTdkMTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Njb25zLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc2NvbnMuYmJjbGFzcwpAQCAtMiwxNiArMiwyNSBAQAogCiBFWFRSQV9PRVNDT05TID89ICIiCiAKLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCitkb19jb25maWd1cmUoKSB7CisJaWYgWyAtbiAiJHtDT05GSUdVUkVTVEFNUEZJTEV9IiBdOyB0aGVuCisJCWlmIFsgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgImBjYXQgJHtDT05GSUdVUkVTVEFNUEZJTEV9YCIgIT0gIiR7QkJfVEFTS0hBU0h9IiAtYSAiJHtDTEVBTkJST0tFTn0iICE9ICIxIiBdOyB0aGVuCisJCQkke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgLS1jbGVhbiBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfQorCQlmaQorCisJCW1rZGlyIC1wIGBkaXJuYW1lICR7Q09ORklHVVJFU1RBTVBGSUxFfWAKKwkJZWNobyAke0JCX1RBU0tIQVNIfSA+ICR7Q09ORklHVVJFU1RBTVBGSUxFfQorCWZpCit9CiAKIHNjb25zX2RvX2NvbXBpbGUoKSB7Ci0gICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9zY29ucyAke1BBUkFMTEVMX01BS0V9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IHx8IFwKLSAgICAgICAgZGllICJzY29ucyBidWlsZCBleGVjdXRpb24gZmFpbGVkLiIKKwkke1NUQUdJTkdfQklORElSX05BVElWRX0vc2NvbnMgJHtQQVJBTExFTF9NQUtFfSBQUkVGSVg9JHtwcmVmaXh9IHByZWZpeD0ke3ByZWZpeH0gJHtFWFRSQV9PRVNDT05TfSB8fCBcCisJZGllICJzY29ucyBidWlsZCBleGVjdXRpb24gZmFpbGVkLiIKIH0KIAogc2NvbnNfZG9faW5zdGFsbCgpIHsKLSAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIGluc3RhbGxfcm9vdD0ke0R9JHtwcmVmaXh9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IGluc3RhbGwgfHwgXAotICAgICAgICBkaWUgInNjb25zIGluc3RhbGwgZXhlY3V0aW9uIGZhaWxlZC4iCisJJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3Njb25zIGluc3RhbGxfcm9vdD0ke0R9JHtwcmVmaXh9IFBSRUZJWD0ke3ByZWZpeH0gcHJlZml4PSR7cHJlZml4fSAke0VYVFJBX09FU0NPTlN9IGluc3RhbGwgfHwgXAorCWRpZSAic2NvbnMgaW5zdGFsbCBleGVjdXRpb24gZmFpbGVkLiIKIH0KIAogRVhQT1JUX0ZVTkNUSU9OUyBkb19jb21waWxlIGRvX2luc3RhbGwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3NzdGF0ZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKaW5kZXggZWRiZmJhNS4uNmY1MWQ5YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvc3N0YXRlLmJiY2xhc3MKQEAgLTExLDcgKzExLDcgQEAKIFNTVEFURV9QS0dBUkNIICAgID0gIiR7UEFDS0FHRV9BUkNIfSIKIFNTVEFURV9QS0dTUEVDICAgID0gInNzdGF0ZToke1BOfToke1BBQ0tBR0VfQVJDSH0ke1RBUkdFVF9WRU5ET1J9LSR7VEFSR0VUX09TfToke1BWfToke1BSfToke1NTVEFURV9QS0dBUkNIfToke1NTVEFURV9WRVJTSU9OfToiCiBTU1RBVEVfU1dTUEVDICAgICA9ICJzc3RhdGU6JHtQTn06OiR7UFZ9OiR7UFJ9Ojoke1NTVEFURV9WRVJTSU9OfToiCi1TU1RBVEVfUEtHTkFNRSAgICA9ICIke1NTVEFURV9FWFRSQVBBVEh9JHtAZ2VuZXJhdGVfc3N0YXRlZm4oZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJyksIGQuZ2V0VmFyKCdCQl9UQVNLSEFTSCcpLCBkKX0iCitTU1RBVEVfUEtHTkFNRSAgICA9ICIke1NTVEFURV9FWFRSQVBBVEh9JHtAZ2VuZXJhdGVfc3N0YXRlZm4oZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJyksIGQuZ2V0VmFyKCdCQl9VTklIQVNIJyksIGQpfSIKIFNTVEFURV9QS0cgICAgICAgID0gIiR7U1NUQVRFX0RJUn0vJHtTU1RBVEVfUEtHTkFNRX0iCiBTU1RBVEVfRVhUUkFQQVRIICAgPSAiIgogU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEID0gIiIKQEAgLTIzLDYgKzIzLDcgQEAKICMgV2UgZG9uJ3Qgd2FudCB0aGUgc3N0YXRlIHRvIGRlcGVuZCBvbiB0aGluZ3MgbGlrZSB0aGUgZGlzdHJvIHN0cmluZwogIyBvZiB0aGUgc3lzdGVtLCB3ZSBsZXQgdGhlIHNzdGF0ZSBwYXRocyB0YWtlIGNhcmUgb2YgdGhpcy4KIFNTVEFURV9FWFRSQVBBVEhbdmFyZGVwdmFsdWVdID0gIiIKK1NTVEFURV9FWFRSQVBBVEhXSUxEQ0FSRFt2YXJkZXB2YWx1ZV0gPSAiIgogCiAjIEZvciBtdWx0aWxpYiBycG0gdGhlIGFsbGFyY2ggcGFja2FnZWdyb3VwIGZpbGVzIGNhbiBvdmVyd3JpdGUgKGluIHRoZW9yeSB0aGV5J3JlIGlkZW50aWNhbCkKIFNTVEFURV9EVVBXSElURUxJU1QgPSAiJHtERVBMT1lfRElSfS9saWNlbnNlcy8iCkBAIC02MSw2ICs2Miw3IEBACiBTU1RBVEVfTUFOTUFDSCA/PSAiJHtTU1RBVEVfUEtHQVJDSH0iCiAKIFNTVEFURUNSRUFURUZVTkNTID0gInNzdGF0ZV9oYXJkY29kZV9wYXRoIgorU1NUQVRFQ1JFQVRFRlVOQ1NbdmFyZGVwc10gPSAiU1NUQVRFX1NDQU5fRklMRVMiCiBTU1RBVEVQT1NUQ1JFQVRFRlVOQ1MgPSAiIgogU1NUQVRFUFJFSU5TVEZVTkNTID0gIiIKIFNTVEFURVBPU1RVTlBBQ0tGVU5DUyA9ICJzc3RhdGVfaGFyZGNvZGVfcGF0aF91bnBhY2siCkBAIC04Miw2ICs4NCwyMyBAQAogIyBXaGV0aGVyIHRvIHZlcmlmeSB0aGUgR25VUEcgc2lnbmF0dXJlcyB3aGVuIGV4dHJhY3Rpbmcgc3N0YXRlIGFyY2hpdmVzCiBTU1RBVEVfVkVSSUZZX1NJRyA/PSAiMCIKIAorU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QgPz0gIm9lLnNzdGF0ZXNpZy5PRU91dGhhc2hCYXNpYyIKK1NTVEFURV9IQVNIRVFVSVZfTUVUSE9EW2RvY10gPSAiVGhlIGZ1bGx5LXF1YWxpZmllZCBmdW5jdGlvbiB1c2VkIHRvIGNhbGN1bGF0ZSBcCisgICAgdGhlIG91dHB1dCBoYXNoIGZvciBhIHRhc2ssIHdoaWNoIGluIHR1cm4gaXMgdXNlZCB0byBkZXRlcm1pbmUgZXF1aXZhbGVuY3kuIFwKKyAgICAiCisKK1NTVEFURV9IQVNIRVFVSVZfU0VSVkVSID89ICIiCitTU1RBVEVfSEFTSEVRVUlWX1NFUlZFUltkb2NdID0gIlRoZSBoYXNoIGVxdWl2YWxlbmNlIHNldmVyLiBGb3IgZXhhbXBsZSwgXAorICAgICdodHRwOi8vMTkyLjE2OC4wLjE6NTAwMCcuIERvIG5vdCBpbmNsdWRlIGEgdHJhaWxpbmcgc2xhc2ggXAorICAgICIKKworU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEEgPz0gIjAiCitTU1RBVEVfSEFTSEVRVUlWX1JFUE9SVF9UQVNLREFUQVtkb2NdID0gIlJlcG9ydCBhZGRpdGlvbmFsIHVzZWZ1bCBkYXRhIHRvIHRoZSBcCisgICAgaGFzaCBlcXVpdmFsZW5jeSBzZXJ2ZXIsIHN1Y2ggYXMgUE4sIFBWLCB0YXNrbmFtZSwgZXRjLiBUaGlzIGluZm9ybWF0aW9uIFwKKyAgICBpcyB2ZXJ5IHVzZWZ1bCBmb3IgZGV2ZWxvcGVycyBsb29raW5nIGF0IHRhc2sgZGF0YSwgYnV0IG1heSBsZWFrIHNlbnNpdGl2ZSBcCisgICAgZGF0YSBpZiB0aGUgZXF1aXZhbGVuY2Ugc2VydmVyIGlzIHB1YmxpYy4gXAorICAgICIKKwogcHl0aG9uICgpIHsKICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKToKICAgICAgICAgZC5zZXRWYXIoJ1NTVEFURV9QS0dBUkNIJywgZC5nZXRWYXIoJ0JVSUxEX0FSQ0gnLCBGYWxzZSkpCkBAIC0xMDEsNyArMTIwLDcgQEAKICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCduYXRpdmUnLCBkKSBvciBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdjcm9zc3NkaycsIGQpIG9yIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCk6CiAgICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogICAgICAgICBkLnNldFZhcignQkJfSEFTSEZJTEVOQU1FJywgIlRydWUgJHtTU1RBVEVfUEtHU1BFQ30gJHtTU1RBVEVfU1dTUEVDfSIpCi0gICAgICAgIGQuc2V0VmFyKCdTU1RBVEVfRVhUUkFQQVRIV0lMRENBUkQnLCAiKi8iKQorICAgICAgICBkLnNldFZhcignU1NUQVRFX0VYVFJBUEFUSFdJTERDQVJEJywgIiR7TkFUSVZFTFNCU1RSSU5HfS8iKQogCiAgICAgdW5pcXVlX3Rhc2tzID0gc29ydGVkKHNldCgoZC5nZXRWYXIoJ1NTVEFURVRBU0tTJykgb3IgIiIpLnNwbGl0KCkpKQogICAgIGQuc2V0VmFyKCdTU1RBVEVUQVNLUycsICIgIi5qb2luKHVuaXF1ZV90YXNrcykpCkBAIC02NDAsNyArNjU5LDcgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBmb3IgZiBpbiAoZC5nZXRWYXIoJ1NTVEFURUNSRUFURUZVTkNTJykgb3IgJycpLnNwbGl0KCkgKyBcCi0gICAgICAgICAgICAgWydzc3RhdGVfY3JlYXRlX3BhY2thZ2UnLCAnc3N0YXRlX3NpZ25fcGFja2FnZSddICsgXAorICAgICAgICAgICAgIFsnc3N0YXRlX3JlcG9ydF91bmloYXNoJywgJ3NzdGF0ZV9jcmVhdGVfcGFja2FnZScsICdzc3RhdGVfc2lnbl9wYWNrYWdlJ10gKyBcCiAgICAgICAgICAgICAgKGQuZ2V0VmFyKCdTU1RBVEVQT1NUQ1JFQVRFRlVOQ1MnKSBvciAnJykuc3BsaXQoKToKICAgICAgICAgIyBBbGwgaG9va3Mgc2hvdWxkIHJ1biBpbiBTU1RBVEVfQlVJTERESVIuCiAgICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYyhmLCBkLCAoc3N0YXRlYnVpbGQsKSkKQEAgLTc2NCw2ICs3ODMsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQuZ2V0VmFyKCdTU1RBVEVfU0lHX1BBU1NQSFJBU0UnKSwgYXJtb3I9RmFsc2UpCiB9CiAKK3B5dGhvbiBzc3RhdGVfcmVwb3J0X3VuaWhhc2goKSB7CisgICAgcmVwb3J0X3VuaWhhc2ggPSBnZXRhdHRyKGJiLnBhcnNlLnNpZ2dlbiwgJ3JlcG9ydF91bmloYXNoJywgTm9uZSkKKworICAgIGlmIHJlcG9ydF91bmloYXNoOgorICAgICAgICBzcyA9IHNzdGF0ZV9zdGF0ZV9mcm9tdmFycyhkKQorICAgICAgICByZXBvcnRfdW5paGFzaChvcy5nZXRjd2QoKSwgc3NbJ3Rhc2snXSwgZCkKK30KKwogIwogIyBTaGVsbCBmdW5jdGlvbiB0byBkZWNvbXByZXNzIGFuZCBwcmVwYXJlIGEgcGFja2FnZSBmb3IgaW5zdGFsbGF0aW9uCiAjIFdpbGwgYmUgcnVuIGZyb20gd2l0aGluIFNTVEFURV9JTlNURElSLgpAQCAtNzgwLDcgKzgwNyw3IEBACiAKIEJCX0hBU0hDSEVDS19GVU5DVElPTiA9ICJzc3RhdGVfY2hlY2toYXNoZXMiCiAKLWRlZiBzc3RhdGVfY2hlY2toYXNoZXMoc3FfZm4sIHNxX3Rhc2ssIHNxX2hhc2gsIHNxX2hhc2hmbiwgZCwgc2lnaW5mbz1GYWxzZSk6CitkZWYgc3N0YXRlX2NoZWNraGFzaGVzKHNxX2ZuLCBzcV90YXNrLCBzcV9oYXNoLCBzcV9oYXNoZm4sIGQsIHNpZ2luZm89RmFsc2UsICosIHNxX3VuaWhhc2g9Tm9uZSk6CiAKICAgICByZXQgPSBbXQogICAgIG1pc3NlZCA9IFtdCkBAIC03ODgsNiArODE1LDExIEBACiAgICAgaWYgc2lnaW5mbzoKICAgICAgICAgZXh0ZW5zaW9uID0gZXh0ZW5zaW9uICsgIi5zaWdpbmZvIgogCisgICAgZGVmIGdldGhhc2godGFzayk6CisgICAgICAgIGlmIHNxX3VuaWhhc2ggaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gc3FfdW5paGFzaFt0YXNrXQorICAgICAgICByZXR1cm4gc3FfaGFzaFt0YXNrXQorCiAgICAgZGVmIGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpOgogICAgICAgICAjIE1hZ2ljIGRhdGEgZnJvbSBCQl9IQVNIRklMRU5BTUUKICAgICAgICAgc3BsaXRoYXNoZm4gPSBzcV9oYXNoZm5bdGFza10uc3BsaXQoIiAiKQpAQCAtODEwLDcgKzg0Miw3IEBACiAKICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCiAKLSAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKCIke1NTVEFURV9ESVJ9LyIgKyBleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBzcV9oYXNoW3Rhc2tdLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQorICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoIiR7U1NUQVRFX0RJUn0vIiArIGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIGdldGhhc2godGFzayksIGQpICsgIl8iICsgdG5hbWUgKyBleHRlbnNpb24pCiAKICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc3N0YXRlZmlsZSk6CiAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU1N0YXRlOiBGb3VuZCB2YWxpZCBzc3RhdGUgZmlsZSAlcyIgJSBzc3RhdGVmaWxlKQpAQCAtODcyLDcgKzkwNCw3IEBACiAgICAgICAgICAgICBpZiB0YXNrIGluIHJldDoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCi0gICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArIGV4dGVuc2lvbikKKyAgICAgICAgICAgIHNzdGF0ZWZpbGUgPSBkLmV4cGFuZChleHRyYXBhdGggKyBnZW5lcmF0ZV9zc3RhdGVmbihzcGVjLCBnZXRoYXNoKHRhc2spLCBkKSArICJfIiArIHRuYW1lICsgZXh0ZW5zaW9uKQogICAgICAgICAgICAgdGFza2xpc3QuYXBwZW5kKCh0YXNrLCBzc3RhdGVmaWxlKSkKIAogICAgICAgICBpZiB0YXNrbGlzdDoKQEAgLTg5OCwxMiArOTMwLDEyIEBACiAgICAgICAgIGV2ZGF0YSA9IHsnbWlzc2VkJzogW10sICdmb3VuZCc6IFtdfTsKICAgICAgICAgZm9yIHRhc2sgaW4gbWlzc2VkOgogICAgICAgICAgICAgc3BlYywgZXh0cmFwYXRoLCB0bmFtZSA9IGdldHBhdGhjb21wb25lbnRzKHRhc2ssIGQpCi0gICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgc3FfaGFzaFt0YXNrXSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKLSAgICAgICAgICAgIGV2ZGF0YVsnbWlzc2VkJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIHNxX2hhc2hbdGFza10sIHNzdGF0ZWZpbGUgKSApCisgICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0YXNrKSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKKyAgICAgICAgICAgIGV2ZGF0YVsnbWlzc2VkJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIGdldGhhc2godGFzayksIHNzdGF0ZWZpbGUgKSApCiAgICAgICAgIGZvciB0YXNrIGluIHJldDoKICAgICAgICAgICAgIHNwZWMsIGV4dHJhcGF0aCwgdG5hbWUgPSBnZXRwYXRoY29tcG9uZW50cyh0YXNrLCBkKQotICAgICAgICAgICAgc3N0YXRlZmlsZSA9IGQuZXhwYW5kKGV4dHJhcGF0aCArIGdlbmVyYXRlX3NzdGF0ZWZuKHNwZWMsIHNxX2hhc2hbdGFza10sIGQpICsgIl8iICsgdG5hbWUgKyAiLnRneiIpCi0gICAgICAgICAgICBldmRhdGFbJ2ZvdW5kJ10uYXBwZW5kKCAoc3FfZm5bdGFza10sIHNxX3Rhc2tbdGFza10sIHNxX2hhc2hbdGFza10sIHNzdGF0ZWZpbGUgKSApCisgICAgICAgICAgICBzc3RhdGVmaWxlID0gZC5leHBhbmQoZXh0cmFwYXRoICsgZ2VuZXJhdGVfc3N0YXRlZm4oc3BlYywgZ2V0aGFzaCh0YXNrKSwgZCkgKyAiXyIgKyB0bmFtZSArICIudGd6IikKKyAgICAgICAgICAgIGV2ZGF0YVsnZm91bmQnXS5hcHBlbmQoIChzcV9mblt0YXNrXSwgc3FfdGFza1t0YXNrXSwgZ2V0aGFzaCh0YXNrKSwgc3N0YXRlZmlsZSApICkKICAgICAgICAgYmIuZXZlbnQuZmlyZShiYi5ldmVudC5NZXRhZGF0YUV2ZW50KCJNaXNzZWRTc3RhdGUiLCBldmRhdGEpLCBkKQogCiAgICAgIyBQcmludCBzb21lIHN1bW1hcnkgc3RhdGlzdGljcyBhYm91dCB0aGUgY3VycmVudCB0YXNrIGNvbXBsZXRpb24gYW5kIGhvdyBtdWNoIHNzdGF0ZQpAQCAtMTA4NywxMiArMTExOSwxNSBAQAogICAgICAgICB3aXRoIG9wZW4oaSwgInIiKSBhcyBmOgogICAgICAgICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCiAgICAgICAgICAgICBmb3IgbCBpbiBsaW5lczoKLSAgICAgICAgICAgICAgICAoc3RhbXAsIG1hbmlmZXN0LCB3b3JrZGlyKSA9IGwuc3BsaXQoKQotICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBpbiBzdGFtcHMgYW5kIHN0YW1wIG5vdCBpbiBwcmVzZXJ2ZXN0YW1wcyBhbmQgc3RhbXAgaW4gbWFjaGluZWluZGV4OgotICAgICAgICAgICAgICAgICAgICB0b3JlbW92ZS5hcHBlbmQobCkKLSAgICAgICAgICAgICAgICAgICAgaWYgc3RhbXAgbm90IGluIHNlZW46Ci0gICAgICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhbXAgJXMgaXMgbm90IHJlYWNoYWJsZSwgcmVtb3ZpbmcgcmVsYXRlZCBtYW5pZmVzdHMiICUgc3RhbXApCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWVuLmFwcGVuZChzdGFtcCkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIChzdGFtcCwgbWFuaWZlc3QsIHdvcmtkaXIpID0gbC5zcGxpdCgpCisgICAgICAgICAgICAgICAgICAgIGlmIHN0YW1wIG5vdCBpbiBzdGFtcHMgYW5kIHN0YW1wIG5vdCBpbiBwcmVzZXJ2ZXN0YW1wcyBhbmQgc3RhbXAgaW4gbWFjaGluZWluZGV4OgorICAgICAgICAgICAgICAgICAgICAgICAgdG9yZW1vdmUuYXBwZW5kKGwpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdGFtcCBub3QgaW4gc2VlbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYi5kZWJ1ZygyLCAiU3RhbXAgJXMgaXMgbm90IHJlYWNoYWJsZSwgcmVtb3ZpbmcgcmVsYXRlZCBtYW5pZmVzdHMiICUgc3RhbXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbi5hcHBlbmQoc3RhbXApCisgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJJbnZhbGlkIGxpbmUgJyVzJyBpbiBzc3RhdGUgbWFuaWZlc3QgJyVzJyIgJSAobCwgaSkpCiAKICAgICAgICAgaWYgdG9yZW1vdmU6CiAgICAgICAgICAgICBtc2cgPSAiUmVtb3ZpbmcgJWQgcmVjaXBlcyBmcm9tIHRoZSAlcyBzeXNyb290IiAlIChsZW4odG9yZW1vdmUpLCBhKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvc3RhZ2luZy5iYmNsYXNzCmluZGV4IDg0ZTEzYmEuLjA2MmIyODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3N0YWdpbmcuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy9zdGFnaW5nLmJiY2xhc3MKQEAgLTE5OCw2ICsxOTgsMTAgQEAKICAgICAgICAgICAgIGlmIG1hbmlmZXN0LmVuZHN3aXRoKCItaW5pdGlhbC5wb3B1bGF0ZV9zeXNyb290Iik6CiAgICAgICAgICAgICAgICAgIyBza2lwIGdsaWJjLWluaXRpYWwgYW5kIGxpYmdjYy1pbml0aWFsIGR1ZSB0byBmaWxlIG92ZXJsYXAKICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbm90IG5hdGl2ZSBhbmQgKG1hbmlmZXN0LmVuZHN3aXRoKCItbmF0aXZlLnBvcHVsYXRlX3N5c3Jvb3QiKSBvciAibmF0aXZlc2RrLSIgaW4gbWFuaWZlc3QpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBpZiBuYXRpdmUgYW5kIG5vdCAobWFuaWZlc3QuZW5kc3dpdGgoIi1uYXRpdmUucG9wdWxhdGVfc3lzcm9vdCIpIG9yIG1hbmlmZXN0LmVuZHN3aXRoKCItY3Jvc3MucG9wdWxhdGVfc3lzcm9vdCIpIG9yICItY3Jvc3MtIiBpbiBtYW5pZmVzdCk6CisgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHRtYW5pZmVzdCA9IHRhcmdldGRpciArICIvIiArIG9zLnBhdGguYmFzZW5hbWUobWFuaWZlc3QpCiAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0bWFuaWZlc3QpOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC01NzMsNiArNTc3LDcgQEAKIH0KIGV4dGVuZF9yZWNpcGVfc3lzcm9vdFt2YXJkZXBzZXhjbHVkZV0gKz0gIk1BQ0hJTkVfQVJDSCBQQUNLQUdFX0VYVFJBX0FSQ0hTIFNES19BUkNIIEJVSUxEX0FSQ0ggU0RLX09TIEJCX1RBU0tERVBEQVRBIgogCitkb19wcmVwYXJlX3JlY2lwZV9zeXNyb290W2RlcHRhc2tdID0gImRvX3BvcHVsYXRlX3N5c3Jvb3QiCiBweXRob24gZG9fcHJlcGFyZV9yZWNpcGVfc3lzcm9vdCAoKSB7CiAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJleHRlbmRfcmVjaXBlX3N5c3Jvb3QiLCBkKQogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Rlcm1pbmFsLmJiY2xhc3MKaW5kZXggNzNlNzY1ZC4uNjA1OWFlOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdGVybWluYWwuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy90ZXJtaW5hbC5iYmNsYXNzCkBAIC0xNCw2ICsxNCw3IEBACiAgICAgcmV0dXJuICIgIi5qb2luKG8ubmFtZSBmb3IgbyBpbiBvZS50ZXJtaW5hbC5wcmlvcml0aXplZCgpKQogCiBkZWYgZW1pdF90ZXJtaW5hbF9mdW5jKGNvbW1hbmQsIGVudmRhdGEsIGQpOgorICAgIGltcG9ydCBiYi5idWlsZAogICAgIGNtZF9mdW5jID0gJ2RvX3Rlcm1pbmFsJwogCiAgICAgZW52ZGF0YS5zZXRWYXIoY21kX2Z1bmMsICdleGVjICcgKyBjb21tYW5kKQpAQCAtMjUsOCArMjYsNyBAQAogICAgIGJiLnV0aWxzLm1rZGlyaGllcihvcy5wYXRoLmRpcm5hbWUocnVuZmlsZSkpCiAKICAgICB3aXRoIG9wZW4ocnVuZmlsZSwgJ3cnKSBhcyBzY3JpcHQ6Ci0gICAgICAgIHNjcmlwdC53cml0ZSgnIyEvdXNyL2Jpbi9lbnYgJXNcbicgJSBkLmdldFZhcignU0hFTEwnKSkKLSAgICAgICAgc2NyaXB0LndyaXRlKCdzZXQgLWVcbicpCisgICAgICAgIHNjcmlwdC53cml0ZShiYi5idWlsZC5zaGVsbF90cmFwX2NvZGUoKSkKICAgICAgICAgYmIuZGF0YS5lbWl0X2Z1bmMoY21kX2Z1bmMsIHNjcmlwdCwgZW52ZGF0YSkKICAgICAgICAgc2NyaXB0LndyaXRlKGNtZF9mdW5jKQogICAgICAgICBzY3JpcHQud3JpdGUoIlxuIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3Rlc3RpbWFnZS5iYmNsYXNzIGIvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKaW5kZXggY2I4YzEyYS4uZmYxYzUzYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdGVzdGltYWdlLmJiY2xhc3MKQEAgLTMyLDYgKzMyLDcgQEAKICMgQm9vdGluZyBpcyBoYW5kbGVkIGJ5IHRoaXMgY2xhc3MsIGFuZCBpdCdzIG5vdCBhIHRlc3QgaW4gaXRzZWxmLgogIyBURVNUX1FFTVVCT09UX1RJTUVPVVQgY2FuIGJlIHVzZWQgdG8gc2V0IHRoZSBtYXhpbXVtIHRpbWUgaW4gc2Vjb25kcyB0aGUgbGF1bmNoIGNvZGUgd2lsbCB3YWl0IGZvciB0aGUgbG9naW4gcHJvbXB0LgogIyBURVNUX1FFTVVQQVJBTVMgY2FuIGJlIHVzZWQgdG8gcGFzcyBleHRyYSBwYXJhbWV0ZXJzIHRvIHFlbXUsIGUuZy4gIi1tIDEwMjQiIGZvciBzZXR0aW5nIHRoZSBhbW91bnQgb2YgcmFtIHRvIDEgR0IuCisjIFRFU1RfUlVOUUVNVVBBUkFNUyBjYW4gYmUgdXNlZCB0byBwYXNzIGV4dHJhIHBhcmFtZXRlcnMgdG8gcnVucWVtdSwgZS5nLiAiZ2wiIHRvIGVuYWJsZSBPcGVuR0wgYWNjZWxlcmF0aW9uLgogCiBURVNUX0xPR19ESVIgPz0gIiR7V09SS0RJUn0vdGVzdGltYWdlIgogCkBAIC02NSw2ICs2Niw3IEBACiBURVNUX1FFTVVCT09UX1RJTUVPVVQgPz0gIjEwMDAiCiBURVNUX1RBUkdFVCA/PSAicWVtdSIKIFRFU1RfUUVNVVBBUkFNUyA/PSAiIgorVEVTVF9SVU5RRU1VUEFSQU1TID89ICIiCiAKIFRFU1RJTUFHRURFUEVORFMgPSAiIgogVEVTVElNQUdFREVQRU5EU19hcHBlbmRfcWVtdWFsbCA9ICIgcWVtdS1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBxZW11LWhlbHBlci1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBxZW11LWhlbHBlci1uYXRpdmU6ZG9fYWRkdG9fcmVjaXBlX3N5c3Jvb3QiCkBAIC0yOTQsNyArMjk2LDcgQEAKICAgICB0cnk6CiAgICAgICAgICMgV2UgbmVlZCB0byBjaGVjayBpZiBydW5xZW11IGVuZHMgdW5leHBlY3RlZGx5CiAgICAgICAgICMgb3IgaWYgdGhlIHdvcmtlciBzZW5kIHVzIGEgU0lHVEVSTQotICAgICAgICB0Yy50YXJnZXQuc3RhcnQocGFyYW1zPWQuZ2V0VmFyKCJURVNUX1FFTVVQQVJBTVMiKSkKKyAgICAgICAgdGMudGFyZ2V0LnN0YXJ0KHBhcmFtcz1kLmdldFZhcigiVEVTVF9RRU1VUEFSQU1TIiksIHJ1bnFlbXVwYXJhbXM9ZC5nZXRWYXIoIlRFU1RfUlVOUUVNVVBBUkFNUyIpKQogICAgICAgICByZXN1bHRzID0gdGMucnVuVGVzdHMoKQogICAgIGV4Y2VwdCAoUnVudGltZUVycm9yLCBCbG9ja2luZ0lPRXJyb3IpIGFzIGVycjoKICAgICAgICAgaWYgaXNpbnN0YW5jZShlcnIsIFJ1bnRpbWVFcnJvcik6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1leHRsaW51eC1jb25maWcuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCmluZGV4IGM2NWM0MjEuLmI1YjFhODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LWV4dGxpbnV4LWNvbmZpZy5iYmNsYXNzCkBAIC0xNDgsNSArMTQ4LDcgQEAKICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgYmIuZmF0YWwoJ1VuYWJsZSB0byBvcGVuICVzJyAlIChjZmlsZSkpCiB9CitVQk9PVF9FWFRMSU5VWF9WQVJTID0gIkNPTlNPTEUgTUVOVV9ERVNDUklQVElPTiBST09UIEtFUk5FTF9JTUFHRSBGRFRESVIgRkRUIEtFUk5FTF9BUkdTIElOSVRSRCIKK2RvX2NyZWF0ZV9leHRsaW51eF9jb25maWdbdmFyZGVwc10gKz0gIiR7QCcgJy5qb2luKFsnVUJPT1RfRVhUTElOVVhfJXNfJXMnICUgKHYsIGwpIGZvciB2IGluIGQuZ2V0VmFyKCdVQk9PVF9FWFRMSU5VWF9WQVJTJykuc3BsaXQoKSBmb3IgbCBpbiBkLmdldFZhcignVUJPT1RfRVhUTElOVVhfTEFCRUxTJykuc3BsaXQoKV0pfSIKIAogYWRkdGFzayBjcmVhdGVfZXh0bGludXhfY29uZmlnIGJlZm9yZSBkb19pbnN0YWxsIGRvX2RlcGxveSBhZnRlciBkb19jb21waWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1zaWduLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91Ym9vdC1zaWduLmJiY2xhc3MKaW5kZXggOGVlOTA0ZS4uOWUzZDFkNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NsYXNzZXMvdWJvb3Qtc2lnbi5iYmNsYXNzCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3Vib290LXNpZ24uYmJjbGFzcwpAQCAtMTksMTEgKzE5LDE1IEBACiAjIFRoZSB0YXNrcyBzZXF1ZW5jZSBpcyBzZXQgYXMgYmVsb3csIHVzaW5nIERFUExPWV9JTUFHRV9ESVIgYXMgY29tbW9uIHBsYWNlIHRvCiAjIHRyZWF0IHRoZSBkZXZpY2UgdHJlZSBibG9iOgogIwotIyAgIHUtYm9vdDpkb19kZXBsb3lfZHRiCi0jICAgdS1ib290OmRvX2RlcGxveQotIyAgIHZpcnR1YWwva2VybmVsOmRvX2Fzc2VtYmxlX2ZpdGltYWdlCi0jICAgdS1ib290OmRvX2NvbmNhdF9kdGIKLSMgICB1LWJvb3Q6ZG9faW5zdGFsbAorIyAqIHUtYm9vdDpkb19pbnN0YWxsX2FwcGVuZAorIyAgIEluc3RhbGwgVUJPT1RfRFRCX0JJTkFSWSB0byBkYXRhZGlyLCBzbyB0aGF0IGtlcm5lbCBjYW4gdXNlIGl0IGZvcgorIyAgIHNpZ25pbmcsIGFuZCBrZXJuZWwgd2lsbCBkZXBsb3kgVUJPT1RfRFRCX0JJTkFSWSBhZnRlciBzaWducyBpdC4KKyMKKyMgKiB2aXJ0dWFsL2tlcm5lbDpkb19hc3NlbWJsZV9maXRpbWFnZQorIyAgIFNpZ24gdGhlIGltYWdlCisjCisjICogdS1ib290OmRvX2RlcGxveVtwb3N0ZnVuY3NdCisjICAgRGVwbG95IGZpbGVzIGxpa2UgVUJPT1RfRFRCX0lNQUdFLCBVQk9PVF9EVEJfU1lNTElOSyBhbmQgb3RoZXJzLgogIwogIyBGb3IgbW9yZSBkZXRhaWxzIG9uIHNpZ25hdHVyZSBwcm9jZXNzLCBwbGVhc2UgcmVmZXIgdG8gVS1Cb290IGRvY3VtZW50YXRpb24uCiAKQEAgLTM4LDU4ICs0Miw2NSBAQAogVUJPT1RfTk9EVEJfQklOQVJZID89ICJ1LWJvb3Qtbm9kdGIuJHtVQk9PVF9TVUZGSVh9IgogVUJPT1RfTk9EVEJfU1lNTElOSyA/PSAidS1ib290LW5vZHRiLSR7TUFDSElORX0uJHtVQk9PVF9TVUZGSVh9IgogCi0jCi0jIEZvbGxvd2luZyBpcyByZWxldmFudCBvbmx5IGZvciB1LWJvb3QgcmVjaXBlczoKLSMKKyMgRnVuY3Rpb25zIGluIHRoaXMgYmJjbGFzcyBpcyBmb3IgdS1ib290IG9ubHkKK1VCT09UX1BOID0gIiR7QGQuZ2V0VmFyKCdQUkVGRVJSRURfUFJPVklERVJfdS1ib290Jykgb3IgJ3UtYm9vdCd9IgogCi1kb19kZXBsb3lfZHRiICgpIHsKLQlta2RpciAtcCAke0RFUExPWURJUn0KLQljZCAke0RFUExPWURJUn0KK2NvbmNhdF9kdGIoKSB7CisJaWYgWyAiJHtVQk9PVF9TSUdOX0VOQUJMRX0iID0gIjEiIC1hICIke1BOfSIgPSAiJHtVQk9PVF9QTn0iIF07IHRoZW4KKwkJbWtkaXIgLXAgJHtERVBMT1lESVJ9CisJCWlmIFsgLWUgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9IF07IHRoZW4KKwkJCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfRFRCX0JJTkFSWX0KKwkJCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfRFRCX1NZTUxJTkt9CisJCWZpCiAKLQlpZiBbIC1mICR7Qn0vJHtVQk9PVF9EVEJfQklOQVJZfSBdOyB0aGVuCi0JCWluc3RhbGwgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9ICR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0KLQkJcm0gLWYgJHtVQk9PVF9EVEJfQklOQVJZfSAke1VCT09UX0RUQl9TWU1MSU5LfQotCQlsbiAtc2YgJHtVQk9PVF9EVEJfSU1BR0V9ICR7VUJPT1RfRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX0RUQl9JTUFHRX0gJHtVQk9PVF9EVEJfQklOQVJZfQotCWZpCi0JaWYgWyAtZiAke0J9LyR7VUJPT1RfTk9EVEJfQklOQVJZfSBdOyB0aGVuCi0JCWluc3RhbGwgJHtCfS8ke1VCT09UX05PRFRCX0JJTkFSWX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfTk9EVEJfSU1BR0V9Ci0JCXJtIC1mICR7VUJPT1RfTk9EVEJfQklOQVJZfSAke1VCT09UX05PRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX05PRFRCX0lNQUdFfSAke1VCT09UX05PRFRCX1NZTUxJTkt9Ci0JCWxuIC1zZiAke1VCT09UX05PRFRCX0lNQUdFfSAke1VCT09UX05PRFRCX0JJTkFSWX0KLQlmaQotfQorCQlpZiBbIC1mICR7Qn0vJHtVQk9PVF9OT0RUQl9CSU5BUll9IF07IHRoZW4KKyAgICAgICAgICAgIGluc3RhbGwgJHtCfS8ke1VCT09UX05PRFRCX0JJTkFSWX0gJHtERVBMT1lESVJ9LyR7VUJPT1RfTk9EVEJfSU1BR0V9CisgICAgICAgICAgICBsbiAtc2YgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9OT0RUQl9TWU1MSU5LfQorICAgICAgICAgICAgbG4gLXNmICR7VUJPT1RfTk9EVEJfSU1BR0V9ICR7VUJPT1RfTk9EVEJfQklOQVJZfQorCQlmaQogCi1kb19jb25jYXRfZHRiICgpIHsKLQkjIENvbmNhdGVuYXRlIFUtQm9vdCB3L28gRFRCICYgRFRCIHdpdGggcHVibGljIGtleQotCSMgKGNmLiBrZXJuZWwtZml0aW1hZ2UuYmJjbGFzcyBmb3IgbW9yZSBkZXRhaWxzKQotCWlmIFsgIngke1VCT09UX1NJR05fRU5BQkxFfSIgPSAieDEiIF07IHRoZW4KKwkJIyBDb25jYXRlbmF0ZSBVLUJvb3Qgdy9vIERUQiAmIERUQiB3aXRoIHB1YmxpYyBrZXkKKwkJIyAoY2YuIGtlcm5lbC1maXRpbWFnZS5iYmNsYXNzIGZvciBtb3JlIGRldGFpbHMpCisJCWRlcGxveWVkX3Vib290X2R0Yl9iaW5hcnk9JyR7REVQTE9ZX0RJUl9JTUFHRX0vJHtVQk9PVF9EVEJfSU1BR0V9JwogCQlpZiBbICJ4JHtVQk9PVF9TVUZGSVh9IiA9ICJ4aW1nIiAtbyAieCR7VUJPT1RfU1VGRklYfSIgPSAieHJvbSIgXSAmJiBcCi0JCQlbIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9EVEJfSU1BR0V9IiBdOyB0aGVuCisJCQlbIC1lICIkZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeSIgXTsgdGhlbgogCQkJY2QgJHtCfQotCQkJb2VfcnVubWFrZSBFWFRfRFRCPSR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0KKwkJCW9lX3J1bm1ha2UgRVhUX0RUQj0kZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeQogCQkJaW5zdGFsbCAke0J9LyR7VUJPT1RfQklOQVJZfSAke0RFUExPWURJUn0vJHtVQk9PVF9JTUFHRX0KLQkJCWluc3RhbGwgJHtCfS8ke1VCT09UX0JJTkFSWX0gJHtERVBMT1lfRElSX0lNQUdFfS8ke1VCT09UX0lNQUdFfQotCQllbGlmIFsgLWUgIiR7REVQTE9ZRElSfS8ke1VCT09UX05PRFRCX0lNQUdFfSIgLWEgLWUgIiR7REVQTE9ZRElSfS8ke1VCT09UX0RUQl9JTUFHRX0iIF07IHRoZW4KKwkJZWxpZiBbIC1lICIke0RFUExPWURJUn0vJHtVQk9PVF9OT0RUQl9JTUFHRX0iIC1hIC1lICIkZGVwbG95ZWRfdWJvb3RfZHRiX2JpbmFyeSIgXTsgdGhlbgogCQkJY2QgJHtERVBMT1lESVJ9Ci0JCQljYXQgJHtVQk9PVF9OT0RUQl9JTUFHRX0gJHtVQk9PVF9EVEJfSU1BR0V9IHwgdGVlICR7Qn0vJHtVQk9PVF9CSU5BUll9ID4gJHtVQk9PVF9JTUFHRX0KLQkJZWxzZQorCQkJY2F0ICR7VUJPT1RfTk9EVEJfSU1BR0V9ICRkZXBsb3llZF91Ym9vdF9kdGJfYmluYXJ5IHwgdGVlICR7Qn0vJHtVQk9PVF9CSU5BUll9ID4gJHtVQk9PVF9JTUFHRX0KKwkJZWxpZiBbIC1uICIke1VCT09UX0RUQl9CSU5BUll9IiBdOyB0aGVuCiAJCQliYndhcm4gIkZhaWx1cmUgd2hpbGUgYWRkaW5nIHB1YmxpYyBrZXkgdG8gdS1ib290IGJpbmFyeS4gVmVyaWZpZWQgYm9vdCB3b24ndCBiZSBhdmFpbGFibGUuIgogCQlmaQogCWZpCiB9CiAKKyMgSW5zdGFsbCBVQk9PVF9EVEJfQklOQVJZIHRvIGRhdGFkaXIsIHNvIHRoYXQga2VybmVsIGNhbiB1c2UgaXQgZm9yCisjIHNpZ25pbmcsIGFuZCBrZXJuZWwgd2lsbCBkZXBsb3kgVUJPT1RfRFRCX0JJTkFSWSBhZnRlciBzaWducyBpdC4KK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmIFsgIiR7VUJPT1RfU0lHTl9FTkFCTEV9IiA9ICIxIiAtYSAiJHtQTn0iID0gIiR7VUJPT1RfUE59IiBdOyB0aGVuCisJCWlmIFsgLWYgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9IF07IHRoZW4KKwkJCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0KKwkJCSMgVUJPT1RfRFRCX0JJTkFSWSBpcyBhIHN5bWxpbmsgdG8gVUJPT1RfRFRCX0lNQUdFLCBzbyB3ZQorCQkJIyBuZWVkIGJvdGggb2YgdGhlbS4KKwkJCWluc3RhbGwgJHtCfS8ke1VCT09UX0RUQl9CSU5BUll9ICR7RH0ke2RhdGFkaXJ9LyR7VUJPT1RfRFRCX0lNQUdFfQorCQkJbG4gLXNmICR7VUJPT1RfRFRCX0lNQUdFfSAke0R9JHtkYXRhZGlyfS8ke1VCT09UX0RUQl9CSU5BUll9CisJCWVsaWYgWyAtbiAiJHtVQk9PVF9EVEJfQklOQVJZfSIgXTsgdGhlbgorCQkJYmJ3YXJuICIke0J9LyR7VUJPT1RfRFRCX0JJTkFSWX0gbm90IGZvdW5kIgorCQlmaQorCWZpCit9CisKIHB5dGhvbiAoKSB7Ci0JdWJvb3RfcG4gPSBkLmdldFZhcignUFJFRkVSUkVEX1BST1ZJREVSX3UtYm9vdCcpIG9yICd1LWJvb3QnCi0JaWYgZC5nZXRWYXIoJ1VCT09UX1NJR05fRU5BQkxFJykgPT0gJzEnIGFuZCBkLmdldFZhcignUE4nKSA9PSB1Ym9vdF9wbjoKLQkJa2VybmVsX3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcpCisgICAgaWYgZC5nZXRWYXIoJ1VCT09UX1NJR05fRU5BQkxFJykgPT0gJzEnIGFuZCBkLmdldFZhcignUE4nKSA9PSBkLmdldFZhcignVUJPT1RfUE4nKToKKyAgICAgICAga2VybmVsX3BuID0gZC5nZXRWYXIoJ1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCcpCiAKLQkJIyB1LWJvb3QuZHRiIGFuZCB1LWJvb3Qtbm9kdGIuYmluIGFyZSBkZXBsb3llZCBfYmVmb3JlXyBkb19kZXBsb3kKLQkJIyBUaHVzLCBkb19kZXBsb3lfc2V0c2NlbmUgd2lsbCBhbHNvIHBvcHVsYXRlIHRoZW0gaW4gREVQTE9ZX0lNQUdFX0RJUgotCQliYi5idWlsZC5hZGR0YXNrKCdkb19kZXBsb3lfZHRiJywgJ2RvX2RlcGxveScsICdkb19jb21waWxlJywgZCkKKyAgICAgICAgIyBNYWtlICJiaXRiYWtlIHUtYm9vdCAtY2RlcGxveSIgZGVwbG95cyB0aGUgc2lnbmVkIHUtYm9vdC5kdGIKKyAgICAgICAgZC5hcHBlbmRWYXJGbGFnKCdkb19kZXBsb3knLCAnZGVwZW5kcycsICcgJXM6ZG9fZGVwbG95JyAlIGtlcm5lbF9wbikKIAotCQkjIGRvX2NvbmNhdF9kdGIgaXMgc2NoZWR1bGVkIF9iZWZvcmVfIGRvX2luc3RhbGwgYXMgaXQgb3ZlcndyaXRlIHRoZQotCQkjIHUtYm9vdC5iaW4gaW4gYm90aCBERVBMT1lESVIgYW5kIERFUExPWV9JTUFHRV9ESVIuCi0JCWJiLmJ1aWxkLmFkZHRhc2soJ2RvX2NvbmNhdF9kdGInLCAnZG9faW5zdGFsbCcsIE5vbmUsIGQpCi0JCWQuYXBwZW5kVmFyRmxhZygnZG9fY29uY2F0X2R0YicsICdkZXBlbmRzJywgJyAlczpkb19hc3NlbWJsZV9maXRpbWFnZScgJSBrZXJuZWxfcG4pCisgICAgICAgICMga2VybmVybCdzIGRvX2RlcGxveSBpcyBhIGxpdGxlIHNwZWNpYWwsIHNvIHdlIGNhbid0IHVzZQorICAgICAgICAjIGRvX2RlcGxveV9hcHBlbmQsIG90aGVyd2lzZSBpdCB3b3VsZCBvdmVycmlkZQorICAgICAgICAjIGtlcm5lbF9kb19kZXBsb3kuCisgICAgICAgIGQuYXBwZW5kVmFyRmxhZygnZG9fZGVwbG95JywgJ3ByZWZ1bmNzJywgJyBjb25jYXRfZHRiJykKIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3VwZGF0ZS1hbHRlcm5hdGl2ZXMuYmJjbGFzcyBiL3Bva3kvbWV0YS9jbGFzc2VzL3VwZGF0ZS1hbHRlcm5hdGl2ZXMuYmJjbGFzcwppbmRleCBhN2YxYTZmLi41MzdlODVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy91cGRhdGUtYWx0ZXJuYXRpdmVzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdXBkYXRlLWFsdGVybmF0aXZlcy5iYmNsYXNzCkBAIC04OSwxNSArODksMjEgQEAKICAgICBpZiBub3QgJ3ZpcnR1YWwvdXBkYXRlLWFsdGVybmF0aXZlcycgaW4gZC5nZXRWYXIoJ1BST1ZJREVTJyk6CiAgICAgICAgIGQuYXBwZW5kVmFyKCdERVBFTkRTJywgJyB2aXJ0dWFsLyR7TUxQUkVGSVh9dXBkYXRlLWFsdGVybmF0aXZlcycpCiAKLXB5dGhvbiBfX2Fub255bW91cygpIHsKK2RlZiB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CiAgICAgIyBVcGRhdGUgQWx0ZXJuYXRpdmVzIG9ubHkgd29ya3Mgb24gdGFyZ2V0IHBhY2thZ2VzLi4uCiAgICAgaWYgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnbmF0aXZlJywgZCkgb3IgXAogICAgICAgIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2Nyb3NzJywgZCkgb3IgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3NzZGsnLCBkKSBvciBcCiAgICAgICAgYmIuZGF0YS5pbmhlcml0c19jbGFzcygnY3Jvc3MtY2FuYWRpYW4nLCBkKToKLSAgICAgICAgcmV0dXJuCisgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgIyBEaXNhYmxlIHdoZW4gdGFyZ2V0aW5nIG1pbmd3MzIgKG5vIHRhcmdldCBzdXBwb3J0KQogICAgIGlmIGQuZ2V0VmFyKCJUQVJHRVRfT1MiKSA9PSAibWluZ3czMiI6CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgcmV0dXJuIFRydWUKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIGlmIG5vdCB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CiAgICAgICAgIHJldHVybgogCiAgICAgIyBjb21wdXRlIHNwZWNpYWwgdmFyZGVwcwpAQCAtMTI1LDkgKzEzMSwyMSBAQAogcG9wdWxhdGVfcGFja2FnZXNbdmFyZGVwc10gKz0gIiR7VVBEQUxUVkFSU30gJHtAZ2VuX3VwZGF0ZWFsdGVybmF0aXZlc3ZhcnMoZCl9IgogCiAjIFdlIG5lZWQgdG8gZG8gdGhlIHJlbmFtZSBhZnRlciB0aGUgaW1hZ2UgY3JlYXRpb24gc3RlcCwgYnV0IGJlZm9yZQotIyB0aGUgc3BsaXQgYW5kIHN0cmlwIHN0ZXBzLi4gIHBhY2thZ2Vjb3B5IHNlZW1zIHRvIGJlIHRoZSBlYXJsaWVzdCByZWFzb25hYmxlCi0jIHBsYWNlLgotcHl0aG9uIHBlcmZvcm1fcGFja2FnZWNvcHlfYXBwZW5kICgpIHsKKyMgdGhlIHNwbGl0IGFuZCBzdHJpcCBzdGVwcy4uICBQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgaXMgdGhlIHJpZ2h0CisjIHBsYWNlIGZvciB0aGF0LgorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJhcHBseV91cGRhdGVfYWx0ZXJuYXRpdmVfcmVuYW1lcyIKK3B5dGhvbiBhcHBseV91cGRhdGVfYWx0ZXJuYXRpdmVfcmVuYW1lcyAoKSB7CisgICAgaWYgbm90IHVwZGF0ZV9hbHRlcm5hdGl2ZXNfZW5hYmxlZChkKToKKyAgICAgICByZXR1cm4KKworICAgIGltcG9ydCByZQorCisgICAgZGVmIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKToKKyAgICAgICAgZiA9IGQuZ2V0VmFyKCdGSUxFU18nICsgcGtnKQorICAgICAgICBpZiBmOgorICAgICAgICAgICAgZiA9IHJlLnN1YihyJyhefFxzKSVzKFxzfCQpJyAlIHJlLmVzY2FwZSAoYWx0X3RhcmdldCksIHInXDElc1wyJyAlIGFsdF90YXJnZXRfcmVuYW1lLCBmKQorICAgICAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBwa2csIGYpCisKICAgICAjIENoZWNrIGZvciBkZXByZWNhdGVkIHVzYWdlLi4uCiAgICAgcG4gPSBkLmdldFZhcignQlBOJykKICAgICBpZiBkLmdldFZhcignQUxURVJOQVRJVkVfTElOS1MnKSAhPSBOb25lOgpAQCAtMTM3LDcgKzE1NSw3IEBACiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dEJykKICAgICBmb3IgcGtnIGluIChkLmdldFZhcignUEFDS0FHRVMnKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgIyBJZiB0aGUgc3JjID09IGRlc3QsIHdlIGtub3cgd2UgbmVlZCB0byByZW5hbWUgdGhlIGRlc3QgYnkgYXBwZW5kaW5nICR7QlBOfQotICAgICAgICBsaW5rX3JlbmFtZSA9IHt9CisgICAgICAgIGxpbmtfcmVuYW1lID0gW10KICAgICAgICAgZm9yIGFsdF9uYW1lIGluIChkLmdldFZhcignQUxURVJOQVRJVkVfJXMnICUgcGtnKSBvciAiIikuc3BsaXQoKToKICAgICAgICAgICAgIGFsdF9saW5rICAgICA9IGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgYWx0X25hbWUpCiAgICAgICAgICAgICBpZiBub3QgYWx0X2xpbms6CkBAIC0xNjMsMTAgKzE4MSwxMSBAQAogICAgICAgICAgICAgICAgIGVsaWYgb3MucGF0aC5sZXhpc3RzKHNyYyk6CiAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNsaW5rKHNyYyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIERlbGF5IHJlbmFtZSBvZiBsaW5rcwotICAgICAgICAgICAgICAgICAgICAgICAgbGlua19yZW5hbWVbYWx0X3RhcmdldF0gPSBhbHRfdGFyZ2V0X3JlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgbGlua19yZW5hbWUuYXBwZW5kKChhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogUmVuYW1lICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVuYW1lKHNyYywgZGVzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGJiLndhcm4oIiVzOiBhbHRlcm5hdGl2ZSB0YXJnZXQgKCVzIG9yICVzKSBkb2VzIG5vdCBleGlzdCwgc2tpcHBpbmcuLi4iICUgKHBuLCBhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0xNzQsMzEgKzE5MywzNSBAQAogCiAgICAgICAgICMgUHJvY2VzcyBkZWxheWVkIGxpbmsgbmFtZXMKICAgICAgICAgIyBEbyB0aGVzZSBhZnRlciBvdGhlciByZW5hbWVzIHNvIHdlIGNhbiBjb3JyZWN0IGJyb2tlbiBsaW5rcwotICAgICAgICBmb3IgYWx0X3RhcmdldCBpbiBsaW5rX3JlbmFtZToKKyAgICAgICAgZm9yIChhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSkgaW4gbGlua19yZW5hbWU6CiAgICAgICAgICAgICBzcmMgPSAnJXMvJXMnICUgKHBrZ2Rlc3QsIGFsdF90YXJnZXQpCi0gICAgICAgICAgICBkZXN0ID0gJyVzLyVzJyAlIChwa2dkZXN0LCBsaW5rX3JlbmFtZVthbHRfdGFyZ2V0XSkKLSAgICAgICAgICAgIGxpbmsgPSBvcy5yZWFkbGluayhzcmMpCisgICAgICAgICAgICBkZXN0ID0gJyVzLyVzJyAlIChwa2dkZXN0LCBhbHRfdGFyZ2V0X3JlbmFtZSkKICAgICAgICAgICAgIGxpbmtfdGFyZ2V0ID0gb2UucGF0aC5yZWFscGF0aChzcmMsIHBrZ2Rlc3QsIFRydWUpCiAKICAgICAgICAgICAgIGlmIG9zLnBhdGgubGV4aXN0cyhsaW5rX3RhcmdldCk6CiAgICAgICAgICAgICAgICAgIyBPaywgdGhlIGxpbmtfdGFyZ2V0IGV4aXN0cywgd2UgY2FuIHJlbmFtZQotICAgICAgICAgICAgICAgIGJiLm5vdGUoJyVzOiBSZW5hbWUgKGxpbmspICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgbGlua19yZW5hbWVbYWx0X3RhcmdldF0pKQorICAgICAgICAgICAgICAgIGJiLm5vdGUoJyVzOiBSZW5hbWUgKGxpbmspICVzIC0+ICVzJyAlIChwbiwgYWx0X3RhcmdldCwgYWx0X3RhcmdldF9yZW5hbWUpKQogICAgICAgICAgICAgICAgIG9zLnJlbmFtZShzcmMsIGRlc3QpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgVHJ5IHRvIHJlc29sdmUgdGhlIGJyb2tlbiBsaW5rIHRvIGxpbmsuJHtCUE59CiAgICAgICAgICAgICAgICAgbGlua19tYXliZSA9ICclcy4lcycgJSAob3MucmVhZGxpbmsoc3JjKSwgcG4pCiAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5sZXhpc3RzKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoc3JjKSwgbGlua19tYXliZSkpOgogICAgICAgICAgICAgICAgICAgICAjIE9rLCB0aGUgcmVuYW1lZCBsaW5rIHRhcmdldCBleGlzdHMuLiBjcmVhdGUgYSBuZXcgbGluaywgYW5kIHJlbW92ZSB0aGUgb3JpZ2luYWwKLSAgICAgICAgICAgICAgICAgICAgYmIubm90ZSgnJXM6IENyZWF0aW5nIG5ldyBsaW5rICVzIC0+ICVzJyAlIChwbiwgbGlua19yZW5hbWVbYWx0X3RhcmdldF0sIGxpbmtfbWF5YmUpKQorICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCclczogQ3JlYXRpbmcgbmV3IGxpbmsgJXMgLT4gJXMnICUgKHBuLCBhbHRfdGFyZ2V0X3JlbmFtZSwgbGlua19tYXliZSkpCiAgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsobGlua19tYXliZSwgZGVzdCkKICAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKHNyYykKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBiYi53YXJuKCclczogVW5hYmxlIHRvIHJlc29sdmUgZGFuZ2xpbmcgc3ltbGluazogJXMnICUgKHBuLCBhbHRfdGFyZ2V0KSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIHVwZGF0ZV9maWxlcyhhbHRfdGFyZ2V0LCBhbHRfdGFyZ2V0X3JlbmFtZSwgcGtnLCBkKQogfQogCiBQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gInBvcHVsYXRlX3BhY2thZ2VzX3VwZGF0ZWFsdGVybmF0aXZlcyAiCiAKIHB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc191cGRhdGVhbHRlcm5hdGl2ZXMgKCkgeworICAgIGlmIG5vdCB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CisgICAgICAgIHJldHVybgorCiAgICAgcG4gPSBkLmdldFZhcignQlBOJykKIAogICAgICMgRG8gYWN0dWFsIHVwZGF0ZSBhbHRlcm5hdGl2ZXMgcHJvY2Vzc2luZwpAQCAtMjUyLDEwICsyNzUsMTUgQEAKIH0KIAogcHl0aG9uIHBhY2thZ2VfZG9fZmlsZWRlcHNfYXBwZW5kICgpIHsKKyAgICBpZiB1cGRhdGVfYWx0ZXJuYXRpdmVzX2VuYWJsZWQoZCk6CisgICAgICAgIGFwcGx5X3VwZGF0ZV9hbHRlcm5hdGl2ZV9wcm92aWRlcyhkKQorfQorCitkZWYgYXBwbHlfdXBkYXRlX2FsdGVybmF0aXZlX3Byb3ZpZGVzKGQpOgogICAgIHBuID0gZC5nZXRWYXIoJ0JQTicpCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKIAotICAgIGZvciBwa2cgaW4gcGFja2FnZXMuc3BsaXQoKToKKyAgICBmb3IgcGtnIGluIGQuZ2V0VmFyKCdQQUNLQUdFUycpLnNwbGl0KCk6CiAgICAgICAgIGZvciBhbHRfbmFtZSBpbiAoZC5nZXRWYXIoJ0FMVEVSTkFUSVZFXyVzJyAlIHBrZykgb3IgIiIpLnNwbGl0KCk6CiAgICAgICAgICAgICBhbHRfbGluayAgICAgPSBkLmdldFZhckZsYWcoJ0FMVEVSTkFUSVZFX0xJTktfTkFNRScsIGFsdF9uYW1lKQogICAgICAgICAgICAgYWx0X3RhcmdldCAgID0gZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVRfJXMnICUgcGtnLCBhbHRfbmFtZSkgb3IgZC5nZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9UQVJHRVQnLCBhbHRfbmFtZSkKQEAgLTI3Myw1ICszMDEsNCBAQAogICAgICAgICAgICAgZC5hcHBlbmRWYXIoJ0ZJTEVSUFJPVklERVNfJXNfJXMnICUgKHRyYW5zX3RhcmdldCwgcGtnKSwgIiAiICsgYWx0X2xpbmspCiAgICAgICAgICAgICBpZiBub3QgdHJhbnNfdGFyZ2V0IGluIChkLmdldFZhcignRklMRVJQUk9WSURFU0ZMSVNUXyVzJyAlIHBrZykgb3IgIiIpOgogICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFUlBST1ZJREVTRkxJU1RfJXMnICUgcGtnLCAiICIgKyB0cmFuc190YXJnZXQpCi19CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy91dGlscy5iYmNsYXNzCmluZGV4IDAwMTZlNWMuLmNkM2QwNTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jbGFzc2VzL3V0aWxzLmJiY2xhc3MKKysrIGIvcG9reS9tZXRhL2NsYXNzZXMvdXRpbHMuYmJjbGFzcwpAQCAtMjY0LDcgKzI2NCw3IEBACiByZWFscGF0aD1cYHJlYWRsaW5rIC1mbiBcJDBcYAogcmVhbGRpcj1cYGRpcm5hbWUgXCRyZWFscGF0aFxgCiBleHBvcnQgJGV4cG9ydHN0cmluZwotZXhlYyAtYSBcYGRpcm5hbWUgXCRyZWFscGF0aFxgLyRjbWRuYW1lIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvJGNtZG5hbWUucmVhbCAiXCRAIgorZXhlYyAtYSAiXCQwIiBcJHJlYWxkaXIvJGNtZG5hbWUucmVhbCAiXCRAIgogRU5ECiAJY2htb2QgK3ggJGNtZAogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NsYXNzZXMvd2FmLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcwppbmRleCAxOWU5Mzc2Li44ZTZkNzU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcworKysgYi9wb2t5L21ldGEvY2xhc3Nlcy93YWYuYmJjbGFzcwpAQCAtMSw2ICsxLDggQEAKICMgYXZvaWRzIGJ1aWxkIGJyZWFrcyB3aGVuIHVzaW5nIG5vLXN0YXRpYy1saWJzLmluYwogRElTQUJMRV9TVEFUSUMgPSAiIgogCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCisKIEVYVFJBX09FQ09ORl9hcHBlbmQgPSAiICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30iCiAKIHB5dGhvbiB3YWZfcHJlY29uZmlndXJlKCkgewpAQCAtMjIsMTYgKzI0LDE2IEBACiBkb19jb25maWd1cmVbcHJlZnVuY3NdICs9ICJ3YWZfcHJlY29uZmlndXJlIgogCiB3YWZfZG9fY29uZmlndXJlKCkgewotCSR7U30vd2FmIGNvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gJHtXQUZfRVhUUkFfQ09ORn0gJHtFWFRSQV9PRUNPTkZ9CisJKGNkICR7U30gJiYgLi93YWYgY29uZmlndXJlIC1vICR7Qn0gLS1wcmVmaXg9JHtwcmVmaXh9ICR7V0FGX0VYVFJBX0NPTkZ9ICR7RVhUUkFfT0VDT05GfSkKIH0KIAogZG9fY29tcGlsZVtwcm9ncmVzc10gPSAib3V0b2Y6XlxbXHMqKFxkKykvXHMqKFxkKylcXVxzKyIKIHdhZl9kb19jb21waWxlKCkgIHsKLQkke1N9L3dhZiBidWlsZCAke0BvZS51dGlscy5wYXJhbGxlbF9tYWtlX2FyZ3VtZW50KGQsICctaiVkJywgbGltaXQ9NjQpfQorCShjZCAke1N9ICYmIC4vd2FmIGJ1aWxkICR7QG9lLnV0aWxzLnBhcmFsbGVsX21ha2VfYXJndW1lbnQoZCwgJy1qJWQnLCBsaW1pdD02NCl9KQogfQogCiB3YWZfZG9faW5zdGFsbCgpIHsKLQkke1N9L3dhZiBpbnN0YWxsIC0tZGVzdGRpcj0ke0R9CisJKGNkICR7U30gJiYgLi93YWYgaW5zdGFsbCAtLWRlc3RkaXI9JHtEfSkKIH0KIAogRVhQT1JUX0ZVTkNUSU9OUyBkb19jb25maWd1cmUgZG9fY29tcGlsZSBkb19pbnN0YWxsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY2xhc3Nlcy94bWxjYXRhbG9nLmJiY2xhc3MgYi9wb2t5L21ldGEvY2xhc3Nlcy94bWxjYXRhbG9nLmJiY2xhc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc1YWVmOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jbGFzc2VzL3htbGNhdGFsb2cuYmJjbGFzcwpAQCAtMCwwICsxLDI0IEBACisjIEEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQgbGlzdCBvZiBYTUwgY2F0YWxvZ3MgdG8gYmUgcmVnaXN0ZXJlZCwgZm9yIGV4YW1wbGUKKyMgIiR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbCIuCitYTUxDQVRBTE9HUyA/PSAiIgorCitTWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kID0gIiB4bWxjYXRhbG9nX3NzdGF0ZV9wb3N0aW5zdCIKKworeG1sY2F0YWxvZ19jb21wbGV0ZSgpIHsKKwlST09UQ0FUQUxPRz0iJHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3htbC9jYXRhbG9nIgorCWlmIFsgISAtZiAkUk9PVENBVEFMT0cgXTsgdGhlbgorCQlta2RpciAtLXBhcmVudHMgJChkaXJuYW1lICRST09UQ0FUQUxPRykKKwkJeG1sY2F0YWxvZyAtLW5vb3V0IC0tY3JlYXRlICRST09UQ0FUQUxPRworCWZpCisJZm9yIENBVEFMT0cgaW4gJHtYTUxDQVRBTE9HU307IGRvCisJCXhtbGNhdGFsb2cgLS1ub291dCAtLWFkZCBuZXh0Q2F0YWxvZyB1bnVzZWQgZmlsZTovLyRDQVRBTE9HICRST09UQ0FUQUxPRworCWRvbmUKK30KKworeG1sY2F0YWxvZ19zc3RhdGVfcG9zdGluc3QoKSB7CisJbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisJZGVzdD0ke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vcG9zdGluc3QtJHtQTn0teG1sY2F0YWxvZworCWVjaG8gJyMhL2Jpbi9zaCcgPiAkZGVzdAorCWVjaG8gJyR7eG1sY2F0YWxvZ19jb21wbGV0ZX0nID4+ICRkZXN0CisJY2htb2QgMDc1NSAkZGVzdAorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mIGIvcG9reS9tZXRhL2NvbmYvYml0YmFrZS5jb25mCmluZGV4IGRjZjIwMDcuLjdmOGIwNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2JpdGJha2UuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9iaXRiYWtlLmNvbmYKQEAgLTEyMyw3ICsxMjMsNyBAQAogVFVORV9GRUFUVVJFUyA/Pz0gIiR7VFVORV9GRUFUVVJFU190dW5lLSR7REVGQVVMVFRVTkV9fSIKIExJQkNFWFRFTlNJT04gPz89ICIiCiBBQklFWFRFTlNJT04gPz89ICIiCi1VU0VfTkxTID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWxvY2FsZS1jb2RlJywgJ3llcycsICdubycsIGQpfSIKK1VTRV9OTFMgPz89ICJ5ZXMiCiBTREtVU0VfTkxTID8/PSAieWVzIgogCiBUQVJHRVRfQVJDSCA9ICIke1RVTkVfQVJDSH0iCkBAIC0xOTksOSArMTk5LDkgQEAKICMgUGFja2FnZSBkZWZhdWx0IHZhcmlhYmxlcy4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi1QTiA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCi1QViA9ICIke0BiYi5wYXJzZS5CQkhhbmRsZXIudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMV0gb3IgJzEuMCd9IgotUFIgPSAiJHtAYmIucGFyc2UuQkJIYW5kbGVyLnZhcnNfZnJvbV9maWxlKGQuZ2V0VmFyKCdGSUxFJywgRmFsc2UpLGQpWzJdIG9yICdyMCd9IgorUE4gPSAiJHtAYmIucGFyc2UudmFyc19mcm9tX2ZpbGUoZC5nZXRWYXIoJ0ZJTEUnLCBGYWxzZSksZClbMF0gb3IgJ2RlZmF1bHRwa2duYW1lJ30iCitQViA9ICIke0BiYi5wYXJzZS52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsxXSBvciAnMS4wJ30iCitQUiA9ICIke0BiYi5wYXJzZS52YXJzX2Zyb21fZmlsZShkLmdldFZhcignRklMRScsIEZhbHNlKSxkKVsyXSBvciAncjAnfSIKIFBFID0gIiIKIFBGID0gIiR7UE59LSR7RVhURU5EUEV9JHtQVn0tJHtQUn0iCiBFWFRFTkRQRSA9ICIke0BbJycsJyR7UEV9XyddW2ludChkLmdldFZhcignUEUnKSBvciAwKSA+IDBdfSIKQEAgLTIzNyw2ICsyMzcsMTAgQEAKICNTVU1NQVJZXyR7UE59ID89ICIke1NVTU1BUll9IgogI0RFU0NSSVBUSU9OXyR7UE59ID89ICIke0RFU0NSSVBUSU9OfSIKIAorU1VNTUFSWV8ke1BOfS1zcmMgPz0gIiR7U1VNTUFSWX0gLSBTb3VyY2UgZmlsZXMiCitERVNDUklQVElPTl8ke1BOfS1zcmMgPz0gIiR7REVTQ1JJUFRJT059ICBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKKwogU1VNTUFSWV8ke1BOfS1kYmcgPz0gIiR7U1VNTUFSWX0gLSBEZWJ1Z2dpbmcgZmlsZXMiCiBERVNDUklQVElPTl8ke1BOfS1kYmcgPz0gIiR7REVTQ1JJUFRJT059ICBcCiBUaGlzIHBhY2thZ2UgY29udGFpbnMgRUxGIHN5bWJvbHMgYW5kIHJlbGF0ZWQgc291cmNlcyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiIKQEAgLTI4Miw4ICsyODYsMTAgQEAKICMgYXQgbGVhc3QgbWVhbnMgYnVpbGRzIGFyZW4ndCBjb21wbGV0ZWx5IGJyb2tlbiBhbmQgc3ltbGlua3MgZG9uJ3QgdGFrZSB1cCBtdWNoIHNwYWNlLgogU09MSUJTREVWX2RhcndpbiA9ICIuZHlsaWJicm9rZW4iCiAKK1BBQ0tBR0VfREVCVUdfU1BMSVRfU1RZTEUgPz0gImRlYnVnLXdpdGgtc3JjcGtnIgorCiBQQUNLQUdFX0JFRk9SRV9QTiA/PSAiIgotUEFDS0FHRVMgPSAiJHtQTn0tZGJnICR7UE59LXN0YXRpY2RldiAke1BOfS1kZXYgJHtQTn0tZG9jICR7UE59LWxvY2FsZSAke1BBQ0tBR0VfQkVGT1JFX1BOfSAke1BOfSIKK1BBQ0tBR0VTID0gIiR7UE59LXNyYyAke1BOfS1kYmcgJHtQTn0tc3RhdGljZGV2ICR7UE59LWRldiAke1BOfS1kb2MgJHtQTn0tbG9jYWxlICR7UEFDS0FHRV9CRUZPUkVfUE59ICR7UE59IgogUEFDS0FHRVNfRFlOQU1JQyA9ICJeJHtQTn0tbG9jYWxlLS4qIgogRklMRVMgPSAiIgogCkBAIC0zMjIsNiArMzI4LDExIEBACiBTRUNUSU9OXyR7UE59LWRiZyA9ICJkZXZlbCIKIEFMTE9XX0VNUFRZXyR7UE59LWRiZyA9ICIxIgogCisjIFRoZSBmaWxlcyBsaXN0IGZvciBzb3VyY2UgcGFja2FnZXMgYXJlIGR5bmFtaWNhbGx5IHNldCBiYXNlZCBvbgorIyBQQUNLQUdFX0RFQlVHX1NQTElUX1NUWUxFCitGSUxFU18ke1BOfS1zcmMgPSAiIgorU0VDVElPTl8ke1BOfS1zcmMgPSAiZGV2ZWwiCisKIEZJTEVTXyR7UE59LWxvY2FsZSA9ICIke2RhdGFkaXJ9L2xvY2FsZSIKIAogIyBGaWxlIG1hbmlmZXN0CkBAIC00ODMsNyArNDk0LDcgQEAKICAgICBmZ3JlcCBmaWxlIGZpbmQgZmxvY2sgZysrIGdhd2sgZ2NjIGdldGNvbmYgZ2V0b3B0IGdpdCBncmVwIGd1bnppcCBnemlwIFwKICAgICBoZWFkIGhvc3RuYW1lIGlkIGluc3RhbGwgbGQgbGRkIGxuIGxzIG1ha2UgbWFrZWluZm8gbWQ1c3VtIG1rZGlyIG1rbm9kIFwKICAgICBta3RlbXAgbXYgbm0gb2JqY29weSBvYmpkdW1wIG9kIHBhdGNoIHBlcmwgcG9kMm1hbiBwciBwcmludGYgcHdkIHB5dGhvbjIgXAotICAgIHB5dGhvbjIuNyBweXRob24zIHJhbmxpYiByZWFkZWxmIHJlYWRsaW5rIHJtIHJtZGlyIHJwY2dlbiBzZWQgc2ggc2hhMjU2c3VtIFwKKyAgICBweXRob24yLjcgcHl0aG9uMyByYW5saWIgcmVhZGVsZiByZWFkbGluayByZWFscGF0aCBybSBybWRpciBycGNnZW4gc2VkIHNlcSBzaCBzaGEyNTZzdW0gXAogICAgIHNsZWVwIHNvcnQgc3BsaXQgc3RhdCBzdHJpbmdzIHN0cmlwIHRhaWwgdGFyIHRlZSB0ZXN0IHRvdWNoIHRyIHRydWUgdW5hbWUgXAogICAgIHVuaXEgd2Mgd2dldCB3aGljaCB4YXJncyBcCiAiCkBAIC00OTIsNyArNTAzLDcgQEAKIEhPU1RUT09MUyArPSAiJHtAJ2lwIHBpbmcgcHMgc2NwIHNzaCBzdHR5JyBpZiAoYmIudXRpbHMuY29udGFpbnNfYW55KCdJTUFHRV9DTEFTU0VTJywgJ3Rlc3RpbWFnZSB0ZXN0c2RrJywgVHJ1ZSwgRmFsc2UsIGQpIG9yIGFueSh4IGluIChkLmdldFZhcigiQkJJTkNMVURFRCIpIG9yICIiKSBmb3IgeCBpbiBbInRlc3RpbWFnZS5iYmNsYXNzIiwgInRlc3RzZGsuYmJjbGFzcyJdKSkgZWxzZSAnJ30iCiAKICMgTGluayB0byB0aGVzZSBpZiBwcmVzZW50Ci1IT1NUVE9PTFNfTk9ORkFUQUwgKz0gImF3cyBjY2FjaGUgZ2NjLWFyIGdwZyBsZC5iZmQgbGQuZ29sZCBuYyBwaWd6IHNmdHAgc29jYXQgc3NoIHN1ZG8iCitIT1NUVE9PTFNfTk9ORkFUQUwgKz0gImF3cyBnY2MtYXIgZ3BnIGxkLmJmZCBsZC5nb2xkIG5jIHBpZ3ogc2Z0cCBzb2NhdCBzc2ggc3VkbyIKIAogIyBUZW1wb3JhcnkgYWRkIGZldyBtb3JlIGRldGVjdGVkIGluIGJpdGJha2Ugd29ybGQKIEhPU1RUT09MU19OT05GQVRBTCArPSAiam9pbiBubCBzaXplIHllcyB6Y2F0IgpAQCAtNTA0LDEwICs1MTUsNiBAQAogSE9TVFRPT0xTX05PTkZBVEFMICs9ICJzY3AiCiAKIENDQUNIRSA/Pz0gIiIKLSMgY2NhY2hlIDwgMy4xLjEwIHdpbGwgY3JlYXRlIENDQUNIRV9ESVIgb24gc3RhcnR1cCBldmVuIGlmIGRpc2FibGVkLCBhbmQKLSMgYXV0b2dlbiBzZXRzIEhPTUU9L2Rldi9udWxsIHNvIGluIGNlcnRhaW4gc2l0dWF0aW9ucyBidWlsZHMgY2FuIGZhaWwuCi0jIEV4cGxpY2l0bHkgZXhwb3J0IENDQUNIRV9ESVIgdW50aWwgd2UgY2FuIGFzc3VtZSBjY2FjaGUgPjMuMS4xMCBvbiB0aGUgaG9zdC4KLWV4cG9ydCBDQ0FDSEVfRElSID8/PSAiJHtAb3MuZ2V0ZW52KCdIT01FJyl9Ly5jY2FjaGUiCiAKIFRPT0xDSEFJTl9PUFRJT05TID0gIiAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IgogCkBAIC01MTcsOSArNTI0LDkgQEAKIGV4cG9ydCBDUFAgPSAiJHtIT1NUX1BSRUZJWH1nY2MgLUUke1RPT0xDSEFJTl9PUFRJT05TfSAke0hPU1RfQ0NfQVJDSH0iCiBleHBvcnQgTEQgPSAiJHtIT1NUX1BSRUZJWH1sZCR7VE9PTENIQUlOX09QVElPTlN9ICR7SE9TVF9MRF9BUkNIfSIKIGV4cG9ydCBDQ0xEID0gIiR7Q0N9IgotZXhwb3J0IEFSID0gIiR7SE9TVF9QUkVGSVh9YXIiCitleHBvcnQgQVIgPSAiJHtIT1NUX1BSRUZJWH1nY2MtYXIiCiBleHBvcnQgQVMgPSAiJHtIT1NUX1BSRUZJWH1hcyAke0hPU1RfQVNfQVJDSH0iCi1leHBvcnQgUkFOTElCID0gIiR7SE9TVF9QUkVGSVh9cmFubGliIgorZXhwb3J0IFJBTkxJQiA9ICIke0hPU1RfUFJFRklYfWdjYy1yYW5saWIiCiBleHBvcnQgU1RSSVAgPSAiJHtIT1NUX1BSRUZJWH1zdHJpcCIKIGV4cG9ydCBPQkpDT1BZID0gIiR7SE9TVF9QUkVGSVh9b2JqY29weSIKIGV4cG9ydCBPQkpEVU1QID0gIiR7SE9TVF9QUkVGSVh9b2JqZHVtcCIKQEAgLTU2Miw3ICs1NjksNyBAQAogZXhwb3J0IFRBUkdFVF9DUFBGTEFHUyA9ICIiCiAKIGV4cG9ydCBCVUlMRF9DRkxBR1MgPSAiJHtCVUlMRF9DUFBGTEFHU30gJHtCVUlMRF9PUFRJTUlaQVRJT059IgotQlVJTERTREtfQ0ZMQUdTID0gIiR7QlVJTERTREtfQ1BQRkxBR1N9ICR7QlVJTERfT1BUSU1JWkFUSU9OfSIKK0JVSUxEU0RLX0NGTEFHUyA9ICIke0JVSUxEU0RLX0NQUEZMQUdTfSAke0JVSUxEX09QVElNSVpBVElPTn0gJHtERUJVR19QUkVGSVhfTUFQfSIKIGV4cG9ydCBDRkxBR1MgPSAiJHtUQVJHRVRfQ0ZMQUdTfSIKIGV4cG9ydCBUQVJHRVRfQ0ZMQUdTID0gIiR7VEFSR0VUX0NQUEZMQUdTfSAke1NFTEVDVEVEX09QVElNSVpBVElPTn0iCiAKQEAgLTU3Myw2ICs1ODAsNyBAQAogCiBleHBvcnQgQlVJTERfTERGTEFHUyA9ICItTCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAtTCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIC1XbCwtLWVuYWJsZS1uZXctZHRhZ3MgXAogICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgLVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSX05BVElWRX0gXApAQCAtNjAyLDcgKzYxMCw4IEBACiAjIE9wdGltaXphdGlvbiBmbGFncy4KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBCZXdhcmU6IGFwcGxpZWQgbGFzdCB0byBmaXJzdAotREVCVUdfUFJFRklYX01BUCA/PSAiLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7V09SS0RJUn09L3Vzci9zcmMvZGVidWcvJHtQTn0vJHtFWFRFTkRQRX0ke1BWfS0ke1BSfSBcCitERUJVR19QUkVGSVhfTUFQID89ICItZm1hY3JvLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKKyAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1dPUktESVJ9PS91c3Ivc3JjL2RlYnVnLyR7UE59LyR7RVhURU5EUEV9JHtQVn0tJHtQUn0gXAogICAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfSE9TVH09IFwKICAgICAgICAgICAgICAgICAgICAgIC1mZGVidWctcHJlZml4LW1hcD0ke1NUQUdJTkdfRElSX05BVElWRX09IFwKICIKQEAgLTYxMCwxMCArNjE5LDExIEBACiAKICMgRGlzYWJsZWQgdW50aWwgdGhlIG9wdGlvbiB3b3JrcyBwcm9wZXJseSAtZmVsaW1pbmF0ZS1kd2FyZjItZHVwcwogRlVMTF9PUFRJTUlaQVRJT04gPSAiLU8yIC1waXBlICR7REVCVUdfRkxBR1N9IgotREVCVUdfT1BUSU1JWkFUSU9OID0gIi1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlIgorREVCVUdfT1BUSU1JWkFUSU9OID0gIi1PZyAke0RFQlVHX0ZMQUdTfSAtcGlwZSIKIFNFTEVDVEVEX09QVElNSVpBVElPTiA9ICIke0BkLmdldFZhcihvZS51dGlscy52YXJ0cnVlKCdERUJVR19CVUlMRCcsICdERUJVR19PUFRJTUlaQVRJT04nLCAnRlVMTF9PUFRJTUlaQVRJT04nLCBkKSl9IgotU0VMRUNURURfT1BUSU1JWkFUSU9OW3ZhcmRlcHNdICs9ICJGVUxMX09QVElNSVpBVElPTiBERUJVR19PUFRJTUlaQVRJT04iCi1CVUlMRF9PUFRJTUlaQVRJT04gPSAiJHtAb2UudXRpbHMudmFydHJ1ZSgnREVCVUdfQlVJTEQnLCAnLU8gLWcgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyJywgJy1PMicsIGQpfSAtcGlwZSIKK1NFTEVDVEVEX09QVElNSVpBVElPTlt2YXJkZXBzXSArPSAiRlVMTF9PUFRJTUlaQVRJT04gREVCVUdfT1BUSU1JWkFUSU9OIERFQlVHX0JVSUxEIgorQlVJTERfT1BUSU1JWkFUSU9OID0gIiR7QG9lLnV0aWxzLnZhcnRydWUoJ0RFQlVHX0JVSUxEJywgJy1PZyAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMnLCAnLU8yJywgZCl9IC1waXBlIgorQlVJTERfT1BUSU1JWkFUSU9OW3ZhcmRlcHNdICs9ICJERUJVR19CVUlMRCIKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIFNldHRpbmdzIHVzZWQgYnkgYml0YmFrZS1sYXllcnMuCkBAIC03OTEsNiArODAxLDkgQEAKICMgRGVmYXVsdCB0byBzZXR0aW5nIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gY3B1IGNvdW50CiBQQVJBTExFTF9NQUtFID89ICItaiAke0BvZS51dGlscy5jcHVfY291bnQoKX0iCiAKKyMgRGVmYXVsdCBwYXJhbGxlbGlzbSBhbmQgcmVzb3VyY2UgdXNhZ2UgZm9yIHh6CitYWl9ERUZBVUxUUyA/PSAiLS1tZW1saW1pdD01MCUgLS10aHJlYWRzPSR7QG9lLnV0aWxzLmNwdV9jb3VudCgpfSIKKwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIE1hZ2ljIENvb2tpZSBmb3IgU0FOSVRZIENIRUNLCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKQEAgLTgxNiw3ICs4MjksNyBAQAogIyBOYXRpdmUgZGlzdHJvIGZlYXR1cmVzICh3aWxsIGFsd2F5cyBiZSB1c2VkIGZvciAtbmF0aXZlLCBldmVuIGlmIHRoZXkKICMgYXJlIG5vdCBlbmFibGVkIGZvciB0YXJnZXQpCiBESVNUUk9fRkVBVFVSRVNfTkFUSVZFID89ICJ4MTEgaXB2NiB4YXR0ciIKLURJU1RST19GRUFUVVJFU19OQVRJVkVTREsgPz0gIngxMSBsaWJjLWNoYXJzZXRzIGxpYmMtbG9jYWxlcyBsaWJjLWxvY2FsZS1jb2RlIgorRElTVFJPX0ZFQVRVUkVTX05BVElWRVNESyA/PSAieDExIgogCiAjIE5vcm1hbGx5IHRhcmdldCBkaXN0cm8gZmVhdHVyZXMgd2lsbCBub3QgYmUgYXBwbGllZCB0byBuYXRpdmUgYnVpbGRzOgogIyBOYXRpdmUgZGlzdHJvIGZlYXR1cmVzIG9uIHRoaXMgbGlzdCB3aWxsIHVzZSB0aGUgdGFyZ2V0IGZlYXR1cmUgdmFsdWUKQEAgLTg2Nyw3ICs4ODAsOSBAQAogICAgIFNUQU1QU19ESVIgUFJTRVJWX0RVTVBESVIgUFJTRVJWX0RVTVBGSUxFIFBSU0VSVl9MT0NLRE9XTiBQQVJBTExFTF9NQUtFIFwKICAgICBDQ0FDSEVfRElSIEVYVEVSTkFMX1RPT0xDSEFJTiBDQ0FDSEUgQ0NBQ0hFX05PSEFTSERJUiBMSUNFTlNFX1BBVEggU0RLUEtHU1VGRklYIFwKICAgICBXQVJOX1FBIEVSUk9SX1FBIFdPUktESVIgU1RBTVBDTEVBTiBQS0dEQVRBX0RJUiBCVUlMRF9BUkNIIFNTVEFURV9QS0dBUkNIIFwKLSAgICBCQl9XT1JLRVJDT05URVhUIEJCX0xJTUlURURERVBTIGV4dGVuZF9yZWNpcGVfc3lzcm9vdCBERVBMT1lfRElSIgorICAgIEJCX1dPUktFUkNPTlRFWFQgQkJfTElNSVRFRERFUFMgQkJfVU5JSEFTSCBleHRlbmRfcmVjaXBlX3N5c3Jvb3QgREVQTE9ZX0RJUiBcCisgICAgU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QgU1NUQVRFX0hBU0hFUVVJVl9TRVJWRVIgU1NUQVRFX0hBU0hFUVVJVl9SRVBPUlRfVEFTS0RBVEEgXAorICAgIFNTVEFURV9IQVNIRVFVSVZfT1dORVIgQ0NBQ0hFX1RPUF9ESVIiCiBCQl9IQVNIQ09ORklHX1dISVRFTElTVCA/PSAiJHtCQl9IQVNIQkFTRV9XSElURUxJU1R9IERBVEUgVElNRSBTU0hfQUdFTlRfUElEIFwKICAgICBTU0hfQVVUSF9TT0NLIFBTRVVET19CVUlMRCBCQl9FTlZfRVhUUkFXSElURSBESVNBQkxFX1NBTklUWV9DSEVDS1MgXAogICAgIFBBUkFMTEVMX01BS0UgQkJfTlVNQkVSX1RIUkVBRFMgQkJfT1JJR0VOViBCQl9JTlZBTElEQ09ORiBCQklOQ0xVREVEIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2NjYWNoZS5jb25mIGIvcG9reS9tZXRhL2NvbmYvY2NhY2hlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMxMDEyZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL2NjYWNoZS5jb25mCkBAIC0wLDAgKzEsMiBAQAorbWF4X3NpemUgPSAwCitjYWNoZV9kaXJfbGV2ZWxzID0gMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2RlZmF1bHRzZXR1cC5jb25mCmluZGV4IGNhMmY5MTcuLjIwZTYxMjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9kZWZhdWx0c2V0dXAuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vZGVmYXVsdHNldHVwLmNvbmYKQEAgLTIsNiArMiw3IEBACiBpbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC12ZXJzaW9ucy5pbmMKIGluY2x1ZGUgY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCiBpbmNsdWRlIGNvbmYvZGlzdHJvL2luY2x1ZGUvd29ybGQtYnJva2VuLmluYworaW5jbHVkZSBjb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwogCiBUQ01PREUgPz0gImRlZmF1bHQiCiByZXF1aXJlIGNvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLSR7VENNT0RFfS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LWRpc3Ryb3ZhcnMuaW5jCmluZGV4IGY1ZWM2Y2UuLjdhMGJhZjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtZGlzdHJvdmFycy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1kaXN0cm92YXJzLmluYwpAQCAtMTAsMTcgKzEwLDggQEAKIExPQ0FMRV9VVEY4X0lTX0RFRkFVTFQgPz0gIjEiCiBMT0NBTEVfVVRGOF9JU19ERUZBVUxUX2NsYXNzLW5hdGl2ZXNkayA9ICIwIgogCi1ESVNUUk9fRkVBVFVSRVNfREVGQVVMVCA/PSAiYWNsIGFsc2EgYXJncCBibHVldG9vdGggZXh0MiBpcmRhIGxhcmdlZmlsZSBwY21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5mYyB4MTEiCi1ESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUID89ICJpcHY0IGlwdjYgbGliYy1iYWNrdHJhY2UgbGliYy1iaWctbWFjcm9zIGxpYmMtYnNkIGxpYmMtY3h4LXRlc3RzIGxpYmMtY2F0Z2V0cyBsaWJjLWNoYXJzZXRzIGxpYmMtY3J5cHQgXAotCQkJCQlsaWJjLWNyeXB0LXVmYyBsaWJjLWRiLWFsaWFzZXMgbGliYy1lbnZ6IGxpYmMtZmN2dCBsaWJjLWZtdG1zZyBsaWJjLWZzdGFiIGxpYmMtZnRyYXZlcnNlIFwKLQkJCQkJbGliYy1nZXRsb2dpbiBsaWJjLWlkbiBsaWJjLWluZXQtYW5sIGxpYmMtbGlibSBsaWJjLWxvY2FsZXMgbGliYy1sb2NhbGUtY29kZSBcCi0JCQkJCWxpYmMtbWVtdXNhZ2UgbGliYy1uc3N3aXRjaCBsaWJjLXJjbWQgbGliYy1ydGxkLWRlYnVnIGxpYmMtc3Bhd24gbGliYy1zdHJlYW1zIFwKLQkJCQkJbGliYy11dG1wIGxpYmMtdXRtcHggbGliYy13b3JkZXhwIGxpYmMtcG9zaXgtY2xhbmctd2NoYXIgbGliYy1wb3NpeC1yZWdleHAgbGliYy1wb3NpeC1yZWdleHAtZ2xpYmMgXAotCQkJCQlsaWJjLXBvc2l4LXdjaGFyLWlvIgotRElTVFJPX0ZFQVRVUkVTX0xJQkMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0xJQkNfREVGQVVMVH0iCi1ESVNUUk9fRkVBVFVSRVNfTElCQ19jbGFzcy1uYXRpdmVzZGsgPSAiJHtESVNUUk9fRkVBVFVSRVNfTElCQ19ERUZBVUxUfSIKLURJU1RST19GRUFUVVJFUyA/PSAiJHtESVNUUk9fRkVBVFVSRVNfREVGQVVMVH0gJHtESVNUUk9fRkVBVFVSRVNfTElCQ30iCi0KK0RJU1RST19GRUFUVVJFU19ERUZBVUxUID89ICJhY2wgYWxzYSBhcmdwIGJsdWV0b290aCBleHQyIGlwdjQgaXB2NiBpcmRhIGxhcmdlZmlsZSBwY21jaWEgdXNiZ2FkZ2V0IHVzYmhvc3Qgd2lmaSB4YXR0ciBuZnMgemVyb2NvbmYgcGNpIDNnIG5mYyB4MTEiCitESVNUUk9fRkVBVFVSRVMgPz0gIiR7RElTVFJPX0ZFQVRVUkVTX0RFRkFVTFR9IgogSU1BR0VfRkVBVFVSRVMgPz0gIiIKIAogV0hJVEVMSVNUX0dQTC0zLjAgPz0gIiIKQEAgLTUyLDMgKzQzLDkgQEAKIEFSQ0hfREVGQVVMVF9LRVJORUxJTUFHRVRZUEVfeDg2LTY0ID0gImJ6SW1hZ2UiCiBLRVJORUxfSU1BR0VUWVBFID8/PSAiJHtBUkNIX0RFRkFVTFRfS0VSTkVMSU1BR0VUWVBFfSIKIEtFUk5FTF9JTUFHRVRZUEVTID8/PSAiJHtLRVJORUxfSU1BR0VUWVBFfSIKKworIyBUaGUgQ09OTkVDVElWSVRZX0NIRUNLX1VSSVMgYXJlIHVzZWQgdG8gdGVzdCB3aGV0aGVyIHdlIGNhbiBzdWNjZXNmdWxseQorIyBmZXRjaCBmcm9tIHRoZSBuZXR3b3JrIChhbmQgd2FybiB5b3UgaWYgbm90KS4gVG8gZGlzYWJsZSB0aGUgdGVzdCBzZXQKKyMgdGhlIHZhcmlhYmxlIHRvIGJlIGVtcHR5LgorIyBHaXQgZXhhbXBsZSB1cmw6IGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWZpcmV3YWxsLXRlc3Q7cHJvdG9jb2w9Z2l0O3Jldj1tYXN0ZXIKK0NPTk5FQ1RJVklUWV9DSEVDS19VUklTID89ICJodHRwczovL3d3dy5leGFtcGxlLmNvbS8iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kZWZhdWx0LXByb3ZpZGVycy5pbmMKaW5kZXggMDE5Y2VlYi4uMjE0MTkwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGVmYXVsdC1wcm92aWRlcnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2RlZmF1bHQtcHJvdmlkZXJzLmluYwpAQCAtNTQsMyArNTQsNSBAQAogUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1wa2djb25maWcgPz0gIm5hdGl2ZXNkay1wa2djb25maWciCiBQUkVGRVJSRURfUFJPVklERVJfcGtnY29uZmlnLW5hdGl2ZSA/PSAicGtnY29uZmlnLW5hdGl2ZSIKIFBSRUZFUlJFRF9SUFJPVklERVJfaW5pdGQtZnVuY3Rpb25zID89ICJpbml0c2NyaXB0cyIKKworUFJFRkVSUkVEX1BST1ZJREVSX25hdGl2ZXNkay1tZXNhID89ICJuYXRpdmVzZGstbWVzYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9kaXN0cm9fYWxpYXMuaW5jCmluZGV4IDc1MDI1NDIuLmQyY2NiMWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL2Rpc3Ryb19hbGlhcy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvZGlzdHJvX2FsaWFzLmluYwpAQCAtMzU0LDcgKzM1NCw3IEBACiBESVNUUk9fUE5fQUxJQVNfcG4tdHRmLWJpdHN0cmVhbS12ZXJhID0gIkRlYmlhbj10dGYtYml0c3RyZWFtLXZlcmEgVWJ1bnR1PXR0Zi1iaXRzdHJlYW0tdmVyYSIKIERJU1RST19QTl9BTElBU19wbi10emNvZGUgPSAiT1NQRFQiCiBESVNUUk9fUE5fQUxJQVNfcG4tdS1ib290LWZ3LXV0aWxzID0gIlVidW50dT11LWJvb3QtdG9vbHMgRGViaWFuPXUtYm9vdC10b29scyIKLURJU1RST19QTl9BTElBU19wbi11LWJvb3QtbWtpbWFnZSA9ICJVYnVudHU9dWJvb3QtbWtpbWFnZSBEZWJpYW49dWJvb3QtbWtpbWFnZSIKK0RJU1RST19QTl9BTElBU19wbi11LWJvb3QtdG9vbHMgPSAiVWJ1bnR1PXUtYm9vdC10b29scyBEZWJpYW49dWJvb3QtdG9vbHMiCiBESVNUUk9fUE5fQUxJQVNfcG4tdWRldiA9ICJNYW5kcml2YT11ZGV2IEZlZG9yYT11ZGV2IgogRElTVFJPX1BOX0FMSUFTX3BuLXVkZXYtZXh0cmFjb25mID0gIk9FLUNvcmUiCiBESVNUUk9fUE5fQUxJQVNfcG4tdW5mczMgPSAiRGViaWFuPXVuZnMzIEZlZG9yYT11bmZzMyIKQEAgLTQxMCw2ICs0MTAsNSBAQAogRElTVFJPX1BOX0FMSUFTX3BuLXhzZXJ2ZXIteG9yZyA9ICJGZWRvcmE9eG9yZy14MTEtc2VydmVyIFVidW50dT14c2VydmVyLXhvcmciCiBESVNUUk9fUE5fQUxJQVNfcG4teHNldCA9ICJGZWRvcmE9eG9yZy14MTEtc2VydmVyLXV0aWxzIFVidW50dT14MTEteHNlcnZlci11dGlscyBEZWJpYW49eDExLXhzZXJ2ZXItdXRpbHMgT3BlbnN1c2U9eG9yZy14MTEiCiBESVNUUk9fUE5fQUxJQVNfcG4teHVzZXItYWNjb3VudCA9ICJPRS1Db3JlIgotRElTVFJPX1BOX0FMSUFTX3BuLXh2aWRlby10ZXN0cyA9ICJPcGVuZWRIYW5kIgogRElTVFJPX1BOX0FMSUFTX3BuLXh2aW5mbyA9ICJGZWRvcmE9eG9yZy14MTEtdXRpbHMgVWJ1bnR1PXgxMS11dGlscyIKIERJU1RST19QTl9BTElBU19wbi14d2luaW5mbyA9ICJGZWRvcmE9eG9yZy14MTEtdXRpbHMgVWJ1bnR1PXgxMS11dGlscyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL21haW50YWluZXJzLmluYwppbmRleCA2NzJmMDY3Li45NTBiOGU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jCkBAIC02NCw5ICs2NCw5IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iYyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbmQgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1iaW51dGlscy1jcm9zc3NkayA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3NzLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tYmludXRpbHMtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWJpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1iaXNvbiA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmphbS1uYXRpdmUgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tYmxrdG9vbCA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgpAQCAtOTksMTEgKzk5LDMwIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jbWFrZSA9ICJQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY21ha2UtbmF0aXZlID0gIlBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb2dsLTEuMCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4gPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29ubm1hbiA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4tY29uZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvbm5tYW4tZ25vbWUgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25zb2xlLXRvb2xzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb25zb2xla2l0ID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWJhc2UgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtbWluaW1hbC1kZXYgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1taW5pbWFsLWluaXRyYW1mcyA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLW1pbmltYWwtbXRkdXRpbHMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS10aW55LWluaXRyYW1mcyA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWZ1bGwtY21kbGluZSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLWtlcm5lbC1kZXYgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1zYXRvID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGsgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1sc2IgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS1sc2Itc2RrID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtdGVzdG1hc3Rlci1pbml0cmFtZnMgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZS1pbWFnZS10ZXN0bWFzdGVyID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2UtY2x1dHRlciA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXdlc3RvbiA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXgxMSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1jb3JlLWltYWdlLXNhdG8tZGV2ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWNvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY29yZXV0aWxzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1jcGlvID0gIkRlbnlzIERteXRyaXllbmtvIDxkZW55c0B0aS5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tY3JhY2tsaWIgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCkBAIC0xNDQsMTEgKzE2MywxMiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tZWQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZWdsaW5mby1mYiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lZ2xpbmZvLXgxMSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1lZ2xpbmZvLXdheWxhbmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZWxmdXRpbHMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWVuY2hhbnQgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lbmNvZGluZ3MgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1lcGlwaGFueSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1ldGh0b29sID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWV0aHRvb2wgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ldWRldiA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWV4cGF0ID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1leHBlY3QgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgpAQCAtMTY3LDIwICsxODcsMjEgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWZ0cyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdhd2sgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1jYW5hZGlhbiA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1pbml0aWFsID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLWluaXRpYWwgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1jcm9zcy1pbml0aWFsLSR7VEFSR0VUX0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2MtY3Jvc3NzZGstaW5pdGlhbC0ke1NES19TWVN9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXJ1bnRpbWUgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc2FuaXRpemVycyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjYy1zb3VyY2UgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY2Mtc291cmNlLTcuMy4wID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ2NjLXNvdXJjZS04LjMuMCA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjY21ha2VkZXAgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nY29uZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdjciA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGIgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtY2FuYWRpYW4gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1nZGItY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdkYm0gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ2RrLXBpeGJ1ZiA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdldHRleHQgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgpAQCAtMjA0LDEwICsyMjUsMTMgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdudXBnID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbnV0bHMgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nbyA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3NzID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtJHtUVU5FX1BLR0FSQ0h9ID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tY3Jvc3MtY2FuYWRpYW4tJHtUUkFOU0xBVEVEX1RBUkdFVF9BUkNIfSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvLWNyb3Nzc2RrLSR7U0RLX1NZU30gPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1kZXAgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1nby1oZWxsb3dvcmxkID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tbmF0aXZlID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tZ28tcnVudGltZSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWdvYmplY3QtaW50cm9zcGVjdGlvbiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncGVyZiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1ncGdtZSA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgpAQCAtMjQ1LDYgKzI2OSw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pY2VjYy1jcmVhdGUtZW52ID0gIkpvc2h1YSBXYXR0IDxKUEVXaGFja2VyQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pY3UgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taWZ1cGRvd24gPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbmV0dXRpbHMgPSAiVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0LWlmdXBkb3duID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHJhbWZzLWJvb3QgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbml0cmFtZnMtZnJhbWV3b3JrID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgpAQCAtMjU2LDE4ICsyODEsMTggQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWluaXRyYW1mcy1saXZlLWluc3RhbGwtdGVzdGZzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taW5pdHNjcmlwdHMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1pbnRsdG9vbCA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHJvdXRlMiA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHRhYmxlcyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAbGdlLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWlyZGEtdXRpbHMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4taXByb3V0ZTIgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pcHRhYmxlcyA9ICJDaGFuZ2h5ZW9rIEJhZSA8Y2hhbmdoeWVvay5iYWVAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWlwdXRpbHMgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1pcmRhLXV0aWxzID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4taXNvLWNvZGVzID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWl3ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBsZ2UuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWl3ID0gIkNoYW5naHllb2sgQmFlIDxjaGFuZ2h5ZW9rLmJhZUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlianBlZy10dXJibyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWpzb24tYyA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tanNvbi1nbGliID0gIllpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1rYmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4ta2Vybi10b29scy1uYXRpdmUgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4ta2VybmVsLWRldnNyYyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXJuLXRvb2xzLW5hdGl2ZSA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWtlcm5lbC1kZXZzcmMgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1rZXhlYy10b29scyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWtleW1hcHMgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4ta21vZCA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgpAQCAtMjgxLDcgKzMwNiw2IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhY3BpID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliYWlvID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFyY2hpdmUgPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJhcnQtbGdwbCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmFzc3VhbiA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmF0b21pYy1vcHMgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJic2QgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKQEAgLTI5Myw2ICszMTcsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY29udmVydC1hc24xLXBlcmwgPSAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliY3JvY28gPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkYWVtb24gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGliZGF6emxlID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRteCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmRuZiA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJkcm0gPSAiT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW8uc2FsdmFkb3JAb3NzeXN0ZW1zLmNvbS5icj4iCkBAIC0zMjEsMTAgKzM0NiwxMiBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGliaWRuID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmlkbjIgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJpbnB1dCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYmppdHRlcmVudHJvcHkgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJrc2JhID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm1hdGNoYm94ID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibW5sID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibXBjID0gIktoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibW9kdWxlbWQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibmV3dCA9ICJIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlibmV3dC1weXRob24gPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYm5sID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKQEAgLTM0Myw2ICszNzAsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicG5nID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicHJveHkgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJwdGhyZWFkLXN0dWJzID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnBzbCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnJlcG8gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlicnN2ZyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnNhbXBsZXJhdGUwID0gIlRhbnUgS2Fza2luZW4gPHRhbnVrQGlraS5maT4iCkBAIC0zNjIsNyArMzkwLDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnRvb2wtY3Jvc3MgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidG9vbC1uYXRpdmUgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidW5pc3RyaW5nID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidW53aW5kID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVud2luZCA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnVyY3UgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXJpLXBlcmwgPSAiVGltIE9ybGluZyA8dGltb3RoeS50Lm9ybGluZ0BsaW51eC5pbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlidXNiMSA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKQEAgLTM3Niw2ICs0MDQsNyBAQAogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNiID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGNvbXBvc2l0ZSA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpYnhjdXJzb3IgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4Y3J5cHQgPSAiS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZGFtYWdlID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGlieGRtY3AgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1saWJ4ZXh0ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpAQCAtNDEzLDExICs0NDIsMTEgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpZ2h0dHBkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWR1bW15ID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWZpcm13YXJlID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgtbGliYy1oZWFkZXJzID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvLWRldiA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by1ydCA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by10aW55ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LWxpYmMtaGVhZGVycyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLWxpbnV4LXlvY3RvID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tZGV2ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbGludXgteW9jdG8tcnQgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1saW51eC15b2N0by10aW55ID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbGx2bSA9ICJLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLWxvZ3JvdGF0ZSA9ICJZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbHJ6c3ogPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCkBAIC00MzgsNyArNDY3LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ha2UgPSAiUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZWRlcGVuZCA9ICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYWtlZGV2cyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbWFrZS1tb2Qtc2NyaXB0cyA9ICJCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYWtlLW1vZC1zY3JpcHRzID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWFuLWRiID0gIkhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tYW4tcGFnZXMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1hdGNoYm94LWNvbmZpZy1ndGsgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC00NTcsOSArNDg2LDEwIEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1tZXNhLWRlbW9zID0gIk90YXZpbyBTYWx2YWRvciA8b3RhdmlvLnNhbHZhZG9yQG9zc3lzdGVtcy5jb20uYnI+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWVzYS1nbCA9ICJPdGF2aW8gU2FsdmFkb3IgPG90YXZpby5zYWx2YWRvckBvc3N5c3RlbXMuY29tLmJyPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1lc29uID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgotUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC1leHRzZGsgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1lbnZpcm9ubWVudC0ke01BQ0hJTkV9ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZW52aXJvbm1lbnQtZXh0c2RrLSR7TUFDSElORX0gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS1leHRzZGstdG9vbGNoYWluID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtZ28tdG9vbGNoYWluID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW1ldGEtaWRlLXN1cHBvcnQgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS10b29sY2hhaW4gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbWV0YS13b3JsZC1wa2dkYXRhID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKQEAgLTQ4NCw5ICs1MTQsMTIgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW14LTEuMCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hc20gPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLWJ1aWxkdG9vbHMtcGVybC1kdW1teSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluID0gIkpvc2h1YSBXYXR0IDxKUEVXaGFja2VyQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstbGlidG9vbCA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstbWVzb24gPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdCA9ICJSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5hdGl2ZXNkay1xZW11LWhlbHBlciA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi1uYXRpdmVzZGstc2RrLXByb3ZpZGVzLWR1bW15ID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5ld2xpYiA9ICJBbGVqYW5kcm8gSGVybmFuZGV6IDxhZWhzMjlAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5jdXJzZXMgPSAiSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLW5lYXJkID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgpAQCAtNTIxLDcgKzU1NCw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wYnppcDIgPSAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wY2l1dGlscyA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGNtYW5mbSA9ICJBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJmID0gIkJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEB3aW5kcml2ZXIuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXBlcmYgPSAiQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1wZXJsID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcGVybC1uYXRpdmUgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1waWdsaXQgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC01NzcsNiArNjEwLDggQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXB5dGhvbjMtdGVzdHRvb2xzID0gIkRlcmVrIFN0cmFrYSA8ZGVyZWtAYXN0ZXJpdXMuaW8+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdSA9ICJSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1xZW11LWhlbHBlci1uYXRpdmUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1uYXRpdmUgPSAiUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXFlbXV3cmFwcGVyLWNyb3NzID0gIlJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXF1aWx0ID0gIlJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXF1aWx0LW5hdGl2ZSA9ICJSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4iCkBAIC02MzQsNiArNjY5LDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtc2VyaWFsZ2V0dHkgPSAiQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbWQtc3lzdGVtY3RsLW5hdGl2ZSA9ICJDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtdGFwID0gIlZpY3RvciBLYW1lbnNreSA8a2FtZW5za3lAY2lzY28uY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXN5c3RlbXRhcC1uYXRpdmUgPSAiVmljdG9yIEthbWVuc2t5IDxrYW1lbnNreUBjaXNjby5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdGVtdGFwLXVwcm9iZXMgPSAiVmljdG9yIEthbWVuc2t5IDxrYW1lbnNreUBjaXNjby5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tc3lzdmluaXQgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi1zeXN2aW5pdC1pbml0dGFiID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNjUzLDcgKzY4OSw3IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi10emRhdGEgPSAiQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtZnctdXRpbHMgPSAiTWFyZWsgVmFzdXQgPG1hcmVrLnZhc3V0QGdtYWlsLmNvbT4iCi1SRUNJUEVfTUFJTlRBSU5FUl9wbi11LWJvb3QtbWtpbWFnZSA9ICJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPiIKK1JFQ0lQRV9NQUlOVEFJTkVSX3BuLXUtYm9vdC10b29scyA9ICJNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXVkZXYtZXh0cmFjb25mID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdW5mczMgPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi11bmlmZGVmID0gIlJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+IgpAQCAtNjY3LDYgKzcwMyw5IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12ODZkID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZhbGEgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4tdmFsZ3JpbmQgPSAiQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdmltID0gIlRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4tdmltLXRpbnkgPSAiVG9tIFJpbmkgPHRyaW5pQGtvbnN1bGtvLmNvbT4iCitSRUNJUEVfTUFJTlRBSU5FUl9wbi12aXJnbHJlbmRlcmVyID0gIkFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXZvbGF0aWxlLWJpbmRzID0gIkNoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12dGUgPSAiQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi12dWxrYW4gPSAiUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4iCkBAIC02ODMsNyArNzIyLDcgQEAKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdnZXQgPSAiWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXdoaWNoID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4td2ljLXRvb2xzID0gIkFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+IgotUkVDSVBFX01BSU5UQUlORVJfcG4td3BhLXN1cHBsaWNhbnQgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGxnZS5jb20+IgorUkVDSVBFX01BSU5UQUlORVJfcG4td3BhLXN1cHBsaWNhbnQgPSAiQ2hhbmdoeWVvayBCYWUgPGNoYW5naHllb2suYmFlQGdtYWlsLmNvbT4iCiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14MTFwZXJmID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teDI2NCA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXhhdXRoID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgpAQCAtNzI5LDcgKzc2OCw2IEBACiBSRUNJUEVfTUFJTlRBSU5FUl9wbi14c2V0ID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHRyYW5zID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHVzZXItYWNjb3VudCA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKLVJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh2aWRlby10ZXN0cyA9ICJBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh2aW5mbyA9ICJBcm1pbiBLdXN0ZXIgPGFrdXN0ZXI4MDhAZ21haWwuY29tPiIKIFJFQ0lQRV9NQUlOVEFJTkVSX3BuLXh3aW5pbmZvID0gIkFybWluIEt1c3RlciA8YWt1c3RlcjgwOEBnbWFpbC5jb20+IgogUkVDSVBFX01BSU5UQUlORVJfcG4teHogPSAiRGVueXMgRG15dHJpeWVua28gPGRlbnlzQHRpLmNvbT4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9uby1zdGF0aWMtbGlicy5pbmMKaW5kZXggY2RjNTM5MS4uNzEyZDg1OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbm8tc3RhdGljLWxpYnMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL25vLXN0YXRpYy1saWJzLmluYwpAQCAtNCw2ICs0LDcgQEAKIERJU0FCTEVfU1RBVElDX3BuLXFlbXUgPSAiIgogRElTQUJMRV9TVEFUSUNfcG4tcWVtdS1uYXRpdmUgPSAiIgogRElTQUJMRV9TVEFUSUNfcG4tbmF0aXZlc2RrLXFlbXUgPSAiIgorRElTQUJMRV9TVEFUSUNfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiIKICMgcGNpdXRpbHMgZmFpbHMgYnVpbGQKIERJU0FCTEVfU1RBVElDX3BuLXBjaXV0aWxzID0gIiIKICMgbGliY2FwIGFib3J0cyBvbiB1bnJlY29nbmlzZWQgb3B0aW9uCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jIGIvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNsaWJjLWdsaWJjLmluYwppbmRleCA4ZDEwNzY0Li4zMjQ2NDkwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y2xpYmMtZ2xpYmMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbGliYy1nbGliYy5pbmMKQEAgLTIyLDE3ICsyMiw4IEBACiAJCSAgICAgZ2xpYmMtZGV2IFwKIAkJICAgICBnbGliYy11dGlscyBcCiAJCSAgICAgZ2xpYmMtdGhyZWFkLWRiIFwKLQkJICAgICAke0BnZXRfbGliY19sb2NhbGVzX2RlcGVuZGVuY2llcyhkKX0iCi0KLUxJQkNfTE9DQUxFX0RFUEVOREVOQ0lFUyA9ICJcCi0JZ2xpYmMtbG9jYWxlZGF0YS1pMThuIFwKLQlnbGliYy1nY29udi1pYm04NTAgXAotCWdsaWJjLWdjb252LWNwMTI1MiBcCi0JZ2xpYmMtZ2NvbnYtaXNvODg1OS0xIFwKLQlnbGliYy1nY29udi1pc284ODU5LTE1IgotCi1kZWYgZ2V0X2xpYmNfbG9jYWxlc19kZXBlbmRlbmNpZXMoZCk6Ci0gICAgaWYgJ2xpYmMtbG9jYWxlcycgaW4gKGQuZ2V0VmFyKCdESVNUUk9fRkVBVFVSRVMnKSBvciAnJykuc3BsaXQoKSA6Ci0gICAgICAgIHJldHVybiBkLmdldFZhcignTElCQ19MT0NBTEVfREVQRU5ERU5DSUVTJykgb3IgJycKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJycKKwkJICAgICBnbGliYy1sb2NhbGVkYXRhLWkxOG4gXAorCQkgICAgIGdsaWJjLWdjb252LWlibTg1MCBcCisJCSAgICAgZ2xpYmMtZ2NvbnYtY3AxMjUyIFwKKwkJICAgICBnbGliYy1nY29udi1pc284ODU5LTEgXAorCQkgICAgIGdsaWJjLWdjb252LWlzbzg4NTktMTUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS90Y21vZGUtZGVmYXVsdC5pbmMKaW5kZXggZjhkYTY1MS4uMDQzNzNjYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdGNtb2RlLWRlZmF1bHQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL2Rpc3Ryby9pbmNsdWRlL3RjbW9kZS1kZWZhdWx0LmluYwpAQCAtMywzMyArMywyOSBAQAogIwogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgPSAiYmludXRpbHMtY3Jvc3MtJHtUQVJHRVRfQVJDSH0iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjID0gImdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgPSAiZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWNvbXBpbGVybGlicyA9ICJnY2MtcnVudGltZSIKIFBSRUZFUlJFRF9QUk9WSURFUl9nZGIgPSAiZ2RiIgogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgPz0gImJpbnV0aWxzLWNyb3Nzc2RrLSR7U0RLX1NZU30iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9Z2NjLWluaXRpYWwgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsLyR7U0RLX1BSRUZJWH1nY2MgPSAiZ2NjLWNyb3Nzc2RrLSR7U0RLX1NZU30iCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC8ke1NES19QUkVGSVh9ZysrID0gImdjYy1jcm9zc3Nkay0ke1NES19TWVN9IgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtTREtfUFJFRklYfWNvbXBpbGVybGlicyA9ICJuYXRpdmVzZGstZ2NjLXJ1bnRpbWUiCiAKICMgRGVmYXVsdCBsaWJjIGNvbmZpZwotUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyA9ICIke1RDTElCQ30iCi1QUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9uYXRpdmVzZGstJHtTREtfUFJFRklYfWxpYmMtZm9yLWdjYyA/PSAibmF0aXZlc2RrLWdsaWJjIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtaW5pdGlhbCA9ICIke1RDTElCQ30taW5pdGlhbCIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL25hdGl2ZXNkay0ke1NES19QUkVGSVh9bGliYy1pbml0aWFsID89ICJuYXRpdmVzZGstZ2xpYmMtaW5pdGlhbCIKIFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2dldHRleHQgPz89ICJnZXR0ZXh0IgogCiBHQ0NWRVJTSU9OID89ICI4LiUiCiBTREtHQ0NWRVJTSU9OID89ICIke0dDQ1ZFUlNJT059IgotQklOVVZFUlNJT04gPz0gIjIuMzElIgorQklOVVZFUlNJT04gPz0gIjIuMzIlIgogR0RCVkVSU0lPTiA/PSAiOC4yJSIKLUdMSUJDVkVSU0lPTiA/PSAiMi4yOCUiCi1MSU5VWExJQkNWRVJTSU9OID89ICI0LjE4JSIKLVFFTVVWRVJTSU9OID89ICIzLjAlIgotR09WRVJTSU9OID89ICIxLjExJSIKK0dMSUJDVkVSU0lPTiA/PSAiMi4yOSUiCitMSU5VWExJQkNWRVJTSU9OID89ICI1LjAlIgorUUVNVVZFUlNJT04gPz0gIjMuMSUiCitHT1ZFUlNJT04gPz0gIjEuMTIlIgogCiBQUkVGRVJSRURfVkVSU0lPTl9nY2MgPz0gIiR7R0NDVkVSU0lPTn0iCiBQUkVGRVJSRURfVkVSU0lPTl9nY2MtY3Jvc3MtJHtUQVJHRVRfQVJDSH0gPz0gIiR7R0NDVkVSU0lPTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91cHN0cmVhbV90cmFja2luZy5pbmMgYi9wb2t5L21ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS91cHN0cmVhbV90cmFja2luZy5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyYTVlNmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvdXBzdHJlYW1fdHJhY2tpbmcuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotIyBOT1RFOiBUSElTIEZJTEUgSVMgREVQUkVDQVRFRC4gUGxlYXNlIGFkZCBuZXcgZW50cmllcyB0byB0aGUgcmVjaXBlcyB0aGVtc2VsdmVzLgotIwotIyB1cHN0cmVhbV90cmFja2luZy5pbmMgLSBUaGlzIGZpbGUgY29udGFpbnMgZGF0YSB0aGF0IHRyYWNrcyB0aGUKLSMgdXBzdHJlYW0gcHJvamVjdCBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiByZWNpcGUuIFRoaXMgbGlzdCBpcyBuZWVkZWQKLSMgZm9yIHJlY2lwZXMgdGhhdCB2ZXJzaW9uIGluZm9ybWF0aW9uIGNhbiBub3QgYmUgYXV0b21hZ2ljYWxseSBkaXNjb3ZlcmVkLgotIyBBcyB3ZSBhdXRvbWF0ZSB0aGlzIGNoZWNraW5nLCB0aGlzIGZpbGUgd2lsbCBzbG93ZWQgYmUgcmVkdWNlZC4KLSMKLSMgVGhpcyBkYXRhIGlzIHVzZWQgYnkgdGhlIHBhY2thZ2UgcmVwb3J0aW5nIHN5c3RlbSAocGFja2FnZXMueW9jdG9wcm9qZWN0Lm9yZykKLSMKLSMgVGhlIGZvcm1hdCBpcyBhcyBhIGJpdGJha2UgdmFyaWFibGUgb3ZlcnJpZGUgZm9yIGVhY2ggcmVjaXBlCi0jCi0jICAgICAgIFJFQ0lQRV9VUFNUUkVBTV9WRVJTSU9OX3BuLTxyZWNpcGUgbmFtZT4gPSAiPHZlcnNpb24+IgotIyAgICAgICBSRUNJUEVfVVBTVFJFQU1fREFURV9wbi08cmVjaXBlIG5hbWU+ID0gIk1tbSBkZCwgWVlZWSIKLSMJIC0gVGhpcyBpcyB0aGUgbGF0ZXN0IHVwc3RyZWFtIHZlcnNpb24gYW5kIGRhdGUKLSMgICAgICAgUkVDSVBFX05PX1VQREFURV9SRUFTT05fcG4tPHJlY2lwZSBuYW1lPiA9ICI8ZnJlZSBmb3JtIHRleHQ+IgotIyAgICAgICAgLSBVc2VkIHRvIG5vdGUgd2h5IGEgcmVjaXBlIHNob3VsZCBub3QgYmUgdXBncmFkZWQgdG8gYSBuZXdlciB2ZXJzb2luCi0jICAgICAgIENIRUNLX0RBVEVfcG4tPHJlY2lwZSBuYW1lPiA9ICJNbW0gZGQsIFlZWVkiCi0jICAgICAgICAtIFRoaXMgaXMgdGhlIGRhdGUgdGhhdCB1cHN0cmVhbSB3YXMgbGFzdCBtYW51YWxseSBjaGVja2VkIG92ZXIgdGltZQotIyAgICAgICAgICB0aGlzIHNob3VsZCBiZSByZW1vdmVkIGFzIHdlIGF1dG9tYXRlIHRoaXMgY2hlY2tpbmcKLSMKLSMgVGhlc2UgZW50cmllcyB3aWxsIHNsb3dseSBiZSByZW1vdmVkIGFzIHdlIGNhbiBhdXRvbWF0aWNhbGx5IGRldGVybWluZQotIyB0aGUgaW5mb3JtYXRpb24gaW4gdGhpcyBmaWxlLiAgU28gZm9yIGV4aXN0aW5nIHJlY2lwZXMgdGhhdCB3ZSBjYW4gZ2V0IAotIyBmcm9tIHRoZSBSZWNpcGUgcmVwb3J0aW5nIHN5c3RlbSwgdGhlIGVudHJpZXMgaGVyZSBjYW4gYmUgcmVtb3ZlZC4KLSMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZiBiL3Bva3kvbWV0YS9jb25mL2RvY3VtZW50YXRpb24uY29uZgppbmRleCBmYzZkMDA4Li41NTBkZjIwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9kb2N1bWVudGF0aW9uLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvZG9jdW1lbnRhdGlvbi5jb25mCkBAIC0xMjUsNyArMTI1LDcgQEAKIERBVEVbZG9jXSA9ICJUaGUgZGF0ZSB0aGUgYnVpbGQgd2FzIHN0YXJ0ZWQgdXNpbmcgWU1EIGZvcm1hdC4iCiBEQVRFVElNRVtkb2NdID0gIlRoZSBkYXRlIGFuZCB0aW1lIHRoZSBidWlsZCB3YXMgc3RhcnRlZC4iCiBERUJVR19CVUlMRFtkb2NdID0gIlNwZWNpZmllcyB0byBidWlsZCBwYWNrYWdlcyB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbi4gVGhpcyBpbmZsdWVuY2VzIHRoZSB2YWx1ZSBvZiB0aGUgU0VMRUNURURfT1BUSU1JWkFUSU9OIHZhcmlhYmxlLiIKLURFQlVHX09QVElNSVpBVElPTltkb2NdID0gIlRoZSBvcHRpb25zIHRvIHBhc3MgaW4gVEFSR0VUX0NGTEFHUyBhbmQgQ0ZMQUdTIHdoZW4gY29tcGlsaW5nIGEgc3lzdGVtIGZvciBkZWJ1Z2dpbmcuIFRoaXMgdmFyaWFibGUgZGVmYXVsdHMgdG8gJy1PIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyICR7REVCVUdfRkxBR1N9IC1waXBlJy4iCitERUJVR19PUFRJTUlaQVRJT05bZG9jXSA9ICJUaGUgb3B0aW9ucyB0byBwYXNzIGluIFRBUkdFVF9DRkxBR1MgYW5kIENGTEFHUyB3aGVuIGNvbXBpbGluZyBhIHN5c3RlbSBmb3IgZGVidWdnaW5nLiBUaGlzIHZhcmlhYmxlIGRlZmF1bHRzIHRvICctT2cgJHtERUJVR19GTEFHU30gLXBpcGUnLiIKIERFRkFVTFRfUFJFRkVSRU5DRVtkb2NdID0gIlNwZWNpZmllcyBhIHdlYWsgYmlhcyBmb3IgcmVjaXBlIHNlbGVjdGlvbiBwcmlvcml0eS4iCiBERVBFTkRTW2RvY10gPSAiTGlzdHMgYSByZWNpcGUncyBidWlsZC10aW1lIGRlcGVuZGVuY2llcyAoaS5lLiBvdGhlciByZWNpcGUgZmlsZXMpLiIKIERFUExPWV9ESVJbZG9jXSA9ICJQb2ludHMgdG8gdGhlIGdlbmVyYWwgYXJlYSB0aGF0IHRoZSBPcGVuRW1iZWRkZWQgYnVpbGQgc3lzdGVtIHVzZXMgdG8gcGxhY2UgaW1hZ2VzLCBwYWNrYWdlcywgU0RLcyBhbmQgb3RoZXIgb3V0cHV0IGZpbGVzIHRoYXQgYXJlIHJlYWR5IHRvIGJlIHVzZWQgb3V0c2lkZSBvZiB0aGUgYnVpbGQgc3lzdGVtLiIKQEAgLTQxMyw3ICs0MTMsNyBAQAogVEFSR0VUX09TW2RvY10gPSAiU3BlY2lmaWVzIHRoZSB0YXJnZXQncyBvcGVyYXRpbmcgc3lzdGVtLiIKIFRBUkdFVF9QUkVGSVhbZG9jXSA9ICJUaGUgcHJlZml4IGZvciB0aGUgY3Jvc3MtY29tcGlsZSB0b29sY2hhaW4gKGUuZy4gYXJtLWxpbnV4LSkuIgogVEFSR0VUX1NZU1tkb2NdID0gIlRoZSB0YXJnZXQgc3lzdGVtIGlzIGNvbXByaXNlZCBvZiBUQVJHRVRfQVJDSCxUQVJHRVRfVkVORE9SIGFuZCBUQVJHRVRfT1MuIgotVENMSUJDW2RvY10gPSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFyaWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFyZW1ldGFsJywgJ2dsaWJjJyBvciAnbXVzbCcuIgorVENMSUJDW2RvY10gPSAiU3BlY2lmaWVzIEMgbGlicmFyeSAobGliYykgdmFyaWFudCB0byB1c2UgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLiBZb3UgY2FuIHNlbGVjdCAnYmFyZW1ldGFsJywgJ2dsaWJjJywgJ211c2wnIG9yICduZXdsaWInLiIKIFRDTU9ERVtkb2NdID0gIkVuYWJsZXMgYW4gZXh0ZXJuYWwgdG9vbGNoYWluICh3aGVyZSBwcm92aWRlZCBieSBhbiBhZGRpdGlvbmFsIGxheWVyKSBpZiBzZXQgdG8gYSB2YWx1ZSBvdGhlciB0aGFuICdkZWZhdWx0Jy4iCiBURVNUSU1BR0VfQVVUT1tkb2NdID0gIkVuYWJsZXMgdGVzdCBib290aW5nIG9mIHZpcnR1YWwgbWFjaGluZSBpbWFnZXMgdW5kZXIgdGhlIFFFTVUgZW11bGF0b3IgYWZ0ZXIgYW55IHJvb3QgZmlsZXN5c3RlbXMgYXJlIGNyZWF0ZWQgYW5kIHJ1bnMgdGVzdHMgYWdhaW5zdCB0aG9zZSBpbWFnZXMgZWFjaCB0aW1lIGFuIGltYWdlIGlzIGJ1aWx0LiIKIFRFU1RfUUVNVUJPT1RfVElNRU9VVFtkb2NdID0gIlRoZSB0aW1lIGluIHNlY29uZHMgYWxsb3dlZCBmb3IgYW4gaW1hZ2UgdG8gYm9vdCBiZWZvcmUgYXV0b21hdGVkIHJ1bnRpbWUgdGVzdHMgYmVnaW4gdG8gcnVuIGFnYWluc3QgYW4gaW1hZ2UuIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZiBiL3Bva3kvbWV0YS9jb25mL2xheWVyLmNvbmYKaW5kZXggYzY3ZGVjNC4uOWQ2M2I1YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbGF5ZXIuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9sYXllci5jb25mCkBAIC03LDEyICs3LDEyIEBACiBCQkZJTEVfUEFUVEVSTl9jb3JlID0gIl4ke0xBWUVSRElSfS8iCiBCQkZJTEVfUFJJT1JJVFlfY29yZSA9ICI1IgogCi1MQVlFUlNFUklFU19DT1JFTkFNRVMgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPUkVOQU1FUyA9ICJ3YXJyaW9yIgogCiAjIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW5jcmVtZW50ZWQgb24gc2lnbmlmaWNhbnQgY2hhbmdlcyB0aGF0IHdpbGwKICMgY2F1c2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgd2l0aCBvdGhlciBsYXllcnMKIExBWUVSVkVSU0lPTl9jb3JlID0gIjExIgotTEFZRVJTRVJJRVNfQ09NUEFUX2NvcmUgPSAidGh1ZCIKK0xBWUVSU0VSSUVTX0NPTVBBVF9jb3JlID0gIndhcnJpb3IiCiAKIEJCTEFZRVJTX0xBWUVSSU5ERVhfTkFNRV9jb3JlID0gIm9wZW5lbWJlZGRlZC1jb3JlIgogCkBAIC00OSw5ICs0OSw3IEBACiAgICotPnF1aWx0LW5hdGl2ZSBcCiAgICotPnN1YnZlcnNpb24tbmF0aXZlIFwKICAgKi0+Z2l0LW5hdGl2ZSBcCi0gICotPmNjYWNoZS1uYXRpdmUgXAogICAqLT5pY2VjYy1jcmVhdGUtZW52LW5hdGl2ZSBcCi0gIGdjYy1jcm9zcy0ke1RBUkdFVF9BUkNIfS0+dmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIFwKICAgZ2NjLWNyb3NzLSR7VEFSR0VUX0FSQ0h9LT5saW51eC1saWJjLWhlYWRlcnMgXAogICBwcHAtZGlhbGluLT5wcHAgXAogICByZXNvbHZjb25mLT5iYXNoIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtNjQuaW5jCmluZGV4IDVmOTA3NjMuLjUzZjQ1NjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybTY0LmluYwpAQCAtNCw3ICs0LDcgQEAKIAogVFVORVZBTElEW2FhcmNoNjRdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIGFhcmNoNjQiCiAKLU1BQ0hJTkVPVkVSUklERVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FhcmNoNjQnLCAnOmFhcmNoNjQnLCAnJyAsZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYWFyY2g2NCcsICdhYXJjaDY0OicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKIEFWQUlMVFVORVMgKz0gImFhcmNoNjQgYWFyY2g2NF9iZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjQuaW5jCmluZGV4IDgxM2VkMTUuLjQ3YTdhZDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY0LmluYwpAQCAtMiw3ICsyLDcgQEAKIAogVFVORVZBTElEW2FybV0gPSAiRW5hYmxlIEFSTSBpbnN0cnVjdGlvbiBzZXQiCiBUVU5FVkFMSURbYXJtdjRdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIEFSTXY0IgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY0JywgJyAtbWFyY2g9YXJtdjQke0FSTVBLR1NGWF9USFVNQn0nLCAnJywgZCl9IgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY0JywgJyAtbWFyY2g9YXJtdjR0JywgJycsIGQpfSIKICMgZW5hYmxlIC0tZml4LXY0Ynggd2hlbiB3ZSBoYXZlIGFybXY0IGluIFRVTkVfRkVBVFVSRVMsIGJ1dCB0aGVuIGRpc2FibGUgaXQgd2hlbiB3ZSBoYXZlIGFsc28gYXJtdjUgb3IgdGh1bWIKICMgbWF5YmUgd2Ugc2hvdWxkIGV4dGVuZCBiYi51dGlscy5jb250YWlucyB0byBzdXBwb3J0IGNoZWNrIGZvciBhbnkgY2hlY2t2YWx1ZXMgaW4gdmFsdWUsIG5vdyBpdCBkb2VzIAogIyBjaGVja3ZhbHVlcy5pc3N1YnNldCh2YWwpIHdoaWNoIGNhbm5vdCBiZSB1c2VkIGZvciBuZWdhdGl2ZSB0ZXN0IG9mIGZvbyBuZWl0aGVyIGJhciBpbiB2YWx1ZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LWRzcC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwppbmRleCAxZjE2MDg1Li5kMTE3YWYxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwpAQCAtMSw0ICsxLDQgQEAKLUFSTVBLR1NGWF9EU1AgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICdhcm12NScsICdkc3AnIF0sICdlJywgJycsIGQpfSIKK0FSTVBLR1NGWF9EU1AgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICdkc3AnIF0sICdlJywgJycsIGQpfSIKIFRVTkVWQUxJRFtkc3BdID0gIkFSTSBEU1AgZnVuY3Rpb25hbGl0eSIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUuaW5jCmluZGV4IDQ2ZjYzMWMuLmY5MDY4YWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY1LmluYwpAQCAtMiw3ICsyLDcgQEAKIAogVFVORVZBTElEW2FybXY1XSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12NSIKIFRVTkVDT05GTElDVFNbYXJtdjVdID0gImFybXY0IgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY1JywgJyAtbWFyY2g9YXJtdjUke0FSTVBLR1NGWF9USFVNQn0ke0FSTVBLR1NGWF9EU1B9JywgJycsIGQpfSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm12NScsICcgLW1hcmNoPWFybXY1dCR7QVJNUEtHU0ZYX0RTUH0nLCAnJywgZCl9IgogTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtdjUnLCAnYXJtdjU6JywgJycgLGQpfSIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12NC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKaW5kZXggYTI2NjNkOC4uMTk5ZTYzZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3YS5pbmMKQEAgLTEwLDEzICsxMCwxNSBAQAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwotQVZBSUxUVU5FUyArPSAiYXJtdjdhIGFybXY3YXQgYXJtdjdhLXZmcHYzZDE2IGFybXY3YXQtdmZwdjNkMTYgYXJtdjdhLXZmcHYzIGFybXY3YXQtdmZwdjMgYXJtdjdhLW5lb24gYXJtdjdhdC1uZW9uIGFybXY3YS1uZW9uLXZmcHY0IGFybXY3YXQtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YSBhcm12N2F0IGFybXY3YS12ZnB2M2QxNiBhcm12N2F0LXZmcHYzZDE2IGFybXY3YS12ZnB2MyBhcm12N2F0LXZmcHYzIGFybXY3YS12ZnB2NGQxNiBhcm12N2F0LXZmcHY0ZDE2IGFybXY3YS1uZW9uIGFybXY3YXQtbmVvbiBhcm12N2EtbmVvbi12ZnB2NCBhcm12N2F0LW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdCAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHYzICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC12ZnB2NGQxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdC1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhLW5lb24tdmZwdjQgID89ICJhcm12N2EiCkBAIC0yNyw2ICsyOSw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IHZmcHYzZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjNkMTZ9IHZmcHYzIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjMgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzZDE2fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhfSB2ZnB2NGQxNiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdH0gdmZwdjRkMTYiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YX0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdH0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb259IHZmcHY0IgpAQCAtMzcsMTkgKzQxLDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGFybXY3YS12ZnB2M2QxNiBhcm12N2F0Mi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHYzZDE2fSBhcm12N2EtdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGFybXY3YS12ZnB2MyBhcm12N2F0Mi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBhcm12N2EtdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdC12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXR9IGFybXY3YS12ZnB2NGQxNiBhcm12N2F0Mi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBhcm12N2EtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gYXJtdjdhLW5lb24gYXJtdjdhdDItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLW5lb259IGFybXY3YS1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb259IGFybXY3YS1uZW9uLXZmcHY0IGFybXY3YXQyLW5lb24tdmZwdjQiCiAKICMgSEYgVHVuZXMKLUFWQUlMVFVORVMgKz0gImFybXY3YWhmIGFybXY3YXRoZiBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0aGYtdmZwdjNkMTYgYXJtdjdhaGYtdmZwdjMgYXJtdjdhdGhmLXZmcHYzIGFybXY3YWhmLW5lb24gYXJtdjdhdGhmLW5lb24gYXJtdjdhaGYtbmVvbi12ZnB2NCBhcm12N2F0aGYtbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YWhmIGFybXY3YXRoZiBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0aGYtdmZwdjNkMTYgYXJtdjdhaGYtdmZwdjMgYXJtdjdhdGhmLXZmcHYzIGFybXY3YWhmLXZmcHY0ZDE2IGFybXY3YXRoZi12ZnB2NGQxNiBhcm12N2FoZi1uZW9uIGFybXY3YXRoZi1uZW9uIGFybXY3YWhmLW5lb24tdmZwdjQgYXJtdjdhdGhmLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYgICAgICAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0aGYgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2ICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRoZi12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPz0gImFybXY3YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWhmLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmLW5lb24gICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtNjAsNiArNjgsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHYzfSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjN9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjRkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgpAQCAtNzAsMTkgKzgwLDIzIEBACiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmfSBhcm12N2FoZi12ZnB2M2QxNiBhcm12N2F0MmhmLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLXZmcHYzZDE2fSBhcm12N2FoZi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtdmZwdjNkMTZ9IGFybXY3YWhmLXZmcHYzIGFybXY3YXQyaGYtdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtdmZwdjRkMTYgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZ9IGFybXY3YWhmLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi12ZnB2NGQxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gYXJtdjdhaGYtdmZwdjRkMTYgYXJtdjdhdDJoZi12ZnB2NGQxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZn0gYXJtdjdhaGYtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGYtbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZ9IGFybXY3YWhmLW5lb24gYXJtdjdhdDJoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGFybXY3YWhmLW5lb24tdmZwdjQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb259IGFybXY3YWhmLW5lb24tdmZwdjQgYXJtdjdhdDJoZi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4KLUFWQUlMVFVORVMgKz0gImFybXY3YWIgYXJtdjdhdGIgYXJtdjdhYi12ZnB2M2QxNiBhcm12N2F0Yi12ZnB2M2QxNiBhcm12N2FiLXZmcHYzIGFybXY3YXRiLXZmcHYzIGFybXY3YWItbmVvbiBhcm12N2F0Yi1uZW9uIGFybXY3YWItbmVvbi12ZnB2NCBhcm12N2F0Yi1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjdhYiBhcm12N2F0YiBhcm12N2FiLXZmcHYzZDE2IGFybXY3YXRiLXZmcHYzZDE2IGFybXY3YWItdmZwdjMgYXJtdjdhdGItdmZwdjMgYXJtdjdhYi12ZnB2NGQxNiBhcm12N2F0Yi12ZnB2NGQxNiBhcm12N2FiLW5lb24gYXJtdjdhdGItbmVvbiBhcm12N2FiLW5lb24tdmZwdjQgYXJtdjdhdGItbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2FiICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGIgICAgICAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItdmZwdjNkMTYgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYi12ZnB2MyAgICAgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YXRiLXZmcHYzICAgICAgPz0gImFybXY3YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N2FiLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGItdmZwdjRkMTYgICA/PSAiYXJtdjdhIgogQVJNUEtHQVJDSF90dW5lLWFybXY3YWItbmVvbiAgICAgICAgPz0gImFybXY3YSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N2F0Yi1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhYi1uZW9uLXZmcHY0ICA/PSAiYXJtdjdhIgpAQCAtOTMsNiArMTA3LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXQtdmZwdjNkMTZ9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FiLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS12ZnB2M30gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRiLXZmcHYzICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC12ZnB2M30gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWItdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhLXZmcHY0ZDE2fSBiaWdlbmRpYW4iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGItdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHY0ZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhYi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRiLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdC1uZW9ufSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhYi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NH0gYmlnZW5kaWFuIgpAQCAtMTAzLDE5ICsxMTksMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNiAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRifSBhcm12N2FiLXZmcHYzZDE2IGFybXY3YXQyYi12ZnB2M2QxNiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItdmZwdjNkMTZ9IGFybXY3YWItdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0Yi12ZnB2M2QxNn0gYXJtdjdhYi12ZnB2MyBhcm12N2F0MmItdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FifSBhcm12N2FiLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLXZmcDQzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGJ9IGFybXY3YWItdmZwdjRkMTYgYXJtdjdhdDJiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhYn0gYXJtdjdhYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGJ9IGFybXY3YWItbmVvbiBhcm12N2F0MmItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FiLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWItbmVvbn0gYXJtdjdhYi1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRiLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGItbmVvbn0gYXJtdjdhYi1uZW9uLXZmcHY0IGFybXY3YXQyYi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4gKyBIRgotQVZBSUxUVU5FUyArPSAiYXJtdjdhaGZiIGFybXY3YXRoZmIgYXJtdjdhaGZiLXZmcHYzZDE2IGFybXY3YXRoZmItdmZwdjNkMTYgYXJtdjdhaGZiLXZmcHYzIGFybXY3YXRoZmItdmZwdjMgYXJtdjdhaGZiLW5lb24gYXJtdjdhdGhmYi1uZW9uIGFybXY3YWhmYi1uZW9uLXZmcHY0IGFybXY3YXRoZmItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3YWhmYiBhcm12N2F0aGZiIGFybXY3YWhmYi12ZnB2M2QxNiBhcm12N2F0aGZiLXZmcHYzZDE2IGFybXY3YWhmYi12ZnB2MyBhcm12N2F0aGZiLXZmcHYzIGFybXY3YWhmYi12ZnB2NGQxNiBhcm12N2F0aGZiLXZmcHY0ZDE2IGFybXY3YWhmYi1uZW9uIGFybXY3YXRoZmItbmVvbiBhcm12N2FoZmItbmVvbi12ZnB2NCBhcm12N2F0aGZiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiICAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYiAgICAgICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHYzZDE2ICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHYzICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2MyAgICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLXZmcHY0ZDE2ICAgID89ICJhcm12N2EiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi12ZnB2NGQxNiAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLW5lb24gICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhdGhmYi1uZW9uICAgICAgID89ICJhcm12N2EiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjdhaGZiLW5lb24tdmZwdjQgID89ICJhcm12N2EiCkBAIC0xMjYsNiArMTQ2LDggQEAKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGZiLXZmcHYzZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZiLXZmcHYzICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLXZmcHYzfSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmYi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi12ZnB2M30gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmYi12ZnB2NGQxNiAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZmItdmZwdjRkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjRkMTZ9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZmItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZmItbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmYi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9uLXZmcHY0fSBiaWdlbmRpYW4iCkBAIC0xMzYsNiArMTU4LDggQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYn0gYXJtdjdhaGZiLXZmcHYzZDE2IGFybXY3YXQyaGZiLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi12ZnB2MyAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItdmZwdjNkMTZ9IGFybXY3YWhmYi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHYzICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYi12ZnB2M2QxNn0gYXJtdjdhaGZiLXZmcHYzIGFybXY3YXQyaGZiLXZmcHYzIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmJ9IGFybXY3YWhmYi12ZnB2NGQxNiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZiLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmYn0gYXJtdjdhaGZiLXZmcHY0ZDE2IGFybXY3YXQyaGZiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmJ9IGFybXY3YWhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZmItbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0aGZifSBhcm12N2FoZmItbmVvbiBhcm12N2F0MmhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmYi1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZmItbmVvbn0gYXJtdjdhaGZiLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjd2ZS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjd2ZS5pbmMKaW5kZXggNGQ5MjYwZi4uZmMxNzJkMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY3dmUuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N3ZlLmluYwpAQCAtOCwxMyArOCwxNSBAQAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12N2EuaW5jCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKLUFWQUlMVFVORVMgKz0gImFybXY3dmUgYXJtdjd2ZXQgYXJtdjd2ZS12ZnB2M2QxNiBhcm12N3ZldC12ZnB2M2QxNiBhcm12N3ZlLXZmcHYzIGFybXY3dmV0LXZmcHYzIGFybXY3dmUtbmVvbiBhcm12N3ZldC1uZW9uIGFybXY3dmUtbmVvbi12ZnB2NCBhcm12N3ZldC1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjd2ZSBhcm12N3ZldCBhcm12N3ZlLXZmcHYzZDE2IGFybXY3dmV0LXZmcHYzZDE2IGFybXY3dmUtdmZwdjMgYXJtdjd2ZXQtdmZwdjMgYXJtdjd2ZS12ZnB2NGQxNiBhcm12N3ZldC12ZnB2NGQxNiBhcm12N3ZlLW5lb24gYXJtdjd2ZXQtbmVvbiBhcm12N3ZlLW5lb24tdmZwdjQgYXJtdjd2ZXQtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlICAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0ICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZS12ZnB2M2QxNiAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldC12ZnB2M2QxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtdmZwdjMgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXQtdmZwdjMgICAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID89ICJhcm12N3ZlIgorQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZS1uZW9uICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldC1uZW9uICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmUtbmVvbi12ZnB2NCAgPz0gImFybXY3dmUiCkBAIC0yNSw2ICsyNyw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldH0gdmZwdjNkMTYiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLXZmcHYzZDE2fSB2ZnB2MyIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IHZmcHY0ZDE2IgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IHZmcHY0ZDE2IgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZX0gbmVvbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBuZW9uIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSB2ZnB2NCIKQEAgLTM1LDE5ICszOSwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtdmZwdjNkMTYgYXJtdjd2ZXQyLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS12ZnB2M2QxNn0gYXJtdjd2ZS12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldC12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSBhcm12N3ZlLXZmcHYzIGFybXY3dmV0Mi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9ICBhcm12N3ZlLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtdmZwdjRkMTYgYXJtdjd2ZXQyLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZX0gYXJtdjd2ZS1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGFybXY3dmUtbmVvbiBhcm12N3ZldDItbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmUtbmVvbn0gYXJtdjd2ZS1uZW9uLXZmcHY0IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0LW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gYXJtdjd2ZS1uZW9uLXZmcHY0IGFybXY3dmV0Mi1uZW9uLXZmcHY0IgogCiAjIEhGIFR1bmVzCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlaGYgYXJtdjd2ZXRoZiBhcm12N3ZlaGYtdmZwdjNkMTYgYXJtdjd2ZXRoZi12ZnB2M2QxNiBhcm12N3ZlaGYtdmZwdjMgYXJtdjd2ZXRoZi12ZnB2MyBhcm12N3ZlaGYtbmVvbiBhcm12N3ZldGhmLW5lb24gYXJtdjd2ZWhmLW5lb24tdmZwdjQgYXJtdjd2ZXRoZi1uZW9uLXZmcHY0IgorQVZBSUxUVU5FUyArPSAiYXJtdjd2ZWhmIGFybXY3dmV0aGYgYXJtdjd2ZWhmLXZmcHYzZDE2IGFybXY3dmV0aGYtdmZwdjNkMTYgYXJtdjd2ZWhmLXZmcHYzIGFybXY3dmV0aGYtdmZwdjMgYXJtdjd2ZWhmLXZmcHY0ZDE2IGFybXY3dmV0aGYtdmZwdjRkMTYgYXJtdjd2ZWhmLW5lb24gYXJtdjd2ZXRoZi1uZW9uIGFybXY3dmVoZi1uZW9uLXZmcHY0IGFybXY3dmV0aGYtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYgICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZiAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi12ZnB2M2QxNiAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGYtdmZwdjMgICAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGYtdmZwdjRkMTYgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZi1uZW9uICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmLW5lb24gICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtNTgsNiArNjYsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC12ZnB2M2QxNn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2M30gY2FsbGNvbnZlbnRpb24taGFyZCIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtdmZwdjN9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtdmZwdjRkMTZ9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2fSBjYWxsY29udmVudGlvbi1oYXJkIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlLW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKQEAgLTY4LDE5ICs3OCwyMyBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBhcm12N3ZlaGYtdmZwdjNkMTYgYXJtdjd2ZXQyaGYtdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLXZmcHYzICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi12ZnB2M2QxNn0gYXJtdjd2ZWhmLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjMgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2fSBhcm12N3ZlaGYtdmZwdjMgYXJtdjd2ZXQyaGYtdmZwdjMiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gYXJtdjd2ZWhmLXZmcHY0ZDE2IgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGYtdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmfSBhcm12N3ZlaGYtdmZwdjRkMTYgYXJtdjd2ZXQyaGYtdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gYXJtdjd2ZWhmLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGFybXY3dmVoZi1uZW9uIGFybXY3dmV0MmhmLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjQgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9ufSBhcm12N3ZlaGYtbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmLW5lb24tdmZwdjQgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBhcm12N3ZlaGYtbmVvbi12ZnB2NCBhcm12N3ZldDJoZi1uZW9uLXZmcHY0IgogCiAjIEJpZyBFbmRpYW4KLUFWQUlMVFVORVMgKz0gImFybXY3dmViIGFybXY3dmV0YiBhcm12N3ZlYi12ZnB2M2QxNiBhcm12N3ZldGItdmZwdjNkMTYgYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXRiLXZmcHYzIGFybXY3dmViLW5lb24gYXJtdjd2ZXRiLW5lb24gYXJtdjd2ZWItbmVvbi12ZnB2NCBhcm12N3ZldGItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmViIGFybXY3dmV0YiBhcm12N3ZlYi12ZnB2M2QxNiBhcm12N3ZldGItdmZwdjNkMTYgYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXRiLXZmcHYzIGFybXY3dmViLXZmcHY0ZDE2IGFybXY3dmV0Yi12ZnB2NGQxNiBhcm12N3ZlYi1uZW9uIGFybXY3dmV0Yi1uZW9uIGFybXY3dmViLW5lb24tdmZwdjQgYXJtdjd2ZXRiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWIgICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiICAgICAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHYzZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItdmZwdjRkMTYgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLXZmcHY0ZDE2ICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRiLW5lb24gICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWItbmVvbi12ZnB2NCAgPz0gImFybXY3dmUiCkBAIC05MSw2ICsxMDUsOCBAQAogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2M2QxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2M30gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHYzfSBiaWdlbmRpYW4iCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItdmZwdjRkMTYgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0Yi12ZnB2NGQxNiAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LXZmcHY0ZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRiLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmViLW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gYmlnZW5kaWFuIgpAQCAtMTAxLDE5ICsxMTcsMjMgQEAKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItdmZwdjNkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGJ9IGFybXY3dmViLXZmcHYzZDE2IGFybXY3dmV0MmItdmZwdjNkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItdmZwdjNkMTZ9IGFybXY3dmViLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi12ZnB2M2QxNn0gYXJtdjd2ZWItdmZwdjMgYXJtdjd2ZXQyYi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYi12ZnB2NGQxNiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlYn0gYXJtdjd2ZWItdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRiLXZmcHY0ZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRifSBhcm12N3ZlYi12ZnB2NGQxNiBhcm12N3ZldDJiLXZmcHY0ZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmViLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVifSBhcm12N3ZlYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yi1uZW9uICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0Yn0gYXJtdjd2ZWItbmVvbiBhcm12N3ZldDJiLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWItbmVvbn0gYXJtdjd2ZWItbmVvbi12ZnB2NCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGItbmVvbn0gYXJtdjd2ZWItbmVvbi12ZnB2NCBhcm12N3ZldDJiLW5lb24tdmZwdjQiCiAKICMgQmlnIEVuZGlhbiArIEhGCi1BVkFJTFRVTkVTICs9ICJhcm12N3ZlaGZiIGFybXY3dmV0aGZiIGFybXY3dmVoZmItdmZwdjNkMTYgYXJtdjd2ZXRoZmItdmZwdjNkMTYgYXJtdjd2ZWhmYi12ZnB2MyBhcm12N3ZldGhmYi12ZnB2MyBhcm12N3ZlaGZiLW5lb24gYXJtdjd2ZXRoZmItbmVvbiBhcm12N3ZlaGZiLW5lb24tdmZwdjQgYXJtdjd2ZXRoZmItbmVvbi12ZnB2NCIKK0FWQUlMVFVORVMgKz0gImFybXY3dmVoZmIgYXJtdjd2ZXRoZmIgYXJtdjd2ZWhmYi12ZnB2M2QxNiBhcm12N3ZldGhmYi12ZnB2M2QxNiBhcm12N3ZlaGZiLXZmcHYzIGFybXY3dmV0aGZiLXZmcHYzIGFybXY3dmVoZmItdmZwdjRkMTYgYXJtdjd2ZXRoZmItdmZwdjRkMTYgYXJtdjd2ZWhmYi1uZW9uIGFybXY3dmV0aGZiLW5lb24gYXJtdjd2ZWhmYi1uZW9uLXZmcHY0IGFybXY3dmV0aGZiLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYiAgICAgICAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmYiAgICAgICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmItdmZwdjNkMTYgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjNkMTYgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLXZmcHYzICAgICAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmV0aGZiLXZmcHYzICAgICAgPz0gImFybXY3dmUiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZWhmYi12ZnB2NGQxNiAgICA/PSAiYXJtdjd2ZSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12N3ZldGhmYi12ZnB2NGQxNiAgID89ICJhcm12N3ZlIgogQVJNUEtHQVJDSF90dW5lLWFybXY3dmVoZmItbmVvbiAgICAgICAgPz0gImFybXY3dmUiCiBBUk1QS0dBUkNIX3R1bmUtYXJtdjd2ZXRoZmItbmVvbiAgICAgICA/PSAiYXJtdjd2ZSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm12N3ZlaGZiLW5lb24tdmZwdjQgID89ICJhcm12N3ZlIgpAQCAtMTI0LDYgKzE0NCw4IEBACiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjNkMTYgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLXZmcHYzZDE2fSBiaWdlbmRpYW4iCiBUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2MyAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtdmZwdjN9IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmYi12ZnB2MyAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtdmZwdjN9IGJpZ2VuZGlhbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZiLXZmcHY0ZDE2ICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgorVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGZiLXZmcHY0ZDE2ICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi12ZnB2NGQxNn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZmItbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGJpZ2VuZGlhbiIKIFRVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmYi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbn0gYmlnZW5kaWFuIgogVFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZmItbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGJpZ2VuZGlhbiIKQEAgLTEzNCw2ICsxNTYsOCBAQAogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2ICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmJ9IGFybXY3dmVoZmItdmZwdjNkMTYgYXJtdjd2ZXQyaGZiLXZmcHYzZDE2IgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItdmZwdjMgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi12ZnB2M2QxNn0gYXJtdjd2ZWhmYi12ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYi12ZnB2MyAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZiLXZmcHYzZDE2fSBhcm12N3ZlaGZiLXZmcHYzIGFybXY3dmV0MmhmYi12ZnB2MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZiLXZmcHY0ZDE2ICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmJ9IGFybXY3dmVoZmItdmZwdjRkMTYiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmItdmZwdjRkMTYgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYn0gYXJtdjd2ZWhmYi12ZnB2NGQxNiBhcm12N3ZldDJoZmItdmZwdjRkMTYiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGZifSBhcm12N3ZlaGZiLW5lb24iCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZmItbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZldGhmYn0gYXJtdjd2ZWhmYi1uZW9uIGFybXY3dmV0MmhmYi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZmItbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmYi1uZW9ufSBhcm12N3ZlaGZiLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4LmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWU4MzJmYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm02NC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjgxMGExZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCkBAIC0wLDAgKzEsMzAgQEAKK0RFRkFVTFRUVU5FID89ICJhcm12OGEtY3JjIgorCitUVU5FVkFMSURbYXJtdjhhXSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12OC1hIgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybXY4YScsICcgLW1hcmNoPWFybXY4LWEnLCAnJywgZCl9IgorVFVORVZBTElEW2NyY10gPSAiRW5hYmxlIGluc3RydWN0aW9ucyBmb3IgQVJNdjgtYSBDeWNsaWMgUmVkdW5kYW5jeSBDaGVjayAoQ1JDKSIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjcmMnLCAnK2NyYycsICcnLCBkKX0iCitUVU5FVkFMSURbY3J5cHRvXSA9ICJFbmFibGUgaW5zdHJ1Y3Rpb25zIGZvciBBUk12OC1hIGNyeXB0b2dyYXBoaWMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY3J5cHRvJywgJytjcnlwdG8nLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtdjhhJywgJ2FybXY4YTonLCAnJyAsZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybTY0LmluYworCisjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCitBVkFJTFRVTkVTICs9ICJhcm12OGEgYXJtdjhhLWNyYyBhcm12OGEtY3JjLWNyeXB0byBhcm12OGEtY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWFybXY4YSAgICAgICAgICAgICAgICAgICAgPz0gImFybXY4YSIKK0FSTVBLR0FSQ0hfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICAgID89ICJhcm12OGEiCitBUk1QS0dBUkNIX3R1bmUtYXJtdjhhLWNyeXB0byAgICAgICAgICAgICA/PSAiYXJtdjhhIgorQVJNUEtHQVJDSF90dW5lLWFybXY4YS1jcmMtY3J5cHRvICAgICAgICAgPz0gImFybXY4YSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEgICAgICAgICAgICAgICAgICA9ICJhYXJjaDY0IGFybXY4YSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGF9IGNyYyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3J5cHRvICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGF9IGNyeXB0byIKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjLWNyeXB0byAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12OGEtY3JjfSBjcnlwdG8iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhICAgICAgICAgICAgPSAiYWFyY2g2NCBhcm12OGEiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYyAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhfSBhcm12OGEtY3JjIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcnlwdG8gICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YX0gYXJtdjhhLWNyeXB0byIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0byA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBhcm12OGEtY3J5cHRvIGFybXY4YS1jcmMtY3J5cHRvIgorQkFTRV9MSUJfdHVuZS1hcm12OGEgICAgICAgICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3JjICAgICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3J5cHRvICAgICAgICAgICAgICAgID0gImxpYjY0IgorQkFTRV9MSUJfdHVuZS1hcm12OGEtY3JjLWNyeXB0byAgICAgICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS1uZW9uLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tbmVvbi5pbmMKaW5kZXggYjM0YWY4ZS4uZWFkZGQwNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS1uZW9uLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLW5lb24uaW5jCkBAIC0xNiwzICsxNiw2IEBACiBUVU5FVkFMSURbdmZwdjRdID0gIkVuYWJsZSBWZWN0b3IgRmxvYXRpbmcgUG9pbnQgVmVyc2lvbiA0ICh2ZnB2NCkgdW5pdC4iCiBUVU5FX0NDQVJHU19NRlBVIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICd2ZnB2NCcsICcgdmZwdjQnLCAnJywgZCl9IgogVFVORV9DQ0FSR1NfTUZQVSAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCBbICd2ZnB2NCcsICduZW9uJyBdLCAnIG5lb24tdmZwdjQnLCAnJywgZCl9IgorCitUVU5FVkFMSURbdmZwdjRkMTZdID0gIkVuYWJsZSBWZWN0b3IgRmxvYXRpbmcgUG9pbnQgVmVyc2lvbiA0IHdpdGggMTYgcmVnaXN0ZXJzICh2ZnB2NC1kMTYpIHVuaXQuIgorVFVORV9DQ0FSR1NfTUZQVSAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndmZwdjRkMTYnLCAnIHZmcHY0LWQxNicsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLXZmcC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2ZlYXR1cmUtYXJtLXZmcC5pbmMKaW5kZXggN2FlNzQ1Ni4uNjc4ODg4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9mZWF0dXJlLWFybS12ZnAuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vZmVhdHVyZS1hcm0tdmZwLmluYwpAQCAtNiw3ICs2LDggQEAKIFRVTkVfQ0NBUkdTX01GUFUgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3ZmcCcsICcgdmZwJywgJycsIGQpfSIKIAogVFVORV9DQ0FSR1MgIC49ICIke0AgKCcgLW1mcHU9JXMnICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXSkgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykgIT0gJycpIGVsc2UgJyd9IgotQVJNUEtHU0ZYX0ZQVSA9ICIke0AgKCctJXMnICAgICAgICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXS5yZXBsYWNlKCd2ZnB2My1kMTYnLCAndmZwdjNkMTYnKSkgaWYgKGQuZ2V0VmFyKCdUVU5FX0NDQVJHU19NRlBVJykgIT0gJycpIGVsc2UgJyd9IgorIyBUaGUgZm9sbG93aW5nIGRlYWxzIHdpdGggYm90aCB2ZnB2My1kMTYgYW5kIHZmcHY0LWQxNgorQVJNUEtHU0ZYX0ZQVSA9ICIke0AgKCctJXMnICAgICAgICUgZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKS5zcGxpdCgpWy0xXS5yZXBsYWNlKCctZDE2JywgJ2QxNicpKSBpZiAoZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTX01GUFUnKSAhPSAnJykgZWxzZSAnJ30iCiAKIFRVTkVWQUxJRFtjYWxsY29udmVudGlvbi1oYXJkXSA9ICJFbmFibGUgRUFCSSBoYXJkIGZsb2F0IGNhbGwgY29udmVudGlvbiwgcmVxdWlyZXMgVkZQLiIKIFRVTkVfQ0NBUkdTX01GTE9BVCA9ICIke0AgYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY2FsbGNvbnZlbnRpb24taGFyZCcsICdoYXJkJywgJ3NvZnRmcCcsIGQpIGlmIChkLmdldFZhcignVFVORV9DQ0FSR1NfTUZQVScpICE9ICcnKSBlbHNlICcnIH0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKaW5kZXggZjc1MWM2Yi4uZDk5MTZkNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYwpAQCAtNyw2ICs3LDkgQEAKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdtNjQnLCAnIC1tNjQnLCAnJywgZCl9IgogVFVORV9BUkNIIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsIFsgJ202NCcgXSwgJ3Bvd2VycGM2NCcsICcnLCBkKX0iCiAKKyMgbXVzbCBvbmx5IHN1cHBvcnRzIGVsZnYyIEFCSSBmb3IgcHBjNjQKK1RVTkVfQ0NBUkdTIC49ICIke0BbJycsICcgLW1hYmk9ZWxmdjInXVsnbGliYy1tdXNsJyBpbiBkLmdldFZhcignT1ZFUlJJREVTJykuc3BsaXQoJzonKV19IgorCiAjIHVzZXIgbW9kZSBxZW11IGRvZXNuJ3Qgc3VwcG9ydCBwcGM2NAogTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnbTY0JywgJ3FlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMKaW5kZXggN2Q5ZmE1Mi4uNzViYjk4OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LW1pcHMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC1taXBzLmluYwpAQCAtMyw2ICszLDcgQEAKIFFCX01FTSA9ICItbSAyNTYiCiBRQl9NQUNISU5FID0gIi1tYWNoaW5lIG1hbHRhIgogUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gImNvbnNvbGU9dHR5UzAgY29uc29sZT10dHkiCitRQl9PUFRfQVBQRU5EID0gIi12Z2EgY2lycnVzIC1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCIKICMgQWRkIHRoZSAndmlydGlvLXJuZy1wY2knIGRldmljZSBvdGhlcndpc2UgdGhlIGd1ZXN0IG1heSBydW4gb3V0IG9mIGVudHJvcHkKLVFCX09QVF9BUFBFTkQgPSAiLXZnYSBjaXJydXMgLXNob3ctY3Vyc29yIC11c2IgLWRldmljZSB1c2ItdGFibGV0IC1kZXZpY2UgdmlydGlvLXJuZy1wY2kiCitRQl9PUFRfQVBQRU5EICs9ICItb2JqZWN0IHJuZy1yYW5kb20sZmlsZW5hbWU9L2Rldi91cmFuZG9tLGlkPXJuZzAgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSxybmc9cm5nMCIKIFFCX1NZU1RFTV9OQU1FID0gInFlbXUtc3lzdGVtLSR7VFVORV9BUkNIfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS9xZW11Ym9vdC14ODYuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKaW5kZXggMTQ1NmJmNy4uNWZkYmU0ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXVib290LXg4Ni5pbmMKQEAgLTExLDcgKzExLDggQEAKIFFCX0FVRElPX0RSViA9ICJhbHNhIgogUUJfQVVESU9fT1BUID0gIi1zb3VuZGh3IGFjOTcsZXMxMzcwIgogUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gInZnYT0wIHV2ZXNhZmIubW9kZV9vcHRpb249JHtVVkVTQV9NT0RFfSBvcHJvZmlsZS50aW1lcj0xIHV2ZXNhZmIudGFza190aW1lb3V0PS0xIgorUUJfT1BUX0FQUEVORCA9ICItdmdhIHZtd2FyZSAtc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCiAjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi12Z2Egdm13YXJlIC1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiAKIFVWRVNBX01PREUgPz0gIjY0MHg0ODAtMzIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKaW5kZXggYzVkZTYzZS4uZDg4M2ViYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtMTEzNmpmLXMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTExMzZqZi1zLmluYwpAQCAtNCw4ICs0LDEwIEBACiAKIFRVTkVWQUxJRFthcm0xMTM2amZzXSA9ICJFbmFibGUgYXJtMTEzNmpmcyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm0xMTM2amZzJywgJyAtbWNwdT1hcm0xMTM2amYtcycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm0xMTM2amZzJywgJ2FybXY2OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gImFybTExMzZqZnMiCiBBUk1QS0dBUkNIX3R1bmUtYXJtMTEzNmpmcyA9ICJhcm0xMTM2amZzIgotVFVORV9GRUFUVVJFU190dW5lLWFybTExMzZqZnMgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjZ9IGFybTExMzZqZnMiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjYgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWFybTExMzZqZnMgPSAiYXJtIGFybTExMzZqZnMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtMTEzNmpmcyA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12Nn0gYXJtMTEzNmpmcy12ZnAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjB0LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCmluZGV4IGM2ZTc0YjYuLjQyZThlZDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyMHQuaW5jCkBAIC00LDggKzQsMTAgQEAKIAogVFVORVZBTElEW2FybTkyMHRdID0gIkVuYWJsZSBhcm05MjB0IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTkyMHQnLCAnIC1tY3B1PWFybTkyMHQnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnYXJtOTIwdCcsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJhcm05MjB0IgogQVJNUEtHQVJDSF90dW5lLWFybTkyMHQgPSAiYXJtOTIwdCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1hcm05MjB0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY0dH0gYXJtOTIwdCIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12NHQgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWFybTkyMHQgPSAiYXJtIHRodW1iIGFybTkyMHQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtOTIwdCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NHR9IGFybTkyMHQgYXJtOTIwdHQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYwppbmRleCA4MWJjZGEzLi41NjNkNTNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTkyNmVqcy5pbmMKQEAgLTQsOCArNCwxMCBAQAogCiBUVU5FVkFMSURbYXJtOTI2ZWpzXSA9ICJFbmFibGUgYXJtOTI2ZWpzIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTkyNmVqcycsICcgLW1jcHU9YXJtOTI2ZWotcycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05MjZlanMnLCAnYXJtdjU6JywgJycgLGQpfSIKIAogQVZBSUxUVU5FUyArPSAiYXJtOTI2ZWpzIgogQVJNUEtHQVJDSF90dW5lLWFybTkyNmVqcyA9ICJhcm05MjZlanMiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOTI2ZWpzID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY1dGV9IGFybTkyNmVqcyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12NXRlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1hcm05MjZlanMgPSAiYXJtIHRodW1iIGRzcCBhcm05MjZlanMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtOTI2ZWpzID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY1dGV9IGFybTkyNmVqc3RlIGFybTkyNmVqc2UiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05dGRtaS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05dGRtaS5pbmMKaW5kZXggZTljMmI4Zi4uZTAzYThiOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOXRkbWkuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTl0ZG1pLmluYwpAQCAtNCw4ICs0LDEwIEBACiAKIFRVTkVWQUxJRFthcm05dGRtaV0gPSAiRW5hYmxlIGFybTl0ZG1pIHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2FybTl0ZG1pJywgJyAtbWNwdT1hcm05dGRtaScsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdhcm05dGRtaScsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJhcm05dGRtaSIKIEFSTVBLR0FSQ0hfdHVuZS1hcm05dGRtaSA9ICJhcm05dGRtaSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1hcm05dGRtaSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NHR9IGFybTl0ZG1pIgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY0dCBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtOXRkbWkgPSAiYXJtIHRodW1iIGFybTl0ZG1pIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybTl0ZG1pID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY0dH0gYXJtOXRkbWl0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNS5pbmMKaW5kZXggMjVlOTlmOS4uZDUzNDAzYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE1LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTUuaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YTE1XSA9ICJFbmFibGUgQ29ydGV4LUExNSBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhMTUnLCAnIC1tY3B1PWNvcnRleC1hMTUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTE1JywgJ2FybXY3dmU6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTE1IGNvcnRleGExNXQgY29ydGV4YTE1LW5lb24gY29ydGV4YTE1dC1uZW9uIGNvcnRleGExNS1uZW9uLXZmcHY0IGNvcnRleGExNXQtbmVvbi12ZnB2NCIKQEAgLTEzLDEyICsxNCwxMyBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhMTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjQgID0gImNvcnRleGExNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTV0LW5lb24tdmZwdjQgPSAiY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjQgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbi12ZnB2NH0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0fSBjb3J0ZXhhMTUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjd2ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1ICAgICAgICAgICAgID0gImFybSB2ZnAgY29ydGV4YTE1IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNS1uZW9ufSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb259IHZmcHY0IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNXQtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1ICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV9IGNvcnRleGExNS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE1dCAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0fSBjb3J0ZXhhMTUtdmZwIGNvcnRleGExNXQyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTUtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhMTUtdmZwIGNvcnRleGExNS1uZW9uIgpAQCAtMzQsMTIgKzM2LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE1dGhmLW5lb24gICAgICAgPSAiY29ydGV4YTE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExNWhmLW5lb24tdmZwdjQgID0gImNvcnRleGExNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmVoZi1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9ufSBjb3J0ZXhhMTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGNvcnRleGExNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb24tdmZwdjR9IGNvcnRleGExNSIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTVoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTUtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTV0LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE1dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNWhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZn0gY29ydGV4YTE1aGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNXRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGExNWhmLXZmcCBjb3J0ZXhhMTV0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTVoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTE1aGYtdmZwIGNvcnRleGExNWhmLW5lb24iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTcuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTE3LmluYwppbmRleCA0MDM5MmY5Li4zZmZjMDJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTcuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGExNy5pbmMKQEAgLTQsNiArNCw3IEBACiAKIFRVTkVWQUxJRFtjb3J0ZXhhMTddID0gIkVuYWJsZSBDb3J0ZXgtQTE3IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGExNycsICcgLW1jcHU9Y29ydGV4LWExNycsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhMTcnLCAnYXJtdjd2ZTonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCiBBVkFJTFRVTkVTICs9ICJjb3J0ZXhhMTcgY29ydGV4YTE3dCBjb3J0ZXhhMTctbmVvbiBjb3J0ZXhhMTd0LW5lb24gY29ydGV4YTE3LW5lb24tdmZwdjQgY29ydGV4YTE3dC1uZW9uLXZmcHY0IgpAQCAtMTMsMTIgKzE0LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3dC1uZW9uICAgICAgID0gImNvcnRleGExNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NCAgPSAiY29ydGV4YTE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN3QtbmVvbi12ZnB2NCA9ICJjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3ICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9ufSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9uLXZmcHY0fSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0LW5lb24tdmZwdjR9IGNvcnRleGExNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTcgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhMTciCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gbmVvbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3LW5lb259IHRodW1iIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbn0gdmZwdjQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3dC1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9uLXZmcHY0fSB0aHVtYiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTcgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTE3LXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhMTd0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGExNy12ZnAgY29ydGV4YTE3dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExNy1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGExNy12ZnAgY29ydGV4YTE3LW5lb24iCkBAIC0zNCwxMiArMzYsMTMgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhMTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTE3aGYtbmVvbi12ZnB2NCAgPSAiY29ydGV4YTE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGExN3RoZi1uZW9uLXZmcHY0ID0gImNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZ9IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmfSBjb3J0ZXhhMTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTE3aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb259IGNvcnRleGExNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbi12ZnB2NH0gY29ydGV4YTE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3RoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmV0aGYtbmVvbi12ZnB2NH0gY29ydGV4YTE3IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3dmUgYXMgd2UgZG9uJ3Qgd2FudCBtYXJjaAorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN2hmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN30gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN2hmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExNy1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3RoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGExN3QtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTdoZi1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTctbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0aGYtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMTd0LW5lb24tdmZwdjR9IGNhbGxjb252ZW50aW9uLWhhcmQiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhMTdoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTE3dGhmICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTE3aGYtdmZwIGNvcnRleGExN3QyaGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGExN2hmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmVoZi1uZW9ufSBjb3J0ZXhhMTdoZi12ZnAgY29ydGV4YTE3aGYtbmVvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzMi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzIuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOTQ4ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMzIuaW5jCkBAIC0wLDAgKzEsMTggQEAKK0RFRkFVTFRUVU5FID89ICJjb3J0ZXhhMzIiCisKKworVFVORVZBTElEW2NvcnRleGEzMl0gPSAiRW5hYmxlIENvcnRleC1BMzIgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTMyJywgJyAtbWNwdT1jb3J0ZXgtYTMyJywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGEzMiBjb3J0ZXhhMzItY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzMiAgICAgICAgICAgICA9ICJjb3J0ZXhhMzIiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTMyLWNyeXB0byAgICAgID0gImNvcnRleGEzMiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzIgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzIgY3JjIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGEzMi1jcnlwdG8gICA9ICJhYXJjaDY0IGNvcnRleGEzMiBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzMiAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBjb3J0ZXhhMzIiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTMyLWNyeXB0byAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMtY3J5cHRvfSBjb3J0ZXhhMzIgY29ydGV4YTMyLWNyeXB0byIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTMyICAgICAgICAgICAgICAgPSAibGliNjQiCitCQVNFX0xJQl90dW5lLWNvcnRleGEzMi1jcnlwdG8gICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTM1LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzNS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZkZjZjZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGEzNS5pbmMKQEAgLTAsMCArMSwxNyBAQAorREVGQVVMVFRVTkUgPz0gImNvcnRleGEzNSIKKworVFVORVZBTElEW2NvcnRleGEzNV0gPSAiRW5hYmxlIENvcnRleC1BMzUgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTM1JywgJyAtbWNwdT1jb3J0ZXgtYTM1JywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGEzNSBjb3J0ZXhhMzUtY3J5cHRvIgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGEzNSAgICAgICAgICAgICA9ICJjb3J0ZXhhMzUiCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTM1LWNyeXB0byAgICAgID0gImNvcnRleGEzNSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhMzUgICAgICAgICAgPSAiYWFyY2g2NCBjb3J0ZXhhMzUgY3JjIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGEzNS1jcnlwdG8gICA9ICJhYXJjaDY0IGNvcnRleGEzNSBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGEzNSAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjfSBjb3J0ZXhhMzUiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTM1LWNyeXB0byAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmMtY3J5cHRvfSBjb3J0ZXhhMzUgY29ydGV4YTM1LWNyeXB0byIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTM1ICAgICAgICAgICAgICAgPSAibGliNjQiCitCQVNFX0xJQl90dW5lLWNvcnRleGEzNS1jcnlwdG8gICAgICAgID0gImxpYjY0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUuaW5jCmluZGV4IDFmMGNkYTYuLjQ5NjczOWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE1LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNS5pbmMKQEAgLTQsMzMgKzQsNDggQEAKIAogVFVORVZBTElEW2NvcnRleGE1XSA9ICJFbmFibGUgQ29ydGV4LUE1IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE1JywgJyAtbWNwdT1jb3J0ZXgtYTUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTUnLCAnYXJtdjdhOicsICcnICxkKX0iCiAKICMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKLUFWQUlMVFVORVMgKz0gImNvcnRleGE1IGNvcnRleGE1dCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1dC1uZW9uIgorQVZBSUxUVU5FUyArPSAiY29ydGV4YTUgY29ydGV4YTV0IGNvcnRleGE1LW5lb24gY29ydGV4YTV0LW5lb24gY29ydGV4YTUtbmVvbi12ZnB2NCBjb3J0ZXhhNXQtbmVvbi12ZnB2NCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNSAgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXQgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNS1uZW9uICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE1IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1LW5lb24tdmZwdjQgID0gImNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1dC1uZW9uLXZmcHY0ID0gImNvcnRleGE1IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhNSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNX0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gdmZwdjQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0LW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NH0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhNS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTV0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTUtdmZwIGNvcnRleGE1dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhNS12ZnAgY29ydGV4YTUtbmVvbiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXQtbmVvbiAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE1LXZmcCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1dDItdmZwIGNvcnRleGE1dDItbmVvbiIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNS1uZW9uLXZmcHY0ICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2EtbmVvbi12ZnB2NH0gY29ydGV4YTUtdmZwIGNvcnRleGE1LW5lb24gY29ydGV4YTUtbmVvbi12ZnB2NCIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXQtbmVvbi12ZnB2NCA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2F0LW5lb24tdmZwdjR9IGNvcnRleGE1LXZmcCBjb3J0ZXhhNS1uZW9uIGNvcnRleGE1LW5lb24tdmZwdjQgY29ydGV4YTV0Mi12ZnAgY29ydGV4YTV0Mi1uZW9uIGNvcnRleGE1dDItbmVvbi12ZnB2NCIKIAogIyBIRiBUdW5lcwotQVZBSUxUVU5FUyArPSAiY29ydGV4YTVoZiBjb3J0ZXhhNXRoZiBjb3J0ZXhhNWhmLW5lb24gY29ydGV4YTV0aGYtbmVvbiIKK0FWQUlMVFVORVMgKz0gImNvcnRleGE1aGYgY29ydGV4YTV0aGYgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1dGhmLW5lb24gY29ydGV4YTVoZi1uZW9uLXZmcHY0IGNvcnRleGE1dGhmLW5lb24tdmZwdjQiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTVoZiAgICAgICAgICAgICA9ICJjb3J0ZXhhNSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gImNvcnRleGE1IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiY29ydGV4YTUiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTV0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTUiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTVoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2FoZi1uZW9ufSBjb3J0ZXhhNSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXRoZi1uZW9ufSBjb3J0ZXhhNSIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNWhmLW5lb24tdmZwdjQgID0gImNvcnRleGE1IgorQVJNUEtHQVJDSF90dW5lLWNvcnRleGE1dGhmLW5lb24tdmZwdjQgPSAiY29ydGV4YTUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjdhIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNWhmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTV0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUtbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE1aGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1dGhmICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhNWhmLXZmcCBjb3J0ZXhhNXQyaGYtdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYtbmVvbiAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtbmVvbn0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTVoZi1uZW9uIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1dGhmLW5lb24gICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE1aGYtdmZwIGNvcnRleGE1aGYtbmVvbiBjb3J0ZXhhNXQyaGYtdmZwIGNvcnRleGE1dDJoZi1uZW9uIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE1aGYtbmVvbi12ZnB2NCAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhaGYtbmVvbi12ZnB2NH0gY29ydGV4YTVoZi12ZnAgY29ydGV4YTVoZi1uZW9uIGNvcnRleGE1aGYtbmVvbi12ZnB2NCIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNXRoZi1uZW9uLXZmcHY0ID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhNWhmLXZmcCBjb3J0ZXhhNWhmLW5lb24gY29ydGV4YTVoZi1uZW9uLXZmcHY0IGNvcnRleGE1dDJoZi12ZnAgY29ydGV4YTV0MmhmLW5lb24gY29ydGV4YTV0MmhmLW5lb24tdmZwdjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNTMuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUzLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzBiNDQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTUzLmluYwpAQCAtMCwwICsxLDE3IEBACitERUZBVUxUVFVORSA/PSAiY29ydGV4YTUzIgorCitUVU5FVkFMSURbY29ydGV4YTUzXSA9ICJFbmFibGUgQ29ydGV4LUE1MyBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKK1RVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhNTMnLCAnIC1tY3B1PWNvcnRleC1hNTMnLCAnJywgZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKKworIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncworQVZBSUxUVU5FUyArPSAiY29ydGV4YTUzIGNvcnRleGE1My1jcnlwdG8iCitBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTUzICAgICAgICAgICAgID0gImNvcnRleGE1MyIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNTMtY3J5cHRvICAgICAgPSAiY29ydGV4YTUzIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE1MyAgICAgICAgICA9ICJhYXJjaDY0IGNvcnRleGE1MyBjcmMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgID0gImFhcmNoNjQgY29ydGV4YTUzIGNyYyBjcnlwdG8iCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTUzICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY4YS1jcmN9IGNvcnRleGE1MyIKK1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNTMtY3J5cHRvICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjhhLWNyYy1jcnlwdG99IGNvcnRleGE1MyBjb3J0ZXhhNTMtY3J5cHRvIgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhNTMgICAgICAgICAgICAgICA9ICJsaWI2NCIKK0JBU0VfTElCX3R1bmUtY29ydGV4YTUzLWNyeXB0byAgICAgICAgPSAibGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNy5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhNy5pbmMKaW5kZXggNTI0MTVkOS4uMzRhNzdiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3LmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2NvcnRleGE3XSA9ICJFbmFibGUgQ29ydGV4LUE3IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgogVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2NvcnRleGE3JywgJyAtbWNwdT1jb3J0ZXgtYTcnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTcnLCAnYXJtdjd2ZTonLCAnJyAsZCl9IgogCiAjIExpdHRsZSBFbmRpYW4gYmFzZSBjb25maWdzCiBBVkFJTFRVTkVTICs9ICJjb3J0ZXhhNyBjb3J0ZXhhN3QgY29ydGV4YTctbmVvbiBjb3J0ZXhhN3QtbmVvbiBjb3J0ZXhhNy1uZW9uLXZmcHY0IGNvcnRleGE3dC1uZW9uLXZmcHY0IgpAQCAtMTMsMTIgKzE0LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0LW5lb24gICAgICAgPSAiY29ydGV4YTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NCAgPSAiY29ydGV4YTciCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0LW5lb24tdmZwdjQgPSAiY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTcgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZX0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0ICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3dmUtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXQtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZS1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldC1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNyAgICAgICAgICAgICA9ICJhcm0gdmZwIGNvcnRleGE3IgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3fSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN30gbmVvbiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9ufSB0aHVtYiIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uLXZmcHY0ICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9ufSB2ZnB2NCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3QtbmVvbi12ZnB2NCA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhNy1uZW9uLXZmcHY0fSB0aHVtYiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNyAgICAgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlfSBjb3J0ZXhhNy12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTd0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZXR9IGNvcnRleGE3LXZmcCBjb3J0ZXhhN3QyLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhNy1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlLW5lb259IGNvcnRleGE3LXZmcCBjb3J0ZXhhNy1uZW9uIgpAQCAtMzQsMTIgKzM2LDEzIEBACiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTd0aGYtbmVvbiAgICAgICA9ICJjb3J0ZXhhNyIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhN2hmLW5lb24tdmZwdjQgID0gImNvcnRleGE3IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE3dGhmLW5lb24tdmZwdjQgPSAiY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTdoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGZ9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTdoZi1uZW9uICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTciCi1UVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N3ZldGhmLW5lb259IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZWhmLW5lb24tdmZwdjR9IGNvcnRleGE3IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmLW5lb24tdmZwdjQgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjd2ZXRoZi1uZW9uLXZmcHY0fSBjb3J0ZXhhNyIKKyMgbWNwdSBpcyB1c2VkIHNvIGRvbid0IHVzZSBhcm12N3ZlIGFzIHdlIGRvbid0IHdhbnQgbWFyY2gKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN2hmICAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTd0fSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dC1uZW9ufSBjYWxsY29udmVudGlvbi1oYXJkIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3aGYtbmVvbi12ZnB2NCAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTctbmVvbi12ZnB2NH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhN3RoZi1uZW9uLXZmcHY0ID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3dC1uZW9uLXZmcHY0fSBjYWxsY29udmVudGlvbi1oYXJkIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3aGYgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjd2ZWhmfSBjb3J0ZXhhN2hmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhN3RoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3dmV0aGZ9IGNvcnRleGE3aGYtdmZwIGNvcnRleGE3dDJoZi12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTdoZi1uZW9uICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N3ZlaGYtbmVvbn0gY29ydGV4YTdoZi12ZnAgY29ydGV4YTdoZi1uZW9uIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTcyLmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3Mi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBmNzc0NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE3Mi5pbmMKQEAgLTAsMCArMSwxMyBAQAorREVGQVVMVFRVTkUgPz0gImNvcnRleGE3MiIKKworVFVORVZBTElEW2NvcnRleGE3Ml0gPSAiRW5hYmxlIENvcnRleC1BNzIgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTcyJywgJyAtbWNwdT1jb3J0ZXgtYTcyJywgJycsIGQpfSIKKworcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OGEuaW5jCisKKyMgTGl0dGxlIEVuZGlhbiBiYXNlIGNvbmZpZ3MKK0FWQUlMVFVORVMgKz0gImNvcnRleGE3MiIKK0FSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhNzIgICAgICAgICAgICAgPSAiY29ydGV4YTcyIgorVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE3MiAgICAgICAgICA9ICJhYXJjaDY0IGNvcnRleGE3MiBjcmMgY3J5cHRvIgorUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE3MiAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12OGEtY3JjLWNyeXB0b30gY29ydGV4YTcyIgorQkFTRV9MSUJfdHVuZS1jb3J0ZXhhNzIgICAgICAgICAgICAgICA9ICJsaWI2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE4LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE4LmluYwppbmRleCA4ZWU4ZGU5Li42NTUxYmE0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTguaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YThdID0gIkVuYWJsZSBDb3J0ZXgtQTggc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTgnLCAnIC1tY3B1PWNvcnRleC1hOCcsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhOCcsICdhcm12N2E6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTggY29ydGV4YTh0IGNvcnRleGE4LW5lb24gY29ydGV4YTh0LW5lb24iCkBAIC0xMSwxMCArMTIsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHQgICAgICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOC1uZW9uICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHQtbmVvbiAgICAgICA9ICJjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOCAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE4IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTggICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhOCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOH0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTgtbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTgtbmVvbn0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTggICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOC12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTh0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTgtdmZwIGNvcnRleGE4dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE4LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOC12ZnAgY29ydGV4YTgtbmVvbiIKQEAgLTI2LDEwICsyOCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE4dGhmICAgICAgICAgICAgPSAiY29ydGV4YTgiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YThoZi1uZW9uICAgICAgICA9ICJjb3J0ZXhhOCIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOHRoZi1uZW9uICAgICAgID0gImNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhOCIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE4IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE4IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YThoZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE4LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTh0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOHQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOGhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOGhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOHRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gY29ydGV4YThoZi12ZnAgY29ydGV4YTh0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOGhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE4aGYtdmZwIGNvcnRleGE4aGYtbmVvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE5LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWNvcnRleGE5LmluYwppbmRleCAwY2YzMjNjLi5lY2M3OTA4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhOS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtY29ydGV4YTkuaW5jCkBAIC00LDYgKzQsNyBAQAogCiBUVU5FVkFMSURbY29ydGV4YTldID0gIkVuYWJsZSBDb3J0ZXgtQTkgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnY29ydGV4YTknLCAnIC1tY3B1PWNvcnRleC1hOScsICcnLCBkKX0iCitNQUNISU5FT1ZFUlJJREVTID0uICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdjb3J0ZXhhOScsICdhcm12N2E6JywgJycgLGQpfSIKIAogIyBMaXR0bGUgRW5kaWFuIGJhc2UgY29uZmlncwogQVZBSUxUVU5FUyArPSAiY29ydGV4YTkgY29ydGV4YTl0IGNvcnRleGE5LW5lb24gY29ydGV4YTl0LW5lb24iCkBAIC0xMSwxMCArMTIsMTEgQEAKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXQgICAgICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOS1uZW9uICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXQtbmVvbiAgICAgICA9ICJjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOSAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dCAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YXR9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LW5lb259IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTkgICAgICAgICAgICAgPSAiYXJtIHZmcCBjb3J0ZXhhOSIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOX0gdGh1bWIiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktbmVvbiAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl9IG5lb24iCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0LW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktbmVvbn0gdGh1bWIiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTkgICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhfSBjb3J0ZXhhOS12ZnAiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTl0ICAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhdH0gY29ydGV4YTktdmZwIGNvcnRleGE5dDItdmZwIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5LW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YS1uZW9ufSBjb3J0ZXhhOS12ZnAgY29ydGV4YTktbmVvbiIKQEAgLTI2LDEwICsyOCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dGhmICAgICAgICAgICAgPSAiY29ydGV4YTkiCiBBUk1QS0dBUkNIX3R1bmUtY29ydGV4YTloZi1uZW9uICAgICAgICA9ICJjb3J0ZXhhOSIKIEFSTVBLR0FSQ0hfdHVuZS1jb3J0ZXhhOXRoZi1uZW9uICAgICAgID0gImNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5aGYgICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGZ9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmICAgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLW5lb24gICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhdGhmLW5lb259IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZiAgICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOX0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dH0gY2FsbGNvbnZlbnRpb24taGFyZCIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LW5lb259IGNhbGxjb252ZW50aW9uLWhhcmQiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0aGYtbmVvbiAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtbmVvbn0gY2FsbGNvbnZlbnRpb24taGFyZCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOWhmICAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmfSBjb3J0ZXhhOWhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOXRoZiAgICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXRoZn0gY29ydGV4YTloZi12ZnAgY29ydGV4YTl0MmhmLXZmcCIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOWhmLW5lb24gICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YWhmLW5lb259IGNvcnRleGE5aGYtdmZwIGNvcnRleGE5aGYtbmVvbiIKQEAgLTQxLDEwICs0NCwxMSBAQAogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dC12ZnB2MyAgICAgICAgID0gImNvcnRleGE5IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5aGYtdmZwdjMgICAgICAgID0gImNvcnRleGE5IgogQVJNUEtHQVJDSF90dW5lLWNvcnRleGE5dGhmLXZmcHYzICAgICAgID0gImNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5LXZmcHYzICAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2EtdmZwdjN9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dC12ZnB2MyAgICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0LXZmcHYzfSBjb3J0ZXhhOSIKLVRVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjdhaGYtdmZwdjN9IGNvcnRleGE5IgotVFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmLXZmcHYzICAgICAgICA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12N2F0aGYtdmZwdjN9IGNvcnRleGE5IgorIyBtY3B1IGlzIHVzZWQgc28gZG9uJ3QgdXNlIGFybXY3YSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTktdmZwdjMgICAgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOXQtdmZwdjMgICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0fSB2ZnB2MyIKK1RVTkVfRkVBVFVSRVNfdHVuZS1jb3J0ZXhhOWhmLXZmcHYzICAgICAgICAgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTloZn0gdmZwdjMiCitUVU5FX0ZFQVRVUkVTX3R1bmUtY29ydGV4YTl0aGYtdmZwdjMgICAgICAgID0gIiR7VFVORV9GRUFUVVJFU190dW5lLWNvcnRleGE5dGhmfSB2ZnB2MyIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1jb3J0ZXhhOS12ZnB2MyAgICAgICAgICAgPSAiJHtQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtYXJtdjdhLXZmcHYzfSBjb3J0ZXhhOS12ZnAgY29ydGV4YTktdmZwdjMiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtY29ydGV4YTl0LXZmcHYzICAgICAgICAgID0gIiR7UEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWFybXY3YXQtdmZwdjN9IGNvcnRleGE5LXZmcCBjb3J0ZXhhOS12ZnB2MyBjb3J0ZXhhOXQyLXZmcCBjb3J0ZXhhOXQyLXZmcHYzIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLWNvcnRleGE5aGYtdmZwdjMgICAgICAgICA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12N2FoZi12ZnB2M30gY29ydGV4YTloZi12ZnAgY29ydGV4YTloZi12ZnB2MyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWVwOTMxMi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1lcDkzMTIuaW5jCmluZGV4IDg0Y2E1MjguLjRkOTI4MjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWVwOTMxMi5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtZXA5MzEyLmluYwpAQCAtNCw2ICs0LDcgQEAKIAogVFVORVZBTElEW2VwOTMxMl0gPSAiRW5hYmxlIEludGVsIFBYQTI3eCBzcGVjaWZpYyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdlcDkzMTInLCAnIC1tYXJjaD1lcDkzMTIgLW1jcHU9ZXA5MzEyJywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2VwOTMxMicsICdhcm12NDonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJlcDkzMTIiCiBBUk1QS0dBUkNIX3R1bmUtZXA5MzEyID0gImVwOTMxMiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWl3bW14dC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1pd21teHQuaW5jCmluZGV4IGYyNzQyM2MuLjlhNmNkMjMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWl3bW14dC5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtaXdtbXh0LmluYwpAQCAtNiw3ICs2LDggQEAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjUtZHNwLmluYwogCiBUVU5FVkFMSURbaXdtbXh0XSA9ICJFbmFibGUgSW50ZWwgUFhBMjd4IHNwZWNpZmljIHByb2Nlc3NvciBvcHRpbWl6YXRpb25zIgotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICcgLW1hcmNoPWl3bW14dCAtbWNwdT1pd21teHQnLCAnJywgZCl9IgorVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICcgLW1jcHU9aXdtbXh0JywgJycsIGQpfSIKK01BQ0hJTkVPVkVSUklERVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ2l3bW14dCcsICdhcm12NTonLCAnJyAsZCl9IgogCiBBVkFJTFRVTkVTICs9ICJpd21teHQiCiBBUk1QS0dBUkNIX3R1bmUtaXdtbXh0ID0gIml3bW14dCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjUuaW5jCmluZGV4IGEzNDZjMzAuLjM5NTAxYmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI1LmluYwpAQCAtMSw0ICsxLDQgQEAKLURFRkFVTFRUVU5FID89ICJwcGM2NHA1IgorREVGQVVMVFRVTkUgPz0gInBwY3A1IgogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3Bvd2VycGMvYXJjaC1wb3dlcnBjNjQuaW5jCiAKQEAgLTE5LDMgKzE5LDYgQEAKICMgZ2xpYmMgY29uZmlndXJlIG9wdGlvbnMgdG8gZ2V0IHBvd2VyNSBzcGVjaWZpYyBsaWJyYXJ5CiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYzY0ICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjUnLCAnLS13aXRoLWNwdT1wb3dlcjUnLCAnJywgZCl9IgogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNScsICctLXdpdGgtY3B1PXBvd2VyNScsICcnLCBkKX0iCisKKyMgUUVNVSB1c2VybW9kZSBmYWlscyB3aXRoIGludmFsaWQgaW5zdHJ1Y3Rpb24gZXJyb3IKK01BQ0hJTkVfRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRF9hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI1JywgJyBxZW11LXVzZXJtb2RlJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNi5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjYuaW5jCmluZGV4IGVlMjAwZjkuLjFkNWU4ZWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNi5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI2LmluYwpAQCAtMSw0ICsxLDQgQEAKLURFRkFVTFRUVU5FID89ICJwcGNwcjYiCitERUZBVUxUVFVORSA/PSAicHBjcDYiCiAKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcG93ZXJwYy9hcmNoLXBvd2VycGM2NC5pbmMKIApAQCAtMTksMyArMTksNiBAQAogIyBnbGliYyBjb25maWd1cmUgb3B0aW9ucyB0byBnZXQgcG93ZXI2IHNwZWNpZmljIGxpYnJhcnkKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjNjQgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNicsICctLXdpdGgtY3B1PXBvd2VyNicsICcnLCBkKX0iCiBHTElCQ19FWFRSQV9PRUNPTkZfcG93ZXJwYyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI2JywgJy0td2l0aC1jcHU9cG93ZXI2JywgJycsIGQpfSIKKworIyBRRU1VIHVzZXJtb2RlIGZhaWxzIHdpdGggaW52YWxpZCBpbnN0cnVjdGlvbiBlcnJvcgorTUFDSElORV9GRUFUVVJFU19CQUNLRklMTF9DT05TSURFUkVEX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjYnLCAnIHFlbXUtdXNlcm1vZGUnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI3LmluYyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBvd2VyNy5pbmMKaW5kZXggM2EyNzcxOS4uOGYzZjAzNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcG93ZXI3LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wb3dlcjcuaW5jCkBAIC0xLDQgKzEsNCBAQAotREVGQVVMVFRVTkUgPz0gInBwY3ByNyIKK0RFRkFVTFRUVU5FID89ICJwcGNwNyIKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9wb3dlcnBjL2FyY2gtcG93ZXJwYzY0LmluYwogCkBAIC0xOSwzICsxOSw2IEBACiAjIGdsaWJjIGNvbmZpZ3VyZSBvcHRpb25zIHRvIGdldCBwb3dlcjcgc3BlY2lmaWMgbGlicmFyeQogR0xJQkNfRVhUUkFfT0VDT05GX3Bvd2VycGM2NCArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAncG93ZXI3JywgJy0td2l0aC1jcHU9cG93ZXI3JywgJycsIGQpfSIKIEdMSUJDX0VYVFJBX09FQ09ORl9wb3dlcnBjICs9ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdwb3dlcjcnLCAnLS13aXRoLWNwdT1wb3dlcjcnLCAnJywgZCl9IgorCisjIFFFTVUgdXNlcm1vZGUgZmFpbHMgd2l0aCBpbnZhbGlkIGluc3RydWN0aW9uIGVycm9yCitNQUNISU5FX0ZFQVRVUkVTX0JBQ0tGSUxMX0NPTlNJREVSRURfYXBwZW5kID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3Bvd2VyNycsICcgcWVtdS11c2VybW9kZScsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wcGNlNTAwdjIuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjZTUwMHYyLmluYwppbmRleCAzYTAwNmUyLi5kMzE4YmJhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1wcGNlNTAwdjIuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXBwY2U1MDB2Mi5pbmMKQEAgLTE1LDYgKzE1LDYgQEAKIEFCSUVYVEVOU0lPTiAuPSAiJHtTUEVBQklFWFRFTlNJT059IgogCiBBVkFJTFRVTkVTICs9ICJwcGNlNTAwdjIiCi1UVU5FX0ZFQVRVUkVTX3R1bmUtcHBjZTUwMHYyID0gIm0zMiBzcGUgcHBjZTUwMHYyIgorVFVORV9GRUFUVVJFU190dW5lLXBwY2U1MDB2MiA9ICJtMzIgcHBjZTUwMHYyIgogVFVORV9QS0dBUkNIX3R1bmUtcHBjZTUwMHYyID0gInBwY2U1MDB2MiIKIFBBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1wcGNlNTAwdjIgPSAicHBjZTUwMHYyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtc3Ryb25nYXJtMTEwMC5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYwppbmRleCA4MGNmYjhhLi5lOTc4ZTkyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1zdHJvbmdhcm0xMTAwLmluYwpAQCAtNCw4ICs0LDkgQEAKIAogVFVORVZBTElEW3N0cm9uZ2FybV0gPSAiRW5hYmxlIFN0cm9uZ2FybSAxMTAwIHNlcmllcyBwcm9jZXNzb3Igb3B0aW1pemF0aW9ucyIKIFRVTkVfQ0NBUkdTIC49ICIke0BiYi51dGlscy5jb250YWlucygnVFVORV9GRUFUVVJFUycsICdzdHJvbmdhcm0nLCAnIC1tY3B1PXN0cm9uZ2FybTExMDAnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAnc3Ryb25nYXJtJywgJ2FybXY0OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gInN0cm9uZ2FybSIKIEFSTVBLR0FSQ0hfdHVuZS1zdHJvbmdhcm0gPSAic3Ryb25nYXJtIgotVFVORV9GRUFUVVJFU190dW5lLXN0cm9uZ2FybSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NH0gc3Ryb25nYXJtIgorVFVORV9GRUFUVVJFU190dW5lLXN0cm9uZ2FybSA9ICJhcm0gc3Ryb25nYXJtIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXN0cm9uZ2FybSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NH0gc3Ryb25nYXJtIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtdGh1bmRlcnguaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtdGh1bmRlcnguaW5jCmluZGV4IDNkNDNiMGYuLjkyYWRmMmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXRodW5kZXJ4LmluYworKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS10aHVuZGVyeC5pbmMKQEAgLTEsMTEgKzEsMTEgQEAKLXJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjguaW5jCi0KIERFRkFVTFRUVU5FID89ICJ0aHVuZGVyeCIKIEFWQUlMVFVORVMgKz0gInRodW5kZXJ4IHRodW5kZXJ4X2JlIgogCiBUVU5FVkFMSURbdGh1bmRlcnhdID0gIkVuYWJsZSBpbnN0cnVjdGlvbnMgZm9yIENhdml1bSBUaHVuZGVyWCIKIAotVFVORV9DQ0FSR1MgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUVU5FX0ZFQVRVUkVTJywgJ3RodW5kZXJ4JywgJyAtbWNwdT10aHVuZGVyeCAnLCAnJyxkKX0iCitUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAndGh1bmRlcngnLCAnIC1tY3B1PXRodW5kZXJ4JywgJycsZCl9IgorCityZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL2FybS9hcmNoLWFybXY4YS5pbmMKIAogQVJNUEtHQVJDSF90dW5lLXRodW5kZXJ4ID89ICJ0aHVuZGVyeCIKIEFSTVBLR0FSQ0hfdHVuZS10aHVuZGVyeF9iZSA/PSAidGh1bmRlcnhfYmUiCkBAIC0xNSw1ICsxNSw1IEBACiBCQVNFX0xJQl90dW5lLXRodW5kZXJ4ID0gImxpYjY0IgogQkFTRV9MSUJfdHVuZS10aHVuZGVyeF9iZSA9ICJsaWI2NCIKIAotUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXRodW5kZXJ4ID0gImFhcmNoNjQgdGh1bmRlcngiCitQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtdGh1bmRlcnggPSAiYXJtdjhhLWNyYy1jcnlwdG8gdGh1bmRlcngiCiBQQUNLQUdFX0VYVFJBX0FSQ0hTX3R1bmUtdGh1bmRlcnhfYmUgPSAiYWFyY2g2NF9iZSB0aHVuZGVyeF9iZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXhzY2FsZS5pbmMgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS14c2NhbGUuaW5jCmluZGV4IDBkMDczMzMuLjE5ZDVlMTMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLXhzY2FsZS5pbmMKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUteHNjYWxlLmluYwpAQCAtNCwxMyArNCwxNiBAQAogCiBUVU5FVkFMSURbeHNjYWxlXSA9ICJFbmFibGUgUFhBMjU1L1BYQTI2eCBYc2NhbGUgc3BlY2lmaWMgcHJvY2Vzc29yIG9wdGltaXphdGlvbnMiCiBUVU5FX0NDQVJHUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAneHNjYWxlJywgJyAtbWNwdT14c2NhbGUnLCAnJywgZCl9IgorTUFDSElORU9WRVJSSURFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfRkVBVFVSRVMnLCAneHNjYWxlJywgJ2FybXY1OicsICcnICxkKX0iCiAKIEFWQUlMVFVORVMgKz0gInhzY2FsZSIKIEFSTVBLR0FSQ0hfdHVuZS14c2NhbGUgPSAieHNjYWxlIgotVFVORV9GRUFUVVJFU190dW5lLXhzY2FsZSA9ICIke1RVTkVfRkVBVFVSRVNfdHVuZS1hcm12NXRlfSB4c2NhbGUiCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjV0ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUteHNjYWxlID0gImFybSB0aHVtYiBkc3AgeHNjYWxlIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXhzY2FsZSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NXRlfSB4c2NhbGUgeHNjYWxldCB4c2NhbGVlIHhzY2FsZXRlIgogCiBBVkFJTFRVTkVTICs9ICJ4c2NhbGUtYmUiCiBBUk1QS0dBUkNIX3R1bmUteHNjYWxlLWJlID0gInhzY2FsZSIKLVRVTkVfRkVBVFVSRVNfdHVuZS14c2NhbGUtYmUgPSAiJHtUVU5FX0ZFQVRVUkVTX3R1bmUtYXJtdjV0ZWJ9IHhzY2FsZSBiaWdlbmRpYW4iCisjIG1jcHUgaXMgdXNlZCBzbyBkb24ndCB1c2UgYXJtdjV0ZSBhcyB3ZSBkb24ndCB3YW50IG1hcmNoCitUVU5FX0ZFQVRVUkVTX3R1bmUteHNjYWxlLWJlID0gIiR7VFVORV9GRUFUVVJFU190dW5lLXhzY2FsZX0gYmlnZW5kaWFuIgogUEFDS0FHRV9FWFRSQV9BUkNIU190dW5lLXhzY2FsZS1iZSA9ICIke1BBQ0tBR0VfRVhUUkFfQVJDSFNfdHVuZS1hcm12NXRlYn0geHNjYWxlYiB4c2NhbGV0YiB4c2NhbGVlYiB4c2NhbGV0ZWIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2LWJhc2UuaW5jIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9pbmNsdWRlL3g4Ni1iYXNlLmluYwppbmRleCBjMjkyNzkyLi42ODZmOTM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL2luY2x1ZGUveDg2LWJhc2UuaW5jCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvaW5jbHVkZS94ODYtYmFzZS5pbmMKQEAgLTE4LDcgKzE4LDcgQEAKICMga2VybmVsLXJlbGF0ZWQgdmFyaWFibGVzCiAjCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgPz89ICJsaW51eC15b2N0byIKLVBSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID8/PSAiNC4xOCUiCitQUkVGRVJSRURfVkVSU0lPTl9saW51eC15b2N0byA/Pz0gIjUuMCUiCiAKICMKICMgWFNFUlZFUiBzdWJjb21wb25lbnRzLCB1c2VkIHRvIGJ1aWxkIHRoZSBYU0VSVkVSIHZhcmlhYmxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm0uY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCmluZGV4IGQyZjJjODUuLjBhMmM5OTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybS5jb25mCkBAIC0xLDIwICsxLDMzIEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogYXJtX3ZlcnNhdGlsZV85MjZlanMKLSNAREVTQ1JJUFRJT046IGFybV92ZXJzYXRpbGVfOTI2ZWpzCisjQE5BTUU6IFFFTVUgQXJtIENvcnRleC1BMTUgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIEFSTXY3IHN5c3RlbSBvbiBRRU1VCiAKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1jb3J0ZXhhMTUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCi1yZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtYXJtOTI2ZWpzLmluYwotI3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm0xMTM2amYtcy5pbmMKIAogS0VSTkVMX0lNQUdFVFlQRSA9ICJ6SW1hZ2UiCiAKLVNFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eUFNQTAgMTE1MjAwO3R0eUFNQTEiCitTRVJJQUxfQ09OU09MRVMgPz0gIjExNTIwMDt0dHlBTUEwIDExNTIwMDtodmMwIgogCiAjIEZvciBydW5xZW11CiBRQl9TWVNURU1fTkFNRSA9ICJxZW11LXN5c3RlbS1hcm0iCi1RQl9NQUNISU5FID0gIi1tYWNoaW5lIHZlcnNhdGlsZXBiIgotUUJfS0VSTkVMX0NNRExJTkVfQVBQRU5EID0gImNvbnNvbGU9dHR5QU1BMCwxMTUyMDAgY29uc29sZT10dHkiCi0jIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgotUFJFRkVSUkVEX1ZFUlNJT05fbGludXgteW9jdG8gPz89ICI0LjE4JSIKLVFCX0RUQiA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvJywgJzQuNycsICcnLCAnekltYWdlLXZlcnNhdGlsZS1wYi5kdGInLCBkKX0iCitRQl9NRU0gPSAiLW0gNTEyIgorUUJfTUFDSElORSA9ICItbWFjaGluZSB2aXJ0IgorUUJfQ1BVID0gIi1jcHUgY29ydGV4LWExNSIKKyMgU3RhbmRhcmQgU2VyaWFsIGNvbnNvbGUKK1FCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAiCisjIEZvciBncmFwaGljcyB0byB3b3JrIHdlIG5lZWQgdG8gZGVmaW5lIHRoZSBWR0EgZGV2aWNlIGFzIHdlbGwgYXMgdGhlIG5lY2Vzc2FyeSBVU0IgZGV2aWNlcworUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLWRldmljZSBWR0EsZWRpZD1vbiIKK1FCX09QVF9BUFBFTkQgKz0gIi1kZXZpY2UgcWVtdS14aGNpIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHVzYi1rYmQiCisjIEFkZCB0aGUgdmlydGlvIFJORworUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCisjIFZpcnRpbyBOZXR3b3JraW5nIHN1cHBvcnQKK1FCX1RBUF9PUFQgPSAiLW5ldGRldiB0YXAsaWQ9bmV0MCxpZm5hbWU9QFRBUEAsc2NyaXB0PW5vLGRvd25zY3JpcHQ9bm8iCitRQl9ORVRXT1JLX0RFVklDRSA9ICItZGV2aWNlIHZpcnRpby1uZXQtZGV2aWNlLG5ldGRldj1uZXQwLG1hYz1ATUFDQCIKKyMgVmlydGlvIGJsb2NrIGRldmljZQorUUJfUk9PVEZTX09QVCA9ICItZHJpdmUgaWQ9ZGlzazAsZmlsZT1AUk9PVEZTQCxpZj1ub25lLGZvcm1hdD1yYXcgLWRldmljZSB2aXJ0aW8tYmxrLWRldmljZSxkcml2ZT1kaXNrMCIKKyMgVmlydGlvIHNlcmlhbCBjb25zb2xlCitRQl9TRVJJQUxfT1BUID0gIi1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgbnVsbCxpZD12aXJ0Y29uIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgorUUJfVENQU0VSSUFMX09QVCA9ICItZGV2aWNlIHZpcnRpby1zZXJpYWwtZGV2aWNlIC1jaGFyZGV2IHNvY2tldCxpZD12aXJ0Y29uLHBvcnQ9QFBPUlRALGhvc3Q9MTI3LjAuMC4xIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgorCitLTUFDSElORV9xZW11YXJtID0gInFlbXVhcm1hMTUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm02NC5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11YXJtNjQuY29uZgppbmRleCAyNDI4ODlhLi41YzhhYWMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm02NC5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybTY0LmNvbmYKQEAgLTEsMjQgKzEsMzEgQEAKICNAVFlQRTogTWFjaGluZQotI0BOQU1FOiBnZW5lcmljIGFybXY4IG1hY2hpbmUKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIGdlbmVyaWMgYXJtdjgKKyNATkFNRTogUUVNVSBBUk12OCBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYW4gQVJNdjggc3lzdGVtIG9uIFFFTVUKIAotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9hcm0vYXJjaC1hcm12OC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvYXJtL2FyY2gtYXJtdjhhLmluYwogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwogCiBLRVJORUxfSU1BR0VUWVBFID0gIkltYWdlIgogCi1TRVJJQUxfQ09OU09MRVMgPz0gIjM4NDAwO3R0eUFNQTAgMzg0MDA7aHZjMCIKK1NFUklBTF9DT05TT0xFUyA/PSAiMTE1MjAwO3R0eUFNQTAgMTE1MjAwO2h2YzAiCiAKICMgRm9yIHJ1bnFlbXUKIFFCX1NZU1RFTV9OQU1FID0gInFlbXUtc3lzdGVtLWFhcmNoNjQiCiBRQl9NRU0gPSAiLW0gNTEyIgogUUJfTUFDSElORSA9ICItbWFjaGluZSB2aXJ0IgogUUJfQ1BVID0gIi1jcHUgY29ydGV4LWE1NyIKLVFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAsMzg0MDAiCisjIFN0YW5kYXJkIFNlcmlhbCBjb25zb2xlCitRQl9LRVJORUxfQ01ETElORV9BUFBFTkQgPSAiY29uc29sZT10dHlBTUEwIgorIyBGb3IgZ3JhcGhpY3MgdG8gd29yayB3ZSBuZWVkIHRvIGRlZmluZSB0aGUgVkdBIGRldmljZSBhcyB3ZWxsIGFzIHRoZSBuZWNlc3NhcnkgVVNCIGRldmljZXMKK1FCX09QVF9BUFBFTkQgPSAiLXNob3ctY3Vyc29yIC1kZXZpY2UgVkdBLGVkaWQ9b24iCitRQl9PUFRfQVBQRU5EICs9ICItZGV2aWNlIHFlbXUteGhjaSAtZGV2aWNlIHVzYi10YWJsZXQgLWRldmljZSB1c2Ita2JkIgogIyBBZGQgdGhlICd2aXJ0aW8tcm5nLXBjaScgZGV2aWNlIG90aGVyd2lzZSB0aGUgZ3Vlc3QgbWF5IHJ1biBvdXQgb2YgZW50cm9weQotUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSAtbW9uaXRvciBudWxsIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCisjIFZpcnRpbyBOZXR3b3JraW5nIHN1cHBvcnQKIFFCX1RBUF9PUFQgPSAiLW5ldGRldiB0YXAsaWQ9bmV0MCxpZm5hbWU9QFRBUEAsc2NyaXB0PW5vLGRvd25zY3JpcHQ9bm8iCiBRQl9ORVRXT1JLX0RFVklDRSA9ICItZGV2aWNlIHZpcnRpby1uZXQtZGV2aWNlLG5ldGRldj1uZXQwLG1hYz1ATUFDQCIKKyMgVmlydGlvIGJsb2NrIGRldmljZQogUUJfUk9PVEZTX09QVCA9ICItZHJpdmUgaWQ9ZGlzazAsZmlsZT1AUk9PVEZTQCxpZj1ub25lLGZvcm1hdD1yYXcgLWRldmljZSB2aXJ0aW8tYmxrLWRldmljZSxkcml2ZT1kaXNrMCIKKyMgVmlydGlvIHNlcmlhbCBjb25zb2xlCiBRQl9TRVJJQUxfT1BUID0gIi1kZXZpY2UgdmlydGlvLXNlcmlhbC1kZXZpY2UgLWNoYXJkZXYgbnVsbCxpZD12aXJ0Y29uIC1kZXZpY2UgdmlydGNvbnNvbGUsY2hhcmRldj12aXJ0Y29uIgotUUJfVENQU0VSSUFMX09QVCA9ICIgLWRldmljZSB2aXJ0aW8tc2VyaWFsLWRldmljZSAtY2hhcmRldiBzb2NrZXQsaWQ9dmlydGNvbixwb3J0PUBQT1JUQCxob3N0PTEyNy4wLjAuMSAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKK1FCX1RDUFNFUklBTF9PUFQgPSAiLWRldmljZSB2aXJ0aW8tc2VyaWFsLWRldmljZSAtY2hhcmRldiBzb2NrZXQsaWQ9dmlydGNvbixwb3J0PUBQT1JUQCxob3N0PTEyNy4wLjAuMSAtZGV2aWNlIHZpcnRjb25zb2xlLGNoYXJkZXY9dmlydGNvbiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdWFybXY1LmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm12NS5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMjFkMzMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVhcm12NS5jb25mCkBAIC0wLDAgKzEsMjMgQEAKKyNAVFlQRTogTWFjaGluZQorI0BOQU1FOiBRRU1VIEFSTTkgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIEFSTXY1IHN5c3RlbSBvbiBRRU1VCisKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdS5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1hcm05MjZlanMuaW5jCisjcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLWFybTExMzZqZi1zLmluYworCitLRVJORUxfSU1BR0VUWVBFID0gInpJbWFnZSIKKworU0VSSUFMX0NPTlNPTEVTID89ICIxMTUyMDA7dHR5QU1BMCAxMTUyMDA7dHR5QU1BMSIKKworIyBGb3IgcnVucWVtdQorUUJfU1lTVEVNX05BTUUgPSAicWVtdS1zeXN0ZW0tYXJtIgorUUJfTUFDSElORSA9ICItbWFjaGluZSB2ZXJzYXRpbGVwYiIKK1FCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eUFNQTAsMTE1MjAwIGNvbnNvbGU9dHR5IgorUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCisjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5CitRQl9PUFRfQVBQRU5EICs9ICItb2JqZWN0IHJuZy1yYW5kb20sZmlsZW5hbWU9L2Rldi91cmFuZG9tLGlkPXJuZzAgLWRldmljZSB2aXJ0aW8tcm5nLXBjaSxybmc9cm5nMCIKK1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvID8/PSAiNS4wJSIKK1FCX0RUQiA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ1BSRUZFUlJFRF9WRVJTSU9OX2xpbnV4LXlvY3RvJywgJzQuNycsICcnLCAnekltYWdlLXZlcnNhdGlsZS1wYi5kdGInLCBkKX0iCisKK0tNQUNISU5FX3FlbXVhcm12NSA9ICJxZW11YXJtIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwcy5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11bWlwcy5jb25mCmluZGV4IGE2MGY2N2EuLjQ4ZDlmNDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHMuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzLmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogbXRpX21hbHRhMzJfYmUgTUlQUwotI0BERVNDUklQVElPTjogbXRpX21hbHRhMzJfYmUKKyNATkFNRTogUUVNVSBNSVBTMzIgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGEgTUlQUyBzeXN0ZW0gb24gUUVNVQogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtbWlwczMycjIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXVtaXBzNjQuY29uZiBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCmluZGV4IGExNjZhMTAuLjE4NzJlN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCisrKyBiL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdW1pcHM2NC5jb25mCkBAIC0xLDExICsxLDEzIEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogbXRpLW1hbHRhNjQtYmUgTUlQUzY0Ci0jQERFU0NSSVBUSU9OOiBtdGktbWFsdGE2NC1iZQorI0BOQU1FOiBRRU1VIE1JUFM2NCBtYWNoaW5lCisjQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBNSVBTNjQgc3lzdGVtIG9uIFFFTVUKIAogcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS9xZW11LmluYwotcmVxdWlyZSBjb25mL21hY2hpbmUvaW5jbHVkZS90dW5lLW1pcHM2NC5pbmMKK3JlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvdHVuZS1taXBzNjRyMi5pbmMKIHJlcXVpcmUgY29uZi9tYWNoaW5lL2luY2x1ZGUvcWVtdWJvb3QtbWlwcy5pbmMKIAorUUJfQ1BVID0gIi1jcHUgTUlQUzY0UjItZ2VuZXJpYyIKKwogS0VSTkVMX0lNQUdFVFlQRSA9ICJ2bWxpbnV4IgogS0VSTkVMX0FMVF9JTUFHRVRZUEUgPSAidm1saW51eC5iaW4iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXBwYy5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKaW5kZXggNTM3YjJmNi4uYmQ4OGVlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11cHBjLmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogcWVtdSBQUEMgRW11bGF0b3Igc2V0dXAKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiBQUEMgc3lzdGVtIHVuZGVyIHFlbXUgZW11bGF0aW9uCisjQE5BTUU6IFFFTVUgUFBDIG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIFBQQyBzeXN0ZW0gb24gUUVNVQogCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3FlbXUuaW5jCiByZXF1aXJlIGNvbmYvbWFjaGluZS9pbmNsdWRlL3R1bmUtcHBjNzQwMC5pbmMKQEAgLTE2LDYgKzE2LDcgQEAKIFFCX01BQ0hJTkUgPSAiLW1hY2hpbmUgbWFjOTkiCiBRQl9DUFUgPSAiLWNwdSBHNCIKIFFCX0tFUk5FTF9DTURMSU5FX0FQUEVORCA9ICJjb25zb2xlPXR0eSBjb25zb2xlPXR0eVMwIgorUUJfT1BUX0FQUEVORCA9ICItc2hvdy1jdXJzb3IgLXVzYiAtZGV2aWNlIHVzYi10YWJsZXQiCiAjIEFkZCB0aGUgJ3ZpcnRpby1ybmctcGNpJyBkZXZpY2Ugb3RoZXJ3aXNlIHRoZSBndWVzdCBtYXkgcnVuIG91dCBvZiBlbnRyb3B5Ci1RQl9PUFRfQVBQRU5EID0gIi1zaG93LWN1cnNvciAtdXNiIC1kZXZpY2UgdXNiLXRhYmxldCAtZGV2aWNlIHZpcnRpby1ybmctcGNpIgorUUJfT1BUX0FQUEVORCArPSAiLW9iamVjdCBybmctcmFuZG9tLGZpbGVuYW1lPS9kZXYvdXJhbmRvbSxpZD1ybmcwIC1kZXZpY2UgdmlydGlvLXJuZy1wY2kscm5nPXJuZzAiCiBRQl9UQVBfT1BUID0gIi1uZXRkZXYgdGFwLGlkPW5ldDAsaWZuYW1lPUBUQVBALHNjcmlwdD1ubyxkb3duc2NyaXB0PW5vIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LTY0LmNvbmYgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgppbmRleCA5OTY2ZDFhLi4zODNlM2JkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgorKysgYi9wb2t5L21ldGEvY29uZi9tYWNoaW5lL3FlbXV4ODYtNjQuY29uZgpAQCAtMSw2ICsxLDYgQEAKICNAVFlQRTogTWFjaGluZQotI0BOQU1FOiBjb21tb25fcGMKLSNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhIGNvbW1vbiB4ODYKKyNATkFNRTogUUVNVSB4ODYtNjQgbWFjaGluZQorI0BERVNDUklQVElPTjogTWFjaGluZSBjb25maWd1cmF0aW9uIGZvciBydW5uaW5nIGFuIHg4Ni02NCBzeXN0ZW0gb24gUUVNVQogCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC94c2VydmVyID89ICJ4c2VydmVyLXhvcmciCiBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9saWJnbCA/PSAibWVzYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9jb25mL21hY2hpbmUvcWVtdXg4Ni5jb25mIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKaW5kZXggZTc4ZmI2ZS4uYWU1MTg3YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKKysrIGIvcG9reS9tZXRhL2NvbmYvbWFjaGluZS9xZW11eDg2LmNvbmYKQEAgLTEsNiArMSw2IEBACiAjQFRZUEU6IE1hY2hpbmUKLSNATkFNRTogY29tbW9uX3BjCi0jQERFU0NSSVBUSU9OOiBNYWNoaW5lIGNvbmZpZ3VyYXRpb24gZm9yIHJ1bm5pbmcgYSBjb21tb24geDg2CisjQE5BTUU6IFFFTVUgeDg2IG1hY2hpbmUKKyNAREVTQ1JJUFRJT046IE1hY2hpbmUgY29uZmlndXJhdGlvbiBmb3IgcnVubmluZyBhbiB4ODYgc3lzdGVtIG9uIFFFTVUKIAogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwveHNlcnZlciA/PSAieHNlcnZlci14b3JnIgogUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwvbGliZ2wgPz0gIm1lc2EiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbSBiL3Bva3kvbWV0YS9maWxlcy9jb21tb24tbGljZW5zZXMvdmltCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL2xpY2Vuc2VzL3ZpbQpyZW5hbWUgdG8gcG9reS9tZXRhL2ZpbGVzL2NvbW1vbi1saWNlbnNlcy92aW0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9maWxlcy90b29sY2hhaW4tc2hhci1leHRyYWN0LnNoIGIvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKaW5kZXggOWVhYmQ2Mi4uMTU2MDg1YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKKysrIGIvcG9reS9tZXRhL2ZpbGVzL3Rvb2xjaGFpbi1zaGFyLWV4dHJhY3Quc2gKQEAgLTE4NSwxMSArMTg1LDExIEBACiAKIGlmIFsgLWUgIiR0YXJnZXRfc2RrX2Rpci9lbnZpcm9ubWVudC1zZXR1cC1AUkVBTF9NVUxUSU1BQ0hfVEFSR0VUX1NZU0AiIF07IHRoZW4KIAllY2hvICJUaGUgZGlyZWN0b3J5IFwiJHRhcmdldF9zZGtfZGlyXCIgYWxyZWFkeSBjb250YWlucyBhIFNESyBmb3IgdGhpcyBhcmNoaXRlY3R1cmUuIgotCXByaW50ZiAiSWYgeW91IGNvbnRpbnVlLCBleGlzdGluZyBmaWxlcyB3aWxsIGJlIG92ZXJ3cml0dGVuISBQcm9jZWVkW3kvTl0/ICIKKwlwcmludGYgIklmIHlvdSBjb250aW51ZSwgZXhpc3RpbmcgZmlsZXMgd2lsbCBiZSBvdmVyd3JpdHRlbiEgUHJvY2VlZCBbeS9OXT8gIgogCiAJZGVmYXVsdF9hbnN3ZXI9Im4iCiBlbHNlCi0JcHJpbnRmICJZb3UgYXJlIGFib3V0IHRvIGluc3RhbGwgdGhlIFNESyB0byBcIiR0YXJnZXRfc2RrX2RpclwiLiBQcm9jZWVkW1kvbl0/ICIKKwlwcmludGYgIllvdSBhcmUgYWJvdXQgdG8gaW5zdGFsbCB0aGUgU0RLIHRvIFwiJHRhcmdldF9zZGtfZGlyXCIuIFByb2NlZWQgW1kvbl0/ICIKIAogCWRlZmF1bHRfYW5zd2VyPSJ5IgogZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvY2xhc3NleHRlbmQucHkgYi9wb2t5L21ldGEvbGliL29lL2NsYXNzZXh0ZW5kLnB5CmluZGV4IGQyZWVhZjAuLjY2MjcwN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvY2xhc3NleHRlbmQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9jbGFzc2V4dGVuZC5weQpAQCAtMTE0LDcgKzExNCw3IEBACiAgICAgZGVmIG1hcF9kZXBlbmRzKHNlbGYsIGRlcCk6CiAgICAgICAgIGlmIGRlcC5zdGFydHN3aXRoKHNlbGYuZXh0bmFtZSk6CiAgICAgICAgICAgICByZXR1cm4gZGVwCi0gICAgICAgIGlmIGRlcC5lbmRzd2l0aCgoIi1nY2MtaW5pdGlhbCIsICItZ2NjIiwgIi1nKysiKSk6CisgICAgICAgIGlmIGRlcC5lbmRzd2l0aCgoIi1nY2MiLCAiLWcrKyIpKToKICAgICAgICAgICAgIHJldHVybiBkZXAgKyAiLWNyb3Nzc2RrIgogICAgICAgICBlbGlmIGRlcC5lbmRzd2l0aCgoIi1uYXRpdmUiLCAiLW5hdGl2ZS1ydW50aW1lIikpIG9yICgnbmF0aXZlc2RrLScgaW4gZGVwKSBvciAoJy1jcm9zcy0nIGluIGRlcCkgb3IgKCctY3Jvc3NzZGstJyBpbiBkZXApOgogICAgICAgICAgICAgcmV0dXJuIGRlcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9lbGYucHkgYi9wb2t5L21ldGEvbGliL29lL2VsZi5weQppbmRleCAwZWQ1OWFlLi40Y2M5YTlhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL2VsZi5weQorKysgYi9wb2t5L21ldGEvbGliL29lL2VsZi5weQpAQCAtNjMsNiArNjMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgImFybSIgOiAgICAgICAoICA0MCwgICAgOTcsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICJhcm1lYiI6ICAgICAgKCAgNDAsICAgIDk3LCAgICAwLCAgICAgICAgICBGYWxzZSwgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAicG93ZXJwYyI6ICAgICggIDIwLCAgICAgMCwgICAgMCwgICAgICAgICAgRmFsc2UsICAgICAgICAgMzIpLAorICAgICAgICAgICAgICAgICAgICAgICAgInBvd2VycGM2NCI6ICAoICAyMSwgICAgIDAsICAgIDAsICAgICAgICAgIEZhbHNlLCAgICAgICAgIDY0KSwKICAgICAgICAgICAgICAgICAgICAgICAgICJpMzg2IjogICAgICAgKCAgIDMsICAgICAwLCAgICAwLCAgICAgICAgICBUcnVlLCAgICAgICAgICAzMiksCiAgICAgICAgICAgICAgICAgICAgICAgICAiaTQ4NiI6ICAgICAgICggICAzLCAgICAgMCwgICAgMCwgICAgICAgICAgVHJ1ZSwgICAgICAgICAgMzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgImk1ODYiOiAgICAgICAoICAgMywgICAgIDAsICAgIDAsICAgICAgICAgIFRydWUsICAgICAgICAgIDMyKSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvbGljZW5zZS5weSBiL3Bva3kvbWV0YS9saWIvb2UvbGljZW5zZS5weQppbmRleCBjYTM4NWQ1Li4wNGY1YjMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL2xpY2Vuc2UucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9saWNlbnNlLnB5CkBAIC0xMyw4ICsxMyw4IEBACiAgICAgICAgICMgd2lsbCBleGNsdWRlIGEgdHJhaWxpbmcgJysnIGNoYXJhY3RlciBmcm9tIExJQ0VOU0UgaW4KICAgICAgICAgIyBjYXNlIElOQ09NUEFUSUJMRV9MSUNFTlNFIGlzIG5vdCBhICdYKycgbGljZW5zZS4KICAgICAgICAgbGljID0gbGljZW5zZQotICAgICAgICBpZiBub3QgcmUuc2VhcmNoKCdcKyQnLCBkd2wpOgotICAgICAgICAgICAgbGljID0gcmUuc3ViKCdcKycsICcnLCBsaWNlbnNlKQorICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHInXCskJywgZHdsKToKKyAgICAgICAgICAgIGxpYyA9IHJlLnN1YihyJ1wrJywgJycsIGxpY2Vuc2UpCiAgICAgICAgIGlmIGZubWF0Y2gobGljLCBkd2wpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIFRydWUKQEAgLTQwLDggKzQwLDggQEAKICAgICAgICAgcmV0dXJuICJpbnZhbGlkIGNoYXJhY3RlcnMgaW4gbGljZW5zZSAnJXMnIiAlIHNlbGYubGljZW5zZQogCiBsaWNlbnNlX29wZXJhdG9yX2NoYXJzID0gJyZ8KCkgJwotbGljZW5zZV9vcGVyYXRvciA9IHJlLmNvbXBpbGUoJyhbJyArIGxpY2Vuc2Vfb3BlcmF0b3JfY2hhcnMgKyAnXSknKQotbGljZW5zZV9wYXR0ZXJuID0gcmUuY29tcGlsZSgnW2EtekEtWjAtOS4rX1wtXSskJykKK2xpY2Vuc2Vfb3BlcmF0b3IgPSByZS5jb21waWxlKHInKFsnICsgbGljZW5zZV9vcGVyYXRvcl9jaGFycyArICddKScpCitsaWNlbnNlX3BhdHRlcm4gPSByZS5jb21waWxlKHInW2EtekEtWjAtOS4rX1wtXSskJykKIAogY2xhc3MgTGljZW5zZVZpc2l0b3IoYXN0Lk5vZGVWaXNpdG9yKToKICAgICAiIiJHZXQgZWxlbWVudHMgYmFzZWQgb24gT3BlbkVtYmVkZGVkIGxpY2Vuc2Ugc3RyaW5ncyIiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlLnB5CmluZGV4IGVmZDM2YjMuLjZlODNmMDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3BhY2thZ2UucHkKQEAgLTI1NSw3ICsyNTUsNyBAQAogCiAgICAgc2hsaWJfcHJvdmlkZXIgPSB7fQogICAgIHNobGlic19kaXJzID0gZC5nZXRWYXIoJ1NITElCU0RJUlMnKS5zcGxpdCgpCi0gICAgbGlzdF9yZSA9IHJlLmNvbXBpbGUoJ14oLiopXC5saXN0JCcpCisgICAgbGlzdF9yZSA9IHJlLmNvbXBpbGUocideKC4qKVwubGlzdCQnKQogICAgICMgR28gZnJvbSBsZWFzdCB0byBtb3N0IHNwZWNpZmljIHNpbmNlIHRoZSBsYXN0IG9uZSBmb3VuZCB3aW5zCiAgICAgZm9yIGRpciBpbiByZXZlcnNlZChzaGxpYnNfZGlycyk6CiAgICAgICAgIGJiLmRlYnVnKDIsICJSZWFkaW5nIHNobGliIHByb3ZpZGVycyBpbiAlcyIgJSAoZGlyKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvcGFja2FnZV9tYW5hZ2VyLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKaW5kZXggODgyZTdjNC4uMjgzNWMxZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9wYWNrYWdlX21hbmFnZXIucHkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICBhIGRpY3Rpb25hcnkgd2l0aCB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIHBhY2thZ2VzLiBUaGlzIGlzIHVzZWQKICAgICB3aGVuIHRoZSBwYWNrYWdlcyBhcmUgaW4gZGViIG9yIGlwayBmb3JtYXQuCiAgICAgIiIiCi0gICAgdmVycmVnZXggPSByZS5jb21waWxlKCcgXChbPTw+XSogW14gKV0qXCknKQorICAgIHZlcnJlZ2V4ID0gcmUuY29tcGlsZShyJyBcKFs9PD5dKiBbXiApXSpcKScpCiAgICAgb3V0cHV0ID0gZGljdCgpCiAgICAgcGtnID0gIiIKICAgICBhcmNoID0gIiIKQEAgLTk0LDYgKzk0LDggQEAKICAgICAjIFByZXR0eSBzdXJlIHdlIGRvbid0IG5lZWQgdGhpcyBmb3IgbG9jYWxlIGFyY2hpdmUgZ2VuZXJhdGlvbiBidXQKICAgICAjIGtlZXBpbmcgaXQgdG8gYmUgc2FmZS4uLgogICAgIGxvY2FsZV9hcmNoX29wdGlvbnMgPSB7IFwKKyAgICAgICAgImFyYyI6IFsiLS11aW50MzItYWxpZ249NCIsICItLWxpdHRsZS1lbmRpYW4iXSwKKyAgICAgICAgImFyY2ViIjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tYmlnLWVuZGlhbiJdLAogICAgICAgICAiYXJtIjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tbGl0dGxlLWVuZGlhbiJdLAogICAgICAgICAiYXJtZWIiOiBbIi0tdWludDMyLWFsaWduPTQiLCAiLS1iaWctZW5kaWFuIl0sCiAgICAgICAgICJhYXJjaDY0IjogWyItLXVpbnQzMi1hbGlnbj00IiwgIi0tbGl0dGxlLWVuZGlhbiJdLApAQCAtMjUwLDggKzI1Miw4IEBACiAgICAgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKHNlbGYuZC5leHBhbmQoIiR7U1RBR0lOR19FVENESVJfTkFUSVZFfSIpLAogICAgICAgICAgICAgICAgICJhcHQiLCAiYXB0LmNvbmYuc2FtcGxlIikpIGFzIGFwdF9jb25mX3NhbXBsZToKICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBhcHRfY29uZl9zYW1wbGUucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjUk9PVEZTIyIsICIvZGV2L251bGwiLCBsaW5lKQotICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YihyIiNST09URlMjIiwgIi9kZXYvbnVsbCIsIGxpbmUpCisgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUobGluZSArICJcbiIpCiAKICAgICBkZWYgd3JpdGVfaW5kZXgoc2VsZik6CkBAIC0zMTgsNyArMzIwLDcgQEAKIAogY2xhc3MgUnBtUGtnc0xpc3QoUGtnc0xpc3QpOgogICAgIGRlZiBsaXN0X3BrZ3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBScG1QTShzZWxmLmQsIHNlbGYucm9vdGZzX2Rpciwgc2VsZi5kLmdldFZhcignVEFSR0VUX1ZFTkRPUicpKS5saXN0X2luc3RhbGxlZCgpCisgICAgICAgIHJldHVybiBScG1QTShzZWxmLmQsIHNlbGYucm9vdGZzX2Rpciwgc2VsZi5kLmdldFZhcignVEFSR0VUX1ZFTkRPUicpLCBuZWVkZmVlZD1GYWxzZSkubGlzdF9pbnN0YWxsZWQoKQogCiBjbGFzcyBPcGtnUGtnc0xpc3QoUGtnc0xpc3QpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkLCByb290ZnNfZGlyLCBjb25maWdfZmlsZSk6CkBAIC00MDYsNyArNDA4LDcgQEAKICAgICAgICAgd2l0aCBvcGVuKHBvc3RpbnN0X2ludGVyY2VwdF9ob29rKSBhcyBpbnRlcmNlcHQ6CiAgICAgICAgICAgICByZWdpc3RlcmVkX3BrZ3MgPSBOb25lCiAgICAgICAgICAgICBmb3IgbGluZSBpbiBpbnRlcmNlcHQucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgIG0gPSByZS5tYXRjaCgiXiMjUEtHUzooLiopIiwgbGluZSkKKyAgICAgICAgICAgICAgICBtID0gcmUubWF0Y2gociJeIyNQS0dTOiguKikiLCBsaW5lKQogICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWRfcGtncyA9IG0uZ3JvdXAoMSkuc3RyaXAoKQogICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtNDM3LDYgKzQzOSwxMSBAQAogICAgICAgICAgICAgICAgIHNlbGYuX3Bvc3Rwb25lX3RvX2ZpcnN0X2Jvb3Qoc2NyaXB0X2Z1bGwpCiAgICAgICAgICAgICAgICAgY29udGludWUKIAorICAgICAgICAgICAgaWYgcG9wdWxhdGVfc2RrID09ICdob3N0JyBhbmQgc2VsZi5kLmdldFZhcignU0RLX09TJykgPT0gJ21pbmd3MzInOgorICAgICAgICAgICAgICAgIGJiLm5vdGUoIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGNvdWxkIG5vdCBiZSBleGVjdXRlZCBkdWUgdG8gbWlzc2luZyB3aW5lIHN1cHBvcnQsIGRldGFpbHMgaW4gJXMvbG9nLmRvXyVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzY3JpcHQsIHNlbGYuZC5nZXRWYXIoJ1QnKSwgc2VsZi5kLmdldFZhcignQkJfQ1VSUkVOVFRBU0snKSkpCisgICAgICAgICAgICAgICAgY29udGludWUKKwogICAgICAgICAgICAgYmIubm90ZSgiPiBFeGVjdXRpbmcgJXMgaW50ZXJjZXB0IC4uLiIgJSBzY3JpcHQpCiAKICAgICAgICAgICAgIHRyeToKQEAgLTQ0NSwxMCArNDUyLDEwIEBACiAgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBiYi5ub3RlKCJFeGl0IGNvZGUgJWQuIE91dHB1dDpcbiVzIiAlIChlLnJldHVybmNvZGUsIGUub3V0cHV0LmRlY29kZSgidXRmLTgiKSkpCiAgICAgICAgICAgICAgICAgaWYgcG9wdWxhdGVfc2RrID09ICdob3N0JzoKLSAgICAgICAgICAgICAgICAgICAgYmIud2FybigiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgZmFpbGVkLCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQorICAgICAgICAgICAgICAgICAgICBiYi5mYXRhbCgiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgZmFpbGVkLCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQogICAgICAgICAgICAgICAgIGVsaWYgcG9wdWxhdGVfc2RrID09ICd0YXJnZXQnOgogICAgICAgICAgICAgICAgICAgICBpZiAicWVtdXdyYXBwZXI6IHFlbXUgdXNlcm1vZGUgaXMgbm90IHN1cHBvcnRlZCIgaW4gZS5vdXRwdXQuZGVjb2RlKCJ1dGYtOCIpOgotICAgICAgICAgICAgICAgICAgICAgICAgYmIud2FybigiVGhlIHBvc3RpbnN0YWxsIGludGVyY2VwdCBob29rICclcycgY291bGQgbm90IGJlIGV4ZWN1dGVkIGR1ZSB0byBtaXNzaW5nIHFlbXUgdXNlcm1vZGUgc3VwcG9ydCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiCisgICAgICAgICAgICAgICAgICAgICAgICBiYi5ub3RlKCJUaGUgcG9zdGluc3RhbGwgaW50ZXJjZXB0IGhvb2sgJyVzJyBjb3VsZCBub3QgYmUgZXhlY3V0ZWQgZHVlIHRvIG1pc3NpbmcgcWVtdSB1c2VybW9kZSBzdXBwb3J0LCBkZXRhaWxzIGluICVzL2xvZy5kb18lcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2NyaXB0LCBzZWxmLmQuZ2V0VmFyKCdUJyksIHNlbGYuZC5nZXRWYXIoJ0JCX0NVUlJFTlRUQVNLJykpKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgYmIuZmF0YWwoIlRoZSBwb3N0aW5zdGFsbCBpbnRlcmNlcHQgaG9vayAnJXMnIGZhaWxlZCwgZGV0YWlscyBpbiAlcy9sb2cuZG9fJXMiICUgKHNjcmlwdCwgc2VsZi5kLmdldFZhcignVCcpLCBzZWxmLmQuZ2V0VmFyKCdCQl9DVVJSRU5UVEFTSycpKSkKQEAgLTcyMiw3ICs3MjksOCBAQAogICAgICAgICAgICAgICAgICBhcmNoX3Zhcj1Ob25lLAogICAgICAgICAgICAgICAgICBvc192YXI9Tm9uZSwKICAgICAgICAgICAgICAgICAgcnBtX3JlcG9fd29ya2Rpcj0ib2Utcm9vdGZzLXJlcG8iLAotICAgICAgICAgICAgICAgICBmaWx0ZXJieWRlcGVuZGVuY2llcz1UcnVlKToKKyAgICAgICAgICAgICAgICAgZmlsdGVyYnlkZXBlbmRlbmNpZXM9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgbmVlZGZlZWQ9VHJ1ZSk6CiAgICAgICAgIHN1cGVyKFJwbVBNLCBzZWxmKS5fX2luaXRfXyhkLCB0YXJnZXRfcm9vdGZzKQogICAgICAgICBzZWxmLnRhcmdldF92ZW5kb3IgPSB0YXJnZXRfdmVuZG9yCiAgICAgICAgIHNlbGYudGFza19uYW1lID0gdGFza19uYW1lCkBAIC03MzUsOCArNzQzLDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYucHJpbWFyeV9hcmNoID0gc2VsZi5kLmdldFZhcignTUFDSElORV9BUkNIJykKIAotICAgICAgICBzZWxmLnJwbV9yZXBvX2RpciA9IG9lLnBhdGguam9pbihzZWxmLmQuZ2V0VmFyKCdXT1JLRElSJyksIHJwbV9yZXBvX3dvcmtkaXIpCi0gICAgICAgIGNyZWF0ZV9wYWNrYWdlc19kaXIoc2VsZi5kLCBvZS5wYXRoLmpvaW4oc2VsZi5ycG1fcmVwb19kaXIsICJycG0iKSwgZC5nZXRWYXIoIkRFUExPWV9ESVJfUlBNIiksICJwYWNrYWdlX3dyaXRlX3JwbSIsIGZpbHRlcmJ5ZGVwZW5kZW5jaWVzKQorICAgICAgICBpZiBuZWVkZmVlZDoKKyAgICAgICAgICAgIHNlbGYucnBtX3JlcG9fZGlyID0gb2UucGF0aC5qb2luKHNlbGYuZC5nZXRWYXIoJ1dPUktESVInKSwgcnBtX3JlcG9fd29ya2RpcikKKyAgICAgICAgICAgIGNyZWF0ZV9wYWNrYWdlc19kaXIoc2VsZi5kLCBvZS5wYXRoLmpvaW4oc2VsZi5ycG1fcmVwb19kaXIsICJycG0iKSwgZC5nZXRWYXIoIkRFUExPWV9ESVJfUlBNIiksICJwYWNrYWdlX3dyaXRlX3JwbSIsIGZpbHRlcmJ5ZGVwZW5kZW5jaWVzKQogCiAgICAgICAgIHNlbGYuc2F2ZWRfcGFja2FnaW5nX2RhdGEgPSBzZWxmLmQuZXhwYW5kKCcke1R9L3NhdmVkX3BhY2thZ2luZ19kYXRhLyVzJyAlIHNlbGYudGFza19uYW1lKQogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5kLmV4cGFuZCgnJHtUfS9zYXZlZF9wYWNrYWdpbmdfZGF0YScpKToKQEAgLTg2MCw3ICs4NjksNyBAQAogCiAgICAgICAgIGZhaWxlZF9zY3JpcHRsZXRzX3BrZ25hbWVzID0gY29sbGVjdGlvbnMuT3JkZXJlZERpY3QoKQogICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXRsaW5lcygpOgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJOb24tZmF0YWwgUE9TVElOIHNjcmlwdGxldCBmYWlsdXJlIGluIHJwbSBwYWNrYWdlIik6CisgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIkVycm9yIGluIFBPU1RJTiBzY3JpcHRsZXQgaW4gcnBtIHBhY2thZ2UiKToKICAgICAgICAgICAgICAgICBmYWlsZWRfc2NyaXB0bGV0c19wa2duYW1lc1tsaW5lLnNwbGl0KClbLTFdXSA9IFRydWUKIAogICAgICAgICBpZiBsZW4oZmFpbGVkX3NjcmlwdGxldHNfcGtnbmFtZXMpID4gMDoKQEAgLTk2MiwxMyArOTcxLDE0IEBACiAgICAgICAgIG9zLmVudmlyb25bJ1JQTV9FVENDT05GSUdESVInXSA9IHNlbGYudGFyZ2V0X3Jvb3RmcwogCiAgICAgICAgIGRuZl9jbWQgPSBiYi51dGlscy53aGljaChvcy5nZXRlbnYoJ1BBVEgnKSwgImRuZiIpCi0gICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzID0gWyItdiIsICItLXJwbXZlcmJvc2l0eT1kZWJ1ZyIsICIteSIsCisgICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzID0gWyItdiIsICItLXJwbXZlcmJvc2l0eT1pbmZvIiwgIi15IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jIiwgb2UucGF0aC5qb2luKHNlbGYudGFyZ2V0X3Jvb3RmcywgImV0Yy9kbmYvZG5mLmNvbmYiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tc2V0b3B0PXJlcG9zZGlyPSVzIiAlKG9lLnBhdGguam9pbihzZWxmLnRhcmdldF9yb290ZnMsICJldGMveXVtLnJlcG9zLmQiKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXJlcG9mcm9tcGF0aD1vZS1yZXBvLCVzIiAlIChzZWxmLnJwbV9yZXBvX2RpciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLWluc3RhbGxyb290PSVzIiAlIChzZWxmLnRhcmdldF9yb290ZnMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1zZXRvcHQ9bG9nZGlyPSVzIiAlIChzZWxmLmQuZ2V0VmFyKCdUJykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICBpZiBoYXNhdHRyKHNlbGYsICJycG1fcmVwb19kaXIiKToKKyAgICAgICAgICAgIHN0YW5kYXJkX2RuZl9hcmdzLmFwcGVuZCgiLS1yZXBvZnJvbXBhdGg9b2UtcmVwbywlcyIgJSAoc2VsZi5ycG1fcmVwb19kaXIpKQogICAgICAgICBjbWQgPSBbZG5mX2NtZF0gKyBzdGFuZGFyZF9kbmZfYXJncyArIGRuZl9hcmdzCiAgICAgICAgIGJiLm5vdGUoJ1J1bm5pbmcgJXMnICUgJyAnLmpvaW4oY21kKSkKICAgICAgICAgdHJ5OgpAQCAtMTEwOCwxMCArMTExOCw3IEBACiAgICAgICAgIHRtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKICAgICAgICAgY3VycmVudF9kaXIgPSBvcy5nZXRjd2QoKQogICAgICAgICBvcy5jaGRpcih0bXBfZGlyKQotICAgICAgICBpZiBzZWxmLmQuZ2V0VmFyKCdJTUFHRV9QS0dUWVBFJykgPT0gJ2RlYic6Ci0gICAgICAgICAgICBkYXRhX3RhciA9ICdkYXRhLnRhci54eicKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRhdGFfdGFyID0gJ2RhdGEudGFyLmd6JworICAgICAgICBkYXRhX3RhciA9ICdkYXRhLnRhci54eicKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBjbWQgPSBbYXJfY21kLCAneCcsIHBrZ19wYXRoXQpAQCAtMTIxMiw3ICsxMjE5LDcgQEAKICAgICAgICAgICAgICAgICBwcmlvcml0eSArPSA1CiAKICAgICAgICAgICAgIGZvciBsaW5lIGluIChzZWxmLmQuZ2V0VmFyKCdJUEtfRkVFRF9VUklTJykgb3IgIiIpLnNwbGl0KCk6Ci0gICAgICAgICAgICAgICAgZmVlZF9tYXRjaCA9IHJlLm1hdGNoKCJeWyBcdF0qKC4qKSMjKFteIFx0XSopWyBcdF0qJCIsIGxpbmUpCisgICAgICAgICAgICAgICAgZmVlZF9tYXRjaCA9IHJlLm1hdGNoKHIiXlsgXHRdKiguKikjIyhbXiBcdF0qKVsgXHRdKiQiLCBsaW5lKQogCiAgICAgICAgICAgICAgICAgaWYgZmVlZF9tYXRjaCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgZmVlZF9uYW1lID0gZmVlZF9tYXRjaC5ncm91cCgxKQpAQCAtMTMyOSw2ICsxMzM2LDggQEAKICAgICAgICAgY21kID0gIiVzICVzIiAlIChzZWxmLm9wa2dfY21kLCBzZWxmLm9wa2dfYXJncykKICAgICAgICAgZm9yIGV4Y2x1ZGUgaW4gKHNlbGYuZC5nZXRWYXIoIlBBQ0tBR0VfRVhDTFVERSIpIG9yICIiKS5zcGxpdCgpOgogICAgICAgICAgICAgY21kICs9ICIgLS1hZGQtZXhjbHVkZSAlcyIgJSBleGNsdWRlCisgICAgICAgIGZvciBiYWRfcmVjb21tZW5kYXRpb24gaW4gKHNlbGYuZC5nZXRWYXIoIkJBRF9SRUNPTU1FTkRBVElPTlMiKSBvciAiIikuc3BsaXQoKToKKyAgICAgICAgICAgIGNtZCArPSAiIC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzICVzIiAlIGJhZF9yZWNvbW1lbmRhdGlvbgogICAgICAgICBjbWQgKz0gIiBpbnN0YWxsICIKICAgICAgICAgY21kICs9ICIgIi5qb2luKHBrZ3MpCiAKQEAgLTEzOTcsNDUgKzE0MDYsNiBAQAogICAgIGRlZiBsaXN0X2luc3RhbGxlZChzZWxmKToKICAgICAgICAgcmV0dXJuIE9wa2dQa2dzTGlzdChzZWxmLmQsIHNlbGYudGFyZ2V0X3Jvb3Rmcywgc2VsZi5jb25maWdfZmlsZSkubGlzdF9wa2dzKCkKIAotICAgIGRlZiBoYW5kbGVfYmFkX3JlY29tbWVuZGF0aW9ucyhzZWxmKToKLSAgICAgICAgYmFkX3JlY29tbWVuZGF0aW9ucyA9IHNlbGYuZC5nZXRWYXIoIkJBRF9SRUNPTU1FTkRBVElPTlMiKSBvciAiIgotICAgICAgICBpZiBiYWRfcmVjb21tZW5kYXRpb25zLnN0cmlwKCkgPT0gIiI6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzdGF0dXNfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm9wa2dfZGlyLCAic3RhdHVzIikKLQotICAgICAgICAjIElmIHN0YXR1cyBmaWxlIGV4aXN0ZWQsIGl0IG1lYW5zIHRoZSBiYWQgcmVjb21tZW5kYXRpb25zIGhhcyBhbHJlYWR5Ci0gICAgICAgICMgYmVlbiBoYW5kbGVkCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHN0YXR1c19maWxlKToKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGNtZCA9ICIlcyAlcyBpbmZvICIgJSAoc2VsZi5vcGtnX2NtZCwgc2VsZi5vcGtnX2FyZ3MpCi0KLSAgICAgICAgd2l0aCBvcGVuKHN0YXR1c19maWxlLCAidysiKSBhcyBzdGF0dXM6Ci0gICAgICAgICAgICBmb3IgcGtnIGluIGJhZF9yZWNvbW1lbmRhdGlvbnMuc3BsaXQoKToKLSAgICAgICAgICAgICAgICBwa2dfaW5mbyA9IGNtZCArIHBrZwotCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChwa2dfaW5mby5zcGxpdCgpLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpLnN0cmlwKCkuZGVjb2RlKCJ1dGYtOCIpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJDYW5ub3QgZ2V0IHBhY2thZ2UgaW5mby4gQ29tbWFuZCAnJXMnICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybmVkICVkOlxuJXMiICUgKHBrZ19pbmZvLCBlLnJldHVybmNvZGUsIGUub3V0cHV0LmRlY29kZSgidXRmLTgiKSkpCi0KLSAgICAgICAgICAgICAgICBpZiBvdXRwdXQgPT0gIiI6Ci0gICAgICAgICAgICAgICAgICAgIGJiLm5vdGUoIklnbm9yZWQgYmFkIHJlY29tbWVuZGF0aW9uOiAnJXMnIGlzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IGEgcGFja2FnZSIgJSBwa2cpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXQoJ1xuJyk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiU3RhdHVzOiIpOgotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLndyaXRlKCJTdGF0dXM6IGRlaW5zdGFsbCBob2xkIG5vdC1pbnN0YWxsZWRcbiIpCi0gICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMud3JpdGUobGluZSArICJcbiIpCi0KLSAgICAgICAgICAgICAgICAjIEFwcGVuZCBhIGJsYW5rIGxpbmUgYWZ0ZXIgZWFjaCBwYWNrYWdlIGVudHJ5IHRvIGVuc3VyZSB0aGF0IGl0Ci0gICAgICAgICAgICAgICAgIyBpcyBzZXBhcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIGVudHJ5Ci0gICAgICAgICAgICAgICAgc3RhdHVzLndyaXRlKCJcbiIpCi0KICAgICBkZWYgZHVtbXlfaW5zdGFsbChzZWxmLCBwa2dzKToKICAgICAgICAgIiIiCiAgICAgICAgIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb24gZHVtbXkgaW5zdGFsbHMgcGtncyBhbmQgcmV0dXJucyB0aGUgbG9nIG9mIG91dHB1dC4KQEAgLTE1MjAsNyArMTQ5MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAidHJ5aW5nIHRvIGV4dHJhY3QgdGhlIHBhY2thZ2UuIiAgJSBwa2cpCiAKICAgICAgICAgdG1wX2RpciA9IHN1cGVyKE9wa2dQTSwgc2VsZikuZXh0cmFjdChwa2csIHBrZ19pbmZvKQotICAgICAgICBiYi51dGlscy5yZW1vdmUob3MucGF0aC5qb2luKHRtcF9kaXIsICJkYXRhLnRhci5neiIpKQorICAgICAgICBiYi51dGlscy5yZW1vdmUob3MucGF0aC5qb2luKHRtcF9kaXIsICJkYXRhLnRhci54eiIpKQogCiAgICAgICAgIHJldHVybiB0bXBfZGlyCiAKQEAgLTE1OTIsNyArMTU2Miw3IEBACiAKICAgICAgICAgd2l0aCBvcGVuKHN0YXR1c19maWxlLCAiciIpIGFzIHN0YXR1czoKICAgICAgICAgICAgIGZvciBsaW5lIGluIHN0YXR1cy5yZWFkKCkuc3BsaXQoJ1xuJyk6Ci0gICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKCJeUGFja2FnZTogKC4qKSIsIGxpbmUpCisgICAgICAgICAgICAgICAgbSA9IHJlLm1hdGNoKHIiXlBhY2thZ2U6ICguKikiLCBsaW5lKQogICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZF9wa2dzLmFwcGVuZChtLmdyb3VwKDEpKQogCkBAIC0xNjU3LDEzICsxNjI3LDEzIEBACiAgICAgICAgICMgcmVuYW1lICouZHBrZy1uZXcgZmlsZXMvZGlycwogICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzZWxmLnRhcmdldF9yb290ZnMpOgogICAgICAgICAgICAgZm9yIGRpciBpbiBkaXJzOgotICAgICAgICAgICAgICAgIG5ld19kaXIgPSByZS5zdWIoIlwuZHBrZy1uZXciLCAiIiwgZGlyKQorICAgICAgICAgICAgICAgIG5ld19kaXIgPSByZS5zdWIociJcLmRwa2ctbmV3IiwgIiIsIGRpcikKICAgICAgICAgICAgICAgICBpZiBkaXIgIT0gbmV3X2RpcjoKICAgICAgICAgICAgICAgICAgICAgb3MucmVuYW1lKG9zLnBhdGguam9pbihyb290LCBkaXIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHJvb3QsIG5ld19kaXIpKQogCiAgICAgICAgICAgICBmb3IgZmlsZSBpbiBmaWxlczoKLSAgICAgICAgICAgICAgICBuZXdfZmlsZSA9IHJlLnN1YigiXC5kcGtnLW5ldyIsICIiLCBmaWxlKQorICAgICAgICAgICAgICAgIG5ld19maWxlID0gcmUuc3ViKHIiXC5kcGtnLW5ldyIsICIiLCBmaWxlKQogICAgICAgICAgICAgICAgIGlmIGZpbGUgIT0gbmV3X2ZpbGU6CiAgICAgICAgICAgICAgICAgICAgIG9zLnJlbmFtZShvcy5wYXRoLmpvaW4ocm9vdCwgZmlsZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ocm9vdCwgbmV3X2ZpbGUpKQpAQCAtMTcyOCw3ICsxNjk4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgc291cmNlc19maWxlLndyaXRlKCJkZWIgJXMgLi9cbiIgJSB1cmkpCiAKICAgICBkZWYgX2NyZWF0ZV9jb25maWdzKHNlbGYsIGFyY2hzLCBiYXNlX2FyY2hzKToKLSAgICAgICAgYmFzZV9hcmNocyA9IHJlLnN1YigiXyIsICItIiwgYmFzZV9hcmNocykKKyAgICAgICAgYmFzZV9hcmNocyA9IHJlLnN1YihyIl8iLCByIi0iLCBiYXNlX2FyY2hzKQogCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuYXB0X2NvbmZfZGlyKToKICAgICAgICAgICAgIGJiLnV0aWxzLnJlbW92ZShzZWxmLmFwdF9jb25mX2RpciwgVHJ1ZSkKQEAgLTE3ODIsNyArMTc1Miw3IEBACiAgICAgICAgIHdpdGggb3BlbihzZWxmLmFwdF9jb25mX2ZpbGUsICJ3KyIpIGFzIGFwdF9jb25mOgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuZC5leHBhbmQoIiR7U1RBR0lOR19FVENESVJfTkFUSVZFfS9hcHQvYXB0LmNvbmYuc2FtcGxlIikpIGFzIGFwdF9jb25mX3NhbXBsZToKICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBhcHRfY29uZl9zYW1wbGUucmVhZCgpLnNwbGl0KCJcbiIpOgotICAgICAgICAgICAgICAgICAgICBtYXRjaF9hcmNoID0gcmUubWF0Y2goIiAgQXJjaGl0ZWN0dXJlIFwiLipcIjskIiwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgbWF0Y2hfYXJjaCA9IHJlLm1hdGNoKHIiICBBcmNoaXRlY3R1cmUgXCIuKlwiOyQiLCBsaW5lKQogICAgICAgICAgICAgICAgICAgICBhcmNoaXRlY3R1cmVzID0gIiIKICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2hfYXJjaDoKICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBiYXNlX2FyY2ggaW4gYmFzZV9hcmNoX2xpc3Q6CkBAIC0xNzkwLDggKzE3NjAsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUoIiAgQXJjaGl0ZWN0dXJlcyB7JXN9O1xuIiAlIGFyY2hpdGVjdHVyZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgYXB0X2NvbmYud3JpdGUoIiAgQXJjaGl0ZWN0dXJlIFwiJXNcIjtcbiIgJSBiYXNlX2FyY2hzKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IHJlLnN1YigiI1JPT1RGUyMiLCBzZWxmLnRhcmdldF9yb290ZnMsIGxpbmUpCi0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gcmUuc3ViKCIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjUk9PVEZTIyIsIHNlbGYudGFyZ2V0X3Jvb3RmcywgbGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSByZS5zdWIociIjQVBUQ09ORiMiLCBzZWxmLmFwdF9jb25mX2RpciwgbGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgIGFwdF9jb25mLndyaXRlKGxpbmUgKyAiXG4iKQogCiAgICAgICAgIHRhcmdldF9kcGtnX2RpciA9ICIlcy92YXIvbGliL2Rwa2ciICUgc2VsZi50YXJnZXRfcm9vdGZzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3BhdGNoLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9wYXRjaC5weQppbmRleCBlMGYwNjA0Li43ZGQzMWQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3BhdGNoLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvcGF0Y2gucHkKQEAgLTMzNCw4ICszMzQsOCBAQAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgaW50ZXJwcmV0UGF0Y2hIZWFkZXIoaGVhZGVybGluZXMpOgogICAgICAgICBpbXBvcnQgcmUKLSAgICAgICAgYXV0aG9yX3JlID0gcmUuY29tcGlsZSgnW1xTIF0rIDxcUytAXFMrXC5cUys+JykKLSAgICAgICAgZnJvbV9jb21taXRfcmUgPSByZS5jb21waWxlKCdeRnJvbSBbYS16MC05XXs0MH0gLionKQorICAgICAgICBhdXRob3JfcmUgPSByZS5jb21waWxlKHInW1xTIF0rIDxcUytAXFMrXC5cUys+JykKKyAgICAgICAgZnJvbV9jb21taXRfcmUgPSByZS5jb21waWxlKHInXkZyb20gW2EtejAtOV17NDB9IC4qJykKICAgICAgICAgb3V0bGluZXMgPSBbXQogICAgICAgICBhdXRob3IgPSBOb25lCiAgICAgICAgIGRhdGUgPSBOb25lCkBAIC03OTAsOSArNzkwLDExIEBACiAKIAogZGVmIHBhdGNoX3BhdGgodXJsLCBmZXRjaCwgd29ya2RpciwgZXhwYW5kPVRydWUpOgotICAgICIiIlJldHVybiB0aGUgbG9jYWwgcGF0aCBvZiBhIHBhdGNoLCBvciBOb25lIGlmIHRoaXMgaXNuJ3QgYSBwYXRjaCIiIgorICAgICIiIlJldHVybiB0aGUgbG9jYWwgcGF0aCBvZiBhIHBhdGNoLCBvciByZXR1cm4gbm90aGluZyBpZiB0aGlzIGlzbid0IGEgcGF0Y2giIiIKIAogICAgIGxvY2FsID0gZmV0Y2gubG9jYWxwYXRoKHVybCkKKyAgICBpZiBvcy5wYXRoLmlzZGlyKGxvY2FsKToKKyAgICAgICAgcmV0dXJuCiAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGxvY2FsKSkKICAgICBpZiBleHQgaW4gKCcuZ3onLCAnLmJ6MicsICcueHonLCAnLlonKToKICAgICAgICAgaWYgZXhwYW5kOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZS9yZWNpcGV1dGlscy5weSBiL3Bva3kvbWV0YS9saWIvb2UvcmVjaXBldXRpbHMucHkKaW5kZXggYWE2NDU1My4uNGNhMjAwZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9yZWNpcGV1dGlscy5weQorKysgYi9wb2t5L21ldGEvbGliL29lL3JlY2lwZXV0aWxzLnB5CkBAIC0xNiw0MCArMTYsNDAgQEAKIGltcG9ydCByZQogaW1wb3J0IGZubWF0Y2gKIGltcG9ydCBnbG9iCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBPcmRlcmVkRGljdCwgZGVmYXVsdGRpY3QKK2ltcG9ydCBiYi50aW5mb2lsCiAKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0LCBkZWZhdWx0ZGljdAorZnJvbSBiYi51dGlscyBpbXBvcnQgdmVyY21wX3N0cmluZwogCiAjIEhlbHAgdXMgdG8gZmluZCBwbGFjZXMgdG8gaW5zZXJ0IHZhbHVlcwogcmVjaXBlX3Byb2dyZXNzaW9uID0gWydTVU1NQVJZJywgJ0RFU0NSSVBUSU9OJywgJ0hPTUVQQUdFJywgJ0JVR1RSQUNLRVInLCAnU0VDVElPTicsICdMSUNFTlNFJywgJ0xJQ0VOU0VfRkxBR1MnLCAnTElDX0ZJTEVTX0NIS1NVTScsICdQUk9WSURFUycsICdERVBFTkRTJywgJ1BSJywgJ1BWJywgJ1NSQ1JFVicsICdTUkNQVicsICdTUkNfVVJJJywgJ1MnLCAnZG9fZmV0Y2goKScsICdkb191bnBhY2soKScsICdkb19wYXRjaCgpJywgJ0VYVFJBX09FQ09ORicsICdFWFRSQV9PRUNNQUtFJywgJ0VYVFJBX09FU0NPTlMnLCAnZG9fY29uZmlndXJlKCknLCAnRVhUUkFfT0VNQUtFJywgJ2RvX2NvbXBpbGUoKScsICdkb19pbnN0YWxsKCknLCAnZG9fcG9wdWxhdGVfc3lzcm9vdCgpJywgJ0lOSVRTQ1JJUFQnLCAnVVNFUkFERCcsICdHUk9VUEFERCcsICdQQUNLQUdFUycsICdGSUxFUycsICdSREVQRU5EUycsICdSUkVDT01NRU5EUycsICdSU1VHR0VTVFMnLCAnUlBST1ZJREVTJywgJ1JSRVBMQUNFUycsICdSQ09ORkxJQ1RTJywgJ0FMTE9XX0VNUFRZJywgJ3BvcHVsYXRlX3BhY2thZ2VzKCknLCAnZG9fcGFja2FnZSgpJywgJ2RvX2RlcGxveSgpJ10KICMgVmFyaWFibGVzIHRoYXQgc29tZXRpbWVzIGFyZSBhIGJpdCBsb25nIGJ1dCBzaG91bGRuJ3QgYmUgd3JhcHBlZAotbm93cmFwX3ZhcnMgPSBbJ1NVTU1BUlknLCAnSE9NRVBBR0UnLCAnQlVHVFJBQ0tFUicsICdTUkNfVVJJXFsoLitcLik/bWQ1c3VtXF0nLCAnU1JDX1VSSVxbKC4rXC4pP3NoYTI1NnN1bVxdJ10KK25vd3JhcF92YXJzID0gWydTVU1NQVJZJywgJ0hPTUVQQUdFJywgJ0JVR1RSQUNLRVInLCByJ1NSQ19VUklcWyguK1wuKT9tZDVzdW1cXScsIHInU1JDX1VSSVxbKC4rXC4pP3NoYTI1NnN1bVxdJ10KIGxpc3RfdmFycyA9IFsnU1JDX1VSSScsICdMSUNfRklMRVNfQ0hLU1VNJ10KIG1ldGFfdmFycyA9IFsnU1VNTUFSWScsICdERVNDUklQVElPTicsICdIT01FUEFHRScsICdCVUdUUkFDS0VSJywgJ1NFQ1RJT04nXQogCiAKLWRlZiBwbl90b19yZWNpcGUoY29va2VyLCBwbiwgbWM9JycpOgotICAgICIiIkNvbnZlcnQgYSByZWNpcGUgbmFtZSAoUE4pIHRvIHRoZSBwYXRoIHRvIHRoZSByZWNpcGUgZmlsZSIiIgotCi0gICAgYmVzdCA9IGNvb2tlci5maW5kQmVzdFByb3ZpZGVyKHBuLCBtYykKLSAgICByZXR1cm4gYmVzdFszXQotCi0KLWRlZiBnZXRfdW5hdmFpbGFibGVfcmVhc29ucyhjb29rZXIsIHBuKToKLSAgICAiIiJJZiBhIHJlY2lwZSBjb3VsZCBub3QgYmUgZm91bmQsIGZpbmQgb3V0IHdoeSBpZiBwb3NzaWJsZSIiIgotICAgIGltcG9ydCBiYi50YXNrZGF0YQotICAgIHRhc2tkYXRhID0gYmIudGFza2RhdGEuVGFza0RhdGEoTm9uZSwgc2tpcGxpc3Q9Y29va2VyLnNraXBsaXN0KQotICAgIHJldHVybiB0YXNrZGF0YS5nZXRfcmVhc29ucyhwbikKLQotCi1kZWYgcGFyc2VfcmVjaXBlKGNvb2tlciwgZm4sIGFwcGVuZGZpbGVzKToKK2RlZiBzaW1wbGlmeV9oaXN0b3J5KGhpc3RvcnksIGQpOgogICAgICIiIgotICAgIFBhcnNlIGFuIGluZGl2aWR1YWwgcmVjaXBlIGZpbGUsIG9wdGlvbmFsbHkgd2l0aCBhIGxpc3Qgb2YKLSAgICBiYmFwcGVuZCBmaWxlcy4KKyAgICBFbGltaW5hdGUgYW55IGlycmVsZXZhbnQgZXZlbnRzIGZyb20gYSB2YXJpYWJsZSBoaXN0b3J5CiAgICAgIiIiCi0gICAgaW1wb3J0IGJiLmNhY2hlCi0gICAgcGFyc2VyID0gYmIuY2FjaGUuTm9DYWNoZShjb29rZXIuZGF0YWJ1aWxkZXIpCi0gICAgZW52ZGF0YSA9IHBhcnNlci5sb2FkRGF0YUZ1bGwoZm4sIGFwcGVuZGZpbGVzKQotICAgIHJldHVybiBlbnZkYXRhCisgICAgcmV0X2hpc3RvcnkgPSBbXQorICAgIGhhc19zZXQgPSBGYWxzZQorICAgICMgR28gYmFja3dhcmRzIHRocm91Z2ggdGhlIGhpc3RvcnkgYW5kIHJlbW92ZSBhbnkgaW1tZWRpYXRlIG9wZXJhdGlvbnMKKyAgICAjIGJlZm9yZSB0aGUgbW9zdCByZWNlbnQgc2V0CisgICAgZm9yIGV2ZW50IGluIHJldmVyc2VkKGhpc3RvcnkpOgorICAgICAgICBpZiAnZmxhZycgaW4gZXZlbnQgb3Igbm90ICdmaWxlJyBpbiBldmVudDoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIGV2ZW50WydvcCddID09ICdzZXQnOgorICAgICAgICAgICAgaWYgaGFzX3NldDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaGFzX3NldCA9IFRydWUKKyAgICAgICAgZWxpZiBldmVudFsnb3AnXSBpbiAoJ2FwcGVuZCcsICdwcmVwZW5kJywgJ3Bvc3Rkb3QnLCAncHJlZG90Jyk6CisgICAgICAgICAgICAjIFJlbWluZGVyOiAiYXBwZW5kIiBhbmQgInByZXBlbmQiIG1lYW4gKz0gYW5kID0rIHJlc3BlY3RpdmVseSwgTk9UIF9hcHBlbmQgLyBfcHJlcGVuZAorICAgICAgICAgICAgaWYgaGFzX3NldDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICByZXRfaGlzdG9yeS5pbnNlcnQoMCwgZXZlbnQpCisgICAgcmV0dXJuIHJldF9oaXN0b3J5CiAKIAogZGVmIGdldF92YXJfZmlsZXMoZm4sIHZhcmxpc3QsIGQpOgpAQCAtNTgsMTEgKzU4LDE5IEBACiAgICAgIiIiCiAgICAgdmFyZmlsZXMgPSB7fQogICAgIGZvciB2IGluIHZhcmxpc3Q6Ci0gICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodikKICAgICAgICAgZmlsZXMgPSBbXQotICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKLSAgICAgICAgICAgIGlmICdmaWxlJyBpbiBldmVudCBhbmQgbm90ICdmbGFnJyBpbiBldmVudDoKLSAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQoZXZlbnRbJ2ZpbGUnXSkKKyAgICAgICAgaWYgJ1snIGluIHY6CisgICAgICAgICAgICB2YXJzcGxpdCA9IHYuc3BsaXQoJ1snKQorICAgICAgICAgICAgdmFyZmxhZyA9IHZhcnNwbGl0WzFdLnNwbGl0KCddJylbMF0KKyAgICAgICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodmFyc3BsaXRbMF0pCisgICAgICAgICAgICBmb3IgZXZlbnQgaW4gaGlzdG9yeToKKyAgICAgICAgICAgICAgICBpZiAnZmlsZScgaW4gZXZlbnQgYW5kIGV2ZW50LmdldCgnZmxhZycsICcnKSA9PSB2YXJmbGFnOgorICAgICAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQoZXZlbnRbJ2ZpbGUnXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhpc3RvcnkgPSBkLnZhcmhpc3RvcnkudmFyaWFibGUodikKKyAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgIGlmICdmaWxlJyBpbiBldmVudCBhbmQgbm90ICdmbGFnJyBpbiBldmVudDoKKyAgICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGV2ZW50WydmaWxlJ10pCiAgICAgICAgIGlmIGZpbGVzOgogICAgICAgICAgICAgYWN0dWFsZmlsZSA9IGZpbGVzWy0xXQogICAgICAgICBlbHNlOgpAQCAtMTUzLDcgKzE2MSw3IEBACiAgICAgICAgICAgICBrZXkgPSBpdGVtWzotMl0KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGtleSA9IGl0ZW0KLSAgICAgICAgcmVzdHIgPSAnJXMoX1thLXpBLVowLTktXyQoKXt9XSt8XFtbXlxdXSpcXSk/JyAlIGtleQorICAgICAgICByZXN0ciA9IHInJXMoX1thLXpBLVowLTktXyQoKXt9XSt8XFtbXlxdXSpcXSk/JyAlIGtleQogICAgICAgICBpZiBpdGVtLmVuZHN3aXRoKCcoKScpOgogICAgICAgICAgICAgcmVjaXBlX3Byb2dyZXNzaW9uX3Jlc3Rycy5hcHBlbmQocmVzdHIgKyAnKCknKQogICAgICAgICBlbHNlOgpAQCAtMTc2LDcgKzE4NCwxNCBAQAogICAgIGRlZiBvdXRwdXR2YWx1ZShuYW1lLCBsaW5lcywgcmV3aW5kY29tbWVudHM9RmFsc2UpOgogICAgICAgICBpZiB2YWx1ZXNbbmFtZV0gaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybgotICAgICAgICByYXd0ZXh0ID0gJyVzID0gIiVzIiVzJyAlIChuYW1lLCB2YWx1ZXNbbmFtZV0sIG5ld2xpbmUpCisgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWVzW25hbWVdLCB0dXBsZSk6CisgICAgICAgICAgICBvcCwgdmFsdWUgPSB2YWx1ZXNbbmFtZV0KKyAgICAgICAgICAgIGlmIG9wID09ICcrPScgYW5kIHZhbHVlLnN0cmlwKCkgPT0gJyc6CisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlc1tuYW1lXQorICAgICAgICAgICAgb3AgPSAnPScKKyAgICAgICAgcmF3dGV4dCA9ICclcyAlcyAiJXMiJXMnICUgKG5hbWUsIG9wLCB2YWx1ZSwgbmV3bGluZSkKICAgICAgICAgYWRkbGluZXMgPSBbXQogICAgICAgICBub3dyYXAgPSBGYWxzZQogICAgICAgICBmb3Igbm93cmFwX3JlIGluIG5vd3JhcF92YXJzX3JlczoKQEAgLTE4NiwxMCArMjAxLDEwIEBACiAgICAgICAgIGlmIG5vd3JhcDoKICAgICAgICAgICAgIGFkZGxpbmVzLmFwcGVuZChyYXd0ZXh0KQogICAgICAgICBlbGlmIG5hbWUgaW4gbGlzdF92YXJzOgotICAgICAgICAgICAgc3BsaXR2YWx1ZSA9IHNwbGl0X3Zhcl92YWx1ZSh2YWx1ZXNbbmFtZV0sIGFzc2lnbm1lbnQ9RmFsc2UpCisgICAgICAgICAgICBzcGxpdHZhbHVlID0gc3BsaXRfdmFyX3ZhbHVlKHZhbHVlLCBhc3NpZ25tZW50PUZhbHNlKQogICAgICAgICAgICAgaWYgbGVuKHNwbGl0dmFsdWUpID4gMToKICAgICAgICAgICAgICAgICBsaW5lc3BsaXQgPSAnIFxcXG4nICsgKCcgJyAqIChsZW4obmFtZSkgKyA0KSkKLSAgICAgICAgICAgICAgICBhZGRsaW5lcy5hcHBlbmQoJyVzID0gIiVzJXMiJXMnICUgKG5hbWUsIGxpbmVzcGxpdC5qb2luKHNwbGl0dmFsdWUpLCBsaW5lc3BsaXQsIG5ld2xpbmUpKQorICAgICAgICAgICAgICAgIGFkZGxpbmVzLmFwcGVuZCgnJXMgJXMgIiVzJXMiJXMnICUgKG5hbWUsIG9wLCBsaW5lc3BsaXQuam9pbihzcGxpdHZhbHVlKSwgbGluZXNwbGl0LCBuZXdsaW5lKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgYWRkbGluZXMuYXBwZW5kKHJhd3RleHQpCiAgICAgICAgIGVsc2U6CkBAIC0zMjEsMTIgKzMzNiw0NyBAQAogICAgICIiIk1vZGlmeSBhIGxpc3Qgb2YgdmFyaWFibGUgdmFsdWVzIGluIHRoZSBzcGVjaWZpZWQgcmVjaXBlLiBIYW5kbGVzIGluYyBmaWxlcyBpZgogICAgIHVzZWQgYnkgdGhlIHJlY2lwZS4KICAgICAiIiIKKyAgICBvdmVycmlkZXMgPSBkLmdldFZhcignT1ZFUlJJREVTJykuc3BsaXQoJzonKQorICAgIGRlZiBvdmVycmlkZV9hcHBsaWNhYmxlKGhldmVudCk6CisgICAgICAgIG9wID0gaGV2ZW50WydvcCddCisgICAgICAgIGlmICdbJyBpbiBvcDoKKyAgICAgICAgICAgIG9wb3ZlcnJpZGVzID0gb3Auc3BsaXQoJ1snKVsxXS5zcGxpdCgnXScpWzBdLnNwbGl0KCdfJykKKyAgICAgICAgICAgIGZvciBvcG92ZXJyaWRlIGluIG9wb3ZlcnJpZGVzOgorICAgICAgICAgICAgICAgIGlmIG5vdCBvcG92ZXJyaWRlIGluIG92ZXJyaWRlczoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKICAgICB2YXJsaXN0ID0gdmFydmFsdWVzLmtleXMoKQorICAgIGZuID0gb3MucGF0aC5hYnNwYXRoKGZuKQogICAgIHZhcmZpbGVzID0gZ2V0X3Zhcl9maWxlcyhmbiwgdmFybGlzdCwgZCkKICAgICBsb2NzID0gbG9jYWxpc2VfZmlsZV92YXJzKGZuLCB2YXJmaWxlcywgdmFybGlzdCkKICAgICBwYXRjaGVzID0gW10KICAgICBmb3IgZix2IGluIGxvY3MuaXRlbXMoKToKICAgICAgICAgdmFscyA9IHtrOiB2YXJ2YWx1ZXNba10gZm9yIGsgaW4gdn0KKyAgICAgICAgZiA9IG9zLnBhdGguYWJzcGF0aChmKQorICAgICAgICBpZiBmID09IGZuOgorICAgICAgICAgICAgZXh0cmF2YWxzID0ge30KKyAgICAgICAgICAgIGZvciB2YXIsIHZhbHVlIGluIHZhbHMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiB2YXIgaW4gbGlzdF92YXJzOgorICAgICAgICAgICAgICAgICAgICBoaXN0b3J5ID0gc2ltcGxpZnlfaGlzdG9yeShkLnZhcmhpc3RvcnkudmFyaWFibGUodmFyKSwgZCkKKyAgICAgICAgICAgICAgICAgICAgcmVjaXBlX3NldCA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5hYnNwYXRoKGV2ZW50WydmaWxlJ10pID09IGZuOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGV2ZW50WydvcCddID09ICdzZXQnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNpcGVfc2V0ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgcmVjaXBlX3NldDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBldmVudCBpbiBoaXN0b3J5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGV2ZW50WydvcCddLnN0YXJ0c3dpdGgoJ19yZW1vdmUnKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3ZlcnJpZGVfYXBwbGljYWJsZShldmVudCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3dmFsdWUgPSB2YWx1ZS5yZXBsYWNlKGV2ZW50WydkZXRhaWwnXSwgJycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbmV3dmFsdWUgPT0gdmFsdWUgYW5kIG9zLnBhdGguYWJzcGF0aChldmVudFsnZmlsZSddKSA9PSBmbiBhbmQgZXZlbnRbJ29wJ10uc3RhcnRzd2l0aCgnXycpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcCA9IGV2ZW50WydvcCddLnJlcGxhY2UoJ1snLCAnXycpLnJlcGxhY2UoJ10nLCAnJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmF2YWxzW3ZhciArIG9wXSA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IG5ld3ZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsc1t2YXJdID0gKCcrPScsIHZhbHVlKQorICAgICAgICAgICAgdmFscy51cGRhdGUoZXh0cmF2YWxzKQogICAgICAgICBwYXRjaGRhdGEgPSBwYXRjaF9yZWNpcGVfZmlsZShmLCB2YWxzLCBwYXRjaCwgcmVscGF0aCwgcmVkaXJlY3Rfb3V0cHV0KQogICAgICAgICBpZiBwYXRjaDoKICAgICAgICAgICAgIHBhdGNoZXMuYXBwZW5kKHBhdGNoZGF0YSkKQEAgLTQzMiw3ICs0ODIsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgdW5wYWNrID0gZmV0Y2gudWRbdXJpXS5wYXJtLmdldCgndW5wYWNrJywgVHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgaWYgdW5wYWNrOgogICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIHJldFtmbmFtZV0gPSBsb2NhbHBhdGgKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIobG9jYWxwYXRoKToKKyAgICAgICAgICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2Fsayhsb2NhbHBhdGgpOgorICAgICAgICAgICAgICAgICAgICBmb3IgZm5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBmaWxlYWJzcGF0aCA9IG9zLnBhdGguam9pbihyb290LGZuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgc3JjZGlyID0gb3MucGF0aC5kaXJuYW1lKGxvY2FscGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldFtvcy5wYXRoLnJlbHBhdGgoZmlsZWFic3BhdGgsc3JjZGlyKV0gPSBmaWxlYWJzcGF0aAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXRbZm5hbWVdID0gbG9jYWxwYXRoCiAgICAgcmV0dXJuIHJldAogCiAKQEAgLTg3NSw3ICs5MzIsNyBAQAogICAgIHNmeCA9ICcnCiAKICAgICBpZiB1cmlfdHlwZSA9PSAnZ2l0JzoKLSAgICAgICAgZ2l0X3JlZ2V4ID0gcmUuY29tcGlsZSgiKD9QPHBmeD52PykoP1A8dmVyPlteXCtdKikoKD9QPHNmeD5cKyhnaXQpP3I/KEFVVE9JTkNcKykpKD9QPHJldj4uKikpPyIpCisgICAgICAgIGdpdF9yZWdleCA9IHJlLmNvbXBpbGUociIoP1A8cGZ4PnY/KSg/UDx2ZXI+W15cK10qKSgoP1A8c2Z4PlwrKGdpdCk/cj8oQVVUT0lOQ1wrKSkoP1A8cmV2Pi4qKSk/IikKICAgICAgICAgbSA9IGdpdF9yZWdleC5tYXRjaChwdikKIAogICAgICAgICBpZiBtOgpAQCAtODgzLDcgKzk0MCw3IEBACiAgICAgICAgICAgICBwZnggPSBtLmdyb3VwKCdwZngnKQogICAgICAgICAgICAgc2Z4ID0gbS5ncm91cCgnc2Z4JykKICAgICBlbHNlOgotICAgICAgICByZWdleCA9IHJlLmNvbXBpbGUoIig/UDxwZng+KHZ8cik/KSg/UDx2ZXI+LiopIikKKyAgICAgICAgcmVnZXggPSByZS5jb21waWxlKHIiKD9QPHBmeD4odnxyKT8pKD9QPHZlcj4uKikiKQogICAgICAgICBtID0gcmVnZXgubWF0Y2gocHYpCiAgICAgICAgIGlmIG06CiAgICAgICAgICAgICBwdiA9IG0uZ3JvdXAoJ3ZlcicpCkBAIC05NjksMyArMTAyNiw4NyBAQAogICAgICAgICBydVsnZGF0ZXRpbWUnXSA9IGRhdGV0aW1lLm5vdygpCiAKICAgICByZXR1cm4gcnUKKworZGVmIF9nZXRfcmVjaXBlX3VwZ3JhZGVfc3RhdHVzKGRhdGEpOgorICAgIHV2ID0gZ2V0X3JlY2lwZV91cHN0cmVhbV92ZXJzaW9uKGRhdGEpCisKKyAgICBwbiA9IGRhdGEuZ2V0VmFyKCdQTicpCisgICAgY3VyX3ZlciA9IHV2WydjdXJyZW50X3ZlcnNpb24nXQorCisgICAgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duID0gZGF0YS5nZXRWYXIoJ1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTicpCisgICAgaWYgbm90IHV2Wyd2ZXJzaW9uJ106CisgICAgICAgIHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCisgICAgZWxzZToKKyAgICAgICAgY21wID0gdmVyY21wX3N0cmluZyh1dlsnY3VycmVudF92ZXJzaW9uJ10sIHV2Wyd2ZXJzaW9uJ10pCisgICAgICAgIGlmIGNtcCA9PSAtMToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJVUERBVEUiIGlmIG5vdCB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiS05PV05fQlJPS0VOIgorICAgICAgICBlbGlmIGNtcCA9PSAwOgorICAgICAgICAgICAgc3RhdHVzID0gIk1BVENIIiBpZiBub3QgdXBzdHJlYW1fdmVyc2lvbl91bmtub3duIGVsc2UgIktOT1dOX0JST0tFTiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHN0YXR1cyA9ICJVTktOT1dOIiBpZiB1cHN0cmVhbV92ZXJzaW9uX3Vua25vd24gZWxzZSAiVU5LTk9XTl9CUk9LRU4iCisKKyAgICBuZXh0X3ZlciA9IHV2Wyd2ZXJzaW9uJ10gaWYgdXZbJ3ZlcnNpb24nXSBlbHNlICJOL0EiCisgICAgcmV2aXNpb24gPSB1dlsncmV2aXNpb24nXSBpZiB1dlsncmV2aXNpb24nXSBlbHNlICJOL0EiCisgICAgbWFpbnRhaW5lciA9IGRhdGEuZ2V0VmFyKCdSRUNJUEVfTUFJTlRBSU5FUicpCisgICAgbm9fdXBncmFkZV9yZWFzb24gPSBkYXRhLmdldFZhcignUkVDSVBFX05PX1VQREFURV9SRUFTT04nKQorCisgICAgcmV0dXJuIChwbiwgc3RhdHVzLCBjdXJfdmVyLCBuZXh0X3ZlciwgbWFpbnRhaW5lciwgcmV2aXNpb24sIG5vX3VwZ3JhZGVfcmVhc29uKQorCitkZWYgZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cyhyZWNpcGVzPU5vbmUpOgorICAgIHBrZ3NfbGlzdCA9IFtdCisgICAgZGF0YV9jb3B5X2xpc3QgPSBbXQorICAgIGNvcHlfdmFycyA9ICgnU1JDX1VSSScsCisgICAgICAgICAgICAgICAgICdQVicsCisgICAgICAgICAgICAgICAgICdHSVRESVInLAorICAgICAgICAgICAgICAgICAnRExfRElSJywKKyAgICAgICAgICAgICAgICAgJ1BOJywKKyAgICAgICAgICAgICAgICAgJ0NBQ0hFJywKKyAgICAgICAgICAgICAgICAgJ1BFUlNJU1RFTlRfRElSJywKKyAgICAgICAgICAgICAgICAgJ0JCX1VSSV9IRUFEUkVWUycsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9DSEVDS19DT01NSVRTJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX1JFR0VYJywKKyAgICAgICAgICAgICAgICAgJ1VQU1RSRUFNX0NIRUNLX1VSSScsCisgICAgICAgICAgICAgICAgICdVUFNUUkVBTV9WRVJTSU9OX1VOS05PV04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX01BSU5UQUlORVInLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX05PX1VQREFURV9SRUFTT04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX1VQU1RSRUFNX1ZFUlNJT04nLAorICAgICAgICAgICAgICAgICAnUkVDSVBFX1VQU1RSRUFNX0RBVEUnLAorICAgICAgICAgICAgICAgICAnQ0hFQ0tfREFURScsCisgICAgICAgICAgICApCisKKyAgICB3aXRoIGJiLnRpbmZvaWwuVGluZm9pbCgpIGFzIHRpbmZvaWw6CisgICAgICAgIHRpbmZvaWwucHJlcGFyZShjb25maWdfb25seT1GYWxzZSkKKworICAgICAgICBpZiBub3QgcmVjaXBlczoKKyAgICAgICAgICAgIHJlY2lwZXMgPSB0aW5mb2lsLmFsbF9yZWNpcGVfZmlsZXModmFyaWFudHM9RmFsc2UpCisKKyAgICAgICAgZm9yIGZuIGluIHJlY2lwZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgZm4uc3RhcnRzd2l0aCgiLyIpOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gdGluZm9pbC5wYXJzZV9yZWNpcGVfZmlsZShmbikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gdGluZm9pbC5wYXJzZV9yZWNpcGUoZm4pCisgICAgICAgICAgICBleGNlcHQgYmIucHJvdmlkZXJzLk5vUHJvdmlkZXI6CisgICAgICAgICAgICAgICAgYmIubm90ZSgiIE5vIHByb3ZpZGVyIGZvciAlcyIgJSBmbikKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICB1bnJlbGlhYmxlID0gZGF0YS5nZXRWYXIoJ1VQU1RSRUFNX0NIRUNLX1VOUkVMSUFCTEUnKQorICAgICAgICAgICAgaWYgdW5yZWxpYWJsZSA9PSAiMSI6CisgICAgICAgICAgICAgICAgYmIubm90ZSgiIFNraXAgcGFja2FnZSAlcyBhcyB1cHN0cmVhbSBjaGVjayB1bnJlbGlhYmxlIiAlIHBuKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGRhdGFfY29weSA9IGJiLmRhdGEuaW5pdCgpCisgICAgICAgICAgICBmb3IgdmFyIGluIGNvcHlfdmFyczoKKyAgICAgICAgICAgICAgICBkYXRhX2NvcHkuc2V0VmFyKHZhciwgZGF0YS5nZXRWYXIodmFyKSkKKyAgICAgICAgICAgIGZvciBrIGluIGRhdGE6CisgICAgICAgICAgICAgICAgaWYgay5zdGFydHN3aXRoKCdTUkNSRVYnKToKKyAgICAgICAgICAgICAgICAgICAgZGF0YV9jb3B5LnNldFZhcihrLCBkYXRhLmdldFZhcihrKSkKKworICAgICAgICAgICAgZGF0YV9jb3B5X2xpc3QuYXBwZW5kKGRhdGFfY29weSkKKworICAgIGZyb20gY29uY3VycmVudC5mdXR1cmVzIGltcG9ydCBQcm9jZXNzUG9vbEV4ZWN1dG9yCisgICAgd2l0aCBQcm9jZXNzUG9vbEV4ZWN1dG9yKG1heF93b3JrZXJzPXV0aWxzLmNwdV9jb3VudCgpKSBhcyBleGVjdXRvcjoKKyAgICAgICAgcGtnc19saXN0ID0gZXhlY3V0b3IubWFwKF9nZXRfcmVjaXBlX3VwZ3JhZGVfc3RhdHVzLCBkYXRhX2NvcHlfbGlzdCkKKworICAgIHJldHVybiBwa2dzX2xpc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2Uvcm9vdGZzLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKaW5kZXggZTU1MTJkMC4uYjdjMGI5YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9yb290ZnMucHkKQEAgLTM1NCw5ICszNTQsOSBAQAogY2xhc3MgUnBtUm9vdGZzKFJvb3Rmcyk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGQsIG1hbmlmZXN0X2RpciwgcHJvZ3Jlc3NfcmVwb3J0ZXI9Tm9uZSwgbG9nY2F0Y2hlcj1Ob25lKToKICAgICAgICAgc3VwZXIoUnBtUm9vdGZzLCBzZWxmKS5fX2luaXRfXyhkLCBwcm9ncmVzc19yZXBvcnRlciwgbG9nY2F0Y2hlcikKLSAgICAgICAgc2VsZi5sb2dfY2hlY2tfcmVnZXggPSAnKHVucGFja2luZyBvZiBhcmNoaXZlIGZhaWxlZHxDYW5ub3QgZmluZCBwYWNrYWdlJ1wKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnfGV4aXQgMXxFUlJPUjogfEVycm9yOiB8RXJyb3IgfEVSUk9SICdcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3xGYWlsZWQgfEZhaWxlZDogfEZhaWxlZCR8RmFpbGVkXChcZCtcKTopJworICAgICAgICBzZWxmLmxvZ19jaGVja19yZWdleCA9IHInKHVucGFja2luZyBvZiBhcmNoaXZlIGZhaWxlZHxDYW5ub3QgZmluZCBwYWNrYWdlJ1wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ3xleGl0IDF8RVJST1I6IHxFcnJvcjogfEVycm9yIHxFUlJPUiAnXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInfEZhaWxlZCB8RmFpbGVkOiB8RmFpbGVkJHxGYWlsZWRcKFxkK1wpOiknCiAgICAgICAgIHNlbGYubWFuaWZlc3QgPSBScG1NYW5pZmVzdChkLCBtYW5pZmVzdF9kaXIpCiAKICAgICAgICAgc2VsZi5wbSA9IFJwbVBNKGQsCkBAIC00OTksNyArNDk5LDcgQEAKICAgICAgICAgICAgIHBrZ19kZXBlbmRzX2xpc3QgPSBbXQogICAgICAgICAgICAgIyBmaWx0ZXIgdmVyc2lvbiByZXF1aXJlbWVudHMgbGlrZSBsaWJjICg+PSAxLjEpCiAgICAgICAgICAgICBmb3IgZGVwIGluIHBrZ19kZXBlbmRzLnNwbGl0KCcsICcpOgotICAgICAgICAgICAgICAgIG1fZGVwID0gcmUubWF0Y2goIl4oLiopIFwoLipcKSQiLCBkZXApCisgICAgICAgICAgICAgICAgbV9kZXAgPSByZS5tYXRjaChyIl4oLiopIFwoLipcKSQiLCBkZXApCiAgICAgICAgICAgICAgICAgaWYgbV9kZXA6CiAgICAgICAgICAgICAgICAgICAgIGRlcCA9IG1fZGVwLmdyb3VwKDEpCiAgICAgICAgICAgICAgICAgcGtnX2RlcGVuZHNfbGlzdC5hcHBlbmQoZGVwKQpAQCAtNTE1LDIxICs1MTUsMzMgQEAKICAgICAgICAgICAgIGRhdGEgPSBzdGF0dXMucmVhZCgpCiAgICAgICAgICAgICBzdGF0dXMuY2xvc2UoKQogICAgICAgICAgICAgZm9yIGxpbmUgaW4gZGF0YS5zcGxpdCgnXG4nKToKLSAgICAgICAgICAgICAgICBtX3BrZyA9IHJlLm1hdGNoKCJeUGFja2FnZTogKC4qKSIsIGxpbmUpCi0gICAgICAgICAgICAgICAgbV9zdGF0dXMgPSByZS5tYXRjaCgiXlN0YXR1czouKnVucGFja2VkIiwgbGluZSkKLSAgICAgICAgICAgICAgICBtX2RlcGVuZHMgPSByZS5tYXRjaCgiXkRlcGVuZHM6ICguKikiLCBsaW5lKQorICAgICAgICAgICAgICAgIG1fcGtnID0gcmUubWF0Y2gociJeUGFja2FnZTogKC4qKSIsIGxpbmUpCisgICAgICAgICAgICAgICAgbV9zdGF0dXMgPSByZS5tYXRjaChyIl5TdGF0dXM6Lip1bnBhY2tlZCIsIGxpbmUpCisgICAgICAgICAgICAgICAgbV9kZXBlbmRzID0gcmUubWF0Y2gociJeRGVwZW5kczogKC4qKSIsIGxpbmUpCiAKKyAgICAgICAgICAgICAgICAjT25seSBvbmUgb2YgbV9wa2csIG1fc3RhdHVzIG9yIG1fZGVwZW5kcyBpcyBub3QgTm9uZSBhdCB0aW1lCisgICAgICAgICAgICAgICAgI0lmIG1fcGtnIGlzIG5vdCBOb25lLCB3ZSBzdGFydGVkIGEgbmV3IHBhY2thZ2UKICAgICAgICAgICAgICAgICBpZiBtX3BrZyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgaWYgcGtnX25hbWUgYW5kIHBrZ19zdGF0dXNfbWF0Y2g6Ci0gICAgICAgICAgICAgICAgICAgICAgICBwa2dzW3BrZ19uYW1lXSA9IF9nZXRfcGtnX2RlcGVuZHNfbGlzdChwa2dfZGVwZW5kcykKLQorICAgICAgICAgICAgICAgICAgICAjR2V0IFBhY2thZ2UgbmFtZQogICAgICAgICAgICAgICAgICAgICBwa2dfbmFtZSA9IG1fcGtnLmdyb3VwKDEpCisgICAgICAgICAgICAgICAgICAgICNNYWtlIHN1cmUgd2UgcmVzZXQgb3RoZXIgdmFyaWFibGVzCiAgICAgICAgICAgICAgICAgICAgIHBrZ19zdGF0dXNfbWF0Y2ggPSBGYWxzZQogICAgICAgICAgICAgICAgICAgICBwa2dfZGVwZW5kcyA9ICIiCiAgICAgICAgICAgICAgICAgZWxpZiBtX3N0YXR1cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgI05ldyBzdGF0dXMgbWF0Y2hlZAogICAgICAgICAgICAgICAgICAgICBwa2dfc3RhdHVzX21hdGNoID0gVHJ1ZQogICAgICAgICAgICAgICAgIGVsaWYgbV9kZXBlbmRzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAjTmV3IGRlcGVuZHMgbWFjdGhlZAogICAgICAgICAgICAgICAgICAgICBwa2dfZGVwZW5kcyA9IG1fZGVwZW5kcy5ncm91cCgxKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICAgICAgICAgICNOb3cgY2hlY2sgaWYgd2UgY2FuIHByb2Nlc3MgcGFja2FnZSBkZXBlbmRzIGFuZCBwb3N0aW5zdAorICAgICAgICAgICAgICAgIGlmICIiICE9IHBrZ19uYW1lIGFuZCBwa2dfc3RhdHVzX21hdGNoOgorICAgICAgICAgICAgICAgICAgICBwa2dzW3BrZ19uYW1lXSA9IF9nZXRfcGtnX2RlcGVuZHNfbGlzdChwa2dfZGVwZW5kcykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjTm90IGVub3VnaCBpbmZvcm1hdGlvbgorICAgICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgIyByZW1vdmUgcGFja2FnZSBkZXBlbmRlbmNpZXMgbm90IGluIHBvc3RpbnN0cwogICAgICAgICBwa2dfbmFtZXMgPSBsaXN0KHBrZ3Mua2V5cygpKQpAQCAtNzM1LDE1ICs3NDcsMTYgQEAKICAgICAgICAgaWYgZmlsZWNtcC5jbXAoZjEsIGYyKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYxOgotICAgICAgICAgICAgc2VsZi5fcHJlbGlua19maWxlKGYxLnJlcGxhY2Uoa2V5LCAnJyksIGYxKQorICAgICAgICBpZiBiYi5kYXRhLmluaGVyaXRzX2NsYXNzKCdpbWFnZS1wcmVsaW5rJywgc2VsZi5kKToKKyAgICAgICAgICAgIGlmIHNlbGYuaW1hZ2Vfcm9vdGZzIG5vdCBpbiBmMToKKyAgICAgICAgICAgICAgICBzZWxmLl9wcmVsaW5rX2ZpbGUoZjEucmVwbGFjZShrZXksICcnKSwgZjEpCiAKLSAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYyOgotICAgICAgICAgICAgc2VsZi5fcHJlbGlua19maWxlKGYyLnJlcGxhY2Uoa2V5LCAnJyksIGYyKQorICAgICAgICAgICAgaWYgc2VsZi5pbWFnZV9yb290ZnMgbm90IGluIGYyOgorICAgICAgICAgICAgICAgIHNlbGYuX3ByZWxpbmtfZmlsZShmMi5yZXBsYWNlKGtleSwgJycpLCBmMikKIAotICAgICAgICAjIEJvdGggb2YgdGhlbSBhcmUgcHJlbGlua2VkCi0gICAgICAgIGlmIGZpbGVjbXAuY21wKGYxLCBmMik6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgIyBCb3RoIG9mIHRoZW0gYXJlIHByZWxpbmtlZAorICAgICAgICAgICAgaWYgZmlsZWNtcC5jbXAoZjEsIGYyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgICAgICMgTm90IGVxdWFsCiAgICAgICAgIHJldHVybiBGYWxzZQpAQCAtNzU5LDcgKzc3Miw3IEBACiAgICAgICAgIGlmIGFsbG93X3JlcGxhY2UgaXMgTm9uZToKICAgICAgICAgICAgIGFsbG93X3JlcGxhY2UgPSAiIgogCi0gICAgICAgIGFsbG93X3JlcCA9IHJlLmNvbXBpbGUocmUuc3ViKCJcfCQiLCAiIiwgYWxsb3dfcmVwbGFjZSkpCisgICAgICAgIGFsbG93X3JlcCA9IHJlLmNvbXBpbGUocmUuc3ViKHIiXHwkIiwgciIiLCBhbGxvd19yZXBsYWNlKSkKICAgICAgICAgZXJyb3JfcHJvbXB0ID0gIk11bHRpbGliIGNoZWNrIGVycm9yOiIKIAogICAgICAgICBmaWxlcyA9IHt9CkBAIC04NzksOCArODkyLDYgQEAKIAogICAgICAgICBzZWxmLnBtLnVwZGF0ZSgpCiAKLSAgICAgICAgc2VsZi5wbS5oYW5kbGVfYmFkX3JlY29tbWVuZGF0aW9ucygpCi0KICAgICAgICAgaWYgc2VsZi5wcm9ncmVzc19yZXBvcnRlcjoKICAgICAgICAgICAgIHNlbGYucHJvZ3Jlc3NfcmVwb3J0ZXIubmV4dF9zdGFnZSgpCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2Uvc2RrLnB5IGIvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKaW5kZXggMTUzYjA3ZC4uODc4ZWUxNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS9zZGsucHkKQEAgLTk1LDggKzk1LDggQEAKICAgICAgICAgICAgIGlmIGxpbmd1YXMgPT0gImFsbCI6CiAgICAgICAgICAgICAgICAgcG0uaW5zdGFsbF9nbG9iKCJuYXRpdmVzZGstZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtKi51dGYtOCIsIHNkaz1UcnVlKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmb3IgbGFuZyBpbiBsaW5ndWFzLnNwbGl0KCk6Ci0gICAgICAgICAgICAgICAgICAgIHBtLmluc3RhbGwoIm5hdGl2ZXNkay1nbGliYy1iaW5hcnktbG9jYWxlZGF0YS0lcy51dGYtOCIgJSBsYW5nKQorICAgICAgICAgICAgICAgIHBtLmluc3RhbGwoWyJuYXRpdmVzZGstZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtJXMudXRmLTgiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZyBmb3IgbGFuZyBpbiBsaW5ndWFzLnNwbGl0KCldKQogICAgICAgICAgICAgIyBHZW5lcmF0ZSBhIGxvY2FsZSBhcmNoaXZlIG9mIHRoZW0KICAgICAgICAgICAgIHRhcmdldF9hcmNoID0gc2VsZi5kLmdldFZhcignU0RLX0FSQ0gnKQogICAgICAgICAgICAgcm9vdGZzID0gb2UucGF0aC5qb2luKHNlbGYuc2RrX2hvc3Rfc3lzcm9vdCwgc2VsZi5zZGtfbmF0aXZlX3BhdGgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3NzdGF0ZXNpZy5weSBiL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CmluZGV4IDE4YzVhMzUuLmE4M2FmNTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2Uvc3N0YXRlc2lnLnB5CkBAIC0yNjMsMTAgKzI2MywxODEgQEAKICAgICAgICAgaWYgZXJyb3JfbXNnczoKICAgICAgICAgICAgIGJiLmZhdGFsKCJcbiIuam9pbihlcnJvcl9tc2dzKSkKIAorY2xhc3MgU2lnbmF0dXJlR2VuZXJhdG9yT0VFcXVpdkhhc2goU2lnbmF0dXJlR2VuZXJhdG9yT0VCYXNpY0hhc2gpOgorICAgIG5hbWUgPSAiT0VFcXVpdkhhc2giCisKKyAgICBkZWYgaW5pdF9ydW5kZXBjaGVjayhzZWxmLCBkYXRhKToKKyAgICAgICAgc3VwZXIoKS5pbml0X3J1bmRlcGNoZWNrKGRhdGEpCisgICAgICAgIHNlbGYuc2VydmVyID0gZGF0YS5nZXRWYXIoJ1NTVEFURV9IQVNIRVFVSVZfU0VSVkVSJykKKyAgICAgICAgc2VsZi5tZXRob2QgPSBkYXRhLmdldFZhcignU1NUQVRFX0hBU0hFUVVJVl9NRVRIT0QnKQorICAgICAgICBzZWxmLnVuaWhhc2hlcyA9IGJiLnBlcnNpc3RfZGF0YS5wZXJzaXN0KCdTU1RBVEVTSUdfVU5JSEFTSF9DQUNIRV92MV8nICsgc2VsZi5tZXRob2QucmVwbGFjZSgnLicsICdfJyksIGRhdGEpCisKKyAgICBkZWYgZ2V0X3Rhc2tkYXRhKHNlbGYpOgorICAgICAgICByZXR1cm4gKHNlbGYuc2VydmVyLCBzZWxmLm1ldGhvZCkgKyBzdXBlcigpLmdldF90YXNrZGF0YSgpCisKKyAgICBkZWYgc2V0X3Rhc2tkYXRhKHNlbGYsIGRhdGEpOgorICAgICAgICBzZWxmLnNlcnZlciwgc2VsZi5tZXRob2QgPSBkYXRhWzoyXQorICAgICAgICBzdXBlcigpLnNldF90YXNrZGF0YShkYXRhWzI6XSkKKworICAgIGRlZiBfX2dldF90YXNrX3VuaWhhc2hfa2V5KHNlbGYsIHRhc2spOgorICAgICAgICAjIFRPRE86IFRoZSBrZXkgb25seSAqbmVlZHMqIHRvIGJlIHRoZSB0YXNraGFzaCwgdGhlIHRhc2sgaXMganVzdAorICAgICAgICAjIGNvbnZlbmllbnQKKyAgICAgICAgcmV0dXJuICclczolcycgJSAodGFzaywgc2VsZi50YXNraGFzaFt0YXNrXSkKKworICAgIGRlZiBnZXRfc3RhbXBmaWxlX2hhc2goc2VsZiwgdGFzayk6CisgICAgICAgIGlmIHRhc2sgaW4gc2VsZi50YXNraGFzaDoKKyAgICAgICAgICAgICMgSWYgYSB1bmlxdWUgaGFzaCBpcyByZXBvcnRlZCwgdXNlIGl0IGFzIHRoZSBzdGFtcGZpbGUgaGFzaC4gVGhpcworICAgICAgICAgICAgIyBlbnN1cmVzIHRoYXQgaWYgYSB0YXNrIHdvbid0IGJlIHJlLXJ1biBpZiB0aGUgdGFza2hhc2ggY2hhbmdlcywKKyAgICAgICAgICAgICMgYnV0IGl0IHdvdWxkIHJlc3VsdCBpbiB0aGUgc2FtZSBvdXRwdXQgaGFzaAorICAgICAgICAgICAgdW5paGFzaCA9IHNlbGYudW5paGFzaGVzLmdldChzZWxmLl9fZ2V0X3Rhc2tfdW5paGFzaF9rZXkodGFzaykpCisgICAgICAgICAgICBpZiB1bmloYXNoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJldHVybiB1bmloYXNoCisKKyAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X3N0YW1wZmlsZV9oYXNoKHRhc2spCisKKyAgICBkZWYgZ2V0X3VuaWhhc2goc2VsZiwgdGFzayk6CisgICAgICAgIGltcG9ydCB1cmxsaWIKKyAgICAgICAgaW1wb3J0IGpzb24KKworICAgICAgICB0YXNraGFzaCA9IHNlbGYudGFza2hhc2hbdGFza10KKworICAgICAgICBrZXkgPSBzZWxmLl9fZ2V0X3Rhc2tfdW5paGFzaF9rZXkodGFzaykKKworICAgICAgICAjIFRPRE86IFRoaXMgY2FjaGUgY2FuIGdyb3cgdW5ib3VuZGVkLiBJdCBwcm9iYWJseSBvbmx5IG5lZWRzIHRvIGtlZXAKKyAgICAgICAgIyBmb3IgZWFjaCB0YXNrCisgICAgICAgIHVuaWhhc2ggPSBzZWxmLnVuaWhhc2hlcy5nZXQoa2V5KQorICAgICAgICBpZiB1bmloYXNoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHVuaWhhc2gKKworICAgICAgICAjIEluIHRoZSBhYnNlbmNlIG9mIGJlaW5nIGFibGUgdG8gZGlzY292ZXIgYSB1bmlxdWUgaGFzaCBmcm9tIHRoZQorICAgICAgICAjIHNlcnZlciwgbWFrZSBpdCBiZSBlcXVpdmFsZW50IHRvIHRoZSB0YXNraGFzaC4gVGhlIHVuaXF1ZSAiaGFzaCIgb25seQorICAgICAgICAjIHJlYWxseSBuZWVkcyB0byBiZSBhIHVuaXF1ZSBzdHJpbmcgKG5vdCBldmVuIG5lY2Vzc2FyaWx5IGEgaGFzaCksIGJ1dAorICAgICAgICAjIG1ha2luZyBpdCBtYXRjaCB0aGUgdGFza2hhc2ggaGFzIGEgZmV3IGFkdmFudGFnZXM6CisgICAgICAgICMKKyAgICAgICAgIyAxKSBBbGwgb2YgdGhlIHNzdGF0ZSBjb2RlIHRoYXQgYXNzdW1lcyBoYXNoZXMgY2FuIGJlIHRoZSBzYW1lCisgICAgICAgICMgMikgSXQgcHJvdmlkZXMgbWF4aW1hbCBjb21wYXRpYmlsaXR5IHdpdGggYnVpbGRlcnMgdGhhdCBkb24ndCB1c2UKKyAgICAgICAgIyAgICBhbiBlcXVpdmFsZW5jeSBzZXJ2ZXIKKyAgICAgICAgIyAzKSBUaGUgdmFsdWUgaXMgZWFzeSBmb3IgbXVsdGlwbGUgaW5kZXBlbmRlbnQgYnVpbGRlcnMgdG8gZGVyaXZlIHRoZQorICAgICAgICAjICAgIHNhbWUgdW5pcXVlIGhhc2ggZnJvbSB0aGUgc2FtZSBpbnB1dC4gVGhpcyBtZWFucyB0aGF0IGlmIHRoZQorICAgICAgICAjICAgIGluZGVwZW5kZW50IGJ1aWxkZXJzIGZpbmQgdGhlIHNhbWUgdGFza2hhc2gsIGJ1dCBpdCBpc24ndCByZXBvcnRlZAorICAgICAgICAjICAgIHRvIHRoZSBzZXJ2ZXIsIHRoZXJlIGlzIGEgYmV0dGVyIGNoYW5jZSB0aGF0IHRoZXkgd2lsbCBhZ3JlZSBvbgorICAgICAgICAjICAgIHRoZSB1bmlxdWUgaGFzaC4KKyAgICAgICAgdW5paGFzaCA9IHRhc2toYXNoCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdXJsID0gJyVzL3YxL2VxdWl2YWxlbnQ/JXMnICUgKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICB1cmxsaWIucGFyc2UudXJsZW5jb2RlKHsnbWV0aG9kJzogc2VsZi5tZXRob2QsICd0YXNraGFzaCc6IHNlbGYudGFza2hhc2hbdGFza119KSkKKworICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsKQorICAgICAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgICAgICBkYXRhID0gcmVzcG9uc2UucmVhZCgpLmRlY29kZSgndXRmLTgnKQorCisgICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWRzKGRhdGEpCisKKyAgICAgICAgICAgIGlmIGpzb25fZGF0YToKKyAgICAgICAgICAgICAgICB1bmloYXNoID0ganNvbl9kYXRhWyd1bmloYXNoJ10KKyAgICAgICAgICAgICAgICAjIEEgdW5pcXVlIGhhc2ggZXF1YWwgdG8gdGhlIHRhc2toYXNoIGlzIG5vdCB2ZXJ5IGludGVyZXN0aW5nLAorICAgICAgICAgICAgICAgICMgc28gaXQgaXMgcmVwb3J0ZWQgaXQgYXQgZGVidWcgbGV2ZWwgMi4gSWYgdGhleSBkaWZmZXIsIHRoYXQKKyAgICAgICAgICAgICAgICAjIGlzIG11Y2ggbW9yZSBpbnRlcmVzdGluZywgc28gaXQgaXMgcmVwb3J0ZWQgYXQgZGVidWcgbGV2ZWwgMQorICAgICAgICAgICAgICAgIGJiLmRlYnVnKCgxLCAyKVt1bmloYXNoID09IHRhc2toYXNoXSwgJ0ZvdW5kIHVuaWhhc2ggJXMgaW4gcGxhY2Ugb2YgJXMgZm9yICVzIGZyb20gJXMnICUgKHVuaWhhc2gsIHRhc2toYXNoLCB0YXNrLCBzZWxmLnNlcnZlcikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJiLmRlYnVnKDIsICdObyByZXBvcnRlZCB1bmloYXNoIGZvciAlczolcyBmcm9tICVzJyAlICh0YXNrLCB0YXNraGFzaCwgc2VsZi5zZXJ2ZXIpKQorICAgICAgICBleGNlcHQgdXJsbGliLmVycm9yLlVSTEVycm9yIGFzIGU6CisgICAgICAgICAgICBiYi53YXJuKCdGYWlsdXJlIGNvbnRhY3RpbmcgSGFzaCBFcXVpdmFsZW5jZSBTZXJ2ZXIgJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKyAgICAgICAgZXhjZXB0IChLZXlFcnJvciwganNvbi5KU09ORGVjb2RlRXJyb3IpIGFzIGU6CisgICAgICAgICAgICBiYi53YXJuKCdQb29ybHkgZm9ybWF0dGVkIHJlc3BvbnNlIGZyb20gJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKworICAgICAgICBzZWxmLnVuaWhhc2hlc1trZXldID0gdW5paGFzaAorICAgICAgICByZXR1cm4gdW5paGFzaAorCisgICAgZGVmIHJlcG9ydF91bmloYXNoKHNlbGYsIHBhdGgsIHRhc2ssIGQpOgorICAgICAgICBpbXBvcnQgdXJsbGliCisgICAgICAgIGltcG9ydCBqc29uCisgICAgICAgIGltcG9ydCB0ZW1wZmlsZQorICAgICAgICBpbXBvcnQgYmFzZTY0CisgICAgICAgIGltcG9ydCBpbXBvcnRsaWIKKworICAgICAgICB0YXNraGFzaCA9IGQuZ2V0VmFyKCdCQl9UQVNLSEFTSCcpCisgICAgICAgIHVuaWhhc2ggPSBkLmdldFZhcignQkJfVU5JSEFTSCcpCisgICAgICAgIHJlcG9ydF90YXNrZGF0YSA9IGQuZ2V0VmFyKCdTU1RBVEVfSEFTSEVRVUlWX1JFUE9SVF9UQVNLREFUQScpID09ICcxJworICAgICAgICB0ZW1wZGlyID0gZC5nZXRWYXIoJ1QnKQorICAgICAgICBmbiA9IGQuZ2V0VmFyKCdCQl9GSUxFTkFNRScpCisgICAgICAgIGtleSA9IGZuICsgJy5kb18nICsgdGFzayArICc6JyArIHRhc2toYXNoCisKKyAgICAgICAgIyBTYW5pdHkgY2hlY2tzCisgICAgICAgIGNhY2hlX3VuaWhhc2ggPSBzZWxmLnVuaWhhc2hlcy5nZXQoa2V5KQorICAgICAgICBpZiBjYWNoZV91bmloYXNoIGlzIE5vbmU6CisgICAgICAgICAgICBiYi5mYXRhbCgnJXMgbm90IGluIHVuaWhhc2ggY2FjaGUuIFBsZWFzZSByZXBvcnQgdGhpcyBlcnJvcicgJSBrZXkpCisKKyAgICAgICAgaWYgY2FjaGVfdW5paGFzaCAhPSB1bmloYXNoOgorICAgICAgICAgICAgYmIuZmF0YWwoIkNhY2hlIHVuaWhhc2ggJXMgZG9lc24ndCBtYXRjaCBCQl9VTklIQVNIICVzIiAlIChjYWNoZV91bmloYXNoLCB1bmloYXNoKSkKKworICAgICAgICBzaWdmaWxlID0gTm9uZQorICAgICAgICBzaWdmaWxlX25hbWUgPSAiZGVwc2lnLmRvXyVzLiVkIiAlICh0YXNrLCBvcy5nZXRwaWQoKSkKKyAgICAgICAgc2lnZmlsZV9saW5rID0gImRlcHNpZy5kb18lcyIgJSB0YXNrCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2lnZmlsZSA9IG9wZW4ob3MucGF0aC5qb2luKHRlbXBkaXIsIHNpZ2ZpbGVfbmFtZSksICd3K2InKQorCisgICAgICAgICAgICBsb2NzID0geydwYXRoJzogcGF0aCwgJ3NpZ2ZpbGUnOiBzaWdmaWxlLCAndGFzayc6IHRhc2ssICdkJzogZH0KKworICAgICAgICAgICAgKG1vZHVsZSwgbWV0aG9kKSA9IHNlbGYubWV0aG9kLnJzcGxpdCgnLicsIDEpCisgICAgICAgICAgICBsb2NzWydtZXRob2QnXSA9IGdldGF0dHIoaW1wb3J0bGliLmltcG9ydF9tb2R1bGUobW9kdWxlKSwgbWV0aG9kKQorCisgICAgICAgICAgICBvdXRoYXNoID0gYmIudXRpbHMuYmV0dGVyX2V2YWwoJ21ldGhvZChwYXRoLCBzaWdmaWxlLCB0YXNrLCBkKScsIGxvY3MpCisKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB1cmwgPSAnJXMvdjEvZXF1aXZhbGVudCcgJSBzZWxmLnNlcnZlcgorICAgICAgICAgICAgICAgIHRhc2tfZGF0YSA9IHsKKyAgICAgICAgICAgICAgICAgICAgJ3Rhc2toYXNoJzogdGFza2hhc2gsCisgICAgICAgICAgICAgICAgICAgICdtZXRob2QnOiBzZWxmLm1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgJ291dGhhc2gnOiBvdXRoYXNoLAorICAgICAgICAgICAgICAgICAgICAndW5paGFzaCc6IHVuaWhhc2gsCisgICAgICAgICAgICAgICAgICAgICdvd25lcic6IGQuZ2V0VmFyKCdTU1RBVEVfSEFTSEVRVUlWX09XTkVSJykKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgcmVwb3J0X3Rhc2tkYXRhOgorICAgICAgICAgICAgICAgICAgICBzaWdmaWxlLnNlZWsoMCkKKworICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BOJ10gPSBkLmdldFZhcignUE4nKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BWJ10gPSBkLmdldFZhcignUFYnKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ1BSJ10gPSBkLmdldFZhcignUFInKQorICAgICAgICAgICAgICAgICAgICB0YXNrX2RhdGFbJ3Rhc2snXSA9IHRhc2sKKyAgICAgICAgICAgICAgICAgICAgdGFza19kYXRhWydvdXRoYXNoX3NpZ2luZm8nXSA9IHNpZ2ZpbGUucmVhZCgpLmRlY29kZSgndXRmLTgnKQorCisgICAgICAgICAgICAgICAgaGVhZGVycyA9IHsnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nfQorCisgICAgICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsLCBqc29uLmR1bXBzKHRhc2tfZGF0YSkuZW5jb2RlKCd1dGYtOCcpLCBoZWFkZXJzKQorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICAgICAgICAgIGRhdGEgPSByZXNwb25zZS5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpCisKKyAgICAgICAgICAgICAgICBqc29uX2RhdGEgPSBqc29uLmxvYWRzKGRhdGEpCisgICAgICAgICAgICAgICAgbmV3X3VuaWhhc2ggPSBqc29uX2RhdGFbJ3VuaWhhc2gnXQorCisgICAgICAgICAgICAgICAgaWYgbmV3X3VuaWhhc2ggIT0gdW5paGFzaDoKKyAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMSwgJ1Rhc2sgJXMgdW5paGFzaCBjaGFuZ2VkICVzIC0+ICVzIGJ5IHNlcnZlciAlcycgJSAodGFza2hhc2gsIHVuaWhhc2gsIG5ld191bmloYXNoLCBzZWxmLnNlcnZlcikpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYmIuZGVidWcoMSwgJ1JlcG9ydGVkIHRhc2sgJXMgYXMgdW5paGFzaCAlcyB0byAlcycgJSAodGFza2hhc2gsIHVuaWhhc2gsIHNlbGYuc2VydmVyKSkKKyAgICAgICAgICAgIGV4Y2VwdCB1cmxsaWIuZXJyb3IuVVJMRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBiYi53YXJuKCdGYWlsdXJlIGNvbnRhY3RpbmcgSGFzaCBFcXVpdmFsZW5jZSBTZXJ2ZXIgJXM6ICVzJyAlIChzZWxmLnNlcnZlciwgc3RyKGUpKSkKKyAgICAgICAgICAgIGV4Y2VwdCAoS2V5RXJyb3IsIGpzb24uSlNPTkRlY29kZUVycm9yKSBhcyBlOgorICAgICAgICAgICAgICAgIGJiLndhcm4oJ1Bvb3JseSBmb3JtYXR0ZWQgcmVzcG9uc2UgZnJvbSAlczogJXMnICUgKHNlbGYuc2VydmVyLCBzdHIoZSkpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaWYgc2lnZmlsZToKKyAgICAgICAgICAgICAgICBzaWdmaWxlLmNsb3NlKCkKKworICAgICAgICAgICAgICAgIHNpZ2ZpbGVfbGlua19wYXRoID0gb3MucGF0aC5qb2luKHRlbXBkaXIsIHNpZ2ZpbGVfbGluaykKKyAgICAgICAgICAgICAgICBiYi51dGlscy5yZW1vdmUoc2lnZmlsZV9saW5rX3BhdGgpCisKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc2lnZmlsZV9uYW1lLCBzaWdmaWxlX2xpbmtfcGF0aCkKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcGFzcwogCiAjIEluc2VydCB0aGVzZSBjbGFzc2VzIGludG8gc2lnZ2VuJ3MgbmFtZXNwYWNlIHNvIGl0IGNhbiBzZWUgYW5kIHNlbGVjdCB0aGVtCiBiYi5zaWdnZW4uU2lnbmF0dXJlR2VuZXJhdG9yT0VCYXNpYyA9IFNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWMKIGJiLnNpZ2dlbi5TaWduYXR1cmVHZW5lcmF0b3JPRUJhc2ljSGFzaCA9IFNpZ25hdHVyZUdlbmVyYXRvck9FQmFzaWNIYXNoCitiYi5zaWdnZW4uU2lnbmF0dXJlR2VuZXJhdG9yT0VFcXVpdkhhc2ggPSBTaWduYXR1cmVHZW5lcmF0b3JPRUVxdWl2SGFzaAogCiAKIGRlZiBmaW5kX3NpZ2luZm8ocG4sIHRhc2tuYW1lLCB0YXNraGFzaGxpc3QsIGQpOgpAQCAtMzI3LDcgKzQ5OCw3IEBACiAKICAgICBpZiBub3QgdGFza2hhc2hsaXN0IG9yIChsZW4oZmlsZWRhdGVzKSA8IDIgYW5kIG5vdCBmb3VuZGFsbCk6CiAgICAgICAgICMgVGhhdCBkaWRuJ3Qgd29yaywgbG9vayBpbiBzc3RhdGUtY2FjaGUKLSAgICAgICAgaGFzaGVzID0gdGFza2hhc2hsaXN0IG9yIFsnPycgKiAzMl0KKyAgICAgICAgaGFzaGVzID0gdGFza2hhc2hsaXN0IG9yIFsnPycgKiA2NF0KICAgICAgICAgbG9jYWxkYXRhID0gYmIuZGF0YS5jcmVhdGVDb3B5KGQpCiAgICAgICAgIGZvciBoYXNodmFsIGluIGhhc2hlczoKICAgICAgICAgICAgIGxvY2FsZGF0YS5zZXRWYXIoJ1BBQ0tBR0VfQVJDSCcsICcqJykKQEAgLTQxNCw0ICs1ODUsMTMzIEBACiAgICAgYmIud2FybigiTWFuaWZlc3QgJXMgbm90IGZvdW5kIGluICVzICh2YXJpYW50ICclcycpPyIgJSAobWFuaWZlc3QsIGQyLmV4cGFuZCgiICIuam9pbihwa2dhcmNocykpLCB2YXJpYW50KSkKICAgICByZXR1cm4gTm9uZSwgZDIKIAorZGVmIE9FT3V0aGFzaEJhc2ljKHBhdGgsIHNpZ2ZpbGUsIHRhc2ssIGQpOgorICAgICIiIgorICAgIEJhc2ljIG91dHB1dCBoYXNoIGZ1bmN0aW9uCisKKyAgICBDYWxjdWxhdGVzIHRoZSBvdXRwdXQgaGFzaCBvZiBhIHRhc2sgYnkgaGFzaGluZyBhbGwgb3V0cHV0IGZpbGUgbWV0YWRhdGEsCisgICAgYW5kIGZpbGUgY29udGVudHMuCisgICAgIiIiCisgICAgaW1wb3J0IGhhc2hsaWIKKyAgICBpbXBvcnQgc3RhdAorICAgIGltcG9ydCBwd2QKKyAgICBpbXBvcnQgZ3JwCisKKyAgICBkZWYgdXBkYXRlX2hhc2gocyk6CisgICAgICAgIHMgPSBzLmVuY29kZSgndXRmLTgnKQorICAgICAgICBoLnVwZGF0ZShzKQorICAgICAgICBpZiBzaWdmaWxlOgorICAgICAgICAgICAgc2lnZmlsZS53cml0ZShzKQorCisgICAgaCA9IGhhc2hsaWIuc2hhMjU2KCkKKyAgICBwcmV2X2RpciA9IG9zLmdldGN3ZCgpCisgICAgaW5jbHVkZV9vd25lcnMgPSBvcy5lbnZpcm9uLmdldCgnUFNFVURPX0RJU0FCTEVEJykgPT0gJzAnCisKKyAgICB0cnk6CisgICAgICAgIG9zLmNoZGlyKHBhdGgpCisKKyAgICAgICAgdXBkYXRlX2hhc2goIk9FT3V0aGFzaEJhc2ljXG4iKQorCisgICAgICAgICMgSXQgaXMgb25seSBjdXJyZW50bHkgdXNlZnVsIHRvIGdldCBlcXVpdmFsZW50IGhhc2hlcyBmb3IgdGhpbmdzIHRoYXQKKyAgICAgICAgIyBjYW4gYmUgcmVzdG9yZWQgZnJvbSBzc3RhdGUuIFNpbmNlIHRoZSBzc3RhdGUgb2JqZWN0IGlzIG5hbWVkIHVzaW5nCisgICAgICAgICMgU1NUQVRFX1BLR1NQRUMgYW5kIHRoZSB0YXNrIG5hbWUsIHRob3NlIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUKKyAgICAgICAgIyBvdXRwdXQgaGFzaCBjYWxjdWxhdGlvbi4KKyAgICAgICAgdXBkYXRlX2hhc2goIlNTVEFURV9QS0dTUEVDPSVzXG4iICUgZC5nZXRWYXIoJ1NTVEFURV9QS0dTUEVDJykpCisgICAgICAgIHVwZGF0ZV9oYXNoKCJ0YXNrPSVzXG4iICUgdGFzaykKKworICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsaygnLicsIHRvcGRvd249VHJ1ZSk6CisgICAgICAgICAgICAjIFNvcnQgZGlyZWN0b3JpZXMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgb3JkZXJpbmcgd2hlbiByZWN1cnNpbmcKKyAgICAgICAgICAgIGRpcnMuc29ydCgpCisgICAgICAgICAgICBmaWxlcy5zb3J0KCkKKworICAgICAgICAgICAgZGVmIHByb2Nlc3MocGF0aCk6CisgICAgICAgICAgICAgICAgcyA9IG9zLmxzdGF0KHBhdGgpCisKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNESVIocy5zdF9tb2RlKToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goJ2QnKQorICAgICAgICAgICAgICAgIGVsaWYgc3RhdC5TX0lTQ0hSKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdjJykKKyAgICAgICAgICAgICAgICBlbGlmIHN0YXQuU19JU0JMSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnYicpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNTT0NLKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdzJykKKyAgICAgICAgICAgICAgICBlbGlmIHN0YXQuU19JU0xOSyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnbCcpCisgICAgICAgICAgICAgICAgZWxpZiBzdGF0LlNfSVNGSUZPKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCdwJykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgnLScpCisKKyAgICAgICAgICAgICAgICBkZWYgYWRkX3Blcm0obWFzaywgb24sIG9mZj0nLScpOgorICAgICAgICAgICAgICAgICAgICBpZiBtYXNrICYgcy5zdF9tb2RlOgorICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2gob24pCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaChvZmYpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJVU1IsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdVU1IsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNVSUQgJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWFVTUiwgJ3MnLCAnUycpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lYVVNSLCAneCcpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJHUlAsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdHUlAsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNHSUQgJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIGFkZF9wZXJtKHN0YXQuU19JWEdSUCwgJ3MnLCAnUycpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgYWRkX3Blcm0oc3RhdC5TX0lYR1JQLCAneCcpCisKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVJPVEgsICdyJykKKyAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVdPVEgsICd3JykKKyAgICAgICAgICAgICAgICBpZiBzdGF0LlNfSVNWVFggJiBzLnN0X21vZGU6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCd0JykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBhZGRfcGVybShzdGF0LlNfSVhPVEgsICd4JykKKworICAgICAgICAgICAgICAgIGlmIGluY2x1ZGVfb3duZXJzOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICUxMHMiICUgcHdkLmdldHB3dWlkKHMuc3RfdWlkKS5wd19uYW1lKQorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICUxMHMiICUgZ3JwLmdldGdyZ2lkKHMuc3RfZ2lkKS5ncl9uYW1lKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiKQorICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU0JMSyhzLnN0X21vZGUpIG9yIHN0YXQuU19JU0NIUihzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiJTlzIiAlICgiJWQuJWQiICUgKG9zLm1ham9yKHMuc3RfcmRldiksIG9zLm1pbm9yKHMuc3RfcmRldikpKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIgKiA5KQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiKQorICAgICAgICAgICAgICAgIGlmIHN0YXQuU19JU1JFRyhzLnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiJTEwZCIgJSBzLnN0X3NpemUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAiICogMTApCisKKyAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIpCisgICAgICAgICAgICAgICAgZmggPSBoYXNobGliLnNoYTI1NigpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTUkVHKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgICMgSGFzaCBmaWxlIGNvbnRlbnRzCisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAncmInKSBhcyBkOgorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNodW5rIGluIGl0ZXIobGFtYmRhOiBkLnJlYWQoNDA5NiksIGIiIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmgudXBkYXRlKGNodW5rKQorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaChmaC5oZXhkaWdlc3QoKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiICIgKiBsZW4oZmguaGV4ZGlnZXN0KCkpKQorCisgICAgICAgICAgICAgICAgdXBkYXRlX2hhc2goIiAlcyIgJSBwYXRoKQorCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTTE5LKHMuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgICAgIHVwZGF0ZV9oYXNoKCIgLT4gJXMiICUgb3MucmVhZGxpbmsocGF0aCkpCisKKyAgICAgICAgICAgICAgICB1cGRhdGVfaGFzaCgiXG4iKQorCisgICAgICAgICAgICAjIFByb2Nlc3MgdGhpcyBkaXJlY3RvcnkgYW5kIGFsbCBpdHMgY2hpbGQgZmlsZXMKKyAgICAgICAgICAgIHByb2Nlc3Mocm9vdCkKKyAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICAgICAgICAgIGlmIGYgPT0gJ2ZpeG1lcGF0aCc6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcHJvY2Vzcyhvcy5wYXRoLmpvaW4ocm9vdCwgZikpCisgICAgZmluYWxseToKKyAgICAgICAgb3MuY2hkaXIocHJldl9kaXIpCisKKyAgICByZXR1cm4gaC5oZXhkaWdlc3QoKQorCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2UvdGVybWluYWwucHkgYi9wb2t5L21ldGEvbGliL29lL3Rlcm1pbmFsLnB5CmluZGV4IGNhZWI1ZTMuLmU0MDQ1NTUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2UvdGVybWluYWwucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZS90ZXJtaW5hbC5weQpAQCAtMzksNyArMzksNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlCiAKICAgICBkZWYgZm9ybWF0X2NvbW1hbmQoc2VsZiwgc2hfY21kLCB0aXRsZSk6Ci0gICAgICAgIGZtdCA9IHsndGl0bGUnOiB0aXRsZSBvciAnVGVybWluYWwnLCAnY29tbWFuZCc6IHNoX2NtZH0KKyAgICAgICAgZm10ID0geyd0aXRsZSc6IHRpdGxlIG9yICdUZXJtaW5hbCcsICdjb21tYW5kJzogc2hfY21kLCAnY3dkJzogb3MuZ2V0Y3dkKCkgfQogICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuY29tbWFuZCwgc3RyKToKICAgICAgICAgICAgIHJldHVybiBzaGxleC5zcGxpdChzZWxmLmNvbW1hbmQuZm9ybWF0KCoqZm10KSkKICAgICAgICAgZWxzZToKQEAgLTExNyw3ICsxMTcsNyBAQAogY2xhc3MgVG11eFJ1bm5pbmcoVGVybWluYWwpOgogICAgICIiIk9wZW4gYSBuZXcgcGFuZSBpbiB0aGUgY3VycmVudCBydW5uaW5nIHRtdXggd2luZG93IiIiCiAgICAgbmFtZSA9ICd0bXV4LXJ1bm5pbmcnCi0gICAgY29tbWFuZCA9ICd0bXV4IHNwbGl0LXdpbmRvdyAie2NvbW1hbmR9IicKKyAgICBjb21tYW5kID0gJ3RtdXggc3BsaXQtd2luZG93IC1jICJ7Y3dkfSIgIntjb21tYW5kfSInCiAgICAgcHJpb3JpdHkgPSAyLjc1CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hfY21kLCB0aXRsZT1Ob25lLCBlbnY9Tm9uZSwgZD1Ob25lKToKQEAgLTEzNSw3ICsxMzUsNyBAQAogY2xhc3MgVG11eE5ld1dpbmRvdyhUZXJtaW5hbCk6CiAgICAgIiIiT3BlbiBhIG5ldyB3aW5kb3cgaW4gdGhlIGN1cnJlbnQgcnVubmluZyB0bXV4IHNlc3Npb24iIiIKICAgICBuYW1lID0gJ3RtdXgtbmV3LXdpbmRvdycKLSAgICBjb21tYW5kID0gJ3RtdXggbmV3LXdpbmRvdyAtbiAie3RpdGxlfSIgIntjb21tYW5kfSInCisgICAgY29tbWFuZCA9ICd0bXV4IG5ldy13aW5kb3cgLWMgIntjd2R9IiAtbiAie3RpdGxlfSIgIntjb21tYW5kfSInCiAgICAgcHJpb3JpdHkgPSAyLjcwCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgc2hfY21kLCB0aXRsZT1Ob25lLCBlbnY9Tm9uZSwgZD1Ob25lKToKQEAgLTE0OSw3ICsxNDksNyBAQAogCiBjbGFzcyBUbXV4KFRlcm1pbmFsKToKICAgICAiIiJTdGFydCBhIG5ldyB0bXV4IHNlc3Npb24gYW5kIHdpbmRvdyIiIgotICAgIGNvbW1hbmQgPSAndG11eCBuZXcgLWQgLXMgZGV2c2hlbGwgLW4gZGV2c2hlbGwgIntjb21tYW5kfSInCisgICAgY29tbWFuZCA9ICd0bXV4IG5ldyAtYyAie2N3ZH0iIC1kIC1zIGRldnNoZWxsIC1uIGRldnNoZWxsICJ7Y29tbWFuZH0iJwogICAgIHByaW9yaXR5ID0gMC43NQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGU9Tm9uZSwgZW52PU5vbmUsIGQ9Tm9uZSk6CkBAIC0xNjAsNyArMTYwLDcgQEAKICAgICAgICAgIyBkZXZzaGVsbHMsIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSwgYWRkIGEgbmV3IHdpbmRvdyB0byBpdC4KICAgICAgICAgd2luZG93X25hbWUgPSAnZGV2c2hlbGwtJWknICUgb3MuZ2V0cGlkKCkKIAotICAgICAgICBzZWxmLmNvbW1hbmQgPSAndG11eCBuZXcgLWQgLXMgezB9IC1uIHswfSAie3tjb21tYW5kfX0iJy5mb3JtYXQod2luZG93X25hbWUpCisgICAgICAgIHNlbGYuY29tbWFuZCA9ICd0bXV4IG5ldyAtYyAie3tjd2R9fSIgLWQgLXMgezB9IC1uIHswfSAie3tjb21tYW5kfX0iJy5mb3JtYXQod2luZG93X25hbWUpCiAgICAgICAgIFRlcm1pbmFsLl9faW5pdF9fKHNlbGYsIHNoX2NtZCwgdGl0bGUsIGVudiwgZCkKIAogICAgICAgICBhdHRhY2hfY21kID0gJ3RtdXggYXR0IC10IHswfScuZm9ybWF0KHdpbmRvd19uYW1lKQpAQCAtMjk2LDYgKzI5Niw4IEBACiAgICAgICAgICAgICB2ZXJudW0gPSB2ZXIuc3BsaXQoJyAnKVstMV0KICAgICAgICAgaWYgdmVyLnN0YXJ0c3dpdGgoJ3RtdXgnKToKICAgICAgICAgICAgIHZlcm51bSA9IHZlci5zcGxpdCgpWy0xXQorICAgICAgICBpZiB2ZXIuc3RhcnRzd2l0aCgndG11eCBuZXh0LScpOgorICAgICAgICAgICAgdmVybnVtID0gdmVyLnNwbGl0KClbLTFdWzU6XQogICAgIHJldHVybiB2ZXJudW0KIAogZGVmIGRpc3Ryb19uYW1lKCk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lL3V0aWxzLnB5IGIvcG9reS9tZXRhL2xpYi9vZS91dGlscy5weQppbmRleCA4YTU4NGQ2Li5jZWRkMDUzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lL3V0aWxzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2UvdXRpbHMucHkKQEAgLTIxNCw3ICsyMTQsNyBAQAogICAgIFBOLWRiZyBQTi1kb2MgUE4tbG9jYWxlLWViLWdiIHJlbW92ZWQuCiAgICAgIiIiCiAgICAgcG4gPSBkLmdldFZhcignUE4nKQotICAgIGJsYWNrbGlzdCA9IFtwbiArIHN1ZmZpeCBmb3Igc3VmZml4IGluICgnJywgJy1kYmcnLCAnLWRldicsICctZG9jJywgJy1sb2NhbGUnLCAnLXN0YXRpY2RldicpXQorICAgIGJsYWNrbGlzdCA9IFtwbiArIHN1ZmZpeCBmb3Igc3VmZml4IGluICgnJywgJy1kYmcnLCAnLWRldicsICctZG9jJywgJy1sb2NhbGUnLCAnLXN0YXRpY2RldicsICctc3JjJyldCiAgICAgbG9jYWxlcGtnID0gcG4gKyAiLWxvY2FsZS0iCiAgICAgcGtncyA9IFtdCiAKQEAgLTMwNyw2ICszMDcsMTAgQEAKICAgICAgICAgICAgIHAuc3RhcnQoKQogICAgICAgICAgICAgbGF1bmNoZWQuYXBwZW5kKHApCiAgICAgICAgIGZvciBxIGluIGxhdW5jaGVkOgorICAgICAgICAgICAgIyBIYXZlIHRvIG1hbnVhbGx5IGNhbGwgdXBkYXRlKCkgdG8gYXZvaWQgZGVhZGxvY2tzLiBUaGUgcGlwZSBjYW4gYmUgZnVsbCBhbmQKKyAgICAgICAgICAgICMgdHJhbnNmZXIgc3RhbGxlZCB1bnRpbCB3ZSB0cnkgYW5kIHJlYWQgdGhlIHJlc3VsdHMgb2JqZWN0IGJ1dCB0aGUgc3VicHJvY2VzcyB3b24ndCBleGl0CisgICAgICAgICAgICAjIGFzIGl0IHN0aWxsIGhhcyBkYXRhIHRvIHdyaXRlIChodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTg0MjYpCisgICAgICAgICAgICBxLnVwZGF0ZSgpCiAgICAgICAgICAgICAjIFRoZSBmaW5pc2hlZCBwcm9jZXNzZXMgYXJlIGpvaW5lZCB3aGVuIGNhbGxpbmcgaXNfYWxpdmUoKQogICAgICAgICAgICAgaWYgbm90IHEuaXNfYWxpdmUoKToKICAgICAgICAgICAgICAgICBpZiBxLmV4Y2VwdGlvbjoKQEAgLTMyNiw3ICszMzAsNyBAQAogCiBkZWYgc3F1YXNoc3BhY2VzKHN0cmluZyk6CiAgICAgaW1wb3J0IHJlCi0gICAgcmV0dXJuIHJlLnN1YigiXHMrIiwgIiAiLCBzdHJpbmcpLnN0cmlwKCkKKyAgICByZXR1cm4gcmUuc3ViKHIiXHMrIiwgIiAiLCBzdHJpbmcpLnN0cmlwKCkKIAogZGVmIGZvcm1hdF9wa2dfbGlzdChwa2dfZGljdCwgcmV0X2Zvcm1hdD1Ob25lKToKICAgICBvdXRwdXQgPSBbXQpAQCAtMzYzLDE0ICszNjcsMTggQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBjb21waWxlciA9IGQuZ2V0VmFyKCJCVUlMRF9DQyIpCisgICAgIyBHZXQgcmlkIG9mIGNjYWNoZSBzaW5jZSBpdCBpcyBub3QgcHJlc2VudCB3aGVuIHBhcnNpbmcuCisgICAgaWYgY29tcGlsZXIuc3RhcnRzd2l0aCgnY2NhY2hlICcpOgorICAgICAgICBjb21waWxlciA9IGNvbXBpbGVyWzc6XQogICAgIHRyeToKICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgZW52WyJQQVRIIl0gPSBkLmdldFZhcigiUEFUSCIpCi0gICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KCIlcyAtLXZlcnNpb24iICUgY29tcGlsZXIsIHNoZWxsPVRydWUsIGVudj1lbnYpLmRlY29kZSgidXRmLTgiKQorICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiJXMgLS12ZXJzaW9uIiAlIGNvbXBpbGVyLCBcCisgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsIGVudj1lbnYsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkuZGVjb2RlKCJ1dGYtOCIpCiAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CiAgICAgICAgIGJiLmZhdGFsKCJFcnJvciBydW5uaW5nICVzIC0tdmVyc2lvbjogJXMiICUgKGNvbXBpbGVyLCBlLm91dHB1dC5kZWNvZGUoInV0Zi04IikpKQogCi0gICAgbWF0Y2ggPSByZS5tYXRjaCgiLiogKFxkXC5cZClcLlxkLioiLCBvdXRwdXQuc3BsaXQoJ1xuJylbMF0pCisgICAgbWF0Y2ggPSByZS5tYXRjaChyIi4qIChcZFwuXGQpXC5cZC4qIiwgb3V0cHV0LnNwbGl0KCdcbicpWzBdKQogICAgIGlmIG5vdCBtYXRjaDoKICAgICAgICAgYmIuZmF0YWwoIkNhbid0IGdldCBjb21waWxlciB2ZXJzaW9uIGZyb20gJXMgLS12ZXJzaW9uIG91dHB1dCIgJSBjb21waWxlcikKIApAQCAtNDgyLDMgKzQ5MCw2IEBACiAKICAgICAgICAgcmV0dXJuIG1zZwogCitkZWYgc2hfcXVvdGUoc3RyaW5nKToKKyAgICBpbXBvcnQgc2hsZXgKKyAgICByZXR1cm4gc2hsZXgucXVvdGUoc3RyaW5nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvbnRyb2xsZXJzL21hc3RlcmltYWdlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL2NvbnRyb2xsZXJzL21hc3RlcmltYWdlLnB5CmluZGV4IGEyOTEyZmMuLmYxNzVlMTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9jb250cm9sbGVycy9tYXN0ZXJpbWFnZS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvY29udHJvbGxlcnMvbWFzdGVyaW1hZ2UucHkKQEAgLTE5Nyw0MyArMTk3LDMgQEAKICAgICAgICAgc2VsZi5wb3dlcl9jeWNsZShzZWxmLm1hc3RlcikKICAgICAgICAgIyB0aGVyZSBhcmUgYmV0dGVyIHdheXMgdGhhbiBhIHRpbWVvdXQgYnV0IHRoaXMgc2hvdWxkIHdvcmsgZm9yIG5vdwogICAgICAgICB0aW1lLnNsZWVwKDEyMCkKLQotCi1jbGFzcyBTeXN0ZW1kYm9vdFRhcmdldChNYXN0ZXJJbWFnZUhhcmR3YXJlVGFyZ2V0KToKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkKToKLSAgICAgICAgc3VwZXIoU3lzdGVtZGJvb3RUYXJnZXQsIHNlbGYpLl9faW5pdF9fKGQpCi0gICAgICAgICMgdGhpcyB0aGUgdmFsdWUgd2UgbmVlZCB0byBzZXQgaW4gdGhlIExvYWRlckVudHJ5T25lU2hvdCBFRkkgdmFyaWFibGUKLSAgICAgICAgIyBzbyB0aGUgc3lzdGVtIGJvb3RzIHRoZSAndGVzdCcgYm9vdGxvYWRlciBsYWJlbCBhbmQgbm90IHRoZSBkZWZhdWx0Ci0gICAgICAgICMgVGhlIGZpcnN0IGZvdXIgYnl0ZXMgYXJlIEVGSSBiaXRzLCBhbmQgdGhlIHJlc3QgaXMgYW4gdXRmLTE2bGUgc3RyaW5nCi0gICAgICAgICMgKEVGSSB2YXJzIHZhbHVlcyBuZWVkIHRvIGJlIHV0Zi0xNikKLSAgICAgICAgIyAkIGVjaG8gLWVuICJ0ZXN0XDAiIHwgaWNvbnYgLWYgYXNjaWkgLXQgdXRmLTE2bGUgfCBoZXhkdW1wIC1DCi0gICAgICAgICMgMDAwMDAwMDAgIDc0IDAwIDY1IDAwIDczIDAwIDc0IDAwICAwMCAwMCAgICAgICAgICAgICAgICAgICAgfHQuZS5zLnQuLi58Ci0gICAgICAgIHNlbGYuZWZpdmFydmFsdWUgPSByJ1x4MDdceDAwXHgwMFx4MDBceDc0XHgwMFx4NjVceDAwXHg3M1x4MDBceDc0XHgwMFx4MDBceDAwJwotICAgICAgICBzZWxmLmRlcGxveV9jbWRzID0gWwotICAgICAgICAgICAgICAgICdtb3VudCAtTCBib290IC9ib290JywKLSAgICAgICAgICAgICAgICAnbWtkaXIgLXAgL21udC90ZXN0cm9vdGZzJywKLSAgICAgICAgICAgICAgICAnbW91bnQgLUwgdGVzdHJvb3RmcyAvbW50L3Rlc3Ryb290ZnMnLAotICAgICAgICAgICAgICAgICdtb2Rwcm9iZSBlZml2YXJmcycsCi0gICAgICAgICAgICAgICAgJ21vdW50IC10IGVmaXZhcmZzIGVmaXZhcmZzIC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnMnLAotICAgICAgICAgICAgICAgICdjcCB+L3Rlc3Qta2VybmVsIC9ib290JywKLSAgICAgICAgICAgICAgICAncm0gLXJmIC9tbnQvdGVzdHJvb3Rmcy8qJywKLSAgICAgICAgICAgICAgICAndGFyIHh2ZiB+L3Rlc3Qtcm9vdGZzLiVzIC1DIC9tbnQvdGVzdHJvb3RmcycgJSBzZWxmLmltYWdlX2ZzdHlwZSwKLSAgICAgICAgICAgICAgICAncHJpbnRmICIlcyIgPiAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzL0xvYWRlckVudHJ5T25lU2hvdC00YTY3YjA4Mi0wYTRjLTQxY2YtYjZjNy00NDBiMjliYjhjNGYnICUgc2VsZi5lZml2YXJ2YWx1ZQotICAgICAgICAgICAgICAgIF0KLQotICAgIGRlZiBfZGVwbG95KHNlbGYpOgotICAgICAgICAjIG1ha2Ugc3VyZSB0aGVzZSBhcmVuJ3QgbW91bnRlZAotICAgICAgICBzZWxmLm1hc3Rlci5ydW4oInVtb3VudCAvYm9vdDsgdW1vdW50IC9tbnQvdGVzdHJvb3RmczsgdW1vdW50IC9zeXMvZmlybXdhcmUvZWZpL2VmaXZhcnM7IikKLSAgICAgICAgIyBmcm9tIG5vdyBvbiwgZXZlcnkgZGVwbG95IGNtZCBzaG91bGQgcmV0dXJuIDAKLSAgICAgICAgIyBlbHNlIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93biBieSBzc2hjb250cm9sCi0gICAgICAgIHNlbGYubWFzdGVyLmlnbm9yZV9zdGF0dXMgPSBGYWxzZQotICAgICAgICBzZWxmLm1hc3Rlci5jb3B5X3RvKHNlbGYucm9vdGZzLCAifi90ZXN0LXJvb3Rmcy4iICsgc2VsZi5pbWFnZV9mc3R5cGUpCi0gICAgICAgIHNlbGYubWFzdGVyLmNvcHlfdG8oc2VsZi5rZXJuZWwsICJ+L3Rlc3Qta2VybmVsIikKLSAgICAgICAgZm9yIGNtZCBpbiBzZWxmLmRlcGxveV9jbWRzOgotICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVuKGNtZCkKLQotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUpOgotICAgICAgICBzZWxmLnBvd2VyX2N5Y2xlKHNlbGYubWFzdGVyKQotICAgICAgICAjIHRoZXJlIGFyZSBiZXR0ZXIgd2F5cyB0aGFuIGEgdGltZW91dCBidXQgdGhpcyBzaG91bGQgd29yayBmb3Igbm93Ci0gICAgICAgIHRpbWUuc2xlZXAoMTIwKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdGFyZ2V0L3FlbXUucHkgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQppbmRleCA1MzhiZjEyLi43YTE2MWEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS90YXJnZXQvcWVtdS5weQpAQCAtMTMsNyArMTMsNyBAQAogCiBjbGFzcyBPRVFlbXVUYXJnZXQoT0VTU0hUYXJnZXQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2dnZXIsIHNlcnZlcl9pcCwgdGltZW91dD0zMDAsIHVzZXI9J3Jvb3QnLAotICAgICAgICAgICAgcG9ydD1Ob25lLCBtYWNoaW5lPScnLCByb290ZnM9JycsIGtlcm5lbD0nJywga3ZtPUZhbHNlLAorICAgICAgICAgICAgcG9ydD1Ob25lLCBtYWNoaW5lPScnLCByb290ZnM9JycsIGtlcm5lbD0nJywga3ZtPUZhbHNlLCBzbGlycD1GYWxzZSwKICAgICAgICAgICAgIGR1bXBfZGlyPScnLCBkdW1wX2hvc3RfY21kcz0nJywgZGlzcGxheT0nJywgYm9vdGxvZz0nJywKICAgICAgICAgICAgIHRtcGRpcj0nJywgZGlyX2ltYWdlPScnLCBib290dGltZT02MCwgKiprd2FyZ3MpOgogCkBAIC0yNSwxNyArMjUsMzMgQEAKICAgICAgICAgc2VsZi5yb290ZnMgPSByb290ZnMKICAgICAgICAgc2VsZi5rZXJuZWwgPSBrZXJuZWwKICAgICAgICAgc2VsZi5rdm0gPSBrdm0KKyAgICAgICAgc2VsZi51c2Vfc2xpcnAgPSBzbGlycAogCiAgICAgICAgIHNlbGYucnVubmVyID0gUWVtdVJ1bm5lcihtYWNoaW5lPW1hY2hpbmUsIHJvb3Rmcz1yb290ZnMsIHRtcGRpcj10bXBkaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBsb3lfZGlyX2ltYWdlPWRpcl9pbWFnZSwgZGlzcGxheT1kaXNwbGF5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZmlsZT1ib290bG9nLCBib290dGltZT1ib290dGltZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9rdm09a3ZtLCBkdW1wX2Rpcj1kdW1wX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9rdm09a3ZtLCB1c2Vfc2xpcnA9c2xpcnAsIGR1bXBfZGlyPWR1bXBfZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHVtcF9ob3N0X2NtZHM9ZHVtcF9ob3N0X2NtZHMsIGxvZ2dlcj1sb2dnZXIpCiAKLSAgICBkZWYgc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUsIGV4dHJhX2Jvb3RwYXJhbXM9Tm9uZSk6Ci0gICAgICAgIGlmIHNlbGYucnVubmVyLnN0YXJ0KHBhcmFtcywgZXh0cmFfYm9vdHBhcmFtcz1leHRyYV9ib290cGFyYW1zKToKKyAgICBkZWYgc3RhcnQoc2VsZiwgcGFyYW1zPU5vbmUsIGV4dHJhX2Jvb3RwYXJhbXM9Tm9uZSwgcnVucWVtdXBhcmFtcz0nJyk6CisgICAgICAgIGlmIHNlbGYudXNlX3NsaXJwIGFuZCBub3Qgc2VsZi5zZXJ2ZXJfaXA6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiQ291bGQgbm90IHN0YXJ0IHFlbXUgd2l0aCBzbGlycCB3aXRob3V0IHNlcnZlciBpcCAtIHByb3ZpZGUgJ1RFU1RfU0VSVkVSX0lQJyIpCisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkZBSUxFRCB0byBzdGFydCBxZW11IC0gY2hlY2sgdGhlIHRhc2sgbG9nIGFuZCB0aGUgYm9vdCBsb2ciKQorICAgICAgICBpZiBzZWxmLnJ1bm5lci5zdGFydChwYXJhbXMsIGV4dHJhX2Jvb3RwYXJhbXM9ZXh0cmFfYm9vdHBhcmFtcywgcnVucWVtdXBhcmFtcz1ydW5xZW11cGFyYW1zKToKICAgICAgICAgICAgIHNlbGYuaXAgPSBzZWxmLnJ1bm5lci5pcAotICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBzZWxmLnJ1bm5lci5zZXJ2ZXJfaXAKKyAgICAgICAgICAgIGlmIHNlbGYudXNlX3NsaXJwOgorICAgICAgICAgICAgICAgIHRhcmdldF9pcF9wb3J0ID0gc2VsZi5ydW5uZXIuaXAuc3BsaXQoJzonKQorICAgICAgICAgICAgICAgIGlmIGxlbih0YXJnZXRfaXBfcG9ydCkgPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2lwID0gdGFyZ2V0X2lwX3BvcnRbMF0KKyAgICAgICAgICAgICAgICAgICAgcG9ydCA9IHRhcmdldF9pcF9wb3J0WzFdCisgICAgICAgICAgICAgICAgICAgIHNlbGYuaXAgPSB0YXJnZXRfaXAKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zc2ggPSBzZWxmLnNzaCArIFsnLXAnLCBwb3J0XQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNjcCA9IHNlbGYuc2NwICsgWyctUCcsIHBvcnRdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXJyb3IoIkNvdWxkIG5vdCBnZXQgaG9zdCBtYWNoaW5lIHBvcnQgdG8gY29ubmVjdCBxZW11IHdpdGggc2xpcnAsIHNzaCB3aWxsIG5vdCBiZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhYmxlIHRvIGNvbm5lY3QgdG8gcWVtdSB3aXRoIHNsaXJwIikKKyAgICAgICAgICAgIGlmIHNlbGYucnVubmVyLnNlcnZlcl9pcDoKKyAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9pcCA9IHNlbGYucnVubmVyLnNlcnZlcl9pcAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5zdG9wKCkKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiRkFJTEVEIHRvIHN0YXJ0IHFlbXUgLSBjaGVjayB0aGUgdGFzayBsb2cgYW5kIHRoZSBib290IGxvZyIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvY29yZS91dGlscy9jb25jdXJyZW5jeXRlc3QucHkgYi9wb2t5L21ldGEvbGliL29lcWEvY29yZS91dGlscy9jb25jdXJyZW5jeXRlc3QucHkKaW5kZXggZjA1MDI4OS4uZTA1MDgxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL2NvcmUvdXRpbHMvY29uY3VycmVuY3l0ZXN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9jb3JlL3V0aWxzL2NvbmN1cnJlbmN5dGVzdC5weQpAQCAtMjUsNiArMjUsNyBAQAogZnJvbSBzdWJ1bml0IGltcG9ydCBQcm90b2NvbFRlc3RDYXNlLCBUZXN0UHJvdG9jb2xDbGllbnQKIGZyb20gc3VidW5pdC50ZXN0X3Jlc3VsdHMgaW1wb3J0IEF1dG9UaW1pbmdUZXN0UmVzdWx0RGVjb3JhdG9yCiBmcm9tIHRlc3R0b29scyBpbXBvcnQgVGhyZWFkc2FmZUZvcndhcmRpbmdSZXN1bHQsIGl0ZXJhdGVfdGVzdHMKK2Zyb20gb2VxYS51dGlscy5jb21tYW5kcyBpbXBvcnQgZ2V0X3Rlc3RfbGF5ZXIKIAogaW1wb3J0IGJiLnV0aWxzCiBpbXBvcnQgb2UucGF0aApAQCAtMTQxLDYgKzE0Miw5IEBACiAKIGRlZiBmb3JrX2Zvcl90ZXN0cyhjb25jdXJyZW5jeV9udW0sIHN1aXRlKToKICAgICByZXN1bHQgPSBbXQorICAgIGlmICdCVUlMRERJUicgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgc2VsZnRlc3RkaXIgPSBnZXRfdGVzdF9sYXllcigpCisKICAgICB0ZXN0X2Jsb2NrcyA9IHBhcnRpdGlvbl90ZXN0cyhzdWl0ZSwgY29uY3VycmVuY3lfbnVtKQogICAgICMgQ2xlYXIgdGhlIHRlc3RzIGZyb20gdGhlIG9yaWdpbmFsIHN1aXRlIHNvIGl0IGRvZXNuJ3Qga2VlcCB0aGVtIGFsaXZlCiAgICAgc3VpdGUuX3Rlc3RzWzpdID0gW10KQEAgLTE2Niw3ICsxNzAsNiBAQAogICAgICAgICAgICAgICAgIGlmICdCVUlMRERJUicgaW4gb3MuZW52aXJvbjoKICAgICAgICAgICAgICAgICAgICAgYnVpbGRkaXIgPSBvcy5lbnZpcm9uWydCVUlMRERJUiddCiAgICAgICAgICAgICAgICAgICAgIG5ld2J1aWxkZGlyID0gYnVpbGRkaXIgKyAiLXN0LSIgKyBzdHIob3VycGlkKQotICAgICAgICAgICAgICAgICAgICBzZWxmdGVzdGRpciA9IG9zLnBhdGguYWJzcGF0aChidWlsZGRpciArICIvLi4vbWV0YS1zZWxmdGVzdCIpCiAgICAgICAgICAgICAgICAgICAgIG5ld3NlbGZ0ZXN0ZGlyID0gbmV3YnVpbGRkaXIgKyAiL21ldGEtc2VsZnRlc3QiCiAKICAgICAgICAgICAgICAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKG5ld2J1aWxkZGlyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9ic3AtaHcuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnNwLWh3Lmpzb24KaW5kZXggYTJiMWQzZS4uNGI3Yzc2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9ic3AtaHcuanNvbgorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2JzcC1ody5qc29uCkBAIC0xLDcgKzEsNyBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5ycG1fLV9faW5zdGFsbF9kZXBlbmRlbmN5X3BhY2thZ2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcucnBtXy1fX2luc3RhbGxfZGVwZW5kZW5jeV9wYWNrYWdlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ib290X2FuZF9pbnN0YWxsX2Zyb21fVVNCIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfYW5kX2luc3RhbGxfZnJvbV9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTYxLDcgKzYxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmxpdmVfYm9vdF9mcm9tX1VTQiIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5saXZlX2Jvb3RfZnJvbV9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTg3LDcgKzg3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmJvb3RfZnJvbV9ydW5sZXZlbF8zIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfZnJvbV9ydW5sZXZlbF8zIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xMjEsNyArMTIxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmJvb3RfZnJvbV9ydW5sZXZlbF81IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmJvb3RfZnJvbV9ydW5sZXZlbF81IiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xNTEsNyArMTUxLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLnNodXRkb3duX3N5c3RlbSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5zaHV0ZG93bl9zeXN0ZW0iLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTE3Myw3ICsxNzMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUucmVib290X3N5c3RlbSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5yZWJvb3Rfc3lzdGVtIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0xOTUsNyArMTk1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLnN3aXRjaF9hbW9uZ19tdWx0aV9hcHBsaWNhdGlvbnNfYW5kX2Rlc2t0b3AiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuc3dpdGNoX2Ftb25nX211bHRpX2FwcGxpY2F0aW9uc19hbmRfZGVza3RvcCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMjI1LDcgKzIyNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV9tb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV9tb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMjUxLDcgKzI1MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV9yZWFkX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlVTQl8tX3JlYWRfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTI4MSw3ICsyODEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVVNCXy1fdW1vdW50IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlVTQl8tX3Vtb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzA3LDcgKzMwNyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5VU0JfLV93cml0ZV9maWxlcyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5VU0JfLV93cml0ZV9maWxlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtMzMzLDcgKzMzMyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5ldGhlcm5ldF9zdGF0aWNfaXBfc2V0X2luX2Nvbm5tYW4iLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuZXRoZXJuZXRfc3RhdGljX2lwX3NldF9pbl9jb25ubWFuIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0zNjcsNyArMzY3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmV0aGVybmV0X2dldF9JUF9pbl9jb25ubWFuX3ZpYV9ESENQIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmV0aGVybmV0X2dldF9JUF9pbl9jb25ubWFuX3ZpYV9ESENQIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC0zOTcsNyArMzk3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5jb25ubWFuX29mZmxpbmVfbW9kZV9pbl9jb25ubWFuLWdub21lIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmNvbm5tYW5fb2ZmbGluZV9tb2RlX2luX2Nvbm5tYW4tZ25vbWUiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTQxOSw3ICs0MTksNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuWF9zZXJ2ZXJfY2FuX3N0YXJ0X3VwX3dpdGhfcnVubGV2ZWxfNV9ib290IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Llhfc2VydmVyX2Nhbl9zdGFydF91cF93aXRoX3J1bmxldmVsXzVfYm9vdCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNDQxLDcgKzQ0MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5zdGFuZGJ5IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LnN0YW5kYnkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTQ3NSw3ICs0NzUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuY2hlY2tfQ1BVX3V0aWxpemF0aW9uX2FmdGVyX3N0YW5kYnkiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuY2hlY2tfQ1BVX3V0aWxpemF0aW9uX2FmdGVyX3N0YW5kYnkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTUwNSw3ICs1MDUsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuVGVzdF9pZl9MQU5fZGV2aWNlX3dvcmtzX3dlbGxfYWZ0ZXJfcmVzdW1lX2Zyb21fc3VzcGVuZF9zdGF0ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2lmX0xBTl9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC01MzUsNyArNTM1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlRlc3RfaWZfdXNiX2hpZF9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfaWZfdXNiX2hpZF9kZXZpY2Vfd29ya3Nfd2VsbF9hZnRlcl9yZXN1bWVfZnJvbV9zdXNwZW5kX3N0YXRlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC01NjUsNyArNTY1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5jbGlja190ZXJtaW5hbF9pY29uX29uX1hfZGVza3RvcCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5jbGlja190ZXJtaW5hbF9pY29uX29uX1hfZGVza3RvcCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNTg3LDcgKzU4Nyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuQWRkX211bHRpcGxlX2ZpbGVzX2luX21lZGlhX3BsYXllciIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5BZGRfbXVsdGlwbGVfZmlsZXNfaW5fbWVkaWFfcGxheWVyIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC02MTMsNyArNjEzLDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLmNoZWNrX2Jhc2hfaW5faW1hZ2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuY2hlY2tfYmFzaF9pbl9pbWFnZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNjMxLDcgKzYzMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX21vdW50IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fbW91bnQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTY1Myw3ICs2NTMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXJ1bnRpbWUuTWljcm9TRF8tX19yZWFkX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fcmVhZF9maWxlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNjgzLDcgKzY4Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX3Vtb3VudCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5NaWNyb1NEXy1fX3Vtb3VudCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtNzEzLDcgKzcxMyw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5NaWNyb1NEXy1fX3dyaXRlX2ZpbGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lk1pY3JvU0RfLV9fd3JpdGVfZmlsZXMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTc0Myw3ICs3NDMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLnZpZGVvXy1fbGlidmFfY2hlY2tfKG9nZ192aWRlb19wbGF5KSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody52aWRlb18tX2xpYnZhX2NoZWNrXyhvZ2dfdmlkZW9fcGxheSkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTc2OSwyOSArNzY5LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5tZWRpYV9wbGF5ZXJfLV91bmFibGVfdG9fcGxheV9NUEVHLTFfd2l0aG91dF9cImNvbW1lcmNpYWxcIl9mbGFnIiwKLSAgICAgICAgICAgICJhdXRob3IiOiBbCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGVjdXRpb24iOiB7Ci0gICAgICAgICAgICAgICAgIjEiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29weSBzYW1wbGUgTVBFRy0xIGZpbGUgdG8gYSBzeXN0ZW0gd2l0aG91dCB0aGUgXCJjb21tZXJjaWFsXCIgZmxhZy4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJMYXVuY2ggbWVkaWEgcGxheWVyIGFuZCBtYWtlIHN1cmUgaXQgY2Fubm90IHBsYXkgdGhlIE1QRUctMSBmaWxlLiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk1QRUctMSBmaWxlIGNhbiBub3QgYmUgcGxheWVkIG9uIGltYWdlcyB3aXRob3V0IHRoZSBcImNvbW1lcmNpYWxcIiBmbGFnLiAiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIm1lZGlhX3BsYXllcl8tX3VuYWJsZV90b19wbGF5X01QRUctMV93aXRob3V0X1wiY29tbWVyY2lhbFwiX2ZsYWciCi0gICAgICAgIH0KLSAgICB9LAotICAgIHsKLSAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5tZWRpYV9wbGF5ZXJfLV9wbGF5X3ZpZGVvXyhvZ3YpIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lm1lZGlhX3BsYXllcl8tX3BsYXlfdmlkZW9fKG9ndikiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTgxMyw3ICs3OTEsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLm1lZGlhX3BsYXllcl8tX3N0b3AvcGxheV9idXR0b25fKG9ndikiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcubWVkaWFfcGxheWVyXy1fc3RvcC9wbGF5X2J1dHRvbl8ob2d2KSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jLmdlb3JnZXNjdUBpbnRlbC5jb20iLApAQCAtODQzLDcgKzgyMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtdG9vbHMuYXVkaW9fLV9wbGF5XyhvZ2cpX3dpdGhfSERNSSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5hdWRpb18tX3BsYXlfKG9nZylfd2l0aF9IRE1JIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC04NjksNyArODQ3LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy10b29scy5hdWRpb18tX3BsYXlfKHdhdilfd2l0aF9IRE1JIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LmF1ZGlvXy1fcGxheV8od2F2KV93aXRoX0hETUkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTg5NSw3ICs4NzMsNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLkdyYXBoaWNzXy1fQUJBVCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5HcmFwaGljc18tX0FCQVQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKQEAgLTkyMSw3ICs4OTksNyBAQAogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLXRvb2xzLkdyYXBoaWNzXy1feDExcGVyZl8tXzJEIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkdyYXBoaWNzXy1feDExcGVyZl8tXzJEIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIsCkBAIC05NDMsMzMgKzkyMSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtb2UtY29yZS5UZXN0X1J1bl9JbnRlZ3JpdHlfLV9DaGVja190aGF0X2ltYWdlX2lzX2J1aWxkYWJsZSIsCi0gICAgICAgICAgICAiYXV0aG9yIjogWwotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICJleGVjdXRpb24iOiB7Ci0gICAgICAgICAgICAgICAgIjEiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBpbWFnZSBjYW4gYmUgYnVpbHQgdXNpbmcgZWl0aGVyIG9mIHRoZSBmb2xsb3dpbmcgbWV0aG9kczogIFxuXG4iLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGltYWdlIGlzIGJ1aWx0IGJ5IGF1dG9idWlsZGVyIFxuUGxlYXNlIGNoZWNrIGF0OiBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvLmlvL3B1Yi9yZWxlYXNlcy8gXG5DaG9vc2UgdGhlIHRhcmdldCByZWxlYXNlIHRoYXQgeW91IGFyZSB2YWxpZGF0aW5nLiAgXG5cbiIsCi0gICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKLSAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICIzIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGltYWdlIHlvdXJzZWxmIFxuUHJlZmVycmVkIHRvIGJ1aWxkIGFuIGNvcmUtaW1hZ2Utc2F0by1kZXYgdG8gZWFzZSB0aGUgcHJvY2VzcyBvZiB0aGUgZGVwZW5kZW50IHRlc3QgY2FzZXMgaW4gdGhpcyBydW4uIFxuTm90ZTogUGxlYXNlIHNldCBNQUNISU5FIGluIGNvbmYvbG9jYWwuY29uZiAiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJZiBlaXRoZXIgbWV0aG9kIGZhaWxzLCB0aGlzIHRlc3QgY2FzZSB3aWxsIGJlIGZhaWxlZCBhbmQgZGVwZW5kZW50IHRlc3QgY2FzZXMgd2lsbCBiZSBibG9ja2VkLiAiCi0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRlc3RfUnVuX0ludGVncml0eV8tX0NoZWNrX3RoYXRfaW1hZ2VfaXNfYnVpbGRhYmxlIgotICAgICAgICB9Ci0gICAgfSwKLSAgICB7Ci0gICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5DaGVja19pZl9TQVRBX2Rpc2tfY2FuX3dvcmtfY29ycmVjdGx5IiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkNoZWNrX2lmX1NBVEFfZGlza19jYW5fd29ya19jb3JyZWN0bHkiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLApAQCAtOTk5LDcgKzk1MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX0hERC1kcml2ZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX0hERC1kcml2ZSIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImRhdmlkLmlzcmFlbHgucm9kcmlndWV6LmNhc3RlbGxhbm9zQGludGVsLmNvbSIsCkBAIC0xMDQxLDcgKzk5Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5JbnN0YWxsX2FuZF9ib290X2Zyb21fVVNCLWRyaXZlX3RvX1NELWRyaXZlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3Lkluc3RhbGxfYW5kX2Jvb3RfZnJvbV9VU0ItZHJpdmVfdG9fU0QtZHJpdmUiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJkYXZpZC5pc3JhZWx4LnJvZHJpZ3Vlei5jYXN0ZWxsYW5vc0BpbnRlbC5jb20iLApAQCAtMTA4Myw3ICsxMDM1LDcgQEAKICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ydW50aW1lLlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9TRCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fU0QiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExMDEsNyArMTA1Myw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fSEREIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9IREQiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExMTksNyArMTA3MSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X2Jvb3Rfb25fc2VyaWFsX2NvbW11bmljYXRpb25fVVNCIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LlRlc3RfYm9vdF9vbl9zZXJpYWxfY29tbXVuaWNhdGlvbl9VU0IiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJqdWFuLmZlcm5hbmRveC5yYW1vcy5mcmF5bGVAaW50ZWwuY29tIiwKQEAgLTExNTMsNyArMTEwNSw3IEBACiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtcnVudGltZS5UZXN0X1NlZWtfYmFyX2FuZF92b2x1bWVfY29udHJvbCIsCisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5UZXN0X1NlZWtfYmFyX2FuZF92b2x1bWVfY29udHJvbCIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImp1YW4uZmVybmFuZG94LnJhbW9zLmZyYXlsZUBpbnRlbC5jb20iLApAQCAtMTE5Niw1ICsxMTQ4LDEzOSBAQAogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdW1tYXJ5IjogIlRlc3RfU2Vla19iYXJfYW5kX3ZvbHVtZV9jb250cm9sIgogICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0ZXN0IjogeworICAgICAgICAgICAgIkBhbGlhcyI6ICJic3BzLWh3LmJzcHMtaHcuQ2hlY2tfaWZfd2F0Y2hkb2dfY2FuX3Jlc2V0X3RoZV90YXJnZXRfc3lzdGVtIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIjEuQ2hlY2sgaWYgd2F0Y2hkb2cgZGV2aWNlIGV4aXN0IGluIC9kZXYvIGRpcmVjdG9yeS4gUnVuIGNvbW1hbmQgZWNobyAxID4gL2Rldi93YXRjaGRvZyBhbmQgd2FpdCBmb3IgNjBzLiBUaGVuLCB0aGUgdGFyZ2V0IHdpbGwgcmVib290LiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSB3YXRjaGRvZyBkZXZpY2UgZXhpc3QgaW4gL2Rldi8gZGlyZWN0b3J5IGFuZCBjYW4gcmVib290IHRoZSB0YXJnZXQuXG4iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX3dhdGNoZG9nX2Nhbl9yZXNldF90aGVfdGFyZ2V0X3N5c3RlbSIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkNoZWNrX2lmX1JUQ18oUmVhbF9UaW1lX0Nsb2NrKV9jYW5fd29ya19jb3JyZWN0bHkiLAorICAgICAgICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJ5aS56aGFvQHdpbmRyaXZlci5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVhZCB0aW1lIGZyb20gUlRDIHJlZ2lzdGVycy4gIHJvb3RAbG9jYWxob3N0Oi9yb290PiBod2Nsb2NrIC1yICBTdW4gTWFyIDIyIDA0OjA1OjQ3IDE5NzAgLTAuMDAxOTQ4IHNlY29uZHMgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ2FuIHJlYWQgYW5kIHNldCB0aGUgdGltZSBmcm9tIFJUQy5cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlNldCBzeXN0ZW0gY3VycmVudCB0aW1lICByb290QGxvY2FsaG9zdDovcm9vdD4gZGF0ZSAwNjIzMDk0NTIwMDggIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiU3luY2hyb25pemUgdGhlIHN5c3RlbSBjdXJyZW50IHRpbWUgdG8gUlRDIHJlZ2lzdGVycyAgcm9vdEBsb2NhbGhvc3Q6L3Jvb3Q+IGh3Y2xvY2sgLXcgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVhZCB0aW1lIGZyb20gUlRDIHJlZ2lzdGVycyAgcm9vdEBsb2NhbGhvc3Q6L3Jvb3Q+IGh3Y2xvY2sgLXIgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjUiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUmVib290IHRhcmdldCBhbmQgcmVhZCB0aW1lIGZyb20gUlRDIGFnYWluXG4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX1JUQ18oUmVhbF9UaW1lX0Nsb2NrKV9jYW5fd29ya19jb3JyZWN0bHkiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5DaGVja19pZl90YXJnZXRfY2FuX3N1cHBvcnRfRUVQUk9NIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAieWkuemhhb0B3aW5kcml2ZXIuY29tIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAgICAgICAgICIxIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIGVlcHJvbSBkZXZpY2UgZXhpc3QgaW4gL3N5cy9idXMvaTJjL2RldmljZXMvICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkhleGR1bXAgY2FuIHJlYWQgZGF0YSBmcm9tIGVlcHJvbS5cbiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBcImhleGR1bXAgZWVwcm9tXCIgY29tbWFuZHJvb3RAbXBjODMxNWUtcmRiOi9zeXMvYnVzL2kyYy9kZXZpY2VzLzEtMDA1MT4gaGV4ZHVtcCBlZXByb20wMDAwMDAwIDkyMTAgMGIwMiAwMjExIDAwMDkgMGI1MiAwMTA4IDBjMDAgM2MwMDAwMDAwMTAgNjk3OCA2OTMwIDY5MTEgMjA4YyA3MDAzIDNjM2MgMDBmMCA4MzgxXHUyMDI2XG4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkNoZWNrX2lmX3RhcmdldF9jYW5fc3VwcG9ydF9FRVBST00iCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImJzcHMtaHcuYnNwcy1ody5TeXN0ZW1fY2FuX2Jvb3RfdXBfdmlhX05GUyIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb25uZWN0IHRoZSBib2FyZCdzIGZpcnN0IHNlcmlhbCBwb3J0IHRvIHlvdXIgd29ya3N0YXRpb24gYW5kIHRoZW4gc3RhcnQgdXAgeW91ciBmYXZvdXJpdGUgc2VyaWFsIHRlcm1pbmFsIHNvIHRoYXQgeW91IHdpbGwgYmUgYWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZSBzZXJpYWwgY29uc29sZS4gSWYgeW91IGRvbid0IGhhdmUgYSBmYXZvdXJpdGUsIHBpY29jb20gaXMgc3VnZ2VzdGVkOiAgICQgcGljb2NvbSAvZGV2L3R0eVMwIC1iIDExNTIwMCAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc3lzdGVtIGNhbiBib290IHVwIHdpdGhvdXQgcHJvYmxlbVxuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjIiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUG93ZXIgdXAgb3IgcmVzZXQgdGhlIGJvYXJkIGFuZCBwcmVzcyBhIGtleSBvbiB0aGUgdGVybWluYWwgd2hlbiBwcm9tcHRlZCB0byBnZXQgdG8gdGhlIFUtQm9vdCBjb21tYW5kIGxpbmUgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiU2V0IHVwIHRoZSBlbnZpcm9ubWVudCBpbiBVLUJvb3Q6ICA9PiBzZXRlbnYgaXBhZGRyICAgPT4gc2V0ZW52IHNlcnZlcmlwICAgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRG93bmxvYWQgdGhlIGtlcm5lbCBhbmQgYm9vdDogID0+IHRmdHAgdGZ0cCAkbG9hZGFkZHIgdm1saW51eCA9PiBib290b2N0bGludXggJGxvYWRhZGRyIGNvcmVtYXNrPTB4MyByb290PS9kZXYvbmZzIHJ3IG5mc3Jvb3Q9OiBpcD06Ojo6ZWRnZXJvdXRlcjpldGgwOm9mZiBtdGRwYXJ0cz1waHlzX21hcHBlZF9mbGFzaDo1MTJrKGJvb3QwKSw1MTJrKGJvb3QxKSw2NGtAMzA3MmsoZWVwcm9tKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJTeXN0ZW1fY2FuX2Jvb3RfdXBfdmlhX05GUyIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiYnNwcy1ody5ic3BzLWh3LkJvb3RfZnJvbV9KRkZTMl9pbWFnZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogInlpLnpoYW9Ad2luZHJpdmVyLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGaXJzdCBib290IHRoZSBib2FyZCB3aXRoIE5GUyByb290LiAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc3lzdGVtIGNhbiBib290IHVwIHdpdGhvdXQgcHJvYmxlbVxuIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjIiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiSW5zdGFsbCBtdGQtdXRpbHMgcGFja2FnZS4gRXJhc2UgdGhlIE1URCBwYXJ0aXRpb24gd2hpY2ggd2lsbCBiZSB1c2VkIGFzIHJvb3Q6ICQgZmxhc2hfZXJhc2VhbGwgL2Rldi9tdGQzICIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvcHkgdGhlIEpGRlMyIGltYWdlIHRvIHRoZSBNVEQgcGFydGl0aW9uOiAkIGZsYXNoY3AgY29yZS1pbWFnZS1taW5pbWFsLW1wYzgzMTVlLXJkYi5qZmZzMiAvZGV2L210ZDMgIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiVGhlbiByZWJvb3QgdGhlIGJvYXJkIGFuZCBzZXQgdXAgdGhlIGVudmlyb25tZW50IGluIFUtQm9vdDogPT4gc2V0ZW52IGJvb3RhcmdzIHJvb3Q9L2Rldi9tdGRibG9jazMgcm9vdGZzdHlwZT1qZmZzMiBjb25zb2xlPXR0eVMwLDExNTIwMCAiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkJvb3RfZnJvbV9KRkZTMl9pbWFnZSIKKyAgICAgICAgfQogICAgIH0KIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2J1aWxkLWFwcGxpYW5jZS5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9idWlsZC1hcHBsaWFuY2UuanNvbgppbmRleCBiOGY4OTI3Li43MGY4YzcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2J1aWxkLWFwcGxpYW5jZS5qc29uCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvYnVpbGQtYXBwbGlhbmNlLmpzb24KQEAgLTEsMzIgKzEsNiBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImJ1aWxkLWFwcGxpYW5jZS5idWlsZC1hcHBsaWFuY2UuQml0YmFrZV9idWlsZC1hcHBsaWFuY2UtaW1hZ2UiLAotICAgICAgICAgICAgImF1dGhvciI6IFsKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuYy5nZW9yZ2VzY3VAaW50ZWwuY29tIiwKLSAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmMuZ2Vvcmdlc2N1QGludGVsLmNvbSIKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBdLAotICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKLSAgICAgICAgICAgICAgICAiMSI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJHZXQgcG9reSBzb3VyY2UgY29kZSBhbmQgcHJlcGFyZSB0aGUgYnVpbGQgZW52aXJvbm1lbnQiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJiaXRiYWtlIGJ1aWxkLWFwcGxpYW5jZS1pbWFnZSBpcyBzdWNjZXNzZnVsICAiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMiI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJTZXQgTUFDSElORSB0byBxZW11eDg2IGFuZCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIGNvbmYvbG9jYWwuY29uZiA6ICBTUkNSRVZfcG4tYnVpbGQtYXBwbGlhbmNlLWltYWdlID0gXCIke0FVVE9SRVZ9XCIiLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAiMyI6IHsKLSAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gXCJiaXRiYWtlIGJ1aWxkLWFwcGxpYW5jZS1pbWFnZVwiIFxuIFxuIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJCaXRiYWtlX2J1aWxkLWFwcGxpYW5jZS1pbWFnZSIKLSAgICAgICAgfQotICAgIH0sCi0gICAgewotICAgICAgICAidGVzdCI6IHsKICAgICAgICAgICAgICJAYWxpYXMiOiAiYnVpbGQtYXBwbGlhbmNlLmJ1aWxkLWFwcGxpYW5jZS5CdWlsZF9jb3JlLWltYWdlLW1pbmltYWxfd2l0aF9idWlsZC1hcHBsaWFuY2UtaW1hZ2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL2NvbXBsaWFuY2UtdGVzdC5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9jb21wbGlhbmNlLXRlc3QuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODJmMGI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9jb21wbGlhbmNlLXRlc3QuanNvbgpAQCAtMCwwICsxLDE5NCBAQAorWworICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3QuTFRQX3N1YnNldF90ZXN0X3N1aXRlIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGb3IgcmVhbCBoYXJkd2FyZSwgcnVuIGZvbGxvd2luZyBjb21wb25lbnQsIFxuc3lzY2FsbHMgXG5mcyBcbmZzeCBcbmRpbyBcbmlvIFxubW0gXG5pcGMgXG5zY2hlZCBcbm1hdGggXG5ucHRsIFxucHR5IFxuYWRtaW5fdG9vbHMgXG50aW1lcnMgXG5jb21tYW5kcyAgXG5cbkZvciBRRU1VLCBydW4gZm9sbG93aW5nIGNvbXBvbmVudCBcbnN5c2NhbGxzIFxubW0gXG5pcGMgXG5zY2hlZCBcbm1hdGggXG5ucHRsIFxucHR5IFxuYWRtaW5fdG9vbHMgXG5jb21tYW5kcyBcblxuUnVuIEluc3RydWN0aW9uczogXG5MVFAgZG93bmxvYWQ6IGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHRwL2ZpbGVzL0xUUCUyMFNvdXJjZS9sdHAtMjAxMjA0MDEvbHRwLWZ1bGwtMjAxMjA0MDEuYnoyL2Rvd25sb2FkICBcblxuKGxpbmsgaXMgb3V0ZGF0ZWQsIGFsd2F5cyB1c2UgdGhlIGxhc3QgdmVyc2lvbiByZWxlYXNlZCBvciB0aGUgb25lIGZvdW5kIGluIHRoZSBpbWFnZSkgIFxuXG5cblxuYnVpbGQgc3RlcHM6IHJlZmVyIHRvIGh0dHA6Ly9sdHAuc291cmNlZm9yZ2UubmV0ICBcblxuUnVuIHN0ZXBzOiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIExUUCB3aXRoIHRvb2xjaGFpbiBvciBpbiBzZGsgaW1hZ2UuIE9yIHVzZSBhIHNhdG8tc2RrIGltYWdlIHdoaWNoIGhhcyBMVFAgYWxyZWFkeSBpbmNsdWRlZCBpbiAvb3B0L2x0cCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkZvciBRRU1VLCBjcmVhdGUgdGhlIHFlbXUgdGFyZ2V0IHdpdGggXCItbSA1MTJcIiwgd2hpY2ggbWFrZXMgc29tZSBtZW1vcnkgc3RyZXNzIGNhc2VzIHBhc3MuIEZvciBzb21lIGlzc3Vlcywgd2UgY291bGQgb25seSBzZXQgMTI4TSBmb3IgcWVtdWFybSBhbmQgMjU2TSBmb3IgcWVtdW1pcHMuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ29weSBMVFAgZm9sZGVyIGludG8gdGFyZ2V0LCBmb3IgZXhhbXBsZSwgL29wdC9sdHAgaWYgeW91IGhhdmUgYnVpbHQgaXQgeW91cnNlbGYuIE1vZGlmeSB0aGUgZGVmYXVsdCBzY2VuYXJpbyBmaWxlIFwic2NlbmFyaW9fZ3JvdXBzL2RlZmF1bHRcIiwgcmVtb3ZlIHRlc3Qgc3VpdGVzIG5vdCB0byBiZSB0ZXN0ZWQiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb21tZW50IHJ1bnRlc3RzL3NjaGVkOiBoYWNrYmVuY2gsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSB0byBydW4gaW4gZW11bGF0b3JzLiBSZW1pbmRlciAoY29tbWVudCBpdCBhbHNvIGZvciBTdWdhcmJheSBEZXZpY2VzKS4iLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJDb21tZW50IG9vbTAxLCBvb20wMiwgb29tMDMsIG9vbTA0IGluIHJ1bnRlc3QvbW0sIHdoaWNoIGNvbnN1bWUgbG90cyBvZiBtZW1vcnkiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIC9vcHQvbHRwIHJ1bjogLi9ydW5sdHAgLXAgLWwgcmVzdWx0LU0yLTIwMTAxMjE4LmxvZyAtQyByZXN1bHQtTTItMjAxMDEyMTguZmFpbCAtZCAvb3B0L2x0cC90bXAgJj4gcmVzdWx0LU0yLTIwMTAxMjE4LmZ1bGxsb2cgXG5cbiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkNoZWNrIHRoZSByZXN1bHQgb24gd2lraSwgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9MVFBfcmVzdWx0LCB0aGVyZSBzaG91bGQgYmUgbm8gcmVncmVzc2lvbiBmYWlsdXJlIG1ldC4iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIkxUUF9zdWJzZXRfdGVzdF9zdWl0ZSIKKyAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAidGVzdCI6IHsKKyAgICAgICAgICAgICJAYWxpYXMiOiAiY29tcGxpYW5jZS10ZXN0LmNvbXBsaWFuY2UtdGVzdC5QT1NJWF9zdWJzZXRfdGVzdF9zdWl0ZSIsCisgICAgICAgICAgICAiYXV0aG9yIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImNvcm5lbGl1eC5zdG9pY2VzY3VAaW50ZWwuY29tIiwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICAgICAgICAgIjEiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiSW4gYSBzYXRvLXNkayBpbWFnZSBnbyB0byAvb3B0L2x0cCBvciBnZXQgbGF0ZXN0IExUUCBzb3VyY2Vjb2RlLCAgZG93bmxvYWQgbG9jYXRpb24gaXMgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHRwL2ZpbGVzL0xUUCUyMFNvdXJjZS8gIGFuZCBpbnN0YWxsIGl0LiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkdvIGludG8gdGhlIGZvbGRlciBvZiBMVFAsIGFuZCBwb3NpeF90ZXN0c3VpdGUgaXMgdW5kZXIgdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlLyIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIzIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBjb25ubWFuZDogbWFrZSBnZW5lcmF0ZS1tYWtlZmlsZXMiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNCI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IG1ha2UgY29uZm9ybWFuY2UtYWxsIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjUiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIGNvbm5tYW5kOiBtYWtlIGNvbmZvcm1hbmNlLXRlc3QgKHRoaXMgc3RlcCBtYXkgc2hvdyBlcnJvcnMsIGlnbm9yZSB0aGVtKSIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICI2IjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlJ1biBjb25ubWFuZDogbWFrZSB0b29scy1hbGwiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiNyI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJSdW4gY29ubm1hbmQ6IHNoIHBvc2l4LnNoID4gcG9zaXgubG9nLCBwb3NpeC5zaCBhcyBiZWxvdzogIFxuIFxuIyEvYmluL3NoIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIEFJTyBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBNRU0gXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggTVNHIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIFNFTSBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBTSUcgXG4uL2Jpbi9ydW4tcG9zaXgtb3B0aW9uLWdyb3VwLXRlc3Quc2ggVEhSIFxuLi9iaW4vcnVuLXBvc2l4LW9wdGlvbi1ncm91cC10ZXN0LnNoIFRNUiBcbi4vYmluL3J1bi1wb3NpeC1vcHRpb24tZ3JvdXAtdGVzdC5zaCBUUFMgIFxuIFxuIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjgiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhlIHBvc2l4LmxvZyBhZnRlciB0ZXN0aW5nIGlzIGZpbmlzaGVkIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ29tcGFyZSB0aGUgdGVzdCByZXN1bHQgb24gd2lraSwgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9Qb3NpeF9yZXN1bHQsIHRoZXJlIHNob3VsZCBiZSBubyBtb3JlIHJlZ3Jlc3Npb24gZmFpbHVyZXMgbWV0LiIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAiUE9TSVhfc3Vic2V0X3Rlc3Rfc3VpdGUiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3QuTFNCX3N1YnNldF90ZXN0X3N1aXRlIiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJHZXQgbHNkLXNkayBpbWFnZSBhbmQgaW5zdGFsbCBpdCBvbiB0YXJnZXQgZGV2aWNlIG9yIHN0YXJ0IHRoZSBpbWFnZShpZiBpdCBpcyBRRU1VKSB3aXRoIG9wdGlvbiBcIi1tIDUxMk1cIiIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICIyIjogeworICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkNvbW1lbnQgaW4gL29wdC9sc2ItdGVzdC9zZXNzaW9uIGFueSB0ZXN0cyB5b3UgZG9uJ3Qgd2FudCB0byBydW4uIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjMiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiUnVuIC91c3IvYmluL0xTQl9UZXN0LnNoIHdoaWNoIHNob3VsZCBkb3dubG9hZCB0aGUgTFNCIHN1aXRlIGFuZCBzZXQgaXQgdXAuIFNvbWUgcGFja2FnZXMgbWF5IGZhaWwgdG8gZG93bmxvYWQgYmVjYXVzZSB0aGVpciBsb2NhdGlvbiBjaGFuZ2VkIG9uIGZ0cC5saW51eGZvdW5kYXRpb24ub3JnLiBZb3UgbmVlZCB0byBtYW51YWxseSB1cGRhdGUgL29wdC9sc2ItdGVzdC9wYWNrYWdlc19saXN0IiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIjQiOiB7CisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiVGVzdHMgc2hvdWxkIHN0YXJ0IGF1dG9tYXRpY2FsbHksIHlvdSBjYW4gdXNlIHRoZSB3ZWIgaW50ZXJmYWNlIHRvIHJlY29uZmlndXJlIHRoZSBzZXR1cC4gIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQ2hlY2sgdGhlIHJlc3VsdCBvbiB3aWtpIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTFNCX1Jlc3VsdCBObyByZWdyZXNzaW9uIGZhaWx1cmVzIHNob3VsZCBiZSBtZXQuIgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAic3VtbWFyeSI6ICJMU0Jfc3Vic2V0X3Rlc3Rfc3VpdGUiCisgICAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgICAgInRlc3QiOiB7CisgICAgICAgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3Quc3RyZXNzX3Rlc3RfLV9HZW5lcmljeDg2LTY0IiwKKyAgICAgICAgICAgICJhdXRob3IiOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgICAgICAgICAiMSI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJCb290dXAgd2l0aCBjb3JlLWltYWdlLWxzYi1zZGsgaW1hZ2UiLAorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAiMiI6IHsKKyAgICAgICAgICAgICAgICAgICAgImFjdGlvbiI6ICJFeGVjdXRlIHRoZSBjcmFzaG1lIHRlc3Qgd2l0aCBiZWxvdyBjb21tYW5kICBcblxuLi9vcHQvbHRwL3J1bmx0cCBmICBjcmFzaG1lIiwKKyAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHN0cmVzcyB0ZXN0aW5nIHNob3VsZCBub3QgbWFrZSB0aGUgdGFyZ2V0IGNyYXNoLiBDaGVjayBDUFUgdXNhZ2UgYW5kIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHN5c3RlbSBhZnRlciB0aGUgdGVzdHMgYXJlIG92ZXIuICIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgInN1bW1hcnkiOiAic3RyZXNzX3Rlc3RfLV9HZW5lcmljeDg2LTY0IgorICAgICAgICB9CisgICAgfSwKKyAgICAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJjb21wbGlhbmNlLXRlc3QuY29tcGxpYW5jZS10ZXN0LnN0cmVzc190ZXN0Xy1fLSBjcmFzaG1lXy1fLUJlYWdsZWJvbmUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBHZXQgY3Jhc2htZSBmcm9tIGh0dHA6Ly9wZW9wbGUuZGVscGhpZm9ydW1zLmNvbS9namMvY3Jhc2htZS5odG1sIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRm9sbG93IHRoZSBzZXR1cCBzdGVwcyBvbiBhYm92ZSBVUkwsIGJ1aWxkIGNyYXNobWUgaW4gdGFyZ2V0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFJ1biBjcmFzaG1lIGZvciAyNCBob3VycyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGFyZ2V0IHNob3VsZCBub3QgY3Jhc2ggd2l0aCB0aGUgcHJvZ3JhbS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJzdHJlc3NfdGVzdF8tX2NyYXNobWVfLUJlYWdsZWJvbmUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogImNvbXBsaWFuY2UtdGVzdC5jb21wbGlhbmNlLXRlc3Quc3RyZXNzX3Rlc3RfLV9sdHBfLUJlYWdsZWJvbmUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJjb3JuZWxpdXguc3RvaWNlc2N1QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiY29ybmVsaXV4LnN0b2ljZXNjdUBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIExUUCB3aXRoIHRvb2xjaGFpbiBvciBpbiBzZGsgaW1hZ2UiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDb3B5IExUUCBmb2xkZXIgaW50byB0YXJnZXQsIGZvciBleGFtcGxlLCAvb3B0L2x0cC4gTW9kaWZ5IHNjcmlwdCwgIHRlc3RzY3JpcHRzL2x0cHN0cmVzcy5zaCwgc2V0IElvc3RhdD0xLCBOT19ORVRXT1JLPTEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJjZCB0ZXN0c2NyaXB0cy8gJiYgLi9sdHBzdHJlc3Muc2giLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoaXMgc3RyZXNzIGNhc2Ugd2lsbCBydW4gZm9yIDI0IGhvdXJzIENoZWNrIHRoZSByZXN1bHRcbnRhcmdldCBzaG91bGQgbm90IGNyYXNoIHdpdGggdGhlIHByb2dyYW0gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAic3RyZXNzX3Rlc3RfLV8tbHRwXy1CZWFnbGVib25lIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwva2VybmVsLWRldi5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KaW5kZXggYzkzYjRkZC4uMGRkOTkxOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9rZXJuZWwtZGV2Lmpzb24KQEAgLTEsNyArMSw3IEBACiBbCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9kZWZjb25maWciLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9kZWZjb25maWciLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTE4LDEyICsxOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzciCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9kZWZjb25maWciCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X2RlZmNvbmZpZytmcmFnbWVudHMiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTQwLDEyICs0MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzgiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfZGVmY29uZmlnK2ZyYWdtZW50cyIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9BcHBseWluZ19wYXRjaGVzIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtNjIsMTIgKzYyLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHMiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfQXBwbHlpbmdfcGF0Y2hlcyIKICAgICAgICAgfQogICAgIH0sCiAgICAgewogICAgICAgICAidGVzdCI6IHsKLSAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWNvbmZpZ3VyYXRpb24ua2VybmVsLWNvbmZpZ3VyYXRpb24uVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTg0LDEyICs4NCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzIiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tbG9jYWwtc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9saW51eC15b2N0by1sb2NhbC1zb3VyY2UiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfbGludXgteW9jdG8tY3VzdG9tLWxvY2FsLXNvdXJjZSIsCisgICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1kZXYua2VybmVsLWRldi5LZXJuZWxfZGV2X2xpbnV4LXlvY3RvLWN1c3RvbS1sb2NhbC1zb3VyY2UiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTEwNiwxMiArMTA2LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHNfMyIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9saW51eC15b2N0by1jdXN0b20tbG9jYWwtc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9saW51eC15b2N0by1jdXN0b20tbG9jYWwtc291cmNlIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X3JlY2lwZS1zcGFjZV9tZXRhIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfcmVjaXBlLXNwYWNlX21ldGEiLAogICAgICAgICAgICAgImF1dGhvciI6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICJlbWFpbCI6ICJlZS5wZW5nLnllb2hAaW50ZWwuY29tIiwKQEAgLTEyOCwxMiArMTI4LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldmlldyBleHBlY3RlZCByZXN1bHRzIG9uIHRoZXRoZSBcIktlcm5lbCBEZXZlbG9wbWVudCBUZXN0IENhc2VzXCJ3aWtpLiBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL0tlcm5lbF9EZXZlbG9wbWVudF9UZXN0X0Nhc2VzI0V4cGVjdGVkX1Jlc3VsdHNfNSIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAiVENURU1QXzIuM19NQU5VQUxfS2VybmVsX2Rldl9yZWNpcGUtc3BhY2VfbWV0YSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfcmVjaXBlLXNwYWNlX21ldGEiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xNTAsMTIgKzE1MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzYiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICJzdW1tYXJ5IjogIlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfRXh0ZXJuYWxfc291cmNlIgorICAgICAgICAgICAgInN1bW1hcnkiOiAiS2VybmVsX2Rldl9FeHRlcm5hbF9zb3VyY2UiCiAgICAgICAgIH0KICAgICB9LAogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogImtlcm5lbC1jb25maWd1cmF0aW9uLmtlcm5lbC1jb25maWd1cmF0aW9uLlRDVEVNUF8yLjNfTUFOVUFMX0tlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIiwKKyAgICAgICAgICAgICJAYWxpYXMiOiAia2VybmVsLWRldi5rZXJuZWwtZGV2Lktlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xNzIsMTIgKzE3MiwxMiBAQAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZXZpZXcgZXhwZWN0ZWQgcmVzdWx0cyBvbiB0aGV0aGUgXCJLZXJuZWwgRGV2ZWxvcG1lbnQgVGVzdCBDYXNlc1wid2lraS4gaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9LZXJuZWxfRGV2ZWxvcG1lbnRfVGVzdF9DYXNlcyNFeHBlY3RlZF9SZXN1bHRzXzEwIgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2J1aWxkaW5nX2V4dGVybmFsX21vZHVsZXMoaGVsbG8tbW9kKSIKKyAgICAgICAgICAgICJzdW1tYXJ5IjogIktlcm5lbF9kZXZfYnVpbGRpbmdfZXh0ZXJuYWxfbW9kdWxlcyhoZWxsby1tb2QpIgogICAgICAgICB9CiAgICAgfSwKICAgICB7CiAgICAgICAgICJ0ZXN0IjogewotICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtY29uZmlndXJhdGlvbi5rZXJuZWwtY29uZmlndXJhdGlvbi5UQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJrZXJuZWwtZGV2Lmtlcm5lbC1kZXYuS2VybmVsX2Rldl9sb2NhbF9wYXJhbGxlbF9tZXRhIiwKICAgICAgICAgICAgICJhdXRob3IiOiBbCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAiZW1haWwiOiAiZWUucGVuZy55ZW9oQGludGVsLmNvbSIsCkBAIC0xOTQsNyArMTk0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUmV2aWV3IGV4cGVjdGVkIHJlc3VsdHMgb24gdGhldGhlIFwiS2VybmVsIERldmVsb3BtZW50IFRlc3QgQ2FzZXNcIndpa2kuIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvS2VybmVsX0RldmVsb3BtZW50X1Rlc3RfQ2FzZXMjRXhwZWN0ZWRfUmVzdWx0c180IgogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAic3VtbWFyeSI6ICJUQ1RFTVBfMi4zX01BTlVBTF9LZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiCisgICAgICAgICAgICAic3VtbWFyeSI6ICJLZXJuZWxfZGV2X2xvY2FsX3BhcmFsbGVsX21ldGEiCiAgICAgICAgIH0KICAgICB9CiBdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9zZGsuanNvbiBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvc2RrLmpzb24KaW5kZXggNjQ3NTU4Ni4uNDM0OTgyZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC9zZGsuanNvbgorKysgYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3Nkay5qc29uCkBAIC0xLDcgKzEsNyBAQAogWwogICAgIHsKICAgICAgICAgInRlc3QiOiB7Ci0gICAgICAgICAgICAiQGFsaWFzIjogInNkay5zZGtfcnVucWVtdS50ZXN0X3Nka190b29sY2hhaW5fY2FuX3J1bl9tdWx0aXBsZV9RRU1VX21hY2hpbmVzX3VuZGVyX1VORlMiLAorICAgICAgICAgICAgIkBhbGlhcyI6ICJzZGsuc2RrX3J1bnFlbXUudGVzdF9pbnN0YWxsX2Nyb3NzX3Rvb2xjaGFpbl9jYW5fcnVuX211bHRpcGxlX3FlbXVfZm9yX3g4NiIsCiAgICAgICAgICAgICAiYXV0aG9yIjogWwogICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgImVtYWlsIjogImVlLnBlbmcueWVvaEBpbnRlbC5jb20iLApAQCAtMTEsMjIgKzExLDIyIEBACiAgICAgICAgICAgICAiZXhlY3V0aW9uIjogewogICAgICAgICAgICAgICAgICIxIjogewogICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIlByZXBhcmUga2VybmVsLCByb290ZnMgdGFyLmJ6MiBpbWFnZSwgYW5kIHFlbXUgY29uZmlndXJhdGlvbiAgXG4gICAgXHRhLiBEb3dubG9hZCBrZXJuZWwsIHJvb3RmcyB0YXIuYnoyIGltYWdlIGFuZCBxZW11IGNvbmZpZ3VyYXRpb24gZnJvbSBwdWJsaWMgYXV0b2J1aWxkZXIgd2VicGFnZSAgXG4gICAgXHRiLiBHb3RvIGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG8uaW8vcHViL3JlbGVhc2VzLzx0YXJnZXRfcmVsZWFzZT4vbWFjaGluZXMvcWVtdS9xZW11eDg2LyBcbiAgICBcdGMuIERvd25sb2FkICBcbiAgICBcdCAgXHRpLiByb290ZnMgdGFyLmJ6MjogY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgXG4gICAgICBcdFx0aWkuIGtlcm5lbDogYnpJbWFnZS1xZW11eDg2LmJpbiBcbiAgICAgIFx0XHRpaWkuIHFlbXUgY29uZmlndXJhdGlvbjogY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJEb3dubG9hZCBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICIyIjogewotICAgICAgICAgICAgICAgICAgICAiYWN0aW9uIjogIkRvd25sb2FkICYgaW5zdGFsbCBzZGsgdG9vbGNoYWluIGZyb20gcHVibGljIGF1dG9idWlsZGVyIFxuICAgIFx0YS4gR290byBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvLmlvL3B1Yi9yZWxlYXNlcy88dGFyZ2V0X3JlbGVhc2U+L3Rvb2xjaGFpbi94ODZfNjQvIFxuICAgIFx0Yi4gRG93bmxvYWQgcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLXNkay08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2ggXG4gICAgXHRjLiBSdW4gY29tbWFuZDogcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLXNkay08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2giLAotICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRG93bmxvYWQgJiBpbnN0YWxsIHRvb2xjaGFpbiB0YXJiYWxsIG1hdGNoaW5nIHlvdXIgaG9zdCBmcm9tIHB1YmxpYyBhdXRvYnVpbGRlciBcbiAgICBcdGEuIEdvdG8gaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0by5pby9wdWIvcmVsZWFzZXMvPHRhcmdldF9yZWxlYXNlPi90b29sY2hhaW4veDg2XzY0LyBcbiAgICBcdGIuIERvd25sb2FkIHBva3ktZ2xpYmMteDg2XzY0LWNvcmUtaW1hZ2Utc2F0by08dHlwZS1hcmNoPi10b29sY2hhaW4tPHJlbGVhc2UtdmVyc2lvbj4uc2ggXG4gICAgXHRjLiBSdW4gY29tbWFuZDogcG9reS1nbGliYy14ODZfNjQtY29yZS1pbWFnZS1zYXRvLTx0eXBlLWFyY2g+LXRvb2xjaGFpbi08cmVsZWFzZS12ZXJzaW9uPi5zaCBcbiAgICBcdGQuIEFmdGVyIGluc3RhbGxhdGlvbiB0b29sY2hhaW4gIFJ1biBzb3VyY2UgY29tbWFuZCA6ICAgc291cmNlICAvdG9vbGNoYWluLWluc3RhbGxlZC1wYXRoL2Vudmlyb25tZW50LXNldHVwLTxhcmNoaXRlY3R1cmUgbmFtZT4tcG9reS1saW51eCIsCisgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvb2xjaGFpbiBnZXRzIGluc3RhbGxlZCBzdWNjZXNzZnVsbHkuIgogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIjMiOiB7CiAgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiRXh0cmFjdCByb290ZnMgdHdpY2UgaW50byB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUtZXh0cmFjdC1zZGsgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgcWVtdXg4Nl9yb290ZnNfaW1hZ2UxICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUtZXh0cmFjdC1zZGsgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnRhci5iejIgcWVtdXg4Nl9yb290ZnNfaW1hZ2UyIiwKLSAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCb3RoIGltYWdlcyBidWlsZCBzdWNjZXNzZnVsbHkuIgogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgIjQiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiIEZyb20gdGhlIDIgdGVybWluYWxzLCBzdGFydCBxZW11IHRvIGJvb3QgdXAgYm90aCB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgcWVtdXg4Nl9yb290ZnNfaW1hZ2UxICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgY29yZS1pbWFnZS1zYXRvLXNkay1xZW11eDg2LnFlbXVib290LmNvbmYgcWVtdXg4Nl9yb290ZnNfaW1hZ2UyICIsCisgICAgICAgICAgICAgICAgICAgICJhY3Rpb24iOiAiIEZyb20gdGhlIDIgdGVybWluYWxzLCBzdGFydCBxZW11IHRvIGJvb3QgdXAgYm90aCB0d28gaW1hZ2VzIFxuICAgIFx0YS4gUnVuIDIgY29tbWFuZHMgYmVsb3c6ICBcbiAgICAgICAgICAgICAgICAgIHJ1bnFlbXUgPGtlcm5lbC1uYW1lPiBjb3JlLWltYWdlLXNhdG8tc2RrLXFlbXV4ODYucWVtdWJvb3QuY29uZiBxZW11eDg2X3Jvb3Rmc19pbWFnZTEgIFxuICAgICAgICAgICAgICAgICAgcnVucWVtdSA8a2VybmVsLW5hbWU+IGNvcmUtaW1hZ2Utc2F0by1zZGstcWVtdXg4Ni5xZW11Ym9vdC5jb25mIHFlbXV4ODZfcm9vdGZzX2ltYWdlMiAiLAogICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3QgYm90aCBxZW11IHRvIGJvb3QgdXAgc3VjY2Vzc2Z1bGx5LiIKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LAotICAgICAgICAgICAgInN1bW1hcnkiOiAidGVzdF9zZGtfdG9vbGNoYWluX2Nhbl9ydW5fbXVsdGlwbGVfUUVNVV9tYWNoaW5lc191bmRlcl9VTkZTIgorICAgICAgICAgICAgInN1bW1hcnkiOiAidGVzdF9pbnN0YWxsX2Nyb3NzX3Rvb2xjaGFpbl9jYW5fcnVuX211bHRpcGxlX3FlbXVfZm9yX3g4NiIKICAgICAgICAgfQogICAgIH0KIF0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItbWFuYWdlZC1tb2RlLmpzb24gYi9wb2t5L21ldGEvbGliL29lcWEvbWFudWFsL3RvYXN0ZXItbWFuYWdlZC1tb2RlLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODEyZjU3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci1tYW5hZ2VkLW1vZGUuanNvbgpAQCAtMCwwICsxLDI1NzIgQEAKK1sKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWxsX2xheWVyczpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJWaWV3IGNvbXBhdGlibGUgbGF5ZXJzXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgcmlnaHQtaGFuZCBzaWRlLCBtaWQtcGFnZSwgdW5kZXIgdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgbWVudSwgaW4gdGhlIFwiTGF5ZXJzXCIgdGFibGUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgdGFibGUgaXMgcG9wdWxhdGVkIHdpdGggdGhlIGRlZmF1bHQgbGF5ZXJzIChlZy4gbWV0YS15b2N0by1ic3AsIG1ldGEteW9jdG8pIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IExheWVyLCBTdW1tYXJ5LCBSZXZpc2lvbiwgRGVwZW5kZW5jaWVzIGFuZCBBZGQvRGVsZXRlIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgXCJSZXZpc2lvblwiIGVudHJpZXMgbWF0Y2ggdGhlIHJlbGVhc2UgZW50cnkgZnJvbSB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UsIGluIHRoZSBwcm9qZWN0IGRldGFpbHMgc2VjdGlvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IG9ubHkgb25lIGluc3RhbmNlIG9mIHRoZSBjb3JlIGxheWVycyAob3BlbmVtYmVkZGVkLWNvcmUsIG1ldGEteW9jdG8gYW5kIG1ldGEteW9jdG8tYnNwKSBzaG93cyBpbiB0aGlzIHRhYmxlLCBhbmQgdGhhdCBpbnN0YW5jZSBoYXMgYSBicmFuY2ggdGhhdCBtYXRjaGVzIHRoZSBzZWxlY3RlZCBwcm9qZWN0IHJlbGVhc2UgZnJvbSB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBpbiB0aGUgXCJEZXBlbmRlbmNpZXNcIiBjb2x1bW4gc29tZSBvZiB0aGUgbGF5ZXJzIHNob3VsZCBoYXZlIGEgc3F1YXJlIGJveCB3aXRoIGEgbnVtYmVyIGluIGl0LiBXaGVuIGNsaWNraW5nIG9uIGl0LCBhIHNtYWxsIHBvcHVwIHNob3VsZCBhcHBlYXIgY29udGFpbmluZyBhIGxpc3Qgb2Ygb3RoZXIgbGF5ZXJzIHJlcXVpcmVkIGZvciB0aGlzIGxheWVyIHRvIHdvcmsuIEV2ZXJ5IGxheWVyIGxpc3RlZCBoZXJlIHNob3VsZCBhbHNvIGJlIGEgbGluayB0byB0aGUgbGF5ZXIncyBkZXRhaWwgcGFnZS4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIGFjdGl2YXRlIHRoZSBcIkdpdCByZXBvc2l0b3J5IFVSTFwiIGFuZCB0aGUgXCJTdWJkaXJlY3RvcnlcIiBjb2x1bW5zLiBJbiBcIkdpdCByZXBvc2l0b3J5IFVSTFwiOiBhbGwgdGhlIGVudHJpZXMgc2hvdWxkIGhhdmUgYSBsaW5rIHRvIHRoZSBleHRlcm5hbCBzaXRlIHdoZXJlIHRoZSBsYXllciB3YXMgIGRvd25sb2FkZWQgZnJvbS4gIFNpbWlsYXJseSwgaW4gXCJTdWJkaXJlY3RvcnlcIiBsaW5rcyBzaG91bGQgZXhpc3QsIGlmIGEgc3ViZGlyZWN0b3J5IGVudHJ5IGlzIHByZXNlbnQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFsbF9sYXllcnM6X2RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFsbF9sYXllcnM6X0FkZC9kZWxldGVfbGF5ZXJzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSwgbWlkLXBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnVzLCBpbiB0aGUgXCJMYXllcnNcIiB0YWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIEFkZC9kZWxldGUgY29sdW1uIGlzIGVuYWJsZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgYSBuZXcgbGF5ZXIgXG5QaWNrIGEgbGF5ZXIgdGhhdCBoYXNuJ3QgYmVlbiBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG4gXG5DbGljayBvbiB0aGUgXCJBZGQgbGF5ZXJcIiBidXR0b24gcHJlc2VudCBpbiB0aGUgXCJBZGQvZGVsZXRlXCIgY29sdW1uLiBcbklmIHRoZSBsYXllciBoYXMgdW5zYXRpc2ZpZWQgZGVwZW5kZW5jaWVzIGEgZGlhbG9nIHdpbGwgYXBwZWFyIGxpc3RpbmcgdGhlIGRlcGVuZGVuY2llcyAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKSwgZWFjaCBvZiB0aGVtIHdpdGggYSBjaGVja2JveCBzbyB0aGF0IHlvdSBjYW4gc2VsZWN0IC8gZGVzZWxlY3QgdGhlbS4gQWxsIGNoZWNrYm94ZXMgYXJlIGNoZWNrZWQgYnkgZGVmYXVsdC4gSWYgeW91IGNsaWNrIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbiB0aGUgZGlhbG9nIGNsb3Nlcy4gSWYgeW91IGNsaWNrIHRoZSBcIkFkZCBsYXllcnNcIiBidXR0b24sIHRoZSBsYXllcnMgYXJlIGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblxuTWFrZSBzdXJlIHRvIHVuY2hlY2sgYXQgbGVhc3QgMSBvZiB0aGUgZGVwZW5kZW5jaWVzIHNvIHlvdSBjYW4gY2hlY2sgdGhhdCBvbmx5IHRoZSBjaGVja2VkIGRlcGVuZGVuY2llcyBhcmUgYWRkZWQsIGFuZCBub3QgdGhlIHVuY2hlY2tlZCBvbmUocykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIFwiQWRkIGxheWVyXCIgYnV0dG9uIGZhZGVzIG91dCBhbmQgaXMgcmVwbGFjZWQgdGVtcG9yYXJpbHkgYnkgYSBtZXNzYWdlIGxpa2UgXCIxIGxheWVyIGFkZGVkXCIgYW5kIHRoZW4gaXQgaXMgcmVwbGFjZWQgYnkgdGhlIFwiRGVsZXRlIGxheWVyXCIgYnV0dG9uLiBcbkNoZWNrIHRoYXQgYSBjb25maXJtYXRpb24gbWVzc2FnZSBpcyBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzaW1pbGFyIHRvIFwiWW91IGhhdmUgYWRkZWQgMSBsYXllciB0byBwcm9qZWN0X25hbWVfaGVyZTogbWV0YS15b2N0by1ic3BcIi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSBhbiBleGlzdGluZyBsYXllciBcblBpY2sgYSBsYXllciB0aGF0J3MgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcbkNsaWNrIG9uIHRoZSBcIkRlbGV0ZSBsYXllclwiIGJ1dHRvbiBwcmVzZW50IGluIHRoZSBcIkFkZC9kZWxldGVcIiBjb2x1bW4uIFxuQ2hlY2sgdGhhdCBvbmNlIHRoZSBidXR0b24gaXMgcHJlc3NlZCwgaXQgZmFkZXMgb3V0IGFuZCBpcyByZXBsYWNlZCB0ZW1wb3JhcmlseSBieSB0aGUgbWVzc2FnZSBcIjEgbGF5ZXIgZGVsZXRlZFwiIGFuZCB0aGVuIGl0IGlzIHJlcGxhY2VkIGJ5IHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbi4gXG5DaGVjayB0aGF0IGEgY29uZmlybWF0aW9uIGlzIGRpc3BsYXllZCBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlIHNpbWlsYXIgdG8gXCJZb3UgaGF2ZSBkZWxldGVkIDEgbGF5ZXIgZnJvbSBwcm9qZWN0X25hbWVfaGVyZTogbWV0YS15b2N0by1ic3BcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgYWN0aW9ucyBzaG91bGQgY29tcGxldGUgc3VjY2Vzc2Z1bGx5LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFsbF9sYXllcnM6X0FkZC9kZWxldGVfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWxsX3RhcmdldHM6X0RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIElmIG5vIGltYWdlcyBleGlzdCBpbiB0aGUgcHJvamVjdCwgYnVpbGQgYW4gaW1hZ2UgYnkgaW5zZXJ0aW5nIFwiY29yZS1pbWFnZS1taW5pbWFsXCIgaW4gdGhlIFwiUmVjaXBlc1wiIGZpZWxkIGFuZCBwcmVzcyB0aGUgXCJCdWlsZFwiIGJ1dHRvbi4gV2FpdCBmb3IgdGhlIGltYWdlIHRvIGZpbmlzaCBidWlsZGluZy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiSW1hZ2UgUmVjaXBlc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIGxlZnQtaGFuZGVkIHNpZGUgb2YgdGhlIHBhZ2UsIHVuZGVyIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIG1lbnVzLCBpbiB0aGUgXCJDT01QQVRJQkxFIE1FVEFEQVRBXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IFwiQ29tcGF0aWJsZSBpbWFnZSByZWNpcGVzXCIgdGFibGUgaXMgcG9wdWxhdGVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgYXJlIHNob3duIGJ5IGRlZmF1bHQ6IFxuXHRcdEltYWdlIHJlY2lwZSBcblx0XHREZXNjcmlwdGlvbiBcbiBcblx0XHRMYXllciBcblx0XHRCdWlsZCBcblx0XHQgICAgIFZlcnNpb24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJBbGxfdGFyZ2V0czpfRGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X2RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gdGhlIG1haW4gcHJvamVjdCBwYWdlLCBjbGljayBvbiBcIkJpdEJha2UgdmFyaWFibGVzXCIgaW4gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIHRoZSBwYWdlLCB1bmRlciB0aGUgXCJDT05GSUdVUkFUSU9OXCIgbWVudS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGRlZmF1bHQgdmFsdWVzIGFyZSBhcyBmb2xsb3dzOiBcblx0RElTVFJPIC0gcG9reSBcblx0SU1BR0VfRlNUWVBFUyAtIGV4dDMgamZmczIgdGFyLmJ6MiBcblx0SU1BR0VfSU5TVEFMTF9hcHBlbmQgLSBcIk5vdCBzZXRcIiBcblx0UEFDS0FHRV9DTEFTRVMgLSBwYWNrYWdlX3JwbSBcbiAgICAgICAgU1NUQVRFX0RJUiAgLSAvaG9tZURpcmVjdG9yeS9wb2t5L3NzdGF0ZS1jYWNoZSBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB1bmRlciB0aGUgXCJBZGQgdmFyaWFibGVcIiBzZWN0aW9uLCB0aGUgXCJWYXJpYWJsZVwiIGZpZWxkIGhhcyB0aGUgZGVmYXVsdCB0ZXh0IFwiVHlwZSB2YXJpYWJsZSBuYW1lXCIgcHJlc2VudCwgdGhlIFwiVmFsdWVcIiBmaWVsZCBoYXMgdGhlIGRlZmF1bHQgdGV4dCBcIlR5cGUgdmFyaWFibGUgdmFsdWVcIiBwcmVzZW50IGFuZCB0aGF0IHRoZSBcIkFkZCB2YXJpYWJsZVwiIGJ1dHRvbiBpcyBpbmFjdGl2ZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdW5kZXIgdGhlIFwiQWRkIHZhcmlhYmxlXCIgc2VjdGlvbiwgdGhlcmUgaXMgdGV4dCBwcmVzZW50IHRoYXQgZGVzY3JpYmVzIHRoZSB2YXJpYWJsZXMgdGhhdCBUb2FzdGVyIGNhbm5vdCBtb2RpZnkuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDb25maWd1cmF0aW9uX3ZhcmlhYmxlczpfZGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X1Rlc3RfVUlfZWxlbWVudHMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoZSBtYWluIHByb2plY3QgcGFnZSwgY2xpY2sgb24gXCJCaXRCYWtlIHZhcmlhYmxlc1wiIGluIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiB0aGUgcGFnZSwgdW5kZXIgdGhlIFwiQ09ORklHVVJBVElPTlwiIG1lbnUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJESVNUUk86IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiY2hhbmdlXCIgaWNvbiBpcyBwcmVzZW50IChyZXByZXNlbnRlZCBieSBhIHBlbiBpY29uKSBcblx0LSBjbGljayBvbiB0aGUgXCJjaGFuZ2VcIiBpY29uIGFuZCBjaGVjayB0aGF0IHRoZSB2YXJpYWJsZSBiZWNvbWVzIGFuIGVkaXRhYmxlIHRleHQgZmllbGQsIHBvcHVsYXRlZCB3aXRoIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBcblx0LSBjaGVjayB0aGF0LCBpZiB5b3UgZGVsZXRlIHRoZSBjb250ZW50IG9mIHRoZSB0ZXh0IGZpZWxkLCB0aGUgc2F2ZSBidXR0b24gaXMgZGlzYWJsZWQgXG5cdC0gZW50ZXIgYSBkaXN0cm8gbmFtZSBjb250YWluaW5nIHNwYWNlcyAoZm9yIGV4YW1wbGUsIFwicG9reSB0aW55XCIpIC0gY2hlY2sgdGhhdCBhbiBlcnJvciBtZXNzYWdlIGlzIHNob3duIGV4cGxhaW5pbmcgdGhhdCB0aGUgdmFsdWUgZW50ZXJlZCBjYW5ub3QgY29udGFpbiBzcGFjZXMgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJTUFHRV9GU1RZUEVTOiBcblx0LSBjaGVjayB0aGF0IHRoZSBcImNoYW5nZVwiIGljb24gaXMgcHJlc2VudCAocmVwcmVzZW50ZWQgYnkgYSBwZW4gaWNvbikgXG5cdC0gY2xpY2sgb24gdGhlIFwiY2hhbmdlXCIgaWNvbiBhbmQgY2hlY2sgdGhhdCB0aGUgdmFyaWFibGUgYmVjb21lcyBlZGl0YWJsZSBsaWtlIHNvOiB0aGUgbWFpbiBpbnB1dCBjb250cm9sIGlzIGEgc2V0IG9mIGNoZWNrYm94ZXMuIFRoZXJlIGlzIGEgY2hlY2tib3ggZm9yIGVhY2ggc3VwcG9ydGVkIGltYWdlIHR5cGUuIFRoZSBjaGVja2JveGVzIGFyZSBsaXN0ZWQgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciwgYnJva2VuIGRvd24gaW4gMiBncm91cHM6IFxuXHRcdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBzZWxlY3RlZCB0eXBlcyBhcmUgY2hlY2tlZCBhbmQgbGlzdGVkIGF0IHRoZSB0b3AgXG5cdFx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG90aGVyIHR5cGVzIGFyZSBub3QgY2hlY2tlZCBhbmQgbGlzdGVkIGFmdGVyd2FyZHMgXG5cdC0gY2hlY2sgdGhhdCBhbGwgdGhpcyBpcyBpbnNpZGUgYSBzY3JvbGxhYmxlIGRpdiwgYW5kIGEgdGV4dCBmaWVsZCBpcyBwcmVzZW50IGFib3ZlIHRoYXQgZmlsdGVycyBvdXQgdGhlIGNvbnRlbnQgb2YgdGhlIGRpdiBhcyB5b3UgdHlwZS4gXG5cdC0gY2hlY2sgdGhhdCBpZiB0aGVyZSBhcmUgbm8gaW1hZ2UgdHlwZXMgbWF0Y2hpbmcgeW91ciB0eXBlZCBzdHJpbmcsIGEgbWVzc2FnZSBpcyBzaG93biBub3RpZnlpbmcgeW91IG9mIHRoaXM6IFwiTm8gaW1hZ2UgdHlwZXMgZm91bmRcIiBcblx0LSB1bnNlbGVjdCBhbGwgY2hlY2tib3hlcyBhbmQgY2hlY2sgdGhhdCB0aGUgc2F2ZSBidXR0b24gaXMgZGlzYWJsZWQgYW5kIGEgbWVzc2FnZSBpcyBzaG93bjogXCJZb3UgbXVzdCBzZWxlY3QgYXQgbGVhc3Qgb25lIGltYWdlIHR5cGVcIiBcblx0LSBzZWxlY3QgZGlmZmVyZW50IGNoZWNrYm94ZXMgYW5kIGhpdCBzYXZlIHRoZW4gbWFrZSBzdXJlIHRoYXQgdGhlIFx0c2F2ZWQgdmFsdWUgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBzZWxlY3RlZCBjaGVja2JveGVzICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSU1BR0VfSU5TVEFMTF9hcHBlbmQ6IFxuXHQtIGNoZWNrIHRoYXQgdGhlIFwiY2hhbmdlXCIgaWNvbiBpcyBwcmVzZW50IChyZXByZXNlbnRlZCBieSBhIHBlbiBpY29uKSBcblx0LSBjbGljayBvbiB0aGUgXCJjaGFuZ2VcIiBpY29uIGFuZCBjaGVjayB0aGF0IHRoZSB2YXJpYWJsZSBiZWNvbWVzIGEgdGV4dCBmaWVsZCwgcG9wdWxhdGVkIHdpdGggdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHZhcmlhYmxlLiAgXG5cblx0LSBjaGVjayB0aGF0IHRoZSBzYXZlIGJ1dHRvbiBpcyBkaXNhYmxlZCB3aGVuIHRoZSB0ZXh0IGZpZWxkIGlzIGVtcHR5IFxuXHQtIGluc2VydCB0ZXN0IGluIHRoZSB0ZXh0IGZpZWxkIChmb3IgZXhhbXBsZSBcInBhY2thZ2UxXCIpIGFuZCBoaXQgc2F2ZTsgYmUgYXdhcmUgdGhhdCB0aGVyZSBpcyBubyBpbnB1dCB2YWxpZGF0aW9uIGZvciB0aGlzIHZhcmlhYmxlIFxuXHQtIGNoZWNrIHRoYXQgYSBuZXcgXCJkZWxldGVcIiBpY29uKGEgdHJhc2hjYW4pIGhhcyBhcHBlYXJlZCBuZXh0IHRvIHRoZSBwZW4gaWNvbiBcblx0LSBjaGVjayB0aGF0IGNsaWNraW5nIG9uIHRoZSB0cmFzaGNhbiBpY29uIHJlc2V0cyB0aGUgdmFsdWUgdG8gXCJOb3Qgc2V0XCIgYW5kIG1ha2VzIHRoZSB0cmFzaGNhbiBpY29uIGRpc3NhcGVhciAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlBBQ0tBR0VfQ0xBU1NFUzogXG5cdC0gY2hlY2sgdGhhdCB0aGUgXCJjaGFuZ2VcIiBpY29uIGlzIHByZXNlbnQgKHJlcHJlc2VudGVkIGJ5IGEgcGVuIGljb24pIFxuXHQtIGNsaWNrIG9uIHRoZSBcImNoYW5nZVwiIGljb24gYW5kIGNoZWNrIHRoYXQgdGhlIHZhcmlhYmxlIGJlY29tZXMgZWRpdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6IFxuXHRcdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgZHJvcGRvd24gbWVudSB3aXRoIHZhbHVlcyAncGFja2FnZV9kZXYnLCAncGFja2FnZV9pcGsnIGFuZCAncGFja2FnZV9ycG0nIGluIHRoaXMgb3JkZXIuIFRoZSB2YWx1ZSBzZWxlY3RlZCB3aGVuIHlvdSBlbnRlciB0aGUgZWRpdGFibGUgc3RhdGUgbWF0Y2hlcyB0aGUgZmlyc3QgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIChlLmcuIGlmIHRoZSB2YWx1ZSBpcyBzZXQgdG8gJ3BhY2thZ2VfZGV2IHBhY2thZ2VfaXBrJyB0aGUgdmFsdWUgc2VsZWN0ZWQgaXMgJ3BhY2thZ2VfZGV2JykuICBcbiBcblx0XHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVHdvIGNoZWNrYm94ZXMsIHNob3dpbmcgdGhlIDIgdW5zZWxlY3RlZCB2YWx1ZXMgaW4gdGhlIGRyb3Bkb3duIG1lbnUuICBcblxuXHQtIHZlcmlmeSB0aGF0IHRoZSBjaGVja2JveGVzIGFyZSBjaGVja2VkIG9yIHVuY2hlY2tlZCB0byByZWZsZWN0IHRoZSB2YXJpYWJsZSB2YWx1ZSAoZS5nLiBpZiB0aGUgdmFsdWUgaXMgc2V0IHRvICdwYWNrYWdlX2RldiBwYWNrYWdlX2lwaycsIHRoZSAncGFja2FnZV9pcGsnIGNoZWNrYm94IGlzIGNoZWNrZWQsIGFuZCB0aGUgJ3BhY2thZ2VfcnBtJyBjaGVja2JveCBpcyB1bmNoZWNrZWQpLiAgXG5cblx0Qm90aCBjaGVja2JveGVzIGNhbiBiZSB1bmNoZWNrZWQuICBUaGUgdmFsdWUgb2YgdGhlIGNoZWNrYm94ZXMgY2hhbmdlcyBkeW5hbWljYWxseSBhcyBJIGNoYW5nZSB0aGUgc2VsZWN0ZWQgdmFsdWUgaW4gdGhlIGRyb3Bkb3duIG1lbnUuIFRoaXMgbWVhbnMgdGhhdCBhbnkgY2hhbmdlcyB0byB0aGUgZHJvcGRvd24gbWVudSBzaG91bGQgdW5jaGVjayB0aGUgY2hlY2tib3hlcy4gIFxuXG5cdC0gY2xpY2sgb24gc2F2ZSBhbmQgY2hlY2sgdGhhdCB0aGUgIHZhbHVlIHNlbGVjdGVkIGluIHRoZSBkcm9wZG93biBtZW51IGlzIHRoZSBmaXJzdCB2YWx1ZSBpbiB0aGUgdmFyaWFibGUsIGZvbGxvd2VkIGJ5IGFueSBjaGVja2VkIGNoZWNrYm94ZXMuICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjExIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkaW5nIHZhcmlhYmxlczogXG5cdC0gY2hlY2sgdGhhdCB0aGUgXCJhZGQgdmFyaWFibGVcIiBmb3JtIGhhcyAyIHRleHQgZmllbGRzOiBvbmUgZm9yIHRoZSB2YXJpYWJsZSBuYW1lIGFuZCBhIHNlY29uZCBvbmUgZm9yIHRoZSB2YXJpYWJsZSB2YWx1ZSwgcGx1cyBhbiBcImFkZFwiIGJ1dHRvbiB0aGF0IGlzIGRpc2FibGVkIHVudGlsIGJvdGggdGV4dCBmaWVsZHMgaGF2ZSBzb21lIGlucHV0IGluIHRoZW0uICBcbiBcblx0LSBjaGVjayB2YXJpYWJsZSBuYW1lIHZhbGlkYXRpb246IHZhcmlhYmxlIG5hbWVzIGNhbm5vdCBoYXZlIHNwYWNlcywgYW5kIGNhbiBvbmx5IGluY2x1ZGUgbGV0dGVycywgbnVtYmVycywgdW5kZXJzY29yZXMgYW5kIGRhc2hlczsgdmFyaWFibGUgbmFtZXMgZW50ZXJlZCBjYW5ub3QgbWF0Y2ggdGhlIG5hbWUgb2YgYSB2YXJpYWJsZSBhbHJlYWR5IG9uIHRoZSBsaXN0OyB2YXJpYWJsZSBuYW1lcyBjYW5ub3QgbWF0Y2ggdGhlIGJsYWNrbGlzdGVkIHZhcmlhYmxlcyBtZW50aW9uZWQgaW4gdGhlIHRleHQgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgcGFnZSAgXG5cblx0IC0gY2hlY2sgdGhhdCBhbiBlcnJvciBtZXNzYWdlIGlzIHNob3duIGluZGljYXRpbmcgdmFsaWRhdGlvbiBoYXMgZmFpbGVkIGFuZCB3aHkgb25jZSB5b3UgdHJ5IHRvIHB1dCBpbiB0aGUgdmFsdWUgb3IgY2xpY2sgb24gdGhlIFwiQWRkIHZhcmlhYmxlXCIgYnV0dG9uICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJpbnNlcnQgYSB2YWxpZCBjb21iaW5hdGlvbiBhbmQgY2xpY2sgb24gXCJBZGQgdmFyaWFibGVcIjsgY2hlY2sgdGhhdCBhIG5ldyB2YXJpYWJsZS92YWx1ZSBwYWlyIGlzIGFkZGVkIGF0IHRoZSBib3R0b20gb2YgdGhlIHZhcmlhYmxlIGxpc3QgYW5kIHRoYXQgdGhlIHRleHQgZmllbGRzIGluIHRoZSBcImFkZCB2YXJpYWJsZVwiIGZvcm0gYXJlIGNsZWFyZWQgYW5kIHRoZSBcImFkZFwiIGJ1dHRvbiBpcyBkaXNhYmxlZCBcblx0LSBjaGVjayB0aGF0IHRoZSBhZGRlZCB2YXJpYWJsZSBoYXMgYSBcImNoYW5nZVwiIGljb24gcHJlc2VudCBuZXh0IHRvIHRoZSB2YXJpYWJsZSB2YWx1ZSwgYW5kIGFsc28gdGhhdCBhIFwiZGVsZXRlXCIgaWNvbiBpcyBwcmVzZW50IG5leHQgdG8gdGhlIHZhcmlhYmxlIG5hbWUgXG5cdC0gY2hlY2sgdGhhdCBjbGlja2luZyB0aGUgXCJjaGFuZ2VcIiBpY29uIG1ha2VzIHRoZSB2YXJpYWJsZSBlZGl0YWJsZSBpbiBhIHRleHQgZmllbGQgY29udGFpbmluZyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIFxuXHQtIGNoZWNrIHRoYXQsIGlmIHlvdSBkZWxldGUgdGhlIGNvbnRlbnQgb2YgdGhlIHRleHQgZmllbGQsIHRoZSBzYXZlIGJ1dHRvbiBpc1x0ZGlzYWJsZWRcblx0LSBjaGVjayB0aGF0IGNsaWNraW5nIG9uIHRoZSBcImRlbGV0ZVwiIGJ1dHRvbiBjYXVzZXMgYm90aCB0aGUgdmFyaWFibGUgbmFtZSBhbmQgdGhlIHZhcmlhYmxlIHZhbHVlIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgdmFyaWFibGVzIGxpc3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ29uZmlndXJhdGlvbl92YXJpYWJsZXM6X1Rlc3RfVUlfZWxlbWVudHMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfRGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJCdWlsZHNcIiAsIG5leHQgdG8gdGhlIFwiQ29uZmlndXJhdGlvblwiIEJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHBhZ2UgaGVhZGluZyBpbmNsdWRlcyBhIGNvdW50ZXIgd2l0aCB0aGUgbnVtYmVyIG9mIGJ1aWxkcyBydW4gZm9yIHRoZSBwcm9qZWN0KGVnLiBcIlByb2plY3QgYnVpbGRzICg0KVwiKS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyB0YWJsZSBoZWFkcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0OiBvdXRjb21lLCBjb21wbGV0ZWQgb24sIGZhaWxlZCB0YXNrcywgZXJyb3JzLCB3YXJuaW5ncywgaW1hZ2UgZmlsZXMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IGJ5IGRlZmF1bHQgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSBcIkNvbXBsZXRlZCBvblwiIGluIGRlc2NlbmRpbmcgb3JkZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X0RlZmF1bHRfdmlldyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlByb2plY3RfYnVpbGRzOl9Tb3J0aW5nX3RoZV9wcm9qZWN0X2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBhbGwgcHJvamVjdCBidWlsZHNcIiBsaW5rIHNpdHVhdGVkIGJlbG93IHRoZSB0b3AtbW9zdCBcIkJ1aWxkXCIgYnV0dG9uIGFuZCB0ZXh0IGZpZWxkLCBuZXh0IHRvIHRoZSBcIlZpZXcgYWxsIHRhcmdldHNcIiBsaW5rIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSB0aGF0LCBieSBkZWZhdWx0LCB0aGUgdGFibGUgaXMgc29ydGVkIGJ5IFwiQ29tcGxldGVkIG9uXCIgaW4gZGVzY2VuZGluZyBvcmRlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjdGl2YXRlIGFsbCBjb2x1bW5zIGZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc29ydGFibGUsIGJvdGggaW4gYXNjZW5kaW5nIGFuZCBkZXNjZW5kaW5nIG9yZGVyOiBvdXRjb21lLCB0YXJnZXQsIG1hY2hpbmUsIHN0YXJ0ZWQgb24sIGNvbXBsZXRlZCBvbiwgd2FybmluZywgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IHRoYXQgaGlkaW5nIGEgY29sdW1uIHRoYXQgaXMgY3VycmVudGx5IGJlaW5nIHVzZWQgYXMgdGhlIHNvcnRpbmcgY3JpdGVyaWEgY2F1c2VzIHRoZSBzb3J0aW5nIHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IC0gaS5lIFwiQ29tcGxldGVkIG9uXCIgaW4gZGVzY2VuZGluZyBvcmRlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X1NvcnRpbmdfdGhlX3Byb2plY3RfYnVpbGRzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuUHJvamVjdF9idWlsZHM6X2N1c3RvbWl6ZV90aGVfY29sdW1uc19vZl90aGVfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgYWxsIHByb2plY3QgYnVpbGRzXCIgbGluayBzaXR1YXRlZCBiZWxvdyB0aGUgdG9wLW1vc3QgXCJCdWlsZFwiIGJ1dHRvbiBhbmQgdGV4dCBmaWVsZCwgbmV4dCB0byB0aGUgXCJWaWV3IGFsbCB0YXJnZXRzXCIgbGluayBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiRWRpdCBjb2x1bW5cIiBtZW51IGFuZCBjaGVjayB0aGF0IHRoZSBzZWxlY3RlZCBjb2x1bW5zIG1hdGNoIHRoZSBjb2x1bW5zIGN1cnJlbnRseSBiZWluZyBzaG93bi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGNhbm5vdCBiZSByZW1vdmVkIGZyb20gdGhlIHNob3duIGNvbHVtbnM6IGNvbXBsZXRlZCBvbiwgb3V0Y29tZSwgcmVjaXBlIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHVuY2hlY2tlZCBpdGVtcyBjaGFuZ2VkIHRvIGNoZWNrZWQgaW1tZWRpYXRlbHkgYXBwZWFyIGluIHRoZSB0YWJsZSBhbmQgdGhhdCBjaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gdW5jaGVja2VkIGltbWVkaWF0ZWx5IGRpc2FwcGVhciBmcm9tIHRoZSB0YWJsZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiUHJvamVjdF9idWlsZHM6X2N1c3RvbWl6ZV90aGVfY29sdW1uc19vZl90aGVfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Qcm9qZWN0X2J1aWxkczpfZmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgYWxsIHByb2plY3QgYnVpbGRzXCIgbGluayBzaXR1YXRlZCBiZWxvdyB0aGUgdG9wLW1vc3QgXCJCdWlsZFwiIGJ1dHRvbiBhbmQgdGV4dCBmaWVsZCwgbmV4dCB0byB0aGUgXCJWaWV3IGFsbCB0YXJnZXRzXCIgbGluay4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIGNvbHVtbnMgaGF2ZSBmaWx0ZXJzOiBvdXRjb21lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIGZhaWxlZCB0YXNrcy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gQ2xpY2sgYSBmaWx0ZXIgYnV0dG9uIG9mIGEgb25lIGNvbHVtbiBhbmQgYSBmaWx0ZXIgZGlhbG9ndWUgb2NjdXJzLiBTZWxlY3QgYSBmaWx0ZXIgaXRlbS4gVGhlIGZpbHRlciByZXN1bHQgd291bGQgYmUgc2hvd2VkLiBUaGVuIHNlbGVjdCBhbm90aGVyIGZpbHRlciBpdGVtIG9mIGFub3RoZXIgY29sdW1uIGFuZCB0aGUgcHJldmlvdXNseSBhcHBsaWVkIGZpbHRlciBpcyBvdmVycmlkZGVuIGJ5IHRoZSBuZXdseSBzZWxlY3RlZCBmaWx0ZXIgd2hlbiBhIGZpbHRlciBmcm9tIGEgZGlmZmVyZW50IGNvbHVtbiBpcyBhcHBsaWVkIHRvIHRoZSB0YWJsZS4gVGhpcyBmaWx0ZXIgd2lsbCBvdmVycmlkZSB0aGUgY3VycmVudCBmaWx0ZXIuXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBSdW4gYSBzZWFyY2ggcXVlcnkgYW5kIHlvdSBjYW4gc2VlIHByZXZpb3VzIGZpbHRlciByZXN1bHRzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlByb2plY3RfYnVpbGRzOl9maWx0ZXJfdGhlX2NvbnRlbnRzX29mX3RoZV90YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlByb2plY3RfYnVpbGRzOl9zZWFyY2hfdGhlX2NvbnRlbnRzX29mX3RoZV90YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGFsbCBwcm9qZWN0IGJ1aWxkc1wiIGxpbmsgc2l0dWF0ZWQgYmVsb3cgdGhlIHRvcC1tb3N0IFwiQnVpbGRcIiBidXR0b24gYW5kIHRleHQgZmllbGQsIG5leHQgdG8gdGhlIFwiVmlldyBhbGwgdGFyZ2V0c1wiIGxpbmsuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBidWlsZHNcIi4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIGEgc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIHN1Ym1pdHRlZCBhbmQgcmVzdWx0cyByZXR1cm5lZDogXG4tICBXZSBrZWVwIHRoZSBzZWFyY2ggc3RyaW5nIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBcbi0gV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHBhY2thZ2VzLiBcbi0gV2UgY2hhbmdlIHRoZSBwYWdlIGhlYWRpbmcgdG8gaW5kaWNhdGUgdGhlIG51bWJlciBvZiByZXN1bHRzIHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHBhY2thZ2VzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBwYWNrYWdlcy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQWxsIG1lbnRpb25lZCBlbGVtZW50cyBzaG91bGQgYmUgcHJlc2VudCBhbmQgZnVuY3Rpb25hbC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJQcm9qZWN0X2J1aWxkczpfc2VhcmNoX3RoZV9jb250ZW50c19vZl90aGVfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5MYXllcl9kZXRhaWxzX3BhZ2U6X0RlZmF1bHRfdmlldyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIFwiVmlldyBjb21wYXRpYmxlIGxheWVyc1wiIGxpbmsgc2l0dWF0ZWQgaW4gdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgcG9ydGlvbiBvZiB0aGUgcGFnZSwgdW5kZXIgXCJMYXllcnNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgbGF5ZXIgKGZvciBleGFtcGxlIFwibWV0YS1hYXJjaDY0XCIpLiBOb3RpY2UgdGhhdCB0aGUgcGFnZSBpcyBkaXZpZGVkIGludG8gMiBjb2x1bW5zOiB0aGUgbGVmdCBvbmUgaXMgYnJva2VuIGRvd24gaW50byB0YWJzOyB0aGUgcmlnaHQgb25lIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXllci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgYnJlYWRjcnVtYnMgZXhpc3QgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZS4gQ2hlY2sgdGhhdCB0aGV5IHdvcmsgYnkgY2xpY2tpbmcgb24gdGhlbSwgdGhlbiBoaXR0aW5nIGJhY2sgdG8gcmV0dXJuIHRvIHRoZSBsYXllciBkZXRhaWwgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHBhZ2UgaGVhZGluZyBpbmNsdWRlcyB0aGUgbGF5ZXIgYnJhbmNoIG5hbWUgLSBpdCBzaG91bGQgbG9vayBzb21ldGhpbmcgbGlrZSBtZXRhLWFhcmNoNjQoZGl6enkpIGlmIHRoZSBkaXp6eSBicmFuY2ggd2FzIHNlbGVjdGVkLiBUaGUgYnJhbmNoIG5hbWUgc2hvdWxkIGFsc28gYmUgcHJlc2VudCBpbiB0aGUgYnJlYWRjcnVtYnMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgXCJBYm91dFwiIGluZm9ybWF0aW9uOiBcbml0IHNob3dzIHN1bW1hcnksIGRlc2NyaXB0aW9uIGluIHRoaXMgb3JkZXIsIGlmIG5vdCBlbXB0eS4gSWYgYW4gaW5mb3JtYXRpb24gaXRlbSBpcyBlbXB0eSAobGlrZSB0aGUgU3VtbWFyeSBpbiB0aGUgZXhhbXBsZSBzaG93biBpbiB0aGlzIHBhZ2UpLCBpdCBkb2VzIG5vdCBkaXNwbGF5LiBcbiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIHRhYnM6IFxuQ2hlY2sgdGhhdCB0aGVyZSBhcmUgMyB0YWJzOiBcImxheWVyIGRldGFpbHNcIiwgXCJyZWNpcGVzXCIsIFwibWFjaGluZXNcIiBzaG93aW5nIHVwIGluIHRoaXMgb3JkZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcIkxheWVyIGRldGFpbHNcIiB0YWI6IFxuQ2hlY2sgdGhhdCB0aGUgdGFiIHNob3dzOiBcbi0gQSBidXR0b24gdG8gYWRkIC8gcmVtb3ZlIHRoZSBsYXllciB0byAvIGZyb20gdGhlIHByb2plY3QuIEluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmVcIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0XCIgXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG4tIFNvbWUgZGV0YWlscyBhYm91dCB0aGUgbGF5ZXI6IHJlcG9zaXRvcnkgVVJMLCByZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSwgcmV2aXNpb24gKHRoZSBicmFuY2gpIGFuZCB0aGUgbGlzdCBvZiBsYXllciBkZXBlbmRlbmNpZXMuIElmIGFueSBvZiB0aGUgYWJvdmUgZGV0YWlscyBpcyBibGFuayAobW9zdCBsaWtlbHksIHRoZSBzdWJkaXJlY3RvcnkpIGl0IGRvZXMgbm90IGRpc3BsYXkuVGhlIGljb25zIG5leHQgdG8gdGhlIHJlcG9zaXRvcnkgYW5kIHN1YmRpcmVjdG9yeSBpbmZvcm1hdGlvbiBhcmUgbGlua3MgdG8gdGhlaXIgd2ViIGluc3RhbmNlcy4gVGhvc2UgbGlua3Mgc2hvdWxkIG9wZW4gaW4gYSBuZXcgd2luZG93LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiUmVjaXBlc1wiIHRhYjogXG5DaGVjayB0aGF0IGl0IHNob3dzOiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgY291bnRlciBpbiB0aGUgdGFiIGxhYmVsIHNob3dpbmcgdGhlIHRvdGFsIG51bWJlciBvZiB0YXJnZXRzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgYnV0dG9uIHRvIGFkZCAvIHJlbW92ZSB0aGUgbGF5ZXIgdG8gLyBmcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIHRoZXNlIHRhcmdldHNcIi9cIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgcmVjaXBlcyB0YWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcgY29sdW1uczogXG4gXG4tIFJlY2lwZSBcbi0gRGVzY3JpcHRpb246IHRoZSB2YWx1ZSBvZiB0aGUgREVTQ1JJUFRJT04gdmFyaWFibGUuIElmIG5vdCBzZXQsIHRoZW4gdGhlIHZhbHVlIG9mIHRoZSBTVU1NQVJZIHZhcmlhYmxlLiBcbi0gQnVpbGQgcmVjaXBlLCB3aGljaCBzaG93cyBhIFwiYnVpbGQgcmVjaXBlXCIgYnV0dG9uLiBUaGUgXCJidWlsZCByZWNpcGVcIiBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgbGF5ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblxuVGhlIHJlY2lwZXMgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gXG5cbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiTWFjaGluZXNcIiB0YWI6IFxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjE0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIG1hY2hpbmVzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgYnV0dG9uIHRvIGFkZC9yZW1vdmUgdGhlIGxheWVyIHRvL2Zyb20gdGhlIHByb2plY3QuIEluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmUgXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdCB0byBlbmFibGUgdGhlc2UgbWFjaGluZXNcIi9cIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgbWFjaGluZXMgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuIFxuLSBNYWNoaW5lLiBcbiBcbi0gRGVzY3JpcHRpb246IFRoZSB2YWx1ZSBvZiB0aGUgREVTQ1JJUFRJT04gdmFyaWFibGUgaW4gdGhlIC5jb25mIGZpbGUgXG4tIFNlbGVjdCBtYWNoaW5lLCB3aGljaCBzaG93cyBhIFwic2VsZWN0XCIgYnV0dG9uLiBUaGUgXCJzZWxlY3RcIiBidXR0b24gaXMgZGlzYWJsZWQgd2hlbiB0aGUgbGF5ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBcblRoZSBtYWNoaW5lcyB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJNYWNoaW5lXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlci4gIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkxheWVyX2RldGFpbHNfcGFnZTpfRGVmYXVsdF92aWV3IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAic3RhbmNpdXgubWloYWlsQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJWaWV3IGNvbXBhdGlibGUgbGF5ZXJzXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgXCJQcm9qZWN0IGNvbmZpZ3VyYXRpb25cIiBwb3J0aW9uIG9mIHRoZSBwYWdlLCB1bmRlciBcIkxheWVyc1wiIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGxheWVyIChmb3IgZXhhbXBsZSBcIm1ldGEtYWFyY2g2NFwiKS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGRpbmcvcmVtb3ZpbmcgYSBsYXllcjogXG5DbGljayBvbiBcIkFkZCB0aGUgJGxheWVyX25hbWVfaGVyZSBsYXllciB0byB5b3VyIHByb2plY3RcIiBhbmQgdmVyaWZ5IHRoYXQgdGhlIFwiQWRkIGxheWVyXCIgYnV0dG9uIHR1cm5zIGludG8gYSByZWQgYnV0dG9uIHdpdGggdGhlIGxhYmVsIFwiRGVsZXRlIHRoZSAkbGF5ZXJfbmFtZV9oZXJlIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgYW5kIHRoYXQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSwgYmVsb3cgdGhlIGhlYWRlciwgeW91IHNlZSBhIG1lc3NhZ2UgXCJZb3UgaGF2ZSBhZGRlZCAxIGxheWVyIHRvICAkcHJvamVjdF9uYW1lX2hlcmU6ICRsYXllcl9uYW1lX2hlcmVcIi4gVGhpcyBtZXNzYWdlIGNhbiBiZSBkaXNtaXNzZWQgYnkgY2xpY2tpbmcgb24gdGhlIFwiWFwiIGF0IHRoZSB0b3AgcmlnaHQgc2lkZSBvZiB0aGUgbWVzc2FnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIHJlZCBcIkRlbGV0ZSB0aGUgJGxheWVyX25hbWVfaGVyZSBmcm9tIHlvdXIgcHJvamVjdFwiIGJ1dHRvbiBhbmQgdmVyaWZ5IHRoYXQgdGhlIFwiRGVsZXRlIGxheWVyXCIgYnV0dG9uIHR1cm5zIGJhY2sgaW50byBhIGdyZXkgYnV0dG9uIHdpdGggdGhlIGxhYmVsIFwiQWRkIHRoZSAkbGF5ZXJfbmFtZV9oZXJlIHRvIHlvdXIgcHJvamVjdFwiIGFuZCB0aGF0IGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2UsIGJlbG93IHRoZSBoZWFkZXIsIHlvdSBzZWUgYSBtZXNzYWdlIFwiWW91IGhhdmUgZGVsZXRlZCAxIGxheWVyIHRvICRwcm9qZWN0X25hbWVfaGVyZTogJGxheWVyX25hbWVfaGVyZVwiLiBUaGlzIG1lc3NhZ2UgY2FuIGJlIGRpc21pc3NlZCBieSBjbGlja2luZyBvbiB0aGUgXCJYXCIgYXQgdGhlIHRvcCByaWdodCBzaWRlIG9mIHRoZSBtZXNzYWdlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVwZW5kZW5jaWVzIHdpbmRvdzogXG4gRm9yIGEgbGF5ZXIgdGhhdCBoYXMgZGVwZW5kZW5jaWVzKCBmb3IgZXhhbXBsZSBcIm1ldGEtZXR0dXNcIiksIG9uY2UgeW91IGNsaWNrIHRoZSBcIkFkZCBsYXllclwiIGJ1dHRvbiwgdmVyaWZ5IHRoYXQgeW91IGdldCBhIG1lc3NhZ2Ugd2luZG93IHRoYXQgcHJlc2VudHMgdGhlIGRlcGVuZGVuY2llcyBmb3IgdGhpcyBsYXllciB3aXRoIHRoZSBtZXNzYWdlIFwiJGxheWVyX25hbWVfaGVyZSBkZXBlbmRzIG9uIHNvbWUgbGF5ZXJzIHRoYXQgYXJlIG5vdCBhZGRlZCB0byB5b3VyIHByb2plY3QuIFNlbGVjdCB0aGUgb25lcyB5b3Ugd2FudCB0byBhZGQ6XCIsIGEgbGlzdCB3aXRoIGEgY2hlY2tib3ggZm9yIGVhY2ggb25lIGFuZCAyIG9wdGlvbnM6IFwiQWRkIGxheWVyc1wiIG9yIFwiQ2FuY2VsXCIuIFxuQ2xpY2tpbmcgb24gXCJBZGQgbGF5ZXJzXCIgYWRkcyBhbGwgdGhlIGRlcGVuZGVuY2llcyBhbmQgdGhlIGN1cnJlbnQgbGF5ZXIuIENsaWNraW5nIG9uIFwiQ2FuY2VsXCIgdGFrZXMgeW91IGJhY2sgdG8gdGhlIGxheWVyIGRldGFpbCBwYWdlIHdpdGhvdXQgYWRkaW5nIGFueSBvZiB0aGUgbGF5ZXJzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJSZWNpcGVzXCIgdGFibGUgXG5DaGVjayB0aGF0IGlmIHRoZSBsYXllciBoYXNuJ3QgYmVlbiBhZGRlZCB0byB0aGUgcHJvamVjdCwgdGhlIFwiQnVpbGQgcmVjaXBlXCIgYnV0dG9uKHMpIGFyZSBkaXNhYmxlZC4gQWZ0ZXIgdGhlIHByb2plY3QgaXMgYWRkZWQsIGNoZWNrIHRoYXQgdGhlIFwiQnVpbGQgcmVjaXBlXCIgYnV0dG9uKHMpIGJlY29tZSBhY3RpdmUgYW5kIGNsaWNraW5nIG9uIGEgYnV0dG9uIHNlbmRzIHlvdSB0byB0aGUgbWFpbiBwcm9qZWN0IHBhZ2UgYW5kIHN0YXJ0cyBhIGJ1aWxkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJNYWNoaW5lcyB0YWJsZVwiIFxuQ2hlY2sgdGhhdCBpZiB0aGUgbGF5ZXIgaGFzbid0IGJlZW4gYWRkZWQgdG8gdGhlIHByb2plY3QsIHRoZSBcIlNlbGVjdCBtYWNoaW5lXCIgYnV0dG9uKHMpIGFyZSBkaXNhYmxlZC4gIEFmdGVyIHRoZSBwcm9qZWN0IGlzIGFkZGVkLCBjaGVjayB0aGF0IHRoZSBcIkJ1aWxkIG1hY2hpbmVcIiBidXR0b24ocykgYmVjb21lIGFjdGl2ZSBhbmQgY2xpY2tpbmcgb24gYSBidXR0b24gc2VuZHMgeW91IHRvIHRoZSBtYWluIHByb2plY3QgcGFnZSBhbmQgbW9kaWZpZXMgdGhlIHByb2plY3QgbWFjaGluZSB0byB0aGUgb25lIHNlbGVjdGVkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuSW1wb3J0aW5nX25ld19sYXllcnMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgXCJJbXBvcnQgbGF5ZXJcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIHBvcnRpb24gb2YgdGhlIHBhZ2UsIHVuZGVyIFwiTGF5ZXJzXCIgdGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgaW1wb3J0IGxheWVyIGZvcm0gaXMgc2hvd24sIHdpdGggdGhlIGZvbGxvd2luZyBlbGVtZW50cyBhcyB0ZXh0IGZpZWxkcyB0byBiZSBmaWxsZWQgb3V0OiBcbkxheWVyIG5hbWUgKGV4YW1wbGU6IG1ldGEtaW1wb3J0ZWQpIFxuR2l0IHJlcG9zaXRvcnkgVVJMIChleGFtcGxlOiBnaXQ6Ly9naXRodWIuY29tL3Noci1kaXN0cmlidXRpb24vbWV0YS1zbWFydHBob25lLmdpdCkgXG5SZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSAob3B0aW9uYWwpIChleGFtcGxlOiBtZXRhLWFjZXIpIFxuUmV2aXNpb24gKGV4YW1wbGU6IG1hc3RlcikgXG5cbkluIGFkZGl0aW9uLCBhIHNlcGFyYXRlIHBvcnRpb24gb2YgdGhlIGZvcm0gd2lsbCBiZSB0aGUgXCJMYXllciBkZXBlbmRlbmNpZXNcIiBwb3J0aW9uLCB3aGVyZSB5b3UgY2FuIGFkZCBkZXBlbmRlbmN5IGxheWVycyBmb3IgdGhlIGxheWVyIHlvdSBhcmUgaW1wb3J0aW5nLiBUaGlzIHBvcnRpb24gd2lsbCBjb250YWluIGEgbGlzdCBvZiBkZXBlbmRlbmNpZXMgYWxyZWFkeSBhZGRlZCwgd2l0aCBhIHRyYXNoY2FuIGljb24gbmV4dCB0byB0aGVtIHRoYXQgd2lsbCBkZWxldGUgdGhlbSB3aGVuIHByZXNzZWQgYW5kIGEgdGV4dCBmaWVsZCB3aXRoIGEgXCJhZGQgbGF5ZXJcIiBidXR0b24gbmV4dCB0byBpdCBmb3IgYWRkaW5nIGRlcGVuZGVuY2llcy4gKGZvciBleGFtcGxlOiBtZXRhLWFuZHJvaWQsIG1ldGEtb2UpIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBdCB0aGUgYm90dG9tIG9mIHRoZSBmb3JtLCBjaGVjayB0aGF0IGEgYnV0dG9uIGV4aXN0cyB3aXRoIHRoZSBsYWJlbCBcIkltcG9ydCBhbmQgYWRkIHRvIHByb2plY3RcIi4gQ2hlY2sgdGhhdCB0aGlzIGJ1dHRvbiBpcyBpbmFjdGl2ZSB1bnRpbCB0aGUgcmVxdWlyZWQgZmllbGRzIGFyZSBmaWxsZWQgb3V0LiBcbkNoZWNrIHRoYXQgY2xpY2tpbmcgb24gdGhlIFwiSW1wb3J0IGJ1dHRvblwiIHRha2VzIHlvdSBiYWNrIHRvIHRoZSBtYWluIHByb2plY3QgcGFnZSBhbmQgdGhhdCB0aGUgaW1wb3J0ZWQgbGF5ZXIsIGFsb25nIHdpdGggYW55IGRlcGVuZGVuY2llcywgd2VyZSBhZGRlZCBpbiB0aGUgcHJvamVjdCdzIGxheWVycy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgbWVudGlvbmVkIGVsZW1lbnRzIHNob3VsZCBiZSBwcmVzZW50IGFuZCBmdW5jdGlvbmFsLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkltcG9ydGluZ19uZXdfbGF5ZXJzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5X2Zvcl9pbXBvcnRlZF9sYXllcnMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJzdGFuY2l1eC5taWhhaWxAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBidWlsZHNcIiB0YWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBcIlZpZXcgY29tcGF0aWJsZSBsYXllcnNcIiBsaW5rIHNpdHVhdGVkIGluIHRoZSBcIlByb2plY3QgY29uZmlndXJhdGlvblwiIHBvcnRpb24gb2YgdGhlIHBhZ2UsIHVuZGVyIFwiTGF5ZXJzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgYW4gaW1wb3J0ZWQgbGF5ZXIgKHNlZSBpbiBUQyAxMTEyIGhvdyB0byBpbXBvcnQgYSBsYXllcikuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQYWdlIGhlYWRpbmcgXG5DaGVjayB0aGF0IHRoZSBwYWdlIGhlYWRpbmcgaW5jbHVkZXMgdGhlIGJyYW5jaCwgdGFnIG9yIGNvbW1pdCBhcyBlbnRlcmVkIHdoZW4gaW1wb3J0aW5nIHRoZSBsYXllci5cbklmIGl0J3MgYSBjb21taXQsIENoZWNrIHRoYXQgb25seSB0aGUgZmlyc3QgMTAgY2hhcmFjdGVycyBhcmUgc2hvd24gZm9sbG93ZWQgYnkgYW4gZWxsaXBzaXMgY2hhcmFjdGVyLiBUaGUgZnVsbCBjb21taXQgc2hvd3Mgb24gaG92ZXIuVGhlIGJyYW5jaCwgdGFnIG9yIGNvbW1pdCBpbmZvcm1hdGlvbiBhbHNvIHNob3dzIGluIHRoZSBicmVhZGNydW1iLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIFwiQWJvdXRcIiBpbmZvcm1hdGlvbiBcbkl0IHNob3dzOiBcbi0gU3VtbWFyeSBcbi0gRGVzY3JpcHRpb24gXG5pbiB0aGlzIG9yZGVyLiBUaG9zZSB0d28gaXRlbXMgYWx3YXlzIHNob3csIGluZGVwZW5kZW50bHkgb2YgdGhlbSBiZWluZyBibGFuayBvciBub3QsIHNpbmNlIHRoZXkgY2FuIGJlIGVkaXRlZCBieSB1c2Vycy4gXG5cbldoZW4gYW4gaW5mb3JtYXRpb24gaXRlbSBpcyBlbXB0eSwgaXQgc2hvd3MgYXMgXCJub3Qgc2V0XCIgd2l0aCBhIFwiY2hhbmdlXCIgaWNvbi4gQ2xpY2sgb24gdGhlIGljb24gdG8gYWRkIGEgdmFsdWUuIFxuXG5Gb3IgXCJTdW1tYXJ5XCIgYW5kIFwiRGVzY3JpcHRpb25cIiBjbGlja2luZyB0aGUgXCJjaGFuZ2VcIiBpY29uIHNob3dzIHRoZSBzZWxlY3RlZCBpbmZvcm1hdGlvbiBpdGVtIGluIGl0cyBlZGl0YWJsZSBzdGF0ZS4gSXQgY29uc2lzdHMgb2YgYSB0ZXh0IGFyZWEsIHNldCB0byAyIHJvd3MgZm9yIHRoZSBcIlN1bW1hcnlcIiBhbmQgdG8gNiByb3dzIGZvciB0aGUgXCJEZXNjcmlwdGlvblwiLCBwbHVzICdzYXZlJyBhbmQgJ2NhbmNlbCcgYnV0dG9ucy4gIFxuVGhlICdzYXZlJyBidXR0b25zIG9ubHkgYWN0aXZhdGUgd2hlbiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGluIHRoZSB0ZXh0IGFyZWEuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgdGFicyBcbkNoZWNrIHRoYXQgdGhlIHRhYnMgc2hvd24gYXJlOiBcbi0gXCJMYXllciBkZXRhaWxzXCIgXG4tIFwiUmVjaXBlc1wiIFxuLSBcIk1hY2hpbmVzXCIgXG5UaGUgdGFicyBzaG91bGQgc2hvdyBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcmUgbGlzdGVkIGFib3ZlLiBcblxuXCJMYXllciBkZXRhaWxzXCIgdGFiOiBcbkluIG5vdC1lZGl0YWJsZSBwYWdlcywgdGhlIHRhYiBzaG93czogXG4tIEEgYnV0dG9uIHRvIGFkZCAvIHJlbW92ZSB0aGUgbGF5ZXIgdG8gLyBmcm9tIHRoZSBwcm9qZWN0LiBJbiB0aGlzIHRhYiwgdGhlIGJ1dHRvbiBsYWJlbHMgYXJlOiBcblx0LSBcIkFkZCB0aGUgJGxheWVyX25hbWUgbGF5ZXIgdG8geW91ciBwcm9qZWN0XCIgXG5cdC0gXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cbi0gU29tZSBkZXRhaWxzIGFib3V0IHRoZSBsYXllcjogcmVwb3NpdG9yeSBVUkwsIHJlcG9zaXRvcnkgc3ViZGlyZWN0b3J5LCByZXZpc2lvbiAoYnJhbmNoIC8gdGFnIC8gY29tbWl0KSBhbmQgdGhlIGxpc3Qgb2YgbGF5ZXIgZGVwZW5kZW5jaWVzLiBUaGlzIGlzIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCBmcm9tIHVzZXJzIHdoZW4gaW1wb3J0aW5nIGEgbGF5ZXIuICBUaGUgc3ViZGlyZWN0b3J5IGFuZCB0aGUgbGF5ZXIgZGVwZW5kZW5jaWVzIGNhbiBiZSBibGFuay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiBibGFuaywgdGhleSBzaG93IGFzIFwibm90IHNldFwiLiBcblxuRWRpdGluZyB0aGUgXCJSZXBvc2l0b3J5IFVSTFwiIFxuVGhlIFwiR2l0IHJlcG9zaXRvcnkgVVJMXCIgY2Fubm90IGJlIGJsYW5rLiBUaGVyZWZvcmUsIHdlIHNob3cgb25seSBhIFwiY2hhbmdlXCIgaWNvbiBuZXh0IHRvIGl0LiBXaGVuIHlvdSBjbGljayB0aGUgaWNvbiwgdGhlIHRleHQgaW5wdXQgZmllbGQgaXMgc2V0IHRvIHRoZSBjdXJyZW50IHZhbHVlLiBJZiB5b3UgZGVsZXRlIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCBmaWVsZCwgd2UgZGlzYWJsZSB0aGUgXCJzYXZlXCIgYnV0dG9uLiBXZSBlbmFibGUgaXQgYWdhaW4gd2hlbiB5b3UgdHlwZSBzb21ldGhpbmcgaW4gdGhlIGZpZWxkLiAgXG5cbkVkaXRpbmcgdGhlIFwiUmVwb3NpdG9yeSBzdWJkaXJlY3RvcnlcIiBcblRoZSBcIlJlcG9zaXRvcnkgc3ViZGlyZWN0b3J5XCIgY2FuIGJlIGJsYW5rLiBUaGVyZWZvcmUsIHdlIHNob3cgYm90aCBcImNoYW5nZVwiIGFuZCBcImRlbGV0ZVwiIGljb25zLiBXaGVuIHlvdSBjbGljayB0aGUgXCJkZWxldGVcIiBpY29uLCB3ZSAgXG5zaG93IHRoZSBsYWJlbCBcIk5vdCBzZXRcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcbldoZW4geW91IGNsaWNrIHRoZSBcImNoYW5nZVwiIGljb24sIHRoZSB0ZXh0IGlucHV0IGZpZWxkIGlzIHNldCBcbnRvIHRoZSBjdXJyZW50IHZhbHVlLiAgXG5JZiB5b3UgZGVsZXRlIHRoZSB2YWx1ZSBmcm9tIHRoZSBpbnB1dCBmaWVsZCwgd2UgZGlzYWJsZSB0aGUgXCJzYXZlXCIgYnV0dG9uLiBXZSBlbmFibGUgaXQgYWdhaW4gd2hlbiB5b3UgdHlwZSBzb21ldGhpbmcgaW4gdGhlIGZpZWxkLiBcbiBcblxuRWRpdGluZyB0aGUgXCJSZXZpc2lvblwiIFxuVGhlIFwiUmV2aXNpb25cIiBjYW5ub3QgYmUgYmxhbmsuIFRoZXJlZm9yZSwgd2Ugc2hvdyBvbmx5IGEgXCJjaGFuZ2VcIiBpY29uIG5leHQgdG8gaXQuIFdoZW4geW91IGNsaWNrIHRoZSBpY29uLCB0aGUgdGV4dCBpbnB1dCBmaWVsZCBpcyBzZXQgdG8gdGhlIGN1cnJlbnQgdmFsdWUuIElmIHlvdSBkZWxldGUgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IGZpZWxkLCB3ZSBkaXNhYmxlIHRoZSBcInNhdmVcIiBidXR0b24uIFdlIGVuYWJsZSBpdCBhZ2FpbiB3aGVuIHlvdSB0eXBlIHNvbWV0aGluZyBpbiB0aGUgZmllbGQuIFxuXG5UaGUgXCJSZWNpcGVzXCIgdGFiIFxuSXQgc2hvd3M6IFxuMTogQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIHRhcmdldHMgcHJvdmlkZWQgYnkgdGhlIGxheWVyIFxuMjogQSBidXR0b24gdG8gYWRkL3JlbW92ZSB0aGUgbGF5ZXIgdG8vZnJvbSB0aGUgcHJvamVjdC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gdGhpcyB0YWIsIHRoZSBidXR0b24gbGFiZWxzIGFyZSBcbiBcblwiQWRkIHRoZSAkbGF5ZXJfbmFtZSBsYXllciB0byB5b3VyIHByb2plY3QgdG8gZW5hYmxlIFxudGhlc2UgdGFyZ2V0c1wiIFxuXCJEZWxldGUgdGhlICRsYXllcl9uYW1lIGxheWVyIGZyb20geW91ciBwcm9qZWN0XCIgXG5cbjM6IEEgXCJSZWNpcGVzXCIgdGFibGUgd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuIFxuLSBSZWNpcGUgXG4tIERlc2NyaXB0aW9uOiB0aGUgdmFsdWUgb2YgdGhlIERFU0NSSVBUSU9OIHZhcmlhYmxlLiBJZiBub3Qgc2V0LCB0aGVuIHRoZSB2YWx1ZSBvZiB0aGUgU1VNTUFSWSB2YXJpYWJsZS4gXG4tIEJ1aWxkIHJlY2lwZSwgd2hpY2ggc2hvd3MgYSBcImJ1aWxkIHJlY2lwZVwiIGJ1dHRvbi4gVGhlIFwiYnVpbGQgcmVjaXBlXCIgYnV0dG9uIGlzIGRpc2FibGVkIHdoZW4gdGhlIGxheWVyIGlzIG5vdCBhZGRlZCB0byB0aGUgcHJvamVjdC4gXG5UaGUgcmVjaXBlcyB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJSZWNpcGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyLiBcblxuVGhlIFwiTWFjaGluZXNcIiB0YWI6IFxuSXQgc2hvd3M6IFxuMTogQSBjb3VudGVyIGluIHRoZSB0YWIgbGFiZWwgc2hvd2luZyB0aGUgdG90YWwgbnVtYmVyIG9mIG1hY2hpbmVzIHByb3ZpZGVkIGJ5IHRoZSBsYXllciBcbjI6IEEgYnV0dG9uIHRvIGFkZC9yZW1vdmUgdGhlIGxheWVyIHRvL2Zyb20gdGhlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoaXMgdGFiLCB0aGUgYnV0dG9uIGxhYmVscyBhcmUgXG4gXG5cdC0gXCJBZGQgdGhlICRsYXllcl9uYW1lIGxheWVyIHRvIHlvdXIgcHJvamVjdCB0byBlbmFibGUgdGhlc2UgbWFjaGluZXNcIiBcblx0LSBcIkRlbGV0ZSB0aGUgJGxheWVyX25hbWUgbGF5ZXIgZnJvbSB5b3VyIHByb2plY3RcIiBcbjM6IEEgXCJtYWNoaW5lc1wiIHRhYmxlIHdpdGggdGhlIGZvbGxvd2luZyBjb2x1bW5zOiAgXG4tIE1hY2hpbmUuIFxuIFxuLSBEZXNjcmlwdGlvbjogVGhlIHZhbHVlIG9mIHRoZSBERVNDUklQVElPTiB2YXJpYWJsZSBpbiB0aGUgLmNvbmYgZmlsZSBcbi0gU2VsZWN0IG1hY2hpbmUsIHdoaWNoIHNob3dzIGEgXCJzZWxlY3RcIiBidXR0b24uIFRoZSBcInNlbGVjdFwiIGJ1dHRvbiBpcyBkaXNhYmxlZCB3aGVuIHRoZSBsYXllciBpcyBub3QgYWRkZWQgdG8gdGhlIHByb2plY3QuIFxuVGhlIG1hY2hpbmVzIHRhYmxlIGlzIHNvcnRlZCBieSBcIk1hY2hpbmVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCBtZW50aW9uZWQgZWxlbWVudHMgc2hvdWxkIGJlIHByZXNlbnQgYW5kIGZ1bmN0aW9uYWwuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTGF5ZXJfZGV0YWlsc19wYWdlOl9VSV9mdW5jdGlvbmFsaXR5X2Zvcl9pbXBvcnRlZF9sYXllcnMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5NdWx0aXBsZV9idWlsZF9kaXJlY3RvcmllcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogInN0YW5jaXV4Lm1paGFpbEBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImFmdGVyIHN0YXJ0aW5nIFRvYXN0ZXIgZm9yIHRoZSBmaXJzdCB0aW1lLCBnbyB0byBodHRwOi8vW2xvY2FsaG9zdF06ODAwMC9hZG1pbi8gYW5kIGxvZ2luIHdpdGggdGhlIGFkbWluIHVzZXIgeW91IGNyZWF0ZWQgZHVyaW5nIHNldHVwLiBDbGljayBvbiB0aGUgQnVpbGQgZW52aXJvbm1lbnRzIHNlY3Rpb24sIGFuZCBvbiB0aGUgQnVpbGRFbnZpcm9ubWVudCBvYmplY3QuIFxuXG5cblxuTm90ZTogeW91IGNhbiBjcmVhdGUgYSBzdXBlcnVzZXIgdG8gZW50ZXIgYXMgYWRtaW4gd2l0aCAuLi4gcG9reS9iaXRiYWtlL2xpYi90b2FzdGVyL21hbmFnZS5weSBjcmVhdGVzdXBlcnVzZXIgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAibWFrZSBub3RlIG9mIHRoZSBcInNvdXJjZWRpclwiIGFuZCBcImJ1aWxkZGlyXCIgdmFsdWVzLiBUaGUgYnVpbGQgZGlyIHdpbGwgYmUgc29tZXRoaW5nIGxpa2UgXCIvaG9tZS91c2VyL3BhdGgvYnVpbGRcIiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIGNsaWNrIFwiYmFja1wiLCBhbmQgY2xpY2sgb24gdGhlIFwiQWRkIGJ1aWxkIGVudmlyb25tZW50XCIgYnV0dG9uIGluIHRoZSB1cHBlciByaWdodCBjb3JuZXIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJlbnRlciBBZGRyZXNzIFwiMlwiLCBCZXR5cGU6IFwibG9jYWxcIiwgXCJzb3VyY2VkaXJcIiBpcyB0byBiZSBzZXQgdG8gd2hhdGV2ZXIgdGhlIG9yaWdpbmFsIGJ1aWxkIGVudiBpcyBzZXQsIGFuZCBcImJ1aWxkZGlyXCIgaXMgQU5PVEhFUiBwYXRoIGF0IHRoZSBzYW1lIGxldmVsIGFzIHRoZSBvcmlnaW5hbCBidWlsZGRpciAtIGUuZy4gXCIvaG9tZS91c2VyL3BhdGgvYnVpbGQyXCIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIHNhdmUgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkV4ZWN1dGUgY29tbWFuZCA6IC9wb2t5JCBzb3VyY2Ugb2UtaW5pdC1idWlsZC1lbnYgYnVpbGQyIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgbmV3IHByb2plY3QgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImlzc3VlIDIgYnVpbGQgKGUuZy4gY29yZS1pbWFnZS1taW5pbWFsIGNvcmUtaW1hZ2Utc2F0bylcblxuXG5cblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJvdGggYnVpbGQgY29tbWFuZHMgc2hvdWxkIHJ1biBzaW11bHRhbmVvdXNseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJNdWx0aXBsZV9idWlsZF9kaXJlY3RvcmllcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlJ1bl9hZ2Fpbl9idXR0b25fZnJvbV9hbGxfYnVpbGRzX3BhZ2VfbXVzdF9ydW5fdGhlX3NwZWNpZmllZF90YXNrIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0IG9yIHNlbGVjdCBhbiBleGlzdGluZyBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSBpbWFnZSB0YXNrIChleDogY29yZS1pbWFnZS1taW5pbWFsOmNsZWFuKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guXG5mcm9tIGFsbCBidWlsZCBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIHRhc2sgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiByZWJ1aWxkIGJ1dHRvbiBmcm9tIGFsbCBidWlsZCBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU3BlY2lmaWVkIHRhc2sgd2lsbCBydW4gYWdhaW4uIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHRoZSBidWlsZCBhbmQgdmVyaWZ5IGlmIHRoZSBudW1iZXIgb2YgdGFza3MgZXhlY3V0ZWQgPSAxLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25seSB0aGUgc3BlY2lmaWVkIHRhc2sgaXMgZXhlY3V0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gcHJvamVjdCBidWlsZHMgcGFnZSBjbGljayBvbiBydW4gYWdhaW4gYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiU3BlY2lmaWVkIHRhc2sgd2lsbCBydW4gYWdhaW4uXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWxkIGFuZCB2ZXJpZnkgaWYgdGhlIG51bWJlciBvZiB0YXNrcyBleGVjdXRlZCA9IDEuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJSdW5fYWdhaW5fYnV0dG9uX2Zyb21fYWxsX2J1aWxkc19wYWdlX211c3RfcnVuX3RoZV9zcGVjaWZpZWRfdGFzayIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkludGVsX2xheWVyc19idWlsZHMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbGF5ZXJzIHRhYi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY29tcGF0aWJsZSBsYXllcnMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGZvciBpbnRlbC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlJldHVybiByZXN1bHRzIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBpbnRlbCBsYXllcnMgbGlrZTogbWV0YS1pbnRlbCwgbWV0YS1pbnRlbC1xdWFyay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byBwcm9qZWN0LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYWRkZWQgbGF5ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGxheWVyIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gbWFjaGluZSB0YWIsIHNlbGVjdCBhIG1hY2hpbmUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJNYWNoaW5lIGhhcyBjaGFuZ2VkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZShjb3JlLWltYWdlLW1pbmltYWwpIG9yIGEgcmVjaXBlIGZyb20gcmVjaXBlIHRhYi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJJbnRlbF9sYXllcnNfYnVpbGRzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuRG93bmxvYWRfb3RoZXJfYXJ0aWZhY3RzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRlbGV0ZSB0aGUgYnVpbGQvdG1wIGZvbGRlci4gKHRvIG1ha2Ugc3VyZSB0aGUgcm9vdGZzIHRhc2sgcnVucyBhbmQgb3RoZXIgYXJ0aWZhY3RzIGFyZSBnZW5lcmF0ZWQgZm9yIHRoZSBidWlsZCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhbiBpbWFnZSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSBvdGhlciBhcnRpZmFjdHMgdGFiIGNsaWNrIG9uIGEgbGluay4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gZG93bmxvYWQgb3RoZXIgYXJ0aWZhY3RzLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkRvd25sb2FkX290aGVyX2FydGlmYWN0cyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkRvd25sb2FkX2xpY2VuY2VfbWFuaWZlc3QiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVsZXRlIHRoZSBidWlsZC90bXAgZm9sZGVyLiAodG8gbWFrZSBzdXJlIGxpY2Vuc2UgbWFuaWZlc3QgaXMgZ2VuZXJhdGVkKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYW4gaW1hZ2UgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gSW1hZ2UgdGFiIGNsaWNrIG9uIFwiRG93bmxvYWRcIiBidXR0b24gZm9yIExpY2Vuc2UgbWFuaWZlc3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3UgY2FuIGRvd25sb2FkIGxpY2Vuc2UgbWFuaWZlc3QuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiRG93bmxvYWRfbGljZW5jZV9tYW5pZmVzdCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfZGVwZW5kZW5jaWVzX2xheWVycyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBMYXllcnMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNvbXBhdGlibGUgbGF5ZXJzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBhIGxheWVyIHdpdGggbXVsdGktbGV2ZWwgZGVwZW5kZW5jaWVzLiAoZXg6IG1ldGEtYWNlcikgXG5UaGlzIGxheWVyIGRlcGVuZHMgb24gbWV0YS1uZXR3b3JraW5nLCB3aGljaCBpbiB0dXJuIGRlcGVuZHMgb24gbWV0YS1hbmRyb2lkLiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIHNlbGVjdGVkIGxheWVyIGFuZCBkZXBlbmRlbmNpZXMgd2VyZSBhZGRlZCB0byBwcm9qZWN0LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayBpZiBtZXRhLXB5dGhvbiBhcHBlYXJzIGluIHRoZSBkZXBlbmRlbmNpZXMgbGlzdCwgYW5kIGFkZCB0aGUgbGF5ZXJzIHRvIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRGVsZXRlIGEgZGVwZW5kZW5jeSBsYXllci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVyIHJlbW92ZWQgZnJvbSBwcm9qZWN0LiBcbiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLlxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCB3aWxsIGZhaWwgd2l0aCBhbiBlcnJvci5cblxuXHQiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2RlcGVuZGVuY2llc19sYXllcnMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2J1aWxkX3JlY2lwZV9idXR0b25fZnJvbV9yZWNpcGVzX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gc29mdHdhcmUgcmVjaXBlcyAvIGltYWdlIHJlY2lwZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNvbXBhdGlibGUgc29mdHdhcmUgcmVjaXBlcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWxlY3QgYSByZWNpcGUgYW5kIGNsaWNrIG9uICdhZGQgbGF5ZXInIGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVyIGFkZGVkIHRvIHByb2plY3QgYW5kIHRoZSAnYWRkIGxheWVyJyBidXR0b24gYmVjb21lcyAnYnVpbGQgcmVjaXBlJy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gXCJCdWlsZCByZWNpcGVcIiBidXR0b24gZm9yIG9uZSByZWNpcGUgKGV4IDogY29yZS1pbWFnZS1taW5pbWFsIC8gYnVzeWJveCkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRlc3QgdGhpcyBmb3Igc29mdHdhcmUgYW5kIGltYWdlIHJlY2lwZXMgdGFibGVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVGVzdF9idWlsZF9yZWNpcGVfYnV0dG9uX2Zyb21fcmVjaXBlc19wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9jb21wYXRpYmxlX21hY2hpbmVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgbWFzdGVyIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBtYWNoaW5lcyBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjb21wYXRpYmxlIG1hY2hpbmVzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNob29zZSBhIG1hY2hpbmUgYW5kIGNsaWNrIG9uIGFkZCBsYXllciBmb3IgaXQuIChpbnRlbC1jb3JlMi0zMikiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byBwcm9qZWN0IGFuZCBhZGQgbGF5ZXIgYnV0dG9uIGJlY29tZXMgc2VsZWN0IG1hY2hpbmUuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHNlbGVjdCBtYWNoaW5lLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTWFjaGluZSBoYXMgY2hhbmdlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gbGF5ZXIgcGFnZSB0aGF0IGdlbmVyYXRlIHRoZSBtYWNoaW5lLiAobWV0YS1pbnRlbCkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gbGF5ZXIgcGFnZSBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSBnZW5lcmF0ZWQgYnkgdGhhdCBsYXllci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2NvbXBhdGlibGVfbWFjaGluZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5CdWlsZHNfd2l0aF9kaWZmZXJlbnRfbWFjaGluZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSBtYXN0ZXIgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCBhIG1hY2hpbmUgKGV4OiBxZW11eDg2LTY0KSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIG1hY2hpbmUgaGFzIGNoYW5nZWQuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiR28gdG8gcHJvamVjdCBwYWdlIGFuZCBjaGFuZ2UgdGhlIG1hY2hpbmUgKGV4OiBxZW11bWlwcykiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBtYWNoaW5lIGhhcyBjaGFuZ2VkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2Utc2F0bykgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuWW91IGNhbiBidWlsZCByZWNpcGVzIHdpdGggZGlmZmVyZW50IG1hY2hpbmVzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayBvbiBidWlsZCBzdW1tYXJ5IHBhZ2UgdGhhdCB0aGUgbWFjaGluZSBtYXRjaCB0aGUgbWFjaGluZSBzZWxlY3RlZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkJ1aWxkc193aXRoX2RpZmZlcmVudF9tYWNoaW5lcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfYml0YmFrZV92YXJpYWJsZXNfLV9JTUFHRV9GU1RZUEVTIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBDb25maWd1cmF0aW9uIC0tPiBCaXRCYWtlIHZhcmlhYmxlcyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBCaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGFuZ2UgSU1BR0VfRlNUWVBFUyB2YXJpYWJsZSwgYWRkIHNvbWUgaW1hZ2UgdHlwZXMgbGlrZTogaGRkaW1nLCBleHQ0LCBldGMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJJbWFnZSB0eXBlcyB3ZXJlIGFkZGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgaW4gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZSBpZiB0aGUgaW1hZ2UgdHlwZXMgc2VsZWN0ZWQgd2VyZSBidWlsdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkFsbCB0aGUgaW1hZ2UgdHlwZXMgc2VsZWN0ZWQgYXBwZWFycyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfYml0YmFrZV92YXJpYWJsZXNfLV9JTUFHRV9GU1RZUEVTIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgSWYgbm8gaW1hZ2VzIGV4aXN0IGluIHRoZSBwcm9qZWN0LCBidWlsZCBhbiBpbWFnZSBieSBpbnNlcnRpbmcgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBpbiB0aGUgXCJSZWNpcGVzXCIgZmllbGQgYW5kIHByZXNzIHRoZSBcIkJ1aWxkXCIgYnV0dG9uLiBXYWl0IGZvciB0aGUgaW1hZ2UgdG8gZmluaXNoIGJ1aWxkaW5nLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgbGluayBzaXR1YXRlZCBpbiB0aGUgbGVmdC1oYW5kZWQgc2lkZSBvZiB0aGUgcGFnZSwgdW5kZXIgdGhlIFwiUHJvamVjdCBjb25maWd1cmF0aW9uXCIgbWVudXMsIGluIHRoZSBcIkNPTVBBVElCTEUgTUVUQURBVEFcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBcIkNvbXBhdGlibGUgc29mdHdhcmUgcmVjaXBlc1wiIHRhYmxlIGlzIHBvcHVsYXRlZC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGFyZSBzaG93biBieSBkZWZhdWx0OiBcblxuXHRcdFNvZnR3YXJlIHJlY2lwZSBcblx0XHREZXNjcmlwdGlvbiBcbiBcblx0XHRMYXllciBcblx0XHRCdWlsZCBcblx0XHQgICAgIFZlcnNpb24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTb2Z0d2FyZV9yZWNpcGVzOl9kZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Tb2Z0d2FyZV9yZWNpcGVzOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJOYXZpZ2F0ZSB0byB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgdGFibGUgaXMgc29ydGVkIG9uIHRoZSBcIlNvZnR3YXJlIFJlY2lwZVwiIGNvbHVtbiBieSBkZWZhdWx0IGluIGFzY2VuZGluZyBvcmRlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjdGl2YXRlIGFsbCBjb2x1bW5zIGZyb20gdGhlIFwiRWRpdCBjb2x1bW5cIiBkcm9wLWRvd24gbWVudS4gQ2hlY2sgdGhhdCBcIkJ1aWxkXCIgYW5kIFwiU29mdHdhcmUgUmVjaXBlXCIgY29sdW1ucyBjYW5ub3QgYmUgdW5jaGVja2VkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBcIlNvZnR3YXJlIFJlY2lwZVwiLCBcIlNlY3Rpb25cIiwgXCJMaWNlbnNlXCIsIFwiTGF5ZXJcIiBhcmUgdGhlIG9ubHkgc29ydGFibGUgdGFibGUgaGVhZHMuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IHRoZSB0YWJsZSBieSBcIkxheWVyXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYSBsYXllcihzdWNoIGFzIG1ldGEteW9jdG8pLiBXaGVuIHlvdSBjbGljayBcImJhY2tcIiBidXR0b24gaW4gd2ViLWJyb3dzZXIgdG8gZ28gYmFjayB0byB0aGUgXCJDb21wYXRpYmxlIGltYWdlIHJlY2lwZXNcIiB0YWJsZSBpdCBzaG91bGQgc3RpbGwgYmUgc29ydGVkIGJ5IFwiTGF5ZXJcIi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgXG5JZiB5b3UgdXNlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdG8gaGlkZSB0aGUgY29sdW1uIHdpdGggdGhlIGFwcGxpZWQgc29ydGluZywgd2UgcmV2ZXJ0IHRoZSBzb3J0aW5nIHRvIHRoZSBkZWZhdWx0IHNvcnRpbmcgKGkuZS4gXCJSZWNpcGVcIikuIFRoZSBkZWZhdWx0IHNvcnRpbmcgYWx3YXlzIHVzZXMgb25lIG9mIHRoZSBjb3JlIGNvbHVtbnMsIHdoaWNoIGNhbm5vdCBiZSBoaWRkZW4gdXNpbmcgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaCBcblNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gXG5Tb3J0IHJlY2lwZXMgYnkgXCJMYXllclwiIGNvbHVtbiBoZWFkaW5nLiBJbnB1dCBhIHN0cmluZyAoc3VjaCBhcyBcIm1ldGFcIikgaW4gc2VhcmNoIGJveCBhbmQgY2xpY2sgc2VhcmNoIGJ1dHRvbi4gTWFrZSBzdXJlIHJlc3VsdHMgcmV0dXJuZWQgYXJlIHNvcnRlZCBieSBcIkxheWVyXCIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTb2Z0d2FyZV9yZWNpcGVzOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfU2VhcmNoaW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgYnVpbGRzXCIgdGFibGUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJOYXZpZ2F0ZSB0byB0aGUgXCJTb2Z0d2FyZSBSZWNpcGVzXCIgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHNlYXJjaCBpcyBtYWRlIG9mIGEgdGV4dCBpbnB1dCBmaWVsZCBhbmQgYSBcIlNlYXJjaFwiIGJ1dHRvbiBpbiBhIHRvb2xiYXIgYWJvdmUgdGhlIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBubyBzZWFyY2ggcXVlcnkgaGFzIGJlZW4gZW50ZXJlZCwgd2UgaGF2ZSBwbGFjZWhvbGRlciB0ZXh0IHNheWluZzogXCJTZWFyY2ggY29tcGF0aWJsZSBzb2Z0d2FyZSByZWNpcGVzXCIuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImNvcmVcIiBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgXG4oMSkgcmV0dXJuZWQgcmVzdWx0cyBcblRoZSBzZWFyY2ggc3RyaW5nIGlzIGtlcHQgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSByZXN1bHRzIHJldHVybmVkIG9jY3VyLiBDbGljayAgXCJDbGVhciBzZWFyY2hcIiBpY29uIHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgdGhlIGNvbXBhdGlibGUgcmVjaXBlcy4gXG4oMikgbm8gcmVzdWx0cyByZXR1cm5lZCBcbklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHBhZ2UgaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gcmVjaXBlcyBmb3VuZFwiLCBhbmQgd2Ugc2hvdyB5b3UgYW4gYWxlcnQgd2l0aCBhIHNlYXJjaCBmb3JtIGFuZCBhbiBvcHRpb24gdG8gc2hvdyBhbGwgdGFyZ2V0cy4gQ2hlY2sgdGhhdCBcInNob3cgY29tcGF0aWJsZSByZWNpcGVzXCIgYnV0dG9uIGlzIGF2YWlsYWJsZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gSSBydW4gYSBzZWFyY2gsIHRoZSBzZWFyY2ggaGFwcGVucyBhZ2FpbnN0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyAoaW5kZXBlbmRlbnRseSBvZiB0aGV5IGJlaW5nIHNob3duIG9yIGhpZGRlbik6XG4tIFNvZnR3YXJlIFJlY2lwZVxuLSBSZWNpcGUgdmVyc2lvblxuLSBEZXNjcmlwdGlvblxuLSBSZWNpcGUgZmlsZVxuLSBTZWN0aW9uXG4tIExpY2Vuc2Vcbi0gTGF5ZXJcbi0gUmV2aXNpb25cbklucHV0IGEgc3RyaW5nIHRvIHNlYXJjaCBmb3IgdGhlIGFib3ZlIGNvbHVtbiBoZWFkaW5ncyBzZXBhcmF0ZWx5IHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBzZWFyY2ggaGFwcGVucyBhZ2FpbnN0IHRoZSBjb2x1bW5zLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCwgc29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIiBcblNlYXJjaGluZyBkb2VzIG5vdCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSB0YWJsZTogdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQgd2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuXG5TZWFyY2ggYSBzdHJpbmcgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGFuZCBmaWx0ZXJzIFxuVGhlIHNjb3BlIG9mIHRoZSBmaWx0ZXJzIGlzIHRoZSBjb250ZW50IGN1cnJlbnRseSBvbiB0aGUgdGFibGUgKHRoaXMgbWVhbnMgYWxsIHRhYmxlIHBhZ2VzLCBub3Qgb25seSB0aGUgb25lIGRpc3BsYXllZCkuIFRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgY29udGVudCBvZiB0aGUgZGF0YWJhc2UuIFxuXG5JZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSwgYW55IGZpbHRlciBhcHBsaWVkIGFmdGVyd2FyZHMgd2lsbCBmaWx0ZXIgdGhlIGNvbnRlbnQgcmV0dXJuZWQgYnkgdGhlIHNlYXJjaCBxdWVyeS4gXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFyZ2V0cykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfU2VhcmNoaW5nX3RoZV9jb250ZW50X29mX3RoZV9zb2Z0d2FyZV9yZWNpcGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuU29mdHdhcmVfcmVjaXBlczpfRmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIGJ1aWxkc1wiIHRhYmxlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk5hdmlnYXRlIHRvIHRoZSBcIlNvZnR3YXJlIFJlY2lwZXNcIiBwYWdlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogXG4tIEJ1aWxkIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiBDbGljayBhIGZpbHRlciBidXR0b24gb2YgYSBvbmUgY29sdW1uIGFuZCBhIGZpbHRlciBkaWFsb2d1ZSBvY2N1cnMuIFNlbGVjdCBhIGZpbHRlciBpdGVtLiBUaGUgZmlsdGVyIHJlc3VsdCB3b3VsZCBiZSBzaG93ZWQuIFRoZW4gc2VsZWN0IGFub3RoZXIgZmlsdGVyIGl0ZW0gb2YgYW5vdGhlciBjb2x1bW4gYW5kIHRoZSBwcmV2aW91c2x5IGFwcGxpZWQgZmlsdGVyIGlzIG92ZXJyaWRkZW4gYnkgdGhlIG5ld2x5IHNlbGVjdGVkIGZpbHRlciB3aGVuIGEgZmlsdGVyIGZyb20gYSBkaWZmZXJlbnQgY29sdW1uIGlzIGFwcGxpZWQgdG8gdGhlIHRhYmxlLiBJbiB0aGlzIHN0YXRlLCB3ZSBzaG93IHNvbWUgaGVscCB0ZXh0IG5leHQgdG8gdGhlIFwiQXBwbHlcIiBidXR0b24sIHNheWluZyBcIllvdSBjYW4gb25seSBhcHBseSBvbmUgZmlsdGVyIHRvIHRoZSB0YWJsZS4gVGhpcyBmaWx0ZXIgd2lsbCBvdmVycmlkZSB0aGUgY3VycmVudCBmaWx0ZXIuXCIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU29mdHdhcmVfcmVjaXBlczpfRmlsdGVyX3RoZV9jb250ZW50c19vZl90aGVfc29mdHdhcmVfcmVjaXBlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfdGhlX3BhY2thZ2VzX2luY2x1ZGVkX2luX3RoZV9pbWFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFVuZGVyIElNQUdFUyB0YWIgY2xpY2sgb24gdGhlIHJlY2lwZSBidWlsdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkltYWdlIHBhZ2Ugb3Blbi4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gYSBwYWNrYWdlIG5hbWUuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHRoZSBwYWNrYWdlIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlVuZGVyIGZpbGUgdGl0bGUgY2xpY2sgb24gdGhlIGxpbmsgdG8gZmlsZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBhcmUgcmVkaXJlY3RlZCB0byBkaXJlY3Rvcnkgc3RydWN0dXJlIGFuZCB5b3UgY2FuIHNlZSB3aGVyZSB0aGUgZmlsZSBpcyBsb2NhdGVkLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfdGhlX3BhY2thZ2VzX2luY2x1ZGVkX2luX3RoZV9pbWFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfdGhlX2ZpbHRlcnNfZnJvbV9hX2ltYWdlX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFN0YXJ0IFRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUb2FzdGVyIHN0YXJ0cy4gXG4iCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gYnVpbGQgc3VtbWFyeSBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBDb25maWd1cmF0aW9uIC0gQml0YmFrZSBWYXJpYWJsZXMuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJpdGJha2UgdmFyaWFibGVzIHBhZ2UuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRlc3QgRGVzY3JpcHRpb24gZmlsdGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkZpbHRlciB3b3JrcyBvay4gKGZpbHRlciByZXR1cm5zIG9ubHkgaXRlbXMgdGhhdCBtYXRjaCB0aGUgc2VsZWN0ZWQgY3JpdGVyaWEpICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfdGhlX2ZpbHRlcnNfZnJvbV9hX2ltYWdlX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5UZXN0X2RlcGVuZGVuY2llc19saW5rIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gdGhlIGJ1aWx0IHJlY2lwZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gcmVjaXBlcyB0YWIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHJlY2lwZXMgcGFnZS4gXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gZWRpdCBjb2x1bW5zIGFuZCBzZWxlY3QgRGVwZW5kZW5jaWVzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRGVwZW5kZW5jaWVzIGNvbHVtbiBpcyBzaG93biBpbiB0aGUgdGFibGUuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgbnVtYmVyIG9mIGRlcGVuZGVuY2llcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkEgcG9wIHVwIHdpdGggZGVwZW5kZW5jaWVzIHdpbGwgYXBwZWFyLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBhIGRlcGVuZGVuY3kuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiByZWNpcGUgZGVwZW5kZW5jeSBwYWdlLiAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X2RlcGVuZGVuY2llc19saW5rIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9yZWNpcGVfZmlsZV9saW5rIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVG9hc3RlciBzdGFydHMuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgKGV4OiBtYXN0ZXIpIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gSW1hZ2UgcmVjaXBlcyB0YWIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBDb21wYXRpYmxlIGltYWdlIHJlY2lwZXMgdGFibGUuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBlZGl0IGNvbHVtbnMgYW5kIHNlbGVjdCByZWNpcGUgZmlsZS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJSZWNpcGUgZmlsZSBjb2x1bW4gYXBwZWFycyBpbiB0aGUgdGFibGUuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYmx1ZSBidXR0b24gbmVhciBhIHJlY2lwZSBmaWxlLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZXBldCBzdGVwcyAtIDQgdG8gNiBmb3Igc29mdHdhcmUgcmVjaXBlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfcmVjaXBlX2ZpbGVfbGluayIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlNlZV9wYWNrYWdlc19zaXplIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEJ1aWxkIGZpbmlzaGVzIHN1Y2Nlc3NmdWxseS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIHBhY2thZ2VzIHRhYi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHBhY2thZ2VzIHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBzaXplIHRvIHNvcnQgdGhlIHRhYmxlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBjYW4gY2hlY2sgdGhlIHNpemUgb2YgZWFjaCBwYWNrYWdlLiBcblxuV2hlbiB5b3UgY2xpY2sgb24gJ1NpemUnIHRoZSBmaXJzdCB0aW1lLCB0aGUgY29ycmVjdCBzb3J0aW5nIGlzIHRoZSBpbnZlcnNlIG9uZSAoYmlnZ2VzdCBwYWNrYWdlIG9uIHRvcCkuIENsaWNraW5nIGEgc2Vjb25kIHRpbWUgd2lsbCBpbnZlcnQgdGhlIHNvcnRpbmcgKHlvdSdsbCBzZWUgcGFja2FnZXMgd2l0aCAwIEIgc2l6ZSBvbiB0b3ApLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNlZV9wYWNrYWdlc19zaXplIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQnVpbGRfbXVsdGlwbGVfcmVjaXBlcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgU3RhcnQgVG9hc3Rlci4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgVG9hc3RlciBzdGFydHMuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2xpY2sgb24gbmV3IHByb2plY3QgYnV0dG9uLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPcGVuIGNyZWF0ZSBhIG5ldyBwcm9qZWN0IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0LiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQnVpbGQgYSBtdWx0aXBsZSByZWNpcGVzIChleDogXCJjb3JlLWltYWdlLW1pbmltYWwgY29yZS1pbWFnZS1zYXRvXCIpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZHMgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuWW91IGNhbiBidWlsZCBtdWx0aXBsZSByZWNpcGVzIHdpdGggdG9hc3RlciIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkJ1aWxkX211bHRpcGxlX3JlY2lwZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5CdWlsZF9hX3JlY2lwZV93aXRoX2RpZmZlcmVudF9kaXN0cm8iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIFN0YXJ0IFRvYXN0ZXIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEVudGVyIGEgcHJvamVjdCBuYW1lLCBzZWxlY3QgYSByZWxlYXNlIGFuZCBjbGljayBvbiBjcmVhdGUgcHJvamVjdC4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgUHJvamVjdCBDcmVhdGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRnJvbSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gQml0YmFrZSB2YXJpYWJsZXMgdGFiLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gQml0YmFrZSB2YXJpYWJsZXMgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGNoYW5nZSBidXR0b24gZm9yIGRpc3Ryby4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBIHR5cGUgaW4gZm9ybSBhcHBlYXJzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hhbmdlIGRpc3RybyAoZXg6IHBva3ktbHNiKS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJEaXN0cm8gaGFzIGNoYW5nZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZGQgc3BlY2lmaWMgbGF5ZXJzIGZvciBkaXN0cm8gKG1ldGEtcXQzLCBtZXRhLXF0NCkgXG5cdFxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkxheWVycyBhZGRlZCB0byB0aGUgcHJvamVjdCBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiIEJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgd2FpdCB1bnRpbCBidWlsZCBmaW5pc2guIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBmaW5pc2hlcyBzdWNjZXNzZnVsbHkuIFxuXG5UaGUgJ3N1Y2Nlc3MnIGNyaXRlcmlhIGZvciB0aGlzIG9uZSBzaG91bGQgYmUgdGhhdCB0aGUgYnVpbGQgaXMgcmVwb3J0ZWQgYXMgdXNpbmcgdGhlIHBva3ktbHNiIGRpc3RybyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLCBhbmQgdGhhdCB0aGUgRElTVFJPIHZhcmlhYmxlIHZhbHVlIGluIHRoZSBiaXRiYWtlIHZhcmlhYmxlcyB0YWJsZSBpcyBzZXQgdG8gdGhlIHZhbHVlIHNwZWNpZmllZCBpbiB0b2FzdGVyIChwb2t5LWxzYiBhZ2FpbikuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQnVpbGRfYV9yZWNpcGVfd2l0aF9kaWZmZXJlbnRfZGlzdHJvIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVGVzdF9wYWNrYWdlX2Zvcm1hdF8tX2lwa19ycG1fZGViIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBTdGFydCBUb2FzdGVyLiBcblxuXHQiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUb2FzdGVyIHN0YXJ0cy4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFByb2plY3QgQ3JlYXRlZC4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiBiaXRiYWtlIHZhcmlhYmxlcyB0YWIuIFxuXG5cdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBiaXRiYWtlIHZhcmlhYmxlcyBwYWdlLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gY2hhbmdlIGJ1dHRvbiBuZWFyIFBBQ0tBR0VfQ0xBU1NFUyBhbmQgc2VsZWN0IGFsbCB0aGUgcGFja2FnZSBmb3JtYXRzIChycG0sIGRlYiwgaXBrKS4gXG5cblx0IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQYWNrYWdlIGNsYXNzZXMgc2VsZWN0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCBhIHJlY2lwZSAoZXg6IGNvcmUtaW1hZ2UtbWluaW1hbCkgYW5kIHdhaXQgdW50aWwgYnVpbGQgZmluaXNoLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LlxuWW91IGNhbiBzZWUgdGhlIHBhY2thZ2UgY2xhc3NlcyBpbiB0aGUgYnVpbGQgc3VtbWFyeSBwYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRlc3RfcGFja2FnZV9mb3JtYXRfLV9pcGtfcnBtX2RlYiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlRlc3RfSU1BR0VfSU5TVEFMTF9hcHBlbmRfdmFyaWFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgVG9hc3Rlci4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFRvYXN0ZXIgc3RhcnRzLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiIENsaWNrIG9uIG5ldyBwcm9qZWN0IGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9wZW4gY3JlYXRlIGEgbmV3IHByb2plY3QgcGFnZS4gXG5cblx0IgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBFbnRlciBhIHByb2plY3QgbmFtZSwgc2VsZWN0IGEgcmVsZWFzZSBhbmQgY2xpY2sgb24gY3JlYXRlIHByb2plY3QuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBQcm9qZWN0IENyZWF0ZWQuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGcm9tIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gYml0YmFrZSB2YXJpYWJsZXMgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJpdGJha2UgdmFyaWFibGVzIHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBjaGFuZ2UgYnV0dG9uIGZvciBJTUFHRV9JTlNUQUxMX2FwcGVuZCBhbmQgYWRkIGEgdmFyaWFibGUgKGV4OiBhY3BpZCkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlZhcmlhYmxlIGFkZGVkLiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgYSByZWNpcGUgKGV4OiBjb3JlLWltYWdlLW1pbmltYWwpIGFuZCB3YWl0IHVudGlsIGJ1aWxkIGZpbmlzaC4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5LiBcblxuXHQiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWZ0ZXIgYnVpbGQgZmluaXNoZXMgZ28gdG8gYnVpbGQgcGFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBidWlsZCBzdW1tYXJ5IHBhZ2UuIFxuXG5cdCIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byBwYWNrYWdlIHRhYiBhbmQgc2VhcmNoIGZvciBhY3BpZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIllvdSBzaG91bGQgZ2V0IHJlc3VsdHMgZm9yIHNzaCBwYWNrYWdlcy4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJUZXN0X0lNQUdFX0lOU1RBTExfYXBwZW5kX3ZhcmlhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfZGVmYXVsdF92aWV3IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIHRhYmxlIGlzIHBvcHVsYXRlZCB3aXRoIHRoZSBsaXN0IG9mIGltYWdlIHJlY2lwZXMgKGVnLiBjb3JlLWltYWdlIG1pbmltYWwsIGNvcmUtaW1hZ2UtbHNiKSBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IEltYWdlIHJlY2lwZSwgVmVyc2lvbiwgRGVzY3JpcHRpb24sIExheWVyLCBDdXN0b21pc2UgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSwgYWN0aXZhdGUgdGhlOiBSZWNpcGUgZmlsZSwgU2VjdGlvbiwgTGljZW5zZSwgR2l0IHJldmlzaW9uIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIFwiR2l0IHJldmlzaW9uXCIgZW50cmllcyBtYXRjaCB0aGUgcmVsZWFzZSBlbnRyeSBmcm9tIHRoZSBtYWluIHByb2plY3QgcGFnZSwgaW4gdGhlIHByb2plY3QgZGV0YWlscyBzZWN0aW9uLiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGF0IHRoZSBpbWFnZSByZWNpcGVzIHByb3ZpZGVkIGJ5IGxheWVycyBhZGRlZCB0byB0aGUgcHJvamVjdCBzaG93IGEgJ2N1c3RvbWlzZScgYnV0dG9uLCB3aGlsZSBpbWFnZSByZWNpcGVzIHByb3ZpZGVkIGJ5IGxheWVycyBub3QgYWRkZWQgdG8gdGhlIHByb2plY3Qgc2hvdyBhbiAnYWRkIGxheWVyJyBidXR0b24gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJOZXdfY3VzdG9tX2ltYWdlOl9kZWZhdWx0X3ZpZXciCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5OZXdfY3VzdG9tX2ltYWdlOl9zb3J0aW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgdGhhdCB0aGUgdGFibGUgaXMgc29ydGVkIG9uIHRoZSDigJhJbWFnZSByZWNpcGXigJkgY29sdW1uIGJ5IGRlZmF1bHQgaW4gYXNjZW5kaW5nIG9yZGVyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNraW5nIG9uIEltYWdlIHJlY2lwZSBzaG91bGQgcmV2ZXJ0IHRoZSBzb3J0aW5nLiAoZnJvbSAnYSB0byB6JyBjaGFuZ2VzIHRvICd6IHRvIGEnKSAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSBhY3RpdmF0ZSBhbGwgdGhlIGNvbHVtbnMuIENoZWNrIHRoYXQg4oCYSW1hZ2UgcmVjaXBl4oCZIGFuZCDigJhDdXN0b21pc2XigJkgY29sdW1ucyBjYW5ub3QgYmUgdW5jaGVja2VkLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBJbWFnZSByZWNpcGUsIFNlY3Rpb24sIExheWVyIGFuZCBMaWNlbnNlIGFyZSB0aGUgb25seSBzb3J0YWJsZSB0YWJsZSBoZWFkcy4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IHRoZSB0YWJsZSBieSBcIkxheWVyXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYW4gaW1hZ2UgKHN1Y2ggYXMgY29yZS1pbWFnZS1sc2IpLiBXaGVuIHlvdSBjbGljayB0aGUgXCJiYWNrXCIgYnV0dG9uIGluIHRoZSB3ZWItYnJvd3NlciB0byBnbyBiYWNrLCB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgdGFibGUgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIkxheWVyXCIuICBcblRoaXMgc2hvdWxkIGFwcGx5IGFsc28gYnkgbmF2aWdhdGluZyBiYWNrIHRvIHRoZSBwYWdlIGJ5IGFueSBvdGhlciBtZWFucy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiSW1hZ2UgcmVjaXBlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2g6IFNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gU29ydCByZWNpcGVzIGJ5IFwiTGF5ZXJcIiBjb2x1bW4gaGVhZGluZy4gSW5wdXQgYSBzdHJpbmcgKHN1Y2ggYXMgXCJjb3JlLWltYWdlXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIGFyZSBzb3J0ZWQgYnkgXCJMYXllclwiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTi9BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTmV3X2N1c3RvbV9pbWFnZTpfc29ydGluZ190aGVfY29udGVudF9vZl9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuTmV3X2N1c3RvbV9pbWFnZTpfc2VhcmNoaW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWNjZXNzIGEgcHJvamVjdCBwYWdlLCBlaXRoZXIgYnkgY3JlYXRpbmcgYSBuZXcgcHJvamVjdCBvciBhY2Nlc3NpbmcgYW4gZXhpc3RpbmcgcHJvamVjdCBmcm9tIHRoZSBcIkFsbCBwcm9qZWN0c1wiIHRhYmxlLiBcbiBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciAgXG4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCB0aGUgc2VhcmNoIGlzIG1hZGUgb2YgYSB0ZXh0IGlucHV0IGZpZWxkIGFuZCBhIFwiU2VhcmNoXCIgYnV0dG9uIGluIGEgdG9vbGJhciBhYm92ZSB0aGUgdGFibGUuIFdoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHRoZSB0ZXh0IGlucHV0IGZpZWxkIHNob3VsZCBzaG93IHRoZSBmb2xsb3dpbmcgcGxhY2Vob2xkZXIgdGV4dDogXCJTZWFyY2ggc2VsZWN0IHRoZSBpbWFnZSByZWNpcGUgeW91IHdhbnQgdG8gY3VzdG9taXNlXCIgXG4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IFwiY29yZVwiIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gQ2xpY2sgc2VhcmNoIGJ1dHRvbi4gXG4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIHNlYXJjaCBzdHJpbmcgaXMga2VwdCBpbiB0aGUgdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHJlc3VsdHMgcmV0dXJuZWQgb2NjdXIuIENsaWNrIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IHRoZSBpbWFnZSByZWNpcGVzLiAgSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBpbWFnZSByZWNpcGVzLiBDaGVjayB0aGF0IFwic2hvdyBhbGxcIiBsaW5rIGlzIGF2YWlsYWJsZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCwgc29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIjogU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZCB3aGVuIHNlYXJjaCByZXN1bHRzIGFyZSBkaXNwbGF5ZWQsIGJ1dCBmaWx0ZXJzIGFyZSBjbGVhcmVkIGJ5IHRoZSBzZWFyY2ggcmVzdWx0cy4gU2VhcmNoIGEgc3RyaW5nIGFuZCBtYWtlIHN1cmUgdGhhdCB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZC4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBhbmQgZmlsdGVycyBcbiBcblx04oCiXHRUaGUgc2NvcGUgb2YgdGhlIGZpbHRlcnMgaXMgdGhlIGNvbnRlbnQgY3VycmVudGx5IG9uIHRoZSB0YWJsZSAodGhpcyBtZWFucyBhbGwgdGFibGUgcGFnZXMsIG5vdCBvbmx5IHRoZSBvbmUgZGlzcGxheWVkKS4gVGhlIHNjb3BlIG9mIHRoZSBzZWFyY2ggaXMgYWx3YXlzIHRoZSBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS4gIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcdElmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFyZ2V0cykuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiXG4gIFxuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiTmV3X2N1c3RvbV9pbWFnZTpfc2VhcmNoaW5nX3RoZV9jb250ZW50X29mX25ld19jdXN0b21faW1hZ2VfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5OZXdfY3VzdG9tX2ltYWdlOl9GaWx0ZXJfdGhlX2NvbnRlbnRzX29mX3RoZV9uZXdfY3VzdG9tX2ltYWdlX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJhbGV4YW5kcnUuY29zdGlueC5yb21hbkBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogQ3VzdG9taXNlICBcblxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayB0aGUgZmlsdGVyIGJ1dHRvbiBpbiB0aGUgXCJDdXN0b21pc2VcIiBjb2x1bW4gYW5kIGEgZmlsdGVyIGRpYWxvZ3VlIGNvbWVzIHVwLiBTZWxlY3QgYSBmaWx0ZXIgb3B0aW9uLiBUaGUgZmlsdGVyIHJlc3VsdHMgc2hvdWxkIGJlIHNob3dlZC4gXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiRmlsdGVycyBhcmUgb3ZlcnJpZGRlbiBieSBzZWFyY2guIFJ1biBhIHNlYXJjaCBxdWVyeSBhbmQgeW91IGNhbiBzZWUgcHJldmlvdXMgZmlsdGVyIHJlc3VsdHMgYXJlIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIk5ld19jdXN0b21faW1hZ2U6X0ZpbHRlcl90aGVfY29udGVudHNfb2ZfdGhlX25ld19jdXN0b21faW1hZ2VfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5DcmVhdGVfbmV3X2N1c3RvbV9pbWFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9uIHRoZSBwcm9qZWN0IHBhZ2UgY2xpY2sgb24gdGhlIFwiTmV3IGN1c3RvbSBpbWFnZVwiIGxpbmsgc2l0dWF0ZWQgb24gdGhlIGxlZnQtaGFuZCBzaWRlLCBuZWFyIENvbmZpZ3VyYXRpb24sIGJ1aWxkcywgaW1wb3J0IGxheWVyIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaCBmb3IgcnBpLWJhc2ljLWltYWdlLCBjbGljayBvbiAnYWRkIGxheWVyJyBidXR0b24uIE1ha2Ugc3VyZSBhIFwibGF5ZXIgYWRkZWRcIiBub3RpZmljYXRpb24gc2hvd3MgYW5kIGEgXCJjdXN0b21pc2VcIiBidXR0b24gaXMgZGlzcGxheWVkLiBDbGljayB0aGUgXCJjdXN0b21pc2VcIiBidXR0b24sIHR5cGUgYSBuYW1lIGZvciB5b3UgbmV3IGN1c3RvbSBpbWFnZSBhbmQgY2xpY2sgb24gY3JlYXRlIGN1c3RvbSBpbWFnZS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlZlcmlmeSB0aGF0IGltYWdlIHdhcyBjcmVhdGVkOiB3aGVuIHlvdSBjcmVhdGUgdGhlIGN1c3RvbSBpbWFnZSB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIHRoZSBjdXN0b20gaW1hZ2UgZGV0YWlscyBwYWdlLCBhbmQgYSBub3RpZmljYXRpb24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzaG91bGQgdGVsbCB5b3U6IOKAmFlvdXIgY3VzdG9tIGltYWdlIFggaGFzIGJlZW4gY3JlYXRlZC4gWW91IGNhbiBub3cgYWRkIG9yIHJlbW92ZSBwYWNrYWdlcyBhcyBuZWVkZWQuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3Ugc2VsZWN0IGFuIGltYWdlIHRoYXQgaGFzIG5vdCBiZWVuIGJ1aWx0IGJlZm9yZWhhbmQgeW91IHNob3VsZCBub3Qgc2VlIHRoZSAnYWRkIC8gcmVtb3ZlJyBwYWNrYWdlcyB0YWJsZSB1bnRpbCB5b3UgYnVpbGQgdGhlIGltYWdlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHNlbGVjdCBhbiBpbWFnZSB0aGF0IGhhcyBiZWVuIGJ1aWx0IGJlZm9yZWhhbmQgeW91IHNob3VsZCBzZWUgdGhlICdhZGQgLyByZW1vdmUnIHBhY2thZ2VzIHRhYmxlIHdoZW4geW91IGNyZWF0ZSB0aGUgY3VzdG9tIGltYWdlLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk4vQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNyZWF0ZV9uZXdfY3VzdG9tX2ltYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ3VzdG9tX2ltYWdlX3BhZ2VfZGV0YWlscyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZnRlciB5b3UgY3JlYXRlIGEgbmV3IGN1c3RvbSBpbWFnZSAgZ28gdG8gdGhlIGN1c3RvbSBpbWFnZSBwYWdlLCBieSBjbGlja2luZyBvbiB0aGUgY3VzdG9tIGltYWdlLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCcmVhZGNydW1icyAgXG4gXG5cdCAqIE9ic2VydmUgdGhhdCB0aGUgMyBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgXG4gXG5cdFx0YSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgcGFnZSBcblx0XHRDdXN0b20gaW1hZ2VzOiBhIGxpdmUgbGluayB0aGF0IHdpbGwgdGFrZSB5b3UgYmFjayB0byB0aGUgY3VzdG9tIGltYWdlcyB0YWJsZSBcblx0XHRpbWFnZSBuYW1lKHRvYXN0ZXItY3VzdG9tLWltYWdlcyk6IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGN1c3RvbSBpbWFnZSAobm90IGEgbGluaykgIFxuIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhlIDIgYnV0dG9ucyBidWlsZCBDdXN0b20gaW1hZ2UgYW5kIERvd25sb2FkIHJlY2lwZSBmaWxlICBcbiBcblx0aS5cdFRlc3QgdGhpcyAyIGJ1dHRvbnMgXG5cdGlpLlx0WW91IHNob3VsZCBhbHdheXMgYmUgYWJsZSB0byBidWlsZCB0aGUgY3VzdG9tIGltYWdlLCBidXQgeW91IG9ubHkgc2hvdWxkIGJlIGFibGUgdG8gZG93bmxvYWQgdGhlIHJlY2lwZSBmaWxlIHdoZW4gdGhlIHBhY2thZ2UgY29udGVudCBvZiB0aGUgY3VzdG9tIGltYWdlIGlzIGtub3duLiBXaGVuIHlvdSBjYW5ub3QgZG93bmxvYWQgdGhlIHJlY2lwZSBmaWxlLCB0aGUgJ2Rvd25sb2FkJyBidXR0b24gYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBpcyBkaXNhYmxlZCwgYW5kIHRoZSByaWdodCBoYW5kIGNvbHVtbiBkb2VzIG5vdCBzaG93IGluZm9ybWF0aW9uIGFib3V0IHRoZSByZWNpcGUgZmlsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1hZ2VzICBcbiBcblx0aS5cdFRoZXJlIGlzIGEgbnVtYmVyIG9mIHBhY2thZ2VzIGluY2x1ZGVkIGluIHRoZSBjdXN0b20gaW1hZ2UgXG5cdGlpLlx0QXBwcm94IHBhY2thZ2Ugc2l6ZSBcbiBcblx0aWlpLlx0TGF5ZXIgXG4gXG5cdGl2Llx0SW1hZ2UgYmFzZWQgb24gXG4gXG5cdHYuXHRSZWNpcGUgZmlsZSAob25seSB3aGVuIHlvdSBjYW4gZG93bmxvYWQgaXRfIFxuXHR2aS5cdFZlcnNpb24gXG4gXG5cdHZpaS5cdExpY2Vuc2UgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2UgaW5jbHVkZXMgYSB0YWJsZSB3aXRoIHBhY2thZ2VzIGFuZCB5b3UgY2FuIGFkZCBvciByZW1vdmUgcGFja2FnZXMgZnJvbSB0aGUgY3VzdG9tIGltYWdlLiBUaGUgcGFja2FnZXMgdGFibGUgb25seSBhcHBlYXJzIHdoZW46IFxuXG5hKSB0aGUgaW1hZ2UgcmVjaXBlIHlvdSBjaG9zZSBhcyB5b3VyIGJhc2UgaW1hZ2Ugd2hlbiBjcmVhdGluZyB0aGUgY3VzdG9tIGltYWdlIGhhcyBiZWVuIGJ1aWx0IHdpdGhpbiB0aGUgcHJvamVjdCBcblxuYikgdGhlIGN1c3RvbSBpbWFnZSBpdHNlbGYgaGFzIGJlZW4gYnVpbHQgXG5cbklmIG5vIHBhY2thZ2VzIHRhYmxlIHNob3dzLCB5b3Ugc2VlIGEgbm90aWZpY2F0aW9uIHdpdGggYSBidWlsZCBidXR0b24gaW5zdGVhZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOL0EiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJDdXN0b21faW1hZ2VfcGFnZV9kZXRhaWxzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQ3VzdG9tX2ltYWdlX3BhZ2Vf4oCTX0FkZF98X1JlbW92ZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBZnRlciB5b3UgY3JlYXRlIGEgbmV3IGN1c3RvbSBpbWFnZSAgZ28gdG8gdGhlIGN1c3RvbSBpbWFnZSBwYWdlLCBieSBjbGlja2luZyBvbiB0aGUgY3VzdG9tIGltYWdlLiAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBvbiB0aGUg4oCYUGFja2FnZeKAmSBjb2x1bW4gYnkgZGVmYXVsdCBpbiBhc2NlbmRpbmcgb3JkZXIuICAgXG5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCBieSBkZWZhdWx0IHRoZSBmb2xsb3dpbmcgY29sdW1ucyBhcmUgc2hvd246IFBhY2thZ2UsIFBhY2thZ2UgVmVyc2lvbiwgQXBwcm94IFNpemUgIFxuXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZyb20gdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudSwgYWN0aXZhdGUgdGhlOiBMaWNlbnNlLCBSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uIGFuZCBSZXZlcnNlIGRlcGVuZGVuY2llcyBjb2x1bW5zICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hlY2sgdGhhdCDigJhQYWNrYWdl4oCZLCBBcHByb3ggU2l6ZSwgTGljZW5zZSwgUmVjaXBlIGFyZSB0aGUgb25seSBzb3J0YWJsZSB0YWJsZSBoZWFkcy4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU29ydGluZyBhbmQgXCJFZGl0IGNvbHVtbnNcIjogSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUGFja2FnZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51ICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaDogU2VhcmNoaW5nIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgYXBwbGllZCBzb3J0aW5nLiBBbnkgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHRoZSBzb3J0aW5nIGNyaXRlcmlhIHNlbGVjdGVkIHdoZW4gdGhlIHNlYXJjaCBxdWVyeSB3YXMgc3VibWl0dGVkLiBTb3J0IHJlY2lwZXMgYnkgXCJSZWNpcGVcIiBjb2x1bW4gaGVhZGluZy4gSW5wdXQgYSBzdHJpbmcgKHN1Y2ggYXMgXCJhY2xcIikgaW4gc2VhcmNoIGJveCBhbmQgY2xpY2sgc2VhcmNoIGJ1dHRvbi4gTWFrZSBzdXJlIHJlc3VsdHMgcmV0dXJuZWQgYXJlIHN0aWxsIHNvcnRlZCBieSBcIlJlY2lwZVwiLiAgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNsZWFyIHNlYXJjaFwiIGljb24gdG8gY2xlYXIgdGhlIHNlYXJjaCBhbmQgZGlzcGxheSB0aGUgUGFja2FnZXMuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk1ha2Ugc3VyZSB0aGUgZm9sbG93aW5nIHRhYmxlIGNvbHVtbiBoYXMgZmlsdGVyczogQWRkIHwgUmVtb3ZlIChDbGljayBvbiAnRWRpdCBjdXN0b20gaW1hZ2UnIGluIHRoZSBsZWZ0IHBhbmUgb2YgdGhlIGN1c3RvbSBpbWFnZSkgIFxuXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIHRoZSBmaWx0ZXIgYnV0dG9uOiBhIGZpbHRlciBkaWFsb2d1ZSBkaXNwbGF5cy4gU2VsZWN0IGEgZmlsdGVyIG9wdGlvbi4gVGhlIGZpbHRlciByZXN1bHRzIHNob3VsZCBiZSBzaG93ZWQuICBcblxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBvdmVycmlkZGVuIGJ5IHNlYXJjaC4gUnVuIGEgc2VhcmNoIHF1ZXJ5IGFuZCB5b3UgY2FuIHNlZSBwcmV2aW91cyBmaWx0ZXIgcmVzdWx0cyBhcmUgb3ZlcnJpZGRlbiBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5LiAgXG5cbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhpcyBwYWdlIG5lZWRzIGEgc3BlY2lhbCBubyByZXN1bHRzIG1lc3NhZ2UgZm9yIHRoZSBzZWFyY2guIFlvdSBjYW4gc2VlIGluIHRoZSBkb2MgYXR0YWNoZWQgdG9cbmh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE1NCAgIFxuXG5UbyB0ZXN0IGl0LCBlbnRlciBhIHJhbmRvbSBzdHJpbmcgaW4gdGhlIHNlYXJjaCBpbnB1dCBmaWVsZCAoc29tZXRoaW5nIGxpa2UgXCJiYmJcIikgYW5kIGNsaWNrIHRoZSAnc2VhcmNoJyBidXR0b24uIFRoZSBzcGVjaWFsIG5vIHJlc3VsdHMgbWVzc2FnZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nOiAgXG5cbmEpIGluc3RydWN0aW9ucyBhYm91dCBzZWFyY2hpbmcgYW5kIGJ1aWxkaW5nIHJlY2lwZXMgaW4gb3JkZXIgdG8gZ2VuZXJhdGUgbmV3IHBhY2thZ2VzICBcblxuYikgYSBzZWFyY2ggdGV4dCBpbnB1dCBmaWVsZCB3aXRoIHRoZSBzZWFyY2ggc3RyaW5nIHlvdSB0eXBlZCwgYSAnY2xlYXInIGljb24gYW5kIGEgc2VhcmNoIGJ1dHRvbi4gQ2xpY2sgdGhlICdjbGVhcicgaWNvbjogdGhlIHNlYXJjaCBmaWVsZCBzaG91bGQgYmUgY2xlYXJlZCBhbmQgdGhlIGZ1bGwgbGlzdCBvZiBwYWNrYWdlcyBzaG91bGQgYmUgc2hvd24uICBcblxuYykgYSAnc2hvdyBhbGwgcGFja2FnZXMnIGxpbmsuIENsaWNrIHRoZSBsaW5rOiB0aGUgc2VhcmNoIGZpZWxkIHNob3VsZCBiZSBjbGVhcmVkIGFuZCB0aGUgZnVsbCBsaXN0IG9mIHBhY2thZ2VzIHNob3VsZCBiZSBzaG93bi4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTi9BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ3VzdG9tX2ltYWdlX3BhZ2Vf4oCTX0FkZF98X1JlbW92ZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkFkZGluZ19wYWNrYWdlc193aXRob3V0X2RlcGVuZGVuY2llc19mcm9tX2N1c3RvbV9pbWFnZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFjY2VzcyBhIHByb2plY3QgcGFnZSwgZWl0aGVyIGJ5IGNyZWF0aW5nIGEgbmV3IHByb2plY3Qgb3IgYWNjZXNzaW5nIGFuIGV4aXN0aW5nIHByb2plY3QgZnJvbSB0aGUgXCJBbGwgcHJvamVjdHNcIiB0YWJsZS4gXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPbiB0aGUgcHJvamVjdCBwYWdlIGNsaWNrIG9uIHRoZSBcIk5ldyBjdXN0b20gaW1hZ2VcIiBsaW5rIHNpdHVhdGVkIG9uIHRoZSBsZWZ0LWhhbmQgc2lkZSwgbmVhciBDb25maWd1cmF0aW9uLCBidWlsZHMsIGltcG9ydCBsYXllciAgXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiICIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaG9vc2UgYW4gaW1hZ2UgcmVjaXBlIGV4YW1wbGU6KGNvcmUtaW1hZ2Utc2F0bykgYW5kIGNsaWNrIG9uIHRoZSBjdXN0b21pc2UgYnV0dG9uIG9uIHRoZSBmYXIgcmlnaHQgKG5vdGUgaWYgdGhhdCBsYXllciBpcyBub3QgYWRkZWQgdGhlIGJ1dHRvbiB3aWxsIHNheSArQWRkIGxheWVyLCBhZGQgaXQgYW5kIHRoZW4gY3VzdG9taXNlKSBcblxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQSBwb3Agb3V0IHNob3VsZCBhcHBlYXIgYW5kIHlvdSBzaG91bGQgZ2V0IHRvIGdpdmUgdGhlIG5ldyBpbWFnZSBhIGN1c3RvbWl6ZWQgbmFtZS4gVGhlbiB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIGEgcGFnZSBvZiBBZGR8UmVtb3ZlIFBhY2thZ2VzLiBJZiB0aGlzIGltYWdlIGhhcyBub3QgYmVlbiBidWlsZCBpdCB3aWxsIG5vdCBoYXZlIHBhY2thZ2VzLlxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnVpbGQgdGhlIG5ldyBpbWFnZSBpZiBpdCBoYXMgbm90IGJlZW4gYnVpbGQsIGVsc2Ugc3RhcnQgYWRkaW5nIHBhY2thZ2VzIHdpdGhvdXQgZGVwZW5kZW5jaWVzIGV4YW1wbGU6IGF0dHItZG9jIFxuXG4gICAgXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJZb3Ugc2hvdWxkIGdldCBhIG1lc3NhZ2UgaW4gYmx1ZSB0aGF0IHNheXMgXCJZb3UgaGF2ZSBhZGRlZCAxIHBhY2thZ2UgdG8gJGltYWdlLWN1c3RvbS1uYW1lOiAkcGFja2FnZS1uYW1lXCIgIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgUmVzdWx0IG9uIHN0ZXAgNTogdGhlIHBhY2thZ2VzIHlvdSBoYXZlIGFkZGVkIHNob3VsZCBiZSBpbnN0YWxsZWQgaW4gdGhlIGltYWdlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFkZGluZ19wYWNrYWdlc193aXRob3V0X2RlcGVuZGVuY2llc19mcm9tX2N1c3RvbV9pbWFnZXMiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5SZW1vdmluZ19wYWNrYWdlc193aXRob3V0X2FuZF93aXRoX2RlcGVuZGVuY2llc19fZnJvbV9jdXN0b21faW1hZ2VzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaG9vc2UgYW4gaW1hZ2UgcmVjaXBlIGV4YW1wbGU6KGNvcmUtaW1hZ2Utc2F0bykgYW5kIGNsaWNrIG9uIHRoZSBjdXN0b21pc2UgYnV0dG9uIG9uIHRoZSBmYXIgcmlnaHQgKG5vdGUgaWYgdGhhdCBsYXllciBpcyBub3QgYWRkZWQgdGhlIGJ1dHRvbiB3aWxsIHNheSArQWRkIGxheWVyLCBhZGQgaXQgYW5kIHRoZW4gY3VzdG9taXNlKSBcblxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkEgcG9wIG91dCBzaG91bGQgYXBwZWFyIGFuZCB5b3Ugc2hvdWxkIGdldCB0byBnaXZlIHRoZSBuZXcgaW1hZ2UgYSBjdXN0b21pemVkIG5hbWUuIFRoZW4geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBhIHBhZ2Ugb2YgQWRkfFJlbW92ZSBQYWNrYWdlcy4gSWYgdGhpcyBpbWFnZSBoYXMgbm90IGJlZW4gYnVpbGQgaXQgd2lsbCBub3QgaGF2ZSBwYWNrYWdlcy5cblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBuZXcgaW1hZ2UgaWYgaXQgaGFzIG5vdCBiZWVuIGJ1aWxkIGVsc2Ugc3RhcnQgcmVtb3ZpbmcgYSBwYWNrYWdlcyAoY2xpY2sgb24gJ0VkaXQgY3VzdG9tIGltYWdlJyBpbiB0aGUgbGVmdCBwYW5lIG9mIHRoZSBjdXN0b20gaW1hZ2UpIHRoYXQgaGF2ZSBkZXBlbmRlbmNpZXMgYW5kIHBhY2thZ2VzIHRoYXQgaGF2ZSBubyBkZXBlbmRlbmNpZXMgdGhhdCBhcmUgYWxyZWFkeSBpbmNsdWRlZCBieSBjbGlja2luZyBvbiB0aGUgcmVkIGJ1dHRvbiBcIlJlbW92ZSBQYWNrYWdlXCIgXG5cblxuICAgIFxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IHNob3VsZCBnZXQgYSBtZXNzYWdlIGluIGJsdWUgdGhhdCBzYXlzIFwiWW91IGhhdmUgcmVtb3ZlZCAxIHBhY2thZ2UgdG8gJGltYWdlLWN1c3RvbS1uYW1lOiAkcGFja2FnZS1uYW1lXCIgIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogInRoZSBwYWNrYWdlcyB5b3UgaGF2ZSByZW1vdmVkIHNob3VsZCBub3QgYmUgaW5zdGFsbGVkIGluIHRoZSBpbWFnZS4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJSZW1vdmluZ19wYWNrYWdlc193aXRob3V0X2FuZF93aXRoX2RlcGVuZGVuY2llc19fZnJvbV9jdXN0b21faW1hZ2VzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuQWRkaW5nX3BhY2thZ2VzX3dpdGhfZGVwZW5kZW5jaWVzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBY2Nlc3MgYSBwcm9qZWN0IHBhZ2UsIGVpdGhlciBieSBjcmVhdGluZyBhIG5ldyBwcm9qZWN0IG9yIGFjY2Vzc2luZyBhbiBleGlzdGluZyBwcm9qZWN0IGZyb20gdGhlIFwiQWxsIHByb2plY3RzXCIgdGFibGUuIFxuXG4gICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT24gdGhlIHByb2plY3QgcGFnZSBjbGljayBvbiB0aGUgXCJOZXcgY3VzdG9tIGltYWdlXCIgbGluayBzaXR1YXRlZCBvbiB0aGUgbGVmdC1oYW5kIHNpZGUsIG5lYXIgQ29uZmlndXJhdGlvbiwgYnVpbGRzLCBpbXBvcnQgbGF5ZXIgIFxuXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2hvb3NlIGFuIGltYWdlIHJlY2lwZSBleGFtcGxlOihjb3JlLWltYWdlLXNhdG8pIGFuZCBjbGljayBvbiB0aGUgY3VzdG9taXNlIGJ1dHRvbiBvbiB0aGUgZmFyIHJpZ2h0IChub3RlIGlmIHRoYXQgbGF5ZXIgaXMgbm90IGFkZGVkIHRoZSBidXR0b24gd2lsbCBzYXkgK0FkZCBsYXllciwgYWRkIGl0IGFuZCB0aGVuIGN1c3RvbWlzZSkgXG5cblxuICAgICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQSBwb3Agb3V0IHNob3VsZCBhcHBlYXIgYW5kIHlvdSBzaG91bGQgZ2V0IHRvIGdpdmUgdGhlIG5ldyBpbWFnZSBhIGN1c3RvbWl6ZWQgbmFtZS4gVGhlbiB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIGEgcGFnZSBvZiBBZGR8UmVtb3ZlIFBhY2thZ2VzLiBJZiB0aGlzIGltYWdlIGhhcyBub3QgYmVlbiBidWlsZCBpdCB3aWxsIG5vdCBoYXZlIHBhY2thZ2VzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCB0aGUgbmV3IGltYWdlIGlmIGl0IGhhcyBub3QgYmVlbiBidWlsZCBlbHNlIHN0YXJ0IGFkZGluZyBwYWNrYWdlcyB0aGF0IGhhdmUgZGVwZW5kZW5jaWVzICggeW91IHdpbGwgYmUgYWJsZSB0byBzZWUgaW4gdGhlIGRlcGVuZGVuY2llcyBjb2x1bW4gYSBsaXR0bGUgc3F1YXJlIHdpdGggYSBudW1iZXIsIHRoYXQgdGVsbHMgeW91IHRoZSBkZXBlbmRlbmNpZXMgaXQgaG9sZHMpIGV4YW1wbGU6IGxpYmF0dHIgdGhpcyBob2xkcyAyIGRlcGVuZGVuY2llcyggYmFzaCBhbmQgZ2xpYmMpICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFlvdSBzaG91bGQgZ2V0IGEgcG9wLW91dCB0aGF0IHRoYXQgc2F5IFwiJHBhY2thZ2VfbmFtZSBkZXBlbmRlbmNpZXNcIiB0aGVuIGl0IHNob3VsZCBsaXN0IHRoZSBkZXBlbmRlbmNpZXMuIE9uY2UgY2xpY2tlZCBvbiB0aGUgYWRkIHBhY2thZ2VzIGJ1dHRvbiBpdCBzaG91bGQgYWRkIHRoZSBwYWNrYWdlcyBsaXN0ZWQgaW4gdGhlIHBvcC1vdXQuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSBpbWFnZSBhZ2Fpbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkFkZGluZ19wYWNrYWdlc193aXRoX2RlcGVuZGVuY2llcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNyZWF0ZV9Qcm9qZWN0IiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IGJ5IGlzc3VpbmcgYSBuYW1lIGFuZCBzZWxlY3RpbmcgYSByZWxlYXNlIHZlcnNpb24uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGgxIHBhZ2UgdGl0bGUgaXMgc2V0IHRvIHRoZSBuYW1lIHRoZSB1c2VyIHR5cGVkIGluIHRoZSBuZXcgcHJvamVjdCBmb3JtLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNyZWF0ZV9Qcm9qZWN0IgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfZGV0YWlsX3BhZ2VfbGVmdF9iYXJfbWVudSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDaGVjayB0aGUgcGFnZSBjb250YWlucyB0aGUgdGFicyBcbiAgICBDb25maWd1cmF0aW9uIC0tLT4gc2VsZWN0ZWQgYnkgZGVmYXVsdCBcbiAgICBDb21wYXRpYmxlIE1ldGFkYXRhIChzZXBhcmF0aW9uIGxhYmVsKSBcbiAgICBDdXN0b20gaW1hZ2VzIFxuICAgIEltYWdlIHJlY2lwZXMgXG4gICAgU29mdHdhcmUgcmVjaXBlcyBcbiAgICBNYWNoaW5lcyBcbiAgICBMYXllcnMgXG4gICAgRXh0cmEgQ29uZmlndXJhdGlvbiAoc2VwYXJhdGlvbiBsYWJlbCkgXG4gICAgQml0QmFrZSB2YXJpYWJsZXMgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEFsbCBlbGVtZW50cyBhcmUgcHJlc2VudC4gXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBlYWNoIGVsZW1lbnQgdG8gc2VlIGlmIHRoZSBoMiB0aXRsZSBpcyBjaGFuZ2luZyB0byB0aGUgcmVzcGVjdGl2ZSBsaW5rIGNsaWNrZWQuIEV4YW1wbGUgaWYgY2xpY2tlZCBvbiBcIkN1c3RvbSBJbWFnZXNcIiB0aGVuIHRoZSBoMiB0aXRsZSBzaG91bGQgY2hhbmdlIHRvIFwiQ3VzdG9tIGltYWdlc1wiIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgZWxlbWVudHMgYXJlIGNsaWNrYWJsZSBhbmQgaDIgdGl0bGUgY2hhbmdlcyB0byB0aGUgY29ycmVzcG9uZGluZyB0aXRsZS4uIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfZGV0YWlsX3BhZ2VfbGVmdF9iYXJfbWVudSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLkNvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fb2ZfUHJvamVjdF9EZXRhaWxfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xvbmUgUG9reSBhbmQgc3RhcnQgdG9hc3RlciBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgbWFzdGVyIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNoZWNrIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gYnV0dG9uIG9uIHRoZSBsZWZ0IHNpZGUgYmFyIGlzIHNlbGVjdGVkIGJ5IGRlZmF1bHQgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEV4cGVjdGVkIHJlc3VsdCBzdGVwIDMgJiA0OiBUaGUgY29uZmlndXJhdGlvbiBsaW5rIG5leHQgdG8gdGhlIGJ1aWxkIGxpbmsgc2hvdWxkIGJlIHNlbGVjdGVkIHNlZSBhdHRhY2htZW50LiAgXG5cblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBjYW52YXM6IFxuICAgIE1hY2hpbmUgXG4gICAgTW9zdCBidWlsdCByZWNpcGVzIFxuICAgIExheWVycyBcbiAgICBQcm9qZWN0IFJlbGVhc2UgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCA0OiBBIG1hY2hpbmUgbXVzdCBhbHdheXMgYmUgc2V0LiBcblxuVGhlIGRlZmF1bHQgbGF5ZXJzIHNwZWNpZmllZCBpbiB0aGUgVG9hc3RlciBjb25maWd1cmF0aW9uIG11c3QgYWx3YXlzIGJlIGxpc3RlZCBpbiB0aGUgbGF5ZXIgc2VjdGlvbiAoaW4gb3VyIGNhc2UsIGZvciB0aGUgcG9reSBjb25maWd1cmF0aW9uIHdlIHNob3VsZCBoYXZlIG9wZW5lbWJlZGRlZC1jb3JlLCBtZXRhLXBva3kgYW5kIG1ldGEteW9jdG8tYnNwKSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkNvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fb2ZfUHJvamVjdF9EZXRhaWxfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9NYWNoaW5lX2luZm9ybWF0aW9uX29mX3Byb2plY3RfZGV0YWlsX3BhZ2UiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gICAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDI6IE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBDb25maWd1cmF0aW9uIHBhZ2UgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIGEgbGFiZWwgaW4gYm9sZCBmb250IHRoYXQgc2F5czogXG4gICAgTWFjaGluZTogdGhpcyBjYW52YXMgc2hvdWxkIGhhdmUgdGhlIG1hY2hpbmUgbGFiZWwgdHlwZSB1bmRlciBpdCBhbmQgYW4gZWRpdGluZyBidXR0b24gb24gdGhlIHNpZGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBDb21wYXJlIHRvIHRoZSBhdHRhY2hlZCBzbmFwc2hvdC4gVGhlIG1hY2hpbmUgbXVzdCBhbHdheXMgYmUgc2V0LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9NYWNoaW5lX2luZm9ybWF0aW9uX29mX3Byb2plY3RfZGV0YWlsX3BhZ2UiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVzX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcbiAgICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IHN0ZXAgMjogT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZSAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIGluIGJvbGQgZm9udCB0aGF0IHNheXM6IFxuICAgIE1vc3QgYnVpbHQgcmVjaXBlczogSW4gdGhpcyBjYW52YXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gc2hvdWxkIHNob3c6ICBcblxuICAgICAgICAgICAgYSkgSWYgdGhlcmUgaGFzIGJlZW4gbm8gYnVpbHQgcmVjaXBlcyBpdCBzaG91bGQgaGF2ZSBhIGxhYmVsIHRoYXQgc2F5czogXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91IGhhdmVuJ3QgYnVpbHQgYW55IHJlY2lwZXMgeWV0LCBjaG9vc2UgYSByZWNpcGUgdG8gYnVpbGRcIiAgXG5cbiAgICAgICAgICAgIGIpIEVsc2UgaXQgc2hvdWxkIGhhdmUgYSBsaXN0IG9mIGJ1aWx0IHJlY2lwZXMgYW5kIGEgY2hlY2sgYm94IGluIGZyb250IG9mIGl0LiBTbyB0aGF0IGl0IGNvdWxkIGJlIHNlbGVjdGVkIGFuZCBidWlsdCBhZ2FpbiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIGE6IFNlZSBQcm9qZWN0RGV0YWlsUGFnZTIucG5nIGF0dGFjaG1lbnQuXG5cbkV4cGVjdGVkIHJlc3VsdCBzdGVwIGI6IFNlZSBQcm9qZWN0RGV0YWlsUGFnZS5wbmcgYXR0YWNobWVudC4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVzX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfcmVsZWFzZV9pbmZvcm1hdGlvbl9vbl9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBhIGxhYmVsIGluIGJvbGQgZm9udCB0aGF0IHNheXM6IFxuICAgICAgICAgUHJvamVjdCByZWxlYXNlOiB0aGlzIGNhbnZhcyBzaG91bGQgYWxzbyBoYXZlIGEgbGFiZWwgdGhhdCBzaG93IHRoZSByZWxlYXNlIHByb2plY3QgeW91IGNob3NlIGF0IHRoZSBiZWdpbm5pbmcuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBTZWUgYXR0YWNobWVudCBQcm9qZWN0RGV0YWlsUGFnZS5qbnAuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfcmVsZWFzZV9pbmZvcm1hdGlvbl9vbl9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2xheWVyX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbG9uZSB0aGUgcG9reSBlbnZpcm9ubWVudCAgICAgZ2l0IGNsb25lIGh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9naXQvcG9reSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDI6IE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAzOiBTZWUgYXR0YWNobWVudCBvZiBsYXllckNhbnZhcy5wbmdcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIGEgbGFiZWwgd2l0aCBib2xkIGZvbnQgdGhhdCBzYXlzOiBcbiAgICAgICBMYXllcjogIHRoaXMgY2FudmFzIHNob3VsZCBoYXZlIDMgbGF5ZXJzIGxpc3RlZCBieSBkZWZhdWx0IChvcGVuZW1iZWRkZWQtY29yZSwgbWV0YS1wb2t5LCBhbmQgbWV0YS15b2N0by1ic3ApLiAgXG4gICAgICAgRWFjaCBsYXllciBzaG91bGQgaGF2ZSBhIHRyYXNoY2FuIGljb24gYXQgdGhlIHNpZGUgdGhhdCBjYW4gYmUgdXNlZCB0byBlcmFzZSB0aGUgbGFiZWwgZnJvbSB0aGUgcHJvamVjdC4gXG4gICAgICAgIFRoZSBsYXllciBjYW52YXMgc2hvdWxkIGhhdmUgYSB0ZXh0IGJveCB3aXRoIHRoZSB0ZXh0IFwidHlwZSBhIGxheWVyIG5hbWVcIiBhIGJ1dHRvbiBcIkFkZCBsYXllclwiIG5leHQgdG8gaXQuIFxuICAgICAgICBqdXN0IHVuZGVybmVhdGggYSBcInZpZXcgY29tcGF0aWJsZSBsYXllciB8IGltcG9ydCBsYXllclwiIGxpbmsuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X2xheWVyX2luZm9ybWF0aW9uX29mX3RoZV9wcm9qZWN0X2RldGFpbF9wYWdlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X3Byb2plY3RfZGV0YWlsX2xpbmtzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgc3RlcCAyOiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiAgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIDQgbGlua3MsIHN0YXJ0aW5nIGluIHRoZSB1cHBlciBsZWZ0IHNpZGUgdGhlIENvbmZpZ3VyYXRpb24gbGluaywgQnVpbGRzKCMpIGxpbmssIEltcG9ydCBsYXllciBsaW5rLCBhbmQgdGhlIE5ldyBjdXN0b20gaW1hZ2UgbGluay4gXG5cbiAgICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIkV4cGVjdGVkIHJlc3VsdCBzdGVwIDM6IEFsbCBsaW5rcyBzaG91bGQgYmUgY2xpY2thYmxlIGFuZCBzaG91bGQgaGF2ZSBpbmZvcm1hdGlvbiBvciB0YWJsZXMsIG9yIGZvcm1zLiBzZWUgYXR0YWNobWVudCBwcm9qZWN0RGV0YWlsTGlua3MucG5nIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X3Byb2plY3RfZGV0YWlsX2xpbmtzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2J1aWxkX3RleGJveF9leGlzdHNfYW5kX3dvcmtzIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuICAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgT25jZSBwcm9qZWN0IGlzIGNyZWF0ZWQgaXQgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byBhIG5ldyBwcm9qZWN0IGNvbmZpZ3VyYXRpb24gcGFnZS4gIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIEFmdGVyIHRoZSA0IGxpbmtzIChDb25maWd1cmF0aW9uLCBCdWlsZCgjKSwgSW1wb3J0IGxheWVyICYgTmV3IGN1c3RvbSBpbWFnZSkgIGF0IHRoZSBmYXIgcmlnaHQgdGhlcmUgc2hvdWxkIGJlIGEgdGV4dGJveCB3aXRoIHRoZSBsYWJlbCB0aGF0IHNheXMuLi4uXCJUeXBlIHRoZSByZWNpcGUgeW91IHdhbnQgdG8gYnVpbGRcIiAgYW5kIGEgYnV0dG9uIFwiQnVpbGRcIiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBidWlsZFRYVC5wbmcsIFRoZSBidWlsZCBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkIHdoZW5ldmVyIHRoZSB0ZXh0IGlucHV0IGZpZWxkIGlzIGVtcHR5LCBzbyB0aGF0IHlvdSBjYW5ub3Qgc3RhcnQgYSBidWlsZCB3aXRoIGEgYmxhbmsgdGFyZ2V0ICBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlR5cGUgaW4gdGhlIHRleHRib3ggYW4gaW1hZ2UgeW91IHdvdWxkIGxpa2UgdG8gYnVpbGQgZXhhbXBsZSAoY29yZS1pbWFnZS1taW5pbWFsKSBhbmQgY2xpY2sgdGhlIGJ1aWxkIGJ1dHRvbi5cblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgSW1hZ2Ugc3RhcnRzIGJ1aWxkaW5nLiBXaGVuZXZlciB0aGVyZSBpcyBpbmZvcm1hdGlvbiBpbiB0aGUgaW1hZ2UgcmVjaXBlcyBhbmQgc29mdHdhcmUgcmVjaXBlcyB0YWJsZXMsIHRoZSB0ZXh0IGlucHV0IGZpZWxkIHNob3VsZCBwcmVzZW50IHN1Z2dlc3Rpb25zIGZyb20gdGhlIGxpc3Qgb2YgcmVjaXBlcyBwcm92aWRlZCBieSB0aGUgbGF5ZXJzIGluIHRoZSBcImxheWVyc1wiIGxpc3QuIFRoZSBzdWdnZXN0aW9ucyBjb250YWluIHRoZSBzdHJpbmcgdHlwZWQgaW4gdGhlIGlucHV0IGZpZWxkLCBhbmQgdXBkYXRlIGFzIHlvdSB0eXBlLiBUaGV5IGFwcGVhciBvbiB0eXBpbmcgdGhlIHNlY29uZCBjaGFyYWN0ZXIuIEEgbWF4aW11bSBvZiA4IHN1Z2dlc3Rpb25zIGNhbiBiZSBzaG93bi4gVGhleSBhcmUgc29ydGVkIGFzIGZvbGxvd3M6IGZpcnN0IHJlY2lwZXMgc3RhcnRpbmcgd2l0aCB0aGUgc3RyaW5nLCBpbiBhbHBoYWJldGljYWwgb3JkZXI7IHRoZW4gcmVjaXBlcyBjb250YWluaW5nIHRoZSBzdHJpbmcsIGFsc28gaW4gYWxwaGFiZXRpY2FsIG9yZGVyICBcblxuXG5XaGVuIHlvdSBjbGljayB0aGUgYnVpbGQgYnV0dG9uIHlvdSBhcmUgYnJvdWdodCB0byB0aGUgXCJCdWlsZHNcIiB0YWIsIGFuZCBhIG5ldyBidWlsZCBpbiBwcm9ncmVzcyBhcHBlYXJzIGF0IHRoZSB0b3Agb2YgdGhlIFwiTGF0ZXN0IHByb2plY3QgYnVpbGRzXCIgc2VjdGlvbiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9idWlsZF90ZXhib3hfZXhpc3RzX2FuZF93b3Jrcy4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJ5ZmluZ190aGVfYnVpbGRzX2xpbmtfc2hvd19wcm9wZXJfaW5mb3JtYXRpb24iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLiBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIGNvbmZpZ3VyYXRpb24gZGV0YWlscyBzaG91bGQgaW5jbHVkZSBcbiAgICBBIGJ1aWxkcyB0YWIgdGhhdCB3aGVuIGNsaWNraW5nIG9uLCBpdCBzaG91bGQgZGlzcGxheSBvbmUgb2YgdGhlIGZvbGxvd2luZzogXG4gICAgICAgXG5cbiAgICAgICAgYSkgQSBsYWJlbCB0aGF0IHNheXMgXCJMYXRlc3QgcHJvamVjdCBidWlsZHNcIiAgdGhlbiBhIGxhYmVsIHdpdGggXCJBbGwgcHJvamVjdCBidWlsZHNcIiBcbiAgICAgICAgICAgICAgICAgICBJZiB5b3UgaGF2ZSBhIGZpbmlzaGVkIGJ1aWxkIG9yIHRoZXJlIGlzIGFuIG9uZ29pbmcgYnVpbGRzIHRoZW46IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgWW91IHNob3VsZCBzZWUgYSBwcm9ncmVzcyBiYXIgb2YgdGhlIG9uZ29pbmcgYnVpbGRzIGluIHRoZSBwcm9qZWN0LiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBZb3Ugc2hvdWxkIHNlZSBhIHRhYmxlIHdpdGggdGhlIGFscmVhZHkgZG9uZSBidWlsZHMgaW4gdGhlIHByb2plY3QuIFxuXG5cbiAgICAgICAgYikgXCJBbGwgcHJvamVjdCBidWlsZHNcIiBhbmQgYSBzZWFyY2ggdGV4dGJveCB3aXRoIGEgYnV0dG9uIG5vdGhpbmcgZWxzZSBvbmx5IGlmIHRoZXJlIGFyZSBubyBidWlsZHMgZG9uZSBpbiB0aGUgcHJvamVjdCBcbiAgICAgICAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJFeHBlY3RlZCByZXN1bHQgZm9yIHN0ZXAgYSk6ICBTZWUgRXhpc3RpbmdCdWlsZHMucG5nIGF0dGFjaG1lbnQuIFxuXG5cbkV4cGVjdGVkIHJlc3VsdCBmb3Igc3RlcCBiKTogU2VlIFplcm9CdWlsZHMucG5nIGF0dGFjaG1lbnQuICIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcnlmaW5nX3RoZV9idWlsZHNfbGlua19zaG93X3Byb3Blcl9pbmZvcm1hdGlvbiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV90aGF0X3RoZV9JbXBvcnRfbGF5ZXJfbGlua19zaG93c190aGVfZm9ybSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgIE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlIFxuICAgIEFuIEltcG9ydCBsYXllciBsaW5rICB0aGF0IHdoZW4gY2xpY2tpbmcgb24sIGl0IHNob3VsZCBkaXNwbGF5OiBcbiAgICAgICAgICBBIGxhYmVsIHRoYXQgc2F5cyBcIkxheWVyIHJlcG9zaXRvcnkgaW5mb3JtYXRpb25cIiBcbiAgICAgICAgICBBIGxhYmVsIHRoYXQgc2F5cyBcIlRoZSBsYXllciB5b3UgYXJlIGltcG9ydGluZyBtdXN0IGJlIGNvbXBhdGlibGUgd2l0aCBZb2N0byBQcm9qZWN0IG1hc3Rlciwgd2hpY2ggaXMgdGhlIHJlbGVhc2UgeW91IGFyZSB1c2luZyBpbiB0aGlzIHByb2plY3QuXCIgXG4gICAgICAgIEZvcm0gY29tcG9zZWQgb2YgdGhlIGZvbGxvd2luZyBlbGVtZW50czogXG4gICAgICAgICAgICBMYXllciBuYW1lIDogdGV4dGJveCBcbiAgICAgICAgICAgIEdpdCByZXBvc2l0b3J5IFVSTCA6IHRleHRib3ggXG4gICAgICAgICAgICBSZXBvc2l0b3J5IHN1YmRpcmVjdG9yeSAob3B0aW9uYWwpIDogdGV4dGJveCBcbiAgICAgICAgICAgIEdpdCByZXZpc2lvbiA6IHRleHRib3ggXG4gICAgICAgICAgICBMYXllciBkZXBlbmRlbmNpZXMgKG9wdGlvbmFsKSA6IFwib3BlbmVtYmVkZGVkLWNvcmVcIiBsaW5rIGFuZCAodHJhc2ggaWNvbiksIHRleHRib3ggYW5kIFwiQWRkIGxheWVyXCIgYnV0dG9uIFxuICAgICAgICAgICAgSW1wb3J0IGFuZCBhZGQgdG8gcHJvamVjdCA6IGJ1dHRvbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFNlZSBhdHRhY2htZW50IEltcG9ydExheWVyRm9ybS5wbmciCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfdGhhdF90aGVfSW1wb3J0X2xheWVyX2xpbmtfc2hvd3NfdGhlX2Zvcm0iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5WZXJpZnlfdGhhdF9OZXdfQ3VzdG9tX0ltYWdlX2xpbmtfd29ya3NfYW5kX3Nob3dzX2luZm9ybWF0aW9uIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iLAorICAgICAgICAgICJuYW1lIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB0b2FzdGVyIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlIFxuXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgY29uZmlndXJhdGlvbiBkZXRhaWxzIHNob3VsZCBpbmNsdWRlICBcbiAgICBBIFwiTmV3IGN1c3RvbSBpbWFnZVwiIHRhYiB0aGF0IHdoZW4gY2xpY2tpbmcgb24sIGl0IHNob3VsZCBkaXNwbGF5OiBcbiAgICAgICAgYSBUaXRsZSBsYWJlbCB0aGF0IHNheXM6IFwiU2VsZWN0IHRoZSBpbWFnZSByZWNpcGUgeW91IHdhbnQgdG8gY3VzdG9taXNlKCNudW1iZXJfb3JfcmVjaXBlc19hdmFpbGFibGUpXCIgXG4gICAgICAgIEEgc2VhcmNoIHRleHRib3ggd2l0aCB0aGUgbGFiZWwgb2Y6IFwiU2VhcmNoIGFuZCBzZWxlY3QgdGhlIGltYWdlIHJlY2lwZSB5b3Ugd2FudCB0byBjdXN0b21pc2VcIiBcbiAgICAgICAgQSBcIlNlYXJjaCBidXR0b25cIiBcbiAgICAgICAgQSBcIkVkaXQgY29sdW1uc1wiIGJ1dHRvbiBcbiAgICAgICAgQSB0YWJsZSB0aGF0IHdpbGwgZGlzcGxheSB0aGUgY3VzdG9taXNlIGltYWdlcyBhdmFpbGFibGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBDdXN0b21JbWFnZS5wbmciCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfdGhhdF9OZXdfQ3VzdG9tX0ltYWdlX2xpbmtfd29ya3NfYW5kX3Nob3dzX2luZm9ybWF0aW9uIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X21vc3RfYnVpbHRfcmVjaXBlX3Nob3dzX2FfbWF4aW11bV9vZl81X3JlY2lwZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCA2IHJlY2lwZXMgZXhhbXBsZSAoY29yZS1pbWFnZS1zYXRvLCBjb3JlLWltYWdlLW1pbmltYWwsIGNvcmUtaW1hZ2UtYmFzZSwgY29yZS1pbWFnZS1sc2IsIGNvcmUtaW1hZ2UtY2x1dHRlcikgdG8gbmFtZSBhIGZldy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgQWxsIHJlY2lwZXMgYXJlIGJ1aWx0IGNvcnJlY3RseSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldhaXQgZm9yIHRoZSByZWNpcGVzIHRvIGZpbmlzaCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFlvdSBzaG91bGQgc2VlIDUgb2YgdGhlIDYgcmVjaXBlcyB0aGF0IHdlcmUgYnVpbGQuIElmIHlvdSBvcmRlciB0aGUgcmVjaXBlcyBpbiBhbHBoYWJldGljYWwgb3JkZXIgeW91IHNob3VsZCBzZWUgdGhhdCB0aGUgZmlyc3QgNSBtYWRlIHRoZSBsaXN0LiAiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbW9zdF9idWlsdF9yZWNpcGVfc2hvd3NfYV9tYXhpbXVtX29mXzVfcmVjaXBlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9vcmRlcl9zZXF1ZW5jZV9vZl9saXN0aW5nX2luX01vc3RfYnVpbGRfcmVjaXBlcyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSBhIHRvYXN0ZXIgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIDYgcmVjaXBlcyBleGFtcGxlIChjb3JlLWltYWdlLXNhdG8sIGNvcmUtaW1hZ2UtbWluaW1hbCwgY29yZS1pbWFnZS1iYXNlLCBjb3JlLWltYWdlLWxzYiwgY29yZS1pbWFnZS1jbHV0dGVyKSB0byBuYW1lIGEgZmV3LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJBbGwgcmVjaXBlcyBhcmUgYnVpbHQgY29ycmVjdGx5IFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2FpdCBmb3IgdGhlIHJlY2lwZXMgdG8gZmluaXNoIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgSWYgeW91IG9yZGVyIHRoZSByZWNpcGVzIGluIGFscGhhYmV0aWNhbCBvcmRlciB5b3Ugc2hvdWxkIHNlZSB0aGF0IHRoZSBmaXJzdCA1IG1hZGUgdGhlIGxpc3QuIE9ubHkgNSBvdXQgb2YgdGhlIDYgc2hvdWxkIG1ha2UgdGhlIGxpc3QuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IHRoZSA2dGggcmVjaXBlIHRoYXQgZGlkIG5vdCBtYWtlIHRoZSBsaXN0IGFuZCBidWlsZCBpdCBhZ2Fpbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgU2luY2UgdGhlIDZ0aCByZWNpcGUgaXMgbm93IGJ1aWx0IHR3aWNlIGl0IHNob3VsZCBtYWtlIHRoZSBsaXN0IGFuZCB0aGUgcmVjaXBlIGluIHRoZSA1dGggcGxhY2Ugc2hvdWxkIG5vdCBhcHBlYXIuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmVyaWZ5X29yZGVyX3NlcXVlbmNlX29mX2xpc3RpbmdfaW5fTW9zdF9idWlsZF9yZWNpcGVzIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X01vc3RfYnVpbGRfcmVjaXBlc19tdWx0aXBsZV9zZWxlY3Rpb24iLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSB0b2FzdGVyIHByb2plY3QiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCdWlsZCA0IHJlY2lwZXMgZXhhbXBsZSAoY29yZS1pbWFnZS1zYXRvLCBjb3JlLWltYWdlLW1pbmltYWwsIGNvcmUtaW1hZ2UtYmFzZSwgY29yZS1pbWFnZS1sc2IsIGNvcmUtaW1hZ2UtY2x1dHRlcikgdG8gbmFtZSBhIGZldy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEFsbCByZWNpcGVzIGFyZSBidWlsdCBjb3JyZWN0bHkgXG5cbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXYWl0IGZvciB0aGUgcmVjaXBlcyB0byBmaW5pc2guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHbyB0byB0aGUgY29uZmlndXJhdGlvbiBkZXRhaWxzLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIgWW91IHNob3VsZCBzZWUgdGhlIDQgcmVjaXBlcyBpbiBhbHBoYWJldGljYWwgb3JkZXIuIFlvdSBzaG91bGQgYWxzbyBub3RlIHRoYXQgdGhlIEJ1aWxkIGJ1dHRvbiBvbiB0aGUgdXBwZXIgcmlnaHQgaGFuZCBjb3JuZXIgaXMgZGlzYWJsZWQgc2luY2Ugbm8gcmVjaXBlIGhhcyBiZWVuIHNlbGVjdGVkLiBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCAxIG9mIHRoZSByZWNpcGVzIGluIHRoZSBtb3N0IGJ1aWx0IHJlY2lwZXMgc2VjdGlvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhlIGJ1aWxkIGJ1dHRvbiBpcyBhdXRvbWF0aWNhbGx5IGVuYWJsZWQuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IG11bHRpcGxlIChleGFtcGxlIDIgb3IgMykgcmVjaXBlcyBpbiB0aGUgbW9zdCBidWlsdCByZWNpcGVzIHNlY3Rpb24uIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBUaGUgYnVpbGQgYnV0dG9uIGlzIGVuYWJsZWQuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGhlIGJ1aWxkIGJ1dHRvbiB0byBzdGFydCBidWlsZGluZyB0aGUgcmVjaXBlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9uZSByZWNpcGUgc3RhcnQgdG8gYnVpbGQgYW5kIHRoZSBvdGhlcnMgYXJlIG9uIHF1ZXVlLiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZlcmlmeV9Nb3N0X2J1aWxkX3JlY2lwZXNfbXVsdGlwbGVfc2VsZWN0aW9uIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLW1hbmFnZWQtbW9kZS50b2FzdGVyLW1hbmFnZWQuVmVyaWZ5X2xheWVyX2FkZGl0aW9uX2Z1bmN0aW9uYWxpdHkiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAibGliZXJ0YWQuZ29uemFsZXouZGUubGEuY3J1ekBpbnRlbC5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsb25lIHRoZSBwb2t5IGVudmlyb25tZW50ICAgICBnaXQgY2xvbmUgaHR0cDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2dpdC9wb2t5IiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdG9hc3RlciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIE9uY2UgcHJvamVjdCBpcyBjcmVhdGVkIGl0IHNob3VsZCByZWRpcmVjdCB5b3UgdG8gYSBuZXcgcHJvamVjdCBjb25maWd1cmF0aW9uIHBhZ2UuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IHdpdGggbWFzdGVyIHJlbGVhc2UgXG4gICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIFNlZSBhdHRhY2htZW50IG9mIGxheWVyQ2FudmFzLnBuZyBcblxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkICBsYXllcnMgYnkgdHlwaW5nIHRoZSBuYW1lIGluIHRoZSBcIlR5cGUgYSBsYXllciBuYW1lXCIgaW5wdXQgYm94IGFuZCBhZGRpbmcgYnkgY2xpY2tpbmcgdGhlIGJ1dHRvbi4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIEEgbGlzdCBvZiBsYXllcnMgd2l0aCBzaW1pbGFyIG5hbWUgdG8gdGhlIG9uZSB5b3UgYXJlIHR5cGluZyBzaG91bGQgYXBwZWFyLCBnaXZpbmcgeW91IHRoZSBjaG9pY2UgdG8gYWRkIGl0LiAgVGhlIGRlZmF1bHQgdGV4dCBcIlR5cGUgYSBsYXllciBuYW1lXCIgc2hvdWxkIGRpc2FwcGVhciBhcyBzb29uIGFzIHlvdSBzdGFydCB0eXBpbmcuICBcblxuIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkFkZCBsYXllcnMgYnkgY2xpY2tpbmcgb24gdGhlIFZpZXcgY29tcGF0aWJsZSBsYXllcnMgbGluayBqdXN0IGJlbGxvdyB0aGUgaW5wdXQgdGV4dCBib3guIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoaXMgc2hvdWxkIHJlZGlyZWN0IHlvdSB0byB0aGUgY29tcGF0aWJsZSBsYXllcnMgcGFnZSB3aGVyZSBhIGxpc3Qgb2YgY29tcGF0aWJsZSBsYXllcnMgc2hvdWxkIGFwcGVhciBhbmQgYWxsb3cgeW91IHRvIEFkZCBsYXllcnMgdG8gdGhlIHByb2plY3QuIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQWRkIGEgbGF5ZXIgYnkgaW1wb3J0aW5nIGEgbGF5ZXIgY2xpY2tpbmcgaW4gdGhlIEltcG9ydCBsYXllciIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVGhpcyBsaW5rIHNob3VsZCByZWRpcmVjdCB5b3UgdG8gdGhlIGltcG9ydCBsYXllciBmb3JtIHdoZXJlIHlvdSB3aWxsIGJlIGFibGUgdG8gYWRkIGxheWVycyBmcm9tIGdpdCByZXBvc2l0b3J5IG9yIGEgbG9jYWwgZGlyZWN0b3J5LiBcblxuXG4iCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfbGF5ZXJfYWRkaXRpb25fZnVuY3Rpb25hbGl0eSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci1tYW5hZ2VkLW1vZGUudG9hc3Rlci1tYW5hZ2VkLlZlcmlmeV9kZWxldGVfbGF5ZXJfZnVuY3Rpb25hbGl0eSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImxpYmVydGFkLmdvbnphbGV6LmRlLmxhLmNydXpAaW50ZWwuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJsaWJlcnRhZC5nb256YWxlei5kZS5sYS5jcnV6QGludGVsLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xvbmUgdGhlIHBva3kgZW52aXJvbm1lbnQgICAgIGdpdCBjbG9uZSBodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvZ2l0L3Bva3lcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHRvYXN0ZXIiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiBPbmNlIHByb2plY3QgaXMgY3JlYXRlZCBpdCBzaG91bGQgcmVkaXJlY3QgeW91IHRvIGEgbmV3IHByb2plY3QgY29uZmlndXJhdGlvbiBwYWdlLlxuXG4iCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIGEgdG9hc3RlciBwcm9qZWN0IG1hc3RlciByZWxlYXNlICBcbiAgIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgYXR0YWNobWVudCBvZiBsYXllckNhbnZhcy5wbmcgIFxuXG4iCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUmVtb3ZlIG9wZW5lbWJlZGRlZC1jb3JlIGxheWVyIGZyb20gdGhlIHByb2plY3QgYnkgY2xpY2tpbmcgdGhlIHRyYXNoIGljb24gbmV4dCB0byBpdC4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRoZSBsYXllciBzaG91bGQgZGlzYXBwZWFyIGZyb20gdGhlIGxpc3QgYW5kIGEgbm90aWZpY2F0aW9uIHNob3VsZCBhcHBlYXIgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSBzYXlpbmc6IFwiWW91IGhhdmUgcmVtb3ZlZCAxIGxheWVyIGZyb20geW91ciBwcm9qZWN0OiBcIi4gIFRoZSBsYXllcl9uYW1lIHNob3VsZCBiZSBhIGxpbmsgdG8gdGhlIGNvcnJlc3BvbmRpbmcgbGF5ZXIgZGV0YWlsIHBhZ2UuIFRoZSBsYXllciBjb3VudGVyIG5leHQgdG8gdGhlIFwibGF5ZXJzXCIgaGVhZGluZyBzaG91bGQgZGVjcmVhc2UgYnkgb25lLiBcbiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZW1vdmUgYWxsIHRoZSBsYXllcnMgZnJvbSB0aGUgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIHlvdSBzaG91bGQgc2VlIGEgbWVzc2FnZSB0aGF0IHJlYWRzOiAgXG5cbllvdSBuZWVkIHRvIGFkZCBzb21lIGxheWVycy4gRm9yIHRoYXQgeW91IGNhbjogIFxuXG4tVmlldyBhbGwgbGF5ZXJzIGNvbXBhdGlibGUgd2l0aCB0aGlzIHByb2plY3QgIFxuXG4tSW1wb3J0IGEgbGF5ZXIgIFxuXG4tUmVhZCBhYm91dCBsYXllcnMgaW4gdGhlIGRvY3VtZW50YXRpb24gIFxuXG5PciB0eXBlIGEgbGF5ZXIgbmFtZSBiZWxvdy4gIFxuXG5cbiBUaGUgXCJDaG9vc2UgZnJvbSB0aGUgbGF5ZXJzIGNvbXBhdGlibGUgd2l0aCB0aGlzIHByb2plY3RcIiBsaW5rIHNob3VsZCBnbyB0byB0aGUgY29tcGF0aWJsZSBsYXllcnMgcGFnZSBUaGUgXCJJbXBvcnQgYSBsYXllclwiIGxpbmsgc2hvdWxkIGdvIHRvIHRoZSBpbXBvcnQgbGF5ZXIgcGFnZSBUaGUgXCJSZWFkIGFib3V0IGxheWVycyBpbiB0aGUgZG9jdW1lbnRhdGlvblwiIGxpbmsgc2hvdWxkIG9wZW4gaW4gYSBuZXcgd2luZG93IGFuZCBicmluZyB5b3UgdG8gaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvY3VycmVudC9kZXYtbWFudWFsL2Rldi1tYW51YWwuaHRtbCN1bmRlcnN0YW5kaW5nLWFuZC1jcmVhdGluZy1sYXllcnMiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWZXJpZnlfZGVsZXRlX2xheWVyX2Z1bmN0aW9uYWxpdHkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItbWFuYWdlZC1tb2RlLnRvYXN0ZXItbWFuYWdlZC5Eb3dubG9hZF90YXNrX2xvZyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogImFsZXhhbmRydS5jb3N0aW54LnJvbWFuQGludGVsLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiYWxleGFuZHJ1LmNvc3Rpbngucm9tYW5AaW50ZWwuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCBUb2FzdGVyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlRvYXN0ZXIgc3RhcnRzLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBuZXcgcHJvamVjdCBidXR0b24uXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiBjcmVhdGUgYSBuZXcgcHJvamVjdCBwYWdlLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgRW50ZXIgYSBwcm9qZWN0IG5hbWUsIHNlbGVjdCBhIHJlbGVhc2UgYW5kIGNsaWNrIG9uIGNyZWF0ZSBwcm9qZWN0IG9yIHNlbGVjdCBhbiBleGlzdGluZyBwcm9qZWN0LiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJQcm9qZWN0IENyZWF0ZWQuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIGEgcmVjaXBlIChleDogY29yZS1pbWFnZS1taW5pbWFsKS4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgZmluaXNoLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiB0aGUgYnVpbHQgcmVjaXBlLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIGJ1aWxkIHN1bW1hcnkgcGFnZS4iCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgb24gdGFza3MgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJPcGVuIHRhc2tzIHBhZ2UuIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgdGFzayBleGVjdXRlZCBzdWNjZXNzZnVsbHkuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk9wZW4gdGFzayBwYWdlLiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBvbiBcIkRvd25sb2FkIHRhc2sgbG9nXCIgYnV0dG9uLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IGNhbiBkb3dubG9hZCB0aGUgdGFzayBsb2cuIFxuIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIG9uIGEgZmFpbGVkIHRhc2suICBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiT3BlbiB0YXNrIHBhZ2UsIG5vdCBhcHBlYXIgZG93bmxvYWQgdGFzayBcbiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkRvd25sb2FkX3Rhc2tfbG9nIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci11bm1hbmFnZWQtbW9kZS5qc29uIGIvcG9reS9tZXRhL2xpYi9vZXFhL21hbnVhbC90b2FzdGVyLXVubWFuYWdlZC1tb2RlLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjlkMTFhOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9tYW51YWwvdG9hc3Rlci11bm1hbmFnZWQtbW9kZS5qc29uCkBAIC0wLDAgKzEsMTE3MCBAQAorWworICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuQ3JlYXRlX2FfWW9jdG9fcHJvamVjdF9hbmRfc3RhcnRfdGhlX1RvYXN0ZXIiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNldCB1cCB5b2N0byBwcm9qZWN0IGFuZCB0b2FzdGVyIHRlc3QgZW52aXJvbm1lbnQuIFxuY2QgJHtpbnN0YWxsZGlyfSBcbmdpdCBjbG9uZSBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5ICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSBcblxuIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIFxuY2QgJHtpbnN0YWxsZGlyfSBcbnNvdXJjZSBwb2t5L29lLWluaXQtYnVpbGQtZW52IFxuc291cmNlIHRvYXN0ZXIgc3RhcnQgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiAgXG5sb2c6IFxuVGhlIHN5c3RlbSB3aWxsIHN0YXJ0LiBcblN5bmNpbmcuLi4gXG5DcmVhdGluZyB0YWJsZXMgLi4uIFxuQ3JlYXRpbmcgdGFibGUgc291dGhfbWlncmF0aW9uaGlzdG9yeSBcbkluc3RhbGxpbmcgY3VzdG9tIFNRTCAuLi4gXG5JbnN0YWxsaW5nIGluZGV4ZXMgLi4uIFxuSW5zdGFsbGVkIDAgb2JqZWN0KHMpIGZyb20gMCBmaXh0dXJlKHMpIFxuID4gc291dGggIFxuXG5Ob3Qgc3luY2VkICh1c2UgbWlncmF0aW9ucyk6IFxuIC0gb3JtIFxuKHVzZSAuL21hbmFnZS5weSBtaWdyYXRlIHRvIG1pZ3JhdGUgdGhlc2UpIFxuUnVubmluZyBtaWdyYXRpb25zIGZvciBvcm06IFxuIC0gTWlncmF0aW5nIGZvcndhcmRzIHRvIDAwMDRfYXV0b19fYWRkX2ZpZWxkX3BhY2thZ2VfaW5zdGFsbGVkX25hbWUuIFxuID4gb3JtOjAwMDFfaW5pdGlhbCBcbiA+IG9ybTowMDAyX2F1dG9fX2FkZF9maWVsZF9idWlsZF90aW1lc3BlbnQgXG4gPiBvcm06MDAwM190aW1lc3BlbnQgXG4gLSBNaWdyYXRpb24gJ29ybTowMDAzX3RpbWVzcGVudCcgaXMgbWFya2VkIGZvciBuby1kcnktcnVuLiBcbiA+IG9ybTowMDA0X2F1dG9fX2FkZF9maWVsZF9wYWNrYWdlX2luc3RhbGxlZF9uYW1lIFxuIC0gTG9hZGluZyBpbml0aWFsIGRhdGEgZm9yIG9ybS4gXG5JbnN0YWxsZWQgMCBvYmplY3QocykgZnJvbSAwIGZpeHR1cmUocykgXG5zZXJ2ZXIgYWRkcmVzczogMTI3LjAuMC4xLCBzZXJ2ZXIgcG9ydDogODIwMCBcblN1Y2Nlc3NmdWwgc3RhcnQuIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ1aWxkIHRoZSB5b2N0byBwcm9qZWN0LiBcbmJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJCdWlsZCBzdWNjZXNzZnVsbHkuIFxuIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlVzZSBhIGRlZmF1bHQgd2ViIGJyb3dlciB0byBzZWUgcHJvamVjdCBidWlsZCBwcm9jZXNzLiBcbnhkZy1vcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8gXG5XYWl0IGZvciBidWlsZCBjb21wbGV0aW9uLiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiWW91IGNhbiBvcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8gaW4gYSBkZWZhdWx0IGJyb3dzZXIuIFRoZSBidWlsZCBwcm9jZXNzIGlzIHNob3dlZC4gIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiQ3JlYXRlX2FfWW9jdG9fcHJvamVjdF9hbmRfc3RhcnRfdGhlX1RvYXN0ZXIuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlNvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlN1Y2NlZWQgdG8gc3RhcnQgdXAgdG9hc3Rlci4gIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSAyIGJ1aWxkcywgc3VjaCBhcyBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIgYW5kIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIi4gV2FpdCBmb3Igc3VjY2Vzc2Z1bCBidWlsZHMgYW5kIHRoZW4gcnVuOiBodHRwOi8vbG9jYWxob3N0OjgwMDAvIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTdWNjZWVkIHRvIGJ1aWxkIHRoZSB0YXJnZXRzLiAiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW50ZXIgXCJBbGwgYnVpbGRcIiB0YWJsZSBpbiB3ZWIgYnJvd3Nlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BICIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNvbXBsZXRlZCBvblwiIGNvbXBvbmVudCB0byBzb3J0LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiQnVpbGQgdGFyZ2V0cyBhcmUgc29ydGVkIG91dCBieSB0aGUgXCJDb21wbGV0ZWQgb25cIi4gIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIFwiQ29tcGxldGVkIG9uXCIgY29tcG9uZW50IGFnYWluIHRvIGludmVydCB0aGUgc29ydGluZyAuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgc29ydGluZyBpcyBpbnZlcnRlZC4gIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkhhdmUgYSBzb3J0IHRyeSBpbiBvdGhlciBjb2x1bW5zLiBvdXRjb21lLCBtYWNoaW5lLCBzdGFydGVkIG9uLCBjb21wbGV0ZWQgb24sIGVycm9ycywgd2FybmluZ3MsIHByb2plY3QuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJTZWUgaXRlbSA0IGFuZCA1LiIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlNvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2J1aWxkc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHVwIHRvYXN0ZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSAiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ3JlYXRlIDIgYnVpbGRzLCBzdWNoIGFzIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIiBhbmQgXCJiaXRiYWtlIGNvcmUtaW1hZ2Utc2F0b1wiLiBXYWl0IGZvciBzdWNjZXNzZnVsIGJ1aWxkcyBhbmQgdGhlbiBydW46IHhkZy1vcGVuIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC8iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BICIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJFbnRlciBcIkFsbCBidWlsZFwiIHRhYmxlIGluIHdlYiBicm93c2VyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEgIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IGEgc3RyaW5nIGluIHNlYXJjaCBjb21wb25lbnQgYW5kIGNsaWNrIHNlYXJjaC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIlNob3cgcmV0dXJuZWQgc2VhcmNoIHJlc3VsdHMuIFdoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIGJ1aWxkc1wiLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlZSByZXR1cm5lZCBzZWFyY2ggcmVzdWx0cy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHNlY3Rpb24gaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gYnVpbGRzIGZvdW5kXCIsIGFuZCB3ZSBzaG93IHlvdSBhbiBhbGVydCB3aXRoIGEgc2VhcmNoIGZvcm0gYW5kIGFuIG9wdGlvbiB0byBzaG93IGFsbCBidWlsZHMuICIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayBcIkNsZWFyIHNlYXJjaFwiIGljb24gKGljb24tcmVtb3ZlLXNpZ24pLiBPYnNlcnZlIGFsbCBidWlsZHMgYXJlIHNob3dlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJDbGljayBpdCB0byBjbGVhciB0aGUgc2VhcmNoIGFuZCBkaXNwbGF5IGFsbCBidWlsZHMuIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9idWlsZHNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLkZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB1cCB0b2FzdGVyLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNyZWF0ZSAyIGJ1aWxkcywgc3VjaCBhcyBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIgYW5kIFwiYml0YmFrZSBjb3JlLWltYWdlLXNhdG9cIi4gV2FpdCBmb3Igc3VjY2Vzc2Z1bCBidWlsZHMgYW5kIHRoZW4gcnVuOiB4ZGctb3BlbiBodHRwOi8vbG9jYWxob3N0OjgwMDAvLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIFwiQWxsIGJ1aWxkXCIgdGFibGUgaW4gd2ViIGJyb3dzZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoZSBmb2xsb3dpbmcgdGFibGUgY29sdW1ucyBoYXZlIGZpbHRlcnMuIFxuLSBPdXRjb21lIFxuLS0gU3RhcnRlZCBvbiBcbi0gQ29tcGxldGVkIG9uIFxuLSBGYWlsZWQgdGFza3MiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJGaWx0ZXJzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuIENsaWNrIGEgZmlsdGVyIGJ1dHRvbiBvZiBhIG9uZSBjb2x1bW4gYW5kIGEgZmlsdGVyIGRpYWxvZ3VlIG9jY3Vycy4gU2VsZWN0IGEgZmlsdGVyIGl0ZW0uIFRoZSBmaWx0ZXIgcmVzdWx0IHdvdWxkIGJlIHNob3dlZC4gVGhlbiBzZWxlY3QgYW5vdGhlciBmaWx0ZXIgaXRlbSBvZiBhbm90aGVyIGNvbHVtbiBhbmQgdGhlIHByZXZpb3VzbHkgYXBwbGllZCBmaWx0ZXIgaXMgb3ZlcnJpZGRlbiBieSB0aGUgbmV3bHkgc2VsZWN0ZWQgZmlsdGVyIHdoZW4gYSBmaWx0ZXIgZnJvbSBhIGRpZmZlcmVudCBjb2x1bW4gaXMgYXBwbGllZCB0byB0aGUgdGFibGUuIEluIHRoaXMgc3RhdGUsIHdlIHNob3cgc29tZSBoZWxwIHRleHQgbmV4dCB0byB0aGUgXCJBcHBseVwiIGJ1dHRvbiwgc2F5aW5nIFwiWW91IGNhbiBvbmx5IGFwcGx5IG9uZSBmaWx0ZXIgdG8gdGhlIHRhYmxlLiBUaGlzIGZpbHRlciB3aWxsIG92ZXJyaWRlIHRoZSBjdXJyZW50IGZpbHRlci5cIiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBSdW4gYSBzZWFyY2ggcXVlcnkgYW5kIHlvdSBjYW4gc2VlIHByZXZpb3VzIGZpbHRlciByZXN1bHRzIGFyZSBvdmVycmlkZGVuIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSGF2ZSBhIHRyeSBpbiBmaWx0ZXJzIG9mIHRoZSBmb2xsb3dpbmcgdGFibGUgY29sdW1ucy4gXG4tIE91dGNvbWUgXG4tIFN0YXJ0ZWQgb24gXG4tIENvbXBsZXRlZCBvbiBcbi0gRmFpbGVkIHRhc2tzIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIkZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYnVpbGRzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5UYXNrc19pbl90b2FzdGVyX1VJIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgPT09IFRPQVNURVI6IFRlc3QgSW5zdHJ1Y3Rpb25zIGZvciBcIlRhc2tzXCIsIFwiVGltZVwiLCBcIkNQVSBVc2FnZVwiLCBhbmQgXCJEaXNrIEkvT1wiIHBhZ2VzID09PSAgIFxuIFxuTk9URSBUTyBURVNURVJTOiBUaGUgdGhyZWUgcGFnZXMgXCJUaW1lXCIsIFwiQ1BVIFVzYWdlXCIsIGFuZCBcIkRpc2sgSS9PXCIgYXJlIHNpbXBsZSB2YXJpYXRpb25zIG9uIHRoZSBcIlRhc2tzXCIgcGFnZS4gVGhvc2UgdGVzdCBpbnN0cnVjdGlvbnMgd2lsbCBkZW1vbnN0cmF0ZSB0aGUgcmVzcGVjdGl2ZSB1bmlxdWUgcGFydHMuICAgXG4gXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlRhc2tzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCcmVhZGNydW1icyAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgNCBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgIFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgcGFnZSAgXG4gICAgICAgICAgICAgICAgICBcdDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIHByb2plY3QgQnVpbGRzIHBhZ2UgXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIGltYWdlIGRhc2hib2FyZCBwYWdlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRhc2tzXCIgICBcbiBcbiAgKiBUZXN0IHRoZSBicmVhZGNydW1iIGxpdmUgbGlua3MsIHJldHVybiB0byB0aGlzIHBhZ2UgICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkdlbmVyYWwgTGF5b3V0ICAgXG4gXG4gICogT2JzZXJ2ZSB0aGUgbGVmdC1oYW5kIGJveCB3aXRoIGxpbmtzIHRvIHRoZSBvdGhlciBwYWdlcyBvZiB0aGUgYnVpbGQgICBcbiAgIFxuICAqIE9ic2VydmUgdGhlIHRpdGxlIG9mIHRoZSB0YWJsZSBpcyBcIlRhc2tzXCIsIGluIGJvbGQgICBcbiAgIFxuICAqIE9ic2VydmUgdGhlIHNlYXJjaC9maWx0ZXIgYmFyIGFib3ZlIHRoZSB0YWJsZSAgIFxuICAgXG4gICogT2JzZXJ2ZSB0aGUgbnVtYmVyIG9mIHRhYmxlIHJvd3MgaW4gZWFjaCBwYWdlIG1hdGNoZXMgdGhlIG51bWJlciBzZWxlY3RlZCBpbiB0aGUgXCJTaG93IHJvd3NcIiBkcm9wZG93biBtZW51ICAgXG4gICBcbiAgKiBPYnNlcnZlIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhlIFwiU2hvd2luZyBYWCB0byBYWCBvdXQgb2YgeHh4IGVudHJpZXNcIiwgdGhlIHBhZ2Ugc2VsZWN0aW9uIGxpbmtzLCBhbmQgdGhlIFwiU2hvdyBSb3dzXCIgc2VsZWN0aW9uLiAgIFxuIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ29sdW1ucyAgIFxuIFxuTm90ZTogdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBjb2x1bW5zIGluIHlvdXIgYnJvd3NlciwgZm9yIGV4YW1wbGUgaW4gRmlyZWZveCwgc2VsZWN0IFwiVG9vbHMgPiBQcml2YWN5ID4gcmVtb3ZlIGluZGl2aWR1YWwgY29va2llc1wiLCBmaW5kIHRoZSBjb29raWVzIGZvciB0aGUgSVAgYWRkcmVzcyBvZiB0aGUgVG9hc3RlciBlbmdpbmUgKGZvciBleGFtcGxlIFwibG9jYWxob3N0XCIpLCBhbmQgcmVtb3ZlIGVhY2ggc3ViLWNvb2tpZSB3aXRoIHRoZSBwcmVmaXggXCJfZGlzcGxheWNvbHNfKlwiIChvciB0aGUgd2hvbGUgY29va2llIGlmIHRob3NlIGFyZSB0aGUgb25seSBzdWItY29va2llcykuICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgICBcbiAgIFxuICAgIFwiT3JkZXIsIFJlY2lwZSwgVGFzaywgRXhlY3V0ZWQsIE91dGNvbWUsIENhY2hlIGF0dGVtcHRcIiAgIFxuIFxuICAqIENsaWNrIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBmaWVsZHMgYXJlIHNvcnRlZCBhcyBmb2xsb3dzICh3aXRoIHRoZSBpbmRpY2F0ZWQgaXRlbXMgZ3JleWVkKSAgIFxuIFxuICAgIFsgXSBDUFUgdXNhZ2UgIFxuICAgIFt4XSBDYWNoZSBhdHRlbXB0ICBcbiAgICBbIF0gRGlzayBJL08gKG1zKSAgXG4gICAgW3hdIEV4ZWN1dGVkICBcbiAgICBbeF0gT3JkZXIgICAgICAgICAgICB7Z3JleWVkfSAgXG4gICAgW3hdIE91dGNvbWUgIFxuICAgIFt4XSBSZWNpcGUgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbIF0gUmVjaXBlIHZlcnNpb24gIFxuICAgIFt4XSBUYXNrICAgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbIF0gVGltZSAoc2VjcykgICAgXG4gXG4gICogRm9yIGVhY2ggb2YgdGhlIGdyZXllZCBpdGVtcywgYXR0ZW1wdCB0byBjbGljayB0aGVtLiBPYnNlcnZlIHRoYXQgdGhleSBkbyBub3QgY2hhbmdlLiAgIFxuIFxuICAqIEZvciBlYWNoIG9mIHRoZSBub24tZ3JleWVkIGl0ZW1zLCBhdHRlbXB0IHRvIGNsaWNrIHRoZW0uIE9ic2VydmUgdGhhdCB0aGUgcmVzcGVjdGl2ZSBjb2x1bW4gZHluYW1pY2FsbHkgYXBwZWFycyB3aGVuIGNoZWNrZWQgYW5kIGRpc2FwcGVhcnMgd2hlbiB1bi1jaGVja2VkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHNlYXJjaCB0ZXh0IGJveCBiYWNrZ3JvdW5kIHRleHQgaXMgXCJTZWFyY2ggdGFza3NcIi4gICBcbiAgIFxuICAqIFNldCB0aGUgc2VhcmNoIHRleHQgdG8gXCJidXN5Ym94XCIgYW5kIGNsaWNrIFwiU2VhcmNoXCIuIE9ic2VydmUgdGhhdCBvbmx5IHRoZSBidXN5Ym94IHRhc2tzIGFyZSBsaXN0ZWQgKGFib3V0IDE2KS4gICBcbiAgIFxuICAqIENsaWNrIHRoZSBcIlhcIiBuZXh0IHRvIHRoZSBzZWFyY2ggdGV4dCBib3guIE9ic2VydmUgdGhhdCBhbGwgb2YgdGhlIHRhc2tzIHJlLWFwcGVhci4gICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNvbHVtbiBzb3J0cyAgIFxuIFxuICAqIEVuYWJsZSBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJPcmRlclwiIGNvbHVtbiBoZWFkZXIgaXMgaW4gYm9sZCwgaXQgaGFzIGEgZG93bi1hcnJvdyBpY29uLCBhbmQgdGhhdCB0aGUgdGFibGUgaXMgc29ydGVkIGJ5IHRoaXMgY29sdW1uIGluIGFzY2VuZGluZyBvcmRlci4gICBcbiAgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgY29sdW1ucyBhcmUgaW4gdGhpcyBvcmRlciwgYW5kIGFyZSBzb3J0YWJsZSBvbmx5IGlmIGluZGljYXRlZDogICBcbiAgIFxuICAgIE9yZGVyICAgICAgICAgICAgICAgICAgICB7c29ydGFibGV9ICBcbiAgICBSZWNpcGUgICAgICAgICAgICAgICAgICAgICB7c29ydGFibGV9ICBcbiAgICBSZWNpcGUgdmVyc2lvbiAgXG4gICAgVGFzayAgICAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgRXhlY3V0ZWQgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgT3V0Y29tZSAgICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgQ2FjaGUgYXR0ZW1wdCAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgVGltZSAoc2VjcykgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgQ1BVIHVzYWdlICAgICAgICAgICAgICAgICAge3NvcnRhYmxlfSAgXG4gICAgRGlzayBJL08gKG1zKSAgICAgICAgICAgICAge3NvcnRhYmxlfSAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBUZXN0IHRoYXQgZWFjaCBvZiB0aGUgc29ydGFibGUgY29sdW1ucyBkbyBzb3J0LCBhc2NlbmRpbmcgYW5kIGRlc2NlbmRpbmcgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgZWFjaCBvZiB0aGUgY29sdW1uIGhlYWRlcnMgaGF2ZSBhIHF1ZXN0aW9uIG1hcmsgaWNvbiwgYW5kIHRoYXQgaG92ZXJpbmcgb3ZlciBpdCBwcm92aWRlcyBoZWxwIHRleHQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlwiRXhlY3V0ZWRcIiBGaWx0ZXIgICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIkV4ZWN1dGVkXCIgY29sdW1uIGhhcyB0aGUgZmlsdGVyIGljb24uIENsaWNrIG9uIGl0IGFuZCBvYnNlcnZlIHRoZXNlIHZhbHVlcywgd2hlcmUgXCJBbGwgVGFza3NcIiBpcyB0aGUgZGVmYXVsdCAgIFxuIFxuICAgICgqKSBBbGwgVGFza3MgICBcbiAgICAoICkgRXhlY3V0ZWQgVGFza3MgICBcbiAgICAoICkgTm90IEV4ZWN1dGVkIFRhc2tzICAgIFxuIFxuICAqIENsaWNrIG9uIFwiRXhlY3V0ZWQgVGFza3NcIiBhbmQgb2JzZXJ2ZSB0aGF0IG9ubHkgcm93cyB3aXRoIHRoZSB2YWx1ZSBcIkV4ZWN1dGVkXCIgYXJlIGRpc3BsYXllZC4gICBcbiBcbiAgKiBDbGljayBvbiBcIk5vdCBFeGVjdXRlZCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgb25seSByb3dzIHdpdGggdGhlIHZhbHVlIFwiTm90IEV4ZWN1dGVkXCIgYXJlIGRpc3BsYXllZC4gICBcbiBcbiAgKiBDbGljayBvbiBcIkFsbCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgYWxsIHJvd3MgYXJlIGRpc3BsYXllZC4gICBcbiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJcIk91dGNvbWVcIiBGaWx0ZXIgICAgXG4gXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIk91dGNvbWVcIiBjb2x1bW4gaGFzIHRoZSBmaWx0ZXIgaWNvbi4gQ2xpY2sgb24gaXQgYW5kIG9ic2VydmUgdGhlc2UgdmFsdWVzLCB3aGVyZSBcIkFsbCBUYXNrc1wiIGlzIHRoZSBkZWZhdWx0ICAgXG4gXG4gICAgKCopIEFsbCBUYXNrcyAgIFxuICAgICggKSBTdWNjZWVkZWQgVGFza3MgICBcbiAgICAoICkgRmFpbGVkIFRhc2tzICAgXG4gICAgKCApIENhY2hlZCBUYXNrcyAgIFxuICAgICggKSBQcmVidWlsdCBUYXNrcyAgIFxuICAgICggKSBDb3ZlcmVkIFRhc2tzICAgXG4gICAgKCApIEVtcHR5IFRhc2tzICAgIFxuIFxuICAqIENsaWNrIG9uIGVhY2ggb2YgdGhlIGZpbHRlciBzZWxlY3Rpb25zLCBhbmQgb2JzZXJ2ZSB0aGF0IHRoZSByZXN1bHRpbmcgcm93IFwiT3V0Y29tZVwiIHZhbHVlcyBtYXRjaCB0aGUgc2VsZWN0aW9uLiAgICBcbiBcbiAgKiBDbGljayBvbiBcIkFsbCBUYXNrc1wiIGFuZCBvYnNlcnZlIHRoYXQgYWxsIHJvd3MgYXJlIGRpc3BsYXllZC4gICBcbiBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiXCJDYWNoZSBhdHRlbXB0XCIgRmlsdGVyICAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgXCJDYWNoZSBhdHRlbXB0XCIgY29sdW1uIGhhcyB0aGUgZmlsdGVyIGljb24uIENsaWNrIG9uIGl0IGFuZCBvYnNlcnZlIHRoZXNlIHZhbHVlcywgd2hlcmUgXCJBbGwgVGFza3NcIiBpcyB0aGUgZGVmYXVsdCAgIFxuIFxuICAgICgqKSBBbGwgVGFza3MgICBcbiAgICAoICkgVGFza3Mgd2l0aCBjYWNoZSBhdHRlbXB0cyAgIFxuICAgICggKSBUYXNrcyB3aXRoICdGaWxlIG5vdCBpbiBjYWNoZScgYXR0ZW1wdHMgICBcbiAgICAoICkgVGFza3Mgd2l0aCAnRmFpbGVkJyBjYWNoZSBhdHRlbXB0cyAgIFxuICAgICggKSBUYXNrcyB3aXRoICdTdWNjZWVkZWQnIGNhY2hlIGF0dGVtcHRzICAgICBcbiBcbiAgKiBDbGljayBvbiBlYWNoIG9mIHRoZSBmaWx0ZXIgc2VsZWN0aW9ucywgYW5kIG9ic2VydmUgdGhhdCB0aGUgcmVzdWx0aW5nIHJvdyBcIk91dGNvbWVcIiB2YWx1ZXMgbWF0Y2ggdGhlIHNlbGVjdGlvbi4gICBcbiAgIFxuICAgIE5vdGUgdGhlIHdpdGggYSBjbGVhbiBidWlsZCwgb25seSB0aGUgXCJBbGwgVGFza3NcIiBhbmQgXCJUYXNrcyB3aXRoIGNhY2hlIGF0dGVtcHRzXCIgd2lsbCByZXR1cm4gcm93cy4gIFxuIFxuICAqIENsaWNrIG9uIFwiQWxsIFRhc2tzXCIgYW5kIG9ic2VydmUgdGhhdCBhbGwgcm93cyBhcmUgZGlzcGxheWVkLiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPcmRlciwgVGFzaywgRXhlY3V0ZWQsIE91dGNvbWUsIENhY2hlIGF0dGVtcHQgbGlua3MgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgZm9yIGEgZ2l2ZW4gcm93LCB0aGUgYWJvdmUgdmFsdWVzIGFyZSBsaXZlIGxpbmtzIHRoYXQgd2lsbCBib3RoIHRha2UgeW91IHRvIHRoZSByZXNwZWN0aXZlIHRhc2sgZGV0YWlsIHBhZ2UuIENsaWNrIHRoZSBiYWNrIGJ1dHRvbiB0byByZXR1cm4uICBcblxuICAqIE9ic2VydmUgdGhhdCBmb3IgYSBnaXZlbiByb3cgdGhlIHZhbHVlcyBpbiBcIlJlY2lwZVwiIGFuZCBcIlJlY2lwZSB2ZXJzaW9uXCIgYXJlIGxpdmUgbGlua3MgdGhhdCB3aWxsIGJvdGggdGFrZSB5b3UgdG8gdGhlIHJlc3BlY3RpdmUgcmVjaXBlIGRldGFpbHMgcGFnZS4gQ2xpY2sgdGhlIGJhY2sgYnV0dG9uIHRvIHJldHVybiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaW1lIFBhZ2UgICBcbiBcbiAgKiBcIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiVGltZVwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBjb2x1bW5zIGFyZTogICAgXG4gICBcbiAgICBcIlJlY2lwZVwiLCBcIlRhc2tcIiwgXCJFeGVjdXRlZFwiLCBcIiBPdXRjb21lXCIsIFwiVGltZSAoc2VjcylcIiAgIFxuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgZGVmYXVsdCBzb3J0IGlzIFwiVGltZSAoc2VjcylcIiwgaW4gZGVzY2VuZGluZyBvcmRlci4gICBcbiAgIFxuICAqIEluIHRoZSBcIkVkaXQgQ29sdW1uc1wiIGJ1dHRvbiwgdHVybiBvbiBhbGwgb2YgdGhlIGNvbHVtbnMuICAgXG4gICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHBhZ2Ugbm93IG1hdGNoZXMgdGhlIFwiVGFza3NcIiBwYWdlLCBhbmQgcGFzc2VzIHRoZSBzYW1lIHRlc3RzLiAgIFxuIFxuIFxuMSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDUFUgVXNhZ2UgUGFnZSAgIFxuIFxuICAqIFwiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJDUFUgVXNhZ2VcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgY29sdW1ucyBhcmU6ICAgIFxuICAgXG4gICAgXCJSZWNpcGVcIiwgXCJUYXNrXCIsIFwiRXhlY3V0ZWRcIiwgXCJPdXRjb21lXCIsIFwiQ1BVIFVzYWdlXCIgICBcbiBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgc29ydCBpcyBcIkNQVSBVc2FnZVwiLCBpbiBkZXNjZW5kaW5nIG9yZGVyLiAgIFxuICAgXG4gICogSW4gdGhlIFwiRWRpdCBDb2x1bW5zXCIgYnV0dG9uLCB0dXJuIG9uIGFsbCBvZiB0aGUgY29sdW1ucy4gICBcbiAgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgcGFnZSBub3cgbWF0Y2hlcyB0aGUgXCJUYXNrc1wiIHBhZ2UsIGFuZCBwYXNzZXMgdGhlIHNhbWUgdGVzdHMuICAgXG4gXG4gXG4xIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkRpc2sgSS9PIFBhZ2UgICBcbiAgXG4gICAqIFwiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJEaXNrIEkvT1wiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhciAgIFxuICBcbiAgICogT2JzZXJ2ZSB0aGF0IHRoZSBkZWZhdWx0IGNvbHVtbnMgYXJlOiAgICBcbiAgICBcbiAgICAgXCJSZWNpcGVcIiwgXCJUYXNrXCIsIFwiRXhlY3V0ZWRcIiwgXCJPdXRjb21lXCIsIFwiRGlzayBJL08gKG1zKVwiICAgXG4gIFxuICAgKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgc29ydCBpcyBcIkRpc2sgSS9PIChtcylcIiwgaW4gZGVzY2VuZGluZyBvcmRlci4gICBcbiAgICBcbiAgICogSW4gdGhlIFwiRWRpdCBDb2x1bW5zXCIgYnV0dG9uLCB0dXJuIG9uIGFsbCBvZiB0aGUgY29sdW1ucy4gICBcbiAgICBcbiAgICogT2JzZXJ2ZSB0aGF0IHRoZSBwYWdlIG5vdyBtYXRjaGVzIHRoZSBcIlRhc2tzXCIgcGFnZSwgYW5kIHBhc3NlcyB0aGUgc2FtZSB0ZXN0cy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlRhc2tzX2luX3RvYXN0ZXJfVUkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZV9kZXRhaWxfaW5fdG9hc3Rlcl9VSSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiVE9BU1RFUjogVGVzdCBJbnN0cnVjdGlvbnMgZm9yIFwiUGFja2FnZSBEZXRhaWxcIiBwYWdlICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGEgcGFja2FnZSBmcm9tIHRoZSBcIlBhY2thZ2VcIiBjb2x1bW4uIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnJlYWRjcnVtYnMgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgMyBicmVhZGNydW1icyBhdCB0aGUgdG9wIGxlZnQgYXJlOiAgIFxuICAgIDogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIGltYWdlIGRhc2hib2FyZCBwYWdlIFxuICAgIFwiUGFja2FnZXNcIjogYSBsaXZlIGxpbmsgdGhhdCB3aWxsIHRha2UgeW91IGJhY2sgdG8gdGhlIFBhY2thZ2VzIHBhZ2UgIFxuICAgIFwiYmFzaFwiOiB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBwYWNrYWdlICAobm90IGEgbGluaykgICAgICAgIFxuICAqIFRlc3QgdGhlIGJyZWFkY3J1bWIgbGl2ZSBsaW5rcywgcmV0dXJuIHRvIHRoaXMgcGFnZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHZW5lcmFsIExheW91dCBcbiAgKiBDbGljayBvbiBhbnkgcGFja2FnZSBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgbm8gdGhlIGxlZnQtaGFuZCBib3ggICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGFja2FnZSBcbiAgKiBPYnNlcnZlIHRoZSB0aXRsZSBpcyB0aGUgcGFja2FnZSBuYW1lIGFuZCB2ZXJzaW9uLCBpbiBib2xkICBcbiAgKiBPYnNlcnZlIHRoYXQsIGlmIHRoZSBwYWNrYWdlIGlzIGluc3RhbGxlZCBpbiBhbiBpbWFnZSwgdGhlcmUgaXMgYSBsaW5rIHRvIHRoZSBpbWFnZShzKSB0aGUgcGFja2FnZSBhcHBlYXJzIGluICBcbiAgKiBPYnNlcnZlIHRoYXQsIGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBpbnN0YWxsZWQgaW4gdGhlIGltYWdlLCB0aGVyZSBhcmUgdHdvIHRhYiBidXR0b25zIGJlbG93IHRoZSB0aXRsZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHRhYiBidXR0b25zIGFyZTogIFxuICAgIEdlbmVyYXRlZCBmaWxlcyAoMikgICAgICAgIHtoaWdobGlnaHRlZH0gIFxuICAgIFJ1bnRpbWUgZGVwZW5kZW5jaWVzICg0KSAgXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJHZW5lcmF0ZWQgZmlsZXMgdGFiICBcbiAgKiBDbGljayB0aGUgXCJHZW5lcmF0ZWQgZmlsZXNcIiB0YWIgKHdoaWNoIHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0KSAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgb2YgZmlsZXMgaW4gdGhlIHRhYmxlIG1hdGNoZXMgdGhlIG51bWJlciBpbiBwYXJlbnRoZXNpcyBhZnRlciB0aGUgXCJHZW5lcmF0ZWQgZmlsZXNcIiB0YWIgdGl0bGUuIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgY29sdW1ucyBpbiB0aGUgdGFibGUgYXJlIFwiRmlsZVwiIGFuZCBcIlNpemVcIiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJGaWxlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiUnVudGltZSBkZXBlbmRlbmNpZXMgdGFiICBcbiAgKiBDbGljayB0aGUgXCJSdW50aW1lIGRlcGVuZGVuY2llc1wiIHRhYiAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgb2YgZGVwZW5kZW5jaWVzIGluIHRoZSB0YWJsZSBtYXRjaGVzIHRoZSBudW1iZXIgaW4gcGFyZW50aGVzaXMgYWZ0ZXIgdGhlIFwiUnVudGltZSBkZXBlbmRlbmNpZXNcIiB0YWIgdGl0bGUuICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGNvbHVtbnMgaW4gdGhlIHRhYmxlIGFyZTogIFxuICAgIFwiUGFja2FnZSwgVmVyc2lvbiwgU2l6ZVwiICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIHRhYmxlIGlzIHNvcnRlZCBieSBQYWNrYWdlIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikgIFxuICAqIE9ic2VydmUgdGhhdCB0aGUgcGFja2FnZSBuYW1lIHZhbHVlcyBhcmUgbGl2ZSBsaW5rcyB0byB0aGUgcmVzcGVjdGl2ZSBwYWNrYWdlIGRldGFpbHMgcGFnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJUaGUgaW5mb3JtYXRpb24gaWNvbiB3YXMgZWxpbWluYXRlZCBvbiB0aGUgY29sdW1ucyB0aGF0IHdoZXJlIHNlbGYgZXhwbGFuYXRvcnkuICAiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlBhY2thZ2UgaW5mb3JtYXRpb24gYm94ICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSByaWdodC1oYW5kIGJveCwgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcGFja2FnZSwgaW5jbHVkaW5nIGluIHRoaXMgZXhhbXBsZSB0aGUgZmllbGRzOiAgXG4gICAgXCJTaXplLCBMaWNlbnNlLCBSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uLCBMYXllciwgTGF5ZXIgYnJhbmNoLCBMYXllciBjb21taXRcIiAgXG4gICogT2JzZXJ2ZSB0aGF0IGVhY2ggb2YgdGhlIGZpZWxkIGhhcyBhIHF1ZXN0aW9uIG1hcmsgaWNvbiwgYW5kIHRoYXQgaG92ZXJpbmcgd2lsbCBwcm92aWRlIGhlbHAgdGV4dC4gIFxuICAqIE9ic2VydmUgdGhhdCBub25lIG9mIHRoZSB2YWx1ZXMgaW4gdGhlIHJpZ2h0LWhhbmQgYm94IGFyZSBibGFuayAgXG4gICogT2JzZXJ2ZSB0aGF0IHRoZSBcIlJlY2lwZVwiIHZhbHVlIGlzIGEgbGl2ZSBsaW5rIHRvIHRoZSByZXNwZWN0aXZlIHJlY2lwZSBkZXRhaWwgcGFnZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicGFja2FnZV9kZXRhaWxfaW5fdG9hc3Rlcl9VSSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9Tb3J0X3RoZV9jb250ZW50X29mX3RoZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJSZWNpcGVzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUmVjaXBlXCIgaW4gYXNjZW5kaW5nIGFscGhhYmV0aWNhbCBvcmRlciAoQSB0byBaKS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0IG15IFwiUmVjaXBlc1wiIHRhYmxlIGJ5IFwiU2VjdGlvblwiIGFuZCB0aGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgcmVjaXBlKHN1Y2ggYXMgY2xpY2sgYnVzeWJveCByZWNpcGUpLiBXaGVuIHlvdSBjbGljayBcImJhY2tcIiBidXR0b24gaW4gd2ViLWJyb3dzZXIgdG8gZ28gYmFjayB0byB0aGUgXCJSZWNpcGVzXCIgdGFibGUgaXQgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIlNlY3Rpb25cIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJNYWtlIHN1cmUgYWxsIGNvbHVtbiBoZWFkaW5ncyBhcmUgc29ydGFibGUsIGV4Y2VwdCBcIlJlY2lwZSB2ZXJzaW9uXCIsIFwiRGVwZW5kZW5jaWVzXCIsIFwiUmV2ZXJzZSBkZXBlbmRlbmNpZXNcIiBhbmQgXCJMYXllciBjb21taXRcIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBcIkVkaXQgY29sdW1uc1wiIFxuSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUmVjaXBlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUuIFxuU29ydCByZWNpcGVzIGJ5IFwic2VjdGlvblwiIGNvbHVtbiBoZWFkaW5nLiBUaGVuIGhpZGUgXCJTZWN0aW9uXCIgY29sdW1uIGJ5IFwiRWRpdCBjb2x1bW5zXCIuIE1ha2Ugc3VyZSB0aGF0IHRoZSBcIlJlY2lwZXNcIiB0YWJsZSBpcyBzb3J0ZWQgYnkgXCJSZWNpcGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBcbk5PVEU6IEJ1ZyA1OTE5IGlzIGZpbGVkIGFnYWluc3QgdGhlIGlzc3VlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNvcnRpbmcgYW5kIHNlYXJjaCBcblNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gXG5Tb3J0IHJlY2lwZXMgYnkgXCJzZWN0aW9uXCIgY29sdW1uIGhlYWRpbmcuIElucHV0IGEgc3RyaW5nIChzdWNoIGFzIFwibGliXCIpIGluIHNlYXJjaCBib3ggYW5kIGNsaWNrIHNlYXJjaCBidXR0b24uIE1ha2Ugc3VyZSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgXCJzZWN0aW9uXCIuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3JlY2lwZXNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnJlY2lwZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfcmVjaXBlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAicmVjaXBlczogU2VhcmNoIHRoZSBjb250ZW50IG9mIHRoZSByZWNpcGVzIHRhYmxlICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhlIHNlYXJjaCBpcyBtYWRlIG9mIGEgdGV4dCBpbnB1dCBmaWVsZCBhbmQgYSBcIlNlYXJjaFwiIGJ1dHRvbiBpbiBhIHRvb2xiYXIgYWJvdmUgdGhlIHRhYmxlLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIHJlY2lwZXNcIi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbnB1dCBcImxpYlwiIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gQ2xpY2sgc2VhcmNoIGJ1dHRvbi4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICIgXG4oMSkgcmV0dXJuZWQgcmVzdWx0cyBcblRoZSBzZWFyY2ggc3RyaW5nIGlzIGtlcHQgaW4gdGhlIHRleHQgaW5wdXQgZmllbGQuIFRoZSByZXN1bHRzIHJldHVybmVkIG9jY3VyLiBDbGljayAgXCJDbGVhciBzZWFyY2hcIiBpY29uIHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHJlY2lwZXMuIFxuKDIpIG5vIHJlc3VsdHMgcmV0dXJuZWQgXG5JZiB5b3VyIHNlYXJjaCBxdWVyeSByZXR1cm5zIG5vIHJlc3VsdHMsIHRoZSBwYWdlIGhlYWRpbmcgY2hhbmdlcyB0byBcIk5vIHJlY2lwZXMgZm91bmRcIiwgYW5kIHdlIHNob3cgeW91IGFuIGFsZXJ0IHdpdGggYSBzZWFyY2ggZm9ybSBhbmQgYW4gb3B0aW9uIHRvIHNob3cgYWxsIHJlY2lwZXMuIE9ic2VydmUgXCJzaG93IGFsbCByZWNpcGVzXCIgYnV0dG9uIGlzIGF2YWlsYWJsZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiBcbi0gUmVjaXBlIFxuLSBSZWNpcGUgdmVyc2lvbiBcbi0gUmVjaXBlIGZpbGUgXG4tIFNlY3Rpb24gXG4tIExpY2Vuc2UgXG4tIExheWVyIFxuLSBMYXllciBicmFuY2ggXG4tIExheWVyIGNvbW1pdCAgXG5cbklucHV0IGEgc3RyaW5nIHRvIHNlYXJjaCBmb3IgdGhlIGFib3ZlIDggY29sdW1uIGhlYWRpbmdzIHNlcGFyYXRlbHkgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIHNlYXJjaCBoYXBwZW5zIGFnYWluc3QgdGhlIGNvbHVtbnMuICBcblxuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2gsIHNvcnRpbmcgYW5kIFwiRWRpdCBjb2x1bW5zXCIgIFxuU2VhcmNoaW5nIGRvZXMgbm90IGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHRhYmxlOiB0aGUgc2FtZSBjb2x1bW5zIHJlbWFpbiBoaWRkZW4gYW5kIHRoZSBzYW1lIHNvcnRpbmcgYXBwbGllZCB3aGVuIHNlYXJjaCByZXN1bHRzIGFyZSBkaXNwbGF5ZWQsIGJ1dCBmaWx0ZXJzIGFyZSBjbGVhcmVkIGJ5IHRoZSBzZWFyY2ggcmVzdWx0cy5cblNlYXJjaCBhIHN0cmluZyBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlIHNhbWUgY29sdW1ucyByZW1haW4gaGlkZGVuIGFuZCB0aGUgc2FtZSBzb3J0aW5nIGFwcGxpZWQuIFNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2ggYW5kIGZpbHRlcnMgXG5UaGUgc2NvcGUgb2YgdGhlIGZpbHRlcnMgaXMgdGhlIGNvbnRlbnQgY3VycmVudGx5IG9uIHRoZSB0YWJsZSAodGhpcyBtZWFucyBhbGwgdGFibGUgcGFnZXMsIG5vdCBvbmx5IHRoZSBvbmUgZGlzcGxheWVkKS4gVGhlIHNjb3BlIG9mIHRoZSBzZWFyY2ggaXMgYWx3YXlzIHRoZSBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS5cblNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiAgXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiAgXG5cbklmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5IHdoaWxlIGEgZmlsdGVyIGlzIGFwcGxpZWQsIHRoZSBmaWx0ZXIgaXMgY2xlYXJlZCBieSB0aGUgcmVzdWx0cyBvZiB0aGUgc2VhcmNoIHF1ZXJ5IChpLmUuIHdlIGRpc3BsYXkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeSBhbmQgY2xlYXIgdGhlIGZpbHRlciBhcHBsaWVkIGJlZm9yZWhhbmQpLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0sCisgICAgICAgICIxMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIiBUaGUgc2FtZSBoYXBwZW5zIGlmIEkgY2xpY2sgdGhlIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiB3aGVuIGEgZmlsdGVyIGlzIGFwcGxpZWQgdG8gYSBzZXQgb2Ygc2VhcmNoIHJlc3VsdHMgKGJvdGggc2VhcmNoIHJlc3VsdHMgYW5kIGFwcGxpZWQgZmlsdGVyIGFyZSBjbGVhcmVkLCBhbmQgdGhlIHRhYmxlIHNob3dzIGFsbCB0aGUgdGFza3MpLiBcblNpbmNlIGZpbHRlciBmZWF0dXJlIG9mIHJlY2lwZXMgKDQyOTYpIGlzIG9ic29sZXRlLCB3ZSBkb24ndCBoYXZlIHRvIHRlc3QgZmlsdGVyLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInJlY2lwZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfcmVjaXBlc190YWJsZS4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucmVjaXBlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9yZWNpcGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiKiBPYnNlcnZlIHRoYXQgdGhlIGRlZmF1bHQgY29sdW1ucyBhcmU6ICAgXG4gICAgXCJSZWNpcGUsIFJlY2lwZSB2ZXJzaW9uLCBSZWNpcGUgZmlsZSwgU2VjdGlvbiAsIExpY2Vuc2UsIExheWVyXCIgICBcbiBcbiAgKiBDbGljayB0aGUgXCJFZGl0IENvbHVtbnNcIiBidXR0b24uICBcbiAgKiBPYnNlcnZlIHRoYXQgdGhlIGZpZWxkcyBhcmUgc29ydGVkIGFzIGZvbGxvd3MgKHdpdGggdGhlIGluZGljYXRlZCBpdGVtcyBncmV5ZWQpICBcbiAgICBbIF0gRGVwZW5kZW5jaWVzICBcbiAgICBbeF0gTGF5ZXIgIFxuICAgIFsgXSBMYXllciBicmFuY2ggIFxuICAgIFsgXSBMYXllciBjb21taXQgIFxuICAgIFt4XSBMaWNlbnNlICBcbiAgICBbeF0gUmVjaXBlICAgICAgICAgICAgICAgICAgIHtncmV5ZWR9ICBcbiAgICBbeF0gUmVjaXBlIGZpbGUgIFxuICAgIFt4XSBSZWNpcGUgdmVyc2lvbiAgICAgICAge2dyZXllZH0gIFxuICAgIFsgXSBSZXZlcnNlIGRlcGVuZGVuY2llcyAgXG4gICAgW3hdIFNlY3Rpb24gICAgXG4gXG4gICogRm9yIGVhY2ggb2YgdGhlIGdyZXllZCBpdGVtcywgYXR0ZW1wdCB0byBjbGljayB0aGVtLiBPYnNlcnZlIHRoYXQgdGhleSBkbyBub3QgY2hhbmdlLiAgXG4gICogRm9yIGVhY2ggb2YgdGhlIG5vbi1ncmV5ZWQgaXRlbXMsIGF0dGVtcHQgdG8gY2xpY2sgdGhlbS4gT2JzZXJ2ZSB0aGF0IHRoZSByZXNwZWN0aXZlIGNvbHVtbiBkeW5hbWljYWxseSBhcHBlYXJzIHdoZW4gY2hlY2tlZCBhbmQgZGlzYXBwZWFycyB3aGVuIHVuLWNoZWNrZWQuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9yZWNpcGVzX3RhYmxlLiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9WaWV3X2FfdGFibGVfd2l0aF9hbGxfdGhlX3JlY2lwZXNfaW5jbHVkZWRfaW5fYW5faW1hZ2VfcmVjaXBlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlJlY2lwZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnkgZGVmYXVsdCwgdGhlIGFsbCByZWNpcGVzIHRhYmxlIGRpc3BsYXlzIHRoZSBmb2xsb3dpbmcgY29sdW1ucyBpbiB0aGlzIG9yZGVyOiBcbigxKSBSZWNpcGUgKDIpIFJlY2lwZSB2ZXJzaW9uOiB0aGUgdGFyZ2V0IHZlcnNpb24gYW5kIHJldmlzaW9uICgzKSBEZXBlbmRlbmNpZXMgKDQpUmV2ZXJzZSBEZXBlbmRlbmNpZXMgICg1KSBMaWNlbnNlOiB0aGUgdmFsdWUgb2YgdGhlIHRhcmdldCdzIExJQ0VOU0UgdmFyaWFibGUgKDYpIExheWVyOiB0aGUgbmFtZSBvZiB0aGUgbGF5ZXIgcHJvdmlkaW5nIHRoZSB0YXJnZXQgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LCB0YWJsZSBjb2x1bW5zIGFwcGVhciBsaXN0ZWQgYWxwaGFiZXRpY2FsbHkuIFxuSW4gdGhlIHRhYmxlIGl0c2VsZiwgdGhlIGRlZmF1bHQgb3JkZXIgb2YgY29sdW1ucyBpcyBhcyBmb2xsb3dzOiBcbigxKSBEZXBlbmRlbmNpZXMgKDIpIExheWVyICgzKSBMYXllciBicmFuY2ggKDQpIExheWVyIGNvbW1pdCAoNSkgTGljZW5zZSAoNikgUmVjaXBlICg3KSBSZWNpcGUgZmlsZSAgKDgpIFJldmVyc2UgZGVwZW5kZW5jaWVzICg5KSBTZWN0aW9uICgxMCkgVmVyc2lvbiAgXG5cblRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIDIgY29sdW1ucyB0aGF0IHByb3ZpZGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBpZGVudGlmeSBhIHRhcmdldDogUmVjaXBlIGFuZCBSZWNpcGUgdmVyc2lvbi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9yZWNpcGVzX2luY2x1ZGVkX2luX2FuX2ltYWdlX3JlY2lwZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5yZWNpcGVzOl9WaWV3X2RldGFpbGVkX2luZm9ybWF0aW9uX2Fib3V0X2FfcmVjaXBl44CCIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBhbmQgc3RhcnQgdGhlIFRvYXN0ZXIuICBcbiBcbiAgJCBzb3VyY2UgcG9reS9vZS1pbml0LWJ1aWxkLWVudiBcbiAgJCBzb3VyY2UgdG9hc3RlciBzdGFydCBcbiAgJCBiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbCBcbiAgJCBodHRwOi8vbG9jYWxob3N0OjgwMDAvICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCB0aGUgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBidWlsZCBsaW5rICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCB0aGUgXCJSZWNpcGVzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyICBcbiBcbk9ic2VydmUgdGhhdCB0aGUgcmVjaXBlcyBhcmUgbGlzdGVkIGluIGEgdGFibGUsIGFuZCB0aGF0IGVhY2ggcmVjaXBlIG5hbWUgaXMgYSBsaXZlIFVSTCBsaW5rLiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJQYWNrYWdlc1wiIGxpbmsuIEl0IHNob3VsZCBoYXZlIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoNClcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIFRoZSBudW1iZXIgb2YgcGFja2FnZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIEVhY2ggcGFja2FnZSBoYXMgYSB2ZXJzaW9uIGFuZCBhIHNpemUuIFRoZSBzaXplIG1heSBiZSB6ZXJvLiAgXG4gXG4gIGMpIE5vdGUgdGhhdCBpZiB5b3UgaG92ZXIgb24gYSBwYWNrYWdlIG5hbWUsIGl0IHdpbGwgcmV2ZWFsIGEgVVJMIG9mIHRoZSBmb2xsb3dpbmcgZm9ybS4gVGhpcyBsaW5rIHNob3VsZCB0YWtlIHlvdSB0byB0aGUgY29ycmVzcG9uZGluZyBwYWNrYWdlIGRldGFpbCBwYWdlLiAgXG4gXG4gICAgICAgIGxvY2FsaG9zdDo4MDAwL2d1aS9idWlsZC8vcGFja2FnZS8gICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCByZWNpcGVzIG9mIFwiQnVpbGQgRGVwZW5kZW5jaWVzXCIgbGluayBoYXMgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigwKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgTm8gZGVwZW5kZW5jaWVzIGFwcGVhciwgYW5kIHlvdSBnZXQgYSBtZXNzYWdlIG9mIHRoZSBmb3JtOiAgXG4gXG4gIFwiJFJFQ0lQRV9OQU1FX1ZFUlNJT04gaGFzIG5vIGJ1aWxkIGRlcGVuZGVuY2llcy5cIiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJSZXZlcnNlIGJ1aWxkIGRlcGVuZGVuY2llc1wiIGxpbmsgaGFzIGFuIGFwcGVuZGVkIHZhbHVlIGxpa2UgXCIoMSlcIi4gTm93IGNsaWNrIG9uIHRoaXMgbGluay4gIFxuIFxuT2JzZXJ2ZTogXG4gIGEpIFRoZSBudW1iZXIgb2YgcGFja2FnZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIFRoZSByZWNpcGUgZGVwZW5kZW5jeSBzaG91bGQgYmUgXCJwYWNrYWdlZ3JvdXAtY29yZS1ib290XCIsICBcbiBcbiAgYykgVGhlcmUgc2hvdWxkIGJlIGEgcmVzcGVjdGl2ZSB2ZXJzaW9uIGRpc3BsYXllZCwgZm9yIGV4YW1wbGUgXCIxLjAtcjExXCIgIFxuIFxuICBkKSBJZiB5b3UgaG92ZXIgb24gdGhlIHJlY2lwZSBuYW1lLCBpdCB3aWxsIHJldmVhbCBhIFVSTCBvZiB0aGUgZm9sbG93aW5nIGZvcm0uIFRoaXMgbGluayBzaG91bGQgdGFrZSB5b3UgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcmVjaXBlIGRldGFpbCBwYWdlLiAgXG4gXG4gICAgICAgIGxvY2FsaG9zdDo4MDAwL2d1aS9idWlsZC8vcmVjaXBlLyAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDbGljayB0aGUgYnJlYWRjcnVtYiBcIlJlY2lwZXNcIiBhdCB0aGUgdG9wLCBsb2NhdGUgdGhlIFwiZ2RibVwiIHJlY2lwZSwgYW5kIHNlbGVjdCBpdC4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUGFja2FnZXNcIiBsaW5rLiBJdCBzaG91bGQgaGF2ZSBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDApXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBObyBwYWNrYWdlcyBhcHBlYXIsIGFuZCB5b3UgZ2V0IGEgbWVzc2FnZSBvZiB0aGUgZm9ybTogIFxuIFxuICBcIiRQQUNLQUdFX05BTUVfVkVSU0lPTiBkb2VzIG5vdCBidWlsZCBhbnkgcGFja2FnZXMuXCIgIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiQnVpbGQgZGVwZW5kZW5jaWVzXCIgbGluay4gSXQgc2hvdWxkIGhhdmUgYW4gYXBwZW5kZWQgdmFsdWUgbGlrZSBcIigyKVwiLiBOb3cgY2xpY2sgb24gdGhpcyBsaW5rLiAgXG4gXG5PYnNlcnZlOiBcbiAgYSkgVGhlIG51bWJlciBvZiBidWlsZCBkZXBlbmRlbmNpZXMgbWF0Y2hlcyB0aGUgcHJldmlvdXMgbnVtYmVyIGluIHBhcmVudGhlc2lzLiAgXG4gXG4gIGIpIFRoZSByZWNpcGUgZGVwZW5kZW5jeSBzaG91bGQgaGF2ZSB2YWx1ZXMgbGlrZSBcImdldHRleHQtbmF0aXZlXCIgYW5kIFwibGlidG9vbC1jcm9zc1wiLiAgXG4gXG4gIGMpIFRoZXJlIHNob3VsZCBiZSBhIHJlc3BlY3RpdmUgdmVyc2lvbnMgZGlzcGxheWVkIGZvciBlYWNoIGRlcGVuZGVuY3kuICBcbiBcbiAgZCkgSWYgeW91IGhvdmVyIG9uIGEgcmVjaXBlIG5hbWUsIGl0IHdpbGwgcmV2ZWFsIGEgVVJMIG9mIHRoZSBmb2xsb3dpbmcgZm9ybS4gVGhpcyBsaW5rIHNob3VsZCB0YWtlIHlvdSB0byB0aGUgY29ycmVzcG9uZGluZyByZWNpcGUgZGV0YWlsIHBhZ2UuICBcbiBcbiAgICAgICAgbG9jYWxob3N0OjgwMDAvZ3VpL2J1aWxkLy9yZWNpcGUvICBcbiBcbjEiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IFwiUmV2ZXJzZSBidWlsZCBkZXBlbmRlbmNpZXNcIiBsaW5rLiBJdCBzaG91bGQgaGF2ZSBhbiBhcHBlbmRlZCB2YWx1ZSBsaWtlIFwiKDApXCIuIE5vdyBjbGljayBvbiB0aGlzIGxpbmsuICBcbiBcbk9ic2VydmU6IFxuICBhKSBObyByZXZlcnNlIGRlcGVuZGVuY2llcyBhcHBlYXIsIGFuZCB5b3UgZ2V0IGEgbWVzc2FnZSBvZiB0aGUgZm9ybTogIFxuIFxuICBcIiRSRUNJUEVfTkFNRV9WRVJTSU9OIGRvZXMgbm90IGJ1aWxkIGFueSBwYWNrYWdlcy4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicmVjaXBlczpfVmlld19kZXRhaWxlZF9pbmZvcm1hdGlvbl9hYm91dF9hX3JlY2lwZeOAgiIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X1NlYXJjaF90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIldoZW4gbm8gc2VhcmNoIHF1ZXJ5IGhhcyBiZWVuIGVudGVyZWQsIHdlIGhhdmUgcGxhY2Vob2xkZXIgdGV4dCBzYXlpbmc6IFwiU2VhcmNoIEJpdEJha2UgdmFyaWFibGVzXCIuICAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklucHV0IFwibGliXCIgaW4gdGV4dCBpbnB1dCBmaWVsZC4gVGhlIHBsYWNlaG9sZGVyIHRleHQgZGlzYXBwZWFycyB3aGVuIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdHlwZWQuIENsaWNrIHNlYXJjaCBidXR0b24uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIjQgdmFyaWFibGVzIGZvdW5kXCIgaXMgc2hvd2VkLiAoSXQgbWF5IGJlIG90aGVyIG51bWJlci4pICBcbiAgSWYgeW91ciBzZWFyY2ggcXVlcnkgcmV0dXJucyBubyByZXN1bHRzLCB3ZSBkaXNwbGF5IGFuIGFsZXJ0IHdpdGg6IFxuICAgIC0gQSBoMyBoZWFkaW5nIHNheWluZzogXCJObyB2YXJpYWJsZXMgZm91bmRcIiBcbiAgICAtIEEgc2VhcmNoIGJveCBcbiAgICAtIFRoZSBzZWFyY2ggcXVlcnkgaXMgc2hvd2VkIGluIHRoZSB0ZXh0IGlucHV0IHNoaWVsZC4gXG4gICAgLSBBIGxpbmsgdG8gc2hvdyBhbGwgdmFyaWFibGVzLiB3ZSBzaG93IHRoZSB2YXJpYWJsZXMgdGFibGUuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHZhcmlhYmxlcy4gQ2hlY2sgdGhhdCB0aGUgXCJDbGVhciBzZWFyY2hcIiBpY29uIGNhbm5vdCBiZSBhY2Nlc3NlZCB1c2luZyB0aGUgdGFiIGtleS4gICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI3IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVmVyaWZ5IHNlYXJjaCBzY29wZS4gXG5XaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiBcbi0gVmFyaWFibGUgXG4tIFZhbHVlIFxuLSBTZXQgaW4gZmlsZSBcbi0gRGVzY3JpcHRpb24gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJWZXJpZnkgXCJzZWFyY2gsIHNvcnRpbmcgYW5kICdFZGl0IGNvbHVtbnMnXCIgXG5TZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkIFxud2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGlzcGxheWVkLCBidXQgZmlsdGVycyBhcmUgY2xlYXJlZCBieSB0aGUgc2VhcmNoIHJlc3VsdHMuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VhcmNoIGFuZCBmaWx0ZXJzIFxuSWYgSSBydW4gYSBzZWFyY2ggcXVlcnksIGFueSBmaWx0ZXIgYXBwbGllZCBhZnRlcndhcmRzIHdpbGwgZmlsdGVyIHRoZSBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuIFxuSWYgSSBydW4gYSBzZWFyY2ggcXVlcnkgd2hpbGUgYSBmaWx0ZXIgaXMgYXBwbGllZCwgdGhlIGZpbHRlciBpcyBjbGVhcmVkIGJ5IHRoZSByZXN1bHRzIG9mIHRoZSBzZWFyY2ggcXVlcnkuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInZhcmlhYmxlczpfU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC52YXJpYWJsZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiQnkgZGVmYXVsdCwgdGhlIFwidmFyaWFibGVzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiVmFyaWFibGVcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgXCJWYXJpYWJsZVwiIGNvbHVtbiBpcyBzb3J0YWJsZSAoRGV2ZWxvcGVycyBoYXZlIGRpc2FibGVkIHNvcnQgZnVuY3Rpb24gb2YgYWxsIG90aGVyIGNvbHVtbnMgdG8gYXZvaWQgYnVnIDYwMDQpIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTb3J0aW5nIGFuZCBzZWFyY2ggXG5TZWFyY2hpbmcgc2hvdWxkIGhhdmUgbm8gaW1wYWN0IG9uIHRoZSBhcHBsaWVkIHNvcnRpbmcuIEFueSByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgdGhlIHNvcnRpbmcgY3JpdGVyaWEgc2VsZWN0ZWQgd2hlbiB0aGUgc2VhcmNoIHF1ZXJ5IHdhcyBzdWJtaXR0ZWQuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInZhcmlhYmxlczpfU29ydF90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUuIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLmJ1aWxkczpfVmlld19hX3RhYmxlX29mX2FsbF90aGVfYnVpbGRzX3J1bl9mb3JfYV9jZXJ0YWluX2J1aWxkX2RpcmVjdG9yeSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3RlciBhbmQgb3BlbiBsb2NhbGhvc3Q6ODAwMC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiWW91IGNhbiBzZWUgJ0xhdGVzdCBidWlsZHMnIHNlY3Rpb24gbGlzdHMuIC0gQnVpbGRzIGluIHByb2dyZXNzLCBzb3J0ZWQgYnkgaW52ZXJzZSBzdGFydCB0aW1lIChsYXN0IG9uZSBzdGFydGluZyBhdCB0aGUgdG9wKS4gLSAzIGxhdGVzdCBjb21wbGV0ZWQgYnVpbGRzLCBhcyBsb25nIGFzIHRoZXkgYXJlIGxlc3MgdGhhbiAyNCBob3VycyBvbGQuICBJZiB0aGVyZSBhcmUgbm8gYnVpbGRzIGluIHByb2dyZXNzIG9yIGJ1aWxkcyBjb21wbGV0ZWQgd2l0aGluIHRoZSBsYXN0IDI0IGhvdXJzIHdlIGRvbid0IGRpc3BsYXkgaXQ6IHRoZSBwYWdlIHNob3dzIG9ubHkgdGhlICdBbGwgYnVpbGRzJyBzZWN0aW9uLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJZb3UgY2FuIHNlZSB0aGUgZm9sbG93aW5nIGNvbHVtbiBoZWFkaW5ncy4gWW91IGNhbiBzZWUgdGhlIHRoZWlyIGRlc2NyaXB0aW9uIGluIGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0xNjE3LiBvdXRjb21lLCByZWNpcGUsIG1hY2hpbmUsIHN0YXJ0ZWQgb24sIGNvbXBsZXRlZCBvbiwgZmFpbGVkIHRhc2tzLCBlcnJvcnMsIHdhcm5pbmdzLCB0aW1lLCBpbWFnZSBmaWxlcywgcHJvamVjdCIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJidWlsZHM6X1ZpZXdfYV90YWJsZV9vZl9hbGxfdGhlX2J1aWxkc19ydW5fZm9yX2FfY2VydGFpbl9idWlsZF9kaXJlY3RvcnkiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuYnVpbGRzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2J1aWxkc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgdXAgdG9hc3Rlci4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJDcmVhdGUgMiBidWlsZHMsIHN1Y2ggYXMgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiIGFuZCBcImJpdGJha2UgY29yZS1pbWFnZS1zYXRvXCIuIFdhaXQgZm9yIHN1Y2Nlc3NmdWwgYnVpbGRzIGFuZCB0aGVuIHJ1bjogeGRnLW9wZW4gaHR0cDovL2xvY2FsaG9zdDo4MDAwLyIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVudGVyIFwiQWxsIGJ1aWxkXCIgdGFibGUgaW4gd2ViIGJyb3dzZXIuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2VsZWN0IGEgZmV3IGl0ZW0gaW4gXCJFZGl0IGNvbHVtbnNcIiB0byBzaG93IG9yIGhpZGUgdGhlbSBpbiBhbGwgYnVpbGRzLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiVW5jaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gY2hlY2tlZCBzaG91bGQgaW1tZWRpYXRlbHkgYXBwZWFyIGluIHRoZSB0YWJsZS4gICBDaGVja2VkIGl0ZW1zIGNoYW5nZWQgdG8gdW5jaGVja2VkIHNob3VsZCBpbW1lZGlhdGVseSBkaXNhcHBlYXIgZnJvbSB0aGUgdGFibGUuICAgSWYgeW91IHVuY2hlY2sgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdoZW4geW91IGNsb3NlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdGhlIGFwcGxpZWQgc29ydGluZyBzaG91bGQgcmV2ZXJ0IHRvIHRoZSB0YWJsZSBkZWZhdWx0IHNvcnRpbmcuIEJ1ZyA1OTE5IGlzIGZpbGVkIGZvciB0aGUgZnVuY3Rpb24uIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiYnVpbGRzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2J1aWxkc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5wYWNrYWdlczpfVmlld19hX3RhYmxlX3dpdGhfYWxsX3RoZV9wYWNrYWdlc19idWlsdF9mb3JfYW5faW1hZ2VfcmVjaXBlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBidWlsdCBwYWNrYWdlcyB0YWJsZSBkaXNwbGF5cyB0aGUgZm9sbG93aW5nIGNvbHVtbnMgaW4gdGhpcyBvcmRlcjogIFBhY2thZ2UsIFBhY2thZ2UgdmVyc2lvbiwgU2l6ZSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBcGFydCBmcm9tIHRoZSBjb2x1bW5zIHNob3duIGJ5IGRlZmF1bHQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBjb2x1bW5zIGFyZSBhbHNvIGF2YWlsYWJsZSB0byB1c2VycyB2aWEgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogIExheWVyLCBMYXllciBicmFuY2gsIExheWVyIGNvbW1pdCwgTGljZW5zZSwgUmVjaXBlIHZlcnNpb24gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkVuYWJsZSB0aGVzZSBjb2x1bW5zIGFuZCBvYnNlcnZlIHRoYXQgdGFibGUgY29sdW1ucyBhcHBlYXIgbGlzdGVkIGFscGhhYmV0aWNhbGx5IGluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgKDEpUGFja2FnZSAoMilQYWNrYWdlIHZlcnNpb24gKDMpU2l6ZSAoNClMaWNlbnNlICg1KVJlY2lwZSAoNilSZWNpcGUgdmVyc2lvbiAoNylMYXllciAoOClMYXllciBicmFuY2ggKDkpTGF5ZXIgY29tbWl0ICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBtaW5pbXVtIHRhYmxlIGlzIG1hZGUgb2YgdGhlIDIgY29sdW1ucyB0aGF0IHByb3ZpZGUgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBpZGVudGlmeSBhIHBhY2thZ2U6IFBhY2thZ2UgYW5kIFBhY2thZ2UgdmVyc2lvbi4gVGhlaXIgY29ycmVzcG9uZGluZyBjaGVja2JveGVzIGluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgYXBwZWFyIGFsd2F5cyBzZWxlY3RlZCBhbmQgYXJlIGluIGFuIGluYWN0aXZlIHN0YXRlLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VzOl9WaWV3X2FfdGFibGVfd2l0aF9hbGxfdGhlX3BhY2thZ2VzX2J1aWx0X2Zvcl9hbl9pbWFnZV9yZWNpcGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQucGFja2FnZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIFwiU2l6ZVwiIGNvbHVtbiBoZWFkaW5nIHRvIHNvcnQgbXkgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGJ5IFwiU2l6ZVwiLiBUaGVuIG5hdmlnYXRlIGF3YXkgYnkgc2VsZWN0aW5nIGEgcGFja2FnZSBhbmQgeW91IGNhbiBzZWUgdGhlIHBhY2thZ2UgcGFnZS4gQWZ0ZXIgY2xpY2sgXCJnbyBiYWNrXCIgYnV0dG9uIGluIGJyb3dzZXIgdG8gcmV0dXJuIHRvIHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXQgc2hvdWxkIHN0aWxsIGJlIHNvcnRlZCBieSBcIlNpemVcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IGFsbCBleGNlcHQgXCJQYWNrYWdlIHZlcnNpb25cIiwgXCJSZWNpcGUgdmVyc2lvblwiLCBcIkxheWVyIGNvbW1pdFwiIGFyZSBzb3J0YWJsZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiSWYgeW91IHVzZSB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51IHRvIGhpZGUgdGhlIGNvbHVtbiB3aXRoIHRoZSBhcHBsaWVkIHNvcnRpbmcsIHdlIHJldmVydCB0aGUgc29ydGluZyB0byB0aGUgZGVmYXVsdCBzb3J0aW5nIChpLmUuIFwiUGFja2FnZVwiKS4gVGhlIGRlZmF1bHQgc29ydGluZyBhbHdheXMgdXNlcyBvbmUgb2YgdGhlIGNvcmUgY29sdW1ucywgd2hpY2ggY2Fubm90IGJlIGhpZGRlbiB1c2luZyB0aGUgXCJFZGl0IGNvbHVtbnNcIiBtZW51LiAgIEJ1ZyA1OTE5IGlzIGZpbGVkIGZvciB0aGUgaXNzdWUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gIFNvcnQgcGFja2FnZXMgYnkgc2l6ZSBhbmQgc2VhcmNoIGEgc3RyaW5nLiBPYnNlcnZlIHRoYXQgcmVzdWx0cyByZXR1cm5lZCBzaG91bGQgYmUgc29ydGVkIGJ5IHNpemUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiY29yZS1pbWFnZSpcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIE9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiBjaG9vc2UgdG8gc29ydCBteSBcImluY2x1ZGVkIHBhY2thZ2VzXCIgdGFibGUgYnkgXCJTaXplXCIgYW5kIHRoZW4gbmF2aWdhdGUgYXdheSBieSBzZWxlY3RpbmcgYSBwYWNrYWdlLCB3aGVuIEkgZ28gYmFjayB0byB0aGUgXCJpbmNsdWRlZCBwYWNrYWdlc1wiIHRhYmxlIGl0IHNob3VsZCBzdGlsbCBiZSBzb3J0ZWQgYnkgXCJTaXplXCIuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjEwIjogeworICAgICAgICAgICJhY3Rpb24iOiAiRW5hYmxlIGFsbCBjb2x1bW5zIGJ5IFwiRWRpdCBjb2x1bW5zXCIuIEFsbCBleGNlcHQgXCJQYWNrYWdlIHZlcnNpb25cIiwgXCJSZWNpcGUgdmVyc2lvblwiLCBcIkRlcGVuZGVuY2llc1wiLCBcIlJldmVyc2UgZGVwZW5kZW5jaWVzXCIsIFwiTGF5ZXIgY29tbWl0XCIsIHNob3VsZCBiZSBzb3J0YWJsZS4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJZiB5b3UgdXNlIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUgdG8gaGlkZSB0aGUgY29sdW1uIHdpdGggdGhlIGFwcGxpZWQgc29ydGluZywgd2UgcmV2ZXJ0IHRoZSBzb3J0aW5nIHRvIHRoZSBkZWZhdWx0IHNvcnRpbmcgKGkuZS4gXCJQYWNrYWdlXCIpLiBUaGUgZGVmYXVsdCBzb3J0aW5nIGFsd2F5cyB1c2VzIG9uZSBvZiB0aGUgY29yZSBjb2x1bW5zLCB3aGljaCBjYW5ub3QgYmUgaGlkZGVuIHVzaW5nIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUuICBCdWcgNTkxOSBpcyBmaWxlZCBmb3IgdGhlIGlzc3VlLiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlYXJjaGluZyBzaG91bGQgaGF2ZSBubyBpbXBhY3Qgb24gdGhlIGFwcGxpZWQgc29ydGluZy4gQW55IHJlc3VsdHMgcmV0dXJuZWQgc2hvdWxkIGJlIHNvcnRlZCBieSB0aGUgc29ydGluZyBjcml0ZXJpYSBzZWxlY3RlZCB3aGVuIHRoZSBzZWFyY2ggcXVlcnkgd2FzIHN1Ym1pdHRlZC4gU29ydCBwYWNrYWdlcyBieSBzaXplIGFuZCBzZWFyY2ggYSBzdHJpbmcuIE9ic2VydmUgdGhhdCByZXN1bHRzIHJldHVybmVkIHNob3VsZCBiZSBzb3J0ZWQgYnkgc2l6ZS4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAicGFja2FnZXM6X1NvcnRfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnBhY2thZ2VzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIiwKKyAgICAgICJhdXRob3IiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAiZW1haWwiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iLAorICAgICAgICAgICJuYW1lIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIgorICAgICAgICB9CisgICAgICBdLAorICAgICAgImV4ZWN1dGlvbiI6IHsKKyAgICAgICAgIjEiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTdGFydCB3aXRoIGEgZGVmYXVsdCBZb2N0byBwcm9qZWN0IChxZW11eDg2KSwgc3RhcnQgdGhlIFRvYXN0ZXIsIGFuZCBidWlsZCBcImJpdGJha2UgY29yZS1pbWFnZS1taW5pbWFsXCIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiUGFja2FnZXNcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIk9ic2VydmUgdGhhdCBieSBkZWZhdWx0IHRoZSBcImJ1aWx0IHBhY2thZ2VzXCIgdGFibGUgaXMgc29ydGVkIGJ5IFwiUGFja2FnZVwiIGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgKEEgdG8gWikuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlNlbGVjdCAxIGNvbHVtbiBpbiBcIkVkaXQgY29sdW1uXCIgdG8gc2hvdyB0aGUgY29sdW1uLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJEZXNlbGVjdCAxIGNvbHVtbiBpbiBcIkVkaXQgY29sdW1uXCIgdG8gaGlkZSAxIGNvbHVtbiBieSBcIkVkaXQgY29sdW1uc1wiLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJwYWNrYWdlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9wYWNrYWdlc190YWJsZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5wYWNrYWdlczpfU2VhcmNoX3RoZV9jb250ZW50X29mX3RoZV9wYWNrYWdlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJidWlsdCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIG5vIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBlbnRlcmVkLCB3ZSBoYXZlIHBsYWNlaG9sZGVyIHRleHQgc2F5aW5nOiBcIlNlYXJjaCBwYWNrYWdlcyBidWlsdFwiLiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBkaXNhcHBlYXJzIHdoZW4gdGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0eXBlZC4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiV2hlbiBhIHNlYXJjaCBxdWVyeSBoYXMgYmVlbiBzdWJtaXR0ZWQgYW5kIHJlc3VsdHMgcmV0dXJuZWQ6IOKWqiBXZSBrZWVwIHRoZSBzZWFyY2ggc3RyaW5nIGluIHRoZSB0ZXh0IGlucHV0IGZpZWxkLiDilqogV2UgcHJvdmlkZSBhIFwiQ2xlYXIgc2VhcmNoXCIgaWNvbiAoaWNvbi1yZW1vdmUtc2lnbikuIENsaWNrIGl0IHRvIGNsZWFyIHRoZSBzZWFyY2ggYW5kIGRpc3BsYXkgYWxsIHBhY2thZ2VzLiDilqogV2UgY2hhbmdlIHRoZSBwYWdlIGhlYWRpbmcgdG8gaW5kaWNhdGUgdGhlIG51bWJlciBvZiByZXN1bHRzIHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIklmIHlvdXIgc2VhcmNoIHF1ZXJ5IHJldHVybnMgbm8gcmVzdWx0cywgdGhlIHBhZ2UgaGVhZGluZyBjaGFuZ2VzIHRvIFwiTm8gcGFja2FnZXMgZm91bmRcIiwgYW5kIHdlIHNob3cgeW91IGFuIGFsZXJ0IHdpdGggYSBzZWFyY2ggZm9ybSBhbmQgYW4gb3B0aW9uIHRvIHNob3cgYWxsIHBhY2thZ2VzLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWFyY2hpbmcgZG9lcyBub3QgY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgdGFibGU6IHRoZSBzYW1lIGNvbHVtbnMgcmVtYWluIGhpZGRlbiBhbmQgdGhlIHNhbWUgc29ydGluZyBhcHBsaWVkLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjgiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJXaGVuIEkgcnVuIGEgc2VhcmNoLCB0aGUgc2VhcmNoIGhhcHBlbnMgYWdhaW5zdCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgKGluZGVwZW5kZW50bHkgb2YgdGhleSBiZWluZyBzaG93biBvciBoaWRkZW4pOiAtIFBhY2thZ2UgLSBQYWNrYWdlIHZlcnNpb24gLSBMaWNlbnNlIC0gUmVjaXBlIC0gUmVjaXBlIHZlcnNpb24gLSBMYXllciAtIExheWVyIGJyYW5jaCAtIExheWVyIGNvbW1pdCAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjkiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJIaWRlIGFsbCBjb2x1bW5zIGV4Y2VwdCBcIlBhY2thZ2VcIiBhbmQgXCJQYWNrYWdlIHZlcnNpb25cIi4gU2VhcmNoIGEgc3RyaW5nIHdoaWNoIGlzIGluY2x1ZGVkIGluIG90aGVyIGhpZGRlbiBjb2x1bW5zLCBub3QgdGhlIDIgY29sdW1ucy4gU2VlIGlmIHJldHVybmVkIHJlc3VsdHMgb2NjdXIuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMTAiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcImNvcmUtaW1hZ2UqXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiBPYnNlcnZlIHRoYXQgYnkgZGVmYXVsdCB0aGUgXCJpbmNsdWRlZCBwYWNrYWdlc1wiIHRhYmxlIGlzIHNvcnRlZCBieSBcIlBhY2thZ2VcIiBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopLiBSZXJ1biB0ZXN0cyBhY2NvcmRpbmcgdG8gc3RlcCA0fjkuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogInBhY2thZ2VzOl9TZWFyY2hfdGhlX2NvbnRlbnRfb2ZfdGhlX3BhY2thZ2VzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLlZpZXdfZGV0YWlsZWRfaW5mb3JtYXRpb25fYWJvdXRfYV9sYXllciIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiTWFrZSBzdXJlIHRoYXQgbGF5ZXIgaW5mb3JtYXRpb24gaXMgc2hvd24gaW46IFxuKiByZWNpcGVzIHRhYmxlIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiByZWNpcGVzIFxuICAgIFNlbGVjdCBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIgaW4gRWRpdCBjb2x1bW5zIGFuZCBvYnNlcnZlIHRoZSAzIGNvbHVtbnMgYXJlIHNob3dlZC4gTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICAgXG5cbiogcmVjaXBlIGRldGFpbHMgIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiByZWNpcGVzIFxuICAgIENsaWNrIGEgcmVjaXBlIGFuZCB5b3UgY2FuIHNlZSBcIkxheWVyXCIsIFwiTGF5ZXIgYnJhbmNoXCIsIFwiTGF5ZXIgY29tbWl0XCIsIFwiUmVjaXBlIGRldGFpbHNcIiBpbmZvcm1hdGlvbi4gIE5vdGUgdGhhdCBcIkxheWVyIGJyYW5jaFwiIGlzIG5vdCByZXF1aXJlZC4gSWYgdGhlcmUgaXMgbm8gbGF5ZXIgYnJhbmNoLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgaXRlbSBvbiB0aGUgbGlzdC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogImJ1aWx0IHBhY2thZ2VzIHRhYmxlIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiBwYWNrYWdlcyBcbiAgICBTZWxlY3QgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiICBpbiBFZGl0IGNvbHVtbnMgYW5kIG9ic2VydmVyIHRoZSAzIGNvbHVtbnMgaXMgc2hvd2VkLiBOb3RlIHRoYXQgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgY29sdW1uIGNhbiBiZSBlbXB0eS4gICBcblxuKiBidWlsdCBwYWNrYWdlIGRldGFpbHMgXG4gICAgQWxsIGJ1aWxkcy0+IGNvcmUtaW1hZ2UtbWluaW1hbC0+IHBhY2thZ2VzIFxuICAgIENsaWNrIGEgcGFja2FnZSBhbmQgeW91IGNhbiBzZWUgXCJMYXllclwiLCBcIkxheWVyIGJyYW5jaFwiLCBcIkxheWVyIGNvbW1pdFwiIGluIHBhY2thZ2UgaW5mb3JtYXRpb24uIE5vdGUgdGhhdCBcIkxheWVyIGJyYW5jaFwiIGlzIG5vdCByZXF1aXJlZC4gSWYgdGhlcmUgaXMgbm8gbGF5ZXIgYnJhbmNoLCB5b3Ugc2hvdWxkIG5vdCBzZWUgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgaXRlbSBvbiB0aGUgbGlzdC4gIFxuXG4qIGltYWdlIGluZm9ybWF0aW9uIFxuICAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gY29yZS1pbWFnZS1taW5pbWFsKGltYWdlcykgXG4gICAgU2VsZWN0IFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiBpbiBFZGl0IGNvbHVtbnMgYW5kIG9ic2VydmVyIHRoZSAzIGNvbHVtbnMgaXMgc2hvd2VkLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiTm90ZSB0aGF0IHRoZSBcIkxheWVyIGJyYW5jaFwiIGNvbHVtbiBjYW4gYmUgZW1wdHkuICAgXG5cbiogaW5zdGFsbGVkIHBhY2thZ2UgZGV0YWlscyBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsLT4gY29yZS1pbWFnZS1taW5pbWFsKGltYWdlcykgXG4gICAgQ2xpY2sgYSBwYWNrYWdlIGFuZCB5b3UgY2FuIHNlZSBsYXllciBpbmZvcm1hdGlvbiBpbiBwYWNrYWdlIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgXCJMYXllciBicmFuY2hcIiBpcyBub3QgcmVxdWlyZWQuIElmIHRoZXJlIGlzIG5vIGxheWVyIGJyYW5jaCwgeW91IHNob3VsZCBub3Qgc2VlIHRoZSBcIkxheWVyIGJyYW5jaFwiIGl0ZW0gb24gdGhlIGxpc3QuICBcblxuKiBjb25maWd1cmF0aW9uIFxuICAgIEFsbCBidWlsZHMtPiBjb3JlLWltYWdlLW1pbmltYWwtPiBDb25maWd1cmF0aW9uIFxuICAgIFlvdSBjYW4gc2VlIFwiTGF5ZXJcIiwgXCJMYXllciBicmFuY2hcIiwgXCJMYXllciBjb21taXRcIiAgaW4gY29uZmlndXJhdGlvbiBzdW1tYXJ5LiBOb3RlIHRoYXQgdGhlIFwiTGF5ZXIgYnJhbmNoXCIgY29sdW1uIGNhbiBiZSBlbXB0eS4gIFxuXG4qIGJ1aWxkIGRhc2hib2FyZCBcbiAgICBBbGwgYnVpbGRzLT4gY29yZS1pbWFnZS1taW5pbWFsIFxuICAgIFlvdSBjYW4gc2VlIFwiTGF5ZXJzXCIgaW4gYnVpbGQgc3VtbWFyeS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICJOQSIKKyAgICAgICAgfQorICAgICAgfSwKKyAgICAgICJzdW1tYXJ5IjogIlZpZXdfZGV0YWlsZWRfaW5mb3JtYXRpb25fYWJvdXRfYV9sYXllciIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5TZWxlY3RfdGhlX251bWJlcl9vZl90YWJsZV9yb3dzX2Rpc3BsYXllZF9wZXJfcGFnZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIlBhY2thZ2VzXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJVc2VycyBjYW4gc2VsZWN0IHRoZSBudW1iZXIgb2Ygcm93cyB0aGV5IHdhbnQgdG8gc2VlIGluIGEgdGFibGUgdXNpbmcgdGhlIFwiU2hvdyByb3dzXCIgZHJvcGRvd24gbWVudSwgd2hpY2ggZGlzcGxheXMgYWJvdmUgYW5kIGJlbG93IGVhY2ggdGFibGUuIFRoZSBvcHRpb25zIG9mIHRoZSBcIlNob3cgcm93c1wiIGRyb3Bkb3duIGFyZTogMTAsIDI1LCA1MCwgMTAwLCAxNTAuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBsYXN0IHNlbGVjdGVkIG9wdGlvbiBmcm9tIHRoZSBcIlNob3cgcm93c1wiIG1lbnUgc2hvdWxkIGJlIHJlbWVtYmVyZWQ6ICAqIFNlbGVjdCBvbmUgb3B0aW9uLCBmb3IgZXhhbXBsZSAxMCAqIENsaWNrIG9uIGEgcGFja2FnZSBuYW1lIHRvIG5hdmlnYXRlIGF3YXkgZnJvbSB0aGUgYnVpbHQgcGFja2FnZXMgdGFibGUgKiBDbGljayBvbiB0aGUgXCJQYWNrYWdlc1wiIGxpbmsgaW4gdGhlIGJyZWFkY3J1bWIgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZSB0byBnbyBiYWNrIHRvIHRoZSBwYWNrYWdlcyB0YWJsZSAgTm90ZSB0aGF0IDI1IGlzIHN0aWxsIHNlbGVjdGVkIGluIHRoZSBcIlNob3cgcm93c1wiIG1lbnUuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2luYXRpb24gd2lkZ2V0IGlzIG1hZGUgb2Y6IC0gQSBcIlByZXZpb3VzXCIgYnV0dG9uIC0gQSBcIk5leHRcIiBidXR0b24gLSBBIG1heGltdW0gb2YgNSBwYWdlIGJ1dHRvbnMuICAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJTZWUgdGhlIHBhZ2luYXRpb24gZnVuY3Rpb24gb2YgXCJUYXNrc1wiLCBcIlJlY2lwZXNcIiBsaW5rcyBhY2NvcmRpbmcgdG8gc3RlcHMgM340LiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiRXhwZWN0ZWQgcmVzdWx0IGZvciBzdGVwIDQ6IFRoaXMgd2lkZ2V0IGhhcyBubyBwcmV2aW91cyBvciBuZXh0IGJ1dHRvbiBpZiB0ZXN0aW5nIGluIHRvYXN0ZXIgMi4yLiBzZWUgQnVnIDk4MzEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJTZWxlY3RfdGhlX251bWJlcl9vZl90YWJsZV9yb3dzX2Rpc3BsYXllZF9wZXJfcGFnZSIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5WaWV3X2RldGFpbGVkX2NvbmZpZ3VyYXRpb25faW5mb3JtYXRpb25fZm9yX2FfYnVpbGQiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJDb25maWd1cmF0aW9uXCIgbGluayBpbiB0aGUgbGVmdCBzaWRlYmFyLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gcGFnZSBoYXMgMiB0YWJzOiAtIFN1bW1hcnkgLSBCaXRCYWtlIHZhcmlhYmxlcyBUaGUgU3VtbWFyeSB0YWIgaXMgdGhlIGRlZmF1bHQgdGFiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJUaGUgZm9sbG93aW5nIGNvbnRlbnQgaXMgaW5jbHVkZWQgaW4gc3VtbWFyeSB0YWIuICAoMSkgQnVpbGQgY29uZmlndXJhdGlvbiAgKDIpIExheWVycyAoTGF5ZXIsIExheWVyIGJyYW5jaCAtIGlmIGFueSwgTGF5ZXIgY29tbWl0KSAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYiBpbmNsdWRlcyBcIlZhcmlhYmxlXCIsIFwiVmFsdWVcIiwgXCIgU2V0IGluIGZpbGVcIiwgXCJEZXNjcmlwdGlvblwiIGNvbHVtbnMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIGZpbHRlciBidXR0b24gb2YgXCJTZXQgaW4gZmlsZVwiIGNvbHVtbi4gU2VsZWN0IFwiTG9jYWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXNcIiBhbmQgY2xpY2sgXCJBcHBseVwiIGJ1dHRvbiB0byBzZWUgaWYgZmlsdGVyIGZ1bmN0aW9uIHdvcmtzIHdlbGwuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIHRoZSBcIkVkaXQgY29sdW1uc1wiIG1lbnUsIHRhYmxlIGNvbHVtbnMgYXBwZWFyIGxpc3RlZCBhbHBoYWJldGljYWxseTogRGVzY3JpcHRpb24sIFNldCBpbiBmaWxlLCBWYWx1ZSwgVmFyaWFibGUgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI4IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG1pbmltdW0gdGFibGUgaXMgbWFkZSBvZiB0aGUgXCJWYXJpYWJsZVwiIGFuZCBcIlZhbHVlXCIgY29sdW1ucy4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI5IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgYSB2YXJpYWJsZSBhbmQgYSBcIkhpc3Rvcnkgb2YgJHt2YXJpYWJsZX1cIiBkaWFsb2cgd2lsbCBvY2N1ci4gVGhlIG1vZGFsIGRpYWxvZyBzaG93cyB0aGUgdmFyaWFibGUgdmFsdWUgZm9sbG93ZWQgYnkgdGhlIGhpc3RvcnkgdGFibGUsIHdoaWNoIGhhcyB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IC0gT3JkZXI6IGluZGljYXRlcyB0aGUgc2VxdWVuY2UgaW4gd2hpY2ggdGhlIGZpbGVzIHNldCB0aGUgdmFyaWFibGUgLSBDb25maWd1cmF0aW9uIGZpbGU6IHRoZSBsb2NhdGlvbiBpbiBkaXNrIG9mIHRoZSBmaWxlIHRoYXQgc2V0IHRoZSB2YXJpYWJsZSAtIE9wZXJhdGlvbjogdGhlIHZhbHVlIG9mIHRoZSBvcGVyYXRpb24gZmllbGQgYXMgc3RvcmVkIGluIHRoZSBkYXRhYmFzZS4gLSBMaW5lIG51bWJlcjogdGhlIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBvcGVyYXRpb24gaXMgcGVyZm9ybWVkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUuICBGb3Igc3VjaCB2YXJpYWJsZXMsIHdob3NlIHZhbHVlIGlzIGFuIGVtcHR5IHN0cmluZywgdGhlIFZhbHVlIGNlbGwgaW4gdGhlIHZhcmlhYmxlcyB0YWJsZSBpc2VtcHR5LCB3aGljaCBpcyBwcm9iYWJseSB0aGUgcmlnaHQgdGhpbmcuIEluIHRoZSBtb2RhbCwgaW5zdGVhZCBvZiB0aGUgdmFyaWFibGUgdmFsdWUsIHdlIHNob3cgYW4gYWxlcnQgKHdpdGggdGhlIGNsYXNzIC5hbGVydC1pbmZvKSBzYXlpbmc6IFwiVGhlIHZhbHVlIG9mICBpcyBhbiBlbXB0eSBzdHJpbmdcIiAgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIxMCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkNsaWNrIGFycm93IGxpbmtzIGluIGRlc2NyaXB0aW9uIHRhYiB0byBzZWUgbGlua2luZyB2YXJpYWJsZXMgdG8gdGhlIFlvY3RvIFByb2plY3QgcmVmZXJlbmNlIG1hbnVhbC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAiVmlld19kZXRhaWxlZF9jb25maWd1cmF0aW9uX2luZm9ybWF0aW9uX2Zvcl9hX2J1aWxkIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnZhcmlhYmxlczpfQ3VzdG9taXNlX3RoZV9jb2x1bW5zX29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLCBhbmQgc2VsZWN0IHRoZSBcIkNvbmZpZ3VyYXRpb25cIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuIFRoZW4gY2xpY2sgXCJCaXRCYWtlIHZhcmlhYmxlc1wiIHRhYi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU2hvdyBvciBoaWRlIGNvbHVtbnMgYnkgc2VsZWN0IG9yIGRlc2VsZWN0IG9wdGlvbnMgb2YgXCJFZGl0IGNvbHVtbnNcIi4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9CisgICAgICB9LAorICAgICAgInN1bW1hcnkiOiAidmFyaWFibGVzOl9DdXN0b21pc2VfdGhlX2NvbHVtbnNfb2ZfdGhlX2JpdGJha2VfdmFyaWFibGVzX3RhYmxlIgorICAgIH0KKyAgfSwKKyAgeworICAgICJ0ZXN0IjogeworICAgICAgIkBhbGlhcyI6ICJ0b2FzdGVyLXVubWFuYWdlZC1tb2RlLnRvYXN0ZXItdW5tYW5hZ2VkLnZhcmlhYmxlczpfRmlsdGVyX3RoZV9jb250ZW50X29mX3RoZV9iaXRiYWtlX3ZhcmlhYmxlc190YWJsZSIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiBcbiBcbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCB0aGUgYnVpbGQsIGFuZCBzZWxlY3QgdGhlIFwiQ29uZmlndXJhdGlvblwiIGxpbmsgaW4gdGhlIGxlZnQgc2lkZWJhci4gVGhlbiBjbGljayBcIkJpdEJha2UgdmFyaWFibGVzXCIgdGFiLiBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIlNldCBpbiBmaWxlXCIgYW5kIFwiRGVzY3JpcHRpb25cIiBjb2x1bW5zIGhhdmUgZmlsdGVycy4gXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gT25seSBvbmUgY29sdW1uIGZpbHRlciBjYW4gYmUgYXBwbGllZCB0byBhIHRhYmxlIGF0IGFueSBnaXZlbiB0aW1lLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkZpbHRlcnMgYXJlIG92ZXJyaWRkZW4gYnkgc2VhcmNoLiBcblRoZSBzY29wZSBvZiB0aGUgZmlsdGVycyBpcyB0aGUgY29udGVudCBjdXJyZW50bHkgb24gdGhlIHRhYmxlLiBcblRoZSBzY29wZSBvZiB0aGUgc2VhcmNoIGlzIGFsd2F5cyB0aGUgZnVsbCBjb250ZW50IG9mIHRoZSBkYXRhYmFzZS4gXG5TbzogXG4tIGlmIEkgcnVuIGEgc2VhcmNoIHF1ZXJ5LCBhbnkgZmlsdGVyIGFwcGxpZWQgYWZ0ZXJ3YXJkcyB3aWxsIGZpbHRlciB0aGUgY29udGVudCByZXR1cm5lZCBieSB0aGUgc2VhcmNoIHF1ZXJ5LiBcblNlYXJjaCBhIHN0cmluZyBhbmQgYXBwbHkgYSBmaWx0ZXIuIE9ic2VydmUgaXQgd291bGQgZmlsdGVyIHRoZSBjb250ZW50IHJldHVybmVkIGJ5IHRoZSBzZWFyY2ggcXVlcnkuICBcblxuLSBpZiBJIHJ1biBhIHNlYXJjaCBxdWVyeSB3aGlsZSBhIGZpbHRlciBpcyBhcHBsaWVkLCB0aGUgZmlsdGVyIGlzIG92ZXJyaWRkZW4gYnkgdGhlIHJlc3VsdHMgb2YgdGhlIHNlYXJjaCBxdWVyeS4gXG5BcHBseSBhIGZpbHRlciBhbmQgc2VhcmNoIGEgc3RyaW5nLiBPYnNlcnZlIHRoYXQgdGhlIHByZXZpb3VzIGZpbHRlcmVkIHJlc3VsdCBpcyBvdmVycmlkZGVuIGJ5IHRoZSBzZWFyY2guICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJ2YXJpYWJsZXM6X0ZpbHRlcl90aGVfY29udGVudF9vZl90aGVfYml0YmFrZV92YXJpYWJsZXNfdGFibGUiCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuVmlld19hbmRfbmF2aWdhdGVfdGhlX2Z1bGxfZGlyZWN0b3J5X3N0cnVjdHVyZV9vZl9idWlsdF9pbWFnZXMiLAorICAgICAgImF1dGhvciI6IFsKKyAgICAgICAgeworICAgICAgICAgICJlbWFpbCI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIsCisgICAgICAgICAgIm5hbWUiOiAiWXVhbi5TdW4yQHdpbmRyaXZlci5jb20iCisgICAgICAgIH0KKyAgICAgIF0sCisgICAgICAiZXhlY3V0aW9uIjogeworICAgICAgICAiMSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlN0YXJ0IHdpdGggYSBkZWZhdWx0IFlvY3RvIHByb2plY3QgKHFlbXV4ODYpLCBzdGFydCB0aGUgVG9hc3RlciwgYW5kIGJ1aWxkIFwiYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWxcIi4gIFxuIFxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIyIjogeworICAgICAgICAgICJhY3Rpb24iOiAiSW4gVG9hc3Rlciwgc2VsZWN0IHRoZSBidWlsZCwgYW5kIHNlbGVjdCB0aGUgXCJjb3JlLWltYWdlLW1pbmltYWxcIiBsaW5rIGluIHRoZSBsZWZ0IHNpZGViYXIuICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBpbWFnZSBpbmZvcm1hdGlvbiBwYWdlIGhhcyAyIHRhYnM6IFxuLSBQYWNrYWdlcyBpbmNsdWRlZDogdGhpcyB0YWIgc2hvd3MgYSB0YWJsZSB3aXRoIGFsbCB0aGUgcGFja2FnZXMgaW5zdGFsbGVkIGluIHRoZSBpbWFnZS4gVGhlIHRhYiBsYWJlbCBpbmNsdWRlcyB0aGUgdG90YWwgbnVtYmVyIG9mIHBhY2thZ2VzIGxpc3RlZCBpbiB0aGUgdGFibGUgYW5kIHRoZWlyIHNpemUuIFxuLSBEaXJlY3Rvcnkgc3RydWN0dXJlOiB0aGlzIHRhYiBzaG93cyBhbGwgdGhlIGZpbGVzIGluY2x1ZGVkIGluIHRoZSBpbWFnZS4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJCeSBkZWZhdWx0LCB0aGUgaW5jbHVkZWQgcGFja2FnZXMgdGFibGUgZGlzcGxheXMgdGhlIGZvbGxvd2luZyBjb2x1bW5zIGluIHRoaXMgb3JkZXI6IFxuUGFja2FnZSwgUGFja2FnZSB2ZXJzaW9uLCBTaXplLCBEZXBlbmRlbmNpZXMgIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjUiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJBcGFydCBmcm9tIHRoZSBjb2x1bW5zIHNob3duIGJ5IGRlZmF1bHQsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBjb2x1bW5zIGFyZSBhbHNvIGF2YWlsYWJsZSB0byB1c2VycyB2aWEgdGhlIFwiRWRpdCBjb2x1bW5zXCIgbWVudTogXG5MYXllciwgTGF5ZXIgYnJhbmNoLCBMYXllciBjb21taXQsIExpY2Vuc2UsIFJlY2lwZSwgUmVjaXBlIHZlcnNpb24uICBcblxuIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiVGhlIG1pbmltdW0gdGFibGUgaXMgbWFkZSBvZiB0aGUgMiBjb2x1bW5zIHRoYXQgcHJvdmlkZSB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIGlkZW50aWZ5IGEgcGFja2FnZTogUGFja2FnZSBhbmQgUGFja2FnZSB2ZXJzaW9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkJ5IGRlZmF1bHQsIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIHRhYmxlIHNob3dzIHRoZSB0b3AgbGV2ZWwgZGlyZWN0b3JpZXMgYW5kIGZpbGVzIGluIHRoZSBmaWxlIHN5c3RlbS5cblRoZSB0YWJsZSBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGNvbHVtbnM6IFxuRGlyZWN0b3J5L0ZpbGUsIFN5bWJvbGljIGxpbmsgdG8sIFNvdXJjZSBwYWNrYWdlLCBTaXplLCBQZXJtaXNzaW9ucywgT3duZXIsIEdyb3VwIFxuT3BlbiBzb21lIGRpcmVjdG9yaWVzIGFuZCBzZWUgZmlsZXMuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWaWV3X2FuZF9uYXZpZ2F0ZV90aGVfZnVsbF9kaXJlY3Rvcnlfc3RydWN0dXJlX29mX2J1aWx0X2ltYWdlcyIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5WaWV3X2Ffc3VtbWFyeV9vZl9hbGxfdGhlX2luZm9ybWF0aW9uX2F2YWlsYWJsZV9mb3JfYV9idWlsZCIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgYnVpbGQgXCJiaXRiYWtlIGNvcmUtaW1hZ2UtbWluaW1hbFwiLiAgXG4gXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJJbiBUb2FzdGVyLCBzZWxlY3QgdGhlIGJ1aWxkLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkEgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZSBpcyBzaG93ZWQuIFxuVGhlICdCdWlsZCBkYXNoYm9hcmQnIHBhZ2UgaGFzIHR3byBtYWluIHN0YXRlczogXG4oMSkgU3VjY2VzcyBzdGF0ZTogd2hlbiB0aGUgYnVpbGQgY29tcGxldGVzIHN1Y2Nlc3NmdWxseS4gSW4gdGhlIHN1Y2Nlc3Mgc3RhdGUsIGlmIHRoZSBidWlsZCB0YXJnZXQocykgaW5jbHVkZSBhbiBpbWFnZSByZWNpcGUsIHRoZSBwYWdlIGRpc3BsYXlzIGFuIGltYWdlIGNvbnRlbnQgbW9kdWxlLCBhbmQgdGhlIGxlZnQgbmF2aWdhdGlvbiBoYXMgYW4gXCJJbWFnZXNcIiBzZWN0aW9uIGF0IHRoZSB0b3AuIFxuKDIpIEZhaWwgc3RhdGU6IHdoZW4gdGhlIGJ1aWxkIGZhaWxzIChzaG93biBpbiB0aGlzIHBhZ2UpLiBJbiB0aGUgZmFpbCBzdGF0ZSwgdGhlIHBhZ2UgYWx3YXlzIGRpc3BsYXlzIGFuIGVycm9ycyBjb250ZW50IG1vZHVsZSwgYW5kIHRoZSBsZWZ0IG5hdmlnYXRpb24gZG9lcyBub3QgaGF2ZSBhbiBcIkltYWdlc1wiIHNlY3Rpb24gYXQgdGhlIHRvcC4gIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjQiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIHBhZ2UgcHJvdmlkZXMgYWNjZXNzIHRvIGFsbCBpbmZvcm1hdGlvbiBhdmFpbGFibGUgZm9yIHRoZSBzZWxlY3RlZCBidWlsZC4gXG4oMSkgSW1hZ2VzIFxuKDIpIEJ1aWxkOiB0aGlzIGdyb3VwIHByb3ZpZGVzIGxpbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGFnZXM6IFxuQ29uZmlndXJhdGlvbiwgVGFza3MsIFJlY2lwZXMsIFBhY2thZ2VzIFxuKDMpIFBlcmZvcm1hbmNlOiB0aGlzIGdyb3VwIHByb3ZpZGVzIGxpbmtzIHRvIHRoZSBmb2xsb3dpbmcgcGFnZXM6IFxuVGltZSwgQ1BVIHVzYWdlLCBEaXNrIEkvTyAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBwYWdlIGhlYWRpbmcgaXMgbWFkZSBvZiB0aGUgYnVpbGQgdGFyZ2V0KHMpIGFuZCB0aGUgbWFjaGluZSwgc3VjaCBhcyBcImNvcmUtaW1hZ2UtbWluaW1hbCBxZW11eDg2XCIuIElmIHRoZSBidWlsZCBoYXMgbW9yZSB0aGFuIG9uZSB0YXJnZXQsIHRoZXkgc2hvdyBpbiBhc2NlbmRpbmcgYWxwaGFiZXRpY2FsIG9yZGVyIChBIHRvIFopIGJvdGggaW4gdGhlIHBhZ2UgaGVhZGluZyBhbmQgaW4gdGhlIFwiSW1hZ2VzXCIgc2VjdGlvbiBvZiB0aGUgbGVmdCBuYXZpZ2F0aW9uLiBJZiB0aGUgYnVpbGQgd2FzIHN1Y2Nlc3NmdWwsIHRoZXJlIGlzIGFuIGltYWdlIGNvbnRlbnQgbW9kdWxlIGZvciBlYWNoIHRhcmdldCB0aGF0IGlzIGFuIGltYWdlIHJlY2lwZS4gVGhlIG1vZHVsZXMgYWxzbyBzaG93IGluIGFzY2VuZGluZyBhbHBoYWJldGljYWwgb3JkZXIgYnkgdGFyZ2V0IG5hbWUuIFxuXG4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjYiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJQYWNrYWdlcyBpbmNsdWRlZCwgdG90YWwgcGFja2FnZSBzaXplLCBsaWNlbnNlIG1hbmlmZXN0LCBpbWFnZSBmaWxlcyBhcmUgaW5jbHVkZWQgaW4gdGhlIGltYWdlcyBzZWN0aW9uLiAgXG5cbiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiNyI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRoZSBpbmZvcm1hdGlvbiBvZiBNYWNoaW5lLCBEaXN0cm8sIExheWVycyBpcyBpbmNsdWRlZCBpbiBjb25maWd1cmF0aW9uIGNvbnRlbnQgbW9kdWxlIG9mIFwiQnVpbGQgc3VtbWFyeVwiIHNlY3Rpb24uIFxuVGhlIGluZm9ybWF0aW9uIG9mIFwiVG90YWwgbnVtYmVyIG9mIHRhc2tcIiwgXCJUYXNrcyBleGVjdXRlZFwiLCBcIiBUYXNrcyBub3QgZXhlY3V0ZWRcIiwgXCJSZXVzZVwiIGlzIGluY2x1ZGVkIGluIHRoZSB0YXNrcyBjb250ZW50IG1vZHVsZS4gXG5UaGUgaW5mb3JtYXRpb24gb2YgXCJSZWNpcGVzIGJ1aWx0XCIgYW5kIFwiUGFja2FnZXMgYnVpbHRcIiBpcyBpbmNsdWRlZCBpbiB0aGUgXCJSZWNpcGVzJlBhY2thZ2VzXCIgY29udGVudCBtb2R1bGUuICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJWaWV3X2Ffc3VtbWFyeV9vZl9hbGxfdGhlX2luZm9ybWF0aW9uX2F2YWlsYWJsZV9mb3JfYV9idWlsZCIKKyAgICB9CisgIH0sCisgIHsKKyAgICAidGVzdCI6IHsKKyAgICAgICJAYWxpYXMiOiAidG9hc3Rlci11bm1hbmFnZWQtbW9kZS50b2FzdGVyLXVubWFuYWdlZC5EaXNwbGF5X3RoZV9jb250ZW50X29mX2Vycm9yX21lc3NhZ2VzX2FuZF93YXJuaW5ncyIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgY3JlYXRlIGEgc3VjY2Vzc2Z1bCBidWlsZCBhbmQgYSBmYWlsZWQgYnVpbGQuIFlvdSBjYW4gZm9yY2UgYSBidWlsZCB0byB0ZXJtaW5hdGUgYnkgY3RybCtjLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjIiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlIG51bWJlciBvZiBlcnJvcnMgYW5kIHdhcm5pbmdzIHRocm93biBieSBhIGJ1aWxkIHNob3dzIGluIGJvdGggJ0FsbCBidWlsZHMnIHBhZ2UgYW5kIHRoZSAnTGF0ZXN0IGJ1aWxkcycgc2VjdGlvbi4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICIzIjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSB0aGF0IHRoZSBudW1iZXIgYW5kIGNvbnRlbnQgb2YgZXJyb3JzIGFuZCB3YXJuaW5ncyB0aHJvd24gYnkgYSBidWlsZCBzaG93cyBpbiB0aGUgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZS4gIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiQ2xpY2sgd2FybmluZyBvciBlcnJvciBsaW5rcyB0byBzZWUgd2FybmluZyBhbmQgZXJyb3IgZGV0YWlscy4gICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJEaXNwbGF5X3RoZV9jb250ZW50X29mX2Vycm9yX21lc3NhZ2VzX2FuZF93YXJuaW5ncy4iCisgICAgfQorICB9LAorICB7CisgICAgInRlc3QiOiB7CisgICAgICAiQGFsaWFzIjogInRvYXN0ZXItdW5tYW5hZ2VkLW1vZGUudG9hc3Rlci11bm1hbmFnZWQuQnVpbGRfc3VtbWFyeV9pbmZvcm1hdGlvbl9mdWxseV9pbXBsZW1lbnRlZCIsCisgICAgICAiYXV0aG9yIjogWworICAgICAgICB7CisgICAgICAgICAgImVtYWlsIjogIll1YW4uU3VuMkB3aW5kcml2ZXIuY29tIiwKKyAgICAgICAgICAibmFtZSI6ICJZdWFuLlN1bjJAd2luZHJpdmVyLmNvbSIKKyAgICAgICAgfQorICAgICAgXSwKKyAgICAgICJleGVjdXRpb24iOiB7CisgICAgICAgICIxIjogeworICAgICAgICAgICJhY3Rpb24iOiAiU3RhcnQgd2l0aCBhIGRlZmF1bHQgWW9jdG8gcHJvamVjdCAocWVtdXg4NiksIHN0YXJ0IHRoZSBUb2FzdGVyLCBhbmQgY3JlYXRlIDQgYnVpbGRzLiBcbmEpIGEgc3VjY2Vzc2Z1bCBidWlsZCB3aXRoIGltYWdlcyAoYml0YmFrZSBjb3JlLWltYWdlLW1pbmltYWwpIFxuYikgYSBzdWNjZXNzZnVsIGJ1aWxkIHdpdGhvdXQgaW1hZ2VzIChiaXRiYWtlIG10b29scy1uYXRpdmUpIFxuYykgYSBmYWlsZWQgYnVpbGQgd2l0aCBlcnJvcnMgYW5kIHdhcm5pbmdzIChydW4gXCJiaXRiYWtlIGNvcmUtaW1hZ2Utc2F0b1wiLCB0aGVuIHByZXNzIGNvbnRyb2wrYyB0byB0ZXJtaW5hdGUgdGhlIGJ1aWxkKSIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiMiI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIkluIFRvYXN0ZXIsIHNlbGVjdCBhIGNvcmUtaW1hZ2UtbWluaW1hbCBidWlsZC4iLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjMiOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJPYnNlcnZlIHRoYXQgdGhlcmUgaXMgYSAnQnVpbGQgZGFzaGJvYXJkJyBwYWdlIGNhcHR1cmVkIGJ5IFRvYXN0ZXIuIFRoZSBwYWdlIGRvZXMgbm90IGV4aXN0IGZvciBidWlsZHMgaW4gcHJvZ3Jlc3MsIG9ubHkgZm9yIGZpbmlzaGVkIGJ1aWxkcy4gXG5UaGUgJ0J1aWxkIGRhc2hib2FyZCcgcGFnZSBpcyBtYWRlIG9mOiBcbmEpIEJyZWFkY3J1bWIgXG5iKSBOYXZpZ2F0aW9uIFxuICAgIElNQUdFUzogY29yZS1pbWFnZS1taW5pbWFsIFxuICAgIEJVSUxEOiBcbiAgICAgICAgQ29uZmlndXJhdGlvbiBcbiAgICAgICAgVGFza3MgXG4gICAgICAgIFJlY2lwZXMgXG4gICAgICAgIFBhY2thZ2VzIFxuICAgIFBFUkZPUk1BTkNFOiBcbiAgICAgICAgVGltZSBcbiAgICAgICAgQ1BVIHVzYWdlIFxuICAgICAgICBEaXNrIEkvTyBcbmMpIFBhZ2UgaGVhZGluZyAoY29yZS1pbWFnZS1taW5pbWFsIHFlbXV4ODYpIFxuZCkgU2VjdGlvbiBoZWFkaW5nIChJbWFnZXMsIEJ1aWxkIHN1bW1hcnkpIFxuZSkgQnVpbGQgc3RhdHVzIG5vdGlmaWNhdGlvbiAoQ29tcGxldGVkIG9uIHh4L3h4L3h4Li4uIEJ1aWxkIHRpbWU6eHg6eHg6eHgpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI0IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcImltYWdlc1wiIHNlY3Rpb24gaXMgbWFkZSBvZiB0aGUgZm9sbG93aW5nIFxuLlxuYSkgSGVhZGluZzogY29yZS1pbWFnZS1taW5pbWFsLCB3aGljaCBsaW5rcyB0byB0aGUgXCJQYWNrYWdlcyBpbmNsdWRlZFwiIHRhYiBvZiB0aGUgaW1hZ2UgaW5mb3JtYXRpb24gcGFnZSBcbmIpIE51bWJlciBvZiBwYWNrYWdlcyBpbnN0YWxsZWQ6IChwYWNrYWdlcyBpbmNsdWRlZCB4eCksIHdoaWNoIGlzIGEgbGluayB0byB0aGUgXCJQYWNrYWdlcyBpbmNsdWRlZFwiIHRhYiBvZiB0aGUgaW1hZ2UgaW5mb3JtYXRpb24gcGFnZSBcbmMpIFRvdGFsIGluc3RhbGxlZCBwYWNrYWdlIHNpemU6IHh4TUIgXG5kKSBMaWNlbnNlIG1hbmlmZXN0ICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIFwiUGFja2FnZXMgaW5jbHVkZWRcIiB0YWIgb2YgdGhlIGluZm9ybWF0aW9uIHBhZ2Ugd2l0aCB0aGUgZm9sbG93aW5nIGNvbHVtbnMgc2hvd2luZzogXCJQYWNrYWdlXCIsIFwiUGFja2FnZSB2ZXJzaW9uXCIsIFwiTGljZW5zZVwiIGFuZCBcIlJlY2lwZVwiLiBXZSBoYXZlIGJ1ZyA2MDc5IG9wZW4gZm9yIHRoaXMpLiBOZXh0IHRvIHRoZSBsaWNlbnNlIG1hbmlmZXN0IGlzIHRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91IGNhbiBmaW5kIHRoZSBsaWNlbnNlIG1hbmlmZXN0IGZpbGUuICBcbiBcbmUpIEltYWdlIGZpbGVzIChyb290ZnMgZmlsZSBuYW1lcyBhbmQgcm9vdGZzIGZpbGUgc2l6ZXMpIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI1IjogeworICAgICAgICAgICJhY3Rpb24iOiAiT2JzZXJ2ZSBcIkJ1aWxkIHN1bW1hcnlcIiBzZWN0aW9uIGlzIG1hZGUgb2YgdGhlIGZvbGxvd2luZy4gXG5hKSBDb25maWd1cmF0aW9uICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIGNvbmZpZ3VyYXRpb24gcGFnZSk6IFxuICAgIE1hY2hpbmUgXG4gICAgRGlzdHJvIFxuICAgIExheWVycyAoc29ydGVkIGluIGFscGhhYmV0aWNhbCBvcmRlcikgXG5iKSBUYXNrcyAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSB0YXNrcyBwYWdlKSBcbiAgICBUb3RhbCBudW1iZXIgb2YgdGFza3MgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgdGFza3MgcGFnZSkgXG4gICAgVGFza3MgZXhlY3V0ZWQgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgdGFza3MgcGFnZSB3aXRoIHRoZSB0YXNrcyBleGVjdXRlZCBmaWx0ZXIgYXBwbGllZCkgXG4gICAgVGFza3Mgbm90IGV4ZWN1dGVkICh3aGljaCBpcyBhIGxpbmsgdG8gdGhlIHRhc2tzIHBhZ2VzIHdpdGggdGhlIHRhc2tzIG5vdCBleGVjdXRlZCBmaWx0ZXIgYXBwbGllZClcbiAgICBSZXVzZSBcbmMpIE5vdGUgdGhhdCBcIlRvdGFsIG51bWJlciBvZiB0YXNrc1wiIHNob3VsZCBlcXVhbCBudW1iZXIgb2YgXCJUYXNrcyBleGVjdXRlZFwiICsgIG51bWJlciBvZiBcIlRhc2tzIG5vdCBleGVjdXRlZFwiIFxuZCkgUmVjaXBlcyAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSByZWNpcGVzIHBhZ2UpICYgUGFja2FnZXMgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcGFja2FnZXMgYnVpbHQgcGFnZSkgIiwKKyAgICAgICAgICAiZXhwZWN0ZWRfcmVzdWx0cyI6ICIiCisgICAgICAgIH0sCisgICAgICAgICI2IjogeworICAgICAgICAgICJhY3Rpb24iOiAiICBOdW1iZXIgb2YgcmVjaXBlcyBidWlsdCAod2hpY2ggaXMgYSBsaW5rIHRvIHRoZSByZWNpcGVzIHBhZ2UpICBcbiBcbiAgICBOdW1iZXIgb2YgcGFja2FnZXMgYnVpbHQgKHdoaWNoIGlzIGEgbGluayB0byB0aGUgcGFja2FnZXMgYnVpbHQgcGFnZSkiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIiIKKyAgICAgICAgfSwKKyAgICAgICAgIjciOiB7CisgICAgICAgICAgImFjdGlvbiI6ICJSZXR1cm4gdG8gbG9jYWxob3N0OjgwMDAgYW5kIHNlbGVjdCBhIHN1Y2Nlc3NmdWwgYnVpbGQgd2l0aG91dCBpbWFnZXMgKG10b29scy1uYXRpdmUpIFxuLlxuT2JzZXJ2ZSB0aGUgYnVpbGQgZGFzaGJvYXJkIGZvciBhIHN1Y2Nlc3NmdWwgYnVpbGQgb2YgYSB0YXJnZXQgdGhhdCBpcyBub3QgYW4gaW1hZ2UgcmVjaXBlLiBUaGVyZSBpcyBubyBpbWFnZSBjb250ZW50IG1vZHVsZSwgYW5kIG5vIFwiSW1hZ2VzXCIgc2VjdGlvbiBpbiB0aGUgbGVmdCBuYXZpZ2F0aW9uLiIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiIgorICAgICAgICB9LAorICAgICAgICAiOCI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlJldHVybiB0byBsb2NhbGhvc3Q6ODAwMCBhbmQgc2VsZWN0IHRoZSBmYWlsZWQgYnVpbGQgKGNvcmUtaW1hZ2Utc2F0bykuIE9ic2VydmUgdGhlIGJ1aWxkIGRhc2hib2FyZCBmb3IgdGhlIGZhaWxlZCBidWlsZC4gIFxuIFxuYSkgdGhlIGVycm9ycyBjb250ZW50IG1vZHVsZTogXG5UaGlzIG1vZHVsZSBleGlzdHMgZm9yIHRob3NlIGJ1aWxkcyB0aGF0IHRocm93IGVycm9yKHMpLiBJdCBhcHBlYXJzIGltbWVkaWF0ZWx5IGJlbG93IHRoZSBidWlsZCBzdGF0dXMgbm90aWZpY2F0aW9uLiBcblRoZSBtb2R1bGUgaGFzIDIgc3RhdGVzOiBcbuKWqiBFeHBhbmRlZCAoc2hvd3MgbnVtYmVyIG9mIGVycm9ycyBhbmQgZXJyb3IgY29udGVudCkgXG7ilqogQ29sbGFwc2VkIChzaG93cyBvbmx5IHRoZSBudW1iZXIgb2YgZXJyb3JzKSBcbkJ5IGRlZmF1bHQsIHRoZSBlcnJvcnMgbW9kdWxlIGlzIGluIHRoZSBleHBhbmRlZCBzdGF0ZS4gXG5FcnJvcnMgY29udGVudCBtb2R1bGVzIGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogXG4oMS4xKSBBIGhlYWRpbmcsIHdoaWNoIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIGVycm9ycyB0aHJvd24gYnkgdGhlIGJ1aWxkLCBhbmQgdG9nZ2xlcyB0aGUgbW9kdWxlIGJldHdlZW4gaXRzIDIgc3RhdGVzIG9uIGNsaWNrLiAiLAorICAgICAgICAgICJleHBlY3RlZF9yZXN1bHRzIjogIk5BIgorICAgICAgICB9LAorICAgICAgICAiOSI6IHsKKyAgICAgICAgICAiYWN0aW9uIjogIlRyYW5zaXRpb25zIGJldHdlZW4gc3RhdGVzIHNob3VsZCB1c2UgYSBzbGlkZSB1cCAvIHNsaWRlIGRvd24gYW5pbWF0aW9uLiBcbigxLjIpIEVycm9yKHMpIGNvbnRlbnQgIFxuXG5iKSB0aGUgd2FybmluZyBjb250ZW50IG1vZHVsZTogXG5UaGlzIG1vZHVsZSBleGlzdHMgZm9yIHRob3NlIGJ1aWxkcyB0aGF0IHRocm93IHdhcm5pbmcocykuIFxuSXQgaXMgdGhlIGxhc3QgY29udGVudCBtb2R1bGUgc2hvd24gb24gdGhlIGJ1aWxkIGRhc2hib2FyZC4gXG5UaGUgbW9kdWxlIGhhcyAyIHN0YXRlczogXG7ilqogRXhwYW5kZWQgKHNob3dzIG51bWJlciBvZiB3YXJuaW5ncyBhbmQgd2FybmluZyBjb250ZW50KSBcbuKWqiBDb2xsYXBzZWQgKHNob3dzIG9ubHkgdGhlIG51bWJlciBvZiB3YXJuaW5ncykgXG5CeSBkZWZhdWx0LCB0aGUgd2FybmluZyBtb2R1bGUgaXMgaW4gdGhlIGNvbGxhcHNlZCBzdGF0ZS4gV2FybmluZ3MgY29udGVudCBtb2R1bGVzIGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogXG4oMi4xKSBBIGhlYWRpbmcsIHdoaWNoIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mIHdhcm5pbmdzIHRocm93biBieSB0aGUgYnVpbGQsIGFuZCB0b2dnbGVzIHRoZSBtb2R1bGUgYmV0d2VlbiBpdHMgMiBcbnN0YXRlcyBvbiBjbGljay4gVHJhbnNpdGlvbnMgYmV0d2VlbiBzdGF0ZXMgc2hvdWxkIHVzZSBhIHNsaWRlIHVwIC8gc2xpZGUgZG93biBhbmltYXRpb24uIFxuKDIuMikgV2FybmluZyhzKSBjb250ZW50ICIsCisgICAgICAgICAgImV4cGVjdGVkX3Jlc3VsdHMiOiAiTkEiCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAic3VtbWFyeSI6ICJCdWlsZF9zdW1tYXJ5X2luZm9ybWF0aW9uX2Z1bGx5X2ltcGxlbWVudGVkIgorICAgIH0KKyAgfQorXQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9vZXRlc3QucHkgYi9wb2t5L21ldGEvbGliL29lcWEvb2V0ZXN0LnB5CmluZGV4IGY3MTcxMjYuLmYwNDIzYWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9vZXRlc3QucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL29ldGVzdC5weQpAQCAtNyw3ICs3LDcgQEAKIAogIyBJdCBhbHNvIGhhcyBzb21lIGhlbHBlciBmdW5jdGlvbnMgYW5kIGl0J3MgcmVzcG9uc2libGUgZm9yIGFjdHVhbGx5IHN0YXJ0aW5nIHRoZSB0ZXN0cwogCi1pbXBvcnQgb3MsIHJlLCBtbWFwLCBzeXMKK2ltcG9ydCBvcywgcmUsIHN5cwogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgaW5zcGVjdAogaW1wb3J0IHN1YnByb2Nlc3MKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2dpLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKaW5kZXggMTkwNzNlNS4uN2UxNjY1MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ2kucHkKQEAgLTksNyArOSw3IEBACiAgICAgQE9FVGVzdERlcGVuZHMoWyJzc2guU1NIVGVzdC50ZXN0X3NzaCJdKQogICAgIEBPRUhhc1BhY2thZ2UoWyJweXRob24zLXB5Z29iamVjdCJdKQogICAgIGRlZiB0ZXN0X3B5dGhvbihzZWxmKToKLSAgICAgICAgc2NyaXB0ID0gIiIiZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHT2JqZWN0OyBwcmludChHT2JqZWN0Lm1hcmt1cF9lc2NhcGVfdGV4dCgiPHRlc3RpbmcmdGVzdGluZz4iKSkiIiIKKyAgICAgICAgc2NyaXB0ID0gIiIiZnJvbSBnaS5yZXBvc2l0b3J5IGltcG9ydCBHTGliOyBwcmludChHTGliLm1hcmt1cF9lc2NhcGVfdGV4dCgiPHRlc3RpbmcmdGVzdGluZz4iKSkiIiIKICAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oInB5dGhvbjMgLWMgJyVzJyIgJSBzY3JpcHQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCBtc2c9IlB5dGhvbiBmYWlsZWQgKCVzKSIgJSAob3V0cHV0KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICImbHQ7dGVzdGluZyZhbXA7dGVzdGluZyZndDsiLCBtc2c9IlVuZXhwZWN0ZWQgb3V0cHV0ICglcykiICUgb3V0cHV0KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ3N0cmVhbWVyLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvZ3N0cmVhbWVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyODYzMGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9nc3RyZWFtZXIucHkKQEAgLTAsMCArMSwxNCBAQAorZnJvbSBvZXFhLnJ1bnRpbWUuY2FzZSBpbXBvcnQgT0VSdW50aW1lVGVzdENhc2UKK2Zyb20gb2VxYS5ydW50aW1lLmRlY29yYXRvci5wYWNrYWdlIGltcG9ydCBPRUhhc1BhY2thZ2UKKworY2xhc3MgR3N0cmVhbWVyQ2xpVGVzdChPRVJ1bnRpbWVUZXN0Q2FzZSk6CisKKyAgICBAT0VIYXNQYWNrYWdlKFsnZ3N0cmVhbWVyMS4wJ10pCisgICAgZGVmIHRlc3RfZ3N0X2luc3BlY3RfY2FuX2xpc3RfYWxsX3BsdWdpbnMoc2VsZik6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCdnc3QtaW5zcGVjdC0xLjAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgJ2dzdC1pbnNwZWN0LTEuMCBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgcnVubmluZy4nKQorCisgICAgQE9FSGFzUGFja2FnZShbJ2dzdHJlYW1lcjEuMCddKQorICAgIGRlZiB0ZXN0X2dzdF9sYXVuY2hfY2FuX2NyZWF0ZV92aWRlb19waXBlbGluZShzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXRwdXQgPSBzZWxmLnRhcmdldC5ydW4oJ2dzdC1sYXVuY2gtMS4wIC12IGZha2VzcmMgc2lsZW50PWZhbHNlIG51bS1idWZmZXJzPTMgISBmYWtlc2luayBzaWxlbnQ9ZmFsc2UnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgJ2dzdC1sYXVuY2gtMS4wIGRvZXMgbm90IGFwcGVhciB0byBiZSBydW5uaW5nLicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9rc2FtcGxlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMva3NhbXBsZS5weQppbmRleCAzNTRjYzk3Li5kZTIzNjZhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9rc2FtcGxlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL2tzYW1wbGUucHkKQEAgLTIyLDYgKzIyLDEyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0LCBtc2cpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgY21kKQogCisgICAgZGVmIGNoZWNrX2FyY2goc2VsZiwgYXJjaHNldD0nJyk6CisgICAgICAgIHN0YXR1cywgb3V0cHV0ID0gc2VsZi50YXJnZXQucnVuKCJ1bmFtZSAtbSIpCisgICAgICAgIHJlc3VsdCA9ICgiJXMiICUgb3V0cHV0KSBpbiBhcmNoc2V0CisgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJUaGlzIGNhc2UgZG9lc24ndCBzdXBwb3J0ICVzIiAlIG91dHB1dCkKKwogICAgIGRlZiBjaGVja19jb25maWcoc2VsZiwgY29uZmlnX29wdD0nJyk6CiAgICAgICAgIGNtZCA9ICJ6Y2F0IC9wcm9jL2NvbmZpZy5neiB8IGdyZXAgJXMiICUgY29uZmlnX29wdAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bihjbWQpCkBAIC05OSw2ICsxMDUsNyBAQAogICAgICMga3Byb2JlCiAgICAgQE9FVGVzdERlcGVuZHMoWydzc2guU1NIVGVzdC50ZXN0X3NzaCddKQogICAgIGRlZiB0ZXN0X2twcm9iZV90ZXN0KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2FyY2goIng4Nl82NCBpNjg2IHBwYyIpCiAgICAgICAgIGluZGV4ID0gWyJrcHJvYmUiLCAia3JldHByb2JlIl0KICAgICAgICAgZm9yIGkgaW4gaW5kZXg6CiAgICAgICAgICAgICBzZWxmLmtwcm9iZV9mdW5jKGkpCkBAIC0xNjYsOSArMTczLDkgQEAKICAgICBkZWYgdGVzdF9od19icmVha3BvaW50X2V4YW1wbGUoc2VsZik6CiAgICAgICAgICMgY2hlY2sgYXJjaAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LnJ1bigidW5hbWUgLW0iKQotICAgICAgICByZXN1bHQgPSAoIng4NiIgaW4gb3V0cHV0KSBvciAoImFhcmNoNjQiIGluIG91dHB1dCkKKyAgICAgICAgcmVzdWx0ID0gKCJ4ODZfNjQiIGluIG91dHB1dCkgb3IgKCJhYXJjaDY0IiBpbiBvdXRwdXQpCiAgICAgICAgIGlmIG5vdCByZXN1bHQ6Ci0gICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0aGUgYXJjaCBkb2Vzbid0IHN1cHBvcnQgaHcgYnJlYWtwb2ludCIgJSBvdXRwdXQpCisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0aGUgYXJjaCAlcyBkb2Vzbid0IHN1cHBvcnQgaHcgYnJlYWtwb2ludCIgJSBvdXRwdXQpCiAgICAgICAgICMgY2hlY2sgY29uZmlnCiAgICAgICAgIHNlbGYuY2hlY2tfY29uZmlnKCJDT05GSUdfS0FMTFNZTVNfQUxMIikKICAgICAgICAgIyBtYWtlIHN1cmUgaWYgbW9kdWxlIGV4aXN0cwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvcGFyc2Vsb2dzLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvY2FzZXMvcGFyc2Vsb2dzLnB5CmluZGV4IGY2ZTk4MjAuLmJlZDRhMDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL2Nhc2VzL3BhcnNlbG9ncy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS9jYXNlcy9wYXJzZWxvZ3MucHkKQEAgLTY5LDYgKzY5LDggQEAKICAgICAnYW1kX25iOiBDYW5ub3QgZW51bWVyYXRlIEFNRCBub3J0aGJyaWRnZXMnLAogICAgICdmYWlsZWQgdG8gcmV0cmlldmUgbGluayBpbmZvLCBkaXNhYmxpbmcgZURQJywKICAgICAnRGlyZWN0IGZpcm13YXJlIGxvYWQgZm9yIGl3bHdpZmknLAorICAgICdEaXJlY3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYicsCisgICAgJ2ZhaWxlZCB0byBsb2FkIHJlZ3VsYXRvcnkuZGInLAogXSArIGNvbW1vbl9lcnJvcnMKIAogcWVtdXg4Nl9jb21tb24gPSBbCkBAIC0xMTMsNiArMTE1LDcgQEAKICAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3NjdGxAMTAxZTAwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvd2F0Y2hkb2dAMTAxZTEwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvc2NpQDEwMWYwMDAwJywKKyAgICAgICAgJ09GOiBhbWJhX2RldmljZV9hZGQoKSBmYWlsZWQgKC0xOSkgZm9yIC9hbWJhL3NwaUAxMDFmNDAwMCcsCiAgICAgICAgICdPRjogYW1iYV9kZXZpY2VfYWRkKCkgZmFpbGVkICgtMTkpIGZvciAvYW1iYS9zc3BAMTAxZjQwMDAnLAogICAgICAgICAnT0Y6IGFtYmFfZGV2aWNlX2FkZCgpIGZhaWxlZCAoLTE5KSBmb3IgL2FtYmEvZnBnYS9zY2lAYTAwMCcsCiAgICAgICAgICdGYWlsZWQgdG8gaW5pdGlhbGl6ZSBcJy9hbWJhL3RpbWVyQDEwMWUzMDAwXCc6IC0yMicsCkBAIC0xNjEsNyArMTY0LDIzIEBACiAgICAgICAgICdUaGUgZHJpdmVyIGlzIGJ1aWx0LWluLCBzbyB0byBsb2FkIHRoZSBmaXJtd2FyZSB5b3UgbmVlZCB0bycsCiAgICAgICAgIF0gKyB4ODZfY29tbW9uLAogICAgICdlZGdlcm91dGVyJyA6IFsKKyAgICAgICAgJ25vdCBjcmVhdGluZyBcJy9zeXMvZmlybXdhcmUvZmR0XCcnLAorICAgICAgICAnRmFpbGVkIHRvIGZpbmQgY3B1MCBkZXZpY2Ugbm9kZScsCiAgICAgICAgICdGYXRhbCBzZXJ2ZXIgZXJyb3I6JywKKyAgICAgICAgJ1NlcnZlciB0ZXJtaW5hdGVkIHdpdGggZXJyb3InLAorICAgICAgICBdICsgY29tbW9uX2Vycm9ycywKKyAgICAnYmVhZ2xlYm9uZS15b2N0bycgOiBbCisgICAgICAgICdEaXJlY3QgZmlybXdhcmUgbG9hZCBmb3IgcmVndWxhdG9yeS5kYicsCisgICAgICAgICdmYWlsZWQgdG8gbG9hZCByZWd1bGF0b3J5LmRiJywKKyAgICAgICAgJ2w0X3drdXBfY20nLAorICAgICAgICAnRmFpbGVkIHRvIGxvYWQgbW9kdWxlICJnbHgiJywKKyAgICAgICAgJ0ZhaWxlZCB0byBtYWtlIEVHTCBjb250ZXh0IGN1cnJlbnQnLAorICAgICAgICAnZ2xhbW9yIGluaXRpYWxpemF0aW9uIGZhaWxlZCcsCisgICAgICAgIF0gKyBjb21tb25fZXJyb3JzLAorICAgICdtcGM4MzE1ZS1yZGInIDogWworICAgICAgICAnb2ZfaXJxX3BhcnNlX3BjaTogZmFpbGVkIHdpdGgnLAorICAgICAgICAnRmF0YWwgc2VydmVyIGVycm9yOicsCisgICAgICAgICdTZXJ2ZXIgdGVybWluYXRlZCB3aXRoIGVycm9yJywKICAgICAgICAgXSArIGNvbW1vbl9lcnJvcnMsCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL3V0aWxzL3RhcmdldGJ1aWxkcHJvamVjdC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9ydW50aW1lL3V0aWxzL3RhcmdldGJ1aWxkcHJvamVjdC5weQppbmRleCA1YWY1NWQ3Li5kZTE3YmEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvcnVudGltZS91dGlscy90YXJnZXRidWlsZHByb2plY3QucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3J1bnRpbWUvdXRpbHMvdGFyZ2V0YnVpbGRwcm9qZWN0LnB5CkBAIC03LDEwICs3LDEyIEBACiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgdGFyZ2V0LCB1cmksIGZvbGRlcm5hbWU9Tm9uZSwgZGxfZGlyPU5vbmUpOgogICAgICAgICBzZWxmLnRhcmdldCA9IHRhcmdldAotICAgICAgICBzZWxmLnRhcmdldGRpciA9ICJ+LyIKKyAgICAgICAgc2VsZi50YXJnZXRkaXIgPSAifi9idWlsZHRlc3QvIgogICAgICAgICBCdWlsZFByb2plY3QuX19pbml0X18oc2VsZiwgdXJpLCBmb2xkZXJuYW1lLCBkbF9kaXI9ZGxfZGlyKQogCiAgICAgZGVmIGRvd25sb2FkX2FyY2hpdmUoc2VsZik6CisgICAgICAgIHNlbGYudGFyZ2V0LnJ1bigibWtkaXIgIiArIHNlbGYudGFyZ2V0ZGlyICsgIiB8fCB0cnVlIikKKwogICAgICAgICBzZWxmLl9kb3dubG9hZF9hcmNoaXZlKCkKIAogICAgICAgICBzdGF0dXMsIG91dHB1dCA9IHNlbGYudGFyZ2V0LmNvcHlUbyhzZWxmLmxvY2FsYXJjaGl2ZSwgc2VsZi50YXJnZXRkaXIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2UucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2UucHkKaW5kZXggOTYzYWE4ZC4uZDg2MTFjOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZS5weQpAQCAtMSw2ICsxLDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDE2IEludGVsIENvcnBvcmF0aW9uCiAjIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUKQogCitpbXBvcnQgb3MKIGltcG9ydCBzdWJwcm9jZXNzCiAKIGZyb20gb2VxYS5jb3JlLmNhc2UgaW1wb3J0IE9FVGVzdENhc2UKQEAgLTEwLDMgKzExLDQxIEBACiAgICAgICAgIHJldHVybiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiLiAlcyA+IC9kZXYvbnVsbDsgJXM7IiAlIFwKICAgICAgICAgICAgICAgICAoc2VsZi50Yy5zZGtfZW52LCBjbWQpLCBzaGVsbD1UcnVlLAogICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCisKKyAgICBkZWYgZmV0Y2goc2VsZiwgd29ya2RpciwgZGxfZGlyLCB1cmwsIGFyY2hpdmU9Tm9uZSk6CisgICAgICAgIGlmIG5vdCBhcmNoaXZlOgorICAgICAgICAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCisgICAgICAgICAgICBhcmNoaXZlID0gb3MucGF0aC5iYXNlbmFtZSh1cmxwYXJzZSh1cmwpLnBhdGgpCisKKyAgICAgICAgaWYgZGxfZGlyOgorICAgICAgICAgICAgdGFyYmFsbCA9IG9zLnBhdGguam9pbihkbF9kaXIsIGFyY2hpdmUpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0YXJiYWxsKToKKyAgICAgICAgICAgICAgICByZXR1cm4gdGFyYmFsbAorCisgICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4od29ya2RpciwgYXJjaGl2ZSkKKyAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ3Z2V0IiwgIi1PIiwgdGFyYmFsbCwgdXJsXSkKKyAgICAgICAgcmV0dXJuIHRhcmJhbGwKKworICAgIGRlZiBjaGVja19lbGYoc2VsZiwgcGF0aCwgdGFyZ2V0X29zPU5vbmUsIHRhcmdldF9hcmNoPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVmVyaWZ5IHRoYXQgdGhlIEVMRiBiaW5hcnkgJHBhdGggbWF0Y2hlcyB0aGUgc3BlY2lmaWVkIHRhcmdldAorICAgICAgICBPUy9hcmNoaXRlY3R1cmUsIG9yIGlmIG5vdCBzcGVjaWZpZWQgdGhlIGN1cnJlbnRseSBjb25maWd1cmVkIE1BQ0hJTkUncworICAgICAgICBPUy9hcmNoaXRlY3R1cmUuCisgICAgICAgICIiIgorICAgICAgICBpbXBvcnQgb2UucWEsIG9lLmVsZgorCisgICAgICAgIGlmIG5vdCB0YXJnZXRfb3Mgb3Igbm90IHRhcmdldF9hcmNoOgorICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fcnVuKCJlY2hvICRPRUNPUkVfVEFSR0VUX09TOiRPRUNPUkVfVEFSR0VUX0FSQ0giKQorICAgICAgICAgICAgdGFyZ2V0X29zLCB0YXJnZXRfYXJjaCA9IG91dHB1dC5zdHJpcCgpLnNwbGl0KCI6IikKKworICAgICAgICBtYWNoaW5lX2RhdGEgPSBvZS5lbGYubWFjaGluZV9kaWN0KE5vbmUpW3RhcmdldF9vc11bdGFyZ2V0X2FyY2hdCisgICAgICAgIChtYWNoaW5lLCBvc2FiaSwgYWJpdmVyc2lvbiwgZW5kaWFuLCBiaXRzKSA9IG1hY2hpbmVfZGF0YQorCisgICAgICAgIGVsZiA9IG9lLnFhLkVMRkZpbGUocGF0aCkKKyAgICAgICAgZWxmLm9wZW4oKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFjaGluZSwgZWxmLm1hY2hpbmUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQmluYXJ5IHdhcyAlcyBidXQgZXhwZWN0ZWQgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAob2UucWEuZWxmX21hY2hpbmVfdG9fc3RyaW5nKGVsZi5tYWNoaW5lKCkpLCBvZS5xYS5lbGZfbWFjaGluZV90b19zdHJpbmcobWFjaGluZSkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJpdHMsIGVsZi5hYmlTaXplKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5kaWFuLCBlbGYuaXNMaXR0bGVFbmRpYW4oKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYXNzaW1wLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKaW5kZXggMjZjMWRmMC4uYTYwMDAxMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9hc3NpbXAucHkKQEAgLTEsNSArMSw3IEBACi1pbXBvcnQgb3MsIHN1YnByb2Nlc3MsIHVuaXR0ZXN0Ci1pbXBvcnQgYmIKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHVuaXR0ZXN0CiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKIAogZnJvbSBvZXFhLnV0aWxzLnN1YnByb2Nlc3N0d2VhayBpbXBvcnQgZXJyb3JzX2hhdmVfb3V0cHV0CkBAIC0xMCw1NCArMTIsMjUgQEAKICAgICBUZXN0IGNhc2UgdG8gYnVpbGQgYSBwcm9qZWN0IHVzaW5nIGNtYWtlLgogICAgICIiIgogCi0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnLCAnVEFSR0VUX09TJywgJ1RBUkdFVF9BUkNIJ10KLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstY21ha2UiKSBvcgogICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoImNtYWtlLW5hdGl2ZSIpKToKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJOZWVkcyBjbWFrZSIpCiAKLSAgICBkZWYgZmV0Y2goc2VsZiwgd29ya2RpciwgZGxfZGlyLCB1cmwsIGFyY2hpdmU9Tm9uZSk6Ci0gICAgICAgIGlmIG5vdCBhcmNoaXZlOgotICAgICAgICAgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlCi0gICAgICAgICAgICBhcmNoaXZlID0gb3MucGF0aC5iYXNlbmFtZSh1cmxwYXJzZSh1cmwpLnBhdGgpCi0KLSAgICAgICAgaWYgZGxfZGlyOgotICAgICAgICAgICAgdGFyYmFsbCA9IG9zLnBhdGguam9pbihkbF9kaXIsIGFyY2hpdmUpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh0YXJiYWxsKToKLSAgICAgICAgICAgICAgICByZXR1cm4gdGFyYmFsbAotCi0gICAgICAgIHRhcmJhbGwgPSBvcy5wYXRoLmpvaW4od29ya2RpciwgYXJjaGl2ZSkKLSAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ3Z2V0IiwgIi1PIiwgdGFyYmFsbCwgdXJsXSkKLSAgICAgICAgcmV0dXJuIHRhcmJhbGwKLQogICAgIGRlZiB0ZXN0X2Fzc2ltcChzZWxmKToKLSAgICAgICAgaW1wb3J0IHRlbXBmaWxlCi0gICAgICAgIGltcG9ydCBvZS5xYSwgb2UuZWxmCi0KICAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJhc3NpbXAiLCBkaXI9c2VsZi50Yy5zZGtfZGlyKSBhcyB0ZXN0ZGlyOgotICAgICAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0gICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBkbF9kaXIsICJodHRwczovL2dpdGh1Yi5jb20vYXNzaW1wL2Fzc2ltcC9hcmNoaXZlL3Y0LjEuMC50YXIuZ3oiKQorICAgICAgICAgICAgdGFyYmFsbCA9IHNlbGYuZmV0Y2godGVzdGRpciwgc2VsZi50ZFsiRExfRElSIl0sICJodHRwczovL2dpdGh1Yi5jb20vYXNzaW1wL2Fzc2ltcC9hcmNoaXZlL3Y0LjEuMC50YXIuZ3oiKQorCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJhc3NpbXAtNC4xLjAiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKKwogICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCiAKLSAgICAgICAgICAgIHNvdXJjZWRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYXNzaW1wLTQuMS4wIikgCi0gICAgICAgICAgICBidWlsZGRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQotICAgICAgICAgICAgaW5zdGFsbGRpciA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCi0gICAgICAgICAgICBiYi51dGlscy5ta2RpcmhpZXIoYnVpbGRkaXIpCi0KLSAgICAgICAgICAgIHNlbGYuX3J1bigiY2QgJXMgJiYgY21ha2UgLURDTUFLRV9WRVJCT1NFX01BS0VGSUxFOkJPT0w9T04gJXMgIiAlIChidWlsZGRpciwgc291cmNlZGlyKSkKLSAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCAlcyAtLSAtaiIgJSBidWlsZGRpcikKLSAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCAlcyAtLXRhcmdldCBpbnN0YWxsIC0tIERFU1RESVI9JXMiICUgKGJ1aWxkZGlyLCBpbnN0YWxsZGlyKSkKLQotICAgICAgICAgICAgZWxmID0gb2UucWEuRUxGRmlsZShvcy5wYXRoLmpvaW4oaW5zdGFsbGRpciwgInVzciIsICJsb2NhbCIsICJsaWIiLCAibGliYXNzaW1wLnNvLjQuMS4wIikpCi0gICAgICAgICAgICBlbGYub3BlbigpCi0KLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bigiZWNobyAkT0VDT1JFX1RBUkdFVF9PUzokT0VDT1JFX1RBUkdFVF9BUkNIIikKLSAgICAgICAgICAgIHRhcmdldF9vcywgdGFyZ2V0X2FyY2ggPSBvdXRwdXQuc3RyaXAoKS5zcGxpdCgiOiIpCi0gICAgICAgICAgICBtYWNoaW5lX2RhdGEgPSBvZS5lbGYubWFjaGluZV9kaWN0KE5vbmUpW3RhcmdldF9vc11bdGFyZ2V0X2FyY2hdCi0gICAgICAgICAgICAobWFjaGluZSwgb3NhYmksIGFiaXZlcnNpb24sIGVuZGlhbiwgYml0cykgPSBtYWNoaW5lX2RhdGEKLQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWNoaW5lLCBlbGYubWFjaGluZSgpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaXRzLCBlbGYuYWJpU2l6ZSgpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmRpYW4sIGVsZi5pc0xpdHRsZUVuZGlhbigpKQorICAgICAgICAgICAgc2VsZi5fcnVuKCJjZCB7YnVpbGR9ICYmIGNtYWtlIC1EQ01BS0VfVkVSQk9TRV9NQUtFRklMRTpCT09MPU9OIHtzb3VyY2V9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCB7YnVpbGR9IC0tIC1qIi5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY21ha2UgLS1idWlsZCB7YnVpbGR9IC0tdGFyZ2V0IGluc3RhbGwgLS0gREVTVERJUj17aW5zdGFsbH0iLmZvcm1hdCgqKmRpcnMpKQorICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJsaWIiLCAibGliYXNzaW1wLnNvLjQuMS4wIikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkY3Bpby5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CmluZGV4IDMzM2RjN2MuLjk1MDRlZTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRjcGlvLnB5CkBAIC0xLDMzICsxLDMxIEBACitpbXBvcnQgb3MKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCB1bml0dGVzdAorCiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKLWZyb20gb2VxYS5zZGsudXRpbHMuc2RrYnVpbGRwcm9qZWN0IGltcG9ydCBTREtCdWlsZFByb2plY3QKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgQnVpbGRDcGlvVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICB0ZF92YXJzID0gWydEQVRFVElNRSddCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0KLSAgICAgICAgc2VsZi5wcm9qZWN0ID0gU0RLQnVpbGRQcm9qZWN0KHNlbGYudGMuc2RrX2RpciArICIvY3Bpby8iLCBzZWxmLnRjLnNka19lbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvY3Bpby9jcGlvLTIuMTIudGFyLmd6IiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGMuc2RrX2Rpciwgc2VsZi50ZFsnREFURVRJTUUnXSwgZGxfZGlyPWRsX2RpcikKLSAgICAgICAgc2VsZi5wcm9qZWN0LmRvd25sb2FkX2FyY2hpdmUoKQotCi0gICAgICAgIG1hY2hpbmUgPSBzZWxmLnRkLmdldCgiTUFDSElORSIpCi0gICAgICAgIGlmIG5vdCBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJwYWNrYWdlZ3JvdXAtY3Jvc3MtY2FuYWRpYW4tJXMiICUgbWFjaGluZSk6Ci0gICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiU0RLIGRvZXNuJ3QgY29udGFpbiBhIGNyb3NzLWNhbmFkaWFuIHRvb2xjaGFpbiIpCi0KKyAgICAiIiIKKyAgICBDaGVjayB0aGF0IGF1dG90b29scyB3aWxsIGNyb3NzLWNvbXBpbGUgY29ycmVjdGx5LgorICAgICIiIgogICAgIGRlZiB0ZXN0X2NwaW8oc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9jb25maWd1cmUoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJjcGlvLSIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2NwaW8vY3Bpby0yLjEyLnRhci5neiIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2plY3QucnVuX21ha2UoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGZhaWxlZCIpCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJjcGlvLTIuMTIiKQorICAgICAgICAgICAgZGlyc1siYnVpbGQiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiYnVpbGQiKQorICAgICAgICAgICAgZGlyc1siaW5zdGFsbCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJpbnN0YWxsIikKIAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYucHJvamVjdC5ydW5faW5zdGFsbCgpLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJSdW5uaW5nIG1ha2UgaW5zdGFsbCBmYWlsZWQiKQorICAgICAgICAgICAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJ0YXIiLCAieGYiLCB0YXJiYWxsLCAiLUMiLCB0ZXN0ZGlyXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpcnNbInNvdXJjZSJdKSkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcnNbImJ1aWxkIl0pCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgdGVhckRvd25DbGFzcyhzZWxmKToKLSAgICAgICAgc2VsZi5wcm9qZWN0LmNsZWFuKCkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge2J1aWxkfSAmJiB7c291cmNlfS9jb25maWd1cmUgJENPTkZJR1VSRV9GTEFHUyIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKKworICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJiaW4iLCAiY3BpbyIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGVwb3h5LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGVwb3h5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmMjRiNGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZXBveHkucHkKQEAgLTAsMCArMSwzNSBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKK2NsYXNzIEVwb3h5VGVzdChPRVNES1Rlc3RDYXNlKToKKyAgICAiIiIKKyAgICBUZXN0IHRoYXQgTWVzb24gYnVpbGRzIGNvcnJlY3RseS4KKyAgICAiIiIKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgibmF0aXZlc2RrLW1lc29uIikpOgorICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIkdhbGN1bGF0b3JUZXN0IGNsYXNzOiBTREsgZG9lc24ndCBjb250YWluIE1lc29uIikKKworICAgIGRlZiB0ZXN0X2Vwb3h5KHNlbGYpOgorICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeShwcmVmaXg9ImVwb3h5IiwgZGlyPXNlbGYudGMuc2RrX2RpcikgYXMgdGVzdGRpcjoKKyAgICAgICAgICAgIHRhcmJhbGwgPSBzZWxmLmZldGNoKHRlc3RkaXIsIHNlbGYudGRbIkRMX0RJUiJdLCAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS9yZWxlYXNlcy9kb3dubG9hZC8xLjUuMy9saWJlcG94eS0xLjUuMy50YXIueHoiKQorCisgICAgICAgICAgICBkaXJzID0ge30KKyAgICAgICAgICAgIGRpcnNbInNvdXJjZSJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJsaWJlcG94eS0xLjUuMyIpCisgICAgICAgICAgICBkaXJzWyJidWlsZCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJidWlsZCIpCisgICAgICAgICAgICBkaXJzWyJpbnN0YWxsIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQorCisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInRhciIsICJ4ZiIsIHRhcmJhbGwsICItQyIsIHRlc3RkaXJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlyc1sic291cmNlIl0pKQorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlyc1siYnVpbGQiXSkKKworICAgICAgICAgICAgc2VsZi5fcnVuKCJtZXNvbiAtRGVnbD1ubyAtRGdseD1ubyAtRHgxMT1mYWxzZSB7YnVpbGR9IHtzb3VyY2V9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigibmluamEgLUMge2J1aWxkfSAtdiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oIkRFU1RESVI9e2luc3RhbGx9IG5pbmphIC1DIHtidWlsZH0gLXYgaW5zdGFsbCIuZm9ybWF0KCoqZGlycykpCisKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAibGliIiwgImxpYmVwb3h5LnNvIikpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkZ2FsY3VsYXRvci5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CmluZGV4IDA1MGQxYjMuLjQ3ZDc1ODAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvYnVpbGRnYWxjdWxhdG9yLnB5CkBAIC0xLDEzICsxLDE3IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIG9lcWEuc2RrLmNhc2UgaW1wb3J0IE9FU0RLVGVzdENhc2UKLWZyb20gb2VxYS5zZGsudXRpbHMuc2RrYnVpbGRwcm9qZWN0IGltcG9ydCBTREtCdWlsZFByb2plY3QKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgR2FsY3VsYXRvclRlc3QoT0VTREtUZXN0Q2FzZSk6Ci0gICAgdGRfdmFycyA9IFsnREFURVRJTUUnXQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3Moc2VsZik6CisgICAgIiIiCisgICAgVGVzdCB0aGF0IGF1dG90b29scyBhbmQgR1RLKyAzIGNvbXBpbGVzIGNvcnJlY3RseS4KKyAgICAiIiIKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGlmIG5vdCAoc2VsZi50Yy5oYXNUYXJnZXRQYWNrYWdlKCJndGsrMyIsIG11bHRpbGliPVRydWUpIG9yIFwKICAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc1RhcmdldFBhY2thZ2UoImxpYmd0ay0zLjAiLCBtdWx0aWxpYj1UcnVlKSk6CiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiR2FsY3VsYXRvclRlc3QgY2xhc3M6IFNESyBkb24ndCBzdXBwb3J0IGd0ayszIikKQEAgLTE1LDIzICsxOSwyMSBAQAogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIkdhbGN1bGF0b3JUZXN0IGNsYXNzOiBTREsgZG9lc24ndCBjb250YWluIGdldHRleHQiKQogCiAgICAgZGVmIHRlc3RfZ2FsY3VsYXRvcihzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0gICAgICAgIHByb2plY3QgPSBOb25lCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHByb2plY3QgPSBTREtCdWlsZFByb2plY3Qoc2VsZi50Yy5zZGtfZGlyICsgIi9nYWxjdWxhdG9yLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGMuc2RrX2VudiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9nYWxjdWxhdG9yLm1uaW0ub3JnL2Rvd25sb2Fkcy9nYWxjdWxhdG9yLTIuMS40LnRhci5iejIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRjLnNka19kaXIsIHNlbGYudGRbJ0RBVEVUSU1FJ10sIGRsX2Rpcj1kbF9kaXIpCisgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5KHByZWZpeD0iZ2FsY3VsYXRvciIsIGRpcj1zZWxmLnRjLnNka19kaXIpIGFzIHRlc3RkaXI6CisgICAgICAgICAgICB0YXJiYWxsID0gc2VsZi5mZXRjaCh0ZXN0ZGlyLCBzZWxmLnRkWyJETF9ESVIiXSwgImh0dHA6Ly9nYWxjdWxhdG9yLm1uaW0ub3JnL2Rvd25sb2Fkcy9nYWxjdWxhdG9yLTIuMS40LnRhci5iejIiKQogCi0gICAgICAgICAgICBwcm9qZWN0LmRvd25sb2FkX2FyY2hpdmUoKQorICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiZ2FsY3VsYXRvci0yLjEuNCIpCisgICAgICAgICAgICBkaXJzWyJidWlsZCJdID0gb3MucGF0aC5qb2luKHRlc3RkaXIsICJidWlsZCIpCisgICAgICAgICAgICBkaXJzWyJpbnN0YWxsIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImluc3RhbGwiKQogCi0gICAgICAgICAgICAjIHJlZ2VuZXJhdGUgY29uZmlndXJlIHRvIGdldCBzdXBwb3J0IGZvciAtLXdpdGgtbGlidG9vbC1zeXNyb290Ci0gICAgICAgICAgICBsZWdhY3lfcHJlY29uZj0oImF1dG9yZWNvbmYgLWkgLWYgLUkgJHtPRUNPUkVfVEFSR0VUX1NZU1JPT1R9L3Vzci9zaGFyZS9hY2xvY2FsIC1JIG00OyIpCisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbInRhciIsICJ4ZiIsIHRhcmJhbGwsICItQyIsIHRlc3RkaXJdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlyc1sic291cmNlIl0pKQorICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlyc1siYnVpbGQiXSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm9qZWN0LnJ1bl9jb25maWd1cmUoZXh0cmFfY21kcz1sZWdhY3lfcHJlY29uZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge3NvdXJjZX0gJiYgYXV0b3JlY29uZiAtaSAtZiAtSSAkT0VDT1JFX1RBUkdFVF9TWVNST09UL3Vzci9zaGFyZS9hY2xvY2FsIC1JIG00Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuX3J1bigiY2Qge2J1aWxkfSAmJiB7c291cmNlfS9jb25maWd1cmUgJENPTkZJR1VSRV9GTEFHUyIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm9qZWN0LnJ1bl9tYWtlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJSdW5uaW5nIG1ha2UgZmFpbGVkIikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHByb2plY3QuY2xlYW4oKQorICAgICAgICAgICAgc2VsZi5jaGVja19lbGYob3MucGF0aC5qb2luKGRpcnNbImluc3RhbGwiXSwgInVzciIsICJsb2NhbCIsICJiaW4iLCAiZ2FsY3VsYXRvciIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9idWlsZGx6aXAucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQppbmRleCBiMjhjYzNhLi5iNzQ4M2JmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL2J1aWxkbHppcC5weQpAQCAtMSwzNiArMSwzMyBAQAotaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgb3MsIHRlbXBmaWxlLCBzdWJwcm9jZXNzLCB1bml0dGVzdAogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCi1mcm9tIG9lcWEuc2RrLnV0aWxzLnNka2J1aWxkcHJvamVjdCBpbXBvcnQgU0RLQnVpbGRQcm9qZWN0Ci0KK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKIAogY2xhc3MgQnVpbGRMemlwVGVzdChPRVNES1Rlc3RDYXNlKToKLSAgICB0ZF92YXJzID0gWydEQVRFVElNRSddCi0KLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhzZWxmKToKLSAgICAgICAgZGxfZGlyID0gc2VsZi50ZC5nZXQoJ0RMX0RJUicsIE5vbmUpCi0KLSAgICAgICAgc2VsZi5wcm9qZWN0ID0gU0RLQnVpbGRQcm9qZWN0KHNlbGYudGMuc2RrX2RpciArICIvbHppcC8iLCBzZWxmLnRjLnNka19lbnYsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzL2x6aXAtMS4xOS50YXIuZ3oiLAotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50Yy5zZGtfZGlyLCBzZWxmLnRkWydEQVRFVElNRSddLCBkbF9kaXI9ZGxfZGlyKQotICAgICAgICBzZWxmLnByb2plY3QuZG93bmxvYWRfYXJjaGl2ZSgpCi0KLSAgICAgICAgbWFjaGluZSA9IHNlbGYudGQuZ2V0KCJNQUNISU5FIikKLQotICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInBhY2thZ2Vncm91cC1jcm9zcy1jYW5hZGlhbi0lcyIgJSBtYWNoaW5lKSBvcgotICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIl5nY2MtIiwgcmVnZXg9VHJ1ZSkpOgotICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIlNESyBkb2Vzbid0IGNvbnRhaW4gYSBjcm9zcy1jYW5hZGlhbiB0b29sY2hhaW4iKQotCisgICAgIiIiCisgICAgVGVzdCB0aGF0ICJwbGFpbiIgY29tcGlsYXRpb24gd29ya3MsIHVzaW5nIGp1c3QgJENDICRDRkxBR1MgZXRjLgorICAgICIiIgogICAgIGRlZiB0ZXN0X2x6aXAoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9jb25maWd1cmUoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBjb25maWd1cmUgZmFpbGVkIikKKyAgICAgICAgd2l0aCB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkocHJlZml4PSJsemlwIiwgZGlyPXNlbGYudGMuc2RrX2RpcikgYXMgdGVzdGRpcjoKKyAgICAgICAgICAgIHRhcmJhbGwgPSBzZWxmLmZldGNoKHRlc3RkaXIsIHNlbGYudGRbIkRMX0RJUiJdLCAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzL2x6aXAtMS4xOS50YXIuZ3oiKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5wcm9qZWN0LnJ1bl9tYWtlKCksIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IlJ1bm5pbmcgbWFrZSBmYWlsZWQiKQorICAgICAgICAgICAgZGlycyA9IHt9CisgICAgICAgICAgICBkaXJzWyJzb3VyY2UiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAibHppcC0xLjE5IikKKyAgICAgICAgICAgIGRpcnNbImJ1aWxkIl0gPSBvcy5wYXRoLmpvaW4odGVzdGRpciwgImJ1aWxkIikKKyAgICAgICAgICAgIGRpcnNbImluc3RhbGwiXSA9IG9zLnBhdGguam9pbih0ZXN0ZGlyLCAiaW5zdGFsbCIpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnByb2plY3QucnVuX2luc3RhbGwoKSwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iUnVubmluZyBtYWtlIGluc3RhbGwgZmFpbGVkIikKKyAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsidGFyIiwgInhmIiwgdGFyYmFsbCwgIi1DIiwgdGVzdGRpcl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihkaXJzWyJzb3VyY2UiXSkpCisgICAgICAgICAgICBvcy5tYWtlZGlycyhkaXJzWyJidWlsZCJdKQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3Moc2VsZik6Ci0gICAgICAgIHNlbGYucHJvamVjdC5jbGVhbigpCisgICAgICAgICAgICBjbWQgPSAiIiJjZCB7YnVpbGR9ICYmIFwKKyAgICAgICAgICAgICAgICAgICAgIHtzb3VyY2V9L2NvbmZpZ3VyZSAtLXNyY2RpciB7c291cmNlfSBcCisgICAgICAgICAgICAgICAgICAgICBDWFg9IiRDWFgiIFwKKyAgICAgICAgICAgICAgICAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MiIFwKKyAgICAgICAgICAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MiIFwKKyAgICAgICAgICAgICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIiBcCisgICAgICAgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYuX3J1bihjbWQuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSAtaiIuZm9ybWF0KCoqZGlycykpCisgICAgICAgICAgICBzZWxmLl9ydW4oImNkIHtidWlsZH0gJiYgbWFrZSBpbnN0YWxsIERFU1RESVI9e2luc3RhbGx9Ii5mb3JtYXQoKipkaXJzKSkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZWxmKG9zLnBhdGguam9pbihkaXJzWyJpbnN0YWxsIl0sICJ1c3IiLCAibG9jYWwiLCAiYmluIiwgImx6aXAiKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvZ2NjLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKaW5kZXggYjMyYjAxZi4uNTRjNmZjNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9nY2MucHkKQEAgLTUsNiArNSw5IEBACiBmcm9tIG9lcWEuY29yZS51dGlscy5wYXRoIGltcG9ydCByZW1vdmVfc2FmZQogZnJvbSBvZXFhLnNkay5jYXNlIGltcG9ydCBPRVNES1Rlc3RDYXNlCiAKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKKwogY2xhc3MgR2NjQ29tcGlsZVRlc3QoT0VTREtUZXN0Q2FzZSk6CiAgICAgdGRfdmFycyA9IFsnTUFDSElORSddCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcGVybC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcGVybC5weQppbmRleCBmZjUwYjQ2Li5iOGFkYzVhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3BlcmwucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nkay9jYXNlcy9wZXJsLnB5CkBAIC0xLDE3ICsxLDE2IEBACiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQogCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKIGNsYXNzIFBlcmxUZXN0KE9FU0RLVGVzdENhc2UpOgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgaWYgbm90IChzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJuYXRpdmVzZGstcGVybCIpIG9yCiAgICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicGVybC1uYXRpdmUiKSk6CiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTm8gcGVybCBwYWNrYWdlIGluIHRoZSBTREsiKQogCiAgICAgZGVmIHRlc3RfcGVybChzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgY21kID0gInBlcmwgLWUgJyRfPVwiVXJ5eWIsIGpiZXlxXCI7IHRyL2EtekEtWi9uLXphLW1OLVpBLU0vO3ByaW50JyIKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZCIpCi0gICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5mYWlsKCJVbmV4cGVjdGVkIGV4aXQgJWQgKG91dHB1dCAlcykiICUgKGUucmV0dXJuY29kZSwgZS5vdXRwdXQpKQorICAgICAgICBjbWQgPSAicGVybCAtZSAnJF89XCJVcnl5YiwgamJleXFcIjsgdHIvYS16QS1aL24temEtbU4tWkEtTS87cHJpbnQnIgorICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZCIpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2RrL2Nhc2VzL3B5dGhvbi5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CmluZGV4IGJkNWYxZjYuLmI5MTc0ZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZGsvY2FzZXMvcHl0aG9uLnB5CkBAIC0xLDE3ICsxLDI3IEBACiBpbXBvcnQgc3VicHJvY2VzcywgdW5pdHRlc3QKIGZyb20gb2VxYS5zZGsuY2FzZSBpbXBvcnQgT0VTREtUZXN0Q2FzZQogCi1jbGFzcyBQeXRob25UZXN0KE9FU0RLVGVzdENhc2UpOgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKHNlbGYpOgotICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24zIikgb3IKLSAgICAgICAgICAgICAgICBzZWxmLnRjLmhhc0hvc3RQYWNrYWdlKCJweXRob24zLW5hdGl2ZSIpKToKK2Zyb20gb2VxYS51dGlscy5zdWJwcm9jZXNzdHdlYWsgaW1wb3J0IGVycm9yc19oYXZlX291dHB1dAorZXJyb3JzX2hhdmVfb3V0cHV0KCkKKworY2xhc3MgUHl0aG9uMlRlc3QoT0VTREtUZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24tY29yZSIpIG9yCisgICAgICAgICAgICAgICAgc2VsZi50Yy5oYXNIb3N0UGFja2FnZSgicHl0aG9uLWNvcmUtbmF0aXZlIikpOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIk5vIHB5dGhvbiBwYWNrYWdlIGluIHRoZSBTREsiKQogCisgICAgZGVmIHRlc3RfcHl0aG9uMihzZWxmKToKKyAgICAgICAgY21kID0gInB5dGhvbiAtYyBcImltcG9ydCBjb2RlY3M7IHByaW50KGNvZGVjcy5lbmNvZGUoJ1VyeXliLCBqYmV5cScsICdyb3QxMycpKVwiIgorICAgICAgICBvdXRwdXQgPSBzZWxmLl9ydW4oY21kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZFxuIikKKworY2xhc3MgUHl0aG9uM1Rlc3QoT0VTREtUZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBub3QgKHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoIm5hdGl2ZXNkay1weXRob24zLWNvcmUiKSBvcgorICAgICAgICAgICAgICAgIHNlbGYudGMuaGFzSG9zdFBhY2thZ2UoInB5dGhvbjMtY29yZS1uYXRpdmUiKSk6CisgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTm8gcHl0aG9uMyBwYWNrYWdlIGluIHRoZSBTREsiKQorCiAgICAgZGVmIHRlc3RfcHl0aG9uMyhzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgY21kID0gInB5dGhvbjMgLWMgXCJpbXBvcnQgY29kZWNzOyBwcmludChjb2RlY3MuZW5jb2RlKCdVcnl5YiwgamJleXEnLCAncm90MTMnKSlcIiIKLSAgICAgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgIkhlbGxvLCB3b3JsZFxuIikKLSAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlVuZXhwZWN0ZWQgZXhpdCAlZCAob3V0cHV0ICVzKSIgJSAoZS5yZXR1cm5jb2RlLCBlLm91dHB1dCkpCisgICAgICAgIGNtZCA9ICJweXRob24zIC1jIFwiaW1wb3J0IGNvZGVjczsgcHJpbnQoY29kZWNzLmVuY29kZSgnVXJ5eWIsIGpiZXlxJywgJ3JvdDEzJykpXCIiCisgICAgICAgIG91dHB1dCA9IHNlbGYuX3J1bihjbWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LCAiSGVsbG8sIHdvcmxkXG4iKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3Nka2V4dC9jYXNlcy9kZXZ0b29sLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3Nka2V4dC9jYXNlcy9kZXZ0b29sLnB5CmluZGV4IDA4NjBlOGQuLmQzMjJmODYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZGtleHQvY2FzZXMvZGV2dG9vbC5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2RrZXh0L2Nhc2VzL2RldnRvb2wucHkKQEAgLTksNiArOSw5IEBACiBmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKIGZyb20gb2VxYS51dGlscy5odHRwc2VydmVyIGltcG9ydCBIVFRQU2VydmljZQogCitmcm9tIG9lcWEudXRpbHMuc3VicHJvY2Vzc3R3ZWFrIGltcG9ydCBlcnJvcnNfaGF2ZV9vdXRwdXQKK2Vycm9yc19oYXZlX291dHB1dCgpCisKIGNsYXNzIERldnRvb2xUZXN0KE9FU0RLRXh0VGVzdENhc2UpOgogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYmJ0ZXN0cy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CmluZGV4IDAwNWZkZDAuLmM1MDNlNGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9iYnRlc3RzLnB5CkBAIC00MCw4ICs0MCw4IEBACiAgICAgZGVmIHRlc3RfZXZlbnRfaGFuZGxlcihzZWxmKToKICAgICAgICAgc2VsZi53cml0ZV9jb25maWcoIklOSEVSSVQgKz0gXCJ0ZXN0X2V2ZW50c1wiIikKICAgICAgICAgcmVzdWx0ID0gYml0YmFrZSgnbTQtbmF0aXZlJykKLSAgICAgICAgZmluZF9idWlsZF9zdGFydGVkID0gcmUuc2VhcmNoKCJOT1RFOiBUZXN0IGZvciBiYlwuZXZlbnRcLkJ1aWxkU3RhcnRlZChcbi4qKSpOT1RFOiBFeGVjdXRpbmcgUnVuUXVldWUgVGFza3MiLCByZXN1bHQub3V0cHV0KQotICAgICAgICBmaW5kX2J1aWxkX2NvbXBsZXRlZCA9IHJlLnNlYXJjaCgiVGFza3MgU3VtbWFyeTouKihcbi4qKSpOT1RFOiBUZXN0IGZvciBiYlwuZXZlbnRcLkJ1aWxkQ29tcGxldGVkIiwgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgZmluZF9idWlsZF9zdGFydGVkID0gcmUuc2VhcmNoKHIiTk9URTogVGVzdCBmb3IgYmJcLmV2ZW50XC5CdWlsZFN0YXJ0ZWQoXG4uKikqTk9URTogRXhlY3V0aW5nIFJ1blF1ZXVlIFRhc2tzIiwgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgZmluZF9idWlsZF9jb21wbGV0ZWQgPSByZS5zZWFyY2gociJUYXNrcyBTdW1tYXJ5Oi4qKFxuLiopKk5PVEU6IFRlc3QgZm9yIGJiXC5ldmVudFwuQnVpbGRDb21wbGV0ZWQiLCByZXN1bHQub3V0cHV0KQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmluZF9idWlsZF9zdGFydGVkLCBtc2cgPSAiTWF0Y2ggZmFpbGVkIGluOlxuJXMiICAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kX2J1aWxkX2NvbXBsZXRlZCwgbXNnID0gIk1hdGNoIGZhaWxlZCBpbjpcbiVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ1Rlc3QgZm9yIGJiLmV2ZW50LkludmFsaWRFdmVudCcgaW4gcmVzdWx0Lm91dHB1dCwgbXNnID0gIlwiVGVzdCBmb3IgYmIuZXZlbnQuSW52YWxpZEV2ZW50XCIgbWVzc2FnZSBmb3VuZCBkdXJpbmcgYml0YmFrZSBwcm9jZXNzLiBiaXRiYWtlIG91dHB1dDogJXMiICUgcmVzdWx0Lm91dHB1dCkKQEAgLTE5Niw3ICsxOTYsNyBAQAogICAgIEBPRVRlc3RJRCgxMDMxKQogICAgIGRlZiB0ZXN0X3ZlcnNpb24oc2VsZik6CiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnYml0YmFrZSAtcyB8IGdyZXAgd2dldCcpCi0gICAgICAgIGZpbmQgPSByZS5zZWFyY2goIndnZXQgKjooWzAtOWEtekEtWlwuXC1dKykiLCByZXN1bHQub3V0cHV0KQorICAgICAgICBmaW5kID0gcmUuc2VhcmNoKHIid2dldCAqOihbMC05YS16QS1aXC5cLV0rKSIsIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kLCAiTm8gdmVyc2lvbiByZXR1cm5lZCBmb3Igc2VhcmNoZWQgcmVjaXBlLiBiaXRiYWtlIG91dHB1dDogJXMiICUgcmVzdWx0Lm91dHB1dCkKIAogICAgIEBPRVRlc3RJRCgxMDMyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2J1aWxkb3B0aW9ucy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9idWlsZG9wdGlvbnMucHkKaW5kZXggZjIzNGJhYy4uNmExOGViOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2J1aWxkb3B0aW9ucy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvYnVpbGRvcHRpb25zLnB5CkBAIC0zNywxMyArMzcsMTMgQEAKICAgICAgICAgcCA9IGJiX3ZhcnNbJ1NZU1JPT1RfREVTVERJUiddICsgYmJfdmFyc1snYmluZGlyJ10gKyAiLyIgKyAiY2NhY2hlIgogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUocCksIG1zZyA9ICJObyBjY2FjaGUgZm91bmQgKCVzKSIgJSBwKQogICAgICAgICBzZWxmLndyaXRlX2NvbmZpZygnSU5IRVJJVCArPSAiY2NhY2hlIicpCi0gICAgICAgIHNlbGYuYWRkX2NvbW1hbmRfdG9fdGVhckRvd24oJ2JpdGJha2UgLWMgY2xlYW4gbTQnKQotICAgICAgICBiaXRiYWtlKCJtNCAtYyBjbGVhbiIpCi0gICAgICAgIGJpdGJha2UoIm00IC1mIC1jIGNvbXBpbGUiKQotICAgICAgICBsb2dfY29tcGlsZSA9IG9zLnBhdGguam9pbihnZXRfYmJfdmFyKCJXT1JLRElSIiwibTQiKSwgInRlbXAvbG9nLmRvX2NvbXBpbGUiKQorICAgICAgICBzZWxmLmFkZF9jb21tYW5kX3RvX3RlYXJEb3duKCdiaXRiYWtlIC1jIGNsZWFuIG00LW5hdGl2ZScpCisgICAgICAgIGJpdGJha2UoIm00LW5hdGl2ZSAtYyBjbGVhbiIpCisgICAgICAgIGJpdGJha2UoIm00LW5hdGl2ZSAtZiAtYyBjb21waWxlIikKKyAgICAgICAgbG9nX2NvbXBpbGUgPSBvcy5wYXRoLmpvaW4oZ2V0X2JiX3ZhcigiV09SS0RJUiIsIm00LW5hdGl2ZSIpLCAidGVtcC9sb2cuZG9fY29tcGlsZSIpCiAgICAgICAgIHdpdGggb3Blbihsb2dfY29tcGlsZSwgInIiKSBhcyBmOgogICAgICAgICAgICAgbG9nbGluZXMgPSAiIi5qb2luKGYucmVhZGxpbmVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oImNjYWNoZSIsIGxvZ2xpbmVzLCBtc2c9Ik5vIG1hdGNoIGZvciBjY2FjaGUgaW4gbTQgbG9nLmRvX2NvbXBpbGUuIEZvciBmdXJ0aGVyIGRldGFpbHM6ICVzIiAlIGxvZ19jb21waWxlKQorICAgICAgICBzZWxmLmFzc2VydEluKCJjY2FjaGUiLCBsb2dsaW5lcywgbXNnPSJObyBtYXRjaCBmb3IgY2NhY2hlIGluIG00LW5hdGl2ZSBsb2cuZG9fY29tcGlsZS4gRm9yIGZ1cnRoZXIgZGV0YWlsczogJXMiICUgbG9nX2NvbXBpbGUpCiAKICAgICBAT0VUZXN0SUQoMTQzNSkKICAgICBkZWYgdGVzdF9yZWFkX29ubHlfaW1hZ2Uoc2VsZik6CkBAIC0xODcsNiArMTg3LDggQEAKIEJCX0FMTE9XRURfTkVUV09SS1MgPSAiZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmciCiBNSVJST1JTID0gIiIKIERMX0RJUiA9ICIke1RNUERJUn0vdGVzdF9kb3dubG9hZHMiCitTVEFNUFNfRElSID0gIiR7VE1QRElSfS90ZXN0X3N0YW1wcyIKK1NTVEFURV9ESVIgPSAiJHtUTVBESVJ9L3Rlc3Rfc3N0YXRlLWNhY2hlIgogUFJFTUlSUk9SUyA9ICJcXAogICAgIGJ6cjovLy4qLy4qICAgaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL21pcnJvci9zb3VyY2VzLyBcXG4gXFwKICAgICBjdnM6Ly8uKi8uKiAgIGh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9taXJyb3Ivc291cmNlcy8gXFxuIFxcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGV2dG9vbC5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CmluZGV4IDllYjliYWQuLjU4ZjNlNTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kZXZ0b29sLnB5CkBAIC0xMjkxLDcgKzEyOTEsNyBAQAogICAgICAgICAgICAgaW5zdGFsbGRpciA9IGJiX3ZhcnNbJ0QnXQogICAgICAgICAgICAgZmFrZXJvb3RlbnYgPSBiYl92YXJzWydGQUtFUk9PVEVOViddCiAgICAgICAgICAgICBmYWtlcm9vdGNtZCA9IGJiX3ZhcnNbJ0ZBS0VST09UQ01EJ10KLSAgICAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnJXMgJXMgZmluZCAuIC10eXBlIGYgLWV4ZWMgbHMgLWwge30gXDsnICUgKGZha2Vyb290ZW52LCBmYWtlcm9vdGNtZCksIGN3ZD1pbnN0YWxsZGlyKQorICAgICAgICAgICAgcmVzdWx0ID0gcnVuQ21kKCclcyAlcyBmaW5kIC4gLXR5cGUgZiAtZXhlYyBscyAtbCB7fSBcXDsnICUgKGZha2Vyb290ZW52LCBmYWtlcm9vdGNtZCksIGN3ZD1pbnN0YWxsZGlyKQogICAgICAgICAgICAgZmlsZWxpc3QxID0gc2VsZi5fcHJvY2Vzc19sc19vdXRwdXQocmVzdWx0Lm91dHB1dCkKIAogICAgICAgICAgICAgIyBOb3cgbG9vayBvbiB0aGUgdGFyZ2V0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvZGlzdHJvZGF0YS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CmluZGV4IGU3YjVlMzQuLjBiNDU0NzEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9kaXN0cm9kYXRhLnB5CkBAIC00LDE3ICs0LDEwIEBACiBmcm9tIG9lcWEudXRpbHMuZnRvb2xzIGltcG9ydCB3cml0ZV9maWxlCiBmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKIAoraW1wb3J0IG9lLnJlY2lwZXV0aWxzCisKIGNsYXNzIERpc3Ryb2RhdGEoT0VTZWxmdGVzdFRlc3RDYXNlKToKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIHN1cGVyKERpc3Ryb2RhdGEsIGNscykuc2V0VXBDbGFzcygpCi0gICAgICAgIGZlYXR1cmUgPSAnSU5IRVJJVCArPSAiZGlzdHJvZGF0YSJcbicKLSAgICAgICAgZmVhdHVyZSArPSAnTElDRU5TRV9GTEFHU19XSElURUxJU1QgKz0gIiBjb21tZXJjaWFsIlxuJwotCi0gICAgICAgIGNscy53cml0ZV9jb25maWcoY2xzLCBmZWF0dXJlKQotICAgICAgICBiaXRiYWtlKCctYyBjaGVja3BrZyB3b3JsZCcpCi0KICAgICBAT0VUZXN0SUQoMTkwMikKICAgICBkZWYgdGVzdF9jaGVja3BrZyhzZWxmKToKICAgICAgICAgIiIiCkBAIC0yMyw5ICsxNiwxMyBAQAogICAgICAgICBQcm9kdWN0OiAgICAgb2UtY29yZQogICAgICAgICBBdXRob3I6ICAgICAgQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiAgICAgICAgICIiIgotICAgICAgICBjaGVja3BrZ19yZXN1bHQgPSBvcGVuKG9zLnBhdGguam9pbihnZXRfYmJfdmFyKCJMT0dfRElSIiksICJjaGVja3BrZy5jc3YiKSkucmVhZGxpbmVzKClbMTpdCi0gICAgICAgIHJlZ3Jlc3NlZF9mYWlsdXJlcyA9IFtwa2dfZGF0YVswXSBmb3IgcGtnX2RhdGEgaW4gW3BrZ19saW5lLnNwbGl0KCdcdCcpIGZvciBwa2dfbGluZSBpbiBjaGVja3BrZ19yZXN1bHRdIGlmIHBrZ19kYXRhWzExXSA9PSAnVU5LTk9XTl9CUk9LRU4nXQotICAgICAgICByZWdyZXNzZWRfc3VjY2Vzc2VzID0gW3BrZ19kYXRhWzBdIGZvciBwa2dfZGF0YSBpbiBbcGtnX2xpbmUuc3BsaXQoJ1x0JykgZm9yIHBrZ19saW5lIGluIGNoZWNrcGtnX3Jlc3VsdF0gaWYgcGtnX2RhdGFbMTFdID09ICdLTk9XTl9CUk9LRU4nXQorICAgICAgICBmZWF0dXJlID0gJ0xJQ0VOU0VfRkxBR1NfV0hJVEVMSVNUICs9ICIgY29tbWVyY2lhbCJcbicKKyAgICAgICAgc2VsZi53cml0ZV9jb25maWcoZmVhdHVyZSkKKworICAgICAgICBwa2dzID0gb2UucmVjaXBldXRpbHMuZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cygpCisKKyAgICAgICAgcmVncmVzc2VkX2ZhaWx1cmVzID0gW3BrZ1swXSBmb3IgcGtnIGluIHBrZ3MgaWYgcGtnWzFdID09ICdVTktOT1dOX0JST0tFTiddCisgICAgICAgIHJlZ3Jlc3NlZF9zdWNjZXNzZXMgPSBbcGtnWzBdIGZvciBwa2cgaW4gcGtncyBpZiBwa2dbMV0gPT0gJ0tOT1dOX0JST0tFTiddCiAgICAgICAgIG1zZyA9ICIiCiAgICAgICAgIGlmIGxlbihyZWdyZXNzZWRfZmFpbHVyZXMpID4gMDoKICAgICAgICAgICAgIG1zZyA9IG1zZyArICIiIgpAQCAtNTUsNDUgKzUyLDM2IEBACiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAgZGVmIGlzX2luX29lX2NvcmUocmVjaXBlLCByZWNpcGVzKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZWNpcGUgaW4gcmVjaXBlcy5rZXlzKCksICJSZWNpcGUgJXMgd2FzIG5vdCBpbiAnYml0YmFrZS1sYXllcnMgc2hvdy1yZWNpcGVzJyBvdXRwdXQiICUocmVjaXBlKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4ocmVjaXBlc1tyZWNpcGVdKSA+IDAsICInYml0YmFrZS1sYXllcnMgc2hvdy1yZWNpcGVzJyBjb3VsZCBub3QgZGV0ZXJtaW5lIHdoYXQgbGF5ZXIocykgYSByZWNpcGUgJXMgaXMgaW4iICUocmVjaXBlKSkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZWNpcGVzW3JlY2lwZV0uaW5kZXgoJ21ldGEnKQotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZmVhdHVyZSA9ICdyZXF1aXJlIGNvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jXG4nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGZlYXR1cmUpCiAKLSAgICAgICAgZGVmIGdldF9yZWNpcGVfbGF5ZXJzKCk6Ci0gICAgICAgICAgICBpbXBvcnQgcmUKKyAgICAgICAgd2l0aCBiYi50aW5mb2lsLlRpbmZvaWwoKSBhcyB0aW5mb2lsOgorICAgICAgICAgICAgdGluZm9pbC5wcmVwYXJlKGNvbmZpZ19vbmx5PUZhbHNlKQogCi0gICAgICAgICAgICByZWNpcGVzID0ge30KLSAgICAgICAgICAgIHJlY2lwZV9yZWdleCA9IHJlLmNvbXBpbGUoJ14oP1A8bmFtZT4uKik6JCcpCi0gICAgICAgICAgICBsYXllcl9yZWdleCA9IHJlLmNvbXBpbGUoJ14gICg/UDxuYW1lPlxTKikgKycpCi0gICAgICAgICAgICBvdXRwdXQgPSBydW5DbWQoJ2JpdGJha2UtbGF5ZXJzIHNob3ctcmVjaXBlcycpLm91dHB1dAotICAgICAgICAgICAgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0KCdcbicpOgotICAgICAgICAgICAgICAgIHJlY2lwZV9uYW1lX29iaiA9IHJlY2lwZV9yZWdleC5zZWFyY2gobGluZSkKLSAgICAgICAgICAgICAgICBpZiByZWNpcGVfbmFtZV9vYmo6Ci0gICAgICAgICAgICAgICAgICAgIHJlY2lwZV9uYW1lID0gcmVjaXBlX25hbWVfb2JqLmdyb3VwKCduYW1lJykKLSAgICAgICAgICAgICAgICAgICAgcmVjaXBlc1tyZWNpcGVfbmFtZV0gPSBbXQotICAgICAgICAgICAgICAgIHJlY2lwZV9sYXllcl9vYmogPSBsYXllcl9yZWdleC5zZWFyY2gobGluZSkKLSAgICAgICAgICAgICAgICBpZiByZWNpcGVfbGF5ZXJfb2JqOgotICAgICAgICAgICAgICAgICAgICBsYXllcl9uYW1lID0gcmVjaXBlX2xheWVyX29iai5ncm91cCgnbmFtZScpCi0gICAgICAgICAgICAgICAgICAgIHJlY2lwZXNbcmVjaXBlX25hbWVdLmFwcGVuZChsYXllcl9uYW1lKQotICAgICAgICAgICAgcmV0dXJuIHJlY2lwZXMKKyAgICAgICAgICAgIHdpdGhfbWFpbnRhaW5lcl9saXN0ID0gW10KKyAgICAgICAgICAgIG5vX21haW50YWluZXJfbGlzdCA9IFtdCisgICAgICAgICAgICAjIFdlIGNvdWxkIGhhdmUgdXNlZCBhbGxfcmVjaXBlcygpIGhlcmUsIGJ1dCB0aGlzIG1ldGhvZCB3aWxsIGZpbmQKKyAgICAgICAgICAgICMgZXZlcnkgcmVjaXBlIGlmIHdlIGV2ZXIgbW92ZSB0byBzZXR0aW5nIFJFQ0lQRV9NQUlOVEFJTkVSIGluIHJlY2lwZSBmaWxlcworICAgICAgICAgICAgIyBpbnN0ZWFkIG9mIG1haW50YWluZXJzLmluYworICAgICAgICAgICAgZm9yIGZuIGluIHRpbmZvaWwuYWxsX3JlY2lwZV9maWxlcyh2YXJpYW50cz1GYWxzZSk6CisgICAgICAgICAgICAgICAgaWYgbm90ICcvbWV0YS9yZWNpcGVzLScgaW4gZm46CisgICAgICAgICAgICAgICAgICAgICMgV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBPRS1Db3JlCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgcmQgPSB0aW5mb2lsLnBhcnNlX3JlY2lwZV9maWxlKGZuLCBhcHBlbmRzPUZhbHNlKQorICAgICAgICAgICAgICAgIHBuID0gcmQuZ2V0VmFyKCdQTicpCisgICAgICAgICAgICAgICAgaWYgaXNfZXhjZXB0aW9uKHBuKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiByZC5nZXRWYXIoJ1JFQ0lQRV9NQUlOVEFJTkVSJyk6CisgICAgICAgICAgICAgICAgICAgIHdpdGhfbWFpbnRhaW5lcl9saXN0LmFwcGVuZCgocG4sIGZuKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBub19tYWludGFpbmVyX2xpc3QuYXBwZW5kKChwbiwgZm4pKQogCi0gICAgICAgIGNoZWNrcGtnX3Jlc3VsdCA9IG9wZW4ob3MucGF0aC5qb2luKGdldF9iYl92YXIoIkxPR19ESVIiKSwgImNoZWNrcGtnLmNzdiIpKS5yZWFkbGluZXMoKVsxOl0KLSAgICAgICAgcmVjaXBlc19sYXllcnMgPSBnZXRfcmVjaXBlX2xheWVycygpCi0gICAgICAgIG5vX21haW50YWluZXJfbGlzdCA9IFtwa2dfZGF0YVswXSBmb3IgcGtnX2RhdGEgaW4gW3BrZ19saW5lLnNwbGl0KCdcdCcpIGZvciBwa2dfbGluZSBpbiBjaGVja3BrZ19yZXN1bHRdIFwKLSAgICAgICAgICAgIGlmIHBrZ19kYXRhWzE0XSA9PSAnJyBhbmQgaXNfaW5fb2VfY29yZShwa2dfZGF0YVswXSwgcmVjaXBlc19sYXllcnMpIGFuZCBub3QgaXNfZXhjZXB0aW9uKHBrZ19kYXRhWzBdKV0KLSAgICAgICAgbXNnID0gIiIiCi1UaGUgZm9sbG93aW5nIHBhY2thZ2VzIGRvIG5vdCBoYXZlIGEgbWFpbnRhaW5lciBhc3NpZ25lZCB0byB0aGVtLiBQbGVhc2UgYWRkIGFuIGVudHJ5IHRvIG1ldGEvY29uZi9kaXN0cm8vaW5jbHVkZS9tYWludGFpbmVycy5pbmMgZmlsZS4KLSIiIiArICJcbiIuam9pbihub19tYWludGFpbmVyX2xpc3QpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4obm9fbWFpbnRhaW5lcl9saXN0KSA9PSAwLCBtc2cpCisgICAgICAgIGlmIG5vX21haW50YWluZXJfbGlzdDoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiIiIKK1RoZSBmb2xsb3dpbmcgcmVjaXBlcyBkbyBub3QgaGF2ZSBhIG1haW50YWluZXIgYXNzaWduZWQgdG8gdGhlbS4gUGxlYXNlIGFkZCBhbiBlbnRyeSB0byBtZXRhL2NvbmYvZGlzdHJvL2luY2x1ZGUvbWFpbnRhaW5lcnMuaW5jIGZpbGUuCisiIiIgKyAiXG4iLmpvaW4oWyclcyAoJXMpJyAlIGkgZm9yIGkgaW4gbm9fbWFpbnRhaW5lcl9saXN0XSkpCiAKLSAgICAgICAgd2l0aF9tYWludGFpbmVyX2xpc3QgPSBbcGtnX2RhdGFbMF0gZm9yIHBrZ19kYXRhIGluIFtwa2dfbGluZS5zcGxpdCgnXHQnKSBmb3IgcGtnX2xpbmUgaW4gY2hlY2twa2dfcmVzdWx0XSBcCi0gICAgICAgICAgICBpZiBwa2dfZGF0YVsxNF0gIT0gJycgYW5kIGlzX2luX29lX2NvcmUocGtnX2RhdGFbMF0sIHJlY2lwZXNfbGF5ZXJzKSBhbmQgbm90IGlzX2V4Y2VwdGlvbihwa2dfZGF0YVswXSldCi0gICAgICAgIG1zZyA9ICIiIgotVGhlIGxpc3Qgb2Ygb2UtY29yZSBwYWNrYWdlcyB3aXRoIG1haW50YWluZXJzIGlzIGVtcHR5LiBUaGlzIG1heSBpbmRpY2F0ZSB0aGF0IHRoZSB0ZXN0IGhhcyByZWdyZXNzZWQgYW5kIG5lZWRzIGZpeGluZy4KLSIiIgotICAgICAgICBzZWxmLmFzc2VydFRydWUobGVuKHdpdGhfbWFpbnRhaW5lcl9saXN0KSA+IDAsIG1zZykKKyAgICAgICAgaWYgbm90IHdpdGhfbWFpbnRhaW5lcl9saXN0OgorICAgICAgICAgICAgc2VsZi5mYWlsKCIiIgorVGhlIGxpc3Qgb2Ygb2UtY29yZSByZWNpcGVzIHdpdGggbWFpbnRhaW5lcnMgaXMgZW1wdHkuIFRoaXMgbWF5IGluZGljYXRlIHRoYXQgdGhlIHRlc3QgaGFzIHJlZ3Jlc3NlZCBhbmQgbmVlZHMgZml4aW5nLgorIiIiKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL2ltYWdlZmVhdHVyZXMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQppbmRleCA4Yzk1NDMyLi5hZWQ2M2U1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvaW1hZ2VmZWF0dXJlcy5weQpAQCAtMjM2LDMgKzIzNiwyOSBAQAogIiIiCiAgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGNvbmZpZykKICAgICAgICAgYml0YmFrZSgiY29yZS1pbWFnZS1iYXNlIikKKworICAgIGRlZiB0ZXN0X25vX2J1c3lib3hfYmFzZV91dGlscyhzZWxmKToKKyAgICAgICAgY29uZmlnID0gIiIiCisjIEVuYWJsZSB4MTEKK0RJU1RST19GRUFUVVJFU19hcHBlbmQgKz0gIngxMSIKKworIyBTd2l0Y2ggdG8gc3lzdGVtZAorRElTVFJPX0ZFQVRVUkVTICs9ICJzeXN0ZW1kIgorVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlciA9ICJzeXN0ZW1kIgorVklSVFVBTC1SVU5USU1FX2luaXRzY3JpcHRzID0gIiIKK1ZJUlRVQUwtUlVOVElNRV9zeXNsb2cgPSAiIgorVklSVFVBTC1SVU5USU1FX2xvZ2luX21hbmFnZXIgPSAic2hhZG93LWJhc2UiCitESVNUUk9fRkVBVFVSRVNfQkFDS0ZJTExfQ09OU0lERVJFRCA9ICJzeXN2aW5pdCIKKworIyBSZXBsYWNlIGJ1c3lib3gKK1BSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2Jhc2UtdXRpbHMgPSAicGFja2FnZWdyb3VwLWNvcmUtYmFzZS11dGlscyIKK1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzID0gInBhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMiCitWSVJUVUFMLVJVTlRJTUVfYmFzZS11dGlscy1od2Nsb2NrID0gInV0aWwtbGludXgtaHdjbG9jayIKK1ZJUlRVQUwtUlVOVElNRV9iYXNlLXV0aWxzLXN5c2xvZyA9ICIiCisKKyMgQmxhY2tsaXN0IGJ1c3lib3gKK1BOQkxBQ0tMSVNUW2J1c3lib3hdID0gIkRvbid0IGJ1aWxkIHRoaXMiCisiIiIKKyAgICAgICAgc2VsZi53cml0ZV9jb25maWcoY29uZmlnKQorCisgICAgICAgIGJpdGJha2UoIi0tZ3JhcGh2aXogY29yZS1pbWFnZS1zYXRvIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9tdWx0aWNvbmZpZy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9tdWx0aWNvbmZpZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzM2ZjZlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL211bHRpY29uZmlnLnB5CkBAIC0wLDAgKzEsNDMgQEAKK2ltcG9ydCBvcworZnJvbSBvZXFhLnNlbGZ0ZXN0LmNhc2UgaW1wb3J0IE9FU2VsZnRlc3RUZXN0Q2FzZQorZnJvbSBvZXFhLnV0aWxzLmNvbW1hbmRzIGltcG9ydCBiaXRiYWtlCitpbXBvcnQgb2VxYS51dGlscy5mdG9vbHMgYXMgZnRvb2xzCisKK2NsYXNzIE11bHRpQ29uZmlnKE9FU2VsZnRlc3RUZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9tdWx0aWNvbmZpZyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgdGhhdCBhIHNpbXBsZSBtdWx0aWNvbmZpZyBidWlsZCB3b3Jrcy4gVGhpcyB1c2VzIHRoZSBtY2V4dGVuZCBjbGFzcyBhbmQgdGhlIAorICAgICAgICBtdWx0aWNvbmZpZy1pbWFnZS1wYWNrYWdlciB0ZXN0IHJlY2lwZSB0byBidWlsZCBhIGNvcmUtaW1hZ2UtZnVsbC1jbWRsaW5lIGltYWdlIHdoaWNoIAorICAgICAgICBjb250YWlucyBhIHRpbnkgY29yZS1pbWFnZS1taW5pbWFsIGFuZCBhIG11c2wgY29yZS1pbWFnZS1taW5pbWFsLCBpbnN0YWxsZWQgYXMgcGFja2FnZXMuCisgICAgICAgICIiIgorCisgICAgICAgIGNvbmZpZyA9ICIiIgorSU1BR0VfSU5TVEFMTF9hcHBlbmRfcG4tY29yZS1pbWFnZS1mdWxsLWNtZGxpbmUgPSAiIG11bHRpY29uZmlnLWltYWdlLXBhY2thZ2VyLXRpbnkgbXVsdGljb25maWctaW1hZ2UtcGFja2FnZXItbXVzbCIKK0JCTVVMVElDT05GSUcgPSAidGlueSBtdXNsIgorIiIiCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGNvbmZpZykKKworICAgICAgICBtdXNsY29uZmlnID0gIiIiCitNQUNISU5FID0gInFlbXV4ODYtNjQiCitESVNUUk8gPSAicG9reSIKK1RDTElCQyA9ICJtdXNsIgorVE1QRElSID0gIiR7VE9QRElSfS90bXAtbWMtbXVzbCIKKyIiIgorCisgICAgICAgIHRpbnljb25maWcgPSAiIiIKK01BQ0hJTkUgPSAicWVtdXg4NiIKK0RJU1RSTyA9ICJwb2t5LXRpbnkiCitUTVBESVIgPSAiJHtUT1BESVJ9L3RtcC1tYy10aW55IgorIiIiCisKKyAgICAgICAgbXVsdGljb25maWdkaXIgPSBzZWxmLmJ1aWxkZGlyICsgIi9jb25mL211bHRpY29uZmlnIgorICAgICAgICBvcy5tYWtlZGlycyhtdWx0aWNvbmZpZ2RpciwgZXhpc3Rfb2s9VHJ1ZSkKKyAgICAgICAgc2VsZi50cmFja19mb3JfY2xlYW51cChtdWx0aWNvbmZpZ2RpciArICIvbXVzbC5jb25mIikKKyAgICAgICAgZnRvb2xzLndyaXRlX2ZpbGUobXVsdGljb25maWdkaXIgKyAiL211c2wuY29uZiIsIG11c2xjb25maWcpCisgICAgICAgIHNlbGYudHJhY2tfZm9yX2NsZWFudXAobXVsdGljb25maWdkaXIgKyAiL3RpbnkuY29uZiIpCisgICAgICAgIGZ0b29scy53cml0ZV9maWxlKG11bHRpY29uZmlnZGlyICsgIi90aW55LmNvbmYiLCB0aW55Y29uZmlnKQorCisgICAgICAgICMgQnVpbGQgYSBjb3JlLWltYWdlLW1pbmltYWwKKyAgICAgICAgYml0YmFrZSgnY29yZS1pbWFnZS1mdWxsLWNtZGxpbmUnKQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGFja2FnZS5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CmluZGV4IDBhODhkYzIuLjY1OTZkYWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wYWNrYWdlLnB5CkBAIC0xMzcsNyArMTM3LDcgQEAKICAgICAgICAgICAgICAgICBlbGlmICJCcmVha3BvaW50IDEsIG1haW4gKCkgYXQgaGVsbG8uYzo0IiBpbiBsOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogCi0gICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiR0RCIHJlc3VsdDpcbiVzOiAlcyIgJSBvdXRwdXQpCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5lcnJvcigiR0RCIHJlc3VsdDpcbiVkOiAlcyIsIHN0YXR1cywgb3V0cHV0KQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgd2l0aCBydW5xZW11KCdjb3JlLWltYWdlLW1pbmltYWwnKSBhcyBxZW11OgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3BrZ2RhdGEucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQppbmRleCAwYjRjYWYxLi5hYTA1ZjQwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcGtnZGF0YS5weQpAQCAtMTMsNiArMTMsNyBAQAogICAgICAgICBzdXBlcihPZVBrZ2RhdGFVdGlsVGVzdHMsIGNscykuc2V0VXBDbGFzcygpCiAgICAgICAgICMgRW5zdXJlIHdlIGhhdmUgdGhlIHJpZ2h0IGRhdGEgaW4gcGtnZGF0YQogICAgICAgICBjbHMubG9nZ2VyLmluZm8oJ1J1bm5pbmcgYml0YmFrZSB0byBnZW5lcmF0ZSBwa2dkYXRhJykKKyAgICAgICAgYml0YmFrZSgndGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teSAtYyBjbGVhbicpCiAgICAgICAgIGJpdGJha2UoJ2J1c3lib3ggemxpYiBtNCcpCiAKICAgICBAT0VUZXN0SUQoMTIwMykKQEAgLTgyLDcgKzgzLDcgQEAKICAgICAgICAgICAgIHBrZ2xpc3QucmVtb3ZlKCd6bGliLXB0ZXN0JykgIyBpbiBjYXNlIHB0ZXN0IGlzIGRpc2FibGVkCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgcGFzcwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBrZ2xpc3QsIFsnemxpYicsICd6bGliLWRiZycsICd6bGliLWRldicsICd6bGliLWRvYycsICd6bGliLXN0YXRpY2RldiddLCAiUGFja2FnZXMgbGlzdGVkIGFmdGVyIHJlbW92ZTogJXMiICUgcmVzdWx0Lm91dHB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ3psaWInLCAnemxpYi1kYmcnLCAnemxpYi1kZXYnLCAnemxpYi1kb2MnLCAnemxpYi1zcmMnLCAnemxpYi1zdGF0aWNkZXYnXSwgIlBhY2thZ2VzIGxpc3RlZCBhZnRlciByZW1vdmU6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgICMgV2l0aCByZWNpcGUgc3BlY2lmaWVkLCBydW50aW1lCiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnb2UtcGtnZGF0YS11dGlsIGxpc3QtcGtncyAtcCB6bGliIC1yJykKICAgICAgICAgcGtnbGlzdCA9IHNvcnRlZChyZXN1bHQub3V0cHV0LnNwbGl0KCkpCkBAIC05MCw3ICs5MSw3IEBACiAgICAgICAgICAgICBwa2dsaXN0LnJlbW92ZSgnbGliei1wdGVzdCcpICMgaW4gY2FzZSBwdGVzdCBpcyBkaXNhYmxlZAogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwa2dsaXN0LCBbJ2xpYnotZGJnJywgJ2xpYnotZGV2JywgJ2xpYnotZG9jJywgJ2xpYnotc3RhdGljZGV2JywgJ2xpYnoxJ10sICJQYWNrYWdlcyBsaXN0ZWQgYWZ0ZXIgcmVtb3ZlOiAlcyIgJSByZXN1bHQub3V0cHV0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBrZ2xpc3QsIFsnbGliei1kYmcnLCAnbGliei1kZXYnLCAnbGliei1kb2MnLCAnbGliei1zcmMnLCAnbGliei1zdGF0aWNkZXYnLCAnbGliejEnXSwgIlBhY2thZ2VzIGxpc3RlZCBhZnRlciByZW1vdmU6ICVzIiAlIHJlc3VsdC5vdXRwdXQpCiAgICAgICAgICMgV2l0aCByZWNpcGUgc3BlY2lmaWVkIGFuZCB1bnBhY2thZ2VkCiAgICAgICAgIHJlc3VsdCA9IHJ1bkNtZCgnb2UtcGtnZGF0YS11dGlsIGxpc3QtcGtncyAtcCB6bGliIC11JykKICAgICAgICAgcGtnbGlzdCA9IHNvcnRlZChyZXN1bHQub3V0cHV0LnNwbGl0KCkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcHJzZXJ2aWNlLnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3Byc2VydmljZS5weQppbmRleCA0NzllNTIwLi43OTZhZDRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcHJzZXJ2aWNlLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9wcnNlcnZpY2UucHkKQEAgLTE5LDcgKzE5LDcgQEAKICAgICBkZWYgZ2V0X3ByX3ZlcnNpb24oc2VsZiwgcGFja2FnZV9uYW1lKToKICAgICAgICAgcGFja2FnZV9kYXRhX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5wa2dkYXRhX2RpciwgJ3J1bnRpbWUnLCBwYWNrYWdlX25hbWUpCiAgICAgICAgIHBhY2thZ2VfZGF0YSA9IGZ0b29scy5yZWFkX2ZpbGUocGFja2FnZV9kYXRhX2ZpbGUpCi0gICAgICAgIGZpbmRfcHIgPSByZS5zZWFyY2goIlBLR1I6IHJbMC05XStcLihbMC05XSspIiwgcGFja2FnZV9kYXRhKQorICAgICAgICBmaW5kX3ByID0gcmUuc2VhcmNoKHIiUEtHUjogclswLTldK1wuKFswLTldKykiLCBwYWNrYWdlX2RhdGEpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaW5kX3ByLCAiTm8gUEtHIHJldmlzaW9uIGZvdW5kIGluICVzIiAlIHBhY2thZ2VfZGF0YV9maWxlKQogICAgICAgICByZXR1cm4gaW50KGZpbmRfcHIuZ3JvdXAoMSkpCiAKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgcGFja2FnZV9zdGFtcHNfcGF0aCA9ICIvIi5qb2luKHN0YW1wZGF0YVs6LTFdKQogICAgICAgICBzdGFtcHMgPSBbXQogICAgICAgICBmb3Igc3RhbXAgaW4gb3MubGlzdGRpcihwYWNrYWdlX3N0YW1wc19wYXRoKToKLSAgICAgICAgICAgIGZpbmRfc3RhbXAgPSByZS5tYXRjaCgiJXNcLiVzXC4oW2EtejAtOV17MzJ9KSIgJSAocmUuZXNjYXBlKHByZWZpeCksIHJlY2lwZV90YXNrKSwgc3RhbXApCisgICAgICAgICAgICBmaW5kX3N0YW1wID0gcmUubWF0Y2gociIlc1wuJXNcLihbYS16MC05XXszMn0pIiAlIChyZS5lc2NhcGUocHJlZml4KSwgcmVjaXBlX3Rhc2spLCBzdGFtcCkKICAgICAgICAgICAgIGlmIGZpbmRfc3RhbXA6CiAgICAgICAgICAgICAgICAgc3RhbXBzLmFwcGVuZChmaW5kX3N0YW1wLmdyb3VwKDEpKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxlbihzdGFtcHMpID09IDAsIG1zZz0iQ291bmQgbm90IGZpbmQgc3RhbXAgZm9yIHRhc2sgJXMgZm9yIHJlY2lwZSAlcyIgJSAocmVjaXBlX3Rhc2ssIHBhY2thZ2VfbmFtZSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcmVjaXBldXRpbHMucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcmVjaXBldXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQyZjU1OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9yZWNpcGV1dGlscy5weQpAQCAtMCwwICsxLDEzNyBAQAoraW1wb3J0IG9zCitpbXBvcnQgcmUKK2ltcG9ydCB0aW1lCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IGJiLnRpbmZvaWwKKworZnJvbSBvZXFhLnNlbGZ0ZXN0LmNhc2UgaW1wb3J0IE9FU2VsZnRlc3RUZXN0Q2FzZQorZnJvbSBvZXFhLnV0aWxzLmNvbW1hbmRzIGltcG9ydCBydW5DbWQsIGdldF90ZXN0X2xheWVyCitmcm9tIG9lcWEuY29yZS5kZWNvcmF0b3Iub2VpZCBpbXBvcnQgT0VUZXN0SUQKKworCitkZWYgc2V0VXBNb2R1bGUoKToKKyAgICBnbG9iYWwgdGluZm9pbAorICAgIGdsb2JhbCBtZXRhc2VsZnRlc3RwYXRoCisgICAgbWV0YXNlbGZ0ZXN0cGF0aCA9IGdldF90ZXN0X2xheWVyKCkKKyAgICB0aW5mb2lsID0gYmIudGluZm9pbC5UaW5mb2lsKHRyYWNraW5nPVRydWUpCisgICAgdGluZm9pbC5wcmVwYXJlKGNvbmZpZ19vbmx5PUZhbHNlLCBxdWlldD0yKQorCisKK2RlZiB0ZWFyRG93bk1vZHVsZSgpOgorICAgIHRpbmZvaWwuc2h1dGRvd24oKQorCisKK2NsYXNzIFJlY2lwZVV0aWxzVGVzdHMoT0VTZWxmdGVzdFRlc3RDYXNlKToKKyAgICAiIiIgVGVzdHMgZm9yIHRoZSByZWNpcGV1dGlscyBtb2R1bGUgZnVuY3Rpb25zICIiIgorCisgICAgZGVmIHRlc3RfcGF0Y2hfcmVjaXBlX3ZhcmZsYWcoc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICByZCA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKCdweXRob24zLWFzeW5jLXRlc3QnKQorICAgICAgICB2YWxzID0geydTUkNfVVJJW21kNXN1bV0nOiAnYWFhYWFhJywgJ0xJQ0VOU0UnOiAnc29tZXRoaW5nJ30KKyAgICAgICAgcGF0Y2hlcyA9IG9lLnJlY2lwZXV0aWxzLnBhdGNoX3JlY2lwZShyZCwgcmQuZ2V0VmFyKCdGSUxFJyksIHZhbHMsIHBhdGNoPVRydWUsIHJlbHBhdGg9bWV0YXNlbGZ0ZXN0cGF0aCkKKworICAgICAgICBleHBlY3RlZF9wYXRjaCA9ICIiIgorLS0tIGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLXRlc3QuaW5jCisrKysgYi9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tYXN5bmMtdGVzdC5pbmMKK0BAIC0xLDE0ICsxLDE0IEBACisgU1VNTUFSWSA9ICJQeXRob24gZnJhbWV3b3JrIHRvIHByb2Nlc3MgaW50ZXJkZXBlbmRlbnQgdGFza3MgaW4gYSBwb29sIG9mIHdvcmtlcnMiCisgSE9NRVBBR0UgPSAiaHR0cDovL2dpdGh1Yi5jb20vZ2l0cHl0aG9uLWRldmVsb3BlcnMvYXN5bmMiCisgU0VDVElPTiA9ICJkZXZlbC9weXRob24iCistTElDRU5TRSA9ICJCU0QiCisrTElDRU5TRSA9ICJzb21ldGhpbmciCisgTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUEtHLUlORk87YmVnaW5saW5lPTg7ZW5kbGluZT04O21kNT04OGRmOGU3OGI5ZWRmZDc0NDk1Mzg2MjE3OWYyZDE0ZSIKKyAKKyBpbmhlcml0IHB5cGkKKyAKKyBQWVBJX1BBQ0tBR0UgPSAiYXN5bmMiCisgCistU1JDX1VSSVttZDVzdW1dID0gIjliMDZiNTk5N2RlMjE1NGYzYmMwMjczZjgwYmNlZjZiIgorK1NSQ19VUklbbWQ1c3VtXSA9ICJhYWFhYWEiCisgU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjNjg5NGQ4NzZlNDU4NzhmYWFlNDkzYjBjZjYxZDBlMjhlYzQxNzMzNDQ0OGFjMGE2ZWEyMjI5ZDgzNDMwNTEiCisgCisgUkRFUEVORFNfJHtQTn0gKz0gIiR7UFlUSE9OX1BOfS10aHJlYWRpbmciCisiIiIKKyAgICAgICAgcGF0Y2hsaW5lcyA9IFtdCisgICAgICAgIGZvciBmIGluIHBhdGNoZXM6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAgICAgICAgIHBhdGNobGluZXMuYXBwZW5kKGxpbmUpCisgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKHBhdGNobGluZXMpLnN0cmlwKCksIGV4cGVjdGVkX3BhdGNoLnN0cmlwKCkpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3JlY2lwZV9zaW5nbGVhcHBlbmQoc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICByZCA9IHRpbmZvaWwucGFyc2VfcmVjaXBlKCdyZWNpcGV1dGlscy10ZXN0JykKKyAgICAgICAgdmFsID0gcmQuZ2V0VmFyKCdTUkNfVVJJJywgRmFsc2UpLnNwbGl0KCkKKyAgICAgICAgZGVsIHZhbFsxXQorICAgICAgICB2YWwgPSAnICcuam9pbih2YWwpCisgICAgICAgIHZhbHMgPSB7J1NSQ19VUkknOiB2YWx9CisgICAgICAgIHBhdGNoZXMgPSBvZS5yZWNpcGV1dGlscy5wYXRjaF9yZWNpcGUocmQsIHJkLmdldFZhcignRklMRScpLCB2YWxzLCBwYXRjaD1UcnVlLCByZWxwYXRoPW1ldGFzZWxmdGVzdHBhdGgpCisKKyAgICAgICAgZXhwZWN0ZWRfcGF0Y2ggPSAiIiIKKy0tLSBhL3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYgorKysrIGIvcmVjaXBlcy10ZXN0L3JlY2lwZXV0aWxzL3JlY2lwZXV0aWxzLXRlc3RfMS4yLmJiCitAQCAtOCw2ICs4LDQgQEAKKyAKKyBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisgCistU1JDX1VSSSArPSAiZmlsZTovL3NvbWVmaWxlIgorLQorIFNSQ19VUklfYXBwZW5kID0gIiBmaWxlOi8vYW5vdGhlcmZpbGUiCisiIiIKKyAgICAgICAgcGF0Y2hsaW5lcyA9IFtdCisgICAgICAgIGZvciBmIGluIHBhdGNoZXM6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAgICAgICAgIHBhdGNobGluZXMuYXBwZW5kKGxpbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycuam9pbihwYXRjaGxpbmVzKS5zdHJpcCgpLCBleHBlY3RlZF9wYXRjaC5zdHJpcCgpKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9yZWNpcGVfYXBwZW5kcyhzZWxmKToKKyAgICAgICAgaW1wb3J0IG9lLnJlY2lwZXV0aWxzCisgICAgICAgIHJkID0gdGluZm9pbC5wYXJzZV9yZWNpcGUoJ3JlY2lwZXV0aWxzLXRlc3QnKQorICAgICAgICB2YWwgPSByZC5nZXRWYXIoJ1NSQ19VUkknLCBGYWxzZSkuc3BsaXQoKQorICAgICAgICB2YWxzID0geydTUkNfVVJJJzogdmFsWzBdfQorICAgICAgICBwYXRjaGVzID0gb2UucmVjaXBldXRpbHMucGF0Y2hfcmVjaXBlKHJkLCByZC5nZXRWYXIoJ0ZJTEUnKSwgdmFscywgcGF0Y2g9VHJ1ZSwgcmVscGF0aD1tZXRhc2VsZnRlc3RwYXRoKQorCisgICAgICAgIGV4cGVjdGVkX3BhdGNoID0gIiIiCistLS0gYS9yZWNpcGVzLXRlc3QvcmVjaXBldXRpbHMvcmVjaXBldXRpbHMtdGVzdF8xLjIuYmIKKysrKyBiL3JlY2lwZXMtdGVzdC9yZWNpcGV1dGlscy9yZWNpcGV1dGlscy10ZXN0XzEuMi5iYgorQEAgLTgsNiArOCwzIEBACisgCisgQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorIAorLVNSQ19VUkkgKz0gImZpbGU6Ly9zb21lZmlsZSIKKy0KKy1TUkNfVVJJX2FwcGVuZCA9ICIgZmlsZTovL2Fub3RoZXJmaWxlIgorIiIiCisgICAgICAgIHBhdGNobGluZXMgPSBbXQorICAgICAgICBmb3IgZiBpbiBwYXRjaGVzOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gZjoKKyAgICAgICAgICAgICAgICBwYXRjaGxpbmVzLmFwcGVuZChsaW5lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLmpvaW4ocGF0Y2hsaW5lcykuc3RyaXAoKSwgZXhwZWN0ZWRfcGF0Y2guc3RyaXAoKSkKKworCisgICAgZGVmIHRlc3RfdmFsaWRhdGVfcG4oc2VsZik6CisgICAgICAgIGltcG9ydCBvZS5yZWNpcGV1dGlscworICAgICAgICBleHBlY3RlZF9yZXN1bHRzID0geworICAgICAgICAgICAgJ3Rlc3QnOiAnJywKKyAgICAgICAgICAgICdnbGliLTIuMCc6ICcnLAorICAgICAgICAgICAgJ2d0aysnOiAnJywKKyAgICAgICAgICAgICdmb3JjZXZhcmlhYmxlJzogJ3Jlc2VydmVkJywKKyAgICAgICAgICAgICdwbi1zb21ldGhpbmcnOiAncmVzZXJ2ZWQnLAorICAgICAgICAgICAgJ3Rlc3QuYmInOiAnZmlsZScsCisgICAgICAgICAgICAndGVzdF9vbmUnOiAnY2hhcmFjdGVyJywKKyAgICAgICAgICAgICd0ZXN0ISc6ICdjaGFyYWN0ZXInLAorICAgICAgICB9CisKKyAgICAgICAgZm9yIHBuLCBleHBlY3RlZCBpbiBleHBlY3RlZF9yZXN1bHRzLml0ZW1zKCk6CisgICAgICAgICAgICByZXN1bHQgPSBvZS5yZWNpcGV1dGlscy52YWxpZGF0ZV9wbihwbikKKyAgICAgICAgICAgIGlmIGV4cGVjdGVkOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZXhwZWN0ZWQsIHJlc3VsdCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsICcnKQorCisgICAgZGVmIHRlc3Rfc3BsaXRfdmFyX3ZhbHVlKHNlbGYpOgorICAgICAgICBpbXBvcnQgb2UucmVjaXBldXRpbHMKKyAgICAgICAgcmVzID0gb2UucmVjaXBldXRpbHMuc3BsaXRfdmFyX3ZhbHVlKCd0ZXN0LjEgdGVzdC4yICR7QGNhbGxfZnVuY3Rpb24oImhpIHRoZXJlIHdvcmxkIiwgZmFsc2UpfSB0ZXN0LjQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgWyd0ZXN0LjEnLCAndGVzdC4yJywgJyR7QGNhbGxfZnVuY3Rpb24oImhpIHRoZXJlIHdvcmxkIiwgZmFsc2UpfScsICd0ZXN0LjQnXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW5jbWQucHkgYi9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVuY21kLnB5CmluZGV4IGQ3NmQ3MDYuLmExNjE1Y2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW5jbWQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bmNtZC5weQpAQCAtMjQsOCArMjQsOCBAQAogCiAgICAgIyBUaGUgZGVsdGEgaXMgaW50ZW50aW9uYWxseSBzbWFsbGVyIHRoYW4gdGhlIHRpbWVvdXQsIHRvIGRldGVjdCBjYXNlcyB3aGVyZQogICAgICMgd2UgaW5jb3JyZWN0bHkgYXBwbHkgdGhlIHRpbWVvdXQgbW9yZSB0aGFuIG9uY2UuCi0gICAgVElNRU9VVCA9IDIKLSAgICBERUxUQSA9IDEKKyAgICBUSU1FT1VUID0gNQorICAgIERFTFRBID0gMwogCiAgICAgQE9FVGVzdElEKDE5MTYpCiAgICAgZGVmIHRlc3RfcmVzdWx0X29rYXkoc2VsZik6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVudGltZV90ZXN0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3J1bnRpbWVfdGVzdC5weQppbmRleCA5MDZlNDYwLi42YzI1YmI5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvcnVudGltZV90ZXN0LnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9ydW50aW1lX3Rlc3QucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgcmUKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHNodXRpbAoraW1wb3J0IG9lLmxzYgogCiBjbGFzcyBUZXN0RXhwb3J0KE9FU2VsZnRlc3RUZXN0Q2FzZSk6CiAKQEAgLTE2OCw2ICsxNjksNzEgQEAKICAgICAgICAgIyByZW1vdmUgdGhlIG9lcWEtZmVlZC1zaWduIHRlbXBvcmFsIGRpcmVjdG9yeQogICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuZ3BnX2hvbWUsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKIAorICAgIEBPRVRlc3RJRCgxODgzKQorICAgIGRlZiB0ZXN0X3Rlc3RpbWFnZV92aXJnbF9ndGsoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBTdW1tYXJ5OiBDaGVjayBob3N0LWFzc2lzdGVkIGFjY2VsZXJhdGUgT3BlbkdMIGZ1bmN0aW9uYWxpdHkgaW4gcWVtdSB3aXRoIGd0ayBmcm9udGVuZAorICAgICAgICBFeHBlY3RlZDogMS4gQ2hlY2sgdGhhdCB2aXJnbCBrZXJuZWwgZHJpdmVyIGlzIGxvYWRlZCBhbmQgM2QgYWNjZWxlcmF0aW9uIGlzIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgIDIuIENoZWNrIHRoYXQga21zY3ViZSBkZW1vIHJ1bnMgd2l0aG91dCBjcmFzaGluZy4KKyAgICAgICAgUHJvZHVjdDogb2UtY29yZQorICAgICAgICBBdXRob3I6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorICAgICAgICAiIiIKKyAgICAgICAgaWYgIkRJU1BMQVkiIG5vdCBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgidmlyZ2wgZ3RrIHRlc3QgbXVzdCBiZSBydW4gaW5zaWRlIGEgWCBzZXNzaW9uIikKKyAgICAgICAgZGlzdHJvID0gb2UubHNiLmRpc3Ryb19pZGVudGlmaWVyKCkKKyAgICAgICAgaWYgZGlzdHJvIGFuZCBkaXN0cm8gPT0gJ2RlYmlhbi04JzoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ3ZpcmdsIGlzblwndCB3b3JraW5nIHdpdGggRGViaWFuIDgnKQorCisgICAgICAgIHFlbXVfcGFja2FnZWNvbmZpZyA9IGdldF9iYl92YXIoJ1BBQ0tBR0VDT05GSUcnLCAncWVtdS1zeXN0ZW0tbmF0aXZlJykKKyAgICAgICAgZmVhdHVyZXMgPSAnSU5IRVJJVCArPSAidGVzdGltYWdlIlxuJworICAgICAgICBpZiAnZ3RrKycgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIGd0aysiXG4nCisgICAgICAgIGlmICd2aXJnbHJlbmRlcmVyJyBub3QgaW4gcWVtdV9wYWNrYWdlY29uZmlnOgorICAgICAgICAgICAgZmVhdHVyZXMgKz0gJ1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgdmlyZ2xyZW5kZXJlciJcbicKKyAgICAgICAgaWYgJ2dseCcgbm90IGluIHFlbXVfcGFja2FnZWNvbmZpZzoKKyAgICAgICAgICAgIGZlYXR1cmVzICs9ICdQQUNLQUdFQ09ORklHX2FwcGVuZF9wbi1xZW11LXN5c3RlbS1uYXRpdmUgPSAiIGdseCJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ1RFU1RfU1VJVEVTID0gInBpbmcgc3NoIHZpcmdsIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfRkVBVFVSRVNfYXBwZW5kID0gIiBzc2gtc2VydmVyLWRyb3BiZWFyIlxuJworICAgICAgICBmZWF0dXJlcyArPSAnSU1BR0VfSU5TVEFMTF9hcHBlbmQgPSAiIGttc2N1YmUiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdURVNUX1JVTlFFTVVQQVJBTVMgPSAiZ3RrLWdsIlxuJworICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhmZWF0dXJlcykKKyAgICAgICAgYml0YmFrZSgnY29yZS1pbWFnZS1taW5pbWFsJykKKyAgICAgICAgYml0YmFrZSgnLWMgdGVzdGltYWdlIGNvcmUtaW1hZ2UtbWluaW1hbCcpCisKKyAgICBAT0VUZXN0SUQoMTg4MykKKyAgICBkZWYgdGVzdF90ZXN0aW1hZ2VfdmlyZ2xfaGVhZGxlc3Moc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBTdW1tYXJ5OiBDaGVjayBob3N0LWFzc2lzdGVkIGFjY2VsZXJhdGUgT3BlbkdMIGZ1bmN0aW9uYWxpdHkgaW4gcWVtdSB3aXRoIGVnbC1oZWFkbGVzcyBmcm9udGVuZAorICAgICAgICBFeHBlY3RlZDogMS4gQ2hlY2sgdGhhdCB2aXJnbCBrZXJuZWwgZHJpdmVyIGlzIGxvYWRlZCBhbmQgM2QgYWNjZWxlcmF0aW9uIGlzIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgIDIuIENoZWNrIHRoYXQga21zY3ViZSBkZW1vIHJ1bnMgd2l0aG91dCBjcmFzaGluZy4KKyAgICAgICAgUHJvZHVjdDogb2UtY29yZQorICAgICAgICBBdXRob3I6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorICAgICAgICAiIiIKKyAgICAgICAgaW1wb3J0IHN1YnByb2Nlc3MsIG9zCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNvbnRlbnQgPSBvcy5saXN0ZGlyKCIvZGV2L2RyaSIpCisgICAgICAgICAgICBpZiBsZW4oW2kgZm9yIGkgaW4gY29udGVudCBpZiBpLnN0YXJ0c3dpdGgoJ3JlbmRlcicpXSkgPT0gMDoKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJObyByZW5kZXIgbm9kZXMgZm91bmQgaW4gL2Rldi9kcmk6ICVzIiAlKGNvbnRlbnQpKQorICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCIvZGV2L2RyaSBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3Q7IG5vIHJlbmRlciBub2RlcyBhdmFpbGFibGUgb24gdGhpcyBtYWNoaW5lLiIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRyaXBhdGggPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgicGtnLWNvbmZpZyAtLXZhcmlhYmxlPWRyaWRyaXZlcmRpciBkcmkiLCBzaGVsbD1UcnVlKQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIHBhdGggdG8gZHJpIGRyaXZlcnMgb24gdGhlIGhvc3QgdmlhIHBrZy1jb25maWcuXG5QbGVhc2UgaW5zdGFsbCBNZXNhIGRldmVsb3BtZW50IGZpbGVzIChwYXJ0aWN1bGFybHksIGRyaS5wYykgb24gdGhlIGhvc3QgbWFjaGluZS4iKQorICAgICAgICBxZW11X3BhY2thZ2Vjb25maWcgPSBnZXRfYmJfdmFyKCdQQUNLQUdFQ09ORklHJywgJ3FlbXUtc3lzdGVtLW5hdGl2ZScpCisgICAgICAgIGZlYXR1cmVzID0gJ0lOSEVSSVQgKz0gInRlc3RpbWFnZSJcbicKKyAgICAgICAgaWYgJ3ZpcmdscmVuZGVyZXInIG5vdCBpbiBxZW11X3BhY2thZ2Vjb25maWc6CisgICAgICAgICAgICBmZWF0dXJlcyArPSAnUEFDS0FHRUNPTkZJR19hcHBlbmRfcG4tcWVtdS1zeXN0ZW0tbmF0aXZlID0gIiB2aXJnbHJlbmRlcmVyIlxuJworICAgICAgICBpZiAnZ2x4JyBub3QgaW4gcWVtdV9wYWNrYWdlY29uZmlnOgorICAgICAgICAgICAgZmVhdHVyZXMgKz0gJ1BBQ0tBR0VDT05GSUdfYXBwZW5kX3BuLXFlbXUtc3lzdGVtLW5hdGl2ZSA9ICIgZ2x4IlxuJworICAgICAgICBmZWF0dXJlcyArPSAnVEVTVF9TVUlURVMgPSAicGluZyBzc2ggdmlyZ2wiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdJTUFHRV9GRUFUVVJFU19hcHBlbmQgPSAiIHNzaC1zZXJ2ZXItZHJvcGJlYXIiXG4nCisgICAgICAgIGZlYXR1cmVzICs9ICdJTUFHRV9JTlNUQUxMX2FwcGVuZCA9ICIga21zY3ViZSJcbicKKyAgICAgICAgZmVhdHVyZXMgKz0gJ1RFU1RfUlVOUUVNVVBBUkFNUyA9ICJlZ2wtaGVhZGxlc3MiXG4nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKGZlYXR1cmVzKQorICAgICAgICBiaXRiYWtlKCdjb3JlLWltYWdlLW1pbmltYWwnKQorICAgICAgICBiaXRiYWtlKCctYyB0ZXN0aW1hZ2UgY29yZS1pbWFnZS1taW5pbWFsJykKKwogY2xhc3MgUG9zdGluc3QoT0VTZWxmdGVzdFRlc3RDYXNlKToKICAgICBAT0VUZXN0SUQoMTU0MCkKICAgICBAT0VUZXN0SUQoMTU0NSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9zc3RhdGV0ZXN0cy5weSBiL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jYXNlcy9zc3RhdGV0ZXN0cy5weQppbmRleCAwNzdkNmU1Li45MzhlNjU0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvc3N0YXRldGVzdHMucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2Nhc2VzL3NzdGF0ZXRlc3RzLnB5CkBAIC05NiwxNCArOTYsMTQgQEAKICAgICAgICAgYml0YmFrZShbJy1jY2xlYW5zc3RhdGUnXSArIHRhcmdldHMpCiAKICAgICAgICAgYml0YmFrZSh0YXJnZXRzKQotICAgICAgICB0Z3pfY3JlYXRlZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQorICAgICAgICB0Z3pfY3JlYXRlZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArIHInLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRnel9jcmVhdGVkLCBtc2c9IkNvdWxkIG5vdCBmaW5kIHNzdGF0ZSAudGd6IGZpbGVzIGZvcjogJXMgKCVzKSIgJSAoJywgJy5qb2luKG1hcChzdHIsIHRhcmdldHMpKSwgc3RyKHRnel9jcmVhdGVkKSkpCiAKLSAgICAgICAgc2lnaW5mb19jcmVhdGVkID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgJy4qP1wuc2lnaW5mbyQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQorICAgICAgICBzaWdpbmZvX2NyZWF0ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wuc2lnaW5mbyQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYywgZGlzdHJvX25vbnNwZWNpZmljKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2lnaW5mb19jcmVhdGVkLCBtc2c9IkNvdWxkIG5vdCBmaW5kIHNzdGF0ZSAuc2lnaW5mbyBmaWxlcyBmb3I6ICVzICglcykiICUgKCcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSksIHN0cihzaWdpbmZvX2NyZWF0ZWQpKSkKIAogICAgICAgICBiaXRiYWtlKFsnLWNjbGVhbnNzdGF0ZSddICsgdGFyZ2V0cykKLSAgICAgICAgdGd6X3JlbW92ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyAnLio/XC50Z3okJyBmb3IgcyBpbiB0YXJnZXRzXSkpLCBkaXN0cm9fc3BlY2lmaWMsIGRpc3Ryb19ub25zcGVjaWZpYykKKyAgICAgICAgdGd6X3JlbW92ZWQgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljLCBkaXN0cm9fbm9uc3BlY2lmaWMpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgdGd6X3JlbW92ZWQsIG1zZz0iZG9fY2xlYW5zc3RhdGUgZGlkbid0IHJlbW92ZSAudGd6IHNzdGF0ZSBmaWxlcyBmb3I6ICVzICglcykiICUgKCcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSksIHN0cih0Z3pfcmVtb3ZlZCkpKQogCiAgICAgQE9FVGVzdElEKDk3NykKQEAgLTEzMCwxNCArMTMwLDE0IEBACiAgICAgICAgIGJpdGJha2UoWyctY2NsZWFuc3N0YXRlJ10gKyB0YXJnZXRzKQogCiAgICAgICAgIGJpdGJha2UodGFyZ2V0cykKLSAgICAgICAgcmVzdWx0cyA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1GYWxzZSwgZGlzdHJvX25vbnNwZWNpZmljPVRydWUpCisgICAgICAgIHJlc3VsdHMgPSBzZWxmLnNlYXJjaF9zc3RhdGUoJ3wnLmpvaW4obWFwKHN0ciwgW3MgKyByJy4qP1wudGd6JCcgZm9yIHMgaW4gdGFyZ2V0c10pKSwgZGlzdHJvX3NwZWNpZmljPUZhbHNlLCBkaXN0cm9fbm9uc3BlY2lmaWM9VHJ1ZSkKICAgICAgICAgZmlsdGVyZWRfcmVzdWx0cyA9IFtdCiAgICAgICAgIGZvciByIGluIHJlc3VsdHM6CiAgICAgICAgICAgICBpZiByLmVuZHN3aXRoKCgiX3BvcHVsYXRlX2xpYy50Z3oiLCAiX3BvcHVsYXRlX2xpYy50Z3ouc2lnaW5mbyIpKToKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgZmlsdGVyZWRfcmVzdWx0cy5hcHBlbmQocikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZpbHRlcmVkX3Jlc3VsdHMgPT0gW10sIG1zZz0iRm91bmQgZGlzdHJvIG5vbi1zcGVjaWZpYyBzc3RhdGUgZm9yOiAlcyAoJXMpIiAlICgnLCAnLmpvaW4obWFwKHN0ciwgdGFyZ2V0cykpLCBzdHIoZmlsdGVyZWRfcmVzdWx0cykpKQotICAgICAgICBmaWxlX3RyYWNrZXJfMSA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCisgICAgICAgIGZpbGVfdHJhY2tlcl8xID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oZmlsZV90cmFja2VyXzEpID49IGxlbih0YXJnZXRzKSwgbXNnID0gIk5vdCBhbGwgc3N0YXRlIGZpbGVzIHdhcmUgY3JlYXRlZCBmb3I6ICVzIiAlICcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSkpCiAKICAgICAgICAgc2VsZi50cmFja19mb3JfY2xlYW51cChzZWxmLmRpc3Ryb19zcGVjaWZpY19zc3RhdGUgKyAiX29sZCIpCkBAIC0xNDYsNyArMTQ2LDcgQEAKIAogICAgICAgICBiaXRiYWtlKFsnLWNjbGVhbiddICsgdGFyZ2V0cykKICAgICAgICAgYml0YmFrZSh0YXJnZXRzKQotICAgICAgICBmaWxlX3RyYWNrZXJfMiA9IHNlbGYuc2VhcmNoX3NzdGF0ZSgnfCcuam9pbihtYXAoc3RyLCBbcyArICcuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCisgICAgICAgIGZpbGVfdHJhY2tlcl8yID0gc2VsZi5zZWFyY2hfc3N0YXRlKCd8Jy5qb2luKG1hcChzdHIsIFtzICsgcicuKj9cLnRneiQnIGZvciBzIGluIHRhcmdldHNdKSksIGRpc3Ryb19zcGVjaWZpYz1UcnVlLCBkaXN0cm9fbm9uc3BlY2lmaWM9RmFsc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4oZmlsZV90cmFja2VyXzIpID49IGxlbih0YXJnZXRzKSwgbXNnID0gIk5vdCBhbGwgc3N0YXRlIGZpbGVzIHdhcmUgY3JlYXRlZCBmb3I6ICVzIiAlICcsICcuam9pbihtYXAoc3RyLCB0YXJnZXRzKSkpCiAKICAgICAgICAgbm90X3JlY3JlYXRlZCA9IFt4IGZvciB4IGluIGZpbGVfdHJhY2tlcl8xIGlmIHggbm90IGluIGZpbGVfdHJhY2tlcl8yXQpAQCAtMTkyLDE4ICsxOTIsMTggQEAKICAgICAgICAgICAgIGlmIG5vdCBzc3RhdGVfYXJjaCBpbiBzc3RhdGVfYXJjaHNfbGlzdDoKICAgICAgICAgICAgICAgICBzc3RhdGVfYXJjaHNfbGlzdC5hcHBlbmQoc3N0YXRlX2FyY2gpCiAgICAgICAgICAgICBpZiB0YXJnZXRfY29uZmlnW2lkeF0gPT0gdGFyZ2V0X2NvbmZpZ1stMV06Ci0gICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9iZWZvcmVfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgJy4qP1wudGd6JCcpCisgICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9iZWZvcmVfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgcicuKj9cLnRneiQnKQogICAgICAgICAgICAgYml0YmFrZSgiLWNjbGVhbiAlcyIgJSB0YXJnZXQpCiAgICAgICAgICAgICByZXN1bHQgPSBiaXRiYWtlKHRhcmdldCwgaWdub3JlX3N0YXR1cz1UcnVlKQogICAgICAgICAgICAgaWYgdGFyZ2V0X2NvbmZpZ1tpZHhdID09IHRhcmdldF9jb25maWdbLTFdOgotICAgICAgICAgICAgICAgIHRhcmdldF9zc3RhdGVfYWZ0ZXJfYnVpbGQgPSBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgJy4qP1wudGd6JCcpCisgICAgICAgICAgICAgICAgdGFyZ2V0X3NzdGF0ZV9hZnRlcl9idWlsZCA9IHNlbGYuc2VhcmNoX3NzdGF0ZSh0YXJnZXQgKyByJy4qP1wudGd6JCcpCiAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVtYWluaW5nX3NzdGF0ZSArPSBbeCBmb3IgeCBpbiB0YXJnZXRfc3N0YXRlX2FmdGVyX2J1aWxkIGlmIHggbm90IGluIHRhcmdldF9zc3RhdGVfYmVmb3JlX2J1aWxkIGlmIG5vdCBhbnkocGF0dGVybiBpbiB4IGZvciBwYXR0ZXJuIGluIGlnbm9yZV9wYXR0ZXJucyldCiAgICAgICAgICAgICBzZWxmLnJlbW92ZV9jb25maWcoZ2xvYmFsX2NvbmZpZ1tpZHhdKQogICAgICAgICAgICAgc2VsZi5yZW1vdmVfcmVjaXBlaW5jKHRhcmdldCwgdGFyZ2V0X2NvbmZpZ1tpZHhdKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQuc3RhdHVzLCAwLCBtc2cgPSAiYnVpbGQgb2YgJXMgZmFpbGVkIHdpdGggJXMiICUgKHRhcmdldCwgcmVzdWx0Lm91dHB1dCkpCiAKICAgICAgICAgcnVuQ21kKCJzc3RhdGUtY2FjaGUtbWFuYWdlbWVudC5zaCAteSAtLWNhY2hlLWRpcj0lcyAtLXJlbW92ZS1kdXBsaWNhdGVkIC0tZXh0cmEtYXJjaHM9JXMiICUgKHNlbGYuc3N0YXRlX3BhdGgsICcsJy5qb2luKG1hcChzdHIsIHNzdGF0ZV9hcmNoc19saXN0KSkpKQotICAgICAgICBhY3R1YWxfcmVtYWluaW5nX3NzdGF0ZSA9IFt4IGZvciB4IGluIHNlbGYuc2VhcmNoX3NzdGF0ZSh0YXJnZXQgKyAnLio/XC50Z3okJykgaWYgbm90IGFueShwYXR0ZXJuIGluIHggZm9yIHBhdHRlcm4gaW4gaWdub3JlX3BhdHRlcm5zKV0KKyAgICAgICAgYWN0dWFsX3JlbWFpbmluZ19zc3RhdGUgPSBbeCBmb3IgeCBpbiBzZWxmLnNlYXJjaF9zc3RhdGUodGFyZ2V0ICsgcicuKj9cLnRneiQnKSBpZiBub3QgYW55KHBhdHRlcm4gaW4geCBmb3IgcGF0dGVybiBpbiBpZ25vcmVfcGF0dGVybnMpXQogCiAgICAgICAgIGFjdHVhbF9ub3RfZXhwZWN0ZWQgPSBbeCBmb3IgeCBpbiBhY3R1YWxfcmVtYWluaW5nX3NzdGF0ZSBpZiB4IG5vdCBpbiBleHBlY3RlZF9yZW1haW5pbmdfc3N0YXRlXQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFjdHVhbF9ub3RfZXhwZWN0ZWQsIG1zZz0iRmlsZXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGJ1dCB3YXJlIG5vdDogJXMiICUgJywgJy5qb2luKG1hcChzdHIsIGFjdHVhbF9ub3RfZXhwZWN0ZWQpKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9saWIvb2VxYS9zZWxmdGVzdC9jb250ZXh0LnB5IGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKaW5kZXggYzUyMTI5MC4uYzU2ZTUzZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKKysrIGIvcG9reS9tZXRhL2xpYi9vZXFhL3NlbGZ0ZXN0L2NvbnRleHQucHkKQEAgLTEwOCw2ICsxMDgsNyBAQAogICAgICAgICBsb2dkaXIgPSBvcy5lbnZpcm9uLmdldCgiQlVJTERESVIiKQogICAgICAgICBpZiAnTE9HX0RJUicgaW4gYmJ2YXJzOgogICAgICAgICAgICAgbG9nZGlyID0gYmJ2YXJzWydMT0dfRElSJ10KKyAgICAgICAgYmIudXRpbHMubWtkaXJoaWVyKGxvZ2RpcikKICAgICAgICAgYXJncy5vdXRwdXRfbG9nID0gbG9nZGlyICsgJy8lcy1yZXN1bHRzLSVzLmxvZycgJSAoc2VsZi5uYW1lLCBhcmdzLnRlc3Rfc3RhcnRfdGltZSkKIAogICAgICAgICBzdXBlcihPRVNlbGZ0ZXN0VGVzdENvbnRleHRFeGVjdXRvciwgc2VsZikuX3Byb2Nlc3NfYXJncyhsb2dnZXIsIGFyZ3MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvbWV0YWRhdGEucHkgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvbWV0YWRhdGEucHkKaW5kZXggYjdkZWY3Ny4uZTA4MDhhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL21ldGFkYXRhLnB5CisrKyBiL3Bva3kvbWV0YS9saWIvb2VxYS91dGlscy9tZXRhZGF0YS5weQpAQCAtNzIsOCArNzIsMTEgQEAKICAgICAgICAgICAgIGluZm9bJ2NvbW1pdCddID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAicmV2LXBhcnNlIiwgIkhFQUQiXSwgY3dkPXBhdGgpLmRlY29kZSgndXRmLTgnKS5zdHJpcCgpCiAgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW5mb1snY29tbWl0X2NvdW50J10gPSBpbnQoc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJnaXQiLCAicmV2LWxpc3QiLCAiLS1jb3VudCIsICJIRUFEIl0sIGN3ZD1wYXRoKS5kZWNvZGUoJ3V0Zi04Jykuc3RyaXAoKSkKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgorICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4gaW5mbwotCiAgICAgdHJ5OgogICAgICAgICByZXBvID0gUmVwbyhwYXRoLCBzZWFyY2hfcGFyZW50X2RpcmVjdG9yaWVzPVRydWUpCiAgICAgZXhjZXB0IChJbnZhbGlkR2l0UmVwb3NpdG9yeUVycm9yLCBOb1N1Y2hQYXRoRXJyb3IpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL2xpYi9vZXFhL3V0aWxzL3FlbXVydW5uZXIucHkgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQppbmRleCBjYzk1ZGMyLi40OTAyMGMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQorKysgYi9wb2t5L21ldGEvbGliL29lcWEvdXRpbHMvcWVtdXJ1bm5lci5weQpAQCAtMjgsNyArMjgsOCBAQAogCiBjbGFzcyBRZW11UnVubmVyOgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hY2hpbmUsIHJvb3RmcywgZGlzcGxheSwgdG1wZGlyLCBkZXBsb3lfZGlyX2ltYWdlLCBsb2dmaWxlLCBib290dGltZSwgZHVtcF9kaXIsIGR1bXBfaG9zdF9jbWRzLCB1c2Vfa3ZtLCBsb2dnZXIpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYWNoaW5lLCByb290ZnMsIGRpc3BsYXksIHRtcGRpciwgZGVwbG95X2Rpcl9pbWFnZSwgbG9nZmlsZSwgYm9vdHRpbWUsIGR1bXBfZGlyLCBkdW1wX2hvc3RfY21kcywKKyAgICAgICAgICAgICAgICAgdXNlX2t2bSwgbG9nZ2VyLCB1c2Vfc2xpcnA9RmFsc2UpOgogCiAgICAgICAgICMgUG9wZW4gb2JqZWN0IGZvciBydW5xZW11CiAgICAgICAgIHNlbGYucnVucWVtdSA9IE5vbmUKQEAgLTUxLDYgKzUyLDcgQEAKICAgICAgICAgc2VsZi5sb2dnZWQgPSBGYWxzZQogICAgICAgICBzZWxmLnRocmVhZCA9IE5vbmUKICAgICAgICAgc2VsZi51c2Vfa3ZtID0gdXNlX2t2bQorICAgICAgICBzZWxmLnVzZV9zbGlycCA9IHVzZV9zbGlycAogICAgICAgICBzZWxmLm1zZyA9ICcnCiAKICAgICAgICAgc2VsZi5ydW5xZW11dGltZSA9IDEyMApAQCAtMTI5LDYgKzEzMSw4IEBACiAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ05vdCB1c2luZyBrdm0gZm9yIHJ1bnFlbXUnKQogICAgICAgICAgICAgaWYgbm90IHNlbGYuZGlzcGxheToKICAgICAgICAgICAgICAgICBsYXVuY2hfY21kICs9ICcgbm9ncmFwaGljJworICAgICAgICAgICAgaWYgc2VsZi51c2Vfc2xpcnA6CisgICAgICAgICAgICAgICAgbGF1bmNoX2NtZCArPSAnIHNsaXJwJwogICAgICAgICAgICAgbGF1bmNoX2NtZCArPSAnICVzICVzJyAlIChzZWxmLm1hY2hpbmUsIHNlbGYucm9vdGZzKQogCiAgICAgICAgIHJldHVybiBzZWxmLmxhdW5jaChsYXVuY2hfY21kLCBxZW11cGFyYW1zPXFlbXVwYXJhbXMsIGdldF9pcD1nZXRfaXAsIGV4dHJhX2Jvb3RwYXJhbXM9ZXh0cmFfYm9vdHBhcmFtcywgZW52PWVudikKQEAgLTIzOCw5ICsyNDIsMTQgQEAKICAgICAgICAgICAgICAgICAjIGJlY2F1c2UgaXMgcG9zc2libGUgdG8gaGF2ZSBjb250cm9sIGNoYXJhY3RlcnMKICAgICAgICAgICAgICAgICBjbWRsaW5lID0gcmVfY29udHJvbF9jaGFyLnN1YignICcsIGNtZGxpbmUpCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaXBzID0gcmUuZmluZGFsbChyIigoPzpbMC05XXsxLDN9XC4pezN9WzAtOV17MSwzfSkiLCBjbWRsaW5lLnNwbGl0KCJpcD0iKVsxXSkKLSAgICAgICAgICAgICAgICBzZWxmLmlwID0gaXBzWzBdCi0gICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaXAgPSBpcHNbMV0KKyAgICAgICAgICAgICAgICBpZiBzZWxmLnVzZV9zbGlycDoKKyAgICAgICAgICAgICAgICAgICAgdGNwX3BvcnRzID0gY21kbGluZS5zcGxpdCgiaG9zdGZ3ZD10Y3A6OiIpWzFdCisgICAgICAgICAgICAgICAgICAgIGhvc3RfcG9ydCA9IHRjcF9wb3J0c1s6dGNwX3BvcnRzLmZpbmQoJy0nKV0KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pcCA9ICJsb2NhbGhvc3Q6JXMiICUgaG9zdF9wb3J0CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaXBzID0gcmUuZmluZGFsbChyIigoPzpbMC05XXsxLDN9XC4pezN9WzAtOV17MSwzfSkiLCBjbWRsaW5lLnNwbGl0KCJpcD0iKVsxXSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5pcCA9IGlwc1swXQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlcl9pcCA9IGlwc1sxXQogICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJxZW11IGNtZGxpbmUgdXNlZDpcbnt9Ii5mb3JtYXQoY21kbGluZSkpCiAgICAgICAgICAgICBleGNlcHQgKEluZGV4RXJyb3IsIFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgICAgICMgVHJ5IHRvIGdldCBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZnJvbSBydW5xZW11IG91dHB1dApAQCAtMzIwLDYgKzMyOSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlRhcmdldCBkaWRuJ3QgcmVhY2ggbG9naW4gYmFubmVyIGluICVkIHNlY29uZHMgKCVzKSIgJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLmJvb3R0aW1lLCB0aW1lLnN0cmZ0aW1lKCIlRCAlSDolTTolUyIpKSkKICAgICAgICAgICAgIHRhaWwgPSBsYW1iZGEgbDogIlxuIi5qb2luKGwuc3BsaXRsaW5lcygpWy0yNTpdKQorICAgICAgICAgICAgYm9vdGxvZyA9IGJvb2xvZy5kZWNvZGUoInV0Zi04IikKICAgICAgICAgICAgICMgaW4gY2FzZSBib290bG9nIGlzIGVtcHR5LCB1c2UgdGFpbCBxZW11IGxvZyBzdG9yZSBhdCBzZWxmLm1zZwogICAgICAgICAgICAgbGluZXMgPSB0YWlsKGJvb3Rsb2cgaWYgYm9vdGxvZyBlbHNlIHNlbGYubXNnKQogICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkxhc3QgMjUgbGluZXMgb2YgdGV4dDpcbiVzIiAlIGxpbmVzKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9hY3BpZC9hY3BpZF8yLjAuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMTlkMjguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSBhY3BpZC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYWNwaWQuaDtlbmRsaW5lPTI0O21kNT0zMjRhOWNmMjI1YWU2OWRkYWFkMWJmOWQ5NDIxMTViNSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjE1MjgwNDBiNWQzNGY4YzI0ZWJhYmQ5N2JlZmJmOTEzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4Yjc3YjYyZDNmNjRlYmQxYzJhM2QxNmJjY2M2ZDQzMzNiNGUyNGE4NmFlYWNlYmVjMjU1ZmFkMjIzY2Y0Y2IiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvYWNwaWQvYWNwaWRfMi4wLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDc0OTIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2FjcGlkL2FjcGlkXzIuMC4zMS5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgYWNwaWQuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2FjcGlkLmg7ZW5kbGluZT0yNDttZDU9MzI0YTljZjIyNWFlNjlkZGFhZDFiZjlkOTQyMTE1YjUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1OTlkZDM4NjgxYjU5MTdlZWVhZmI1ODE3Njc5Mzk1MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzlkYzY2OWVkODVkOWExNzM5YWE3NjkxNWUwNjY3YzY2OTdjNTQzMTE2MGY4ZGZiMjUzMDQ2YzZhMDcyY2MzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTQ3MzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dudS1lZmkvZ251LWVmaV8zLjAuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyaWVzIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9nbnUtZWZpLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkdQTHYyKyB8IEJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dudWVmaS9jcnQwLWVmaS1hcm0uUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYWFyY2g2NC5TO2JlZ2lubGluZT00O2VuZGxpbmU9MTY7bWQ1PWU1ODI3NjRhNDc3NmU2MGM5NWJmOWFiNjE3MzQzZDM2IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbGludGYuaDtiZWdpbmxpbmU9MTM7ZW5kbGluZT0yMDttZDU9MjAyNzY2Yjc5ZDcwOGVmZjNjYzcwZmNlMTVmYjgwYzcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jL2VmaXNoZWxscGFybS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MTE7bWQ1PTQ2OGIxMjMxYjA1YmJjODRiYWUzYTBkNTc3NGUzYmI1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYWFyY2g2NC9tYXRoLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlLWFyY2hpdmVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2xpYi1NYWtlZmlsZS1maXgtcGFyYWxsZWwtaXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImFlMzIwMTFjZmU2YjFjNDBjMGYyNDRiOWE0OWJhMTgxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2MDA2ZDhlYThkNjdiY2Y3MmYzNWQwOWQ0M2U5ZWY2YTY5NDAwZDZkNWQ0YmY2NGJhZjFhYjc0MzRlMmI3MjIiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qfGFhcmNoNjQuKnxhcm0uKiktbGludXgiCi1DT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKLQotZG9fY29uZmlndXJlX2xpbnV4LWdudXgzMl9wcmVwZW5kKCkgewotCWNwICR7U1RBR0lOR19JTkNESVJ9L2dudS9zdHVicy14MzIuaCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMtNjQuaAotCWNwICR7U1RBR0lOR19JTkNESVJ9L2JpdHMvbG9uZy1kb3VibGUtMzIuaCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTY0LmgKLX0KLQotZGVmIGdudV9lZmlfYXJjaChkKToKLSAgICBpbXBvcnQgcmUKLSAgICB0YXJjaCA9IGQuZ2V0VmFyKCJUQVJHRVRfQVJDSCIpCi0gICAgaWYgcmUubWF0Y2goImlbMzQ1Njc4OV04NiIsIHRhcmNoKToKLSAgICAgICAgcmV0dXJuICJpYTMyIgotICAgIHJldHVybiB0YXJjaAotCi1FWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtAZ251X2VmaV9hcmNoKGQpfScgJ0NDPSR7Q0N9JyAnQVM9JHtBU30nICdMRD0ke0xEfScgJ0FSPSR7QVJ9JyBcCi0gICAgICAgICAgICAgICAgJ1JBTkxJQj0ke1JBTkxJQn0nICdPQkpDT1BZPSR7T0JKQ09QWX0nICdQUkVGSVg9JHtwcmVmaXh9JyAnTElCRElSPSR7bGliZGlyfScgXAotICAgICAgICAgICAgICAgICIKLQotIyBnbnUtZWZpJ3MgTWFrZWZpbGUgdHJlYXRzIHByZWZpeCBhcyB0b29sY2hhaW4gcHJlZml4LCBzbyBkb24ndAotIyBleHBvcnQgaXQuCi1wcmVmaXhbdW5leHBvcnRdID0gIjEiCi0KLWRvX2luc3RhbGwoKSB7Ci0gICAgICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLmxkcyIKLQotIyA2NC1iaXQgYmluYXJpZXMgYXJlIGV4cGVjdGVkIGZvciBFRkkgd2hlbiB0YXJnZXRpbmcgWDMyCi1JTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LWdudXgzMiA9ICIgYXJjaCIKLUlOU0FORV9TS0lQXyR7UE59LWRldl9hcHBlbmRfbGludXgtbXVzbHgzMiA9ICIgYXJjaCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLSMgSXQgZG9lc24ndCBzdXBwb3J0IHNzZSwgaXRzIG1ha2UuZGVmYXVsdHMgc2V0czoKLSMgQ0ZMQUdTICs9IC1tbm8tbW14IC1tbm8tc3NlCi0jIFNvIGFsc28gcmVtb3ZlIC1tZnBtYXRoPXNzZSBmcm9tIFRVTkVfQ0NBUkdTCi1UVU5FX0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgotCi1weXRob24gKCkgewotICAgIGNjYXJncyA9IGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpLnNwbGl0KCkKLSAgICBpZiAnLW14MzInIGluIGNjYXJnczoKLSAgICAgICAgIyB1c2UgeDg2XzY0IEVGSSBBQkkKLSAgICAgICAgY2NhcmdzLnJlbW92ZSgnLW14MzInKQotICAgICAgICBjY2FyZ3MuYXBwZW5kKCctbTY0JykKLSAgICAgICAgZC5zZXRWYXIoJ1RVTkVfQ0NBUkdTJywgJyAnLmpvaW4oY2NhcmdzKSkKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9nbnUtZWZpL2dudS1lZmlfMy4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2NjcxOTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ251LWVmaS9nbnUtZWZpXzMuMC45LmJiCkBAIC0wLDAgKzEsNzEgQEAKK1NVTU1BUlkgPSAiTGlicmFyaWVzIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9nbnUtZWZpLyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkdQTHYyKyB8IEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2dudWVmaS9jcnQwLWVmaS1hcm0uUztiZWdpbmxpbmU9NDtlbmRsaW5lPTE2O21kNT1lNTgyNzY0YTQ3NzZlNjBjOTViZjlhYjYxNzM0M2QzNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nbnVlZmkvY3J0MC1lZmktYWFyY2g2NC5TO2JlZ2lubGluZT00O2VuZGxpbmU9MTY7bWQ1PWU1ODI3NjRhNDc3NmU2MGM5NWJmOWFiNjE3MzQzZDM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luYy9lZmlzaGVsbGludGYuaDtiZWdpbmxpbmU9MTM7ZW5kbGluZT0yMDttZDU9MjAyNzY2Yjc5ZDcwOGVmZjNjYzcwZmNlMTVmYjgwYzcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jL2VmaXNoZWxscGFybS5oO2JlZ2lubGluZT00O2VuZGxpbmU9MTE7bWQ1PTQ2OGIxMjMxYjA1YmJjODRiYWUzYTBkNTc3NGUzYmI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vbWF0aC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTU7bWQ1PThlZDc3MjUwMWRhNzdiMmIzMzQ1YWE2ZGY4NzQ0YzllIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9hcm0vaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvYWFyY2g2NC9tYXRoLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0xNTttZDU9OGVkNzcyNTAxZGE3N2IyYjMzNDVhYTZkZjg3NDRjOWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliL2FhcmNoNjQvaW5pdHBsYXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE1O21kNT04ZWQ3NzI1MDFkYTc3YjJiMzM0NWFhNmRmODc0NGM5ZSBcCisgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlLWFyY2hpdmVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYi1NYWtlZmlsZS1maXgtcGFyYWxsZWwtaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjMyYWYxN2I5MTc1NDVhNjkzZTU0OWFmMjQzOWM0YTk5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3MTVlYTdlYWUxYzdlNGZjNTA0MTAzNGJkM2YxMDdlYzI5MTE5NjJlZDI4NGEwODFlNDkxNjQ2YjEyMjc3ZjAiCisKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qfGFhcmNoNjQuKnxhcm0uKiktbGludXgiCitDT01QQVRJQkxFX0hPU1RfYXJtdjQgPSAnbnVsbCcKKworZG9fY29uZmlndXJlX2xpbnV4LWdudXgzMl9wcmVwZW5kKCkgeworCWNwICR7U1RBR0lOR19JTkNESVJ9L2dudS9zdHVicy14MzIuaCAke1NUQUdJTkdfSU5DRElSfS9nbnUvc3R1YnMtNjQuaAorCWNwICR7U1RBR0lOR19JTkNESVJ9L2JpdHMvbG9uZy1kb3VibGUtMzIuaCAke1NUQUdJTkdfSU5DRElSfS9iaXRzL2xvbmctZG91YmxlLTY0LmgKK30KKworZGVmIGdudV9lZmlfYXJjaChkKToKKyAgICBpbXBvcnQgcmUKKyAgICB0YXJjaCA9IGQuZ2V0VmFyKCJUQVJHRVRfQVJDSCIpCisgICAgaWYgcmUubWF0Y2goImlbMzQ1Njc4OV04NiIsIHRhcmNoKToKKyAgICAgICAgcmV0dXJuICJpYTMyIgorICAgIHJldHVybiB0YXJjaAorCitFWFRSQV9PRU1BS0UgPSAiJ0FSQ0g9JHtAZ251X2VmaV9hcmNoKGQpfScgJ0NDPSR7Q0N9JyAnQVM9JHtBU30nICdMRD0ke0xEfScgJ0FSPSR7QVJ9JyBcCisgICAgICAgICAgICAgICAgJ1JBTkxJQj0ke1JBTkxJQn0nICdPQkpDT1BZPSR7T0JKQ09QWX0nICdQUkVGSVg9JHtwcmVmaXh9JyAnTElCRElSPSR7bGliZGlyfScgXAorICAgICAgICAgICAgICAgICIKKworIyBnbnUtZWZpJ3MgTWFrZWZpbGUgdHJlYXRzIHByZWZpeCBhcyB0b29sY2hhaW4gcHJlZml4LCBzbyBkb24ndAorIyBleHBvcnQgaXQuCitwcmVmaXhbdW5leHBvcnRdID0gIjEiCisKK2RvX2luc3RhbGwoKSB7CisgICAgICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTlNUQUxMUk9PVD0iJHtEfSIKK30KKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS8qLmxkcyIKKworIyA2NC1iaXQgYmluYXJpZXMgYXJlIGV4cGVjdGVkIGZvciBFRkkgd2hlbiB0YXJnZXRpbmcgWDMyCitJTlNBTkVfU0tJUF8ke1BOfS1kZXZfYXBwZW5kX2xpbnV4LWdudXgzMiA9ICIgYXJjaCIKK0lOU0FORV9TS0lQXyR7UE59LWRldl9hcHBlbmRfbGludXgtbXVzbHgzMiA9ICIgYXJjaCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgSXQgZG9lc24ndCBzdXBwb3J0IHNzZSwgaXRzIG1ha2UuZGVmYXVsdHMgc2V0czoKKyMgQ0ZMQUdTICs9IC1tbm8tbW14IC1tbm8tc3NlCisjIFNvIGFsc28gcmVtb3ZlIC1tZnBtYXRoPXNzZSBmcm9tIFRVTkVfQ0NBUkdTCitUVU5FX0NDQVJHU19yZW1vdmUgPSAiLW1mcG1hdGg9c3NlIgorCitweXRob24gKCkgeworICAgIGNjYXJncyA9IGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpLnNwbGl0KCkKKyAgICBpZiAnLW14MzInIGluIGNjYXJnczoKKyAgICAgICAgIyB1c2UgeDg2XzY0IEVGSSBBQkkKKyAgICAgICAgY2NhcmdzLnJlbW92ZSgnLW14MzInKQorICAgICAgICBjY2FyZ3MuYXBwZW5kKCctbTY0JykKKyAgICAgICAgZC5zZXRWYXIoJ1RVTkVfQ0NBUkdTJywgJyAnLmpvaW4oY2NhcmdzKSkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2Rpc2FibGUtYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZmlsZXMvZGlzYWJsZS1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1ZjUyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2Rpc2FibGUtYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyLnBhdGNoCkBAIC0wLDAgKzEsMjYyIEBACitEaXNhYmxlIGFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciB3YXJuaW5ncyB3aXRoIGdjYzkKKworZ2NjOSBoYXMgdHVybmVkIHRoaXMgd2FybmluZyBpbnRvIGVycm9yIHdoZW4gLVdlcnJvciBpcyB1c2VkLCBsZXRzIHBhcGVyCitpdCBvdmVyIGJ5IHR1cm5pbmcgaXQgaW50byBhIHdhcm5pbmcgZm9yIG5vdworCitGaXhlcworICAgIGVycm9yOiB0YWtpbmcgYWRkcmVzcyBvZiBwYWNrZWQgbWVtYmVyIG9mICdzdHJ1Y3QgaGVhZCcgbWF5IHJlc3VsdCBpbiBhbiB1bmFsaWduZWQgcG9pbnRlciB2YWx1ZSBbLVdlcnJvcj1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXJdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLSBhL2dydWItY29yZS9jb21tYW5kcy9sc2FjcGkuYworKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL2xzYWNwaS5jCitAQCAtMjYsNiArMjYsOSBAQAorICNpbmNsdWRlIDxncnViL2RsLmg+CisgCisgI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Nhc3QtYWxpZ24iCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKyAKKy0tLSBhL2dydWItY29yZS9jb21tYW5kcy9sc3BjaS5jCisrKysgYi9ncnViLWNvcmUvY29tbWFuZHMvbHNwY2kuYworQEAgLTI2LDYgKzI2LDkgQEAKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisgCisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIHN0cnVjdCBncnViX3BjaV9jbGFzc25hbWUKKyB7CisgICBpbnQgY2xhc3M7CitAQCAtMTcxLDcgKzE3NCw3IEBAIGdydWJfbHNwY2lfaXRlciAoZ3J1Yl9wY2lfZGV2aWNlX3QgZGV2LAorIAorIAkgIGlmIChzcGFjZSA9PSAwKQorIAkgICAgY29udGludWU7CistCSAKKysKKyAJICBzd2l0Y2ggKHNwYWNlICYgR1JVQl9QQ0lfQUREUl9TUEFDRV9NQVNLKQorIAkgICAgeworIAkgICAgY2FzZSBHUlVCX1BDSV9BRERSX1NQQUNFX0lPOgorQEAgLTE5NSwxMyArMTk4LDEzIEBAIGdydWJfbHNwY2lfaXRlciAoZ3J1Yl9wY2lfZGV2aWNlX3QgZGV2LAorIAkJCSAgICAgICAoc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9NQVNLKSwKKyAJCQkgICAgICAgc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9QUkVGRVRDSAorIAkJCSAgICAgICA/ICJwcmVmZXRjaGFibGUiIDogIm5vbi1wcmVmZXRjaGFibGUiKTsKKy0JCSAKKysKKyAJCX0KKyAJICAgICAgZWxzZQorIAkJZ3J1Yl9wcmludGYgKCJcdDMyLWJpdCBtZW1vcnkgc3BhY2UgJWQgYXQgMHglMDE2bGx4IFslc11cbiIsCisgCQkJICAgICAodW5zaWduZWQpICgocmVnIC0gR1JVQl9QQ0lfUkVHX0FERFJFU1NFUykKKyAJCQkgICAgICAvIHNpemVvZiAoZ3J1Yl91aW50MzJfdCkpIC0gMSwKKy0JCQkgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIAorKwkJCSAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykKKyAJCQkgICAgIChzcGFjZSAmIEdSVUJfUENJX0FERFJfTUVNX01BU0spLAorIAkJCSAgICAgc3BhY2UgJiBHUlVCX1BDSV9BRERSX01FTV9QUkVGRVRDSAorIAkJCSAgICAgPyAicHJlZmV0Y2hhYmxlIiA6ICJub24tcHJlZmV0Y2hhYmxlIik7CistLS0gYS9ncnViLWNvcmUvZnMvY3Bpb19jb21tb24uYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2NwaW9fY29tbW9uLmMKK0BAIC0yNiw3ICsyNiw5IEBACisgI2luY2x1ZGUgPGdydWIvYXJjaGVscC5oPgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKy0KKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgc3RydWN0IGdydWJfYXJjaGVscF9kYXRhCisgeworICAgZ3J1Yl9kaXNrX3QgZGlzazsKK0BAIC0xMDgsNyArMTEwLDcgQEAgZ3J1Yl9jcGlvX2dldF9saW5rX3RhcmdldCAoc3RydWN0IGdydWJfYQorICAgaWYgKCFyZXQpCisgICAgIHJldHVybiBOVUxMOworIAorLSAgZXJyID0gZ3J1Yl9kaXNrX3JlYWQgKGRhdGEtPmRpc2ssIDAsIGRhdGEtPmRvZnMsIGRhdGEtPnNpemUsIAorKyAgZXJyID0gZ3J1Yl9kaXNrX3JlYWQgKGRhdGEtPmRpc2ssIDAsIGRhdGEtPmRvZnMsIGRhdGEtPnNpemUsCisgCQkJcmV0KTsKKyAgIGlmIChlcnIpCisgICAgIHsKKy0tLSBhL2dydWItY29yZS9mcy9oZnMuYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2hmcy5jCitAQCAtMzIsNiArMzIsOSBAQAorICNpbmNsdWRlIDxncnViL2ZzaGVscC5oPgorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgCisgI2RlZmluZQlHUlVCX0hGU19TQkxPQ0sJCTIKKyAjZGVmaW5lIEdSVUJfSEZTX0VNQkVEX0hGU1BMVVNfU0lHIDB4NDgyQgorQEAgLTg4Miw3ICs4ODUsNyBAQCBncnViX2hmc19pdGVyYXRlX2Rpcl9pdF9kaXIgKHN0cnVjdCBncnViCisgeworICAgc3RydWN0IGdydWJfaGZzX2NhdGFsb2dfa2V5ICpja2V5ID0gcmVjLT5rZXk7CisgICBzdHJ1Y3QgZ3J1Yl9oZnNfaXRlcmF0ZV9kaXJfbm9kZV9mb3VuZF9jdHggKmN0eCA9IGhvb2tfYXJnOworLSAgCisrCisgICAvKiBTdG9wIHdoZW4gdGhlIGVudHJpZXMgZG8gbm90IG1hdGNoIGFueW1vcmUuICAqLworICAgaWYgKGNrZXktPnBhcmVudF9kaXIgIT0gY3R4LT5kaXJfYmUpCisgICAgIHJldHVybiAxOworQEAgLTEwNzYsNyArMTA3OSw3IEBAIG1hY3JvbWFuX3RvX3V0ZjggKGNoYXIgKnRvLCBjb25zdCBncnViX3UKKyAJeworIAkgICpvcHRyKysgPSAnOic7CisgCSAgY29udGludWU7CistCX0JCisrCX0KKyAgICAgICBpZiAoISgqaXB0ciAmIDB4ODApKQorIAl7CisgCSAgKm9wdHIrKyA9ICppcHRyOworQEAgLTEwOTMsNyArMTA5Niw3IEBAIHV0ZjhfdG9fbWFjcm9tYW4gKGdydWJfdWludDhfdCAqdG8sIGNvbnMKKyAgIGdydWJfdWludDhfdCAqZW5kID0gdG8gKyAzMTsKKyAgIGdydWJfdWludDhfdCAqb3B0ciA9IHRvOworICAgY29uc3QgY2hhciAqaXB0ciA9IGZyb207CistICAKKysKKyAgIHdoaWxlICgqaXB0ciAmJiBvcHRyIDwgZW5kKQorICAgICB7CisgICAgICAgaW50IGksIGNsZW47CitAQCAtMTEwMyw3ICsxMTA2LDcgQEAgdXRmOF90b19tYWNyb21hbiAoZ3J1Yl91aW50OF90ICp0bywgY29ucworIAkgICpvcHRyKysgPSAnLyc7CisgCSAgaXB0cisrOworIAkgIGNvbnRpbnVlOworLQl9CQorKwl9CisgICAgICAgaWYgKCEoKmlwdHIgJiAweDgwKSkKKyAJeworIAkgICpvcHRyKysgPSAqaXB0cisrOworQEAgLTExNjQsNyArMTE2Nyw3IEBAIGxvb2t1cF9maWxlIChncnViX2ZzaGVscF9ub2RlX3QgZGlyLAorICAgKmZvdW5kbm9kZSA9IGdydWJfbWFsbG9jIChzaXplb2YgKHN0cnVjdCBncnViX2ZzaGVscF9ub2RlKSk7CisgICBpZiAoISpmb3VuZG5vZGUpCisgICAgIHJldHVybiBncnViX2Vycm5vOworLSAgCisrCisgICAoKmZvdW5kbm9kZSktPmlub2RlID0gZ3J1Yl9iZV90b19jcHUzMiAoZmRyZWMuZGlyLmRpcmlkKTsKKyAgICgqZm91bmRub2RlKS0+ZmRyZWMgPSBmZHJlYzsKKyAgICgqZm91bmRub2RlKS0+ZGF0YSA9IGRpci0+ZGF0YTsKK0BAIC0xMjY1LDcgKzEyNjgsNyBAQCBncnViX2hmc19kaXIgKGdydWJfZGV2aWNlX3QgZGV2aWNlLCBjb25zCisgICAgICAgLmhvb2tfZGF0YSA9IGhvb2tfZGF0YQorICAgICB9OworICAgZ3J1Yl9mc2hlbHBfbm9kZV90IGZvdW5kID0gTlVMTDsKKy0gIAorKworICAgZ3J1Yl9kbF9yZWYgKG15X21vZCk7CisgCisgICBkYXRhID0gZ3J1Yl9oZnNfbW91bnQgKGRldmljZS0+ZGlzayk7CitAQCAtMTI5NCw3ICsxMjk3LDcgQEAgZ3J1Yl9oZnNfb3BlbiAoc3RydWN0IGdydWJfZmlsZSAqZmlsZSwgYworIHsKKyAgIHN0cnVjdCBncnViX2hmc19kYXRhICpkYXRhOworICAgZ3J1Yl9mc2hlbHBfbm9kZV90IGZvdW5kID0gTlVMTDsKKy0gIAorKworICAgZ3J1Yl9kbF9yZWYgKG15X21vZCk7CisgCisgICBkYXRhID0gZ3J1Yl9oZnNfbW91bnQgKGZpbGUtPmRldmljZS0+ZGlzayk7CistLS0gYS9ncnViLWNvcmUvZnMvaGZzcGx1cy5jCisrKysgYi9ncnViLWNvcmUvZnMvaGZzcGx1cy5jCitAQCAtMTksNyArMTksNyBAQAorIAorIC8qIEhGUysgaXMgZG9jdW1lbnRlZCBhdCBodHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS90ZWNobm90ZXMvdG4vdG4xMTUwLmh0bWwgKi8KKyAKKy0jZGVmaW5lIGdydWJfZnNoZWxwX25vZGUgZ3J1Yl9oZnNwbHVzX2ZpbGUgCisrI2RlZmluZSBncnViX2ZzaGVscF9ub2RlIGdydWJfaGZzcGx1c19maWxlCisgI2luY2x1ZGUgPGdydWIvZXJyLmg+CisgI2luY2x1ZGUgPGdydWIvZmlsZS5oPgorICNpbmNsdWRlIDxncnViL21tLmg+CitAQCAtMzQsNiArMzQsOSBAQAorIAorIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKKyAKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisgLyogVGhlIHR5cGUgb2Ygbm9kZS4gICovCisgZW51bSBncnViX2hmc3BsdXNfYnRub2RlX3R5cGUKKyAgIHsKK0BAIC0xNDUsNyArMTQ4LDcgQEAgZ3J1Yl9oZnNwbHVzX3JlYWRfYmxvY2sgKGdydWJfZnNoZWxwX25vZAorIHsKKyAgIHN0cnVjdCBncnViX2hmc3BsdXNfYnRub2RlICpubm9kZSA9IDA7CisgICBncnViX2Rpc2tfYWRkcl90IGJsa3NsZWZ0ID0gZmlsZWJsb2NrOworLSAgc3RydWN0IGdydWJfaGZzcGx1c19leHRlbnQgKmV4dGVudHMgPSBub2RlLT5jb21wcmVzc2VkIAorKyAgc3RydWN0IGdydWJfaGZzcGx1c19leHRlbnQgKmV4dGVudHMgPSBub2RlLT5jb21wcmVzc2VkCisgICAgID8gJm5vZGUtPnJlc291cmNlX2V4dGVudHNbMF0gOiAmbm9kZS0+ZXh0ZW50c1swXTsKKyAKKyAgIHdoaWxlICgxKQorQEAgLTQ2MSw3ICs0NjQsNyBAQCBncnViX2hmc3BsdXNfY21wX2V4dGtleSAoc3RydWN0IGdydWJfaGZzCisgCisgICBpZiAoZXh0a2V5X2EtPnR5cGUgPCBleHRrZXlfYi0+dHlwZSkKKyAgICAgcmV0dXJuIC0xOworLSAgCisrCisgICBha2V5ID0gZ3J1Yl9iZV90b19jcHUzMiAoZXh0a2V5X2EtPnN0YXJ0KTsKKyAgIGlmIChha2V5ID4gZXh0a2V5X2ItPnN0YXJ0KQorICAgICByZXR1cm4gMTsKK0BAIC01NDgsNyArNTUxLDcgQEAgZ3J1Yl9oZnNwbHVzX2J0cmVlX3NlYXJjaCAoc3RydWN0IGdydWJfaAorIAkJCSAgIHN0cnVjdCBncnViX2hmc3BsdXNfa2V5X2ludGVybmFsICprZXksCisgCQkJICAgaW50ICgqY29tcGFyZV9rZXlzKSAoc3RydWN0IGdydWJfaGZzcGx1c19rZXkgKmtleWEsCisgCQkJCQkJc3RydWN0IGdydWJfaGZzcGx1c19rZXlfaW50ZXJuYWwgKmtleWIpLAorLQkJCSAgIHN0cnVjdCBncnViX2hmc3BsdXNfYnRub2RlICoqbWF0Y2hub2RlLCAKKysJCQkgICBzdHJ1Y3QgZ3J1Yl9oZnNwbHVzX2J0bm9kZSAqKm1hdGNobm9kZSwKKyAJCQkgICBncnViX29mZl90ICprZXlvZmZzZXQpCisgeworICAgZ3J1Yl91aW50NjRfdCBjdXJybm9kZTsKKy0tLSBhL2dydWItY29yZS9mcy9qZnMuYworKysrIGIvZ3J1Yi1jb3JlL2ZzL2pmcy5jCitAQCAtMjgsNiArMjgsOSBAQAorICNpbmNsdWRlIDxncnViL2kxOG4uaD4KKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorICNkZWZpbmUgR1JVQl9KRlNfTUFYX1NZTUxOS19DTlQJOAorICNkZWZpbmUgR1JVQl9KRlNfRklMRVRZUEVfTUFTSwkwMTcwMDAwCistLS0gYS9ncnViLWNvcmUva2Vybi9lZmkvZWZpLmMKKysrKyBiL2dydWItY29yZS9rZXJuL2VmaS9lZmkuYworQEAgLTI5LDYgKzI5LDkgQEAKKyAjaW5jbHVkZSA8Z3J1Yi9tbS5oPgorICNpbmNsdWRlIDxncnViL2xvYWRlci5oPgorIAorKyNpZiBfX0dOVUNfXyA+PSA5CisrI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2FkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKysjZW5kaWYKKyAvKiBUaGUgaGFuZGxlIG9mIEdSVUIgaXRzZWxmLiBGaWxsZWQgaW4gYnkgdGhlIHN0YXJ0dXAgY29kZS4gICovCisgZ3J1Yl9lZmlfaGFuZGxlX3QgZ3J1Yl9lZmlfaW1hZ2VfaGFuZGxlOworIAorQEAgLTIwMSw3ICsyMDQsNyBAQCBncnViX2VmaV9zZXRfdmFyaWFibGUoY29uc3QgY2hhciAqdmFyLCBjCisgCisgICByID0gZ3J1Yl9lZmlfc3lzdGVtX3RhYmxlLT5ydW50aW1lX3NlcnZpY2VzOworIAorLSAgc3RhdHVzID0gZWZpX2NhbGxfNSAoci0+c2V0X3ZhcmlhYmxlLCB2YXIxNiwgZ3VpZCwgCisrICBzdGF0dXMgPSBlZmlfY2FsbF81IChyLT5zZXRfdmFyaWFibGUsIHZhcjE2LCBndWlkLAorIAkJICAgICAgIChHUlVCX0VGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUKKyAJCQl8IEdSVUJfRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUworIAkJCXwgR1JVQl9FRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MpLAorLS0tIGEvZ3J1Yi1jb3JlL2xvYWRlci9lZmkvY2hhaW5sb2FkZXIuYworKysrIGIvZ3J1Yi1jb3JlL2xvYWRlci9lZmkvY2hhaW5sb2FkZXIuYworQEAgLTQxLDYgKzQxLDkgQEAKKyAjZW5kaWYKKyAKKyBHUlVCX01PRF9MSUNFTlNFICgiR1BMdjMrIik7CisrI2lmIF9fR05VQ19fID49IDkKKysjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIgorKyNlbmRpZgorIAorIHN0YXRpYyBncnViX2RsX3QgbXlfbW9kOworIAorLS0tIGEvZ3J1Yi1jb3JlL2NvbW1hbmRzL3VzYnRlc3QuYworKysrIGIvZ3J1Yi1jb3JlL2NvbW1hbmRzL3VzYnRlc3QuYworQEAgLTYzLDYgKzYzLDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyICp1c2JfZGV2c3BlZWRbXSA9CisgICAgICJIaWdoIgorICAgfTsKKyAKKysjaWYgX19HTlVDX18gPj0gOQorKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVdhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIiCisrI2VuZGlmCisrCisgc3RhdGljIGdydWJfdXNiX2Vycl90CisgZ3J1Yl91c2JfZ2V0X3N0cmluZyAoZ3J1Yl91c2JfZGV2aWNlX3QgZGV2LCBncnViX3VpbnQ4X3QgaW5kZXgsIGludCBsYW5naWQsCisgCQkgICAgIGNoYXIgKipzdHJpbmcpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2ZpbGVzL2ZpeC5idWlsZC53aXRoLnNxdWFzaGZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjMmQyZWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9maWxlcy9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaApAQCAtMCwwICsxLDI0IEBACitXaGVuIHNxdWFzaGZzIHN1cHBvcnQgaXMgZW5hYmxlZCwgdGhlIGJ1aWxkIGZhaWxzIHdpdGg6CisKKy4uL2dydWItMi4wMi9ncnViLWNvcmUvZnMvc3F1YXNoNC5jOiBJbiBmdW5jdGlvbiAnZGlyZWN0X3JlYWQnOgorLi4vZ3J1Yi0yLjAyL2dydWItY29yZS9mcy9zcXVhc2g0LmM6ODY4OjEwOiBlcnJvcjogJ2VycicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCisgICAgICAgaWYgKGVycikKKyAgICAgICAgICBeCitjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycworTWFrZWZpbGU6NzI3MjogcmVjaXBlIGZvciB0YXJnZXQgJ2dydWItY29yZS9mcy9saWJncnVibW9kc19hLXNxdWFzaDQubycgZmFpbGVkCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZyAoc2hvdWxkIGJlIGZpeGVkIGluIGdudWxpYiB3aGljaCBpcyB0aGVuIHJhcmVseSB1cGRhdGVkIGluIGdydWIpCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKworLS0tIGdydWItMi4wMi9ncnViLWNvcmUvZnMvc3F1YXNoNC5jCTIwMTktMDMtMTAgMjA6MDA6MTQuMDcwNDY4NzI4ICswMDAwCisrKysgZ3J1Yi0yLjAyLmZpeGVkL2dydWItY29yZS9mcy9zcXVhc2g0LmMJMjAxOS0wMy0xMCAxOTo1ODozMS4zODI0Nzc4MTggKzAwMDAKK0BAIC03NDYsNyArNzQ2LDcgQEAKKyAJICAgICBzdHJ1Y3QgZ3J1Yl9zcXVhc2hfY2FjaGVfaW5vZGUgKmlubywKKyAJICAgICBncnViX29mZl90IG9mZiwgY2hhciAqYnVmLCBncnViX3NpemVfdCBsZW4pCisgeworLSAgZ3J1Yl9lcnJfdCBlcnI7CisrICBncnViX2Vycl90IGVyciA9IDA7CisgICBncnViX29mZl90IGN1bXVsYXRlZF91bmNvbXByZXNzZWRfc2l6ZSA9IDA7CisgICBncnViX3VpbnQ2NF90IGEgPSAwOworICAgZ3J1Yl9zaXplX3QgaTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2dydWIyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC9ncnViL2dydWIyLmluYwppbmRleCA4ZTBmODYyLi5jNjk5NDcyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvZ3J1Yi9ncnViMi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL2dydWIvZ3J1YjIuaW5jCkBAIC0yMSw2ICsyMSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly9nY2M4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEteDg2LTY0LVRyZWF0LVJfWDg2XzY0X1BMVDMyLWFzLVJfWDg2XzY0X1BDMzIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1ncnViLXNldHVwLURlYnVnLW1lc3NhZ2UtY2xlYW51cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXguYnVpbGQud2l0aC5zcXVhc2hmcy5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiMTExNmQxZjYwYzg0MGU2ZGJkNjdhYmJjOTlhY2I0NWQiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjYwZWUxMzZmYmNlZTA4ODU4NTE2ZWQ0ZGUyYWQ4NzA2OGJmZTFiNmI4YjM3ODk2Y2UzNTI5ZmYwNTRhNzI2ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlZDNjM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1OSArMCwwIEBACi1Gcm9tIDczNDZjMWUxOTJkNjNjZDM1Zjk5YzdlODQ1ZTUzYzVkNGQwYmRjMjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUZWRkeSBSZWVkIDx0ZWRkeS5yZWVkQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgOSBKdW4gMjAxOCAxMTo0NToyMCAtMDQwMAotU3ViamVjdDogW1BBVENIXSB2Ym9vdDogRG8gbm90IHVzZSBoYXNoZWQtc3RyaW5ncyBvZmZzZXQKLQotVGhlIGhhc2hlZC1zdHJpbmdzIHNpZ25hdHVyZSBwcm9wZXJ0eSBpbmNsdWRlcyB0d28gdWludDMyX3QgdmFsdWVzLgotVGhlIGZpcnN0IGlzIHVubmVlZGVkIGFzIHRoZXJlIHNob3VsZCBuZXZlciBiZSBhIHN0YXJ0IG9mZnNldCBpbnRvIHRoZQotc3RyaW5ncyByZWdpb24uIFRoZSBzZWNvbmQsIHRoZSBzaXplLCBpcyBuZWVkZWQgYmVjYXVzZSB0aGUgYWRkZWQKLXNpZ25hdHVyZSBub2RlIGFwcGVuZHMgdG8gdGhpcyByZWdpb24uCi0KLVNlZSB0b29scy9pbWFnZS1ob3N0LmMsIHdoZXJlIGEgc3RhdGljIDAgdmFsdWUgaXMgdXNlZCBmb3IgdGhlIG9mZnNldC4KLQotU2lnbmVkLW9mZi1ieTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogU2ltb24gR2xhc3MgPHNqZ0BjaHJvbWl1bS5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cDovL2dpdC5kZW54LmRlLz9wPXUtYm9vdC5naXQ7YT1jb21taXQ7Ci0gICAgICAgICAgICAgICAgIGg9NzM0NmMxZTE5MmQ2M2NkMzVmOTljN2U4NDVlNTNjNWQ0ZDBiZGMyNF0KLQotQ1ZFOiBDVkUtMjAxOC0xMDAwMjA1Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb21tb24vaW1hZ2Utc2lnLmMgfCA3ICsrKysrLS0KLSB0b29scy9pbWFnZS1ob3N0LmMgfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbW1vbi9pbWFnZS1zaWcuYyBiL2NvbW1vbi9pbWFnZS1zaWcuYwotaW5kZXggOGQyZmQxMC4uNWEyNjlkMyAxMDA2NDQKLS0tLSBhL2NvbW1vbi9pbWFnZS1zaWcuYwotKysrIGIvY29tbW9uL2ltYWdlLXNpZy5jCi1AQCAtMzc3LDggKzM3NywxMSBAQCBpbnQgZml0X2NvbmZpZ19jaGVja19zaWcoY29uc3Qgdm9pZCAqZml0LCBpbnQgbm9mZnNldCwgaW50IHJlcXVpcmVkX2tleW5vZGUsCi0gCS8qIEFkZCB0aGUgc3RyaW5ncyAqLwotIAlzdHJpbmdzID0gZmR0X2dldHByb3AoZml0LCBub2Zmc2V0LCAiaGFzaGVkLXN0cmluZ3MiLCBOVUxMKTsKLSAJaWYgKHN0cmluZ3MpIHsKLS0JCWZkdF9yZWdpb25zW2NvdW50XS5vZmZzZXQgPSBmZHRfb2ZmX2R0X3N0cmluZ3MoZml0KSArCi0tCQkJCWZkdDMyX3RvX2NwdShzdHJpbmdzWzBdKTsKLSsJCS8qCi0rCQkgKiBUaGUgc3RyaW5ncyByZWdpb24gb2Zmc2V0IG11c3QgYmUgYSBzdGF0aWMgMHgwLgotKwkJICogVGhpcyBpcyBzZXQgaW4gdG9vbC9pbWFnZS1ob3N0LmMKLSsJCSAqLwotKwkJZmR0X3JlZ2lvbnNbY291bnRdLm9mZnNldCA9IGZkdF9vZmZfZHRfc3RyaW5ncyhmaXQpOwotIAkJZmR0X3JlZ2lvbnNbY291bnRdLnNpemUgPSBmZHQzMl90b19jcHUoc3RyaW5nc1sxXSk7Ci0gCQljb3VudCsrOwotIAl9Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvaW1hZ2UtaG9zdC5jIGIvdG9vbHMvaW1hZ2UtaG9zdC5jCi1pbmRleCA4ZTQzNjcxLi5iZTJkNTliIDEwMDY0NAotLS0tIGEvdG9vbHMvaW1hZ2UtaG9zdC5jCi0rKysgYi90b29scy9pbWFnZS1ob3N0LmMKLUBAIC0xMzUsNiArMTM1LDcgQEAgc3RhdGljIGludCBmaXRfaW1hZ2Vfd3JpdGVfc2lnKHZvaWQgKmZpdCwgaW50IG5vZmZzZXQsIHVpbnQ4X3QgKnZhbHVlLAotIAotIAkJcmV0ID0gZmR0X3NldHByb3AoZml0LCBub2Zmc2V0LCAiaGFzaGVkLW5vZGVzIiwKLSAJCQkJICAgcmVnaW9uX3Byb3AsIHJlZ2lvbl9wcm9wbGVuKTsKLSsJCS8qIFRoaXMgaXMgYSBsZWdhY3kgb2Zmc2V0LCBpdCBpcyB1bnVzZWQsIGFuZCBtdXN0IHJlbWFpbiAwLiAqLwotIAkJc3RyZGF0YVswXSA9IDA7Ci0gCQlzdHJkYXRhWzFdID0gY3B1X3RvX2ZkdDMyKHN0cmluZ19zaXplKTsKLSAJCWlmICghcmV0KSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvZmlsZXMvQ1ZFLTIwMTgtMTAwMDIwNS0yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiNzlhZjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC9maWxlcy9DVkUtMjAxOC0xMDAwMjA1LTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDMgKzAsMCBAQAotRnJvbSA3MjIzOWZjODVmM2VkYTA3ODU0Nzk1NjYwOGMwNjNhYjk2NWU5MGU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDkgSnVuIDIwMTggMTE6Mzg6MDUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gdmJvb3Q6IEFkZCBGSVRfU0lHTkFUVVJFX01BWF9TSVpFIHByb3RlY3Rpb24KLQotVGhpcyBhZGRzIGEgbmV3IGNvbmZpZyB2YWx1ZSBGSVRfU0lHTkFUVVJFX01BWF9TSVpFLCB3aGljaCBjb250cm9scyB0aGUKLW1heCBzaXplIG9mIGEgRklUIGhlYWRlcidzIHRvdGFsc2l6ZSBmaWVsZC4gVGhlIGZpZWxkIGlzIGNoZWNrZWQgYmVmb3JlCi1zaWduYXR1cmUgY2hlY2tzIGFyZSBhcHBsaWVkIHRvIHByb3RlY3QgZnJvbSByZWFkaW5nIHBhc3QgdGhlIGludGVuZGVkCi1GSVQgcmVnaW9ucy4KLQotVGhpcyBmaWVsZCBpcyBub3QgcGFydCBvZiB0aGUgdmJvb3Qgc2lnbmF0dXJlIHNvIGl0IHNob3VsZCBiZSBzYW5pdHkKLWNoZWNrZWQuIElmIHRoZSBmaWVsZCBpcyBjb3JydXB0ZWQgdGhlbiB0aGUgc3RydWN0dXJlIG9yIHN0cmluZyByZWdpb24KLXJlYWRzIG1heSBoYXZlIHVuaW50ZW5kZWQgYmVoYXZpb3IsIHN1Y2ggYXMgcmVhZGluZyBmcm9tIGRldmljZSBtZW1vcnkuCi1BIGRlZmF1bHQgdmFsdWUgb2YgMjU2TUIgaXMgc2V0IGFuZCBpbnRlbmRlZCB0byBzdXBwb3J0IG1vc3QgbWF4IHN0b3JhZ2UKLXNpemVzLgotCi1TdWdnZXN0ZWQtYnk6IFNpbW9uIEdsYXNzIDxzamdAY2hyb21pdW0ub3JnPgotU2lnbmVkLW9mZi1ieTogVGVkZHkgUmVlZCA8dGVkZHkucmVlZEBnbWFpbC5jb20+Ci1SZXZpZXdlZC1ieTogU2ltb24gR2xhc3MgPHNqZ0BjaHJvbWl1bS5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cDovL2dpdC5kZW54LmRlLz9wPXUtYm9vdC5naXQ7YT1jb21taXQ7Ci0gICAgICAgICAgICAgICAgIGg9NzIyMzlmYzg1ZjNlZGEwNzg1NDc5NTY2MDhjMDYzYWI5NjVlOTBlOV0KLQotQ1ZFOiBDVkUtMjAxOC0xMDAwMjA1Ci0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBLY29uZmlnICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gY29tbW9uL2ltYWdlLXNpZy5jICAgICAgICAgIHwgIDUgKysrKysKLSB0ZXN0L3B5L3Rlc3RzL3Rlc3RfdmJvb3QucHkgfCAzMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSB0b29scy9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMSArCi0gNCBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9LY29uZmlnIGIvS2NvbmZpZwotaW5kZXggNWE4MmM5NS4uYzhiODZjZCAxMDA2NDQKLS0tLSBhL0tjb25maWcKLSsrKyBiL0tjb25maWcKLUBAIC0yNjcsNiArMjY3LDE2IEBAIGNvbmZpZyBGSVRfU0lHTkFUVVJFCi0gCSAgZm9ybWF0IHN1cHBvcnQgaW4gdGhpcyBjYXNlLCBlbmFibGUgaXQgdXNpbmcKLSAJICBDT05GSUdfSU1BR0VfRk9STUFUX0xFR0FDWS4KLSAKLStjb25maWcgRklUX1NJR05BVFVSRV9NQVhfU0laRQotKwloZXggIk1heCBzaXplIG9mIHNpZ25lZCBGSVQgc3RydWN0dXJlcyIKLSsJZGVwZW5kcyBvbiBGSVRfU0lHTkFUVVJFCi0rCWRlZmF1bHQgMHgxMDAwMDAwMAotKwloZWxwCi0rCSAgVGhpcyBvcHRpb24gc2V0cyBhIG1heCBzaXplIGluIGJ5dGVzIGZvciB2ZXJpZmllZCBGSVQgdUltYWdlcy4KLSsJICBBIHNhbmUgdmFsdWUgb2YgMjU2TUIgcHJvdGVjdHMgY29ycnVwdGVkIERUQiBzdHJ1Y3R1cmVzIGZyb20gb3ZlcmxhcHBpbmcKLSsJICBkZXZpY2UgbWVtb3J5LiBBc3N1cmUgdGhpcyBzaXplIGRvZXMgbm90IGV4dGVuZCBwYXN0IGV4cGVjdGVkIHN0b3JhZ2UKLSsJICBzcGFjZS4KLSsKLSBjb25maWcgRklUX1ZFUkJPU0UKLSAJYm9vbCAiU2hvdyB2ZXJib3NlIG1lc3NhZ2VzIHdoZW4gRklUIGltYWdlcyBmYWlsIgotIAloZWxwCi1kaWZmIC0tZ2l0IGEvY29tbW9uL2ltYWdlLXNpZy5jIGIvY29tbW9uL2ltYWdlLXNpZy5jCi1pbmRleCBmNjVkODgzLi44ZDJmZDEwIDEwMDY0NAotLS0tIGEvY29tbW9uL2ltYWdlLXNpZy5jCi0rKysgYi9jb21tb24vaW1hZ2Utc2lnLmMKLUBAIC0xNTYsNiArMTU2LDExIEBAIHN0YXRpYyBpbnQgZml0X2ltYWdlX3NldHVwX3ZlcmlmeShzdHJ1Y3QgaW1hZ2Vfc2lnbl9pbmZvICppbmZvLAotIHsKLSAJY2hhciAqYWxnb19uYW1lOwotIAotKwlpZiAoZmR0X3RvdGFsc2l6ZShmaXQpID4gQ09ORklHX0ZJVF9TSUdOQVRVUkVfTUFYX1NJWkUpIHsKLSsJCSplcnJfbXNncCA9ICJUb3RhbCBzaXplIHRvbyBsYXJnZSI7Ci0rCQlyZXR1cm4gMTsKLSsJfQotKwotIAlpZiAoZml0X2ltYWdlX2hhc2hfZ2V0X2FsZ28oZml0LCBub2Zmc2V0LCAmYWxnb19uYW1lKSkgewotIAkJKmVycl9tc2dwID0gIkNhbid0IGdldCBoYXNoIGFsZ28gcHJvcGVydHkiOwotIAkJcmV0dXJuIC0xOwotZGlmZiAtLWdpdCBhL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weSBiL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weQotaW5kZXggZWU5MzlmMi4uM2QyNWVjMyAxMDA2NDQKLS0tLSBhL3Rlc3QvcHkvdGVzdHMvdGVzdF92Ym9vdC5weQotKysrIGIvdGVzdC9weS90ZXN0cy90ZXN0X3Zib290LnB5Ci1AQCAtMjYsNiArMjYsNyBAQCBUZXN0cyBydW4gd2l0aCBib3RoIFNIQTEgYW5kIFNIQTI1NiBoYXNoaW5nLgotIAotIGltcG9ydCBweXRlc3QKLSBpbXBvcnQgc3lzCi0raW1wb3J0IHN0cnVjdAotIGltcG9ydCB1X2Jvb3RfdXRpbHMgYXMgdXRpbAotIAotIEBweXRlc3QubWFyay5ib2FyZHNwZWMoJ3NhbmRib3gnKQotQEAgLTEwNSw2ICsxMDYsMjYgQEAgZGVmIHRlc3RfdmJvb3QodV9ib290X2NvbnNvbGUpOgotICAgICAgICAgdXRpbC5ydW5fYW5kX2xvZyhjb25zLCBbbWtpbWFnZSwgJy1GJywgJy1rJywgdG1wZGlyLCAnLUsnLCBkdGIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLXInLCBmaXRdKQotIAotKyAgICBkZWYgcmVwbGFjZV9maXRfdG90YWxzaXplKHNpemUpOgotKyAgICAgICAgIiIiUmVwbGFjZSBGSVQgaGVhZGVyJ3MgdG90YWxzaXplIHdpdGggc29tZXRoaW5nIGdyZWF0ZXIuCi0rCi0rICAgICAgICBUaGUgdG90YWxzaXplIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIEZJVF9TSUdOQVRVUkVfTUFYX1NJWkUuCi0rICAgICAgICBJZiB0aGUgc2l6ZSBpcyBncmVhdGVyLCB0aGUgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBzaG91bGQgcmV0dXJuIGZhbHNlLgotKwotKyAgICAgICAgQXJnczoKLSsgICAgICAgICAgICBzaXplOiBUaGUgbmV3IHRvdGFsc2l6ZSBvZiB0aGUgaGVhZGVyCi0rCi0rICAgICAgICBSZXR1cm5zOgotKyAgICAgICAgICAgIHByZXZfc2l6ZTogVGhlIHByZXZpb3VzIHRvdGFsc2l6ZSByZWFkIGZyb20gdGhlIGhlYWRlcgotKyAgICAgICAgIiIiCi0rICAgICAgICB0b3RhbF9zaXplID0gMAotKyAgICAgICAgd2l0aCBvcGVuKGZpdCwgJ3IrYicpIGFzIGhhbmRsZToKLSsgICAgICAgICAgICBoYW5kbGUuc2Vlayg0KQotKyAgICAgICAgICAgIHRvdGFsX3NpemUgPSBoYW5kbGUucmVhZCg0KQotKyAgICAgICAgICAgIGhhbmRsZS5zZWVrKDQpCi0rICAgICAgICAgICAgaGFuZGxlLndyaXRlKHN0cnVjdC5wYWNrKCI+SSIsIHNpemUpKQotKyAgICAgICAgcmV0dXJuIHN0cnVjdC51bnBhY2soIj5JIiwgdG90YWxfc2l6ZSlbMF0KLSsKLSAgICAgZGVmIHRlc3Rfd2l0aF9hbGdvKHNoYV9hbGdvKToKLSAgICAgICAgICIiIlRlc3QgdmVyaWZpZWQgYm9vdCB3aXRoIHRoZSBnaXZlbiBoYXNoIGFsZ29yaXRobS4KLSAKLUBAIC0xNDYsNiArMTY3LDE4IEBAIGRlZiB0ZXN0X3Zib290KHVfYm9vdF9jb25zb2xlKToKLSAgICAgICAgIHV0aWwucnVuX2FuZF9sb2coY29ucywgW2ZpdF9jaGVja19zaWduLCAnLWYnLCBmaXQsICctaycsIHRtcGRpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctaycsIGR0Yl0pCi0gCi0rICAgICAgICAjIFJlcGxhY2UgaGVhZGVyIGJ5dGVzCi0rICAgICAgICBiY2ZnID0gdV9ib290X2NvbnNvbGUuY29uZmlnLmJ1aWxkY29uZmlnCi0rICAgICAgICBtYXhfc2l6ZSA9IGludChiY2ZnLmdldCgnY29uZmlnX2ZpdF9zaWduYXR1cmVfbWF4X3NpemUnLCAweDEwMDAwMDAwKSwgMCkKLSsgICAgICAgIGV4aXN0aW5nX3NpemUgPSByZXBsYWNlX2ZpdF90b3RhbHNpemUobWF4X3NpemUgKyAxKQotKyAgICAgICAgcnVuX2Jvb3RtKHNoYV9hbGdvLCAnU2lnbmVkIGNvbmZpZyB3aXRoIGJhZCBoYXNoJywgJ0JhZCBEYXRhIEhhc2gnLCBGYWxzZSkKLSsgICAgICAgIGNvbnMubG9nLmFjdGlvbignJXM6IENoZWNrIG92ZXJmbG93ZWQgRklUIGhlYWRlciB0b3RhbHNpemUnICUgc2hhX2FsZ28pCi0rCi0rICAgICAgICAjIFJlcGxhY2Ugd2l0aCBleGlzdGluZyBoZWFkZXIgYnl0ZXMKLSsgICAgICAgIHJlcGxhY2VfZml0X3RvdGFsc2l6ZShleGlzdGluZ19zaXplKQotKyAgICAgICAgcnVuX2Jvb3RtKHNoYV9hbGdvLCAnc2lnbmVkIGNvbmZpZycsICdkZXYrJywgVHJ1ZSkKLSsgICAgICAgIGNvbnMubG9nLmFjdGlvbignJXM6IENoZWNrIGRlZmF1bHQgRklUIGhlYWRlciB0b3RhbHNpemUnICUgc2hhX2FsZ28pCi0rCi0gICAgICAgICAjIEluY3JlbWVudCB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgc2lnbmF0dXJlLCB3aGljaCBzaG91bGQgY2F1c2UgZmFpbHVyZQotICAgICAgICAgc2lnID0gdXRpbC5ydW5fYW5kX2xvZyhjb25zLCAnZmR0Z2V0IC10IGJ4ICVzICVzIHZhbHVlJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaXQsIHNpZ19ub2RlKSkKLWRpZmYgLS1naXQgYS90b29scy9NYWtlZmlsZSBiL3Rvb2xzL01ha2VmaWxlCi1pbmRleCA1ZGQzM2VkLi4wYzMzNDFlIDEwMDY0NAotLS0tIGEvdG9vbHMvTWFrZWZpbGUKLSsrKyBiL3Rvb2xzL01ha2VmaWxlCi1AQCAtMTMzLDYgKzEzMyw3IEBAIGlmZGVmIENPTkZJR19GSVRfU0lHTkFUVVJFCi0gIyBUaGlzIGFmZmVjdHMgaW5jbHVkZS9pbWFnZS5oLCBidXQgaW5jbHVkaW5nIHRoZSBib2FyZCBjb25maWcgZmlsZQotICMgaXMgdHJpY2t5LCBzbyBtYW51YWxseSBkZWZpbmUgdGhpcyBvcHRpb25zIGhlcmUuCi0gSE9TVF9FWFRSQUNGTEFHUwkrPSAtRENPTkZJR19GSVRfU0lHTkFUVVJFCi0rSE9TVF9FWFRSQUNGTEFHUwkrPSAtRENPTkZJR19GSVRfU0lHTkFUVVJFX01BWF9TSVpFPSQoQ09ORklHX0ZJVF9TSUdOQVRVUkVfTUFYX1NJWkUpCi0gZW5kaWYKLSAKLSBpZmRlZiBDT05GSUdfU1lTX1VfQk9PVF9PRkZTCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb24uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmI5Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb24uaW5jCkBAIC0wLDAgKzEsMTUgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZGVueC5kZS93aWtpL1UtQm9vdC9XZWJIb21lIgorU0VDVElPTiA9ICJib290bG9hZGVycyIKK0RFUEVORFMgKz0gImZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MaWNlbnNlcy9SRUFETUU7bWQ1PTMwNTAzZmQzMjE0MzJmYzcxMzIzOGY1ODIxOTNiNzhlIgorUEUgPSAiMSIKKworIyBXZSB1c2UgdGhlIHJldmlzaW9uIGluIG9yZGVyIHRvIGF2b2lkIGhhdmluZyB0byBmZXRjaCBpdCBmcm9tIHRoZQorIyByZXBvIGR1cmluZyBwYXJzZQorU1JDUkVWID0gImQzNjg5MjY3ZjkyYzU5NTZlMDljYzdkMWJhYTQ3MDAxNDE2NjJiZmYiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LmRlbnguZGUvdS1ib290LmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbl8yMDE4LjA3LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LWNvbW1vbl8yMDE4LjA3LmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJiNDRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1jb21tb25fMjAxOC4wNy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmRlbnguZGUvd2lraS9VLUJvb3QvV2ViSG9tZSIKLVNFQ1RJT04gPSAiYm9vdGxvYWRlcnMiCi1ERVBFTkRTICs9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZXMvUkVBRE1FO21kNT0zMDUwM2ZkMzIxNDMyZmM3MTMyMzhmNTgyMTkzYjc4ZSIKLVBFID0gIjEiCi0KLSMgV2UgdXNlIHRoZSByZXZpc2lvbiBpbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gZmV0Y2ggaXQgZnJvbSB0aGUKLSMgcmVwbyBkdXJpbmcgcGFyc2UKLVNSQ1JFViA9ICI4YzVkNGZkMGVjMjIyNzAxNTk4YTI3YjI2YWI3MjY1ZDRjZWU0NWEzIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC5kZW54LmRlL3UtYm9vdC5naXQgXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDIwNS0xLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDAyMDUtMi5wYXRjaCBcCi0iCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE4LjA3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOC4wNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTJjMTNlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE4LjA3LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotcmVxdWlyZSB1LWJvb3QtY29tbW9uXyR7UFZ9LmluYwotCi1TVU1NQVJZID0gIlUtQm9vdCBib290bG9hZGVyIGZ3X3ByaW50ZW52L3NldGVudiB1dGlsaXRpZXMiCi1ERVBFTkRTICs9ICJtdGQtdXRpbHMiCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImFscmVhZHktc3RyaXBwZWQiCi1FWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9JHtUQVJHRVRfUFJFRklYfSBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1jcm9zcyA9ICdIT1NUQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBWPTEnCi0KLWluaGVyaXQgdWJvb3QtY29uZmlnCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgJHtVQk9PVF9NQUNISU5FfQotCW9lX3J1bm1ha2UgZW52dG9vbHMKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2Jhc2Vfc2JpbmRpcn0vZndfcHJpbnRlbnYKLQlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Z3X3NldGVudgotCWluc3RhbGwgLW0gMDY0NCAke1N9L3Rvb2xzL2Vudi9md19lbnYuY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L2Z3X2Vudi5jb25maWcKLX0KLQotZG9faW5zdGFsbF9jbGFzcy1jcm9zcyAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJfY3Jvc3N9Ci0JaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmluZGlyX2Nyb3NzfS9md19wcmludGVudgotCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2JpbmRpcl9jcm9zc30vZndfc2V0ZW52Ci19Ci0KLVNZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtY3Jvc3MgPSAiICR7YmluZGlyX2Nyb3NzfSIKLQotUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKLUJCQ0xBU1NFWFRFTkQgPSAiY3Jvc3MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1mdy11dGlsc18yMDE5LjAxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOS4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWNlNTY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtZnctdXRpbHNfMjAxOS4wMS5iYgpAQCAtMCwwICsxLDM0IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgZndfcHJpbnRlbnYvc2V0ZW52IHV0aWxpdGllcyIKK0RFUEVORFMgKz0gIm10ZC11dGlscyIKKworSU5TQU5FX1NLSVBfJHtQTn0gPSAiYWxyZWFkeS1zdHJpcHBlZCIKK0VYVFJBX09FTUFLRV9jbGFzcy10YXJnZXQgPSAnQ1JPU1NfQ09NUElMRT0ke1RBUkdFVF9QUkVGSVh9IENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgVj0xJworRVhUUkFfT0VNQUtFX2NsYXNzLWNyb3NzID0gJ0hPU1RDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIFY9MScKKworaW5oZXJpdCB1Ym9vdC1jb25maWcKKworZG9fY29tcGlsZSAoKSB7CisJb2VfcnVubWFrZSAke1VCT09UX01BQ0hJTkV9CisJb2VfcnVubWFrZSBlbnZ0b29scworfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2Vfc2JpbmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmFzZV9zYmluZGlyfS9md19wcmludGVudgorCWluc3RhbGwgLW0gNzU1ICR7U30vdG9vbHMvZW52L2Z3X3ByaW50ZW52ICR7RH0ke2Jhc2Vfc2JpbmRpcn0vZndfc2V0ZW52CisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vdG9vbHMvZW52L2Z3X2Vudi5jb25maWcgJHtEfSR7c3lzY29uZmRpcn0vZndfZW52LmNvbmZpZworfQorCitkb19pbnN0YWxsX2NsYXNzLWNyb3NzICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc30KKwlpbnN0YWxsIC1tIDc1NSAke1N9L3Rvb2xzL2Vudi9md19wcmludGVudiAke0R9JHtiaW5kaXJfY3Jvc3N9L2Z3X3ByaW50ZW52CisJaW5zdGFsbCAtbSA3NTUgJHtTfS90b29scy9lbnYvZndfcHJpbnRlbnYgJHtEfSR7YmluZGlyX2Nyb3NzfS9md19zZXRlbnYKK30KKworU1lTUk9PVF9ESVJTX2FwcGVuZF9jbGFzcy1jcm9zcyA9ICIgJHtiaW5kaXJfY3Jvc3N9IgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorQkJDTEFTU0VYVEVORCA9ICJjcm9zcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LW1raW1hZ2VfMjAxOC4wNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LW1raW1hZ2VfMjAxOC4wNy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDhiZmYxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC1ta2ltYWdlXzIwMTguMDcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1yZXF1aXJlIHUtYm9vdC1jb21tb25fJHtQVn0uaW5jCi0KLVNVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgaW1hZ2UgY3JlYXRpb24gdG9vbCIKLURFUEVORFMgKz0gIm9wZW5zc2wiCi0KLUVYVFJBX09FTUFLRV9jbGFzcy10YXJnZXQgPSAnQ1JPU1NfQ09NUElMRT0iJHtUQVJHRVRfUFJFRklYfSIgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSAke0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBTVFJJUD10cnVlIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAnQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBIT1NUQ0M9IiR7QlVJTERfQ0N9ICR7QlVJTERfQ0ZMQUdTfSAke0JVSUxEX0xERkxBR1N9IiBTVFJJUD10cnVlIFY9MScKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmVzZGsgPSAnQ1JPU1NfQ09NUElMRT0iJHtIT1NUX1BSRUZJWH0iIENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCi0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2Ugc2FuZGJveF9kZWZjb25maWcKLQotCSMgRGlzYWJsZSBDT05GSUdfQ01EX0xJQ0VOU0UsIGxpY2Vuc2UuaCBpcyBub3QgdXNlZCBieSB0b29scyBhbmQKLQkjIGdlbmVyYXRpbmcgaXQgcmVxdWlyZXMgYmluMmhlYWRlciB0b29sLCB3aGljaCBmb3IgdGFyZ2V0IGJ1aWxkCi0JIyBpcyBidWlsdCB3aXRoIHRhcmdldCB0b29scyBhbmQgdGh1cyBjYW5ub3QgYmUgZXhlY3V0ZWQgb24gaG9zdC4KLQlzZWQgLWkgInMvQ09ORklHX0NNRF9MSUNFTlNFPS4qLyMgQ09ORklHX0NNRF9MSUNFTlNFIGlzIG5vdCBzZXQvIiAuY29uZmlnCi0KLQlvZV9ydW5tYWtlIGNyb3NzX3Rvb2xzIE5PX1NETD0xCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gMDc1NSB0b29scy9ta2ltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtbWtpbWFnZQotCWxuIC1zZiB1Ym9vdC1ta2ltYWdlICR7RH0ke2JpbmRpcn0vbWtpbWFnZQotfQotCi1SREVQRU5EU18ke1BOfSArPSAiZHRjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC10b29sc18yMDE5LjAxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtdG9vbHNfMjAxOS4wMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWRlOTg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QtdG9vbHNfMjAxOS4wMS5iYgpAQCAtMCwwICsxLDY3IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVS1Cb290IGJvb3Rsb2FkZXIgdG9vbHMiCitERVBFTkRTICs9ICJvcGVuc3NsIgorCitQUk9WSURFUyA9ICIke01MUFJFRklYfXUtYm9vdC1ta2ltYWdlICR7TUxQUkVGSVh9dS1ib290LW1rZW52aW1hZ2UiCitQUk9WSURFU19jbGFzcy1uYXRpdmUgPSAidS1ib290LW1raW1hZ2UtbmF0aXZlIHUtYm9vdC1ta2VudmltYWdlLW5hdGl2ZSIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1raW1hZ2UgJHtQTn0tbWtlbnZpbWFnZSIKKworIyBSZXF1aXJlZCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoICJ1LWJvb3QtbWtpbWFnZS14eHguYmIiCitSUFJPVklERVNfJHtQTn0tbWtpbWFnZSA9ICJ1LWJvb3QtbWtpbWFnZSIKK1JSRVBMQUNFU18ke1BOfS1ta2ltYWdlID0gInUtYm9vdC1ta2ltYWdlIgorUkNPTkZMSUNUU18ke1BOfS1ta2ltYWdlID0gInUtYm9vdC1ta2ltYWdlIgorCitFWFRSQV9PRU1BS0VfY2xhc3MtdGFyZ2V0ID0gJ0NST1NTX0NPTVBJTEU9IiR7VEFSR0VUX1BSRUZJWH0iIENDPSIke0NDfSAke0NGTEFHU30gJHtMREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gJ0NDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgSE9TVENDPSIke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSIgU1RSSVA9dHJ1ZSBWPTEnCitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlc2RrID0gJ0NST1NTX0NPTVBJTEU9IiR7SE9TVF9QUkVGSVh9IiBDQz0iJHtDQ30gJHtDRkxBR1N9ICR7TERGTEFHU30iIEhPU1RDQz0iJHtCVUlMRF9DQ30gJHtCVUlMRF9DRkxBR1N9ICR7QlVJTERfTERGTEFHU30iIFNUUklQPXRydWUgVj0xJworCitTRURfQ09ORklHX0VGSSA9ICctZSAicy9DT05GSUdfRUZJX0xPQURFUj0uKi8jIENPTkZJR19FRklfTE9BREVSIGlzIG5vdCBzZXQvIicKK1NFRF9DT05GSUdfRUZJX3g4NiA9ICcnCitTRURfQ09ORklHX0VGSV94ODYtNjQgPSAnJworU0VEX0NPTkZJR19FRklfYXJtID0gJycKK1NFRF9DT05GSUdfRUZJX2FybWViID0gJycKK1NFRF9DT05GSUdfRUZJX2FhcmNoNjQgPSAnJworCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlIHNhbmRib3hfZGVmY29uZmlnCisKKwkjIERpc2FibGUgQ09ORklHX0NNRF9MSUNFTlNFLCBsaWNlbnNlLmggaXMgbm90IHVzZWQgYnkgdG9vbHMgYW5kCisJIyBnZW5lcmF0aW5nIGl0IHJlcXVpcmVzIGJpbjJoZWFkZXIgdG9vbCwgd2hpY2ggZm9yIHRhcmdldCBidWlsZAorCSMgaXMgYnVpbHQgd2l0aCB0YXJnZXQgdG9vbHMgYW5kIHRodXMgY2Fubm90IGJlIGV4ZWN1dGVkIG9uIGhvc3QuCisJc2VkIC1pIC1lICJzL0NPTkZJR19DTURfTElDRU5TRT0uKi8jIENPTkZJR19DTURfTElDRU5TRSBpcyBub3Qgc2V0LyIgJHtTRURfQ09ORklHX0VGSX0gLmNvbmZpZworCisJb2VfcnVubWFrZSBjcm9zc190b29scyBOT19TREw9MQorfQorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKworCSMgbWtpbWFnZQorCWluc3RhbGwgLW0gMDc1NSB0b29scy9ta2ltYWdlICR7RH0ke2JpbmRpcn0vdWJvb3QtbWtpbWFnZQorCWxuIC1zZiB1Ym9vdC1ta2ltYWdlICR7RH0ke2JpbmRpcn0vbWtpbWFnZQorCisJIyBta2VudmltYWdlCisJaW5zdGFsbCAtbSAwNzU1IHRvb2xzL21rZW52aW1hZ2UgJHtEfSR7YmluZGlyfS91Ym9vdC1ta2VudmltYWdlCisJbG4gLXNmIHVib290LW1rZW52aW1hZ2UgJHtEfSR7YmluZGlyfS9ta2VudmltYWdlCisKKwkjIGR1bXBpbWFnZQorCWluc3RhbGwgLW0gMDc1NSB0b29scy9kdW1waW1hZ2UgJHtEfSR7YmluZGlyfS91Ym9vdC1kdW1waW1hZ2UKKwlsbiAtc2YgdWJvb3QtZHVtcGltYWdlICR7RH0ke2JpbmRpcn0vZHVtcGltYWdlCisKKwkjIGZpdF9jaGVja19zaWduCisJaW5zdGFsbCAtbSAwNzU1IHRvb2xzL2ZpdF9jaGVja19zaWduICR7RH0ke2JpbmRpcn0vdWJvb3QtZml0X2NoZWNrX3NpZ24KKwlsbiAtc2YgdWJvb3QtZml0X2NoZWNrX3NpZ24gJHtEfSR7YmluZGlyfS9maXRfY2hlY2tfc2lnbgorfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorRklMRVNfJHtQTn0gPSAiIgorRklMRVNfJHtQTn0tbWtpbWFnZSA9ICIke2JpbmRpcn0vdWJvb3QtbWtpbWFnZSAke2JpbmRpcn0vbWtpbWFnZSAke2JpbmRpcn0vdWJvb3QtZHVtcGltYWdlICR7YmluZGlyfS9kdW1waW1hZ2UgJHtiaW5kaXJ9L3Vib290LWZpdF9jaGVja19zaWduICR7YmluZGlyfS9maXRfY2hlY2tfc2lnbiIKK0ZJTEVTXyR7UE59LW1rZW52aW1hZ2UgPSAiJHtiaW5kaXJ9L3Vib290LW1rZW52aW1hZ2UgJHtiaW5kaXJ9L21rZW52aW1hZ2UiCisKK1JERVBFTkRTXyR7UE59LW1raW1hZ2UgKz0gImR0YyIKK1JERVBFTkRTXyR7UE59ICs9ICIke1BOfS1ta2ltYWdlICR7UE59LW1rZW52aW1hZ2UiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ic3AvdS1ib290L3UtYm9vdC5pbmMKaW5kZXggNDhmYmM1Ny4uOTZjMWY5NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290LmluYwpAQCAtNSw3ICs1LDkgQEAKIAogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAotaW5oZXJpdCB1Ym9vdC1jb25maWcgdWJvb3QtZXh0bGludXgtY29uZmlnIHVib290LXNpZ24gZGVwbG95CitERVBFTkRTICs9ICJrZXJuLXRvb2xzLW5hdGl2ZSIKKworaW5oZXJpdCB1Ym9vdC1jb25maWcgdWJvb3QtZXh0bGludXgtY29uZmlnIHVib290LXNpZ24gZGVwbG95IGNtbDEKIAogREVQRU5EUyArPSAic3dpZy1uYXRpdmUgcHl0aG9uLW5hdGl2ZSIKIApAQCAtNjYsNiArNjgsMjggQEAKIFVCT09UX0VYVExJTlVYX0NPTkZfTkFNRSA/PSAiZXh0bGludXguY29uZiIKIFVCT09UX0VYVExJTlVYX1NZTUxJTksgPz0gIiR7VUJPT1RfRVhUTElOVVhfQ09ORl9OQU1FfS0ke01BQ0hJTkV9LSR7UFJ9IgogCisjIHJldHVybnMgYWxsIHRoZSBlbGVtZW50cyBmcm9tIHRoZSBzcmMgdXJpIHRoYXQgYXJlIC5jZmcgZmlsZXMKK2RlZiBmaW5kX2NmZ3MoZCk6CisgICAgc291cmNlcz1zcmNfcGF0Y2hlcyhkLCBUcnVlKQorICAgIHNvdXJjZXNfbGlzdD1bXQorICAgIGZvciBzIGluIHNvdXJjZXM6CisgICAgICAgIGlmIHMuZW5kc3dpdGgoJy5jZmcnKToKKyAgICAgICAgICAgIHNvdXJjZXNfbGlzdC5hcHBlbmQocykKKworICAgIHJldHVybiBzb3VyY2VzX2xpc3QKKworZG9fY29uZmlndXJlICgpIHsKKyAgICBpZiBbIC16ICIke1VCT09UX0NPTkZJR30iIF07IHRoZW4KKyAgICAgICAgaWYgWyAtbiAiJHtVQk9PVF9NQUNISU5FfSIgXTsgdGhlbgorICAgICAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9IE89JHtCfSAke1VCT09UX01BQ0hJTkV9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gb2xkY29uZmlnCisgICAgICAgIGZpCisgICAgICAgIG1lcmdlX2NvbmZpZy5zaCAtbSAuY29uZmlnICR7QCIgIi5qb2luKGZpbmRfY2ZncyhkKSl9CisgICAgICAgIGNtbDFfZG9fY29uZmlndXJlCisgICAgZmkKK30KKwogZG9fY29tcGlsZSAoKSB7CiAJaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsIGQpfSIgXTsgdGhlbgogCQlzZWQgLWkgJ3MvJChDUk9TU19DT01QSUxFKWxkJC8kKENST1NTX0NPTVBJTEUpbGQuYmZkL2cnICR7U30vY29uZmlnLm1rCkBAIC0xMDUsNyArMTI5LDYgQEAKICAgICAgICAgZG9uZQogICAgICAgICB1bnNldCAgaQogICAgIGVsc2UKLSAgICAgICAgb2VfcnVubWFrZSAtQyAke1N9IE89JHtCfSAke1VCT09UX01BQ0hJTkV9CiAgICAgICAgIG9lX3J1bm1ha2UgLUMgJHtTfSBPPSR7Qn0gJHtVQk9PVF9NQUtFX1RBUkdFVH0KICAgICBmaQogCkBAIC0yMDEsNyArMjI0LDcgQEAKIAogfQogCi1GSUxFU18ke1BOfSA9ICIvYm9vdCAke3N5c2NvbmZkaXJ9IgorRklMRVNfJHtQTn0gPSAiL2Jvb3QgJHtzeXNjb25mZGlyfSAke2RhdGFkaXJ9IgogCiBkb19kZXBsb3kgKCkgewogICAgIGlmIFsgLW4gIiR7VUJPT1RfQ09ORklHfSIgXQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOC4wNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTguMDcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3YzIxZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOC4wNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotcmVxdWlyZSB1LWJvb3QtY29tbW9uXyR7UFZ9LmluYwotcmVxdWlyZSB1LWJvb3QuaW5jCi0KLURFUEVORFMgKz0gImJjLW5hdGl2ZSBkdGMtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtYnNwL3UtYm9vdC91LWJvb3RfMjAxOS4wMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTkuMDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJkNjdjMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWJzcC91LWJvb3QvdS1ib290XzIwMTkuMDEuYmIKQEAgLTAsMCArMSw0IEBACityZXF1aXJlIHUtYm9vdC1jb21tb24uaW5jCityZXF1aXJlIHUtYm9vdC5pbmMKKworREVQRU5EUyArPSAiYmMtbmF0aXZlIGR0Yy1uYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGkuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2F2YWhpL2F2YWhpLmluYwppbmRleCAxMTg0Njg0Li44MzM5ZTQ1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvYXZhaGkuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9hdmFoaS5pbmMKQEAgLTE5LDcgKzE5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F2YWhpLWRhZW1vbi9tYWluLmM7ZW5kbGluZT0yMTttZDU9OWVlNzczNjhjNTQwN2FmNzdjYWFlZjFiMDcyODU5NjkgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXZhaGktY2xpZW50L2NsaWVudC5oO2VuZGxpbmU9MjM7bWQ1PWY0YWM3NDFhMjVjNGY0MzQwMzliYTNlMThjODY3NGNmIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9sYXRoaWF0L2F2YWhpL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9hdmFoaS0ke1BWfS50YXIuZ3oiCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9sYXRoaWF0L2F2YWhpL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9hdmFoaS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vZml4LUNWRS0yMDE3LTY1MTkucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9yZWxlYXNlcy8iCiBTUkNfVVJJW21kNXN1bV0gPSAiZDc2YzU5ZDA4ODJhYzZjMjU2ZDcwYTJhNTg1MzYyYTYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvZmlsZXMvZml4LUNWRS0yMDE3LTY1MTkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYXZhaGkvZmlsZXMvZml4LUNWRS0yMDE3LTY1MTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2MWZlMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9hdmFoaS9maWxlcy9maXgtQ1ZFLTIwMTctNjUxOS5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vbGF0aGlhdC9hdmFoaS9jb21taXQvZTExMWRlZl0KKworQ1ZFOiBDVkUtMjAxNy02NTE5CisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIGUxMTFkZWY0NGE3ZGY0NjI0YTRhYTNmODVmZTk4MDU0YmZmYjZiNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBUcmVudCBMbG95ZCA8dHJlbnRAbGxveWQuaWQuYXU+CitEYXRlOiBTYXQsIDIyIERlYyAyMDE4IDA5OjA2OjA3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIERyb3AgbGVnYWN5IHVuaWNhc3QgcXVlcmllcyBmcm9tIGFkZHJlc3Mgbm90IG9uIGxvY2FsIGxpbmsKKworV2hlbiBoYW5kbGluZyBsZWdhY3kgdW5pY2FzdCBxdWVyaWVzLCBlbnN1cmUgdGhhdCB0aGUgc291cmNlIElQIGlzCitpbnNpZGUgYSBzdWJuZXQgb24gdGhlIGxvY2FsIGxpbmssIG90aGVyd2lzZSBkcm9wIHRoZSBwYWNrZXQuCisKK0ZpeGVzICMxNDUKK0ZpeGVzICMyMDMKK0NWRS0yMDE3LTY1MTkKK0NWRS0yMDE4LTEwMDA4NDUKKy0tLQorIGF2YWhpLWNvcmUvc2VydmVyLmMgfCA4ICsrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvYXZhaGktY29yZS9zZXJ2ZXIuYyBiL2F2YWhpLWNvcmUvc2VydmVyLmMKK2luZGV4IGEyY2IxOWE4Li5hMjU4MGUzOCAxMDA2NDQKKy0tLSBhL2F2YWhpLWNvcmUvc2VydmVyLmMKKysrKyBiL2F2YWhpLWNvcmUvc2VydmVyLmMKK0BAIC05MzAsNiArOTMwLDcgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfcGFja2V0KEF2YWhpU2VydmVyICpzLCBBdmFoaURuc1BhY2tldCAqcCwgY29uc3QgQXZhaGlBZGRyZXMKKyAKKyAgICAgaWYgKGF2YWhpX2Ruc19wYWNrZXRfaXNfcXVlcnkocCkpIHsKKyAgICAgICAgIGludCBsZWdhY3lfdW5pY2FzdCA9IDA7CisrICAgICAgICBjaGFyIHRbQVZBSElfQUREUkVTU19TVFJfTUFYXTsKKyAKKyAgICAgICAgIC8qIEZvciBxdWVyaWVzIEVETlMwIG1pZ2h0IGFsbG93IEFSQ09VTlQgIT0gMC4gV2UgaWdub3JlIHRoZQorICAgICAgICAgICogQVIgc2VjdGlvbiBjb21wbGV0ZWx5IGhlcmUsIHNvIGZhci4gVW50aWwgdGhlIGRheSB3ZSBhZGQKK0BAIC05NDcsNiArOTQ4LDEzIEBAIHN0YXRpYyB2b2lkIGRpc3BhdGNoX3BhY2tldChBdmFoaVNlcnZlciAqcywgQXZhaGlEbnNQYWNrZXQgKnAsIGNvbnN0IEF2YWhpQWRkcmVzCisgICAgICAgICAgICAgbGVnYWN5X3VuaWNhc3QgPSAxOworICAgICAgICAgfQorIAorKyAgICAgICAgaWYgKCFpc19tZG5zX21jYXN0X2FkZHJlc3MoZHN0X2FkZHJlc3MpICYmCisrICAgICAgICAgICAgIWF2YWhpX2ludGVyZmFjZV9hZGRyZXNzX29uX2xpbmsoaSwgc3JjX2FkZHJlc3MpKSB7CisrCisrICAgICAgICAgICAgYXZhaGlfbG9nX2RlYnVnKCJSZWNlaXZlZCBub24tbG9jYWwgdW5pY2FzdCBxdWVyeSBmcm9tIGhvc3QgJXMgb24gaW50ZXJmYWNlICclcy4laScuIiwgYXZhaGlfYWRkcmVzc19zbnByaW50KHQsIHNpemVvZih0KSwgc3JjX2FkZHJlc3MpLCBpLT5oYXJkd2FyZS0+bmFtZSwgaS0+cHJvdG9jb2wpOworKyAgICAgICAgICAgIHJldHVybjsKKysgICAgICAgIH0KKysKKyAgICAgICAgIGlmIChsZWdhY3lfdW5pY2FzdCkKKyAgICAgICAgICAgICByZWZsZWN0X2xlZ2FjeV91bmljYXN0X3F1ZXJ5X3BhY2tldChzLCBwLCBpLCBzcmNfYWRkcmVzcywgcG9ydCk7CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kLzAwMDEtYnVpbGQtdXNlLXBrZy1jb25maWctdG8tZmluZC1saWJ4bWwyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC8wMDAxLWJ1aWxkLXVzZS1wa2ctY29uZmlnLXRvLWZpbmQtbGlieG1sMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWUyM2MwZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kLzAwMDEtYnVpbGQtdXNlLXBrZy1jb25maWctdG8tZmluZC1saWJ4bWwyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAoteG1sMi1jb25maWcgaXMgZGlzYWJsZWQsIHNvIGNoYW5nZSB0aGUgY29uZmlndXJlIHNjcmlwdCB0byB1c2UgcGtnY29uZmlnIHRvIGZpbmQKLWxpYnhtbDIuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotVXBkYXRlIGNvbnRleHQgZm9yIHZlcnNpb24gOS4xMC4zLVAyLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLQotVXBkYXRlIGNvbnRleHQgZm9yIHZlcnNpb24gOS4xMC41LVAzLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5pbiB8IDIzICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KLWluZGV4IDRkYTczYTQuLjZmMmE3NTQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuaW4KLSsrKyBiL2NvbmZpZ3VyZS5pbgotQEAgLTIyODIsMjYgKzIyODIsOSBAQCBjYXNlICIkdXNlX2xpYnhtbDIiIGluCi0gCQlEU1RfTElCWE1MMl9JTkM9IiIKLSAJCTs7Ci0gCWF1dG98eWVzKQotLQkJY2FzZSBYYCh4bWwyLWNvbmZpZyAtLXZlcnNpb24pIDI+L2Rldi9udWxsYCBpbgotLQkJWDIuW1s2Nzg5XV0uKikKLS0JCQlsaWJ4bWwyX2xpYnM9YHhtbDItY29uZmlnIC0tbGlic2AKLS0JCQlsaWJ4bWwyX2NmbGFncz1geG1sMi1jb25maWcgLS1jZmxhZ3NgCi0tCQkJOzsKLS0JCSopCi0tCQkJaWYgdGVzdCAieWVzIiA9ICIkdXNlX2xpYnhtbDIiIDsgdGhlbgotLQkJCQlBQ19NU0dfUkVTVUxUKG5vKQotLQkJCQlBQ19NU0dfRVJST1IocmVxdWlyZWQgbGlieG1sMiB2ZXJzaW9uIG5vdCBhdmFpbGFibGUpCi0tCQkJZWxzZQotLQkJCQlsaWJ4bWwyX2xpYnM9Ci0tCQkJCWxpYnhtbDJfY2ZsYWdzPQotLQkJCWZpCi0tCQkJOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCSopCi0tCQlpZiB0ZXN0IC1mICIkdXNlX2xpYnhtbDIvYmluL3htbDItY29uZmlnIiA7IHRoZW4KLS0JCQlsaWJ4bWwyX2xpYnM9YCR1c2VfbGlieG1sMi9iaW4veG1sMi1jb25maWcgLS1saWJzYAotLQkJCWxpYnhtbDJfY2ZsYWdzPWAkdXNlX2xpYnhtbDIvYmluL3htbDItY29uZmlnIC0tY2ZsYWdzYAotKwkJaWYgcGtnLWNvbmZpZyAtLWV4aXN0cyBsaWJ4bWwtMi4wIDsgdGhlbgotKwkJCWxpYnhtbDJfbGlicz1gcGtnLWNvbmZpZyBsaWJ4bWwtMi4wIC0tbGlic2AKLSsJCQlsaWJ4bWwyX2NmbGFncz1gcGtnLWNvbmZpZyBsaWJ4bWwtMi4wIC0tY2ZsYWdzYAotIAkJZmkKLSAJCTs7Ci0gZXNhYwotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kL0NWRS0yMDE4LTU3NDAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kL0NWRS0yMDE4LTU3NDAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMmJhN2UuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZC9DVkUtMjAxOC01NzQwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvOS4xMS40LVAxL3BhdGNoZXMvQ1ZFLTIwMTgtNTc0MF0KLQotQ1ZFOiBDVkUtMjAxOC01NzQwCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0KLWRpZmYgLS1naXQgYS9DSEFOR0VTIGIvQ0hBTkdFUwotaW5kZXggNzUwYjYwMC4uM2Q4ZDY1NSAxMDA2NDQKLS0tLSBhL0NIQU5HRVMKLSsrKyBiL0NIQU5HRVMKLUBAIC0xLDMgKzEsOSBAQAotKwktLS0gOS4xMS40LVAxIHJlbGVhc2VkIC0tLQotKwotKzQ5OTcuCVtzZWN1cml0eV0JbmFtZWQgY291bGQgY3Jhc2ggZHVyaW5nIHJlY3Vyc2l2ZSBwcm9jZXNzaW5nCi0rCQkJb2YgRE5BTUUgcmVjb3JkcyB3aGVuICJkZW55LWFuc3dlci1hbGlhc2VzIiB3YXMKLSsJCQlpbiB1c2UuIChDVkUtMjAxOC01NzQwKSBbR0wgIzM4N10KLSsKLSAJLS0tIDkuMTEuNCByZWxlYXNlZCAtLS0KLSAKLSAJLS0tIDkuMTEuNHJjMiByZWxlYXNlZCAtLS0KLWRpZmYgLS1naXQgYS9saWIvZG5zL3Jlc29sdmVyLmMgYi9saWIvZG5zL3Jlc29sdmVyLmMKLWluZGV4IDhmNjc0YTIuLjQxZDEzODUgMTAwNjQ0Ci0tLS0gYS9saWIvZG5zL3Jlc29sdmVyLmMKLSsrKyBiL2xpYi9kbnMvcmVzb2x2ZXIuYwotQEAgLTYzMTgsNiArNjMxOCw3IEBAIGlzX2Fuc3dlcnRhcmdldF9hbGxvd2VkKGZldGNoY3R4X3QgKmZjdHgsIGRuc19uYW1lX3QgKnFuYW1lLCBkbnNfbmFtZV90ICpybmFtZSwKLSAJdW5zaWduZWQgaW50IG5sYWJlbHM7Ci0gCWRuc19maXhlZG5hbWVfdCBmaXhlZDsKLSAJZG5zX25hbWVfdCBwcmVmaXg7Ci0rCWludCBvcmRlcjsKLSAKLSAJUkVRVUlSRShyZGF0YXNldCAhPSBOVUxMKTsKLSAJUkVRVUlSRShyZGF0YXNldC0+dHlwZSA9PSBkbnNfcmRhdGF0eXBlX2NuYW1lIHx8Ci1AQCAtNjM0MCwxNyArNjM0MSwyNSBAQCBpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmZXRjaGN0eF90ICpmY3R4LCBkbnNfbmFtZV90ICpxbmFtZSwgZG5zX25hbWVfdCAqcm5hbWUsCi0gCQl0bmFtZSA9ICZjbmFtZS5jbmFtZTsKLSAJCWJyZWFrOwotIAljYXNlIGRuc19yZGF0YXR5cGVfZG5hbWU6Ci0rCQlpZiAoZG5zX25hbWVfZnVsbGNvbXBhcmUocW5hbWUsIHJuYW1lLCAmb3JkZXIsICZubGFiZWxzKSAhPQotKwkJICAgIGRuc19uYW1lcmVsbl9zdWJkb21haW4pCi0rCQl7Ci0rCQkJcmV0dXJuIChJU0NfVFJVRSk7Ci0rCQl9Ci0gCQlyZXN1bHQgPSBkbnNfcmRhdGFfdG9zdHJ1Y3QoJnJkYXRhLCAmZG5hbWUsIE5VTEwpOwotIAkJUlVOVElNRV9DSEVDSyhyZXN1bHQgPT0gSVNDX1JfU1VDQ0VTUyk7Ci0gCQlkbnNfbmFtZV9pbml0KCZwcmVmaXgsIE5VTEwpOwotIAkJdG5hbWUgPSBkbnNfZml4ZWRuYW1lX2luaXRuYW1lKCZmaXhlZCk7Ci0tCQlubGFiZWxzID0gZG5zX25hbWVfY291bnRsYWJlbHMocW5hbWUpIC0KLS0JCQkgIGRuc19uYW1lX2NvdW50bGFiZWxzKHJuYW1lKTsKLSsJCW5sYWJlbHMgPSBkbnNfbmFtZV9jb3VudGxhYmVscyhybmFtZSk7Ci0gCQlkbnNfbmFtZV9zcGxpdChxbmFtZSwgbmxhYmVscywgJnByZWZpeCwgTlVMTCk7Ci0gCQlyZXN1bHQgPSBkbnNfbmFtZV9jb25jYXRlbmF0ZSgmcHJlZml4LCAmZG5hbWUuZG5hbWUsIHRuYW1lLAotIAkJCQkJICAgICAgTlVMTCk7Ci0tCQlpZiAocmVzdWx0ID09IEROU19SX05BTUVUT09MT05HKQotKwkJaWYgKHJlc3VsdCA9PSBETlNfUl9OQU1FVE9PTE9ORykgewotKwkJCWlmIChjaGFpbmluZ3AgIT0gTlVMTCkgewotKwkJCQkqY2hhaW5pbmdwID0gSVNDX1RSVUU7Ci0rCQkJfQotIAkJCXJldHVybiAoSVNDX1RSVUUpOwotKwkJfQotIAkJUlVOVElNRV9DSEVDSyhyZXN1bHQgPT0gSVNDX1JfU1VDQ0VTUyk7Ci0gCQlicmVhazsKLSAJZGVmYXVsdDoKLUBAIC03MDcxLDcgKzcwODAsOSBAQCBhbnN3ZXJfcmVzcG9uc2UoZmV0Y2hjdHhfdCAqZmN0eCkgewotIAkJfQotIAkJaWYgKChhcmRhdGFzZXQtPnR5cGUgPT0gZG5zX3JkYXRhdHlwZV9jbmFtZSB8fAotIAkJICAgICBhcmRhdGFzZXQtPnR5cGUgPT0gZG5zX3JkYXRhdHlwZV9kbmFtZSkgJiYKLS0JCSAgICAgIWlzX2Fuc3dlcnRhcmdldF9hbGxvd2VkKGZjdHgsIHFuYW1lLCBhbmFtZSwgYXJkYXRhc2V0LAotKwkJICAgIHR5cGUgIT0gYXJkYXRhc2V0LT50eXBlICYmCi0rCQkgICAgdHlwZSAhPSBkbnNfcmRhdGF0eXBlX2FueSAmJgotKwkJICAgICFpc19hbnN3ZXJ0YXJnZXRfYWxsb3dlZChmY3R4LCBxbmFtZSwgYW5hbWUsIGFyZGF0YXNldCwKLSAJCQkJCSAgICAgIE5VTEwpKQotIAkJewotIAkJCXJldHVybiAoRE5TX1JfU0VSVkZBSUwpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JpbmQvYmluZF85LjExLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2I0YTIxYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzNyArMCwwIEBACi1TVU1NQVJZID0gIklTQyBJbnRlcm5ldCBEb21haW4gTmFtZSBTZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmlzYy5vcmcvc3cvYmluZC8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLQotTElDRU5TRSA9ICJJU0MgJiBCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZUklHSFQ7bWQ1PTZiYTdjOWZlMGM4ODhhOTQzYzc5YzkzZTZkZTc0NGZiIgotCi1ERVBFTkRTID0gIm9wZW5zc2wgbGliY2FwIHpsaWIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvJHtQVn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb25mLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25hbWVkLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vYmluZDkgXAotICAgICAgICAgICBmaWxlOi8vZ2VuZXJhdGUtcm5kYy1rZXkuc2ggXAotICAgICAgICAgICBmaWxlOi8vbWFrZS1ldGMtaW5pdGQtYmluZC1zdG9wLXdvcmsucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW5pdC5kLWFkZC1zdXBwb3J0LWZvci1yZWFkLW9ubHktcm9vdGZzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2JpbmQtZW5zdXJlLXNlYXJjaGluZy1mb3ItanNvbi1oZWFkZXJzLXNlYXJjaGVzLXN5c3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1nZW4uYy1leHRlbmQtRElSTkFNRVNJWkUtZnJvbS0yNTYtdG8tNTEyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliLWRucy1nZW4uYy1maXgtdG9vLWxvbmctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuaW4tcmVtb3ZlLXVzZWxlc3MtTC11c2Vfb3BlbnNzbC1saWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1uYW1lZC1sd3Jlc2QtVi1hbmQtc3RhcnQtbG9nLWhpZGUtYnVpbGQtb3B0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWF2b2lkLXN0YXJ0LWZhaWx1cmUtd2l0aC1iaW5kLXVzZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtNTc0MC5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YjQ4MzRkNzhmMzBjZGI3OTZjZTQzNzI2MjI3MmEzNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTUwNzBiMDMxZjg2OWY4OTM5NjU2YjVhNWQxMWIxMjEyMTE5NjdmMTVmNmFmZWFmYTg5NWRmNzQ1Mjc5NjE3IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9mdHAuaXNjLm9yZy9pc2MvYmluZDkvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+OShcLlxkKykrKC1QXGQrKSopLyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkIHBrZ2NvbmZpZyBtdWx0aWxpYl9zY3JpcHQKLQotTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vYmluZDktY29uZmlnICR7UE59OiR7YmluZGlyfS9pc2MtY29uZmlnLnNoIgotCi0jIFBBQ0tBR0VDT05GSUdzIHJlYWRsaW5lIGFuZCBsaWJlZGl0IHNob3VsZCBOT1QgYmUgc2V0IGF0IHNhbWUgdGltZQotUEFDS0FHRUNPTkZJRyA/PSAicmVhZGxpbmUiCi1QQUNLQUdFQ09ORklHW2h0dHBzdGF0c10gPSAiLS13aXRoLWxpYnhtbDI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSwtLXdpdGhvdXQtbGlieG1sMixsaWJ4bWwyIgotUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lPS1scmVhZGxpbmUsLHJlYWRsaW5lIgotUEFDS0FHRUNPTkZJR1tsaWJlZGl0XSA9ICItLXdpdGgtcmVhZGxpbmU9LWxlZGl0LCxsaWJlZGl0IgotUEFDS0FHRUNPTkZJR1t1cmFuZG9tXSA9ICItLXdpdGgtcmFuZG9tZGV2PS9kZXYvdXJhbmRvbSwtLXdpdGgtcmFuZG9tZGV2PS9kZXYvcmFuZG9tLCwiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob249JHtQWVRIT059IC0td2l0aC1weXRob24taW5zdGFsbC1kaXI9JHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAsIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMtcGx5LW5hdGl2ZSwiCi0KLUVOQUJMRV9JUFY2ID0gIi0tZW5hYmxlLWlwdjY9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ3llcycsICdubycsIGQpfSIKLUVYVFJBX09FQ09ORiA9ICIgJHtFTkFCTEVfSVBWNn0gLS13aXRoLWxpYnRvb2wgLS1lbmFibGUtdGhyZWFkcyBcCi0gICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZXZwb2xsIC0tZW5hYmxlLWVwb2xsIC0td2l0aC1nb3N0PW5vIFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWdzc2FwaT1ubyAtLXdpdGgtZWNkc2E9eWVzIC0td2l0aC1lZGRzYT1ubyBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1sbWRiPW5vIFwKLSAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vYmluZCBcCi0gICAgICAgICAgICAgICAgIC0td2l0aC1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAotICAgICAgICAgICAgICAgIgotCi1pbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZSBkaXN0dXRpbHMzLWJhc2UnLCAnJywgZCl9Ci0KLSMgZGhjcCBuZWVkcyAubGEgc28ga2VlcCB0aGVtCi1SRU1PVkVfTElCVE9PTF9MQSA9ICIwIgotCi1VU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgotVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9iaW5kIC0tbm8tY3JlYXRlLWhvbWUgXAotICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgYmluZCIKLQotSU5JVFNDUklQVF9OQU1FID0gImJpbmQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5hbWVkLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfcHJlcGVuZCgpIHsKLQkjIGNsZWFuIGhvc3QgcGF0aCBpbiBpc2MtY29uZmlnLnNoIGJlZm9yZSB0aGUgaGFyZGxpbmsgY3JlYXRlZAotCSMgYnkgIm1ha2UgaW5zdGFsbCI6Ci0JIyAgIGJpbmQ5LWNvbmZpZyAtPiBpc2MtY29uZmlnLnNoCi0Jc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSwiICR7Qn0vaXNjLWNvbmZpZy5zaAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQotCXJtICIke0R9JHtiaW5kaXJ9L25zbG9va3VwIgotCXJtICIke0R9JHttYW5kaXJ9L21hbjEvbnNsb29rdXAuMSIKLQlybWRpciAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIgotCXJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICIke0R9JHtsb2NhbHN0YXRlZGlyfSIKLQlpbnN0YWxsIC1kIC1vIGJpbmQgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2NhY2hlL2JpbmQiCi0JaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vYmluZCIKLQlpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9pbml0LmQiCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9jb25mLyogIiR7RH0ke3N5c2NvbmZkaXJ9L2JpbmQvIgotCWluc3RhbGwgLW0gNzU1ICIke1N9L2luaXQuZCIgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9iaW5kIgotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uMywjISAvdXNyL2Jpbi9weXRob24zLCcgXAotCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgXAotCQkke0R9JHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCi0JCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1rZXltZ3IKLQlmaQotCi0JIyBJbnN0YWxsIHN5c3RlbWQgcmVsYXRlZCBmaWxlcwotCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KLQlpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L2dlbmVyYXRlLXJuZGMta2V5LnNoICR7RH0ke3NiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25hbWVkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCi0JICAgICAgIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLQkgICAgICAgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbmFtZWQuc2VydmljZQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0Ci0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYmluZDkgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCi0JCWVjaG8gImQgL3J1bi9uYW1lZCAwNzU1IGJpbmQgYmluZCAtIC0iID4gJHtEfSR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC9iaW5kLmNvbmYKLQlmaQotfQotCi1DT05GRklMRVNfJHtQTn0gPSAiIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZiBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYubG9jYWwgXAotCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mLm9wdGlvbnMgXAotCSR7c3lzY29uZmRpcn0vYmluZC9kYi4wIFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuMTI3IFwKLQkke3N5c2NvbmZkaXJ9L2JpbmQvZGIuZW1wdHkgXAotCSR7c3lzY29uZmRpcn0vYmluZC9kYi5sb2NhbCBcCi0JJHtzeXNjb25mZGlyfS9iaW5kL2RiLnJvb3QgXAotCSIKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LXV0aWxzIgotRklMRVNfJHtQTn0tdXRpbHMgPSAiJHtiaW5kaXJ9L2hvc3QgJHtiaW5kaXJ9L2RpZyAke2JpbmRpcn0vbWRpZyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2lzYy1jb25maWcuaCIKLUZJTEVTXyR7UE59ICs9ICIke3NiaW5kaXJ9L2dlbmVyYXRlLXJuZGMta2V5LnNoIgotCi1QQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tbGlicyIKLUZJTEVTXyR7UE59LWxpYnMgPSAiJHtsaWJkaXJ9Lyouc28qIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vKi5sYSIKLQotUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy1iaW5kJywgJycsIGQpfSIKLUZJTEVTX3B5dGhvbjMtYmluZCA9ICIke3NiaW5kaXJ9L2Ruc3NlYy1jb3ZlcmFnZSAke3NiaW5kaXJ9L2Ruc3NlYy1jaGVja2RzIFwKLSAgICAgICAgICAgICAgICAke3NiaW5kaXJ9L2Ruc3NlYy1rZXltZ3IgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCi0KLVJERVBFTkRTXyR7UE59ID0gImJhc2giCi1SREVQRU5EU18ke1BOfS11dGlscyA9ICJiYXNoIgotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLVJERVBFTkRTX3B5dGhvbjMtYmluZCA9ICJweXRob24zLWNvcmUgcHl0aG9uMy1wbHkiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9iaW5kL2JpbmRfOS4xMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3NjcyNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmluZC9iaW5kXzkuMTEuNS5iYgpAQCAtMCwwICsxLDEzOSBAQAorU1VNTUFSWSA9ICJJU0MgSW50ZXJuZXQgRG9tYWluIE5hbWUgU2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pc2Mub3JnL3N3L2JpbmQvIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCisKK0xJQ0VOU0UgPSAiSVNDICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT02YmE3YzlmZTBjODg4YTk0M2M3OWM5M2U2ZGU3NDRmYiIKKworREVQRU5EUyA9ICJvcGVuc3NsIGxpYmNhcCB6bGliIgorCitTUkNfVVJJID0gImh0dHBzOi8vZnRwLmlzYy5vcmcvaXNjL2JpbmQ5LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uYW1lZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL2JpbmQ5IFwKKyAgICAgICAgICAgZmlsZTovL2dlbmVyYXRlLXJuZGMta2V5LnNoIFwKKyAgICAgICAgICAgZmlsZTovL21ha2UtZXRjLWluaXRkLWJpbmQtc3RvcC13b3JrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQuZC1hZGQtc3VwcG9ydC1mb3ItcmVhZC1vbmx5LXJvb3Rmcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9iaW5kLWVuc3VyZS1zZWFyY2hpbmctZm9yLWpzb24taGVhZGVycy1zZWFyY2hlcy1zeXNyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2VuLmMtZXh0ZW5kLURJUk5BTUVTSVpFLWZyb20tMjU2LXRvLTUxMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpYi1kbnMtZ2VuLmMtZml4LXRvby1sb25nLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmluLXJlbW92ZS11c2VsZXNzLUwtdXNlX29wZW5zc2wtbGliLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbmFtZWQtbHdyZXNkLVYtYW5kLXN0YXJ0LWxvZy1oaWRlLWJ1aWxkLW9wdGlvbnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hdm9pZC1zdGFydC1mYWlsdXJlLXdpdGgtYmluZC11c2VyLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjE3YTBkMDIxMDIxMTdjOWEyMjFlODU3Y2YyY2M4MTU3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE0Y2FlMTFkYWQ5NTRiZGQ0ZWI1OTIxNzhmODc1YmZlYzA5ZmNjN2UyOWZlMGY2YjdhNGU1YjVjNmJjNjEzMjIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2Z0cC5pc2Mub3JnL2lzYy9iaW5kOS8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj45KFwuXGQrKSsoLVBcZCspKikvIgorUkVDSVBFX05PX1VQREFURV9SRUFTT04gPSAiOS4xMSBpcyBMVFMgMjAyMSIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCB1c2VyYWRkIHBrZ2NvbmZpZyBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vYmluZDktY29uZmlnICR7UE59OiR7YmluZGlyfS9pc2MtY29uZmlnLnNoIgorCisjIFBBQ0tBR0VDT05GSUdzIHJlYWRsaW5lIGFuZCBsaWJlZGl0IHNob3VsZCBOT1QgYmUgc2V0IGF0IHNhbWUgdGltZQorUEFDS0FHRUNPTkZJRyA/PSAicmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW2h0dHBzdGF0c10gPSAiLS13aXRoLWxpYnhtbDI9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSwtLXdpdGhvdXQtbGlieG1sMixsaWJ4bWwyIgorUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lPS1scmVhZGxpbmUsLHJlYWRsaW5lIgorUEFDS0FHRUNPTkZJR1tsaWJlZGl0XSA9ICItLXdpdGgtcmVhZGxpbmU9LWxlZGl0LCxsaWJlZGl0IgorUEFDS0FHRUNPTkZJR1t1cmFuZG9tXSA9ICItLXdpdGgtcmFuZG9tZGV2PS9kZXYvdXJhbmRvbSwtLXdpdGgtcmFuZG9tZGV2PS9kZXYvcmFuZG9tLCwiCitQQUNLQUdFQ09ORklHW3B5dGhvbjNdID0gIi0td2l0aC1weXRob249JHtQWVRIT059IC0td2l0aC1weXRob24taW5zdGFsbC1kaXI9JHtEfS8ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAsIC0td2l0aG91dC1weXRob24sIHB5dGhvbjMtcGx5LW5hdGl2ZSwiCisKK0VOQUJMRV9JUFY2ID0gIi0tZW5hYmxlLWlwdjY9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ3llcycsICdubycsIGQpfSIKK0VYVFJBX09FQ09ORiA9ICIgJHtFTkFCTEVfSVBWNn0gLS13aXRoLWxpYnRvb2wgLS1lbmFibGUtdGhyZWFkcyBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZXZwb2xsIC0tZW5hYmxlLWVwb2xsIC0td2l0aC1nb3N0PW5vIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWdzc2FwaT1ubyAtLXdpdGgtZWNkc2E9eWVzIC0td2l0aC1lZGRzYT1ubyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1sbWRiPW5vIFwKKyAgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vYmluZCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1vcGVuc3NsPSR7U1RBR0lOR19ESVJfSE9TVH0ke3ByZWZpeH0gXAorICAgICAgICAgICAgICAgIgorCitpbmhlcml0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uM25hdGl2ZSBkaXN0dXRpbHMzLWJhc2UnLCAnJywgZCl9CisKKyMgZGhjcCBuZWVkcyAubGEgc28ga2VlcCB0aGVtCitSRU1PVkVfTElCVE9PTF9MQSA9ICIwIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLWhvbWUgJHtsb2NhbHN0YXRlZGlyfS9jYWNoZS9iaW5kIC0tbm8tY3JlYXRlLWhvbWUgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgYmluZCIKKworSU5JVFNDUklQVF9OQU1FID0gImJpbmQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5hbWVkLnNlcnZpY2UiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIGNsZWFuIGhvc3QgcGF0aCBpbiBpc2MtY29uZmlnLnNoIGJlZm9yZSB0aGUgaGFyZGxpbmsgY3JlYXRlZAorCSMgYnkgIm1ha2UgaW5zdGFsbCI6CisJIyAgIGJpbmQ5LWNvbmZpZyAtPiBpc2MtY29uZmlnLnNoCisJc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSwiICR7Qn0vaXNjLWNvbmZpZy5zaAorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKworCXJtZGlyICIke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4iCisJcm1kaXIgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgIiR7RH0ke2xvY2Fsc3RhdGVkaXJ9IgorCWluc3RhbGwgLWQgLW8gYmluZCAiJHtEfSR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvYmluZCIKKwlpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9iaW5kIgorCWluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKKwlpbnN0YWxsIC1tIDY0NCAke1N9L2NvbmYvKiAiJHtEfSR7c3lzY29uZmRpcn0vYmluZC8iCisJaW5zdGFsbCAtbSA3NTUgIiR7U30vaW5pdC5kIiAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2JpbmQiCisgICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlzZWQgLWkgLWUgJzFzLCMhLipweXRob24zLCMhIC91c3IvYmluL3B5dGhvbjMsJyBcCisJCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1jb3ZlcmFnZSBcCisJCSR7RH0ke3NiaW5kaXJ9L2Ruc3NlYy1jaGVja2RzIFwKKwkJJHtEfSR7c2JpbmRpcn0vZG5zc2VjLWtleW1ncgorCWZpCisKKwkjIEluc3RhbGwgc3lzdGVtZCByZWxhdGVkIGZpbGVzCisJaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vZ2VuZXJhdGUtcm5kYy1rZXkuc2ggJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmFtZWQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKwkgICAgICAgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCSAgICAgICAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uYW1lZC5zZXJ2aWNlCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9iaW5kOSAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwkJZWNobyAiZCAvcnVuL25hbWVkIDA3NTUgYmluZCBiaW5kIC0gLSIgPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL2JpbmQuY29uZgorCWZpCit9CisKK0NPTkZGSUxFU18ke1BOfSA9ICIgXAorCSR7c3lzY29uZmRpcn0vYmluZC9uYW1lZC5jb25mIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvbmFtZWQuY29uZi5sb2NhbCBcCisJJHtzeXNjb25mZGlyfS9iaW5kL25hbWVkLmNvbmYub3B0aW9ucyBcCisJJHtzeXNjb25mZGlyfS9iaW5kL2RiLjAgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi4xMjcgXAorCSR7c3lzY29uZmRpcn0vYmluZC9kYi5lbXB0eSBcCisJJHtzeXNjb25mZGlyfS9iaW5kL2RiLmxvY2FsIFwKKwkke3N5c2NvbmZkaXJ9L2JpbmQvZGIucm9vdCBcCisJIgorCitBTFRFUk5BVElWRV8ke1BOfS11dGlscyA9ICJuc2xvb2t1cCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtuc2xvb2t1cF0gPSAiJHtiaW5kaXJ9L25zbG9va3VwIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitQQUNLQUdFX0JFRk9SRV9QTiArPSAiJHtQTn0tdXRpbHMiCitGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vaG9zdCAke2JpbmRpcn0vZGlnICR7YmluZGlyfS9tZGlnICR7YmluZGlyfS9uc2xvb2t1cCAke2JpbmRpcn0vbnN1cGRhdGUiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9pc2MtY29uZmlnLmgiCitGSUxFU18ke1BOfSArPSAiJHtzYmluZGlyfS9nZW5lcmF0ZS1ybmRjLWtleS5zaCIKKworUEFDS0FHRV9CRUZPUkVfUE4gKz0gIiR7UE59LWxpYnMiCitGSUxFU18ke1BOfS1saWJzID0gIiR7bGliZGlyfS8qLnNvKiIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9LyoubGEiCisKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24zJywgJ3B5dGhvbjMtYmluZCcsICcnLCBkKX0iCitGSUxFU19weXRob24zLWJpbmQgPSAiJHtzYmluZGlyfS9kbnNzZWMtY292ZXJhZ2UgJHtzYmluZGlyfS9kbnNzZWMtY2hlY2tkcyBcCisgICAgICAgICAgICAgICAgJHtzYmluZGlyfS9kbnNzZWMta2V5bWdyICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIgorUkRFUEVORFNfJHtQTn0tdXRpbHMgPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSREVQRU5EU19weXRob24zLWJpbmQgPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtcGx5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUuaW5jCmluZGV4IGVkYjQ0YjIuLmFhZjJhZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS5pbmMKQEAgLTQxLDcgKzQxLDcgQEAKIFBBQ0tBR0VDT05GSUdbdG9vbHNdID0gIi0tZW5hYmxlLXRvb2xzLC0tZGlzYWJsZS10b29scyIKIFBBQ0tBR0VDT05GSUdbdGhyZWFkc10gPSAiLS1lbmFibGUtdGhyZWFkcywtLWRpc2FibGUtdGhyZWFkcyIKIFBBQ0tBR0VDT05GSUdbZGVwcmVjYXRlZF0gPSAiLS1lbmFibGUtZGVwcmVjYXRlZCwtLWRpc2FibGUtZGVwcmVjYXRlZCIKLVBBQ0tBR0VDT05GSUdbbWVzaF0gPSAiLS1lbmFibGUtbWVzaCwtLWRpc2FibGUtbWVzaCwganNvbi1jIgorUEFDS0FHRUNPTkZJR1ttZXNoXSA9ICItLWVuYWJsZS1tZXNoLC0tZGlzYWJsZS1tZXNoLCBqc29uLWMgZWxsIgogUEFDS0FHRUNPTkZJR1tidHBjbGllbnRdID0gIi0tZW5hYmxlLWJ0cGNsaWVudCwtLWRpc2FibGUtYnRwY2xpZW50LCBlbGwiCiAKIFNSQ19VUkkgPSAiXApAQCAtNTMsNiArNTMsNyBAQAogICAgIGZpbGU6Ly8wMDAxLXRlc3RzLWFkZC1hLXRhcmdldC1mb3ItYnVpbGRpbmctdGVzdHMtd2l0aG91dC1ydW5uaW4ucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDAxLXRlc3QtZ2F0dC1GaXgtaHVuZy1pc3N1ZS5wYXRjaCBcCiAgICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tRml4LWEtcmFjZS1pc3N1ZS1mb3ItdG9vbHMucGF0Y2ggXAorICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDkxMC5wYXRjaCBcCiAiCiBTID0gIiR7V09SS0RJUn0vYmx1ZXotJHtQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L0NWRS0yMDE4LTEwOTEwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvQ1ZFLTIwMTgtMTA5MTAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRiMTg0NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L0NWRS0yMDE4LTEwOTEwLnBhdGNoCkBAIC0wLDAgKzEsNzA1IEBACitBIGJ1ZyBpbiBCbHVleiBtYXkgYWxsb3cgZm9yIHRoZSBCbHVldG9vdGggRGlzY292ZXJhYmxlIHN0YXRlIGJlaW5nIHNldCB0byBvbgord2hlbiBubyBCbHVldG9vdGggYWdlbnQgaXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzeXN0ZW0uIFRoaXMgc2l0dWF0aW9uIGNvdWxkCitsZWFkIHRvIHRoZSB1bmF1dGhvcml6ZWQgcGFpcmluZyBvZiBjZXJ0YWluIEJsdWV0b290aCBkZXZpY2VzIHdpdGhvdXQgYW55Citmb3JtIG9mIGF1dGhlbnRpY2F0aW9uLgorCitDVkU6IENWRS0yMDE4LTEwOTEwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMS80XSBjbGllbnQ6IEFkZCBkaXNjb3ZlcmFibGUtdGltZW91dCBjb21tYW5kCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNSAxMDoyMDozMgorTWVzc2FnZS1JRDogMjAxODA3MjUxMDIwMzUuMTk0MzktMS1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIGFkZHMgZGlzY292ZXJhYmxlLXRpbWVvdXQgY29tbWFuZCB3aGljaCBjYW4gYmUgdXNlZCB0byBnZXQvc2V0CitEaXNjb3ZlcmFibGVUaW1lb3V0IHByb3BlcnR5OgorCitbYmx1ZXRvb3RoXSMgZGlzY292ZXJhYmxlLXRpbWVvdXQgMTgwCitDaGFuZ2luZyBkaXNjb3ZlcmFibGUtdGltZW91dCAxODAgc3VjY2VlZGVkCistLS0KKyBjbGllbnQvbWFpbi5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIvY2xpZW50L21haW4uYworaW5kZXggODczMjNkOGY3Li41OTgyMGM2ZDkgMTAwNjQ0CistLS0gYS9jbGllbnQvbWFpbi5jCisrKysgYi9jbGllbnQvbWFpbi5jCitAQCAtMTA2MSw2ICsxMDYxLDQ3IEBAIHN0YXRpYyB2b2lkIGNtZF9kaXNjb3ZlcmFibGUoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKyB9CisgCisrc3RhdGljIHZvaWQgY21kX2Rpc2NvdmVyYWJsZV90aW1lb3V0KGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKwl1aW50MzJfdCB2YWx1ZTsKKysJY2hhciAqZW5kcHRyID0gTlVMTDsKKysJY2hhciAqc3RyOworKworKwlpZiAoYXJnYyA8IDIpIHsKKysJCURCdXNNZXNzYWdlSXRlciBpdGVyOworKworKwkJaWYgKCFnX2RidXNfcHJveHlfZ2V0X3Byb3BlcnR5KGRlZmF1bHRfY3RybC0+cHJveHksCisrCQkJCQkiRGlzY292ZXJhYmxlVGltZW91dCIsICZpdGVyKSkgeworKwkJCWJ0X3NoZWxsX3ByaW50ZigiVW5hYmxlIHRvIGdldCBEaXNjb3ZlcmFibGVUaW1lb3V0XG4iKTsKKysJCQlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworKwkJfQorKworKwkJZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2Jhc2ljKCZpdGVyLCAmdmFsdWUpOworKworKwkJYnRfc2hlbGxfcHJpbnRmKCJEaXNjb3ZlcmFibGVUaW1lb3V0OiAlZCBzZWNvbmRzXG4iLCB2YWx1ZSk7CisrCisrCQlyZXR1cm47CisrCX0KKysKKysJdmFsdWUgPSBzdHJ0b2woYXJndlsxXSwgJmVuZHB0ciwgMCk7CisrCWlmICghZW5kcHRyIHx8ICplbmRwdHIgIT0gJ1wwJyB8fCB2YWx1ZSA+IFVJTlQzMl9NQVgpIHsKKysJCWJ0X3NoZWxsX3ByaW50ZigiSW52YWxpZCBhcmd1bWVudFxuIik7CisrCQlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworKwl9CisrCisrCXN0ciA9IGdfc3RyZHVwX3ByaW50ZigiZGlzY292ZXJhYmxlLXRpbWVvdXQgJWQiLCB2YWx1ZSk7CisrCisrCWlmIChnX2RidXNfcHJveHlfc2V0X3Byb3BlcnR5X2Jhc2ljKGRlZmF1bHRfY3RybC0+cHJveHksCisrCQkJCQkiRGlzY292ZXJhYmxlVGltZW91dCIsCisrCQkJCQlEQlVTX1RZUEVfVUlOVDMyLCAmdmFsdWUsCisrCQkJCQlnZW5lcmljX2NhbGxiYWNrLCBzdHIsIGdfZnJlZSkpCisrCQlyZXR1cm47CisrCisrCWdfZnJlZShzdHIpOworKworKwlyZXR1cm4gYnRfc2hlbGxfbm9uaW50ZXJhY3RpdmVfcXVpdChFWElUX0ZBSUxVUkUpOworK30KKysKKyBzdGF0aWMgdm9pZCBjbWRfYWdlbnQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyB7CisgCWRidXNfYm9vbF90IGVuYWJsZTsKK0BAIC0yNTQ5LDYgKzI1OTAsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGJ0X3NoZWxsX21lbnUgbWFpbl9tZW51ID0geworIAl7ICJkaXNjb3ZlcmFibGUiLCAiPG9uL29mZj4iLCBjbWRfZGlzY292ZXJhYmxlLAorIAkJCQkJIlNldCBjb250cm9sbGVyIGRpc2NvdmVyYWJsZSBtb2RlIiwKKyAJCQkJCQkJTlVMTCB9LAorKwl7ICJkaXNjb3ZlcmFibGUtdGltZW91dCIsICJbdmFsdWVdIiwgY21kX2Rpc2NvdmVyYWJsZV90aW1lb3V0LAorKwkJCQkJIlNldCBkaXNjb3ZlcmFibGUgdGltZW91dCIsIE5VTEwgfSwKKyAJeyAiYWdlbnQiLCAgICAgICAgIjxvbi9vZmYvY2FwYWJpbGl0eT4iLCBjbWRfYWdlbnQsCisgCQkJCSJFbmFibGUvZGlzYWJsZSBhZ2VudCB3aXRoIGdpdmVuIGNhcGFiaWxpdHkiLAorIAkJCQkJCQljYXBhYmlsaXR5X2dlbmVyYXRvcn0sCistLSAKKzIuMTcuMQorCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMi80XSBjbGllbnQ6IE1ha2Ugc2hvdyBjb21tYW5kIHByaW50IERpc2NvdmVyYWJsZVRpbWVvdXQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjMzCitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS0yLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK0NvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggKHB1YmxpYykKKwlOYW1lOiBWdWRlbnR6J3MgVDQ2MHMKKwlBbGlhczogSW50ZWwtMQorCUNsYXNzOiAweDAwNGMwMTBjCisJUG93ZXJlZDogeWVzCisJRGlzY292ZXJhYmxlOiBubworCURpc2NvdmVyYWJsZVRpbWVvdXQ6IDB4MDAwMDAwMDAKKwlQYWlyYWJsZTogeWVzCisJVVVJRDogSGVhZHNldCBBRyAgICAgICAgICAgICAgICAoMDAwMDExMTItMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEdlbmVyaWMgQXR0cmlidXRlIFByb2ZpbGUgKDAwMDAxODAxLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBBL1YgUmVtb3RlIENvbnRyb2wgICAgICAgICgwMDAwMTEwZS0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogU0lNIEFjY2VzcyAgICAgICAgICAgICAgICAoMDAwMDExMmQtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEdlbmVyaWMgQWNjZXNzIFByb2ZpbGUgICAgKDAwMDAxODAwLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBQblAgSW5mb3JtYXRpb24gICAgICAgICAgICgwMDAwMTIwMC0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogQS9WIFJlbW90ZSBDb250cm9sIFRhcmdldCAoMDAwMDExMGMtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCVVVSUQ6IEF1ZGlvIFNvdXJjZSAgICAgICAgICAgICAgKDAwMDAxMTBhLTAwMDAtMTAwMC04MDAwLTAwODA1ZjliMzRmYikKKwlVVUlEOiBBdWRpbyBTaW5rICAgICAgICAgICAgICAgICgwMDAwMTEwYi0wMDAwLTEwMDAtODAwMC0wMDgwNWY5YjM0ZmIpCisJVVVJRDogSGVhZHNldCAgICAgICAgICAgICAgICAgICAoMDAwMDExMDgtMDAwMC0xMDAwLTgwMDAtMDA4MDVmOWIzNGZiKQorCU1vZGFsaWFzOiB1c2I6djFENkJwMDI0NmQwNTMyCisJRGlzY292ZXJpbmc6IG5vCistLS0KKyBjbGllbnQvbWFpbi5jIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jbGllbnQvbWFpbi5jIGIvY2xpZW50L21haW4uYworaW5kZXggNTk4MjBjNmQ5Li42ZjQ3MmQwNTAgMTAwNjQ0CistLS0gYS9jbGllbnQvbWFpbi5jCisrKysgYi9jbGllbnQvbWFpbi5jCitAQCAtODc3LDYgKzg3Nyw3IEBAIHN0YXRpYyB2b2lkIGNtZF9zaG93KGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiQ2xhc3MiKTsKKyAJcHJpbnRfcHJvcGVydHkocHJveHksICJQb3dlcmVkIik7CisgCXByaW50X3Byb3BlcnR5KHByb3h5LCAiRGlzY292ZXJhYmxlIik7CisrCXByaW50X3Byb3BlcnR5KHByb3h5LCAiRGlzY292ZXJhYmxlVGltZW91dCIpOworIAlwcmludF9wcm9wZXJ0eShwcm94eSwgIlBhaXJhYmxlIik7CisgCXByaW50X3V1aWRzKHByb3h5KTsKKyAJcHJpbnRfcHJvcGVydHkocHJveHksICJNb2RhbGlhcyIpOworLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiAzLzRdIGFkYXB0ZXI6IFRyYWNrIHBlbmRpbmcgc2V0dGluZ3MKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjM0CitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS0zLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgdHJhY2tzIHNldHRpbmdzIGJlaW5nIGNoYW5nZWQgYW5kIGluIGNhc2UgdGhlIHNldHRpbmdzIGlzIGFscmVhZHkKK3BlbmRpbmcgY29uc2lkZXJlZCBpdCB0byBiZSBkb25lLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IGFmMzQwZmQ2ZS4uMjBjMjBmOWU5IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTE5Niw2ICsxOTYsNyBAQCBzdHJ1Y3QgYnRkX2FkYXB0ZXIgeworIAljaGFyICpuYW1lOwkJCS8qIGNvbnRyb2xsZXIgZGV2aWNlIG5hbWUgKi8KKyAJY2hhciAqc2hvcnRfbmFtZTsJCS8qIGNvbnRyb2xsZXIgc2hvcnQgbmFtZSAqLworIAl1aW50MzJfdCBzdXBwb3J0ZWRfc2V0dGluZ3M7CS8qIGNvbnRyb2xsZXIgc3VwcG9ydGVkIHNldHRpbmdzICovCisrCXVpbnQzMl90IHBlbmRpbmdfc2V0dGluZ3M7CS8qIHBlbmRpbmcgY29udHJvbGxlciBzZXR0aW5ncyAqLworIAl1aW50MzJfdCBjdXJyZW50X3NldHRpbmdzOwkvKiBjdXJyZW50IGNvbnRyb2xsZXIgc2V0dGluZ3MgKi8KKyAKKyAJY2hhciAqcGF0aDsJCQkvKiBhZGFwdGVyIG9iamVjdCBwYXRoICovCitAQCAtNTA5LDggKzUxMCwxMCBAQCBzdGF0aWMgdm9pZCBzZXR0aW5nc19jaGFuZ2VkKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDMyX3Qgc2V0dGluZ3MpCisgCWNoYW5nZWRfbWFzayA9IGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgXiBzZXR0aW5nczsKKyAKKyAJYWRhcHRlci0+Y3VycmVudF9zZXR0aW5ncyA9IHNldHRpbmdzOworKwlhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzICY9IH5jaGFuZ2VkX21hc2s7CisgCisgCURCRygiQ2hhbmdlZCBzZXR0aW5nczogMHglMDh4IiwgY2hhbmdlZF9tYXNrKTsKKysJREJHKCJQZW5kaW5nIHNldHRpbmdzOiAweCUwOHgiLCBhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzKTsKKyAKKyAJaWYgKGNoYW5nZWRfbWFzayAmIE1HTVRfU0VUVElOR19QT1dFUkVEKSB7CisgCSAgICAgICAgZ19kYnVzX2VtaXRfcHJvcGVydHlfY2hhbmdlZChkYnVzX2Nvbm4sIGFkYXB0ZXItPnBhdGgsCitAQCAtNTk2LDEwICs1OTksMzEgQEAgc3RhdGljIGJvb2wgc2V0X21vZGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCB1aW50MTZfdCBvcGNvZGUsCisgCQkJCQkJCXVpbnQ4X3QgbW9kZSkKKyB7CisgCXN0cnVjdCBtZ210X21vZGUgY3A7CisrCXVpbnQzMl90IHNldHRpbmcgPSAwOworIAorIAltZW1zZXQoJmNwLCAwLCBzaXplb2YoY3ApKTsKKyAJY3AudmFsID0gbW9kZTsKKyAKKysJc3dpdGNoIChtb2RlKSB7CisrCWNhc2UgTUdNVF9PUF9TRVRfUE9XRVJFRDoKKysJCXNldHRpbmcgPSBNR01UX1NFVFRJTkdfUE9XRVJFRDsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0NPTk5FQ1RBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19DT05ORUNUQUJMRTsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0ZBU1RfQ09OTkVDVEFCTEU6CisrCQlzZXR0aW5nID0gTUdNVF9TRVRUSU5HX0ZBU1RfQ09OTkVDVEFCTEU7CisrCQlicmVhazsKKysJY2FzZSBNR01UX09QX1NFVF9ESVNDT1ZFUkFCTEU6CisrCQlzZXR0aW5nID0gTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRTsKKysJCWJyZWFrOworKwljYXNlIE1HTVRfT1BfU0VUX0JPTkRBQkxFOgorKwkJc2V0dGluZyA9IE1HTVRfU0VUVElOR19ESVNDT1ZFUkFCTEU7CisrCQlicmVhazsKKysJfQorKworKwlhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzIHw9IHNldHRpbmc7CisrCisgCURCRygic2VuZGluZyBzZXQgbW9kZSBjb21tYW5kIGZvciBpbmRleCAldSIsIGFkYXB0ZXItPmRldl9pZCk7CisgCisgCWlmIChtZ210X3NlbmQoYWRhcHRlci0+bWdtdCwgb3Bjb2RlLAorQEAgLTI3MzksMTMgKzI3NjMsMTUgQEAgc3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X21vZGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCB1aW50MzJfdCBzZXR0aW5nLAorIAllbHNlCisgCQljdXJyZW50X2VuYWJsZSA9IEZBTFNFOworIAorLQlpZiAoZW5hYmxlID09IGN1cnJlbnRfZW5hYmxlKSB7CisrCWlmIChlbmFibGUgPT0gY3VycmVudF9lbmFibGUgfHwgYWRhcHRlci0+cGVuZGluZ19zZXR0aW5ncyAmIHNldHRpbmcpIHsKKyAJCWdfZGJ1c19wZW5kaW5nX3Byb3BlcnR5X3N1Y2Nlc3MoaWQpOworIAkJcmV0dXJuOworIAl9CisgCisgCW1vZGUgPSAoZW5hYmxlID09IFRSVUUpID8gMHgwMSA6IDB4MDA7CisgCisrCWFkYXB0ZXItPnBlbmRpbmdfc2V0dGluZ3MgfD0gc2V0dGluZzsKKysKKyAJc3dpdGNoIChzZXR0aW5nKSB7CisgCWNhc2UgTUdNVF9TRVRUSU5HX1BPV0VSRUQ6CisgCQlvcGNvZGUgPSBNR01UX09QX1NFVF9QT1dFUkVEOworQEAgLTI3OTgsNyArMjgyNCw3IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9tb2RlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgdWludDMyX3Qgc2V0dGluZywKKyAJZGF0YS0+aWQgPSBpZDsKKyAKKyAJaWYgKG1nbXRfc2VuZChhZGFwdGVyLT5tZ210LCBvcGNvZGUsIGFkYXB0ZXItPmRldl9pZCwgbGVuLCBwYXJhbSwKKy0JCQkJcHJvcGVydHlfc2V0X21vZGVfY29tcGxldGUsIGRhdGEsIGdfZnJlZSkgPiAwKQorKwkJCXByb3BlcnR5X3NldF9tb2RlX2NvbXBsZXRlLCBkYXRhLCBnX2ZyZWUpID4gMCkKKyAJCXJldHVybjsKKyAKKyAJZ19mcmVlKGRhdGEpOworLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiA0LzRdIGFkYXB0ZXI6IENoZWNrIHBlbmRpbmcgd2hlbiBzZXR0aW5nIERpc2NvdmVyYWJsZVRpbWVvdXQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI1IDEwOjIwOjM1CitNZXNzYWdlLUlEOiAyMDE4MDcyNTEwMjAzNS4xOTQzOS00LWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgbWFrZXMgRGlzY292ZXJhYmxlVGltZW91dCBjaGVjayBpZiBkaXNjb3ZlcmFibGUgaXMgYWxyZWFkeSBwZW5kaW5nCithbmQgZG9uJ3QgYXR0ZW1wdCB0byBzZXQgaXQgb25jZSBhZ2FpbiB3aGljaCBtYXkgY2F1c2UgZGlzY292ZXJhYmxlIHRvCitiZSByZS1lbmFibGVkIHdoZW4gaW4gZmFjdCB0aGUgYXBwbGljYXRpb24ganVzdCB3YW50IHRvIHNldCB0aGUgdGltZW91dAorYWxvbmUuCistLS0KKyBzcmMvYWRhcHRlci5jIHwgMTQgKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IDIwYzIwZjllOS4uZjkyYzg5N2M3IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTI5MDEsNiArMjkwMSw3IEBAIHN0YXRpYyB2b2lkIHByb3BlcnR5X3NldF9kaXNjb3ZlcmFibGVfdGltZW91dCgKKyAJCQkJR0RCdXNQZW5kaW5nUHJvcGVydHlTZXQgaWQsIHZvaWQgKnVzZXJfZGF0YSkKKyB7CisgCXN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciA9IHVzZXJfZGF0YTsKKysJYm9vbCBlbmFibGVkOworIAlkYnVzX3VpbnQzMl90IHZhbHVlOworIAorIAlkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYmFzaWMoaXRlciwgJnZhbHVlKTsKK0BAIC0yOTE0LDggKzI5MTUsMTkgQEAgc3RhdGljIHZvaWQgcHJvcGVydHlfc2V0X2Rpc2NvdmVyYWJsZV90aW1lb3V0KAorIAlnX2RidXNfZW1pdF9wcm9wZXJ0eV9jaGFuZ2VkKGRidXNfY29ubiwgYWRhcHRlci0+cGF0aCwKKyAJCQkJQURBUFRFUl9JTlRFUkZBQ0UsICJEaXNjb3ZlcmFibGVUaW1lb3V0Iik7CisgCisrCWlmIChhZGFwdGVyLT5wZW5kaW5nX3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkgeworKwkJaWYgKGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgJiBNR01UX1NFVFRJTkdfRElTQ09WRVJBQkxFKQorKwkJCWVuYWJsZWQgPSBmYWxzZTsKKysJCWVsc2UKKysJCQllbmFibGVkID0gdHJ1ZTsKKysJfSBlbHNlIHsKKysJCWlmIChhZGFwdGVyLT5jdXJyZW50X3NldHRpbmdzICYgTUdNVF9TRVRUSU5HX0RJU0NPVkVSQUJMRSkKKysJCQllbmFibGVkID0gdHJ1ZTsKKysJCWVsc2UKKysJCQllbmFibGVkID0gZmFsc2U7CisrCX0KKyAKKy0JaWYgKGFkYXB0ZXItPmN1cnJlbnRfc2V0dGluZ3MgJiBNR01UX1NFVFRJTkdfRElTQ09WRVJBQkxFKQorKwlpZiAoZW5hYmxlZCkKKyAJCXNldF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgMHgwMSwgYWRhcHRlci0+ZGlzY292ZXJhYmxlX3RpbWVvdXQpOworIH0KKyAKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMS81XSBkb2MvYWRhcHRlci1hcGk6IEFkZCBEaXNjb3ZlcmFibGUgb3B0aW9uIHRvIFNldERpc2NvdmVyeUZpbHRlcgorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjYgMTQ6MTc6MTkKK01lc3NhZ2UtSUQ6IDIwMTgwNzI2MTQxNzIzLjIwMTk5LTEtbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBlbmFibGVzIHRoZSBjbGllbnQgdG8gc2V0IGl0cyBkaXNjb3ZlcmFibGUgc2V0dGluZyB3aGlsZQorZGlzY292ZXJpbmcgd2hpY2ggaXMgdmVyeSB0eXBpY2FsIHNpdHVhdGlvbiBhcyB1c3VhbGx5IHRoZSBzZXRpbmdzCithcHBsaWNhdGlvbiB3b3VsZCBhbGxvdyBpbmNvbWluZyBwYWlyaW5nIHJlcXVlc3Qgd2hpbGUgc2Nhbm5pbmcsIHNvCit0aGlzIHdvdWxkIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhbGxzIHNldHRpbmcgRGlzY292ZXJhYmxlIGFuZAorRGlzY292ZXJhYmxlVGltZW91dCBhbmQgcmVzdG9yaW5nIGFmdGVyIGRvbmUgd2l0aCBkaXNjb3ZlcnkuCistLS0KKyBkb2MvYWRhcHRlci1hcGkudHh0IHwgNiArKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9kb2MvYWRhcHRlci1hcGkudHh0IGIvZG9jL2FkYXB0ZXItYXBpLnR4dAoraW5kZXggZDE0ZDBjYTUwLi40NzkxYWYyYzcgMTAwNjQ0CistLS0gYS9kb2MvYWRhcHRlci1hcGkudHh0CisrKysgYi9kb2MvYWRhcHRlci1hcGkudHh0CitAQCAtMTEzLDYgKzExMywxMiBAQCBNZXRob2RzCQl2b2lkIFN0YXJ0RGlzY292ZXJ5KCkKKyAJCQkJZ2VuZXJhdGVkIGZvciBlaXRoZXIgTWFudWZhY3R1cmVyRGF0YSBhbmQKKyAJCQkJU2VydmljZURhdGEgZXZlcnl0aW1lIHRoZXkgYXJlIGRpc2NvdmVyZWQuCisgCisrCQkJYm9vbCBEaXNjb3ZlcmFibGUgKERlZmF1bHQ6IGZhbHNlKQorKworKwkJCQlNYWtlIGFkYXB0ZXIgZGlzY292ZXJhYmxlIHdoaWxlIGRpc2NvdmVyaW5nLAorKwkJCQlpZiB0aGUgYWRhcHRlciBpcyBhbHJlYWR5IGRpc2NvdmVyYWJsZSB0aGlzCisrCQkJCXNldHRpbmcgdGhpcyBmaWx0ZXIgd29uJ3QgZG8gYW55dGhpbmcuCisrCisgCQkJV2hlbiBkaXNjb3ZlcnkgZmlsdGVyIGlzIHNldCwgRGV2aWNlIG9iamVjdHMgd2lsbCBiZQorIAkJCWNyZWF0ZWQgYXMgbmV3IGRldmljZXMgd2l0aCBtYXRjaGluZyBjcml0ZXJpYSBhcmUKKyAJCQlkaXNjb3ZlcmVkIHJlZ2FyZGxlc3Mgb2YgdGhleSBhcmUgY29ubmVjdGFibGUgb3IKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogMi81XSBhZGFwdGVyOiBEaXNjb3ZlcnkgZmlsdGVyIGRpc2NvdmVyYWJsZQorRnJvbTogICAgICAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbT4KK0RhdGU6ICAgICAgIDIwMTgtMDctMjYgMTQ6MTc6MjAKK01lc3NhZ2UtSUQ6IDIwMTgwNzI2MTQxNzIzLjIwMTk5LTItbHVpei5kZW50eiAoKSBnbWFpbCAhIGNvbQorW0Rvd25sb2FkIFJBVyBtZXNzYWdlIG9yIGJvZHldCisKK0Zyb206IEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXoudm9uLmRlbnR6QGludGVsLmNvbT4KKworVGhpcyBpbXBsZW1lbnRzIHRoZSBkaXNjb3ZlcnkgZmlsdGVyIGRpc2NvdmVyYWJsZSBhbmQgdHJhY2tzIHdoaWNoCitjbGllbnRzIGhhZCBlbmFibGVkIGl0IGFuZCByZXN0b3JlcyB0aGUgc2V0dGluZ3Mgd2hlbiB0aGUgbGFzdCBjbGllbnQKK2VuYWJsaW5nIGl0IGV4aXRzLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2FkYXB0ZXIuYyBiL3NyYy9hZGFwdGVyLmMKK2luZGV4IGY5MmM4OTdjNy4uYmQ5ZWRkZGM2IDEwMDY0NAorLS0tIGEvc3JjL2FkYXB0ZXIuYworKysrIGIvc3JjL2FkYXB0ZXIuYworQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdHJ1Y3QgZGlzY292ZXJ5X2ZpbHRlciB7CisgCWludDE2X3QgcnNzaTsKKyAJR1NMaXN0ICp1dWlkczsKKyAJYm9vbCBkdXBsaWNhdGU7CisrCWJvb2wgZGlzY292ZXJhYmxlOworIH07CisgCisgc3RydWN0IHdhdGNoX2NsaWVudCB7CitAQCAtMjE0LDYgKzIxNSw3IEBAIHN0cnVjdCBidGRfYWRhcHRlciB7CisgCisgCWJvb2wgZGlzY292ZXJpbmc7CQkvKiBkaXNjb3ZlcmluZyBwcm9wZXJ0eSBzdGF0ZSAqLworIAlib29sIGZpbHRlcmVkX2Rpc2NvdmVyeTsJLyogd2UgYXJlIGRvaW5nIGZpbHRlcmVkIGRpc2NvdmVyeSAqLworKwlib29sIGZpbHRlcmVkX2Rpc2NvdmVyYWJsZTsJLyogd2UgYXJlIGRvaW5nIGZpbHRlcmVkIGRpc2NvdmVyeSAqLworIAlib29sIG5vX3NjYW5fcmVzdGFydF9kZWxheTsJLyogd2hlbiB0aGlzIGZsYWcgaXMgc2V0LCByZXN0YXJ0IHNjYW4KKyAJCQkJCSAqIHdpdGhvdXQgZGVsYXkgKi8KKyAJdWludDhfdCBkaXNjb3ZlcnlfdHlwZTsJCS8qIGN1cnJlbnQgYWN0aXZlIGRpc2NvdmVyeSB0eXBlICovCitAQCAtMTg0Miw2ICsxODQ0LDE2IEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9mcmVlKHZvaWQgKnVzZXJfZGF0YSkKKyAJZ19mcmVlKGNsaWVudCk7CisgfQorIAorK3N0YXRpYyBib29sIHNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoc3RydWN0IGJ0ZF9hZGFwdGVyICphZGFwdGVyLCBib29sIGVuYWJsZSkKKyt7CisrCWlmIChhZGFwdGVyLT5maWx0ZXJlZF9kaXNjb3ZlcmFibGUgPT0gZW5hYmxlKQorKwkJcmV0dXJuIHRydWU7CisrCisrCWFkYXB0ZXItPmZpbHRlcmVkX2Rpc2NvdmVyYWJsZSA9IGVuYWJsZTsKKysKKysJcmV0dXJuIHNldF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgZW5hYmxlLCAwKTsKKyt9CisrCisgc3RhdGljIHZvaWQgZGlzY292ZXJ5X3JlbW92ZShzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSBjbGllbnQtPmFkYXB0ZXI7CitAQCAtMTg1NCw2ICsxODY2LDIyIEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAlhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdCA9IGdfc2xpc3RfcmVtb3ZlKGFkYXB0ZXItPmRpc2NvdmVyeV9saXN0LAorIAkJCQkJCQkJY2xpZW50KTsKKyAKKysJaWYgKGFkYXB0ZXItPmZpbHRlcmVkX2Rpc2NvdmVyYWJsZSAmJgorKwkJCWNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKSB7CisrCQlHU0xpc3QgKmw7CisrCisrCQlmb3IgKGwgPSBhZGFwdGVyLT5kaXNjb3ZlcnlfbGlzdDsgbDsgbCA9IGdfc2xpc3RfbmV4dChsKSkgeworKwkJCXN0cnVjdCB3YXRjaF9jbGllbnQgKmNsaWVudCA9IGwtPmRhdGE7CisrCisrCQkJaWYgKGNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKQorKwkJCQlicmVhazsKKysJCX0KKysKKysJCS8qIERpc2FibGUgZmlsdGVyZWQgZGlzY292ZXJhYmxlIGlmIHRoZXJlIGFyZSBubyBjbGllbnRzICovCisrCQlpZiAoIWwpCisrCQkJc2V0X2ZpbHRlcmVkX2Rpc2NvdmVyYWJsZShhZGFwdGVyLCBmYWxzZSk7CisrCX0KKysKKyAJZGlzY292ZXJ5X2ZyZWUoY2xpZW50KTsKKyAKKyAJLyoKK0BAIC0yMjI0LDYgKzIyNTIsMTUgQEAgc3RhdGljIERCdXNNZXNzYWdlICpzdGFydF9kaXNjb3ZlcnkoREJ1c0Nvbm5lY3Rpb24gKmNvbm4sCisgCQkJCQkgICAgIGFkYXB0ZXItPnNldF9maWx0ZXJfbGlzdCwgY2xpZW50KTsKKyAJCWFkYXB0ZXItPmRpc2NvdmVyeV9saXN0ID0gZ19zbGlzdF9wcmVwZW5kKAorIAkJCQkJICAgICAgYWRhcHRlci0+ZGlzY292ZXJ5X2xpc3QsIGNsaWVudCk7CisrCisrCQkvKiBSZXNldCBkaXNjb3ZlcmFibGUgZmlsdGVyIGlmIGFscmVhZHkgc2V0ICovCisrCQlpZiAoYWRhcHRlci0+Y3VycmVudF9zZXR0aW5ncyAmIE1HTVRfT1BfU0VUX0RJU0NPVkVSQUJMRSkKKysJCQlnb3RvIGRvbmU7CisrCisrCQkvKiBTZXQgZGlzY292ZXJhYmxlIGlmIGZpbHRlciByZXF1aXJlcyBhbmQgaXQqLworKwkJaWYgKGNsaWVudC0+ZGlzY292ZXJ5X2ZpbHRlci0+ZGlzY292ZXJhYmxlKQorKwkJCXNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgdHJ1ZSk7CisrCisgCQlnb3RvIGRvbmU7CisgCX0KKyAKK0BAIC0yMzQ4LDYgKzIzODUsMTcgQEAgc3RhdGljIGJvb2wgcGFyc2VfZHVwbGljYXRlX2RhdGEoREJ1c01lc3NhZ2VJdGVyICp2YWx1ZSwKKyAJcmV0dXJuIHRydWU7CisgfQorIAorK3N0YXRpYyBib29sIHBhcnNlX2Rpc2NvdmVyYWJsZShEQnVzTWVzc2FnZUl0ZXIgKnZhbHVlLAorKwkJCQkJc3RydWN0IGRpc2NvdmVyeV9maWx0ZXIgKmZpbHRlcikKKyt7CisrCWlmIChkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYXJnX3R5cGUodmFsdWUpICE9IERCVVNfVFlQRV9CT09MRUFOKQorKwkJcmV0dXJuIGZhbHNlOworKworKwlkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYmFzaWModmFsdWUsICZmaWx0ZXItPmRpc2NvdmVyYWJsZSk7CisrCisrCXJldHVybiB0cnVlOworK30KKysKKyBzdHJ1Y3QgZmlsdGVyX3BhcnNlciB7CisgCWNvbnN0IGNoYXIgKm5hbWU7CisgCWJvb2wgKCpmdW5jKShEQnVzTWVzc2FnZUl0ZXIgKml0ZXIsIHN0cnVjdCBkaXNjb3ZlcnlfZmlsdGVyICpmaWx0ZXIpOworQEAgLTIzNTcsNiArMjQwNSw3IEBAIHN0cnVjdCBmaWx0ZXJfcGFyc2VyIHsKKyAJeyAiUGF0aGxvc3MiLCBwYXJzZV9wYXRobG9zcyB9LAorIAl7ICJUcmFuc3BvcnQiLCBwYXJzZV90cmFuc3BvcnQgfSwKKyAJeyAiRHVwbGljYXRlRGF0YSIsIHBhcnNlX2R1cGxpY2F0ZV9kYXRhIH0sCisrCXsgIkRpc2NvdmVyYWJsZSIsIHBhcnNlX2Rpc2NvdmVyYWJsZSB9LAorIAl7IH0KKyB9OworIAorQEAgLTIzOTYsNiArMjQ0NSw3IEBAIHN0YXRpYyBib29sIHBhcnNlX2Rpc2NvdmVyeV9maWx0ZXJfZGljdChzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIsCisgCSgqZmlsdGVyKS0+cnNzaSA9IERJU1RBTkNFX1ZBTF9JTlZBTElEOworIAkoKmZpbHRlciktPnR5cGUgPSBnZXRfc2Nhbl90eXBlKGFkYXB0ZXIpOworIAkoKmZpbHRlciktPmR1cGxpY2F0ZSA9IGZhbHNlOworKwkoKmZpbHRlciktPmRpc2NvdmVyYWJsZSA9IGZhbHNlOworIAorIAlkYnVzX21lc3NhZ2VfaXRlcl9pbml0KG1zZywgJml0ZXIpOworIAlpZiAoZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2FyZ190eXBlKCZpdGVyKSAhPSBEQlVTX1RZUEVfQVJSQVkgfHwKK0BAIC0yNDQxLDggKzI0OTEsMTAgQEAgc3RhdGljIGJvb2wgcGFyc2VfZGlzY292ZXJ5X2ZpbHRlcl9kaWN0KHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwKKyAJCWdvdG8gaW52YWxpZF9hcmdzOworIAorIAlEQkcoImZpbHRlcmVkIGRpc2NvdmVyeSBwYXJhbXM6IHRyYW5zcG9ydDogJWQgcnNzaTogJWQgcGF0aGxvc3M6ICVkICIKKy0JCSIgZHVwbGljYXRlIGRhdGE6ICVzICIsICgqZmlsdGVyKS0+dHlwZSwgKCpmaWx0ZXIpLT5yc3NpLAorLQkJKCpmaWx0ZXIpLT5wYXRobG9zcywgKCpmaWx0ZXIpLT5kdXBsaWNhdGUgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKKysJCSIgZHVwbGljYXRlIGRhdGE6ICVzIGRpc2NvdmVyYWJsZSAlcyIsICgqZmlsdGVyKS0+dHlwZSwKKysJCSgqZmlsdGVyKS0+cnNzaSwgKCpmaWx0ZXIpLT5wYXRobG9zcywKKysJCSgqZmlsdGVyKS0+ZHVwbGljYXRlID8gInRydWUiIDogImZhbHNlIiwKKysJCSgqZmlsdGVyKS0+ZGlzY292ZXJhYmxlID8gInRydWUiIDogImZhbHNlIik7CisgCisgCXJldHVybiB0cnVlOworIAorLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiAzLzVdIGNsaWVudDogQWRkIHNjYW4uZGlzY292ZXJhYmxlIGNvbW1hbmQKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjIxCitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS0zLWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK1RoaXMgYWRkcyBkaXNjb3ZlcmFibGUgY29tbWFuZCB0byBzY2FuIG1lbnUgd2hpY2ggY2FuIGJlIHVzZWQgdG8gc2V0CitpZiBhZGFwdGVyIHNob3VsZCBiZWNvbWUgZGlzY292ZXJhYmxlIHdoaWxlIHNjYW5uaW5nOgorCitbYmx1ZXRvb3RoXSMgc2Nhbi5kaXNjb3ZlcmFibGUgb24KK1tibHVldG9vdGhdIyBzY2FuIG9uCitTZXREaXNjb3ZlcnlGaWx0ZXIgc3VjY2VzcworW0NIR10gQ29udHJvbGxlciBYWDpYWDpYWDpYWDpYWDpYWCBEaXNjb3ZlcmFibGU6IHllcworRGlzY292ZXJ5IHN0YXJ0ZWQKK1tDSEddIENvbnRyb2xsZXIgWFg6WFg6WFg6WFg6WFg6WFggRGlzY292ZXJpbmc6IHllcworW2JsdWV0b290aF0jIHNjYW4gb2ZmCitEaXNjb3Zlcnkgc3RvcHBlZAorW0NIR10gQ29udHJvbGxlciBYWDpYWDpYWDpYWDpYWDpYWCBEaXNjb3ZlcmFibGU6IG5vCistLS0KKyBjbGllbnQvbWFpbi5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L21haW4uYyBiL2NsaWVudC9tYWluLmMKK2luZGV4IDZmNDcyZDA1MC4uNmU2ZjZkMmZiIDEwMDY0NAorLS0tIGEvY2xpZW50L21haW4uYworKysrIGIvY2xpZW50L21haW4uYworQEAgLTExNjYsNiArMTE2Niw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2V0X2Rpc2NvdmVyeV9maWx0ZXJfYXJncyB7CisgCWNoYXIgKip1dWlkczsKKyAJc2l6ZV90IHV1aWRzX2xlbjsKKyAJZGJ1c19ib29sX3QgZHVwbGljYXRlOworKwlkYnVzX2Jvb2xfdCBkaXNjb3ZlcmFibGU7CisgCWJvb2wgc2V0OworIH0gZmlsdGVyID0geworIAkucnNzaSA9IERJU1RBTkNFX1ZBTF9JTlZBTElELAorQEAgLTEyMDUsNiArMTIwNiwxMSBAQCBzdGF0aWMgdm9pZCBzZXRfZGlzY292ZXJ5X2ZpbHRlcl9zZXR1cChEQnVzTWVzc2FnZUl0ZXIgKml0ZXIsIHZvaWQgKnVzZXJfZGF0YSkKKyAJCQkJCQlEQlVTX1RZUEVfQk9PTEVBTiwKKyAJCQkJCQkmYXJncy0+ZHVwbGljYXRlKTsKKyAKKysJaWYgKGFyZ3MtPmRpc2NvdmVyYWJsZSkKKysJCWdfZGJ1c19kaWN0X2FwcGVuZF9lbnRyeSgmZGljdCwgIkRpc2NvdmVyYWJsZSIsCisrCQkJCQkJREJVU19UWVBFX0JPT0xFQU4sCisrCQkJCQkJJmFyZ3MtPmRpc2NvdmVyYWJsZSk7CisrCisgCWRidXNfbWVzc2FnZV9pdGVyX2Nsb3NlX2NvbnRhaW5lcihpdGVyLCAmZGljdCk7CisgfQorIAorQEAgLTEzNjIsNiArMTM2OCwyNiBAQCBzdGF0aWMgdm9pZCBjbWRfc2Nhbl9maWx0ZXJfZHVwbGljYXRlX2RhdGEoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJZmlsdGVyLnNldCA9IGZhbHNlOworIH0KKyAKKytzdGF0aWMgdm9pZCBjbWRfc2Nhbl9maWx0ZXJfZGlzY292ZXJhYmxlKGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKwlpZiAoYXJnYyA8IDIgfHwgIXN0cmxlbihhcmd2WzFdKSkgeworKwkJYnRfc2hlbGxfcHJpbnRmKCJEaXNjb3ZlcmFibGU6ICVzXG4iLAorKwkJCQlmaWx0ZXIuZGlzY292ZXJhYmxlID8gIm9uIiA6ICJvZmYiKTsKKysJCXJldHVybiBidF9zaGVsbF9ub25pbnRlcmFjdGl2ZV9xdWl0KEVYSVRfU1VDQ0VTUyk7CisrCX0KKysKKysJaWYgKCFzdHJjbXAoYXJndlsxXSwgIm9uIikpCisrCQlmaWx0ZXIuZGlzY292ZXJhYmxlID0gdHJ1ZTsKKysJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAib2ZmIikpCisrCQlmaWx0ZXIuZGlzY292ZXJhYmxlID0gZmFsc2U7CisrCWVsc2UgeworKwkJYnRfc2hlbGxfcHJpbnRmKCJJbnZhbGlkIG9wdGlvbjogJXNcbiIsIGFyZ3ZbMV0pOworKwkJcmV0dXJuIGJ0X3NoZWxsX25vbmludGVyYWN0aXZlX3F1aXQoRVhJVF9GQUlMVVJFKTsKKysJfQorKworKwlmaWx0ZXIuc2V0ID0gZmFsc2U7CisrfQorKworIHN0YXRpYyB2b2lkIGZpbHRlcl9jbGVhcl91dWlkcyh2b2lkKQorIHsKKyAJZ19zdHJmcmVldihmaWx0ZXIudXVpZHMpOworQEAgLTI1MTAsNiArMjUzNiw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYnRfc2hlbGxfbWVudSBzY2FuX21lbnUgPSB7CisgCXsgImR1cGxpY2F0ZS1kYXRhIiwgIltvbi9vZmZdIiwgY21kX3NjYW5fZmlsdGVyX2R1cGxpY2F0ZV9kYXRhLAorIAkJCQkiU2V0L0dldCBkdXBsaWNhdGUgZGF0YSBmaWx0ZXIiLAorIAkJCQlOVUxMIH0sCisrCXsgImRpc2NvdmVyYWJsZSIsICJbb24vb2ZmXSIsIGNtZF9zY2FuX2ZpbHRlcl9kaXNjb3ZlcmFibGUsCisrCQkJCSJTZXQvR2V0IGRpc2NvdmVyYWJsZSBmaWx0ZXIiLAorKwkJCQlOVUxMIH0sCisgCXsgImNsZWFyIiwgIlt1dWlkcy9yc3NpL3BhdGhsb3NzL3RyYW5zcG9ydC9kdXBsaWNhdGUtZGF0YV0iLAorIAkJCQljbWRfc2Nhbl9maWx0ZXJfY2xlYXIsCisgCQkJCSJDbGVhcnMgZGlzY292ZXJ5IGZpbHRlci4iLAorLS0gCisyLjE3LjEKK1N1YmplY3Q6ICAgIFtQQVRDSCBCbHVlWiA0LzVdIGNsaWVudDogQWRkIHNjYW4uY2xlYXIgZGlzY292ZXJhYmxlCitGcm9tOiAgICAgICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tPgorRGF0ZTogICAgICAgMjAxOC0wNy0yNiAxNDoxNzoyMgorTWVzc2FnZS1JRDogMjAxODA3MjYxNDE3MjMuMjAxOTktNC1sdWl6LmRlbnR6ICgpIGdtYWlsICEgY29tCitbRG93bmxvYWQgUkFXIG1lc3NhZ2Ugb3IgYm9keV0KKworRnJvbTogTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei52b24uZGVudHpAaW50ZWwuY29tPgorCitUaGlzIGltcGxlbWVudHMgc2Nhbi5jbGVhciBmb3IgZGlzY292ZXJhYmxlIGZpbHRlci4KKy0tLQorIGNsaWVudC9tYWluLmMgfCA5ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NsaWVudC9tYWluLmMgYi9jbGllbnQvbWFpbi5jCitpbmRleCA2ZTZmNmQyZmIuLjFhNjZhM2FiNCAxMDA2NDQKKy0tLSBhL2NsaWVudC9tYWluLmMKKysrKyBiL2NsaWVudC9tYWluLmMKK0BAIC0xNDE2LDYgKzE0MTYsMTEgQEAgc3RhdGljIHZvaWQgZmlsdGVyX2NsZWFyX2R1cGxpY2F0ZSh2b2lkKQorIAlmaWx0ZXIuZHVwbGljYXRlID0gZmFsc2U7CisgfQorIAorK3N0YXRpYyB2b2lkIGZpbHRlcl9jbGVhcl9kaXNjb3ZlcmFibGUodm9pZCkKKyt7CisrCWZpbHRlci5kaXNjb3ZlcmFibGUgPSBmYWxzZTsKKyt9CisrCisgc3RydWN0IGNsZWFyX2VudHJ5IHsKKyAJY29uc3QgY2hhciAqbmFtZTsKKyAJdm9pZCAoKmNsZWFyKSAodm9pZCk7CitAQCAtMTQyNyw2ICsxNDMyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjbGVhcl9lbnRyeSBmaWx0ZXJfY2xlYXJbXSA9IHsKKyAJeyAicGF0aGxvc3MiLCBmaWx0ZXJfY2xlYXJfcGF0aGxvc3MgfSwKKyAJeyAidHJhbnNwb3J0IiwgZmlsdGVyX2NsZWFyX3RyYW5zcG9ydCB9LAorIAl7ICJkdXBsaWNhdGUtZGF0YSIsIGZpbHRlcl9jbGVhcl9kdXBsaWNhdGUgfSwKKysJeyAiZGlzY292ZXJhYmxlIiwgZmlsdGVyX2NsZWFyX2Rpc2NvdmVyYWJsZSB9LAorIAl7fQorIH07CisgCitAQCAtMjUzOSw3ICsyNTQ1LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBidF9zaGVsbF9tZW51IHNjYW5fbWVudSA9IHsKKyAJeyAiZGlzY292ZXJhYmxlIiwgIltvbi9vZmZdIiwgY21kX3NjYW5fZmlsdGVyX2Rpc2NvdmVyYWJsZSwKKyAJCQkJIlNldC9HZXQgZGlzY292ZXJhYmxlIGZpbHRlciIsCisgCQkJCU5VTEwgfSwKKy0JeyAiY2xlYXIiLCAiW3V1aWRzL3Jzc2kvcGF0aGxvc3MvdHJhbnNwb3J0L2R1cGxpY2F0ZS1kYXRhXSIsCisrCXsgImNsZWFyIiwKKysJCSJbdXVpZHMvcnNzaS9wYXRobG9zcy90cmFuc3BvcnQvZHVwbGljYXRlLWRhdGEvZGlzY292ZXJhYmxlXSIsCisgCQkJCWNtZF9zY2FuX2ZpbHRlcl9jbGVhciwKKyAJCQkJIkNsZWFycyBkaXNjb3ZlcnkgZmlsdGVyLiIsCisgCQkJCWZpbHRlcl9jbGVhcl9nZW5lcmF0b3IgfSwKKy0tIAorMi4xNy4xCitTdWJqZWN0OiAgICBbUEFUQ0ggQmx1ZVogNS81XSBhZGFwdGVyOiBGaXggbm90IGtlZXBpbmcgZGlzY292ZXJ5IGZpbHRlcnMKK0Zyb206ICAgICAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHogKCkgZ21haWwgISBjb20+CitEYXRlOiAgICAgICAyMDE4LTA3LTI2IDE0OjE3OjIzCitNZXNzYWdlLUlEOiAyMDE4MDcyNjE0MTcyMy4yMDE5OS01LWx1aXouZGVudHogKCkgZ21haWwgISBjb20KK1tEb3dubG9hZCBSQVcgbWVzc2FnZSBvciBib2R5XQorCitGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CisKK0lmIHRoZSBkaXNjb3ZlcnkgaGFzIGJlZW4gc3RvcHBlZCBhbmQgdGhlIGNsaWVudCBoYXMgc2V0IGZpbHRlcnMgdGhvc2UKK3Nob3VsZCBiZSBwdXQgYmFjayBpbnRvIGZpbHRlciBsaXN0IHNpbmNlIHRoZSBjbGllbnQgbWF5IHN0aWxsIGJlCitpbnRlcmVzdGVkIGluIHVzaW5nIHRoZW0gdGhlIG5leHQgdGltZSBpdCBzdGFydCBhIHNjYW5uaW5nLgorLS0tCisgc3JjL2FkYXB0ZXIuYyB8IDI1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9hZGFwdGVyLmMgYi9zcmMvYWRhcHRlci5jCitpbmRleCBiZDllZGRkYzYuLjgyMmJkMzQ3MiAxMDA2NDQKKy0tLSBhL3NyYy9hZGFwdGVyLmMKKysrKyBiL3NyYy9hZGFwdGVyLmMKK0BAIC0xODU0LDcgKzE4NTQsNyBAQCBzdGF0aWMgYm9vbCBzZXRfZmlsdGVyZWRfZGlzY292ZXJhYmxlKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBlbmFibGUpCisgCXJldHVybiBzZXRfZGlzY292ZXJhYmxlKGFkYXB0ZXIsIGVuYWJsZSwgMCk7CisgfQorIAorLXN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorK3N0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50LCBib29sIGV4aXQpCisgeworIAlzdHJ1Y3QgYnRkX2FkYXB0ZXIgKmFkYXB0ZXIgPSBjbGllbnQtPmFkYXB0ZXI7CisgCitAQCAtMTg4Miw3ICsxODgyLDExIEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9yZW1vdmUoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAkJCXNldF9maWx0ZXJlZF9kaXNjb3ZlcmFibGUoYWRhcHRlciwgZmFsc2UpOworIAl9CisgCistCWRpc2NvdmVyeV9mcmVlKGNsaWVudCk7CisrCWlmICghZXhpdCAmJiBjbGllbnQtPmRpc2NvdmVyeV9maWx0ZXIpCisrCQlhZGFwdGVyLT5zZXRfZmlsdGVyX2xpc3QgPSBnX3NsaXN0X3ByZXBlbmQoCisrCQkJCQlhZGFwdGVyLT5zZXRfZmlsdGVyX2xpc3QsIGNsaWVudCk7CisrCWVsc2UKKysJCWRpc2NvdmVyeV9mcmVlKGNsaWVudCk7CisgCisgCS8qCisgCSAqIElmIHRoZXJlIGFyZSBvdGhlciBjbGllbnQgZGlzY292ZXJpZXMgaW4gcHJvZ3Jlc3MsIHRoZW4gbGVhdmUKK0BAIC0xOTExLDggKzE5MTUsMTEgQEAgc3RhdGljIHZvaWQgc3RvcF9kaXNjb3ZlcnlfY29tcGxldGUodWludDhfdCBzdGF0dXMsIHVpbnQxNl90IGxlbmd0aCwKKyAJCWdvdG8gZG9uZTsKKyAJfQorIAorLQlpZiAoY2xpZW50LT5tc2cpCisrCWlmIChjbGllbnQtPm1zZykgeworIAkJZ19kYnVzX3NlbmRfcmVwbHkoZGJ1c19jb25uLCBjbGllbnQtPm1zZywgREJVU19UWVBFX0lOVkFMSUQpOworKwkJZGJ1c19tZXNzYWdlX3VucmVmKGNsaWVudC0+bXNnKTsKKysJCWNsaWVudC0+bXNnID0gTlVMTDsKKysJfQorIAorIAlhZGFwdGVyLT5kaXNjb3ZlcnlfdHlwZSA9IDB4MDA7CisgCWFkYXB0ZXItPmRpc2NvdmVyeV9lbmFibGUgPSAweDAwOworQEAgLTE5MjUsNyArMTkzMiw3IEBAIHN0YXRpYyB2b2lkIHN0b3BfZGlzY292ZXJ5X2NvbXBsZXRlKHVpbnQ4X3Qgc3RhdHVzLCB1aW50MTZfdCBsZW5ndGgsCisgCXRyaWdnZXJfcGFzc2l2ZV9zY2FubmluZyhhZGFwdGVyKTsKKyAKKyBkb25lOgorLQlkaXNjb3ZlcnlfcmVtb3ZlKGNsaWVudCk7CisrCWRpc2NvdmVyeV9yZW1vdmUoY2xpZW50LCBmYWxzZSk7CisgfQorIAorIHN0YXRpYyBpbnQgY29tcGFyZV9zZW5kZXIoZ2NvbnN0cG9pbnRlciBhLCBnY29uc3Rwb2ludGVyIGIpCitAQCAtMjE0NiwxNCArMjE1MywxNCBAQCBzdGF0aWMgaW50IHVwZGF0ZV9kaXNjb3ZlcnlfZmlsdGVyKHN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlcikKKyAJcmV0dXJuIC1FSU5QUk9HUkVTUzsKKyB9CisgCistc3RhdGljIGludCBkaXNjb3Zlcnlfc3RvcChzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQpCisrc3RhdGljIGludCBkaXNjb3Zlcnlfc3RvcChzdHJ1Y3Qgd2F0Y2hfY2xpZW50ICpjbGllbnQsIGJvb2wgZXhpdCkKKyB7CisgCXN0cnVjdCBidGRfYWRhcHRlciAqYWRhcHRlciA9IGNsaWVudC0+YWRhcHRlcjsKKyAJc3RydWN0IG1nbXRfY3Bfc3RvcF9kaXNjb3ZlcnkgY3A7CisgCisgCS8qIENoZWNrIGlmIHRoZXJlIGFyZSBtb3JlIGNsaWVudCBkaXNjb3ZlcmluZyAqLworIAlpZiAoZ19zbGlzdF9uZXh0KGFkYXB0ZXItPmRpc2NvdmVyeV9saXN0KSkgeworLQkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQpOworKwkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQsIGV4aXQpOworIAkJdXBkYXRlX2Rpc2NvdmVyeV9maWx0ZXIoYWRhcHRlcik7CisgCQlyZXR1cm4gMDsKKyAJfQorQEAgLTIxNjMsNyArMjE3MCw3IEBAIHN0YXRpYyBpbnQgZGlzY292ZXJ5X3N0b3Aoc3RydWN0IHdhdGNoX2NsaWVudCAqY2xpZW50KQorIAkgKiBhbmQgc28gaXQgaXMgZW5vdWdoIHRvIHNlbmQgb3V0IHRoZSBzaWduYWwgYW5kIGp1c3QgcmV0dXJuLgorIAkgKi8KKyAJaWYgKGFkYXB0ZXItPmRpc2NvdmVyeV9lbmFibGUgPT0gMHgwMCkgeworLQkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQpOworKwkJZGlzY292ZXJ5X3JlbW92ZShjbGllbnQsIGV4aXQpOworIAkJYWRhcHRlci0+ZGlzY292ZXJpbmcgPSBmYWxzZTsKKyAJCWdfZGJ1c19lbWl0X3Byb3BlcnR5X2NoYW5nZWQoZGJ1c19jb25uLCBhZGFwdGVyLT5wYXRoLAorIAkJCQkJQURBUFRFUl9JTlRFUkZBQ0UsICJEaXNjb3ZlcmluZyIpOworQEAgLTIxODgsNyArMjE5NSw3IEBAIHN0YXRpYyB2b2lkIGRpc2NvdmVyeV9kaXNjb25uZWN0KERCdXNDb25uZWN0aW9uICpjb25uLCB2b2lkICp1c2VyX2RhdGEpCisgCisgCURCRygib3duZXIgJXMiLCBjbGllbnQtPm93bmVyKTsKKyAKKy0JZGlzY292ZXJ5X3N0b3AoY2xpZW50KTsKKysJZGlzY292ZXJ5X3N0b3AoY2xpZW50LCB0cnVlKTsKKyB9CisgCisgLyoKK0BAIC0yNTg2LDcgKzI1OTMsNyBAQCBzdGF0aWMgREJ1c01lc3NhZ2UgKnN0b3BfZGlzY292ZXJ5KERCdXNDb25uZWN0aW9uICpjb25uLAorIAlpZiAoY2xpZW50LT5tc2cpCisgCQlyZXR1cm4gYnRkX2Vycm9yX2J1c3kobXNnKTsKKyAKKy0JZXJyID0gZGlzY292ZXJ5X3N0b3AoY2xpZW50KTsKKysJZXJyID0gZGlzY292ZXJ5X3N0b3AoY2xpZW50LCBmYWxzZSk7CisgCXN3aXRjaCAoZXJyKSB7CisgCWNhc2UgMDoKKyAJCXJldHVybiBkYnVzX21lc3NhZ2VfbmV3X21ldGhvZF9yZXR1cm4obXNnKTsKKy0tIAorMi4xNy4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9pbml0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2JsdWV6NS9ibHVlejUvaW5pdAppbmRleCBkNzk3MmYyLi5jYTlmYTE4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvYmx1ZXo1L2JsdWV6NS9pbml0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9ibHVlejUvYmx1ZXo1L2luaXQKQEAgLTEsNSArMSw4IEBACiAjIS9iaW4vc2gKIAorIyBTb3VyY2UgZnVuY3Rpb24gbGlicmFyeQorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKwogUEFUSD0vc2JpbjovYmluOi91c3Ivc2JpbjovdXNyL2JpbgogREVTQz1ibHVldG9vdGgKIApAQCAtNDQsMTQgKzQ3LDcgQEAKIAkkMCBzdGFydAogICA7OwogICBzdGF0dXMpCi0JIHBpZG9mICR7REFFTU9OfSA+L2Rldi9udWxsCi0JIHN0YXR1cz0kPwotICAgICAgICBpZiBbICRzdGF0dXMgLWVxIDAgXTsgdGhlbgotICAgICAgICAgICAgICAgICBlY2hvICJibHVldG9vdGggaXMgcnVubmluZy4iCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBlY2hvICJibHVldG9vdGggaXMgbm90IHJ1bm5pbmciCi0gICAgICAgIGZpCi0gICAgICAgIGV4aXQgJHN0YXR1cworCXN0YXR1cyAke0RBRU1PTn0gfHwgZXhpdCAkPwogICAgOzsKICAgICopCiAJTj0vZXRjL2luaXQuZC9ibHVldG9vdGgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKaW5kZXggMmIwM2Y5Yy4uMGExMTdlNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi5pbmMKQEAgLTEzMywxNCArMTMzLDE0IEBACiAgICAgICAgIGFkZF9yZGVwZW5kcyhiYiwgZCwgZmlsZSwgcGtnLCBkZXBtYXAsIG11bHRpbGliX3ByZWZpeCwgRmFsc2UpCiAgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vY29ubm1hbi9wbHVnaW5zLycpCiAgICAgcGx1Z2luX25hbWUgPSBkLmV4cGFuZCgnJHtQTn0tcGx1Z2luLSVzJykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCAnXiguKikuc28kJywgcGx1Z2luX25hbWUsIFwKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5fZGlyLCByJ14oLiopLnNvJCcsIHBsdWdpbl9uYW1lLCBcCiAgICAgICAgICcke1BOfSBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgaG9vaz1ob29rLCBwcmVwZW5kPVRydWUgKQogCiAgICAgaG9vayA9IGxhbWJkYSBmaWxlLHBrZyx4LHksejogXAogICAgICAgICBhZGRfcmRlcGVuZHMoYmIsIGQsIGZpbGUsIHBrZywgZGVwbWFwLCBtdWx0aWxpYl9wcmVmaXgsIFRydWUpCiAgICAgcGx1Z2luX2RpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vY29ubm1hbi9wbHVnaW5zLXZwbi8nKQogICAgIHBsdWdpbl9uYW1lID0gZC5leHBhbmQoJyR7UE59LXBsdWdpbi12cG4tJXMnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbl9kaXIsICdeKC4qKS5zbyQnLCBwbHVnaW5fbmFtZSwgXAorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbl9kaXIsIHInXiguKikuc28kJywgcGx1Z2luX25hbWUsIFwKICAgICAgICAgJyR7UE59IFZQTiBwbHVnaW4gZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJywgaG9vaz1ob29rLCBwcmVwZW5kPVRydWUgKQogfQogCkBAIC0xNTYsNyArMTU2LDcgQEAKIAogRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9LyogJHtzYmluZGlyfS8qICR7bGliZXhlY2Rpcn0vKiAke2xpYmRpcn0vbGliKi5zby4qIFwKICAgICAgICAgICAgICR7bGliZGlyfS9jb25ubWFuL3BsdWdpbnMgXAotICAgICAgICAgICAgJHtzeXNjb25mZGlyfSAke3NoYXJlZHN0YXRlZGlyfSAke2xvY2Fsc3RhdGVkaXJ9IFwKKyAgICAgICAgICAgICR7c3lzY29uZmRpcn0gJHtzaGFyZWRzdGF0ZWRpcn0gJHtsb2NhbHN0YXRlZGlyfSAke2RhdGFkaXJ9IFwKICAgICAgICAgICAgICR7YmFzZV9iaW5kaXJ9LyogJHtiYXNlX3NiaW5kaXJ9LyogJHtiYXNlX2xpYmRpcn0vKi5zbyogJHtkYXRhZGlyfS8ke1BOfSBcCiAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvKiBcCiAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvY29ubm1hbl9yZXNvbHZjb25mLmNvbmYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM0NGZlYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1GaXgtdmFyaW91cy1pc3N1ZXMtd2hpY2gtY2F1c2UtcHJvYmxlbXMtdW5kZXItbXVzbC5wYXRjaApAQCAtMCwwICsxLDM2MiBAQAorRnJvbSAxODFmZjM0Mzk3ODNjNjkyMGY1MjExNzMwNjcyNjg1YTIxMGMzMThmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IE1vbiwgOCBPY3QgMjAxOCAyMjoxMjo1NiArMDIwMAorU3ViamVjdDogW1BBVENIXSBGaXggdmFyaW91cyBpc3N1ZXMgd2hpY2ggY2F1c2UgcHJvYmxlbXMgdW5kZXIgbXVzbAorCitJbnN0ZWFkIG9mIHVzaW5nICNkZWZpbmUgX0dOVV9TT1VSQ0UgaW4gc29tZSBzb3VyY2UgZmlsZXMgd2hpY2ggY2F1c2VzCitwcm9ibGVtcyB3aGVuIGJ1aWxkaW5nIHdpdGggbXVzbCBhcyBtb3JlIGZpbGVzIG5lZWQgdGhlIGRlZmluZSwgc2ltcGx5Cit1c2UgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIGluIGNvbmZpZ3VyZS5hYyB0byBnZXQgaXQgZGVmaW5lZCBnbG9iYWxseS4KKworU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2JkMTMyNmJhN2Q2OGRmMzhjNWNjYWFmZDI0MDNhNWZiMzBiZDQ1MmJdCistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgIHwgMyArKysKKyBnZGhjcC9jbGllbnQuYyAgICAgICAgICAgICAgIHwgMSAtCisgZ2RoY3AvY29tbW9uLmggICAgICAgICAgICAgICB8IDUgKysrLS0KKyBnd2ViL2dyZXNvbHYuYyAgICAgICAgICAgICAgIHwgMSArCisgcGx1Z2lucy90aXN0LmMgICAgICAgICAgICAgICB8IDEgLQorIHBsdWdpbnMvd2lmaS5jICAgICAgICAgICAgICAgfCAzICstLQorIHNyYy9iYWNrdHJhY2UuYyAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvaW5ldC5jICAgICAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL2lwcG9vbC5jICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9pcHRhYmxlcy5jICAgICAgICAgICAgICAgfCAyICstCisgc3JjL2xvZy5jICAgICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9udHAuYyAgICAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvcmVzb2x2ZXIuYyAgICAgICAgICAgICAgIHwgMSAtCisgc3JjL3Jma2lsbC5jICAgICAgICAgICAgICAgICB8IDEgLQorIHNyYy9zdGF0cy5jICAgICAgICAgICAgICAgICAgfCAxIC0KKyBzcmMvdGV0aGVyaW5nLmMgICAgICAgICAgICAgIHwgMiAtLQorIHNyYy90aW1lem9uZS5jICAgICAgICAgICAgICAgfCAxIC0KKyB0b29scy9kaGNwLXRlc3QuYyAgICAgICAgICAgIHwgMSAtCisgdG9vbHMvZG5zcHJveHktdGVzdC5jICAgICAgICB8IDEgKworIHRvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMgfCAyICstCisgdG9vbHMvc3RhdHMtdG9vbC5jICAgICAgICAgICB8IDEgLQorIHRvb2xzL3RhcC10ZXN0LmMgICAgICAgICAgICAgfCAzICstLQorIHRvb2xzL3dpc3ByLmMgICAgICAgICAgICAgICAgfCAxIC0KKyB2cG4vcGx1Z2lucy92cG4uYyAgICAgICAgICAgIHwgMSAtCisgMjQgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDM5NzQ1Zjc2Li45ODQxMjZjMiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjAsNiArMjAsNyBAQCBBQ19TVUJTVChhYnNfdG9wX3NyY2RpcikKKyBBQ19TVUJTVChhYnNfdG9wX2J1aWxkZGlyKQorIAorIEFDX0xBTkdfQworK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUworIAorIEFDX1BST0dfQ0MKKyBBTV9QUk9HX0NDX0NfTworQEAgLTE4NSw2ICsxODYsOCBAQCBBQ19DSEVDS19MSUIocmVzb2x2LCBuc19pbml0cGFyc2UsIGR1bW15PXllcywgWworIEFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQorIEFNX0NPTkRJVElPTkFMKFtCQUNLVFJBQ0VdLCBbdGVzdCAiJHthY19jdl9oZWFkZXJfZXhlY2luZm9faH0iID0gInllcyJdKQorIAorK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBpbjZfcGt0aW5mby5pcGk2X2FkZHJdLCBbXSwgW10sIFtbI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dXSkKKysKKyBBQ19DSEVDS19GVU5DKHNpZ25hbGZkLCBkdW1teT15ZXMsCisgCQkJQUNfTVNHX0VSUk9SKHNpZ25hbGZkIHN1cHBvcnQgaXMgcmVxdWlyZWQpKQorIAorZGlmZiAtLWdpdCBhL2dkaGNwL2NsaWVudC5jIGIvZ2RoY3AvY2xpZW50LmMKK2luZGV4IDY3MzU3NzgyLi5jN2RiNzZmMCAxMDA2NDQKKy0tLSBhL2dkaGNwL2NsaWVudC5jCisrKysgYi9nZGhjcC9jbGllbnQuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS9nZGhjcC9jb21tb24uaCBiL2dkaGNwL2NvbW1vbi5oCitpbmRleCA3NWFiYzE4My4uNjg5OTQ5OWUgMTAwNjQ0CistLS0gYS9nZGhjcC9jb21tb24uaAorKysrIGIvZ2RoY3AvY29tbW9uLmgKK0BAIC0xOSw2ICsxOSw3IEBACisgICoKKyAgKi8KKyAKKysjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KKyAKK0BAIC0xNzAsOCArMTcxLDggQEAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgZGhjcF9vcHRpb25fbGVuZ3Roc1tdID0geworIAlbT1BUSU9OX1UzMl0JPSA0LAorIH07CisgCistLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgR05VIGNvbXBpbGVyICovCistI2lmbmRlZiBfX1VTRV9HTlUKKysvKiBhbHJlYWR5IGRlZmluZWQgd2l0aGluIG5ldGluZXQvaW4uaCBpZiB1c2luZyBnbGliYyBvciBtdXNsICovCisrI2lmbmRlZiBIQVZFX1NUUlVDVF9JTjZfUEtUSU5GT19JUEk2X0FERFIKKyBzdHJ1Y3QgaW42X3BrdGluZm8geworIAlzdHJ1Y3QgaW42X2FkZHIgaXBpNl9hZGRyOyAgLyogc3JjL2RzdCBJUHY2IGFkZHJlc3MgKi8KKyAJdW5zaWduZWQgaW50IGlwaTZfaWZpbmRleDsgIC8qIHNlbmQvcmVjdiBpbnRlcmZhY2UgaW5kZXggKi8KK2RpZmYgLS1naXQgYS9nd2ViL2dyZXNvbHYuYyBiL2d3ZWIvZ3Jlc29sdi5jCitpbmRleCA4MWM3OWI2Yy4uYjA2Zjg5MzIgMTAwNjQ0CistLS0gYS9nd2ViL2dyZXNvbHYuYworKysrIGIvZ3dlYi9ncmVzb2x2LmMKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8cmVzb2x2Lmg+CisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisgI2luY2x1ZGUgPG5ldGRiLmg+CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy90aXN0LmMgYi9wbHVnaW5zL3Rpc3QuYworaW5kZXggYWQ1ZWY3OWUuLmNjMjgwMGExIDEwMDY0NAorLS0tIGEvcGx1Z2lucy90aXN0LmMKKysrKyBiL3BsdWdpbnMvdGlzdC5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CitkaWZmIC0tZ2l0IGEvcGx1Z2lucy93aWZpLmMgYi9wbHVnaW5zL3dpZmkuYworaW5kZXggZGMwOGM2YWYuLjQ2ZTRjY2E0IDEwMDY0NAorLS0tIGEvcGx1Z2lucy93aWZpLmMKKysrKyBiL3BsdWdpbnMvd2lmaS5jCitAQCAtMzAsOSArMzAsOCBAQAorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CistI2luY2x1ZGUgPGxpbnV4L3dpcmVsZXNzLmg+CisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorKyNpbmNsdWRlIDxsaW51eC93aXJlbGVzcy5oPgorIAorICNpZm5kZWYgSUZGX0xPV0VSX1VQCisgI2RlZmluZSBJRkZfTE9XRVJfVVAJMHgxMDAwMAorZGlmZiAtLWdpdCBhL3NyYy9iYWNrdHJhY2UuYyBiL3NyYy9iYWNrdHJhY2UuYworaW5kZXggZThkN2Y0MzIuLmJlZGU2Njk4IDEwMDY0NAorLS0tIGEvc3JjL2JhY2t0cmFjZS5jCisrKysgYi9zcmMvYmFja3RyYWNlLmMKK0BAIC0yNCw3ICsyNCw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCitpbmRleCBhMzEzNzJiNS4uYTU4Y2U3YzEgMTAwNjQ0CistLS0gYS9zcmMvaW5ldC5jCisrKysgYi9zcmMvaW5ldC5jCitAQCAtMjUsNyArMjUsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorZGlmZiAtLWdpdCBhL3NyYy9pcHBvb2wuYyBiL3NyYy9pcHBvb2wuYworaW5kZXggY2VhMWRjY2QuLjhhNjQ1ZGEyIDEwMDY0NAorLS0tIGEvc3JjL2lwcG9vbC5jCisrKysgYi9zcmMvaXBwb29sLmMKK0BAIC0yOCw3ICsyOCw2IEBACisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+CisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAKKyAjaW5jbHVkZSAiY29ubm1hbi5oIgorZGlmZiAtLWdpdCBhL3NyYy9pcHRhYmxlcy5jIGIvc3JjL2lwdGFibGVzLmMKK2luZGV4IGYzNjcwZTc3Li40NjllZmZlZCAxMDA2NDQKKy0tLSBhL3NyYy9pcHRhYmxlcy5jCisrKysgYi9zcmMvaXB0YWJsZXMuYworQEAgLTI4LDcgKzI4LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLSNpbmNsdWRlIDxzeXMvZXJybm8uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorICNpbmNsdWRlIDx4dGFibGVzLmg+CisgI2luY2x1ZGUgPGludHR5cGVzLmg+CitkaWZmIC0tZ2l0IGEvc3JjL2xvZy5jIGIvc3JjL2xvZy5jCitpbmRleCA5YmFlNGEzZC4uZjdlODJlNWQgMTAwNjQ0CistLS0gYS9zcmMvbG9nLmMKKysrKyBiL3NyYy9sb2cuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3RkYXJnLmg+CitkaWZmIC0tZ2l0IGEvc3JjL250cC5jIGIvc3JjL250cC5jCitpbmRleCA1MWJhOWFhYy4uNzI0Y2ExODggMTAwNjQ0CistLS0gYS9zcmMvbnRwLmMKKysrKyBiL3NyYy9udHAuYworQEAgLTIzLDcgKzIzLDYgQEAKKyAjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2VuZGlmCisgCistI2RlZmluZSBfR05VX1NPVVJDRQorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KK2RpZmYgLS1naXQgYS9zcmMvcmVzb2x2ZXIuYyBiL3NyYy9yZXNvbHZlci5jCitpbmRleCA3NmYwYThlMS4uMTAxMjFhYTUgMTAwNjQ0CistLS0gYS9zcmMvcmVzb2x2ZXIuYworKysrIGIvc3JjL3Jlc29sdmVyLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KK2RpZmYgLS1naXQgYS9zcmMvcmZraWxsLmMgYi9zcmMvcmZraWxsLmMKK2luZGV4IGQ5YmVkNGQyLi5iMjUxNGM0MSAxMDA2NDQKKy0tLSBhL3NyYy9yZmtpbGwuYworKysrIGIvc3JjL3Jma2lsbC5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CitkaWZmIC0tZ2l0IGEvc3JjL3N0YXRzLmMgYi9zcmMvc3RhdHMuYworaW5kZXggNjYzYmMzODIuLmM5ZGRjMmU4IDEwMDY0NAorLS0tIGEvc3JjL3N0YXRzLmMKKysrKyBiL3NyYy9zdGF0cy5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorZGlmZiAtLWdpdCBhL3NyYy90ZXRoZXJpbmcuYyBiL3NyYy90ZXRoZXJpbmcuYworaW5kZXggNGIyMDIzNjkuLmYzY2IzNmY0IDEwMDY0NAorLS0tIGEvc3JjL3RldGhlcmluZy5jCisrKysgYi9zcmMvdGV0aGVyaW5nLmMKK0BAIC0zNCw4ICszNCw2IEBACisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CistI2luY2x1ZGUgPGxpbnV4L3NvY2tpb3MuaD4KKy0jaW5jbHVkZSA8bGludXgvaWZfdHVuLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2JyaWRnZS5oPgorIAorICNpbmNsdWRlICJjb25ubWFuLmgiCitkaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lLmMgYi9zcmMvdGltZXpvbmUuYworaW5kZXggZTM0NmIxMWEuLjhlOTEyNjcwIDEwMDY0NAorLS0tIGEvc3JjL3RpbWV6b25lLmMKKysrKyBiL3NyYy90aW1lem9uZS5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CitkaWZmIC0tZ2l0IGEvdG9vbHMvZGhjcC10ZXN0LmMgYi90b29scy9kaGNwLXRlc3QuYworaW5kZXggYzM0ZTEwYTguLmVhZTY2ZmMyIDEwMDY0NAorLS0tIGEvdG9vbHMvZGhjcC10ZXN0LmMKKysrKyBiL3Rvb2xzL2RoY3AtdGVzdC5jCitAQCAtMzMsNyArMzMsNiBAQAorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+CisgI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgorLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KKyAKKyAjaW5jbHVkZSA8Z2RoY3AvZ2RoY3AuaD4KKyAKK2RpZmYgLS1naXQgYS90b29scy9kbnNwcm94eS10ZXN0LmMgYi90b29scy9kbnNwcm94eS10ZXN0LmMKK2luZGV4IDU1MWNhZTkxLi4zNzFlMmUyMyAxMDA2NDQKKy0tLSBhL3Rvb2xzL2Ruc3Byb3h5LXRlc3QuYworKysrIGIvdG9vbHMvZG5zcHJveHktdGVzdC5jCitAQCAtMjQsNiArMjQsNyBAQAorICNlbmRpZgorIAorICNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMgYi90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCitpbmRleCAzZGQxMTViYS4uMjgyOGJiMzAgMTAwNjQ0CistLS0gYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCisrKysgYi90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jCitAQCAtMzIsNyArMzIsNyBAQAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPHNpZ25hbC5oPgorLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgorKyNpbmNsdWRlIDxwb2xsLmg+CisgI2luY2x1ZGUgPHN5cy9zaWduYWxmZC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKK2RpZmYgLS1naXQgYS90b29scy9zdGF0cy10b29sLmMgYi90b29scy9zdGF0cy10b29sLmMKK2luZGV4IGVmYTM5ZGUyLi41Njk1MDQ4ZiAxMDA2NDQKKy0tLSBhL3Rvb2xzL3N0YXRzLXRvb2wuYworKysrIGIvdG9vbHMvc3RhdHMtdG9vbC5jCitAQCAtMjIsNyArMjIsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCitpbmRleCBmZGMwOThhYS4uY2IzZWU2MjIgMTAwNjQ0CistLS0gYS90b29scy90YXAtdGVzdC5jCisrKysgYi90b29scy90YXAtdGVzdC5jCitAQCAtMjMsMTMgKzIzLDEyIEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgorKyNpbmNsdWRlIDxwb2xsLmg+CisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorIAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CitkaWZmIC0tZ2l0IGEvdG9vbHMvd2lzcHIuYyBiL3Rvb2xzL3dpc3ByLmMKK2luZGV4IGQ1ZjkzNDFmLi5lNTZkZmMxNiAxMDA2NDQKKy0tLSBhL3Rvb2xzL3dpc3ByLmMKKysrKyBiL3Rvb2xzL3dpc3ByLmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorLSNkZWZpbmUgX0dOVV9TT1VSQ0UKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CitkaWZmIC0tZ2l0IGEvdnBuL3BsdWdpbnMvdnBuLmMgYi92cG4vcGx1Z2lucy92cG4uYworaW5kZXggMTA1NDhhYWYuLjZlM2Y2NDBjIDEwMDY0NAorLS0tIGEvdnBuL3BsdWdpbnMvdnBuLmMKKysrKyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCitAQCAtMjMsNyArMjMsNiBAQAorICNpbmNsdWRlIDxjb25maWcuaD4KKyAjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1naW9nbnV0bHMtRml4LWEtY3Jhc2gtdXNpbmctd2lzcHItb3Zlci1UTFMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtZ2lvZ251dGxzLUZpeC1hLWNyYXNoLXVzaW5nLXdpc3ByLW92ZXItVExTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTA4MGQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1naW9nbnV0bHMtRml4LWEtY3Jhc2gtdXNpbmctd2lzcHItb3Zlci1UTFMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDkyOWZjOWI3MDY4MTAwNDQ0ZTBmZmNjY2QyNTg0MWY3ODc5MWU2MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci1EYXRlOiBGcmksIDE1IFNlcCAyMDE3IDA2OjQwOjA4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGd3ZWI6IEZpeCBhIGNyYXNoIHVzaW5nIHdpc3ByIG92ZXIgVExTCi1UbzogY29ubm1hbkBsaXN0cy4wMS5vcmcKLUNjOiB3YWdpQG1vbm9tLm9yZwotCi1XaGVuIGdudXRsc19jaGFubmVsIGlzIGluc3RhbnRpYXRlZCwgdGhlIGdudXRsc19jaGFubmVsLT5lc3RhYmxpc2hlZAotaGFzIHRvIGJlIGluaXRpYXRlZCBhcyBGQUxTRS4gT3RoZXJ3aXNlLCBjaGVja19oYW5kc2hha2UgZnVuY3Rpb24KLXdvbid0IHdvcmsuIEEgcmFuZG9tIGluaXRpYWwgdmFsdWUgMSBvZiBnbnV0bHNfY2hhbm5lbC0+ZXN0YWJsaXNoZWQKLXdpbGwgbWFrZSBjaGVja19oYW5kc2hha2UgcmV0dXJuIEdfSU9fU1RBVFVTX05PUk1BTCwgd2hlbiB0aGUgY2hhbm5lbAotaXMgYWN0dWFsbHkgbm90IHJlYWR5IHRvIGJlIHVzZWQuIFRoZSBvYnNlcnZlZCBiZWhhdmlvdXJzIGFyZSwKLQotLSB3aXNwciBpcyBnZXR0aW5nIHJhbmRvbSBlcnJvcnMgaW4gd2lzcHJfcG9ydGFsX3dlYl9yZXN1bHQKLS0gQ29ubk1hbiBjcmFzaGVzIG9uIGV4aXQgYWZ0ZXIgdGhvc2UgcmFuZG9tIGVycm9ycwotLSB3aGVuIHdpc3ByIGlzIGx1Y2tseSB3b3JraW5nLCBDb25uTWFuIGRvZXNuJ3QgY3Jhc2ggb24gZXhpdAotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTczZTUzZjNiZDllN2RlYmFlODYzNDFmMWVlZTdiOTc4NjJhNTZhNWVdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIGd3ZWIvZ2lvZ251dGxzLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nd2ViL2dpb2dudXRscy5jIGIvZ3dlYi9naW9nbnV0bHMuYwotaW5kZXggMDlkYzllNy4uYzAyOWE4YiAxMDA2NDQKLS0tLSBhL2d3ZWIvZ2lvZ251dGxzLmMKLSsrKyBiL2d3ZWIvZ2lvZ251dGxzLmMKLUBAIC00MjEsNyArNDIxLDcgQEAgR0lPQ2hhbm5lbCAqZ19pb19jaGFubmVsX2dudXRsc19uZXcoaW50IGZkKQotIAotIAlEQkcoIiIpOwotIAotLQlnbnV0bHNfY2hhbm5lbCA9IGdfbmV3KEdJT0dudVRMU0NoYW5uZWwsIDEpOwotKwlnbnV0bHNfY2hhbm5lbCA9IGdfbmV3MChHSU9HbnVUTFNDaGFubmVsLCAxKTsKLSAKLSAJY2hhbm5lbCA9IChHSU9DaGFubmVsICopIGdudXRsc19jaGFubmVsOwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtaW5ldC1BZGQtcHJlZml4bGVuLXRvLWlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDdiMzU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSA1MDhkYzYwYTFmMDc1OGViYzU4NmI2YjA4NjQ3OGExNzZkNDkzMDg2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogVGh1LCA1IE9jdCAyMDE3IDA5OjM0OjQxICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS80XSBpbmV0OiBBZGQgcHJlZml4bGVuIHRvIGlwcm91dGVfZGVmYXVsdF9mdW5jdGlvbgotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotQWRkIHByZWZpeGxlbiBwYXJhbWV0ZXIgdG8gdGhpcyBmdW5jdGlvbiBpbiBwcmVwYXJhdGlvbiBmb3IgdXNpbmcKLWl0IGFsc28gaW4gY3JlYXRpbmcgc3VibmV0IHJvdXRlIGxhdGVyLCBlLmcuCi0KLWRlZmF1bHQgdmlhIDE5Mi4xNjguMTAwLjEgZGV2IGV0aDAKLTE5Mi4xNjguMTAwLjAvMjQgZGV2IGV0aDAKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD1lZGRhNWI2OTVkZTJlZTc5ZjAyMzE0YWJjOWI0NmZkZDQ2YjM4OGUxXQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvaW5ldC5jIHwgNyArKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pbmV0LmMgYi9zcmMvaW5ldC5jCi1pbmRleCBiODg3YWEwLi5hYjhhZWM4IDEwMDY0NAotLS0tIGEvc3JjL2luZXQuYwotKysrIGIvc3JjL2luZXQuYwotQEAgLTI3OTYsNyArMjc5Niw3IEBAIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZndtYXJrX3J1bGUodWludDMyX3QgdGFibGVfaWQsIGludCBmYW1pbHksIHVpbnQzMl90IGZ3bWFyCi0gfQotIAotIHN0YXRpYyBpbnQgaXByb3V0ZV9kZWZhdWx0X21vZGlmeShpbnQgY21kLCB1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0tCQkJY29uc3QgY2hhciAqZ2F0ZXdheSkKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbikKLSB7Ci0gCXN0cnVjdCBfX2Nvbm5tYW5faW5ldF9ydG5sX2hhbmRsZSBydGg7Ci0gCXVuc2lnbmVkIGNoYXIgYnVmW3NpemVvZihzdHJ1Y3QgaW42X2FkZHIpXTsKLUBAIC0yODI5LDYgKzI4MjksNyBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlydGgucmVxLnUuci5ydC5ydG1fcHJvdG9jb2wgPSBSVFBST1RfQk9PVDsKLSAJcnRoLnJlcS51LnIucnQucnRtX3Njb3BlID0gUlRfU0NPUEVfVU5JVkVSU0U7Ci0gCXJ0aC5yZXEudS5yLnJ0LnJ0bV90eXBlID0gUlROX1VOSUNBU1Q7Ci0rCXJ0aC5yZXEudS5yLnJ0LnJ0bV9kc3RfbGVuID0gcHJlZml4bGVuOwotIAotIAlfX2Nvbm5tYW5faW5ldF9ydG5sX2FkZGF0dHJfbCgmcnRoLnJlcS5uLCBzaXplb2YocnRoLnJlcSksIFJUQV9HQVRFV0FZLAotIAkJCQkJCQkJYnVmLCBsZW4pOwotQEAgLTI4NjAsNyArMjg2MSw3IEBAIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gewotIAkvKiBpcCByb3V0ZSBhZGQgZGVmYXVsdCB2aWEgMS4yLjMuNCBkZXYgd2xhbjAgdGFibGUgMTIzNCAqLwotIAotLQlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fTkVXUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5KTsKLSsJcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX05FV1JPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSwgMCk7Ci0gfQotIAotIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLUBAIC0yODY4LDcgKzI4NjksNyBAQCBpbnQgX19jb25ubWFuX2luZXRfZGVsX2RlZmF1bHRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gewotIAkvKiBpcCByb3V0ZSBkZWwgZGVmYXVsdCB2aWEgMS4yLjMuNCBkZXYgd2xhbjAgdGFibGUgMTIzNCAqLwotIAotLQlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fREVMUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5KTsKLSsJcmV0dXJuIGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoUlRNX0RFTFJPVVRFLCB0YWJsZV9pZCwgaWZpbmRleCwgZ2F0ZXdheSwgMCk7Ci0gfQotIAotIGludCBfX2Nvbm5tYW5faW5ldF9nZXRfaW50ZXJmYWNlX2xsX2FkZHJlc3MoaW50IGluZGV4LCBpbnQgZmFtaWx5LAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi8wMDAxLXNlc3Npb24tS2VlcC10cmFjay1vZi1hZGRyLWluLWZ3X3NuYXQtc2Vzc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjFiNGQwYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLUZyb20gYjVmZDU5NDU4ODZmYTE4NDVkYjVjOTY5NDI0YjYzZDg5NGZlMDM3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEppYW4gTGlhbmcgPGppYW5saWFuZ0B0eWNvaW50LmNvbT4KLURhdGU6IEZyaSwgMjUgQXVnIDIwMTcgMTA6MDI6MTYgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHNlc3Npb246IEtlZXAgdHJhY2sgb2YgYWRkciBpbiBmd19zbmF0ICYgc2Vzc2lvbgotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotV2hlbiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIHNlc3Npb24gaW4gZndfc25hdCdzIGxpc3Qgb2Ygc2Vzc2lvbnMsCi1md19zbmF0IGZhaWxlZCB0byBiZSByZS1jcmVhdGVkIHdoZW4gdXBkYXRlLXNlc3Npb24tc3RhdGUgaXMgdHJpZ2dlcmVkCi13aXRoIG5ldyBJUCBhZGRyZXNzLiBUaGlzIGlzIGJlY2F1c2UgaW5kZXggYWxvbmUgaXMgbm90IHN1ZmZpY2llbnQgdG8KLWRlY2lkZSBpZiBmd19zbmF0IG5lZWRzIHRvIGJlIHJlLWNyZWF0ZWQuIFRoZSBzb2x1dGlvbiBoZXJlIGlzIHRvIGtlZXAKLWEgdHJhY2sgb2YgSVAgYWRkciBhbmQgdXNlIGl0IHRvIGF2b2lkIGZhbHNlIGxvb2t1cCBvZiBmd19zbmF0LgotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPWY5ZTI3ZDRhYmZjYWI1YzgwYTM4ZTA4NTBiNWRkYjI2Mjc3Zjk3YzFdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9zZXNzaW9uLmMgfCAxOSArKysrKysrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2Vzc2lvbi5jIGIvc3JjL3Nlc3Npb24uYwotaW5kZXggOWUzYzU1OS4uOTY1YWMwNiAxMDA2NDQKLS0tLSBhL3NyYy9zZXNzaW9uLmMKLSsrKyBiL3NyYy9zZXNzaW9uLmMKLUBAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gewotIAlzdHJ1Y3QgZmlyZXdhbGxfY29udGV4dCAqZnc7Ci0gCXVpbnQzMl90IG1hcms7Ci0gCWludCBpbmRleDsKLSsJY2hhciAqYWRkcjsKLSAJY2hhciAqZ2F0ZXdheTsKLSAJYm9vbCBwb2xpY3lfcm91dGluZzsKLSAJYm9vbCBzbmF0X2VuYWJsZWQ7Ci1AQCAtNzksNiArODAsNyBAQCBzdHJ1Y3QgZndfc25hdCB7Ci0gCUdTTGlzdCAqc2Vzc2lvbnM7Ci0gCWludCBpZDsKLSAJaW50IGluZGV4OwotKwljaGFyICphZGRyOwotIAlzdHJ1Y3QgZmlyZXdhbGxfY29udGV4dCAqZnc7Ci0gfTsKLSAKLUBAIC0yMDAsNyArMjAyLDcgQEAgc3RhdGljIGNoYXIgKnNlcnZpY2UyYmVhcmVyKGVudW0gY29ubm1hbl9zZXJ2aWNlX3R5cGUgdHlwZSkKLSAJcmV0dXJuICIiOwotIH0KLSAKLS1zdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCkKLStzdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCwgY29uc3QgY2hhciAqYWRkcikKLSB7Ci0gCXN0cnVjdCBmd19zbmF0ICpmd19zbmF0OwotIAlHU0xpc3QgKmxpc3Q7Ci1AQCAtMjA4LDggKzIxMCwxMSBAQCBzdGF0aWMgc3RydWN0IGZ3X3NuYXQgKmZ3X3NuYXRfbG9va3VwKGludCBpbmRleCkKLSAJZm9yIChsaXN0ID0gZndfc25hdF9saXN0OyBsaXN0OyBsaXN0ID0gbGlzdC0+bmV4dCkgewotIAkJZndfc25hdCA9IGxpc3QtPmRhdGE7Ci0gCi0tCQlpZiAoZndfc25hdC0+aW5kZXggPT0gaW5kZXgpCi0rCQlpZiAoZndfc25hdC0+aW5kZXggPT0gaW5kZXgpIHsKLSsJCQlpZiAoZ19zdHJjbXAwKGFkZHIsIGZ3X3NuYXQtPmFkZHIpICE9IDApCi0rCQkJCWNvbnRpbnVlOwotIAkJCXJldHVybiBmd19zbmF0OwotKwkJfQotIAl9Ci0gCXJldHVybiBOVUxMOwotIH0KLUBAIC0yMjQsNiArMjI5LDcgQEAgc3RhdGljIGludCBmd19zbmF0X2NyZWF0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uLAotIAotIAlmd19zbmF0LT5mdyA9IF9fY29ubm1hbl9maXJld2FsbF9jcmVhdGUoKTsKLSAJZndfc25hdC0+aW5kZXggPSBpbmRleDsKLSsJZndfc25hdC0+YWRkciA9IGdfc3RyZHVwKGFkZHIpOwotIAotIAlmd19zbmF0LT5pZCA9IF9fY29ubm1hbl9maXJld2FsbF9lbmFibGVfc25hdChmd19zbmF0LT5mdywKLSAJCQkJCQlpbmRleCwgaWZuYW1lLCBhZGRyKTsKLUBAIC0yMzgsNiArMjQ0LDcgQEAgc3RhdGljIGludCBmd19zbmF0X2NyZWF0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uLAotIAlyZXR1cm4gMDsKLSBlcnI6Ci0gCV9fY29ubm1hbl9maXJld2FsbF9kZXN0cm95KGZ3X3NuYXQtPmZ3KTsKLSsJZ19mcmVlKGZ3X3NuYXQtPmFkZHIpOwotIAlnX2ZyZWUoZndfc25hdCk7Ci0gCXJldHVybiBlcnI7Ci0gfQotQEAgLTM5Myw3ICs0MDAsNyBAQCBzdGF0aWMgdm9pZCBkZWxfbmF0X3J1bGVzKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCQlyZXR1cm47Ci0gCi0gCXNlc3Npb24tPnNuYXRfZW5hYmxlZCA9IGZhbHNlOwotLQlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoc2Vzc2lvbi0+aW5kZXgpOwotKwlmd19zbmF0ID0gZndfc25hdF9sb29rdXAoc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmFkZHIpOwotIAotIAlpZiAoIWZ3X3NuYXQpCi0gCQlyZXR1cm47Ci1AQCAtNDIwLDggKzQyNywxMSBAQCBzdGF0aWMgdm9pZCBhZGRfbmF0X3J1bGVzKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCWlmICghYWRkcikKLSAJCXJldHVybjsKLSAKLSsJZ19mcmVlKHNlc3Npb24tPmFkZHIpOwotKwlzZXNzaW9uLT5hZGRyID0gZ19zdHJkdXAoYWRkcik7Ci0rCi0gCXNlc3Npb24tPnNuYXRfZW5hYmxlZCA9IHRydWU7Ci0tCWZ3X3NuYXQgPSBmd19zbmF0X2xvb2t1cChpbmRleCk7Ci0rCWZ3X3NuYXQgPSBmd19zbmF0X2xvb2t1cChpbmRleCwgc2Vzc2lvbi0+YWRkcik7Ci0gCWlmIChmd19zbmF0KSB7Ci0gCQlmd19zbmF0X3JlZihzZXNzaW9uLCBmd19zbmF0KTsKLSAJCXJldHVybjsKLUBAIC01MDIsNiArNTEyLDcgQEAgc3RhdGljIHZvaWQgZnJlZV9zZXNzaW9uKHN0cnVjdCBjb25ubWFuX3Nlc3Npb24gKnNlc3Npb24pCi0gCWdfZnJlZShzZXNzaW9uLT5pbmZvKTsKLSAJZ19mcmVlKHNlc3Npb24tPmluZm9fbGFzdCk7Ci0gCWdfZnJlZShzZXNzaW9uLT5nYXRld2F5KTsKLSsJZ19mcmVlKHNlc3Npb24tPmFkZHIpOwotIAotIAlnX2ZyZWUoc2Vzc2lvbik7Ci0gfQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDItaW5ldC1JbXBsZW1lbnQtc3VibmV0LXJvdXRlLWNyZWF0aW9uLWRlbGV0aW9uLWluLWlwci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMi1pbmV0LUltcGxlbWVudC1zdWJuZXQtcm91dGUtY3JlYXRpb24tZGVsZXRpb24taW4taXByLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yzk1M2U1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMi1pbmV0LUltcGxlbWVudC1zdWJuZXQtcm91dGUtY3JlYXRpb24tZGVsZXRpb24taW4taXByLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSAwOGNkYTQwMDQ0OTFkMzk3MWE4YjlkZjkzNzQyNmM0MzgwMGQxNWIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogVGh1LCA1IE9jdCAyMDE3IDA5OjM3OjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBpbmV0OiBJbXBsZW1lbnQgc3VibmV0IHJvdXRlIGNyZWF0aW9uL2RlbGV0aW9uIGluCi0gaXByb3V0ZV9kZWZhdWx0X21vZGlmeQotVG86IGNvbm5tYW5AbGlzdHMuMDEub3JnCi1DYzogd2FnaUBtb25vbS5vcmcKLQotLSBDYWxjdWxhdGUgc3VibmV0IGFkZHJlc3MgYmFzZSBvbiBnYXRld2F5IGFkZHJlc3MgYW5kIHByZWZpeGxlbgotLSBEaWZmZXJlbnRpYXRlIGNyZWF0aW9uIG9mIHJvdXRlcyB0byBnYXRld2F5IGFuZCBzdWJuZXQKLQotU2lnbmVkLW9mZi1ieTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotCi0tLS0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9uZXR3b3JrL2Nvbm5tYW4vY29ubm1hbi5naXQvY29tbWl0Lz9pZD1mZjdkY2Y5MWYxMmEyYTIzN2ZlZWJjNmU2MDZkMGE4ZTkyOTc1NTI4XQotU2lnbmVkLW9mZi1ieTogQW5kcsOpIERyYXN6aWsgPGFuZHJlLmRyYXN6aWtAamNpLmNvbT4KLSBzcmMvaW5ldC5jIHwgMjIgKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2luZXQuYyBiL3NyYy9pbmV0LmMKLWluZGV4IGFiOGFlYzguLjBkZGIwMzAgMTAwNjQ0Ci0tLS0gYS9zcmMvaW5ldC5jCi0rKysgYi9zcmMvaW5ldC5jCi1AQCAtMjgwMiw2ICsyODAyLDkgQEAgc3RhdGljIGludCBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KGludCBjbWQsIHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJdW5zaWduZWQgY2hhciBidWZbc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcildOwotIAlpbnQgcmV0LCBsZW47Ci0gCWludCBmYW1pbHkgPSBjb25ubWFuX2luZXRfY2hlY2tfaXBhZGRyZXNzKGdhdGV3YXkpOwotKwljaGFyICpkc3QgPSBOVUxMOwotKwotKwlEQkcoImdhdGV3YXkgJXMvJXUgdGFibGUgJXUiLCBnYXRld2F5LCBwcmVmaXhsZW4sIHRhYmxlX2lkKTsKLSAKLSAJc3dpdGNoIChmYW1pbHkpIHsKLSAJY2FzZSBBRl9JTkVUOgotQEAgLTI4MTQsNyArMjgxNywxOSBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAkJcmV0dXJuIC1FSU5WQUw7Ci0gCX0KLSAKLS0JcmV0ID0gaW5ldF9wdG9uKGZhbWlseSwgZ2F0ZXdheSwgYnVmKTsKLSsJaWYgKHByZWZpeGxlbikgewotKwkJc3RydWN0IGluX2FkZHIgaXB2NF9zdWJuZXRfYWRkciwgaXB2NF9tYXNrOwotKwotKwkJbWVtc2V0KCZpcHY0X3N1Ym5ldF9hZGRyLCAwLCBzaXplb2YoaXB2NF9zdWJuZXRfYWRkcikpOwotKwkJaXB2NF9tYXNrLnNfYWRkciA9IGh0b25sKCgweGZmZmZmZmZmIDw8ICgzMiAtIHByZWZpeGxlbikpICYgMHhmZmZmZmZmZik7Ci0rCQlpcHY0X3N1Ym5ldF9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihnYXRld2F5KTsKLSsJCWlwdjRfc3VibmV0X2FkZHIuc19hZGRyICY9IGlwdjRfbWFzay5zX2FkZHI7Ci0rCi0rCQlkc3QgPSBnX3N0cmR1cChpbmV0X250b2EoaXB2NF9zdWJuZXRfYWRkcikpOwotKwl9Ci0rCi0rCXJldCA9IGluZXRfcHRvbihmYW1pbHksIGRzdCA/IGRzdCA6IGdhdGV3YXksIGJ1Zik7Ci0rCWdfZnJlZShkc3QpOwotIAlpZiAocmV0IDw9IDApCi0gCQlyZXR1cm4gLUVJTlZBTDsKLSAKLUBAIC0yODMxLDggKzI4NDYsOSBAQCBzdGF0aWMgaW50IGlwcm91dGVfZGVmYXVsdF9tb2RpZnkoaW50IGNtZCwgdWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlydGgucmVxLnUuci5ydC5ydG1fdHlwZSA9IFJUTl9VTklDQVNUOwotIAlydGgucmVxLnUuci5ydC5ydG1fZHN0X2xlbiA9IHByZWZpeGxlbjsKLSAKLS0JX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyX2woJnJ0aC5yZXEubiwgc2l6ZW9mKHJ0aC5yZXEpLCBSVEFfR0FURVdBWSwKLS0JCQkJCQkJCWJ1ZiwgbGVuKTsKLSsJX19jb25ubWFuX2luZXRfcnRubF9hZGRhdHRyX2woJnJ0aC5yZXEubiwgc2l6ZW9mKHJ0aC5yZXEpLAotKwkJcHJlZml4bGVuID4gMCA/IFJUQV9EU1QgOiBSVEFfR0FURVdBWSwgYnVmLCBsZW4pOwotKwotIAlpZiAodGFibGVfaWQgPCAyNTYpIHsKLSAJCXJ0aC5yZXEudS5yLnJ0LnJ0bV90YWJsZSA9IHRhYmxlX2lkOwotIAl9IGVsc2UgewotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMy1pbmV0LUltcGxlbWVudC1BUElzLWZvci1jcmVhdGluZy1hbmQtZGVsZXRpbmctc3VibmV0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NmJhNWMzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwMy1pbmV0LUltcGxlbWVudC1BUElzLWZvci1jcmVhdGluZy1hbmQtZGVsZXRpbmctc3VibmV0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotRnJvbSBhOTI0M2YxM2Q2ZTFhYWRkNjliZmNjMjdmNzVmNjljMzhiZTUxNjc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmlhbiBMaWFuZyA8amlhbmxpYW5nQHR5Y29pbnQuY29tPgotRGF0ZTogV2VkLCA0IE9jdCAyMDE3IDE3OjMwOjE3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy80XSBpbmV0OiBJbXBsZW1lbnQgQVBJcyBmb3IgY3JlYXRpbmcgYW5kIGRlbGV0aW5nIHN1Ym5ldAotIHJvdXRlCi1UbzogY29ubm1hbkBsaXN0cy4wMS5vcmcKLUNjOiB3YWdpQG1vbm9tLm9yZwotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTNhMTViMGI3ZmNjZDA1M2FmZjkxZGEyY2M2ODU4NTUwOWQwYzUwOWJdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9jb25ubWFuLmggfCAgNCArKysrCi0gc3JjL2luZXQuYyAgICB8IDE0ICsrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvY29ubm1hbi5oIGIvc3JjL2Nvbm5tYW4uaAotaW5kZXggMjFiNzA4MC4uZGE0NDQ2YSAxMDA2NDQKLS0tLSBhL3NyYy9jb25ubWFuLmgKLSsrKyBiL3NyYy9jb25ubWFuLmgKLUBAIC0yNDAsNyArMjQwLDExIEBAIGludCBfX2Nvbm5tYW5faW5ldF9ydG5sX2FkZGF0dHIzMihzdHJ1Y3Qgbmxtc2doZHIgKm4sIHNpemVfdCBtYXhsZW4sCi0gaW50IF9fY29ubm1hbl9pbmV0X2FkZF9md21hcmtfcnVsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGZhbWlseSwgdWludDMyX3QgZndtYXJrKTsKLSBpbnQgX19jb25ubWFuX2luZXRfZGVsX2Z3bWFya19ydWxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgZmFtaWx5LCB1aW50MzJfdCBmd21hcmspOwotIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsIGNvbnN0IGNoYXIgKmdhdGV3YXkpOwotK2ludCBfX2Nvbm5tYW5faW5ldF9hZGRfc3VibmV0X3RvX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbik7Ci0gaW50IF9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LCBjb25zdCBjaGFyICpnYXRld2F5KTsKLStpbnQgX19jb25ubWFuX2luZXRfZGVsX3N1Ym5ldF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSsJCQljb25zdCBjaGFyICpnYXRld2F5LCB1bnNpZ25lZCBjaGFyIHByZWZpeGxlbik7Ci0gaW50IF9fY29ubm1hbl9pbmV0X2dldF9hZGRyZXNzX25ldG1hc2soaW50IGlmaW5kZXgsCi0gCQlzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFkZHJlc3MsIHN0cnVjdCBzb2NrYWRkcl9pbiAqbmV0bWFzayk7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2luZXQuYyBiL3NyYy9pbmV0LmMKLWluZGV4IDBkZGIwMzAuLmRjZDFhYjIgMTAwNjQ0Ci0tLS0gYS9zcmMvaW5ldC5jCi0rKysgYi9zcmMvaW5ldC5jCi1AQCAtMjg4MCw2ICsyODgwLDEzIEBAIGludCBfX2Nvbm5tYW5faW5ldF9hZGRfZGVmYXVsdF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0gCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ORVdST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIDApOwotIH0KLSAKLStpbnQgX19jb25ubWFuX2luZXRfYWRkX3N1Ym5ldF90b190YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pCi0rewotKwkvKiBpcCByb3V0ZSBhZGQgMS4yLjMuNC8yNCBkZXYgZXRoMCB0YWJsZSAxMjM0ICovCi0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ORVdST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIHByZWZpeGxlbik7Ci0rfQotKwotIGludCBfX2Nvbm5tYW5faW5ldF9kZWxfZGVmYXVsdF9mcm9tX3RhYmxlKHVpbnQzMl90IHRhYmxlX2lkLCBpbnQgaWZpbmRleCwKLSAJCQkJCQljb25zdCBjaGFyICpnYXRld2F5KQotIHsKLUBAIC0yODg4LDYgKzI4OTUsMTMgQEAgaW50IF9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUodWludDMyX3QgdGFibGVfaWQsIGludCBpZmluZGV4LAotIAlyZXR1cm4gaXByb3V0ZV9kZWZhdWx0X21vZGlmeShSVE1fREVMUk9VVEUsIHRhYmxlX2lkLCBpZmluZGV4LCBnYXRld2F5LCAwKTsKLSB9Ci0gCi0raW50IF9fY29ubm1hbl9pbmV0X2RlbF9zdWJuZXRfZnJvbV90YWJsZSh1aW50MzJfdCB0YWJsZV9pZCwgaW50IGlmaW5kZXgsCi0rCQkJCQkJY29uc3QgY2hhciAqZ2F0ZXdheSwgdW5zaWduZWQgY2hhciBwcmVmaXhsZW4pCi0rewotKwkvKiBpcCByb3V0ZSBkZWwgMS4yLjMuNC8yNCBkZXYgZXRoMCB0YWJsZSAxMjM0ICovCi0rCXJldHVybiBpcHJvdXRlX2RlZmF1bHRfbW9kaWZ5KFJUTV9ERUxST1VURSwgdGFibGVfaWQsIGlmaW5kZXgsIGdhdGV3YXksIHByZWZpeGxlbik7Ci0rfQotKwotIGludCBfX2Nvbm5tYW5faW5ldF9nZXRfaW50ZXJmYWNlX2xsX2FkZHJlc3MoaW50IGluZGV4LCBpbnQgZmFtaWx5LAotIAkJCQkJCQkJdm9pZCAqYWRkcmVzcykKLSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuLzAwMDQtc2Vzc2lvbi1Vc2Utc3VibmV0LXJvdXRlLWNyZWF0aW9uLWFuZC1kZWxldGlvbi1BUElzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTIxM2ViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW4vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi1Gcm9tIGRlYjkzNzJkYjgzOTZkYTRmN2NkMjA1NTVjZTdjOWE4YjNhZDk2YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci1EYXRlOiBGcmksIDYgT2N0IDIwMTcgMTE6NDA6MTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzRdIHNlc3Npb246IFVzZSBzdWJuZXQgcm91dGUgY3JlYXRpb24gYW5kIGRlbGV0aW9uIEFQSXMKLVRvOiBjb25ubWFuQGxpc3RzLjAxLm9yZwotQ2M6IHdhZ2lAbW9ub20ub3JnCi0KLUFzIHN1Ym5ldCByb3V0ZSBpcyBhZGRyZXNzIGFuZCBzZXNzaW9uIHNwZWNpZmljIGluIHRoaXMgY2FzZSwgc28gYWRkCi1wcmVmaXhsZW4gaW50byBzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uLCBhbmQgdXBkYXRlIGl0IGFsb25nIHdpdGggaXBjb25maWcuCi1UaGVuIHVzZSBpdCBpbiBzdWJuZXQgcm91dGUgcmVsYXRlZCBBUElzLgotCi1TaWduZWQtb2ZmLWJ5OiBKaWFuIExpYW5nIDxqaWFubGlhbmdAdHljb2ludC5jb20+Ci0KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvY29ubm1hbi9jb25ubWFuLmdpdC9jb21taXQvP2lkPTI4NWYyNWVmNmNjOWU0YTQzZGFiODM1MjNmM2UyZWFiNDM2NWFjMjZdCi1TaWduZWQtb2ZmLWJ5OiBBbmRyw6kgRHJhc3ppayA8YW5kcmUuZHJhc3ppa0BqY2kuY29tPgotIHNyYy9zZXNzaW9uLmMgfCAyMCArKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Nlc3Npb24uYyBiL3NyYy9zZXNzaW9uLmMKLWluZGV4IDk2NWFjMDYuLjdiN2ExNGIgMTAwNjQ0Ci0tLS0gYS9zcmMvc2Vzc2lvbi5jCi0rKysgYi9zcmMvc2Vzc2lvbi5jCi1AQCAtNjcsNiArNjcsNyBAQCBzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uIHsKLSAJaW50IGluZGV4OwotIAljaGFyICphZGRyOwotIAljaGFyICpnYXRld2F5OwotKwl1bnNpZ25lZCBjaGFyIHByZWZpeGxlbjsKLSAJYm9vbCBwb2xpY3lfcm91dGluZzsKLSAJYm9vbCBzbmF0X2VuYWJsZWQ7Ci0gfTsKLUBAIC0zNTcsMTMgKzM1OCwxNyBAQCBzdGF0aWMgdm9pZCBkZWxfZGVmYXVsdF9yb3V0ZShzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotIAlpZiAoIXNlc3Npb24tPmdhdGV3YXkpCi0gCQlyZXR1cm47Ci0gCi0tCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMiLAotLQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXkpOwotKwlEQkcoImluZGV4ICVkIHJvdXRpbmcgdGFibGUgJWQgZGVmYXVsdCBnYXRld2F5ICVzLyV1IiwKLSsJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5tYXJrLCBzZXNzaW9uLT5nYXRld2F5LCBzZXNzaW9uLT5wcmVmaXhsZW4pOwotKwotKwkJX19jb25ubWFuX2luZXRfZGVsX3N1Ym5ldF9mcm9tX3RhYmxlKHNlc3Npb24tPm1hcmssCi0rCQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPmdhdGV3YXksIHNlc3Npb24tPnByZWZpeGxlbik7Ci0gCi0gCV9fY29ubm1hbl9pbmV0X2RlbF9kZWZhdWx0X2Zyb21fdGFibGUoc2Vzc2lvbi0+bWFyaywKLSAJCQkJCXNlc3Npb24tPmluZGV4LCBzZXNzaW9uLT5nYXRld2F5KTsKLSAJZ19mcmVlKHNlc3Npb24tPmdhdGV3YXkpOwotIAlzZXNzaW9uLT5nYXRld2F5ID0gTlVMTDsKLSsJc2Vzc2lvbi0+cHJlZml4bGVuID0gMDsKLSAJc2Vzc2lvbi0+aW5kZXggPSAtMTsKLSB9Ci0gCi1AQCAtMzgzLDEzICszODgsMjAgQEAgc3RhdGljIHZvaWQgYWRkX2RlZmF1bHRfcm91dGUoc3RydWN0IGNvbm5tYW5fc2Vzc2lvbiAqc2Vzc2lvbikKLSAJaWYgKCFzZXNzaW9uLT5nYXRld2F5KQotIAkJc2Vzc2lvbi0+Z2F0ZXdheSA9IGdfc3RyZHVwKGluZXRfbnRvYShhZGRyKSk7Ci0gCi0tCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMiLAotLQkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXkpOwotKwlzZXNzaW9uLT5wcmVmaXhsZW4gPSBfX2Nvbm5tYW5faXBjb25maWdfZ2V0X3ByZWZpeGxlbihpcGNvbmZpZyk7Ci0rCi0rCURCRygiaW5kZXggJWQgcm91dGluZyB0YWJsZSAlZCBkZWZhdWx0IGdhdGV3YXkgJXMvJXUiLAotKwkJc2Vzc2lvbi0+aW5kZXgsIHNlc3Npb24tPm1hcmssIHNlc3Npb24tPmdhdGV3YXksIHNlc3Npb24tPnByZWZpeGxlbik7Ci0gCi0gCWVyciA9IF9fY29ubm1hbl9pbmV0X2FkZF9kZWZhdWx0X3RvX3RhYmxlKHNlc3Npb24tPm1hcmssCi0gCQkJCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+Z2F0ZXdheSk7Ci0gCWlmIChlcnIgPCAwKQotIAkJREJHKCJzZXNzaW9uICVwICVzIiwgc2Vzc2lvbiwgc3RyZXJyb3IoLWVycikpOwotKwotKwllcnIgPSBfX2Nvbm5tYW5faW5ldF9hZGRfc3VibmV0X3RvX3RhYmxlKHNlc3Npb24tPm1hcmssCi0rCQkJCQlzZXNzaW9uLT5pbmRleCwgc2Vzc2lvbi0+Z2F0ZXdheSwgc2Vzc2lvbi0+cHJlZml4bGVuKTsKLSsJaWYgKGVyciA8IDApCi0rCQlEQkcoInNlc3Npb24gYWRkIHN1Ym5ldCByb3V0ZSAlcCAlcyIsIHNlc3Npb24sIHN0cmVycm9yKC1lcnIpKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQgZGVsX25hdF9ydWxlcyhzdHJ1Y3QgY29ubm1hbl9zZXNzaW9uICpzZXNzaW9uKQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuL2luY2x1ZGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbi9pbmNsdWRlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWY3Mzk1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuL2luY2x1ZGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDE3ICswLDAgQEAKLUZpeCB2YXJpb3VzIGlzc3VlcyB3aGljaCBjYXVzZSBwcm9ibGVtcyB1bmRlciBtdXNsLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtiZDEzMjZiYTdkNjhkZjM4YzVjY2FhZmQyNDAzYTVmYjMwYmQ0NTJiXQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA2MzA1MTZiY2MwMjMzYjA0N2Y2NTY2NWMwMDMyMDFiYTZlNzc0NTNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBBdWcgMjAxNiAxNjoyMjozNiArMDEwMAotU3ViamVjdDogW1BBVENIIDEvM10gVXNlIEFDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotCi1JbnN0ZWFkIG9mIHVzaW5nICNkZWZpbmUgX0dOVV9TT1VSQ0UgaW4gc29tZSBzb3VyY2UgZmlsZXMgd2hpY2ggY2F1c2VzIHByb2JsZW1zCi13aGVuIGJ1aWxkaW5nIHdpdGggbXVzbCBhcyBtb3JlIGZpbGVzIG5lZWQgdGhlIGRlZmluZSwgc2ltcGx5IHVzZQotQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIGluIGNvbmZpZ3VyZS5hYyB0byBnZXQgaXQgZGVmaW5lZCBnbG9iYWxseS4KLS0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICB8IDEgKwotIGdkaGNwL2NsaWVudC5jICAgICB8IDEgLQotIHBsdWdpbnMvdGlzdC5jICAgICB8IDEgLQotIHNyYy9iYWNrdHJhY2UuYyAgICB8IDEgLQotIHNyYy9pbmV0LmMgICAgICAgICB8IDEgLQotIHNyYy9sb2cuYyAgICAgICAgICB8IDEgLQotIHNyYy9udHAuYyAgICAgICAgICB8IDEgLQotIHNyYy9yZXNvbHZlci5jICAgICB8IDEgLQotIHNyYy9yZmtpbGwuYyAgICAgICB8IDEgLQotIHNyYy9zdGF0cy5jICAgICAgICB8IDEgLQotIHNyYy90aW1lem9uZS5jICAgICB8IDEgLQotIHRvb2xzL3N0YXRzLXRvb2wuYyB8IDEgLQotIHRvb2xzL3RhcC10ZXN0LmMgICB8IDEgLQotIHRvb2xzL3dpc3ByLmMgICAgICB8IDEgLQotIHZwbi9wbHVnaW5zL3Zwbi5jICB8IDEgLQotIDE1IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNmU2NmFiMy4uYmFjZjVlYyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMjAsNiArMjAsNyBAQCBBQ19TVUJTVChhYnNfdG9wX3NyY2RpcikKLSBBQ19TVUJTVChhYnNfdG9wX2J1aWxkZGlyKQotIAotIEFDX0xBTkdfQwotK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotIAotIEFDX1BST0dfQ0MKLSBBTV9QUk9HX0NDX0NfTwotZGlmZiAtLWdpdCBhL2dkaGNwL2NsaWVudC5jIGIvZ2RoY3AvY2xpZW50LmMKLWluZGV4IGZiYjQwYWIuLjNhZWIwODkgMTAwNjQ0Ci0tLS0gYS9nZGhjcC9jbGllbnQuYwotKysrIGIvZ2RoY3AvY2xpZW50LmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvcGx1Z2lucy90aXN0LmMgYi9wbHVnaW5zL3Rpc3QuYwotaW5kZXggYWQ1ZWY3OS4uY2MyODAwYSAxMDA2NDQKLS0tLSBhL3BsdWdpbnMvdGlzdC5jCi0rKysgYi9wbHVnaW5zL3Rpc3QuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotZGlmZiAtLWdpdCBhL3NyYy9iYWNrdHJhY2UuYyBiL3NyYy9iYWNrdHJhY2UuYwotaW5kZXggNmE2NmMwYS4uNGRiZGRhOCAxMDA2NDQKLS0tLSBhL3NyYy9iYWNrdHJhY2UuYwotKysrIGIvc3JjL2JhY2t0cmFjZS5jCi1AQCAtMjQsNyArMjQsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLWRpZmYgLS1naXQgYS9zcmMvaW5ldC5jIGIvc3JjL2luZXQuYwotaW5kZXggNjlkZWQxOS4uODFkOTJjMiAxMDA2NDQKLS0tLSBhL3NyYy9pbmV0LmMKLSsrKyBiL3NyYy9pbmV0LmMKLUBAIC0yNSw3ICsyNSw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL2xvZy5jIGIvc3JjL2xvZy5jCi1pbmRleCA5YmFlNGEzLi5mN2U4MmU1IDEwMDY0NAotLS0tIGEvc3JjL2xvZy5jCi0rKysgYi9zcmMvbG9nLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gI2luY2x1ZGUgPHN0ZGFyZy5oPgotZGlmZiAtLWdpdCBhL3NyYy9udHAuYyBiL3NyYy9udHAuYwotaW5kZXggZGQyNDZlYi4uZGI4YWU5NiAxMDA2NDQKLS0tLSBhL3NyYy9udHAuYwotKysrIGIvc3JjL250cC5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotZGlmZiAtLWdpdCBhL3NyYy9yZXNvbHZlci5jIGIvc3JjL3Jlc29sdmVyLmMKLWluZGV4IGZiZTRiZTcuLmVmNjFmOTIgMTAwNjQ0Ci0tLS0gYS9zcmMvcmVzb2x2ZXIuYwotKysrIGIvc3JjL3Jlc29sdmVyLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLWRpZmYgLS1naXQgYS9zcmMvcmZraWxsLmMgYi9zcmMvcmZraWxsLmMKLWluZGV4IDJiZmIwOTIuLmFmNDlkMTIgMTAwNjQ0Ci0tLS0gYS9zcmMvcmZraWxsLmMKLSsrKyBiL3NyYy9yZmtpbGwuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3NyYy9zdGF0cy5jIGIvc3JjL3N0YXRzLmMKLWluZGV4IDI2MzQzYjEuLmNmY2RjOTQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3RhdHMuYwotKysrIGIvc3JjL3N0YXRzLmMKLUBAIC0yMyw3ICsyMyw2IEBACi0gI2luY2x1ZGUgPGNvbmZpZy5oPgotICNlbmRpZgotIAotLSNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8c3lzL21tYW4uaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci1kaWZmIC0tZ2l0IGEvc3JjL3RpbWV6b25lLmMgYi9zcmMvdGltZXpvbmUuYwotaW5kZXggZTM0NmIxMS4uOGU5MTI2NyAxMDA2NDQKLS0tLSBhL3NyYy90aW1lem9uZS5jCi0rKysgYi9zcmMvdGltZXpvbmUuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3N0YXRzLXRvb2wuYyBiL3Rvb2xzL3N0YXRzLXRvb2wuYwotaW5kZXggYjA3NjQ3OC4uNDI4ZDk0YiAxMDA2NDQKLS0tLSBhL3Rvb2xzL3N0YXRzLXRvb2wuYwotKysrIGIvdG9vbHMvc3RhdHMtdG9vbC5jCi1AQCAtMjIsNyArMjIsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCi1pbmRleCBmZGMwOThhLi41NzkxN2Y1IDEwMDY0NAotLS0tIGEvdG9vbHMvdGFwLXRlc3QuYwotKysrIGIvdG9vbHMvdGFwLXRlc3QuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotZGlmZiAtLWdpdCBhL3Rvb2xzL3dpc3ByLmMgYi90b29scy93aXNwci5jCi1pbmRleCBkNWY5MzQxLi5lNTZkZmMxIDEwMDY0NAotLS0tIGEvdG9vbHMvd2lzcHIuYwotKysrIGIvdG9vbHMvd2lzcHIuYwotQEAgLTIzLDcgKzIzLDYgQEAKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBfR05VX1NPVVJDRQotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS92cG4vcGx1Z2lucy92cG4uYyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCi1pbmRleCA5YTQyMzg1Li40NzljM2E3IDEwMDY0NAotLS0tIGEvdnBuL3BsdWdpbnMvdnBuLmMKLSsrKyBiL3Zwbi9wbHVnaW5zL3Zwbi5jCi1AQCAtMjMsNyArMjMsNiBAQAotICNpbmNsdWRlIDxjb25maWcuaD4KLSAjZW5kaWYKLSAKLS0jZGVmaW5lIF9HTlVfU09VUkNFCi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0tIAotMi44LjEKLQotCi1Gcm9tIGI4Yjc4NzhlNmNiMmExZWQ0ZmNmYTI1NmY3ZTIzMjUxMWE0MGUzZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCA5IEF1ZyAyMDE2IDE1OjM3OjUwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBDaGVjayBmb3IgaW42X3BrdGluZm8uaXBpNl9hZGRyIGV4cGxpY2l0bHkKLQotSW5zdGVhZCBvZiBhc3N1bWluZyB0aGF0IGp1c3QgZ2xpYmMgaGFzIHRoaXMgc3RydWN0dXJlLCBjaGVjayBmb3IgaXQgYXQKLWNvbmZpZ3VyZSBhcyBtdXNsIGFsc28gaGFzIGl0LgotCi1CYXNlZCBvbiB3b3JrIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+LgotLS0tCi0gY29uZmlndXJlLmFjICAgfCAyICsrCi0gZ2RoY3AvY29tbW9uLmggfCA1ICsrKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IGJhY2Y1ZWMuLmFkMDA0NTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4Niw2ICsxODYsOCBAQCBBQ19DSEVDS19MSUIocmVzb2x2LCBuc19pbml0cGFyc2UsIGR1bW15PXllcywgWwotIEFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQotIEFNX0NPTkRJVElPTkFMKFtCQUNLVFJBQ0VdLCBbdGVzdCAiJHthY19jdl9oZWFkZXJfZXhlY2luZm9faH0iID0gInllcyJdKQotIAotK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBpbjZfcGt0aW5mby5pcGk2X2FkZHJdLCBbXSwgW10sIFtbI2luY2x1ZGUgPG5ldGluZXQvaW4uaD5dXSkKLSsKLSBBQ19DSEVDS19GVU5DKHNpZ25hbGZkLCBkdW1teT15ZXMsCi0gCQkJQUNfTVNHX0VSUk9SKHNpZ25hbGZkIHN1cHBvcnQgaXMgcmVxdWlyZWQpKQotIAotZGlmZiAtLWdpdCBhL2dkaGNwL2NvbW1vbi5oIGIvZ2RoY3AvY29tbW9uLmgKLWluZGV4IDc1YWJjMTguLjY4OTk0OTkgMTAwNjQ0Ci0tLS0gYS9nZGhjcC9jb21tb24uaAotKysrIGIvZ2RoY3AvY29tbW9uLmgKLUBAIC0xOSw2ICsxOSw3IEBACi0gICoKLSAgKi8KLSAKLSsjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvdWRwLmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaXAuaD4KLSAKLUBAIC0xNzAsOCArMTcxLDggQEAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgZGhjcF9vcHRpb25fbGVuZ3Roc1tdID0gewotIAlbT1BUSU9OX1UzMl0JPSA0LAotIH07Ci0gCi0tLyogYWxyZWFkeSBkZWZpbmVkIHdpdGhpbiBuZXRpbmV0L2luLmggaWYgdXNpbmcgR05VIGNvbXBpbGVyICovCi0tI2lmbmRlZiBfX1VTRV9HTlUKLSsvKiBhbHJlYWR5IGRlZmluZWQgd2l0aGluIG5ldGluZXQvaW4uaCBpZiB1c2luZyBnbGliYyBvciBtdXNsICovCi0rI2lmbmRlZiBIQVZFX1NUUlVDVF9JTjZfUEtUSU5GT19JUEk2X0FERFIKLSBzdHJ1Y3QgaW42X3BrdGluZm8gewotIAlzdHJ1Y3QgaW42X2FkZHIgaXBpNl9hZGRyOyAgLyogc3JjL2RzdCBJUHY2IGFkZHJlc3MgKi8KLSAJdW5zaWduZWQgaW50IGlwaTZfaWZpbmRleDsgIC8qIHNlbmQvcmVjdiBpbnRlcmZhY2UgaW5kZXggKi8KLS0tIAotMi44LjEKLQotCi1Gcm9tIGMwNzI2ZTQzMmZhMDI3NGEyYjljNzAxNzliMDNkZjY3MjA5NzI4MTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCA5IEF1ZyAyMDE2IDE1OjE5OjIzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy8zXSBSYXRpb25hbGlzZSBpbmNsdWRlcwotCi1nd2ViL2dyZXNvbHYuYyB1c2VzIHNucHJpbnRmKCkgYW5kIGlzc3BhY2UoKSBzbyBpdCBzaG91bGQgaW5jbHVkZSBzdGRpby5oIGFuZAotY3R5cGUuaC4KLQotdG9vbHMvZG5zcHJveHktdGVzdCB1c2VzIGZ1bmN0aW9ucyBmcm9tIHN0ZGlvLmguCi0KLW11c2wgd2FybnMgd2hlbiBzeXMvIGhlYWRlcnMgYXJlIGluY2x1ZGVkIHdoZW4gdGhlIG5vbi1zeXMgZm9ybSBzaG91bGQgYmUgdXNlZCwKLXNvIHN3aXRjaCBzeXMvZXJybm8uaCBhbmQgc28gb24gdG8gZXJybm8uaC4KLQotbXVzbCBhbHNvIGNhdXNlcyByZWRlZmluaXRpb24gZXJyb3JzIHdoZW4gcGllY2VzIG9mIHRoZSBuZXR3b3JraW5nIGhlYWRlcnMgYXJlCi1pbmNsdWRlZCwgc28gcmVtb3ZlIHRoZSByZWR1bmRhbnQgaW5jbHVkZXMuCi0KLUJhc2VkIG9uIHdvcmsgYnkgS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4uCi0tLS0KLSBnd2ViL2dyZXNvbHYuYyAgICAgICAgICAgICAgIHwgMiArKwotIHBsdWdpbnMvd2lmaS5jICAgICAgICAgICAgICAgfCAzICstLQotIHNyYy9pcHBvb2wuYyAgICAgICAgICAgICAgICAgfCAxIC0KLSBzcmMvaXB0YWJsZXMuYyAgICAgICAgICAgICAgIHwgMiArLQotIHNyYy90ZXRoZXJpbmcuYyAgICAgICAgICAgICAgfCAyIC0tCi0gdG9vbHMvZGhjcC10ZXN0LmMgICAgICAgICAgICB8IDEgLQotIHRvb2xzL2Ruc3Byb3h5LXRlc3QuYyAgICAgICAgfCAxICsKLSB0b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIHwgMiArLQotIHRvb2xzL3RhcC10ZXN0LmMgICAgICAgICAgICAgfCAyICstCi0gOSBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nd2ViL2dyZXNvbHYuYyBiL2d3ZWIvZ3Jlc29sdi5jCi1pbmRleCA4YTUxYTlmLi5kNTUwMjdjIDEwMDY0NAotLS0tIGEvZ3dlYi9ncmVzb2x2LmMKLSsrKyBiL2d3ZWIvZ3Jlc29sdi5jCi1AQCAtMjksNiArMjksNyBAQAotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHJlc29sdi5oPgotKyNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotICNpbmNsdWRlIDxuZXRkYi5oPgotZGlmZiAtLWdpdCBhL3BsdWdpbnMvd2lmaS5jIGIvcGx1Z2lucy93aWZpLmMKLWluZGV4IDlkNTY2NzEuLjE0ODEzMWQgMTAwNjQ0Ci0tLS0gYS9wbHVnaW5zL3dpZmkuYwotKysrIGIvcGx1Z2lucy93aWZpLmMKLUBAIC0zMCw5ICszMCw4IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KLS0jaW5jbHVkZSA8bGludXgvd2lyZWxlc3MuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0rI2luY2x1ZGUgPGxpbnV4L3dpcmVsZXNzLmg+Ci0gCi0gI2lmbmRlZiBJRkZfTE9XRVJfVVAKLSAjZGVmaW5lIElGRl9MT1dFUl9VUAkweDEwMDAwCi1kaWZmIC0tZ2l0IGEvc3JjL2lwcG9vbC5jIGIvc3JjL2lwcG9vbC5jCi1pbmRleCBjZWExZGNjLi44YTY0NWRhIDEwMDY0NAotLS0tIGEvc3JjL2lwcG9vbC5jCi0rKysgYi9zcmMvaXBwb29sLmMKLUBAIC0yOCw3ICsyOCw2IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAKLSAjaW5jbHVkZSAiY29ubm1hbi5oIgotZGlmZiAtLWdpdCBhL3NyYy9pcHRhYmxlcy5jIGIvc3JjL2lwdGFibGVzLmMKLWluZGV4IDVlZjc1N2EuLjgyZTNhYzQgMTAwNjQ0Ci0tLS0gYS9zcmMvaXB0YWJsZXMuYwotKysrIGIvc3JjL2lwdGFibGVzLmMKLUBAIC0yOCw3ICsyOCw3IEBACi0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLS0jaW5jbHVkZSA8c3lzL2Vycm5vLmg+Ci0rI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSAjaW5jbHVkZSA8eHRhYmxlcy5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotZGlmZiAtLWdpdCBhL3NyYy90ZXRoZXJpbmcuYyBiL3NyYy90ZXRoZXJpbmcuYwotaW5kZXggMzE1MzM0OS4uYWQwNjJkNSAxMDA2NDQKLS0tLSBhL3NyYy90ZXRoZXJpbmcuYwotKysrIGIvc3JjL3RldGhlcmluZy5jCi1AQCAtMzEsMTAgKzMxLDggQEAKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0gI2luY2x1ZGUgPG5ldC9pZi5oPgotLSNpbmNsdWRlIDxsaW51eC9zb2NraW9zLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl90dW4uaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9icmlkZ2UuaD4KLSAKLWRpZmYgLS1naXQgYS90b29scy9kaGNwLXRlc3QuYyBiL3Rvb2xzL2RoY3AtdGVzdC5jCi1pbmRleCBjMzRlMTBhLi5lYWU2NmZjIDEwMDY0NAotLS0tIGEvdG9vbHMvZGhjcC10ZXN0LmMKLSsrKyBiL3Rvb2xzL2RoY3AtdGVzdC5jCi1AQCAtMzMsNyArMzMsNiBAQAotICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KLSAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+Ci0gI2luY2x1ZGUgPG5ldC9ldGhlcm5ldC5oPgotLSNpbmNsdWRlIDxsaW51eC9pZl9hcnAuaD4KLSAKLSAjaW5jbHVkZSA8Z2RoY3AvZ2RoY3AuaD4KLSAKLWRpZmYgLS1naXQgYS90b29scy9kbnNwcm94eS10ZXN0LmMgYi90b29scy9kbnNwcm94eS10ZXN0LmMKLWluZGV4IDU1MWNhZTkuLjM3MWUyZTIgMTAwNjQ0Ci0tLS0gYS90b29scy9kbnNwcm94eS10ZXN0LmMKLSsrKyBiL3Rvb2xzL2Ruc3Byb3h5LXRlc3QuYwotQEAgLTI0LDYgKzI0LDcgQEAKLSAjZW5kaWYKLSAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSsjaW5jbHVkZSA8c3RkaW8uaD4KLSAjaW5jbHVkZSA8c3RkbGliLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLWRpZmYgLS1naXQgYS90b29scy9wcml2YXRlLW5ldHdvcmstdGVzdC5jIGIvdG9vbHMvcHJpdmF0ZS1uZXR3b3JrLXRlc3QuYwotaW5kZXggM2RkMTE1Yi4uMjgyOGJiMyAxMDA2NDQKLS0tLSBhL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMKLSsrKyBiL3Rvb2xzL3ByaXZhdGUtbmV0d29yay10ZXN0LmMKLUBAIC0zMiw3ICszMiw3IEBACi0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0tI2luY2x1ZGUgPHN5cy9wb2xsLmg+Ci0rI2luY2x1ZGUgPHBvbGwuaD4KLSAjaW5jbHVkZSA8c3lzL3NpZ25hbGZkLmg+Ci0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotIAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RhcC10ZXN0LmMgYi90b29scy90YXAtdGVzdC5jCi1pbmRleCA1NzkxN2Y1Li5jYjNlZTYyIDEwMDY0NAotLS0tIGEvdG9vbHMvdGFwLXRlc3QuYwotKysrIGIvdG9vbHMvdGFwLXRlc3QuYwotQEAgLTI4LDcgKzI4LDcgQEAKLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotLSNpbmNsdWRlIDxzeXMvcG9sbC5oPgotKyNpbmNsdWRlIDxwb2xsLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotIAotICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0tLSAKLTIuOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvY29ubm1hbi9jb25ubWFuXzEuMzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMjExODEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotcmVxdWlyZSBjb25ubWFuLmluYwotCi1TUkNfVVJJICA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L25ldHdvcmsvJHtCUE59LyR7QlB9LnRhci54eiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1wbHVnaW4uaC1DaGFuZ2UtdmlzaWJpbGl0eS10by1kZWZhdWx0LWZvci1kZWJ1Zy1zeW1iLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNvbm5tYW4uc2VydmljZS1zdG9wLXN5c3RlbWQtcmVzb2x2ZWQtd2hlbi13ZS11c2UtY28ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2Nvbm5tYW4gXAotICAgICAgICAgICAgZmlsZTovL25vLXZlcnNpb24tc2NyaXB0cy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vaW5jbHVkZXMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtc2Vzc2lvbi1LZWVwLXRyYWNrLW9mLWFkZHItaW4tZndfc25hdC1zZXNzaW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdpb2dudXRscy1GaXgtYS1jcmFzaC11c2luZy13aXNwci1vdmVyLVRMUy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1pbmV0LUFkZC1wcmVmaXhsZW4tdG8taXByb3V0ZV9kZWZhdWx0X2Z1bmN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWluZXQtSW1wbGVtZW50LXN1Ym5ldC1yb3V0ZS1jcmVhdGlvbi1kZWxldGlvbi1pbi1pcHIucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDMtaW5ldC1JbXBsZW1lbnQtQVBJcy1mb3ItY3JlYXRpbmctYW5kLWRlbGV0aW5nLXN1Ym5ldC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNC1zZXNzaW9uLVVzZS1zdWJuZXQtcm91dGUtY3JlYXRpb24tYW5kLWRlbGV0aW9uLUFQSXMucGF0Y2ggXAotICAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwMi1yZXNvbHZlLW11c2wtZG9lcy1ub3QtaW1wbGVtZW50LXJlc19uaW5pdC5wYXRjaCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImJhZTM3YjQ1ZWU5YjNkYjVlYzgxMTUxODhmOGE3NjUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2ZDdkZWI5ODM3MTU0NWM2ZTQxNzIzOWE5YjNiM2UzMjAxYzE1MjlkMDhlZWRmNDBhZmJjODU5ODQyY2YyYWEiCi0KLVJSRUNPTU1FTkRTXyR7UE59ID0gImNvbm5tYW4tY29uZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9jb25ubWFuL2Nvbm5tYW5fMS4zNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTRkYmRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2Nvbm5tYW4vY29ubm1hbl8xLjM2LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgY29ubm1hbi5pbmMKKworU1JDX1VSSSAgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtcGx1Z2luLmgtQ2hhbmdlLXZpc2liaWxpdHktdG8tZGVmYXVsdC1mb3ItZGVidWctc3ltYi5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25ubWFuLnNlcnZpY2Utc3RvcC1zeXN0ZW1kLXJlc29sdmVkLXdoZW4td2UtdXNlLWNvLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9jb25ubWFuIFwKKyAgICAgICAgICAgIGZpbGU6Ly9uby12ZXJzaW9uLXNjcmlwdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXZhcmlvdXMtaXNzdWVzLXdoaWNoLWNhdXNlLXByb2JsZW1zLXVuZGVyLW11c2wucGF0Y2ggXAorIgorCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDAyLXJlc29sdmUtbXVzbC1kb2VzLW5vdC1pbXBsZW1lbnQtcmVzX25pbml0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGFlNzdkOWM5MDRkMmMyMjNhZTg0OWUzMjA3OWQ1N2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzc4OWRiNDFjYzQ0M2ZhNDFlNjYxMjE3ZWEzMjE0OTJhZDU5YTAwNGJlYmNkMWFhMDEzZjNiYzEwYTZlMDA3NCIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAiY29ubm1hbi1jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwLzAwMDEtZGhjcGQtZml4LVJlcGxhY2UtY3VzdG9tLWlzY19ib29sZWFuX3Qtd2l0aC1DLXN0YW5kYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMmU1NzcxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2gKQEAgLTAsMCArMSwyODgyIEBACitGcm9tIGZmYjFkMTMyNWJkNjUwM2RmOWEzMjRiZWZhYzVmNTAzOWFjNzc0MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KK0RhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTA6MzY6NTYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gZGhjcGQ6IGZpeCBSZXBsYWNlIGN1c3RvbSBpc2NfYm9vbGVhbl90IHdpdGggQyBzdGFuZGFyZCBib29sCisgdHlwZQorCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitGaXhlcyBpc3N1ZXMgaW50cm9kdWNlZCBieSBiaW5kIHdoZW4gdGhleSBjaGFuZ2VkIHRoZWlyIGhlYWRlcnMuCisKK1NpZ25lZC1vZmYtYnk6IEFybWluIEt1c3RlciA8YWt1c3RlckBtdmlzdGEuY29tPgorLS0tCisgaW5jbHVkZXMvZGhjcGQuaCAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCisgaW5jbHVkZXMvaGVhcC5oICAgICAgICAgICAgfCAgMiArLQorIGluY2x1ZGVzL29tYXBpcC9vbWFwaXAuaCAgIHwgIDIgKy0KKyBpbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaCB8ICA2ICsrKy0tLQorIGluY2x1ZGVzL3RyZWUuaCAgICAgICAgICAgIHwgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9kaGNwZC5oCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2luY2x1ZGVzL2RoY3BkLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL2RoY3BkLmgKK0BAIC00NjEsMjAgKzQ2MSwyMCBAQCBzdHJ1Y3QgcGFja2V0IHsKKyAJICogb3B0aW9ucyB3ZSBnb3QgaW4gYSBwcmV2aW91cyBleGNoYW5nZSB3ZXJlIHN0aWxsIHRoZXJlLCB3ZSBuZWVkCisgCSAqIHRvIHNpZ25hbCB0aGlzIGluIGEgcmVsaWFibGUgd2F5LgorIAkgKi8KKy0JaXNjX2Jvb2xlYW5fdCBhZ2VudF9vcHRpb25zX3N0YXNoZWQ7CisrCWJvb2wgYWdlbnRfb3B0aW9uc19zdGFzaGVkOworIAorIAkvKgorIAkgKiBJU0NfVFJVRSBpZiBwYWNrZXQgcmVjZWl2ZWQgdW5pY2FzdCAoYXMgb3Bwb3NlZCB0byBtdWx0aWNhc3QpLgorIAkgKiBPbmx5IHVzZWQgaW4gREhDUHY2LgorIAkgKi8KKy0JaXNjX2Jvb2xlYW5fdCB1bmljYXN0OworKwlib29sIHVuaWNhc3Q7CisgCisgCS8qIFByb3BhZ2F0ZXMgc2VydmVyIHZhbHVlIFNWX0VDSE9fQ0xJRU5UX0lEIHNvIGl0IGlzIGF2YWlsYWJsZQorICAgICAgICAgICogaW4gY29uc19vcHRpb25zKCkgKi8KKyAJaW50IHN2X2VjaG9fY2xpZW50X2lkOworIAorIAkvKiBSZWxheSBwb3J0IGNoZWNrICovCistCWlzY19ib29sZWFuX3QgcmVsYXlfc291cmNlX3BvcnQ7CisrCWJvb2wgcmVsYXlfc291cmNlX3BvcnQ7CisgfTsKKyAKKyAvKgorQEAgLTExNzQsNyArMTE3NCw3IEBAIHN0cnVjdCBkaGM2X2xlYXNlIHsKKyAJc3RydWN0IGRoYzZfbGVhc2UgKm5leHQ7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBzZXJ2ZXJfaWQ7CisgCistCWlzY19ib29sZWFuX3QgcmVsZWFzZWQ7CisrCWJvb2wgcmVsZWFzZWQ7CisgCWludCBzY29yZTsKKyAJdV9pbnQ4X3QgcHJlZjsKKyAKK0BAIC0xNjk1LDggKzE2OTUsOCBAQCBzdHJ1Y3QgaXB2Nl9wb29sIHsKKyAJaW50IGJpdHM7CQkJCS8qIG51bWJlciBvZiBiaXRzLCBDSURSIHN0eWxlICovCisgCWludCB1bml0czsJCQkJLyogYWxsb2NhdGlvbiB1bml0IGluIGJpdHMgKi8KKyAJaWFzdWJvcHRfaGFzaF90ICpsZWFzZXM7CQkvKiBub24tZnJlZSBsZWFzZXMgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hY3RpdmU7CQkvKiBjb3VudCBvZiBhY3RpdmUgbGVhc2VzICovCistCWlzY191aW50NjRfdCBudW1fYWJhbmRvbmVkOwkJLyogY291bnQgb2YgYWJhbmRvbmVkIGxlYXNlcyAqLworKwl1aW50NjRfdCBudW1fYWN0aXZlOwkJCS8qIGNvdW50IG9mIGFjdGl2ZSBsZWFzZXMgKi8KKysJdWludDY0X3QgbnVtX2FiYW5kb25lZDsJCQkvKiBjb3VudCBvZiBhYmFuZG9uZWQgbGVhc2VzICovCisgCWlzY19oZWFwX3QgKmFjdGl2ZV90aW1lb3V0czsJCS8qIHRpbWVvdXRzIGZvciBhY3RpdmUgbGVhc2VzICovCisgCWludCBudW1faW5hY3RpdmU7CQkJLyogY291bnQgb2YgaW5hY3RpdmUgbGVhc2VzICovCisgCWlzY19oZWFwX3QgKmluYWN0aXZlX3RpbWVvdXRzOwkJLyogdGltZW91dHMgZm9yIGV4cGlyZWQgb3IKK0BAIC0xNzMyLDExICsxNzMyLDExIEBAIHN0cnVjdCBpcHY2X3BvbmQgeworIAlzdHJ1Y3QgaXB2Nl9wb29sICoqaXB2Nl9wb29sczsJLyogTlVMTC10ZXJtaW5hdGVkIGFycmF5ICovCisgCWludCBsYXN0X2lwdjZfcG9vbDsJCS8qIG9mZnNldCBvZiBsYXN0IElQdjYgcG9vbAorIAkJCQkJICAgdXNlZCB0byBpc3N1ZSBhIGxlYXNlICovCistCWlzY191aW50NjRfdCBudW1fdG90YWw7CSAgICAvKiBUb3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHBvbmQgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hY3RpdmU7ICAgIC8qIE51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcG9uZCBpbiB1c2UgKi8KKy0JaXNjX3VpbnQ2NF90IG51bV9hYmFuZG9uZWQ7CS8qIGNvdW50IG9mIGFiYW5kb25lZCBsZWFzZXMgKi8KKysJdWludDY0X3QgbnVtX3RvdGFsOwkgICAgCS8qIFRvdGFsIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgcG9uZCAqLworKwl1aW50NjRfdCBudW1fYWN0aXZlOyAgICAJLyogTnVtYmVyIG9mIGVsZW1lbnRzIGluIHRoZSBwb25kIGluIHVzZSAqLworKwl1aW50NjRfdCBudW1fYWJhbmRvbmVkOwkJLyogY291bnQgb2YgYWJhbmRvbmVkIGxlYXNlcyAqLworIAlpbnQgbG9nZ2VkOwkJCS8qIGFscmVhZHkgbG9nZ2VkIGEgbWVzc2FnZSAqLworLQlpc2NfdWludDY0X3QgbG93X3RocmVzaG9sZDsJLyogbG93IHRocmVzaG9sZCB0byByZXN0YXJ0IGxvZ2dpbmcgKi8KKysJdWludDY0X3QgbG93X3RocmVzaG9sZDsJCS8qIGxvdyB0aHJlc2hvbGQgdG8gcmVzdGFydCBsb2dnaW5nICovCisgCWludCBqdW1ib19yYW5nZTsKKyAjaWZkZWYgRVVJXzY0CisgCWludCB1c2VfZXVpXzY0OwkJLyogdXNlIEVVSS02NCBhZGRyZXNzIGFzc2lnbm1lbnQgd2hlbiB0cnVlICovCitAQCAtMTc0NSw5ICsxNzQ1LDkgQEAgc3RydWN0IGlwdjZfcG9uZCB7CisgCisgLyoKKyAgKiBNYXggYWRkcmVzc2VzIGluIGEgcG9uZCB0aGF0IGNhbiBiZSBzdXBwb3J0ZWQgYnkgbG9nIHRocmVzaG9sZAorLSAqIEN1cnJlbnRseSBiYXNlZCBvbiBtYXggdmFsdWUgc3VwcG9ydGVkIGJ5IGlzY191aW50NjRfdC4KKysgKiBDdXJyZW50bHkgYmFzZWQgb24gbWF4IHZhbHVlIHN1cHBvcnRlZCBieSB1aW50NjRfdC4KKyAqLworLSNkZWZpbmUgUE9ORF9UUkFDS19NQVggSVNDX1VJTlQ2NF9NQVgKKysjZGVmaW5lIFBPTkRfVFJBQ0tfTUFYIFVJTlQ2NF9NQVgKKyAKKyAvKiBGbGFncyBmb3IgZGhjcF9kZG5zX2NiX3QgKi8KKyAjZGVmaW5lIERETlNfVVBEQVRFX0FERFIJCTB4MDAwMQorQEAgLTE4NjgsNyArMTg2OCw3IEBAIGxvb2t1cF9mcWRuNl9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bmkKKyAJCSAgICB1bnNpZ25lZCBjb2RlKTsKKyB2b2lkCisgc2F2ZV9mcWRuNl9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXJzZSwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqb3B0aW9ucywKKy0JCSAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApOworIHZvaWQKKyBkZWxldGVfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCisgCQkgICAgaW50IGNvZGUpOworQEAgLTE5NTMsNyArMTk1Myw3IEBAIHZvaWQgc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnUKKyB2b2lkIGFsc29fc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKyAJCSAgICAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKik7Cisgdm9pZCBzYXZlX2hhc2hlZF9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKy0JCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICosIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sIGFwcGVuZHApOworIHZvaWQgZGVsZXRlX29wdGlvbiAoc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwgaW50KTsKKyB2b2lkIGRlbGV0ZV9oYXNoZWRfb3B0aW9uIChzdHJ1Y3QgdW5pdmVyc2UgKiwKKyAJCQkgICBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosIGludCk7CitAQCAtMjA0MSw3ICsyMDQxLDcgQEAgaW50IGxpbmtlZF9vcHRpb25fc3RhdGVfZGVyZWZlcmVuY2UgKHN0cgorIAkJCQkgICAgIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKyAJCQkJICAgICBjb25zdCBjaGFyICosIGludCk7Cisgdm9pZCBzYXZlX2xpbmtlZF9vcHRpb24oc3RydWN0IHVuaXZlcnNlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKKy0JCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICosIGlzY19ib29sZWFuX3QgYXBwZW5kcCk7CisrCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sIGFwcGVuZHApOworIHZvaWQgbGlua2VkX29wdGlvbl9zcGFjZV9mb3JlYWNoIChzdHJ1Y3QgcGFja2V0ICosIHN0cnVjdCBsZWFzZSAqLAorIAkJCQkgIHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKyAJCQkJICBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosCitAQCAtMjA2OSw3ICsyMDY5LDcgQEAgdm9pZCBkb19wYWNrZXQgKHN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqLAorIAkJc3RydWN0IGRoY3BfcGFja2V0ICosIHVuc2lnbmVkLAorIAkJdW5zaWduZWQgaW50LCBzdHJ1Y3QgaWFkZHIsIHN0cnVjdCBoYXJkd2FyZSAqKTsKKyB2b2lkIGRvX3BhY2tldDYoc3RydWN0IGludGVyZmFjZV9pbmZvICosIGNvbnN0IGNoYXIgKiwKKy0JCWludCwgaW50LCBjb25zdCBzdHJ1Y3QgaWFkZHIgKiwgaXNjX2Jvb2xlYW5fdCk7CisrCQlpbnQsIGludCwgY29uc3Qgc3RydWN0IGlhZGRyICosIGJvb2wpOworIGludCBwYWNrZXQ2X2xlbl9va2F5KGNvbnN0IGNoYXIgKiwgaW50KTsKKyAKKyBpbnQgdmFsaWRhdGVfcGFja2V0KHN0cnVjdCBwYWNrZXQgKik7CitAQCAtMjIyNCw3ICsyMjI0LDcgQEAgdWludDMyX3QgcGFyc2VfYnl0ZV9vcmRlcl91aW50MzIoY29uc3QgdgorIGludCBkZG5zX3VwZGF0ZXMoc3RydWN0IHBhY2tldCAqLCBzdHJ1Y3QgbGVhc2UgKiwgc3RydWN0IGxlYXNlICosCisgCQkgc3RydWN0IGlhc3Vib3B0ICosIHN0cnVjdCBpYXN1Ym9wdCAqLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICopOworIGlzY19yZXN1bHRfdCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAqLCBzdHJ1Y3QgaWFzdWJvcHQgKiwKKy0JCQkgICBzdHJ1Y3QgZGhjcF9kZG5zX2NiICosIGlzY19ib29sZWFuX3QpOworKwkJCSAgIHN0cnVjdCBkaGNwX2RkbnNfY2IgKiwgYm9vbCk7CisgdV9pbnQxNl90IGdldF9jb25mbGljdF9tYXNrKHN0cnVjdCBvcHRpb25fc3RhdGUgKmlucHV0X29wdGlvbnMpOworICNpZiBkZWZpbmVkIChUUkFDSU5HKQorIHZvaWQgdHJhY2VfZGRuc19pbml0KHZvaWQpOworQEAgLTI0NTAsNyArMjQ1MCw3IEBAIHZvaWQgZGhjcGxlYXNlcXVlcnkgKHN0cnVjdCBwYWNrZXQgKiwgaW4KKyB2b2lkIGRoY3B2Nl9sZWFzZXF1ZXJ5IChzdHJ1Y3QgZGF0YV9zdHJpbmcgKiwgc3RydWN0IHBhY2tldCAqKTsKKyAKKyAvKiBkaGNwdjYuYyAqLworLWlzY19ib29sZWFuX3Qgc2VydmVyX2R1aWRfaXNzZXQodm9pZCk7CisrYm9vbCBzZXJ2ZXJfZHVpZF9pc3NldCh2b2lkKTsKKyB2b2lkIGNvcHlfc2VydmVyX2R1aWQoc3RydWN0IGRhdGFfc3RyaW5nICpkcywgY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUpOworIHZvaWQgc2V0X3NlcnZlcl9kdWlkKHN0cnVjdCBkYXRhX3N0cmluZyAqbmV3X2R1aWQpOworIGlzY19yZXN1bHRfdCBzZXRfc2VydmVyX2R1aWRfZnJvbV9vcHRpb24odm9pZCk7CitAQCAtMjg1Miw3ICsyODUyLDcgQEAgZXh0ZXJuIHZvaWQgKCpib290cF9wYWNrZXRfaGFuZGxlcikgKHN0cgorIAkJCQkgICAgIHN0cnVjdCBpYWRkciwgc3RydWN0IGhhcmR3YXJlICopOworIGV4dGVybiB2b2lkICgqZGhjcHY2X3BhY2tldF9oYW5kbGVyKShzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKiwKKyAJCQkJICAgICBjb25zdCBjaGFyICosIGludCwKKy0JCQkJICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLCBpc2NfYm9vbGVhbl90KTsKKysJCQkJICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLCBib29sKTsKKyBleHRlcm4gc3RydWN0IHRpbWVvdXQgKnRpbWVvdXRzOworIGV4dGVybiBvbWFwaV9vYmplY3RfdHlwZV90ICpkaGNwX3R5cGVfaW50ZXJmYWNlOworICNpZiBkZWZpbmVkIChUUkFDSU5HKQorQEAgLTI5NDMsNyArMjk0Myw3IEBAIGludCBhZGRyX29yKHN0cnVjdCBpYWRkciAqcmVzdWx0LAorIAkgICAgY29uc3Qgc3RydWN0IGlhZGRyICphMSwgY29uc3Qgc3RydWN0IGlhZGRyICphMik7CisgaW50IGFkZHJfYW5kKHN0cnVjdCBpYWRkciAqcmVzdWx0LAorIAkgICAgIGNvbnN0IHN0cnVjdCBpYWRkciAqYTEsIGNvbnN0IHN0cnVjdCBpYWRkciAqYTIpOworLWlzY19ib29sZWFuX3QgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYWRkciwgaW50IGJpdHMpOworK2Jvb2wgaXNfY2lkcl9tYXNrX3ZhbGlkKGNvbnN0IHN0cnVjdCBpYWRkciAqYWRkciwgaW50IGJpdHMpOworIGlzY19yZXN1bHRfdCByYW5nZTJjaWRyKHN0cnVjdCBpYWRkcmNpZHJuZXRsaXN0ICoqcmVzdWx0LAorIAkJCWNvbnN0IHN0cnVjdCBpYWRkciAqbG8sIGNvbnN0IHN0cnVjdCBpYWRkciAqaGkpOworIGlzY19yZXN1bHRfdCBmcmVlX2lhZGRyY2lkcm5ldGxpc3Qoc3RydWN0IGlhZGRyY2lkcm5ldGxpc3QgKipyZXN1bHQpOworQEAgLTM3ODcsNyArMzc4Nyw3IEBAIGlzY19yZXN1bHRfdCBpYV9hZGRfaWFzdWJvcHQoc3RydWN0IGlhX3gKKyAJCQkgICAgIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKyB2b2lkIGlhX3JlbW92ZV9pYXN1Ym9wdChzdHJ1Y3QgaWFfeHggKmlhLCBzdHJ1Y3QgaWFzdWJvcHQgKmlhc3Vib3B0LAorIAkJCWNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKKy1pc2NfYm9vbGVhbl90IGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3RydWN0IGlhX3h4ICpiKTsKKytib29sIGlhX2VxdWFsKGNvbnN0IHN0cnVjdCBpYV94eCAqYSwgY29uc3Qgc3RydWN0IGlhX3h4ICpiKTsKKyAKKyBpc2NfcmVzdWx0X3QgaXB2Nl9wb29sX2FsbG9jYXRlKHN0cnVjdCBpcHY2X3Bvb2wgKipwb29sLCB1X2ludDE2X3QgdHlwZSwKKyAJCQkJY29uc3Qgc3RydWN0IGluNl9hZGRyICpzdGFydF9hZGRyLAorQEAgLTM4MjAsOSArMzgyMCw5IEBAIGlzY19yZXN1bHRfdCBleHBpcmVfbGVhc2U2KHN0cnVjdCBpYXN1Ym8KKyAJCQkgICBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCB0aW1lX3Qgbm93KTsKKyBpc2NfcmVzdWx0X3QgcmVsZWFzZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3RydWN0IGlhc3Vib3B0ICpsZWFzZSk7CisgaXNjX3Jlc3VsdF90IGRlY2xpbmVfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpOworLWlzY19ib29sZWFuX3QgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorK2Jvb2wgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorIAkJCSAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIpOworLWlzY19ib29sZWFuX3QgbGVhc2U2X3VzYWJsZShzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlKTsKKytib29sIGxlYXNlNl91c2FibGUoc3RydWN0IGlhc3Vib3B0ICpsZWFzZSk7CisgaXNjX3Jlc3VsdF90IGNsZWFudXBfbGVhc2U2KGlhX2hhc2hfdCAqaWFfdGFibGUsCisgCQkJICAgIHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsCisgCQkJICAgIHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UsCitAQCAtMzgzNCwxMyArMzgzNCwxMyBAQCBpc2NfcmVzdWx0X3QgY3JlYXRlX3ByZWZpeDYoc3RydWN0IGlwdjZfCisgCQkJICAgIHVuc2lnbmVkIGludCAqYXR0ZW1wdHMsCisgCQkJICAgIGNvbnN0IHN0cnVjdCBkYXRhX3N0cmluZyAqdWlkLAorIAkJCSAgICB0aW1lX3Qgc29mdF9saWZldGltZV9lbmRfdGltZSk7CistaXNjX2Jvb2xlYW5fdCBwcmVmaXg2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLAorK2Jvb2wgcHJlZml4Nl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwKKyAJCQkgICAgIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqcHJlZiwgdV9pbnQ4X3QgcGxlbik7CisgCisgaXNjX3Jlc3VsdF90IGFkZF9pcHY2X3Bvb2woc3RydWN0IGlwdjZfcG9vbCAqcG9vbCk7CisgaXNjX3Jlc3VsdF90IGZpbmRfaXB2Nl9wb29sKHN0cnVjdCBpcHY2X3Bvb2wgKipwb29sLCB1X2ludDE2X3QgdHlwZSwKKyAJCQkgICAgY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyKTsKKy1pc2NfYm9vbGVhbl90IGlwdjZfaW5fcG9vbChjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCisrYm9vbCBpcHY2X2luX3Bvb2woY29uc3Qgc3RydWN0IGluNl9hZGRyICphZGRyLAorIAkJCSAgIGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wpOworIGlzY19yZXN1bHRfdCBpcHY2X3BvbmRfYWxsb2NhdGUoc3RydWN0IGlwdjZfcG9uZCAqKnBvbmQsCisgCQkJCWNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKK0luZGV4OiBkaGNwLTQuNC4xL2luY2x1ZGVzL2hlYXAuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9oZWFwLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL2hlYXAuaAorQEAgLTI2LDcgKzI2LDcgQEAKKyAgKiBUaGUgY29tcGFyaXNpb24gZnVuY3Rpb24gcmV0dXJucyBJU0NfVFJVRSBpZiB0aGUgZmlyc3QgYXJndW1lbnQgaGFzCisgICogaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhlIHNlY29uZCBhcmd1bWVudCwgYW5kIElTQ19GQUxTRSBvdGhlcndpc2UuCisgICovCistdHlwZWRlZiBpc2NfYm9vbGVhbl90ICgqaXNjX2hlYXBjb21wYXJlX3QpKHZvaWQgKiwgdm9pZCAqKTsKKyt0eXBlZGVmIGJvb2wgKCppc2NfaGVhcGNvbXBhcmVfdCkodm9pZCAqLCB2b2lkICopOworIAorIC8qJQorICAqIFRoZSBpbmRleCBmdW5jdGlvbiBhbGxvd3MgdGhlIGNsaWVudCBvZiB0aGUgaGVhcCB0byByZWNlaXZlIGEgY2FsbGJhY2sKK0luZGV4OiBkaGNwLTQuNC4xL2luY2x1ZGVzL29tYXBpcC9vbWFwaXAuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9vbWFwaXAvb21hcGlwLmgKKysrKyBkaGNwLTQuNC4xL2luY2x1ZGVzL29tYXBpcC9vbWFwaXAuaAorQEAgLTI2NCw3ICsyNjQsNyBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfY29ubmVjdCAob21hCisgaXNjX3Jlc3VsdF90IG9tYXBpX2Nvbm5lY3RfbGlzdCAob21hcGlfb2JqZWN0X3QgKiwgb21hcGlfYWRkcl9saXN0X3QgKiwKKyAJCQkJIG9tYXBpX2FkZHJfdCAqKTsKKyBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfbGlzdGVuIChvbWFwaV9vYmplY3RfdCAqLCB1bnNpZ25lZCwgaW50KTsKKy1pc2NfYm9vbGVhbl90IG9tYXBpX3Byb3RvY29sX2F1dGhlbnRpY2F0ZWQgKG9tYXBpX29iamVjdF90ICopOworK2Jvb2wgb21hcGlfcHJvdG9jb2xfYXV0aGVudGljYXRlZCAob21hcGlfb2JqZWN0X3QgKik7CisgaXNjX3Jlc3VsdF90IG9tYXBpX3Byb3RvY29sX2NvbmZpZ3VyZV9zZWN1cml0eSAob21hcGlfb2JqZWN0X3QgKiwKKyAJCQkJCQlpc2NfcmVzdWx0X3QgKCopCisgCQkJCQkJKG9tYXBpX29iamVjdF90ICosCitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9pbmNsdWRlcy9vbWFwaXAvb21hcGlwX3AuaAorKysrIGRoY3AtNC40LjEvaW5jbHVkZXMvb21hcGlwL29tYXBpcF9wLmgKK0BAIC0xNDksNyArMTQ5LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9wcm90b2NvbF9vYmplY3QgeworIAlvbWFwaV9yZW1vdGVfYXV0aF90ICpyZW1vdGVfYXV0aF9saXN0OwkvKiBBdXRoZW50aWNhdG9ycyBhY3RpdmUgb24KKyAJCQkJCQkgICB0aGlzIGNvbm5lY3Rpb24uICovCisgCistCWlzY19ib29sZWFuX3QgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisrCWJvb2wgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisgCQkJCQkgICBtZXNzYWdlcy4gKi8KKyAKKyAJaXNjX3Jlc3VsdF90ICgqdmVyaWZ5X2F1dGgpIChvbWFwaV9vYmplY3RfdCAqLCBvbWFwaV9hdXRoX2tleV90ICopOworQEAgLTE1OCw3ICsxNTgsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX29tYXBpX3Byb3RvY29sX29iamVjdCB7CisgdHlwZWRlZiBzdHJ1Y3QgeworIAlPTUFQSV9PQkpFQ1RfUFJFQU1CTEU7CisgCistCWlzY19ib29sZWFuX3QgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisrCWJvb2wgaW5zZWN1cmU7CQkvKiBTZXQgdG8gYWxsb3cgdW5hdXRoZW50aWNhdGVkCisgCQkJCQkgICBtZXNzYWdlcy4gKi8KKyAKKyAJaXNjX3Jlc3VsdF90ICgqdmVyaWZ5X2F1dGgpIChvbWFwaV9vYmplY3RfdCAqLCBvbWFwaV9hdXRoX2tleV90ICopOworQEAgLTIwOCw3ICsyMDgsNyBAQCB0eXBlZGVmIHN0cnVjdCBfX29tYXBpX2lvX29iamVjdCB7CisgCWlzY19yZXN1bHRfdCAoKndyaXRlcikgKG9tYXBpX29iamVjdF90ICopOworIAlpc2NfcmVzdWx0X3QgKCpyZWFwZXIpIChvbWFwaV9vYmplY3RfdCAqKTsKKyAJaXNjX3NvY2tldF90ICpmZDsKKy0JaXNjX2Jvb2xlYW5fdCBjbG9zZWQ7IC8qIElTQ19UUlVFID0gY2xvc2VkLCBkbyBub3QgdXNlICovCisrCWJvb2wgY2xvc2VkOyAvKiBJU0NfVFJVRSA9IGNsb3NlZCwgZG8gbm90IHVzZSAqLworIH0gb21hcGlfaW9fb2JqZWN0X3Q7CisgCisgdHlwZWRlZiBzdHJ1Y3QgX19vbWFwaV9nZW5lcmljX29iamVjdCB7CitJbmRleDogZGhjcC00LjQuMS9pbmNsdWRlcy90cmVlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvaW5jbHVkZXMvdHJlZS5oCisrKysgZGhjcC00LjQuMS9pbmNsdWRlcy90cmVlLmgKK0BAIC0zMDQsNyArMzA0LDcgQEAgc3RydWN0IHVuaXZlcnNlIHsKKyAJCQkJCSAgICAgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLAorIAkJCQkJICAgICB1bnNpZ25lZCk7CisgCXZvaWQgKCpzYXZlX2Z1bmMpIChzdHJ1Y3QgdW5pdmVyc2UgKiwgc3RydWN0IG9wdGlvbl9zdGF0ZSAqLAorLQkJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKiwgaXNjX2Jvb2xlYW5fdCk7CisrCQkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqLCBib29sICk7CisgCXZvaWQgKCpmb3JlYWNoKSAoc3RydWN0IHBhY2tldCAqLAorIAkJCSBzdHJ1Y3QgbGVhc2UgKiwgc3RydWN0IGNsaWVudF9zdGF0ZSAqLAorIAkJCSBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICosIHN0cnVjdCBvcHRpb25fc3RhdGUgKiwKK0luZGV4OiBkaGNwLTQuNC4xL2NvbW1vbi9jb25mbGV4LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL2NvbmZsZXguYworKysrIGRoY3AtNC40LjEvY29tbW9uL2NvbmZsZXguYworQEAgLTMyMiw3ICszMjIsNyBAQCBnZXRfcmF3X3Rva2VuKHN0cnVjdCBwYXJzZSAqY2ZpbGUpIHsKKyAKKyBzdGF0aWMgZW51bSBkaGNwX3Rva2VuIAorIGdldF9uZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgCistCSAgICAgICBzdHJ1Y3QgcGFyc2UgKmNmaWxlLCBpc2NfYm9vbGVhbl90IHJhdykgeworKwkgICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgYm9vbCByYXcpIHsKKyAJaW50IHJ2OworIAorIAlpZiAoY2ZpbGUgLT4gdG9rZW4pIHsKK0BAIC0zNjcsNyArMzY3LDcgQEAgZ2V0X25leHRfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbgorIAorIGVudW0gZGhjcF90b2tlbgorIG5leHRfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICpybGVuLCBzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CistCXJldHVybiBnZXRfbmV4dF90b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX0ZBTFNFKTsKKysJcmV0dXJuIGdldF9uZXh0X3Rva2VuKHJ2YWwsIHJsZW4sIGNmaWxlLCBmYWxzZSk7CisgfQorIAorIAorQEAgLTM3OCw3ICszNzgsNyBAQCBuZXh0X3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqCisgCisgZW51bSBkaGNwX3Rva2VuCisgbmV4dF9yYXdfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICpybGVuLCBzdHJ1Y3QgcGFyc2UgKmNmaWxlKSB7CistCXJldHVybiBnZXRfbmV4dF90b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX1RSVUUpOworKwlyZXR1cm4gZ2V0X25leHRfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIHRydWUpOworIH0KKyAKKyAKK0BAIC0zOTMsNyArMzkzLDcgQEAgbmV4dF9yYXdfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbgorIAorIGVudW0gZGhjcF90b2tlbgorIGRvX3BlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkIGludCAqcmxlbiwKKy0JICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgaXNjX2Jvb2xlYW5fdCByYXcpIHsKKysJICAgICAgc3RydWN0IHBhcnNlICpjZmlsZSwgYm9vbCByYXcpIHsKKyAJaW50IHg7CisgCisgCWlmICghY2ZpbGUtPnRva2VuIHx8ICghcmF3ICYmIChjZmlsZS0+dG9rZW4gPT0gV0hJVEVTUEFDRSkpKSB7CitAQCAtNDQxLDcgKzQ0MSw3IEBAIGRvX3BlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmUKKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBwZWVrX3Rva2VuKGNvbnN0IGNoYXIgKipydmFsLCB1bnNpZ25lZCAqcmxlbiwgc3RydWN0IHBhcnNlICpjZmlsZSkgeworLQlyZXR1cm4gZG9fcGVla190b2tlbihydmFsLCBybGVuLCBjZmlsZSwgSVNDX0ZBTFNFKTsKKysJcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIGZhbHNlKTsKKyB9CisgCisgCitAQCAtNDUyLDcgKzQ1Miw3IEBAIHBlZWtfdG9rZW4oY29uc3QgY2hhciAqKnJ2YWwsIHVuc2lnbmVkICoKKyAKKyBlbnVtIGRoY3BfdG9rZW4KKyBwZWVrX3Jhd190b2tlbihjb25zdCBjaGFyICoqcnZhbCwgdW5zaWduZWQgKnJsZW4sIHN0cnVjdCBwYXJzZSAqY2ZpbGUpIHsKKy0JcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIElTQ19UUlVFKTsKKysJcmV0dXJuIGRvX3BlZWtfdG9rZW4ocnZhbCwgcmxlbiwgY2ZpbGUsIHRydWUpOworIH0KKyAKKyBzdGF0aWMgdm9pZCBza2lwX3RvX2VvbCAoY2ZpbGUpCitJbmRleDogZGhjcC00LjQuMS9jb21tb24vZGlzY292ZXIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jb21tb24vZGlzY292ZXIuYworKysrIGRoY3AtNC40LjEvY29tbW9uL2Rpc2NvdmVyLmMKK0BAIC03Myw3ICs3Myw3IEBAIHZvaWQgKCpib290cF9wYWNrZXRfaGFuZGxlcikgKHN0cnVjdCBpbnQKKyB2b2lkICgqZGhjcHY2X3BhY2tldF9oYW5kbGVyKShzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKiwKKyAJCQkgICAgICBjb25zdCBjaGFyICosIGludCwKKyAJCQkgICAgICBpbnQsIGNvbnN0IHN0cnVjdCBpYWRkciAqLAorLQkJCSAgICAgIGlzY19ib29sZWFuX3QpOworKwkJCSAgICAgIGJvb2wpOworICNlbmRpZiAvKiBESENQdjYgKi8KKyAKKyAKK0BAIC0yMzYsNyArMjM2LDcgQEAgc3RydWN0IGlmYWNlX2NvbmZfbGlzdCB7Cisgc3RydWN0IGlmYWNlX2luZm8geworIAljaGFyIG5hbWVbSUZfTkFNRVNJWkUrMV07CS8qIG5hbWUgb2YgdGhlIGludGVyZmFjZSwgZS5nLiAiYmdlMCIgKi8KKyAJc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWRkcjsJLyogYWRkcmVzcyBpbmZvcm1hdGlvbiAqLworLQlpc2NfdWludDY0X3QgZmxhZ3M7CQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisrCXVpbnQ2NF90IGZsYWdzOwkJCS8qIGludGVyZmFjZSBmbGFncywgZS5nLiBJRkZfTE9PUEJBQ0sgKi8KKyB9OworIAorIC8qIAorQEAgLTMxMiwxNCArMzEyLDE0IEBAIGludAorIG5leHRfaWZhY2Uoc3RydWN0IGlmYWNlX2luZm8gKmluZm8sIGludCAqZXJyLCBzdHJ1Y3QgaWZhY2VfY29uZl9saXN0ICppZmFjZXMpIHsKKyAJc3RydWN0IExJRlJFUSAqcDsKKyAJc3RydWN0IExJRlJFUSB0bXA7CistCWlzY19ib29sZWFuX3QgZm91bmRpZjsKKysJYm9vbCBmb3VuZGlmOworICNpZiBkZWZpbmVkKHN1bikgfHwgZGVmaW5lZChfX2xpbnV4KQorIAkvKiBQb2ludGVyIHVzZWQgdG8gcmVtb3ZlIGludGVyZmFjZSBhbGlhc2VzLiAqLworIAljaGFyICpzOworICNlbmRpZgorIAorIAlkbyB7CistCQlmb3VuZGlmID0gSVNDX0ZBTFNFOworKwkJZm91bmRpZiA9IGZhbHNlOworIAorIAkJaWYgKGlmYWNlcy0+bmV4dCA+PSBpZmFjZXMtPm51bSkgeworIAkJCSplcnIgPSAwOworQEAgLTM1Myw4ICszNTMsOCBAQCBuZXh0X2lmYWNlKHN0cnVjdCBpZmFjZV9pbmZvICppbmZvLCBpbnQKKyAJCX0KKyAjZW5kaWYgLyogZGVmaW5lZChzdW4pIHx8IGRlZmluZWQoX19saW51eCkgKi8KKyAKKy0JCWZvdW5kaWYgPSBJU0NfVFJVRTsKKy0JfSB3aGlsZSAoKGZvdW5kaWYgPT0gSVNDX0ZBTFNFKSB8fAorKwkJZm91bmRpZiA9IHRydWU7CisrCX0gd2hpbGUgKChmb3VuZGlmID09IGZhbHNlKSB8fAorIAkJIChzdHJuY21wKGluZm8tPm5hbWUsICJkdW1teSIsIDUpID09IDApKTsKKyAJCisgCW1lbXNldCgmdG1wLCAwLCBzaXplb2YodG1wKSk7CitAQCAtNDEwLDcgKzQxMCw3IEBAIHN0cnVjdCBpZmFjZV9jb25mX2xpc3QgeworIHN0cnVjdCBpZmFjZV9pbmZvIHsKKyAJY2hhciBuYW1lW0lGTkFNU0laXTsJCS8qIG5hbWUgb2YgdGhlIGludGVyZmFjZSwgZS5nLiAiYmdlMCIgKi8KKyAJc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UgYWRkcjsJLyogYWRkcmVzcyBpbmZvcm1hdGlvbiAqLworLQlpc2NfdWludDY0X3QgZmxhZ3M7CQkvKiBpbnRlcmZhY2UgZmxhZ3MsIGUuZy4gSUZGX0xPT1BCQUNLICovCisrCXVpbnQ2NF90IGZsYWdzOwkJCS8qIGludGVyZmFjZSBmbGFncywgZS5nLiBJRkZfTE9PUEJBQ0sgKi8KKyB9OworIAorIC8qIAorQEAgLTExOTAsOSArMTE5MCw5IEBAIGdvdF9vbmVfdjYob21hcGlfb2JqZWN0X3QgKmgpIHsKKyAJCSAqIElmIGEgcGFja2V0IGlzIG5vdCBtdWx0aWNhc3QsIHdlIGFzc3VtZSBpdCBpcyB1bmljYXN0LgorIAkJICovCisgCQlpZiAoSU42X0lTX0FERFJfTVVMVElDQVNUKCZ0bykpIHsgCistCQkJaXNfdW5pY2FzdCA9IElTQ19GQUxTRTsKKysJCQlpc191bmljYXN0ID0gZmFsc2U7CisgCQl9IGVsc2UgeworLQkJCWlzX3VuaWNhc3QgPSBJU0NfVFJVRTsKKysJCQlpc191bmljYXN0ID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCWlmcm9tLmxlbiA9IDE2OworSW5kZXg6IGRoY3AtNC40LjEvb21hcGlwL2lzY3ByaW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvb21hcGlwL2lzY3ByaW50LmMKKysrKyBkaGNwLTQuNC4xL29tYXBpcC9pc2NwcmludC5jCitAQCAtNTksOCArNTksOCBAQCBpc2NfcHJpbnRfdnNucHJpbnRmKGNoYXIgKnN0ciwgc2l6ZV90IHNpCisgCWludCBwbHVzOworIAlpbnQgc3BhY2U7CisgCWludCBuZWc7CistCWlzY19pbnQ2NF90IHRtcGk7CistCWlzY191aW50NjRfdCB0bXB1aTsKKysJaW50NjRfdCB0bXBpOworKwl1aW50NjRfdCB0bXB1aTsKKyAJdW5zaWduZWQgbG9uZyB3aWR0aDsKKyAJdW5zaWduZWQgbG9uZyBwcmVjaXNpb247CisgCXVuc2lnbmVkIGludCBsZW5ndGg7CitAQCAtMjM0LDcgKzIzNCw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICdvJzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjQ0LDcgKzI0NCw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICd1JzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjUzLDcgKzI1Myw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICd4JzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitAQCAtMjY3LDcgKzI2Nyw3IEBAIGlzY19wcmludF92c25wcmludGYoY2hhciAqc3RyLCBzaXplX3Qgc2kKKyAJCQkJZ290byBwcmludGludDsKKyAJCQljYXNlICdYJzoKKyAJCQkJaWYgKHEpCistCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgaXNjX3VpbnQ2NF90KTsKKysJCQkJCXRtcHVpID0gdmFfYXJnKGFwLCB1aW50NjRfdCk7CisgCQkJCWVsc2UgaWYgKGwpCisgCQkJCQl0bXB1aSA9IHZhX2FyZyhhcCwgdW5zaWduZWQgbG9uZyBpbnQpOworIAkJCQllbHNlCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvY29uZnBhcnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvY29uZnBhcnMuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2NvbmZwYXJzLmMKK0BAIC00MDA1LDE1ICs0MDA1LDE1IEBAIGFkZF9pcHY2X3Bvb2xfdG9fc3VibmV0KHN0cnVjdCBzdWJuZXQgKnMKKyAKKyAJLyogT25seSBib3RoZXIgaWYgd2UgYXJlbid0IGFscmVhZHkgZmxhZ2dlZCBhcyBqdW1ibyAqLworIAlpZiAocG9uZC0+anVtYm9fcmFuZ2UgPT0gMCkgeworLQkJaWYgKCh1bml0cyAtIGJpdHMpID4gKHNpemVvZihpc2NfdWludDY0X3QpICogOCkpIHsKKysJCWlmICgodW5pdHMgLSBiaXRzKSA+IChzaXplb2YodWludDY0X3QpICogOCkpIHsKKyAJCQlwb25kLT5qdW1ib19yYW5nZSA9IDE7CisgCQkJcG9uZC0+bnVtX3RvdGFsID0gUE9ORF9UUkFDS19NQVg7CisgCQl9CisgCQllbHNlIHsKKy0JCQlpc2NfdWludDY0X3Qgc3BhY2VfbGVmdAorKwkJCXVpbnQ2NF90IHNwYWNlX2xlZnQKKyAJCQkJPSBQT05EX1RSQUNLX01BWCAtIHBvbmQtPm51bV90b3RhbDsKKy0JCQlpc2NfdWludDY0X3QgYWRkb24KKy0JCQkJPSAoaXNjX3VpbnQ2NF90KSgxKSA8PCAodW5pdHMgLSBiaXRzKTsKKysJCQl1aW50NjRfdCBhZGRvbgorKwkJCQk9ICh1aW50NjRfdCkoMSkgPDwgKHVuaXRzIC0gYml0cyk7CisgCisgCQkJaWYgKGFkZG9uID4gc3BhY2VfbGVmdCkgeworIAkJCQlwb25kLT5qdW1ib19yYW5nZSA9IDE7CitAQCAtNDczOSw3ICs0NzM5LDcgQEAgcGFyc2VfaWFfbmFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNDk1OSw5ICs0OTU5LDkgQEAgcGFyc2VfaWFfbmFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitAQCAtNTE4Niw3ICs1MTg2LDcgQEAgcGFyc2VfaWFfdGFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNTQwNiw5ICs1NDA2LDkgQEAgcGFyc2VfaWFfdGFfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitAQCAtNTYyMyw3ICs1NjIzLDcgQEAgcGFyc2VfaWFfcGRfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhcHJlZjsKKyAJc3RydWN0IGlwdjZfcG9vbCAqcG9vbDsKKyAJY2hhciBhZGRyX2J1ZltzaXplb2YoImZmZmY6ZmZmZjpmZmZmOmZmZmY6ZmZmZjpmZmZmOjI1NS4yNTUuMjU1LjI1NSIpXTsKKy0JaXNjX2Jvb2xlYW5fdCBuZXdiaW5kaW5nOworKwlib29sIG5ld2JpbmRpbmc7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICpzY29wZSA9IE5VTEw7CisgCXN0cnVjdCBiaW5kaW5nICpibmQ7CisgCXN0cnVjdCBiaW5kaW5nX3ZhbHVlICpudiA9IE5VTEw7CitAQCAtNTg0Myw5ICs1ODQzLDkgQEAgcGFyc2VfaWFfcGRfZGVjbGFyYXRpb24oc3RydWN0IHBhcnNlICpjZgorIAkJCQkJfQorIAkJCQkJc3RyY3B5KGJuZC0+bmFtZSwgdmFsKTsKKyAKKy0JCQkJCW5ld2JpbmRpbmcgPSBJU0NfVFJVRTsKKysJCQkJCW5ld2JpbmRpbmcgPSB0cnVlOworIAkJCQl9IGVsc2UgeworLQkJCQkJbmV3YmluZGluZyA9IElTQ19GQUxTRTsKKysJCQkJCW5ld2JpbmRpbmcgPSBmYWxzZTsKKyAJCQkJfQorIAorIAkJCQlpZiAoIWJpbmRpbmdfdmFsdWVfYWxsb2NhdGUoJm52LCBNREwpKSB7CitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcHY2LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL2RoY3B2Ni5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcHY2LmMKK0BAIC03MSw4ICs3MSw4IEBAIHN0cnVjdCByZXBseV9zdGF0ZSB7CisgCXVuc2lnbmVkIGlhX2NvdW50OworIAl1bnNpZ25lZCBwZF9jb3VudDsKKyAJdW5zaWduZWQgY2xpZW50X3Jlc291cmNlczsKKy0JaXNjX2Jvb2xlYW5fdCByZXNvdXJjZXNfaW5jbHVkZWQ7CistCWlzY19ib29sZWFuX3Qgc3RhdGljX2xlYXNlOworKwlib29sIHJlc291cmNlc19pbmNsdWRlZDsKKysJYm9vbCBzdGF0aWNfbGVhc2U7CisgCXVuc2lnbmVkIHN0YXRpY19wcmVmaXhlczsKKyAJc3RydWN0IGlhX3h4ICppYTsKKyAJc3RydWN0IGlhX3h4ICpvbGRfaWE7CitAQCAtMTIzLDcgKzEyMyw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3Qgc2hhcmVkX25ldHdvcmtfZnJvbV8KKyAJCQkJCQlzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpOworIHN0YXRpYyB2b2lkIHNlZWtfc2hhcmVkX2hvc3Qoc3RydWN0IGhvc3RfZGVjbCAqKmhwLAorIAkJCSAgICAgc3RydWN0IHNoYXJlZF9uZXR3b3JrICpzaGFyZWQpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IGZpeGVkX21hdGNoZXNfc2hhcmVkKHN0cnVjdCBob3N0X2RlY2wgKmhvc3QsCisrc3RhdGljIGJvb2wgZml4ZWRfbWF0Y2hlc19zaGFyZWQoc3RydWN0IGhvc3RfZGVjbCAqaG9zdCwKKyAJCQkJCSAgc3RydWN0IHNoYXJlZF9uZXR3b3JrICpzaGFyZWQpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc19pYV9uYShzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorIAkJCQkJc3RydWN0IG9wdGlvbl9jYWNoZSAqaWEpOworQEAgLTEzMSw5ICsxMzEsOSBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfaWFfdGEoCisgCQkJCQlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICppYSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX2FkZHIoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKyAJCQkJICAgICAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKmFkZHIpOworLXN0YXRpYyBpc2NfYm9vbGVhbl90IGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKytzdGF0aWMgYm9vbCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCSAgICAgIHN0cnVjdCBpYWRkciAqYWRkcik7Cistc3RhdGljIGlzY19ib29sZWFuX3QgdGVtcG9yYXJ5X2lzX2F2YWlsYWJsZShzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LAorK3N0YXRpYyBib29sIHRlbXBvcmFyeV9pc19hdmFpbGFibGUoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKKyAJCQkJCSAgICBzdHJ1Y3QgaWFkZHIgKmFkZHIpOworIHN0YXRpYyBpc2NfcmVzdWx0X3QgZmluZF9jbGllbnRfdGVtcG9yYXJpZXMoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX3RyeV9hZGRyKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCitAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgcmVwbHlfcHJvY2Vzc19pYV9wZCgKKyBzdGF0aWMgc3RydWN0IGdyb3VwICpmaW5kX2dyb3VwX2J5X3ByZWZpeChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5KTsKKyBzdGF0aWMgaXNjX3Jlc3VsdF90IHJlcGx5X3Byb2Nlc3NfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCQkgc3RydWN0IG9wdGlvbl9jYWNoZSAqcHJlZik7Cistc3RhdGljIGlzY19ib29sZWFuX3QgcHJlZml4X2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisrc3RhdGljIGJvb2wgcHJlZml4X2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksCisgCQkJCSAgICAgc3RydWN0IGlhZGRyY2lkcm5ldCAqcHJlZik7Cisgc3RhdGljIGlzY19yZXN1bHRfdCBmaW5kX2NsaWVudF9wcmVmaXgoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCByZXBseV9wcm9jZXNzX3RyeV9wcmVmaXgoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBseSwKK0BAIC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIHZvaWQgdW5pY2FzdF9yZWplY3Qoc3RydWN0IGRhdGFfcworIAkJICBjb25zdCBzdHJ1Y3QgZGF0YV9zdHJpbmcgKmNsaWVudF9pZCwKKyAJCSAgY29uc3Qgc3RydWN0IGRhdGFfc3RyaW5nICpzZXJ2ZXJfaWQpOworIAorLXN0YXRpYyBpc2NfYm9vbGVhbl90IGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQoc3RydWN0IHBhY2tldCAqcGFja2V0KTsKKytzdGF0aWMgYm9vbCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQgKnBhY2tldCk7Cisgc3RhdGljIGlzY19yZXN1bHRfdCBzaGFyZWRfbmV0d29ya19mcm9tX3JlcXVlc3RlZF9hZGRyIChzdHJ1Y3Qgc2hhcmVkX25ldHdvcmsKKyAJCQkJCQkJKipzaGFyZWQsCisgCQkJCQkJCXN0cnVjdCBwYWNrZXQqIHBhY2tldCk7CitAQCAtMzYzLDcgKzM2Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZGF0YV9zdHJpbmcgc2VydmVyX2R1aWQ7CisgLyoKKyAgKiBDaGVjayBpZiB0aGUgc2VydmVyX2R1aWQgaGFzIGJlZW4gc2V0LgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgc2VydmVyX2R1aWRfaXNzZXQodm9pZCkgeworIAlyZXR1cm4gKHNlcnZlcl9kdWlkLmRhdGEgIT0gTlVMTCk7CisgfQorQEAgLTk5Miw3ICs5OTIsNyBAQCB2b2lkIGNoZWNrX3Bvb2w2X3RocmVzaG9sZChzdHJ1Y3QgcmVwbHlfCisgCQkJICAgc3RydWN0IGlhc3Vib3B0ICpsZWFzZSkKKyB7CisgCXN0cnVjdCBpcHY2X3BvbmQgKnBvbmQ7CistCWlzY191aW50NjRfdCB1c2VkLCBjb3VudCwgaGlnaF90aHJlc2hvbGQ7CisrCXVpbnQ2NF90IHVzZWQsIGNvdW50LCBoaWdoX3RocmVzaG9sZDsKKyAJaW50IHBvb2xoaWdoID0gMCwgcG9vbGxvdyA9IDA7CisgCWNoYXIgKnNoYXJlZF9uYW1lID0gIm5vIG5hbWUiOworIAljaGFyIHRtcF9hZGRyW0lORVQ2X0FERFJTVFJMRU5dOworQEAgLTEzMTAsOSArMTMxMCw5IEBAIHBpY2tfdjZfYWRkcmVzcyhzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAJdW5zaWduZWQgaW50IGF0dGVtcHRzOworIAljaGFyIHRtcF9idWZbSU5FVDZfQUREUlNUUkxFTl07CisgCXN0cnVjdCBpYXN1Ym9wdCAqKmFkZHIgPSAmcmVwbHktPmxlYXNlOworLSAgICAgICAgaXNjX3VpbnQ2NF90IHRvdGFsID0gMDsKKy0gICAgICAgIGlzY191aW50NjRfdCBhY3RpdmUgPSAwOworLSAgICAgICAgaXNjX3VpbnQ2NF90IGFiYW5kb25lZCA9IDA7CisrICAgICAgICB1aW50NjRfdCB0b3RhbCA9IDA7CisrICAgICAgICB1aW50NjRfdCBhY3RpdmUgPSAwOworKyAgICAgICAgdWludDY0X3QgYWJhbmRvbmVkID0gMDsKKyAJaW50IGp1bWJvX3JhbmdlID0gMDsKKyAJY2hhciAqc2hhcmVkX25hbWUgPSAocmVwbHktPnNoYXJlZC0+bmFtZSA/CisgCQkJICAgICByZXBseS0+c2hhcmVkLT5uYW1lIDogIihubyBuYW1lKSIpOworQEAgLTE4MjUsNyArMTgyNSw3IEBAIGxlYXNlX3RvX2NsaWVudChzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGwKKyAKKyAJCS8qIFN0YXJ0IGNvdW50aW5nIHJlc291cmNlcyAoYWRkcmVzc2VzKSBvZmZlcmVkLiAqLworIAkJcmVwbHkuY2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBmYWxzZTsKKyAKKyAJCXN0YXR1cyA9IHJlcGx5X3Byb2Nlc3NfaWFfbmEoJnJlcGx5LCBvYyk7CisgCitAQCAtMTg0Myw3ICsxODQzLDcgQEAgbGVhc2VfdG9fY2xpZW50KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbAorIAorIAkJLyogU3RhcnQgY291bnRpbmcgcmVzb3VyY2VzIChhZGRyZXNzZXMpIG9mZmVyZWQuICovCisgCQlyZXBseS5jbGllbnRfcmVzb3VyY2VzID0gMDsKKy0JCXJlcGx5LnJlc291cmNlc19pbmNsdWRlZCA9IElTQ19GQUxTRTsKKysJCXJlcGx5LnJlc291cmNlc19pbmNsdWRlZCA9IGZhbHNlOworIAorIAkJc3RhdHVzID0gcmVwbHlfcHJvY2Vzc19pYV90YSgmcmVwbHksIG9jKTsKKyAKK0BAIC0xODY0LDcgKzE4NjQsNyBAQCBsZWFzZV90b19jbGllbnQoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBsCisgCisgCQkvKiBTdGFydCBjb3VudGluZyByZXNvdXJjZXMgKHByZWZpeGVzKSBvZmZlcmVkLiAqLworIAkJcmVwbHkuY2xpZW50X3Jlc291cmNlcyA9IDA7CistCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS5yZXNvdXJjZXNfaW5jbHVkZWQgPSBmYWxzZTsKKyAKKyAJCXN0YXR1cyA9IHJlcGx5X3Byb2Nlc3NfaWFfcGQoJnJlcGx5LCBvYyk7CisgCitAQCAtMjA3Nyw5ICsyMDc3LDkgQEAgcmVwbHlfcHJvY2Vzc19pYV9uYShzdHJ1Y3QgcmVwbHlfc3RhdGUgKgorIAkJCQkJdG1wX2FkZHIsIE1ETCkgPT0gMCkKKyAJCQlsb2dfZmF0YWwoIkltcG9zc2libGUgY29uZGl0aW9uIGF0ICVzOiVkLiIsIE1ETCk7CisgCistCQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX1RSVUU7CisrCQlyZXBseS0+c3RhdGljX2xlYXNlID0gdHJ1ZTsKKyAJfSBlbHNlCistCQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX0ZBTFNFOworKwkJcmVwbHktPnN0YXRpY19sZWFzZSA9IGZhbHNlOworIAorIAkvKgorIAkgKiBTYXZlIHRoZSBjdXJzb3IgcG9zaXRpb24gYXQgdGhlIHN0YXJ0IG9mIHRoZSBJQSwgc28gd2UgY2FuCitAQCAtMjc3OCw3ICsyNzc4LDcgQEAgcmVwbHlfcHJvY2Vzc19hZGRyKHN0cnVjdCByZXBseV9zdGF0ZSAqcgorICAqIChmYXVsdCBvdXQgYWxsIGVsc2UpLiAgT3RoZXJ3aXNlIGl0J3MgYSBkeW5hbWljIGFkZHJlc3MsIHNvIGxvb2t1cAorICAqIHRoYXQgYWRkcmVzcyBhbmQgbWFrZSBzdXJlIGl0IGJlbG9uZ3MgdG8gdGhpcyBEVUlEOklBSUQgcGFpci4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LCBzdHJ1Y3QgaWFkZHIgKmFkZHIpIHsKKyAJaW50IGk7CisgCXN0cnVjdCBpcHY2X3BvbmQgKnBvbmQ7CitAQCAtMjc5MSwxMyArMjc5MSwxMyBAQCBhZGRyZXNzX2lzX293bmVkKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwCisgCQkJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNvbmRpdGlvbiBhdCAlczolZC4iLCBNREwpOworIAorIAkJaWYgKG1lbWNtcChhZGRyLT5pYWJ1ZiwgcmVwbHktPmZpeGVkLmRhdGEsIDE2KSA9PSAwKQorLQkJCXJldHVybiAoSVNDX1RSVUUpOworKwkJCXJldHVybiAodHJ1ZSk7CisgCistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAJfQorIAorIAlpZiAoKHJlcGx5LT5vbGRfaWEgPT0gTlVMTCkgfHwgKHJlcGx5LT5vbGRfaWEtPm51bV9pYXN1Ym9wdCA9PSAwKSkKKy0JCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCXJldHVybiAoZmFsc2UpOworIAorIAlmb3IgKGkgPSAwIDsgaSA8IHJlcGx5LT5vbGRfaWEtPm51bV9pYXN1Ym9wdCA7IGkrKykgeworIAkJc3RydWN0IGlhc3Vib3B0ICp0bXA7CitAQCAtMjgwNSw4ICsyODA1LDggQEAgYWRkcmVzc19pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcAorIAkJdG1wID0gcmVwbHktPm9sZF9pYS0+aWFzdWJvcHRbaV07CisgCisgCQlpZiAobWVtY21wKGFkZHItPmlhYnVmLCAmdG1wLT5hZGRyLCAxNikgPT0gMCkgeworLQkJCWlmIChsZWFzZTZfdXNhYmxlKHRtcCkgPT0gSVNDX0ZBTFNFKSB7CistCQkJCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCQlpZiAobGVhc2U2X3VzYWJsZSh0bXApID09IGZhbHNlKSB7CisrCQkJCXJldHVybiAoZmFsc2UpOworIAkJCX0KKyAKKyAJCQlwb25kID0gdG1wLT5pcHY2X3Bvb2wtPmlwdjZfcG9uZDsKK0BAIC0yODE0LDE1ICsyODE0LDE1IEBAIGFkZHJlc3NfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXAKKyAJCQkgICAgIChwZXJtaXR0ZWQocmVwbHktPnBhY2tldCwgcG9uZC0+cHJvaGliaXRfbGlzdCkpKSB8fAorIAkJCSAgICAoKHBvbmQtPnBlcm1pdF9saXN0ICE9IE5VTEwpICYmCisgCQkJICAgICAoIXBlcm1pdHRlZChyZXBseS0+cGFja2V0LCBwb25kLT5wZXJtaXRfbGlzdCkpKSkKKy0JCQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJCQlyZXR1cm4gKGZhbHNlKTsKKyAKKyAJCQlpYXN1Ym9wdF9yZWZlcmVuY2UoJnJlcGx5LT5sZWFzZSwgdG1wLCBNREwpOworIAorLQkJCXJldHVybiAoSVNDX1RSVUUpOworKwkJCXJldHVybiAodHJ1ZSk7CisgCQl9CisgCX0KKyAKKy0JcmV0dXJuIChJU0NfRkFMU0UpOworKwlyZXR1cm4gKGZhbHNlKTsKKyB9CisgCisgLyogUHJvY2VzcyBhIGNsaWVudC1zdXBwbGllZCBJQV9UQS4gIFRoaXMgbWF5IGFwcGVuZCBvcHRpb25zIHRvIHRoZSB0YWlsIG9mCitAQCAtMjg5MCw3ICsyODkwLDcgQEAgcmVwbHlfcHJvY2Vzc19pYV90YShzdHJ1Y3QgcmVwbHlfc3RhdGUgKgorIAkvKgorIAkgKiBUZW1wb3JhcnkgbGVhc2VzIGFyZSBkeW5hbWljIGJ5IGRlZmluaXRpb24uCisgCSAqLworLQlyZXBseS0+c3RhdGljX2xlYXNlID0gSVNDX0ZBTFNFOworKwlyZXBseS0+c3RhdGljX2xlYXNlID0gZmFsc2U7CisgCisgCS8qCisgCSAqIFNhdmUgdGhlIGN1cnNvciBwb3NpdGlvbiBhdCB0aGUgc3RhcnQgb2YgdGhlIElBLCBzbyB3ZSBjYW4KK0BAIC0yOTcyLDcgKzI5NzIsNyBAQCByZXBseV9wcm9jZXNzX2lhX3RhKHN0cnVjdCByZXBseV9zdGF0ZSAqCisgCQl9CisgCQlzdGF0dXMgPSBJU0NfUl9DQU5DRUxFRDsKKyAJCXJlcGx5LT5jbGllbnRfcmVzb3VyY2VzID0gMDsKKy0JCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfRkFMU0U7CisrCQlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gZmFsc2U7CisgCQlpZiAocmVwbHktPmxlYXNlICE9IE5VTEwpCisgCQkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnJlcGx5LT5sZWFzZSwgTURMKTsKKyAJfQorQEAgLTMzNjQsNyArMzM2NCw3IEBAIHZvaWQgc2hvcnRlbl9saWZldGltZXMoc3RydWN0IHJlcGx5X3N0YXQKKyAvKgorICAqIFZlcmlmeSB0aGUgdGVtcG9yYXJ5IGFkZHJlc3MgaXMgYXZhaWxhYmxlLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0ZSAqcmVwbHksIHN0cnVjdCBpYWRkciAqYWRkcikgeworIAlzdHJ1Y3QgaW42X2FkZHIgdG1wX2FkZHI7CisgCXN0cnVjdCBzdWJuZXQgKnN1Ym5ldDsKK0BAIC0zMzc5LDcgKzMzNzksNyBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCSAqIFNvIHRoaXMgaXMgbm90IGEgcmVxdWVzdCBmb3IgdGhpcyBhZGRyZXNzLgorIAkgKi8KKyAJaWYgKElONl9JU19BRERSX1VOU1BFQ0lGSUVEKCZ0bXBfYWRkcikpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkvKgorIAkgKiBWZXJpZnkgdGhhdCB0aGlzIGFkZHJlc3MgaXMgb24gdGhlIGNsaWVudCdzIG5ldHdvcmsuCitAQCAtMzM5MywxMyArMzM5MywxMyBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCisgCS8qIEFkZHJlc3Mgbm90IGZvdW5kIG9uIHNoYXJlZCBuZXR3b3JrLiAqLworIAlpZiAoc3VibmV0ID09IE5VTEwpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkvKgorIAkgKiBDaGVjayBpZiB0aGlzIGFkZHJlc3MgaXMgb3duZWQgKG11c3QgYmUgYmVmb3JlIG5leHQgc3RlcCkuCisgCSAqLworIAlpZiAoYWRkcmVzc19pc19vd25lZChyZXBseSwgYWRkcikpCistCQlyZXR1cm4gSVNDX1RSVUU7CisrCQlyZXR1cm4gdHJ1ZTsKKyAKKyAJLyoKKyAJICogVmVyaWZ5IHRoYXQgdGhpcyBhZGRyZXNzIGlzIGluIGEgdGVtcG9yYXJ5IHBvb2wgYW5kIHRyeSB0byBnZXQgaXQuCitAQCAtMzQyNCwxOCArMzQyNCwxOCBAQCB0ZW1wb3JhcnlfaXNfYXZhaWxhYmxlKHN0cnVjdCByZXBseV9zdGF0CisgCX0KKyAKKyAJaWYgKHBvb2wgPT0gTlVMTCkKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCWlmIChsZWFzZTZfZXhpc3RzKHBvb2wsICZ0bXBfYWRkcikpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAlpZiAoaWFzdWJvcHRfYWxsb2NhdGUoJnJlcGx5LT5sZWFzZSwgTURMKSAhPSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJcmVwbHktPmxlYXNlLT5hZGRyID0gdG1wX2FkZHI7CisgCXJlcGx5LT5sZWFzZS0+cGxlbiA9IDA7CisgCS8qIERlZmF1bHQgaXMgc29mdCBiaW5kaW5nIGZvciAyIG1pbnV0ZXMuICovCisgCWlmIChhZGRfbGVhc2U2KHBvb2wsIHJlcGx5LT5sZWFzZSwgY3VyX3RpbWUgKyAxMjApICE9IElTQ19SX1NVQ0NFU1MpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAvKgorQEAgLTM2NTIsNyArMzY1Miw3IEBAIGZpbmRfY2xpZW50X2FkZHJlc3Moc3RydWN0IHJlcGx5X3N0YXRlICoKKyAJCQkgKi8KKyAKKyAJCQlpZiAoKGNhbmRpZGF0ZV9zaGFyZWQgIT0gcmVwbHktPnNoYXJlZCkgfHwKKy0JCQkgICAgKGxlYXNlNl91c2FibGUobGVhc2UpICE9IElTQ19UUlVFKSkKKysJCQkgICAgKGxlYXNlNl91c2FibGUobGVhc2UpICE9IHRydWUpKQorIAkJCQljb250aW51ZTsKKyAKKyAJCQlpZiAoKChwb25kLT5wcm9oaWJpdF9saXN0ICE9IE5VTEwpICYmCitAQCAtMzk3MSw3ICszOTcxLDcgQEAgcmVwbHlfcHJvY2Vzc19zZW5kX2FkZHIoc3RydWN0IHJlcGx5X3N0YQorIAkJZ290byBjbGVhbnVwOworIAl9CisgCistCXJlcGx5LT5yZXNvdXJjZXNfaW5jbHVkZWQgPSBJU0NfVFJVRTsKKysJcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IHRydWU7CisgCisgICAgICAgY2xlYW51cDoKKyAJaWYgKGRhdGEuZGF0YSAhPSBOVUxMKQorQEAgLTQ3MjIsNyArNDcyMiw3IEBAIHJlcGx5X3Byb2Nlc3NfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZQorICAqIChmYXVsdCBvdXQgYWxsIGVsc2UpLiAgT3RoZXJ3aXNlIGl0J3MgYSBkeW5hbWljIHByZWZpeCwgc28gbG9va3VwCisgICogdGhhdCBwcmVmaXggYW5kIG1ha2Ugc3VyZSBpdCBiZWxvbmdzIHRvIHRoaXMgRFVJRDpJQUlEIHBhaXIuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGx5LCBzdHJ1Y3QgaWFkZHJjaWRybmV0ICpwcmVmKSB7CisgCXN0cnVjdCBpYWRkcmNpZHJuZXRsaXN0ICpsOworIAlpbnQgaTsKK0BAIC00NzM2LDE0ICs0NzM2LDE0IEBAIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAJCQlpZiAoKHByZWYtPmJpdHMgPT0gbC0+Y2lkcm5ldC5iaXRzKSAmJgorIAkJCSAgICAobWVtY21wKHByZWYtPmxvX2FkZHIuaWFidWYsCisgCQkJCSAgICBsLT5jaWRybmV0LmxvX2FkZHIuaWFidWYsIDE2KSA9PSAwKSkKKy0JCQkJcmV0dXJuIChJU0NfVFJVRSk7CisrCQkJCXJldHVybiAodHJ1ZSk7CisgCQl9CistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAJfQorIAorIAlpZiAoKHJlcGx5LT5vbGRfaWEgPT0gTlVMTCkgfHwKKyAJICAgIChyZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgPT0gMCkpCistCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQlyZXR1cm4gKGZhbHNlKTsKKyAKKyAJZm9yIChpID0gMCA7IGkgPCByZXBseS0+b2xkX2lhLT5udW1faWFzdWJvcHQgOyBpKyspIHsKKyAJCXN0cnVjdCBpYXN1Ym9wdCAqdG1wOworQEAgLTQ3NTIsOCArNDc1Miw4IEBAIHByZWZpeF9pc19vd25lZChzdHJ1Y3QgcmVwbHlfc3RhdGUgKnJlcGwKKyAKKyAJCWlmICgocHJlZi0+Yml0cyA9PSAoaW50KSB0bXAtPnBsZW4pICYmCisgCQkgICAgKG1lbWNtcChwcmVmLT5sb19hZGRyLmlhYnVmLCAmdG1wLT5hZGRyLCAxNikgPT0gMCkpIHsKKy0JCQlpZiAobGVhc2U2X3VzYWJsZSh0bXApID09IElTQ19GQUxTRSkgeworLQkJCQlyZXR1cm4gKElTQ19GQUxTRSk7CisrCQkJaWYgKGxlYXNlNl91c2FibGUodG1wKSA9PSBmYWxzZSkgeworKwkJCQlyZXR1cm4gKGZhbHNlKTsKKyAJCQl9CisgCisgCQkJcG9uZCA9IHRtcC0+aXB2Nl9wb29sLT5pcHY2X3BvbmQ7CitAQCAtNDc2MSwxNCArNDc2MSwxNCBAQCBwcmVmaXhfaXNfb3duZWQoc3RydWN0IHJlcGx5X3N0YXRlICpyZXBsCisgCQkJICAgICAocGVybWl0dGVkKHJlcGx5LT5wYWNrZXQsIHBvbmQtPnByb2hpYml0X2xpc3QpKSkgfHwKKyAJCQkgICAgKChwb25kLT5wZXJtaXRfbGlzdCAhPSBOVUxMKSAmJgorIAkJCSAgICAgKCFwZXJtaXR0ZWQocmVwbHktPnBhY2tldCwgcG9uZC0+cGVybWl0X2xpc3QpKSkpCistCQkJCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJCQkJcmV0dXJuIChmYWxzZSk7CisgCisgCQkJaWFzdWJvcHRfcmVmZXJlbmNlKCZyZXBseS0+bGVhc2UsIHRtcCwgTURMKTsKKy0JCQlyZXR1cm4gKElTQ19UUlVFKTsKKysJCQlyZXR1cm4gKHRydWUpOworIAkJfQorIAl9CisgCistCXJldHVybiAoSVNDX0ZBTFNFKTsKKysJcmV0dXJuIChmYWxzZSk7CisgfQorIAorIC8qCitAQCAtNDkxNCw3ICs0OTE0LDcgQEAgZmluZF9jbGllbnRfcHJlZml4KHN0cnVjdCByZXBseV9zdGF0ZSAqcgorIAkJCSAqLworIAkJCWlmICgoKGNhbmRpZGF0ZV9zaGFyZWQgIT0gTlVMTCkgJiYKKyAJCQkgICAgIChjYW5kaWRhdGVfc2hhcmVkICE9IHJlcGx5LT5zaGFyZWQpKSB8fAorLQkJCSAgICAobGVhc2U2X3VzYWJsZShwcmVmaXgpICE9IElTQ19UUlVFKSkKKysJCQkgICAgKGxlYXNlNl91c2FibGUocHJlZml4KSAhPSB0cnVlKSkKKyAJCQkJY29udGludWU7CisgCisgCQkJLyoKK0BAIC01MjMzLDcgKzUyMzMsNyBAQCByZXBseV9wcm9jZXNzX3NlbmRfcHJlZml4KHN0cnVjdCByZXBseV9zCisgCQlnb3RvIGNsZWFudXA7CisgCX0KKyAKKy0JcmVwbHktPnJlc291cmNlc19pbmNsdWRlZCA9IElTQ19UUlVFOworKwlyZXBseS0+cmVzb3VyY2VzX2luY2x1ZGVkID0gdHJ1ZTsKKyAKKyAgICAgICBjbGVhbnVwOgorIAlpZiAoZGF0YS5kYXRhICE9IE5VTEwpCitAQCAtNTM4Myw4ICs1MzgzLDggQEAgZGhjcHY2X3JlcXVlc3Qoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAorIAkvKiBJZiB0aGUgUkVRVUVTVCBhcnJpdmVkIHZpYSB1bmljYXN0IGFuZCB1bmljYXN0IG9wdGlvbiBpc24ndCBzZXQsCisgIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi4xICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5X3JldCwgcGFja2V0LCAmY2xpZW50X2lkLCAmc2VydmVyX2lkKTsKKyAJfSBlbHNlIHsKKyAJCS8qCitAQCAtNTUwNSw3ICs1NTA1LDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAlzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpjbGlfZW5jX29wdF9zdGF0ZSwgKm9wdF9zdGF0ZTsKKyAJc3RydWN0IGlhZGRyIGNsaV9hZGRyOworIAlpbnQgcGFzczsKKy0JaXNjX2Jvb2xlYW5fdCBpbmFwcHJvcHJpYXRlLCBoYXNfYWRkcnM7CisrCWJvb2wgaW5hcHByb3ByaWF0ZSwgaGFzX2FkZHJzOworIAljaGFyIHJlcGx5X2RhdGFbNjU1MzZdOworIAlzdHJ1Y3QgZGhjcHY2X3BhY2tldCAqcmVwbHkgPSAoc3RydWN0IGRoY3B2Nl9wYWNrZXQgKilyZXBseV9kYXRhOworIAlpbnQgcmVwbHlfb2ZzID0gKGludCkob2Zmc2V0b2Yoc3RydWN0IGRoY3B2Nl9wYWNrZXQsIG9wdGlvbnMpKTsKK0BAIC01NTU2LDcgKzU1NTYsNyBAQCBkaGNwdjZfY29uZmlybShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCQlnb3RvIGV4aXQ7CisgCisgCS8qIEFyZSB0aGUgYWRkcmVzc2VzIGluIGFsbCB0aGUgSUEncyBhcHByb3ByaWF0ZSBmb3IgdGhhdCBsaW5rPyAqLworLQloYXNfYWRkcnMgPSBpbmFwcHJvcHJpYXRlID0gSVNDX0ZBTFNFOworKwloYXNfYWRkcnMgPSBpbmFwcHJvcHJpYXRlID0gZmFsc2U7CisgCXBhc3MgPSBENk9fSUFfTkE7CisgCXdoaWxlKCFpbmFwcHJvcHJpYXRlKSB7CisgCQkvKiBJZiB3ZSd2ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIElBX05BIHBhc3MsIG1vdmUgdG8gdGhlCitAQCAtNTYwMiw3ICs1NjAyLDcgQEAgZGhjcHY2X2NvbmZpcm0oc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorIAkJCWRhdGFfc3RyaW5nX2ZvcmdldCgmaWFhZGRyLCBNREwpOworIAorIAkJCS8qIFJlY29yZCB0aGF0IHdlJ3ZlIHByb2Nlc3NlZCBhdCBsZWFzdCBvbmUgYWRkcmVzcy4gKi8KKy0JCQloYXNfYWRkcnMgPSBJU0NfVFJVRTsKKysJCQloYXNfYWRkcnMgPSB0cnVlOworIAorIAkJCS8qIEZpbmQgb3V0IGlmIGFueSBzdWJuZXRzIGNvdmVyIHRoaXMgYWRkcmVzcy4gKi8KKyAJCQlmb3IgKHN1Ym5ldCA9IHNoYXJlZC0+c3VibmV0cyA7IHN1Ym5ldCAhPSBOVUxMIDsKK0BAIC01NjIxLDcgKzU2MjEsNyBAQCBkaGNwdjZfY29uZmlybShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCQkJICogY29udGludWUgc2VhcmNoaW5nLgorIAkJCSAqLworIAkJCWlmIChzdWJuZXQgPT0gTlVMTCkgeworLQkJCQlpbmFwcHJvcHJpYXRlID0gSVNDX1RSVUU7CisrCQkJCWluYXBwcm9wcmlhdGUgPSB0cnVlOworIAkJCQlicmVhazsKKyAJCQl9CisgCQl9CitAQCAtNTcxOSw4ICs1NzE5LDggQEAgZGhjcHY2X3JlbmV3KHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHksCisgCisgCS8qIElmIHRoZSBSRU5FVyBhcnJpdmVkIHZpYSB1bmljYXN0IGFuZCB1bmljYXN0IG9wdGlvbiBpc24ndCBzZXQsCisgCSAqIHJlamVjdCBpdCBwZXIgUkZDIDMzMTUsIFNlYyAxOC4yLjMgKi8KKy0JaWYgKHBhY2tldC0+dW5pY2FzdCA9PSBJU0NfVFJVRSAmJgorLQkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IElTQ19GQUxTRSkgeworKwlpZiAocGFja2V0LT51bmljYXN0ID09IHRydWUgJiYKKysJICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBmYWxzZSkgeworIAkJdW5pY2FzdF9yZWplY3QocmVwbHksIHBhY2tldCwgJmNsaWVudF9pZCwgJnNlcnZlcl9pZCk7CisgCX0gZWxzZSB7CisgCQkvKgorQEAgLTYxNDIsOCArNjE0Miw4IEBAIGRoY3B2Nl9kZWNsaW5lKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVwbHkKKyAKKyAJLyogSWYgdGhlIERFQ0xJTkUgYXJyaXZlZCB2aWEgdW5pY2FzdCBhbmQgdW5pY2FzdCBvcHRpb24gaXNuJ3Qgc2V0LAorIAkgKiByZWplY3QgaXQgcGVyIFJGQyAzMzE1LCBTZWMgMTguMi43ICovCistCWlmIChwYWNrZXQtPnVuaWNhc3QgPT0gSVNDX1RSVUUgJiYKKy0JICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKHBhY2tldC0+dW5pY2FzdCA9PSB0cnVlICYmCisrCSAgICBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHBhY2tldCkgPT0gZmFsc2UpIHsKKyAJCXVuaWNhc3RfcmVqZWN0KHJlcGx5LCBwYWNrZXQsICZjbGllbnRfaWQsICZzZXJ2ZXJfaWQpOworIAl9IGVsc2UgeworIAkJLyoKK0BAIC02NTk3LDggKzY1OTcsOCBAQCBkaGNwdjZfcmVsZWFzZShzdHJ1Y3QgZGF0YV9zdHJpbmcgKnJlcGx5CisgCisgCS8qIElmIHRoZSBSRUxFQVNFIGFycml2ZWQgdmlhIHVuaWNhc3QgYW5kIHVuaWNhc3Qgb3B0aW9uIGlzbid0IHNldCwKKyAgCSAqIHJlamVjdCBpdCBwZXIgUkZDIDMzMTUsIFNlYyAxOC4yLjYgKi8KKy0JaWYgKHBhY2tldC0+dW5pY2FzdCA9PSBJU0NfVFJVRSAmJgorLQkgICAgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChwYWNrZXQpID09IElTQ19GQUxTRSkgeworKwlpZiAocGFja2V0LT51bmljYXN0ID09IHRydWUgJiYKKysJICAgIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQocGFja2V0KSA9PSBmYWxzZSkgeworIAkJdW5pY2FzdF9yZWplY3QocmVwbHksIHBhY2tldCwgJmNsaWVudF9pZCwgJnNlcnZlcl9pZCk7CisgCX0gZWxzZSB7CisgCQkvKgorQEAgLTY4OTcsNyArNjg5Nyw3IEBAIGRoY3B2Nl9yZWxheV9mb3J3KHN0cnVjdCBkYXRhX3N0cmluZyAqcmUKKyAJCX0KKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYV9vcHQsIE1ETCk7CisgCistCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gSVNDX1RSVUU7CisrCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gdHJ1ZTsKKyAJfQorICNlbmRpZgorIAorQEAgLTcyMTksNyArNzIxOSw3IEBAIGRoY3A0bzZfcmVsYXlfZm9ydyhzdHJ1Y3QgZGF0YV9zdHJpbmcgKnIKKyAJCX0KKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYV9vcHQsIE1ETCk7CisgCistCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gSVNDX1RSVUU7CisrCQlwYWNrZXQtPnJlbGF5X3NvdXJjZV9wb3J0ID0gdHJ1ZTsKKyAJfQorICNlbmRpZgorIAorQEAgLTgwMzYsMzUgKzgwMzYsMzUgQEAgc2Vla19zaGFyZWRfaG9zdChzdHJ1Y3QgaG9zdF9kZWNsICoqaHAsCisgCQlob3N0X3JlZmVyZW5jZShocCwgc2VlaywgTURMKTsKKyB9CisgCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGZpeGVkX21hdGNoZXNfc2hhcmVkKHN0cnVjdCBob3N0X2RlY2wgKmhvc3QsIHN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkKSB7CisgCXN0cnVjdCBzdWJuZXQgKnN1Ym5ldDsKKyAJc3RydWN0IGRhdGFfc3RyaW5nIGFkZHI7CistCWlzY19ib29sZWFuX3QgbWF0Y2hlZDsKKysJYm9vbCBtYXRjaGVkOworIAlzdHJ1Y3QgaWFkZHIgZml4ZWQ7CisgCisgCWlmIChob3N0LT5maXhlZF9hZGRyID09IE5VTEwpCistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAltZW1zZXQoJmFkZHIsIDAsIHNpemVvZihhZGRyKSk7CisgCWlmICghZXZhbHVhdGVfb3B0aW9uX2NhY2hlKCZhZGRyLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAorIAkJCQkgICAmZ2xvYmFsX3Njb3BlLCBob3N0LT5maXhlZF9hZGRyLCBNREwpKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJaWYgKGFkZHIubGVuIDwgMTYpIHsKKyAJCWRhdGFfc3RyaW5nX2ZvcmdldCgmYWRkciwgTURMKTsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJZml4ZWQubGVuID0gMTY7CisgCW1lbWNweShmaXhlZC5pYWJ1ZiwgYWRkci5kYXRhLCAxNik7CisgCistCW1hdGNoZWQgPSBJU0NfRkFMU0U7CisrCW1hdGNoZWQgPSBmYWxzZTsKKyAJZm9yIChzdWJuZXQgPSBzaGFyZWQtPnN1Ym5ldHMgOyBzdWJuZXQgIT0gTlVMTCA7CisgCSAgICAgc3VibmV0ID0gc3VibmV0LT5uZXh0X3NpYmxpbmcpIHsKKyAJCWlmIChhZGRyX2VxKHN1Ym5ldF9udW1iZXIoZml4ZWQsIHN1Ym5ldC0+bmV0bWFzayksCisgCQkJICAgIHN1Ym5ldC0+bmV0KSkgeworLQkJCW1hdGNoZWQgPSBJU0NfVFJVRTsKKysJCQltYXRjaGVkID0gdHJ1ZTsKKyAJCQlicmVhazsKKyAJCX0KKyAJfQorQEAgLTgxNjcsMTUgKzgxNjcsMTUgQEAgdW5pY2FzdF9yZWplY3Qoc3RydWN0IGRhdGFfc3RyaW5nICpyZXBseQorICAqIHN0YXRlbWVudHMgZnJvbSB0aGUgbmV0d29yaydzIGdyb3VwIG91dHdhcmQgaW50byBhIGxvY2FsIG9wdGlvbiBjYWNoZS4KKyAgKiBUaGUgb3B0aW9uIGNhY2hlIGlzIHRoZW4gc2Nhbm5lZCBmb3IgdGhlIHByZXNlbmNlIG9mIHVuaWNhc3Qgb3B0aW9uLiAgSWYKKyAgKiB0aGUgcGFja2V0IGNhbm5vdCBiZSBtYXBwZWQgdG8gYSBzaGFyZWQgbmV0d29yaywgdGhlIGZ1bmN0aW9uIHJldHVybnMKKy0gKiBJU0NfRkFMU0UuCisrICogZmFsc2UuCisgICogXHBhcmFtIHBhY2tldCBpbmJvdW5kIHBhY2tldCBmcm9tIHRoZSBjbGllbnQKKyAgKgorLSAqIFxyZXR1cm4gSVNDX1RSVUUgaWYgdGhlIGRoY3A2LnVuaWNhc3Qgb3B0aW9uIGlzIGRlZmluZWQsIGZhbHNlIG90aGVyd2lzZS4KKysgKiBccmV0dXJuIHRydWUgaWYgdGhlIGRoY3A2LnVuaWNhc3Qgb3B0aW9uIGlzIGRlZmluZWQsIGZhbHNlIG90aGVyd2lzZS4KKyAgKgorICAqLworLWlzY19ib29sZWFuX3QKKytib29sCisgaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZChzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpIHsKKy0gICAgICAgIGlzY19ib29sZWFuX3QgaXNfZGVmaW5lZCA9IElTQ19GQUxTRTsKKysgICAgICAgIGJvb2wgaXNfZGVmaW5lZCA9IGZhbHNlOworIAlzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRfc3RhdGUgPSBOVUxMOworIAlzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYyA9IE5VTEw7CisgCXN0cnVjdCBzaGFyZWRfbmV0d29yayAqc2hhcmVkID0gTlVMTDsKK0BAIC04MTk1LDcgKzgxOTUsNyBAQCBpc191bmljYXN0X29wdGlvbl9kZWZpbmVkKHN0cnVjdCBwYWNrZXQKKyAJCSAqIGxvZ2ljIHdpbGwgY2F0Y2ggaXQgKi8KKyAJCWxvZ19lcnJvcigiaXNfdW5pY2FzdF9vcHRpb25fZGVmaW5lZDoiCisgCQkJICAiY2Fubm90IGF0dHJpYnV0ZSBwYWNrZXQgdG8gYSBuZXR3b3JrLiIpOworLQkJcmV0dXJuIChJU0NfRkFMU0UpOworKwkJcmV0dXJuIChmYWxzZSk7CisgCX0KKyAKKyAJLyogTm93IHRoYXQgd2UndmUgbWFwcGVkIGl0IHRvIGEgbmV0d29yaywgZXhlY3V0ZSBzdGF0bWVudHMgdG8gdGhhdAorQEAgLTgyMDUsNyArODIwNSw3IEBAIGlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQoc3RydWN0IHBhY2tldAorIAkJCQkgICAgJmdsb2JhbF9zY29wZSwgc2hhcmVkLT5ncm91cCwgTlVMTCwgTlVMTCk7CisgCisgCW9jID0gbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBvcHRfc3RhdGUsIEQ2T19VTklDQVNUKTsKKy0JaXNfZGVmaW5lZCA9IChvYyAhPSBOVUxMID8gSVNDX1RSVUUgOiBJU0NfRkFMU0UpOworKwlpc19kZWZpbmVkID0gKG9jICE9IE5VTEwgPyB0cnVlIDogZmFsc2UpOworIAlsb2dfZGVidWcoImlzX3VuaWNhc3Rfb3B0aW9uX2RlZmluZWQ6IG9wdGlvbiBmb3VuZCA6ICVkIiwgaXNfZGVmaW5lZCk7CisgCisgCWlmIChzaGFyZWQgIT0gTlVMTCkgeworSW5kZXg6IGRoY3AtNC40LjEvY2xpZW50L2NscGFyc2UuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jbGllbnQvY2xwYXJzZS5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvY2xwYXJzZS5jCitAQCAtMTUyNyw3ICsxNTI3LDcgQEAgcGFyc2VfY2xpZW50Nl9sZWFzZV9zdGF0ZW1lbnQoc3RydWN0IHBhcgorIAorIAkJICAgICAgY2FzZSBUT0tFTl9SRUxFQVNFRDoKKyAJCSAgICAgIGNhc2UgVE9LRU5fQUJBTkRPTkVEOgorLQkJCWxlYXNlLT5yZWxlYXNlZCA9IElTQ19UUlVFOworKwkJCWxlYXNlLT5yZWxlYXNlZCA9IHRydWU7CisgCQkJYnJlYWs7CisgCisgCQkgICAgICBkZWZhdWx0OgorSW5kZXg6IGRoY3AtNC40LjEvY2xpZW50L2RoYzYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jbGllbnQvZGhjNi5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvZGhjNi5jCitAQCAtMTA5LDcgKzEwOSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZGhjNl9hZGRfaWFfcGQoc3RydWMKKyAJCQkJICAgdV9pbnQ4X3QgbWVzc2FnZSwKKyAJCQkJICAgaW50IHdhbnRlZCwKKyAJCQkJICAgaW50ICphZGRlZCk7Cistc3RhdGljIGlzY19ib29sZWFuX3Qgc3RvcHBpbmdfZmluaXNoZWQodm9pZCk7Cisrc3RhdGljIGJvb2wgc3RvcHBpbmdfZmluaXNoZWQodm9pZCk7Cisgc3RhdGljIHZvaWQgZGhjNl9tZXJnZV9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqc3JjLCBzdHJ1Y3QgZGhjNl9sZWFzZSAqZHN0KTsKKyB2b2lkIGRvX3NlbGVjdDYodm9pZCAqaW5wdXQpOworIHZvaWQgZG9fcmVmcmVzaDYodm9pZCAqaW5wdXQpOworQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMgdm9pZCBzY3JpcHRfd3JpdGVfcGFyYW1zNihzdHJ1Y3QKKyAJCQkJIGNvbnN0IGNoYXIgKnByZWZpeCwKKyAJCQkJIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMpOworIHN0YXRpYyB2b2lkIHNjcmlwdF93cml0ZV9yZXF1ZXN0ZWQ2KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCk7Cistc3RhdGljIGlzY19ib29sZWFuX3QgYWN0aXZlX3ByZWZpeChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpOworK3N0YXRpYyBib29sIGFjdGl2ZV9wcmVmaXgoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50KTsKKyAKKyBzdGF0aWMgaW50IGNoZWNrX3RpbWluZzYoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCB1X2ludDhfdCBtc2dfdHlwZSwKKyAJCQkgY2hhciAqbXNnX3N0ciwgc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlLAorQEAgLTE0OSw3ICsxNDksNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoYzZfYWRkX2lhX25hX2RlY2xpCisgCQkJCQkgICBzdHJ1Y3QgZGF0YV9zdHJpbmcgKnBhY2tldCwKKyAJCQkJCSAgIHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSk7Cisgc3RhdGljIGludCBkcm9wX2RlY2xpbmVkX2FkZHJzKHN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZSk7Cistc3RhdGljIGlzY19ib29sZWFuX3QgdW5leHBpcmVkX2FkZHJlc3NfaW5fbGVhc2Uoc3RydWN0IGRoYzZfbGVhc2UgKmxlYXNlKTsKKytzdGF0aWMgYm9vbCB1bmV4cGlyZWRfYWRkcmVzc19pbl9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpOworIAorIGV4dGVybiBpbnQgb25ldHJ5OworIGV4dGVybiBpbnQgc3RhdGVsZXNzOworQEAgLTQxOCwxNCArNDE4LDE0IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyB7CisgCXN0cnVjdCBkYXRhX3N0cmluZyBzaWQsIGNpZDsKKyAJc3RydWN0IG9wdGlvbl9jYWNoZSAqb2M7CistCWludCBydmFsID0gSVNDX1RSVUU7CisrCWludCBydmFsID0gdHJ1ZTsKKyAKKyAJbWVtc2V0KCZzaWQsIDAsIHNpemVvZihzaWQpKTsKKyAJbWVtc2V0KCZjaWQsIDAsIHNpemVvZihjaWQpKTsKKyAKKyAJaWYgKCFsb29rdXBfb3B0aW9uKCZkaGNwdjZfdW5pdmVyc2UsIHBhY2tldC0+b3B0aW9ucywgRDZPX1NFUlZFUklEKSkgeworIAkJbG9nX2Vycm9yKCJSZXNwb25zZSB3aXRob3V0IGEgc2VydmVyIGlkZW50aWZpZXIgcmVjZWl2ZWQuIik7CistCQlydmFsID0gSVNDX0ZBTFNFOworKwkJcnZhbCA9IGZhbHNlOworIAl9CisgCisgCW9jID0gbG9va3VwX29wdGlvbigmZGhjcHY2X3VuaXZlcnNlLCBwYWNrZXQtPm9wdGlvbnMsIEQ2T19DTElFTlRJRCk7CitAQCAtNDM0LDcgKzQzNCw3IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyAJCQkJICAgY2xpZW50LT5zZW50X29wdGlvbnMsICZnbG9iYWxfc2NvcGUsIG9jLAorIAkJCQkgICBNREwpKSB7CisgCQlsb2dfZXJyb3IoIlJlc3BvbnNlIHdpdGhvdXQgYSBjbGllbnQgaWRlbnRpZmllci4iKTsKKy0JCXJ2YWwgPSBJU0NfRkFMU0U7CisrCQlydmFsID0gZmFsc2U7CisgCX0KKyAKKyAJb2MgPSBsb29rdXBfb3B0aW9uKCZkaGNwdjZfdW5pdmVyc2UsIGNsaWVudC0+c2VudF9vcHRpb25zLAorQEAgLTQ0NCw3ICs0NDQsNyBAQCB2YWxpZF9yZXBseShzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnVjCisgCQkJCSAgIGNsaWVudC0+c2VudF9vcHRpb25zLCBOVUxMLCAmZ2xvYmFsX3Njb3BlLAorIAkJCQkgICBvYywgTURMKSkgeworIAkJbG9nX2Vycm9yKCJMb2NhbCBjbGllbnQgaWRlbnRpZmllciBpcyBtaXNzaW5nISIpOworLQkJcnZhbCA9IElTQ19GQUxTRTsKKysJCXJ2YWwgPSBmYWxzZTsKKyAJfQorIAorIAlpZiAoc2lkLmxlbiA9PSAwIHx8CitAQCAtNDUyLDcgKzQ1Miw3IEBAIHZhbGlkX3JlcGx5KHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydWMKKyAJICAgIG1lbWNtcChzaWQuZGF0YSwgY2lkLmRhdGEsIHNpZC5sZW4pKSB7CisgCQlsb2dfZXJyb3IoIkFkdmVydGlzZSB3aXRoIG1hdGNoaW5nIHRyYW5zYWN0aW9uIElELCBidXQgIgorIAkJCSAgIm1pc21hdGNoaW5nIGNsaWVudCBpZC4iKTsKKy0JCXJ2YWwgPSBJU0NfRkFMU0U7CisrCQlydmFsID0gZmFsc2U7CisgCX0KKyAKKyAJLyogY2xlYW4gdXAgcG9pbnRlcnMgdG8gdGhlIHN0cmluZ3MgKi8KK0BAIC0yMzc1LDcgKzIzNzUsNyBAQCBzdGFydF9yZWxlYXNlNihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCS8qIE5vdGUgdGhpcyBpbiB0aGUgbGVhc2UgZmlsZS4gKi8KKyAJaWYgKGNsaWVudC0+YWN0aXZlX2xlYXNlID09IE5VTEwpCisgCQlyZXR1cm47CistCWNsaWVudC0+YWN0aXZlX2xlYXNlLT5yZWxlYXNlZCA9IElTQ19UUlVFOworKwljbGllbnQtPmFjdGl2ZV9sZWFzZS0+cmVsZWFzZWQgPSB0cnVlOworIAl3cml0ZV9jbGllbnQ2X2xlYXNlKGNsaWVudCwgY2xpZW50LT5hY3RpdmVfbGVhc2UsIDAsIDEpOworIAorIAkvKiBTZXQgdGltZXJzIHBlciBSRkMzMzE1IHNlY3Rpb24gMTguMS42LiAqLworQEAgLTI2MTIsNyArMjYxMiw3IEBAIGRoYzZfY2hlY2tfYWR2ZXJ0aXNlKHN0cnVjdCBkaGM2X2xlYXNlICoKKyB7CisgCXN0cnVjdCBkaGM2X2lhICppYTsKKyAJaXNjX3Jlc3VsdF90IHJ2YWwgPSBJU0NfUl9TVUNDRVNTOworLQlpbnQgaGF2ZV9hZGRycyA9IElTQ19GQUxTRTsKKysJaW50IGhhdmVfYWRkcnMgPSBmYWxzZTsKKyAJdW5zaWduZWQgY29kZTsKKyAJY29uc3QgY2hhciAqc2NvcGU7CisgCWludCBnb3RfbmEgPSAwLCBnb3RfdGEgPSAwLCBnb3RfcGQgPSAwOworQEAgLTI2NTAsMTQgKzI2NTAsMTQgQEAgZGhjNl9jaGVja19hZHZlcnRpc2Uoc3RydWN0IGRoYzZfbGVhc2UgKgorIAkJICogU2hvdWxkIHdlIGNoZWNrIHRoZSBhZGRyIGl0c2VsZiBmb3IgdXNhYmlsaXR5PworIAkJICovCisgCQlpZiAoaWEtPmFkZHJzICE9IE5VTEwpIHsKKy0JCQloYXZlX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaGF2ZV9hZGRycyA9IHRydWU7CisgCQl9CisgCX0KKyAKKyAJLyogSWYgd2UgZGlkbid0IGdldCBzb21lIGFkZHJzIG9yIHRoZSB1c2VyIHJlcXVpcmVkIHVzIHRvCisgCSAqIGdldCBhbGwgb2YgdGhlIHJlcXVlc3RlZCBJQXMgYW5kIHdlIGRpZG4ndCByZXR1cm4gYW4gZXJyb3IKKyAJICovCistCWlmICgoaGF2ZV9hZGRycyAhPSBJU0NfVFJVRSkgfHwKKysJaWYgKChoYXZlX2FkZHJzICE9IHRydWUpIHx8CisgCSAgICAoKHJlcXVpcmVfYWxsX2lhcyAhPSAwKSAmJgorIAkgICAgICgoZ290X25hIDwgd2FudGVkX2lhX25hKSB8fAorIAkgICAgICAoZ290X3RhIDwgd2FudGVkX2lhX3RhKSB8fAorQEAgLTI2NzAsNyArMjY3MCw3IEBAIGRoYzZfY2hlY2tfYWR2ZXJ0aXNlKHN0cnVjdCBkaGM2X2xlYXNlICoKKyAvKiBzdGF0dXMgY29kZSA8LT4gYWN0aW9uIG1hdHJpeCBmb3IgdGhlIGNsaWVudCBpbiBJTklUIHN0YXRlCisgICogKHJhcGlkL2NvbW1pdCkuICBSZXR1cm5zIGFsd2F5cyBmYWxzZSBhcyBubyBhY3Rpb24gaXMgZGVmaW5lZC4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9pbml0X2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgdW5zaWduZWQgY29kZSkKKyB7CitAQCAtMjY3OSwyMSArMjY3OSwyMSBAQCBkaGM2X2luaXRfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCisgCWlmIChjbGllbnQgPT0gTlVMTCkgeworIAkJKnJ2YWxwID0gREhDUF9SX0lOVkFMSURBUkc7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCWlmICgqcnZhbHAgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCS8qIE5vIHBvc3NpYmxlIGFjdGlvbiBpbiBhbnkgY2FzZS4uLiAqLworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorIAorIC8qIHN0YXR1cyBjb2RlIDwtPiBhY3Rpb24gbWF0cml4IGZvciB0aGUgY2xpZW50IGluIFNFTEVDVCBzdGF0ZQorICAqIChyZXF1ZXN0L3JlcGx5KS4gIFJldHVybnMgdHJ1ZSBpZiBhY3Rpb24gd2FzIHRha2VuIChhbmQgdGhlCisgICogcGFja2V0IHNob3VsZCBiZSBpZ25vcmVkKSwgb3IgZmFsc2UgaWYgbm8gYWN0aW9uIHdhcyB0YWtlbi4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgaXNjX3Jlc3VsdF90ICpydmFscCwKKyAJCSAgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI3MDUsMTIgKzI3MDUsMTIgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlydmFsID0gKnJ2YWxwOworIAorIAlpZiAocnZhbCA9PSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJc3dpdGNoIChjb2RlKSB7CisgCQkvKiBXZSBtYXkgaGF2ZSBhbiBlYXJsaWVyIGZhaWx1cmUgc3RhdHVzIGNvZGUgKHNvIG5vCitAQCAtMjcyMyw3ICsyNzIzLDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAkgICAgICBjYXNlIFNUQVRVU19Ob0JpbmRpbmc6CisgCSAgICAgIGNhc2UgU1RBVFVTX1VzZU11bHRpY2FzdDoKKyAJCS8qIFRha2Ugbm8gYWN0aW9uLiAqLworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIElmIHRoZSBzZXJ2ZXIgY2FuJ3QgZGVhbCB3aXRoIHVzLCBlaXRoZXIgdHJ5IHRoZQorIAkJICogbmV4dCBhZHZlcnRpc2VkIHNlcnZlciwgb3IgY29udGludWUgcmV0cnlpbmcgaWYgdGhlcmUKK0BAIC0yNzM5LDcgKzI3MzksNyBAQCBkaGM2X3NlbGVjdF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqCisgCisgCQkJYnJlYWs7CisgCQl9IGVsc2UgLyogVGFrZSBubyBhY3Rpb24gLSBjb250aW51ZSB0byByZXRyeS4gKi8KKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIElmIHRoZSBzZXJ2ZXIgaGFzIG5vIGFkZHJlc3NlcywgdHJ5IG90aGVyIHNlcnZlcnMgaWYKKyAJCSAqIHdlIGdvdCBzb21lLCBvdGhlcndpc2UgZ28gdG8gSU5JVCB0byBob3BlIGZvciBtb3JlCitAQCAtMjc0OCw3ICsyNzQ4LDcgQEAgZGhjNl9zZWxlY3RfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKgorIAkgICAgICBjYXNlIFNUQVRVU19Ob0FkZHJzQXZhaWw6CisgCSAgICAgIGNhc2UgU1RBVFVTX05vUHJlZml4QXZhaWw6CisgCQlpZiAoY2xpZW50LT5zdGF0ZSA9PSBTX1JFQk9PVElORykKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAKKyAJCWlmIChjbGllbnQtPnNlbGVjdGVkX2xlYXNlID09IE5VTEwpCisgCQkJbG9nX2ZhdGFsKCJJbXBvc3NpYmxlIGNhc2UgYXQgJXM6JWQuIiwgTURMKTsKK0BAIC0yNzk0LDcgKzI3OTQsNyBAQCBkaGM2X3NlbGVjdF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqCisgCQlicmVhazsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTI4MjEsNyArMjgyMSw3IEBAIGRoYzZfd2l0aGRyYXdfbGVhc2Uoc3RydWN0IGNsaWVudF9zdGF0ZQorICAqIChyZXF1ZXN0L3JlcGx5KS4gIFJldHVybnMgdHJ1ZSBpZiBhY3Rpb24gd2FzIHRha2VuIChhbmQgdGhlCisgICogcGFja2V0IHNob3VsZCBiZSBpZ25vcmVkKSwgb3IgZmFsc2UgaWYgbm8gYWN0aW9uIHdhcyB0YWtlbi4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9yZXBseV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2xpZW50LCBpc2NfcmVzdWx0X3QgKnJ2YWxwLAorIAkJICB1bnNpZ25lZCBjb2RlKQorIHsKK0BAIC0yODMyLDEyICsyODMyLDEyIEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAKKyAJaWYgKGNsaWVudCA9PSBOVUxMKSB7CisgCQkqcnZhbHAgPSBESENQX1JfSU5WQUxJREFSRzsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAJcnZhbCA9ICpydmFscDsKKyAKKyAJaWYgKHJ2YWwgPT0gSVNDX1JfU1VDQ0VTUykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXN3aXRjaCAoY29kZSkgeworIAkJLyogSXQncyBwb3NzaWJsZSBhbiBlYXJsaWVyIHN0YXR1cyBjb2RlIHNldCBydmFsIHRvIGEgZmFpbHVyZQorQEAgLTI4NTIsNyArMjg1Miw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAJICAgICAgY2FzZSBTVEFUVVNfVW5zcGVjRmFpbDoKKyAJCS8qIEZvciB1bmtub3duIGNvZGVzLi4uaXQncyBhIHNvZnQgKHJldHJ5YWJsZSkgZXJyb3IuICovCisgCSAgICAgIGRlZmF1bHQ6CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAorIAkJLyogVGhlIHNlcnZlciBpcyB0ZWxsaW5nIHVzIHRvIHVzZSBhIG11bHRpY2FzdCBhZGRyZXNzLCBzbworIAkJICogd2UgaGF2ZSB0byBkZWxldGUgdGhlIHVuaWNhc3Qgb3B0aW9uIGZyb20gdGhlIGFjdGl2ZQorQEAgLTI4NjUsNyArMjg2NSw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qICJXaGVuIHRoZSBjbGllbnQgcmVjZWl2ZXMgYSBOb3RPbkxpbmsgc3RhdHVzIGZyb20gdGhlCisgCQkgKiAgc2VydmVyIGluIHJlc3BvbnNlIHRvIGEgUmVxdWVzdCwgdGhlIGNsaWVudCBjYW4gZWl0aGVyCitAQCAtMjkxNCw3ICsyOTE0LDcgQEAgZGhjNl9yZXBseV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqYworIAkJYnJlYWs7CisgCX0KKyAKKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyogc3RhdHVzIGNvZGUgPC0+IGFjdGlvbiBtYXRyaXggZm9yIHRoZSBjbGllbnQgaW4gU1RPUFBFRCBzdGF0ZQorQEAgLTI5MjIsNyArMjkyMiw3IEBAIGRoYzZfcmVwbHlfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmMKKyAgKiBwYWNrZXQgc2hvdWxkIGJlIGlnbm9yZWQpLCBvciBmYWxzZSBpZiBubyBhY3Rpb24gd2FzIHRha2VuLgorICAqIE5vQmluZGluZyBpcyB0cmFuc2xhdGVkIGludG8gU3VjY2Vzcy4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9zdG9wX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI5MzMsMTIgKzI5MzMsMTIgQEAgZGhjNl9zdG9wX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbAorIAorIAlpZiAoY2xpZW50ID09IE5VTEwpIHsKKyAJCSpydmFscCA9IERIQ1BfUl9JTlZBTElEQVJHOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlydmFsID0gKnJ2YWxwOworIAorIAlpZiAocnZhbCA9PSBJU0NfUl9TVUNDRVNTKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJc3dpdGNoIChjb2RlKSB7CisgCQkvKiBJdCdzIHBvc3NpYmxlIGFuIGVhcmxpZXIgc3RhdHVzIGNvZGUgc2V0IHJ2YWwgdG8gYSBmYWlsdXJlCitAQCAtMjk0OCwxMyArMjk0OCwxMyBAQCBkaGM2X3N0b3BfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCQkvKiBGb3IgdW5rbm93biBjb2Rlcy4uLml0J3MgYSBzb2Z0IChyZXRyeWFibGUpIGVycm9yLiAqLworIAkgICAgICBjYXNlIFNUQVRVU19VbnNwZWNGYWlsOgorIAkgICAgICBkZWZhdWx0OgorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIE5vQmluZGluZyBpcyBub3QgYW4gZXJyb3IgKi8KKyAJICAgICAgY2FzZSBTVEFUVVNfTm9CaW5kaW5nOgorIAkJaWYgKHJ2YWwgPT0gSVNDX1JfRkFJTFVSRSkKKyAJCQkqcnZhbHAgPSBJU0NfUl9TVUNDRVNTOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAKKyAJCS8qIFNob3VsZCBub3QgaGFwcGVuICovCisgCSAgICAgIGNhc2UgU1RBVFVTX05vQWRkcnNBdmFpbDoKK0BAIC0yOTc2LDEzICsyOTc2LDEzIEBAIGRoYzZfc3RvcF9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgZGhjNl9kZWNsaW5lX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQsIGlzY19yZXN1bHRfdCAqcnZhbHAsCisgCQkgIHVuc2lnbmVkIGNvZGUpCisgeworQEAgLTI5OTMsMTIgKzI5OTMsMTIgQEAgZGhjNl9kZWNsaW5lX2FjdGlvbihzdHJ1Y3QgY2xpZW50X3N0YXRlCisgCisgCWlmIChjbGllbnQgPT0gTlVMTCkgeworIAkJKnJ2YWxwID0gREhDUF9SX0lOVkFMSURBUkc7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCXJ2YWwgPSAqcnZhbHA7CisgCisgCWlmIChydmFsID09IElTQ19SX1NVQ0NFU1MpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJc3dpdGNoIChjb2RlKSB7CitAQCAtMzAxMywxMyArMzAxMywxMyBAQCBkaGM2X2RlY2xpbmVfYWN0aW9uKHN0cnVjdCBjbGllbnRfc3RhdGUKKyAJCQlkZWxldGVfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLAorIAkJCQkgICAgICBjbGllbnQtPmFjdGl2ZV9sZWFzZS0+b3B0aW9ucywKKyAJCQkJICAgICAgRDZPX1VOSUNBU1QpOworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJZGVmYXVsdDoKKyAJCS8qIEFueXRoaW5nIGVsc2UgaXMgYmFzaWNhbGx5IG1lYW5pbmdsZXNzICovCisgCQlicmVhazsKKyAJfQorIAorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAKK0BAIC0zMDI5LDE0ICszMDI5LDE0IEBAIGRoYzZfZGVjbGluZV9hY3Rpb24oc3RydWN0IGNsaWVudF9zdGF0ZQorIHN0YXRpYyBpc2NfcmVzdWx0X3QKKyBkaGM2X2NoZWNrX3JlcGx5KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCwgc3RydWN0IGRoYzZfbGVhc2UgKm5ldykKKyB7CistCWlzY19ib29sZWFuX3QgKCphY3Rpb24pKHN0cnVjdCBjbGllbnRfc3RhdGUgKiwKKysJYm9vbCAoKmFjdGlvbikoc3RydWN0IGNsaWVudF9zdGF0ZSAqLAorIAkJCQlpc2NfcmVzdWx0X3QgKiwgdW5zaWduZWQpOworIAlzdHJ1Y3QgZGhjNl9pYSAqaWE7CisgCWlzY19yZXN1bHRfdCBydmFsID0gSVNDX1JfU1VDQ0VTUzsKKyAJdW5zaWduZWQgY29kZTsKKyAJY29uc3QgY2hhciAqc2NvcGU7CisgCWludCBuc2NvcmUsIHNzY29yZTsKKy0JaW50IGhhdmVfYWRkcnMgPSBJU0NfRkFMU0U7CisrCWludCBoYXZlX2FkZHJzID0gZmFsc2U7CisgCWludCBnb3RfbmEgPSAwLCBnb3RfdGEgPSAwLCBnb3RfcGQgPSAwOworIAorIAlpZiAoKGNsaWVudCA9PSBOVUxMKSB8fCAobmV3ID09IE5VTEwpKQorQEAgLTMxMDIsNyArMzEwMiw3IEBAIGRoYzZfY2hlY2tfcmVwbHkoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQlyZXR1cm4gSVNDX1JfQ0FOQ0VMRUQ7CisgCisgCQlpZiAoaWEtPmFkZHJzICE9IE5VTEwpIHsKKy0JCQloYXZlX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaGF2ZV9hZGRycyA9IHRydWU7CisgCQl9CisgCX0KKyAKK0BAIC0zMTE5LDEzICszMTE5LDEzIEBAIGRoYzZfY2hlY2tfcmVwbHkoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJICogY2hlY2sgaW4gYW5kIGNvbW1lbnRlZCBpdCBhcyBJIGV2ZW50dWFsbHkgZG8gd2FudAorIAkgKiB1cyB0byBjaGVjayBmb3IgVEFzIGFzIHdlbGwuICBTQVIKKyAJICovCistCWlmICgoaGF2ZV9hZGRycyAhPSBJU0NfVFJVRSkgfHwKKysJaWYgKChoYXZlX2FkZHJzICE9IHRydWUpIHx8CisgCSAgICAoKHJlcXVpcmVfYWxsX2lhcyAhPSAwKSAmJgorIAkgICAgICgoZ290X25hIDwgd2FudGVkX2lhX25hKSB8fAorIAkgICAgICAvKihnb3RfdGEgPCB3YW50ZWRfaWFfdGEpIHx8Ki8KKyAJICAgICAgKGdvdF9wZCA8IHdhbnRlZF9pYV9wZCkpKSkgeworIAkJcnZhbCA9IElTQ19SX0ZBSUxVUkU7CistCQlpZiAoYWN0aW9uKGNsaWVudCwgJnJ2YWwsIFNUQVRVU19Ob0FkZHJzQXZhaWwpID09IElTQ19UUlVFKSB7CisrCQlpZiAoYWN0aW9uKGNsaWVudCwgJnJ2YWwsIFNUQVRVU19Ob0FkZHJzQXZhaWwpID09IHRydWUpIHsKKyAJCQlyZXR1cm4gSVNDX1JfQ0FOQ0VMRUQ7CisgCQl9CisgCX0KK0BAIC00MjU2LDcgKzQyNTYsNyBAQCBkaGM2X2FkZF9pYV9wZChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCisgLyogc3RvcHBpbmdfZmluaXNoZWQoKSBjaGVja3MgaWYgdGhlcmUgaXMgYSByZW1haW5pbmcgd29yayB0byBkby4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgc3RvcHBpbmdfZmluaXNoZWQodm9pZCkKKyB7CisgCXN0cnVjdCBpbnRlcmZhY2VfaW5mbyAqaXA7CitAQCAtNDI2NSwxMiArNDI2NSwxMiBAQCBzdG9wcGluZ19maW5pc2hlZCh2b2lkKQorIAlmb3IgKGlwID0gaW50ZXJmYWNlczsgaXA7IGlwID0gaXAgLT4gbmV4dCkgeworIAkJZm9yIChjbGllbnQgPSBpcCAtPiBjbGllbnQ7IGNsaWVudDsgY2xpZW50ID0gY2xpZW50IC0+IG5leHQpIHsKKyAJCQlpZiAoY2xpZW50LT5zdGF0ZSAhPSBTX1NUT1BQRUQpCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCQlpZiAoY2xpZW50LT5hY3RpdmVfbGVhc2UgIT0gTlVMTCkKKy0JCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAl9CistCXJldHVybiBJU0NfVFJVRTsKKysJcmV0dXJuIHRydWU7CisgfQorIAorIC8qIHJlcGx5X2hhbmRsZXIoKSBhY2NlcHRzIGEgUmVwbHkgd2hpbGUgd2UncmUgYXR0ZW1wdGluZyBTZWxlY3Qgb3IgUmVuZXcgb3IKK0BAIC00NDc0LDggKzQ0NzQsOCBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCXN0cnVjdCBkaGM2X2FkZHIgKmFkZHI7CisgCVRJTUUgcmVuZXc9TUFYX1RJTUUsIHJlYmluZD1NQVhfVElNRSwgZGVwcmVmPU1BWF9USU1FLAorIAkgICAgIGxvX2V4cGlyZT1NQVhfVElNRSwgaGlfZXhwaXJlPTAsIG1heF9pYV9zdGFydHMgPSAwLCB0bXA7CistCWludCBoYXNfYWRkcnMgPSBJU0NfRkFMU0U7CistCWludCBoYXNfcHJlZmVycmVkX2FkZHJzID0gSVNDX0ZBTFNFOworKwlpbnQgaGFzX2FkZHJzID0gZmFsc2U7CisrCWludCBoYXNfcHJlZmVycmVkX2FkZHJzID0gZmFsc2U7CisgCXN0cnVjdCB0aW1ldmFsIHR2OworIAorIAlsZWFzZSA9IGNsaWVudC0+YWN0aXZlX2xlYXNlOworQEAgLTQ1MDYsNyArNDUwNiw3IEBAIGRoYzZfY2hlY2tfdGltZXMoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQkJCWRlcHJlZiA9IHRtcDsKKyAKKyAJCQkJaWYgKCEoYWRkci0+ZmxhZ3MgJiBESEM2X0FERFJfRVhQSVJFRCkpIHsKKy0JCQkJCWhhc19wcmVmZXJyZWRfYWRkcnMgPSBJU0NfVFJVRTsKKysJCQkJCWhhc19wcmVmZXJyZWRfYWRkcnMgPSB0cnVlOworIAkJCQl9CisgCQkJfQorIAorQEAgLTQ1MjUsNyArNDUyNSw3IEBAIGRoYzZfY2hlY2tfdGltZXMoc3RydWN0IGNsaWVudF9zdGF0ZSAqY2wKKyAJCQkJaWYgKHRtcCA8IHRoaXNfaWFfbG9fZXhwaXJlKQorIAkJCQkJdGhpc19pYV9sb19leHBpcmUgPSB0bXA7CisgCistCQkJCWhhc19hZGRycyA9IElTQ19UUlVFOworKwkJCQloYXNfYWRkcnMgPSB0cnVlOworIAkJCX0KKyAJCX0KKyAKK0BAIC00NjAzLDcgKzQ2MDMsNyBAQCBkaGM2X2NoZWNrX3RpbWVzKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsCisgCSAqIEluIHRoZSBmdXR1cmUsIHdlIG1heSBkZWNpZGUgdGhhdCB3ZSdyZSBkb25lIGhlcmUsIG9yIHRvCisgCSAqIHNjaGVkdWxlIGEgZnV0dXJlIHJlcXVlc3QgKHVzaW5nIDQtcGt0IGluZm8tcmVxdWVzdCBtb2RlbCkuCisgCSAqLworLQlpZiAoaGFzX2FkZHJzID09IElTQ19GQUxTRSkgeworKwlpZiAoaGFzX2FkZHJzID09IGZhbHNlKSB7CisgCQlkaGM2X2xlYXNlX2Rlc3Ryb3koJmNsaWVudC0+YWN0aXZlX2xlYXNlLCBNREwpOworIAkJY2xpZW50LT5hY3RpdmVfbGVhc2UgPSBOVUxMOworIAorQEAgLTQ4NTUsNyArNDg1NSw3IEBAIHN0YXJ0X2JvdW5kKHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVudCkKKyAJCQkgICJpcyBzZWxlY3RlZC4iKTsKKyAJCXJldHVybjsKKyAJfQorLQlsZWFzZS0+cmVsZWFzZWQgPSBJU0NfRkFMU0U7CisrCWxlYXNlLT5yZWxlYXNlZCA9IGZhbHNlOworIAlvbGQgPSBjbGllbnQtPm9sZF9sZWFzZTsKKyAKKyAJY2xpZW50LT52Nl9oYW5kbGVyID0gYm91bmRfaGFuZGxlcjsKK0BAIC01NDQ4LDggKzU0NDgsOCBAQCBkb19leHBpcmUodm9pZCAqaW5wdXQpCisgCXN0cnVjdCBkaGM2X2xlYXNlICpsZWFzZTsKKyAJc3RydWN0IGRoYzZfaWEgKmlhLCAqKnRpYTsKKyAJc3RydWN0IGRoYzZfYWRkciAqYWRkcjsKKy0JaW50IGhhc19hZGRycyA9IElTQ19GQUxTRTsKKy0JaW50IGlhX2hhc19hZGRycyA9IElTQ19GQUxTRTsKKysJaW50IGhhc19hZGRycyA9IGZhbHNlOworKwlpbnQgaWFfaGFzX2FkZHJzID0gZmFsc2U7CisgCisgCWNsaWVudCA9IChzdHJ1Y3QgY2xpZW50X3N0YXRlICopaW5wdXQ7CisgCitAQCAtNTQ1OCw3ICs1NDU4LDcgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAkJcmV0dXJuOworIAorIAlmb3IgKGlhID0gbGVhc2UtPmJpbmRpbmdzLCB0aWEgPSAmbGVhc2UtPmJpbmRpbmdzOyBpYSAhPSBOVUxMIDsgKSB7CistCQlpYV9oYXNfYWRkcnMgPSBJU0NfRkFMU0U7CisrCQlpYV9oYXNfYWRkcnMgPSBmYWxzZTsKKyAJCWZvciAoYWRkciA9IGlhLT5hZGRycyA7IGFkZHIgIT0gTlVMTCA7IGFkZHIgPSBhZGRyLT5uZXh0KSB7CisgCQkJaWYgKGFkZHItPmZsYWdzICYgREhDNl9BRERSX0VYUElSRUQpCisgCQkJCWNvbnRpbnVlOworQEAgLTU0OTUsMTQgKzU0OTUsMTQgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAkJCQljb250aW51ZTsKKyAJCQl9CisgCistCQkJaWFfaGFzX2FkZHJzID0gSVNDX1RSVUU7CistCQkJaGFzX2FkZHJzID0gSVNDX1RSVUU7CisrCQkJaWFfaGFzX2FkZHJzID0gdHJ1ZTsKKysJCQloYXNfYWRkcnMgPSB0cnVlOworIAkJfQorIAorIAkJLyogVXBkYXRlIHRvIHRoZSBuZXh0IGlhIGFuZCBnaXQgcmlkIG9mIHRoaXMgaWEKKyAJCSAqIGlmIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgbGVhc2VzLgorIAkJICovCistCQlpZiAoaWFfaGFzX2FkZHJzID09IElTQ19UUlVFKSB7CisrCQlpZiAoaWFfaGFzX2FkZHJzID09IHRydWUpIHsKKyAJCQkvKiBsZWFzZXMsIGp1c3QgYWR2YW5jZSB0aGUgbGlzdCBwb2ludGVyICovCisgCQkJdGlhID0gJigqdGlhKS0+bmV4dDsKKyAJCX0gZWxzZSB7CitAQCAtNTUxNyw3ICs1NTE3LDcgQEAgZG9fZXhwaXJlKHZvaWQgKmlucHV0KQorIAl9CisgCisgCS8qIENsZWFuIHVwIGVtcHR5IGxlYXNlcy4gKi8KKy0JaWYgKGhhc19hZGRycyA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKGhhc19hZGRycyA9PSBmYWxzZSkgeworIAkJbG9nX2luZm8oIlBSQzogQm91bmQgbGVhc2UgaXMgZGV2b2lkIG9mIGFjdGl2ZSBhZGRyZXNzZXMuIgorIAkJCSAiICBSZS1pbml0aWFsaXppbmcuIik7CisgCitAQCAtNTU5NiwxNCArNTU5NiwxNCBAQCBkaGM2X2NoZWNrX2lydChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllCisgCVRJTUUgZXhwaXJlID0gTUFYX1RJTUU7CisgCXN0cnVjdCB0aW1ldmFsIHR2OworIAlpbnQgaTsKKy0JaXNjX2Jvb2xlYW5fdCBmb3VuZCA9IElTQ19GQUxTRTsKKysJYm9vbCBmb3VuZCA9IGZhbHNlOworIAorIAljYW5jZWxfdGltZW91dChyZWZyZXNoX2luZm9fcmVxdWVzdDYsIGNsaWVudCk7CisgCisgCXJlcSA9IGNsaWVudC0+Y29uZmlnLT5yZXF1ZXN0ZWRfb3B0aW9uczsKKyAJZm9yIChpID0gMDsgcmVxW2ldICE9IE5VTEw7IGkrKykgeworIAkJaWYgKHJlcVtpXSA9PSBpcnRfb3B0aW9uKSB7CistCQkJZm91bmQgPSBJU0NfVFJVRTsKKysJCQlmb3VuZCA9IHRydWU7CisgCQkJYnJlYWs7CisgCQl9CisgCX0KK0BAIC01OTI0LDcgKzU5MjQsNyBAQCBzdGF0aWMgdm9pZCBzY3JpcHRfd3JpdGVfcmVxdWVzdGVkNihjbGllCisgLyoKKyAgKiBDaGVjayBpZiB0aGVyZSBpcyBzb21ldGhpbmcgbm90IGZ1bGx5IGRlZmluZWQgaW4gdGhlIGFjdGl2ZSBsZWFzZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdAorK3N0YXRpYyBib29sCisgYWN0aXZlX3ByZWZpeChzdHJ1Y3QgY2xpZW50X3N0YXRlICpjbGllbnQpCisgeworIAlzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2U7CitAQCAtNTkzNCwyMSArNTkzNCwyMSBAQCBhY3RpdmVfcHJlZml4KHN0cnVjdCBjbGllbnRfc3RhdGUgKmNsaWVuCisgCisgCWxlYXNlID0gY2xpZW50LT5hY3RpdmVfbGVhc2U7CisgCWlmIChsZWFzZSA9PSBOVUxMKQorLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJbWVtc2V0KHplcm9zLCAwLCAxNik7CisgCWZvciAoaWEgPSBsZWFzZS0+YmluZGluZ3M7IGlhICE9IE5VTEw7IGlhID0gaWEtPm5leHQpIHsKKyAJCWlmIChpYS0+aWFfdHlwZSAhPSBENk9fSUFfUEQpCisgCQkJY29udGludWU7CisgCQlmb3IgKHByZWYgPSBpYS0+YWRkcnM7IHByZWYgIT0gTlVMTDsgcHJlZiA9IHByZWYtPm5leHQpIHsKKyAJCQlpZiAocHJlZi0+cGxlbiA9PSAwKQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJaWYgKHByZWYtPmFkZHJlc3MubGVuICE9IDE2KQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJaWYgKG1lbWNtcChwcmVmLT5hZGRyZXNzLmlhYnVmLCB6ZXJvcywgMTYpID09IDApCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJfQorLQlyZXR1cm4gSVNDX1RSVUU7CisrCXJldHVybiB0cnVlOworIH0KKyAKKyAvKiBBZGRzIGEgbGVhc2VzJ3MgZGVjbGluZWQgYWRkcmVzZXMgdG8gdGhlIG91dGJvdW5kIHBhY2tldAorQEAgLTYxMTEsMjYgKzYxMTEsMjYgQEAgaW50IGRyb3BfZGVjbGluZWRfYWRkcnMoc3RydWN0IGRoYzZfbGVhcworIC8qIFJ1biB0aHJvdWdoIHRoZSBhZGRyZXNzZXMgaW4gbGVhc2UgYW5kIHJldHVybiB0cnVlIGlmIHRoZXJlJ3MgYW55IHVuZXhwaXJlZC4KKyAgKiBSZXR1cm4gZmFsc2Ugb3RoZXJ3aXNlLgorICAqLworLXN0YXRpYyBpc2NfYm9vbGVhbl90Cisrc3RhdGljIGJvb2wKKyB1bmV4cGlyZWRfYWRkcmVzc19pbl9sZWFzZShzdHJ1Y3QgZGhjNl9sZWFzZSAqbGVhc2UpCisgeworIAlzdHJ1Y3QgZGhjNl9pYSAqaWE7CisgCXN0cnVjdCBkaGM2X2FkZHIgKmFkZHI7CisgCisgCWlmIChsZWFzZSA9PSBOVUxMKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCisgCWZvciAoaWEgPSBsZWFzZS0+YmluZGluZ3MgOyBpYSAhPSBOVUxMIDsgaWEgPSBpYS0+bmV4dCkgeworIAkJZm9yIChhZGRyID0gaWEtPmFkZHJzIDsgYWRkciAhPSBOVUxMIDsgYWRkciA9IGFkZHItPm5leHQpIHsKKyAJCQlpZiAoIShhZGRyLT5mbGFncyAmIERIQzZfQUREUl9FWFBJUkVEKSAmJgorIAkJCSAgICAoYWRkci0+c3RhcnRzICsgYWRkci0+bWF4X2xpZmUgPiBjdXJfdGltZSkpIHsKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQl9CisgCQl9CisgCX0KKyAKKyAJbG9nX2RlYnVnKCJQUkM6IFByZXZpb3VzIGxlYXNlIGlzIGRldm9pZCBvZiBhY3RpdmUgYWRkcmVzc2VzLiIpOworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorICNlbmRpZiAvKiBESENQdjYgKi8KK0luZGV4OiBkaGNwLTQuNC4xL2NsaWVudC9kaGNsaWVudC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NsaWVudC9kaGNsaWVudC5jCisrKysgZGhjcC00LjQuMS9jbGllbnQvZGhjbGllbnQuYworQEAgLTUyLDcgKzUyLDcgQEAgY2hhciAqcGF0aF9kaGNsaWVudF9zY3JpcHQgPSBwYXRoX2RoY2xpZQorIGNvbnN0IGNoYXIgKnBhdGhfZGhjbGllbnRfZHVpZCA9IE5VTEw7CisgCisgLyogRmFsc2UgKGRlZmF1bHQpID0+IHdlIHdyaXRlIGFuZCB1c2UgYSBwaWQgZmlsZSAqLworLWlzY19ib29sZWFuX3Qgbm9fcGlkX2ZpbGUgPSBJU0NfRkFMU0U7CisrYm9vbCBub19waWRfZmlsZSA9IGZhbHNlOworIAorIGludCBkaGNwX21heF9hZ2VudF9vcHRpb25fcGFja2V0X2xlbmd0aCA9IDA7CisgCitAQCAtMzk3LDcgKzM5Nyw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCQkJcGF0aF9kaGNsaWVudF9waWQgPSBhcmd2W2ldOworIAkJCW5vX2RoY2xpZW50X3BpZCA9IDE7CisgCQl9IGVsc2UgaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tbm8tcGlkIikpIHsKKy0JCQlub19waWRfZmlsZSA9IElTQ19UUlVFOworKwkJCW5vX3BpZF9maWxlID0gdHJ1ZTsKKyAJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLWNmIikpIHsKKyAJCQlpZiAoKytpID09IGFyZ2MpCisgCQkJCXVzYWdlKHVzZV9ub2FyZywgYXJndltpLTFdKTsKK0BAIC02NTIsNyArNjUyLDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJICogdG8gd3JpdGUgYSBwaWQgZmlsZSAtIHdlIGFzc3VtZSB0aGV5IGFyZSBjb250cm9sbGluZworIAkgKiB0aGUgcHJvY2VzcyBpbiBzb21lIG90aGVyIGZhc2hpb24uCisgCSAqLworLQlpZiAoKHJlbGVhc2VfbW9kZSB8fCBleGl0X21vZGUpICYmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpKSB7CisrCWlmICgocmVsZWFzZV9tb2RlIHx8IGV4aXRfbW9kZSkgJiYgKG5vX3BpZF9maWxlID09IGZhbHNlKSkgeworIAkJRklMRSAqcGlkZmQ7CisgCQlwaWRfdCBvbGRwaWQ7CisgCQlsb25nIHRlbXA7CitAQCAtNDQ2OSw3ICs0NDY5LDcgQEAgdm9pZCB3cml0ZV9jbGllbnRfcGlkX2ZpbGUgKCkKKyAJaW50IHBmZGVzYzsKKyAKKyAJLyogbm90aGluZyB0byBkbyBpZiB0aGUgdXNlciBkb2Vzbid0IHdhbnQgYSBwaWQgZmlsZSAqLworLQlpZiAobm9fcGlkX2ZpbGUgPT0gSVNDX1RSVUUpIHsKKysJaWYgKG5vX3BpZF9maWxlID09IHRydWUpIHsKKyAJCXJldHVybjsKKyAJfQorIAorQEAgLTQ3MjcsNyArNDcyNyw3IEBAIHVuc2lnbmVkIGNvbnNfYWdlbnRfaW5mb3JtYXRpb25fb3B0aW9ucworIHN0YXRpYyB2b2lkIHNodXRkb3duX2V4aXQgKHZvaWQgKmZvbykKKyB7CisgCS8qIGdldCByaWQgb2YgdGhlIHBpZCBpZiB3ZSBjYW4gKi8KKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKQorIAkJKHZvaWQpIHVubGluayhwYXRoX2RoY2xpZW50X3BpZCk7CisgCWZpbmlzaCgwKTsKKyB9CitJbmRleDogZGhjcC00LjQuMS9jb21tb24vaW5ldC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL2NvbW1vbi9pbmV0LmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9pbmV0LmMKK0BAIC0yOTksNyArMjk5LDcgQEAgYWRkcl9hbmQoc3RydWN0IGlhZGRyICpyZXN1bHQsIGNvbnN0IHN0cgorICAqCisgICogQmVjYXVzZSB0aGUgZmluYWwgIi4xIiB3b3VsZCBnZXQgbWFza2VkIG91dCBieSB0aGUgLzguCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphZGRyLCBpbnQgYml0cykgeworIAlpbnQgemVyb19iaXRzOworIAlpbnQgemVyb19ieXRlczsKK0BAIC0zMTEsMTAgKzMxMSwxMCBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqIENoZWNrIG91ciBiaXQgYm91bmRhcmllcy4KKyAJICovCisgCWlmIChiaXRzIDwgMCkgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAlpZiAoYml0cyA+IChhZGRyLT5sZW4gKiA4KSkgeworLQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCXJldHVybiBmYWxzZTsKKyAJfQorIAorIAkvKgorQEAgLTMyOCw3ICszMjgsNyBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqLworIAlmb3IgKGk9MTsgaTw9emVyb19ieXRlczsgaSsrKSB7CisgCQlpZiAoYWRkci0+aWFidWZbYWRkci0+bGVuLWldICE9IDApIHsKKy0JCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCXJldHVybiBmYWxzZTsKKyAJCX0KKyAJfQorIAorQEAgLTM0MCw3ICszNDAsNyBAQCBpc19jaWRyX21hc2tfdmFsaWQoY29uc3Qgc3RydWN0IGlhZGRyICphCisgCSAqIGhhcHB5LgorIAkgKi8KKyAJc2hpZnRfYml0cyA9IHplcm9fYml0cyAlIDg7CistCWlmIChzaGlmdF9iaXRzID09IDApIHJldHVybiBJU0NfVFJVRTsKKysJaWYgKHNoaWZ0X2JpdHMgPT0gMCkgcmV0dXJuIHRydWU7CisgCWJ5dGUgPSBhZGRyLT5pYWJ1ZlthZGRyLT5sZW4temVyb19ieXRlcy0xXTsKKyAJcmV0dXJuICgoKGJ5dGUgPj4gc2hpZnRfYml0cykgPDwgc2hpZnRfYml0cykgPT0gYnl0ZSk7CisgfQorSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL29wdGlvbnMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9jb21tb24vb3B0aW9ucy5jCisrKysgZGhjcC00LjQuMS9jb21tb24vb3B0aW9ucy5jCitAQCAtNjc2LDcgKzY3Niw3IEBAIGNvbnNfb3B0aW9ucyhzdHJ1Y3QgcGFja2V0ICppbnBhY2tldCwgc3QKKyAJCSAqIHRoZSBwcmlvcml0eV9saXN0LiBUaGlzIHdheSB3ZSdsbCBzZW5kIGl0IHdoZXRoZXIgb3Igbm90IGl0CisgCQkgKiBpcyBpbiB0aGUgUFJMLiAqLworIAkJaWYgKChpbnBhY2tldCAhPSBOVUxMKSAmJiAocHJpb3JpdHlfbGVuIDwgUFJJT1JJVFlfQ09VTlQpICYmCistCQkgICAgKGlucGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9PSBJU0NfVFJVRSkpIHsKKysJCSAgICAoaW5wYWNrZXQtPnN2X2VjaG9fY2xpZW50X2lkID09IHRydWUpKSB7CisgCQkJcHJpb3JpdHlfbGlzdFtwcmlvcml0eV9sZW4rK10gPQorIAkJCQlESE9fREhDUF9DTElFTlRfSURFTlRJRklFUjsKKyAJCX0KK0BAIC0xODAyLDcgKzE4MDIsNyBAQCBjb25zdCBjaGFyICpwcmV0dHlfcHJpbnRfb3B0aW9uIChvcHRpb24sCisgCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmRwID0gZGF0YTsKKyAJY2hhciBjb21tYTsKKyAJdW5zaWduZWQgbG9uZyB0dmFsOworLQlpc2NfYm9vbGVhbl90IGFfYXJyYXkgPSBJU0NfRkFMU0U7CisrCWJvb2wgYV9hcnJheSA9IGZhbHNlOworIAlpbnQgbGVuX3VzZWQ7CisgCisgCWlmIChlbWl0X2NvbW1hcykKK0BAIC0xODI4LDcgKzE4MjgsNyBAQCBjb25zdCBjaGFyICpwcmV0dHlfcHJpbnRfb3B0aW9uIChvcHRpb24sCisgCQlmbXRidWYgW2xdID0gb3B0aW9uIC0+IGZvcm1hdCBbaV07CisgCQlzd2l0Y2ggKG9wdGlvbiAtPiBmb3JtYXQgW2ldKSB7CisgCQkgICAgICBjYXNlICdhJzoKKy0JCQlhX2FycmF5ID0gSVNDX1RSVUU7CisrCQkJYV9hcnJheSA9IHRydWU7CisgCQkJLyogRmFsbCB0aHJvdWdoICovCisgCQkgICAgICBjYXNlICdBJzoKKyAJCQktLW51bWVsZW07CitAQCAtMTg1OCw3ICsxODU4LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAkJCQlodW5rc2l6ZSsrOworIAkJCQljb21tYSA9ICc6JzsKKyAJCQkJbnVtaHVuayA9IDA7CistCQkJCWFfYXJyYXkgPSBJU0NfVFJVRTsKKysJCQkJYV9hcnJheSA9IHRydWU7CisgCQkJCWh1bmtpbmMgPSAxOworIAkJCX0KKyAJCQlmbXRidWYgW2wgKyAxXSA9IDA7CitAQCAtMTk1NCw3ICsxOTU0LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAorIAkvKiBJZiB0aGlzIGlzIGFuIGFycmF5LCBjb21wdXRlIGl0cyBzaXplLiAqLworIAlpZiAobnVtaHVuayA9PSAwKSB7CistCQlpZiAoYV9hcnJheSA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGFfYXJyYXkgPT0gdHJ1ZSkgeworIAkJCS8qCisgCQkJICogSXQgaXMgYW4gJ2EnIHR5cGUgYXJyYXkgLSB3ZSByZXBlYXQgdGhlCisgCQkJICogbGFzdCBmb3JtYXQgdHlwZS4gIEEgYmluYXJ5IHN0cmluZyBmb3IgJ1gnCitAQCAtMjAwNiw3ICsyMDA2LDcgQEAgY29uc3QgY2hhciAqcHJldHR5X3ByaW50X29wdGlvbiAob3B0aW9uLAorIAorIAkvKiBDeWNsZSB0aHJvdWdoIHRoZSBhcnJheSAob3IgaHVuaykgcHJpbnRpbmcgdGhlIGRhdGEuICovCisgCWZvciAoaSA9IDA7IGkgPCBudW1odW5rOyBpKyspIHsKKy0JCWlmICgoYV9hcnJheSA9PSBJU0NfVFJVRSkgJiYgKGkgIT0gMCkgJiYgKG51bWVsZW0gPiAwKSkgeworKwkJaWYgKChhX2FycmF5ID09IHRydWUpICYmIChpICE9IDApICYmIChudW1lbGVtID4gMCkpIHsKKyAJCQkvKgorIAkJCSAqIEZvciAnYScgdHlwZSBvZiBhcnJheXMgd2UgcmVwZWF0CisgCQkJICogb25seSB0aGUgbGFzdCBmb3JtYXQgY2hhcmFjdGVyCitAQCAtMjczNCw3ICsyNzM0LDcgQEAgc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXJzZSwgcworIAkgICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MpCisgeworIAlpZiAodW5pdmVyc2UtPnNhdmVfZnVuYykKKy0JCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCBJU0NfRkFMU0UpOworKwkJKCp1bml2ZXJzZS0+c2F2ZV9mdW5jKSh1bml2ZXJzZSwgb3B0aW9ucywgb2MsIHRydWUpOworIAllbHNlCisgCQlsb2dfZXJyb3IoImNhbid0IHN0b3JlIG9wdGlvbnMgaW4gJXMgc3BhY2UuIiwgdW5pdmVyc2UtPm5hbWUpOworIH0KK0BAIC0yNzQ1LDE0ICsyNzQ1LDE0IEBAIGFsc29fc2F2ZV9vcHRpb24oc3RydWN0IHVuaXZlcnNlICp1bml2ZXIKKyAJCSBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYykKKyB7CisgCWlmICh1bml2ZXJzZS0+c2F2ZV9mdW5jKQorLQkJKCp1bml2ZXJzZS0+c2F2ZV9mdW5jKSh1bml2ZXJzZSwgb3B0aW9ucywgb2MsIElTQ19UUlVFKTsKKysJCSgqdW5pdmVyc2UtPnNhdmVfZnVuYykodW5pdmVyc2UsIG9wdGlvbnMsIG9jLCB0cnVlKTsKKyAJZWxzZQorIAkJbG9nX2Vycm9yKCJjYW4ndCBzdG9yZSBvcHRpb25zIGluICVzIHNwYWNlLiIsIHVuaXZlcnNlLT5uYW1lKTsKKyB9CisgCisgdm9pZAorIHNhdmVfaGFzaGVkX29wdGlvbihzdHJ1Y3QgdW5pdmVyc2UgKnVuaXZlcnNlLCBzdHJ1Y3Qgb3B0aW9uX3N0YXRlICpvcHRpb25zLAorLQkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGlzY19ib29sZWFuX3QgYXBwZW5kcCkKKysJCSAgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApCisgeworIAlpbnQgaGFzaGl4OworIAlwYWlyIGJwdHI7CitAQCAtMzA2Miw3ICszMDYyLDcgQEAgc3RvcmVfb3B0aW9uKHN0cnVjdCBkYXRhX3N0cmluZyAqcmVzdWx0LAorIAkJCQkJCSAgY2ZnX29wdGlvbnMsIHNjb3BlLCBzdWJ1KTsKKyAJCQkJc3VidSA9IE5VTEw7CisgCQkJfQorLQkJfSB3aGlsZSAoSVNDX0ZBTFNFKTsKKysJCX0gd2hpbGUgKGZhbHNlKTsKKyAKKyAJCXN0YXR1cyA9IGFwcGVuZF9vcHRpb24ocmVzdWx0LCB1bml2ZXJzZSwgb2MtPm9wdGlvbiwgJnRtcCk7CisgCQlkYXRhX3N0cmluZ19mb3JnZXQoJnRtcCwgTURMKTsKK0BAIC0zNDU5LDcgKzM0NTksNyBAQCBsb29rdXBfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pCisgICovCisgdm9pZAorIHNhdmVfZnFkbjZfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCistCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBpc2NfYm9vbGVhbl90IGFwcGVuZHApCisrCQkgIHN0cnVjdCBvcHRpb25fY2FjaGUgKm9jLCBib29sIGFwcGVuZHApCisgeworIAlsb2dfZmF0YWwoIkltcG9zc2libGUgY29uZGl0aW9uIGF0ICVzOiVkLiIsIE1ETCk7CisgfQorQEAgLTM3ODQsNyArMzc4NCw3IEBAIHZvaWQgaGFzaGVkX29wdGlvbl9zcGFjZV9mb3JlYWNoIChzdHJ1Y3QKKyAKKyB2b2lkCisgc2F2ZV9saW5rZWRfb3B0aW9uKHN0cnVjdCB1bml2ZXJzZSAqdW5pdmVyc2UsIHN0cnVjdCBvcHRpb25fc3RhdGUgKm9wdGlvbnMsCistCQkgICBzdHJ1Y3Qgb3B0aW9uX2NhY2hlICpvYywgaXNjX2Jvb2xlYW5fdCBhcHBlbmRwKQorKwkJICAgc3RydWN0IG9wdGlvbl9jYWNoZSAqb2MsIGJvb2wgYXBwZW5kcCkKKyB7CisgCXBhaXIgKnRhaWw7CisgCXN0cnVjdCBvcHRpb25fY2hhaW5faGVhZCAqaGVhZDsKK0BAIC00MDczLDcgKzQwNzMsNyBAQCBwYWNrZXQ2X2xlbl9va2F5KGNvbnN0IGNoYXIgKnBhY2tldCwgaW50Cisgdm9pZAorIGRvX3BhY2tldDYoc3RydWN0IGludGVyZmFjZV9pbmZvICppbnRlcmZhY2UsIGNvbnN0IGNoYXIgKnBhY2tldCwKKyAJICAgaW50IGxlbiwgaW50IGZyb21fcG9ydCwgY29uc3Qgc3RydWN0IGlhZGRyICpmcm9tLAorLQkgICBpc2NfYm9vbGVhbl90IHdhc191bmljYXN0KSB7CisrCSAgIGJvb2wgd2FzX3VuaWNhc3QpIHsKKyAJdW5zaWduZWQgY2hhciBtc2dfdHlwZTsKKyAJY29uc3Qgc3RydWN0IGRoY3B2Nl9wYWNrZXQgKm1zZzsKKyAJY29uc3Qgc3RydWN0IGRoY3B2Nl9yZWxheV9wYWNrZXQgKnJlbGF5OworSW5kZXg6IGRoY3AtNC40LjEvY29tbW9uL3BhcnNlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvY29tbW9uL3BhcnNlLmMKKysrKyBkaGNwLTQuNC4xL2NvbW1vbi9wYXJzZS5jCitAQCAtNDk1Miw3ICs0OTUyLDcgQEAgaW50IHBhcnNlX29wdGlvbl90b2tlbiAocnYsIGNmaWxlLCBmbXQsCisgCXVuc2lnbmVkIGxlbjsKKyAJc3RydWN0IGlhZGRyIGFkZHI7CisgCWludCBjb21wcmVzczsKKy0JaXNjX2Jvb2xlYW5fdCBmcmVldmFsID0gSVNDX0ZBTFNFOworKwlib29sIGZyZWV2YWwgPSBmYWxzZTsKKyAJY29uc3QgY2hhciAqZiwgKmc7CisgCXN0cnVjdCBlbnVtZXJhdGlvbl92YWx1ZSAqZTsKKyAKK0BAIC01MDM4LDcgKzUwMzgsNyBAQCBpbnQgcGFyc2Vfb3B0aW9uX3Rva2VuIChydiwgY2ZpbGUsIGZtdCwKKyAJCQlyZXR1cm4gMDsKKyAJCX0KKyAJCWxlbiA9IHN0cmxlbiAodmFsKTsKKy0JCWZyZWV2YWwgPSBJU0NfVFJVRTsKKysJCWZyZWV2YWwgPSB0cnVlOworIAkJZ290byBtYWtlX3N0cmluZzsKKyAKKyAJICAgICAgY2FzZSAndCc6IC8qIFRleHQgc3RyaW5nLi4uICovCitAQCAtNTA1NSw5ICs1MDU1LDkgQEAgaW50IHBhcnNlX29wdGlvbl90b2tlbiAocnYsIGNmaWxlLCBmbXQsCisgCQlpZiAoIW1ha2VfY29uc3RfZGF0YSAoJnQsIChjb25zdCB1bnNpZ25lZCBjaGFyICopdmFsLAorIAkJCQkgICAgICBsZW4sIDEsIDEsIE1ETCkpCisgCQkJbG9nX2ZhdGFsICgiTm8gbWVtb3J5IGZvciBjb25jYXRlbmF0aW9uIik7CistCQlpZiAoZnJlZXZhbCA9PSBJU0NfVFJVRSkgeworKwkJaWYgKGZyZWV2YWwgPT0gdHJ1ZSkgeworIAkJCWRmcmVlKChjaGFyICopdmFsLCBNREwpOworLQkJCWZyZWV2YWwgPSBJU0NfRkFMU0U7CisrCQkJZnJlZXZhbCA9IGZhbHNlOworIAkJCVBPU1QoZnJlZXZhbCk7CisgCQl9CisgCQlicmVhazsKK0luZGV4OiBkaGNwLTQuNC4xL29tYXBpcC9kaXNwYXRjaC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL29tYXBpcC9kaXNwYXRjaC5jCisrKysgZGhjcC00LjQuMS9vbWFwaXAvZGlzcGF0Y2guYworQEAgLTE1Niw3ICsxNTYsNyBAQCBvbWFwaV9pc2Nzb2NrX2NiKGlzY190YXNrX3QgICAqdGFzaywKKyAJICogVGhpcyBzaG91bGQgYmUgYSB0ZW1wb3JhcnkgZml4IHVudGlsIHdlIGFycmFuZ2UgdG8gcHJvcGVybHkKKyAJICogY2xvc2UgdGhlIHNvY2tldC4KKyAJICovCistCWlmIChvYmotPmNsb3NlZCA9PSBJU0NfVFJVRSkgeworKwlpZiAob2JqLT5jbG9zZWQgPT0gdHJ1ZSkgeworIAkJcmV0dXJuKDApOworIAl9CisgI2VuZGlmCSAgCitAQCAtMjIzLDcgKzIyMyw3IEBAIGlzY19yZXN1bHRfdCBvbWFwaV9yZWdpc3Rlcl9pb19vYmplY3QgKG8KKyAJc3RhdHVzID0gb21hcGlfaW9fYWxsb2NhdGUgKCZvYmosIE1ETCk7CisgCWlmIChzdGF0dXMgIT0gSVNDX1JfU1VDQ0VTUykKKyAJCXJldHVybiBzdGF0dXM7CistCW9iai0+Y2xvc2VkID0gSVNDX0ZBTFNFOyAgLyogbWFyayBhcyBvcGVuICovCisrCW9iai0+Y2xvc2VkID0gZmFsc2U7ICAvKiBtYXJrIGFzIG9wZW4gKi8KKyAKKyAJc3RhdHVzID0gb21hcGlfb2JqZWN0X3JlZmVyZW5jZSAoJm9iaiAtPiBpbm5lciwgaCwgTURMKTsKKyAJaWYgKHN0YXR1cyAhPSBJU0NfUl9TVUNDRVNTKSB7CitAQCAtNDA0LDcgKzQwNCw3IEBAIGlzY19yZXN1bHRfdCBvbWFwaV91bnJlZ2lzdGVyX2lvX29iamVjdAorIAkJaXNjX3NvY2tldF9kZXRhY2goJm9iai0+ZmQpOworIAl9CisgI2Vsc2UKKy0Jb2JqLT5jbG9zZWQgPSBJU0NfVFJVRTsKKysJb2JqLT5jbG9zZWQgPSB0cnVlOworICNlbmRpZgorIAorIAlvbWFwaV9pb19kZXJlZmVyZW5jZSAoJnBoLCBNREwpOworSW5kZXg6IGRoY3AtNC40LjEvb21hcGlwL2lzY2xpYi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL29tYXBpcC9pc2NsaWIuYworKysrIGRoY3AtNC40LjEvb21hcGlwL2lzY2xpYi5jCitAQCAtMTA2LDkgKzEwNiw5IEBAIGlzY2xpYl9jbGVhbnVwKHZvaWQpCisgCWlmIChkaGNwX2dibF9jdHgudGFza21nciAhPSBOVUxMKQorIAkJaXNjX3Rhc2ttZ3JfZGVzdHJveSgmZGhjcF9nYmxfY3R4LnRhc2ttZ3IpOworIAorLQlpZiAoZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCAhPSBJU0NfRkFMU0UpIHsKKysJaWYgKGRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgIT0gZmFsc2UpIHsKKyAJCWlzY19hcHBfY3R4ZmluaXNoKGRoY3BfZ2JsX2N0eC5hY3R4KTsKKy0JCWRoY3BfZ2JsX2N0eC5hY3R4X3N0YXJ0ZWQgPSBJU0NfRkFMU0U7CisrCQlkaGNwX2dibF9jdHguYWN0eF9zdGFydGVkID0gZmFsc2U7CisgCX0KKyAKKyAJaWYgKGRoY3BfZ2JsX2N0eC5hY3R4ICE9IE5VTEwpCitAQCAtMjExLDcgKzIxMSw3IEBAIGRoY3BfY29udGV4dF9jcmVhdGUoaW50IGZsYWdzLAorIAkJcmVzdWx0ID0gaXNjX2FwcF9jdHhzdGFydChkaGNwX2dibF9jdHguYWN0eCk7CisgCQlpZiAocmVzdWx0ICE9IElTQ19SX1NVQ0NFU1MpCisgCQkJcmV0dXJuIChyZXN1bHQpOworLQkJZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCA9IElTQ19UUlVFOworKwkJZGhjcF9nYmxfY3R4LmFjdHhfc3RhcnRlZCA9IHRydWU7CisgCisgCQkvKiBOb3QgYWxsIE9TcyBzdXBwb3J0IHN1cHByZXNzaW5nIFNJR1BJUEUgdGhyb3VnaCBzb2NrZXQKKyAJCSAqIG9wdGlvbnMsIHNvIHNldCB0aGUgc2lnYWwgYWN0aW9uIHRvIGJlIGlnbm9yZS4gIFRoaXMgYWxsb3dzCitJbmRleDogZGhjcC00LjQuMS9vbWFwaXAvcHJvdG9jb2wuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9vbWFwaXAvcHJvdG9jb2wuYworKysrIGRoY3AtNC40LjEvb21hcGlwL3Byb3RvY29sLmMKK0BAIC05NTAsMTQgKzk1MCwxNCBAQCBpc2NfcmVzdWx0X3Qgb21hcGlfcHJvdG9jb2xfc3R1ZmZfdmFsdWVzCisgLyogUmV0dXJucyBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgcHJvdG9jb2wgcmVxdWlyZXMgdGhhdAorICAgIG1lc3NhZ2VzIGJlIGF1dGhlbnRpY2F0ZWQgb3Igbm90LiAqLworIAorLWlzY19ib29sZWFuX3Qgb21hcGlfcHJvdG9jb2xfYXV0aGVudGljYXRlZCAob21hcGlfb2JqZWN0X3QgKmgpCisrYm9vbCBvbWFwaV9wcm90b2NvbF9hdXRoZW50aWNhdGVkIChvbWFwaV9vYmplY3RfdCAqaCkKKyB7CisgCWlmIChoIC0+IHR5cGUgIT0gb21hcGlfdHlwZV9wcm90b2NvbCkKKy0JCXJldHVybiBpc2NfYm9vbGVhbl9mYWxzZTsKKysJCXJldHVybiBmYWxzZTsKKyAJaWYgKCgob21hcGlfcHJvdG9jb2xfb2JqZWN0X3QgKiloKSAtPiBpbnNlY3VyZSkKKy0JCXJldHVybiBpc2NfYm9vbGVhbl9mYWxzZTsKKysJCXJldHVybiBmYWxzZTsKKyAJZWxzZQorLQkJcmV0dXJuIGlzY19ib29sZWFuX3RydWU7CisrCQlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyogU2V0cyB0aGUgYWRkcmVzcyBhbmQgYXV0aGVudGljYXRvciB2ZXJpZmljYXRpb24gY2FsbGJhY2tzLiAgVGhlIGhhbmRsZQorSW5kZXg6IGRoY3AtNC40LjEvcmVsYXkvZGhjcmVsYXkuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9yZWxheS9kaGNyZWxheS5jCisrKysgZGhjcC00LjQuMS9yZWxheS9kaGNyZWxheS5jCitAQCAtNDUsOSArNDUsOSBAQCBjaGFyICp0b2tlbl9saW5lOworIGNoYXIgKnRsbmFtZTsKKyAKKyBjb25zdCBjaGFyICpwYXRoX2RoY3JlbGF5X3BpZCA9IF9QQVRIX0RIQ1JFTEFZX1BJRDsKKy1pc2NfYm9vbGVhbl90IG5vX2RoY3JlbGF5X3BpZCA9IElTQ19GQUxTRTsKKytib29sIG5vX2RoY3JlbGF5X3BpZCA9IGZhbHNlOworIC8qIEZhbHNlIChkZWZhdWx0KSA9PiB3ZSB3cml0ZSBhbmQgdXNlIGEgcGlkIGZpbGUgKi8KKy1pc2NfYm9vbGVhbl90IG5vX3BpZF9maWxlID0gSVNDX0ZBTFNFOworK2Jvb2wgbm9fcGlkX2ZpbGUgPSBmYWxzZTsKKyAKKyBpbnQgYm9ndXNfYWdlbnRfZHJvcHMgPSAwOwkvKiBQYWNrZXRzIGRyb3BwZWQgYmVjYXVzZSBhZ2VudCBvcHRpb24KKyAJCQkJICAgZmllbGQgd2FzIHNwZWNpZmllZCBhbmQgd2UncmUgbm90IHJlbGF5aW5nCitAQCAtODIsNyArODIsNyBAQCBpbnQgZGZkWzJdID0geyAtMSwgLTEgfTsKKyAKKyAjaWZkZWYgREhDUHY2CisgCS8qIEZvcmNlIHVzZSBvZiBESENQdjYgaW50ZXJmYWNlLWlkIG9wdGlvbi4gKi8KKy1pc2NfYm9vbGVhbl90IHVzZV9pZl9pZCA9IElTQ19GQUxTRTsKKytib29sIHVzZV9pZl9pZCA9IGZhbHNlOworICNlbmRpZgorIAorIAkvKiBNYXhpbXVtIHNpemUgb2YgYSBwYWNrZXQgd2l0aCBhZ2VudCBvcHRpb25zIGFkZGVkLiAqLworQEAgLTU1Niw3ICs1NTYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCX0KKyAJCQlsb2NhbF9mYW1pbHlfc2V0ID0gMTsKKyAJCQlsb2NhbF9mYW1pbHkgPSBBRl9JTkVUNjsKKy0JCQl1c2VfaWZfaWQgPSBJU0NfVFJVRTsKKysJCQl1c2VfaWZfaWQgPSB0cnVlOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItbCIpKSB7CisgCQkJaWYgKGxvY2FsX2ZhbWlseV9zZXQgJiYgKGxvY2FsX2ZhbWlseSA9PSBBRl9JTkVUKSkgeworIAkJCQl1c2FnZSh1c2VfdjZjb21tYW5kLCBhcmd2W2ldKTsKK0BAIC01NjQsNyArNTY0LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJCQlsb2NhbF9mYW1pbHlfc2V0ID0gMTsKKyAJCQlsb2NhbF9mYW1pbHkgPSBBRl9JTkVUNjsKKyAJCQlpZiAoZG93bnN0cmVhbXMgIT0gTlVMTCkKKy0JCQkJdXNlX2lmX2lkID0gSVNDX1RSVUU7CisrCQkJCXVzZV9pZl9pZCA9IHRydWU7CisgCQkJaWYgKCsraSA9PSBhcmdjKQorIAkJCQl1c2FnZSh1c2Vfbm9hcmcsIGFyZ3ZbaS0xXSk7CisgCQkJc2wgPSBwYXJzZV9kb3duc3RyZWFtKGFyZ3ZbaV0pOworQEAgLTU5NSw5ICs1OTUsOSBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCWlmICgrK2kgPT0gYXJnYykKKyAJCQkJdXNhZ2UodXNlX25vYXJnLCBhcmd2W2ktMV0pOworIAkJCXBhdGhfZGhjcmVsYXlfcGlkID0gYXJndltpXTsKKy0JCQlub19kaGNyZWxheV9waWQgPSBJU0NfVFJVRTsKKysJCQlub19kaGNyZWxheV9waWQgPSB0cnVlOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLXBpZCIpKSB7CistCQkJbm9fcGlkX2ZpbGUgPSBJU0NfVFJVRTsKKysJCQlub19waWRfZmlsZSA9IHRydWU7CisgIAkJfSBlbHNlIGlmIChhcmd2W2ldWzBdID09ICctJykgeworIAkJCXVzYWdlKCJVbmtub3duIGNvbW1hbmQ6ICVzIiwgYXJndltpXSk7CisgIAkJfSBlbHNlIHsKK0BAIC02NDUsNyArNjQ1LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAJICogSWYgdGhlIHVzZXIgZGlkbid0IHNwZWNpZnkgYSBwaWQgZmlsZSBkaXJlY3RseQorIAkgKiBmaW5kIG9uZSBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBvciBkZWZhdWx0cworIAkgKi8KKy0JaWYgKG5vX2RoY3JlbGF5X3BpZCA9PSBJU0NfRkFMU0UpIHsKKysJaWYgKG5vX2RoY3JlbGF5X3BpZCA9PSBmYWxzZSkgeworIAkJaWYgKGxvY2FsX2ZhbWlseSA9PSBBRl9JTkVUKSB7CisgCQkJcGF0aF9kaGNyZWxheV9waWQgPSBnZXRlbnYoIlBBVEhfREhDUkVMQVlfUElEIik7CisgCQkJaWYgKHBhdGhfZGhjcmVsYXlfcGlkID09IE5VTEwpCitAQCAtNzc0LDcgKzc3NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCQl9CisgCisgCQkvKiBDcmVhdGUgdGhlIHBpZCBmaWxlLiAqLworLQkJaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkgeworKwkJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKSB7CisgCQkJcGZkZXNjID0gb3BlbihwYXRoX2RoY3JlbGF5X3BpZCwKKyAJCQkJICAgICAgT19DUkVBVCB8IE9fVFJVTkMgfCBPX1dST05MWSwgMDY0NCk7CisgCitAQCAtMTU2OSw3ICsxNTY5LDcgQEAgc3RhdGljIHZvaWQKKyBzZXR1cF9zdHJlYW1zKHZvaWQpIHsKKyAJc3RydWN0IHN0cmVhbV9saXN0ICpkcCwgKnVwOworIAlpbnQgaTsKKy0JaXNjX2Jvb2xlYW5fdCBsaW5rX2lzX3NldDsKKysJYm9vbCBsaW5rX2lzX3NldDsKKyAKKyAJZm9yIChkcCA9IGRvd25zdHJlYW1zOyBkcDsgZHAgPSBkcC0+bmV4dCkgeworIAkJLyogQ2hlY2sgaW50ZXJmYWNlICovCitAQCAtMTU3OSw5ICsxNTc5LDkgQEAgc2V0dXBfc3RyZWFtcyh2b2lkKSB7CisgCisgCQkvKiBDaGVjay9zZXQgbGluay4gKi8KKyAJCWlmIChJTjZfSVNfQUREUl9VTlNQRUNJRklFRCgmZHAtPmxpbmsuc2luNl9hZGRyKSkKKy0JCQlsaW5rX2lzX3NldCA9IElTQ19GQUxTRTsKKysJCQlsaW5rX2lzX3NldCA9IGZhbHNlOworIAkJZWxzZQorLQkJCWxpbmtfaXNfc2V0ID0gSVNDX1RSVUU7CisrCQkJbGlua19pc19zZXQgPSB0cnVlOworIAkJZm9yIChpID0gMDsgaSA8IGRwLT5pZnAtPnY2YWRkcmVzc19jb3VudDsgaSsrKSB7CisgCQkJaWYgKElONl9JU19BRERSX0xJTktMT0NBTCgmZHAtPmlmcC0+djZhZGRyZXNzZXNbaV0pKQorIAkJCQljb250aW51ZTsKK0BAIC0yMDc2LDcgKzIwNzYsNyBAQCBkaGNwX3NldF9jb250cm9sX3N0YXRlKGNvbnRyb2xfb2JqZWN0X3N0CisgCWlmIChuZXdzdGF0ZSAhPSBzZXJ2ZXJfc2h1dGRvd24pCisgCQlyZXR1cm4gSVNDX1JfU1VDQ0VTUzsKKyAKKy0JaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJaWYgKG5vX3BpZF9maWxlID09IGZhbHNlKQorIAkJKHZvaWQpIHVubGluayhwYXRoX2RoY3JlbGF5X3BpZCk7CisgCisgCWlmICghbm9fZGFlbW9uICYmIGRmZFswXSAhPSAtMSAmJiBkZmRbMV0gIT0gLTEpIHsKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9kaGNwLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaGNwLTQuNC4xLm9yaWcvc2VydmVyL2RoY3AuYworKysrIGRoY3AtNC40LjEvc2VydmVyL2RoY3AuYworQEAgLTIyNSw3ICsyMjUsNyBAQCBkaGNwIChzdHJ1Y3QgcGFja2V0ICpwYWNrZXQpIHsKKyAJCQlwYWNrZXQtPm9wdGlvbnMtPnVuaXZlcnNlX2NvdW50ID0KKyAJCQkJCQlhZ2VudF91bml2ZXJzZS5pbmRleCArIDE7CisgCistCQlwYWNrZXQtPmFnZW50X29wdGlvbnNfc3Rhc2hlZCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5hZ2VudF9vcHRpb25zX3N0YXNoZWQgPSB0cnVlOworIAl9CisgICAgICAgbm9sZWFzZToKKyAKK0BAIC0xMDk0LDcgKzEwOTQsNyBAQCB2b2lkIGRoY3BpbmZvcm0gKHBhY2tldCwgbXNfbnVsbHRwKQorIAlpbnQgbnVsbHRwOworIAlzdHJ1Y3Qgc29ja2FkZHJfaW4gdG87CisgCXN0cnVjdCBpbl9hZGRyIGZyb207CistCWlzY19ib29sZWFuX3QgemVyb2VkX2NpYWRkcjsKKysJYm9vbCB6ZXJvZWRfY2lhZGRyOworIAlzdHJ1Y3QgaW50ZXJmYWNlX2luZm8gKmludGVyZmFjZTsKKyAJaW50IHJlc3VsdCwgaF9tX2NsaWVudF9pcCA9IDA7CisgCXN0cnVjdCBob3N0X2RlY2wgICpob3N0ID0gTlVMTCwgKmhwID0gTlVMTCwgKmg7CitAQCAtMTEwOSw3ICsxMTA5LDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJICAgaXQncyBjb21tb24gZm9yIGNsaWVudHMgbm90IHRvIGRvIHRoaXMsIHNvIHdlJ2xsIHVzZSB0aGVpciBJUAorIAkgICBzb3VyY2UgYWRkcmVzcyBpZiB0aGV5IGRpZG4ndCBzZXQgY2lhZGRyLiAqLworIAlpZiAoIXBhY2tldC0+cmF3LT5jaWFkZHIuc19hZGRyKSB7CistCQl6ZXJvZWRfY2lhZGRyID0gSVNDX1RSVUU7CisrCQl6ZXJvZWRfY2lhZGRyID0gdHJ1ZTsKKyAJCS8qIFdpdGggREhDUHY0LW92ZXItREhDUHY2IGl0IGNhbiBiZSBhbiBJUHY2IGFkZHJlc3MKKyAJCSAgIHNvIHdlIGNoZWNrIGl0cyBsZW5ndGguICovCisgCQlpZiAocGFja2V0LT5jbGllbnRfYWRkci5sZW4gPT0gNCkgeworQEAgLTExMjIsNyArMTEyMiw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCQkJYWRkcl90eXBlID0gInY0bzYiOworIAkJfQorIAl9IGVsc2UgeworLQkJemVyb2VkX2NpYWRkciA9IElTQ19GQUxTRTsKKysJCXplcm9lZF9jaWFkZHIgPSBmYWxzZTsKKyAJCWNpcC5sZW4gPSA0OworIAkJbWVtY3B5KGNpcC5pYWJ1ZiwgJnBhY2tldC0+cmF3LT5jaWFkZHIsIDQpOworIAkJYWRkcl90eXBlID0gImNsaWVudCI7CitAQCAtMTEzMyw3ICsxMTMzLDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJaWYgKHBhY2tldC0+cmF3LT5naWFkZHIuc19hZGRyKSB7CisgCQlnaXAubGVuID0gNDsKKyAJCW1lbWNweShnaXAuaWFidWYsICZwYWNrZXQtPnJhdy0+Z2lhZGRyLCA0KTsKKy0JCWlmICh6ZXJvZWRfY2lhZGRyID09IElTQ19UUlVFKSB7CisrCQlpZiAoemVyb2VkX2NpYWRkciA9PSB0cnVlKSB7CisgCQkJYWRkcl90eXBlID0gInJlbGF5IjsKKyAJCQltZW1jcHkoc2lwLmlhYnVmLCBnaXAuaWFidWYsIDQpOworIAkJfQorQEAgLTEyMDcsNyArMTIwNyw3IEBAIHZvaWQgZGhjcGluZm9ybSAocGFja2V0LCBtc19udWxsdHApCisgCQlzYXZlX29wdGlvbigmZGhjcF91bml2ZXJzZSwgb3B0aW9ucywgbm9jKTsKKyAJCW9wdGlvbl9jYWNoZV9kZXJlZmVyZW5jZSgmbm9jLCBNREwpOworIAorLQkJaWYgKCh6ZXJvZWRfY2lhZGRyID09IElTQ19UUlVFKSAmJiAoZ2lwLmxlbiAhPSAwKSkKKysJCWlmICgoemVyb2VkX2NpYWRkciA9PSB0cnVlKSAmJiAoZ2lwLmxlbiAhPSAwKSkKKyAJCQlhZGRyX3R5cGUgPSAicmVsYXkgbGluayBzZWxlY3QiOworIAkJZWxzZQorIAkJCWFkZHJfdHlwZSA9ICJzZWxlY3RlZCI7CitAQCAtMTI2MSw3ICsxMjYxLDcgQEAgdm9pZCBkaGNwaW5mb3JtIChwYWNrZXQsIG1zX251bGx0cCkKKyAJCQkJICAgIE5VTEwsIE5VTEwpOworIAorIAkvKiBJZiB3ZSBoYXZlIGNpYWRkciwgZmluZCBpdHMgbGVhc2Ugc28gd2UgY2FuIGZpbmQgaXRzIHBvb2wuICovCistCWlmICh6ZXJvZWRfY2lhZGRyID09IElTQ19GQUxTRSkgeworKwlpZiAoemVyb2VkX2NpYWRkciA9PSBmYWxzZSkgeworIAkJc3RydWN0IGxlYXNlKiBjaXBfbGVhc2UgPSBOVUxMOworIAorIAkJZmluZF9sZWFzZV9ieV9pcF9hZGRyICgmY2lwX2xlYXNlLCBjaXAsIE1ETCk7CitAQCAtMjAzNiw3ICsyMDM2LDcgQEAgdm9pZCBlY2hvX2NsaWVudF9pZChwYWNrZXQsIGxlYXNlLCBpbl9vcAorIAkJdW5zaWduZWQgaW50IG9wY29kZSA9IERIT19ESENQX0NMSUVOVF9JREVOVElGSUVSOworIAorIAkJLyogU2F2ZSBrbm93bGVkZ2UgdGhhdCBlY2hvIGlzIGVuYWJsZWQgdG8gdGhlIHBhY2tldCAqLworLQkJcGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9IElTQ19UUlVFOworKwkJcGFja2V0LT5zdl9lY2hvX2NsaWVudF9pZCA9IHRydWU7CisgCisgCQkvKiBOb3cgc2VlIGlmIGluYm91bmQgcGFja2V0IGNvbnRhaW5zIGNsaWVudC1pZCAqLworIAkJb2MgPSBsb29rdXBfb3B0aW9uKCZkaGNwX3VuaXZlcnNlLCBwYWNrZXQtPm9wdGlvbnMsIG9wY29kZSk7CitAQCAtMjE4Nyw3ICsyMTg3LDcgQEAgdm9pZCBhY2tfbGVhc2UgKHBhY2tldCwgbGVhc2UsIG9mZmVyLCB3aAorIAlzdHJ1Y3QgaWFkZHIgY2lwOworICNpZiBkZWZpbmVkKERFTEFZRURfQUNLKQorIAkvKiBCeSBkZWZhdWx0IHdlIGRvbid0IGRvIHRoZSBlbnF1ZXVlICovCistCWlzY19ib29sZWFuX3QgZW5xdWV1ZSA9IElTQ19GQUxTRTsKKysJYm9vbCBlbnF1ZXVlID0gZmFsc2U7CisgI2VuZGlmCisgCWludCB1c2Vfb2xkX2xlYXNlID0gMDsKKyAKK0BAIC0zMjE3LDcgKzMyMTcsNyBAQCB2b2lkIGFja19sZWFzZSAocGFja2V0LCBsZWFzZSwgb2ZmZXIsIHdoCisgCQkgKiBjYW4ganVzdCBhbnN3ZXIgcmlnaHQgYXdheSwgc2V0IGEgZmxhZyB0byBpbmRpY2F0ZSB0aGlzLgorIAkJICovCisgCQlpZiAoY29tbWl0KQorLQkJCWVucXVldWUgPSBJU0NfVFJVRTsKKysJCQllbnF1ZXVlID0gdHJ1ZTsKKyAKKyAJCS8qIEluc3RhbGwgdGhlIG5ldyBpbmZvcm1hdGlvbiBvbiAnbHQnIG9udG8gdGhlIGxlYXNlIGF0CisgCQkgKiAnbGVhc2UnLiAgV2Ugd2lsbCBub3QgJ2NvbW1pdCcgdGhpcyBpbmZvcm1hdGlvbiB0byBkaXNrCitAQCAtNDIzNCw3ICs0MjM0LDcgQEAgaW50IGZpbmRfbGVhc2UgKHN0cnVjdCBsZWFzZSAqKmxwLAorIAkgKiBwcmVmZXJlbmNlLCBzbyB0aGUgZmlyc3Qgb25lIGlzIHRoZSBiZXN0IG9uZS4KKyAJICovCisgCXdoaWxlICh1aWRfbGVhc2UpIHsKKy0JCWlzY19ib29sZWFuX3QgZG9fcmVsZWFzZSA9ICFwYWNrZXQtPnJhdy0+Y2lhZGRyLnNfYWRkcjsKKysJCWJvb2wgZG9fcmVsZWFzZSA9ICFwYWNrZXQtPnJhdy0+Y2lhZGRyLnNfYWRkcjsKKyAjaWYgZGVmaW5lZCAoREVCVUdfRklORF9MRUFTRSkKKyAJCWxvZ19pbmZvICgidHJ5aW5nIG5leHQgbGVhc2UgbWF0Y2hpbmcgY2xpZW50IGlkOiAlcyIsCisgCQkJICBwaWFkZHIgKHVpZF9sZWFzZSAtPiBpcF9hZGRyKSk7CitAQCAtNDI2Nyw3ICs0MjY3LDcgQEAgaW50IGZpbmRfbGVhc2UgKHN0cnVjdCBsZWFzZSAqKmxwLAorICNlbmRpZgorIAkJCS8qIEFsbG93IG11bHRpcGxlIGxlYXNlcyB1c2luZyB0aGUgc2FtZSBVSUQKKyAJCQkgICBvbiBkaWZmZXJlbnQgc3VibmV0d29ya3MuICovCistCQkJZG9fcmVsZWFzZSA9IElTQ19GQUxTRTsKKysJCQlkb19yZWxlYXNlID0gZmFsc2U7CisgCQkJZ290byBuX3VpZDsKKyAJCX0KKyAKK0BAIC01MzMxLDcgKzUzMzEsNyBAQCBnZXRfc2VydmVyX3NvdXJjZV9hZGRyZXNzKHN0cnVjdCBpbl9hZGRyCisgCXN0cnVjdCBvcHRpb25fY2FjaGUgKm9jID0gTlVMTDsKKyAJc3RydWN0IGRhdGFfc3RyaW5nIGQ7CisgCXN0cnVjdCBpbl9hZGRyICphID0gTlVMTDsKKy0JaXNjX2Jvb2xlYW5fdCBmb3VuZCA9IElTQ19GQUxTRTsKKysJYm9vbCBmb3VuZCA9IGZhbHNlOworIAlpbnQgYWxsb2NhdGUgPSAwOworIAorIAltZW1zZXQoJmQsIDAsIHNpemVvZihkKSk7CitAQCAtNTM0NCw3ICs1MzQ0LDcgQEAgZ2V0X3NlcnZlcl9zb3VyY2VfYWRkcmVzcyhzdHJ1Y3QgaW5fYWRkcgorIAkJCQkJICBwYWNrZXQtPm9wdGlvbnMsIG9wdGlvbnMsIAorIAkJCQkJICAmZ2xvYmFsX3Njb3BlLCBvYywgTURMKSkgeworIAkJCWlmIChkLmxlbiA9PSBzaXplb2YoKmZyb20pKSB7CistCQkJCWZvdW5kID0gSVNDX1RSVUU7CisrCQkJCWZvdW5kID0gdHJ1ZTsKKyAJCQkJbWVtY3B5KGZyb20sIGQuZGF0YSwgc2l6ZW9mKCpmcm9tKSk7CisgCisgCQkJCS8qCitAQCAtNTM2Miw3ICs1MzYyLDcgQEAgZ2V0X3NlcnZlcl9zb3VyY2VfYWRkcmVzcyhzdHJ1Y3QgaW5fYWRkcgorIAkJb2MgPSBOVUxMOworIAl9CisgCistCWlmICgoZm91bmQgPT0gSVNDX0ZBTFNFKSAmJgorKwlpZiAoKGZvdW5kID09IGZhbHNlKSAmJgorIAkgICAgKHBhY2tldC0+aW50ZXJmYWNlLT5hZGRyZXNzX2NvdW50ID4gMCkpIHsKKyAJCSpmcm9tID0gcGFja2V0LT5pbnRlcmZhY2UtPmFkZHJlc3Nlc1swXTsKKyAKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9mYWlsb3Zlci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9mYWlsb3Zlci5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZmFpbG92ZXIuYworQEAgLTQ1LDcgKzQ1LDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBmYWlsb3Zlcl9tZXNzYWdlX2RlcgorIHN0YXRpYyB2b2lkIGRoY3BfZmFpbG92ZXJfcG9vbF9iYWxhbmNlKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUpOworIHN0YXRpYyB2b2lkIGRoY3BfZmFpbG92ZXJfcG9vbF9yZXFiYWxhbmNlKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUpOworIHN0YXRpYyBpbnQgZGhjcF9mYWlsb3Zlcl9wb29sX2RvYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorLQkJCQkJaXNjX2Jvb2xlYW5fdCAqc2VuZHJlcSk7CisrCQkJCQlib29sICpzZW5kcmVxKTsKKyBzdGF0aWMgaW5saW5lIGludCBzZWNvbmRhcnlfbm90X2hvYXJkaW5nKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUsCisgCQkJCQkgc3RydWN0IHBvb2wgKnApOworIHN0YXRpYyB2b2lkIHNjcnViX2xlYXNlKHN0cnVjdCBsZWFzZSogbGVhc2UsIGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lKTsKK0BAIC0yNDY0LDcgKzI0NjQsNyBAQCB2b2lkCisgZGhjcF9mYWlsb3Zlcl9wb29sX3JlYmFsYW5jZSh2b2lkICpmYWlsb3Zlcl9zdGF0ZSkKKyB7CisgCWRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGU7CistCWlzY19ib29sZWFuX3Qgc2VuZHJlcSA9IElTQ19GQUxTRTsKKysJYm9vbCBzZW5kcmVxID0gZmFsc2U7CisgCisgCXN0YXRlID0gKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqKWZhaWxvdmVyX3N0YXRlOworIAorQEAgLTI1MTIsNyArMjUxMiw3IEBAIGRoY3BfZmFpbG92ZXJfcG9vbF9yZXFiYWxhbmNlKGRoY3BfZmFpbG8KKyAgKi8KKyBzdGF0aWMgaW50CisgZGhjcF9mYWlsb3Zlcl9wb29sX2RvYmFsYW5jZShkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLAorLQkJCSAgICBpc2NfYm9vbGVhbl90ICpzZW5kcmVxKQorKwkJCSAgICBib29sICpzZW5kcmVxKQorIHsKKyAJaW50IGx0cywgdG90YWwsIHRocmVzaCwgaG9sZCwgcGFuaWMsIHBhc3M7CisgCWludCBsZWFzZXNfcXVldWVkID0gMDsKK0BAIC0yNTgxLDcgKzI1ODEsNyBAQCBkaGNwX2ZhaWxvdmVyX3Bvb2xfZG9iYWxhbmNlKGRoY3BfZmFpbG92CisgCisgCQlpZiAoKHNlbmRyZXEgIT0gTlVMTCkgJiYgKGx0cyA8IHBhbmljKSkgeworIAkJCXJlcWxvZyA9ICIgIChyZXF1ZXN0aW5nIHBlZXIgcmViYWxhbmNlISkiOworLQkJCSpzZW5kcmVxID0gSVNDX1RSVUU7CisrCQkJKnNlbmRyZXEgPSB0cnVlOworIAkJfSBlbHNlCisgCQkJcmVxbG9nID0gIiI7CisgCitAQCAtNTExMSw3ICs1MTExLDcgQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfc2VuZF91cGRhdGVfZAorICAqIGEgbW9yZSBkZXRhaWxlZCBzeXN0ZW0gb2YgcHJlZmVyZW5jZXMgaXMgcmVxdWlyZWQsIHNvIHRoaXMgaXMgc29tZXRoaW5nIHdlCisgICogc2hvdWxkIG1vbml0b3IgYXMgd2UgZ2FpbiBleHBlcmllbmNlIHdpdGggdGhlc2UgZHVlbGluZyBldmVudHMuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGZhaWxvdmVyX2xlYXNlX2lzX2JldHRlcihkaGNwX2ZhaWxvdmVyX3N0YXRlX3QgKnN0YXRlLCBzdHJ1Y3QgbGVhc2UgKmxlYXNlLAorIAkJCSBmYWlsb3Zlcl9tZXNzYWdlX3QgKm1zZykKKyB7CitAQCAtNTEzMiwxNSArNTEzMiwxNSBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCSAgICAgIGNhc2UgRlRTX0FDVElWRToKKyAJCWlmIChtc2ctPmJpbmRpbmdfc3RhdHVzID09IEZUU19BQ1RJVkUpIHsKKyAJCQlpZiAobXNnX2NsdHQgPCBsZWFzZS0+Y2x0dCkKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQllbHNlIGlmIChtc2dfY2x0dCA+IGxlYXNlLT5jbHR0KQorLQkJCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJCQlyZXR1cm4gZmFsc2U7CisgCQkJZWxzZSBpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSkKKy0JCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCQlyZXR1cm4gdHJ1ZTsKKyAJCQllbHNlCistCQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJCXJldHVybiBmYWxzZTsKKyAJCX0gZWxzZSBpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfRVhQSVJFRCkgeworLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAkJLyogRkFMTCBUSFJPVUdIICovCisgCitAQCAtNTE1MSwxMSArNTE1MSwxMSBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCSAgICAgIGNhc2UgRlRTX0FCQU5ET05FRDoKKyAJICAgICAgY2FzZSBGVFNfUkVTRVQ6CisgCQlpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUNUSVZFKQorLQkJCXJldHVybiBJU0NfRkFMU0U7CisrCQkJcmV0dXJuIGZhbHNlOworIAkJZWxzZSBpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCQllbHNlCistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQkvKiBGQUxMIFRIUk9VR0ggdG8gaW1wb3NzaWJsZSBjb25kaXRpb24gKi8KKyAKKyAJICAgICAgZGVmYXVsdDoKK0BAIC01MTY0LDcgKzUxNjQsNyBAQCBmYWlsb3Zlcl9sZWFzZV9pc19iZXR0ZXIoZGhjcF9mYWlsb3Zlcl9zCisgCisgCWxvZ19mYXRhbCgiSW1wb3NzaWJsZSBjb25kaXRpb24gYXQgJXM6JWQuIiwgTURMKTsKKyAJLyogU2lsZW5jZSBjb21waWxlciB3YXJuaW5nLiAqLworLQlyZXR1cm4gSVNDX0ZBTFNFOworKwlyZXR1cm4gZmFsc2U7CisgfQorIAorIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF91cGRhdGUgKGRoY3BfZmFpbG92ZXJfc3RhdGVfdCAqc3RhdGUsCitAQCAtNTE3Nyw4ICs1MTc3LDggQEAgaXNjX3Jlc3VsdF90IGRoY3BfZmFpbG92ZXJfcHJvY2Vzc19iaW5kXworIAlpbnQgbmV3X2JpbmRpbmdfc3RhdGU7CisgCWludCBzZW5kX3RvX2JhY2t1cCA9IDA7CisgCWludCByZXF1aXJlZF9vcHRpb25zOworLQlpc2NfYm9vbGVhbl90IGNoYWRkcl9jaGFuZ2VkID0gSVNDX0ZBTFNFOworLQlpc2NfYm9vbGVhbl90IGlkZW50X2NoYW5nZWQgPSBJU0NfRkFMU0U7CisrCWJvb2wgY2hhZGRyX2NoYW5nZWQgPSBmYWxzZTsKKysJYm9vbCBpZGVudF9jaGFuZ2VkID0gZmFsc2U7CisgCisgCS8qIFZhbGlkYXRlIHRoZSBiaW5kaW5nIHVwZGF0ZS4gKi8KKyAJcmVxdWlyZWRfb3B0aW9ucyA9IEZUQl9BU1NJR05FRF9JUF9BRERSRVNTIHwgRlRCX0JJTkRJTkdfU1RBVFVTOworQEAgLTUyNTAsNyArNTI1MCw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJCWlmICgobHQtPmhhcmR3YXJlX2FkZHIuaGxlbiAhPSBtc2ctPmNoYWRkci5jb3VudCkgfHwKKyAJCSAgICAobWVtY21wKGx0LT5oYXJkd2FyZV9hZGRyLmhidWYsIG1zZy0+Y2hhZGRyLmRhdGEsCisgCQkJICAgIG1zZy0+Y2hhZGRyLmNvdW50KSAhPSAwKSkKKy0JCQljaGFkZHJfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJCWNoYWRkcl9jaGFuZ2VkID0gdHJ1ZTsKKyAKKyAJCWx0IC0+IGhhcmR3YXJlX2FkZHIuaGxlbiA9IG1zZyAtPiBjaGFkZHIuY291bnQ7CisgCQltZW1jcHkgKGx0IC0+IGhhcmR3YXJlX2FkZHIuaGJ1ZiwgbXNnIC0+IGNoYWRkci5kYXRhLAorQEAgLTUyNjIsNyArNTI2Miw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJCXJlYXNvbiA9IEZUUl9NSVNTSU5HX0JJTkRJTkZPOworIAkJZ290byBiYWQ7CisgCX0gZWxzZSBpZiAobXNnLT5iaW5kaW5nX3N0YXR1cyA9PSBGVFNfQUJBTkRPTkVEKSB7CistCQljaGFkZHJfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJY2hhZGRyX2NoYW5nZWQgPSB0cnVlOworIAkJbHQtPmhhcmR3YXJlX2FkZHIuaGxlbiA9IDA7CisgCQlpZiAobHQtPnNjb3BlKQorIAkJCWJpbmRpbmdfc2NvcGVfZGVyZWZlcmVuY2UoJmx0LT5zY29wZSwgTURMKTsKK0BAIC01MjgyLDcgKzUyODIsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQkgICAgKGx0LT51aWQgPT0gTlVMTCkgfHwgLyogU2FuaXR5OyBzaG91bGQgbmV2ZXIgaGFwcGVuLiAqLworIAkJICAgIChtZW1jbXAobHQtPnVpZCwgbXNnLT5jbGllbnRfaWRlbnRpZmllci5kYXRhLAorIAkJCSAgICBsdC0+dWlkX2xlbikgIT0gMCkpCistCQkJaWRlbnRfY2hhbmdlZCA9IElTQ19UUlVFOworKwkJCWlkZW50X2NoYW5nZWQgPSB0cnVlOworIAorIAkJbHQtPnVpZF9sZW4gPSBtc2ctPmNsaWVudF9pZGVudGlmaWVyLmNvdW50OworIAorQEAgLTUzMTIsNyArNTMxMiw3IEBAIGlzY19yZXN1bHRfdCBkaGNwX2ZhaWxvdmVyX3Byb2Nlc3NfYmluZF8KKyAJfSBlbHNlIGlmIChsdC0+dWlkICYmIG1zZy0+YmluZGluZ19zdGF0dXMgIT0gRlRTX1JFU0VUICYmCisgCQkgICBtc2ctPmJpbmRpbmdfc3RhdHVzICE9IEZUU19GUkVFICYmCisgCQkgICBtc2ctPmJpbmRpbmdfc3RhdHVzICE9IEZUU19CQUNLVVApIHsKKy0JCWlkZW50X2NoYW5nZWQgPSBJU0NfVFJVRTsKKysJCWlkZW50X2NoYW5nZWQgPSB0cnVlOworIAkJaWYgKGx0LT51aWQgIT0gbHQtPnVpZF9idWYpCisgCQkJZGZyZWUgKGx0LT51aWQsIE1ETCk7CisgCQlsdC0+dWlkID0gTlVMTDsKK0BAIC01MzQ3LDcgKzUzNDcsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCWlmIChtc2ctPmJpbmRpbmdfc3RhdHVzID09IEZUU19BQ1RJVkUgJiYKKyAJICAgIChjaGFkZHJfY2hhbmdlZCB8fCBpZGVudF9jaGFuZ2VkKSkgeworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBJU0NfRkFMU0UpOworKwkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYgLyogTlNVUERBVEUgKi8KKyAKKyAJCWlmIChsZWFzZS0+c2NvcGUgIT0gTlVMTCkKK0BAIC01NTM0LDcgKzU1MzQsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCXN0cnVjdCBpYWRkciBpYTsKKyAJY29uc3QgY2hhciAqbWVzc2FnZSA9ICJubyBtZW1vcnkiOworIAl1X2ludDMyX3QgcG90X2V4cGlyZTsKKy0JaW50IHNlbmRfdG9fYmFja3VwID0gSVNDX0ZBTFNFOworKwlpbnQgc2VuZF90b19iYWNrdXAgPSBmYWxzZTsKKyAJc3RydWN0IHRpbWV2YWwgdHY7CisgCisgCWlhLmxlbiA9IHNpemVvZiBtc2cgLT4gYXNzaWduZWRfYWRkcjsKK0BAIC01NjIxLDcgKzU2MjEsNyBAQCBpc2NfcmVzdWx0X3QgZGhjcF9mYWlsb3Zlcl9wcm9jZXNzX2JpbmRfCisgCQlpZiAoc3RhdGUtPmlfYW0gPT0gcHJpbWFyeSAmJgorIAkJICAgICEobGVhc2UtPmZsYWdzICYgKFJFU0VSVkVEX0xFQVNFIHwgQk9PVFBfTEVBU0UpKSAmJgorIAkJICAgIHBlZXJfd2FudHNfbGVhc2UobGVhc2UpKQorLQkJCXNlbmRfdG9fYmFja3VwID0gSVNDX1RSVUU7CisrCQkJc2VuZF90b19iYWNrdXAgPSB0cnVlOworIAorIAkJaWYgKCFzZW5kX3RvX2JhY2t1cCAmJiBzdGF0ZS0+bWUuc3RhdGUgPT0gbm9ybWFsKQorIAkJCWNvbW1pdF9sZWFzZXMoKTsKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9kaGNwZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kaGNwZC5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvZGhjcGQuYworQEAgLTk4LDcgKzk4LDcgQEAgY29uc3QgY2hhciAqcGF0aF9kaGNwZF9jb25mID0gX1BBVEhfREhDUAorIGNvbnN0IGNoYXIgKnBhdGhfZGhjcGRfZGIgPSBfUEFUSF9ESENQRF9EQjsKKyBjb25zdCBjaGFyICpwYXRoX2RoY3BkX3BpZCA9IF9QQVRIX0RIQ1BEX1BJRDsKKyAvKiBGYWxzZSAoZGVmYXVsdCkgPT4gd2Ugd3JpdGUgYW5kIHVzZSBhIHBpZCBmaWxlICovCistaXNjX2Jvb2xlYW5fdCBub19waWRfZmlsZSA9IElTQ19GQUxTRTsKKytib29sIG5vX3BpZF9maWxlID0gZmFsc2U7CisgCisgaW50IGRoY3BfbWF4X2FnZW50X29wdGlvbl9wYWNrZXRfbGVuZ3RoID0gREhDUF9NVFVfTUFYOworIAorQEAgLTQ3Niw3ICs0NzYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkJCXBhdGhfZGhjcGRfcGlkID0gYXJndiBbaV07CisgCQkJaGF2ZV9kaGNwZF9waWQgPSAxOworIAkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLW5vLXBpZCIpKSB7CistCQkJbm9fcGlkX2ZpbGUgPSBJU0NfVFJVRTsKKysJCQlub19waWRfZmlsZSA9IHRydWU7CisgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXN0cmNtcCAoYXJndiBbaV0sICItdCIpKSB7CisgCQkJLyogdGVzdCBjb25maWd1cmF0aW9ucyBvbmx5ICovCisgI2lmbmRlZiBERUJVRworQEAgLTg2Myw3ICs4NjMsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworIAkgKiAtIHdlIGRvbid0IGhhdmUgYSBwaWQgZmlsZSB0byBjaGVjaworIAkgKiAtIHRoZXJlIGlzIG5vIG90aGVyIHByb2Nlc3MgcnVubmluZworIAkgKi8KKy0JaWYgKChsZnRlc3QgPT0gMCkgJiYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkpIHsKKysJaWYgKChsZnRlc3QgPT0gMCkgJiYgKG5vX3BpZF9maWxlID09IGZhbHNlKSkgeworIAkJLypSZWFkIHByZXZpb3VzIHBpZCBmaWxlLiAqLworIAkJaWYgKChpID0gb3BlbihwYXRoX2RoY3BkX3BpZCwgT19SRE9OTFkpKSA+PSAwKSB7CisgCQkJc3RhdHVzID0gcmVhZChpLCBwYnVmLCAoc2l6ZW9mIHBidWYpIC0gMSk7CitAQCAtOTc0LDcgKzk3NCw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgCSAqIHRoYXQgd2UgaGF2ZSBmb3JrZWQgd2UgY2FuIHdyaXRlIG91ciBwaWQgaWYKKyAJICogYXBwcm9wcmlhdGUuCisgCSAqLworLQlpZiAobm9fcGlkX2ZpbGUgPT0gSVNDX0ZBTFNFKSB7CisrCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkgeworIAkJaSA9IG9wZW4ocGF0aF9kaGNwZF9waWQsIE9fV1JPTkxZfE9fQ1JFQVR8T19UUlVOQywgMDY0NCk7CisgCQlpZiAoaSA+PSAwKSB7CisgCQkJc3ByaW50ZihwYnVmLCAiJWRcbiIsIChpbnQpIGdldHBpZCgpKTsKK0BAIC0xNzMwLDcgKzE3MzAsNyBAQCBzdGF0aWMgaXNjX3Jlc3VsdF90IGRoY3BfaW9fc2h1dGRvd25fY291CisgCSAgICBmcmVlX2V2ZXJ5dGhpbmcgKCk7CisgCSAgICBvbWFwaV9wcmludF9kbWFsbG9jX3VzYWdlX2J5X2NhbGxlciAoKTsKKyAjZW5kaWYKKy0JICAgIGlmIChub19waWRfZmlsZSA9PSBJU0NfRkFMU0UpCisrCSAgICBpZiAobm9fcGlkX2ZpbGUgPT0gZmFsc2UpCisgCQkgICAgKHZvaWQpIHVubGluayhwYXRoX2RoY3BkX3BpZCk7CisgCSAgICBleGl0ICgwKTsKKyAJfQorQEAgLTE3NDEsNyArMTc0MSw3IEBAIHN0YXRpYyBpc2NfcmVzdWx0X3QgZGhjcF9pb19zaHV0ZG93bl9jb3UKKyAJCWZyZWVfZXZlcnl0aGluZyAoKTsKKyAJCW9tYXBpX3ByaW50X2RtYWxsb2NfdXNhZ2VfYnlfY2FsbGVyICgpOworICNlbmRpZgorLQkJaWYgKG5vX3BpZF9maWxlID09IElTQ19GQUxTRSkKKysJCWlmIChub19waWRfZmlsZSA9PSBmYWxzZSkKKyAJCQkodm9pZCkgdW5saW5rKHBhdGhfZGhjcGRfcGlkKTsKKyAJCWV4aXQgKDApOworIAl9CitAQCAtMTc1MCw3ICsxNzUwLDcgQEAgc3RhdGljIGlzY19yZXN1bHRfdCBkaGNwX2lvX3NodXRkb3duX2NvdQorICNpZiBkZWZpbmVkKEZBSUxPVkVSX1BST1RPQ09MKQorIAkgICAgIWZhaWxvdmVyX2Nvbm5lY3Rpb25fY291bnQgJiYKKyAjZW5kaWYKKy0JICAgIElTQ19UUlVFKSB7CisrCSAgICB0cnVlKSB7CisgCQlzaHV0ZG93bl9zdGF0ZSA9IHNodXRkb3duX2RvbmU7CisgCQlzaHV0ZG93bl90aW1lID0gY3VyX3RpbWU7CisgCQlnb3RvIG9uY2Vtb3JlOworSW5kZXg6IGRoY3AtNC40LjEvc2VydmVyL21kYjYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvbWRiNi5jCisrKysgZGhjcC00LjQuMS9zZXJ2ZXIvbWRiNi5jCitAQCAtNTE0LDEwICs1MTQsMTAgQEAgaWFfcmVtb3ZlX2FsbF9sZWFzZShzdHJ1Y3QgaWFfeHggKmlhLCBjbworIC8qCisgICogQ29tcGFyZSB0d28gSUEuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBpYV9lcXVhbChjb25zdCBzdHJ1Y3QgaWFfeHggKmEsIGNvbnN0IHN0cnVjdCBpYV94eCAqYikgCisgeworLQlpc2NfYm9vbGVhbl90IGZvdW5kOworKwlib29sIGZvdW5kOworIAlpbnQgaSwgajsKKyAKKyAJLyoKK0BAIC01MjUsOSArNTI1LDkgQEAgaWFfZXF1YWwoY29uc3Qgc3RydWN0IGlhX3h4ICphLCBjb25zdCBzdAorIAkgKi8KKyAJaWYgKGEgPT0gTlVMTCkgeworIAkJaWYgKGIgPT0gTlVMTCkgeworLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAJCX0gZWxzZSB7CistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0JCisgCitAQCAtNTM1LDU4ICs1MzUsNTggQEAgaWFfZXF1YWwoY29uc3Qgc3RydWN0IGlhX3h4ICphLCBjb25zdCBzdAorIAkgKiBDaGVjayB0aGUgdHlwZSBpcyB0aGUgc2FtZS4KKyAJICovCisgCWlmIChhLT5pYV90eXBlICE9IGItPmlhX3R5cGUpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogQ2hlY2sgdGhlIERVSUQgaXMgdGhlIHNhbWUuCisgCSAqLworIAlpZiAoYS0+aWFpZF9kdWlkLmxlbiAhPSBiLT5pYWlkX2R1aWQubGVuKSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgCWlmIChtZW1jbXAoYS0+aWFpZF9kdWlkLmRhdGEsIAorIAkJICAgYi0+aWFpZF9kdWlkLmRhdGEsIGEtPmlhaWRfZHVpZC5sZW4pICE9IDApIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogTWFrZSBzdXJlIHdlIGhhdmUgdGhlIHNhbWUgbnVtYmVyIG9mIGFkZHJlc3Nlcy9wcmVmaXhlcyBpbiBlYWNoLgorIAkgKi8KKyAJaWYgKGEtPm51bV9pYXN1Ym9wdCAhPSBiLT5udW1faWFzdWJvcHQpIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJLyoKKyAJICogQ2hlY2sgdGhhdCBlYWNoIGFkZHJlc3MvcHJlZml4IGlzIHByZXNlbnQgaW4gYm90aC4KKyAJICovCisgCWZvciAoaT0wOyBpPGEtPm51bV9pYXN1Ym9wdDsgaSsrKSB7CistCQlmb3VuZCA9IElTQ19GQUxTRTsKKysJCWZvdW5kID0gZmFsc2U7CisgCQlmb3IgKGo9MDsgajxhLT5udW1faWFzdWJvcHQ7IGorKykgeworIAkJCWlmIChhLT5pYXN1Ym9wdFtpXS0+cGxlbiAhPSBiLT5pYXN1Ym9wdFtpXS0+cGxlbikKKyAJCQkJY29udGludWU7CisgCQkJaWYgKG1lbWNtcCgmKGEtPmlhc3Vib3B0W2ldLT5hZGRyKSwKKyAJCQkgICAgICAgICAgICYoYi0+aWFzdWJvcHRbal0tPmFkZHIpLCAKKyAJCQkJICAgc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcikpID09IDApIHsKKy0JCQkJZm91bmQgPSBJU0NfVFJVRTsKKysJCQkJZm91bmQgPSB0cnVlOworIAkJCQlicmVhazsKKyAJCQl9CisgCQl9CisgCQlpZiAoIWZvdW5kKSB7CistCQkJcmV0dXJuIElTQ19GQUxTRTsKKysJCQlyZXR1cm4gZmFsc2U7CisgCQl9CisgCX0KKyAKKyAJLyoKKyAJICogVGhlc2UgYXJlIHRoZSBzYW1lIGluIGV2ZXJ5IHdheSB3ZSBjYXJlIGFib3V0LgorIAkgKi8KKy0JcmV0dXJuIElTQ19UUlVFOworKwlyZXR1cm4gdHJ1ZTsKKyB9CisgCisgLyoKKyAgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIGxlYXNlIGhlYXBzLgorICAqIE1ha2VzIHRoZSB0b3Agb2YgdGhlIGhlYXAgdGhlIG9sZGVzdCBsZWFzZS4KKyAgKi8KKy1zdGF0aWMgaXNjX2Jvb2xlYW5fdCAKKytzdGF0aWMgYm9vbCAKKyBsZWFzZV9vbGRlcih2b2lkICphLCB2b2lkICpiKSB7CisgCXN0cnVjdCBpYXN1Ym9wdCAqbGEgPSAoc3RydWN0IGlhc3Vib3B0ICopYTsKKyAJc3RydWN0IGlhc3Vib3B0ICpsYiA9IChzdHJ1Y3QgaWFzdWJvcHQgKiliOworQEAgLTEwMzgsOCArMTAzOCw4IEBAIGNyZWF0ZV9sZWFzZTYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgc3QKKyAJc3RydWN0IGRhdGFfc3RyaW5nIG5ld19kczsKKyAJc3RydWN0IGlhc3Vib3B0ICppYWFkZHI7CisgCWlzY19yZXN1bHRfdCByZXN1bHQ7CistCWlzY19ib29sZWFuX3QgcmVzZXJ2ZWRfaWlkOworLQlzdGF0aWMgaXNjX2Jvb2xlYW5fdCBpbml0X3Jlc2lpZCA9IElTQ19GQUxTRTsKKysJYm9vbCByZXNlcnZlZF9paWQ7CisrCXN0YXRpYyBib29sIGluaXRfcmVzaWlkID0gZmFsc2U7CisgCisgCS8qCisgCSAqIEZpbGwgdGhlIHJlc2VydmVkIElJRHMuCitAQCAtMTA0OSw3ICsxMDQ5LDcgQEAgY3JlYXRlX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdAorIAkJbWVtc2V0KCZyZXNhbnksIDAsIDgpOworIAkJcmVzYW55LnM2X2FkZHJbOF0gPSAweGZkOworIAkJbWVtc2V0KCZyZXNhbnkuczZfYWRkcls5XSwgMHhmZiwgNik7CistCQlpbml0X3Jlc2lpZCA9IElTQ19UUlVFOworKwkJaW5pdF9yZXNpaWQgPSB0cnVlOworIAl9CisgCisgCS8qIAorQEAgLTEwOTQsMTQgKzEwOTQsMTQgQEAgY3JlYXRlX2xlYXNlNihzdHJ1Y3QgaXB2Nl9wb29sICpwb29sLCBzdAorIAkJLyoKKyAJCSAqIEF2b2lkIHJlc2VydmVkIGludGVyZmFjZSBJRHMuIChjZi4gUkZDIDU0NTMpCisgCQkgKi8KKy0JCXJlc2VydmVkX2lpZCA9IElTQ19GQUxTRTsKKysJCXJlc2VydmVkX2lpZCA9IGZhbHNlOworIAkJaWYgKG1lbWNtcCgmdG1wLnM2X2FkZHJbOF0sICZydGFueS5zNl9hZGRyWzhdLCA4KSA9PSAwKSB7CistCQkJcmVzZXJ2ZWRfaWlkID0gSVNDX1RSVUU7CisrCQkJcmVzZXJ2ZWRfaWlkID0gdHJ1ZTsKKyAJCX0KKyAJCWlmICghcmVzZXJ2ZWRfaWlkICYmCisgCQkgICAgKG1lbWNtcCgmdG1wLnM2X2FkZHJbOF0sICZyZXNhbnkuczZfYWRkcls4XSwgNykgPT0gMCkgJiYKKyAJCSAgICAoKHRtcC5zNl9hZGRyWzE1XSAmIDB4ODApID09IDB4ODApKSB7CistCQkJcmVzZXJ2ZWRfaWlkID0gSVNDX1RSVUU7CisrCQkJcmVzZXJ2ZWRfaWlkID0gdHJ1ZTsKKyAJCX0KKyAKKyAJCS8qCitAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgY3JlYXRlX2xlYXNlNl9ldWlfNjQoc3RydWN0IGlwdjZfcG9vbCAqcAorIAlzdHJ1Y3QgaWFzdWJvcHQgKnRlc3RfaWFhZGRyOworIAlzdHJ1Y3QgaWFzdWJvcHQgKmlhYWRkcjsKKyAJaXNjX3Jlc3VsdF90IHJlc3VsdDsKKy0Jc3RhdGljIGlzY19ib29sZWFuX3QgaW5pdF9yZXNpaWQgPSBJU0NfRkFMU0U7CisrCXN0YXRpYyBib29sIGluaXRfcmVzaWlkID0gZmFsc2U7CisgCisgCS8qICBGaWxsIHRoZSByZXNlcnZlZCBJSURzLiAgKi8KKyAJaWYgKCFpbml0X3Jlc2lpZCkgeworQEAgLTExODUsNyArMTE4NSw3IEBAIGNyZWF0ZV9sZWFzZTZfZXVpXzY0KHN0cnVjdCBpcHY2X3Bvb2wgKnAKKyAJCW1lbXNldCgmcmVzYW55LCAwLCA4KTsKKyAJCXJlc2FueS5zNl9hZGRyWzhdID0gMHhmZDsKKyAJCW1lbXNldCgmcmVzYW55LnM2X2FkZHJbOV0sIDB4ZmYsIDYpOworLQkJaW5pdF9yZXNpaWQgPSBJU0NfVFJVRTsKKysJCWluaXRfcmVzaWlkID0gdHJ1ZTsKKyAJfQorIAorIAkvKiBQb29sIG11c3QgYmUgSUFfTkEgKi8KK0BAIC0xNTIwLDcgKzE1MjAsNyBAQCBhZGRfbGVhc2U2KHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIHN0cnVjCisgLyoKKyAgKiBEZXRlcm1pbmUgaWYgYW4gYWRkcmVzcyBpcyBwcmVzZW50IGluIGEgcG9vbCBvciBub3QuCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBsZWFzZTZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkcikgeworIAlzdHJ1Y3QgaWFzdWJvcHQgKnRlc3RfaWFhZGRyOworIAorQEAgLTE1MjgsOSArMTUyOCw5IEBAIGxlYXNlNl9leGlzdHMoY29uc3Qgc3RydWN0IGlwdjZfcG9vbCAqcG8KKyAJaWYgKGlhc3Vib3B0X2hhc2hfbG9va3VwKCZ0ZXN0X2lhYWRkciwgcG9vbC0+bGVhc2VzLCAKKyAJCQkJICh2b2lkICopYWRkciwgc2l6ZW9mKCphZGRyKSwgTURMKSkgeworIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFhZGRyLCBNREwpOworLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgfQorIAorQEAgLTE1NDUsMjAgKzE1NDUsMjAgQEAgbGVhc2U2X2V4aXN0cyhjb25zdCBzdHJ1Y3QgaXB2Nl9wb29sICpwbworICAqIFxwYXJhbVtpbl0gbGVhc2UgPSBsZWFzZSB0byBjaGVjaworICAqCisgICogXHJldHVybgorLSAqIElTQ19UUlVFICA9IFRoZSBsZWFzZSBpcyBhbGxvd2VkIHRvIHVzZSB0aGF0IGFkZHJlc3MKKy0gKiBJU0NfRkFMU0UgPSBUaGUgbGVhc2UgaXNuJ3QgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisrICogdHJ1ZSAgPSBUaGUgbGVhc2UgaXMgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisrICogZmFsc2UgPSBUaGUgbGVhc2UgaXNuJ3QgYWxsb3dlZCB0byB1c2UgdGhhdCBhZGRyZXNzCisgICovCistaXNjX2Jvb2xlYW5fdAorK2Jvb2wKKyBsZWFzZTZfdXNhYmxlKHN0cnVjdCBpYXN1Ym9wdCAqbGVhc2UpIHsKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhYWRkcjsKKy0JaXNjX2Jvb2xlYW5fdCBzdGF0dXMgPSBJU0NfVFJVRTsKKysJYm9vbCBzdGF0dXMgPSB0cnVlOworIAorIAl0ZXN0X2lhYWRkciA9IE5VTEw7CisgCWlmIChpYXN1Ym9wdF9oYXNoX2xvb2t1cCgmdGVzdF9pYWFkZHIsIGxlYXNlLT5pcHY2X3Bvb2wtPmxlYXNlcywKKyAJCQkJICh2b2lkICopJmxlYXNlLT5hZGRyLAorIAkJCQkgc2l6ZW9mKGxlYXNlLT5hZGRyKSwgTURMKSkgeworIAkJaWYgKHRlc3RfaWFhZGRyICE9IGxlYXNlKSB7CistCQkJc3RhdHVzID0gSVNDX0ZBTFNFOworKwkJCXN0YXR1cyA9IGZhbHNlOworIAkJfQorIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFhZGRyLCBNREwpOworIAl9CitAQCAtMTY5Nyw3ICsxNjk3LDcgQEAgbW92ZV9sZWFzZV90b19pbmFjdGl2ZShzdHJ1Y3QgaXB2Nl9wb29sCisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorIAkJLyogUHJvY2VzcyBldmVudHMgdXBvbiBleHBpcmF0aW9uLiAqLworIAkJaWYgKHBvb2wtPnBvb2xfdHlwZSAhPSBENk9fSUFfUEQpIHsKKy0JCQkodm9pZCkgZGRuc19yZW1vdmFscyhOVUxMLCBsZWFzZSwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJCQkodm9pZCkgZGRuc19yZW1vdmFscyhOVUxMLCBsZWFzZSwgTlVMTCwgZmFsc2UpOworIAkJfQorICNlbmRpZgorIAorQEAgLTE5NzcsMjEgKzE5NzcsMjEgQEAgY3JlYXRlX3ByZWZpeDYoc3RydWN0IGlwdjZfcG9vbCAqcG9vbCwgcworIC8qCisgICogRGV0ZXJtaW5lIGlmIGEgcHJlZml4IGlzIHByZXNlbnQgaW4gYSBwb29sIG9yIG5vdC4KKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIHByZWZpeDZfZXhpc3RzKGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wsCisgCSAgICAgICBjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKnByZWYsIHVfaW50OF90IHBsZW4pIHsKKyAJc3RydWN0IGlhc3Vib3B0ICp0ZXN0X2lhcHJlZjsKKyAKKyAJaWYgKChpbnQpcGxlbiAhPSBwb29sLT51bml0cykKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCisgCXRlc3RfaWFwcmVmID0gTlVMTDsKKyAJaWYgKGlhc3Vib3B0X2hhc2hfbG9va3VwKCZ0ZXN0X2lhcHJlZiwgcG9vbC0+bGVhc2VzLCAKKyAJCQkJICh2b2lkICopcHJlZiwgc2l6ZW9mKCpwcmVmKSwgTURMKSkgeworIAkJaWFzdWJvcHRfZGVyZWZlcmVuY2UoJnRlc3RfaWFwcmVmLCBNREwpOworLQkJcmV0dXJuIElTQ19UUlVFOworKwkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSB7CistCQlyZXR1cm4gSVNDX0ZBTFNFOworKwkJcmV0dXJuIGZhbHNlOworIAl9CisgfQorIAorQEAgLTIyNjcsMTUgKzIyNjcsMTUgQEAgaXB2Nl9uZXR3b3JrX3BvcnRpb24oc3RydWN0IGluNl9hZGRyICpyZQorIC8qCisgICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBhZGRyZXNzL3ByZWZpeCBpcyBpbiB0aGUgcG9vbC4KKyAgKi8KKy1pc2NfYm9vbGVhbl90CisrYm9vbAorIGlwdjZfaW5fcG9vbChjb25zdCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsIGNvbnN0IHN0cnVjdCBpcHY2X3Bvb2wgKnBvb2wpIHsKKyAJc3RydWN0IGluNl9hZGRyIHRtcDsKKyAKKyAJaXB2Nl9uZXR3b3JrX3BvcnRpb24oJnRtcCwgYWRkciwgcG9vbC0+Yml0cyk7CisgCWlmIChtZW1jbXAoJnRtcCwgJnBvb2wtPnN0YXJ0X2FkZHIsIHNpemVvZih0bXApKSA9PSAwKSB7CistCQlyZXR1cm4gSVNDX1RSVUU7CisrCQlyZXR1cm4gdHJ1ZTsKKyAJfSBlbHNlIHsKKy0JCXJldHVybiBJU0NfRkFMU0U7CisrCQlyZXR1cm4gZmFsc2U7CisgCX0KKyB9CisgCitJbmRleDogZGhjcC00LjQuMS9zZXJ2ZXIvZGRucy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZGhjcC00LjQuMS5vcmlnL3NlcnZlci9kZG5zLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9kZG5zLmMKK0BAIC0zNzMsNyArMzczLDcgQEAgZGRuc191cGRhdGVzKHN0cnVjdCBwYWNrZXQgKnBhY2tldCwgc3RydQorIAorIAkJLyogSWYgZGVzaXJlZCBkbyB0aGUgcmVtb3ZhbHMgKi8KKyAJCWlmIChkb19yZW1vdmUgIT0gMCkgeworLQkJCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBsZWFzZTYsIE5VTEwsIElTQ19UUlVFKTsKKysJCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgbGVhc2U2LCBOVUxMLCB0cnVlKTsKKyAJCX0KKyAJCWdvdG8gb3V0OworIAl9CitAQCAtNjE4LDcgKzYxOCw3IEBAIGRkbnNfdXBkYXRlcyhzdHJ1Y3QgcGFja2V0ICpwYWNrZXQsIHN0cnUKKyAJCSAqIFdlIHNob3VsZCBsb2cgYSBtb3JlIHNwZWNpZmljIGVycm9yIGNsb3NlciB0byB0aGUgYWN0dWFsCisgCQkgKiBlcnJvciBpZiB3ZSB3YW50IG9uZS4gZGRuc19yZW1vdmFsIGZhaWx1cmUgbm90IGxvZ2dlZCBoZXJlLgorIAkJICovCistCQkgKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIGxlYXNlNiwgZGRuc19jYiwgSVNDX1RSVUUpOworKwkJICh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBsZWFzZTYsIGRkbnNfY2IsIHRydWUpOworIAl9CisgCWVsc2UgeworIAkJZGRuc19md2Rfc3J2X2Nvbm5lY3RvcihsZWFzZSwgbGVhc2U2LCBzY29wZSwgZGRuc19jYiwKK0BAIC0xOTA3LDcgKzE5MDcsNyBAQCBkZG5zX2Z3ZF9zcnZfcmVtMShkaGNwX2RkbnNfY2JfdCAqZGRuc19jCisgICogICAgIHRoZSBjdXJyZW50IGVudHJ5LgorICAqCisgICogXGxpIGFjdGl2ZSAtIGluZGljYXRpb24gYWJvdXQgdGhlIHN0YXR1cyBvZiB0aGUgbGVhc2UuIEl0IGlzCistICogICAgIElTQ19UUlVFIGlmIHRoZSBsZWFzZSBpcyBzdGlsbCBhY3RpdmUsIGFuZCBGQUxTRSBpZiB0aGUgbGVhc2UKKysgKiAgICAgdHJ1ZSBpZiB0aGUgbGVhc2UgaXMgc3RpbGwgYWN0aXZlLCBhbmQgRkFMU0UgaWYgdGhlIGxlYXNlCisgICogICAgIGlzIGluYWN0aXZlLiAgVGhpcyBpcyB1c2VkIHRvIGluZGljYXRlIGlmIHRoZSBsZWFzZSBpcyBpbmFjdGl2ZSBvciBnb2luZworICAqICAgICB0byBpbmFjdGl2ZSBzbyB3ZSBjYW4gYXZvaWQgdHJ5aW5nIHRvIHVwZGF0ZSB0aGUgbGVhc2Ugd2l0aCBjYiBwb2ludGVycworICAqICAgICBhbmQgdGV4dCBpbmZvcm1hdGlvbiBpZiBpdCBpc24ndCB1c2VmdWwuCitAQCAtMTkyMyw3ICsxOTIzLDcgQEAgaXNjX3Jlc3VsdF90CisgZGRuc19yZW1vdmFscyhzdHJ1Y3QgbGVhc2UgICAgKmxlYXNlLAorIAkgICAgICBzdHJ1Y3QgaWFzdWJvcHQgKmxlYXNlNiwKKyAJICAgICAgZGhjcF9kZG5zX2NiX3QgICphZGRfZGRuc19jYiwKKy0JICAgICAgaXNjX2Jvb2xlYW5fdCAgICBhY3RpdmUpCisrCSAgICAgIGJvb2wgICAgYWN0aXZlKQorIHsKKyAJaXNjX3Jlc3VsdF90IHJjb2RlLCBleGVjdXRlX2FkZCA9IElTQ19SX0ZBSUxVUkU7CisgCXN0cnVjdCBiaW5kaW5nX3Njb3BlICoqc2NvcGUgPSBOVUxMOworQEAgLTE5NzAsNyArMTk3MCw3IEBAIGRkbnNfcmVtb3ZhbHMoc3RydWN0IGxlYXNlICAgICpsZWFzZSwKKyAJCQlpZiAoKChkZG5zX2NiLT5zdGF0ZSA9PSBERE5TX1NUQVRFX0FERF9QVFIpIHx8CisgCQkJICAgICAoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfRldfTlhET01BSU4pIHx8CisgCQkJICAgICAoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfRldfWVhESENJRCkpIHx8CistCQkJICAgICgoYWN0aXZlID09IElTQ19GQUxTRSkgJiYKKysJCQkgICAgKChhY3RpdmUgPT0gZmFsc2UpICYmCisgCQkJICAgICAoKGRkbnNfY2ItPmZsYWdzICYgREROU19BQ1RJVkVfTEVBU0UpICE9IDApKSkgeworIAkJCQkvKiBDYW5jZWwgdGhlIGN1cnJlbnQgcmVxdWVzdCAqLworIAkJCQlkZG5zX2NhbmNlbChsZWFzZS0+ZGRuc19jYiwgTURMKTsKK0BAIC0xOTk4LDcgKzE5OTgsNyBAQCBkZG5zX3JlbW92YWxzKHN0cnVjdCBsZWFzZSAgICAqbGVhc2UsCisgCQkJaWYgKCgoZGRuc19jYi0+c3RhdGUgPT0gREROU19TVEFURV9BRERfUFRSKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX05YRE9NQUlOKSB8fAorIAkJCSAgICAgKGRkbnNfY2ItPnN0YXRlID09IERETlNfU1RBVEVfQUREX0ZXX1lYREhDSUQpKSB8fAorLQkJCSAgICAoKGFjdGl2ZSA9PSBJU0NfRkFMU0UpICYmCisrCQkJICAgICgoYWN0aXZlID09IGZhbHNlKSAmJgorIAkJCSAgICAgKChkZG5zX2NiLT5mbGFncyAmIERETlNfQUNUSVZFX0xFQVNFKSAhPSAwKSkpIHsKKyAJCQkJLyogQ2FuY2VsIHRoZSBjdXJyZW50IHJlcXVlc3QgKi8KKyAJCQkJZGRuc19jYW5jZWwobGVhc2U2LT5kZG5zX2NiLCBNREwpOworQEAgLTIwNTMsNyArMjA1Myw3IEBAIGRkbnNfcmVtb3ZhbHMoc3RydWN0IGxlYXNlICAgICpsZWFzZSwKKyAJICogdGhlIGxlYXNlIGluZm9ybWF0aW9uIGZvciB2NiB3aGVuIHRoZSByZXNwb25zZQorIAkgKiBmcm9tIHRoZSBETlMgY29kZSBpcyBwcm9jZXNzZWQuCisgCSAqLworLQlpZiAoYWN0aXZlID09IElTQ19UUlVFKSB7CisrCWlmIChhY3RpdmUgPT0gdHJ1ZSkgeworIAkJZGRuc19jYi0+ZmxhZ3MgfD0gREROU19BQ1RJVkVfTEVBU0U7CisgCX0KKyAKK0luZGV4OiBkaGNwLTQuNC4xL3NlcnZlci9tZGIuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRoY3AtNC40LjEub3JpZy9zZXJ2ZXIvbWRiLmMKKysrKyBkaGNwLTQuNC4xL3NlcnZlci9tZGIuYworQEAgLTE1MDQsNyArMTUwNCw3IEBAIHZvaWQgbWFrZV9iaW5kaW5nX3N0YXRlX3RyYW5zaXRpb24gKHN0cnUKKyAJICAgICAgbGVhc2UgLT4gYmluZGluZ19zdGF0ZSA9PSBGVFNfQUNUSVZFICYmCisgCSAgICAgIGxlYXNlIC0+IG5leHRfYmluZGluZ19zdGF0ZSAhPSBGVFNfUkVMRUFTRUQpKSkgeworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBJU0NfVFJVRSk7CisrCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgdHJ1ZSk7CisgI2VuZGlmCisgCQlpZiAobGVhc2UtPm9uX3N0YXIub25fZXhwaXJ5KSB7CisgCQkJZXhlY3V0ZV9zdGF0ZW1lbnRzKE5VTEwsIE5VTEwsIGxlYXNlLAorQEAgLTE1NjgsNyArMTU2OCw3IEBAIHZvaWQgbWFrZV9iaW5kaW5nX3N0YXRlX3RyYW5zaXRpb24gKHN0cnUKKyAJCSAqIHJlbGVhc2UgbWVzc2FnZS4gIFRoaXMgaXMgbm90IHRydWUgb2YgZXhwaXJ5LCB3aGVyZSB0aGUKKyAJCSAqIHBlZXIgbWF5IGhhdmUgZXh0ZW5kZWQgdGhlIGxlYXNlLgorIAkJICovCistCQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX1RSVUUpOworKwkJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIHRydWUpOworICNlbmRpZgorIAkJaWYgKGxlYXNlLT5vbl9zdGFyLm9uX3JlbGVhc2UpIHsKKyAJCQlleGVjdXRlX3N0YXRlbWVudHMoTlVMTCwgTlVMTCwgbGVhc2UsCitAQCAtMTczNiw3ICsxNzM2LDcgQEAgdm9pZCByZWxlYXNlX2xlYXNlIChsZWFzZSwgcGFja2V0KQorIAkvKiBJZiB0aGVyZSBhcmUgc3RhdGVtZW50cyB0byBleGVjdXRlIHdoZW4gdGhlIGxlYXNlIGlzCisgCSAgIHJlbGVhc2VkLCBleGVjdXRlIHRoZW0uICovCisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorLQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYKKyAJaWYgKGxlYXNlLT5vbl9zdGFyLm9uX3JlbGVhc2UpIHsKKyAJCWV4ZWN1dGVfc3RhdGVtZW50cyAoTlVMTCwgcGFja2V0LCBsZWFzZSwKK0BAIC0xODEwLDcgKzE4MTAsNyBAQCB2b2lkIGFiYW5kb25fbGVhc2UgKGxlYXNlLCBtZXNzYWdlKQorIHsKKyAJc3RydWN0IGxlYXNlICpsdCA9IE5VTEw7CisgI2lmIGRlZmluZWQgKE5TVVBEQVRFKQorLQkodm9pZCkgZGRuc19yZW1vdmFscyhsZWFzZSwgTlVMTCwgTlVMTCwgSVNDX0ZBTFNFKTsKKysJKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIGZhbHNlKTsKKyAjZW5kaWYKKyAKKyAJaWYgKCFsZWFzZV9jb3B5KCZsdCwgbGVhc2UsIE1ETCkpIHsKK0BAIC0xODYwLDcgKzE4NjAsNyBAQCB2b2lkIGRpc3NvY2lhdGVfbGVhc2UgKGxlYXNlKQorIHsKKyAJc3RydWN0IGxlYXNlICpsdCA9IChzdHJ1Y3QgbGVhc2UgKikwOworICNpZiBkZWZpbmVkIChOU1VQREFURSkKKy0JKHZvaWQpIGRkbnNfcmVtb3ZhbHMobGVhc2UsIE5VTEwsIE5VTEwsIElTQ19GQUxTRSk7CisrCSh2b2lkKSBkZG5zX3JlbW92YWxzKGxlYXNlLCBOVUxMLCBOVUxMLCBmYWxzZSk7CisgI2VuZGlmCisgCisgCWlmICghbGVhc2VfY29weSAoJmx0LCBsZWFzZSwgTURMKSkKK0BAIC0yMDcyLDM4ICsyMDcyLDM4IEBAIGludCBmaW5kX2xlYXNlX2J5X2h3X2FkZHIgKHN0cnVjdCBsZWFzZQorICAqICAgIHNob3VsZCBuZXZlciBzZWUgcmVzZXQgbGVhc2VzIGZvciB0aGlzLgorICAqIDQpIEFiYW5kb25lZCBsZWFzZXMgYXJlIGFsd2F5cyBkZWFkIGxhc3QuCisgICovCistc3RhdGljIGlzY19ib29sZWFuX3QKKytzdGF0aWMgYm9vbAorIGNsaWVudF9sZWFzZV9wcmVmZXJyZWQoc3RydWN0IGxlYXNlICpjYW5kLCBzdHJ1Y3QgbGVhc2UgKmxlYXNlKQorIHsKKyAJaWYgKGNhbmQtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0FDVElWRSkgeworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUgJiYKKyAJCSAgICBsZWFzZS0+ZW5kcyA+PSBjYW5kLT5lbmRzKQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAJfSBlbHNlIGlmIChjYW5kLT5iaW5kaW5nX3N0YXRlID09IEZUU19FWFBJUkVEIHx8CisgCQkgICBjYW5kLT5iaW5kaW5nX3N0YXRlID09IEZUU19SRUxFQVNFRCkgeworIAkJaWYgKGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19BQ1RJVkUpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAorIAkJaWYgKChsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfRVhQSVJFRCB8fAorIAkJICAgICBsZWFzZS0+YmluZGluZ19zdGF0ZSA9PSBGVFNfUkVMRUFTRUQpICYmCisgCQkgICAgbGVhc2UtPmNsdHQgPj0gY2FuZC0+Y2x0dCkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSBpZiAoY2FuZC0+YmluZGluZ19zdGF0ZSAhPSBGVFNfQUJBTkRPTkVEKSB7CisgCQlpZiAobGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX0FDVElWRSB8fAorIAkJICAgIGxlYXNlLT5iaW5kaW5nX3N0YXRlID09IEZUU19FWFBJUkVEIHx8CisgCQkgICAgbGVhc2UtPmJpbmRpbmdfc3RhdGUgPT0gRlRTX1JFTEVBU0VEKQorLQkJCXJldHVybiBJU0NfVFJVRTsKKysJCQlyZXR1cm4gdHJ1ZTsKKyAKKyAJCWlmIChsZWFzZS0+YmluZGluZ19zdGF0ZSAhPSBGVFNfQUJBTkRPTkVEICYmCisgCQkgICAgbGVhc2UtPmNsdHQgPj0gY2FuZC0+Y2x0dCkKKy0JCQlyZXR1cm4gSVNDX1RSVUU7CisrCQkJcmV0dXJuIHRydWU7CisgCX0gZWxzZSAvKiAoY2FuZC0+YmluZGluZ19zdGF0ZSA9PSBGVFNfQUJBTkRPTkVEKSAqLyB7CisgCQlpZiAobGVhc2UtPmJpbmRpbmdfc3RhdGUgIT0gRlRTX0FCQU5ET05FRCB8fAorIAkJICAgIGxlYXNlLT5jbHR0ID49IGNhbmQtPmNsdHQpCistCQkJcmV0dXJuIElTQ19UUlVFOworKwkJCXJldHVybiB0cnVlOworIAl9CisgCistCXJldHVybiBJU0NfRkFMU0U7CisrCXJldHVybiBmYWxzZTsKKyB9CisgCisgLyogQWRkIHRoZSBzcGVjaWZpZWQgbGVhc2UgdG8gdGhlIHVpZCBoYXNoLiAqLwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDA4LXR3ZWFrLXRvLXN1cHBvcnQtZXh0ZXJuYWwtYmluZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3AvMDAwOC10d2Vhay10by1zdXBwb3J0LWV4dGVybmFsLWJpbmQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwNmQxOGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcC8wMDA4LXR3ZWFrLXRvLXN1cHBvcnQtZXh0ZXJuYWwtYmluZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExNyArMCwwIEBACi1Gcm9tIDkyODc1ZjVjYzQ0OTE0NTE1ZTUwYzExYzUwM2EwOWNlYzkwNDk3YjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTYXQsIDExIEp1biAyMDE2IDIyOjUxOjQ0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTFdIHR3ZWFrIHRvIHN1cHBvcnQgZXh0ZXJuYWwgYmluZAotCi1Ud2VhayB0aGUgZXh0ZXJuYWwgYmluZCB0byBvZS1jb3JlJ3Mgc3lzcm9vdCByYXRoZXIgdGhhbgotZXh0ZXJuYWwgYmluZCBzb3VyY2UgYnVpbGQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSA8b2UtY29yZSBzcGVjaWZpYz4KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY2xpZW50L01ha2VmaWxlLmFtICAgICAgIHwgMiArLQotIGNsaWVudC90ZXN0cy9NYWtlZmlsZS5hbSB8IDIgKy0KLSBjb21tb24vdGVzdHMvTWFrZWZpbGUuYW0gfCAyICstCi0gZGhjcGN0bC9NYWtlZmlsZS5hbSAgICAgIHwgMiArLQotIG9tYXBpcC9NYWtlZmlsZS5hbSAgICAgICB8IDIgKy0KLSByZWxheS9NYWtlZmlsZS5hbSAgICAgICAgfCAyICstCi0gc2VydmVyL01ha2VmaWxlLmFtICAgICAgIHwgMiArLQotIHNlcnZlci90ZXN0cy9NYWtlZmlsZS5hbSB8IDIgKy0KLSA4IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9NYWtlZmlsZS5hbSBiL2NsaWVudC9NYWtlZmlsZS5hbQotaW5kZXggNDczMGJiMy4uODRkODEzMSAxMDA2NDQKLS0tLSBhL2NsaWVudC9NYWtlZmlsZS5hbQotKysrIGIvY2xpZW50L01ha2VmaWxlLmFtCi1AQCAtNCw3ICs0LDcgQEAKLSAjIHByb2R1Y3Rpb24gY29kZS4gU2FkbHksIHdlIGFyZSBub3QgdGhlcmUgeWV0LgotIFNVQkRJUlMgPSAuIHRlc3RzCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtRENMSUVOVF9QQVRIPSciUEFUSD0kKHNiaW5kaXIpOi9zYmluOi9iaW46L3Vzci9zYmluOi91c3IvYmluIicgXAotIAkgICAgICAtRExPQ0FMU1RBVEVESVI9JyIkKGxvY2Fsc3RhdGVkaXIpIicgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi1kaWZmIC0tZ2l0IGEvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtIGIvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCA1MDMxZDBjLi5hOGRmZDI2IDEwMDY0NAotLS0tIGEvY2xpZW50L3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9jbGllbnQvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1EVU5JVF9URVNUIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIEFNX0NQUEZMQUdTICs9IC1JQEJJTkRESVJAL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIpCi1kaWZmIC0tZ2l0IGEvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtIGIvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBmNmE0M2U0Li4yZjk4ZDIyIDEwMDY0NAotLS0tIGEvY29tbW9uL3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9jb21tb24vdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotZGlmZiAtLWdpdCBhL2RoY3BjdGwvTWFrZWZpbGUuYW0gYi9kaGNwY3RsL01ha2VmaWxlLmFtCi1pbmRleCBiYThkZDhiLi45YjI0ODZlIDEwMDY0NAotLS0tIGEvZGhjcGN0bC9NYWtlZmlsZS5hbQotKysrIGIvZGhjcGN0bC9NYWtlZmlsZS5hbQotQEAgLTEsNCArMSw0IEBACi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZXMgLUkkKHRvcF9zcmNkaXIpCi0gCi1kaWZmIC0tZ2l0IGEvb21hcGlwL01ha2VmaWxlLmFtIGIvb21hcGlwL01ha2VmaWxlLmFtCi1pbmRleCBkZDFhZmEwLi5lNGE4NTk5IDEwMDY0NAotLS0tIGEvb21hcGlwL01ha2VmaWxlLmFtCi0rKysgYi9vbWFwaXAvTWFrZWZpbGUuYW0KLUBAIC0xLDQgKzEsNCBAQAotLUJJTkRMSUJESVIgPSBAQklORERJUkAvbGliCi0rQklORExJQkRJUiA9IEBCSU5ERElSQAotIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi0gCi0gbGliX0xJQlJBUklFUyA9IGxpYm9tYXBpLmEKLWRpZmYgLS1naXQgYS9yZWxheS9NYWtlZmlsZS5hbSBiL3JlbGF5L01ha2VmaWxlLmFtCi1pbmRleCA2ZDY1MmY2Li5iM2JmNTc4IDEwMDY0NAotLS0tIGEvcmVsYXkvTWFrZWZpbGUuYW0KLSsrKyBiL3JlbGF5L01ha2VmaWxlLmFtCi1AQCAtMSw0ICsxLDQgQEAKLS1CSU5ETElCRElSID0gQEJJTkRESVJAL2xpYgotK0JJTkRMSUJESVIgPSBAQklORERJUkAKLSAKLSBBTV9DUFBGTEFHUyA9IC1ETE9DQUxTVEFURURJUj0nIkBsb2NhbHN0YXRlZGlyQCInIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIAotZGlmZiAtLWdpdCBhL3NlcnZlci9NYWtlZmlsZS5hbSBiL3NlcnZlci9NYWtlZmlsZS5hbQotaW5kZXggMzk5MGI5Yy4uYjVkOGMyZCAxMDA2NDQKLS0tLSBhL3NlcnZlci9NYWtlZmlsZS5hbQotKysrIGIvc2VydmVyL01ha2VmaWxlLmFtCi1AQCAtNCw3ICs0LDcgQEAKLSAjIHByb2R1Y3Rpb24gY29kZS4gU2FkbHksIHdlIGFyZSBub3QgdGhlcmUgeWV0LgotIFNVQkRJUlMgPSAuIHRlc3RzCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikgLURMT0NBTFNUQVRFRElSPSciQGxvY2Fsc3RhdGVkaXJAIicgLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGVzCi0gCi1kaWZmIC0tZ2l0IGEvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtIGIvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBhODdjNWU3Li45ODIxMDgxIDEwMDY0NAotLS0tIGEvc2VydmVyL3Rlc3RzL01ha2VmaWxlLmFtCi0rKysgYi9zZXJ2ZXIvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0xLDYgKzEsNiBAQAotIFNVQkRJUlMgPSAuCi0gCi0tQklORExJQkRJUiA9IEBCSU5ERElSQC9saWIKLStCSU5ETElCRElSID0gQEJJTkRESVJACi0gCi0gQU1fQ1BQRkxBR1MgPSAkKEFURl9DRkxBR1MpIC1EVU5JVF9URVNUIC1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlcwotIEFNX0NQUEZMQUdTICs9IC1JQEJJTkRESVJAL2luY2x1ZGUgLUkkKHRvcF9zcmNkaXIpCi0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF80LjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9kaGNwL2RoY3BfNC40LjEuYmIKaW5kZXggMTU5YWJiYy4uY2EwZGFhMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2RoY3AvZGhjcF80LjQuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvZGhjcC9kaGNwXzQuNC4xLmJiCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAwOS1yZW1vdmUtZGhjbGllbnQtc2NyaXB0LWJhc2gtZGVwZW5kZW5jeS5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAxMi1kaGNwLWNvcnJlY3QtdGhlLWludGVudGlvbi1mb3IteG1sMi1saWItc2VhcmNoLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLWZpeHVwX3VzZV9saWJiaW5kLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRoY3BkLWZpeC1SZXBsYWNlLWN1c3RvbS1pc2NfYm9vbGVhbl90LXdpdGgtQy1zdGFuZGEucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMThjN2Y0ZGNiYjBhNjNkZjI1MDk4MjE2ZDQ3YjFlZGUiCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy8wMDAxLXJjcC1maXgtdG8td29yay13aXRoLWxhcmdlLWZpbGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvMDAwMS1yY3AtZml4LXRvLXdvcmstd2l0aC1sYXJnZS1maWxlcy5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvZml4LWRpc2FibGUtaXB2Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2ZpeC1kaXNhYmxlLWlwdjYucGF0Y2gKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMS1wcmludGYtcGFyc2UtcHVsbC1pbi1mZWF0dXJlcy5oLWZvci1fX0dMSUJDX18ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDEtcHJpbnRmLXBhcnNlLXB1bGwtaW4tZmVhdHVyZXMuaC1mb3ItX19HTElCQ19fLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjgtMDAwMy13Y2hhci5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOC0wMDAzLXdjaGFyLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy0xLjktUEFUSF9QUk9DTkVUX0RFVi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLTEuOS1QQVRIX1BST0NORVRfREVWLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9pbmV0dXRpbHMtb25seS1jaGVjay1wYW1fYXBwbC5oLXdoZW4tcGFtLWVuYWJsZWQucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL2luZXR1dGlscy1vbmx5LWNoZWNrLXBhbV9hcHBsLmgtd2hlbi1wYW0tZW5hYmxlZC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yZXhlYy54aW5ldGQuaW5ldHV0aWxzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmV4ZWMueGluZXRkLmluZXR1dGlscwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9ybG9naW4ueGluZXRkLmluZXR1dGlscwpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3Jsb2dpbi54aW5ldGQuaW5ldHV0aWxzCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yc2gueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3JzaC54aW5ldGQuaW5ldHV0aWxzCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy9yc2gueGluZXRkLmluZXR1dGlscwpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvcnNoLnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RlbG5ldC54aW5ldGQuaW5ldHV0aWxzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy90ZWxuZXQueGluZXRkLmluZXR1dGlscwpkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1uZXR3b3JraW5nL3JlY2lwZXMtY29ubmVjdGl2aXR5L2luZXR1dGlscy9pbmV0dXRpbHMvdGZ0cGQueGluZXRkLmluZXR1dGlscyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtbmV0d29ya2luZy9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzL3ZlcnNpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW5ldHdvcmtpbmcvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlscy92ZXJzaW9uLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pbmV0dXRpbHMvaW5ldHV0aWxzXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjMTM4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaW5ldHV0aWxzL2luZXR1dGlsc18xLjkuNC5iYgpAQCAtMCwwICsxLDIwOSBAQAorREVTQ1JJUFRJT04gPSAiVGhlIEdOVSBpbmV0dXRpbHMgYXJlIGEgY29sbGVjdGlvbiBvZiBjb21tb24gXAorbmV0d29ya2luZyB1dGlsaXRpZXMgYW5kIHNlcnZlcnMgaW5jbHVkaW5nIGZ0cCwgZnRwZCwgcmNwLCBcCityZXhlYywgcmxvZ2luLCBybG9naW5kLCByc2gsIHJzaGQsIHN5c2xvZywgc3lzbG9nZCwgdGFsaywgXAordGFsa2QsIHRlbG5ldCwgdGVsbmV0ZCwgdGZ0cCwgdGZ0cGQsIGFuZCB1dWNwZC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvaW5ldHV0aWxzIgorU0VDVElPTiA9ICJuZXQiCitERVBFTkRTID0gIm5jdXJzZXMgbmV0YmFzZSByZWFkbGluZSB2aXJ0dWFsL2NyeXB0IgorCitMSUNFTlNFID0gIkdQTHYzIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2luZXR1dGlscy9pbmV0dXRpbHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3ZlcnNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLTEuOC0wMDAxLXByaW50Zi1wYXJzZS1wdWxsLWluLWZlYXR1cmVzLmgtZm9yLV9fR0xJQkNfXy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS44LTAwMDMtd2NoYXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmV4ZWMueGluZXRkLmluZXR1dGlscyAgXAorICAgICAgICAgICBmaWxlOi8vcmxvZ2luLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vcnNoLnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgXAorICAgICAgICAgICBmaWxlOi8vdGZ0cGQueGluZXRkLmluZXR1dGlscyBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0dXRpbHMtMS45LVBBVEhfUFJPQ05FVF9ERVYucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vaW5ldHV0aWxzLW9ubHktY2hlY2stcGFtX2FwcGwuaC13aGVuLXBhbS1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmNwLWZpeC10by13b3JrLXdpdGgtbGFyZ2UtZmlsZXMucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDQ4NTJjMjZjNDdjYzhjNmI4MjVmMmI3NGYxOTFmNTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYmU4Zjc1ZWZmOTM2YjhlNDFiMTEyNDYyZGI1MWFkZjY4OTcxNTY1OGExYjA5ZTBkNmIwNWQxMWVjOTJjYzYxNiIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB1cGRhdGUtYWx0ZXJuYXRpdmVzIHRleGluZm8KKworYWNwYXRocyA9ICItSSAuL200IgorCitTUkNfVVJJICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnJywgJ2ZpbGU6Ly9maXgtZGlzYWJsZS1pcHY2LnBhdGNoJywgZCl9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZnRwIHV1Y3BkIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2IHBpbmc2JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFQ09ORklHW2Z0cF0gPSAiLS1lbmFibGUtZnRwLC0tZGlzYWJsZS1mdHAscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3V1Y3BkXSA9ICItLWVuYWJsZS11dWNwZCwtLWRpc2FibGUtdXVjcGQscmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS13aXRoLXBhbSwtLXdpdGhvdXQtcGFtLGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiBnbF9jdl9zb2NrZXRfaXB2Nj1ubywiCitQQUNLQUdFQ09ORklHW3Bpbmc2XSA9ICItLWVuYWJsZS1waW5nNiwtLWRpc2FibGUtcGluZzYsIgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLW5jdXJzZXMtaW5jbHVkZS1kaXI9JHtTVEFHSU5HX0lOQ0RJUn0gXAorICAgICAgICBpbmV0dXRpbHNfY3ZfcGF0aF9sb2dpbj0ke2Jhc2VfYmluZGlyfS9sb2dpbiBcCisgICAgICAgIC0td2l0aC1saWJyZWFkbGluZS1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAtLWVuYWJsZS1ycGF0aD1ubyBcCisiCisKKyMgVGhlc2UgYXJlIGhvcnJpYmxlIGZvciBzZWN1cml0eSwgZGlzYWJsZSB0aGVtCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWRpc2FibGUtcnNoIC0tZGlzYWJsZS1yc2hkIC0tZGlzYWJsZS1yY3AgXAorICAgICAgICAtLWRpc2FibGUtcmxvZ2luIC0tZGlzYWJsZS1ybG9naW5kIC0tZGlzYWJsZS1yZXhlYyAtLWRpc2FibGUtcmV4ZWNkIgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisgICAgZXhwb3J0IEhFTFAyTUFOPSd0cnVlJworICAgIGNwICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ2V0dGV4dC9jb25maWcucnBhdGggJHtTfS9idWlsZC1hdXgvY29uZmlnLnJwYXRoCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U1RBR0lOR19EQVRBRElSX05BVElWRX0vZ251LWNvbmZpZy9jb25maWcuZ3Vlc3MgJHtTfQorICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9CisgICAgcm0gLWYgJHtTfS9nbG9iL2NvbmZpZ3VyZSoKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgIGluc3RhbGwgLW0gMDc1NSAtZCAke0R9JHtiYXNlX3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3NiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1IC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kCisgICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF0gOyB0aGVuCisgICAgICAgICBpbnN0YWxsIC1tIDA3NTUgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L3BpbmcqICR7RH0ke2Jhc2VfYmluZGlyfS8KKyAgICAgICAgIG12ICR7RH0ke2JpbmRpcn0vaG9zdG5hbWUgJHtEfSR7YmFzZV9iaW5kaXJ9LworICAgIGZpCisgICAgbXYgJHtEfSR7YmluZGlyfS9pZmNvbmZpZyAke0R9JHtiYXNlX3NiaW5kaXJ9LworICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3N5c2xvZ2QgJHtEfSR7YmFzZV9zYmluZGlyfS8KKyAgICBtdiAke0R9JHtsaWJleGVjZGlyfS90ZnRwZCAke0R9JHtzYmluZGlyfS9pbi50ZnRwZAorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3RlbG5ldGQgJHtEfSR7c2JpbmRpcn0vaW4udGVsbmV0ZAorICAgIGlmIFsgLWUgJHtEfSR7bGliZXhlY2Rpcn0vcmV4ZWNkIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vcmV4ZWNkICR7RH0ke3NiaW5kaXJ9L2luLnJleGVjZAorICAgICAgICBjcCAke1dPUktESVJ9L3JleGVjLnhpbmV0ZC5pbmV0dXRpbHMgJHtEfS8ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kL3JleGVjCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3Jsb2dpbmQgXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9ybG9naW5kICR7RH0ke3NiaW5kaXJ9L2luLnJsb2dpbmQKKyAgICAgICAgY3AgJHtXT1JLRElSfS9ybG9naW4ueGluZXRkLmluZXR1dGlscyAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcmxvZ2luCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3JzaGQgXTsgdGhlbgorICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9yc2hkICR7RH0ke3NiaW5kaXJ9L2luLnJzaGQKKyAgICAgICAgY3AgJHtXT1JLRElSfS9yc2gueGluZXRkLmluZXR1dGlscyAke0R9LyR7c3lzY29uZmRpcn0veGluZXRkLmQvcnNoCisgICAgZmkKKyAgICBpZiBbIC1lICR7RH0ke2xpYmV4ZWNkaXJ9L3RhbGtkIF07IHRoZW4KKyAgICAgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vdGFsa2QgJHtEfSR7c2JpbmRpcn0vaW4udGFsa2QKKyAgICBmaQorICAgIG12ICR7RH0ke2xpYmV4ZWNkaXJ9L3V1Y3BkICR7RH0ke3NiaW5kaXJ9L2luLnV1Y3BkCisgICAgbXYgJHtEfSR7bGliZXhlY2Rpcn0vKiAke0R9JHtiaW5kaXJ9LworICAgIGNwICR7V09SS0RJUn0vdGVsbmV0LnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZWxuZXQKKyAgICBjcCAke1dPUktESVJ9L3RmdHBkLnhpbmV0ZC5pbmV0dXRpbHMgICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZAorCisgICAgc2VkIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIC1pICR7RH0vJHtzeXNjb25mZGlyfS94aW5ldGQuZC8qCisgICAgaWYgWyAtZSAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMgXTsgdGhlbgorICAgICAgICBybSAtcmYgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCisgICAgZmkKKyAgICBybSAtcmYgJHtEfSR7bGliZXhlY2Rpcn0vCisgICAgIyByZW1vdmUgdXNyL2xpYiBpZiBlbXB0eQorICAgIHJtZGlyICR7RH0ke2xpYmRpcn0gfHwgdHJ1ZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcGluZyAke1BOfS1waW5nNiAke1BOfS1ob3N0bmFtZSAke1BOfS1pZmNvbmZpZyBcCiske1BOfS10ZnRwICR7UE59LWxvZ2dlciAke1BOfS10cmFjZXJvdXRlICR7UE59LXN5c2xvZ2QgXAorJHtQTn0tZnRwICR7UE59LWZ0cGQgJHtQTn0tdGZ0cGQgJHtQTn0tdGVsbmV0ICR7UE59LXRlbG5ldGQgJHtQTn0taW5ldGQgXAorJHtQTn0tcnNoICR7UE59LXJzaGQiCisKKyMgVGhlIHBhY2thZ2VzIHRmdHBkLCB0ZWxuZXRkIGFuZCByc2hkIGNvbmZsaWN0IHdpdGggdGhlIG9uZXMKKyMgcHJvdmlkZWQgYnkgbmV0a2l0LCBzbyBhZGQgdGhlIGNvcnJlc3BvbmRpbmcgLWRiZyBwYWNrYWdlcworIyBmb3IgdGhlbSB0byBhdm9pZCB0aGUgY29uZmxpY3Rpb24gYmV0d2VlbiB0aGUgZGJnIHBhY2thZ2UKKyMgb2YgaW5ldHV0aWxzIGFuZCBuZXRraXQuCitQQUNLQUdFUyA9KyAiJHtQTn0tdGZ0cGQtZGJnICR7UE59LXRlbG5ldGQtZGJnICR7UE59LXJzaGQtZGJnIgorTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjc5IgorQUxURVJOQVRJVkVfJHtQTn0gPSAid2hvaXMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVjcGRdICA9ICIke3NiaW5kaXJ9L2luLnV1Y3BkIgorCitBTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1sb2dnZXIgPSAiNjAiCitBTFRFUk5BVElWRV8ke1BOfS1sb2dnZXIgPSAibG9nZ2VyIgorQUxURVJOQVRJVkVfJHtQTn0tc3lzbG9nZCA9ICJzeXNsb2dkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2RdICA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZCIKKworQUxURVJOQVRJVkVfJHtQTn0tZnRwID0gImZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LWZ0cGQgPSAiZnRwZCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHAgPSAidGZ0cCIKK0FMVEVSTkFUSVZFXyR7UE59LXRmdHBkID0gInRmdHBkIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3RmdHBkXSA9ICIke3NiaW5kaXJ9L3RmdHBkIgorQUxURVJOQVRJVkVfVEFSR0VUW3RmdHBkXSAgPSAiJHtzYmluZGlyfS9pbi50ZnRwZCIKKworQUxURVJOQVRJVkVfJHtQTn0tdGVsbmV0ID0gInRlbG5ldCIKK0FMVEVSTkFUSVZFXyR7UE59LXRlbG5ldGQgPSAidGVsbmV0ZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0ZWxuZXRkXSA9ICIke3NiaW5kaXJ9L3RlbG5ldGQiCitBTFRFUk5BVElWRV9UQVJHRVRbdGVsbmV0ZF0gPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkIgorCitBTFRFUk5BVElWRV8ke1BOfS1pbmV0ZD0gImluZXRkIgorQUxURVJOQVRJVkVfJHtQTn0tdHJhY2Vyb3V0ZSA9ICJ0cmFjZXJvdXRlIgorCitBTFRFUk5BVElWRV8ke1BOfS1ob3N0bmFtZSA9ICJob3N0bmFtZSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZV0gID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lIgorCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAiaG9zdG5hbWUuMSBkbnNkb21haW5uYW1lLjEgbG9nZ2VyLjEgc3lzbG9nZC44IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2hvc3RuYW1lLjFdID0gIiR7bWFuZGlyfS9tYW4xL2hvc3RuYW1lLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZG5zZG9tYWlubmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9kbnNkb21haW5uYW1lLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbG9nZ2VyLjFdID0gIiR7bWFuZGlyfS9tYW4xL2xvZ2dlci4xIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N5c2xvZ2QuOF0gPSAiJHttYW5kaXJ9L21hbjgvc3lzbG9nZC44IgorCitBTFRFUk5BVElWRV8ke1BOfS1pZmNvbmZpZyA9ICJpZmNvbmZpZyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtpZmNvbmZpZ10gID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZyIKKworQUxURVJOQVRJVkVfJHtQTn0tcGluZyA9ICJwaW5nIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3BpbmddICAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZyIKKworQUxURVJOQVRJVkVfJHtQTn0tcGluZzYgPSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3Bpbmc2JywgZCl9IgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bpbmc2XSAgPSAiJHtiYXNlX2JpbmRpcn0vcGluZzYiCisKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2Jhc2VfYmluZGlyfS8uZGVidWcgJHtiYXNlX3NiaW5kaXJ9Ly5kZWJ1ZyAke2JpbmRpcn0vLmRlYnVnICR7c2JpbmRpcn0vLmRlYnVnIgorRklMRVNfJHtQTn0tcGluZyA9ICIke2Jhc2VfYmluZGlyfS9waW5nLiR7QlBOfSIKK0ZJTEVTXyR7UE59LXBpbmc2ID0gIiR7YmFzZV9iaW5kaXJ9L3Bpbmc2LiR7QlBOfSIKK0ZJTEVTXyR7UE59LWhvc3RuYW1lID0gIiR7YmFzZV9iaW5kaXJ9L2hvc3RuYW1lLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWlmY29uZmlnID0gIiR7YmFzZV9zYmluZGlyfS9pZmNvbmZpZy4ke0JQTn0iCitGSUxFU18ke1BOfS10cmFjZXJvdXRlID0gIiR7YmluZGlyfS90cmFjZXJvdXRlLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWxvZ2dlciA9ICIke2JpbmRpcn0vbG9nZ2VyLiR7QlBOfSIKKworRklMRVNfJHtQTn0tc3lzbG9nZCA9ICIke2Jhc2Vfc2JpbmRpcn0vc3lzbG9nZC4ke0JQTn0iCitSQ09ORkxJQ1RTXyR7UE59LXN5c2xvZ2QgPSAicnN5c2xvZyBidXN5Ym94LXN5c2xvZyBzeXNrbG9nZCBzeXNsb2ctbmciCisKK0ZJTEVTXyR7UE59LWZ0cCA9ICIke2JpbmRpcn0vZnRwLiR7QlBOfSIKKworRklMRVNfJHtQTn0tdGZ0cCA9ICIke2JpbmRpcn0vdGZ0cC4ke0JQTn0iCitGSUxFU18ke1BOfS10ZWxuZXQgPSAiJHtiaW5kaXJ9L3RlbG5ldC4ke0JQTn0iCisKKyMgV2UgbWFrZSB1cyBvZiBSQ09ORkxJQ1RTIC8gUlBST1ZJREVTIGhlcmUgcmF0aGVyIHRoYW4gdXNpbmcgdGhlIG5vcm1hbAorIyBhbHRlcm5hdGl2ZXMgbWV0aG9kIGFzIHRoaXMgbGVhZHMgdG8gcGFja2FnaW5nIFFBIGlzc3VlcyB3aGVuIHVzaW5nCisjIG11c2wgYXMgdGhhdCBsaWJyYXJ5IGRvZXMgbm90IHByb3ZpZGUgd2hhdCB0aGVzZSBhcHBsaWNhdGlvbnMgbmVlZCB0bworIyBidWlsZC4KK0ZJTEVTXyR7UE59LXJzaCA9ICIke2JpbmRpcn0vcnNoICR7YmluZGlyfS9ybG9naW4gJHtiaW5kaXJ9L3JleGVjICR7YmluZGlyfS9yY3AiCitSQ09ORkxJQ1RTXyR7UE59LXJzaCArPSAibmV0a2l0LXJzaC1jbGllbnQiCitSUFJPVklERVNfJHtQTn0tcnNoID0gInJzaCIKKworRklMRVNfJHtQTn0tcnNoZCA9ICIke3NiaW5kaXJ9L2luLnJzaGQgJHtzYmluZGlyfS9pbi5ybG9naW5kICR7c2JpbmRpcn0vaW4ucmV4ZWNkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yc2ggJHtzeXNjb25mZGlyfS94aW5ldGQuZC9ybG9naW4gJHtzeXNjb25mZGlyfS94aW5ldGQuZC9yZXhlYyIKK0ZJTEVTXyR7UE59LXJzaGQtZGJnID0gIiR7c2JpbmRpcn0vLmRlYnVnL2luLnJzaGQgJHtzYmluZGlyfS8uZGVidWcvaW4ucmxvZ2luZCAke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi5yZXhlY2QiCitSREVQRU5EU18ke1BOfS1yc2hkICs9ICJ4aW5ldGQgdGNwLXdyYXBwZXJzIgorUkNPTkZMSUNUU18ke1BOfS1yc2hkICs9ICJuZXRraXQtcnNoZC1zZXJ2ZXIiCitSUFJPVklERVNfJHtQTn0tcnNoZCA9ICJyc2hkIgorCitGSUxFU18ke1BOfS1mdHBkID0gIiR7YmluZGlyfS9mdHBkLiR7QlBOfSIKK0ZJTEVTXyR7UE59LWZ0cGQtZGJnID0gIiR7YmluZGlyfS8uZGVidWcvZnRwZC4ke0JQTn0iCitSREVQRU5EU18ke1BOfS1mdHBkICs9ICJ4aW5ldGQiCisKK0ZJTEVTXyR7UE59LXRmdHBkID0gIiR7c2JpbmRpcn0vaW4udGZ0cGQgJHtzeXNjb25mZGlyfS94aW5ldGQuZC90ZnRwZCIKK0ZJTEVTXyR7UE59LXRmdHBkLWRiZyA9ICIke3NiaW5kaXJ9Ly5kZWJ1Zy9pbi50ZnRwZCIKK1JDT05GTElDVFNfJHtQTn0tdGZ0cGQgKz0gIm5ldGtpdC10ZnRwZCIKK1JERVBFTkRTXyR7UE59LXRmdHBkICs9ICJ4aW5ldGQiCisKK0ZJTEVTXyR7UE59LXRlbG5ldGQgPSAiJHtzYmluZGlyfS9pbi50ZWxuZXRkICR7c3lzY29uZmRpcn0veGluZXRkLmQvdGVsbmV0IgorRklMRVNfJHtQTn0tdGVsbmV0ZC1kYmcgPSAiJHtzYmluZGlyfS8uZGVidWcvaW4udGVsbmV0ZCIKK1JDT05GTElDVFNfJHtQTn0tdGVsbmV0ZCArPSAibmV0a2l0LXRlbG5ldGQiCitSUFJPVklERVNfJHtQTn0tdGVsbmV0ZCA9ICJ0ZWxuZXRkIgorUkRFUEVORFNfJHtQTn0tdGVsbmV0ZCArPSAieGluZXRkIgorCitGSUxFU18ke1BOfS1pbmV0ZCA9ICIke2JpbmRpcn0vaW5ldGQuJHtCUE59IgorCitSREVQRU5EU18ke1BOfSA9ICJ4aW5ldGQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXByb3V0ZTIvaXByb3V0ZTIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2lwcm91dGUyL2lwcm91dGUyLmluYwppbmRleCBiMjgzNTg5Li4xYWExZWVjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvaXByb3V0ZTIvaXByb3V0ZTIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9pcHJvdXRlMi9pcHJvdXRlMi5pbmMKQEAgLTUyLDMgKzUyLDcgQEAKIEFMVEVSTkFUSVZFX1RBUkdFVFtpcF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2lwLiR7QlBOfSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtpcF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2lwIgogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfS10YyA9ICJ0YyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0Y10gPSAiJHtiYXNlX3NiaW5kaXJ9L3RjIgorQUxURVJOQVRJVkVfUFJJT1JJVFlfJHtQTn0tdGMgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU3ZWE4Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLmluYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVNVTU1BUlkgPSAiSW50ZXJmYWNlIGZvciB1c2VyLWxldmVsIG5ldHdvcmsgcGFja2V0IGNhcHR1cmUiCi1ERVNDUklQVElPTiA9ICJMaWJwY2FwIHByb3ZpZGVzIGEgcG9ydGFibGUgZnJhbWV3b3JrIGZvciBsb3ctbGV2ZWwgbmV0d29yayBcCi1tb25pdG9yaW5nLiAgTGlicGNhcCBjYW4gcHJvdmlkZSBuZXR3b3JrIHN0YXRpc3RpY3MgY29sbGVjdGlvbiwgXAotc2VjdXJpdHkgbW9uaXRvcmluZyBhbmQgbmV0d29yayBkZWJ1Z2dpbmcuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy50Y3BkdW1wLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvdHJhY2tlci8/Z3JvdXBfaWQ9NTMwNjcmYXRpZD00Njk1NzciCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWViMjg5MjE3YzE2MGUyOTIwZDJlMzViZGRjMzY0NTMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGNhcC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MzI7bWQ1PTM5YWYzNTEwZTAxMWYzNGI4ODcyZjEyMGIxZGMzMWQyIgotREVQRU5EUyA9ICJmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLUlOQ19QUiA9ICJyNSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnRjcGR1bXAub3JnL3JlbGVhc2UvJHtCUH0udGFyLmd6IgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjYXAtY29uZmlnIgotCi1pbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGJsdWV0b290aAotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLXBjYXA9bGludXgiCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHW2JsdWV6NF0gPSAiLS1lbmFibGUtYmx1ZXRvb3RoLC0tZGlzYWJsZS1ibHVldG9vdGgsYmx1ZXo0IgotIyBBZGQgYSBkdW1teSBQQUNLQUdFQ09ORklHIGZvciBibHVlejUgc2luY2UgaXQgaXMgbm90IHN1cHBvcnRlZCBieSBsaWJwY2FwLgotUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIiwsIgotUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sLC0td2l0aG91dC1saWJubCxsaWJubCIKLQotQ1BQRkxBR1NfcHJlcGVuZCA9ICItSSR7U30gIgotQ0ZMQUdTX3ByZXBlbmQgPSAiLUkke1N9ICIKLUNYWEZMQUdTX3ByZXBlbmQgPSAiLUkke1N9ICIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotICAgIHNlZCAtaSAtZSdzLF5WX1JQQVRIX09QVD0uKiQsVl9SUEFUSF9PUFQ9LCcgJHtTfS9wY2FwLWNvbmZpZy5pbgotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLUZpeC1jb21waWxlcl9zdGF0ZV90LmFpLXVzYWdlLXdoZW4tSU5FVDYtaXMtbm90LWRlZmkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYjZhZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLUZpeC1jb21waWxlcl9zdGF0ZV90LmFpLXVzYWdlLXdoZW4tSU5FVDYtaXMtbm90LWRlZmkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDY0YWEwMzNhMDYxYzQzZmMxNWM3MTFmMjQ5MGFlNDFkMjNiODY4YzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogVGh1LCAxNyBOb3YgMjAxNiAwOTo0NDo0MiAtMDIwMAotU3ViamVjdDogW1BBVENIIDEvMl0gRml4IGNvbXBpbGVyX3N0YXRlX3QuYWkgdXNhZ2Ugd2hlbiBJTkVUNiBpcyBub3QgZGVmaW5lZAotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotRml4IGVycm9yOgotCi0vCi18IC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOiBJbiBmdW5jdGlvbiAncGNhcF9jb21waWxlJzoKLXwgLi4vbGlicGNhcC0xLjguMS9nZW5jb2RlLmM6NjkzOjg6IGVycm9yOiAnY29tcGlsZXJfc3RhdGVfdAotfCB7YWthIHN0cnVjdCBfY29tcGlsZXJfc3RhdGV9JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdhaScKLXwgICBjc3RhdGUuYWkgPSBOVUxMOwotXAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL3B1bGwvNTQxCi0KLVNpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBnZW5jb2RlLmMgfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2VuY29kZS5jIGIvZ2VuY29kZS5jCi1pbmRleCBhODg3ZjI3Li5lMTAzYzcwIDEwMDY0NAotLS0tIGEvZ2VuY29kZS5jCi0rKysgYi9nZW5jb2RlLmMKLUBAIC02OTAsNyArNjkwLDkgQEAgcGNhcF9jb21waWxlKHBjYXBfdCAqcCwgc3RydWN0IGJwZl9wcm9ncmFtICpwcm9ncmFtLAotIAl9Ci0gCWluaXRjaHVua3MoJmNzdGF0ZSk7Ci0gCWNzdGF0ZS5ub19vcHRpbWl6ZSA9IDA7Ci0rI2lmZGVmIElORVQ2Ci0gCWNzdGF0ZS5haSA9IE5VTEw7Ci0rI2VuZGlmCi0gCWNzdGF0ZS5pYy5yb290ID0gTlVMTDsKLSAJY3N0YXRlLmljLmN1cl9tYXJrID0gMDsKLSAJY3N0YXRlLmJwZl9wY2FwID0gcDsKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDEtcGNhcC11c2ItbGludXguYy1hZGQtbWlzc2luZy1saW1pdHMuaC1mb3ItbXVzbC1zeXN0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTc3MzgzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC8wMDAxLXBjYXAtdXNiLWxpbnV4LmMtYWRkLW1pc3NpbmctbGltaXRzLmgtZm9yLW11c2wtc3lzdGUucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSBhYWZhMzUxMmI3Yjc0MmY1ZTY2YTU1NDNlNDE5NzRjYzVlN2VlYmZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbWF4aWNlOCA8dGhpbmthYml0LnVraW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyMiBKdWwgMjAxOCAxODo1NDoxNyAtMDMwMAorU3ViamVjdDogW1BBVENIXSBwY2FwLXVzYi1saW51eC5jOiBhZGQgbWlzc2luZyBsaW1pdHMuaCBmb3IgbXVzbCBzeXN0ZW1zLgorCitmaXggY29tcGlsYXRpb24gb24gbXVzbCBsaWJjIHN5c3RlbXMgbGlrZSBWb2lkIExpbnV4IGFuZCBBbHBpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL2NvbW1pdC9kNTU3Yzk4YTE2ZGMyNTRhYWZmMDM3NjJiNjk0ZmU2MjRlMTgwYmVhXQorCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorLS0tCisgcGNhcC11c2ItbGludXguYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvcGNhcC11c2ItbGludXguYyBiL3BjYXAtdXNiLWxpbnV4LmMKK2luZGV4IDZmOGFkZjY1Li5iOTJjMDVlYSAxMDA2NDQKKy0tLSBhL3BjYXAtdXNiLWxpbnV4LmMKKysrKyBiL3BjYXAtdXNiLWxpbnV4LmMKK0BAIC01MCw2ICs1MCw3IEBACisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDxkaXJlbnQuaD4KKyAjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDMyYjI2NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwLzAwMDItQWRkLW1pc3NpbmctY29tcGlsZXJfc3RhdGVfdC1wYXJhbWV0ZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1Gcm9tIDUwZWMwYTA4OGQ1OTI0YTgzMDViMmQ3MGRjYmE3MWIwOTQyZGVlMWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotRGF0ZTogVGh1LCAxNyBOb3YgMjAxNiAwOTo0NzoyOSAtMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQWRkIG1pc3NpbmcgY29tcGlsZXJfc3RhdGVfdCBwYXJhbWV0ZXIKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLUZpeCBlcnJvcjoKLQotLwotfC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOiBJbiBmdW5jdGlvbiAnZ2VuX2dhdGV3YXknOgotfC4uL2xpYnBjYXAtMS44LjEvZ2VuY29kZS5jOjQ5MTQ6MTM6IGVycm9yOiAnY3N0YXRlJyB1bmRlY2xhcmVkCi18IChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLXwgICAgYnBmX2Vycm9yKGNzdGF0ZSwgImRpcmVjdGlvbiBhcHBsaWVkIHRvICdnYXRld2F5JyIpOwotXAotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KLQotWzFdIGh0dHBzOi8vZ2l0aHViLmNvbS90aGUtdGNwZHVtcC1ncm91cC9saWJwY2FwL3B1bGwvNTQxCi0KLVNpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBnZW5jb2RlLmMgfCAxNSArKysrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2VuY29kZS5jIGIvZ2VuY29kZS5jCi1pbmRleCBlMTAzYzcwLi5mMDdjMGJlIDEwMDY0NAotLS0tIGEvZ2VuY29kZS5jCi0rKysgYi9nZW5jb2RlLmMKLUBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2hvc3Q2KGNvbXBpbGVyX3N0YXRlX3QgKiwgc3RydWN0IGluNl9hZGRyICosCi0gICAgIHN0cnVjdCBpbjZfYWRkciAqLCBpbnQsIGludCwgaW50KTsKLSAjZW5kaWYKLSAjaWZuZGVmIElORVQ2Ci0tc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2dhdGV3YXkoY29uc3QgdV9jaGFyICosIGJwZl91X2ludDMyICoqLCBpbnQsIGludCk7Ci0rc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX2dhdGV3YXkoY29tcGlsZXJfc3RhdGVfdCAqLCBjb25zdCB1X2NoYXIgKiwgYnBmX3VfaW50MzIgKiosIGludCwgaW50KTsKLSAjZW5kaWYKLSBzdGF0aWMgc3RydWN0IGJsb2NrICpnZW5faXBmcmFnKGNvbXBpbGVyX3N0YXRlX3QgKik7Ci0gc3RhdGljIHN0cnVjdCBibG9jayAqZ2VuX3BvcnRhdG9tKGNvbXBpbGVyX3N0YXRlX3QgKiwgaW50LCBicGZfaW50MzIpOwotQEAgLTQ5MDQsMTEgKzQ5MDQsMTIgQEAgZ2VuX2hvc3Q2KGNvbXBpbGVyX3N0YXRlX3QgKmNzdGF0ZSwgc3RydWN0IGluNl9hZGRyICphZGRyLAotIAotICNpZm5kZWYgSU5FVDYKLSBzdGF0aWMgc3RydWN0IGJsb2NrICoKLS1nZW5fZ2F0ZXdheShlYWRkciwgYWxpc3QsIHByb3RvLCBkaXIpCi0tCWNvbnN0IHVfY2hhciAqZWFkZHI7Ci0tCWJwZl91X2ludDMyICoqYWxpc3Q7Ci0tCWludCBwcm90bzsKLS0JaW50IGRpcjsKLStnZW5fZ2F0ZXdheShjc3RhdGUsIGVhZGRyLCBhbGlzdCwgcHJvdG8sIGRpcikKLSsgICAgY29tcGlsZXJfc3RhdGVfdCAqY3N0YXRlOwotKyAgICBjb25zdCB1X2NoYXIgKmVhZGRyOwotKyAgICBicGZfdV9pbnQzMiAqKmFsaXN0OwotKyAgICBpbnQgcHJvdG87Ci0rICAgIGludCBkaXI7Ci0gewotIAlzdHJ1Y3QgYmxvY2sgKmIwLCAqYjEsICp0bXA7Ci0gCi1AQCAtNjQ3Miw3ICs2NDczLDcgQEAgZ2VuX3Njb2RlKGNvbXBpbGVyX3N0YXRlX3QgKmNzdGF0ZSwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHF1YWwgcSkKLSAJCWFsaXN0ID0gcGNhcF9uYW1ldG9hZGRyKG5hbWUpOwotIAkJaWYgKGFsaXN0ID09IE5VTEwgfHwgKmFsaXN0ID09IE5VTEwpCi0gCQkJYnBmX2Vycm9yKGNzdGF0ZSwgInVua25vd24gaG9zdCAnJXMnIiwgbmFtZSk7Ci0tCQliID0gZ2VuX2dhdGV3YXkoZWFkZHIsIGFsaXN0LCBwcm90bywgZGlyKTsKLSsJCWIgPSBnZW5fZ2F0ZXdheShjc3RhdGUsIGVhZGRyLCBhbGlzdCwgcHJvdG8sIGRpcik7Ci0gCQlmcmVlKGVhZGRyKTsKLSAJCXJldHVybiBiOwotICNlbHNlCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvZGlzYWJsZS1yZW1vdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2Rpc2FibGUtcmVtb3RlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFlZWE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvZGlzYWJsZS1yZW1vdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1EaXNhYmxlIGJpdHMgb2YgcmVtb3RlIGNhcHR1cmUgc3VwcG9ydCBpbmhlcml0ZWQgZnJvbSB0aGUgV2luUENBUCBtZXJnZQotd2hpY2ggY2F1c2UgYXBwbGljYXRpb25zIHRvIEZUQkZTIGlmIHRoZXkgZGVmaW5lIEhBVkVfUkVNT1RFLgotCi1QYXRjaCBmcm9tOgotaHR0cHM6Ly9hbm9uc2NtLmRlYmlhbi5vcmcvY2dpdC91c2Vycy9yZnJhbmNvaXNlL2xpYnBjYXAuZ2l0L2NvbW1pdC8/Ci1pZD1mMzU5NDk5NjkyNjlkZmRjYzM1NDliMTJmYWRlNjA0NzU1ZTFlMzI2Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gYS9wY2FwL3BjYXAuaAotKysrIGIvcGNhcC9wY2FwLmgKLUBAIC01MDYsNiArNTA2LDExIEBACi0gICAjZGVmaW5lIE1PREVfU1RBVCAxCi0gICAjZGVmaW5lIE1PREVfTU9OIDIKLSAKLSsjaWZkZWYgSEFWRV9SRU1PVEUKLSsgIC8qIEluY2x1ZGVzIG1vc3Qgb2YgdGhlIHB1YmxpYyBzdHVmZiB0aGF0IGlzIG5lZWRlZCBmb3IgdGhlIHJlbW90ZSBjYXB0dXJlICovCi0rICAjaW5jbHVkZSA8cmVtb3RlLWV4dC5oPgotKyNlbmRpZgkgLyogSEFWRV9SRU1PVEUgKi8KLSsKLSAjZWxpZiBkZWZpbmVkKE1TRE9TKQotIAotICAgLyoKLUBAIC01MjYsMTEgKzUzMSw2IEBACi0gCi0gI2VuZGlmIC8qIF9XSU4zMi9NU0RPUy9VTipYICovCi0gCi0tI2lmZGVmIEhBVkVfUkVNT1RFCi0tICAvKiBJbmNsdWRlcyBtb3N0IG9mIHRoZSBwdWJsaWMgc3R1ZmYgdGhhdCBpcyBuZWVkZWQgZm9yIHRoZSByZW1vdGUgY2FwdHVyZSAqLwotLSAgI2luY2x1ZGUgPHJlbW90ZS1leHQuaD4KLS0jZW5kaWYJIC8qIEhBVkVfUkVNT1RFICovCi0tCi0gI2lmZGVmIF9fY3BsdXNwbHVzCi0gfQotICNlbmRpZgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2ZpeC1ncmFtbWFyLWRlcHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwL2ZpeC1ncmFtbWFyLWRlcHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MGU2NTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9maXgtZ3JhbW1hci1kZXBzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRml4IGEgbWlzc2luZyBkZXBlbmRlbmN5IHRoYXQgY2FuIHJlc3VsdCBpbjoKLQotLi4vbGlicGNhcC0xLjguMS9ncmFtbWFyLnk6Nzg6MTA6IGZhdGFsIGVycm9yOiBzY2FubmVyLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSAwZGQ5MGE2YmRiY2U0ZGNhMTQxMDY4NTllZWU2M2VmNjQzYTEwNmUyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxmcmVkbyBBbHZhcmV6IEZlcm5hbmRleiA8YWxmcmVkb2FsdmFyZXplcm5hbmRlekBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIxIEZlYiAyMDE3IDExOjQxOjQzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIE1ha2VmaWxlLmluOiBGaXggbWlzc2luZyBkZXBlbmRlbmN5Ci0KLS0tLQotIE1ha2VmaWxlLmluIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggNzA0NGYwNDMuLmY1ZDQ0M2FlIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtNDY1LDcgKzQ2NSw3IEBAIGdyYW1tYXIuaDogZ3JhbW1hci5jCi0gCQkkKE1BS0UpICQoTUFLRUZMQUdTKSBncmFtbWFyLmM7IFwKLSAJZmkKLSAKLS1ncmFtbWFyLm86IGdyYW1tYXIuYwotK2dyYW1tYXIubzogZ3JhbW1hci5jIHNjYW5uZXIuaAotIAkkKENDKSAkKEZVTExfQ0ZMQUdTKSAtYyBncmFtbWFyLmMKLSAKLSBnZW5jb2RlLm86ICQoc3JjZGlyKS9nZW5jb2RlLmMgZ3JhbW1hci5oIHNjYW5uZXIuaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcC9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZmFhM2JlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9saWJwY2FwL2xpYnBjYXAvbGlicGNhcC1wa2djb25maWctc3VwcG9ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDczICswLDAgQEAKLUZyb20gMjc5NjEyOWFmNTI5MDFkZDY4NTk1ZTVlODhhNjM5MzA4NTQxZGVmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBUaHUsIDMgTm92IDIwMTYgMTc6NTY6MjkgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlicGNhcDogcGtnY29uZmlnIHN1cHBvcnQKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLUFkZGluZyBiYXNpYyBzdHJ1Y3R1cmUgdG8gc3VwcG9ydCBwa2ctY29uZmlnLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgTWFjRG9uYWxkIDxqb2VfbWFjZG9uYWxkQG1lbnRvci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBGYWJpbyBCZXJ0b24gPGZhYmlvLmJlcnRvbkBvc3N5c3RlbXMuY29tLmJyPgotLS0tCi0gTWFrZWZpbGUuaW4gICB8ICA1ICsrKysrCi0gY29uZmlndXJlLmFjICB8ICAxICsKLSBsaWJwY2FwLnBjLmluIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJwY2FwLnBjLmluCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBlNzFkOTczLi5kNzAwNGVkIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtNjEsNiArNjEsMTAgQEAgVl9SUEFUSF9PUFQgPSBAVl9SUEFUSF9PUFRACi0gREVQRU5ERU5DWV9DRkxBRyA9IEBERVBFTkRFTkNZX0NGTEFHQAotIFBST0c9bGlicGNhcAotIAotKyMgcGtnY29uZmlnIHN1cHBvcnQKLStwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCi0rcGtnY29uZmlnX0RBVEEgPSBsaWJwY2FwLnBjCi0rCi0gIyBTdGFuZGFyZCBDRkxBR1MKLSBGVUxMX0NGTEFHUyA9ICQoQ0NPUFQpICQoSU5DTFMpICQoREVGUykgJChDRkxBR1MpCi0gCi1AQCAtMjg2LDYgKzI5MCw3IEBAIEVYVFJBX0RJU1QgPSBcCi0gCWxibC9vcy1zb2xhcmlzMi5oIFwKLSAJbGJsL29zLXN1bm9zNC5oIFwKLSAJbGJsL29zLXVsdHJpeDQuaCBcCi0rCWxpYnBjYXAucGMgXAotIAltaXNzaW5nL2dldG9wdC5jIFwKLSAJbWlzc2luZy9nZXRvcHQuaCBcCi0gCW1pc3Npbmcvc25wcmludGYuYyBcCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBkYTJmOTQwLi40ZmM2N2JmIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xODA1LDYgKzE4MDUsNyBAQCBmaQotIEFDX1BST0dfSU5TVEFMTAotIAotIEFDX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCi0rQUNfQ09ORklHX0ZJTEVTKFtsaWJwY2FwLnBjXSkKLSAKLSBBQ19PVVRQVVRfQ09NTUFORFMoW2lmIHRlc3QgLWYgLmRldmVsOyB0aGVuCi0gCWVjaG8gdGltZXN0YW1wID4gc3RhbXAtaAotZGlmZiAtLWdpdCBhL2xpYnBjYXAucGMuaW4gYi9saWJwY2FwLnBjLmluCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNGY3OGFkOAotLS0tIC9kZXYvbnVsbAotKysrIGIvbGlicGNhcC5wYy5pbgotQEAgLTAsMCArMSwxMCBAQAotK3ByZWZpeD1AcHJlZml4QAotK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKLStsaWJkaXI9QGxpYmRpckAKLStpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAotKwotK05hbWU6IGxpYnBjYXAKLStEZXNjcmlwdGlvbjogU3lzdGVtLWluZGVwZW5kZW50IGludGVyZmFjZSBmb3IgdXNlci1sZXZlbCBwYWNrZXQgY2FwdHVyZS4KLStWZXJzaW9uOiBAVkVSU0lPTkAKLStMaWJzOiAtTCR7bGliZGlyfSAtbHBjYXAKLStDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjguMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNkZmJkNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSBsaWJwY2FwLmluYwotCi1TUkNfVVJJICs9ICIgXAotICAgIGZpbGU6Ly9saWJwY2FwLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1GaXgtY29tcGlsZXJfc3RhdGVfdC5haS11c2FnZS13aGVuLUlORVQ2LWlzLW5vdC1kZWZpLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1BZGQtbWlzc2luZy1jb21waWxlcl9zdGF0ZV90LXBhcmFtZXRlci5wYXRjaCBcCi0gICAgZmlsZTovL2Rpc2FibGUtcmVtb3RlLnBhdGNoIFwKLSAgICBmaWxlOi8vZml4LWdyYW1tYXItZGVwcy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzZDQ4ZjljZDE3MWZmMTJiMGVmZDkxMzRiNTJmMTQ0NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NzNkYmM2OWZkYzNmNWE4NmZiNTc1OWFiMTk4OTkwMzlhOGU1ZTZjNjMxNzQ5ZTQ4ZGNkOWM2ZjBjODM1NDFlIgotCi0jCi0jIG1ha2UgaW5zdGFsbCBkb2Vzbid0IGNvdmVyIHRoZSBzaGFyZWQgbGliCi0jIG1ha2UgaW5zdGFsbC1zaGFyZWQgaXMganVzdCBicm9rZW4gKG5vIHN5bWxpbmtzKQotIwotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgI3JlbW92ZSBoYXJkY29kZWQgcmVmZXJlbmNlcyB0byAvdXNyL2luY2x1ZGUKLSAgICBzZWQgJ3N8XChbICJeJ1wnJ0ldXCtcKS91c3IvaW5jbHVkZS98XDEke1NUQUdJTkdfSU5DRElSfS98ZycgLWkgJHtTfS9jb25maWd1cmUuYWMKLX0KLQotZG9faW5zdGFsbF9wcmVwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KLSAgICBvZV9ydW5tYWtlIGluc3RhbGwtc2hhcmVkIERFU1RESVI9JHtEfQotICAgIG9lX2xpYmluc3RhbGwgLWEgLXNvIGxpYnBjYXAgJHtEfSR7bGliZGlyfQotICAgIHNlZCAic3xAVkVSU0lPTkB8JHtQVn18IiAtaSAke0J9L2xpYnBjYXAucGMKLSAgICBpbnN0YWxsIC1EIC1tIDA2NDQgbGlicGNhcC5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9saWJwY2FwLnBjCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbGlicGNhcC9saWJwY2FwXzEuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODM2MTU2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L2xpYnBjYXAvbGlicGNhcF8xLjkuMC5iYgpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIkludGVyZmFjZSBmb3IgdXNlci1sZXZlbCBuZXR3b3JrIHBhY2tldCBjYXB0dXJlIgorREVTQ1JJUFRJT04gPSAiTGlicGNhcCBwcm92aWRlcyBhIHBvcnRhYmxlIGZyYW1ld29yayBmb3IgbG93LWxldmVsIG5ldHdvcmsgXAorbW9uaXRvcmluZy4gIExpYnBjYXAgY2FuIHByb3ZpZGUgbmV0d29yayBzdGF0aXN0aWNzIGNvbGxlY3Rpb24sIFwKK3NlY3VyaXR5IG1vbml0b3JpbmcgYW5kIG5ldHdvcmsgZGVidWdnaW5nLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cudGNwZHVtcC5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTUzMDY3JmF0aWQ9NDY5NTc3IgorU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVlYjI4OTIxN2MxNjBlMjkyMGQyZTM1YmRkYzM2NDUzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BjYXAuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTMyO21kNT0zOWFmMzUxMGUwMTFmMzRiODg3MmYxMjBiMWRjMzFkMiIKK0RFUEVORFMgPSAiZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LnRjcGR1bXAub3JnL3JlbGVhc2UvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcGNhcC11c2ItbGludXguYy1hZGQtbWlzc2luZy1saW1pdHMuaC1mb3ItbXVzbC1zeXN0ZS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZmZkNjVjYjE0NDA2YWI5ODQxZjQyMTczMmViMGYzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZWRiODg4MDhlNTkxM2ZkYWE4ZTljMWZjYWYyNzJlMTliMjQ4NTMzODc0MmI1MDc0YjlmZTQ0ZDY4ZjM3MDE5IgorCitpbmhlcml0IGF1dG90b29scyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnIGJsdWV0b290aAorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjYXAtY29uZmlnIgorCisjIEV4cGxpY2l0bHkgZGlzYWJsZSBkYWcgc3VwcG9ydC4gV2UgZG9uJ3QgaGF2ZSByZWNpcGUgZm9yIGl0IGFuZCBpZiBlbmFibGVkIGhlcmUsCisjIGNvbmZpZ3VyZSBzY3JpcHQgcG9pc29ucyB0aGUgaW5jbHVkZSBkaXJzIHdpdGggL3Vzci9sb2NhbC9pbmNsdWRlIGV2ZW4gd2hlbiB0aGUKKyMgc3VwcG9ydCBoYXNuJ3QgYmVlbiBkZXRlY3RlZC4KK0VYVFJBX09FQ09ORiA9ICIgXAorICAgICAgICAgICAgICAgICAtLXdpdGgtcGNhcD1saW51eCBcCisgICAgICAgICAgICAgICAgIC0td2l0aG91dC1kYWcgXAorICAgICAgICAgICAgICAgICAiCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisiCitQQUNLQUdFQ09ORklHW2JsdWV6NV0gPSAiLS1lbmFibGUtYmx1ZXRvb3RoLC0tZGlzYWJsZS1ibHVldG9vdGgsYmx1ZXo1IgorUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItLWVuYWJsZS1kYnVzLC0tZGlzYWJsZS1kYnVzLGRidXMiCitQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1tsaWJubF0gPSAiLS13aXRoLWxpYm5sLC0td2l0aG91dC1saWJubCxsaWJubCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgICNyZW1vdmUgaGFyZGNvZGVkIHJlZmVyZW5jZXMgdG8gL3Vzci9pbmNsdWRlCisgICAgc2VkICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICR7U30vY29uZmlndXJlLmFjCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbXVsdGlsaWJmaXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tdWx0aWxpYmZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U5N2U4ZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tdWx0aWxpYmZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVRoZSBtb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMgZmlsZSBpcyBpbnN0YWxsZWQgaW50byBhIG5vbi1hcmNoIGRpcmVjdG9yeQoteWV0IGNvbnRhaW5zIGxpYmRpciB3aGljaCBjYW4gdmFyeSBkZXBlbmRpbmcgb24gd2hpY2ggbXVsdGlsaWIgaXMgY29uZmlndXJlZC4KLVRoZSAucGMgZmlsZSBkb2VzIG5vdCByZXF1aXJlIGxpYmRpciBzbyByZW1vdmUgdGhpcyB0byBmaXggbXVsdGlsaWIgYnVpbGRzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs4MTA5ZmNkM2M3Mjk5ZmFlODU5ZmI4OTFmZjQxNjkyNzU4MWE5OTU1XQotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLQotSW5kZXg6IGdpdC9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8ucGMuaW4JMjAxOC0wOC0wNyAxMzowOTozMS44MTEzNjQwNjMgKzA4MDAKLSsrKyBnaXQvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvLnBjLmluCTIwMTgtMDgtMTAgMTc6NDk6MjUuNjQ1Mjg4MzIwICswODAwCi1AQCAtMSw2ICsxLDUgQEAKLSBwcmVmaXg9QHByZWZpeEAKLSBleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACi0tbGliZGlyPUBsaWJkaXJACi0gZGF0YXJvb3RkaXIgPSBAZGF0YXJvb3RkaXJACi0gcGtnZGF0YWRpcj0ke2RhdGFyb290ZGlyfS9AUEFDS0FHRUAKLSBpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm9fZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm9fZ2l0LmJiCmluZGV4IDdmMWRkNzguLjc3YWRjZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9tb2JpbGUtYnJvYWRiYW5kLXByb3ZpZGVyLWluZm8vbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbW9iaWxlLWJyb2FkYmFuZC1wcm92aWRlci1pbmZvL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mb19naXQuYmIKQEAgLTMsMTMgKzMsMTEgQEAKIFNFQ1RJT04gPSAibmV0d29yayIKIExJQ0VOU0UgPSAiUEQiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04Nzk2NDU3OWIyYThlY2U0YmM2NzQ0ZDJkYzlhOGIwNCIKLVNSQ1JFViA9ICJiZWZjYmJjOTg2N2U3NDJhYzE2NDE1NjYwYjBiNzUyMTIxOGE1MzBjIgotUFYgPSAiMjAxNzAzMTAiCitTUkNSRVYgPSAiYzdkZWY2MGJhNTBkOWNjMzBhOTBmNjlmODlkN2U4MjI0MzUwMWU4NiIKK1BWID0gIjIwMTkwMTE2IgogUEUgPSAiMSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby5naXQ7cHJvdG9jb2w9aHR0cHMgXAotICAgICAgICAgICBmaWxlOi8vbXVsdGlsaWJmaXgucGF0Y2ggXAotIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL21vYmlsZS1icm9hZGJhbmQtcHJvdmlkZXItaW5mby5naXQ7cHJvdG9jb2w9aHR0cHMiCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IGF1dG90b29scwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eby1ub3QtcGFzcy1udWxsLXBvaW50ZXItdG8tZnJlZWFkZHJpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NGQxYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLURvLW5vdC1wYXNzLW51bGwtcG9pbnRlci10by1mcmVlYWRkcmluZm8ucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA0ZjExNWZjMzE0NjQ2NTAwZjdiNDE3OGQ3MjQ4YTAyNjU0YzdjZDEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMzAgTm92IDIwMTggMTY6NDc6NTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHBhc3MgbnVsbCBwb2ludGVyIHRvIGZyZWVhZGRyaW5mbygpCisKK1Bhc3NpbmcgbnVsbCBwb2ludGVyIGFzIGlucHV0IHBhcmFtZXRlciB0byBmcmVlYWRkcmluZm8oKSBpcyB1bmRlZmluZWQKK2JlaGF2aW91ciwgc29tZSBsaWJjcyBlLmcuIGdsaWJjIG1pZ2h0IGp1c3QgY2FsbCBmcmVlKCkgd2hpY2ggZG9lcworYWNjZXB0IG51bGwgcG9pbnRlciBidXQgb3RoZXIgbGliY3MgZS5nLiBtdXNsIG1pZ2h0IG5vdCBhbmQgaW5zdGVhZAorY2F1c2UgdGhlIHByb2dyYW0gdG8gc2VnZmF1bHQuIFRoZXJlZm9yZSBkbyBub3QgcmVseSBvbiB1bmRlZmluZWQKK2JlaGF2aW91ciBpbnN0ZWFkIG1ha2UgaXQgZGV0ZXJtaW5pc3RpYworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHN1cHBvcnQvZXhwb3J0L2NsaWVudC5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjIvc3VwcG9ydC9leHBvcnQvY2xpZW50LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjIub3JpZy9zdXBwb3J0L2V4cG9ydC9jbGllbnQuYworKysrIG5mcy11dGlscy0yLjMuMi9zdXBwb3J0L2V4cG9ydC9jbGllbnQuYworQEAgLTMwOSw3ICszMDksOCBAQCBjbGllbnRfbG9va3VwKGNoYXIgKmhuYW1lLCBpbnQgY2Fub25pY2FsCisgCQlpbml0X2FkZHJsaXN0KGNscCwgYWkpOworIAorIG91dDoKKy0JZnJlZWFkZHJpbmZvKGFpKTsKKysJaWYgKGFpKQorKwkJZnJlZWFkZHJpbmZvKGFpKTsKKyAJcmV0dXJuIGNscDsKKyB9CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLURvbi10LWJ1aWxkLXRvb2xzLXdpdGgtQ0NfRk9SX0JVSUxELnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eb24tdC1idWlsZC10b29scy13aXRoLUNDX0ZPUl9CVUlMRC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2JjM2VhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1Eb24tdC1idWlsZC10b29scy13aXRoLUNDX0ZPUl9CVUlMRC5wYXRjaApAQCAtMCwwICsxLDQwIEBACitGcm9tIDc5MDE5ZDk3NjU4NGM1OThmOGQwYTlkOGRlNDNjOTg5OTQ2Zjk3NGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQYXNjYWwgQmFjaCA8cGFzY2FsLmJhY2hAc2llbWVucy5jb20+CitEYXRlOiBXZWQsIDEzIEZlYiAyMDE5IDA5OjI4OjA3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IGJ1aWxkIHRvb2xzIHdpdGggQ0NfRk9SX0JVSUxECisKK1RoZSB0b29scyBhcmUgaW50ZW5kZWQgZm9yIHRoZSB0YXJnZXQgbm90IGZvciB0aGUgaG9zdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBhc2NhbCBCYWNoIDxwYXNjYWwuYmFjaEBzaWVtZW5zLmNvbT4KKy0tLQorIHRvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtIHwgMSAtCisgdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtICAgfCAxIC0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbSBiL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCitpbmRleCAzMTU2ODE1Li44N2QwYmFjIDEwMDY0NAorLS0tIGEvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0KKysrKyBiL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCitAQCAtMSw2ICsxLDUgQEAKKyAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKyAKKy1DQz0kKENDX0ZPUl9CVUlMRCkKKyBMSUJUT09MID0gQExJQlRPT0xAIC0tdGFnPUNDCisgCisgbm9pbnN0X1BST0dSQU1TID0gdGVzdGxrCitkaWZmIC0tZ2l0IGEvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtIGIvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCitpbmRleCA4YTllYzg5Li4zZTA5MmM5IDEwMDY0NAorLS0tIGEvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCisrKysgYi90b29scy9ycGNnZW4vTWFrZWZpbGUuYW0KK0BAIC0xLDYgKzEsNSBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorLUNDPSQoQ0NfRk9SX0JVSUxEKQorIExJQlRPT0wgPSBATElCVE9PTEAgLS10YWc9Q0MKKyAKKyBub2luc3RfUFJPR1JBTVMgPSBycGNnZW4KKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtTWFrZWZpbGUuYW0tZml4LXVuZGVmaW5lZC1mdW5jdGlvbi1mb3ItbGlibnNtLmEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNTUxZWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitGcm9tIDY5MGE5MGE1Yjc3ODZlNDBiNTQ0N2FkN2M1ZjE5YTc2NTdkMjc0MDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNCBEZWMgMjAxOCAxNzo0NDozMiArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogZml4IHVuZGVmaW5lZCBmdW5jdGlvbiBmb3IgbGlibnNtLmEKKworVGhlIHNvdXJjZSBmaWxlIG9mIGxpYm5zbS5hIHVzZXMgc29tZSBmdW5jdGlvbgoraW4gLi4vc3VwcG9ydC9taXNjL2ZpbGUuYywgYWRkIC4uL3N1cHBvcnQvbWlzYy9maWxlLmMKK3RvIGxpYm5zbV9hX1NPVVJDRVMgdG8gZml4IGJ1aWxkIGVycm9yIHdoZW4gcnVuCisibWFrZSAtQyB0ZXN0cyBzdGF0ZGJfZHVtcCI6Cit8IC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hKGZpbGUubyk6IEluIGZ1bmN0aW9uIGBuc21fbWFrZV9wYXRobmFtZSc6Cit8IC91c3Ivc3JjL2RlYnVnL25mcy11dGlscy8yLjMuMy1yMC9uZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uc20vZmlsZS5jOjE3NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2VuZXJpY19tYWtlX3BhdGhuYW1lJworfCAvdXNyL3NyYy9kZWJ1Zy9uZnMtdXRpbHMvMi4zLjMtcjAvbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbnNtL2ZpbGUuYzoxNzU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdlbmVyaWNfbWFrZV9wYXRobmFtZScKK3wgL3Vzci9zcmMvZGVidWcvbmZzLXV0aWxzLzIuMy4zLXIwL25mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9maWxlLmM6MTc1OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZW5lcmljX21ha2VfcGF0aG5hbWUnCit8IC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hKGZpbGUubyk6IEluIGZ1bmN0aW9uIGBuc21fc2V0dXBfcGF0aG5hbWVzJzoKK3wgL3Vzci9zcmMvZGVidWcvbmZzLXV0aWxzLzIuMy4zLXIwL25mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9maWxlLmM6MjgwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZW5lcmljX3NldHVwX2Jhc2VkaXInCit8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworCitBcyB0aGVyZSBpcyBhbHJlYWR5IG9uZSBzb3VyY2UgZmlsZSBuYW1lZCBmaWxlLmMKK2FzIHN1cHBvcnQvbnNtL2ZpbGUuYyBpbiBzdXBwb3J0L25zbS9NYWtlZmlsZS5hbSwKK3NvIHJlbmFtZSAuLi9zdXBwb3J0L21pc2MvZmlsZS5jIHRvIC4uL3N1cHBvcnQvbWlzYy9taXNjLmMuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vbWFyYy5pbmZvLz9sPWxpbnV4LW5mcyZtPTE1NDUwMjc4MDQyMzA1OCZ3PTJdCisKK1NpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBwb3J0L21pc2MvTWFrZWZpbGUuYW0gfCAgIDIgKy0KKyBzdXBwb3J0L21pc2MvZmlsZS5jICAgICAgfCAxMTEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzdXBwb3J0L21pc2MvbWlzYy5jICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzdXBwb3J0L25zbS9NYWtlZmlsZS5hbSAgfCAgIDIgKy0KKyA0IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAxMTMgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IHN1cHBvcnQvbWlzYy9maWxlLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3VwcG9ydC9taXNjL21pc2MuYworCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtIGIvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtCitpbmRleCA4OTM2YjBkLi5kNGMxZjc2IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9taXNjL01ha2VmaWxlLmFtCisrKysgYi9zdXBwb3J0L21pc2MvTWFrZWZpbGUuYW0KK0BAIC0xLDYgKzEsNiBAQAorICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorIG5vaW5zdF9MSUJSQVJJRVMgPSBsaWJtaXNjLmEKKy1saWJtaXNjX2FfU09VUkNFUyA9IHRjcHdyYXBwZXIuYyBmcm9tX2xvY2FsLmMgbW91bnRwb2ludC5jIGZpbGUuYworK2xpYm1pc2NfYV9TT1VSQ0VTID0gdGNwd3JhcHBlci5jIGZyb21fbG9jYWwuYyBtb3VudHBvaW50LmMgbWlzYy5jCisgCisgTUFJTlRBSU5FUkNMRUFORklMRVMgPSBNYWtlZmlsZS5pbgorZGlmZiAtLWdpdCBhL3N1cHBvcnQvbWlzYy9maWxlLmMgYi9zdXBwb3J0L21pc2MvZmlsZS5jCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGU3YzM4MTkuLjAwMDAwMDAKKy0tLSBhL3N1cHBvcnQvbWlzYy9maWxlLmMKKysrKyAvZGV2L251bGwKK0BAIC0xLDExMSArMCwwIEBACistLyoKKy0gKiBDb3B5cmlnaHQgMjAwOSBPcmFjbGUuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLSAqIENvcHlyaWdodCAyMDE3IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCistICoKKy0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZnMtdXRpbHMuCistICoKKy0gKiBuZnMtdXRpbHMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CistICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLSAqCistICogbmZzLXV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCistICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy0gKgorLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCistICogYWxvbmcgd2l0aCBuZnMtdXRpbHMuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCistICovCistCistI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CistCistI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlIDxsaWJnZW4uaD4KKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8ZXJybm8uaD4KKy0jaW5jbHVkZSA8ZGlyZW50Lmg+CistI2luY2x1ZGUgPHN0ZGxpYi5oPgorLSNpbmNsdWRlIDxzdGRib29sLmg+CistI2luY2x1ZGUgPGxpbWl0cy5oPgorLQorLSNpbmNsdWRlICJ4bG9nLmgiCistI2luY2x1ZGUgIm1pc2MuaCIKKy0KKy0vKgorLSAqIFJldHVybnMgYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQsICdcMCctdGVybWluYXRlZCBidWZmZXIKKy0gKiBjb250YWluaW5nIGFuIGFwcHJvcHJpYXRlIHBhdGhuYW1lLCBvciBOVUxMIGlmIGFuIGVycm9yCistICogb2NjdXJzLiAgQ2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgcmVzdWx0IHdpdGggZnJlZSgzKS4KKy0gKi8KKy1fX2F0dHJpYnV0ZV9fKChfX21hbGxvY19fKSkKKy1jaGFyICoKKy1nZW5lcmljX21ha2VfcGF0aG5hbWUoY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAqbGVhZikKKy17CistCXNpemVfdCBzaXplOworLQljaGFyICpwYXRoOworLQlpbnQgbGVuOworLQorLQlzaXplID0gc3RybGVuKGJhc2UpICsgc3RybGVuKGxlYWYpICsgMjsKKy0JaWYgKHNpemUgPiBQQVRIX01BWCkKKy0JCXJldHVybiBOVUxMOworLQorLQlwYXRoID0gbWFsbG9jKHNpemUpOworLQlpZiAocGF0aCA9PSBOVUxMKQorLQkJcmV0dXJuIE5VTEw7CistCistCWxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemUsICIlcy8lcyIsIGJhc2UsIGxlYWYpOworLQlpZiAoKGxlbiA8IDApIHx8ICgoc2l6ZV90KWxlbiA+PSBzaXplKSkgeworLQkJZnJlZShwYXRoKTsKKy0JCXJldHVybiBOVUxMOworLQl9CistCistCXJldHVybiBwYXRoOworLX0KKy0KKy0KKy0vKioKKy0gKiBnZW5lcmljX3NldHVwX2Jhc2VkaXIgLSBzZXQgdXAgYmFzZWRpcgorLSAqIEBwcm9nbmFtZTogQyBzdHJpbmcgY29udGFpbmluZyBuYW1lIG9mIHByb2dyYW0sIGZvciBlcnJvciBtZXNzYWdlcworLSAqIEBwYXJlbnRkaXI6IEMgc3RyaW5nIGNvbnRhaW5pbmcgcGF0aG5hbWUgdG8gb24tZGlzayBzdGF0ZSwgb3IgTlVMTAorLSAqIEBiYXNlOiBjaGFyYWN0ZXIgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIGJhc2VkaXIgdGhhdCBpcyBzZXQgdXAKKy0gKiBAYmFzZWxlbjogc2l6ZSBvZiBAYmFzZSBpbiBieXRlcworLSAqCistICogVGhpcyBydW5zIGJlZm9yZSBsb2dnaW5nIGlzIHNldCB1cCwgc28gZXJyb3IgbWVzc2FnZXMgYXJlIGRpcmVjdGVkCistICogdG8gc3RkZXJyLgorLSAqCistICogUmV0dXJucyB0cnVlIGFuZCBzZXRzIHVwIG91ciBiYXNlZGlyLCBpZiBAcGFyZW50ZGlyIHdhcyB2YWxpZAorLSAqIGFuZCB1c2FibGU7IG90aGVyd2lzZSBmYWxzZSBpcyByZXR1cm5lZC4KKy0gKi8KKy1fQm9vbAorLWdlbmVyaWNfc2V0dXBfYmFzZWRpcihjb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqcGFyZW50ZGlyLCBjaGFyICpiYXNlLAorLQkJICAgICAgY29uc3Qgc2l6ZV90IGJhc2VsZW4pCisteworLQlzdGF0aWMgY2hhciBidWZbUEFUSF9NQVhdOworLQlzdHJ1Y3Qgc3RhdCBzdDsKKy0JY2hhciAqcGF0aDsKKy0KKy0JLyogRmlyc3Q6IHRlc3QgbGVuZ3RoIG9mIG5hbWUgYW5kIHdoZXRoZXIgaXQgZXhpc3RzICovCistCWlmICgoc3RybGVuKHBhcmVudGRpcikgPj0gYmFzZWxlbikgfHwgKHN0cmxlbihwYXJlbnRkaXIpID49IFBBVEhfTUFYKSkgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRGlyZWN0b3J5IG5hbWUgdG9vIGxvbmc6ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CistCQlyZXR1cm4gZmFsc2U7CistCX0KKy0JaWYgKGxzdGF0KHBhcmVudGRpciwgJnN0KSA9PSAtMSkgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRmFpbGVkIHRvIHN0YXQgJXM6ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpciwgc3RyZXJyb3IoZXJybm8pKTsKKy0JCXJldHVybiBmYWxzZTsKKy0JfQorLQorLQkvKiBFbnN1cmUgd2UgaGF2ZSBhIGNsZWFuIGRpcmVjdG9yeSBwYXRobmFtZSAqLworLQlzdHJuY3B5KGJ1ZiwgcGFyZW50ZGlyLCBzaXplb2YoYnVmKS0xKTsKKy0JcGF0aCA9IGRpcm5hbWUoYnVmKTsKKy0JaWYgKCpwYXRoID09ICcuJykgeworLQkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogVW51c2FibGUgZGlyZWN0b3J5ICVzIiwKKy0JCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CistCQlyZXR1cm4gZmFsc2U7CistCX0KKy0KKy0JeGxvZyhEX0NBTEwsICJVc2luZyAlcyBhcyB0aGUgc3RhdGUgZGlyZWN0b3J5IiwgcGFyZW50ZGlyKTsKKy0Jc3RyY3B5KGJhc2UsIHBhcmVudGRpcik7CistCXJldHVybiB0cnVlOworLX0KK2RpZmYgLS1naXQgYS9zdXBwb3J0L21pc2MvbWlzYy5jIGIvc3VwcG9ydC9taXNjL21pc2MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmU3YzM4MTkKKy0tLSAvZGV2L251bGwKKysrKyBiL3N1cHBvcnQvbWlzYy9taXNjLmMKK0BAIC0wLDAgKzEsMTExIEBACisrLyoKKysgKiBDb3B5cmlnaHQgMjAwOSBPcmFjbGUuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorKyAqIENvcHlyaWdodCAyMDE3IFJlZCBIYXQsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICoKKysgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBuZnMtdXRpbHMuCisrICoKKysgKiBuZnMtdXRpbHMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICogbmZzLXV0aWxzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICogYWxvbmcgd2l0aCBuZnMtdXRpbHMuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrICovCisrCisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisrCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxsaWJnZW4uaD4KKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8ZGlyZW50Lmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyNpbmNsdWRlIDxzdGRib29sLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorKworKyNpbmNsdWRlICJ4bG9nLmgiCisrI2luY2x1ZGUgIm1pc2MuaCIKKysKKysvKgorKyAqIFJldHVybnMgYSBkeW5hbWljYWxseSBhbGxvY2F0ZWQsICdcMCctdGVybWluYXRlZCBidWZmZXIKKysgKiBjb250YWluaW5nIGFuIGFwcHJvcHJpYXRlIHBhdGhuYW1lLCBvciBOVUxMIGlmIGFuIGVycm9yCisrICogb2NjdXJzLiAgQ2FsbGVyIG11c3QgZnJlZSB0aGUgcmV0dXJuZWQgcmVzdWx0IHdpdGggZnJlZSgzKS4KKysgKi8KKytfX2F0dHJpYnV0ZV9fKChfX21hbGxvY19fKSkKKytjaGFyICoKKytnZW5lcmljX21ha2VfcGF0aG5hbWUoY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAqbGVhZikKKyt7CisrCXNpemVfdCBzaXplOworKwljaGFyICpwYXRoOworKwlpbnQgbGVuOworKworKwlzaXplID0gc3RybGVuKGJhc2UpICsgc3RybGVuKGxlYWYpICsgMjsKKysJaWYgKHNpemUgPiBQQVRIX01BWCkKKysJCXJldHVybiBOVUxMOworKworKwlwYXRoID0gbWFsbG9jKHNpemUpOworKwlpZiAocGF0aCA9PSBOVUxMKQorKwkJcmV0dXJuIE5VTEw7CisrCisrCWxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemUsICIlcy8lcyIsIGJhc2UsIGxlYWYpOworKwlpZiAoKGxlbiA8IDApIHx8ICgoc2l6ZV90KWxlbiA+PSBzaXplKSkgeworKwkJZnJlZShwYXRoKTsKKysJCXJldHVybiBOVUxMOworKwl9CisrCisrCXJldHVybiBwYXRoOworK30KKysKKysKKysvKioKKysgKiBnZW5lcmljX3NldHVwX2Jhc2VkaXIgLSBzZXQgdXAgYmFzZWRpcgorKyAqIEBwcm9nbmFtZTogQyBzdHJpbmcgY29udGFpbmluZyBuYW1lIG9mIHByb2dyYW0sIGZvciBlcnJvciBtZXNzYWdlcworKyAqIEBwYXJlbnRkaXI6IEMgc3RyaW5nIGNvbnRhaW5pbmcgcGF0aG5hbWUgdG8gb24tZGlzayBzdGF0ZSwgb3IgTlVMTAorKyAqIEBiYXNlOiBjaGFyYWN0ZXIgYnVmZmVyIHRvIGNvbnRhaW4gdGhlIGJhc2VkaXIgdGhhdCBpcyBzZXQgdXAKKysgKiBAYmFzZWxlbjogc2l6ZSBvZiBAYmFzZSBpbiBieXRlcworKyAqCisrICogVGhpcyBydW5zIGJlZm9yZSBsb2dnaW5nIGlzIHNldCB1cCwgc28gZXJyb3IgbWVzc2FnZXMgYXJlIGRpcmVjdGVkCisrICogdG8gc3RkZXJyLgorKyAqCisrICogUmV0dXJucyB0cnVlIGFuZCBzZXRzIHVwIG91ciBiYXNlZGlyLCBpZiBAcGFyZW50ZGlyIHdhcyB2YWxpZAorKyAqIGFuZCB1c2FibGU7IG90aGVyd2lzZSBmYWxzZSBpcyByZXR1cm5lZC4KKysgKi8KKytfQm9vbAorK2dlbmVyaWNfc2V0dXBfYmFzZWRpcihjb25zdCBjaGFyICpwcm9nbmFtZSwgY29uc3QgY2hhciAqcGFyZW50ZGlyLCBjaGFyICpiYXNlLAorKwkJICAgICAgY29uc3Qgc2l6ZV90IGJhc2VsZW4pCisreworKwlzdGF0aWMgY2hhciBidWZbUEFUSF9NQVhdOworKwlzdHJ1Y3Qgc3RhdCBzdDsKKysJY2hhciAqcGF0aDsKKysKKysJLyogRmlyc3Q6IHRlc3QgbGVuZ3RoIG9mIG5hbWUgYW5kIHdoZXRoZXIgaXQgZXhpc3RzICovCisrCWlmICgoc3RybGVuKHBhcmVudGRpcikgPj0gYmFzZWxlbikgfHwgKHN0cmxlbihwYXJlbnRkaXIpID49IFBBVEhfTUFYKSkgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRGlyZWN0b3J5IG5hbWUgdG9vIGxvbmc6ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysJaWYgKGxzdGF0KHBhcmVudGRpciwgJnN0KSA9PSAtMSkgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogRmFpbGVkIHRvIHN0YXQgJXM6ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpciwgc3RyZXJyb3IoZXJybm8pKTsKKysJCXJldHVybiBmYWxzZTsKKysJfQorKworKwkvKiBFbnN1cmUgd2UgaGF2ZSBhIGNsZWFuIGRpcmVjdG9yeSBwYXRobmFtZSAqLworKwlzdHJuY3B5KGJ1ZiwgcGFyZW50ZGlyLCBzaXplb2YoYnVmKS0xKTsKKysJcGF0aCA9IGRpcm5hbWUoYnVmKTsKKysJaWYgKCpwYXRoID09ICcuJykgeworKwkJKHZvaWQpZnByaW50ZihzdGRlcnIsICIlczogVW51c2FibGUgZGlyZWN0b3J5ICVzIiwKKysJCQkJcHJvZ25hbWUsIHBhcmVudGRpcik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysKKysJeGxvZyhEX0NBTEwsICJVc2luZyAlcyBhcyB0aGUgc3RhdGUgZGlyZWN0b3J5IiwgcGFyZW50ZGlyKTsKKysJc3RyY3B5KGJhc2UsIHBhcmVudGRpcik7CisrCXJldHVybiB0cnVlOworK30KK2RpZmYgLS1naXQgYS9zdXBwb3J0L25zbS9NYWtlZmlsZS5hbSBiL3N1cHBvcnQvbnNtL01ha2VmaWxlLmFtCitpbmRleCA4ZjU4NzRlLi42OGYxYTQ2IDEwMDY0NAorLS0tIGEvc3VwcG9ydC9uc20vTWFrZWZpbGUuYW0KKysrKyBiL3N1cHBvcnQvbnNtL01ha2VmaWxlLmFtCitAQCAtMTAsNyArMTAsNyBAQCBHRU5GSUxFUwk9ICQoR0VORklMRVNfQ0xOVCkgJChHRU5GSUxFU19TVkMpICQoR0VORklMRVNfWERSKSAkKEdFTkZJTEVTX0gpCisgRVhUUkFfRElTVAk9IHNtX2ludGVyLngKKyAKKyBub2luc3RfTElCUkFSSUVTID0gbGlibnNtLmEKKy1saWJuc21fYV9TT1VSQ0VTID0gJChHRU5GSUxFUykgZmlsZS5jIHJwYy5jCisrbGlibnNtX2FfU09VUkNFUyA9ICQoR0VORklMRVMpIC4uL21pc2MvbWlzYy5jIGZpbGUuYyBycGMuYworIAorIEJVSUxUX1NPVVJDRVMgPSAkKEdFTkZJTEVTKQorIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtTWFrZWZpbGUuYW0tdXBkYXRlLXRoZS1wYXRoLW9mLWxpYm5mcy5hLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNmFjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGZjZWNlNjVkMWI3MTNlYWVlZjQxNzA2ODk4NDQwMzAyZjhjZTkyZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxMiBKdWwgMjAxOCAxNToxOTo0MSArMDgwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5hbTogdXBkYXRlIHRoZSBwYXRoIG9mIGxpYm5mcy5hCisKK1RoZSBsaWJuZnMuYSBpcyB1bmRlciAuLi9zdXBwb3J0L25mcy8ubGlicy8gbm93LAordXBkYXRlIHRoZSByZWZlcmVuY2UgcGF0aCBhY2NvcmRpbmdseSB0byBmaXggYmVsb3cKK2J1aWxkIGVycm9yIHdoZW4gcnVuICJtYWtlIC1DIHRlc3RzIHN0YXRkYl9kdW1wIjoKK3wgbWFrZTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJy4uL3N1cHBvcnQvbmZzL2xpYm5mcy5hJywgbmVlZGVkIGJ5ICdzdGF0ZGJfZHVtcCcuICBTdG9wLgorCitBbmQgYmVsb3cgZXJyb3Igd2hlbiBydW4gIm1ha2UgLUMgdGVzdHMvbnNtX2NsaWVudCBuc21fY2xpZW50IgorfCBtYWtlOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnLi4vLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEnLCBuZWVkZWQgYnkgJ25zbV9jbGllbnQnLiAgU3RvcC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWRbaHR0cHM6Ly9tYXJjLmluZm8vP2w9bGludXgtbmZzJm09MTU0NTAyNjM2NTIyNzQ1Jnc9Ml0KKworU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgfCAyICstCisgdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbSB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL01ha2VmaWxlLmFtIGIvdGVzdHMvTWFrZWZpbGUuYW0KK2luZGV4IDFmOTYyNjQuLjc0YWE2MjkgMTAwNjQ0CistLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KK0BAIC0zLDcgKzMsNyBAQAorIGNoZWNrX1BST0dSQU1TID0gc3RhdGRiX2R1bXAKKyBzdGF0ZGJfZHVtcF9TT1VSQ0VTID0gc3RhdGRiX2R1bXAuYworIAorLXN0YXRkYl9kdW1wX0xEQUREID0gLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEgXAorK3N0YXRkYl9kdW1wX0xEQUREID0gLi4vc3VwcG9ydC9uZnMvLmxpYnMvbGlibmZzLmEgXAorIAkJICAgIC4uL3N1cHBvcnQvbnNtL2xpYm5zbS5hICQoTElCQ0FQKQorIAorIFNVQkRJUlMgPSBuc21fY2xpZW50CitkaWZmIC0tZ2l0IGEvdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbSBiL3Rlc3RzL25zbV9jbGllbnQvTWFrZWZpbGUuYW0KK2luZGV4IGE4ZmMxMzEuLjQzZGI5YzIgMTAwNjQ0CistLS0gYS90ZXN0cy9uc21fY2xpZW50L01ha2VmaWxlLmFtCisrKysgYi90ZXN0cy9uc21fY2xpZW50L01ha2VmaWxlLmFtCitAQCAtMTMsNyArMTMsNyBAQCBjaGVja19QUk9HUkFNUwk9IG5zbV9jbGllbnQKKyBuc21fY2xpZW50X1NPVVJDRVMgPSAkKEdFTkZJTEVTKSBuc21fY2xpZW50LmMKKyAKKyBCVUlMVF9TT1VSQ0VTID0gJChHRU5GSUxFUykKKy1uc21fY2xpZW50X0xEQUREID0gLi4vLi4vc3VwcG9ydC9uZnMvbGlibmZzLmEgXAorK25zbV9jbGllbnRfTERBREQgPSAuLi8uLi9zdXBwb3J0L25mcy8ubGlicy9saWJuZnMuYSBcCisgCQkgICAuLi8uLi9zdXBwb3J0L25zbS9saWJuc20uYSAkKExJQkNBUCkgJChMSUJUSVJQQykKKyAKKyBpZiBDT05GSUdfUlBDR0VOCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWZmZjViCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jYWNoZWlvLXVzZS1pbnRtYXhfdC1mb3ItZm9ybWF0dGVkLUlPLnBhdGNoCkBAIC0wLDAgKzEsMzggQEAKK0Zyb20gYWMzMmI4MTNmNWQ2ZjlhMmRlOTQ0MDE1Y2Y5YmI5OGQ2OGUwMjAzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDEgRGVjIDIwMTggMTA6MDI6MTIgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY2FjaGVpbzogdXNlIGludG1heF90IGZvciBmb3JtYXR0ZWQgSU8KKwordGltZV90IGlzIG5vdCBzYW1lIHNpemUgb24geDMyIEFCSSAoSUxQMzIpCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3VwcG9ydC9uZnMvY2FjaGVpby5jIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zdXBwb3J0L25mcy9jYWNoZWlvLmMgYi9zdXBwb3J0L25mcy9jYWNoZWlvLmMKK2luZGV4IDlkYzRjZjEuLjIwODZhOTUgMTAwNjQ0CistLS0gYS9zdXBwb3J0L25mcy9jYWNoZWlvLmMKKysrKyBiL3N1cHBvcnQvbmZzL2NhY2hlaW8uYworQEAgLTE3LDYgKzE3LDcgQEAKKyAKKyAjaW5jbHVkZSA8bmZzbGliLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgPHN0ZGlvX2V4dC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KK0BAIC0yMzQsNyArMjM1LDcgQEAgY2FjaGVfZmx1c2goaW50IGZvcmNlKQorIAkgICAgc3RiLnN0X210aW1lID4gbm93KQorIAkJc3RiLnN0X210aW1lID0gdGltZSgwKTsKKyAJCistCXNwcmludGYoc3RpbWUsICIlbGRcbiIsIHN0Yi5zdF9tdGltZSk7CisrCXNwcmludGYoc3RpbWUsICIlamRcbiIsIChpbnRtYXhfdClzdGIuc3RfbXRpbWUpOworIAlmb3IgKGM9MDsgY2FjaGVsaXN0W2NdOyBjKyspIHsKKyAJCWludCBmZDsKKyAJCXNwcmludGYocGF0aCwgIi9wcm9jL25ldC9ycGMvJXMvZmx1c2giLCBjYWNoZWxpc3RbY10pOworLS0gCisyLjE5LjIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jb25maWd1cmUuYWMtRG8tbm90LWZhdGFsaXplLVdtaXNzaW5nLXByb3RvdHlwZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy8wMDAxLWNvbmZpZ3VyZS5hYy1Eby1ub3QtZmF0YWxpemUtV21pc3NpbmctcHJvdG90eXBlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2FhYmI5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvMDAwMS1jb25maWd1cmUuYWMtRG8tbm90LWZhdGFsaXplLVdtaXNzaW5nLXByb3RvdHlwZXMucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAorRnJvbSA2NjQ3MWZiZjcxMDY5MTdkYTdhMTUzNmIxOGEwYTc3ZDA3NDc5Nzc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMTU6Mjk6NDcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBEbyBub3QgZmF0YWxpemUgLVdtaXNzaW5nLXByb3RvdHlwZXMKKworVGhlcmUgY29tZXMgYmVsb3cgZXJyb3Igd2hlbiBydW4gIm1ha2UgLUMgdGVzdHMvbnNtX2NsaWVudCBuc21fY2xpZW50IgorfCBubG1fc21faW50ZXJfc3ZjLmM6MjA6MTogZXJyb3I6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ25sbV9zbV9wcm9nXzMnIFstV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlc10KKworSXQgaXMgYmVjYXVzZSBycGNnZW4gZG9lc24ndCBnZW5lcmF0ZSAtV21pc3NpbmctcHJvdG90eXBlcworZnJlZSBjb2RlIGZvciBubG1fc21faW50ZXJfc3ZjLmMgd2l0aCBiZWxvdyBsb2dpYworaW4gdGVzdHMvbnNtX2NsaWVudC9NYWtlZmlsZS5hbQorW3NuaXBdCitHRU5GSUxFU19TVkMgICAgPSBubG1fc21faW50ZXJfc3ZjLmMKK1tzbmlwXQorJChHRU5GSUxFU19TVkMpOiAlX3N2Yy5jOiAlLnggJChSUENHRU4pCisgICAgICAgIHRlc3QgLWYgJEAgJiYgcm0gLXJmICRAIHx8IHRydWUKKyAgICAgICAgJChSUENHRU4pIC1tIC1vICRAICQ8CisKK1NvIGFkZCB0aGUgbG9naWMgbm90IHRvIGZhdGFsaXplIC1XbWlzc2luZy1wcm90b3R5cGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZFtodHRwczovL21hcmMuaW5mby8/bD1saW51eC1uZnMmbT0xNTQ1MDMyNjAzMjM5MzYmdz0yXQorCitTaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBlODJmZjE0Li5kMGNjNWQ1IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01NDgsNyArNTQ4LDcgQEAgbXlfYW1fY2ZsYWdzPSJcCisgIC1XYWxsIFwKKyAgLVdleHRyYSBcCisgIC1XZXJyb3I9c3RyaWN0LXByb3RvdHlwZXMgXAorLSAtV2Vycm9yPW1pc3NpbmctcHJvdG90eXBlcyBcCisrIC1XbWlzc2luZy1wcm90b3R5cGVzIFwKKyAgLVdlcnJvcj1taXNzaW5nLWRlY2xhcmF0aW9ucyBcCisgIC1XZXJyb3I9Zm9ybWF0PTIgXAorICAtV2Vycm9yPXVuZGVmIFwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvY2xhbmctZm9ybWF0LXN0cmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ2OTNlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL2NsYW5nLWZvcm1hdC1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK0NsYW5nIGNvbWVzIHVwIHdpdGggbW9yZSBwcmludGYgZm9ybWF0IHdhcm5pbmdzCitDb3JyZWN0aW5nIOKAnGZvcm1hdCBzdHJpbmcgaXMgbm90IGEgc3RyaW5nIGxpdGVyYWzigJ0gd2FybmluZworcmVxdWlyZXMgdXMgdG8gZGVjbGFyZSB0aGF0IHBhcmFtZXRlciBpcyBhIHByaW50ZiBzdHlsZSAKK2Zvcm1hdCB1c2luZyB0aGUgYXR0cmlidXRlIGZsYWcKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hjb21tb24uaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvaW5jbHVkZS94Y29tbW9uLmgKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hjb21tb24uaAorQEAgLTI3LDcgKzI3LDcgQEAKKyAKKyAvKiBGdW5jdGlvbnMgaW4gc3VuZHJpZXMuYyB0aGF0IGFyZSB1c2VkIGluIG1vdW50LmMgYW5kIHVtb3VudC5jICAqLyAKKyBjaGFyICpjYW5vbmljYWxpemUgKGNvbnN0IGNoYXIgKnBhdGgpOworLXZvaWQgbmZzX2Vycm9yIChjb25zdCBjaGFyICpmbXQsIC4uLik7Cisrdm9pZCBuZnNfZXJyb3IgKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworIHZvaWQgKnhtYWxsb2MgKHNpemVfdCBzaXplKTsKKyB2b2lkICp4cmVhbGxvYyh2b2lkICpwLCBzaXplX3Qgc2l6ZSk7Cisgdm9pZCB4ZnJlZSh2b2lkICopOworQEAgLTM2LDkgKzM2LDkgQEAgY2hhciAqeHN0cm5kdXAgKGNvbnN0IGNoYXIgKnMsIGludCBuKTsKKyBjaGFyICp4c3RyY29uY2F0MiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworIGNoYXIgKnhzdHJjb25jYXQzIChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKyBjaGFyICp4c3RyY29uY2F0NCAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKy12b2lkIGRpZSAoaW50IGVycmNvZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyt2b2lkIGRpZSAoaW50IGVycmNvZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworIAorLWV4dGVybiB2b2lkIGRpZShpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisrZXh0ZXJuIHZvaWQgZGllKGludCBlcnIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworIGV4dGVybiB2b2lkICgqYXRfZGllKSh2b2lkKTsKKyAKKyAvKiBleGl0IHN0YXR1cyAtIGJpdHMgYmVsb3cgYXJlIE9SZWQgKi8KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hsb2cuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvaW5jbHVkZS94bG9nLmgKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9pbmNsdWRlL3hsb2cuaAorQEAgLTQzLDEwICs0MywxMCBAQCB2b2lkCQkJeGxvZ19jb25maWcoaW50IGZhYywgaW50IG9uKTsKKyB2b2lkCQkJeGxvZ19zY29uZmlnKGNoYXIgKiwgaW50IG9uKTsKKyB2b2lkCQkJeGxvZ19mcm9tX2NvbmZmaWxlKGNoYXIgKik7CisgaW50CQkJeGxvZ19lbmFibGVkKGludCBmYWMpOworLXZvaWQJCQl4bG9nKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ193YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ19lcnIoY29uc3QgY2hhciAqZm10LCAuLi4pOworLXZvaWQJCQl4bG9nX2Vycm5vKGludCBlcnIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKy12b2lkCQkJeGxvZ19iYWNrZW5kKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKTsKKyt2b2lkCQkJeGxvZyhpbnQgZmFjLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyt2b2lkCQkJeGxvZ193YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpOworK3ZvaWQJCQl4bG9nX2Vycihjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKTsKKyt2b2lkCQkJeGxvZ19lcnJubyhpbnQgZXJyLCBjb25zdCBjaGFyICpmbXQsIC4uLikgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKyt2b2lkCQkJeGxvZ19iYWNrZW5kKGludCBmYWMsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcmdzKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAwKSkpOworIAorICNlbmRpZiAvKiBYTE9HX0ggKi8KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uZnMveGNvbW1vbi5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvc3VwcG9ydC9uZnMveGNvbW1vbi5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbmZzL3hjb21tb24uYworQEAgLTkzLDcgKzkzLDEwIEBAIG5mc19lcnJvciAoY29uc3QgY2hhciAqZm10LCAuLi4pIHsKKyAKKyAgICAgIGZtdDIgPSB4c3RyY29uY2F0MiAoZm10LCAiXG4iKTsKKyAgICAgIHZhX3N0YXJ0IChhcmdzLCBmbXQpOworKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisrI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LW5vbmxpdGVyYWwiCisgICAgICB2ZnByaW50ZiAoc3RkZXJyLCBmbXQyLCBhcmdzKTsKKysjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCisgICAgICB2YV9lbmQgKGFyZ3MpOworICAgICAgZnJlZSAoZm10Mik7CisgfQorSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9leHBvcnRmcy9leHBvcnRmcy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvZXhwb3J0ZnMvZXhwb3J0ZnMuYworKysrIG5mcy11dGlscy0yLjMuMy91dGlscy9leHBvcnRmcy9leHBvcnRmcy5jCitAQCAtNjQ0LDYgKzY0NCw3IEBAIG91dDoKKyAJcmV0dXJuIHJlc3VsdDsKKyB9CisgCisrX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKQorIHN0YXRpYyBjaGFyCisgZHVtcG9wdChjaGFyIGMsIGNoYXIgKmZtdCwgLi4uKQorIHsKK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3RhdGQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL3N0YXRkL3N0YXRkLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3RhdGQuYworQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgdm9pZCBsb2dfbW9kZXModm9pZCkKKyAJc3RyY2F0KGJ1ZiwgIlRJLVJQQyAiKTsKKyAjZW5kaWYKKyAKKy0JeGxvZ193YXJuKGJ1Zik7CisrCXhsb2dfd2FybigiJXMiLCBidWYpOworIH0KKyAKKyAvKgorSW5kZXg6IG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25mcy9zdmNfY3JlYXRlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy9zdXBwb3J0L25mcy9zdmNfY3JlYXRlLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvc3VwcG9ydC9uZnMvc3ZjX2NyZWF0ZS5jCitAQCAtMTg0LDcgKzE4NCw3IEBAIHN2Y19jcmVhdGVfc29jayhjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKnMKKyAJCXR5cGUgPSBTT0NLX1NUUkVBTTsKKyAJCWJyZWFrOworIAlkZWZhdWx0OgorLQkJeGxvZyhEX0dFTkVSQUwsICIlczogVW5yZWNvZ25pemVkIGJpbmQgYWRkcmVzcyBzZW1hbnRpY3M6ICV1IiwKKysJCXhsb2coRF9HRU5FUkFMLCAiJXM6IFVucmVjb2duaXplZCBiaW5kIGFkZHJlc3Mgc2VtYW50aWNzOiAlbHUiLAorIAkJCV9fZnVuY19fLCBuY29uZi0+bmNfc2VtYW50aWNzKTsKKyAJCXJldHVybiAtMTsKKyAJfQorSW5kZXg6IG5mcy11dGlscy0yLjMuMy9zdXBwb3J0L25zbS9ycGMuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3N1cHBvcnQvbnNtL3JwYy5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3N1cHBvcnQvbnNtL3JwYy5jCitAQCAtMTgyLDcgKzE4Miw3IEBAIG5zbV94bWl0X2dldHBvcnQoY29uc3QgaW50IHNvY2ssIGNvbnN0IHMKKyAJdWludDMyX3QgeGlkOworIAlYRFIgeGRyOworIAorLQl4bG9nKERfQ0FMTCwgIlNlbmRpbmcgUE1BUF9HRVRQT1JUIGZvciAldSwgJXUsIHVkcCIsIHByb2dyYW0sIHZlcnNpb24pOworKwl4bG9nKERfQ0FMTCwgIlNlbmRpbmcgUE1BUF9HRVRQT1JUIGZvciAlbHUsICVsdSwgdWRwIiwgcHJvZ3JhbSwgdmVyc2lvbik7CisgCisgCW5zbV9pbml0X3hkcm1lbShtc2didWYsIE5TTV9NQVhNU0dTSVpFLCAmeGRyKTsKKyAJeGlkID0gbnNtX2luaXRfcnBjX2hlYWRlcihQTUFQUFJPRywgUE1BUFZFUlMsCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9jYWNoZS5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvbW91bnRkL2NhY2hlLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvbW91bnRkL2NhY2hlLmMKK0BAIC05NjgsOCArOTY4LDcgQEAgbG9va3VwX2V4cG9ydChjaGFyICpkb20sIGNoYXIgKnBhdGgsIHN0cgorIAkJCX0gZWxzZSBpZiAoZm91bmRfdHlwZSA9PSBpICYmIGZvdW5kLT5tX3dhcm5lZCA9PSAwKSB7CisgCQkJCXhsb2coTF9XQVJOSU5HLCAiJXMgZXhwb3J0ZWQgdG8gYm90aCAlcyBhbmQgJXMsICIKKyAJCQkJICAgICAiYXJiaXRyYXJpbHkgY2hvb3Npbmcgb3B0aW9ucyBmcm9tIGZpcnN0IiwKKy0JCQkJICAgICBwYXRoLCBmb3VuZC0+bV9jbGllbnQtPm1faG9zdG5hbWUsIGV4cC0+bV9jbGllbnQtPm1faG9zdG5hbWUsCistCQkJCSAgICAgZG9tKTsKKysJCQkJICAgICBwYXRoLCBmb3VuZC0+bV9jbGllbnQtPm1faG9zdG5hbWUsIGV4cC0+bV9jbGllbnQtPm1faG9zdG5hbWUpOworIAkJCQlmb3VuZC0+bV93YXJuZWQgPSAxOworIAkJCX0KKyAJCX0KK0luZGV4OiBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvbW91bnRkL21vdW50ZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbmZzLXV0aWxzLTIuMy4zLm9yaWcvdXRpbHMvbW91bnRkL21vdW50ZC5jCisrKysgbmZzLXV0aWxzLTIuMy4zL3V0aWxzL21vdW50ZC9tb3VudGQuYworQEAgLTIxMyw3ICsyMTMsNyBAQCBzdGF0aWMgdm9pZAorIHNpZ19odXAgKGludCBzaWcpCisgeworIAkvKiBkb24ndCBleGl0IG9uIFNJR0hVUCAqLworLQl4bG9nIChMX05PVElDRSwgIlJlY2VpdmVkIFNJR0hVUC4uLiBJZ25vcmluZy5cbiIsIHNpZyk7CisrCXhsb2cgKExfTk9USUNFLCAiUmVjZWl2ZWQgU0lHSFVQKCVkKS4uLiBJZ25vcmluZy5cbiIsIHNpZyk7CisgCXJldHVybjsKKyB9CisgCitJbmRleDogbmZzLXV0aWxzLTIuMy4zL3V0aWxzL3N0YXRkL3JtdGNhbGwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIG5mcy11dGlscy0yLjMuMy5vcmlnL3V0aWxzL3N0YXRkL3JtdGNhbGwuYworKysrIG5mcy11dGlscy0yLjMuMy91dGlscy9zdGF0ZC9ybXRjYWxsLmMKK0BAIC0yNDcsNyArMjQ3LDcgQEAgcHJvY2Vzc19yZXBseShGRF9TRVRfVFlQRSAqcmZkcykKKyAJCXhsb2dfd2FybigiJXM6IHNlcnZpY2UgJWQgbm90IHJlZ2lzdGVyZWQgb24gbG9jYWxob3N0IiwKKyAJCQlfX2Z1bmNfXywgTkxfTVlfUFJPRyhscCkpOworIAl9IGVsc2UgeworLQkJeGxvZyhEX0dFTkVSQUwsICIlczogQ2FsbGJhY2sgdG8gJXMgKGZvciAlZCkgc3VjY2VlZGVkIiwKKysJCXhsb2coRF9HRU5FUkFMLCAiJXM6IENhbGxiYWNrIHRvICVzIChmb3IgJXMpIHN1Y2NlZWRlZCIsCisgCQkJX19mdW5jX18sIE5MX01ZX05BTUUobHApLCBOTF9NT05fTkFNRShscCkpOworIAl9CisgCW5saXN0X2ZyZWUoJm5vdGlmeSwgbHApOworSW5kZXg6IG5mcy11dGlscy0yLjMuMy91dGlscy9zdGF0ZC9zdmNfcnVuLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuZnMtdXRpbHMtMi4zLjMub3JpZy91dGlscy9zdGF0ZC9zdmNfcnVuLmMKKysrKyBuZnMtdXRpbHMtMi4zLjMvdXRpbHMvc3RhdGQvc3ZjX3J1bi5jCitAQCAtNTMsNiArNTMsNyBAQAorIAorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDx0aW1lLmg+CisrI2luY2x1ZGUgPGludHR5cGVzLmg+CisgI2luY2x1ZGUgInN0YXRkLmgiCisgI2luY2x1ZGUgIm5vdGxpc3QuaCIKKyAKK0BAIC0xMDQsOCArMTA1LDggQEAgbXlfc3ZjX3J1bihpbnQgc29ja2ZkKQorIAorIAkJCXR2LnR2X3NlYyAgPSBOTF9XSEVOKG5vdGlmeSkgLSBub3c7CisgCQkJdHYudHZfdXNlYyA9IDA7CistCQkJeGxvZyhEX0dFTkVSQUwsICJXYWl0aW5nIGZvciByZXBseS4uLiAodGltZW8gJWQpIiwKKy0JCQkJCQkJdHYudHZfc2VjKTsKKysJCQl4bG9nKERfR0VORVJBTCwgIldhaXRpbmcgZm9yIHJlcGx5Li4uICh0aW1lbyAlamQpIiwKKysJCQkJCQkJKGludG1heF90KXR2LnR2X3NlYyk7CisgCQkJc2VscmV0ID0gc2VsZWN0KEZEX1NFVFNJWkUsICZyZWFkZmRzLAorIAkJCQkodm9pZCAqKSAwLCAodm9pZCAqKSAwLCAmdHYpOworIAkJfSBlbHNlIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1Eby1ub3QtcGFzcy1DRkxBR1MtdG8tZ2NjLXdoaWxlLWJ1aWxkaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLURvLW5vdC1wYXNzLUNGTEFHUy10by1nY2Mtd2hpbGUtYnVpbGRpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5M2YxZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLURvLW5vdC1wYXNzLUNGTEFHUy10by1nY2Mtd2hpbGUtYnVpbGRpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1uZnMtdXRpbHM6IERvIG5vdCBwYXNzIENGTEFHUyB0byBnY2Mgd2hpbGUgYnVpbGRpbmcKLQotRG8gbm90IHBhc3MgQ0ZMQUdTL0xERkxBR1MgdG8gZ2NjIHdoaWxlIGJ1aWxkaW5nLCBUaGUgbmVlZGVkIGZsYWdzIGhhcwotYmVlbiBwYXNzZWQgYnkgeHh4X0NGTEFHUz0kKENGTEFHU19GT1JfQlVJTEQpLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbSB8ICAgIDIgKysKLSB0b29scy9ycGNnZW4vTWFrZWZpbGUuYW0gICB8ICAgIDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdG9vbHMvbG9ja3Rlc3QvTWFrZWZpbGUuYW0gYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQotaW5kZXggMzE1NjgxNS4uMTcyOWZkMSAxMDA2NDQKLS0tLSBhL3Rvb2xzL2xvY2t0ZXN0L01ha2VmaWxlLmFtCi0rKysgYi90b29scy9sb2NrdGVzdC9NYWtlZmlsZS5hbQotQEAgLTEsNiArMSw4IEBACi0gIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCi0gCi0gQ0M9JChDQ19GT1JfQlVJTEQpCi0rQ0ZMQUdTPQotK0xERkxBR1M9Ci0gTElCVE9PTCA9IEBMSUJUT09MQCAtLXRhZz1DQwotIAotIG5vaW5zdF9QUk9HUkFNUyA9IHRlc3RsawotZGlmZiAtLWdpdCBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbSBiL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQotaW5kZXggOGE5ZWM4OS4uOGJhY2RhYSAxMDA2NDQKLS0tLSBhL3Rvb2xzL3JwY2dlbi9NYWtlZmlsZS5hbQotKysrIGIvdG9vbHMvcnBjZ2VuL01ha2VmaWxlLmFtCi1AQCAtMSw2ICsxLDggQEAKLSAjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KLSAKLSBDQz0kKENDX0ZPUl9CVUlMRCkKLStDRkxBR1M9Ci0rTERGTEFHUz0KLSBMSUJUT09MID0gQExJQlRPT0xAIC0tdGFnPUNDCi0gCi0gbm9pbnN0X1BST0dSQU1TID0gcnBjZ2VuCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHMvbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoCmluZGV4IGExNjllNmEuLjIyMDAyZmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvbmZzLXV0aWxzL25mcy11dGlscy9uZnMtdXRpbHMtbXVzbC1yZXNfcXVlcnlkb21haW4ucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gY2FhMTkyMzExOTZkNzM1NDE0NDU3MjhlNjgxM2M4ZmE3MDM0NWFjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAyNiBKdW4gMjAxOCAxNTo1OTowMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBuZnMtdXRpbHM6IDIuMS4xIC0+IDIuMy4xCisKIEZpeGVkOgogY29uZmlndXJlOiBlcnJvcjogcmVzX3F1ZXJ5ZG9tYWluIG5lZWRlZAogCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2h0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9jZ2l0L2Fwb3J0cy90cmVlL21haW4vbmZzLXV0aWxzL211c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoP2lkPWY2NzM0YTc3ZDNjYWVlNzMzMjVmOGNjMWY3N2QxYjUxMTdhNzUwOTZdCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2h0dHBzOi8vZ2l0aHViLmNvbS9hbHBpbmVsaW51eC9hcG9ydHMvYmxvYi9tYXN0ZXIvbWFpbi9uZnMtdXRpbHMvbXVzbC1jb25maWd1cmVfYWMucGF0Y2hdCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisgY29uZmlndXJlLmFjIHwgMTMgKysrKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDI3NmRlYzMuLjc2MDIzOGIgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTQwMSw3ICs0MDEsNyBAQCBpZiB0ZXN0ICIkZW5hYmxlX2dzcyIgPSB5ZXM7IHRoZW4KK0BAIC00MDgsNyArNDA4LDcgQEAgaWYgdGVzdCAiJGVuYWJsZV9nc3MiID0geWVzOyB0aGVuCiAgZmkKICAKICBkbmwgbGliZG5zaWRtYXAgc3BlY2lmaWMgY2hlY2tzCkBAIC0yMCwzICsyNywzMSBAQAogIAogIEFDX0FSR19FTkFCTEUoW2xkYXBdLAogIAlbQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sZGFwXSxbRGlzYWJsZSBzdXBwb3J0IGZvciBMREFQIEA8OmRlZmF1bHQ9ZGV0ZWN0QDo+QF0pXSkKK0BAIC01NDcsMTEgKzU0NywxMSBAQCBteV9hbV9jZmxhZ3M9IlwKKyAgLXBpcGUgXAorICAtV2FsbCBcCisgIC1XZXh0cmEgXAorLSAtV2Vycm9yPXN0cmljdC1wcm90b3R5cGVzIFwKKy0gLVdlcnJvcj1taXNzaW5nLXByb3RvdHlwZXMgXAorLSAtV2Vycm9yPW1pc3NpbmctZGVjbGFyYXRpb25zIFwKKysgLVdzdHJpY3QtcHJvdG90eXBlcyBcCisrIC1XbWlzc2luZy1wcm90b3R5cGVzIFwKKysgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyBcCisgIC1XZXJyb3I9Zm9ybWF0PTIgXAorLSAtV2Vycm9yPXVuZGVmIFwKKysgLVd1bmRlZiBcCisgIC1XZXJyb3I9bWlzc2luZy1pbmNsdWRlLWRpcnMgXAorICAtV2Vycm9yPXN0cmljdC1hbGlhc2luZz0yIFwKKyAgLVdlcnJvcj1pbml0LXNlbGYgXAorQEAgLTU3OSwxMCArNTc5LDkgQEAgQUNfREVGVU4oW0NIRUNLX0NDU1VQUE9SVF0sIFsKKyAKKyBDSEVDS19DQ1NVUFBPUlQoWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PTJdLCBbZmxnMV0pCisgQ0hFQ0tfQ0NTVVBQT1JUKFstV2Vycm9yPWludC1jb252ZXJzaW9uXSwgW2ZsZzJdKQorLUNIRUNLX0NDU1VQUE9SVChbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10sIFtmbGczXSkKKyBDSEVDS19DQ1NVUFBPUlQoWy1XZXJyb3I9bWlzbGVhZGluZy1pbmRlbnRhdGlvbl0sIFtmbGc0XSkKKyAKKy1BQ19TVUJTVChbQU1fQ0ZMQUdTXSwgWyIkbXlfYW1fY2ZsYWdzICRmbGcxICRmbGcyICRmbGczICRmbGc0Il0pCisrQUNfU1VCU1QoW0FNX0NGTEFHU10sIFsiJG15X2FtX2NmbGFncyAkZmxnMSAkZmxnMiAkZmxnNCJdKQorIAorICMgTWFrZSBzdXJlIHRoYXQgJEFDTE9DQUxfRkxBR1MgYXJlIHVzZWQgZHVyaW5nIGEgcmVidWlsZAorIEFDX1NVQlNUKFtBQ0xPQ0FMX0FNRkxBR1NdLCBbIi1JICRhY19tYWNyb19kaXIgXCQoQUNMT0NBTF9GTEFHUykiXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkNDUwYzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotU1VNTUFSWSA9ICJ1c2Vyc3BhY2UgdXRpbGl0aWVzIGZvciBrZXJuZWwgbmZzIgotREVTQ1JJUFRJT04gPSAiVGhlIG5mcy11dGlscyBwYWNrYWdlIHByb3ZpZGVzIGEgZGFlbW9uIGZvciB0aGUga2VybmVsIFwKLU5GUyBzZXJ2ZXIgYW5kIHJlbGF0ZWQgdG9vbHMuIgotSE9NRVBBR0UgPSAiaHR0cDovL25mcy5zb3VyY2Vmb3JnZS5uZXQvIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi0KLUxJQ0VOU0UgPSAiTUlUICYgR1BMdjIrICYgQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTVmM2E5M2E1YzNjNzg4OGRlNjIzYjQ2ZWEwODVhODQiCi0KLSMgdXRpbC1saW51eCBmb3IgbGliYmxraWQKLURFUEVORFMgPSAibGliY2FwIGxpYmV2ZW50IHV0aWwtbGludXggc3FsaXRlMyBsaWJ0aXJwYyIKLVJERVBFTkRTXyR7UE59ID0gIiR7UE59LWNsaWVudCBiYXNoIgotUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1uZnNkIgotCi1pbmhlcml0IHVzZXJhZGQKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfS1jbGllbnQiCi1VU0VSQUREX1BBUkFNXyR7UE59LWNsaWVudCA9ICItLXN5c3RlbSAgLS1ob21lLWRpciAvdmFyL2xpYi9uZnMgXAotCQkJICAgICAgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBycGN1c2VyIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvbmZzLXV0aWxzLyR7UFZ9L25mcy11dGlscy0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vbmZzc2VydmVyIFwKLSAgICAgICAgICAgZmlsZTovL25mc2NvbW1vbiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtc2VydmVyLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vbmZzLW1vdW50ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL25mcy1zdGF0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3Byb2MtZnMtbmZzZC5tb3VudCBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtRG8tbm90LXBhc3MtQ0ZMQUdTLXRvLWdjYy13aGlsZS1idWlsZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uZnMtdXRpbHMtZGViaWFuaXplLXN0YXJ0LXN0YXRkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2J1Z2ZpeC1hZGp1c3Qtc3RhdGQtc2VydmljZS1uYW1lLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25mcy11dGlscy1tdXNsLWxpbWl0cy5wYXRjaCBcCi0iCi0KLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovL25mcy11dGlscy1tdXNsLXJlc19xdWVyeWRvbWFpbi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImQ3N2IxODJhOWVlMzk2YWE2MjIxYWMyNDAxYWQ3MDQ2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2ZDA2YjVhODZiMTg1ODE1NzYwZDhmMDRjMzRmZGZhY2U4ZmE4Yjk5NDlmZjI1NmFjMDVjM2ViYzA4MzM1YTUiCi0KLSMgT25seSBrZXJuZWwtbW9kdWxlLW5mc2QgaXMgcmVxdWlyZWQgaGVyZSAoYnV0IGNhbiBiZSBidWlsdC1pbikgIC0gdGhlIG5mc2QgbW9kdWxlIHdpbGwKLSMgcHVsbCBpbiB0aGUgcmVtYWluZGVyIG9mIHRoZSBkZXBlbmRlbmNpZXMuCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tY2xpZW50IgotSU5JVFNDUklQVF9OQU1FID0gIm5mc3NlcnZlciIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotSU5JVFNDUklQVF9OQU1FXyR7UE59LWNsaWVudCA9ICJuZnNjb21tb24iCi1JTklUU0NSSVBUX1BBUkFNU18ke1BOfS1jbGllbnQgPSAiZGVmYXVsdHMgMTkgMjEiCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZwotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LWNsaWVudCIKLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJuZnMtc2VydmVyLnNlcnZpY2UgbmZzLW1vdW50ZC5zZXJ2aWNlIgotU1lTVEVNRF9TRVJWSUNFXyR7UE59LWNsaWVudCA9ICJuZnMtc3RhdGQuc2VydmljZSIKLQotIyAtLWVuYWJsZS11dWlkIGlzIG5lZWQgZm9yIGNyb3NzLWNvbXBpbGluZwotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zdGF0ZHVzZXI9cnBjdXNlciBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbW91bnRjb25maWcgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxpYm1vdW50LW1vdW50IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS11dWlkIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3NzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtbmZzZGNsdHJhY2sgXAotICAgICAgICAgICAgICAgIC0td2l0aC1zdGF0ZHBhdGg9L3Zhci9saWIvbmZzL3N0YXRkIFwKLSAgICAgICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyBcCi0gICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHX3JlbW92ZV9saWJjLW11c2wgPSAidGNwLXdyYXBwZXJzIgotUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcnNdID0gIi0td2l0aC10Y3Atd3JhcHBlcnMsLS13aXRob3V0LXRjcC13cmFwcGVycyx0Y3Atd3JhcHBlcnMiCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotIyBsaWJkZXZtYXBwZXIgaXMgYXZhaWxhYmxlIGluIG1ldGEtb2UKLVBBQ0tBR0VDT05GSUdbbmZzdjQxXSA9ICItLWVuYWJsZS1uZnN2NDEsLS1kaXNhYmxlLW5mc3Y0MSxsaWJkZXZtYXBwZXIiCi0jIGtleXV0aWxzIGlzIGF2YWlsYWJsZSBpbiBtZXRhLXNlY3VyaXR5Ci1QQUNLQUdFQ09ORklHW25mc3Y0XSA9ICItLWVuYWJsZS1uZnN2NCwtLWRpc2FibGUtbmZzdjQsa2V5dXRpbHMiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jbGllbnQgJHtQTn0tbW91bnQgJHtQTn0tc3RhdHMiCi0KLUNPTkZGSUxFU18ke1BOfS1jbGllbnQgKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ldGFiIFwKLQkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9ybXRhYiBcCi0JCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMveHRhYiBcCi0JCQkgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMvc3RhdGQvc3RhdGUgXAotCQkJICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIgotCi1GSUxFU18ke1BOfS1jbGllbnQgPSAiJHtzYmluZGlyfS8qc3RhdGQgXAotCQkgICAgICAke3NiaW5kaXJ9L3JwYy5pZG1hcGQgJHtzYmluZGlyfS9zbS1ub3RpZnkgXAotCQkgICAgICAke3NiaW5kaXJ9L3Nob3dtb3VudCAke3NiaW5kaXJ9L25mc3N0YXQgXAotCQkgICAgICAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9uZnMgXAotCQkgICAgICAke3N5c2NvbmZkaXJ9L25mcy11dGlscy5jb25mIFwKLQkJICAgICAgJHtzeXNjb25mZGlyfS9uZnNtb3VudC5jb25mIFwKLQkJICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uIFwKLQkJICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9uZnMtc3RhdGQuc2VydmljZSIKLVJERVBFTkRTXyR7UE59LWNsaWVudCA9ICIke1BOfS1tb3VudCBycGNiaW5kIgotCi1GSUxFU18ke1BOfS1tb3VudCA9ICIke2Jhc2Vfc2JpbmRpcn0vKm1vdW50Lm5mcyoiCi0KLUZJTEVTXyR7UE59LXN0YXRzID0gIiR7c2JpbmRpcn0vbW91bnRzdGF0cyAke3NiaW5kaXJ9L25mc2lvc3RhdCIKLVJERVBFTkRTXyR7UE59LXN0YXRzID0gInB5dGhvbjMtY29yZSIKLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzdGVtZF91bml0ZGlyfSIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgICAgIHNlZCAtaSAtZSAncyxzYmluZGlyID0gL3NiaW4sc2JpbmRpciA9ICR7YmFzZV9zYmluZGlyfSxnJyBcCi0gICAgICAgICAgICAke1N9L3V0aWxzL21vdW50L01ha2VmaWxlLmFtCi0KLSAgICAgICAgc2VkIC1pIC1lICdzLHNiaW5kaXIgPSAvc2JpbixzYmluZGlyID0gJHtiYXNlX3NiaW5kaXJ9LGcnIFwKLSAgICAgICAgICAgICR7U30vdXRpbHMvb3NkX2xvZ2luL01ha2VmaWxlLmFtCi19Ci0KLSMgTWFrZSBjbGVhbiBuZWVkZWQgYmVjYXVzZSB0aGUgcGFja2FnZSBjb21lcyB3aXRoCi0jIHByZWNvbXBpbGVkIDY0LWJpdCBvYmplY3RzIHRoYXQgYnJlYWsgdGhlIGJ1aWxkCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JbWFrZSBjbGVhbgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnNzZXJ2ZXIgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL25mc3NlcnZlcgotCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mc2NvbW1vbiAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmZzY29tbW9uCi0KLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9uZnMtdXRpbHMuY29uZiAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDc1NSAke1N9L3V0aWxzL21vdW50L25mc21vdW50LmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtc2VydmVyLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLW1vdW50ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1zdGF0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLwotCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKLQkJJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi5zZXJ2aWNlCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCi0JICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvCi0JICAgIGxuIC1zZiAuLi9wcm9jLWZzLW5mc2QubW91bnQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzaW5pdC50YXJnZXQud2FudHMvcHJvYy1mcy1uZnNkLm1vdW50Ci0JZmkKLQotCSMga2VybmVsIGNvZGUgYXMgb2YgMy44IGhhcmQtY29kZXMgdGhpcyBwYXRoIGFzIGEgZGVmYXVsdAotCWluc3RhbGwgLWQgJHtEfS92YXIvbGliL25mcy92NHJlY292ZXJ5Ci0KLQkjIGNob3duIHRoZSBkaXJlY3RvcmllcyBhbmQgZmlsZXMKLQljaG93biAtUiBycGN1c2VyOnJwY3VzZXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZAotCWNobW9kIDA2NDQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZC9zdGF0ZQotCi0JIyB0aGUgZm9sbG93aW5nIGFyZSBidWlsdCBieSBDQ19GT1JfQlVJTEQKLQlybSAtZiAke0R9JHtzYmluZGlyfS9ycGNkZWJ1ZwotCXJtIC1mICR7RH0ke3NiaW5kaXJ9L3JwY2dlbgotCXJtIC1mICR7RH0ke3NiaW5kaXJ9L2xvY2t0ZXN0Ci0KLSAgICAgICAgIyBNYWtlIHB5dGhvbiB0b29scyB1c2UgcHl0aG9uIDMKLSAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uLiosIyEke2JpbmRpcn0vcHl0aG9uMywnICR7RH0ke3NiaW5kaXJ9L21vdW50c3RhdHMgJHtEfSR7c2JpbmRpcn0vbmZzaW9zdGF0Ci0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L25mcy11dGlscy9uZnMtdXRpbHNfMi4zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM0NDM3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9uZnMtdXRpbHMvbmZzLXV0aWxzXzIuMy4zLmJiCkBAIC0wLDAgKzEsMTUzIEBACitTVU1NQVJZID0gInVzZXJzcGFjZSB1dGlsaXRpZXMgZm9yIGtlcm5lbCBuZnMiCitERVNDUklQVElPTiA9ICJUaGUgbmZzLXV0aWxzIHBhY2thZ2UgcHJvdmlkZXMgYSBkYWVtb24gZm9yIHRoZSBrZXJuZWwgXAorTkZTIHNlcnZlciBhbmQgcmVsYXRlZCB0b29scy4iCitIT01FUEFHRSA9ICJodHRwOi8vbmZzLnNvdXJjZWZvcmdlLm5ldC8iCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKKworTElDRU5TRSA9ICJNSVQgJiBHUEx2MisgJiBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NWYzYTkzYTVjM2M3ODg4ZGU2MjNiNDZlYTA4NWE4NCIKKworIyB1dGlsLWxpbnV4IGZvciBsaWJibGtpZAorREVQRU5EUyA9ICJsaWJjYXAgbGliZXZlbnQgdXRpbC1saW51eCBzcWxpdGUzIGxpYnRpcnBjIgorUkRFUEVORFNfJHtQTn0gPSAiJHtQTn0tY2xpZW50IGJhc2giCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLW5mc2QiCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LWNsaWVudCIKK1VTRVJBRERfUEFSQU1fJHtQTn0tY2xpZW50ID0gIi0tc3lzdGVtICAtLWhvbWUtZGlyIC92YXIvbGliL25mcyBcCisJCQkgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHJwY3VzZXIiCisKK1NSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9uZnMtdXRpbHMvJHtQVn0vbmZzLXV0aWxzLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9uZnNzZXJ2ZXIgXAorICAgICAgICAgICBmaWxlOi8vbmZzY29tbW9uIFwKKyAgICAgICAgICAgZmlsZTovL25mcy11dGlscy5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL25mcy1zZXJ2ZXIuc2VydmljZSBcCisgICAgICAgICAgIGZpbGU6Ly9uZnMtbW91bnRkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vbmZzLXN0YXRkLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vcHJvYy1mcy1uZnNkLm1vdW50IFwKKyAgICAgICAgICAgZmlsZTovL25mcy11dGlscy1kZWJpYW5pemUtc3RhcnQtc3RhdGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYnVnZml4LWFkanVzdC1zdGF0ZC1zZXJ2aWNlLW5hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbmZzLXV0aWxzLW11c2wtbGltaXRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY2FjaGVpby11c2UtaW50bWF4X3QtZm9yLWZvcm1hdHRlZC1JTy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1wYXNzLW51bGwtcG9pbnRlci10by1mcmVlYWRkcmluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY2xhbmctZm9ybWF0LXN0cmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLXVwZGF0ZS10aGUtcGF0aC1vZi1saWJuZnMuYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWZpeC11bmRlZmluZWQtZnVuY3Rpb24tZm9yLWxpYm5zbS5hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtYnVpbGQtdG9vbHMtd2l0aC1DQ19GT1JfQlVJTEQucGF0Y2ggXAorIgorU1JDX1VSSV9hcHBlbmRfbGliYy1nbGliYyA9ICIgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLURvLW5vdC1mYXRhbGl6ZS1XbWlzc2luZy1wcm90b3R5cGVzLnBhdGNoIgorU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbmZzLXV0aWxzLW11c2wtcmVzX3F1ZXJ5ZG9tYWluLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjZjOWMwMzI5OTVhZjFjMDhmZWE5ZmJjYzFjZTMzZTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjY4YjM0NzkzODMxYjA1ZjFmZDU3NjBkNmJkZWM5Mjc3MmM3Njg0MTc3NTg2YTk5YTYxZTdiNDQ0ZjMzNjMyMiIKKworIyBPbmx5IGtlcm5lbC1tb2R1bGUtbmZzZCBpcyByZXF1aXJlZCBoZXJlIChidXQgY2FuIGJlIGJ1aWx0LWluKSAgLSB0aGUgbmZzZCBtb2R1bGUgd2lsbAorIyBwdWxsIGluIHRoZSByZW1haW5kZXIgb2YgdGhlIGRlcGVuZGVuY2llcy4KKworSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1jbGllbnQiCitJTklUU0NSSVBUX05BTUUgPSAibmZzc2VydmVyIgorSU5JVFNDUklQVF9QQVJBTVMgPSAiZGVmYXVsdHMiCitJTklUU0NSSVBUX05BTUVfJHtQTn0tY2xpZW50ID0gIm5mc2NvbW1vbiIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LWNsaWVudCA9ICJkZWZhdWx0cyAxOSAyMSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1yYy5kIHN5c3RlbWQgcGtnY29uZmlnCisKK1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0tY2xpZW50IgorU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIm5mcy1zZXJ2ZXIuc2VydmljZSBuZnMtbW91bnRkLnNlcnZpY2UiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tY2xpZW50ID0gIm5mcy1zdGF0ZC5zZXJ2aWNlIgorCisjIC0tZW5hYmxlLXV1aWQgaXMgbmVlZCBmb3IgY3Jvc3MtY29tcGlsaW5nCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLXN0YXRkdXNlcj1ycGN1c2VyIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb3VudGNvbmZpZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGlibW91bnQtbW91bnQgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXV1aWQgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1nc3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1uZnNkY2x0cmFjayBcCisgICAgICAgICAgICAgICAgLS13aXRoLXN0YXRkcGF0aD0vdmFyL2xpYi9uZnMvc3RhdGQgXAorICAgICAgICAgICAgICAgIgorCitDRkxBR1MgKz0gIi1Xbm8tZXJyb3I9Zm9ybWF0LW92ZXJmbG93IgorCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICJ0Y3Atd3JhcHBlcnMiCitQQUNLQUdFQ09ORklHW3RjcC13cmFwcGVyc10gPSAiLS13aXRoLXRjcC13cmFwcGVycywtLXdpdGhvdXQtdGNwLXdyYXBwZXJzLHRjcC13cmFwcGVycyIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisjIGxpYmRldm1hcHBlciBpcyBhdmFpbGFibGUgaW4gbWV0YS1vZQorUEFDS0FHRUNPTkZJR1tuZnN2NDFdID0gIi0tZW5hYmxlLW5mc3Y0MSwtLWRpc2FibGUtbmZzdjQxLGxpYmRldm1hcHBlciIKKyMga2V5dXRpbHMgaXMgYXZhaWxhYmxlIGluIG1ldGEtc2VjdXJpdHkKK1BBQ0tBR0VDT05GSUdbbmZzdjRdID0gIi0tZW5hYmxlLW5mc3Y0LC0tZGlzYWJsZS1uZnN2NCxrZXl1dGlscyIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNsaWVudCAke1BOfS1tb3VudCAke1BOfS1zdGF0cyIKKworQ09ORkZJTEVTXyR7UE59LWNsaWVudCArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL2V0YWIgXAorCQkJICAgJHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3JtdGFiIFwKKwkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy94dGFiIFwKKwkJCSAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcy9zdGF0ZC9zdGF0ZSBcCisJCQkgICAke3N5c2NvbmZkaXJ9L25mc21vdW50LmNvbmYiCisKK0ZJTEVTXyR7UE59LWNsaWVudCA9ICIke3NiaW5kaXJ9LypzdGF0ZCBcCisJCSAgICAgICR7c2JpbmRpcn0vcnBjLmlkbWFwZCAke3NiaW5kaXJ9L3NtLW5vdGlmeSBcCisJCSAgICAgICR7c2JpbmRpcn0vc2hvd21vdW50ICR7c2JpbmRpcn0vbmZzc3RhdCBcCisJCSAgICAgICR7bG9jYWxzdGF0ZWRpcn0vbGliL25mcyBcCisJCSAgICAgICR7c3lzY29uZmRpcn0vbmZzLXV0aWxzLmNvbmYgXAorCQkgICAgICAke3N5c2NvbmZkaXJ9L25mc21vdW50LmNvbmYgXAorCQkgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9uZnNjb21tb24gXAorCQkgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL25mcy1zdGF0ZC5zZXJ2aWNlIgorUkRFUEVORFNfJHtQTn0tY2xpZW50ID0gIiR7UE59LW1vdW50IHJwY2JpbmQiCisKK0ZJTEVTXyR7UE59LW1vdW50ID0gIiR7YmFzZV9zYmluZGlyfS8qbW91bnQubmZzKiIKKworRklMRVNfJHtQTn0tc3RhdHMgPSAiJHtzYmluZGlyfS9tb3VudHN0YXRzICR7c2JpbmRpcn0vbmZzaW9zdGF0IgorUkRFUEVORFNfJHtQTn0tc3RhdHMgPSAicHl0aG9uMy1jb3JlIgorCitGSUxFU18ke1BOfSArPSAiJHtzeXN0ZW1kX3VuaXRkaXJ9IgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICAgc2VkIC1pIC1lICdzLHNiaW5kaXIgPSAvc2JpbixzYmluZGlyID0gJHtiYXNlX3NiaW5kaXJ9LGcnIFwKKyAgICAgICAgICAgICR7U30vdXRpbHMvbW91bnQvTWFrZWZpbGUuYW0KKworICAgICAgICBzZWQgLWkgLWUgJ3Msc2JpbmRpciA9IC9zYmluLHNiaW5kaXIgPSAke2Jhc2Vfc2JpbmRpcn0sZycgXAorICAgICAgICAgICAgJHtTfS91dGlscy9vc2RfbG9naW4vTWFrZWZpbGUuYW0KK30KKworIyBNYWtlIGNsZWFuIG5lZWRlZCBiZWNhdXNlIHRoZSBwYWNrYWdlIGNvbWVzIHdpdGgKKyMgcHJlY29tcGlsZWQgNjQtYml0IG9iamVjdHMgdGhhdCBicmVhayB0aGUgYnVpbGQKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwltYWtlIGNsZWFuCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mc3NlcnZlciAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbmZzc2VydmVyCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbmZzY29tbW9uICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9uZnNjb21tb24KKworCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L25mcy11dGlscy5jb25mICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7U30vdXRpbHMvbW91bnQvbmZzbW91bnQuY29uZiAke0R9JHtzeXNjb25mZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L25mcy1zZXJ2ZXIuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9uZnMtbW91bnRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbmZzLXN0YXRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vCisJc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdGVtZCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisJICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3Byb2MtZnMtbmZzZC5tb3VudCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KKwkgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy8KKwkgICAgbG4gLXNmIC4uL3Byb2MtZnMtbmZzZC5tb3VudCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9wcm9jLWZzLW5mc2QubW91bnQKKwlmaQorCisJIyBrZXJuZWwgY29kZSBhcyBvZiAzLjggaGFyZC1jb2RlcyB0aGlzIHBhdGggYXMgYSBkZWZhdWx0CisJaW5zdGFsbCAtZCAke0R9L3Zhci9saWIvbmZzL3Y0cmVjb3ZlcnkKKworCSMgY2hvd24gdGhlIGRpcmVjdG9yaWVzIGFuZCBmaWxlcworCWNob3duIC1SIHJwY3VzZXI6cnBjdXNlciAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3N0YXRkCisJY2htb2QgMDY0NCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbmZzL3N0YXRkL3N0YXRlCisKKyAgICAgICAgIyBNYWtlIHB5dGhvbiB0b29scyB1c2UgcHl0aG9uIDMKKyAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qcHl0aG9uLiosIyEke2JpbmRpcn0vcHl0aG9uMywnICR7RH0ke3NiaW5kaXJ9L21vdW50c3RhdHMgJHtEfSR7c2JpbmRpcn0vbmZzaW9zdGF0CisKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJlN2Q5ZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29mb25vL29mb25vXzEuMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLXJlcXVpcmUgb2Zvbm8uaW5jCi0KLVNSQ19VUkkgID0gIlwKLSAgJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAotICBmaWxlOi8vb2Zvbm8gXAotICBmaWxlOi8vdXNlLXB5dGhvbjMucGF0Y2ggXAotIgotU1JDX1VSSVttZDVzdW1dID0gImJlMjRlODBmNjU1MWY0NmZlYTBjNWI1ODc5OTY0ZDZjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljOGUzNTFiNzY1OGY0YjQzZjlhNDM4MGI3MzFjNDdkMmQ3NTQ0YTg5OTg3YzQ4YzNmMjI3ZTczNjM2Yzg3YWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vZm9uby9vZm9ub18xLjI1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ODhiOWQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb2Zvbm8vb2Zvbm9fMS4yNS5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgb2Zvbm8uaW5jCisKK1NSQ19VUkkgID0gIlwKKyAgJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9uZXR3b3JrLyR7QlBOfS8ke0JQfS50YXIueHogXAorICBmaWxlOi8vb2Zvbm8gXAorICBmaWxlOi8vdXNlLXB5dGhvbjMucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjMxNDUwY2FiZGQ4ZGJiZjNmODA4ZWEyZjJmMDY2ODYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImViMDExZmNkMzA4MGU5M2YzYTU2Zjk2YmU2MDM1MGI2NTk1YThiNWYzNmI2MTY0NjMxMmJhNDFiMGJjYjBkNzUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOHAxK2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy44cDErZ2l0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTRkZmI1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy44cDErZ2l0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTY0ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBzdWl0ZSBvZiBzZWN1cml0eS1yZWxhdGVkIG5ldHdvcmsgdXRpbGl0aWVzIGJhc2VkIG9uIFwKLXRoZSBTU0ggcHJvdG9jb2wgaW5jbHVkaW5nIHRoZSBzc2ggY2xpZW50IGFuZCBzc2hkIHNlcnZlciIKLURFU0NSSVBUSU9OID0gIlNlY3VyZSBybG9naW4vcnNoL3JjcC90ZWxuZXQgcmVwbGFjZW1lbnQgKE9wZW5TU0gpIFwKLVNzaCAoU2VjdXJlIFNoZWxsKSBpcyBhIHByb2dyYW0gZm9yIGxvZ2dpbmcgaW50byBhIHJlbW90ZSBtYWNoaW5lIFwKLWFuZCBmb3IgZXhlY3V0aW5nIGNvbW1hbmRzIG9uIGEgcmVtb3RlIG1hY2hpbmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc3NoLmNvbS8iCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5DRTttZDU9NDI5NjU4YzY2MTJmM2E5YjEyOTM3ODIzNjZhYjI5ZDgiCi0KLURFUEVORFMgPSAiemxpYiBvcGVuc3NsIgotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL29wZW5zc2gvb3BlbnNzaC1wb3J0YWJsZTticmFuY2g9bWFzdGVyIFwKLSAgICAgICAgICAgZmlsZTovL3NzaGRfY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL3NzaF9jb25maWcgXAotICAgICAgICAgICBmaWxlOi8vaW5pdCBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkLnNvY2tldCBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkQC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovL3NzaGRnZW5rZXlzLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3NzaGQgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1wb3RlbnRpYWwtc2lnbmVkLW92ZXJmbG93LWluLXBvaW50ZXItYXJpdGhtYXRpYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zc2hkX2NoZWNrX2tleXMgXAotICAgICAgICAgICBmaWxlOi8vYWRkLXRlc3Qtc3VwcG9ydC1mb3ItYnVzeWJveC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUEFNX1NSQ19VUkkgPSAiZmlsZTovL3NzaGQiCi0KLVNSQ1JFViA9ICJjY2U4Y2JlMGVkN2QxYmEzYTU3NTMxMGUwYjYzYzE5MzMyNmFlNjE2IgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IHVzZXJhZGQgdXBkYXRlLXJjLmQgdXBkYXRlLWFsdGVybmF0aXZlcyBzeXN0ZW1kCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0tc3NoZCIKLVVTRVJBRERfUEFSQU1fJHtQTn0tc3NoZCA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgL3Zhci9ydW4vc3NoZCAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHNzaGQiCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCi1JTklUU0NSSVBUX05BTUVfJHtQTn0tc3NoZCA9ICJzc2hkIgotSU5JVFNDUklQVF9QQVJBTVNfJHtQTn0tc3NoZCA9ICJkZWZhdWx0cyA5IgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tc3NoZCA9ICJzc2hkLnNvY2tldCIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHB0ZXN0Ci0KLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgotCi0jIGxvZ2luIHBhdGggaXMgaGFyZGNvZGVkIGluIHNzaGQKLUVYVFJBX09FQ09ORiA9ICInTE9HSU5fUFJPR1JBTT0ke2Jhc2VfYmluZGlyfS9sb2dpbicgXAotICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0td2l0aC1wYW0nLCAnLS13aXRob3V0LXBhbScsIGQpfSBcCi0gICAgICAgICAgICAgICAgLS13aXRob3V0LXpsaWItdmVyc2lvbi1jaGVjayBcCi0gICAgICAgICAgICAgICAgLS13aXRoLXByaXZzZXAtcGF0aD0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zc2hkIFwKLSAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfS9zc2ggXAotICAgICAgICAgICAgICAgIC0td2l0aC14YXV0aD0ke2JpbmRpcn0veGF1dGggXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zdHJpcCBcCi0gICAgICAgICAgICAgICAgIgotCi0jIG11c2wgZG9lc24ndCBpbXBsZW1lbnQgd3RtcC91dG1wCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLXd0bXAiCi0KLSMgU2luY2Ugd2UgZG8gbm90IGRlcGVuZCBvbiBsaWJic2QsIHdlIGRvIG5vdCB3YW50IGNvbmZpZ3VyZSB0byB1c2UgaXQKLSMganVzdCBiZWNhdXNlIGl0IGZpbmRzIGxpYnV0aWwuaC4gIEJ1dCwgc3BlY2lmeWluZyAtLWRpc2FibGUtbGlidXRpbAotIyBjYXVzZXMgY29tcGlsZSBlcnJvcnMsIHNvLi4uCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX2JzZF9saWJ1dGlsX2g9bm8gYWNfY3ZfaGVhZGVyX2xpYnV0aWxfaD1ubyIKLQotIyBwYXNzd2QgcGF0aCBpcyBoYXJkY29kZWQgaW4gc3NoZAotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X3BhdGhfUEFUSF9QQVNTV0RfUFJPRz0ke2JpbmRpcn0vcGFzc3dkIgotCi0jIFdlIGRvbid0IHdhbnQgdG8gZGVwZW5kIG9uIGxpYmJsb2NrZmlsZQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9tYWlsbG9ja19oPW5vIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0JZXhwb3J0IExEPSIke0NDfSIKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkX2NvbmZpZyAke0J9LwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NzaF9jb25maWcgJHtCfS8KLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICAgICAgIyBza2lwIHJlZ3Jlc3MvdW5pdHRlc3RzLyBiaW5hcmllczogdGhpcyB3aWxsIHNpbGVudGx5IHNraXAKLSAgICAgICAgIyB1bml0dGVzdHMgaW4gcnVuLXB0ZXN0cyB3aGljaCBpcyBnb29kIGJlY2F1c2UgdGhleSBhcmUgc28gc2xvdy4KLSAgICAgICAgb2VfcnVubWFrZSByZWdyZXNzL21vZHBpcGUgcmVncmVzcy9zZXR1aWQtYWxsb3dlZCByZWdyZXNzL25ldGNhdCBcCi0gICAgICAgICAgICAgICAgICAgcmVncmVzcy9jaGVjay1wZXJtIHJlZ3Jlc3MvbWtkdGVtcAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaWYgWyAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IiBdOyB0aGVuCi0JCWluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L3NzaGQgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvc3NoZAotCQlzZWQgLWkgLWUgJ3M6I1VzZVBBTSBubzpVc2VQQU0geWVzOicgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnCi0JZmkKLQotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIgXTsgdGhlbgotCQlzZWQgLWkgLWUgJ3M6I1gxMUZvcndhcmRpbmcgbm86WDExRm9yd2FyZGluZyB5ZXM6JyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcKLQlmaQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zc2hkCi0Jcm0gLWYgJHtEfSR7YmluZGlyfS9zbG9naW4gJHtEfSR7ZGF0YWRpcn0vU3NoLmJpbgotCXJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bi9zc2hkICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfQotCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS92b2xhdGlsZXMuOTlfc3NoZCAke0R9LyR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfc3NoZAotCWluc3RhbGwgLW0gMDc1NSAke1N9L2NvbnRyaWIvc3NoLWNvcHktaWQgJHtEfSR7YmluZGlyfQotCi0JIyBDcmVhdGUgY29uZmlnIGZpbGVzIGZvciByZWFkLW9ubHkgcm9vdGZzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zc2gKLQlpbnN0YWxsIC1tIDY0NCAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWcgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5Ci0Jc2VkIC1pICcvSG9zdEtleS9kJyAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9yc2Ffa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9lY2RzYV9rZXkiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQotCWVjaG8gIkhvc3RLZXkgL3Zhci9ydW4vc3NoL3NzaF9ob3N0X2VkMjU1MTlfa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLWMgLW0gMDY0NCAke1dPUktESVJ9L3NzaGRALnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkZ2Vua2V5cy5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQktZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCi0JCS1lICdzLEBCSU5ESVJALCR7YmluZGlyfSxnJyBcCi0JCS1lICdzLEBMSUJFWEVDRElSQCwke2xpYmV4ZWNkaXJ9LyR7QlBOfSxnJyBcCi0JCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NzaGQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLyouc2VydmljZQotCi0Jc2VkIC1pIC1lICdzLEBMSUJFWEVDRElSQCwke2xpYmV4ZWNkaXJ9LyR7QlBOfSxnJyBcCi0JCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zc2hkCi0KLQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9zc2hkX2NoZWNrX2tleXMgJHtEfSR7bGliZXhlY2Rpcn0vJHtCUE59L3NzaGRfY2hlY2tfa2V5cwotfQotCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQlzZWQgLWkgLWUgInN8XlNGVFBTRVJWRVI9Lip8U0ZUUFNFUlZFUj0ke2xpYmV4ZWNkaXJ9L3NmdHAtc2VydmVyfCIgcmVncmVzcy90ZXN0LWV4ZWMuc2gKLQljcCAtciByZWdyZXNzICR7RH0ke1BURVNUX1BBVEh9Ci19Ci0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1rZXlnZW4gJHtQTn0tc2NwICR7UE59LXNzaCAke1BOfS1zc2hkICR7UE59LXNmdHAgJHtQTn0tbWlzYyAke1BOfS1zZnRwLXNlcnZlciIKLUZJTEVTXyR7UE59LXNjcCA9ICIke2JpbmRpcn0vc2NwLiR7QlBOfSIKLUZJTEVTXyR7UE59LXNzaCA9ICIke2JpbmRpcn0vc3NoLiR7QlBOfSAke3N5c2NvbmZkaXJ9L3NzaC9zc2hfY29uZmlnIgotRklMRVNfJHtQTn0tc3NoZCA9ICIke3NiaW5kaXJ9L3NzaGQgJHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZCAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtIgotRklMRVNfJHtQTn0tc3NoZCArPSAiJHtzeXNjb25mZGlyfS9zc2gvbW9kdWxpICR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnICR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5ICR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOTlfc3NoZCAke3N5c2NvbmZkaXJ9L3BhbS5kL3NzaGQiCi1GSUxFU18ke1BOfS1zc2hkICs9ICIke2xpYmV4ZWNkaXJ9LyR7QlBOfS9zc2hkX2NoZWNrX2tleXMiCi1GSUxFU18ke1BOfS1zZnRwID0gIiR7YmluZGlyfS9zZnRwIgotRklMRVNfJHtQTn0tc2Z0cC1zZXJ2ZXIgPSAiJHtsaWJleGVjZGlyfS9zZnRwLXNlcnZlciIKLUZJTEVTXyR7UE59LW1pc2MgPSAiJHtiaW5kaXJ9L3NzaCogJHtsaWJleGVjZGlyfS9zc2gqIgotRklMRVNfJHtQTn0ta2V5Z2VuID0gIiR7YmluZGlyfS9zc2gta2V5Z2VuIgotCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tc2NwICR7UE59LXNzaCAke1BOfS1zc2hkICR7UE59LWtleWdlbiIKLVJERVBFTkRTXyR7UE59LXNzaGQgKz0gIiR7UE59LWtleWdlbiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWtleWluaXQgcGFtLXBsdWdpbi1sb2dpbnVpZCcsICcnLCBkKX0iCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0tc2Z0cCAke1BOfS1taXNjICR7UE59LXNmdHAtc2VydmVyIG1ha2UiCi0KLVJQUk9WSURFU18ke1BOfS1zc2ggPSAic3NoIgotUlBST1ZJREVTXyR7UE59LXNzaGQgPSAic3NoZCIKLQotUkNPTkZMSUNUU18ke1BOfSA9ICJkcm9wYmVhciIKLVJDT05GTElDVFNfJHtQTn0tc3NoZCA9ICJkcm9wYmVhciIKLQotQ09ORkZJTEVTXyR7UE59LXNzaGQgPSAiJHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWciCi1DT05GRklMRVNfJHtQTn0tc3NoID0gIiR7c3lzY29uZmRpcn0vc3NoL3NzaF9jb25maWciCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjkwIgotQUxURVJOQVRJVkVfJHtQTn0tc2NwID0gInNjcCIKLUFMVEVSTkFUSVZFXyR7UE59LXNzaCA9ICJzc2giCi0KLUJCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NoL29wZW5zc2hfNy45cDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOXAxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjNmNjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzaC9vcGVuc3NoXzcuOXAxLmJiCkBAIC0wLDAgKzEsMTYyIEBACitTVU1NQVJZID0gIkEgc3VpdGUgb2Ygc2VjdXJpdHktcmVsYXRlZCBuZXR3b3JrIHV0aWxpdGllcyBiYXNlZCBvbiBcCit0aGUgU1NIIHByb3RvY29sIGluY2x1ZGluZyB0aGUgc3NoIGNsaWVudCBhbmQgc3NoZCBzZXJ2ZXIiCitERVNDUklQVElPTiA9ICJTZWN1cmUgcmxvZ2luL3JzaC9yY3AvdGVsbmV0IHJlcGxhY2VtZW50IChPcGVuU1NIKSBcCitTc2ggKFNlY3VyZSBTaGVsbCkgaXMgYSBwcm9ncmFtIGZvciBsb2dnaW5nIGludG8gYSByZW1vdGUgbWFjaGluZSBcCithbmQgZm9yIGV4ZWN1dGluZyBjb21tYW5kcyBvbiBhIHJlbW90ZSBtYWNoaW5lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzaC5jb20vIgorU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTQyOTY1OGM2NjEyZjNhOWIxMjkzNzgyMzY2YWIyOWQ4IgorCitERVBFTkRTID0gInpsaWIgb3BlbnNzbCIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5vcGVuYnNkLm9yZy9wdWIvT3BlbkJTRC9PcGVuU1NIL3BvcnRhYmxlL29wZW5zc2gtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3NzaGRfY29uZmlnIFwKKyAgICAgICAgICAgZmlsZTovL3NzaF9jb25maWcgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkLnNvY2tldCBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkQC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3NzaGRnZW5rZXlzLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vdm9sYXRpbGVzLjk5X3NzaGQgXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1wb3RlbnRpYWwtc2lnbmVkLW92ZXJmbG93LWluLXBvaW50ZXItYXJpdGhtYXRpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zc2hkX2NoZWNrX2tleXMgXAorICAgICAgICAgICBmaWxlOi8vYWRkLXRlc3Qtc3VwcG9ydC1mb3ItYnVzeWJveC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNmFmNTBiN2E0NzRkMDQ3MjZhNWFhNzQ3YTVkY2U4ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjRiM2JhMjI1M2Q4NGVkMzc3MWM4MDUwNzI4ZDU5N2M5MWNmY2U4OTg3MTNiZWI3YjY0YTMwNWI2ZjExYWFkIgorCitQQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3NoZCIKKworaW5oZXJpdCB1c2VyYWRkIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgc3lzdGVtZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59LXNzaGQiCitVU0VSQUREX1BBUkFNXyR7UE59LXNzaGQgPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC92YXIvcnVuL3NzaGQgLS1zaGVsbCAvYmluL2ZhbHNlIC0tdXNlci1ncm91cCBzc2hkIgorSU5JVFNDUklQVF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgorSU5JVFNDUklQVF9OQU1FXyR7UE59LXNzaGQgPSAic3NoZCIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LXNzaGQgPSAiZGVmYXVsdHMgOSIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICIke1BOfS1zc2hkIgorU1lTVEVNRF9TRVJWSUNFXyR7UE59LXNzaGQgPSAic3NoZC5zb2NrZXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKKworIyBsb2dpbiBwYXRoIGlzIGhhcmRjb2RlZCBpbiBzc2hkCitFWFRSQV9PRUNPTkYgPSAiJ0xPR0lOX1BST0dSQU09JHtiYXNlX2JpbmRpcn0vbG9naW4nIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAorICAgICAgICAgICAgICAgIC0td2l0aG91dC16bGliLXZlcnNpb24tY2hlY2sgXAorICAgICAgICAgICAgICAgIC0td2l0aC1wcml2c2VwLXBhdGg9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCBcCisgICAgICAgICAgICAgICAgLS1zeXNjb25mZGlyPSR7c3lzY29uZmRpcn0vc3NoIFwKKyAgICAgICAgICAgICAgICAtLXdpdGgteGF1dGg9JHtiaW5kaXJ9L3hhdXRoIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RyaXAgXAorICAgICAgICAgICAgICAgICIKKworIyBtdXNsIGRvZXNuJ3QgaW1wbGVtZW50IHd0bXAvdXRtcAorRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS13dG1wIgorCisjIFNpbmNlIHdlIGRvIG5vdCBkZXBlbmQgb24gbGliYnNkLCB3ZSBkbyBub3Qgd2FudCBjb25maWd1cmUgdG8gdXNlIGl0CisjIGp1c3QgYmVjYXVzZSBpdCBmaW5kcyBsaWJ1dGlsLmguICBCdXQsIHNwZWNpZnlpbmcgLS1kaXNhYmxlLWxpYnV0aWwKKyMgY2F1c2VzIGNvbXBpbGUgZXJyb3JzLCBzby4uLgorQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9ic2RfbGlidXRpbF9oPW5vIGFjX2N2X2hlYWRlcl9saWJ1dGlsX2g9bm8iCisKKyMgcGFzc3dkIHBhdGggaXMgaGFyZGNvZGVkIGluIHNzaGQKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9wYXRoX1BBVEhfUEFTU1dEX1BST0c9JHtiaW5kaXJ9L3Bhc3N3ZCIKKworIyBXZSBkb24ndCB3YW50IHRvIGRlcGVuZCBvbiBsaWJibG9ja2ZpbGUKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9oZWFkZXJfbWFpbGxvY2tfaD1ubyIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCWV4cG9ydCBMRD0iJHtDQ30iCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZF9jb25maWcgJHtCfS8KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hfY29uZmlnICR7Qn0vCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisgICAgICAgICMgc2tpcCByZWdyZXNzL3VuaXR0ZXN0cy8gYmluYXJpZXM6IHRoaXMgd2lsbCBzaWxlbnRseSBza2lwCisgICAgICAgICMgdW5pdHRlc3RzIGluIHJ1bi1wdGVzdHMgd2hpY2ggaXMgZ29vZCBiZWNhdXNlIHRoZXkgYXJlIHNvIHNsb3cuCisgICAgICAgIG9lX3J1bm1ha2UgcmVncmVzcy9tb2RwaXBlIHJlZ3Jlc3Mvc2V0dWlkLWFsbG93ZWQgcmVncmVzcy9uZXRjYXQgXAorICAgICAgICAgICAgICAgICAgIHJlZ3Jlc3MvY2hlY2stcGVybSByZWdyZXNzL21rZHRlbXAKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgorCQlpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkICR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3NzaGQKKwkJc2VkIC1pIC1lICdzOiNVc2VQQU0gbm86VXNlUEFNIHllczonICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZworCWZpCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iIF07IHRoZW4KKwkJc2VkIC1pIC1lICdzOiNYMTFGb3J3YXJkaW5nIG5vOlgxMUZvcndhcmRpbmcgeWVzOicgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnCisJZmkKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAorCXJtIC1mICR7RH0ke2JpbmRpcn0vc2xvZ2luICR7RH0ke2RhdGFkaXJ9L1NzaC5iaW4KKwlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4vc3NoZCAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4gJHtEfSR7bG9jYWxzdGF0ZWRpcn0KKwlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vdm9sYXRpbGVzLjk5X3NzaGQgJHtEfS8ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQKKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9jb250cmliL3NzaC1jb3B5LWlkICR7RH0ke2JpbmRpcn0KKworCSMgQ3JlYXRlIGNvbmZpZyBmaWxlcyBmb3IgcmVhZC1vbmx5IHJvb3RmcworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NoCisJaW5zdGFsbCAtbSA2NDQgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnICR7RH0ke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seQorCXNlZCAtaSAnL0hvc3RLZXkvZCcgJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisJZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfcnNhX2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisJZWNobyAiSG9zdEtleSAvdmFyL3J1bi9zc2gvc3NoX2hvc3RfZWNkc2Ffa2V5IiA+PiAke0R9JHtzeXNjb25mZGlyfS9zc2gvc3NoZF9jb25maWdfcmVhZG9ubHkKKwllY2hvICJIb3N0S2V5IC92YXIvcnVuL3NzaC9zc2hfaG9zdF9lZDI1NTE5X2tleSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnX3JlYWRvbmx5CisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1jIC1tIDA2NDQgJHtXT1JLRElSfS9zc2hkQC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtYyAtbSAwNjQ0ICR7V09SS0RJUn0vc3NoZGdlbmtleXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAQkFTRV9CSU5ESVJALCR7YmFzZV9iaW5kaXJ9LGcnIFwKKwkJLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCQktZSAncyxAQklORElSQCwke2JpbmRpcn0sZycgXAorCQktZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAorCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zc2hkLnNvY2tldCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8qLnNlcnZpY2UKKworCXNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfS8ke0JQTn0sZycgXAorCQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3NoZAorCisJaW5zdGFsbCAtRCAtbSAwNzU1ICR7V09SS0RJUn0vc3NoZF9jaGVja19rZXlzICR7RH0ke2xpYmV4ZWNkaXJ9LyR7QlBOfS9zc2hkX2NoZWNrX2tleXMKK30KKworZG9faW5zdGFsbF9wdGVzdCAoKSB7CisJc2VkIC1pIC1lICJzfF5TRlRQU0VSVkVSPS4qfFNGVFBTRVJWRVI9JHtsaWJleGVjZGlyfS9zZnRwLXNlcnZlcnwiIHJlZ3Jlc3MvdGVzdC1leGVjLnNoCisJY3AgLXIgcmVncmVzcyAke0R9JHtQVEVTVF9QQVRIfQorfQorCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitQQUNLQUdFUyA9KyAiJHtQTn0ta2V5Z2VuICR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1zZnRwICR7UE59LW1pc2MgJHtQTn0tc2Z0cC1zZXJ2ZXIiCitGSUxFU18ke1BOfS1zY3AgPSAiJHtiaW5kaXJ9L3NjcC4ke0JQTn0iCitGSUxFU18ke1BOfS1zc2ggPSAiJHtiaW5kaXJ9L3NzaC4ke0JQTn0gJHtzeXNjb25mZGlyfS9zc2gvc3NoX2NvbmZpZyIKK0ZJTEVTXyR7UE59LXNzaGQgPSAiJHtzYmluZGlyfS9zc2hkICR7c3lzY29uZmRpcn0vaW5pdC5kL3NzaGQgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbSIKK0ZJTEVTXyR7UE59LXNzaGQgKz0gIiR7c3lzY29uZmRpcn0vc3NoL21vZHVsaSAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZyAke3N5c2NvbmZkaXJ9L3NzaC9zc2hkX2NvbmZpZ19yZWFkb25seSAke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzLzk5X3NzaGQgJHtzeXNjb25mZGlyfS9wYW0uZC9zc2hkIgorRklMRVNfJHtQTn0tc3NoZCArPSAiJHtsaWJleGVjZGlyfS8ke0JQTn0vc3NoZF9jaGVja19rZXlzIgorRklMRVNfJHtQTn0tc2Z0cCA9ICIke2JpbmRpcn0vc2Z0cCIKK0ZJTEVTXyR7UE59LXNmdHAtc2VydmVyID0gIiR7bGliZXhlY2Rpcn0vc2Z0cC1zZXJ2ZXIiCitGSUxFU18ke1BOfS1taXNjID0gIiR7YmluZGlyfS9zc2gqICR7bGliZXhlY2Rpcn0vc3NoKiIKK0ZJTEVTXyR7UE59LWtleWdlbiA9ICIke2JpbmRpcn0vc3NoLWtleWdlbiIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXNjcCAke1BOfS1zc2ggJHtQTn0tc3NoZCAke1BOfS1rZXlnZW4iCitSREVQRU5EU18ke1BOfS1zc2hkICs9ICIke1BOfS1rZXlnZW4gJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAncGFtLXBsdWdpbi1rZXlpbml0IHBhbS1wbHVnaW4tbG9naW51aWQnLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LXNmdHAgJHtQTn0tbWlzYyAke1BOfS1zZnRwLXNlcnZlciBtYWtlIgorCitSUFJPVklERVNfJHtQTn0tc3NoID0gInNzaCIKK1JQUk9WSURFU18ke1BOfS1zc2hkID0gInNzaGQiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiZHJvcGJlYXIiCitSQ09ORkxJQ1RTXyR7UE59LXNzaGQgPSAiZHJvcGJlYXIiCisKK0NPTkZGSUxFU18ke1BOfS1zc2hkID0gIiR7c3lzY29uZmRpcn0vc3NoL3NzaGRfY29uZmlnIgorQ09ORkZJTEVTXyR7UE59LXNzaCA9ICIke3N5c2NvbmZkaXJ9L3NzaC9zc2hfY29uZmlnIgorCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICI5MCIKK0FMVEVSTkFUSVZFXyR7UE59LXNjcCA9ICJzY3AiCitBTFRFUk5BVElWRV8ke1BOfS1zc2ggPSAic3NoIgorCitCQkNMQVNTRVhURU5EICs9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCmluZGV4IDgwYjYyYWIuLjk0OWM3ODggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvMDAwMS1idWlsZGluZm8tc3RyaXAtc3lzcm9vdC1hbmQtZGVidWctcHJlZml4LW1hcC1mcm9tLWNvLnBhdGNoCkBAIC0yMCw2ICsyMCwxMSBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogTWFydGluIEh1bmRlYsO4bGwgPG1hcnRpbkBnZWFuaXguY29tPgorCisKK1VwZGF0ZSB0byBmaXggYnVpbGRwYXRocyBxYSBpc3N1ZSBmb3IgJy1mbWFjcm8tcHJlZml4LW1hcCcuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsIHwgMTAgKysrKysrKysrLQogIGNyeXB0by9idWlsZC5pbmZvICAgICAgICAgICAgICAgICB8ICAyICstCkBAIC0yOSw3ICszNCw3IEBACiBpbmRleCAxNmFmNGQyMDg3Li41NGMxNjI3ODRjIDEwMDY0NAogLS0tIGEvQ29uZmlndXJhdGlvbnMvdW5peC1NYWtlZmlsZS50bXBsCiArKysgYi9Db25maWd1cmF0aW9ucy91bml4LU1ha2VmaWxlLnRtcGwKLUBAIC0zMTcsMTMgKzMxNywyMSBAQCBCSU5fTERGTEFHUz17LSBqb2luKCcgJywgJHRhcmdldHtiaW5fbGZsYWdzfSB8fCAoKSwKK0BAIC0zMTcsMTMgKzMxNywyMiBAQCBCSU5fTERGTEFHUz17LSBqb2luKCcgJywgJHRhcmdldHtiaW5fbGZsYWdzfSB8fCAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJyQoQ05GX0xERkxBR1MpJywgJyQoTERGTEFHUyknKSAtfQogIEJJTl9FWF9MSUJTPSQoQ05GX0VYX0xJQlMpICQoRVhfTElCUykKICAKQEAgLTQzLDYgKzQ4LDcgQEAKICAKICtDRkxBR1NfUT17LSBmb3IgKEB7JGNvbmZpZ3tDRkxBR1N9fSkgewogKyAgICAgICAgICAgICAgc3wtZmRlYnVnLXByZWZpeC1tYXA9W14gXSt8LWZkZWJ1Zy1wcmVmaXgtbWFwPXxnOworKyAgICAgICAgICAgICAgc3wtZm1hY3JvLXByZWZpeC1tYXA9W14gXSt8LWZtYWNyby1wcmVmaXgtbWFwPXxnOwogKyAgICAgICAgICAgIH0KICsgICAgICAgICAgICBqb2luKCcgJywgQHskY29uZmlne0NGTEFHU319KSAtfQogKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9DVkUtMjAxOS0xNTQzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9DVkUtMjAxOS0xNTQzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMGVmOTcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL0NWRS0yMDE5LTE1NDMucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9jb21taXQvZjQyNjYyNWI2YWU5YTc4MzEwMTA3NTA0OTBhNWYwYWQ2ODljNWJhM10KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gZjQyNjYyNWI2YWU5YTc4MzEwMTA3NTA0OTBhNWYwYWQ2ODljNWJhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgQ2Fzd2VsbCA8bWF0dEBvcGVuc3NsLm9yZz4KK0RhdGU6IFR1ZSwgNSBNYXIgMjAxOSAxNDozOToxNSArMDAwMAorU3ViamVjdDogW1BBVENIXSBQcmV2ZW50IG92ZXIgbG9uZyBub25jZXMgaW4gQ2hhQ2hhMjAtUG9seTEzMDUKKworQ2hhQ2hhMjAtUG9seTEzMDUgaXMgYW4gQUVBRCBjaXBoZXIsIGFuZCByZXF1aXJlcyBhIHVuaXF1ZSBub25jZSBpbnB1dCBmb3IKK2V2ZXJ5IGVuY3J5cHRpb24gb3BlcmF0aW9uLiBSRkMgNzUzOSBzcGVjaWZpZXMgdGhhdCB0aGUgbm9uY2UgdmFsdWUgKElWKQorc2hvdWxkIGJlIDk2IGJpdHMgKDEyIGJ5dGVzKS4gT3BlblNTTCBhbGxvd3MgYSB2YXJpYWJsZSBub25jZSBsZW5ndGggYW5kCitmcm9udCBwYWRzIHRoZSBub25jZSB3aXRoIDAgYnl0ZXMgaWYgaXQgaXMgbGVzcyB0aGFuIDEyIGJ5dGVzLiBIb3dldmVyIGl0CithbHNvIGluY29ycmVjdGx5IGFsbG93cyBhIG5vbmNlIHRvIGJlIHNldCBvZiB1cCB0byAxNiBieXRlcy4gSW4gdGhpcyBjYXNlCitvbmx5IHRoZSBsYXN0IDEyIGJ5dGVzIGFyZSBzaWduaWZpY2FudCBhbmQgYW55IGFkZGl0aW9uYWwgbGVhZGluZyBieXRlcyBhcmUKK2lnbm9yZWQuCisKK0l0IGlzIGEgcmVxdWlyZW1lbnQgb2YgdXNpbmcgdGhpcyBjaXBoZXIgdGhhdCBub25jZSB2YWx1ZXMgYXJlIHVuaXF1ZS4KK01lc3NhZ2VzIGVuY3J5cHRlZCB1c2luZyBhIHJldXNlZCBub25jZSB2YWx1ZSBhcmUgc3VzY2VwdGlibGUgdG8gc2VyaW91cworY29uZmlkZW50aWFsaXR5IGFuZCBpbnRlZ3JpdHkgYXR0YWNrcy4gSWYgYW4gYXBwbGljYXRpb24gY2hhbmdlcyB0aGUKK2RlZmF1bHQgbm9uY2UgbGVuZ3RoIHRvIGJlIGxvbmdlciB0aGFuIDEyIGJ5dGVzIGFuZCB0aGVuIG1ha2VzIGEgY2hhbmdlIHRvCit0aGUgbGVhZGluZyBieXRlcyBvZiB0aGUgbm9uY2UgZXhwZWN0aW5nIHRoZSBuZXcgdmFsdWUgdG8gYmUgYSBuZXcgdW5pcXVlCitub25jZSB0aGVuIHN1Y2ggYW4gYXBwbGljYXRpb24gY291bGQgaW5hZHZlcnRlbnRseSBlbmNyeXB0IG1lc3NhZ2VzIHdpdGggYQorcmV1c2VkIG5vbmNlLgorCitBZGRpdGlvbmFsbHkgdGhlIGlnbm9yZWQgYnl0ZXMgaW4gYSBsb25nIG5vbmNlIGFyZSBub3QgY292ZXJlZCBieSB0aGUKK2ludGVncml0eSBndWFyYW50ZWUgb2YgdGhpcyBjaXBoZXIuIEFueSBhcHBsaWNhdGlvbiB0aGF0IHJlbGllcyBvbiB0aGUKK2ludGVncml0eSBvZiB0aGVzZSBpZ25vcmVkIGxlYWRpbmcgYnl0ZXMgb2YgYSBsb25nIG5vbmNlIG1heSBiZSBmdXJ0aGVyCithZmZlY3RlZC4KKworQW55IE9wZW5TU0wgaW50ZXJuYWwgdXNlIG9mIHRoaXMgY2lwaGVyLCBpbmNsdWRpbmcgaW4gU1NML1RMUywgaXMgc2FmZQorYmVjYXVzZSBubyBzdWNoIHVzZSBzZXRzIHN1Y2ggYSBsb25nIG5vbmNlIHZhbHVlLiBIb3dldmVyIHVzZXIKK2FwcGxpY2F0aW9ucyB0aGF0IHVzZSB0aGlzIGNpcGhlciBkaXJlY3RseSBhbmQgc2V0IGEgbm9uLWRlZmF1bHQgbm9uY2UKK2xlbmd0aCB0byBiZSBsb25nZXIgdGhhbiAxMiBieXRlcyBtYXkgYmUgdnVsbmVyYWJsZS4KKworQ1ZFOiBDVkUtMjAxOS0xNTQzCisKK0ZpeGVzICM4MzQ1CisKK1Jldmlld2VkLWJ5OiBQYXVsIERhbGUgPHBhdWwuZGFsZUBvcmFjbGUuY29tPgorUmV2aWV3ZWQtYnk6IFJpY2hhcmQgTGV2aXR0ZSA8bGV2aXR0ZUBvcGVuc3NsLm9yZz4KKyhNZXJnZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvODQwNikKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMmEzZDBlZTlkNTkxNTZjNDg5NzM1OTIzMzE0MDQ0NzFhY2E4ODZkNikKKy0tLQorIGNyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMgYi9jcnlwdG8vZXZwL2VfY2hhY2hhMjBfcG9seTEzMDUuYworaW5kZXggYzE5MTdiYjg2YTYuLmQzZTJjNjIyYTFiIDEwMDY0NAorLS0tIGEvY3J5cHRvL2V2cC9lX2NoYWNoYTIwX3BvbHkxMzA1LmMKKysrKyBiL2NyeXB0by9ldnAvZV9jaGFjaGEyMF9wb2x5MTMwNS5jCitAQCAtMzAsNiArMzAsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCisgI2RlZmluZSBkYXRhKGN0eCkgICAoKEVWUF9DSEFDSEFfS0VZICopKGN0eCktPmNpcGhlcl9kYXRhKQorIAorKyNkZWZpbmUgQ0hBQ0hBMjBfUE9MWTEzMDVfTUFYX0lWTEVOICAgICAxMgorKworIHN0YXRpYyBpbnQgY2hhY2hhX2luaXRfa2V5KEVWUF9DSVBIRVJfQ1RYICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciB1c2VyX2tleVtDSEFDSEFfS0VZX1NJWkVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgaXZbQ0hBQ0hBX0NUUl9TSVpFXSwgaW50IGVuYykKK0BAIC01MzMsNyArNTM1LDcgQEAgc3RhdGljIGludCBjaGFjaGEyMF9wb2x5MTMwNV9jdHJsKEVWUF9DSVBIRVJfQ1RYICpjdHgsIGludCB0eXBlLCBpbnQgYXJnLAorICAgICAgICAgcmV0dXJuIDE7CisgCisgICAgIGNhc2UgRVZQX0NUUkxfQUVBRF9TRVRfSVZMRU46CistICAgICAgICBpZiAoYXJnIDw9IDAgfHwgYXJnID4gQ0hBQ0hBX0NUUl9TSVpFKQorKyAgICAgICAgaWYgKGFyZyA8PSAwIHx8IGFyZyA+IENIQUNIQTIwX1BPTFkxMzA1X01BWF9JVkxFTikKKyAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgIGFjdHgtPm5vbmNlX2xlbiA9IGFyZzsKKyAgICAgICAgIHJldHVybiAxOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9hZmFsZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvYWZhbGcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0YjA4NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wvYWZhbGcucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRG9uJ3QgcmVmdXNlIHRvIGJ1aWxkIGFmYWxnZW5nIGlmIGNyb3NzLWNvbXBpbGluZyBvciB0aGUgaG9zdCBrZXJuZWwgaXMgdG9vIG9sZC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2hodHRwczovL2dpdGh1Yi5jb20vb3BlbnNzbC9vcGVuc3NsL3B1bGwvNzY4OF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKK2luZGV4IDNiYWE4Y2UuLjllZjUyZWQgMTAwNzU1CistLS0gYS9Db25maWd1cmUKKysrKyBiL0NvbmZpZ3VyZQorQEAgLTE1NTAsMjAgKzE1NTAsNyBAQCB1bmxlc3MgKCRkaXNhYmxlZHsiY3J5cHRvLW1kZWJ1Zy1iYWNrdHJhY2UifSkKKyB1bmxlc3MgKCRkaXNhYmxlZHthZmFsZ2VuZ30pIHsKKyAgICAgJGNvbmZpZ3thZmFsZ2VuZ309IiI7CisgICAgIGlmIChncmVwIHsgJF8gZXEgJ2FmYWxnZW5nJyB9IEB7JHRhcmdldHtlbmFibGV9fSkgeworLSAgICAgICAgbXkgJG1pbnZlciA9IDQqMTAwMDAgKyAxKjEwMCArIDA7CistICAgICAgICBpZiAoJGNvbmZpZ3tDUk9TU19DT01QSUxFfSBlcSAiIikgeworLSAgICAgICAgICAgIG15ICR2ZXJzdHIgPSBgdW5hbWUgLXJgOworLSAgICAgICAgICAgIG15ICgkbWEsICRtaTEsICRtaTIpID0gc3BsaXQoIlxcLiIsICR2ZXJzdHIpOworLSAgICAgICAgICAgICgkbWkyKSA9ICRtaTIgPX4gLyhcZCspLzsKKy0gICAgICAgICAgICBteSAkdmVyID0gJG1hKjEwMDAwICsgJG1pMSoxMDAgKyAkbWkyOworLSAgICAgICAgICAgIGlmICgkdmVyIDwgJG1pbnZlcikgeworLSAgICAgICAgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ID0gInRvby1vbGQta2VybmVsIjsKKy0gICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICBwdXNoIEB7JGNvbmZpZ3tlbmdkaXJzfX0sICJhZmFsZyI7CistICAgICAgICAgICAgfQorLSAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ID0gImNyb3NzLWNvbXBpbGluZyI7CistICAgICAgICB9CisrICAgICAgICBwdXNoIEB7JGNvbmZpZ3tlbmdkaXJzfX0sICJhZmFsZyI7CisgICAgIH0gZWxzZSB7CisgICAgICAgICAkZGlzYWJsZWR7YWZhbGdlbmd9ICA9ICJub3QtbGludXgiOworICAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL29wZW5zc2wtY19yZWhhc2guc2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL29wZW5zc2wtY19yZWhhc2guc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2MjBmZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9vcGVuc3NsLWNfcmVoYXNoLnNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIyICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyBCZW4gU2VjcmVzdCA8YmxzZWNyZXNAZ21haWwuY29tPgotIwotIyBzaCBjX3JlaGFzaCBzY3JpcHQsIHNjYW4gYWxsIGZpbGVzIGluIGEgZGlyZWN0b3J5Ci0jIGFuZCBhZGQgc3ltYm9saWMgbGlua3MgdG8gdGhlaXIgaGFzaCB2YWx1ZXMuCi0jCi0jIGJhc2VkIG9uIHRoZSBjX3JlaGFzaCBwZXJsIHNjcmlwdCBkaXN0cmlidXRlZCB3aXRoIG9wZW5zc2wKLSMKLSMgTElDRU5TRTogU2VlIE9wZW5TU0wgbGljZW5zZQotIyBeXmFjY2VwdGFibGU/Xl4KLSMKLQotIyBkZWZhdWx0IGNlcnRpZmljYXRlIGxvY2F0aW9uCi1ESVI9L2V0Yy9vcGVuc3NsCi0KLSMgZm9yIGZpbGV0eXBlIGJpdGZpZWxkCi1JU19DRVJUPSQoKCAxIDw8IDAgKSkKLUlTX0NSTD0kKCggMSA8PCAxICkpCi0KLQotIyBjaGVjayB0byBzZWUgaWYgYSBmaWxlIGlzIGEgY2VydGlmaWNhdGUgZmlsZSBvciBhIENSTCBmaWxlCi0jIGFyZ3VtZW50czoKLSMgICAgICAgMS4gdGhlIGZpbGVuYW1lIHRvIGJlIHNjYW5uZWQKLSMgcmV0dXJuczoKLSMgICAgICAgYml0ZmllbGQgb2YgZmlsZSB0eXBlOyB1c2VzICR7SVNfQ0VSVH0gYW5kICR7SVNfQ1JMfQotIwotY2hlY2tfZmlsZSgpCi17Ci0gICAgbG9jYWwgSVNfVFlQRT0wCi0KLSAgICAjIG1ha2UgSUZTIGEgbmV3bGluZSBzbyB3ZSBjYW4gcHJvY2VzcyBncmVwIG91dHB1dCBsaW5lIGJ5IGxpbmUKLSAgICBsb2NhbCBPTERJRlM9JHtJRlN9Ci0gICAgSUZTPSQoIHByaW50ZiAiXG4iICkKLQotICAgICMgWFhYOiBjb3VsZCBiZSBtb3JlIGVmZmljaWVudCB0byBoYXZlIHR3byAnZ3JlcCAtbScgYnV0IGlzIC1tIHBvcnRhYmxlPwotICAgIGZvciBMSU5FIGluICQoIGdyZXAgJ14tLS0tLUJFR0lOIC4qLS0tLS0nICR7MX0gKQotICAgIGRvCi0JaWYgZWNobyAke0xJTkV9IFwKLQkgICAgfCBncmVwIC1xIC1FICdeLS0tLS1CRUdJTiAoWDUwOSB8VFJVU1RFRCApP0NFUlRJRklDQVRFLS0tLS0nCi0JdGhlbgotCSAgICBJU19UWVBFPSQoKCAke0lTX1RZUEV9IHwgJHtJU19DRVJUfSApKQotCi0JICAgIGlmIFsgJCgoICR7SVNfVFlQRX0gJiAke0lTX0NSTH0gKSkgLW5lIDAgXQotCSAgICB0aGVuCi0JICAgIAlicmVhawotCSAgICBmaQotCWVsaWYgZWNobyAke0xJTkV9IHwgZ3JlcCAtcSAnXi0tLS0tQkVHSU4gWDUwOSBDUkwtLS0tLScKLQl0aGVuCi0JICAgIElTX1RZUEU9JCgoICR7SVNfVFlQRX0gfCAke0lTX0NSTH0gKSkKLQotCSAgICBpZiBbICQoKCAke0lTX1RZUEV9ICYgJHtJU19DRVJUfSApKSAtbmUgMCBdCi0JICAgIHRoZW4KLQkgICAgCWJyZWFrCi0JICAgIGZpCi0JZmkKLSAgICBkb25lCi0KLSAgICAjIHJlc3RvcmUgSUZTCi0gICAgSUZTPSR7T0xESUZTfQotCi0gICAgcmV0dXJuICR7SVNfVFlQRX0KLX0KLQotCi0jCi0jIHVzZSBvcGVuc3NsIHRvIGZpbmdlcnByaW50IGEgZmlsZQotIyAgICBhcmd1bWVudHM6Ci0jCTEuIHRoZSBmaWxlbmFtZSB0byBmaW5nZXJwcmludAotIwkyLiB0aGUgbWV0aG9kIHRvIHVzZSAoeDUwOSwgY3JsKQotIyAgICByZXR1cm5zOgotIwlub25lCi0jICAgIGFzc3VtcHRpb25zOgotIwl1c2VyIHdpbGwgY2FwdHVyZSBvdXRwdXQgZnJvbSBsYXN0IHN0YWdlIG9mIHBpcGVsaW5lCi0jCi1maW5nZXJwcmludCgpCi17Ci0gICAgJHtTU0xfQ01EfSAkezJ9IC1maW5nZXJwcmludCAtbm9vdXQgLWluICR7MX0gfCBzZWQgJ3MvXi4qPS8vJyB8IHRyIC1kICc6JwotfQotCi0KLSMKLSMgbGlua19oYXNoIC0gY3JlYXRlIGxpbmtzIHRvIGNlcnRpZmljYXRlIGZpbGVzCi0jICAgIGFyZ3VtZW50czoKLSMgICAgICAgMS4gdGhlIGZpbGVuYW1lIHRvIGNyZWF0ZSBhIGxpbmsgZm9yCi0jCTIuIHRoZSB0eXBlIG9mIGNlcnRpZmljYXRlIGJlaW5nIGxpbmtlZCAoeDUwOSwgY3JsKQotIyAgICByZXR1cm5zOgotIwkwIG9uIHN1Y2Nlc3MsIDEgb3RoZXJ3aXNlCi0jCi1saW5rX2hhc2goKQotewotICAgIGxvY2FsIEZJTkdFUlBSSU5UPSQoIGZpbmdlcnByaW50ICR7MX0gJHsyfSApCi0gICAgbG9jYWwgSEFTSD0kKCAke1NTTF9DTUR9ICR7Mn0gLWhhc2ggLW5vb3V0IC1pbiAkezF9ICkKLSAgICBsb2NhbCBTVUZGSVg9MAotICAgIGxvY2FsIExJTktGSUxFPScnCi0gICAgbG9jYWwgVEFHPScnCi0KLSAgICBpZiBbICR7Mn0gPSAiY3JsIiBdCi0gICAgdGhlbgotICAgIAlUQUc9J3InCi0gICAgZmkKLQotICAgIExJTktGSUxFPSR7SEFTSH0uJHtUQUd9JHtTVUZGSVh9Ci0KLSAgICB3aGlsZSBbIC1mICR7TElOS0ZJTEV9IF0KLSAgICBkbwotCWlmIFsgJHtGSU5HRVJQUklOVH0gPSAkKCBmaW5nZXJwcmludCAke0xJTktGSUxFfSAkezJ9ICkgXQotCXRoZW4KLQkgICAgZWNobyAiTk9URTogU2tpcHBpbmcgZHVwbGljYXRlIGZpbGUgJHsxfSIgPiYyCi0JICAgIHJldHVybiAxCi0JZmkJCi0KLQlTVUZGSVg9JCgoICR7U1VGRklYfSArIDEgKSkKLQlMSU5LRklMRT0ke0hBU0h9LiR7VEFHfSR7U1VGRklYfQotICAgIGRvbmUKLQotICAgIGVjaG8gIiR7M30gPT4gJHtMSU5LRklMRX0iCi0KLSAgICAjIGFzc3VtZSBhbnkgc3lzdGVtIHdpdGggYSBQT1NJWCBzaGVsbCB3aWxsIGVpdGhlciBzdXBwb3J0IHN5bWxpbmtzIG9yCi0gICAgIyBkbyBzb21ldGhpbmcgdG8gaGFuZGxlIHRoaXMgZ3JhY2VmdWxseQotICAgIGxuIC1zICR7M30gJHtMSU5LRklMRX0KLQotICAgIHJldHVybiAwCi19Ci0KLQotIyBoYXNoX2RpciBjcmVhdGUgaGFzaCBsaW5rcyBpbiBhIGdpdmVuIGRpcmVjdG9yeQotaGFzaF9kaXIoKQotewotICAgIGVjaG8gIkRvaW5nICR7MX0iCi0KLSAgICBjZCAkezF9Ci0KLSAgICBscyAtMSAqIDI+L2Rldi9udWxsIHwgd2hpbGUgcmVhZCBGSUxFCi0gICAgZG8KLSAgICAgICAgaWYgZWNobyAke0ZJTEV9IHwgZ3JlcCAtcSAtRSAnXltbOnhkaWdpdDpdXXs4fVwucj9bWzpkaWdpdDpdXSskJyBcCi0JICAgIAkmJiBbIC1oICIke0ZJTEV9IiBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIHJtICR7RklMRX0KLSAgICAgICAgZmkKLSAgICBkb25lCi0KLSAgICBscyAtMSAqLnBlbSAqLmNlciAqLmNydCAqLmNybCAyPi9kZXYvbnVsbCB8IHdoaWxlIHJlYWQgRklMRQotICAgIGRvCi0JUkVBTF9GSUxFPSR7RklMRX0KLQkjIGlmIHdlIHJ1biBvbiBidWlsZCBob3N0IHRoZW4gZ2V0IHRvIHRoZSByZWFsIGZpbGVzIGluIHJvb3RmcwotCWlmIFsgLW4gIiR7U1lTUk9PVH0iIC1hIC1oICR7RklMRX0gXQotCXRoZW4KLQkgICAgRklMRT0kKCByZWFkbGluayAke0ZJTEV9ICkKLQkgICAgIyBjaGVjayB0aGUgc3ltbGluayBpcyBhYnNvbHV0ZSAob3IgZGFuZ2xpbmcgaW4gb3RoZXIgd29yZCkKLQkgICAgaWYgWyAieC8iID0gIngkKCBlY2hvICR7RklMRX0gfCBjdXQgLWMxIC0pIiBdCi0JICAgIHRoZW4KLQkJUkVBTF9GSUxFPSR7U1lTUk9PVH0vJHtGSUxFfQotCSAgICBmaQotCWZpCi0KLQljaGVja19maWxlICR7UkVBTF9GSUxFfQotICAgICAgICBsb2NhbCBGSUxFX1RZUEU9JHs/fQotCWxvY2FsIFRZUEVfU1RSPScnCi0KLSAgICAgICAgaWYgWyAkKCggJHtGSUxFX1RZUEV9ICYgJHtJU19DRVJUfSApKSAtbmUgMCBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIFRZUEVfU1RSPSd4NTA5JwotICAgICAgICBlbGlmIFsgJCgoICR7RklMRV9UWVBFfSAmICR7SVNfQ1JMfSApKSAtbmUgMCBdCi0gICAgICAgIHRoZW4KLSAgICAgICAgICAgIFRZUEVfU1RSPSdjcmwnCi0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVjaG8gIk5PVEU6ICR7RklMRX0gZG9lcyBub3QgY29udGFpbiBhIGNlcnRpZmljYXRlIG9yIENSTDogc2tpcHBpbmciID4mMgotCSAgICBjb250aW51ZQotICAgICAgICBmaQotCi0JbGlua19oYXNoICR7UkVBTF9GSUxFfSAke1RZUEVfU1RSfSAke0ZJTEV9Ci0gICAgZG9uZQotfQotCi0KLSMgY2hvb3NlIHRoZSBuYW1lIG9mIGFuIHNzbCBhcHBsaWNhdGlvbgotaWYgWyAtbiAiJHtPUEVOU1NMfSIgXQotdGhlbgotICAgIFNTTF9DTUQ9JCh3aGljaCAke09QRU5TU0x9IDI+L2Rldi9udWxsKQotZWxzZQotICAgIFNTTF9DTUQ9L3Vzci9iaW4vb3BlbnNzbAotICAgIE9QRU5TU0w9JHtTU0xfQ01EfQotICAgIGV4cG9ydCBPUEVOU1NMCi1maQotCi0jIGZpeCBwYXRocwotUEFUSD0ke1BBVEh9OiR7RElSfS9iaW4KLWV4cG9ydCBQQVRICi0KLSMgY29uZmlybSBleGlzdGFuY2UvZXhlY3V0YWJpbGl0eSBvZiBzc2wgY29tbWFuZAotaWYgISBbIC14ICR7U1NMX0NNRH0gXQotdGhlbgotICAgIGVjaG8gIiR7MH06IHJlaGFzaGluZyBza2lwcGVkICgnb3BlbnNzbCcgcHJvZ3JhbSBub3QgYXZhaWxhYmxlKSIgPiYyCi0gICAgZXhpdCAwCi1maQotCi0jIGRldGVybWluZSB3aGljaCBkaXJlY3RvcmllcyB0byBwcm9jZXNzCi1vbGRfSUZTPSRJRlMKLWlmIFsgJHsjfSAtZ3QgMCBdCi10aGVuCi0gICAgSUZTPSc6JwotICAgIERJUkxJU1Q9JHsqfQotZWxpZiBbIC1uICIke1NTTF9DRVJUX0RJUn0iIF0KLXRoZW4KLSAgICBESVJMSVNUPSRTU0xfQ0VSVF9ESVIKLWVsc2UKLSAgICBESVJMSVNUPSR7RElSfS9jZXJ0cwotZmkKLQotSUZTPSc6JwotCi0jIHByb2Nlc3MgZGlyZWN0b3JpZXMKLWZvciBDRVJUX0RJUiBpbiAke0RJUkxJU1R9Ci1kbwotICAgIGlmIFsgLWQgJHtDRVJUX0RJUn0gLWEgLXcgJHtDRVJUX0RJUn0gXQotICAgIHRoZW4KLSAgICAgICAgSUZTPSRvbGRfSUZTCi0gICAgICAgIGhhc2hfZGlyICR7Q0VSVF9ESVJ9Ci0gICAgICAgIElGUz0nOicKLSAgICBmaQotZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdAppbmRleCAwYTYyMGRlLi4zZmIyMjQ3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsL3J1bi1wdGVzdApAQCAtOSw0ICs5LDQgQEAKICMgT1BFTlNTTF9FTkdJTkVTIGlzIHJlbGF0aXZlIGZyb20gdGhlIHRlc3QgYmluYXJpZXMKIGV4cG9ydCBPUEVOU1NMX0VOR0lORVM9Li4vZW5naW5lcwogCi1wZXJsIC4vdGVzdC9ydW5fdGVzdHMucGwgJCoKK3BlcmwgLi90ZXN0L3J1bl90ZXN0cy5wbCAkKiB8IHBlcmwgLTBwZSAncyMoLiopIFwuKi5vayNQQVNTOiBcMSNnOyBzIyguKikgXC4qLnNraXBwZWQ6ICguKikjU0tJUDogXDEgKFwyKSNnOyBzIyguKikgXC4qLlxuRHViaW91cyNGQUlMOiBcMSM7JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4ycS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU0YWYxMDAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4ycS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM2MyArMCwwIEBACi1TVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLQotIyAib3BlbnNzbCB8IFNTTGVheSIgZHVhbCBsaWNlbnNlCi1MSUNFTlNFID0gIm9wZW5zc2wiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mNDc1MzY4OTI0ODI3ZDA2ZDRiNDE2MTExYzhiZGI3NyIKLQotREVQRU5EUyA9ICJob3N0cGVybC1ydW50aW1lLW5hdGl2ZSIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgb3BlbnNzbC1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL29wZW5zc2wtY19yZWhhc2guc2ggXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLXRhcmdldHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2hhcmVkLWxpYnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb2UtbGRmbGFncy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9lbmdpbmVzLWluc3RhbGwtaW4tbGliZGlyLXNzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9ibG9ja19kaWdpbm90YXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuMS4wLjIvYmxvY2tfZGlnaWNlcnRfbWFsYXlzaWEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2NfcmVoYXNoLWNvbXBhdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGViaWFuLXRhcmdldHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1kaXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21hbi1zZWN0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9uby1ycGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbm8tc3ltYm9saWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL3BpYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi92ZXJzaW9uLXNjcmlwdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9zb25hbWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vb3BlbnNzbF9maXhfZm9yX3gzMi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsLWZpeC1kZXMucG9kLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlcy1wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdGVzdC1kZXBzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3B0ZXN0X21ha2VmaWxlX2RlcHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlLW11c2wtdGFyZ2V0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BhcmFsbGVsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL1VzZS1TSEEyNTYtbm90LU1ENS1hcy1kZWZhdWx0LWRpZ2VzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLWNsYW5nLXVzaW5nLWV4dGVybmFsLWFzc2VtYmxlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5zc2wtZm9yY2Utc29mdC1saW5rLXRvLWF2b2lkLXJhcmUtcmFjZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFsbG93LW1hbnBhZ2VzLXRvLWJlLWRpc2FibGVkLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LUJOX0xMT05HLWJyZWFrYWdlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LURFU19MT05HLWJyZWFrYWdlLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKLSAgICAgICAgICAgZmlsZTovL3JlcHJvZHVjaWJsZS1jZmxhZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmxlLW1rYnVpbGRpbmYucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgXAotICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1vcGVuc3NsLnNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzU2M2UxY2UwNDZjYjIxOTQ4ZWViNmJhMWEwZWI3MWMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTc0NGNmY2JjZWMyYjFiNDg2MjlmNzM1NDIwM2JjMWU1ZTliNTQ2Njk5OGJiY2NjNWI1ZmNkZTNiMThlYjY4NCIKLQotUyA9ICIke1dPUktESVJ9L29wZW5zc2wtJHtQVn0iCi0KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm9wZW5zc2wtKD9QPHB2ZXI+MVwuMC4rKVwudGFyIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzaXRlaW5mbyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QgbWFucGFnZXMKLQotUEFDS0FHRUNPTkZJRyA/PSAiY3J5cHRvZGV2LWxpbnV4IgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1QQUNLQUdFQ09ORklHW2NyeXB0b2Rldi1saW51eF0gPSAiLURIQVZFX0NSWVBUT0RFViAtRFVTRV9DUllQVE9ERVZfRElHRVNUUywsY3J5cHRvZGV2LWxpbnV4IgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLCwsIgotUEFDS0FHRUNPTkZJR1twZXJsXSA9ICIsLCwiCi0KLSMgUmVtb3ZlIHRoaXMgdG8gZW5hYmxlIFNTTHYzLiBTU0x2MyBpcyBkZWZhdWx0ZWQgdG8gZGlzYWJsZWQgZHVlIHRvIHRoZSBQT09ETEUKLSMgdnVsbmVyYWJpbGl0eQotRVhUUkFfT0VDT05GID0gIm5vLXNzbDMiCi0KLUVYVFJBX09FTUFLRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdtYW5wYWdlcycsICcnLCAnT0VfRElTQUJMRV9NQU5QQUdFUz0xJywgZCl9IgotCi1leHBvcnQgT0VfTERGTEFHUyA9ICIke0xERkxBR1N9IgotCi0jIG9wZW5zc2wgZmFpbHMgd2l0aCBjY2FjaGU6IGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MTAKLUNDQUNIRSA9ICIiCi0KLVRFUk1JTyA/PSAiLURURVJNSU8iCi1URVJNSU9fbGliYy1tdXNsID0gIi1EVEVSTUlPUyIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgotCi1DRkxBRyA9ICIke0BvZS51dGlscy5jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctRExfRU5ESUFOJywgJy1EQl9FTkRJQU4nLCBkKX0gXAotICAgICAgICAgJHtURVJNSU99ICR7Q0ZMQUdTfSAtV2FsbCIKLQotIyBBdm9pZCBiaW5hcmllcyBiZWluZyBtYXJrZWQgYXMgcmVxdWlyaW5nIGFuIGV4ZWN1dGFibGUgc3RhY2sgc2luY2UgdGhleSBkb24ndAotIyAoYW5kIGl0IGNhdXNlcyBpc3N1ZXMgd2l0aCBTRUxpbnV4KQotQ0ZMQUcgKz0gIi1XYSwtLW5vZXhlY3N0YWNrIgotCi1DRkxBR19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtZlBJQyIKLQotZG9fY29uZmlndXJlICgpIHsKLQkjIFRoZSBjcnlwdG9fdXNlX2JpZ2ludCBwYXRjaCBtZWFucyB0aGF0IHBlcmwncyBiaWdudW0gbW9kdWxlIG5lZWRzIHRvIGJlCi0JIyBpbnN0YWxsZWQsIGJ1dCBzb21lIGRpc3RyaWJ1dGlvbnMgKGZvciBleGFtcGxlIEZlZG9yYSAyMykgZG9uJ3Qgc2hpcCBpdCBieQotCSMgZGVmYXVsdC4gIEFzIHRoZSByZXN1bHRpbmcgZXJyb3IgaXMgdmVyeSBtaXNsZWFkaW5nIGNoZWNrIGZvciBiaWdudW0gYmVmb3JlCi0JIyBidWlsZGluZy4KLQlpZiAhIHBlcmwgLU1iaWdpbnQgLWUgdHJ1ZTsgdGhlbgotCQliYmZhdGFsICJUaGUgcGVybCBtb2R1bGUgJ2JpZ251bScgd2FzIG5vdCBmb3VuZCBidXQgdGhpcyBpcyByZXF1aXJlZCB0byBidWlsZCBvcGVuc3NsLiAgUGxlYXNlIGluc3RhbGwgdGhpcyBtb2R1bGUgKG9mdGVuIHBhY2thZ2VkIGFzIHBlcmwtYmlnbnVtKSBhbmQgcmUtcnVuIGJpdGJha2UuIgotCWZpCi0KLQlsbiAtc2YgYXBwcy9vcGVuc3NsLnBvZCBjcnlwdG8vY3J5cHRvLnBvZCBzc2wvc3NsLnBvZCBkb2MvCi0KLQlvcz0ke0hPU1RfT1N9Ci0JY2FzZSAkb3MgaW4KLQlsaW51eC1nbnVlYWJpIHxcCi0JbGludXgtZ251c3BlIHxcCi0JbGludXgtbXVzbGVhYmkgfFwKLQlsaW51eC1tdXNsc3BlIHxcCi0JbGludXgtbXVzbCApCi0JCW9zPWxpbnV4Ci0JCTs7Ci0JKikKLQkJOzsKLQllc2FjCi0JdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgotCWNhc2UgJHRhcmdldCBpbgotCWxpbnV4LWFybSkKLQkJdGFyZ2V0PWxpbnV4LWFybXY0Ci0JCTs7Ci0JbGludXgtYXJtZWIpCi0JCXRhcmdldD1saW51eC1lbGYtYXJtZWIKLQkJOzsKLQlsaW51eC1hYXJjaDY0KikKLQkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKLQkJOzsKLQlsaW51eC1zaDMpCi0JCXRhcmdldD1kZWJpYW4tc2gzCi0JCTs7Ci0JbGludXgtc2g0KQotCQl0YXJnZXQ9ZGViaWFuLXNoNAotCQk7OwotCWxpbnV4LWk0ODYpCi0JCXRhcmdldD1kZWJpYW4taTM4Ni1pNDg2Ci0JCTs7Ci0JbGludXgtaTU4NiB8IGxpbnV4LXZpYWMzKQotCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTU4NgotCQk7OwotCWxpbnV4LWk2ODYpCi0JCXRhcmdldD1kZWJpYW4taTM4Ni1pNjg2L2Ntb3YKLQkJOzsKLQlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQotCQl0YXJnZXQ9bGludXgteDMyCi0JCTs7Ci0JbGludXgtZ251NjQteDg2XzY0KQotCQl0YXJnZXQ9bGludXgteDg2XzY0Ci0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqZWwpCi0JCXRhcmdldD1kZWJpYW4tbWlwc24zMmVsCi0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzIKLQkJOzsKLQlsaW51eC1taXBzKjY0KmVsKQotCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NGVsCi0JCTs7Ci0JbGludXgtbWlwcyo2NCopCi0JCXRhcmdldD1kZWJpYW4tbWlwczY0Ci0JCTs7Ci0JbGludXgtbWlwcyplbCkKLQkJdGFyZ2V0PWRlYmlhbi1taXBzZWwKLQkJOzsKLQlsaW51eC1taXBzKikKLQkJdGFyZ2V0PWRlYmlhbi1taXBzCi0JCTs7Ci0JbGludXgtbWljcm9ibGF6ZSogfCBsaW51eC1uaW9zMiogfCBsaW51eC1nbnUqaWxwMzIqKiB8IGxpbnV4LWFyYyopCi0JCXRhcmdldD1saW51eC1nZW5lcmljMzIKLQkJOzsKLQlsaW51eC1wb3dlcnBjKQotCQl0YXJnZXQ9bGludXgtcHBjCi0JCTs7Ci0JbGludXgtcG93ZXJwYzY0KQotCQl0YXJnZXQ9bGludXgtcHBjNjQKLQkJOzsKLQlsaW51eC1yaXNjdjMyKQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCi0JCTs7Ci0JbGludXgtcmlzY3Y2NCkKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAotCQk7OwotCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKLQkJdGFyZ2V0PWxpbnV4LXNwYXJjdjgKLQkJOzsKLQllc2FjCi0KLQkjIGluamVjdCBtYWNoaW5lLXNwZWNpZmljIGZsYWdzCi0Jc2VkIC1pIC1lICJzfF5cKFwiJHRhcmdldFwiLFxzKlwiW146XVwrXCk6XChbXjpdXCtcKXxcMToke0NGTEFHfXxnIiBDb25maWd1cmUKLQotCXVzZXByZWZpeD0ke3ByZWZpeH0KLQlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgotCQl1c2VwcmVmaXg9LwotCWZpCi0JbGliZGlybGVhZj0iJCggZWNobyAiJHtsaWJkaXJ9IiB8IHNlZCAiczpeJHVzZXByZWZpeC8qOjoiICkiCi0JcGVybCAuL0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBzaGFyZWQgLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbCAtLWxpYmRpcj0kbGliZGlybGVhZiAkdGFyZ2V0Ci19Ci0KLWRvX2NvbXBpbGUgKCkgewotCW9lX3J1bm1ha2UgZGVwZW5kCi0Jb2VfcnVubWFrZQotfQotCi1kb19jb21waWxlX2NsYXNzLXRhcmdldCAoKSB7Ci0Jc2VkIC1pICdzL1woKE9QRU5TU0w9XCkiLioiL1wxIm9wZW5zc2wiLycgTWFrZWZpbGUKLQlvZV9ydW5tYWtlIGRlcGVuZAotCWNjX3Nhbml0aXplZD0kKGVjaG8gIiR7Q0N9ICR7Q0ZMQUd9IiB8IHNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyAtZSAncy9bIFx0XVwrLyAvZycpCi0Jb2VfcnVubWFrZSBDQ19JTkZPPSIkY2Nfc2FuaXRpemVkIgotfQotCi1kb19jb21waWxlX3B0ZXN0ICgpIHsKLQlvZV9ydW5tYWtlIGJ1aWxkdGVzdAotfQotCi1kb19pbnN0YWxsICgpIHsKLQkjIENyZWF0ZSAke0R9LyR7cHJlZml4fSB0byBmaXggcGFyYWxsZWwgaXNzdWVzCi0JbWtkaXIgLXAgJHtEfS8ke3ByZWZpeH0vCi0KLQlvZV9ydW5tYWtlIElOU1RBTExfUFJFRklYPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgaW5zdGFsbAotCi0Jb2VfbGliaW5zdGFsbCAtc28gbGliY3J5cHRvICR7RH0ke2xpYmRpcn0KLQlvZV9saWJpbnN0YWxsIC1zbyBsaWJzc2wgJHtEfSR7bGliZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQotCWNwIC0tZGVyZWZlcmVuY2UgLVIgaW5jbHVkZS9vcGVuc3NsICR7RH0ke2luY2x1ZGVkaXJ9Ci0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCi0KLQlpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vb3BlbnNzbC1jX3JlaGFzaC5zaCAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0Jc2VkIC1pIC1lICdzLC9ldGMvb3BlbnNzbCwke3N5c2NvbmZkaXJ9L3NzbCxnJyAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0KLQlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIgXTsgdGhlbgotCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbAotCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAotCWVsc2UKLQkJcm0gLWYgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbCAke0R9JHtsaWJkaXJ9L3NzbC9taXNjL3RzZ2V0Ci0JZmkKLQotCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCi0JIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCi0JbXYgJHtEfSR7bGliZGlyfS9zc2wvY2VydHMgXAotCSAgICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUgXAotCSAgICR7RH0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKLQkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCi0KLQkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQotCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvY2VydHMnKX0gJHtEfSR7bGliZGlyfS9zc2wvY2VydHMKLQlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUKLQlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZgotCi0JIyBSZW5hbWUgbWFuIHBhZ2VzIHRvIHByZWZpeCBvcGVuc3NsMTAtKgotCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgZmA7IGRvCi0JICAgIG12ICRmICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCi0JZG9uZQotCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgbGA7IGRvCi0JICAgIGxuX2Y9YHJlYWRsaW5rICRmYAotCSAgICBybSAtZiAkZgotCSAgICBsbiAtcyBvcGVuc3NsMTAtJGxuX2YgJChkaXJuYW1lICRmKS9vcGVuc3NsMTAtJChiYXNlbmFtZSAkZikKLQlkb25lCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9vcGVuc3NsIFwKLQkgICAgT1BFTlNTTF9DT05GPSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYgXAotCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC9jZXJ0cyBcCi0JICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC9jZXJ0LnBlbSBcCi0JICAgIE9QRU5TU0xfRU5HSU5FUz0ke2xpYmRpcn0vc3NsL2VuZ2luZXMKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotCWNwIC1yIC1MIE1ha2VmaWxlLm9yZyBNYWtlZmlsZSB0ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0KLQkjIFJlcGxhY2UgdGhlIHBhdGggdG8gbmF0aXZlIHBlcmwgd2l0aCB0aGUgcGF0aCB0byB0YXJnZXQgcGVybAotCXNlZCAtaSAncyxeUEVSTD0uKixQRVJMPSR7YmluZGlyfS9wZXJsLCcgJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUKLQotCWNwIENvbmZpZ3VyZSBjb25maWcgZV9vcy5oICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgLUwgaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfQotCWxuIC1zZiAke2xpYmRpcn0vbGliY3J5cHRvLmEgJHtEfSR7UFRFU1RfUEFUSH0KLQlsbiAtc2YgJHtsaWJkaXJ9L2xpYnNzbC5hICR7RH0ke1BURVNUX1BBVEh9Ci0JbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vY3J5cHRvCi0JY3AgY3J5cHRvL2NvbnN0YW50X3RpbWVfbG9jbC5oICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bwotCWNwIC1yIGNlcnRzICR7RH0ke1BURVNUX1BBVEh9Ci0JbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWxuIC1zZiAke2xpYmRpcn0vc3NsL21pc2MvQ0Euc2ggICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtc2YgJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCWxuIC1zZiAke2JpbmRpcn0vb3BlbnNzbCAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQljcCBhcHBzL3NlcnZlci5wZW0gICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQljcCBhcHBzL3NlcnZlcjIucGVtICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS91dGlsCi0JaW5zdGFsbCB1dGlsL29wZW5zc2x3cmFwLnNoICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKLQlpbnN0YWxsIHV0aWwvc2hsaWJfd3JhcC5zaCAgICAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAotCSMgVGltZSBzdGFtcHMgYXJlIHJlbGV2YW50IGZvciAibWFrZSBhbGx0ZXN0cyIsIG90aGVyd2lzZQotCSMgbWFrZSBtYXkgdHJ5IHRvIHJlY29tcGlsZSBiaW5hcmllcy4gTm90IG9ubHkgbXVzdCB0aGUKLQkjIGJpbmFyeSBmaWxlcyBiZSBuZXdlciB0aGFuIHRoZSBzb3VyY2VzLCB0aGV5IGFsc28gbXVzdAotCSMgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgaGVhZGVyIGZpbGVzIGluIC91c3IvaW5jbHVkZS4KLQkjCi0JIyBVc2luZyAiY3AgLWEiIGlzIG5vdCBzdWZmaWNpZW50LCBiZWNhdXNlIGRvX2luc3RhbGwKLQkjIGRvZXMgbm90IHByZXNlcnZlIHRoZSBvcmlnaW5hbCB0aW1lIHN0YW1wcy4KLQkjCi0JIyBTbyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvcmlnaW5hbCBmaWxlIHN0YW1wcywgd2Ugc2V0Ci0JIyB0aGUgY3VycmVudCB0aW1lIGZvciBhbGwgZmlsZXMuIEJpbmFyaWVzIHdpbGwgZ2V0Ci0JIyBtb2RpZmllZCBhZ2FpbiBsYXRlciB3aGVuIHN0cmlwcGluZyB0aGVtLCBidXQgdGhhdCdzIG9rYXkuCi0JdG91Y2ggJHtEfSR7UFRFU1RfUEFUSH0KLQlmaW5kICR7RH0ke1BURVNUX1BBVEh9IC10eXBlIGYgLXByaW50MCB8IHhhcmdzIC0tdmVyYm9zZSAtMCB0b3VjaCAtciAke0R9JHtQVEVTVF9QQVRIfQotCi0JIyBleGNsdWRlIGJpbmFyeSBmaWxlcyBvciB0aGUgcGFja2FnZSB3b24ndCBpbnN0YWxsCi0JZm9yIGQgaW4gc3NsdGVzdF9vbGQgdjNleHQgeDUwOWF1eDsgZG8KLQkJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtCUE59L3B0ZXN0L3Rlc3QvJGQKLQlkb25lCi0KLQkjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMKLQlzZWQgLWkgXAotCS1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUgJHtEfSR7UFRFU1RfUEFUSH0vQ29uZmlndXJlCi19Ci0KLSMgQWRkIHRoZSBvcGVuc3NsLmNuZiBmaWxlIHRvIHRoZSBvcGVuc3NsLWNvbmYgcGFja2FnZS4gTWFrZSB0aGUgbGliY3J5cHRvCi0jIHBhY2thZ2UgUlJFQ09NTUVORFMgb24gdGhpcyBwYWNrYWdlLiBUaGlzIHdpbGwgZW5hYmxlIHRoZSBjb25maWd1cmF0aW9uCi0jIGZpbGUgdG8gYmUgaW5zdGFsbGVkIGZvciBib3RoIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIHNpbmNlIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KLQotUEFDS0FHRVMgPSsgImxpYmNyeXB0bzEwIGxpYnNzbDEwIG9wZW5zc2wxMC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKLQotRklMRVNfbGliY3J5cHRvMTAgPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYnNzbDEwID0gIiR7bGliZGlyfS9saWJzc2wke1NPTElCU30iCi1GSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKLUZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L3NzbC9lbmdpbmVzLyouc28gJHtsaWJkaXJ9L2VuZ2luZXMiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wvbWlzYyIKLUZJTEVTXyR7UE59ID0rICIke2xpYmRpcn0vc3NsLyoiCi1GSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKLQotQ09ORkZJTEVTX29wZW5zc2wxMC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotCi1SUkVDT01NRU5EU19saWJjcnlwdG8xMCArPSAib3BlbnNzbDEwLWNvbmYiCi1SREVQRU5EU18ke1BOfS1taXNjID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwZXJsJywgZCl9IgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1pc2MgbWFrZSBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgYmMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAib3BlbnNzbF9wYWNrYWdlX3ByZXByb2Nlc3MiCi0KLSMgb3BlbnNzbCAxLjAgZGV2ZWxvcG1lbnQgZmlsZXMgYW5kIGV4ZWN1dGFibGUgYmluYXJpZXMgY2xhc2ggd2l0aCBvcGVuc3NsIDEuMQotIyBmaWxlcyB3aGVuIGluc3RhbGxlZCBpbnRvIHRhcmdldCByb290ZnMuIFNvIHdlIGRvbid0IHB1dCB0aGVtIGludG8KLSMgcGFja2FnZXMsIGJ1dCB0aGV5IGNvbnRpbnVlIHRvIGJlIHByb3ZpZGVkIHZpYSB0YXJnZXQgc3lzcm9vdCBmb3IKLSMgY3Jvc3MtY29tcGlsYXRpb24gb24gdGhlIGhvc3QsIGlmIHNvbWUgc29mdHdhcmUgc3RpbGwgZGVwZW5kcyBvbiBvcGVuc3NsIDEuMC4KLW9wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKLSAgICAgICAgZm9yIGZpbGUgaW4gYGZpbmQgJHtQS0dEfSAtbmFtZSAqLmggLW8gLW5hbWUgKi5wYyAtbyAtbmFtZSAqLnNvYDsgZG8KLSAgICAgICAgICAgICAgICBybSAkZmlsZQotICAgICAgICBkb25lCi0gICAgICAgIHJtICR7UEtHRH0ke2JpbmRpcn0vb3BlbnNzbAotICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L2NfcmVoYXNoCi0gICAgICAgIHJtZGlyICR7UEtHRH0ke2JpbmRpcn0KLQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbDEwXzEuMC4yci5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdkZjRmNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2wxMF8xLjAuMnIuYmIKQEAgLTAsMCArMSwzNjAgQEAKK1NVTU1BUlkgPSAiU2VjdXJlIFNvY2tldCBMYXllciIKK0RFU0NSSVBUSU9OID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIgKFNTTCkgYmluYXJ5IGFuZCByZWxhdGVkIGNyeXB0b2dyYXBoaWMgdG9vbHMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvbmV3cy92dWxuZXJhYmlsaXRpZXMuaHRtbCIKK1NFQ1RJT04gPSAibGlicy9uZXR3b3JrIgorCisjICJvcGVuc3NsIHwgU1NMZWF5IiBkdWFsIGxpY2Vuc2UKK0xJQ0VOU0UgPSAib3BlbnNzbCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWY0NzUzNjg5MjQ4MjdkMDZkNGI0MTYxMTFjOGJkYjc3IgorCitERVBFTkRTID0gImhvc3RwZXJsLXJ1bnRpbWUtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBvcGVuc3NsLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL3NvdXJjZS9vcGVuc3NsLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vb3BlbnNzbC1jX3JlaGFzaC5zaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtdGFyZ2V0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zaGFyZWQtbGlicy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vZS1sZGZsYWdzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2VuZ2luZXMtaW5zdGFsbC1pbi1saWJkaXItc3NsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL2Jsb2NrX2RpZ2lub3Rhci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4xLjAuMi9ibG9ja19kaWdpY2VydF9tYWxheXNpYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vY19yZWhhc2gtY29tcGF0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9kZWJpYW4tdGFyZ2V0cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWFuLWRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWFuLXNlY3Rpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL25vLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9uby1zeW1ib2xpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vcGljLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL3ZlcnNpb24tc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbjEuMC4yL3NvbmFtZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9vcGVuc3NsX2ZpeF9mb3JfeDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL29wZW5zc2wtZml4LWRlcy5wb2QtZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGVzLXB0ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3B0ZXN0LWRlcHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcHRlc3RfbWFrZWZpbGVfZGVwcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtbXVzbC10YXJnZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcGFyYWxsZWwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vVXNlLVNIQTI1Ni1ub3QtTUQ1LWFzLWRlZmF1bHQtZGlnZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtY2xhbmctdXNpbmctZXh0ZXJuYWwtYXNzZW1ibGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtb3BlbnNzbC1mb3JjZS1zb2Z0LWxpbmstdG8tYXZvaWQtcmFyZS1yYWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtYWxsb3ctbWFucGFnZXMtdG8tYmUtZGlzYWJsZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtQk5fTExPTkctYnJlYWthZ2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtREVTX0xPTkctYnJlYWthZ2UucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vcmVwcm9kdWNpYmxlLWNmbGFncy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZXByb2R1Y2libGUtbWtidWlsZGluZi5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZDJiYWFmMDRjNTZkNTQyZjZjYzc1N2I5YzJhMmFhYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTUxZDA4YmJhOGE4Mzk1OGU4OTQ5NDZmMTUzMDNmZjg5NGQ3NWMyYjhiYmQ0NGE4NTJiNjRlM2ZlMTFkMGQ2IgorCitTID0gIiR7V09SS0RJUn0vb3BlbnNzbC0ke1BWfSIKKworVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAib3BlbnNzbC0oP1A8cHZlcj4xXC4wLispXC50YXIiCisKK2luaGVyaXQgcGtnY29uZmlnIHNpdGVpbmZvIG11bHRpbGliX2hlYWRlciBwdGVzdCBtYW5wYWdlcworCitQQUNLQUdFQ09ORklHID89ICJjcnlwdG9kZXYtbGludXgiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbY3J5cHRvZGV2LWxpbnV4XSA9ICItREhBVkVfQ1JZUFRPREVWIC1EVVNFX0NSWVBUT0RFVl9ESUdFU1RTLCxjcnlwdG9kZXYtbGludXgiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICIsLCwiCitQQUNLQUdFQ09ORklHW3BlcmxdID0gIiwsLCIKKworIyBSZW1vdmUgdGhpcyB0byBlbmFibGUgU1NMdjMuIFNTTHYzIGlzIGRlZmF1bHRlZCB0byBkaXNhYmxlZCBkdWUgdG8gdGhlIFBPT0RMRQorIyB2dWxuZXJhYmlsaXR5CitFWFRSQV9PRUNPTkYgPSAibm8tc3NsMyIKKworRVhUUkFfT0VNQUtFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21hbnBhZ2VzJywgJycsICdPRV9ESVNBQkxFX01BTlBBR0VTPTEnLCBkKX0iCisKK2V4cG9ydCBPRV9MREZMQUdTID0gIiR7TERGTEFHU30iCisKK1RFUk1JTyA/PSAiLURURVJNSU8iCitURVJNSU9fbGliYy1tdXNsID0gIi1EVEVSTUlPUyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgorCitDRkxBRyA9ICIke0BvZS51dGlscy5jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctRExfRU5ESUFOJywgJy1EQl9FTkRJQU4nLCBkKX0gXAorICAgICAgICAgJHtURVJNSU99ICR7Q0ZMQUdTfSAtV2FsbCIKKworIyBBdm9pZCBiaW5hcmllcyBiZWluZyBtYXJrZWQgYXMgcmVxdWlyaW5nIGFuIGV4ZWN1dGFibGUgc3RhY2sgc2luY2UgdGhleSBkb24ndAorIyAoYW5kIGl0IGNhdXNlcyBpc3N1ZXMgd2l0aCBTRUxpbnV4KQorQ0ZMQUcgKz0gIi1XYSwtLW5vZXhlY3N0YWNrIgorCitDRkxBR19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtZlBJQyIKKworZG9fY29uZmlndXJlICgpIHsKKwkjIFRoZSBjcnlwdG9fdXNlX2JpZ2ludCBwYXRjaCBtZWFucyB0aGF0IHBlcmwncyBiaWdudW0gbW9kdWxlIG5lZWRzIHRvIGJlCisJIyBpbnN0YWxsZWQsIGJ1dCBzb21lIGRpc3RyaWJ1dGlvbnMgKGZvciBleGFtcGxlIEZlZG9yYSAyMykgZG9uJ3Qgc2hpcCBpdCBieQorCSMgZGVmYXVsdC4gIEFzIHRoZSByZXN1bHRpbmcgZXJyb3IgaXMgdmVyeSBtaXNsZWFkaW5nIGNoZWNrIGZvciBiaWdudW0gYmVmb3JlCisJIyBidWlsZGluZy4KKwlpZiAhIHBlcmwgLU1iaWdpbnQgLWUgdHJ1ZTsgdGhlbgorCQliYmZhdGFsICJUaGUgcGVybCBtb2R1bGUgJ2JpZ251bScgd2FzIG5vdCBmb3VuZCBidXQgdGhpcyBpcyByZXF1aXJlZCB0byBidWlsZCBvcGVuc3NsLiAgUGxlYXNlIGluc3RhbGwgdGhpcyBtb2R1bGUgKG9mdGVuIHBhY2thZ2VkIGFzIHBlcmwtYmlnbnVtKSBhbmQgcmUtcnVuIGJpdGJha2UuIgorCWZpCisKKwlsbiAtc2YgYXBwcy9vcGVuc3NsLnBvZCBjcnlwdG8vY3J5cHRvLnBvZCBzc2wvc3NsLnBvZCBkb2MvCisKKwlvcz0ke0hPU1RfT1N9CisJY2FzZSAkb3MgaW4KKwlsaW51eC1nbnVlYWJpIHxcCisJbGludXgtZ251c3BlIHxcCisJbGludXgtbXVzbGVhYmkgfFwKKwlsaW51eC1tdXNsc3BlIHxcCisJbGludXgtbXVzbCApCisJCW9zPWxpbnV4CisJCTs7CisJKikKKwkJOzsKKwllc2FjCisJdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgorCWNhc2UgJHRhcmdldCBpbgorCWxpbnV4LWFybSkKKwkJdGFyZ2V0PWxpbnV4LWFybXY0CisJCTs7CisJbGludXgtYXJtZWIpCisJCXRhcmdldD1saW51eC1lbGYtYXJtZWIKKwkJOzsKKwlsaW51eC1hYXJjaDY0KikKKwkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKKwkJOzsKKwlsaW51eC1zaDMpCisJCXRhcmdldD1kZWJpYW4tc2gzCisJCTs7CisJbGludXgtc2g0KQorCQl0YXJnZXQ9ZGViaWFuLXNoNAorCQk7OworCWxpbnV4LWk0ODYpCisJCXRhcmdldD1kZWJpYW4taTM4Ni1pNDg2CisJCTs7CisJbGludXgtaTU4NiB8IGxpbnV4LXZpYWMzKQorCQl0YXJnZXQ9ZGViaWFuLWkzODYtaTU4NgorCQk7OworCWxpbnV4LWk2ODYpCisJCXRhcmdldD1kZWJpYW4taTM4Ni1pNjg2L2Ntb3YKKwkJOzsKKwlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQorCQl0YXJnZXQ9bGludXgteDMyCisJCTs7CisJbGludXgtZ251NjQteDg2XzY0KQorCQl0YXJnZXQ9bGludXgteDg2XzY0CisJCTs7CisJbGludXgtZ251bjMyLW1pcHMqZWwpCisJCXRhcmdldD1kZWJpYW4tbWlwc24zMmVsCisJCTs7CisJbGludXgtZ251bjMyLW1pcHMqKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHNuMzIKKwkJOzsKKwlsaW51eC1taXBzKjY0KmVsKQorCQl0YXJnZXQ9ZGViaWFuLW1pcHM2NGVsCisJCTs7CisJbGludXgtbWlwcyo2NCopCisJCXRhcmdldD1kZWJpYW4tbWlwczY0CisJCTs7CisJbGludXgtbWlwcyplbCkKKwkJdGFyZ2V0PWRlYmlhbi1taXBzZWwKKwkJOzsKKwlsaW51eC1taXBzKikKKwkJdGFyZ2V0PWRlYmlhbi1taXBzCisJCTs7CisJbGludXgtbWljcm9ibGF6ZSogfCBsaW51eC1uaW9zMiogfCBsaW51eC1nbnUqaWxwMzIqKiB8IGxpbnV4LWFyYyopCisJCXRhcmdldD1saW51eC1nZW5lcmljMzIKKwkJOzsKKwlsaW51eC1wb3dlcnBjKQorCQl0YXJnZXQ9bGludXgtcHBjCisJCTs7CisJbGludXgtcG93ZXJwYzY0KQorCQl0YXJnZXQ9bGludXgtcHBjNjQKKwkJOzsKKwlsaW51eC1yaXNjdjMyKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcmlzY3Y2NCkKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAorCQk7OworCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKKwkJdGFyZ2V0PWxpbnV4LXNwYXJjdjgKKwkJOzsKKwllc2FjCisKKwkjIGluamVjdCBtYWNoaW5lLXNwZWNpZmljIGZsYWdzCisJc2VkIC1pIC1lICJzfF5cKFwiJHRhcmdldFwiLFxzKlwiW146XVwrXCk6XChbXjpdXCtcKXxcMToke0NGTEFHfXxnIiBDb25maWd1cmUKKworCXVzZXByZWZpeD0ke3ByZWZpeH0KKwlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgorCQl1c2VwcmVmaXg9LworCWZpCisJbGliZGlybGVhZj0iJCggZWNobyAiJHtsaWJkaXJ9IiB8IHNlZCAiczpeJHVzZXByZWZpeC8qOjoiICkiCisJcGVybCAuL0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBzaGFyZWQgLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbCAtLWxpYmRpcj0kbGliZGlybGVhZiAkdGFyZ2V0Cit9CisKK2RvX2NvbXBpbGUgKCkgeworCW9lX3J1bm1ha2UgZGVwZW5kCisJb2VfcnVubWFrZQorfQorCitkb19jb21waWxlX2NsYXNzLXRhcmdldCAoKSB7CisJc2VkIC1pICdzL1woKE9QRU5TU0w9XCkiLioiL1wxIm9wZW5zc2wiLycgTWFrZWZpbGUKKwlvZV9ydW5tYWtlIGRlcGVuZAorCWNjX3Nhbml0aXplZD0kKGVjaG8gIiR7Q0N9ICR7Q0ZMQUd9IiB8IHNlZCAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyAtZSAncy9bIFx0XVwrLyAvZycpCisJb2VfcnVubWFrZSBDQ19JTkZPPSIkY2Nfc2FuaXRpemVkIgorfQorCitkb19jb21waWxlX3B0ZXN0ICgpIHsKKwlvZV9ydW5tYWtlIGJ1aWxkdGVzdAorfQorCitkb19pbnN0YWxsICgpIHsKKwkjIENyZWF0ZSAke0R9LyR7cHJlZml4fSB0byBmaXggcGFyYWxsZWwgaXNzdWVzCisJbWtkaXIgLXAgJHtEfS8ke3ByZWZpeH0vCisKKwlvZV9ydW5tYWtlIElOU1RBTExfUFJFRklYPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgaW5zdGFsbAorCisJb2VfbGliaW5zdGFsbCAtc28gbGliY3J5cHRvICR7RH0ke2xpYmRpcn0KKwlvZV9saWJpbnN0YWxsIC1zbyBsaWJzc2wgJHtEfSR7bGliZGlyfQorCisJaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfQorCWNwIC0tZGVyZWZlcmVuY2UgLVIgaW5jbHVkZS9vcGVuc3NsICR7RH0ke2luY2x1ZGVkaXJ9CisKKwlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCisKKwlpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vb3BlbnNzbC1jX3JlaGFzaC5zaCAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisJc2VkIC1pIC1lICdzLC9ldGMvb3BlbnNzbCwke3N5c2NvbmZkaXJ9L3NzbCxnJyAke0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ1BBQ0tBR0VDT05GSUcnLCAncGVybCcsIGQpfSIgXTsgdGhlbgorCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbAorCQlzZWQgLWkgLWUgJzFzLC4qLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy90c2dldAorCWVsc2UKKwkJcm0gLWYgJHtEfSR7bGliZGlyfS9zc2wvbWlzYy9DQS5wbCAke0R9JHtsaWJkaXJ9L3NzbC9taXNjL3RzZ2V0CisJZmkKKworCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCisJIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgorCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCisJbXYgJHtEfSR7bGliZGlyfS9zc2wvY2VydHMgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsL29wZW5zc2wuY25mIFwKKwkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCisKKwkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQorCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCisJbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wnLCAnJHtzeXNjb25mZGlyfS9zc2wvY2VydHMnKX0gJHtEfSR7bGliZGlyfS9zc2wvY2VydHMKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsL3ByaXZhdGUKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbCcsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC9vcGVuc3NsLmNuZgorCisJIyBSZW5hbWUgbWFuIHBhZ2VzIHRvIHByZWZpeCBvcGVuc3NsMTAtKgorCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgZmA7IGRvCisJICAgIG12ICRmICQoZGlybmFtZSAkZikvb3BlbnNzbDEwLSQoYmFzZW5hbWUgJGYpCisJZG9uZQorCWZvciBmIGluIGBmaW5kICR7RH0ke21hbmRpcn0gLXR5cGUgbGA7IGRvCisJICAgIGxuX2Y9YHJlYWRsaW5rICRmYAorCSAgICBybSAtZiAkZgorCSAgICBsbiAtcyBvcGVuc3NsMTAtJGxuX2YgJChkaXJuYW1lICRmKS9vcGVuc3NsMTAtJChiYXNlbmFtZSAkZikKKwlkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisJY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9vcGVuc3NsIFwKKwkgICAgT1BFTlNTTF9DT05GPSR7bGliZGlyfS9zc2wvb3BlbnNzbC5jbmYgXAorCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC9jZXJ0cyBcCisJICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC9jZXJ0LnBlbSBcCisJICAgIE9QRU5TU0xfRU5HSU5FUz0ke2xpYmRpcn0vc3NsL2VuZ2luZXMKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKwlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCisJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCit9CisKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCWNwIC1yIC1MIE1ha2VmaWxlLm9yZyBNYWtlZmlsZSB0ZXN0ICR7RH0ke1BURVNUX1BBVEh9CisKKwkjIFJlcGxhY2UgdGhlIHBhdGggdG8gbmF0aXZlIHBlcmwgd2l0aCB0aGUgcGF0aCB0byB0YXJnZXQgcGVybAorCXNlZCAtaSAncyxeUEVSTD0uKixQRVJMPSR7YmluZGlyfS9wZXJsLCcgJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUKKworCWNwIENvbmZpZ3VyZSBjb25maWcgZV9vcy5oICR7RH0ke1BURVNUX1BBVEh9CisJY3AgLXIgLUwgaW5jbHVkZSAke0R9JHtQVEVTVF9QQVRIfQorCWxuIC1zZiAke2xpYmRpcn0vbGliY3J5cHRvLmEgJHtEfSR7UFRFU1RfUEFUSH0KKwlsbiAtc2YgJHtsaWJkaXJ9L2xpYnNzbC5hICR7RH0ke1BURVNUX1BBVEh9CisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vY3J5cHRvCisJY3AgY3J5cHRvL2NvbnN0YW50X3RpbWVfbG9jbC5oICR7RH0ke1BURVNUX1BBVEh9L2NyeXB0bworCWNwIC1yIGNlcnRzICR7RH0ke1BURVNUX1BBVEh9CisJbWtkaXIgLXAgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWxuIC1zZiAke2xpYmRpcn0vc3NsL21pc2MvQ0Euc2ggICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtc2YgJHtzeXNjb25mZGlyfS9zc2wvb3BlbnNzbC5jbmYgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCWxuIC1zZiAke2JpbmRpcn0vb3BlbnNzbCAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwljcCBhcHBzL3NlcnZlci5wZW0gICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwljcCBhcHBzL3NlcnZlcjIucGVtICAgICAgICAgICAgICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS91dGlsCisJaW5zdGFsbCB1dGlsL29wZW5zc2x3cmFwLnNoICAgICR7RH0ke1BURVNUX1BBVEh9L3V0aWwKKwlpbnN0YWxsIHV0aWwvc2hsaWJfd3JhcC5zaCAgICAgJHtEfSR7UFRFU1RfUEFUSH0vdXRpbAorCSMgVGltZSBzdGFtcHMgYXJlIHJlbGV2YW50IGZvciAibWFrZSBhbGx0ZXN0cyIsIG90aGVyd2lzZQorCSMgbWFrZSBtYXkgdHJ5IHRvIHJlY29tcGlsZSBiaW5hcmllcy4gTm90IG9ubHkgbXVzdCB0aGUKKwkjIGJpbmFyeSBmaWxlcyBiZSBuZXdlciB0aGFuIHRoZSBzb3VyY2VzLCB0aGV5IGFsc28gbXVzdAorCSMgYmUgbW9yZSByZWNlbnQgdGhhbiB0aGUgaGVhZGVyIGZpbGVzIGluIC91c3IvaW5jbHVkZS4KKwkjCisJIyBVc2luZyAiY3AgLWEiIGlzIG5vdCBzdWZmaWNpZW50LCBiZWNhdXNlIGRvX2luc3RhbGwKKwkjIGRvZXMgbm90IHByZXNlcnZlIHRoZSBvcmlnaW5hbCB0aW1lIHN0YW1wcy4KKwkjCisJIyBTbyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvcmlnaW5hbCBmaWxlIHN0YW1wcywgd2Ugc2V0CisJIyB0aGUgY3VycmVudCB0aW1lIGZvciBhbGwgZmlsZXMuIEJpbmFyaWVzIHdpbGwgZ2V0CisJIyBtb2RpZmllZCBhZ2FpbiBsYXRlciB3aGVuIHN0cmlwcGluZyB0aGVtLCBidXQgdGhhdCdzIG9rYXkuCisJdG91Y2ggJHtEfSR7UFRFU1RfUEFUSH0KKwlmaW5kICR7RH0ke1BURVNUX1BBVEh9IC10eXBlIGYgLXByaW50MCB8IHhhcmdzIC0tdmVyYm9zZSAtMCB0b3VjaCAtciAke0R9JHtQVEVTVF9QQVRIfQorCisJIyBleGNsdWRlIGJpbmFyeSBmaWxlcyBvciB0aGUgcGFja2FnZSB3b24ndCBpbnN0YWxsCisJZm9yIGQgaW4gc3NsdGVzdF9vbGQgdjNleHQgeDUwOWF1eDsgZG8KKwkJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtCUE59L3B0ZXN0L3Rlc3QvJGQKKwlkb25lCisKKwkjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMKKwlzZWQgLWkgXAorCS1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKKwktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJJHtEfSR7UFRFU1RfUEFUSH0vTWFrZWZpbGUgJHtEfSR7UFRFU1RfUEFUSH0vQ29uZmlndXJlCit9CisKKyMgQWRkIHRoZSBvcGVuc3NsLmNuZiBmaWxlIHRvIHRoZSBvcGVuc3NsLWNvbmYgcGFja2FnZS4gTWFrZSB0aGUgbGliY3J5cHRvCisjIHBhY2thZ2UgUlJFQ09NTUVORFMgb24gdGhpcyBwYWNrYWdlLiBUaGlzIHdpbGwgZW5hYmxlIHRoZSBjb25maWd1cmF0aW9uCisjIGZpbGUgdG8gYmUgaW5zdGFsbGVkIGZvciBib3RoIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIHNpbmNlIHRoZSBiYXNlIG9wZW5zc2wgcGFja2FnZSBkZXBlbmRzIG9uIHRoZSBsaWJjcnlwdG8gcGFja2FnZS4KKworUEFDS0FHRVMgPSsgImxpYmNyeXB0bzEwIGxpYnNzbDEwIG9wZW5zc2wxMC1jb25mICR7UE59LWVuZ2luZXMgJHtQTn0tbWlzYyIKKworRklMRVNfbGliY3J5cHRvMTAgPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKK0ZJTEVTX2xpYnNzbDEwID0gIiR7bGliZGlyfS9saWJzc2wke1NPTElCU30iCitGSUxFU19vcGVuc3NsMTAtY29uZiA9ICIke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZiIKK0ZJTEVTXyR7UE59LWVuZ2luZXMgPSAiJHtsaWJkaXJ9L3NzbC9lbmdpbmVzLyouc28gJHtsaWJkaXJ9L2VuZ2luZXMiCitGSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wvbWlzYyIKK0ZJTEVTXyR7UE59ID0rICIke2xpYmRpcn0vc3NsLyoiCitGSUxFU18ke1BOfV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke1NES1BBVEhOQVRJVkV9L2Vudmlyb25tZW50LXNldHVwLmQvb3BlbnNzbC5zaCIKKworQ09ORkZJTEVTX29wZW5zc2wxMC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorCitSUkVDT01NRU5EU19saWJjcnlwdG8xMCArPSAib3BlbnNzbDEwLWNvbmYiCitSREVQRU5EU18ke1BOfS1taXNjID0gIiR7QGJiLnV0aWxzLmZpbHRlcignUEFDS0FHRUNPTkZJRycsICdwZXJsJywgZCl9IgorUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1pc2MgbWFrZSBwZXJsIHBlcmwtbW9kdWxlLWZpbGVoYW5kbGUgYmMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK1BBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAib3BlbnNzbF9wYWNrYWdlX3ByZXByb2Nlc3MiCisKKyMgb3BlbnNzbCAxLjAgZGV2ZWxvcG1lbnQgZmlsZXMgYW5kIGV4ZWN1dGFibGUgYmluYXJpZXMgY2xhc2ggd2l0aCBvcGVuc3NsIDEuMQorIyBmaWxlcyB3aGVuIGluc3RhbGxlZCBpbnRvIHRhcmdldCByb290ZnMuIFNvIHdlIGRvbid0IHB1dCB0aGVtIGludG8KKyMgcGFja2FnZXMsIGJ1dCB0aGV5IGNvbnRpbnVlIHRvIGJlIHByb3ZpZGVkIHZpYSB0YXJnZXQgc3lzcm9vdCBmb3IKKyMgY3Jvc3MtY29tcGlsYXRpb24gb24gdGhlIGhvc3QsIGlmIHNvbWUgc29mdHdhcmUgc3RpbGwgZGVwZW5kcyBvbiBvcGVuc3NsIDEuMC4KK29wZW5zc2xfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKKyAgICAgICAgZm9yIGZpbGUgaW4gYGZpbmQgJHtQS0dEfSAtbmFtZSAqLmggLW8gLW5hbWUgKi5wYyAtbyAtbmFtZSAqLnNvYDsgZG8KKyAgICAgICAgICAgICAgICBybSAkZmlsZQorICAgICAgICBkb25lCisgICAgICAgIHJtICR7UEtHRH0ke2JpbmRpcn0vb3BlbnNzbAorICAgICAgICBybSAke1BLR0R9JHtiaW5kaXJ9L2NfcmVoYXNoCisgICAgICAgIHJtZGlyICR7UEtHRH0ke2JpbmRpcn0KKworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTllOWZhYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvb3BlbnNzbC9vcGVuc3NsXzEuMS4xYS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIxMCArMCwwIEBACi1TVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCi1TRUNUSU9OID0gImxpYnMvbmV0d29yayIKLQotIyAib3BlbnNzbCIgaGVyZSBhY3R1YWxseSBtZWFucyBib3RoIE9wZW5TU0wgYW5kIFNTTGVheSBsaWNlbnNlcyBhcHBseQotIyAoc2VlIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL09wZW5TU0wgdG8gd2hpY2ggIm9wZW5zc2wiIGlzIFNQRFhMSUNFTlNFTUFQcGVkKQotTElDRU5TRSA9ICJvcGVuc3NsIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDU3ZDUxMTAzMGM5ZDY2ZWY1ZjU5NjZiZWU1YTdlZmYiCi0KLURFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL29wZW5zc2wtY19yZWhhc2guc2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1za2lwLXRlc3Rfc3ltYm9sX3ByZXNlbmNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtYnVpbGRpbmZvLXN0cmlwLXN5c3Jvb3QtYW5kLWRlYnVnLXByZWZpeC1tYXAtZnJvbS1jby5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5NjNkZWIyMjcyZDZiZTdkNGMyNDU4YWZkMjUxN2I3MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzIwMTMwZjhiN2NiZDJmYjkxOGIyZjE0ZTJmNDI5ZTEwOWMzMWRkZDBmYjM4ZmM1ZDcxZDlmZmVkM2Y5ZjQxIgotCi1pbmhlcml0IGxpYl9wYWNrYWdlIG11bHRpbGliX2hlYWRlciBwdGVzdAotCi1CID0gIiR7V09SS0RJUn0vYnVpbGQiCi1kb19jb25maWd1cmVbY2xlYW5kaXJzXSA9ICIke0J9IgotCi0jfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0Y29udGV4dCcKLSN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzZXRjb250ZXh0JwotI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1ha2Vjb250ZXh0JwotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIG5vLWFzeW5jIgotRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2xfcG93ZXJwYzY0ID0gIiBuby1hc20iCi0KLSMgVGhpcyBwcmV2ZW50cyBvcGVuc3NsIGZyb20gdXNpbmcgZ2V0cmFuZG9tKCkgd2hpY2ggaXMgbm90IGF2YWlsYWJsZSBvbiBvbGRlciBnbGliYyB2ZXJzaW9ucwotIyAobmF0aXZlIHZlcnNpb25zIGNhbiBiZSBidWlsdCB3aXRoIG5ld2VyIGdsaWJjLCBidXQgdGhlbiByZWxvY2F0ZWQgb250byBhIHN5c3RlbSB3aXRoIG9sZGVyIGdsaWJjKQotRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGgtcmFuZC1zZWVkPWRldnJhbmRvbSIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiLS13aXRoLXJhbmQtc2VlZD1kZXZyYW5kb20iCi0KLSMgUmVseWluZyBvbiBoYXJkY29kZWQgYnVpbHQtaW4gcGF0aHMgY2F1c2VzIG9wZW5zc2wtbmF0aXZlIHRvIG5vdCBiZSByZWxvY2F0ZWFibGUgZnJvbSBzc3RhdGUuCi1DRkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLURPUEVOU1NMRElSPS9ub3QvYnVpbHRpbiAtREVOR0lORVNESVI9L25vdC9idWlsdGluIgotQ0ZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC1ET1BFTlNTTERJUj0vbm90L2J1aWx0aW4gLURFTkdJTkVTRElSPS9ub3QvYnVpbHRpbiIKLQotZG9fY29uZmlndXJlICgpIHsKLQlvcz0ke0hPU1RfT1N9Ci0JY2FzZSAkb3MgaW4KLQlsaW51eC1nbnVlYWJpIHxcCi0JbGludXgtZ251c3BlIHxcCi0JbGludXgtbXVzbGVhYmkgfFwKLQlsaW51eC1tdXNsc3BlIHxcCi0JbGludXgtbXVzbCApCi0JCW9zPWxpbnV4Ci0JCTs7Ci0JKikKLQkJOzsKLQllc2FjCi0JdGFyZ2V0PSIkb3MtJHtIT1NUX0FSQ0h9IgotCWNhc2UgJHRhcmdldCBpbgotCWxpbnV4LWFybSopCi0JCXRhcmdldD1saW51eC1hcm12NAotCQk7OwotCWxpbnV4LWFhcmNoNjQqKQotCQl0YXJnZXQ9bGludXgtYWFyY2g2NAotCQk7OwotCWxpbnV4LWk/ODYgfCBsaW51eC12aWFjMykKLQkJdGFyZ2V0PWxpbnV4LXg4NgotCQk7OwotCWxpbnV4LWdudXgzMi14ODZfNjQgfCBsaW51eC1tdXNseDMyLXg4Nl82NCApCi0JCXRhcmdldD1saW51eC14MzIKLQkJOzsKLQlsaW51eC1nbnU2NC14ODZfNjQpCi0JCXRhcmdldD1saW51eC14ODZfNjQKLQkJOzsKLQlsaW51eC1taXBzIHwgbGludXgtbWlwc2VsKQotCQkjIHNwZWNpZnlpbmcgVEFSR0VUX0NDX0FSQ0ggcHJldmVudHMgb3BlbnNzbCBmcm9tIChpbmNvcnJlY3RseSkgYWRkaW5nIHRhcmdldCBhcmNoaXRlY3R1cmUgZmxhZ3MKLQkJdGFyZ2V0PSJsaW51eC1taXBzMzIgJHtUQVJHRVRfQ0NfQVJDSH0iCi0JCTs7Ci0JbGludXgtZ251bjMyLW1pcHMqKQotCQl0YXJnZXQ9bGludXgtbWlwczY0Ci0JCTs7Ci0JbGludXgtKi1taXBzNjQgfCBsaW51eC1taXBzNjQgfCBsaW51eC0qLW1pcHM2NGVsIHwgbGludXgtbWlwczY0ZWwpCi0JCXRhcmdldD1saW51eDY0LW1pcHM2NAotCQk7OwotCWxpbnV4LW1pY3JvYmxhemUqIHwgbGludXgtbmlvczIqIHwgbGludXgtc2gzIHwgbGludXgtc2g0IHwgbGludXgtYXJjKikKLQkJdGFyZ2V0PWxpbnV4LWdlbmVyaWMzMgotCQk7OwotCWxpbnV4LXBvd2VycGMpCi0JCXRhcmdldD1saW51eC1wcGMKLQkJOzsKLQlsaW51eC1wb3dlcnBjNjQpCi0JCXRhcmdldD1saW51eC1wcGM2NAotCQk7OwotCWxpbnV4LXJpc2N2MzIpCi0JCXRhcmdldD1saW51eC1nZW5lcmljMzIKLQkJOzsKLQlsaW51eC1yaXNjdjY0KQotCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzY0Ci0JCTs7Ci0JbGludXgtc3BhcmMgfCBsaW51eC1zdXBlcnNwYXJjKQotCQl0YXJnZXQ9bGludXgtc3BhcmN2OQotCQk7OwotCWVzYWMKLQotCXVzZXByZWZpeD0ke3ByZWZpeH0KLQlpZiBbICJ4JHVzZXByZWZpeCIgPSAieCIgXTsgdGhlbgotCQl1c2VwcmVmaXg9LwotCWZpCi0JIyBXQVJOSU5HOiBkbyBub3Qgc2V0IGNvbXBpbGVyL2xpbmtlciBmbGFncyAoLUkvLUQgZXRjLikgaW4gRVhUUkFfT0VDT05GLCBhcyB0aGV5IHdpbGwgZnVsbHkgcmVwbGFjZSB0aGUKLQkjIGVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgYnkgYml0YmFrZS4gQWRqdXN0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW5zdGVhZC4KLQlQRVJMNUxJQj0iJHtTfS9leHRlcm5hbC9wZXJsL1RleHQtVGVtcGxhdGUtMS40Ni9saWIvIiBcCi0JcGVybCAke1N9L0NvbmZpZ3VyZSAke0VYVFJBX09FQ09ORn0gJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSAtLXByZWZpeD0kdXNlcHJlZml4IC0tb3BlbnNzbGRpcj0ke2xpYmRpcn0vc3NsLTEuMSAtLWxpYmRpcj0ke2xpYmRpcn0gJHRhcmdldAotfQotCi1kb19pbnN0YWxsICgpIHsKLQlvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIE1BTkRJUj0iJHttYW5kaXJ9IiBNQU5TVUZGSVg9c3NsIGluc3RhbGwKLQotCW9lX211bHRpbGliX2hlYWRlciBvcGVuc3NsL29wZW5zc2xjb25mLmgKLQotCSMgQ3JlYXRlIFNTTCBzdHJ1Y3R1cmUgZm9yIHBhY2thZ2VzIHN1Y2ggYXMgY2EtY2VydGlmaWNhdGVzIHdoaWNoCi0JIyBjb250YWluIGhhcmQtY29kZWQgcGF0aHMgdG8gL2V0Yy9zc2wuIERlYmlhbiBkb2VzIHRoZSBzYW1lLgotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vc3NsCi0JbXYgJHtEfSR7bGliZGlyfS9zc2wtMS4xL2NlcnRzIFwKLQkgICAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvcHJpdmF0ZSBcCi0JICAgJHtEfSR7bGliZGlyfS9zc2wtMS4xL29wZW5zc2wuY25mIFwKLQkgICAke0R9JHtzeXNjb25mZGlyfS9zc2wvCi0KLQkjIEFsdGhvdWdoIGFic29sdXRlIHN5bWxpbmtzIHdvdWxkIGJlIE9LIGZvciB0aGUgdGFyZ2V0LCB0aGV5IGJlY29tZQotCSMgaW52YWxpZCBpZiBuYXRpdmUgb3IgbmF0aXZlc2RrIGFyZSByZWxvY2F0ZWQgZnJvbSBzc3RhdGUuCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wtMS4xJywgJyR7c3lzY29uZmRpcn0vc3NsL2NlcnRzJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cwotCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9wcml2YXRlJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9wcml2YXRlCi0JbG4gLXNmICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7bGliZGlyfS9zc2wtMS4xJywgJyR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mJyl9ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZgotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUgKCkgewotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vb3BlbnNzbCBcCi0JICAgIE9QRU5TU0xfQ09ORj0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZiBcCi0JICAgIFNTTF9DRVJUX0RJUj0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cyBcCi0JICAgIFNTTF9DRVJUX0ZJTEU9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydC5wZW0gXAotCSAgICBPUEVOU1NMX0VOR0lORVM9JHtsaWJkaXJ9L3NzbC0xLjEvZW5naW5lcwotCi0JIyBJbnN0YWxsIGEgY3VzdG9tIHZlcnNpb24gb2YgY19yZWhhc2ggdGhhdCBjYW4gaGFuZGxlIHN5c3Jvb3RzIHByb3Blcmx5LgotCSMgVGhpcyB2ZXJzaW9uIGlzIHVzZWQgZm9yIGV4YW1wbGUgd2hlbiBpbnN0YWxsaW5nIGNhLWNlcnRpZmljYXRlcyBkdXJpbmcKLQkjIGltYWdlIGNyZWF0aW9uLgotCWluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS9vcGVuc3NsLWNfcmVoYXNoLnNoICR7RH0ke2JpbmRpcn0vY19yZWhhc2gKLQlzZWQgLWkgLWUgJ3MsL2V0Yy9vcGVuc3NsLCR7c3lzY29uZmRpcn0vc3NsLGcnICR7RH0ke2JpbmRpcn0vY19yZWhhc2gKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLQlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCi0JaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi0Jc2VkICdzfC91c3IvbGliL3NzbC98L3Vzci9saWIvc3NsLTEuMS98ZycgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCi19Ci0KLVBURVNUX0JVSUxEX0hPU1RfRklMRVMgKz0gImNvbmZpZ2RhdGEucG0iCi1QVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAicGVybF92ZXJzaW9uID0iCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQkjIFBydW5lIHRoZSBidWlsZCB0cmVlCi0Jcm0gLWYgJHtCfS9mdXp6LyouKiAke0J9L3Rlc3QvKi4qCi0KLQljcCAke1N9L0NvbmZpZ3VyZSAke0J9L2NvbmZpZ2RhdGEucG0gJHtEfSR7UFRFU1RfUEFUSH0KLQljcCAtciAke1N9L2V4dGVybmFsICR7Qn0vdGVzdCAke1N9L3Rlc3QgJHtCfS9mdXp6ICR7U30vdXRpbCAke0J9L3V0aWwgJHtEfSR7UFRFU1RfUEFUSH0KLQotCSMgRm9yIHRlc3Rfc2hsaWJsb2FkCi0JbG4gLXMgJHtsaWJkaXJ9L2xpYmNyeXB0by5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGliY3J5cHRvLnNvCi0JbG4gLXMgJHtsaWJkaXJ9L2xpYnNzbC5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGlic3NsLnNvCi0KLQlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKLQlsbiAtcyAke2JpbmRpcn0vb3BlbnNzbCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JaW5zdGFsbCAtbTY0NCAke1N9L2FwcHMvKi5wZW0gJHtTfS9hcHBzLyouc3JsICR7U30vYXBwcy9vcGVuc3NsLmNuZiAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCi0JaW5zdGFsbCAtbTc1NSAke0J9L2FwcHMvQ0EucGwgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcwotCi0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9lbmdpbmVzCi0JaW5zdGFsbCAtbTc1NSAke0J9L2VuZ2luZXMvb3NzbHRlc3Quc28gJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcwotfQotCi0jIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgotIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bwotIyBwYWNrYWdlIHNpbmNlIHRoZSBvcGVuc3NsLWJpbiBwYWNrYWdlIGRlcGVuZHMgb24gdGhlIGxpYmNyeXB0byBwYWNrYWdlLgotCi1QQUNLQUdFUyA9KyAibGliY3J5cHRvIGxpYnNzbCBvcGVuc3NsLWNvbmYgJHtQTn0tZW5naW5lcyAke1BOfS1taXNjIgotCi1GSUxFU19saWJjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKLUZJTEVTX2xpYnNzbCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgotRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotRklMRVNfJHtQTn0tZW5naW5lcyA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEiCi1GSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wtMS4xL21pc2MiCi1GSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC0xLjEvKiIKLUZJTEVTXyR7UE59X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoIgotCi1DT05GRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgotCi1SUkVDT01NRU5EU19saWJjcnlwdG8gKz0gIm9wZW5zc2wtY29uZiIKLVJERVBFTkRTXyR7UE59LWJpbiA9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tbWlzYyA9ICJwZXJsIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm9wZW5zc2wtYmluIHBlcmwgcGVybC1tb2R1bGVzIGJhc2ggcHl0aG9uIgotCi1SUFJPVklERVNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgotUlJFUExBQ0VTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKLVJDT05GTElDVFNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWluaGVyaXQgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tYmluOiR7YmluZGlyfS9jX3JlaGFzaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFiLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L29wZW5zc2wvb3BlbnNzbF8xLjEuMWIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM0MDRkMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS9vcGVuc3NsL29wZW5zc2xfMS4xLjFiLmJiCkBAIC0wLDAgKzEsMjA2IEBACitTVU1NQVJZID0gIlNlY3VyZSBTb2NrZXQgTGF5ZXIiCitERVNDUklQVElPTiA9ICJTZWN1cmUgU29ja2V0IExheWVyIChTU0wpIGJpbmFyeSBhbmQgcmVsYXRlZCBjcnlwdG9ncmFwaGljIHRvb2xzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cub3BlbnNzbC5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vd3d3Lm9wZW5zc2wub3JnL25ld3MvdnVsbmVyYWJpbGl0aWVzLmh0bWwiCitTRUNUSU9OID0gImxpYnMvbmV0d29yayIKKworIyAib3BlbnNzbCIgaGVyZSBhY3R1YWxseSBtZWFucyBib3RoIE9wZW5TU0wgYW5kIFNTTGVheSBsaWNlbnNlcyBhcHBseQorIyAoc2VlIG1ldGEvZmlsZXMvY29tbW9uLWxpY2Vuc2VzL09wZW5TU0wgdG8gd2hpY2ggIm9wZW5zc2wiIGlzIFNQRFhMSUNFTlNFTUFQcGVkKQorTElDRU5TRSA9ICJvcGVuc3NsIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZDM0M2U2MmZjOWM4MzM3MTBiYmJlZDI1ZjI3MzY0YzgiCisKK0RFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5vcGVuc3NsLm9yZy9zb3VyY2Uvb3BlbnNzbC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc2tpcC10ZXN0X3N5bWJvbF9wcmVzZW5jZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkaW5mby1zdHJpcC1zeXNyb290LWFuZC1kZWJ1Zy1wcmVmaXgtbWFwLWZyb20tY28ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYWZhbGcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktMTU0My5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NTMyNzEyZTdiY2M5NDE0ZjViY2U5OTVlNGUxMzkzMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1YzU1N2IwMjMyMzA0MTNkZmIwNzU2ZjMxMzdhMTNlNmQ3MjY4MzhjY2QxNDMwODg4YWQxNWJmYjJiNDNlYTRiIgorCitpbmhlcml0IGxpYl9wYWNrYWdlIG11bHRpbGliX2hlYWRlciBwdGVzdAorCitQQUNLQUdFQ09ORklHID89ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbY3J5cHRvZGV2LWxpbnV4XSA9ICJlbmFibGUtZGV2Y3J5cHRvZW5nLGRpc2FibGUtZGV2Y3J5cHRvZW5nLGNyeXB0b2Rldi1saW51eCIKKworQiA9ICIke1dPUktESVJ9L2J1aWxkIgorZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKKworI3wgLi9saWJjcnlwdG8uc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGNvbnRleHQnCisjfCAuL2xpYmNyeXB0by5zbzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0Y29udGV4dCcKKyN8IC4vbGliY3J5cHRvLnNvOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBtYWtlY29udGV4dCcKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiBuby1hc3luYyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICIgbm8tYXNtIgorCisjIFRoaXMgcHJldmVudHMgb3BlbnNzbCBmcm9tIHVzaW5nIGdldHJhbmRvbSgpIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gb2xkZXIgZ2xpYmMgdmVyc2lvbnMKKyMgKG5hdGl2ZSB2ZXJzaW9ucyBjYW4gYmUgYnVpbHQgd2l0aCBuZXdlciBnbGliYywgYnV0IHRoZW4gcmVsb2NhdGVkIG9udG8gYSBzeXN0ZW0gd2l0aCBvbGRlciBnbGliYykKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS13aXRoLXJhbmQtc2VlZD1kZXZyYW5kb20iCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIi0td2l0aC1yYW5kLXNlZWQ9ZGV2cmFuZG9tIgorCisjIFJlbHlpbmcgb24gaGFyZGNvZGVkIGJ1aWx0LWluIHBhdGhzIGNhdXNlcyBvcGVuc3NsLW5hdGl2ZSB0byBub3QgYmUgcmVsb2NhdGVhYmxlIGZyb20gc3N0YXRlLgorQ0ZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1ET1BFTlNTTERJUj0vbm90L2J1aWx0aW4gLURFTkdJTkVTRElSPS9ub3QvYnVpbHRpbiIKK0NGTEFHU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRE9QRU5TU0xESVI9L25vdC9idWlsdGluIC1ERU5HSU5FU0RJUj0vbm90L2J1aWx0aW4iCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJb3M9JHtIT1NUX09TfQorCWNhc2UgJG9zIGluCisJbGludXgtZ251ZWFiaSB8XAorCWxpbnV4LWdudXNwZSB8XAorCWxpbnV4LW11c2xlYWJpIHxcCisJbGludXgtbXVzbHNwZSB8XAorCWxpbnV4LW11c2wgKQorCQlvcz1saW51eAorCQk7OworCSopCisJCTs7CisJZXNhYworCXRhcmdldD0iJG9zLSR7SE9TVF9BUkNIfSIKKwljYXNlICR0YXJnZXQgaW4KKwlsaW51eC1hcm0qKQorCQl0YXJnZXQ9bGludXgtYXJtdjQKKwkJOzsKKwlsaW51eC1hYXJjaDY0KikKKwkJdGFyZ2V0PWxpbnV4LWFhcmNoNjQKKwkJOzsKKwlsaW51eC1pPzg2IHwgbGludXgtdmlhYzMpCisJCXRhcmdldD1saW51eC14ODYKKwkJOzsKKwlsaW51eC1nbnV4MzIteDg2XzY0IHwgbGludXgtbXVzbHgzMi14ODZfNjQgKQorCQl0YXJnZXQ9bGludXgteDMyCisJCTs7CisJbGludXgtZ251NjQteDg2XzY0KQorCQl0YXJnZXQ9bGludXgteDg2XzY0CisJCTs7CisJbGludXgtbWlwcyB8IGxpbnV4LW1pcHNlbCkKKwkJIyBzcGVjaWZ5aW5nIFRBUkdFVF9DQ19BUkNIIHByZXZlbnRzIG9wZW5zc2wgZnJvbSAoaW5jb3JyZWN0bHkpIGFkZGluZyB0YXJnZXQgYXJjaGl0ZWN0dXJlIGZsYWdzCisJCXRhcmdldD0ibGludXgtbWlwczMyICR7VEFSR0VUX0NDX0FSQ0h9IgorCQk7OworCWxpbnV4LWdudW4zMi1taXBzKikKKwkJdGFyZ2V0PWxpbnV4LW1pcHM2NAorCQk7OworCWxpbnV4LSotbWlwczY0IHwgbGludXgtbWlwczY0IHwgbGludXgtKi1taXBzNjRlbCB8IGxpbnV4LW1pcHM2NGVsKQorCQl0YXJnZXQ9bGludXg2NC1taXBzNjQKKwkJOzsKKwlsaW51eC1taWNyb2JsYXplKiB8IGxpbnV4LW5pb3MyKiB8IGxpbnV4LXNoMyB8IGxpbnV4LXNoNCB8IGxpbnV4LWFyYyopCisJCXRhcmdldD1saW51eC1nZW5lcmljMzIKKwkJOzsKKwlsaW51eC1wb3dlcnBjKQorCQl0YXJnZXQ9bGludXgtcHBjCisJCTs7CisJbGludXgtcG93ZXJwYzY0KQorCQl0YXJnZXQ9bGludXgtcHBjNjQKKwkJOzsKKwlsaW51eC1yaXNjdjMyKQorCQl0YXJnZXQ9bGludXgtZ2VuZXJpYzMyCisJCTs7CisJbGludXgtcmlzY3Y2NCkKKwkJdGFyZ2V0PWxpbnV4LWdlbmVyaWM2NAorCQk7OworCWxpbnV4LXNwYXJjIHwgbGludXgtc3VwZXJzcGFyYykKKwkJdGFyZ2V0PWxpbnV4LXNwYXJjdjkKKwkJOzsKKwllc2FjCisKKwl1c2VwcmVmaXg9JHtwcmVmaXh9CisJaWYgWyAieCR1c2VwcmVmaXgiID0gIngiIF07IHRoZW4KKwkJdXNlcHJlZml4PS8KKwlmaQorCSMgV0FSTklORzogZG8gbm90IHNldCBjb21waWxlci9saW5rZXIgZmxhZ3MgKC1JLy1EIGV0Yy4pIGluIEVYVFJBX09FQ09ORiwgYXMgdGhleSB3aWxsIGZ1bGx5IHJlcGxhY2UgdGhlCisJIyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2V0IGJ5IGJpdGJha2UuIEFkanVzdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluc3RlYWQuCisJUEVSTDVMSUI9IiR7U30vZXh0ZXJuYWwvcGVybC9UZXh0LVRlbXBsYXRlLTEuNDYvbGliLyIgXAorCXBlcmwgJHtTfS9Db25maWd1cmUgJHtFWFRSQV9PRUNPTkZ9ICR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gLS1wcmVmaXg9JHVzZXByZWZpeCAtLW9wZW5zc2xkaXI9JHtsaWJkaXJ9L3NzbC0xLjEgLS1saWJkaXI9JHtsaWJkaXJ9ICR0YXJnZXQKKwlwZXJsICR7Qn0vY29uZmlnZGF0YS5wbSAtLWR1bXAKK30KKworZG9faW5zdGFsbCAoKSB7CisJb2VfcnVubWFrZSBERVNURElSPSIke0R9IiBNQU5ESVI9IiR7bWFuZGlyfSIgTUFOU1VGRklYPXNzbCBpbnN0YWxsCisKKwlvZV9tdWx0aWxpYl9oZWFkZXIgb3BlbnNzbC9vcGVuc3NsY29uZi5oCisKKwkjIENyZWF0ZSBTU0wgc3RydWN0dXJlIGZvciBwYWNrYWdlcyBzdWNoIGFzIGNhLWNlcnRpZmljYXRlcyB3aGljaAorCSMgY29udGFpbiBoYXJkLWNvZGVkIHBhdGhzIHRvIC9ldGMvc3NsLiBEZWJpYW4gZG9lcyB0aGUgc2FtZS4KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3NzbAorCW12ICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9jZXJ0cyBcCisJICAgJHtEfSR7bGliZGlyfS9zc2wtMS4xL3ByaXZhdGUgXAorCSAgICR7RH0ke2xpYmRpcn0vc3NsLTEuMS9vcGVuc3NsLmNuZiBcCisJICAgJHtEfSR7c3lzY29uZmRpcn0vc3NsLworCisJIyBBbHRob3VnaCBhYnNvbHV0ZSBzeW1saW5rcyB3b3VsZCBiZSBPSyBmb3IgdGhlIHRhcmdldCwgdGhleSBiZWNvbWUKKwkjIGludmFsaWQgaWYgbmF0aXZlIG9yIG5hdGl2ZXNkayBhcmUgcmVsb2NhdGVkIGZyb20gc3N0YXRlLgorCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9jZXJ0cycpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMKKwlsbiAtc2YgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtsaWJkaXJ9L3NzbC0xLjEnLCAnJHtzeXNjb25mZGlyfS9zc2wvcHJpdmF0ZScpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvcHJpdmF0ZQorCWxuIC1zZiAke0BvZS5wYXRoLnJlbGF0aXZlKCcke2xpYmRpcn0vc3NsLTEuMScsICcke3N5c2NvbmZkaXJ9L3NzbC9vcGVuc3NsLmNuZicpfSAke0R9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKwljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L29wZW5zc2wgXAorCSAgICBPUEVOU1NMX0NPTkY9JHtsaWJkaXJ9L3NzbC0xLjEvb3BlbnNzbC5jbmYgXAorCSAgICBTU0xfQ0VSVF9ESVI9JHtsaWJkaXJ9L3NzbC0xLjEvY2VydHMgXAorCSAgICBTU0xfQ0VSVF9GSUxFPSR7bGliZGlyfS9zc2wtMS4xL2NlcnQucGVtIFwKKwkgICAgT1BFTlNTTF9FTkdJTkVTPSR7bGliZGlyfS9zc2wtMS4xL2VuZ2luZXMKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKKwlta2RpciAtcCAke0R9JHtTREtQQVRITkFUSVZFfS9lbnZpcm9ubWVudC1zZXR1cC5kCisJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9lbnZpcm9ubWVudC5kLW9wZW5zc2wuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCisJc2VkICdzfC91c3IvbGliL3NzbC98L3Vzci9saWIvc3NsLTEuMS98ZycgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoCit9CisKK1BURVNUX0JVSUxEX0hPU1RfRklMRVMgKz0gImNvbmZpZ2RhdGEucG0iCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAicGVybF92ZXJzaW9uID0iCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKwkjIFBydW5lIHRoZSBidWlsZCB0cmVlCisJcm0gLWYgJHtCfS9mdXp6LyouKiAke0J9L3Rlc3QvKi4qCisKKwljcCAke1N9L0NvbmZpZ3VyZSAke0J9L2NvbmZpZ2RhdGEucG0gJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9L2V4dGVybmFsICR7Qn0vdGVzdCAke1N9L3Rlc3QgJHtCfS9mdXp6ICR7U30vdXRpbCAke0J9L3V0aWwgJHtEfSR7UFRFU1RfUEFUSH0KKworCSMgRm9yIHRlc3Rfc2hsaWJsb2FkCisJbG4gLXMgJHtsaWJkaXJ9L2xpYmNyeXB0by5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGliY3J5cHRvLnNvCisJbG4gLXMgJHtsaWJkaXJ9L2xpYnNzbC5zby4xLjEgJHtEfSR7UFRFU1RfUEFUSH0vbGlic3NsLnNvCisKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2FwcHMKKwlsbiAtcyAke2JpbmRpcn0vb3BlbnNzbCAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJaW5zdGFsbCAtbTY0NCAke1N9L2FwcHMvKi5wZW0gJHtTfS9hcHBzLyouc3JsICR7U30vYXBwcy9vcGVuc3NsLmNuZiAke0R9JHtQVEVTVF9QQVRIfS9hcHBzCisJaW5zdGFsbCAtbTc1NSAke0J9L2FwcHMvQ0EucGwgJHtEfSR7UFRFU1RfUEFUSH0vYXBwcworCisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9lbmdpbmVzCisJaW5zdGFsbCAtbTc1NSAke0J9L2VuZ2luZXMvb3NzbHRlc3Quc28gJHtEfSR7UFRFU1RfUEFUSH0vZW5naW5lcworfQorCisjIEFkZCB0aGUgb3BlbnNzbC5jbmYgZmlsZSB0byB0aGUgb3BlbnNzbC1jb25mIHBhY2thZ2UuIE1ha2UgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIFJSRUNPTU1FTkRTIG9uIHRoaXMgcGFja2FnZS4gVGhpcyB3aWxsIGVuYWJsZSB0aGUgY29uZmlndXJhdGlvbgorIyBmaWxlIHRvIGJlIGluc3RhbGxlZCBmb3IgYm90aCB0aGUgb3BlbnNzbC1iaW4gcGFja2FnZSBhbmQgdGhlIGxpYmNyeXB0bworIyBwYWNrYWdlIHNpbmNlIHRoZSBvcGVuc3NsLWJpbiBwYWNrYWdlIGRlcGVuZHMgb24gdGhlIGxpYmNyeXB0byBwYWNrYWdlLgorCitQQUNLQUdFUyA9KyAibGliY3J5cHRvIGxpYnNzbCBvcGVuc3NsLWNvbmYgJHtQTn0tZW5naW5lcyAke1BOfS1taXNjIgorCitGSUxFU19saWJjcnlwdG8gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0byR7U09MSUJTfSIKK0ZJTEVTX2xpYnNzbCA9ICIke2xpYmRpcn0vbGlic3NsJHtTT0xJQlN9IgorRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorRklMRVNfJHtQTn0tZW5naW5lcyA9ICIke2xpYmRpcn0vZW5naW5lcy0xLjEiCitGSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9zc2wtMS4xL21pc2MiCitGSUxFU18ke1BOfSA9KyAiJHtsaWJkaXJ9L3NzbC0xLjEvKiIKK0ZJTEVTXyR7UE59X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9vcGVuc3NsLnNoIgorCitDT05GRklMRVNfb3BlbnNzbC1jb25mID0gIiR7c3lzY29uZmRpcn0vc3NsL29wZW5zc2wuY25mIgorCitSUkVDT01NRU5EU19saWJjcnlwdG8gKz0gIm9wZW5zc2wtY29uZiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJvcGVuc3NsLWJpbiBwZXJsIHBlcmwtbW9kdWxlcyBiYXNoIgorCitSUFJPVklERVNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgorUlJFUExBQ0VTX29wZW5zc2wtY29uZiA9ICJvcGVuc3NsMTAtY29uZiIKK1JDT05GTElDVFNfb3BlbnNzbC1jb25mID0gIm9wZW5zc2wxMC1jb25mIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvMDAwMS1yZXBsYWNlLXN5c3RlbWQtaW5zdGFsbC1BbGlhcy13aXRoLVdhbnRlZEJ5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50LzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDc2Y2YwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50LzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDk0YzQwMTczM2E1YTNkMjk0Y2M0MTI2NzExNjZlNmFkZmI0MDlmNTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NodWEgRGVXZWVzZSA8amRld2Vlc2VAaGVubnlwZW5ueS5jb20+CitEYXRlOiBXZWQsIDMwIEphbiAyMDE5IDE2OjE5OjQ3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHJlcGxhY2Ugc3lzdGVtZCBpbnN0YWxsIEFsaWFzIHdpdGggV2FudGVkQnkKKworQWNjb3JkaW5nIHRvIHRoZSBzeXN0ZW1kIGRvY3VtZW50YXRpb24gIldhbnRlZEJ5PWZvby5zZXJ2aWNlIGluIGEKK3NlcnZpY2UgYmFyLnNlcnZpY2UgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8KK0FsaWFzPWZvby5zZXJ2aWNlLndhbnRzL2Jhci5zZXJ2aWNlIGluIHRoZSBzYW1lIGZpbGUuIiBIb3dldmVyLAordGhpcyBpcyBub3QgcmVhbGx5IHRoZSBpbnRlbmRlZCBwdXJwb3NlIG9mIGluc3RhbGwgQWxpYXNlcy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2hvc3RhcEBsaXN0cy5pbmZyYWRlYWQub3JnXQorCitTaWduZWQtb2ZmLWJ5OiBKb3NodWEgRGVXZWVzZSA8amRld2Vlc2VAaGVubnlwZW5ueS5jb20+CistLS0KKyB3cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LW5sODAyMTEuc2VydmljZS5hcmcuaW4gfCAyICstCisgd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC13aXJlZC5zZXJ2aWNlLmFyZy5pbiAgIHwgMiArLQorIHdwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4gICAgICAgICB8IDIgKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbiBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbgoraW5kZXggMDNhYzUwNy4uZGE2OWE4NyAxMDA2NDQKKy0tLSBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS5zZXJ2aWNlLmFyZy5pbgorKysrIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC1ubDgwMjExLnNlcnZpY2UuYXJnLmluCitAQCAtMTIsNCArMTIsNCBAQCBUeXBlPXNpbXBsZQorIEV4ZWNTdGFydD1AQklORElSQC93cGFfc3VwcGxpY2FudCAtYy9ldGMvd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMS0lSS5jb25mIC1Ebmw4MDIxMSAtaSVJCisgCisgW0luc3RhbGxdCistQWxpYXM9bXVsdGktdXNlci50YXJnZXQud2FudHMvd3BhX3N1cHBsaWNhbnQtbmw4MDIxMUAlaS5zZXJ2aWNlCisrV2FudGVkQnk9bXVsdGktdXNlci50YXJnZXQKK2RpZmYgLS1naXQgYS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LXdpcmVkLnNlcnZpY2UuYXJnLmluIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC13aXJlZC5zZXJ2aWNlLmFyZy5pbgoraW5kZXggYzhhNzQ0ZC4uY2EzMDU0YiAxMDA2NDQKKy0tLSBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4KKysrKyBiL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQtd2lyZWQuc2VydmljZS5hcmcuaW4KK0BAIC0xMiw0ICsxMiw0IEBAIFR5cGU9c2ltcGxlCisgRXhlY1N0YXJ0PUBCSU5ESVJAL3dwYV9zdXBwbGljYW50IC1jL2V0Yy93cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC13aXJlZC0lSS5jb25mIC1Ed2lyZWQgLWklSQorIAorIFtJbnN0YWxsXQorLUFsaWFzPW11bHRpLXVzZXIudGFyZ2V0LndhbnRzL3dwYV9zdXBwbGljYW50LXdpcmVkQCVpLnNlcnZpY2UKKytXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorZGlmZiAtLWdpdCBhL3dwYV9zdXBwbGljYW50L3N5c3RlbWQvd3BhX3N1cHBsaWNhbnQuc2VydmljZS5hcmcuaW4gYi93cGFfc3VwcGxpY2FudC9zeXN0ZW1kL3dwYV9zdXBwbGljYW50LnNlcnZpY2UuYXJnLmluCitpbmRleCA3Nzg4YjM4Li41NWQyYjljIDEwMDY0NAorLS0tIGEvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC5zZXJ2aWNlLmFyZy5pbgorKysrIGIvd3BhX3N1cHBsaWNhbnQvc3lzdGVtZC93cGFfc3VwcGxpY2FudC5zZXJ2aWNlLmFyZy5pbgorQEAgLTEyLDQgKzEyLDQgQEAgVHlwZT1zaW1wbGUKKyBFeGVjU3RhcnQ9QEJJTkRJUkAvd3BhX3N1cHBsaWNhbnQgLWMvZXRjL3dwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50LSVJLmNvbmYgLWklSQorIAorIFtJbnN0YWxsXQorLUFsaWFzPW11bHRpLXVzZXIudGFyZ2V0LndhbnRzL3dwYV9zdXBwbGljYW50QCVpLnNlcnZpY2UKKytXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUxLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDRkNDllNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkxICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSBjZjRjYWI4MDRjN2FmZDVjNDU1MDU1MjhhOGQxNmU0NjE2MzI0M2EyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLURhdGU6IEZyaSwgMTQgSnVsIDIwMTcgMTU6MTU6MzUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzhdIGhvc3RhcGQ6IEF2b2lkIGtleSByZWluc3RhbGxhdGlvbiBpbiBGVCBoYW5kc2hha2UKLQotRG8gbm90IHJlaW5zdGFsbCBUSyB0byB0aGUgZHJpdmVyIGR1cmluZyBSZWFzc29jaWF0aW9uIFJlc3BvbnNlIGZyYW1lCi1wcm9jZXNzaW5nIGlmIHRoZSBmaXJzdCBhdHRlbXB0IG9mIHNldHRpbmcgdGhlIFRLIHN1Y2NlZWRlZC4gVGhpcyBhdm9pZHMKLWlzc3VlcyByZWxhdGVkIHRvIGNsZWFyaW5nIHRoZSBUWC9SWCBQTiB0aGF0IGNvdWxkIHJlc3VsdCBpbiByZXVzaW5nCi1zYW1lIFBOIHZhbHVlcyBmb3IgdHJhbnNtaXR0ZWQgZnJhbWVzIChlLmcuLCBkdWUgdG8gQ0NNIG5vbmNlIHJldXNlIGFuZAotYWxzbyBoaXR0aW5nIHJlcGxheSBwcm90ZWN0aW9uIG9uIHRoZSByZWNlaXZlcikgYW5kIGFjY2VwdGluZyByZXBsYXllZAotZnJhbWVzIG9uIFJYIHNpZGUuCi0KLVRoaXMgaXNzdWUgd2FzIGludHJvZHVjZWQgYnkgdGhlIGNvbW1pdAotMGU4NGMyNTQzNGU2YTFmMjgzYzdiNGU2MmU0ODM3MjkwODViNzhkMiAoJ0ZUOiBGaXggUFRLIGNvbmZpZ3VyYXRpb24gaW4KLWF1dGhlbnRpY2F0b3InKSB3aGljaCBhbGxvd2VkIHdwYV9mdF9pbnN0YWxsX3B0aygpIHRvIGJlIGNhbGxlZCBtdWx0aXBsZQotdGltZXMgd2l0aCB0aGUgc2FtZSBQVEsuIFdoaWxlIHRoZSBzZWNvbmQgY29uZmlndXJhdGlvbiBhdHRlbXB0IGlzCi1uZWVkZWQgd2l0aCBzb21lIGRyaXZlcnMsIGl0IG11c3QgYmUgZG9uZSBvbmx5IGlmIHRoZSBmaXJzdCBhdHRlbXB0Ci1mYWlsZWQuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdGh5IFZhbmhvZWYgPE1hdGh5LlZhbmhvZWZAY3Mua3VsZXV2ZW4uYmU+Ci0tLS0KLSBzcmMvYXAvaWVlZTgwMl8xMS5jICB8IDE2ICsrKysrKysrKysrKystLS0KLSBzcmMvYXAvd3BhX2F1dGguYyAgICB8IDExICsrKysrKysrKysrCi0gc3JjL2FwL3dwYV9hdXRoLmggICAgfCAgMyArKy0KLSBzcmMvYXAvd3BhX2F1dGhfZnQuYyB8IDEwICsrKysrKysrKysKLSBzcmMvYXAvd3BhX2F1dGhfaS5oICB8ICAxICsKLSA1IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYXAvaWVlZTgwMl8xMS5jIGIvc3JjL2FwL2llZWU4MDJfMTEuYwotaW5kZXggNGUwNDE2OS4uMzMzMDM1ZiAxMDA2NDQKLS0tLSBhL3NyYy9hcC9pZWVlODAyXzExLmMKLSsrKyBiL3NyYy9hcC9pZWVlODAyXzExLmMKLUBAIC0xODQxLDYgKzE4NDEsNyBAQCBzdGF0aWMgaW50IGFkZF9hc3NvY2lhdGVkX3N0YShzdHJ1Y3QgaG9zdGFwZF9kYXRhICpoYXBkLAotIHsKLSAJc3RydWN0IGllZWU4MDIxMV9odF9jYXBhYmlsaXRpZXMgaHRfY2FwOwotIAlzdHJ1Y3QgaWVlZTgwMjExX3ZodF9jYXBhYmlsaXRpZXMgdmh0X2NhcDsKLSsJaW50IHNldCA9IDE7Ci0gCi0gCS8qCi0gCSAqIFJlbW92ZSB0aGUgU1RBIGVudHJ5IHRvIGVuc3VyZSB0aGUgU1RBIFBTIHN0YXRlIGdldHMgY2xlYXJlZCBhbmQKLUBAIC0xODQ4LDkgKzE4NDksMTggQEAgc3RhdGljIGludCBhZGRfYXNzb2NpYXRlZF9zdGEoc3RydWN0IGhvc3RhcGRfZGF0YSAqaGFwZCwKLSAJICogRlQtb3Zlci10aGUtRFMsIHdoZXJlIGEgc3RhdGlvbiByZS1hc3NvY2lhdGVzIGJhY2sgdG8gdGhlIHNhbWUgQVAgYnV0Ci0gCSAqIHNraXBzIHRoZSBhdXRoZW50aWNhdGlvbiBmbG93LCBvciBpZiB3b3JraW5nIHdpdGggYSBkcml2ZXIgdGhhdAotIAkgKiBkb2VzIG5vdCBzdXBwb3J0IGZ1bGwgQVAgY2xpZW50IHN0YXRlLgotKwkgKgotKwkgKiBTa2lwIHRoaXMgaWYgdGhlIFNUQSBoYXMgYWxyZWFkeSBjb21wbGV0ZWQgRlQgcmVhc3NvY2lhdGlvbiBhbmQgdGhlCi0rCSAqIFRLIGhhcyBiZWVuIGNvbmZpZ3VyZWQgc2luY2UgdGhlIFRYL1JYIFBOIG11c3Qgbm90IGJlIHJlc2V0IHRvIDAgZm9yCi0rCSAqIHRoZSBzYW1lIGtleS4KLSAJICovCi0tCWlmICghc3RhLT5hZGRlZF91bmFzc29jKQotKwlpZiAoIXN0YS0+YWRkZWRfdW5hc3NvYyAmJgotKwkgICAgKCEoc3RhLT5mbGFncyAmIFdMQU5fU1RBX0FVVEhPUklaRUQpIHx8Ci0rCSAgICAgIXdwYV9hdXRoX3N0YV9mdF90a19hbHJlYWR5X3NldChzdGEtPndwYV9zbSkpKSB7Ci0gCQlob3N0YXBkX2Rydl9zdGFfcmVtb3ZlKGhhcGQsIHN0YS0+YWRkcik7Ci0rCQl3cGFfYXV0aF9zbV9ldmVudChzdGEtPndwYV9zbSwgV1BBX0RSVl9TVEFfUkVNT1ZFRCk7Ci0rCQlzZXQgPSAwOwotKwl9Ci0gCi0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFOCi0gCWlmIChzdGEtPmZsYWdzICYgV0xBTl9TVEFfSFQpCi1AQCAtMTg3MywxMSArMTg4MywxMSBAQCBzdGF0aWMgaW50IGFkZF9hc3NvY2lhdGVkX3N0YShzdHJ1Y3QgaG9zdGFwZF9kYXRhICpoYXBkLAotIAkJCSAgICBzdGEtPmZsYWdzICYgV0xBTl9TVEFfVkhUID8gJnZodF9jYXAgOiBOVUxMLAotIAkJCSAgICBzdGEtPmZsYWdzIHwgV0xBTl9TVEFfQVNTT0MsIHN0YS0+cW9zaW5mbywKLSAJCQkgICAgc3RhLT52aHRfb3Btb2RlLCBzdGEtPnAycF9pZSA/IDEgOiAwLAotLQkJCSAgICBzdGEtPmFkZGVkX3VuYXNzb2MpKSB7Ci0rCQkJICAgIHNldCkpIHsKLSAJCWhvc3RhcGRfbG9nZ2VyKGhhcGQsIHN0YS0+YWRkciwKLSAJCQkgICAgICAgSE9TVEFQRF9NT0RVTEVfSUVFRTgwMjExLCBIT1NUQVBEX0xFVkVMX05PVElDRSwKLSAJCQkgICAgICAgIkNvdWxkIG5vdCAlcyBTVEEgdG8ga2VybmVsIGRyaXZlciIsCi0tCQkJICAgICAgIHN0YS0+YWRkZWRfdW5hc3NvYyA/ICJzZXQiIDogImFkZCIpOwotKwkJCSAgICAgICBzZXQgPyAic2V0IiA6ICJhZGQiKTsKLSAKLSAJCWlmIChzdGEtPmFkZGVkX3VuYXNzb2MpIHsKLSAJCQlob3N0YXBkX2Rydl9zdGFfcmVtb3ZlKGhhcGQsIHN0YS0+YWRkcik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoLmMgYi9zcmMvYXAvd3BhX2F1dGguYwotaW5kZXggMzU4NzA4Ni4uNzA3OTcxZCAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGguYwotQEAgLTE3NDUsNiArMTc0NSw5IEBAIGludCB3cGFfYXV0aF9zbV9ldmVudChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLCBlbnVtIHdwYV9ldmVudCBldmVudCkKLSAjZWxzZSAvKiBDT05GSUdfSUVFRTgwMjExUiAqLwotIAkJYnJlYWs7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFSICovCi0rCWNhc2UgV1BBX0RSVl9TVEFfUkVNT1ZFRDoKLSsJCXNtLT50a19hbHJlYWR5X3NldCA9IEZBTFNFOwotKwkJcmV0dXJuIDA7Ci0gCX0KLSAKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLUBAIC0zMjUwLDYgKzMyNTMsMTQgQEAgaW50IHdwYV9hdXRoX3N0YV93cGFfdmVyc2lvbihzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotIH0KLSAKLSAKLStpbnQgd3BhX2F1dGhfc3RhX2Z0X3RrX2FscmVhZHlfc2V0KHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pCi0rewotKwlpZiAoIXNtIHx8ICF3cGFfa2V5X21nbXRfZnQoc20tPndwYV9rZXlfbWdtdCkpCi0rCQlyZXR1cm4gMDsKLSsJcmV0dXJuIHNtLT50a19hbHJlYWR5X3NldDsKLSt9Ci0rCi0rCi0gaW50IHdwYV9hdXRoX3N0YV9jbGVhcl9wbWtzYShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLAotIAkJCSAgICAgc3RydWN0IHJzbl9wbWtzYV9jYWNoZV9lbnRyeSAqZW50cnkpCi0gewotZGlmZiAtLWdpdCBhL3NyYy9hcC93cGFfYXV0aC5oIGIvc3JjL2FwL3dwYV9hdXRoLmgKLWluZGV4IDBkZThkOTcuLjk3NDYxYjAgMTAwNjQ0Ci0tLS0gYS9zcmMvYXAvd3BhX2F1dGguaAotKysrIGIvc3JjL2FwL3dwYV9hdXRoLmgKLUBAIC0yNjcsNyArMjY3LDcgQEAgdm9pZCB3cGFfcmVjZWl2ZShzdHJ1Y3Qgd3BhX2F1dGhlbnRpY2F0b3IgKndwYV9hdXRoLAotIAkJIHU4ICpkYXRhLCBzaXplX3QgZGF0YV9sZW4pOwotIGVudW0gd3BhX2V2ZW50IHsKLSAJV1BBX0FVVEgsIFdQQV9BU1NPQywgV1BBX0RJU0FTU09DLCBXUEFfREVBVVRILCBXUEFfUkVBVVRILAotLQlXUEFfUkVBVVRIX0VBUE9MLCBXUEFfQVNTT0NfRlQKLSsJV1BBX1JFQVVUSF9FQVBPTCwgV1BBX0FTU09DX0ZULCBXUEFfRFJWX1NUQV9SRU1PVkVECi0gfTsKLSB2b2lkIHdwYV9yZW1vdmVfcHRrKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotIGludCB3cGFfYXV0aF9zbV9ldmVudChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtLCBlbnVtIHdwYV9ldmVudCBldmVudCk7Ci1AQCAtMjgwLDYgKzI4MCw3IEBAIGludCB3cGFfYXV0aF9wYWlyd2lzZV9zZXQoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0gaW50IHdwYV9hdXRoX2dldF9wYWlyd2lzZShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc3RhX2tleV9tZ210KHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pOwotIGludCB3cGFfYXV0aF9zdGFfd3BhX3ZlcnNpb24oc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSk7Ci0raW50IHdwYV9hdXRoX3N0YV9mdF90a19hbHJlYWR5X3NldChzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKTsKLSBpbnQgd3BhX2F1dGhfc3RhX2NsZWFyX3Bta3NhKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20sCi0gCQkJICAgICBzdHJ1Y3QgcnNuX3Bta3NhX2NhY2hlX2VudHJ5ICplbnRyeSk7Ci0gc3RydWN0IHJzbl9wbWtzYV9jYWNoZV9lbnRyeSAqCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoX2Z0LmMgYi9zcmMvYXAvd3BhX2F1dGhfZnQuYwotaW5kZXggNDIyNDJhNS4uZTYzYjk5YSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aF9mdC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGhfZnQuYwotQEAgLTc4MCw2ICs3ODAsMTQgQEAgdm9pZCB3cGFfZnRfaW5zdGFsbF9wdGsoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSkKLSAJCXJldHVybjsKLSAJfQotIAotKwlpZiAoc20tPnRrX2FscmVhZHlfc2V0KSB7Ci0rCQkvKiBNdXN0IGF2b2lkIFRLIHJlY29uZmlndXJhdGlvbiB0byBwcmV2ZW50IGNsZWFyaW5nIG9mIFRYL1JYCi0rCQkgKiBQTiBpbiB0aGUgZHJpdmVyICovCi0rCQl3cGFfcHJpbnRmKE1TR19ERUJVRywKLSsJCQkgICAiRlQ6IERvIG5vdCByZS1pbnN0YWxsIHNhbWUgUFRLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCXJldHVybjsKLSsJfQotKwotIAkvKiBGSVg6IGFkZCBTVEEgZW50cnkgdG8ga2VybmVsL2RyaXZlciBoZXJlPyBUaGUgc2V0X2tleSB3aWxsIGZhaWwKLSAJICogbW9zdCBsaWtlbHkgd2l0aG91dCB0aGlzLi4gQXQgdGhlIG1vbWVudCwgU1RBIGVudHJ5IGlzIGFkZGVkIG9ubHkKLSAJICogYWZ0ZXIgYXNzb2NpYXRpb24gaGFzIGJlZW4gY29tcGxldGVkLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCi1AQCAtNzkyLDYgKzgwMCw3IEBAIHZvaWQgd3BhX2Z0X2luc3RhbGxfcHRrKHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSAqc20pCi0gCi0gCS8qIEZJWDogTUxNRS1TZXRQcm90ZWN0aW9uLlJlcXVlc3QoVEEsIFR4X1J4KSAqLwotIAlzbS0+cGFpcndpc2Vfc2V0ID0gVFJVRTsKLSsJc20tPnRrX2FscmVhZHlfc2V0ID0gVFJVRTsKLSB9Ci0gCi0gCi1AQCAtODk4LDYgKzkwNyw3IEBAIHN0YXRpYyBpbnQgd3BhX2Z0X3Byb2Nlc3NfYXV0aF9yZXEoc3RydWN0IHdwYV9zdGF0ZV9tYWNoaW5lICpzbSwKLSAKLSAJc20tPnBhaXJ3aXNlID0gcGFpcndpc2U7Ci0gCXNtLT5QVEtfdmFsaWQgPSBUUlVFOwotKwlzbS0+dGtfYWxyZWFkeV9zZXQgPSBGQUxTRTsKLSAJd3BhX2Z0X2luc3RhbGxfcHRrKHNtKTsKLSAKLSAJYnVmbGVuID0gMiArIHNpemVvZihzdHJ1Y3QgcnNuX21kaWUpICsgMiArIHNpemVvZihzdHJ1Y3QgcnNuX2Z0aWUpICsKLWRpZmYgLS1naXQgYS9zcmMvYXAvd3BhX2F1dGhfaS5oIGIvc3JjL2FwL3dwYV9hdXRoX2kuaAotaW5kZXggNzJiN2ViMy4uN2ZkOGYwNSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aF9pLmgKLSsrKyBiL3NyYy9hcC93cGFfYXV0aF9pLmgKLUBAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCB3cGFfc3RhdGVfbWFjaGluZSB7Ci0gCXN0cnVjdCB3cGFfcHRrIFBUSzsKLSAJQm9vbGVhbiBQVEtfdmFsaWQ7Ci0gCUJvb2xlYW4gcGFpcndpc2Vfc2V0OwotKwlCb29sZWFuIHRrX2FscmVhZHlfc2V0OwotIAlpbnQga2V5Y291bnQ7Ci0gCUJvb2xlYW4gUGFpcjsKLSAJc3RydWN0IHdwYV9rZXlfcmVwbGF5X2NvdW50ZXIgewotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDFiYjRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNjcgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDkyN2Y4OTEwMDdjNDAyZmVmZDFmZjM4NDY0NWIzZjA3NTk3YzNlZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotRGF0ZTogV2VkLCAxMiBKdWwgMjAxNyAxNjowMzoyNCArMDIwMAotU3ViamVjdDogW1BBVENIIDIvOF0gUHJldmVudCByZWluc3RhbGxhdGlvbiBvZiBhbiBhbHJlYWR5IGluLXVzZSBncm91cCBrZXkKLQotVHJhY2sgdGhlIGN1cnJlbnQgR1RLIGFuZCBJR1RLIHRoYXQgaXMgaW4gdXNlIGFuZCB3aGVuIHJlY2VpdmluZyBhCi0ocG9zc2libHkgcmV0cmFuc21pdHRlZCkgR3JvdXAgTWVzc2FnZSAxIG9yIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlLCBkbwotbm90IGluc3RhbGwgdGhlIGdpdmVuIGtleSBpZiBpdCBpcyBhbHJlYWR5IGluIHVzZS4gVGhpcyBwcmV2ZW50cyBhbgotYXR0YWNrZXIgZnJvbSB0cnlpbmcgdG8gdHJpY2sgdGhlIGNsaWVudCBpbnRvIHJlc2V0dGluZyBvciBsb3dlcmluZyB0aGUKLXNlcXVlbmNlIGNvdW50ZXIgYXNzb2NpYXRlZCB0byB0aGUgZ3JvdXAga2V5LgotCi1TaWduZWQtb2ZmLWJ5OiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotLS0tCi0gc3JjL2NvbW1vbi93cGFfY29tbW9uLmggfCAgMTEgKysrKysKLSBzcmMvcnNuX3N1cHAvd3BhLmMgICAgICB8IDExNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvcnNuX3N1cHAvd3BhX2kuaCAgICB8ICAgNCArKwotIDMgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKSwgNDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY29tbW9uL3dwYV9jb21tb24uaCBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1pbmRleCBhZjFkMGYwLi5kMjAwMjg1IDEwMDY0NAotLS0tIGEvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLSsrKyBiL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oCi1AQCAtMjE3LDYgKzIxNywxNyBAQCBzdHJ1Y3Qgd3BhX3B0ayB7Ci0gCXNpemVfdCB0a19sZW47Ci0gfTsKLSAKLStzdHJ1Y3Qgd3BhX2d0ayB7Ci0rCXU4IGd0a1tXUEFfR1RLX01BWF9MRU5dOwotKwlzaXplX3QgZ3RrX2xlbjsKLSt9OwotKwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotK3N0cnVjdCB3cGFfaWd0ayB7Ci0rCXU4IGlndGtbV1BBX0lHVEtfTUFYX0xFTl07Ci0rCXNpemVfdCBpZ3RrX2xlbjsKLSt9OwotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAotIC8qIFdQQSBJRSB2ZXJzaW9uIDEKLSAgKiAwMC01MC1mMjoxIChPVUk6T1VJIHR5cGUpCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCAzYzQ3ODc5Li45NWJkN2JlIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC03MTQsNiArNzE0LDE1IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCWNvbnN0IHU4ICpfZ3RrID0gZ2QtPmd0azsKLSAJdTggZ3RrX2J1ZlszMl07Ci0gCi0rCS8qIERldGVjdCBwb3NzaWJsZSBrZXkgcmVpbnN0YWxsYXRpb24gKi8KLSsJaWYgKHNtLT5ndGsuZ3RrX2xlbiA9PSAoc2l6ZV90KSBnZC0+Z3RrX2xlbiAmJgotKwkgICAgb3NfbWVtY21wKHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pID09IDApIHsKLSsJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotKwkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCB0eD0lZCBsZW49JWQpIiwKLSsJCQlnZC0+a2V5aWR4LCBnZC0+dHgsIGdkLT5ndGtfbGVuKTsKLSsJCXJldHVybiAwOwotKwl9Ci0rCi0gCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJXUEE6IEdyb3VwIEtleSIsIGdkLT5ndGssIGdkLT5ndGtfbGVuKTsKLSAJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkiV1BBOiBJbnN0YWxsaW5nIEdUSyB0byB0aGUgZHJpdmVyIChrZXlpZHg9JWQgdHg9JWQgbGVuPSVkKSIsCi1AQCAtNzQ4LDYgKzc1Nyw5IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCX0KLSAJb3NfbWVtc2V0KGd0a19idWYsIDAsIHNpemVvZihndGtfYnVmKSk7Ci0gCi0rCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotKwlvc19tZW1jcHkoc20tPmd0ay5ndGssIGdkLT5ndGssIHNtLT5ndGsuZ3RrX2xlbik7Ci0rCi0gCXJldHVybiAwOwotIH0KLSAKLUBAIC04NTQsNiArODY2LDQ4IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfcGFpcndpc2VfZ3RrKHN0cnVjdCB3cGFfc20gKnNtLAotIH0KLSAKLSAKLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLStzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSsJCQkJICAgICAgIGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGspCi0rewotKwlzaXplX3QgbGVuID0gd3BhX2NpcGhlcl9rZXlfbGVuKHNtLT5tZ210X2dyb3VwX2NpcGhlcik7Ci0rCXUxNiBrZXlpZHggPSBXUEFfR0VUX0xFMTYoaWd0ay0+a2V5aWQpOwotKwotKwkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0rCWlmIChzbS0+aWd0ay5pZ3RrX2xlbiA9PSBsZW4gJiYKLSsJICAgIG9zX21lbWNtcChzbS0+aWd0ay5pZ3RrLCBpZ3RrLT5pZ3RrLCBzbS0+aWd0ay5pZ3RrX2xlbikgPT0gMCkgewotKwkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0rCQkJIldQQTogTm90IHJlaW5zdGFsbGluZyBhbHJlYWR5IGluLXVzZSBJR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCkiLAotKwkJCWtleWlkeCk7Ci0rCQlyZXR1cm4gIDA7Ci0rCX0KLSsKLSsJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0rCQkiV1BBOiBJR1RLIGtleWlkICVkIHBuICUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCi0rCQlrZXlpZHgsIE1BQzJTVFIoaWd0ay0+cG4pKTsKLSsJd3BhX2hleGR1bXBfa2V5KE1TR19ERUJVRywgIldQQTogSUdUSyIsIGlndGstPmlndGssIGxlbik7Ci0rCWlmIChrZXlpZHggPiA0MDk1KSB7Ci0rCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotKwkJCSJXUEE6IEludmFsaWQgSUdUSyBLZXlJRCAlZCIsIGtleWlkeCk7Ci0rCQlyZXR1cm4gLTE7Ci0rCX0KLSsJaWYgKHdwYV9zbV9zZXRfa2V5KHNtLCB3cGFfY2lwaGVyX3RvX2FsZyhzbS0+bWdtdF9ncm91cF9jaXBoZXIpLAotKwkJCSAgIGJyb2FkY2FzdF9ldGhlcl9hZGRyLAotKwkJCSAgIGtleWlkeCwgMCwgaWd0ay0+cG4sIHNpemVvZihpZ3RrLT5wbiksCi0rCQkJICAgaWd0ay0+aWd0aywgbGVuKSA8IDApIHsKLSsJCXdwYV9tc2coc20tPmN0eC0+bXNnX2N0eCwgTVNHX1dBUk5JTkcsCi0rCQkJIldQQTogRmFpbGVkIHRvIGNvbmZpZ3VyZSBJR1RLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCXJldHVybiAtMTsKLSsJfQotKwotKwlzbS0+aWd0ay5pZ3RrX2xlbiA9IGxlbjsKLSsJb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsKLSsJcmV0dXJuIDA7Ci0rfQotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotKwotKwotIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCQkgICAgICAgc3RydWN0IHdwYV9lYXBvbF9pZV9wYXJzZSAqaWUpCi0gewotQEAgLTg2NCwzMCArOTE4LDE0IEBAIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJaWYgKGllLT5pZ3RrKSB7Ci0gCQlzaXplX3QgbGVuOwotIAkJY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0azsKLS0JCXUxNiBrZXlpZHg7Ci0rCi0gCQlsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLSAJCWlmIChpZS0+aWd0a19sZW4gIT0gV1BBX0lHVEtfS0RFX1BSRUZJWF9MRU4gKyBsZW4pCi0gCQkJcmV0dXJuIC0xOwotKwotIAkJaWd0ayA9IChjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICopIGllLT5pZ3RrOwotLQkJa2V5aWR4ID0gV1BBX0dFVF9MRTE2KGlndGstPmtleWlkKTsKLS0JCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLCAiV1BBOiBJR1RLIGtleWlkICVkICIKLS0JCQkicG4gJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKLS0JCQlrZXlpZHgsIE1BQzJTVFIoaWd0ay0+cG4pKTsKLS0JCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJXUEE6IElHVEsiLAotLQkJCQlpZ3RrLT5pZ3RrLCBsZW4pOwotLQkJaWYgKGtleWlkeCA+IDQwOTUpIHsKLS0JCQl3cGFfbXNnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19XQVJOSU5HLAotLQkJCQkiV1BBOiBJbnZhbGlkIElHVEsgS2V5SUQgJWQiLCBrZXlpZHgpOwotLQkJCXJldHVybiAtMTsKLS0JCX0KLS0JCWlmICh3cGFfc21fc2V0X2tleShzbSwgd3BhX2NpcGhlcl90b19hbGcoc20tPm1nbXRfZ3JvdXBfY2lwaGVyKSwKLS0JCQkJICAgYnJvYWRjYXN0X2V0aGVyX2FkZHIsCi0tCQkJCSAgIGtleWlkeCwgMCwgaWd0ay0+cG4sIHNpemVvZihpZ3RrLT5wbiksCi0tCQkJCSAgIGlndGstPmlndGssIGxlbikgPCAwKSB7Ci0tCQkJd3BhX21zZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfV0FSTklORywKLS0JCQkJIldQQTogRmFpbGVkIHRvIGNvbmZpZ3VyZSBJR1RLIHRvIHRoZSBkcml2ZXIiKTsKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGspIDwgMCkKLSAJCQlyZXR1cm4gLTE7Ci0tCQl9Ci0gCX0KLSAKLSAJcmV0dXJuIDA7Ci1AQCAtMjMwNyw3ICsyMzQ1LDcgQEAgdm9pZCB3cGFfc21fZGVpbml0KHN0cnVjdCB3cGFfc20gKnNtKQotICAqLwotIHZvaWQgd3BhX3NtX25vdGlmeV9hc3NvYyhzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKmJzc2lkKQotIHsKLS0JaW50IGNsZWFyX3B0ayA9IDE7Ci0rCWludCBjbGVhcl9rZXlzID0gMTsKLSAKLSAJaWYgKHNtID09IE5VTEwpCi0gCQlyZXR1cm47Ci1AQCAtMjMzMywxMSArMjM3MSwxMSBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfYXNzb2Moc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpic3NpZCkKLSAJCS8qIFByZXBhcmUgZm9yIHRoZSBuZXh0IHRyYW5zaXRpb24gKi8KLSAJCXdwYV9mdF9wcmVwYXJlX2F1dGhfcmVxdWVzdChzbSwgTlVMTCk7Ci0gCi0tCQljbGVhcl9wdGsgPSAwOwotKwkJY2xlYXJfa2V5cyA9IDA7Ci0gCX0KLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVIgKi8KLSAKLS0JaWYgKGNsZWFyX3B0aykgewotKwlpZiAoY2xlYXJfa2V5cykgewotIAkJLyoKLSAJCSAqIElFRUUgODAyLjExLCA4LjQuMTA6IERlbGV0ZSBQVEsgU0Egb24gKHJlKWFzc29jaWF0aW9uIGlmCi0gCQkgKiB0aGlzIGlzIG5vdCBwYXJ0IG9mIGEgRmFzdCBCU1MgVHJhbnNpdGlvbi4KLUBAIC0yMzQ3LDYgKzIzODUsMTAgQEAgdm9pZCB3cGFfc21fbm90aWZ5X2Fzc29jKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqYnNzaWQpCi0gCQlvc19tZW1zZXQoJnNtLT5wdGssIDAsIHNpemVvZihzbS0+cHRrKSk7Ci0gCQlzbS0+dHB0a19zZXQgPSAwOwotIAkJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0rCQlvc19tZW1zZXQoJnNtLT5ndGssIDAsIHNpemVvZihzbS0+Z3RrKSk7Ci0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0rCQlvc19tZW1zZXQoJnNtLT5pZ3RrLCAwLCBzaXplb2Yoc20tPmlndGspKTsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAJfQotIAotICNpZmRlZiBDT05GSUdfVERMUwotQEAgLTI4NzcsNiArMjkxOSwxMCBAQCB2b2lkIHdwYV9zbV9kcm9wX3NhKHN0cnVjdCB3cGFfc20gKnNtKQotIAlvc19tZW1zZXQoc20tPnBtaywgMCwgc2l6ZW9mKHNtLT5wbWspKTsKLSAJb3NfbWVtc2V0KCZzbS0+cHRrLCAwLCBzaXplb2Yoc20tPnB0aykpOwotIAlvc19tZW1zZXQoJnNtLT50cHRrLCAwLCBzaXplb2Yoc20tPnRwdGspKTsKLSsJb3NfbWVtc2V0KCZzbS0+Z3RrLCAwLCBzaXplb2Yoc20tPmd0aykpOwotKyNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotKwlvc19tZW1zZXQoJnNtLT5pZ3RrLCAwLCBzaXplb2Yoc20tPmlndGspKTsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLSAJb3NfbWVtc2V0KHNtLT54eGtleSwgMCwgc2l6ZW9mKHNtLT54eGtleSkpOwotIAlvc19tZW1zZXQoc20tPnBta19yMCwgMCwgc2l6ZW9mKHNtLT5wbWtfcjApKTsKLUBAIC0yOTQ5LDI5ICsyOTk1LDExIEBAIGludCB3cGFfd25tc2xlZXBfaW5zdGFsbF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHU4IHN1YmVsZW1faWQsIHU4ICpidWYpCi0gCQlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSAJfSBlbHNlIGlmIChzdWJlbGVtX2lkID09IFdOTV9TTEVFUF9TVUJFTEVNX0lHVEspIHsKLS0JCXN0cnVjdCB3cGFfaWd0a19rZGUgaWdkOwotLQkJdTE2IGtleWlkeDsKLS0KLS0JCW9zX21lbXNldCgmaWdkLCAwLCBzaXplb2YoaWdkKSk7Ci0tCQlrZXlsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLS0JCW9zX21lbWNweShpZ2Qua2V5aWQsIGJ1ZiArIDIsIDIpOwotLQkJb3NfbWVtY3B5KGlnZC5wbiwgYnVmICsgNCwgNik7Ci0tCi0tCQlrZXlpZHggPSBXUEFfR0VUX0xFMTYoaWdkLmtleWlkKTsKLS0JCW9zX21lbWNweShpZ2QuaWd0aywgYnVmICsgMTAsIGtleWxlbik7Ci0tCi0tCQl3cGFfaGV4ZHVtcF9rZXkoTVNHX0RFQlVHLCAiSW5zdGFsbCBJR1RLIChXTk0gU0xFRVApIiwKLS0JCQkJaWdkLmlndGssIGtleWxlbik7Ci0tCQlpZiAod3BhX3NtX3NldF9rZXkoc20sIHdwYV9jaXBoZXJfdG9fYWxnKHNtLT5tZ210X2dyb3VwX2NpcGhlciksCi0tCQkJCSAgIGJyb2FkY2FzdF9ldGhlcl9hZGRyLAotLQkJCQkgICBrZXlpZHgsIDAsIGlnZC5wbiwgc2l6ZW9mKGlnZC5wbiksCi0tCQkJCSAgIGlnZC5pZ3RrLCBrZXlsZW4pIDwgMCkgewotLQkJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRmFpbGVkIHRvIGluc3RhbGwgdGhlIElHVEsgaW4gIgotLQkJCQkgICAiV05NIG1vZGUiKTsKLS0JCQlvc19tZW1zZXQoJmlnZCwgMCwgc2l6ZW9mKGlnZCkpOwotKwkJY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqaWd0azsKLSsKLSsJCWlndGsgPSAoY29uc3Qgc3RydWN0IHdwYV9pZ3RrX2tkZSAqKSAoYnVmICsgMik7Ci0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotLQkJfQotLQkJb3NfbWVtc2V0KCZpZ2QsIDAsIHNpemVvZihpZ2QpKTsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAJfSBlbHNlIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiVW5rbm93biBlbGVtZW50IGlkIik7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggZjY1M2JhNi4uYWZjOWUzNyAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTMxLDYgKzMxLDEwIEBAIHN0cnVjdCB3cGFfc20gewotIAl1OCByeF9yZXBsYXlfY291bnRlcltXUEFfUkVQTEFZX0NPVU5URVJfTEVOXTsKLSAJaW50IHJ4X3JlcGxheV9jb3VudGVyX3NldDsKLSAJdTggcmVxdWVzdF9jb3VudGVyW1dQQV9SRVBMQVlfQ09VTlRFUl9MRU5dOwotKwlzdHJ1Y3Qgd3BhX2d0ayBndGs7Ci0rI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0rCXN0cnVjdCB3cGFfaWd0ayBpZ3RrOwotKyNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAotIAlzdHJ1Y3QgZWFwb2xfc20gKmVhcG9sOyAvKiBFQVBPTCBzdGF0ZSBtYWNoaW5lIGZyb20gdXBwZXIgbGV2ZWwgY29kZSAqLwotIAotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZTIyNjU1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDEgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDgyODAyOTRlNzQ4NDZlYTM0MjM4OWEwY2QxNzIxNTA1MGZhNWFmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotRGF0ZTogU3VuLCAxIE9jdCAyMDE3IDEyOjEyOjI0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy84XSBFeHRlbmQgcHJvdGVjdGlvbiBvZiBHVEsvSUdUSyByZWluc3RhbGxhdGlvbiBvZiBXTk0tU2xlZXAKLSBNb2RlIGNhc2VzCi0KLVRoaXMgZXh0ZW5kcyB0aGUgcHJvdGVjdGlvbiB0byB0cmFjayBsYXN0IGNvbmZpZ3VyZWQgR1RLL0lHVEsgdmFsdWUKLXNlcGFyYXRlbHkgZnJvbSBFQVBPTC1LZXkgZnJhbWVzIGFuZCBXTk0tU2xlZXAgTW9kZSBmcmFtZXMgdG8gY292ZXIgYQotY29ybmVyIGNhc2Ugd2hlcmUgdGhlc2UgdHdvIGRpZmZlcmVudCBtZWNoYW5pc21zIG1heSBnZXQgdXNlZCB3aGVuIHRoZQotR1RLL0lHVEsgaGFzIGNoYW5nZWQgYW5kIHRyYWNraW5nIGEgc2luZ2xlIHZhbHVlIGlzIG5vdCBzdWZmaWNpZW50IHRvCi1kZXRlY3QgYSBwb3NzaWJsZSBrZXkgcmVjb25maWd1cmF0aW9uLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYS5jICAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYV9pLmggfCAgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhLmMgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLWluZGV4IDk1YmQ3YmUuLjdhMmM2OGQgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhLmMKLSsrKyBiL3NyYy9yc25fc3VwcC93cGEuYwotQEAgLTcwOSwxNCArNzA5LDE3IEBAIHN0cnVjdCB3cGFfZ3RrX2RhdGEgewotIAotIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB3cGFfZ3RrX2RhdGEgKmdkLAotLQkJCQkgICAgICBjb25zdCB1OCAqa2V5X3JzYykKLSsJCQkJICAgICAgY29uc3QgdTggKmtleV9yc2MsIGludCB3bm1fc2xlZXApCi0gewotIAljb25zdCB1OCAqX2d0ayA9IGdkLT5ndGs7Ci0gCXU4IGd0a19idWZbMzJdOwotIAotIAkvKiBEZXRlY3QgcG9zc2libGUga2V5IHJlaW5zdGFsbGF0aW9uICovCi0tCWlmIChzbS0+Z3RrLmd0a19sZW4gPT0gKHNpemVfdCkgZ2QtPmd0a19sZW4gJiYKLS0JICAgIG9zX21lbWNtcChzbS0+Z3RrLmd0aywgZ2QtPmd0aywgc20tPmd0ay5ndGtfbGVuKSA9PSAwKSB7Ci0rCWlmICgoc20tPmd0ay5ndGtfbGVuID09IChzaXplX3QpIGdkLT5ndGtfbGVuICYmCi0rCSAgICAgb3NfbWVtY21wKHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pID09IDApIHx8Ci0rCSAgICAoc20tPmd0a193bm1fc2xlZXAuZ3RrX2xlbiA9PSAoc2l6ZV90KSBnZC0+Z3RrX2xlbiAmJgotKwkgICAgIG9zX21lbWNtcChzbS0+Z3RrX3dubV9zbGVlcC5ndGssIGdkLT5ndGssCi0rCQkgICAgICAgc20tPmd0a193bm1fc2xlZXAuZ3RrX2xlbikgPT0gMCkpIHsKLSAJCXdwYV9kYmcoc20tPmN0eC0+bXNnX2N0eCwgTVNHX0RFQlVHLAotIAkJCSJXUEE6IE5vdCByZWluc3RhbGxpbmcgYWxyZWFkeSBpbi11c2UgR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCB0eD0lZCBsZW49JWQpIiwKLSAJCQlnZC0+a2V5aWR4LCBnZC0+dHgsIGdkLT5ndGtfbGVuKTsKLUBAIC03NTcsOCArNzYwLDE0IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCX0KLSAJb3NfbWVtc2V0KGd0a19idWYsIDAsIHNpemVvZihndGtfYnVmKSk7Ci0gCi0tCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotLQlvc19tZW1jcHkoc20tPmd0ay5ndGssIGdkLT5ndGssIHNtLT5ndGsuZ3RrX2xlbik7Ci0rCWlmICh3bm1fc2xlZXApIHsKLSsJCXNtLT5ndGtfd25tX3NsZWVwLmd0a19sZW4gPSBnZC0+Z3RrX2xlbjsKLSsJCW9zX21lbWNweShzbS0+Z3RrX3dubV9zbGVlcC5ndGssIGdkLT5ndGssCi0rCQkJICBzbS0+Z3RrX3dubV9zbGVlcC5ndGtfbGVuKTsKLSsJfSBlbHNlIHsKLSsJCXNtLT5ndGsuZ3RrX2xlbiA9IGdkLT5ndGtfbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5ndGsuZ3RrLCBnZC0+Z3RrLCBzbS0+Z3RrLmd0a19sZW4pOwotKwl9Ci0gCi0gCXJldHVybiAwOwotIH0KLUBAIC04NTIsNyArODYxLDcgQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9wYWlyd2lzZV9ndGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCSAgICAod3BhX3N1cHBsaWNhbnRfY2hlY2tfZ3JvdXBfY2lwaGVyKHNtLCBzbS0+Z3JvdXBfY2lwaGVyLAotIAkJCQkJICAgICAgIGd0a19sZW4sIGd0a19sZW4sCi0gCQkJCQkgICAgICAgJmdkLmtleV9yc2NfbGVuLCAmZ2QuYWxnKSB8fAotLQkgICAgIHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MpKSkgewotKwkgICAgIHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MsIDApKSkgewotIAkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkJIlJTTjogRmFpbGVkIHRvIGluc3RhbGwgR1RLIik7Ci0gCQlvc19tZW1zZXQoJmdkLCAwLCBzaXplb2YoZ2QpKTsKLUBAIC04NjgsMTQgKzg3NywxOCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X3BhaXJ3aXNlX2d0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLS0JCQkJICAgICAgIGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKmlndGspCi0rCQkJCSAgICAgICBjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrLAotKwkJCQkgICAgICAgaW50IHdubV9zbGVlcCkKLSB7Ci0gCXNpemVfdCBsZW4gPSB3cGFfY2lwaGVyX2tleV9sZW4oc20tPm1nbXRfZ3JvdXBfY2lwaGVyKTsKLSAJdTE2IGtleWlkeCA9IFdQQV9HRVRfTEUxNihpZ3RrLT5rZXlpZCk7Ci0gCi0gCS8qIERldGVjdCBwb3NzaWJsZSBrZXkgcmVpbnN0YWxsYXRpb24gKi8KLS0JaWYgKHNtLT5pZ3RrLmlndGtfbGVuID09IGxlbiAmJgotLQkgICAgb3NfbWVtY21wKHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKSA9PSAwKSB7Ci0rCWlmICgoc20tPmlndGsuaWd0a19sZW4gPT0gbGVuICYmCi0rCSAgICAgb3NfbWVtY21wKHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKSA9PSAwKSB8fAotKwkgICAgKHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrX2xlbiA9PSBsZW4gJiYKLSsJICAgICBvc19tZW1jbXAoc20tPmlndGtfd25tX3NsZWVwLmlndGssIGlndGstPmlndGssCi0rCQkgICAgICAgc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuKSA9PSAwKSkgewotIAkJd3BhX2RiZyhzbS0+Y3R4LT5tc2dfY3R4LCBNU0dfREVCVUcsCi0gCQkJIldQQTogTm90IHJlaW5zdGFsbGluZyBhbHJlYWR5IGluLXVzZSBJR1RLIHRvIHRoZSBkcml2ZXIgKGtleWlkeD0lZCkiLAotIAkJCWtleWlkeCk7Ci1AQCAtOTAwLDggKzkxMywxNCBAQCBzdGF0aWMgaW50IHdwYV9zdXBwbGljYW50X2luc3RhbGxfaWd0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCXJldHVybiAtMTsKLSAJfQotIAotLQlzbS0+aWd0ay5pZ3RrX2xlbiA9IGxlbjsKLS0Jb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsJaWYgKHdubV9zbGVlcCkgewotKwkJc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuID0gbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5pZ3RrX3dubV9zbGVlcC5pZ3RrLCBpZ3RrLT5pZ3RrLAotKwkJCSAgc20tPmlndGtfd25tX3NsZWVwLmlndGtfbGVuKTsKLSsJfSBlbHNlIHsKLSsJCXNtLT5pZ3RrLmlndGtfbGVuID0gbGVuOwotKwkJb3NfbWVtY3B5KHNtLT5pZ3RrLmlndGssIGlndGstPmlndGssIHNtLT5pZ3RrLmlndGtfbGVuKTsKLSsJfQotIAotIAlyZXR1cm4gMDsKLSB9Ci1AQCAtOTI0LDcgKzk0Myw3IEBAIHN0YXRpYyBpbnQgaWVlZTgwMjExd19zZXRfa2V5cyhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAJCQlyZXR1cm4gLTE7Ci0gCi0gCQlpZ3RrID0gKGNvbnN0IHN0cnVjdCB3cGFfaWd0a19rZGUgKikgaWUtPmlndGs7Ci0tCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrKSA8IDApCi0rCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9pZ3RrKHNtLCBpZ3RrLCAwKSA8IDApCi0gCQkJcmV0dXJuIC0xOwotIAl9Ci0gCi1AQCAtMTU3NCw3ICsxNTkzLDcgQEAgc3RhdGljIHZvaWQgd3BhX3N1cHBsaWNhbnRfcHJvY2Vzc18xX29mXzIoc3RydWN0IHdwYV9zbSAqc20sCi0gCWlmICh3cGFfc3VwcGxpY2FudF9yc2NfcmVsYXhhdGlvbihzbSwga2V5LT5rZXlfcnNjKSkKLSAJCWtleV9yc2MgPSBudWxsX3JzYzsKLSAKLS0JaWYgKHdwYV9zdXBwbGljYW50X2luc3RhbGxfZ3RrKHNtLCAmZ2QsIGtleV9yc2MpIHx8Ci0rCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjLCAwKSB8fAotIAkgICAgd3BhX3N1cHBsaWNhbnRfc2VuZF8yX29mXzIoc20sIGtleSwgdmVyLCBrZXlfaW5mbykgPCAwKQotIAkJZ290byBmYWlsZWQ7Ci0gCW9zX21lbXNldCgmZ2QsIDAsIHNpemVvZihnZCkpOwotQEAgLTIzODYsOCArMjQwNSwxMCBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfYXNzb2Moc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpic3NpZCkKLSAJCXNtLT50cHRrX3NldCA9IDA7Ci0gCQlvc19tZW1zZXQoJnNtLT50cHRrLCAwLCBzaXplb2Yoc20tPnRwdGspKTsKLSAJCW9zX21lbXNldCgmc20tPmd0aywgMCwgc2l6ZW9mKHNtLT5ndGspKTsKLSsJCW9zX21lbXNldCgmc20tPmd0a193bm1fc2xlZXAsIDAsIHNpemVvZihzbS0+Z3RrX3dubV9zbGVlcCkpOwotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExVwotIAkJb3NfbWVtc2V0KCZzbS0+aWd0aywgMCwgc2l6ZW9mKHNtLT5pZ3RrKSk7Ci0rCQlvc19tZW1zZXQoJnNtLT5pZ3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5pZ3RrX3dubV9zbGVlcCkpOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotIAl9Ci0gCi1AQCAtMjkyMCw4ICsyOTQxLDEwIEBAIHZvaWQgd3BhX3NtX2Ryb3Bfc2Eoc3RydWN0IHdwYV9zbSAqc20pCi0gCW9zX21lbXNldCgmc20tPnB0aywgMCwgc2l6ZW9mKHNtLT5wdGspKTsKLSAJb3NfbWVtc2V0KCZzbS0+dHB0aywgMCwgc2l6ZW9mKHNtLT50cHRrKSk7Ci0gCW9zX21lbXNldCgmc20tPmd0aywgMCwgc2l6ZW9mKHNtLT5ndGspKTsKLSsJb3NfbWVtc2V0KCZzbS0+Z3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5ndGtfd25tX3NsZWVwKSk7Ci0gI2lmZGVmIENPTkZJR19JRUVFODAyMTFXCi0gCW9zX21lbXNldCgmc20tPmlndGssIDAsIHNpemVvZihzbS0+aWd0aykpOwotKwlvc19tZW1zZXQoJnNtLT5pZ3RrX3dubV9zbGVlcCwgMCwgc2l6ZW9mKHNtLT5pZ3RrX3dubV9zbGVlcCkpOwotICNlbmRpZiAvKiBDT05GSUdfSUVFRTgwMjExVyAqLwotICNpZmRlZiBDT05GSUdfSUVFRTgwMjExUgotIAlvc19tZW1zZXQoc20tPnh4a2V5LCAwLCBzaXplb2Yoc20tPnh4a2V5KSk7Ci1AQCAtMjk4Niw3ICszMDA5LDcgQEAgaW50IHdwYV93bm1zbGVlcF9pbnN0YWxsX2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgdTggc3ViZWxlbV9pZCwgdTggKmJ1ZikKLSAKLSAJCXdwYV9oZXhkdW1wX2tleShNU0dfREVCVUcsICJJbnN0YWxsIEdUSyAoV05NIFNMRUVQKSIsCi0gCQkJCWdkLmd0aywgZ2QuZ3RrX2xlbik7Ci0tCQlpZiAod3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9ndGsoc20sICZnZCwga2V5X3JzYykpIHsKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2d0ayhzbSwgJmdkLCBrZXlfcnNjLCAxKSkgewotIAkJCW9zX21lbXNldCgmZ2QsIDAsIHNpemVvZihnZCkpOwotIAkJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRmFpbGVkIHRvIGluc3RhbGwgdGhlIEdUSyBpbiAiCi0gCQkJCSAgICJXTk0gbW9kZSIpOwotQEAgLTI5OTgsNyArMzAyMSw3IEBAIGludCB3cGFfd25tc2xlZXBfaW5zdGFsbF9rZXkoc3RydWN0IHdwYV9zbSAqc20sIHU4IHN1YmVsZW1faWQsIHU4ICpidWYpCi0gCQljb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICppZ3RrOwotIAotIAkJaWd0ayA9IChjb25zdCBzdHJ1Y3Qgd3BhX2lndGtfa2RlICopIChidWYgKyAyKTsKLS0JCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGspIDwgMCkKLSsJCWlmICh3cGFfc3VwcGxpY2FudF9pbnN0YWxsX2lndGsoc20sIGlndGssIDEpIDwgMCkKLSAJCQlyZXR1cm4gLTE7Ci0gI2VuZGlmIC8qIENPTkZJR19JRUVFODAyMTFXICovCi0gCX0gZWxzZSB7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggYWZjOWUzNy4uOWE1NDYzMSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTMyLDggKzMyLDEwIEBAIHN0cnVjdCB3cGFfc20gewotIAlpbnQgcnhfcmVwbGF5X2NvdW50ZXJfc2V0OwotIAl1OCByZXF1ZXN0X2NvdW50ZXJbV1BBX1JFUExBWV9DT1VOVEVSX0xFTl07Ci0gCXN0cnVjdCB3cGFfZ3RrIGd0azsKLSsJc3RydWN0IHdwYV9ndGsgZ3RrX3dubV9zbGVlcDsKLSAjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVcKLSAJc3RydWN0IHdwYV9pZ3RrIGlndGs7Ci0rCXN0cnVjdCB3cGFfaWd0ayBpZ3RrX3dubV9zbGVlcDsKLSAjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVcgKi8KLSAKLSAJc3RydWN0IGVhcG9sX3NtICplYXBvbDsgLyogRUFQT0wgc3RhdGUgbWFjaGluZSBmcm9tIHVwcGVyIGxldmVsIGNvZGUgKi8KLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmMxOTQ4Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDhmODJiYzk0ZTg2OTdhOWQ0N2ZhODc3NGRmZGFhZWRlMTA4NDkxMmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXRoeSBWYW5ob2VmIDxNYXRoeS5WYW5ob2VmQGNzLmt1bGV1dmVuLmJlPgotRGF0ZTogRnJpLCAyOSBTZXAgMjAxNyAwNDoyMjo1MSArMDIwMAotU3ViamVjdDogW1BBVENIIDQvOF0gUHJldmVudCBpbnN0YWxsYXRpb24gb2YgYW4gYWxsLXplcm8gVEsKLQotUHJvcGVybHkgdHJhY2sgd2hldGhlciBhIFBUSyBoYXMgYWxyZWFkeSBiZWVuIGluc3RhbGxlZCB0byB0aGUgZHJpdmVyCi1hbmQgdGhlIFRLIHBhcnQgY2xlYXJlZCBmcm9tIG1lbW9yeS4gVGhpcyBwcmV2ZW50cyBhbiBhdHRhY2tlciBmcm9tCi10cnlpbmcgdG8gdHJpY2sgdGhlIGNsaWVudCBpbnRvIGluc3RhbGxpbmcgYW4gYWxsLXplcm8gVEsuCi0KLVRoaXMgZml4ZXMgdGhlIGVhcmxpZXIgZml4IGluIGNvbW1pdAotYWQwMGQ2NGU3ZDg4MjdiM2NlYmQ2NjVhMGNlYjA4YWRhYmYxNWUxZSAoJ0ZpeCBUSyBjb25maWd1cmF0aW9uIHRvIHRoZQotZHJpdmVyIGluIEVBUE9MLUtleSAzLzQgcmV0cnkgY2FzZScpIHdoaWNoIGRpZCBub3QgdGFrZSBpbnRvIGFjY291bnQKLXBvc3NpYmlsaXR5IG9mIGFuIGV4dHJhIG1lc3NhZ2UgMS80IHNob3dpbmcgdXAgYmV0d2VlbiByZXRyaWVzIG9mCi1tZXNzYWdlIDMvNC4KLQotU2lnbmVkLW9mZi1ieTogTWF0aHkgVmFuaG9lZiA8TWF0aHkuVmFuaG9lZkBjcy5rdWxldXZlbi5iZT4KLS0tLQotIHNyYy9jb21tb24vd3BhX2NvbW1vbi5oIHwgMSArCi0gc3JjL3Jzbl9zdXBwL3dwYS5jICAgICAgfCA1ICsrLS0tCi0gc3JjL3Jzbl9zdXBwL3dwYV9pLmggICAgfCAxIC0KLSAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vd3BhX2NvbW1vbi5oIGIvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLWluZGV4IGQyMDAyODUuLjEwMjFjY2IgMTAwNjQ0Ci0tLS0gYS9zcmMvY29tbW9uL3dwYV9jb21tb24uaAotKysrIGIvc3JjL2NvbW1vbi93cGFfY29tbW9uLmgKLUBAIC0yMTUsNiArMjE1LDcgQEAgc3RydWN0IHdwYV9wdGsgewotIAlzaXplX3Qga2NrX2xlbjsKLSAJc2l6ZV90IGtla19sZW47Ci0gCXNpemVfdCB0a19sZW47Ci0rCWludCBpbnN0YWxsZWQ7IC8qIDEgaWYga2V5IGhhcyBhbHJlYWR5IGJlZW4gaW5zdGFsbGVkIHRvIGRyaXZlciAqLwotIH07Ci0gCi0gc3RydWN0IHdwYV9ndGsgewotZGlmZiAtLWdpdCBhL3NyYy9yc25fc3VwcC93cGEuYyBiL3NyYy9yc25fc3VwcC93cGEuYwotaW5kZXggN2EyYzY4ZC4uMDU1MGE0MSAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGEuYwotKysrIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1AQCAtNTEwLDcgKzUxMCw2IEBAIHN0YXRpYyB2b2lkIHdwYV9zdXBwbGljYW50X3Byb2Nlc3NfMV9vZl80KHN0cnVjdCB3cGFfc20gKnNtLAotIAkJb3NfbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOwotIAl9Ci0gCXNtLT50cHRrX3NldCA9IDE7Ci0tCXNtLT50a190b19zZXQgPSAxOwotIAotIAlrZGUgPSBzbS0+YXNzb2Nfd3BhX2llOwotIAlrZGVfbGVuID0gc20tPmFzc29jX3dwYV9pZV9sZW47Ci1AQCAtNjE1LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgd3BhX3N1cHBsaWNhbnRfaW5zdGFsbF9wdGsoc3RydWN0IHdwYV9zbSAqc20sCi0gCWVudW0gd3BhX2FsZyBhbGc7Ci0gCWNvbnN0IHU4ICprZXlfcnNjOwotIAotLQlpZiAoIXNtLT50a190b19zZXQpIHsKLSsJaWYgKHNtLT5wdGsuaW5zdGFsbGVkKSB7Ci0gCQl3cGFfZGJnKHNtLT5jdHgtPm1zZ19jdHgsIE1TR19ERUJVRywKLSAJCQkiV1BBOiBEbyBub3QgcmUtaW5zdGFsbCBzYW1lIFBUSyB0byB0aGUgZHJpdmVyIik7Ci0gCQlyZXR1cm4gMDsKLUBAIC02NTksNyArNjU4LDcgQEAgc3RhdGljIGludCB3cGFfc3VwcGxpY2FudF9pbnN0YWxsX3B0ayhzdHJ1Y3Qgd3BhX3NtICpzbSwKLSAKLSAJLyogVEsgaXMgbm90IG5lZWRlZCBhbnltb3JlIGluIHN1cHBsaWNhbnQgKi8KLSAJb3NfbWVtc2V0KHNtLT5wdGsudGssIDAsIFdQQV9US19NQVhfTEVOKTsKLS0Jc20tPnRrX3RvX3NldCA9IDA7Ci0rCXNtLT5wdGsuaW5zdGFsbGVkID0gMTsKLSAKLSAJaWYgKHNtLT53cGFfcHRrX3Jla2V5KSB7Ci0gCQllbG9vcF9jYW5jZWxfdGltZW91dCh3cGFfc21fcmVrZXlfcHRrLCBzbSwgTlVMTCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmggYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotaW5kZXggOWE1NDYzMS4uNDFmMzcxZiAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC93cGFfaS5oCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2kuaAotQEAgLTI0LDcgKzI0LDYgQEAgc3RydWN0IHdwYV9zbSB7Ci0gCXN0cnVjdCB3cGFfcHRrIHB0aywgdHB0azsKLSAJaW50IHB0a19zZXQsIHRwdGtfc2V0OwotIAl1bnNpZ25lZCBpbnQgbXNnXzNfb2ZfNF9vazoxOwotLQl1bnNpZ25lZCBpbnQgdGtfdG9fc2V0OjE7Ci0gCXU4IHNub25jZVtXUEFfTk9OQ0VfTEVOXTsKLSAJdTggYW5vbmNlW1dQQV9OT05DRV9MRU5dOyAvKiBBTm9uY2UgZnJvbSB0aGUgbGFzdCAxLzQgbXNnICovCi0gCWludCByZW5ld19zbm9uY2U7Ci0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyNjJkY2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSAxMmZhYzA5YjQzN2ExZGM4YTBmMjUzZTI2NTkzNGE4YWFmNGQyZjhiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IFN1biwgMSBPY3QgMjAxNyAxMjozMjo1NyArMDMwMAotU3ViamVjdDogW1BBVENIIDUvOF0gRml4IFBUSyByZWtleWluZyB0byBnZW5lcmF0ZSBhIG5ldyBBTm9uY2UKLQotVGhlIEF1dGhlbnRpY2F0b3Igc3RhdGUgbWFjaGluZSBwYXRoIGZvciBQVEsgcmVrZXlpbmcgZW5kZWQgdXAgYnlwYXNzaW5nCi10aGUgQVVUSEVOVElDQVRJT04yIHN0YXRlIHdoZXJlIGEgbmV3IEFOb25jZSBpcyBnZW5lcmF0ZWQgd2hlbiBnb2luZwotZGlyZWN0bHkgdG8gdGhlIFBUS1NUQVJUIHN0YXRlIHNpbmNlIHRoZXJlIGlzIG5vIG5lZWQgdG8gdHJ5IHRvCi1kZXRlcm1pbmUgdGhlIFBNSyBhZ2FpbiBpbiBzdWNoIGEgY2FzZS4gVGhpcyBpcyBmYXIgZnJvbSBpZGVhbCBzaW5jZSB0aGUKLW5ldyBQVEsgd291bGQgZGVwZW5kIG9uIGEgbmV3IG5vbmNlIG9ubHkgZnJvbSB0aGUgc3VwcGxpY2FudC4KLQotRml4IHRoaXMgYnkgZ2VuZXJhdGluZyBhIG5ldyBBTm9uY2Ugd2hlbiBtb3ZpbmcgdG8gdGhlIFBUS1NUQVJUIHN0YXRlCi1mb3IgdGhlIHB1cnBvc2Ugb2Ygc3RhcnRpbmcgbmV3IDQtd2F5IGhhbmRzaGFrZSB0byByZWtleSBQVEsuCi0KLVNpZ25lZC1vZmYtYnk6IEpvdW5pIE1hbGluZW4gPGpAdzEuZmk+Ci0tLS0KLSBzcmMvYXAvd3BhX2F1dGguYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2FwL3dwYV9hdXRoLmMgYi9zcmMvYXAvd3BhX2F1dGguYwotaW5kZXggNzA3OTcxZC4uYmYxMGNjMSAxMDA2NDQKLS0tLSBhL3NyYy9hcC93cGFfYXV0aC5jCi0rKysgYi9zcmMvYXAvd3BhX2F1dGguYwotQEAgLTE5MDEsNiArMTkwMSwyMSBAQCBTTV9TVEFURShXUEFfUFRLLCBBVVRIRU5USUNBVElPTjIpCi0gfQotIAotIAotK3N0YXRpYyBpbnQgd3BhX2F1dGhfc21fcHRrX3VwZGF0ZShzdHJ1Y3Qgd3BhX3N0YXRlX21hY2hpbmUgKnNtKQotK3sKLSsJaWYgKHJhbmRvbV9nZXRfYnl0ZXMoc20tPkFOb25jZSwgV1BBX05PTkNFX0xFTikpIHsKLSsJCXdwYV9wcmludGYoTVNHX0VSUk9SLAotKwkJCSAgICJXUEE6IEZhaWxlZCB0byBnZXQgcmFuZG9tIGRhdGEgZm9yIEFOb25jZSIpOwotKwkJc20tPkRpc2Nvbm5lY3QgPSBUUlVFOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCXdwYV9oZXhkdW1wKE1TR19ERUJVRywgIldQQTogQXNzaWduIG5ldyBBTm9uY2UiLCBzbS0+QU5vbmNlLAotKwkJICAgIFdQQV9OT05DRV9MRU4pOwotKwlzbS0+VGltZW91dEN0ciA9IDA7Ci0rCXJldHVybiAwOwotK30KLSsKLSsKLSBTTV9TVEFURShXUEFfUFRLLCBJTklUUE1LKQotIHsKLSAJdTggbXNrWzIgKiBQTUtfTEVOXTsKLUBAIC0yNDU4LDkgKzI0NzMsMTIgQEAgU01fU1RFUChXUEFfUFRLKQotIAkJU01fRU5URVIoV1BBX1BUSywgQVVUSEVOVElDQVRJT04pOwotIAllbHNlIGlmIChzbS0+UmVBdXRoZW50aWNhdGlvblJlcXVlc3QpCi0gCQlTTV9FTlRFUihXUEFfUFRLLCBBVVRIRU5USUNBVElPTjIpOwotLQllbHNlIGlmIChzbS0+UFRLUmVxdWVzdCkKLS0JCVNNX0VOVEVSKFdQQV9QVEssIFBUS1NUQVJUKTsKLS0JZWxzZSBzd2l0Y2ggKHNtLT53cGFfcHRrX3N0YXRlKSB7Ci0rCWVsc2UgaWYgKHNtLT5QVEtSZXF1ZXN0KSB7Ci0rCQlpZiAod3BhX2F1dGhfc21fcHRrX3VwZGF0ZShzbSkgPCAwKQotKwkJCVNNX0VOVEVSKFdQQV9QVEssIERJU0NPTk5FQ1RFRCk7Ci0rCQllbHNlCi0rCQkJU01fRU5URVIoV1BBX1BUSywgUFRLU1RBUlQpOwotKwl9IGVsc2Ugc3dpdGNoIChzbS0+d3BhX3B0a19zdGF0ZSkgewotIAljYXNlIFdQQV9QVEtfSU5JVElBTElaRToKLSAJCWJyZWFrOwotIAljYXNlIFdQQV9QVEtfRElTQ09OTkVDVDoKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTUxODNmNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQ5ICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA2YzRiZWQ0ZjQ3ZDE5NjBlYzA0OTgxYTlkNTBlNTA3NmFlYTUyMjNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IEZyaSwgMjIgU2VwIDIwMTcgMTE6MDM6MTUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzhdIFRETFM6IFJlamVjdCBUUEstVEsgcmVjb25maWd1cmF0aW9uCi0KLURvIG5vdCB0cnkgdG8gcmVjb25maWd1cmUgdGhlIHNhbWUgVFBLLVRLIHRvIHRoZSBkcml2ZXIgYWZ0ZXIgaXQgaGFzCi1iZWVuIHN1Y2Nlc3NmdWxseSBjb25maWd1cmVkLiBUaGlzIGlzIGFuIGV4cGxpY2l0IGNoZWNrIHRvIGF2b2lkIGlzc3VlcwotcmVsYXRlZCB0byByZXNldHRpbmcgdGhlIFRYL1JYIHBhY2tldCBudW1iZXIuIFRoZXJlIHdhcyBhbHJlYWR5IGEgY2hlY2sKLWZvciB0aGlzIGZvciBUUEsgTTIgKHJldHJpZXMgb2YgdGhhdCBtZXNzYWdlIGFyZSBpZ25vcmVkIGNvbXBsZXRlbHkpLCBzbwotdGhhdCBiZWhhdmlvciBkb2VzIG5vdCBnZXQgbW9kaWZpZWQuCi0KLUZvciBUUEsgTTMsIHRoZSBUUEstVEsgY291bGQgaGF2ZSBiZWVuIHJlY29uZmlndXJlZCwgYnV0IHRoYXQgd2FzCi1mb2xsb3dlZCBieSBpbW1lZGlhdGUgdGVhcmRvd24gb2YgdGhlIGxpbmsgZHVlIHRvIGFuIGlzc3VlIGluIHVwZGF0aW5nCi10aGUgU1RBIGVudHJ5LiBGdXJ0aGVybW9yZSwgZm9yIFRETFMgd2l0aCBhbnkgcmVhbCBzZWN1cml0eSAoaS5lLiwKLWlnbm9yaW5nIG9wZW4vV0VQKSwgdGhlIFRQSyBtZXNzYWdlIGV4Y2hhbmdlIGlzIHByb3RlY3RlZCBvbiB0aGUgQVAgcGF0aAotYW5kIHNpbXBsZSByZXBsYXkgYXR0YWNrcyBhcmUgbm90IGZlYXNpYmxlLgotCi1BcyBhbiBhZGRpdGlvbmFsIGNvcm5lciBjYXNlLCBtYWtlIHN1cmUgdGhlIGxvY2FsIG5vbmNlIGdldHMgdXBkYXRlZCBpZgotdGhlIHBlZXIgdXNlcyBhIHZlcnkgdW5saWtlbHkgInJhbmRvbSBub25jZSIgb2YgYWxsIHplcm9zLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gc3JjL3Jzbl9zdXBwL3RkbHMuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvdGRscy5jIGIvc3JjL3Jzbl9zdXBwL3RkbHMuYwotaW5kZXggZTQyNDE2OC4uOWViOTczOCAxMDA2NDQKLS0tLSBhL3NyYy9yc25fc3VwcC90ZGxzLmMKLSsrKyBiL3NyYy9yc25fc3VwcC90ZGxzLmMKLUBAIC0xMTIsNiArMTEyLDcgQEAgc3RydWN0IHdwYV90ZGxzX3BlZXIgewotIAkJdTggdGtbMTZdOyAvKiBUUEstVEs7IGFzc3VtaW5nIG9ubHkgQ0NNUCB3aWxsIGJlIHVzZWQgKi8KLSAJfSB0cGs7Ci0gCWludCB0cGtfc2V0OwotKwlpbnQgdGtfc2V0OyAvKiBUUEstVEsgY29uZmlndXJlZCB0byB0aGUgZHJpdmVyICovCi0gCWludCB0cGtfc3VjY2VzczsKLSAJaW50IHRwa19pbl9wcm9ncmVzczsKLSAKLUBAIC0xOTIsNiArMTkzLDIwIEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfc2V0X2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCXU4IHJzY1s2XTsKLSAJZW51bSB3cGFfYWxnIGFsZzsKLSAKLSsJaWYgKHBlZXItPnRrX3NldCkgewotKwkJLyoKLSsJCSAqIFRoaXMgc2FtZSBUUEstVEsgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIHRvIHRoZSBkcml2ZXIKLSsJCSAqIGFuZCB0aGlzIG5ldyBjb25maWd1cmF0aW9uIGF0dGVtcHQgKGxpa2VseSBkdWUgdG8gYW4KLSsJCSAqIHVuZXhwZWN0ZWQgcmV0cmFuc21pdHRlZCBmcmFtZSkgd291bGQgcmVzdWx0IGluIGNsZWFyaW5nCi0rCQkgKiB0aGUgVFgvUlggc2VxdWVuY2UgbnVtYmVyIHdoaWNoIGNhbiBicmVhayBzZWN1cml0eSwgc28gbXVzdAotKwkJICogbm90IGFsbG93IHRoYXQgdG8gaGFwcGVuLgotKwkJICovCi0rCQl3cGFfcHJpbnRmKE1TR19JTkZPLCAiVERMUzogVFBLLVRLIGZvciB0aGUgcGVlciAiIE1BQ1NUUgotKwkJCSAgICIgaGFzIGFscmVhZHkgYmVlbiBjb25maWd1cmVkIHRvIHRoZSBkcml2ZXIgLSBkbyBub3QgcmVjb25maWd1cmUiLAotKwkJCSAgIE1BQzJTVFIocGVlci0+YWRkcikpOwotKwkJcmV0dXJuIC0xOwotKwl9Ci0rCi0gCW9zX21lbXNldChyc2MsIDAsIDYpOwotIAotIAlzd2l0Y2ggKHBlZXItPmNpcGhlcikgewotQEAgLTIwOSwxMiArMjI0LDE1IEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfc2V0X2tleShzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsJd3BhX3ByaW50ZihNU0dfREVCVUcsICJURExTOiBDb25maWd1cmUgcGFpcndpc2Uga2V5IGZvciBwZWVyICIgTUFDU1RSLAotKwkJICAgTUFDMlNUUihwZWVyLT5hZGRyKSk7Ci0gCWlmICh3cGFfc21fc2V0X2tleShzbSwgYWxnLCBwZWVyLT5hZGRyLCAtMSwgMSwKLSAJCQkgICByc2MsIHNpemVvZihyc2MpLCBwZWVyLT50cGsudGssIGtleV9sZW4pIDwgMCkgewotIAkJd3BhX3ByaW50ZihNU0dfV0FSTklORywgIlRETFM6IEZhaWxlZCB0byBzZXQgVFBLIHRvIHRoZSAiCi0gCQkJICAgImRyaXZlciIpOwotIAkJcmV0dXJuIC0xOwotIAl9Ci0rCXBlZXItPnRrX3NldCA9IDE7Ci0gCXJldHVybiAwOwotIH0KLSAKLUBAIC02OTYsNyArNzE0LDcgQEAgc3RhdGljIHZvaWQgd3BhX3RkbHNfcGVlcl9jbGVhcihzdHJ1Y3Qgd3BhX3NtICpzbSwgc3RydWN0IHdwYV90ZGxzX3BlZXIgKnBlZXIpCi0gCXBlZXItPmNpcGhlciA9IDA7Ci0gCXBlZXItPnFvc19pbmZvID0gMDsKLSAJcGVlci0+d21tX2NhcGFibGUgPSAwOwotLQlwZWVyLT50cGtfc2V0ID0gcGVlci0+dHBrX3N1Y2Nlc3MgPSAwOwotKwlwZWVyLT50a19zZXQgPSBwZWVyLT50cGtfc2V0ID0gcGVlci0+dHBrX3N1Y2Nlc3MgPSAwOwotIAlwZWVyLT5jaGFuX3N3aXRjaF9lbmFibGVkID0gMDsKLSAJb3NfbWVtc2V0KCZwZWVyLT50cGssIDAsIHNpemVvZihwZWVyLT50cGspKTsKLSAJb3NfbWVtc2V0KHBlZXItPmlub25jZSwgMCwgV1BBX05PTkNFX0xFTik7Ci1AQCAtMTE1OSw2ICsxMTc3LDcgQEAgc2tpcF9yc25pZToKLSAJCXdwYV90ZGxzX3BlZXJfZnJlZShzbSwgcGVlcik7Ci0gCQlyZXR1cm4gLTE7Ci0gCX0KLSsJcGVlci0+dGtfc2V0ID0gMDsgLyogQSBuZXcgbm9uY2UgcmVzdWx0cyBpbiBhIG5ldyBUSyAqLwotIAl3cGFfaGV4ZHVtcChNU0dfREVCVUcsICJURExTOiBJbml0aWF0b3IgTm9uY2UgZm9yIFRQSyBoYW5kc2hha2UiLAotIAkJICAgIHBlZXItPmlub25jZSwgV1BBX05PTkNFX0xFTik7Ci0gCW9zX21lbWNweShmdGllLT5Tbm9uY2UsIHBlZXItPmlub25jZSwgV1BBX05PTkNFX0xFTik7Ci1AQCAtMTc1MSw2ICsxNzcwLDE5IEBAIHN0YXRpYyBpbnQgd3BhX3RkbHNfYWRkc2V0X3BlZXIoc3RydWN0IHdwYV9zbSAqc20sIHN0cnVjdCB3cGFfdGRsc19wZWVyICpwZWVyLAotIH0KLSAKLSAKLStzdGF0aWMgaW50IHRkbHNfbm9uY2Vfc2V0KGNvbnN0IHU4ICpub25jZSkKLSt7Ci0rCWludCBpOwotKwotKwlmb3IgKGkgPSAwOyBpIDwgV1BBX05PTkNFX0xFTjsgaSsrKSB7Ci0rCQlpZiAobm9uY2VbaV0pCi0rCQkJcmV0dXJuIDE7Ci0rCX0KLSsKLSsJcmV0dXJuIDA7Ci0rfQotKwotKwotIHN0YXRpYyBpbnQgd3BhX3RkbHNfcHJvY2Vzc190cGtfbTEoc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICpzcmNfYWRkciwKLSAJCQkJICAgY29uc3QgdTggKmJ1Ziwgc2l6ZV90IGxlbikKLSB7Ci1AQCAtMjAwNCw3ICsyMDM2LDggQEAgc2tpcF9yc246Ci0gCXBlZXItPnJzbmllX2lfbGVuID0ga2RlLnJzbl9pZV9sZW47Ci0gCXBlZXItPmNpcGhlciA9IGNpcGhlcjsKLSAKLS0JaWYgKG9zX21lbWNtcChwZWVyLT5pbm9uY2UsIGZ0aWUtPlNub25jZSwgV1BBX05PTkNFX0xFTikgIT0gMCkgewotKwlpZiAob3NfbWVtY21wKHBlZXItPmlub25jZSwgZnRpZS0+U25vbmNlLCBXUEFfTk9OQ0VfTEVOKSAhPSAwIHx8Ci0rCSAgICAhdGRsc19ub25jZV9zZXQocGVlci0+aW5vbmNlKSkgewotIAkJLyoKLSAJCSAqIFRoZXJlIGlzIG5vIHBvaW50IGluIHVwZGF0aW5nIHRoZSBSTm9uY2UgZm9yIGV2ZXJ5IG9idGFpbmVkCi0gCQkgKiBUUEsgTTEgZnJhbWUgKGUuZy4sIHJldHJhbnNtaXNzaW9uIGR1ZSB0byB0aW1lb3V0KSB3aXRoIHRoZQotQEAgLTIwMjAsNiArMjA1Myw3IEBAIHNraXBfcnNuOgotIAkJCQkiVERMUzogRmFpbGVkIHRvIGdldCByYW5kb20gZGF0YSBmb3IgcmVzcG9uZGVyIG5vbmNlIik7Ci0gCQkJZ290byBlcnJvcjsKLSAJCX0KLSsJCXBlZXItPnRrX3NldCA9IDA7IC8qIEEgbmV3IG5vbmNlIHJlc3VsdHMgaW4gYSBuZXcgVEsgKi8KLSAJfQotIAotICNpZiAwCi0tLSAKLTIuNy40ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlMTJiYzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLVRoZSBXUEEyIGZvdXItd2F5IGhhbmRzaGFrZSBwcm90b2NvbCBpcyB2dWxuZXJhYmxlIHRvIHJlcGxheSBhdHRhY2tzIHdoaWNoIGNhbgotcmVzdWx0IGluIHVuYXV0aGVudGljYXRlZCBjbGllbnRzIGdhaW5pbmcgYWNjZXNzIHRvIHRoZSBuZXR3b3JrLgotCi1CYWNrcG9ydCBhIG51bWJlciBvZiBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHRoaXMuCi0KLUNWRTogQ1ZFLTIwMTctMTMwNzcKLUNWRTogQ1ZFLTIwMTctMTMwNzgKLUNWRTogQ1ZFLTIwMTctMTMwNzkKLUNWRTogQ1ZFLTIwMTctMTMwODAKLUNWRTogQ1ZFLTIwMTctMTMwODEKLUNWRTogQ1ZFLTIwMTctMTMwODIKLUNWRTogQ1ZFLTIwMTctMTMwODYKLUNWRTogQ1ZFLTIwMTctMTMwODcKLUNWRTogQ1ZFLTIwMTctMTMwODgKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1M2M1ZWI1OGU5NTAwNGY4NmU2NWVlOWZiZmNjYmMyOTFiMTM5MDU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLURhdGU6IEZyaSwgMjIgU2VwIDIwMTcgMTE6MjU6MDIgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCA3LzhdIFdOTTogSWdub3JlIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlIHdpdGhvdXQgcGVuZGluZwotIHJlcXVlc3QKLQotQ29tbWl0IDAzZWQwYTUyMzkzNzEwYmU2YmRhZTY1N2QxYjM2ZWZhMTQ2NTIwZTUgKCdXTk06IElnbm9yZSBXTk0tU2xlZXAKLU1vZGUgUmVzcG9uc2UgaWYgV05NLVNsZWVwIE1vZGUgaGFzIG5vdCBiZWVuIHVzZWQnKSBzdGFydGVkIGlnbm9yaW5nIHRoZQotcmVzcG9uc2Ugd2hlbiBubyBXTk0tU2xlZXAgTW9kZSBSZXF1ZXN0IGhhZCBiZWVuIHVzZWQgZHVyaW5nIHRoZQotYXNzb2NpYXRpb24uIFRoaXMgY2FuIGJlIG1hZGUgdGlnaHRlciBieSBjbGVhcmluZyB0aGUgdXNlZCBmbGFnIHdoZW4KLXN1Y2Nlc3NmdWxseSBwcm9jZXNzaW5nIGEgcmVzcG9uc2UuIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIGxheWVyIG9mCi1wcm90ZWN0aW9uIGFnYWluc3QgdW5leHBlY3RlZCByZXRyYW5zbWlzc2lvbnMgb2YgdGhlIHJlc3BvbnNlIGZyYW1lLgotCi1TaWduZWQtb2ZmLWJ5OiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotLS0tCi0gd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jIHwgNCArKystCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jIGIvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jCi1pbmRleCAxYjM0MDljLi42N2EwN2ZmIDEwMDY0NAotLS0tIGEvd3BhX3N1cHBsaWNhbnQvd25tX3N0YS5jCi0rKysgYi93cGFfc3VwcGxpY2FudC93bm1fc3RhLmMKLUBAIC0yNjAsNyArMjYwLDcgQEAgc3RhdGljIHZvaWQgaWVlZTgwMl8xMV9yeF93bm1zbGVlcF9yZXNwKHN0cnVjdCB3cGFfc3VwcGxpY2FudCAqd3BhX3MsCi0gCi0gCWlmICghd3BhX3MtPndubXNsZWVwX3VzZWQpIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLAotLQkJCSAgICJXTk06IElnbm9yZSBXTk0tU2xlZXAgTW9kZSBSZXNwb25zZSBmcmFtZSBzaW5jZSBXTk0tU2xlZXAgTW9kZSBoYXMgbm90IGJlZW4gdXNlZCBpbiB0aGlzIGFzc29jaWF0aW9uIik7Ci0rCQkJICAgIldOTTogSWdub3JlIFdOTS1TbGVlcCBNb2RlIFJlc3BvbnNlIGZyYW1lIHNpbmNlIFdOTS1TbGVlcCBNb2RlIG9wZXJhdGlvbiBoYXMgbm90IGJlZW4gcmVxdWVzdGVkIik7Ci0gCQlyZXR1cm47Ci0gCX0KLSAKLUBAIC0yOTksNiArMjk5LDggQEAgc3RhdGljIHZvaWQgaWVlZTgwMl8xMV9yeF93bm1zbGVlcF9yZXNwKHN0cnVjdCB3cGFfc3VwcGxpY2FudCAqd3BhX3MsCi0gCQlyZXR1cm47Ci0gCX0KLSAKLSsJd3BhX3MtPndubXNsZWVwX3VzZWQgPSAwOwotKwotIAlpZiAod25tc2xlZXBfaWUtPnN0YXR1cyA9PSBXTk1fU1RBVFVTX1NMRUVQX0FDQ0VQVCB8fAotIAkgICAgd25tc2xlZXBfaWUtPnN0YXR1cyA9PSBXTk1fU1RBVFVTX1NMRUVQX0VYSVRfQUNDRVBUX0dUS19VUERBVEUpIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiU3VjY2Vzc2Z1bGx5IHJlY3YgV05NLVNsZWVwIFJlc3BvbnNlICIKLS0tIAotMi43LjQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50L2tleS1yZXBsYXktY3ZlLW11bHRpcGxlOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1MzkwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQva2V5LXJlcGxheS1jdmUtbXVsdGlwbGU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotVGhlIFdQQTIgZm91ci13YXkgaGFuZHNoYWtlIHByb3RvY29sIGlzIHZ1bG5lcmFibGUgdG8gcmVwbGF5IGF0dGFja3Mgd2hpY2ggY2FuCi1yZXN1bHQgaW4gdW5hdXRoZW50aWNhdGVkIGNsaWVudHMgZ2FpbmluZyBhY2Nlc3MgdG8gdGhlIG5ldHdvcmsuCi0KLUJhY2twb3J0IGEgbnVtYmVyIG9mIHBhdGNoZXMgZnJvbSB1cHN0cmVhbSB0byBmaXggdGhpcy4KLQotQ1ZFOiBDVkUtMjAxNy0xMzA3NwotQ1ZFOiBDVkUtMjAxNy0xMzA3OAotQ1ZFOiBDVkUtMjAxNy0xMzA3OQotQ1ZFOiBDVkUtMjAxNy0xMzA4MAotQ1ZFOiBDVkUtMjAxNy0xMzA4MQotQ1ZFOiBDVkUtMjAxNy0xMzA4MgotQ1ZFOiBDVkUtMjAxNy0xMzA4NgotQ1ZFOiBDVkUtMjAxNy0xMzA4NwotQ1ZFOiBDVkUtMjAxNy0xMzA4OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIGIzNzJhYjBiN2RhZWE3MTk3NDkxOTRkYzU1NGIyNmU2MzY3NjAzZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3VuaSBNYWxpbmVuIDxqQHcxLmZpPgotRGF0ZTogRnJpLCAyMiBTZXAgMjAxNyAxMjowNjozNyArMDMwMAotU3ViamVjdDogW1BBVENIIDgvOF0gRlQ6IERvIG5vdCBhbGxvdyBtdWx0aXBsZSBSZWFzc29jaWF0aW9uIFJlc3BvbnNlIGZyYW1lcwotCi1UaGUgZHJpdmVyIGlzIGV4cGVjdGVkIHRvIG5vdCByZXBvcnQgYSBzZWNvbmQgYXNzb2NpYXRpb24gZXZlbnQgd2l0aG91dAotdGhlIHN0YXRpb24gaGF2aW5nIGV4cGxpY2l0bHkgcmVxdWVzdCBhIG5ldyBhc3NvY2lhdGlvbi4gQXMgc3VjaCwgdGhpcwotY2FzZSBzaG91bGQgbm90IGJlIHJlYWNoYWJsZS4gSG93ZXZlciwgc2luY2UgcmVjb25maWd1cmluZyB0aGUgc2FtZQotcGFpcndpc2Ugb3IgZ3JvdXAga2V5cyB0byB0aGUgZHJpdmVyIGNvdWxkIHJlc3VsdCBpbiBub25jZSByZXVzZSBpc3N1ZXMsCi1iZSBleHRyYSBjYXJlZnVsIGhlcmUgYW5kIGRvIGFuIGFkZGl0aW9uYWwgc3RhdGUgY2hlY2sgdG8gYXZvaWQgdGhpcwotZXZlbiBpZiB0aGUgbG9jYWwgZHJpdmVyIGVuZHMgdXAgc29tZWhvdyBhY2NlcHRpbmcgYW4gdW5leHBlY3RlZAotUmVhc3NvY2lhdGlvbiBSZXNwb25zZSBmcmFtZS4KLQotU2lnbmVkLW9mZi1ieTogSm91bmkgTWFsaW5lbiA8akB3MS5maT4KLS0tLQotIHNyYy9yc25fc3VwcC93cGEuYyAgICB8IDMgKysrCi0gc3JjL3Jzbl9zdXBwL3dwYV9mdC5jIHwgOCArKysrKysrKwotIHNyYy9yc25fc3VwcC93cGFfaS5oICB8IDEgKwotIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYS5jIGIvc3JjL3Jzbl9zdXBwL3dwYS5jCi1pbmRleCAwNTUwYTQxLi4yYTUzYzZmIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYS5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLUBAIC0yNDQwLDYgKzI0NDAsOSBAQCB2b2lkIHdwYV9zbV9ub3RpZnlfZGlzYXNzb2Moc3RydWN0IHdwYV9zbSAqc20pCi0gI2lmZGVmIENPTkZJR19URExTCi0gCXdwYV90ZGxzX2Rpc2Fzc29jKHNtKTsKLSAjZW5kaWYgLyogQ09ORklHX1RETFMgKi8KLSsjaWZkZWYgQ09ORklHX0lFRUU4MDIxMVIKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMDsKLSsjZW5kaWYgLyogQ09ORklHX0lFRUU4MDIxMVIgKi8KLSAKLSAJLyogS2V5cyBhcmUgbm90IG5lZWRlZCBpbiB0aGUgV1BBIHN0YXRlIG1hY2hpbmUgYW55bW9yZSAqLwotIAl3cGFfc21fZHJvcF9zYShzbSk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jIGIvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jCi1pbmRleCAyMDU3OTNlLi5kNDViYjQ1IDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYV9mdC5jCi0rKysgYi9zcmMvcnNuX3N1cHAvd3BhX2Z0LmMKLUBAIC0xNTMsNiArMTUzLDcgQEAgc3RhdGljIHU4ICogd3BhX2Z0X2dlbl9yZXFfaWVzKHN0cnVjdCB3cGFfc20gKnNtLCBzaXplX3QgKmxlbiwKLSAJdTE2IGNhcGFiOwotIAotIAlzbS0+ZnRfY29tcGxldGVkID0gMDsKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMDsKLSAKLSAJYnVmX2xlbiA9IDIgKyBzaXplb2Yoc3RydWN0IHJzbl9tZGllKSArIDIgKyBzaXplb2Yoc3RydWN0IHJzbl9mdGllKSArCi0gCQkyICsgc20tPnIwa2hfaWRfbGVuICsgcmljX2llc19sZW4gKyAxMDA7Ci1AQCAtNjgxLDYgKzY4MiwxMSBAQCBpbnQgd3BhX2Z0X3ZhbGlkYXRlX3JlYXNzb2NfcmVzcChzdHJ1Y3Qgd3BhX3NtICpzbSwgY29uc3QgdTggKmllcywKLSAJCXJldHVybiAtMTsKLSAJfQotIAotKwlpZiAoc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkKSB7Ci0rCQl3cGFfcHJpbnRmKE1TR19ERUJVRywgIkZUOiBSZWFzc29jaWF0aW9uIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVkIGZvciB0aGlzIEZUIHByb3RvY29sIGluc3RhbmNlIC0gaWdub3JlIHVuZXhwZWN0ZWQgcmV0cmFuc21pc3Npb24iKTsKLSsJCXJldHVybiAwOwotKwl9Ci0rCi0gCWlmICh3cGFfZnRfcGFyc2VfaWVzKGllcywgaWVzX2xlbiwgJnBhcnNlKSA8IDApIHsKLSAJCXdwYV9wcmludGYoTVNHX0RFQlVHLCAiRlQ6IEZhaWxlZCB0byBwYXJzZSBJRXMiKTsKLSAJCXJldHVybiAtMTsKLUBAIC03ODEsNiArNzg3LDggQEAgaW50IHdwYV9mdF92YWxpZGF0ZV9yZWFzc29jX3Jlc3Aoc3RydWN0IHdwYV9zbSAqc20sIGNvbnN0IHU4ICppZXMsCi0gCQlyZXR1cm4gLTE7Ci0gCX0KLSAKLSsJc20tPmZ0X3JlYXNzb2NfY29tcGxldGVkID0gMTsKLSsKLSAJaWYgKHdwYV9mdF9wcm9jZXNzX2d0a19zdWJlbGVtKHNtLCBwYXJzZS5ndGssIHBhcnNlLmd0a19sZW4pIDwgMCkKLSAJCXJldHVybiAtMTsKLSAKLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhX2kuaCBiL3NyYy9yc25fc3VwcC93cGFfaS5oCi1pbmRleCA0MWYzNzFmLi41NmY4OGRjIDEwMDY0NAotLS0tIGEvc3JjL3Jzbl9zdXBwL3dwYV9pLmgKLSsrKyBiL3NyYy9yc25fc3VwcC93cGFfaS5oCi1AQCAtMTI4LDYgKzEyOCw3IEBAIHN0cnVjdCB3cGFfc20gewotIAlzaXplX3QgcjBraF9pZF9sZW47Ci0gCXU4IHIxa2hfaWRbRlRfUjFLSF9JRF9MRU5dOwotIAlpbnQgZnRfY29tcGxldGVkOwotKwlpbnQgZnRfcmVhc3NvY19jb21wbGV0ZWQ7Ci0gCWludCBvdmVyX3RoZV9kc19pbl9wcm9ncmVzczsKLSAJdTggdGFyZ2V0X2FwW0VUSF9BTEVOXTsgLyogb3Zlci10aGUtRFMgdGFyZ2V0IEFQICovCi0gCWludCBzZXRfcHRrX2FmdGVyX2Fzc29jOwotLS0gCi0yLjcuNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC1DVkUtMjAxOC0xNDUyNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudC1DVkUtMjAxOC0xNDUyNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTgwMGE0MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi13cGFfc3VwcGxpY2FudC0yLjY6IEZpeCBDVkUtMjAxOC0xNDUyNgotCi1bTm8gdXBzdHJlYW0gdHJhY2tpbmddIC0tIGh0dHBzOi8vdzEuZmkvc2VjdXJpdHkvMjAxOC0xL3VuYXV0aGVudGljYXRlZC1lYXBvbC1rZXktZGVjcnlwdGlvbi50eHQKLQotd3BhOiBJZ25vcmUgdW5hdXRoZW50aWNhdGVkIGVuY3J5cHRlZCBFQVBPTC1LZXkgZGF0YQotCi1JZ25vcmUgdW5hdXRoZW50aWNhdGVkIGVuY3J5cHRlZCBFQVBPTC1LZXkgZGF0YSBpbiBzdXBwbGljYW50Ci1wcm9jZXNzaW5nLiBXaGVuIHVzaW5nIFdQQTIsIHRoZXNlIGFyZSBmcmFtZXMgdGhhdCBoYXZlIHRoZSBFbmNyeXB0ZWQKLWZsYWcgc2V0LCBidXQgbm90IHRoZSBNSUMgZmxhZy4KLQotV2hlbiB1c2luZyBXUEEyLCBFQVBPTC1LZXkgZnJhbWVzIHRoYXQgaGFkIHRoZSBFbmNyeXB0ZWQgZmxhZyBzZXQgYnV0Ci1ub3QgdGhlIE1JQyBmbGFnLCBoYWQgdGhlaXIgZGF0YSBmaWVsZCBkZWNyeXB0ZWQgd2l0aG91dCBmaXJzdCB2ZXJpZnlpbmcKLXRoZSBNSUMuIEluIGNhc2UgdGhlIGRhdGEgZmllbGQgd2FzIGVuY3J5cHRlZCB1c2luZyBSQzQgKGkuZS4sIHdoZW4KLW5lZ290aWF0aW5nIFRLSVAgYXMgdGhlIHBhaXJ3aXNlIGNpcGhlciksIHRoaXMgbWVhbnQgdGhhdAotdW5hdXRoZW50aWNhdGVkIGJ1dCBkZWNyeXB0ZWQgZGF0YSB3b3VsZCB0aGVuIGJlIHByb2Nlc3NlZC4gQW4gYWR2ZXJzYXJ5Ci1jb3VsZCBhYnVzZSB0aGlzIGFzIGEgZGVjcnlwdGlvbiBvcmFjbGUgdG8gcmVjb3ZlciBzZW5zaXRpdmUgaW5mb3JtYXRpb24KLWluIHRoZSBkYXRhIGZpZWxkIG9mIEVBUE9MLUtleSBtZXNzYWdlcyAoZS5nLiwgdGhlIGdyb3VwIGtleSkuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vdzEuZmkvY2dpdC9ob3N0YXAvY29tbWl0L3NyYy9yc25fc3VwcC93cGEuYz9pZD0zZTM0Y2ZkZmY2YjE5MmZlMzM3YzZmYjNmNDg3ZjczZTk2NTgyOTYxXQotQ1ZFOiBDVkUtMjAxOC0xNDUyNgotU2lnbmVkLW9mZi1ieTogQW5kcmVqIFZhbGVrIDxhbmRyZWoudmFsZWtAc2llbWVucy5jb20+Ci0KLWRpZmYgLS1naXQgYS9zcmMvcnNuX3N1cHAvd3BhLmMgYi9zcmMvcnNuX3N1cHAvd3BhLmMKLWluZGV4IDNjNDc4NzkuLjZiZGY5MjMgMTAwNjQ0Ci0tLS0gYS9zcmMvcnNuX3N1cHAvd3BhLmMKLSsrKyBiL3NyYy9yc25fc3VwcC93cGEuYwotQEAgLTIwMTYsNiArMjAxNiwxNyBAQCBpbnQgd3BhX3NtX3J4X2VhcG9sKHN0cnVjdCB3cGFfc20gKnNtLCBjb25zdCB1OCAqc3JjX2FkZHIsCi0KLSAJaWYgKChzbS0+cHJvdG8gPT0gV1BBX1BST1RPX1JTTiB8fCBzbS0+cHJvdG8gPT0gV1BBX1BST1RPX09TRU4pICYmCi0gCSAgICAoa2V5X2luZm8gJiBXUEFfS0VZX0lORk9fRU5DUl9LRVlfREFUQSkpIHsKLSsJCS8qCi0rCQkgKiBPbmx5IGRlY3J5cHQgdGhlIEtleSBEYXRhIGZpZWxkIGlmIHRoZSBmcmFtZSdzIGF1dGhlbnRpY2l0eQotKwkJICogd2FzIHZlcmlmaWVkLiBXaGVuIHVzaW5nIEFFUy1TSVYgKEZJTFMpLCB0aGUgTUlDIGZsYWcgaXMgbm90Ci0rCQkgKiBzZXQsIHNvIHRoaXMgY2hlY2sgc2hvdWxkIG9ubHkgYmUgcGVyZm9ybWVkIGlmIG1pY19sZW4gIT0gMAotKwkJICogd2hpY2ggaXMgdGhlIGNhc2UgaW4gdGhpcyBjb2RlIGJyYW5jaC4KLSsJCSAqLwotKwkJaWYgKCEoa2V5X2luZm8gJiBXUEFfS0VZX0lORk9fTUlDKSkgewotKwkJCXdwYV9tc2coc20tPmN0eC0+bXNnX2N0eCwgTVNHX1dBUk5JTkcsCi0rCQkJCSJXUEE6IElnbm9yZSBFQVBPTC1LZXkgd2l0aCBlbmNyeXB0ZWQgYnV0IHVuYXV0aGVudGljYXRlZCBkYXRhIik7Ci0rCQkJZ290byBvdXQ7Ci0rCQl9Ci0gCQlpZiAod3BhX3N1cHBsaWNhbnRfZGVjcnlwdF9rZXlfZGF0YShzbSwga2V5LCB2ZXIsIGtleV9kYXRhLAotIAkJCQkJCSAgICAma2V5X2RhdGFfbGVuKSkKLSAJCQlnb3RvIG91dDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTRjNGMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvbm5lY3Rpdml0eS93cGEtc3VwcGxpY2FudC93cGEtc3VwcGxpY2FudF8yLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTkgKzAsMCBAQAotU1VNTUFSWSA9ICJDbGllbnQgZm9yIFdpLUZpIFByb3RlY3RlZCBBY2Nlc3MgKFdQQSkiCi1IT01FUEFHRSA9ICJodHRwOi8vdzEuZmkvd3BhX3N1cHBsaWNhbnQvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vdzEuZmkvc2VjdXJpdHkvIgotU0VDVElPTiA9ICJuZXR3b3JrIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yOTJlZWNlM2YyZWJiYWEyNTYwOGVlZDg0NjQwMThhMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE7ZW5kbGluZT01NjttZDU9M2YwMWQ3NzhiZThmOTUzOTYyMzg4MzA3ZWUzOGVkMmIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTEyO21kNT00MDYxNjEyZmM1NzE1Njk2MTM0ZTNiYWY5MzNlOGFiYSIKLURFUEVORFMgPSAiZGJ1cyBsaWJubCIKLVJSRUNPTU1FTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpIgotCi1QQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIiwsZ251dGxzIGxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLCxvcGVuc3NsIgotCi1pbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ3cGFfc3VwcGxpY2FudC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LW5sODAyMTFALnNlcnZpY2Ugd3BhX3N1cHBsaWNhbnQtd2lyZWRALnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3cxLmZpL3JlbGVhc2VzL3dwYV9zdXBwbGljYW50LSR7UFZ9LnRhci5neiAgXAotICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL3dwYS1zdXBwbGljYW50LnNoIFwKLSAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lIFwKLSAgICAgICAgICAgZmlsZTovLzk5X3dwYV9zdXBwbGljYW50IFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlMS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGUzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8va2V5LXJlcGxheS1jdmUtbXVsdGlwbGU2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2tleS1yZXBsYXktY3ZlLW11bHRpcGxlNy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXktcmVwbGF5LWN2ZS1tdWx0aXBsZTgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQtQ1ZFLTIwMTgtMTQ1MjYucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwOTE1NjllYjQ0NDBiN2Q3ZjJiNDI3NmRiZmMwM2MzYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNDkzNmQzNGM0ZTZjZGQ0NDk1NGJlYmE3NDI5NmQ5NjRiYzJjOTY2OGVjYWE1MjU1ZTQ5OTYzNmZlMmIxNDUwIgotCi1DVkVfUFJPRFVDVCA9ICJ3cGFfc3VwcGxpY2FudCIKLQotUyA9ICIke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LSR7UFZ9IgotCi1QQUNLQUdFU19wcmVwZW5kID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpICIKLUZJTEVTX3dwYS1zdXBwbGljYW50LXBhc3NwaHJhc2UgPSAiJHtiaW5kaXJ9L3dwYV9wYXNzcGhyYXNlIgotRklMRVNfd3BhLXN1cHBsaWNhbnQtY2xpID0gIiR7c2JpbmRpcn0vd3BhX2NsaSIKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMvKiIKLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mIgotCi1kb19jb25maWd1cmUgKCkgewotCSR7TUFLRX0gLUMgd3BhX3N1cHBsaWNhbnQgY2xlYW4KLQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9kZWZjb25maWcgd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWVjaG8gIkNGTEFHUyArPVwiLUkke1NUQUdJTkdfSU5DRElSfS9saWJubDNcIiIgPj4gd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWVjaG8gIkRSVl9DRkxBR1MgKz1cIi1JJHtTVEFHSU5HX0lOQ0RJUn0vbGlibmwzXCIiID4+IHdwYV9zdXBwbGljYW50Ly5jb25maWcKLQkKLQlpZiBlY2hvICIke1BBQ0tBR0VDT05GSUd9IiB8IGdyZXAgLXF3ICJvcGVuc3NsIjsgdGhlbgotICAgICAgICAJc3NsPW9wZW5zc2wKLQllbGlmIGVjaG8gIiR7UEFDS0FHRUNPTkZJR30iIHwgZ3JlcCAtcXcgImdudXRscyI7IHRoZW4KLSAgICAgICAgCXNzbD1nbnV0bHMKLQlmaQotCWlmIFsgLW4gIiRzc2wiIF07IHRoZW4KLSAgICAgICAgCXNlZCAtaSAicy8lc3NsJS8kc3NsLyIgd3BhX3N1cHBsaWNhbnQvLmNvbmZpZwotCWZpCi0KLQkjIEZvciByZWJ1aWxkCi0Jcm0gLWYgd3BhX3N1cHBsaWNhbnQvKi5kIHdwYV9zdXBwbGljYW50L2RidXMvKi5kCi19Ci0KLWV4cG9ydCBFWFRSQV9DRkxBR1MgPSAiJHtDRkxBR1N9IgotZXhwb3J0IEJJTkRJUiA9ICIke3NiaW5kaXJ9IgotCi1kb19jb21waWxlICgpIHsKLQl1bnNldCBDRkxBR1MgQ1BQRkxBR1MgQ1hYRkxBR1MKLQlzZWQgLWUgInM6Q0ZMQUdTXCA9Lio6JiBcJChFWFRSQV9DRkxBR1MpOmciIC1pICR7U30vc3JjL2xpYi5ydWxlcwotCW9lX3J1bm1ha2UgLUMgd3BhX3N1cHBsaWNhbnQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtzYmluZGlyfQotCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9zdXBwbGljYW50ICR7RH0ke3NiaW5kaXJ9Ci0JaW5zdGFsbCAtbSA3NTUgd3BhX3N1cHBsaWNhbnQvd3BhX2NsaSAgICAgICAgJHtEfSR7c2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQotCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9wYXNzcGhyYXNlICR7RH0ke2JpbmRpcn0KLQotCWluc3RhbGwgLWQgJHtEfSR7ZG9jZGlyfS93cGFfc3VwcGxpY2FudAotCWluc3RhbGwgLW0gNjQ0IHdwYV9zdXBwbGljYW50L1JFQURNRSAke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LmNvbmYgJHtEfSR7ZG9jZGlyfS93cGFfc3VwcGxpY2FudAotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gNjAwICR7V09SS0RJUn0vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lICR7RH0ke3N5c2NvbmZkaXJ9L3dwYV9zdXBwbGljYW50LmNvbmYKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1wcmUtdXAuZC8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcG9zdC1kb3duLmQvCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLWRvd24uZC8KLQlpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L3dwYS1zdXBwbGljYW50LnNoICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcHJlLXVwLmQvd3BhLXN1cHBsaWNhbnQKLQljZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrLyAmJiBcCi0JbG4gLXNmIC4uL2lmLXByZS11cC5kL3dwYS1zdXBwbGljYW50IGlmLXBvc3QtZG93bi5kL3dwYS1zdXBwbGljYW50Ci0KLQlpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQKLQlpbnN0YWxsIC1tIDY0NCAke1N9L3dwYV9zdXBwbGljYW50L2RidXMvZGJ1cy13cGFfc3VwcGxpY2FudC5jb25mICR7RH0vJHtzeXNjb25mZGlyfS9kYnVzLTEvc3lzdGVtLmQKLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9kYnVzLyouc2VydmljZSAke0R9LyR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcwotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCQlpbnN0YWxsIC1tIDY0NCAke1N9L3dwYV9zdXBwbGljYW50L3N5c3RlbWQvKi5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWZpCi0KLQlpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vOTlfd3BhX3N1cHBsaWNhbnQgJHtEfS9ldGMvZGVmYXVsdC92b2xhdGlsZXMKLX0KLQotcGtnX3Bvc3RpbnN0X3dwYS1zdXBwbGljYW50ICgpIHsKLQkjIElmIHdlJ3JlIG9mZmxpbmUsIHdlIGRvbid0IG5lZWQgdG8gZG8gdGhpcy4KLQlpZiBbICJ4JEQiID0gIngiIF07IHRoZW4KLQkJa2lsbGFsbCAtcSAtSFVQIGRidXMtZGFlbW9uIHx8IHRydWUKLQlmaQotCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb25uZWN0aXZpdHkvd3BhLXN1cHBsaWNhbnQvd3BhLXN1cHBsaWNhbnRfMi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTVmYTJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29ubmVjdGl2aXR5L3dwYS1zdXBwbGljYW50L3dwYS1zdXBwbGljYW50XzIuNy5iYgpAQCAtMCwwICsxLDEwOSBAQAorU1VNTUFSWSA9ICJDbGllbnQgZm9yIFdpLUZpIFByb3RlY3RlZCBBY2Nlc3MgKFdQQSkiCitIT01FUEFHRSA9ICJodHRwOi8vdzEuZmkvd3BhX3N1cHBsaWNhbnQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vdzEuZmkvc2VjdXJpdHkvIgorU0VDVElPTiA9ICJuZXR3b3JrIgorTElDRU5TRSA9ICJCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMzc5MWMyNzBhZDZiYjAyNjcwN2QxN2JmNzUwZTVlZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTE7ZW5kbGluZT01NjttZDU9NDk1Y2JjZTYwMDgyNTNkZTRiNGQ4ZjRjZGZhZTlmNGYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQvd3BhX3N1cHBsaWNhbnQuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTEyO21kNT1hNTY4NzkwM2EzMWI4Njc5ZTZhMDZiM2FmYTVjODE5ZSIKK0RFUEVORFMgPSAiZGJ1cyBsaWJubCIKK1JSRUNPTU1FTkRTXyR7UE59ID0gIndwYS1zdXBwbGljYW50LXBhc3NwaHJhc2Ugd3BhLXN1cHBsaWNhbnQtY2xpIgorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIiwsZ251dGxzIGxpYmdjcnlwdCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLCxvcGVuc3NsIgorCitpbmhlcml0IHBrZ2NvbmZpZyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ3cGFfc3VwcGxpY2FudC5zZXJ2aWNlIHdwYV9zdXBwbGljYW50LW5sODAyMTFALnNlcnZpY2Ugd3BhX3N1cHBsaWNhbnQtd2lyZWRALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3cxLmZpL3JlbGVhc2VzL3dwYV9zdXBwbGljYW50LSR7UFZ9LnRhci5neiAgXAorICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKKyAgICAgICAgICAgZmlsZTovL3dwYS1zdXBwbGljYW50LnNoIFwKKyAgICAgICAgICAgZmlsZTovL3dwYV9zdXBwbGljYW50LmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vd3BhX3N1cHBsaWNhbnQuY29uZi1zYW5lIFwKKyAgICAgICAgICAgZmlsZTovLzk5X3dwYV9zdXBwbGljYW50IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1zeXN0ZW1kLWluc3RhbGwtQWxpYXMtd2l0aC1XYW50ZWRCeS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImE2ODUzOGZiNjI3NjZmNDBmODkwMTI1MDI2YzQyYzEwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2ZWE2YjA2YjdhMmVhOGU2ZDllYjFhOTE2NjE2NmYxNjU2ZTZkNDhjNzUwODkxNGY1OTIxMDBjOTVjNzMwNzQiCisKK0NWRV9QUk9EVUNUID0gIndwYV9zdXBwbGljYW50IgorCitTID0gIiR7V09SS0RJUn0vd3BhX3N1cHBsaWNhbnQtJHtQVn0iCisKK1BBQ0tBR0VTX3ByZXBlbmQgPSAid3BhLXN1cHBsaWNhbnQtcGFzc3BocmFzZSB3cGEtc3VwcGxpY2FudC1jbGkgIgorRklMRVNfd3BhLXN1cHBsaWNhbnQtcGFzc3BocmFzZSA9ICIke2JpbmRpcn0vd3BhX3Bhc3NwaHJhc2UiCitGSUxFU193cGEtc3VwcGxpY2FudC1jbGkgPSAiJHtzYmluZGlyfS93cGFfY2xpIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy8qIgorQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3dwYV9zdXBwbGljYW50LmNvbmYiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisJJHtNQUtFfSAtQyB3cGFfc3VwcGxpY2FudCBjbGVhbgorCWluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlZmNvbmZpZyB3cGFfc3VwcGxpY2FudC8uY29uZmlnCisJCisJaWYgZWNobyAiJHtQQUNLQUdFQ09ORklHfSIgfCBncmVwIC1xdyAib3BlbnNzbCI7IHRoZW4KKyAgICAgICAgCXNzbD1vcGVuc3NsCisJZWxpZiBlY2hvICIke1BBQ0tBR0VDT05GSUd9IiB8IGdyZXAgLXF3ICJnbnV0bHMiOyB0aGVuCisgICAgICAgIAlzc2w9Z251dGxzCisJZmkKKwlpZiBbIC1uICIkc3NsIiBdOyB0aGVuCisgICAgICAgIAlzZWQgLWkgInMvJXNzbCUvJHNzbC8iIHdwYV9zdXBwbGljYW50Ly5jb25maWcKKwlmaQorCisJIyBGb3IgcmVidWlsZAorCXJtIC1mIHdwYV9zdXBwbGljYW50LyouZCB3cGFfc3VwcGxpY2FudC9kYnVzLyouZAorfQorCitleHBvcnQgRVhUUkFfQ0ZMQUdTID0gIiR7Q0ZMQUdTfSIKK2V4cG9ydCBCSU5ESVIgPSAiJHtzYmluZGlyfSIKKworZG9fY29tcGlsZSAoKSB7CisJdW5zZXQgQ0ZMQUdTIENQUEZMQUdTIENYWEZMQUdTCisJc2VkIC1lICJzOkNGTEFHU1wgPS4qOiYgXCQoRVhUUkFfQ0ZMQUdTKTpnIiAtaSAke1N9L3NyYy9saWIucnVsZXMKKwlvZV9ydW5tYWtlIC1DIHdwYV9zdXBwbGljYW50Cit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfc3VwcGxpY2FudCAke0R9JHtzYmluZGlyfQorCWluc3RhbGwgLW0gNzU1IHdwYV9zdXBwbGljYW50L3dwYV9jbGkgICAgICAgICR7RH0ke3NiaW5kaXJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDc1NSB3cGFfc3VwcGxpY2FudC93cGFfcGFzc3BocmFzZSAke0R9JHtiaW5kaXJ9CisKKwlpbnN0YWxsIC1kICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKKwlpbnN0YWxsIC1tIDY0NCB3cGFfc3VwcGxpY2FudC9SRUFETUUgJHtXT1JLRElSfS93cGFfc3VwcGxpY2FudC5jb25mICR7RH0ke2RvY2Rpcn0vd3BhX3N1cHBsaWNhbnQKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKwlpbnN0YWxsIC1tIDYwMCAke1dPUktESVJ9L3dwYV9zdXBwbGljYW50LmNvbmYtc2FuZSAke0R9JHtzeXNjb25mZGlyfS93cGFfc3VwcGxpY2FudC5jb25mCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L25ldHdvcmsvaWYtcHJlLXVwLmQvCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXBvc3QtZG93bi5kLworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay9pZi1kb3duLmQvCisJaW5zdGFsbCAtbSA3NTUgJHtXT1JLRElSfS93cGEtc3VwcGxpY2FudC5zaCAke0R9JHtzeXNjb25mZGlyfS9uZXR3b3JrL2lmLXByZS11cC5kL3dwYS1zdXBwbGljYW50CisJY2QgJHtEfSR7c3lzY29uZmRpcn0vbmV0d29yay8gJiYgXAorCWxuIC1zZiAuLi9pZi1wcmUtdXAuZC93cGEtc3VwcGxpY2FudCBpZi1wb3N0LWRvd24uZC93cGEtc3VwcGxpY2FudAorCisJaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCisJaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9kYnVzL2RidXMtd3BhX3N1cHBsaWNhbnQuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kCisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcworCWluc3RhbGwgLW0gNjQ0ICR7U30vd3BhX3N1cHBsaWNhbnQvZGJ1cy8qLnNlcnZpY2UgJHtEfS8ke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0tc2VydmljZXMKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwkJaW5zdGFsbCAtbSA2NDQgJHtTfS93cGFfc3VwcGxpY2FudC9zeXN0ZW1kLyouc2VydmljZSAke0R9LyR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlmaQorCisJaW5zdGFsbCAtZCAke0R9L2V0Yy9kZWZhdWx0L3ZvbGF0aWxlcworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X3dwYV9zdXBwbGljYW50ICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCit9CisKK3BrZ19wb3N0aW5zdF93cGEtc3VwcGxpY2FudCAoKSB7CisJIyBJZiB3ZSdyZSBvZmZsaW5lLCB3ZSBkb24ndCBuZWVkIHRvIGRvIHRoaXMuCisJaWYgWyAieCREIiA9ICJ4IiBdOyB0aGVuCisJCWtpbGxhbGwgLXEgLUhVUCBkYnVzLWRhZW1vbiB8fCB0cnVlCisJZmkKKworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvZmlsZXN5c3RlbXMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9maWxlc3lzdGVtcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U2YzQxYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9maWxlc3lzdGVtcworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotZXh0NAotZXh0MwotZXh0MgotdmZhdAotZmF0Ci1idHJmcwotbWluaXgKLSoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL2hvc3RzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXMvaG9zdHMKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlL2hvc3RzCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlcy9ob3N0cwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXNfMy4wLjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9iYXNlLWZpbGVzL2Jhc2UtZmlsZXNfMy4wLjE0LmJiCmluZGV4IDZlNzU2NTIuLmExNjM5ZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYmFzZS1maWxlcy9iYXNlLWZpbGVzXzMuMC4xNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Jhc2UtZmlsZXMvYmFzZS1maWxlc18zLjAuMTQuYmIKQEAgLTEzLDExICsxMywxMSBAQAogU1JDX1VSSSA9ICJmaWxlOi8vcm90YXRpb24gXAogICAgICAgICAgICBmaWxlOi8vbnNzd2l0Y2guY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly9tb3RkIFwKKyAgICAgICAgICAgZmlsZTovL2hvc3RzIFwKICAgICAgICAgICAgZmlsZTovL2hvc3QuY29uZiBcCiAgICAgICAgICAgIGZpbGU6Ly9wcm9maWxlIFwKICAgICAgICAgICAgZmlsZTovL3NoZWxscyBcCiAgICAgICAgICAgIGZpbGU6Ly9mc3RhYiBcCi0gICAgICAgICAgIGZpbGU6Ly9maWxlc3lzdGVtcyBcCiAgICAgICAgICAgIGZpbGU6Ly9pc3N1ZS5uZXQgXAogICAgICAgICAgICBmaWxlOi8vaXNzdWUgXAogICAgICAgICAgICBmaWxlOi8vdXNiZCBcCkBAIC0xMTMsNiArMTEzLDcgQEAKIAlsbiAtc25mIC4uL3J1biAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KIAlsbiAtc25mIC4uL3J1bi9sb2NrICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xvY2sKIAorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2hvc3RzICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RzCiAJJHtCQVNFRklMRVNJU1NVRUlOU1RBTEx9CiAKIAlyb3RhdGlvbj1gY2F0ICR7V09SS0RJUn0vcm90YXRpb25gCkBAIC0xMjEsNyArMTIyLDYgQEAKIAlmaQogCiAJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZnN0YWIgJHtEfSR7c3lzY29uZmRpcn0vZnN0YWIKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9maWxlc3lzdGVtcyAke0R9JHtzeXNjb25mZGlyfS9maWxlc3lzdGVtcwogCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3VzYmQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC91c2JkCiAJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcHJvZmlsZSAke0R9JHtzeXNjb25mZGlyfS9wcm9maWxlCiAJc2VkIC1pICdzI1JPT1RIT01FIyR7Uk9PVF9IT01FfSMnICR7RH0ke3N5c2NvbmZkaXJ9L3Byb2ZpbGUKQEAgLTE0MCw2ICsxNDAsNyBAQAogZG9faW5zdGFsbF9iYXNlZmlsZXNpc3N1ZSAoKSB7CiAJaWYgWyAiJHtob3N0bmFtZX0iIF07IHRoZW4KIAkJZWNobyAke2hvc3RuYW1lfSA+ICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RuYW1lCisJCWVjaG8gIjEyNy4wLjEuMSAke2hvc3RuYW1lfSIgPj4gJHtEfSR7c3lzY29uZmRpcn0vaG9zdHMKIAlmaQogCiAJaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9pc3N1ZSogICR7RH0ke3N5c2NvbmZkaXJ9CkBAIC0xNDcsNyArMTQ4LDcgQEAKIAkJcHJpbnRmICIke0RJU1RST19OQU1FfSAiID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2lzc3VlCiAJCXByaW50ZiAiJHtESVNUUk9fTkFNRX0gIiA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZS5uZXQKIAkJaWYgWyAtbiAiJHtESVNUUk9fVkVSU0lPTn0iIF07IHRoZW4KLQkJCWRpc3Ryb192ZXJzaW9uX25vZGF0ZT0ke0AnJHtESVNUUk9fVkVSU0lPTn0nLnJlcGxhY2UoJ3NuYXBzaG90LSR7REFURX0nLCdzbmFwc2hvdCcpLnJlcGxhY2UoJyR7REFURX0nLCcnKX0KKwkJCWRpc3Ryb192ZXJzaW9uX25vZGF0ZT0iJHtAZC5nZXRWYXIoJ0RJU1RST19WRVJTSU9OJykucmVwbGFjZSgnc25hcHNob3QtJHtEQVRFfScsJ3NuYXBzaG90JykucmVwbGFjZSgnJHtEQVRFfScsJycpfSIKIAkJCXByaW50ZiAiJXMgIiAkZGlzdHJvX3ZlcnNpb25fbm9kYXRlID4+ICR7RH0ke3N5c2NvbmZkaXJ9L2lzc3VlCiAJCQlwcmludGYgIiVzICIgJGRpc3Ryb192ZXJzaW9uX25vZGF0ZSA+PiAke0R9JHtzeXNjb25mZGlyfS9pc3N1ZS5uZXQKIAkJZmkKQEAgLTE3Nyw1ICsxNzgsNSBAQAogCiBQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgogCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9mc3RhYiAke0BbJycsICcke3N5c2NvbmZkaXJ9L2hvc3RuYW1lJ11bKGQuZ2V0VmFyKCdob3N0bmFtZScpICE9ICcnKV19ICR7c3lzY29uZmRpcn0vc2hlbGxzIgorQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZnN0YWIgJHtAWycnLCAnJHtzeXNjb25mZGlyfS9ob3N0bmFtZSAke3N5c2NvbmZkaXJ9L2hvc3RzJ11bKGQuZ2V0VmFyKCdob3N0bmFtZScpICE9ICcnKV19ICR7c3lzY29uZmRpcn0vc2hlbGxzIgogQ09ORkZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L21vdGQgJHtzeXNjb25mZGlyfS9uc3N3aXRjaC5jb25mICR7c3lzY29uZmRpcn0vcHJvZmlsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LWluaXR0YWJfMS4yOS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gtaW5pdHRhYl8xLjMwLjEuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LWluaXR0YWJfMS4yOS4zLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC1pbml0dGFiXzEuMzAuMS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3guaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3guaW5jCmluZGV4IDBjMGQyNmUuLmM5ZDI1ZmYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC5pbmMKQEAgLTUzLDYgKzUzLDkgQEAKIAogaW5oZXJpdCBjbWwxIHN5c3RlbWQgdXBkYXRlLXJjLmQgcHRlc3QKIAorIyBidXN5Ym94J3MgdW56aXAgdGVzdCBjYXNlIG5lZWRzIHppcCBjb21tYW5kLCB3aGljaCBidXN5Ym94IGl0c2VsZiBkb2VzIG5vdCBwcm92aWRlCitSREVQRU5EU18ke1BOfS1wdGVzdCA9ICJ6aXAiCisKICMgaW50ZXJuYWwgaGVscGVyCiBkZWYgYnVzeWJveF9jZmcoZmVhdHVyZSwgdG9rZW5zLCBjbmYsIHJlbSk6CiAgICAgaWYgdHlwZSh0b2tlbnMpID09IHR5cGUoIiIpOgpAQCAtNzIsOCArNzUsNyBAQAogICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbmxzJywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX0xPQ0FMRV9TVVBQT1JUJywgY25mLCByZW0pCiAgICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY0JywgVHJ1ZSwgRmFsc2UsIGQpLCAnQ09ORklHX0ZFQVRVUkVfSUZVUERPV05fSVBWNCcsIGNuZiwgcmVtKQogICAgIGJ1c3lib3hfY2ZnKGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIFRydWUsIEZhbHNlLCBkKSwgJ0NPTkZJR19GRUFUVVJFX0lGVVBET1dOX0lQVjYnLCBjbmYsIHJlbSkKLSAgICBidXN5Ym94X2NmZyhiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dpZmknLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCi0gICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdibHVldG9vdGgnLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCisgICAgYnVzeWJveF9jZmcoYmIudXRpbHMuY29udGFpbnNfYW55KCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoIHdpZmknLCBUcnVlLCBGYWxzZSwgZCksICdDT05GSUdfUkZLSUxMJywgY25mLCByZW0pCiAgICAgcmV0dXJuICJcbiIuam9pbihjbmYpLCAiXG4iLmpvaW4ocmVtKQogCiAjIFgsIFkgPSAke0BmZWF0dXJlc190b19idXN5Ym94X3NldHRpbmdzKGQpfQpAQCAtMzQ5LDYgKzM1MSwyMCBAQAogCWNwIC1yICR7Qn0vdGVzdHN1aXRlICR7RH0ke1BURVNUX1BBVEh9LwogCWNwICR7Qn0vLmNvbmZpZyAgICAgICR7RH0ke1BURVNUX1BBVEh9LwogCWxuIC1zIC9iaW4vYnVzeWJveCAgICR7RH0ke1BURVNUX1BBVEh9L2J1c3lib3gKKworCW1rZGlyICR7RH0ke1BURVNUX1BBVEh9L2JpbgorCWlmIFsgIiR7QlVTWUJPWF9TUExJVF9TVUlEfSIgPSAiMSIgXTsgdGhlbgorCQl3aGlsZSByZWFkIGxpbms7IGRvCisJCQlsbiAtcyAke2Jhc2VfYmluZGlyfS9idXN5Ym94LnN1aWQgJHtEfSR7UFRFU1RfUEFUSH0vYmluLyQoYmFzZW5hbWUgJGxpbmspCisJCWRvbmUgPCR7RH0ke3N5c2NvbmZkaXJ9L2J1c3lib3gubGlua3Muc3VpZAorCQl3aGlsZSByZWFkIGxpbms7IGRvCisJCQlsbiAtcyAke2Jhc2VfYmluZGlyfS9idXN5Ym94Lm5vc3VpZCAke0R9JHtQVEVTVF9QQVRIfS9iaW4vJChiYXNlbmFtZSAkbGluaykKKwkJZG9uZSA8JHtEfSR7c3lzY29uZmRpcn0vYnVzeWJveC5saW5rcy5ub3N1aWQKKwllbHNlCisJCXdoaWxlIHJlYWQgbGluazsgZG8KKwkJCWxuIC1zICR7YmFzZV9iaW5kaXJ9L2J1c3lib3ggJHtEfSR7UFRFU1RfUEFUSH0vYmluLyQoYmFzZW5hbWUgJGxpbmspCisJCWRvbmUgPCR7RH0ke3N5c2NvbmZkaXJ9L2J1c3lib3gubGlua3MKKwlmaQogfQogCiBpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKQEAgLTQ1NSw0ICs0NzEsNCBAQAogCWZpCiB9CiAKLVJQUk9WSURFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd1c3JtZXJnZScsICcvYmluL3NoJywgJycsIGQpfSIKK1JQUk9WSURFU18ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd1c3JtZXJnZScsICcvYmluL3NoIC9iaW4vYXNoJywgJycsIGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtZHUtbC13b3Jrcy1maXgtdG8tdXNlLTE0NS1pbnN0ZWFkLW9mLTE0NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtZHUtbC13b3Jrcy1maXgtdG8tdXNlLTE0NS1pbnN0ZWFkLW9mLTE0NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjVmNzUzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvMDAwMS1kdS1sLXdvcmtzLWZpeC10by11c2UtMTQ1LWluc3RlYWQtb2YtMTQ0LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYzY5ZmViMmZkYjc1NWQ2ZGIzNGQwZWIwYTllOTk5NDM4NmMxNWUzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMTQgTm92IDIwMTggMTU6MTk6NTcgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZHUtbC13b3JrczogZml4IHRvIHVzZSAxNDUgaW5zdGVhZCBvZiAxNDQKKworNjQgKyA2NCArIDE2ID0gMTQ0CisxNDQgKyBzaXplX29mX2RpcmVjdG9yeSA+PSAxNDUKK1NvIGZpeCB0byB1c2UgMTQ1IGluc3RlYWQgb2YgMTQ0LgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL2xpc3RzLmJ1c3lib3gubmV0L3BpcGVybWFpbC9idXN5Ym94LzIwMTgtTm92ZW1iZXIvMDg2ODM2Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzdWl0ZS9kdS9kdS1sLXdvcmtzIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL2R1L2R1LWwtd29ya3MgYi90ZXN0c3VpdGUvZHUvZHUtbC13b3JrcworaW5kZXggYWY4NzM0NS4uNTc1MDY0YSAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS9kdS9kdS1sLXdvcmtzCisrKysgYi90ZXN0c3VpdGUvZHUvZHUtbC13b3JrcworQEAgLTUsNyArNSw3IEBAIGNkIGR1LnRlc3RkaXIKKyBkZCBpZj0vZGV2L3plcm8gb2Y9ZmlsZTEgYnM9MWsgY291bnQ9NjQgMj4vZGV2L251bGwKKyBsbiBmaWxlMSBmaWxlMS4xCisgZGQgaWY9L2Rldi96ZXJvIG9mPWZpbGUyIGJzPTFrIGNvdW50PTE2IDI+L2Rldi9udWxsCistdGVzdCB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTQ0CS4iIFwKKyt0ZXN0IHgiYGJ1c3lib3ggZHUgLWwgLmAiID0geCIxNDUJLiIgXAorICAgLW8geCJgYnVzeWJveCBkdSAtbCAuYCIgPSB4IjE0NgkuIiBcCisgICAtbyB4ImBidXN5Ym94IGR1IC1sIC5gIiA9IHgiMTQ4CS4iIFwKKyAgIC1vIHgiYGJ1c3lib3ggZHUgLWwgLmAiID0geCIxNTIJLiIgXAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS1jaGVjay11dWRlY29kZS1iZWZvcmUtdXNpbmctaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS1jaGVjay11dWRlY29kZS1iZWZvcmUtdXNpbmctaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU0NzJmMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtdGVzdHN1aXRlLWNoZWNrLXV1ZGVjb2RlLWJlZm9yZS11c2luZy1pdC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIDg1ZjE2NGVjNDI3ZmVjYmFlMjQxNDBiM2M5M2FjYmJlMmJhMWM4MTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEzIE5vdiAyMDE4IDExOjI3OjAxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzdWl0ZTogY2hlY2sgdXVkZWNvZGUgYmVmb3JlIHVzaW5nIGl0CisKK1RoZSB1bnppcCBhbmQgdGFyIHRlc3QgY2FzZXMgdXNlIHV1ZGVjb2RlIGNvbW1hbmQsIHNvIGFsc28KK2NoZWNrIGl0IHZpYSBvcHRpb25hbCBmdW5jdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5idXN5Ym94Lm5ldC9waXBlcm1haWwvYnVzeWJveC8yMDE4LU5vdmVtYmVyLzA4NjgzMy5odG1sXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0c3VpdGUvdGFyLnRlc3RzICAgfCAyICstCisgdGVzdHN1aXRlL3VuemlwLnRlc3RzIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3Rhci50ZXN0cyBiL3Rlc3RzdWl0ZS90YXIudGVzdHMKK2luZGV4IGQ3MWEzNDkuLjhjODg1NjcgMTAwNzU1CistLS0gYS90ZXN0c3VpdGUvdGFyLnRlc3RzCisrKysgYi90ZXN0c3VpdGUvdGFyLnRlc3RzCitAQCAtMzM2LDcgKzMzNiw3IEBAIFNLSVA9CisgY2QgLi4gfHwgZXhpdCAxOyBybSAtcmYgdGFyLnRlbXBkaXIgMj4vZGV2L251bGwKKyAKKyBta2RpciB0YXIudGVtcGRpciAmJiBjZCB0YXIudGVtcGRpciB8fCBleGl0IDEKKy1vcHRpb25hbCBGRUFUVVJFX1NFQU1MRVNTX0JaMiBGRUFUVVJFX1RBUl9BVVRPREVURUNUIExTCisrb3B0aW9uYWwgRkVBVFVSRV9TRUFNTEVTU19CWjIgRkVBVFVSRV9UQVJfQVVUT0RFVEVDVCBMUyBVVURFQ09ERQorIHRlc3RpbmcgIlN5bWxpbmsgYXR0YWNrOiBjcmVhdGUgc3ltbGluayBhbmQgdGhlbiB3cml0ZSB0aHJvdWdoIGl0IiAnXAorIGV4ZWMgMj4mMQorIHV1ZGVjb2RlIC1vIGlucHV0ICYmIHRhciB4dmYgaW5wdXQ7IGVjaG8gJD8KK2RpZmYgLS1naXQgYS90ZXN0c3VpdGUvdW56aXAudGVzdHMgYi90ZXN0c3VpdGUvdW56aXAudGVzdHMKK2luZGV4IGFmNTNkZTkuLjNiNDVlY2UgMTAwNzU1CistLS0gYS90ZXN0c3VpdGUvdW56aXAudGVzdHMKKysrKyBiL3Rlc3RzdWl0ZS91bnppcC50ZXN0cworQEAgLTMxLDcgKzMxLDcgQEAgcm1kaXIgZm9vCisgcm0gZm9vLnppcAorIAorICMgRmlsZSBjb250YWluaW5nIHNvbWUgZGFtYWdlZCBlbmNyeXB0ZWQgc3RyZWFtCistb3B0aW9uYWwgRkVBVFVSRV9VTlpJUF9DREYgQ09ORklHX1VOSUNPREVfU1VQUE9SVAorK29wdGlvbmFsIEZFQVRVUkVfVU5aSVBfQ0RGIENPTkZJR19VTklDT0RFX1NVUFBPUlQgVVVERUNPREUKKyB0ZXN0aW5nICJ1bnppcCAoYmFkIGFyY2hpdmUpIiAidXVkZWNvZGU7IHVuemlwIGJhZC56aXAgMj4mMTsgZWNobyBcJD8iIFwKKyAiQXJjaGl2ZTogIGJhZC56aXAKKyAgIGluZmxhdGluZzogXTNqwr1ywqtJPz9LLSVJeAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC8wMDAxLXRlc3RzdWl0ZS11c2Utd3d3LmV4YW1wbGUub3JnLWZvci13Z2V0LXRlc3QtY2FzZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhMGY3NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94LzAwMDEtdGVzdHN1aXRlLXVzZS13d3cuZXhhbXBsZS5vcmctZm9yLXdnZXQtdGVzdC1jYXNlcy5wYXRjaApAQCAtMCwwICsxLDYyIEBACitGcm9tIDAzYWNmNDYwOTkwZGZjZjZlNTJiMjk4MzAxYjM0OGI5NTA0NDYwYTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDEzIE5vdiAyMDE4IDEzOjUxOjQyICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzdWl0ZTogdXNlIHd3dy5leGFtcGxlLm9yZyBmb3Igd2dldCB0ZXN0IGNhc2VzCisKK1VzZSBleGFtcGxlLm9yZyBpbnN0ZWFkIG9mIGdvb2dsZS5jb20gdG8gbWFrZSBzdXJlIGl0J3MKK2Fsd2F5cyByZWFjaGlibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwOi8vbGlzdHMuYnVzeWJveC5uZXQvcGlwZXJtYWlsL2J1c3lib3gvMjAxOC1Ob3ZlbWJlci8wODY4MzUuaHRtbF0KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAgICAgICAgIHwgMiArLQorIHRlc3RzdWl0ZS93Z2V0L3dnZXQtaGFuZGxlcy1lbXB0eS1wYXRoICAgICB8IDIgKy0KKyB0ZXN0c3VpdGUvd2dldC93Z2V0LXJldHJpZXZlcy1nb29nbGUtaW5kZXggfCAyICstCisgdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUCAgICAgICAgICAgIHwgMiArLQorIDQgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC0tTy1vdmVycmlkZXMtLVAgYi90ZXN0c3VpdGUvd2dldC93Z2V0LS1PLW92ZXJyaWRlcy0tUAoraW5kZXggNDBhM2E5Ni4uNDkwZDc0MyAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtLU8tb3ZlcnJpZGVzLS1QCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LS1PLW92ZXJyaWRlcy0tUAorQEAgLTEsNSArMSw1IEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorIG1rZGlyIGZvbworLWJ1c3lib3ggd2dldCAtcSAtTyBpbmRleC5odG1sIC1QIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1PIGluZGV4Lmh0bWwgLVAgZm9vIGh0dHA6Ly93d3cuZXhhbXBsZS5vcmcvCisgdGVzdCAtcyBpbmRleC5odG1sCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC1oYW5kbGVzLWVtcHR5LXBhdGggYi90ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aAoraW5kZXggMDFkNjBiZC4uMTgwMmRiNiAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtaGFuZGxlcy1lbXB0eS1wYXRoCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LWhhbmRsZXMtZW1wdHktcGF0aAorQEAgLTEsMyArMSwzIEBACisgdGVzdCB4IiRTS0lQX0lOVEVSTkVUX1RFU1RTIiAhPSB4IiIgJiYgZXhpdAorIAorLWJ1c3lib3ggd2dldCBodHRwOi8vd3d3Lmdvb2dsZS5jb20KKytidXN5Ym94IHdnZXQgaHR0cDovL3d3dy5leGFtcGxlLm9yZworZGlmZiAtLWdpdCBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleCBiL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleAoraW5kZXggZjlkYmI4Yi4uZmM4MDFkNCAxMDA2NDQKKy0tLSBhL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtcmV0cmlldmVzLWdvb2dsZS1pbmRleAorKysrIGIvdGVzdHN1aXRlL3dnZXQvd2dldC1yZXRyaWV2ZXMtZ29vZ2xlLWluZGV4CitAQCAtMSw0ICsxLDQgQEAKKyB0ZXN0IHgiJFNLSVBfSU5URVJORVRfVEVTVFMiICE9IHgiIiAmJiBleGl0CisgCistYnVzeWJveCB3Z2V0IC1xIC1PIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1PIGZvbyBodHRwOi8vd3d3LmV4YW1wbGUub3JnLworIHRlc3QgLXMgZm9vCitkaWZmIC0tZ2l0IGEvdGVzdHN1aXRlL3dnZXQvd2dldC1zdXBwb3J0cy0tUCBiL3Rlc3RzdWl0ZS93Z2V0L3dnZXQtc3VwcG9ydHMtLVAKK2luZGV4IGJmZTRhYzQuLjRmZjJmZTAgMTAwNjQ0CistLS0gYS90ZXN0c3VpdGUvd2dldC93Z2V0LXN1cHBvcnRzLS1QCisrKysgYi90ZXN0c3VpdGUvd2dldC93Z2V0LXN1cHBvcnRzLS1QCitAQCAtMSw1ICsxLDUgQEAKKyB0ZXN0IHgiJFNLSVBfSU5URVJORVRfVEVTVFMiICE9IHgiIiAmJiBleGl0CisgCisgbWtkaXIgZm9vCistYnVzeWJveCB3Z2V0IC1xIC1QIGZvbyBodHRwOi8vd3d3Lmdvb2dsZS5jb20vCisrYnVzeWJveCB3Z2V0IC1xIC1QIGZvbyBodHRwOi8vd3d3LmV4YW1wbGUub3JnLworIHRlc3QgLXMgZm9vL2luZGV4Lmh0bWwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvZGVmY29uZmlnIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3gvZGVmY29uZmlnCmluZGV4IDMyMjEzYzAuLjQ5M2RiMjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94L2RlZmNvbmZpZworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveC9kZWZjb25maWcKQEAgLTEsNyArMSw3IEBACiAjCiAjIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0Ci0jIEJ1c3lib3ggdmVyc2lvbjogMS4yOS4xCi0jIFRodSBKdWwgMTkgMTE6MDk6NDYgMjAxOAorIyBCdXN5Ym94IHZlcnNpb246IDEuMzAuMQorIyBTdW4gRmViIDE3IDE4OjEyOjI3IDIwMTkKICMKIENPTkZJR19IQVZFX0RPVF9DT05GSUc9eQogCkBAIC0xMiwyOSArMTIsMjkgQEAKICMgQ09ORklHX0VYVFJBX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRURPUkFfQ09NUEFUIGlzIG5vdCBzZXQKICMgQ09ORklHX0lOQ0xVREVfU1VTdjIgaXMgbm90IHNldAotIyBDT05GSUdfVVNFX1BPUlRBQkxFX0NPREUgaXMgbm90IHNldAorQ09ORklHX0xPTkdfT1BUUz15CiBDT05GSUdfU0hPV19VU0FHRT15CiAjIENPTkZJR19GRUFUVVJFX1ZFUkJPU0VfVVNBR0UgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfQ09NUFJFU1NfVVNBR0U9eQotQ09ORklHX0JVU1lCT1g9eQotIyBDT05GSUdfRkVBVFVSRV9JTlNUQUxMRVIgaXMgbm90IHNldAotIyBDT05GSUdfSU5TVEFMTF9OT19VU1IgaXMgbm90IHNldAorQ09ORklHX0xGUz15CiAjIENPTkZJR19QQU0gaXMgbm90IHNldAotQ09ORklHX0xPTkdfT1BUUz15CiBDT05GSUdfRkVBVFVSRV9ERVZQVFM9eQotIyBDT05GSUdfRkVBVFVSRV9DTEVBTl9VUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9VVE1QPXkKICMgQ09ORklHX0ZFQVRVUkVfV1RNUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9QSURGSUxFPXkKIENPTkZJR19QSURfRklMRV9QQVRIPSIvdmFyL3J1biIKK0NPTkZJR19CVVNZQk9YPXkKKyMgQ09ORklHX0ZFQVRVUkVfU0hPV19TQ1JJUFQgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9JTlNUQUxMRVIgaXMgbm90IHNldAorIyBDT05GSUdfSU5TVEFMTF9OT19VU1IgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfU1VJRD15CiBDT05GSUdfRkVBVFVSRV9TVUlEX0NPTkZJRz15CiBDT05GSUdfRkVBVFVSRV9TVUlEX0NPTkZJR19RVUlFVD15Ci0jIENPTkZJR19TRUxJTlVYIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfUFJFRkVSX0FQUExFVFMgaXMgbm90IHNldAogQ09ORklHX0JVU1lCT1hfRVhFQ19QQVRIPSIvcHJvYy9zZWxmL2V4ZSIKKyMgQ09ORklHX1NFTElOVVggaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DTEVBTl9VUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9TWVNMT0c9eQotIyBDT05GSUdfRkVBVFVSRV9IQVZFX1JQQyBpcyBub3Qgc2V0CiBDT05GSUdfUExBVEZPUk1fTElOVVg9eQogCiAjCkBAIC00NCwxNCArNDQsMTYgQEAKICMgQ09ORklHX1BJRSBpcyBub3Qgc2V0CiAjIENPTkZJR19OT01NVSBpcyBub3Qgc2V0CiAjIENPTkZJR19CVUlMRF9MSUJCVVNZQk9YIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTElCQlVTWUJPWF9TVEFUSUMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9JTkRJVklEVUFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfU0hBUkVEX0JVU1lCT1ggaXMgbm90IHNldAotQ09ORklHX0xGUz15CiBDT05GSUdfQ1JPU1NfQ09NUElMRVJfUFJFRklYPSIiCiBDT05GSUdfU1lTUk9PVD0iIgogQ09ORklHX0VYVFJBX0NGTEFHUz0iIgogQ09ORklHX0VYVFJBX0xERkxBR1M9IiIKIENPTkZJR19FWFRSQV9MRExJQlM9IiIKKyMgQ09ORklHX1VTRV9QT1JUQUJMRV9DT0RFIGlzIG5vdCBzZXQKK0NPTkZJR19TVEFDS19PUFRJTUlaQVRJT05fMzg2PXkKIAogIwogIyBJbnN0YWxsYXRpb24gT3B0aW9ucyAoIm1ha2UgaW5zdGFsbCIgYmVoYXZpb3IpCkBAIC04MSw3ICs4Myw5IEBACiAjIExpYnJhcnkgVHVuaW5nCiAjCiAjIENPTkZJR19GRUFUVVJFX1VTRV9CU1NfVEFJTCBpcyBub3Qgc2V0CitDT05GSUdfRkxPQVRfRFVSQVRJT049eQogQ09ORklHX0ZFQVRVUkVfUlRNSU5NQVg9eQorIyBDT05GSUdfRkVBVFVSRV9SVE1JTk1BWF9VU0VfTElCQ19ERUZJTklUSU9OUyBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9CVUZGRVJTX1VTRV9NQUxMT0M9eQogIyBDT05GSUdfRkVBVFVSRV9CVUZGRVJTX0dPX09OX1NUQUNLIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQlVGRkVSU19HT19JTl9CU1MgaXMgbm90IHNldApAQCAtMTAxLDYgKzEwNSw3IEBACiBDT05GSUdfRkVBVFVSRV9UQUJfQ09NUExFVElPTj15CiBDT05GSUdfRkVBVFVSRV9VU0VSTkFNRV9DT01QTEVUSU9OPXkKIENPTkZJR19GRUFUVVJFX0VESVRJTkdfRkFOQ1lfUFJPTVBUPXkKKyMgQ09ORklHX0ZFQVRVUkVfRURJVElOR19XSU5DSCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0VESVRJTkdfQVNLX1RFUk1JTkFMIGlzIG5vdCBzZXQKICMgQ09ORklHX0xPQ0FMRV9TVVBQT1JUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOSUNPREVfU1VQUE9SVCBpcyBub3Qgc2V0CkBAIC0xNDYsMTEgKzE1MSwxMCBAQAogIyBDT05GSUdfVU5MWk1BIGlzIG5vdCBzZXQKIENPTkZJR19MWkNBVD15CiAjIENPTkZJR19MWk1BIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfTFpNQV9GQVNUIGlzIG5vdCBzZXQKICMgQ09ORklHX1VOWFogaXMgbm90IHNldAogQ09ORklHX1haQ0FUPXkKICMgQ09ORklHX1haIGlzIG5vdCBzZXQKLSMgQ09ORklHX0JaSVAyIGlzIG5vdCBzZXQKK0NPTkZJR19CWklQMj15CiBDT05GSUdfRkVBVFVSRV9CWklQMl9ERUNPTVBSRVNTPXkKIENPTkZJR19DUElPPXkKICMgQ09ORklHX0ZFQVRVUkVfQ1BJT19PIGlzIG5vdCBzZXQKQEAgLTE4NSwxMiArMTg5LDE0IEBACiAjIENPTkZJR19GRUFUVVJFX1VOWklQX0JaSVAyIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVU5aSVBfTFpNQSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1VOWklQX1haIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTFpNQV9GQVNUIGlzIG5vdCBzZXQKIAogIwogIyBDb3JldXRpbHMKICMKIENPTkZJR19CQVNFTkFNRT15CiBDT05GSUdfQ0FUPXkKK0NPTkZJR19GRUFUVVJFX0NBVE49eQogIyBDT05GSUdfRkVBVFVSRV9DQVRWIGlzIG5vdCBzZXQKIENPTkZJR19DSEdSUD15CiBDT05GSUdfQ0hNT0Q9eQpAQCAtMjAxLDYgKzIwNyw3IEBACiAjIENPTkZJR19DT01NIGlzIG5vdCBzZXQKIENPTkZJR19DUD15CiAjIENPTkZJR19GRUFUVVJFX0NQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NQX1JFRkxJTksgaXMgbm90IHNldAogQ09ORklHX0NVVD15CiBDT05GSUdfREFURT15CiAjIENPTkZJR19GRUFUVVJFX0RBVEVfSVNPRk1UIGlzIG5vdCBzZXQKQEAgLTIyMSwxMSArMjI4LDggQEAKIENPTkZJR19FQ0hPPXkKIENPTkZJR19GRUFUVVJFX0ZBTkNZX0VDSE89eQogQ09ORklHX0VOVj15Ci1DT05GSUdfRkVBVFVSRV9FTlZfTE9OR19PUFRJT05TPXkKICMgQ09ORklHX0VYUEFORCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0VYUEFORF9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfVU5FWFBBTkQgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9VTkVYUEFORF9MT05HX09QVElPTlMgaXMgbm90IHNldAogQ09ORklHX0VYUFI9eQogQ09ORklHX0VYUFJfTUFUSF9TVVBQT1JUXzY0PXkKICMgQ09ORklHX0ZBQ1RPUiBpcyBub3Qgc2V0CkBAIC0yNjMsMTIgKzI2NywxMCBAQAogIwogQ09ORklHX0ZFQVRVUkVfTUQ1X1NIQTFfU1VNX0NIRUNLPXkKIENPTkZJR19NS0RJUj15Ci1DT05GSUdfRkVBVFVSRV9NS0RJUl9MT05HX09QVElPTlM9eQogQ09ORklHX01LRklGTz15CiBDT05GSUdfTUtOT0Q9eQogQ09ORklHX01LVEVNUD15CiBDT05GSUdfTVY9eQotIyBDT05GSUdfRkVBVFVSRV9NVl9MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfTklDRSBpcyBub3Qgc2V0CiAjIENPTkZJR19OTCBpcyBub3Qgc2V0CiBDT05GSUdfTk9IVVA9eQpAQCAtMjgzLDE1ICsyODUsMTQgQEAKIENPTkZJR19SRUFMUEFUSD15CiBDT05GSUdfUk09eQogQ09ORklHX1JNRElSPXkKLSMgQ09ORklHX0ZFQVRVUkVfUk1ESVJfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKIENPTkZJR19TRVE9eQogIyBDT05GSUdfU0hSRUQgaXMgbm90IHNldAogQ09ORklHX1NIVUY9eQogQ09ORklHX1NMRUVQPXkKIENPTkZJR19GRUFUVVJFX0ZBTkNZX1NMRUVQPXkKLUNPTkZJR19GRUFUVVJFX0ZMT0FUX1NMRUVQPXkKIENPTkZJR19TT1JUPXkKIENPTkZJR19GRUFUVVJFX1NPUlRfQklHPXkKKyMgQ09ORklHX0ZFQVRVUkVfU09SVF9PUFRJTUlaRV9NRU1PUlkgaXMgbm90IHNldAogIyBDT05GSUdfU1BMSVQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9TUExJVF9GQU5DWSBpcyBub3Qgc2V0CiBDT05GSUdfU1RBVD15CkBAIC0zMzEsMTAgKzMzMiwxMCBAQAogIyBDT05GSUdfVVVFTkNPREUgaXMgbm90IHNldAogQ09ORklHX1dDPXkKICMgQ09ORklHX0ZFQVRVUkVfV0NfTEFSR0UgaXMgbm90IHNldAorQ09ORklHX1dIT0FNST15CiBDT05GSUdfV0hPPXkKICMgQ09ORklHX1cgaXMgbm90IHNldAogQ09ORklHX1VTRVJTPXkKLUNPTkZJR19XSE9BTUk9eQogQ09ORklHX1lFUz15CiAKICMKQEAgLTQ0Myw2ICs0NDQsNyBAQAogQ09ORklHX0ZFQVRVUkVfRklORF9NTUlOPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfUEVSTT15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1RZUEU9eQorQ09ORklHX0ZFQVRVUkVfRklORF9FWEVDVVRBQkxFPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfWERFVj15CiBDT05GSUdfRkVBVFVSRV9GSU5EX01BWERFUFRIPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfTkVXRVI9eQpAQCAtNDU2LDYgKzQ1OCw3IEBACiBDT05GSUdfRkVBVFVSRV9GSU5EX1BBUkVOPXkKIENPTkZJR19GRUFUVVJFX0ZJTkRfU0laRT15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1BSVU5FPXkKK0NPTkZJR19GRUFUVVJFX0ZJTkRfUVVJVD15CiAjIENPTkZJR19GRUFUVVJFX0ZJTkRfREVMRVRFIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX0ZJTkRfUEFUSD15CiBDT05GSUdfRkVBVFVSRV9GSU5EX1JFR0VYPXkKQEAgLTQ3MSw2ICs0NzQsOCBAQAogIyBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1RFUk1PUFQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1pFUk9fVEVSTSBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9YQVJHU19TVVBQT1JUX1JFUExfU1RSPXkKKyMgQ09ORklHX0ZFQVRVUkVfWEFSR1NfU1VQUE9SVF9QQVJBTExFTCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1hBUkdTX1NVUFBPUlRfQVJHU19GSUxFIGlzIG5vdCBzZXQKIAogIwogIyBJbml0IFV0aWxpdGllcwpAQCAtNDgxLDYgKzQ4Niw3IEBACiAjIENPTkZJR19IQUxUIGlzIG5vdCBzZXQKICMgQ09ORklHX1BPV0VST0ZGIGlzIG5vdCBzZXQKIENPTkZJR19SRUJPT1Q9eQorIyBDT05GSUdfRkVBVFVSRV9XQUlUX0ZPUl9JTklUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ0FMTF9URUxJTklUIGlzIG5vdCBzZXQKICMgQ09ORklHX1RFTElOSVRfUEFUSCBpcyBub3Qgc2V0CiAjIENPTkZJR19JTklUIGlzIG5vdCBzZXQKQEAgLTUwMywxMyArNTA5LDExIEBACiAjIENPTkZJR19VU0VfQkJfU0hBRE9XIGlzIG5vdCBzZXQKIENPTkZJR19VU0VfQkJfQ1JZUFQ9eQogIyBDT05GSUdfVVNFX0JCX0NSWVBUX1NIQSBpcyBub3Qgc2V0CisjIENPTkZJR19BRERHUk9VUCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0FERFVTRVJfVE9fR1JPVVAgaXMgbm90IHNldAogIyBDT05GSUdfQUREX1NIRUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX1JFTU9WRV9TSEVMTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19BRERHUk9VUCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FEREdST1VQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FERFVTRVJfVE9fR1JPVVAgaXMgbm90IHNldAogIyBDT05GSUdfQUREVVNFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0FERFVTRVJfTE9OR19PUFRJT05TIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ0hFQ0tfTkFNRVMgaXMgbm90IHNldAogQ09ORklHX0xBU1RfSUQ9NjAwMDAKIENPTkZJR19GSVJTVF9TWVNURU1fSUQ9MTAwCkBAIC01ODUsOCArNTg5LDExIEBACiAjIENPTkZJR19GRUFUVVJFX0JMS0lEX1RZUEUgaXMgbm90IHNldAogIyBDT05GSUdfQkxPQ0tERVYgaXMgbm90IHNldAogIyBDT05GSUdfQ0FMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NIUlQgaXMgbm90IHNldAogQ09ORklHX0RNRVNHPXkKIENPTkZJR19GRUFUVVJFX0RNRVNHX1BSRVRUWT15CisjIENPTkZJR19FSkVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0VKRUNUX1NDU0kgaXMgbm90IHNldAogIyBDT05GSUdfRkFMTE9DQVRFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZBVEFUVFIgaXMgbm90IHNldAogQ09ORklHX0ZCU0VUPXkKQEAgLTYxNiw4ICs2MjMsOCBAQAogIyBDT05GSUdfSEQgaXMgbm90IHNldAogIyBDT05GSUdfWFhEIGlzIG5vdCBzZXQKIENPTkZJR19IV0NMT0NLPXkKLUNPTkZJR19GRUFUVVJFX0hXQ0xPQ0tfTE9OR19PUFRJT05TPXkKIENPTkZJR19GRUFUVVJFX0hXQ0xPQ0tfQURKVElNRV9GSFM9eQorIyBDT05GSUdfSU9OSUNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQQ1JNIGlzIG5vdCBzZXQKICMgQ09ORklHX0lQQ1MgaXMgbm90IHNldAogIyBDT05GSUdfTEFTVCBpcyBub3Qgc2V0CkBAIC02NTMsOCArNjYwLDEwIEBACiBDT05GSUdfRkVBVFVSRV9NT1VOVF9GTEFHUz15CiBDT05GSUdfRkVBVFVSRV9NT1VOVF9GU1RBQj15CiAjIENPTkZJR19GRUFUVVJFX01PVU5UX09USEVSVEFCIGlzIG5vdCBzZXQKK0NPTkZJR19NT1VOVFBPSU5UPXkKKyMgQ09ORklHX05PTE9HSU4gaXMgbm90IHNldAorIyBDT05GSUdfTk9MT0dJTl9ERVBFTkRFTkNJRVMgaXMgbm90IHNldAogIyBDT05GSUdfTlNFTlRFUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX05TRU5URVJfTE9OR19PUFRTIGlzIG5vdCBzZXQKIENPTkZJR19QSVZPVF9ST09UPXkKIENPTkZJR19SREFURT15CiAjIENPTkZJR19SREVWIGlzIG5vdCBzZXQKQEAgLTY2OCwxMCArNjc3LDE1IEBACiAjIENPTkZJR19MSU5VWDMyIGlzIG5vdCBzZXQKICMgQ09ORklHX0xJTlVYNjQgaXMgbm90IHNldAogIyBDT05GSUdfU0VUUFJJViBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1NFVFBSSVZfRFVNUCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1NFVFBSSVZfQ0FQQUJJTElUSUVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfU0VUUFJJVl9DQVBBQklMSVRZX05BTUVTIGlzIG5vdCBzZXQKK0NPTkZJR19TRVRTSUQ9eQogQ09ORklHX1NXQVBPTj15CiBDT05GSUdfRkVBVFVSRV9TV0FQT05fRElTQ0FSRD15CiBDT05GSUdfRkVBVFVSRV9TV0FQT05fUFJJPXkKIENPTkZJR19TV0FQT0ZGPXkKKyMgQ09ORklHX0ZFQVRVUkVfU1dBUE9OT0ZGX0xBQkVMIGlzIG5vdCBzZXQKIENPTkZJR19TV0lUQ0hfUk9PVD15CiAjIENPTkZJR19UQVNLU0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfVEFTS1NFVF9GQU5DWSBpcyBub3Qgc2V0CkBAIC03MDIsOSArNzE2LDExIEBACiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX0hGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX0lTTzk2NjAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9KRlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MRlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MSU5VWFJBSUQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MSU5VWFNXQVAgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9MVUtTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfVk9MVU1FSURfTUlOSVggaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9OSUxGUyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1ZPTFVNRUlEX05URlMgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9WT0xVTUVJRF9PQ0ZTMiBpcyBub3Qgc2V0CkBAIC03MTksMTkgKzczNSw0NCBAQAogIwogIyBNaXNjZWxsYW5lb3VzIFV0aWxpdGllcwogIworIyBDT05GSUdfQURKVElNRVggaXMgbm90IHNldAorIyBDT05GSUdfQkJDT05GSUcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DT01QUkVTU19CQkNPTkZJRyBpcyBub3Qgc2V0CisjIENPTkZJR19CQyBpcyBub3Qgc2V0CitDT05GSUdfREM9eQorIyBDT05GSUdfRkVBVFVSRV9EQ19CSUcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9EQ19MSUJNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQkNfSU5URVJBQ1RJVkUgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9CQ19MT05HX09QVElPTlMgaXMgbm90IHNldAogIyBDT05GSUdfQkVFUCBpcyBub3Qgc2V0CiBDT05GSUdfRkVBVFVSRV9CRUVQX0ZSRVE9MAogQ09ORklHX0ZFQVRVUkVfQkVFUF9MRU5HVEhfTVM9MAorIyBDT05GSUdfQ0hBVCBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfTk9GQUlMIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9UVFlfSElGSSBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfSU1QTElDSVRfQ1IgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DSEFUX1NXQUxMT1dfT1BUUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX0NIQVRfU0VORF9FU0NBUEVTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9WQVJfQUJPUlRfTEVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9DTFJfQUJPUlQgaXMgbm90IHNldAogIyBDT05GSUdfQ09OU1BZIGlzIG5vdCBzZXQKICMgQ09ORklHX0NST05EIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfQ1JPTkRfRCBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0NST05EX0NBTExfU0VORE1BSUwgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9DUk9ORF9TUEVDSUFMX1RJTUVTIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX0NST05EX0RJUj0iIgorIyBDT05GSUdfQ1JPTlRBQiBpcyBub3Qgc2V0CiAjIENPTkZJR19ERVZGU0QgaXMgbm90IHNldAogIyBDT05GSUdfREVWRlNEX01PRExPQUQgaXMgbm90IHNldAogIyBDT05GSUdfREVWRlNEX0ZHX05QIGlzIG5vdCBzZXQKICMgQ09ORklHX0RFVkZTRF9WRVJCT1NFIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfREVWRlMgaXMgbm90IHNldAorIyBDT05GSUdfREVWTUVNIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZCU1BMQVNIIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZMQVNIQ1AgaXMgbm90IHNldAorIyBDT05GSUdfRkxBU0hfRVJBU0VBTEwgaXMgbm90IHNldAorIyBDT05GSUdfRkxBU0hfTE9DSyBpcyBub3Qgc2V0CisjIENPTkZJR19GTEFTSF9VTkxPQ0sgaXMgbm90IHNldAogIyBDT05GSUdfSERQQVJNIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0dFVF9JREVOVElUWSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX0hEUEFSTV9IRElPX1NDQU5fSFdJRiBpcyBub3Qgc2V0CkBAIC03NDQsNiArNzg1LDcgQEAKICMgQ09ORklHX0kyQ1NFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19JMkNEVU1QIGlzIG5vdCBzZXQKICMgQ09ORklHX0kyQ0RFVEVDVCBpcyBub3Qgc2V0CisjIENPTkZJR19JTk9USUZZRCBpcyBub3Qgc2V0CiBDT05GSUdfTEVTUz15CiBDT05GSUdfRkVBVFVSRV9MRVNTX01BWExJTkVTPTk5OTk5OTkKIENPTkZJR19GRUFUVVJFX0xFU1NfQlJBQ0tFVFM9eQpAQCAtNzU1LDc4ICs3OTcsMzUgQEAKICMgQ09ORklHX0ZFQVRVUkVfTEVTU19BU0tfVEVSTUlOQUwgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9MRVNTX0RBU0hDTUQgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9MRVNTX0xJTkVOVU1TIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTEVTU19SQVcgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9MRVNTX0VOViBpcyBub3Qgc2V0CiAjIENPTkZJR19MU1NDU0kgaXMgbm90IHNldAorIyBDT05GSUdfTUFLRURFVlMgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9NQUtFREVWU19MRUFGIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZFQVRVUkVfTUFLRURFVlNfVEFCTEUgaXMgbm90IHNldAorIyBDT05GSUdfTUFOIGlzIG5vdCBzZXQKK0NPTkZJR19NSUNST0NPTT15CisjIENPTkZJR19NVCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQU5EV1JJVEUgaXMgbm90IHNldAogIyBDT05GSUdfTkFORERVTVAgaXMgbm90IHNldAogIyBDT05GSUdfUEFSVFBST0JFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JBSURBVVRPUlVOIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JFQURBSEVBRCBpcyBub3Qgc2V0CiBDT05GSUdfUkZLSUxMPXkKKyMgQ09ORklHX1JVTkxFVkVMIGlzIG5vdCBzZXQKKyMgQ09ORklHX1JYIGlzIG5vdCBzZXQKKyMgQ09ORklHX1NFVEZBVFRSIGlzIG5vdCBzZXQKICMgQ09ORklHX1NFVFNFUklBTCBpcyBub3Qgc2V0CitDT05GSUdfU1RSSU5HUz15CitDT05GSUdfVElNRT15CisjIENPTkZJR19UVFlTSVpFIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VCSVJFTkFNRSBpcyBub3Qgc2V0CiAjIENPTkZJR19VQklBVFRBQ0ggaXMgbm90IHNldAogIyBDT05GSUdfVUJJREVUQUNIIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSU1LVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVJNVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVJTVk9MIGlzIG5vdCBzZXQKICMgQ09ORklHX1VCSVVQREFURVZPTCBpcyBub3Qgc2V0Ci0jIENPTkZJR19VQklSRU5BTUUgaXMgbm90IHNldAotIyBDT05GSUdfQURKVElNRVggaXMgbm90IHNldAotIyBDT05GSUdfQkJDT05GSUcgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DT01QUkVTU19CQkNPTkZJRyBpcyBub3Qgc2V0Ci0jIENPTkZJR19CRUVQIGlzIG5vdCBzZXQKLUNPTkZJR19GRUFUVVJFX0JFRVBfRlJFUT0wCi1DT05GSUdfRkVBVFVSRV9CRUVQX0xFTkdUSF9NUz0wCi0jIENPTkZJR19DSEFUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9OT0ZBSUwgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX1RUWV9ISUZJIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9JTVBMSUNJVF9DUiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQVRfU1dBTExPV19PUFRTIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfQ0hBVF9TRU5EX0VTQ0FQRVMgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX1ZBUl9BQk9SVF9MRU4gaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9DSEFUX0NMUl9BQk9SVCBpcyBub3Qgc2V0Ci0jIENPTkZJR19DSFJUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0NST05UQUIgaXMgbm90IHNldAotQ09ORklHX0RDPXkKLSMgQ09ORklHX0ZFQVRVUkVfRENfTElCTSBpcyBub3Qgc2V0Ci0jIENPTkZJR19ERVZGU0QgaXMgbm90IHNldAotIyBDT05GSUdfREVWRlNEX01PRExPQUQgaXMgbm90IHNldAotIyBDT05GSUdfREVWRlNEX0ZHX05QIGlzIG5vdCBzZXQKLSMgQ09ORklHX0RFVkZTRF9WRVJCT1NFIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfREVWRlMgaXMgbm90IHNldAotIyBDT05GSUdfREVWTUVNIGlzIG5vdCBzZXQKLSMgQ09ORklHX0VKRUNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfRUpFQ1RfU0NTSSBpcyBub3Qgc2V0Ci0jIENPTkZJR19GQlNQTEFTSCBpcyBub3Qgc2V0Ci0jIENPTkZJR19GTEFTSENQIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZMQVNIX0xPQ0sgaXMgbm90IHNldAotIyBDT05GSUdfRkxBU0hfVU5MT0NLIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZMQVNIX0VSQVNFQUxMIGlzIG5vdCBzZXQKLSMgQ09ORklHX0lPTklDRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19JTk9USUZZRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19MQVNUIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfTEFTVF9GQU5DWSBpcyBub3Qgc2V0Ci0jIENPTkZJR19IRFBBUk0gaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9IRFBBUk1fR0VUX0lERU5USVRZIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fU0NBTl9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fVU5SRUdJU1RFUl9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fRFJJVkVfUkVTRVQgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9IRFBBUk1fSERJT19UUklTVEFURV9IV0lGIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfSERQQVJNX0hESU9fR0VUU0VUX0RNQSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQUtFREVWUyBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX01BS0VERVZTX0xFQUYgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9NQUtFREVWU19UQUJMRSBpcyBub3Qgc2V0Ci0jIENPTkZJR19NQU4gaXMgbm90IHNldAotQ09ORklHX01JQ1JPQ09NPXkKLSMgQ09ORklHX01PVU5UUE9JTlQgaXMgbm90IHNldAotIyBDT05GSUdfTVQgaXMgbm90IHNldAotIyBDT05GSUdfUkFJREFVVE9SVU4gaXMgbm90IHNldAotIyBDT05GSUdfUkVBREFIRUFEIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JVTkxFVkVMIGlzIG5vdCBzZXQKLSMgQ09ORklHX1JYIGlzIG5vdCBzZXQKLSMgQ09ORklHX1NFVFNJRCBpcyBub3Qgc2V0Ci0jIENPTkZJR19TRVRGQVRUUiBpcyBub3Qgc2V0Ci1DT05GSUdfU1RSSU5HUz15Ci1DT05GSUdfVElNRT15Ci0jIENPTkZJR19USU1FT1VUIGlzIG5vdCBzZXQKLSMgQ09ORklHX1RUWVNJWkUgaXMgbm90IHNldAogIyBDT05GSUdfVk9MTkFNRSBpcyBub3Qgc2V0CiAjIENPTkZJR19XQVRDSERPRyBpcyBub3Qgc2V0CiAKQEAgLTgzNyw2ICs4MzYsNyBAQAogIyBDT05GSUdfRkVBVFVSRV9VTklYX0xPQ0FMIGlzIG5vdCBzZXQKIENPTkZJR19GRUFUVVJFX1BSRUZFUl9JUFY0X0FERFJFU1M9eQogIyBDT05GSUdfVkVSQk9TRV9SRVNPTFVUSU9OX0VSUk9SUyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX1RMU19TSEExIGlzIG5vdCBzZXQKICMgQ09ORklHX0FSUCBpcyBub3Qgc2V0CiAjIENPTkZJR19BUlBJTkcgaXMgbm90IHNldAogIyBDT05GSUdfQlJDVEwgaXMgbm90IHNldApAQCAtOTExLDYgKzkxMSw3IEBACiAjIENPTkZJR19GRUFUVVJFX05BTUVJRl9FWFRFTkRFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQkRDTElFTlQgaXMgbm90IHNldAogQ09ORklHX05DPXkKKyMgQ09ORklHX05FVENBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19OQ19TRVJWRVIgaXMgbm90IHNldAogIyBDT05GSUdfTkNfRVhUUkEgaXMgbm90IHNldAogIyBDT05GSUdfTkNfMTEwX0NPTVBBVCBpcyBub3Qgc2V0CkBAIC05MTgsOSArOTE5LDEyIEBACiAjIENPTkZJR19GRUFUVVJFX05FVFNUQVRfV0lERSBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX05FVFNUQVRfUFJHIGlzIG5vdCBzZXQKIENPTkZJR19OU0xPT0tVUD15CisjIENPTkZJR19GRUFUVVJFX05TTE9PS1VQX0JJRyBpcyBub3Qgc2V0CisjIENPTkZJR19GRUFUVVJFX05TTE9PS1VQX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19OVFBEIGlzIG5vdCBzZXQKICMgQ09ORklHX0ZFQVRVUkVfTlRQRF9TRVJWRVIgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9OVFBEX0NPTkYgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9OVFBfQVVUSCBpcyBub3Qgc2V0CiBDT05GSUdfUElORz15CiBDT05GSUdfUElORzY9eQogQ09ORklHX0ZFQVRVUkVfRkFOQ1lfUElORz15CkBAIC05NDAsMTUgKzk0NCwxMSBAQAogIyBDT05GSUdfRkVBVFVSRV9URUxORVREX1NUQU5EQUxPTkUgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9URUxORVREX0lORVREX1dBSVQgaXMgbm90IHNldAogQ09ORklHX1RGVFA9eQorIyBDT05GSUdfRkVBVFVSRV9URlRQX1BST0dSRVNTX0JBUiBpcyBub3Qgc2V0CiAjIENPTkZJR19URlRQRCBpcyBub3Qgc2V0Ci0KLSMKLSMgQ29tbW9uIG9wdGlvbnMgZm9yIHRmdHAvdGZ0cGQKLSMKIENPTkZJR19GRUFUVVJFX1RGVFBfR0VUPXkKIENPTkZJR19GRUFUVVJFX1RGVFBfUFVUPXkKICMgQ09ORklHX0ZFQVRVUkVfVEZUUF9CTE9DS1NJWkUgaXMgbm90IHNldAotIyBDT05GSUdfRkVBVFVSRV9URlRQX1BST0dSRVNTX0JBUiBpcyBub3Qgc2V0CiAjIENPTkZJR19URlRQX0RFQlVHIGlzIG5vdCBzZXQKIENPTkZJR19UTFM9eQogQ09ORklHX1RSQUNFUk9VVEU9eQpAQCAtOTg4LDkgKzk4OCw5IEBACiAjCiAjIENPTkZJR19GRUFUVVJFX1VESENQX1BPUlQgaXMgbm90IHNldAogQ09ORklHX1VESENQX0RFQlVHPTAKK0NPTkZJR19VREhDUENfU0xBQ0tfRk9SX0JVR0dZX1NFUlZFUlM9ODAKICMgQ09ORklHX0ZFQVRVUkVfVURIQ1BfUkZDMzM5NyBpcyBub3Qgc2V0CiAjIENPTkZJR19GRUFUVVJFX1VESENQXzgwMjFRIGlzIG5vdCBzZXQKLUNPTkZJR19VREhDUENfU0xBQ0tfRk9SX0JVR0dZX1NFUlZFUlM9ODAKIENPTkZJR19JRlVQRE9XTl9VREhDUENfQ01EX09QVElPTlM9Ii1SIC1iIgogCiAjCkBAIC0xMDcxLDEzICsxMDcxLDExIEBACiAjIENPTkZJR19TVk9LIGlzIG5vdCBzZXQKICMgQ09ORklHX1NWTE9HRCBpcyBub3Qgc2V0CiAjIENPTkZJR19DSENPTiBpcyBub3Qgc2V0Ci0jIENPTkZJR19GRUFUVVJFX0NIQ09OX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19HRVRFTkZPUkNFIGlzIG5vdCBzZXQKICMgQ09ORklHX0dFVFNFQk9PTCBpcyBub3Qgc2V0CiAjIENPTkZJR19MT0FEX1BPTElDWSBpcyBub3Qgc2V0CiAjIENPTkZJR19NQVRDSFBBVEhDT04gaXMgbm90IHNldAogIyBDT05GSUdfUlVOQ09OIGlzIG5vdCBzZXQKLSMgQ09ORklHX0ZFQVRVUkVfUlVOQ09OX0xPTkdfT1BUSU9OUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRUxJTlVYRU5BQkxFRCBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVNUQVRVUyBpcyBub3Qgc2V0CiAjIENPTkZJR19TRVRFTkZPUkNFIGlzIG5vdCBzZXQKQEAgLTEwOTksNiArMTA5Nyw4IEBACiBDT05GSUdfQVNIX09QVElNSVpFX0ZPUl9TSVpFPXkKIENPTkZJR19BU0hfSU5URVJOQUxfR0xPQj15CiBDT05GSUdfQVNIX0JBU0hfQ09NUEFUPXkKKyMgQ09ORklHX0FTSF9CQVNIX1NPVVJDRV9DVVJESVIgaXMgbm90IHNldAorQ09ORklHX0FTSF9CQVNIX05PVF9GT1VORF9IT09LPXkKIENPTkZJR19BU0hfSk9CX0NPTlRST0w9eQogQ09ORklHX0FTSF9BTElBUz15CiAjIENPTkZJR19BU0hfUkFORE9NX1NVUFBPUlQgaXMgbm90IHNldApAQCAtMTExNSw2ICsxMTE1LDggQEAKICMgQ09ORklHX0hVU0ggaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9CQVNIX0NPTVBBVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0JSQUNFX0VYUEFOU0lPTiBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX0xJTkVOT19WQVIgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9CQVNIX1NPVVJDRV9DVVJESVIgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9JTlRFUkFDVElWRSBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1NBVkVISVNUT1JZIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfSk9CIGlzIG5vdCBzZXQKQEAgLTExMzIsMTcgKzExMzQsMjAgQEAKICMgQ09ORklHX0hVU0hfSEVMUCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0VYUE9SVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX0VYUE9SVF9OIGlzIG5vdCBzZXQKKyMgQ09ORklHX0hVU0hfUkVBRE9OTFkgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9LSUxMIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfV0FJVCBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX0NPTU1BTkQgaXMgbm90IHNldAogIyBDT05GSUdfSFVTSF9UUkFQIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVFlQRSBpcyBub3Qgc2V0CisjIENPTkZJR19IVVNIX1RJTUVTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfUkVBRCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1NFVCBpcyBub3Qgc2V0CiAjIENPTkZJR19IVVNIX1VOU0VUIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVUxJTUlUIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfVU1BU0sgaXMgbm90IHNldAorIyBDT05GSUdfSFVTSF9HRVRPUFRTIGlzIG5vdCBzZXQKICMgQ09ORklHX0hVU0hfTUVNTEVBSyBpcyBub3Qgc2V0Ci0jIENPTkZJR19NU0ggaXMgbm90IHNldAogCiAjCiAjIE9wdGlvbnMgY29tbW9uIHRvIGFsbCBzaGVsbHMKQEAgLTExNTIsNyArMTE1Nyw5IEBACiBDT05GSUdfRkVBVFVSRV9TSF9FWFRSQV9RVUlFVD15CiAjIENPTkZJR19GRUFUVVJFX1NIX1NUQU5EQUxPTkUgaXMgbm90IHNldAogIyBDT05GSUdfRkVBVFVSRV9TSF9OT0ZPUksgaXMgbm90IHNldAorIyBDT05GSUdfRkVBVFVSRV9TSF9SRUFEX0ZSQUMgaXMgbm90IHNldAogQ09ORklHX0ZFQVRVUkVfU0hfSElTVEZJTEVTSVpFPXkKKyMgQ09ORklHX0ZFQVRVUkVfU0hfRU1CRURERURfU0NSSVBUUyBpcyBub3Qgc2V0CiAKICMKICMgU3lzdGVtIExvZ2dpbmcgVXRpbGl0aWVzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjI5LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvYnVzeWJveF8xLjI5LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNjRlOWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4yOS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotcmVxdWlyZSBidXN5Ym94LmluYwotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuYnVzeWJveC5uZXQvZG93bmxvYWRzL2J1c3lib3gtJHtQVn0udGFyLmJ6MjtuYW1lPXRhcmJhbGwgXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC11ZGhjcGMtbm9fZGVjb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZmluZC10b3VjaHNjcmVlbi5zaCBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LWNyb24gXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1odHRwZCBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXVkaGNwZCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWZhdWx0LnNjcmlwdCBcCi0gICAgICAgICAgIGZpbGU6Ly9zaW1wbGUuc2NyaXB0IFwKLSAgICAgICAgICAgZmlsZTovL2h3Y2xvY2suc2ggXAotICAgICAgICAgICBmaWxlOi8vbW91bnQuYnVzeWJveCBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2cgXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLXN0YXJ0dXAuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9zeXNsb2cuY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXN5c2xvZy5kZWZhdWx0IFwKLSAgICAgICAgICAgZmlsZTovL21kZXYgXAotICAgICAgICAgICBmaWxlOi8vbWRldi5jb25mIFwKLSAgICAgICAgICAgZmlsZTovL21kZXYtbW91bnQuc2ggXAotICAgICAgICAgICBmaWxlOi8vdW1vdW50LmJ1c3lib3ggXAotICAgICAgICAgICBmaWxlOi8vZGVmY29uZmlnIFwKLSAgICAgICAgICAgZmlsZTovL2J1c3lib3gtc3lzbG9nLnNlcnZpY2UuaW4gXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1rbG9nZC5zZXJ2aWNlLmluIFwKLSAgICAgICAgICAgZmlsZTovL2ZhaWxfb25fbm9fbWVkaWEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2luZXRkLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vaW5ldGQgXAotICAgICAgICAgICBmaWxlOi8vbG9naW4tdXRpbGl0aWVzLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9yZWNvZ25pemVfY29ubm1hbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1jcm9zcy1tZW51Y29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLUNDLXdoZW4tbGlua2luZy1pbnN0ZWFkLW9mLUxELWFuZC11c2UtQ0ZMQUdTLWFuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tb3VudC12aWEtbGFiZWwuY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL3NoYTFzdW0uY2ZnIFwKLSAgICAgICAgICAgZmlsZTovL3NoYTI1NnN1bS5jZmcgXAotICAgICAgICAgICBmaWxlOi8vZ2V0b3B0cy5jZmcgXAotICAgICAgICAgICBmaWxlOi8vcmVzaXplLmNmZyBcCi0gICAgICAgICAgICR7QFsiIiwgImZpbGU6Ly9pbml0LmNmZyJdWyhkLmdldFZhcignVklSVFVBTC1SVU5USU1FX2luaXRfbWFuYWdlcicpID09ICdidXN5Ym94JyldfSBcCi0gICAgICAgICAgICR7QFsiIiwgImZpbGU6Ly9tZGV2LmNmZyJdWyhkLmdldFZhcignVklSVFVBTC1SVU5USU1FX2Rldl9tYW5hZ2VyJykgPT0gJ2J1c3lib3gtbWRldicpXX0gXAotICAgICAgICAgICBmaWxlOi8vc3lzbG9nLmNmZyBcCi0gICAgICAgICAgIGZpbGU6Ly9pbml0dGFiIFwKLSAgICAgICAgICAgZmlsZTovL3JjUyBcCi0gICAgICAgICAgIGZpbGU6Ly9yY0sgXAotICAgICAgICAgICBmaWxlOi8vbWFrZWZpbGUtbGliYmItcmFjZS5wYXRjaCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9tdXNsLmNmZyAiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjBhMzY3ZTE5Y2RmZDE1N2U4MjU4ZDg3Zjg5M2VlNTE2IgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiOTc2NDg2MzZlNTc5NDYyMjk2NDc4ZTAyMThlNjVlNGJjMWU5Y2Q2OTA4OWEzYjFhZWI4MTBiZmY3NjIxZWZiNyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMzAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9idXN5Ym94XzEuMzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjRmM2FiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2J1c3lib3hfMS4zMC4xLmJiCkBAIC0wLDAgKzEsNTEgQEAKK3JlcXVpcmUgYnVzeWJveC5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmJ1c3lib3gubmV0L2Rvd25sb2Fkcy9idXN5Ym94LSR7UFZ9LnRhci5iejI7bmFtZT10YXJiYWxsIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtdWRoY3BjLW5vX2RlY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpbmQtdG91Y2hzY3JlZW4uc2ggXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1jcm9uIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtaHR0cGQgXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC11ZGhjcGQgXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdC5zY3JpcHQgXAorICAgICAgICAgICBmaWxlOi8vc2ltcGxlLnNjcmlwdCBcCisgICAgICAgICAgIGZpbGU6Ly9od2Nsb2NrLnNoIFwKKyAgICAgICAgICAgZmlsZTovL21vdW50LmJ1c3lib3ggXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nIFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy1zdGFydHVwLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vc3lzbG9nLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vYnVzeWJveC1zeXNsb2cuZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9tZGV2IFwKKyAgICAgICAgICAgZmlsZTovL21kZXYuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly9tZGV2LW1vdW50LnNoIFwKKyAgICAgICAgICAgZmlsZTovL3Vtb3VudC5idXN5Ym94IFwKKyAgICAgICAgICAgZmlsZTovL2RlZmNvbmZpZyBcCisgICAgICAgICAgIGZpbGU6Ly9idXN5Ym94LXN5c2xvZy5zZXJ2aWNlLmluIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gta2xvZ2Quc2VydmljZS5pbiBcCisgICAgICAgICAgIGZpbGU6Ly9mYWlsX29uX25vX21lZGlhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9pbmV0ZC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2luZXRkIFwKKyAgICAgICAgICAgZmlsZTovL2xvZ2luLXV0aWxpdGllcy5jZmcgXAorICAgICAgICAgICBmaWxlOi8vcmVjb2duaXplX2Nvbm5tYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2J1c3lib3gtY3Jvc3MtbWVudWNvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1DQy13aGVuLWxpbmtpbmctaW5zdGVhZC1vZi1MRC1hbmQtdXNlLUNGTEFHUy1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbW91bnQtdmlhLWxhYmVsLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9zaGExc3VtLmNmZyBcCisgICAgICAgICAgIGZpbGU6Ly9zaGEyNTZzdW0uY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL2dldG9wdHMuY2ZnIFwKKyAgICAgICAgICAgZmlsZTovL3Jlc2l6ZS5jZmcgXAorICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vaW5pdC5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9pbml0X21hbmFnZXInKSA9PSAnYnVzeWJveCcpXX0gXAorICAgICAgICAgICAke0BbIiIsICJmaWxlOi8vbWRldi5jZmciXVsoZC5nZXRWYXIoJ1ZJUlRVQUwtUlVOVElNRV9kZXZfbWFuYWdlcicpID09ICdidXN5Ym94LW1kZXYnKV19IFwKKyAgICAgICAgICAgZmlsZTovL3N5c2xvZy5jZmcgXAorICAgICAgICAgICBmaWxlOi8vaW5pdHRhYiBcCisgICAgICAgICAgIGZpbGU6Ly9yY1MgXAorICAgICAgICAgICBmaWxlOi8vcmNLIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VmaWxlLWxpYmJiLXJhY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0c3VpdGUtY2hlY2stdXVkZWNvZGUtYmVmb3JlLXVzaW5nLWl0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHN1aXRlLXVzZS13d3cuZXhhbXBsZS5vcmctZm9yLXdnZXQtdGVzdC1jYXNlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWR1LWwtd29ya3MtZml4LXRvLXVzZS0xNDUtaW5zdGVhZC1vZi0xNDQucGF0Y2ggXAorIgorU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vbXVzbC5jZmcgIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI0ZjcyZmM2YWJkNzM2ZDVmNDc0MWZjNGEyNDg1NTQ3YSIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gIjNkMWQwNGE0ZGJkMzQwNDhmNDc5NDgxNWE1YzQ4ZWJiOWViNTNjNTI3N2UwOWZmZmZjMDYwMzIzYjk1ZGZiZGMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvZmlsZXMvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9idXN5Ym94L2ZpbGVzL3J1bi1wdGVzdAppbmRleCAzNjA4YThlLi5iMTllNWI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2J1c3lib3gvZmlsZXMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvYnVzeWJveC9maWxlcy9ydW4tcHRlc3QKQEAgLTEsNyArMSw5IEBACiAjIS9iaW4vc2gKIAotY3VycmVudF9kaXI9JChyZWFkbGluayAtZiAkMCkKLWV4cG9ydCBiaW5kaXI9JChkaXJuYW1lICRjdXJyZW50X2RpcikKK2N1cnJlbnRfcGF0aD0kKHJlYWRsaW5rIC1mICQwKQorZXhwb3J0IGJpbmRpcj0kKGRpcm5hbWUgJGN1cnJlbnRfcGF0aCkKK2V4cG9ydCBQQVRIPSRiaW5kaXIvYmluOiRQQVRICitleHBvcnQgU0tJUF9LTk9XTl9CVUdTPTEKIAogY2QgdGVzdHN1aXRlIHx8IGV4aXQgMQogLi9ydW50ZXN0IC12IHwgc2VkIC1yICdzL14oU0tJUFBFRHxVTlRFU1RFRCk6L1NLSVA6LycKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjViOTM5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1cy10ZXN0XzEuMTIuMTAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4MyArMCwwIEBACi1TVU1NQVJZID0gIkQtQnVzIHRlc3QgcGFja2FnZSAoZm9yIEQtYnVzIGZ1bmN0aW9uYWxpdHkgdGVzdGluZyBvbmx5KSIKLUhPTUVQQUdFID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiQUZMLTIgfCBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMGRkZWQzYjU4MTQ4ZjNmMWZkODA0YjI2MzU0YWYzZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kYnVzL2RidXMuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTIwO21kNT03NzU1YzlkN2FiY2NkNWRiZDI1YTZhOTc0NTM4YmIzYyIKLQotREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIgotCi1SREVQRU5EU18ke1BOfSArPSAibWFrZSIKLVJERVBFTkRTXyR7UE59LWRldiA9ICIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzL2RidXMvZGJ1cy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vdG1wZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9weXRob24tY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NsZWFyLWd1aWRfZnJvbV9zZXJ2ZXItaWYtc2VuZF9uZWdvdGlhdGVfdW5peF9mLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYzNlMTJiNDIwNmUyYTdkYTM5ZDdjYzQyNTY3NzkwZWYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNGI2OTNkMjQ5NzYyNThjM2YyZmE5Y2MzM2FkOTI4OGM1ZmJmYTdhMTY0ODFkYmQ5YThhNDI5ZjdhYThjZGNmNyIKLQotUz0iJHtXT1JLRElSfS9kYnVzLSR7UFZ9IgotRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZGJ1czoiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHB0ZXN0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi1FWFRSQV9PRUNPTkZfWCA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICctLXdpdGgteCcsICctLXdpdGhvdXQteCcsIGQpfSIKLUVYVFJBX09FQ09ORl9YX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGhvdXQteCIKLQotRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb2R1bGFyLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1pbnN0YWxsZWQtdGVzdHMgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNoZWNrcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtYXNzZXJ0cyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtdmVyYm9zZS1tb2RlIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1sYXJnZWZpbGUgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS14bWwtZG9jcyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRveHlnZW4tZG9jcyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxpYmF1ZGl0IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtZGJ1cy10ZXN0LWRpcj0ke1BURVNUX1BBVEh9IFwKLSAgICAgICAgICAgICAgICAke0VYVFJBX09FQ09ORl9YfSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFNZU1RFTUNUTD0ke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kIHgxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCi1QQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKLQotZG9faW5zdGFsbCgpIHsKLSAgICA6Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JbD0ic2hlbGwgcHJpbnRmIHJlZnMgc3lzbG9nIG1hcnNoYWwgc3ludGF4IGNvcnJ1cHQgZGJ1cy1kYWVtb24gZGJ1cy1kYWVtb24tZWF2ZXNkcm9wIGxvb3BiYWNrIHJlbGF5IFwKLQkgICB2YXJpYW50IHVpZC1wZXJtaXNzaW9ucyBzeW50YXggc3Bhd24gc2QtYWN0aXZhdGlvbiBuYW1lcyBtb25pdG9yIG1lc3NhZ2UgZmRwYXNzICIKLQlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L3Rlc3QvLmxpYnMvdGVzdC0kaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0OyBkb25lCi0KLQlsPSJidXMgYnVzLXN5c3RlbSBidXMtbGF1bmNoLWhlbHBlciIKLQlmb3IgaSBpbiAkbDsgZG8gaW5zdGFsbCAke0J9L2J1cy8ubGlicy90ZXN0LSRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3Q7IGRvbmUKLQotCWNwIC1yICR7Qn0vdGVzdC9kYXRhICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlpbnN0YWxsICR7Qn0vZGJ1cy8ubGlicy90ZXN0LWRidXMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAotCi0JaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ly5saWJzCi0JY3AgLWEgJHtCfS9kYnVzLy5saWJzLyouc28qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvLmxpYnMKLQotCSMgUmVtb3ZlIGJ1aWxkIGhvc3QgcmVmZXJlbmNlcy4uLgotCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvZGF0YSIgXCggLW5hbWUgKi5zZXJ2aWNlIC1vIC1uYW1lICouY29uZiAtbyAtbmFtZSAiKi5hYXByb2ZpbGUiIFwpIC10eXBlIGYgLWV4ZWMgXAotCQlzZWQgLWkgXAotCQkgLWUgJ3M6JHtCfToke1BURVNUX1BBVEh9OmcnIFwKLQkJIHt9ICsKLSAgICAgICAgc2VkIC1pIC1lICdzO0BQVEVTVF9QQVRIQDske1BURVNUX1BBVEh9O2cnICAke0R9JHtQVEVTVF9QQVRIfS9ydW4tcHRlc3QKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCi0KLVBSSVZBVEVfTElCU18ke1BOfS1wdGVzdCA9ICJsaWJkYnVzLTEuc28uMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzLXRlc3RfMS4xMi4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDEzMTkyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXMtdGVzdF8xLjEyLjEyLmJiCkBAIC0wLDAgKzEsODMgQEAKK1NVTU1BUlkgPSAiRC1CdXMgdGVzdCBwYWNrYWdlIChmb3IgRC1idXMgZnVuY3Rpb25hbGl0eSB0ZXN0aW5nIG9ubHkpIgorSE9NRVBBR0UgPSAiaHR0cDovL2RidXMuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJBRkwtMiB8IEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTEwZGRlZDNiNTgxNDhmM2YxZmQ4MDRiMjYzNTRhZjNlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RidXMvZGJ1cy5oO2JlZ2lubGluZT02O2VuZGxpbmU9MjA7bWQ1PTc3NTVjOWQ3YWJjY2Q1ZGJkMjVhNmE5NzQ1MzhiYjNjIgorCitERVBFTkRTID0gImRidXMgZ2xpYi0yLjAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJtYWtlIgorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworU1JDX1VSSSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvZGJ1cy9kYnVzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly90bXBkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY2xlYXItZ3VpZF9mcm9tX3NlcnZlci1pZi1zZW5kX25lZ290aWF0ZV91bml4X2YucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTExMDY5NTIxYmVlZWU0ZTQ3ZjAwODY1OTZhNDNjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NTQ2ZjIyNjAxMWExZTVkOWQ3NzI0NWZlNTU0OWVmMjVhZjQ2OTQwNTMxODlkNjI0ZDBkNmFjMTI3ZWNmNWY4IgorCitTPSIke1dPUktESVJ9L2RidXMtJHtQVn0iCitGSUxFU0VYVFJBUEFUSFMgPS4gIiR7RklMRV9ESVJOQU1FfS9kYnVzOiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGdldHRleHQgcHRlc3QgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKK0VYVFJBX09FQ09ORl9YID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJy0td2l0aC14JywgJy0td2l0aG91dC14JywgZCl9IgorRVhUUkFfT0VDT05GX1hfY2xhc3MtbmF0aXZlID0gIi0td2l0aG91dC14IgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdGVzdHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW1vZHVsYXItdGVzdHMgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWluc3RhbGxlZC10ZXN0cyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY2hlY2tzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1hc3NlcnRzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS12ZXJib3NlLW1vZGUgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWxhcmdlZmlsZSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXhtbC1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtZG94eWdlbi1kb2NzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYXVkaXQgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kYnVzLXRlc3QtZGlyPSR7UFRFU1RfUEFUSH0gXAorICAgICAgICAgICAgICAgICR7RVhUUkFfT0VDT05GX1h9IgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgU1lTVEVNQ1RMPSR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQgeDExJywgZCl9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPSAiIgorCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQgLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQgLS13aXRob3V0LXN5c3RlbWRzeXN0ZW11bml0ZGlyLHN5c3RlbWQiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXggLS1lbmFibGUteDExLWF1dG9sYXVuY2gsLS13aXRob3V0LXggLS1kaXNhYmxlLXgxMS1hdXRvbGF1bmNoLCB2aXJ0dWFsL2xpYngxMSBsaWJzbSIKK1BBQ0tBR0VDT05GSUdbdXNlci1zZXNzaW9uXSA9ICItLWVuYWJsZS11c2VyLXNlc3Npb24gLS13aXRoLXN5c3RlbWR1c2VydW5pdGRpcj0ke3N5c3RlbWRfdXNlcl91bml0ZGlyfSwtLWRpc2FibGUtdXNlci1zZXNzaW9uIgorCitkb19pbnN0YWxsKCkgeworICAgIDoKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlsPSJzaGVsbCBwcmludGYgcmVmcyBzeXNsb2cgbWFyc2hhbCBzeW50YXggY29ycnVwdCBkYnVzLWRhZW1vbiBkYnVzLWRhZW1vbi1lYXZlc2Ryb3AgbG9vcGJhY2sgcmVsYXkgXAorCSAgIHZhcmlhbnQgdWlkLXBlcm1pc3Npb25zIHN5bnRheCBzcGF3biBzZC1hY3RpdmF0aW9uIG5hbWVzIG1vbml0b3IgbWVzc2FnZSBmZHBhc3MgIgorCWZvciBpIGluICRsOyBkbyBpbnN0YWxsICR7Qn0vdGVzdC8ubGlicy90ZXN0LSRpICR7RH0ke1BURVNUX1BBVEh9L3Rlc3Q7IGRvbmUKKworCWw9ImJ1cyBidXMtc3lzdGVtIGJ1cy1sYXVuY2gtaGVscGVyIgorCWZvciBpIGluICRsOyBkbyBpbnN0YWxsICR7Qn0vYnVzLy5saWJzL3Rlc3QtJGkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdDsgZG9uZQorCisJY3AgLXIgJHtCfS90ZXN0L2RhdGEgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWluc3RhbGwgJHtCfS9kYnVzLy5saWJzL3Rlc3QtZGJ1cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisKKwlpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvLmxpYnMKKwljcCAtYSAke0J9L2RidXMvLmxpYnMvKi5zbyogJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8ubGlicworCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzLi4uCisJZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC9kYXRhIiBcKCAtbmFtZSAqLnNlcnZpY2UgLW8gLW5hbWUgKi5jb25mIC1vIC1uYW1lICIqLmFhcHJvZmlsZSIgXCkgLXR5cGUgZiAtZXhlYyBcCisJCXNlZCAtaSBcCisJCSAtZSAnczoke0J9OiR7UFRFU1RfUEFUSH06ZycgXAorCQkge30gKworICAgICAgICBzZWQgLWkgLWUgJ3M7QFBURVNUX1BBVEhAOyR7UFRFU1RfUEFUSH07ZycgICR7RH0ke1BURVNUX1BBVEh9L3J1bi1wdGVzdAorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiYmFzaCIKKworUFJJVkFURV9MSUJTXyR7UE59LXB0ZXN0ID0gImxpYmRidXMtMS5zby4zIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MWY3ZjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9kYnVzL2RidXNfMS4xMi4xMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3NiArMCwwIEBACi1TVU1NQVJZID0gIkQtQnVzIG1lc3NhZ2UgYnVzIgotREVTQ1JJUFRJT04gPSAiRC1CdXMgaXMgYSBtZXNzYWdlIGJ1cyBzeXN0ZW0sIGEgc2ltcGxlIHdheSBmb3IgYXBwbGljYXRpb25zIHRvIHRhbGsgdG8gb25lIGFub3RoZXIuIEluIGFkZGl0aW9uIHRvIGludGVycHJvY2VzcyBjb21tdW5pY2F0aW9uLCBELUJ1cyBoZWxwcyBjb29yZGluYXRlIHByb2Nlc3MgbGlmZWN5Y2xlOyBpdCBtYWtlcyBpdCBzaW1wbGUgYW5kIHJlbGlhYmxlIHRvIGNvZGUgYSBcInNpbmdsZSBpbnN0YW5jZVwiIGFwcGxpY2F0aW9uIG9yIGRhZW1vbiwgYW5kIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIGRhZW1vbnMgb24gZGVtYW5kIHdoZW4gdGhlaXIgc2VydmljZXMgYXJlIG5lZWRlZC4iCi1IT01FUEFHRSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmciCi1TRUNUSU9OID0gImJhc2UiCi1MSUNFTlNFID0gIkFGTC0yIHwgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTBkZGVkM2I1ODE0OGYzZjFmZDgwNGIyNjM1NGFmM2UgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGJ1cy9kYnVzLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0yMDttZDU9Nzc1NWM5ZDdhYmNjZDVkYmQyNWE2YTk3NDUzOGJiM2MiCi1ERVBFTkRTID0gImV4cGF0IHZpcnR1YWwvbGliaW50bCBhdXRvY29uZi1hcmNoaXZlIgotUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmVzZGsgPSAiIgotUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAnJHtQTn0tcHRlc3QnLCAnJywgZCl9IgotQUxMT1dfRU1QVFlfZGJ1cy1wdGVzdCA9ICIxIgotUkRFUEVORFNfZGJ1cy1wdGVzdF9jbGFzcy10YXJnZXQgPSAiZGJ1cy10ZXN0LXB0ZXN0IgotCi1TUkNfVVJJID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9kYnVzL2RidXMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3RtcGRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kYnVzLTEuaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9jbGVhci1ndWlkX2Zyb21fc2VydmVyLWlmLXNlbmRfbmVnb3RpYXRlX3VuaXhfZi5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjM2UxMmI0MjA2ZTJhN2RhMzlkN2NjNDI1Njc3OTBlZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0YjY5M2QyNDk3NjI1OGMzZjJmYTljYzMzYWQ5Mjg4YzVmYmZhN2ExNjQ4MWRiZDlhOGE0MjlmN2FhOGNkY2Y3IgotCi1pbmhlcml0IHVzZXJhZGQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi1JTklUU0NSSVBUX05BTUUgPSAiZGJ1cy0xIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDIgNSAzIDIgLiBzdG9wIDIwIDAgMSA2IC4iCi0KLXB5dGhvbiBfX2Fub255bW91cygpIHsKLSAgICBpZiBub3QgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZC5zZXRWYXIoIklOSElCSVRfVVBEQVRFUkNEX0JCQ0xBU1MiLCAiMSIpCi19Ci0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciBuZXRkZXYiCi1VU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAotICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgbWVzc2FnZWJ1cyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mICR7c3lzY29uZmRpcn0vZGJ1cy0xL3Nlc3Npb24uY29uZiIKLQotREVCSUFOTkFNRV8ke1BOfSA9ICJkYnVzLTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1saWIiCi0KLU9MRFBLR05BTUUgPSAiZGJ1cy14MTEiCi1PTERQS0dOQU1FX2NsYXNzLW5hdGl2ZXNkayA9ICIiCi0KLSMgZm9yIGNvbXBhdGliaWxpdHkKLVJQUk9WSURFU18ke1BOfSA9ICIke09MRFBLR05BTUV9IgotUlJFUExBQ0VTXyR7UE59ICs9ICIke09MRFBLR05BTUV9IgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZGJ1cy1kYWVtb24qIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXV1aWRnZW4gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtY2xlYW51cC1zb2NrZXRzIFwKLSAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXNlbmQgXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbW9uaXRvciBcCi0gICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1sYXVuY2ggXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtcnVuLXNlc3Npb24gXAotICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtdXBkYXRlLWFjdGl2YXRpb24tZW52aXJvbm1lbnQgXAotICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9kYnVzKiBcCi0gICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9IFwKLSAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3Nlc3Npb24uZCBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmNvbmYgXAotICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94bWwvZGJ1cy0xIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAotICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdXNlcnMuZC9kYnVzLmNvbmYgXAotICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vdG1wZmlsZXMuZC9kYnVzLmNvbmYgXAotIgotRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWIqLnNvLioiCi1SUkVDT01NRU5EU18ke1BOfS1saWIgPSAiJHtQTn0iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kYnVzLTEuMC9pbmNsdWRlICR7bGliZGlyfS9jbWFrZS9EQnVzMSAke2JpbmRpcn0vZGJ1cy10ZXN0LXRvb2wiCi0KLVBBQ0tBR0VfV1JJVEVfREVQUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQgc3lzdmluaXQnLCdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCcnLGQpfSIKLXBrZ19wb3N0aW5zdF9kYnVzKCkgewotCSMgSWYgYm90aCBzeXN0ZW1kIGFuZCBzeXN2aW5pdCBhcmUgZW5hYmxlZCwgbWFzayB0aGUgZGJ1cy0xIGluaXQgc2NyaXB0Ci0gICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0JywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KLQkJaWYgWyAtbiAiJEQiIF07IHRoZW4KLQkJCU9QVFM9Ii0tcm9vdD0kRCIKLQkJZmkKLQkJc3lzdGVtY3RsICRPUFRTIG1hc2sgZGJ1cy0xLnNlcnZpY2UKLQlmaQotCi0JaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgotCQkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKLQlmaQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXRlc3RzIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUteG1sLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb3h5Z2VuLWRvY3MgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdWRpdCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtbGFyZ2VmaWxlIFwKLSAgICAgICAgICAgICAgICAiCi0KLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1DVEw9JHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tZGlzYWJsZS1zZWxpbnV4IgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCB4MTEnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgIHVzZXItc2Vzc2lvbiBcCi0gICAgICAgICAgICAgICAgICAiCi0KLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKLQotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCi1QQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JCXNlZCAnczpAYmluZGlyQDoke2JpbmRpcn06JyA8ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQgPiR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2gKLQkJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2ggJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2RidXMtMQotCWZpCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlmb3IgaSBpbiBkYnVzLnRhcmdldC53YW50cyBzb2NrZXRzLnRhcmdldC53YW50cyBtdWx0aS11c2VyLnRhcmdldC53YW50czsgZG8gXAotCQkJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS8kaTsgZG9uZQotCQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9idXMvZGJ1cy5zZXJ2aWNlICR7Qn0vYnVzL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LwotCQlsbiAtZnMgLi4vZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vZGJ1cy50YXJnZXQud2FudHMvZGJ1cy5zb2NrZXQKLQkJbG4gLWZzIC4uL2RidXMuc29ja2V0ICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3NvY2tldHMudGFyZ2V0LndhbnRzL2RidXMuc29ja2V0Ci0JCWxuIC1mcyAuLi9kYnVzLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbXVsdGktdXNlci50YXJnZXQud2FudHMvZGJ1cy5zZXJ2aWNlCi0JZmkKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKLQllY2hvICJkIG1lc3NhZ2VidXMgbWVzc2FnZWJ1cyAwNzU1ICR7bG9jYWxzdGF0ZWRpcn0vcnVuL2RidXMgbm9uZSIgXAotCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9kYnVzCi0KLQotCW1rZGlyIC1wICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzCi0KLQljaG93biBtZXNzYWdlYnVzOm1lc3NhZ2VidXMgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliL2RidXMKLQotCWNob3duIHJvb3Q6bWVzc2FnZWJ1cyAke0R9JHtsaWJleGVjZGlyfS9kYnVzLWRhZW1vbi1sYXVuY2gtaGVscGVyCi0JY2htb2QgNDc1NSAke0R9JHtsaWJleGVjZGlyfS9kYnVzLWRhZW1vbi1sYXVuY2gtaGVscGVyCi0KLQkjIFJlbW92ZSBSZWQgSGF0IGluaXRzY3JpcHQKLQlybSAtcmYgJHtEfSR7c3lzY29uZmRpcn0vcmMuZAotCi0JIyBSZW1vdmUgZW1wdHkgdGVzdGV4ZWMgZGlyZWN0b3J5IGFzIHdlIGRvbid0IGJ1aWxkIHRlc3RzCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vZGJ1cy0xLjAvdGVzdAotCi0JIyBSZW1vdmUgL3Zhci9ydW4gYXMgaXQgaXMgY3JlYXRlZCBvbiBzdGFydHVwCi0Jcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQotCi1kb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JIyBkYnVzLWxhdW5jaCBoYXMgbm8gWCBzdXBwb3J0IHNvIGxldHMgbm90IGluc3RhbGwgaXQgaW4gY2FzZSB0aGUgaG9zdAotCSMgaGFzIGEgbW9yZSBmZWF0dXJlZCBhbmQgdXNlZnVsIHZlcnNpb24KLQlybSAtZiAke0R9JHtiaW5kaXJ9L2RidXMtbGF1bmNoCi19Ci0KLWRvX2luc3RhbGxfY2xhc3MtbmF0aXZlc2RrKCkgewotCWF1dG90b29sc19kb19pbnN0YWxsCi0KLQkjIGRidXMtbGF1bmNoIGhhcyBubyBYIHN1cHBvcnQgc28gbGV0cyBub3QgaW5zdGFsbCBpdCBpbiBjYXNlIHRoZSBob3N0Ci0JIyBoYXMgYSBtb3JlIGZlYXR1cmVkIGFuZCB1c2VmdWwgdmVyc2lvbgotCXJtIC1mICR7RH0ke2JpbmRpcn0vZGJ1cy1sYXVuY2gKLQotCSMgUmVtb3ZlIC92YXIvcnVuIHRvIGF2b2lkIFFBIGVycm9yCi0Jcm0gLXJmICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bgotfQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1wdGVzdCArPSAiYnVpbGQtZGVwcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZGJ1cy9kYnVzXzEuMTIuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlOWJlNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2RidXMvZGJ1c18xLjEyLjEyLmJiCkBAIC0wLDAgKzEsMTc1IEBACitTVU1NQVJZID0gIkQtQnVzIG1lc3NhZ2UgYnVzIgorREVTQ1JJUFRJT04gPSAiRC1CdXMgaXMgYSBtZXNzYWdlIGJ1cyBzeXN0ZW0sIGEgc2ltcGxlIHdheSBmb3IgYXBwbGljYXRpb25zIHRvIHRhbGsgdG8gb25lIGFub3RoZXIuIEluIGFkZGl0aW9uIHRvIGludGVycHJvY2VzcyBjb21tdW5pY2F0aW9uLCBELUJ1cyBoZWxwcyBjb29yZGluYXRlIHByb2Nlc3MgbGlmZWN5Y2xlOyBpdCBtYWtlcyBpdCBzaW1wbGUgYW5kIHJlbGlhYmxlIHRvIGNvZGUgYSBcInNpbmdsZSBpbnN0YW5jZVwiIGFwcGxpY2F0aW9uIG9yIGRhZW1vbiwgYW5kIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIGRhZW1vbnMgb24gZGVtYW5kIHdoZW4gdGhlaXIgc2VydmljZXMgYXJlIG5lZWRlZC4iCitIT01FUEFHRSA9ICJodHRwOi8vZGJ1cy5mcmVlZGVza3RvcC5vcmciCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkFGTC0yIHwgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTBkZGVkM2I1ODE0OGYzZjFmZDgwNGIyNjM1NGFmM2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGJ1cy9kYnVzLmg7YmVnaW5saW5lPTY7ZW5kbGluZT0yMDttZDU9Nzc1NWM5ZDdhYmNjZDVkYmQyNWE2YTk3NDUzOGJiM2MiCitERVBFTkRTID0gImV4cGF0IHZpcnR1YWwvbGliaW50bCBhdXRvY29uZi1hcmNoaXZlIgorUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfZGJ1c19jbGFzcy1uYXRpdmVzZGsgPSAiIgorUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHRlc3QnLCAnJHtQTn0tcHRlc3QnLCAnJywgZCl9IgorQUxMT1dfRU1QVFlfZGJ1cy1wdGVzdCA9ICIxIgorUkRFUEVORFNfZGJ1cy1wdGVzdF9jbGFzcy10YXJnZXQgPSAiZGJ1cy10ZXN0LXB0ZXN0IgorCitTUkNfVVJJID0gImh0dHA6Ly9kYnVzLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy9kYnVzL2RidXMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3RtcGRpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kYnVzLTEuaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly9jbGVhci1ndWlkX2Zyb21fc2VydmVyLWlmLXNlbmRfbmVnb3RpYXRlX3VuaXhfZi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYTExMDY5NTIxYmVlZWU0ZTQ3ZjAwODY1OTZhNDNjOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NTQ2ZjIyNjAxMWExZTVkOWQ3NzI0NWZlNTU0OWVmMjVhZjQ2OTQwNTMxODlkNjI0ZDBkNmFjMTI3ZWNmNWY4IgorCitpbmhlcml0IHVzZXJhZGQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IHVwZGF0ZS1yYy5kIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitJTklUU0NSSVBUX05BTUUgPSAiZGJ1cy0xIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDIgNSAzIDIgLiBzdG9wIDIwIDAgMSA2IC4iCisKK3B5dGhvbiBfX2Fub255bW91cygpIHsKKyAgICBpZiBub3QgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgZC5zZXRWYXIoIklOSElCSVRfVVBEQVRFUkNEX0JCQ0xBU1MiLCAiMSIpCit9CisKK1VTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCitHUk9VUEFERF9QQVJBTV8ke1BOfSA9ICItciBuZXRkZXYiCitVU0VSQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIC0taG9tZSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLS1uby1jcmVhdGUtaG9tZSAtLXNoZWxsIC9iaW4vZmFsc2UgXAorICAgICAgICAgICAgICAgICAgICAgICAtLXVzZXItZ3JvdXAgbWVzc2FnZWJ1cyIKKworQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5jb25mICR7c3lzY29uZmRpcn0vZGJ1cy0xL3Nlc3Npb24uY29uZiIKKworREVCSUFOTkFNRV8ke1BOfSA9ICJkYnVzLTEiCisKK1BBQ0tBR0VTID0rICIke1BOfS1saWIiCisKK09MRFBLR05BTUUgPSAiZGJ1cy14MTEiCitPTERQS0dOQU1FX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKKyMgZm9yIGNvbXBhdGliaWxpdHkKK1JQUk9WSURFU18ke1BOfSA9ICIke09MRFBLR05BTUV9IgorUlJFUExBQ0VTXyR7UE59ICs9ICIke09MRFBLR05BTUV9IgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vZGJ1cy1kYWVtb24qIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXV1aWRnZW4gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtY2xlYW51cC1zb2NrZXRzIFwKKyAgICAgICAgICAgICAgICR7YmluZGlyfS9kYnVzLXNlbmQgXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtbW9uaXRvciBcCisgICAgICAgICAgICAgICAke2JpbmRpcn0vZGJ1cy1sYXVuY2ggXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtcnVuLXNlc3Npb24gXAorICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2RidXMtdXBkYXRlLWFjdGl2YXRpb24tZW52aXJvbm1lbnQgXAorICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9kYnVzKiBcCisgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3Nlc3Npb24uZCBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXNzaW9uLmNvbmYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmNvbmYgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS94bWwvZGJ1cy0xIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0gXAorICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vc3lzdXNlcnMuZC9kYnVzLmNvbmYgXAorICAgICAgICAgICAgICAgJHtub25hcmNoX2xpYmRpcn0vdG1wZmlsZXMuZC9kYnVzLmNvbmYgXAorIgorRklMRVNfJHtQTn0tbGliID0gIiR7bGliZGlyfS9saWIqLnNvLioiCitSUkVDT01NRU5EU18ke1BOfS1saWIgPSAiJHtQTn0iCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9kYnVzLTEuMC9pbmNsdWRlICR7bGliZGlyfS9jbWFrZS9EQnVzMSAke2JpbmRpcn0vZGJ1cy10ZXN0LXRvb2wiCisKK1BBQ0tBR0VfV1JJVEVfREVQUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsJ3N5c3RlbWQgc3lzdmluaXQnLCdzeXN0ZW1kLXN5c3RlbWN0bC1uYXRpdmUnLCcnLGQpfSIKK3BrZ19wb3N0aW5zdF9kYnVzKCkgeworCSMgSWYgYm90aCBzeXN0ZW1kIGFuZCBzeXN2aW5pdCBhcmUgZW5hYmxlZCwgbWFzayB0aGUgZGJ1cy0xIGluaXQgc2NyaXB0CisgICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kIHN5c3Zpbml0JywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKwkJaWYgWyAtbiAiJEQiIF07IHRoZW4KKwkJCU9QVFM9Ii0tcm9vdD0kRCIKKwkJZmkKKwkJc3lzdGVtY3RsICRPUFRTIG1hc2sgZGJ1cy0xLnNlcnZpY2UKKwlmaQorCisJaWYgWyAteiAiJEQiIF0gJiYgWyAtZSAvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCBdIDsgdGhlbgorCQkvZXRjL2luaXQuZC9wb3B1bGF0ZS12b2xhdGlsZS5zaCB1cGRhdGUKKwlmaQorfQorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUteG1sLWRvY3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kb3h5Z2VuLWRvY3MgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJhdWRpdCBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtbGFyZ2VmaWxlIFwKKyAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1DVEw9JHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tZGlzYWJsZS1zZWxpbnV4IgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCB4MTEnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIHVzZXItc2Vzc2lvbiBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gIiIKKworUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLWVuYWJsZS1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0tZGlzYWJsZS1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14IC0tZW5hYmxlLXgxMS1hdXRvbGF1bmNoLC0td2l0aG91dC14IC0tZGlzYWJsZS14MTEtYXV0b2xhdW5jaCwgdmlydHVhbC9saWJ4MTEgbGlic20iCitQQUNLQUdFQ09ORklHW3VzZXItc2Vzc2lvbl0gPSAiLS1lbmFibGUtdXNlci1zZXNzaW9uIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXVzZXItc2Vzc2lvbiIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCisJCXNlZCAnczpAYmluZGlyQDoke2JpbmRpcn06JyA8ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQgPiR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2gKKwkJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vZGJ1cy0xLmluaXQuc2ggJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL2RidXMtMQorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvdm9sYXRpbGVzCisJCWVjaG8gImQgbWVzc2FnZWJ1cyBtZXNzYWdlYnVzIDA3NTUgJHtsb2NhbHN0YXRlZGlyfS9ydW4vZGJ1cyBub25lIiBcCisJCSAgICAgPiAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3ZvbGF0aWxlcy85OV9kYnVzCisJZmkKKworCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCWZvciBpIGluIGRidXMudGFyZ2V0LndhbnRzIHNvY2tldHMudGFyZ2V0LndhbnRzIG11bHRpLXVzZXIudGFyZ2V0LndhbnRzOyBkbyBcCisJCQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LyRpOyBkb25lCisJCWluc3RhbGwgLW0gMDY0NCAke0J9L2J1cy9kYnVzLnNlcnZpY2UgJHtCfS9idXMvZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vCisJCWxuIC1mcyAuLi9kYnVzLnNvY2tldCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLnRhcmdldC53YW50cy9kYnVzLnNvY2tldAorCQlsbiAtZnMgLi4vZGJ1cy5zb2NrZXQgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vc29ja2V0cy50YXJnZXQud2FudHMvZGJ1cy5zb2NrZXQKKwkJbG4gLWZzIC4uL2RidXMuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9kYnVzLnNlcnZpY2UKKwlmaQorCisKKwlta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvZGJ1cworCisJY2hvd24gbWVzc2FnZWJ1czptZXNzYWdlYnVzICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9kYnVzCisKKwljaG93biByb290Om1lc3NhZ2VidXMgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgorCWNobW9kIDQ3NTUgJHtEfSR7bGliZXhlY2Rpcn0vZGJ1cy1kYWVtb24tbGF1bmNoLWhlbHBlcgorCisJIyBSZW1vdmUgUmVkIEhhdCBpbml0c2NyaXB0CisJcm0gLXJmICR7RH0ke3N5c2NvbmZkaXJ9L3JjLmQKKworCSMgUmVtb3ZlIGVtcHR5IHRlc3RleGVjIGRpcmVjdG9yeSBhcyB3ZSBkb24ndCBidWlsZCB0ZXN0cworCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2RidXMtMS4wL3Rlc3QKKworCSMgUmVtb3ZlIC92YXIvcnVuIGFzIGl0IGlzIGNyZWF0ZWQgb24gc3RhcnR1cAorCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KKworZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUoKSB7CisJYXV0b3Rvb2xzX2RvX2luc3RhbGwKKworCSMgZGJ1cy1sYXVuY2ggaGFzIG5vIFggc3VwcG9ydCBzbyBsZXRzIG5vdCBpbnN0YWxsIGl0IGluIGNhc2UgdGhlIGhvc3QKKwkjIGhhcyBhIG1vcmUgZmVhdHVyZWQgYW5kIHVzZWZ1bCB2ZXJzaW9uCisJcm0gLWYgJHtEfSR7YmluZGlyfS9kYnVzLWxhdW5jaAorfQorCitkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZXNkaygpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJIyBkYnVzLWxhdW5jaCBoYXMgbm8gWCBzdXBwb3J0IHNvIGxldHMgbm90IGluc3RhbGwgaXQgaW4gY2FzZSB0aGUgaG9zdAorCSMgaGFzIGEgbW9yZSBmZWF0dXJlZCBhbmQgdXNlZnVsIHZlcnNpb24KKwlybSAtZiAke0R9JHtiaW5kaXJ9L2RidXMtbGF1bmNoCisKKwkjIFJlbW92ZSAvdmFyL3J1biB0byBhdm9pZCBRQSBlcnJvcgorCXJtIC1yZiAke0R9JHtsb2NhbHN0YXRlZGlyfS9ydW4KK30KK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gImJ1aWxkLWRlcHMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCmluZGV4IGQ5MmEyZjMuLjNmYmRiNWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIuaW5jCkBAIC0xMyw3ICsxMyw2IEBACiBERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgogCiBTUkNfVVJJID0gImh0dHA6Ly9tYXR0LnVjYy5hc24uYXUvZHJvcGJlYXIvcmVsZWFzZXMvZHJvcGJlYXItJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xNTU5OS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXVyYW5kb20teGF1dGgtY2hhbmdlcy10by1vcHRpb25zLmgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vaW5pdCBcCiAgICAgICAgICAgIGZpbGU6Ly9kcm9wYmVhcmtleS5zZXJ2aWNlIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIvQ1ZFLTIwMTgtMTU1OTkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyL0NWRS0yMDE4LTE1NTk5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MTI1NDVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXIvQ1ZFLTIwMTgtMTU1OTkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzYgKzAsMCBAQAotRnJvbSAyNTZlMmFiYjgxNTBmOWZlYTMzY2QwMjY1OTdkYmU3MGYwMzc5Mjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dCBKb2huc3RvbiA8bWF0dEB1Y2MuYXNuLmF1PgotRGF0ZTogVGh1LCAyMyBBdWcgMjAxOCAyMzo0MzoxMiArMDgwMAotU3ViamVjdDogW1BBVENIXSBXYWl0IHRvIGZhaWwgaW52YWxpZCB1c2VybmFtZXMKLQotV2FpdCB0byBmYWlsIGludmFsaWQgdXNlcm5hbWVzCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc2VjdXJlLnVjYy5hc24uYXUvaGcvZHJvcGJlYXIvcmV2LzVkMmQxMDIxY2EwMF0KLUNWRTogQ1ZFLTIwMTgtMTU1OTkKLVNpZ25lZC1vZmYtYnk6IE1pbmdsaSBZdSA8TWluZ2xpLll1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoLmggICAgICAgICAgIHwgIDYgKysrLS0tCi0gc3ZyLWF1dGguYyAgICAgICB8IDE5ICsrKysrLS0tLS0tLS0tLS0tLS0KLSBzdnItYXV0aHBhbS5jICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSBzdnItYXV0aHBhc3N3ZC5jIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gc3ZyLWF1dGhwdWJrZXkuYyB8IDExICsrKysrKysrKystCi0gNSBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dGguaCBiL2F1dGguaAotaW5kZXggZGE0OThmNS4uOThmNTQ2OCAxMDA2NDQKLS0tLSBhL2F1dGguaAotKysrIGIvYXV0aC5oCi1AQCAtMzcsOSArMzcsOSBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3Qodm9pZCk7Ci0gdm9pZCBzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKGludCBwYXJ0aWFsLCBpbnQgaW5jcmZhaWwpOwotIHZvaWQgc2VuZF9tc2dfdXNlcmF1dGhfc3VjY2Vzcyh2b2lkKTsKLSB2b2lkIHNlbmRfbXNnX3VzZXJhdXRoX2Jhbm5lcihjb25zdCBidWZmZXIgKm1zZyk7Ci0tdm9pZCBzdnJfYXV0aF9wYXNzd29yZCh2b2lkKTsKLS12b2lkIHN2cl9hdXRoX3B1YmtleSh2b2lkKTsKLS12b2lkIHN2cl9hdXRoX3BhbSh2b2lkKTsKLSt2b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKGludCB2YWxpZF91c2VyKTsKLSt2b2lkIHN2cl9hdXRoX3B1YmtleShpbnQgdmFsaWRfdXNlcik7Ci0rdm9pZCBzdnJfYXV0aF9wYW0oaW50IHZhbGlkX3VzZXIpOwotIAotICNpZiBEUk9QQkVBUl9TVlJfUFVCS0VZX09QVElPTlNfQlVJTFQKLSBpbnQgc3ZyX3B1YmtleV9hbGxvd3NfYWdlbnRmd2Qodm9pZCk7Ci1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGguYyBiL3N2ci1hdXRoLmMKLWluZGV4IDY0ZDk3YWEuLjFmMzY0Y2EgMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aC5jCi0rKysgYi9zdnItYXV0aC5jCi1AQCAtMTQ5LDEwICsxNDksOCBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3QoKSB7Ci0gCQlpZiAobWV0aG9kbGVuID09IEFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTiAmJgotIAkJCQlzdHJuY21wKG1ldGhvZG5hbWUsIEFVVEhfTUVUSE9EX1BBU1NXT1JELAotIAkJCQkJQVVUSF9NRVRIT0RfUEFTU1dPUkRfTEVOKSA9PSAwKSB7Ci0tCQkJaWYgKHZhbGlkX3VzZXIpIHsKLS0JCQkJc3ZyX2F1dGhfcGFzc3dvcmQoKTsKLS0JCQkJZ290byBvdXQ7Ci0tCQkJfQotKwkJCXN2cl9hdXRoX3Bhc3N3b3JkKHZhbGlkX3VzZXIpOwotKwkJCWdvdG8gb3V0OwotIAkJfQotIAl9Ci0gI2VuZGlmCi1AQCAtMTY0LDEwICsxNjIsOCBAQCB2b2lkIHJlY3ZfbXNnX3VzZXJhdXRoX3JlcXVlc3QoKSB7Ci0gCQlpZiAobWV0aG9kbGVuID09IEFVVEhfTUVUSE9EX1BBU1NXT1JEX0xFTiAmJgotIAkJCQlzdHJuY21wKG1ldGhvZG5hbWUsIEFVVEhfTUVUSE9EX1BBU1NXT1JELAotIAkJCQkJQVVUSF9NRVRIT0RfUEFTU1dPUkRfTEVOKSA9PSAwKSB7Ci0tCQkJaWYgKHZhbGlkX3VzZXIpIHsKLS0JCQkJc3ZyX2F1dGhfcGFtKCk7Ci0tCQkJCWdvdG8gb3V0OwotLQkJCX0KLSsJCQlzdnJfYXV0aF9wYW0odmFsaWRfdXNlcik7Ci0rCQkJZ290byBvdXQ7Ci0gCQl9Ci0gCX0KLSAjZW5kaWYKLUBAIC0xNzcsMTIgKzE3Myw3IEBAIHZvaWQgcmVjdl9tc2dfdXNlcmF1dGhfcmVxdWVzdCgpIHsKLSAJaWYgKG1ldGhvZGxlbiA9PSBBVVRIX01FVEhPRF9QVUJLRVlfTEVOICYmCi0gCQkJc3RybmNtcChtZXRob2RuYW1lLCBBVVRIX01FVEhPRF9QVUJLRVksCi0gCQkJCUFVVEhfTUVUSE9EX1BVQktFWV9MRU4pID09IDApIHsKLS0JCWlmICh2YWxpZF91c2VyKSB7Ci0tCQkJc3ZyX2F1dGhfcHVia2V5KCk7Ci0tCQl9IGVsc2UgewotLQkJCS8qIHB1YmtleSBoYXMgbm8gZmFpbHVyZSBkZWxheSAqLwotLQkJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMCk7Ci0tCQl9Ci0rCQlzdnJfYXV0aF9wdWJrZXkodmFsaWRfdXNlcik7Ci0gCQlnb3RvIG91dDsKLSAJfQotICNlbmRpZgotZGlmZiAtLWdpdCBhL3N2ci1hdXRocGFtLmMgYi9zdnItYXV0aHBhbS5jCi1pbmRleCAwNWU0ZjNlLi5kMjAxYmM5IDEwMDY0NAotLS0tIGEvc3ZyLWF1dGhwYW0uYwotKysrIGIvc3ZyLWF1dGhwYW0uYwotQEAgLTE3OCwxMyArMTc4LDE0IEBAIHBhbUNvbnZGdW5jKGludCBudW1fbXNnLAotICAqIEtleWJvYXJkIGludGVyYWN0aXZlIHdvdWxkIGJlIGEgbG90IG5pY2VyLCBidXQgc2luY2UgUEFNIGlzIHN5bmNocm9ub3VzLCBpdAotICAqIGdldHMgdmVyeSBtZXNzeSB0cnlpbmcgdG8gc2VuZCB0aGUgaW50ZXJhY3RpdmUgY2hhbGxlbmdlcywgYW5kIHJlYWQgdGhlCi0gICogaW50ZXJhY3RpdmUgcmVzcG9uc2VzLCBvdmVyIHRoZSBuZXR3b3JrLiAqLwotLXZvaWQgc3ZyX2F1dGhfcGFtKCkgewotK3ZvaWQgc3ZyX2F1dGhfcGFtKGludCB2YWxpZF91c2VyKSB7Ci0gCi0gCXN0cnVjdCBVc2VyRGF0YVMgdXNlckRhdGEgPSB7TlVMTCwgTlVMTH07Ci0gCXN0cnVjdCBwYW1fY29udiBwYW1Db252ID0gewotIAkJcGFtQ29udkZ1bmMsCi0gCQkmdXNlckRhdGEgLyogc3VibWl0dGVkIHRvIHBhbXZDb252RnVuYyBhcyBhcHBkYXRhX3B0ciAqLyAKLSAJfTsKLSsJY29uc3QgY2hhciogcHJpbnRhYmxlX3VzZXIgPSBOVUxMOwotIAotIAlwYW1faGFuZGxlX3QqIHBhbUhhbmRsZXAgPSBOVUxMOwotIAotQEAgLTIwNCwxMiArMjA1LDIzIEBAIHZvaWQgc3ZyX2F1dGhfcGFtKCkgewotIAotIAlwYXNzd29yZCA9IGJ1Zl9nZXRzdHJpbmcoc2VzLnBheWxvYWQsICZwYXNzd29yZGxlbik7Ci0gCi0rCS8qIFdlIHJ1biB0aGUgUEFNIGNvbnZlcnNhdGlvbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHVzZXJuYW1lIGlzIHZhbGlkCi0rCWluIGNhc2UgdGhlIGNvbnZlcnNhdGlvbiBmdW5jdGlvbiBoYXMgYW4gaW5oZXJlbnQgZGVsYXkuCi0rCVVzZSBzZXMuYXV0aHN0YXRlLnVzZXJuYW1lIHJhdGhlciB0aGFuIHNlcy5hdXRoc3RhdGUucHdfbmFtZS4KLSsJQWZ0ZXIgUEFNIHN1Y2NlZWRzIHdlIHRoZW4gY2hlY2sgdGhlIHZhbGlkX3VzZXIgZmxhZyB0b28gKi8KLSsKLSAJLyogdXNlZCB0byBwYXNzIGRhdGEgdG8gdGhlIFBBTSBjb252ZXJzYXRpb24gZnVuY3Rpb24gLSBkb24ndCBib3RoZXIgd2l0aAotIAkgKiBzdHJkdXAoKSBldGMgc2luY2UgdGhlc2UgYXJlIHRvdWNoZWQgb25seSBieSBvdXIgb3duIGNvbnZlcnNhdGlvbgotIAkgKiBmdW5jdGlvbiAoYWJvdmUpIHdoaWNoIHRha2VzIGNhcmUgb2YgaXQgKi8KLS0JdXNlckRhdGEudXNlciA9IHNlcy5hdXRoc3RhdGUucHdfbmFtZTsKLSsJdXNlckRhdGEudXNlciA9IHNlcy5hdXRoc3RhdGUudXNlcm5hbWU7Ci0gCXVzZXJEYXRhLnBhc3N3ZCA9IHBhc3N3b3JkOwotIAotKwlpZiAoc2VzLmF1dGhzdGF0ZS5wd19uYW1lKSB7Ci0rCQlwcmludGFibGVfdXNlciA9IHNlcy5hdXRoc3RhdGUucHdfbmFtZTsKLSsJfSBlbHNlIHsKLSsJCXByaW50YWJsZV91c2VyID0gIjxpbnZhbGlkIHVzZXJuYW1lPiI7Ci0rCX0KLSsKLSAJLyogSW5pdCBwYW0gKi8KLSAJaWYgKChyYyA9IHBhbV9zdGFydCgic3NoZCIsIE5VTEwsICZwYW1Db252LCAmcGFtSGFuZGxlcCkpICE9IFBBTV9TVUNDRVNTKSB7Ci0gCQlkcm9wYmVhcl9sb2coTE9HX1dBUk5JTkcsICJwYW1fc3RhcnQoKSBmYWlsZWQsIHJjPSVkLCAlcyIsIAotQEAgLTI0Miw3ICsyNTQsNyBAQCB2b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSAJCQkJcmMsIHBhbV9zdHJlcnJvcihwYW1IYW5kbGVwLCByYykpOwotIAkJZHJvcGJlYXJfbG9nKExPR19XQVJOSU5HLAotIAkJCQkiQmFkIFBBTSBwYXNzd29yZCBhdHRlbXB0IGZvciAnJXMnIGZyb20gJXMiLAotLQkJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi0rCQkJCXByaW50YWJsZV91c2VyLAotIAkJCQlzdnJfc2VzLmFkZHJzdHJpbmcpOwotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAxKTsKLSAJCWdvdG8gY2xlYW51cDsKLUBAIC0yNTMsMTIgKzI2NSwxOCBAQCB2b2lkIHN2cl9hdXRoX3BhbSgpIHsKLSAJCQkJcmMsIHBhbV9zdHJlcnJvcihwYW1IYW5kbGVwLCByYykpOwotIAkJZHJvcGJlYXJfbG9nKExPR19XQVJOSU5HLAotIAkJCQkiQmFkIFBBTSBwYXNzd29yZCBhdHRlbXB0IGZvciAnJXMnIGZyb20gJXMiLAotLQkJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi0rCQkJCXByaW50YWJsZV91c2VyLAotIAkJCQlzdnJfc2VzLmFkZHJzdHJpbmcpOwotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAxKTsKLSAJCWdvdG8gY2xlYW51cDsKLSAJfQotIAotKwlpZiAoIXZhbGlkX3VzZXIpIHsKLSsJCS8qIFBBTSBhdXRoIHN1Y2NlZWRlZCBidXQgdGhlIHVzZXJuYW1lIGlzbid0IGFsbG93ZWQgaW4gZm9yIGFub3RoZXIgcmVhc29uCi0rCQkoY2hlY2t1c2VybmFtZSgpIGZhaWxlZCkgKi8KLSsJCXNlbmRfbXNnX3VzZXJhdXRoX2ZhaWx1cmUoMCwgMSk7Ci0rCX0KLSsKLSAJLyogc3VjY2Vzc2Z1bCBhdXRoZW50aWNhdGlvbiAqLwotIAlkcm9wYmVhcl9sb2coTE9HX05PVElDRSwgIlBBTSBwYXNzd29yZCBhdXRoIHN1Y2NlZWRlZCBmb3IgJyVzJyBmcm9tICVzIiwKLSAJCQlzZXMuYXV0aHN0YXRlLnB3X25hbWUsCi1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGhwYXNzd2QuYyBiL3N2ci1hdXRocGFzc3dkLmMKLWluZGV4IGJkZWUyYWEuLjY5YzdkOGEgMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aHBhc3N3ZC5jCi0rKysgYi9zdnItYXV0aHBhc3N3ZC5jCi1AQCAtNDgsMjIgKzQ4LDE0IEBAIHN0YXRpYyBpbnQgY29uc3RhbnRfdGltZV9zdHJjbXAoY29uc3QgY2hhciogYSwgY29uc3QgY2hhciogYikgewotIAotIC8qIFByb2Nlc3MgYSBwYXNzd29yZCBhdXRoIHJlcXVlc3QsIHNlbmRpbmcgc3VjY2VzcyBvciBmYWlsdXJlIG1lc3NhZ2VzIGFzCi0gICogYXBwcm9wcmlhdGUgKi8KLS12b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKCkgewotK3ZvaWQgc3ZyX2F1dGhfcGFzc3dvcmQoaW50IHZhbGlkX3VzZXIpIHsKLSAJCi0gCWNoYXIgKiBwYXNzd2RjcnlwdCA9IE5VTEw7IC8qIHRoZSBjcnlwdCBmcm9tIC9ldGMvcGFzc3dkIG9yIC9ldGMvc2hhZG93ICovCi0gCWNoYXIgKiB0ZXN0Y3J5cHQgPSBOVUxMOyAvKiBjcnlwdCBnZW5lcmF0ZWQgZnJvbSB0aGUgdXNlcidzIHBhc3N3b3JkIHNlbnQgKi8KLS0JY2hhciAqIHBhc3N3b3JkOwotKwljaGFyICogcGFzc3dvcmQgPSBOVUxMOwotIAl1bnNpZ25lZCBpbnQgcGFzc3dvcmRsZW47Ci0tCi0gCXVuc2lnbmVkIGludCBjaGFuZ2VwdzsKLSAKLS0JcGFzc3dkY3J5cHQgPSBzZXMuYXV0aHN0YXRlLnB3X3Bhc3N3ZDsKLS0KLS0jaWZkZWYgREVCVUdfSEFDS0NSWVBUCi0tCS8qIGRlYnVnZ2luZyBjcnlwdCBmb3Igbm9uLXJvb3QgdGVzdGluZyB3aXRoIHNoYWRvd3MgKi8KLS0JcGFzc3dkY3J5cHQgPSBERUJVR19IQUNLQ1JZUFQ7Ci0tI2VuZGlmCi0tCi0gCS8qIGNoZWNrIGlmIGNsaWVudCB3YW50cyB0byBjaGFuZ2UgcGFzc3dvcmQgKi8KLSAJY2hhbmdlcHcgPSBidWZfZ2V0Ym9vbChzZXMucGF5bG9hZCk7Ci0gCWlmIChjaGFuZ2VwdykgewotQEAgLTczLDEyICs2NSwyMSBAQCB2b2lkIHN2cl9hdXRoX3Bhc3N3b3JkKCkgewotIAl9Ci0gCi0gCXBhc3N3b3JkID0gYnVmX2dldHN0cmluZyhzZXMucGF5bG9hZCwgJnBhc3N3b3JkbGVuKTsKLS0KLS0JLyogdGhlIGZpcnN0IGJ5dGVzIG9mIHBhc3N3ZGNyeXB0IGFyZSB0aGUgc2FsdCAqLwotLQl0ZXN0Y3J5cHQgPSBjcnlwdChwYXNzd29yZCwgcGFzc3dkY3J5cHQpOwotKwlpZiAodmFsaWRfdXNlcikgewotKwkJLyogdGhlIGZpcnN0IGJ5dGVzIG9mIHBhc3N3ZGNyeXB0IGFyZSB0aGUgc2FsdCAqLwotKwkJcGFzc3dkY3J5cHQgPSBzZXMuYXV0aHN0YXRlLnB3X3Bhc3N3ZDsKLSsJCXRlc3RjcnlwdCA9IGNyeXB0KHBhc3N3b3JkLCBwYXNzd2RjcnlwdCk7Ci0rCX0KLSAJbV9idXJuKHBhc3N3b3JkLCBwYXNzd29yZGxlbik7Ci0gCW1fZnJlZShwYXNzd29yZCk7Ci0gCi0rCS8qIEFmdGVyIHdlIGhhdmUgZ290IHRoZSBwYXlsb2FkIGNvbnRlbnRzIHdlIGNhbiBleGl0IGlmIHRoZSB1c2VybmFtZQotKwlpcyBpbnZhbGlkLiBJbnZhbGlkIHVzZXJzIGhhdmUgYWxyZWFkeSBiZWVuIGxvZ2dlZC4gKi8KLSsJaWYgKCF2YWxpZF91c2VyKSB7Ci0rCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDEpOwotKwkJcmV0dXJuOwotKwl9Ci0rCi0gCWlmICh0ZXN0Y3J5cHQgPT0gTlVMTCkgewotIAkJLyogY3J5cHQoKSB3aXRoIGFuIGludmFsaWQgc2FsdCBsaWtlICIhISIgKi8KLSAJCWRyb3BiZWFyX2xvZyhMT0dfV0FSTklORywgIlVzZXIgYWNjb3VudCAnJXMnIGlzIGxvY2tlZCIsCi1kaWZmIC0tZ2l0IGEvc3ZyLWF1dGhwdWJrZXkuYyBiL3N2ci1hdXRocHVia2V5LmMKLWluZGV4IGFhNjA4N2MuLmZmNDgxYzggMTAwNjQ0Ci0tLS0gYS9zdnItYXV0aHB1YmtleS5jCi0rKysgYi9zdnItYXV0aHB1YmtleS5jCi1AQCAtNzksNyArNzksNyBAQCBzdGF0aWMgaW50IGNoZWNrZmlsZXBlcm0oY2hhciAqIGZpbGVuYW1lKTsKLSAKLSAvKiBwcm9jZXNzIGEgcHVia2V5IGF1dGggcmVxdWVzdCwgc2VuZGluZyBzdWNjZXNzIG9yIGZhaWx1cmUgbWVzc2FnZSBhcwotICAqIGFwcHJvcHJpYXRlICovCi0tdm9pZCBzdnJfYXV0aF9wdWJrZXkoKSB7Ci0rdm9pZCBzdnJfYXV0aF9wdWJrZXkoaW50IHZhbGlkX3VzZXIpIHsKLSAKLSAJdW5zaWduZWQgY2hhciB0ZXN0a2V5OyAvKiB3aGV0aGVyIHdlJ3JlIGp1c3QgY2hlY2tpbmcgaWYgYSBrZXkgaXMgdXNhYmxlICovCi0gCWNoYXIqIGFsZ28gPSBOVUxMOyAvKiBwdWJrZXkgYWxnbyAqLwotQEAgLTEwMiw2ICsxMDIsMTUgQEAgdm9pZCBzdnJfYXV0aF9wdWJrZXkoKSB7Ci0gCWtleWJsb2JsZW4gPSBidWZfZ2V0aW50KHNlcy5wYXlsb2FkKTsKLSAJa2V5YmxvYiA9IGJ1Zl9nZXRwdHIoc2VzLnBheWxvYWQsIGtleWJsb2JsZW4pOwotIAotKwlpZiAoIXZhbGlkX3VzZXIpIHsKLSsJCS8qIFJldHVybiBmYWlsdXJlIG9uY2Ugd2UgaGF2ZSByZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgcGFja2V0Ci0rCQlyZXF1aXJlZCB0byB2YWxpZGF0ZSBhIHB1YmxpYyBrZXkuIAotKwkJQXZvaWRzIGJsaW5kIHVzZXIgZW51bWVyYXRpb24gdGhvdWdoIGl0IGlzbid0IHBvc3NpYmxlIHRvIHByZXZlbnQKLSsJCXRlc3RpbmcgZm9yIHVzZXIgZXhpc3RlbmNlIGlmIHRoZSBwdWJsaWMga2V5IGlzIGtub3duICovCi0rCQlzZW5kX21zZ191c2VyYXV0aF9mYWlsdXJlKDAsIDApOwotKwkJZ290byBvdXQ7Ci0rCX0KLSsKLSAJLyogY2hlY2sgaWYgdGhlIGtleSBpcyB2YWxpZCAqLwotIAlpZiAoY2hlY2twdWJrZXkoYWxnbywgYWxnb2xlbiwga2V5YmxvYiwga2V5YmxvYmxlbikgPT0gRFJPUEJFQVJfRkFJTFVSRSkgewotIAkJc2VuZF9tc2dfdXNlcmF1dGhfZmFpbHVyZSgwLCAwKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOC43Ni5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOC43Ni5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZhNThkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTguNzYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLXJlcXVpcmUgZHJvcGJlYXIuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMzkxMmY3ZmNkY2M1N2M5OTkzN2U0YTc5NDgwZDJjMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmMmZiOTE2N2VjYThjZjkzNDU2YTVmYzFkNGZhZjcwOTkwMmEzYWI3MGRkNDRlMzUyZjNhY2JjM2ZmZGFlYTY1IgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTkuNzcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Ryb3BiZWFyL2Ryb3BiZWFyXzIwMTkuNzcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJhNzFiYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZHJvcGJlYXIvZHJvcGJlYXJfMjAxOS43Ny5iYgpAQCAtMCwwICsxLDQgQEAKK3JlcXVpcmUgZHJvcGJlYXIuaW5jCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZDRmMDI1NmM1ZDEzODIwYjBhM2VhYWRiMWEwYmMxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkOTFmNzhlYmU2MzNiZTFkMDcxZmQxYjdlNTUzNWI5NjkzNzk0MDQ4YjAxOWU5ZjRiZWEyNTdlMTk5MmI0NThkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9mdHMvZnRzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMmY1NDA4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0cy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDE1IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0jIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoc2VlIENPUFlJTkcuTUlUIGZvciB0aGUgdGVybXMpCi0KLVNVTU1BUlkgPSAiUE9TSVggZmlsZSB0cmVlIHN0cmVhbSBvcGVyYXRpb25zIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwczovL3NpdGVzLmdvb2dsZS5jb20vYS9ib3N0aWMuY29tL2tlaXRoYm9zdGljIgotTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZmZlMzU4MTc0YWFkMzgzZjFiNjljZTNiNTNkYTk4MiIKLVNFQ1RJT04gPSAibGlicyIKLQotU1JDUkVWID0gIjk0NDMzM2FlZDlkYzI0Y2ZhNzZjYzY0YmZlNzBjNzVkMjU2NTI3NTMiCi1QViA9ICIxLjIrZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92b2lkbGludXgvbXVzbC1mdHMgXAotIgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0jCi0jIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGZvciBub24tbXVzbCBzeXN0ZW1zCi0jCi1DT01QQVRJQkxFX0hPU1QgPSAiLiotbXVzbC4qIgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHNfMS4yLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2Z0cy9mdHNfMS4yLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg5YWUwZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZnRzL2Z0c18xLjIuNy5iYgpAQCAtMCwwICsxLDIxIEBACisjIENvcHlyaWdodCAoQykgMjAxNSBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorIyBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgKHNlZSBDT1BZSU5HLk1JVCBmb3IgdGhlIHRlcm1zKQorCitTVU1NQVJZID0gIkltcGxlbWVudGF0aW9uIG9mIGZ0c2ZvciBtdXNsIGxpYmMgcGFja2FnZXMiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vcHVsbG1vbGwvbXVzbC1mdHMiCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmZmUzNTgxNzRhYWQzODNmMWI2OWNlM2I1M2RhOTgyIgorU0VDVElPTiA9ICJsaWJzIgorCitTUkNSRVYgPSAiMGJkZTUyZGY1ODhlODk2OTg3OWEyY2FlNTFjM2E0Nzc0ZWM2MjQ3MiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3B1bGxtb2xsL211c2wtZnRzLmdpdCIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisjCisjIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGZvciBub24tbXVzbCBzeXN0ZW1zCisjCitDT01QQVRJQkxFX0hPU1QgPSAiLiotbXVzbC4qIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dC0wLjE5LjguMS9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dC0wLjE5LjguMS9maXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRmZTIwMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0LTAuMTkuOC4xL2ZpeC1DVkUtMjAxOC0xODc1MS5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Z2V0dGV4dC5naXQ7YT1jb21taXQ7aD1kY2UzYTE2XQorQ1ZFOiBDVkUtMjAxOC0xODc1MQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBkY2UzYTE2ZTVlOTM2ODI0NTczNWUyOWJmNDk4ZGNkNWUzZTQ3NGE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFpa2kgVWVubyA8dWVub0BnbnUub3JnPgorRGF0ZTogVGh1LCAxNSBTZXAgMjAxNiAxMzo1NzoyNCArMDIwMAorU3ViamVjdDogW1BBVENIXSB4Z2V0dGV4dDogRml4IGNyYXNoIHdpdGggKi5wbyBmaWxlIGlucHV0CisKK1doZW4geGdldHRleHQgd2FzIGdpdmVuIHR3byAqLnBvIGZpbGVzIHdpdGggdGhlIHNhbWUgbXNnaWRfcGx1cmFsLCBpdAorY3Jhc2hlZCB3aXRoIGRvdWJsZS1mcmVlLiAgUHJvYmxlbSByZXBvcnRlZCBieSBEYXZsZXQgUGFuZWNoIGluOgoraHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2J1Zy1nZXR0ZXh0LzIwMTYtMDkvbXNnMDAwMDEuaHRtbAorKiBnZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55OiBEb24ndCBmcmVlIG1zZ2lkX3BsdXJhbGZvcm0gYWZ0ZXIKK2NhbGxpbmcgZG9fY2FsbGJhY2tfbWVzc2FnZSwgYXNzdW1pbmcgdGhhdCBpdCB0YWtlcyBvd25lcnNoaXAuCisqIGdldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jIChkZWZhdWx0X2FkZF9tZXNzYWdlKTogRnJlZQorbXNnaWRfcGx1cmFsIGFmdGVyIGNhbGxpbmcgbWVzc2FnZV9hbGxvYy4KKyogZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yOiBOZXcgZmlsZS4KKyogZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbSAoVEVTVFMpOiBBZGQgbmV3IHRlc3QuCistLS0KKyBnZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55ICAgfCAxMyArKysrLS0tLS0KKyBnZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYyAgfCAgMiArKworIGdldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0gICB8ICAyICstCisgZ2V0dGV4dC10b29scy90ZXN0cy94Z2V0dGV4dC1wby0yIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDc1NSBnZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKKworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvc3JjL3BvLWdyYW0tZ2VuLnkgYi9nZXR0ZXh0LXRvb2xzL3NyYy9wby1ncmFtLWdlbi55CitpbmRleCBiZWNmNWU2Li40NDI4ZTc3IDEwMDY0NAorLS0tIGEvZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueQorKysrIGIvZ2V0dGV4dC10b29scy9zcmMvcG8tZ3JhbS1nZW4ueQorQEAgLTIyMSwxNCArMjIxLDExIEBAIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICBjaGVja19vYnNvbGV0ZSAoJDEsICQzKTsKKyAgICAgICAgICAgICAgICAgICBjaGVja19vYnNvbGV0ZSAoJDEsICQ0KTsKKyAgICAgICAgICAgICAgICAgICBpZiAoISQxLm9ic29sZXRlIHx8IHBhc3Nfb2Jzb2xldGVfZW50cmllcykKKy0gICAgICAgICAgICAgICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgICAgZG9fY2FsbGJhY2tfbWVzc2FnZSAoJDEuY3R4dCwgc3RyaW5nMiwgJiQxLnBvcywgJDMuc3RyaW5nLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkNC5yaHMubXNnc3RyLCAkNC5yaHMubXNnc3RyX2xlbiwgJiQ0LnBvcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEucHJldl9jdHh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2lkLCAkMS5wcmV2X2lkX3BsdXJhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDEub2Jzb2xldGUpOworLSAgICAgICAgICAgICAgICAgICAgICBmcmVlICgkMy5zdHJpbmcpOworLSAgICAgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgZG9fY2FsbGJhY2tfbWVzc2FnZSAoJDEuY3R4dCwgc3RyaW5nMiwgJiQxLnBvcywgJDMuc3RyaW5nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJDQucmhzLm1zZ3N0ciwgJDQucmhzLm1zZ3N0cl9sZW4sICYkNC5wb3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2N0eHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkMS5wcmV2X2lkLCAkMS5wcmV2X2lkX3BsdXJhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQxLm9ic29sZXRlKTsKKyAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgIGZyZWVfbWVzc2FnZV9pbnRybyAoJDEpOworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvc3JjL3JlYWQtY2F0YWxvZy5jIGIvZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMKK2luZGV4IDU3MWQxOGUuLjZhZjZkMjAgMTAwNjQ0CistLS0gYS9nZXR0ZXh0LXRvb2xzL3NyYy9yZWFkLWNhdGFsb2cuYworKysrIGIvZ2V0dGV4dC10b29scy9zcmMvcmVhZC1jYXRhbG9nLmMKK0BAIC0zOTcsNiArMzk3LDggQEAgZGVmYXVsdF9hZGRfbWVzc2FnZSAoZGVmYXVsdF9jYXRhbG9nX3JlYWRlcl90eSAqdGhpcywKKyAgICAgICAgICBhcHByb3ByaWF0ZS4gICovCisgICAgICAgbXAgPSBtZXNzYWdlX2FsbG9jIChtc2djdHh0LCBtc2dpZCwgbXNnaWRfcGx1cmFsLCBtc2dzdHIsIG1zZ3N0cl9sZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2dzdHJfcG9zKTsKKysgICAgICBpZiAobXNnaWRfcGx1cmFsICE9IE5VTEwpCisrICAgICAgICBmcmVlIChtc2dpZF9wbHVyYWwpOworICAgICAgIG1wLT5wcmV2X21zZ2N0eHQgPSBwcmV2X21zZ2N0eHQ7CisgICAgICAgbXAtPnByZXZfbXNnaWQgPSBwcmV2X21zZ2lkOworICAgICAgIG1wLT5wcmV2X21zZ2lkX3BsdXJhbCA9IHByZXZfbXNnaWRfcGx1cmFsOworZGlmZiAtLWdpdCBhL2dldHRleHQtdG9vbHMvdGVzdHMvTWFrZWZpbGUuYW0gYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL01ha2VmaWxlLmFtCitpbmRleCAyM2IwOWIxLi4wZGZiNGQ4IDEwMDY0NAorLS0tIGEvZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbQorKysrIGIvZ2V0dGV4dC10b29scy90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTk1LDcgKzk1LDcgQEAgVEVTVFMgPSBnZXR0ZXh0LTEgZ2V0dGV4dC0yIGdldHRleHQtMyBnZXR0ZXh0LTQgZ2V0dGV4dC01IGdldHRleHQtNiBnZXR0ZXh0LTcgXAorIAl4Z2V0dGV4dC1wZXJsLTEgeGdldHRleHQtcGVybC0yIHhnZXR0ZXh0LXBlcmwtMyB4Z2V0dGV4dC1wZXJsLTQgXAorIAl4Z2V0dGV4dC1wZXJsLTUgeGdldHRleHQtcGVybC02IHhnZXR0ZXh0LXBlcmwtNyB4Z2V0dGV4dC1wZXJsLTggXAorIAl4Z2V0dGV4dC1waHAtMSB4Z2V0dGV4dC1waHAtMiB4Z2V0dGV4dC1waHAtMyB4Z2V0dGV4dC1waHAtNCBcCistCXhnZXR0ZXh0LXBvLTEgXAorKwl4Z2V0dGV4dC1wby0xIHhnZXR0ZXh0LXBvLTIgXAorIAl4Z2V0dGV4dC1wcm9wZXJ0aWVzLTEgXAorIAl4Z2V0dGV4dC1weXRob24tMSB4Z2V0dGV4dC1weXRob24tMiB4Z2V0dGV4dC1weXRob24tMyBcCisgCXhnZXR0ZXh0LXB5dGhvbi00IFwKK2RpZmYgLS1naXQgYS9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIgYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKK25ldyBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCAwMDAwMDAwLi5jNGJkOWQwCistLS0gL2Rldi9udWxsCisrKysgYi9nZXR0ZXh0LXRvb2xzL3Rlc3RzL3hnZXR0ZXh0LXBvLTIKK0BAIC0wLDAgKzEsNTUgQEAKKysjISAvYmluL3NoCisrLiAiJHtzcmNkaXI9Ln0vaW5pdC5zaCI7IHBhdGhfcHJlcGVuZF8gLiAuLi9zcmMKKysKKysjIFRlc3QgUE8gZXh0cmFjdG9ycyB3aXRoIG11bHRpcGxlIGlucHV0IGZpbGVzLgorKworK2NhdCA8PEVPRiA+IHhnLXBvLTItMS5wbworK21zZ2lkICJmaXJzdCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgImZpcnN0IG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJzZWNvbmQgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJzZWNvbmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrRU9GCisrCisrY2F0IDw8RU9GID4geGctcG8tMi0yLnBvCisrbXNnaWQgInRoaXJkIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAidGhpcmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrCisrbXNnaWQgInNlY29uZCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgInNlY29uZCBtc2dpZCAocGx1cmFsKSIKKyttc2dzdHJbMF0gIiIKKyttc2dzdHJbMV0gIiIKKytFT0YKKysKKys6ICR7WEdFVFRFWFQ9eGdldHRleHR9CisrJHtYR0VUVEVYVH0gLS1vbWl0LWhlYWRlciB4Zy1wby0yLTEucG8geGctcG8tMi0yLnBvIC1vIHhnLXBvLTIudG1wLnBvIHx8IEV4aXQgMQorK0xDX0FMTD1DIHRyIC1kICdccicgPCB4Zy1wby0yLnRtcC5wbyA+IHhnLXBvLTIucG8gfHwgRXhpdCAxCisrCisrY2F0IDw8RU9GID4geGctcG8tMi5vaworK21zZ2lkICJmaXJzdCBtc2dpZCIKKyttc2dpZF9wbHVyYWwgImZpcnN0IG1zZ2lkIChwbHVyYWwpIgorK21zZ3N0clswXSAiIgorK21zZ3N0clsxXSAiIgorKworK21zZ2lkICJzZWNvbmQgbXNnaWQiCisrbXNnaWRfcGx1cmFsICJzZWNvbmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrCisrbXNnaWQgInRoaXJkIG1zZ2lkIgorK21zZ2lkX3BsdXJhbCAidGhpcmQgbXNnaWQgKHBsdXJhbCkiCisrbXNnc3RyWzBdICIiCisrbXNnc3RyWzFdICIiCisrRU9GCisrCisrOiAke0RJRkY9ZGlmZn0KKyske0RJRkZ9IHhnLXBvLTIub2sgeGctcG8tMi5wbworK3Jlc3VsdD0kPworKworK2V4aXQgJHJlc3VsdAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dldHRleHQvZ2V0dGV4dF8wLjE5LjguMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCmluZGV4IDY4ZjVjYzMuLjQwNDk3MjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2V0dGV4dC9nZXR0ZXh0XzAuMTkuOC4xLmJiCkBAIC04LDggKzgsMTEgQEAKIExJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTC0yLjErIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCiAKLURFUEVORFMgPSAiZ2V0dGV4dC1uYXRpdmUgdmlydHVhbC9saWJpY29udiIKLURFUEVORFNfY2xhc3MtbmF0aXZlID0gImdldHRleHQtbWluaW1hbC1uYXRpdmUiCisjIEJlY2F1c2UgcG8tZ3JhbS1nZW4ueSBoYXMgYmVlbiBtb2RpZmllZCBieSBmaXgtQ1ZFLTIwMTgtMTg3NTEucGF0Y2gsCisjIGl0IHJlcXVpcmVzIHlhY2Mgd2hpY2ggcHJvdmlkZWQgYnkgYmlzb24tbmF0aXZlCisjIFBsZWFzZSByZW1vdmUgYmlzb24tbmF0aXZlIGZyb20gREVQRU5EUyogd2hlbiBuZXh0IHVwZ3JhZGUKK0RFUEVORFMgPSAiYmlzb24tbmF0aXZlIGdldHRleHQtbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJiaXNvbi1uYXRpdmUgZ2V0dGV4dC1taW5pbWFsLW5hdGl2ZSIKIFBST1ZJREVTID0gInZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2dldHRleHQiCiBQUk9WSURFU19jbGFzcy1uYXRpdmUgPSAidmlydHVhbC9nZXR0ZXh0LW5hdGl2ZSIKIFJDT05GTElDVFNfJHtQTn0gPSAicHJveHktbGliaW50bCIKQEAgLTE4LDYgKzIxLDcgQEAKIAkgICBmaWxlOi8vYWRkLXdpdGgtYmlzb25sb2NhbGVkaXIucGF0Y2ggXAogCSAgIGZpbGU6Ly9jci1zdGF0ZW1lbnQuYy10aW1zb3J0LmgtZml4LWZvcm1hdHRpbmctaXNzdWVzLnBhdGNoIFwKIAkgICBmaWxlOi8vdXNlLXBrZ2NvbmZpZy5wYXRjaCBcCisJICAgZmlsZTovL2ZpeC1DVkUtMjAxOC0xODc1MS5wYXRjaCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI5N2UwMzRjZjhjZTViYTczYTI4ZmY2YzNjMDYzODA5MiIKQEAgLTM1LDYgKzM5LDcgQEAKICAgICAgICAgICAgICAgICAgLS13aXRob3V0LWVtYWNzIFwKICAgICAgICAgICAgICAgICAgLS13aXRob3V0LWN2cyBcCiAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1naXQgXAorICAgICAgICAgICAgICAgICAtLWNhY2hlLWZpbGU9JHtCfS9jb25maWcuY2FjaGUgXAogICAgICAgICAgICAgICAgICIKIEVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1iaXNvbmxvY2FsZWRpcj0ke2RhdGFkaXJ9L2xvY2FsZSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtRG8tbm90LXdyaXRlLWJpbmRpci1pbnRvLXBrZy1jb25maWctZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtRG8tbm90LXdyaXRlLWJpbmRpci1pbnRvLXBrZy1jb25maWctZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRlMjljOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1Eby1ub3Qtd3JpdGUtYmluZGlyLWludG8tcGtnLWNvbmZpZy1maWxlcy5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDQ3NGU1OWFiZWM4OGRlMGM0NTU4MzZjMWY1MzE1MmJmMmFhMjZjMzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTE6MTc6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHdyaXRlICRiaW5kaXIgaW50byBwa2ctY29uZmlnIGZpbGVzCisKK1RoaXMgd291bGQgb3RoZXJ3aXNlIGJyZWFrIHdoZW4gdXNpbmcgdGhlIGZpbGVzIHRvIGJ1aWxkIG90aGVyIHRhcmdldAorY29tcG9uZW50cyAod2UgbmVlZCB0byByZWx5IG9uIFBBVEggY29udGFpbmluZyB0aGUgcGF0aHMgdG8gdXRpbGl0aWVzLAorcmF0aGVyIHRoYW4gdXNlIHRhcmdldCBwYXRocykuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdXBzdHJlYW0gd2FudHMgdGhlIHBhdGhzIGluIC5wYyBmaWxlc10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgZ2lvL21lc29uLmJ1aWxkICB8IDYgKysrLS0tCisgZ2xpYi9tZXNvbi5idWlsZCB8IDYgKysrLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naW8vbWVzb24uYnVpbGQgYi9naW8vbWVzb24uYnVpbGQKK2luZGV4IDg1ZDhiMTQuLjY1NzcyMGEgMTAwNjQ0CistLS0gYS9naW8vbWVzb24uYnVpbGQKKysrKyBiL2dpby9tZXNvbi5idWlsZAorQEAgLTgxMyw5ICs4MTMsOSBAQCBwa2cuZ2VuZXJhdGUobGlicmFyaWVzIDogbGliZ2lvLAorICAgICAgICAgICAgICAgICdzY2hlbWFzZGlyPScgKyBqb2luX3BhdGhzKCcke2RhdGFkaXJ9Jywgc2NoZW1hc19zdWJkaXIpLAorICAgICAgICAgICAgICAgICdiaW5kaXI9JyArIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdldF9vcHRpb24oJ2JpbmRpcicpKSwKKyAgICAgICAgICAgICAgICAnZ2lvbW9kdWxlZGlyPScgKyBnaW9tb2R1bGVzZGlyLAorLSAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfc2NoZW1hcz0nICsgam9pbl9wYXRocygnJHtiaW5kaXJ9JywgJ2dsaWItY29tcGlsZS1zY2hlbWFzJyksCistICAgICAgICAgICAgICAgJ2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLWNvbXBpbGUtcmVzb3VyY2VzJyksCistICAgICAgICAgICAgICAgJ2dkYnVzX2NvZGVnZW49JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnZGJ1cy1jb2RlZ2VuJyldLAorKyAgICAgICAgICAgICAgICdnbGliX2NvbXBpbGVfc2NoZW1hcz1nbGliLWNvbXBpbGUtc2NoZW1hcycsCisrICAgICAgICAgICAgICAgJ2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9Z2xpYi1jb21waWxlLXJlc291cmNlcycsCisrICAgICAgICAgICAgICAgJ2dkYnVzX2NvZGVnZW49Z2RidXMtY29kZWdlbiddLAorICAgdmVyc2lvbiA6IGdsaWJfdmVyc2lvbiwKKyAgIGluc3RhbGxfZGlyIDogZ2xpYl9wa2djb25maWdyZWxkaXIsCisgICBmaWxlYmFzZSA6ICdnaW8tMi4wJywKK2RpZmYgLS1naXQgYS9nbGliL21lc29uLmJ1aWxkIGIvZ2xpYi9tZXNvbi5idWlsZAoraW5kZXggYzA1YzY5NC4uNDM0ZThiMSAxMDA2NDQKKy0tLSBhL2dsaWIvbWVzb24uYnVpbGQKKysrKyBiL2dsaWIvbWVzb24uYnVpbGQKK0BAIC0yNjEsOSArMjYxLDkgQEAgcGtnLmdlbmVyYXRlKGxpYnJhcmllcyA6IFtsaWJnbGliLCBsaWJpbnRsXSwKKyAgIHN1YmRpcnMgOiBbJ2dsaWItMi4wJ10sCisgICBleHRyYV9jZmxhZ3MgOiBbJy1JJHtsaWJkaXJ9L2dsaWItMi4wL2luY2x1ZGUnXSArIHdpbjMyX2NmbGFncywKKyAgIHZhcmlhYmxlcyA6IFsnYmluZGlyPScgKyBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdiaW5kaXInKSksCistICAgICAgICAgICAgICAgJ2dsaWJfZ2VubWFyc2hhbD0nICsgam9pbl9wYXRocygnJHtiaW5kaXJ9JywgJ2dsaWItZ2VubWFyc2hhbCcpLAorLSAgICAgICAgICAgICAgICdnb2JqZWN0X3F1ZXJ5PScgKyBqb2luX3BhdGhzKCcke2JpbmRpcn0nLCAnZ29iamVjdC1xdWVyeScpLAorLSAgICAgICAgICAgICAgICdnbGliX21rZW51bXM9JyArIGpvaW5fcGF0aHMoJyR7YmluZGlyfScsICdnbGliLW1rZW51bXMnKV0sCisrICAgICAgICAgICAgICAgJ2dsaWJfZ2VubWFyc2hhbD1nbGliLWdlbm1hcnNoYWwnLAorKyAgICAgICAgICAgICAgICdnb2JqZWN0X3F1ZXJ5PWdvYmplY3QtcXVlcnknLAorKyAgICAgICAgICAgICAgICdnbGliX21rZW51bXM9Z2xpYi1ta2VudW1zJ10sCisgICB2ZXJzaW9uIDogZ2xpYl92ZXJzaW9uLAorICAgaW5zdGFsbF9kaXIgOiBnbGliX3BrZ2NvbmZpZ3JlbGRpciwKKyAgIGZpbGViYXNlIDogJ2dsaWItMi4wJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKaW5kZXggOTdkMGFmZi4uZjI0NjI1NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDg1NjA0NTkyN2I5YWIzOTExNjVjMGViYWJmNDAxODM1Zjg0MzllYWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE3ZmM5MjMwZmI5MzI0MzJkOGZhYWFhYmY4YzU2ZmRjNDg0NTQ5NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAyMiBNYXIgMjAxNiAxNToxNDo1OCArMDIwMAogU3ViamVjdDogW1BBVENIXSBJbnN0YWxsIGdpby1xdWVyeW1vZHVsZXMgYXMgbGliZXhlY19QUk9HUkFNCkBAIC0xMSw3ICsxMSw4IEBACiAKIC0tLQogIGdpby9NYWtlZmlsZS5hbSB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGdpby9tZXNvbi5idWlsZCB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9naW8vTWFrZWZpbGUuYW0gYi9naW8vTWFrZWZpbGUuYW0KIGluZGV4IGUxNGNhZDIuLmJmMmJjYzcgMTAwNjQ0CkBAIC0yNywzICsyOCwxNSBAQAogIAogIGdsaWJfY29tcGlsZV9yZXNvdXJjZXNfTERBREQgPSBsaWJnaW8tMi4wLmxhIAkJXAogIAkkKHRvcF9idWlsZGRpcikvZ29iamVjdC9saWJnb2JqZWN0LTIuMC5sYQlcCitkaWZmIC0tZ2l0IGEvZ2lvL21lc29uLmJ1aWxkIGIvZ2lvL21lc29uLmJ1aWxkCitpbmRleCBiODNkOGY1Li44NWQ4YjE0IDEwMDY0NAorLS0tIGEvZ2lvL21lc29uLmJ1aWxkCisrKysgYi9naW8vbWVzb24uYnVpbGQKK0BAIC05MjUsNiArOTI1LDcgQEAgZ2lvX3F1ZXJ5bW9kdWxlcyA9IGV4ZWN1dGFibGUoJ2dpby1xdWVyeW1vZHVsZXMnLCAnZ2lvLXF1ZXJ5bW9kdWxlcy5jJywgJ2dpb21vZHUKKyAgIGNfYXJncyA6IGdpb19jX2FyZ3MsCisgICAjIGludGwubGliIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggU0FGRVNFSAorICAgbGlua19hcmdzIDogbm9zZWhfbGlua19hcmdzLAorKyAgaW5zdGFsbF9kaXI6IGdsaWJfbGliZXhlY2RpciwKKyAgIGRlcGVuZGVuY2llcyA6IFtsaWJnaW9fZGVwLCBsaWJnb2JqZWN0X2RlcCwgbGliZ21vZHVsZV9kZXAsIGxpYmdsaWJfZGVwXSkKKyAKKyBnbGliX2NvbXBpbGVfc2NoZW1hcyA9IGV4ZWN1dGFibGUoJ2dsaWItY29tcGlsZS1zY2hlbWFzJywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1SZXZlcnQtVXNlLWFic29sdXRlLXBhdGhzLWluLXBrZy1jb25maWctZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYzVkODQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0Zyb20gYWJjMjZhZWQ3YTI4Njc4ZGZjYzIwYjIxNzI2YTk3YzdjMDJlYTczYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+CitEYXRlOiBUaHUsIDE0IEZlYiAyMDE5IDE0OjU1OjE1ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAiVXNlIGFic29sdXRlIHBhdGhzIGluIHBrZy1jb25maWcgZmlsZXMiCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgZTdhN2M5Yjk3Nzc2ZmEyYTYzOGQxOGVhM2E5MzFiYTg0ZTc3OGY4MC4KKworVGhlIGdsaWIgcGtnY29uZmlnIGZpbGVzIG5vdyBjb250YWluIGFic29sdXRlIHBhdGhzLCBidXQgdGhleSdyZQordGFyZ2V0IHBhdGhzIHNvIHdoZW4gd2UgdXNlZCB0aGVtIGZyb20gYSBzeXNyb290IGl0IGZhaWxzLiAgVXBzdHJlYW0KK3RoaW5rcyB0aGF0IHdlIHNob3VsZCBiZSBzZXR0aW5nCitHTElCX01LRU5VTVM9L3BhdGgvdG8vc3lzcm9vdC91c3IvYmluL2dsaWItbWtlbnVtcyBidXQgdGhhdCByZWFsbHkKK2RvZXNuJ3Qgc2NhbGUuCisKK0ZvciBub3csIHdlIGp1c3QgcmV2ZXJ0IHRoZSBjaGFuZ2UgdG8gcHV0IGFic29sdXRlIHBhdGhzIGludG8KK3RoZSBzeXNyb290LiBUaGlzIHNob3VsZCBiZSByZS1ldmFsdWF0ZWQgd2hlbiB3ZSBtb3ZlIHRoZSByZWNpcGUgdG8gdXNlCittZXNvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtSZXZlcnQgb2YgYW4gdXBzdHJlYW0gY29tbWl0XQorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIGdpby0yLjAucGMuaW4gIHwgNyArKystLS0tCisgZ2xpYi0yLjAucGMuaW4gfCA3ICsrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dpby0yLjAucGMuaW4gYi9naW8tMi4wLnBjLmluCitpbmRleCBkNjdlODA4MzkuLjUyNmYwZGFhMCAxMDA2NDQKKy0tLSBhL2dpby0yLjAucGMuaW4KKysrKyBiL2dpby0yLjAucGMuaW4KK0BAIC01LDExICs1LDEwIEBAIGluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgCisgZGF0YWRpcj1AZGF0YWRpckAKKyBzY2hlbWFzZGlyPSR7ZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcworLWJpbmRpcj1AYmluZGlyQAorIGdpb21vZHVsZWRpcj1AR0lPX01PRFVMRV9ESVJACistZ2xpYl9jb21waWxlX3NjaGVtYXM9JHtiaW5kaXJ9L2dsaWItY29tcGlsZS1zY2hlbWFzCistZ2xpYl9jb21waWxlX3Jlc291cmNlcz0ke2JpbmRpcn0vZ2xpYi1jb21waWxlLXJlc291cmNlcworLWdkYnVzX2NvZGVnZW49JHtiaW5kaXJ9L2dkYnVzLWNvZGVnZW4KKytnbGliX2NvbXBpbGVfc2NoZW1hcz1nbGliLWNvbXBpbGUtc2NoZW1hcworK2dsaWJfY29tcGlsZV9yZXNvdXJjZXM9Z2xpYi1jb21waWxlLXJlc291cmNlcworK2dkYnVzX2NvZGVnZW49Z2RidXMtY29kZWdlbgorIAorIE5hbWU6IEdJTworIERlc2NyaXB0aW9uOiBnbGliIEkvTyBsaWJyYXJ5CitkaWZmIC0tZ2l0IGEvZ2xpYi0yLjAucGMuaW4gYi9nbGliLTIuMC5wYy5pbgoraW5kZXggM2M1ZWE4MWRjLi4yNzVmYzAxNjMgMTAwNjQ0CistLS0gYS9nbGliLTIuMC5wYy5pbgorKysrIGIvZ2xpYi0yLjAucGMuaW4KK0BAIC0zLDEwICszLDkgQEAgZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorIGxpYmRpcj1AbGliZGlyQAorIGluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisgCistYmluZGlyPUBiaW5kaXJACistZ2xpYl9nZW5tYXJzaGFsPSR7YmluZGlyfS9nbGliLWdlbm1hcnNoYWwKKy1nb2JqZWN0X3F1ZXJ5PSR7YmluZGlyfS9nb2JqZWN0LXF1ZXJ5CistZ2xpYl9ta2VudW1zPSR7YmluZGlyfS9nbGliLW1rZW51bXMKKytnbGliX2dlbm1hcnNoYWw9Z2xpYi1nZW5tYXJzaGFsCisrZ29iamVjdF9xdWVyeT1nb2JqZWN0LXF1ZXJ5CisrZ2xpYl9ta2VudW1zPWdsaWItbWtlbnVtcworIAorIE5hbWU6IEdMaWIKKyBEZXNjcmlwdGlvbjogQyBVdGlsaXR5IExpYnJhcnkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1TZXQtaG9zdF9tYWNoaW5lLWNvcnJlY3RseS13aGVuLWJ1aWxkaW5nLXdpdGgtbWluZ3czLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLVNldC1ob3N0X21hY2hpbmUtY29ycmVjdGx5LXdoZW4tYnVpbGRpbmctd2l0aC1taW5ndzMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI3ZmFiNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1TZXQtaG9zdF9tYWNoaW5lLWNvcnJlY3RseS13aGVuLWJ1aWxkaW5nLXdpdGgtbWluZ3czLnBhdGNoCkBAIC0wLDAgKzEsMTA0IEBACitGcm9tIDQxNjlmMTFiZWVkYWNmYmI4Yzc5MzRhNGM5OTE4OWQ0NDkzNWE2YjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTMgRmViIDIwMTkgMTU6MzI6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGhvc3RfbWFjaGluZSBjb3JyZWN0bHkgd2hlbiBidWlsZGluZyB3aXRoIG1pbmd3MzIKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGdpby90ZXN0cy9tZXNvbi5idWlsZCAgfCA4ICsrKystLS0tCisgZ2xpYi90ZXN0cy9tZXNvbi5idWlsZCB8IDQgKystLQorIG1lc29uLmJ1aWxkICAgICAgICAgICAgfCAzICsrKworIHRlc3RzL21lc29uLmJ1aWxkICAgICAgfCAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkIGIvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCitpbmRleCAxODFmNWM3Li4xMWExZjEyIDEwMDY0NAorLS0tIGEvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi9naW8vdGVzdHMvbWVzb24uYnVpbGQKK0BAIC0xMiw3ICsxMiw3IEBAIHRlc3RfY19hcmdzID0gWworICAgJy1ER0xJQl9DT01QSUxFX1NDSEVNQVM9IkAwQCInLmZvcm1hdChnbGliX2NvbXBpbGVfc2NoZW1hcy5mdWxsX3BhdGgoKSksCisgXQorIAorLWlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycKKytpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycKKyAgIGNvbW1vbl9naW9fdGVzdHNfZGVwcyArPSBbaXBobHBhcGlfZGVwLCB3aW5zb2NrMiwgY2MuZmluZF9saWJyYXJ5ICgnc2VjdXIzMicpXQorIGVuZGlmCisgCitAQCAtMTIyLDcgKzEyMiw3IEBAIGlmIGRidXMxX2RlcC5mb3VuZCgpCisgZW5kaWYKKyAKKyAjICBUZXN0IHByb2dyYW1zIGJ1aWxkYWJsZSBvbiBVTklYIG9ubHkKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICBnaW9fdGVzdHMgKz0gW3sKKyAgICAgJ2ZpbGUnIDoge30sCisgICAgICdnZGJ1cy1wZWVyJyA6IHsKK0BAIC0zMTQsNyArMzE0LDcgQEAgaWYgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworIGVuZGlmICMgdW5peAorIAorICMgIFRlc3QgcHJvZ3JhbXMgYnVpbGRhYmxlIG9uIFdpbmRvd3Mgb25seQorLWlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycKKytpZiBob3N0X3N5c3RlbSA9PSAnd2luZG93cycKKyAgIGdpb190ZXN0cyArPSBbeyd3aW4zMi1zdHJlYW1zJyA6IHt9fV0KKyBlbmRpZgorIAorQEAgLTM3OSw3ICszNzksNyBAQCBpZiBjYy5nZXRfaWQoKSAhPSAnbXN2YycKKyAgIH1dCisgZW5kaWYKKyAKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICB0ZXN0X2V4dHJhX3Byb2dyYW1zICs9IFt7CisgICAgICdnZGJ1cy1leGFtcGxlLXVuaXgtZmQtY2xpZW50JyA6IHsKKyAgICAgICAnaW5zdGFsbCcgOiBmYWxzZSwKK2RpZmYgLS1naXQgYS9nbGliL3Rlc3RzL21lc29uLmJ1aWxkIGIvZ2xpYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggZDdiNmE3YS4uNjY3OGEwOCAxMDA2NDQKKy0tLSBhL2dsaWIvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL2dsaWIvdGVzdHMvbWVzb24uYnVpbGQKK0BAIC00NSw3ICs0NSw3IEBAIGdsaWJfdGVzdHMgPSB7CisgICAnaG9vaycgOiB7fSwKKyAgICdob3N0dXRpbHMnIDoge30sCisgICAnaW5jbHVkZScgOiB7CistICAgICdza2lwJyA6IGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycsCisrICAgICdza2lwJyA6IGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJywKKyAgIH0sCisgICAna2V5ZmlsZScgOiB7fSwKKyAgICdsaXN0JyA6IHt9LAorQEAgLTExMiw3ICsxMTIsNyBAQCBnbGliX3Rlc3RzID0geworICAgJ3V0aWxzJyA6IHt9LAorICAgJ3VuaWNvZGUnIDoge30sCisgICAndW5peCcgOiB7CistICAgICdza2lwJyA6IGhvc3RfbWFjaGluZS5zeXN0ZW0oKSA9PSAnd2luZG93cycsCisrICAgICdza2lwJyA6IGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJywKKyAgIH0sCisgICAndXJpJyA6IHt9LAorICAgJzFiaXQtbXV0ZXgnIDoge30sCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggZjc0MDVhMi4uNDM0OGYyMCAxMDA2NDQKKy0tLSBhL21lc29uLmJ1aWxkCisrKysgYi9tZXNvbi5idWlsZAorQEAgLTMxLDYgKzMxLDkgQEAgZWxzZQorIGVuZGlmCisgCisgaG9zdF9zeXN0ZW0gPSBob3N0X21hY2hpbmUuc3lzdGVtKCkKKytpZiBob3N0X3N5c3RlbSA9PSAnbWluZ3czMicKKysgIGhvc3Rfc3lzdGVtID0gJ3dpbmRvd3MnCisrZW5kaWYKKyAKKyBnbGliX3ZlcnNpb24gPSBtZXNvbi5wcm9qZWN0X3ZlcnNpb24oKQorIGdsaWJfYXBpX3ZlcnNpb24gPSAnMi4wJworZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKK2luZGV4IDgwZTQ1ZDcuLjlmMzg2OWYgMTAwNjQ0CistLS0gYS90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKK0BAIC02Nyw3ICs2Nyw3IEBAIHRlc3RfZXh0cmFfcHJvZ3JhbXMgPSB7CisgICAndW5pY29kZS1jb2xsYXRlJyA6IHt9LAorIH0KKyAKKy1pZiBob3N0X21hY2hpbmUuc3lzdGVtKCkgIT0gJ3dpbmRvd3MnCisraWYgaG9zdF9zeXN0ZW0gIT0gJ3dpbmRvd3MnCisgICB0ZXN0cyArPSBbeworICAgICAndGltZWxvb3AnIDoge30sCisgICAgICdzcGF3bi10ZXN0JyA6IHt9LApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24tZG8tYS1idWlsZC10aW1lLWNoZWNrLWZvci1zdHJsY3B5LWJlZm9yZS1hdHRlbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWVkMDI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZmM4OGU1NmJmYzJiMDlhOGZiMmIzNTBlNzZmNjQyNWFiMGEwNTZkN10KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gMTQxYWNmNmEyZjNiMjFkNjNjOWNmZTYyMGI4ZTIwYTUwNmU3ODQ5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDEzIE1hciAyMDE5IDE2OjIyOjA5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBkbyBhIGJ1aWxkLXRpbWUgY2hlY2sgZm9yIHN0cmxjcHkgYmVmb3JlIGF0dGVtcHRpbmcKKyBydW50aW1lIGNoZWNrCisKK0luIGNyb3NzLWNvbXBpbGF0aW9uIGVudmlyb25tZW50cyB0aGUgcnVudGltZSBjaGVjayBpc24ndCBwb3NzaWJsZSBzbyBpdCBpcyB1cAordG8gdGhlIGJ1aWxkZXIgdG8gc2VlZCB0aGUgY3Jvc3MgZmlsZSwgYnV0IHdlIGNhbiBkZWZpbml0ZWx5IHN0YXRlIHRoYXQgc3RybGNweQorZG9lc24ndCBleGlzdCB3aXRoIGEgYnVpbGQgdGVzdC4KKy0tLQorIG1lc29uLmJ1aWxkIHwgMzAgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAoraW5kZXggMTUwMzllNDQ4Li40MTRmMmQ5YjEgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xODYwLDIyICsxODYwLDI0IEBAIGVuZGlmCisgCisgIyBUZXN0IGlmIHdlIGhhdmUgc3RybGNweS9zdHJsY2F0IHdpdGggYSBjb21wYXRpYmxlIGltcGxlbWVudGF0aW9uOgorICMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTUzOTMzCistaWYgY2NfY2FuX3J1bgorLSAgcnJlcyA9IGNjLnJ1bignJycjaW5jbHVkZSA8c3RkbGliLmg+CistICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdHJpbmcuaD4KKy0gICAgICAgICAgICAgICAgICAgaW50IG1haW4oKSB7CistICAgICAgICAgICAgICAgICAgICAgY2hhciBwWzEwXTsKKy0gICAgICAgICAgICAgICAgICAgICAodm9pZCkgc3RybGNweSAocCwgImhpIiwgMTApOworLSAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsY2F0IChwLCAiYnllIiwgMCkgIT0gMykKKy0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOworLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworLSAgICAgICAgICAgICAgICAgICB9JycnLAorLSAgICAgICAgICAgICAgICBuYW1lIDogJ09wZW5CU0Qgc3RybGNweS9zdHJsY2F0JykKKy0gIGlmIHJyZXMuY29tcGlsZWQoKSBhbmQgcnJlcy5yZXR1cm5jb2RlKCkgPT0gMAorK2lmIGNjLmhhc19mdW5jdGlvbignc3RybGNweScpCisrICBpZiBjY19jYW5fcnVuCisrICAgIHJyZXMgPSBjYy5ydW4oJycnI2luY2x1ZGUgPHN0ZGxpYi5oPgorKyAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0cmluZy5oPgorKyAgICAgICAgICAgICAgICAgICAgaW50IG1haW4oKSB7CisrICAgICAgICAgICAgICAgICAgICAgIGNoYXIgcFsxMF07CisrICAgICAgICAgICAgICAgICAgICAgICh2b2lkKSBzdHJsY3B5IChwLCAiaGkiLCAxMCk7CisrICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsY2F0IChwLCAiYnllIiwgMCkgIT0gMykKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKysgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICAgICAgICAgICAgICB9JycnLAorKyAgICAgICAgICAgICAgICAgIG5hbWUgOiAnT3BlbkJTRCBzdHJsY3B5L3N0cmxjYXQnKQorKyAgICBpZiBycmVzLmNvbXBpbGVkKCkgYW5kIHJyZXMucmV0dXJuY29kZSgpID09IDAKKysgICAgICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorKyAgICBlbmRpZgorKyAgZWxpZiBtZXNvbi5nZXRfY3Jvc3NfcHJvcGVydHkoJ2hhdmVfc3RybGNweScsIGZhbHNlKQorICAgICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorICAgZW5kaWYKKy1lbGlmIG1lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgnaGF2ZV9zdHJsY3B5JywgZmFsc2UpCistICBnbGliX2NvbmYuc2V0KCdIQVZFX1NUUkxDUFknLCAxKQorIGVuZGlmCisgCisgcHl0aG9uID0gaW1wb3J0KCdweXRob24nKS5maW5kX2luc3RhbGxhdGlvbigncHl0aG9uMycpCistLSAKKzIuMTEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAwMS1tZXNvbi5idWlsZC1kby1ub3QtaGFyZGNvZGUtbGludXgtYXMtdGhlLWhvc3Qtc3lzdGVtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMWE1ODkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitGcm9tIDYzNWZlMjZhZjUxZjIwMTk0YzhiMjA4ZTdkMDEzMDNiZTEwODZkNjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTkgRmViIDIwMTkgMTA6MzE6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWVzb24uYnVpbGQ6IGRvIG5vdCBoYXJkY29kZSAnbGludXgnIGFzIHRoZSBob3N0IHN5c3RlbQorCitPRSBidWlsZCBzeXN0ZW0gY2FuIHNldCB0aGlzIHRvIG90aGVyIHZhbHVlcyB0aGF0IGluY2x1ZGUgJ2xpbnV4JywKK2UuZy4gJ2xpbnV4LWdudWVhYmknCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbi5idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDQzNDhmMjAuLmFmNWVkNjMgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNTc0LDcgKzE1NzQsNyBAQCBhdG9taWNkZWZpbmUgPSAnJycKKyAjIFdlIGtub3cgdGhhdCB3ZSBjYW4gYWx3YXlzIHVzZSByZWFsICgibG9jayBmcmVlIikgYXRvbWljIG9wZXJhdGlvbnMgd2l0aCBNU1ZDCisgaWYgY2MuZ2V0X2lkKCkgPT0gJ21zdmMnIG9yIGNjLmxpbmtzKGF0b21pY3Rlc3QsIG5hbWUgOiAnYXRvbWljIG9wcycpCisgICBoYXZlX2F0b21pY19sb2NrX2ZyZWUgPSB0cnVlCistICBpZiAoaG9zdF9zeXN0ZW0gPT0gJ2FuZHJvaWQnIG9yIGhvc3Rfc3lzdGVtID09ICdsaW51eCcpIGFuZCBub3QgY2MuY29tcGlsZXMoYXRvbWljZGVmaW5lLCBuYW1lIDogJ2F0b21pYyBvcHMgZGVmaW5lJykKKysgIGlmIChob3N0X3N5c3RlbSA9PSAnYW5kcm9pZCcgb3IgaG9zdF9zeXN0ZW0uY29udGFpbnMoJ2xpbnV4JykpIGFuZCBub3QgY2MuY29tcGlsZXMoYXRvbWljZGVmaW5lLCBuYW1lIDogJ2F0b21pYyBvcHMgZGVmaW5lJykKKyAgICAgIyBXaGVuIGJ1aWxkaW5nIGZvciBhcm12NSBvbiBMaW51eCwgZ2NjIHByb3ZpZGVzCisgICAgICMgX19zeW5jX2Jvb2xfY29tcGFyZV9hbmRfc3dhcCBidXQgZG9lc24ndCBkZWZpbmUKKyAgICAgIyBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF80CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wLzAwMTAtRG8tbm90LWhhcmRjb2RlLXB5dGhvbi1wYXRoLWludG8tdmFyaW91cy10b29scy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCmluZGV4IDY5N2Q2M2QuLjg3MjM0MGQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoCkBAIC0xMiw3ICsxMiw3IEBACiAgMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbiBiL2dpby9nZGJ1cy0yLjAvY29kZWdlbi9nZGJ1cy1jb2RlZ2VuLmluCi1pbmRleCA4MDUwOTgxLi5lNjkzZWYzIDEwMDY0NAoraW5kZXggODA1MDk4MS4uZTY5M2VmMyAxMDA3NTUKIC0tLSBhL2dpby9nZGJ1cy0yLjAvY29kZWdlbi9nZGJ1cy1jb2RlZ2VuLmluCiArKysgYi9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgogQEAgLTEsNCArMSw0IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCmluZGV4IDUwNzgxZTcuLjVjY2QzMjAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvRW5hYmxlLW1vcmUtdGVzdHMtd2hpbGUtY3Jvc3MtY29tcGlsaW5nLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0YjFhNmQyNDdjNzgxMjUwOTZhNmVhNWFiM2NhYjhhMWYwMDBkYzIzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAxNDgxYzZkNWYwOGY5ZGJiZTEwYWJjODdiMzcyYTFmNjFkYjM2NDc2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KIERhdGU6IE1vbiwgOSBOb3YgMjAxNSAxMTowNzoyNyArMDIwMAogU3ViamVjdDogW1BBVENIXSBFbmFibGUgbW9yZSB0ZXN0cyB3aGlsZSBjcm9zcy1jb21waWxpbmcKQEAgLTksMTcgKzksMTcgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci0KIC0tLQogIGdpby90ZXN0cy9NYWtlZmlsZS5hbSAgICAgfCAxMCArKysrKystLS0tCi0gdGVzdHMvZ29iamVjdC9NYWtlZmlsZS5hbSB8ICA4ICsrKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorIGdpby90ZXN0cy9tZXNvbi5idWlsZCAgICAgfCAxNSArKysrKysrKy0tLS0tLS0KKyB0ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtIHwgIDYgKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9NYWtlZmlsZS5hbSBiL2dpby90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggMWYwYmVkNy4uODI5NWRlYiAxMDA2NDQKK2luZGV4IGM0ZTdhOTIuLjYzM2U4NWMgMTAwNjQ0CiAtLS0gYS9naW8vdGVzdHMvTWFrZWZpbGUuYW0KICsrKyBiL2dpby90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTU1MCwxMCArNTUwLDkgQEAgdGVzdF9wcm9ncmFtcyArPSBcCitAQCAtNTgzLDEwICs1ODMsOSBAQCB0ZXN0X3Byb2dyYW1zICs9IFwKICBlbmRpZgogIAogICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMyLDcgKzMyLDcgQEAKICB0ZXN0X3Byb2dyYW1zICs9IHJlc291cmNlcwogIHJlc291cmNlc19TT1VSQ0VTID0gcmVzb3VyY2VzLmMKICBub2Rpc3RfcmVzb3VyY2VzX1NPVVJDRVMgPSB0ZXN0X3Jlc291cmNlcy5jIHRlc3RfcmVzb3VyY2VzMi5jIHRlc3RfcmVzb3VyY2VzMi5oCi1AQCAtNTc4LDcgKzU3NywxMSBAQCBpZiAhRU5BQkxFX0lOU1RBTExFRF9URVNUUworQEAgLTYxMSw3ICs2MTAsMTEgQEAgaWYgIUVOQUJMRV9JTlNUQUxMRURfVEVTVFMKICBsaWJyZXNvdXJjZXBsdWdpbl9sYV9MREZMQUdTICs9IC1ycGF0aCAvCiAgZW5kaWYKICAKQEAgLTQ0LDcgKzQ0LDcgQEAKICAKICB0ZXN0LWdlbmVyYXRlZC50eHQ6IHRlc3QxLnR4dAogIAkkKEFNX1ZfR0VOKSBlY2hvICJHZW5lcmF0ZWQiID4gJEAgJiYgXAotQEAgLTU5OSw3ICs2MDIsNiBAQCB0ZXN0LmdyZXNvdXJjZTogdGVzdC5ncmVzb3VyY2UueG1sIE1ha2VmaWxlICQoc2hlbGwgJChnbGliX2NvbXBpbGVfcmVzb3VyY2VzKSAtLQorQEAgLTYzMiw3ICs2MzUsNiBAQCB0ZXN0LmdyZXNvdXJjZTogdGVzdC5ncmVzb3VyY2UueG1sIE1ha2VmaWxlICQoc2hlbGwgJChnbGliX2NvbXBpbGVfcmVzb3VyY2VzKSAtLQogIAogIEVYVFJBX0RJU1QgKz0gdGVzdC5ncmVzb3VyY2UueG1sIHRlc3QxLnR4dCB0ZXN0Mi5ncmVzb3VyY2UueG1sIHRlc3QyLnR4dCB0ZXN0My5ncmVzb3VyY2UueG1sIHRlc3QzLnR4dCB0ZXN0NC5ncmVzb3VyY2UueG1sCiAgQ0xFQU5GSUxFUyArPSB0ZXN0LWdlbmVyYXRlZC50eHQgdGVzdF9yZXNvdXJjZXMuYyB0ZXN0X3Jlc291cmNlczIuW2NoXSBwbHVnaW5fcmVzb3VyY2VzLmMgdGVzdC5ncmVzb3VyY2UKQEAgLTUyLDE5ICs1Miw4MiBAQAogIAogIEJVSUxUX1NPVVJDRVMgKz0gZ2lvdHlwZWZ1bmNzLmluYwogIAorZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9tZXNvbi5idWlsZCBiL2dpby90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggZGNhMzNiZC4uMTgxZjVjNyAxMDA2NDQKKy0tLSBhL2dpby90ZXN0cy9tZXNvbi5idWlsZAorKysrIGIvZ2lvL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtMTczLDcgKzE3Myw3IEBAIGlmIGhvc3RfbWFjaGluZS5zeXN0ZW0oKSAhPSAnd2luZG93cycKKyAKKyAgICMgIFRlc3QgcHJvZ3JhbXMgdGhhdCBuZWVkIHRvIGJyaW5nIHVwIGEgc2Vzc2lvbiBidXMgKHJlcXVpcmVzIGRidXMtZGFlbW9uKQorICAgaGF2ZV9kYnVzX2RhZW1vbiA9IGZpbmRfcHJvZ3JhbSgnZGJ1cy1kYWVtb24nLCByZXF1aXJlZCA6IGZhbHNlKS5mb3VuZCgpCistICBpZiBoYXZlX2RidXNfZGFlbW9uCisrICBpZiB0cnVlCisgICAgIGFubm90YXRlX2FyZ3MgPSBbCisgICAgICAgJy0tYW5ub3RhdGUnLCAnb3JnLnByb2plY3QuQmFyJywgJ0tleTEnLCAnVmFsdWUxJywKKyAgICAgICAnLS1hbm5vdGF0ZScsICdvcmcucHJvamVjdC5CYXInLCAnb3JnLmd0ay5HREJ1cy5JbnRlcm5hbCcsICdWYWx1ZTInLAorQEAgLTQwNiwxMiArNDA2LDEzIEBAIGlmIGluc3RhbGxlZF90ZXN0c19lbmFibGVkCisgICBpbnN0YWxsX3N1YmRpcignY2VydC10ZXN0cycsIGluc3RhbGxfZGlyIDogaW5zdGFsbGVkX3Rlc3RzX2V4ZWNkaXIpCisgZW5kaWYKKyAKKy1pZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorKyNpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorK2lmIG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKyAKKyAgIHBsdWdpbl9yZXNvdXJjZXNfYyA9IGN1c3RvbV90YXJnZXQoJ3BsdWdpbi1yZXNvdXJjZXMuYycsCisgICAgIGlucHV0IDogJ3Rlc3Q0LmdyZXNvdXJjZS54bWwnLAorICAgICBvdXRwdXQgOiAncGx1Z2luLXJlc291cmNlcy5jJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tZ2VuZXJhdGUtc291cmNlJywKK0BAIC00MjgsNyArNDI5LDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKyAgIHRlc3RfZ3Jlc291cmNlID0gY3VzdG9tX3RhcmdldCgndGVzdC5ncmVzb3VyY2UnLAorICAgICBpbnB1dCA6ICd0ZXN0LmdyZXNvdXJjZS54bWwnLAorICAgICBvdXRwdXQgOiAndGVzdC5ncmVzb3VyY2UnLAorLSAgICBjb21tYW5kIDogW2dsaWJfY29tcGlsZV9yZXNvdXJjZXMsCisrICAgIGNvbW1hbmQgOiBbJ2dsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorICAgICAgICAgICAgICAgICctLXRhcmdldD1AT1VUUFVUQCcsCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCitAQCAtNDM5LDcgKzQ0MCw3IEBAIGlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpIG9yIG1lc29uLmhhc19leGVfd3JhcHBlcigpCisgICB0ZXN0X3Jlc291cmNlczJfYyA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RfcmVzb3VyY2VzMi5jJywKKyAgICAgaW5wdXQgOiAndGVzdDMuZ3Jlc291cmNlLnhtbCcsCisgICAgIG91dHB1dCA6ICd0ZXN0X3Jlc291cmNlczIuYycsCistICAgIGNvbW1hbmQgOiBbZ2xpYl9jb21waWxlX3Jlc291cmNlcywKKysgICAgY29tbWFuZCA6IFsnZ2xpYi1jb21waWxlLXJlc291cmNlcycsCisgICAgICAgICAgICAgICAgJy0tdGFyZ2V0PUBPVVRQVVRAJywKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2VkaXI9JyArIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAgICAgICAgICAgICAgICctLWdlbmVyYXRlJywKK0BAIC00NTAsNyArNDUxLDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgb3IgbWVzb24uaGFzX2V4ZV93cmFwcGVyKCkKKyAgIHRlc3RfcmVzb3VyY2VzMl9oID0gY3VzdG9tX3RhcmdldCgndGVzdF9yZXNvdXJjZXMyLmgnLAorICAgICBpbnB1dCA6ICd0ZXN0My5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3Rlc3RfcmVzb3VyY2VzMi5oJywKKy0gICAgY29tbWFuZCA6IFtnbGliX2NvbXBpbGVfcmVzb3VyY2VzLAorKyAgICBjb21tYW5kIDogWydnbGliLWNvbXBpbGUtcmVzb3VyY2VzJywKKyAgICAgICAgICAgICAgICAnLS10YXJnZXQ9QE9VVFBVVEAnLAorICAgICAgICAgICAgICAgICctLXNvdXJjZWRpcj0nICsgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisgICAgICAgICAgICAgICAgJy0tZ2VuZXJhdGUnLAorQEAgLTQ2MSw3ICs0NjIsNyBAQCBpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKSBvciBtZXNvbi5oYXNfZXhlX3dyYXBwZXIoKQorICAgdGVzdF9yZXNvdXJjZXNfYyA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RfcmVzb3VyY2VzLmMnLAorICAgICBpbnB1dCA6ICd0ZXN0Mi5ncmVzb3VyY2UueG1sJywKKyAgICAgb3V0cHV0IDogJ3Rlc3RfcmVzb3VyY2VzLmMnLAorLSAgICBjb21tYW5kIDogW2dsaWJfY29tcGlsZV9yZXNvdXJjZXMsCisrICAgIGNvbW1hbmQgOiBbJ2dsaWItY29tcGlsZS1yZXNvdXJjZXMnLAorICAgICAgICAgICAgICAgICctLXRhcmdldD1AT1VUUFVUQCcsCisgICAgICAgICAgICAgICAgJy0tc291cmNlZGlyPScgKyBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSwKKyAgICAgICAgICAgICAgICAnLS1nZW5lcmF0ZS1zb3VyY2UnLAogZGlmZiAtLWdpdCBhL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0gYi90ZXN0cy9nb2JqZWN0L01ha2VmaWxlLmFtCi1pbmRleCAwZTYwOTg3Li45MjdkMTNhIDEwMDY0NAoraW5kZXggMWJjZWZiZS4uNzdlNjQ2YSAxMDA2NDQKIC0tLSBhL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0KICsrKyBiL3Rlc3RzL2dvYmplY3QvTWFrZWZpbGUuYW0KLUBAIC01MSwxMCArNTEsMTMgQEAgaWYgRU5BQkxFX1RJTUVMT09QCitAQCAtNTEsNyArNTEsMTMgQEAgaWYgRU5BQkxFX1RJTUVMT09QCiAgaW5zdGFsbGVkX3Rlc3RfcHJvZ3JhbXMgKz0gdGltZWxvb3AtY2xvc3VyZQogIGVuZGlmCiAgCi0tIyBUaGUgbWFyc2hhbCB0ZXN0IHJlcXVpcmVzIHJ1bm5pbmcgYSBiaW5hcnksIHdoaWNoIG1lYW5zIHdlIGNhbm5vdAotLSMgYnVpbGQgaXQgd2hlbiBjcm9zcy1jb21waWxpbmcKICsjIFRoZSBtYXJzaGFsIHRlc3QgcmVxdWlyZXMgcnVubmluZyBhIGJpbmFyeSwgd2hpY2ggbWVhbnMgd2UgcmVxdWlyZQogKyMgZ2xpYi1uYXRpdmUgd2hlbiBjcm9zcy1jb21waWxpbmcKLSBpZiAhQ1JPU1NfQ09NUElMSU5HCisraWYgIUNST1NTX0NPTVBJTElORwogIGdsaWJfZ2VubWFyc2hhbD0kKHRvcF9idWlsZGRpcikvZ29iamVjdC9nbGliLWdlbm1hcnNoYWwKICtlbHNlCiArZ2xpYl9nZW5tYXJzaGFsPSQoc2hlbGwgd2hpY2ggZ2xpYi1nZW5tYXJzaGFsKQpAQCAtNzIsOSArMTM1LDMgQEAKICAKICB0ZXN0bWFyc2hhbC5oOiBzdGFtcC10ZXN0bWFyc2hhbC5oCiAgCUB0cnVlCi1AQCAtNzEsNCArNzQsMyBAQCB0ZXN0bWFyc2hhbC5jOiB0ZXN0bWFyc2hhbC5oIHRlc3RtYXJzaGFsLmxpc3QgJChnbGliX2dlbm1hcnNoYWwpCi0gQlVJTFRfU09VUkNFUyArPSB0ZXN0bWFyc2hhbC5oIHRlc3RtYXJzaGFsLmMKLSBDTEVBTkZJTEVTICs9IHN0YW1wLXRlc3RtYXJzaGFsLmggdGVzdG1hcnNoYWwuaCB0ZXN0bWFyc2hhbC5jCi0gRVhUUkFfRElTVCArPSB0ZXN0Y29tbW9uLmggdGVzdG1hcnNoYWwubGlzdAotLWVuZGlmICMgIUNST1NTX0NPTVBJTElORwotXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2NvbmZpZ3VyZS1saWJ0b29sLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9jb25maWd1cmUtbGlidG9vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTliODkxMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2NvbmZpZ3VyZS1saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAxZGQxZTZkZGNhNWRlYWRhMDQ5YmFjMmUxZWUxZmU0ZWNjNTM0MmM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotRGF0ZTogU2F0LCAyOCBBcHIgMjAxMiAxODoyNDo1MCArMDIwMAotU3ViamVjdDogW1BBVENIIDAxLzEwXSBjb25maWd1cmU6IHVzZSAkaG9zdF9hbGlhcy1saWJ0b29sIGluc3RlYWQgb2YgbGlidG9vbAotIGRpcmVjdGx5Ci0KLVBva3kgcmVuYW1lcyBsaWJ0b29sIHRvICRob3N0X2FsaWFzLWxpYnRvb2wuCi0uLyRob3N0X2FsaWFzLWxpYnRvb2wgaXNuJ3QgY3JlYXRlZCB1bnRpbCBhZnRlciBjb25maWd1cmUgcnVucyB3aXRoCi1saWJ0b29sID49IDIuMi4yCi1zbyB3ZSBjYW4ndCBjYWxsICMgaXQgYXQgdGhpcyBwb2ludC4gV2UgY2FuIHNhZmVseSBhc3N1bWUgYSB2ZXJzaW9uIGlzCi1hdmFpbGFibGUKLWZyb20gUEFUSCB0aG91Z2gKLQotUmViYXNlZCB0byBnbGliLTIuMjcuMyBieSBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotUmViYXNlZCB0byBnbGliLTIuMzIuMSBieSBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1SZWJhc2VkIHRvIGdsaWItMi4zMS4yMCsgYnkgQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDZmYTZlYjAuLmI2Zjc4YTYgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE0MjgsOSArMTQyOCw5IEBAIEFTX0lGKFsgdGVzdCAiJEdfTU9EVUxFX0lNUEwiID0gIkdfTU9EVUxFX0lNUExfREwiIF0sIFsKLSAJTERGTEFHUz0iJExERkxBR1MgJEdfTU9EVUxFX0xERkxBR1MiCi0gZG5sICoqKiBjaGVjayBmb3IgT1NGMS81LjAgUlRMRF9HTE9CQUwgYnJva2VubmVzcwotIAllY2hvICJ2b2lkIGdsaWJfcGx1Z2luX3Rlc3Qodm9pZCkgeyB9IiA+IHBsdWdpbi5jCi0tCSR7U0hFTEx9IC4vbGlidG9vbCAtLW1vZGU9Y29tcGlsZSAtLXRhZz1DQyAke0NDfSAke0NGTEFHU30gXAotKwkke1NIRUxMfSAuLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1tb2RlPWNvbXBpbGUgLS10YWc9Q0MgJHtDQ30gJHtDRkxBR1N9IFwKLSAJCSR7Q1BQRkxBR1N9IC1jIC1vIHBsdWdpbi5sbyBwbHVnaW4uYyA+L2Rldi9udWxsIDI+JjEKLS0JJHtTSEVMTH0gLi9saWJ0b29sIC0tbW9kZT1saW5rIC0tdGFnPUNDICR7Q0N9ICR7Q0ZMQUdTfSBcCi0rCSR7U0hFTEx9IC4vJGhvc3RfYWxpYXMtbGlidG9vbCAtLW1vZGU9bGluayAtLXRhZz1DQyAke0NDfSAke0NGTEFHU30gXAotIAkJJHtMREZMQUdTfSAtbW9kdWxlIC1vIHBsdWdpbi5sYSAtZXhwb3J0LWR5bmFtaWMgXAotIAkJLXNocmV4dCAiLm8iIC1hdm9pZC12ZXJzaW9uIHBsdWdpbi5sbyBcCi0gCQktcnBhdGggL2RvbnQvY2FyZSA+L2Rldi9udWxsIDI+JjEKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZGF0ZS1sdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvZGF0ZS1sdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQwYWZmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2RhdGUtbHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1VcGRhdGUgTGl0aHVhbmlhbiBtb250aCBuYW1lcyBpbiB0aGUgdGVzdCBzdWl0ZSBhcyBnbGliYyBjaGFuZ2VkIHRoZSB0cmFuc2xhdGlvbnMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi9tZXJnZV9yZXF1ZXN0cy8zNzNdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvZ2xpYi90ZXN0cy9kYXRlLmMgYi9nbGliL3Rlc3RzL2RhdGUuYwotaW5kZXggYjgwMWNhNzA0Li42NjQ2YzIyN2MgMTAwNjQ0Ci0tLS0gYS9nbGliL3Rlc3RzL2RhdGUuYwotKysrIGIvZ2xpYi90ZXN0cy9kYXRlLmMKLUBAIC0zNjUsOCArMzY1LDggQEAgdGVzdF9tb250aF9uYW1lcyAodm9pZCkKLSAgICAgICBURVNUX0RBVEUgKCAxLCAgNCwgMjAxOCwgICAgICAiJVkgbS4gJU9CIiwgICAgICAiMjAxOCBtLiBiYWxhbmRpcyIpOwotICAgICAgIFRFU1RfREFURSAoIDEsICA1LCAyMDE4LCAgICAgICIlWSBtLiAlT0IiLCAgICAgICAgIjIwMTggbS4gZ2VndcW+xJciKTsKLSAgICAgICBURVNUX0RBVEUgKCAxLCAgNiwgMjAxOCwgICAgICAiJVkgbS4gJU9CIiwgICAgICAiMjAxOCBtLiBiaXLFvmVsaXMiKTsKLS0gICAgICBURVNUX0RBVEUgKDE3LCAgNywgMjAxOCwgIiVZIG0uICViICVlIGQuIiwgICAgICIyMDE4IG0uIExpZSAxNyBkLiIpOwotLSAgICAgIFRFU1RfREFURSAoIDEsICA4LCAyMDE4LCAgICAgICIlWSBtLiAlT2IiLCAgICAgICAgICAgIjIwMTggbS4gUmdwIik7Ci0rICAgICAgVEVTVF9EQVRFICgxNywgIDcsIDIwMTgsICIlWSBtLiAlYiAlZSBkLiIsICAgIjIwMTggbS4gTGllcC4gMTcgZC4iKTsKLSsgICAgICBURVNUX0RBVEUgKCAxLCAgOCwgMjAxOCwgICAgICAiJVkgbS4gJU9iIiwgICAgICAgICAiMjAxOCBtLiBydWdwLiIpOwotICAgICB9Ci0gICBlbHNlCi0gICAgIGdfdGVzdF9za2lwICgibG9jYWxlIGx0X0xUIG5vdCBhdmFpbGFibGUsIHNraXBwaW5nIExpdGh1YW5pYW4gbW9udGggbmFtZXMgdGVzdCIpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9nbGliLW1lc29uLmNyb3NzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9nbGliLW1lc29uLmNyb3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MjBmOTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL2dsaWItbWVzb24uY3Jvc3MKQEAgLTAsMCArMSw2IEBACitbcHJvcGVydGllc10KK2hhdmVfYzk5X3ZzbnByaW50ZiA9IHRydWUKK2hhdmVfYzk5X3NucHJpbnRmID0gdHJ1ZQoraGF2ZV91bml4OThfcHJpbnRmID0gdHJ1ZQordmFfdmFsX2NvcHkgPSB0cnVlCitncm93aW5nX3N0YWNrID0gZmFsc2UKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjAvcmVsb2NhdGUtbW9kdWxlcy5wYXRjaAppbmRleCBmOTc5NGQzLi5hNGUwYzkyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3JlbG9jYXRlLW1vZHVsZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9yZWxvY2F0ZS1tb2R1bGVzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA4MzI2OTYxODQxZjRkMTZjNzIzOWU3NDdkZTExZTM4MTdjMzVjZmQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5ZDk4NTgwM2M1MGNmYjk5MjUzYzc1NzkzNDk4NWY5MzdkYTM0ODIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IEZyaSwgMTEgTWFyIDIwMTYgMTU6MzU6NTUgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gZ2xpYi0yLjA6IHJlbG9jYXRlIHRoZSBHSU8gbW9kdWxlIGRpcmVjdG9yeSBmb3IgbmF0aXZlIGJ1aWxkcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdAppbmRleCA1Yjg1ZThmLi44ZjA4MmQzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wL3J1bi1wdGVzdApAQCAtMSw1ICsxLDYgQEAKICMhIC9iaW4vc2gKIAorc2V0IC1ldXgKIHVzZXJhZGQgZ2xpYjItdGVzdAogc3UgZ2xpYjItdGVzdCAtYyBnbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyIGdsaWIKIHVzZXJkZWwgZ2xpYjItdGVzdApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLTIuMF8yLjU4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTI3MWE3Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXJlcXVpcmUgZ2xpYi5pbmMKLQotUEUgPSAiMSIKLQotU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vZ2xpYi8ke1NIUlRfVkVSfS9nbGliLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vdWNsaWJjX211c2xfdHJhbnNsYXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SZW1vdmUtdGhlLXdhcm5pbmctYWJvdXQtZGVwcmVjYXRlZC1wYXRocy1pbi1zY2hlbWFzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUluc3RhbGwtZ2lvLXF1ZXJ5bW9kdWxlcy1hcy1saWJleGVjX1BST0dSQU0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtaWdub3JlLXJldHVybi12YWx1ZS1vZi13cml0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLURvLW5vdC1oYXJkY29kZS1weXRob24tcGF0aC1pbnRvLXZhcmlvdXMtdG9vbHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGF0ZS1sdC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjliNWQyMWM4MDJmNTViZjM3MTcxYzRmYmZlN2QzMmQxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImMwZjRjZTA3MzBiNGY5NWM0N2I3MTE2MTNiNTQwNmE4ODdjMmVlMTNlYTZkMjU5MzBkNzJhNGZhN2ZkYjc3ZjYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi0yLjBfMi41OC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczM2EyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWItMi4wXzIuNTguMy5iYgpAQCAtMCwwICsxLDI2IEBACityZXF1aXJlIGdsaWIuaW5jCisKK1BFID0gIjEiCisKK1NIUlRfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2dsaWIvJHtTSFJUX1ZFUn0vZ2xpYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL3VjbGliY19tdXNsX3RyYW5zbGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0VuYWJsZS1tb3JlLXRlc3RzLXdoaWxlLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJlbW92ZS10aGUtd2FybmluZy1hYm91dC1kZXByZWNhdGVkLXBhdGhzLWluLXNjaGVtYXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1JbnN0YWxsLWdpby1xdWVyeW1vZHVsZXMtYXMtbGliZXhlY19QUk9HUkFNLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWlnbm9yZS1yZXR1cm4tdmFsdWUtb2Ytd3JpdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1Eby1ub3QtaGFyZGNvZGUtcHl0aG9uLXBhdGgtaW50by12YXJpb3VzLXRvb2xzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LVVzZS1hYnNvbHV0ZS1wYXRocy1pbi1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtU2V0LWhvc3RfbWFjaGluZS1jb3JyZWN0bHktd2hlbi1idWlsZGluZy13aXRoLW1pbmd3My5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC13cml0ZS1iaW5kaXItaW50by1wa2ctY29uZmlnLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24uYnVpbGQtZG8tbm90LWhhcmRjb2RlLWxpbnV4LWFzLXRoZS1ob3N0LXN5c3RlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLWRvLWEtYnVpbGQtdGltZS1jaGVjay1mb3Itc3RybGNweS1iZWZvcmUtYXR0ZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZ2xpYi1tZXNvbi5jcm9zcyBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vcmVsb2NhdGUtbW9kdWxlcy5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjgwNThjN2JkZTg0NmRjZmZlNWZhNDUzZWNhMzY2ZDczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNDNjMzE3NjdlODhhMjVkYTcyYjUyYTQwZjMzMDFmZWZjNDlhNjY1YjU2ZGMxMGVlN2NjOTU2NWNiZTc0ODEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLTIuMC9nbGliLmluYwppbmRleCBlODIxNWRhLi41NzRiYjM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWItMi4wL2dsaWIuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi0yLjAvZ2xpYi5pbmMKQEAgLTIyLDM0ICsyMiwzOCBAQAogICAgICAgICAgICB2aXJ0dWFsL2xpYmludGwgXAogICAgICAgICAgICB2aXJ0dWFsL2xpYmljb252IFwKICAgICAgICAgICAgbGliZmZpIFwKLSAgICAgICAgICAgemxpYiBcCi0gICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQVEVTVF9FTkFCTEVEJywgJzEnLCAnZGJ1cycsICcnLCBkKX0iCisgICAgICAgICAgIHpsaWIiCiAKIFBBQ0tBR0VTICs9ICIke1BOfS1jb2RlZ2VuICR7UE59LXV0aWxzIgogCiBMRUFEX1NPTkFNRSA9ICJsaWJnbGliLTIuMC4qIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IGd0ay1kb2MgcGtnY29uZmlnIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBiYXNoLWNvbXBsZXRpb24gZ2lvLW1vZHVsZS1jYWNoZSBtYW5wYWdlcworaW5oZXJpdCBtZXNvbiBnZXR0ZXh0IGd0ay1kb2MgcGtnY29uZmlnIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBiYXNoLWNvbXBsZXRpb24gZ2lvLW1vZHVsZS1jYWNoZSBtYW5wYWdlcyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZ3RrX2RvYz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGd0a19kb2M9ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworIyBUaGlzIGF2b2lkcyB0aGUgbmVlZCB0byBkZXBlbmQgb24gdGFyZ2V0IHB5dGhvbjMsIHdoaWNoIGluIGNhc2Ugb2YgbWluZ3cgaXMgbm90IGV2ZW4gcG9zc2libGUuCisjIG1lc29uJ3MgcHl0aG9uIGNvbmZpZ3VyYXRpb24gcG9rZXMgaW50byBweXRob24zIGNvbmZpZ3VyYXRpb24sIHNvIHRoaXMgcHJvdmlkZXMgdGhlIG5hdGl2ZSBjb25maWcgdG8gaXQuCit1bnNldCBfUFlUSE9OX1NZU0NPTkZJR0RBVEFfTkFNRQogCiBTID0gIiR7V09SS0RJUn0vZ2xpYi0ke1BWfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gInN5c3RlbS1wY3JlIGxpYm1vdW50IgorUEFDS0FHRUNPTkZJRyA/Pz0gInN5c3RlbS1wY3JlIGxpYm1vdW50IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3Rlc3RzJywgJycsIGQpfSIKICMgVG8gdXNlIHRoZSBzeXN0ZW0gcGNyZSBpdCBtdXN0IGJlIGNvbmZpZ3VyZWQgd2l0aCAtLWVuYWJsZS11bmljb2RlLXByb3BlcnRpZXMKLVBBQ0tBR0VDT05GSUdbc3lzdGVtLXBjcmVdID0gIi0td2l0aC1wY3JlPXN5c3RlbSwtLXdpdGgtcGNyZT1pbnRlcm5hbCxsaWJwY3JlIgotUEFDS0FHRUNPTkZJR1tsaWJtb3VudF0gPSAiLS1lbmFibGUtbGlibW91bnQsLS1kaXNhYmxlLWxpYm1vdW50LHV0aWwtbGludXgiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4gLS13aXRoLXhtbC1jYXRhbG9nPSR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZy54bWwsIC0tZGlzYWJsZS1tYW4sIGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKLVBBQ0tBR0VDT05GSUdbbGliZWxmXSA9ICItLWVuYWJsZS1saWJlbGYsLS1kaXNhYmxlLWxpYmVsZixlbGZ1dGlscyIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtLXBjcmVdID0gIi1EaW50ZXJuYWxfcGNyZT1mYWxzZSwtRGludGVybmFsX3BjcmU9dHJ1ZSxsaWJwY3JlIgorUEFDS0FHRUNPTkZJR1tsaWJtb3VudF0gPSAiLURsaWJtb3VudD10cnVlLC1EbGlibW91bnQ9ZmFsc2UsdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi1EbWFuPXRydWUsIC1EbWFuPWZhbHNlLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisjIGxpYmVsZiBpcyBhdXRvLWRldGVjdGVkIHdpdGhvdXQgYSBjb25maWd1cmF0aW9uIG9wdGlvbgorUEFDS0FHRUNPTkZJR1tsaWJlbGZdID0gIiwsZWxmdXRpbHMiCitQQUNLQUdFQ09ORklHW3Rlc3RzXSA9ICItRGluc3RhbGxlZF90ZXN0cz10cnVlLC1EaW5zdGFsbGVkX3Rlc3RzPWZhbHNlLGRidXMiCiAKLUNPUkVDT05GID0gIi0tZGlzYWJsZS1kdHJhY2UgLS1kaXNhYmxlLWZhbSAtLWRpc2FibGUtc3lzdGVtdGFwIgotCi1QUklOVEYgPSAiLS1lbmFibGUtaW5jbHVkZWQtcHJpbnRmPW5vIgotUFJJTlRGX2RhcndpbiA9ICItLWVuYWJsZS1pbmNsdWRlZC1wcmludGY9eWVzIgotUFJJTlRGX21pbmd3MzIgPSAiLS1lbmFibGUtaW5jbHVkZWQtcHJpbnRmPXllcyIKLUVYVFJBX09FQ09ORiA9ICIke1BSSU5URn0gJHtDT1JFQ09ORn0iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIiR7Q09SRUNPTkZ9IC0tZGlzYWJsZS1zZWxpbnV4IgotCi0jIFRlbGwgY29uZmlndXJlIHRoYXQgd2UnbGwgaGF2ZSBkYnVzLWRhZW1vbiBvbiB0aGUgdGFyZ2V0IGZvciB0aGUgdGVzdHMKLUVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJyBhY19jdl9wcm9nX0RCVVNfREFFTU9OPWRidXMtZGFlbW9uJywgJycsIGQpfSIKK0VYVFJBX09FTUVTT04gPSAiLURkdHJhY2U9ZmFsc2UgLURmYW09ZmFsc2UgLURzeXN0ZW10YXA9ZmFsc2UgLURzZWxpbnV4PWZhbHNlIgorRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAtLWNyb3NzLWZpbGUgJHtXT1JLRElSfS9nbGliLW1lc29uLmNyb3NzIgogCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKIAlzZWQgLWkgLWUgJzFzLCMhLiosIyEke1VTUkJJTlBBVEh9L2VudiBweXRob24zLCcgJHtTfS9naW8vZ2RidXMtMi4wL2NvZGVnZW4vZ2RidXMtY29kZWdlbi5pbgpAQCAtNzUsOSArNzksMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2dkYnVzLWNvZGVnZW4iCiBGSUxFU18ke1BOfS11dGlscyA9ICIke2JpbmRpcn0vKiIKIAotUlJFQ09NTUVORFNfJHtQTn0gKz0gInNoYXJlZC1taW1lLWluZm8iCitTSEFSRURNSU1FREVQID0gInNoYXJlZC1taW1lLWluZm8iCitTSEFSRURNSU1FREVQX2NsYXNzLW5hdGl2ZSA9ICIiCiAjIFdoZW4gY3Jvc3MgY29tcGlsaW5nIGZvciBXaW5kb3dzIHdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGlzCi1SUkVDT01NRU5EU18ke1BOfV9yZW1vdmVfbWluZ3czMiA9ICJzaGFyZWQtbWltZS1pbmZvIgorU0hBUkVETUlNRURFUF9taW5ndzMyID0gIiIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7U0hBUkVETUlNRURFUH0iCiAKIEFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgogQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCkBAIC0xMTIsNiArMTE5LDggQEAKICAgICAgICAgaWYgdGVzdCAieCR7TUxQUkVGSVh9IiAhPSAieCI7IHRoZW4KICAgICAgICAgICAgICAgICBtdiAke0R9JHtsaWJleGVjZGlyfS9naW8tcXVlcnltb2R1bGVzJHtFWEVFWFR9ICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9Z2lvLXF1ZXJ5bW9kdWxlcyR7RVhFRVhUfQogICAgICAgICBmaQorICAgICAgICAjIEF1dG90b29scyBkb2VzIHRoaXMsIG1lc29uIGRvZXMgbm90CisgICAgICAgIG1rZGlyIC1wICR7RH0ke2xpYmRpcn0vZ2lvL21vZHVsZXMKIH0KIAogZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKQEAgLTEyNCw2ICsxMzMsMTEgQEAKIAlmaQogfQogCisjIEFzIHdlIGRvIG5vdCBidWlsZCBweXRob24zIGZvciB3aW5kb3dzLCBtYWtlcyBubyBzZW5zZSB0byBzaGlwIHRoZSBzY3JpcHQgdGhhdCdzIHVzaW5nIGl0Citkb19pbnN0YWxsX2FwcGVuZF9taW5ndzMyKCkgeworICAgICAgICBybSAtZiAke0R9JHtiaW5kaXJ9L2d0ZXN0ZXItcmVwb3J0Cit9CisKIENPREVHRU5fUFlUSE9OX1JERVBFTkRTID0gInB5dGhvbjMgcHl0aG9uMy1kaXN0dXRpbHMgcHl0aG9uMy14bWwiCiBDT0RFR0VOX1BZVEhPTl9SREVQRU5EU19taW5ndzMyID0gIiIKIApAQCAtMTQwLDggKzE1NCw2IEBACiAgICAgICAgICAgICBzaGFyZWQtbWltZS1pbmZvIFwKICAgICAgICAgICAgIgogCi0jIFdoZW4gaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dsaWIvaXNzdWVzLzEzNDMgaXMKLSMgZml4ZWQgYWRkIGxvY2FsZS1iYXNlLXBsLXBsCiBSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1nbGliYyA9ICJcCiAgICAgICAgICAgICBnbGliYy1nY29udi11dGYtMTYgXAogICAgICAgICAgICAgZ2xpYmMtY2hhcm1hcC11dGYtOCBcCkBAIC0xNjUsNiArMTc3LDUgQEAKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWZyLWZyIFwKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWVzLWVzIFwKICAgICAgICAgICAgIGxvY2FsZS1iYXNlLWVuLWdiIFwKKyAgICAgICAgICAgIGxvY2FsZS1iYXNlLXBsLXBsIFwKICAgICAgICAgICAgIgotCi1JTlNBTkVfU0tJUF8ke1BOfS1wdGVzdCArPSAibGliZGlyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU0LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkMTdhODIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTQuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVNVTU1BUlkgPSAiR0xpYiBuZXR3b3JraW5nIGV4dGVuc2lvbnMiCi1ERVNDUklQVElPTiA9ICJnbGliLW5ldHdvcmtpbmcgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9ucyBvZiBjZXJ0YWluIEdMaWIgbmV0d29ya2luZyBmZWF0dXJlcyB0aGF0IGNhbm5vdCBiZSBpbXBsZW1lbnRlZCBkaXJlY3RseSBpbiBHTGliIGl0c2VsZiBiZWNhdXNlIG9mIHRoZWlyIGRlcGVuZGVuY2llcy4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ2xpYi1uZXR3b3JraW5nLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZyIKLQotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKLQotU0VDVElPTiA9ICJsaWJzIgotREVQRU5EUyA9ICJnbGliLTIuMCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiOTk4Njc0NjNmMTgyYzI3NjdiY2UwYzc0YmM5Y2M5ODEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlYWE3ODdiNjUzMDE1YTBkZTMxYzkyOGU5YTE3ZWI1N2I0Y2UyM2M4Y2Y2ZjI3N2FmYWVjMGQ2ODUzMzUwMTJmIgotCi1QQUNLQUdFQ09ORklHID8/PSAiY2EtY2VydGlmaWNhdGVzIGdudXRscyIKLQotIyBObyBleHBsaWNpdCBkZXBlbmRlbmN5IGFzIGl0IHdvcmtzIHdpdGhvdXQgY2EtY2VydGlmaWNhdGVzIGluc3RhbGxlZAotUEFDS0FHRUNPTkZJR1tjYS1jZXJ0aWZpY2F0ZXNdID0gIi0td2l0aC1jYS1jZXJ0aWZpY2F0ZXM9JHtzeXNjb25mZGlyfS9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCwtLXdpdGhvdXQtY2EtY2VydGlmaWNhdGVzIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsLS13aXRob3V0LWdudXRscyxnbnV0bHMiCi1QQUNLQUdFQ09ORklHW2xpYnByb3h5XSA9ICItLXdpdGgtbGlicHJveHksLS13aXRob3V0LWxpYnByb3h5LGxpYnByb3h5IgotUEFDS0FHRUNPTkZJR1twa2NzMTFdID0gIi0td2l0aC1wa2NzMTEsLS13aXRob3V0LXBrY3MxMSxwMTEta2l0IgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LWdub21lLXByb3h5IgotCi1pbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnaW8tbW9kdWxlLWNhY2hlCi0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5zbyAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8iCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9naW8vbW9kdWxlcy9saWJnaW8qLmxhIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5hIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliLW5ldHdvcmtpbmcvZ2xpYi1uZXR3b3JraW5nXzIuNTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU4LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMxOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYi1uZXR3b3JraW5nL2dsaWItbmV0d29ya2luZ18yLjU4LjAuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJHTGliIG5ldHdvcmtpbmcgZXh0ZW5zaW9ucyIKK0RFU0NSSVBUSU9OID0gImdsaWItbmV0d29ya2luZyBjb250YWlucyB0aGUgaW1wbGVtZW50YXRpb25zIG9mIGNlcnRhaW4gR0xpYiBuZXR3b3JraW5nIGZlYXR1cmVzIHRoYXQgY2Fubm90IGJlIGltcGxlbWVudGVkIGRpcmVjdGx5IGluIEdMaWIgaXRzZWxmIGJlY2F1c2Ugb2YgdGhlaXIgZGVwZW5kZW5jaWVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbGliLW5ldHdvcmtpbmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAiZ2xpYi0yLjAiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjc1YjE0YjdlNzNhNjc3NTNiZTljZTMwNzc1MWM2NjFkIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYmRmYTAyNTVlMDMxYjhlZTAwM2NjMjgzMDAyNTM2Yjc3ZWU3NjQ1MDEwNWYxZGM2YWIwNjZiOWJmNDMzMDA2OCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyIKKworUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EZ251dGxzPXRydWUsLURnbnV0bHM9ZmFsc2UsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tsaWJwcm94eV0gPSAiLURsaWJwcm94eV9zdXBwb3J0PXRydWUsLURsaWJwcm94eV9zdXBwb3J0PWZhbHNlLGxpYnByb3h5IgorCitFWFRSQV9PRU1FU09OID0gIi1EZ25vbWVfcHJveHlfc3VwcG9ydD1mYWxzZSIKKworR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgZ25vbWViYXNlIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdpby1tb2R1bGUtY2FjaGUKKworRklMRVNfJHtQTn0gKz0gIlwKKyAgICAgICAgICAgICAgICAke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5zbyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdXNlcl91bml0ZGlyfSBcCisgICAgICAgICAgICAgICAgIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vZ2lvL21vZHVsZXMvbGliZ2lvKi5sYSIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dpby9tb2R1bGVzL2xpYmdpbyouYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNWI5NGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9jcm9zcy1sb2NhbGVkZWYtbmF0aXZlXzIuMjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MSArMCwwIEBACi1TVU1NQVJZID0gIkNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHRvb2wgZm9yIGdsaWJjIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbGliYy5odG1sIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMLTIuMSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAotICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKLQotIyBUZWxsIGF1dG90b29scyB0aGF0IHdlJ3JlIHdvcmtpbmcgaW4gdGhlIGxvY2FsZWRlZiBkaXJlY3RvcnkKLSMKLUFVVE9UT09MU19TQ1JJUFRfUEFUSCA9ICIke1N9L2xvY2FsZWRlZiIKLQotaW5oZXJpdCBuYXRpdmUKLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9LyR7UE59OiR7RklMRV9ESVJOQU1FfS9nbGliYzoiCi0KLVNSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCi1HTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCi0KLVNSQ1JFVl9nbGliYyA/PSAiM2MwM2JhY2EzN2ZkY2I1MmMzODgxZTY1M2NhMzkyYmJhN2E5OWMyYiIKLVNSQ1JFVl9sb2NhbGVkZWYgPz0gImMzMjg3NzcyMTljY2M0ODBiZTMxMTJjZjgwNzIxN2NhNmI1NzBiNjQiCi0KLVNSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAotICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2tyYWovbG9jYWxlZGVmO2JyYW5jaD1tYXN0ZXI7bmFtZT1sb2NhbGVkZWY7ZGVzdHN1ZmZpeD1naXQvbG9jYWxlZGVmIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKLSIKLSMgTWFrZXMgZm9yIGEgcmF0aGVyIGxvbmcgcmV2ICgyMiBjaGFyYWN0ZXJzKSwgYnV0Li4uCi0jCi1TUkNSRVZfRk9STUFUID0gImdsaWJjX2xvY2FsZWRlZiIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1nbGliYz0ke1N9IgotQ0ZMQUdTICs9ICItZmdudTg5LWlubGluZSAtc3RkPWdudTk5IC1ESVNfSU5cKHhcKT0nMCciCi0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbG9jYWxlZGVmICR7RH0ke2JpbmRpcn0vY3Jvc3MtbG9jYWxlZGVmCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvY3Jvc3MtbG9jYWxlZGVmLW5hdGl2ZV8yLjI5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYzdjZDYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2Nyb3NzLWxvY2FsZWRlZi1uYXRpdmVfMi4yOS5iYgpAQCAtMCwwICsxLDUzIEBACitTVU1NQVJZID0gIkNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHRvb2wgZm9yIGdsaWJjIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYmMvbGliYy5odG1sIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMLTIuMSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRVM7bWQ1PWNmYzBlZDc3YTlmNjJmYTYyZWRlZDA0MmViZTMxZDcyIFwKKyAgICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICBmaWxlOi8vcG9zaXgvcnhzcGVuY2VyL0NPUFlSSUdIVDttZDU9ZGM1NDg1YmIzOTRhMTNiMjMzMmVjMWM3ODVmNWQ4M2EgXAorICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworIyBUZWxsIGF1dG90b29scyB0aGF0IHdlJ3JlIHdvcmtpbmcgaW4gdGhlIGxvY2FsZWRlZiBkaXJlY3RvcnkKKyMKK0FVVE9UT09MU19TQ1JJUFRfUEFUSCA9ICIke1N9L2xvY2FsZWRlZiIKKworaW5oZXJpdCBuYXRpdmUKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0ZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9LyR7UE59OiR7RklMRV9ESVJOQU1FfS9nbGliYzoiCisKK1NSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCitHTElCQ19HSVRfVVJJID89ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2xpYmMuZ2l0IgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrXC5cZCsoXC4oPyE5MClcZCspKikiCisKK1BWID0gIjIuMjkiCisKK1NSQ1JFVl9nbGliYyA/PSAiODYwMTNlZjVjZWEzMjJiOGY0YjljMjJmMjMwYzIyY2NlMzY5ZTk0NyIKK1NSQ1JFVl9sb2NhbGVkZWYgPz0gImNkOWY5NThjNGM5NGE2MzhmYTdiMmI0ZTIxNjI3MzY0ZjFhMWE2NTUiCisKK1NSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAorICAgICAgICAgICBnaXQ6Ly9naXRodWIuY29tL2tyYWovbG9jYWxlZGVmO2JyYW5jaD1tYXN0ZXI7bmFtZT1sb2NhbGVkZWY7ZGVzdHN1ZmZpeD1naXQvbG9jYWxlZGVmIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNC1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKKyIKKyMgTWFrZXMgZm9yIGEgcmF0aGVyIGxvbmcgcmV2ICgyMiBjaGFyYWN0ZXJzKSwgYnV0Li4uCisjCitTUkNSRVZfRk9STUFUID0gImdsaWJjX2xvY2FsZWRlZiIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1nbGliYz0ke1N9IgorQ0ZMQUdTICs9ICItZmdudTg5LWlubGluZSAtc3RkPWdudTk5IC1ESVNfSU5cKHhcKT0nMCciCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisJaW5zdGFsbCAtbSAwNzU1ICR7Qn0vbG9jYWxlZGVmICR7RH0ke2JpbmRpcn0vY3Jvc3MtbG9jYWxlZGVmCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbGxhdGVyYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb2xsYXRlcmFsLmluYwppbmRleCA1MzZlZGZiLi41Mjg4MDc5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbGxhdGVyYWwuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29sbGF0ZXJhbC5pbmMKQEAgLTEsMTUgKzEsNyBAQAotSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLUxJQ0VOU0UgPSAiR1BMdjIgJiBMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPz0gImZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vR1BMLTIuMDttZDU9ODAxZjgwOTgwZDE3MWRkNjQyNTYxMDgzM2EyMmRiZTYgXAotICAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09NTU9OX0xJQ0VOU0VfRElSfS9MR1BMLTIuMTttZDU9MWE2ZDI2OGZkMjE4Njc1ZmZlYThiZTU1Njc4OGI3ODAiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliYy9pbmRleC5odG1sIgorcmVxdWlyZSBnbGliYy1jb21tb24uaW5jCiAKLSMgVGhpcyBuZWVkcyB0byBtYXRjaCB3aXRoIGdsaWJjLmluYywgb3RoZXJ3aXNlIGdsaWJjLXNjcmlwdHMgYW5kIGdsaWJjLWxvY2FsZQotIyB3aWxsIGZhaWwgdG8gZmluZCBtYWluIGdsaWJjLCBmb3IgZGV0YWlscyBzZWUKLSMgaHR0cDovL2xpc3RzLm9wZW5lbWJlZGRlZC5vcmcvcGlwZXJtYWlsL29wZW5lbWJlZGRlZC1jb3JlLzIwMTUtSmFudWFyeS8xMDA2NzkuaHRtbAotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT01NT05fTElDRU5TRV9ESVJ9L0dQTC0yLjA7bWQ1PTgwMWY4MDk4MGQxNzFkZDY0MjU2MTA4MzNhMjJkYmU2IFwKKyAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8ke0NPTU1PTl9MSUNFTlNFX0RJUn0vTEdQTC0yLjE7bWQ1PTFhNmQyNjhmZDIxODY3NWZmZWE4YmU1NTY3ODhiNzgwIgogCiBkZWx0YXNrIGRvX2ZldGNoCiBkZWx0YXNrIGRvX3VucGFjawpAQCAtMTgsNiArMTAsMyBAQAogZG9fY29tcGlsZVtub2V4ZWNdID0gIjEiCiAKIGRvX2luc3RhbGxbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3N0YXNoX2xvY2FsZSIKLQotQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbF9jbGFzcy10YXJnZXQgPSAibnVsbCIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1jb21tb24uaW5jCmluZGV4IGIwNWUxNjIuLmNkZWQzODQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtY29tbW9uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWNvbW1vbi5pbmMKQEAgLTcsNCArNywxOCBAQAogICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTM5M2E1Y2E0NDVmNjk2NTg3M2VjYTAyNTlhMTdmODMzIFwKICAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCiAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PWJiYjQ2MTIxMWEzM2IxMzRkNDJlZDVlZTgwMmIzN2ZmICIKKwogQ1ZFX1BST0RVQ1QgPSAiZ2xpYmMiCisKK0lOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCisKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKKyMKKyMgV2Ugd2lsbCBza2lwIHBhcnNpbmcgZ2xpYmMgd2hlbiB0YXJnZXQgc3lzdGVtIEMgbGlicmFyeSBzZWxlY3Rpb24gaXMgbm90IGdsaWJjCisjIHRoaXMgaGVscHMgaW4gZWFzaW5nIG91dCBwYXJzaW5nIGZvciBub24tZ2xpYmMgc3lzdGVtIGxpYnJhcmllcworIworQ09NUEFUSUJMRV9IT1NUX2xpYmMtbXVzbF9jbGFzcy10YXJnZXQgPSAibnVsbCIKKworUFYgPSAiMi4yOSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtaW5pdGlhbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWwuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2QwZDZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtaW5pdGlhbC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1ERVBFTkRTID0gImxpbnV4LWxpYmMtaGVhZGVycyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCBsaWJnY2MtaW5pdGlhbCBtYWtlLW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi1QUk9WSURFUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1saWJjLWluaXRpYWwiCi0KLVBBQ0tBR0VTID0gIiIKLVBBQ0tBR0VTX0RZTkFNSUMgPSAiIgotCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JKGNkICR7U30gJiYgZ251LWNvbmZpZ2l6ZSkgfHwgZGllICJmYWlsdXJlIGluIHJ1bm5pbmcgZ251LWNvbmZpZ2l6ZSIKLQlmaW5kICR7U30gLW5hbWUgImNvbmZpZ3VyZSIgfCB4YXJncyB0b3VjaAotCWNmZ3NjcmlwdD1gcHl0aG9uMyAtYyAiaW1wb3J0IG9zOyBwcmludChvcy5wYXRoLnJlbHBhdGgoJyR7U30nLCAnLicpKSJgL2NvbmZpZ3VyZQotCSRjZmdzY3JpcHQgLS1ob3N0PSR7VEFSR0VUX1NZU30gLS1idWlsZD0ke0JVSUxEX1NZU30gXAotCQktLXByZWZpeD0vdXNyIFwKLQkJLS1kaXNhYmxlLXNhbml0eS1jaGVja3MgXAotCQktLXdpdGgtaGVhZGVycz0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IFwKLQkJLS1lbmFibGUtaGFja2VyLW1vZGUKLX0KLQotZG9fY29tcGlsZSAoKSB7Ci0JOgotfQotCi1kb19pbnN0YWxsICgpIHsKLQlvZV9ydW5tYWtlIGNyb3NzLWNvbXBpbGluZz15ZXMgaW5zdGFsbF9yb290PSR7RH0gXAotCWluY2x1ZGVkaXI9JyR7aW5jbHVkZWRpcn0nIHByZWZpeD0nJHtwcmVmaXh9JyBcCi0JaW5zdGFsbC1ib290c3RyYXAtaGVhZGVycz15ZXMgaW5zdGFsbC1oZWFkZXJzCi0KLQlvZV9ydW5tYWtlIGNzdS9zdWJkaXJfbGliCi0JbWtkaXIgLXAgJHtEfSR7bGliZGlyfS8KLQlpbnN0YWxsIC1tIDY0NCBjc3UvY3J0WzFpbl0ubyAke0R9JHtsaWJkaXJ9Ci0KLQkjIFR3byBoZWFkZXJzIC0tIHN0dWJzLmggYW5kIGZlYXR1cmVzLmggLS0gYXJlbid0IGluc3RhbGxlZCBieSBpbnN0YWxsLWhlYWRlcnMsCi0JIyBzbyBkbyB0aGVtIGJ5IGhhbmQuICBXZSBjYW4gdG9sZXJhdGUgYW4gZW1wdHkgc3R1YnMuaCBmb3IgdGhlIG1vbWVudC4KLQkjIFNlZSBlLmcuIGh0dHA6Ly9nY2MuZ251Lm9yZy9tbC9nY2MvMjAwMi0wMS9tc2cwMDkwMC5odG1sCi0JbWtkaXIgLXAgJHtEfSR7aW5jbHVkZWRpcn0vZ251LwotCXRvdWNoICR7RH0ke2luY2x1ZGVkaXJ9L2dudS9zdHVicy5oCi0JY3AgJHtTfS9pbmNsdWRlL2ZlYXR1cmVzLmggJHtEfSR7aW5jbHVkZWRpcn0vZmVhdHVyZXMuaAotCi0JaWYgWyAtZSAke0J9L2JpdHMvc3RkaW9fbGltLmggXTsgdGhlbgotCQljcCAke0J9L2JpdHMvc3RkaW9fbGltLmggICR7RH0ke2luY2x1ZGVkaXJ9L2JpdHMvCi0JZmkKLX0KLQotZG9fc3Rhc2hfbG9jYWxlKCkgewotCToKLX0KLQotZG9fc2l0ZWNvbmZpZyAoKSB7Ci0JOgotfQotCi1pbmhlcml0IG5vcGFja2FnZXMKLQotIyBXZSByZWFsbHkgb25seSB3YW50IHRoaXMgYnVpbHQgYnkgdGhpbmdzIHRoYXQgbmVlZCBpdCwgbm90IGFueSByZWNyZGVwdGFzawotZGVsdGFzayBkb19idWlsZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1pbml0aWFsXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWxfMi4yOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg2NzcwZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWluaXRpYWxfMi4yOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotcmVxdWlyZSBnbGliY18ke1BWfS5iYgotcmVxdWlyZSBnbGliYy1pbml0aWFsLmluYwotCi0jIG1haW4gZ2xpYmMgcmVjaXBlcyBtdWNrIHdpdGggVEFSR0VUX0NQUEZMQUdTIHRvIHBvaW50IGludG8KLSMgZmluYWwgdGFyZ2V0IHN5c3Jvb3QgYnV0IHdlCi0jIGFyZSBub3QgdGhlcmUgd2hlbiBidWlsZGluZyBnbGliYy1pbml0aWFsCi0jIHNvIHJlc2V0IGl0IGhlcmUKLQotVEFSR0VUX0NQUEZMQUdTID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbGQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKaW5kZXggYmIxNjdiMy4uMDQxZmZiYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sZC5pbmMKQEAgLTEwLDggKzEwLDggQEAKICAgICAgICAgaW5mb3NbJ2xkY29uZmlnJ10uYWRkKCd7IicgKyBsb2FkZXIgKyAnIiwnICsgIkZMQUdfRUxGX0xJQkM2IiArICcgfScpCiAgICAgICAgIGluZm9zWydsZGRyZXdyaXRlJ10uYWRkKGxvYWRlcikKIAotICAgIGluZm9zWydsZGNvbmZpZyddID0gJywnLmpvaW4oaW5mb3NbJ2xkY29uZmlnJ10pCi0gICAgaW5mb3NbJ2xkZHJld3JpdGUnXSA9ICcgJy5qb2luKGluZm9zWydsZGRyZXdyaXRlJ10pCisgICAgaW5mb3NbJ2xkY29uZmlnJ10gPSAnLCcuam9pbihzb3J0ZWQoaW5mb3NbJ2xkY29uZmlnJ10pKQorICAgIGluZm9zWydsZGRyZXdyaXRlJ10gPSAnICcuam9pbihzb3J0ZWQoaW5mb3NbJ2xkZHJld3JpdGUnXSkpCiAgICAgcmV0dXJuIGluZm9zCiAKIEVHTElCQ19LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyA9ICIke0BnbGliY19kbF9pbmZvKGQpWydsZGNvbmZpZyddfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlLmluYwppbmRleCAxYjY3NmRjLi5hOTg1ZDI2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLWxvY2FsZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sb2NhbGUuaW5jCkBAIC0yNyw3ICsyNyw3IEBACiAKICNlbmFibGUgbG9jYWxlIGdlbmVyYXRpb24gb24gdGhlc2UgYXJjaGVzCiAjIEJJTkFSWV9MT0NBTEVfQVJDSEVTIGlzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgcmVndWxhciBleHByZXNzaW9ucwotQklOQVJZX0xPQ0FMRV9BUkNIRVMgPz0gImFybS4qIGFhcmNoNjQgaVszLTZdODYgeDg2XzY0IHBvd2VycGMgbWlwcyBtaXBzNjQgcmlzY3YzMiByaXNjdjY0IgorQklOQVJZX0xPQ0FMRV9BUkNIRVMgPz0gImFyYyBhcm0uKiBhYXJjaDY0IGlbMy02XTg2IHg4Nl82NCBwb3dlcnBjIG1pcHMgbWlwczY0IHJpc2N2MzIgcmlzY3Y2NCIKIAogIyBzZXQgIjEiIHRvIHVzZSBjcm9zcy1sb2NhbGVkZWYgZm9yIGxvY2FsZSBnZW5lcmF0aW9uCiAjIHNldCAiMCIgZm9yIHFlbXUgZW11bGF0aW9uIG9mIG5hdGl2ZSBsb2NhbGVkZWYgZm9yIGxvY2FsZSBnZW5lcmF0aW9uCkBAIC03MSwyNSArNzEsMjcgQEAKIAogTE9DQUxFVFJFRVNSQyA9ICIke0NPTVBPTkVOVFNfRElSfS8ke1BBQ0tBR0VfQVJDSH0vZ2xpYmMtc3Rhc2gtbG9jYWxlIgogCi1kb19pbnN0YWxsICgpIHsKLQlta2RpciAtcCAke0R9JHtiaW5kaXJ9ICR7RH0ke2RhdGFkaXJ9ICR7RH0ke2xpYmRpcn0KLQlpZiBbIC1uICIkKGxzICR7TE9DQUxFVFJFRVNSQ30vJHtiaW5kaXJ9KSIgXTsgdGhlbgotCQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9LyR7YmluZGlyfS8qICR7RH0ke2JpbmRpcn0KK2NvcHlfbG9jYWxlX2ZpbGVzKCkgeworCWxvY2FsIGRpcj0kMSBtb2RlPSQyCisKKwlbIC1lICIke0xPQ0FMRVRSRUVTUkN9JGRpciIgXSB8fCByZXR1cm4gMAorCisJZm9yIGQgaW4gLiAkKGZpbmQgIiR7TE9DQUxFVFJFRVNSQ30kZGlyIiAtdHlwZSBkIC1wcmludGYgJyVQICcpOyBkbworCQlpbnN0YWxsIC1kICR7RH0kZGlyLyRkCisJCWZpbmQgIiR7TE9DQUxFVFJFRVNSQ30kZGlyLyRkIiAtbWF4ZGVwdGggMSAtdHlwZSBmIFwKKwkJCS1leGVjIGluc3RhbGwgLW0gJG1vZGUgLXQgIiR7RH0kZGlyLyRkIiB7fSBcOworCWRvbmUKK30KKworZG9faW5zdGFsbCgpIHsKKwljb3B5X2xvY2FsZV9maWxlcyAke2JpbmRpcn0gMDc1NQorCWNvcHlfbG9jYWxlX2ZpbGVzICR7bG9jYWxlZGlyfSAwNjQ0CisJaWYgWyAke1BBQ0tBR0VfTk9fR0NPTlZ9IC1lcSAwIF07IHRoZW4KKwkJY29weV9sb2NhbGVfZmlsZXMgJHtsaWJkaXJ9L2djb252IDA3NTUKKwkJY29weV9sb2NhbGVfZmlsZXMgJHtkYXRhZGlyfS9pMThuIDA2NDQKIAlmaQotCWlmIFsgLW4gIiQobHMgJHtMT0NBTEVUUkVFU1JDfS8ke2xvY2FsZWRpcn0pIiBdOyB0aGVuCi0JCW1rZGlyIC1wICR7RH0ke2xvY2FsZWRpcn0KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2xvY2FsZWRpcn0vKiAke0R9JHtsb2NhbGVkaXJ9Ci0JZmkKLQlpZiBbIC1lICR7TE9DQUxFVFJFRVNSQ30vJHtsaWJkaXJ9L2djb252IF07IHRoZW4KLQkJY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgJHtMT0NBTEVUUkVFU1JDfS8ke2xpYmRpcn0vZ2NvbnYgJHtEfSR7bGliZGlyfQotCWZpCi0JaWYgWyAtZSAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vaTE4biBdOyB0aGVuCi0JCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzICR7TE9DQUxFVFJFRVNSQ30vJHtkYXRhZGlyfS9pMThuICR7RH0ke2RhdGFkaXJ9Ci0JZmkKLQlpZiBbIC1lICR7TE9DQUxFVFJFRVNSQ30vJHtkYXRhZGlyfS9sb2NhbGUgXTsgdGhlbgotCQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9LyR7ZGF0YWRpcn0vbG9jYWxlICR7RH0ke2RhdGFkaXJ9Ci0JZmkKLQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAke0xPQ0FMRVRSRUVTUkN9L1NVUFBPUlRFRCAke1dPUktESVJ9CisJY29weV9sb2NhbGVfZmlsZXMgJHtkYXRhZGlyfS9sb2NhbGUgMDY0NAorCWluc3RhbGwgLW0gMDY0NCAke0xPQ0FMRVRSRUVTUkN9L1NVUFBPUlRFRCAke1dPUktESVJ9L1NVUFBPUlRFRAogfQogCiBpbmhlcml0IGxpYmMtcGFja2FnZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1sb2NhbGVfMi4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjkuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjguYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbG9jYWxlXzIuMjkuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtbXRyYWNlXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI5LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI4LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLW10cmFjZV8yLjI5LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXBhY2thZ2UuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1wYWNrYWdlLmluYwppbmRleCBhOThhZTFhLi5iN2M2NGEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXBhY2thZ2UuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtcGFja2FnZS5pbmMKQEAgLTE1LDcgKzE1LDEyIEBACiBSUFJPVklERVNfJHtQTn0tcGNwcm9maWxlID0gImVnbGliYy1wY3Byb2ZpbGUiCiBSUFJPVklERVNfJHtQTn0tZGJnID0gImVnbGliYy1kYmciCiBsaWJjX2Jhc2VsaWJzID0gIiR7YmFzZV9saWJkaXJ9L2xpYmMuc28uKiAke2Jhc2VfbGliZGlyfS9saWJjLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibSouc28uKiAke2Jhc2VfbGliZGlyfS9saWJtLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibXZlYy0qLnNvICR7YmFzZV9saWJkaXJ9L2xkKi5zby4qICR7YmFzZV9saWJkaXJ9L2xkLSouc28gJHtiYXNlX2xpYmRpcn0vbGlicHRocmVhZCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJwdGhyZWFkLSouc28gJHtiYXNlX2xpYmRpcn0vbGlicmVzb2x2Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYnJlc29sdi0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYnJ0Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYnJ0LSouc28gJHtiYXNlX2xpYmRpcn0vbGlidXRpbCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJ1dGlsLSouc28gJHtiYXNlX2xpYmRpcn0vbGlibnNsKi5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zbC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYm5zc19maWxlcyouc28uKiAke2Jhc2VfbGliZGlyfS9saWJuc3NfZmlsZXMtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJuc3NfY29tcGF0Ki5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zc19jb21wYXQtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJuc3NfZG5zKi5zby4qICR7YmFzZV9saWJkaXJ9L2xpYm5zc19kbnMtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJkbCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJkbC0qLnNvICR7YmFzZV9saWJkaXJ9L2xpYmFubCouc28uKiAke2Jhc2VfbGliZGlyfS9saWJhbmwtKi5zbyAke2Jhc2VfbGliZGlyfS9saWJCcm9rZW5Mb2NhbGUqLnNvLiogJHtiYXNlX2xpYmRpcn0vbGliQnJva2VuTG9jYWxlLSouc28iCi1saWJjX2Jhc2VsaWJzX2FwcGVuZF9hYXJjaDY0ID0gIiAvbGliL2xkLWxpbnV4LWFhcmNoNjQqLnNvLjEiCitBUkNIX0RZTkFNSUNfTE9BREVSID0gIiIKKyMgVGhlIGFhcmNoNjQgQUJJIHNheXMgdGhlIGR5bmFtaWMgbGlua2VyIC1tdXN0LSBiZQorIyAvbGliL2xkLWxpbnV4LWFhcmNoNjR7LF9iZX0uc28uMS4gV2l0aCB1c3JtZXJnZSwgdGhhdCBtYXkgbWVhbiB0aGF0CisjIHdlIG5lZWQgdG8gaW5zdGFsbCBpdCBpbiAvdXNyL2xpYi4KK0FSQ0hfRFlOQU1JQ19MT0FERVJfYWFyY2g2NCA9ICJsZC1saW51eC0ke1RBUkdFVF9BUkNIfS5zby4xIgorbGliY19iYXNlbGlic19hcHBlbmQgPSAiICR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCdBUkNIX0RZTkFNSUNfTE9BREVSJywgJycsICcnLCAnJHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0nLCBkKX0iCiBJTlNBTkVfU0tJUF8ke1BOfV9hcHBlbmRfYWFyY2g2NCA9ICIgbGliZGlyIgogCiBGSUxFU18ke1BOfSA9ICIke2xpYmNfYmFzZWxpYnN9ICR7bGliZXhlY2Rpcn0vKiAke2Jhc2Vfc2JpbmRpcn0vbGRjb25maWcgJHtzeXNjb25mZGlyfS9sZC5zby5jb25mIgpAQCAtMTA3LDI1ICsxMTIsMjcgQEAKIAkJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kCiAJCWVjaG8gImQgL3J1bi9uc2NkIDc1NSByb290IHJvb3QgLSIgXAogCQkJPiAke0R9JHtzeXNjb25mZGlyfS90bXBmaWxlcy5kL25zY2QuY29uZgotCWVsc2UKKwlmaQorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCiAJCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMKIAkJZWNobyAiZCByb290IHJvb3QgMDc1NSAvdmFyL3J1bi9uc2NkIG5vbmUiIFwKIAkJCT4gJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC92b2xhdGlsZXMvOThfbnNjZAogCWZpCisKKwkjIFRoZSBkeW5hbWljIGxvYWRlciB3aWxsIGhhdmUgYmVlbiBpbnN0YWxsZWQgaW50bworCSMgJHtiYXNlX2xpYmRpcn0uIEhvd2V2ZXIsIGlmIHRoYXQgaXNuJ3QgZ29pbmcgdG8gZW5kIHVwIGJlaW5nCisJIyBhdmFpbGFibGUgaW4gdGhlIEFCSS1tYW5kYXRlZCBsb2NhdGlvbiwgdGhlbiBhIHN5bWxpbmsgbXVzdAorICAgICAgICAjIGJlIGNyZWF0ZWQuCisKKwlpZiBbIC1uICIke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IiAtYSAhIC1lICIke0R9JHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtyb290X3ByZWZpeH0vbGliCisJCWxuIC1zICR7QG9lLnBhdGgucmVsYXRpdmUoJyR7cm9vdF9wcmVmaXh9L2xpYicsICcke2Jhc2VfbGliZGlyfScpfS8ke0FSQ0hfRFlOQU1JQ19MT0FERVJ9IFwKKwkJCQkke0R9JHtyb290X3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0KKwlmaQogfQogCiBkb19pbnN0YWxsX2FwcGVuZF9hYXJjaDY0ICgpIHsKLQlpZiBbICIke2Jhc2VfbGliZGlyfSIgIT0gIiR7bm9uYXJjaF9iYXNlX2xpYmRpcn0iIF07IHRoZW4KLQkJIyBUaGUgYWFyY2g2NCBBQkkgc2F5cyB0aGUgZHluYW1pYyBsaW5rZXIgLW11c3QtIGJlIC9saWIvbGQtbGludXgtYWFyY2g2NFtfYmVdLnNvLjEKLQkJaW5zdGFsbCAtZCAke0R9JHtub25hcmNoX2Jhc2VfbGliZGlyfQotCQlpZiBbIC1lICR7RH0ke2Jhc2VfbGliZGlyfS9sZC1saW51eC1hYXJjaDY0LnNvLjEgXTsgdGhlbgotCQkJbG4gLXMgJHtAb2UucGF0aC5yZWxhdGl2ZSgnJHtub25hcmNoX2Jhc2VfbGliZGlyfScsICcke2Jhc2VfbGliZGlyfScpfS9sZC1saW51eC1hYXJjaDY0LnNvLjEgXAotCQkJCSR7RH0ke25vbmFyY2hfYmFzZV9saWJkaXJ9L2xkLWxpbnV4LWFhcmNoNjQuc28uMQotCQllbGlmIFsgLWUgJHtEfSR7YmFzZV9saWJkaXJ9L2xkLWxpbnV4LWFhcmNoNjRfYmUuc28uMSBdOyB0aGVuCi0JCQlsbiAtcyAke0BvZS5wYXRoLnJlbGF0aXZlKCcke25vbmFyY2hfYmFzZV9saWJkaXJ9JywgJyR7YmFzZV9saWJkaXJ9Jyl9L2xkLWxpbnV4LWFhcmNoNjRfYmUuc28uMSBcCi0JCQkJJHtEfSR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vbGQtbGludXgtYWFyY2g2NF9iZS5zby4xCi0JCWZpCi0JZmkKIAlkb19pbnN0YWxsX2FybW11bHRpbGliCiB9CiAKQEAgLTE0MSw2ICsxNDgsNyBAQAogCW9lX211bHRpbGliX2hlYWRlciBiaXRzL2VuZGlhbi5oIGJpdHMvZmNudGwuaCBiaXRzL2ZlbnYuaCBiaXRzL2ZwLWZhc3QuaCBiaXRzL2h3Y2FwLmggYml0cy9pcGMuaCBiaXRzL2xpbmsuaCBiaXRzL3dvcmRzaXplLmgKIAlvZV9tdWx0aWxpYl9oZWFkZXIgYml0cy9sb2NhbF9saW0uaCBiaXRzL21tYW4uaCBiaXRzL21zcS5oIGJpdHMvcHRocmVhZHR5cGVzLmggYml0cy9wdGhyZWFkdHlwZXMtYXJjaC5oICBiaXRzL3NlbS5oICBiaXRzL3NlbWFwaG9yZS5oIGJpdHMvc2V0am1wLmgKIAlvZV9tdWx0aWxpYl9oZWFkZXIgYml0cy9zaG0uaCBiaXRzL3NpZ3N0YWNrLmggYml0cy9zdGF0LmggYml0cy9zdGF0ZnMuaCBiaXRzL3R5cGVzaXplcy5oCisJb2VfbXVsdGlsaWJfaGVhZGVyIGJpdHMvcHJvY2ZzLWlkLmggYml0cy9wcm9jZnMuaCBiaXRzL3NobWxiYS5oCiAKIAlvZV9tdWx0aWxpYl9oZWFkZXIgZnB1X2NvbnRyb2wuaCBnbnUvbGliLW5hbWVzLmggZ251L3N0dWJzLmggaWVlZTc1NC5oCiAKQEAgLTIwNywxMiArMjE1LDE1IEBACiAJcm0gLXJmICR7RH0vJHtsb2NhbGVkaXJ9CiAJcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2xvY2FsZQogCWlmIFsgIiR7bGliZGlyfSIgIT0gIiR7ZXhlY19wcmVmaXh9L2xpYiIgXTsgdGhlbgotCQlpZiBbIC1kICR7RH0ke2V4ZWNfcHJlZml4fS9saWIgXTsgdGhlbgorCSAgICBpZiBbIC1kICIke0R9JHtleGVjX3ByZWZpeH0vbGliIiBdOyB0aGVuCisJCWlmIFsgLXogIiR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIC1vIFwKKwkJICAgICAhIC1lICIke0R9JHtleGVjX3ByZWZpeH0vbGliLyR7QVJDSF9EWU5BTUlDX0xPQURFUn0iIF07IHRoZW4KIAkJCSMgZXJyb3Igb3V0IGlmIGRpcmVjdG9yeSBpc24ndCBlbXB0eQogCQkJIyB0aGlzIGRpciBzaG91bGQgb25seSBjb250YWluIGxvY2FsZSBkaXIKIAkJCSMgd2hpY2ggaGFzIGJlZW4gZGVsZXRlZCBpbiB0aGUgcHJldmlvdXMgc3RlcAogCQkJcm1kaXIgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYgogCQlmaQorCSAgICBmaQogCWZpCiB9CiBhZGR0YXNrIGRvX3Bvc3RzdGFzaF9pbnN0YWxsX2NsZWFudXAgYWZ0ZXIgZG9fc3Rhc2hfbG9jYWxlIGRvX2luc3RhbGwgYmVmb3JlIGRvX3BvcHVsYXRlX3N5c3Jvb3QgZG9fcGFja2FnZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1zY3JpcHRzXzIuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLXNjcmlwdHNfMi4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy1zY3JpcHRzXzIuMjguYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMtc2NyaXB0c18yLjI5LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCmluZGV4IDk5YzkyY2UuLjI1MmZkNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMuaW5jCkBAIC0yLDM2ICsyLDkgQEAKIHJlcXVpcmUgZ2xpYmMtbGQuaW5jCiByZXF1aXJlIGdsaWJjLXRlc3RpbmcuaW5jCiAKLVNUQUdJTkdDQyA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLVNUQUdJTkdDQ19jbGFzcy1uYXRpdmVzZGsgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKLVBBVEhfcHJlcGVuZCA9ICIke1NUQUdJTkdfQklORElSX1RPT0xDSEFJTn0uJHtTVEFHSU5HQ0N9OiIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIGxpYmdjYy1pbml0aWFsIGxpbnV4LWxpYmMtaGVhZGVycyIKIAotcHl0aG9uICgpIHsKLSAgICBvcHRfZWZmZWN0aXZlID0gIi1PIgotICAgIGZvciBvcHQgaW4gZC5nZXRWYXIoJ1NFTEVDVEVEX09QVElNSVpBVElPTicpLnNwbGl0KCk6Ci0gICAgICAgIGlmIG9wdCBpbiAoIi1PMCIsICItTyIsICItTzEiLCAiLU8yIiwgIi1PMyIsICItT3MiKToKLSAgICAgICAgICAgIG9wdF9lZmZlY3RpdmUgPSBvcHQKLSAgICBpZiBvcHRfZWZmZWN0aXZlID09ICItTzAiOgotICAgICAgICBiYi5mYXRhbCgiJXMgY2FuJ3QgYmUgYnVpbHQgd2l0aCAlcywgdHJ5IC1PMSBpbnN0ZWFkIiAlIChkLmdldFZhcignUE4nKSwgb3B0X2VmZmVjdGl2ZSkpCi19Ci0KLSMgc2l0ZWNvbmZpZy5iYmNsYXNzIHJ1bnMgY29uZmlndXJlIHdoaWNoIG5lZWRzIGEgd29ya2luZyBjb21waWxlcgotIyBGb3IgdGhlIGNvbXBpbGVyIHRvIHdvcmsgd2UgbmVlZCBhIHdvcmtpbmcgbGliYyB5ZXQgbGliYyBpc24ndAotIyBpbiB0aGUgc3lzcm9vdHMgZGlyZWN0b3J5IGF0IHRoaXMgcG9pbnQuIFRoaXMgbWVhbnMgdGhlIGxpYmMuc28KLSMgbGlua2VyIHNjcmlwdCB3b24ndCB3b3JrIGFzIHRoZSAtLXN5c3Jvb3Qgc2V0dGluZyBpc24ndCBjb3JyZWN0LgotIyBIZXJlIHdlIGNyZWF0ZSBhIGhhY2tlZCB1cCBsaWJjIGxpbmtlciBzY3JpcHQgYW5kIHBhc3MgaW4gdGhlIHJpZ2h0Ci0jIGZsYWdzIHRvIGxldCBjb25maWd1cmUgd29yay4gVWdseS4KLUVYVFJBU0lURUNPTkZJRyA9ICJDRkxBR1M9JyR7Q0ZMQUdTfSAtV2wsLUwke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmMgLUwke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmMgLUwke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0gLUwke1NZU1JPT1RfREVTVERJUn0ke2Jhc2VfbGliZGlyfSAtV2wsLUwke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0gLVdsLC1MJHtTWVNST09UX0RFU1RESVJ9JHtiYXNlX2xpYmRpcn0nIgotc2l0ZWNvbmZpZ19kb19zaXRlY29uZmlnX2dlbmNhY2hlX3ByZXBlbmQgPSAiIFwKLQlta2RpciAtcCAke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmM7IFwKLQljcCAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0vbGliYy5zbyAke1dPUktESVJ9L3NpdGVfY29uZmlnX2xpYmM7IFwKLQlzZWQgLWkgLWUgJ3MjICR7YmFzZV9saWJkaXJ9IyAke1NZU1JPT1RfREVTVERJUn0ke2Jhc2VfbGliZGlyfSNnJyAtZSAncyMgJHtsaWJkaXJ9IyAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0jZycgJHtXT1JLRElSfS9zaXRlX2NvbmZpZ19saWJjL2xpYmMuc287IFwKLSIKLQotIyBucHRsIG5lZWRzIHVud2luZCBzdXBwb3J0IGluIGdjYywgd2hpY2ggY2FuJ3QgYmUgYnVpbHQgd2l0aG91dCBnbGliYy4KLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgbGliZ2NjLWluaXRpYWwgbGludXgtbGliYy1oZWFkZXJzIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtaW5pdGlhbCIKLQotUFJPVklERVMgPSAidmlydHVhbC9saWJjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyIKK1BST1ZJREVTID0gInZpcnR1YWwvbGliYyIKIFBST1ZJREVTICs9ICJ2aXJ0dWFsL2xpYmludGwgdmlydHVhbC9saWJpY29udiIKIGluaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHN5c3RlbWQKIApAQCAtNDcsMTYgKzIwLDExIEBACiAgIGxpYmNfY3Zfc3NwPW5vIFwKICIKIAorIyBpZnVuYyBkb2Vzbid0IGFwcGVhciB0byB3b3JrIG9uIG1pcHMsIGNhc3VzZXMgbGliYmZkIGFzc2VydGlvbiBmYWlsdXJlcworQ0FDSEVEX0NPTkZJR1VSRVZBUlNfYXBwZW5kX21pcHNhcmNoID0gIiBsaWJjX2N2X2xkX2dudV9pbmRpcmVjdF9mdW5jdGlvbj1ubyIKKwogR0xJQkNfRVhUUkFfT0VDT05GID89ICIiCiBHTElCQ19FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIiIKLUlOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCi0KLSMgVGhpcyBuZWVkcyB0byBtYXRjaCB3aXRoIGdsaWJjLWNvbGxhdGVyYWwuaW5jLCBvdGhlcndpc2UgZ2xpYmMtc2NyaXB0cyBhbmQgZ2xpYmMtbG9jYWxlCi0jIHdpbGwgZmFpbCB0byBmaW5kIG1haW4gZ2xpYmMsIGZvciBkZXRhaWxzIHNlZQotIyBodHRwOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9waXBlcm1haWwvb3BlbmVtYmVkZGVkLWNvcmUvMjAxNS1KYW51YXJ5LzEwMDY3OS5odG1sCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCiAKICMgZ2xpYmMgdXNlcyBQQVJBTExFTE1GTEFHUyB2YXJpYWJsZSB0byBwYXNzIHBhcmFsbGVsIGJ1aWxkIGluZm8gc28gdHJhbnNmZXIKICMgUEFSQUxMRUxfTUFLRSBpbnRvIFBBUkFMTEVMTUZMQUdTIGFuZCBlbXB0eSBvdXQgUEFSQUxMRUxfTUFLRQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaAppbmRleCA1ZGYyNmE4Li44NmFkOWVhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gYmQ1MWIzYWRkODlhNWNiMmQ4ZjQ0MDI5YTEwMjdjNzgwYjJhZmZmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMGNhYzc0OTMzNjY1ODZlOGY4N2U4NDU5MzU5YzE1ZjcwMmVmOGM4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAxOjQ4OjI0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5hdGl2ZXNkay1nbGliYzogTG9vayBmb3IgaG9zdCBzeXN0ZW0gbGQuc28uY2FjaGUgYXMgd2VsbAorU3ViamVjdDogW1BBVENIIDAxLzMwXSBuYXRpdmVzZGstZ2xpYmM6IExvb2sgZm9yIGhvc3Qgc3lzdGVtIGxkLnNvLmNhY2hlIGFzCisgd2VsbAogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQogCkBAIC0zMCw3ICszMSw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2VsZi9kbC1sb2FkLmMgYi9lbGYvZGwtbG9hZC5jCi1pbmRleCBjNTFlNGIzNzE4Li40NGJiYjY5ZGM0IDEwMDY0NAoraW5kZXggZjk3MjUyNDQyMS4uZTUzYzNhMWI3YiAxMDA2NDQKIC0tLSBhL2VsZi9kbC1sb2FkLmMKICsrKyBiL2VsZi9kbC1sb2FkLmMKIEBAIC0yMDg1LDYgKzIwODUsMTQgQEAgX2RsX21hcF9vYmplY3QgKHN0cnVjdCBsaW5rX21hcCAqbG9hZGVyLCBjb25zdCBjaGFyICpuYW1lLApAQCAtNjMsMyArNjQsNiBAQAogICAgICAgIC8qIEFkZCBhbm90aGVyIG5ld2xpbmUgd2hlbiB3ZSBhcmUgdHJhY2luZyB0aGUgbGlicmFyeSBsb2FkaW5nLiAgKi8KICAgICAgICBpZiAoX19nbGliY191bmxpa2VseSAoR0xSTyhkbF9kZWJ1Z19tYXNrKSAmIERMX0RFQlVHX0xJQlMpKQogIAlfZGxfZGVidWdfcHJpbnRmICgiXG4iKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAxLXg4Ni02NC1tZW1jbXAtVXNlLXVuc2lnbmVkLUpjYy1pbnN0cnVjdGlvbnMtb24tc2l6ZS0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEzNDMxNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitGcm9tIDNmNjM1ZmI0MzM4OWI1NGY2ODJmYzllZDJhY2MwYjJhYWY0YTkyM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiSC5KLiBMdSIgPGhqbC50b29sc0BnbWFpbC5jb20+CitEYXRlOiBNb24sIDQgRmViIDIwMTkgMDY6MzE6MDEgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0geDg2LTY0IG1lbWNtcDogVXNlIHVuc2lnbmVkIEpjYyBpbnN0cnVjdGlvbnMgb24gc2l6ZSBbQloKKyAjMjQxNTVdCisKK1NpbmNlIHRoZSBzaXplIGFyZ3VtZW50IGlzIHVuc2lnbmVkLiB3ZSBzaG91bGQgdXNlIHVuc2lnbmVkIEpjYworaW5zdHJ1Y3Rpb25zLCBpbnN0ZWFkIG9mIHNpZ25lZCwgdG8gY2hlY2sgc2l6ZS4KKworVGVzdGVkIG9uIHg4Ni02NCBhbmQgeDMyLCB3aXRoIGFuZCB3aXRob3V0IC0tZGlzYWJsZS1tdWx0aS1hcmNoLgorCisJW0JaICMyNDE1NV0KKwlDVkUtMjAxOS03MzA5CisJKiBORVdTOiBVcGRhdGVkIGZvciBDVkUtMjAxOS03MzA5LgorCSogc3lzZGVwcy94ODZfNjQvbWVtY21wLlM6IFVzZSBSRFhfTFAgZm9yIHNpemUuICBDbGVhciB0aGUKKwl1cHBlciAzMiBiaXRzIG9mIFJEWCByZWdpc3RlciBmb3IgeDMyLiAgVXNlIHVuc2lnbmVkIEpjYworCWluc3RydWN0aW9ucywgaW5zdGVhZCBvZiBzaWduZWQuCisJKiBzeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUgKHRlc3RzKTogQWRkIHRzdC1zaXplX3QtbWVtY21wLTIuCisJKiBzeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jOiBOZXcgdGVzdC4KKworQ1ZFOiBDVkUtMjAxOS03MzA5CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B3ZGMuY29tPgorLS0tCisgc3lzZGVwcy94ODZfNjQvbWVtY21wLlMgICAgICAgICAgICAgICAgICB8IDIwICsrKy0tLQorIHN5c2RlcHMveDg2XzY0L3gzMi9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgMyArLQorIHN5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysKKyA1IGZpbGVzIGNoYW5nZWQsIDExMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYworCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQvbWVtY21wLlMgYi9zeXNkZXBzL3g4Nl82NC9tZW1jbXAuUworaW5kZXggMWZjNDg3Y2FhNS4uMTMyMmJiM2I5MiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMveDg2XzY0L21lbWNtcC5TCisrKysgYi9zeXNkZXBzL3g4Nl82NC9tZW1jbXAuUworQEAgLTIxLDE0ICsyMSwxOCBAQAorIAorIAkudGV4dAorIEVOVFJZIChtZW1jbXApCistCXRlc3QJJXJkeCwgJXJkeAorKyNpZmRlZiBfX0lMUDMyX18KKysJLyogQ2xlYXIgdGhlIHVwcGVyIDMyIGJpdHMuICAqLworKwltb3ZsCSVlZHgsICVlZHgKKysjZW5kaWYKKysJdGVzdAklUkRYX0xQLCAlUkRYX0xQCisgCWp6CUwoZmlueikKKyAJY21wcQkkMSwgJXJkeAorLQlqbGUJTChmaW5yMWIpCisrCWpiZQlMKGZpbnIxYikKKyAJc3VicQklcmRpLCAlcnNpCisgCW1vdnEJJXJkeCwgJXIxMAorIAljbXBxCSQzMiwgJXIxMAorLQlqZ2UJTChndDMyKQorKwlqYWUJTChndDMyKQorIAkvKiBIYW5kbGUgc21hbGwgY2h1bmtzIGFuZCBsYXN0IGJsb2NrIG9mIGxlc3MgdGhhbiAzMiBieXRlcy4gICovCisgTChzbWFsbCk6CisgCXRlc3RxCSQxLCAlcjEwCitAQCAtMTU2LDcgKzE2MCw3IEBAIEwoQTMyKToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC0zMiwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MTYpCisrICAgICAgICBqYWUJTChtdDE2KQorIAkvKiBQcmUtdW5yb2xsIHRvIGJlIHJlYWR5IGZvciB1bnJvbGxlZCA2NEIgbG9vcC4gICovCisgCXRlc3RxCSQzMiwgJXJkaQorIAlqeglMKEE2NCkKK0BAIC0xNzgsNyArMTgyLDcgQEAgTChBNjQpOgorIAltb3ZxCSVyMTEsICVyMTAKKyAJYW5kcQkkLTY0LCAlcjEwCisgCWNtcHEJJXIxMCwgJXJkaQorLSAgICAgICAgamdlCUwobXQzMikKKysgICAgICAgIGphZQlMKG10MzIpCisgCisgTChBNjRtYWluKToKKyAJbW92ZHF1ICAgICglcmRpLCVyc2kpLCAleG1tMAorQEAgLTIxNiw3ICsyMjAsNyBAQCBMKG10MzIpOgorIAltb3ZxCSVyMTEsICVyMTAKKyAJYW5kcQkkLTMyLCAlcjEwCisgCWNtcHEJJXIxMCwgJXJkaQorLSAgICAgICAgamdlCUwobXQxNikKKysgICAgICAgIGphZQlMKG10MTYpCisgCisgTChBMzJtYWluKToKKyAJbW92ZHF1ICAgICglcmRpLCVyc2kpLCAleG1tMAorQEAgLTI1NCw3ICsyNTgsNyBAQCBMKEFUUik6CisgCW1vdnEJJXIxMSwgJXIxMAorIAlhbmRxCSQtMzIsICVyMTAKKyAJY21wcQklcjEwLCAlcmRpCistICAgICAgICBqZ2UJTChtdDE2KQorKyAgICAgICAgamFlCUwobXQxNikKKyAJdGVzdHEJJDE2LCAlcmRpCisgCWp6CUwoQVRSMzIpCisgCitAQCAtMzI1LDcgKzMyOSw3IEBAIEwoQVRSNjRtYWluKToKKyAJbW92cQklcjExLCAlcjEwCisgCWFuZHEJJC0zMiwgJXIxMAorIAljbXBxCSVyMTAsICVyZGkKKy0gICAgICAgIGpnZQlMKG10MTYpCisrICAgICAgICBqYWUJTChtdDE2KQorIAorIEwoQVRSMzJyZXMpOgorIAltb3ZkcWEgICAgKCVyZGksJXJzaSksICV4bW0wCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlIGIvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlCitpbmRleCAxNTU3NzI0YjBjLi44NzQ4OTU2NTYzIDEwMDY0NAorLS0tIGEvc3lzZGVwcy94ODZfNjQveDMyL01ha2VmaWxlCisrKysgYi9zeXNkZXBzL3g4Nl82NC94MzIvTWFrZWZpbGUKK0BAIC04LDcgKzgsOCBAQCBlbmRpZgorIGlmZXEgKCQoc3ViZGlyKSxzdHJpbmcpCisgdGVzdHMgKz0gdHN0LXNpemVfdC1tZW1jaHIgdHN0LXNpemVfdC1tZW1jbXAgdHN0LXNpemVfdC1tZW1jcHkgXAorIAkgdHN0LXNpemVfdC1tZW1yY2hyIHRzdC1zaXplX3QtbWVtc2V0IHRzdC1zaXplX3Qtc3RybmNhc2VjbXAgXAorLQkgdHN0LXNpemVfdC1zdHJuY21wIHRzdC1zaXplX3Qtc3RybmNweSB0c3Qtc2l6ZV90LXN0cm5sZW4KKysJIHRzdC1zaXplX3Qtc3RybmNtcCB0c3Qtc2l6ZV90LXN0cm5jcHkgdHN0LXNpemVfdC1zdHJubGVuIFwKKysJIHRzdC1zaXplX3QtbWVtY21wLTIKKyBlbmRpZgorIAorIGlmZXEgKCQoc3ViZGlyKSx3Y3NtYnMpCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy94ODZfNjQveDMyL3RzdC1zaXplX3QtbWVtY21wLTIuYyBiL3N5c2RlcHMveDg2XzY0L3gzMi90c3Qtc2l6ZV90LW1lbWNtcC0yLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5kOGFlMWEwODEzCistLS0gL2Rldi9udWxsCisrKysgYi9zeXNkZXBzL3g4Nl82NC94MzIvdHN0LXNpemVfdC1tZW1jbXAtMi5jCitAQCAtMCwwICsxLDc5IEBACisrLyogVGVzdCBtZW1jbXAgd2l0aCBzaXplX3QgaW4gdGhlIGxvd2VyIDMyIGJpdHMgb2YgNjQtYml0IHJlZ2lzdGVyLgorKyAgIENvcHlyaWdodCAoQykgMjAxOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorKyAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2RlZmluZSBURVNUX01BSU4KKysjaWZkZWYgV0lERQorKyMgZGVmaW5lIFRFU1RfTkFNRSAid21lbWNtcCIKKysjZWxzZQorKyMgZGVmaW5lIFRFU1RfTkFNRSAibWVtY21wIgorKyNlbmRpZgorKworKyNpbmNsdWRlICJ0ZXN0LXNpemVfdC5oIgorKworKyNpZmRlZiBXSURFCisrIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgorKyMgaW5jbHVkZSA8d2NoYXIuaD4KKysKKysjIGRlZmluZSBNRU1DTVAgd21lbWNtcAorKyMgZGVmaW5lIENIQVIgd2NoYXJfdAorKyNlbHNlCisrIyBkZWZpbmUgTUVNQ01QIG1lbWNtcAorKyMgZGVmaW5lIENIQVIgY2hhcgorKyNlbmRpZgorKworK0lNUEwgKE1FTUNNUCwgMSkKKysKKyt0eXBlZGVmIGludCAoKnByb3RvX3QpIChjb25zdCBDSEFSICosIGNvbnN0IENIQVIgKiwgc2l6ZV90KTsKKysKKytzdGF0aWMgaW50CisrX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lLCBub2Nsb25lKSkKKytkb19tZW1jbXAgKHBhcmFtZXRlcl90IGEsIHBhcmFtZXRlcl90IGIpCisreworKyAgcmV0dXJuIENBTEwgKCZiLCBhLnAsIGIucCwgYS5sZW4pOworK30KKysKKytzdGF0aWMgaW50CisrdGVzdF9tYWluICh2b2lkKQorK3sKKysgIHRlc3RfaW5pdCAoKTsKKysKKysgIHBhcmFtZXRlcl90IGRlc3QgPSB7IHsgcGFnZV9zaXplIC8gc2l6ZW9mIChDSEFSKSB9LCBidWYxIH07CisrICBwYXJhbWV0ZXJfdCBzcmMgPSB7IHsgMCB9LCBidWYyIH07CisrCisrICBtZW1jcHkgKGJ1ZjEsIGJ1ZjIsIHBhZ2Vfc2l6ZSk7CisrCisrICBDSEFSICpwID0gKENIQVIgKikgYnVmMTsKKysgIHBbcGFnZV9zaXplIC8gc2l6ZW9mIChDSEFSKSAtIDFdID0gKENIQVIpIDE7CisrCisrICBpbnQgcmV0ID0gMDsKKysgIEZPUl9FQUNIX0lNUEwgKGltcGwsIDApCisrICAgIHsKKysgICAgICBzcmMuZm4gPSBpbXBsLT5mbjsKKysgICAgICBpbnQgcmVzID0gZG9fbWVtY21wIChkZXN0LCBzcmMpOworKyAgICAgIGlmIChyZXMgPj0gMCkKKysJeworKwkgIGVycm9yICgwLCAwLCAiV3JvbmcgcmVzdWx0IGluIGZ1bmN0aW9uICVzOiAlaSA+PSAwIiwKKysJCSBpbXBsLT5uYW1lLCByZXMpOworKwkgIHJldCA9IDE7CisrCX0KKysgICAgfQorKworKyAgcmV0dXJuIHJldCA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKKyt9CisrCisrI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKaW5kZXggZGFhZGVjNy4uZjY2M2UxOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2gKQEAgLTEsNyArMSw4IEBACi1Gcm9tIGZkYzhhMzNhYzJjODFhMDIzN2I4YTZkOGIxYWFjN2YxY2RiYjQ2YWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYyNzVjMDRlMjYzZmMyZWJmMmVhYWQ2YWMxYWIzYzgzODY0N2JiMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTo1MDowMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IEZpeCBidWZmZXIgb3ZlcnJ1biB3aXRoIGEgcmVsb2NhdGVkIFNESworU3ViamVjdDogW1BBVENIIDAyLzMwXSBuYXRpdmVzZGstZ2xpYmM6IEZpeCBidWZmZXIgb3ZlcnJ1biB3aXRoIGEgcmVsb2NhdGVkCisgU0RLCiAKIFdoZW4gbGQtbGludXgtKi5zby4yIGlzIHJlbG9jYXRlZCB0byBhIHBhdGggdGhhdCBpcyBsb25nZXIgdGhhbiB0aGUKIG9yaWdpbmFsIGZpeGVkIGxvY2F0aW9uLCB0aGUgZHluYW1pYyBsb2FkZXIgd2lsbCBjcmFzaCBpbiBvcGVuX3BhdGgKQEAgLTIxLDcgKzIyLDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWxvYWQuYyBiL2VsZi9kbC1sb2FkLmMKLWluZGV4IDQ0YmJiNjlkYzQuLjc0ZTJlNWU5NjIgMTAwNjQ0CitpbmRleCBlNTNjM2ExYjdiLi4yYmQ5YmMyN2YyIDEwMDY0NAogLS0tIGEvZWxmL2RsLWxvYWQuYwogKysrIGIvZWxmL2RsLWxvYWQuYwogQEAgLTE3ODUsNyArMTc4NSwxOSBAQCBvcGVuX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lbGVuLCBpbnQgbW9kZSwKQEAgLTQ0LDMgKzQ1LDYgQEAKICAgIGRvCiAgICAgIHsKICAgICAgICBzdHJ1Y3Qgcl9zZWFyY2hfcGF0aF9lbGVtICp0aGlzX2RpciA9ICpkaXJzOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDAzLW5hdGl2ZXNkay1nbGliYy1SYWlzZS10aGUtc2l6ZS1vZi1hcnJheXMtY29udGFpbmluZy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaAppbmRleCBlMDgyNTQwLi5mZDkwOWY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gMDU1ZGQ0NmI3OTMxNjhmYjA4ZTQ0OTEzMTUzMDEwYjA4ODAxMWJhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTJkZjU2NzNkZTE4Nzc5YjYxMjYwOWFmYTRmNjg3ZTMzZTVlY2I2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAxOjUxOjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5hdGl2ZXNkay1nbGliYzogUmFpc2UgdGhlIHNpemUgb2YgYXJyYXlzIGNvbnRhaW5pbmcgZGwgcGF0aHMKK1N1YmplY3Q6IFtQQVRDSCAwMy8zMF0gbmF0aXZlc2RrLWdsaWJjOiBSYWlzZSB0aGUgc2l6ZSBvZiBhcnJheXMgY29udGFpbmluZyBkbAorIHBhdGhzCiAKIFRoaXMgcGF0Y2ggcHV0cyB0aGUgZHluYW1pYyBsb2FkZXIgcGF0aCBpbiB0aGUgYmluYXJpZXMsIFNZU1RFTV9ESVJTIHN0cmluZ3MKIGFuZCBsZW5ndGhzIGFzIHdlbGwgYXMgbGQuc28uY2FjaGUgcGF0aCBpbiB0aGUgZHluYW1pYyBsb2FkZXIgdG8gc3BlY2lmaWMKQEAgLTI1LDcgKzI2LDcgQEAKICA3IGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWNhY2hlLmMgYi9lbGYvZGwtY2FjaGUuYwotaW5kZXggNmVlNTE1M2ZmOS4uMzdhNWY3MDFmYSAxMDA2NDQKK2luZGV4IGQ4ZDFlMjM0NGUuLmQyMjQ3YmZjNGYgMTAwNjQ0CiAtLS0gYS9lbGYvZGwtY2FjaGUuYwogKysrIGIvZWxmL2RsLWNhY2hlLmMKIEBAIC0xMzMsNiArMTMzLDEwIEBAIGRvCQkJCQkJCQkJICAgICAgXApAQCAtNDAsNyArNDEsNyBAQAogIF9kbF9jYWNoZV9saWJjbXAgKGNvbnN0IGNoYXIgKnAxLCBjb25zdCBjaGFyICpwMikKICB7CiBkaWZmIC0tZ2l0IGEvZWxmL2RsLWxvYWQuYyBiL2VsZi9kbC1sb2FkLmMKLWluZGV4IDc0ZTJlNWU5NjIuLjhmMTkxODZlMWMgMTAwNjQ0CitpbmRleCAyYmQ5YmMyN2YyLi40MTcwY2MxYTA5IDEwMDY0NAogLS0tIGEvZWxmL2RsLWxvYWQuYwogKysrIGIvZWxmL2RsLWxvYWQuYwogQEAgLTExMCw4ICsxMTAsOCBAQCBzdGF0aWMgc2l6ZV90IG1heF9jYXBzdHJsZW4gYXR0cmlidXRlX3JlbHJvOwpAQCAtNTUsNyArNTYsNyBAQAogICAgU1lTVEVNX0RJUlNfTEVOCiAgfTsKIGRpZmYgLS1naXQgYS9lbGYvaW50ZXJwLmMgYi9lbGYvaW50ZXJwLmMKLWluZGV4IDljZDUwYzcyOTEuLmZjMmYzOWQ3M2MgMTAwNjQ0CitpbmRleCAyNDM4MjlmNWY3Li4wZTc0MjQxNzAzIDEwMDY0NAogLS0tIGEvZWxmL2ludGVycC5jCiArKysgYi9lbGYvaW50ZXJwLmMKIEBAIC0xOCw1ICsxOCw1IEBACkBAIC02Niw3ICs2Nyw3IEBACiArY29uc3QgY2hhciBfX2ludm9rZV9keW5hbWljX2xpbmtlcl9fWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmludGVycCIpKSkKICAgID0gUlVOVElNRV9MSU5LRVI7CiBkaWZmIC0tZ2l0IGEvZWxmL2xkY29uZmlnLmMgYi9lbGYvbGRjb25maWcuYwotaW5kZXggZmJkZDgxNGVkZi4uOWY0ZDhkNjliMSAxMDA2NDQKK2luZGV4IDIwNmNkNTFkZjYuLjJmZDRmYjU0YWUgMTAwNjQ0CiAtLS0gYS9lbGYvbGRjb25maWcuYwogKysrIGIvZWxmL2xkY29uZmlnLmMKIEBAIC0xNjgsNiArMTY4LDkgQEAgc3RhdGljIHN0cnVjdCBhcmdwIGFyZ3AgPQpAQCAtODAsNyArODEsNyBAQAogICAgIGEgcGxhdGZvcm0uICAqLwogIHN0YXRpYyBpbnQKIGRpZmYgLS1naXQgYS9lbGYvcnRsZC5jIGIvZWxmL3J0bGQuYwotaW5kZXggMWIwYzc0NzM5Zi4uYTcwYTYyZDMxZSAxMDA2NDQKK2luZGV4IDVkOTdmNDFiN2IuLjI2YzVmZWY5MjkgMTAwNjQ0CiAtLS0gYS9lbGYvcnRsZC5jCiArKysgYi9lbGYvcnRsZC5jCiBAQCAtMTMwLDYgKzEzMCw3IEBAIGRzb19uYW1lX3ZhbGlkX2Zvcl9zdWlkIChjb25zdCBjaGFyICpwKQpAQCAtMTA3LDcgKzEwOCw3IEBACiAgICAgICAgKytfZGxfc2tpcF9hcmdzOwogICAgICAgIC0tX2RsX2FyZ2M7CiBkaWZmIC0tZ2l0IGEvaWNvbnYvZ2NvbnZfY29uZi5jIGIvaWNvbnYvZ2NvbnZfY29uZi5jCi1pbmRleCBmMTczY2RlNzFiLi41YzMyMDUwMjZmIDEwMDY0NAoraW5kZXggYWU4OTM3Y2JhMC4uZjMyMWVlNDE5ZSAxMDA2NDQKIC0tLSBhL2ljb252L2djb252X2NvbmYuYwogKysrIGIvaWNvbnYvZ2NvbnZfY29uZi5jCiBAQCAtMzYsNyArMzYsNyBAQApAQCAtMTE3LDEwICsxMTgsMTAgQEAKIC1zdGF0aWMgY29uc3QgY2hhciBkZWZhdWx0X2djb252X3BhdGhbXSA9IEdDT05WX1BBVEg7CiArc3RhdGljIGNoYXIgZGVmYXVsdF9nY29udl9wYXRoWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdDT05WX1BBVEg7CiAgCi0gLyogVGhlIHBhdGggZWxlbWVudHMsIGFzIGRldGVybWluZWQgYnkgdGhlIF9fZ2NvbnZfZ2V0X3BhdGggZnVuY3Rpb24uCi0gICAgQWxsIHBhdGggZWxlbWVudHMgZW5kIGluIGEgc2xhc2guICAqLworIC8qIFR5cGUgdG8gcmVwcmVzZW50IHNlYXJjaCBwYXRoLiAgKi8KKyBzdHJ1Y3QgcGF0aF9lbGVtCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmggYi9zeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaAotaW5kZXggY2Y0M2YxY2YzYi4uN2YwN2FkZGU1MyAxMDA2NDQKK2luZGV4IGJjOGI0MDMzMWQuLmIwZmRkMjE0NGIgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL2dlbmVyaWMvZGwtY2FjaGUuaAogKysrIGIvc3lzZGVwcy9nZW5lcmljL2RsLWNhY2hlLmgKIEBAIC0yNywxMCArMjcsNiBAQApAQCAtMTM0LDMgKzEzNSw2IEBACiAgI2lmbmRlZiBhZGRfc3lzdGVtX2RpcgogICMgZGVmaW5lIGFkZF9zeXN0ZW1fZGlyKGRpcikgYWRkX2RpciAoZGlyKQogICNlbmRpZgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoCmluZGV4IDFhZTJlMzMuLmQ2YzlhYWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNC1uYXRpdmVzZGstZ2xpYmMtQWxsb3ctNjQtYml0LWF0b21pY3MtZm9yLXg4Ni5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDQtbmF0aXZlc2RrLWdsaWJjLUFsbG93LTY0LWJpdC1hdG9taWNzLWZvci14ODYucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGEyMzc1NTNjY2QxNTI3NjQ2MmJlMjAyMzA1N2EwMTdmYThlZTVkN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZmMGY0NzU2ZjFhOTgyMDI3MjZjNjU3NDVhY2EzODM1NDg2NGUwMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogVGh1LCAzMSBEZWMgMjAxNSAxNDozNTozNSAtMDgwMAotU3ViamVjdDogW1BBVENIXSBuYXRpdmVzZGstZ2xpYmM6IEFsbG93IDY0IGJpdCBhdG9taWNzIGZvciB4ODYKK1N1YmplY3Q6IFtQQVRDSCAwNC8zMF0gbmF0aXZlc2RrLWdsaWJjOiBBbGxvdyA2NCBiaXQgYXRvbWljcyBmb3IgeDg2CiAKIFRoZSBmaXggY29uc2lzdCBvZiBhbGxvd2luZyA2NGJpdCBhdG9taWMgb3BzIGZvciB4ODYuCiBUaGlzIHNob3VsZCBiZSBzYWZlIGZvciBpNTg2IGFuZCBuZXdlciBDUFVzLgpAQCAtMTMsMTkgKzEzLDMwIEBACiBTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAtLS0KLSBzeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKyBzeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oIHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2kzODYvYXRvbWljLW1hY2hpbmUuaCBiL3N5c2RlcHMvaTM4Ni9hdG9taWMtbWFjaGluZS5oCi1pbmRleCAyNzJkYTVkZDhmLi40MDljNzU5ZjE0IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pMzg2L2F0b21pYy1tYWNoaW5lLmgKLSsrKyBiL3N5c2RlcHMvaTM4Ni9hdG9taWMtbWFjaGluZS5oCi1AQCAtNTQsNyArNTQsNyBAQCB0eXBlZGVmIHVpbnRtYXhfdCB1YXRvbWljX21heF90OwotICMgZW5kaWYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3g4Ni9hdG9taWMtbWFjaGluZS5oIGIvc3lzZGVwcy94ODYvYXRvbWljLW1hY2hpbmUuaAoraW5kZXggYWE2MGNhNGNkNi4uM2U0MmUwMDE4MyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMveDg2L2F0b21pYy1tYWNoaW5lLmgKKysrKyBiL3N5c2RlcHMveDg2L2F0b21pYy1tYWNoaW5lLmgKK0BAIC01OCwxNSArNTgsMTQgQEAgdHlwZWRlZiB1aW50bWF4X3QgdWF0b21pY19tYXhfdDsKICAjZW5kaWYKICAKLS0jZGVmaW5lIF9fSEFWRV82NEJfQVRPTUlDUyAwCi0rI2RlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MgMQotICNkZWZpbmUgVVNFX0FUT01JQ19DT01QSUxFUl9CVUlMVElOUyAwCi0gI2RlZmluZSBBVE9NSUNfRVhDSEFOR0VfVVNFU19DQVMgMAorICNkZWZpbmUgVVNFX0FUT01JQ19DT01QSUxFUl9CVUlMVElOUwkxCisrIyBkZWZpbmUgX19IQVZFXzY0Ql9BVE9NSUNTCQkxCiAgCisgI2lmZGVmIF9feDg2XzY0X18KKy0jIGRlZmluZSBfX0hBVkVfNjRCX0FUT01JQ1MJCTEKKyAjIGRlZmluZSBTUF9SRUcJCQkJInJzcCIKKyAjIGRlZmluZSBTRUdfUkVHCQkJImZzIgorICMgZGVmaW5lIEJSX0NPTlNUUkFJTlQJCQkicSIKKyAjIGRlZmluZSBJQlJfQ09OU1RSQUlOVAkJCSJpcSIKKyAjZWxzZQorLSMgZGVmaW5lIF9fSEFWRV82NEJfQVRPTUlDUwkJMAorICMgZGVmaW5lIFNQX1JFRwkJCQkiZXNwIgorICMgZGVmaW5lIFNFR19SRUcJCQkiZ3MiCisgIyBkZWZpbmUgQlJfQ09OU1RSQUlOVAkJCSJyIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA1LW5hdGl2ZXNkay1nbGliYy1NYWtlLXJlbG9jYXRhYmxlLWluc3RhbGwtZm9yLWxvY2FsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaAppbmRleCBiNTNmMmVmLi45ZjlmNTAzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gZTFkYzg1YWYxODAwYWZhNGZiZjRlYjVhNTljYzQxMDI1NDk1YWY1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjJlYzExMWRjM2E0MmQ5ZGNlNzFjOTAzNTI0NzI0YWU4MmZmMjJkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMgQXVnIDIwMTggMDk6NTU6MTIgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmF0aXZlc2RrLWdsaWJjOiBNYWtlIHJlbG9jYXRhYmxlIGluc3RhbGwgZm9yIGxvY2FsZXMKK1N1YmplY3Q6IFtQQVRDSCAwNS8zMF0gbmF0aXZlc2RrLWdsaWJjOiBNYWtlIHJlbG9jYXRhYmxlIGluc3RhbGwgZm9yIGxvY2FsZXMKIAogVGhlIGdsaWJjIGxvY2FsZSBwYXRoIGlzIGhhcmQtY29kZWQgdG8gdGhlIGluc3RhbGwgcHJlZml4LCBidXQgaW4gU0RLcyB3ZSBuZWVkCiB0byBiZSBhYmxlIHRvIHJlbG9jYXRlIHRoZSBiaW5hcmllcy4gIEV4cGFuZCB0aGUgc3RyaW5ncyB0byA0SyBhbmQgcHV0IHRoZW0gaW4gYQpAQCAtMTgsNyArMTgsNyBAQAogIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2ZpbmRsb2NhbGUuYyBiL2xvY2FsZS9maW5kbG9jYWxlLmMKLWluZGV4IDg3MmNhZGI1YjkuLmRkNjUxZTA3ZjUgMTAwNjQ0CitpbmRleCA5YWY2MDViZDY0Li5iMmIwYTNmOTNiIDEwMDY0NAogLS0tIGEvbG9jYWxlL2ZpbmRsb2NhbGUuYwogKysrIGIvbG9jYWxlL2ZpbmRsb2NhbGUuYwogQEAgLTU2LDcgKzU2LDcgQEAgc3RydWN0IF9fbG9jYWxlX2RhdGEgKmNvbnN0IF9ubF9DW10gYXR0cmlidXRlX2hpZGRlbiA9CkBAIC00MCw3ICs0MCw3IEBACiAgICBlbHNlCiAgICAgIC8qIFdlIHJlYWxseSBoYXZlIHRvIGxvYWQgc29tZSBkYXRhLiAgRmlyc3Qgc2VlIHdoZXRoZXIgdGhlIG5hbWUgaXMKIGRpZmYgLS1naXQgYS9sb2NhbGUvbG9hZGFyY2hpdmUuYyBiL2xvY2FsZS9sb2FkYXJjaGl2ZS5jCi1pbmRleCA1MTZkMzBkOGQxLi45YmZiZTFhNWRkIDEwMDY0NAoraW5kZXggODAzYzFjZjJhNC4uOTAyM2Y0NzViOCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9sb2FkYXJjaGl2ZS5jCiArKysgYi9sb2NhbGUvbG9hZGFyY2hpdmUuYwogQEAgLTQyLDcgKzQyLDcgQEAKQEAgLTUzLDcgKzUzLDcgQEAKICAvKiBTaXplIG9mIGluaXRpYWwgbWFwcGluZyB3aW5kb3csIG9wdGltYWwgaWYgbGFyZ2UgZW5vdWdoIHRvCiAgICAgY292ZXIgdGhlIGhlYWRlciBwbHVzIHRoZSBpbml0aWFsIGxvY2FsZS4gICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL2xvY2FsZWluZm8uaCBiL2xvY2FsZS9sb2NhbGVpbmZvLmgKLWluZGV4IDY4ODIyYTYzMTkuLjUzN2JjMzUxNDkgMTAwNjQ0CitpbmRleCA3YzFjYzNlZWNiLi41M2NiOGJmYzU5IDEwMDY0NAogLS0tIGEvbG9jYWxlL2xvY2FsZWluZm8uaAogKysrIGIvbG9jYWxlL2xvY2FsZWluZm8uaAogQEAgLTMyNSw3ICszMjUsNyBAQCBfbmxfbG9va3VwX3dvcmQgKGxvY2FsZV90IGwsIGludCBjYXRlZ29yeSwgaW50IGl0ZW0pCkBAIC02NSwzICs2NSw2IEBACiAgCiAgLyogTG9hZCB0aGUgbG9jYWxlIGRhdGEgZm9yIENBVEVHT1JZIGZyb20gdGhlIGZpbGUgc3BlY2lmaWVkIGJ5ICpOQU1FLgogICAgIElmICpOQU1FIGlzICIiLCB1c2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzIHNwZWNpZmllZCBieSBQT1NJWCwgYW5kCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCmluZGV4IDk3MTcwMGEuLmE2ZGRkZWIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBkMjNjNTc3YjBiNzBiMzQzMzU5NzFhYmFmM2Y1MGU2MTdkZGE2MTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0ZGM0YjRmNjNkZDc5NzM0MDc4ZmE1NDQ0NmVkYjdmZTJkOWM3NGZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6MDE6NTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZnNsIGU1MDAvZTU1MDAvZTY1MDAvNjAzZSBmc3FydCBpbXBsZW1lbnRhdGlvbgorU3ViamVjdDogW1BBVENIIDA2LzMwXSBmc2wgZTUwMC9lNTUwMC9lNjUwMC82MDNlIGZzcXJ0IGltcGxlbWVudGF0aW9uCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogRWRtYXIgV2llbnNrb3NraSA8ZWRtYXJAZnJlZXNjYWxlLmNvbT4KQEAgLTE1NzksMyArMTU3OSw2IEBACiArKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL3Bvd2VycGM2NC9lNjUwMC9mcHUvSW1wbGllcwogQEAgLTAsMCArMSBAQAogK3Bvd2VycGMvcG93ZXJwYzY0L2U2NTAwL2ZwdQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaAppbmRleCA0ODcxMzQ2Li4xN2ZmYzZmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gZDY1ZjZlZTIxNGQ3ZDkxNDQ1ZmNlYWJjNmE1ZDZiZjU1YjBlOGQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTUwNjI5NmVmNTVhNmU0OTE2ZmViYWI2MzgwNWRkZjJkNWE1MjkzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjExOjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlYWRsaWI6IEFkZCBPRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMgdG8ga25vd24gbmFtZXMKK1N1YmplY3Q6IFtQQVRDSCAwNy8zMF0gcmVhZGxpYjogQWRkIE9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUyB0byBrbm93bgorIG5hbWVzCiAKIFRoaXMgYm9sdHMgaW4gYSBob29rIGZvciBPRSB0byBwYXNzIGl0cyBvd24gdmVyc2lvbiBvZiBpbnRlcnByZXRlcgogbmFtZXMgaW50byBnbGliYyBlc3BlY2lhbGx5IGZvciBtdWx0aWxpYiBjYXNlLCB3aGVyZSBpdCBkaWZmZXJzIGZyb20gYW55CkBAIC0xNiw3ICsxNyw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCiAKIGRpZmYgLS1naXQgYS9lbGYvcmVhZGxpYi5jIGIvZWxmL3JlYWRsaWIuYwotaW5kZXggNTczYzAxNDc2Yy4uZDhjNzQxMjI4NyAxMDA2NDQKK2luZGV4IGM5NzQzZTY2OTIuLjYzMDdmOTE4ZmMgMTAwNjQ0CiAtLS0gYS9lbGYvcmVhZGxpYi5jCiArKysgYi9lbGYvcmVhZGxpYi5jCiBAQCAtNTEsNiArNTEsNyBAQCBzdGF0aWMgc3RydWN0IGtub3duX25hbWVzIGludGVycHJldGVyc1tdID0KQEAgLTI3LDMgKzI4LDYgQEAKICB9OwogIAogIHN0YXRpYyBzdHJ1Y3Qga25vd25fbmFtZXMga25vd25fbGlic1tdID0KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKaW5kZXggYzBkOTZlYi4uYWFjYzlmMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGVlM2FhMTQ2NGY0MGM5MTZjNjJjZjMyNmJmNGMxOGY4YjcxYTIyOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVhOTY5ZDc3Njc0MjhkNzM4MjNjOTFhZDk5NTU4MjliZDY2YjllNTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoxNTowNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBwcGMvc3FydDogRml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3FydF9maW5pdGUnCitTdWJqZWN0OiBbUEFUQ0ggMDgvMzBdIHBwYy9zcXJ0OiBGaXggdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zcXJ0X2Zpbml0ZScKIAogb24gcHBjIGZpeGVzIHRoZSBlcnJvcnMgbGlrZSBiZWxvdwogfCAuLy5saWJzL2xpYnB1bHNlY29yZS0xLjEuc286IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3FydF9maW5pdGUnCkBAIC0yMDMsMyArMjAzLDYgQEAKICAgIHJldHVybiBmX3dhc2hmIChiKTsKICB9CiArc3Ryb25nX2FsaWFzIChfX2llZWU3NTRfc3FydGYsIF9fc3FydGZfZmluaXRlKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDA5LV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAppbmRleCBkMGI0N2NkLi5iMWQ0NDEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUZyb20gMTdlODJkNTk0YjJkOGQzYTY5OThmYWNlOTUzMzgyZjlkMTRmYjA0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTllNmNhNDVjZGFmMTNlZTU5NTA4OWE1YTU4MGQwMGE5NWEwNmJmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjE2OjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwgb3V0Ci0gX19zbG93IHZlcnNpb25zCitTdWJqZWN0OiBbUEFUQ0ggMDkvMzBdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwKKyBvdXQgX19zbG93IHZlcnNpb25zCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCkBAIC0zODIsMyArMzgyLDYgQEAKICt9CiArCiAgc3Ryb25nX2FsaWFzIChfX2llZWU3NTRfc3FydGYsIF9fc3FydGZfZmluaXRlKQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaAppbmRleCA4NmVmM2ExLi40NmQyMDU4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaApAQCAtMSw3ICsxLDggQEAKLUZyb20gZmU4ZDliNzZlN2M4ODFjYzBhMGI3MjhlYTJiZDYzN2ZhZmNhMDk3OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTBhZDAwNDAxZWIxNmJiODhjNTdkOTViYzkyN2RlZWVjNDAzM2UwMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjIwOjA5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFF1b3RlIGZyb20gYnVnIDE0NDMgd2hpY2ggZXhwbGFpbnMgd2hhdCB0aGUgcGF0Y2ggZG9lcyA6CitTdWJqZWN0OiBbUEFUQ0ggMTAvMzBdIFF1b3RlIGZyb20gYnVnIDE0NDMgd2hpY2ggZXhwbGFpbnMgd2hhdCB0aGUgcGF0Y2ggZG9lcworIDoKIAogICBXZSBidWlsZCBzb21lIHJhbmRvbSBwcm9ncmFtIGFuZCBsaW5rIGl0IHdpdGggLWx1c3QuICBXaGVuIHdlIHJ1biBpdCwKICAgaXQgZGllcyB3aXRoIGEgU0lHU0VHViBiZWZvcmUgcmVhY2hpbmcgbWFpbigpLgpAQCAtNDQsNyArNDUsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oIGIvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCi1pbmRleCAxYTRmZDNmMTdiLi5hMDJjNDc1NzFhIDEwMDY0NAoraW5kZXggN2EyZjlkOWI3OC4uMzZhMWRkMTg4OCAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvYXJtL2RsLW1hY2hpbmUuaAogKysrIGIvc3lzZGVwcy9hcm0vZGwtbWFjaGluZS5oCiBAQCAtNTEwLDcgKzUxMCw3IEBAIGVsZl9tYWNoaW5lX3JlbCAoc3RydWN0IGxpbmtfbWFwICptYXAsIGNvbnN0IEVsZjMyX1JlbCAqcmVsb2MsCkBAIC01NiwzICs1Nyw2IEBACiAgCSAgYnJlYWs7CiAgCiAgCWNhc2UgUl9BUk1fVExTX1RQT0ZGMzI6CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTEtZWdsaWJjLXJ1bi1saWJtLWVyci10YWIucGwtd2l0aC1zcGVjaWZpYy1kaXJzLWluLVMucGF0Y2gKaW5kZXggMzJhYWU1Yy4uMjkzYjcyZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMzAxMmNiODM5YTY0ZTdkNWM2MjFlZmE3OWI2NDNkMTY5MjkwZTZlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTI5YTcxODg5MGEzZjMyZTcxMzVmNmI2NGIxYTgwYzc0ZjJkMTQ1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KIERhdGU6IFdlZCwgMTkgRGVjIDIwMTIgMDQ6Mzk6NTcgLTA2MDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBydW4gbGlibS1lcnItdGFiLnBsIHdpdGggc3BlY2lmaWMgZGlycyBpbiAke1N9CitTdWJqZWN0OiBbUEFUQ0ggMTEvMzBdIGVnbGliYzogcnVuIGxpYm0tZXJyLXRhYi5wbCB3aXRoIHNwZWNpZmljIGRpcnMgaW4gJHtTfQogCiBsaWJtLWVyci10YWIucGwgd2lsbCBwYXJzZSBhbGwgdGhlIGZpbGVzIG5hbWVkICJsaWJtLXRlc3QtdWxwcyIKIGluIHRoZSBnaXZlbiBkaXIgcmVjdXJzaXZlbHkuIFRvIGF2b2lkIHBhcnNpbmcgdGhlIG9uZSBpbgpAQCAtMTgsMTYgKzE4LDE5IEBACiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbWFudWFsL01ha2VmaWxlIGIvbWFudWFsL01ha2VmaWxlCi1pbmRleCBjMjc1NjY0MGE3Li4xYjViYjE2YTk2IDEwMDY0NAoraW5kZXggNGY3NmVlODVkMi4uMDRiOGM4YzMyMCAxMDA2NDQKIC0tLSBhL21hbnVhbC9NYWtlZmlsZQogKysrIGIvbWFudWFsL01ha2VmaWxlCi1AQCAtMTAyLDcgKzEwMiw4IEBAICQob2JqcGZ4KWxpYm0tZXJyLnRleGk6ICQob2JqcGZ4KXN0YW1wLWxpYm0tZXJyCi0gJChvYmpwZngpc3RhbXAtbGlibS1lcnI6IGxpYm0tZXJyLXRhYi5wbCAkKHdpbGRjYXJkICQoZm9yZWFjaCBkaXIsJChzeXNkaXJzKSxcCi0gCQkJCQkJICAgICAkKGRpcikvbGlibS10ZXN0LXVscHMpKQorQEAgLTEwMyw3ICsxMDMsOCBAQCAkKG9ianBmeClzdGFtcC1saWJtLWVycjogJCguLiltYXRoL2dlbi1saWJtLXRlc3QucHkgXAorIAkJCSAkKHdpbGRjYXJkICQoZm9yZWFjaCBkaXIsJChzeXNkaXJzKSxcCisgCQkJCQkJICAkKGRpcikvbGlibS10ZXN0LXVscHMpKQogIAlwd2Q9YHB3ZGA7IFwKLS0JJChQRVJMKSAkPCAkJHB3ZC8uLiA+ICQob2JqcGZ4KWxpYm0tZXJyLXRtcAotKwkkKFBFUkwpICQ8ICQkcHdkLy4uL3BvcnRzID4gJChvYmpwZngpbGlibS1lcnItdG1wCi0rCSQoUEVSTCkgJDwgJCRwd2QvLi4vc3lzZGVwcyA+PiAkKG9ianBmeClsaWJtLWVyci10bXAKKy0JJChQWVRIT04pICQ8IC1zICQkcHdkLy4uIC1tICQob2JqcGZ4KWxpYm0tZXJyLXRtcAorKwkkKFBZVEhPTikgJDwgLXMgJCRwd2QvLi4vcG9ydHMgLW0gJChvYmpwZngpbGlibS1lcnItdG1wCisrCSQoUFlUSE9OKSAkPCAtcyAkJHB3ZC8uLi9zeXNkZXBzIC1tICQob2JqcGZ4KWxpYm0tZXJyLXRtcAogIAkkKG1vdmUtaWYtY2hhbmdlKSAkKG9ianBmeClsaWJtLWVyci10bXAgJChvYmpwZngpbGlibS1lcnIudGV4aQogIAl0b3VjaCAkQAogIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAppbmRleCA5MzM5NWMzLi42ZTE3NWI2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaApAQCAtMSw4ICsxLDggQEAKLUZyb20gOTNhYjY5YWU0Yzk4MzAzOTI5YmE5NDkyMTMwYTAyMWZhNGEyMTViZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNzc3ZGE4OGE4MTk3Mzg2ODNlNDM4OTU4MGNmYmZkZWQyYTgzZTg3ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjI0OjQ2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwgb3V0Ci0gX19zbG93IHZlcnNpb25zCitTdWJqZWN0OiBbUEFUQ0ggMTIvMzBdIF9faWVlZTc1NF9zcXJ0eyxmfSBhcmUgbm93IGlubGluZSBmdW5jdGlvbnMgYW5kIGNhbGwKKyBvdXQgX19zbG93IHZlcnNpb25zCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCkBAIC01NiwzICs1Niw2IEBACiAgICAgICBmbG9hdCBiOwogICNlbmRpZgogIHsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKaW5kZXggOTk5ODY5MS4uYjVhZGVjYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGE3YmQ4YWE2NWYzZjI3NTVkNmRiZDBkNWFkYmZkMjY5YzFmYjAwOTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGY5OGIxYjllNmI1NjlhYmQzNTk0YjQ5MjNhY2UwYzk2NmM5ZGFlY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDoyNzoxMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBzeXNkZXBzL2dudS9jb25maWd1cmUuYWM6IGhhbmRsZSBjb3JyZWN0bHkKK1N1YmplY3Q6IFtQQVRDSCAxMy8zMF0gc3lzZGVwcy9nbnUvY29uZmlndXJlLmFjOiBoYW5kbGUgY29ycmVjdGx5CiAgJGxpYmNfY3Zfcm9vdHNiaW5kaXIKIAogVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKQEAgLTM3LDMgKzM3LDYgQEAKICsgIHRlc3QgLW4gIiRsaWJjX2N2X3Jvb3RzYmluZGlyIiB8fCBsaWJjX2N2X3Jvb3RzYmluZGlyPS9zYmluCiAgICA7OwogIGVzYWMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaAppbmRleCA5ZDZhYjMwLi4xY2Q5MTQ3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE0LUFkZC11bnVzZWQtYXR0cmlidXRlLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAyY2U1YmM2ZGEyM2RjYjQwMmFmZGViOTY3ZmE0NGMzOWVlY2Y2ZDM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiOWNkOTkyMDUyNTUwZDRiMmJiYTk1NDA5OWUyMjE2NzdhNjY1MmU3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6Mjg6NDEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIHVudXNlZCBhdHRyaWJ1dGUKK1N1YmplY3Q6IFtQQVRDSCAxNC8zMF0gQWRkIHVudXNlZCBhdHRyaWJ1dGUKIAogSGVscHMgaW4gYXZvaWRpbmcgZ2NjIHdhcm5pbmcgd2hlbiBoZWFkZXIgaXMgaXMgaW5jbHVkZWQgaW4KIGEgc291cmNlIGZpbGUgd2hpY2ggZG9lcyBub3QgdXNlIGJvdGggZnVuY3Rpb25zCkBAIC0xNyw3ICsxNyw3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9pY29udi9nY29udl9jaGFyc2V0LmggYi9pY29udi9nY29udl9jaGFyc2V0LmgKLWluZGV4IDEyM2UyYTYyY2UuLjYzY2M4M2VjODQgMTAwNjQ0CitpbmRleCA5MWUwYWQzMTQxLi4yZTk1NDlmZTQ5IDEwMDY0NAogLS0tIGEvaWNvbnYvZ2NvbnZfY2hhcnNldC5oCiArKysgYi9pY29udi9nY29udl9jaGFyc2V0LmgKIEBAIC0yMSw3ICsyMSw3IEBACkBAIC0yOSwzICsyOSw2IEBACiAgc3RyaXAgKGNoYXIgKndwLCBjb25zdCBjaGFyICpzKQogIHsKICAgIGludCBzbGFzaF9jb3VudCA9IDA7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTUteWVzLXdpdGhpbi10aGUtcGF0aC1zZXRzLXdyb25nLWNvbmZpZy12YXJpYWJsZXMucGF0Y2gKaW5kZXggMDI2N2U3YS4uZjJlMTgwMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYjM4MjEzOGM0MWNjZjYwNzliNDQ1OTJmMWU3NGYxODNjYTgyODFiYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZThhODhmYjNiYjZmZmNjNDM4NzFhN2NhZjdhZDljNTliZDE4M2U1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjMxOjA2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdICd5ZXMnIHdpdGhpbiB0aGUgcGF0aCBzZXRzIHdyb25nIGNvbmZpZyB2YXJpYWJsZXMKK1N1YmplY3Q6IFtQQVRDSCAxNS8zMF0gJ3llcycgd2l0aGluIHRoZSBwYXRoIHNldHMgd3JvbmcgY29uZmlnIHZhcmlhYmxlcwogCiBJdCBzZWVtcyB0aGF0IHRoZSAnQUNfRUdSRVBfQ1BQKHllcy4uLicgZXhhbXBsZSBpcyBxdWl0ZSBwb3B1bGFyCiBidXQgYmVpbmcgc3VjaCBhIHNob3J0IHdvcmQgdG8gZ3JlcCBpdCBpcyBsaWtlbHkgdG8gcHJvZHVjZQpAQCAtMjU4LDMgKzI1OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAjZW5kaWYKICAgICAgXSwgbGliY19jdl9wcGM2NF9kZWZfY2FsbF9lbGY9eWVzLCBsaWJjX2N2X3BwYzY0X2RlZl9jYWxsX2VsZj1ubyldKQogICAgaWYgdGVzdCAkbGliY19jdl9wcGM2NF9kZWZfY2FsbF9lbGYgPSBubzsgdGhlbgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaAppbmRleCAxNTQ1M2VjLi44YTlmYTQ5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMDRmYjdiOTNkYzQwYzFmOTZlYmMwNWQyOWEyZjAyZjllNGYwZDU3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTBmNDcwNDc2ZGM5NDdkN2I5NTBkNmE2NmY3YzA2ZjUwMGM5NmM2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjMzOjAzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHRpbWV6b25lOiByZS13cml0dGVuIHR6c2VsZWN0IGFzIHBvc2l4IHNoCitTdWJqZWN0OiBbUEFUQ0ggMTYvMzBdIHRpbWV6b25lOiByZS13cml0dGVuIHR6c2VsZWN0IGFzIHBvc2l4IHNoCiAKIFRvIGF2b2lkIHRoZSBiYXNoIGRlcGVuZGVuY3kuCiAKQEAgLTE1LDcgKzE1LDcgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3RpbWV6b25lL01ha2VmaWxlIGIvdGltZXpvbmUvTWFrZWZpbGUKLWluZGV4IDAxOTRhYmE0YTEuLjU4ZTU0MDVhMDUgMTAwNjQ0CitpbmRleCA0OTNkZWNhNzkwLi4zNmU1NTllMTZjIDEwMDY0NAogLS0tIGEvdGltZXpvbmUvTWFrZWZpbGUKICsrKyBiL3RpbWV6b25lL01ha2VmaWxlCiBAQCAtMTIyLDcgKzEyMiw3IEBAICQodGVzdGRhdGEpL1hUJTogdGVzdGRhdGEvWFQlCkBAIC0yOCwxMCArMjgsMTAgQEAKICAJICAgIC1lICcvVFpWRVJTSU9OPS9zfHNlZV9NYWtlZmlsZXwiJCh2ZXJzaW9uKSJ8JyBcCiAgCSAgICAtZSAnL1BLR1ZFUlNJT049L3N8PS4qfD0iJChQS0dWRVJTSU9OKSJ8JyBcCiBkaWZmIC0tZ2l0IGEvdGltZXpvbmUvdHpzZWxlY3Qua3NoIGIvdGltZXpvbmUvdHpzZWxlY3Qua3NoCi1pbmRleCBkMmMzYTZkMWRkLi4wODk2NzlmMzA2IDEwMDc1NQoraW5kZXggMThmY2UyN2UyNC4uNzA3NDVmOWQzNiAxMDA3NTUKIC0tLSBhL3RpbWV6b25lL3R6c2VsZWN0LmtzaAogKysrIGIvdGltZXpvbmUvdHpzZWxlY3Qua3NoCi1AQCAtMzUsNyArMzUsNyBAQCBSRVBPUlRfQlVHU19UTz10ekBpYW5hLm9yZworQEAgLTM0LDcgKzM0LDcgQEAgUkVQT1JUX0JVR1NfVE89dHpAaWFuYS5vcmcKICAKICAjIFNwZWNpZnkgZGVmYXVsdCB2YWx1ZXMgZm9yIGVudmlyb25tZW50IHZhcmlhYmxlcyBpZiB0aGV5IGFyZSB1bnNldC4KICA6ICR7QVdLPWF3a30KQEAgLTQwLDMgKzQwLDYgQEAKICAKICAjIE91dHB1dCBvbmUgYXJndW1lbnQgYXMtaXMgdG8gc3RhbmRhcmQgb3V0cHV0LgogICMgU2FmZXIgdGhhbiAnZWNobycsIHdoaWNoIGNhbiBtaXNoYW5kbGUgJ1wnIG9yIGxlYWRpbmcgJy0nLgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaAppbmRleCAwNmQyY2QxLi5hMjc3NTlhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTctUmVtb3ZlLWJhc2gtZGVwZW5kZW5jeS1mb3ItbnNjZC1pbml0LXNjcmlwdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gN2EyZjI0NGMwOTgwYTU0ZWQ3NGY5NTQ0YWI0NGE3MjY5ZWYxMmJjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODA5MzkyZDIwZmE5YTlmODE1OTI0MjQ1MWY5OTY5ZTY1YTY1ODgzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDMxIERlYyAyMDE1IDE0OjMzOjAyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBiYXNoIGRlcGVuZGVuY3kgZm9yIG5zY2QgaW5pdCBzY3JpcHQKK1N1YmplY3Q6IFtQQVRDSCAxNy8zMF0gUmVtb3ZlIGJhc2ggZGVwZW5kZW5jeSBmb3IgbnNjZCBpbml0IHNjcmlwdAogCiBUaGUgbnNjZCBpbml0IHNjcmlwdCB1c2VzICMhIC9iaW4vYmFzaCBidXQgb25seSByZWFsbHkgdXNlcyBvbmUgYmFzaGlzbQogKHRyYW5zbGF0ZWQgc3RyaW5ncyksIHNvIHJlbW92ZSB0aGVtIGFuZCBzd2l0Y2ggdGhlIHNoZWxsIHRvICMhL2Jpbi9zaC4KQEAgLTcwLDMgKzcwLDYgQEAKICAJUkVUVkFMPTEKICAJOzsKICBlc2FjCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCmluZGV4IDI5MTA5YTIuLmY4MGEzZWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA0NGE1Yzc5ZWZlYTA5ZjViOTkwZTUyNGVjNDJhYmRlZWY0NDQwNTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwMTZkNjk4NzYwMGQ0OWQzZjQ1ODc0MDk2ZTk0M2I5N2QxNjY3NTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMTggTWFyIDIwMTUgMDA6NDI6NTggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBDcm9zcyBidWlsZGluZyBhbmQgdGVzdGluZyBpbnN0cnVjdGlvbnMKK1N1YmplY3Q6IFtQQVRDSCAxOC8zMF0gZWdsaWJjOiBDcm9zcyBidWlsZGluZyBhbmQgdGVzdGluZyBpbnN0cnVjdGlvbnMKIAogUG9ydGVkIGZyb20gZWdsaWJjCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKQEAgLTYxNCwzICs2MTQsNiBAQAogKy0gU29tZSB0ZXN0cyByZXF1aXJlIGFjY2VzcyB0byBsaWJzdGRjKysuc28uNiBhbmQgbGliZ2NjX3Muc28uMTsgd2UKICsgIHNpbXBseSBwbGFjZSBjb3BpZXMgb2YgdGhlc2UgbGlicmFyaWVzIGluIHRoZSB0b3AgR0xJQkMgYnVpbGQKICsgIGRpcmVjdG9yeS4KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAxOS1lZ2xpYmMtSGVscC1ib290c3RyYXAtY3Jvc3MtdG9vbGNoYWluLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKaW5kZXggNzFjMmFiOS4uNjAzYmYyMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGY0ZWM1NTI3ZDU2MmQzODUyM2FiYjg1ODdhNmM3NTMyZTlkMjFmOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdlNDQyMzUyOGQzNjJjZjYyNjhiMTkwMmE4ZTMwZDcxMDQzMWYzMzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMDo0OToyOCArMDAwMAotU3ViamVjdDogW1BBVENIXSBlZ2xpYmM6IEhlbHAgYm9vdHN0cmFwIGNyb3NzIHRvb2xjaGFpbgorU3ViamVjdDogW1BBVENIIDE5LzMwXSBlZ2xpYmM6IEhlbHAgYm9vdHN0cmFwIGNyb3NzIHRvb2xjaGFpbgogCiBUYWtlbiBmcm9tIEVHTElCQywgcjE0ODQgKyByMTUyNQogCkBAIC0yOSw3ICsyOSw3IEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvc3R1YnMtYm9vdHN0cmFwLmgKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGQzZjI1YTUyNWEuLmFiMzgzODY3ZTIgMTAwNjQ0CitpbmRleCA0YTAxNGQ2ZWZmLi4zYTFmNDE5YmMzIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCiBAQCAtNzAsOSArNzAsMTggQEAgc3ViZGlyLWRpcnMgPSBpbmNsdWRlCkBAIC05NSwzICs5NSw2IEBACiArICAgZGlmZmljdWx0IGhlYWRlcnMuICBUaGUgPGdudS9zdHVicy5oPiBoZWFkZXIgZGVwZW5kcywgdmlhIHRoZQogKyAgIEVHTElCQyBzdWJkaXIgJ3N0dWJzJyBtYWtlIHRhcmdldHMsIG9uIGV2ZXJ5IC5vIGZpbGUgaW4gRUdMSUJDLCBidXQKICsgICBhbiBlbXB0eSBzdHVicy5oIGxpa2UgdGhpcyB3aWxsIGRvIGZpbmUgZm9yIEdDQy4gICovCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjAtZWdsaWJjLUNsZWFyLWNhY2hlLWxpbmVzLW9uLXBwYzh4eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCmluZGV4IDZlNDc1YTcuLjk4NWIxN2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA2YzIzNjYwZDAzNWU3MWRlMGUyMGI0MDQ2MGFkMzA1MGJkMDU3NjY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4YzRkN2Q3MGE4NGE2OWZlNWU4ZDY5NTM5MzY4YWExMWY4ZmUyMGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFRodSwgMzEgRGVjIDIwMTUgMTU6MTU6MDkgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZWdsaWJjOiBDbGVhciBjYWNoZSBsaW5lcyBvbiBwcGM4eHgKK1N1YmplY3Q6IFtQQVRDSCAyMC8zMF0gZWdsaWJjOiBDbGVhciBjYWNoZSBsaW5lcyBvbiBwcGM4eHgKIAogMjAwNy0wNi0xMyAgTmF0aGFuIFNpZHdlbGwgIDxuYXRoYW5AY29kZXNvdXJjZXJ5LmNvbT4KICAgICAgICAgICAgIE1hcmsgU2hpbndlbGwgIDxzaGlud2VsbEBjb2Rlc291cmNlcnkuY29tPgpAQCAtMjEsNyArMjEsNyBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLXN5c2RlcC5jCi1pbmRleCA3ODA1MWJjN2JjLi5lMjRmNDQyMzIwIDEwMDY0NAoraW5kZXggYjA0ZWNjNGE0Yy4uNzViZGE5NzI0MSAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMKICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtc3lzZGVwLmMKIEBAIC0yNCw5ICsyNCwyMSBAQCBpbnQgX19jYWNoZV9saW5lX3NpemUgYXR0cmlidXRlX2hpZGRlbjsKQEAgLTQ4LDcgKzQ4LDcgQEAKICAJYnJlYWs7CiAgCiBkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2xpYmMtc3RhcnQuYwotaW5kZXggZjJhZDBjMzU1ZC4uM2U2NzczNzk1ZSAxMDA2NDQKK2luZGV4IDRmZDVmNzA3MDAuLjFhMjFlNDY3NWMgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2xpYmMtc3RhcnQuYwogKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9saWJjLXN0YXJ0LmMKIEBAIC03MywxMSArNzMsMjUgQEAgX19saWJjX3N0YXJ0X21haW4gKGludCBhcmdjLCBjaGFyICoqYXJndiwKQEAgLTc4LDMgKzc4LDYgQEAKICAJX19jYWNoZV9saW5lX3NpemUgPSBhdi0+YV91bi5hX3ZhbDsKICAJYnJlYWs7CiAgI2lmbmRlZiBTSEFSRUQKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoCmluZGV4IDhhZWNmMjYuLmZiMWI0M2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIxLWVnbGliYy1SZXNvbHZlLV9fZnBzY3JfdmFsdWVzLW9uLVNINC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTU1MzFlZjU3ZDA0MDA2YzVhMWUzYjMyYThlMDQxMDM3MmY4NjAwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTlmMDQxMjE1NjczZDQ0OTllZTliMjM4MDVkNWMyMjRjNDA2MzY4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDE4IE1hciAyMDE1IDAwOjU1OjUzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVnbGliYzogUmVzb2x2ZSBfX2Zwc2NyX3ZhbHVlcyBvbiBTSDQKK1N1YmplY3Q6IFtQQVRDSCAyMS8zMF0gZWdsaWJjOiBSZXNvbHZlIF9fZnBzY3JfdmFsdWVzIG9uIFNINAogCiAyMDEwLTA5LTI5ICBOb2J1aGlybyBJd2FtYXRzdSAgPGl3YW1hdHN1QG5pZ2F1cmkub3JnPgogICAgICAgICAgICAgQW5kcmV3IFN0dWJicyAgPGFtc0Bjb2Rlc291cmNlcnkuY29tPgpAQCAtMzMsNyArMzMsNyBAQAogICAgICAjIGEqCiAgICAgIGFscGhhc29ydDY0OwogZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLlMKLWluZGV4IGM0ZTI4ZmZiOTguLjY0OGJhZTAzZDUgMTAwNjQ0CitpbmRleCA2Y2UzNmQ2ZGQ1Li40MjU4MTFjYzc3IDEwMDY0NAogLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvc2gvc3lzZGVwLlMKICsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NoL3N5c2RlcC5TCiBAQCAtMzAsMyArMzAsMTQgQEAgRU5UUlkgKF9fc3lzY2FsbF9lcnJvcikKQEAgLTUxLDMgKzUxLDYgQEAKICsgICAgICAgLmxvbmcgMHg4MDAwMAogK3dlYWtfYWxpYXMgKF9fX2Zwc2NyX3ZhbHVlcywgX19mcHNjcl92YWx1ZXMpCiArCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIyLWVnbGliYy1Gb3J3YXJkLXBvcnQtY3Jvc3MtbG9jYWxlLWdlbmVyYXRpb24tc3VwcG9ydC5wYXRjaAppbmRleCBhYTYyYzYzLi5hMmQzNWQ0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDRiYjIzZmJiMDc5ODRiOTNmZDE0ZjM1M2ZkOTMyNWQ5MjdiMGNkOTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFhZTE1ZjYwYTg0ZjE2MTg3ZTA2YTA1OTA2ZjQ0YTY2NThiYWU0ODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxOCBNYXIgMjAxNSAwMTozMzo0OSArMDAwMAotU3ViamVjdDogW1BBVENIXSBlZ2xpYmM6IEZvcndhcmQgcG9ydCBjcm9zcyBsb2NhbGUgZ2VuZXJhdGlvbiBzdXBwb3J0CitTdWJqZWN0OiBbUEFUQ0ggMjIvMzBdIGVnbGliYzogRm9yd2FyZCBwb3J0IGNyb3NzIGxvY2FsZSBnZW5lcmF0aW9uIHN1cHBvcnQKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKQEAgLTIzLDcgKzIzLDcgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgbG9jYWxlL2NhdG5hbWVzLmMKIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9NYWtlZmlsZSBiL2xvY2FsZS9NYWtlZmlsZQotaW5kZXggZmQ5OTcyMjc5Yi4uMTc2YjM5NDZkZSAxMDA2NDQKK2luZGV4IDc2NGU3NTFjMzYuLjg2Njk1N2ZlZmEgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvTWFrZWZpbGUKICsrKyBiL2xvY2FsZS9NYWtlZmlsZQogQEAgLTI2LDcgKzI2LDggQEAgaGVhZGVycwkJPSBsYW5naW5mby5oIGxvY2FsZS5oIGJpdHMvbG9jYWxlLmggXApAQCAtOTEsNyArOTEsNyBAQAogKyAgICBbTENfQUxMXSA9IHNpemVvZiAoIkxDX0FMTCIpIC0gMQogKyAgfTsKIGRpZmYgLS1naXQgYS9sb2NhbGUvbG9jYWxlaW5mby5oIGIvbG9jYWxlL2xvY2FsZWluZm8uaAotaW5kZXggNTM3YmMzNTE0OS4uNzNiYTIwZDY5NSAxMDA2NDQKK2luZGV4IDUzY2I4YmZjNTkuLjkyYzQ2NjIwMGMgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvbG9jYWxlaW5mby5oCiArKysgYi9sb2NhbGUvbG9jYWxlaW5mby5oCiBAQCAtMjI0LDcgKzIyNCw3IEBAIF9fbGliY190c2RfZGVmaW5lIChleHRlcm4sIGxvY2FsZV90LCBMT0NBTEUpCkBAIC0xMDQsNyArMTA0LDcgQEAKICAjIGRlZmluZSBOTF9DVVJSRU5UX0lORElSRUNUCTEKICAjZW5kaWYKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYyBiL2xvY2FsZS9wcm9ncmFtcy9jaGFybWFwLWRpci5jCi1pbmRleCAzNGE4ZDMyYzkyLi5jYmI5NDM2Y2QxIDEwMDY0NAoraW5kZXggOTRjMTIyZGY2OC4uODBlNTNlMTJjOCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9jaGFybWFwLWRpci5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvY2hhcm1hcC1kaXIuYwogQEAgLTE4LDcgKzE4LDkgQEAKQEAgLTE1MCw3ICsxNTAsNyBAQAogICAgcmV0dXJuIE5VTEw7CiAgfQogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtY29sbGF0ZS5jCi1pbmRleCBkMmVlYmNmZGJiLi5jMzcxOGQ2NTg5IDEwMDY0NAoraW5kZXggYmI0ZTJjNTM5ZC4uOWQwOGQ0MjJjNCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sZC1jb2xsYXRlLmMKIEBAIC0zNDksNyArMzQ5LDcgQEAgbmV3X2VsZW1lbnQgKHN0cnVjdCBsb2NhbGVfY29sbGF0ZV90ICpjb2xsYXRlLCBjb25zdCBjaGFyICptYnMsIHNpemVfdCBtYnNsZW4sCkBAIC0xOTksNyArMTk5LDcgQEAKICAJCQkgPT0gcnVucC0+d2NuZXh0LT53Y3NbcnVucC0+bndjcyAtIDFdICsgMSkpOwogIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMKLWluZGV4IGY3OTFlNmI3ZTkuLmQ4MDlkNmRiN2YgMTAwNjQ0CitpbmRleCAzNmZkMDhiYTgwLi4wODE1NWEyN2Q2IDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xkLWN0eXBlLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sZC1jdHlwZS5jCiBAQCAtOTE1LDcgKzkxNSw3IEBAIGN0eXBlX291dHB1dCAoc3RydWN0IGxvY2FsZWRlZl90ICpsb2NhbGUsIGNvbnN0IHN0cnVjdCBjaGFybWFwX3QgKmNoYXJtYXAsCkBAIC0yODEsNyArMjgxLDcgQEAKICAJICAgICAgc3J1bnAgPSBzcnVucC0+bmV4dDsKICAJICAgIH0KIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xkLXRpbWUuYwotaW5kZXggYTc1NTc5MjM2My4uZThiMmY4NTUyMiAxMDA2NDQKK2luZGV4IDhlOTg0OWZkYmEuLjAyOGQzZWZhOWYgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvbGQtdGltZS5jCiBAQCAtMjIwLDggKzIyMCwxMCBAQCBObyBkZWZpbml0aW9uIGZvciAlcyBjYXRlZ29yeSBmb3VuZCIpLCAiTENfVElNRSIpOwpAQCAtMzUwLDcgKzM1MCw3IEBACiAgCiAgCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYyBiL2xvY2FsZS9wcm9ncmFtcy9saW5lcmVhZGVyLmMKLWluZGV4IDM1MjVjOGE0M2QuLmY4YTdmZDljMjQgMTAwNjQ0CitpbmRleCBlZDNhOTczMWQwLi4zMTc4ZWEwNTdhIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xpbmVyZWFkZXIuYwogQEAgLTU5NSw3ICs1OTUsNyBAQCBnZXRfc3RyaW5nIChzdHJ1Y3QgbGluZXJlYWRlciAqbHIsIGNvbnN0IHN0cnVjdCBjaGFybWFwX3QgKmNoYXJtYXAsCkBAIC0zNjMsMTggKzM2MywxOCBAQAogICAgc2l6ZV90IGJ1Zm1heCA9IDU2OwogIAogZGlmZiAtLWdpdCBhL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYwotaW5kZXggZDcxOGQyZTlmNC4uZTBhM2FkNWE4MyAxMDA2NDQKK2luZGV4IGI3YmNlZjgyNDguLmVmZWNlZDFlMGYgMTAwNjQ0CiAtLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYWxlZGVmLmMKICsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhbGVkZWYuYwotQEAgLTEwNSw2ICsxMDUsNyBAQCB2b2lkICgqYXJncF9wcm9ncmFtX3ZlcnNpb25faG9vaykgKEZJTEUgKiwgc3RydWN0IGFyZ3Bfc3RhdGUgKikgPSBwcmludF92ZXJzaW9uOwotICNkZWZpbmUgT1BUX0JJR19FTkRJQU4gNDAxCitAQCAtMTA5LDYgKzEwOSw3IEBAIHZvaWQgKCphcmdwX3Byb2dyYW1fdmVyc2lvbl9ob29rKSAoRklMRSAqLCBzdHJ1Y3QgYXJncF9zdGF0ZSAqKSA9IHByaW50X3ZlcnNpb247CiAgI2RlZmluZSBPUFRfTk9fV0FSTiA0MDIKICAjZGVmaW5lIE9QVF9XQVJOIDQwMwotKyNkZWZpbmUgT1BUX1VJTlQzMl9BTElHTiA0MDQKKyAjZGVmaW5lIE9QVF9OT19IQVJEX0xJTktTIDQwNAorKyNkZWZpbmUgT1BUX1VJTlQzMl9BTElHTiA0MDUKICAKICAvKiBEZWZpbml0aW9ucyBvZiBhcmd1bWVudHMgZm9yIGFyZ3AgZnVuY3Rpb25zLiAgKi8KICBzdGF0aWMgY29uc3Qgc3RydWN0IGFyZ3Bfb3B0aW9uIG9wdGlvbnNbXSA9Ci1AQCAtMTQ3LDYgKzE0OCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYXJncF9vcHRpb24gb3B0aW9uc1tdID0KK0BAIC0xNTMsNiArMTU0LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBhcmdwX29wdGlvbiBvcHRpb25zW10gPQogICAgICBOXygiR2VuZXJhdGUgbGl0dGxlLWVuZGlhbiBvdXRwdXQiKSB9LAogICAgeyAiYmlnLWVuZGlhbiIsIE9QVF9CSUdfRU5ESUFOLCBOVUxMLCAwLAogICAgICBOXygiR2VuZXJhdGUgYmlnLWVuZGlhbiBvdXRwdXQiKSB9LApAQCAtMzgzLDcgKzM4Myw3IEBACiAgICB7IE5VTEwsIDAsIE5VTEwsIDAsIE5VTEwgfQogIH07CiAgCi1AQCAtMjM2LDEyICsyMzksMTQgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC0yNDIsMTIgKzI0NSwxNCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgY3R5cGUgbG9jYWxlLiAgKFAxMDAzLjIgNC4zNS41LjIpICAqLwogICAgc2V0bG9jYWxlIChMQ19DVFlQRSwgIlBPU0lYIik7CiAgCkBAIC0zOTgsOSArMzk4LDkgQEAKICAKICAgIC8qIFByb2Nlc3MgY2hhcm1hcCBmaWxlLiAgKi8KICAgIGNoYXJtYXAgPSBjaGFybWFwX3JlYWQgKGNoYXJtYXBfZmlsZSwgdmVyYm9zZSwgMSwgYmVfcXVpZXQsIDEpOwotQEAgLTM4OSw2ICszOTQsOSBAQCBwYXJzZV9vcHQgKGludCBrZXksIGNoYXIgKmFyZywgc3RydWN0IGFyZ3Bfc3RhdGUgKnN0YXRlKQotICAgICAgIC8qIEVuYWJsZSB0aGUgd2FybmluZ3MuICAqLwotICAgICAgIHNldF93YXJuaW5ncyAoYXJnLCB0cnVlKTsKK0BAIC0zOTksNiArNDA0LDkgQEAgcGFyc2Vfb3B0IChpbnQga2V5LCBjaGFyICphcmcsIHN0cnVjdCBhcmdwX3N0YXRlICpzdGF0ZSkKKyAgICAgICAvKiBEbyBub3QgaGFyZCBsaW5rIHRvIG90aGVyIGxvY2FsZXMuICAqLworICAgICAgIGhhcmRfbGlua3MgPSBmYWxzZTsKICAgICAgICBicmVhazsKICsgICAgY2FzZSBPUFRfVUlOVDMyX0FMSUdOOgogKyAgICAgIHVpbnQzMl9hbGlnbl9tYXNrID0gc3RydG9sIChhcmcsIE5VTEwsIDApIC0gMTsKQEAgLTQwOSw3ICs0MDksNyBAQAogICAgICAgIGZvcmNlX291dHB1dCA9IDE7CiAgICAgICAgYnJlYWs7CiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmMKLWluZGV4IDMyZTVmNzYxZjIuLmI0MWU3N2JkOGQgMTAwNjQ0CitpbmRleCBlNGJhNDhlOTY4Li5lN2IwZWZlODg3IDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYwogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuYwogQEAgLTU0NCw2ICs1NDQsOSBAQCBjb21wYXJlX2ZpbGVzIChjb25zdCBjaGFyICpmaWxlbmFtZTEsIGNvbnN0IGNoYXIgKmZpbGVuYW1lMiwgc2l6ZV90IHNpemUsCkBAIC00MzIsNyArNDMyLDcgQEAKICAKICAvKiBSZWNvcmQgdGhhdCBGSUxFJ3MgbmV4dCBlbGVtZW50IGlzIHRoZSAzMi1iaXQgaW50ZWdlciBWQUxVRS4gICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaCBiL2xvY2FsZS9wcm9ncmFtcy9sb2NmaWxlLmgKLWluZGV4IDg5YjM0N2M3MmQuLmE2MzZmYzI5NjAgMTAwNjQ0CitpbmRleCBjMDYzZmMwOTdkLi40ZTc0NjVlNTVhIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaAogKysrIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2ZpbGUuaAogQEAgLTcxLDYgKzcxLDggQEAgZXh0ZXJuIHZvaWQgd3JpdGVfYWxsX2NhdGVnb3JpZXMgKHN0cnVjdCBsb2NhbGVkZWZfdCAqZGVmaW5pdGlvbnMsCkBAIC01MjEsNyArNTIxLDcgQEAKICsKICAjZW5kaWYgLyogbG9jZmlsZS5oICovCiBkaWZmIC0tZ2l0IGEvbG9jYWxlL3NldGxvY2FsZS5jIGIvbG9jYWxlL3NldGxvY2FsZS5jCi1pbmRleCBlNGRlOTA3ZTFmLi5iNWQ4ZjVjMTdkIDEwMDY0NAoraW5kZXggOTQyN2E1YWQyOC4uOGY0MTQwZDY4NCAxMDA2NDQKIC0tLSBhL2xvY2FsZS9zZXRsb2NhbGUuYwogKysrIGIvbG9jYWxlL3NldGxvY2FsZS5jCiBAQCAtNjQsMzYgKzY0LDYgQEAgc3RhdGljIGNoYXIgKmNvbnN0IF9ubF9jdXJyZW50X3VzZWRbXSA9CkBAIC01NjEsMyArNTYxLDYgQEAKICAjaWZkZWYgTkxfQ1VSUkVOVF9JTkRJUkVDVAogICMgZGVmaW5lIFdFQUtfUE9TVExPQUQocG9zdGxvYWQpIHdlYWtfZXh0ZXJuIChwb3N0bG9hZCkKICAjZWxzZQorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2gKaW5kZXggNjhmYWQ5Ni4uMGY3YzVmZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDIzLURlZmluZS1EVU1NWV9MT0NBTEVfVC1pZi1ub3QtZGVmaW5lZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSAxYjJjZWI2YzI0MTRlM2M5OGM3YmNkMDI5NTgzMjg3Y2VkOWYzMTU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4MDljNzliN2Q1NTRhNGVjODM5MjFkZjlkODc3M2M5OWEwM2RjODFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgMjAgQXByIDIwMTYgMjE6MTE6MDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRGVmaW5lIERVTU1ZX0xPQ0FMRV9UIGlmIG5vdCBkZWZpbmVkCitTdWJqZWN0OiBbUEFUQ0ggMjMvMzBdIERlZmluZSBEVU1NWV9MT0NBTEVfVCBpZiBub3QgZGVmaW5lZAogCiBUaGlzIGlzIGEgaGFjayB0byBmaXggYnVpbGRpbmcgdGhlIGxvY2FsZSBiaXRzIG9uIGFuIG9sZGVyCiBDZW50T3MgNS5YIG1hY2hpbmUKQEAgLTE0LDcgKzE0LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmggYi9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmgKLWluZGV4IDk5NTZjZDg0NDYuLjA0MzQyZjM2NDQgMTAwNjQ0CitpbmRleCBhMWU2ZTBlYzNjLi43Zjc1NTI4ZWFlIDEwMDY0NAogLS0tIGEvbG9jYWxlL3Byb2dyYW1zL2NvbmZpZy5oCiArKysgYi9sb2NhbGUvcHJvZ3JhbXMvY29uZmlnLmgKIEBAIC0xOSw2ICsxOSw5IEBACkBAIC0yNywzICsyNyw2IEBACiAgLyogVXNlIHRoZSBpbnRlcm5hbCB0ZXh0ZG9tYWluIHVzZWQgZm9yIGxpYmMgbWVzc2FnZXMuICAqLwogICNkZWZpbmUgUEFDS0FHRSBfbGliY19pbnRsX2RvbWFpbm5hbWUKICAjaWZuZGVmIFZFUlNJT04KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4Y2ZmMmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIGE2MTU5Yzk0ODY3NDU2NjRhNWYxMTZlZTljYzQ1ODM3MDIxYjc2MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDE4IEF1ZyAyMDE2IDE0OjA3OjU4IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGVsZi9kbC1kZXBzLmM6IE1ha2UgX2RsX2J1aWxkX2xvY2FsX3Njb3BlIGJyZWFkdGggZmlyc3QKLQotQWNjb3JkaW5nIHRvIHRoZSBFTEYgc3BlY2lmaWNhdGlvbjoKLQotV2hlbiByZXNvbHZpbmcgc3ltYm9saWMgcmVmZXJlbmNlcywgdGhlIGR5bmFtaWMgbGlua2VyIGV4YW1pbmVzIHRoZSBzeW1ib2wKLXRhYmxlcyB3aXRoIGEgYnJlYWR0aC1maXJzdCBzZWFyY2guCi0KLVRoaXMgZnVuY3Rpb24gd2FzIHVzaW5nIGEgZGVwdGggZmlyc3Qgc2VhcmNoLiAgQnkgZG9pbmcgc28gdGhlIGNvbmZsaWN0Ci1yZXNvbHV0aW9uIHJlcG9ydGVkIHRvIHRoZSBwcmVsaW5rZXIgKHdoZW4gTERfVFJBQ0VfUFJFTElOS0lORz0xIGlzIHNldCkKLXdhcyBpbmNvcnJlY3QuICBUaGlzIGNhdXNlZCBwcm9ibGVtcyB3aGVuIHRoZWlyIHdlcmUgdmFyaW91cyBjaXJjdWxhcgotZGVwZW5kZW5jaWVzIGJldHdlZW4gbGlicmFyaWVzLiAgVGhlIHByb2JsZW0gdXN1YWxseSBtYW5pZmVzdGVkIGl0c2VsZiBieQotdGhlIHdyb25nIElGVU5DIGJlaW5nIGV4ZWN1dGVkLgotCi1bQlojIDIwNDg4XQotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbGliYy1hbHBoYV0KLQotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZWxmL2RsLWRlcHMuYyB8IDE0ICsrKysrKysrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9lbGYvZGwtZGVwcy5jIGIvZWxmL2RsLWRlcHMuYwotaW5kZXggOWQ5YjFiYTdmMi4uODQxNDAyOGM1OCAxMDA2NDQKLS0tLSBhL2VsZi9kbC1kZXBzLmMKLSsrKyBiL2VsZi9kbC1kZXBzLmMKLUBAIC03MywxMyArNzMsMTkgQEAgX2RsX2J1aWxkX2xvY2FsX3Njb3BlIChzdHJ1Y3QgbGlua19tYXAgKipsaXN0LCBzdHJ1Y3QgbGlua19tYXAgKm1hcCkKLSB7Ci0gICBzdHJ1Y3QgbGlua19tYXAgKipwID0gbGlzdDsKLSAgIHN0cnVjdCBsaW5rX21hcCAqKnE7Ci0rICBzdHJ1Y3QgbGlua19tYXAgKipyOwotIAotICAgKnArKyA9IG1hcDsKLSAgIG1hcC0+bF9yZXNlcnZlZCA9IDE7Ci0tICBpZiAobWFwLT5sX2luaXRmaW5pKQotLSAgICBmb3IgKHEgPSBtYXAtPmxfaW5pdGZpbmkgKyAxOyAqcTsgKytxKQotLSAgICAgIGlmICghICgqcSktPmxfcmVzZXJ2ZWQpCi0tCXAgKz0gX2RsX2J1aWxkX2xvY2FsX3Njb3BlIChwLCAqcSk7Ci0rCi0rICBmb3IgKHIgPSBsaXN0OyByIDwgcDsgKytyKQotKyAgICBpZiAoKCpyKS0+bF9pbml0ZmluaSkKLSsgICAgICBmb3IgKHEgPSAoKnIpLT5sX2luaXRmaW5pICsgMTsgKnE7ICsrcSkKLSsJaWYgKCEgKCpxKS0+bF9yZXNlcnZlZCkKLSsJICB7Ci0rCSAgICAqcCsrID0gKnE7Ci0rCSAgICAoKnEpLT5sX3Jlc2VydmVkID0gMTsKLSsJICB9Ci0gICByZXR1cm4gcCAtIGxpc3Q7Ci0gfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjQtbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjg5ZTU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI0LWxvY2FsZWRlZi1hZGQtdG8tYXJjaGl2ZS11c2VzLWEtaGFyZC1jb2RlZC1sb2NhbGUtcGEucGF0Y2gKQEAgLTAsMCArMSw4NCBAQAorRnJvbSBiMmQxYzliNDE1OWJmZDY2MWE0OTk2NTg4ZDA2ZDkyMjQ5MWRmZWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0MjowNiAtMDcwMAorU3ViamVjdDogW1BBVENIIDI0LzMwXSBsb2NhbGVkZWYgLS1hZGQtdG8tYXJjaGl2ZSB1c2VzIGEgaGFyZC1jb2RlZCBsb2NhbGUKKyBwYXRoCisKK2l0IGRvZXNuJ3QgZXhpc3QgaW4gbm9ybWFsIHVzZSwgYW5kIHRoZXJlJ3Mgbm8gd2F5IHRvIHBhc3MgYW4KK2FsdGVybmF0aXZlIGZpbGVuYW1lLgorCitBZGQgYSBmYWxsYmFjayBvZiAkTE9DQUxFQVJDSElWRSBmcm9tIHRoZSBlbnZpcm9ubWVudCwgYW5kIGFsbG93CitjcmVhdGlvbiBvZiBuZXcgbG9jYWxlIGFyY2hpdmVzIHRoYXQgYXJlIG5vdCB0aGUgc3lzdGVtIGFyY2hpdmUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoT0Utc3BlY2lmaWMpCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKK2luZGV4IGU2MzEwYjE4YmUuLmY1NGE3NmVhZGUgMTAwNjQ0CistLS0gYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCisrKysgYi9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jCitAQCAtMzQwLDEyICszNDAsMjQgQEAgZW5sYXJnZV9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBjb25zdCBzdHJ1Y3QgbG9jYXJoZWFkICpoZWFkKQorICAgc3RydWN0IG5hbWVoYXNoZW50ICpvbGRuYW1laGFzaHRhYjsKKyAgIHN0cnVjdCBsb2NhcmhhbmRsZSBuZXdfYWg7CisgICBzaXplX3QgcHJlZml4X2xlbiA9IG91dHB1dF9wcmVmaXggPyBzdHJsZW4gKG91dHB1dF9wcmVmaXgpIDogMDsKKy0gIGNoYXIgYXJjaGl2ZWZuYW1lW3ByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSldOworLSAgY2hhciBmbmFtZVtwcmVmaXhfbGVuICsgc2l6ZW9mIChBUkNISVZFX05BTUUpICsgc2l6ZW9mICgiLlhYWFhYWCIpIC0gMV07CisrICBjaGFyICphcmNoaXZlZm5hbWU7CisrICBjaGFyICpmbmFtZTsKKysgIGNoYXIgKmVudmFyY2hpdmUgPSBnZXRlbnYoIkxPQ0FMRUFSQ0hJVkUiKTsKKyAKKy0gIGlmIChvdXRwdXRfcHJlZml4KQorLSAgICBtZW1jcHkgKGFyY2hpdmVmbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7CistICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7CisrICBpZiAoZW52YXJjaGl2ZSAhPSBOVUxMKQorKyAgICB7CisrICAgICAgYXJjaGl2ZWZuYW1lID0geG1hbGxvYyhzdHJsZW4oZW52YXJjaGl2ZSkgKyAxKTsKKysgICAgICBmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgc2l6ZW9mICgiLlhYWFhYWCIpKTsKKysgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSwgZW52YXJjaGl2ZSk7CisrICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2MocHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKSk7CisrICAgICAgZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxKTsKKysgICAgICBpZiAob3V0cHV0X3ByZWZpeCkKKysgICAgICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKKysgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7CisrICAgIH0KKyAgIHN0cmNweSAoc3RwY3B5IChmbmFtZSwgYXJjaGl2ZWZuYW1lKSwgIi5YWFhYWFgiKTsKKyAKKyAgIC8qIE5vdCBhbGwgb2YgdGhlIG9sZCBmaWxlIGhhcyB0byBiZSBtYXBwZWQuICBDaGFuZ2UgdGhpcyBub3cgdGhpcworQEAgLTU2OSwxMCArNTgxLDEzIEBAIG9wZW5fYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgYm9vbCByZWFkb25seSkKKyAgIC8qIElmIGFoIGhhcyBhIG5vbi1OVUxMIGZuYW1lIG9wZW4gdGhhdCBvdGhlcndpc2Ugb3BlbiB0aGUgZGVmYXVsdC4gICovCisgICBpZiAoYXJjaGl2ZWZuYW1lID09IE5VTEwpCisgICAgIHsKKy0gICAgICBhcmNoaXZlZm5hbWUgPSBkZWZhdWx0X2ZuYW1lOworLSAgICAgIGlmIChvdXRwdXRfcHJlZml4KQorLSAgICAgICAgbWVtY3B5IChkZWZhdWx0X2ZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKKy0gICAgICBzdHJjcHkgKGRlZmF1bHRfZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOworKyAgICAgIGFyY2hpdmVmbmFtZSA9IGdldGVudigiTE9DQUxFQVJDSElWRSIpOworKyAgICAgIGlmIChhcmNoaXZlZm5hbWUgPT0gTlVMTCkgeworKyAgICAgICAgICAgICAgYXJjaGl2ZWZuYW1lID0gZGVmYXVsdF9mbmFtZTsKKysgICAgICAgICAgICAgIGlmIChvdXRwdXRfcHJlZml4KQorKyAgICAgICAgICAgICAgICBtZW1jcHkgKGRlZmF1bHRfZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOworKyAgICAgICAgICAgICAgc3RyY3B5IChkZWZhdWx0X2ZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKKysgICAgICB9CisgICAgIH0KKyAKKyAgIHdoaWxlICgxKQorQEAgLTU4NSw3ICs2MDAsNyBAQCBvcGVuX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGJvb2wgcmVhZG9ubHkpCisgCSAgICAgdGhlIGRlZmF1bHQgbG9jYWxlIGFyY2hpdmUgd2UgaWdub3JlIHRoZSBmYWlsdXJlIGFuZAorIAkgICAgIGxpc3QgYW4gZW1wdHkgYXJjaGl2ZSwgb3RoZXJ3aXNlIHdlIHByaW50IGFuIGVycm9yCisgCSAgICAgYW5kIGV4aXQuICAqLworLQkgIGlmIChlcnJubyA9PSBFTk9FTlQgJiYgYXJjaGl2ZWZuYW1lID09IGRlZmF1bHRfZm5hbWUpCisrCSAgaWYgKGVycm5vID09IEVOT0VOVCkKKyAJICAgIHsKKyAJICAgICAgaWYgKHJlYWRvbmx5KQorIAkJeworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjUtZWxmLWRsLWRlcHMuYy1NYWtlLV9kbF9idWlsZF9sb2NhbF9zY29wZS1icmVhZHRoLWZpci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGRkMmU1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2gKQEAgLTAsMCArMSw1NiBAQAorRnJvbSA4MDRiMDVhMDM0YmZhZjRlMzQyNzI0M2U2YmFmNzM2MDg2ODIyY2QwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAxOCBBdWcgMjAxNiAxNDowNzo1OCAtMDUwMAorU3ViamVjdDogW1BBVENIIDI1LzMwXSBlbGYvZGwtZGVwcy5jOiBNYWtlIF9kbF9idWlsZF9sb2NhbF9zY29wZSBicmVhZHRoIGZpcnN0CisKK0FjY29yZGluZyB0byB0aGUgRUxGIHNwZWNpZmljYXRpb246CisKK1doZW4gcmVzb2x2aW5nIHN5bWJvbGljIHJlZmVyZW5jZXMsIHRoZSBkeW5hbWljIGxpbmtlciBleGFtaW5lcyB0aGUgc3ltYm9sCit0YWJsZXMgd2l0aCBhIGJyZWFkdGgtZmlyc3Qgc2VhcmNoLgorCitUaGlzIGZ1bmN0aW9uIHdhcyB1c2luZyBhIGRlcHRoIGZpcnN0IHNlYXJjaC4gIEJ5IGRvaW5nIHNvIHRoZSBjb25mbGljdAorcmVzb2x1dGlvbiByZXBvcnRlZCB0byB0aGUgcHJlbGlua2VyICh3aGVuIExEX1RSQUNFX1BSRUxJTktJTkc9MSBpcyBzZXQpCit3YXMgaW5jb3JyZWN0LiAgVGhpcyBjYXVzZWQgcHJvYmxlbXMgd2hlbiB0aGVpciB3ZXJlIHZhcmlvdXMgY2lyY3VsYXIKK2RlcGVuZGVuY2llcyBiZXR3ZWVuIGxpYnJhcmllcy4gIFRoZSBwcm9ibGVtIHVzdWFsbHkgbWFuaWZlc3RlZCBpdHNlbGYgYnkKK3RoZSB3cm9uZyBJRlVOQyBiZWluZyBleGVjdXRlZC4KKworW0JaIyAyMDQ4OF0KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2xpYmMtYWxwaGFdCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGVsZi9kbC1kZXBzLmMgfCAxNCArKysrKysrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZWxmL2RsLWRlcHMuYyBiL2VsZi9kbC1kZXBzLmMKK2luZGV4IGUxMmMzNTMxNTguLjkyMzRkYWFjMDUgMTAwNjQ0CistLS0gYS9lbGYvZGwtZGVwcy5jCisrKysgYi9lbGYvZGwtZGVwcy5jCitAQCAtNzMsMTMgKzczLDE5IEBAIF9kbF9idWlsZF9sb2NhbF9zY29wZSAoc3RydWN0IGxpbmtfbWFwICoqbGlzdCwgc3RydWN0IGxpbmtfbWFwICptYXApCisgeworICAgc3RydWN0IGxpbmtfbWFwICoqcCA9IGxpc3Q7CisgICBzdHJ1Y3QgbGlua19tYXAgKipxOworKyAgc3RydWN0IGxpbmtfbWFwICoqcjsKKyAKKyAgICpwKysgPSBtYXA7CisgICBtYXAtPmxfcmVzZXJ2ZWQgPSAxOworLSAgaWYgKG1hcC0+bF9pbml0ZmluaSkKKy0gICAgZm9yIChxID0gbWFwLT5sX2luaXRmaW5pICsgMTsgKnE7ICsrcSkKKy0gICAgICBpZiAoISAoKnEpLT5sX3Jlc2VydmVkKQorLQlwICs9IF9kbF9idWlsZF9sb2NhbF9zY29wZSAocCwgKnEpOworKworKyAgZm9yIChyID0gbGlzdDsgciA8IHA7ICsrcikKKysgICAgaWYgKCgqciktPmxfaW5pdGZpbmkpCisrICAgICAgZm9yIChxID0gKCpyKS0+bF9pbml0ZmluaSArIDE7ICpxOyArK3EpCisrCWlmICghICgqcSktPmxfcmVzZXJ2ZWQpCisrCSAgeworKwkgICAgKnArKyA9ICpxOworKwkgICAgKCpxKS0+bF9yZXNlcnZlZCA9IDE7CisrCSAgfQorICAgcmV0dXJuIHAgLSBsaXN0OworIH0KKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNS1sb2NhbGUtZml4LWhhcmQtY29kZWQtcmVmZXJlbmNlLXRvLWdjYy1FLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWxvY2FsZS1maXgtaGFyZC1jb2RlZC1yZWZlcmVuY2UtdG8tZ2NjLUUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhNzkxOWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI1LWxvY2FsZS1maXgtaGFyZC1jb2RlZC1yZWZlcmVuY2UtdG8tZ2NjLUUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIDZjNmFlY2JhMTliM2U3OTQ3MTAwNjIzNTMyYTQxYjZmMTY3MzRhY2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/Sj1DMz1BOXI9QzM9QTlteT0yMFJvc2VuPz0gPGplcmVteS5yb3NlbkBzbWlsZS5mcj4KLURhdGU6IE1vbiwgMjIgQXVnIDIwMTYgMTY6MDk6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gbG9jYWxlOiBmaXggaGFyZC1jb2RlZCByZWZlcmVuY2UgdG8gZ2NjIC1FCi0KLVdoZW4gbmV3IHZlcnNpb24gb2YgY29tcGlsZXJzIGFyZSBwdWJsaXNoZWQsIHRoZXkgbWF5IG5vdCBiZSBjb21wYXRpYmxlIHdpdGgKLW9sZGVyIHZlcnNpb25zIG9mIHNvZnR3YXJlLiBUaGlzIGlzIHBhcnRpY3VsYXJseSBjb21tb24gd2hlbiBzb2Z0d2FyZSBpcyBidWlsdAotd2l0aCAtV2Vycm9yLgotCi1BdXRvdG9vbHMgcHJvdmlkZXMgYSB3YXkgZm9yIGEgdXNlciB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIGhpcyBjb21waWxlciB1c2luZyBhCi1zZXQgb2YgdmFyaWFibGVzICgkQ0MgJENYWCAkQ1BQIGV0Yy4pLiBUaG9zZSB2YXJpYWJsZXMgYXJlIHVzZWQgY29ycmVjdGx5IHdoZW4KLWNvbXBpbGluZyBnbGliYyBidXQgdGhlIHNjcmlwdCB1c2VkIHRvIGdlbmVyYXRlIHRyYW5zbGl0ZXJhdGlvbnMgaW4gdGhlIGxvY2FsZS8KLXN1YmRpcmVjdG9yeSBkaXJlY3RseSBjYWxscyB0aGUgZ2NjIGJpbmFyeSB0byBnZXQgdGhlIG91dHB1dCBvZiB0aGUKLXByZXByb2Nlc3NvciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSAkQ1BQIHZhcmlhYmxlIHByb3ZpZGVkIGJ5IHRoZSBidWlsZAotZW52aXJvbm1lbnQuCi0KLVRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhlIGhhcmQtY29kZWQgcmVmZXJlbmNlIHRvIHRoZSBnY2MgYmluYXJ5IHdpdGggdGhlIHByb3BlcgotZW52aXJvbm1lbnQgdmFyaWFibGUsIHRodXMgYWxsb3dpbmcgYSB1c2VyIHRvIG92ZXJyaWRlIGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTYtMDgvbXNnMDA3NDYuaHRtbF0KLS0tLQotIGxvY2FsZS9nZW4tdHJhbnNsaXQucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9sb2NhbGUvZ2VuLXRyYW5zbGl0LnBsIGIvbG9jYWxlL2dlbi10cmFuc2xpdC5wbAotaW5kZXggMzBkM2YyZjE5NS4uZTk3NjUzMDE3YyAxMDA2NDQKLS0tLSBhL2xvY2FsZS9nZW4tdHJhbnNsaXQucGwKLSsrKyBiL2xvY2FsZS9nZW4tdHJhbnNsaXQucGwKLUBAIC0xLDUgKzEsNSBAQAotICMhL3Vzci9iaW4vcGVybCAtdwotLW9wZW4gRiwgImNhdCBDLXRyYW5zbGl0LmguaW4gfCBnY2MgLUUgLSB8IiB8fCBkaWUgIkNhbm5vdCBwcmVwcm9jZXNzIGlucHV0IGZpbGUiOwotK29wZW4gRiwgJ2NhdCBDLXRyYW5zbGl0LmguaW4gfCAke0NQUDotZ2NjIC1FfSAtIHwnIHx8IGRpZSAiQ2Fubm90IHByZXByb2Nlc3MgaW5wdXQgZmlsZSI7Ci0gCi0gCi0gc3ViIGNzdHJsZW4gewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWRkYzEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNi1yZXNldC1kbF9sb2FkX3dyaXRlX2xvY2stYWZ0ZXItZm9ya2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gZWZiMGZjYTdkYjc0MmY0MTk1ZTE3NzFkOGJhNGM3ZmJhNDkzODgxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI3IEphbiAyMDE4IDEwOjA1OjA3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlc2V0IGRsX2xvYWRfd3JpdGVfbG9jayBhZnRlciBmb3JraW5nCi0KLVRoZSBwYXRjaCBpbiB0aGlzIEJ1Z3ppbGxhIGVudHJ5IHdhcyByZXF1ZXN0ZWQgYnkgYSBjdXN0b21lcjoKLQotICBodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MTkyODIKLQotVGhlIF9fbGliY19mb3JrKCkgY29kZSByZXNldCBkbF9sb2FkX2xvY2ssIGJ1dCBpdCBhbHNvIG5lZWRlZCB0byByZXNldAotZGxfbG9hZF93cml0ZV9sb2NrLiAgVGhlIHBhdGNoIGhhcyBub3QgeWV0IGJlZW4gaW50ZWdyYXRlZCB1cHN0cmVhbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFsgTm8gQXV0aG9yIFNlZSBidWd6aWxsYV0KLQotU2lnbmVkLW9mZi1ieTogRGFtb2RhciBTb25vbmUgPGRhbW9kYXIuc29ub25lQGtwaXQuY29tPgotU2lnbmVkLW9mZi1ieTogWXVhbmppZSBIdWFuZyA8eXVhbmppZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHN5c2RlcHMvbnB0bC9mb3JrLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9ucHRsL2ZvcmsuYyBiL3N5c2RlcHMvbnB0bC9mb3JrLmMKLWluZGV4IGVjNTZhODI3ZWIuLjBmNDg5MzNmZjEgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL25wdGwvZm9yay5jCi0rKysgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1AQCAtMTMwLDkgKzEzMCw5IEBAIF9fbGliY19mb3JrICh2b2lkKQotIAkgIF9JT19saXN0X3Jlc2V0bG9jayAoKTsKLSAJfQotIAotLSAgICAgIC8qIFJlc2V0IHRoZSBsb2NrIHRoZSBkeW5hbWljIGxvYWRlciB1c2VzIHRvIHByb3RlY3QgaXRzIGRhdGEuICAqLwotKyAgICAgIC8qIFJlc2V0IHRoZSBsb2NrcyB0aGUgZHluYW1pYyBsb2FkZXIgdXNlcyB0byBwcm90ZWN0IGl0cyBkYXRhLiAgKi8KLSAgICAgICBfX3J0bGRfbG9ja19pbml0aWFsaXplIChHTChkbF9sb2FkX2xvY2spKTsKLS0KLSsgICAgICBfX3J0bGRfbG9ja19pbml0aWFsaXplIChHTChkbF9sb2FkX3dyaXRlX2xvY2spKTsKLSAgICAgICAvKiBSdW4gdGhlIGhhbmRsZXJzIHJlZ2lzdGVyZWQgZm9yIHRoZSBjaGlsZC4gICovCi0gICAgICAgX19ydW5fZm9ya19oYW5kbGVycyAoYXRmb3JrX3J1bl9jaGlsZCk7Ci0gICAgIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyNy1BY3F1aXJlLWxkLnNvLWxvY2stYmVmb3JlLXN3aXRjaGluZy10by1tYWxsb2NfYXRmb3JrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI3LUFjcXVpcmUtbGQuc28tbG9jay1iZWZvcmUtc3dpdGNoaW5nLXRvLW1hbGxvY19hdGZvcmsucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkMzdmMmMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI3LUFjcXVpcmUtbGQuc28tbG9jay1iZWZvcmUtc3dpdGNoaW5nLXRvLW1hbGxvY19hdGZvcmsucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1Gcm9tIDZlYTk2MmUwOTQ2ZGE3NTY0YTc3NGIwOGRkM2VkYTI4ZDY0ZTllNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAyNyBKYW4gMjAxOCAxMDowODowNCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBBY3F1aXJlIGxkLnNvIGxvY2sgYmVmb3JlIHN3aXRjaGluZyB0byBtYWxsb2NfYXRmb3JrCi0KLVRoZSBwYXRjaCBpcyBmcm9tCi0gIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQ1NzgKLQotSWYgYSB0aHJlYWQgaGFwcGVucyB0byBob2xkIGRsX2xvYWRfbG9jayBhbmQgaGF2ZSByX3N0YXRlIHNldCB0byBSVF9BREQgb3IKLVJUX0RFTEVURSBhdCB0aGUgdGltZSBhbm90aGVyIHRocmVhZCBjYWxscyBmb3JrKCksIHRoZW4gdGhlIGNoaWxkIGV4aXQgY29kZQotZnJvbSBmb3JrIChpbiBucHRsL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2ZvcmsuYyBpbiBvdXIgY2FzZSkgcmUtaW5pdGlhbGl6ZXMKLWRsX2xvYWRfbG9jayBidXQgZG9lcyBub3QgcmVzdG9yZSByX3N0YXRlIHRvIFJUX0NPTlNJU1RFTlQuIElmIHRoZSBjaGlsZAotc3Vic2VxdWVudGx5IHJlcXVpcmVzIGxkLnNvIGZ1bmN0aW9uYWxpdHkgYmVmb3JlIGNhbGxpbmcgZXhlYygpLCB0aGVuIHRoZQotYXNzZXJ0aW9uIHdpbGwgZmlyZS4KLQotVGhlIHBhdGNoIGFjcXVpcmVzIGRsX2xvYWRfbG9jayBvbiBlbnRyeSB0byBmb3JrKCkgYW5kIHJlbGVhc2VzIGl0IG9uIGV4aXQKLWZyb20gdGhlIHBhcmVudCBwYXRoLiAgVGhlIGNoaWxkIHBhdGggaXMgaW5pdGlhbGl6ZWQgYXMgY3VycmVudGx5IGRvbmUuCi1UaGlzIGlzIGVzc2VudGlhbGx5IHB0aHJlYWRzX2F0Zm9yaywgYnV0IGZvcmNlZCB0byBiZSBmaXJzdCBiZWNhdXNlIHRoZQotYWNxdWlzaXRpb24gb2YgZGxfbG9hZF9sb2NrIG11c3QgaGFwcGVuIGJlZm9yZSBtYWxsb2NfYXRmb3JrIGlzIGFjdGl2ZQotdG8gYXZvaWQgYSBkZWFkbG9jay4KLQotVGhlIHBhdGNoIGhhcyBub3QgeWV0IGJlZW4gaW50ZWdyYXRlZCB1cHN0cmVhbS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFsgTm90IEF1dGhvciBTZWUgYnVnemlsbGFdCi0KLVNpZ25lZC1vZmYtYnk6IFJhZ2h1bmF0aCBMb2x1ciA8UmFnaHVuYXRoLkxvbHVyQGtwaXQuY29tPgotU2lnbmVkLW9mZi1ieTogWXVhbmppZSBIdWFuZyA8eXVhbmppZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzeXNkZXBzL25wdGwvZm9yay5jIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9ucHRsL2ZvcmsuYyBiL3N5c2RlcHMvbnB0bC9mb3JrLmMKLWluZGV4IDBmNDg5MzNmZjEuLmVlZjNmOTY2OWIgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL25wdGwvZm9yay5jCi0rKysgYi9zeXNkZXBzL25wdGwvZm9yay5jCi1AQCAtMjUsNiArMjUsNyBAQAotICNpbmNsdWRlIDx0bHMuaD4KLSAjaW5jbHVkZSA8aHAtdGltaW5nLmg+Ci0gI2luY2x1ZGUgPGxkc29kZWZzLmg+Ci0rI2luY2x1ZGUgPGxpYmMtbG9jay5oPgotICNpbmNsdWRlIDxzdGRpby1sb2NrLmg+Ci0gI2luY2x1ZGUgPGF0b21pYy5oPgotICNpbmNsdWRlIDxucHRsL3B0aHJlYWRQLmg+Ci1AQCAtNTYsNiArNTcsOSBAQCBfX2xpYmNfZm9yayAodm9pZCkKLSAgIGJvb2wgbXVsdGlwbGVfdGhyZWFkcyA9IFRIUkVBRF9HRVRNRU0gKFRIUkVBRF9TRUxGLCBoZWFkZXIubXVsdGlwbGVfdGhyZWFkcyk7Ci0gCi0gICBfX3J1bl9mb3JrX2hhbmRsZXJzIChhdGZvcmtfcnVuX3ByZXBhcmUpOwotKyAgLyogZ3JhYiBsZC5zbyBsb2NrIEJFRk9SRSBzd2l0Y2hpbmcgdG8gbWFsbG9jX2F0Zm9yayAqLwotKyAgX19ydGxkX2xvY2tfbG9ja19yZWN1cnNpdmUgKEdMKGRsX2xvYWRfbG9jaykpOwotKyAgX19ydGxkX2xvY2tfbG9ja19yZWN1cnNpdmUgKEdMKGRsX2xvYWRfd3JpdGVfbG9jaykpOwotIAotICAgLyogSWYgd2UgYXJlIG5vdCBydW5uaW5nIG11bHRpcGxlIHRocmVhZHMsIHdlIGRvIG5vdCBoYXZlIHRvCi0gICAgICBwcmVzZXJ2ZSBsb2NrIHN0YXRlLiAgSWYgZm9yayBydW5zIGZyb20gYSBzaWduYWwgaGFuZGxlciwgb25seQotQEAgLTE1MCw2ICsxNTQsOSBAQCBfX2xpYmNfZm9yayAodm9pZCkKLSAKLSAgICAgICAvKiBSdW4gdGhlIGhhbmRsZXJzIHJlZ2lzdGVyZWQgZm9yIHRoZSBwYXJlbnQuICAqLwotICAgICAgIF9fcnVuX2ZvcmtfaGFuZGxlcnMgKGF0Zm9ya19ydW5fcGFyZW50KTsKLSsgICAgICAvKiB1bmxvY2sgbGQuc28gbGFzdCwgYmVjYXVzZSB3ZSBsb2NrZWQgaXQgZmlyc3QgKi8KLSsgICAgICBfX3J0bGRfbG9ja191bmxvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX3dyaXRlX2xvY2spKTsKLSsgICAgICBfX3J0bGRfbG9ja191bmxvY2tfcmVjdXJzaXZlIChHTChkbF9sb2FkX2xvY2spKTsKLSAgICAgfQotIAotICAgcmV0dXJuIHBpZDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOC1iaXRzLXNpZ2luZm8tY29uc3RzLmgtZW51bS1kZWZpbml0aW9uLWZvci1UUkFQX0hXQktQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhZThkMDAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBACi1Gcm9tIDM4ZmFkM2U1YWIzYjQ1YzU2ODEwYWJkMzVmYTExYTcyZmExMGI4ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBQcmF0eXVzaCBBbmFuZCA8cGFuYW5kQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIyIE1hciAyMDE3IDE3OjAyOjM4ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0hdIGJpdHMvc2lnaW5mby1jb25zdHMuaDogZW51bSBkZWZpbml0aW9uIGZvciBUUkFQX0hXQktQVCBpcwotIG1pc3NpbmcKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotQ29tcGlsZSBmb2xsb3dpbmcgbGludXgga2VybmVsIHRlc3QgY29kZSB3aXRoIGxhdGVzdCBnbGliYzoKLQotaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnJlYWtwb2ludHMvYnJlYWtwb2ludF90ZXN0X2FybTY0LmMKLQotYW5kIHdlIGdldCBmb2xsb3dpbmcgZXJyb3I6Ci1icmVha3BvaW50X3Rlc3RfYXJtNjQuYzogSW4gZnVuY3Rpb24g4oCYcnVuX3Rlc3TigJk6Ci1icmVha3BvaW50X3Rlc3RfYXJtNjQuYzoxNzE6MjU6IGVycm9yOiDigJhUUkFQX0hXQktQVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKLSAgaWYgKHNpZ2luZm8uc2lfY29kZSAhPSBUUkFQX0hXQktQVCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIF4KLUkgY2FuIGNvbXBpbGUgdGVzdCBjb2RlIGJ5IG1vZGlmeWluZyBteSBsb2NhbAotL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIGFuZCB0ZXN0IHdvcmtzIGdyZWF0LiBUaGVyZWZvcmUsIHRoaXMgcGF0Y2gKLXdpbGwgYmUgbmVlZGVkIGluIHVwc3RyZWFtIGdsaWJjIHNvIHRoYXQgaXNzdWUgaXMgZml4ZWQgdGhlcmUgYXMgd2VsbC4KLQotU2lnbmVkLW9mZi1ieTogUHJhdHl1c2ggQW5hbmQgPHBhbmFuZEByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjEyODZdCi0tLS0KLSBiaXRzL3NpZ2luZm8tY29uc3RzLmggICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKysrLQotIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby1jb25zdHMuaCB8IDYgKysrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYml0cy9zaWdpbmZvLWNvbnN0cy5oIGIvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi1pbmRleCA3NDY0YzE4ODJiLi4yOTgzMTQ1MjdhIDEwMDY0NAotLS0tIGEvYml0cy9zaWdpbmZvLWNvbnN0cy5oCi0rKysgYi9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLUBAIC0xMDYsOCArMTA2LDEyIEBAIGVudW0KLSB7Ci0gICBUUkFQX0JSS1BUID0gMSwJCS8qIFByb2Nlc3MgYnJlYWtwb2ludC4gICovCi0gIyAgZGVmaW5lIFRSQVBfQlJLUFQJVFJBUF9CUktQVAotLSAgVFJBUF9UUkFDRQkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0rICBUUkFQX1RSQUNFLAkJCS8qIFByb2Nlc3MgdHJhY2UgdHJhcC4gICovCi0gIyAgZGVmaW5lIFRSQVBfVFJBQ0UJVFJBUF9UUkFDRQotKyAgVFJBUF9CUkFOQ0gsCQkJLyogUHJvY2VzcyBicmFuY2ggdHJhcC4gKi8KLSsjIGRlZmluZSBUUkFQX0JSQU5DSAlUUkFQX0JSQU5DSAotKyAgVFJBUF9IV0JLUFQJCQkvKiBoYXJkd2FyZSBicmVha3BvaW50L3dhdGNocG9pbnQgICovCi0rIyBkZWZpbmUgVFJBUF9IV0JLUFQJVFJBUF9IV0JLUFQKLSB9OwotICMgZW5kaWYKLSAKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmggYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLWluZGV4IDE5M2JkOWM0NzEuLjNmZTg1MmJjNWYgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NpZ2luZm8tY29uc3RzLmgKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvc2lnaW5mby1jb25zdHMuaAotQEAgLTE0MSw4ICsxNDEsMTIgQEAgZW51bQotIHsKLSAgIFRSQVBfQlJLUFQgPSAxLAkJLyogUHJvY2VzcyBicmVha3BvaW50LiAgKi8KLSAjICBkZWZpbmUgVFJBUF9CUktQVAlUUkFQX0JSS1BUCi0tICBUUkFQX1RSQUNFCQkJLyogUHJvY2VzcyB0cmFjZSB0cmFwLiAgKi8KLSsgIFRSQVBfVFJBQ0UsCQkJLyogUHJvY2VzcyB0cmFjZSB0cmFwLiAgKi8KLSAjICBkZWZpbmUgVFJBUF9UUkFDRQlUUkFQX1RSQUNFCi0rICBUUkFQX0JSQU5DSCwJCQkvKiBQcm9jZXNzIGJyYW5jaCB0cmFwLiAqLwotKyMgZGVmaW5lIFRSQVBfQlJBTkNICVRSQVBfQlJBTkNICi0rICBUUkFQX0hXQktQVAkJCS8qIGhhcmR3YXJlIGJyZWFrcG9pbnQvd2F0Y2hwb2ludCAgKi8KLSsjIGRlZmluZSBUUkFQX0hXQktQVAlUUkFQX0hXQktQVAotIH07Ci0gIyBlbmRpZgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjgtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWIwMDZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI4LWludGwtRW1pdC1uby1saW5lcy1pbi1iaXNvbi1nZW5lcmF0ZWQtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSAzOWY5MTBhNGI4MTk1ZDA1Mzg0MjVhYWQ3ZjBlYmRjMjMyYjdhNTgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0NDowMCAtMDcwMAorU3ViamVjdDogW1BBVENIIDI4LzMwXSBpbnRsOiBFbWl0IG5vIGxpbmVzIGluIGJpc29uIGdlbmVyYXRlZCBmaWxlcworCitJbXByb3ZlIHJlcHJvZHVjaWJpbGl0eToKK0RvIG5vdCBwdXQgYW55ICNsaW5lIHByZXByb2Nlc3NvciBjb21tYW5kcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMuCitUaGVzZSBsaW5lcyBjb250YWluIGFic29sdXRlIHBhdGhzIGNvbnRhaW5pbmcgZmlsZSBsb2NhdGlvbnMgb24KK3RoZSBob3N0IGJ1aWxkIG1hY2hpbmUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGludGwvTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9pbnRsL01ha2VmaWxlIGIvaW50bC9NYWtlZmlsZQoraW5kZXggOWVlYThkNTdlMy4uNjI3ZGNlNGNmMSAxMDA2NDQKKy0tLSBhL2ludGwvTWFrZWZpbGUKKysrKyBiL2ludGwvTWFrZWZpbGUKK0BAIC0xNTUsNyArMTU1LDcgQEAgJChvYmpwZngpdHN0LWdldHRleHQ2Lm91dDogJChvYmpwZngpdHN0LWdldHRleHQub3V0CisgCisgQ1BQRkxBR1MgKz0gLUQnTE9DQUxFRElSPSIkKGxvY2FsZWRpcikiJyBcCisgCSAgICAtRCdMT0NBTEVfQUxJQVNfUEFUSD0iJChsb2NhbGVkaXIpIicKKy1CSVNPTkZMQUdTID0gLS15YWNjIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0CisrQklTT05GTEFHUyA9IC0teWFjYyAtLW5vLWxpbmVzIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0CisgCisgJChpbnN0X2xvY2FsZWRpcikvbG9jYWxlLmFsaWFzOiBsb2NhbGUuYWxpYXMgJCgrZm9yY2UpCisgCSQoZG8taW5zdGFsbCkKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDI5LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg3NGZiNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoCkBAIC0wLDAgKzEsMzA0IEBACitGcm9tIDY0OWJmYjM5OTI2NWViNDhhOWZlOGRiMWMyYjVhMzE2MzNjNTUxNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxNzoyOTozNSAtMDgwMAorU3ViamVjdDogW1BBVENIIDI5LzMwXSBpbmplY3QgZmlsZSBhc3NlbWJseSBkaXJlY3RpdmVzCisKK0N1cnJlbnRseSwgbm9uLUlBIGJ1aWxkcyBhcmUgbm90IHJlcHJvZHVjaWJpbGUgc2luY2UgYnVpbGQgcGF0aHMgYXJlCitiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBkZWJ1ZyBzeW1ib2xzLiBUaGVzZSBhcmUgY29taW5nIGZyb20gdGhlIHVzZSBvZgorLlMgYXNzZW1ibGVyIGZpbGVzIGR1cmluZyB0aGUgZ2xpYmMgYnVpbGQuIE5vIFNUVF9GSUxFIHNlY3Rpb24gaXMgYWRkZWQKK2R1cmluZyB0aGUgYXNzZW1ibHkgYnV0IHdoZW4gbGlua2luZywgbGQgZGVjaWRlcyB0byBhZGQgb25lIHRvIGFpZAorZGVidWdnaW5nIGFuZCBlbnN1cmUgcmVmZXJlbmNlcyBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgb2JqZWN0IGZpbGVzIGl0cworbGlua2luZyByZW1haW4gY2xlYXIuCisKK1dlIGNhbiBhdm9pZCB0aGlzIGJ5IGluamVjdGluZyBhIGZpbGUgaGVhZGVyIGludG8gdGhlIGFzc2VtYmxlciBmaWxlcworYWhlYWQgb2YgdGltZSwgY2hvb3NpbmcgYSBmaWxlbmFtZSB3aGljaCBkb2VzIG5vdCBjb250YWluIGJ1aWxkIHN5c3RlbQorcGF0aHMuCisKK1RoaXMgaXMgYSBiaXQgb2YgYSB3b3JrYXJvdW5kL2hhY2sgYnV0IGRvZXMgc2lnbmlmaWNhbnRseSByZWR1Y2UgdGhlCitidWlsZCBzeXN0ZW0gcmVmZXJlbmNlcyBpbiB0YXJnZXQgYmluYXJpZXMgZm9yIHRoZSBub24tSUEgYXJjaGl0ZWN0dXJlcword2hpY2ggdXNlIC5TIGZpbGVzLgorCitSUAorMjAxOC8xMC8zCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgY3N1L2FiaS1ub3RlLlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYWFyY2g2NC9jcnRpLlMgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvY3J0bi5TICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUyAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FhcmNoNjQvc3RhcnQuUyAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vYWJpLW5vdGUuUyAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2NydGkuUyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9jcnRuLlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUyAgICAgICAgICAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL2FybS9zdGFydC5TICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9taXBzL3N0YXJ0LlMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUyAgICAgICAgICB8IDIgKysKKyBzeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMgICAgICAgICAgICAgfCAyICsrCisgc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TICAgICAgICAgICAgIHwgMiArKworIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMgICB8IDIgKysKKyBzeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TICAgfCAyICsrCisgc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TIHwgMiArKworIHN5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMgICAgICB8IDIgKysKKyAyMCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jc3UvYWJpLW5vdGUuUyBiL2NzdS9hYmktbm90ZS5TCitpbmRleCBmYTFmMDE0YTg4Li4wOTg3MzEzNjJhIDEwMDY0NAorLS0tIGEvY3N1L2FiaS1ub3RlLlMKKysrKyBiL2NzdS9hYmktbm90ZS5TCitAQCAtNTYsNiArNTYsOCBAQCBvZmZzZXQJbGVuZ3RoCWNvbnRlbnRzCisgI2luY2x1ZGUgPGNvbmZpZy5oPgorICNpbmNsdWRlIDxhYmktdGFnLmg+CQkvKiBPUy1zcGVjaWZpYyBBQkkgdGFnIHZhbHVlICovCisgCisrCS5maWxlICJhYmktbm90ZS5TIgorKworIC8qIFRoZSBsaW5rZXIgKEdOVSBsZCAyLjggYW5kIGxhdGVyKSByZWNvZ25pemVzIGFuIGFsbG9jYXRlZCBzZWN0aW9uIHdob3NlCisgICAgbmFtZSBiZWdpbnMgd2l0aCBgLm5vdGUnIGFuZCBjcmVhdGVzIGEgUFRfTk9URSBwcm9ncmFtIGhlYWRlciBlbnRyeQorICAgIHBvaW50aW5nIGF0IGl0LiAqLworZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMgYi9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCitpbmRleCBkNGU3ZGZjZjVjLi5lMDIxOGRmMzBjIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2NydGkuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2NydGkuUworQEAgLTUwLDYgKzUwLDggQEAKKyAjIGRlZmluZSBQUkVJTklUX0ZVTkNUSU9OX1dFQUsgMQorICNlbmRpZgorIAorKyAgICAuZmlsZSAiY3J0aS5TIgorKworICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKKyAJd2Vha19leHRlcm4gKFBSRUlOSVRfRlVOQ1RJT04pCisgI2Vsc2UKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TIGIvc3lzZGVwcy9hYXJjaDY0L2NydG4uUworaW5kZXggMzYzZjc1MjQ2MC4uMmZiMDZmYmE2MiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMKK0BAIC0zNyw2ICszNyw4IEBACisgLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLworIAorKwkuZmlsZSAiY3J0bi5TIgorKworIAkuc2VjdGlvbiAuaW5pdCwiYXgiLCVwcm9nYml0cworIAlsZHAJeDI5LCB4MzAsIFtzcF0sIDE2CisgCVJFVAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TCitpbmRleCA0YWJlNmI4MmEzLi44YzQ0YjJmZjhhIDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUworQEAgLTIyLDYgKzIyLDggQEAKKyAjaW5jbHVkZSA8dGxzLmg+CisgI2luY2x1ZGUgInRsc2Rlc2MuaCIKKyAKKysJLmZpbGUgImRsLXRsc2Rlc2MuUyIKKysKKyAjZGVmaW5lIE5TQVZFRFFSRUdQQUlSUwkxNgorICNkZWZpbmUgU0FWRV9RX1JFR0lTVEVSUwkJCQlcCisgCXN0cAlxMCwgcTEsCVtzcCwgIy0zMipOU0FWRURRUkVHUEFJUlNdITsJXAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TCitpbmRleCAxOWIxMTdlOGY5Li4zOGM3OGI1NDA5IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUworKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUworQEAgLTIxLDYgKzIxLDggQEAKKyAKKyAjaW5jbHVkZSAiZGwtbGluay5oIgorIAorKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgorKworICNkZWZpbmUgaXAwIHgxNgorICNkZWZpbmUgaXAwbCBQVFJfUkVHICgxNikKKyAjZGVmaW5lIGlwMSB4MTcKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUyBiL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCitpbmRleCBmNWU5YjljMjIzLi5hZTNlMjJhNmE1IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCitAQCAtMTgsNiArMTgsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogVGhpcyBpcyB0aGUgY2Fub25pY2FsIGVudHJ5IHBvaW50LCB1c3VhbGx5IHRoZSBmaXJzdCB0aGluZyBpbiB0aGUgdGV4dAorICAgIHNlZ21lbnQuCisgCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUyBiL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKK2luZGV4IDA3YmQ0YzQ2MTkuLjcyMTNiMTZmMjcgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9hYmktbm90ZS5TCisrKysgYi9zeXNkZXBzL2FybS9hYmktbm90ZS5TCitAQCAtMSwzICsxLDUgQEAKKysJLmZpbGUgImFiaS1ub3RlLlMiCisrCisgLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQorICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KKyAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vY3J0aS5TIGIvc3lzZGVwcy9hcm0vY3J0aS5TCitpbmRleCAyNmRiYmE2NmEzLi5kZDg0ZWNkNTY2IDEwMDY0NAorLS0tIGEvc3lzZGVwcy9hcm0vY3J0aS5TCisrKysgYi9zeXNkZXBzL2FybS9jcnRpLlMKK0BAIC01Nyw2ICs1Nyw4IEBACisgCS5oaWRkZW4gUFJFSU5JVF9GVU5DVElPTgorICNlbmRpZgorIAorKyAgICAuZmlsZSAiY3J0aS5TIgorKworICNpZiBQUkVJTklUX0ZVTkNUSU9OX1dFQUsKKyAJLnAyYWxpZ24gMgorIAkudHlwZSBjYWxsX3dlYWtfZm4sICVmdW5jdGlvbgorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2NydG4uUyBiL3N5c2RlcHMvYXJtL2NydG4uUworaW5kZXggOGY5MWM4ZDg4Yi4uYTg3ZmU0OWUwNyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL2NydG4uUworKysrIGIvc3lzZGVwcy9hcm0vY3J0bi5TCitAQCAtMzcsNiArMzcsOCBAQAorICNkZWZpbmUgTk9fVEhVTUIKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrICAgIC5maWxlICJjcnRuLlMiCisrCisgLyogY3J0bi5TIHB1dHMgZnVuY3Rpb24gZXBpbG9ndWVzIGluIHRoZSAuaW5pdCBhbmQgLmZpbmkgc2VjdGlvbnMKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBwcm9sb2d1ZXMgaW4gY3J0aS5TLiAqLworIAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUyBiL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUworaW5kZXggYTkyOTM0MGI0Mi4uYjcyNGM5Nzc2ZCAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL2RsLXRsc2Rlc2MuUworKysrIGIvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCitAQCAtMjEsNiArMjEsOCBAQAorICNpbmNsdWRlIDx0bHMuaD4KKyAjaW5jbHVkZSAidGxzZGVzYy5oIgorIAorKwkuZmlsZSAiZGwtdGxzZGVzYy5TIgorKworIAkudGV4dAorIAlAIGVtaXQgZGVidWcgaW5mb3JtYXRpb24gd2l0aCBjZmkKKyAJQCB1c2UgYXJtLXNwZWNpZmljIHBzZXVkb3MgZm9yIHVud2luZGluZyBpdHNlbGYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKK2luZGV4IDMyNWNmY2QyY2UuLjRiZmRjYmNlNTEgMTAwNjQ0CistLS0gYS9zeXNkZXBzL2FybS9kbC10cmFtcG9saW5lLlMKKysrKyBiL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUworQEAgLTIxLDYgKzIxLDggQEAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgI2luY2x1ZGUgPGxpYmMtc3ltYm9scy5oPgorIAorKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgorKworIAkudGV4dAorIAkuZ2xvYmwgX2RsX3J1bnRpbWVfcmVzb2x2ZQorIAkudHlwZSBfZGxfcnVudGltZV9yZXNvbHZlLCAjZnVuY3Rpb24KK2RpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9zdGFydC5TIGIvc3lzZGVwcy9hcm0vc3RhcnQuUworaW5kZXggYTA1ZjhhNDY1MS4uMmY0Mzc0ZmNhYSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvYXJtL3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvYXJtL3N0YXJ0LlMKK0BAIC01Nyw2ICs1Nyw4IEBACisgCQkJCQlOVUxMCisgKi8KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogVGFnX0FCSV9hbGlnbjhfcHJlc2VydmVkOiBUaGlzIGNvZGUgcHJlc2VydmVzIDgtYnl0ZQorICAgIGFsaWdubWVudCBpbiBhbnkgY2FsbGVlLiAgKi8KKyAJLmVhYmlfYXR0cmlidXRlIDI1LCAxCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy9taXBzL3N0YXJ0LlMgYi9zeXNkZXBzL21pcHMvc3RhcnQuUworaW5kZXggODYzOGU1YjU0NS4uOTNmNjU2NGFlYyAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvbWlwcy9zdGFydC5TCisrKysgYi9zeXNkZXBzL21pcHMvc3RhcnQuUworQEAgLTM4LDYgKzM4LDggQEAKKyAjaW5jbHVkZSA8c2dpZGVmcy5oPgorICNpbmNsdWRlIDxzeXMvYXNtLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworICNpZm5kZWYgRU5UUllfUE9JTlQKKyAjZXJyb3IgRU5UUllfUE9JTlQgbmVlZHMgdG8gYmUgZGVmaW5lZCBmb3Igc3RhcnQuUyBvbiBNSVBTL0VMRi4KKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKK2luZGV4IDk5YTEwZDY0M2EuLmU0N2ZjMGQyNDUgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL2RsLXN0YXJ0LlMKKysrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUworQEAgLTE4LDYgKzE4LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJkbC1zdGFydC5TIgorKworIC8qIEluaXRpYWwgZW50cnkgcG9pbnQgY29kZSBmb3IgdGhlIGR5bmFtaWMgbGlua2VyLgorICAgIFRoZSBDIGZ1bmN0aW9uIGBfZGxfc3RhcnQnIGlzIHRoZSByZWFsIGVudHJ5IHBvaW50OworICAgIGl0cyByZXR1cm4gdmFsdWUgaXMgdGhlIHVzZXIgcHJvZ3JhbSdzIGVudHJ5IHBvaW50LgkqLworZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUworaW5kZXggMTcyZmI1YTU2Yi4uZWYxNDcxYjg2MSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUworKysrIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9zdGFydC5TCitAQCAtMzUsNiArMzUsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgInN0YXJ0LlMiCisrCisgLyogV2UgZG8gbm90IHdhbnQgLmVoX2ZyYW1lIGluZm8gZm9yIGNydDEubyBzaW5jZSBjcnQxLm8gaXMgbGlua2VkCisgICAgYmVmb3JlIGNydGJlZ2luLm8sIHRoZSBmaWxlIGRlZmluaW5nIF9fRUhfRlJBTUVfQkVHSU5fXy4gICovCisgI3VuZGVmIGNmaV9zdGFydHByb2MKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKK2luZGV4IDU1ZmFlNjhhZDYuLjBjYjYwOGZlMGYgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKKysrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjNjQvc3RhcnQuUworQEAgLTM1LDYgKzM1LDggQEAKKyAKKyAjaW5jbHVkZSA8c3lzZGVwLmg+CisgCisrCS5maWxlICJzdGFydC5TIgorKworIC8qIFdlIGRvIG5vdCB3YW50IC5laF9mcmFtZSBpbmZvIGZvciBjcnQxLm8gc2luY2UgY3J0MS5vIGlzIGxpbmtlZAorICAgIGJlZm9yZSBjcnRiZWdpbi5vLCB0aGUgZmlsZSBkZWZpbmluZyBfX0VIX0ZSQU1FX0JFR0lOX18uICAqLworICN1bmRlZiBjZmlfc3RhcnRwcm9jCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMKK2luZGV4IDMwYTI5YjlmYjAuLjA3ODkyYjM4M2YgMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCitAQCAtMTgsNiArMTgsOCBAQAorIAorICNpbmNsdWRlIDxzeXNkZXAuaD4KKyAKKysJLmZpbGUgIl9fcmVhZF90cC5TIgorKworIAkuaGlkZGVuIF9fcmVhZF90cAorIEVOVFJZIChfX3JlYWRfdHApCisgCW1ycwl4MCwgdHBpZHJfZWwwCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKK2luZGV4IGY2NGM0ZmZlOGEuLjJkYTMxNWFiMDggMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TCitAQCAtMzksNiArMzksOCBAQAorICAgIGEgbm9ybWFsIGZ1bmN0aW9uIGNhbGwpIGluIGEgaGlnaCBwYWdlIG9mIG1lbW9yeTsgdGFpbCBjYWxsIHRvIHRoZQorICAgIGhlbHBlci4gICovCisgCisrCS5maWxlICJhZWFiaV9yZWFkX3RwLlMiCisrCisgCS5oaWRkZW4gX19hZWFiaV9yZWFkX3RwCisgRU5UUlkgKF9fYWVhYmlfcmVhZF90cCkKKyAjaWZkZWYgQVJDSF9IQVNfSEFSRF9UUAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUworaW5kZXggMGI2MjM3YWM1NS4uOGNkYTQ5MWMyOCAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9saWJjLWRvLXN5c2NhbGwuUworKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCitAQCAtMjcsNiArMjcsOCBAQAorICAgIEFSTSB1bndpbmQgdGFibGVzIGZvciByZWdpc3RlciB0byByZWdpc3RlciBtb3ZlcywgdGhlIGFjdHVhbCBvcGNvZGVzCisgICAgYXJlIG5vdCBkZWZpbmVkLiAgKi8KKyAKKysgICAgICAuZmlsZSAibGliYy1kby1zeXNjYWxsLlMiCisrCisgI2lmIGRlZmluZWQoX190aHVtYl9fKQorIAkudGh1bWIKKyAJLnN5bnRheCB1bmlmaWVkCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKK2luZGV4IGVlYjk2NTQ0ZTMuLmRhMTgyYjI4ZjggMTAwNjQ0CistLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TCitAQCAtMSArMSwzIEBACisrCS5maWxlICJkbC1icmsuUyIKKysKKyAjaW5jbHVkZSA8YnJrLlM+CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMjktbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTdmNmFhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODkgKzAsMCBAQAotRnJvbSA4NjU2NTFkMjQ5NmE5MGY3YWU4ZTdjYzE5YTJlNTRiNmYxN2E4YWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0MjowNiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBsb2NhbGVkZWYgLS1hZGQtdG8tYXJjaGl2ZSB1c2VzIGEgaGFyZC1jb2RlZCBsb2NhbGUgcGF0aAotCi1pdCBkb2Vzbid0IGV4aXN0IGluIG5vcm1hbCB1c2UsIGFuZCB0aGVyZSdzIG5vIHdheSB0byBwYXNzIGFuCi1hbHRlcm5hdGl2ZSBmaWxlbmFtZS4KLQotQWRkIGEgZmFsbGJhY2sgb2YgJExPQ0FMRUFSQ0hJVkUgZnJvbSB0aGUgZW52aXJvbm1lbnQsIGFuZCBhbGxvdwotY3JlYXRpb24gb2YgbmV3IGxvY2FsZSBhcmNoaXZlcyB0aGF0IGFyZSBub3QgdGhlIHN5c3RlbSBhcmNoaXZlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKE9FLXNwZWNpZmljKQotCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9sb2NhbGUvcHJvZ3JhbXMvbG9jYXJjaGl2ZS5jIGIvbG9jYWxlL3Byb2dyYW1zL2xvY2FyY2hpdmUuYwotaW5kZXggY2EzMzJhMzQ1Zi4uOTFmNjJkYTY2MiAxMDA2NDQKLS0tLSBhL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKLSsrKyBiL2xvY2FsZS9wcm9ncmFtcy9sb2NhcmNoaXZlLmMKLUBAIC0zNDAsMTIgKzM0MCwyNCBAQCBlbmxhcmdlX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGNvbnN0IHN0cnVjdCBsb2NhcmhlYWQgKmhlYWQpCi0gICBzdHJ1Y3QgbmFtZWhhc2hlbnQgKm9sZG5hbWVoYXNodGFiOwotICAgc3RydWN0IGxvY2FyaGFuZGxlIG5ld19haDsKLSAgIHNpemVfdCBwcmVmaXhfbGVuID0gb3V0cHV0X3ByZWZpeCA/IHN0cmxlbiAob3V0cHV0X3ByZWZpeCkgOiAwOwotLSAgY2hhciBhcmNoaXZlZm5hbWVbcHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKV07Ci0tICBjaGFyIGZuYW1lW3ByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxXTsKLSsgIGNoYXIgKmFyY2hpdmVmbmFtZTsKLSsgIGNoYXIgKmZuYW1lOwotKyAgY2hhciAqZW52YXJjaGl2ZSA9IGdldGVudigiTE9DQUxFQVJDSElWRSIpOwotIAotLSAgaWYgKG91dHB1dF9wcmVmaXgpCi0tICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKLS0gIHN0cmNweSAoYXJjaGl2ZWZuYW1lICsgcHJlZml4X2xlbiwgQVJDSElWRV9OQU1FKTsKLSsgIGlmIChlbnZhcmNoaXZlICE9IE5VTEwpIAotKyAgICB7Ci0rICAgICAgYXJjaGl2ZWZuYW1lID0geG1hbGxvYyhzdHJsZW4oZW52YXJjaGl2ZSkgKyAxKTsKLSsgICAgICBmbmFtZSA9IHhtYWxsb2Moc3RybGVuKGVudmFyY2hpdmUpICsgc2l6ZW9mICgiLlhYWFhYWCIpKTsKLSsgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSwgZW52YXJjaGl2ZSk7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAgIGFyY2hpdmVmbmFtZSA9IHhtYWxsb2MocHJlZml4X2xlbiArIHNpemVvZiAoQVJDSElWRV9OQU1FKSk7Ci0rICAgICAgZm5hbWUgPSB4bWFsbG9jKHByZWZpeF9sZW4gKyBzaXplb2YgKEFSQ0hJVkVfTkFNRSkgKyBzaXplb2YgKCIuWFhYWFhYIikgLSAxKTsKLSsgICAgICBpZiAob3V0cHV0X3ByZWZpeCkKLSsgICAgICAgIG1lbWNweSAoYXJjaGl2ZWZuYW1lLCBvdXRwdXRfcHJlZml4LCBwcmVmaXhfbGVuKTsKLSsgICAgICBzdHJjcHkgKGFyY2hpdmVmbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7Ci0rICAgIH0KLSAgIHN0cmNweSAoc3RwY3B5IChmbmFtZSwgYXJjaGl2ZWZuYW1lKSwgIi5YWFhYWFgiKTsKLSAKLSAgIC8qIE5vdCBhbGwgb2YgdGhlIG9sZCBmaWxlIGhhcyB0byBiZSBtYXBwZWQuICBDaGFuZ2UgdGhpcyBub3cgdGhpcwotQEAgLTU1MSw2ICs1NjMsOCBAQCBlbmxhcmdlX2FyY2hpdmUgKHN0cnVjdCBsb2NhcmhhbmRsZSAqYWgsIGNvbnN0IHN0cnVjdCBsb2NhcmhlYWQgKmhlYWQpCi0gCi0gICAvKiBBZGQgdGhlIGluZm9ybWF0aW9uIGZvciB0aGUgbmV3IG9uZS4gICovCi0gICAqYWggPSBuZXdfYWg7Ci0rICBmcmVlKGFyY2hpdmVmbmFtZSk7Ci0rICBmcmVlKGZuYW1lKTsKLSB9Ci0gCi0gCi1AQCAtNTY5LDEwICs1ODMsMTMgQEAgb3Blbl9hcmNoaXZlIChzdHJ1Y3QgbG9jYXJoYW5kbGUgKmFoLCBib29sIHJlYWRvbmx5KQotICAgLyogSWYgYWggaGFzIGEgbm9uLU5VTEwgZm5hbWUgb3BlbiB0aGF0IG90aGVyd2lzZSBvcGVuIHRoZSBkZWZhdWx0LiAgKi8KLSAgIGlmIChhcmNoaXZlZm5hbWUgPT0gTlVMTCkKLSAgICAgewotLSAgICAgIGFyY2hpdmVmbmFtZSA9IGRlZmF1bHRfZm5hbWU7Ci0tICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCi0tICAgICAgICBtZW1jcHkgKGRlZmF1bHRfZm5hbWUsIG91dHB1dF9wcmVmaXgsIHByZWZpeF9sZW4pOwotLSAgICAgIHN0cmNweSAoZGVmYXVsdF9mbmFtZSArIHByZWZpeF9sZW4sIEFSQ0hJVkVfTkFNRSk7Ci0rICAgICAgYXJjaGl2ZWZuYW1lID0gZ2V0ZW52KCJMT0NBTEVBUkNISVZFIik7Ci0rICAgICAgaWYgKGFyY2hpdmVmbmFtZSA9PSBOVUxMKSB7Ci0rICAgICAgICAgICAgICBhcmNoaXZlZm5hbWUgPSBkZWZhdWx0X2ZuYW1lOwotKyAgICAgICAgICAgICAgaWYgKG91dHB1dF9wcmVmaXgpCi0rICAgICAgICAgICAgICAgIG1lbWNweSAoZGVmYXVsdF9mbmFtZSwgb3V0cHV0X3ByZWZpeCwgcHJlZml4X2xlbik7Ci0rICAgICAgICAgICAgICBzdHJjcHkgKGRlZmF1bHRfZm5hbWUgKyBwcmVmaXhfbGVuLCBBUkNISVZFX05BTUUpOwotKyAgICAgIH0KLSAgICAgfQotIAotICAgd2hpbGUgKDEpCi1AQCAtNTg1LDcgKzYwMiw3IEBAIG9wZW5fYXJjaGl2ZSAoc3RydWN0IGxvY2FyaGFuZGxlICphaCwgYm9vbCByZWFkb25seSkKLSAJICAgICB0aGUgZGVmYXVsdCBsb2NhbGUgYXJjaGl2ZSB3ZSBpZ25vcmUgdGhlIGZhaWx1cmUgYW5kCi0gCSAgICAgbGlzdCBhbiBlbXB0eSBhcmNoaXZlLCBvdGhlcndpc2Ugd2UgcHJpbnQgYW4gZXJyb3IKLSAJICAgICBhbmQgZXhpdC4gICovCi0tCSAgaWYgKGVycm5vID09IEVOT0VOVCAmJiBhcmNoaXZlZm5hbWUgPT0gZGVmYXVsdF9mbmFtZSkKLSsJICBpZiAoZXJybm8gPT0gRU5PRU5UKQotIAkgICAgewotIAkgICAgICBpZiAocmVhZG9ubHkpCi0gCQl7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjk3ZDkxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBhNTRjMTVkMDU2N2Q1NDcxMzcwNjZmNDFiMWIyMmViYTQ4NzVjMjdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBBdWcgMjAxOCAwOTo0NDowMCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBpbnRsOiBFbWl0IG5vIGxpbmVzIGluIGJpc29uIGdlbmVyYXRlZCBmaWxlcwotCi1JbXByb3ZlIHJlcHJvZHVjaWJpbGl0eToKLURvIG5vdCBwdXQgYW55ICNsaW5lIHByZXByb2Nlc3NvciBjb21tYW5kcyBpbiBiaXNvbiBnZW5lcmF0ZWQgZmlsZXMuCi1UaGVzZSBsaW5lcyBjb250YWluIGFic29sdXRlIHBhdGhzIGNvbnRhaW5pbmcgZmlsZSBsb2NhdGlvbnMgb24KLXRoZSBob3N0IGJ1aWxkIG1hY2hpbmUuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGludGwvTWFrZWZpbGUgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbnRsL01ha2VmaWxlIGIvaW50bC9NYWtlZmlsZQotaW5kZXggNjcyZWRmMWIzOC4uZDMxODg4ZDAxMyAxMDA2NDQKLS0tLSBhL2ludGwvTWFrZWZpbGUKLSsrKyBiL2ludGwvTWFrZWZpbGUKLUBAIC0xNTUsNyArMTU1LDcgQEAgJChvYmpwZngpdHN0LWdldHRleHQ2Lm91dDogJChvYmpwZngpdHN0LWdldHRleHQub3V0Ci0gCi0gQ1BQRkxBR1MgKz0gLUQnTE9DQUxFRElSPSIkKGxvY2FsZWRpcikiJyBcCi0gCSAgICAtRCdMT0NBTEVfQUxJQVNfUEFUSD0iJChsb2NhbGVkaXIpIicKLS1CSVNPTkZMQUdTID0gLS15YWNjIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0Ci0rQklTT05GTEFHUyA9IC0teWFjYyAtLW5vLWxpbmVzIC0tbmFtZS1wcmVmaXg9X19nZXR0ZXh0IC0tb3V0cHV0Ci0gCi0gJChpbnN0X2xvY2FsZWRpcikvbG9jYWxlLmFsaWFzOiBsb2NhbGUuYWxpYXMgJCgrZm9yY2UpCi0gCSQoZG8taW5zdGFsbCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMwLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRjMjQyNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMC1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNmRkYWI5Yzg2OTJlNmE3NzdjMmUyZTdhNmNhMjZhNjVkZjdkMmM1ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8bWFydGluLmphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTcgRGVjIDIwMTggMjE6MzY6MTggKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAzMC8zMF0gbG9jYWxlOiBwcmV2ZW50IG1heWJlLXVuaW5pdGlhbGl6ZWQgZXJyb3JzIHdpdGggLU9zIFtCWgorICMxOTQ0NF0KKworRml4ZXMgZm9sbG93aW5nIGVycm9yIHdoZW4gYnVpbGRpbmcgZm9yIGFhcmNoNjQgd2l0aCAtT3M6Cit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBzdHJjb2xsX2wuYzo0MzoKK3wgc3RyY29sbF9sLmM6IEluIGZ1bmN0aW9uICdfX3N0cmNvbGxfbCc6Cit8IC4uL2xvY2FsZS93ZWlnaHQuaDozMToyNjogZXJyb3I6ICdzZXEyLmJhY2tfdXMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCAgICBpbnRfZmFzdDMyX3QgaSA9IHRhYmxlWyooKmNwcCkrK107Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cit8IHN0cmNvbGxfbC5jOjMwNDoxODogbm90ZTogJ3NlcTIuYmFja191cycgd2FzIGRlY2xhcmVkIGhlcmUKK3wgICAgY29sbF9zZXEgc2VxMSwgc2VxMjsKK3wgICAgICAgICAgICAgICAgICAgXn5+fgorfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3RyY29sbF9sLmM6NDM6Cit8IC4uL2xvY2FsZS93ZWlnaHQuaDozMToyNjogZXJyb3I6ICdzZXExLmJhY2tfdXMnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCAgICBpbnRfZmFzdDMyX3QgaSA9IHRhYmxlWyooKmNwcCkrK107Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+Cit8IHN0cmNvbGxfbC5jOjMwNDoxMjogbm90ZTogJ3NlcTEuYmFja191cycgd2FzIGRlY2xhcmVkIGhlcmUKK3wgICAgY29sbF9zZXEgc2VxMSwgc2VxMjsKK3wgICAgICAgICAgICAgXn5+fgorCisgICAgICAgIFBhcnRpYWwgZml4IGZvciBbQlogIzE5NDQ0XQorICAgICAgICAqIGxvY2FsZS93ZWlnaHQuaDogRml4IGJ1aWxkIHdpdGggLU9zLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC8xMDE0NzY2XQorCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbG9jYWxlL3dlaWdodC5oIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbG9jYWxlL3dlaWdodC5oIGIvbG9jYWxlL3dlaWdodC5oCitpbmRleCA3Y2E4MTQ5OGIyLi5kNjA4Y2E3MGJiIDEwMDY0NAorLS0tIGEvbG9jYWxlL3dlaWdodC5oCisrKysgYi9sb2NhbGUvd2VpZ2h0LmgKK0BAIC0yOCw3ICsyOCwxNCBAQCBmaW5kaWR4IChjb25zdCBpbnQzMl90ICp0YWJsZSwKKyAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV4dHJhLAorIAkgY29uc3QgdW5zaWduZWQgY2hhciAqKmNwcCwgc2l6ZV90IGxlbikKKyB7CisrICAvKiBXaXRoIEdDQyA4IHdoZW4gY29tcGlsaW5nIHdpdGggLU9zIHRoZSBjb21waWxlciB3YXJucyB0aGF0CisrICAgICBzZXExLmJhY2tfdXMgYW5kIHNlcTIuYmFja191cyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCisrICAgICBUaGlzIHVuaW5pdGlhbGl6ZWQgdXNlIGlzIGltcG9zc2libGUgZm9yIHRoZSBzYW1lIHJlYXNvbgorKyAgICAgYXMgZGVzY3JpYmVkIGluIGNvbW1lbnRzIGluIGxvY2FsZS93ZWlnaHR3Yy5oLiAgKi8KKysgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOworKyAgRElBR19JR05PUkVfT3NfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOworICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOworKyAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKKyAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwOworICAgY29uc3QgdW5zaWduZWQgY2hhciAqdXNyYzsKKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMS1zeXNkZXBzLWllZWU3NTQtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxZjU1ZDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotRnJvbSA1NDZiNDZjMzA5YTUyZWQ3NGRjOTA2MTE0YjFlOTg0YmI5NzAzZDc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNCBTZXAgMjAxOCAyMzoyMzowMyArMDAwMAotU3ViamVjdDogW1BBVENIXSBzeXNkZXBzL2llZWU3NTQ6IHByZXZlbnQgbWF5YmUtdW5pbml0aWFsaXplZCBlcnJvcnMgd2l0aCAtTwotIFtCWiAjMTk0NDRdCi0KLVdpdGggLU8gaW5jbHVkZWQgaW4gQ0ZMQUdTIGl0IGZhaWxzIHRvIGJ1aWxkIHdpdGg6Ci0KLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfam5sJzoKLS4uL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmM6MTQ2OjIwOiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICAgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0gICAgICAgICAgfn5+fn5+fn5+fl5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogSW4gZnVuY3Rpb24gJ19faWVlZTc1NF95bmwnOgotLi4vc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzozNzU6MTY6IGVycm9yOiAndGVtcCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotICAgICAgfn5+fn5+fn5+fl5+fn5+fgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6IEluIGZ1bmN0aW9uICdfX2llZWU3NTRfam4nOgotLi4vc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmM6MTEzOjIwOiBlcnJvcjogJ3RlbXAnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQotICAgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0ICh4KTsKLSAgICAgICAgICB+fn5+fn5+fn5+Xn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzogSW4gZnVuY3Rpb24gJ19faWVlZTc1NF95bic6Ci0uLi9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYzozMjA6MTY6IGVycm9yOiAndGVtcCcgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdCi0gIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydCAoeCk7Ci0gICAgICB+fn5+fn5+fn5+Xn5+fn5+Ci0KLUJ1aWxkIHRlc3RlZCB3aXRoIFlvY3RvIGZvciBBUk0sIEFBUkNINjQsIFg4NiwgWDg2XzY0LCBQUEMsIE1JUFMsIE1JUFM2NAotd2l0aCAtTywgLU8xLCAtT3MuCi1Gb3Igc29mdC1mcCBBUk0gaXQgbmVlZHMgb25lIG1vcmUgZml4IGZvciAtTzE6Ci1odHRwczovL3NvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDMwMC5odG1sCi1Gb3IgQUFSQ0g2NCBpdCBuZWVkcyBvbmUgbW9yZSBmaXggaW4gbG9jYWxlIGZvciAtT3MuCi0KLSAgICAgICAgW0JaICMyMzcxNl0KLSAgICAgICAgKiBzeXNkZXBzL2llZWU3NTQvZGJsLTk2L2Vfam5sLmM6IEZpeCBidWlsZCB3aXRoIC1PCi0gICAgICAgICogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogTGlrZXdpc2UuCi0gICAgICAgICogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmM6IExpa2V3aXNlLgotICAgICAgICAqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jOiBMaWtld2lzZS4KLQotV29yayBhcm91bmQgdGhlIGlzc3VlIGluc3RlYWQgb2YgcmVtb3ZpbmcgLU8gbGlrZSB3ZSBkbyB3aXRoCi1TRUxFQ1RFRF9PUFRJTUlaQVRJT04KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDI5OS5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrKysKLSBzeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYyAgICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwotIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCi0gc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBzeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jICAgICB8IDIxICsrKysrKysrKysrKysrKysrKysrKwotIDUgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCi1pbmRleCAxMWE5YjhkOThlLi45MjJlOTE2ZjJjIDEwMDY0NAotLS0tIGEvQ2hhbmdlTG9nCi0rKysgYi9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMTAgQEAKLSsyMDE4LTA5LTI5ICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBzeXNkZXBzL2llZWU3NTQvZGJsLTk2L2Vfam5sLmM6IEZpeCBidWlsZCB3aXRoIC1PCi0rCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYzogTGlrZXdpc2UuCi0rCSogc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmM6IExpa2V3aXNlLgotKwkqIHN5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jOiBMaWtld2lzZS4KLSsKLSAyMDE4LTA5LTI4ICBBZGhlbWVydmFsIFphbmVsbGEgIDxhZGhlbWVydmFsLnphbmVsbGFAbGluYXJvLm9yZz4KLSAKLSAJW0JaICMyMzU3OV0KLWRpZmYgLS1naXQgYS9zeXNkZXBzL2llZWU3NTQvZGJsLTY0L2Vfam4uYyBiL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jCi1pbmRleCA5MTgxYjIyYmI4Li45ZmY1MmM3MzdmIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pZWVlNzU0L2RibC02NC9lX2puLmMKLSsrKyBiL3N5c2RlcHMvaWVlZTc1NC9kYmwtNjQvZV9qbi5jCi1AQCAtNDIsNiArNDIsNyBAQAotICNpbmNsdWRlIDxtYXRoLW5hcnJvdy1ldmFsLmg+Ci0gI2luY2x1ZGUgPG1hdGhfcHJpdmF0ZS5oPgotICNpbmNsdWRlIDxtYXRoLXVuZGVyZmxvdy5oPgotKyNpbmNsdWRlIDxsaWJjLWRpYWcuaD4KLSAKLSBzdGF0aWMgY29uc3QgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjc5MjgwZS0wMSwgLyogMHgzRkUyMERENywgMHg1MDQyOUI2RCAqLwotQEAgLTEwOSw3ICsxMTAsMTcgQEAgX19pZWVlNzU0X2puIChpbnQgbiwgZG91YmxlIHgpCi0gCSAgICAgIGNhc2UgMjogdGVtcCA9IC1jIC0gczsgYnJlYWs7Ci0gCSAgICAgIGNhc2UgMzogdGVtcCA9IGMgLSBzOyBicmVhazsKLSAJICAgICAgfQotKwkgICAgLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICAgICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICAgICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICAgICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgICAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgICAgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICAgICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwkgICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCSAgICBESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCSAgICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnQgKHgpOwotKwkgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci1AQCAtMzE2LDcgKzMyNywxNyBAQCBfX2llZWU3NTRfeW4gKGludCBuLCBkb3VibGUgeCkKLSAJICBjYXNlIDI6IHRlbXAgPSAtcyArIGM7IGJyZWFrOwotIAkgIGNhc2UgMzogdGVtcCA9IHMgKyBjOyBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0ICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4L2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYwotaW5kZXggNzczOWVlYzI5MS4uODcwNmExMTU3NSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOC9lX2pubC5jCi0rKysgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjgvZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IF9GbG9hdDEyOAotICAgaW52c3FydHBpID0gTCg1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5NDUxNTYwNzcyNTg1ODQ0MDVFLTEpLAotQEAgLTE1MCw3ICsxNTEsMTcgQEAgX19pZWVlNzU0X2pubCAoaW50IG4sIF9GbG9hdDEyOCB4KQotIAkJdGVtcCA9IGMgLSBzOwotIAkJYnJlYWs7Ci0gCSAgICAgIH0KLSsJICAgIC8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgICAgIHdhcm5zIHRoYXQgdGhlIHZhcmlhYmxlICd0ZW1wJywgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsJICAgICAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgICAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgICAgICByYW5nZSBvZiBwb3NzaWJsZSB2YWx1ZXMgaXMgWzAsM10gYXMgZXhwbGFpbmVkIGluOgotKwkgICAgICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgICAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJICAgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKwkgICAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAkgICAgYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCSAgICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwotIAkgIH0KLSAJZWxzZQotIAkgIHsKLUBAIC0zODYsNyArMzk3LDE3IEBAIF9faWVlZTc1NF95bmwgKGludCBuLCBfRmxvYXQxMjggeCkKLSAJICAgIHRlbXAgPSBzICsgYzsKLSAJICAgIGJyZWFrOwotIAkgIH0KLSsJLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwlESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAliID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7Ci1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtMTI4aWJtL2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYwotaW5kZXggNzFiM2FkZGZiYS4uMzIyNmQwMjMwOSAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTEyOGlibS9lX2pubC5jCi0rKysgYi9zeXNkZXBzL2llZWU3NTQvbGRibC0xMjhpYm0vZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5NDUxNTYwNzcyNTg1ODQ0MDVFLTFMLAotQEAgLTE1MCw3ICsxNTEsMTcgQEAgX19pZWVlNzU0X2pubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCQl0ZW1wID0gYyAtIHM7Ci0gCQlicmVhazsKLSAJICAgICAgfQotKwkgICAgLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICAgICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICAgICAgVGhlIHN3aXRjaCBhYm92ZSBjb3ZlcnMgYWxsIHBvc3NpYmxlIHZhbHVlcyBvZiBuICYgMwotKwkgICAgICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgICAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgICAgICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD02OTIzMAotKwkgICAgICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwkgICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCSAgICBESUFHX0lHTk9SRV9ORUVEU19DT01NRU5UICg4LCAiLVdtYXliZS11bmluaXRpYWxpemVkIik7Ci0gCSAgICBiID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJICAgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gCSAgfQotIAllbHNlCi0gCSAgewotQEAgLTM4Niw3ICszOTcsMTcgQEAgX19pZWVlNzU0X3lubCAoaW50IG4sIGxvbmcgZG91YmxlIHgpCi0gCSAgICB0ZW1wID0gcyArIGM7Ci0gCSAgICBicmVhazsKLSAJICB9Ci0rCS8qIFdpdGggR0NDIDggKGFuZCBvbGRlcikgd2hlbiBjb21waWxpbmcgd2l0aCAtTyB0aGUgY29tcGlsZXIKLSsJICAgd2FybnMgdGhhdCB0aGUgdmFyaWFibGUgJ3RlbXAnLCBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkLgotKwkgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgIGJ1dCBHQ0Mgd2l0aG91dCBWUlAgZW5hYmxlZCBpc24ndCBhYmxlIHRvIGZpZ3VyZSBvdXQgdGhlCi0rCSAgIHJhbmdlIG9mIHBvc3NpYmxlIHZhbHVlcyBpcyBbMCwzXSBhcyBleHBsYWluZWQgaW46Ci0rCSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgIHNvIGl0J3MgZmFsc2UgcG9zc2l0aXZlIHdpdGggLU8xIGFuZCBsb3dlci4gKi8KLSsJRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rCURJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJYiA9IGludnNxcnRwaSAqIHRlbXAgLyBzcXJ0bCAoeCk7Ci0rCURJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0gICAgICAgfQotICAgICBlbHNlCi0gICAgICAgewotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9sZGJsLTk2L2Vfam5sLmMgYi9zeXNkZXBzL2llZWU3NTQvbGRibC05Ni9lX2pubC5jCi1pbmRleCAzOTQ5MjFmNTY0Li5kYTVjMmNjOTNlIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L2xkYmwtOTYvZV9qbmwuYwotQEAgLTYxLDYgKzYxLDcgQEAKLSAjaW5jbHVkZSA8bWF0aC5oPgotICNpbmNsdWRlIDxtYXRoX3ByaXZhdGUuaD4KLSAjaW5jbHVkZSA8bWF0aC11bmRlcmZsb3cuaD4KLSsjaW5jbHVkZSA8bGliYy1kaWFnLmg+Ci0gCi0gc3RhdGljIGNvbnN0IGxvbmcgZG91YmxlCi0gICBpbnZzcXJ0cGkgPSA1LjY0MTg5NTgzNTQ3NzU2Mjg2OTQ4MDc5ZS0xTCwgdHdvID0gMi4wZTBMLCBvbmUgPSAxLjBlMEw7Ci1AQCAtMTQzLDcgKzE0NCwxNyBAQCBfX2llZWU3NTRfam5sIChpbnQgbiwgbG9uZyBkb3VibGUgeCkKLSAJCXRlbXAgPSBjIC0gczsKLSAJCWJyZWFrOwotIAkgICAgICB9Ci0rCSAgICAvKiBXaXRoIEdDQyA4IChhbmQgb2xkZXIpIHdoZW4gY29tcGlsaW5nIHdpdGggLU8gdGhlIGNvbXBpbGVyCi0rCSAgICAgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgICAgICBUaGUgc3dpdGNoIGFib3ZlIGNvdmVycyBhbGwgcG9zc2libGUgdmFsdWVzIG9mIG4gJiAzCi0rCSAgICAgICBidXQgR0NDIHdpdGhvdXQgVlJQIGVuYWJsZWQgaXNuJ3QgYWJsZSB0byBmaWd1cmUgb3V0IHRoZQotKwkgICAgICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgICAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTY5MjMwCi0rCSAgICAgICBzbyBpdCdzIGZhbHNlIHBvc3NpdGl2ZSB3aXRoIC1PMSBhbmQgbG93ZXIuICovCi0rCSAgICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJICAgIERJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDgsICItV21heWJlLXVuaW5pdGlhbGl6ZWQiKTsKLSAJICAgIGIgPSBpbnZzcXJ0cGkgKiB0ZW1wIC8gc3FydGwgKHgpOwotKwkgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci1AQCAtMzcyLDcgKzM4MywxNyBAQCBfX2llZWU3NTRfeW5sIChpbnQgbiwgbG9uZyBkb3VibGUgeCkKLSAJICAgIHRlbXAgPSBzICsgYzsKLSAJICAgIGJyZWFrOwotIAkgIH0KLSsJLyogV2l0aCBHQ0MgOCAoYW5kIG9sZGVyKSB3aGVuIGNvbXBpbGluZyB3aXRoIC1PIHRoZSBjb21waWxlcgotKwkgICB3YXJucyB0aGF0IHRoZSB2YXJpYWJsZSAndGVtcCcsIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rCSAgIFRoZSBzd2l0Y2ggYWJvdmUgY292ZXJzIGFsbCBwb3NzaWJsZSB2YWx1ZXMgb2YgbiAmIDMKLSsJICAgYnV0IEdDQyB3aXRob3V0IFZSUCBlbmFibGVkIGlzbid0IGFibGUgdG8gZmlndXJlIG91dCB0aGUKLSsJICAgcmFuZ2Ugb2YgcG9zc2libGUgdmFsdWVzIGlzIFswLDNdIGFzIGV4cGxhaW5lZCBpbjoKLSsJICAgaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzAKLSsJICAgc28gaXQncyBmYWxzZSBwb3NzaXRpdmUgd2l0aCAtTzEgYW5kIGxvd2VyLiAqLwotKwlESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKLSsJRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotIAliID0gaW52c3FydHBpICogdGVtcCAvIHNxcnRsICh4KTsKLSsJRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgICAgICB9Ci0gICAgIGVsc2UKLSAgICAgICB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL2dsaWJjLzAwMzItc3lzZGVwcy1pZWVlNzU0LXNvZnQtZnAtaWdub3JlLW1heWJlLXVuaW5pdGlhbGl6ZWQtdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OWNkMjUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLUZyb20gNjE4NjY4NTQwZTI2M2MwOWIwZWIyODEzMWRkZTdiNDUwMDE1OGZkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgU2VwIDIwMTggMTI6Mzk6MjIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnA6IGlnbm9yZSBtYXliZS11bmluaXRpYWxpemVkIHdpdGggLU8KLSBbQlogIzE5NDQ0XQotCi0qIHdpdGggLU8sIC1PMSwgLU9zIGl0IGZhaWxzIHdpdGg6Ci0KLUluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zb2Z0LWZwL3NvZnQtZnAuaDozMTgsCi0gICAgICAgICAgICAgICAgIGZyb20gLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mjg6Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogSW4gZnVuY3Rpb24gJ19fZmRpdic6Ci0uLi9zb2Z0LWZwL29wLTIuaDo5ODoyNTogZXJyb3I6ICdSX2YxJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgICAgWCMjX2YwID0gKFgjI19mMSA8PCAoX0ZQX1dfVFlQRV9TSVpFIC0gKE4pKSB8IFgjI19mMCA+PiAoTikgXAotICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODoxNDogbm90ZTogJ1JfZjEnIHdhcyBkZWNsYXJlZCBoZXJlCi0gICBGUF9ERUNMX0QgKFIpOwotICAgICAgICAgICAgICBeCi0uLi9zb2Z0LWZwL29wLTIuaDozNzozNjogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyAnX0ZQX0ZSQUNfREVDTF8yJwotICAgX0ZQX1dfVFlQRSBYIyNfZjAgX0ZQX1pFUk9fSU5JVCwgWCMjX2YxIF9GUF9aRVJPX0lOSVQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS4uL3NvZnQtZnAvZG91YmxlLmg6OTU6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX0ZQX0RFQ0wnCi0gIyBkZWZpbmUgRlBfREVDTF9EKFgpICBfRlBfREVDTCAoMiwgWCkKLSAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0ZQX0RFQ0xfRCcKLSAgIEZQX0RFQ0xfRCAoUik7Ci0gICBefn5+fn5+fn4KLS4uL3NvZnQtZnAvb3AtMi5oOjEwMToxNzogZXJyb3I6ICdSX2YwJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLSAgICAgICA6IChYIyNfZjAgPDwgKF9GUF9XX1RZUEVfU0laRSAtIChOKSkpICE9IDApKTsgXAotICAgICAgICAgICAgICAgICBefgotLi4vc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6Mzg6MTQ6IG5vdGU6ICdSX2YwJyB3YXMgZGVjbGFyZWQgaGVyZQotICAgRlBfREVDTF9EIChSKTsKLSAgICAgICAgICAgICAgXgotLi4vc29mdC1mcC9vcC0yLmg6Mzc6MTQ6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8gJ19GUF9GUkFDX0RFQ0xfMicKLSAgIF9GUF9XX1RZUEUgWCMjX2YwIF9GUF9aRVJPX0lOSVQsIFgjI19mMSBfRlBfWkVST19JTklUCi0gICAgICAgICAgICAgIF4KLS4uL3NvZnQtZnAvZG91YmxlLmg6OTU6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAnX0ZQX0RFQ0wnCi0gIyBkZWZpbmUgRlBfREVDTF9EKFgpICBfRlBfREVDTCAoMiwgWCkKLSAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci0uLi9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzozODozOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ0ZQX0RFQ0xfRCcKLSAgIEZQX0RFQ0xfRCAoUik7Ci0gICBefn5+fn5+fn4KLQotQnVpbGQgdGVzdGVkIHdpdGggWW9jdG8gZm9yIEFSTSwgQUFSQ0g2NCwgWDg2LCBYODZfNjQsIFBQQywgTUlQUywgTUlQUzY0Ci13aXRoIC1PLCAtTzEsIC1Pcy4KLUZvciBBQVJDSDY0IGl0IG5lZWRzIG9uZSBtb3JlIGZpeCBpbiBsb2NhbGUgZm9yIC1Pcy4KLQotCVBhcnRpYWwgZml4IGZvciBbQlogIzIzNzE2XQotCSogc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmM6IEZpeCBidWlsZCB3aXRoIC1PCi0KLVdvcmsgYXJvdW5kIHRoZSBpc3N1ZSBpbnN0ZWFkIG9mIHJlbW92aW5nIC1PIGxpa2Ugd2UgZG8gd2l0aAotU0VMRUNURURfT1BUSU1JWkFUSU9OCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3d3dy5zb3VyY2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTgtMDkvbXNnMDAzMDAuaHRtbF0KLQotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotLS0tCi0gQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKysrCi0gc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMgfCAxMiArKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggOTIyZTkxNmYyYy4uMjE2MzM2ZWRjOSAxMDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDcgQEAKLSsyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBzeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogRml4IGJ1aWxkIHdpdGggLU8uCi0rCi0gMjAxOC0wOS0yOSAgTWFydGluIEphbnNhICA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLSAJUGFydGlhbCBmaXggZm9yIFtCWiAjMjM3MTZdCi0gCSogc3lzZGVwcy9pZWVlNzU0L2RibC05Ni9lX2pubC5jOiBGaXggYnVpbGQgd2l0aCAtTwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvaWVlZTc1NC9zb2Z0LWZwL3NfZmRpdi5jIGIvc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMKLWluZGV4IDM0MTMzOWY1ZWQuLjE0NjU1Yjc3ZGEgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYwotKysrIGIvc3lzZGVwcy9pZWVlNzU0L3NvZnQtZnAvc19mZGl2LmMKLUBAIC0yNSw2ICsyNSwxNiBAQAotICN1bmRlZiBmZGl2bAotIAotICNpbmNsdWRlIDxtYXRoLW5hcnJvdy5oPgotKwotKyNpbmNsdWRlIDxsaWJjLWRpYWcuaD4KLSsvKiBSX2ZbMDFdIGFyZSBub3Qgc2V0IGluIGNhc2VzIHdoZXJlIGl0IGlzIG5vdCB1c2VkIGluIHBhY2tpbmcsIGJ1dCB0aGUKLSsgICBjb21waWxlciBkb2VzIG5vdCBzZWUgdGhhdCBpdCBpcyBzZXQgaW4gYWxsIGNhc2VzIHdoZXJlIGl0IGlzCi0rICAgdXNlZCwgcmVzdWx0aW5nIGluIHdhcm5pbmdzIHRoYXQgaXQgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZC4KLSsgICBUaGUgbG9jYXRpb24gb2YgdGhlIHdhcm5pbmcgZGlmZmVycyBpbiBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgR0NDLAotKyAgIGl0IG1heSBiZSB3aGVyZSBSIGlzIGRlZmluZWQgdXNpbmcgYSBtYWNybyBvciBpdCBtYXkgYmUgd2hlcmUgdGhlCi0rICAgbWFjcm8gaXMgZGVmaW5lZC4gICovCi0rRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotICNpbmNsdWRlIDxzb2Z0LWZwLmg+Ci0gI2luY2x1ZGUgPHNpbmdsZS5oPgotICNpbmNsdWRlIDxkb3VibGUuaD4KLUBAIC01Myw0ICs2Myw2IEBAIF9fZmRpdiAoZG91YmxlIHgsIGRvdWJsZSB5KQotICAgQ0hFQ0tfTkFSUk9XX0RJViAocmV0LCB4LCB5KTsKLSAgIHJldHVybiByZXQ7Ci0gfQotK0RJQUdfUE9QX05FRURTX0NPTU1FTlQ7Ci0rCi0gbGlibV9hbGlhc19mbG9hdF9kb3VibGUgKGRpdikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzMy1sb2NhbGUtcHJldmVudC1tYXliZS11bmluaXRpYWxpemVkLWVycm9ycy13aXRoLU9zLUJaLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMzLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxMDU4Y2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDMzLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OCArMCwwIEBACi1Gcm9tIGNiYWRhMWExYjIxOGMxZWY2MWQwZWI0MzYzZmFkNzU5OGU2NTA5ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDMwIFNlcCAyMDE4IDA5OjE2OjQ4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxvY2FsZTogcHJldmVudCBtYXliZS11bmluaXRpYWxpemVkIGVycm9ycyB3aXRoIC1PcyBbQloKLSAjMTk0NDRdCi0KLUZpeGVzIGZvbGxvd2luZyBlcnJvciB3aGVuIGJ1aWxkaW5nIGZvciBhYXJjaDY0IHdpdGggLU9zOgotfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gc3RyY29sbF9sLmM6NDM6Ci18IHN0cmNvbGxfbC5jOiBJbiBmdW5jdGlvbiAnX19zdHJjb2xsX2wnOgotfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMi5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLXwgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgotfCBzdHJjb2xsX2wuYzozMDQ6MTg6IG5vdGU6ICdzZXEyLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCi18ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Ci18ICAgICAgICAgICAgICAgICAgIF5+fn4KLXwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIHN0cmNvbGxfbC5jOjQzOgotfCAuLi9sb2NhbGUvd2VpZ2h0Lmg6MzE6MjY6IGVycm9yOiAnc2VxMS5iYWNrX3VzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KLXwgICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgotfCBzdHJjb2xsX2wuYzozMDQ6MTI6IG5vdGU6ICdzZXExLmJhY2tfdXMnIHdhcyBkZWNsYXJlZCBoZXJlCi18ICAgIGNvbGxfc2VxIHNlcTEsIHNlcTI7Ci18ICAgICAgICAgICAgIF5+fn4KLQotICAgICAgICBQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSAgICAgICAgKiBsb2NhbGUvd2VpZ2h0Lmg6IEZpeCBidWlsZCB3aXRoIC1Pcy4KLQotV29yayBhcm91bmQgdGhlIGlzc3VlIGluc3RlYWQgb2YgcmVtb3ZpbmcgLU8gbGlrZSB3ZSBkbyB3aXRoCi1TRUxFQ1RFRF9PUFRJTUlaQVRJT04KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxOC0wOS9tc2cwMDUzOS5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+Ci0tLS0KLSBDaGFuZ2VMb2cgICAgICAgfCA0ICsrKysKLSBsb2NhbGUvd2VpZ2h0LmggfCA3ICsrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwotaW5kZXggMjE2MzM2ZWRjOS4uODRmYmJmNDdlZCAxMDA2NDQKLS0tLSBhL0NoYW5nZUxvZwotKysrIGIvQ2hhbmdlTG9nCi1AQCAtMSwzICsxLDcgQEAKLSsyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotKwlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSsJKiBsb2NhbGUvd2VpZ2h0Lmg6IEZpeCBidWlsZCB3aXRoIC1Pcy4KLSsKLSAyMDE4LTA5LTMwICBNYXJ0aW4gSmFuc2EgIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotIAlQYXJ0aWFsIGZpeCBmb3IgW0JaICMyMzcxNl0KLSAJKiBzeXNkZXBzL2llZWU3NTQvc29mdC1mcC9zX2ZkaXYuYzogRml4IGJ1aWxkIHdpdGggLU8uCi1kaWZmIC0tZ2l0IGEvbG9jYWxlL3dlaWdodC5oIGIvbG9jYWxlL3dlaWdodC5oCi1pbmRleCA2MDI4ZDM1OTVlLi4xMGJjZWEyNWU1IDEwMDY0NAotLS0tIGEvbG9jYWxlL3dlaWdodC5oCi0rKysgYi9sb2NhbGUvd2VpZ2h0LmgKLUBAIC0yOCw3ICsyOCwxNCBAQCBmaW5kaWR4IChjb25zdCBpbnQzMl90ICp0YWJsZSwKLSAJIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmV4dHJhLAotIAkgY29uc3QgdW5zaWduZWQgY2hhciAqKmNwcCwgc2l6ZV90IGxlbikKLSB7Ci0rICAvKiBXaXRoIEdDQyA4IHdoZW4gY29tcGlsaW5nIHdpdGggLU9zIHRoZSBjb21waWxlciB3YXJucyB0aGF0Ci0rICAgICBzZXExLmJhY2tfdXMgYW5kIHNlcTIuYmFja191cyBtaWdodCBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQuCi0rICAgICBUaGlzIHVuaW5pdGlhbGl6ZWQgdXNlIGlzIGltcG9zc2libGUgZm9yIHRoZSBzYW1lIHJlYXNvbgotKyAgICAgYXMgZGVzY3JpYmVkIGluIGNvbW1lbnRzIGluIGxvY2FsZS93ZWlnaHR3Yy5oLiAgKi8KLSsgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOwotKyAgRElBR19JR05PUkVfT3NfTkVFRFNfQ09NTUVOVCAoOCwgIi1XbWF5YmUtdW5pbml0aWFsaXplZCIpOwotICAgaW50X2Zhc3QzMl90IGkgPSB0YWJsZVsqKCpjcHApKytdOwotKyAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNwOwotICAgY29uc3QgdW5zaWduZWQgY2hhciAqdXNyYzsKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvMDAzNC1pbmplY3QtZmlsZS1hc3NlbWJseS1kaXJlY3RpdmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1ZWJhMmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNzIgKzAsMCBAQAotQ3VycmVudGx5LCBub24tSUEgYnVpbGRzIGFyZSBub3QgcmVwcm9kdWNpYmlsZSBzaW5jZSBidWlsZCBwYXRocyBhcmUgCi1iZWluZyBpbmplY3RlZCBpbnRvIHRoZSBkZWJ1ZyBzeW1ib2xzLiBUaGVzZSBhcmUgY29taW5nIGZyb20gdGhlIHVzZSBvZgotLlMgYXNzZW1ibGVyIGZpbGVzIGR1cmluZyB0aGUgZ2xpYmMgYnVpbGQuIE5vIFNUVF9GSUxFIHNlY3Rpb24gaXMgYWRkZWQKLWR1cmluZyB0aGUgYXNzZW1ibHkgYnV0IHdoZW4gbGlua2luZywgbGQgZGVjaWRlcyB0byBhZGQgb25lIHRvIGFpZCAKLWRlYnVnZ2luZyBhbmQgZW5zdXJlIHJlZmVyZW5jZXMgYmV0d2VlbiB0aGUgZGlmZmVyZW50IG9iamVjdCBmaWxlcyBpdHMKLWxpbmtpbmcgcmVtYWluIGNsZWFyLgotCi1XZSBjYW4gYXZvaWQgdGhpcyBieSBpbmplY3RpbmcgYSBmaWxlIGhlYWRlciBpbnRvIHRoZSBhc3NlbWJsZXIgZmlsZXMKLWFoZWFkIG9mIHRpbWUsIGNob29zaW5nIGEgZmlsZW5hbWUgd2hpY2ggZG9lcyBub3QgY29udGFpbiBidWlsZCBzeXN0ZW0KLXBhdGhzLgotCi1UaGlzIGlzIGEgYml0IG9mIGEgd29ya2Fyb3VuZC9oYWNrIGJ1dCBkb2VzIHNpZ25pZmljYW50bHkgcmVkdWNlIHRoZQotYnVpbGQgc3lzdGVtIHJlZmVyZW5jZXMgaW4gdGFyZ2V0IGJpbmFyaWVzIGZvciB0aGUgbm9uLUlBIGFyY2hpdGVjdHVyZXMKLXdoaWNoIHVzZSAuUyBmaWxlcy4KLQotUlAKLTIwMTgvMTAvMwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotZGlmZiAtLWdpdCBhL2NzdS9hYmktbm90ZS5TIGIvY3N1L2FiaS1ub3RlLlMKLWluZGV4IDVkMGNhNzgwM2QuLjhjZTQxNTgxYjEgMTAwNjQ0Ci0tLS0gYS9jc3UvYWJpLW5vdGUuUwotKysrIGIvY3N1L2FiaS1ub3RlLlMKLUBAIC01Niw2ICs1Niw4IEBAIG9mZnNldAlsZW5ndGgJY29udGVudHMKLSAjaW5jbHVkZSA8Y29uZmlnLmg+Ci0gI2luY2x1ZGUgPGFiaS10YWcuaD4JCS8qIE9TLXNwZWNpZmljIEFCSSB0YWcgdmFsdWUgKi8KLSAKLSsJLmZpbGUgImFiaS1ub3RlLlMiCi0rCi0gLyogVGhlIGxpbmtlciAoR05VIGxkIDIuOCBhbmQgbGF0ZXIpIHJlY29nbml6ZXMgYW4gYWxsb2NhdGVkIHNlY3Rpb24gd2hvc2UKLSAgICBuYW1lIGJlZ2lucyB3aXRoIGAubm90ZScgYW5kIGNyZWF0ZXMgYSBQVF9OT1RFIHByb2dyYW0gaGVhZGVyIGVudHJ5Ci0gICAgcG9pbnRpbmcgYXQgaXQuICovCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L2NydGkuUyBiL3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMKLWluZGV4IDJiMjEzNzU4YjIuLjczNmYzM2UzMTQgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCi0rKysgYi9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCi1AQCAtNTAsNiArNTAsOCBAQAotICMgZGVmaW5lIFBSRUlOSVRfRlVOQ1RJT05fV0VBSyAxCi0gI2VuZGlmCi0gCi0rICAgIC5maWxlICJjcnRpLlMiCi0rCi0gI2lmIFBSRUlOSVRfRlVOQ1RJT05fV0VBSwotIAl3ZWFrX2V4dGVybiAoUFJFSU5JVF9GVU5DVElPTikKLSAjZWxzZQotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9jcnRuLlMgYi9zeXNkZXBzL2FhcmNoNjQvY3J0bi5TCi1pbmRleCBkNzIzMDBhZjgwLi5jYjI0OWJmM2NhIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2NydG4uUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2NydG4uUwotQEAgLTM3LDYgKzM3LDggQEAKLSAvKiBjcnRuLlMgcHV0cyBmdW5jdGlvbiBlcGlsb2d1ZXMgaW4gdGhlIC5pbml0IGFuZCAuZmluaSBzZWN0aW9ucwotICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb2xvZ3VlcyBpbiBjcnRpLlMuICovCi0gCi0rCS5maWxlICJjcnRuLlMiCi0rCi0gCS5zZWN0aW9uIC5pbml0LCJheCIsJXByb2diaXRzCi0gCWxkcAl4MjksIHgzMCwgW3NwXSwgMTYKLSAJUkVUCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUwotaW5kZXggYmFkMDAwZjU1NS4uNTk1N2MwMjhjZCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdGFydC5TCi0rKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUwotQEAgLTE4LDYgKzE4LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotIC8qIFRoaXMgaXMgdGhlIGNhbm9uaWNhbCBlbnRyeSBwb2ludCwgdXN1YWxseSB0aGUgZmlyc3QgdGhpbmcgaW4gdGhlIHRleHQKLSAgICBzZWdtZW50LgotIAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvX19yZWFkX3RwLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L19fcmVhZF90cC5TCi1pbmRleCA5MmZjMDE5MWE1Li43MTViZmNiOWU0IDEwMDY0NAotLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUwotKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9fX3JlYWRfdHAuUwotQEAgLTE4LDYgKzE4LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJfX3JlYWRfdHAuUyIKLSsKLSAJLmhpZGRlbiBfX3JlYWRfdHAKLSBFTlRSWSAoX19yZWFkX3RwKQotIAltcnMJeDAsIHRwaWRyX2VsMAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TCi1pbmRleCA0M2E2MmVmMzA3Li40MmY4NWNkZGU5IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwotQEAgLTIyLDYgKzIyLDggQEAKLSAjaW5jbHVkZSA8dGxzLmg+Ci0gI2luY2x1ZGUgInRsc2Rlc2MuaCIKLSAKLSsJLmZpbGUgImRsLXRsc2Rlc2MuUyIKLSsKLSAjZGVmaW5lIE5TQVZFRFFSRUdQQUlSUwkxNgotICNkZWZpbmUgU0FWRV9RX1JFR0lTVEVSUwkJCQlcCi0gCXN0cAlxMCwgcTEsCVtzcCwgIy0zMipOU0FWRURRUkVHUEFJUlNdITsJXAotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdHJhbXBvbGluZS5TCi1pbmRleCBhODZkMDcyMmQ0Li45MmVkYWIxZDAxIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwotKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwotQEAgLTIxLDYgKzIxLDggQEAKLSAKLSAjaW5jbHVkZSAiZGwtbGluay5oIgotIAotKwkuZmlsZSAiZGwtdHJhbXBvbGluZS5TIgotKwotICNkZWZpbmUgaXAwIHgxNgotICNkZWZpbmUgaXAwbCBQVFJfUkVHICgxNikKLSAjZGVmaW5lIGlwMSB4MTcKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9hYmktbm90ZS5TIGIvc3lzZGVwcy9hcm0vYWJpLW5vdGUuUwotaW5kZXggMDdiZDRjNDYxOS4uNzIxM2IxNmYyNyAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKLSsrKyBiL3N5c2RlcHMvYXJtL2FiaS1ub3RlLlMKLUBAIC0xLDMgKzEsNSBAQAotKwkuZmlsZSAiYWJpLW5vdGUuUyIKLSsKLSAvKiBUYWdfQUJJX2FsaWduOF9wcmVzZXJ2ZWQ6IFRoaXMgY29kZSBwcmVzZXJ2ZXMgOC1ieXRlCi0gICAgYWxpZ25tZW50IGluIGFueSBjYWxsZWUuICAqLwotIAkuZWFiaV9hdHRyaWJ1dGUgMjUsIDEKLWRpZmYgLS1naXQgYS9zeXNkZXBzL2FybS9jcnRpLlMgYi9zeXNkZXBzL2FybS9jcnRpLlMKLWluZGV4IGExNDI0ZDAzMzMuLmJjYTFkYWIyNTYgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL2FybS9jcnRpLlMKLSsrKyBiL3N5c2RlcHMvYXJtL2NydGkuUwotQEAgLTU3LDYgKzU3LDggQEAKLSAJLmhpZGRlbiBQUkVJTklUX0ZVTkNUSU9OCi0gI2VuZGlmCi0gCi0rICAgIC5maWxlICJjcnRpLlMiCi0rCi0gI2lmIFBSRUlOSVRfRlVOQ1RJT05fV0VBSwotIAkucDJhbGlnbiAyCi0gCS50eXBlIGNhbGxfd2Vha19mbiwgJWZ1bmN0aW9uCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vY3J0bi5TIGIvc3lzZGVwcy9hcm0vY3J0bi5TCi1pbmRleCAyNjAyNzY5M2NlLi42NWEwNTAyODI2IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vY3J0bi5TCi0rKysgYi9zeXNkZXBzL2FybS9jcnRuLlMKLUBAIC0zNyw2ICszNyw4IEBACi0gI2RlZmluZSBOT19USFVNQgotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAKLSsgICAgLmZpbGUgImNydG4uUyIKLSsKLSAvKiBjcnRuLlMgcHV0cyBmdW5jdGlvbiBlcGlsb2d1ZXMgaW4gdGhlIC5pbml0IGFuZCAuZmluaSBzZWN0aW9ucwotICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb2xvZ3VlcyBpbiBjcnRpLlMuICovCi0gCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TIGIvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCi1pbmRleCAwNTZlMTdkNTJkLi5hOThjNjhkZmI5IDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vZGwtdGxzZGVzYy5TCi0rKysgYi9zeXNkZXBzL2FybS9kbC10bHNkZXNjLlMKLUBAIC0yMSw2ICsyMSw4IEBACi0gI2luY2x1ZGUgPHRscy5oPgotICNpbmNsdWRlICJ0bHNkZXNjLmgiCi0gCi0rCS5maWxlICJkbC10bHNkZXNjLlMiCi0rCi0gCS50ZXh0Ci0gCUAgZW1pdCBkZWJ1ZyBpbmZvcm1hdGlvbiB3aXRoIGNmaQotIAlAIHVzZSBhcm0tc3BlY2lmaWMgcHNldWRvcyBmb3IgdW53aW5kaW5nIGl0c2VsZgotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUyBiL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUwotaW5kZXggYzczMWIwMTI4Ni4uNGIzN2IyNTM0NCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvYXJtL2RsLXRyYW1wb2xpbmUuUwotKysrIGIvc3lzZGVwcy9hcm0vZGwtdHJhbXBvbGluZS5TCi1AQCAtMjEsNiArMjEsOCBAQAotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAjaW5jbHVkZSA8bGliYy1zeW1ib2xzLmg+Ci0gCi0rCS5maWxlICJkbC10cmFtcG9saW5lLlMiCi0rCi0gCS50ZXh0Ci0gCS5nbG9ibCBfZGxfcnVudGltZV9yZXNvbHZlCi0gCS50eXBlIF9kbF9ydW50aW1lX3Jlc29sdmUsICNmdW5jdGlvbgotZGlmZiAtLWdpdCBhL3N5c2RlcHMvYXJtL3N0YXJ0LlMgYi9zeXNkZXBzL2FybS9zdGFydC5TCi1pbmRleCBhZGVmMDkwNzE3Li5kMjJlNDEyOGUwIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9hcm0vc3RhcnQuUwotKysrIGIvc3lzZGVwcy9hcm0vc3RhcnQuUwotQEAgLTU3LDYgKzU3LDggQEAKLSAJCQkJCU5VTEwKLSAqLwotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBUYWdfQUJJX2FsaWduOF9wcmVzZXJ2ZWQ6IFRoaXMgY29kZSBwcmVzZXJ2ZXMgOC1ieXRlCi0gICAgYWxpZ25tZW50IGluIGFueSBjYWxsZWUuICAqLwotIAkuZWFiaV9hdHRyaWJ1dGUgMjUsIDEKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vYWVhYmlfcmVhZF90cC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2FlYWJpX3JlYWRfdHAuUwotaW5kZXggODcxNzAyMzE3YS4uMjBhOTQyZGJhYyAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FybS9hZWFiaV9yZWFkX3RwLlMKLUBAIC0zOSw2ICszOSw4IEBACi0gICAgYSBub3JtYWwgZnVuY3Rpb24gY2FsbCkgaW4gYSBoaWdoIHBhZ2Ugb2YgbWVtb3J5OyB0YWlsIGNhbGwgdG8gdGhlCi0gICAgaGVscGVyLiAgKi8KLSAKLSsJLmZpbGUgImFlYWJpX3JlYWRfdHAuUyIKLSsKLSAJLmhpZGRlbiBfX2FlYWJpX3JlYWRfdHAKLSBFTlRSWSAoX19hZWFiaV9yZWFkX3RwKQotICNpZmRlZiBBUkNIX0hBU19IQVJEX1RQCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9taXBzL3N0YXJ0LlMgYi9zeXNkZXBzL21pcHMvc3RhcnQuUwotaW5kZXggYTRjNGVmMGZhZS4uZDAwZmZmMzFhOCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvbWlwcy9zdGFydC5TCi0rKysgYi9zeXNkZXBzL21pcHMvc3RhcnQuUwotQEAgLTM4LDYgKzM4LDggQEAKLSAjaW5jbHVkZSA8c2dpZGVmcy5oPgotICNpbmNsdWRlIDxzeXMvYXNtLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotICNpZm5kZWYgRU5UUllfUE9JTlQKLSAjZXJyb3IgRU5UUllfUE9JTlQgbmVlZHMgdG8gYmUgZGVmaW5lZCBmb3Igc3RhcnQuUyBvbiBNSVBTL0VMRi4KLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9wb3dlcnBjL2RsLWJyay5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvcG93ZXJwYy9kbC1icmsuUwotaW5kZXggZWViOTY1NDRlMy4uZGExODJiMjhmOCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKLSsrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3Bvd2VycGMvZGwtYnJrLlMKLUBAIC0xICsxLDMgQEAKLSsJLmZpbGUgImRsLWJyay5TIgotKwotICNpbmNsdWRlIDxicmsuUz4KLWRpZmYgLS1naXQgYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKLWluZGV4IDVjMTBhMjJmOGEuLjJiNTI2MjdmMjcgMTAwNjQ0Ci0tLS0gYS9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzMyL3N0YXJ0LlMKLSsrKyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvc3RhcnQuUwotQEAgLTM1LDYgKzM1LDggQEAKLSAKLSAjaW5jbHVkZSA8c3lzZGVwLmg+Ci0gCi0rCS5maWxlICJzdGFydC5TIgotKwotIC8qIFdlIGRvIG5vdCB3YW50IC5laF9mcmFtZSBpbmZvIGZvciBjcnQxLm8gc2luY2UgY3J0MS5vIGlzIGxpbmtlZAotICAgIGJlZm9yZSBjcnRiZWdpbi5vLCB0aGUgZmlsZSBkZWZpbmluZyBfX0VIX0ZSQU1FX0JFR0lOX18uICAqLwotICN1bmRlZiBjZmlfc3RhcnRwcm9jCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCi1pbmRleCBiZDcxODkzMTBjLi4yZTIyYjg0NzJkIDEwMDY0NAotLS0tIGEvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGM2NC9zdGFydC5TCi0rKysgYi9zeXNkZXBzL3Bvd2VycGMvcG93ZXJwYzY0L3N0YXJ0LlMKLUBAIC0zNSw2ICszNSw4IEBACi0gCi0gI2luY2x1ZGUgPHN5c2RlcC5oPgotIAotKwkuZmlsZSAic3RhcnQuUyIKLSsKLSAvKiBXZSBkbyBub3Qgd2FudCAuZWhfZnJhbWUgaW5mbyBmb3IgY3J0MS5vIHNpbmNlIGNydDEubyBpcyBsaW5rZWQKLSAgICBiZWZvcmUgY3J0YmVnaW4ubywgdGhlIGZpbGUgZGVmaW5pbmcgX19FSF9GUkFNRV9CRUdJTl9fLiAgKi8KLSAjdW5kZWYgY2ZpX3N0YXJ0cHJvYwotZGlmZiAtLWdpdCBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUyBiL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUwotaW5kZXggMjQ0ZDg3ZmI2ZC4uMTRkM2UyY2UxNCAxMDA2NDQKLS0tLSBhL3N5c2RlcHMvcG93ZXJwYy9wb3dlcnBjMzIvZGwtc3RhcnQuUwotKysrIGIvc3lzZGVwcy9wb3dlcnBjL3Bvd2VycGMzMi9kbC1zdGFydC5TCi1AQCAtMTgsNiArMTgsOCBAQAotIAotICNpbmNsdWRlIDxzeXNkZXAuaD4KLSAKLSsJLmZpbGUgImRsLXN0YXJ0LlMiCi0rCi0gLyogSW5pdGlhbCBlbnRyeSBwb2ludCBjb2RlIGZvciB0aGUgZHluYW1pYyBsaW5rZXIuCi0gICAgVGhlIEMgZnVuY3Rpb24gYF9kbF9zdGFydCcgaXMgdGhlIHJlYWwgZW50cnkgcG9pbnQ7Ci0gICAgaXRzIHJldHVybiB2YWx1ZSBpcyB0aGUgdXNlciBwcm9ncmFtJ3MgZW50cnkgcG9pbnQuCSovCi1kaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCi1pbmRleCBkMjZhZDFmOGQzLi5hMGRlMTBiZjgxIDEwMDY0NAotLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYXJtL2xpYmMtZG8tc3lzY2FsbC5TCi0rKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hcm0vbGliYy1kby1zeXNjYWxsLlMKLUBAIC0yNyw2ICsyNyw4IEBACi0gICAgQVJNIHVud2luZCB0YWJsZXMgZm9yIHJlZ2lzdGVyIHRvIHJlZ2lzdGVyIG1vdmVzLCB0aGUgYWN0dWFsIG9wY29kZXMKLSAgICBhcmUgbm90IGRlZmluZWQuICAqLwotIAotKyAgICAgIC5maWxlICJsaWJjLWRvLXN5c2NhbGwuUyIKLSsKLSAjaWYgZGVmaW5lZChfX3RodW1iX18pCi0gCS50aHVtYgotIAkuc3ludGF4IHVuaWZpZWQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvQ1ZFLTIwMTktOTE2OS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmMvQ1ZFLTIwMTktOTE2OS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzQwMzYxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliYy9DVkUtMjAxOS05MTY5LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0NWRTogQ1ZFLTIwMTktOTE2OQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA1ODNkZDg2MGQ1YjgzMzAzNzE3NTI0NzIzMGEzMjhmMDA1MGRiZmU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGF1bCBFZ2dlcnQgPGVnZ2VydEBjcy51Y2xhLmVkdT4KK0RhdGU6IE1vbiwgMjEgSmFuIDIwMTkgMTE6MDg6MTMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcmVnZXg6IGZpeCByZWFkIG92ZXJydW4gW0JaICMyNDExNF0KKworUHJvYmxlbSBmb3VuZCBieSBBZGRyZXNzU2FuaXRpemVyLCByZXBvcnRlZCBieSBIb25neHUgQ2hlbiBpbjoKK2h0dHBzOi8vZGViYnVncy5nbnUub3JnLzM0MTQwCisqIHBvc2l4L3JlZ2V4ZWMuYyAocHJvY2VlZF9uZXh0X25vZGUpOgorRG8gbm90IHJlYWQgcGFzdCBlbmQgb2YgaW5wdXQgYnVmZmVyLgorLS0tCisgcG9zaXgvcmVnZXhlYy5jIHwgIDYgKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcG9zaXgvcmVnZXhlYy5jIGIvcG9zaXgvcmVnZXhlYy5jCitpbmRleCA5MWQ1YTc5Li4wODRiMTIyIDEwMDY0NAorLS0tIGEvcG9zaXgvcmVnZXhlYy5jCisrKysgYi9wb3NpeC9yZWdleGVjLmMKK0BAIC0xMjkzLDggKzEyOTMsMTAgQEAgcHJvY2VlZF9uZXh0X25vZGUgKGNvbnN0IHJlX21hdGNoX2NvbnRleHRfdCAqbWN0eCwgSWR4IG5yZWdzLCByZWdtYXRjaF90ICpyZWdzLAorIAkgICAgICBlbHNlIGlmIChuYWNjZXB0ZWQpCisgCQl7CisgCQkgIGNoYXIgKmJ1ZiA9IChjaGFyICopIHJlX3N0cmluZ19nZXRfYnVmZmVyICgmbWN0eC0+aW5wdXQpOworLQkJICBpZiAobWVtY21wIChidWYgKyByZWdzW3N1YmV4cF9pZHhdLnJtX3NvLCBidWYgKyAqcGlkeCwKKy0JCQkgICAgICBuYWNjZXB0ZWQpICE9IDApCisrCQkgIGlmIChtY3R4LT5pbnB1dC52YWxpZF9sZW4gLSAqcGlkeCA8IG5hY2NlcHRlZAorKwkJICAgICAgfHwgKG1lbWNtcCAoYnVmICsgcmVnc1tzdWJleHBfaWR4XS5ybV9zbywgYnVmICsgKnBpZHgsCisrCQkJCSAgbmFjY2VwdGVkKQorKwkJCSAgIT0gMCkpCisgCQkgICAgcmV0dXJuIC0xOworIAkJfQorIAkgICAgfQorLS0gCisyLjkuMwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMDcyOTM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEzNSArMCwwIEBACi1yZXF1aXJlIGdsaWJjLmluYwotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFUzttZDU9Y2ZjMGVkNzdhOWY2MmZhNjJlZGVkMDQyZWJlMzFkNzIgXAotICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKLSAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCi0gICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1ERVBFTkRTICs9ICJncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIG1ha2UtbmF0aXZlIgotCi1TUkNSRVYgPz0gIjA0NGM5NmYwZDU1OTVhZWIwYmI0ZTc5MzU1MDgxYzVhN2Y0ZmFjYTUiCi0KLVNSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCi0KLUdMSUJDX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9nbGliYy5naXQiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCtcLlxkKyhcLig/ITkwKVxkKykqKSIKLQotU1JDX1VSSSA9ICIke0dMSUJDX0dJVF9VUkl9O2JyYW5jaD0ke1NSQ0JSQU5DSH07bmFtZT1nbGliYyBcCi0gICAgICAgICAgIGZpbGU6Ly9ldGMvbGQuc28uY29uZiBcCi0gICAgICAgICAgIGZpbGU6Ly9nZW5lcmF0ZS1zdXBwb3J0ZWQubWsgXAotICAgICAgICAgICBmaWxlOi8vbWFrZWRicy5zaCBcCi0gICAgICAgICAgIFwKLSAgICAgICAgICAgJHtOQVRJVkVTREtGSVhFU30gXAotICAgICAgICAgICBmaWxlOi8vMDAwNi1mc2wtZTUwMC1lNTUwMC1lNjUwMC02MDNlLWZzcXJ0LWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctcmVhZGxpYi1BZGQtT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTLXRvLWtub3duLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LXBwYy1zcXJ0LUZpeC11bmRlZmluZWQtcmVmZXJlbmNlLXRvLV9fc3FydF9maW5pdGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1fX2llZWU3NTRfc3FydC1mLWFyZS1ub3ctaW5saW5lLWZ1bmN0aW9ucy1hbmQtY2FsbC1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAtUXVvdGUtZnJvbS1idWctMTQ0My13aGljaC1leHBsYWlucy13aGF0LXRoZS1wYXRjaC1kby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLWVnbGliYy1ydW4tbGlibS1lcnItdGFiLnBsLXdpdGgtc3BlY2lmaWMtZGlycy1pbi1TLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEzLXN5c2RlcHMtZ251LWNvbmZpZ3VyZS5hYy1oYW5kbGUtY29ycmVjdGx5LWxpYmNfY3Zfcm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNC1BZGQtdW51c2VkLWF0dHJpYnV0ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE1LXllcy13aXRoaW4tdGhlLXBhdGgtc2V0cy13cm9uZy1jb25maWctdmFyaWFibGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtdGltZXpvbmUtcmUtd3JpdHRlbi10enNlbGVjdC1hcy1wb3NpeC1zaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE3LVJlbW92ZS1iYXNoLWRlcGVuZGVuY3ktZm9yLW5zY2QtaW5pdC1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1lZ2xpYmMtQ3Jvc3MtYnVpbGRpbmctYW5kLXRlc3RpbmctaW5zdHJ1Y3Rpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTktZWdsaWJjLUhlbHAtYm9vdHN0cmFwLWNyb3NzLXRvb2xjaGFpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIwLWVnbGliYy1DbGVhci1jYWNoZS1saW5lcy1vbi1wcGM4eHgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1lZ2xpYmMtUmVzb2x2ZS1fX2Zwc2NyX3ZhbHVlcy1vbi1TSDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1lZ2xpYmMtRm9yd2FyZC1wb3J0LWNyb3NzLWxvY2FsZS1nZW5lcmF0aW9uLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1EZWZpbmUtRFVNTVlfTE9DQUxFX1QtaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNC1lbGYtZGwtZGVwcy5jLU1ha2UtX2RsX2J1aWxkX2xvY2FsX3Njb3BlLWJyZWFkdGgtZmlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjUtbG9jYWxlLWZpeC1oYXJkLWNvZGVkLXJlZmVyZW5jZS10by1nY2MtRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI2LXJlc2V0LWRsX2xvYWRfd3JpdGVfbG9jay1hZnRlci1mb3JraW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjctQWNxdWlyZS1sZC5zby1sb2NrLWJlZm9yZS1zd2l0Y2hpbmctdG8tbWFsbG9jX2F0Zm9yay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LWJpdHMtc2lnaW5mby1jb25zdHMuaC1lbnVtLWRlZmluaXRpb24tZm9yLVRSQVBfSFdCS1AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1sb2NhbGVkZWYtYWRkLXRvLWFyY2hpdmUtdXNlcy1hLWhhcmQtY29kZWQtbG9jYWxlLXBhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtaW50bC1FbWl0LW5vLWxpbmVzLWluLWJpc29uLWdlbmVyYXRlZC1maWxlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMxLXN5c2RlcHMtaWVlZTc1NC1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMi1zeXNkZXBzLWllZWU3NTQtc29mdC1mcC1pZ25vcmUtbWF5YmUtdW5pbml0aWFsaXplZC13LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzMtbG9jYWxlLXByZXZlbnQtbWF5YmUtdW5pbml0aWFsaXplZC1lcnJvcnMtd2l0aC1Pcy1CWi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM0LWluamVjdC1maWxlLWFzc2VtYmx5LWRpcmVjdGl2ZXMucGF0Y2ggXAotIgotCi1OQVRJVkVTREtGSVhFUyA/PSAiIgotTkFUSVZFU0RLRklYRVNfY2xhc3MtbmF0aXZlc2RrID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbmF0aXZlc2RrLWdsaWJjLUxvb2stZm9yLWhvc3Qtc3lzdGVtLWxkLnNvLmNhY2hlLWFzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLW5hdGl2ZXNkay1nbGliYy1GaXgtYnVmZmVyLW92ZXJydW4td2l0aC1hLXJlbG9jYXRlZC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1uYXRpdmVzZGstZ2xpYmMtUmFpc2UtdGhlLXNpemUtb2YtYXJyYXlzLWNvbnRhaW5pbmctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtbmF0aXZlc2RrLWdsaWJjLUFsbG93LTY0LWJpdC1hdG9taWNzLWZvci14ODYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1uYXRpdmVzZGstZ2xpYmMtTWFrZS1yZWxvY2F0YWJsZS1pbnN0YWxsLWZvci1sb2NhbGVzLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLUIgPSAiJHtXT1JLRElSfS9idWlsZC0ke1RBUkdFVF9TWVN9IgotCi1QQUNLQUdFU19EWU5BTUlDID0gIiIKLQotIyB0aGUgLWlzeXN0ZW0gaW4gYml0YmFrZS5jb25mIHNjcmV3cyB1cCBnbGliYyBkb19zdGFnZQotQlVJTERfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfSU5DRElSX05BVElWRX0iCi1UQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IgotCi1HTElCQ19CUk9LRU5fTE9DQUxFUyA9ICIiCi0jCi0jIFdlIHdpbGwgc2tpcCBwYXJzaW5nIGdsaWJjIHdoZW4gdGFyZ2V0IHN5c3RlbSBDIGxpYnJhcnkgc2VsZWN0aW9uIGlzIG5vdCBnbGliYwotIyB0aGlzIGhlbHBzIGluIGVhc2luZyBvdXQgcGFyc2luZyBmb3Igbm9uLWdsaWJjIHN5c3RlbSBsaWJyYXJpZXMKLSMKLUNPTVBBVElCTEVfSE9TVF9saWJjLW11c2xfY2xhc3MtdGFyZ2V0ID0gIm51bGwiCi0KLUdMSUJDUElFID8/PSAiIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUta2VybmVsPSR7T0xERVNUX0tFUk5FTH0gXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1wcm9maWxlIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtZGVidWcgLS13aXRob3V0LWdkIFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1jbG9jYWxlPWdudSBcCi0gICAgICAgICAgICAgICAgLS13aXRoLWhlYWRlcnM9JHtTVEFHSU5HX0lOQ0RJUn0gXAotICAgICAgICAgICAgICAgIC0td2l0aG91dC1zZWxpbnV4IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS10dW5hYmxlcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtYmluZC1ub3cgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgXAotICAgICAgICAgICAgICAgIC0tZW5hYmxlLXN0YWNrZ3VhcmQtcmFuZG9taXphdGlvbiBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLWNyeXB0IFwKLSAgICAgICAgICAgICAgICAke0dMSUJDUElFfSBcCi0gICAgICAgICAgICAgICAgJHtHTElCQ19FWFRSQV9PRUNPTkZ9IgotCi1FWFRSQV9PRUNPTkYgKz0gIiR7QGdldF9saWJjX2ZwdV9zZXR0aW5nKGJiLCBkKX0iCi1FWFRSQV9PRUNPTkYgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1pbmV0LWFubCcsICctLWVuYWJsZS1uc2NkJywgJy0tZGlzYWJsZS1uc2NkJywgZCl9IgotCi0KLWRvX3BhdGNoX2FwcGVuZCgpIHsKLSAgICBiYi5idWlsZC5leGVjX2Z1bmMoJ2RvX2ZpeF9yZWFkbGliX2MnLCBkKQotfQotCi1kb19maXhfcmVhZGxpYl9jICgpIHsKLQlzZWQgLWkgLWUgJ3MjT0VDT1JFX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTIyR7RUdMSUJDX0tOT1dOX0lOVEVSUFJFVEVSX05BTUVTfSMnICR7U30vZWxmL3JlYWRsaWIuYwotfQotCi1kb19jb25maWd1cmUgKCkgewotIyBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIHRvIGF2b2lkIHRoZSBhdXRvY29uZi9hdXRvbWFrZS9hY2xvY2FsL2F1dG9oZWFkZXIKLSMgY2FsbHMgZm9yIG5vdwotIyBkb24ndCBwYXNzIENQUEZMQUdTIGludG8gY29uZmlndXJlLCBzaW5jZSBpdCB1cHNldHMgdGhlIGtlcm5lbC1oZWFkZXJzCi0jIHZlcnNpb24gY2hlY2sgYW5kIGRvZXNuJ3QgcmVhbGx5IGhlbHAgd2l0aCBhbnl0aGluZwotICAgICAgICAoY2QgJHtTfSAmJiBnbnUtY29uZmlnaXplKSB8fCBkaWUgImZhaWx1cmUgaW4gcnVubmluZyBnbnUtY29uZmlnaXplIgotICAgICAgICBmaW5kICR7U30gLW5hbWUgImNvbmZpZ3VyZSIgfCB4YXJncyB0b3VjaAotICAgICAgICBDUFBGTEFHUz0iIiBvZV9ydW5jb25mCi19Ci0KLWRvX2NvbXBpbGUgKCkgewotCSMgLVdsLC1ycGF0aC1saW5rIDxzdGFnaW5nPi9saWIgaW4gTERGTEFHUyBjYW4gY2F1c2UgYnJlYWthZ2UgaWYgYW5vdGhlciBnbGliYyBpcyBpbiBzdGFnaW5nCi0JdW5zZXQgTERGTEFHUwotCWJhc2VfZG9fY29tcGlsZQotCWVjaG8gIkFkanVzdCBsZGQgc2NyaXB0IgotCWlmIFsgLW4gIiR7UlRMRExJU1R9IiBdCi0JdGhlbgotCQlwcmV2cnRsZD1gY2F0ICR7Qn0vZWxmL2xkZCB8IGdyZXAgIl5SVExETElTVD0iIHwgc2VkICdzI15SVExETElTVD0iXD9cKFteIl0qXCkiXD8kI1wxIydgCi0JCWlmIFsgIiR7cHJldnJ0bGR9IiAhPSAiJHtSVExETElTVH0iIF0KLQkJdGhlbgotCQkJc2VkIC1pICR7Qn0vZWxmL2xkZCAtZSAicyNeUlRMRExJU1Q9LipcJCNSVExETElTVD1cIiR7cHJldnJ0bGR9ICR7UlRMRExJU1R9XCIjIgotCQlmaQotCWZpCi0KLX0KLQotcmVxdWlyZSBnbGliYy1wYWNrYWdlLmluYwotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvZ2xpYmNfMi4yOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTg0YzU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9nbGliY18yLjI5LmJiCkBAIC0wLDAgKzEsMTI5IEBACityZXF1aXJlIGdsaWJjLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFUzttZDU9Y2ZjMGVkNzdhOWY2MmZhNjJlZGVkMDQyZWJlMzFkNzIgXAorICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgIGZpbGU6Ly9wb3NpeC9yeHNwZW5jZXIvQ09QWVJJR0hUO21kNT1kYzU0ODViYjM5NGExM2IyMzMyZWMxYzc4NWY1ZDgzYSBcCisgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgorCitERVBFTkRTICs9ICJncGVyZi1uYXRpdmUgYmlzb24tbmF0aXZlIG1ha2UtbmF0aXZlIgorCitQViA9ICIyLjI5IgorCitTUkNSRVYgPz0gIjg2MDEzZWY1Y2VhMzIyYjhmNGI5YzIyZjIzMGMyMmNjZTM2OWU5NDciCisKK1NSQ0JSQU5DSCA/PSAicmVsZWFzZS8ke1BWfS9tYXN0ZXIiCisKK0dMSUJDX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9nbGliYy5naXQiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCtcLlxkKyhcLig/ITkwKVxkKykqKSIKKworTkFUSVZFU0RLRklYRVMgPz0gIiIKK05BVElWRVNES0ZJWEVTX2NsYXNzLW5hdGl2ZXNkayA9ICJcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW5hdGl2ZXNkay1nbGliYy1Mb29rLWZvci1ob3N0LXN5c3RlbS1sZC5zby5jYWNoZS1hcy0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1uYXRpdmVzZGstZ2xpYmMtRml4LWJ1ZmZlci1vdmVycnVuLXdpdGgtYS1yZWxvY2F0ZWQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtbmF0aXZlc2RrLWdsaWJjLVJhaXNlLXRoZS1zaXplLW9mLWFycmF5cy1jb250YWluaW5nLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LW5hdGl2ZXNkay1nbGliYy1BbGxvdy02NC1iaXQtYXRvbWljcy1mb3IteDg2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtbmF0aXZlc2RrLWdsaWJjLU1ha2UtcmVsb2NhdGFibGUtaW5zdGFsbC1mb3ItbG9jYWxlcy5wYXRjaCBcCisiCisKK1NSQ19VUkkgPSAiJHtHTElCQ19HSVRfVVJJfTticmFuY2g9JHtTUkNCUkFOQ0h9O25hbWU9Z2xpYmMgXAorICAgICAgICAgICBmaWxlOi8vZXRjL2xkLnNvLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vZ2VuZXJhdGUtc3VwcG9ydGVkLm1rIFwKKyAgICAgICAgICAgZmlsZTovL21ha2VkYnMuc2ggXAorICAgICAgICAgICBcCisgICAgICAgICAgICR7TkFUSVZFU0RLRklYRVN9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtZnNsLWU1MDAtZTU1MDAtZTY1MDAtNjAzZS1mc3FydC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXJlYWRsaWItQWRkLU9FQ09SRV9LTk9XTl9JTlRFUlBSRVRFUl9OQU1FUy10by1rbm93bi0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1wcGMtc3FydC1GaXgtdW5kZWZpbmVkLXJlZmVyZW5jZS10by1fX3NxcnRfZmluaXRlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktX19pZWVlNzU0X3NxcnQtZi1hcmUtbm93LWlubGluZS1mdW5jdGlvbnMtYW5kLWNhbGwtby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLVF1b3RlLWZyb20tYnVnLTE0NDMtd2hpY2gtZXhwbGFpbnMtd2hhdC10aGUtcGF0Y2gtZG8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMS1lZ2xpYmMtcnVuLWxpYm0tZXJyLXRhYi5wbC13aXRoLXNwZWNpZmljLWRpcnMtaW4tUy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLV9faWVlZTc1NF9zcXJ0LWYtYXJlLW5vdy1pbmxpbmUtZnVuY3Rpb25zLWFuZC1jYWxsLW8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1zeXNkZXBzLWdudS1jb25maWd1cmUuYWMtaGFuZGxlLWNvcnJlY3RseS1saWJjX2N2X3JvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTQtQWRkLXVudXNlZC1hdHRyaWJ1dGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNS15ZXMtd2l0aGluLXRoZS1wYXRoLXNldHMtd3JvbmctY29uZmlnLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE2LXRpbWV6b25lLXJlLXdyaXR0ZW4tdHpzZWxlY3QtYXMtcG9zaXgtc2gucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNy1SZW1vdmUtYmFzaC1kZXBlbmRlbmN5LWZvci1uc2NkLWluaXQtc2NyaXB0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtZWdsaWJjLUNyb3NzLWJ1aWxkaW5nLWFuZC10ZXN0aW5nLWluc3RydWN0aW9ucy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE5LWVnbGliYy1IZWxwLWJvb3RzdHJhcC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC1lZ2xpYmMtQ2xlYXItY2FjaGUtbGluZXMtb24tcHBjOHh4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjEtZWdsaWJjLVJlc29sdmUtX19mcHNjcl92YWx1ZXMtb24tU0g0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZWdsaWJjLUZvcndhcmQtcG9ydC1jcm9zcy1sb2NhbGUtZ2VuZXJhdGlvbi1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjMtRGVmaW5lLURVTU1ZX0xPQ0FMRV9ULWlmLW5vdC1kZWZpbmVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtbG9jYWxlZGVmLWFkZC10by1hcmNoaXZlLXVzZXMtYS1oYXJkLWNvZGVkLWxvY2FsZS1wYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI1LWVsZi1kbC1kZXBzLmMtTWFrZS1fZGxfYnVpbGRfbG9jYWxfc2NvcGUtYnJlYWR0aC1maXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOC1pbnRsLUVtaXQtbm8tbGluZXMtaW4tYmlzb24tZ2VuZXJhdGVkLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktaW5qZWN0LWZpbGUtYXNzZW1ibHktZGlyZWN0aXZlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLWxvY2FsZS1wcmV2ZW50LW1heWJlLXVuaW5pdGlhbGl6ZWQtZXJyb3JzLXdpdGgtT3MtQloucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS14ODYtNjQtbWVtY21wLVVzZS11bnNpZ25lZC1KY2MtaW5zdHJ1Y3Rpb25zLW9uLXNpemUtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTkxNjkucGF0Y2ggXAorIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorQiA9ICIke1dPUktESVJ9L2J1aWxkLSR7VEFSR0VUX1NZU30iCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiIgorCisjIHRoZSAtaXN5c3RlbSBpbiBiaXRiYWtlLmNvbmYgc2NyZXdzIHVwIGdsaWJjIGRvX3N0YWdlCitCVUlMRF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSIKK1RBUkdFVF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0iCisKK0dMSUJDX0JST0tFTl9MT0NBTEVTID0gIiIKKworR0xJQkNQSUUgPz89ICIiCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1rZXJuZWw9JHtPTERFU1RfS0VSTkVMfSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXByb2ZpbGUgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kZWJ1ZyAtLXdpdGhvdXQtZ2QgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWNsb2NhbGU9Z251IFwKKyAgICAgICAgICAgICAgICAtLXdpdGgtaGVhZGVycz0ke1NUQUdJTkdfSU5DRElSfSBcCisgICAgICAgICAgICAgICAgLS13aXRob3V0LXNlbGludXggXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXR1bmFibGVzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1iaW5kLW5vdyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc3RhY2stcHJvdGVjdG9yPXN0cm9uZyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc3RhY2tndWFyZC1yYW5kb21pemF0aW9uIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtY3J5cHQgXAorICAgICAgICAgICAgICAgIC0td2l0aC1kZWZhdWx0LWxpbmsgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLW5zY2QgXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnU0VMRUNURURfT1BUSU1JWkFUSU9OJywgJy1PMCAtT2cnLCAnLS1kaXNhYmxlLXdlcnJvcicsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICR7R0xJQkNQSUV9IFwKKyAgICAgICAgICAgICAgICAke0dMSUJDX0VYVFJBX09FQ09ORn0iCisKK0VYVFJBX09FQ09ORiArPSAiJHtAZ2V0X2xpYmNfZnB1X3NldHRpbmcoYmIsIGQpfSIKKworZG9fcGF0Y2hfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fZml4X3JlYWRsaWJfYycsIGQpCit9CisKK2RvX2ZpeF9yZWFkbGliX2MgKCkgeworCXNlZCAtaSAtZSAncyNPRUNPUkVfS05PV05fSU5URVJQUkVURVJfTkFNRVMjJHtFR0xJQkNfS05PV05fSU5URVJQUkVURVJfTkFNRVN9IycgJHtTfS9lbGYvcmVhZGxpYi5jCit9CisKK2RvX2NvbmZpZ3VyZSAoKSB7CisjIG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gdG8gYXZvaWQgdGhlIGF1dG9jb25mL2F1dG9tYWtlL2FjbG9jYWwvYXV0b2hlYWRlcgorIyBjYWxscyBmb3Igbm93CisjIGRvbid0IHBhc3MgQ1BQRkxBR1MgaW50byBjb25maWd1cmUsIHNpbmNlIGl0IHVwc2V0cyB0aGUga2VybmVsLWhlYWRlcnMKKyMgdmVyc2lvbiBjaGVjayBhbmQgZG9lc24ndCByZWFsbHkgaGVscCB3aXRoIGFueXRoaW5nCisgICAgICAgIChjZCAke1N9ICYmIGdudS1jb25maWdpemUpIHx8IGRpZSAiZmFpbHVyZSBpbiBydW5uaW5nIGdudS1jb25maWdpemUiCisgICAgICAgIGZpbmQgJHtTfSAtbmFtZSAiY29uZmlndXJlIiB8IHhhcmdzIHRvdWNoCisgICAgICAgIENQUEZMQUdTPSIiIG9lX3J1bmNvbmYKK30KKworZG9fY29tcGlsZSAoKSB7CisJIyAtV2wsLXJwYXRoLWxpbmsgPHN0YWdpbmc+L2xpYiBpbiBMREZMQUdTIGNhbiBjYXVzZSBicmVha2FnZSBpZiBhbm90aGVyIGdsaWJjIGlzIGluIHN0YWdpbmcKKwl1bnNldCBMREZMQUdTCisJYmFzZV9kb19jb21waWxlCisJZWNobyAiQWRqdXN0IGxkZCBzY3JpcHQiCisJaWYgWyAtbiAiJHtSVExETElTVH0iIF0KKwl0aGVuCisJCXByZXZydGxkPWBjYXQgJHtCfS9lbGYvbGRkIHwgZ3JlcCAiXlJUTERMSVNUPSIgfCBzZWQgJ3MjXlJUTERMSVNUPSJcP1woW14iXSpcKSJcPyQjXDEjJ2AKKwkJIyByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMKKwkJbmV3cnRsZD1gZWNobyAkKHByaW50ZiAnJXNcbicgJHtwcmV2cnRsZH0gJHtSVExETElTVH0gfCBMQ19BTEw9QyBzb3J0IC11KWAKKwkJZWNobyAibGRkIFwiJHtwcmV2cnRsZH0gJHtSVExETElTVH1cIiAtPiBcIiR7bmV3cnRsZH1cIiIKKwkJc2VkIC1pICR7Qn0vZWxmL2xkZCAtZSAicyNeUlRMRExJU1Q9LipcJCNSVExETElTVD1cIiR7bmV3cnRsZH1cIiMiCisJZmkKKworfQorCityZXF1aXJlIGdsaWJjLXBhY2thZ2UuaW5jCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy9mdW5jcyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvZnVuY3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYzg1MzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy9mdW5jcworKysgL2Rldi9udWxsCkBAIC0xLDQ3NCArMCwwIEBACi1hNjRsCi1hYnMKLWFjY2VzcwotX19hZGp0aW1leAotYWxhcm0KLWFscGhhc29ydAotYXJnel9hcHBlbmQKLV9fYXJnel9jb3VudAotYXJnel9jcmVhdGVfc2VwCi1hcmd6X2luc2VydAotX19hcmd6X25leHQKLWFyZ3pfbmV4dAotX19hcmd6X3N0cmluZ2lmeQotYXJnel9zdHJpbmdpZnkKLWFzcHJpbnRmCi1hdGV4aXQKLWF0b2YKLWF0b2kKLWJjbXAKLWJjb3B5Ci1iaW5kcmVzdnBvcnQKLWJpbmRfdGV4dGRvbWFpbl9jb2Rlc2V0Ci1idG93YwotYnplcm8KLWNhbGxvYwotY2Fub25pY2FsaXplX2ZpbGVfbmFtZQotY2F0Z2V0cwotY2ZnZXRvc3BlZWQKLWNmc2V0aXNwZWVkCi1jZnNldHNwZWVkCi1jaG1vZAotY2hvd24KLWNocm9vdAotY2xvY2sKLWNsb3NlCi1jbG9zZWRpcgotY2xvc2Vsb2cKLWNvbmZzdHIKLWNvbm5lY3QKLWRhZW1vbgotZGNnZXR0ZXh0Ci1kaWZmdGltZQotZGlyZmQKLWRpcm5hbWUKLWRuZ2V0dGV4dAotZHVwMgotZWN2dAotZW5kZ3JlbnQKLWVuZG1udGVudAotZW5kcHdlbnQKLWVuZHV0ZW50Ci1lbmR1dHhlbnQKLWVwb2xsX2N0bAotZXJyCi1ldGhlcl9ob3N0dG9uCi1ldGhlcl9udG9ob3N0Ci1ldWlkYWNjZXNzCi1leGVjdgotZmNoZGlyCi1mY2htb2QKLWZjaG1vZGF0Ci1mY2hvd24KLWZjaG93bmF0Ci1mY250bAotZmN2dAotZmRhdGFzeW5jCi1mZG9wZW5kaXIKLWZlb2ZfdW5sb2NrZWQKLWZnZXRzX3VubG9ja2VkCi1mZ2V0eGF0dHIKLWZpbml0ZQotZmxpc3R4YXR0cgotZmxvY2sKLWZsb2NrZmlsZQotZm5tYXRjaAotZm9yawotZnBhdGhjb25mCi1fX2ZwZW5kaW5nCi1mcHJpbnRmCi1mcmVlCi1mcmVlYWRkcmluZm8KLWZyZWVpZmFkZHJzCi1mc2Vla28KLV9fZnNldGxvY2tpbmcKLWZzZXR4YXR0cgotZnN0YXQ2NAotZnN0YXQKLWZzdGF0ZnMKLWZzeW5jCi1mdGVsbG8KLWZ0aW1lCi1mdHJ1bmNhdGUKLWZ1bmxvY2tmaWxlCi1mdXRpbWVzCi1mdXRpbWVzYXQKLWdhaV9zdHJlcnJvcgotZ2N2dAotZ2V0YWRkcmluZm8KLWdldGNfdW5sb2NrZWQKLWdldGN3ZAotZ2V0ZGVsaW0KLWdldGRvbWFpbm5hbWUKLWdldGR0YWJsZXNpemUKLWdldGVnaWQKLWdldGVudgotZ2V0ZXVpZAotZ2V0Z2lkCi1nZXRncmVudAotZ2V0Z3JlbnRfcgotZ2V0Z3JnaWRfcgotZ2V0Z3JuYW0KLWdldGdybmFtX3IKLWdldGdyb3VwbGlzdAotZ2V0Z3JvdXBzCi1nZXRob3N0YnlhZGRyX3IKLWdldGhvc3RieW5hbWUyCi1nZXRob3N0YnluYW1lCi1nZXRob3N0YnluYW1lX3IKLWdldGhvc3RlbnQKLWdldGhvc3RpZAotZ2V0aG9zdG5hbWUKLWdldGlmYWRkcnMKLWdldGxpbmUKLWdldGxvYWRhdmcKLWdldG1udGVudAotZ2V0bXNnCi1nZXRuYW1laW5mbwotZ2V0bmV0YnlhZGRyX3IKLWdldG5ldGdyZW50X3IKLWdldG9wdAotZ2V0b3B0X2xvbmcKLWdldG9wdF9sb25nX29ubHkKLWdldHBhZ2VzaXplCi1nZXRwYXNzCi1nZXRwZWVybmFtZQotZ2V0cGdycAotZ2V0cGlkCi1nZXRwcGlkCi1nZXRwcm90b2VudF9yCi1nZXRwd2VudAotZ2V0cHdlbnRfcgotZ2V0cHduYW0KLWdldHB3bmFtX3IKLWdldHB3dWlkCi1nZXRwd3VpZF9yCi1nZXRyZXN1aWQKLWdldHJsaW1pdAotZ2V0cnVzYWdlCi1nZXRzZXJ2YnluYW1lCi1nZXRzZXJ2YnluYW1lX3IKLWdldHNlcnZieXBvcnRfcgotZ2V0c2VydmVudAotZ2V0c2VydmVudF9yCi1nZXRzcG5hbQotZ2V0c3BuYW1fcgotZ2V0dGltZW9mZGF5Ci1nZXR0dHllbnQKLWdldHR0eW5hbQotZ2V0dWlkCi1nZXR1c2Vyc2hlbGwKLWdldHV0ZW50Ci1nZXR1dGlkCi1nZXR1dGxpbmUKLWdldHV0bXAKLWdldHV0bXB4Ci1nZXR1dHhlbnQKLWdldHV0eGlkCi1nZXR1dHhsaW5lCi1nZXR3ZAotZ2V0eGF0dHIKLWdsb2IKLWdtdGltZQotZ210aW1lX3IKLWdyYW50cHQKLWdyb3VwX21lbWJlcgotaGVycm9yCi1oc3RyZXJyb3IKLWljb252Ci1pY29udl9vcGVuCi1pZl9mcmVlbmFtZWluZGV4Ci1pZl9pbmRleHRvbmFtZQotaWZfbmFtZWluZGV4Ci1pZl9uYW1ldG9pbmRleAotaW5kZXgKLWluZXRfYWRkcgotaW5ldF9hdG9uCi1pbmV0X250b2EKLWluZXRfbnRvcAotaW5ldF9wdG9uCi1pbml0Z3JvdXBzCi1pbm5ldGdyCi1pcnVzZXJvawotaXNhc2NpaQotaXNhdHR5Ci1pc2JsYW5rCi1pc2dyYXBoCi1pc2luZgotaXNuYW4KLWlzcHJpbnQKLWlzc3BhY2UKLWlzd2FsbnVtCi1pc3djbnRybAotaXN3Y3R5cGUKLWlzd3ByaW50Ci1pc3dzcGFjZQotaXN3dXBwZXIKLWlzeGRpZ2l0Ci1raWxsCi1raWxscGcKLWxjaG93bgotbGNrcHdkZgotbGdldHhhdHRyCi1saW5rCi1saXN0eGF0dHIKLWxsaXN0eGF0dHIKLWxvY2FsdGltZQotbG9jYWx0aW1lX3IKLWxvY2tmCi1scmFuZDQ4Ci1sc2VhcmNoCi1sc2VlazY0Ci1sc2V0eGF0dHIKLWxzdGF0Ci1tYWxsaW5mbwotbWFsbG9jCi1tYmxlbgotbWJybGVuCi1tYnJ0b3djCi1tYnNpbml0Ci1tYnNydG93Y3MKLW1idG93YwotbWVtYWxpZ24KLW1lbWNocgotbWVtY21wCi1tZW1jcHkKLW1lbW1vdmUKLW1lbXBjcHkKLW1lbXJjaHIKLW1lbXNldAotbWtkaXIKLW1rZGlyYXQKLW1rZHRlbXAKLW1rZmlmbwotbWtub2QKLW1rc3RlbXA2NAotbWtzdGVtcAotbWt0aW1lCi1tbG9jawotbW1hcAotbXRyYWNlCi1tdW5sb2NrCi1tdW5tYXAKLW5hbm9zbGVlcAotbmljZQotbmxfbGFuZ2luZm8KLW50cF9hZGp0aW1lCi1udHBfZ2V0dGltZQotX29ic3RhY2tfZnJlZQotb25fZXhpdAotb3BlbjY0Ci1vcGVuCi1vcGVuYXQKLW9wZW5kaXIKLW9wZW5sb2cKLXBhdGhjb25mCi1waXBlCi1wb2xsCi1wb3BlbgotcG9zaXhfbWVtYWxpZ24KLXByY3RsCi1wcmVhZAotcHJpbnRmCi1fX3Byb2duYW1lCi1wc2VsZWN0Ci1wdGhyZWFkX211dGV4X2xvY2sKLXB0c25hbWUKLXB1dGVudgotcHV0Z3JlbnQKLXB1dHB3ZW50Ci1wdXRzcGVudAotcHV0dXRsaW5lCi1wdXR1dHhsaW5lCi1wdXR3YwotcHdyaXRlCi1xc29ydAotcmFpc2UKLXJhbmQKLXJhbmRvbQotcmFuZF9yCi1yZWFkCi1yZWFkZGlyCi1yZWFkZGlyX3IKLXJlYWRsaW5rCi1yZWFsbG9jCi1yZWFscGF0aAotcmVfY29tcAotcmVjdm1zZwotcmVfZXhlYwotcmVnY29tcAotcmVnZXhlYwotcmVtb3ZlCi1yZW5hbWUKLXJlX3NlYXJjaAotcm1kaXIKLXJwbWF0Y2gKLXJyZXN2cG9ydF9hZgotcnVzZXJvawotcnVzZXJva19hZgotc2Jyawotc2NhbmRpcgotc2NoZWRfc2V0c2NoZWR1bGVyCi1zY2hlZF95aWVsZAotX19zZWN1cmVfZ2V0ZW52Ci1zZWxlY3QKLXNlbWN0bAotc2VtZ2V0Ci1zZW5kbXNnCi1zZXRidWYKLXNldGJ1ZmZlcgotc2V0ZWdpZAotc2V0ZW52Ci1zZXRldWlkCi1zZXRnaWQKLXNldGdyb3Vwcwotc2V0aG9zdG5hbWUKLXNldGl0aW1lcgotX3NldGptcAotc2V0am1wCi1zZXRsaW5lYnVmCi1zZXRsb2NhbGUKLXNldG1udGVudAotc2V0cGdpZAotc2V0cGdycAotc2V0cHJpb3JpdHkKLXNldHJlZ2lkCi1zZXRyZXNnaWQKLXNldHJlc3VpZAotc2V0cmV1aWQKLXNldHJsaW1pdAotc2V0c2lkCi1zZXRzb2Nrb3B0Ci1zZXR0aW1lb2ZkYXkKLXNldHVpZAotc2V0dXRlbnQKLXNldHV0eGVudAotc2V0dmJ1Zgotc2V0eGF0dHIKLXNnZXRzcGVudAotc2htYXQKLXNobWN0bAotc2htZHQKLXNobWdldAotc2h1dGRvd24KLXNpZ2FjdGlvbgotc2lnYWRkc2V0Ci1zaWdhbHRzdGFjawotc2lnYmxvY2sKLXNpZ2VtcHR5c2V0Ci1zaWdob2xkCi1zaWdpbnRlcnJ1cHQKLXNpZ25hbAotc2lncHJvY21hc2sKLXNpZ3NldAotc2lnc2V0bWFzawotc2lnc3RhY2sKLXNpZ3N1c3BlbmQKLXNpZ3ZlYwotc25wcmludGYKLXNvY2tldAotc29ja2V0cGFpcgotc3ByaW50Zgotc3JhbmQ0OAotc3JhbmQKLXNyYW5kb20KLXNzY2FuZgotc3RhdAotc3RhdGZzCi1zdGF0dmZzCi1zdGltZQotc3RwY3B5Ci1zdHJjYXNlY21wCi1zdHJjYXNlc3RyCi1zdHJjaHIKLXN0cmNocm51bAotc3RyY21wCi1zdHJjc3BuCi1zdHJkdXAKLXN0cmVycm9yCi1zdHJlcnJvcl9yCi1zdHJmdGltZQotc3RybGVuCi1zdHJuY2FzZWNtcAotc3RybmNtcAotc3RybmR1cAotc3Rybmxlbgotc3RycGJyawotc3RycHRpbWUKLXN0cnJjaHIKLXN0cnNlcAotc3Ryc2lnbmFsCi1zdHJzcG4KLXN0cnN0cgotc3RydG9kCi1zdHJ0b2ltYXgKLXN0cnRva19yCi1zdHJ0b2wKLXN0cnRvbGwKLXN0cnRvdWwKLXN0cnRvdWxsCi1zdHJ0b3VtYXgKLXN0cnZlcnNjbXAKLXN0cnhmcm0KLXN5bWxpbmsKLXN5bmMKLXN5c2NvbmYKLXN5c2N0bAotc3lzaW5mbwotc3lzbG9nCi1fc3lzX3NpZ2xpc3QKLXN5c19zaWdsaXN0Ci1zeXN0ZW0KLXRjZ2V0YXR0cgotdGNnZXRwZ3JwCi10Y3NldGF0dHIKLXRjc2V0cGdycAotdGltZQotdGltZWdtCi10aW1lcwotdGltZXpvbmUKLXRtcG5hbQotdG93bG93ZXIKLXRvd3VwcGVyCi10cnVuY2F0ZQotdHNlYXJjaAotdHR5bmFtZQotdHpzZXQKLXVsaW1pdAotdW1hc2sKLXVuYW1lCi11bmxpbmsKLXVuc2V0ZW52Ci11bnNoYXJlCi11cGR3dG1wCi11cGR3dG1weAotdXNsZWVwCi11c3RhdAotdXRpbWUKLXV0aW1lcwotdXRtcG5hbWUKLXV0bXB4bmFtZQotdmFsbG9jCi12YXNwcmludGYKLXZlcnJ4Ci12Zm9yawotdmZwcmludGYKLXZmc2NhbmYKLXZoYW5ndXAKLXZwcmludGYKLXZzbnByaW50ZgotdnNwcmludGYKLXdhaXQzCi13YWl0NAotd2FpdHBpZAotd2NydG9tYgotd2NzY29sbAotd2NzZHVwCi13Y3NsZW4KLXdjdG9iCi13Y3RvbWIKLXdjdHlwZQotd2N3aWR0aAotd21lbWNocgotd21lbWNweQotd21lbXBjcHkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvaGVhZGVycyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvZ2xpYmMvc2l0ZV9jb25maWcvaGVhZGVycwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjlmZWRlYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL2hlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSwxNTUgKzAsMCBAQAotYWlvLmgKLWFsbG9jYS5oCi1hcmd6LmgKLWFycGEvaW5ldC5oCi1hcnBhL25hbWVzZXIuaAotYXNtL2J5dGVvcmRlci5oCi1hc20vaW9jdGxzLmgKLWFzbS9wYWdlLmgKLWFzbS90eXBlcy5oCi1hc3NlcnQuaAotYnl0ZXN3YXAuaAotY3R5cGUuaAotZGlyZW50LmgKLWRsZmNuLmgKLWVsZi5oCi1lbmRpYW4uaAotZXJyLmgKLWVycm5vLmgKLWV4ZWNpbmZvLmgKLWZjbnRsLmgKLWZlYXR1cmVzLmgKLWZsb2F0LmgKLWZzdGFiLmgKLWZ0dy5oCi1nZXRvcHQuaAotZ2xvYi5oCi1ncnAuaAotaWNvbnYuaAotaWZhZGRycy5oCi1pbnR0eXBlcy5oCi1sYW5naW5mby5oCi1sYXN0bG9nLmgKLWxpYmdlbi5oCi1saWJpbnRsLmgKLWxpbWl0cy5oCi1saW51eC9jYXBhYmlsaXR5LmgKLWxpbnV4L2ZkLmgKLWxpbnV4L2ZzLmgKLWxpbnV4L2hheWVzZXNwLmgKLWxpbnV4L2hkcmVnLmgKLWxpbnV4L2ljbXAuaAotbGludXgvaW42LmgKLWxpbnV4L2pveXN0aWNrLmgKLWxpbnV4L3B0cmFjZS5oCi1saW51eC9zZXJpYWwuaAotbGludXgvc29ueXBpLmgKLWxpbnV4L3VuaXN0ZC5oCi1saW51eC91dHNuYW1lLmgKLWxpbnV4L3ZlcnNpb24uaAotbG9jYWxlLmgKLW1hbGxvYy5oCi1tYXRoLmgKLW1jaGVjay5oCi1tZW1vcnkuaAotbW50ZW50LmgKLW1xdWV1ZS5oCi1uZXRkYi5oCi1uZXQvaWYuaAotbmV0aW5ldC9ldGhlci5oCi1uZXRpbmV0L2luLmgKLW5ldGluZXQvaXA2LmgKLW5ldGluZXQvaXAuaAotbmV0aW5ldC90Y3AuaAotbmV0aW5ldC91ZHAuaAotbmV0aXB4L2lweC5oCi1uZXQvcm91dGUuaAotcGF0aHMuaAotcG9sbC5oCi1wdGhyZWFkLmgKLXB0eS5oCi1wd2QuaAotcmVnZXguaAotcmVzb2x2LmgKLXJwYy9ycGMuaAotcnBjL3R5cGVzLmgKLXNjaGVkLmgKLXNjc2kvc2NzaS5oCi1zZWFyY2guaAotc2VtYXBob3JlLmgKLXNldGptcC5oCi1zZ3R0eS5oCi1zaGFkb3cuaAotc2lnbmFsLmgKLXN0ZGFyZy5oCi1zdGRib29sLmgKLXN0ZGMKLXN0ZGRlZi5oCi1zdGRpbnQuaAotc3RkaW8uaAotc3RkbGliLmgKLXN0cmluZy5oCi1zdHJpbmdzLmgKLXN0cm9wdHMuaAotc3lzL2JpdHlwZXMuaAotc3lzL2NkZWZzLmgKLXN5cy9kaXIuaAotc3lzL2Vwb2xsLmgKLXN5c2V4aXRzLmgKLXN5cy9mY250bC5oCi1zeXMvZmlsZS5oCi1zeXMvZnN1aWQuaAotc3lzL2lvY3RsLmgKLXN5cy9pcGMuaAotc3lzbG9nLmgKLXN5cy9tbWFuLmgKLXN5cy9tb3VudC5oCi1zeXMvbXRpby5oCi1zeXMvcGFyYW0uaAotc3lzL3BvbGwuaAotc3lzL3ByY3RsLmgKLXN5cy9wdHJhY2UuaAotc3lzL3F1ZXVlLmgKLXN5cy9yZWcuaAotc3lzL3Jlc291cmNlLmgKLXN5cy9zZWxlY3QuaAotc3lzL3NlbS5oCi1zeXMvc2htLmgKLXN5cy9zaWduYWwuaAotc3lzL3NvY2tldC5oCi1zeXMvc29ja2V0dmFyLmgKLXN5cy9zb3VuZGNhcmQuaAotc3lzL3N0YXRmcy5oCi1zeXMvc3RhdC5oCi1zeXMvc3RhdHZmcy5oCi1zeXMvc3Ryb3B0cy5oCi1zeXMvc3dhcC5oCi1zeXMvc3lzY3RsLmgKLXN5cy9zeXNpbmZvLmgKLXN5cy9zeXNtYWNyb3MuaAotc3lzL3Rlcm1pb3MuaAotc3lzL3RpbWViLmgKLXN5cy90aW1lLmgKLXN5cy90aW1lcy5oCi1zeXMvdGltZXguaAotc3lzL3R5cGVzLmgKLXN5cy91aW8uaAotc3lzL3VuLmgKLXN5cy91bmlzdGQuaAotc3lzL3VzZXIuaAotc3lzL3V0c25hbWUuaAotc3lzL3Zmcy5oCi1zeXMvd2FpdC5oCi10ZXJtaW8uaAotdGVybWlvcy5oCi10aW1lLmgKLXR0eWVudC5oCi11bGltaXQuaAotdW5pc3RkLmgKLXVzdGF0LmgKLXV0aW1lLmgKLXV0bXAuaAotdXRtcHguaAotdmFsdWVzLmgKLXdjaGFyLmgKLXdjdHlwZS5oCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL3R5cGVzIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9nbGliYy9zaXRlX2NvbmZpZy90eXBlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTc4YmQ4NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2dsaWJjL3NpdGVfY29uZmlnL3R5cGVzCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotY2hhcgotY2hhciAqCi1kb3VibGUKLWZsb2F0Ci1pbnQKLWxvbmcKLWxvbmcgZG91YmxlCi1sb25nIGludAotbG9uZyBsb25nCi1sb25nIGxvbmcgaW50Ci1zaG9ydAotc2hvcnQgaW50Ci1zaWduZWQgY2hhcgotdW5zaWduZWQgY2hhcgotdW5zaWduZWQgaW50Ci11bnNpZ25lZCBsb25nCi11bnNpZ25lZCBsb25nIGludAotdW5zaWduZWQgbG9uZyBsb25nIGludAotdW5zaWduZWQgc2hvcnQKLXVuc2lnbmVkIHNob3J0IGludAotdm9pZCAqCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2ltYWdlcy9idWlsZC1hcHBsaWFuY2UtaW1hZ2VfMTUuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbWFnZXMvYnVpbGQtYXBwbGlhbmNlLWltYWdlXzE1LjAuMC5iYgppbmRleCBkOWQ2YzFlLi5hNTkzMzRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2ltYWdlcy9idWlsZC1hcHBsaWFuY2UtaW1hZ2VfMTUuMC4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmIKQEAgLTIyLDEzICsyMiwxNCBAQAogCiBpbmhlcml0IGNvcmUtaW1hZ2UgbW9kdWxlLWJhc2Ugc2V0dXB0b29sczMKIAotU1JDUkVWID89ICI5ZGZlYmRhZjdhZjExYjY5MDA2OTk2ZjMyNTNlNDM1YmNlMGRmYmZiIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5O2JyYW5jaD10aHVkIFwKK1NSQ1JFViA/PSAiYzk2ZDhkZTM1MmYyNDJmNzBmZjljMTY2NTA4YzNkMGU1MDE5OTg3NCIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcG9reSBcCiAgICAgICAgICAgIGZpbGU6Ly9Zb2N0b19CdWlsZF9BcHBsaWFuY2Uudm14IFwKICAgICAgICAgICAgZmlsZTovL1lvY3RvX0J1aWxkX0FwcGxpYW5jZS52bXhmIFwKICAgICAgICAgICAgZmlsZTovL1JFQURNRV9WaXJ0dWFsQm94X0d1ZXN0X0FkZGl0aW9ucy50eHQgXAogICAgICAgICAgICBmaWxlOi8vUkVBRE1FX1ZpcnR1YWxCb3hfVG9hc3Rlci50eHQgXAogICAgICAgICAgICIKK1JFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIlJlY2lwZSBpcyByZWN1cnNpdmUgYW5kIGhhbmRsZWQgYXMgcGFydCBvZiB0aGUgcmVsZWFzZSBwcm9jZXNzIgogQkFfSU5DTFVERV9TT1VSQ0VTID8/PSAiMCIKIAogSU1BR0VfQ01EX2V4dDRfYXBwZW5kICgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWluc3RhbGwtZWZpLXRlc3Rmcy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9maWxlcy9pbml0LWluc3RhbGwtZWZpLXRlc3Rmcy5zaAppbmRleCA5YzRiMjYzLi5iMzUxOTg1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvZmlsZXMvaW5pdC1pbnN0YWxsLWVmaS10ZXN0ZnMuc2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2ZpbGVzL2luaXQtaW5zdGFsbC1lZmktdGVzdGZzLnNoCkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgICAgICAgICAgIyBUcnkgc2xlZXBpbmcgaGVyZSB0byBhdm9pZCBnZXR0aW5nIGtlcm5lbCBtZXNzYWdlcwogICAgICAgICAgICAgICAgICMgb2JzY3VyaW5nL2NvbmZ1c2luZyB1c2VyCiAgICAgICAgICAgICAgICAgc2xlZXAgNQotICAgICAgICAgICAgICAgIGVjaG8gIkZvdW5kIGRyaXZlIGF0IC9kZXYvJHtkZXZpY2V9LiBEbyB5b3Ugd2FudCB0byBpbnN0YWxsIHRoaXMgaW1hZ2UgdGhlcmUgPyBbeS9uXSIKKyAgICAgICAgICAgICAgICBlY2hvICJGb3VuZCBkcml2ZSBhdCAvZGV2LyR7ZGV2aWNlfS4gRG8geW91IHdhbnQgdG8gaW5zdGFsbCB0aGlzIGltYWdlIHRoZXJlPyBbeS9uXSIKICAgICAgICAgICAgICAgICByZWFkIGFuc3dlcgogICAgICAgICAgICAgICAgIGlmIFsgIiRhbnN3ZXIiID0gInkiIF0gOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWJvb3RfMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1ib290XzEuMC5iYgppbmRleCA3YWU3OTY5Li4yOWVjNWVjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWJvb3RfMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtYm9vdF8xLjAuYmIKQEAgLTksOCArOSwxMyBAQAogCiBkb19pbnN0YWxsKCkgewogICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0LWJvb3Quc2ggJHtEfS9pbml0CisKKyAgICAgICAgIyBDcmVhdGUgZGV2aWNlIG5vZGVzIGV4cGVjdGVkIGJ5IHNvbWUga2VybmVscyBpbiBpbml0cmFtZnMKKyAgICAgICAgIyBiZWZvcmUgZXZlbiBleGVjdXRpbmcgL2luaXQuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS9kZXYKKyAgICAgICAgbWtub2QgLW0gNjIyICR7RH0vZGV2L2NvbnNvbGUgYyA1IDEKIH0KIAogaW5oZXJpdCBhbGxhcmNoCiAKLUZJTEVTXyR7UE59ICs9ICIgL2luaXQgIgorRklMRVNfJHtQTn0gKz0gIi9pbml0IC9kZXYvY29uc29sZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2luaXQgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29yay9pbml0CmluZGV4IDNjN2UwOTQuLmM3MWNlMGMgMTAwNzU1Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2luaXQKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmsvaW5pdApAQCAtNzIsNiArNzIsNyBAQAogTU9EVUxFX1BSRV9IT09LUz0iIiAgIyBmdW5jdGlvbnMgdG8gY2FsbCBiZWZvcmUgcnVubmluZyBlYWNoIG1vZHVsZQogTU9EVUxFX1BPU1RfSE9PS1M9IiIgIyBmdW5jdGlvbnMgdG8gY2FsbCBhZnRlciBydW5uaW5nIGVhY2ggbW9kdWxlCiBNT0RVTEVTX0RJUj0vaW5pdC5kICAjIHBsYWNlIHRvIGxvb2sgZm9yIG1vZHVsZXMKK0VGSV9ESVI9L3N5cy9maXJtd2FyZS9lZmkgICMgcGxhY2UgdG8gc3RvcmUgZGV2aWNlIGZpcm13YXJlIGluZm9ybWF0aW9uCiAKICMgbWFrZSBtb3VudCBzdG9wIGNvbXBsYWluaW5nIGFib3V0IG1pc3NpbmcgL2V0Yy9mc3RhYgogdG91Y2ggL2V0Yy9mc3RhYgpAQCAtODEsNiArODIsMTAgQEAKIG1vdW50IC10IHByb2MgcHJvYyAvcHJvYwogbW91bnQgLXQgc3lzZnMgc3lzZnMgL3N5cwogCitpZiBbIC1kICRFRklfRElSIF07dGhlbgorCW1vdW50IC10IGVmaXZhcmZzIG5vbmUgL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycworZmkKKwogIyBwb3B1bGF0ZSBib290cGFyYW0gZW52aXJvbm1lbnQKIGZvciBwIGluIGBjYXQgL3Byb2MvY21kbGluZWA7IGRvCiAJb3B0PWBlY2hvICRwIHwgY3V0IC1kJz0nIC1mMWAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2x2bSBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrL2x2bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGVlY2NiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmsvbHZtCkBAIC0wLDAgKzEsMTMgQEAKKyMhL2Jpbi9zaAorCitsdm1fZW5hYmxlZCgpIHsKKwlpZiAhIGx2c2NhbiB8Z3JlcCAtaSAtdyAiaW5hY3RpdmUiICY+L2Rldi9udWxsO3RoZW4KKwkJcmV0dXJuIDEKKwlmaQorCXJldHVybiAwCit9CisKK2x2bV9ydW4oKSB7CisJbHZtIHB2c2NhbiAtLWNhY2hlIC0tYWN0aXZhdGUgYXkKKwl1ZGV2YWRtIHRyaWdnZXIgLS1hY3Rpb249YWRkCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29ya18xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRyZHNjcmlwdHMvaW5pdHJhbWZzLWZyYW1ld29ya18xLjAuYmIKaW5kZXggNjYwMzQzZS4uYzUzYTBjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0cmRzY3JpcHRzL2luaXRyYW1mcy1mcmFtZXdvcmtfMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHJkc2NyaXB0cy9pbml0cmFtZnMtZnJhbWV3b3JrXzEuMC5iYgpAQCAtMTcsNiArMTcsNyBAQAogICAgICAgICAgICBmaWxlOi8vdWRldiBcCiAgICAgICAgICAgIGZpbGU6Ly9lMmZzIFwKICAgICAgICAgICAgZmlsZTovL2RlYnVnIFwKKyAgICAgICAgICAgZmlsZTovL2x2bSBcCiAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0iCkBAIC00NSw2ICs0Niw5IEBACiAgICAgIyBkZWJ1ZwogICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2RlYnVnICR7RH0vaW5pdC5kLzAwLWRlYnVnCiAKKyAgICAjIGx2bQorICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L2x2bSAke0R9L2luaXQuZC8wOS1sdm0KKwogICAgICMgQ3JlYXRlIGRldmljZSBub2RlcyBleHBlY3RlZCBieSBzb21lIGtlcm5lbHMgaW4gaW5pdHJhbWZzCiAgICAgIyBiZWZvcmUgZXZlbiBleGVjdXRpbmcgL2luaXQuCiAgICAgaW5zdGFsbCAtZCAke0R9L2RldgpAQCAtNTksNiArNjMsNyBAQAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1uZnNyb290ZnMgXAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1yb290ZnMgXAogICAgICAgICAgICAgaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyBcCisgICAgICAgICAgICBpbml0cmFtZnMtbW9kdWxlLWx2bSBcCiAgICAgICAgICAgICIKIAogRklMRVNfJHtQTn0tYmFzZSA9ICIvaW5pdCAvaW5pdC5kLzk5LWZpbmlzaCAvZGV2IgpAQCAtOTgsMyArMTAzLDcgQEAKIFNVTU1BUllfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICJpbml0cmFtZnMgZHluYW1pYyBkZWJ1ZyBzdXBwb3J0IgogUkRFUEVORFNfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICIke1BOfS1iYXNlIgogRklMRVNfaW5pdHJhbWZzLW1vZHVsZS1kZWJ1ZyA9ICIvaW5pdC5kLzAwLWRlYnVnIgorCitTVU1NQVJZX2luaXRyYW1mcy1tb2R1bGUtbHZtID0gImluaXRyYW1mcyBsdm0gcm9vdGZzIHN1cHBvcnQiCitSREVQRU5EU19pbml0cmFtZnMtbW9kdWxlLWx2bSA9ICIke1BOfS1iYXNlIgorRklMRVNfaW5pdHJhbWZzLW1vZHVsZS1sdm0gPSAiL2luaXQuZC8wOS1sdm0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9ib290bWlzYy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCmluZGV4IGRmNTUzYmMuLjU5MTU5MWYgMTAwNzU1Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL2Jvb3RtaXNjLnNoCkBAIC04LDcgKzgsMTAgQEAKICMgU2hvcnQtRGVzY3JpcHRpb246IE1pc2MgYW5kIG90aGVyLgogIyMjIEVORCBJTklUIElORk8KIAorVElNRVNUQU1QX0ZJTEU9L2V0Yy90aW1lc3RhbXAKKwogLiAvZXRjL2RlZmF1bHQvcmNTCitbIC1mIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAgXSAmJiAuIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAKICMKICMgUHV0IGEgbm9sb2dpbiBmaWxlIGluIC9ldGMgdG8gcHJldmVudCBwZW9wbGUgZnJvbSBsb2dnaW5nIGluIGJlZm9yZQogIyBzeXN0ZW0gc3RhcnR1cCBpcyBjb21wbGV0ZS4KQEAgLTY0LDEwICs2NywxMCBAQAogIyBJZiB0aGUgdGltZXN0YW1wIGlzIG1vcmUgcmVjZW50IHRoYW4gdGhlIGN1cnJlbnQgdGltZSwKICMgdXNlIHRoZSB0aW1lc3RhbXAgaW5zdGVhZC4KIHRlc3QgLXggL2V0Yy9pbml0LmQvaHdjbG9jay5zaCAmJiAvZXRjL2luaXQuZC9od2Nsb2NrLnNoIHN0YXJ0Ci1pZiB0ZXN0IC1lIC9ldGMvdGltZXN0YW1wCitpZiB0ZXN0IC1lICIkVElNRVNUQU1QX0ZJTEUiCiB0aGVuCiAJU1lTVEVNREFURT1gZGF0ZSAtdSArJTRZJTJtJTJkJTJIJTJNJTJTYAotCXJlYWQgVElNRVNUQU1QIDwgL2V0Yy90aW1lc3RhbXAKKwlyZWFkIFRJTUVTVEFNUCA8ICIkVElNRVNUQU1QX0ZJTEUiCiAJaWYgWyAke1RJTUVTVEFNUH0gLWd0ICRTWVNURU1EQVRFIF07IHRoZW4KIAkJIyBmb3JtYXQgdGhlIHRpbWVzdGFtcCBhcyBkYXRlIGV4cGVjdHMgaXQgKDJtMmQySDJNNFkuMlMpCiAJCVRTX1lSPSR7VElNRVNUQU1QJT8/Pz8/Pz8/Pz99CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC9zYXZlLXJ0Yy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCmluZGV4IDE2MzJhNWYuLmZmYTFlZWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3NhdmUtcnRjLnNoCkBAIC05LDUgKzksOSBAQAogIyBEZXNjcmlwdGlvbjogICAgICAgCiAjIyMgRU5EIElOSVQgSU5GTwogCitUSU1FU1RBTVBfRklMRT0vZXRjL3RpbWVzdGFtcAorCitbIC1mIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAgXSAmJiAuIC9ldGMvZGVmYXVsdC90aW1lc3RhbXAKKwogIyBVcGRhdGUgdGhlIHRpbWVzdGFtcAotZGF0ZSAtdSArJTRZJTJtJTJkJTJIJTJNJTJTIDI+L2Rldi9udWxsID4gL2V0Yy90aW1lc3RhbXAKK2RhdGUgLXUgKyU0WSUybSUyZCUySCUyTSUyUyAyPi9kZXYvbnVsbCA+ICIkVElNRVNUQU1QX0ZJTEUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC92b2xhdGlsZXMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLTEuMC92b2xhdGlsZXMKaW5kZXggMjAxMTA2Ni4uY2Q4YTRiZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9pbml0c2NyaXB0cy9pbml0c2NyaXB0cy0xLjAvdm9sYXRpbGVzCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtMS4wL3ZvbGF0aWxlcwpAQCAtOCw3ICs4LDcgQEAKICMgVGhlICMgY2hhcmFjdGVyIGludHJvZHVjZXMgYSBjb21tZW50IGxhc3RpbmcgdW50aWwgZW5kIG9mIGxpbmUuCiAjIEJsYW5rIGxpbmVzIGFyZSBpZ25vcmVkLgogIwotIyA8dHlwZT4gOiBkfGZ8bCA6IChkKWlyZWN0b3J5fChmKWlsZXwobClpbmsKKyMgPHR5cGU+IDogZHxmfGx8YiA6IChkKWlyZWN0b3J5fChmKWlsZXwobClpbmt8KGIpaW5kCiAjCiAjIEEgbGlua2luZyBleGFtcGxlOgogIyBsIHJvb3Qgcm9vdCAwNzc3IC92YXIvdGVzdCAvdG1wL3Rlc3RmaWxlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhjcnlwdC9saWJ4Y3J5cHQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I5YWY2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkV4dGVuZGVkIGNyeXB0b2dyYXBoaWMgbGlicmFyeSAoZnJvbSBnbGliYykiCitERVNDUklQVElPTiA9ICJGb3JrZWQgY29kZSBmcm9tIGdsaWJjIGxpYmFyeSB0byBleHRyYWN0IG9ubHkgY3J5cHRvIHBhcnQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdCIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID89ICJmaWxlOi8vTElDRU5TSU5HO21kNT1iZTI3NWJjN2Y5MTY0MmVmZTc3MDlhOGFlN2ExNDMzYiBcCisgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BWID0gIjQuNC4yIgorIyB2NC40LjIKK1NSQ1JFViA/PSAiY2Y2YWJmMTgwODM1NjZlYzE2MTJhZjI3OTgyYTUxNjBjOWUwZjEzNyIKK1NSQ0JSQU5DSCA/PSAiZGV2ZWxvcCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2Jlc3NlcjgyL2xpYnhjcnlwdC5naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSBcCisgICAgICAgICAgICIKKworUFJPVklERVMgPSAidmlydHVhbC9jcnlwdCIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNyeXB0Ki5zby4qICR7bGliZGlyfS9saWJjcnlwdC0qLnNvICR7bGliZGlyfS9saWJvd2NyeXB0Ki5zby4qICR7bGliZGlyfS9saWJvd2NyeXB0LSouc28iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0JVSUxEX0NQUEZMQUdTID0gIi1JJHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9IC1zdGQ9Z251OTkiCitUQVJHRVRfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfRElSX1RBUkdFVH0ke2luY2x1ZGVkaXJ9IC1Xbm8tZXJyb3I9bWlzc2luZy1hdHRyaWJ1dGVzIgorQ1BQRkxBR1NfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLVduby1lcnJvcj1taXNzaW5nLWF0dHJpYnV0ZXMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0XzQuMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4Y3J5cHQvbGlieGNyeXB0XzQuMS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjVhYTk2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieGNyeXB0L2xpYnhjcnlwdF80LjEuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLVNVTU1BUlkgPSAiRXh0ZW5kZWQgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IChmcm9tIGdsaWJjKSIKLURFU0NSSVBUSU9OID0gIkZvcmtlZCBjb2RlIGZyb20gZ2xpYmMgbGliYXJ5IHRvIGV4dHJhY3Qgb25seSBjcnlwdG8gcGFydC4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYmVzc2VyODIvbGlieGNyeXB0IgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPz0gImZpbGU6Ly9MSUNFTlNJTkc7bWQ1PWNiM2NhNGNhYmQyNDQ3YTM3YmYxODZmYWQ2Zjc5ODUyIFwKLSAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotU1JDUkVWID89ICIyMWI0NTViNjhiYWFkMjc5ZTZhMzkzNmZhY2VkMTZjNWU1NjM0Mzc2IgotU1JDQlJBTkNIID89ICJkZXZlbG9wIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vYmVzc2VyODIvbGlieGNyeXB0LmdpdDticmFuY2g9JHtTUkNCUkFOQ0h9IFwKLSAgICAgICAgICAgIgotCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL2NyeXB0IgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliY3J5cHQqLnNvLiogJHtsaWJkaXJ9L2xpYmNyeXB0LSouc28gJHtsaWJkaXJ9L2xpYm93Y3J5cHQqLnNvLiogJHtsaWJkaXJ9L2xpYm93Y3J5cHQtKi5zbyIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotQlVJTERfQ1BQRkxBR1MgPSAiLUkke1NUQUdJTkdfSU5DRElSX05BVElWRX0gLXN0ZD1nbnU5OSIKLVRBUkdFVF9DUFBGTEFHUyA9ICItSSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7aW5jbHVkZWRpcn0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sMl8yLjkuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbGlieG1sL2xpYnhtbDJfMi45LjguYmIKaW5kZXggNzQwYmY1Ni4uNjI2NDNiYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9saWJ4bWwvbGlieG1sMl8yLjkuOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL2xpYnhtbC9saWJ4bWwyXzIuOS44LmJiCkBAIC0zOCw3ICszOCw3IEBACiBQQUNLQUdFQ09ORklHW3B5dGhvbl0gPSAiLS13aXRoLXB5dGhvbj0ke1BZVEhPTn0sLS13aXRob3V0LXB5dGhvbixweXRob24zIgogUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdAoraW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogaW5oZXJpdCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24nLCAncHl0aG9uM25hdGl2ZScsICcnLCBkKX0KIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tZXRhL3RhcmdldC1zZGstcHJvdmlkZXMtZHVtbXkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgppbmRleCAwMTYwY2I4Li44NTQ3MmE4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL21ldGEvdGFyZ2V0LXNkay1wcm92aWRlcy1kdW1teS5iYgpAQCAtMjAsNiArMjAsNyBAQAogICAgIGxpYnhtbC1wYXJzZXItcGVybCBcCiAgICAgcGVybC1tb2R1bGUtYnl0ZXMgXAogICAgIHBlcmwtbW9kdWxlLWNhcnAgXAorICAgIHBlcmwtbW9kdWxlLWNvbmZpZyBcCiAgICAgcGVybC1tb2R1bGUtY29uc3RhbnQgXAogICAgIHBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIFwKICAgICBwZXJsLW1vZHVsZS1lcnJubyBcCkBAIC0zNSwxMSArMzYsMTIgQEAKICAgICBwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyBcCiAgICAgcGVybC1tb2R1bGUtaW8tZmlsZSBcCiAgICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkaW5nIFwKICAgICBwZXJsLW1vZHVsZS1wb3NpeCBcCi0gICAgcGVybC1tb2R1bGUtb3ZlcmxvYWQgXAogICAgIHBlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSBcCiAgICAgcGVybC1tb2R1bGUtdGhyZWFkcyBcCiAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MgXAorICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIFwKICAgICAvYmluL3NoIFwKICAgICAvYmluL2Jhc2ggXAogICAgIC91c3IvYmluL2VudiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbGlic3NwLW5vbnNoYXJlZC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCmluZGV4IDQ1OGVhZmUuLmJhZThjODEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9saWJzc3Atbm9uc2hhcmVkLmJiCkBAIC04LDE1ICs4LDEwIEBACiAKIFNSQ19VUkkgPSAiZmlsZTovL3NzcC1sb2NhbC5jIgogCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi0KIElOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCiAKLVNUQUdJTkdDQyA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLVNUQUdJTkdDQ19jbGFzcy1uYXRpdmVzZGsgPSAiZ2NjLWNyb3Nzc2RrLWluaXRpYWwtJHtTREtfU1lTfSIKLQogREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscyBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIFwKKyAgICAgICAgICAgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIFwKICIKIAogZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLmluYwppbmRleCAzMTk3MDliLi44NDA4YzVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2wuaW5jCkBAIC0xMSwxNCArMTEsOCBAQAogU0VDVElPTiA9ICJsaWJzIgogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT04YTRiYjI4Zjc3MWM4MTdmZTU3ZDNhN2M0MjQwZTNhYSIKIAotUEFUSF9wcmVwZW5kID0gIiR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS4ke1NUQUdJTkdDQ306IgotCiBJTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLQogRklMRVNfU09MSUJTREVWID0gIiIKIEZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTREVWfSIKIElOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTg3NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2wvMDAwMi1sZHNvLVVzZS1zeXNsaWJkaXItYW5kLWxpYmRpci1hcy1kZWZhdWx0LXBhdGhlcy10by1sLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0Zyb20gNWEyODg2ZjgxZGJjYTNmMmVkMjhlZWJlN2QyN2Q0NzFkYTI3OGRiOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAwNTo0NDoyMCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBsZHNvOiBVc2Ugc3lzbGliZGlyIGFuZCBsaWJkaXIgYXMgZGVmYXVsdCBwYXRoZXMgdG8gbGliZGlycworCitJbiBhYnNlbmNlIG9mIC9ldGMvbGQtbXVzbC0kKEFSQ0gpLnBhdGggbGRzbyB1c2VzIGRlZmF1bHQgcGF0aCB0byBzZWFyY2gKK2xpYnJhcmllcyAvbGliOi91c3IvbG9jYWwvbGliOi91c3IvbGliLgorCitIb3dldmVyIHRoaXMgcGF0aCBpc24ndCByZWxldmFudCBpbiBjYXNlIHdoZW4gbGlicmFyeSBpcyBwdXQgaW4gZGlycworbGlrZSBsaWI2NCBvciBsaWJ4MzIuCisKK0FkanVzdCBDRkxBR1NfQUxMIHRvIHBhc3Mgc3lzbGliZGlyIGFzIFNZU0xJQkRJUiBhbmQgbGliZGlyIGFzIExJQkRJUgorcHJlcHJvY2Vzc29yIG1hY3Jvc2VzIHRvIGNvbnN0cnVjdCBkZWZhdWx0IGxkc28gbGlicmFyeSBzZWFyY2ggcGF0aAoraW4gbGRzby9keW5saW5rLmM6OlNZU19QQVRIX0RGTFQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogU2VyaGV5IFBvcG92eWNoIDxzZXJoZS5wb3BvdnljaEBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSAgICAgICB8IDMgKystCisgbGRzby9keW5saW5rLmMgfCA0ICsrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IGI0NmY4Y2E0Li5jMDdlNGFlOCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlCisrKysgYi9NYWtlZmlsZQorQEAgLTQ2LDcgKzQ2LDggQEAgQ0ZMQUdTX0FVVE8gPSAtT3MgLXBpcGUKKyBDRkxBR1NfQzk5RlNFID0gLXN0ZD1jOTkgLWZmcmVlc3RhbmRpbmcgLW5vc3RkaW5jIAorIAorIENGTEFHU19BTEwgPSAkKENGTEFHU19DOTlGU0UpCistQ0ZMQUdTX0FMTCArPSAtRF9YT1BFTl9TT1VSQ0U9NzAwIC1JJChzcmNkaXIpL2FyY2gvJChBUkNIKSAtSSQoc3JjZGlyKS9hcmNoL2dlbmVyaWMgLUlvYmovc3JjL2ludGVybmFsIC1JJChzcmNkaXIpL3NyYy9pbmNsdWRlIC1JJChzcmNkaXIpL3NyYy9pbnRlcm5hbCAtSW9iai9pbmNsdWRlIC1JJChzcmNkaXIpL2luY2x1ZGUKKytDRkxBR1NfQUxMICs9IC1EX1hPUEVOX1NPVVJDRT03MDAgLURTWVNMSUJESVI9JyIkKHN5c2xpYmRpcikiJyAtRExJQkRJUj0nIiQobGliZGlyKSInCisrQ0ZMQUdTX0FMTCArPSAtSSQoc3JjZGlyKS9hcmNoLyQoQVJDSCkgLUkkKHNyY2RpcikvYXJjaC9nZW5lcmljIC1Jb2JqL3NyYy9pbnRlcm5hbCAtSSQoc3JjZGlyKS9zcmMvaW5jbHVkZSAtSSQoc3JjZGlyKS9zcmMvaW50ZXJuYWwgLUlvYmovaW5jbHVkZSAtSSQoc3JjZGlyKS9pbmNsdWRlCisgQ0ZMQUdTX0FMTCArPSAkKENQUEZMQUdTKSAkKENGTEFHU19BVVRPKSAkKENGTEFHUykKKyAKKyBMREZMQUdTX0FMTCA9ICQoTERGTEFHU19BVVRPKSAkKExERkxBR1MpCitkaWZmIC0tZ2l0IGEvbGRzby9keW5saW5rLmMgYi9sZHNvL2R5bmxpbmsuYworaW5kZXggZWM5MjFkZmQuLjdjMTE5YzU1IDEwMDY0NAorLS0tIGEvbGRzby9keW5saW5rLmMKKysrKyBiL2xkc28vZHlubGluay5jCitAQCAtMjIsNiArMjIsOCBAQAorICNpbmNsdWRlICJkeW5saW5rLmgiCisgI2luY2x1ZGUgIm1hbGxvY19pbXBsLmgiCisgCisrI2RlZmluZSBTWVNfUEFUSF9ERkxUIFNZU0xJQkRJUiAiOiIgTElCRElSCisrCisgc3RhdGljIHZvaWQgZXJyb3IoY29uc3QgY2hhciAqLCAuLi4pOworIAorICNkZWZpbmUgTUFYUDIoYSxiKSAoLSgtKGEpJi0oYikpKQorQEAgLTEwMzgsNyArMTA0MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHNvICpsb2FkX2xpYnJhcnkoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGRzbyAqbmVlZGVkX2J5KQorIAkJCQkJc3lzX3BhdGggPSAiIjsKKyAJCQkJfQorIAkJCX0KKy0JCQlpZiAoIXN5c19wYXRoKSBzeXNfcGF0aCA9ICIvbGliOi91c3IvbG9jYWwvbGliOi91c3IvbGliIjsKKysJCQlpZiAoIXN5c19wYXRoKSBzeXNfcGF0aCA9IFNZU19QQVRIX0RGTFQ7CisgCQkJZmQgPSBwYXRoX29wZW4obmFtZSwgc3lzX3BhdGgsIGJ1Ziwgc2l6ZW9mIGJ1Zik7CisgCQl9CisgCQlwYXRobmFtZSA9IGJ1ZjsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2xfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9tdXNsL211c2xfZ2l0LmJiCmluZGV4IDBkOGY4ZWIuLjJkOGRhYjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbXVzbC9tdXNsX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL211c2wvbXVzbF9naXQuYmIKQEAgLTQsMjIgKzQsMjUgQEAKIHJlcXVpcmUgbXVzbC5pbmMKIGluaGVyaXQgbGludXhsb2FkZXIKIAotU1JDUkVWID0gImM1MDk4NWQ1YzhlMzE2YzVjNDY0ZjM1MmU3OWVlZWJmZWQxMTIxYTkiCitTUkNSRVYgPSAiNDNlN2VmYjQ2NTU1ZjEzYTU1NmQ5Mjk0NGFjMDVjMTliODkyOWI2MCIKIAotUFYgPSAiMS4xLjIwK2dpdCR7U1JDUFZ9IgorQkFTRVZFUiA9ICIxLjEuMjEiCisKK1BWID0gIiR7QkFTRVZFUn0rZ2l0JHtTUkNQVn0iCiAKICMgbWlycm9yIGlzIGF0IGdpdDovL2dpdGh1Yi5jb20va3Jhai9tdXNsLmdpdAogCiBTUkNfVVJJID0gImdpdDovL2dpdC5tdXNsLWxpYmMub3JnL211c2wgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLWR5bmFtaWMtbGlua2VyLWEtcmVsYXRpdmUtc3ltbGluay10by1saWJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbGRzby1Vc2Utc3lzbGliZGlyLWFuZC1saWJkaXItYXMtZGVmYXVsdC1wYXRoZXMtdG8tbC5wYXRjaCBcCiAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCi1QUk9WSURFUyArPSAidmlydHVhbC9saWJjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2NyeXB0IgorUFJPVklERVMgKz0gInZpcnR1YWwvbGliYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCB2aXJ0dWFsL2NyeXB0IgogCiBERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIFwKLSAgICAgICAgICAgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjLWluaXRpYWwgXAorICAgICAgICAgICB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgXAogICAgICAgICAgICBsaWJnY2MtaW5pdGlhbCBcCiAgICAgICAgICAgIGxpbnV4LWxpYmMtaGVhZGVycyBcCiAgICAgICAgICAgIGJzZC1oZWFkZXJzIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzLmluYwppbmRleCA5OWZjNDc4Li41ZjJjYzM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlcy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uY3Vyc2VzL25jdXJzZXMuaW5jCkBAIC0yNjAsOSArMjYwLDkgQEAKICAgICBsaWJkaXIgPSBkLmV4cGFuZCgiJHtsaWJkaXJ9IikKICAgICBiYXNlX2xpYmRpciA9IGQuZXhwYW5kKCIke2Jhc2VfbGliZGlyfSIpCiAgICAgcG5iYXNlID0gZC5leHBhbmQoIiR7UE59LWxpYiVzIikKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICdebGliKC4qKVwuc29cLi4qJywgcG5iYXNlLCAnbmN1cnNlcyAlcyBsaWJyYXJ5JywgcHJlcGVuZD1UcnVlLCBleHRyYV9kZXBlbmRzID0gJycsIGFsbG93X2xpbmtzPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJ15saWIoLiopXC5zb1wuLionLCBwbmJhc2UsICduY3Vyc2VzICVzIGxpYnJhcnknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHMgPSAnJywgYWxsb3dfbGlua3M9VHJ1ZSkKICAgICBpZiBsaWJkaXIgaXMgbm90IGJhc2VfbGliZGlyOgotICAgICAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBiYXNlX2xpYmRpciwgJ15saWIoLiopXC5zb1wuLionLCBwbmJhc2UsICduY3Vyc2VzICVzIGxpYnJhcnknLCBwcmVwZW5kPVRydWUsIGV4dHJhX2RlcGVuZHMgPSAnJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgYmFzZV9saWJkaXIsIHInXmxpYiguKilcLnNvXC4uKicsIHBuYmFzZSwgJ25jdXJzZXMgJXMgbGlicmFyeScsIHByZXBlbmQ9VHJ1ZSwgZXh0cmFfZGVwZW5kcyA9ICcnLCBhbGxvd19saW5rcz1UcnVlKQogfQogCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MDYzMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MDYzMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzhmYWY3YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODA2MzAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIG5jdXJzZXMuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpYy1oYW5nLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS1yZXByb2R1Y2libGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2NvbmZpZy5jYWNoZSBcCi0iCi0jIGNvbW1pdCBpZCBjb3JyZXNwb25kcyB0byB0aGUgcmV2aXNpb24gaW4gcGFja2FnZSB2ZXJzaW9uCi1TUkNSRVYgPSAiZDNiMjkxODBhZTQzNjBkN2FiN2E0MWExNWU5NjMyOTlmZGI3MmUzMyIKLVMgPSAiJHtXT1JLRElSfS9naXQiCi1FWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1hYmktdmVyc2lvbj01IgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSsoXCtcZCspKikiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODEwMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25jdXJzZXMvbmN1cnNlc182LjErMjAxODEwMTMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY2Y2E5OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmN1cnNlcy9uY3Vyc2VzXzYuMSsyMDE4MTAxMy5iYgpAQCAtMCwwICsxLDExIEBACityZXF1aXJlIG5jdXJzZXMuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXRpYy1oYW5nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS1yZXByb2R1Y2libGUucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NvbmZpZy5jYWNoZSBcCisiCisjIGNvbW1pdCBpZCBjb3JyZXNwb25kcyB0byB0aGUgcmV2aXNpb24gaW4gcGFja2FnZSB2ZXJzaW9uCitTUkNSRVYgPSAiN2E5N2E3ZjkzNzc2MmJhMzQyZDViMmZkN2NkMDkwODg1YTgwOTgzNSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1hYmktdmVyc2lvbj01IC0tY2FjaGUtZmlsZT0ke0J9L2NvbmZpZy5jYWNoZSIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKFwrXGQrKSopIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2UvbmV0YmFzZS1hZGQtcnBjYmluZC1hcy1hbi1hbGlhcy10by1zdW5ycGMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaAppbmRleCA1NmM4ZDViLi4yN2JhMmY2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZS9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNzY5ODkyMDVhMTQxMWYxNmQ3YWIwOWZmOWQyNzk1MzlhNzNkYzI1OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNTJkNDZjNGQxZmJkNGM4OGQ2OWMyZmNmNzgzN2IyZjJiYTdlZjZmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206ICJNYXhpbiBCLiBKb2huIiA8bWF4aW4uam9obkBpbnRlbC5jb20+CiBEYXRlOiBUaHUsIDEyIEphbiAyMDE3IDE2OjUwOjU4ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIG5ldGJhc2U6IGFkZCBycGNiaW5kIGFzIGFuIGFsaWFzIHRvIHN1bnJwYwpAQCAtMTAsNiArMTAsNyBAQAogCiBTaWduZWQtb2ZmLWJ5OiBMaSBXYW5nIDxsaS53YW5nQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBNYXhpbiBCLiBKb2huIDxtYXhpbi5qb2huQGludGVsLmNvbT4KKwogLS0tCiAgZXRjLXJwYyAgICAgIHwgMiArLQogIGV0Yy1zZXJ2aWNlcyB8IDQgKystLQpAQCAtMjksMTIgKzMwLDEyIEBACiAgcnVzZXJzZAkJMTAwMDAyCXJ1c2VycwogIG5mcwkJMTAwMDAzCW5mc3Byb2cKIGRpZmYgLS1naXQgYS9ldGMtc2VydmljZXMgYi9ldGMtc2VydmljZXMKLWluZGV4IGUzMjAyZWMuLmEwMzlkN2UgMTAwNjQ0CitpbmRleCBmYTdhZTI0Li4xMGJhMmJjIDEwMDY0NAogLS0tIGEvZXRjLXNlcnZpY2VzCiArKysgYi9ldGMtc2VydmljZXMKLUBAIC02NCw4ICs2NCw4IEBAIGNzbmV0LW5zCTEwNS91ZHAJCWNzby1ucwotIHJ0ZWxuZXQJCTEwNy90Y3AJCQkJIyBSZW1vdGUgVGVsbmV0Ci0gcnRlbG5ldAkJMTA3L3VkcAorQEAgLTUxLDggKzUxLDggQEAga2VyYmVyb3MJODgvdWRwCQlrZXJiZXJvczUga3JiNSBrZXJiZXJvcy1zZWMJIyBLZXJiZXJvcyB2NQorIGlzby10c2FwCTEwMi90Y3AJCXRzYXAJCSMgcGFydCBvZiBJU09ERQorIGFjci1uZW1hCTEwNC90Y3AJCWRpY29tCQkjIERpZ2l0YWwgSW1hZy4gJiBDb21tLiAzMDAKICBwb3AzCQkxMTAvdGNwCQlwb3AtMwkJIyBQT1AgdmVyc2lvbiAzCiAtc3VucnBjCQkxMTEvdGNwCQlwb3J0bWFwcGVyCSMgUlBDIDQuMCBwb3J0bWFwcGVyCiAtc3VucnBjCQkxMTEvdWRwCQlwb3J0bWFwcGVyCkBAIC00Myw2ICs0NCwzIEBACiAgYXV0aAkJMTEzL3RjcAkJYXV0aGVudGljYXRpb24gdGFwIGlkZW50CiAgc2Z0cAkJMTE1L3RjcAogIG5udHAJCTExOS90Y3AJCXJlYWRuZXdzIHVudHAJIyBVU0VORVQgTmV3cyBUcmFuc2ZlciBQcm90b2NvbAotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ldGJhc2UvbmV0YmFzZV81LjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhYjBjNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotU1VNTUFSWSA9ICJCYXNpYyBUQ1AvSVAgbmV0d29ya2luZyBzdXBwb3J0IgotREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBuZWNlc3NhcnkgaW5mcmFzdHJ1Y3R1cmUgZm9yIGJhc2ljIFRDUC9JUCBiYXNlZCBuZXR3b3JraW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3BhY2thZ2VzLmRlYmlhbi5vcmcvbmV0YmFzZSIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT0zZGQ2MTkyZDMwNmY1ODJkZWU3Njg3ZGEzZDg3NDhhYiIKLVBFID0gIjEiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNzAxMTJUMDkzODEyWi9wb29sL21haW4vbi8ke0JQTn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9uZXRiYXNlLWFkZC1ycGNiaW5kLWFzLWFuLWFsaWFzLXRvLXN1bnJwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ob3N0cyIKLQotU1JDX1VSSVttZDVzdW1dID0gIjExN2NiNzBjNTVlZjNjMWMwMDJmMTI3ODEyYjExNGMxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2ZmY3M2QyZDE2MmUyZDQ5ZGI0Mzk4OGQ4YjhjZDMyOGNmN2ZmZmNhMDQyZGI3MzM5N2YxNGM3MTgyNWU4MGQiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbi9uZXRiYXNlLyIKLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke21hbmRpcn0vbWFuOCAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2hvc3RzICR7RH0ke3N5c2NvbmZkaXJ9L2hvc3RzCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1ycGMgJHtEfSR7c3lzY29uZmRpcn0vcnBjCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1wcm90b2NvbHMgJHtEfSR7c3lzY29uZmRpcn0vcHJvdG9jb2xzCi0JaW5zdGFsbCAtbSAwNjQ0IGV0Yy1zZXJ2aWNlcyAke0R9JHtzeXNjb25mZGlyfS9zZXJ2aWNlcwotfQotCi1DT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9ob3N0cyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV0YmFzZS9uZXRiYXNlXzUuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWE0OTcxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXRiYXNlL25ldGJhc2VfNS42LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQmFzaWMgVENQL0lQIG5ldHdvcmtpbmcgc3VwcG9ydCIKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IGluZnJhc3RydWN0dXJlIGZvciBiYXNpYyBUQ1AvSVAgYmFzZWQgbmV0d29ya2luZyIKK0hPTUVQQUdFID0gImh0dHA6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL25ldGJhc2UiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9M2RkNjE5MmQzMDZmNTgyZGVlNzY4N2RhM2Q4NzQ4YWIiCitQRSA9ICIxIgorCitTUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL25ldGJhc2UtYWRkLXJwY2JpbmQtYXMtYW4tYWxpYXMtdG8tc3VucnBjLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2FkMTU2MjcyYzVhNDJmNDljNzMzODZmZjM5Yzg2MjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQ5M2EwOTlkZWIyODg2OWI3MzA2ZTkxNDcwMGZhZmJkMjkzYjU1YmRiNWRmMDVhNWFhNmVmZmQwYWY1OTMwYyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9uL25ldGJhc2UvIgorZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7bWFuZGlyfS9tYW44ICR7RH0ke3N5c2NvbmZkaXJ9CisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1ycGMgJHtEfSR7c3lzY29uZmRpcn0vcnBjCisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1wcm90b2NvbHMgJHtEfSR7c3lzY29uZmRpcn0vcHJvdG9jb2xzCisJaW5zdGFsbCAtbSAwNjQ0IGV0Yy1zZXJ2aWNlcyAke0R9JHtzeXNjb25mZGlyfS9zZXJ2aWNlcworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYi5pbmMKaW5kZXggYzk3YzdjMi4uZjUwZTVmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWIuaW5jCkBAIC0yMCwxMSArMjAsNyBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gImM4NTY2MzM1ZWU3NGU1ZmNhZWI4NTk1YjRlYmQwNDAwYzRiMDQzZDZhY2IzMjYzZWNiMTMxNGY4ZjU1MDEzMzIiCiAKIElOSElCSVRfREVGQVVMVF9ERVBTID0gIjEiCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIgotCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyIKIAogUyA9ICIke1dPUktESVJ9L25ld2xpYi0ke1BWfSIKIEIgPSAiJHtXT1JLRElSfS9idWlsZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYl8zLjAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvbmV3bGliL25ld2xpYl8zLjAuMC5iYgppbmRleCAwOTIzOGZlLi5kYjEzNzI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL25ld2xpYi9uZXdsaWJfMy4wLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9uZXdsaWIvbmV3bGliXzMuMC4wLmJiCkBAIC0xLDYgKzEsNiBAQAogcmVxdWlyZSBuZXdsaWIuaW5jCiAKLVBST1ZJREVTICs9ICJ2aXJ0dWFsL2xpYmMgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIHZpcnR1YWwvbGliaWNvbnYgdmlydHVhbC9saWJpbnRsIgorUFJPVklERVMgKz0gInZpcnR1YWwvbGliYyB2aXJ0dWFsL2xpYmljb252IHZpcnR1YWwvbGliaW50bCIKIAogZG9fY29uZmlndXJlKCkgewogCSR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vcy1yZWxlYXNlL29zLXJlbGVhc2UuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgppbmRleCA3ZjNkOWNiLi5kNTc5M2M2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL29zLXJlbGVhc2Uvb3MtcmVsZWFzZS5iYgpAQCAtMzAsNyArMzAsNiBAQAogICAgIHJldHVybiByZXQubG93ZXIoKQogCiBweXRob24gZG9fY29tcGlsZSAoKSB7Ci0gICAgaW1wb3J0IHNodXRpbAogICAgIHdpdGggb3BlbihkLmV4cGFuZCgnJHtCfS9vcy1yZWxlYXNlJyksICd3JykgYXMgZjoKICAgICAgICAgZm9yIGZpZWxkIGluIGQuZ2V0VmFyKCdPU19SRUxFQVNFX0ZJRUxEUycpLnNwbGl0KCk6CiAgICAgICAgICAgICB2YWx1ZSA9IGQuZ2V0VmFyKGZpZWxkKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vdm1mL292bWZfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9vdm1mL292bWZfZ2l0LmJiCmluZGV4IGQyZWNiNjEuLjcxODI4ZDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvb3ZtZi9vdm1mX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL292bWYvb3ZtZl9naXQuYmIKQEAgLTQzLDggKzQzLDcgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotREVQRU5EU19jbGFzcy1uYXRpdmU9InV0aWwtbGludXgtbmF0aXZlIGlhc2wtbmF0aXZlIHFlbXUtbmF0aXZlIgotCitERVBFTkRTX2NsYXNzLW5hdGl2ZT0idXRpbC1saW51eC1uYXRpdmUgaWFzbC1uYXRpdmUiCiBERVBFTkRTX2NsYXNzLXRhcmdldD0ib3ZtZi1uYXRpdmUiCiAKIERFUEVORFNfYXBwZW5kID0gIiBuYXNtLW5hdGl2ZSIKQEAgLTIzMiw2ICsyMzEsMTAgQEAKICAgICBlZmkvIFwKICIKIAorREVQTE9ZREVQID0gIiIKK0RFUExPWURFUF9jbGFzcy10YXJnZXQgPSAicWVtdS1zeXN0ZW0tbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiCitkb19kZXBsb3lbZGVwZW5kc10gKz0gIiR7REVQTE9ZREVQfSIKKwogZG9fZGVwbG95KCkgewogfQogZG9fZGVwbG95W2NsZWFuZGlyc10gPSAiJHtERVBMT1lESVJ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL25hdGl2ZXNkay1wYWNrYWdlZ3JvdXAtc2RrLWhvc3QuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgppbmRleCA0YmYwYWMwLi5hZTk4OTAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvbmF0aXZlc2RrLXBhY2thZ2Vncm91cC1zZGstaG9zdC5iYgpAQCAtMjIsNiArMjIsNyBAQAogICAgIG5hdGl2ZXNkay1zaGFkb3cgXAogICAgIG5hdGl2ZXNkay1tYWtlZGV2cyBcCiAgICAgbmF0aXZlc2RrLWNtYWtlIFwKKyAgICBuYXRpdmVzZGstbWVzb24gXAogICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCcsICduYXRpdmVzZGstd2F5bGFuZCcsICcnLCBkKX0gXAogICAgIG5hdGl2ZXNkay1zZGstcHJvdmlkZXMtZHVtbXkgXAogICAgIG5hdGl2ZXNkay1iaXNvbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtc2RrLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXNkay5iYgppbmRleCA0NWU4YzEzLi4xNWQwOTg5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtc2RrLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1zZGsuYmIKQEAgLTI3LDYgKzI3LDcgQEAKICAgICB0Y2wiCiAKIFNBTklUSVpFUlMgPSAibGliYXNhbi1kZXYgbGlidWJzYW4tZGV2IgorU0FOSVRJWkVSU19hcmMgPSAiIgogU0FOSVRJWkVSU19taWNyb2JsYXplID0gIiIKIFNBTklUSVpFUlNfbWlwc2FyY2ggPSAiIgogU0FOSVRJWkVSU19uaW9zMiA9ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtcHJvZmlsZS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCmluZGV4IDMzZDljMDkuLjNmZDQyM2MgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy1wcm9maWxlLmJiCkBAIC0zNywxNSArMzcsMTMgQEAKIAogIyBsdHRuZy11c3QgdXNlcyBzY2hlZF9nZXRjcHUoKSB3aGljaCBpcyBub3QgdGhlcmUgb24gZm9yIHNvbWUgcGxhdGZvcm1zLgogTFRUTkdVU1QgPSAibHR0bmctdXN0IgotTFRUTkdVU1RfbGliYy1tdXNsID0gIiIKLUxUVE5HVVNUX3Jpc2N2NjQgPSAiIgorTFRUTkdVU1RfYXJjID0gIiIKIAogTFRUTkdUT09MUyA9ICJsdHRuZy10b29scyIKLUxUVE5HVE9PTFNfbGliYy1tdXNsID0gIiIKLUxUVE5HVE9PTFNfcmlzY3Y2NCA9ICIiCitMVFROR1RPT0xTX2FyYyA9ICIiCiAKIExUVE5HTU9EVUxFUyA9ICJsdHRuZy1tb2R1bGVzIgotTFRUTkdNT0RVTEVTX3Jpc2N2NjQgPSAiIgorTFRUTkdNT0RVTEVTX2FyYyA9ICIiCiAKIEJBQkVMVFJBQ0UgPSAiYmFiZWx0cmFjZSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXRlc3RhcHBzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXRvb2xzLXRlc3RhcHBzLmJiCmluZGV4IDY0MzIxOTguLmE1ZmMxNTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS10b29scy10ZXN0YXBwcy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtdG9vbHMtdGVzdGFwcHMuYmIKQEAgLTM0LDEyICszNCwxMCBAQAogICAgIHhyZXN0b3AgXAogICAgIHh3aW5pbmZvIFwKICAgICB4cHJvcCBcCi0gICAgeHZpZGVvLXRlc3RzIFwKICAgICAiCiAKIFJERVBFTkRTXyR7UE59ID0gIlwKICAgICBibGt0b29sIFwKLSAgICBscnpzeiBcCiAgICAgJHtLRVhFQ1RPT0xTfSBcCiAgICAgYWxzYS11dGlscy1hbWl4ZXIgXAogICAgIGFsc2EtdXRpbHMtYXBsYXkgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZWxmLWhvc3RlZC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtc2VsZi1ob3N0ZWQuYmIKaW5kZXggOWE2NzIxYy4uYjI5NmRiNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1zZWxmLWhvc3RlZC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLXNlbGYtaG9zdGVkLmJiCkBAIC0xMjgsNyArMTI4LDYgQEAKICAgICBsaWJhaW8gXAogICAgIGxpYnVzYjEgXAogICAgIGxpYnhtbDIgXAotICAgIGxyenN6IFwKICAgICBsc29mIFwKICAgICBsem8gXAogICAgIG1hbiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BzcGxhc2gvcHNwbGFzaF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3BzcGxhc2gvcHNwbGFzaF9naXQuYmIKaW5kZXggM2FkMWVmNC4uMzE2MWE1ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9wc3BsYXNoL3BzcGxhc2hfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcHNwbGFzaC9wc3BsYXNoX2dpdC5iYgpAQCAtNzQsNyArNzQsNiBAQAogcHl0aG9uIGRvX2NvbXBpbGUgKCkgewogICAgIGltcG9ydCBzaHV0aWwKICAgICBpbXBvcnQgc3VicHJvY2VzcwotICAgIGltcG9ydCBzaGxleAogCiAgICAgIyBCdWlsZCBhIHNlcGFyYXRlIGV4ZWN1dGFibGUgZm9yIGVhY2ggc3BsYXNoIGltYWdlCiAgICAgd29ya2RpciA9IGQuZ2V0VmFyKCdXT1JLRElSJykKQEAgLTg0LDkgKzgzLDEwIEBACiAgICAgb3V0cHV0ZmlsZXMgPSBkLmdldFZhcignU1BMQVNIX0lOU1RBTEwnKS5zcGxpdCgpCiAgICAgZm9yIGxvY2FsZmlsZSwgb3V0cHV0ZmlsZSBpbiB6aXAobG9jYWxmaWxlcywgb3V0cHV0ZmlsZXMpOgogICAgICAgICBpZiBsb2NhbGZpbGUuZW5kc3dpdGgoIi5wbmciKToKLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2FsbChzaGxleC5zcGxpdCgnJXMgJXMgUE9LWScgJSAoY29udmVydHNjcmlwdCwgb3MucGF0aC5qb2luKHdvcmtkaXIsIGxvY2FsZmlsZSkpKSkKKyAgICAgICAgICAgIGlmIHN1YnByb2Nlc3MuY2FsbChbIGNvbnZlcnRzY3JpcHQsIG9zLnBhdGguam9pbih3b3JrZGlyLCBsb2NhbGZpbGUpLCAnUE9LWScgXSwgY3dkPXdvcmtkaXIpOgorICAgICAgICAgICAgICAgIGJiLmZhdGFsKCJFcnJvciBjYWxsaW5nIGNvbnZlcnQgc2NyaXB0ICclcyciICUgKGNvbnZlcnRzY3JpcHQpKQogICAgICAgICAgICAgZmJhc2UgPSBvcy5wYXRoLnNwbGl0ZXh0KGxvY2FsZmlsZSlbMF0KLSAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZSgiJXMtaW1nLmgiICUgZmJhc2UsIGRlc3RmaWxlKQorICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKG9zLnBhdGguam9pbih3b3JrZGlyLCAiJXMtaW1nLmgiICUgZmJhc2UpLCBkZXN0ZmlsZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNodXRpbC5jb3B5ZmlsZShvcy5wYXRoLmpvaW4od29ya2RpciwgbG9jYWxmaWxlKSwgZGVzdGZpbGUpCiAgICAgICAgICMgRm9yIHNvbWUgcmVhc29uIGp1c3QgdXBkYXRpbmcgdGhlIGhlYWRlciBpcyBub3QgZW5vdWdoLCB3ZSBoYXZlIHRvIHRvdWNoIHRoZSAuYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZS03LjAvY29uZmlndXJlLWZpeC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtNy4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtOC4wL2NvbmZpZ3VyZS1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmUtNy4wL25vcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTguMC9ub3JwYXRoLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTcuMC9ub3JwYXRoLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lLTguMC9ub3JwYXRoLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzcuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfNy4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWRmYWE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvcmVhZGxpbmUvcmVhZGxpbmVfNy4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1yZXF1aXJlIHJlYWRsaW5lLmluYwotCi1TUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLWZpeC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vbm9ycGF0aC5wYXRjaCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMjA1YjAzYTg3ZmM4M2RhYjY1M2I2MjhjNTliOWZjOTEiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3NTBkNDM3MTg1Mjg2ZjQwYTM2OWUxZTRmNDc2NGVkYTkzMmI5NDU5YjVlYzlhNzMxNjI4MzkzZGQzZDMyMzM0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV84LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3JlYWRsaW5lL3JlYWRsaW5lXzguMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWQwMjJhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9yZWFkbGluZS9yZWFkbGluZV84LjAuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIHJlYWRsaW5lLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLWZpeC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vbm9ycGF0aC5wYXRjaCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiN2U2YzFmMTZhZWUzMjQ0YTY5YWJhNmU0MzgyOTVjYTMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlMzM5ZjUxOTcxNDc4ZDM2OWY4YTA1M2EzMzBhMTkwNzgxYWNiOTg2NGNmNGM1NDEwNjBmMTIwNzg5NDhlNDYxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yMzkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzIzOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQ1MGQ1Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1ib290XzIzOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLXJlcXVpcmUgc3lzdGVtZC5pbmMKLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L3N5c3RlbWQ6IgotCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCBnbnUtZWZpIGdwZXJmLW5hdGl2ZSIKLQotU1JDX1VSSSArPSAiZmlsZTovLzAwMDItdXNlLWxuci13cmFwcGVyLWluc3RlYWQtb2YtbG9va2luZy1mb3ItcmVsYXRpdmUtb3B0aS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRvLXJ1bi1lZmlfY2MtYW5kLWVmaV9sZC1jb3JyZWN0bHktd2hlbi1jcm9zcy1jby5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGdldHRleHQKLWluaGVyaXQgZGVwbG95Ci0KLUVGSV9DQyA/PSAiJHtDQ30iCi1FWFRSQV9PRU1FU09OICs9ICItRGVmaT10cnVlIFwKLSAgICAgICAgICAgICAgICAgIC1EZ251LWVmaT10cnVlIFwKLSAgICAgICAgICAgICAgICAgIC1EZWZpLWluY2x1ZGVkaXI9JHtTVEFHSU5HX0lOQ0RJUn0vZWZpIFwKLSAgICAgICAgICAgICAgICAgIC1EZWZpLWxkc2Rpcj0ke1NUQUdJTkdfTElCRElSfSBcCi0gICAgICAgICAgICAgICAgICAtRGVmaS1saWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0gXAotICAgICAgICAgICAgICAgICAgLURtYW49ZmFsc2UgXAotICAgICAgICAgICAgICAgICAgLURlZmktY2M9JyR7RUZJX0NDfScgXAotICAgICAgICAgICAgICAgICAgLURlZmktbGQ9JyR7TER9JyBcCi0gICAgICAgICAgICAgICAgICAiCi0KLSMgaW5zdGFsbCB0byB0aGUgaW1hZ2UgYXMgYm9vdCouZWZpIGlmIGl0cyB0aGUgRUZJX1BST1ZJREVSLAotIyBvdGhlcndpc2UgaW5zdGFsbCBhcyB0aGUgZnVsbCBuYW1lLgotIyBUaGlzIGFsbG93cyBtdWx0aXBsZSBib290bG9hZGVycyB0byBjb2V4aXN0IGluIGEgc2luZ2xlIGltYWdlLgotcHl0aG9uIF9fYW5vbnltb3VzICgpIHsKLSAgICBpbXBvcnQgcmUKLSAgICB0YXJnZXQgPSBkLmdldFZhcignVEFSR0VUX0FSQ0gnKQotICAgIHByZWZpeCA9ICIiIGlmIGQuZ2V0VmFyKCdFRklfUFJPVklERVInKSA9PSAic3lzdGVtZC1ib290IiBlbHNlICJzeXN0ZW1kLSIKLSAgICBpZiB0YXJnZXQgPT0gIng4Nl82NCI6Ci0gICAgICAgIHN5c3RlbWRpbWFnZSA9IHByZWZpeCArICJib290eDY0LmVmaSIKLSAgICBlbHNlOgotICAgICAgICBzeXN0ZW1kaW1hZ2UgPSBwcmVmaXggKyAiYm9vdGlhMzIuZWZpIgotICAgIGQuc2V0VmFyKCJTWVNURU1EX0JPT1RfSU1BR0UiLCBzeXN0ZW1kaW1hZ2UpCi0gICAgcHJlZml4ID0gInN5c3RlbWQtIiBpZiBwcmVmaXggPT0gIiIgZWxzZSAiIgotICAgIGQuc2V0VmFyKCJTWVNURU1EX0JPT1RfSU1BR0VfUFJFRklYIiwgcHJlZml4KQotfQotCi1GSUxFU18ke1BOfSA9ICIvYm9vdC9FRkkvQk9PVC8ke1NZU1RFTURfQk9PVF9JTUFHRX0iCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ2aXJ0dWFsL3N5c3RlbWQtYm9vdGNvbmYiCi0KLSMgSW1wb3J0ZWQgZnJvbSB0aGUgb2xkIGd1bW1pYm9vdCByZWNpcGUKLVRVTkVfQ0NBUkdTX3JlbW92ZSA9ICItbWZwbWF0aD1zc2UiCi1DT01QQVRJQkxFX0hPU1QgPSAiKHg4Nl82NC4qfGkuODYuKiktbGludXgiCi1DT01QQVRJQkxFX0hPU1RfeDg2LXgzMiA9ICJudWxsIgotCi1kb19jb21waWxlKCkgewotCVNZU1RFTURfQk9PVF9FRklfQVJDSD0iaWEzMiIKLQlpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiBdOyB0aGVuCi0JCVNZU1RFTURfQk9PVF9FRklfQVJDSD0ieDY0IgotCWZpCi0KLQluaW5qYSBzcmMvYm9vdC9lZmkvJHtTWVNURU1EX0JPT1RfSU1BR0VfUFJFRklYfSR7U1lTVEVNRF9CT09UX0lNQUdFfQotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfS9ib290Ci0JaW5zdGFsbCAtZCAke0R9L2Jvb3QvRUZJCi0JaW5zdGFsbCAtZCAke0R9L2Jvb3QvRUZJL0JPT1QKLQlpbnN0YWxsICR7Qn0vc3JjL2Jvb3QvZWZpL3N5c3RlbWQtYm9vdCouZWZpICR7RH0vYm9vdC9FRkkvQk9PVC8ke1NZU1RFTURfQk9PVF9JTUFHRX0KLX0KLQotZG9fZGVwbG95ICgpIHsKLQlpbnN0YWxsICR7Qn0vc3JjL2Jvb3QvZWZpL3N5c3RlbWQtYm9vdCouZWZpICR7REVQTE9ZRElSfQotfQotYWRkdGFzayBkZXBsb3kgYmVmb3JlIGRvX2J1aWxkIGFmdGVyIGRvX2NvbXBpbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjQxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtYm9vdF8yNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZlNjhhMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWJvb3RfMjQxLmJiCkBAIC0wLDAgKzEsNzEgQEAKK3JlcXVpcmUgc3lzdGVtZC5pbmMKK0ZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L3N5c3RlbWQ6IgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBsaWJjYXAgdXRpbC1saW51eCBnbnUtZWZpIGdwZXJmLW5hdGl2ZSIKKworIyBOT1RFOiBUaGVzZSB0aHJlZSBwYXRjaGVzIGFyZSBpbiB0aGVvcnkgbm90IG5lZWRlZCwgYnV0IHdlIGhhdmVuJ3QKKyMgICAgICAgZmlndXJlZCBvdXQgaG93IHRvIGNvcnJlY3RseSBwYXNzIGVmaS1jYyBwYXJhbWV0ZXIgaWYgaXQncyBhbiBhcnJheS4KK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLVJldmVydC1tZXNvbi11c2UtYW4tYXJyYXktb3B0aW9uLWZvci1lZmktY2MucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdG8tcnVuLWVmaV9jYy1hbmQtZWZpX2xkLWNvcnJlY3RseS13aGVuLWNyb3NzLWNvLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZ2V0dGV4dAoraW5oZXJpdCBkZXBsb3kKKworRUZJX0NDID89ICIke0NDfSIKK0VYVFJBX09FTUVTT04gKz0gIi1EZWZpPXRydWUgXAorICAgICAgICAgICAgICAgICAgLURnbnUtZWZpPXRydWUgXAorICAgICAgICAgICAgICAgICAgLURlZmktaW5jbHVkZWRpcj0ke1NUQUdJTkdfSU5DRElSfS9lZmkgXAorICAgICAgICAgICAgICAgICAgLURlZmktbGRzZGlyPSR7U1RBR0lOR19MSUJESVJ9IFwKKyAgICAgICAgICAgICAgICAgIC1EZWZpLWxpYmRpcj0ke1NUQUdJTkdfTElCRElSfSBcCisgICAgICAgICAgICAgICAgICAtRG1hbj1mYWxzZSBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1jYz0nJHtFRklfQ0N9JyBcCisgICAgICAgICAgICAgICAgICAtRGVmaS1sZD0nJHtMRH0nIFwKKyAgICAgICAgICAgICAgICAgICIKKworIyBpbnN0YWxsIHRvIHRoZSBpbWFnZSBhcyBib290Ki5lZmkgaWYgaXRzIHRoZSBFRklfUFJPVklERVIsCisjIG90aGVyd2lzZSBpbnN0YWxsIGFzIHRoZSBmdWxsIG5hbWUuCisjIFRoaXMgYWxsb3dzIG11bHRpcGxlIGJvb3Rsb2FkZXJzIHRvIGNvZXhpc3QgaW4gYSBzaW5nbGUgaW1hZ2UuCitweXRob24gX19hbm9ueW1vdXMgKCkgeworICAgIGltcG9ydCByZQorICAgIHRhcmdldCA9IGQuZ2V0VmFyKCdUQVJHRVRfQVJDSCcpCisgICAgcHJlZml4ID0gIiIgaWYgZC5nZXRWYXIoJ0VGSV9QUk9WSURFUicpID09ICJzeXN0ZW1kLWJvb3QiIGVsc2UgInN5c3RlbWQtIgorICAgIGlmIHRhcmdldCA9PSAieDg2XzY0IjoKKyAgICAgICAgc3lzdGVtZGltYWdlID0gcHJlZml4ICsgImJvb3R4NjQuZWZpIgorICAgIGVsc2U6CisgICAgICAgIHN5c3RlbWRpbWFnZSA9IHByZWZpeCArICJib290aWEzMi5lZmkiCisgICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRSIsIHN5c3RlbWRpbWFnZSkKKyAgICBwcmVmaXggPSAic3lzdGVtZC0iIGlmIHByZWZpeCA9PSAiIiBlbHNlICIiCisgICAgZC5zZXRWYXIoIlNZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVgiLCBwcmVmaXgpCit9CisKK0ZJTEVTXyR7UE59ID0gIi9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfSIKKworUkRFUEVORFNfJHtQTn0gKz0gInZpcnR1YWwvc3lzdGVtZC1ib290Y29uZiIKKworIyBJbXBvcnRlZCBmcm9tIHRoZSBvbGQgZ3VtbWlib290IHJlY2lwZQorVFVORV9DQ0FSR1NfcmVtb3ZlID0gIi1tZnBtYXRoPXNzZSIKK0NPTVBBVElCTEVfSE9TVCA9ICIoeDg2XzY0Lip8aS44Ni4qKS1saW51eCIKK0NPTVBBVElCTEVfSE9TVF94ODYteDMyID0gIm51bGwiCisKK2RvX2NvbXBpbGUoKSB7CisJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJpYTMyIgorCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIF07IHRoZW4KKwkJU1lTVEVNRF9CT09UX0VGSV9BUkNIPSJ4NjQiCisJZmkKKworCW5pbmphIHNyYy9ib290L2VmaS8ke1NZU1RFTURfQk9PVF9JTUFHRV9QUkVGSVh9JHtTWVNURU1EX0JPT1RfSU1BR0V9Cit9CisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9L2Jvb3QKKwlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkKKwlpbnN0YWxsIC1kICR7RH0vYm9vdC9FRkkvQk9PVAorCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtEfS9ib290L0VGSS9CT09ULyR7U1lTVEVNRF9CT09UX0lNQUdFfQorfQorCitkb19kZXBsb3kgKCkgeworCWluc3RhbGwgJHtCfS9zcmMvYm9vdC9lZmkvc3lzdGVtZC1ib290Ki5lZmkgJHtERVBMT1lESVJ9Cit9CithZGR0YXNrIGRlcGxveSBiZWZvcmUgZG9fYnVpbGQgYWZ0ZXIgZG9fY29tcGlsZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQtY29uZi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLWNvbmZfMjQxLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1jb25mLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC1jb25mXzI0MS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQuaW5jCmluZGV4IDczNmUwYTAuLjViZDg4ZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC5pbmMKQEAgLTE0LDggKzE0LDEwIEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkdQTDI7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UuTEdQTDIuMTttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCiAKLVNSQ1JFViA9ICJkZTc0MzZiMDJiYWRjODIyMDBkYzEyN2ZmMTkwYjgxNTU3NjliOGU3IgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kLmdpdDtwcm90b2NvbD1naXQiCitTUkNSRVYgPSAiYzFmOGZmOGQwZGU3ZTMwM2I4MDA0YjAyYTBhNDdkNGNjMTAzYTdmOCIKK1NSQ0JSQU5DSCA9ICJ2MjQxLXN0YWJsZSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQtc3RhYmxlLmdpdDtwcm90b2NvbD1naXQ7YnJhbmNoPSR7U1JDQlJBTkNIfSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKKworUFZfYXBwZW5kID0gIiske1NSQ1BWfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmVtb3ZlLWZzdGFjay1wcm90ZWN0b3ItZmxhZ3MtdG8td29ya2Fyb3VuZC1tdXNsLWJ1aS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc0NTgwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLWZsYWdzLXRvLXdvcmthcm91bmQtbXVzbC1idWkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDllMzgxNmJjYWEzNmUxYTExNjQ3Y2EwY2Y0ZjgwNDQ0NDljNzdmZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDIgSnVsIDIwMTggMTU6Mjg6MjIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIGZzdGFjay1wcm90ZWN0b3IgZmxhZ3MgdG8gd29ya2Fyb3VuZCBtdXNsIGJ1aWxkCi0KLVJlbW92ZSBmc3RhY2stcHJvdGVjdG9yIGFuZCBmc3RhY2stcHJvdGVjdG9yLXN0cm9uZyBmbGFncyB0byBmaXgKLXRoZSBmb2xsb3dpbmcgYnVpbGQgZmFpbHVyZSBmb3IgcWVtdXg4NiBhbmQgcWVtdXBwYyB3aXRoIG11c2wuCi0KLSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19zdGFja19jaGtfZmFpbF9sb2NhbCcKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIFNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtZXNvbi5idWlsZCB8IDIgLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKLWluZGV4IGY0MzJlYTA3Mi4uYTczNGEyOTVjIDEwMDY0NAotLS0tIGEvbWVzb24uYnVpbGQKLSsrKyBiL21lc29uLmJ1aWxkCi1AQCAtMzMzLDggKzMzMyw2IEBAIHBvc3NpYmxlX2NjX2ZsYWdzID0gWwotICAgICAgICAgJy1mZGlhZ25vc3RpY3Mtc2hvdy1vcHRpb24nLAotICAgICAgICAgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJywKLSAgICAgICAgICctZnZpc2liaWxpdHk9aGlkZGVuJywKLS0gICAgICAgICctZnN0YWNrLXByb3RlY3RvcicsCi0tICAgICAgICAnLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nJywKLSAgICAgICAgICctLXBhcmFtPXNzcC1idWZmZXItc2l6ZT00JywKLSBdCi0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1tZXNvbi1wcmludC1FRkktQ0MtY29uZmlndXJhdGlvbi1uaWNlbHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVJldmVydC1tZXNvbi1wcmludC1FRkktQ0MtY29uZmlndXJhdGlvbi1uaWNlbHkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQxNGUyNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXByaW50LUVGSS1DQy1jb25maWd1cmF0aW9uLW5pY2VseS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDBiZjUzMGFhYzE1MjYzMDUwMDkzOWRiMzFmOThkOTMzMTU4ZmRhYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI2IEZlYiAyMDE5IDE0OjI3OjQ5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibWVzb246IHByaW50IEVGSSBDQyBjb25maWd1cmF0aW9uIG5pY2VseSIKKworVGhpcyByZXZlcnRzIGNvbW1pdCBjNTEyZGZiOWFjOTQ4ZGRiMWNlZDBkYWIwN2I5ZGFjODhiMTk4MjkzLgorCitUaGlzIHBhdGNoIGlzIGhlcmUgYmVjYXVzZSB3ZSBoYXZlbid0IGZpZ3VyZWQgb3V0IGhvdyB0byBwYXNzCitwYXJhbWV0ZXIgdG8gZWZpLWNjIGlmIGl0J3MgYW4gYXJyYXkgaW4gc3lzdGVtZC1ib290IHJlY2lwZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCA3MGZiMjE4Li4zMGRmODM0IDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMzEzOCw3ICszMTM4LDcgQEAgaWYgY29uZi5nZXQoJ0VOQUJMRV9FRkknKSA9PSAxCisgICAgICAgICBpZiBoYXZlX2dudV9lZmkKKyAgICAgICAgICAgICAgICAgc3RhdHVzICs9IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRUZJIG1hY2hpbmUgdHlwZTogICAgICAgICAgICAgICAgICBAMEAnLmZvcm1hdChFRklfTUFDSElORV9UWVBFX05BTUUpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICdFRkkgQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAwQCcuZm9ybWF0KCcgJy5qb2luKGVmaV9jYykpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICdFRkkgQ0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEAwQCcuZm9ybWF0KGVmaV9jYyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBsaWIgZGlyZWN0b3J5OiAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2xpYmRpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBsZHMgZGlyZWN0b3J5OiAgICAgICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2xkc2RpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ0VGSSBpbmNsdWRlIGRpcmVjdG9yeTogICAgICAgICAgICAgQDBAJy5mb3JtYXQoZWZpX2luY2RpcildCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXVzZS1hbi1hcnJheS1vcHRpb24tZm9yLWVmaS1jYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LW1lc29uLXVzZS1hbi1hcnJheS1vcHRpb24tZm9yLWVmaS1jYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDJlYmY2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtbWVzb24tdXNlLWFuLWFycmF5LW9wdGlvbi1mb3ItZWZpLWNjLnBhdGNoCkBAIC0wLDAgKzEsNzcgQEAKK0Zyb20gMDAzMGRjYmFjMWE5MTc3ZWY3YTI4YWYyMDlhYzY3MTQ5Yjg5OWY1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjYgRmViIDIwMTkgMTQ6MTc6MjUgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJtZXNvbjogdXNlIGFuIGFycmF5IG9wdGlvbiBmb3IgZWZpLWNjIgorCitUaGlzIHJldmVydHMgY29tbWl0IDU5NTM0M2ZiNGM5OWMyNjc5ZDM0N2VmN2MxOWRlYmZiZmVkNjM0MmUuCisKK1RoaXMgcGF0Y2ggaXMgaGVyZSBiZWNhdXNlIHdlIGhhdmVuJ3QgZmlndXJlZCBvdXQgaG93IHRvIHBhc3MKK3BhcmFtZXRlciB0byBlZmktY2MgaWYgaXQncyBhbiBhcnJheSBpbiBzeXN0ZW1kLWJvb3QgcmVjaXBlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbl9vcHRpb25zLnR4dCAgICAgICAgfCAgMiArLQorIHNyYy9ib290L2VmaS9tZXNvbi5idWlsZCB8IDExICsrKysrKy0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0CitpbmRleCAwNDRiYjc5Li4zZDI4YmZkIDEwMDY0NAorLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrKyBiL21lc29uX29wdGlvbnMudHh0CitAQCAtMjkyLDcgKzI5Miw3IEBAIG9wdGlvbignZGJ1cycsIHR5cGUgOiAnY29tYm8nLCBjaG9pY2VzIDogWydhdXRvJywgJ3RydWUnLCAnZmFsc2UnXSwKKyAKKyBvcHRpb24oJ2dudS1lZmknLCB0eXBlIDogJ2NvbWJvJywgY2hvaWNlcyA6IFsnYXV0bycsICd0cnVlJywgJ2ZhbHNlJ10sCisgICAgICAgIGRlc2NyaXB0aW9uIDogJ2dudS1lZmkgc3VwcG9ydCBmb3Igc2QtYm9vdCcpCistb3B0aW9uKCdlZmktY2MnLCB0eXBlIDogJ2FycmF5JywKKytvcHRpb24oJ2VmaS1jYycsIHR5cGUgOiAnc3RyaW5nJywKKyAgICAgICAgZGVzY3JpcHRpb24gOiAndGhlIGNvbXBpbGVyIHRvIHVzZSBmb3IgRUZJIG1vZHVsZXMnKQorIG9wdGlvbignZWZpLWxkJywgdHlwZSA6ICdzdHJpbmcnLAorICAgICAgICBkZXNjcmlwdGlvbiA6ICd0aGUgbGlua2VyIHRvIHVzZSBmb3IgRUZJIG1vZHVsZXMnKQorZGlmZiAtLWdpdCBhL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZCBiL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZAoraW5kZXggMjE0MDE1MS4uZDhkYjNhMSAxMDA2NDQKKy0tLSBhL3NyYy9ib290L2VmaS9tZXNvbi5idWlsZAorKysrIGIvc3JjL2Jvb3QvZWZpL21lc29uLmJ1aWxkCitAQCAtMzQsOCArMzQsOCBAQCBzdHViX3NvdXJjZXMgPSAnJycKKyAKKyBpZiBjb25mLmdldCgnRU5BQkxFX0VGSScpID09IDEgYW5kIGdldF9vcHRpb24oJ2dudS1lZmknKSAhPSAnZmFsc2UnCisgICAgICAgICBlZmlfY2MgPSBnZXRfb3B0aW9uKCdlZmktY2MnKQorLSAgICAgICAgaWYgZWZpX2NjLmxlbmd0aCgpID09IDAKKy0gICAgICAgICAgICAgICAgZWZpX2NjID0gY2MuY21kX2FycmF5KCkKKysgICAgICAgIGlmIGVmaV9jYyA9PSAnJworKyAgICAgICAgICAgICAgICBlZmlfY2MgPSAnICcuam9pbihjYy5jbWRfYXJyYXkoKSkKKyAgICAgICAgIGVuZGlmCisgICAgICAgICBlZmlfbGQgPSBnZXRfb3B0aW9uKCdlZmktbGQnKQorICAgICAgICAgaWYgZWZpX2xkID09ICcnCitAQCAtNTcsNyArNTcsOCBAQCBpZiBjb25mLmdldCgnRU5BQkxFX0VGSScpID09IDEgYW5kIGdldF9vcHRpb24oJ2dudS1lZmknKSAhPSAnZmFsc2UnCisgCisgICAgICAgICBlZmlfbGliZGlyID0gZ2V0X29wdGlvbignZWZpLWxpYmRpcicpCisgICAgICAgICBpZiBlZmlfbGliZGlyID09ICcnCistICAgICAgICAgICAgICAgIHJldCA9IHJ1bl9jb21tYW5kKGVmaV9jYyArIFsnLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeSddKQorKyAgICAgICAgICAgICAgICBjbWQgPSAnY2QgL3Vzci9saWIvJChAMEAgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeSkgJiYgcHdkJy5mb3JtYXQoZWZpX2NjKQorKyAgICAgICAgICAgICAgICByZXQgPSBydW5fY29tbWFuZCgnc2gnLCAnLWMnLCBjbWQpCisgICAgICAgICAgICAgICAgIGlmIHJldC5yZXR1cm5jb2RlKCkgPT0gMAorICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggPSBqb2luX3BhdGhzKCcvdXNyL2xpYicsIHJldC5zdGRvdXQoKS5zdHJpcCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IHJ1bl9jb21tYW5kKCdyZWFscGF0aCcsICctZScsIHBhdGgpCitAQCAtMTUyLDcgKzE1Myw3IEBAIGlmIGhhdmVfZ251X2VmaQorICAgICAgICAgICAgICAgICBvX2ZpbGUgPSBjdXN0b21fdGFyZ2V0KGZpbGUgKyAnLm8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0IDogZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQgOiBmaWxlICsgJy5vJywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIDogZWZpX2NjICsgWyctYycsICdASU5QVVRAJywgJy1vJywgJ0BPVVRQVVRAJ10KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kIDogW2VmaV9jYywgJy1jJywgJ0BJTlBVVEAnLCAnLW8nLCAnQE9VVFBVVEAnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGNvbXBpbGVfYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRfZmlsZXMgOiBlZmlfaGVhZGVycykKKyAgICAgICAgICAgICAgICAgaWYgKGNvbW1vbl9zb3VyY2VzICsgc3lzdGVtZF9ib290X3NvdXJjZXMpLmNvbnRhaW5zKGZpbGUpCitAQCAtMTYzLDcgKzE2NCw3IEBAIGlmIGhhdmVfZ251X2VmaQorICAgICAgICAgICAgICAgICBlbmRpZgorICAgICAgICAgZW5kZm9yZWFjaAorIAorLSAgICAgICAgbGliZ2NjX2ZpbGVfbmFtZSA9IHJ1bl9jb21tYW5kKGVmaV9jYyArIFsnLXByaW50LWxpYmdjYy1maWxlLW5hbWUnXSkuc3Rkb3V0KCkuc3RyaXAoKQorKyAgICAgICAgbGliZ2NjX2ZpbGVfbmFtZSA9IHJ1bl9jb21tYW5kKGVmaV9jYywgJy1wcmludC1saWJnY2MtZmlsZS1uYW1lJykuc3Rkb3V0KCkuc3RyaXAoKQorICAgICAgICAgc3lzdGVtZF9ib290X2VmaV9uYW1lID0gJ3N5c3RlbWQtYm9vdEAwQC5lZmknLmZvcm1hdChFRklfTUFDSElORV9UWVBFX05BTUUpCisgICAgICAgICBzdHViX2VmaV9uYW1lID0gJ2xpbnV4QDBALmVmaS5zdHViJy5mb3JtYXQoRUZJX01BQ0hJTkVfVFlQRV9OQU1FKQorICAgICAgICAgbm9fdW5kZWZpbmVkX3N5bWJvbHMgPSBmaW5kX3Byb2dyYW0oJ25vLXVuZGVmaW5lZC1zeW1ib2xzLnNoJykKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1SZXZlcnQtc3lzY3RsLmQtcmVxdWVzdC1FQ04tb24tYm90aC1pbi1hbmQtb3V0Z29pbmctLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZmQ2ZDAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtUmV2ZXJ0LXN5c2N0bC5kLXJlcXVlc3QtRUNOLW9uLWJvdGgtaW4tYW5kLW91dGdvaW5nLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gMWUxOTBkZmQ1YmI5NTAzNmY5MzdlZjFkYzQ2ZjQzZWIwYTE0NjYxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBIaW5kb2UgUGFhYm9lbCBBbmRlcnNlbiA8cGhvbWVzQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTcgQXVnIDIwMTggMjE6MzE6MDUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gUmV2ZXJ0ICJzeXNjdGwuZDogcmVxdWVzdCBFQ04gb24gYm90aCBpbiBhbmQgb3V0Z29pbmcKLSBjb25uZWN0aW9ucyIKLQotVHVybmluZyBvbiBFQ04gc3RpbGwgY2F1c2VzIHNsb3cgb3IgYnJva2VuIG5ldHdvcmsgb24gbGludXguIE91ciB0Y3AKLWlzIG5vdCB5ZXQgcmVhZHkgZm9yIHdpZGUgc3ByZWFkIHVzZSBvZiBFQ04uCi0KLVRoaXMgcmV2ZXJ0cyBjb21taXQgOTE5NDcyNzQxZGJhNmFkMGEzZjZjMmI3NmQzOTBhMDJkMGUyZmRjMy4KLQotaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9pc3N1ZXMvOTc0OAotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBBbGV4IEtpZXJuYW4gPGFsZXgua2llcm5hbkBnbWFpbC5jb20+Ci0tLS0KLSBzeXNjdGwuZC81MC1kZWZhdWx0LmNvbmYgfCAzIC0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mIGIvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mCi1pbmRleCBiNjdhZTg3Y2E2YjcuLmUyNjNjZjA2Mjg0YSAxMDA2NDQKLS0tLSBhL3N5c2N0bC5kLzUwLWRlZmF1bHQuY29uZgotKysrIGIvc3lzY3RsLmQvNTAtZGVmYXVsdC5jb25mCi1AQCAtMzMsOSArMzMsNiBAQCBuZXQuaXB2NC5jb25mLmFsbC5wcm9tb3RlX3NlY29uZGFyaWVzID0gMQotICMgRmFpciBRdWV1ZSBDb0RlbCBwYWNrZXQgc2NoZWR1bGVyIHRvIGZpZ2h0IGJ1ZmZlcmJsb2F0Ci0gbmV0LmNvcmUuZGVmYXVsdF9xZGlzYyA9IGZxX2NvZGVsCi0gCi0tIyBSZXF1ZXN0IEV4cGxpY2l0IENvbmdlc3Rpb24gTm90aWZpY2F0aW9uIChFQ04pIG9uIGJvdGggaW4gYW5kIG91dGdvaW5nIGNvbm5lY3Rpb25zCi0tbmV0LmlwdjQudGNwX2VjbiA9IDEKLS0KLSAjIEVuYWJsZSBoYXJkIGFuZCBzb2Z0IGxpbmsgcHJvdGVjdGlvbgotIGZzLnByb3RlY3RlZF9oYXJkbGlua3MgPSAxCi0gZnMucHJvdGVjdGVkX3N5bWxpbmtzID0gMQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2gKaW5kZXggMDNmNmVhZC4uMzc5Nzk3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1Vc2UtZ2V0ZW52LXdoZW4tc2VjdXJlLXZlcnNpb25zLWFyZS1ub3QtYXZhaWxhYmxlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtVXNlLWdldGVudi13aGVuLXNlY3VyZS12ZXJzaW9ucy1hcmUtbm90LWF2YWlsYWJsZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNmRkMTM2NTEyODk2OTc5ZmViNjg4M2ExNjIyNmQ2NDBhN2U1Y2E3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjgwNTVhNjFiNWRmNmI0M2I4ZDMxMTc5MzY1ODdiODc0YjBhMzM5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjMgRmViIDIwMTggMTA6MDQ6NDggKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xOV0gVXNlIGdldGVudiB3aGVuIHNlY3VyZSB2ZXJzaW9ucyBhcmUgbm90IGF2YWlsYWJsZQorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMTowMToxOCArMDgwMAorU3ViamVjdDogW1BBVENIIDAxLzI0XSBVc2UgZ2V0ZW52IHdoZW4gc2VjdXJlIHZlcnNpb25zIGFyZSBub3QgYXZhaWxhYmxlCiAKIG11c2wgZG9lc250IGltcGxlbWVudCBzZWN1cmUgdmVyc2lvbiwgc28gd2UgZGVmYXVsdAogdG8gaXQgaWYgY29uZmlndXJlIGRvZXMgbm90IGRldGVjdCBhIHNlY3VyZSBpbXBsZW1lbnRhdGlvbgpAQCAtMTIsMTQgKzEyLDE0IEBACiAKIFNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCAyICstCisgc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggNzFhMDdkMDU3Li4wZTMzYWJiOWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtNTkyLDcgKzU5Miw3IEBAIHN0cnVjdCBidHJmc19pb2N0bF9xdW90YV9jdGxfYXJncyB7CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggYi9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaAoraW5kZXggMTg4YThkNC4uYzBmZmU4NiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaAorQEAgLTgsNiArOCw2IEBACiAgIyAgaWYgSEFWRV9fX1NFQ1VSRV9HRVRFTlYKICAjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IF9fc2VjdXJlX2dldGVudgogICMgIGVsc2UKQEAgLTI3LDcgKzI3LDYgQEAKICsjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IGdldGVudgogICMgIGVuZGlmCiAgI2VuZGlmCi0gCiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1iaW5mbXQtRG9uLXQtaW5zdGFsbC1kZXBlbmRlbmN5LWxpbmtzLWF0LWluc3RhbGwtdGltLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1iaW5mbXQtRG9uLXQtaW5zdGFsbC1kZXBlbmRlbmN5LWxpbmtzLWF0LWluc3RhbGwtdGltLnBhdGNoCmluZGV4IGUyNGU3ZjguLjAwNjcwY2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtYmluZm10LURvbi10LWluc3RhbGwtZGVwZW5kZW5jeS1saW5rcy1hdC1pbnN0YWxsLXRpbS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDg3ZGQ2MWJlMmUyOGU3OGNlNGY5ZjE3Mzc5NDgxMmU2YzJkOTA0ZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDk4MjU0ZTQ3OThlNzlkNTJhYzZiNTYyNjE2Y2QyNDQxMjBmNmUyMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjAxOjIyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMS85XSBiaW5mbXQ6IERvbid0IGluc3RhbGwgZGVwZW5kZW5jeSBsaW5rcyBhdCBpbnN0YWxsIHRpbWUgCitEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDE2OjIzOjI0ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS81XSBiaW5mbXQ6IERvbid0IGluc3RhbGwgZGVwZW5kZW5jeSBsaW5rcyBhdCBpbnN0YWxsIHRpbWUgCiAgZm9yIHRoZSBiaW5mbXQgc2VydmljZXMKIAogdXNlIFtJbnN0YWxsXSBibG9ja3Mgc28gdGhhdCB0aGV5IGdldCBjcmVhdGVkIHdoZW4gdGhlIHNlcnZpY2UgaXMgZW5hYmxlZApAQCAtMjMsMTAgKzIzLDEwIEBACiAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS91bml0cy9tZXNvbi5idWlsZCBiL3VuaXRzL21lc29uLmJ1aWxkCi1pbmRleCBlNGFjNmNlZDYuLjY5ODczNGU0NCAxMDA2NDQKK2luZGV4IGQ2OTUwODQuLjdiMWYxNGEgMTAwNjQ0CiAtLS0gYS91bml0cy9tZXNvbi5idWlsZAogKysrIGIvdW5pdHMvbWVzb24uYnVpbGQKLUBAIC00Niw4ICs0Niw3IEBAIHVuaXRzID0gWworQEAgLTQ3LDggKzQ3LDcgQEAgdW5pdHMgPSBbCiAgICAgICAgICBbJ3Bvd2Vyb2ZmLnRhcmdldCcsICAgICAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgJ3J1bmxldmVsMC50YXJnZXQnXSwKICAgICAgICAgIFsncHJpbnRlci50YXJnZXQnLCAgICAgICAgICAgICAgICAgICAgICAnJ10sCkBAIC0zNiwxOCArMzYsMTggQEAKICAgICAgICAgIFsncHJvYy1zeXMtZnMtYmluZm10X21pc2MubW91bnQnLCAgICAgICAnRU5BQkxFX0JJTkZNVCddLAogICAgICAgICAgWydyZWJvb3QudGFyZ2V0JywgICAgICAgICAgICAgICAgICAgICAgICcnLAogICAgICAgICAgICdydW5sZXZlbDYudGFyZ2V0IGN0cmwtYWx0LWRlbC50YXJnZXQnXSwKLUBAIC0xMzAsOCArMTI5LDcgQEAgaW5fdW5pdHMgPSBbCitAQCAtMTM0LDggKzEzMyw3IEBAIGluX3VuaXRzID0gWwogICAgICAgICAgWydzeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UnLCAnJ10sCiAgICAgICAgICBbJ3N5c3RlbWQtYXNrLXBhc3N3b3JkLXdhbGwuc2VydmljZScsICAgICcnXSwKICAgICAgICAgIFsnc3lzdGVtZC1iYWNrbGlnaHRALnNlcnZpY2UnLCAgICAgICAgICAgJ0VOQUJMRV9CQUNLTElHSFQnXSwKIC0gICAgICAgIFsnc3lzdGVtZC1iaW5mbXQuc2VydmljZScsICAgICAgICAgICAgICAgJ0VOQUJMRV9CSU5GTVQnLAogLSAgICAgICAgICdzeXNpbml0LnRhcmdldC53YW50cy8nXSwKICsgICAgICAgIFsnc3lzdGVtZC1iaW5mbXQuc2VydmljZScsICAgICAgICAgICAgICAgJ0VOQUJMRV9CSU5GTVQnXSwKKyAgICAgICAgIFsnc3lzdGVtZC1ibGVzcy1ib290LnNlcnZpY2UnLCAgICAgICAgICAgJ0VOQUJMRV9FRkkgSEFWRV9CTEtJRCddLAorICAgICAgICAgWydzeXN0ZW1kLWJvb3QtY2hlY2stbm8tZmFpbHVyZXMuc2VydmljZScsICcnXSwKICAgICAgICAgIFsnc3lzdGVtZC1jb3JlZHVtcEAuc2VydmljZScsICAgICAgICAgICAgJ0VOQUJMRV9DT1JFRFVNUCddLAotICAgICAgICAgWydzeXN0ZW1kLWV4aXQuc2VydmljZScsICAgICAgICAgICAgICAgICAnJ10sCi0gICAgICAgICBbJ3N5c3RlbWQtZmlyc3Rib290LnNlcnZpY2UnLCAgICAgICAgICAgICdFTkFCTEVfRklSU1RCT09UJywKIGRpZmYgLS1naXQgYS91bml0cy9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5hdXRvbW91bnQgYi91bml0cy9wcm9jLXN5cy1mcy1iaW5mbXRfbWlzYy5hdXRvbW91bnQKLWluZGV4IDMwYTZiYzk5MS4uNDIzMWYzYjcwIDEwMDY0NAoraW5kZXggMzBhNmJjOS4uNDIzMWYzYiAxMDA2NDQKIC0tLSBhL3VuaXRzL3Byb2Mtc3lzLWZzLWJpbmZtdF9taXNjLmF1dG9tb3VudAogKysrIGIvdW5pdHMvcHJvYy1zeXMtZnMtYmluZm10X21pc2MuYXV0b21vdW50CiBAQCAtMTgsMyArMTgsNiBAQCBDb25kaXRpb25QYXRoSXNSZWFkV3JpdGU9L3Byb2Mvc3lzLwpAQCAtNTgsNyArNTgsNyBAQAogK1tJbnN0YWxsXQogK1dhbnRlZEJ5PXN5c2luaXQudGFyZ2V0CiBkaWZmIC0tZ2l0IGEvdW5pdHMvc3lzdGVtZC1iaW5mbXQuc2VydmljZS5pbiBiL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KLWluZGV4IGU5NDBjN2M5YS4uNmJlN2Y1Y2M5IDEwMDY0NAoraW5kZXggZTk0MGM3Yy4uNmJlN2Y1YyAxMDA2NDQKIC0tLSBhL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KICsrKyBiL3VuaXRzL3N5c3RlbWQtYmluZm10LnNlcnZpY2UuaW4KIEBAIC0xNCw2ICsxNCw3IEBAIERvY3VtZW50YXRpb249aHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2MvaHRtbC9sYXRlc3QvYWRtaW4tZ3VpZGUvYmluZm10LW1pc2MuaHRtCkBAIC03Nyw1ICs3Nyw1IEBACiArW0luc3RhbGxdCiArV2FudGVkQnk9c3lzaW5pdC50YXJnZXQKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMzUwZWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1jaG93bi1yZWN1cnNpdmUtbGV0LXMtcmV3b3JrLXRoZS1yZWN1cnNpdmUtbG9naWMtdG8tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjE5ICswLDAgQEAKLUZyb20gMmRhOGJhM2Y1MDczNDVkMDQwMWVhOWQ3MTkxZmExNmZmYTU2MGViYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KLURhdGU6IEZyaSwgMTkgT2N0IDIwMTggMTE6MjY6NTkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2hvd24tcmVjdXJzaXZlOiBsZXQncyByZXdvcmsgdGhlIHJlY3Vyc2l2ZSBsb2dpYyB0byB1c2UKLSBPX1BBVEgKLQotVGhhdCB3YXkgd2UgY2FuIHBpbiBhIHNwZWNpZmljIGlub2RlIGFuZCBhbmFseXplIGl0IGFuZCBtYW5pcHVsYXRlIGl0Ci13aXRob3V0IGl0IGJlaW5nIHN3YXBwZWQgb3V0IGJlbmVhdGggb3VyIGhhbmRzLgotCi1GaXhlcyBhIHZ1bG5lcmFiaWxpdHkgb3JpZ2luYWxseSBmb3VuZCBieSBKYW5uIEhvcm4gZnJvbSBHb29nbGUuCi0KLUNWRS0yMDE4LTE1Njg3Ci1MUDogIzE3OTY2OTIKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTA3NgotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1ZGU2Y2NlNThiM2U4Yjc5MjM5YjZlODM2NTM0NTlkOTFhZjZlNTdjKQotCi1DVkU6IENWRS0yMDE4LTE1Njg3Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9jb3JlL2Nob3duLXJlY3Vyc2l2ZS5jIHwgMTQ2ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCA3NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2Nob3duLXJlY3Vyc2l2ZS5jIGIvc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMKLWluZGV4IGM0Nzk0NTAuLjI3YzY0NDggMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9jaG93bi1yZWN1cnNpdmUuYwotKysrIGIvc3JjL2NvcmUvY2hvd24tcmVjdXJzaXZlLmMKLUBAIC0xLDE3ICsxLDE5IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotIAotLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLS0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gCi0tI2luY2x1ZGUgInVzZXItdXRpbC5oIgotLSNpbmNsdWRlICJtYWNyby5oIgotLSNpbmNsdWRlICJmZC11dGlsLmgiCi0tI2luY2x1ZGUgImRpcmVudC11dGlsLmgiCi0gI2luY2x1ZGUgImNob3duLXJlY3Vyc2l2ZS5oIgotKyNpbmNsdWRlICJkaXJlbnQtdXRpbC5oIgotKyNpbmNsdWRlICJmZC11dGlsLmgiCi0rI2luY2x1ZGUgIm1hY3JvLmgiCi0rI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSsjaW5jbHVkZSAic3Rydi5oIgotKyNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKLSAKLS1zdGF0aWMgaW50IGNob3duX29uZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLS0gICAgICAgIGludCByOwotK3N0YXRpYyBpbnQgY2hvd25fb25lKGludCBmZCwgY29uc3Qgc3RydWN0IHN0YXQgKnN0LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotKyAgICAgICAgY2hhciBwcm9jZnNfcGF0aFtTVFJMRU4oIi9wcm9jL3NlbGYvZmQvIikgKyBERUNJTUFMX1NUUl9NQVgoaW50KSArIDFdOwotIAotICAgICAgICAgYXNzZXJ0KGZkID49IDApOwotICAgICAgICAgYXNzZXJ0KHN0KTsKLUBAIC0yMCw5MCArMjIsODIgQEAgc3RhdGljIGludCBjaG93bl9vbmUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QsIHVpZF90IHVpZCwKLSAgICAgICAgICAgICAoIWdpZF9pc192YWxpZChnaWQpIHx8IHN0LT5zdF9naWQgPT0gZ2lkKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gCi0tICAgICAgICBpZiAobmFtZSkKLS0gICAgICAgICAgICAgICAgciA9IGZjaG93bmF0KGZkLCBuYW1lLCB1aWQsIGdpZCwgQVRfU1lNTElOS19OT0ZPTExPVyk7Ci0tICAgICAgICBlbHNlCi0tICAgICAgICAgICAgICAgIHIgPSBmY2hvd24oZmQsIHVpZCwgZ2lkKTsKLS0gICAgICAgIGlmIChyIDwgMCkKLS0gICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsgICAgICAgIC8qIFdlIGNoYW5nZSBvd25lcnNoaXAgdGhyb3VnaCB0aGUgL3Byb2Mvc2VsZi9mZC8laSBwYXRoLCBzbyB0aGF0IHdlIGhhdmUgYSBzdGFibGUgcmVmZXJlbmNlIHRoYXQgd29ya3Mgd2l0aAotKyAgICAgICAgICogT19QQVRILiAoTm90ZTogZmNob3duKCkgYW5kIGZjaG1vZCgpIGRvIG5vdCB3b3JrIHdpdGggT19QQVRILCB0aGUga2VybmVsIHJlZnVzZXMgdGhhdC4gKi8KLSsgICAgICAgIHhzcHJpbnRmKHByb2Nmc19wYXRoLCAiL3Byb2Mvc2VsZi9mZC8laSIsIGZkKTsKLSAKLS0gICAgICAgIC8qIFRoZSBsaW51eCBrZXJuZWwgYWx0ZXJzIHRoZSBtb2RlIGluIHNvbWUgY2FzZXMgb2YgY2hvd24oKS4gTGV0J3MgdW5kbyB0aGlzLiAqLwotLSAgICAgICAgaWYgKG5hbWUpIHsKLS0gICAgICAgICAgICAgICAgaWYgKCFTX0lTTE5LKHN0LT5zdF9tb2RlKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByID0gZmNobW9kYXQoZmQsIG5hbWUsIHN0LT5zdF9tb2RlLCAwKTsKLS0gICAgICAgICAgICAgICAgZWxzZSAvKiBUaGVyZSdzIGN1cnJlbnRseSBubyBBVF9TWU1MSU5LX05PRk9MTE9XIGZvciBmY2htb2RhdCgpICovCi0tICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICB9IGVsc2UKLS0gICAgICAgICAgICAgICAgciA9IGZjaG1vZChmZCwgc3QtPnN0X21vZGUpOwotLSAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgaWYgKGNob3duKHByb2Nmc19wYXRoLCB1aWQsIGdpZCkgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotIAotKyAgICAgICAgLyogVGhlIGxpbnV4IGtlcm5lbCBhbHRlcnMgdGhlIG1vZGUgaW4gc29tZSBjYXNlcyBvZiBjaG93bigpLiBMZXQncyB1bmRvIHRoaXMuIFdlIGRvIHRoaXMgb25seSBmb3Igbm9uLXN5bWxpbmtzCi0rICAgICAgICAgKiBob3dldmVyLiBUaGF0J3MgYmVjYXVzZSBmb3Igc3ltbGlua3MgdGhlIGFjY2VzcyBtb2RlIGlzIGlnbm9yZWQgYW55d2F5IGFuZCBiZWNhdXNlIG9uIHNvbWUga2VybmVscy9maWxlCi0rICAgICAgICAgKiBzeXN0ZW1zIHRyeWluZyB0byBjaGFuZ2UgdGhlIGFjY2VzcyBtb2RlIHdpbGwgc3VjY2VlZCBidXQgaGFzIG5vIGVmZmVjdCB3aGlsZSBvbiBvdGhlcnMgaXQgYWN0aXZlbHkKLSsgICAgICAgICAqIGZhaWxzLiAqLwotKyAgICAgICAgaWYgKCFTX0lTTE5LKHN0LT5zdF9tb2RlKSkKLSsgICAgICAgICAgICAgICAgaWYgKGNobW9kKHByb2Nmc19wYXRoLCBzdC0+c3RfbW9kZSAmIDA3Nzc3KSA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsKLSAgICAgICAgIHJldHVybiAxOwotIH0KLSAKLSBzdGF0aWMgaW50IGNob3duX3JlY3Vyc2l2ZV9pbnRlcm5hbChpbnQgZmQsIGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSsgICAgICAgIF9jbGVhbnVwX2Nsb3NlZGlyXyBESVIgKmQgPSBOVUxMOwotICAgICAgICAgYm9vbCBjaGFuZ2VkID0gZmFsc2U7Ci0rICAgICAgICBzdHJ1Y3QgZGlyZW50ICpkZTsKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgYXNzZXJ0KGZkID49IDApOwotICAgICAgICAgYXNzZXJ0KHN0KTsKLSAKLS0gICAgICAgIGlmIChTX0lTRElSKHN0LT5zdF9tb2RlKSkgewotLSAgICAgICAgICAgICAgICBfY2xlYW51cF9jbG9zZWRpcl8gRElSICpkID0gTlVMTDsKLS0gICAgICAgICAgICAgICAgc3RydWN0IGRpcmVudCAqZGU7Ci0tCi0tICAgICAgICAgICAgICAgIGQgPSBmZG9wZW5kaXIoZmQpOwotLSAgICAgICAgICAgICAgICBpZiAoIWQpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICByID0gLWVycm5vOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgICAgIGZkID0gLTE7Ci0tCi0tICAgICAgICAgICAgICAgIEZPUkVBQ0hfRElSRU5UX0FMTChkZSwgZCwgciA9IC1lcnJubzsgZ290byBmaW5pc2gpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBmc3Q7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRvdF9vcl9kb3RfZG90KGRlLT5kX25hbWUpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZzdGF0YXQoZGlyZmQoZCksIGRlLT5kX25hbWUsICZmc3QsIEFUX1NZTUxJTktfTk9GT0xMT1cpIDwgMCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoU19JU0RJUihmc3Quc3RfbW9kZSkpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdWJkaXJfZmQ7Ci0tCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJkaXJfZmQgPSBvcGVuYXQoZGlyZmQoZCksIGRlLT5kX25hbWUsIE9fUkRPTkxZfE9fTk9OQkxPQ0t8T19ESVJFQ1RPUll8T19DTE9FWEVDfE9fTk9GT0xMT1d8T19OT0FUSU1FKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJkaXJfZmQgPCAwKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAtZXJybm87Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotLQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IGNob3duX3JlY3Vyc2l2ZV9pbnRlcm5hbChzdWJkaXJfZmQsICZmc3QsIHVpZCwgZ2lkKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlOwotLSAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBkZS0+ZF9uYW1lLCAmZnN0LCB1aWQsIGdpZCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPiAwKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLS0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICBkID0gZmRvcGVuZGlyKGZkKTsKLSsgICAgICAgIGlmICghZCkgewotKyAgICAgICAgICAgICAgICBzYWZlX2Nsb3NlKGZkKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIEZPUkVBQ0hfRElSRU5UX0FMTChkZSwgZCwgcmV0dXJuIC1lcnJubykgewotKyAgICAgICAgICAgICAgICBfY2xlYW51cF9jbG9zZV8gaW50IHBhdGhfZmQgPSAtMTsKLSsgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgZnN0OwotKwotKyAgICAgICAgICAgICAgICBpZiAoZG90X29yX2RvdF9kb3QoZGUtPmRfbmFtZSkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0rCi0rICAgICAgICAgICAgICAgIC8qIExldCdzIHBpbiB0aGUgY2hpbGQgaW5vZGUgd2Ugd2FudCB0byBmaXggbm93IHdpdGggYW4gT19QQVRIIGZkLCBzbyB0aGF0IGl0IGNhbm5vdCBiZSBzd2FwcGVkIG91dAotKyAgICAgICAgICAgICAgICAgKiB3aGlsZSB3ZSBtYW5pcHVsYXRlIGl0LiAqLwotKyAgICAgICAgICAgICAgICBwYXRoX2ZkID0gb3BlbmF0KGRpcmZkKGQpLCBkZS0+ZF9uYW1lLCBPX1BBVEh8T19DTE9FWEVDfE9fTk9GT0xMT1cpOwotKyAgICAgICAgICAgICAgICBpZiAocGF0aF9mZCA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1lcnJubzsKLSsKLSsgICAgICAgICAgICAgICAgaWYgKGZzdGF0KHBhdGhfZmQsICZmc3QpIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotKwotKyAgICAgICAgICAgICAgICBpZiAoU19JU0RJUihmc3Quc3RfbW9kZSkpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc3ViZGlyX2ZkOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIENvbnZlcnQgaXQgdG8gYSAicmVhbCIgKGkuZS4gbm9uLU9fUEFUSCkgZmQgbm93ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgc3ViZGlyX2ZkID0gZmRfcmVvcGVuKHBhdGhfZmQsIE9fUkRPTkxZfE9fQ0xPRVhFQ3xPX05PQVRJTUUpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdWJkaXJfZmQgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmRpcl9mZDsKLSsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fcmVjdXJzaXZlX2ludGVybmFsKHN1YmRpcl9mZCwgJmZzdCwgdWlkLCBnaWQpOyAvKiB0YWtlcyBwb3NzZXNzaW9uIG9mIHN1YmRpcl9mZCBldmVuIG9uIGZhaWx1cmUgKi8KLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSsgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKHBhdGhfZmQsICZmc3QsIHVpZCwgZ2lkKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgfQotIAotLSAgICAgICAgICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBOVUxMLCBzdCwgdWlkLCBnaWQpOwotLSAgICAgICAgfSBlbHNlCi0tICAgICAgICAgICAgICAgIHIgPSBjaG93bl9vbmUoZmQsIE5VTEwsIHN0LCB1aWQsIGdpZCk7Ci0rICAgICAgICByID0gY2hvd25fb25lKGRpcmZkKGQpLCBzdCwgdWlkLCBnaWQpOwotICAgICAgICAgaWYgKHIgPCAwKQotLSAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0tICAgICAgICByID0gciA+IDAgfHwgY2hhbmdlZDsKLS0KLS1maW5pc2g6Ci0tICAgICAgICBzYWZlX2Nsb3NlKGZkKTsKLS0gICAgICAgIHJldHVybiByOwotKyAgICAgICAgcmV0dXJuIHIgPiAwIHx8IGNoYW5nZWQ7Ci0gfQotIAotIGludCBwYXRoX2Nob3duX3JlY3Vyc2l2ZShjb25zdCBjaGFyICpwYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotQEAgLTExMSw3ICsxMDUsNyBAQCBpbnQgcGF0aF9jaG93bl9yZWN1cnNpdmUoY29uc3QgY2hhciAqcGF0aCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotICAgICAgICAgaW50IHI7Ci0gCi0tICAgICAgICBmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFl8T19OT05CTE9DS3xPX0RJUkVDVE9SWXxPX0NMT0VYRUN8T19OT0ZPTExPV3xPX05PQVRJTUUpOwotKyAgICAgICAgZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZfE9fRElSRUNUT1JZfE9fQ0xPRVhFQ3xPX05PRk9MTE9XfE9fTk9BVElNRSk7Ci0gICAgICAgICBpZiAoZmQgPCAwKQotICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotIAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNvcmUtd2hlbi1kZXNlcmlhbGl6aW5nLXN0YXRlLWFsd2F5cy11c2UtcmVhZF9saW5lLUwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWNvcmUtd2hlbi1kZXNlcmlhbGl6aW5nLXN0YXRlLWFsd2F5cy11c2UtcmVhZF9saW5lLUwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxNWQ2ODAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1jb3JlLXdoZW4tZGVzZXJpYWxpemluZy1zdGF0ZS1hbHdheXMtdXNlLXJlYWRfbGluZS1MLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUwICswLDAgQEAKLUZyb20gMWEwNWZmNDk0OGQ3NzgyODBlYzE1NWE5YWJlNjlkMzM2MGJmZGRkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExlbm5hcnQgUG9ldHRlcmluZyA8bGVubmFydEBwb2V0dGVyaW5nLm5ldD4KLURhdGU6IFdlZCwgMTcgT2N0IDIwMTggMTg6MzY6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gPT9VVEYtOD9xP2NvcmU6PTIwd2hlbj0yMGRlc2VyaWFsaXppbmc9MjBzdGF0ZT0yMGFsd2F5cz89Ci0gPT9VVEYtOD9xPz0yMHVzZT0yMHJlYWQ9NUZsaW5lKD1FMj04MD1BNiw9MjBMT05HPTVGTElORT01Rk1BWCw9MjA/PQotID0/VVRGLTg/cT89RTI9ODA9QTYpPz0KLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotVGhpcyBzaG91bGQgYmUgbXVjaCBiZXR0ZXIgdGhhbiBmZ2V0cygpLCBhcyB3ZSBjYW4gcmVhZCBzdWJzdGFudGlhbGx5Ci1sb25nZXIgbGluZXMgYW5kIG92ZXJseSBsb25nIGxpbmVzIHJlc3VsdCBpbiBwcm9wZXIgZXJyb3JzLgotCi1GaXhlcyBhIHZ1bG5lcmFiaWxpdHkgZGlzY292ZXJlZCBieSBKYW5uIEhvcm4gYXQgR29vZ2xlLgotCi1DVkUtMjAxOC0xNTY4NgotTFA6ICMxNzk2NDAyCi1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2MzkwNzEKLQotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgODk0OGIzNDE1ZDc2MjI0NWViZjVlMTlkODBiOTdkNGQ4Y2MyMDhjMSkKLQotQ1ZFOiBDVkUtMjAxOC0xNTY4NgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvY29yZS9qb2IuYyAgICAgfCAxOSArKysrKysrKysrKy0tLS0tLS0tCi0gc3JjL2NvcmUvbWFuYWdlci5jIHwgNDQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBzcmMvY29yZS91bml0LmMgICAgfCAzNCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2NvcmUvdW5pdC5oICAgIHwgIDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvam9iLmMgYi9zcmMvY29yZS9qb2IuYwotaW5kZXggNzM0NzU2Yi4uODU1MmZmYiAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2pvYi5jCi0rKysgYi9zcmMvY29yZS9qb2IuYwotQEAgLTEwLDYgKzEwLDcgQEAKLSAjaW5jbHVkZSAiZGJ1cy1qb2IuaCIKLSAjaW5jbHVkZSAiZGJ1cy5oIgotICNpbmNsdWRlICJlc2NhcGUuaCIKLSsjaW5jbHVkZSAiZmlsZWlvLmgiCi0gI2luY2x1ZGUgImpvYi5oIgotICNpbmNsdWRlICJsb2cuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLUBAIC0xMDkxLDI0ICsxMDkyLDI2IEBAIGludCBqb2Jfc2VyaWFsaXplKEpvYiAqaiwgRklMRSAqZikgewotIH0KLSAKLSBpbnQgam9iX2Rlc2VyaWFsaXplKEpvYiAqaiwgRklMRSAqZikgewotKyAgICAgICAgaW50IHI7Ci0rCi0gICAgICAgICBhc3NlcnQoaik7Ci0gICAgICAgICBhc3NlcnQoZik7Ci0gCi0gICAgICAgICBmb3IgKDs7KSB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgbGluZVtMSU5FX01BWF0sICpsLCAqdjsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0rICAgICAgICAgICAgICAgIGNoYXIgKmwsICp2OwotICAgICAgICAgICAgICAgICBzaXplX3QgazsKLSAKLS0gICAgICAgICAgICAgICAgaWYgKCFmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGYpKSB7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZlb2YoZikpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLWVycm5vOwotLSAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIHIgPSByZWFkX2xpbmUoZiwgTE9OR19MSU5FX01BWCwgJmxpbmUpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotKyAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLSAKLSAgICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotLSAgICAgICAgICAgICAgICBpZiAobFswXSA9PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAKLSAgICAgICAgICAgICAgICAgayA9IHN0cmNzcG4obCwgIj0iKTsKLWRpZmYgLS1naXQgYS9zcmMvY29yZS9tYW5hZ2VyLmMgYi9zcmMvY29yZS9tYW5hZ2VyLmMKLWluZGV4IDNhN2YwYzQuLmE1NzgwYzkgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9tYW5hZ2VyLmMKLSsrKyBiL3NyYy9jb3JlL21hbmFnZXIuYwotQEAgLTMxNzEsMjIgKzMxNzEsMTkgQEAgaW50IG1hbmFnZXJfZGVzZXJpYWxpemUoTWFuYWdlciAqbSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgbS0+bl9yZWxvYWRpbmcrKzsKLSAKLSAgICAgICAgIGZvciAoOzspIHsKLS0gICAgICAgICAgICAgICAgY2hhciBsaW5lW0xJTkVfTUFYXTsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnZhbCwgKmw7Ci0gCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBmKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZW9mKGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChsaW5lKTsKLSAgICAgICAgICAgICAgICAgbCA9IHN0cnN0cmlwKGxpbmUpOwotLQotLSAgICAgICAgICAgICAgICBpZiAobFswXSA9PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkgLyogZW5kIG1hcmtlciAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotIAotICAgICAgICAgICAgICAgICBpZiAoKHZhbCA9IHN0YXJ0c3dpdGgobCwgImN1cnJlbnQtam9iLWlkPSIpKSkgewotQEAgLTMzNTMsMjkgKzMzNTAsMzEgQEAgaW50IG1hbmFnZXJfZGVzZXJpYWxpemUoTWFuYWdlciAqbSwgRklMRSAqZiwgRkRTZXQgKmZkcykgewotICAgICAgICAgfQotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBVbml0ICp1OwotLSAgICAgICAgICAgICAgICBjaGFyIG5hbWVbVU5JVF9OQU1FX01BWCsyXTsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqbGluZSA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHVuaXRfbmFtZTsKLSsgICAgICAgICAgICAgICAgVW5pdCAqdTsKLSAKLSAgICAgICAgICAgICAgICAgLyogU3RhcnQgbWFya2VyICovCi0tICAgICAgICAgICAgICAgIGlmICghZmdldHMobmFtZSwgc2l6ZW9mKG5hbWUpLCBmKSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmZW9mKGYpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IDA7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1lcnJubzsKLS0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gCi0tICAgICAgICAgICAgICAgIGNoYXJfYXJyYXlfMChuYW1lKTsKLS0gICAgICAgICAgICAgICAgdW5pdF9uYW1lID0gc3Ryc3RyaXAobmFtZSk7Ci0rICAgICAgICAgICAgICAgIHVuaXRfbmFtZSA9IHN0cnN0cmlwKGxpbmUpOwotIAotICAgICAgICAgICAgICAgICByID0gbWFuYWdlcl9sb2FkX3VuaXQobSwgdW5pdF9uYW1lLCBOVUxMLCBOVUxMLCAmdSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19ub3RpY2VfZXJybm8ociwgIkZhaWxlZCB0byBsb2FkIHVuaXQgXCIlc1wiLCBza2lwcGluZyBkZXNlcmlhbGl6YXRpb246ICVtIiwgdW5pdF9uYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRU5PTUVNKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgdW5pdF9kZXNlcmlhbGl6ZV9za2lwKGYpOwotKwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSB1bml0X2Rlc2VyaWFsaXplX3NraXAoZik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0rCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLUBAIC0zMzg4LDkgKzMzODcsNiBAQCBpbnQgbWFuYWdlcl9kZXNlcmlhbGl6ZShNYW5hZ2VyICptLCBGSUxFICpmLCBGRFNldCAqZmRzKSB7Ci0gICAgICAgICB9Ci0gCi0gZmluaXNoOgotLSAgICAgICAgaWYgKGZlcnJvcihmKSkKLS0gICAgICAgICAgICAgICAgciA9IC1FSU87Ci0tCi0gICAgICAgICBhc3NlcnQobS0+bl9yZWxvYWRpbmcgPiAwKTsKLSAgICAgICAgIG0tPm5fcmVsb2FkaW5nLS07Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvdW5pdC5jIGIvc3JjL2NvcmUvdW5pdC5jCi1pbmRleCA3ZGE5NjNhLi5lOThjOWM0IDEwMDY0NAotLS0tIGEvc3JjL2NvcmUvdW5pdC5jCi0rKysgYi9zcmMvY29yZS91bml0LmMKLUBAIC0zMzgwLDIxICszMzgwLDE5IEBAIGludCB1bml0X2Rlc2VyaWFsaXplKFVuaXQgKnUsIEZJTEUgKmYsIEZEU2V0ICpmZHMpIHsKLSAgICAgICAgIGFzc2VydChmZHMpOwotIAotICAgICAgICAgZm9yICg7OykgewotLSAgICAgICAgICAgICAgICBjaGFyIGxpbmVbTElORV9NQVhdLCAqbCwgKnY7Ci0rICAgICAgICAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKmxpbmUgPSBOVUxMOwotICAgICAgICAgICAgICAgICBDR3JvdXBJUEFjY291bnRpbmdNZXRyaWMgbTsKLSsgICAgICAgICAgICAgICAgY2hhciAqbCwgKnY7Ci0gICAgICAgICAgICAgICAgIHNpemVfdCBrOwotIAotLSAgICAgICAgICAgICAgICBpZiAoIWZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmVvZihmKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtZXJybm87Ci0tICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgciA9IHJlYWRfbGluZShmLCBMT05HX0xJTkVfTUFYLCAmbGluZSk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gcmVhZCBzZXJpYWxpemF0aW9uIGxpbmU6ICVtIik7Ci0rICAgICAgICAgICAgICAgIGlmIChyID09IDApIC8qIGVvZiAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLS0KLS0gICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotLSAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLSsgICAgICAgICAgICAgICAgaWYgKGlzZW1wdHkobCkpIC8qIEVuZCBtYXJrZXIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAKLSAgICAgICAgICAgICAgICAgayA9IHN0cmNzcG4obCwgIj0iKTsKLUBAIC0zNjcxLDIzICszNjY5LDI3IEBAIGludCB1bml0X2Rlc2VyaWFsaXplKFVuaXQgKnUsIEZJTEUgKmYsIEZEU2V0ICpmZHMpIHsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKLS12b2lkIHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKSB7Ci0raW50IHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKSB7Ci0rICAgICAgICBpbnQgcjsKLSAgICAgICAgIGFzc2VydChmKTsKLSAKLSAgICAgICAgIC8qIFNraXAgc2VyaWFsaXplZCBkYXRhIGZvciB0aGlzIHVuaXQuIFdlIGRvbid0IGtub3cgd2hhdCBpdCBpcy4gKi8KLSAKLSAgICAgICAgIGZvciAoOzspIHsKLS0gICAgICAgICAgICAgICAgY2hhciBsaW5lW0xJTkVfTUFYXSwgKmw7Ci0rICAgICAgICAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKmxpbmUgPSBOVUxMOwotKyAgICAgICAgICAgICAgICBjaGFyICpsOwotIAotLSAgICAgICAgICAgICAgICBpZiAoIWZnZXRzKGxpbmUsIHNpemVvZiBsaW5lLCBmKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICAgICAgICAgIHIgPSByZWFkX2xpbmUoZiwgTE9OR19MSU5FX01BWCwgJmxpbmUpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHJlYWQgc2VyaWFsaXphdGlvbiBsaW5lOiAlbSIpOwotKyAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOwotIAotLSAgICAgICAgICAgICAgICBjaGFyX2FycmF5XzAobGluZSk7Ci0gICAgICAgICAgICAgICAgIGwgPSBzdHJzdHJpcChsaW5lKTsKLSAKLSAgICAgICAgICAgICAgICAgLyogRW5kIG1hcmtlciAqLwotICAgICAgICAgICAgICAgICBpZiAoaXNlbXB0eShsKSkKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICB9Ci0gfQotIAotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL3VuaXQuaCBiL3NyYy9jb3JlL3VuaXQuaAotaW5kZXggMDYzMjFiYi4uNTFjN2FhYSAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL3VuaXQuaAotKysrIGIvc3JjL2NvcmUvdW5pdC5oCi1AQCAtNjg0LDcgKzY4NCw3IEBAIGJvb2wgdW5pdF9jYW5fc2VyaWFsaXplKFVuaXQgKnUpIF9wdXJlXzsKLSAKLSBpbnQgdW5pdF9zZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcywgYm9vbCBzZXJpYWxpemVfam9icyk7Ci0gaW50IHVuaXRfZGVzZXJpYWxpemUoVW5pdCAqdSwgRklMRSAqZiwgRkRTZXQgKmZkcyk7Ci0tdm9pZCB1bml0X2Rlc2VyaWFsaXplX3NraXAoRklMRSAqZik7Ci0raW50IHVuaXRfZGVzZXJpYWxpemVfc2tpcChGSUxFICpmKTsKLSAKLSBpbnQgdW5pdF9zZXJpYWxpemVfaXRlbShVbml0ICp1LCBGSUxFICpmLCBjb25zdCBjaGFyICprZXksIGNvbnN0IGNoYXIgKnZhbHVlKTsKLSBpbnQgdW5pdF9zZXJpYWxpemVfaXRlbV9lc2NhcGVkKFVuaXQgKnUsIEZJTEUgKmYsIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqdmFsdWUpOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWRoY3A2LW1ha2Utc3VyZS13ZS1oYXZlLWVub3VnaC1zcGFjZS1mb3ItdGhlLURIQ1A2LW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBjOTEyZjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kaGNwNi1tYWtlLXN1cmUtd2UtaGF2ZS1lbm91Z2gtc3BhY2UtZm9yLXRoZS1ESENQNi1vLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSBhMjYyMmI4Mzk4YmEwMjZmYWY0ODFmNWVkZGViNTMyMzFkOWRlNGE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgotRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMjoxMjozMyArMDIwMAotU3ViamVjdDogW1BBVENIXSBkaGNwNjogbWFrZSBzdXJlIHdlIGhhdmUgZW5vdWdoIHNwYWNlIGZvciB0aGUgREhDUDYgb3B0aW9uCi0gaGVhZGVyCi0KLUZpeGVzIGEgdnVsbmVyYWJpbGl0eSBvcmlnaW5hbGx5IGRpc2NvdmVyZWQgYnkgRmVsaXggV2lsaGVsbSBmcm9tCi1Hb29nbGUuCi0KLUNWRS0yMDE4LTE1Njg4Ci1MUDogIzE3OTU5MjEKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTYzOTA2NwotCi0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0ZGFjNWVhYmE0ZTQxOWIyOWM5N2RhMzhhOGIxZjgyMzM2YzJjODkyKQotCi1DVkU6IENWRS0yMDE4LTE1Njg4Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC1uZXR3b3JrL2RoY3A2LW9wdGlvbi5jIGIvc3JjL2xpYnN5c3RlbWQtbmV0d29yay9kaGNwNi1vcHRpb24uYwotaW5kZXggYzRiNDAyYi4uZGNiYWFkMCAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kLW5ldHdvcmsvZGhjcDYtb3B0aW9uLmMKLUBAIC0xMDMsNyArMTAzLDcgQEAgaW50IGRoY3A2X29wdGlvbl9hcHBlbmRfaWEodWludDhfdCAqKmJ1Ziwgc2l6ZV90ICpidWZsZW4sIERIQ1A2SUEgKmlhKSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKCpidWZsZW4gPCBsZW4pCi0rICAgICAgICBpZiAoKmJ1ZmxlbiA8IG9mZnNldG9mKERIQ1A2T3B0aW9uLCBkYXRhKSArIGxlbikKLSAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9CVUZTOwotIAotICAgICAgICAgaWFfaGRyID0gKmJ1ZjsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1kby1ub3QtZGlzYWJsZS1idWZmZXItaW4td3JpdGluZy1maWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZG8tbm90LWRpc2FibGUtYnVmZmVyLWluLXdyaXRpbmctZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY4NTdiMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtZG8tbm90LWRpc2FibGUtYnVmZmVyLWluLXdyaXRpbmctZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw1MjMgQEAKK0Zyb20gODVlM2MzMDQ2NTYyZWMyNGZjMmYwOWViZmQwOGJmOWYxNjgwOTFkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMSBNYXIgMjAxOSAxNToyMjoxNSArMDgwMAorU3ViamVjdDogW1BBVENIXSBkbyBub3QgZGlzYWJsZSBidWZmZXIgaW4gd3JpdGluZyBmaWxlcworCitEbyBub3QgZGlzYWJsZSBidWZmZXIgaW4gd3JpdGluZyBmaWxlcywgb3RoZXJ3aXNlIHdlIGdldAorZmFpbHVyZSBhdCBib290IGZvciBtdXNsIGxpa2UgYmVsb3cuCisKKyAgWyEhISEhIV0gRmFpbGVkIHRvIGFsbG9jYXRlIG1hbmFnZXIgb2JqZWN0LgorCitBbmQgdGhlcmUgd2lsbCBiZSBvdGhlciBmYWlsdXJlcywgY3JpdGljYWwgb3Igbm90IGNyaXRpY2FsLgorVGhpcyBpcyBzcGVjaWZpYyB0byBtdXNsLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCisgc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgICAgICAgICAgICAgICAgIHwgIDQgKystLQorIHNyYy9iYXNpYy9zbWFjay11dGlsLmMgICAgICAgICAgICAgICAgICB8ICAyICstCisgc3JjL2Jhc2ljL3V0aWwuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvYmluZm10L2JpbmZtdC5jICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvY29yZS9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgc3JjL2NvcmUvc21hY2stc2V0dXAuYyAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyBzcmMvaGliZXJuYXRlLXJlc3VtZS9oaWJlcm5hdGUtcmVzdW1lLmMgfCAgMiArLQorIHNyYy9saWJzeXN0ZW1kL3NkLWRldmljZS9zZC1kZXZpY2UuYyAgICB8ICAyICstCisgc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jICAgfCAgMiArLQorIHNyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYyAgICAgICAgICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQorIHNyYy9uc3Bhd24vbnNwYXduLWNncm91cC5jICAgICAgICAgICAgICB8ICAyICstCisgc3JjL25zcGF3bi9uc3Bhd24uYyAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCisgc3JjL3NsZWVwL3NsZWVwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tCisgc3JjL3VkZXYvdWRldmFkbS10cmlnZ2VyLmMgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvdWRldi91ZGV2ZC5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvdmNvbnNvbGUvdmNvbnNvbGUtc2V0dXAuYyAgICAgICAgICAgfCAgMiArLQorIDE4IGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Nncm91cC11dGlsLmMgYi9zcmMvYmFzaWMvY2dyb3VwLXV0aWwuYworaW5kZXggOGNlN2NjYi4uYjYzMzIyNiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9jZ3JvdXAtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvY2dyb3VwLXV0aWwuYworQEAgLTgxOCw3ICs4MTgsNyBAQCBpbnQgY2dfYXR0YWNoKGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKnBhdGgsIHBpZF90IHBpZCkgeworIAorICAgICAgICAgeHNwcmludGYoYywgUElEX0ZNVCAiXG4iLCBwaWQpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCBjLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsIGMsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0xMTAwLDcgKzExMDAsNyBAQCBpbnQgY2dfaW5zdGFsbF9yZWxlYXNlX2FnZW50KGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIsIGNvbnN0IGNoYXIgKmFnZW50KSB7CisgCisgICAgICAgICBzYyA9IHN0cnN0cmlwKGNvbnRlbnRzKTsKKyAgICAgICAgIGlmIChpc2VtcHR5KHNjKSkgeworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsIGFnZW50LCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgYWdlbnQsIDApOworICAgICAgICAgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgICB9IGVsc2UgaWYgKCFwYXRoX2VxdWFsKHNjLCBhZ2VudCkpCitAQCAtMTExOCw3ICsxMTE4LDcgQEAgaW50IGNnX2luc3RhbGxfcmVsZWFzZV9hZ2VudChjb25zdCBjaGFyICpjb250cm9sbGVyLCBjb25zdCBjaGFyICphZ2VudCkgeworIAorICAgICAgICAgc2MgPSBzdHJzdHJpcChjb250ZW50cyk7CisgICAgICAgICBpZiAoc3RyZXEoc2MsICIwIikpIHsKKy0gICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMSIsIDApOworICAgICAgICAgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgCitAQCAtMTE0NSw3ICsxMTQ1LDcgQEAgaW50IGNnX3VuaW5zdGFsbF9yZWxlYXNlX2FnZW50KGNvbnN0IGNoYXIgKmNvbnRyb2xsZXIpIHsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZnMsICIwIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKGZzLCAiMCIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0xMTU1LDcgKzExNTUsNyBAQCBpbnQgY2dfdW5pbnN0YWxsX3JlbGVhc2VfYWdlbnQoY29uc3QgY2hhciAqY29udHJvbGxlcikgeworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgIiIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmcywgIiIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK0BAIC0yMDEyLDcgKzIwMTIsNyBAQCBpbnQgY2dfc2V0X2F0dHJpYnV0ZShjb25zdCBjaGFyICpjb250cm9sbGVyLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICphdHRyaQorICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKKy0gICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZShwLCB2YWx1ZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgcmV0dXJuIHdyaXRlX3N0cmluZ19maWxlKHAsIHZhbHVlLCAwKTsKKyB9CisgCisgaW50IGNnX2dldF9hdHRyaWJ1dGUoY29uc3QgY2hhciAqY29udHJvbGxlciwgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqYXR0cmlidXRlLCBjaGFyICoqcmV0KSB7CitAQCAtMjY2MCw3ICsyNjYwLDcgQEAgaW50IGNnX2VuYWJsZV9ldmVyeXdoZXJlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2RlYnVnX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIG9wZW4gY2dyb3VwLnN1YnRyZWVfY29udHJvbCBmaWxlIG9mICVzOiAlbSIsIHApOworICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAKKy0gICAgICAgICAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX3N0cmVhbShmLCBzLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19zdHJlYW0oZiwgcywgMCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byAlcyBjb250cm9sbGVyICVzIGZvciAlcyAoJXMpOiAlbSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkxBR1NfU0VUKG1hc2ssIGJpdCkgPyAiZW5hYmxlIiA6ICJkaXNhYmxlIiwgbiwgcCwgZnMpOworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK2luZGV4IDQyY2U1M2QuLjU3NTEyNTMgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK0BAIC04NiwxMyArODYsMTMgQEAgaW50IHByb2Nmc190YXNrc19zZXRfbGltaXQodWludDY0X3QgbGltaXQpIHsKKyAgICAgICAgICAqIGRlY3JlYXNlIGl0LCBhcyB0aHJlYWRzLW1heCBpcyB0aGUgbXVjaCBtb3JlIHJlbGV2YW50IHN5c2N0bC4gKi8KKyAgICAgICAgIGlmIChsaW1pdCA+IHBpZF9tYXgtMSkgeworICAgICAgICAgICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiUiIFBSSXU2NCwgbGltaXQrMSk7IC8qIEFkZCBvbmUsIHNpbmNlIFBJRCAwIGlzIG5vdCBhIHZhbGlkIFBJRCAqLworLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsIGJ1ZmZlciwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvcGlkX21heCIsIGJ1ZmZlciwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHNwcmludGYoYnVmZmVyLCAiJSIgUFJJdTY0LCBsaW1pdCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvdGhyZWFkcy1tYXgiLCBidWZmZXIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC90aHJlYWRzLW1heCIsIGJ1ZmZlciwgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgdWludDY0X3QgdGhyZWFkc19tYXg7CisgCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3NtYWNrLXV0aWwuYyBiL3NyYy9iYXNpYy9zbWFjay11dGlsLmMKK2luZGV4IDEyM2QwMGUuLmU3ZWE3OGYgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc21hY2stdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvc21hY2stdXRpbC5jCitAQCAtMTE1LDcgKzExNSw3IEBAIGludCBtYWNfc21hY2tfYXBwbHlfcGlkKHBpZF90IHBpZCwgY29uc3QgY2hhciAqbGFiZWwpIHsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgCisgICAgICAgICBwID0gcHJvY2ZzX2ZpbGVfYWxsb2NhKHBpZCwgImF0dHIvY3VycmVudCIpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGxhYmVsLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgbGFiZWwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gcjsKKyAKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5jIGIvc3JjL2Jhc2ljL3V0aWwuYworaW5kZXggZTU3N2M5My4uM2M2NGY5MSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy91dGlsLmMKKysrKyBiL3NyYy9iYXNpYy91dGlsLmMKK0BAIC02MzEsNyArNjMxLDcgQEAgdm9pZCBkaXNhYmxlX2NvcmVkdW1wcyh2b2lkKSB7CisgICAgICAgICBpZiAoZGV0ZWN0X2NvbnRhaW5lcigpID4gMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiIsICJ8L2Jpbi9mYWxzZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4iLCAifC9iaW4vZmFsc2UiLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJGYWlsZWQgdG8gdHVybiBvZmYgY29yZWR1bXBzLCBpZ25vcmluZzogJW0iKTsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2JpbmZtdC9iaW5mbXQuYyBiL3NyYy9iaW5mbXQvYmluZm10LmMKK2luZGV4IGFmMzFmMDkuLmVlYzU3MzggMTAwNjQ0CistLS0gYS9zcmMvYmluZm10L2JpbmZtdC5jCisrKysgYi9zcmMvYmluZm10L2JpbmZtdC5jCitAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgaW50IGRlbGV0ZV9ydWxlKGNvbnN0IGNoYXIgKnJ1bGUpIHsKKyAgICAgICAgIGlmICghZm4pCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7CisgCistICAgICAgICByZXR1cm4gd3JpdGVfc3RyaW5nX2ZpbGUoZm4sICItMSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZShmbiwgIi0xIiwgMCk7CisgfQorIAorIHN0YXRpYyBpbnQgYXBwbHlfcnVsZShjb25zdCBjaGFyICpydWxlKSB7CitAQCAtNTUsNyArNTUsNyBAQCBzdGF0aWMgaW50IGFwcGx5X3J1bGUoY29uc3QgY2hhciAqcnVsZSkgeworIAorICAgICAgICAgKHZvaWQpIGRlbGV0ZV9ydWxlKHJ1bGUpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvZnMvYmluZm10X21pc2MvcmVnaXN0ZXIiLCBydWxlLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYy9yZWdpc3RlciIsIHJ1bGUsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gYWRkIGJpbmFyeSBmb3JtYXQ6ICVtIik7CisgCitAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyBpbnQgcnVuKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAgICAvKiBGbHVzaCBvdXQgYWxsIHJ1bGVzICovCistICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMvZnMvYmluZm10X21pc2Mvc3RhdHVzIiwgIi0xIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjL3N0YXR1cyIsICItMSIsIDApOworIAorICAgICAgICAgICAgICAgICBTVFJWX0ZPUkVBQ0goZiwgZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBrID0gYXBwbHlfZmlsZSgqZiwgdHJ1ZSk7CitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbWFpbi5jIGIvc3JjL2NvcmUvbWFpbi5jCitpbmRleCA1NjFmOTU2Li5kYjZmMTEzIDEwMDY0NAorLS0tIGEvc3JjL2NvcmUvbWFpbi5jCisrKysgYi9zcmMvY29yZS9tYWluLmMKK0BAIC0xNDY4LDcgKzE0NjgsNyBAQCBzdGF0aWMgaW50IGJ1bXBfdW5peF9tYXhfZGdyYW1fcWxlbih2b2lkKSB7CisgICAgICAgICBpZiAodiA+PSBERUZBVUxUX1VOSVhfTUFYX0RHUkFNX1FMRU4pCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlZigiL3Byb2Mvc3lzL25ldC91bml4L21heF9kZ3JhbV9xbGVuIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIsICIlbHUiLCBERUZBVUxUX1VOSVhfTUFYX0RHUkFNX1FMRU4pOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlZigiL3Byb2Mvc3lzL25ldC91bml4L21heF9kZ3JhbV9xbGVuIiwgMCwgIiVsdSIsIERFRkFVTFRfVU5JWF9NQVhfREdSQU1fUUxFTik7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZnVsbF9lcnJubyhJTl9TRVQociwgLUVST0ZTLCAtRVBFUk0sIC1FQUNDRVMpID8gTE9HX0RFQlVHIDogTE9HX1dBUk5JTkcsIHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGJ1bXAgQUZfVU5JWCBkYXRhZ3JhbSBxdWV1ZSBsZW5ndGgsIGlnbm9yaW5nOiAlbSIpOworQEAgLTE2ODMsNyArMTY4Myw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVfY29yZV9wYXR0ZXJuKGJvb2wgc2tpcF9zZXR1cCkgeworICAgICAgICAgaWYgKGdldHBpZF9jYWNoZWQoKSAhPSAxKQorICAgICAgICAgICAgICAgICByZXR1cm47CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9rZXJuZWwvY29yZV9wYXR0ZXJuIiwgYXJnX2Vhcmx5X2NvcmVfcGF0dGVybiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zeXMva2VybmVsL2NvcmVfcGF0dGVybiIsIGFyZ19lYXJseV9jb3JlX3BhdHRlcm4sIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gL3Byb2Mvc3lzL2tlcm5lbC9jb3JlX3BhdHRlcm4sIGlnbm9yaW5nOiAlbSIsIGFyZ19lYXJseV9jb3JlX3BhdHRlcm4pOworIH0KK2RpZmYgLS1naXQgYS9zcmMvY29yZS9zbWFjay1zZXR1cC5jIGIvc3JjL2NvcmUvc21hY2stc2V0dXAuYworaW5kZXggNDliMzdhZS4uYzk2ZWVkYyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL3NtYWNrLXNldHVwLmMKKysrKyBiL3NyYy9jb3JlL3NtYWNrLXNldHVwLmMKK0BAIC0zNTAsMTcgKzM1MCwxNyBAQCBpbnQgbWFjX3NtYWNrX3NldHVwKGJvb2wgKmxvYWRlZF9wb2xpY3kpIHsKKyAgICAgICAgIH0KKyAKKyAjaWZkZWYgU01BQ0tfUlVOX0xBQkVMCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvYXR0ci9jdXJyZW50IiwgU01BQ0tfUlVOX0xBQkVMLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvYXR0ci9jdXJyZW50IiwgU01BQ0tfUlVOX0xBQkVMLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmdfZXJybm8ociwgIkZhaWxlZCB0byBzZXQgU01BQ0sgbGFiZWwgXCIiIFNNQUNLX1JVTl9MQUJFTCAiXCIgb24gc2VsZjogJW0iKTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9mcy9zbWFja2ZzL2FtYmllbnQiLCBTTUFDS19SVU5fTEFCRUwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9mcy9zbWFja2ZzL2FtYmllbnQiLCBTTUFDS19SVU5fTEFCRUwsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBhbWJpZW50IGxhYmVsIFwiIiBTTUFDS19SVU5fTEFCRUwgIlwiOiAlbSIpOworICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvbmV0bGFiZWwiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIwLjAuMC4wLzAgIiBTTUFDS19SVU5fTEFCRUwsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMC4wLjAuMC8wICIgU01BQ0tfUlVOX0xBQkVMLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmdfZXJybm8ociwgIkZhaWxlZCB0byBzZXQgU01BQ0sgbmV0bGFiZWwgcnVsZSBcIjAuMC4wLjAvMCAiIFNNQUNLX1JVTl9MQUJFTCAiXCI6ICVtIik7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvZnMvc21hY2tmcy9uZXRsYWJlbCIsICIxMjcuMC4wLjEgLUNJUFNPIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2ZzL3NtYWNrZnMvbmV0bGFiZWwiLCAiMTI3LjAuMC4xIC1DSVBTTyIsIDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvIHNldCBTTUFDSyBuZXRsYWJlbCBydWxlIFwiMTI3LjAuMC4xIC1DSVBTT1wiOiAlbSIpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYyBiL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYworaW5kZXggMTdlN2NkMS4uODdhNzY2NyAxMDA2NDQKKy0tLSBhL3NyYy9oaWJlcm5hdGUtcmVzdW1lL2hpYmVybmF0ZS1yZXN1bWUuYworKysrIGIvc3JjL2hpYmVybmF0ZS1yZXN1bWUvaGliZXJuYXRlLXJlc3VtZS5jCitAQCAtNDUsNyArNDUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CisgICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisgICAgICAgICB9CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgbWFqb3JfbWlub3IsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBtYWpvcl9taW5vciwgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gd3JpdGUgJyVzJyB0byAvc3lzL3Bvd2VyL3Jlc3VtZTogJW0iLCBtYWpvcl9taW5vcik7CisgICAgICAgICAgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jCitpbmRleCAyYTY5ZjJlLi45ZDU1MzQwIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtZGV2aWNlL3NkLWRldmljZS5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1kZXZpY2Uvc2QtZGV2aWNlLmMKK0BAIC0xODM2LDcgKzE4MzYsNyBAQCBfcHVibGljXyBpbnQgc2RfZGV2aWNlX3NldF9zeXNhdHRyX3ZhbHVlKHNkX2RldmljZSAqZGV2aWNlLCBjb25zdCBjaGFyICpzeXNhdHRyLAorICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocGF0aCwgdmFsdWUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSIHwgV1JJVEVfU1RSSU5HX0ZJTEVfTk9GT0xMT1cpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHBhdGgsIHZhbHVlLCAwIHwgV1JJVEVfU1RSSU5HX0ZJTEVfTk9GT0xMT1cpOworICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgIGlmIChyID09IC1FTE9PUCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKK2RpZmYgLS1naXQgYS9zcmMvbG9naW4vbG9naW5kLWRidXMuYyBiL3NyYy9sb2dpbi9sb2dpbmQtZGJ1cy5jCitpbmRleCA4YWI0OThmLi5kMjdlZjljIDEwMDY0NAorLS0tIGEvc3JjL2xvZ2luL2xvZ2luZC1kYnVzLmMKKysrKyBiL3NyYy9sb2dpbi9sb2dpbmQtZGJ1cy5jCitAQCAtMTIzMSw3ICsxMjMxLDcgQEAgc3RhdGljIGludCB0cmlnZ2VyX2RldmljZShNYW5hZ2VyICptLCBzZF9kZXZpY2UgKmQpIHsKKyAgICAgICAgICAgICAgICAgaWYgKCF0KQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworIAorLSAgICAgICAgICAgICAgICAodm9pZCkgd3JpdGVfc3RyaW5nX2ZpbGUodCwgImNoYW5nZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgKHZvaWQpIHdyaXRlX3N0cmluZ19maWxlKHQsICJjaGFuZ2UiLCAwKTsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIHJldHVybiAwOworZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWlwdjYtcHJveHktbmRwLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1pcHY2LXByb3h5LW5kcC5jCitpbmRleCBmNTk0YjI3Li5jMjgzY2MzIDEwMDY0NAorLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuYworKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtaXB2Ni1wcm94eS1uZHAuYworQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIGludCBpcHY2X3Byb3h5X25kcF9zZXQoTGluayAqbGluaykgeworICAgICAgICAgdiA9IGlwdjZfcHJveHlfbmRwX2lzX25lZWRlZChsaW5rKTsKKyAgICAgICAgIHAgPSBzdHJqb2luYSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvIiwgbGluay0+aWZuYW1lLCAiL3Byb3h5X25kcCIpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKHYpLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBvbmVfemVybyh2KSwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGNvbmZpZ3VyZSBwcm94eSBORFAgZm9yIGludGVyZmFjZTogJW0iKTsKKyAKK2RpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMgYi9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKK2luZGV4IDIyMzkyZDcuLmUwZWQ1NTEgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1saW5rLmMKKysrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWxpbmsuYworQEAgLTI3NCw3ICsyNzQsNyBAQCBzdGF0aWMgaW50IGxpbmtfZW5hYmxlX2lwdjYoTGluayAqbGluaykgeworIAorICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvZGlzYWJsZV9pcHY2Iik7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgb25lX3plcm8oZGlzYWJsZWQpLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBvbmVfemVybyhkaXNhYmxlZCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCAlcyBJUHY2IGZvciBpbnRlcmZhY2UgJXM6ICVtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVfZGlzYWJsZSghZGlzYWJsZWQpLCBsaW5rLT5pZm5hbWUpOworQEAgLTEyNzIsNyArMTI3Miw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfcHJveHlfYXJwKExpbmsgKmxpbmspIHsKKyAKKyAgICAgICAgIHAgPSBzdHJqb2luYSgiL3Byb2Mvc3lzL25ldC9pcHY0L2NvbmYvIiwgbGluay0+aWZuYW1lLCAiL3Byb3h5X2FycCIpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKGxpbmstPm5ldHdvcmstPnByb3h5X2FycCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIG9uZV96ZXJvKGxpbmstPm5ldHdvcmstPnByb3h5X2FycCksIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgcHJveHkgQVJQIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjU0MSw3ICsyNTQxLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY0X2ZvcndhcmQoTGluayAqbGluaykgeworICAgICAgICAgICogcHJpbWFyaWx5IHRvIGtlZXAgSVB2NCBhbmQgSVB2NiBwYWNrZXQgZm9yd2FyZGluZyBiZWhhdmlvdXIKKyAgICAgICAgICAqIHNvbWV3aGF0IGluIHN5bmMgKHNlZSBiZWxvdykuICovCisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9uZXQvaXB2NC9pcF9mb3J3YXJkIiwgIjEiLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY0L2lwX2ZvcndhcmQiLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCB0dXJuIG9uIElQdjQgcGFja2V0IGZvcndhcmRpbmcsIGlnbm9yaW5nOiAlbSIpOworIAorQEAgLTI1NjMsNyArMjU2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9mb3J3YXJkKExpbmsgKmxpbmspIHsKKyAgICAgICAgICAqIHNhbWUgYmVoYXZpb3VyIHRoZXJlIGFuZCBhbHNvIHByb3BhZ2F0ZSB0aGUgc2V0dGluZyBmcm9tCisgICAgICAgICAgKiBvbmUgdG8gYWxsLCB0byBrZWVwIHRoaW5ncyBzaW1wbGUgKHNlZSBhYm92ZSkuICovCisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mL2FsbC9mb3J3YXJkaW5nIiwgIjEiLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc3lzL25ldC9pcHY2L2NvbmYvYWxsL2ZvcndhcmRpbmciLCAiMSIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgSVB2NiBwYWNrZXQgZm9yd2FyZGluZywgaWdub3Jpbmc6ICVtIik7CisgCitAQCAtMjU4Myw3ICsyNTgzLDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X3ByaXZhY3lfZXh0ZW5zaW9ucyhMaW5rICpsaW5rKSB7CisgICAgICAgICBwID0gc3Ryam9pbmEoIi9wcm9jL3N5cy9uZXQvaXB2Ni9jb25mLyIsIGxpbmstPmlmbmFtZSwgIi91c2VfdGVtcGFkZHIiKTsKKyAgICAgICAgIHhzcHJpbnRmKGJ1ZiwgIiV1IiwgKHVuc2lnbmVkKSBsaW5rLT5uZXR3b3JrLT5pcHY2X3ByaXZhY3lfZXh0ZW5zaW9ucyk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIGxvZ19saW5rX3dhcm5pbmdfZXJybm8obGluaywgciwgIkNhbm5vdCBjb25maWd1cmUgSVB2NiBwcml2YWN5IGV4dGVuc2lvbiBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2MDcsNyArMjYwNyw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9hY2NlcHRfcmEoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvYWNjZXB0X3JhIik7CisgCisgICAgICAgICAvKiBXZSBoYW5kbGUgcm91dGVyIGFkdmVydGlzZW1lbnRzIG91cnNlbHZlcywgdGVsbCB0aGUga2VybmVsIHRvIEdURk8gKi8KKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCAiMCIsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsICIwIiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IGRpc2FibGUga2VybmVsIElQdjYgYWNjZXB0X3JhIGZvciBpbnRlcmZhY2U6ICVtIik7CisgCitAQCAtMjYzNSw3ICsyNjM1LDcgQEAgc3RhdGljIGludCBsaW5rX3NldF9pcHY2X2RhZF90cmFuc21pdHMoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvZGFkX3RyYW5zbWl0cyIpOworICAgICAgICAgeHNwcmludGYoYnVmLCAiJWkiLCBsaW5rLT5uZXR3b3JrLT5pcHY2X2RhZF90cmFuc21pdHMpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRSB8IDApOworICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICBsb2dfbGlua193YXJuaW5nX2Vycm5vKGxpbmssIHIsICJDYW5ub3Qgc2V0IElQdjYgZGFkIHRyYW5zbWl0cyBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2NjMsNyArMjY2Myw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9ob3BfbGltaXQoTGluayAqbGluaykgeworICAgICAgICAgcCA9IHN0cmpvaW5hKCIvcHJvYy9zeXMvbmV0L2lwdjYvY29uZi8iLCBsaW5rLT5pZm5hbWUsICIvaG9wX2xpbWl0Iik7CisgICAgICAgICB4c3ByaW50ZihidWYsICIlaSIsIGxpbmstPm5ldHdvcmstPmlwdjZfaG9wX2xpbWl0KTsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShwLCBidWYsIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFIHwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHAsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUgfCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IHNldCBJUHY2IGhvcCBsaW1pdCBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorQEAgLTI2ODksNyArMjY4OSw3IEBAIHN0YXRpYyBpbnQgbGlua19zZXRfaXB2Nl9tdHUoTGluayAqbGluaykgeworIAorICAgICAgICAgeHNwcmludGYoYnVmLCAiJSIgUFJJdTMyLCBsaW5rLT5uZXR3b3JrLT5pcHY2X210dSk7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUocCwgYnVmLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgbG9nX2xpbmtfd2FybmluZ19lcnJubyhsaW5rLCByLCAiQ2Fubm90IHNldCBJUHY2IE1UVSBmb3IgaW50ZXJmYWNlOiAlbSIpOworIAorZGlmZiAtLWdpdCBhL3NyYy9uc3Bhd24vbnNwYXduLWNncm91cC5jIGIvc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMKK2luZGV4IDk3ZmEwOTIuLmI4NDFmNTEgMTAwNjQ0CistLS0gYS9zcmMvbnNwYXduL25zcGF3bi1jZ3JvdXAuYworKysrIGIvc3JjL25zcGF3bi9uc3Bhd24tY2dyb3VwLmMKK0BAIC0xMjMsNyArMTIzLDcgQEAgaW50IHN5bmNfY2dyb3VwKHBpZF90IHBpZCwgQ0dyb3VwVW5pZmllZCB1bmlmaWVkX3JlcXVlc3RlZCwgdWlkX3QgdWlkX3NoaWZ0KSB7CisgICAgICAgICAodm9pZCkgbWtkaXJfcGFyZW50cyhmbiwgMDc1NSk7CisgCisgICAgICAgICBzcHJpbnRmKHBpZF9zdHJpbmcsIFBJRF9GTVQsIHBpZCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZm4sIHBpZF9zdHJpbmcsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZShmbiwgcGlkX3N0cmluZywgMCk7CisgICAgICAgICBpZiAociA8IDApIHsKKyAgICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsICJGYWlsZWQgdG8gbW92ZSBwcm9jZXNzOiAlbSIpOworICAgICAgICAgICAgICAgICBnb3RvIGZpbmlzaDsKK2RpZmYgLS1naXQgYS9zcmMvbnNwYXduL25zcGF3bi5jIGIvc3JjL25zcGF3bi9uc3Bhd24uYworaW5kZXggZTBjMmQ3MS4uMjEzNzkwYyAxMDA2NDQKKy0tLSBhL3NyYy9uc3Bhd24vbnNwYXduLmMKKysrKyBiL3NyYy9uc3Bhd24vbnNwYXduLmMKK0BAIC0yMTE3LDcgKzIxMTcsNyBAQCBzdGF0aWMgaW50IHJlc2V0X2F1ZGl0X2xvZ2ludWlkKHZvaWQpIHsKKyAgICAgICAgIGlmIChzdHJlcShwLCAiNDI5NDk2NzI5NSIpKQorICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9sb2dpbnVpZCIsICI0Mjk0OTY3Mjk1IiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvcHJvYy9zZWxmL2xvZ2ludWlkIiwgIjQyOTQ5NjcyOTUiLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICBsb2dfZXJyb3JfZXJybm8ociwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gcmVzZXQgYXVkaXQgbG9naW4gVUlELiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgeW91ciBrZXJuZWwgaXMgdG9vXG4iCitAQCAtMzE5NSwxMyArMzE5NSwxMyBAQCBzdGF0aWMgaW50IHNldHVwX3VpZF9tYXAocGlkX3QgcGlkKSB7CisgCisgICAgICAgICB4c3ByaW50Zih1aWRfbWFwLCAiL3Byb2MvIiBQSURfRk1UICIvdWlkX21hcCIsIHBpZCk7CisgICAgICAgICB4c3ByaW50ZihsaW5lLCBVSURfRk1UICIgIiBVSURfRk1UICIgIiBVSURfRk1UICJcbiIsIDAsIGFyZ191aWRfc2hpZnQsIGFyZ191aWRfcmFuZ2UpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSh1aWRfbWFwLCBsaW5lLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIFVJRCBtYXA6ICVtIik7CisgCisgICAgICAgICAvKiBXZSBhbHdheXMgYXNzaWduIHRoZSBzYW1lIFVJRCBhbmQgR0lEIHJhbmdlcyAqLworICAgICAgICAgeHNwcmludGYodWlkX21hcCwgIi9wcm9jLyIgUElEX0ZNVCAiL2dpZF9tYXAiLCBwaWQpOworLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKHVpZF9tYXAsIGxpbmUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSh1aWRfbWFwLCBsaW5lLCAwKTsKKyAgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlIEdJRCBtYXA6ICVtIik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL3NsZWVwL3NsZWVwLmMgYi9zcmMvc2xlZXAvc2xlZXAuYworaW5kZXggNWI3OTg0YS4uYmY4MThhYSAxMDA2NDQKKy0tLSBhL3NyYy9zbGVlcC9zbGVlcC5jCisrKysgYi9zcmMvc2xlZXAvc2xlZXAuYworQEAgLTQzLDcgKzQzLDcgQEAgc3RhdGljIGludCB3cml0ZV9oaWJlcm5hdGVfbG9jYXRpb25faW5mbyh2b2lkKSB7CisgCisgICAgICAgICAvKiBpZiBpdCdzIGEgc3dhcCBwYXJ0aXRpb24sIHdlIGp1c3Qgd3JpdGUgdGhlIGRpc2sgdG8gL3N5cy9wb3dlci9yZXN1bWUgKi8KKyAgICAgICAgIGlmIChzdHJlcSh0eXBlLCAicGFydGl0aW9uIikpIHsKKy0gICAgICAgICAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL3Jlc3VtZSIsIGRldmljZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgZGV2aWNlLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZWQgdG8gd3JpdGUgcGFydGl0b2luIGRldmljZSB0byAvc3lzL3Bvd2VyL3Jlc3VtZTogJW0iKTsKKyAKK0BAIC03OSwxMiArNzksMTIgQEAgc3RhdGljIGludCB3cml0ZV9oaWJlcm5hdGVfbG9jYXRpb25faW5mbyh2b2lkKSB7CisgCisgICAgICAgICBvZmZzZXQgPSBmaWVtYXAtPmZtX2V4dGVudHNbMF0uZmVfcGh5c2ljYWwgLyBwYWdlX3NpemUoKTsKKyAgICAgICAgIHhzcHJpbnRmKG9mZnNldF9zdHIsICIlIiBQUkl1NjQsIG9mZnNldCk7CistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lX29mZnNldCIsIG9mZnNldF9zdHIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWVfb2Zmc2V0Iiwgb2Zmc2V0X3N0ciwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSBvZmZzZXQgJyVzJzogJW0iLCBvZmZzZXRfc3RyKTsKKyAKKyAgICAgICAgIHhzcHJpbnRmKGRldmljZV9zdHIsICIlbHgiLCAodW5zaWduZWQgbG9uZylzdGIuc3RfZGV2KTsKKy0gICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9wb3dlci9yZXN1bWUiLCBkZXZpY2Vfc3RyLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvcmVzdW1lIiwgZGV2aWNlX3N0ciwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSBkZXZpY2UgJyVzJzogJW0iLCBkZXZpY2Vfc3RyKTsKKyAKK0BAIC05OCw3ICs5OCw3IEBAIHN0YXRpYyBpbnQgd3JpdGVfbW9kZShjaGFyICoqbW9kZXMpIHsKKyAgICAgICAgIFNUUlZfRk9SRUFDSChtb2RlLCBtb2RlcykgeworICAgICAgICAgICAgICAgICBpbnQgazsKKyAKKy0gICAgICAgICAgICAgICAgayA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL3Bvd2VyL2Rpc2siLCAqbW9kZSwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICBrID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvcG93ZXIvZGlzayIsICptb2RlLCAwKTsKKyAgICAgICAgICAgICAgICAgaWYgKGsgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAKK0BAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIGludCB3cml0ZV9zdGF0ZShGSUxFICoqZiwgY2hhciAqKnN0YXRlcykgeworICAgICAgICAgU1RSVl9GT1JFQUNIKHN0YXRlLCBzdGF0ZXMpIHsKKyAgICAgICAgICAgICAgICAgaW50IGs7CisgCistICAgICAgICAgICAgICAgIGsgPSB3cml0ZV9zdHJpbmdfc3RyZWFtKCpmLCAqc3RhdGUsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgayA9IHdyaXRlX3N0cmluZ19zdHJlYW0oKmYsICpzdGF0ZSwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChrID49IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhrLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gL3N5cy9wb3dlci9zdGF0ZTogJW0iLCAqc3RhdGUpOworQEAgLTIxMiw3ICsyMTIsNyBAQCBzdGF0aWMgaW50IHJ0Y193cml0ZV93YWtlX2FsYXJtKHVpbnQ2NF90IHNlYykgeworIAorICAgICAgICAgeHNwcmludGYoYnVmLCAiJSIgUFJJdTY0LCBzZWMpOworIAorLSAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2NsYXNzL3J0Yy9ydGMwL3dha2VhbGFybSIsIGJ1ZiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgciA9IHdyaXRlX3N0cmluZ19maWxlKCIvc3lzL2NsYXNzL3J0Yy9ydGMwL3dha2VhbGFybSIsIGJ1ZiwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwgIkZhaWxlZCB0byB3cml0ZSAnJXMnIHRvIC9zeXMvY2xhc3MvcnRjL3J0YzAvd2FrZWFsYXJtOiAlbSIsIGJ1Zik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmFkbS10cmlnZ2VyLmMgYi9zcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYworaW5kZXggOTUzMjk0Ni4uMmU1NzZiYiAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXZhZG0tdHJpZ2dlci5jCisrKysgYi9zcmMvdWRldi91ZGV2YWRtLXRyaWdnZXIuYworQEAgLTQyLDcgKzQyLDcgQEAgc3RhdGljIGludCBleGVjX2xpc3Qoc2RfZGV2aWNlX2VudW1lcmF0b3IgKmUsIGNvbnN0IGNoYXIgKmFjdGlvbiwgU2V0ICpzZXR0bGVfc2UKKyAgICAgICAgICAgICAgICAgaWYgKCFmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOworIAorLSAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsIGFjdGlvbiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsIGFjdGlvbiwgMCk7CisgICAgICAgICAgICAgICAgIGlmIChyIDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhyLCAiRmFpbGVkIHRvIHdyaXRlICclcycgdG8gJyVzJywgaWdub3Jpbmc6ICVtIiwgYWN0aW9uLCBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmQuYyBiL3NyYy91ZGV2L3VkZXZkLmMKK2luZGV4IDAzMDNmMzYuLjY4N2QwMDkgMTAwNjQ0CistLS0gYS9zcmMvdWRldi91ZGV2ZC5jCisrKysgYi9zcmMvdWRldi91ZGV2ZC5jCitAQCAtMTIxOCw3ICsxMjE4LDcgQEAgc3RhdGljIGludCBzeW50aGVzaXplX2NoYW5nZShzZF9kZXZpY2UgKmRldikgeworICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJEZXZpY2UgJyVzJyBpcyBjbG9zZWQsIHN5bnRoZXNpc2luZyAnY2hhbmdlJyIsIGRldm5hbWUpOworICAgICAgICAgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgc3lzcGF0aCwgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgICAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCBXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgMCk7CisgCisgICAgICAgICAgICAgICAgIEZPUkVBQ0hfREVWSUNFKGUsIGQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0LCAqbiwgKnM7CitAQCAtMTIzMyw3ICsxMjMzLDcgQEAgc3RhdGljIGludCBzeW50aGVzaXplX2NoYW5nZShzZF9kZXZpY2UgKmRldikgeworIAorICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiRGV2aWNlICclcycgaXMgY2xvc2VkLCBzeW50aGVzaXNpbmcgcGFydGl0aW9uICclcycgJ2NoYW5nZSciLCBkZXZuYW1lLCBuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgcywgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zdHJpbmdfZmlsZShmaWxlbmFtZSwgImNoYW5nZSIsIDApOworICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICAgICAgICAgIHJldHVybiAwOworQEAgLTEyNDEsNyArMTI0MSw3IEBAIHN0YXRpYyBpbnQgc3ludGhlc2l6ZV9jaGFuZ2Uoc2RfZGV2aWNlICpkZXYpIHsKKyAKKyAgICAgICAgIGxvZ19kZWJ1ZygiRGV2aWNlICVzIGlzIGNsb3NlZCwgc3ludGhlc2lzaW5nICdjaGFuZ2UnIiwgZGV2bmFtZSk7CisgICAgICAgICBzdHJzY3B5bChmaWxlbmFtZSwgc2l6ZW9mKGZpbGVuYW1lKSwgc3lzcGF0aCwgIi91ZXZlbnQiLCBOVUxMKTsKKy0gICAgICAgIHdyaXRlX3N0cmluZ19maWxlKGZpbGVuYW1lLCAiY2hhbmdlIiwgV1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOworKyAgICAgICAgd3JpdGVfc3RyaW5nX2ZpbGUoZmlsZW5hbWUsICJjaGFuZ2UiLCAwKTsKKyAKKyAgICAgICAgIHJldHVybiAwOworIH0KK2RpZmYgLS1naXQgYS9zcmMvdmNvbnNvbGUvdmNvbnNvbGUtc2V0dXAuYyBiL3NyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jCitpbmRleCBlYmRlYmEzLi5hYTg3OWU2IDEwMDY0NAorLS0tIGEvc3JjL3Zjb25zb2xlL3Zjb25zb2xlLXNldHVwLmMKKysrKyBiL3NyYy92Y29uc29sZS92Y29uc29sZS1zZXR1cC5jCitAQCAtMTE0LDcgKzExNCw3IEBAIHN0YXRpYyBpbnQgdG9nZ2xlX3V0ZjgoY29uc3QgY2hhciAqbmFtZSwgaW50IGZkLCBib29sIHV0ZjgpIHsKKyBzdGF0aWMgaW50IHRvZ2dsZV91dGY4X3N5c2ZzKGJvb2wgdXRmOCkgeworICAgICAgICAgaW50IHI7CisgCistICAgICAgICByID0gd3JpdGVfc3RyaW5nX2ZpbGUoIi9zeXMvbW9kdWxlL3Z0L3BhcmFtZXRlcnMvZGVmYXVsdF91dGY4Iiwgb25lX3plcm8odXRmOCksIFdSSVRFX1NUUklOR19GSUxFX0RJU0FCTEVfQlVGRkVSKTsKKysgICAgICAgIHIgPSB3cml0ZV9zdHJpbmdfZmlsZSgiL3N5cy9tb2R1bGUvdnQvcGFyYW1ldGVycy9kZWZhdWx0X3V0ZjgiLCBvbmVfemVybyh1dGY4KSwgMCk7CisgICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfd2FybmluZ19lcnJubyhyLCAiRmFpbGVkIHRvICVzIHN5c2ZzIFVURi04IGZsYWc6ICVtIiwgZW5hYmxlX2Rpc2FibGUodXRmOCkpOworIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLWxvZ2luLXVzZS1wYXJzZV91aWQtd2hlbi11bm1vdW50aW5nLXVzZXItcnVudGltZS1kaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMDhlMzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1sb2dpbi11c2UtcGFyc2VfdWlkLXdoZW4tdW5tb3VudGluZy11c2VyLXJ1bnRpbWUtZGlyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gODZkMThmM2IwOWVjOTg0ZWYzNzMyNTY3YWY5OTJhZGIyZGM3N2E4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogTW9uLCA5IEp1bCAyMDE4IDE0OjA1OjIwICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxvZ2luOiB1c2UgcGFyc2VfdWlkKCkgd2hlbiB1bm1vdW50aW5nIHVzZXIgcnVudGltZSBkaXJlY3RvcnkKLQotV2hlbiB1bm1vdW50aW5nIHVzZXIgcnVudGltZSBkaXJlY3RvcnksIG9ubHkgVUlEIGlzIG5lY2Vzc2FyeSwKLWFuZCB0aGUgY29ycmVzcG9uZGluZyB1c2VyIG1heSBub3QgZXhpc3QgYW55bW9yZS4KLVRoaXMgbWFrZXMgZmlyc3QgdHJ5IHRvIHBhcnNlIHRoZSBpbnB1dCBieSBwYXJzZV91aWQoKSwgYW5kIG9ubHkgaWYgaXQKLWZhaWxzLCBwcmFzZSB0aGUgaW5wdXQgYnkgZ2V0X3VzZXJfY3JlZHMoKS4KLQotRml4ZXMgIzk1NDEuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLS0tLQotIHNyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMgYi9zcmMvbG9naW4vdXNlci1ydW50aW1lLWRpci5jCi1pbmRleCAxYmIyNmM5OWUuLmRlNDA2MWM3NSAxMDA2NDQKLS0tLSBhL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMKLSsrKyBiL3NyYy9sb2dpbi91c2VyLXJ1bnRpbWUtZGlyLmMKLUBAIC0xMTEsOCArMTExLDIyIEBAIHN0YXRpYyBpbnQgdXNlcl9yZW1vdmVfcnVudGltZV9wYXRoKGNvbnN0IGNoYXIgKnJ1bnRpbWVfcGF0aCkgewotICAgICAgICAgcmV0dXJuIHI7Ci0gfQotIAotLXN0YXRpYyBpbnQgZG9fbW91bnQoY29uc3QgY2hhciAqcnVudGltZV9wYXRoLCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotK3N0YXRpYyBpbnQgZG9fbW91bnQoY29uc3QgY2hhciAqdXNlcikgewotKyAgICAgICAgY2hhciBydW50aW1lX3BhdGhbc2l6ZW9mKCIvcnVuL3VzZXIiKSArIERFQ0lNQUxfU1RSX01BWCh1aWRfdCldOwotICAgICAgICAgc2l6ZV90IHJ1bnRpbWVfZGlyX3NpemU7Ci0rICAgICAgICB1aWRfdCB1aWQ7Ci0rICAgICAgICBnaWRfdCBnaWQ7Ci0rICAgICAgICBpbnQgcjsKLSsKLSsgICAgICAgIHIgPSBnZXRfdXNlcl9jcmVkcygmdXNlciwgJnVpZCwgJmdpZCwgTlVMTCwgTlVMTCk7Ci0rICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZXJyb3JfZXJybm8ociwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FU1JDSCA/ICJObyBzdWNoIHVzZXIgXCIlc1wiIiA6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRU5PTVNHID8gIlVJRCBcIiVzXCIgaXMgaW52YWxpZCBvciBoYXMgYW4gaW52YWxpZCBtYWluIGdyb3VwIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJGYWlsZWQgdG8gbG9vayB1cCB1c2VyIFwiJXNcIjogJW0iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIpOwotKwotKyAgICAgICAgeHNwcmludGYocnVudGltZV9wYXRoLCAiL3J1bi91c2VyLyIgVUlEX0ZNVCwgdWlkKTsKLSAKLSAgICAgICAgIGFzc2VydF9zZShnYXRoZXJfY29uZmlndXJhdGlvbigmcnVudGltZV9kaXJfc2l6ZSkgPT0gMCk7Ci0gCi1AQCAtMTIwLDE2ICsxMzQsMzAgQEAgc3RhdGljIGludCBkb19tb3VudChjb25zdCBjaGFyICpydW50aW1lX3BhdGgsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0gICAgICAgICByZXR1cm4gdXNlcl9ta2Rpcl9ydW50aW1lX3BhdGgocnVudGltZV9wYXRoLCB1aWQsIGdpZCwgcnVudGltZV9kaXJfc2l6ZSk7Ci0gfQotIAotLXN0YXRpYyBpbnQgZG9fdW1vdW50KGNvbnN0IGNoYXIgKnJ1bnRpbWVfcGF0aCkgewotK3N0YXRpYyBpbnQgZG9fdW1vdW50KGNvbnN0IGNoYXIgKnVzZXIpIHsKLSsgICAgICAgIGNoYXIgcnVudGltZV9wYXRoW3NpemVvZigiL3J1bi91c2VyIikgKyBERUNJTUFMX1NUUl9NQVgodWlkX3QpXTsKLSsgICAgICAgIHVpZF90IHVpZDsKLSsgICAgICAgIGludCByOwotKwotKyAgICAgICAgLyogVGhlIHVzZXIgbWF5IGJlIGFscmVhZHkgcmVtb3ZlZC4gU28sIGZpcnN0IHRyeSB0byBwYXJzZSB0aGUgc3RyaW5nIGJ5IHBhcnNlX3VpZCgpLAotKyAgICAgICAgICogYW5kIGlmIGl0IGZhaWxzLCBmYWxsYmFjayB0byBnZXRfdXNlcl9jcmVkcygpLiovCi0rICAgICAgICBpZiAocGFyc2VfdWlkKHVzZXIsICZ1aWQpIDwgMCkgewotKyAgICAgICAgICAgICAgICByID0gZ2V0X3VzZXJfY3JlZHMoJnVzZXIsICZ1aWQsIE5VTEwsIE5VTEwsIE5VTEwpOwotKyAgICAgICAgICAgICAgICBpZiAociA8IDApCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRVNSQ0ggPyAiTm8gc3VjaCB1c2VyIFwiJXNcIiIgOgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9PSAtRU5PTVNHID8gIlVJRCBcIiVzXCIgaXMgaW52YWxpZCBvciBoYXMgYW4gaW52YWxpZCBtYWluIGdyb3VwIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIkZhaWxlZCB0byBsb29rIHVwIHVzZXIgXCIlc1wiOiAlbSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIHhzcHJpbnRmKHJ1bnRpbWVfcGF0aCwgIi9ydW4vdXNlci8iIFVJRF9GTVQsIHVpZCk7Ci0rCi0gICAgICAgICBsb2dfZGVidWcoIldpbGwgcmVtb3ZlICVzIiwgcnVudGltZV9wYXRoKTsKLSAgICAgICAgIHJldHVybiB1c2VyX3JlbW92ZV9ydW50aW1lX3BhdGgocnVudGltZV9wYXRoKTsKLSB9Ci0gCi0gaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotLSAgICAgICAgY29uc3QgY2hhciAqdXNlcjsKLS0gICAgICAgIHVpZF90IHVpZDsKLS0gICAgICAgIGdpZF90IGdpZDsKLS0gICAgICAgIGNoYXIgcnVudGltZV9wYXRoW3NpemVvZigiL3J1bi91c2VyIikgKyBERUNJTUFMX1NUUl9NQVgodWlkX3QpXTsKLSAgICAgICAgIGludCByOwotIAotICAgICAgICAgbG9nX3BhcnNlX2Vudmlyb25tZW50KCk7Ci1AQCAtMTQ2LDIzICsxNzQsMTAgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotIAotICAgICAgICAgdW1hc2soMDAyMik7Ci0gCi0tICAgICAgICB1c2VyID0gYXJndlsyXTsKLS0gICAgICAgIHIgPSBnZXRfdXNlcl9jcmVkcygmdXNlciwgJnVpZCwgJmdpZCwgTlVMTCwgTlVMTCk7Ci0tICAgICAgICBpZiAociA8IDApIHsKLS0gICAgICAgICAgICAgICAgbG9nX2Vycm9yX2Vycm5vKHIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FU1JDSCA/ICJObyBzdWNoIHVzZXIgXCIlc1wiIiA6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID09IC1FTk9NU0cgPyAiVUlEIFwiJXNcIiBpcyBpbnZhbGlkIG9yIGhhcyBhbiBpbnZhbGlkIG1haW4gZ3JvdXAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAiRmFpbGVkIHRvIGxvb2sgdXAgdXNlciBcIiVzXCI6ICVtIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXIpOwotLSAgICAgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotLSAgICAgICAgfQotLQotLSAgICAgICAgeHNwcmludGYocnVudGltZV9wYXRoLCAiL3J1bi91c2VyLyIgVUlEX0ZNVCwgdWlkKTsKLS0KLSAgICAgICAgIGlmIChzdHJlcShhcmd2WzFdLCAic3RhcnQiKSkKLS0gICAgICAgICAgICAgICAgciA9IGRvX21vdW50KHJ1bnRpbWVfcGF0aCwgdWlkLCBnaWQpOwotKyAgICAgICAgICAgICAgICByID0gZG9fbW91bnQoYXJndlsyXSk7Ci0gICAgICAgICBlbHNlIGlmIChzdHJlcShhcmd2WzFdLCAic3RvcCIpKQotLSAgICAgICAgICAgICAgICByID0gZG9fdW1vdW50KHJ1bnRpbWVfcGF0aCk7Ci0rICAgICAgICAgICAgICAgIHIgPSBkb191bW91bnQoYXJndlsyXSk7Ci0gICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIGFzc2VydF9ub3RfcmVhY2hlZCgiVW5rbm93biB2ZXJiISIpOwotIAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXAtZm9yLXZhcmlvdXMtdGFyZ2V0cy10LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXAtZm9yLXZhcmlvdXMtdGFyZ2V0cy10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxOTM2ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcC1mb3ItdmFyaW91cy10YXJnZXRzLXQucGF0Y2gKQEAgLTAsMCArMSwxMTggQEAKK0Zyb20gOWY4NmQ4NzY5YWI4MzBhNzI0Yzg0Zjg0OTk3NWI1NTk1ZTI2YjQ3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9aYmlnbmlldz0yMEo9QzQ9OTlkcnplamV3c2tpLVN6bWVrPz0gPHpieXN6ZWtAaW4ud2F3LnBsPgorRGF0ZTogU3VuLCAyNCBGZWIgMjAxOSAyMjo0OTozOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBtZXNvbjogZGVjbGFyZSB2ZXJzaW9uLmggYXMgZGVwIGZvciB2YXJpb3VzIHRhcmdldHMgdGhhdAorIGluY2x1ZGUgYnVpbGQuaAorCitTaG91bGQgZml4ICMxMTU2NS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICB8IDE5ICsrKysrKysrKysrKystLS0tLS0KKyBzcmMvY29yZS9tZXNvbi5idWlsZCB8ICAzICsrLQorIHNyYy91ZGV2L21lc29uLmJ1aWxkIHwgIDEgKworIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDMwZGY4MzQuLjIzMmYzZTEgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xNjM3LDcgKzE2MzcsOCBAQCBleGUgPSBleGVjdXRhYmxlKCdzeXN0ZW1kLWFuYWx5emUnLAorICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYmNvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2hhcmVkXSwKKy0gICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt0aHJlYWRzLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzZWNjb21wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlbGludXgsCitAQCAtMjE4Myw3ICsyMTg0LDggQEAgaWYgY29uZi5nZXQoJ0VOQUJMRV9JTVBPUlREJykgPT0gMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1kX3B1bGxfc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGlic2hhcmVkXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW2xpYmN1cmwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJiemlwMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnh6LAorQEAgLTIyMzIsNyArMjIzNCw4IEBAIGlmIGNvbmYuZ2V0KCdFTkFCTEVfUkVNT1RFJykgPT0gMSBhbmQgY29uZi5nZXQoJ0hBVkVfTElCQ1VSTCcpID09IDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZF9qb3VybmFsX3VwbG9hZF9zb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJzaGFyZWRdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdGhyZWFkcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliY3VybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmdudXRscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnh6LAorQEAgLTI1NTgsNiArMjU2MSw3IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3N5c3RlbWQtc3RkaW8tYnJpZGdlJywKKyAgICAgICAgICAgICAgICAgICdzcmMvc3RkaW8tYnJpZGdlL3N0ZGlvLWJyaWRnZS5jJywKKyAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJzaGFyZWRdLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXBdLAorICAgICAgICAgICAgICAgICAgaW5zdGFsbF9ycGF0aCA6IHJvb3RsaWJleGVjZGlyLAorICAgICAgICAgICAgICAgICAgaW5zdGFsbCA6IHRydWUpCisgcHVibGljX3Byb2dyYW1zICs9IGV4ZQorQEAgLTI2NDEsNyArMjY0NSw4IEBAIGV4ZSA9IGV4ZWN1dGFibGUoJ3N5c3RlbWQtdWRldmQnLAorICAgICAgICAgICAgICAgICAgbGlua193aXRoIDogW2xpYnVkZXZfY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzeXN0ZW1kX25ldHdvcmssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlidWRldl9zdGF0aWNdLAorLSAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmttb2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliaWRuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmFjbCwKK0BAIC0yNjU4LDcgKzI2NjMsOCBAQCBleGUgPSBleGVjdXRhYmxlKCd1ZGV2YWRtJywKKyAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJ1ZGV2X2NvcmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic3lzdGVtZF9uZXR3b3JrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnVkZXZfc3RhdGljXSwKKy0gICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt0aHJlYWRzLAorKyAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3ZlcnNpb25kZXAsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJrbW9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmlkbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJhY2wsCitAQCAtMjc5OCw3ICsyODA0LDggQEAgZm9yZWFjaCB0dXBsZSA6IHRlc3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rX3dpdGggOiBsaW5rX3dpdGgsCistICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogZGVwZW5kZW5jaWVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llcyA6IFt2ZXJzaW9uZGVwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXNdLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNfYXJncyA6IGRlZnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfYnlfZGVmYXVsdCA6IHdhbnRfdGVzdHMgIT0gJ2ZhbHNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX3JwYXRoIDogcm9vdGxpYmV4ZWNkaXIsCitkaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbWVzb24uYnVpbGQgYi9zcmMvY29yZS9tZXNvbi5idWlsZAoraW5kZXggODUwMjFiZC4uODhmYjA5MyAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL21lc29uLmJ1aWxkCisrKysgYi9zcmMvY29yZS9tZXNvbi5idWlsZAorQEAgLTE1MCw3ICsxNTAsOCBAQCBsaWJjb3JlID0gc3RhdGljX2xpYnJhcnkoCisgICAgICAgICBsb2FkX2ZyYWdtZW50X2dwZXJmX2MsCisgICAgICAgICBsb2FkX2ZyYWdtZW50X2dwZXJmX251bHN0cl9jLAorICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllcyA6IGluY2x1ZGVzLAorLSAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlY2NvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlicGFtLAorZGlmZiAtLWdpdCBhL3NyYy91ZGV2L21lc29uLmJ1aWxkIGIvc3JjL3VkZXYvbWVzb24uYnVpbGQKK2luZGV4IDlkM2Y2ZDEuLjk3M2E3NWUgMTAwNjQ0CistLS0gYS9zcmMvdWRldi9tZXNvbi5idWlsZAorKysrIGIvc3JjL3VkZXYvbWVzb24uYnVpbGQKK0BAIC0xODAsNiArMTgwLDcgQEAgZm9yZWFjaCBwcm9nIDogW1snYXRhX2lkL2F0YV9pZC5jJ10sCisgICAgICAgICAgICAgICAgICAgIHByb2csCisgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlyZWN0b3JpZXMgOiBpbmNsdWRlcywKKyAgICAgICAgICAgICAgICAgICAgY19hcmdzIDogWyctRExPR19SRUFMTT1MT0dfUkVBTE1fVURFViddLAorKyAgICAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcF0sCisgICAgICAgICAgICAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJ1ZGV2X3N0YXRpY10sCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGxfcnBhdGggOiB1ZGV2X3JwYXRoLAorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsIDogdHJ1ZSwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXBlbmRlbmN5LWZvci1zeXN0ZW1kLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1kZWNsYXJlLXZlcnNpb24uaC1hcy1kZXBlbmRlbmN5LWZvci1zeXN0ZW1kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NzRkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSBlMTRkNzI0YTkzMmEyNTVlZWM0ZDYwYjA4ZTEyODUxOWMzM2U4OGVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDExOjU5OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBkZWNsYXJlIHZlcnNpb24uaCBhcyBkZXBlbmRlbmN5IGZvciBzeXN0ZW1kCisKK1RoaXMgaXMgYSBmb2xsb3d1cCB0byAjMTE4MTUgYW5kIGFkZHMgdGhlIGxhc3QgbWlzc2luZyBkZXBlbmRlbmN5LgorV2l0aCB0aGlzICMxMTU2NSBpcyBob3BlZnVsbHkgcmVhbGx5IGZpeGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIG1lc29uLmJ1aWxkIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAyMzJmM2UxLi43MDE0OGJlIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtMTYxOCw3ICsxNjE4LDggQEAgZXhlY3V0YWJsZSgnc3lzdGVtZCcsCisgICAgICAgICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogaW5jbHVkZXMsCisgICAgICAgICAgICBsaW5rX3dpdGggOiBbbGliY29yZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaWJzaGFyZWRdLAorLSAgICAgICAgICAgZGVwZW5kZW5jaWVzIDogW3RocmVhZHMsCisrICAgICAgICAgICBkZXBlbmRlbmNpZXMgOiBbdmVyc2lvbmRlcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnNlY2NvbXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlic2VsaW51eCwKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDEtbWVzb24tcmVuYW1lLURkZWJ1Zy10by1EZGVidWctZXh0cmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2ZDMwNWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1tZXNvbi1yZW5hbWUtRGRlYnVnLXRvLURkZWJ1Zy1leHRyYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gOGY2YjQ0MmE3OGQwYjQ4NWYwNDQ3NDJhZDkwYjJlODI3MWI0ZTY4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9aYmlnbmlldz0yMEo9QzQ9OTlkcnplamV3c2tpLVN6bWVrPz0gPHpieXN6ZWtAaW4ud2F3LnBsPgotRGF0ZTogU3VuLCAxOSBBdWcgMjAxOCAxOToxMTozMCArMDIwMAotU3ViamVjdDogW1BBVENIXSBtZXNvbjogcmVuYW1lIC1EZGVidWcgdG8gLURkZWJ1Zy1leHRyYQotCi1NZXNvbiBhZGRlZCAtRG9wdGltaXphdGlvbiBhbmQgLURkZWJ1ZyBvcHRpb25zLCB3aGljaCBvYnZpb3VzbHkgY2F1c2VzCi1hIGNvbmZsaWN0IHdpdGggb3VyIC1EZGVidWcgb3B0aW9ucy4gTGV0J3MgcmVuYW1lIGl0LgotCi1GaXhlcyAjOTg4My4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgfCAyICstCi0gbWVzb25fb3B0aW9ucy50eHQgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCBmNzlhYzRiMTIuLjIyMDljOTM1YSAxMDA2NDQKLS0tLSBhL21lc29uLmJ1aWxkCi0rKysgYi9tZXNvbi5idWlsZAotQEAgLTc2Myw3ICs3NjMsNyBAQCBzdWJzdHMuc2V0KCdERUJVR1RUWScsIGdldF9vcHRpb24oJ2RlYnVnLXR0eScpKQotIAotIGVuYWJsZV9kZWJ1Z19oYXNobWFwID0gZmFsc2UKLSBlbmFibGVfZGVidWdfbW1hcF9jYWNoZSA9IGZhbHNlCi0tZm9yZWFjaCBuYW1lIDogZ2V0X29wdGlvbignZGVidWcnKQotK2ZvcmVhY2ggbmFtZSA6IGdldF9vcHRpb24oJ2RlYnVnLWV4dHJhJykKLSAgICAgICAgIGlmIG5hbWUgPT0gJ2hhc2htYXAnCi0gICAgICAgICAgICAgICAgIGVuYWJsZV9kZWJ1Z19oYXNobWFwID0gdHJ1ZQotICAgICAgICAgZWxpZiBuYW1lID09ICdtbWFwLWNhY2hlJwotZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKLWluZGV4IGUzMTQwYzhjMS4uN2IxZjYxYmY0IDEwMDY0NAotLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKLSsrKyBiL21lc29uX29wdGlvbnMudHh0Ci1AQCAtNDUsNyArNDUsNyBAQCBvcHRpb24oJ2RlYnVnLXNoZWxsJywgdHlwZSA6ICdzdHJpbmcnLCB2YWx1ZSA6ICcvYmluL3NoJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAncGF0aCB0byBkZWJ1ZyBzaGVsbCBiaW5hcnknKQotIG9wdGlvbignZGVidWctdHR5JywgdHlwZSA6ICdzdHJpbmcnLCB2YWx1ZSA6ICcvZGV2L3R0eTknLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdzcGVjaWZ5IHRoZSB0dHkgZGV2aWNlIGZvciBkZWJ1ZyBzaGVsbCcpCi0tb3B0aW9uKCdkZWJ1ZycsIHR5cGUgOiAnYXJyYXknLCBjaG9pY2VzIDogWydoYXNobWFwJywgJ21tYXAtY2FjaGUnXSwgdmFsdWUgOiBbXSwKLStvcHRpb24oJ2RlYnVnLWV4dHJhJywgdHlwZSA6ICdhcnJheScsIGNob2ljZXMgOiBbJ2hhc2htYXAnLCAnbW1hcC1jYWNoZSddLCB2YWx1ZSA6IFtdLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdlbmFibGUgZXh0cmEgZGVidWdnaW5nJykKLSBvcHRpb24oJ21lbW9yeS1hY2NvdW50aW5nLWRlZmF1bHQnLCB0eXBlIDogJ2Jvb2xlYW4nLAotICAgICAgICBkZXNjcmlwdGlvbiA6ICdlbmFibGUgTWVtb3J5QWNjb3VudGluZz0gYnkgZGVmYXVsdCcpCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXNkLWJ1cy1tYWtlLUJVU19ERUZBVUxUX1RJTUVPVVQtY29uZmlndXJhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1zZC1idXMtbWFrZS1CVVNfREVGQVVMVF9USU1FT1VULWNvbmZpZ3VyYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjOWI1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXNkLWJ1cy1tYWtlLUJVU19ERUZBVUxUX1RJTUVPVVQtY29uZmlndXJhYmxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc1ICswLDAgQEAKLUZyb20gNWI3NWE3MmVlOTY4Yzk2NjZiNWYyZWEzMTM3MjBiNmMzODNjYjRjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFl1IFdhdGFuYWJlIDx3YXRhbmFiZS55dStnaXRodWJAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxMyBKdWwgMjAxOCAxNzozODo0NyArMDkwMAotU3ViamVjdDogW1BBVENIXSBzZC1idXM6IG1ha2UgQlVTX0RFRkFVTFRfVElNRU9VVCBjb25maWd1cmFibGUKLQotVGhpcyBhZGRzIHNkX2J1c197Z2V0LHNldH1fbWV0aG9kX2NhbGxfdGltZW91dCgpLgotSWYgdGhlIHRpbWVvdXQgaXMgbm90IHNldCBvciBzZXQgdG8gMCwgdGhlbiB0aGUgdGltZW91dCB2YWx1ZSBpcwotcGFyc2VkIGZyb20gJFNZU1RFTURfQlVTX1RJTUVPVVQ9IGVudmlyb25tZW50IHZhcmlhYmxlLiBJZiB0aGUKLWVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIHRoZW4gYnVpbHQtaW4gdGltZW91dCBpcyB1c2VkLgotLS0tCi0gZG9jL0VOVklST05NRU5ULm1kICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKLSBzcmMvbGlic3lzdGVtZC9saWJzeXN0ZW1kLnN5bSAgICAgICAgfCAgNSArKysrKwotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaCB8ICA5ICsrKystLS0tCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1tZXNzYWdlLmMgIHwgIDcgKysrKystLQotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYyAgICAgICB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQotIHNyYy9zeXN0ZW1kL3NkLWJ1cy5oICAgICAgICAgICAgICAgICB8ICAzICsrKwotIDYgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0KLWRpZmYgLS1naXQgYS9kb2MvRU5WSVJPTk1FTlQubWQgYi9kb2MvRU5WSVJPTk1FTlQubWQKLWluZGV4IDg1ZDI2ZmUyOGMuLjY0MWEwM2Q1ZDcgMTAwNjQ0Ci0tLS0gYS9kb2MvRU5WSVJPTk1FTlQubWQKLSsrKyBiL2RvYy9FTlZJUk9OTUVOVC5tZAotQEAgLTM3LDYgKzM3LDExIEBAIEFsbCB0b29sczoKLSAgIHVzZWZ1bCBmb3IgZGVidWdnaW5nLCBpbiBvcmRlciB0byB0ZXN0IGdlbmVyYXRvcnMgYW5kIG90aGVyIGNvZGUgYWdhaW5zdAotICAgc3BlY2lmaWMga2VybmVsIGNvbW1hbmQgbGluZXMuCi0gCi0rKiBgJFNZU1RFTURfQlVTX1RJTUVPVVQ9U0VDU2Ag4oCUIHNwZWNpZmllcyB0aGUgbWF4aW11bSB0aW1lIHRvIHdhaXQgZm9yIG1ldGhvZCBjYWxsCi0rICBjb21wbGV0aW9uLiBJZiBubyB0aW1lIHVuaXQgaXMgc3BlY2lmaWVkLCBhc3N1bWVzIHNlY29uZHMuIFRoZSB1c3VhbCBvdGhlciB1bml0cwotKyAgYXJlIHVuZGVyc3Rvb2QsIHRvbyAodXMsIG1zLCBzLCBtaW4sIGgsIGQsIHcsIG1vbnRoLCB5KS4gSWYgaXQgaXMgbm90IHNldCBvciBzZXQKLSsgIHRvIDAsIHRoZW4gdGhlIGJ1aWx0LWluIGRlZmF1bHQgaXMgdXNlZC4KLSsKLSBzeXN0ZW1jdGw6Ci0gCi0gKiBgJFNZU1RFTUNUTF9GT1JDRV9CVVM9MWAg4oCUIGlmIHNldCwgZG8gbm90IGNvbm5lY3QgdG8gUElEMSdzIHByaXZhdGUgRC1CdXMKLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9saWJzeXN0ZW1kLnN5bSBiL3NyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltCi1pbmRleCAxZWVjMTdkYjUwLi4wMDZkYmM5YzNmIDEwMDY0NAotLS0tIGEvc3JjL2xpYnN5c3RlbWQvbGlic3lzdGVtZC5zeW0KLSsrKyBiL3NyYy9saWJzeXN0ZW1kL2xpYnN5c3RlbWQuc3ltCi1AQCAtNTcwLDMgKzU3MCw4IEBAIGdsb2JhbDoKLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZV9zZXRfZGVzdHJveV9jYWxsYmFjazsKLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZV9nZXRfZGVzdHJveV9jYWxsYmFjazsKLSB9IExJQlNZU1RFTURfMjM4OwotKwotK0xJQlNZU1RFTURfMjQwIHsKLSsgICAgICAgIHNkX2J1c19zZXRfbWV0aG9kX2NhbGxfdGltZW91dDsKLSsgICAgICAgIHNkX2J1c19nZXRfbWV0aG9kX2NhbGxfdGltZW91dDsKLSt9IExJQlNZU1RFTURfMjM5OwotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaCBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotaW5kZXggMjA4N2VmOGVlYi4uNDg2NGIxZTkxMSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5oCi1AQCAtMzE5LDYgKzMxOSw5IEBAIHN0cnVjdCBzZF9idXMgewotIAotICAgICAgICAgaW50ICppbm90aWZ5X3dhdGNoZXM7Ci0gICAgICAgICBzaXplX3Qgbl9pbm90aWZ5X3dhdGNoZXM7Ci0rCi0rICAgICAgICAvKiB6ZXJvIG1lYW5zIHVzZSB2YWx1ZSBzcGVjaWZpZWQgYnkgJFNZU1RFTURfQlVTX1RJTUVPVVQ9IGVudmlyb25tZW50IHZhcmlhYmxlIG9yIGJ1aWx0LWluIGRlZmF1bHQgKi8KLSsgICAgICAgIHVzZWNfdCBtZXRob2RfY2FsbF90aW1lb3V0OwotIH07Ci0gCi0gLyogRm9yIG1ldGhvZCBjYWxscyB3ZSB0aW1lLW91dCBhdCAyNXMsIGxpa2UgaW4gdGhlIEQtQnVzIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiAqLwotQEAgLTMzNiw4ICszMzksNyBAQCBzdHJ1Y3Qgc2RfYnVzIHsKLSAKLSAjZGVmaW5lIEJVU19DT05UQUlORVJfREVQVEggMTI4Ci0gCi0tLyogRGVmaW5lZCBieSB0aGUgc3BlY2lmaWNhdGlvbiBhcyBtYXhpbXVtIHNpemUgb2YgYW4gYXJyYXkgaW4KLS0gKiBieXRlcyAqLwotKy8qIERlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24gYXMgbWF4aW11bSBzaXplIG9mIGFuIGFycmF5IGluIGJ5dGVzICovCi0gI2RlZmluZSBCVVNfQVJSQVlfTUFYX1NJWkUgNjcxMDg4NjQKLSAKLSAjZGVmaW5lIEJVU19GRFNfTUFYIDEwMjQKLUBAIC0zODgsOCArMzkwLDcgQEAgdm9pZCBidXNfY2xvc2VfaW9fZmRzKHNkX2J1cyAqYik7Ci0gICAgICAgICAgICAgIF9zbGFzaCA9IHN0cmVxKChwcmVmaXgpLCAiLyIpID8gTlVMTCA6IHN0cnJjaHIoKHByZWZpeCksICcvJykpCi0gCi0gLyogSWYgd2UgYXJlIGludm9raW5nIGNhbGxiYWNrcyBvZiBhIGJ1cyBvYmplY3QsIGVuc3VyZSB1bnJlZmZpbmcgdGhlCi0tICogYnVzIGZyb20gdGhlIGNhbGxiYWNrIGRvZXNuJ3QgZGVzdHJveSB0aGUgb2JqZWN0IHdlIGFyZSB3b3JraW5nCi0tICogb24gKi8KLSsgKiBidXMgZnJvbSB0aGUgY2FsbGJhY2sgZG9lc24ndCBkZXN0cm95IHRoZSBvYmplY3Qgd2UgYXJlIHdvcmtpbmcgb24gKi8KLSAjZGVmaW5lIEJVU19ET05UX0RFU1RST1koYnVzKSBcCi0gICAgICAgICBfY2xlYW51cF8oc2RfYnVzX3VucmVmcCkgX3VudXNlZF8gc2RfYnVzICpfZG9udF9kZXN0cm95XyMjYnVzID0gc2RfYnVzX3JlZihidXMpCi0gCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1tZXNzYWdlLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYwotaW5kZXggOGQ5MmJjMjAwMi4uZGZmZTcwYTY2NSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtbWVzc2FnZS5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW1lc3NhZ2UuYwotQEAgLTU4MDksOCArNTgwOSwxMSBAQCBpbnQgYnVzX21lc3NhZ2VfcmVtYXJzaGFsKHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqKm0pIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0gCi0gICAgICAgICB0aW1lb3V0ID0gKCptKS0+dGltZW91dDsKLS0gICAgICAgIGlmICh0aW1lb3V0ID09IDAgJiYgISgoKm0pLT5oZWFkZXItPmZsYWdzICYgQlVTX01FU1NBR0VfTk9fUkVQTFlfRVhQRUNURUQpKQotLSAgICAgICAgICAgICAgICB0aW1lb3V0ID0gQlVTX0RFRkFVTFRfVElNRU9VVDsKLSsgICAgICAgIGlmICh0aW1lb3V0ID09IDAgJiYgISgoKm0pLT5oZWFkZXItPmZsYWdzICYgQlVTX01FU1NBR0VfTk9fUkVQTFlfRVhQRUNURUQpKSB7Ci0rICAgICAgICAgICAgICAgIHIgPSBzZF9idXNfZ2V0X21ldGhvZF9jYWxsX3RpbWVvdXQoYnVzLCAmdGltZW91dCk7Ci0rICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSsgICAgICAgIH0KLSAKLSAgICAgICAgIHIgPSBzZF9idXNfbWVzc2FnZV9zZWFsKG4sIEJVU19NRVNTQUdFX0NPT0tJRSgqbSksIHRpbWVvdXQpOwotICAgICAgICAgaWYgKHIgPCAwKQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYwotaW5kZXggMDg5YjUxYTZkOS4uOTQ1NDkwZWJmNyAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9zZC1idXMuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL3NkLWJ1cy5jCi1AQCAtMTYxMSw4ICsxNjExLDExIEBAIHN0YXRpYyBpbnQgYnVzX3NlYWxfbWVzc2FnZShzZF9idXMgKmIsIHNkX2J1c19tZXNzYWdlICptLCB1c2VjX3QgdGltZW91dCkgewotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGlmICh0aW1lb3V0ID09IDApCi0tICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBCVVNfREVGQVVMVF9USU1FT1VUOwotKyAgICAgICAgaWYgKHRpbWVvdXQgPT0gMCkgewotKyAgICAgICAgICAgICAgICByID0gc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KGIsICZ0aW1lb3V0KTsKLSsgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgfQotIAotICAgICAgICAgaWYgKCFtLT5zZW5kZXIgJiYgYi0+cGF0Y2hfc2VuZGVyKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBzZF9idXNfbWVzc2FnZV9zZXRfc2VuZGVyKG0sIGItPnBhdGNoX3NlbmRlcik7Ci1AQCAtNDA3NSwzICs0MDc4LDM2IEBAIF9wdWJsaWNfIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3dyaXRlKHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KSB7Ci0gICAgICAgICAqcmV0ID0gYnVzLT53cXVldWVfc2l6ZTsKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSsKLStfcHVibGljXyBpbnQgc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCB1c2VjKSB7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cywgLUVJTlZBTCk7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cyA9IGJ1c19yZXNvbHZlKGJ1cyksIC1FTk9QS0cpOwotKwotKyAgICAgICAgYnVzLT5tZXRob2RfY2FsbF90aW1lb3V0ID0gdXNlYzsKLSsgICAgICAgIHJldHVybiAwOwotK30KLSsKLStfcHVibGljXyBpbnQgc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KSB7Ci0rICAgICAgICBjb25zdCBjaGFyICplOwotKyAgICAgICAgdXNlY190IHVzZWM7Ci0rCi0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cywgLUVJTlZBTCk7Ci0rICAgICAgICBhc3NlcnRfcmV0dXJuKGJ1cyA9IGJ1c19yZXNvbHZlKGJ1cyksIC1FTk9QS0cpOwotKyAgICAgICAgYXNzZXJ0X3JldHVybihyZXQsIC1FSU5WQUwpOwotKwotKyAgICAgICAgaWYgKGJ1cy0+bWV0aG9kX2NhbGxfdGltZW91dCAhPSAwKSB7Ci0rICAgICAgICAgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQ7Ci0rICAgICAgICAgICAgICAgIHJldHVybiAwOwotKyAgICAgICAgfQotKwotKyAgICAgICAgZSA9IHNlY3VyZV9nZXRlbnYoIlNZU1RFTURfQlVTX1RJTUVPVVQiKTsKLSsgICAgICAgIGlmIChlICYmIHBhcnNlX3NlYyhlLCAmdXNlYykgPj0gMCAmJiB1c2VjICE9IDApIHsKLSsgICAgICAgICAgICAgICAgLyogU2F2ZSB0aGUgcGFyc2VkIHZhbHVlIHRvIGF2b2lkIG11bHRpcGxlIHBhcnNpbmcuIFRvIGNoYW5nZSB0aGUgdGltZW91dCB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICogdXNlIHNkX2J1c19zZXRfbWV0aG9kX2NhbGxfdGltZW91dCgpIGluc3RlYWQgb2Ygc2V0ZW52KCkuICovCi0rICAgICAgICAgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQgPSB1c2VjOwotKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgICpyZXQgPSBidXMtPm1ldGhvZF9jYWxsX3RpbWVvdXQgPSBCVVNfREVGQVVMVF9USU1FT1VUOwotKyAgICAgICAgcmV0dXJuIDA7Ci0rfQotZGlmZiAtLWdpdCBhL3NyYy9zeXN0ZW1kL3NkLWJ1cy5oIGIvc3JjL3N5c3RlbWQvc2QtYnVzLmgKLWluZGV4IDU0YzRiMWNhODMuLmM5ZmQyNTQ4MzQgMTAwNjQ0Ci0tLS0gYS9zcmMvc3lzdGVtZC9zZC1idXMuaAotKysrIGIvc3JjL3N5c3RlbWQvc2QtYnVzLmgKLUBAIC0yMDYsNiArMjA2LDkgQEAgc2RfZXZlbnQgKnNkX2J1c19nZXRfZXZlbnQoc2RfYnVzICpidXMpOwotIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3JlYWQoc2RfYnVzICpidXMsIHVpbnQ2NF90ICpyZXQpOwotIGludCBzZF9idXNfZ2V0X25fcXVldWVkX3dyaXRlKHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KTsKLSAKLStpbnQgc2RfYnVzX3NldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCB1c2VjKTsKLStpbnQgc2RfYnVzX2dldF9tZXRob2RfY2FsbF90aW1lb3V0KHNkX2J1cyAqYnVzLCB1aW50NjRfdCAqcmV0KTsKLSsKLSBpbnQgc2RfYnVzX2FkZF9maWx0ZXIoc2RfYnVzICpidXMsIHNkX2J1c19zbG90ICoqc2xvdCwgc2RfYnVzX21lc3NhZ2VfaGFuZGxlcl90IGNhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSk7Ci0gaW50IHNkX2J1c19hZGRfbWF0Y2goc2RfYnVzICpidXMsIHNkX2J1c19zbG90ICoqc2xvdCwgY29uc3QgY2hhciAqbWF0Y2gsIHNkX2J1c19tZXNzYWdlX2hhbmRsZXJfdCBjYWxsYmFjaywgdm9pZCAqdXNlcmRhdGEpOwotIGludCBzZF9idXNfYWRkX21hdGNoX2FzeW5jKHNkX2J1cyAqYnVzLCBzZF9idXNfc2xvdCAqKnNsb3QsIGNvbnN0IGNoYXIgKm1hdGNoLCBzZF9idXNfbWVzc2FnZV9oYW5kbGVyX3QgY2FsbGJhY2ssIHNkX2J1c19tZXNzYWdlX2hhbmRsZXJfdCBpbnN0YWxsX2NhbGxiYWNrLCB2b2lkICp1c2VyZGF0YSk7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXN5c2N0bC1Eb24tdC1wYXNzLW51bGwtZGlyZWN0aXZlLWFyZ3VtZW50LXRvLXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MzhjN2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS1zeXNjdGwtRG9uLXQtcGFzcy1udWxsLWRpcmVjdGl2ZS1hcmd1bWVudC10by1zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBiZmM0MTgzZWE5OTVmMWMyMTEzODVkMDY2Y2RiMWZlOWNlODlmNjIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgRGVjIDIwMTggMjA6NTM6MzggLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIHN5c2N0bDogRG9uJ3QgcGFzcyBudWxsIGRpcmVjdGl2ZSBhcmd1bWVudCB0byAnJXMnCi0KLXZhbHVlIHBvaW50ZXIgaGVyZSBpcyBhbHdheXMgTlVMTCBidXQgIHN1YnNlcXVlbnQgdXNlIG9mIHRoYXQgcG9pbnRlcgotd2l0aCBhICVzIGZvcm1hdCB3aWxsIGFsd2F5cyBiZSBOVUxMLCBwcmludGluZyBwIGluc3RlYWQgd291bGQgYmUgYQotdmFsaWQgc3RyaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL3B1bGwvMTExNzldCi0gc3JjL3N5c2N0bC9zeXNjdGwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9zeXNjdGwvc3lzY3RsLmMgYi9zcmMvc3lzY3RsL3N5c2N0bC5jCi1pbmRleCAxY2ZlNTEwMTguLmM2N2Q3OTAzMiAxMDA2NDQKLS0tLSBhL3NyYy9zeXNjdGwvc3lzY3RsLmMKLSsrKyBiL3NyYy9zeXNjdGwvc3lzY3RsLmMKLUBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIGludCBwYXJzZV9maWxlKE9yZGVyZWRIYXNobWFwICpzeXNjdGxfb3B0aW9ucywgY29uc3QgY2hhciAqcGF0aCwgYm9vbCBpZ24KLSAKLSAgICAgICAgICAgICAgICAgdmFsdWUgPSBzdHJjaHIocCwgJz0nKTsKLSAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19lcnJvcigiTGluZSBpcyBub3QgYW4gYXNzaWdubWVudCBhdCAnJXM6JXUnOiAlcyIsIHBhdGgsIGMsIHZhbHVlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsb2dfZXJyb3IoIkxpbmUgaXMgbm90IGFuIGFzc2lnbm1lbnQgYXQgJyVzOiV1JzogJXMiLCBwYXRoLCBjLCBwKTsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciA9IC1FSU5WQUw7Ci0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhkMzk1YzIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMS10aW1lc3luYy1jaGFuZ2VzLXR5cGUtb2YtZHJpZnRfZnJlcS10by1pbnQ2NF90LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDkgKzAsMCBAQAotQmFja3BvcnQgcGF0Y2ggdG8gZml4IHN5c3RlbWQgYnVpbGQgZmFpbHVyZSBvbiB4MzIuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvY29tbWl0Lzc1Y2ExNjJdCi0KLVNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgotCi1Gcm9tIDc1Y2ExNjIxZGI0NjQ3YTRkNjJkNzg3M2NkNjcxNWUyOGZlMGY5ZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBZdSBXYXRhbmFiZSA8d2F0YW5hYmUueXUrZ2l0aHViQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMjMgSnVuIDIwMTggMDk6NDE6NTUgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdGltZXN5bmM6IGNoYW5nZXMgdHlwZSBvZiBkcmlmdF9mcmVxIHRvIGludDY0X3QKLQotZHJpZnRfZnJlcSBpcyB1c2VkIGZvciBzdG9yaW5nIHRpbWV4LmZyZXEsIGFuZCBpcyBhIDY0Yml0IGludGVnZXIuCi1UbyBzdXBwb3J0IHgzMiBBQkksIHRoaXMgY2hhbmdlcyB0aGUgdHlwZSBvZiBkcmlmdF9mcmVxIHRvIGludDY0X3QuCi0KLUZpeGVzICM5Mzg3LgotLS0tCi0gc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmMgfCAyICstCi0gc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmggfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuYyBiL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jCi1pbmRleCAyYjczMWFmOWUuLjQwNGEyYjE4OSAxMDA2NDQKLS0tLSBhL3NyYy90aW1lc3luYy90aW1lc3luY2QtbWFuYWdlci5jCi0rKysgYi9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuYwotQEAgLTYwNCw3ICs2MDQsNyBAQCBzdGF0aWMgaW50IG1hbmFnZXJfcmVjZWl2ZV9yZXNwb25zZShzZF9ldmVudF9zb3VyY2UgKnNvdXJjZSwgaW50IGZkLCB1aW50MzJfdCByZQotICAgICAgICAgbS0+ZGVzdF90aW1lID0gKnJlY3ZfdGltZTsKLSAgICAgICAgIG0tPnNwaWtlID0gc3Bpa2U7Ci0gCi0tICAgICAgICBsb2dfZGVidWcoImludGVydmFsL2RlbHRhL2RlbGF5L2ppdHRlci9kcmlmdCAiIFVTRUNfRk1UICJzLyUrLjNmcy8lLjNmcy8lLjNmcy8lKyJQUklfVElNRVgicHBtJXMiLAotKyAgICAgICAgbG9nX2RlYnVnKCJpbnRlcnZhbC9kZWx0YS9kZWxheS9qaXR0ZXIvZHJpZnQgIiBVU0VDX0ZNVCAicy8lKy4zZnMvJS4zZnMvJS4zZnMvJSsiUFJJaTY0InBwbSVzIiwKLSAgICAgICAgICAgICAgICAgICBtLT5wb2xsX2ludGVydmFsX3VzZWMgLyBVU0VDX1BFUl9TRUMsIG9mZnNldCwgZGVsYXksIG0tPnNhbXBsZXNfaml0dGVyLCBtLT5kcmlmdF9mcmVxIC8gNjU1MzYsCi0gICAgICAgICAgICAgICAgICAgc3Bpa2UgPyAiIChpZ25vcmVkKSIgOiAiIik7Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmggYi9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaAotaW5kZXggZDhkOTdjYzFlLi4xODM0NzQxNmQgMTAwNjQ0Ci0tLS0gYS9zcmMvdGltZXN5bmMvdGltZXN5bmNkLW1hbmFnZXIuaAotKysrIGIvc3JjL3RpbWVzeW5jL3RpbWVzeW5jZC1tYW5hZ2VyLmgKLUBAIC03OSw3ICs3OSw3IEBAIHN0cnVjdCBNYW5hZ2VyIHsKLSAgICAgICAgIC8qIGxhc3QgY2hhbmdlICovCi0gICAgICAgICBib29sIGp1bXBlZDsKLSAgICAgICAgIGJvb2wgc3luYzsKLS0gICAgICAgIGxvbmcgZHJpZnRfZnJlcTsKLSsgICAgICAgIGludDY0X3QgZHJpZnRfZnJlcTsKLSAKLSAgICAgICAgIC8qIHdhdGNoIGZvciB0aW1lIGNoYW5nZXMgKi8KLSAgICAgICAgIHNkX2V2ZW50X3NvdXJjZSAqZXZlbnRfY2xvY2tfd2F0Y2g7Ci0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWNvcmUtRml4LXVzZS1hZnRlci1mcmVlLWNhc2UtaW4tbG9hZF9mcm9tX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWNvcmUtRml4LXVzZS1hZnRlci1mcmVlLWNhc2UtaW4tbG9hZF9mcm9tX3BhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkYTk2ZTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1jb3JlLUZpeC11c2UtYWZ0ZXItZnJlZS1jYXNlLWluLWxvYWRfZnJvbV9wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSBjYjY3YWViZDYzZDlmMDA3N2NiZjNlNzY5ZjBiMjIzYzViYmEyMGFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTYgRGVjIDIwMTggMjA6NTg6MzUgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIGNvcmU6IEZpeCB1c2UgYWZ0ZXIgZnJlZSBjYXNlIGluIGxvYWRfZnJvbV9wYXRoKCkKLQotZW5zdXJlIHRoYXQgbWZyZWUoKSBvbiBmaWxlbmFtZSBpcyBjYWxsZWQgYWZ0ZXIgdGhlIGxvZ2dpbmcgZnVuY3Rpb24KLXdoaWNoIHVzZXMgdGhlIHN0cmluZyBwb2ludGVkIGJ5IGZpbGVuYW1lCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL3B1bGwvMTExNzldCi0gc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jIHwgNiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jIGIvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jCi1pbmRleCBmYzU2NDRmNDguLmRhNTg1Nzg2ZSAxMDA2NDQKLS0tLSBhL3NyYy9jb3JlL2xvYWQtZnJhZ21lbnQuYwotKysrIGIvc3JjL2NvcmUvbG9hZC1mcmFnbWVudC5jCi1AQCAtNDUzMSw3ICs0NTMxLDYgQEAgc3RhdGljIGludCBsb2FkX2Zyb21fcGF0aChVbml0ICp1LCBjb25zdCBjaGFyICpwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gb3Blbl9mb2xsb3coJmZpbGVuYW1lLCAmZiwgc3ltbGlua19uYW1lcywgJmlkKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICBpZiAociA+PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBtZnJlZShmaWxlbmFtZSk7Ci0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgLyogRU5PRU5UIG1lYW5zIHRoYXQgdGhlIGZpbGUgaXMgbWlzc2luZyBvciBpcyBhIGRhbmdsaW5nIHN5bWxpbmsuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICogRU5PVERJUiBtZWFucyB0aGF0IG9uZSBvZiBwYXRocyB3ZSBleHBlY3QgdG8gYmUgaXMgYSBkaXJlY3RvcnkKLUBAIC00NTQwLDkgKzQ1MzksMTIgQEAgc3RhdGljIGludCBsb2FkX2Zyb21fcGF0aChVbml0ICp1LCBjb25zdCBjaGFyICpwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPT0gLUVBQ0NFUykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19lcnJubyhyLCAiQ2Fubm90IGFjY2VzcyBcIiVzXCI6ICVtIiwgZmlsZW5hbWUpOwotLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFJTl9TRVQociwgLUVOT0VOVCwgLUVOT1RESVIpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFJTl9TRVQociwgLUVOT0VOVCwgLUVOT1RESVIpKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG1mcmVlKGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAKLSsgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG1mcmVlKGZpbGVuYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbXB0eSB0aGUgc3ltbGluayBuYW1lcyBmb3IgdGhlIG5leHQgcnVuICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2V0X2NsZWFyX2ZyZWUoc3ltbGlua19uYW1lcyk7Ci0gICAgICAgICAgICAgICAgIH0KLS0tIAotMi4yMC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLWRvbi10LXVzZS1nbGliYy1zcGVjaWZpYy1xc29ydF9yLnBhdGNoCmluZGV4IDhlMGQ2NjkuLjM2ZTA2OTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi1kb24tdC11c2UtZ2xpYmMtc3BlY2lmaWMtcXNvcnRfci5wYXRjaApAQCAtMSwzMSArMSwxMDAgQEAKLUZyb20gZDc0YTRkZTZkYWVhNWE1MTFjMmI1NjM2YmJiNTUyYzE1YjNhNGFkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEVtaWwgUmVubmVyIEJlcnRoaW5nIDxzeXN0ZW1kQGVzbWlsLmRrPgotRGF0ZTogVGh1LCAxOCBTZXAgMjAxNCAxNToyNDo1NiArMDIwMAotU3ViamVjdDogW1BBVENIXSBkb24ndCB1c2UgZ2xpYmMtc3BlY2lmaWMgcXNvcnRfcgorRnJvbSAxZWI4NDUzNGRlYTA1ZDQxYWZlZDFkODk4Y2JhMjEyYWQ3ZDMxMGRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzo0MTo0MSArMDgwMAorU3ViamVjdDogW1BBVENIIDAyLzI0XSBkb24ndCB1c2UgZ2xpYmMtc3BlY2lmaWMgcXNvcnRfcgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbUmViYXNlZCBmb3IgdjI0MV0KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy9iYXNpYy9mb3JtYXQtdGFibGUuYyB8IDI3ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIHNyYy9iYXNpYy91dGlsLmggICAgICAgICB8ICA3IC0tLS0tLS0KLSBzcmMvaHdkYi9od2RiLmMgICAgICAgICAgfCAxOCArKysrKysrKysrKy0tLS0tLS0KLSBzcmMvdWRldi91ZGV2YWRtLWh3ZGIuYyAgfCAxNiArKysrKysrKysrLS0tLS0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKKyBzcmMvYmFzaWMvdXRpbC5oICAgICAgICAgICAgICAgICAgIHwgMTQgLS0tLS0tLS0tLS0tLS0KKyBzcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jIHwgMTkgKysrKysrKysrKysrKystLS0tLQorIHNyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMgICAgICAgICAgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jIGIvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jCi1pbmRleCA5NGU3OTZkMWNhLi45YjNmMzVjMjlhIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2Zvcm1hdC10YWJsZS5jCi0rKysgYi9zcmMvYmFzaWMvZm9ybWF0LXRhYmxlLmMKLUBAIC03NDUsMjkgKzc0NSwyOSBAQCBzdGF0aWMgaW50IGNlbGxfZGF0YV9jb21wYXJlKFRhYmxlRGF0YSAqYSwgc2l6ZV90IGluZGV4X2EsIFRhYmxlRGF0YSAqYiwgc2l6ZV90CitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9iYXNpYy91dGlsLmgKK2luZGV4IGRjMzNkNjYuLjlmNmE2Y2UgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvdXRpbC5oCitAQCAtMTE2LDIwICsxMTYsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcXNvcnRfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBfX2NvbXBhcl9mbgorICAgICAgICAgICAgICAgICBxc29ydF9zYWZlKChwKSwgKG4pLCBzaXplb2YoKHApWzBdKSwgKF9fY29tcGFyX2ZuX3QpIF9mdW5jXyk7IFwKKyAgICAgICAgIH0pCisgCistc3RhdGljIGlubGluZSB2b2lkIHFzb3J0X3Jfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBfX2NvbXBhcl9kX2ZuX3QgY29tcGFyLCB2b2lkICp1c2VyZGF0YSkgeworLSAgICAgICAgaWYgKG5tZW1iIDw9IDEpCistICAgICAgICAgICAgICAgIHJldHVybjsKKy0KKy0gICAgICAgIGFzc2VydChiYXNlKTsKKy0gICAgICAgIHFzb3J0X3IoYmFzZSwgbm1lbWIsIHNpemUsIGNvbXBhciwgdXNlcmRhdGEpOworLX0KKy0KKy0jZGVmaW5lIHR5cGVzYWZlX3Fzb3J0X3IocCwgbiwgZnVuYywgdXNlcmRhdGEpICAgICAgICAgICAgICAgICAgICAgICAgICBcCistICAgICAgICAoeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLSAgICAgICAgICAgICAgICBpbnQgKCpfZnVuY18pKGNvbnN0IHR5cGVvZihwWzBdKSosIGNvbnN0IHR5cGVvZihwWzBdKSosIHR5cGVvZih1c2VyZGF0YSkpID0gZnVuYzsgXAorLSAgICAgICAgICAgICAgICBxc29ydF9yX3NhZmUoKHApLCAobiksIHNpemVvZigocClbMF0pLCAoX19jb21wYXJfZF9mbl90KSBfZnVuY18sIHVzZXJkYXRhKTsgXAorLSAgICAgICAgfSkKKy0KKyAvKiBOb3JtYWwgbWVtY3B5IHJlcXVpcmVzIHNyYyB0byBiZSBub25udWxsLiBXZSBkbyBub3RoaW5nIGlmIG4gaXMgMC4gKi8KKyBzdGF0aWMgaW5saW5lIHZvaWQgbWVtY3B5X3NhZmUodm9pZCAqZHN0LCBjb25zdCB2b2lkICpzcmMsIHNpemVfdCBuKSB7CisgICAgICAgICBpZiAobiA9PSAwKQorZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWh3ZGIvaHdkYi11dGlsLmMgYi9zcmMvbGlic3lzdGVtZC9zZC1od2RiL2h3ZGItdXRpbC5jCitpbmRleCBmODUyOTY3Li5iNTcwY2UxIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtaHdkYi9od2RiLXV0aWwuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtaHdkYi9od2RiLXV0aWwuYworQEAgLTEyNiw5ICsxMjYsMTMgQEAgc3RhdGljIHZvaWQgdHJpZV9mcmVlKHN0cnVjdCB0cmllICp0cmllKSB7CisgCisgREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKHN0cnVjdCB0cmllKiwgdHJpZV9mcmVlKTsKKyAKKy1zdGF0aWMgaW50IHRyaWVfdmFsdWVzX2NtcChjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqYSwgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKmIsIHN0cnVjdCB0cmllICp0cmllKSB7CistICAgICAgICByZXR1cm4gc3RyY21wKHRyaWUtPnN0cmluZ3MtPmJ1ZiArIGEtPmtleV9vZmYsCistICAgICAgICAgICAgICAgICAgICAgIHRyaWUtPnN0cmluZ3MtPmJ1ZiArIGItPmtleV9vZmYpOworK3N0YXRpYyBzdHJ1Y3QgdHJpZSAqdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllOworK3N0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikgeworKyAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKmEgPSB2MTsKKysgICAgICAgIGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICpiID0gdjI7CisrCisrICAgICAgICByZXR1cm4gc3RyY21wKHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZS0+c3RyaW5ncy0+YnVmICsgYS0+a2V5X29mZiwKKysgICAgICAgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyBiLT5rZXlfb2ZmKTsKKyB9CisgCisgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorQEAgLTE1Niw3ICsxNjAsMTAgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZV9vZmYgPSB2LAorICAgICAgICAgICAgICAgICB9OworIAorLSAgICAgICAgICAgICAgICB2YWwgPSB0eXBlc2FmZV9ic2VhcmNoX3IoJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHRyaWVfdmFsdWVzX2NtcCwgdHJpZSk7CisrICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7CisrICAgICAgICAgICAgICAgIHZhbCA9IGJzZWFyY2goJnNlYXJjaCwgbm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCk7CisrICAgICAgICAgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7CisrCisgICAgICAgICAgICAgICAgIGlmICh2YWwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBBdCB0aGlzIHBvaW50IHdlIGhhdmUgMiBpZGVudGljYWwgcHJvcGVydGllcyBvbiB0aGUgc2FtZSBtYXRjaC1zdHJpbmcuCisgICAgICAgICAgICAgICAgICAgICAgICAgICogU2luY2Ugd2UgcHJvY2VzcyBmaWxlcyBpbiBvcmRlciwgd2UganVzdCByZXBsYWNlIHRoZSBwcmV2aW91cyB2YWx1ZS4gKi8KK0BAIC0xODIsNyArMTg5LDkgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAorICAgICAgICAgICAgICAgICAubGluZV9udW1iZXIgPSBsaW5lX251bWJlciwKKyAgICAgICAgIH07CisgICAgICAgICBub2RlLT52YWx1ZXNfY291bnQrKzsKKy0gICAgICAgIHR5cGVzYWZlX3Fzb3J0X3Iobm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHRyaWVfdmFsdWVzX2NtcCwgdHJpZSk7CisrICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSB0cmllOworKyAgICAgICAgcXNvcnQobm9kZS0+dmFsdWVzLCBub2RlLT52YWx1ZXNfY291bnQsIHNpemVvZihzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSksIHRyaWVfdmFsdWVzX2NtcCk7CisrICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSBOVUxMOwogICAgICAgICAgcmV0dXJuIDA7CiAgfQogIAotLXN0YXRpYyBpbnQgdGFibGVfZGF0YV9jb21wYXJlKGNvbnN0IHZvaWQgKngsIGNvbnN0IHZvaWQgKnksIHZvaWQgKnVzZXJkYXRhKSB7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9mb3JtYXQtdGFibGUuYyBiL3NyYy9zaGFyZWQvZm9ybWF0LXRhYmxlLmMKK2luZGV4IDdkNTI5ODAuLjc1ZGJmZTEgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL2Zvcm1hdC10YWJsZS5jCisrKysgYi9zcmMvc2hhcmVkL2Zvcm1hdC10YWJsZS5jCitAQCAtODQ4LDMxICs4NDgsMzMgQEAgc3RhdGljIGludCBjZWxsX2RhdGFfY29tcGFyZShUYWJsZURhdGEgKmEsIHNpemVfdCBpbmRleF9hLCBUYWJsZURhdGEgKmIsIHNpemVfdAorICAgICAgICAgcmV0dXJuIENNUChpbmRleF9hLCBpbmRleF9iKTsKKyB9CisgCistc3RhdGljIGludCB0YWJsZV9kYXRhX2NvbXBhcmUoY29uc3Qgc2l6ZV90ICphLCBjb25zdCBzaXplX3QgKmIsIFRhYmxlICp0KSB7CiArc3RhdGljIFRhYmxlICp1c2VyX3RhYmxlOwogK3N0YXRpYyBpbnQgdGFibGVfZGF0YV9jb21wYXJlKGNvbnN0IHZvaWQgKngsIGNvbnN0IHZvaWQgKnkpIHsKLSAgICAgICAgIGNvbnN0IHNpemVfdCAqYSA9IHgsICpiID0geTsKLS0gICAgICAgIFRhYmxlICp0ID0gdXNlcmRhdGE7CisrICAgICAgICBjb25zdCBzaXplX3QgKmEgPSB4LCAqYj15OwogICAgICAgICAgc2l6ZV90IGk7CiAgICAgICAgICBpbnQgcjsKICAKQEAgLTU3LDExICsxMjYsMTYgQEAKICAKICAgICAgICAgICAgICAgICAgciA9IGNlbGxfZGF0YV9jb21wYXJlKGQsICphLCBkZCwgKmIpOwogICAgICAgICAgICAgICAgICBpZiAociAhPSAwKQotQEAgLTk2MCw3ICs5NjAsMTIgQEAgaW50IHRhYmxlX3ByaW50KFRhYmxlICp0LCBGSUxFICpmKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHQtPnJldmVyc2VfbWFwICYmIHQtPnJldmVyc2VfbWFwW3QtPnNvcnRfbWFwW2ldXSA/IC1yIDogcjsKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXNlcl90YWJsZS0+cmV2ZXJzZV9tYXAgJiYgdXNlcl90YWJsZS0+cmV2ZXJzZV9tYXBbdXNlcl90YWJsZS0+c29ydF9tYXBbaV1dID8gLXIgOiByOworICAgICAgICAgfQorIAorICAgICAgICAgLyogT3JkZXIgaWRlbnRpY2FsIGxpbmVzIGJ5IHRoZSBvcmRlciB0aGVyZSB3ZXJlIG9yaWdpbmFsbHkgYWRkZWQgaW4gKi8KK0BAIC0xMTA1LDcgKzExMDcsMTIgQEAgaW50IHRhYmxlX3ByaW50KFRhYmxlICp0LCBGSUxFICpmKSB7CiAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3Jvd3M7IGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0ZWRbaV0gPSBpICogdC0+bl9jb2x1bW5zOwogIAotLSAgICAgICAgICAgICAgICBxc29ydF9yX3NhZmUoc29ydGVkLCBuX3Jvd3MsIHNpemVvZihzaXplX3QpLCB0YWJsZV9kYXRhX2NvbXBhcmUsIHQpOworLSAgICAgICAgICAgICAgICB0eXBlc2FmZV9xc29ydF9yKHNvcnRlZCwgbl9yb3dzLCB0YWJsZV9kYXRhX2NvbXBhcmUsIHQpOwogKyAgICAgICAgICAgICAgICBpZiAobl9yb3dzIDw9IDEpCiArICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiArICAgICAgICAgICAgICAgIGFzc2VydChzb3J0ZWQpOwpAQCAtNzEsMTEzICsxNDUsMjAgQEAKICAgICAgICAgIH0KICAKICAgICAgICAgIGlmICh0LT5kaXNwbGF5X21hcCkKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAotaW5kZXggOTY5OWQyMjhmOS4uNDBlYWY1MThjYiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy91dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy91dGlsLmgKLUBAIC0xMDUsMTMgKzEwNSw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGNvbXBhcmlzb25fCi0gICAgICAgICAgICAgICAgIHFzb3J0X3NhZmUoKHApLCAobiksIHNpemVvZigocClbMF0pLCAoX19jb21wYXJfZm5fdCkgX2Z1bmNfKTsgXAotICAgICAgICAgfSkKK0BAIC0xNTMyLDcgKzE1MzksMTIgQEAgaW50IHRhYmxlX3RvX2pzb24oVGFibGUgKnQsIEpzb25WYXJpYW50ICoqcmV0KSB7CisgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuX3Jvd3M7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgICAgICBzb3J0ZWRbaV0gPSBpICogdC0+bl9jb2x1bW5zOwogIAotLXN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9yX3NhZmUodm9pZCAqYmFzZSwgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgaW50ICgqY29tcGFyKShjb25zdCB2b2lkKiwgY29uc3Qgdm9pZCosIHZvaWQqKSwgdm9pZCAqdXNlcmRhdGEpIHsKLS0gICAgICAgIGlmIChubWVtYiA8PSAxKQotLSAgICAgICAgICAgICAgICByZXR1cm47Ci0tCi0tICAgICAgICBhc3NlcnQoYmFzZSk7Ci0tICAgICAgICBxc29ydF9yKGJhc2UsIG5tZW1iLCBzaXplLCBjb21wYXIsIHVzZXJkYXRhKTsKLS19CistICAgICAgICAgICAgICAgIHR5cGVzYWZlX3Fzb3J0X3Ioc29ydGVkLCBuX3Jvd3MsIHRhYmxlX2RhdGFfY29tcGFyZSwgdCk7CisrICAgICAgICAgICAgICAgIGlmIChuX3Jvd3MgPD0gMSkKKysgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgICAgICAgICAgICAgYXNzZXJ0KHNvcnRlZCk7CisrICAgICAgICAgICAgICAgIHVzZXJfdGFibGUgPSB0OworKyAgICAgICAgICAgICAgICBxc29ydChzb3J0ZWQsIG5fcm93cywgc2l6ZW9mKHNpemVfdCksIHRhYmxlX2RhdGFfY29tcGFyZSk7CisrICAgICAgICAgICAgICAgIHVzZXJfdGFibGUgPSBOVUxMOworICAgICAgICAgfQogIAotIC8qKgotICAqIE5vcm1hbCBtZW1jcHkgcmVxdWlyZXMgc3JjIHRvIGJlIG5vbm51bGwuIFdlIGRvIG5vdGhpbmcgaWYgbiBpcyAwLgotZGlmZiAtLWdpdCBhL3NyYy9od2RiL2h3ZGIuYyBiL3NyYy9od2RiL2h3ZGIuYwotaW5kZXggMzE3Y2FkOGE2Ny4uNzAxZDU5YTFlYiAxMDA2NDQKLS0tLSBhL3NyYy9od2RiL2h3ZGIuYwotKysrIGIvc3JjL2h3ZGIvaHdkYi5jCi1AQCAtMTM1LDEzICsxMzUsMTIgQEAgc3RhdGljIHZvaWQgdHJpZV9mcmVlKHN0cnVjdCB0cmllICp0cmllKSB7Ci0gCi0gREVGSU5FX1RSSVZJQUxfQ0xFQU5VUF9GVU5DKHN0cnVjdCB0cmllKiwgdHJpZV9mcmVlKTsKLSAKLS1zdGF0aWMgaW50IHRyaWVfdmFsdWVzX2NtcChjb25zdCB2b2lkICp2MSwgY29uc3Qgdm9pZCAqdjIsIHZvaWQgKmFyZykgewotK3N0YXRpYyBzdHJ1Y3QgdHJpZSAqdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllOwotK3N0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikgewotICAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKnZhbDEgPSB2MTsKLSAgICAgICAgIGNvbnN0IHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5ICp2YWwyID0gdjI7Ci0tICAgICAgICBzdHJ1Y3QgdHJpZSAqdHJpZSA9IGFyZzsKLS0KLS0gICAgICAgIHJldHVybiBzdHJjbXAodHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMS0+a2V5X29mZiwKLS0gICAgICAgICAgICAgICAgICAgICAgdHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMi0+a2V5X29mZik7Ci0rICAgICAgICByZXR1cm4gc3RyY21wKHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZS0+c3RyaW5ncy0+YnVmICsgdmFsMS0+a2V5X29mZiwKLSsgICAgICAgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyB2YWwyLT5rZXlfb2ZmKTsKLSB9Ci0gCi0gc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotQEAgLTE2Niw3ICsxNjUsMTAgQEAgc3RhdGljIGludCB0cmllX25vZGVfYWRkX3ZhbHVlKHN0cnVjdCB0cmllICp0cmllLCBzdHJ1Y3QgdHJpZV9ub2RlICpub2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZV9vZmYgPSB2LAotICAgICAgICAgICAgICAgICB9OwotIAotLSAgICAgICAgICAgICAgICB2YWwgPSB4YnNlYXJjaF9yKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXAsIHRyaWUpOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSB0cmllOwotKyAgICAgICAgICAgICAgICB2YWwgPSBic2VhcmNoKCZzZWFyY2gsIG5vZGUtPnZhbHVlcywgbm9kZS0+dmFsdWVzX2NvdW50LCBzaXplb2Yoc3RydWN0IHRyaWVfdmFsdWVfZW50cnkpLCB0cmllX3ZhbHVlc19jbXApOwotKyAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUgPSBOVUxMOwotKwotICAgICAgICAgICAgICAgICBpZiAodmFsKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgLyogQXQgdGhpcyBwb2ludCB3ZSBoYXZlIDIgaWRlbnRpY2FsIHByb3BlcnRpZXMgb24gdGhlIHNhbWUgbWF0Y2gtc3RyaW5nLgotICAgICAgICAgICAgICAgICAgICAgICAgICAqIFNpbmNlIHdlIHByb2Nlc3MgZmlsZXMgaW4gb3JkZXIsIHdlIGp1c3QgcmVwbGFjZSB0aGUgcHJldmlvdXMgdmFsdWUuCi1AQCAtMTkxLDcgKzE5Myw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgIG5vZGUtPnZhbHVlc1tub2RlLT52YWx1ZXNfY291bnRdLmZpbGVfcHJpb3JpdHkgPSBmaWxlX3ByaW9yaXR5OwotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0ubGluZV9udW1iZXIgPSBsaW5lX251bWJlcjsKLSAgICAgICAgIG5vZGUtPnZhbHVlc19jb3VudCsrOwotLSAgICAgICAgcXNvcnRfcihub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7Ci0rICAgICAgICBxc29ydChub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldmFkbS1od2RiLmMgYi9zcmMvdWRldi91ZGV2YWRtLWh3ZGIuYwotaW5kZXggMDI0MDhhNDI4NS4uNDkxZDM2N2QxMiAxMDA2NDQKLS0tLSBhL3NyYy91ZGV2L3VkZXZhZG0taHdkYi5jCi0rKysgYi9zcmMvdWRldi91ZGV2YWRtLWh3ZGIuYwotQEAgLTExNCwxMyArMTE0LDEzIEBAIHN0YXRpYyB2b2lkIHRyaWVfbm9kZV9jbGVhbnVwKHN0cnVjdCB0cmllX25vZGUgKm5vZGUpIHsKLSAgICAgICAgIGZyZWUobm9kZSk7Ci0gfQotIAotLXN0YXRpYyBpbnQgdHJpZV92YWx1ZXNfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2Miwgdm9pZCAqYXJnKSB7Ci0rc3RhdGljIHN0cnVjdCB0cmllICp0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWU7Ci0rc3RhdGljIGludCB0cmllX3ZhbHVlc19jbXAoY29uc3Qgdm9pZCAqdjEsIGNvbnN0IHZvaWQgKnYyKSB7Ci0gICAgICAgICBjb25zdCBzdHJ1Y3QgdHJpZV92YWx1ZV9lbnRyeSAqdmFsMSA9IHYxOwotICAgICAgICAgY29uc3Qgc3RydWN0IHRyaWVfdmFsdWVfZW50cnkgKnZhbDIgPSB2MjsKLS0gICAgICAgIHN0cnVjdCB0cmllICp0cmllID0gYXJnOwotIAotLSAgICAgICAgcmV0dXJuIHN0cmNtcCh0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotLSAgICAgICAgICAgICAgICAgICAgICB0cmllLT5zdHJpbmdzLT5idWYgKyB2YWwyLT5rZXlfb2ZmKTsKLSsgICAgICAgIHJldHVybiBzdHJjbXAodHJpZV9ub2RlX2FkZF92YWx1ZV90cmllLT5zdHJpbmdzLT5idWYgKyB2YWwxLT5rZXlfb2ZmLAotKyAgICAgICAgICAgICAgICAgICAgICB0cmllX25vZGVfYWRkX3ZhbHVlX3RyaWUtPnN0cmluZ3MtPmJ1ZiArIHZhbDItPmtleV9vZmYpOwotIH0KLSAKLSBzdGF0aWMgaW50IHRyaWVfbm9kZV9hZGRfdmFsdWUoc3RydWN0IHRyaWUgKnRyaWUsIHN0cnVjdCB0cmllX25vZGUgKm5vZGUsCi1AQCAtMTQxLDcgKzE0MSw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWVfb2ZmID0gdiwKLSAgICAgICAgICAgICAgICAgfTsKLSAKLS0gICAgICAgICAgICAgICAgdmFsID0geGJzZWFyY2hfcigmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gdHJpZTsKLSsgICAgICAgICAgICAgICAgdmFsID0gYnNlYXJjaCgmc2VhcmNoLCBub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgICAgICAgICAgdHJpZV9ub2RlX2FkZF92YWx1ZV90cmllID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgaWYgKHZhbCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlcGxhY2UgZXhpc3RpbmcgZWFybGllciBrZXkgd2l0aCBuZXcgdmFsdWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICB2YWwtPnZhbHVlX29mZiA9IHY7Ci1AQCAtMTU4LDcgKzE2MCw5IEBAIHN0YXRpYyBpbnQgdHJpZV9ub2RlX2FkZF92YWx1ZShzdHJ1Y3QgdHJpZSAqdHJpZSwgc3RydWN0IHRyaWVfbm9kZSAqbm9kZSwKLSAgICAgICAgIG5vZGUtPnZhbHVlc1tub2RlLT52YWx1ZXNfY291bnRdLmtleV9vZmYgPSBrOwotICAgICAgICAgbm9kZS0+dmFsdWVzW25vZGUtPnZhbHVlc19jb3VudF0udmFsdWVfb2ZmID0gdjsKLSAgICAgICAgIG5vZGUtPnZhbHVlc19jb3VudCsrOwotLSAgICAgICAgcXNvcnRfcihub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wLCB0cmllKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IHRyaWU7Ci0rICAgICAgICBxc29ydChub2RlLT52YWx1ZXMsIG5vZGUtPnZhbHVlc19jb3VudCwgc2l6ZW9mKHN0cnVjdCB0cmllX3ZhbHVlX2VudHJ5KSwgdHJpZV92YWx1ZXNfY21wKTsKLSsgICAgICAgIHRyaWVfbm9kZV9hZGRfdmFsdWVfdHJpZSA9IE5VTEw7Ci0gICAgICAgICByZXR1cm4gMDsKLSB9Ci0gCisgICAgICAgICBpZiAodC0+ZGlzcGxheV9tYXApCiAtLSAKLTIuMTguMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoCmluZGV4IDFkN2Y1MjMuLmRmNTUwNmMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDItdXNlLWxuci13cmFwcGVyLWluc3RlYWQtb2YtbG9va2luZy1mb3ItcmVsYXRpdmUtb3B0aS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAyLXVzZS1sbnItd3JhcHBlci1pbnN0ZWFkLW9mLWxvb2tpbmctZm9yLXJlbGF0aXZlLW9wdGkucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDZlNjJiZTg3YTI3MjJmYmU1MzEzMTBhMWIwNTJjMTMwMWJkZjA2ZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGJkYmFmZTE4YzNiZjk5YjNiNjkxY2Q1MmI5Y2NmZjYwZjMxMzg5MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiBEYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjA5OjI0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMi85XSB1c2UgbG5yIHdyYXBwZXIgaW5zdGVhZCBvZiBsb29raW5nIGZvciAtLXJlbGF0aXZlIG9wdGlvbgorU3ViamVjdDogW1BBVENIIDIvNV0gdXNlIGxuciB3cmFwcGVyIGluc3RlYWQgb2YgbG9va2luZyBmb3IgLS1yZWxhdGl2ZSBvcHRpb24KICBmb3IgbG4KIAogUmVtb3ZlIGZpbGUgbWFudWFsbHkgdG8gYXZvaWQgdGhlICdGaWxlIEV4aXN0cycgZXJyb3Igd2hlbiBjcmVhdGluZwpAQCAtMTgsMTAgKzE4LDEwIEBACiAgMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCAwNDMzMWRkNDEuLjZkNWVkY2I0ZSAxMDA2NDQKK2luZGV4IDU2Yzk4YjkuLjMzODY1NDYgMTAwNjQ0CiAtLS0gYS9tZXNvbi5idWlsZAogKysrIGIvbWVzb24uYnVpbGQKLUBAIC01NTgsMTAgKzU1OCw2IEBAIGVuZGZvcmVhY2gKK0BAIC02MzAsMTAgKzYzMCw2IEBAIGVuZGZvcmVhY2gKICAKICBjb25mLnNldF9xdW90ZWQoJ1RFTElOSVQnLCBnZXRfb3B0aW9uKCd0ZWxpbml0LXBhdGgnKSkKICAKQEAgLTMzLDcgKzMzLDcgQEAKICAKICBncGVyZiA9IGZpbmRfcHJvZ3JhbSgnZ3BlcmYnKQogZGlmZiAtLWdpdCBhL3Rvb2xzL21lc29uLW1ha2Utc3ltbGluay5zaCBiL3Rvb2xzL21lc29uLW1ha2Utc3ltbGluay5zaAotaW5kZXggNTAxY2Q0M2Q0Li5mNGU0YWM5YWMgMTAwNzU1CitpbmRleCA1MDFjZDQzLi5mNGU0YWM5IDEwMDc1NQogLS0tIGEvdG9vbHMvbWVzb24tbWFrZS1zeW1saW5rLnNoCiArKysgYi90b29scy9tZXNvbi1tYWtlLXN5bWxpbmsuc2gKIEBAIC04LDUgKzgsNiBAQCBta2RpciAtdnAgIiQoZGlybmFtZSAiJHtERVNURElSOi19JDIiKSIKQEAgLTQ1LDcgKzQ1LDcgQEAKICsgICAgICAgIGxuciAiJHtERVNURElSOi19JDEiICIke0RFU1RESVI6LX0kMiIKICBmaQogZGlmZiAtLWdpdCBhL3VuaXRzL21lc29uLWFkZC13YW50cy5zaCBiL3VuaXRzL21lc29uLWFkZC13YW50cy5zaAotaW5kZXggNzBmNzE3MmFlLi5hNDI2NjZhYWMgMTAwNzU1CitpbmRleCBlMmIyNjAzLi4yMTBkNjA0IDEwMDc1NQogLS0tIGEvdW5pdHMvbWVzb24tYWRkLXdhbnRzLnNoCiArKysgYi91bml0cy9tZXNvbi1hZGQtd2FudHMuc2gKIEBAIC0yNSw0ICsyNSw5IEBAIGNhc2UgIiR0YXJnZXQiIGluCkBAIC02MCw1ICs2MCw1IEBACiArICAgICAgICBsbnIgIiR1bml0cGF0aCIgIiRkaXIiCiArZmkKIC0tIAotMi4xMS4wCisyLjcuNAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWNvbXBhcmlzb25fZm5fdC1pcy1nbGliYy1zcGVjaWZpYy11c2UtcmF3LXNpZ25hdHVyZS0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLWNvbXBhcmlzb25fZm5fdC1pcy1nbGliYy1zcGVjaWZpYy11c2UtcmF3LXNpZ25hdHVyZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExNWZiMzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1jb21wYXJpc29uX2ZuX3QtaXMtZ2xpYmMtc3BlY2lmaWMtdXNlLXJhdy1zaWduYXR1cmUtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSBlOTY1ZTc0OGM3MDMwZGYwNzA5ZTYzMTI4ZGIyZjAyMzU0MGEwNmJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTIgU2VwIDIwMTUgMTg6NTM6MzEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwMy8xOV0gY29tcGFyaXNvbl9mbl90IGlzIGdsaWJjIHNwZWNpZmljLCB1c2UgcmF3IHNpZ25hdHVyZSBpbgotIGZ1bmN0aW9uIHBvaW50ZXIKLQotbWFrZSBpdCB3b3JrIHdpdGggbXVzbCB3aGVyZSBjb21wYXJpc29uX2ZuX3QgaXMgbm90IHByb3ZpZGVkCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9iYXNpYy91dGlsLmggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3V0aWwuaCBiL3NyYy9iYXNpYy91dGlsLmgKLWluZGV4IDQwZWFmNTE4Yy4uYzU4MzkyMzk3IDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAotKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAotQEAgLTc3LDcgKzc3LDcgQEAgdm9pZCAqeGJzZWFyY2hfcihjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsCi0gICogdGhhdCBvbmx5IGlmIG5tZW1iID4gMC4KLSAgKi8KLSBzdGF0aWMgaW5saW5lIHZvaWQqIGJzZWFyY2hfc2FmZShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IG5tZW1iLCBzaXplX3Qgc2l6ZSwgY29tcGFyaXNvbl9mbl90IGNvbXBhcikgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGludCAoKmNvbXBhcikoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopKSB7Ci0gICAgICAgICBpZiAobm1lbWIgPD0gMCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi1AQCAtODksNyArODksNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqIGJzZWFyY2hfc2FmZShjb25zdCB2b2lkICprZXksIGNvbnN0IHZvaWQgKmJhc2UsCi0gICogTm9ybWFsIHFzb3J0IHJlcXVpcmVzIGJhc2UgdG8gYmUgbm9ubnVsbC4gSGVyZSB3ZXJlIHJlcXVpcmUKLSAgKiB0aGF0IG9ubHkgaWYgbm1lbWIgPiAwLgotICAqLwotLXN0YXRpYyBpbmxpbmUgdm9pZCBxc29ydF9zYWZlKHZvaWQgKmJhc2UsIHNpemVfdCBubWVtYiwgc2l6ZV90IHNpemUsIGNvbXBhcmlzb25fZm5fdCBjb21wYXIpIHsKLStzdGF0aWMgaW5saW5lIHZvaWQgcXNvcnRfc2FmZSh2b2lkICpiYXNlLCBzaXplX3Qgbm1lbWIsIHNpemVfdCBzaXplLCBpbnQgKCpjb21wYXIpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkgewotICAgICAgICAgaWYgKG5tZW1iIDw9IDEpCi0gICAgICAgICAgICAgICAgIHJldHVybjsKLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKaW5kZXggNmM1OTVhZS4uNjY5NWQ1NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1pbXBsbWVudC1zeXN0ZW1kLXN5c3YtaW5zdGFsbC1mb3ItT0UucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDBmY2I2ZTY0NjQwMTIwNWUxN2NjNmMxMjk0NDFhNDkwMjNjNjJjZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ3ODY0OTg5Mzg4YmNkMDRkNjQ3ZWNmNjE4YWQ3ZTI2MDM5OWRiYjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCA1IFNlcCAyMDE1IDA2OjMxOjQ3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMy85XSBpbXBsbWVudCBzeXN0ZW1kLXN5c3YtaW5zdGFsbCBmb3IgT0UKK1N1YmplY3Q6IFtQQVRDSCAzLzVdIGltcGxtZW50IHN5c3RlbWQtc3lzdi1pbnN0YWxsIGZvciBPRQogCiBVc2UgdXBkYXRlLXJjLmQgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBhbmQgc3RhdHVzIGNvbW1hbmQKIHRvIGNoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIHN5c3Ygc2VydmljZQpAQCAtMTQsNyArMTQsNyBAQAogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvc3lzdGVtY3RsL3N5c3RlbWQtc3lzdi1pbnN0YWxsLlNLRUxFVE9OIGIvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgotaW5kZXggOGMxNmNmOTk5Li45ZjA3OGExMjEgMTAwNzU1CitpbmRleCA4YzE2Y2Y5Li45ZjA3OGExIDEwMDc1NQogLS0tIGEvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgogKysrIGIvc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTgogQEAgLTMyLDE3ICszMiwxNyBAQCBjYXNlICIkMSIgaW4KQEAgLTM5LDUgKzM5LDUgQEAKICAgICAgKikKICAgICAgICAgIHVzYWdlIDs7CiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJlX2ZuX3QtYW5kLWNvbXBhcmlzb25fZm5fLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwMy1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJlX2ZuX3QtYW5kLWNvbXBhcmlzb25fZm5fLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDZiNGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDAzLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcmVfZm5fdC1hbmQtY29tcGFyaXNvbl9mbl8ucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSBhOTQyMWQ1NTEwMmZjODRmNzdmN2MyMWEyNDc5ZmNkMDA2NTJiODk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMzo1NToxMiArMDgwMAorU3ViamVjdDogW1BBVENIIDAzLzI0XSBtaXNzaW5nX3R5cGUuaDogYWRkIF9fY29tcGFyZV9mbl90IGFuZCBjb21wYXJpc29uX2ZuX3QKKworTWFrZSBpdCB3b3JrIHdpdGggbXVzbCB3aGVyZSBjb21wYXJpc29uX2ZuX3QgYW5kIF9fY29tcGFyZV9mbl90CitpcyBub3QgcHJvdmlkZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIHwgOSArKysrKysrKysKKyBzcmMvYmFzaWMvdXRpbC5oICAgICAgICAgfCAxICsKKyBzcmMvam91cm5hbC9jYXRhbG9nLmMgICAgfCAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAoraW5kZXggYmY4YTZjYS4uYzQ4N2U2NSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitAQCAtMTAsMyArMTAsMTIgQEAKKyAjaWYgIUhBVkVfQ0hBUjE2X1QKKyAjZGVmaW5lIGNoYXIxNl90IHVpbnQxNl90CisgI2VuZGlmCisrCisrI2lmbmRlZiBfX0dMSUJDX18KKyt0eXBlZGVmIGludCAoKmNvbXBhcmlzb25fZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworKyNlbmRpZgorKworKyNpZm5kZWYgX19DT01QQVJfRk5fVAorKyNkZWZpbmUgX19DT01QQVJfRk5fVAorK3R5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworKyNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy91dGlsLmggYi9zcmMvYmFzaWMvdXRpbC5oCitpbmRleCA5ZjZhNmNlLi4yYzVkYzMyIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3V0aWwuaAorKysrIGIvc3JjL2Jhc2ljL3V0aWwuaAorQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAiZm9ybWF0LXV0aWwuaCIKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAidGltZS11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzaXplX3QgcGFnZV9zaXplKHZvaWQpIF9wdXJlXzsKKyAjZGVmaW5lIFBBR0VfQUxJR04obCkgQUxJR05fVE8oKGwpLCBwYWdlX3NpemUoKSkKK2RpZmYgLS1naXQgYS9zcmMvam91cm5hbC9jYXRhbG9nLmMgYi9zcmMvam91cm5hbC9jYXRhbG9nLmMKK2luZGV4IDQwNjJmMTIuLjAzNGUwMGMgMTAwNjQ0CistLS0gYS9zcmMvam91cm5hbC9jYXRhbG9nLmMKKysrKyBiL3NyYy9qb3VybmFsL2NhdGFsb2cuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAic3Rydi5oIgorICNpbmNsdWRlICJ0bXBmaWxlLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgY29uc3QgY2hhciAqIGNvbnN0IGNhdGFsb2dfZmlsZV9kaXJzW10gPSB7CisgICAgICAgICAiL3Vzci9sb2NhbC9saWIvc3lzdGVtZC9jYXRhbG9nLyIsCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtYWRkLWZhbGxiYWNrLXBhcnNlX3ByaW50Zl9mb3JtYXQtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LWFkZC1mYWxsYmFjay1wYXJzZV9wcmludGZfZm9ybWF0LWltcGxlbWVudGF0aW9uLnBhdGNoCmluZGV4IDc2NTJhMmQuLmJiNzM4ZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtYWRkLWZhbGxiYWNrLXBhcnNlX3ByaW50Zl9mb3JtYXQtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNTgyYWY3ZWMxMzEzMWRmY2M2MjBlZDgxZGU3YjIxMTkxNGM0Y2IwMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gN2JjZjNiMTY2Njk0MDkwNDk3YTBhY2QyYzUyOTllNGUwNGZjYzliNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTM6NDM6NDkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xOV0gYWRkIGZhbGxiYWNrIHBhcnNlX3ByaW50Zl9mb3JtYXQgaW1wbGVtZW50YXRpb24KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6MDQ6MjEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNC8yNF0gYWRkIGZhbGxiYWNrIHBhcnNlX3ByaW50Zl9mb3JtYXQgaW1wbGVtZW50YXRpb24KIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQogCkBAIC0yMCwyNSArMjAsMjUgQEAKICBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuaAogCiBkaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggZTA0NWI5MjI0Li44YzE2YmM5NzkgMTAwNjQ0CitpbmRleCAzMzg2NTQ2Li40NGIyNGVlIDEwMDY0NAogLS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21lc29uLmJ1aWxkCi1AQCAtNTk4LDYgKzU5OCw3IEBAIGZvcmVhY2ggaGVhZGVyIDogWydjcnlwdC5oJywKLSAgICAgICAgICAgICAgICAgICAnbGludXgvYnRyZnMuaCcsCitAQCAtNjY3LDYgKzY2Nyw3IEBAIGZvcmVhY2ggaGVhZGVyIDogWydjcnlwdC5oJywKICAgICAgICAgICAgICAgICAgICAnbGludXgvbWVtZmQuaCcsCiAgICAgICAgICAgICAgICAgICAgJ2xpbnV4L3ZtX3NvY2tldHMuaCcsCisgICAgICAgICAgICAgICAgICAgJ2xpbnV4L2Nhbi92eGNhbi5oJywKICsgICAgICAgICAgICAgICAgICAncHJpbnRmLmgnLAogICAgICAgICAgICAgICAgICAgICdzeXMvYXV4di5oJywKICAgICAgICAgICAgICAgICAgICAndmFsZ3JpbmQvbWVtY2hlY2suaCcsCiAgICAgICAgICAgICAgICAgICAgJ3ZhbGdyaW5kL3ZhbGdyaW5kLmgnLAogZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9tZXNvbi5idWlsZCBiL3NyYy9iYXNpYy9tZXNvbi5idWlsZAotaW5kZXggMzE2MjViMTc4Li4wYzI3NTI4ZTcgMTAwNjQ0CitpbmRleCBlNTg1MmYzLi4yMTkyYTBjIDEwMDY0NAogLS0tIGEvc3JjL2Jhc2ljL21lc29uLmJ1aWxkCiArKysgYi9zcmMvYmFzaWMvbWVzb24uYnVpbGQKLUBAIC0zMDIsNiArMzAyLDExIEBAIGZvcmVhY2ggaXRlbSA6IFtbJ2FmJywgICAgIGFmX2xpc3RfdHh0LCAgICAgJ2FmJywgICAgICAgICAnJ10sCitAQCAtMjg0LDYgKzI4NCwxMSBAQCBmb3JlYWNoIGl0ZW0gOiBbWydhZicsICAgICBhZl9saXN0X3R4dCwgICAgICdhZicsICAgICAgICAgJyddLAogIGVuZGZvcmVhY2gKICAKLSBiYXNpY19zb3VyY2VzICs9IFttaXNzaW5nX2hdICsgZ2VuZXJhdGVkX2dwZXJmX2hlYWRlcnMKKyBiYXNpY19zb3VyY2VzICs9IGdlbmVyYXRlZF9ncGVyZl9oZWFkZXJzCiArCiAraWYgY29uZi5nZXQoJ0hBVkVfUFJJTlRGX0gnKSAhPSAxCiArICAgICAgICBiYXNpY19zb3VyY2VzICs9IFtmaWxlcygncGFyc2UtcHJpbnRmLWZvcm1hdC5jJyldCkBAIC00OSw3ICs0OSw3IEBACiAgICAgICAgICAnZ2NyeXB0LXV0aWwuaCcpCiBkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuYyBiL3NyYy9iYXNpYy9wYXJzZS1wcmludGYtZm9ybWF0LmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjQ5NDM3ZTU0NAoraW5kZXggMDAwMDAwMC4uNDk0MzdlNQogLS0tIC9kZXYvbnVsbAogKysrIGIvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuYwogQEAgLTAsMCArMSwyNzMgQEAKQEAgLTMyOCw3ICszMjgsNyBAQAogK30KIGRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oIGIvc3JjL2Jhc2ljL3BhcnNlLXByaW50Zi1mb3JtYXQuaAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uNDdiZTc1MjJkCitpbmRleCAwMDAwMDAwLi40N2JlNzUyCiAtLS0gL2Rldi9udWxsCiArKysgYi9zcmMvYmFzaWMvcGFyc2UtcHJpbnRmLWZvcm1hdC5oCiBAQCAtMCwwICsxLDU3IEBACkBAIC0zOTAsMTAgKzM5MCwxMCBAQAogKwogKyNlbmRpZiAvKiBIQVZFX1BSSU5URl9IICovCiBkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3N0ZGlvLXV0aWwuaCBiL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLWluZGV4IDczYzAzMjc0Yy4uMzAxOTJjZDcxIDEwMDY0NAoraW5kZXggZGM2N2I2ZS4uY2Y4ZDUxNCAxMDA2NDQKIC0tLSBhL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKICsrKyBiL3NyYy9iYXNpYy9zdGRpby11dGlsLmgKLUBAIC0xLDEyICsxLDEyIEBACitAQCAtMSwxMyArMSwxMyBAQAogIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KICAjcHJhZ21hIG9uY2UKICAKQEAgLTQwMywxMiArNDAzLDEzIEBACiAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogIAogICNpbmNsdWRlICJtYWNyby5oIgorICNpbmNsdWRlICJ1dGlsLmgiCiArI2luY2x1ZGUgInBhcnNlLXByaW50Zi1mb3JtYXQuaCIKICAKICAjZGVmaW5lIHNucHJpbnRmX29rKGJ1ZiwgbGVuLCBmbXQsIC4uLikgXAogICAgICAgICAgKChzaXplX3QpIHNucHJpbnRmKGJ1ZiwgbGVuLCBmbXQsIF9fVkFfQVJHU19fKSA8IChsZW4pKQogZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLWluZGV4IGEwNjIxNTI0YS4uNjViY2JjZDJlIDEwMDY0NAoraW5kZXggODYxODQ1NC4uM2ZlYTkxMiAxMDA2NDQKIC0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCiArKysgYi9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYwogQEAgLTIsNyArMiw2IEBACkBAIC00MjAsMTMgKzQyMSwxMyBAQAogICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAgI2luY2x1ZGUgPHN5cy91bi5oPgogQEAgLTIxLDYgKzIwLDcgQEAKLSAjaW5jbHVkZSAic3RkaW8tdXRpbC5oIgogICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorICNpbmNsdWRlICJ0bXBmaWxlLXV0aWwuaCIKICAjaW5jbHVkZSAidXRpbC5oIgogKyNpbmNsdWRlICJwYXJzZS1wcmludGYtZm9ybWF0LmgiCiAgCiAgI2RlZmluZSBTTkRCVUZfU0laRSAoOCoxMDI0KjEwMjQpCiAgCiAtLSAKLTIuMTEuMAorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2gKaW5kZXggN2UzN2NiYy4uNzM4ZjhlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNC1ydWxlcy13aGl0ZWxpc3QtaGQtZGV2aWNlcy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA0LXJ1bGVzLXdoaXRlbGlzdC1oZC1kZXZpY2VzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1ZDgxMjhmMzgzMmZkMTFmZDA0NmQxZDFhZDg2YzRlZTdiYzFkZmYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgOSBOb3YgMjAxNiAxOTo0MToxMyAtMDgwMAotU3ViamVjdDogW1BBVENIIDQvOV0gcnVsZXM6IHdoaXRlbGlzdCBoZCogZGV2aWNlcworRnJvbSBkYzBhNmE5ZmU0ZGE5NzM4ZWZhYmE5NDIyMzNhZDM5ZGE2MjVhOTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCAyMSBGZWIgMjAxOSAxNjoyODoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDQvNV0gcnVsZXM6IHdoaXRlbGlzdCBoZCogZGV2aWNlcwogCiBxZW11IGJ5IGRlZmF1bHQgZW11bGF0ZXMgSURFIGFuZCB0aGUgbGludXgteW9jdG8ga2VybmVsKHMpIHVzZQogQ09ORklHX0lERSBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1vZGVybiBsaWJzYXRhLCBzbyBkaXNrcyBhcHBlYXIgYXMKQEAgLTExLDIzICsxMSwyNSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWNrIE9obHkgPHBhdHJpY2sub2hseUBpbnRlbC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW3JlYmFzZWQgZm9yIHN5c3RlbWQgMjQxXQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgogLS0tCiAgcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzIGIvcnVsZXMvNjAtcGVyc2lzdGVudC1zdG9yYWdlLnJ1bGVzCi1pbmRleCA4ZGRiNzU3N2MuLjgxMWU5NDhhZCAxMDA2NDQKK2luZGV4IDFkODg4MGUuLmU1M2M4ZWEgMTAwNjQ0CiAtLS0gYS9ydWxlcy82MC1wZXJzaXN0ZW50LXN0b3JhZ2UucnVsZXMKICsrKyBiL3J1bGVzLzYwLXBlcnNpc3RlbnQtc3RvcmFnZS5ydWxlcwogQEAgLTcsNyArNyw3IEBAIEFDVElPTj09InJlbW92ZSIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCiAgRU5We1VERVZfRElTQUJMRV9QRVJTSVNURU5UX1NUT1JBR0VfUlVMRVNfRkxBR309PSIxIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKICAKICBTVUJTWVNURU0hPSJibG9jayIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCi0tS0VSTkVMIT0ibG9vcCp8bW1jYmxrKlswLTldfG1zYmxrKlswLTldfG1zcGJsaypbMC05XXxudm1lKnxzZCp8c3IqfHZkKnx4dmQqfGJjYWNoZSp8Y2Npc3MqfGRhc2QqfHViZCp8c2NtKnxwbWVtKnxuYmQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKLStLRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8aGQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKKy1LRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8emQqIiwgR09UTz0icGVyc2lzdGVudF9zdG9yYWdlX2VuZCIKKytLRVJORUwhPSJsb29wKnxtbWNibGsqWzAtOV18bXNibGsqWzAtOV18bXNwYmxrKlswLTldfG52bWUqfHNkKnxzcip8dmQqfHh2ZCp8YmNhY2hlKnxjY2lzcyp8ZGFzZCp8dWJkKnxzY20qfHBtZW0qfG5iZCp8emQqfGhkKiIsIEdPVE89InBlcnNpc3RlbnRfc3RvcmFnZV9lbmQiCiAgCiAgIyBpZ25vcmUgcGFydGl0aW9ucyB0aGF0IHNwYW4gdGhlIGVudGlyZSBkaXNrCiAgVEVTVD09Indob2xlX2Rpc2siLCBHT1RPPSJwZXJzaXN0ZW50X3N0b3JhZ2VfZW5kIgogLS0gCi0yLjExLjAKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtTWFrZS1yb290LXMtaG9tZS1kaXJlY3RvcnktY29uZmlndXJhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMxMzcwODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MCArMCwwIEBACi1Gcm9tIDhiODI2NjNhZWVlZGY5Y2E1OGUzYjk3MTE2YjRjNGRhNTIyOWUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI3IEp1biAyMDE4IDE2OjQ2OjQ1ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNS85XSBNYWtlIHJvb3QncyBob21lIGRpcmVjdG9yeSBjb25maWd1cmFibGUKLQotT3BlbkVtYmVkZGVkIGhhcyBhIGNvbmZpZ3VyYWJsZSBob21lIGRpcmVjdG9yeSBmb3Igcm9vdC4gQWxsb3cKLXN5c3RlbWQgdG8gYmUgYnVpbHQgdXNpbmcgaXRzIGlkZWEgb2Ygd2hhdCByb290J3MgaG9tZSBkaXJlY3RvcnkKLXNob3VsZCBiZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLVVwc3RyZWFtIHdhbnRzIHRvIGhhdmUgYSB1bmlmaWVkIGhpZXJhcmNoeSB3aGVyZSBldmVyeW9uZSBpcwotdXNpbmcgdGhlIHNhbWUgcm9vdCBmb2xkZXIuCi1odHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2lzc3Vlcy81NDEKLQotU2lnbmVkLW9mZi1ieTogRGFuIE1jR3JlZ29yIDxkYW4ubWNncmVnb3JAdXNhc2suY2E+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgfCA3ICsrKysrKysKLSBtZXNvbl9vcHRpb25zLnR4dCB8IDIgKysKLSAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggNmQ1ZWRjYjRlLi4zMjMxNDZmZTEgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC04OSw2ICs4OSwxMSBAQCBpZiByb290bGliZGlyID09ICcnCi0gICAgICAgICByb290bGliZGlyID0gam9pbl9wYXRocyhyb290cHJlZml4ZGlyLCBsaWJkaXIuc3BsaXQoJy8nKVstMV0pCi0gZW5kaWYKLSAKLStyb290aG9tZWRpciA9IGdldF9vcHRpb24oJ3Jvb3Rob21lZGlyJykKLStpZiByb290aG9tZWRpciA9PSAnJwotKyAgICAgICAgcm9vdGhvbWVkaXIgPSAnL3Jvb3QnCi0rZW5kaWYKLSsKLSAjIERpcnMgb2YgZXh0ZXJuYWwgcGFja2FnZXMKLSBwa2djb25maWdkYXRhZGlyID0gam9pbl9wYXRocyhkYXRhZGlyLCAncGtnY29uZmlnJykKLSBwa2djb25maWdsaWJkaXIgPSBqb2luX3BhdGhzKGxpYmRpciwgJ3BrZ2NvbmZpZycpCi1AQCAtMjEwLDYgKzIxNSw3IEBAIGNvbmYuc2V0X3F1b3RlZCgnVURFVkxJQkVYRUNESVInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWRldmxpYmV4ZWNkaXIpCi0gY29uZi5zZXRfcXVvdGVkKCdQT0xLSVRfQUdFTlRfQklOQVJZX1BBVEgnLCAgICAgICAgICAgICAgICAgICBqb2luX3BhdGhzKGJpbmRpciwgJ3BrdHR5YWdlbnQnKSkKLSBjb25mLnNldF9xdW90ZWQoJ0xJQkRJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYmRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1JPT1RMSUJESVInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RsaWJkaXIpCi0rY29uZi5zZXRfcXVvdGVkKCdST09USE9NRURJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290aG9tZWRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1JPT1RMSUJFWEVDRElSJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RsaWJleGVjZGlyKQotIGNvbmYuc2V0X3F1b3RlZCgnQk9PVExJQkRJUicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdGxpYmRpcikKLSBjb25mLnNldF9xdW90ZWQoJ1NZU1RFTURfUFVMTF9QQVRIJywgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaW5fcGF0aHMocm9vdGxpYmV4ZWNkaXIsICdzeXN0ZW1kLXB1bGwnKSkKLUBAIC0yMjgsNiArMjM0LDcgQEAgc3Vic3RzLnNldCgncHJlZml4JywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhkaXIpCi0gc3Vic3RzLnNldCgnZXhlY19wcmVmaXgnLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhkaXIpCi0gc3Vic3RzLnNldCgnbGliZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJkaXIpCi0gc3Vic3RzLnNldCgncm9vdGxpYmRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb290bGliZGlyKQotK3N1YnN0cy5zZXQoJ3Jvb3Rob21lZGlyJywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9vdGhvbWVkaXIpCi0gc3Vic3RzLnNldCgnaW5jbHVkZWRpcicsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlZGlyKQotIHN1YnN0cy5zZXQoJ3BrZ3N5c2NvbmZkaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnc3lzY29uZmRpcikKLSBzdWJzdHMuc2V0KCdiaW5kaXInLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRpcikKLWRpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0Ci1pbmRleCAxNmMxZjJiMmYuLmFhOWEzMzM2OCAxMDA2NDQKLS0tLSBhL21lc29uX29wdGlvbnMudHh0Ci0rKysgYi9tZXNvbl9vcHRpb25zLnR4dAotQEAgLTksNiArOSw4IEBAIG9wdGlvbigncm9vdGxpYmRpcicsIHR5cGUgOiAnc3RyaW5nJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAnJydbL3Vzcl0vbGliL3g4Nl82NC1saW51eC1nbnUgb3Igc3VjaCcnJykKLSBvcHRpb24oJ3Jvb3RwcmVmaXgnLCB0eXBlIDogJ3N0cmluZycsCi0gICAgICAgIGRlc2NyaXB0aW9uIDogJycnb3ZlcnJpZGUgdGhlIHJvb3QgcHJlZml4JycnKQotK29wdGlvbigncm9vdGhvbWVkaXInLCB0eXBlIDogJ3N0cmluZycsCi0rICAgICAgIGRlc2NyaXB0aW9uIDogJycnb3ZlcnJpZGUgdGhlIHJvb3QgaG9tZSBkaXJlY3RvcnknJycpCi0gb3B0aW9uKCdsaW5rLXVkZXYtc2hhcmVkJywgdHlwZSA6ICdib29sZWFuJywKLSAgICAgICAgZGVzY3JpcHRpb24gOiAnbGluayBzeXN0ZW1kLXVkZXYgYW5kIGl0cyBoZWxwZXJzIHRvIGxpYnN5c3RlbWQtc2hhcmVkLnNvJykKLSBvcHRpb24oJ2xpbmstc3lzdGVtY3RsLXNoYXJlZCcsIHR5cGU6ICdib29sZWFuJywKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtaW5jbHVkZS1nc2hhZG93LW9ubHktaWYtRU5BQkxFX0dTSEFET1ctaXMtMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtaW5jbHVkZS1nc2hhZG93LW9ubHktaWYtRU5BQkxFX0dTSEFET1ctaXMtMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ1ZmFmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LWluY2x1ZGUtZ3NoYWRvdy1vbmx5LWlmLUVOQUJMRV9HU0hBRE9XLWlzLTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGEyYzRkNDY5NDQ4OTIxNzQ5MzAxMzU2NzI1MDgzODlhMDRlMTkxZjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDEzOjUzOjI5ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUvMTldIGluY2x1ZGUgZ3NoYWRvdyBvbmx5IGlmIEVOQUJMRV9HU0hBRE9XIGlzIDEKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvdXNlci11dGlsLmggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3VzZXItdXRpbC5oIGIvc3JjL2Jhc2ljL3VzZXItdXRpbC5oCi1pbmRleCBiNzRmMTY4ODUuLmY5YzFlMjljNCAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy91c2VyLXV0aWwuaAotKysrIGIvc3JjL2Jhc2ljL3VzZXItdXRpbC5oCi1AQCAtMiw3ICsyLDkgQEAKLSAjcHJhZ21hIG9uY2UKLSAKLSAjaW5jbHVkZSA8Z3JwLmg+Ci0rI2lmIEVOQUJMRV9HU0hBRE9XCi0gI2luY2x1ZGUgPGdzaGFkb3cuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8cHdkLmg+Ci0gI2luY2x1ZGUgPHNoYWRvdy5oPgotICNpbmNsdWRlIDxzdGRib29sLmg+Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyMzA1MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtcnVsZXMtd2F0Y2gtbWV0YWRhdGEtY2hhbmdlcy1pbi1pZGUtZGV2aWNlcy5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGQxYmNjYzcyMWRkOGY0M2ZlZTI5YzVkZjBlOWI3ODM0NWU2OWY0YjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDIxIEZlYiAyMDE5IDE2OjM4OjM4ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNS81XSBydWxlczogd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcyBpbiBpZGUgZGV2aWNlcworCitGb3JtYXR0aW5nIElERSBzdG9yYWdlIGRvZXMgbm90IHRyaWdnZXIgImNoYW5nZSIgdWV2ZW50cy4gQXMgYSByZXN1bHQKK2NsaWVudHMgdXNpbmcgdWRldiBBUEkgZG9uJ3QgZ2V0IGFueSB1cGRhdGVzIGFmdGVyd2FyZHMgYW5kIGdldCBvdXRkYXRlZAoraW5mb3JtYXRpb24gYWJvdXQgdGhlIGRldmljZS4KKy4uLgorcm9vdEBxZW11eDg2LTY0On4jIG1rZnMuZXh0NCAtRiAvZGV2L2hkYTEKK0NyZWF0aW5nIGZpbGVzeXN0ZW0gd2l0aCAyNjIxNDQgNGsgYmxvY2tzIGFuZCA2NTUzNiBpbm9kZXMKK0ZpbGVzeXN0ZW0gVVVJRDogOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyCisKK3Jvb3RAcWVtdXg4Ni02NDp+IyBscyAvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTIKK2xzOiBjYW5ub3QgYWNjZXNzICcvZGV2L2Rpc2svYnktdXVpZC85ODc5MWViMi0yYmYzLTQ3YWQtYjRkOC00Y2Y3ZTkxNGVlZTInOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisuLi4KK0luY2x1ZGUgaGQqIGluIGEgbWF0Y2ggZm9yIHdhdGNoIG9wdGlvbiBhc3NpZ25tZW50LgorCitVcHN0cmVhbS1TdGF0dXM6IERlbmllZAorCitxZW11IGJ5IGRlZmF1bHQgZW11bGF0ZXMgSURFIGFuZCB0aGUgbGludXgteW9jdG8ga2VybmVsKHMpIHVzZQorQ09ORklHX0lERSBpbnN0ZWFkIG9mIHRoZSBtb3JlIG1vZGVybiBsaWJzYXRhLCBzbyBkaXNrcyBhcHBlYXIgYXMKKy9kZXYvaGQqLiBBIHNpbWlsYXIgcGF0Y2ggcmVqZWN0ZWQgYnkgdXBzdHJlYW0gYmVjYXVzZSBDT05GSUdfSURFCitpcyBkZXByZWNhdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitbcmViYXNlZCBmb3Igc3lzdGVtZCAyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBydWxlcy82MC1ibG9jay5ydWxlcyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3J1bGVzLzYwLWJsb2NrLnJ1bGVzIGIvcnVsZXMvNjAtYmxvY2sucnVsZXMKK2luZGV4IGExNDU4ZTkuLjNiYTRiNmI0IDEwMDY0NAorLS0tIGEvcnVsZXMvNjAtYmxvY2sucnVsZXMKKysrKyBiL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCitAQCAtOCw0ICs4LDQgQEAgQUNUSU9OPT0iYWRkIiwgU1VCU1lTVEVNPT0ibW9kdWxlIiwgS0VSTkVMPT0iYmxvY2siLCBBVFRSe3BhcmFtZXRlcnMvZXZlbnRzX2RmbF8KKyBBQ1RJT049PSJjaGFuZ2UiLCBTVUJTWVNURU09PSJzY3NpIiwgRU5We0RFVlRZUEV9PT0ic2NzaV9kZXZpY2UiLCBURVNUPT0iYmxvY2siLCBBVFRSe2Jsb2NrLyovdWV2ZW50fT0iY2hhbmdlIgorIAorICMgd2F0Y2ggbWV0YWRhdGEgY2hhbmdlcywgY2F1c2VkIGJ5IHRvb2xzIGNsb3NpbmcgdGhlIGRldmljZSBub2RlIHdoaWNoIHdhcyBvcGVuZWQgZm9yIHdyaXRpbmcKKy1BQ1RJT04hPSJyZW1vdmUiLCBTVUJTWVNURU09PSJibG9jayIsIEtFUk5FTD09Imxvb3AqfG52bWUqfHNkKnx2ZCp8eHZkKnxwbWVtKnxtbWNibGsqfGRhc2QqIiwgT1BUSU9OUys9IndhdGNoIgorK0FDVElPTiE9InJlbW92ZSIsIFNVQlNZU1RFTT09ImJsb2NrIiwgS0VSTkVMPT0ibG9vcCp8bnZtZSp8c2QqfHZkKnx4dmQqfHBtZW0qfG1tY2Jsayp8ZGFzZCp8aGQqIiwgT1BUSU9OUys9IndhdGNoIgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA1LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIwODk3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDUtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaApAQCAtMCwwICsxLDExNiBAQAorRnJvbSAzOTlmZDNlZGEzMDQ1NjM2YTcwZGE0MzhhMGZkMTQwNmNjMzMyZWQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNDoxODoyMSArMDgwMAorU3ViamVjdDogW1BBVENIIDA1LzI0XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBzdHJuZHVwYQorCitpbmNsdWRlIG1pc3NpbmcuaCAgZm9yIGRlZmluaXRpb24gb2Ygc3RybmR1cGEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgfCAgMSArCisgc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmggfCAxMiArKysrKysrKysrKysKKyBzcmMvYmFzaWMvbWtkaXIuYyAgICAgICAgICB8ICAxICsKKyBzcmMvYmFzaWMvcGFyc2UtdXRpbC5jICAgICB8ICAxICsKKyBzcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYyAgICB8ICAxICsKKyBzcmMvc2hhcmVkL3BhZ2VyLmMgICAgICAgICB8ICAxICsKKyBzcmMvc2hhcmVkL3VpZC1yYW5nZS5jICAgICB8ICAxICsKKyA3IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDQ0YjI0ZWUuLjcwZmIyMTggMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC01NTgsNiArNTU4LDcgQEAgZm9yZWFjaCBpZGVudCA6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+JycnXSwKKyAgICAgICAgIFsnZXhwbGljaXRfYnplcm8nICwgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKKyAgICAgICAgIFsncmVhbGxvY2FycmF5JywgICAgICAnJycjaW5jbHVkZSA8bWFsbG9jLmg+JycnXSwKKysgICAgICAgIFsnc3RybmR1cGEnICwgICAgICAgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKKyBdCisgCisgICAgICAgICBoYXZlID0gY2MuaGFzX2Z1bmN0aW9uKGlkZW50WzBdLCBwcmVmaXggOiBpZGVudFsxXSwgYXJncyA6ICctRF9HTlVfU09VUkNFJykKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ19zdGRsaWIuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitpbmRleCBjMGZmZTg2Li5kNTAyNzRiIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3Npbmdfc3RkbGliLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3N0ZGxpYi5oCitAQCAtMTEsMyArMTEsMTUgQEAKKyAjICAgIGRlZmluZSBzZWN1cmVfZ2V0ZW52IGdldGVudgorICMgIGVuZGlmCisgI2VuZGlmCisrCisrLyogc3RyaW5nLmggKi8KKysjaWYgISBIQVZFX1NUUk5EVVBBCisrI2RlZmluZSBzdHJuZHVwYShzLCBuKSBcCisrICAoeyBcCisrICAgIGNvbnN0IGNoYXIgKl9fb2xkID0gKHMpOyBcCisrICAgIHNpemVfdCBfX2xlbiA9IHN0cm5sZW4oX19vbGQsIChuKSk7IFwKKysgICAgY2hhciAqX19uZXcgPSAoY2hhciAqKWFsbG9jYShfX2xlbiArIDEpOyBcCisrICAgIF9fbmV3W19fbGVuXSA9ICdcMCc7IFwKKysgICAgKGNoYXIgKiltZW1jcHkoX19uZXcsIF9fb2xkLCBfX2xlbik7IFwKKysgIH0pCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21rZGlyLmMgYi9zcmMvYmFzaWMvbWtkaXIuYworaW5kZXggNGJiNjVkNS4uMzAzOGFiOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9ta2Rpci5jCisrKysgYi9zcmMvYmFzaWMvbWtkaXIuYworQEAgLTEzLDYgKzEzLDcgQEAKKyAjaW5jbHVkZSAic3RhdC11dGlsLmgiCisgI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKKyAjaW5jbHVkZSAidXNlci11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBpbnQgbWtkaXJfc2FmZV9pbnRlcm5hbChjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIE1rZGlyRmxhZ3MgZmxhZ3MsIG1rZGlyX2Z1bmNfdCBfbWtkaXIpIHsKKyAgICAgICAgIHN0cnVjdCBzdGF0IHN0OworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMgYi9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCitpbmRleCA4NzcyNGFmLi5kOWM1M2JjIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3BhcnNlLXV0aWwuYworQEAgLTE5LDYgKzE5LDcgQEAKKyAjaW5jbHVkZSAicHJvY2Vzcy11dGlsLmgiCisgI2luY2x1ZGUgInN0YXQtdXRpbC5oIgorICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgorKyNpbmNsdWRlICJtaXNzaW5nLmgiCisgCisgaW50IHBhcnNlX2Jvb2xlYW4oY29uc3QgY2hhciAqdikgeworICAgICAgICAgaWYgKCF2KQorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK2luZGV4IDdhYWY5NWIuLjQyY2U1M2QgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKK0BAIC0xMSw2ICsxMSw3IEBACisgI2luY2x1ZGUgInByb2Nmcy11dGlsLmgiCisgI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKKyAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIGludCBwcm9jZnNfdGFza3NfZ2V0X2xpbWl0KHVpbnQ2NF90ICpyZXQpIHsKKyAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnZhbHVlID0gTlVMTDsKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3BhZ2VyLmMgYi9zcmMvc2hhcmVkL3BhZ2VyLmMKK2luZGV4IGJmMjU5N2UuLmZhOWUzMjEgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL3BhZ2VyLmMKKysrKyBiL3NyYy9zaGFyZWQvcGFnZXIuYworQEAgLTI0LDYgKzI0LDcgQEAKKyAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKKyAjaW5jbHVkZSAic3Rydi5oIgorICNpbmNsdWRlICJ0ZXJtaW5hbC11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzdGF0aWMgcGlkX3QgcGFnZXJfcGlkID0gMDsKKyAKK2RpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jIGIvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYworaW5kZXggNWZhN2JkMi4uOWM2M2I5ZSAxMDA2NDQKKy0tLSBhL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKKysrKyBiL3NyYy9zaGFyZWQvdWlkLXJhbmdlLmMKK0BAIC05LDYgKzksNyBAQAorICNpbmNsdWRlICJ1aWQtcmFuZ2UuaCIKKyAjaW5jbHVkZSAidXNlci11dGlsLmgiCisgI2luY2x1ZGUgInV0aWwuaCIKKysjaW5jbHVkZSAibWlzc2luZy5oIgorIAorIHN0YXRpYyBib29sIHVpZF9yYW5nZV9pbnRlcnNlY3QoVWlkUmFuZ2UgKnJhbmdlLCB1aWRfdCBzdGFydCwgdWlkX3QgbnIpIHsKKyAgICAgICAgIGFzc2VydChyYW5nZSk7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0MWY2YzcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gNjdhOTg4YWU4MmM3NzZkMTFiZTc2ZGU3MTgwZDUwZWEwMjdhYzQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6MjQ6MjAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8yNF0gSW5jbHVkZSBuZXRpbmV0L2lmX2V0aGVyLmgKKworRml4ZXMKKy9wYXRoL3RvL3N5c3RlbWQvcmVjaXBlLXN5c3Jvb3QvdXNyL2luY2x1ZGUvbmV0aW5ldC9pZl9ldGhlci5oOjEwMTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICdzdHJ1Y3QgZXRoaGRyJworIHN0cnVjdCBldGhoZHIgeworICAgICAgICBefn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMgfCAxICsKKyBzcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgICAgICAgICAgICAgICB8IDEgKworIHNyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jICAgICAgICAgICAgIHwgMSArCisgc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jICAgICAgICAgICAgICAgfCAxICsKKyBzcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmggICAgICAgICAgICAgICB8IDEgKworIHNyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jICAgIHwgMSArCisgNiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKK2luZGV4IDlkY2QzZjIuLmUyM2ZmNGMgMTAwNjQ0CistLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtbmV0bGluay9uZXRsaW5rLXR5cGVzLmMKK0BAIC0zLDYgKzMsNyBAQAorICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgorICNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKyAjaW5jbHVkZSA8bGludXgvZ2VuZXRsaW5rLmg+CitkaWZmIC0tZ2l0IGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jIGIvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCitpbmRleCA5NTExMzhkLi4xYWQ0OTlkIDEwMDY0NAorLS0tIGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCisrKysgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKK0BAIC0yLDYgKzIsNyBAQAorIAorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKK2luZGV4IDgzNzc2MjMuLjEzMmFmNjAgMTAwNjQ0CistLS0gYS9zcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYworKysrIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKK0BAIC00LDYgKzQsNyBAQAorICoqKi8KKyAKKyAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX2JyaWRnZS5oPgorICNpbmNsdWRlIDxzdGRib29sLmg+CisgCitkaWZmIC0tZ2l0IGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jIGIvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCitpbmRleCAwZGNlYzAzLi4zNjk1YjEwIDEwMDY0NAorLS0tIGEvc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5jCisrKysgYi9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKK0BAIC0xLDUgKzEsNiBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAKKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlIDxuZXQvaWYuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPGxpbnV4L2V0aHRvb2wuaD4KK2RpZmYgLS1naXQgYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmggYi9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKK2luZGV4IDYxOGIyNmIuLmViZmU4MmEgMTAwNjQ0CistLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKKysrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAorQEAgLTIsNiArMiw3IEBACisgI3ByYWdtYSBvbmNlCisgCisgI2luY2x1ZGUgPG1hY3JvLmg+CisrI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KKyAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgorIAorICNpbmNsdWRlICJjb25mLXBhcnNlci5oIgorZGlmZiAtLWdpdCBhL3NyYy91ZGV2L3VkZXYtYnVpbHRpbi1uZXRfc2V0dXBfbGluay5jIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKK2luZGV4IGE4NDVkZmEuLjE3NzI4OWEgMTAwNjQ0CistLS0gYS9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYworKysrIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKK0BAIC0xLDUgKzEsNiBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAKKysjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgorICNpbmNsdWRlICJkZXZpY2UtdXRpbC5oIgorICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCisgI2luY2x1ZGUgImxpbmstY29uZmlnLmgiCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtcmVtb3ZlLW5vYm9keS11c2VyLWdyb3VwLWNoZWNraW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViNmViOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi1Gcm9tIDUxOTlhZTVkZWM5YjhhOWM5ZTIwNDc3ZDUwOTBmMTczMjczNWZiZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDA5OjM4OjEyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNi85XSByZW1vdmUgbm9ib2R5IHVzZXIvZ3JvdXAgY2hlY2tpbmcKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBTcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgfCAzNyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggMzIzMTQ2ZmUxLi4zYmIwODdmZWYgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC02ODEsNDMgKzY4MSw2IEBAIHN1YnN0cy5zZXQoJ2NvbnRhaW5lcnVpZGJhc2VtYXgnLCBjb250YWluZXJfdWlkX2Jhc2VfbWF4KQotIG5vYm9keV91c2VyID0gZ2V0X29wdGlvbignbm9ib2R5LXVzZXInKQotIG5vYm9keV9ncm91cCA9IGdldF9vcHRpb24oJ25vYm9keS1ncm91cCcpCi0gCi0tZ2V0ZW50X3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdnZXRlbnQnLCAncGFzc3dkJywgJzY1NTM0JykKLS1pZiBnZXRlbnRfcmVzdWx0LnJldHVybmNvZGUoKSA9PSAwCi0tICAgICAgICBuYW1lID0gZ2V0ZW50X3Jlc3VsdC5zdGRvdXQoKS5zcGxpdCgnOicpWzBdCi0tICAgICAgICBpZiBuYW1lICE9IG5vYm9keV91c2VyCi0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCB1c2VyIHdpdGggdGhlIFVJRCA2NTUzNCBkb2VzIG5vdCBtYXRjaCB0aGUgY29uZmlndXJlZCB1c2VyIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSB1c2VyIChpdHMgbmFtZSBpcyBAMUApLlxuJy5mb3JtYXQobm9ib2R5X3VzZXIsIG5hbWUpICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBidWlsZCB3aWxsIHJlc3VsdCBpbiBhbiB1c2VyIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLWlkX3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdpZCcsICctdScsIG5vYm9keV91c2VyKQotLWlmIGlkX3Jlc3VsdC5yZXR1cm5jb2RlKCkgPT0gMAotLSAgICAgICAgaWQgPSBpZF9yZXN1bHQuc3Rkb3V0KCkudG9faW50KCkKLS0gICAgICAgIGlmIGlkICE9IDY1NTM0Ci0tICAgICAgICAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBsb2NhbCB1c2VyIHdpdGggdGhlIGNvbmZpZ3VyZWQgdXNlciBuYW1lICJAMEAiIG9mIHRoZSBub2JvZHkgdXNlciBkb2VzIG5vdCBoYXZlIFVJRCA2NTUzNCAoaXQgaGFzIEAxQCkuXG4nLmZvcm1hdChub2JvZHlfdXNlciwgaWQpICsKLS0gICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBidWlsZCB3aWxsIHJlc3VsdCBpbiBhbiB1c2VyIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLQotLWdldGVudF9yZXN1bHQgPSBydW5fY29tbWFuZCgnZ2V0ZW50JywgJ2dyb3VwJywgJzY1NTM0JykKLS1pZiBnZXRlbnRfcmVzdWx0LnJldHVybmNvZGUoKSA9PSAwCi0tICAgICAgICBuYW1lID0gZ2V0ZW50X3Jlc3VsdC5zdGRvdXQoKS5zcGxpdCgnOicpWzBdCi0tICAgICAgICBpZiBuYW1lICE9IG5vYm9keV9ncm91cAotLSAgICAgICAgICAgICAgICB3YXJuaW5nKCdcbicgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgbG9jYWwgZ3JvdXAgd2l0aCB0aGUgR0lEIDY1NTM0IGRvZXMgbm90IG1hdGNoIHRoZSBjb25maWd1cmVkIGdyb3VwIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSBncm91cCAoaXRzIG5hbWUgaXMgQDFAKS5cbicuZm9ybWF0KG5vYm9keV9ncm91cCwgbmFtZSkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIGdyb3VwIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotLWlkX3Jlc3VsdCA9IHJ1bl9jb21tYW5kKCdpZCcsICctZycsIG5vYm9keV9ncm91cCkKLS1pZiBpZF9yZXN1bHQucmV0dXJuY29kZSgpID09IDAKLS0gICAgICAgIGlkID0gaWRfcmVzdWx0LnN0ZG91dCgpLnRvX2ludCgpCi0tICAgICAgICBpZiBpZCAhPSA2NTUzNAotLSAgICAgICAgICAgICAgICB3YXJuaW5nKCdcbicgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdUaGUgbG9jYWwgZ3JvdXAgd2l0aCB0aGUgY29uZmlndXJlZCBncm91cCBuYW1lICJAMEAiIG9mIHRoZSBub2JvZHkgZ3JvdXAgZG9lcyBub3QgaGF2ZSBVSUQgNjU1MzQgKGl0IGhhcyBAMUApLlxuJy5mb3JtYXQobm9ib2R5X2dyb3VwLCBpZCkgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICdZb3VyIGJ1aWxkIHdpbGwgcmVzdWx0IGluIGFuIGdyb3VwIHRhYmxlIHNldHVwIHRoYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIGxvY2FsIHN5c3RlbS4nKQotLSAgICAgICAgZW5kaWYKLS1lbmRpZgotIGlmIG5vYm9keV91c2VyICE9IG5vYm9keV9ncm91cCBhbmQgbm90IChub2JvZHlfdXNlciA9PSAnbm9ib2R5JyBhbmQgbm9ib2R5X2dyb3VwID09ICdub2dyb3VwJykKLSAgICAgICAgIHdhcm5pbmcoJ1xuJyArCi0gICAgICAgICAgICAgICAgICdUaGUgY29uZmlndXJlZCB1c2VyIG5hbWUgIkAwQCIgYW5kIGdyb3VwIG5hbWUgIkAwQCIgb2YgdGhlIG5vYm9keSB1c2VyL2dyb3VwIGFyZSBub3QgZXF1aXZhbGVudC5cbicuZm9ybWF0KG5vYm9keV91c2VyLCBub2JvZHlfZ3JvdXApICsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDYtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1zdHJuZHVwYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTA3YTc5NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA2LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotRnJvbSAwM2ZkMTlmYzg3NTczMjc2ZTBkMzU5MjYwYzhmZTU5MWY1ZjAyMTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAxNjozNDo1MCArMDgwMAotU3ViamVjdDogW1BBVENIIDA2LzE5XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBzdHJuZHVwYQotCi1pbmNsdWRlIG1pc3NpbmcuaCAgZm9yIGRlZmluaXRpb24gb2Ygc3RybmR1cGEKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWVzb24uYnVpbGQgICAgICAgICAgICAgfCAgMSArCi0gc3JjL2Jhc2ljL21pc3NpbmcuaCAgICAgfCAxMSArKysrKysrKysrKwotIHNyYy9iYXNpYy9ta2Rpci5jICAgICAgIHwgIDEgKwotIHNyYy9iYXNpYy9wYWdlci5jICAgICAgIHwgIDEgKwotIHNyYy9iYXNpYy9wYXJzZS11dGlsLmMgIHwgIDEgKwotIHNyYy9iYXNpYy9wcm9jZnMtdXRpbC5jIHwgIDEgKwotIHNyYy9zaGFyZWQvdWlkLXJhbmdlLmMgIHwgIDEgKwotIDcgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggOGMxNmJjOTc5Li5hNzM0YTI5NWMgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC01MDMsNiArNTAzLDcgQEAgZm9yZWFjaCBpZGVudCA6IFsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8dW5pc3RkLmg+JycnXSwKLSAgICAgICAgIFsnZXhwbGljaXRfYnplcm8nICwgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKLSAgICAgICAgIFsncmVhbGxvY2FycmF5JywgICAgICAnJycjaW5jbHVkZSA8bWFsbG9jLmg+JycnXSwKLSsgICAgICAgIFsnc3RybmR1cGEnICwgICAgICAgICAnJycjaW5jbHVkZSA8c3RyaW5nLmg+JycnXSwKLSBdCi0gCi0gICAgICAgICBoYXZlID0gY2MuaGFzX2Z1bmN0aW9uKGlkZW50WzBdLCBwcmVmaXggOiBpZGVudFsxXSwgYXJncyA6ICctRF9HTlVfU09VUkNFJykKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggMGUzM2FiYjlmLi4wMjM5N2YxYjYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTE4NCw2ICsxMTg0LDE3IEBAIHN0cnVjdCBpbnB1dF9tYXNrIHsKLSB0eXBlZGVmIGludDMyX3Qga2V5X3NlcmlhbF90OwotICNlbmRpZgotIAotKyNpZiAhIEhBVkVfU1RSTkRVUEEKLSsjZGVmaW5lIHN0cm5kdXBhKHMsIG4pIFwKLSsgICh7IFwKLSsgICAgY29uc3QgY2hhciAqX19vbGQgPSAocyk7IFwKLSsgICAgc2l6ZV90IF9fbGVuID0gc3RybmxlbihfX29sZCwgKG4pKTsgXAotKyAgICBjaGFyICpfX25ldyA9IChjaGFyICopYWxsb2NhKF9fbGVuICsgMSk7IFwKLSsgICAgX19uZXdbX19sZW5dID0gJ1wwJzsgXAotKyAgICAoY2hhciAqKW1lbWNweShfX25ldywgX19vbGQsIF9fbGVuKTsgXAotKyAgfSkKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIEtFWUNUTF9KT0lOX1NFU1NJT05fS0VZUklORwotICNkZWZpbmUgS0VZQ1RMX0pPSU5fU0VTU0lPTl9LRVlSSU5HIDEKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWtkaXIuYyBiL3NyYy9iYXNpYy9ta2Rpci5jCi1pbmRleCA2YWIxYjQ0MjIuLjc3YzNlMDg2MyAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9ta2Rpci5jCi0rKysgYi9zcmMvYmFzaWMvbWtkaXIuYwotQEAgLTEzLDYgKzEzLDcgQEAKLSAjaW5jbHVkZSAic3RhdC11dGlsLmgiCi0gI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSAjaW5jbHVkZSAidXNlci11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBpbnQgbWtkaXJfc2FmZV9pbnRlcm5hbChjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIE1rZGlyRmxhZ3MgZmxhZ3MsIG1rZGlyX2Z1bmNfdCBfbWtkaXIpIHsKLSAgICAgICAgIHN0cnVjdCBzdGF0IHN0OwotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYWdlci5jIGIvc3JjL2Jhc2ljL3BhZ2VyLmMKLWluZGV4IGYyNDEyNjExMS4uODIyM2JmZjAyIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3BhZ2VyLmMKLSsrKyBiL3NyYy9iYXNpYy9wYWdlci5jCi1AQCAtMjEsNiArMjEsNyBAQAotICNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotICNpbmNsdWRlICJzdHJ2LmgiCi0gI2luY2x1ZGUgInRlcm1pbmFsLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIHN0YXRpYyBwaWRfdCBwYWdlcl9waWQgPSAwOwotIAotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMgYi9zcmMvYmFzaWMvcGFyc2UtdXRpbC5jCi1pbmRleCA2YmVjZjg1ODcuLjUyNTc2ZjUzNiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9wYXJzZS11dGlsLmMKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgInBhcnNlLXV0aWwuaCIKLSAjaW5jbHVkZSAicHJvY2Vzcy11dGlsLmgiCi0gI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBpbnQgcGFyc2VfYm9vbGVhbihjb25zdCBjaGFyICp2KSB7Ci0gICAgICAgICBhc3NlcnQodik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMgYi9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYwotaW5kZXggYTE1OWUzNDRiLi5lYmM0MjdkNmIgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvcHJvY2ZzLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3Byb2Nmcy11dGlsLmMKLUBAIC0xMSw2ICsxMSw3IEBACi0gI2luY2x1ZGUgInByb2Nmcy11dGlsLmgiCi0gI2luY2x1ZGUgInN0ZGlvLXV0aWwuaCIKLSAjaW5jbHVkZSAic3RyaW5nLXV0aWwuaCIKLSsjaW5jbHVkZSAibWlzc2luZy5oIgotIAotIGludCBwcm9jZnNfdGFza3NfZ2V0X2xpbWl0KHVpbnQ2NF90ICpyZXQpIHsKLSAgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnZhbHVlID0gTlVMTDsKLWRpZmYgLS1naXQgYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jIGIvc3JjL3NoYXJlZC91aWQtcmFuZ2UuYwotaW5kZXggNDM0Y2U2ZmY0Li4zNzA5M2FiN2IgMTAwNjQ0Ci0tLS0gYS9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCi0rKysgYi9zcmMvc2hhcmVkL3VpZC1yYW5nZS5jCi1AQCAtOCw2ICs4LDcgQEAKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAidWlkLXJhbmdlLmgiCi0gI2luY2x1ZGUgInVzZXItdXRpbC5oIgotKyNpbmNsdWRlICJtaXNzaW5nLmgiCi0gCi0gc3RhdGljIGJvb2wgdWlkX3JhbmdlX2ludGVyc2VjdChVaWRSYW5nZSAqcmFuZ2UsIHVpZF90IHN0YXJ0LCB1aWRfdCBucikgewotICAgICAgICAgYXNzZXJ0KHJhbmdlKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZGY4Y2Y5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIGFhYjkwZDBkZmE5MzRkMzM4NzllYWVjMWE4NzhlOTNiMjAxZDMzZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDE2OjQ0OjQzICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvMTldIEluY2x1ZGUgbmV0aW5ldC9pZl9ldGhlci5oCi0KLUZpeGVzCi0vcGF0aC90by9zeXN0ZW1kL3JlY2lwZS1zeXNyb290L3Vzci9pbmNsdWRlL25ldGluZXQvaWZfZXRoZXIuaDoxMDE6ODogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0IGV0aGhkcicKLSBzdHJ1Y3QgZXRoaGRyIHsKLSAgICAgICAgXn5+fn5+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jIHwgMSArCi0gc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jICAgICAgICAgICAgICAgfCAxICsKLSBzcmMvbmV0d29yay9uZXR3b3JrZC1icnZsYW4uYyAgICAgICAgICAgICB8IDEgKwotIHNyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYyAgICAgICAgICAgICAgIHwgMSArCi0gc3JjL3VkZXYvbmV0L2V0aHRvb2wtdXRpbC5oICAgICAgICAgICAgICAgfCAxICsKLSBzcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYyAgICB8IDEgKwotIDYgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCi1pbmRleCBjOTNmZTljYjQuLjIwMTNkMDZlMSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLW5ldGxpbmsvbmV0bGluay10eXBlcy5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1uZXRsaW5rL25ldGxpbmstdHlwZXMuYwotQEAgLTMsNiArMyw3IEBACi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+Ci0gI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9uZXRsaW5rLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L3J0bmV0bGluay5oPgotICNpbmNsdWRlIDxsaW51eC9nZW5ldGxpbmsuaD4KLWRpZmYgLS1naXQgYS9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKLWluZGV4IDIxZmI3YWIwNi4uMGFmZTUxNzBjIDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0ZGV2L3R1bnRhcC5jCi0rKysgYi9zcmMvbmV0d29yay9uZXRkZXYvdHVudGFwLmMKLUBAIC0yLDYgKzIsNyBAQAotIAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPGxpbnV4L2lmX3R1bi5oPgotICNpbmNsdWRlIDxuZXQvaWYuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotZGlmZiAtLWdpdCBhL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jIGIvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKLWluZGV4IDhlOGE2MThlMi4uNTJkNTIzYTY3IDEwMDY0NAotLS0tIGEvc3JjL25ldHdvcmsvbmV0d29ya2QtYnJ2bGFuLmMKLSsrKyBiL3NyYy9uZXR3b3JrL25ldHdvcmtkLWJydmxhbi5jCi1AQCAtNCw2ICs0LDcgQEAKLSAqKiovCi0gCi0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlIDxsaW51eC9pZl9icmlkZ2UuaD4KLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotIAotZGlmZiAtLWdpdCBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYwotaW5kZXggNGJiNDIxNmFjLi41ZjczODM0ODMgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmMKLSsrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuYwotQEAgLTEsNSArMSw2IEBACi0gLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xKyAqLwotIAotKyNpbmNsdWRlIDxuZXRpbmV0L2lmX2V0aGVyLmg+Ci0gI2luY2x1ZGUgPG5ldC9pZi5oPgotICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KLSAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgotZGlmZiAtLWdpdCBhL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaCBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAotaW5kZXggMDY0YmY0ZDJiLi5lZTBkNGZiMmEgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi9uZXQvZXRodG9vbC11dGlsLmgKLSsrKyBiL3NyYy91ZGV2L25ldC9ldGh0b29sLXV0aWwuaAotQEAgLTMsNiArMyw3IEBACi0gCi0gCi0gI2luY2x1ZGUgPG1hY3JvLmg+Ci0rI2luY2x1ZGUgPG5ldGluZXQvaWZfZXRoZXIuaD4KLSAjaW5jbHVkZSA8bGludXgvZXRodG9vbC5oPgotIAotICNpbmNsdWRlICJtaXNzaW5nLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMgYi9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYwotaW5kZXggOGJlZDYzOTlhLi5hM2E5Njk1OWIgMTAwNjQ0Ci0tLS0gYS9zcmMvdWRldi91ZGV2LWJ1aWx0aW4tbmV0X3NldHVwX2xpbmsuYwotKysrIGIvc3JjL3VkZXYvdWRldi1idWlsdGluLW5ldF9zZXR1cF9saW5rLmMKLUBAIC0xLDUgKzEsNiBAQAotIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KLSAKLSsjaW5jbHVkZSA8bmV0aW5ldC9pZl9ldGhlci5oPgotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImxpbmstY29uZmlnLmgiCi0gI2luY2x1ZGUgImxvZy5oIgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjVlNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QucGF0Y2gKQEAgLTAsMCArMSwxNTQgQEAKK0Zyb20gZjhhMjM5YjE4MjE1OGNhMGE1MzdiYTA1M2NiMGU2YmFkOWMzYTJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTQ6NTY6MjEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8yNF0gZG9uJ3QgZmFpbCBpZiBHTE9CX0JSQUNFIGFuZCBHTE9CX0FMVERJUkZVTkMgaXMgbm90IAorIGRlZmluZWQKKworSWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkgZG9lc24ndCBwcm92aWRlIGJyYWNlCitleHBhbnNpb24gdXNlcnMganVzdCB3b24ndCBnZXQgaXQuCisKK0RvbnQgdXNlIEdOVSBHTE9CIGV4dGVudGlvbnMgb24gbm9uLWdsaWJjIHN5c3RlbXMKKworQ29uZGl0aW9uYWxpemUgdXNlIG9mIEdMT0JfQUxURElSRlVOQworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvZ2xvYi11dGlsLmMgICAgIHwgMTIgKysrKysrKysrKystCisgc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyB8IDE3ICsrKysrKysrKysrKysrKy0tCisgc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMgICB8ICA5ICsrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYworaW5kZXggOWZhYzY3Ni4uOTYyZDhiOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL2dsb2ItdXRpbC5jCitAQCAtMTAsNiArMTAsMTEgQEAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicGF0aC11dGlsLmgiCisgI2luY2x1ZGUgInN0cnYuaCIKKysvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5CisrICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLworKyNpZm5kZWYgR0xPQl9CUkFDRQorKyNkZWZpbmUgR0xPQl9CUkFDRSAwCisrI2VuZGlmCisgCisgc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7CisgICAgICAgICAodm9pZCkgY2xvc2VkaXIodik7CitAQCAtMTgsNiArMjMsNyBAQCBzdGF0aWMgdm9pZCBjbG9zZWRpcl93cmFwcGVyKHZvaWQqIHYpIHsKKyBpbnQgc2FmZV9nbG9iKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgZ2xvYl90ICpwZ2xvYikgeworICAgICAgICAgaW50IGs7CisgCisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgLyogV2Ugd2FudCB0byBzZXQgR0xPQl9BTFRESVJGVU5DIG91cnNlbHZlcywgZG9uJ3QgYWxsb3cgaXQgdG8gYmUgc2V0LiAqLworICAgICAgICAgYXNzZXJ0KCEoZmxhZ3MgJiBHTE9CX0FMVERJUkZVTkMpKTsKKyAKK0BAIC0zMSwxMCArMzcsMTQgQEAgaW50IHNhZmVfZ2xvYihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIGdsb2JfdCAqcGdsb2IpIHsKKyAgICAgICAgICAgICAgICAgcGdsb2ItPmdsX2xzdGF0ID0gbHN0YXQ7CisgICAgICAgICBpZiAoIXBnbG9iLT5nbF9zdGF0KQorICAgICAgICAgICAgICAgICBwZ2xvYi0+Z2xfc3RhdCA9IHN0YXQ7CisrI2VuZGlmCisgCisgICAgICAgICBlcnJubyA9IDA7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MgfCBHTE9CX0FMVERJUkZVTkMsIE5VTEwsIHBnbG9iKTsKKy0KKysjZWxzZQorKyAgICAgICAgayA9IGdsb2IocGF0aCwgZmxhZ3MsIE5VTEwsIHBnbG9iKTsKKysjZW5kaWYKKyAgICAgICAgIGlmIChrID09IEdMT0JfTk9NQVRDSCkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgICAgICBpZiAoayA9PSBHTE9CX05PU1BBQ0UpCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1nbG9iLXV0aWwuYyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKK2luZGV4IGI0ZjQxNDQuLjk1NWIzYmEgMTAwNjQ0CistLS0gYS9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCitAQCAtMTIsNiArMTIsMTEgQEAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAicm0tcmYuaCIKKyAjaW5jbHVkZSAidG1wZmlsZS11dGlsLmgiCisrLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQorKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KKysjaWZuZGVmIEdMT0JfQlJBQ0UKKysjZGVmaW5lIEdMT0JfQlJBQ0UgMAorKyNlbmRpZgorIAorIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9leGlzdHModm9pZCkgeworICAgICAgICAgY2hhciBuYW1lW10gPSAiL3RtcC90ZXN0LWdsb2JfZXhpc3RzLlhYWFhYWCI7CitAQCAtMzgsMjUgKzQzLDMzIEBAIHN0YXRpYyB2b2lkIGNsb3NlZGlyX3dyYXBwZXIodm9pZCogdikgeworIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9ub19kb3Qodm9pZCkgeworICAgICAgICAgY2hhciB0ZW1wbGF0ZVtdID0gIi90bXAvdGVzdC1nbG9iLXV0aWwuWFhYWFhYWCI7CisgICAgICAgICBjb25zdCBjaGFyICpmbjsKKy0KKyAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICAgICAgICAgIC5nbF9jbG9zZWRpciA9IGNsb3NlZGlyX3dyYXBwZXIsCisgICAgICAgICAgICAgICAgIC5nbF9yZWFkZGlyID0gKHN0cnVjdCBkaXJlbnQgKigqKSh2b2lkICopKSByZWFkZGlyX25vX2RvdCwKKyAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXIsCisgICAgICAgICAgICAgICAgIC5nbF9sc3RhdCA9IGxzdGF0LAorICAgICAgICAgICAgICAgICAuZ2xfc3RhdCA9IHN0YXQsCisrI2VuZGlmCisgICAgICAgICB9OworLQorICAgICAgICAgaW50IHI7CisgCisgICAgICAgICBhc3NlcnRfc2UobWtkdGVtcCh0ZW1wbGF0ZSkpOworIAorICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8qIik7CisrI2lmZGVmIEdMT0JfQUxURElSRlVOQworICAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0V8R0xPQl9BTFRESVJGVU5DLCBOVUxMLCAmZyk7CisrI2Vsc2UKKysgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFLCBOVUxMLCAmZyk7CisrI2VuZGlmCisgICAgICAgICBhc3NlcnRfc2UociA9PSBHTE9CX05PTUFUQ0gpOworIAorICAgICAgICAgZm4gPSBzdHJqb2luYSh0ZW1wbGF0ZSwgIi8uKiIpOworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFfEdMT0JfQUxURElSRlVOQywgTlVMTCwgJmcpOworKyNlbHNlCisrICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRSwgTlVMTCwgJmcpOworKyNlbmRpZgorICAgICAgICAgYXNzZXJ0X3NlKHIgPT0gR0xPQl9OT01BVENIKTsKKyAKKyAgICAgICAgICh2b2lkKSBybV9yZih0ZW1wbGF0ZSwgUkVNT1ZFX1JPT1R8UkVNT1ZFX1BIWVNJQ0FMKTsKK2RpZmYgLS1naXQgYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyBiL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCitpbmRleCBiNjY3NjViLi4xMWRiYmY0IDEwMDY0NAorLS0tIGEvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKKysrKyBiL3NyYy90bXBmaWxlcy90bXBmaWxlcy5jCitAQCAtNjAsNiArNjAsMTEgQEAKKyAjaW5jbHVkZSAidW1hc2stdXRpbC5oIgorICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKKysgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCisrI2lmbmRlZiBHTE9CX0JSQUNFCisrI2RlZmluZSBHTE9CX0JSQUNFIDAKKysjZW5kaWYKKyAKKyAvKiBUaGlzIHJlYWRzIGFsbCBmaWxlcyBsaXN0ZWQgaW4gL2V0Yy90bXBmaWxlcy5kLz8qLmNvbmYgYW5kIGNyZWF0ZXMKKyAgKiB0aGVtIGluIHRoZSBmaWxlIHN5c3RlbS4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIGNyZWF0ZQorQEAgLTE4NTMsNyArMTg1OCw5IEBAIGZpbmlzaDoKKyAKKyBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKKyAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKKysjaWZkZWYgR0xPQl9BTFRESVJGVU5DCisgICAgICAgICAgICAgICAgIC5nbF9vcGVuZGlyID0gKHZvaWQgKigqKShjb25zdCBjaGFyICopKSBvcGVuZGlyX25vbW9kLAorKyNlbmRpZgorICAgICAgICAgfTsKKyAgICAgICAgIGludCByID0gMCwgazsKKyAgICAgICAgIGNoYXIgKipmbjsKK0BAIC0xODczLDcgKzE4ODAsOSBAQCBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKKyAKKyBzdGF0aWMgaW50IGdsb2JfaXRlbV9yZWN1cnNpdmVseShJdGVtICppLCBmZGFjdGlvbl90IGFjdGlvbikgeworICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0geworKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKKyAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCisrI2VuZGlmCisgICAgICAgICB9OworICAgICAgICAgaW50IHIgPSAwLCBrOworICAgICAgICAgY2hhciAqKmZuOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA3LXJ1bGVzLXdhdGNoLW1ldGFkYXRhLWNoYW5nZXMtaW4taWRlLWRldmljZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1ZjY1ZTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwNy1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA5MzAyYjcyZTVlNjk1MTJhYWE3MTA2MTk3YjAwYzU1YmFlYjM1YjNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxNyBOb3YgMjAxNyAwOTo0NjowMCArMDgwMAotU3ViamVjdDogW1BBVENIIDcvOV0gcnVsZXM6IHdhdGNoIG1ldGFkYXRhIGNoYW5nZXMgaW4gaWRlIGRldmljZXMKLQotRm9ybWF0dGluZyBJREUgc3RvcmFnZSBkb2VzIG5vdCB0cmlnZ2VyICJjaGFuZ2UiIHVldmVudHMuIEFzIGEgcmVzdWx0Ci1jbGllbnRzIHVzaW5nIHVkZXYgQVBJIGRvbid0IGdldCBhbnkgdXBkYXRlcyBhZnRlcndhcmRzIGFuZCBnZXQgb3V0ZGF0ZWQKLWluZm9ybWF0aW9uIGFib3V0IHRoZSBkZXZpY2UuCi0uLi4KLXJvb3RAcWVtdXg4Ni02NDp+IyBta2ZzLmV4dDQgLUYgL2Rldi9oZGExCi1DcmVhdGluZyBmaWxlc3lzdGVtIHdpdGggMjYyMTQ0IDRrIGJsb2NrcyBhbmQgNjU1MzYgaW5vZGVzCi1GaWxlc3lzdGVtIFVVSUQ6IDk4NzkxZWIyLTJiZjMtNDdhZC1iNGQ4LTRjZjdlOTE0ZWVlMgotCi1yb290QHFlbXV4ODYtNjQ6fiMgbHMgL2Rldi9kaXNrL2J5LXV1aWQvOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyCi1sczogY2Fubm90IGFjY2VzcyAnL2Rldi9kaXNrL2J5LXV1aWQvOTg3OTFlYjItMmJmMy00N2FkLWI0ZDgtNGNmN2U5MTRlZWUyJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotLi4uCi1JbmNsdWRlIGhkKiBpbiBhIG1hdGNoIGZvciB3YXRjaCBvcHRpb24gYXNzaWdubWVudC4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLQotcWVtdSBieSBkZWZhdWx0IGVtdWxhdGVzIElERSBhbmQgdGhlIGxpbnV4LXlvY3RvIGtlcm5lbChzKSB1c2UKLUNPTkZJR19JREUgaW5zdGVhZCBvZiB0aGUgbW9yZSBtb2Rlcm4gbGlic2F0YSwgc28gZGlza3MgYXBwZWFyIGFzCi0vZGV2L2hkKi4gQSBzaW1pbGFyIHBhdGNoIHJlamVjdGVkIGJ5IHVwc3RyZWFtIGJlY2F1c2UgQ09ORklHX0lERQotaXMgZGVwcmVjYXRlZC4KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gcnVsZXMvNjAtYmxvY2sucnVsZXMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9ydWxlcy82MC1ibG9jay5ydWxlcyBiL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCi1pbmRleCAzNDNmYzA2ZjguLmI1MjM3ZGFjNCAxMDA2NDQKLS0tLSBhL3J1bGVzLzYwLWJsb2NrLnJ1bGVzCi0rKysgYi9ydWxlcy82MC1ibG9jay5ydWxlcwotQEAgLTgsNCArOCw0IEBAIEFDVElPTj09ImFkZCIsIFNVQlNZU1RFTT09Im1vZHVsZSIsIEtFUk5FTD09ImJsb2NrIiwgQVRUUntwYXJhbWV0ZXJzL2V2ZW50c19kZmxfCi0gQUNUSU9OPT0iY2hhbmdlIiwgU1VCU1lTVEVNPT0ic2NzaSIsIEVOVntERVZUWVBFfT09InNjc2lfZGV2aWNlIiwgVEVTVD09ImJsb2NrIiwgQVRUUntibG9jay8qL3VldmVudH09ImNoYW5nZSIKLSAKLSAjIHdhdGNoIG1ldGFkYXRhIGNoYW5nZXMsIGNhdXNlZCBieSB0b29scyBjbG9zaW5nIHRoZSBkZXZpY2Ugbm9kZSB3aGljaCB3YXMgb3BlbmVkIGZvciB3cml0aW5nCi0tQUNUSU9OIT0icmVtb3ZlIiwgU1VCU1lTVEVNPT0iYmxvY2siLCBLRVJORUw9PSJsb29wKnxudm1lKnxzZCp8dmQqfHh2ZCp8cG1lbSp8bW1jYmxrKiIsIE9QVElPTlMrPSJ3YXRjaCIKLStBQ1RJT04hPSJyZW1vdmUiLCBTVUJTWVNURU09PSJibG9jayIsIEtFUk5FTD09Imxvb3AqfG52bWUqfHNkKnx2ZCp8eHZkKnxwbWVtKnxtbWNibGsqfGhkKiIsIE9QVElPTlMrPSJ3YXRjaCIKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWJlY2RjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LURvLW5vdC1lbmFibGUtbnNzLXRlc3RzLWlmLW5zcy1zeXN0ZW1kLWlzLW5vdC1lbmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGI2YmE1OTZmZDEzMTNhMTYyY2RjMmViODgxNjFkY2YyNGQxOWVkZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDEwOjEwOjAyICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOC85XSBEbyBub3QgZW5hYmxlIG5zcyB0ZXN0cyBpZiBuc3Mtc3lzdGVtZCBpcyBub3QgZW5hYmxlZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90ZXN0L21lc29uLmJ1aWxkIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbWVzb24uYnVpbGQgYi9zcmMvdGVzdC9tZXNvbi5idWlsZAotaW5kZXggN2RhN2UzYTIyLi43YjdjMjU3ZmYgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC9tZXNvbi5idWlsZAotKysrIGIvc3JjL3Rlc3QvbWVzb24uYnVpbGQKLUBAIC02NDUsNyArNjQ1LDcgQEAgdGVzdHMgKz0gWwotICAgICAgICAgW1snc3JjL3Rlc3QvdGVzdC1uc3MuYyddLAotICAgICAgICAgIFtdLAotICAgICAgICAgIFtsaWJkbF0sCi0tICAgICAgICAgJycsICdtYW51YWwnXSwKLSsgICAgICAgICAnRU5BQkxFX05TU19TWVNURU1EJywgJ21hbnVhbCddLAotIAotICAgICAgICAgW1snc3JjL3Rlc3QvdGVzdC11bW91bnQuYycsCi0gICAgICAgICAgICdzcmMvY29yZS9tb3VudC1zZXR1cC5jJywKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1ZjIzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA4LWFkZC1taXNzaW5nLUZUV18tbWFjcm9zLWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gNmNkMTdjNzUzZDJjMGE5MGZjNzkxZjY5YmJjNjk0Y2JjODU1NmE0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MDA6MDYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwOC8yNF0gYWRkIG1pc3NpbmcgRlRXXyBtYWNyb3MgZm9yIG11c2wKKworVGhpcyBpcyB0byBhdm9pZCBidWlsZCBmYWlsdXJlcyBsaWtlIGJlbG93IGZvciBtdXNsLgorCisgIGxvY2FsZS11dGlsLmM6Mjk2OjI0OiBlcnJvcjogJ0ZUV19TVE9QJyB1bmRlY2xhcmVkCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIHwgMjAgKysrKysrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitpbmRleCBjNDg3ZTY1Li4yMzYwMmViIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCisrKysgYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK0BAIC0xOSwzICsxOSwyMyBAQCB0eXBlZGVmIGludCAoKmNvbXBhcmlzb25fZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworICNkZWZpbmUgX19DT01QQVJfRk5fVAorIHR5cGVkZWYgaW50ICgqX19jb21wYXJfZm5fdCkoY29uc3Qgdm9pZCAqLCBjb25zdCB2b2lkICopOworICNlbmRpZgorKworKyNpZm5kZWYgRlRXX0FDVElPTlJFVFZBTAorKyNkZWZpbmUgRlRXX0FDVElPTlJFVFZBTCAxNgorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX0NPTlRJTlVFCisrI2RlZmluZSBGVFdfQ09OVElOVUUgMAorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX1NUT1AKKysjZGVmaW5lIEZUV19TVE9QIDEKKysjZW5kaWYKKysKKysjaWZuZGVmIEZUV19TS0lQX1NVQlRSRUUKKysjZGVmaW5lIEZUV19TS0lQX1NVQlRSRUUgMgorKyNlbmRpZgorKworKyNpZm5kZWYgRlRXX1NLSVBfU0lCTElOR1MKKysjZGVmaW5lIEZUV19TS0lQX1NJQkxJTkdTIDMKKysjZW5kaWYKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOC1kb24tdC1mYWlsLWlmLUdMT0JfQlJBQ0UtYW5kLUdMT0JfQUxURElSRlVOQy1pcy1ub3QtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWU1ZmI2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDgtZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1MyArMCwwIEBACi1Gcm9tIDg0OGU3MTFkNzE5YTZkOTg3YmM3ZDE0MTgzZTFjN2IxZjFjOTFjNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDI5IEp1biAyMDE4IDE3OjEwOjI5ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTldIGRvbid0IGZhaWwgaWYgR0xPQl9CUkFDRSBhbmQgR0xPQl9BTFRESVJGVU5DIGlzIG5vdAotIGRlZmluZWQKLQotSWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkgZG9lc24ndCBwcm92aWRlIGJyYWNlCi1leHBhbnNpb24gdXNlcnMganVzdCB3b24ndCBnZXQgaXQuCi0KLURvbnQgdXNlIEdOVSBHTE9CIGV4dGVudGlvbnMgb24gbm9uLWdsaWJjIHN5c3RlbXMKLQotQ29uZGl0aW9uYWxpemUgdXNlIG9mIEdMT0JfQUxURElSRlVOQwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvZ2xvYi11dGlsLmMgICAgIHwgMTMgKysrKysrKysrKystLQotIHNyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMgfCAxNSArKysrKysrKysrKysrKysKLSBzcmMvdG1wZmlsZXMvdG1wZmlsZXMuYyAgIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9nbG9iLXV0aWwuYyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYwotaW5kZXggOWZhYzY3NmYyLi44YWRiOTU1OWUgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvZ2xvYi11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9nbG9iLXV0aWwuYwotQEAgLTEwLDYgKzEwLDExIEBACi0gI2luY2x1ZGUgIm1hY3JvLmgiCi0gI2luY2x1ZGUgInBhdGgtdXRpbC5oIgotICNpbmNsdWRlICJzdHJ2LmgiCi0rLyogRG9uJ3QgZmFpbCBpZiB0aGUgc3RhbmRhcmQgbGlicmFyeQotKyAqIGRvZXNuJ3QgcHJvdmlkZSBicmFjZSBleHBhbnNpb24gKi8KLSsjaWZuZGVmIEdMT0JfQlJBQ0UKLSsjZGVmaW5lIEdMT0JfQlJBQ0UgMAotKyNlbmRpZgotIAotIHN0YXRpYyB2b2lkIGNsb3NlZGlyX3dyYXBwZXIodm9pZCogdikgewotICAgICAgICAgKHZvaWQpIGNsb3NlZGlyKHYpOwotQEAgLTE4LDYgKzIzLDcgQEAgc3RhdGljIHZvaWQgY2xvc2VkaXJfd3JhcHBlcih2b2lkKiB2KSB7Ci0gaW50IHNhZmVfZ2xvYihjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIGdsb2JfdCAqcGdsb2IpIHsKLSAgICAgICAgIGludCBrOwotIAotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIC8qIFdlIHdhbnQgdG8gc2V0IEdMT0JfQUxURElSRlVOQyBvdXJzZWx2ZXMsIGRvbid0IGFsbG93IGl0IHRvIGJlIHNldC4gKi8KLSAgICAgICAgIGFzc2VydCghKGZsYWdzICYgR0xPQl9BTFRESVJGVU5DKSk7Ci0gCi1AQCAtMzEsMTAgKzM3LDEzIEBAIGludCBzYWZlX2dsb2IoY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzLCBnbG9iX3QgKnBnbG9iKSB7Ci0gICAgICAgICAgICAgICAgIHBnbG9iLT5nbF9sc3RhdCA9IGxzdGF0OwotICAgICAgICAgaWYgKCFwZ2xvYi0+Z2xfc3RhdCkKLSAgICAgICAgICAgICAgICAgcGdsb2ItPmdsX3N0YXQgPSBzdGF0OwotLQotKyNlbmRpZgotICAgICAgICAgZXJybm8gPSAwOwotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIGsgPSBnbG9iKHBhdGgsIGZsYWdzIHwgR0xPQl9BTFRESVJGVU5DLCBOVUxMLCBwZ2xvYik7Ci0tCi0rI2Vsc2UKLSsgICAgICAgIGsgPSBnbG9iKHBhdGgsIGZsYWdzLCBOVUxMLCBwZ2xvYik7Ci0rI2VuZGlmCi0gICAgICAgICBpZiAoayA9PSBHTE9CX05PTUFUQ0gpCi0gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOwotICAgICAgICAgaWYgKGsgPT0gR0xPQl9OT1NQQUNFKQotZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMgYi9zcmMvdGVzdC90ZXN0LWdsb2ItdXRpbC5jCi1pbmRleCBkNzhkNjIyM2MuLmY1OTQzYjI2ZCAxMDA2NDQKLS0tLSBhL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKLSsrKyBiL3NyYy90ZXN0L3Rlc3QtZ2xvYi11dGlsLmMKLUBAIC0xMiw2ICsxMiwxMSBAQAotICNpbmNsdWRlICJnbG9iLXV0aWwuaCIKLSAjaW5jbHVkZSAibWFjcm8uaCIKLSAjaW5jbHVkZSAicm0tcmYuaCIKLSsvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5Ci0rICogZG9lc24ndCBwcm92aWRlIGJyYWNlIGV4cGFuc2lvbiAqLwotKyNpZm5kZWYgR0xPQl9CUkFDRQotKyNkZWZpbmUgR0xPQl9CUkFDRSAwCi0rI2VuZGlmCi0gCi0gc3RhdGljIHZvaWQgdGVzdF9nbG9iX2V4aXN0cyh2b2lkKSB7Ci0gICAgICAgICBjaGFyIG5hbWVbXSA9ICIvdG1wL3Rlc3QtZ2xvYl9leGlzdHMuWFhYWFhYIjsKLUBAIC00MCwxMSArNDUsMTMgQEAgc3RhdGljIHZvaWQgdGVzdF9nbG9iX25vX2RvdCh2b2lkKSB7Ci0gICAgICAgICBjb25zdCBjaGFyICpmbjsKLSAKLSAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICAgICAgICAgIC5nbF9jbG9zZWRpciA9IGNsb3NlZGlyX3dyYXBwZXIsCi0gICAgICAgICAgICAgICAgIC5nbF9yZWFkZGlyID0gKHN0cnVjdCBkaXJlbnQgKigqKSh2b2lkICopKSByZWFkZGlyX25vX2RvdCwKLSAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXIsCi0gICAgICAgICAgICAgICAgIC5nbF9sc3RhdCA9IGxzdGF0LAotICAgICAgICAgICAgICAgICAuZ2xfc3RhdCA9IHN0YXQsCi0rI2VuZGlmCi0gICAgICAgICB9OwotIAotICAgICAgICAgaW50IHI7Ci1AQCAtNTIsMTEgKzU5LDE5IEBAIHN0YXRpYyB2b2lkIHRlc3RfZ2xvYl9ub19kb3Qodm9pZCkgewotICAgICAgICAgYXNzZXJ0X3NlKG1rZHRlbXAodGVtcGxhdGUpKTsKLSAKLSAgICAgICAgIGZuID0gc3Ryam9pbmEodGVtcGxhdGUsICIvKiIpOwotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgIHIgPSBnbG9iKGZuLCBHTE9CX05PU09SVHxHTE9CX0JSQUNFfEdMT0JfQUxURElSRlVOQywgTlVMTCwgJmcpOwotKyNlbHNlCi0rICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRSwgTlVMTCwgJmcpOwotKyNlbmRpZgotICAgICAgICAgYXNzZXJ0X3NlKHIgPT0gR0xPQl9OT01BVENIKTsKLSAKLSAgICAgICAgIGZuID0gc3Ryam9pbmEodGVtcGxhdGUsICIvLioiKTsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICByID0gZ2xvYihmbiwgR0xPQl9OT1NPUlR8R0xPQl9CUkFDRXxHTE9CX0FMVERJUkZVTkMsIE5VTEwsICZnKTsKLSsjZWxzZQotKyAgICAgICAgciA9IGdsb2IoZm4sIEdMT0JfTk9TT1JUfEdMT0JfQlJBQ0UsIE5VTEwsICZnKTsKLSsjZW5kaWYKLSAgICAgICAgIGFzc2VydF9zZShyID09IEdMT0JfTk9NQVRDSCk7Ci0gCi0gICAgICAgICAodm9pZCkgcm1fcmYodGVtcGxhdGUsIFJFTU9WRV9ST09UfFJFTU9WRV9QSFlTSUNBTCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMgYi9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYwotaW5kZXggOTI3ZGUzNWYzLi41ZjAyODNkYTUgMTAwNjQ0Ci0tLS0gYS9zcmMvdG1wZmlsZXMvdG1wZmlsZXMuYwotKysrIGIvc3JjL3RtcGZpbGVzL3RtcGZpbGVzLmMKLUBAIC02MCw2ICs2MCwxMiBAQAotICNpbmNsdWRlICJ1c2VyLXV0aWwuaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKLSsgKiBkb2Vzbid0IHByb3ZpZGUgYnJhY2UgZXhwYW5zaW9uICovCi0rI2lmbmRlZiBHTE9CX0JSQUNFCi0rI2RlZmluZSBHTE9CX0JSQUNFIDAKLSsjZW5kaWYKLSsKLSAvKiBUaGlzIHJlYWRzIGFsbCBmaWxlcyBsaXN0ZWQgaW4gL2V0Yy90bXBmaWxlcy5kLz8qLmNvbmYgYW5kIGNyZWF0ZXMKLSAgKiB0aGVtIGluIHRoZSBmaWxlIHN5c3RlbS4gVGhpcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHRvIGNyZWF0ZQotICAqIHByb3Blcmx5IG93bmVkIGRpcmVjdG9yaWVzIGJlbmVhdGggL3RtcCwgL3Zhci90bXAsIC9ydW4sIHdoaWNoIGFyZQotQEAgLTEzNDUsNyArMTM1MSw5IEBAIGZpbmlzaDoKLSAKLSBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKLSAgICAgICAgIF9jbGVhbnVwX2dsb2JmcmVlXyBnbG9iX3QgZyA9IHsKLSsjaWZkZWYgR0xPQl9BTFRESVJGVU5DCi0gICAgICAgICAgICAgICAgIC5nbF9vcGVuZGlyID0gKHZvaWQgKigqKShjb25zdCBjaGFyICopKSBvcGVuZGlyX25vbW9kLAotKyNlbmRpZgotICAgICAgICAgfTsKLSAgICAgICAgIGludCByID0gMCwgazsKLSAgICAgICAgIGNoYXIgKipmbjsKLUBAIC0xMzY1LDcgKzEzNzMsOSBAQCBzdGF0aWMgaW50IGdsb2JfaXRlbShJdGVtICppLCBhY3Rpb25fdCBhY3Rpb24pIHsKLSAKLSBzdGF0aWMgaW50IGdsb2JfaXRlbV9yZWN1cnNpdmVseShJdGVtICppLCBmZGFjdGlvbl90IGFjdGlvbikgewotICAgICAgICAgX2NsZWFudXBfZ2xvYmZyZWVfIGdsb2JfdCBnID0gewotKyNpZmRlZiBHTE9CX0FMVERJUkZVTkMKLSAgICAgICAgICAgICAgICAgLmdsX29wZW5kaXIgPSAodm9pZCAqKCopKGNvbnN0IGNoYXIgKikpIG9wZW5kaXJfbm9tb2QsCi0rI2VuZGlmCi0gICAgICAgICB9OwotICAgICAgICAgaW50IHIgPSAwLCBrOwotICAgICAgICAgY2hhciAqKmZuOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk1Mjg3Y2NlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktYWRkLW1pc3NpbmctRlRXXy1tYWNyb3MtZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIGFjYzJjMDgwODI3OTU4MDIwMTFlM2M1Zjg2MjZkNjMyMTAwMjE0ODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjM2OjMyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkvMTldIGFkZCBtaXNzaW5nIEZUV18gbWFjcm9zIGZvciBtdXNsCi0KLVRoaXMgaXMgdG8gYXZvaWQgYnVpbGQgZmFpbHVyZXMgbGlrZSBiZWxvdyBmb3IgbXVzbC4KLQotICBsb2NhbGUtdXRpbC5jOjI5NjoyNDogZXJyb3I6ICdGVFdfU1RPUCcgdW5kZWNsYXJlZAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCAyMCArKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggMDIzOTdmMWI2Li42ZGM3NTBlYmEgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTg5LDYgKzE4OSwyNiBAQCBzdHJ1Y3Qgc29ja2FkZHJfdm0gewotICNkZWZpbmUgQlRSRlNfUUdST1VQX0xFVkVMX1NISUZUIDQ4Ci0gI2VuZGlmCi0gCi0rI2lmbmRlZiBGVFdfQUNUSU9OUkVUVkFMCi0rI2RlZmluZSBGVFdfQUNUSU9OUkVUVkFMIDE2Ci0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfQ09OVElOVUUKLSsjZGVmaW5lIEZUV19DT05USU5VRSAwCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfU1RPUAotKyNkZWZpbmUgRlRXX1NUT1AgMQotKyNlbmRpZgotKwotKyNpZm5kZWYgRlRXX1NLSVBfU1VCVFJFRQotKyNkZWZpbmUgRlRXX1NLSVBfU1VCVFJFRSAyCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBGVFdfU0tJUF9TSUJMSU5HUwotKyNkZWZpbmUgRlRXX1NLSVBfU0lCTElOR1MgMwotKyNlbmRpZgotKwotICNpZiAhIEhBVkVfTElOVVhfQlRSRlNfSAotICNkZWZpbmUgQlRSRlNfSU9DX1FHUk9VUF9BU1NJR04gX0lPVyhCVFJGU19JT0NUTF9NQUdJQywgNDEsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJ0cmZzX2lvY3RsX3Fncm91cF9hc3NpZ25fYXJncykKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMDktbnNzLW15bWFjaGluZXMtQnVpbGQtY29uZGl0aW9uYWxseS13aGVuLUVOQUJMRV9NWUhPUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYzNWZhOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LW5zcy1teW1hY2hpbmVzLUJ1aWxkLWNvbmRpdGlvbmFsbHktd2hlbi1FTkFCTEVfTVlIT1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIGY5NjI1YjVmM2ZkNWRhYzNmMzU5MWRiZWViMjRkYzlkNmZkYTc5MGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDI3IEZlYiAyMDE4IDEyOjU2OjIxICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOS85XSBuc3MtbXltYWNoaW5lczogQnVpbGQgY29uZGl0aW9uYWxseSB3aGVuCi0gRU5BQkxFX01ZSE9TVE5BTUUgaXMgc2V0Ci0KLUZpeGVzIGJ1aWxkIGZhaWx1cmVzIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWRpc2FibGUtbXlob3N0bmFtZQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIG1lc29uLmJ1aWxkIHwgMTEgKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVzb24uYnVpbGQgYi9tZXNvbi5idWlsZAotaW5kZXggM2JiMDg3ZmVmLi43M2JkNzBiMGIgMTAwNjQ0Ci0tLS0gYS9tZXNvbi5idWlsZAotKysrIGIvbWVzb24uYnVpbGQKLUBAIC0xMzcxLDEyICsxMzcxLDE1IEBAIHRlc3RfZGxvcGVuID0gZXhlY3V0YWJsZSgKLSAgICAgICAgIGxpbmtfd2l0aCA6IFtsaWJiYXNpY10sCi0gICAgICAgICBkZXBlbmRlbmNpZXMgOiBbbGliZGxdKQotIAotLWZvcmVhY2ggdHVwbGUgOiBbWydteWhvc3RuYW1lJywgJ0VOQUJMRV9NWUhPU1ROQU1FJ10sCi0tICAgICAgICAgICAgICAgICBbJ3N5c3RlbWQnLCAgICAnRU5BQkxFX05TU19TWVNURU1EJ10sCi0tICAgICAgICAgICAgICAgICBbJ215bWFjaGluZXMnLCAnRU5BQkxFX01BQ0hJTkVEJ10sCi0tICAgICAgICAgICAgICAgICBbJ3Jlc29sdmUnLCAgICAnRU5BQkxFX1JFU09MVkUnXV0KLStmb3JlYWNoIHR1cGxlIDogW1snbXlob3N0bmFtZScsICdFTkFCTEVfTVlIT1NUTkFNRScsICAnJ10sCi0rICAgICAgICAgICAgICAgICBbJ3N5c3RlbWQnLCAgICAnRU5BQkxFX05TU19TWVNURU1EJywgJyddLAotKyAgICAgICAgICAgICAgICAgWydteW1hY2hpbmVzJywgJ0VOQUJMRV9NQUNISU5FRCcsICAgICdFTkFCTEVfTVlIT1NUTkFNRSddLAotKyAgICAgICAgICAgICAgICAgWydyZXNvbHZlJywgICAgJ0VOQUJMRV9SRVNPTFZFJywgICAgICcnXV0KLSAKLSAgICAgICAgIGNvbmRpdGlvbiA9IHR1cGxlWzFdID09ICcnIG9yIGNvbmYuZ2V0KHR1cGxlWzFdKSA9PSAxCi0rICAgICAgICBpZiB0dXBsZVsyXSAhPSAnJyBhbmQgY29uZGl0aW9uCi0rICAgICAgICAgICAgICAgIGNvbmRpdGlvbiA9IGNvbmYuZ2V0KHR1cGxlWzJdKSA9PSAxCi0rICAgICAgICBlbmRpZgotICAgICAgICAgaWYgY29uZGl0aW9uCi0gICAgICAgICAgICAgICAgIG1vZHVsZSA9IHR1cGxlWzBdCi0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDA5LXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41N2NiNWYzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDZhMmNhZGQ2YjcwY2I0MGFjNzRmYzBkMGY4NTU3YjkxNGJkMzhhYzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6MjI6NDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwOS8yNF0gc29ja2V0LXV0aWw6IGRvbid0IGZhaWwgaWYgbGliYyBkb2Vzbid0IHN1cHBvcnQgSUROCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogRW1pbCBSZW5uZXIgQmVydGhpbmcgPHN5c3RlbWRAZXNtaWwuZGs+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMgfCAxMCArKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKK2luZGV4IDkxYmY4MDEuLmM0NDVmZWEgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmMKK0BAIC0zMyw2ICszMywxNiBAQAorICNpbmNsdWRlICJ1dGY4LmgiCisgI2luY2x1ZGUgInV0aWwuaCIKKyAKKysvKiBEb24ndCBmYWlsIGlmIHRoZSBzdGFuZGFyZCBsaWJyYXJ5CisrICogZG9lc24ndCBzdXBwb3J0IElETiAqLworKyNpZm5kZWYgTklfSUROCisrI2RlZmluZSBOSV9JRE4gMAorKyNlbmRpZgorKworKyNpZm5kZWYgTklfSUROX1VTRV9TVEQzX0FTQ0lJX1JVTEVTCisrI2RlZmluZSBOSV9JRE5fVVNFX1NURDNfQVNDSUlfUlVMRVMgMAorKyNlbmRpZgorKworICNpZiBFTkFCTEVfSUROCisgIyAgZGVmaW5lIElETl9GTEFHUyBOSV9JRE4KKyAjZWxzZQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJhY2QwMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTAtZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitGcm9tIGYxZjRiNGY5Njg0ZmVkMTg1YmZhOGI5ZWQ0MDljZGYyNDE2NTdlOTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjAzOjQ3ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTAvMjRdIGZpeCBtaXNzaW5nIG9mIF9fcmVnaXN0ZXJfYXRmb3JrIGZvciBub24tZ2xpYmMgYnVpbGRzCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCitpbmRleCA3OGNlNDNiLi5hZWMyZGFmIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK0BAIC0yMiw2ICsyMiw5IEBACisgI2lmIEhBVkVfVkFMR1JJTkRfVkFMR1JJTkRfSAorICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgorICNlbmRpZgorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHB0aHJlYWQuaD4KKysjZW5kaWYKKyAKKyAjaW5jbHVkZSAiYWxsb2MtdXRpbC5oIgorICNpbmNsdWRlICJhcmNoaXRlY3R1cmUuaCIKK0BAIC0xMTYwLDExICsxMTYzLDE1IEBAIHZvaWQgcmVzZXRfY2FjaGVkX3BpZCh2b2lkKSB7CisgICAgICAgICBjYWNoZWRfcGlkID0gQ0FDSEVEX1BJRF9VTlNFVDsKKyB9CisgCisrI2lmZGVmIF9fR0xJQkNfXworIC8qIFdlIHVzZSBnbGliYyBfX3JlZ2lzdGVyX2F0Zm9yaygpICsgX19kc29faGFuZGxlIGRpcmVjdGx5IGhlcmUsIGFzIHRoZXkgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZ2xpYmMKKyAgKiBoZWFkZXJzLiBfX3JlZ2lzdGVyX2F0Zm9yaygpIGlzIG1vc3RseSBlcXVpdmFsZW50IHRvIHB0aHJlYWRfYXRmb3JrKCksIGJ1dCBkb2Vzbid0IHJlcXVpcmUgdXMgdG8gbGluayBhZ2FpbnN0CisgICogbGlicHRocmVhZCwgYXMgaXQgaXMgcGFydCBvZiBnbGliYyBhbnl3YXkuICovCisgZXh0ZXJuIGludCBfX3JlZ2lzdGVyX2F0Zm9yayh2b2lkICgqcHJlcGFyZSkgKHZvaWQpLCB2b2lkICgqcGFyZW50KSAodm9pZCksIHZvaWQgKCpjaGlsZCkgKHZvaWQpLCB2b2lkICpkc29faGFuZGxlKTsKKyBleHRlcm4gdm9pZCogX19kc29faGFuZGxlIF93ZWFrXzsKKysjZWxzZQorKyNkZWZpbmUgX19yZWdpc3Rlcl9hdGZvcmsocHJlcGFyZSxwYXJlbnQsY2hpbGQsZHNvKSBwdGhyZWFkX2F0Zm9yayhwcmVwYXJlLHBhcmVudCxjaGlsZCkKKysjZW5kaWYKKyAKKyBwaWRfdCBnZXRwaWRfY2FjaGVkKHZvaWQpIHsKKyAgICAgICAgIHN0YXRpYyBib29sIGluc3RhbGxlZCA9IGZhbHNlOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMC1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTY1NDc5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEwLXNvY2tldC11dGlsLWRvbi10LWZhaWwtaWYtbGliYy1kb2Vzbi10LXN1cHBvcnQtSUROLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSBhMGJkNTg3MzAwNzQ0ZGJiOGU5Y2ZiYjA0MzIzMzY3MGNlNzgxYzk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEzOjIyOjQxICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvMTldIHNvY2tldC11dGlsOiBkb24ndCBmYWlsIGlmIGxpYmMgZG9lc24ndCBzdXBwb3J0IElETgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEVtaWwgUmVubmVyIEJlcnRoaW5nIDxzeXN0ZW1kQGVzbWlsLmRrPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9zb2NrZXQtdXRpbC5jIHwgMTAgKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYyBiL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCi1pbmRleCBhOTEzMTAyZTEuLjBkMDE1NDgwNSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvc29ja2V0LXV0aWwuYwotQEAgLTMyLDYgKzMyLDE2IEBACi0gI2luY2x1ZGUgInV0ZjguaCIKLSAjaW5jbHVkZSAidXRpbC5oIgotIAotKy8qIERvbid0IGZhaWwgaWYgdGhlIHN0YW5kYXJkIGxpYnJhcnkKLSsgKiBkb2Vzbid0IHN1cHBvcnQgSUROICovCi0rI2lmbmRlZiBOSV9JRE4KLSsjZGVmaW5lIE5JX0lETiAwCi0rI2VuZGlmCi0rCi0rI2lmbmRlZiBOSV9JRE5fVVNFX1NURDNfQVNDSUlfUlVMRVMKLSsjZGVmaW5lIE5JX0lETl9VU0VfU1REM19BU0NJSV9SVUxFUyAwCi0rI2VuZGlmCi0rCi0gI2lmIEVOQUJMRV9JRE4KLSAjICBkZWZpbmUgSUROX0ZMQUdTIE5JX0lETgotICNlbHNlCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2ZWRhOWMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaApAQCAtMCwwICsxLDk3IEBACitGcm9tIGUzZjg0N2JkMDMzOGQyN2FmZjMzMzViNDI2NjFkOGE0YjY2Yjk2NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjEyOjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMTEvMjRdIFVzZSB1aW50bWF4X3QgZm9yIGhhbmRsaW5nIHJsaW1fdAorCitQUkl1ezMyLDY0fSBpcyBub3QgcmlnaHQgZm9ybWF0IHRvIHJlcHJlc2VudCBybGltX3QgdHlwZQordGhlcmVmb3JlIHVzZSAlanUgYW5kIHR5cGVjYXN0IHRoZSBybGltX3QgdmFyaWFibGVzIHRvCit1aW50bWF4X3QuCisKK0ZpeGVzIHBvcnRhYmxpbGl0eSBlcnJvcnMgbGlrZQorCitleGVjdXRlLmM6MzQ0NjozNjogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDUgaGFzIHR5cGUgJ3JsaW1fdCB7YWthIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnR9JyBbLVdlcnJvcj1mb3JtYXQ9XQorfCAgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiJXMlczogIiBSTElNX0ZNVCAiXG4iLAorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgorfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksIGMtPnJsaW1pdFtpXS0+cmxpbV9tYXgpOworfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC83MTk5XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorW1JlYmFzZWQgZm9yIHYyNDFdCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCB8ICA4ICstLS0tLS0tCisgc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMgfCAxMCArKysrKy0tLS0tCisgc3JjL2NvcmUvZXhlY3V0ZS5jICAgICAgfCAgNCArKy0tCisgMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL2Zvcm1hdC11dGlsLmggYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAoraW5kZXggZGVjZTVkMy4uZGJiODdiYyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCisrKysgYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAorQEAgLTQyLDEzICs0Miw3IEBACisgIyAgZGVmaW5lIFBSSV9USU1FWCAibGkiCisgI2VuZGlmCisgCistI2lmIFNJWkVPRl9STElNX1QgPT0gOAorLSMgIGRlZmluZSBSTElNX0ZNVCAiJSIgUFJJdTY0CistI2VsaWYgU0laRU9GX1JMSU1fVCA9PSA0CistIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1MzIKKy0jZWxzZQorLSMgIGVycm9yIFVua25vd24gcmxpbV90IHNpemUKKy0jZW5kaWYKKysjZGVmaW5lIFJMSU1fRk1UICIlanUiCisgCisgI2lmIFNJWkVPRl9ERVZfVCA9PSA4CisgIyAgZGVmaW5lIERFVl9GTVQgIiUiIFBSSXU2NAorZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jIGIvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKK2luZGV4IDc0YjNhMDIuLmIwMmMwM2MgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYworKysrIGIvc3JjL2Jhc2ljL3JsaW1pdC11dGlsLmMKK0BAIC0zMDcsMTMgKzMwNywxMyBAQCBpbnQgcmxpbWl0X2Zvcm1hdChjb25zdCBzdHJ1Y3QgcmxpbWl0ICpybCwgY2hhciAqKnJldCkgeworICAgICAgICAgaWYgKHJsLT5ybGltX2N1ciA+PSBSTElNX0lORklOSVRZICYmIHJsLT5ybGltX21heCA+PSBSTElNX0lORklOSVRZKQorICAgICAgICAgICAgICAgICBzID0gc3RyZHVwKCJpbmZpbml0eSIpOworICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fY3VyID49IFJMSU1fSU5GSU5JVFkpCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgImluZmluaXR5OiIgUkxJTV9GTVQsIHJsLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgImluZmluaXR5OiIgUkxJTV9GTVQsICh1aW50bWF4X3QpcmwtPnJsaW1fbWF4KTsKKyAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX21heCA+PSBSTElNX0lORklOSVRZKQorLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1UICI6aW5maW5pdHkiLCBybC0+cmxpbV9jdXIpOworKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1UICI6aW5maW5pdHkiLCAodWludG1heF90KXJsLT5ybGltX2N1cik7CisgICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9jdXIgPT0gcmwtPnJsaW1fbWF4KQorLSAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1ULCBybC0+cmxpbV9jdXIpOworKyAgICAgICAgICAgICAgICAodm9pZCkgYXNwcmludGYoJnMsIFJMSU1fRk1ULCAodWludG1heF90KXJsLT5ybGltX2N1cik7CisgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjoiIFJMSU1fRk1ULCBybC0+cmxpbV9jdXIsIHJsLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjoiIFJMSU1fRk1ULCAodWludG1heF90KXJsLT5ybGltX2N1ciwgKHVpbnRtYXhfdClybC0+cmxpbV9tYXgpOworIAorICAgICAgICAgaWYgKCFzKQorICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKK0BAIC00MDQsNyArNDA0LDcgQEAgaW50IHJsaW1pdF9ub2ZpbGVfc2FmZSh2b2lkKSB7CisgCisgICAgICAgICBybC5ybGltX2N1ciA9IEZEX1NFVFNJWkU7CisgICAgICAgICBpZiAoc2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZybCkgPCAwKQorLSAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2RlYnVnX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIGxvd2VyIFJMSU1JVF9OT0ZJTEUncyBzb2Z0IGxpbWl0IHRvICIgUkxJTV9GTVQgIjogJW0iLCBybC5ybGltX2N1cik7CisrICAgICAgICAgICAgICAgIHJldHVybiBsb2dfZGVidWdfZXJybm8oZXJybm8sICJGYWlsZWQgdG8gbG93ZXIgUkxJTUlUX05PRklMRSdzIHNvZnQgbGltaXQgdG8gIiBSTElNX0ZNVCAiOiAlbSIsICh1aW50bWF4X3QpcmwucmxpbV9jdXIpOworIAorICAgICAgICAgcmV0dXJuIDE7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V4ZWN1dGUuYyBiL3NyYy9jb3JlL2V4ZWN1dGUuYworaW5kZXggYTcwODIzMS4uZTJiODc0OCAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlL2V4ZWN1dGUuYworKysrIGIvc3JjL2NvcmUvZXhlY3V0ZS5jCitAQCAtNDIyMCw5ICs0MjIwLDkgQEAgdm9pZCBleGVjX2NvbnRleHRfZHVtcChjb25zdCBFeGVjQ29udGV4dCAqYywgRklMRSogZiwgY29uc3QgY2hhciAqcHJlZml4KSB7CisgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkxJTV9OTElNSVRTOyBpKyspCisgICAgICAgICAgICAgICAgIGlmIChjLT5ybGltaXRbaV0pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlc0xpbWl0JXM6ICIgUkxJTV9GTVQgIlxuIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksICh1aW50bWF4X3QpYy0+cmxpbWl0W2ldLT5ybGltX21heCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiJXNMaW1pdCVzU29mdDogIiBSTElNX0ZNVCAiXG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgaWYgKGMtPmlvcHJpb19zZXQpIHsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYTIyZmZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTEtc3JjLWJhc2ljLW1pc3NpbmcuaC1jaGVjay1mb3ItbWlzc2luZy1fX2NvbXBhcl9mbl90LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gMDQ1ZjIwNWZkMjFlNWUzODBlZGY4MTNkZTA0ZmNmYmY1YTQ4NzIxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzoyODoyNSArMDgwMAotU3ViamVjdDogW1BBVENIIDExLzE5XSBzcmMvYmFzaWMvbWlzc2luZy5oOiBjaGVjayBmb3IgbWlzc2luZyBfX2NvbXBhcl9mbl90Ci0gdHlwZWRlZgotCi1pbmNsdWRlIG1pc3NpbmcuaCBmb3IgbWlzc2luZyBfX2NvbXBhcl9mbl90Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCA1ICsrKysrCi0gc3JjL2Jhc2ljL3N0cmJ1Zi5jICB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggNmRjNzUwZWJhLi5jZDFjYzEwOWYgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtMTE3OSw2ICsxMTc5LDExIEBAIHN0cnVjdCBpbnB1dF9tYXNrIHsKLSAjZGVmaW5lIFJFTkFNRV9OT1JFUExBQ0UgKDEgPDwgMCkKLSAjZW5kaWYKLSAKLSsjaWZuZGVmIF9fQ09NUEFSX0ZOX1QKLSsjZGVmaW5lIF9fQ09NUEFSX0ZOX1QKLSt0eXBlZGVmIGludCAoKl9fY29tcGFyX2ZuX3QpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIEtDTVBfRklMRQotICNkZWZpbmUgS0NNUF9GSUxFIDAKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvc3RyYnVmLmMgYi9zcmMvYmFzaWMvc3RyYnVmLmMKLWluZGV4IGUyZWQ3NzZhMC4uNGQzZWJlYzRjIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL3N0cmJ1Zi5jCi0rKysgYi9zcmMvYmFzaWMvc3RyYnVmLmMKLUBAIC03LDYgKzcsNyBAQAotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgInN0cmJ1Zi5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSAvKgotICAqIFN0cmJ1ZiBzdG9yZXMgZ2l2ZW4gc3RyaW5ncyBpbiBhIHNpbmdsZSBjb250aW51b3VzIGFsbG9jYXRlZCBtZW1vcnkKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3NpbmctVUxPTkdfTE9OR19NQVgtZGVmaW5pdGlvbi1pbi1jYXNlLW9mLW11cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYmFhZTRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gYWE2Y2QxOWFlNDI4NzY5YTM4ZmU3ZDk1Zjk4ZGIwYTljMTlhZTkwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6MTQ6NDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxMi8yNF0gZml4IG1pc3NpbmcgVUxPTkdfTE9OR19NQVggZGVmaW5pdGlvbiBpbiBjYXNlIG9mIG11c2wKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmggYi9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKK2luZGV4IDIzNjAyZWIuLjdkN2MxZTQgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvbWlzc2luZ190eXBlLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorQEAgLTM5LDMgKzM5LDcgQEAgdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKik7CisgI2lmbmRlZiBGVFdfU0tJUF9TSUJMSU5HUworICNkZWZpbmUgRlRXX1NLSVBfU0lCTElOR1MgMworICNlbmRpZgorKworKyNpZm5kZWYgVUxPTkdfTE9OR19NQVgKKysjZGVmaW5lIFVMT05HX0xPTkdfTUFYIFVMTE9OR19NQVgKKysjZW5kaWYKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMi1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDFiYzRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTItZml4LW1pc3Npbmctb2YtX19yZWdpc3Rlcl9hdGZvcmstZm9yLW5vbi1nbGliYy1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gMWZhZGY4MDVjYjM5MWUzYmNiZDlhMDI4NmE5ZTRiN2FkYjllNzQyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMiBKdWwgMjAxOCAxMzozNDowOSArMDgwMAotU3ViamVjdDogW1BBVENIIDEyLzE5XSBmaXggbWlzc2luZyBvZiBfX3JlZ2lzdGVyX2F0Zm9yayBmb3Igbm9uLWdsaWJjIGJ1aWxkcwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyB8IDcgKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotaW5kZXggMGE0ZjkxN2NiLi4zNTQzYmMwNDUgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotQEAgLTIyLDYgKzIyLDkgQEAKLSAjaWYgSEFWRV9WQUxHUklORF9WQUxHUklORF9ICi0gI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdyaW5kLmg+Ci0gI2VuZGlmCi0rI2lmbmRlZiBfX0dMSUJDX18KLSsjaW5jbHVkZSA8cHRocmVhZC5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImFyY2hpdGVjdHVyZS5oIgotQEAgLTExNTAsMTEgKzExNTMsMTUgQEAgdm9pZCByZXNldF9jYWNoZWRfcGlkKHZvaWQpIHsKLSAgICAgICAgIGNhY2hlZF9waWQgPSBDQUNIRURfUElEX1VOU0VUOwotIH0KLSAKLSsjaWZkZWYgX19HTElCQ19fCi0gLyogV2UgdXNlIGdsaWJjIF9fcmVnaXN0ZXJfYXRmb3JrKCkgKyBfX2Rzb19oYW5kbGUgZGlyZWN0bHkgaGVyZSwgYXMgdGhleSBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSBnbGliYwotICAqIGhlYWRlcnMuIF9fcmVnaXN0ZXJfYXRmb3JrKCkgaXMgbW9zdGx5IGVxdWl2YWxlbnQgdG8gcHRocmVhZF9hdGZvcmsoKSwgYnV0IGRvZXNuJ3QgcmVxdWlyZSB1cyB0byBsaW5rIGFnYWluc3QKLSAgKiBsaWJwdGhyZWFkLCBhcyBpdCBpcyBwYXJ0IG9mIGdsaWJjIGFueXdheS4gKi8KLSBleHRlcm4gaW50IF9fcmVnaXN0ZXJfYXRmb3JrKHZvaWQgKCpwcmVwYXJlKSAodm9pZCksIHZvaWQgKCpwYXJlbnQpICh2b2lkKSwgdm9pZCAoKmNoaWxkKSAodm9pZCksIHZvaWQgKiBfX2Rzb19oYW5kbGUpOwotIGV4dGVybiB2b2lkKiBfX2Rzb19oYW5kbGUgX19hdHRyaWJ1dGVfXyAoKF9fd2Vha19fKSk7Ci0rI2Vsc2UKLSsjZGVmaW5lIF9fcmVnaXN0ZXJfYXRmb3JrKHByZXBhcmUscGFyZW50LGNoaWxkLGRzbykgcHRocmVhZF9hdGZvcmsocHJlcGFyZSxwYXJlbnQsY2hpbGQpCi0rI2VuZGlmCi0gCi0gcGlkX3QgZ2V0cGlkX2NhY2hlZCh2b2lkKSB7Ci0gICAgICAgICBzdGF0aWMgYm9vbCBpbnN0YWxsZWQgPSBmYWxzZTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTMtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5YjNjMTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy1Vc2UtdWludG1heF90LWZvci1oYW5kbGluZy1ybGltX3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MCArMCwwIEBACi1Gcm9tIGEwYWMwY2ZkOTBhZjY0MzFjNjRkMWIyNzZmNDIyYTIwOTJkNTY5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6NDQ6MjEgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMy8xOV0gVXNlIHVpbnRtYXhfdCBmb3IgaGFuZGxpbmcgcmxpbV90Ci0KLVBSSXV7MzIsNjR9IGlzIG5vdCByaWdodCBmb3JtYXQgdG8gcmVwcmVzZW50IHJsaW1fdCB0eXBlCi10aGVyZWZvcmUgdXNlICVqdSBhbmQgdHlwZWNhc3QgdGhlIHJsaW1fdCB2YXJpYWJsZXMgdG8KLXVpbnRtYXhfdC4KLQotRml4ZXMgcG9ydGFibGlsaXR5IGVycm9ycyBsaWtlCi0KLWV4ZWN1dGUuYzozNDQ2OjM2OiBlcnJvcjogZm9ybWF0ICclbHUnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgNSBoYXMgdHlwZSAncmxpbV90IHtha2EgbG9uZyBsb25nIHVuc2lnbmVkIGludH0nIFstV2Vycm9yPWZvcm1hdD1dCi18ICAgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICIlcyVzOiAiIFJMSU1fRk1UICJcbiIsCi18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7Ci18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotCi1VcHN0cmVhbS1TdGF0dXM6IERlbmllZCBbaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9wdWxsLzcxOTldCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCB8IDggLS0tLS0tLS0KLSBzcmMvYmFzaWMvcmxpbWl0LXV0aWwuYyB8IDggKysrKy0tLS0KLSBzcmMvY29yZS9leGVjdXRlLmMgICAgICB8IDggKysrKy0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaCBiL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCi1pbmRleCAxNjA1NTBjZDYuLjYxMjQ1ZDFlMyAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9mb3JtYXQtdXRpbC5oCi0rKysgYi9zcmMvYmFzaWMvZm9ybWF0LXV0aWwuaAotQEAgLTQzLDE0ICs0Myw2IEBACi0gIyAgZGVmaW5lIFBSSV9USU1FWCAibGkiCi0gI2VuZGlmCi0gCi0tI2lmIFNJWkVPRl9STElNX1QgPT0gOAotLSMgIGRlZmluZSBSTElNX0ZNVCAiJSIgUFJJdTY0Ci0tI2VsaWYgU0laRU9GX1JMSU1fVCA9PSA0Ci0tIyAgZGVmaW5lIFJMSU1fRk1UICIlIiBQUkl1MzIKLS0jZWxzZQotLSMgIGVycm9yIFVua25vd24gcmxpbV90IHNpemUKLS0jZW5kaWYKLS0KLSAjaWYgU0laRU9GX0RFVl9UID09IDgKLSAjICBkZWZpbmUgREVWX0ZNVCAiJSIgUFJJdTY0Ci0gI2VsaWYgU0laRU9GX0RFVl9UID09IDQKLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYyBiL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCi1pbmRleCBiZTFiYTYxNWUuLmUzMjhjZTQ5OSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9ybGltaXQtdXRpbC5jCi0rKysgYi9zcmMvYmFzaWMvcmxpbWl0LXV0aWwuYwotQEAgLTI5OSwxMyArMjk5LDEzIEBAIGludCBybGltaXRfZm9ybWF0KGNvbnN0IHN0cnVjdCBybGltaXQgKnJsLCBjaGFyICoqcmV0KSB7Ci0gICAgICAgICBpZiAocmwtPnJsaW1fY3VyID49IFJMSU1fSU5GSU5JVFkgJiYgcmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCi0gICAgICAgICAgICAgICAgIHMgPSBzdHJkdXAoImluZmluaXR5Iik7Ci0gICAgICAgICBlbHNlIGlmIChybC0+cmxpbV9jdXIgPj0gUkxJTV9JTkZJTklUWSkKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6IiBSTElNX0ZNVCwgcmwtPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiaW5maW5pdHk6JWp1IiwgKHVpbnRtYXhfdClybC0+cmxpbV9tYXgpOwotICAgICAgICAgZWxzZSBpZiAocmwtPnJsaW1fbWF4ID49IFJMSU1fSU5GSU5JVFkpCi0tICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQgIjppbmZpbml0eSIsIHJsLT5ybGltX2N1cik7Ci0rICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgIiVqdTppbmZpbml0eSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKLSAgICAgICAgIGVsc2UgaWYgKHJsLT5ybGltX2N1ciA9PSBybC0+cmxpbV9tYXgpCi0tICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgUkxJTV9GTVQsIHJsLT5ybGltX2N1cik7Ci0rICAgICAgICAgICAgICAgICh2b2lkKSBhc3ByaW50ZigmcywgIiVqdSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyKTsKLSAgICAgICAgIGVsc2UKLS0gICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCBSTElNX0ZNVCAiOiIgUkxJTV9GTVQsIHJsLT5ybGltX2N1ciwgcmwtPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgKHZvaWQpIGFzcHJpbnRmKCZzLCAiJWp1OiVqdSIsICh1aW50bWF4X3QpcmwtPnJsaW1fY3VyLCAodWludG1heF90KXJsLT5ybGltX21heCk7Ci0gCi0gICAgICAgICBpZiAoIXMpCi0gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotZGlmZiAtLWdpdCBhL3NyYy9jb3JlL2V4ZWN1dGUuYyBiL3NyYy9jb3JlL2V4ZWN1dGUuYwotaW5kZXggOGFjNjlkMWEwLi5lZmVkZjM4NDIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZS9leGVjdXRlLmMKLSsrKyBiL3NyYy9jb3JlL2V4ZWN1dGUuYwotQEAgLTM5NzYsMTAgKzM5NzYsMTAgQEAgdm9pZCBleGVjX2NvbnRleHRfZHVtcChjb25zdCBFeGVjQ29udGV4dCAqYywgRklMRSogZiwgY29uc3QgY2hhciAqcHJlZml4KSB7Ci0gCi0gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUkxJTV9OTElNSVRTOyBpKyspCi0gICAgICAgICAgICAgICAgIGlmIChjLT5ybGltaXRbaV0pIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXM6ICIgUkxJTV9GTVQgIlxuIiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgYy0+cmxpbWl0W2ldLT5ybGltX21heCk7Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZnByaW50ZihmLCAiTGltaXQlcyVzU29mdDogIiBSTElNX0ZNVCAiXG4iLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBybGltaXRfdG9fc3RyaW5nKGkpLCBjLT5ybGltaXRbaV0tPnJsaW1fY3VyKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXM6ICVqdVxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeCwgcmxpbWl0X3RvX3N0cmluZyhpKSwgKHVpbnRtYXhfdCljLT5ybGltaXRbaV0tPnJsaW1fbWF4KTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBmcHJpbnRmKGYsICJMaW1pdCVzJXNTb2Z0OiAlanVcbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHJsaW1pdF90b19zdHJpbmcoaSksICh1aW50bWF4X3QpYy0+cmxpbWl0W2ldLT5ybGltX2N1cik7Ci0gICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgIGlmIChjLT5pb3ByaW9fc2V0KSB7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzRjMTdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxMy10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaApAQCAtMCwwICsxLDI4IEBACitGcm9tIGU1YTQ4Zjg0ZGI1OGZmYjkxMjgzODNlYWVmYzEyM2I1ODI5NTIzZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyMyBPY3QgMjAxNyAxMjozMzoyMiAtMDcwMAorU3ViamVjdDogW1BBVENIIDEzLzI0XSB0ZXN0LWhleGRlY29jdC5jOiBJbmNsdWRlIG1pc3NpbmcuaCBmb3Igc3RybmR1cGEKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYyBiL3NyYy90ZXN0L3Rlc3QtaGV4ZGVjb2N0LmMKK2luZGV4IDUyMjE3NDIuLmEwNWU3NzggMTAwNjQ0CistLS0gYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCitAQCAtNiw2ICs2LDcgQEAKKyAjaW5jbHVkZSAiaGV4ZGVjb2N0LmgiCisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCisrI2luY2x1ZGUgIm1pc3NpbmcuaCIKKyAKKyBzdGF0aWMgdm9pZCB0ZXN0X2hleGNoYXIodm9pZCkgeworICAgICAgICAgYXNzZXJ0X3NlKGhleGNoYXIoMHhhKSA9PSAnYScpOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1OGE2MzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNC1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSBjYjU5YjNhZjU0ZmIzYmJkNGQ4MjY0ZmVmOTE5ODEwYWY4ZDA4ZDE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAyNyBGZWIgMjAxOCAxNDowMTozMCArMDgwMAotU3ViamVjdDogW1BBVENIIDE0LzE5XSBmaXggbWlzc2luZyBVTE9OR19MT05HX01BWCBkZWZpbml0aW9uIGluIGNhc2Ugb2YgbXVzbAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2xdCi0KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9taXNzaW5nLmggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZy5oIGIvc3JjL2Jhc2ljL21pc3NpbmcuaAotaW5kZXggY2QxY2MxMDlmLi4xNDQwNThhMWEgMTAwNjQ0Ci0tLS0gYS9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgYi9zcmMvYmFzaWMvbWlzc2luZy5oCi1AQCAtNTQsNiArNTQsMTAgQEAgc3RydWN0IHNvY2thZGRyX3ZtIHsKLSB9OwotICNlbmRpZiAvKiAhSEFWRV9MSU5VWF9WTV9TT0NLRVRTX0ggKi8KLSAKLSsjaWZuZGVmIFVMT05HX0xPTkdfTUFYCi0rI2RlZmluZSBVTE9OR19MT05HX01BWCBVTExPTkdfTUFYCi0rI2VuZGlmCi0rCi0gI2lmbmRlZiBSTElNSVRfUlRUSU1FCi0gI2RlZmluZSBSTElNSVRfUlRUSU1FIDE1Ci0gI2VuZGlmCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE0NTg5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTQtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIGQzZDY1ZDQwMzY2NzBjYmQ1MTI5ZmU1NWMwOWNhMzkxMjg2ZWY0YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjI1OjIyIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMTQvMjRdIHRlc3Qtc2l6ZW9mLmM6IERpc2FibGUgdGVzdHMgZm9yIG1pc3NpbmcgdHlwZWRlZnMgaW4KKyBtdXNsCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jIGIvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYworaW5kZXggMzViMDg3Ni4uZTc4ZTdjYSAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKKysrKyBiL3NyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMKK0BAIC00MSw4ICs0MSwxMCBAQCBpbnQgbWFpbih2b2lkKSB7CisgICAgICAgICBpbmZvKHVuc2lnbmVkKTsKKyAgICAgICAgIGluZm8obG9uZyB1bnNpZ25lZCk7CisgICAgICAgICBpbmZvKGxvbmcgbG9uZyB1bnNpZ25lZCk7CisrI2lmZGVmIF9fR0xJQkNfXworICAgICAgICAgaW5mbyhfX3N5c2NhbGxfdWxvbmdfdCk7CisgICAgICAgICBpbmZvKF9fc3lzY2FsbF9zbG9uZ190KTsKKysjZW5kaWYKKyAKKyAgICAgICAgIGluZm8oZmxvYXQpOworICAgICAgICAgaW5mbyhkb3VibGUpOworQEAgLTYwLDcgKzYyLDkgQEAgaW50IG1haW4odm9pZCkgeworICAgICAgICAgaW5mbyhzc2l6ZV90KTsKKyAgICAgICAgIGluZm8odGltZV90KTsKKyAgICAgICAgIGluZm8odXNlY190KTsKKysjaWZkZWYgX19HTElCQ19fCisgICAgICAgICBpbmZvKF9fdGltZV90KTsKKysjZW5kaWYKKyAgICAgICAgIGluZm8ocGlkX3QpOworICAgICAgICAgaW5mbyh1aWRfdCk7CisgICAgICAgICBpbmZvKGdpZF90KTsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE1LWRvbi10LXBhc3MtQVRfU1lNTElOS19OT0ZPTExPVy1mbGFnLXRvLWZhY2Nlc3NhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDQwN2Y2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKQEAgLTAsMCArMSw5OSBAQAorRnJvbSA0OGM2MjhmNTMyZjYwMjVjMmQxNjQ2YjY4MTljZDgxZWI3ODlkN2ZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTAgT2N0IDIwMTcgMTQ6MzM6MzAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxNS8yNF0gZG9uJ3QgcGFzcyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcgdG8gZmFjY2Vzc2F0KCkKKworQXZvaWQgdXNpbmcgQVRfU1lNTElOS19OT0ZPTExPVyBmbGFnLiBJdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGUgcmlnaHQKK3RoaW5nIHRvIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgorCisgIGh0dHA6Ly9saXN0cy5sYW5kbGV5Lm5ldC9waXBlcm1haWwvdG95Ym94LWxhbmRsZXkubmV0LzIwMTQtU2VwdGVtYmVyLzAwMzYxMC5odG1sCisgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCisKK05vdGUgdGhhdCBsYWNjZXNzKCkgaXMgbmV2ZXIgcGFzc2luZyBBVF9FQUNDRVNTIHNvIGEgbG90IG9mIHRoZQorZGlzY3Vzc2lvbiBpbiB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQKKyhjdXJyZW50bHkpIGFsbCBzeXN0ZW1kIGNhbGxlcnMgb2YgbGFjY2VzcygpIHBhc3MgbW9kZSBhcyBGX09LLCBzbworb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90IGFjY2VzcyBwZXJtaXNzaW9ucy4KK1RoZXJlZm9yZSwgaW4gdGhpcyBjYXNlLCB0aGUgb25seSBkaXN0aWN0aW9uIGJldHdlZW4gZmFjY2Vzc2F0KCkKK3dpdGggKGZsYWcgPT0gMCkgYW5kIChmbGFnID09IEFUX1NZTUxJTktfTk9GT0xMT1cpIGlzIHRoZSBiZWhhdmlvdXIKK2ZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZCB3aXRoCisoZmxhZyA9PSBBVF9TWU1MSU5LX05PRk9MTE9XKSBhbmQgZmFpbCAoZmxhZyA9PSAwKS4KKworVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QKK2NsZWFyIGlmIG9yIHdoeSBpdCBuZWVkcyB0byByZXR1cm4gc3VjY2VzcyBmb3IgYnJva2VuIHN5bWxpbmtzLiBNYXliZQoranVzdCBoaXN0b3JpY2FsIGFuZCBub3QgYWN0dWFsbHkgbmVjZXNzYXJ5IG9yIGRlc2lyZWQgYmVoYXZpb3VyPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CistLS0KKyBzcmMvYmFzaWMvZnMtdXRpbC5oICAgICAgICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysrLQorIHNyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMgfCAgNiArKystLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvZnMtdXRpbC5oIGIvc3JjL2Jhc2ljL2ZzLXV0aWwuaAoraW5kZXggN2FkMDMwYi4uZDRjYjFlOSAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9mcy11dGlsLmgKKysrKyBiL3NyYy9iYXNpYy9mcy11dGlsLmgKK0BAIC0zMiw3ICszMiwyNyBAQCBpbnQgZmNobW9kX29wYXRoKGludCBmZCwgbW9kZV90IG0pOworIAorIGludCBmZF93YXJuX3Blcm1pc3Npb25zKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmZCk7CisgCistI2RlZmluZSBsYWNjZXNzKHBhdGgsIG1vZGUpIGZhY2Nlc3NhdChBVF9GRENXRCwgKHBhdGgpLCAobW9kZSksIEFUX1NZTUxJTktfTk9GT0xMT1cpCisrLyoKKysgICBBdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodCB0aGluZyB0bworKyAgIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgorKworKyAgICAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKKysgICAgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCisrCisrICAgTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlIGRpc2N1c3Npb24gaW4KKysgICB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQgKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycworKyAgIG9mIGxhY2Nlc3MoKSBwYXNzIG1vZGUgYXMgRl9PSywgc28gb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90CisrICAgYWNjZXNzIHBlcm1pc3Npb25zLiBUaGVyZWZvcmUsIGluIHRoaXMgY2FzZSwgdGhlIG9ubHkgZGlzdGljdGlvbiBiZXR3ZWVuCisrICAgZmFjY2Vzc2F0KCkgd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlCisrICAgYmVoYXZpb3VyIGZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZAorKyAgIHdpdGggKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgYW5kIGZhaWwgKGZsYWcgPT0gMCkuCisrCisrICAgVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QgY2xlYXIgaWYKKysgICBvciB3aHkgaXQgbmVlZHMgdG8gcmV0dXJuIHN1Y2Nlc3MgZm9yIGJyb2tlbiBzeW1saW5rcy4gTWF5YmUganVzdCBoaXN0b3JpY2FsCisrICAgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/CisrKi8KKysKKysjZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgMCkKKyAKKyBpbnQgdG91Y2hfZmlsZShjb25zdCBjaGFyICpwYXRoLCBib29sIHBhcmVudHMsIHVzZWNfdCBzdGFtcCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIG1vZGVfdCBtb2RlKTsKKyBpbnQgdG91Y2goY29uc3QgY2hhciAqcGF0aCk7CitkaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyBiL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKK2luZGV4IDg5ZDdhN2QuLjM0YjRhZDUgMTAwNjQ0CistLS0gYS9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCisrKysgYi9zcmMvc2hhcmVkL2Jhc2UtZmlsZXN5c3RlbS5jCitAQCAtNTMsNyArNTMsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgeworICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX2Vycm9yX2Vycm5vKGVycm5vLCAiRmFpbGVkIHRvIG9wZW4gcm9vdCBmaWxlIHN5c3RlbTogJW0iKTsKKyAKKyAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBFTEVNRU5UU09GKHRhYmxlKTsgaSArKykgeworLSAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCB0YWJsZVtpXS5kaXIsIEZfT0ssIEFUX1NZTUxJTktfTk9GT0xMT1cpID49IDApCisrICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHRhYmxlW2ldLmRpciwgRl9PSywgMCkgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAKKyAgICAgICAgICAgICAgICAgaWYgKHRhYmxlW2ldLnRhcmdldCkgeworQEAgLTYxLDcgKzYxLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKKyAKKyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjaGVjayBpZiBvbmUgb2YgdGhlIHRhcmdldHMgZXhpc3RzICovCisgICAgICAgICAgICAgICAgICAgICAgICAgTlVMU1RSX0ZPUkVBQ0gocywgdGFibGVbaV0udGFyZ2V0KSB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBzLCBGX09LLCAwKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgaWYgYSBzcGVjaWZpYyBmaWxlIGV4aXN0cyBhdCB0aGUgdGFyZ2V0IHBhdGggKi8KK0BAIC03Miw3ICs3Miw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOworIAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBwLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA8IDApCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQoZmQsIHAsIEZfT0ssIDApIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTUtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3Y2E5Y2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNS10ZXN0LWhleGRlY29jdC5jLUluY2x1ZGUtbWlzc2luZy5oLWZvci1zdHJuZHVwYS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gYjExMTA5ZWNjNDExMTBjNTE4YTk4YjZhYzM5NjExZmY4NjQ3NzAyMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIzIE9jdCAyMDE3IDEyOjMzOjIyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvMTldIHRlc3QtaGV4ZGVjb2N0LmM6IEluY2x1ZGUgbWlzc2luZy5oIGZvciBzdHJuZHVwYQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jIGIvc3JjL3Rlc3QvdGVzdC1oZXhkZWNvY3QuYwotaW5kZXggZGE5ZjMwMDhiLi43ZmYyZGZlMGMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCi0rKysgYi9zcmMvdGVzdC90ZXN0LWhleGRlY29jdC5jCi1AQCAtNiw2ICs2LDcgQEAKLSAjaW5jbHVkZSAiaGV4ZGVjb2N0LmgiCi0gI2luY2x1ZGUgIm1hY3JvLmgiCi0gI2luY2x1ZGUgInN0cmluZy11dGlsLmgiCi0rI2luY2x1ZGUgIm1pc3NpbmcuaCIKLSAKLSBzdGF0aWMgdm9pZCB0ZXN0X2hleGNoYXIodm9pZCkgewotICAgICAgICAgYXNzZXJ0X3NlKGhleGNoYXIoMHhhKSA9PSAnYScpOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNi1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NTY1NjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSBhZjc2Yzk3M2U0MTkyOTM2MGE2ZTAyMWYyZmY5YTdmYzFkNzk5NGU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFN1biwgMjcgTWF5IDIwMTggMDg6MzY6NDQgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxNi8yNF0gRGVmaW5lIGdsaWJjIGNvbXBhdGlibGUgYmFzZW5hbWUoKSBmb3Igbm9uLWdsaWJjCisgc3lzdGVtcworCitGaXhlcyBidWlsZHMgd2l0aCBtdXNsLCBldmVuIHRob3VnaCBzeXN0ZW1kIGlzIGFkYW1hbnQgYWJvdXQKK3VzaW5nIG5vbi1wb3NpeCBiYXNlbmFtZSBpbXBsZW1lbnRhdGlvbiwgd2UgaGF2ZSBhIHdheSBvdXQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMgfCA0ICsrKysKKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCitpbmRleCA3YTU1OGRmLi5lY2E3ZDRiIDEwMDY0NAorLS0tIGEvc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMKKysrKyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCitAQCAtMTEsNiArMTEsMTAgQEAKKyAjaW5jbHVkZSA8bGliZ2VuLmg+CisgI3VuZGVmIGJhc2VuYW1lCisgCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjZGVmaW5lIGJhc2VuYW1lKHNyYykgKHN0cnJjaHIoc3JjLCcvJykgPyBzdHJyY2hyKHNyYywnLycpKzEgOiBzcmMpCisrI2VuZGlmCisrCisgI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKKyAjaW5jbHVkZSAiYnVzLWNvbW1vbi1lcnJvcnMuaCIKKyAjaW5jbHVkZSAiYnVzLWludGVybmFsLmgiCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA2YTM3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE2LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGM0YmJmM2VmZWZmZmUwYTRlZmFkYmY0ZTNmMGFkYjU0ZDc2ZmUwZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI4IEZlYiAyMDE4IDIxOjI1OjIyIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTYvMTldIHRlc3Qtc2l6ZW9mLmM6IERpc2FibGUgdGVzdHMgZm9yIG1pc3NpbmcgdHlwZWRlZnMgaW4KLSBtdXNsCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy90ZXN0L3Rlc3Qtc2l6ZW9mLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jIGIvc3JjL3Rlc3QvdGVzdC1zaXplb2YuYwotaW5kZXggN2ExZTQ5NmVkLi4zODZiMzE0ZDUgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCi0rKysgYi9zcmMvdGVzdC90ZXN0LXNpemVvZi5jCi1AQCAtNDAsOCArNDAsMTAgQEAgaW50IG1haW4odm9pZCkgewotICAgICAgICAgaW5mbyh1bnNpZ25lZCk7Ci0gICAgICAgICBpbmZvKGxvbmcgdW5zaWduZWQpOwotICAgICAgICAgaW5mbyhsb25nIGxvbmcgdW5zaWduZWQpOwotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgICAgIGluZm8oX19zeXNjYWxsX3Vsb25nX3QpOwotICAgICAgICAgaW5mbyhfX3N5c2NhbGxfc2xvbmdfdCk7Ci0rI2VuZGlmCi0gCi0gICAgICAgICBpbmZvKGZsb2F0KTsKLSAgICAgICAgIGluZm8oZG91YmxlKTsKLUBAIC01OSw3ICs2MSw5IEBAIGludCBtYWluKHZvaWQpIHsKLSAgICAgICAgIGluZm8oc3NpemVfdCk7Ci0gICAgICAgICBpbmZvKHRpbWVfdCk7Ci0gICAgICAgICBpbmZvKHVzZWNfdCk7Ci0rI2lmZGVmIF9fR0xJQkNfXwotICAgICAgICAgaW5mbyhfX3RpbWVfdCk7Ci0rI2VuZGlmCi0gICAgICAgICBpbmZvKHBpZF90KTsKLSAgICAgICAgIGluZm8odWlkX3QpOwotICAgICAgICAgaW5mbyhnaWRfdCk7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE3LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVlNmRlZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIGM3YTRlZmI4YmNjYjUyZTE3MTRjMTUxOTI5YzIzZTEyYmRlNTliODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDQgSnVsIDIwMTggMTU6MDA6NDQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNy8yNF0gRG8gbm90IGRpc2FibGUgYnVmZmVyaW5nIHdoZW4gd3JpdGluZyB0byBvb21fc2NvcmVfYWRqCisKK09uIG11c2wsIGRpc2FibGluZyBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGogd2lsbAorY2F1c2UgdGhlIGZvbGxvd2luZyBlcnJvci4KKworICBGYWlsZWQgdG8gYWRqdXN0IE9PTSBzZXR0aW5nOiBJbnZhbGlkIGFyZ3VtZW50CisKK1RoaXMgZXJyb3IgYXBwZWFycyBmb3Igc3lzdGVtZC11ZGV2ZC5zZXJ2aWNlIGFuZCBkYnVzLnNlcnZpY2UuCitUaGlzIGlzIGJlY2F1c2Uga2VybmVsIHJlY2VpdmVzICctJyBpbnN0ZWFkIG9mIHRoZSB3aG9sZSAnLTkwMCcKK2lmIGJ1ZmZlcmluZyBpcyBkaXNhYmxlZC4KKworVGhpcyBpcyBsaWJjIGltcGxlbWVudGF0aW9uIHNwZWNpZmljLCBhcyBnbGliYyBkb2VzIG5vdCBoYXZlIHRoaXMgaXNzdWUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCitpbmRleCBhZWMyZGFmLi43YjRhYWJmIDEwMDY0NAorLS0tIGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCisrKysgYi9zcmMvYmFzaWMvcHJvY2Vzcy11dGlsLmMKK0BAIC0xNTM4LDcgKzE1MzgsNyBAQCBpbnQgc2V0X29vbV9zY29yZV9hZGp1c3QoaW50IHZhbHVlKSB7CisgICAgICAgICBzcHJpbnRmKHQsICIlaSIsIHZhbHVlKTsKKyAKKyAgICAgICAgIHJldHVybiB3cml0ZV9zdHJpbmdfZmlsZSgiL3Byb2Mvc2VsZi9vb21fc2NvcmVfYWRqIiwgdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURV9TVFJJTkdfRklMRV9WRVJJRllfT05fRkFJTFVSRXxXUklURV9TVFJJTkdfRklMRV9ESVNBQkxFX0JVRkZFUik7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkUpOworIH0KKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgaW9wcmlvX2NsYXNzX3RhYmxlW10gPSB7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTctZG9uLXQtcGFzcy1BVF9TWU1MSU5LX05PRk9MTE9XLWZsYWctdG8tZmFjY2Vzc2F0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNDdjNmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1Gcm9tIDkxYmI0ZjVjOWMxMTQ2NDQ2OGU4ZDNmYTQ3NDZkOThkNTk5OTcyNjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMCBPY3QgMjAxNyAxNDozMzozMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDE3LzE5XSBkb24ndCBwYXNzIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZyB0byBmYWNjZXNzYXQoKQotCi1Bdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodAotdGhpbmcgdG8gZG8gYW5kIGl0J3Mgbm90IHBvcnRhYmxlIChub3Qgc3VwcG9ydGVkIGJ5IG11c2wpLiBTZWU6Ci0KLSAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKLSAgaHR0cDovL3d3dy5vcGVud2FsbC5jb20vbGlzdHMvbXVzbC8yMDE1LzAyLzA1LzIKLQotTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlCi1kaXNjdXNzaW9uIGluIHRoZSBsaW5rcyBhYm92ZSBkb2Vzbid0IGFwcGx5LiBOb3RlIGFsc28gdGhhdAotKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycyBvZiBsYWNjZXNzKCkgcGFzcyBtb2RlIGFzIEZfT0ssIHNvCi1vbmx5IGNoZWNrIGZvciBleGlzdGVuY2Ugb2YgYSBmaWxlLCBub3QgYWNjZXNzIHBlcm1pc3Npb25zLgotVGhlcmVmb3JlLCBpbiB0aGlzIGNhc2UsIHRoZSBvbmx5IGRpc3RpY3Rpb24gYmV0d2VlbiBmYWNjZXNzYXQoKQotd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlIGJlaGF2aW91cgotZm9yIGJyb2tlbiBzeW1saW5rczsgbGFjY2VzcygpIG9uIGEgYnJva2VuIHN5bWxpbmsgd2lsbCBzdWNjZWVkIHdpdGgKLShmbGFnID09IEFUX1NZTUxJTktfTk9GT0xMT1cpIGFuZCBmYWlsIChmbGFnID09IDApLgotCi1UaGUgbGFjY2VzcygpIG1hY3JvcyB3YXMgYWRkZWQgdG8gc3lzdGVtZCBzb21lIHRpbWUgYWdvIGFuZCBpdCdzIG5vdAotY2xlYXIgaWYgb3Igd2h5IGl0IG5lZWRzIHRvIHJldHVybiBzdWNjZXNzIGZvciBicm9rZW4gc3ltbGlua3MuIE1heWJlCi1qdXN0IGhpc3RvcmljYWwgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9mcy11dGlsLmggICAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKystCi0gc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyB8ICA2ICsrKy0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9mcy11dGlsLmggYi9zcmMvYmFzaWMvZnMtdXRpbC5oCi1pbmRleCAyODU2Njc3M2MuLjE0Yjg2NGNjNSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9mcy11dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy9mcy11dGlsLmgKLUBAIC0zMiw3ICszMiwyNyBAQCBpbnQgZmNobW9kX29wYXRoKGludCBmZCwgbW9kZV90IG0pOwotIAotIGludCBmZF93YXJuX3Blcm1pc3Npb25zKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmZCk7Ci0gCi0tI2RlZmluZSBsYWNjZXNzKHBhdGgsIG1vZGUpIGZhY2Nlc3NhdChBVF9GRENXRCwgKHBhdGgpLCAobW9kZSksIEFUX1NZTUxJTktfTk9GT0xMT1cpCi0rLyoKLSsgICBBdm9pZCB1c2luZyBBVF9TWU1MSU5LX05PRk9MTE9XIGZsYWcuIEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoZSByaWdodCB0aGluZyB0bwotKyAgIGRvIGFuZCBpdCdzIG5vdCBwb3J0YWJsZSAobm90IHN1cHBvcnRlZCBieSBtdXNsKS4gU2VlOgotKwotKyAgICAgaHR0cDovL2xpc3RzLmxhbmRsZXkubmV0L3BpcGVybWFpbC90b3lib3gtbGFuZGxleS5uZXQvMjAxNC1TZXB0ZW1iZXIvMDAzNjEwLmh0bWwKLSsgICAgIGh0dHA6Ly93d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxNS8wMi8wNS8yCi0rCi0rICAgTm90ZSB0aGF0IGxhY2Nlc3MoKSBpcyBuZXZlciBwYXNzaW5nIEFUX0VBQ0NFU1Mgc28gYSBsb3Qgb2YgdGhlIGRpc2N1c3Npb24gaW4KLSsgICB0aGUgbGlua3MgYWJvdmUgZG9lc24ndCBhcHBseS4gTm90ZSBhbHNvIHRoYXQgKGN1cnJlbnRseSkgYWxsIHN5c3RlbWQgY2FsbGVycwotKyAgIG9mIGxhY2Nlc3MoKSBwYXNzIG1vZGUgYXMgRl9PSywgc28gb25seSBjaGVjayBmb3IgZXhpc3RlbmNlIG9mIGEgZmlsZSwgbm90Ci0rICAgYWNjZXNzIHBlcm1pc3Npb25zLiBUaGVyZWZvcmUsIGluIHRoaXMgY2FzZSwgdGhlIG9ubHkgZGlzdGljdGlvbiBiZXR3ZWVuCi0rICAgZmFjY2Vzc2F0KCkgd2l0aCAoZmxhZyA9PSAwKSBhbmQgKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgaXMgdGhlCi0rICAgYmVoYXZpb3VyIGZvciBicm9rZW4gc3ltbGlua3M7IGxhY2Nlc3MoKSBvbiBhIGJyb2tlbiBzeW1saW5rIHdpbGwgc3VjY2VlZAotKyAgIHdpdGggKGZsYWcgPT0gQVRfU1lNTElOS19OT0ZPTExPVykgYW5kIGZhaWwgKGZsYWcgPT0gMCkuCi0rCi0rICAgVGhlIGxhY2Nlc3MoKSBtYWNyb3Mgd2FzIGFkZGVkIHRvIHN5c3RlbWQgc29tZSB0aW1lIGFnbyBhbmQgaXQncyBub3QgY2xlYXIgaWYKLSsgICBvciB3aHkgaXQgbmVlZHMgdG8gcmV0dXJuIHN1Y2Nlc3MgZm9yIGJyb2tlbiBzeW1saW5rcy4gTWF5YmUganVzdCBoaXN0b3JpY2FsCi0rICAgYW5kIG5vdCBhY3R1YWxseSBuZWNlc3Nhcnkgb3IgZGVzaXJlZCBiZWhhdmlvdXI/Ci0rKi8KLSsKLSsjZGVmaW5lIGxhY2Nlc3MocGF0aCwgbW9kZSkgZmFjY2Vzc2F0KEFUX0ZEQ1dELCAocGF0aCksIChtb2RlKSwgMCkKLSAKLSBpbnQgdG91Y2hfZmlsZShjb25zdCBjaGFyICpwYXRoLCBib29sIHBhcmVudHMsIHVzZWNfdCBzdGFtcCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQsIG1vZGVfdCBtb2RlKTsKLSBpbnQgdG91Y2goY29uc3QgY2hhciAqcGF0aCk7Ci1kaWZmIC0tZ2l0IGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYyBiL3NyYy9zaGFyZWQvYmFzZS1maWxlc3lzdGVtLmMKLWluZGV4IDg5ZDdhN2Q1OS4uMzRiNGFkNTNhIDEwMDY0NAotLS0tIGEvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYwotKysrIGIvc3JjL3NoYXJlZC9iYXNlLWZpbGVzeXN0ZW0uYwotQEAgLTUzLDcgKzUzLDcgQEAgaW50IGJhc2VfZmlsZXN5c3RlbV9jcmVhdGUoY29uc3QgY2hhciAqcm9vdCwgdWlkX3QgdWlkLCBnaWRfdCBnaWQpIHsKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19lcnJvcl9lcnJubyhlcnJubywgIkZhaWxlZCB0byBvcGVuIHJvb3QgZmlsZSBzeXN0ZW06ICVtIik7Ci0gCi0gICAgICAgICBmb3IgKGkgPSAwOyBpIDwgRUxFTUVOVFNPRih0YWJsZSk7IGkgKyspIHsKLS0gICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgdGFibGVbaV0uZGlyLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSA+PSAwKQotKyAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCB0YWJsZVtpXS5kaXIsIEZfT0ssIDApID49IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gCi0gICAgICAgICAgICAgICAgIGlmICh0YWJsZVtpXS50YXJnZXQpIHsKLUBAIC02MSw3ICs2MSw3IEBAIGludCBiYXNlX2ZpbGVzeXN0ZW1fY3JlYXRlKGNvbnN0IGNoYXIgKnJvb3QsIHVpZF90IHVpZCwgZ2lkX3QgZ2lkKSB7Ci0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgLyogY2hlY2sgaWYgb25lIG9mIHRoZSB0YXJnZXRzIGV4aXN0cyAqLwotICAgICAgICAgICAgICAgICAgICAgICAgIE5VTFNUUl9GT1JFQUNIKHMsIHRhYmxlW2ldLnRhcmdldCkgewotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcywgRl9PSywgQVRfU1lNTElOS19OT0ZPTExPVykgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcywgRl9PSywgMCkgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNoZWNrIGlmIGEgc3BlY2lmaWMgZmlsZSBleGlzdHMgYXQgdGhlIHRhcmdldCBwYXRoICovCi1AQCAtNzIsNyArNzIsNyBAQCBpbnQgYmFzZV9maWxlc3lzdGVtX2NyZWF0ZShjb25zdCBjaGFyICpyb290LCB1aWRfdCB1aWQsIGdpZF90IGdpZCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhY2Nlc3NhdChmZCwgcCwgRl9PSywgQVRfU1lNTElOS19OT0ZPTExPVykgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFjY2Vzc2F0KGZkLCBwLCBGX09LLCAwKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiZDBkNjAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1EZWZpbmUtZ2xpYmMtY29tcGF0aWJsZS1iYXNlbmFtZS1mb3Itbm9uLWdsaWJjLXN5c3RlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSA5N2ZlZDA3MTMyNTMzYTFiMmJjZTljNjBlMzA1YTVkMDlhZWUyZTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMjcgTWF5IDIwMTggMDg6MzY6NDQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxOC8xOV0gRGVmaW5lIGdsaWJjIGNvbXBhdGlibGUgYmFzZW5hbWUoKSBmb3Igbm9uLWdsaWJjCi0gc3lzdGVtcwotCi1GaXhlcyBidWlsZHMgd2l0aCBtdXNsLCBldmVuIHRob3VnaCBzeXN0ZW1kIGlzIGFkYW1hbnQgYWJvdXQKLXVzaW5nIG5vbi1wb3NpeCBiYXNlbmFtZSBpbXBsZW1lbnRhdGlvbiwgd2UgaGF2ZSBhIHdheSBvdXQKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL21hY2hpbmUvbWFjaGluZS1kYnVzLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYyBiL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCi1pbmRleCA3ZjQxNDY1Y2MuLmNlZThhNWQ0MyAxMDA2NDQKLS0tLSBhL3NyYy9tYWNoaW5lL21hY2hpbmUtZGJ1cy5jCi0rKysgYi9zcmMvbWFjaGluZS9tYWNoaW5lLWRidXMuYwotQEAgLTExLDYgKzExLDEwIEBACi0gI2luY2x1ZGUgPGxpYmdlbi5oPgotICN1bmRlZiBiYXNlbmFtZQotIAotKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCi0rI2RlZmluZSBiYXNlbmFtZShzcmMpIChzdHJyY2hyKHNyYywnLycpID8gc3RycmNocihzcmMsJy8nKSsxIDogc3JjKQotKyNlbmRpZgotKwotICNpbmNsdWRlICJhbGxvYy11dGlsLmgiCi0gI2luY2x1ZGUgImJ1cy1jb21tb24tZXJyb3JzLmgiCi0gI2luY2x1ZGUgImJ1cy1pbnRlcm5hbC5oIgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MDE3NzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE4LWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSBmZmZiMjgxMDYxMWI0YTI2ZjVjNmMwOTU4MDkzYjViM2I3ZDRjZDk5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMCBKdWwgMjAxOCAxNTo0MDoxNyArMDgwMAorU3ViamVjdDogW1BBVENIIDE4LzI0XSBkaXN0aW5ndWlzaCBYU0ktY29tcGxpYW50IHN0cmVycm9yX3IgZnJvbSBHTlUtc3BlY2lmaQorIHN0cmVycm9yX3IKKworWFNJLWNvbXBsaWFudCBzdHJlcnJvcl9yIGFuZCBHTlUtc3BlY2lmaSBzdHJlcnJvcl9yIGFyZSBkaWZmZXJlbnQuCisKKyAgICAgICBpbnQgc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOworICAgICAgICAgICAgICAgICAgIC8qIFhTSS1jb21wbGlhbnQgKi8KKworICAgICAgIGNoYXIgKnN0cmVycm9yX3IoaW50IGVycm51bSwgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuKTsKKyAgICAgICAgICAgICAgICAgICAvKiBHTlUtc3BlY2lmaWMgKi8KKworV2UgbmVlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHRoZW0uIE90aGVyd2lzZSwgd2UnbGwgZ2V0IGFuIGludCB2YWx1ZQorYXNzaWduZWQgdG8gKGNoYXIgKikgdmFyaWFibGUsIHJlc3VsdGluZyBpbiBzZWdtZW50IGZhdWx0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jICAgICAgICB8IDUgKysrKysKKyBzcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMgfCA1ICsrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvam91cm5hbC9qb3VybmFsLXNlbmQuYyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCitpbmRleCAzZmVhOTEyLi40ZjFlNTkyIDEwMDY0NAorLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKKysrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCitAQCAtMzM3LDcgKzMzNywxMiBAQCBzdGF0aWMgaW50IGZpbGxfaW92ZWNfcGVycm9yX2FuZF9zZW5kKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIGludCBza2lwLCBzdHJ1Y3QgaW92ZQorICAgICAgICAgICAgICAgICBjaGFyKiBqOworIAorICAgICAgICAgICAgICAgICBlcnJubyA9IDA7CisrI2lmbmRlZiBfX0dMSUJDX18KKysgICAgICAgICAgICAgICAgc3RyZXJyb3Jfcihfc2F2ZWRfZXJybm9fLCBidWZmZXIgKyA4ICsgaywgbiAtIDggLSBrKTsKKysgICAgICAgICAgICAgICAgaiA9IGJ1ZmZlciArIDggKyBrOworKyNlbHNlCisgICAgICAgICAgICAgICAgIGogPSBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOworKyNlbmRpZgorICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgZXJyb3JbU1RSTEVOKCJFUlJOTz0iKSArIERFQ0lNQUxfU1RSX01BWChpbnQpICsgMV07CisgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCitpbmRleCBkYzk1MjM3Li5iZGRhMzBmIDEwMDY0NAorLS0tIGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCisrKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKK0BAIC0zNzksNyArMzc5LDEyIEBAIHN0YXRpYyB2b2lkIGJ1c19lcnJvcl9zdHJlcnJvcihzZF9idXNfZXJyb3IgKmUsIGludCBlcnJvcikgeworICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAKKyAgICAgICAgICAgICAgICAgZXJybm8gPSAwOworKyNpZm5kZWYgX19HTElCQ19fCisrICAgICAgICAgICAgICAgIHN0cmVycm9yX3IoZXJyb3IsIG0sIGspOworKyAgICAgICAgICAgICAgICB4ID0gbTsKKysjZWxzZQorICAgICAgICAgICAgICAgICB4ID0gc3RyZXJyb3JfcihlcnJvciwgbSwgayk7CisrI2VuZGlmCisgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFUkFOR0UgfHwgc3RybGVuKHgpID49IGsgLSAxKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZShtKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBrICo9IDI7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMTktRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTQyZjRjMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LURvLW5vdC1kaXNhYmxlLWJ1ZmZlcmluZy13aGVuLXdyaXRpbmctdG8tb29tX3Njb3JlX2EucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDg0NDAzNDhiY2FjMzQyNDljZGY2YWMyZGNhZTlhYzY2ZDNjNzI3ZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDQgSnVsIDIwMTggMTU6MDA6NDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxOS8xOV0gRG8gbm90IGRpc2FibGUgYnVmZmVyaW5nIHdoZW4gd3JpdGluZyB0byBvb21fc2NvcmVfYWRqCi0KLU9uIG11c2wsIGRpc2FibGluZyBidWZmZXJpbmcgd2hlbiB3cml0aW5nIHRvIG9vbV9zY29yZV9hZGogd2lsbAotY2F1c2UgdGhlIGZvbGxvd2luZyBlcnJvci4KLQotICBGYWlsZWQgdG8gYWRqdXN0IE9PTSBzZXR0aW5nOiBJbnZhbGlkIGFyZ3VtZW50Ci0KLVRoaXMgZXJyb3IgYXBwZWFycyBmb3Igc3lzdGVtZC11ZGV2ZC5zZXJ2aWNlIGFuZCBkYnVzLnNlcnZpY2UuCi1UaGlzIGlzIGJlY2F1c2Uga2VybmVsIHJlY2VpdmVzICctJyBpbnN0ZWFkIG9mIHRoZSB3aG9sZSAnLTkwMCcKLWlmIGJ1ZmZlcmluZyBpcyBkaXNhYmxlZC4KLQotVGhpcyBpcyBsaWJjIGltcGxlbWVudGF0aW9uIHNwZWNpZmljLCBhcyBnbGliYyBkb2VzIG5vdCBoYXZlIHRoaXMgaXNzdWUuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1pbmRleCAzNTQzYmMwNDUuLmQwNTcyZTAzNCAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9wcm9jZXNzLXV0aWwuYwotKysrIGIvc3JjL2Jhc2ljL3Byb2Nlc3MtdXRpbC5jCi1AQCAtMTQ3Myw3ICsxNDczLDcgQEAgaW50IHNldF9vb21fc2NvcmVfYWRqdXN0KGludCB2YWx1ZSkgewotICAgICAgICAgc3ByaW50Zih0LCAiJWkiLCB2YWx1ZSk7Ci0gCi0gICAgICAgICByZXR1cm4gd3JpdGVfc3RyaW5nX2ZpbGUoIi9wcm9jL3NlbGYvb29tX3Njb3JlX2FkaiIsIHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV1JJVEVfU1RSSU5HX0ZJTEVfVkVSSUZZX09OX0ZBSUxVUkV8V1JJVEVfU1RSSU5HX0ZJTEVfRElTQUJMRV9CVUZGRVIpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFX1NUUklOR19GSUxFX1ZFUklGWV9PTl9GQUlMVVJFKTsKLSB9Ci0gCi0gc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IGlvcHJpb19jbGFzc190YWJsZVtdID0gewotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWNjNjZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAxOS1IaWRlLV9fc3RhcnRfQlVTX0VSUk9SX01BUC1hbmQtX19zdG9wX0JVU19FUlJPUl9NQVAucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA5NjlhYjllNjgyNDlmZDM4M2Y0YjUxM2IxYzkzMDZiZGFjNGFlOWIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNToxODowMCArMDgwMAorU3ViamVjdDogW1BBVENIIDE5LzI0XSBIaWRlIF9fc3RhcnRfQlVTX0VSUk9SX01BUCBhbmQgX19zdG9wX0JVU19FUlJPUl9NQVAKKworZm9yIGN1cnJlbnRseSB1bmtub3duIHJlYXNvbnMgdGhleSBnZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBsaWJyaWVzCitldmVuIHdpdGhvdXQgYmVpbmcgbGlzdGVkIGluIHRoZSBzeW0gZmlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1tSZWJhc2VkIGZvciB2MjQxXQorU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYworaW5kZXggYmRkYTMwZi4uZTIxODUzYyAxMDA2NDQKKy0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYworKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCitAQCAtNTQsOCArNTQsOCBAQCBCVVNfRVJST1JfTUFQX0VMRl9SRUdJU1RFUiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIGJ1c19zdGFuZGFyZF9lcnJvcnNbXSA9IHsKKyB9OworIAorIC8qIEdDQyBtYXBzIHRoaXMgbWFnaWNhbGx5IHRvIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgQlVTX0VSUk9SX01BUCBzZWN0aW9uICovCistZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXTsKKy1leHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0b3BfU1lTVEVNRF9CVVNfRVJST1JfTUFQW107CisrZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9TWVNURU1EX0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKKytleHRlcm4gY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBfX3N0b3BfU1lTVEVNRF9CVVNfRVJST1JfTUFQW10gX2hpZGRlbl87CisgCisgLyogQWRkaXRpb25hbCBtYXBzIHJlZ2lzdGVyZWQgd2l0aCBzZF9idXNfZXJyb3JfYWRkX21hcCgpIGFyZSBpbiB0aGlzCisgICogTlVMTCB0ZXJtaW5hdGVkIGFycmF5ICovCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjAtZGlzdGluZ3Vpc2gtWFNJLWNvbXBsaWFudC1zdHJlcnJvcl9yLWZyb20tR05VLXNwZWNpZi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3OGNhYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi1Gcm9tIGRkNTNkYzliOTU0MmNiZDJjMzlhMzkwOTY5NDFkZmVkNzBkMDY1MDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUdWUsIDEwIEp1bCAyMDE4IDE1OjQwOjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMjAvMjBdIGRpc3Rpbmd1aXNoIFhTSS1jb21wbGlhbnQgc3RyZXJyb3JfciBmcm9tIEdOVS1zcGVjaWZpCi0gc3RyZXJyb3JfcgotCi1YU0ktY29tcGxpYW50IHN0cmVycm9yX3IgYW5kIEdOVS1zcGVjaWZpIHN0cmVycm9yX3IgYXJlIGRpZmZlcmVudC4KLQotICAgICAgIGludCBzdHJlcnJvcl9yKGludCBlcnJudW0sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbik7Ci0gICAgICAgICAgICAgICAgICAgLyogWFNJLWNvbXBsaWFudCAqLwotCi0gICAgICAgY2hhciAqc3RyZXJyb3JfcihpbnQgZXJybnVtLCBjaGFyICpidWYsIHNpemVfdCBidWZsZW4pOwotICAgICAgICAgICAgICAgICAgIC8qIEdOVS1zcGVjaWZpYyAqLwotCi1XZSBuZWVkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhlbS4gT3RoZXJ3aXNlLCB3ZSdsbCBnZXQgYW4gaW50IHZhbHVlCi1hc3NpZ25lZCB0byAoY2hhciAqKSB2YXJpYWJsZSwgcmVzdWx0aW5nIGluIHNlZ21lbnQgZmF1bHQuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbXVzbCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMgICAgICAgIHwgNSArKysrKwotIHNyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyB8IDUgKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jIGIvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLWluZGV4IDY1YmNiY2QyZS4uYWVmODBkZDhmIDEwMDY0NAotLS0tIGEvc3JjL2pvdXJuYWwvam91cm5hbC1zZW5kLmMKLSsrKyBiL3NyYy9qb3VybmFsL2pvdXJuYWwtc2VuZC5jCi1AQCAtMzM3LDcgKzMzNywxMiBAQCBzdGF0aWMgaW50IGZpbGxfaW92ZWNfcGVycm9yX2FuZF9zZW5kKGNvbnN0IGNoYXIgKm1lc3NhZ2UsIGludCBza2lwLCBzdHJ1Y3QgaW92ZQotICAgICAgICAgICAgICAgICBjaGFyKiBqOwotIAotICAgICAgICAgICAgICAgICBlcnJubyA9IDA7Ci0rI2lmbmRlZiBfX0dMSUJDX18KLSsgICAgICAgICAgICAgICAgc3RyZXJyb3Jfcihfc2F2ZWRfZXJybm9fLCBidWZmZXIgKyA4ICsgaywgbiAtIDggLSBrKTsKLSsgICAgICAgICAgICAgICAgaiA9IGJ1ZmZlciArIDggKyBrOwotKyNlbHNlCi0gICAgICAgICAgICAgICAgIGogPSBzdHJlcnJvcl9yKF9zYXZlZF9lcnJub18sIGJ1ZmZlciArIDggKyBrLCBuIC0gOCAtIGspOwotKyNlbmRpZgotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgZXJyb3JbU1RSTEVOKCJFUlJOTz0iKSArIERFQ0lNQUxfU1RSX01BWChpbnQpICsgMV07Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1pbmRleCBlYzM1OWFjMTMuLmQyYWE4NmNlYSAxMDA2NDQKLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jCi1AQCAtMzYyLDcgKzM2MiwxMiBAQCBzdGF0aWMgdm9pZCBidXNfZXJyb3Jfc3RyZXJyb3Ioc2RfYnVzX2Vycm9yICplLCBpbnQgZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gCi0gICAgICAgICAgICAgICAgIGVycm5vID0gMDsKLSsjaWZuZGVmIF9fR0xJQkNfXwotKyAgICAgICAgICAgICAgICBzdHJlcnJvcl9yKGVycm9yLCBtLCBrKTsKLSsgICAgICAgICAgICAgICAgeCA9IG07Ci0rI2Vsc2UKLSAgICAgICAgICAgICAgICAgeCA9IHN0cmVycm9yX3IoZXJyb3IsIG0sIGspOwotKyNlbmRpZgotICAgICAgICAgICAgICAgICBpZiAoZXJybm8gPT0gRVJBTkdFIHx8IHN0cmxlbih4KSA+PSBrIC0gMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWUobSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgayAqPSAyOwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIwLW1pc3NpbmdfdHlwZS5oLWFkZC1fX2NvbXBhcl9kX2ZuX3QtZGVmaW5pdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTNkNTExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA3NWMwNmUzZTJhNDc2MGIzNmZmZmQ5NWNkZjU1MzViOGFkNzNjNDgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNToyNzo1NCArMDgwMAorU3ViamVjdDogW1BBVENIIDIwLzI0XSBtaXNzaW5nX3R5cGUuaDogYWRkIF9fY29tcGFyX2RfZm5fdCBkZWZpbml0aW9uCisKK0ZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZmFpbHVyZToKK3NyYy9iYXNpYy91dGlsLmg6NzE6MTg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnX19jb21wYXJfZF9mbl90JzsgZGlkIHlvdSBtZWFuICdfX2NvbXBhcl9mbl90Jz8KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ190eXBlLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaCBiL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAoraW5kZXggN2Q3YzFlNC4uODU5MDJhYiAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3R5cGUuaAorKysrIGIvc3JjL2Jhc2ljL21pc3NpbmdfdHlwZS5oCitAQCAtMTMsNiArMTMsNyBAQAorIAorICNpZm5kZWYgX19HTElCQ19fCisgdHlwZWRlZiBpbnQgKCpjb21wYXJpc29uX2ZuX3QpKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKTsKKyt0eXBlZGVmIGludCAoKl9fY29tcGFyX2RfZm5fdCkgKGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqLCB2b2lkICopOworICNlbmRpZgorIAorICNpZm5kZWYgX19DT01QQVJfRk5fVAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NjhmMjczLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSA2ODdhNWFmOGRjNWQzOGY5MThhNmNlMDhmZWQ1Mjk3MjM0YmY4MzQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBNYXIgMjAxOCAxODowMDoxNyAtMDgwMAotU3ViamVjdDogW1BBVENIXSBIaWRlIF9fc3RhcnRfQlVTX0VSUk9SX01BUCBhbmQgX19zdG9wX0JVU19FUlJPUl9NQVAKLQotZm9yIGN1cnJlbnRseSB1bmtub3duIHJlYXNvbnMgdGhleSBnZXQgZXhwb3J0ZWQgdG8gdGhlIHNoYXJlZCBsaWJyaWVzCi1ldmVuIHdpdGhvdXQgYmVpbmcgbGlzdGVkIGluIHRoZSBzeW0gZmlsZQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbIENvbmRpdGlvbmFsIG9uIG1hc3RlciBuZWVkaW5nIHRoaXMsIDIzOSBkb2VzIG5lZWQgaXQgXQotCi0gc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1lcnJvci5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotaW5kZXggMzc4ZjdhMzc3Li40OWQ3OTdhYmQgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWVycm9yLmMKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtZXJyb3IuYwotQEAgLTcxLDggKzcxLDggQEAgQlVTX0VSUk9SX01BUF9FTEZfUkVHSVNURVIgY29uc3Qgc2RfYnVzX2Vycm9yX21hcCBidXNfc3RhbmRhcmRfZXJyb3JzW10gPSB7Ci0gfTsKLSAKLSAvKiBHQ0MgbWFwcyB0aGlzIG1hZ2ljYWxseSB0byB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIEJVU19FUlJPUl9NQVAgc2VjdGlvbiAqLwotLWV4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RhcnRfQlVTX0VSUk9SX01BUFtdOwotLWV4dGVybiBjb25zdCBzZF9idXNfZXJyb3JfbWFwIF9fc3RvcF9CVVNfRVJST1JfTUFQW107Ci0rZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdGFydF9CVVNfRVJST1JfTUFQW10gX2hpZGRlbl87Ci0rZXh0ZXJuIGNvbnN0IHNkX2J1c19lcnJvcl9tYXAgX19zdG9wX0JVU19FUlJPUl9NQVBbXSBfaGlkZGVuXzsKLSAKLSAvKiBBZGRpdGlvbmFsIG1hcHMgcmVnaXN0ZXJlZCB3aXRoIHNkX2J1c19lcnJvcl9hZGRfbWFwKCkgYXJlIGluIHRoaXMKLSAgKiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgKi8KLS0tIAotMi4xNi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLWF2b2lkLXJlZGVmaW5pdGlvbi1vZi1wcmN0bF9tbV9tYXAtc3RydWN0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4YzUzYzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIxLWF2b2lkLXJlZGVmaW5pdGlvbi1vZi1wcmN0bF9tbV9tYXAtc3RydWN0dXJlLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gM2ZiZjYxZDU0YjgyZmM5YmYyMWQ4MDM5YmZkODlkYzllZmM1YmJjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTU6NDQ6NTQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyMS8yNF0gYXZvaWQgcmVkZWZpbml0aW9uIG9mIHByY3RsX21tX21hcCBzdHJ1Y3R1cmUKKworRml4IHRoZSBmb2xsb3dpbmcgY29tcGlsZSBmYWlsdXJlOgorZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0IHByY3RsX21tX21hcCcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFttdXNsIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvYmFzaWMvbWlzc2luZ19wcmN0bC5oIHwgMiArKworIHNyYy9iYXNpYy91dGlsLmggICAgICAgICAgfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvbWlzc2luZ19wcmN0bC5oIGIvc3JjL2Jhc2ljL21pc3NpbmdfcHJjdGwuaAoraW5kZXggZjgwY2QxNy4uNDdlNDg5MyAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmgKKysrKyBiL3NyYy9iYXNpYy9taXNzaW5nX3ByY3RsLmgKK0BAIC0xLDcgKzEsOSBAQAorIC8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsgKi8KKyAjcHJhZ21hIG9uY2UKKyAKKysjaWZkZWYgX19HTElCQ19fCisgI2luY2x1ZGUgPGxpbnV4L3ByY3RsLmg+CisrI2VuZGlmCisgCisgLyogNTgzMTkwNTdiNzg0NzY2N2YwYzk1ODViOWRlMGU4OTMyYjBmZGIwOCAoNC4zKSAqLworICNpZm5kZWYgUFJfQ0FQX0FNQklFTlQKK2RpZmYgLS1naXQgYS9zcmMvYmFzaWMvdXRpbC5oIGIvc3JjL2Jhc2ljL3V0aWwuaAoraW5kZXggMmM1ZGMzMi4uZjcyMTE4NCAxMDA2NDQKKy0tLSBhL3NyYy9iYXNpYy91dGlsLmgKKysrKyBiL3NyYy9iYXNpYy91dGlsLmgKK0BAIC0yNiw3ICsyNiw4IEBACisgI2luY2x1ZGUgImZvcm1hdC11dGlsLmgiCisgI2luY2x1ZGUgIm1hY3JvLmgiCisgI2luY2x1ZGUgInRpbWUtdXRpbC5oIgorLSNpbmNsdWRlICJtaXNzaW5nLmgiCisrI2luY2x1ZGUgIm1pc3Npbmdfc3RkbGliLmgiCisrI2luY2x1ZGUgIm1pc3NpbmdfdHlwZS5oIgorIAorIHNpemVfdCBwYWdlX3NpemUodm9pZCkgX3B1cmVfOworICNkZWZpbmUgUEFHRV9BTElHTihsKSBBTElHTl9UTygobCksIHBhZ2Vfc2l6ZSgpKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWJ1aWxkLXN5cy1EZXRlY3Qtd2hldGhlci1zdHJ1Y3Qtc3RhdHgtaXMtZGVmaW5lZC1pbi0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MjQ2M2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMi1idWlsZC1zeXMtRGV0ZWN0LXdoZXRoZXItc3RydWN0LXN0YXR4LWlzLWRlZmluZWQtaW4tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA5ICswLDAgQEAKLUZyb20gNzU3MjBiZmY2MmE4NDg5NmU5YTA2NTRhZmM3Y2Y5NDA4Y2Y4OWEzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZpbGlwZSBCcmFuZGVuYnVyZ2VyIDxmaWxicmFuZGVuQGdvb2dsZS5jb20+Ci1EYXRlOiBTdW4sIDE1IEp1bCAyMDE4IDIyOjQzOjM1IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkLXN5czogRGV0ZWN0IHdoZXRoZXIgc3RydWN0IHN0YXR4IGlzIGRlZmluZWQgaW4KLSBzeXMvc3RhdC5oCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVN0YXJ0aW5nIHdpdGggZ2xpYmMgMi4yNy45MDAwLTM2LmZjMjksIGluY2x1ZGUgZmlsZSBzeXMvc3RhdC5oIHdpbGwgaGF2ZSBhCi1kZWZpbml0aW9uIGZvciBzdHJ1Y3Qgc3RhdHgsIGluIHdoaWNoIGNhc2UgaW5jbHVkZSBmaWxlIGxpbnV4L3N0YXQuaCBzaG91bGQgYmUKLWF2b2lkZWQsIGluIG9yZGVyIHRvIHByZXZlbnQgYSBkdXBsaWNhdGUgZGVmaW5pdGlvbi4KLQotICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9zcmMvYmFzaWMvbWlzc2luZy5oOjE4LAotCQkgICAgIGZyb20gLi4vc3JjL2Jhc2ljL3V0aWwuaDoyOCwKLQkJICAgICBmcm9tIC4uL3NyYy9iYXNpYy9oYXNobWFwLmg6MTAsCi0JCSAgICAgZnJvbSAuLi9zcmMvc2hhcmVkL2J1cy11dGlsLmg6MTIsCi0JCSAgICAgZnJvbSAuLi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWNyZWRzLmM6MTE6Ci0gICAgL3Vzci9pbmNsdWRlL2xpbnV4L3N0YXQuaDo5OTo4OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIOKAmHN0cnVjdCBzdGF0eOKAmQotICAgICBzdHJ1Y3Qgc3RhdHggewotCSAgICBefn5+fgotICAgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaDo0NDYsCi0JCSAgICAgZnJvbSAuLi9zcmMvYmFzaWMvdXRpbC5oOjE5LAotCQkgICAgIGZyb20gLi4vc3JjL2Jhc2ljL2hhc2htYXAuaDoxMCwKLQkJICAgICBmcm9tIC4uL3NyYy9zaGFyZWQvYnVzLXV0aWwuaDoxMiwKLQkJICAgICBmcm9tIC4uL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtY3JlZHMuYzoxMToKLSAgICAvdXNyL2luY2x1ZGUvYml0cy9zdGF0eC5oOjM2Ojg6IG5vdGU6IG9yaWdpbmFsbHkgZGVmaW5lZCBoZXJlCi0gICAgIHN0cnVjdCBzdGF0eAotCSAgICBefn5+fgotCi1FeHRlbmQgb3VyIG1lc29uLmJ1aWxkIHRvIGxvb2sgZm9yIHN0cnVjdCBzdGF0eCB3aGVuIG9ubHkgc3lzL3N0YXQuaCBpcwotaW5jbHVkZWQgYW5kLCBpbiB0aGF0IGNhc2UsIGRvIG5vdCBpbmNsdWRlIGxpbnV4L3N0YXQuaCBhbnltb3JlLgotCi1UZXN0ZWQgdGhhdCBzeXN0ZW1kIGJ1aWxkcyBjb3JyZWN0bHkgd2hlbiB1c2luZyBhIGdsaWJjIHZlcnNpb24gdGhhdCBpbmNsdWRlcyBhCi1kZWZpbml0aW9uIGZvciBzdHJ1Y3Qgc3RhdHguCi0KLWdsaWJjIEZlZG9yYSBSUE0gdXBkYXRlOgotaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nbGliYy9jLzI4Y2I1ZDMxZmMxZTU4ODc5MTIyODNjODg5Njg5YzQ3MDc2Mjc4YWUKLQotZ2xpYmMgdXBzdHJlYW0gY29tbWl0OgotaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvP3A9Z2xpYmMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWZkNzBhZjQ1NTI4ZDU5YTAwZWIzMTkwZWY2NzA2Y2IyOTk0ODhmY2QKLS0tLQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLSBtZXNvbi5idWlsZCAgICAgICAgICAgIHwgNSArKysrKwotIHNyYy9iYXNpYy9taXNzaW5nLmggICAgfCA1ICsrKystCi0gc3JjL2Jhc2ljL3hhdHRyLXV0aWwuYyB8IDEgLQotIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1JbmRleDogZ2l0L21lc29uLmJ1aWxkCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbWVzb24uYnVpbGQKLSsrKyBnaXQvbWVzb24uYnVpbGQKLUBAIC00MzIsNiArNDMyLDcgQEAgZGVjbF9oZWFkZXJzID0gJycnCi0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gJycnCi0gIyBGSVhNRToga2V5X3NlcmlhbF90IGlzIG9ubHkgZGVmaW5lZCBpbiBrZXl1dGlscy5oLCB0aGlzIGlzIGJvdW5kIHRvIGZhaWwKLSsjIEZJWE1FOiB0aGVzZSBzaG91bGQgdXNlIC1EX0dOVV9TT1VSQ0UsIHNpbmNlIHRoYXQgaXMgZGVmaW5lZCBhdCBidWlsZCB0aW1lCi0gCi0gZm9yZWFjaCBkZWNsIDogWydjaGFyMTZfdCcsCi0gICAgICAgICAgICAgICAgICdjaGFyMzJfdCcsCi1AQCAtNDQ2LDYgKzQ0NywxMCBAQCBmb3JlYWNoIGRlY2wgOiBbJ2NoYXIxNl90JywKLSAgICAgICAgIGNvbmYuc2V0MTAoJ0hBVkVfJyArIGRlY2wudW5kZXJzY29yaWZ5KCkudG9fdXBwZXIoKSwgaGF2ZSkKLSBlbmRmb3JlYWNoCi0gCi0rY29uZi5zZXQxMCgnSEFWRV9TVFJVQ1RfU1RBVFhfSU5fU1lTX1NUQVRfSCcsIGNjLnNpemVvZignc3RydWN0IHN0YXR4JywgcHJlZml4IDogJycnCi0rI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rJycnLCBhcmdzIDogJy1EX0dOVV9TT1VSQ0UnKSA+IDApCi0rCi0gZm9yZWFjaCBkZWNsIDogW1snSUZMQV9JTkVUNl9BRERSX0dFTl9NT0RFJywgICAgICAgICAnbGludXgvaWZfbGluay5oJ10sCi0gICAgICAgICAgICAgICAgIFsnSU42X0FERFJfR0VOX01PREVfU1RBQkxFX1BSSVZBQ1knLCAnbGludXgvaWZfbGluay5oJ10sCi0gICAgICAgICAgICAgICAgIFsnSUZMQV9WUkZfVEFCTEUnLCAgICAgICAgICAgICAgICAgICAnbGludXgvaWZfbGluay5oJ10sCi1JbmRleDogZ2l0L3NyYy9iYXNpYy9taXNzaW5nLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvYmFzaWMvbWlzc2luZy5oCi0rKysgZ2l0L3NyYy9iYXNpYy9taXNzaW5nLmgKLUBAIC0xNSw3ICsxNSw2IEBACi0gI2luY2x1ZGUgPGxpbnV4L25laWdoYm91ci5oPgotICNpbmNsdWRlIDxsaW51eC9vb20uaD4KLSAjaW5jbHVkZSA8bGludXgvcnRuZXRsaW5rLmg+Ci0tI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4KLSAjaW5jbHVkZSA8bmV0L2V0aGVybmV0Lmg+Ci0gI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KLUBAIC0yNSw2ICsyNCwxMCBAQAotICNpbmNsdWRlIDx1Y2hhci5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLSsjaWYgIUhBVkVfU1RSVUNUX1NUQVRYX0lOX1NZU19TVEFUX0gKLSsjaW5jbHVkZSA8bGludXgvc3RhdC5oPgotKyNlbmRpZgotKwotICNpZiBIQVZFX0FVRElUCi0gI2luY2x1ZGUgPGxpYmF1ZGl0Lmg+Ci0gI2VuZGlmCi1JbmRleDogZ2l0L3NyYy9iYXNpYy94YXR0ci11dGlsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvYmFzaWMveGF0dHItdXRpbC5jCi0rKysgZ2l0L3NyYy9iYXNpYy94YXR0ci11dGlsLmMKLUBAIC0yLDcgKzIsNiBAQAotIAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxmY250bC5oPgotLSNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN0ZGludC5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWluY2x1ZGUtc3lzLXdhaXQuaC10by1hdm9pZC1jb21waWxlLWZhaWx1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIyLWluY2x1ZGUtc3lzLXdhaXQuaC10by1hdm9pZC1jb21waWxlLWZhaWx1cmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcyMTJiYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDZjNTM2NDczNmY1YWZkMTEwNmFjMjQwZjAzODA2YWY1Mzk3OWNjNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDI1IEZlYiAyMDE5IDE1OjU2OjUwICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvMjRdIGluY2x1ZGUgc3lzL3dhaXQuaCB0byBhdm9pZCBjb21waWxlIGZhaWx1cmUKKworRml4IHRoZSBmb2xsb3dpbmcgZXJyb3I6CitzcmMvdWRldi91ZGV2LWV2ZW50LmM6NTgxOjUzOiBlcnJvcjogJ1dFWElURUQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdXSUZFWElURUQnPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy91ZGV2L3VkZXYtZXZlbnQuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy91ZGV2L3VkZXYtZXZlbnQuYyBiL3NyYy91ZGV2L3VkZXYtZXZlbnQuYworaW5kZXggMDdiNzM2NS4uZTUzMmJiNyAxMDA2NDQKKy0tLSBhL3NyYy91ZGV2L3VkZXYtZXZlbnQuYworKysrIGIvc3JjL3VkZXYvdWRldi1ldmVudC5jCitAQCAtOCw3ICs4LDkgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorLQorKyNpZm5kZWYgX19HTElCQ19fCisrI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisrI2VuZGlmCisgI2luY2x1ZGUgInNkLWV2ZW50LmgiCisgCisgI2luY2x1ZGUgImFsbG9jLXV0aWwuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1yZXNvbHZjb25mLWZpeGVzLWZvci10aGUtY29tcGF0aWJpbGl0eS1pbnRlcmZhY2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXJlc29sdmNvbmYtZml4ZXMtZm9yLXRoZS1jb21wYXRpYmlsaXR5LWludGVyZmFjZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmYzZTc3Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDIzLXJlc29sdmNvbmYtZml4ZXMtZm9yLXRoZS1jb21wYXRpYmlsaXR5LWludGVyZmFjZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLXN5c3RlbWQtMjM5OiBmaXhlcyBmb3IgdGhlIGNvbXBhdGliaWxpdHkgaW50ZXJmYWNlCi0KLVtObyB1cHN0cmVhbSB0cmFja2luZ10gLS0gaHR0cHM6Ly9naXRodWIuY29tL3N5c3RlbWQvc3lzdGVtZC9pc3N1ZXMvOTQyMwotCi1yZXNvbHZjb25mLWNvbXBhdDogdXNlIGNvbXBhdF9tYWluKCkgd2hlbiBjYWxsZWQgYXMgYHJlc29sdmNvbmZgLAotc2luY2UgdGhlIGludGVyZmFjZSBpcyBjbG9zZXIgdG8gdGhhdCBvZiBgc3lzdGVtZC1yZXNvbHZlYC4KLQotVXNlIGEgaGVhcCBhbGxvY2F0ZWQgc3RyaW5nIHRvIHNldCBhcmdfaWZuYW1lLCBzaW5jZSBhIHN0YWNrIGFsbG9jYXRlZAotb25lIHdvdWxkIGJlIGxvc3QgYWZ0ZXIgdGhlIGZ1bmN0aW9uIHJldHVybnMuIChUaGlzIGxhc3Qgb25lIGJyb2tlIHRoZQotY2FzZSB3aGVyZSBhbiBpbnRlcmZhY2UgbmFtZSB3YXMgc3VmZml4ZWQgd2l0aCBhIGRvdCwgc3VjaCBhcyBpbgotYHJlc29sdmNvbmYgLWEgdGFwMC5kaGNwYC4pCi0KLVRlc3RlZDoKLSAgJCBidWlsZC9yZXNvbHZjb25mIC1hIG5vbmV4aXN0ZW50LmFiYyA8L2V0Yy9yZXNvbHYuY29uZgotICBVbmtub3duIGludGVyZmFjZSAnbm9uZXhpc3RlbnQnOiBObyBzdWNoIGRldmljZQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vc3lzdGVtZC9zeXN0ZW1kL2NvbW1pdC81YTAxYjNmMzVkN2I2MTgyYzc4YjY5NzNkYjhkOTliZGFiZDRmOWMzXQotYnVnOiA5NDIzCi1TaWduZWQtb2ZmLWJ5OiBTaW1vbiBBdXNzZXJsZWNobmVyIDxzaW1vbi5hdXNzZXJsZWNobmVyQHNpZW1lbnMuY29tPgotCi1kaWZmIC0tZ2l0IGEvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYyBiL3NyYy9yZXNvbHZlL3Jlc29sdmNvbmYtY29tcGF0LmMKLWluZGV4IGQ3ZTY4MDAzZS4uMDcyMzQ1ODk0IDEwMDY0NAotLS0tIGEvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYwotKysrIGIvc3JjL3Jlc29sdmUvcmVzb2x2Y29uZi1jb21wYXQuYwotQEAgLTUzLDYgKzUzLDggQEAgc3RhdGljIGludCBwYXJzZV9uYW1lc2VydmVyKGNvbnN0IGNoYXIgKnN0cmluZykgewotIAotICAgICAgICAgICAgICAgICBpZiAoc3Rydl9wdXNoKCZhcmdfc2V0X2Rucywgd29yZCkgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0rCi0rICAgICAgICAgICAgICAgIHdvcmQgPSBOVUxMOwotICAgICAgICAgfQotIAotICAgICAgICAgcmV0dXJuIDA7Ci1AQCAtMjAyLDcgKzIwNCw3IEBAIGludCByZXNvbHZjb25mX3BhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewotIAotICAgICAgICAgZG90ID0gc3RyY2hyKGFyZ3Zbb3B0aW5kXSwgJy4nKTsKLSAgICAgICAgIGlmIChkb3QpIHsKLS0gICAgICAgICAgICAgICAgaWZhY2UgPSBzdHJuZHVwYShhcmd2W29wdGluZF0sIGRvdCAtIGFyZ3Zbb3B0aW5kXSk7Ci0rICAgICAgICAgICAgICAgIGlmYWNlID0gc3RybmR1cChhcmd2W29wdGluZF0sIGRvdCAtIGFyZ3Zbb3B0aW5kXSk7Ci0gICAgICAgICAgICAgICAgIGxvZ19kZWJ1ZygiSWdub3JpbmcgcHJvdG9jb2wgc3BlY2lmaWVyICclcycuIiwgZG90ICsgMSk7Ci0gICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICAgaWZhY2UgPSBhcmd2W29wdGluZF07Ci1kaWZmIC0tZ2l0IGEvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jIGIvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jCi1pbmRleCBlOTZjMTNmZWEuLmU5ZTM5NWUzZSAxMDA2NDQKLS0tLSBhL3NyYy9yZXNvbHZlL3Jlc29sdmVjdGwuYwotKysrIGIvc3JjL3Jlc29sdmUvcmVzb2x2ZWN0bC5jCi1AQCAtMzA5Miw3ICszMDkyLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7Ci0gICAgICAgICAgICAgICAgIGdvdG8gZmluaXNoOwotICAgICAgICAgfQotIAotLSAgICAgICAgaWYgKHN0cmVxKHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCAic3lzdGVtZC1yZXNvbHZlIikpCi0rICAgICAgICBpZiAoU1RSX0lOX1NFVChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgInN5c3RlbWQtcmVzb2x2ZSIsICJyZXNvbHZjb25mIikpCi0gICAgICAgICAgICAgICAgIHIgPSBjb21wYXRfbWFpbihhcmdjLCBhcmd2LCBidXMpOwotICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICByID0gbmF0aXZlX21haW4oYXJnYywgYXJndiwgYnVzKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtc29ja2V0LXV0aWwuaC1pbmNsdWRlLXN0cmluZy5oLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjIxODZiOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjMtc29ja2V0LXV0aWwuaC1pbmNsdWRlLXN0cmluZy5oLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gOTNlNmI4MWI3MjFkOWViOTY2YTI1N2JmZGY3ZGY2ZTgyODBiODg1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjUgRmViIDIwMTkgMTY6Mzc6MTkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAyMy8yNF0gc29ja2V0LXV0aWwuaDogaW5jbHVkZSBzdHJpbmcuaAorCitGaXggdGhlIGZvbGxvd2luZyBjb21waWxlIGVycm9yOgorc3JjL2Jhc2ljL3NvY2tldC11dGlsLmg6MTg3OjMwOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3N0cm5sZW4nOyBkaWQgeW91IG1lYW4gJ3N0cmxlbic/IFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2Jhc2ljL3NvY2tldC11dGlsLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9zb2NrZXQtdXRpbC5oIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK2luZGV4IDU3NGQyYjcuLjA5N2FhNGQgMTAwNjQ0CistLS0gYS9zcmMvYmFzaWMvc29ja2V0LXV0aWwuaAorKysrIGIvc3JjL2Jhc2ljL3NvY2tldC11dGlsLmgKK0BAIC0xMiw2ICsxMiw3IEBACisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy91bi5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAjaW5jbHVkZSAibWFjcm8uaCIKKyAjaW5jbHVkZSAibWlzc2luZ19zb2NrZXQuaCIKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC1qb3VybmFsZC1kby1ub3Qtc3RvcmUtdGhlLWlvdmVjLWVudHJ5LWZvci1wcm9jZXNzLWNvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMmY3OGJlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjQtam91cm5hbGQtZG8tbm90LXN0b3JlLXRoZS1pb3ZlYy1lbnRyeS1mb3ItcHJvY2Vzcy1jby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwOCArMCwwIEBACi1Gcm9tIDljYjA3ZTdkODJjN2M0ZjI4YmJhYTE0NzhlMTM4N2U4ZWEzZDAzZGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/WmJpZ25pZXc9MjBKPUM0PTk5ZHJ6ZWpld3NraS1Tem1laz89IDx6YnlzemVrQGluLndhdy5wbD4KLURhdGU6IFdlZCwgNSBEZWMgMjAxOCAxODozODozOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBqb3VybmFsZDogZG8gbm90IHN0b3JlIHRoZSBpb3ZlYyBlbnRyeSBmb3IgcHJvY2VzcwotIGNvbW1hbmRsaW5lIG9uIHN0YWNrCi0KLVRoaXMgZml4ZXMgYSBjcmFzaCB3aGVyZSB3ZSB3b3VsZCByZWFkIHRoZSBjb21tYW5kbGluZSwgd2hvc2UgbGVuZ3RoIGlzIHVuZGVyCi1jb250cm9sIG9mIHRoZSBzZW5kaW5nIHByb2dyYW0sIGFuZCB0aGVuIGNyYXNoIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhIHN0YWNrCi1hbGxvY2F0aW9uIGZvciBpdC4KLQotQ1ZFLTIwMTgtMTY4NjQKLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTY1Mzg1NQotCi1UaGUgbWVzc2FnZSBhY3R1YWxseSBkb2Vzbid0IGdldCB3cml0dGVuIHRvIGRpc2ssIGJlY2F1c2UKLWpvdXJuYWxfZmlsZV9hcHBlbmRfZW50cnkoKSByZXR1cm5zIC1FMkJJRy4KLQotUGF0Y2ggYmFja3BvcnRlZCBmcm9tIHN5c3RlbWQgbWFzdGVyIGF0Ci0wODRlZWI4NjVjYTYzODg3MDk4ZTA5NDVmYjRlOTNjODUyYjkxYjBmLgotCi1DVkU6IENWRS0yMDE4LTE2ODY0Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQ29vcGVyIDxtYXJjdXNjQGF4aXMuY29tPgotLS0tCi0gc3JjL2Jhc2ljL2lvLXV0aWwuYyAgICAgICAgICAgfCAxMCArKysrKysrKysrCi0gc3JjL2Jhc2ljL2lvLXV0aWwuaCAgICAgICAgICAgfCAgMiArKwotIHNyYy9jb3JlZHVtcC9jb3JlZHVtcC5jICAgICAgIHwgMzEgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9qb3VybmFsL2pvdXJuYWxkLXNlcnZlci5jIHwgMjUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvaW8tdXRpbC5jIGIvc3JjL2Jhc2ljL2lvLXV0aWwuYwotaW5kZXggMWY2NGNjOTMzYi4uNTc1Mzk4ZmJlNiAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9pby11dGlsLmMKLSsrKyBiL3NyYy9iYXNpYy9pby11dGlsLmMKLUBAIC04LDYgKzgsNyBAQAotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAKLSAjaW5jbHVkZSAiaW8tdXRpbC5oIgotKyNpbmNsdWRlICJzdHJpbmctdXRpbC5oIgotICNpbmNsdWRlICJ0aW1lLXV0aWwuaCIKLSAKLSBpbnQgZmx1c2hfZmQoaW50IGZkKSB7Ci1AQCAtMjUyLDMgKzI1MywxMiBAQCBzc2l6ZV90IHNwYXJzZV93cml0ZShpbnQgZmQsIGNvbnN0IHZvaWQgKnAsIHNpemVfdCBzeiwgc2l6ZV90IHJ1bl9sZW5ndGgpIHsKLSAKLSAgICAgICAgIHJldHVybiBxIC0gKGNvbnN0IHVpbnQ4X3QqKSBwOwotIH0KLSsKLStjaGFyKiBzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKHN0cnVjdCBpb3ZlYyAqaW92ZWMsIHNpemVfdCAqbl9pb3ZlYywgY29uc3QgY2hhciAqZmllbGQsIGNvbnN0IGNoYXIgKnZhbHVlKSB7Ci0rICAgICAgICBjaGFyICp4OwotKwotKyAgICAgICAgeCA9IHN0cmFwcGVuZChmaWVsZCwgdmFsdWUpOwotKyAgICAgICAgaWYgKHgpCi0rICAgICAgICAgICAgICAgIGlvdmVjWygqbl9pb3ZlYykrK10gPSBJT1ZFQ19NQUtFX1NUUklORyh4KTsKLSsgICAgICAgIHJldHVybiB4OwotK30KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvaW8tdXRpbC5oIGIvc3JjL2Jhc2ljL2lvLXV0aWwuaAotaW5kZXggZWQxODliNTgyMC4uNzkyYTY0YWQ1ZSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9pby11dGlsLmgKLSsrKyBiL3NyYy9iYXNpYy9pby11dGlsLmgKLUBAIC03MSwzICs3MSw1IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBGSUxFX1NJWkVfVkFMSURfT1JfSU5GSU5JVFkodWludDY0X3QgbCkgewotICNkZWZpbmUgSU9WRUNfTUFLRShiYXNlLCBsZW4pIChzdHJ1Y3QgaW92ZWMpIElPVkVDX0lOSVQoYmFzZSwgbGVuKQotICNkZWZpbmUgSU9WRUNfSU5JVF9TVFJJTkcoc3RyaW5nKSBJT1ZFQ19JTklUKChjaGFyKikgc3RyaW5nLCBzdHJsZW4oc3RyaW5nKSkKLSAjZGVmaW5lIElPVkVDX01BS0VfU1RSSU5HKHN0cmluZykgKHN0cnVjdCBpb3ZlYykgSU9WRUNfSU5JVF9TVFJJTkcoc3RyaW5nKQotKwotK2NoYXIqIHNldF9pb3ZlY19zdHJpbmdfZmllbGQoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY29uc3QgY2hhciAqdmFsdWUpOwotZGlmZiAtLWdpdCBhL3NyYy9jb3JlZHVtcC9jb3JlZHVtcC5jIGIvc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMKLWluZGV4IDIwYTFjYmRkNDUuLjE4ZTRmNjFkNzIgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZWR1bXAvY29yZWR1bXAuYwotKysrIGIvc3JjL2NvcmVkdW1wL2NvcmVkdW1wLmMKLUBAIC0xMDUzLDE5ICsxMDUzLDEwIEBAIHN0YXRpYyBpbnQgc2VuZF9pb3ZlYyhjb25zdCBzdHJ1Y3QgaW92ZWMgaW92ZWNbXSwgc2l6ZV90IG5faW92ZWMsIGludCBpbnB1dF9mZCkKLSAgICAgICAgIHJldHVybiAwOwotIH0KLSAKLS1zdGF0aWMgY2hhciogc2V0X2lvdmVjX2ZpZWxkKHN0cnVjdCBpb3ZlYyAqaW92ZWMsIHNpemVfdCAqbl9pb3ZlYywgY29uc3QgY2hhciAqZmllbGQsIGNvbnN0IGNoYXIgKnZhbHVlKSB7Ci0tICAgICAgICBjaGFyICp4OwotLQotLSAgICAgICAgeCA9IHN0cmFwcGVuZChmaWVsZCwgdmFsdWUpOwotLSAgICAgICAgaWYgKHgpCi0tICAgICAgICAgICAgICAgIGlvdmVjWygqbl9pb3ZlYykrK10gPSBJT1ZFQ19NQUtFX1NUUklORyh4KTsKLS0gICAgICAgIHJldHVybiB4OwotLX0KLS0KLSBzdGF0aWMgY2hhciogc2V0X2lvdmVjX2ZpZWxkX2ZyZWUoc3RydWN0IGlvdmVjICppb3ZlYywgc2l6ZV90ICpuX2lvdmVjLCBjb25zdCBjaGFyICpmaWVsZCwgY2hhciAqdmFsdWUpIHsKLSAgICAgICAgIGNoYXIgKng7Ci0gCi0tICAgICAgICB4ID0gc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCBmaWVsZCwgdmFsdWUpOwotKyAgICAgICAgeCA9IHNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsIGZpZWxkLCB2YWx1ZSk7Ci0gICAgICAgICBmcmVlKHZhbHVlKTsKLSAgICAgICAgIHJldHVybiB4OwotIH0KLUBAIC0xMTE1LDM2ICsxMTA2LDM2IEBAIHN0YXRpYyBpbnQgZ2F0aGVyX3BpZF9tZXRhZGF0YSgKLSAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlX2NvcmVkdW1wcygpOwotICAgICAgICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAgICAgIHNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VOSVQ9IiwgY29udGV4dFtDT05URVhUX1VOSVRdKTsKLSsgICAgICAgICAgICAgICAgc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VOSVQ9IiwgY29udGV4dFtDT05URVhUX1VOSVRdKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICAgIGlmIChjZ19waWRfZ2V0X3VzZXJfdW5pdChwaWQsICZ0KSA+PSAwKQotICAgICAgICAgICAgICAgICBzZXRfaW92ZWNfZmllbGRfZnJlZShpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1VTRVJfVU5JVD0iLCB0KTsKLSAKLSAgICAgICAgIC8qIFRoZSBuZXh0IGZldyBhcmUgbWFuZGF0b3J5ICovCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1BJRD0iLCBjb250ZXh0W0NPTlRFWFRfUElEXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9QSUQ9IiwgY29udGV4dFtDT05URVhUX1BJRF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9VSUQ9IiwgY29udGV4dFtDT05URVhUX1VJRF0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfVUlEPSIsIGNvbnRleHRbQ09OVEVYVF9VSURdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfR0lEPSIsIGNvbnRleHRbQ09OVEVYVF9HSURdKSkKLSsgICAgICAgIGlmICghc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0dJRD0iLCBjb250ZXh0W0NPTlRFWFRfR0lEXSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi0tICAgICAgICBpZiAoIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTD0iLCBjb250ZXh0W0NPTlRFWFRfU0lHTkFMXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9TSUdOQUw9IiwgY29udGV4dFtDT05URVhUX1NJR05BTF0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotLSAgICAgICAgaWYgKCFzZXRfaW92ZWNfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9STElNSVQ9IiwgY29udGV4dFtDT05URVhUX1JMSU1JVF0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfUkxJTUlUPSIsIGNvbnRleHRbQ09OVEVYVF9STElNSVRdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfSE9TVE5BTUU9IiwgY29udGV4dFtDT05URVhUX0hPU1ROQU1FXSkpCi0rICAgICAgICBpZiAoIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9IT1NUTkFNRT0iLCBjb250ZXh0W0NPTlRFWFRfSE9TVE5BTUVdKSkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIGxvZ19vb20oKTsKLSAKLS0gICAgICAgIGlmICghc2V0X2lvdmVjX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfQ09NTT0iLCBjb250ZXh0W0NPTlRFWFRfQ09NTV0pKQotKyAgICAgICAgaWYgKCFzZXRfaW92ZWNfc3RyaW5nX2ZpZWxkKGlvdmVjLCBuX2lvdmVjLCAiQ09SRURVTVBfQ09NTT0iLCBjb250ZXh0W0NPTlRFWFRfQ09NTV0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotICAgICAgICAgaWYgKGNvbnRleHRbQ09OVEVYVF9FWEVdICYmCi0tICAgICAgICAgICAgIXNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX0VYRT0iLCBjb250ZXh0W0NPTlRFWFRfRVhFXSkpCi0rICAgICAgICAgICAgIXNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsIG5faW92ZWMsICJDT1JFRFVNUF9FWEU9IiwgY29udGV4dFtDT05URVhUX0VYRV0pKQotICAgICAgICAgICAgICAgICByZXR1cm4gbG9nX29vbSgpOwotIAotICAgICAgICAgaWYgKHNkX3BpZF9nZXRfc2Vzc2lvbihwaWQsICZ0KSA+PSAwKQotQEAgLTEyMTIsNyArMTIwMyw3IEBAIHN0YXRpYyBpbnQgZ2F0aGVyX3BpZF9tZXRhZGF0YSgKLSAgICAgICAgICAgICAgICAgaW92ZWNbKCpuX2lvdmVjKSsrXSA9IElPVkVDX01BS0VfU1RSSU5HKHQpOwotIAotICAgICAgICAgaWYgKHNhZmVfYXRvaShjb250ZXh0W0NPTlRFWFRfU0lHTkFMXSwgJnNpZ25vKSA+PSAwICYmIFNJR05BTF9WQUxJRChzaWdubykpCi0tICAgICAgICAgICAgICAgIHNldF9pb3ZlY19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTF9OQU1FPVNJRyIsIHNpZ25hbF90b19zdHJpbmcoc2lnbm8pKTsKLSsgICAgICAgICAgICAgICAgc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgbl9pb3ZlYywgIkNPUkVEVU1QX1NJR05BTF9OQU1FPVNJRyIsIHNpZ25hbF90b19zdHJpbmcoc2lnbm8pKTsKLSAKLSAgICAgICAgIHJldHVybiAwOyAvKiB3ZSBzdWNjZXNzZnVsbHkgYWNxdWlyZWQgYWxsIG1ldGFkYXRhICovCi0gfQotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLXNlcnZlci5jIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMKLWluZGV4IDRmMTU1MGVjNWIuLjMxYmUwODVjNmIgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC9qb3VybmFsZC1zZXJ2ZXIuYwotKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtc2VydmVyLmMKLUBAIC03NTMsNiArNzUzLDcgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBwaWRfdCBvYmplY3RfcGlkKSB7Ci0gCi0gICAgICAgICBjaGFyIHNvdXJjZV90aW1lW3NpemVvZigiX1NPVVJDRV9SRUFMVElNRV9USU1FU1RBTVA9IikgKyBERUNJTUFMX1NUUl9NQVgodXNlY190KV07Ci0rICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpjbWRsaW5lMSA9IE5VTEwsICpjbWRsaW5lMiA9IE5VTEw7Ci0gICAgICAgICB1aWRfdCBqb3VybmFsX3VpZDsKLSAgICAgICAgIENsaWVudENvbnRleHQgKm87Ci0gCi1AQCAtNzY5LDIwICs3NzAsMjMgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+dWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiX1VJRCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgYy0+Z2lkLCBnaWRfdCwgZ2lkX2lzX3ZhbGlkLCBHSURfRk1ULCAiX0dJRCIpOwotIAotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jb21tLCAiX0NPTU0iKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+ZXhlLCAiX0VYRSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jbWRsaW5lLCAiX0NNRExJTkUiKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y2FwZWZmLCAiX0NBUF9FRkZFQ1RJVkUiKTsKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y29tbSwgIl9DT01NIik7IC8qIEF0IG1vc3QgVEFTS19DT01NX0xFTkdUSCAoMTYgYnl0ZXMpICovCi0rICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmV4ZSwgIl9FWEUiKTsgLyogQSBwYXRoLCBzbyBhdCBtb3N0IFBBVEhfTUFYICg0MDk2IGJ5dGVzKSAqLwotIAotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU0laRURfRklFTEQoaW92ZWMsIG4sIGMtPmxhYmVsLCBjLT5sYWJlbF9zaXplLCAiX1NFTElOVVhfQ09OVEVYVCIpOwotKyAgICAgICAgICAgICAgICBpZiAoYy0+Y21kbGluZSkKLSsgICAgICAgICAgICAgICAgICAgICAgICAvKiBBdCBtb3N0IF9TQ19BUkdfTUFYICgyTUIgdXN1YWxseSksIHdoaWNoIGlzIHRvbyBtdWNoIHRvIHB1dCBvbiBzdGFjay4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgKiBMZXQncyB1c2UgYSBoZWFwIGFsbG9jYXRpb24gZm9yIHRoaXMgb25lLiAqLwotKyAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxpbmUxID0gc2V0X2lvdmVjX3N0cmluZ19maWVsZChpb3ZlYywgJm4sICJfQ01ETElORT0iLCBjLT5jbWRsaW5lKTsKLSAKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+Y2FwZWZmLCAiX0NBUF9FRkZFQ1RJVkUiKTsgLyogUmVhZCBmcm9tIC9wcm9jLy4uLi9zdGF0dXMgKi8KLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NJWkVEX0ZJRUxEKGlvdmVjLCBuLCBjLT5sYWJlbCwgYy0+bGFiZWxfc2l6ZSwgIl9TRUxJTlVYX0NPTlRFWFQiKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIGMtPmF1ZGl0aWQsIHVpbnQzMl90LCBhdWRpdF9zZXNzaW9uX2lzX3ZhbGlkLCAiJSIgUFJJdTMyLCAiX0FVRElUX1NFU1NJT04iKTsKLSAgICAgICAgICAgICAgICAgSU9WRUNfQUREX05VTUVSSUNfRklFTEQoaW92ZWMsIG4sIGMtPmxvZ2ludWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiX0FVRElUX0xPR0lOVUlEIik7Ci0gCi0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPmNncm91cCwgIl9TWVNURU1EX0NHUk9VUCIpOwotKyAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5jZ3JvdXAsICJfU1lTVEVNRF9DR1JPVVAiKTsgLyogQSBwYXRoICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnNlc3Npb24sICJfU1lTVEVNRF9TRVNTSU9OIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBjLT5vd25lcl91aWQsIHVpZF90LCB1aWRfaXNfdmFsaWQsIFVJRF9GTVQsICJfU1lTVEVNRF9PV05FUl9VSUQiKTsKLS0gICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dW5pdCwgIl9TWVNURU1EX1VOSVQiKTsKLSsgICAgICAgICAgICAgICAgSU9WRUNfQUREX1NUUklOR19GSUVMRChpb3ZlYywgbiwgYy0+dW5pdCwgIl9TWVNURU1EX1VOSVQiKTsgLyogVW5pdCBuYW1lcyBhcmUgYm91bmRlZCBieSBVTklUX05BTUVfTUFYICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnVzZXJfdW5pdCwgIl9TWVNURU1EX1VTRVJfVU5JVCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBjLT5zbGljZSwgIl9TWVNURU1EX1NMSUNFIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIGMtPnVzZXJfc2xpY2UsICJfU1lTVEVNRF9VU0VSX1NMSUNFIik7Ci1AQCAtODAzLDEzICs4MDcsMTQgQEAgc3RhdGljIHZvaWQgZGlzcGF0Y2hfbWVzc2FnZV9yZWFsKAotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgby0+dWlkLCB1aWRfdCwgdWlkX2lzX3ZhbGlkLCBVSURfRk1ULCAiT0JKRUNUX1VJRCIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfTlVNRVJJQ19GSUVMRChpb3ZlYywgbiwgby0+Z2lkLCBnaWRfdCwgZ2lkX2lzX3ZhbGlkLCBHSURfRk1ULCAiT0JKRUNUX0dJRCIpOwotIAotKyAgICAgICAgICAgICAgICAvKiBTZWUgYWJvdmUgZm9yIHNpemUgbGltaXRzLCBvbmx5IC0+Y21kbGluZSBtYXkgYmUgbGFyZ2UsIHNvIHVzZSBhIGhlYXAgYWxsb2NhdGlvbiBmb3IgaXQuICovCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNvbW0sICJPQkpFQ1RfQ09NTSIpOwotICAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBvLT5leGUsICJPQkpFQ1RfRVhFIik7Ci0tICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNtZGxpbmUsICJPQkpFQ1RfQ01ETElORSIpOwotLSAgICAgICAgICAgICAgICBJT1ZFQ19BRERfU1RSSU5HX0ZJRUxEKGlvdmVjLCBuLCBvLT5jYXBlZmYsICJPQkpFQ1RfQ0FQX0VGRkVDVElWRSIpOwotKyAgICAgICAgICAgICAgICBpZiAoby0+Y21kbGluZSkKLSsgICAgICAgICAgICAgICAgICAgICAgICBjbWRsaW5lMiA9IHNldF9pb3ZlY19zdHJpbmdfZmllbGQoaW92ZWMsICZuLCAiT0JKRUNUX0NNRExJTkU9Iiwgby0+Y21kbGluZSk7Ci0gCi0rICAgICAgICAgICAgICAgIElPVkVDX0FERF9TVFJJTkdfRklFTEQoaW92ZWMsIG4sIG8tPmNhcGVmZiwgIk9CSkVDVF9DQVBfRUZGRUNUSVZFIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9TSVpFRF9GSUVMRChpb3ZlYywgbiwgby0+bGFiZWwsIG8tPmxhYmVsX3NpemUsICJPQkpFQ1RfU0VMSU5VWF9DT05URVhUIik7Ci0tCi0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT5hdWRpdGlkLCB1aW50MzJfdCwgYXVkaXRfc2Vzc2lvbl9pc192YWxpZCwgIiUiIFBSSXUzMiwgIk9CSkVDVF9BVURJVF9TRVNTSU9OIik7Ci0gICAgICAgICAgICAgICAgIElPVkVDX0FERF9OVU1FUklDX0ZJRUxEKGlvdmVjLCBuLCBvLT5sb2dpbnVpZCwgdWlkX3QsIHVpZF9pc192YWxpZCwgVUlEX0ZNVCwgIk9CSkVDVF9BVURJVF9MT0dJTlVJRCIpOwotIAotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC10ZXN0LWpzb24uYy1kZWZpbmUtTV9QSWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI0LXRlc3QtanNvbi5jLWRlZmluZS1NX1BJbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmFlMmJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNC10ZXN0LWpzb24uYy1kZWZpbmUtTV9QSWwucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSA5MDI0MTJjMjcxZTBjNWQ5Y2I5M2IxMGVjMGZiNWIxMTliMzkzNDc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hlbiBRaSA8UWkuQ2hlbkB3aW5kcml2ZXIuY29tPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxNjo1MzowNiArMDgwMAorU3ViamVjdDogW1BBVENIIDI0LzI0XSB0ZXN0LWpzb24uYzogZGVmaW5lIE1fUElsCisKK0ZpeCB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZmFpbHVyZToKK3NyYy90ZXN0L3Rlc3QtanNvbi5jOjMwNTo1MDogZXJyb3I6ICdNX1BJbCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ01fUEknPworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW211c2wgc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KKy0tLQorIHNyYy90ZXN0L3Rlc3QtanNvbi5jIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvdGVzdC1qc29uLmMgYi9zcmMvdGVzdC90ZXN0LWpzb24uYworaW5kZXggZmRmMWI0Zi4uZmE1NDFmOCAxMDA2NDQKKy0tLSBhL3NyYy90ZXN0L3Rlc3QtanNvbi5jCisrKysgYi9zcmMvdGVzdC90ZXN0LWpzb24uYworQEAgLTEwLDYgKzEwLDEwIEBACisgI2luY2x1ZGUgInN0cnYuaCIKKyAjaW5jbHVkZSAidXRpbC5oIgorIAorKyNpZm5kZWYgTV9QSWwKKysjZGVmaW5lIE1fUElsIDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNjQzMzgzMjc5NTAyODg0TAorKyNlbmRpZgorKworIHN0YXRpYyB2b2lkIHRlc3RfdG9rZW5pemVyKGNvbnN0IGNoYXIgKmRhdGEsIC4uLikgeworICAgICAgICAgdW5zaWduZWQgbGluZSA9IDAsIGNvbHVtbiA9IDA7CisgICAgICAgICB2b2lkICpzdGF0ZSA9IE5VTEw7CistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC8wMDI1LWpvdXJuYWxkLXNldC1hLWxpbWl0LW9uLXRoZS1udW1iZXItb2YtZmllbGRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZTllZjVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjUtam91cm5hbGQtc2V0LWEtbGltaXQtb24tdGhlLW51bWJlci1vZi1maWVsZHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMzkgKzAsMCBAQAotRnJvbSA3Y2FkMDQ0YjcyNDA2Y2JhZGYwNDhkYTQzMmMyOWFmZWE3NGMzYzEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP1piaWduaWV3PTIwSj1DND05OWRyemVqZXdza2ktU3ptZWs/PSA8emJ5c3pla0Bpbi53YXcucGw+Ci1EYXRlOiBXZWQsIDUgRGVjIDIwMTggMjI6NDU6MDIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gam91cm5hbGQ6IHNldCBhIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgZmllbGRzCi0KLVRoZSBmaXggZm9yIENWRS0yMDE4LTE2ODY1IGlzIHBsdWNrZWQgZnJvbSB0d28gY29tbWl0cyB0aGF0IGhhdmUKLWJlZW4gcHVzaGVkIHRvIHN5c3RlbWQgbWFzdGVyLgotCi1qb3VybmFsZDogc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmaWVsZHMgKDFrKQotCi1XZSBhbGxvY2F0ZSBhIGlvdmVjIGVudHJ5IGZvciBlYWNoIGZpZWxkLCBzbyB3aXRoIG1hbnkgc2hvcnQgZW50cmllcywKLW91ciBtZW1vcnkgdXNhZ2UgYW5kIHByb2Nlc3NpbmcgdGltZSBjYW4gYmUgbGFyZ2UsIGV2ZW4gd2l0aCBhIHJlbGF0aXZlbHkKLXNtYWxsIG1lc3NhZ2Ugc2l6ZS4gTGV0J3MgcmVmdXNlIG92ZXJseSBsb25nIGVudHJpZXMuCi0KLUNWRS0yMDE4LTE2ODY1Ci1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2NTM4NjEKLQotV2hhdCBmcm9tIEkgY2FuIHNlZSwgdGhlIHByb2JsZW0gaXMgbm90IGZyb20gYW4gYWxsb2NhLCBkZXNwaXRlIHdoYXQgdGhlIENWRQotZGVzY3JpcHRpb24gc2F5cywgYnV0IGZyb20gdGhlIGF0dGFjayBtdWx0aXBsaWNhdGlvbiB0aGF0IGNvbWVzIGZyb20gY3JlYXRpbmcKLW1hbnkgdmVyeSBzbWFsbCBpb3ZlY3M6ICh2b2lkKiArIHNpemVfdCkgZm9yIGVhY2ggdGhyZWUgYnl0ZXMgb2YgaW5wdXQgbWVzc2FnZS4KLQotUGF0Y2ggYmFja3BvcnRlZCBmcm9tIHN5c3RlbWQgbWFzdGVyIGF0Ci0wNTJjNTdmMTMyZjA0YTNjZjQxNDhmODc1NjE2MThkYTFhNjkwOGI0LgotCi1qb3VybmFsLXJlbW90ZTogc2V0IGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmaWVsZHMgaW4gYSBtZXNzYWdlCi0KLUV4aXN0aW5nIHVzZSBvZiBFMkJJRyBpcyByZXBsYWNlZCB3aXRoIEVOT0JVRlMgKGVudHJ5IHRvbyBsb25nKSwgYW5kIEUyQklHIGlzCi1yZXVzZWQgZm9yIHRoZSBuZXcgZXJyb3IgY29uZGl0aW9uICh0b28gbWFueSBmaWVsZHMpLgotCi1UaGlzIG1hdGNoZXMgdGhlIGNoYW5nZSBkb25lIGZvciBzeXN0ZW1kLWpvdXJuYWxkLCBoZW5jZSBmb3JtaW5nIHRoZSBzZWNvbmQKLXBhcnQgb2YgdGhlIGZpeCBmb3IgQ1ZFLTIwMTgtMTY4NjUKLShodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE2NTM4NjEpLgotCi1QYXRjaCBiYWNrcG9ydGVkIGZyb20gc3lzdGVtZCBtYXN0ZXIgYXQKLWVmNGQ2YWJlN2M3ZmFiNmNiZmY5NzViMzJlNzZiMDlmZWVlNTYwNzQuCi13aXRoIHRoZSBjaGFuZ2VzIGFwcGxpZWQgYnkgN2ZkYjIzN2Y1NDczY2I4ZmMyMTI5ZTU3ZThhMDAzOTUyNmRjYjRmZAotcmVtb3ZlZC4KLQotQ1ZFOiBDVkUtMjAxOC0xNjg2NQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogTWFyY3VzIENvb3BlciA8bWFyY3VzY0BheGlzLmNvbT4KLS0tLQotIHNyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMgICAgICAgICAgICAgfCA1ICsrKystCi0gc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaCAgICAgICAgICAgICB8IDMgKysrCi0gc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLW1haW4uYyB8IDcgKysrKysrLQotIHNyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jICAgICAgfCA1ICsrKystCi0gc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMgICAgICAgICAgICB8IDUgKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5jIGIvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuYwotaW5kZXggY2EyMDNiYmJmYy4uM2FjNTVhNjZkOSAxMDA2NDQKLS0tLSBhL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMKLSsrKyBiL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmMKLUBAIC0yMyw2ICsyMyw5IEBAIGVudW0gewotIH07Ci0gCi0gc3RhdGljIGludCBpb3Z3X3B1dChzdHJ1Y3QgaW92ZWNfd3JhcHBlciAqaW92dywgdm9pZCogZGF0YSwgc2l6ZV90IGxlbikgewotKyAgICAgICAgaWYgKGlvdnctPmNvdW50ID49IEVOVFJZX0ZJRUxEX0NPVU5UX01BWCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FMkJJRzsKLSsKLSAgICAgICAgIGlmICghR1JFRURZX1JFQUxMT0MoaW92dy0+aW92ZWMsIGlvdnctPnNpemVfYnl0ZXMsIGlvdnctPmNvdW50ICsgMSkpCi0gICAgICAgICAgICAgICAgIHJldHVybiBsb2dfb29tKCk7Ci0gCi1AQCAtOTgsNyArMTAxLDcgQEAgc3RhdGljIGludCBnZXRfbGluZShKb3VybmFsSW1wb3J0ZXIgKmltcCwgY2hhciAqKmxpbmUsIHNpemVfdCAqc2l6ZSkgewotICAgICAgICAgICAgICAgICBpbXAtPnNjYW5uZWQgPSBpbXAtPmZpbGxlZDsKLSAgICAgICAgICAgICAgICAgaWYgKGltcC0+c2Nhbm5lZCA+PSBEQVRBX1NJWkVfTUFYKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2Vycm9yKCJFbnRyeSBpcyBiaWdnZXIgdGhhbiAldSBieXRlcy4iLCBEQVRBX1NJWkVfTUFYKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUUyQklHOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PQlVGUzsKLSAgICAgICAgICAgICAgICAgfQotIAotICAgICAgICAgICAgICAgICBpZiAoaW1wLT5wYXNzaXZlX2ZkKQotZGlmZiAtLWdpdCBhL3NyYy9iYXNpYy9qb3VybmFsLWltcG9ydGVyLmggYi9zcmMvYmFzaWMvam91cm5hbC1pbXBvcnRlci5oCi1pbmRleCBmNDljZTczNGExLi5jNGFlNDVkMzJkIDEwMDY0NAotLS0tIGEvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaAotKysrIGIvc3JjL2Jhc2ljL2pvdXJuYWwtaW1wb3J0ZXIuaAotQEAgLTE2LDYgKzE2LDkgQEAKLSAjZGVmaW5lIERBVEFfU0laRV9NQVggKDEwMjQqMTAyNCo3Njh1KQotICNkZWZpbmUgTElORV9DSFVOSyA4KjEwMjR1Ci0gCi0rLyogVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpZWxkcyBpbiBhbiBlbnRyeSAqLwotKyNkZWZpbmUgRU5UUllfRklFTERfQ09VTlRfTUFYIDEwMjQKLSsKLSBzdHJ1Y3QgaW92ZWNfd3JhcHBlciB7Ci0gICAgICAgICBzdHJ1Y3QgaW92ZWMgKmlvdmVjOwotICAgICAgICAgc2l6ZV90IHNpemVfYnl0ZXM7Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLW1haW4uYyBiL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS1tYWluLmMKLWluZGV4IDhmZGE5ZDE0OTkuLjNhMDFmZWY2NDYgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jCi0rKysgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUtbWFpbi5jCi1AQCAtMjEyLDcgKzIxMiwxMiBAQCBzdGF0aWMgaW50IHByb2Nlc3NfaHR0cF91cGxvYWQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgIGVsc2UgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbG9nX3dhcm5pbmcoIkZhaWxlZCB0byBwcm9jZXNzIGRhdGEgZm9yIGNvbm5lY3Rpb24gJXAiLCBjb25uZWN0aW9uKTsKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAociA9PSAtRTJCSUcpCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgPT0gLUVOT0JVRlMpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWhkX3Jlc3BvbmRmKGNvbm5lY3Rpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIsIE1IRF9IVFRQX1BBWUxPQURfVE9PX0xBUkdFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW50cnkgaXMgYWJvdmUgdGhlIG1heGltdW0gb2YgJXUsIGFib3J0aW5nIGNvbm5lY3Rpb24gJXAuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUQV9TSVpFX01BWCwgY29ubmVjdGlvbik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAociA9PSAtRTJCSUcpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWhkX3Jlc3BvbmRmKGNvbm5lY3Rpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIsIE1IRF9IVFRQX1BBWUxPQURfVE9PX0xBUkdFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW50cnkgaXMgdG9vIGxhcmdlLCBtYXhpbXVtIGlzICIgU1RSSU5HSUZZKERBVEFfU0laRV9NQVgpICIgYnl0ZXMuIik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwtcmVtb3RlL2pvdXJuYWwtcmVtb3RlLmMgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUuYwotaW5kZXggYmViNzVhMWNiNC4uNjdlM2E3MGMwNiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsLXJlbW90ZS9qb3VybmFsLXJlbW90ZS5jCi0rKysgYi9zcmMvam91cm5hbC1yZW1vdGUvam91cm5hbC1yZW1vdGUuYwotQEAgLTQwOCw3ICs0MDgsMTAgQEAgaW50IGpvdXJuYWxfcmVtb3RlX2hhbmRsZV9yYXdfc291cmNlKAotICAgICAgICAgICAgICAgICBsb2dfZGVidWcoIiV6dSBhY3RpdmUgc291cmNlcyByZW1haW5pbmciLCBzLT5hY3RpdmUpOwotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgIH0gZWxzZSBpZiAociA9PSAtRTJCSUcpIHsKLS0gICAgICAgICAgICAgICAgbG9nX25vdGljZV9lcnJubyhFMkJJRywgIkVudHJ5IHRvbyBiaWcsIHNraXBwZWQiKTsKLSsgICAgICAgICAgICAgICAgbG9nX25vdGljZSgiRW50cnkgd2l0aCB0b28gbWFueSBmaWVsZHMsIHNraXBwZWQiKTsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0rICAgICAgICB9IGVsc2UgaWYgKHIgPT0gLUVOT0JVRlMpIHsKLSsgICAgICAgICAgICAgICAgbG9nX25vdGljZSgiRW50cnkgdG9vIGJpZywgc2tpcHBlZCIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgIH0gZWxzZSBpZiAociA9PSAtRUFHQUlOKSB7Ci0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotZGlmZiAtLWdpdCBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLW5hdGl2ZS5jIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMKLWluZGV4IDVmZjIyYTEwYWYuLjk1MWQwOTIwNTMgMTAwNjQ0Ci0tLS0gYS9zcmMvam91cm5hbC9qb3VybmFsZC1uYXRpdmUuYwotKysrIGIvc3JjL2pvdXJuYWwvam91cm5hbGQtbmF0aXZlLmMKLUBAIC0xNDAsNiArMTQwLDExIEBAIHN0YXRpYyBpbnQgc2VydmVyX3Byb2Nlc3NfZW50cnkoCi0gICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAgICAgLyogQSBwcm9wZXJ0eSBmb2xsb3dzICovCi0rICAgICAgICAgICAgICAgIGlmIChuID4gRU5UUllfRklFTERfQ09VTlRfTUFYKSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbG9nX2RlYnVnKCJSZWNlaXZlZCBhbiBlbnRyeSB0aGF0IGhhcyBtb3JlIHRoYW4gIiBTVFJJTkdJRlkoRU5UUllfRklFTERfQ09VTlRfTUFYKSAiIGZpZWxkcywgaWdub3JpbmcgZW50cnkuIik7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgciA9IDE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmaW5pc2g7Ci0rICAgICAgICAgICAgICAgIH0KLSAKLSAgICAgICAgICAgICAgICAgLyogbiBleGlzdGluZyBwcm9wZXJ0aWVzLCAxIG5ldywgKzEgZm9yIF9UUkFOU1BPUlQgKi8KLSAgICAgICAgICAgICAgICAgaWYgKCFHUkVFRFlfUkVBTExPQyhpb3ZlYywgbSwKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kLzAwMjYtam91cm5hbC1maXgtb3V0LW9mLWJvdW5kcy1yZWFkLUNWRS0yMDE4LTE2ODY2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5MjVhNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvMDAyNi1qb3VybmFsLWZpeC1vdXQtb2YtYm91bmRzLXJlYWQtQ1ZFLTIwMTgtMTY4NjYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1Gcm9tIGViZDA2YzM3ZDQzMTFkYjk4NTFmNGQzZmRkMDIzZGUzZGQ1OTBkZTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGaWxpcGUgQnJhbmRlbmJ1cmdlciA8ZmlsYnJhbmRlbkBnb29nbGUuY29tPgotRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxNDo1MzozMyAtMDgwMAotU3ViamVjdDogW1BBVENIXSBqb3VybmFsOiBmaXggb3V0LW9mLWJvdW5kcyByZWFkIENWRS0yMDE4LTE2ODY2Ci0KLVRoZSBvcmlnaW5hbCBjb2RlIGRpZG4ndCBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IHN0cmNocigpIHdvdWxkIG1hdGNoIG9uIHRoZQotJ1wwJyBjaGFyYWN0ZXIsIG1ha2luZyBpdCByZWFkIHBhc3QgdGhlIGVuZCBvZiB0aGUgYnVmZmVyIGlmIG5vIG5vbi13aGl0ZXNwYWNlCi1jaGFyYWN0ZXIgd2FzIHByZXNlbnQuCi0KLVRoaXMgYnVnIHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdCBlYzVmZjQ0NDVjY2E2YSB3aGljaCB3YXMgZmlyc3QgcmVsZWFzZWQgaW4KLXN5c3RlbWQgdjIyMSBhbmQgbGF0ZXIgZml4ZWQgaW4gY29tbWl0IDg1OTUxMDJkM2RkZGU2IHdoaWNoIHdhcyByZWxlYXNlZCBpbgotdjI0MCwgc28gdmVyc2lvbnMgaW4gdGhlIHJhbmdlIFt2MjIxLCB2MjQwKSBhcmUgYWZmZWN0ZWQuCi0KLVBhdGNoIGJhY2twb3J0ZWQgZnJvbSBzeXN0ZW1kLXN0YWJsZSBhdCBmMDA1ZTczZDM3MjNkNjJhMzliZTY2MTkzMWZjYjYzNDcxMTliNTJiCi1hbHNvIGluY2x1ZGVzIGEgY2hhbmdlIGZyb20gc3lzdGVtZCBtYXN0ZXIgd2hpY2ggcmVtb3ZlcyBhIGhlYXAgYnVmZmVyIG92ZXJmbG93Ci1hNmFhZGY0YWUwYmFlMTg1ZGM0YzQxNGQ0OTJhNGE3ODFjODBmZmU1LgotCi1DVkU6IENWRS0yMDE4LTE2ODY2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBNYXJjdXMgQ29vcGVyIDxtYXJjdXNjQGF4aXMuY29tPgotLS0tCi0gc3JjL2pvdXJuYWwvam91cm5hbGQtc3lzbG9nLmMgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2pvdXJuYWwvam91cm5hbGQtc3lzbG9nLmMgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYwotaW5kZXggOWRlYTExNjcyMi4uODA5YjMxOGMwNiAxMDA2NDQKLS0tLSBhL3NyYy9qb3VybmFsL2pvdXJuYWxkLXN5c2xvZy5jCi0rKysgYi9zcmMvam91cm5hbC9qb3VybmFsZC1zeXNsb2cuYwotQEAgLTE5NCw3ICsxOTQsNyBAQCBzaXplX3Qgc3lzbG9nX3BhcnNlX2lkZW50aWZpZXIoY29uc3QgY2hhciAqKmJ1ZiwgY2hhciAqKmlkZW50aWZpZXIsIGNoYXIgKipwaWQpCi0gICAgICAgICBlID0gbDsKLSAgICAgICAgIGwtLTsKLSAKLS0gICAgICAgIGlmIChwW2wtMV0gPT0gJ10nKSB7Ci0rICAgICAgICBpZiAobCA+IDAgJiYgcFtsLTFdID09ICddJykgewotICAgICAgICAgICAgICAgICBzaXplX3QgayA9IGwtMTsKLSAKLSAgICAgICAgICAgICAgICAgZm9yICg7OykgewotQEAgLTIxOSw3ICsyMTksNyBAQCBzaXplX3Qgc3lzbG9nX3BhcnNlX2lkZW50aWZpZXIoY29uc3QgY2hhciAqKmJ1ZiwgY2hhciAqKmlkZW50aWZpZXIsIGNoYXIgKipwaWQpCi0gICAgICAgICBpZiAodCkKLSAgICAgICAgICAgICAgICAgKmlkZW50aWZpZXIgPSB0OwotIAotLSAgICAgICAgaWYgKHN0cmNocihXSElURVNQQUNFLCBwW2VdKSkKLSsgICAgICAgIGlmIChwW2VdICE9ICdcMCcgJiYgc3RyY2hyKFdISVRFU1BBQ0UsIHBbZV0pKQotICAgICAgICAgICAgICAgICBlKys7Ci0gICAgICAgICAqYnVmID0gcCArIGU7Ci0gICAgICAgICByZXR1cm4gZTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL0NWRS0yMDE5LTY0NTQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZC9DVkUtMjAxOS02NDU0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MDE3MGRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL0NWRS0yMDE5LTY0NTQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTAgKzAsMCBAQAotRGVzY3JpcHRpb246IHNkLWJ1czogZW5mb3JjZSBhIHNpemUgbGltaXQgZm9yIGRidXMgcGF0aHMsIGFuZCBkb24ndCBhbGxvY2F0ZQotIHRoZW0gb24gdGhlIHN0YWNrYQotRm9yd2FyZGVkOiBubwotCi1QYXRjaCBmcm9tOiBzeXN0ZW1kXzIzOS03dWJ1bnR1MTAuOAotCi1Gb3IgaW5mb3JtYXRpb24gc2VlOgotaHR0cHM6Ly91c24udWJ1bnR1LmNvbS8zODkxLTEvCi1odHRwczovL2dpdC5sYXVuY2hwYWQubmV0L3VidW50dS8rc291cmNlL3N5c3RlbWQvY29tbWl0Lz9pZD1mOGU3NWQ1NjM0OTA0YzhlNjcyNjU4ODU2NTA4YzNhMDJmMzQ5YWRiCi0KLUNWRTogQ1ZFLTIwMTktNjQ1NAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgTWNDb2xsaXN0ZXIgPGdlb3JnZS5tY2NvbGxpc3RlckBnbWFpbC5jb20+Ci0KLS0tLSBhL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1pbnRlcm5hbC5jCi1AQCAtNDUsNyArNDUsNyBAQAotICAgICAgICAgaWYgKHNsYXNoKQotICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLS0gICAgICAgIHJldHVybiB0cnVlOwotKyAgICAgICAgcmV0dXJuIChxIC0gcCkgPD0gQlVTX1BBVEhfU0laRV9NQVg7Ci0gfQotCi0gY2hhciogb2JqZWN0X3BhdGhfc3RhcnRzd2l0aChjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKSB7Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLWludGVybmFsLmgKLSsrKyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtaW50ZXJuYWwuaAotQEAgLTMzMyw2ICszMzMsMTAgQEAKLQotICNkZWZpbmUgQlVTX01FU1NBR0VfU0laRV9NQVggKDEyOCoxMDI0KjEwMjQpCi0gI2RlZmluZSBCVVNfQVVUSF9TSVpFX01BWCAoNjQqMTAyNCkKLSsvKiBOb3RlIHRoYXQgdGhlIEQtQnVzIHNwZWNpZmljYXRpb24gc3RhdGVzIHRoYXQgYnVzIHBhdGhzIHNoYWxsIGhhdmUgbm8gc2l6ZSBsaW1pdC4gV2UgZW5mb3JjZSBoZXJlIG9uZQotKyAqIGFueXdheSwgc2luY2UgdHJ1bHkgdW5ib3VuZGVkIHN0cmluZ3MgYXJlIGEgc2VjdXJpdHkgcHJvYmxlbS4gVGhlIGxpbWl0IHdlIHBpY2sgaXMgcmVsYXRpdmVseSBsYXJnZSBob3dldmVyLAotKyAqIHRvIG5vdCBjbGFzaCB1bm5lY2Vzc2FyaWx5IHdpdGggcmVhbC1saWZlIGFwcGxpY2F0aW9ucy4gKi8KLSsjZGVmaW5lIEJVU19QQVRIX1NJWkVfTUFYICg2NCoxMDI0KQotCi0gI2RlZmluZSBCVVNfQ09OVEFJTkVSX0RFUFRIIDEyOAotCi0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLW9iamVjdHMuYwotKysrIGIvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1vYmplY3RzLmMKLUBAIC0xMTM0LDcgKzExMzQsOCBAQAotICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRoLAotICAgICAgICAgICAgICAgICBzZF9idXNfZXJyb3IgKmVycm9yKSB7Ci0KLS0gICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci1AQCAtMTE1MCw3ICsxMTUxLDEyIEBACi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAgICAgICAvKiBTZWNvbmQsIGFkZCBmYWxsYmFjayB2dGFibGVzIHJlZ2lzdGVyZWQgZm9yIGFueSBvZiB0aGUgcHJlZml4ZXMgKi8KLS0gICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSsgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotKwotICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBvYmplY3RfbWFuYWdlcl9zZXJpYWxpemVfcGF0aChidXMsIHJlcGx5LCBwcmVmaXgsIHBhdGgsIHRydWUsIGVycm9yKTsKLSAgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQotQEAgLTEzNDYsNiArMTM1Miw3IEBACi0gfQotCi0gaW50IGJ1c19wcm9jZXNzX29iamVjdChzZF9idXMgKmJ1cywgc2RfYnVzX21lc3NhZ2UgKm0pIHsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0gICAgICAgICBpbnQgcjsKLSAgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGJvb2wgZm91bmRfb2JqZWN0ID0gZmFsc2U7Ci1AQCAtMTM3MCw5ICsxMzc3LDEyIEBACi0gICAgICAgICBhc3NlcnQobS0+bWVtYmVyKTsKLQotICAgICAgICAgcGwgPSBzdHJsZW4obS0+cGF0aCk7Ci0tICAgICAgICBkbyB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgcHJlZml4W3BsKzFdOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0rICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgIGJ1cy0+bm9kZXNfbW9kaWZpZWQgPSBmYWxzZTsKLQotICAgICAgICAgICAgICAgICByID0gb2JqZWN0X2ZpbmRfYW5kX3J1bihidXMsIG0sIG0tPnBhdGgsIGZhbHNlLCAmZm91bmRfb2JqZWN0KTsKLUBAIC0xNDk5LDkgKzE1MDksMTUgQEAKLQotICAgICAgICAgbiA9IGhhc2htYXBfZ2V0KGJ1cy0+bm9kZXMsIHBhdGgpOwotICAgICAgICAgaWYgKCFuKSB7Ci0tICAgICAgICAgICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgICAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgICAgICAgICAgc2l6ZV90IHBsOwotKwotKyAgICAgICAgICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgICAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgICAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICAgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0tICAgICAgICAgICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSAgICAgICAgICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgbiA9IGhhc2htYXBfZ2V0KGJ1cy0+bm9kZXMsIHByZWZpeCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG4pCi1AQCAtMjA5MSw4ICsyMTA3LDkgQEAKLSAgICAgICAgICAgICAgICAgY2hhciAqKm5hbWVzKSB7Ci0KLSAgICAgICAgIEJVU19ET05UX0RFU1RST1koYnVzKTsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0gICAgICAgICBib29sIGZvdW5kX2ludGVyZmFjZSA9IGZhbHNlOwotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgIGFzc2VydF9yZXR1cm4oYnVzLCAtRUlOVkFMKTsKLUBAIC0yMTExLDYgKzIxMjgsMTIgQEAKLSAgICAgICAgIGlmIChuYW1lcyAmJiBuYW1lc1swXSA9PSBOVUxMKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgIGJ1cy0+bm9kZXNfbW9kaWZpZWQgPSBmYWxzZTsKLQotQEAgLTIxMjAsNyArMjE0Myw2IEBACi0gICAgICAgICAgICAgICAgIGlmIChidXMtPm5vZGVzX21vZGlmaWVkKQotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCi0tICAgICAgICAgICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSAgICAgICAgICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgciA9IGVtaXRfcHJvcGVydGllc19jaGFuZ2VkX29uX2ludGVyZmFjZShidXMsIHByZWZpeCwgcGF0aCwgaW50ZXJmYWNlLCB0cnVlLCAmZm91bmRfaW50ZXJmYWNlLCBuYW1lcyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIgIT0gMCkKLUBAIC0yMjUyLDcgKzIyNzQsOCBAQAotCi0gc3RhdGljIGludCBvYmplY3RfYWRkZWRfYXBwZW5kX2FsbChzZF9idXMgKmJ1cywgc2RfYnVzX21lc3NhZ2UgKm0sIGNvbnN0IGNoYXIgKnBhdGgpIHsKLSAgICAgICAgIF9jbGVhbnVwX3NldF9mcmVlXyBTZXQgKnMgPSBOVUxMOwotLSAgICAgICAgY2hhciAqcHJlZml4OwotKyAgICAgICAgX2NsZWFudXBfZnJlZV8gY2hhciAqcHJlZml4ID0gTlVMTDsKLSsgICAgICAgIHNpemVfdCBwbDsKLSAgICAgICAgIGludCByOwotCi0gICAgICAgICBhc3NlcnQoYnVzKTsKLUBAIC0yMjk3LDcgKzIzMjAsMTIgQEAKLSAgICAgICAgIGlmIChidXMtPm5vZGVzX21vZGlmaWVkKQotICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLQotLSAgICAgICAgcHJlZml4ID0gYWxsb2NhKHN0cmxlbihwYXRoKSArIDEpOwotKyAgICAgICAgcGwgPSBzdHJsZW4ocGF0aCk7Ci0rICAgICAgICBhc3NlcnQocGwgPD0gQlVTX1BBVEhfU0laRV9NQVgpOwotKyAgICAgICAgcHJlZml4ID0gbmV3KGNoYXIsIHBsICsgMSk7Ci0rICAgICAgICBpZiAoIXByZWZpeCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0rCi0gICAgICAgICBPQkpFQ1RfUEFUSF9GT1JFQUNIX1BSRUZJWChwcmVmaXgsIHBhdGgpIHsKLSAgICAgICAgICAgICAgICAgciA9IG9iamVjdF9hZGRlZF9hcHBlbmRfYWxsX3ByZWZpeChidXMsIG0sIHMsIHByZWZpeCwgcGF0aCwgdHJ1ZSk7Ci0gICAgICAgICAgICAgICAgIGlmIChyIDwgMCkKLUBAIC0yNDM2LDcgKzI0NjQsOCBAQAotCi0gc3RhdGljIGludCBvYmplY3RfcmVtb3ZlZF9hcHBlbmRfYWxsKHNkX2J1cyAqYnVzLCBzZF9idXNfbWVzc2FnZSAqbSwgY29uc3QgY2hhciAqcGF0aCkgewotICAgICAgICAgX2NsZWFudXBfc2V0X2ZyZWVfIFNldCAqcyA9IE5VTEw7Ci0tICAgICAgICBjaGFyICpwcmVmaXg7Ci0rICAgICAgICBfY2xlYW51cF9mcmVlXyBjaGFyICpwcmVmaXggPSBOVUxMOwotKyAgICAgICAgc2l6ZV90IHBsOwotICAgICAgICAgaW50IHI7Ci0KLSAgICAgICAgIGFzc2VydChidXMpOwotQEAgLTI0NjgsNyArMjQ5NywxMiBAQAotICAgICAgICAgaWYgKGJ1cy0+bm9kZXNfbW9kaWZpZWQpCi0gICAgICAgICAgICAgICAgIHJldHVybiAwOwotCi0tICAgICAgICBwcmVmaXggPSBhbGxvY2Eoc3RybGVuKHBhdGgpICsgMSk7Ci0rICAgICAgICBwbCA9IHN0cmxlbihwYXRoKTsKLSsgICAgICAgIGFzc2VydChwbCA8PSBCVVNfUEFUSF9TSVpFX01BWCk7Ci0rICAgICAgICBwcmVmaXggPSBuZXcoY2hhciwgcGwgKyAxKTsKLSsgICAgICAgIGlmICghcHJlZml4KQotKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKLSsKLSAgICAgICAgIE9CSkVDVF9QQVRIX0ZPUkVBQ0hfUFJFRklYKHByZWZpeCwgcGF0aCkgewotICAgICAgICAgICAgICAgICByID0gb2JqZWN0X3JlbW92ZWRfYXBwZW5kX2FsbF9wcmVmaXgoYnVzLCBtLCBzLCBwcmVmaXgsIHBhdGgsIHRydWUpOwotICAgICAgICAgICAgICAgICBpZiAociA8IDApCi1AQCAtMjYxOCw3ICsyNjUyLDggQEAKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aCwKLSAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW50ZXJmYWNlKSB7Ci0KLS0gICAgICAgIGNoYXIgKnByZWZpeDsKLSsgICAgICAgIF9jbGVhbnVwX2ZyZWVfIGNoYXIgKnByZWZpeCA9IE5VTEw7Ci0rICAgICAgICBzaXplX3QgcGw7Ci0gICAgICAgICBpbnQgcjsKLQotICAgICAgICAgYXNzZXJ0KGJ1cyk7Ci1AQCAtMjYzMiw3ICsyNjY3LDEyIEBACi0gICAgICAgICBpZiAoYnVzLT5ub2Rlc19tb2RpZmllZCkKLSAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLS0gICAgICAgIHByZWZpeCA9IGFsbG9jYShzdHJsZW4ocGF0aCkgKyAxKTsKLSsgICAgICAgIHBsID0gc3RybGVuKHBhdGgpOwotKyAgICAgICAgYXNzZXJ0KHBsIDw9IEJVU19QQVRIX1NJWkVfTUFYKTsKLSsgICAgICAgIHByZWZpeCA9IG5ldyhjaGFyLCBwbCArIDEpOwotKyAgICAgICAgaWYgKCFwcmVmaXgpCi0rICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwotKwotICAgICAgICAgT0JKRUNUX1BBVEhfRk9SRUFDSF9QUkVGSVgocHJlZml4LCBwYXRoKSB7Ci0gICAgICAgICAgICAgICAgIHIgPSBpbnRlcmZhY2VzX2FkZGVkX2FwcGVuZF9vbmVfcHJlZml4KGJ1cywgbSwgcHJlZml4LCBwYXRoLCBpbnRlcmZhY2UsIHRydWUpOwotICAgICAgICAgICAgICAgICBpZiAociAhPSAwKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kL3NkLWJ1cy1pZi13ZS1yZWNlaXZlLWFuLWludmFsaWQtZGJ1cy1tZXNzYWdlLWlnbm9yZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU3MzExZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN0ZW1kL3N5c3RlbWQvc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLURlc2NyaXB0aW9uOiBzZC1idXM6IGlmIHdlIHJlY2VpdmUgYW4gaW52YWxpZCBkYnVzIG1lc3NhZ2UsIGlnbm9yZSBhbmQKLSBwcm9jZWVlZAotIC4KLSBkYnVzLWRhZW1vbiBtaWdodCBoYXZlIGEgc2xpZ2h0bHkgZGlmZmVyZW50IGlkZWEgb2Ygd2hhdCBhIHZhbGlkIG1zZyBpcwotIHRoYW4gdXMgKGZvciBleGFtcGxlIHJlZ2FyZGluZyB2YWxpZCBtc2cgYW5kIGZpZWxkIHNpemVzKS4gTGV0J3MgaGVuY2UKLSB0cnkgdG8gcHJvY2VlZCBpZiB3ZSBjYW4gYW5kIHRodXMgZHJvcCBtZXNzYWdlcyByYXRoZXIgdGhhbiBmYWlsIHRoZQotIGNvbm5lY3Rpb24gaWYgd2UgZmFpbCB0byB2YWxpZGF0ZSBhIG1lc3NhZ2UuCi0gLgotIEhvcGVmdWxseSB0aGUgZGlmZmVyZW5jZXMgaW4gd2hhdCBpcyBjb25zaWRlcmVkIHZhbGlkIGFyZSBub3QgdmlzaWJsZQotIGZvciByZWFsLWxpZmUgdXNlY2FzZXMsIGJ1dCBhcmUgc3BlY2lmaWMgdG8gZXhwbG9pdCBhdHRlbXB0cyBvbmx5LgotQXV0aG9yOiBMZW5uYXJ0IFBvZXR0ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+Ci1Gb3J3YXJkZWQ6IG90aGVyLGh0dHBzOi8vZ2l0aHViLmNvbS9zeXN0ZW1kL3N5c3RlbWQvcHVsbC8xMTcwOC8KLQotUGF0Y2ggZnJvbTogc3lzdGVtZF8yMzktN3VidW50dTEwLjgKLQotRm9yIGluZm9ybWF0aW9uIHNlZToKLWh0dHBzOi8vdXNuLnVidW50dS5jb20vMzg5MS0xLwotaHR0cHM6Ly9naXQubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9zeXN0ZW1kL2NvbW1pdC8/aWQ9ZjhlNzVkNTYzNDkwNGM4ZTY3MjY1ODg1NjUwOGMzYTAyZjM0OWFkYgotCi1DVkU6IENWRS0yMDE5LTY0NTQKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogR2VvcmdlIE1jQ29sbGlzdGVyIDxnZW9yZ2UubWNjb2xsaXN0ZXJAZ21haWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnN5c3RlbWQvc2QtYnVzL2J1cy1zb2NrZXQuYyBiL3NyYy9saWJzeXN0ZW1kL3NkLWJ1cy9idXMtc29ja2V0LmMKLWluZGV4IDMwZDY0NTViNmYuLjQ0MWI0YTgxNmYgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLXNvY2tldC5jCi0rKysgYi9zcmMvbGlic3lzdGVtZC9zZC1idXMvYnVzLXNvY2tldC5jCi1AQCAtMTA3Miw3ICsxMDcyLDcgQEAgc3RhdGljIGludCBidXNfc29ja2V0X3JlYWRfbWVzc2FnZV9uZWVkKHNkX2J1cyAqYnVzLCBzaXplX3QgKm5lZWQpIHsKLSB9Ci0KLSBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotLSAgICAgICAgc2RfYnVzX21lc3NhZ2UgKnQ7Ci0rICAgICAgICBzZF9idXNfbWVzc2FnZSAqdCA9IE5VTEw7Ci0gICAgICAgICB2b2lkICpiOwotICAgICAgICAgaW50IHI7Ci0KLUBAIC0xMDk3LDcgKzEwOTcsOSBAQCBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1cy0+ZmRzLCBidXMtPm5fZmRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnQpOwotLSAgICAgICAgaWYgKHIgPCAwKSB7Ci0rICAgICAgICBpZiAociA9PSAtRUJBRE1TRykKLSsgICAgICAgICAgICAgICAgbG9nX2RlYnVnX2Vycm5vKHIsICJSZWNlaXZlZCBpbnZhbGlkIG1lc3NhZ2UgZnJvbSBjb25uZWN0aW9uICVzLCBkcm9wcGluZy4iLCBzdHJuYShidXMtPmRlc2NyaXB0aW9uKSk7Ci0rICAgICAgICBlbHNlIGlmIChyIDwgMCkgewotICAgICAgICAgICAgICAgICBmcmVlKGIpOwotICAgICAgICAgICAgICAgICByZXR1cm4gcjsKLSAgICAgICAgIH0KLUBAIC0xMTA4LDcgKzExMTAsOCBAQCBzdGF0aWMgaW50IGJ1c19zb2NrZXRfbWFrZV9tZXNzYWdlKHNkX2J1cyAqYnVzLCBzaXplX3Qgc2l6ZSkgewotICAgICAgICAgYnVzLT5mZHMgPSBOVUxMOwotICAgICAgICAgYnVzLT5uX2ZkcyA9IDA7Ci0KLS0gICAgICAgIGJ1cy0+cnF1ZXVlW2J1cy0+cnF1ZXVlX3NpemUrK10gPSB0OwotKyAgICAgICAgaWYgKHQpCi0rICAgICAgICAgICAgICAgIGJ1cy0+cnF1ZXVlW2J1cy0+cnF1ZXVlX3NpemUrK10gPSB0OwotCi0gICAgICAgICByZXR1cm4gMTsKLSB9Ci0tLQotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzIzOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ZiZDY0Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yMzkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2NjYgKzAsMCBAQAotcmVxdWlyZSBzeXN0ZW1kLmluYwotCi1QUk9WSURFUyA9ICJ1ZGV2IgotCi1QRSA9ICIxIgotCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBncGVyZi1uYXRpdmUgbGliY2FwIHV0aWwtbGludXgiCi0KLVNFQ1RJT04gPSAiYmFzZS9zaGVsbCIKLQotaW5oZXJpdCB1c2VyYWRkIHBrZ2NvbmZpZyBtZXNvbiBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcWVtdSBzeXN0ZW1kIGdldHRleHQgYmFzaC1jb21wbGV0aW9uIG1hbnBhZ2VzIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIEFzIHRoaXMgcmVjaXBlIGJ1aWxkcyB1ZGV2LCByZXNwZWN0IHN5c3RlbWQgYmVpbmcgaW4gRElTVFJPX0ZFQVRVUkVTIHNvCi0jIHRoYXQgd2UgZG9uJ3QgYnVpbGQgYm90aCB1ZGV2IGFuZCBzeXN0ZW1kIGluIHdvcmxkIGJ1aWxkcy4KLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vdG91Y2hzY3JlZW4ucnVsZXMgXAotICAgICAgICAgICBmaWxlOi8vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1NYWtlLXJvb3Qtcy1ob21lLWRpcmVjdG9yeS1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi1yZW1vdmUtbm9ib2R5LXVzZXItZ3JvdXAtY2hlY2tpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtRG8tbm90LWVuYWJsZS1uc3MtdGVzdHMtaWYtbnNzLXN5c3RlbWQtaXMtbm90LWVuYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA5LW5zcy1teW1hY2hpbmVzLUJ1aWxkLWNvbmRpdGlvbmFsbHktd2hlbi1FTkFCTEVfTVlIT1MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1sb2dpbi11c2UtcGFyc2VfdWlkLXdoZW4tdW5tb3VudGluZy11c2VyLXJ1bnRpbWUtZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc2QtYnVzLW1ha2UtQlVTX0RFRkFVTFRfVElNRU9VVC1jb25maWd1cmFibGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMi1idWlsZC1zeXMtRGV0ZWN0LXdoZXRoZXItc3RydWN0LXN0YXR4LWlzLWRlZmluZWQtaW4tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjMtcmVzb2x2Y29uZi1maXhlcy1mb3ItdGhlLWNvbXBhdGliaWxpdHktaW50ZXJmYWNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtY29yZS13aGVuLWRlc2VyaWFsaXppbmctc3RhdGUtYWx3YXlzLXVzZS1yZWFkX2xpbmUtTC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNob3duLXJlY3Vyc2l2ZS1sZXQtcy1yZXdvcmstdGhlLXJlY3Vyc2l2ZS1sb2dpYy10by0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kaGNwNi1tYWtlLXN1cmUtd2UtaGF2ZS1lbm91Z2gtc3BhY2UtZm9yLXRoZS1ESENQNi1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LXN5c2N0bC5kLXJlcXVlc3QtRUNOLW9uLWJvdGgtaW4tYW5kLW91dGdvaW5nLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXRpbWVzeW5jLWNoYW5nZXMtdHlwZS1vZi1kcmlmdF9mcmVxLXRvLWludDY0X3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1zeXNjdGwtRG9uLXQtcGFzcy1udWxsLWRpcmVjdGl2ZS1hcmd1bWVudC10by1zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItY29yZS1GaXgtdXNlLWFmdGVyLWZyZWUtY2FzZS1pbi1sb2FkX2Zyb21fcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLXJlbmFtZS1EZGVidWctdG8tRGRlYnVnLWV4dHJhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtam91cm5hbGQtZG8tbm90LXN0b3JlLXRoZS1pb3ZlYy1lbnRyeS1mb3ItcHJvY2Vzcy1jby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LWpvdXJuYWxkLXNldC1hLWxpbWl0LW9uLXRoZS1udW1iZXItb2YtZmllbGRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtam91cm5hbC1maXgtb3V0LW9mLWJvdW5kcy1yZWFkLUNWRS0yMDE4LTE2ODY2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTY0NTQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2QtYnVzLWlmLXdlLXJlY2VpdmUtYW4taW52YWxpZC1kYnVzLW1lc3NhZ2UtaWdub3JlLS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotIyBwYXRjaGVzIG1hZGUgZm9yIG11c2wgYXJlIG9ubHkgYXBwbGllZCBvbiBUQ0xJQkMgaXMgbXVzbAotU1JDX1VSSSArPSAiJHtTUkNfVVJJX01VU0x9IgotU1JDX1VSSV9NVVNMID0gImZpbGU6Ly8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDMtY29tcGFyaXNvbl9mbl90LWlzLWdsaWJjLXNwZWNpZmljLXVzZS1yYXctc2lnbmF0dXJlLS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwNS1pbmNsdWRlLWdzaGFkb3ctb25seS1pZi1FTkFCTEVfR1NIQURPVy1pcy0xLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LXNyYy1iYXNpYy1taXNzaW5nLmgtY2hlY2stZm9yLW1pc3Npbmctc3RybmR1cGEucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDctSW5jbHVkZS1uZXRpbmV0LWlmX2V0aGVyLmgucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMDgtZG9uLXQtZmFpbC1pZi1HTE9CX0JSQUNFLWFuZC1HTE9CX0FMVERJUkZVTkMtaXMtbm90LS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAwOS1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxMC1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxMS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLV9fY29tcGFyX2ZuX3QtLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEyLWZpeC1taXNzaW5nLW9mLV9fcmVnaXN0ZXJfYXRmb3JrLWZvci1ub24tZ2xpYmMtYnVpbGQucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTMtVXNlLXVpbnRtYXhfdC1mb3ItaGFuZGxpbmctcmxpbV90LnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE0LWZpeC1taXNzaW5nLVVMT05HX0xPTkdfTUFYLWRlZmluaXRpb24taW4tY2FzZS1vZi1tdXMucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTUtdGVzdC1oZXhkZWNvY3QuYy1JbmNsdWRlLW1pc3NpbmcuaC1mb3Itc3RybmR1cGEucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTYtdGVzdC1zaXplb2YuYy1EaXNhYmxlLXRlc3RzLWZvci1taXNzaW5nLXR5cGVkZWZzLWluLS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxNy1kb24tdC1wYXNzLUFUX1NZTUxJTktfTk9GT0xMT1ctZmxhZy10by1mYWNjZXNzYXQucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMTgtRGVmaW5lLWdsaWJjLWNvbXBhdGlibGUtYmFzZW5hbWUtZm9yLW5vbi1nbGliYy1zeXN0ZS5wYXRjaCBcCi0gICAgICAgICAgICAgICBmaWxlOi8vMDAxOS1Eby1ub3QtZGlzYWJsZS1idWZmZXJpbmctd2hlbi13cml0aW5nLXRvLW9vbV9zY29yZV9hLnBhdGNoIFwKLSAgICAgICAgICAgICAgIGZpbGU6Ly8wMDIwLWRpc3Rpbmd1aXNoLVhTSS1jb21wbGlhbnQtc3RyZXJyb3Jfci1mcm9tLUdOVS1zcGVjaWYucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovLzAwMjEtSGlkZS1fX3N0YXJ0X0JVU19FUlJPUl9NQVAtYW5kLV9fc3RvcF9CVVNfRVJST1JfTUFQLnBhdGNoIFwKLSAgICAgICAgICAgICAgICIKLQotIyBXb3JrYXJvdW5kIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwnIG9uIHFlbXV4ODYgYW5kIHFlbXVwcGMgZm9yIG11c2wKLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbF9xZW11eDg2ID0gIiBmaWxlOi8vMDAwMS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1mbGFncy10by13b3JrYXJvdW5kLW11c2wtYnVpLnBhdGNoIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsX3FlbXVwcGMgPSAiIGZpbGU6Ly8wMDAxLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLWZsYWdzLXRvLXdvcmthcm91bmQtbXVzbC1idWkucGF0Y2giCi0KLVBBTV9QTFVHSU5TID0gIiBcCi0gICAgcGFtLXBsdWdpbi11bml4IFwKLSAgICBwYW0tcGx1Z2luLWxvZ2ludWlkIFwKLSAgICBwYW0tcGx1Z2luLWtleWluaXQgXAotIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdlZmkgbGRjb25maWcgcGFtIHNlbGludXggdXNybWVyZ2UnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsICdyZmtpbGwnLCAnJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4a2Jjb21tb24nLCAnJywgZCl9IFwKLSAgICBhY2wgXAotICAgIGJhY2tsaWdodCBcCi0gICAgYmluZm10IFwKLSAgICBmaXJzdGJvb3QgXAotICAgIGdzaGFkb3cgXAotICAgIGhpYmVybmF0ZSBcCi0gICAgaG9zdG5hbWVkIFwKLSAgICBpbWEgXAotICAgIGttb2QgXAotICAgIGxvY2FsZWQgXAotICAgIGxvZ2luZCBcCi0gICAgbWFjaGluZWQgXAotICAgIG15aG9zdG5hbWUgXAotICAgIG5ldHdvcmtkIFwKLSAgICBuc3MgXAotICAgIHBvbGtpdCBcCi0gICAgcXVvdGFjaGVjayBcCi0gICAgcmFuZG9tc2VlZCBcCi0gICAgcmVzb2x2ZWQgXAotICAgIHNtYWNrIFwKLSAgICBzeXN1c2VycyBcCi0gICAgdGltZWRhdGVkIFwKLSAgICB0aW1lc3luY2QgXAotICAgIHV0bXAgXAotICAgIHZjb25zb2xlIFwKLSAgICB4eiBcCi0iCi0KLVBBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICIgXAotICAgIGdzaGFkb3cgXAotICAgIGxvY2FsZWQgXAotICAgIG15aG9zdG5hbWUgXAotICAgIG5zcyBcCi0gICAgcmVzb2x2ZWQgXAotICAgIHNlbGludXggXAotICAgIHNtYWNrIFwKLSAgICBzeXN1c2VycyBcCi0gICAgdXRtcCBcCi0iCi0KLSMgVXNlIHRoZSB1cHN0cmVhbSBzeXN0ZW1kIHNlcmlhbC1nZXR0eUAuc2VydmljZSBhbmQgcmVseSBvbgotIyBzeXN0ZW1kLWdldHR5LWdlbmVyYXRvciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBPRS1jb3JlIHNwZWNpZmljCi0jIHN5c3RlbWQtc2VyaWFsZ2V0dHkuYmIgLSBub3QgZW5hYmxlZCBieSBkZWZhdWx0LgotUEFDS0FHRUNPTkZJR1tzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yXSA9ICIiCi0KLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItRGFjbD10cnVlLC1EYWNsPWZhbHNlLGFjbCIKLVBBQ0tBR0VDT05GSUdbYXVkaXRdID0gIi1EYXVkaXQ9dHJ1ZSwtRGF1ZGl0PWZhbHNlLGF1ZGl0IgotUEFDS0FHRUNPTkZJR1tiYWNrbGlnaHRdID0gIi1EYmFja2xpZ2h0PXRydWUsLURiYWNrbGlnaHQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2JpbmZtdF0gPSAiLURiaW5mbXQ9dHJ1ZSwtRGJpbmZtdD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbYnppcDJdID0gIi1EYnppcDI9dHJ1ZSwtRGJ6aXAyPWZhbHNlLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tjb3JlZHVtcF0gPSAiLURjb3JlZHVtcD10cnVlLC1EY29yZWR1bXA9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2NyeXB0c2V0dXBdID0gIi1EbGliY3J5cHRzZXR1cD10cnVlLC1EbGliY3J5cHRzZXR1cD1mYWxzZSxjcnlwdHNldHVwIgotUEFDS0FHRUNPTkZJR1tkYnVzXSA9ICItRGRidXM9dHJ1ZSwtRGRidXM9ZmFsc2UsZGJ1cyIKLVBBQ0tBR0VDT05GSUdbZWZpXSA9ICItRGVmaT10cnVlLC1EZWZpPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tlbGZ1dGlsc10gPSAiLURlbGZ1dGlscz10cnVlLC1EZWxmdXRpbHM9ZmFsc2UsZWxmdXRpbHMiCi1QQUNLQUdFQ09ORklHW2ZpcnN0Ym9vdF0gPSAiLURmaXJzdGJvb3Q9dHJ1ZSwtRGZpcnN0Ym9vdD1mYWxzZSIKLSMgU2lnbiB0aGUgam91cm5hbCBmb3IgYW50aS10YW1wZXJpbmcKLVBBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItRGdjcnlwdD10cnVlLC1EZ2NyeXB0PWZhbHNlLGxpYmdjcnlwdCIKLVBBQ0tBR0VDT05GSUdbZ251dGxzXSA9ICItRGdudXRscz10cnVlLC1EZ251dGxzPWZhbHNlLGdudXRscyIKLVBBQ0tBR0VDT05GSUdbZ3NoYWRvd10gPSAiLURnc2hhZG93PXRydWUsLURnc2hhZG93PWZhbHNlIgotUEFDS0FHRUNPTkZJR1toaWJlcm5hdGVdID0gIi1EaGliZXJuYXRlPXRydWUsLURoaWJlcm5hdGU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2hvc3RuYW1lZF0gPSAiLURob3N0bmFtZWQ9dHJ1ZSwtRGhvc3RuYW1lZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbaW1hXSA9ICItRGltYT10cnVlLC1EaW1hPWZhbHNlIgotIyBpbXBvcnRkIHJlcXVpcmVzIGN1cmwveHovemxpYi9iemlwMi9nY3J5cHQKLVBBQ0tBR0VDT05GSUdbaW1wb3J0ZF0gPSAiLURpbXBvcnRkPXRydWUsLURpbXBvcnRkPWZhbHNlIgotIyBVcGRhdGUgTkFUIGZpcmV3YWxsIHJ1bGVzCi1QQUNLQUdFQ09ORklHW2lwdGNdID0gIi1EbGliaXB0Yz10cnVlLC1EbGliaXB0Yz1mYWxzZSxpcHRhYmxlcyIKLVBBQ0tBR0VDT05GSUdbam91cm5hbC11cGxvYWRdID0gIi1EbGliY3VybD10cnVlLC1EbGliY3VybD1mYWxzZSxjdXJsIgotUEFDS0FHRUNPTkZJR1trbW9kXSA9ICItRGttb2Q9dHJ1ZSwtRGttb2Q9ZmFsc2Usa21vZCIKLVBBQ0tBR0VDT05GSUdbbGRjb25maWddID0gIi1EbGRjb25maWc9dHJ1ZSwtRGxkY29uZmlnPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi1EbGliaWRuPXRydWUsLURsaWJpZG49ZmFsc2UsbGliaWRuIgotUEFDS0FHRUNPTkZJR1tsb2NhbGVkXSA9ICItRGxvY2FsZWQ9dHJ1ZSwtRGxvY2FsZWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2xvZ2luZF0gPSAiLURsb2dpbmQ9dHJ1ZSwtRGxvZ2luZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbbHo0XSA9ICItRGx6ND10cnVlLC1EbHo0PWZhbHNlLGx6NCIKLVBBQ0tBR0VDT05GSUdbbWFjaGluZWRdID0gIi1EbWFjaGluZWQ9dHJ1ZSwtRG1hY2hpbmVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLURtYW49dHJ1ZSwtRG1hbj1mYWxzZSxsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgotUEFDS0FHRUNPTkZJR1ttaWNyb2h0dHBkXSA9ICItRG1pY3JvaHR0cGQ9dHJ1ZSwtRG1pY3JvaHR0cGQ9ZmFsc2UsbGlibWljcm9odHRwZCIKLVBBQ0tBR0VDT05GSUdbbXlob3N0bmFtZV0gPSAiLURteWhvc3RuYW1lPXRydWUsLURteWhvc3RuYW1lPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tuZXR3b3JrZF0gPSAiLURuZXR3b3JrZD10cnVlLC1EbmV0d29ya2Q9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW25zc10gPSAiLURuc3Mtc3lzdGVtZD10cnVlLC1EbnNzLXN5c3RlbWQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3BhbV0gPSAiLURwYW09dHJ1ZSwtRHBhbT1mYWxzZSxsaWJwYW0sJHtQQU1fUExVR0lOU30iCi1QQUNLQUdFQ09ORklHW3BvbGtpdF0gPSAiLURwb2xraXQ9dHJ1ZSwtRHBvbGtpdD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbcG9ydGFibGVkXSA9ICItRHBvcnRhYmxlZD10cnVlLC1EcG9ydGFibGVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1txcmVuY29kZV0gPSAiLURxcmVuY29kZT10cnVlLC1EcXJlbmNvZGU9ZmFsc2UscXJlbmNvZGUiCi1QQUNLQUdFQ09ORklHW3F1b3RhY2hlY2tdID0gIi1EcXVvdGFjaGVjaz10cnVlLC1EcXVvdGFjaGVjaz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbcmFuZG9tc2VlZF0gPSAiLURyYW5kb21zZWVkPXRydWUsLURyYW5kb21zZWVkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tyZXNvbHZlZF0gPSAiLURyZXNvbHZlPXRydWUsLURyZXNvbHZlPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tyZmtpbGxdID0gIi1EcmZraWxsPXRydWUsLURyZmtpbGw9ZmFsc2UiCi0jIGxpYnNlY2NvbXAgaXMgZm91bmQgaW4gbWV0YS1zZWN1cml0eQotUEFDS0FHRUNPTkZJR1tzZWNjb21wXSA9ICItRHNlY2NvbXA9dHJ1ZSwtRHNlY2NvbXA9ZmFsc2UsbGlic2VjY29tcCIKLVBBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLURzZWxpbnV4PXRydWUsLURzZWxpbnV4PWZhbHNlLGxpYnNlbGludXgsaW5pdHNjcmlwdHMtc3VzaGVsbCIKLVBBQ0tBR0VDT05GSUdbc21hY2tdID0gIi1Ec21hY2s9dHJ1ZSwtRHNtYWNrPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tzeXN1c2Vyc10gPSAiLURzeXN1c2Vycz10cnVlLC1Ec3lzdXNlcnM9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3RpbWUtZXBvY2hdID0gIi1EdGltZS1lcG9jaD0wLCwiCi1QQUNLQUdFQ09ORklHW3RpbWVkYXRlZF0gPSAiLUR0aW1lZGF0ZWQ9dHJ1ZSwtRHRpbWVkYXRlZD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdGltZXN5bmNkXSA9ICItRHRpbWVzeW5jZD10cnVlLC1EdGltZXN5bmNkPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t1c3JtZXJnZV0gPSAiLURzcGxpdC11c3I9ZmFsc2UsLURzcGxpdC11c3I9dHJ1ZSIKLVBBQ0tBR0VDT05GSUdbc2Jpbm1lcmdlXSA9ICItRHNwbGl0LWJpbj1mYWxzZSwtRHNwbGl0LWJpbj10cnVlIgotUEFDS0FHRUNPTkZJR1t1dG1wXSA9ICItRHV0bXA9dHJ1ZSwtRHV0bXA9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItRFZBTEdSSU5EPTEsLHZhbGdyaW5kIgotUEFDS0FHRUNPTkZJR1t2Y29uc29sZV0gPSAiLUR2Y29uc29sZT10cnVlLC1EdmNvbnNvbGU9ZmFsc2UsLCR7UE59LXZjb25zb2xlLXNldHVwIgotIyBWZXJpZnkga2V5bWFwcyBvbiBsb2NhbGUgY2hhbmdlCi1QQUNLQUdFQ09ORklHW3hrYmNvbW1vbl0gPSAiLUR4a2Jjb21tb249dHJ1ZSwtRHhrYmNvbW1vbj1mYWxzZSxsaWJ4a2Jjb21tb24iCi1QQUNLQUdFQ09ORklHW3h6XSA9ICItRHh6PXRydWUsLUR4ej1mYWxzZSx4eiIKLVBBQ0tBR0VDT05GSUdbemxpYl0gPSAiLUR6bGliPXRydWUsLUR6bGliPWZhbHNlLHpsaWIiCi0KLSMgSGVscGVyIHZhcmlhYmxlcyB0byBjbGFyaWZ5IGxvY2F0aW9ucy4gIFRoaXMgbWlycm9ycyB0aGUgbG9naWMgaW4gc3lzdGVtZCdzCi0jIGJ1aWxkIHN5c3RlbS4KLXJvb3RwcmVmaXggPz0gIiR7cm9vdF9wcmVmaXh9Igotcm9vdGxpYmRpciA/PSAiJHtiYXNlX2xpYmRpcn0iCi1yb290bGliZXhlY2RpciA9ICIke3Jvb3RwcmVmaXh9L2xpYiIKLQotIyBUaGlzIGxpbmtzIHVkZXYgc3RhdGljYWxseSB3aXRoIHN5c3RlbWQgaGVscGVyIGxpYnJhcnkuCi0jIE90aGVyd2lzZSB1ZGV2IHBhY2thZ2Ugd291bGQgZGVwZW5kIG9uIHN5c3RlbWQgcGFja2FnZSAod2hpY2ggaGFzIHRoZSBuZWVkZWQgc2hhcmVkIGxpYnJhcnkpLAotIyBhbmQgYWx3YXlzIHB1bGwgaXQgaW50byBpbWFnZXMuCi1FWFRSQV9PRU1FU09OICs9ICItRGxpbmstdWRldi1zaGFyZWQ9ZmFsc2UiCi0KLUVYVFJBX09FTUVTT04gKz0gIi1Ebm9ib2R5LXVzZXI9bm9ib2R5IFwKLSAgICAgICAgICAgICAgICAgIC1Ebm9ib2R5LWdyb3VwPW5vYm9keSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3Rob21lZGlyPSR7Uk9PVF9IT01FfSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3RsaWJkaXI9JHtyb290bGliZGlyfSBcCi0gICAgICAgICAgICAgICAgICAtRHJvb3RwcmVmaXg9JHtyb290cHJlZml4fSBcCi0gICAgICAgICAgICAgICAgICAtRHN5c3ZyY25kLXBhdGg9JHtzeXNjb25mZGlyfSBcCi0gICAgICAgICAgICAgICAgICAiCi0KLSMgSGFyZGNvZGUgdGFyZ2V0IGJpbmFyeSBwYXRocyB0byBhdm9pZCB1c2luZyBwYXRocyBmcm9tIHN5c3Jvb3QKLUVYVFJBX09FTUVTT04gKz0gIi1Ea2V4ZWMtcGF0aD0ke3NiaW5kaXJ9L2tleGVjIFwKLSAgICAgICAgICAgICAgICAgIC1Ea2lsbC1wYXRoPSR7YmFzZV9iaW5kaXJ9L2tpbGwgXAotICAgICAgICAgICAgICAgICAgLURrbW9kLXBhdGg9JHtiYXNlX2JpbmRpcn0va21vZCBcCi0gICAgICAgICAgICAgICAgICAtRG1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vbW91bnQgXAotICAgICAgICAgICAgICAgICAgLURxdW90YWNoZWNrLXBhdGg9JHtzYmluZGlyfS9xdW90YWNoZWNrIFwKLSAgICAgICAgICAgICAgICAgIC1EcXVvdGFvbi1wYXRoPSR7c2JpbmRpcn0vcXVvdGFvbiBcCi0gICAgICAgICAgICAgICAgICAtRHN1bG9naW4tcGF0aD0ke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbiBcCi0gICAgICAgICAgICAgICAgICAtRHVtb3VudC1wYXRoPSR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKLQotZG9faW5zdGFsbCgpIHsKLQltZXNvbl9kb19pbnN0YWxsCi0JaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgotCQkjIFByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcmVjaXBlCi0JCXJtICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NlcmlhbC1nZXR0eSogLWYKLQlmaQotCi0JIyBQcm92aWRlIHN1cHBvcnQgZm9yIGluaXRyYW1mcwotCVsgISAtZSAke0R9L2luaXQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQgJHtEfS9pbml0Ci0JWyAhIC1lICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIF0gJiYgbG4gLXMgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkCi0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKLQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KLQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCi0JaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vc3JjL3VkZXYvdWRldi5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KLQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzAwLWNyZWF0ZS12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAotCQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCi0JCXNlZCAtaSBzJUBVREVWREAlJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkJSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzdGVtZC11ZGV2ZAotCWZpCi0KLQljaG93biByb290OnN5c3RlbWQtam91cm5hbCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL2pvdXJuYWwKLQotCSMgRGVsZXRlIGpvdXJuYWwgUkVBRE1FLCBhcyBsb2cgY2FuIGJlIHN5bWxpbmtlZCBpbnNpZGUgdm9sYXRpbGUuCi0Jcm0gLWYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9SRUFETUUKLQotCSMgam91cm5hbC1yZW1vdGUgY3JlYXRlcyB0aGlzIGF0IHN0YXJ0Ci0Jcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbC9yZW1vdGUKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvd2Vyb2ZmLnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cwotCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cwotCi0JIyBDcmVhdGUgc3ltbGlua3MgZm9yIHN5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3V0bXAnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2dyYXBoaWNhbC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQotCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JlYm9vdC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCi0JCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKLQlmaQotCi0JIyB0aGlzIGZpbGUgaXMgbmVlZGVkIHRvIGV4aXN0IGlmIG5ldHdvcmtkIGlzIGRpc2FibGVkIGJ1dCB0aW1lc3luY2QgaXMgc3RpbGwgaW4gdXNlIHNpbmNlIHRpbWVzeW5jZCBjaGVja3MgaXQKLQkjIGZvciBleGlzdGVuY2UgZWxzZSBpdCBmYWlscwotCWlmIFsgLXMgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZiBdOyB0aGVuCi0JCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ25ldHdvcmtkJywgJzonLCAnc2VkIC1pIC1lICJcJGFkIC9ydW4vc3lzdGVtZC9uZXRpZi9saW5rcyAwNzU1IHJvb3Qgcm9vdCAtIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mJywgZCl9Ci0JZmkKLQlpZiAhICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmVkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJZWNobyAnTCEgJHtzeXNjb25mZGlyfS9yZXNvbHYuY29uZiAtIC0gLSAtIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2V0Yy5jb25mCi0JCWVjaG8gJ2QgL3J1bi9zeXN0ZW1kL3Jlc29sdmUgMDc1NSByb290IHJvb3QgLScgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCi0JCWVjaG8gJ2YgL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgMDY0NCByb290IHJvb3QnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZgotCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKLQllbHNlCi0JCXNlZCAtaSAtZSAicyVeTCEgL2V0Yy9yZXNvbHYuY29uZi4qJCVMISAvZXRjL3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiVnIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKLQkJbG4gLXMgLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kCi0JZmkKLQlpbnN0YWxsIC1EbSAwNzU1ICR7U30vc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbWQtc3lzdi1pbnN0YWxsCi0KLQkjIElmIHBvbGtpdCBpcyBzZXR1cCBmaXh1cCBwZXJtaXNzaW9ucyBhbmQgb3duZXJzaGlwCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJaWYgWyAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kIF07IHRoZW4KLQkJCWNobW9kIDcwMCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCi0JCQljaG93biBwb2xraXRkOnJvb3QgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAotCQlmaQotCWZpCi0KLQkjIGNvbmYgZmlsZXMgYXJlIGhhbmRsZWQgYnkgc3lzdGVtZC1jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vbWFjaGluZS1pZAotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvY29yZWR1bXAuY29uZgotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbGQuY29uZgotCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvbG9naW5kLmNvbmYKLQlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3N5c3RlbS5jb25mCi0Jcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC91c2VyLmNvbmYKLQotCSMgZHVwbGljYXRlIHVkZXZhZG0gZm9yIHBvc3RpbnN0IHNjcmlwdAotCWluc3RhbGwgLWQgJHtEfSR7bGliZXhlY2Rpcn0KLQlsbiAke0R9JHtiYXNlX2JpbmRpcn0vdWRldmFkbSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfXVkZXZhZG0KLX0KLQotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKXsKLSAgICBzeXN0ZW1kbGliZGlyID0gZC5nZXRWYXIoInJvb3RsaWJkaXIiKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHN5c3RlbWRsaWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnU3lzdGVtZCAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLX0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWIodWRldnxzeXN0ZW1kfG5zcykuKiIKLQotUEFDS0FHRVMgPSsgIlwKLSAgICAke1BOfS1ndWkgXAotICAgICR7UE59LXZjb25zb2xlLXNldHVwIFwKLSAgICAke1BOfS1pbml0cmFtZnMgXAotICAgICR7UE59LWFuYWx5emUgXAotICAgICR7UE59LWtlcm5lbC1pbnN0YWxsIFwKLSAgICAke1BOfS1ycG0tbWFjcm9zIFwKLSAgICAke1BOfS1iaW5mbXQgXAotICAgICR7UE59LXpzaC1jb21wbGV0aW9uIFwKLSAgICAke1BOfS14b3JnLXhpbml0cmMgXAotICAgICR7UE59LWNvbnRhaW5lciBcCi0gICAgJHtQTn0tam91cm5hbC1nYXRld2F5ZCBcCi0gICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAotICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKLSAgICAke1BOfS1leHRyYS11dGlscyBcCi0iCi0KLVNVTU1BUllfJHtQTn0tY29udGFpbmVyID0gIlRvb2xzIGZvciBjb250YWluZXJzIGFuZCBWTXMiCi1ERVNDUklQVElPTl8ke1BOfS1jb250YWluZXIgPSAiU3lzdGVtZCB0b29scyB0byBzcGF3biBhbmQgbWFuYWdlIGNvbnRhaW5lcnMgYW5kIHZpcnR1YWwgbWFjaGluZXMuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiSFRUUCBzZXJ2ZXIgZm9yIGpvdXJuYWwgZXZlbnRzIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgc2VydmVzIGpvdXJuYWwgZXZlbnRzIG92ZXIgdGhlIG5ldHdvcmsuIENsaWVudHMgbXVzdCBjb25uZWN0IHVzaW5nIEhUVFAuIFRoZSBzZXJ2ZXIgbGlzdGVucyBvbiBwb3J0IDE5NTMxIGJ5IGRlZmF1bHQuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIlNlbmQgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZCB1cGxvYWRzIGpvdXJuYWwgZW50cmllcyB0byBhIHNwZWNpZmllZCBVUkwuIgotCi1TVU1NQVJZXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIlJlY2VpdmUgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgotREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZSBpcyBhIGNvbW1hbmQgdG8gcmVjZWl2ZSBzZXJpYWxpemVkIGpvdXJuYWwgZXZlbnRzIGFuZCBzdG9yZSB0aGVtIHRvIGpvdXJuYWwgZmlsZXMuIgotCi1TWVNURU1EX1BBQ0tBR0VTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2JpbmZtdCcsICcke1BOfS1iaW5mbXQnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXlkJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKLSIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1iaW5mbXQgPSAic3lzdGVtZC1iaW5mbXQuc2VydmljZSIKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1leHRyYS11dGlscyBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1nYXRld2F5JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKLSIKLUdST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIHN5c3RlbWQtam91cm5hbCIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2NvcmVkdW1wJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1jb3JlZHVtcDsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLW5ldHdvcms7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvbGtpdCcsICctLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vcG9sa2l0LTEgcG9sa2l0ZDsnLCAnJywgZCl9IgotVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLXJlc29sdmU7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RpbWVzeW5jZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtdGltZXN5bmM7JywgJycsIGQpfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tZXh0cmEtdXRpbHMgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWJ1cy1wcm94eSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1nYXRld2F5ID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLWdhdGV3YXkiCi1VU0VSQUREX1BBUkFNXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLXJlbW90ZSIKLVVTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC11cGxvYWQgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIgotCi1GSUxFU18ke1BOfS1hbmFseXplID0gIiR7YmluZGlyfS9zeXN0ZW1kLWFuYWx5emUiCi0KLUZJTEVTXyR7UE59LWluaXRyYW1mcyA9ICIvaW5pdCIKLVJERVBFTkRTXyR7UE59LWluaXRyYW1mcyA9ICIke1BOfSIKLQotRklMRVNfJHtQTn0tZ3VpID0gIiR7YmluZGlyfS9zeXN0ZW1hZG0iCi0KLUZJTEVTXyR7UE59LXZjb25zb2xlLXNldHVwID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC12Y29uc29sZS1zZXR1cCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSIKLQotUkRFUEVORFNfJHtQTn0ta2VybmVsLWluc3RhbGwgKz0gImJhc2giCi1GSUxFU18ke1BOfS1rZXJuZWwtaW5zdGFsbCA9ICIke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9rZXJuZWwvIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9rZXJuZWwgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1GSUxFU18ke1BOfS1ycG0tbWFjcm9zID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ycG0gXAotICAgICAgICAgICAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0teG9yZy14aW5pdHJjID0gIiR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbml0cmMuZC8qIgotCi1GSUxFU18ke1BOfS16c2gtY29tcGxldGlvbiA9ICIke2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucyIKLQotRklMRVNfJHtQTn0tYmluZm10ID0gIiR7c3lzY29uZmRpcn0vYmluZm10LmQvIFwKLSAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvYmluZm10LmQgXAotICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1iaW5mbXQgXAotICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHJvYy1zeXMtZnMtYmluZm10X21pc2MuKiBcCi0gICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgotUlJFQ09NTUVORFNfJHtQTn0tYmluZm10ID0gImtlcm5lbC1tb2R1bGUtYmluZm10LW1pc2MiCi0KLVJSRUNPTU1FTkRTXyR7UE59LXZjb25zb2xlLXNldHVwID0gImtiZCBrYmQtY29uc29sZWZvbnRzIGtiZC1rZXltYXBzIgotCi0KLUZJTEVTXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9zeXN0ZW1kL2dhdGV3YXlkL2Jyb3dzZS5odG1sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IgotCi1GSUxFU18ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC11cGxvYWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtdXBsb2FkLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZC5zZXJ2aWNlIgotCi1GSUxFU18ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1yZW1vdGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtcmVtb3RlLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKLVNZU1RFTURfU0VSVklDRV8ke1BOfS1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZS5zb2NrZXQiCi0KLQotRklMRVNfJHtQTn0tY29udGFpbmVyID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9tYWNoaW5lY3RsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1uc3Bhd24gXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvaW1wb3J0LXB1YnJpbmcuZ3BnIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuYnVzbmFtZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2NhbC1mcy50YXJnZXQud2FudHMvdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tYWNoaW5lLnNsaWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmVzLnRhcmdldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtaW1wb3J0ZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbWFjaGluZWQuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLW9yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3Zhci1saWItbWFjaGluZXMubW91bnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnRkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1wdWxsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLW5zcGF3bi5jb25mIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbnNwYXduQC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibnNzX215bWFjaGluZXMuc28uMiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5wb2xpY3kgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEucG9saWN5IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIKLQotUlJFQ09NTUVORFNfJHtQTn0tY29udGFpbmVyICs9ICJcCi0gICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0tZXh0cmEtdXRpbHMgPSAiXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1lc2NhcGUgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1pbmhpYml0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRldGVjdC12aXJ0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcnVuIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNhdCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1kZWx0YSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1jZ2xzIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNndG9wIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXN0ZGlvLWJyaWRnZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWFzay1wYXNzd29yZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlc29sdmUtaG9zdCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWMtcG93ZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWFjdGl2YXRlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1idXMtcHJveHlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1idXMtcHJveHlkLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zb2NrZXQtcHJveHlkIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1yZXBseS1wYXNzd29yZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtc2xlZXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW0tc2xlZXAgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWhpYmVybmF0ZS5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1oeWJyaWQtc2xlZXAuc2VydmljZSBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtc3VzcGVuZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2xlZXAudGFyZ2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbml0Y3RsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1pbml0Y3RsLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc29ja2V0cy50YXJnZXQud2FudHMvc3lzdGVtZC1pbml0Y3RsLnNvY2tldCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1nZW5lcmF0b3JzL3N5c3RlbWQtZ3B0LWF1dG8tZ2VuZXJhdG9yIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50IFwKLSIKLQotRklMRVNfJHtQTn0gPSAiICR7YmFzZV9iaW5kaXJ9LyogXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2hhbHQgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIFwKLSAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vdGVsaW5pdCBcCi0gICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Jlc29sdmNvbmYgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9yZWJvb3QgXAotICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9pbml0IFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfSBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mYWN0b3J5IFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RidXMtMS8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQvIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BhbS5kLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXNjdGwuZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzdGVtZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8gXAotICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGRnLyBcCi0gICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvUkVBRE1FIFwKLSAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQgXAotICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvKiBcCi0gICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAotICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28gXAotICAgICAgICAgICAgICAgIC9jZ3JvdXAgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kKiBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2J1c2N0bCBcCi0gICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NvcmVkdW1wY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vbG9jYWxlY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vaG9zdG5hbWVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9yZXNvbHZlY3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGltZWRhdGVjdGwgXAotICAgICAgICAgICAgICAgICR7YmluZGlyfS9ib290Y3RsIFwKLSAgICAgICAgICAgICAgICAke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAotICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kLyouY29uZiBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c3RlbWQgXAotICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9tb2R1bGVzLWxvYWQuZCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c2N0bC5kIFwKLSAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdXNlcnMuZCBcCi0gICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2Vudmlyb25tZW50LmQgXAotICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcwLXVhY2Nlc3MucnVsZXMgXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcxLXNlYXQucnVsZXMgXAotICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzczLXNlYXQtbGF0ZS5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvOTktc3lzdGVtZC5ydWxlcyBcCi0gICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2Rwcm9iZS5kL3N5c3RlbWQuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubG9jYWxlMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubmV0d29yazEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnJlc29sdmUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaG9zdG5hbWUxLmNvbmYgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2dpbjEuY29uZiBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVzeW5jMS5jb25mIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucG9ydGFibGUxLmNvbmYgXAotICAgICAgICAgICAgICAgIgotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LyoubGEgJHtkYXRhZGlyfS9kYnVzLTEvaW50ZXJmYWNlcy8gJHtzeXNjb25mZGlyfS9ycG0vbWFjcm9zLnN5c3RlbWQiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJrbW9kIGRidXMgdXRpbC1saW51eC1tb3VudCB1dGlsLWxpbnV4LXVtb3VudCB1ZGV2ICg9ICR7RVhURU5EUEtHVn0pIHV0aWwtbGludXgtYWdldHR5IHV0aWwtbGludXgtZnNjayIKLVJERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yJywgJycsICdzeXN0ZW1kLXNlcmlhbGdldHR5JywgZCl9IgotUkRFUEVORFNfJHtQTn0gKz0gInZvbGF0aWxlLWJpbmRzIHVwZGF0ZS1yYy5kIHN5c3RlbWQtY29uZiIKLQotUlJFQ09NTUVORFNfJHtQTn0gKz0gInN5c3RlbWQtZXh0cmEtdXRpbHMgXAotICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWQtY29tcGF0LXVuaXRzIHVkZXYtaHdkYiBcCi0gICAgICAgICAgICAgICAgICAgICAgZTJmc3Byb2dzLWUyZnNjayBcCi0gICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1hdXRvZnM0IGtlcm5lbC1tb2R1bGUtdW5peCBrZXJuZWwtbW9kdWxlLWlwdjYgXAotICAgICAgICAgICAgICAgICAgICAgIG9zLXJlbGVhc2UgXAotIgotCi1JTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIGxpYmRpciIKLUlOU0FORV9TS0lQXyR7UE59LWRiZyArPSAibGliZGlyIgotSU5TQU5FX1NLSVBfJHtQTn0tZG9jICs9ICIgbGliZGlyIgotCi1QQUNLQUdFUyA9KyAidWRldiB1ZGV2LWh3ZGIiCi0KLVJQUk9WSURFU191ZGV2ID0gImhvdHBsdWciCi0KLVJERVBFTkRTX3VkZXYtaHdkYiArPSAidWRldiIKLQotRklMRVNfdWRldiArPSAiJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC11ZGV2ZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2FjY2VsZXJvbWV0ZXIgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9hdGFfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9jZHJvbV9pZCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2NvbGxlY3QgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9maW5ka2V5Ym9hcmRzIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5Ym9hcmQtZm9yY2UtcmVsZWFzZS5zaCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcCBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L210ZF9wcm9iZSBcCi0gICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Njc2lfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi92NGxfaWQgXAotICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXltYXBzIFwKLSAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvcnVsZXMuZC8qLnJ1bGVzIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWRldiBcCi0gICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKnVkZXYqIFwKLSAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi53YW50cy8qdWRldiogXAotICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vdWRldmFkbSBcCi0gICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbSBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucy91ZGV2YWRtIFwKLSAgICAgICAgICAgICAgIgotCi1GSUxFU191ZGV2LWh3ZGIgPSAiJHtyb290bGliZXhlY2Rpcn0vdWRldi9od2RiLmQiCi0KLUlOSVRTQ1JJUFRfUEFDS0FHRVMgPSAidWRldiIKLUlOSVRTQ1JJUFRfTkFNRV91ZGV2ID0gInN5c3RlbWQtdWRldmQiCi1JTklUU0NSSVBUX1BBUkFNU191ZGV2ID0gInN0YXJ0IDAzIFMgLiIKLQotcHl0aG9uIF9fYW5vbnltb3VzKCkgewotICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBkLnNldFZhcigiSU5ISUJJVF9VUERBVEVSQ0RfQkJDTEFTUyIsICIxIikKLX0KLQotQUxURVJOQVRJVkVfJHtQTn0gPSAiaGFsdCByZWJvb3Qgc2h1dGRvd24gcG93ZXJvZmYgcnVubGV2ZWwgcmVzb2x2LWNvbmYiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtyZXNvbHYtY29uZl0gPSAiJHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIgotQUxURVJOQVRJVkVfUFJJT1JJVFlbcmVzb2x2LWNvbmZdID89ICI1MCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW2hhbHRdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtoYWx0XSA9ICIke2Jhc2Vfc2JpbmRpcn0vaGFsdCIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW2hhbHRdID89ICIzMDAiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtyZWJvb3RdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWJvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9yZWJvb3QiCi1BTFRFUk5BVElWRV9QUklPUklUWVtyZWJvb3RdID89ICIzMDAiCi0KLUFMVEVSTkFUSVZFX1RBUkdFVFtzaHV0ZG93bl0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3NodXRkb3duXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc2h1dGRvd24iCi1BTFRFUk5BVElWRV9QUklPUklUWVtzaHV0ZG93bl0gPz0gIjMwMCIKLQotQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2Vyb2ZmXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJvZmZdID0gIiR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiIKLUFMVEVSTkFUSVZFX1BSSU9SSVRZW3Bvd2Vyb2ZmXSA/PSAiMzAwIgotCi1BTFRFUk5BVElWRV9UQVJHRVRbcnVubGV2ZWxdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtydW5sZXZlbF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIgotQUxURVJOQVRJVkVfUFJJT1JJVFlbcnVubGV2ZWxdID89ICIzMDAiCi0KLXBrZ19wb3N0aW5zdF8ke1BOfSAoKSB7Ci0Jc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKLQkJLWUgJ3MvXCheaG9zdHM6LipcKVwoXDxmaWxlc1w+XClcKC4qXClcKFw8ZG5zXD5cKVwoLipcKS9cMVwyIG15aG9zdG5hbWUgXDNcNFw1LycgXAotCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgotfQotCi1wa2dfcHJlcm1fJHtQTn0gKCkgewotCXNlZCAtZSAnL15ob3N0czovcy9ccypcPG15aG9zdG5hbWVcPi8vJyBcCi0JCS1lICcvXmhvc3RzOi9zL1xzKm15aG9zdG5hbWUvLycgXAotCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgotfQotCi1QQUNLQUdFX1dSSVRFX0RFUFMgKz0gInFlbXUtbmF0aXZlIgotcGtnX3Bvc3RpbnN0X3VkZXYtaHdkYiAoKSB7Ci0JaWYgdGVzdCAtbiAiJEQiOyB0aGVuCi0JCSRJTlRFUkNFUFRfRElSL3Bvc3RpbnN0X2ludGVyY2VwdCB1cGRhdGVfdWRldl9od2RiICR7UEtHfSBtbHByZWZpeD0ke01MUFJFRklYfSBiaW5wcmVmaXg9JHtNTFBSRUZJWH0KLQllbHNlCi0JCXVkZXZhZG0gaHdkYiAtLXVwZGF0ZQotCWZpCi19Ci0KLXBrZ19wcmVybV91ZGV2LWh3ZGIgKCkgewotCXJtIC1mICREJHtzeXNjb25mZGlyfS91ZGV2L2h3ZGIuYmluCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yNDEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3RlbWQvc3lzdGVtZF8yNDEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZiZmM4MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdGVtZC9zeXN0ZW1kXzI0MS5iYgpAQCAtMCwwICsxLDY1MSBAQAorcmVxdWlyZSBzeXN0ZW1kLmluYworCitQUk9WSURFUyA9ICJ1ZGV2IgorCitQRSA9ICIxIgorCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSBncGVyZi1uYXRpdmUgbGliY2FwIHV0aWwtbGludXgiCisKK1NFQ1RJT04gPSAiYmFzZS9zaGVsbCIKKworaW5oZXJpdCB1c2VyYWRkIHBrZ2NvbmZpZyBtZXNvbiBwZXJsbmF0aXZlIHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcWVtdSBzeXN0ZW1kIGdldHRleHQgYmFzaC1jb21wbGV0aW9uIG1hbnBhZ2VzIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIEFzIHRoaXMgcmVjaXBlIGJ1aWxkcyB1ZGV2LCByZXNwZWN0IHN5c3RlbWQgYmVpbmcgaW4gRElTVFJPX0ZFQVRVUkVTIHNvCisjIHRoYXQgd2UgZG9uJ3QgYnVpbGQgYm90aCB1ZGV2IGFuZCBzeXN0ZW1kIGluIHdvcmxkIGJ1aWxkcy4KK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJzeXN0ZW1kIgorCitTUkNfVVJJICs9ICJmaWxlOi8vdG91Y2hzY3JlZW4ucnVsZXMgXAorICAgICAgICAgICBmaWxlOi8vMDAtY3JlYXRlLXZvbGF0aWxlLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vaW5pdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJpbmZtdC1Eb24tdC1pbnN0YWxsLWRlcGVuZGVuY3ktbGlua3MtYXQtaW5zdGFsbC10aW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi11c2UtbG5yLXdyYXBwZXItaW5zdGVhZC1vZi1sb29raW5nLWZvci1yZWxhdGl2ZS1vcHRpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtaW1wbG1lbnQtc3lzdGVtZC1zeXN2LWluc3RhbGwtZm9yLU9FLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtcnVsZXMtd2hpdGVsaXN0LWhkLWRldmljZXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1ydWxlcy13YXRjaC1tZXRhZGF0YS1jaGFuZ2VzLWluLWlkZS1kZXZpY2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24tZGVjbGFyZS12ZXJzaW9uLmgtYXMtZGVwLWZvci12YXJpb3VzLXRhcmdldHMtdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1lc29uLWRlY2xhcmUtdmVyc2lvbi5oLWFzLWRlcGVuZGVuY3ktZm9yLXN5c3RlbWQucGF0Y2ggXAorICAgICAgICAgICAiCisKKyMgcGF0Y2hlcyBuZWVkZWQgYnkgbXVzbAorU1JDX1VSSSArPSAiJHtTUkNfVVJJX01VU0x9IgorU1JDX1VSSV9NVVNMID0gImZpbGU6Ly8wMDAxLVVzZS1nZXRlbnYtd2hlbi1zZWN1cmUtdmVyc2lvbnMtYXJlLW5vdC1hdmFpbGFibGUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDItZG9uLXQtdXNlLWdsaWJjLXNwZWNpZmljLXFzb3J0X3IucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMDMtbWlzc2luZ190eXBlLmgtYWRkLV9fY29tcGFyZV9mbl90LWFuZC1jb21wYXJpc29uX2ZuXy5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwNC1hZGQtZmFsbGJhY2stcGFyc2VfcHJpbnRmX2Zvcm1hdC1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwNS1zcmMtYmFzaWMtbWlzc2luZy5oLWNoZWNrLWZvci1taXNzaW5nLXN0cm5kdXBhLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA2LUluY2x1ZGUtbmV0aW5ldC1pZl9ldGhlci5oLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDA3LWRvbi10LWZhaWwtaWYtR0xPQl9CUkFDRS1hbmQtR0xPQl9BTFRESVJGVU5DLWlzLW5vdC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwOC1hZGQtbWlzc2luZy1GVFdfLW1hY3Jvcy1mb3ItbXVzbC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAwOS1zb2NrZXQtdXRpbC1kb24tdC1mYWlsLWlmLWxpYmMtZG9lc24tdC1zdXBwb3J0LUlETi5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxMC1maXgtbWlzc2luZy1vZi1fX3JlZ2lzdGVyX2F0Zm9yay1mb3Itbm9uLWdsaWJjLWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDExLVVzZS11aW50bWF4X3QtZm9yLWhhbmRsaW5nLXJsaW1fdC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxMi1maXgtbWlzc2luZy1VTE9OR19MT05HX01BWC1kZWZpbml0aW9uLWluLWNhc2Utb2YtbXVzLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDEzLXRlc3QtaGV4ZGVjb2N0LmMtSW5jbHVkZS1taXNzaW5nLmgtZm9yLXN0cm5kdXBhLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE0LXRlc3Qtc2l6ZW9mLmMtRGlzYWJsZS10ZXN0cy1mb3ItbWlzc2luZy10eXBlZGVmcy1pbi0ucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTUtZG9uLXQtcGFzcy1BVF9TWU1MSU5LX05PRk9MTE9XLWZsYWctdG8tZmFjY2Vzc2F0LnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE2LURlZmluZS1nbGliYy1jb21wYXRpYmxlLWJhc2VuYW1lLWZvci1ub24tZ2xpYmMtc3lzdGUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMTctRG8tbm90LWRpc2FibGUtYnVmZmVyaW5nLXdoZW4td3JpdGluZy10by1vb21fc2NvcmVfYS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAxOC1kaXN0aW5ndWlzaC1YU0ktY29tcGxpYW50LXN0cmVycm9yX3ItZnJvbS1HTlUtc3BlY2lmLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDE5LUhpZGUtX19zdGFydF9CVVNfRVJST1JfTUFQLWFuZC1fX3N0b3BfQlVTX0VSUk9SX01BUC5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMC1taXNzaW5nX3R5cGUuaC1hZGQtX19jb21wYXJfZF9mbl90LWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjEtYXZvaWQtcmVkZWZpbml0aW9uLW9mLXByY3RsX21tX21hcC1zdHJ1Y3R1cmUucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjItaW5jbHVkZS1zeXMtd2FpdC5oLXRvLWF2b2lkLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBcCisgICAgICAgICAgICAgICBmaWxlOi8vMDAyMy1zb2NrZXQtdXRpbC5oLWluY2x1ZGUtc3RyaW5nLmgucGF0Y2ggXAorICAgICAgICAgICAgICAgZmlsZTovLzAwMjQtdGVzdC1qc29uLmMtZGVmaW5lLU1fUElsLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvLW5vdC1kaXNhYmxlLWJ1ZmZlci1pbi13cml0aW5nLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgICAgICIKKworUEFNX1BMVUdJTlMgPSAiIFwKKyAgICBwYW0tcGx1Z2luLXVuaXggXAorICAgIHBhbS1wbHVnaW4tbG9naW51aWQgXAorICAgIHBhbS1wbHVnaW4ta2V5aW5pdCBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2VmaSBsZGNvbmZpZyBwYW0gc2VsaW51eCB1c3JtZXJnZSBwb2xraXQnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnd2lmaScsICdyZmtpbGwnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4a2Jjb21tb24nLCAnJywgZCl9IFwKKyAgICBhY2wgXAorICAgIGJhY2tsaWdodCBcCisgICAgYmluZm10IFwKKyAgICBmaXJzdGJvb3QgXAorICAgIGdzaGFkb3cgXAorICAgIGhpYmVybmF0ZSBcCisgICAgaG9zdG5hbWVkIFwKKyAgICBpbWEgXAorICAgIGttb2QgXAorICAgIGxvY2FsZWQgXAorICAgIGxvZ2luZCBcCisgICAgbWFjaGluZWQgXAorICAgIG15aG9zdG5hbWUgXAorICAgIG5ldHdvcmtkIFwKKyAgICBuc3MgXAorICAgIG5zcy1teW1hY2hpbmVzIFwKKyAgICBuc3MtcmVzb2x2ZSBcCisgICAgcXVvdGFjaGVjayBcCisgICAgcmFuZG9tc2VlZCBcCisgICAgcmVzb2x2ZWQgXAorICAgIHNtYWNrIFwKKyAgICBzeXN1c2VycyBcCisgICAgdGltZWRhdGVkIFwKKyAgICB0aW1lc3luY2QgXAorICAgIHV0bXAgXAorICAgIHZjb25zb2xlIFwKKyAgICB4eiBcCisiCisKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2xpYmMtbXVzbCA9ICIgXAorICAgIGdzaGFkb3cgXAorICAgIGxvY2FsZWQgXAorICAgIG15aG9zdG5hbWUgXAorICAgIG5zcyBcCisgICAgbnNzLW15bWFjaGluZXMgXAorICAgIG5zcy1yZXNvbHZlIFwKKyAgICByZXNvbHZlZCBcCisgICAgc21hY2sgXAorICAgIHN5c3VzZXJzIFwKKyAgICB1dG1wIFwKKyIKKworIyBVc2UgdGhlIHVwc3RyZWFtIHN5c3RlbWQgc2VyaWFsLWdldHR5QC5zZXJ2aWNlIGFuZCByZWx5IG9uCisjIHN5c3RlbWQtZ2V0dHktZ2VuZXJhdG9yIGluc3RlYWQgb2YgdXNpbmcgdGhlIE9FLWNvcmUgc3BlY2lmaWMKKyMgc3lzdGVtZC1zZXJpYWxnZXR0eS5iYiAtIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQuCitQQUNLQUdFQ09ORklHW3NlcmlhbC1nZXR0eS1nZW5lcmF0b3JdID0gIiIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi1EYWNsPXRydWUsLURhY2w9ZmFsc2UsYWNsIgorUEFDS0FHRUNPTkZJR1thdWRpdF0gPSAiLURhdWRpdD10cnVlLC1EYXVkaXQ9ZmFsc2UsYXVkaXQiCitQQUNLQUdFQ09ORklHW2JhY2tsaWdodF0gPSAiLURiYWNrbGlnaHQ9dHJ1ZSwtRGJhY2tsaWdodD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbYmluZm10XSA9ICItRGJpbmZtdD10cnVlLC1EYmluZm10PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tiemlwMl0gPSAiLURiemlwMj10cnVlLC1EYnppcDI9ZmFsc2UsYnppcDIiCitQQUNLQUdFQ09ORklHW2NvcmVkdW1wXSA9ICItRGNvcmVkdW1wPXRydWUsLURjb3JlZHVtcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbY3J5cHRzZXR1cF0gPSAiLURsaWJjcnlwdHNldHVwPXRydWUsLURsaWJjcnlwdHNldHVwPWZhbHNlLGNyeXB0c2V0dXAiCitQQUNLQUdFQ09ORklHW2RidXNdID0gIi1EZGJ1cz10cnVlLC1EZGJ1cz1mYWxzZSxkYnVzIgorUEFDS0FHRUNPTkZJR1tlZmldID0gIi1EZWZpPXRydWUsLURlZmk9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2VsZnV0aWxzXSA9ICItRGVsZnV0aWxzPXRydWUsLURlbGZ1dGlscz1mYWxzZSxlbGZ1dGlscyIKK1BBQ0tBR0VDT05GSUdbZmlyc3Rib290XSA9ICItRGZpcnN0Ym9vdD10cnVlLC1EZmlyc3Rib290PWZhbHNlIgorIyBTaWduIHRoZSBqb3VybmFsIGZvciBhbnRpLXRhbXBlcmluZworUEFDS0FHRUNPTkZJR1tnY3J5cHRdID0gIi1EZ2NyeXB0PXRydWUsLURnY3J5cHQ9ZmFsc2UsbGliZ2NyeXB0IgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi1EZ251dGxzPXRydWUsLURnbnV0bHM9ZmFsc2UsZ251dGxzIgorUEFDS0FHRUNPTkZJR1tnc2hhZG93XSA9ICItRGdzaGFkb3c9dHJ1ZSwtRGdzaGFkb3c9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2hpYmVybmF0ZV0gPSAiLURoaWJlcm5hdGU9dHJ1ZSwtRGhpYmVybmF0ZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbaG9zdG5hbWVkXSA9ICItRGhvc3RuYW1lZD10cnVlLC1EaG9zdG5hbWVkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tpbWFdID0gIi1EaW1hPXRydWUsLURpbWE9ZmFsc2UiCisjIGltcG9ydGQgcmVxdWlyZXMgY3VybC94ei96bGliL2J6aXAyL2djcnlwdAorUEFDS0FHRUNPTkZJR1tpbXBvcnRkXSA9ICItRGltcG9ydGQ9dHJ1ZSwtRGltcG9ydGQ9ZmFsc2UiCisjIFVwZGF0ZSBOQVQgZmlyZXdhbGwgcnVsZXMKK1BBQ0tBR0VDT05GSUdbaXB0Y10gPSAiLURsaWJpcHRjPXRydWUsLURsaWJpcHRjPWZhbHNlLGlwdGFibGVzIgorUEFDS0FHRUNPTkZJR1tqb3VybmFsLXVwbG9hZF0gPSAiLURsaWJjdXJsPXRydWUsLURsaWJjdXJsPWZhbHNlLGN1cmwiCitQQUNLQUdFQ09ORklHW2ttb2RdID0gIi1Ea21vZD10cnVlLC1Ea21vZD1mYWxzZSxrbW9kIgorUEFDS0FHRUNPTkZJR1tsZGNvbmZpZ10gPSAiLURsZGNvbmZpZz10cnVlLC1EbGRjb25maWc9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLURsaWJpZG49dHJ1ZSwtRGxpYmlkbj1mYWxzZSxsaWJpZG4iCitQQUNLQUdFQ09ORklHW2xvY2FsZWRdID0gIi1EbG9jYWxlZD10cnVlLC1EbG9jYWxlZD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbG9naW5kXSA9ICItRGxvZ2luZD10cnVlLC1EbG9naW5kPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIi1EbHo0PXRydWUsLURsejQ9ZmFsc2UsbHo0IgorUEFDS0FHRUNPTkZJR1ttYWNoaW5lZF0gPSAiLURtYWNoaW5lZD10cnVlLC1EbWFjaGluZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLC1EbWFuPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW21pY3JvaHR0cGRdID0gIi1EbWljcm9odHRwZD10cnVlLC1EbWljcm9odHRwZD1mYWxzZSxsaWJtaWNyb2h0dHBkIgorUEFDS0FHRUNPTkZJR1tteWhvc3RuYW1lXSA9ICItRG5zcy1teWhvc3RuYW1lPXRydWUsLURuc3MtbXlob3N0bmFtZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbmV0d29ya2RdID0gIi1EbmV0d29ya2Q9dHJ1ZSwtRG5ldHdvcmtkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tuc3NdID0gIi1EbnNzLXN5c3RlbWQ9dHJ1ZSwtRG5zcy1zeXN0ZW1kPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tuc3MtbXltYWNoaW5lc10gPSAiLURuc3MtbXltYWNoaW5lcz10cnVlLC1EbnNzLW15bWFjaGluZXM9ZmFsc2UiCitQQUNLQUdFQ09ORklHW25zcy1yZXNvbHZlXSA9ICItRG5zcy1yZXNvbHZlPXRydWUsLURuc3MtcmVzb2x2ZT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLURvcGVuc3NsPXRydWUsLURvcGVuc3NsPWZhbHNlLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW3BhbV0gPSAiLURwYW09dHJ1ZSwtRHBhbT1mYWxzZSxsaWJwYW0sJHtQQU1fUExVR0lOU30iCitQQUNLQUdFQ09ORklHW3BjcmUyXSA9ICItRHBjcmUyPXRydWUsLURwY3JlMj1mYWxzZSxsaWJwY3JlMiIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItRHBvbGtpdD10cnVlLC1EcG9sa2l0PWZhbHNlIgorUEFDS0FHRUNPTkZJR1twb3J0YWJsZWRdID0gIi1EcG9ydGFibGVkPXRydWUsLURwb3J0YWJsZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3FyZW5jb2RlXSA9ICItRHFyZW5jb2RlPXRydWUsLURxcmVuY29kZT1mYWxzZSxxcmVuY29kZSIKK1BBQ0tBR0VDT05GSUdbcXVvdGFjaGVja10gPSAiLURxdW90YWNoZWNrPXRydWUsLURxdW90YWNoZWNrPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tyYW5kb21zZWVkXSA9ICItRHJhbmRvbXNlZWQ9dHJ1ZSwtRHJhbmRvbXNlZWQ9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Jlc29sdmVkXSA9ICItRHJlc29sdmU9dHJ1ZSwtRHJlc29sdmU9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Jma2lsbF0gPSAiLURyZmtpbGw9dHJ1ZSwtRHJma2lsbD1mYWxzZSIKKyMgbGlic2VjY29tcCBpcyBmb3VuZCBpbiBtZXRhLXNlY3VyaXR5CitQQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gIi1Ec2VjY29tcD10cnVlLC1Ec2VjY29tcD1mYWxzZSxsaWJzZWNjb21wIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItRHNlbGludXg9dHJ1ZSwtRHNlbGludXg9ZmFsc2UsbGlic2VsaW51eCxpbml0c2NyaXB0cy1zdXNoZWxsIgorUEFDS0FHRUNPTkZJR1tzbWFja10gPSAiLURzbWFjaz10cnVlLC1Ec21hY2s9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3N5c3VzZXJzXSA9ICItRHN5c3VzZXJzPXRydWUsLURzeXN1c2Vycz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdGltZS1lcG9jaF0gPSAiLUR0aW1lLWVwb2NoPTAsLCIKK1BBQ0tBR0VDT05GSUdbdGltZWRhdGVkXSA9ICItRHRpbWVkYXRlZD10cnVlLC1EdGltZWRhdGVkPWZhbHNlIgorUEFDS0FHRUNPTkZJR1t0aW1lc3luY2RdID0gIi1EdGltZXN5bmNkPXRydWUsLUR0aW1lc3luY2Q9ZmFsc2UiCitQQUNLQUdFQ09ORklHW3Vzcm1lcmdlXSA9ICItRHNwbGl0LXVzcj1mYWxzZSwtRHNwbGl0LXVzcj10cnVlIgorUEFDS0FHRUNPTkZJR1tzYmlubWVyZ2VdID0gIi1Ec3BsaXQtYmluPWZhbHNlLC1Ec3BsaXQtYmluPXRydWUiCitQQUNLQUdFQ09ORklHW3V0bXBdID0gIi1EdXRtcD10cnVlLC1EdXRtcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EVkFMR1JJTkQ9MSwsdmFsZ3JpbmQiCitQQUNLQUdFQ09ORklHW3Zjb25zb2xlXSA9ICItRHZjb25zb2xlPXRydWUsLUR2Y29uc29sZT1mYWxzZSwsJHtQTn0tdmNvbnNvbGUtc2V0dXAiCisjIFZlcmlmeSBrZXltYXBzIG9uIGxvY2FsZSBjaGFuZ2UKK1BBQ0tBR0VDT05GSUdbeGtiY29tbW9uXSA9ICItRHhrYmNvbW1vbj10cnVlLC1EeGtiY29tbW9uPWZhbHNlLGxpYnhrYmNvbW1vbiIKK1BBQ0tBR0VDT05GSUdbeHpdID0gIi1EeHo9dHJ1ZSwtRHh6PWZhbHNlLHh6IgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItRHpsaWI9dHJ1ZSwtRHpsaWI9ZmFsc2UsemxpYiIKKworIyBIZWxwZXIgdmFyaWFibGVzIHRvIGNsYXJpZnkgbG9jYXRpb25zLiAgVGhpcyBtaXJyb3JzIHRoZSBsb2dpYyBpbiBzeXN0ZW1kJ3MKKyMgYnVpbGQgc3lzdGVtLgorcm9vdHByZWZpeCA/PSAiJHtyb290X3ByZWZpeH0iCityb290bGliZGlyID89ICIke2Jhc2VfbGliZGlyfSIKK3Jvb3RsaWJleGVjZGlyID0gIiR7cm9vdHByZWZpeH0vbGliIgorCisjIFRoaXMgbGlua3MgdWRldiBzdGF0aWNhbGx5IHdpdGggc3lzdGVtZCBoZWxwZXIgbGlicmFyeS4KKyMgT3RoZXJ3aXNlIHVkZXYgcGFja2FnZSB3b3VsZCBkZXBlbmQgb24gc3lzdGVtZCBwYWNrYWdlICh3aGljaCBoYXMgdGhlIG5lZWRlZCBzaGFyZWQgbGlicmFyeSksCisjIGFuZCBhbHdheXMgcHVsbCBpdCBpbnRvIGltYWdlcy4KK0VYVFJBX09FTUVTT04gKz0gIi1EbGluay11ZGV2LXNoYXJlZD1mYWxzZSIKKworRVhUUkFfT0VNRVNPTiArPSAiLURub2JvZHktdXNlcj1ub2JvZHkgXAorICAgICAgICAgICAgICAgICAgLURub2JvZHktZ3JvdXA9bm9ib2R5IFwKKyAgICAgICAgICAgICAgICAgIC1Ecm9vdGxpYmRpcj0ke3Jvb3RsaWJkaXJ9IFwKKyAgICAgICAgICAgICAgICAgIC1Ecm9vdHByZWZpeD0ke3Jvb3RwcmVmaXh9IFwKKyAgICAgICAgICAgICAgICAgIC1Ec3lzdnJjbmQtcGF0aD0ke3N5c2NvbmZkaXJ9IFwKKyAgICAgICAgICAgICAgICAgICIKKworIyBIYXJkY29kZSB0YXJnZXQgYmluYXJ5IHBhdGhzIHRvIGF2b2lkIHVzaW5nIHBhdGhzIGZyb20gc3lzcm9vdAorRVhUUkFfT0VNRVNPTiArPSAiLURrZXhlYy1wYXRoPSR7c2JpbmRpcn0va2V4ZWMgXAorICAgICAgICAgICAgICAgICAgLURrbW9kLXBhdGg9JHtiYXNlX2JpbmRpcn0va21vZCBcCisgICAgICAgICAgICAgICAgICAtRG1vdW50LXBhdGg9JHtiYXNlX2JpbmRpcn0vbW91bnQgXAorICAgICAgICAgICAgICAgICAgLURxdW90YWNoZWNrLXBhdGg9JHtzYmluZGlyfS9xdW90YWNoZWNrIFwKKyAgICAgICAgICAgICAgICAgIC1EcXVvdGFvbi1wYXRoPSR7c2JpbmRpcn0vcXVvdGFvbiBcCisgICAgICAgICAgICAgICAgICAtRHN1bG9naW4tcGF0aD0ke2Jhc2Vfc2JpbmRpcn0vc3Vsb2dpbiBcCisgICAgICAgICAgICAgICAgICAtRHVtb3VudC1wYXRoPSR7YmFzZV9iaW5kaXJ9L3Vtb3VudCIKKworZG9faW5zdGFsbCgpIHsKKwltZXNvbl9kb19pbnN0YWxsCisJaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfQorCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlcmlhbC1nZXR0eS1nZW5lcmF0b3InLCAnZmFsc2UnLCAndHJ1ZScsIGQpfTsgdGhlbgorCQkjIFByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcmVjaXBlCisJCXJtICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3NlcmlhbC1nZXR0eSogLWYKKwlmaQorCisJIyBQcm92aWRlIHN1cHBvcnQgZm9yIGluaXRyYW1mcworCVsgISAtZSAke0R9L2luaXQgXSAmJiBsbiAtcyAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQgJHtEfS9pbml0CisJWyAhIC1lICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIF0gJiYgbG4gLXMgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkICR7RH0vJHtiYXNlX3NiaW5kaXJ9L3VkZXZkCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnJ1bGVzICR7RH0ke3N5c2NvbmZkaXJ9L3VkZXYvcnVsZXMuZC8KKwlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnCisJaW5zdGFsbCAtbSAwNjQ0ICR7Qn0vc3JjL3VkZXYvdWRldi5wYyAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8KKworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9LzAwLWNyZWF0ZS12b2xhdGlsZS5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3RtcGZpbGVzLmQvCisKKwlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCd0cnVlJywnZmFsc2UnLGQpfTsgdGhlbgorCQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCQlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkCisJCXNlZCAtaSBzJUBVREVWREAlJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXVkZXZkJSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvc3lzdGVtZC11ZGV2ZAorCWZpCisKKwljaG93biByb290OnN5c3RlbWQtam91cm5hbCAke0R9LyR7bG9jYWxzdGF0ZWRpcn0vbG9nL2pvdXJuYWwKKworCSMgRGVsZXRlIGpvdXJuYWwgUkVBRE1FLCBhcyBsb2cgY2FuIGJlIHN5bWxpbmtlZCBpbnNpZGUgdm9sYXRpbGUuCisJcm0gLWYgJHtEfS8ke2xvY2Fsc3RhdGVkaXJ9L2xvZy9SRUFETUUKKworCSMgam91cm5hbC1yZW1vdGUgY3JlYXRlcyB0aGlzIGF0IHN0YXJ0CisJcm0gLXJmICR7RH0vJHtsb2NhbHN0YXRlZGlyfS9sb2cvam91cm5hbC9yZW1vdGUKKworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vZ3JhcGhpY2FsLnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3Bvd2Vyb2ZmLnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVib290LnRhcmdldC53YW50cworCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cworCisJIyBDcmVhdGUgc3ltbGlua3MgZm9yIHN5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQorCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3V0bXAnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2dyYXBoaWNhbC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vbXVsdGktdXNlci50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcG93ZXJvZmYudGFyZ2V0LndhbnRzL3N5c3RlbWQtdXBkYXRlLXV0bXAtcnVubGV2ZWwuc2VydmljZQorCQlsbiAtc2YgLi4vc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JlYm9vdC50YXJnZXQud2FudHMvc3lzdGVtZC11cGRhdGUtdXRtcC1ydW5sZXZlbC5zZXJ2aWNlCisJCWxuIC1zZiAuLi9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcmVzY3VlLnRhcmdldC53YW50cy9zeXN0ZW1kLXVwZGF0ZS11dG1wLXJ1bmxldmVsLnNlcnZpY2UKKwlmaQorCisJIyB0aGlzIGZpbGUgaXMgbmVlZGVkIHRvIGV4aXN0IGlmIG5ldHdvcmtkIGlzIGRpc2FibGVkIGJ1dCB0aW1lc3luY2QgaXMgc3RpbGwgaW4gdXNlIHNpbmNlIHRpbWVzeW5jZCBjaGVja3MgaXQKKwkjIGZvciBleGlzdGVuY2UgZWxzZSBpdCBmYWlscworCWlmIFsgLXMgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZiBdOyB0aGVuCisJCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ25ldHdvcmtkJywgJzonLCAnc2VkIC1pIC1lICJcJGFkIC9ydW4vc3lzdGVtZC9uZXRpZi9saW5rcyAwNzU1IHJvb3Qgcm9vdCAtIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mJywgZCl9CisJZmkKKwlpZiAhICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3Jlc29sdmVkJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJZWNobyAnTCEgJHtzeXNjb25mZGlyfS9yZXNvbHYuY29uZiAtIC0gLSAtIC4uL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL2V0Yy5jb25mCisJCWVjaG8gJ2QgL3J1bi9zeXN0ZW1kL3Jlc29sdmUgMDc1NSByb290IHJvb3QgLScgPj4ke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvc3lzdGVtZC5jb25mCisJCWVjaG8gJ2YgL3J1bi9zeXN0ZW1kL3Jlc29sdmUvcmVzb2x2LmNvbmYgMDY0NCByb290IHJvb3QnID4+JHtEfSR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kL3N5c3RlbWQuY29uZgorCQlsbiAtcyAuLi9ydW4vc3lzdGVtZC9yZXNvbHZlL3Jlc29sdi5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQKKwllbHNlCisJCXNlZCAtaSAtZSAicyVeTCEgL2V0Yy9yZXNvbHYuY29uZi4qJCVMISAvZXRjL3Jlc29sdi5jb25mIC0gLSAtIC0gLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiVnIiAke0R9JHtleGVjX3ByZWZpeH0vbGliL3RtcGZpbGVzLmQvZXRjLmNvbmYKKwkJbG4gLXMgLi4vcnVuL3N5c3RlbWQvcmVzb2x2ZS9yZXNvbHYuY29uZiAke0R9JHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kCisJZmkKKwlpbnN0YWxsIC1EbSAwNzU1ICR7U30vc3JjL3N5c3RlbWN0bC9zeXN0ZW1kLXN5c3YtaW5zdGFsbC5TS0VMRVRPTiAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbWQtc3lzdi1pbnN0YWxsCisKKwkjIElmIHBvbGtpdCBpcyBzZXR1cCBmaXh1cCBwZXJtaXNzaW9ucyBhbmQgb3duZXJzaGlwCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncG9sa2l0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJaWYgWyAtZCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kIF07IHRoZW4KKwkJCWNobW9kIDcwMCAke0R9JHtkYXRhZGlyfS9wb2xraXQtMS9ydWxlcy5kCisJCQljaG93biBwb2xraXRkOnJvb3QgJHtEfSR7ZGF0YWRpcn0vcG9sa2l0LTEvcnVsZXMuZAorCQlmaQorCWZpCisKKwkjIGNvbmYgZmlsZXMgYXJlIGhhbmRsZWQgYnkgc3lzdGVtZC1jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vbWFjaGluZS1pZAorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvY29yZWR1bXAuY29uZgorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvam91cm5hbGQuY29uZgorCXJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L3N5c3RlbWQvbG9naW5kLmNvbmYKKwlybSAtZiAke0R9JHtzeXNjb25mZGlyfS9zeXN0ZW1kL3N5c3RlbS5jb25mCisJcm0gLWYgJHtEfSR7c3lzY29uZmRpcn0vc3lzdGVtZC91c2VyLmNvbmYKKworCSMgZHVwbGljYXRlIHVkZXZhZG0gZm9yIHBvc3RpbnN0IHNjcmlwdAorCWluc3RhbGwgLWQgJHtEfSR7bGliZXhlY2Rpcn0KKwlsbiAke0R9JHtiYXNlX2JpbmRpcn0vdWRldmFkbSAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfXVkZXZhZG0KK30KKworCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKXsKKyAgICBzeXN0ZW1kbGliZGlyID0gZC5nZXRWYXIoInJvb3RsaWJkaXIiKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHN5c3RlbWRsaWJkaXIsICdebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnU3lzdGVtZCAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKK30KK1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5saWIodWRldnxzeXN0ZW1kfG5zcykuKiIKKworUEFDS0FHRVMgPSsgIlwKKyAgICAke1BOfS1ndWkgXAorICAgICR7UE59LXZjb25zb2xlLXNldHVwIFwKKyAgICAke1BOfS1pbml0cmFtZnMgXAorICAgICR7UE59LWFuYWx5emUgXAorICAgICR7UE59LWtlcm5lbC1pbnN0YWxsIFwKKyAgICAke1BOfS1ycG0tbWFjcm9zIFwKKyAgICAke1BOfS1iaW5mbXQgXAorICAgICR7UE59LXpzaC1jb21wbGV0aW9uIFwKKyAgICAke1BOfS14b3JnLXhpbml0cmMgXAorICAgICR7UE59LWNvbnRhaW5lciBcCisgICAgJHtQTn0tam91cm5hbC1nYXRld2F5ZCBcCisgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAorICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKKyAgICAke1BOfS1leHRyYS11dGlscyBcCisiCisKK1NVTU1BUllfJHtQTn0tY29udGFpbmVyID0gIlRvb2xzIGZvciBjb250YWluZXJzIGFuZCBWTXMiCitERVNDUklQVElPTl8ke1BOfS1jb250YWluZXIgPSAiU3lzdGVtZCB0b29scyB0byBzcGF3biBhbmQgbWFuYWdlIGNvbnRhaW5lcnMgYW5kIHZpcnR1YWwgbWFjaGluZXMuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiSFRUUCBzZXJ2ZXIgZm9yIGpvdXJuYWwgZXZlbnRzIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgc2VydmVzIGpvdXJuYWwgZXZlbnRzIG92ZXIgdGhlIG5ldHdvcmsuIENsaWVudHMgbXVzdCBjb25uZWN0IHVzaW5nIEhUVFAuIFRoZSBzZXJ2ZXIgbGlzdGVucyBvbiBwb3J0IDE5NTMxIGJ5IGRlZmF1bHQuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtdXBsb2FkID0gIlNlbmQgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZCB1cGxvYWRzIGpvdXJuYWwgZW50cmllcyB0byBhIHNwZWNpZmllZCBVUkwuIgorCitTVU1NQVJZXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIlJlY2VpdmUgam91cm5hbCBtZXNzYWdlcyBvdmVyIHRoZSBuZXR3b3JrIgorREVTQ1JJUFRJT05fJHtQTn0tam91cm5hbC1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZSBpcyBhIGNvbW1hbmQgdG8gcmVjZWl2ZSBzZXJpYWxpemVkIGpvdXJuYWwgZXZlbnRzIGFuZCBzdG9yZSB0aGVtIHRvIGpvdXJuYWwgZmlsZXMuIgorCitTWVNURU1EX1BBQ0tBR0VTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2JpbmZtdCcsICcke1BOfS1iaW5mbXQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbWljcm9odHRwZCcsICcke1BOfS1qb3VybmFsLWdhdGV3YXlkJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKKyIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1iaW5mbXQgPSAic3lzdGVtZC1iaW5mbXQuc2VydmljZSIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSAke1BOfS1leHRyYS11dGlscyBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1nYXRld2F5JywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ21pY3JvaHR0cGQnLCAnJHtQTn0tam91cm5hbC1yZW1vdGUnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnam91cm5hbC11cGxvYWQnLCAnJHtQTn0tam91cm5hbC11cGxvYWQnLCAnJywgZCl9IFwKKyIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi1yIHN5c3RlbWQtam91cm5hbCIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2NvcmVkdW1wJywgJy0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1jb3JlZHVtcDsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnbmV0d29ya2QnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLW5ldHdvcms7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BvbGtpdCcsICctLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0tdXNlci1ncm91cCAtLWhvbWUtZGlyICR7c3lzY29uZmRpcn0vcG9sa2l0LTEgcG9sa2l0ZDsnLCAnJywgZCl9IgorVVNFUkFERF9QQVJBTV8ke1BOfSArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncmVzb2x2ZWQnLCAnLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLXJlc29sdmU7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3RpbWVzeW5jZCcsICctLXN5c3RlbSAtZCAvIC1NIC0tc2hlbGwgL2Jpbi9ub2xvZ2luIHN5c3RlbWQtdGltZXN5bmM7JywgJycsIGQpfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tZXh0cmEtdXRpbHMgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWJ1cy1wcm94eSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC1nYXRld2F5ID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLWdhdGV3YXkiCitVU0VSQUREX1BBUkFNXyR7UE59LWpvdXJuYWwtcmVtb3RlID0gIi0tc3lzdGVtIC1kIC8gLU0gLS1zaGVsbCAvYmluL25vbG9naW4gc3lzdGVtZC1qb3VybmFsLXJlbW90ZSIKK1VTRVJBRERfUEFSQU1fJHtQTn0tam91cm5hbC11cGxvYWQgPSAiLS1zeXN0ZW0gLWQgLyAtTSAtLXNoZWxsIC9iaW4vbm9sb2dpbiBzeXN0ZW1kLWpvdXJuYWwtdXBsb2FkIgorCitGSUxFU18ke1BOfS1hbmFseXplID0gIiR7YmluZGlyfS9zeXN0ZW1kLWFuYWx5emUiCisKK0ZJTEVTXyR7UE59LWluaXRyYW1mcyA9ICIvaW5pdCIKK1JERVBFTkRTXyR7UE59LWluaXRyYW1mcyA9ICIke1BOfSIKKworRklMRVNfJHtQTn0tZ3VpID0gIiR7YmluZGlyfS9zeXN0ZW1hZG0iCisKK0ZJTEVTXyR7UE59LXZjb25zb2xlLXNldHVwID0gIiR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC12Y29uc29sZS1zZXR1cCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c2luaXQudGFyZ2V0LndhbnRzL3N5c3RlbWQtdmNvbnNvbGUtc2V0dXAuc2VydmljZSIKKworUkRFUEVORFNfJHtQTn0ta2VybmVsLWluc3RhbGwgKz0gImJhc2giCitGSUxFU18ke1BOfS1rZXJuZWwtaW5zdGFsbCA9ICIke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9rZXJuZWwvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9rZXJuZWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1ycG0tbWFjcm9zID0gIiR7ZXhlY19wcmVmaXh9L2xpYi9ycG0gXAorICAgICAgICAgICAgICAgICAgICAgICAgICIKKworRklMRVNfJHtQTn0teG9yZy14aW5pdHJjID0gIiR7c3lzY29uZmRpcn0vWDExL3hpbml0L3hpbml0cmMuZC8qIgorCitGSUxFU18ke1BOfS16c2gtY29tcGxldGlvbiA9ICIke2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucyIKKworRklMRVNfJHtQTn0tYmluZm10ID0gIiR7c3lzY29uZmRpcn0vYmluZm10LmQvIFwKKyAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvYmluZm10LmQgXAorICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1iaW5mbXQgXAorICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vcHJvYy1zeXMtZnMtYmluZm10X21pc2MuKiBcCisgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJpbmZtdC5zZXJ2aWNlIgorUlJFQ09NTUVORFNfJHtQTn0tYmluZm10ID0gImtlcm5lbC1tb2R1bGUtYmluZm10LW1pc2MiCisKK1JSRUNPTU1FTkRTXyR7UE59LXZjb25zb2xlLXNldHVwID0gImtiZCBrYmQtY29uc29sZWZvbnRzIGtiZC1rZXltYXBzIgorCisKK0ZJTEVTXyR7UE59LWpvdXJuYWwtZ2F0ZXdheWQgPSAiJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtam91cm5hbC1nYXRld2F5ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zb2NrZXRzLnRhcmdldC53YW50cy9zeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9zeXN0ZW1kL2dhdGV3YXlkL2Jyb3dzZS5odG1sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC1nYXRld2F5ZCA9ICJzeXN0ZW1kLWpvdXJuYWwtZ2F0ZXdheWQuc29ja2V0IgorCitGSUxFU18ke1BOfS1qb3VybmFsLXVwbG9hZCA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC11cGxvYWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtdXBsb2FkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtdXBsb2FkLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0tam91cm5hbC11cGxvYWQgPSAic3lzdGVtZC1qb3VybmFsLXVwbG9hZC5zZXJ2aWNlIgorCitGSUxFU18ke1BOfS1qb3VybmFsLXJlbW90ZSA9ICIke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtam91cm5hbC1yZW1vdGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXN0ZW1kL2pvdXJuYWwtcmVtb3RlLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9zeXN0ZW1kLWpvdXJuYWwtcmVtb3RlLnNvY2tldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIKK1NZU1RFTURfU0VSVklDRV8ke1BOfS1yZW1vdGUgPSAic3lzdGVtZC1qb3VybmFsLXJlbW90ZS5zb2NrZXQiCisKKworRklMRVNfJHtQTn0tY29udGFpbmVyID0gIiR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9tYWNoaW5lY3RsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1uc3Bhd24gXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7bm9uYXJjaF9saWJkaXJ9L3N5c3RlbWQvaW1wb3J0LXB1YnJpbmcuZ3BnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2J1c25hbWVzLnRhcmdldC53YW50cy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuYnVzbmFtZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2NhbC1mcy50YXJnZXQud2FudHMvdmFyLWxpYi1tYWNoaW5lcy5tb3VudCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9tYWNoaW5lLnNsaWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L21hY2hpbmVzLnRhcmdldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L29yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5idXNuYW1lIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtaW1wb3J0ZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbWFjaGluZWQuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9kYnVzLW9yZy5mcmVlZGVza3RvcC5tYWNoaW5lMS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3Zhci1saWItbWFjaGluZXMubW91bnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbXBvcnRkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtbWFjaGluZWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1wdWxsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvdG1wZmlsZXMuZC9zeXN0ZW1kLW5zcGF3bi5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L3N5c3RlbWQtbnNwYXduQC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGlibnNzX215bWFjaGluZXMuc28uMiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzL29yZy5mcmVlZGVza3RvcC5pbXBvcnQxLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLmltcG9ydDEuY29uZiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLm1hY2hpbmUxLmNvbmYgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AuaW1wb3J0MS5wb2xpY3kgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vcG9sa2l0LTEvYWN0aW9ucy9vcmcuZnJlZWRlc2t0b3AubWFjaGluZTEucG9saWN5IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworUlJFQ09NTUVORFNfJHtQTn0tY29udGFpbmVyICs9ICJcCisgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tam91cm5hbC11cGxvYWQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWpvdXJuYWwtcmVtb3RlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1qb3VybmFsLWdhdGV3YXlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICIKKworRklMRVNfJHtQTn0tZXh0cmEtdXRpbHMgPSAiXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1lc2NhcGUgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vc3lzdGVtZC1pbmhpYml0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWRldGVjdC12aXJ0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L3N5c3RlbWQtcnVuIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNhdCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1kZWx0YSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2JpbmRpcn0vc3lzdGVtZC1jZ2xzIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLWNndG9wIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kLXN0ZGlvLWJyaWRnZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLWFzay1wYXNzd29yZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke2Jhc2VfYmluZGlyfS9zeXN0ZW1kLXR0eS1hc2stcGFzc3dvcmQtYWdlbnQgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC1jb25zb2xlLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXNpbml0LnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9tdWx0aS11c2VyLnRhcmdldC53YW50cy9zeXN0ZW1kLWFzay1wYXNzd29yZC13YWxsLnBhdGggXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLXJlc29sdmUtaG9zdCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtYWMtcG93ZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW1kLWFjdGl2YXRlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1idXMtcHJveHlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1idXMtcHJveHlkLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWJ1cy1wcm94eWQuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1zb2NrZXQtcHJveHlkIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1yZXBseS1wYXNzd29yZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbWQtc2xlZXAgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vc3lzdGVtZC9zeXN0ZW0tc2xlZXAgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWhpYmVybmF0ZS5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1oeWJyaWQtc2xlZXAuc2VydmljZSBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3N5c3RlbWQtc3VzcGVuZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc2xlZXAudGFyZ2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1pbml0Y3RsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc3lzdGVtZC1pbml0Y3RsLnNlcnZpY2UgXAorICAgICAgICAgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9zeXN0ZW1kLWluaXRjdGwuc29ja2V0IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vc29ja2V0cy50YXJnZXQud2FudHMvc3lzdGVtZC1pbml0Y3RsLnNvY2tldCBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS9zeXN0ZW1kL3N5c3RlbS1nZW5lcmF0b3JzL3N5c3RlbWQtZ3B0LWF1dG8tZ2VuZXJhdG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50IFwKKyIKKworRklMRVNfJHtQTn0gPSAiICR7YmFzZV9iaW5kaXJ9LyogXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9zaHV0ZG93biBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L2hhbHQgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIFwKKyAgICAgICAgICAgICAgICAke2Jhc2Vfc2JpbmRpcn0vdGVsaW5pdCBcCisgICAgICAgICAgICAgICAgJHtiYXNlX3NiaW5kaXJ9L3Jlc29sdmNvbmYgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9yZWJvb3QgXAorICAgICAgICAgICAgICAgICR7YmFzZV9zYmluZGlyfS9pbml0IFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcyBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3BvbGtpdC0xIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9LyR7QlBOfSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9mYWN0b3J5IFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2RidXMtMS8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbW9kdWxlcy1sb2FkLmQvIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3BhbS5kLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9zeXNjdGwuZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzdGVtZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdG1wZmlsZXMuZC8gXAorICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0veGRnLyBcCisgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQvUkVBRE1FIFwKKyAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L3Jlc29sdi1jb25mLnN5c3RlbWQgXAorICAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvKiBcCisgICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9LyogXAorICAgICAgICAgICAgICAgICR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5Lyouc28gXAorICAgICAgICAgICAgICAgIC9jZ3JvdXAgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9zeXN0ZW1kKiBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2J1c2N0bCBcCisgICAgICAgICAgICAgICAgJHtiaW5kaXJ9L2NvcmVkdW1wY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vbG9jYWxlY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vaG9zdG5hbWVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9yZXNvbHZlY3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0vdGltZWRhdGVjdGwgXAorICAgICAgICAgICAgICAgICR7YmluZGlyfS9ib290Y3RsIFwKKyAgICAgICAgICAgICAgICAke2JpbmRpcn0va2VybmVsLWluc3RhbGwgXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi90bXBmaWxlcy5kLyouY29uZiBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c3RlbWQgXAorICAgICAgICAgICAgICAgICR7ZXhlY19wcmVmaXh9L2xpYi9tb2R1bGVzLWxvYWQuZCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL3N5c2N0bC5kIFwKKyAgICAgICAgICAgICAgICAke2V4ZWNfcHJlZml4fS9saWIvc3lzdXNlcnMuZCBcCisgICAgICAgICAgICAgICAgJHtleGVjX3ByZWZpeH0vbGliL2Vudmlyb25tZW50LmQgXAorICAgICAgICAgICAgICAgICR7bG9jYWxzdGF0ZWRpcn0gXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcwLXVhY2Nlc3MucnVsZXMgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzcxLXNlYXQucnVsZXMgXAorICAgICAgICAgICAgICAgICR7bm9uYXJjaF9iYXNlX2xpYmRpcn0vdWRldi9ydWxlcy5kLzczLXNlYXQtbGF0ZS5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvOTktc3lzdGVtZC5ydWxlcyBcCisgICAgICAgICAgICAgICAgJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2Rwcm9iZS5kL3N5c3RlbWQuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVkYXRlMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubG9jYWxlMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AubmV0d29yazEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnJlc29sdmUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AuaG9zdG5hbWUxLmNvbmYgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kL29yZy5mcmVlZGVza3RvcC5sb2dpbjEuY29uZiBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLmQvb3JnLmZyZWVkZXNrdG9wLnRpbWVzeW5jMS5jb25mIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZC9vcmcuZnJlZWRlc2t0b3AucG9ydGFibGUxLmNvbmYgXAorICAgICAgICAgICAgICAgIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LyoubGEgJHtkYXRhZGlyfS9kYnVzLTEvaW50ZXJmYWNlcy8gJHtzeXNjb25mZGlyfS9ycG0vbWFjcm9zLnN5c3RlbWQiCisKK1JERVBFTkRTXyR7UE59ICs9ICJrbW9kIGRidXMgdXRpbC1saW51eC1tb3VudCB1dGlsLWxpbnV4LXVtb3VudCB1ZGV2ICg9ICR7RVhURU5EUEtHVn0pIHV0aWwtbGludXgtYWdldHR5IHV0aWwtbGludXgtZnNjayIKK1JERVBFTkRTXyR7UE59ICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdzZXJpYWwtZ2V0dHktZ2VuZXJhdG9yJywgJycsICdzeXN0ZW1kLXNlcmlhbGdldHR5JywgZCl9IgorUkRFUEVORFNfJHtQTn0gKz0gInZvbGF0aWxlLWJpbmRzIHVwZGF0ZS1yYy5kIHN5c3RlbWQtY29uZiIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gInN5c3RlbWQtZXh0cmEtdXRpbHMgXAorICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbWQtY29tcGF0LXVuaXRzIHVkZXYtaHdkYiBcCisgICAgICAgICAgICAgICAgICAgICAgZTJmc3Byb2dzLWUyZnNjayBcCisgICAgICAgICAgICAgICAgICAgICAga2VybmVsLW1vZHVsZS1hdXRvZnM0IGtlcm5lbC1tb2R1bGUtdW5peCBrZXJuZWwtbW9kdWxlLWlwdjYgXAorICAgICAgICAgICAgICAgICAgICAgIG9zLXJlbGVhc2UgXAorIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIGxpYmRpciIKK0lOU0FORV9TS0lQXyR7UE59LWRiZyArPSAibGliZGlyIgorSU5TQU5FX1NLSVBfJHtQTn0tZG9jICs9ICIgbGliZGlyIgorCitQQUNLQUdFUyA9KyAidWRldiB1ZGV2LWh3ZGIiCisKK1JQUk9WSURFU191ZGV2ID0gImhvdHBsdWciCisKK1JERVBFTkRTX3VkZXYtaHdkYiArPSAidWRldiIKKworRklMRVNfdWRldiArPSAiJHtiYXNlX3NiaW5kaXJ9L3VkZXZkIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3N5c3RlbWQvc3lzdGVtZC11ZGV2ZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2FjY2VsZXJvbWV0ZXIgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9hdGFfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9jZHJvbV9pZCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2NvbGxlY3QgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9maW5ka2V5Ym9hcmRzIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYva2V5Ym9hcmQtZm9yY2UtcmVsZWFzZS5zaCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L2tleW1hcCBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L210ZF9wcm9iZSBcCisgICAgICAgICAgICAgICAke3Jvb3RsaWJleGVjZGlyfS91ZGV2L3Njc2lfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi92NGxfaWQgXAorICAgICAgICAgICAgICAgJHtyb290bGliZXhlY2Rpcn0vdWRldi9rZXltYXBzIFwKKyAgICAgICAgICAgICAgICR7cm9vdGxpYmV4ZWNkaXJ9L3VkZXYvcnVsZXMuZC8qLnJ1bGVzIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vdWRldiBcCisgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2luaXQuZC9zeXN0ZW1kLXVkZXZkIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKnVkZXYqIFwKKyAgICAgICAgICAgICAgICR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vKi53YW50cy8qdWRldiogXAorICAgICAgICAgICAgICAgJHtiYXNlX2JpbmRpcn0vdWRldmFkbSBcCisgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9dWRldmFkbSBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucy91ZGV2YWRtIFwKKyAgICAgICAgICAgICAgIgorCitGSUxFU191ZGV2LWh3ZGIgPSAiJHtyb290bGliZXhlY2Rpcn0vdWRldi9od2RiLmQiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAidWRldiIKK0lOSVRTQ1JJUFRfTkFNRV91ZGV2ID0gInN5c3RlbWQtdWRldmQiCitJTklUU0NSSVBUX1BBUkFNU191ZGV2ID0gInN0YXJ0IDAzIFMgLiIKKworcHl0aG9uIF9fYW5vbnltb3VzKCkgeworICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgICAgICBkLnNldFZhcigiSU5ISUJJVF9VUERBVEVSQ0RfQkJDTEFTUyIsICIxIikKK30KKworQUxURVJOQVRJVkVfJHtQTn0gPSAiaGFsdCByZWJvb3Qgc2h1dGRvd24gcG93ZXJvZmYgcnVubGV2ZWwgcmVzb2x2LWNvbmYiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtyZXNvbHYtY29uZl0gPSAiJHtzeXNjb25mZGlyfS9yZXNvbHYtY29uZi5zeXN0ZW1kIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Jlc29sdi1jb25mXSA9ICIke3N5c2NvbmZkaXJ9L3Jlc29sdi5jb25mIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbcmVzb2x2LWNvbmZdID89ICI1MCIKKworQUxURVJOQVRJVkVfVEFSR0VUW2hhbHRdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtoYWx0XSA9ICIke2Jhc2Vfc2JpbmRpcn0vaGFsdCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW2hhbHRdID89ICIzMDAiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtyZWJvb3RdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZWJvb3RdID0gIiR7YmFzZV9zYmluZGlyfS9yZWJvb3QiCitBTFRFUk5BVElWRV9QUklPUklUWVtyZWJvb3RdID89ICIzMDAiCisKK0FMVEVSTkFUSVZFX1RBUkdFVFtzaHV0ZG93bl0gPSAiJHtiYXNlX2JpbmRpcn0vc3lzdGVtY3RsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NodXRkb3duXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc2h1dGRvd24iCitBTFRFUk5BVElWRV9QUklPUklUWVtzaHV0ZG93bl0gPz0gIjMwMCIKKworQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2Vyb2ZmXSA9ICIke2Jhc2VfYmluZGlyfS9zeXN0ZW1jdGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJvZmZdID0gIiR7YmFzZV9zYmluZGlyfS9wb3dlcm9mZiIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZW3Bvd2Vyb2ZmXSA/PSAiMzAwIgorCitBTFRFUk5BVElWRV9UQVJHRVRbcnVubGV2ZWxdID0gIiR7YmFzZV9iaW5kaXJ9L3N5c3RlbWN0bCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtydW5sZXZlbF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3J1bmxldmVsIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbcnVubGV2ZWxdID89ICIzMDAiCisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisJc2VkIC1lICcvXmhvc3RzOi9zL1xzKlw8bXlob3N0bmFtZVw+Ly8nIFwKKwkJLWUgJ3MvXCheaG9zdHM6LipcKVwoXDxmaWxlc1w+XClcKC4qXClcKFw8ZG5zXD5cKVwoLipcKS9cMVwyIG15aG9zdG5hbWUgXDNcNFw1LycgXAorCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgorfQorCitwa2dfcHJlcm1fJHtQTn0gKCkgeworCXNlZCAtZSAnL15ob3N0czovcy9ccypcPG15aG9zdG5hbWVcPi8vJyBcCisJCS1lICcvXmhvc3RzOi9zL1xzKm15aG9zdG5hbWUvLycgXAorCQktaSAkRCR7c3lzY29uZmRpcn0vbnNzd2l0Y2guY29uZgorfQorCitQQUNLQUdFX1dSSVRFX0RFUFMgKz0gInFlbXUtbmF0aXZlIgorcGtnX3Bvc3RpbnN0X3VkZXYtaHdkYiAoKSB7CisJaWYgdGVzdCAtbiAiJEQiOyB0aGVuCisJCSRJTlRFUkNFUFRfRElSL3Bvc3RpbnN0X2ludGVyY2VwdCB1cGRhdGVfdWRldl9od2RiICR7UEtHfSBtbHByZWZpeD0ke01MUFJFRklYfSBiaW5wcmVmaXg9JHtNTFBSRUZJWH0KKwllbHNlCisJCXVkZXZhZG0gaHdkYiAtLXVwZGF0ZQorCWZpCit9CisKK3BrZ19wcmVybV91ZGV2LWh3ZGIgKCkgeworCXJtIC1mICREJHtzeXNjb25mZGlyfS91ZGV2L2h3ZGIuYmluCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWIvc3RhcnRfZ2V0dHkgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LWluaXR0YWIvc3RhcnRfZ2V0dHkKaW5kZXggZTE1YWUzNS4uOTZmZDZjZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiL3N0YXJ0X2dldHR5CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYi9zdGFydF9nZXR0eQpAQCAtMTMsNiArMTMsMTggQEAKICMgUmVwaHJhc2UgaW5wdXQgcGFyYW1ldGVyIGZyb20gdHR5UyB0YXJnZXQgaW5kZXggKHR0eVMxLCB0dHlTMiwgdHR5QU1BMCwgZXRjKS4KIHJ1bnRpbWVfdHR5PSQoZWNobyAkMiB8IGdyZXAgLW9oICdbMC05XScpCiAKKyMgYnVzeWJveCcgZ2V0dHkgZG9lcyB0aGlzIGl0c2VsZiwgdXRpbC1saW51eCcgYWdldHR5IG5lZWRzIGV4dHJhIGhlbHAKK2dldHR5PSIvc2Jpbi9nZXR0eSIKK2Nhc2UgJChyZWFkbGluayAtZiAiJHtnZXR0eX0iKSBpbgorICAgICovYnVzeWJveCopCisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgaWYgWyAteCAiL3Vzci9iaW4vc2V0c2lkIiBdIDsgdGhlbgorICAgICAgICAgICAgc2V0c2lkPSIvdXNyL2Jpbi9zZXRzaWQiCisgICAgICAgIGZpCisgICAgICAgIDs7Citlc2FjCisKICMgQmFja3VwICRJRlMuCiBERUZBVUxUX0lGUz0kSUZTCiAjIEN1c3RvbWl6ZSBJbnRlcm5hbCBGaWVsZCBTZXBhcmF0b3IuCkBAIC0zMSw3ICs0Myw3IEBACiAJCQl0aGVuCiAJCQkJaWYgWyAtYyAvZGV2LyQyIF0KIAkJCQl0aGVuCi0JCQkJICAgIC9zYmluL2dldHR5IC1MICQxICQyICQzCisJCQkJICAgICR7c2V0c2lkOi19ICR7Z2V0dHl9IC1MICQxICQyICQzCiAJCQkJZmkKIAkJCQlicmVhawogCQkJZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtaW5pdHRhYl8yLjg4ZHNmLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKaW5kZXggODU4NWE0MS4uYmZkODkwZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC1pbml0dGFiXzIuODhkc2YuYmIKQEAgLTIwLDYgKzIwLDcgQEAKICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pbml0dGFiICR7RH0ke3N5c2NvbmZkaXJ9L2luaXR0YWIKICAgICBpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQogICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L3N0YXJ0X2dldHR5ICR7RH0ke2Jhc2VfYmluZGlyfS9zdGFydF9nZXR0eQorICAgIHNlZCAtZSAncywvdXNyL2Jpbiwke2JpbmRpcn0sZycgLWkgJHtEfSR7YmFzZV9iaW5kaXJ9L3N0YXJ0X2dldHR5CiAKICAgICBzZXQgLXgKICAgICB0bXA9IiR7U0VSSUFMX0NPTlNPTEVTfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbmVzLWluLWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmluZXMtaW4tZy5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbmVzLWluLWcucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9jcnlwdC1saWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0L2NyeXB0LWxpYi5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC0yLjg4ZHNmL2NyeXB0LWxpYi5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9jcnlwdC1saWIucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9pbnN0YWxsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9pbnN0YWxsLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvaW5zdGFsbC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9pbnN0YWxsLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3N5c3Zpbml0L3N5c3Zpbml0LTIuODhkc2YvcGlkb2YtYWRkLW0tb3B0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS9zeXN2aW5pdC9zeXN2aW5pdC9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQtMi44OGRzZi9waWRvZi1hZGQtbS1vcHRpb24ucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWNvcmUvc3lzdmluaXQvc3lzdmluaXQvcGlkb2YtYWRkLW0tb3B0aW9uLnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC5pbmMKaW5kZXggYTA1YzFjYS4uMThjM2FmMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXguaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4LmluYwpAQCAtMTksMTIxICsxOSwxMzIgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYmJsa2lkL0NPUFlJTkc7bWQ1PWZiOTNmMDFkNDM2MTA2OWM1NjE2MzI3NzA1MzczYjE2IgogCiAjZ3RrLWRvYyBpcyBub3QgZW5hYmxlZCBhcyBpdCByZXF1aXJlcyB4bWx0byB3aGljaCByZXF1aXJlcyB1dGlsLWxpbnV4Ci1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHl0aG9uMy1kaXIgYmFzaC1jb21wbGV0aW9uIHB0ZXN0Citpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG1hbnBhZ2VzIHBrZ2NvbmZpZyBzeXN0ZW1kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHl0aG9uMy1kaXIgYmFzaC1jb21wbGV0aW9uIHB0ZXN0CiBERVBFTkRTID0gInpsaWIgbmN1cnNlcyB2aXJ0dWFsL2NyeXB0IgotREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBsem8tbmF0aXZlIgotREVQRU5EU19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBsem8tbmF0aXZlIgogCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvdXRpbC1saW51eC92JHtNQUpPUl9WRVJTSU9OfS91dGlsLWxpbnV4LSR7UFZ9LnRhci54eiBcCitNQUpPUl9WRVJTSU9OID0gIiR7QCcuJy5qb2luKGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJylbMDoyXSl9IgorU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzLyR7QlBOfS92JHtNQUpPUl9WRVJTSU9OfS8ke0JQfS50YXIueHogXAogICAgICAgICAgICAiCiAKLVBBQ0tBR0VTID0rICJ1dGlsLWxpbnV4LWFnZXR0eSB1dGlsLWxpbnV4LWZkaXNrIHV0aWwtbGludXgtY2ZkaXNrIHV0aWwtbGludXgtc2ZkaXNrIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LXN3YXBvbm9mZiB1dGlsLWxpbnV4LWxvc2V0dXAgdXRpbC1saW51eC11bW91bnQgXAotICAgICAgICAgICAgIHV0aWwtbGludXgtbW91bnQgdXRpbC1saW51eC1yZWFkcHJvZmlsZSB1dGlsLWxpbnV4LXV1aWRkIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LXV1aWRnZW4gdXRpbC1saW51eC1sc2NwdSB1dGlsLWxpbnV4LWZzY2suY3JhbWZzIHV0aWwtbGludXgtZnNjayBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1ibGtpZCB1dGlsLWxpbnV4LW1rZnMgdXRpbC1saW51eC1tY29va2llIHV0aWwtbGludXgtcmZraWxsIFwKLSAgICAgICAgICAgICB1dGlsLWxpbnV4LWxzYmxrIHV0aWwtbGludXgtbWtmcy5jcmFtZnMgdXRpbC1saW51eC1mc3RyaW0gXAotICAgICAgICAgICAgIHV0aWwtbGludXgtcGFydHggdXRpbC1saW51eC1od2Nsb2NrIHV0aWwtbGludXgtbW91bnRwb2ludCBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1maW5kZnMgdXRpbC1saW51eC1nZXRvcHQgdXRpbC1saW51eC1zdWxvZ2luIHV0aWwtbGludXgtcHJsaW1pdCBcCi0gICAgICAgICAgICAgdXRpbC1saW51eC1pb25pY2UgdXRpbC1saW51eC1zd2l0Y2gtcm9vdCB1dGlsLWxpbnV4LXVuc2hhcmUiCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHlsaWJtb3VudCcsICd1dGlsLWxpbnV4LXB5bGlibW91bnQnLCAnJywgZCl9IgotUEFDS0FHRVMgPSsgIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3V0aWwtbGludXgtcnVudXNlciB1dGlsLWxpbnV4LXN1JywgJycsIGQpfSIKK1BBQ0tBR0VTID0rICIke1BOfS1zd2Fwb25vZmYiCitQQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHlsaWJtb3VudCcsICcke1BOfS1weWxpYm1vdW50JywgJycsIGQpfSIKIAotUEFDS0FHRVNfRFlOQU1JQyA9ICJedXRpbC1saW51eC1saWIuKiIKK3B5dGhvbiB1dGlsX2xpbnV4X2JpbnBhY2thZ2VzICgpIHsKKyAgICBkZWYgcGtnX2hvb2soZiwgcGtnLCBmaWxlX3JlZ2V4LCBvdXRwdXRfcGF0dGVybiwgbW9kdWxlbmFtZSk6CisgICAgICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKyAgICAgICAgZC5hcHBlbmRWYXIoJ1JSRUNPTU1FTkRTXyVzJyAlIHBuLCAnICVzJyAlIHBrZykKIAotU0hBUkVEX0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtdXNlLXR0eS1ncm91cCBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93biBcCi0gICAgICAgICAgICAgICAgICAgICAgIC0tZW5hYmxlLWtpbGwgLS1lbmFibGUtbGFzdCAtLWVuYWJsZS1tZXNnIC0tZW5hYmxlLXBhcnR4IFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUtcmF3IC0tZW5hYmxlLXJma2lsbCAtLWRpc2FibGUtbG9naW4gXAotICAgICAgICAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmlwdyAtLWRpc2FibGUtbmV3Z3JwIC0tZGlzYWJsZS1jaGZuLWNoc2ggXAotICAgICAgICAgICAgICAgICAgICAgICAtLWVuYWJsZS13cml0ZSAtLWVuYWJsZS1tb3VudCAtLWVuYWJsZS11bnNoYXJlIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1lbmFibGUtbGlidXVpZCAtLWVuYWJsZS1saWJibGtpZCAtLWVuYWJsZS1mc2NrIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1pbml4IC0tZGlzYWJsZS1iZnMgLS13aXRob3V0LXVkZXYgXAotICAgICAgICAgICAgICAgICAgICAgICB1c3JzYmluX2V4ZWNkaXI9JyR7c2JpbmRpcn0nIFwKKyAgICAgICAgaWYgZC5nZXRWYXIoJ0FMVEVSTkFUSVZFXycgKyBwa2cpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGQuZ2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgbW9kdWxlbmFtZSk6CisgICAgICAgICAgICBkLnNldFZhcignQUxURVJOQVRJVkVfJyArIHBrZywgbW9kdWxlbmFtZSkKKworICAgIGJpbmRpcnMgPSBzb3J0ZWQobGlzdChzZXQoZC5leHBhbmQoIiR7YmFzZV9zYmluZGlyfSAke2Jhc2VfYmluZGlyfSAke3NiaW5kaXJ9ICR7YmluZGlyfSIpLnNwbGl0KCkpKSkKKyAgICBmb3IgZGlyIGluIGJpbmRpcnM6CisgICAgICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHJvb3Q9ZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3JlZ2V4PXInKC4qKScsIG91dHB1dF9wYXR0ZXJuPScke1BOfS0lcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPScke1BOfSAlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGhvb2s9cGtnX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycpCisKKyAgICAjIFRoZXJlIGFyZSBzb21lIHN5bWxpbmtzIGZvciBzb21lIGJpbmFyaWVzIHdoaWNoIHdlIGhhdmUgaWdub3JlZAorICAgICMgYWJvdmUuIEFkZCB0aGVtIHRvIHRoZSBwYWNrYWdlIG93bmluZyB0aGUgYmluYXJ5IHRoZXkgYXJlCisgICAgIyBwb2ludGluZyB0bworICAgIGV4dHJhcyA9IHt9CisgICAgZHZhciA9IGQuZ2V0VmFyKCdQS0dEJykKKyAgICBmb3Igcm9vdCBpbiBiaW5kaXJzOgorICAgICAgICBmb3Igd2Fsa3Jvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoZHZhciArIHJvb3QpOgorICAgICAgICAgICAgZm9yIGYgaW4gZmlsZXM6CisgICAgICAgICAgICAgICAgZmlsZSA9IG9zLnBhdGguam9pbih3YWxrcm9vdCwgZikKKyAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2xpbmsoZmlsZSk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICAgICBwa2cgPSBvcy5wYXRoLmJhc2VuYW1lKG9zLnJlYWRsaW5rKGZpbGUpKQorICAgICAgICAgICAgICAgIGV4dHJhc1twa2ddID0gZXh0cmFzLmdldChwa2csICcnKSArICcgJyArIGZpbGUucmVwbGFjZShkdmFyLCAnJywgMSkKKworICAgIHBuID0gZC5nZXRWYXIoJ1BOJykKKyAgICBmb3IgcGtnLCBsaW5rcyBpbiBleHRyYXMuaXRlbXMoKToKKyAgICAgICAgb2YgPSBkLmdldFZhcignRklMRVNfJyArIHBuICsgJy0nICsgcGtnKQorICAgICAgICBsaW5rcyA9IG9mICsgbGlua3MKKyAgICAgICAgZC5zZXRWYXIoJ0ZJTEVTXycgKyBwbiArICctJyArIHBrZywgbGlua3MpCit9CisKKyMgd2UgbXVzdCBleGVjdXRlIGJlZm9yZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIFBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUworUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTID0rICJ1dGlsX2xpbnV4X2JpbnBhY2thZ2VzICIKKworcHl0aG9uIHV0aWxfbGludXhfbGlicGFja2FnZXMoKSB7CisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcm9vdD1kLmdldFZhcignVVRJTF9MSU5VWF9MSUJESVInKSwgZmlsZV9yZWdleD1yJ15saWIoLiopXC5zb1wuLiokJywKKyAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfcGF0dGVybj0nJHtQTn0tbGliJXMnLAorICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPScke1BOfSBsaWIlcycsCisgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQorfQorCitQQUNLQUdFU1BMSVRGVU5DUyA9KyAidXRpbF9saW51eF9saWJwYWNrYWdlcyIKKworUEFDS0FHRVNfRFlOQU1JQyA9ICJeJHtQTn0tLioiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1tcyIKK1VUSUxfTElOVVhfTElCRElSID0gIiR7bGliZGlyfSIKK1VUSUxfTElOVVhfTElCRElSX2NsYXNzLXRhcmdldCA9ICIke2Jhc2VfbGliZGlyfSIKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtbGlidXVpZCAtLWVuYWJsZS1saWJibGtpZCBcCisgICAgXAorICAgIC0tZW5hYmxlLWZzY2sgLS1lbmFibGUta2lsbCAtLWVuYWJsZS1sYXN0IC0tZW5hYmxlLW1lc2cgXAorICAgIC0tZW5hYmxlLW1vdW50IC0tZW5hYmxlLXBhcnR4IC0tZW5hYmxlLXJhdyAtLWVuYWJsZS1yZmtpbGwgXAorICAgIC0tZW5hYmxlLXVuc2hhcmUgLS1lbmFibGUtd3JpdGUgXAorICAgIFwKKyAgICAtLWRpc2FibGUtYmZzIC0tZGlzYWJsZS1jaGZuLWNoc2ggLS1kaXNhYmxlLWxvZ2luIFwKKyAgICAtLWRpc2FibGUtbWFrZWluc3RhbGwtY2hvd24gLS1kaXNhYmxlLW1pbml4IC0tZGlzYWJsZS1uZXdncnAgXAorICAgIC0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIC0tZGlzYWJsZS12aXB3IFwKKyAgICBcCisgICAgLS13aXRob3V0LXVkZXYgXAorICAgIFwKKyAgICB1c3JzYmluX2V4ZWNkaXI9JyR7c2JpbmRpcn0nIFwKKyAgICAtLWxpYmRpcj0nJHtVVElMX0xJTlVYX0xJQkRJUn0nIFwKICIKIAotRVhUUkFfT0VDT05GID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0iCi0KIFBBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iCisjIGluaGVyaXQgbWFucGFnZXMgcmVxdWlyZXMgdGhpcyB0byBiZSBwcmVzZW50LCBob3dldmVyIHV0aWwtbGludXggZG9lcyBub3QgaGF2ZSAKKyMgY29uZmlndXJhdGlvbiBvcHRpb25zLCBhbmQgaW5zdGFsbHMgbWFucGFnZXMgYWx3YXlzCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICIiCiBQQUNLQUdFQ09ORklHW3BhbV0gPSAiLS1lbmFibGUtc3UgLS1lbmFibGUtcnVudXNlciwtLWRpc2FibGUtc3UgLS1kaXNhYmxlLXJ1bnVzZXIsIGxpYnBhbSwiCi0KICMgUmVzcGVjdCB0aGUgc3lzdGVtZCBmZWF0dXJlIGZvciB1dWlkZAotUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZCAtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8sIC0td2l0aG91dC1zeXN0ZW1kIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpcixzeXN0ZW1kIgotCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kIC0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LCAtLXdpdGhvdXQtc3lzdGVtZCAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsc3lzdGVtZCIKICMgQnVpbGQgc2V0cHJpdiByZXF1aXJlcyBsaWJjYXAtbmcKIFBBQ0tBR0VDT05GSUdbbGliY2FwLW5nXSA9ICItLWVuYWJsZS1zZXRwcml2LC0tZGlzYWJsZS1zZXRwcml2LGxpYmNhcC1uZywiCi0KICMgQnVpbGQgcHl0aG9uIGJpbmRpbmdzIGZvciBsaWJtb3VudAogUEFDS0FHRUNPTkZJR1tweWxpYm1vdW50XSA9ICItLXdpdGgtcHl0aG9uPTMgLS1lbmFibGUtcHlsaWJtb3VudCwtLXdpdGhvdXQtcHl0aG9uIC0tZGlzYWJsZS1weWxpYm1vdW50LHB5dGhvbjMiCi0KICMgUmVhZGxpbmUgc3VwcG9ydAogUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS13aXRoLXJlYWRsaW5lLC0td2l0aG91dC1yZWFkbGluZSxyZWFkbGluZSIKIAorRVhUUkFfT0VNQUtFID0gIkFSQ0g9JHtUQVJHRVRfQVJDSH0gQ1BVPSBDUFVPUFQ9ICdPUFQ9JHtDRkxBR1N9JyIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKK0ZJTEVTXyR7UE59ID0gIiIKIEZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9nZXRvcHQvZ2V0b3B0LSouKiIKLQogRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9saWJtb3VudC9weWxpYm1vdW50LmxhIgotCi1GSUxFU191dGlsLWxpbnV4LWFnZXR0eSA9ICIke2Jhc2Vfc2JpbmRpcn0vYWdldHR5IgotRklMRVNfdXRpbC1saW51eC1mZGlzayA9ICIke2Jhc2Vfc2JpbmRpcn0vZmRpc2suJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1mc3RyaW0gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzdHJpbS4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWNmZGlzayA9ICIke2Jhc2Vfc2JpbmRpcn0vY2ZkaXNrIgotRklMRVNfdXRpbC1saW51eC1zZmRpc2sgPSAiJHtzYmluZGlyfS9zZmRpc2siCi1GSUxFU191dGlsLWxpbnV4LXN3YXBvbm9mZiA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9uLiR7QlBOfSAke2Jhc2Vfc2JpbmRpcn0vc3dhcG9mZi4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWxvc2V0dXAgPSAiJHtiYXNlX3NiaW5kaXJ9L2xvc2V0dXAuJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1tb3VudCA9ICIke2Jhc2VfYmluZGlyfS9tb3VudC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LW1jb29raWUgPSAiJHtiaW5kaXJ9L21jb29raWUiCi1GSUxFU191dGlsLWxpbnV4LXVtb3VudCA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQuJHtCUE59IgotRklMRVNfdXRpbC1saW51eC1yZWFkcHJvZmlsZSA9ICIke3NiaW5kaXJ9L3JlYWRwcm9maWxlLiR7QlBOfSIKLUZJTEVTX3V0aWwtbGludXgtdXVpZGdlbiA9ICIke2JpbmRpcn0vdXVpZGdlbiIKLUZJTEVTX3V0aWwtbGludXgtdXVpZGQgPSAiJHtzYmluZGlyfS91dWlkZCIKLUZJTEVTX3V0aWwtbGludXgtcmZraWxsID0gIiR7c2JpbmRpcn0vcmZraWxsKiIKLUZJTEVTX3V0aWwtbGludXgtcGFydHggPSAiJHtzYmluZGlyfS9wYXJ0eCIKLUZJTEVTX3V0aWwtbGludXgtaHdjbG9jayA9ICIke2Jhc2Vfc2JpbmRpcn0vaHdjbG9jay4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LWZpbmRmcyA9ICIke3NiaW5kaXJ9L2ZpbmRmcyIKLUZJTEVTX3V0aWwtbGludXgtZ2V0b3B0ID0gIiR7YmFzZV9iaW5kaXJ9L2dldG9wdC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXJ1bnVzZXIgPSAiJHtzYmluZGlyfS9ydW51c2VyIgotRklMRVNfdXRpbC1saW51eC1wcmxpbWl0ID0gIiR7YmluZGlyfS9wcmxpbWl0IgotRklMRVNfdXRpbC1saW51eC1pb25pY2UgPSAiJHtiaW5kaXJ9L2lvbmljZS4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXN1ID0gIiR7YmluZGlyfS9zdS51dGlsLWxpbnV4ICR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKLUNPTkZGSUxFU191dGlsLWxpbnV4LXN1ID0gIiR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKLQotRklMRVNfdXRpbC1saW51eC1weWxpYm1vdW50ID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L3B5bGlibW91bnQuc28gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19faW5pdF9fLiogXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19fcHljYWNoZV9fLyoiCi1GSUxFU191dGlsLWxpbnV4LWxzYmxrID0gIiR7YmluZGlyfS9sc2JsayIKLUZJTEVTX3V0aWwtbGludXgtbHNjcHUgPSAiJHtiaW5kaXJ9L2xzY3B1IgotCi1GSUxFU191dGlsLWxpbnV4LWZzY2sgPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzY2sqIgotRklMRVNfdXRpbC1saW51eC1ta2ZzID0gIiR7c2JpbmRpcn0vbWtmcyIKLQotRklMRVNfdXRpbC1saW51eC1mc2NrLmNyYW1mcyA9ICIke3NiaW5kaXJ9L2ZzY2suY3JhbWZzIgotRklMRVNfdXRpbC1saW51eC1ta2ZzLmNyYW1mcyA9ICIke3NiaW5kaXJ9L21rZnMuY3JhbWZzIgotCi1GSUxFU191dGlsLWxpbnV4LXN1bG9naW4gPSAiJHtiYXNlX3NiaW5kaXJ9L3N1bG9naW4qIgotRklMRVNfdXRpbC1saW51eC1tb3VudHBvaW50ID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50cG9pbnQuJHtCUE59IgotCi1GSUxFU191dGlsLWxpbnV4LXN3aXRjaC1yb290ID0gIiR7YmFzZV9zYmluZGlyfS9zd2l0Y2hfcm9vdC4ke0JQTn0iCi1GSUxFU191dGlsLWxpbnV4LXVuc2hhcmUgPSAiJHtiaW5kaXJ9L3Vuc2hhcmUuJHtCUE59IgorRklMRVNfJHtQTn0tbW91bnQgPSAiJHtzeXNjb25mZGlyfS9kZWZhdWx0L21vdW50YWxsIgorRklMRVNfJHtQTn0tcnVudXNlciA9ICIke3N5c2NvbmZkaXJ9L3BhbS5kL3J1bnVzZXIqIgorRklMRVNfJHtQTn0tc3UgPSAiJHtzeXNjb25mZGlyfS9wYW0uZC9zdS1sIgorQ09ORkZJTEVTXyR7UE59LXN1ID0gIiR7c3lzY29uZmRpcn0vcGFtLmQvc3UtbCIKK0ZJTEVTXyR7UE59LXB5bGlibW91bnQgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vbGlibW91bnQvcHlsaWJtb3VudC5zbyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2xpYm1vdW50L19faW5pdF9fLiogXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS9saWJtb3VudC9fX3B5Y2FjaGVfXy8qIgogCiAjIFV0aWwtbGludXgnIGJsa2lkIHJlcGxhY2VzIHRoZSBlMmZzcHJvZ3Mgb25lCi1GSUxFU191dGlsLWxpbnV4LWJsa2lkID0gIiR7YmFzZV9zYmluZGlyfS9ibGtpZCoiCi1SQ09ORkxJQ1RTX3V0aWwtbGludXgtYmxraWQgPSAiZTJmc3Byb2dzLWJsa2lkIgotUlJFUExBQ0VTX3V0aWwtbGludXgtYmxraWQgPSAiZTJmc3Byb2dzLWJsa2lkIgotCi1SREVQRU5EU191dGlsLWxpbnV4LXJ1bnVzZXIgKz0gImxpYnBhbSIKLVJERVBFTkRTX3V0aWwtbGludXgtc3UgKz0gImxpYnBhbSIKLQotUkRFUEVORFNfJHtQTn0gPSAidXRpbC1saW51eC11bW91bnQgdXRpbC1saW51eC1zd2Fwb25vZmYgdXRpbC1saW51eC1sb3NldHVwIHV0aWwtbGludXgtc3Vsb2dpbiB1dGlsLWxpbnV4LWxzYmxrIgotUkRFUEVORFNfJHtQTn0gKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3V0aWwtbGludXgtcnVudXNlciB1dGlsLWxpbnV4LXN1JywgJycsIGQpfSIKLQotUlJFQ09NTUVORFNfJHtQTn0gPSAidXRpbC1saW51eC1mZGlzayB1dGlsLWxpbnV4LWNmZGlzayB1dGlsLWxpbnV4LXNmZGlzayB1dGlsLWxpbnV4LW1vdW50IHV0aWwtbGludXgtcmVhZHByb2ZpbGUgdXRpbC1saW51eC1ta2ZzIHV0aWwtbGludXgtbW91bnRwb2ludCB1dGlsLWxpbnV4LXBybGltaXQgdXRpbC1saW51eC1pb25pY2UgdXRpbC1saW51eC1zd2l0Y2gtcm9vdCIKK1JDT05GTElDVFNfJHtQTn0tYmxraWQgPSAiJHtNTFBSRUZJWH1lMmZzcHJvZ3MtYmxraWQiCitSUkVQTEFDRVNfJHtQTn0tYmxraWQgPSAiJHtNTFBSRUZJWH1lMmZzcHJvZ3MtYmxraWQiCiAKIFJSRUNPTU1FTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCiBSUkVDT01NRU5EU18ke1BOfV9jbGFzcy1uYXRpdmVzZGsgPSAiIgogUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKIFJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZXNkayA9ICIiCiAKLVJQUk9WSURFU18ke1BOfS1kZXYgPSAidXRpbC1saW51eC1saWJibGtpZC1kZXYgdXRpbC1saW51eC1saWJtb3VudC1kZXYgdXRpbC1saW51eC1saWJ1dWlkLWRldiIKK1JQUk9WSURFU18ke1BOfS1kZXYgPSAiJHtQTn0tbGliYmxraWQtZGV2ICR7UE59LWxpYm1vdW50LWRldiAke1BOfS1saWJ1dWlkLWRldiIKKworUkRFUEVORFNfJHtQTn0tYmFzaC1jb21wbGV0aW9uICs9ICIke1BOfS1sc2JsayIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gImJhc2ggZ3JlcCBjb3JldXRpbHMgd2hpY2ggYnRyZnMtdG9vbHMgJHtQTn0iCitSREVQRU5EU18ke1BOfS1zd2Fwb25vZmYgPSAiJHtQTn0tc3dhcG9uICR7UE59LXN3YXBvZmYiCitBTExPV19FTVBUWV8ke1BOfS1zd2Fwb25vZmYgPSAiMSIKIAogI1NZU1RFTURfUEFDS0FHRVMgPSAiJHtQTn0tdXVpZGQgJHtQTn0tZnN0cmltIgogU1lTVEVNRF9TRVJWSUNFXyR7UE59LXV1aWRkID0gInV1aWRkLnNvY2tldCB1dWlkZC5zZXJ2aWNlIgpAQCAtMTQxLDIzICsxNTIsMTcgQEAKIFNZU1RFTURfU0VSVklDRV8ke1BOfS1mc3RyaW0gPSAiZnN0cmltLnRpbWVyIGZzdHJpbS5zZXJ2aWNlIgogU1lTVEVNRF9BVVRPX0VOQUJMRV8ke1BOfS1mc3RyaW0gPSAiZGlzYWJsZSIKIAotZG9fY29tcGlsZSAoKSB7Ci0Jc2V0IC1lCi0Jb2VfcnVubWFrZSBBUkNIPSR7VEFSR0VUX0FSQ0h9IENQVT0gQ1BVT1BUPSAnT1BUPSR7Q0ZMQUdTfScKLX0KLQogZG9faW5zdGFsbCAoKSB7CiAJIyB3aXRoIGNjYWNoZSB0aGUgdGltZXN0YW1wcyBvbiBjb21waWxlZCBmaWxlcyBtYXkKIAkjIGVuZCB1cCBlYXJsaWVyIHRoYW4gb24gdGhlaXIgaW5wdXRzLCB0aGlzIGFsbG93cwogCSMgZm9yIHRoZSByZXN1bHRhbnQgY29tcGlsYXRpb24gaW4gdGhlIGluc3RhbGwgc3RlcC4KLQlvZV9ydW5tYWtlIEFSQ0g9JHtUQVJHRVRfQVJDSH0gQ1BVPSBDUFVPUFQ9IFwKLQkJJ09QVD0ke0NGTEFHU30nICdDQz0ke0NDfScgJ0xEPSR7TER9JyBcCisJb2VfcnVubWFrZSAnQ0M9JHtDQ30nICdMRD0ke0xEfScgXAogCQknTERGTEFHUz0ke0xERkxBR1N9JyAnREVTVERJUj0ke0R9JyBpbnN0YWxsCiAKIAlta2RpciAtcCAke0R9JHtiYXNlX2JpbmRpcn0KIAogICAgICAgICBzYmlucHJvZ3M9ImFnZXR0eSBjdHJsYWx0ZGVsIGNmZGlzayB2aXB3IHZpZ3IiCi0gICAgICAgIHNiaW5wcm9nc19hPSJwaXZvdF9yb290IGh3Y2xvY2sgbWtzd2FwIG1rZnMubWluaXggZnNjay5taW5peCBsb3NldHVwIHN3YXBvbiBzd2Fwb2ZmIGZkaXNrIGZzY2sgYmxraWQgYmxvY2tkZXYgZnN0cmltIHN1bG9naW4gc3dpdGNoX3Jvb3Qgbm9sb2dpbiIKKyAgICAgICAgc2JpbnByb2dzX2E9InBpdm90X3Jvb3QgaHdjbG9jayBta3N3YXAgbG9zZXR1cCBzd2Fwb24gc3dhcG9mZiBmZGlzayBmc2NrIGJsa2lkIGJsb2NrZGV2IGZzdHJpbSBzdWxvZ2luIHN3aXRjaF9yb290IG5vbG9naW4iCiAgICAgICAgIGJpbnByb2dzX2E9ImRtZXNnIGdldG9wdCBraWxsIG1vcmUgdW1vdW50IG1vdW50IGxvZ2luIHN1IG1vdW50cG9pbnQiCiAKICAgICAgICAgaWYgWyAiJHtiYXNlX3NiaW5kaXJ9IiAhPSAiJHtzYmluZGlyfSIgXTsgdGhlbgpAQCAtMjA1LDEyMyArMjEwLDgwIEBACiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjgwIgogCi1BTFRFUk5BVElWRV8ke1BOfSAgPSAiIFwKLSAgICBkbWVzZyBraWxsIG1vcmUgbWtzd2FwIGJsb2NrZGV2IHBpdm90X3Jvb3QgXAotICAgIGhleGR1bXAgbGFzdCBsYXN0YiBsb2dnZXIgbWVzZyByZW5pY2Ugd2FsbCBcCi0gICAgc2V0c2lkIGNocnQgZmxvY2sgdXRtcGR1bXAgZWplY3Qgbm9sb2dpbiB0YXNrc2V0IGZhbGxvY2F0ZSBcCi0gICAgZnNmcmVlemUgbnNlbnRlciBjYWwgcmV2IFwKLSIKLQotQUxURVJOQVRJVkVfTElOS19OQU1FW2RtZXNnXSA9ICIke2Jhc2VfYmluZGlyfS9kbWVzZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtraWxsXSA9ICIke2Jhc2VfYmluZGlyfS9raWxsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW21vcmVdID0gIiR7YmFzZV9iaW5kaXJ9L21vcmUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbWtzd2FwXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtzd2FwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkXSA9ICIke2Jhc2Vfc2JpbmRpcn0vYmxraWQiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbYmxvY2tkZXZdID0gIiR7YmFzZV9zYmluZGlyfS9ibG9ja2RldiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtwaXZvdF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcGl2b3Rfcm9vdCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtjYWxdID0gIiR7YmluZGlyfS9jYWwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY2hydF0gPSAiJHtiaW5kaXJ9L2NocnQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZG1lc2ddID0gIiR7YmFzZV9iaW5kaXJ9L2RtZXNnIgogQUxURVJOQVRJVkVfTElOS19OQU1FW2VqZWN0XSA9ICIke2JpbmRpcn0vZWplY3QiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZmFsbG9jYXRlXSA9ICIke2JpbmRpcn0vZmFsbG9jYXRlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3Jldl0gPSAiJHtiaW5kaXJ9L3JldiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmZGlza10gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZkaXNrIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2Zsb2NrXSA9ICIke2JpbmRpcn0vZmxvY2siCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2ZzY2siCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNmcmVlemVdID0gIiR7c2JpbmRpcn0vZnNmcmVlemUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnN0cmltXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZnN0cmltIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dldG9wdF0gPSAiJHtiYXNlX2JpbmRpcn0vZ2V0b3B0IgorQUxURVJOQVRJVkVfJHtQTn0tYWdldHR5ID0gImdldHR5IgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHR5XSA9ICIke2Jhc2Vfc2JpbmRpcn0vZ2V0dHkiCitBTFRFUk5BVElWRV9UQVJHRVRbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9hZ2V0dHkiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaGV4ZHVtcF0gPSAiJHtiaW5kaXJ9L2hleGR1bXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaHdjbG9ja10gPSAiJHtiYXNlX3NiaW5kaXJ9L2h3Y2xvY2siCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaW9uaWNlXSA9ICIke2JpbmRpcn0vaW9uaWNlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2tpbGxdID0gIiR7YmFzZV9iaW5kaXJ9L2tpbGwiCitBTFRFUk5BVElWRV8ke1BOfS1sYXN0ID0gImxhc3QgbGFzdGIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdF0gPSAiJHtiaW5kaXJ9L2xhc3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdGJdID0gIiR7YmluZGlyfS9sYXN0YiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsb2dnZXJdID0gIiR7YmluZGlyfS9sb2dnZXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbG9zZXR1cF0gPSAiJHtiYXNlX3NiaW5kaXJ9L2xvc2V0dXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbWVzZ10gPSAiJHtiaW5kaXJ9L21lc2ciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbWtzd2FwXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtzd2FwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vcmVdID0gIiR7YmFzZV9iaW5kaXJ9L21vcmUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50IgorQUxURVJOQVRJVkVfTElOS19OQU1FW21vdW50cG9pbnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50cG9pbnQiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbm9sb2dpbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L25vbG9naW4iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbbnNlbnRlcl0gPSAiJHtiaW5kaXJ9L25zZW50ZXIiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcGl2b3Rfcm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3Bpdm90X3Jvb3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVhZHByb2ZpbGVdID0gIiR7c2JpbmRpcn0vcmVhZHByb2ZpbGUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcmVuaWNlXSA9ICIke2JpbmRpcn0vcmVuaWNlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Jldl0gPSAiJHtiaW5kaXJ9L3JldiIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3NldHNpZF0gPSAiJHtiaW5kaXJ9L3NldHNpZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtzdV0gPSAiJHtiYXNlX2JpbmRpcn0vc3UiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3Vsb2dpbl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N1bG9naW4iCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3dhcG9mZl0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N3YXBvZmYiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3dhcG9uXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9uIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3N3aXRjaF9yb290XSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dpdGNoX3Jvb3QiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdGFza3NldF0gPSAiJHtiaW5kaXJ9L3Rhc2tzZXQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdW1vdW50XSA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdW5zaGFyZV0gPSAiJHtiaW5kaXJ9L3Vuc2hhcmUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdXRtcGR1bXBdID0gIiR7YmluZGlyfS91dG1wZHVtcCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt3YWxsXSA9ICIke2JpbmRpcn0vd2FsbCIKIAotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gIm1vdW50cG9pbnQuMSBsYXN0LjEgbGFzdGIuMSBtZXNnLjEgd2FsbC4xIG5vbG9naW4uOCBzdWxvZ2luLjggdXRtcGR1bXAuMSByZmtpbGwuOCBraWxsLjEgbGliYmxraWQuMyBibGtpZC44IGZpbmRmcy44IGZzY2suOCB1dWlkLjMgZWplY3QuMSBsb2dnZXIuMSIKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJibGtpZC44IGVqZWN0LjEgZmluZGZzLjggZnNjay44IGtpbGwuMSBsYXN0LjEgbGFzdGIuMSBsaWJibGtpZC4zIGxvZ2dlci4xIG1lc2cuMSBtb3VudHBvaW50LjEgbm9sb2dpbi44IHJma2lsbC44IHN1bG9naW4uOCB1dG1wZHVtcC4xIHV1aWQuMyB3YWxsLjEiCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbScsICdzdS4xJywgJycsIGQpfSIKIAorQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkLjhdID0gIiR7bWFuZGlyfS9tYW44L2Jsa2lkLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3QuMV0gPSAiJHttYW5kaXJ9L21hbjEvZWplY3QuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtmaW5kZnMuOF0gPSAiJHttYW5kaXJ9L21hbjgvZmluZGZzLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVba2lsbC4xXSA9ICIke21hbmRpcn0vbWFuMS9raWxsLjEiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdC4xXSA9ICIke21hbmRpcn0vbWFuMS9sYXN0LjEiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbbGFzdGIuMV0gPSAiJHttYW5kaXJ9L21hbjEvbGFzdGIuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtsaWJibGtpZC4zXSA9ICIke21hbmRpcn0vbWFuMy9saWJibGtpZC4zIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2dlci4xXSA9ICIke21hbmRpcn0vbWFuMS9sb2dnZXIuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVttZXNnLjFdID0gIiR7bWFuZGlyfS9tYW4xL21lc2cuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudHBvaW50LjFdID0gIiR7bWFuZGlyfS9tYW4xL21vdW50cG9pbnQuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtub2xvZ2luLjhdID0gIiR7bWFuZGlyfS9tYW44L25vbG9naW4uOCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGwuOF0gPSAiJHttYW5kaXJ9L21hbjgvcmZraWxsLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3UuMV0gPSAiJHttYW5kaXJ9L21hbjEvc3UuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtzdWxvZ2luLjhdID0gIiR7bWFuZGlyfS9tYW44L3N1bG9naW4uOCIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVt1dG1wZHVtcC4xXSA9ICIke21hbmRpcn0vbWFuMS91dG1wZHVtcC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3dhbGwuMV0gPSAiJHttYW5kaXJ9L21hbjEvd2FsbC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2tpbGwuMV0gPSAiJHttYW5kaXJ9L21hbjEva2lsbC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xpYmJsa2lkLjNdID0gIiR7bWFuZGlyfS9tYW4zL2xpYmJsa2lkLjMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbYmxraWQuOF0gPSAiJHttYW5kaXJ9L21hbjgvYmxraWQuOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmaW5kZnMuOF0gPSAiJHttYW5kaXJ9L21hbjgvZmluZGZzLjgiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbdXVpZC4zXSA9ICIke21hbmRpcn0vbWFuMy91dWlkLjMiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZWplY3QuMV0gPSAiJHttYW5kaXJ9L21hbjEvZWplY3QuMSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtsb2dnZXIuMV0gPSAiJHttYW5kaXJ9L21hbjEvbG9nZ2VyLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbd2FsbC4xXSA9ICIke21hbmRpcn0vbWFuMS93YWxsLjEiCiAKLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtaHdjbG9jayA9ICJod2Nsb2NrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2h3Y2xvY2tdID0gIiR7YmFzZV9zYmluZGlyfS9od2Nsb2NrIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWZkaXNrID0gImZkaXNrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZkaXNrXSA9ICIke2Jhc2Vfc2JpbmRpcn0vZmRpc2siCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZnN0cmltID0gImZzdHJpbSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc3RyaW1dID0gIiR7YmFzZV9zYmluZGlyfS9mc3RyaW0iCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtYWdldHR5ID0gImdldHR5IgotQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHR5XSA9ICIke2Jhc2Vfc2JpbmRpcn0vZ2V0dHkiCi1BTFRFUk5BVElWRV9UQVJHRVRbZ2V0dHldID0gIiR7YmFzZV9zYmluZGlyfS9hZ2V0dHkiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtbW91bnQgPSAibW91bnQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbW91bnRdID0gIiR7YmFzZV9iaW5kaXJ9L21vdW50IgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXVtb3VudCA9ICJ1bW91bnQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdW1vdW50XSA9ICIke2Jhc2VfYmluZGlyfS91bW91bnQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtcmVhZHByb2ZpbGUgPSAicmVhZHByb2ZpbGUiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcmVhZHByb2ZpbGVdID0gIiR7c2JpbmRpcn0vcmVhZHByb2ZpbGUiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtbG9zZXR1cCA9ICJsb3NldHVwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2xvc2V0dXBdID0gIiR7YmFzZV9zYmluZGlyfS9sb3NldHVwIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXN3YXBvbm9mZiA9ICJzd2Fwb2ZmIHN3YXBvbiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb2ZmXSA9ICIke2Jhc2Vfc2JpbmRpcn0vc3dhcG9mZiIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2Fwb25dID0gIiR7YmFzZV9zYmluZGlyfS9zd2Fwb24iCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtZnNjayA9ICJmc2NrIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZzY2tdID0gIiR7YmFzZV9zYmluZGlyfS9mc2NrIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWJsa2lkID0gImJsa2lkIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2Jsa2lkXSA9ICIke2Jhc2Vfc2JpbmRpcn0vYmxraWQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtcmZraWxsID0gInJma2lsbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtyZmtpbGxdID0gIiR7c2JpbmRpcn0vcmZraWxsIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LWdldG9wdCA9ICJnZXRvcHQiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0b3B0XSA9ICIke2Jhc2VfYmluZGlyfS9nZXRvcHQiCi0KLUFMVEVSTkFUSVZFX3V0aWwtbGludXgtc3Vsb2dpbiA9ICJzdWxvZ2luIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3N1bG9naW5dID0gIiR7YmFzZV9zYmluZGlyfS9zdWxvZ2luIgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LW1vdW50cG9pbnQgPSAibW91bnRwb2ludCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVttb3VudHBvaW50XSA9ICIke2Jhc2VfYmluZGlyfS9tb3VudHBvaW50IgotCi1BTFRFUk5BVElWRV91dGlsLWxpbnV4LXVuc2hhcmUgPSAidW5zaGFyZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt1bnNoYXJlXSA9ICIke2JpbmRpcn0vdW5zaGFyZSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1pb25pY2UgPSAiaW9uaWNlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2lvbmljZV0gPSAiJHtiaW5kaXJ9L2lvbmljZSIKLQotQUxURVJOQVRJVkVfdXRpbC1saW51eC1zd2l0Y2gtcm9vdCA9ICJzd2l0Y2hfcm9vdCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzd2l0Y2hfcm9vdF0gPSAiJHtiYXNlX3NiaW5kaXJ9L3N3aXRjaF9yb290IgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKLXB5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQgKCkgewotICAgIGlmICctLWVuYWJsZS1zdScgaW4gZC5nZXRWYXIoJ0VYVFJBX09FQ09ORicpLnNwbGl0KCk6Ci0gICAgICAgIGQuYXBwZW5kVmFyKGQuZXhwYW5kKCdBTFRFUk5BVElWRV8ke1BOfScpLCAnIHN1JykKLSAgICAgICAgZC5hcHBlbmRWYXIoZC5leHBhbmQoJ0FMVEVSTkFUSVZFXyR7UE59LWRvYycpLCAnIHN1LjEnKQotCi0gICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgInN1IiwgZC5leHBhbmQoJyR7YmFzZV9iaW5kaXJ9L3N1JykpCi0gICAgICAgIGQuc2V0VmFyRmxhZygnQUxURVJOQVRJVkVfTElOS19OQU1FJywgInN1LjEiLCBkLmV4cGFuZCgnJHttYW5kaXJ9L21hbjEvc3UuMScpKQotfQotCi1weXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtiYXNlX2xpYmRpcn0nLCAnXmxpYiguKilcLnNvXC4uKiQnLAotICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9wYXR0ZXJuPSd1dGlsLWxpbnV4LWxpYiVzJywKLSAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj0ndXRpbC1saW51eCBsaWIlcycsCi0gICAgICAgICAgICAgICAgICAgICAgZXh0cmFfZGVwZW5kcz0nJywgcHJlcGVuZD1UcnVlLCBhbGxvd19saW5rcz1UcnVlKQotfQotCi1SREVQRU5EU18ke1BOfS1iYXNoLWNvbXBsZXRpb24gKz0gInV0aWwtbGludXgtbHNibGsiCi1SREVQRU5EU18ke1BOfS1wdGVzdCA9ICJiYXNoIGdyZXAgY29yZXV0aWxzIHdoaWNoIHV0aWwtbGludXgtYmxraWQgdXRpbC1saW51eC1mc2NrIGJ0cmZzLXRvb2xzIgotCiBkb19jb21waWxlX3B0ZXN0KCkgewogICAgIG9lX3J1bm1ha2UgYnVpbGR0ZXN0LVRFU1RTCiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC9jaGVjay1mb3ItX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRUQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC9jaGVjay1mb3ItX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19PU1BFRUQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkyYzI3NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4L2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaApAQCAtMCwwICsxLDE2IEBACitDaGVja2luZyBmb3IgZXhpdGVuY2Ugb2YgdGhlIGRlZmluZSBpcyBub3QgZW5vdWdoIHNpbmNlCitpdCB3aWxsIGJlIGRlZmluZWQgd2l0aCAwIG9yIDEgdmFsdWUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvc3lzLXV0aWxzL2xkYXR0YWNoLmMKKysrKyBiL3N5cy11dGlscy9sZGF0dGFjaC5jCitAQCAtMjQyLDcgKzI0Miw3IEBAIHN0YXRpYyBpbnQgbXlfY2ZzZXRzcGVlZChzdHJ1Y3QgdGVybWlvcworIAkgKiAtLSB3ZSBoYXZlIHRvIGJ5cGFzcyBnbGliYyBhbmQgc2V0IHRoZSBzcGVlZCBtYW51YWxseSAoYmVjYXVzZSBnbGliYworIAkgKiAgICBjaGVja3MgZm9yIHNwZWVkIGFuZCBzdXBwb3J0cyBCeHh4IGJpdCByYXRlcyBvbmx5KS4uLgorIAkgKi8KKy0jaWZkZWYgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19JU1BFRUQKKysjaWYgX0hBVkVfU1RSVUNUX1RFUk1JT1NfQ19JU1BFRUQKKyAjIGRlZmluZSBCT1RIRVIgMDAxMDAwMAkJLyogbm9uIHN0YW5kYXJkIHJhdGUgKi8KKyAJZGJnKCJ1c2luZyBub24tc3RhbmRhcmQgc3BlZWRzIik7CisgCXRzLT5jX29zcGVlZCA9IHRzLT5jX2lzcGVlZCA9IHNwZWVkOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXgvdXRpbC1saW51eC1uYXRpdmUtcXNvcnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC91dGlsLWxpbnV4LW5hdGl2ZS1xc29ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjhiZjIyZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eC91dGlsLWxpbnV4LW5hdGl2ZS1xc29ydC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gZjIyMGQ4MDliZTFiYWE2NTQ1MDNiZjZmZjUyZjM2MzBiMGQ3MDE1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAyNiBNYXIgMjAxNCAwMTozMDoyOSArMDAwMAotU3ViamVjdDogW1BBVENIXSBzdW4uYzogdXNlIHFzb3J0KCkgdG8gaW5zdGVhZCBvZiBxc29ydF9yKCkKLQotcXNvcnRfcigpIHdhcyBhZGRlZCB0byBnbGliYyBpbiB2ZXJzaW9uIDIuOCwgc28gdGhlcmUgaXMgbm8gcXNvcnRfcigpIG9uCi10aGUgaG9zdCBsaWtlIENlbnRPUyA1LnguCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT3RoZXJdCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliZmRpc2svc3JjL3N1bi5jIHwgNSArKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLUluZGV4OiB1dGlsLWxpbnV4LTIuMjQuMi9saWJmZGlzay9zcmMvc3VuLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB1dGlsLWxpbnV4LTIuMjQuMi5vcmlnL2xpYmZkaXNrL3NyYy9zdW4uYwotKysrIHV0aWwtbGludXgtMi4yNC4yL2xpYmZkaXNrL3NyYy9zdW4uYwotQEAgLTQzMSwxMCArNDMxLDkgQEAgc3RhdGljIGludCBzdW5fdmVyaWZ5X2Rpc2tsYWJlbChzdHJ1Y3QgZgotICAgICB9Ci0gICAgIHZlcmlmeV9zdW5fc3RhcnRzID0gc3RhcnRzOwotIAotLSAgICBxc29ydF9yKGFycmF5LEFSUkFZX1NJWkUoYXJyYXkpLHNpemVvZihhcnJheVswXSksCi0tCSAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKix2b2lkICopKSB2ZXJpZnlfc3VuX2NtcCwKLS0JICB2ZXJpZnlfc3VuX3N0YXJ0cyk7Ci0tCi0rICAgIHFzb3J0KGFycmF5LEFSUkFZX1NJWkUoYXJyYXkpLHNpemVvZihhcnJheVswXSksCi0rICAgICAgICAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKikpIHZlcmlmeV9zdW5fY21wKTsKLSsgCi0gICAgIGlmIChhcnJheVswXSA9PSAtMSkgewotIAlmZGlza19pbmZvKGN4dCwgXygiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIpKTsKLSAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8yLjMyLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3V0aWwtbGludXgvdXRpbC1saW51eF8yLjMyLjEuYmIKaW5kZXggYTYxNmQ4NS4uZTBiZDM4MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS91dGlsLWxpbnV4L3V0aWwtbGludXhfMi4zMi4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvdXRpbC1saW51eC91dGlsLWxpbnV4XzIuMzIuMS5iYgpAQCAtMSwyOCArMSwxMyBAQAotTUFKT1JfVkVSU0lPTiA9ICIyLjMyIgogcmVxdWlyZSB1dGlsLWxpbnV4LmluYwogCi0jIFRvIHN1cHBvcnQgb2xkZXIgaG9zdHMsIHdlIG5lZWQgdG8gcGF0Y2ggYW5kL29yIHJldmVydAotIyBzb21lIHVwc3RyZWFtIGNoYW5nZXMuICBPbmx5IGRvIHRoaXMgZm9yIG5hdGl2ZSBwYWNrYWdlcy4KLU9MREhPU1QgPSAiIgotT0xESE9TVF9jbGFzcy1uYXRpdmUgPSAiZmlsZTovL3V0aWwtbGludXgtbmF0aXZlLXFzb3J0LnBhdGNoIgotCiBTUkNfVVJJICs9ICJmaWxlOi8vY29uZmlndXJlLXNiaW5kaXIucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL3J1bnVzZXIucGFtZCBcCiAgICAgICAgICAgICBmaWxlOi8vcnVudXNlci1sLnBhbWQgXAotICAgICAgICAgICAgJHtPTERIT1NUfSBcCiAgICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCiAgICAgICAgICAgICBmaWxlOi8vZGlzcGxheV90ZXN0bmFtZV9mb3Jfc3VidGVzdC5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2NoZWNrLWZvci1fSEFWRV9TVFJVQ1RfVEVSTUlPU19DX09TUEVFRC5wYXRjaCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiOWU1YjFiOGMxZGM5OTQ1NWJkYjZiNDYyY2Y5NDM2ZDkiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODZlNjcwN2EzNzljN2ZmNTQ4OWMyMThjZmFmMWUzNDY0YjBiOTVhY2Y3ODE3ZGIwYmM1ZjE3OWUzNTZhNjdiMiIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gInNjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW1zIgotCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gXAotCQkJICAgICAtLWRpc2FibGUtdXNlLXR0eS1ncm91cCBcCi0iCi1FWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlc2RrID0gIiR7U0hBUkVEX0VYVFJBX09FQ09ORn0gXAotCQkJCS0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKLSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9NYWtlZmlsZS1ydW50ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9NYWtlZmlsZS1ydW50ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjFlZWE4Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvTWFrZWZpbGUtcnVudGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1BZGQgJ3B0ZXN0JyB0YXJnZXQgdG8gTWFrZWZpbGUsIHRvIHJ1biB0ZXN0cyB3aXRob3V0IGNoZWNraW5nIGRlcGVuZGVuY2llcy4KLQotU2lnbmVkLW9mZi1ieTogQW5kZXJzIFJveGVsbCA8YW5kZXJzLnJveGVsbEBlbmVhLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi1kaWZmIC11TnIgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi0tLS0gYS9NYWtlZmlsZS5pbgkyMDEzLTA2LTEwIDEzOjQ4OjE0LjMyMTk1OTE2MiArMDIwMAotKysrIGIvTWFrZWZpbGUuaW4JMjAxMy0wNi0xMCAxMzo0OTozNi42ODY0NzY0NDggKzAyMDAKLUBAIC04Myw2ICs4Myw5IEBACi0gdGVzdDogYWxsIHRlc3RzdGF0aWMgdGVzdHNoYXJlZAotIAotIHRlc3RzdGF0aWM6IHN0YXRpYwotKwlAbWFrZSBydW50ZXN0c3RhdGljCi0rCi0rcnVudGVzdHN0YXRpYzoKLSAJQFRNUFNUPXRtcHN0XyQkOyBcCi0gCWlmIGVjaG8gaGVsbG8gd29ybGQgfCAuL21pbmlnemlwIHwgLi9taW5pZ3ppcCAtZCAmJiAuL2V4YW1wbGUgJCRUTVBTVCA7IHRoZW4gXAotIAkgIGVjaG8gJwkJKioqIHpsaWIgdGVzdCBPSyAqKionOyBcCi1AQCAtOTIsNiArOTUsOSBAQAotIAlybSAtZiAkJFRNUFNUCi0gCi0gdGVzdHNoYXJlZDogc2hhcmVkCi0rCUBtYWtlIHJ1bnRlc3RzaGFyZWQKLSsKLStydW50ZXN0c2hhcmVkOgotIAlATERfTElCUkFSWV9QQVRIPWBwd2RgOiQoTERfTElCUkFSWV9QQVRIKSA7IGV4cG9ydCBMRF9MSUJSQVJZX1BBVEg7IFwKLSAJTERfTElCUkFSWU4zMl9QQVRIPWBwd2RgOiQoTERfTElCUkFSWU4zMl9QQVRIKSA7IGV4cG9ydCBMRF9MSUJSQVJZTjMyX1BBVEg7IFwKLSAJRFlMRF9MSUJSQVJZX1BBVEg9YHB3ZGA6JChEWUxEX0xJQlJBUllfUEFUSCkgOyBleHBvcnQgRFlMRF9MSUJSQVJZX1BBVEg7IFwKLUBAIC0xMDUsNiArMTExLDkgQEAKLSAJcm0gLWYgJCRUTVBTSAotIAotIHRlc3Q2NDogYWxsNjQKLSsJQG1ha2UgcnVudGVzdGFsbDY0Ci0rCi0rcnVudGVzdGFsbDY0OgotIAlAVE1QNjQ9dG1wNjRfJCQ7IFwKLSAJaWYgZWNobyBoZWxsbyB3b3JsZCB8IC4vbWluaWd6aXA2NCB8IC4vbWluaWd6aXA2NCAtZCAmJiAuL2V4YW1wbGU2NCAkJFRNUDY0OyB0aGVuIFwKLSAJICBlY2hvICcJCSoqKiB6bGliIDY0LWJpdCB0ZXN0IE9LICoqKic7IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9sZGZsYWdzLXRlc3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL2xkZmxhZ3MtdGVzdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5YzQwYjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL2xkZmxhZ3MtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1PYmV5IExERkxBR1MgZm9yIHRlc3RzCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIHpsaWItMS4yLjgub3JpZy9NYWtlZmlsZS5pbgotKysrIHpsaWItMS4yLjgvTWFrZWZpbGUuaW4KLUBAIC0yNiw3ICsyNiw3IEBAIENGTEFHUz0tTwotCi0gU0ZMQUdTPS1PCi0gTERGTEFHUz0KLS1URVNUX0xERkxBR1M9LUwuIGxpYnouYQotK1RFU1RfTERGTEFHUz0tTC4gJChMREZMQUdTKQotIExEU0hBUkVEPSQoQ0MpCi0gQ1BQPSQoQ0MpIC1FCi0KLUBAIC0xNzYsMjIgKzE3NiwyMiBAQCBwbGFjZWJvICQoU0hBUkVETElCVik6ICQoUElDX09CSlMpIGxpYnouCi0JLUBybWRpciBvYmpzCi0KLSBleGFtcGxlJChFWEUpOiBleGFtcGxlLm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQotCi0gbWluaWd6aXAkKEVYRSk6IG1pbmlnemlwLm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKQotKwkkKENDKSAkKENGTEFHUykgLW8gJEAgbWluaWd6aXAubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBleGFtcGxlc2gkKEVYRSk6IGV4YW1wbGUubyAkKFNIQVJFRExJQlYpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gLUwuICQoU0hBUkVETElCVikKLSsJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTSEFSRURMSUJWKQotCi0gbWluaWd6aXBzaCQoRVhFKTogbWluaWd6aXAubyAkKFNIQVJFRExJQlYpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vIC1MLiAkKFNIQVJFRExJQlYpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCi0KLSBleGFtcGxlNjQkKEVYRSk6IGV4YW1wbGU2NC5vICQoU1RBVElDTElCKQotLQkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZTY0Lm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCi0KLSBtaW5pZ3ppcDY0JChFWEUpOiBtaW5pZ3ppcDY0Lm8gJChTVEFUSUNMSUIpCi0tCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpCi0rCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQotCi0gaW5zdGFsbC1saWJzOiAkKExJQlMpCi0JLUBpZiBbICEgLWQgJChERVNURElSKSQoZXhlY19wcmVmaXgpICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKGV4ZWNfcHJlZml4KTsgZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NjYmUxZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYi0xLjIuMTEvcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi0KLVdoZW4gL2V0Yy9sZC5zby5jYWNoZSBpcyB3cml0ZWFibGUgYnkgdXNlciBydW5uaW5nIGJpdGJha2UgdGhlbiBpdCBjcmVhdGVzIGludmFsaWQgY2FjaGUgCi0oaW4gbXkgY2FzZSBsaWJzdGRjKysuc28gY2Fubm90IGJlIGZvdW5kIGFmdGVyIGJ1aWxkaW5nIHpsaWIoLW5hdGl2ZSkgYW5kIEkgaGF2ZSB0byBjYWxsIAotdG91Y2ggKi9saWJzdGRjKysuc28gJiYgL3NiaW4vbGRjb25maWcgdG8gZml4IGl0LgotCi1TbyByZW1vdmUgbGRjb25maWcgY2FsbCBmcm9tIG1ha2UgaW5zdGFsbC1saWJzCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzYWJsZSBmZWF0dXJlXQotCi1JbmRleDogemxpYi0xLjIuMTEvTWFrZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB6bGliLTEuMi4xMS5vcmlnL01ha2VmaWxlLmluCi0rKysgemxpYi0xLjIuMTEvTWFrZWZpbGUuaW4KLUBAIC0zMjIsNyArMzIyLDYgQEAgaW5zdGFsbC1saWJzOiAkKExJQlMpCi0gCSAgcm0gLWYgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQikgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQk0pOyBcCi0gCSAgbG4gLXMgJChTSEFSRURMSUJWKSAkKERFU1RESVIpJChzaGFyZWRsaWJkaXIpLyQoU0hBUkVETElCKTsgXAotIAkgIGxuIC1zICQoU0hBUkVETElCVikgJChERVNURElSKSQoc2hhcmVkbGliZGlyKS8kKFNIQVJFRExJQk0pOyBcCi0tCSAgKCQoTERDT05GSUcpIHx8IHRydWUpICA+L2Rldi9udWxsIDI+JjE7IFwKLSAJZmkKLSAJcm0gLWYgJChERVNURElSKSQobWFuM2RpcikvemxpYi4zCi0gCWNwICQoU1JDRElSKXpsaWIuMyAkKERFU1RESVIpJChtYW4zZGlyKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliLTEuMi4xMS9ydW4tcHRlc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4NGQ5ZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWItMS4yLjExL3J1bi1wdGVzdAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotIyEvYmluL3NoCi1tYWtlIC1rIHJ1bnRlc3RzdGF0aWMgcnVudGVzdHNoYXJlZCB8IHNlZCAtciAtZSAncy9eKFxzK1wqKyAoLis/KSB0ZXN0IE9LIFwqKykvXDFcblBBU1M6IFwyLycgLWUgJ3MvXihccytcKisgKC4rPykgdGVzdCBGQUlMRUQgXCorKS9cMVxuRkFJTDogXDIvJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvbGRmbGFncy10ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL2xkZmxhZ3MtdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg2MzkwNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL2xkZmxhZ3MtdGVzdHMucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorT2JleSBMREZMQUdTIGZvciB0ZXN0cworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL3B1bGwvNDA5XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworLS0tIHpsaWItMS4yLjgub3JpZy9NYWtlZmlsZS5pbgorKysrIHpsaWItMS4yLjgvTWFrZWZpbGUuaW4KK0BAIC0yNiw3ICsyNiw3IEBAIENGTEFHUz0tTworCisgU0ZMQUdTPS1PCisgTERGTEFHUz0KKy1URVNUX0xERkxBR1M9LUwuIGxpYnouYQorK1RFU1RfTERGTEFHUz0tTC4gJChMREZMQUdTKQorIExEU0hBUkVEPSQoQ0MpCisgQ1BQPSQoQ0MpIC1FCisKK0BAIC0xNzYsMjIgKzE3NiwyMiBAQCBwbGFjZWJvICQoU0hBUkVETElCVik6ICQoUElDX09CSlMpIGxpYnouCisJLUBybWRpciBvYmpzCisKKyBleGFtcGxlJChFWEUpOiBleGFtcGxlLm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQorCisgbWluaWd6aXAkKEVYRSk6IG1pbmlnemlwLm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKQorKwkkKENDKSAkKENGTEFHUykgLW8gJEAgbWluaWd6aXAubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBleGFtcGxlc2gkKEVYRSk6IGV4YW1wbGUubyAkKFNIQVJFRExJQlYpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlLm8gLUwuICQoU0hBUkVETElCVikKKysJJChDQykgJChDRkxBR1MpIC1vICRAIGV4YW1wbGUubyAkKFRFU1RfTERGTEFHUykgJChTSEFSRURMSUJWKQorCisgbWluaWd6aXBzaCQoRVhFKTogbWluaWd6aXAubyAkKFNIQVJFRExJQlYpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vIC1MLiAkKFNIQVJFRExJQlYpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcC5vICQoVEVTVF9MREZMQUdTKSAkKFNIQVJFRExJQlYpCisKKyBleGFtcGxlNjQkKEVYRSk6IGV4YW1wbGU2NC5vICQoU1RBVElDTElCKQorLQkkKENDKSAkKENGTEFHUykgLW8gJEAgZXhhbXBsZTY0Lm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBleGFtcGxlNjQubyAkKFRFU1RfTERGTEFHUykgJChTVEFUSUNMSUIpCisKKyBtaW5pZ3ppcDY0JChFWEUpOiBtaW5pZ3ppcDY0Lm8gJChTVEFUSUNMSUIpCistCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpCisrCSQoQ0MpICQoQ0ZMQUdTKSAtbyAkQCBtaW5pZ3ppcDY0Lm8gJChURVNUX0xERkxBR1MpICQoU1RBVElDTElCKQorCisgaW5zdGFsbC1saWJzOiAkKExJQlMpCisJLUBpZiBbICEgLWQgJChERVNURElSKSQoZXhlY19wcmVmaXgpICBdOyB0aGVuIG1rZGlyIC1wICQoREVTVERJUikkKGV4ZWNfcHJlZml4KTsgZmkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliL3J1bi1wdGVzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjU4NjNlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWIvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsNyBAQAorIyEvYmluL3NoCisKK2lmIC4vZXhhbXBsZXNoIDsgdGhlbgorICAgIGVjaG8gIlBBU1M6IHpsaWIiCitlbHNlCisgICAgZWNobyAiRkFJTDogemxpYiIKK2ZpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYl8xLjIuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1jb3JlL3psaWIvemxpYl8xLjIuMTEuYmIKaW5kZXggNjQxMDUxOS4uZWY5NDMxYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtY29yZS96bGliL3psaWJfMS4yLjExLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWNvcmUvemxpYi96bGliXzEuMi4xMS5iYgpAQCAtNyw4ICs3LDYgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3psaWIuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTIzO21kNT01Mzc3MjMyMjY4ZTk1MmU5ZWY2M2JjNTU1ZjdhYTZjMCIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbGlicG5nLyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS5sZGNvbmZpZy5jYWxsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLXJ1bnRlc3RzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2xkZmxhZ3MtdGVzdHMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICAgICAgICAgIgpAQCAtMjQsMzIgKzIyLDE5IEBACiBpbmhlcml0IHB0ZXN0CiAKIGRvX2NvbmZpZ3VyZSgpIHsKLQl1bmFtZT1HTlUgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0tc2hhcmVkIC0tbGliZGlyPSR7bGliZGlyfQorCUxEQ09ORklHPXRydWUgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IC0tc2hhcmVkIC0tbGliZGlyPSR7bGliZGlyfSAtLXVuYW1lPUdOVQogfQogCiBkb19jb21waWxlKCkgewogCW9lX3J1bm1ha2Ugc2hhcmVkCiB9CiAKLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSB0ZXN0Ci19Ci0KIGRvX2luc3RhbGwoKSB7CiAJb2VfcnVubWFrZSBERVNURElSPSR7RH0gaW5zdGFsbAogfQogCiBkb19pbnN0YWxsX3B0ZXN0KCkgewotCWluc3RhbGwgJHtCfS9NYWtlZmlsZSAgICR7RH0ke1BURVNUX1BBVEh9Ci0JaW5zdGFsbCAke0J9L2V4YW1wbGUgICAgJHtEfSR7UFRFU1RfUEFUSH0KLQlpbnN0YWxsICR7Qn0vbWluaWd6aXAgICAke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgJHtCfS9leGFtcGxlc2ggICR7RH0ke1BURVNUX1BBVEh9Ci0JaW5zdGFsbCAke0J9L21pbmlnemlwc2ggJHtEfSR7UFRFU1RfUEFUSH0KLQotCSMgUmVtb3ZlIGJ1aWxkaG9zdCByZWZlcmVuY2VzLi4uCi0Jc2VkIC1pIC1lICJzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGciIFwKLQkJLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAke0R9JHtQVEVTVF9QQVRIfS9NYWtlZmlsZQorCWluc3RhbGwgJHtCfS9leGFtcGxlc2ggJHtEfSR7UFRFU1RfUEFUSH0KIH0KIAogIyBNb3ZlIHpsaWIgc2hhcmVkIGxpYnJhcmllcyBmb3IgdGFyZ2V0IGJ1aWxkcyB0byAkYmFzZV9saWJkaXIgc28gdGhlIGxpYnJhcnkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKaW5kZXggNTBmMjJjOC4uODQyYzMwMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXB0L2FwdC5pbmMKQEAgLTIsNyArMiw3IEBACiBMSUNFTlNFID0gIkdQTHYyLjArIgogU0VDVElPTiA9ICJiYXNlIgogCi1TUkNfVVJJID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC91YnVudHUvK2FyY2hpdmUvcHJpbWFyeS8rc291cmNlZmlsZXMvYXB0LzEuMi4yNC8ke0JQTn1fJHtQVn0udGFyLnh6IFwKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3VidW50dS8rYXJjaGl2ZS9wcmltYXJ5Lytzb3VyY2VmaWxlcy8ke0JQTn0vJHtQVn0vJHtCUE59XyR7UFZ9LnRhci54eiBcCiAgICAgICAgICAgIGZpbGU6Ly91c2UtaG9zdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9tYWtlcmFjZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9uby1ubHMtZHBrZy5wYXRjaCBcCkBAIC0xMyw2ICsxMyw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLXRlc3QucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1lbnZpcm9ubWVudC5tYWstbXVzbC1iYXNlZC1zeXN0ZW1zLWNhbi1nZW5lcmF0ZS1zaGFyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtYXB0LTEuMi4xMi1GaXgtbXVzbC1idWlsZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUluY2x1ZGUtYXJyYXkuaC1mb3Itc3RkLWFycmF5LnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gImNlOGY5YWIxMWY0ZmQwYTA4ZWM3M2VhZmZkNzVjOGYwIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImZhMTMxMWE5Y2UwMGU3MjM3OWEwYTNiYzZkMjQwYmEzMGMwOTY4Y2ZiYmIzNDcyODU5ZTUwYjk5ZTI0ZTk1OTgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LzAwMDEtSW5jbHVkZS1hcnJheS5oLWZvci1zdGQtYXJyYXkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hcHQvYXB0LzAwMDEtSW5jbHVkZS1hcnJheS5oLWZvci1zdGQtYXJyYXkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTRhOGZhYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2FwdC9hcHQvMDAwMS1JbmNsdWRlLWFycmF5LmgtZm9yLXN0ZC1hcnJheS5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDRkNjRlYzg0MzE4NWJmNmZkMWI4NWMzYTZhNGM0ZTNjOTY4YzhhYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyMCBKYW4gMjAxOSAxODo1Njo1OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBJbmNsdWRlIDxhcnJheS5oPiBmb3Igc3RkOjphcnJheQorCitXaGVuIGNvbXBpbGluZyB1c2luZyBjbGFuZy9saWJjKysgaXQgZmFpbHMgdG8gYnVpbGQgYmVjYXVzZSB0aGlzIGhlYWRlcgoraXMgbm90IGluY2x1ZGVkLCB3aXRoIGxpYnN0ZGMrKyB0aGlzIHNlZW1zIHRvIGJlIHB1bGxlZCBpbgorYXV0b21hdGljYWxseS4KKworRml4ZXMgYmVsb3cgZXJyb3IKKworYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYzo5NDk6Mzg6IGVycm9yOiBpbXBsaWNpdCBpbnN0YW50aWF0aW9uIG9mIHVuZGVmaW5lZCB0ZW1wbGF0ZSAnc3RkOjpfXzE6OmFycmF5PGNvbnN0IGNoYXIgKmNvbnN0LCA3PicKKyAgIHN0ZDo6YXJyYXk8Y2hhciBjb25zdCAqIGNvbnN0LCA3PiBjX3dlZWtkYXlzID0ge3sgInN1biIsICJtb24iLCAidHVlIiwgIndlZCIsICJ0aHUiLCAiZnJpIiwgInNhdCIgfX07CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vRGViaWFuL2FwdC9jb21taXQvMjRhNTljNjJlZmFmYmRiODM4N2IyZDNjNTYxNmIwNGI5ZmQyMTMwNl0KKy0tLQorIGFwdC1wa2cvY29udHJpYi9zdHJ1dGwuY2MgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2FwdC1wa2cvY29udHJpYi9zdHJ1dGwuY2MgYi9hcHQtcGtnL2NvbnRyaWIvc3RydXRsLmNjCitpbmRleCA2MGQwY2E4Li5jMmJmY2JjIDEwMDY0NAorLS0tIGEvYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYworKysrIGIvYXB0LXBrZy9jb250cmliL3N0cnV0bC5jYworQEAgLTIxLDYgKzIxLDcgQEAKKyAjaW5jbHVkZSA8YXB0LXBrZy9maWxldXRsLmg+CisgI2luY2x1ZGUgPGFwdC1wa2cvZXJyb3IuaD4KKyAKKysjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8aW9tYW5pcD4KKyAjaW5jbHVkZSA8bG9jYWxlPgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYvYXV0b2NvbmYvQUNfSEVBREVSX01BSk9SLXBvcnQtdG8tZ2xpYmMtMi4yNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2F1dG9jb25mL2F1dG9jb25mL0FDX0hFQURFUl9NQUpPUi1wb3J0LXRvLWdsaWJjLTIuMjUucGF0Y2gKaW5kZXggZmMzNzIzNi4uYjJkN2RjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYXV0b2NvbmYvYXV0b2NvbmYvQUNfSEVBREVSX01BSk9SLXBvcnQtdG8tZ2xpYmMtMi4yNS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9hdXRvY29uZi9hdXRvY29uZi9BQ19IRUFERVJfTUFKT1ItcG9ydC10by1nbGliYy0yLjI1LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBlMTdhMzBlOTg3ZDdlZTY5NWZiNDI5NGE4MmQ5ODdlYzNkYzliOTc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiODU5YWIxYjIxMWQzNDhiNDZlY2E5MTU4Yjc3NDJmMDUwYzgxMTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+CiBEYXRlOiBXZWQsIDE0IFNlcCAyMDE2IDA4OjE3OjA2IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFDX0hFQURFUl9NQUpPUjogcG9ydCB0byBnbGliYyAyLjI1CkBAIC0zNSw4NSArMzUsMjEgQEAKICogbGliL2F1dG9jb25mL2hlYWRlcnMubTQgKEFDX0hFQURFUl9NQUpPUik6IERyb3AgY2hlY2sgZm9yCiBtYWpvciB3aXRoaW4gc3lzL3R5cGVzLmg7IGl0IGludGVyZmVyZXMgd2l0aCB0aGUgbmVlZCB0byBjaGVjawogc3lzbWFjcm9zLmggZmlyc3QuCi0qIGRvYy9hdXRvY29uZi50ZXhpIChQYXJ0aWN1bGFyIEhlYWRlcnMpIDxBQ19IRUFERVJfTUFKT1I+OiBFeHBhbmQKLWRldGFpbHMgb24gdXNhZ2UsIGFuZCBvbiB3b3JrYXJvdW5kcyBmb3Igbm9uLXVwZGF0ZWQgcHJvamVjdHMuCiAKIFNpZ25lZC1vZmYtYnk6IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgotLS0tCisKK1JlbW92ZSB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2UgZnJvbSB0aGUgcGF0Y2gKIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKIAotIGRvYy9hdXRvY29uZi50ZXhpICAgICAgIHwgICAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQotIGxpYi9hdXRvY29uZi9oZWFkZXJzLm00IHwgICAzMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2F1dG9jb25mL2hlYWRlcnMubTQgfCAzMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBhdXRvY29uZi0yLjY5L2RvYy9hdXRvY29uZi50ZXhpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXV0b2NvbmYtMi42OS5vcmlnL2RvYy9hdXRvY29uZi50ZXhpCi0rKysgYXV0b2NvbmYtMi42OS9kb2MvYXV0b2NvbmYudGV4aQotQEAgLTE1LDcgKzE1LDcgQEAKLSBAYyBUaGUgQVJHIGlzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LiAgVG8gYmUgdXNlZCBmb3IgbWFjcm8gYXJndW1lbnRzIGluCi0gQGMgdGhlaXIgZG9jdW1lbnRhdGlvbiAoQGRlZm1hYykuCi0gQG1hY3JvIG92YXJ7dmFybmFtZX0KLS1AcntbfUB2YXJ7XHZhcm5hbWVcfUBye119QGMKLStAcntbfUB2YXJ7XHZhcm5hbWVcfUBye119Ci0gQGVuZCBtYWNybwotIAotIEBjIEBkdmFyKEFSRywgREVGQVVMVCkKLUBAIC0yMyw3ICsyMyw3IEBACi0gQGMgVGhlIEFSRyBpcyBhbiBvcHRpb25hbCBhcmd1bWVudCwgZGVmYXVsdGluZyB0byBERUZBVUxULiAgVG8gYmUgdXNlZAotIEBjIGZvciBtYWNybyBhcmd1bWVudHMgaW4gdGhlaXIgZG9jdW1lbnRhdGlvbiAoQGRlZm1hYykuCi0gQG1hY3JvIGR2YXJ7dmFybmFtZSwgZGVmYXVsdH0KLS1AcntbfUB2YXJ7XHZhcm5hbWVcfSA9IEBzYW1we1xkZWZhdWx0XH1AcntdfUBjCi0rQHJ7W31AdmFye1x2YXJuYW1lXH0gPSBAc2FtcHtcZGVmYXVsdFx9QHJ7XX0KLSBAZW5kIG1hY3JvCi0gCi0gQGMgSGFuZGxpbmcgdGhlIGluZGV4ZXMgd2l0aCBUZXhpbmZvIHlpZWxkcyBzZXZlcmFsIGRpZmZlcmVudCBwcm9ibGVtcy4KLUBAIC01OTI2LDEwICs1OTI2LDM3IEBAIEFsc28gc2VlIEBjb2Rle0FDX1NUUlVDVF9ESVJFTlRfRF9JTk99IGEKLSBAY3ZpbmRleCBNQUpPUl9JTl9TWVNNQUNST1MKLSBAaGRyaW5kZXh7c3lzL21rZGV2Lmh9Ci0gQGhkcmluZGV4e3N5cy9zeXNtYWNyb3MuaH0KLS1JZiBAZmlsZXtzeXMvdHlwZXMuaH0gZG9lcyBub3QgZGVmaW5lIEBjb2Rle21ham9yfSwgQGNvZGV7bWlub3J9LCBhbmQKLS1AY29kZXttYWtlZGV2fSwgYnV0IEBmaWxle3N5cy9ta2Rldi5ofSBkb2VzLCBkZWZpbmUKLS1AY29kZXtNQUpPUl9JTl9NS0RFVn07IG90aGVyd2lzZSwgaWYgQGZpbGV7c3lzL3N5c21hY3Jvcy5ofSBkb2VzLCBkZWZpbmUKLS1AY29kZXtNQUpPUl9JTl9TWVNNQUNST1N9LgotK0RldGVjdCB0aGUgaGVhZGVycyByZXF1aXJlZCB0byB1c2UgQGNvZGV7bWFrZWRldn0sIEBjb2Rle21ham9yfSwgYW5kCi0rQGNvZGV7bWlub3J9LiAgVGhlc2UgZnVuY3Rpb25zIG1heSBiZSBkZWZpbmVkIGJ5IEBmaWxle3N5cy9ta2Rldi5ofSwKLStAY29kZXtzeXMvc3lzbWFjcm9zLmh9LCBvciBAZmlsZXtzeXMvdHlwZXMuaH0uCi0rCi0rQGNvZGV7QUNfSEVBREVSX01BSk9SfSBkZWZpbmVzIEBjb2Rle01BSk9SX0lOX01LREVWfSBpZiB0aGV5IGFyZSBpbgotK0BmaWxle3N5cy9ta2Rldi5ofSwgb3IgQGNvZGV7TUFKT1JfSU5fU1lTTUFDUk9TfSBpZiB0aGV5IGFyZSBpbgotK0BmaWxle3N5cy9zeXNtYWNyb3MuaH0uICBJZiBuZWl0aGVyIG1hY3JvIGlzIGRlZmluZWQsIHRoZXkgYXJlIGVpdGhlciBpbgotK0BmaWxle3N5cy90eXBlcy5ofSBvciB1bmF2YWlsYWJsZS4KLSsKLStUbyBwcm9wZXJseSB1c2UgdGhlc2UgZnVuY3Rpb25zLCB5b3VyIGNvZGUgc2hvdWxkIGNvbnRhaW4gc29tZXRoaW5nCi0rbGlrZToKLSsKLStAdmVyYmF0aW0KLSsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2lmZGVmIE1BSk9SX0lOX01LREVWCi0rIyBpbmNsdWRlIDxzeXMvbWtkZXYuaD4KLSsjZWxpZiBkZWZpbmVkIE1BSk9SX0lOX1NZU01BQ1JPUwotKyMgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotKyNlbmRpZgotK0BlbmQgdmVyYmF0aW0KLSsKLStOb3RlOiBDb25maWd1cmUgc2NyaXB0cyBidWlsdCB3aXRoIEF1dG9jb25mIDIuNjkgb3IgZWFybGllciB3aWxsIG5vdAotK2RldGVjdCBhIHByb2JsZW0gaWYgQGZpbGV7c3lzL3R5cGVzLmh9IGNvbnRhaW5zIGRlZmluaXRpb25zIG9mCi0rQGNvZGV7bWFqb3J9LCBAY29kZXttaW5vcn0sIGFuZC9vciBAY29kZXttYWtlZGV2fSB0aGF0IHRyaWdnZXIgY29tcGlsZXIKLSt3YXJuaW5ncyB1cG9uIHVzZS4gIFRoaXMgaXMga25vd24gdG8gb2NjdXIgd2l0aCBHTlUgbGliYyAyLjI1LCB3aGVyZQotK3Rob3NlIGRlZmluaXRpb25zIGFyZSBiZWluZyBkZXByZWNhdGVkIHRvIHJlZHVjZSBuYW1lc3BhY2UgcG9sbHV0aW9uLgotK0lmIGl0IGlzIG5vdCBwcmFjdGljYWwgdG8gdXNlIEF1dG9jb25mIDIuNzAgdG8gcmVnZW5lcmF0ZSB0aGUgY29uZmlndXJlCi0rc2NyaXB0IG9mIGFmZmVjdGVkIHNvZnR3YXJlLCB5b3UgY2FuIHdvcmsgYXJvdW5kIHRoZSBwcm9ibGVtIGJ5IHNldHRpbmcKLStAc2FtcHthY19jdl9oZWFkZXJfc3lzX3R5cGVzX2hfbWFrZWRldj1ub30sIGFzIGFuIGFyZ3VtZW50IHRvCi0rQGNvbW1hbmR7Y29uZmlndXJlfSBvciBhcyBwYXJ0IG9mIGEgQGZpbGV7Y29uZmlnLnNpdGV9IHNpdGUgZGVmYXVsdCBmaWxlCi0rKEBweHJlZntTaXRlIERlZmF1bHRzfSkuCi0gQGVuZCBkZWZtYWMKLSAKLSBAZGVmbWFjIEFDX0hFQURFUl9SRVNPTFYKLUluZGV4OiBhdXRvY29uZi0yLjY5L2xpYi9hdXRvY29uZi9oZWFkZXJzLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXV0b2NvbmYtMi42OS5vcmlnL2xpYi9hdXRvY29uZi9oZWFkZXJzLm00Ci0rKysgYXV0b2NvbmYtMi42OS9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAorZGlmZiAtLWdpdCBhL2xpYi9hdXRvY29uZi9oZWFkZXJzLm00IGIvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKK2luZGV4IDgxYTdmYTIuLmE1N2QwZDMgMTAwNjQ0CistLS0gYS9saWIvYXV0b2NvbmYvaGVhZGVycy5tNAorKysrIGIvbGliL2F1dG9jb25mL2hlYWRlcnMubTQKIEBAIC01MDIsMzEgKzUwMiwyOSBAQCBmaQogIAogICMgQUNfSEVBREVSX01BSk9SCkBAIC0xNjAsMyArOTYsNiBAQAogIGZpCiAgXSkjIEFDX0hFQURFUl9NQUpPUgogIAorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy0yLjMxLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzEuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmFjZWM1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzEuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotTElDX0ZJTEVTX0NIS1NVTT0iXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKLSAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0XAotICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjZcCi0gICAgZmlsZTovL2dhcy9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MlwKLSAgICBmaWxlOi8vaW5jbHVkZS9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCi0gICAgZmlsZTovL2xpYmliZXJ0eS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzdcCi0gICAgZmlsZTovL2JmZC9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNFwKLSAgICAiCi0KLWRlZiBiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKToKLSAgICBwdnNwbGl0ID0gZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKQotICAgIHJldHVybiBwdnNwbGl0WzBdICsgIl8iICsgcHZzcGxpdFsxXQotCi1CSU5VUFYgPSAiJHtAYmludXRpbHNfYnJhbmNoX3ZlcnNpb24oZCl9IgotUFYgLj0gIi4xIgotCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJiaW51dGlscy0oP1A8cHZlcj5cZCtfKFxkXz8pKikiCi0KLVNSQ1JFViA/PSAiYzkwOWU3YWZkYzQ3MTA4NTFhNTNlODZlYmVkOGNlYTM4NzliMjZlNSIKLUJJTlVUSUxTX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0O2JyYW5jaD1iaW51dGlscy0ke0JJTlVQVn0tYnJhbmNoO3Byb3RvY29sPWdpdCIKLVNSQ19VUkkgPSAiXAotICAgICAke0JJTlVUSUxTX0dJVF9VUkl9IFwKLSAgICAgZmlsZTovLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNC1Qb2ludC1zY3JpcHRzLWxvY2F0aW9uLXRvLWxpYmRpci5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNi1Vc2UtbGlidG9vbC0yLjQucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMDktd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDEwLUZpeC1ycGF0aC1pbi1saWJ0b29sLXdoZW4tc3lzcm9vdC1pcy1lbmFibGVkLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTEtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxMi1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoIFwKLSAgICAgZmlsZTovLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxNC1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDE1LXN5bmMtd2l0aC1PRS1saWJ0b29sLWNoYW5nZXMucGF0Y2ggXAotICAgICBmaWxlOi8vMDAxNi1hZGQtaTM4NnBlcC1lbXVsYXRpb24tZm9yLXg4Nl82NC5wYXRjaCBcCi0gICAgIGZpbGU6Ly8wMDIyLUhhbmRsZS1FTEYtY29tcHJlc3NlZC1oZWFkZXItYWxpZ25tZW50LWNvcnJlY3RseS1ieS0ucGF0Y2ggXAotICAgICBmaWxlOi8vMDAyMy1nb2xkLUdldC1hbGlnbm1lbnQtb2YtdW5jb21wcmVzc2VkLXNlY3Rpb24tZnJvbS1jaF9hLnBhdGNoIFwKLSAgICAgZmlsZTovL2NsYW5nLWJmZC1maXgucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTczNTgucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTczNjAucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTgzMDkucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDUucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDYucGF0Y2ggXAotICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTg2MDcucGF0Y2ggXAotIgotUyAgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLSAgICAgICAgcm0gLXJmICR7U30vZ2RiICR7U30vbGliZGVjbnVtYmVyICR7U30vcmVhZGxpbmUgJHtTfS9zaW0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtMi4zMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQwYzE2YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLTIuMzIuaW5jCkBAIC0wLDAgKzEsNTIgQEAKK0xJQ19GSUxFU19DSEtTVU09IlwKKyAgICBmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTJcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT05ZjYwNGQ4YTRmOGU3NGY0ZjUxNDA4NDVhMjFiNjY3NFwKKyAgICBmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAorICAgIGZpbGU6Ly9DT1BZSU5HMy5MSUI7bWQ1PTZhNmE4ZTAyMDgzOGIyMzQwNmM4MWIxOWMxZDQ2ZGY2XAorICAgIGZpbGU6Ly9nYXMvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgZmlsZTovL2luY2x1ZGUvQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTJcCisgICAgZmlsZTovL2luY2x1ZGUvQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0XAorICAgIGZpbGU6Ly9saWJpYmVydHkvQ09QWUlORy5MSUI7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3XAorICAgIGZpbGU6Ly9iZmQvQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDRcCisgICAgIgorCitkZWYgYmludXRpbHNfYnJhbmNoX3ZlcnNpb24oZCk6CisgICAgcHZzcGxpdCA9IGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJykKKyAgICByZXR1cm4gcHZzcGxpdFswXSArICJfIiArIHB2c3BsaXRbMV0KKworIyBBY3R1YWwgdXBzdHJlYW0gdmVyc2lvbiBpcyAyLjMyICh3aXRob3V0IHRoZSAuMCksIHNvIHdlIGhhdmUgdG8gc2V0CisjIFVQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiB0byBhdm9pZCB0aGUgdmVyc2lvbiBjaGVjayBmYWlsdXJlLiBUaGUgbGluZSBjYW4KKyMgYmUgcmVtb3ZlZCB3aGVuIGEgbmV3IHZlcnNpb24gb2YgYmludXRpbHMgaXMgcmVsZWFzZWQgKGlmIHRoZSBQViBpcyB0aGVuCisjIGNvcnJlY3RseSBzZXQgdG8gbWF0Y2ggdGhlIHVwc3RyZWFtIHZlcnNpb24gdGFnKS4KK1VQU1RSRUFNX1ZFUlNJT05fVU5LTk9XTiA9ICIxIgorUFYgPSAiMi4zMi4wIgorQ1ZFX1ZFUlNJT04gPSAiMi4zMiIKK0JJTlVQViA9ICIke0BiaW51dGlsc19icmFuY2hfdmVyc2lvbihkKX0iCisjQlJBTkNIID0gImJpbnV0aWxzLSR7QklOVVBWfS1icmFuY2giCitCUkFOQ0ggPz0gImJpbnV0aWxzLTJfMzItYnJhbmNoIgorCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJiaW51dGlscy0oP1A8cHZlcj5cZCtfKFxkXz8pKikiCisKK1NSQ1JFViA/PSAiYjhjMWY2MDhkYjllZjNlZGQ0ODNkMjFhOTIxZDFmYmVkYzcxZGY2ZiIKK0JJTlVUSUxTX0dJVF9VUkkgPz0gImdpdDovL3NvdXJjZXdhcmUub3JnL2dpdC9iaW51dGlscy1nZGIuZ2l0O2JyYW5jaD0ke0JSQU5DSH07cHJvdG9jb2w9Z2l0IgorU1JDX1VSSSA9ICJcCisgICAgICR7QklOVVRJTFNfR0lUX1VSSX0gXAorICAgICBmaWxlOi8vMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2ggXAorICAgICBmaWxlOi8vMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2ggXAorICAgICBmaWxlOi8vMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDExLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2ggXAorICAgICBmaWxlOi8vMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDEzLURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIFwKKyAgICAgZmlsZTovLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBcCisgICAgIGZpbGU6Ly8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2ggXAorIgorUyAgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKyAgICAgICAgcm0gLXJmICR7U30vZ2RiICR7U30vbGliZGVjbnVtYmVyICR7U30vcmVhZGxpbmUgJHtTfS9zaW0KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3NzLWNhbmFkaWFuXzIuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMyLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMxLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zcy1jYW5hZGlhbl8yLjMyLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy1jcm9zc18yLjMxLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMi5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMS5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NfMi4zMi5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMtY3Jvc3NzZGtfMi4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzEuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLWNyb3Nzc2RrXzIuMzIuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDEtYmludXRpbHMtY3Jvc3NzZGstR2VuZXJhdGUtcmVsb2NhdGFibGUtU0RLcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDEtYmludXRpbHMtY3Jvc3NzZGstR2VuZXJhdGUtcmVsb2NhdGFibGUtU0RLcy5wYXRjaAppbmRleCA2YmRiNDA3Li42NTgxYmFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAxLWJpbnV0aWxzLWNyb3Nzc2RrLUdlbmVyYXRlLXJlbG9jYXRhYmxlLVNES3MucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMS1iaW51dGlscy1jcm9zc3Nkay1HZW5lcmF0ZS1yZWxvY2F0YWJsZS1TREtzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0YTk5ZjA1ODAzMGM4Njc5NGJiOTZiNTgyYTdkYmQ2MzFmOTYzYjA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1YmNkODg0ZjhhZjUxMDZkMGZhMzgwYzQyY2ZmZTA3ZjNjOTkzZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo1ODo1NCArMDAwMAogU3ViamVjdDogW1BBVENIIDAxLzE1XSBiaW51dGlscy1jcm9zc3NkazogR2VuZXJhdGUgcmVsb2NhdGFibGUgU0RLcwpAQCAtMTgsMTAgKzE4LDEwIEBACiAgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9nZW5zY3JpcHRzLnNoIGIvbGQvZ2Vuc2NyaXB0cy5zaAotaW5kZXggMzcwYjIyMjY5ZC4uYTVjMzY3YWE4ZiAxMDA3NTUKK2luZGV4IDc3ZGRiYmM4ZjguLmQ3ODllNzc5NDMgMTAwNzU1CiAtLS0gYS9sZC9nZW5zY3JpcHRzLnNoCiArKysgYi9sZC9nZW5zY3JpcHRzLnNoCi1AQCAtMjc5LDYgKzI3OSw3IEBAIERBVEFfQUxJR05NRU5UX3U9IiR7REFUQV9BTElHTk1FTlRfdS0ke0RBVEFfQUxJR05NRU5UX3J9fSIKK0BAIC0zMTAsNiArMzEwLDcgQEAgREFUQV9BTElHTk1FTlRfdT0iJHtEQVRBX0FMSUdOTUVOVF91LSR7REFUQV9BTElHTk1FTlRfcn19IgogIExEX0ZMQUc9cgogIERBVEFfQUxJR05NRU5UPSR7REFUQV9BTElHTk1FTlRfcn0KICBERUZBVUxUX0RBVEFfQUxJR05NRU5UPSJBTElHTigke1NFR01FTlRfU0laRX0pIgpAQCAtMjksNyArMjksNyBAQAogICggZWNobyAiLyogU2NyaXB0IGZvciBsZCAtcjogbGluayB3aXRob3V0IHJlbG9jYXRpb24gKi8iCiAgICAuICR7Q1VTVE9NSVpFUl9TQ1JJUFR9CiAgICAuICR7c3JjZGlyfS9zY3JpcHR0ZW1wbC8ke1NDUklQVF9OQU1FfS5zYwotQEAgLTI4NywxMCArMjg4LDEyIEBAIERFRkFVTFRfREFUQV9BTElHTk1FTlQ9IkFMSUdOKCR7U0VHTUVOVF9TSVpFfSkiCitAQCAtMzE4LDEwICszMTksMTIgQEAgREVGQVVMVF9EQVRBX0FMSUdOTUVOVD0iQUxJR04oJHtTRUdNRU5UX1NJWkV9KSIKICBMRF9GTEFHPXUKICBEQVRBX0FMSUdOTUVOVD0ke0RBVEFfQUxJR05NRU5UX3V9CiAgQ09OU1RSVUNUSU5HPSIgIgpAQCAtNDMsNyArNDMsNyBAQAogIERBVEFfQUxJR05NRU5UPSR7REFUQV9BTElHTk1FTlRffQogIFJFTE9DQVRJTkc9IiAiCiBkaWZmIC0tZ2l0IGEvbGQvc2NyaXB0dGVtcGwvZWxmLnNjIGIvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCi1pbmRleCA0NDRhZWYyOTQyLi5hZmE5OWY3MzZkIDEwMDY0NAoraW5kZXggYmQ3NTg0MTIwZS4uOGJiZTA1MmQ0YiAxMDA2NDQKIC0tLSBhL2xkL3NjcmlwdHRlbXBsL2VsZi5zYwogKysrIGIvbGQvc2NyaXB0dGVtcGwvZWxmLnNjCiBAQCAtMTM5LDggKzEzOSw4IEBAIGlmIHRlc3QgLXogIiREQVRBX1NFR01FTlRfQUxJR04iOyB0aGVuCkBAIC01OCw1ICs1OCw1IEBACiAgaWYgdGVzdCAteiAiJFBMVCI7IHRoZW4KICAgIElQTFQ9Ii5pcGx0ICAgICAgICAgJHtSRUxPQ0FUSU5HLTB9IDogeyAqKC5pcGx0KSB9IgogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAyLWJpbnV0aWxzLWNyb3NzLURvLW5vdC1nZW5lcmF0ZS1saW5rZXItc2NyaXB0LWRpcmVjdG8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAyLWJpbnV0aWxzLWNyb3NzLURvLW5vdC1nZW5lcmF0ZS1saW5rZXItc2NyaXB0LWRpcmVjdG8ucGF0Y2gKaW5kZXggMDIwODIxMy4uMzI1MzdkNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMi1iaW51dGlscy1jcm9zcy1Eby1ub3QtZ2VuZXJhdGUtbGlua2VyLXNjcmlwdC1kaXJlY3RvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDItYmludXRpbHMtY3Jvc3MtRG8tbm90LWdlbmVyYXRlLWxpbmtlci1zY3JpcHQtZGlyZWN0by5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNmU3OGIxYzg4YzA0MGE3NDJiN2FmODI1NDJhYzdlYjkyZWRkZGEzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTE5Mjc5MTM1NjBmYzVhNWQ1MWFmM2JjNWViOGFkNjJhODZjOTg0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDYgTWFyIDIwMTcgMjM6Mzc6MDUgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSCAwMi8xNV0gYmludXRpbHMtY3Jvc3M6IERvIG5vdCBnZW5lcmF0ZSBsaW5rZXIgc2NyaXB0CkBAIC0yMywxMCArMjMsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMjUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9nZW5zY3JpcHRzLnNoIGIvbGQvZ2Vuc2NyaXB0cy5zaAotaW5kZXggYTVjMzY3YWE4Zi4uNmNjOWVlZDk3NiAxMDA3NTUKK2luZGV4IGQ3ODllNzc5NDMuLjE0NGUyZTg3MzYgMTAwNzU1CiAtLS0gYS9sZC9nZW5zY3JpcHRzLnNoCiArKysgYi9sZC9nZW5zY3JpcHRzLnNoCi1AQCAtMTg5LDMxICsxODksNiBAQCBhcHBlbmRfdG9fbGliX3BhdGgoKQorQEAgLTIyMCwzMSArMjIwLDYgQEAgYXBwZW5kX3RvX2xpYl9wYXRoKCkKICAgIGZpCiAgfQogIApAQCAtNTksNSArNTksNSBAQAogICAgbGlicz0ke05BVElWRV9MSUJfRElSU30KICAgIGlmIFsgIngke05BVElWRX0iID0gInh5ZXMiIF0gOyB0aGVuCiAtLSAKLTIuMTguMAorMi4yMC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDAzLWNvbmZpZ3VyZS13aWRlbi10aGUtcmVnZXhwLWZvci1TSC1hcmNoaXRlY3R1cmVzLnBhdGNoCmluZGV4IDE1MTkzYzEuLmEzMDEzODIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDMtY29uZmlndXJlLXdpZGVuLXRoZS1yZWdleHAtZm9yLVNILWFyY2hpdGVjdHVyZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwMy1jb25maWd1cmUtd2lkZW4tdGhlLXJlZ2V4cC1mb3ItU0gtYXJjaGl0ZWN0dXJlcy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGM2ZmQ4ZjVlYjliYzdjMGQwMmYxYTk4YWQ4NmUzOTVkNGQyYWIzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZGEzOTM5ZGU2ZmIzNmRhMmM2NDg0ZjE0ZjA4YTM3YmUxOTVkOWRjMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6MDc6MzMgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwMy8xNV0gY29uZmlndXJlOiB3aWRlbiB0aGUgcmVnZXhwIGZvciBTSCBhcmNoaXRlY3R1cmVzCkBAIC0xNCwxMCArMTQsMTAgQEAKICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAwOGRkMzVjM2VhLi44MTVlNzRkZGI3IDEwMDc1NQoraW5kZXggMzc0NzY0NTk2MS4uNzhiNTI0MDEwMSAxMDA3NTUKIC0tLSBhL2NvbmZpZ3VyZQogKysrIGIvY29uZmlndXJlCi1AQCAtMzg1NSw3ICszODU1LDcgQEAgY2FzZSAiJHt0YXJnZXR9IiBpbgorQEAgLTM4NjEsNyArMzg2MSw3IEBAIGNhc2UgIiR7dGFyZ2V0fSIgaW4KICAgIG52cHR4Ki0qLSopCiAgICAgIG5vY29uZmlnZGlycz0iJG5vY29uZmlnZGlycyB0YXJnZXQtbGlic3NwIHRhcmdldC1saWJzdGRjKystdjMgdGFyZ2V0LWxpYm9iamMiCiAgICAgIDs7CkBAIC0yNyw3ICsyNyw3IEBACiAgICAgICAgc2gqLSotZWxmKQogICAgICAgICAgIDs7CiBkaWZmIC0tZ2l0IGEvZ3Byb2YvY29uZmlndXJlIGIvZ3Byb2YvY29uZmlndXJlCi1pbmRleCA0NDdjZWE3ODg0Li5hNzMwZTIwNTA5IDEwMDc1NQoraW5kZXggZjg0ZWZhYmEyMC4uYWIzMmJhYjJiNiAxMDA3NTUKIC0tLSBhL2dwcm9mL2NvbmZpZ3VyZQogKysrIGIvZ3Byb2YvY29uZmlndXJlCiBAQCAtNjE2Miw2ICs2MTYyLDExIEBAIGxpbnV4KiB8IGsqYnNkKi1nbnUgfCBrb3BlbnNvbGFyaXMqLWdudSkKQEAgLTQzLDUgKzQzLDUgQEAKICAgIGlmIGVjaG8gX19FTEZfXyB8ICRDQyAtRSAtIHwgJEdSRVAgX19FTEZfXyA+IC9kZXYvbnVsbDsgdGhlbgogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nbWF0Y2hfcGF0dGVybiAvbGliW14vXSsoXC5zb1wuWzAtOV0rXC5bMC05XSt8X3BpY1wuYSkkJwogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNC1Qb2ludC1zY3JpcHRzLWxvY2F0aW9uLXRvLWxpYmRpci5wYXRjaAppbmRleCBiZjFjMWJlLi5mOGUzNTIyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA0LVBvaW50LXNjcmlwdHMtbG9jYXRpb24tdG8tbGliZGlyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDQtUG9pbnQtc2NyaXB0cy1sb2NhdGlvbi10by1saWJkaXIucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ4YWQ1MjkyYjEwNDA4ZDRlNWQ1NzM5MDIyNzUzYTcxODNhMWNiYjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZjMWZmODYwZmQ4OGZhMmQwNTg0YmQxOTE4MWM4ODBhNzYzMzFhOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjA5OjU4ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMDQvMTVdIFBvaW50IHNjcmlwdHMgbG9jYXRpb24gdG8gbGliZGlyCkBAIC0xMiw3ICsxMiw3IEBACiAgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sZC9NYWtlZmlsZS5hbSBiL2xkL01ha2VmaWxlLmFtCi1pbmRleCBkODZhZDA5NDBjLi5jOTViMGVmMDI1IDEwMDY0NAoraW5kZXggYzJjNzk4YjRmZS4uZDdmYWYxOTI3MSAxMDA2NDQKIC0tLSBhL2xkL01ha2VmaWxlLmFtCiArKysgYi9sZC9NYWtlZmlsZS5hbQogQEAgLTU3LDcgKzU3LDcgQEAgZW5kaWYKQEAgLTI1LDcgKzI1LDcgQEAKICBFTVVMID0gQEVNVUxACiAgRU1VTEFUSU9OX09GSUxFUyA9IEBFTVVMQVRJT05fT0ZJTEVTQAogZGlmZiAtLWdpdCBhL2xkL01ha2VmaWxlLmluIGIvbGQvTWFrZWZpbGUuaW4KLWluZGV4IDQ3OTJiMmIwMTMuLjc4OWRmMmQwMWIgMTAwNjQ0CitpbmRleCBmYzY4N2ZjNTE2Li44YjE0ZjUyMzZjIDEwMDY0NAogLS0tIGEvbGQvTWFrZWZpbGUuaW4KICsrKyBiL2xkL01ha2VmaWxlLmluCiBAQCAtNTYzLDcgKzU2Myw3IEBAIEFNX0NGTEFHUyA9ICQoV0FSTl9DRkxBR1MpICQoRUxGX0NMRkFHUykKQEAgLTM4LDUgKzM4LDUgQEAKICBCRkRESVIgPSAkKEJBU0VESVIpL2JmZAogIElOQ0RJUiA9ICQoQkFTRURJUikvaW5jbHVkZQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA1LU9ubHktZ2VuZXJhdGUtYW4tUlBBVEgtZW50cnktaWYtTERfUlVOX1BBVEgtaXMtbm90LWUucGF0Y2gKaW5kZXggMWY1ODk3MS4uMWJhZDUzMSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNS1Pbmx5LWdlbmVyYXRlLWFuLVJQQVRILWVudHJ5LWlmLUxEX1JVTl9QQVRILWlzLW5vdC1lLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDUtT25seS1nZW5lcmF0ZS1hbi1SUEFUSC1lbnRyeS1pZi1MRF9SVU5fUEFUSC1pcy1ub3QtZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNzllNTM1MTBiMWY5ZTE2YTIxZGIzMTI2OThmYjFjMWM0NDI0ODFlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNjY4NjFiZmYzODk0MzRlMzQ1NGM3NjUwZWUyOWZhZGU3YTFjYzVlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6Mjc6MTcgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAwNS8xNV0gT25seSBnZW5lcmF0ZSBhbiBSUEFUSCBlbnRyeSBpZiBMRF9SVU5fUEFUSCBpcyBub3QKQEAgLTE1LDcgKzE1LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwvZWxmMzIuZW0gYi9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KLWluZGV4IDFhZDlkNmI2ZmEuLjZhMDI1YTQ1YjQgMTAwNjQ0CitpbmRleCBmNGY3YWQ2YjRlLi5jZmQ3ODdmZjI4IDEwMDY0NAogLS0tIGEvbGQvZW11bHRlbXBsL2VsZjMyLmVtCiArKysgYi9sZC9lbXVsdGVtcGwvZWxmMzIuZW0KIEBAIC0xNDcxLDYgKzE0NzEsOCBAQCBmcmFnbWVudCA8PEVPRgpAQCAtMjcsNyArMjcsNyBAQAogIAkgICAgICBpZiAocGF0aAogIAkJICAmJiBnbGQke0VNVUxBVElPTl9OQU1FfV9zZWFyY2hfbmVlZGVkIChwYXRoLCAmbiwgZm9yY2UpKQogIAkJYnJlYWs7Ci1AQCAtMTc1MSw2ICsxNzUzLDggQEAgZ2xkJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX2FsbG9jYXRpb24gKHZvaWQpCitAQCAtMTc0Niw2ICsxNzQ4LDggQEAgZ2xkJHtFTVVMQVRJT05fTkFNRX1fYmVmb3JlX2FsbG9jYXRpb24gKHZvaWQpCiAgICBycGF0aCA9IGNvbW1hbmRfbGluZS5ycGF0aDsKICAgIGlmIChycGF0aCA9PSBOVUxMKQogICAgICBycGF0aCA9IChjb25zdCBjaGFyICopIGdldGVudiAoIkxEX1JVTl9QQVRIIik7CkBAIC0zNyw1ICszNyw1IEBACiAgICBmb3IgKGFiZmQgPSBsaW5rX2luZm8uaW5wdXRfYmZkczsgYWJmZDsgYWJmZCA9IGFiZmQtPmxpbmsubmV4dCkKICAgICAgaWYgKGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgPT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cikKIC0tIAotMi4xOC4wCisyLjIwLjEKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNi1Vc2UtbGlidG9vbC0yLjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaAppbmRleCA4NTUwZGYwLi5mMGM0ZDI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA2LVVzZS1saWJ0b29sLTIuNC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMTFmNmQyODg5NzI1YWQ1OTJhYjc4OTUzNGNhOWI4NTgwNzNkZjRkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDE4NTI3YTI5NzFkNGU3N2E4NzA4NTQwMDM5NzA5MGQ4OWZjNWM5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTdW4sIDE0IEZlYiAyMDE2IDE3OjA0OjA3ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0ggMDYvMTVdIFVzZSBsaWJ0b29sIDIuNApAQCAtMTMsNyArMTMsNyBAQAogIGJmZC9jb25maWd1cmUuYWMgICAgIHwgICAgMiArLQogIGJpbnV0aWxzL2NvbmZpZ3VyZSAgIHwgMTMyMCArKysrKysrKysrKysrKy0tLS0tCiAgZ2FzL2NvbmZpZ3VyZSAgICAgICAgfCAxMzIwICsrKysrKysrKysrKysrLS0tLS0KLSBncHJvZi9jb25maWd1cmUgICAgICB8IDEzMjcgKysrKysrKysrKysrKystLS0tLQorIGdwcm9mL2NvbmZpZ3VyZSAgICAgIHwgMTMyMSArKysrKysrKysrKysrKy0tLS0tCiAgbGQvY29uZmlndXJlICAgICAgICAgfCAxNjk1ICsrKysrKysrKysrKysrKysrKy0tLS0tLQogIGxpYnRvb2wubTQgICAgICAgICAgIHwgMTA4MCArKysrKysrKysrKy0tLS0tCiAgbHRtYWluLnNoICAgICAgICAgICAgfCAyOTI1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQpAQCAtMjMsMTIgKzIzLDEyIEBACiAgb3Bjb2Rlcy9jb25maWd1cmUgICAgfCAxMzIyICsrKysrKysrKysrKysrLS0tLS0KICBvcGNvZGVzL2NvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KICB6bGliL2NvbmZpZ3VyZSAgICAgICB8IDEzMjAgKysrKysrKysrKysrKystLS0tLQotIDE0IGZpbGVzIGNoYW5nZWQsIDk5NDggaW5zZXJ0aW9ucygrKSwgMzcwMyBkZWxldGlvbnMoLSkKKyAxNCBmaWxlcyBjaGFuZ2VkLCA5OTQwIGluc2VydGlvbnMoKyksIDM3MDUgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnaXQvYmZkL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JmZC9jb25maWd1cmUKLSsrKyBnaXQvYmZkL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2JmZC9jb25maWd1cmUgYi9iZmQvY29uZmlndXJlCitpbmRleCAxNzk2MDY4NGY4Li45MjVmYjQwMWYyIDEwMDc1NQorLS0tIGEvYmZkL2NvbmZpZ3VyZQorKysrIGIvYmZkL2NvbmZpZ3VyZQogQEAgLTcwNCw2ICs3MDQsOSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTc2LDcgKzc2LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02NDIwLDggKzY0MjYsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjQyMCw4ICs2NDI2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTIxMiw3ICsyMTIsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTY4MjMsOSArNjkyNCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTY4MjEsMTEgKzY5MjIsMTY0IEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgogIAogIAogIApAQCAtMjI2LDYgKzIyNiw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtNDQ3LDcgKzQ0OSw3IEBACiArCiArCiArCi0gCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KICtpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgpAQCAtNDU2LDcgKzQ1OCw3IEBACiArICBsdF9jdl9hcl9hdF9maWxlPW5vCiArICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAogKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KLSAKKysKICtpbnQKICttYWluICgpCiArewpAQCAtNDg5LDExICs0OTEsMTEgQEAKICAKICtmaQogK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotKworIAogK2ZpCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9hcl9hdF9maWxlIiA+JjUKICskYXNfZWNobyAiJGx0X2N2X2FyX2F0X2ZpbGUiID4mNjsgfQotKworIAogK2lmIHRlc3QgIngkbHRfY3ZfYXJfYXRfZmlsZSIgPSB4bm87IHRoZW4KICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0KICtlbHNlCkBAIC01NDksNyArNTUxLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03Mzc3LDggKzc3MDgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03Mzc3LDggKzc3MDgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtNTcxLDcgKzU3Myw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC03NDI2LDYgKzc3NTcsMjAgQEAgZWxzZQorQEAgLTc0MjYsNiArNzc1NywxNiBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtNTg1LDE3ICs1ODcsMjAgQEAKICsKICsKICsKKyAKKyAKKyAKK0BAIC03NDQyLDYgKzc3ODMsNDUgQEAgZmkKKyAKKyAKKyAKICsKICsKICsKICsKLSAKLSAKLSAKLUBAIC03NDQ1LDYgKzc3OTAsNDEgQEAgZmkKLSAKLSAKLSAKKysKKysKKysKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzeXNyb290IiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBmb3Igc3lzcm9vdC4uLiAiID4mNjsgfQogKwpAQCAtNjI4LDEyICs2MzMsOSBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCiAgCiAgCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCisgCiBAQCAtNzY1Myw2ICs4MDMzLDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCkBAIC03OTUsNyArNzk3LDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtODkzNCw2ICs5NDMyLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04OTM0LDYgKzk0MzIsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC04MDgsNyArODEwLDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg5OTYsNyArOTUwMCw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04OTk2LDcgKzk1MDAsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTk2OSw3ICs5NzEsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTgyNSw3ICsxMDM1MiwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTgyNSw3ICsxMDM1MiwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xMDI3LDcgKzEwMjksNyBAQAogIAogIAkgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTk4OTgsMjAgKzEwNDM4LDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05ODk4LDIwICsxMDQzOCw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKICAgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgpAQCAtMTEwNSw3ICsxMTA3LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTk5NzIsNyArMTA1NTUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTk3Miw3ICsxMDU1NSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTExMTQsNyArMTExNiw3IEBACiAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nLVIkbGliZGlyJwogICAgICAgIGhhcmRjb2RlX2RpcmVjdD15ZXMKICAgICAgICBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPW5vCi1AQCAtOTk4MCw3ICsxMDU2Myw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05OTgwLDcgKzEwNTYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXg5KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMTEyMyw3ICsxMTI1LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJFJNICRvdXRwdXRfb2JqZGlyLyRzb25hbWV+JExEIC1iICtiICRpbnN0YWxsX2xpYmRpciAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3N+dGVzdCAkb3V0cHV0X29iamRpci8kc29uYW1lID0gJGxpYiB8fCBtdiAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWInCiAgICAgICAgZmkKLUBAIC05OTk2LDcgKzEwNTc5LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk5OTYsNyArMTA1NzksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTExMzIsNyArMTEzNCw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC0xMDAyMCwxMCArMTA2MDMsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMDIwLDEwICsxMDYwMywxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMTE5MCw3ICsxMTkyLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTEwMjAzLDcgKzEwNzk5LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwMjAzLDcgKzEwNzk5LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTExOTksNyArMTIwMSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTEwMjIyLDkgKzEwODE4LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwMjIyLDkgKzEwODE4LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTEzNTgsNyArMTM2MCw3IEBACiAgICBmaQogIAogICMgTW9yZSBoYWNrcyB0byBidWlsZCBETExzIG9uIFdpbmRvd3MuCi1AQCAtMTcxMzksMTMgKzE3Nzk0LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xNzE0MiwxMyArMTc3OTcsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTM3OSw3ICsxMzgxLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE3MTYwLDE0ICsxNzgyMiwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTcxNjMsMTQgKzE3ODI1LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTM5OCw3ICsxNDAwLDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNzIwMCwxMiArMTc4NjUsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTE3MjAzLDEyICsxNzg2OCwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTE0MTIsNyArMTQxNCw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNzI2MCw4ICsxNzkyNSwxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTcyNjMsOCArMTc5MjgsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0xNDI2LDcgKzE0MjgsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xNzI3MSwxMiArMTc5NDEsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTcyNzQsMTIgKzE3OTQ0LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0xNDQyLDcgKzE0NDQsNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTE3MjkyLDcgKzE3OTY0LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTE3Mjk1LDcgKzE3OTY3LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtMTQ1MCw3ICsxNDUyLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTE3MzI4LDYgKzE3OTk5LDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTE3MzMxLDYgKzE4MDAyLDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTE0NTgsNyArMTQ2MCw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTgxMTYsNyArMTg3ODgsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTgxMTksNyArMTg3OTEsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0xNDY4LDcgKzE0NzAsNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xODIxOSwxOSArMTg4OTIsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTgyMjIsMTkgKzE4ODk1LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTE1MTIsNyArMTUxNCw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xODI2MSw2ICsxODk1NywxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTgyNjQsNiArMTg5NjAsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTUyNSw3ICsxNTI3LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTE4MjcwLDYgKzE4OTcyLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xODI3Myw2ICsxODk3NSw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0xNTM1LDcgKzE1MzcsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xODM4NCwxMiArMTkwODksMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE4Mzg3LDEyICsxOTA5MiwxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTE1NTEsNyArMTU1Myw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTg0NzYsOSArMTkxODEsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTg0NzksOSArMTkxODQsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMTU2MSw3ICsxNTYzLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTE4NDk0LDYgKzE5MTk2LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xODQ5Nyw2ICsxOTE5OSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMTU3MSw3ICsxNTczLDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xODUyNiwyMTAgKzE5MjMxLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xODUyOSwyMTAgKzE5MjM0LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtMTc3Myw5ICsxNzc1LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMTkzMywxOSArMTk0MSwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvYmZkL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JmZC9jb25maWd1cmUuYWMKLSsrKyBnaXQvYmZkL2NvbmZpZ3VyZS5hYworZGlmZiAtLWdpdCBhL2JmZC9jb25maWd1cmUuYWMgYi9iZmQvY29uZmlndXJlLmFjCitpbmRleCBlZGEzOGVhMDg2Li43Y2RmOWM4MTQ2IDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZ3VyZS5hYworKysrIGIvYmZkL2NvbmZpZ3VyZS5hYwogQEAgLTI5Myw3ICsyOTMsNyBAQCBjaGFuZ2VxdW90ZSgsKWRubAogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICBjaGFuZ2VxdW90ZShbLF0pZG5sCkBAIC0xOTU1LDExICsxOTYwLDExIEBACiAgICBmaQogIAogICMgTW9yZSBoYWNrcyB0byBidWlsZCBETExzIG9uIFdpbmRvd3MuCi1JbmRleDogZ2l0L2JpbnV0aWxzL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2JpbnV0aWxzL2NvbmZpZ3VyZQotKysrIGdpdC9iaW51dGlscy9jb25maWd1cmUKLUBAIC02ODgsOCArNjg4LDExIEBAIE9UT09MCitkaWZmIC0tZ2l0IGEvYmludXRpbHMvY29uZmlndXJlIGIvYmludXRpbHMvY29uZmlndXJlCitpbmRleCAzODEyOGUxNDZkLi5jNzRmNzk3OTk2IDEwMDc1NQorLS0tIGEvYmludXRpbHMvY29uZmlndXJlCisrKysgYi9iaW51dGlscy9jb25maWd1cmUKK0BAIC02ODksOCArNjg5LDExIEBAIE9UT09MCiAgTElQTwogIE5NRURJVAogIERTWU1VVElMCkBAIC0xOTcxLDcgKzE5NzYsNyBAQAogIE9CSkRVTVAKICBMTl9TCiAgTk0KLUBAIC04MDYsNiArODA5LDcgQEAgZW5hYmxlX3N0YXRpYworQEAgLTgwNyw2ICs4MTAsNyBAQCBlbmFibGVfc3RhdGljCiAgd2l0aF9waWMKICBlbmFibGVfZmFzdF9pbnN0YWxsCiAgd2l0aF9nbnVfbGQKQEAgLTE5NzksNyArMTk4NCw3IEBACiAgZW5hYmxlX2xpYnRvb2xfbG9jawogIGVuYWJsZV9wbHVnaW5zCiAgZW5hYmxlX2xhcmdlZmlsZQotQEAgLTE0ODIsNiArMTQ4Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE0ODMsNiArMTQ4Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgLS13aXRoLXBpYyAgICAgICAgICAgICAgdHJ5IHRvIHVzZSBvbmx5IFBJQy9ub24tUElDIG9iamVjdHMgW2RlZmF1bHQ9dXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoXQogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIFtkZWZhdWx0PW5vXQpAQCAtMTk4OCw3ICsxOTkzLDcgQEAKICAgIC0td2l0aC1zeXN0ZW0temxpYiAgICAgIHVzZSBpbnN0YWxsZWQgbGliegogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIGRlZmF1bHQ9bm8KICAgIC0td2l0aC1saWJpY29udi1wcmVmaXhbPURJUl0gIHNlYXJjaCBmb3IgbGliaWNvbnYgaW4gRElSL2luY2x1ZGUgYW5kIERJUi9saWIKLUBAIC01NDUzLDggKzU0NTksOCBAQCBlc2FjCitAQCAtNTQ1Nyw4ICs1NDYzLDggQEAgZXNhYwogIAogIAogIApAQCAtMTk5OSw3ICsyMDA0LDcgQEAKICAKICAKICAKLUBAIC01NDk0LDcgKzU1MDAsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTU0OTgsNyArNTUwNCw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTIwMDgsNyArMjAxMyw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNjE4MCw4ICs2MTg2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTYxODQsOCArNjE5MCw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC0yMDE5LDcgKzIwMjQsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNjIzMCw2ICs2MjM2LDgwIEBAIGVzYWMKK0BAIC02MjM0LDYgKzYyNDAsODAgQEAgZXNhYwogIAogIAogIApAQCAtMjEwMCw3ICsyMTA1LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MjQ2LDYgKzYzMjYsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MjUwLDYgKzYzMzAsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTIxMTIsNyArMjExNyw3IEBACiAgICBkYXJ3aW4qKQogICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICAgIHJlbG9hZF9jbWRzPSckTFRDQyAkTFRDRkxBR1MgLW5vc3RkbGliICR7d2x9LXIgLW8gJG91dHB1dCRyZWxvYWRfb2JqcycKLUBAIC02NDE0LDcgKzY0OTksOCBAQCBtaW5ndyogfCBwdzMyKikKK0BAIC02NDE4LDcgKzY1MDMsOCBAQCBtaW5ndyogfCBwdzMyKikKICAgICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTCcKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9J2Z1bmNfd2luMzJfbGliaWQnCiAgICBlbHNlCkBAIC0yMTIyLDcgKzIxMjcsNyBAQAogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCiAgICBmaQogICAgOzsKLUBAIC02NTY4LDYgKzY2NTQsMjEgQEAgZXNhYworQEAgLTY1NzIsNiArNjY1OCwyMSBAQCBlc2FjCiAgZmkKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjUKICAkYXNfZWNobyAiJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjY7IH0KQEAgLTIxNDQsNyArMjE0OSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjU4Myw5ICs2Njg0LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjU4Nyw5ICs2Njg4LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTIzMDksNyArMjMxNCw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjYwMSw3ICs2ODU1LDcgQEAgZG8KK0BAIC02NjA1LDcgKzY4NTksNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0yMzE4LDcgKzIzMjMsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NjIxLDExICs2ODc1LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CitAQCAtNjYyNSwxMSArNjg3OSwxNSBAQCAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCiAgCkBAIC0yMzM3LDcgKzIzNDIsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfYWNfY3RfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTY2NDEsNyArNjg5OSw3IEBAIGRvCitAQCAtNjY0NSw3ICs2OTAzLDcgQEAgZG8KICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgpAQCAtMjM0Niw3ICsyMzUxLDcgQEAKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKICAgIGZpCi1AQCAtNjY2MCw2ICs2OTE4LDEwIEBAIGVsc2UKK0BAIC02NjY0LDYgKzY5MjIsMTAgQEAgZWxzZQogICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKQEAgLTIzNTcsNyArMjM2Miw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTY2NzEsMTIgKzY5MzMsMTAgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNjY3NSwxMiArNjkzNywxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTIzNzIsNyArMjM3Nyw3IEBACiAgCiAgCiAgCi1AQCAtNjY4OCw2ICs2OTQ4LDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CitAQCAtNjY5Miw2ICs2OTUyLDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiAgCiAgCiAgCkBAIC0yNDM3LDcgKzI0NDIsNyBAQAogIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiAgc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9c3RyaXA7IGFjX3dvcmQ9JDIKLUBAIC03MDIyLDggKzczNDAsOCBAQCBlc2FjCitAQCAtNzAyNiw4ICs3MzQ0LDggQEAgZXNhYwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSJzZWQgLW4gLWUgJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3AnIC1lICdzL14kc3ltY29kZSogLiogXCguKlwpJC9leHRlcm4gY2hhciBcMTsvcCciCiAgCiAgIyBUcmFuc2Zvcm0gYW4gZXh0cmFjdGVkIHN5bWJvbCBsaW5lIGludG8gc3ltYm9sIG5hbWUgYW5kIHN5bWJvbCBhZGRyZXNzCkBAIC0yNDQ4LDcgKzI0NTMsNyBAQAogIAogICMgSGFuZGxlIENSTEYgaW4gbWluZ3cgdG9vbCBjaGFpbgogIG9wdF9jcj0KLUBAIC03MDU5LDYgKzczNzcsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCitAQCAtNzA2Myw2ICs3MzgxLDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbwogICAgZWxzZQogICAgICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSJzZWQgLW4gLWUgJ3MvXi4qWwkgXVwoJHN5bWNvZGUkc3ltY29kZSpcKVsJIF1bCSBdKiRhY19zeW1wcmZ4JHN5bXBhdCRvcHRfY3IkLyRzeW14ZnJtL3AnIgogICAgZmkKQEAgLTI0NTYsNyArMjQ2MSw3IEBACiAgCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBwaXBlIHdvcmtzIGNvcnJlY3RseS4KICAgIHBpcGVfd29ya3M9bm8KLUBAIC03MTAwLDYgKzc0MTksMTggQEAgX0xUX0VPRgorQEAgLTcxMDQsNiArNzQyMywxOCBAQCBfTFRfRU9GCiAgICAgICAgaWYgJEdSRVAgJyBubV90ZXN0X3ZhciQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJaWYgJEdSRVAgJyBubV90ZXN0X2Z1bmMkJyAiJG5saXN0IiA+L2Rldi9udWxsOyB0aGVuCiAgCSAgY2F0IDw8X0xUX0VPRiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTI0NzUsNyArMjQ4MCw3IEBACiAgI2lmZGVmIF9fY3BsdXNwbHVzCiAgZXh0ZXJuICJDIiB7CiAgI2VuZGlmCi1AQCAtNzExMSw3ICs3NDQyLDcgQEAgX0xUX0VPRgorQEAgLTcxMTUsNyArNzQ0Niw3IEBAIF9MVF9FT0YKICAJICBjYXQgPDxfTFRfRU9GID4+IGNvbmZ0ZXN0LiRhY19leHQKICAKICAvKiBUaGUgbWFwcGluZyBiZXR3ZWVuIHN5bWJvbCBuYW1lcyBhbmQgc3ltYm9scy4gICovCkBAIC0yNDg0LDcgKzI0ODksNyBAQAogICAgY29uc3QgY2hhciAqbmFtZTsKICAgIHZvaWQgICAgICAgKmFkZHJlc3M7CiAgfQotQEAgLTcxMzcsOCArNzQ2OCw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKQorQEAgLTcxNDEsOCArNzQ3Miw4IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0yNDk1LDcgKzI1MDAsNyBAQAogIAkgIExJQlM9ImNvbmZ0c3RtLiRhY19vYmpleHQiCiAgCSAgQ0ZMQUdTPSIkQ0ZMQUdTJGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIgogIAkgIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19saW5rXCIiOyB9ID4mNQotQEAgLTcxNDgsOCArNzQ3OSw4IEBAIF9MVF9FT0YKK0BAIC03MTUyLDggKzc0ODMsOCBAQCBfTFRfRU9GCiAgICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAJICAgIHBpcGVfd29ya3M9eWVzCiAgCSAgZmkKQEAgLTI1MDYsNyArMjUxMSw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC03MTg2LDYgKzc1MTcsMTggQEAgZWxzZQorQEAgLTcxOTAsNiArNzUyMSwyMSBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtMjUyMiwxMyArMjUyNywxOCBAQAogKwogKwogKworKworKworKwogIAogIAogIAotQEAgLTcyMDcsNiArNzU1MCw0MyBAQCBmaQorQEAgLTcyMDYsNiArNzU1Miw0MCBAQCBmaQogIAogIAogIAorKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0yNTYxLDE1ICsyNTcxLDEwIEBACiArCiArIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAke2x0X3N5c3Jvb3Q6LW5vfSIgPiY1CiArJGFzX2VjaG8gIiR7bHRfc3lzcm9vdDotbm99IiA+JjY7IH0KLSsKLSsKLSsKLSsKLSsKLSAjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlidG9vbC1sb2NrIHdhcyBnaXZlbi4KLSBpZiB0ZXN0ICIke2VuYWJsZV9saWJ0b29sX2xvY2src2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgZW5hYmxldmFsPSRlbmFibGVfbGlidG9vbF9sb2NrOwotQEAgLTc0MTMsNiArNzc5MywxMjMgQEAgZXNhYworIAorIAorIAorQEAgLTc0MTcsNiArNzc5NywxMjMgQEAgZXNhYwogIAogIG5lZWRfbG9ja3M9IiRlbmFibGVfbGlidG9vbF9sb2NrIgogIApAQCAtMjY5Myw3ICsyNjk4LDcgQEAKICAKICAgIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgcmhhcHNvZHkqIHwgZGFyd2luKikKLUBAIC03OTc2LDYgKzg0NzMsOCBAQCBfTFRfRU9GCitAQCAtNzk4MCw2ICs4NDc3LDggQEAgX0xUX0VPRgogICAgICAgICRMVENDICRMVENGTEFHUyAtYyAtbyBjb25mdGVzdC5vIGNvbmZ0ZXN0LmMgMj4mNQogICAgICAgIGVjaG8gIiRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIiA+JjUKICAgICAgICAkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyAyPiY1CkBAIC0yNzAyLDcgKzI3MDcsNyBAQAogICAgICAgIGNhdCA+IGNvbmZ0ZXN0LmMgPDwgX0xUX0VPRgogIGludCBtYWluKCkgeyByZXR1cm4gMDt9CiAgX0xUX0VPRgotQEAgLTgxNzEsNyArODY3MCw4IEBAIGZpCitAQCAtODE3NSw3ICs4Njc0LDggQEAgZmkKICBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAgCiAgIyBBbHdheXMgdXNlIG91ciBvd24gbGlidG9vbC4KQEAgLTI3MTIsNyArMjcxNyw3IEBACiAgCiAgCiAgCi1AQCAtODI2MCw3ICs4NzYwLDcgQEAgYWl4MyopCitAQCAtODI2NCw3ICs4NzY0LDcgQEAgYWl4MyopCiAgZXNhYwogIAogICMgR2xvYmFsIHZhcmlhYmxlczoKQEAgLTI3MjEsNyArMjcyNiw3IEBACiAgY2FuX2J1aWxkX3NoYXJlZD15ZXMKICAKICAjIEFsbCBrbm93biBsaW5rZXJzIHJlcXVpcmUgYSBgLmEnIGFyY2hpdmUgZm9yIHN0YXRpYyBsaW5raW5nIChleGNlcHQgTVNWQywKLUBAIC04NTU4LDggKzkwNTgsNiBAQCBmaQorQEAgLTg1NjIsOCArOTA2Miw2IEBAIGZpCiAgbHRfcHJvZ19jb21waWxlcl9waWM9CiAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9CiAgCkBAIC0yNzMwLDcgKzI3MzUsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC04NzI1LDYgKzkyMjMsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg3MjksNiArOTIyNywxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTI3NDMsNyArMjc0OCw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC04Nzg3LDcgKzkyOTEsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODc5MSw3ICs5Mjk1LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC0yNzUyLDcgKzI3NTcsNyBAQAogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctUW9wdGlvbiBsZCAnOzsKICAgICAgICAqKQogIAlsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJzs7Ci1AQCAtODg0NCwxMyArOTM0OCwxNyBAQCBjYXNlICRob3N0X29zIGluCitAQCAtODg0OCwxMyArOTM1MiwxNyBAQCBjYXNlICRob3N0X29zIGluCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSIkbHRfcHJvZ19jb21waWxlcl9waWMgLURQSUMiCiAgICAgIDs7CiAgZXNhYwpAQCAtMjc3Niw3ICsyNzgxLDcgQEAKICAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIFBJQyBmbGFnIGFjdHVhbGx5IHdvcmtzLgotQEAgLTg5MTEsNiArOTQxOSwxMSBAQCBmaQorQEAgLTg5MTUsNiArOTQyMywxMSBAQCBmaQogIAogIAogIApAQCAtMjc4OCw3ICsyNzkzLDcgQEAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIHN0YXRpYyBmbGFnIGFjdHVhbGx5IHdvcmtzLgogICMKLUBAIC05MjYxLDcgKzk3NzQsOCBAQCBfTFRfRU9GCitAQCAtOTI2NSw3ICs5Nzc4LDggQEAgX0xUX0VPRgogICAgICAgIGFsbG93X3VuZGVmaW5lZF9mbGFnPXVuc3VwcG9ydGVkCiAgICAgICAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCiAgICAgICAgZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1lcz15ZXMKQEAgLTI3OTgsNyArMjgwMyw3IEBACiAgCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJ2F1dG8taW1wb3J0JyA+IC9kZXYvbnVsbDsgdGhlbgogICAgICAgICAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAke3dsfS0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhsaW5rZXIgJGxpYicKLUBAIC05MzYwLDEyICs5ODc0LDEyIEBAIF9MVF9FT0YKK0BAIC05MzY0LDEyICs5ODc4LDEyIEBAIF9MVF9FT0YKICAJICB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0nLS13aG9sZS1hcmNoaXZlJGNvbnZlbmllbmNlIC0tbm8td2hvbGUtYXJjaGl2ZScKICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPQogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9Jy1ycGF0aCAkbGliZGlyJwpAQCAtMjgxMyw3ICsyODE4LDcgQEAKICAJICBmaQogIAkgIDs7CiAgCWVzYWMKLUBAIC05Mzc5LDggKzk4OTMsOCBAQCBfTFRfRU9GCitAQCAtOTM4Myw4ICs5ODk3LDggQEAgX0xUX0VPRgogIAlhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzIC1vICRsaWInCiAgCXdsYXJjPQogICAgICAgIGVsc2UKQEAgLTI4MjQsNyArMjgyOSw3IEBACiAgICAgICAgZmkKICAgICAgICA7OwogIAotQEAgLTkzOTgsOCArOTkxMiw4IEBAIF9MVF9FT0YKK0BAIC05NDAyLDggKzk5MTYsOCBAQCBfTFRfRU9GCiAgCiAgX0xUX0VPRgogICAgICAgIGVsaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJzogc3VwcG9ydGVkIHRhcmdldHM6LiogZWxmJyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtMjgzNSw3ICsyODQwLDcgQEAKICAgICAgICBlbHNlCiAgCWxkX3NobGlicz1ubwogICAgICAgIGZpCi1AQCAtOTQ0NSw4ICs5OTU5LDggQEAgX0xUX0VPRgorQEAgLTk0NDksOCArOTk2Myw4IEBAIF9MVF9FT0YKICAKICAgICAgKikKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0yODQ2LDcgKzI4NTEsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05NTc2LDcgKzEwMDkwLDEzIEBAIF9MVF9FT0YKK0BAIC05NTgwLDcgKzEwMDk0LDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMjg2MSw3ICsyODY2LDcgQEAKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgCiAgaW50Ci1AQCAtOTU4OSwyMiArMTAxMDksMjkgQEAgbWFpbiAoKQorQEAgLTk1OTMsMjIgKzEwMTEzLDI5IEBAIG1haW4gKCkKICBfQUNFT0YKICBpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CiAgCkBAIC0yOTA0LDcgKzI5MDksNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTYxNiw3ICsxMDE0MywxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYyMCw3ICsxMDE0NywxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0yOTE5LDcgKzI5MjQsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NjI5LDIyICsxMDE2MiwyOSBAQCBtYWluICgpCitAQCAtOTYzMywyMiArMTAxNjYsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTI5NjIsNyArMjk2Nyw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtOTY4OSwyMCArMTAyMjksNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk2OTMsMjAgKzEwMjMzLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC0zMDQwLDcgKzMwNDUsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTc2Myw3ICsxMDM0Niw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzY3LDcgKzEwMzUwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtMzA0OSw3ICszMDU0LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NzcxLDcgKzEwMzU0LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk3NzUsNyArMTAzNTgsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0zMDU4LDcgKzMwNjMsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk3ODcsNyArMTAzNzAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTc5MSw3ICsxMDM3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtMzA2Nyw3ICszMDcyLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk4MTEsMTAgKzEwMzk0LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05ODE1LDEwICsxMDM5OCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtMzA4MCw3ICszMDg1LDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk4OTMsMjMgKzEwNDc2LDM2IEBAIGZpCitAQCAtOTg5NywyMyArMTA0ODAsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMzEyNSw3ICszMTMwLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTk5OTQsNyArMTA1OTAsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTk5OCw3ICsxMDU5NCw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICBvc2Y0KiB8IG9zZjUqKQkjIGFzIG9zZjMqIHdpdGggdGhlIGFkZGl0aW9uIG9mIC1tc3ltIGZsYWcKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nICR7d2x9LWV4cGVjdF91bnJlc29sdmVkICR7d2x9XConCkBAIC0zMTM0LDcgKzMxMzksNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC0xMDAxMyw5ICsxMDYwOSw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC0xMDAxNyw5ICsxMDYxMyw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXogZGVmcycKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAl3bGFyYz0nJHt3bH0nCkBAIC0zMTQ2LDcgKzMxNTEsNyBAQAogICAgICAgIGVsc2UKICAJY2FzZSBgJENDIC1WIDI+JjFgIGluCiAgCSoiQ29tcGlsZXJzIDUuMCIqKQotQEAgLTEwNTkxLDggKzExMTg3LDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQorQEAgLTEwNTk1LDggKzExMTkxLDkgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgbmVlZF92ZXJzaW9uPW5vCiAgICBuZWVkX2xpYl9wcmVmaXg9bm8KICAKQEAgLTMxNTgsNyArMzE2Myw3IEBACiAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+Ci1AQCAtMTA2MjUsMTMgKzExMjIyLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDYyOSwxMyArMTEyMjYsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL3B3LydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgICA7OwogICAgICBlc2FjCkBAIC0zMjMxLDcgKzMyMzYsNyBAQAogICAgIyBGSVhNRTogZmlyc3Qgd2Ugc2hvdWxkIHNlYXJjaCAuIGFuZCB0aGUgZGlyZWN0b3J5IHRoZSBleGVjdXRhYmxlIGlzIGluCiAgICBzaGxpYnBhdGhfdmFyPVBBVEgKICAgIDs7Ci1AQCAtMTA3MjMsNyArMTEzNzgsNyBAQCBoYWlrdSopCitAQCAtMTA3MjcsNyArMTEzODIsNyBAQCBoYWlrdSopCiAgICBzb25hbWVfc3BlYz0nJHtsaWJuYW1lfSR7cmVsZWFzZX0ke3NoYXJlZF9leHR9JG1ham9yJwogICAgc2hsaWJwYXRoX3Zhcj1MSUJSQVJZX1BBVEgKICAgIHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aD15ZXMKQEAgLTMyNDAsMTYgKzMyNDUsMTYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTE1MTksNyArMTIxNzQsNyBAQCBlbHNlCitAQCAtMTE1MjMsNyArMTIxNzgsNyBAQCBlbHNlCiAgICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgogICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTUyMiAiY29uZmlndXJlIgorLSNsaW5lIDExNTI2ICJjb25maWd1cmUiCiArI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgogICNpbmNsdWRlICJjb25mZGVmcy5oIgogIAogICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0xMTU2MywxMCArMTIyMTgsMTAgQEAgZWxzZQorQEAgLTExNTY3LDEwICsxMjIyMiwxMCBAQCBlbHNlCiAgLyogV2hlbiAtZnZpc2JpbGl0eT1oaWRkZW4gaXMgdXNlZCwgYXNzdW1lIHRoZSBjb2RlIGhhcyBiZWVuIGFubm90YXRlZAogICAgIGNvcnJlc3BvbmRpbmdseSBmb3IgdGhlIHN5bWJvbHMgbmVlZGVkLiAgKi8KICAjaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gMykgJiYgKF9fR05VQ19NSU5PUl9fID49IDMpKSB8fCAoX19HTlVDX18gPiAzKSkKQEAgLTMyNjIsMTYgKzMyNjcsMTYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExNjI1LDcgKzEyMjgwLDcgQEAgZWxzZQorQEAgLTExNjI5LDcgKzEyMjg0LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE2MjggImNvbmZpZ3VyZSIKKy0jbGluZSAxMTYzMiAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE2NjksMTAgKzEyMzI0LDEwIEBAIGVsc2UKK0BAIC0xMTY3MywxMCArMTIzMjgsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0zMjg0LDcgKzMyODksNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTU3MzEsMTMgKzE2Mzg2LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xNTkzNiwxMyArMTY1OTEsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMzMwNSw3ICszMzEwLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE1NzUyLDE0ICsxNjQxNCwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTU5NTcsMTQgKzE2NjE5LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMzMyNCw3ICszMzI5LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTc5MiwxMiArMTY0NTcsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTE1OTk3LDEyICsxNjY2MiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTMzMzgsNyArMzM0Myw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTg1Miw4ICsxNjUxNywxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTYwNTcsOCArMTY3MjIsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0zMzUyLDcgKzMzNTcsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xNTg2MywxMiArMTY1MzMsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTYwNjgsMTIgKzE2NzM4LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0zMzY4LDcgKzMzNzMsNyBAQAogIERTWU1VVElMIFwKICBOTUVESVQgXAogIExJUE8gXAotQEAgLTE1ODg0LDcgKzE2NTU2LDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAorQEAgLTE2MDg5LDcgKzE2NzYxLDYgQEAgbm9fdW5kZWZpbmVkX2ZsYWcgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgXAogIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQgXAogIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgXApAQCAtMzM3Niw3ICszMzgxLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTE1OTIwLDYgKzE2NTkxLDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTE2MTI1LDYgKzE2Nzk2LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTMzODQsNyArMzM4OSw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTY2ODYsNyArMTczNTgsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTY4OTEsNyArMTc1NjMsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0zMzk0LDcgKzMzOTksNyBAQAogICMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAxOTk2CiAgIwogICMgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgTGlidG9vbC4KLUBAIC0xNjc4OSwxOSArMTc0NjIsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCitAQCAtMTY5OTQsMTkgKzE3NjY3LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAogICMgdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KICBOTDJTUD0kbHRfbHRfTkwyU1AKICAKQEAgLTM0MzgsNyArMzQ0Myw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNjgzMSw2ICsxNzUyNywxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTcwMzYsNiArMTc3MzIsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMzQ1MSw3ICszNDU2LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTE2ODQwLDYgKzE3NTQyLDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xNzA0NSw2ICsxNzc0Nyw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0zNDYxLDcgKzM0NjYsNyBAQAogICMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRlYnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KICBEU1lNVVRJTD0kbHRfRFNZTVVUSUwKICAKLUBAIC0xNjk1NCwxMiArMTc2NTksMTIgQEAgd2l0aF9nY2M9JEdDQworQEAgLTE3MTU5LDEyICsxNzg2NCwxMiBAQCB3aXRoX2djYz0kR0NDCiAgIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgogIG5vX2J1aWx0aW5fZmxhZz0kbHRfbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWcKICAKQEAgLTM0NzcsNyArMzQ4Miw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTcwNDYsOSArMTc3NTEsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTcyNTEsOSArMTc5NTYsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMzQ4Nyw3ICszNDkyLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTE3MDY0LDYgKzE3NzY2LDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xNzI2OSw2ICsxNzk3MSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMzQ5Nyw3ICszNTAyLDcgQEAKICAjIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KICBmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0X3NwZWMKICAKLUBAIC0xNzA5NiwyMTAgKzE3ODAxLDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKK0BAIC0xNzMwMSwyMTAgKzE4MDA2LDE2OSBAQCBsdG1haW49IiRhY19hdXhfZGlyL2x0bWFpbi5zaCIKICAgICMgaWYgZmluZHMgbWl4ZWQgQ1IvTEYgYW5kIExGLW9ubHkgbGluZXMuICBTaW5jZSBzZWQgb3BlcmF0ZXMgaW4KICAgICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBDUi9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgICAjIGlzIHJlcG9ydGVkbHkgZml4ZWQsIGJ1dCB3aHkgbm90IHJ1biBvbiBvbGQgdmVyc2lvbnMgdG9vPwpAQCAtMzY5OSw5ICszNzA0LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMzg1OSwxOSArMzg3MCwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvZ2FzL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2dhcy9jb25maWd1cmUKLSsrKyBnaXQvZ2FzL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2dhcy9jb25maWd1cmUgYi9nYXMvY29uZmlndXJlCitpbmRleCA2NGRlOWYxOWRhLi5hODJmZGU3ZmE4IDEwMDc1NQorLS0tIGEvZ2FzL2NvbmZpZ3VyZQorKysrIGIvZ2FzL2NvbmZpZ3VyZQogQEAgLTY4MSw4ICs2ODEsMTEgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCkBAIC0zODkyLDcgKzM5MDAsNyBAQAogIGVuYWJsZV9saWJ0b29sX2xvY2sKICBlbmFibGVfcGx1Z2lucwogIGVuYWJsZV9sYXJnZWZpbGUKLUBAIC0xNDgyLDYgKzE0ODYsOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKK0BAIC0xNDg3LDYgKzE0OTEsOCBAQCBPcHRpb25hbCBQYWNrYWdlczoKICAgIC0td2l0aC1waWMgICAgICAgICAgICAgIHRyeSB0byB1c2Ugb25seSBQSUMvbm9uLVBJQyBvYmplY3RzIFtkZWZhdWx0PXVzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90aF0KICAgIC0td2l0aC1nbnUtbGQgICAgICAgICAgIGFzc3VtZSB0aGUgQyBjb21waWxlciB1c2VzIEdOVSBsZCBbZGVmYXVsdD1ub10KQEAgLTM5MDEsNyArMzkwOSw3IEBACiAgICAtLXdpdGgtY3B1PUNQVSAgICAgICAgICBkZWZhdWx0IGNwdSB2YXJpYW50IGlzIENQVSAoY3VycmVudGx5IG9ubHkgc3VwcG9ydGVkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiBBUkMpCiAgICAtLXdpdGgtc3lzdGVtLXpsaWIgICAgICB1c2UgaW5zdGFsbGVkIGxpYnoKLUBAIC01MjY5LDggKzUyNzUsOCBAQCBlc2FjCitAQCAtNTI3NCw4ICs1MjgwLDggQEAgZXNhYwogIAogIAogIApAQCAtMzkxMiw3ICszOTIwLDcgQEAKICAKICAKICAKLUBAIC01MzEwLDcgKzUzMTYsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTUzMTUsNyArNTMyMSw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTM5MjEsNyArMzkyOSw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNTk5Niw4ICs2MDAyLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTYwMDEsOCArNjAwNyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC0zOTMyLDcgKzM5NDAsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNjA0Niw2ICs2MDUyLDgwIEBAIGVzYWMKK0BAIC02MDUxLDYgKzYwNTcsODAgQEAgZXNhYwogIAogIAogIApAQCAtNDAxMyw3ICs0MDIxLDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MDYyLDYgKzYxNDIsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MDY3LDYgKzYxNDcsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTQwMjUsNyArNDAzMyw3IEBACiAgICBkYXJ3aW4qKQogICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICAgIHJlbG9hZF9jbWRzPSckTFRDQyAkTFRDRkxBR1MgLW5vc3RkbGliICR7d2x9LXIgLW8gJG91dHB1dCRyZWxvYWRfb2JqcycKLUBAIC02MjMwLDcgKzYzMTUsOCBAQCBtaW5ndyogfCBwdzMyKikKK0BAIC02MjM1LDcgKzYzMjAsOCBAQCBtaW5ndyogfCBwdzMyKikKICAgICAgbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2Q9J2ZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTCcKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9J2Z1bmNfd2luMzJfbGliaWQnCiAgICBlbHNlCkBAIC00MDM1LDcgKzQwNDMsNyBAQAogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nJE9CSkRVTVAgLWYnCiAgICBmaQogICAgOzsKLUBAIC02Mzg0LDYgKzY0NzAsMjEgQEAgZXNhYworQEAgLTYzODksNiArNjQ3NSwyMSBAQCBlc2FjCiAgZmkKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjUKICAkYXNfZWNobyAiJGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kIiA+JjY7IH0KQEAgLTQwNTcsNyArNDA2NSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjM5OSw5ICs2NTAwLDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjQwNCw5ICs2NTA1LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTQwNzEsOSArNDA3OSw3IEBACiArCiArCiArCi0gaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgotLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLS1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgorK2lmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KICsgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1kbGx0b29sIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KICtzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kbGx0b29sOyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQpAQCAtNDIxNCw3ICs0MjIwLDkgQEAKICsKICsKICsKLStpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCisgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KKy1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgogKyAgZm9yIGFjX3Byb2cgaW4gYXIKICsgIGRvCiArICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Rvb2xfcHJlZml4JGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgpAQCAtNDIyMiw3ICs0MjMwLDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CiAgaWYgJHthY19jdl9wcm9nX0FSKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02NDE3LDcgKzY2NzEsNyBAQCBkbworQEAgLTY0MjIsNyArNjY3Niw3IEBAIGRvCiAgICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgogICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KICAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KQEAgLTQyMzEsNyArNDIzOSw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY0MzcsMTEgKzY2OTEsMTUgQEAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KK0BAIC02NDQyLDExICs2Njk2LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKICAKICAKQEAgLTQyNTAsNyArNDI1OCw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjQ1Nyw3ICs2NzE1LDcgQEAgZG8KK0BAIC02NDYyLDcgKzY3MjAsNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC00MjU5LDcgKzQyNjcsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NDc2LDYgKzY3MzQsMTAgQEAgZWxzZQorQEAgLTY0ODEsNiArNjczOSwxMCBAQCBlbHNlCiAgJGFzX2VjaG8gIm5vIiA+JjY7IH0KICBmaQogIApAQCAtNDI3MCw3ICs0Mjc4LDcgQEAKICAgIGlmIHRlc3QgIngkYWNfY3RfQVIiID0geDsgdGhlbgogICAgICBBUj0iZmFsc2UiCiAgICBlbHNlCi1AQCAtNjQ4NywxMiArNjc0OSwxMCBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKK0BAIC02NDkyLDEyICs2NzU0LDEwIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OwogIGVzYWMKICAgICAgQVI9JGFjX2N0X0FSCiAgICBmaQpAQCAtNDI4NSw3ICs0MjkzLDcgQEAKICAKICAKICAKLUBAIC02NTA0LDYgKzY3NjQsNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKK0BAIC02NTA5LDYgKzY3NjksNjQgQEAgdGVzdCAteiAiJEFSX0ZMQUdTIiAmJiBBUl9GTEFHUz1jcnUKICAKICAKICAKQEAgLTQzNTAsNyArNDM1OCw3IEBACiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXN0cmlwIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KICBzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1zdHJpcDsgYWNfd29yZD0kMgotQEAgLTY4MzgsOCArNzE1Niw4IEBAIGVzYWMKK0BAIC02ODQzLDggKzcxNjEsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKICAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKQEAgLTQzNjEsNyArNDM2OSw3IEBACiAgCiAgIyBIYW5kbGUgQ1JMRiBpbiBtaW5ndyB0b29sIGNoYWluCiAgb3B0X2NyPQotQEAgLTY4NzUsNiArNzE5Myw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KK0BAIC02ODgwLDYgKzcxOTgsNyBAQCBmb3IgYWNfc3ltcHJmeCBpbiAiIiAiXyI7IGRvCiAgICBlbHNlCiAgICAgIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXCgkc3ltY29kZSRzeW1jb2RlKlwpWwkgXVsJIF0qJGFjX3N5bXByZngkc3ltcGF0JG9wdF9jciQvJHN5bXhmcm0vcCciCiAgICBmaQpAQCAtNDM2OSw3ICs0Mzc3LDcgQEAKICAKICAgICMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhlIHBpcGUgd29ya3MgY29ycmVjdGx5LgogICAgcGlwZV93b3Jrcz1ubwotQEAgLTY5MTYsNiArNzIzNSwxOCBAQCBfTFRfRU9GCitAQCAtNjkyMSw2ICs3MjQwLDE4IEBAIF9MVF9FT0YKICAgICAgICBpZiAkR1JFUCAnIG5tX3Rlc3RfdmFyJCcgIiRubGlzdCIgPi9kZXYvbnVsbDsgdGhlbgogIAlpZiAkR1JFUCAnIG5tX3Rlc3RfZnVuYyQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJICBjYXQgPDxfTFRfRU9GID4gY29uZnRlc3QuJGFjX2V4dApAQCAtNDM4OCw3ICs0Mzk2LDcgQEAKICAjaWZkZWYgX19jcGx1c3BsdXMKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKLUBAIC02OTI3LDcgKzcyNTgsNyBAQCBfTFRfRU9GCitAQCAtNjkzMiw3ICs3MjYzLDcgQEAgX0xUX0VPRgogIAkgIGNhdCA8PF9MVF9FT0YgPj4gY29uZnRlc3QuJGFjX2V4dAogIAogIC8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KQEAgLTQzOTcsNyArNDQwNSw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtNjk1Myw4ICs3Mjg0LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpCitAQCAtNjk1OCw4ICs3Mjg5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTQ0MDgsNyArNDQxNiw3IEBACiAgCSAgTElCUz0iY29uZnRzdG0uJGFjX29iamV4dCIKICAJICBDRkxBR1M9IiRDRkxBR1MkbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWciCiAgCSAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbm8tJExJTkVOT306IFwiJGFjX2xpbmtcIiI7IH0gPiY1Ci1AQCAtNjk2NCw4ICs3Mjk1LDggQEAgX0xUX0VPRgorQEAgLTY5NjksOCArNzMwMCw4IEBAIF9MVF9FT0YKICAgIHRlc3QgJGFjX3N0YXR1cyA9IDA7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgogIAkgICAgcGlwZV93b3Jrcz15ZXMKICAJICBmaQpAQCAtNDQxOSw3ICs0NDI3LDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTcwMDIsNiArNzMzMywxOSBAQCBlbHNlCitAQCAtNzAwNyw2ICs3MzM4LDIxIEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC00NDM2LDEzICs0NDQ0LDE3IEBACiArCiArCiArCisrCisrCiAgCiAgCiAgCi1AQCAtNzAyMiw2ICs3MzY2LDQyIEBAIGZpCitAQCAtNzAyMyw2ICs3MzY5LDQwIEBAIGZpCiAgCiAgCiAgCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3lzcm9vdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gIiA+JjY7IH0KICsKQEAgLTQ0NzUsMTQgKzQ0ODcsMTAgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwogIAotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci1AQCAtNzIyOSw2ICs3NjA5LDEyMyBAQCBlc2FjCisgCisgCitAQCAtNzIzNCw2ICs3NjE0LDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAgCkBAIC00NjA2LDcgKzQ2MTQsNyBAQAogIAogICAgY2FzZSAkaG9zdF9vcyBpbgogICAgICByaGFwc29keSogfCBkYXJ3aW4qKQotQEAgLTc3OTIsNiArODI4OSw4IEBAIF9MVF9FT0YKK0BAIC03Nzk3LDYgKzgyOTQsOCBAQCBfTFRfRU9GCiAgICAgICAgJExUQ0MgJExUQ0ZMQUdTIC1jIC1vIGNvbmZ0ZXN0Lm8gY29uZnRlc3QuYyAyPiY1CiAgICAgICAgZWNobyAiJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8iID4mNQogICAgICAgICRBUiBjcnUgbGliY29uZnRlc3QuYSBjb25mdGVzdC5vIDI+JjUKQEAgLTQ2MTUsNyArNDYyMyw3IEBACiAgICAgICAgY2F0ID4gY29uZnRlc3QuYyA8PCBfTFRfRU9GCiAgaW50IG1haW4oKSB7IHJldHVybiAwO30KICBfTFRfRU9GCi1AQCAtNzk4Nyw3ICs4NDg2LDggQEAgZmkKK0BAIC03OTkyLDcgKzg0OTEsOCBAQCBmaQogIExJQlRPT0xfREVQUz0iJGx0bWFpbiIKICAKICAjIEFsd2F5cyB1c2Ugb3VyIG93biBsaWJ0b29sLgpAQCAtNDYyNSw3ICs0NjMzLDcgQEAKICAKICAKICAKLUBAIC04MDc2LDcgKzg1NzYsNyBAQCBhaXgzKikKK0BAIC04MDgxLDcgKzg1ODEsNyBAQCBhaXgzKikKICBlc2FjCiAgCiAgIyBHbG9iYWwgdmFyaWFibGVzOgpAQCAtNDYzNCw3ICs0NjQyLDcgQEAKICBjYW5fYnVpbGRfc2hhcmVkPXllcwogIAogICMgQWxsIGtub3duIGxpbmtlcnMgcmVxdWlyZSBhIGAuYScgYXJjaGl2ZSBmb3Igc3RhdGljIGxpbmtpbmcgKGV4Y2VwdCBNU1ZDLAotQEAgLTgzNzQsOCArODg3NCw2IEBAIGZpCitAQCAtODM3OSw4ICs4ODc5LDYgQEAgZmkKICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0KICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0KICAKQEAgLTQ2NDMsNyArNDY1MSw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg1NDEsNiArOTAzOSwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODU0Niw2ICs5MDQ0LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtNDY1Niw3ICs0NjY0LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg2MDMsNyArOTEwNyw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NjA4LDcgKzkxMTIsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTQ2NjUsNyArNDY3Myw3IEBACiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1Rb3B0aW9uIGxkICc7OwogICAgICAgICopCiAgCWx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnOzsKLUBAIC04NjYwLDEzICs5MTY0LDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC04NjY1LDEzICs5MTY5LDE3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICAgICAgbHRfcHJvZ19jb21waWxlcl9waWM9IiRsdF9wcm9nX2NvbXBpbGVyX3BpYyAtRFBJQyIKICAgICAgOzsKICBlc2FjCkBAIC00Njg5LDcgKzQ2OTcsNyBAQAogIAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgUElDIGZsYWcgYWN0dWFsbHkgd29ya3MuCi1AQCAtODcyNyw2ICs5MjM1LDExIEBAIGZpCitAQCAtODczMiw2ICs5MjQwLDExIEBAIGZpCiAgCiAgCiAgCkBAIC00NzAxLDcgKzQ3MDksNyBAQAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGljIGZsYWcgYWN0dWFsbHkgd29ya3MuCiAgIwotQEAgLTkwNzcsNyArOTU5MCw4IEBAIF9MVF9FT0YKK0BAIC05MDgyLDcgKzk1OTUsOCBAQCBfTFRfRU9GCiAgICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKICAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KICAgICAgICBlbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwpAQCAtNDcxMSw3ICs0NzE5LDcgQEAKICAKICAgICAgICBpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnYXV0by1pbXBvcnQnID4gL2Rldi9udWxsOyB0aGVuCiAgICAgICAgICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAkbGliJwotQEAgLTkxNzYsMTIgKzk2OTAsMTIgQEAgX0xUX0VPRgorQEAgLTkxODEsMTIgKzk2OTUsMTIgQEAgX0xUX0VPRgogIAkgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSctLXdob2xlLWFyY2hpdmUkY29udmVuaWVuY2UgLS1uby13aG9sZS1hcmNoaXZlJwogIAkgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9CiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0nLXJwYXRoICRsaWJkaXInCkBAIC00NzI2LDcgKzQ3MzQsNyBAQAogIAkgIGZpCiAgCSAgOzsKICAJZXNhYwotQEAgLTkxOTUsOCArOTcwOSw4IEBAIF9MVF9FT0YKK0BAIC05MjAwLDggKzk3MTQsOCBAQCBfTFRfRU9GCiAgCWFyY2hpdmVfY21kcz0nJExEIC1Cc2hhcmVhYmxlICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MgLW8gJGxpYicKICAJd2xhcmM9CiAgICAgICAgZWxzZQpAQCAtNDczNyw3ICs0NzQ1LDcgQEAKICAgICAgICBmaQogICAgICAgIDs7CiAgCi1AQCAtOTIxNCw4ICs5NzI4LDggQEAgX0xUX0VPRgorQEAgLTkyMTksOCArOTczMyw4IEBAIF9MVF9FT0YKICAKICBfTFRfRU9GCiAgICAgICAgZWxpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC00NzQ4LDcgKzQ3NTYsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05MjYxLDggKzk3NzUsOCBAQCBfTFRfRU9GCitAQCAtOTI2Niw4ICs5NzgwLDggQEAgX0xUX0VPRgogIAogICAgICAqKQogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICc6IHN1cHBvcnRlZCB0YXJnZXRzOi4qIGVsZicgPiAvZGV2L251bGw7IHRoZW4KQEAgLTQ3NTksNyArNDc2Nyw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTkzOTIsNyArOTkwNiwxMyBAQCBfTFRfRU9GCitAQCAtOTM5Nyw3ICs5OTExLDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtNDc3NCw3ICs0NzgyLDcgQEAKICAvKiBlbmQgY29uZmRlZnMuaC4gICovCiAgCiAgaW50Ci1AQCAtOTQwNSwyMiArOTkyNSwyOSBAQCBtYWluICgpCitAQCAtOTQxMCwyMiArOTkzMCwyOSBAQCBtYWluICgpCiAgX0FDRU9GCiAgaWYgYWNfZm5fY190cnlfbGluayAiJExJTkVOTyI7IHRoZW4gOgogIApAQCAtNDgxNyw3ICs0ODI1LDcgQEAKICAKICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAnIlwke3dsfSRub19lbnRyeV9mbGFnIicgJGNvbXBpbGVyX2ZsYWdzIGBpZiB0ZXN0ICJ4JHthbGxvd191bmRlZmluZWRfZmxhZ30iICE9ICJ4IjsgdGhlbiBmdW5jX2VjaG9fYWxsICIke3dsfSR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IjsgZWxzZSA6OyBmaWAgJyJcJHt3bH0kZXhwX3N5bV9mbGFnOlwkZXhwb3J0X3N5bWJvbHMgJHNoYXJlZF9mbGFnIgotQEAgLTk0MzIsNyArOTk1OSwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTQzNyw3ICs5OTY0LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTQ4MzIsNyArNDg0MCw3IEBACiAgLyogZW5kIGNvbmZkZWZzLmguICAqLwogIAogIGludAotQEAgLTk0NDUsMjIgKzk5NzgsMjkgQEAgbWFpbiAoKQorQEAgLTk0NTAsMjIgKzk5ODMsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTQ4NzUsNyArNDg4Myw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtOTUwNSwyMCArMTAwNDUsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1MTAsMjAgKzEwMDUwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC00OTUzLDcgKzQ5NjEsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTU3OSw3ICsxMDE2Miw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NTg0LDcgKzEwMTY3LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtNDk2Miw3ICs0OTcwLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NTg3LDcgKzEwMTcwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1OTIsNyArMTAxNzUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC00OTcxLDcgKzQ5NzksNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk2MDMsNyArMTAxODYsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYwOCw3ICsxMDE5MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtNDk4MCw3ICs0OTg4LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk2MjcsMTAgKzEwMjEwLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NjMyLDEwICsxMDIxNSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtNDk5Myw3ICs1MDAxLDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk3MDksMjMgKzEwMjkyLDM2IEBAIGZpCitAQCAtOTcxNCwyMyArMTAyOTcsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtNTAzOCw3ICs1MDQ2LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTk4MTAsNyArMTA0MDYsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTgxNSw3ICsxMDQxMSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICBvc2Y0KiB8IG9zZjUqKQkjIGFzIG9zZjMqIHdpdGggdGhlIGFkZGl0aW9uIG9mIC1tc3ltIGZsYWcKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nICR7d2x9LWV4cGVjdF91bnJlc29sdmVkICR7d2x9XConCkBAIC01MDQ3LDcgKzUwNTUsNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC05ODI5LDkgKzEwNDI1LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTk4MzQsOSArMTA0MzAsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgICBub191bmRlZmluZWRfZmxhZz0nIC16IGRlZnMnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJd2xhcmM9JyR7d2x9JwpAQCAtNTA1OSw3ICs1MDY3LDcgQEAKICAgICAgICBlbHNlCiAgCWNhc2UgYCRDQyAtViAyPiYxYCBpbgogIAkqIkNvbXBpbGVycyA1LjAiKikKLUBAIC0xMDQwNyw4ICsxMTAwMyw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDQxMiw4ICsxMTAwOCw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgIG5lZWRfdmVyc2lvbj1ubwogICAgbmVlZF9saWJfcHJlZml4PW5vCiAgCkBAIC01MDcxLDcgKzUwNzksNyBAQAogICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9JyRsaWJuYW1lLmRsbC5hJwogICAgICAjIERMTCBpcyBpbnN0YWxsZWQgdG8gJChsaWJkaXIpLy4uL2JpbiBieSBwb3N0aW5zdGFsbF9jbWRzCiAgICAgIHBvc3RpbnN0YWxsX2NtZHM9J2Jhc2VfZmlsZT1gYmFzZW5hbWUgXCR7ZmlsZX1gfgotQEAgLTEwNDQxLDEzICsxMTAzOCw3MSBAQCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCitAQCAtMTA0NDYsMTMgKzExMDQzLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgICAgICBsaWJyYXJ5X25hbWVzX3NwZWM9J2BlY2hvICR7bGlibmFtZX0gfCBzZWQgLWUgJ3MvXmxpYi9wdy8nYGBlY2hvICR7cmVsZWFzZX0gfCAkU0VEIC1lICdzL1suXS8tL2cnYCR7dmVyc3VmZml4fSR7c2hhcmVkX2V4dH0nCiAgICAgICAgOzsKICAgICAgZXNhYwpAQCAtNTE0NCw3ICs1MTUyLDcgQEAKICAgICMgRklYTUU6IGZpcnN0IHdlIHNob3VsZCBzZWFyY2ggLiBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgZXhlY3V0YWJsZSBpcyBpbgogICAgc2hsaWJwYXRoX3Zhcj1QQVRICiAgICA7OwotQEAgLTEwNTM5LDcgKzExMTk0LDcgQEAgaGFpa3UqKQorQEAgLTEwNTQ0LDcgKzExMTk5LDcgQEAgaGFpa3UqKQogICAgc29uYW1lX3NwZWM9JyR7bGlibmFtZX0ke3JlbGVhc2V9JHtzaGFyZWRfZXh0fSRtYWpvcicKICAgIHNobGlicGF0aF92YXI9TElCUkFSWV9QQVRICiAgICBzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGg9eWVzCkBAIC01MTUzLDE2ICs1MTYxLDE2IEBACiAgICBoYXJkY29kZV9pbnRvX2xpYnM9eWVzCiAgICA7OwogIAotQEAgLTExMzM1LDcgKzExOTkwLDcgQEAgZWxzZQorQEAgLTExMzQwLDcgKzExOTk1LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTEzMzggImNvbmZpZ3VyZSIKKy0jbGluZSAxMTM0MyAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTEzNzksMTAgKzEyMDM0LDEwIEBAIGVsc2UKK0BAIC0xMTM4NCwxMCArMTIwMzksMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC01MTc1LDE2ICs1MTgzLDE2IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMTQ0MSw3ICsxMjA5Niw3IEBAIGVsc2UKK0BAIC0xMTQ0Niw3ICsxMjEwMSw3IEBAIGVsc2UKICAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExNDQ0ICJjb25maWd1cmUiCistI2xpbmUgMTE0NDkgImNvbmZpZ3VyZSIKICsjbGluZSAkTElORU5PICJjb25maWd1cmUiCiAgI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAgCiAgI2lmIEhBVkVfRExGQ05fSAotQEAgLTExNDg1LDEwICsxMjE0MCwxMCBAQCBlbHNlCitAQCAtMTE0OTAsMTAgKzEyMTQ1LDEwIEBAIGVsc2UKICAvKiBXaGVuIC1mdmlzYmlsaXR5PWhpZGRlbiBpcyB1c2VkLCBhc3N1bWUgdGhlIGNvZGUgaGFzIGJlZW4gYW5ub3RhdGVkCiAgICAgY29ycmVzcG9uZGluZ2x5IGZvciB0aGUgc3ltYm9scyBuZWVkZWQuICAqLwogICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoKChfX0dOVUNfXyA9PSAzKSAmJiAoX19HTlVDX01JTk9SX18gPj0gMykpIHx8IChfX0dOVUNfXyA+IDMpKQpAQCAtNTE5Nyw3ICs1MjA1LDcgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTE1ODAzLDEzICsxNjQ1OCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfCitAQCAtMTU4OTYsMTMgKzE2NTUxLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF91bnNldD0nYCRFQ0hPICIkbHRfdW5zZXQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X1NQMk5MPSdgJEVDSE8gIiRsdF9TUDJOTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfTkwyU1A9J2AkRUNITyAiJGx0X05MMlNQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTUyMTgsNyArNTIyNiw3IEBACiAgU1RSSVA9J2AkRUNITyAiJFNUUklQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBSQU5MSUI9J2AkRUNITyAiJFJBTkxJQiIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgb2xkX3Bvc3RpbnN0YWxsX2NtZHM9J2AkRUNITyAiJG9sZF9wb3N0aW5zdGFsbF9jbWRzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xNTgyNCwxNCArMTY0ODYsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbAorQEAgLTE1OTE3LDE0ICsxNjU3OSwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIiB8ICRTRUQgIiRkZQogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTUyMzcsNyArNTI0NSw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTU4NjQsMTIgKzE2NTI5LDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xNTk1NywxMiArMTY2MjIsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC01MjUxLDcgKzUyNTksNyBAQAogIGZpbGVfbGlzdF9zcGVjPSdgJEVDSE8gIiRmaWxlX2xpc3Rfc3BlYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9J2AkRUNITyAiJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBuZWVkX2xpYl9wcmVmaXg9J2AkRUNITyAiJG5lZWRfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTU5MjQsOCArMTY1ODksMTMgQEAgcmVsb2FkX2ZsYWcgXAorQEAgLTE2MDE3LDggKzE2NjgyLDEzIEBAIHJlbG9hZF9mbGFnIFwKICBPQkpEVU1QIFwKICBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiAgZmlsZV9tYWdpY19jbWQgXApAQCAtNTI2NSw3ICs1MjczLDcgQEAKICBTVFJJUCBcCiAgUkFOTElCIFwKICBDQyBcCi1AQCAtMTU5MzUsMTIgKzE2NjA1LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAorQEAgLTE2MDI4LDEyICsxNjY5OCwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbCBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXggXApAQCAtNTI4MSw3ICs1Mjg5LDcgQEAKICBEU1lNVVRJTCBcCiAgTk1FRElUIFwKICBMSVBPIFwKLUBAIC0xNTk1Niw3ICsxNjYyOCw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKK0BAIC0xNjA0OSw3ICsxNjcyMSw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkIFwKICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIFwKQEAgLTUyODksNyArNTI5Nyw3IEBACiAgZXhjbHVkZV9leHBzeW1zIFwKICBpbmNsdWRlX2V4cHN5bXMgXAogIGZpbGVfbGlzdF9zcGVjIFwKLUBAIC0xNTk5Miw2ICsxNjY2Myw3IEBAIG1vZHVsZV9jbWRzIFwKK0BAIC0xNjA4NSw2ICsxNjc1Niw3IEBAIG1vZHVsZV9jbWRzIFwKICBtb2R1bGVfZXhwc3ltX2NtZHMgXAogIGV4cG9ydF9zeW1ib2xzX2NtZHMgXAogIHByZWxpbmtfY21kcyBcCkBAIC01Mjk3LDcgKzUzMDUsNyBAQAogIHBvc3RpbnN0YWxsX2NtZHMgXAogIHBvc3R1bmluc3RhbGxfY21kcyBcCiAgZmluaXNoX2NtZHMgXAotQEAgLTE2NzY1LDcgKzE3NDM3LDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAorQEAgLTE2ODU4LDcgKzE3NTMwLDggQEAgJGFzX2VjaG8gWCIkZmlsZSIgfAogICMgTk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6IGxvb2sgYXQgbHRtYWluLnNoLgogICMKICAjICAgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LApAQCAtNTMwNyw3ICs1MzE1LDcgQEAKICAjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogICMKICAjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCi1AQCAtMTY4NjgsMTkgKzE3NTQxLDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAorQEAgLTE2OTYxLDE5ICsxNzYzNCw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKICAjIHR1cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCiAgTkwyU1A9JGx0X2x0X05MMlNQCiAgCkBAIC01MzUxLDcgKzUzNTksNyBAQAogICMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0uCiAgU1RSSVA9JGx0X1NUUklQCiAgCi1AQCAtMTY5MTAsNiArMTc2MDYsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfYworQEAgLTE3MDAzLDYgKzE3Njk5LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAgIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KICBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKICAKQEAgLTUzNjQsNyArNTM3Miw3IEBACiAgIyBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmlsZXMuCiAgb2JqZGlyPSRvYmpkaXIKICAKLUBAIC0xNjkxOSw2ICsxNzYyMSw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECitAQCAtMTcwMTIsNiArMTc3MTQsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAogICMgTXVzdCB3ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/CiAgbmVlZF9sb2Nrcz0kbHRfbmVlZF9sb2NrcwogIApAQCAtNTM3NCw3ICs1MzgyLDcgQEAKICAjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCiAgRFNZTVVUSUw9JGx0X0RTWU1VVElMCiAgCi1AQCAtMTcwMzMsMTIgKzE3NzM4LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKK0BAIC0xNzEyNiwxMiArMTc4MzEsMTIgQEAgd2l0aF9nY2M9JEdDQwogICMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4KICBub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnCiAgCkBAIC01MzkwLDcgKzUzOTgsNyBAQAogICMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4KICBsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwogIAotQEAgLTE3MTI1LDkgKzE3ODMwLDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAorQEAgLTE3MjE4LDkgKzE3OTIzLDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAogICMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgogIGxpbmtfYWxsX2RlcGxpYnM9JGxpbmtfYWxsX2RlcGxpYnMKICAKQEAgLTU0MDAsNyArNTQwOCw3IEBACiAgIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCiAgYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNfZXhwb3J0X3N5bWJvbHMKICAKLUBAIC0xNzE0Myw2ICsxNzg0NSw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCitAQCAtMTcyMzYsNiArMTc5MzgsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcwogICMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCiAgcHJlbGlua19jbWRzPSRsdF9wcmVsaW5rX2NtZHMKICAKQEAgLTU0MTAsNyArNTQxOCw3IEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjCiAgCi1AQCAtMTcxNzUsMjEwICsxNzg4MCwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCitAQCAtMTcyNjgsMjEwICsxNzk3MywxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAgICAjIGlmIGZpbmRzIG1peGVkIENSL0xGIGFuZCBMRi1vbmx5IGxpbmVzLiAgU2luY2Ugc2VkIG9wZXJhdGVzIGluCiAgICAjIHRleHQgbW9kZSwgaXQgcHJvcGVybHkgY29udmVydHMgbGluZXMgdG8gQ1IvTEYuICBUaGlzIGJhc2ggcHJvYmxlbQogICAgIyBpcyByZXBvcnRlZGx5IGZpeGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KQEAgLTU2MTIsOSArNTYyMCwxNSBAQAogLV9MVF9FT0YKIC0gICAgOzsKIC0gIGVzYWMKKy0KKy0KKy0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKKy0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKKy0KKy0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICsgIHNlZCAnJHEnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKICsgICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCisrCiArICBpZiB0ZXN0IHgiJHhzaV9zaGVsbCIgPSB4eWVzOyB0aGVuCiArICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lICgpJC8sL159ICMgZnVuY19kaXJuYW1lIC9jXAogK2Z1bmNfZGlybmFtZSAoKVwKQEAgLTU3NzIsMTkgKzU3ODYsMTYgQEAKICsgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiY1CiArJGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hlbGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiYyO30KICtmaQotIAotLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAotLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAotLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAorKworKwogKyAgIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICAgICAgKHJtIC1mICIkb2ZpbGUiICYmIGNwICIkY2ZnZmlsZSIgIiRvZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlIikKICAgIGNobW9kICt4ICIkb2ZpbGUiCiAgCi1JbmRleDogZ2l0L2dwcm9mL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2dwcm9mL2NvbmZpZ3VyZQotKysrIGdpdC9ncHJvZi9jb25maWd1cmUKK2RpZmYgLS1naXQgYS9ncHJvZi9jb25maWd1cmUgYi9ncHJvZi9jb25maWd1cmUKK2luZGV4IGFiMzJiYWIyYjYuLjUxMTljNjAxOWYgMTAwNzU1CistLS0gYS9ncHJvZi9jb25maWd1cmUKKysrKyBiL2dwcm9mL2NvbmZpZ3VyZQogQEAgLTY2Miw4ICs2NjIsMTEgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCkBAIC01ODM0LDcgKzU4NDUsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTU4NTEsOCArNTg1Nyw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHUKK0BAIC01ODUxLDggKzU4NTcsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3RzLi4uICIgPiY2OwogICMgVHJ5IHNvbWUgWFNJIGZlYXR1cmVzCiAgeHNpX3NoZWxsPW5vCiAgKCBfbHRfZHVtbXk9ImEvYi9jIgpAQCAtNTg1MSw3ICs1ODYyLDcgQEAKICAKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGhvdyB0byBjb252ZXJ0ICRidWlsZCBmaWxlIG5hbWVzIHRvICRob3N0IGZvcm1hdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gJGhvc3QgZm9ybWF0Li4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl90b19ob3N0X2ZpbGVfY21kKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3RvX2hvc3RfZmlsZV9jbWQrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBjYXNlICRob3N0IGluCkBAIC01ODk4LDcgKzU5MDksNyBAQAogKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgJGJ1aWxkIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAiID4mNjsgfQotK2lmICR7bHRfY3ZfdG9fdG9vbF9maWxlX2NtZCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl90b190b29sX2ZpbGVfY21kK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgI2Fzc3VtZSBvcmRpbmFyeSBjcm9zcyB0b29scywgb3IgbmF0aXZlIGJ1aWxkLgpAQCAtNTk4Miw3ICs1OTkzLDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC02MjU5LDkgKzYzNTUsMTYyIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC02MjU3LDExICs2MzUzLDE2NCBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTU5OTYsNiArNjAwNyw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtNjAwMyw3ICs2MDE2LDcgQEAKICtzZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1kbGx0b29sOyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotK2lmICR7YWNfY3ZfcHJvZ19ETExUT09MKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2FjX2N2X3Byb2dfRExMVE9PTCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGlmIHRlc3QgLW4gIiRETExUT09MIjsgdGhlbgpAQCAtNjAxNSw3ICs2MDI4LDcgQEAKICsgIElGUz0kYXNfc2F2ZV9JRlMKICsgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiArICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX0RMTFRPT0w9IiR7YWNfdG9vbF9wcmVmaXh9ZGxsdG9vbCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTYwNDMsNyArNjA1Niw3IEBACiArc2V0IGR1bW15IGRsbHRvb2w7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX2FjX2N0X0RMTFRPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19hY19jdF9ETExUT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJGFjX2N0X0RMTFRPT0wiOyB0aGVuCkBAIC02MDU1LDcgKzYwNjgsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfYWNfY3RfRExMVE9PTD0iZGxsdG9vbCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTYxMDMsNyArNjExNiw3IEBACiArCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl9zaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9zaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGx0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPSd1bmtub3duJwpAQCAtNjE0NywxMSArNjE2MCwxMyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYyNzcsNyArNjUyNiw3IEBAIGRvCitAQCAtNjI3Niw4ICs2NTI1LDggQEAgZG8KKyAgIElGUz0kYXNfc2F2ZV9JRlMKICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorLSAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgogLSAgICBhY19jdl9wcm9nX0FSPSIke2FjX3Rvb2xfcHJlZml4fWFyIgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX0FSPSIkYWNfdG9vbF9wcmVmaXgkYWNfcHJvZyIKICAgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiAgICAgIGJyZWFrIDIKQEAgLTYxNzUsMTUgKzYxOTAsNiBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfYWNfY3RfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTYzMTcsNyArNjU3MCw3IEBAIGRvCi0gICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KLSAgIGlmIGFzX2ZuX2V4ZWN1dGFibGVfcCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IHRoZW4KLS0gICAgYWNfY3ZfcHJvZ19hY19jdF9BUj0iYXIiCi0rICAgIGFjX2N2X3Byb2dfYWNfY3RfQVI9IiRhY19wcm9nIgotICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICAgYnJlYWsgMgotICAgZmkKIEBAIC02MzM2LDYgKzY1ODksMTAgQEAgZWxzZQogICRhc19lY2hvICJubyIgPiY2OyB9CiAgZmkKQEAgLTYyMjAsNyArNjIyNiw3IEBACiArCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7bHRfY3ZfYXJfYXRfZmlsZStzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGx0X2N2X2FyX2F0X2ZpbGU9bm8KQEAgLTYzMTksNyArNjMyNSw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtNjgxMyw4ICs3MTM5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpCitAQCAtNjgxMyw4ICs3MTM5LDggQEAgc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9zZXR1cCgpIHsKICBfTFRfRU9GCiAgCSAgIyBOb3cgdHJ5IGxpbmtpbmcgdGhlIHR3byBmaWxlcy4KICAJICBtdiBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0c3RtLiRhY19vYmpleHQKQEAgLTYzNDEsNyArNjM0Nyw3IEBACiAgCWVsc2UKICAJICBlY2hvICJjYW5ub3QgZmluZCBubV90ZXN0X2Z1bmMgaW4gJG5saXN0IiA+JjUKICAJZmkKLUBAIC02ODYyLDYgKzcxODgsMTcgQEAgZWxzZQorQEAgLTY4NjIsNiArNzE4OCwxOCBAQCBlbHNlCiAgJGFzX2VjaG8gIm9rIiA+JjY7IH0KICBmaQogIApAQCAtNjM1NiwxNCArNjM2MiwxOSBAQAogKwogKwogKworKwogIAogIAogIAotQEAgLTY4ODMsNiArNzIyMCw0NCBAQCBmaQorQEAgLTY4NzgsNiArNzIxNiw0MyBAQCBmaQogIAogIAogIAogKworKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC02MzkwLDIwICs2NDAxLDE1IEBACiArICopCiArICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7d2l0aF9saWJ0b29sX3N5c3Jvb3R9IiA+JjUKICskYXNfZWNobyAiJHt3aXRoX2xpYnRvb2xfc3lzcm9vdH0iID4mNjsgfQotKyAgIGFzX2ZuX2Vycm9yICQ/ICJUaGUgc3lzcm9vdCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGguIiAiJExJTkVOTyIgNQorKyAgIGFzX2ZuX2Vycm9yICJUaGUgc3lzcm9vdCBtdXN0IGJlIGFuIGFic29sdXRlIHBhdGguIiAiJExJTkVOTyIgNQogKyAgIDs7CiArZXNhYwogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKLSAgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYnRvb2xfbG9jazsKKyAKKyAKKyAKIEBAIC03MDg5LDYgKzc0NjQsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTY0MTMsNyArNjQxOSw3IEBACiArc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9bXQ7IGFjX3dvcmQ9JDIKICt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9Ci0raWYgJHthY19jdl9wcm9nX01BTklGRVNUX1RPT0wrOn0gZmFsc2U7IHRoZW4gOgorK2lmIHRlc3QgIiR7YWNfY3ZfcHJvZ19NQU5JRkVTVF9UT09MK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgaWYgdGVzdCAtbiAiJE1BTklGRVNUX1RPT0wiOyB0aGVuCkBAIC02NDI1LDcgKzY0MzEsNyBAQAogKyAgSUZTPSRhc19zYXZlX0lGUwogKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICsgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0rICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCisrICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCiArICAgIGFjX2N2X3Byb2dfTUFOSUZFU1RfVE9PTD0iJHthY190b29sX3ByZWZpeH1tdCIKICsgICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CiArICAgIGJyZWFrIDIKQEAgLTY0NTMsNyArNjQ1OSw3IEBACiArc2V0IGR1bW15IG10OyBhY193b3JkPSQyCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQotK2lmICR7YWNfY3ZfcHJvZ19hY19jdF9NQU5JRkVTVF9UT09MKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2FjX2N2X3Byb2dfYWNfY3RfTUFOSUZFU1RfVE9PTCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIGlmIHRlc3QgLW4gIiRhY19jdF9NQU5JRkVTVF9UT09MIjsgdGhlbgpAQCAtNjQ2NSw3ICs2NDcxLDcgQEAKICsgIElGUz0kYXNfc2F2ZV9JRlMKICsgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiArICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotKyAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgorKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgogKyAgICBhY19jdl9wcm9nX2FjX2N0X01BTklGRVNUX1RPT0w9Im10IgogKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICsgICAgYnJlYWsgMgpAQCAtNjUwMyw3ICs2NTA5LDcgQEAKICt0ZXN0IC16ICIkTUFOSUZFU1RfVE9PTCIgJiYgTUFOSUZFU1RfVE9PTD1tdAogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgJE1BTklGRVNUX1RPT0wgaXMgYSBtYW5pZmVzdCB0b29sIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyBpZiAkTUFOSUZFU1RfVE9PTCBpcyBhIG1hbmlmZXN0IHRvb2wuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3BhdGhfbWFpbmZlc3RfdG9vbCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2wrc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2w9bm8KQEAgLTY1NjUsNyArNjU3MSw3IEBACiAgCiAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3dsPSctV2wsJwotQEAgLTg0MDEsNiArODg5NCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtODQwMSw2ICs4ODk0LDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW9uIHRvIHByb2R1Y2UgUElDLi4uICIgPiY2OyB9CiAgCWx0X3Byb2dfY29tcGlsZXJfcGljPSctLXNoYXJlZCcKICAJbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy0tc3RhdGljJwogIAk7OwpAQCAtNjU3OCw3ICs2NTg0LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg0NjMsNyArODk2Miw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NDYzLDcgKzg5NjIsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTY2MDAsNyArNjYwNiw3IEBACiAgCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQyIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KLStpZiAke2x0X2N2X3Byb2dfY29tcGlsZXJfcGljKzp9IGZhbHNlOyB0aGVuIDoKKytpZiB0ZXN0ICIke2x0X2N2X3Byb2dfY29tcGlsZXJfcGljK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgbHRfY3ZfcHJvZ19jb21waWxlcl9waWM9JGx0X3Byb2dfY29tcGlsZXJfcGljCkBAIC02Njg5LDcgKzY2OTUsNyBAQAogKyAgICAgICAgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aCtzZXR9IiA9IHNldDsgdGhlbgogKyAgYWl4X2xpYnBhdGg9JGx0X2N2X2FpeF9saWJwYXRoCiArZWxzZQotKyAgaWYgJHtsdF9jdl9haXhfbGlicGF0aF8rOn0gZmFsc2U7IHRoZW4gOgorKyAgaWYgdGVzdCAiJHtsdF9jdl9haXhfbGlicGF0aF8rc2V0fSIgPSBzZXQ7IHRoZW4gOgogKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKICtlbHNlCiArICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CkBAIC02NzM5LDcgKzY3NDUsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtOTI5Miw3ICs5ODE0LDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05MjkyLDcgKzk4MTQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtNjc0Nyw3ICs2NzUzLDcgQEAKICsJIGlmIHRlc3QgIiR7bHRfY3ZfYWl4X2xpYnBhdGgrc2V0fSIgPSBzZXQ7IHRoZW4KICsgIGFpeF9saWJwYXRoPSRsdF9jdl9haXhfbGlicGF0aAogK2Vsc2UKLSsgIGlmICR7bHRfY3ZfYWl4X2xpYnBhdGhfKzp9IGZhbHNlOyB0aGVuIDoKKysgIGlmIHRlc3QgIiR7bHRfY3ZfYWl4X2xpYnBhdGhfK3NldH0iID0gc2V0OyB0aGVuIDoKICsgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiArZWxzZQogKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dApAQCAtNjc5Nyw3ICs2ODAzLDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05MzY1LDIwICs5OTAwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05MzY1LDIwICs5OTAwLDYzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwogICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCkBAIC02ODc1LDcgKzY4ODEsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtOTQzOSw3ICsxMDAxNyw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDM5LDcgKzEwMDE3LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtNjg4NCw3ICs2ODkwLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NDQ3LDcgKzEwMDI1LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk0NDcsNyArMTAwMjUsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC02ODkzLDcgKzY4OTksNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTk0NjMsNyArMTAwNDEsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTQ2Myw3ICsxMDA0MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4MTAqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzICYmIHRlc3QgIiR3aXRoX2dudV9sZCIgPSBubzsgdGhlbgpAQCAtNjkwMiw3ICs2OTA4LDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTk0ODcsMTAgKzEwMDY1LDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NDg3LDEwICsxMDA2NSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtNjkzMCw3ICs2OTM2LDcgQEAKICsJIyBUaGlzIHNob3VsZCBiZSB0aGUgc2FtZSBmb3IgYWxsIGxhbmd1YWdlcywgc28gbm8gcGVyLXRhZyBjYWNoZSB2YXJpYWJsZS4KICsJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIHRoZSAkaG9zdF9vcyBsaW5rZXIgYWNjZXB0cyAtZXhwb3J0ZWRfc3ltYm9sIiA+JjUKICskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkaG9zdF9vcyBsaW5rZXIgYWNjZXB0cyAtZXhwb3J0ZWRfc3ltYm9sLi4uICIgPiY2OyB9Ci0raWYgJHtsdF9jdl9pcml4X2V4cG9ydGVkX3N5bWJvbCs6fSBmYWxzZTsgdGhlbiA6CisraWYgdGVzdCAiJHtsdF9jdl9pcml4X2V4cG9ydGVkX3N5bWJvbCtzZXR9IiA9IHNldDsgdGhlbiA6CiArICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgogK2Vsc2UKICsgIHNhdmVfTERGTEFHUz0iJExERkxBR1MiCkBAIC02OTYwLDcgKzY5NjYsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTY3MCw3ICsxMDI2MSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05NjcwLDcgKzEwMjYxLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTY5NjksNyArNjk3NSw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTk2ODksOSArMTAyODAsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTY4OSw5ICsxMDI4MCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAogICAgICAgIG5vX3VuZGVmaW5lZF9mbGFnPScgLXogZGVmcycKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgogIAl3bGFyYz0nJHt3bH0nCkBAIC03MDc1LDE1ICs3MDgxLDYgQEAKICAgIGhhcmRjb2RlX2ludG9fbGlicz15ZXMKICAgIDs7CiAgCi1AQCAtMTExOTUsNyArMTE4NDUsNyBAQCBlbHNlCi0gICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCi0gICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgotICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxMTE5MyAiY29uZmlndXJlIgotKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKLSAjaW5jbHVkZSAiY29uZmRlZnMuaCIKLSAKLSAjaWYgSEFWRV9ETEZDTl9ICiBAQCAtMTEyMzksMTAgKzExODg5LDEwIEBAIGVsc2UKICAvKiBXaGVuIC1mdmlzYmlsaXR5PWhpZGRlbiBpcyB1c2VkLCBhc3N1bWUgdGhlIGNvZGUgaGFzIGJlZW4gYW5ub3RhdGVkCiAgICAgY29ycmVzcG9uZGluZ2x5IGZvciB0aGUgc3ltYm9scyBuZWVkZWQuICAqLwpAQCAtNzA5NywxNSArNzA5NCw2IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMTMwMSw3ICsxMTk1MSw3IEBAIGVsc2UKLSAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKLSAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCi0gICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotLSNsaW5lIDExMjk5ICJjb25maWd1cmUiCi0rI2xpbmUgJExJTkVOTyAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKIEBAIC0xMTM0NSwxMCArMTE5OTUsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCkBAIC03MTE5LDcgKzcxMDcsNyBAQAogIGludCBtYWluICgpCiAgewogICAgdm9pZCAqc2VsZiA9IGRsb3BlbiAoMCwgTFRfRExHTE9CQUx8TFRfRExMQVpZX09SX05PVyk7Ci1AQCAtMTMzMTQsMTMgKzEzOTY0LDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xMzMxNCwxMyArMTM5NjQsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNzE0MCw3ICs3MTI4LDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEzMzM1LDE0ICsxMzk5MiwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTMzMzUsMTQgKzEzOTkyLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtNzE1OSw3ICs3MTQ3LDcgQEAKICBEU1lNVVRJTD0nYCRFQ0hPICIkRFNZTVVUSUwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIE5NRURJVD0nYCRFQ0hPICIkTk1FRElUIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBMSVBPPSdgJEVDSE8gIiRMSVBPIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzM3NSwxMiArMTQwMzUsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZAorQEAgLTEzMzc1LDEyICsxNDAzNSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcQogIGhhcmRjb2RlX2F1dG9tYXRpYz0nYCRFQ0hPICIkaGFyZGNvZGVfYXV0b21hdGljIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBpbmhlcml0X3JwYXRoPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsaW5rX2FsbF9kZXBsaWJzPSdgJEVDSE8gIiRsaW5rX2FsbF9kZXBsaWJzIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTcyNzMsNyArNzI2MSw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNDQxMyw2ICsxNTEwNCwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTQ0MTMsNiArMTUxMDQsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtNzUzNCw5ICs3NTIyLDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtNzY5NCwxOSArNzY4OCwxNiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKLUluZGV4OiBnaXQvbGQvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbGQvY29uZmlndXJlCi0rKysgZ2l0L2xkL2NvbmZpZ3VyZQorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZSBiL2xkL2NvbmZpZ3VyZQoraW5kZXggYmMwOWU3ZWY4MS4uNDNjMzkxYzJiMyAxMDA3NTUKKy0tLSBhL2xkL2NvbmZpZ3VyZQorKysrIGIvbGQvY29uZmlndXJlCiBAQCAtNjg3LDggKzY4NywxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTc3NTYsNyArNzc0Nyw3IEBACiAgICAgdGVzdCAiWGBwcmludCAtciAtLSAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KICAgIEVDSE89J3ByaW50IC1yIC0tJwogIGVsaWYgdGVzdCAiWGBwcmludGYgJXMgJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCi1AQCAtNjY4Niw4ICs2NjkyLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdQorQEAgLTY2ODYsOCArNjY5Miw4IEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4gIiA+JjY7CiAgIyBUcnkgc29tZSBYU0kgZmVhdHVyZXMKICB4c2lfc2hlbGw9bm8KICAoIF9sdF9kdW1teT0iYS9iL2MiCkBAIC03ODkyLDcgKzc4ODMsNyBAQAogIGZpbGVfbWFnaWNfY21kPSRsdF9jdl9maWxlX21hZ2ljX2NtZAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZAogIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGlic19jaGVja19tZXRob2Q9dW5rbm93bgotQEAgLTcwODksOSArNzE5MCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTcwODksOSArNzE5MCwxNjIgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCiAgCiAgCiAgCkBAIC04MTA1LDcgKzgwOTYsNyBAQAogICAgaWYgdGVzdCAieCRhY19jdF9BUiIgPSB4OyB0aGVuCiAgICAgIEFSPSJmYWxzZSIKICAgIGVsc2UKLUBAIC03MTc3LDEyICs3NDM5LDExIEBAIGFjX3Rvb2xfd2FybmVkPXllcyA7OworQEAgLTcxNzcsMTIgKzc0MzksMTIgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CiAgZXNhYwogICAgICBBUj0kYWNfY3RfQVIKICAgIGZpCkBAIC04MTE4LDEwICs4MTA5LDExIEBACiArOiAke0FSPWFyfQogKzogJHtBUl9GTEFHUz1jcnV9CiArCisrCiAgCiAgCiAgCi1AQCAtNzE5Myw2ICs3NDU0LDYzIEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CitAQCAtNzE5Miw2ICs3NDU0LDYyIEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiAgCiAgCiAgCkBAIC04MTgxLDEwICs4MTczLDkgQEAKICsKICsKICsKLSsKKyAKICAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogQEAgLTc1MjgsOCArNzg0Niw4IEBAIGVzYWMKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFwoLipcKSQvZXh0ZXJuIGludCBcMSgpOy9wJyAtZSAncy9eJHN5bWNvZGUqIC4qIFwoLipcKSQvZXh0ZXJuIGNoYXIgXDE7L3AnIgogIApAQCAtODIzMiw3ICs4MjIzLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03NjQzLDggKzc5NzQsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03NjQzLDggKzc5NzQsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtODI1NCw3ICs4MjQ1LDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTc2OTIsNiArODAyMywxMyBAQCBlbHNlCitAQCAtNzY5Miw2ICs4MDIzLDE5IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC04MjY1LDE4ICs4MjU2LDIzIEBACiArICBubV9maWxlX2xpc3Rfc3BlYz0nQCcKICtmaQogKwotIAotIAotIAotQEAgLTc3MTMsNiArODA1MSw0OCBAQCBmaQotIAotIAotIAogKwogKwogKwogKwogKworKworIAorIAorIAorQEAgLTc3MDgsNiArODA1Miw0MiBAQCBmaQorIAorIAorIAorKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC04MzA5LDE0ICs4MzA1LDkgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9saWJ0b29sX2xvY2s7CisgCisgCisgCiBAQCAtNzkxOSw2ICs4Mjk5LDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCkBAIC04NDk1LDcgKzg0ODYsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC05MjMyLDYgKzk3NDAsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTkyMzIsNiArOTc0MCwxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTg1MDgsNyArODQ5OSw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC05Mjk0LDcgKzk4MDgsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtOTI5NCw3ICs5ODA4LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC04NjY5LDcgKzg2NjAsNyBAQAogIAogICAgICAgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAgICAgICAgIGFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtMTAxMjMsNyArMTA2NjAsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMTIzLDcgKzEwNjYwLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAllbHNlCiAgCSAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4KICAJICMgZW1wdHkgZXhlY3V0YWJsZS4KQEAgLTg3MjcsMTAgKzg3MTgsMTEgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC0xMDE5NiwyMCArMTA3NDYsNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMTk1LDIxICsxMDc0NSw2NCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKKyAgICAgICAjIFdoZW4gbm90IHVzaW5nIGdjYywgd2UgY3VycmVudGx5IGFzc3VtZSB0aGF0IHdlIGFyZSB1c2luZwogICAgICAgICMgTWljcm9zb2Z0IFZpc3VhbCBDKysuCiAgICAgICAgIyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGlzIGFjdHVhbGx5IG1lYW5pbmdsZXNzLCBhcyB0aGVyZSBpcwotICAgICAgICMgbm8gc2VhcmNoIHBhdGggZm9yIERMTHMuCistICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KIC0gICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScgJwogLSAgICAgIGFsbG93X3VuZGVmaW5lZF9mbGFnPXVuc3VwcG9ydGVkCiAtICAgICAgIyBUZWxsIGx0bWFpbiB0byBtYWtlIC5saWIgZmlsZXMsIG5vdCAuYSBmaWxlcy4KQEAgLTg3NDUsNiArODczNyw3IEBACiAtICAgICAgb2xkX2FyY2hpdmVfY21kcz0nbGliIC1PVVQ6JG9sZGxpYiRvbGRvYmpzJG9sZF9kZXBsaWJzJwogLSAgICAgIGZpeF9zcmNmaWxlX3BhdGg9J2BjeWdwYXRoIC13ICIkc3JjZmlsZSJgJwogLSAgICAgIGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXM9eWVzCisrICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KICsgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgogKyAgICAgIGNsKikKICsJIyBOYXRpdmUgTVNWQwpAQCAtODgwNSw3ICs4Nzk4LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTEwMjcwLDcgKzEwODYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMjcwLDcgKzEwODYzLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgICMgRnJlZUJTRCAzIGFuZCBncmVhdGVyIHVzZXMgZ2NjIC1zaGFyZWQgdG8gZG8gc2hhcmVkIGxpYnJhcmllcy4KICAgICAgZnJlZWJzZCogfCBkcmFnb25mbHkqKQpAQCAtODgxNCw3ICs4ODA3LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC0xMDI3OCw3ICsxMDg3MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMDI3OCw3ICsxMDg3MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICBocHV4OSopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KQEAgLTg4MjMsNyArODgxNiw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtMTAyOTQsNyArMTA4ODcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTAyOTQsNyArMTA4ODcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTg4MzIsNyArODgyNSw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC0xMDMxOCwxMCArMTA5MTEsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEwMzE4LDEwICsxMDkxMSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJICBhcmNoaXZlX2NtZHM9JyRDQyAtc2hhcmVkICR7d2x9K2ggJHt3bH0kc29uYW1lIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzJwogIAkgIDs7CiAgCWlhNjQqKQpAQCAtODg5MCw3ICs4ODgzLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTEwNTAxLDcgKzExMTA3LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwNTAxLDcgKzExMTA3LDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTg4OTksNyArODg5Miw3IEBACiAgCWhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LXJwYXRoICR7d2x9JGxpYmRpcicKICAgICAgICBlbHNlCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgLWV4cGVjdF91bnJlc29sdmVkIFwqJwotQEAgLTEwNTIwLDkgKzExMTI2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iagorQEAgLTEwNTIwLDkgKzExMTI2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTkwNjUsNyArOTA1OCw3IEBACiAgICBjb21waWxlcj0kQ0MKICAgIGNvbXBpbGVyX0NYWD0kQ0MKICAgIGZvciBjY190ZW1wIGluICRjb21waWxlciIiOyBkbwotQEAgLTEyODcwLDcgKzEzNTM3LDEzIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWwKK0BAIC0xMjg3MCw3ICsxMzUzNywxMyBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkY29tcGlsZXIgbGlua2VyICgkTEQpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZQogICAgICAgICAgICBhbGxvd191bmRlZmluZWRfZmxhZ19DWFg9Jy1iZXJvaycKICAgICAgICAgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuIGVtcHR5CiAgICAgICAgICAgICMgZXhlY3V0YWJsZS4KQEAgLTkxMjMsNyArOTExNiw3IEBACiAgCiAgICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfQ1hYPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAotQEAgLTEyOTExLDcgKzEzNTkxLDEzIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMjkxMSw3ICsxMzU5MSwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAgICAgZWxzZQogIAkgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC05MTgxLDcgKzkxNzQsNyBAQAogIAogIAkgICAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19DWFg9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgICAjIFdhcm5pbmcgLSB3aXRob3V0IHVzaW5nIHRoZSBvdGhlciBydW4gdGltZSBsb2FkaW5nIGZsYWdzLAotQEAgLTEyOTgyLDI5ICsxMzY3NSw3NSBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTI5ODIsMjkgKzEzNjc1LDc1IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogICAgICAgICAgOzsKICAKICAgICAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopCkBAIC05MjgwLDcgKzkyNzMsNyBAQAogICAgICAgIGRhcndpbiogfCByaGFwc29keSopCiAgCiAgCi1AQCAtMTMxMTAsNyArMTM4NDksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTMxMTAsNyArMTM4NDksNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVuCkBAIC05Mjg5LDcgKzkyODIsNyBAQAogICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICMgRklYTUU6IGluc2VydCBwcm9wZXIgQysrIGxpYnJhcnkgc3VwcG9ydAogICAgICAgICAgICAgICAgbGRfc2hsaWJzX0NYWD1ubwotQEAgLTEzMTgxLDEwICsxMzkyMCwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTMxODEsMTAgKzEzOTIwLDEwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgICAgICAgICBhcmNoaXZlX2NtZHNfQ1hYPSckQ0MgLXNoYXJlZCAtbm9zdGRsaWIgLWZQSUMgJHt3bH0raCAke3dsfSRzb25hbWUgLW8gJGxpYiAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MnCiAgCSAgICAgICAgICAgIDs7CiAgCSAgICAgICAgICBpYTY0KikKQEAgLTkzMDIsNyArOTI5NSw3IEBACiAgCSAgICAgICAgICAgIDs7CiAgCSAgICAgICAgZXNhYwogIAkgICAgICBmaQotQEAgLTEzMjI1LDkgKzEzOTY0LDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTEzMjI1LDkgKzEzOTY0LDkgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgICAgICopCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllczsgdGhlbgogIAkgICAgICBpZiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTkzMTQsNyArOTMwNyw3IEBACiAgCSAgICAgIGZpCiAgCSAgICBmaQogIAkgICAgbGlua19hbGxfZGVwbGlic19DWFg9eWVzCi1AQCAtMTMyOTcsMjAgKzE0MDM2LDIwIEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzI5NywyMCArMTQwMzYsMjAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgICAgIHByZWxpbmtfY21kc19DWFg9J3RwbGRpcj1UZW1wbGF0ZS5kaXJ+CiAgCQlybSAtcmYgJHRwbGRpcn4KICAJCSRDQyAtLXByZWxpbmtfb2JqZWN0cyAtLWluc3RhbnRpYXRpb25fZGlyICR0cGxkaXIgJG9ianMgJGxpYm9ianMgJGNvbXBpbGVfZGVwbGlic34KQEAgLTkzMzksNyArOTMzMiw3IEBACiAgCSAgICAgIDs7CiAgCSAgICAqKSAjIFZlcnNpb24gNiBhbmQgYWJvdmUgdXNlIHdlYWsgc3ltYm9scwogIAkgICAgICBhcmNoaXZlX2NtZHNfQ1hYPSckQ0MgLXNoYXJlZCAkcGljX2ZsYWcgJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAke3dsfSRzb25hbWUgLW8gJGxpYicKLUBAIC0xMzUwNSw3ICsxNDI0NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzUwNSw3ICsxNDI0NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgICAgICAgYXJjaGl2ZV9jbWRzX0NYWD0nJENDIC1zaGFyZWQgLW5vc3RkbGliICR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9ICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncyAke3dsfS1zb25hbWUgJHt3bH0kc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICIke3dsfS1zZXRfdmVyc2lvbiAke3dsfSR2ZXJzdHJpbmciYCAke3dsfS11cGRhdGVfcmVnaXN0cnkgJHt3bH0ke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtbyAkbGliJwogIAkJICA7OwogIAkgICAgICAgICopCkBAIC05MzQ4LDcgKzkzNDEsNyBAQAogIAkJICA7OwogIAkgICAgICBlc2FjCiAgCi1AQCAtMTM1NTEsNyArMTQyOTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtMTM1NTEsNyArMTQyOTAsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgICBzb2xhcmlzKikKICAgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC05MzU3LDcgKzkzNTAsNyBAQAogIAkgICAgIyBTdW4gQysrIDQuMiwgNS54IGFuZCBDZW50ZXJsaW5lIEMrKwogICAgICAgICAgICAgIGFyY2hpdmVfY21kc19uZWVkX2xjX0NYWD15ZXMKICAJICAgIG5vX3VuZGVmaW5lZF9mbGFnX0NYWD0nIC16ZGVmcycKLUBAIC0xMzU5Miw5ICsxNDMzMSw5IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC0xMzU5Miw5ICsxNDMzMSw5IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAkgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCiAgCSAgICAgIG5vX3VuZGVmaW5lZF9mbGFnX0NYWD0nICR7d2x9LXogJHt3bH1kZWZzJwogIAkgICAgICBpZiAkQ0MgLS12ZXJzaW9uIHwgJEdSRVAgLXYgJ14yXC43JyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtOTM4Myw3ICs5Mzc2LDcgQEAKICBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuby0kTElORU5PfTogXCIkYWNfY29tcGlsZVwiIjsgfSA+JjUKICAgIChldmFsICRhY19jb21waWxlKSAyPiY1CiAgICBhY19zdGF0dXM9JD8KLUBAIC0xMzc0Miw3ICsxNDQ4OCw3IEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW4KK0BAIC0xMzc0Miw3ICsxNDQ4OCw3IEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogICAgcHJlX3Rlc3Rfb2JqZWN0X2RlcHNfZG9uZT1ubwogIAogICAgZm9yIHAgaW4gYGV2YWwgIiRvdXRwdXRfdmVyYm9zZV9saW5rX2NtZCJgOyBkbwpAQCAtOTM5Miw3ICs5Mzg1LDcgQEAKICAKICAgICAgLUwqIHwgLVIqIHwgLWwqKQogICAgICAgICAjIFNvbWUgY29tcGlsZXJzIHBsYWNlIHNwYWNlIGJldHdlZW4gIi17TCxSfSIgYW5kIHRoZSBwYXRoLgotQEAgLTEzNzUxLDEzICsxNDQ5NywyMiBAQCBpZiB7IHsgZXZhbCBlY2hvICJcIlwkYXNfbWVcIjoke2FzX2xpbmVuCitAQCAtMTM3NTEsMTMgKzE0NDk3LDIyIEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogICAgICAgICAgICB0ZXN0ICRwID0gIi1SIjsgdGhlbgogIAkgcHJldj0kcAogIAkgY29udGludWUKQEAgLTk0MTksNyArOTQxMiw3IEBACiAgCSAgICMgSW50ZXJuYWwgY29tcGlsZXIgbGlicmFyeSBwYXRocyBzaG91bGQgY29tZSBhZnRlciB0aG9zZQogIAkgICAjIHByb3ZpZGVkIHRoZSB1c2VyLiAgVGhlIHBvc3RkZXBzIGFscmVhZHkgY29tZSBhZnRlciB0aGUKICAJICAgIyB1c2VyIHN1cHBsaWVkIGxpYnMgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBwcm9jZXNzIHRoZW0uCi1AQCAtMTM3NzcsOCArMTQ1MzIsMTAgQEAgaWYgeyB7IGV2YWwgZWNobyAiXCJcJGFzX21lXCI6JHthc19saW5lbgorQEAgLTEzNzc3LDggKzE0NTMyLDEwIEBAIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19jb21waWxlXCIiOyB9ID4mNQogIAkgICBwb3N0ZGVwc19DWFg9IiR7cG9zdGRlcHNfQ1hYfSAke3ByZXZ9JHtwfSIKICAJIGZpCiAgICAgICAgIGZpCkBAIC05NDU2LDcgKzk0NDksNyBAQAogIAogICAgIyBDKysgc3BlY2lmaWMgY2FzZXMgZm9yIHBpYywgc3RhdGljLCB3bCwgZXRjLgogICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KLUBAIC0xNDAyMCw2ICsxNDc3NiwxMSBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtMTQwMjAsNiArMTQ3NzYsMTEgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJICA7OwogIAllc2FjCiAgCTs7CkBAIC05NDY4LDcgKzk0NjEsNyBAQAogICAgICAgIGRndXgqKQogIAljYXNlICRjY19iYXNlbmFtZSBpbgogIAkgIGVjKysqKQotQEAgLTE0MTcyLDcgKzE0OTMzLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTE0MTcyLDcgKzE0OTMzLDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJOzsKICAgICAgICBzb2xhcmlzKikKICAJY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTk1MTUsNyArOTUwOCw3IEBACiAgICBjYXNlICRob3N0X29zIGluCiAgICBhaXhbNC05XSopCiAgICAgICMgSWYgd2UncmUgdXNpbmcgR05VIG5tLCB0aGVuIHdlIGRvbid0IHdhbnQgdGhlICItQyIgb3B0aW9uLgotQEAgLTE0NDg5LDE1ICsxNTI2MCwyMCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSAkY29tcGlsCitAQCAtMTQ0ODksMTUgKzE1MjYwLDIwIEBAICRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgdGhlICRjb21waWxlciBsaW5rZXIgKCRMRCkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllCiAgICAgIDs7CiAgICBwdzMyKikKICAgICAgZXhwb3J0X3N5bWJvbHNfY21kc19DWFg9IiRsdGRsbF9jbWRzIgpAQCAtOTY0Myw3ICs5NjM2LDcgQEAKICAgIExEQ1hYPSRMRAogICAgTEQ9JGx0X3NhdmVfTEQKICAgIEdDQz0kbHRfc2F2ZV9HQ0MKLUBAIC0xODQ0NCwxMyArMTkyODAsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5XworQEAgLTE4NDQ0LDEzICsxOTI4MCwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfdW5zZXQ9J2AkRUNITyAiJGx0X3Vuc2V0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9TUDJOTD0nYCRFQ0hPICIkbHRfU1AyTkwiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X05MMlNQPSdgJEVDSE8gIiRsdF9OTDJTUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05NjY0LDcgKzk2NTcsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTg0NjUsMTQgKzE5MzA4LDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xODQ2NSwxNCArMTkzMDgsMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC05NjgzLDcgKzk2NzYsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE4NTA1LDEyICsxOTM1MSwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTg1MDUsMTIgKzE5MzUxLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtOTY5Nyw3ICs5NjkwLDcgQEAKICBmaWxlX2xpc3Rfc3BlYz0nYCRFQ0hPICIkZmlsZV9saXN0X3NwZWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdgJEVDSE8gIiR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbmVlZF9saWJfcHJlZml4PSdgJEVDSE8gIiRuZWVkX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTE4NTQ5LDggKzE5Mzk1LDggQEAgb2xkX2FyY2hpdmVfY21kc19DWFg9J2AkRUNITyAiJG9sZF9hcmNoaQorQEAgLTE4NTQ5LDggKzE5Mzk1LDggQEAgb2xkX2FyY2hpdmVfY21kc19DWFg9J2AkRUNITyAiJG9sZF9hcmNoaXZlX2NtZHNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGUKICBjb21waWxlcl9DWFg9J2AkRUNITyAiJGNvbXBpbGVyX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgR0NDX0NYWD0nYCRFQ0hPICIkR0NDX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfcHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWdfQ1hYPSdgJEVDSE8gIiRsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZ19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtOTcwNyw3ICs5NzAwLDcgQEAKICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19DWFg9J2AkRUNITyAiJGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYPSdgJEVDSE8gIiRsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGFyY2hpdmVfY21kc19uZWVkX2xjX0NYWD0nYCRFQ0hPICIkYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xODU3NywxMiArMTk0MjMsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFg9J2AkRUNITyAiJGhhcgorQEAgLTE4NTc3LDEyICsxOTQyMywxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWD0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFgiIHwgJFNFRCAiJGRlbGF5XwogIGhhcmRjb2RlX2F1dG9tYXRpY19DWFg9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpY19DWFgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGhfQ1hYPSdgJEVDSE8gIiRpbmhlcml0X3JwYXRoX0NYWCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlic19DWFg9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnNfQ1hYIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTk4NDksNyArOTg0Miw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xOTY4NCw2ICsyMDU2MSwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTk2ODQsNiArMjA1NjEsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTAxMTAsOSArMTAxMDMsMTUgQEAKIC1fTFRfRU9GCiAtICAgIDs7CiAtICBlc2FjCistCistCistICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCistICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCistCistICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiArICBzZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiArICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQotIAorKwogKyAgaWYgdGVzdCB4IiR4c2lfc2hlbGwiID0geHllczsgdGhlbgogKyAgc2VkIC1lICcvXmZ1bmNfZGlybmFtZSAoKSQvLC9efSAjIGZ1bmNfZGlybmFtZSAvY1wKICtmdW5jX2Rpcm5hbWUgKClcCkBAIC0xMDI3MCwxMSArMTAyNjksOCBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKQEAgLTEwMzE1LDEwICsxMDMxMSwxMCBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlY19DWFgKICAKLUluZGV4OiBnaXQvbGlidG9vbC5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2xpYnRvb2wubTQKLSsrKyBnaXQvbGlidG9vbC5tNAorZGlmZiAtLWdpdCBhL2xpYnRvb2wubTQgYi9saWJ0b29sLm00CitpbmRleCA0MzQ1MzAwNTlmLi5lNDVmZGM2OTk4IDEwMDY0NAorLS0tIGEvbGlidG9vbC5tNAorKysrIGIvbGlidG9vbC5tNAogQEAgLTEsNyArMSw4IEBACiAgIyBsaWJ0b29sLm00IC0gQ29uZmlndXJlIGxpYnRvb2wgZm9yIHRoZSBob3N0IHN5c3RlbS4gLSotQXV0b2NvbmYtKi0KICAjCkBAIC0xMDM1OCw3ICsxMDM1NCw3IEBACiAgQUNfU1VCU1QoTElCVE9PTClkbmwKICAKICBfTFRfU0VUVVAKLUBAIC0xNjYsMTAgKzE2OSwxMyBAQCBfTFRfREVDTChbXSwgW2V4ZWV4dF0sIFswXSwgW0V4ZWN1dGFibGUKK0BAIC0xNjYsMTAgKzE2OSwxMyBAQCBfTFRfREVDTChbXSwgW2V4ZWV4dF0sIFswXSwgW0V4ZWN1dGFibGUgZmlsZSBzdWZmaXggKG5vcm1hbGx5ICIiKV0pZG5sCiAgZG5sCiAgbTRfcmVxdWlyZShbX0xUX0ZJTEVVVElMU19ERUZBVUxUU10pZG5sCiAgbTRfcmVxdWlyZShbX0xUX0NIRUNLX1NIRUxMX0ZFQVRVUkVTXSlkbmwKQEAgLTEwMzgxLDcgKzEwMzc3LDcgQEAKICBjYW5fYnVpbGRfc2hhcmVkPXllcwogIAogICMgQWxsIGtub3duIGxpbmtlcnMgcmVxdWlyZSBhIGAuYScgYXJjaGl2ZSBmb3Igc3RhdGljIGxpbmtpbmcgKGV4Y2VwdCBNU1ZDLAotQEAgLTYzMiw3ICs2MzgsNyBAQCBtNF9pZnNldChbQUNfUEFDS0FHRV9OQU1FXSwgW0FDX1BBQ0tBR0VfCitAQCAtNjMyLDcgKzYzOCw3IEBAIG00X2lmc2V0KFtBQ19QQUNLQUdFX05BTUVdLCBbQUNfUEFDS0FHRV9OQU1FIF0pY29uZmlnLmx0W11kbmwKICBtNF9pZnNldChbQUNfUEFDS0FHRV9WRVJTSU9OXSwgWyBBQ19QQUNLQUdFX1ZFUlNJT05dKQogIGNvbmZpZ3VyZWQgYnkgJFswXSwgZ2VuZXJhdGVkIGJ5IG00X1BBQ0tBR0VfU1RSSU5HLgogIApAQCAtMTA0ODYsNyArMTA0ODIsNyBAQAogICAgIHRlc3QgIlhgcHJpbnQgLXIgLS0gJEVDSE8gMj4vZGV2L251bGxgIiA9ICJYJEVDSE8iOyB0aGVuCiAgICBFQ0hPPSdwcmludCAtciAtLScKICBlbGlmIHRlc3QgIlhgcHJpbnRmICVzICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgotQEAgLTExNjEsNiArMTE3NywzOSBAQCBfTFRfREVDTChbXSwgW0VDSE9dLCBbMV0sIFtBbiBlY2hvIHByb2dyCitAQCAtMTE2MSw2ICsxMTc3LDM5IEBAIF9MVF9ERUNMKFtdLCBbRUNIT10sIFsxXSwgW0FuIGVjaG8gcHJvZ3JhbSB0aGF0IHByb3RlY3RzIGJhY2tzbGFzaGVzXSkKICBdKSMgX0xUX1BST0dfRUNIT19CQUNLU0xBU0gKICAKICAKQEAgLTEwNzM5LDcgKzEwNzM1LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC0zMTc0LDcgKzMzMzYsMTEgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaQorQEAgLTMxNzQsNyArMzMzNiwxMSBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICBfTFRfREVDTChbXSwgW2RlcGxpYnNfY2hlY2tfbWV0aG9kXSwgWzFdLAogICAgICBbTWV0aG9kIHRvIGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVkIG9iamVjdHNdKQogIF9MVF9ERUNMKFtdLCBbZmlsZV9tYWdpY19jbWRdLCBbMV0sCkBAIC0xMDg2Nyw3ICsxMDg2Myw3IEBACiAgICBjb25zdCBjaGFyICpuYW1lOwogICAgdm9pZCAgICAgICAqYWRkcmVzczsKICB9Ci1AQCAtMzUxMCwxNSArMzc1MCwxNSBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC0zNTEwLDE1ICszNzUwLDE1IEBAIHN0YXRpYyBjb25zdCB2b2lkICpsdF9wcmVsb2FkZWRfc2V0dXAoKSB7CiAgX0xUX0VPRgogIAkgICMgTm93IHRyeSBsaW5raW5nIHRoZSB0d28gZmlsZXMuCiAgCSAgbXYgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdHN0bS4kYWNfb2JqZXh0CkBAIC0xMDkwMSw3ICsxMDg5Nyw3IEBACiAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfcGlwZV0sIFtsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlXSwgWzFdLAogICAgICBbVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBwcm9kdWNlIGEgbGlzdGluZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lc10pCiAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY2RlY2xdLCBbbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2xdLCBbMV0sCi1AQCAtMzU2MSw2ICszODA4LDggQEAgX0xUX0RFQ0woW2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlcworQEAgLTM1NjEsNiArMzgwOCw4IEBAIF9MVF9ERUNMKFtnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzXSwKICBfTFRfREVDTChbZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4XSwKICAgICAgW2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXhdLCBbMV0sCiAgICAgIFtUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZF0pCkBAIC0xMDk4Niw3ICsxMDk4Miw3IEBACiAgIwogICMgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBzdGF0aWMgZmxhZyBhY3R1YWxseSB3b3Jrcy4KICAjCi1AQCAtNDIxMyw2ICs0NDc3LDcgQEAgX0xUX1RBR0RFQ0woW2xpbmtfc3RhdGljX2ZsYWddLCBbbHRfcHJvZworQEAgLTQyMTMsNiArNDQ3Nyw3IEBAIF9MVF9UQUdERUNMKFtsaW5rX3N0YXRpY19mbGFnXSwgW2x0X3Byb2dfY29tcGlsZXJfc3RhdGljXSwgWzFdLAogIG00X2RlZnVuKFtfTFRfTElOS0VSX1NITElCU10sCiAgW0FDX1JFUVVJUkUoW0xUX1BBVEhfTERdKWRubAogIEFDX1JFUVVJUkUoW0xUX1BBVEhfTk1dKWRubApAQCAtMTEzMDgsNyArMTEzMDQsNyBAQAogIGlmIHRlc3QgLW4gIiRDWFgiICYmICggdGVzdCAiWCRDWFgiICE9ICJYbm8iICYmCiAgICAgICggKHRlc3QgIlgkQ1hYIiA9ICJYZysrIiAmJiBgZysrIC12ID4vZGV2L251bGwgMj4mMWAgKSB8fAogICAgICAodGVzdCAiWCRDWFgiICE9ICJYZysrIikpKSA7IHRoZW4KLUBAIC01NDg3LDYgKzU4MTgsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NDg3LDYgKzU4MTgsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogIAogICAgIyBBbGxvdyBDQyB0byBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3VtZW50cy4KICAgIGx0X3NhdmVfQ0M9JENDCkBAIC0xMTMxNiw3ICsxMTMxMiw3IEBACiAgICBsdF9zYXZlX0xEPSRMRAogICAgbHRfc2F2ZV9HQ0M9JEdDQwogICAgR0NDPSRHWFgKLUBAIC01NTA0LDYgKzU4MzYsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NTA0LDYgKzU4MzYsNyBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgZmkKICAgIHRlc3QgLXogIiR7TERDWFgrc2V0fSIgfHwgTEQ9JExEQ1hYCiAgICBDQz0ke0NYWC0iYysrIn0KQEAgLTExMzI0LDcgKzExMzIwLDcgQEAKICAgIGNvbXBpbGVyPSRDQwogICAgX0xUX1RBR1ZBUihjb21waWxlciwgJDEpPSRDQwogICAgX0xUX0NDX0JBU0VOQU1FKFskY29tcGlsZXJdKQotQEAgLTU2NjcsNyArNjAwMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTU2NjcsNyArNjAwMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICAgICAgICAgIF9MVF9UQUdWQVIoYWxsb3dfdW5kZWZpbmVkX2ZsYWcsICQxKT0nLWJlcm9rJwogICAgICAgICAgICAjIERldGVybWluZSB0aGUgZGVmYXVsdCBsaWJwYXRoIGZyb20gdGhlIHZhbHVlIGVuY29kZWQgaW4gYW4gZW1wdHkKICAgICAgICAgICAgIyBleGVjdXRhYmxlLgpAQCAtMTEzMzMsNyArMTEzMjksNyBAQAogICAgICAgICAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAKICAgICAgICAgICAgX0xUX1RBR1ZBUihhcmNoaXZlX2V4cHN5bV9jbWRzLCAkMSk9JyRDQyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICRsaWJvYmpzICRkZXBsaWJzICciXCR7d2x9JG5vX2VudHJ5X2ZsYWciJyAkY29tcGlsZXJfZmxhZ3MgYGlmIHRlc3QgIngke2FsbG93X3VuZGVmaW5lZF9mbGFnfSIgIT0gIngiOyB0aGVuIGZ1bmNfZWNob19hbGwgIiR7d2x9JHthbGxvd191bmRlZmluZWRfZmxhZ30iOyBlbHNlIDo7IGZpYCAnIlwke3dsfSRleHBfc3ltX2ZsYWc6XCRleHBvcnRfc3ltYm9scyAkc2hhcmVkX2ZsYWciCi1AQCAtNTY3OSw3ICs2MDEyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNTY3OSw3ICs2MDEyLDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgICAgZWxzZQogIAkgICAgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAgICAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0xMTM0Miw3ICsxMTMzOCw3IEBACiAgCSAgICBfTFRfVEFHVkFSKGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMsICQxKT0nJHt3bH0tYmxpYnBhdGg6JGxpYmRpcjonIiRhaXhfbGlicGF0aCIKICAJICAgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCiAgCSAgICAjIC1iZXJvayB3aWxsIGxpbmsgd2l0aG91dCBlcnJvciwgYnV0IG1heSBwcm9kdWNlIGEgYnJva2VuIGxpYnJhcnkuCi1AQCAtNTcyMSwyOSArNjA1NCw3NSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01NzIxLDI5ICs2MDU0LDc1IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICAgICAgICA7OwogIAogICAgICAgIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKQEAgLTExNDQxLDcgKzExNDM3LDcgQEAKICAgICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQogICAgICAgICAgX0xUX0RBUldJTl9MSU5LRVJfRkVBVFVSRVMoJDEpCiAgCTs7Ci1AQCAtNTgxOCw3ICs2MTk3LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7CitAQCAtNTgxOCw3ICs2MTk3LDcgQEAgaWYgdGVzdCAiJF9sdF9jYXVnaHRfQ1hYX2Vycm9yIiAhPSB5ZXM7IHRoZW4KICAgICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVuCkBAIC0xMTQ1MCw3ICsxMTQ0Niw3IEBACiAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIyBGSVhNRTogaW5zZXJ0IHByb3BlciBDKysgbGlicmFyeSBzdXBwb3J0CiAgICAgICAgICAgICAgICBfTFRfVEFHVkFSKGxkX3NobGlicywgJDEpPW5vCi1AQCAtNTg4OSwxMCArNjI2OCwxMCBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01ODg5LDEwICs2MjY4LDEwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkIC1ub3N0ZGxpYiAtZlBJQyAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9vYmplY3RzICRjb21waWxlcl9mbGFncycKICAJICAgICAgICAgICAgOzsKICAJICAgICAgICAgIGlhNjQqKQpAQCAtMTE0NjMsNyArMTE0NTksNyBAQAogIAkgICAgICAgICAgICA7OwogIAkgICAgICAgIGVzYWMKICAJICAgICAgZmkKLUBAIC01OTMzLDkgKzYzMTIsOSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC01OTMzLDkgKzYzMTIsOSBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsgdGhlbgogICAgICAgICAgICAqKQogIAkgICAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4KICAJICAgICAgaWYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC0xMTQ3NSw3ICsxMTQ3MSw3IEBACiAgCSAgICAgIGZpCiAgCSAgICBmaQogIAkgICAgX0xUX1RBR1ZBUihsaW5rX2FsbF9kZXBsaWJzLCAkMSk9eWVzCi1AQCAtNjAwNSwyMCArNjM4NCwyMCBAQCBpZiB0ZXN0ICIkX2x0X2NhdWdodF9DWFhfZXJyb3IiICE9IHllczsKK0BAIC02MDA1LDIwICs2Mzg0LDIwIEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgIF9MVF9UQUdWQVIocHJlbGlua19jbWRzLCAkMSk9J3RwbGRpcj1UZW1wbGF0ZS5kaXJ+CiAgCQlybSAtcmYgJHRwbGRpcn4KICAJCSRDQyAtLXByZWxpbmtfb2JqZWN0cyAtLWluc3RhbnRpYXRpb25fZGlyICR0cGxkaXIgJG9ianMgJGxpYm9ianMgJGNvbXBpbGVfZGVwbGlic34KQEAgLTExNTAwLDcgKzExNDk2LDcgQEAKICAJICAgICAgOzsKICAJICAgICopICMgVmVyc2lvbiA2IGFuZCBhYm92ZSB1c2Ugd2VhayBzeW1ib2xzCiAgCSAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzLCAkMSk9JyRDQyAtc2hhcmVkICRwaWNfZmxhZyAkcHJlZGVwX29iamVjdHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGlsZXJfZmxhZ3MgJHt3bH0tc29uYW1lICR7d2x9JHNvbmFtZSAtbyAkbGliJwotQEAgLTYyMTMsNyArNjU5Miw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYyMTMsNyArNjU5Miw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICAgICAgICBfTFRfVEFHVkFSKGFyY2hpdmVfY21kcywgJDEpPSckQ0MgLXNoYXJlZCAtbm9zdGRsaWIgJHthbGxvd191bmRlZmluZWRfZmxhZ30gJHByZWRlcF9vYmplY3RzICRsaWJvYmpzICRkZXBsaWJzICRwb3N0ZGVwX29iamVjdHMgJGNvbXBpbGVyX2ZsYWdzICR7d2x9LXNvbmFtZSAke3dsfSRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIiR7d2x9LXNldF92ZXJzaW9uICR7d2x9JHZlcnN0cmluZyJgICR7d2x9LXVwZGF0ZV9yZWdpc3RyeSAke3dsfSR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCQkgIDs7CiAgCSAgICAgICAgKikKQEAgLTExNTA5LDcgKzExNTA1LDcgQEAKICAJCSAgOzsKICAJICAgICAgZXNhYwogIAotQEAgLTYyNTksNyArNjYzOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYyNTksNyArNjYzOCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCiAgICAgICAgc29sYXJpcyopCiAgICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgpAQCAtMTE1MTgsNyArMTE1MTQsNyBAQAogIAkgICAgIyBTdW4gQysrIDQuMiwgNS54IGFuZCBDZW50ZXJsaW5lIEMrKwogICAgICAgICAgICAgIF9MVF9UQUdWQVIoYXJjaGl2ZV9jbWRzX25lZWRfbGMsJDEpPXllcwogIAkgICAgX0xUX1RBR1ZBUihub191bmRlZmluZWRfZmxhZywgJDEpPScgLXpkZWZzJwotQEAgLTYzMDAsOSArNjY3OSw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTYzMDAsOSArNjY3OSw5IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgCSAgICBpZiB0ZXN0ICIkR1hYIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KICAJICAgICAgX0xUX1RBR1ZBUihub191bmRlZmluZWRfZmxhZywgJDEpPScgJHt3bH0teiAke3dsfWRlZnMnCiAgCSAgICAgIGlmICRDQyAtLXZlcnNpb24gfCAkR1JFUCAtdiAnXjJcLjcnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0xMTUzMCw3ICsxMTUyNiw3IEBACiAgCiAgCSAgICAgICAgIyBDb21tYW5kcyB0byBtYWtlIGNvbXBpbGVyIHByb2R1Y2UgdmVyYm9zZSBvdXRwdXQgdGhhdCBsaXN0cwogIAkgICAgICAgICMgd2hhdCAiaGlkZGVuIiBsaWJyYXJpZXMsIG9iamVjdCBmaWxlcyBhbmQgZmxhZ3MgYXJlIHVzZWQgd2hlbgotQEAgLTY0MzEsNiArNjgxMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOworQEAgLTY0MzEsNiArNjgxMCw3IEBAIGlmIHRlc3QgIiRfbHRfY2F1Z2h0X0NYWF9lcnJvciIgIT0geWVzOyB0aGVuCiAgICBmaSAjIHRlc3QgLW4gIiRjb21waWxlciIKICAKICAgIENDPSRsdF9zYXZlX0NDCkBAIC0xMTczOCw3ICsxMTczNCw3IEBACiAgXSkjIF9MVF9MQU5HX1JDX0NPTkZJRwogIAogIAotQEAgLTcxMDEsNiArNzUzNiwxNSBAQCBfTFRfREVDTChbXSwgW09CSkRVTVBdLCBbMV0sIFtBbiBvYmplY3QKK0BAIC03MTAxLDYgKzc1MzYsMTUgQEAgX0xUX0RFQ0woW10sIFtPQkpEVU1QXSwgWzFdLCBbQW4gb2JqZWN0IHN5bWJvbCBkdW1wZXJdKQogIEFDX1NVQlNUKFtPQkpEVU1QXSkKICBdKQogIApAQCAtMTE3NjUsNyArMTE3NjEsNyBAQAogICAgICAmJiBldmFsICd0ZXN0ICQoKCAxICsgMSApKSAtZXEgMiBcCiAgICAgICYmIHRlc3QgIiR7I19sdF9kdW1teX0iIC1lcSA1JyApID4vZGV2L251bGwgMj4mMSBcCiAgICAmJiB4c2lfc2hlbGw9eWVzCi1AQCAtNzIzNCwyMDYgKzc2NzgsMTYyIEBAIF9MVF9ERUNMKFtOTDJTUF0sIFtsdF9OTDJTUF0sIFsxXSwgW3R1cm4KK0BAIC03MjM0LDIwNiArNzY3OCwxNjIgQEAgX0xUX0RFQ0woW05MMlNQXSwgW2x0X05MMlNQXSwgWzFdLCBbdHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlc10pZG5sCiAgXSkjIF9MVF9DSEVDS19TSEVMTF9GRUFUVVJFUwogIAogIApAQCAtMTE4NjMsMzEgKzExODU5LDYgQEAKIC17CiAtICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX0KIC19Ci0tCi0tX0xUX0VPRgotLSAgICA7OwotLSAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCi0tICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCi0tCi0tIyBmdW5jX2Rpcm5hbWUgZmlsZSBhcHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50Ci0tIyBDb21wdXRlIHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVORCB0byB0aGUgcmVzdWx0LAotLSMgb3RoZXJ3aXNlIHNldCByZXN1bHQgdG8gTk9ORElSX1JFUExBQ0VNRU5ULgotLWZ1bmNfZGlybmFtZSAoKQotLXsKLS0gICMgRXh0cmFjdCBzdWJkaXJlY3RvcnkgZnJvbSB0aGUgYXJndW1lbnQuCi0tICBmdW5jX2Rpcm5hbWVfcmVzdWx0PWAkRUNITyAiJHsxfSIgfCAkU0VEICIkZGlybmFtZSJgCi0tICBpZiB0ZXN0ICJYJGZ1bmNfZGlybmFtZV9yZXN1bHQiID0gIlgkezF9IjsgdGhlbgotLSAgICBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezN9IgotLSAgZWxzZQotLSAgICBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkZnVuY19kaXJuYW1lX3Jlc3VsdCR7Mn0iCi0tICBmaQotLX0KLS0KLS0jIGZ1bmNfYmFzZW5hbWUgZmlsZQotLWZ1bmNfYmFzZW5hbWUgKCkKLS17Ci0tICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7MX0iIHwgJFNFRCAiJGJhc2VuYW1lImAKLS19CiArIyBfTFRfUFJPR19GVU5DVElPTl9SRVBMQUNFIChGVU5DTkFNRSwgUkVQTEFDRU1FTlQtQk9EWSkKICsjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKyMgSW4gYCRjZmdmaWxlJywgbG9vayBmb3IgZnVuY3Rpb24gRlVOQ05BTUUgZGVsaW1pdGVkIGJ5IGBeRlVOQ05BTUUgKCkkJyBhbmQKQEAgLTExOTA0LDIyICsxMTg3NSwyMyBAQAogK3Rlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CiArXSkKICAKLS1kbmwgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZQotLWRubCBBIHBvcnRhYmxlIHZlcnNpb24gb2YgdGhpcyBmdW5jdGlvbiBpcyBhbHJlYWR5IGRlZmluZWQgaW4gZ2VuZXJhbC5tNHNoCi0tZG5sIHNvIHRoZXJlIGlzIG5vIG5lZWQgZm9yIGl0IGhlcmUuCistX0xUX0VPRgorLSAgICA7OworLSAgKikgIyBCb3VybmUgY29tcGF0aWJsZSBmdW5jdGlvbnMuCistICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiAgCi0tIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3VmZml4IG5hbWUKLS0jIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBvZiBOQU1FLgotLSMgUFJFRklYIGFuZCBTVUZGSVggbXVzdCBub3QgY29udGFpbiBnbG9iYmluZyBvciByZWdleCBzcGVjaWFsCi0tIyBjaGFyYWN0ZXJzLCBoYXNoZXMsIHBlcmNlbnQgc2lnbnMsIGJ1dCBTVUZGSVggbWF5IGNvbnRhaW4gYSBsZWFkaW5nCi0tIyBkb3QgKGluIHdoaWNoIGNhc2UgdGhhdCBtYXRjaGVzIG9ubHkgYSBkb3QpLgotLSMgZnVuY19zdHJpcF9zdWZmaXggcHJlZml4IG5hbWUKLS1mdW5jX3N0cmlwbmFtZSAoKQorLSMgZnVuY19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAorLSMgQ29tcHV0ZSB0aGUgZGlybmFtZSBvZiBGSUxFLiAgSWYgbm9uZW1wdHksIGFkZCBBUFBFTkQgdG8gdGhlIHJlc3VsdCwKKy0jIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KKy1mdW5jX2Rpcm5hbWUgKCkKIC17Ci0tICBjYXNlICR7Mn0gaW4KLS0gICAgLiopIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJVxcXFwkezJ9XCQlJSJgOzsKLS0gICAgKikgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJSR7Mn1cJCUlImA7OwotLSAgZXNhYworLSAgIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KKy0gIGZ1bmNfZGlybmFtZV9yZXN1bHQ9YCRFQ0hPICIkezF9IiB8ICRTRUQgIiRkaXJuYW1lImAKKy0gIGlmIHRlc3QgIlgkZnVuY19kaXJuYW1lX3Jlc3VsdCIgPSAiWCR7MX0iOyB0aGVuCistICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iCistICBlbHNlCistICAgIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0JHsyfSIKKy0gIGZpCiAtfQogKyMgX0xUX1BST0dfUkVQTEFDRV9TSEVMTEZOUwogKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTE5NDMsMjQgKzExOTE1LDQ1IEBACiArICAgIGVzYWMKICsgICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7MSMjKi99Il0pCiAgCi0tIyBzZWQgc2NyaXB0czoKLS1teV9zZWRfbG9uZ19vcHQ9JzFzL15cKC1bW149XV0qXCk9LiovXDEvO3EnCi0tbXlfc2VkX2xvbmdfYXJnPScxcy9eLVtbXj1dXSo9Ly8nCistIyBmdW5jX2Jhc2VuYW1lIGZpbGUKKy1mdW5jX2Jhc2VuYW1lICgpCisteworLSAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9YCRFQ0hPICIkezF9IiB8ICRTRUQgIiRiYXNlbmFtZSJgCistfQogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19zdHJpcG5hbWVdLCBbZG5sCiArICAgICMgcGRrc2ggNS4yLjE0IGRvZXMgbm90IGRvICR7WCUkWX0gY29ycmVjdGx5IGlmIGJvdGggWCBhbmQgWSBhcmUKICsgICAgIyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIHNvIGFzc2lnbiBvbmUgdG8gb3JkaW5hcnkgcGFyYW1ldGVyIGZpcnN0LgogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHszfQogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlwbmFtZV9yZXN1bHQjIiR7MX0ifQogKyAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlwbmFtZV9yZXN1bHQlIiR7Mn0ifV0pCi0rCisgCistZG5sIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUKKy1kbmwgQSBwb3J0YWJsZSB2ZXJzaW9uIG9mIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkIGluIGdlbmVyYWwubTRzaAorLWRubCBzbyB0aGVyZSBpcyBubyBuZWVkIGZvciBpdCBoZXJlLgogKyAgX0xUX1BST0dfRlVOQ1RJT05fUkVQTEFDRShbZnVuY19zcGxpdF9sb25nX29wdF0sIFtkbmwKICsgICAgZnVuY19zcGxpdF9sb25nX29wdF9uYW1lPSR7MSUlPSp9CiArICAgIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnPSR7MSMqPX1dKQotKworIAorLSMgZnVuY19zdHJpcG5hbWUgcHJlZml4IHN1ZmZpeCBuYW1lCistIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFNRS4KKy0jIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4gZ2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbAorLSMgY2hhcmFjdGVycywgaGFzaGVzLCBwZXJjZW50IHNpZ25zLCBidXQgU1VGRklYIG1heSBjb250YWluIGEgbGVhZGluZworLSMgZG90IChpbiB3aGljaCBjYXNlIHRoYXQgbWF0Y2hlcyBvbmx5IGEgZG90KS4KKy0jIGZ1bmNfc3RyaXBfc3VmZml4IHByZWZpeCBuYW1lCistZnVuY19zdHJpcG5hbWUgKCkKKy17CistICBjYXNlICR7Mn0gaW4KKy0gICAgLiopIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJVxcXFwkezJ9XCQlJSJgOzsKKy0gICAgKikgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD1gJEVDSE8gIiR7M30iIHwgJFNFRCAicyVeJHsxfSUlOyBzJSR7Mn1cJCUlImA7OworLSAgZXNhYworLX0KICsgIF9MVF9QUk9HX0ZVTkNUSU9OX1JFUExBQ0UoW2Z1bmNfc3BsaXRfc2hvcnRfb3B0XSwgW2RubAogKyAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9hcmc9JHsxIz8/fQogKyAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9uYW1lPSR7MSUiJGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZyJ9XSkKLSsKKyAKKy0jIHNlZCBzY3JpcHRzOgorLW15X3NlZF9sb25nX29wdD0nMXMvXlwoLVtbXj1dXSpcKT0uKi9cMS87cScKKy1teV9zZWRfbG9uZ19hcmc9JzFzL14tW1tePV1dKj0vLycKICsgIF9MVF9QUk9HX0ZVTkNUSU9OX1JFUExBQ0UoW2Z1bmNfbG8yb10sIFtkbmwKICsgICAgY2FzZSAkezF9IGluCiArICAgICAgKi5sbykgZnVuY19sbzJvX3Jlc3VsdD0kezElLmxvfS4ke29iamV4dH0gOzsKQEAgLTEyMDA4LDcgKzEyMDAxLDkgQEAKICsgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHsyfSIKICtkbmwgbTQgZXhwYW5zaW9uIHR1cm5zIFxcXFwgaW50byBcXCwgYW5kIHRoZW4gdGhlIHNoZWxsIGV2YWwgdHVybnMgdGhhdCBpbnRvIFwKICsgICAgZXZhbCAiJHsxfSs9XFxcXCBcXCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCJdKQotKworIAorLV9MVF9FT0YKKy1lc2FjCiArICAjIFNhdmUgYSBgZnVuY19hcHBlbmQnIGZ1bmN0aW9uIGNhbGwgd2hlcmUgcG9zc2libGUgYnkgZGlyZWN0IHVzZSBvZiAnKz0nCiArICBzZWQgLWUgJ3MlZnVuY19hcHBlbmQgXChbW2EtekEtWl9dXVx7MSxcfVwpICIlXDErPSIlZycgJGNmZ2ZpbGUgPiAkY2ZnZmlsZS50bXAgXAogKyAgICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiIFwKQEAgLTEyMDIyLDE3ICsxMjAxNywxNCBAQAogKyAgdGVzdCAwIC1lcSAkPyB8fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKICtmaQogIAotLV9MVF9FT0YKLS1lc2FjCistY2FzZSAkbHRfc2hlbGxfYXBwZW5kIGluCistICB5ZXMpCistICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiAraWYgdGVzdCB4IiRfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsIiA9IHgiOiI7IHRoZW4KICsgIEFDX01TR19XQVJOKFtVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlXSkKICtmaQogK10pCiAgCi0tY2FzZSAkbHRfc2hlbGxfYXBwZW5kIGluCi0tICB5ZXMpCi0tICAgIGNhdCA8PCBcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCi0tCiAtIyBmdW5jX2FwcGVuZCB2YXIgdmFsdWUKIC0jIEFwcGVuZCBWQUxVRSB0byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUi4KIC1mdW5jX2FwcGVuZCAoKQpAQCAtMTIxMTgsMTAgKzEyMTEwLDEwIEBACiArX0xUX0RFQ0woW3RvX3Rvb2xfZmlsZV9jbWRdLCBbbHRfY3ZfdG9fdG9vbF9maWxlX2NtZF0sCiArICAgICAgICAgWzBdLCBbY29udmVydCAkYnVpbGQgZmlsZXMgdG8gdG9vbGNoYWluIGZvcm1hdF0pZG5sCiArXSkjIF9MVF9QQVRIX0NPTlZFUlNJT05fRlVOQ1RJT05TCi1JbmRleDogZ2l0L2x0bWFpbi5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL2x0bWFpbi5zaAotKysrIGdpdC9sdG1haW4uc2gKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDk1MDNlYzg1ZDcuLjcwZTg1NmUwNjUgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAogQEAgLTEsMTAgKzEsOSBAQAogLSMgR2VuZXJhdGVkIGZyb20gbHRtYWluLm00c2guCiAgCkBAIC0xMjU1MSw3ICsxMjU0MywzMSBAQAogKyRwcm9nbmFtZTogb2YgJFBBQ0tBR0UgJFZFUlNJT04gYW5kIHJ1biBhdXRvY29uZiBhZ2Fpbi4KICtfTFRfRU9GCiArICAgIGZpCi0rCisgCistICAjIFNob3J0aGFuZCBmb3IgLS1tb2RlPWZvbywgb25seSB2YWxpZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQKKy0gIGNhc2UgJDEgaW4KKy0gIGNsZWFufGNsZWF8Y2xlfGNsKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBjbGVhbiAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBjb21waWxlfGNvbXBpbHxjb21waXxjb21wfGNvbXxjb3xjKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBjb21waWxlICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGV4ZWN1dGV8ZXhlY3V0fGV4ZWN1fGV4ZWN8ZXhlfGV4fGUpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGV4ZWN1dGUgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgZmluaXNofGZpbmlzfGZpbml8ZmlufGZpfGYpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGZpbmlzaCAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBpbnN0YWxsfGluc3RhbHxpbnN0YXxpbnN0fGluc3xpbnxpKQorLSAgICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBpbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKKy0gICAgOzsKKy0gIGxpbmt8bGlufGxpfGwpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGxpbmsgJHsxKyIkQCJ9OyBzaGlmdAorLSAgICA7OworLSAgdW5pbnN0YWxsfHVuaW5zdGFsfHVuaW5zdGF8dW5pbnN0fHVuaW5zfHVuaW58dW5pfHVufHUpCistICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIHVuaW5zdGFsbCAkezErIiRAIn07IHNoaWZ0CistICAgIDs7CistICBlc2FjCiArICAgIGV4aXQgJEVYSVRfTUlTTUFUQ0gKICsgIGZpCiArfQpAQCAtMTI1ODEsNyArMTI1OTcsOSBAQAogKyAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKICsgIDs7CiArZXNhYwotKworIAorLSAgIyBQYXJzZSBub24tbW9kZSBzcGVjaWZpYyBhcmd1bWVudHM6CistICB3aGlsZSB0ZXN0ICIkIyIgLWd0IDA7IGRvCiArCiArCiArIyBPcHRpb24gZGVmYXVsdHM6CkBAIC0xMjU5NywzNCArMTI2MTUsOCBAQAogK29wdF92ZXJib3NlPToKICtvcHRfc2lsZW50PWZhbHNlCiArb3B0X3ZlcmJvc2U9ZmFsc2UKLSAKLS0gICMgU2hvcnRoYW5kIGZvciAtLW1vZGU9Zm9vLCBvbmx5IHZhbGlkIGFzIHRoZSBmaXJzdCBhcmd1bWVudAotLSAgY2FzZSAkMSBpbgotLSAgY2xlYW58Y2xlYXxjbGV8Y2wpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNsZWFuICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGNvbXBpbGV8Y29tcGlsfGNvbXBpfGNvbXB8Y29tfGNvfGMpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGNvbXBpbGUgJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgZXhlY3V0ZXxleGVjdXR8ZXhlY3V8ZXhlY3xleGV8ZXh8ZSkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZXhlY3V0ZSAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICBmaW5pc2h8ZmluaXN8ZmluaXxmaW58Zml8ZikKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGluc3RhbGx8aW5zdGFsfGluc3RhfGluc3R8aW5zfGlufGkpCi0tICAgIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGluc3RhbGwgJHsxKyIkQCJ9OyBzaGlmdAotLSAgICA7OwotLSAgbGlua3xsaW58bGl8bCkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgbGluayAkezErIiRAIn07IHNoaWZ0Ci0tICAgIDs7Ci0tICB1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5pbnx1bml8dW58dSkKLS0gICAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgdW5pbnN0YWxsICR7MSsiJEAifTsgc2hpZnQKLS0gICAgOzsKLS0gIGVzYWMKLSAKLS0gICMgUGFyc2Ugbm9uLW1vZGUgc3BlY2lmaWMgYXJndW1lbnRzOgotLSAgd2hpbGUgdGVzdCAiJCMiIC1ndCAwOyBkbworKworKwogKyMgUGFyc2Ugb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5LiAgVGhpcyBjb21lcyBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHRoZQogKyMgc2NyaXB0IHRvIG1ha2UgdGhpbmdzIGxpa2UgYC0tdmVyc2lvbicgaGFwcGVuIGFzIHF1aWNrbHkgYXMgd2UgY2FuLgogK3sKQEAgLTEyODY4LDEzICsxMjg2MCwxMyBAQAogLSAgZmkKIC19CiAtCi0tCi0tIyMgLS0tLS0tLS0tLS0gIyMKLS0jIyAgICBNYWluLiAgICAjIwotLSMjIC0tLS0tLS0tLS0tICMjCiArICAgICMgRGFyd2luIHN1Y2tzCiArICAgIGV2YWwgc3RkX3NocmV4dD1cIiRzaHJleHRfY21kc1wiCiAgCistIyMgLS0tLS0tLS0tLS0gIyMKKy0jIyAgICBNYWluLiAgICAjIworLSMjIC0tLS0tLS0tLS0tICMjCistCiAtJG9wdF9oZWxwIHx8IHsKIC0gICMgU2FuaXR5IGNoZWNrcyBmaXJzdDoKIC0gIGZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaApAQCAtMTM1OTUsNyArMTM1ODcsNyBAQAogICAgICAgICIiKQogICAgICAgICAgIyBHZW5lcmljIGhlbHAgaXMgZXh0cmFjdGVkIGZyb20gdGhlIHVzYWdlIGNvbW1lbnRzCiAgICAgICAgICAjIGF0IHRoZSBzdGFydCBvZiB0aGlzIGZpbGUuCi1AQCAtMTY1OSw4ICsyMzI3LDggQEAgVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbgorQEAgLTE2NTksOCArMjMyNyw4IEBAIFRoaXMgbW9kZSBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgogIAogICAgLW8gT1VUUFVULUZJTEUgICAgc2V0IHRoZSBvdXRwdXQgZmlsZSBuYW1lIHRvIE9VVFBVVC1GSUxFCiAgICAtbm8tc3VwcHJlc3MgICAgICBkbyBub3Qgc3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGZvciBtdWx0aXBsZSBwYXNzZXMKQEAgLTEzNjA2LDcgKzEzNTk4LDcgQEAKICAgIC1zaGFyZWQgICAgICAgICAgIGRvIG5vdCBidWlsZCBhIFxgLm8nIGZpbGUgc3VpdGFibGUgZm9yIHN0YXRpYyBsaW5raW5nCiAgICAtc3RhdGljICAgICAgICAgICBvbmx5IGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGljIGxpbmtpbmcKICAgIC1XYyxGTEFHICAgICAgICAgIHBhc3MgRkxBRyBkaXJlY3RseSB0byB0aGUgY29tcGlsZXIKLUBAIC0xODA0LDcgKzI0NzIsNyBAQCBPdGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1CitAQCAtMTgwNCw3ICsyNDcyLDcgQEAgT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQgdXNpbmcgUk0uIgogICAgICAgICAgOzsKICAKICAgICAgICAqKQpAQCAtMTM3MDgsNyArMTM3MDAsNyBAQAogKyAgICBkbwogKyAgICAgIGlmIHRlc3QgLWQgIiRvcHQiOyB0aGVuCiArCWZ1bmNfYXBwZW5kIGxpYmRpcnMgIiAkb3B0IgotKworIAogKyAgICAgIGVsaWYgdGVzdCAtZiAiJG9wdCI7IHRoZW4KICsJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJG9wdCI7IHRoZW4KICsJICBmdW5jX2FwcGVuZCBsaWJzICIgJG9wdCIKQEAgLTEzNzI4LDcgKzEzNzIwLDcgQEAKICsgICAgICBlbHNlCiArICAgICAgICBzeXNyb290X2NtZD0KICsgICAgICBmaQotIAorKwogKyAgICAgICMgUmVtb3ZlIHN5c3Jvb3QgcmVmZXJlbmNlcwogKyAgICAgIGlmICRvcHRfZHJ5X3J1bjsgdGhlbgogKyAgICAgICAgZm9yIGxpYiBpbiAkbGliczsgZG8KQEAgLTE0MTQwLDcgKzE0MTMyLDcgQEAKICBsdF8ke215X3ByZWZpeH1fTFRYX3ByZWxvYWRlZF9zeW1ib2xzW10gPQogIHtcCiAgICB7IFwiJG15X29yaWdpbmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKLUBAIC0yNzM2LDcgKzM0OTMsNyBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC0yNzM2LDcgKzM0OTMsNyBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIAlmb3IgYXJnIGluICRMVENGTEFHUzsgZG8KICAJICBjYXNlICRhcmcgaW4KICAJICAtcGllIHwgLWZwaWUgfCAtZlBJRSkgOzsKQEAgLTE0NjY5LDcgKzE0NjYxLDcgQEAKICAqLwogIEVPRgogIAkgICAgY2F0IDw8IkVPRiIKLUBAIC0zNDYyLDIyICs0MjcyLDEzIEBAIGludCBzZXRlbnYgKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLAorQEAgLTM0NjIsMjIgKzQyNzIsMTMgQEAgaW50IHNldGVudiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGludCk7CiAgICBpZiAoc3RhbGUpIHsgZnJlZSAoKHZvaWQgKikgc3RhbGUpOyBzdGFsZSA9IDA7IH0gXAogIH0gd2hpbGUgKDApCiAgCkBAIC0xNDY5Niw3ICsxNDY4OCw3IEBACiAgCiAgdm9pZCAqeG1hbGxvYyAoc2l6ZV90IG51bSk7CiAgY2hhciAqeHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKTsKLUBAIC0zNDg3LDcgKzQyODgsMTAgQEAgY2hhciAqY2hhc2Vfc3ltbGlua3MgKGNvbnN0IGNoYXIgKnBhdGhzcAorQEAgLTM0ODcsNyArNDI4OCwxMCBAQCBjaGFyICpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMpOwogIGludCBtYWtlX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwogIGludCBjaGVja19leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKICBjaGFyICpzdHJlbmR6YXAgKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0KTsKQEAgLTE1MDI0LDcgKzE1MDE2LDcgQEAKICAgIHZmcHJpbnRmIChzdGRlcnIsIG1lc3NhZ2UsIGFwKTsKICAgIGZwcmludGYgKHN0ZGVyciwgIi5cbiIpOwogIAotQEAgLTM5ODgsMjAgKzQ4MzIsMzIgQEAgbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaAorQEAgLTM5ODgsMjAgKzQ4MzIsMzIgQEAgbHRfZXJyb3JfY29yZSAoaW50IGV4aXRfc3RhdHVzLCBjb25zdCBjaGFyICptb2RlLAogIH0KICAKICB2b2lkCkBAIC0xNTA2Miw3ICsxNTA1NCw3IEBACiAgICB7CiAgI2lmZGVmIEhBVkVfU0VURU5WCiAgICAgIC8qIGFsd2F5cyBtYWtlIGEgY29weSwgZm9yIGNvbnNpc3RlbmN5IHdpdGggIUhBVkVfU0VURU5WICovCi1AQCAtNDA0OSw5ICs0OTA1LDkgQEAgbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1ZSwgYworQEAgLTQwNDksOSArNDkwNSw5IEBAIGx0X2V4dGVuZF9zdHIgKGNvbnN0IGNoYXIgKm9yaWdfdmFsdWUsIGNvbnN0IGNoYXIgKmFkZCwgaW50IHRvX2VuZCkKICB2b2lkCiAgbHRfdXBkYXRlX2V4ZV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB7CkBAIC0xNTA3NSw3ICsxNTA2Nyw3IEBACiAgCiAgICBpZiAobmFtZSAmJiAqbmFtZSAmJiB2YWx1ZSAmJiAqdmFsdWUpCiAgICAgIHsKLUBAIC00MDcwLDkgKzQ5MjYsOSBAQCBsdF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvCitAQCAtNDA3MCw5ICs0OTI2LDkgQEAgbHRfdXBkYXRlX2V4ZV9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB2b2lkCiAgbHRfdXBkYXRlX2xpYl9wYXRoIChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKICB7CkBAIC0xNzM0OCwxMCArMTczNDAsMTAgQEAKICAKICBpZiB0ZXN0IC1uICIkZXhlY19jbWQiOyB0aGVuCiAgICBldmFsIGV4ZWMgIiRleGVjX2NtZCIKLUluZGV4OiBnaXQvbHRvcHRpb25zLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbHRvcHRpb25zLm00Ci0rKysgZ2l0L2x0b3B0aW9ucy5tNAorZGlmZiAtLWdpdCBhL2x0b3B0aW9ucy5tNCBiL2x0b3B0aW9ucy5tNAoraW5kZXggNWVmMTJjZWQyYS4uMTdjZmQ1MWMwYiAxMDA2NDQKKy0tLSBhL2x0b3B0aW9ucy5tNAorKysrIGIvbHRvcHRpb25zLm00CiBAQCAtOCw3ICs4LDcgQEAKICAjIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsIHdpdGggb3Igd2l0aG91dAogICMgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCkBAIC0xNzM2MSwxMCArMTczNTMsMTAgQEAKICAKICAjIFRoaXMgaXMgdG8gaGVscCBhY2xvY2FsIGZpbmQgdGhlc2UgbWFjcm9zLCBhcyBpdCBjYW4ndCBzZWUgbTRfZGVmaW5lLgogIEFDX0RFRlVOKFtMVE9QVElPTlNfVkVSU0lPTl0sIFttNF9pZihbMV0pXSkKLUluZGV4OiBnaXQvbHR2ZXJzaW9uLm00Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvbHR2ZXJzaW9uLm00Ci0rKysgZ2l0L2x0dmVyc2lvbi5tNAorZGlmZiAtLWdpdCBhL2x0dmVyc2lvbi5tNCBiL2x0dmVyc2lvbi5tNAoraW5kZXggYmY4N2Y3NzEzMi4uOWM3YjVkNDExOCAxMDA2NDQKKy0tLSBhL2x0dmVyc2lvbi5tNAorKysrIGIvbHR2ZXJzaW9uLm00CiBAQCAtNywxNyArNywxNyBAQAogICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAgIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KQEAgLTE3Mzg5LDEwICsxNzM4MSwxMCBAQAogIF9MVF9ERUNMKCwgbWFjcm9fdmVyc2lvbiwgMCwgW1doaWNoIHJlbGVhc2Ugb2YgbGlidG9vbC5tNCB3YXMgdXNlZD9dKQogIF9MVF9ERUNMKCwgbWFjcm9fcmV2aXNpb24sIDApCiAgXSkKLUluZGV4OiBnaXQvbHR+b2Jzb2xldGUubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9sdH5vYnNvbGV0ZS5tNAotKysrIGdpdC9sdH5vYnNvbGV0ZS5tNAorZGlmZiAtLWdpdCBhL2x0fm9ic29sZXRlLm00IGIvbHR+b2Jzb2xldGUubTQKK2luZGV4IGJmOTJiNWUwNzkuLmM1NzNkYTkwYzUgMTAwNjQ0CistLS0gYS9sdH5vYnNvbGV0ZS5tNAorKysrIGIvbHR+b2Jzb2xldGUubTQKIEBAIC03LDcgKzcsNyBAQAogICMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwgd2l0aCBvciB3aXRob3V0CiAgIyBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KQEAgLTE3NDAyLDExICsxNzM5NCwxMSBAQAogIAogICMgVGhlc2UgZXhpc3QgZW50aXJlbHkgdG8gZm9vbCBhY2xvY2FsIHdoZW4gYm9vdHN0cmFwcGluZyBsaWJ0b29sLgogICMKLUluZGV4OiBnaXQvb3Bjb2Rlcy9jb25maWd1cmUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9vcGNvZGVzL2NvbmZpZ3VyZQotKysrIGdpdC9vcGNvZGVzL2NvbmZpZ3VyZQotQEAgLTY4MSw2ICs2ODEsOSBAQCBPVE9PTAorZGlmZiAtLWdpdCBhL29wY29kZXMvY29uZmlndXJlIGIvb3Bjb2Rlcy9jb25maWd1cmUKK2luZGV4IDg1Mzg0OWVlNTguLjVmNzRlY2Y3ZGEgMTAwNzU1CistLS0gYS9vcGNvZGVzL2NvbmZpZ3VyZQorKysrIGIvb3Bjb2Rlcy9jb25maWd1cmUKK0BAIC02ODAsNiArNjgwLDkgQEAgT1RPT0wKICBMSVBPCiAgTk1FRElUCiAgRFNZTVVUSUwKQEAgLTE3NDE2LDcgKzE3NDA4LDcgQEAKICBPQkpEVU1QCiAgTE5fUwogIE5NCi1AQCAtNzk5LDYgKzgwMiw3IEBAIGVuYWJsZV9zdGF0aWMKK0BAIC03OTgsNiArODAxLDcgQEAgZW5hYmxlX3N0YXRpYwogIHdpdGhfcGljCiAgZW5hYmxlX2Zhc3RfaW5zdGFsbAogIHdpdGhfZ251X2xkCkBAIC0xNzQyNCw3ICsxNzQxNiw3IEBACiAgZW5hYmxlX2xpYnRvb2xfbG9jawogIGVuYWJsZV90YXJnZXRzCiAgZW5hYmxlX3dlcnJvcgotQEAgLTE0NjMsNiArMTQ2Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE0NjIsNiArMTQ2Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgLS13aXRoLXBpYyAgICAgICAgICAgICAgdHJ5IHRvIHVzZSBvbmx5IFBJQy9ub24tUElDIG9iamVjdHMgW2RlZmF1bHQ9dXNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3RoXQogICAgLS13aXRoLWdudS1sZCAgICAgICAgICAgYXNzdW1lIHRoZSBDIGNvbXBpbGVyIHVzZXMgR05VIGxkIFtkZWZhdWx0PW5vXQpAQCAtMTc0MzMsNyArMTc0MjUsNyBAQAogIAogIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogICAgQ0MgICAgICAgICAgQyBjb21waWxlciBjb21tYW5kCi1AQCAtNTQwNCw4ICs1NDEwLDggQEAgZXNhYworQEAgLTU0MDMsOCArNTQwOSw4IEBAIGVzYWMKICAKICAKICAKQEAgLTE3NDQ0LDcgKzE3NDM2LDcgQEAKICAKICAKICAKLUBAIC01NDQ1LDcgKzU0NTEsNyBAQCBFQ0hPPSRFQ0hPJEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITworQEAgLTU0NDQsNyArNTQ1MCw3IEBAIEVDSE89JEVDSE8kRUNITyRFQ0hPJEVDSE8kRUNITyRFQ0hPCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncyIgPiY1CiAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgaG93IHRvIHByaW50IHN0cmluZ3MuLi4gIiA+JjY7IH0KICAjIFRlc3QgcHJpbnQgZmlyc3QsIGJlY2F1c2UgaXQgd2lsbCBiZSBhIGJ1aWx0aW4gaWYgcHJlc2VudC4KQEAgLTE3NDUzLDcgKzE3NDQ1LDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC02MTMxLDggKzYxMzcsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNjEzMCw4ICs2MTM2LDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTE3NDY0LDcgKzE3NDU2LDcgQEAKICAgICAgJiYgZXZhbCAndGVzdCAkKCggMSArIDEgKSkgLWVxIDIgXAogICAgICAmJiB0ZXN0ICIkeyNfbHRfZHVtbXl9IiAtZXEgNScgKSA+L2Rldi9udWxsIDI+JjEgXAogICAgJiYgeHNpX3NoZWxsPXllcwotQEAgLTYxODEsNiArNjE4Nyw4MCBAQCBlc2FjCitAQCAtNjE4MCw2ICs2MTg2LDgwIEBAIGVzYWMKICAKICAKICAKQEAgLTE3NTQ1LDcgKzE3NTM3LDcgQEAKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkTEQgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmlsZXMuLi4gIiA+JjY7IH0KICBpZiAke2x0X2N2X2xkX3JlbG9hZF9mbGFnKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC02MTk3LDYgKzYyNzcsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KK0BAIC02MTk2LDYgKzYyNzYsMTEgQEAgY2FzZSAkcmVsb2FkX2ZsYWcgaW4KICBlc2FjCiAgcmVsb2FkX2NtZHM9JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwogIGNhc2UgJGhvc3Rfb3MgaW4KQEAgLTE3NTU3LDcgKzE3NTQ5LDcgQEAKICAgIGRhcndpbiopCiAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgICAgcmVsb2FkX2NtZHM9JyRMVENDICRMVENGTEFHUyAtbm9zdGRsaWIgJHt3bH0tciAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwotQEAgLTYzNjUsNyArNjQ1MCw4IEBAIG1pbmd3KiB8IHB3MzIqKQorQEAgLTYzNjQsNyArNjQ0OSw4IEBAIG1pbmd3KiB8IHB3MzIqKQogICAgICBsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMJwogICAgICBsdF9jdl9maWxlX21hZ2ljX2NtZD0nZnVuY193aW4zMl9saWJpZCcKICAgIGVsc2UKQEAgLTE3NTY3LDcgKzE3NTU5LDcgQEAKICAgICAgbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRPQkpEVU1QIC1mJwogICAgZmkKICAgIDs7Ci1AQCAtNjUxOSw2ICs2NjA1LDIxIEBAIGVzYWMKK0BAIC02NTE4LDYgKzY2MDQsMjEgQEAgZXNhYwogIGZpCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCIgPiY1CiAgJGFzX2VjaG8gIiRsdF9jdl9kZXBsaWJzX2NoZWNrX21ldGhvZCIgPiY2OyB9CkBAIC0xNzU4OSw3ICsxNzU4MSw3IEBACiAgZmlsZV9tYWdpY19jbWQ9JGx0X2N2X2ZpbGVfbWFnaWNfY21kCiAgZGVwbGlic19jaGVja19tZXRob2Q9JGx0X2N2X2RlcGxpYnNfY2hlY2tfbWV0aG9kCiAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCi1AQCAtNjUzNCw5ICs2NjM1LDE2MiBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpCitAQCAtNjUzMSwxMSArNjYzMiwxNjQgQEAgdGVzdCAteiAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAmJiBkZXBsaWJzX2NoZWNrX21ldGhvZD11bmtub3duCiAgCiAgCiAgCkBAIC0xNzYwMyw2ICsxNzU5NSw4IEBACiArCiArCiArCisgCisgCiAgaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4IjsgdGhlbgogLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fWFyIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KIC1zZXQgZHVtbXkgJHthY190b29sX3ByZWZpeH1hcjsgYWNfd29yZD0kMgpAQCAtMTc3NTQsNyArMTc3NDgsNyBAQAogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKICAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2X3Byb2dfQVIrOn0gZmFsc2U7IHRoZW4gOgotQEAgLTY1NTIsNyArNjgwNiw3IEBAIGRvCitAQCAtNjU1MSw3ICs2ODA1LDcgQEAgZG8KICAgIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCiAgICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwogICAgaWYgYXNfZm5fZXhlY3V0YWJsZV9wICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgdGhlbgpAQCAtMTc3NjMsNyArMTc3NTcsNyBAQAogICAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKICAgICAgYnJlYWsgMgogICAgZmkKLUBAIC02NTcyLDExICs2ODI2LDE1IEBAICRhc19lY2hvICJubyIgPiY2OyB9CitAQCAtNjU3MSwxMSArNjgyNSwxNSBAQCAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCiAgCkBAIC0xNzc4Miw3ICsxNzc3Niw3IEBACiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQogIGlmICR7YWNfY3ZfcHJvZ19hY19jdF9BUis6fSBmYWxzZTsgdGhlbiA6Ci1AQCAtNjU5Miw3ICs2ODUwLDcgQEAgZG8KK0BAIC02NTkxLDcgKzY4NDksNyBAQCBkbwogICAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KICAgICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCiAgICBpZiBhc19mbl9leGVjdXRhYmxlX3AgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB0aGVuCkBAIC0xNzc5MSw3ICsxNzc4NSw3IEBACiAgICAgICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGZvdW5kICRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiID4mNQogICAgICBicmVhayAyCiAgICBmaQotQEAgLTY2MTEsNiArNjg2OSwxMCBAQCBlbHNlCitAQCAtNjYxMCw2ICs2ODY4LDEwIEBAIGVsc2UKICAkYXNfZWNobyAibm8iID4mNjsgfQogIGZpCiAgCkBAIC0xNzgwMiw3ICsxNzc5Niw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTY2MjIsMTIgKzY4ODQsMTEgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNjYyMSwxNiArNjg4Myw3MiBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTE3ODE1LDEzICsxNzgwOSwxNiBAQAogKzogJHtBUj1hcn0KICs6ICR7QVJfRkxBR1M9Y3J1fQogKwotIAotIAotIAotQEAgLTY2MzgsNiArNjg5OSw2MyBAQCB0ZXN0IC16ICIkQVJfRkxBR1MiICYmIEFSX0ZMQUdTPWNydQotIAotIAotIAorKworKworKworKworKworKworKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBwb3J0Li4uICIgPiY2OyB9CiAraWYgJHtsdF9jdl9hcl9hdF9maWxlKzp9IGZhbHNlOyB0aGVuIDoKQEAgLTE3ODM0LDcgKzE3ODMxLDcgQEAKICtpbnQKICttYWluICgpCiArewotKworIAogKyAgOwogKyAgcmV0dXJuIDA7CiArfQpAQCAtMTc4NjAsMjkgKzE3ODU3LDIzIEBACiArICAgICAgICBmaQogKyAgICAgIGZpCiArICAgICAgcm0gLWYgY29uZnRlc3QuKiBsaWJjb25mdGVzdC5hCi0rCisgCiArZmkKICtybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKLSsKKyAKICtmaQogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkbHRfY3ZfYXJfYXRfZmlsZSIgPiY1CiArJGFzX2VjaG8gIiRsdF9jdl9hcl9hdF9maWxlIiA+JjY7IH0KLSsKKyAKICtpZiB0ZXN0ICJ4JGx0X2N2X2FyX2F0X2ZpbGUiID0geG5vOyB0aGVuCiArICBhcmNoaXZlcl9saXN0X3NwZWM9CiArZWxzZQogKyAgYXJjaGl2ZXJfbGlzdF9zcGVjPSRsdF9jdl9hcl9hdF9maWxlCiArZmkKLSsKLSsKLSsKLSsKLSsKLSsKICAKLSBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCi0gICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9c3RyaXAiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotQEAgLTY5NzMsOCArNzI5MSw4IEBAIGVzYWMKKyAKKyAKK0BAIC02OTcyLDggKzcyOTAsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKICAjIFRyYW5zZm9ybSBhbiBleHRyYWN0ZWQgc3ltYm9sIGxpbmUgaW50byBzeW1ib2wgbmFtZSBhbmQgc3ltYm9sIGFkZHJlc3MKQEAgLTE3ODkzLDcgKzE3ODg0LDcgQEAKICAKICAjIEhhbmRsZSBDUkxGIGluIG1pbmd3IHRvb2wgY2hhaW4KICBvcHRfY3I9Ci1AQCAtNzAxMCw2ICs3MzI4LDcgQEAgZm9yIGFjX3N5bXByZnggaW4gIiIgIl8iOyBkbworQEAgLTcwMDksNiArNzMyNyw3IEBAIGZvciBhY19zeW1wcmZ4IGluICIiICJfIjsgZG8KICAgIGVsc2UKICAgICAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0ic2VkIC1uIC1lICdzL14uKlsJIF1cKCRzeW1jb2RlJHN5bWNvZGUqXClbCSBdWwkgXSokYWNfc3ltcHJmeCRzeW1wYXQkb3B0X2NyJC8kc3lteGZybS9wJyIKICAgIGZpCkBAIC0xNzkwMSw3ICsxNzg5Miw3IEBACiAgCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBwaXBlIHdvcmtzIGNvcnJlY3RseS4KICAgIHBpcGVfd29ya3M9bm8KLUBAIC03MDUxLDYgKzczNzAsMTggQEAgX0xUX0VPRgorQEAgLTcwNTAsNiArNzM2OSwxOCBAQCBfTFRfRU9GCiAgICAgICAgaWYgJEdSRVAgJyBubV90ZXN0X3ZhciQnICIkbmxpc3QiID4vZGV2L251bGw7IHRoZW4KICAJaWYgJEdSRVAgJyBubV90ZXN0X2Z1bmMkJyAiJG5saXN0IiA+L2Rldi9udWxsOyB0aGVuCiAgCSAgY2F0IDw8X0xUX0VPRiA+IGNvbmZ0ZXN0LiRhY19leHQKQEAgLTE3OTIwLDcgKzE3OTExLDcgQEAKICAjaWZkZWYgX19jcGx1c3BsdXMKICBleHRlcm4gIkMiIHsKICAjZW5kaWYKLUBAIC03MDYyLDcgKzczOTMsNyBAQCBfTFRfRU9GCitAQCAtNzA2MSw3ICs3MzkyLDcgQEAgX0xUX0VPRgogIAkgIGNhdCA8PF9MVF9FT0YgPj4gY29uZnRlc3QuJGFjX2V4dAogIAogIC8qIFRoZSBtYXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KQEAgLTE3OTI5LDcgKzE3OTIwLDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC03MDg4LDggKzc0MTksOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC03MDg3LDggKzc0MTgsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtMTc5NDAsNyArMTc5MzEsNyBAQAogIAkgIExJQlM9ImNvbmZ0c3RtLiRhY19vYmpleHQiCiAgCSAgQ0ZMQUdTPSIkQ0ZMQUdTJGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIgogIAkgIGlmIHsgeyBldmFsIGVjaG8gIlwiXCRhc19tZVwiOiR7YXNfbGluZW5vLSRMSU5FTk99OiBcIiRhY19saW5rXCIiOyB9ID4mNQotQEAgLTcwOTksOCArNzQzMCw4IEBAIF9MVF9FT0YKK0BAIC03MDk4LDggKzc0MjksOCBAQCBfTFRfRU9GCiAgICB0ZXN0ICRhY19zdGF0dXMgPSAwOyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KICAJICAgIHBpcGVfd29ya3M9eWVzCiAgCSAgZmkKQEAgLTE3OTUxLDcgKzE3OTQyLDcgQEAKICAJZWxzZQogIAkgIGVjaG8gImNhbm5vdCBmaW5kIG5tX3Rlc3RfZnVuYyBpbiAkbmxpc3QiID4mNQogIAlmaQotQEAgLTcxMzcsNiArNzQ2OCwxNCBAQCBlbHNlCitAQCAtNzEzNiw2ICs3NDY3LDE2IEBAIGVsc2UKICAkYXNfZWNobyAib2siID4mNjsgfQogIGZpCiAgCkBAIC0xNzk2MywxMCArMTc5NTQsMTIgQEAKICtmaQogKwogKworKworKwogIAogIAogIAotQEAgLTcxNTgsNiArNzQ5Nyw0NyBAQCBmaQorQEAgLTcxNTIsNiArNzQ5Myw0NSBAQCBmaQogIAogIAogIApAQCAtMTc5NzQsNiArMTc5NjcsOSBAQAogKwogKwogKworKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0xODAwNiwxNSArMTgwMDIsMTAgQEAKICsKICsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR7bHRfc3lzcm9vdDotbm99IiA+JjUKICskYXNfZWNobyAiJHtsdF9zeXNyb290Oi1ub30iID4mNjsgfQotKwotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1saWJ0b29sLWxvY2sgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2xpYnRvb2xfbG9jaytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gICBlbmFibGV2YWw9JGVuYWJsZV9saWJ0b29sX2xvY2s7Ci1AQCAtNzM2NCw2ICs3NzQ0LDEyMyBAQCBlc2FjCisgCisgCisgCitAQCAtNzM2Myw2ICs3NzQzLDEyMyBAQCBlc2FjCiAgCiAgbmVlZF9sb2Nrcz0iJGVuYWJsZV9saWJ0b29sX2xvY2siCiAgCkBAIC0xODEzOCw3ICsxODEyOSw3IEBACiAgCiAgICBjYXNlICRob3N0X29zIGluCiAgICAgIHJoYXBzb2R5KiB8IGRhcndpbiopCi1AQCAtNzkyNyw2ICs4NDI0LDggQEAgX0xUX0VPRgorQEAgLTc5MjYsNiArODQyMyw4IEBAIF9MVF9FT0YKICAgICAgICAkTFRDQyAkTFRDRkxBR1MgLWMgLW8gY29uZnRlc3QubyBjb25mdGVzdC5jIDI+JjUKICAgICAgICBlY2hvICIkQVIgY3J1IGxpYmNvbmZ0ZXN0LmEgY29uZnRlc3QubyIgPiY1CiAgICAgICAgJEFSIGNydSBsaWJjb25mdGVzdC5hIGNvbmZ0ZXN0Lm8gMj4mNQpAQCAtMTgxNDcsNyArMTgxMzgsNyBAQAogICAgICAgIGNhdCA+IGNvbmZ0ZXN0LmMgPDwgX0xUX0VPRgogIGludCBtYWluKCkgeyByZXR1cm4gMDt9CiAgX0xUX0VPRgotQEAgLTgwOTIsNyArODU5MSw4IEBAIGZpCitAQCAtODA5MSw3ICs4NTkwLDggQEAgZmkKICBMSUJUT09MX0RFUFM9IiRsdG1haW4iCiAgCiAgIyBBbHdheXMgdXNlIG91ciBvd24gbGlidG9vbC4KQEAgLTE4MTU3LDcgKzE4MTQ4LDcgQEAKICAKICAKICAKLUBAIC04MTgxLDcgKzg2ODEsNyBAQCBhaXgzKikKK0BAIC04MTgwLDcgKzg2ODAsNyBAQCBhaXgzKikKICBlc2FjCiAgCiAgIyBHbG9iYWwgdmFyaWFibGVzOgpAQCAtMTgxNjYsNyArMTgxNTcsNyBAQAogIGNhbl9idWlsZF9zaGFyZWQ9eWVzCiAgCiAgIyBBbGwga25vd24gbGlua2VycyByZXF1aXJlIGEgYC5hJyBhcmNoaXZlIGZvciBzdGF0aWMgbGlua2luZyAoZXhjZXB0IE1TVkMsCi1AQCAtODQ3OSw4ICs4OTc5LDYgQEAgZmkKK0BAIC04NDc4LDggKzg5NzgsNiBAQCBmaQogIGx0X3Byb2dfY29tcGlsZXJfcGljPQogIGx0X3Byb2dfY29tcGlsZXJfc3RhdGljPQogIApAQCAtMTgxNzUsNyArMTgxNjYsNyBAQAogIAogICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAgICAgbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCcKLUBAIC04NjQ2LDYgKzkxNDQsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpbworQEAgLTg2NDUsNiArOTE0MywxMiBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogIAlsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLS1zaGFyZWQnCiAgCWx0X3Byb2dfY29tcGlsZXJfc3RhdGljPSctLXN0YXRpYycKICAJOzsKQEAgLTE4MTg4LDcgKzE4MTc5LDcgQEAKICAgICAgICBwZ2NjKiB8IHBnZjc3KiB8IHBnZjkwKiB8IHBnZjk1KiB8IHBnZm9ydHJhbiopCiAgICAgICAgICAjIFBvcnRsYW5kIEdyb3VwIGNvbXBpbGVycyAoKm5vdCogdGhlIFBlbnRpdW0gZ2NjIGNvbXBpbGVyLAogIAkjIHdoaWNoIGxvb2tzIHRvIGJlIGEgZGVhZCBwcm9qZWN0KQotQEAgLTg3MDgsNyArOTIxMiw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC04NzA3LDcgKzkyMTEsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAiID4mNjsgfQogICAgICAgIGx0X3Byb2dfY29tcGlsZXJfcGljPSctS1BJQycKICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLUJzdGF0aWMnCiAgICAgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KQEAgLTE4MTk3LDcgKzE4MTg4LDcgQEAKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVFvcHRpb24gbGQgJzs7CiAgICAgICAgKikKICAJbHRfcHJvZ19jb21waWxlcl93bD0nLVdsLCc7OwotQEAgLTg3NjUsMTMgKzkyNjksMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgorQEAgLTg3NjQsMTMgKzkyNjgsMTcgQEAgY2FzZSAkaG9zdF9vcyBpbgogICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0iJGx0X3Byb2dfY29tcGlsZXJfcGljIC1EUElDIgogICAgICA7OwogIGVzYWMKQEAgLTE4MjIxLDcgKzE4MjEyLDcgQEAKICAKICAjCiAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhlIFBJQyBmbGFnIGFjdHVhbGx5IHdvcmtzLgotQEAgLTg4MzIsNiArOTM0MCwxMSBAQCBmaQorQEAgLTg4MzEsNiArOTMzOSwxMSBAQCBmaQogIAogIAogIApAQCAtMTgyMzMsNyArMTgyMjQsNyBAQAogICMKICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgc3RhdGljIGZsYWcgYWN0dWFsbHkgd29ya3MuCiAgIwotQEAgLTkxODIsNyArOTY5NSw4IEBAIF9MVF9FT0YKK0BAIC05MTgxLDcgKzk2OTQsOCBAQCBfTFRfRU9GCiAgICAgICAgYWxsb3dfdW5kZWZpbmVkX2ZsYWc9dW5zdXBwb3J0ZWQKICAgICAgICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KICAgICAgICBlbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwpAQCAtMTgyNDMsNyArMTgyMzQsNyBAQAogIAogICAgICAgIGlmICRMRCAtLWhlbHAgMj4mMSB8ICRHUkVQICdhdXRvLWltcG9ydCcgPiAvZGV2L251bGw7IHRoZW4KICAgICAgICAgIGFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlua2VyICRsaWInCi1AQCAtOTI4MSwxMiArOTc5NSwxMiBAQCBfTFRfRU9GCitAQCAtOTI4MCwxMiArOTc5NCwxMiBAQCBfTFRfRU9GCiAgCSAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9Jy0td2hvbGUtYXJjaGl2ZSRjb252ZW5pZW5jZSAtLW5vLXdob2xlLWFyY2hpdmUnCiAgCSAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0KICAJICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSctcnBhdGggJGxpYmRpcicKQEAgLTE4MjU4LDcgKzE4MjQ5LDcgQEAKICAJICBmaQogIAkgIDs7CiAgCWVzYWMKLUBAIC05MzAwLDggKzk4MTQsOCBAQCBfTFRfRU9GCitAQCAtOTI5OSw4ICs5ODEzLDggQEAgX0xUX0VPRgogIAlhcmNoaXZlX2NtZHM9JyRMRCAtQnNoYXJlYWJsZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzIC1vICRsaWInCiAgCXdsYXJjPQogICAgICAgIGVsc2UKQEAgLTE4MjY5LDcgKzE4MjYwLDcgQEAKICAgICAgICBmaQogICAgICAgIDs7CiAgCi1AQCAtOTMxOSw4ICs5ODMzLDggQEAgX0xUX0VPRgorQEAgLTkzMTgsOCArOTgzMiw4IEBAIF9MVF9FT0YKICAKICBfTFRfRU9GCiAgICAgICAgZWxpZiAkTEQgLS1oZWxwIDI+JjEgfCAkR1JFUCAnOiBzdXBwb3J0ZWQgdGFyZ2V0czouKiBlbGYnID4gL2Rldi9udWxsOyB0aGVuCkBAIC0xODI4MCw3ICsxODI3MSw3IEBACiAgICAgICAgZWxzZQogIAlsZF9zaGxpYnM9bm8KICAgICAgICBmaQotQEAgLTkzNjYsOCArOTg4MCw4IEBAIF9MVF9FT0YKK0BAIC05MzY1LDggKzk4NzksOCBAQCBfTFRfRU9GCiAgCiAgICAgICopCiAgICAgICAgaWYgJExEIC0taGVscCAyPiYxIHwgJEdSRVAgJzogc3VwcG9ydGVkIHRhcmdldHM6LiogZWxmJyA+IC9kZXYvbnVsbDsgdGhlbgpAQCAtMTgyOTEsNyArMTgyODIsNyBAQAogICAgICAgIGVsc2UKICAJbGRfc2hsaWJzPW5vCiAgICAgICAgZmkKLUBAIC05NDk3LDcgKzEwMDExLDEzIEBAIF9MVF9FT0YKK0BAIC05NDk2LDcgKzEwMDEwLDEzIEBAIF9MVF9FT0YKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9Jy1iZXJvaycKICAgICAgICAgICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogICAgICAgICAgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMTgzMDYsNyArMTgyOTcsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NTEwLDIyICsxMDAzMCwyOSBAQCBtYWluICgpCitAQCAtOTUwOSwyMiArMTAwMjksMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTE4MzQ5LDcgKzE4MzQwLDcgQEAKICAKICAgICAgICAgIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgICAgICAgICBhcmNoaXZlX2V4cHN5bV9jbWRzPSckQ0MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAnIlwke3dsfSRub19lbnRyeV9mbGFnIicgJGNvbXBpbGVyX2ZsYWdzIGBpZiB0ZXN0ICJ4JHthbGxvd191bmRlZmluZWRfZmxhZ30iICE9ICJ4IjsgdGhlbiBmdW5jX2VjaG9fYWxsICIke3dsfSR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IjsgZWxzZSA6OyBmaWAgJyJcJHt3bH0kZXhwX3N5bV9mbGFnOlwkZXhwb3J0X3N5bWJvbHMgJHNoYXJlZF9mbGFnIgotQEAgLTk1MzcsNyArMTAwNjQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk1MzYsNyArMTAwNjMsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCWVsc2UKICAJICMgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGxpYnBhdGggZnJvbSB0aGUgdmFsdWUgZW5jb2RlZCBpbiBhbgogIAkgIyBlbXB0eSBleGVjdXRhYmxlLgpAQCAtMTgzNjQsNyArMTgzNTUsNyBAQAogIC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KICAKICBpbnQKLUBAIC05NTUwLDIyICsxMDA4MywyOSBAQCBtYWluICgpCitAQCAtOTU0OSwyMiArMTAwODIsMjkgQEAgbWFpbiAoKQogIF9BQ0VPRgogIGlmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKICAKQEAgLTE4NDA3LDcgKzE4Mzk4LDcgQEAKICAKICAJIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JyR7d2x9LWJsaWJwYXRoOiRsaWJkaXI6JyIkYWl4X2xpYnBhdGgiCiAgCSAgIyBXYXJuaW5nIC0gd2l0aG91dCB1c2luZyB0aGUgb3RoZXIgcnVuIHRpbWUgbG9hZGluZyBmbGFncywKLUBAIC05NjEwLDIwICsxMDE1MCw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTYwOSwyMCArMTAxNDksNjMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgICAgICAgIyBNaWNyb3NvZnQgVmlzdWFsIEMrKy4KICAgICAgICAjIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMgaXMgYWN0dWFsbHkgbWVhbmluZ2xlc3MsIGFzIHRoZXJlIGlzCiAgICAgICAgIyBubyBzZWFyY2ggcGF0aCBmb3IgRExMcy4KQEAgLTE4NDg1LDcgKzE4NDc2LDcgQEAKICAgICAgICA7OwogIAogICAgICBkYXJ3aW4qIHwgcmhhcHNvZHkqKQotQEAgLTk2ODQsNyArMTAyNjcsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTY4Myw3ICsxMDI2Niw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTE4NDk0LDcgKzE4NDg1LDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC05NjkyLDcgKzEwMjc1LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTk2OTEsNyArMTAyNzQsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDkqKQogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCkBAIC0xODUwMyw3ICsxODQ5NCw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRSTSAkb3V0cHV0X29iamRpci8kc29uYW1lfiRMRCAtYiArYiAkaW5zdGFsbF9saWJkaXIgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGlib2JqcyAkZGVwbGlicyAkbGlua2VyX2ZsYWdzfnRlc3QgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSA9ICRsaWIgfHwgbXYgJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAkbGliJwogICAgICAgIGZpCi1AQCAtOTcwOCw3ICsxMDI5MSw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC05NzA3LDcgKzEwMjkwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXgxMCopCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXMgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IG5vOyB0aGVuCkBAIC0xODUxMiw3ICsxODUwMyw3IEBACiAgICAgICAgZWxzZQogIAlhcmNoaXZlX2NtZHM9JyRMRCAtYiAraCAkc29uYW1lICtiICRpbnN0YWxsX2xpYmRpciAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRsaW5rZXJfZmxhZ3MnCiAgICAgICAgZmkKLUBAIC05NzMyLDEwICsxMDMxNSwxMCBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtOTczMSwxMCArMTAzMTQsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKICAJICA7OwogIAlpYTY0KikKQEAgLTE4NTI1LDcgKzE4NTE2LDcgQEAKICAJICA7OwogIAllc2FjCiAgICAgICAgZWxzZQotQEAgLTk4MTQsMjMgKzEwMzk3LDM2IEBAIGZpCitAQCAtOTgxMywyMyArMTAzOTYsMzYgQEAgZmkKICAKICAgICAgaXJpeDUqIHwgaXJpeDYqIHwgbm9uc3RvcHV4KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMTg1NzAsNyArMTg1NjEsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAkbGlib2JqcyAkZGVwbGlicyAkY29tcGlsZXJfZmxhZ3MgLXNvbmFtZSAkc29uYW1lIGB0ZXN0IC1uICIkdmVyc3RyaW5nIiAmJiBmdW5jX2VjaG9fYWxsICItc2V0X3ZlcnNpb24gJHZlcnN0cmluZyJgIC11cGRhdGVfcmVnaXN0cnkgJHtvdXRwdXRfb2JqZGlyfS9zb19sb2NhdGlvbnMgLW8gJGxpYicKICAJYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1leHBvcnRzX2ZpbGUgJGV4cG9ydF9zeW1ib2xzIC1vICRsaWInCi1AQCAtOTkxNSw3ICsxMDUxMSw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05OTE0LDcgKzEwNTEwLDcgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgIG9zZjQqIHwgb3NmNSopCSMgYXMgb3NmMyogd2l0aCB0aGUgYWRkaXRpb24gb2YgLW1zeW0gZmxhZwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCWFsbG93X3VuZGVmaW5lZF9mbGFnPScgJHt3bH0tZXhwZWN0X3VucmVzb2x2ZWQgJHt3bH1cKicKQEAgLTE4NTc5LDcgKzE4NTcwLDcgQEAKICAJaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0nJHt3bH0tcnBhdGggJHt3bH0kbGliZGlyJwogICAgICAgIGVsc2UKICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAtZXhwZWN0X3VucmVzb2x2ZWQgXConCi1AQCAtOTkzNCw5ICsxMDUzMCw5IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05OTMzLDkgKzEwNTI5LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTE4NTkxLDcgKzE4NTgyLDcgQEAKICAgICAgICBlbHNlCiAgCWNhc2UgYCRDQyAtViAyPiYxYCBpbgogIAkqIkNvbXBpbGVycyA1LjAiKikKLUBAIC0xMDUxMiw4ICsxMTEwOCw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDUxMSw4ICsxMTEwNyw5IEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKICAgIG5lZWRfdmVyc2lvbj1ubwogICAgbmVlZF9saWJfcHJlZml4PW5vCiAgCkBAIC0xODYwMyw3ICsxODU5NCw3IEBACiAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCiAgICAgICMgRExMIGlzIGluc3RhbGxlZCB0byAkKGxpYmRpcikvLi4vYmluIGJ5IHBvc3RpbnN0YWxsX2NtZHMKICAgICAgcG9zdGluc3RhbGxfY21kcz0nYmFzZV9maWxlPWBiYXNlbmFtZSBcJHtmaWxlfWB+Ci1AQCAtMTA1NDYsMTMgKzExMTQzLDcxIEBAIGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKK0BAIC0xMDU0NSwxMyArMTExNDIsNzEgQEAgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKQogICAgICAgIGxpYnJhcnlfbmFtZXNfc3BlYz0nYGVjaG8gJHtsaWJuYW1lfSB8IHNlZCAtZSAncy9ebGliL3B3LydgYGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgJ3MvWy5dLy0vZydgJHt2ZXJzdWZmaXh9JHtzaGFyZWRfZXh0fScKICAgICAgICA7OwogICAgICBlc2FjCkBAIC0xODY3Niw3ICsxODY2Nyw3IEBACiAgICAjIEZJWE1FOiBmaXJzdCB3ZSBzaG91bGQgc2VhcmNoIC4gYW5kIHRoZSBkaXJlY3RvcnkgdGhlIGV4ZWN1dGFibGUgaXMgaW4KICAgIHNobGlicGF0aF92YXI9UEFUSAogICAgOzsKLUBAIC0xMDY0NCw3ICsxMTI5OSw3IEBAIGhhaWt1KikKK0BAIC0xMDY0Myw3ICsxMTI5OCw3IEBAIGhhaWt1KikKICAgIHNvbmFtZV9zcGVjPScke2xpYm5hbWV9JHtyZWxlYXNlfSR7c2hhcmVkX2V4dH0kbWFqb3InCiAgICBzaGxpYnBhdGhfdmFyPUxJQlJBUllfUEFUSAogICAgc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoPXllcwpAQCAtMTg2ODUsMTYgKzE4Njc2LDE2IEBACiAgICBoYXJkY29kZV9pbnRvX2xpYnM9eWVzCiAgICA7OwogIAotQEAgLTExNDQwLDcgKzEyMDk1LDcgQEAgZWxzZQorQEAgLTExNDM5LDcgKzEyMDk0LDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE0NDMgImNvbmZpZ3VyZSIKKy0jbGluZSAxMTQ0MiAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE0ODQsMTAgKzEyMTM5LDEwIEBAIGVsc2UKK0BAIC0xMTQ4MywxMCArMTIxMzgsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0xODcwNywxNiArMTg2OTgsMTYgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTExNTQ2LDcgKzEyMjAxLDcgQEAgZWxzZQorQEAgLTExNTQ1LDcgKzEyMjAwLDcgQEAgZWxzZQogICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTE1NDkgImNvbmZpZ3VyZSIKKy0jbGluZSAxMTU0OCAiY29uZmlndXJlIgogKyNsaW5lICRMSU5FTk8gImNvbmZpZ3VyZSIKICAjaW5jbHVkZSAiY29uZmRlZnMuaCIKICAKICAjaWYgSEFWRV9ETEZDTl9ICi1AQCAtMTE1OTAsMTAgKzEyMjQ1LDEwIEBAIGVsc2UKK0BAIC0xMTU4OSwxMCArMTIyNDQsMTAgQEAgZWxzZQogIC8qIFdoZW4gLWZ2aXNiaWxpdHk9aGlkZGVuIGlzIHVzZWQsIGFzc3VtZSB0aGUgY29kZSBoYXMgYmVlbiBhbm5vdGF0ZWQKICAgICBjb3JyZXNwb25kaW5nbHkgZm9yIHRoZSBzeW1ib2xzIG5lZWRlZC4gICovCiAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmICgoKF9fR05VQ19fID09IDMpICYmIChfX0dOVUNfTUlOT1JfXyA+PSAzKSkgfHwgKF9fR05VQ19fID4gMykpCkBAIC0xODcyOSw3ICsxODcyMCw3IEBACiAgaW50IG1haW4gKCkKICB7CiAgICB2b2lkICpzZWxmID0gZGxvcGVuICgwLCBMVF9ETEdMT0JBTHxMVF9ETExBWllfT1JfTk9XKTsKLUBAIC0xMjgzMSw3ICsxMzQ4Niw3IEBAIGlmIHRlc3QgIiRlbmFibGVfc2hhcmVkIiA9ICJ5ZXMiOyB0aGVuCitAQCAtMTI3NzksNyArMTM0MzQsNyBAQCBpZiB0ZXN0ICIkZW5hYmxlX3NoYXJlZCIgPSAieWVzIjsgdGhlbgogICMgc2luY2UgbGliYmZkIG1heSBub3QgcHVsbCBpbiB0aGUgZW50aXJldHkgb2YgbGliaWJlcnR5LgogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICAgIGlmIHRlc3QgLW4gIiR4IjsgdGhlbgpAQCAtMTg3MzgsNyArMTg3MjksNyBAQAogICAgZmkKICAKICAgIGNhc2UgIiR7aG9zdH0iIGluCi1AQCAtMTM4MDcsMTMgKzE0NDYyLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV8KK0BAIC0xMzc1NiwxMyArMTQ0MTEsMjAgQEAgZXhlZXh0PSdgJEVDSE8gIiRleGVleHQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X3Vuc2V0PSdgJEVDSE8gIiRsdF91bnNldCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfU1AyTkw9J2AkRUNITyAiJGx0X1NQMk5MIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9OTDJTUD0nYCRFQ0hPICIkbHRfTkwyU1AiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMTg3NTksNyArMTg3NTAsNyBAQAogIFNUUklQPSdgJEVDSE8gIiRTVFJJUCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgUkFOTElCPSdgJEVDSE8gIiRSQU5MSUIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG9sZF9wb3N0aW5zdGFsbF9jbWRzPSdgJEVDSE8gIiRvbGRfcG9zdGluc3RhbGxfY21kcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTM4MjgsMTQgKzE0NDkwLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGwKK0BAIC0xMzc3NywxNCArMTQ0MzksMTcgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSIgfCAkU0VEICIkZGUKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jZGVjbD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSdgJEVDSE8gIiRsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xODc3OCw3ICsxODc2OSw3IEBACiAgRFNZTVVUSUw9J2AkRUNITyAiJERTWU1VVElMIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBOTUVESVQ9J2AkRUNITyAiJE5NRURJVCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTElQTz0nYCRFQ0hPICIkTElQTyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTM4NjgsMTIgKzE0NTMzLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2QKK0BAIC0xMzgxNywxMiArMTQ0ODIsMTIgQEAgaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0nYCRFQ0hPICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3EKICBoYXJkY29kZV9hdXRvbWF0aWM9J2AkRUNITyAiJGhhcmRjb2RlX2F1dG9tYXRpYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgaW5oZXJpdF9ycGF0aD0nYCRFQ0hPICIkaW5oZXJpdF9ycGF0aCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbGlua19hbGxfZGVwbGlicz0nYCRFQ0hPICIkbGlua19hbGxfZGVwbGlicyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCkBAIC0xODc5Miw3ICsxODc4Myw3IEBACiAgZmlsZV9saXN0X3NwZWM9J2AkRUNITyAiJGZpbGVfbGlzdF9zcGVjIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluaz0nYCRFQ0hPICIkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbmsiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIG5lZWRfbGliX3ByZWZpeD0nYCRFQ0hPICIkbmVlZF9saWJfcHJlZml4IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKLUBAIC0xMzkyOCw4ICsxNDU5MywxMyBAQCByZWxvYWRfZmxhZyBcCitAQCAtMTM4NzcsOCArMTQ1NDIsMTMgQEAgcmVsb2FkX2ZsYWcgXAogIE9CSkRVTVAgXAogIGRlcGxpYnNfY2hlY2tfbWV0aG9kIFwKICBmaWxlX21hZ2ljX2NtZCBcCkBAIC0xODgwNiw3ICsxODc5Nyw3IEBACiAgU1RSSVAgXAogIFJBTkxJQiBcCiAgQ0MgXAotQEAgLTEzOTM5LDEyICsxNDYwOSwxNCBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlIFwKK0BAIC0xMzg4OCwxMiArMTQ1NTgsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2wgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4IFwKQEAgLTE4ODIyLDcgKzE4ODEzLDcgQEAKICBEU1lNVVRJTCBcCiAgTk1FRElUIFwKICBMSVBPIFwKLUBAIC0xMzk2MCw3ICsxNDYzMiw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKK0BAIC0xMzkwOSw3ICsxNDU4MSw2IEBAIG5vX3VuZGVmaW5lZF9mbGFnIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIFwKICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX2xkIFwKICBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIFwKQEAgLTE4ODMwLDcgKzE4ODIxLDcgQEAKICBleGNsdWRlX2V4cHN5bXMgXAogIGluY2x1ZGVfZXhwc3ltcyBcCiAgZmlsZV9saXN0X3NwZWMgXAotQEAgLTEzOTk2LDYgKzE0NjY3LDcgQEAgbW9kdWxlX2NtZHMgXAorQEAgLTEzOTQ1LDYgKzE0NjE2LDcgQEAgbW9kdWxlX2NtZHMgXAogIG1vZHVsZV9leHBzeW1fY21kcyBcCiAgZXhwb3J0X3N5bWJvbHNfY21kcyBcCiAgcHJlbGlua19jbWRzIFwKQEAgLTE4ODM4LDcgKzE4ODI5LDcgQEAKICBwb3N0aW5zdGFsbF9jbWRzIFwKICBwb3N0dW5pbnN0YWxsX2NtZHMgXAogIGZpbmlzaF9jbWRzIFwKLUBAIC0xNDc2MSw3ICsxNTQzMyw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKK0BAIC0xNDcxMCw3ICsxNTM4Miw4IEBAICRhc19lY2hvIFgiJGZpbGUiIHwKICAjIE5PVEU6IENoYW5nZXMgbWFkZSB0byB0aGlzIGZpbGUgd2lsbCBiZSBsb3N0OiBsb29rIGF0IGx0bWFpbi5zaC4KICAjCiAgIyAgIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAwNSwKQEAgLTE4ODQ4LDcgKzE4ODM5LDcgQEAKICAjICAgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCwgMTk5NgogICMKICAjICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRvb2wuCi1AQCAtMTQ4NjQsMTkgKzE1NTM3LDQyIEBAIFNQMk5MPSRsdF9sdF9TUDJOTAorQEAgLTE0ODEzLDE5ICsxNTQ4Niw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKICAjIHR1cm4gbmV3bGluZXMgaW50byBzcGFjZXMuCiAgTkwyU1A9JGx0X2x0X05MMlNQCiAgCkBAIC0xODg5Miw3ICsxODg4Myw3IEBACiAgIyBBIHN5bWJvbCBzdHJpcHBpbmcgcHJvZ3JhbS4KICBTVFJJUD0kbHRfU1RSSVAKICAKLUBAIC0xNDkwNiw2ICsxNTYwMiwxMiBAQCBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzPSRsdF9sdF9jCitAQCAtMTQ4NTUsNiArMTU1NTEsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKICAjIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgogIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAogIApAQCAtMTg5MDUsNyArMTg4OTYsNyBAQAogICMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgogIG9iamRpcj0kb2JqZGlyCiAgCi1AQCAtMTQ5MTUsNiArMTU2MTcsOSBAQCBNQUdJQ19DTUQ9JE1BR0lDX0NNRAorQEAgLTE0ODY0LDYgKzE1NTY2LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKICAjIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVuIGRvaW5nIGNvbXBpbGF0aW9uPwogIG5lZWRfbG9ja3M9JGx0X25lZWRfbG9ja3MKICAKQEAgLTE4OTE1LDcgKzE4OTA2LDcgQEAKICAjIFRvb2wgdG8gbWFuaXB1bGF0ZSBhcmNoaXZlZCBEV0FSRiBkZWJ1ZyBzeW1ib2wgZmlsZXMgb24gTWFjIE9TIFguCiAgRFNZTVVUSUw9JGx0X0RTWU1VVElMCiAgCi1AQCAtMTUwMjksMTIgKzE1NzM0LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKK0BAIC0xNDk3OCwxMiArMTU2ODMsMTIgQEAgd2l0aF9nY2M9JEdDQwogICMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4KICBub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnCiAgCkBAIC0xODkzMSw3ICsxODkyMiw3IEBACiAgIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgogIGxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljCiAgCi1AQCAtMTUxMjEsOSArMTU4MjYsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCitAQCAtMTUwNzAsOSArMTU3NzUsNiBAQCBpbmhlcml0X3JwYXRoPSRpbmhlcml0X3JwYXRoCiAgIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCiAgbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwogIApAQCAtMTg5NDEsNyArMTg5MzIsNyBAQAogICMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgogIGFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCiAgCi1AQCAtMTUxMzksNiArMTU4NDEsOSBAQCBpbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcworQEAgLTE1MDg4LDYgKzE1NzkwLDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKICAjIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgogIHByZWxpbmtfY21kcz0kbHRfcHJlbGlua19jbWRzCiAgCkBAIC0xODk1MSw3ICsxODk0Miw3IEBACiAgIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCiAgZmlsZV9saXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjCiAgCi1AQCAtMTUxNzEsMjEwICsxNTg3NiwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCitAQCAtMTUxMjAsMjEwICsxNTgyNSwxNjkgQEAgbHRtYWluPSIkYWNfYXV4X2Rpci9sdG1haW4uc2giCiAgICAjIGlmIGZpbmRzIG1peGVkIENSL0xGIGFuZCBMRi1vbmx5IGxpbmVzLiAgU2luY2Ugc2VkIG9wZXJhdGVzIGluCiAgICAjIHRleHQgbW9kZSwgaXQgcHJvcGVybHkgY29udmVydHMgbGluZXMgdG8gQ1IvTEYuICBUaGlzIGJhc2ggcHJvYmxlbQogICAgIyBpcyByZXBvcnRlZGx5IGZpeGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KQEAgLTE5MTUzLDkgKzE5MTQ0LDE1IEBACiAtX0xUX0VPRgogLSAgICA7OwogLSAgZXNhYworLQorLQorLSAgc2VkIC1uICcvXiMgR2VuZXJhdGVkIHNoZWxsIGZ1bmN0aW9ucyBpbnNlcnRlZCBoZXJlLywkcCcgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAorLSAgICB8fCAocm0gLWYgIiRjZmdmaWxlIjsgZXhpdCAxKQorLQorLSAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogKyAgc2VkICckcScgIiRsdG1haW4iID4+ICIkY2ZnZmlsZSIgXAogKyAgICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKKysKICsgIGlmIHRlc3QgeCIkeHNpX3NoZWxsIiA9IHh5ZXM7IHRoZW4KICsgIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkkLywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCiArZnVuY19kaXJuYW1lICgpXApAQCAtMTkzMTMsMjAgKzE5MzEwLDE3IEBACiArICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mNQogKyRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxsIGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CiArZmkKLSAKLS0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKLS0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKLSAKLS0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKKysKKysKICsgICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CiAgICAgIChybSAtZiAiJG9maWxlIiAmJiBjcCAiJGNmZ2ZpbGUiICIkb2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZSIpCiAgICBjaG1vZCAreCAiJG9maWxlIgogIAotSW5kZXg6IGdpdC9vcGNvZGVzL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL29wY29kZXMvY29uZmlndXJlLmFjCi0rKysgZ2l0L29wY29kZXMvY29uZmlndXJlLmFjCi1AQCAtMTY2LDcgKzE2Niw3IEBAIGNoYW5nZXF1b3RlKCwpZG5sCitkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9jb25maWd1cmUuYWMgYi9vcGNvZGVzL2NvbmZpZ3VyZS5hYworaW5kZXggNGViMTkwMDVlOC4uMTlhNTc2MDhiOSAxMDA2NDQKKy0tLSBhL29wY29kZXMvY29uZmlndXJlLmFjCisrKysgYi9vcGNvZGVzL2NvbmZpZ3VyZS5hYworQEAgLTE3MCw3ICsxNzAsNyBAQCBjaGFuZ2VxdW90ZSgsKWRubAogICAgeD1gc2VkIC1uIC1lICdzL15bIAldKlBJQ0ZMQUdbIAldKj1bIAldKi8vcCcgPCAuLi9saWJpYmVydHkvTWFrZWZpbGUgfCBzZWQgLW4gJyRwJ2AKICBjaGFuZ2VxdW90ZShbLF0pZG5sCiAgICBpZiB0ZXN0IC1uICIkeCI7IHRoZW4KQEAgLTE5MzM1LDEwICsxOTMyOSwxMCBAQAogICAgZmkKICAKICAgIGNhc2UgIiR7aG9zdH0iIGluCi1JbmRleDogZ2l0L3psaWIvY29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvemxpYi9jb25maWd1cmUKLSsrKyBnaXQvemxpYi9jb25maWd1cmUKK2RpZmYgLS1naXQgYS96bGliL2NvbmZpZ3VyZSBiL3psaWIvY29uZmlndXJlCitpbmRleCAwNDFjYmRiZjcxLi4xOWQ2MDVmYzg1IDEwMDc1NQorLS0tIGEvemxpYi9jb25maWd1cmUKKysrKyBiL3psaWIvY29uZmlndXJlCiBAQCAtNjQ2LDggKzY0NiwxMSBAQCBPVE9PTAogIExJUE8KICBOTUVESVQKQEAgLTE5Mzg4LDcgKzE5MzgyLDcgQEAKICAgICB0ZXN0ICJYYHByaW50IC1yIC0tICRFQ0hPIDI+L2Rldi9udWxsYCIgPSAiWCRFQ0hPIjsgdGhlbgogICAgRUNITz0ncHJpbnQgLXIgLS0nCiAgZWxpZiB0ZXN0ICJYYHByaW50ZiAlcyAkRUNITyAyPi9kZXYvbnVsbGAiID0gIlgkRUNITyI7IHRoZW4KLUBAIC01MDA0LDggKzUwMTAsOCBAQCAkYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1CitAQCAtNTAwNCw4ICs1MDEwLDggQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cy4uLiAiID4mNjsKICAjIFRyeSBzb21lIFhTSSBmZWF0dXJlcwogIHhzaV9zaGVsbD1ubwogICggX2x0X2R1bW15PSJhL2IvYyIKQEAgLTE5NTI0LDcgKzE5NTE4LDcgQEAKICBmaWxlX21hZ2ljX2NtZD0kbHRfY3ZfZmlsZV9tYWdpY19jbWQKICBkZXBsaWJzX2NoZWNrX21ldGhvZD0kbHRfY3ZfZGVwbGlic19jaGVja19tZXRob2QKICB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KLUBAIC01NDA3LDkgKzU1MDgsMTYzIEBAIHRlc3QgLXogIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgJiYgZGVwbGkKK0BAIC01NDA1LDExICs1NTA2LDE2NSBAQCB0ZXN0IC16ICIkZGVwbGlic19jaGVja19tZXRob2QiICYmIGRlcGxpYnNfY2hlY2tfbWV0aG9kPXVua25vd24KICAKICAKICAKQEAgLTE5NTM4LDYgKzE5NTMyLDggQEAKICsKICsKICsKKyAKKyAKICBpZiB0ZXN0IC1uICIkYWNfdG9vbF9wcmVmaXgiOyB0aGVuCiAtICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiR7YWNfdG9vbF9wcmVmaXh9YXIiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgogLXNldCBkdW1teSAke2FjX3Rvb2xfcHJlZml4fWFyOyBhY193b3JkPSQyCkBAIC0xOTczOCw3ICsxOTczNCw3IEBACiAgICBpZiB0ZXN0ICJ4JGFjX2N0X0FSIiA9IHg7IHRoZW4KICAgICAgQVI9ImZhbHNlIgogICAgZWxzZQotQEAgLTU0OTUsMTIgKzU3NTgsMTAgQEAgYWNfdG9vbF93YXJuZWQ9eWVzIDs7CitAQCAtNTQ5NSwxNiArNTc1OCw3MiBAQCBhY190b29sX3dhcm5lZD15ZXMgOzsKICBlc2FjCiAgICAgIEFSPSRhY19jdF9BUgogICAgZmkKQEAgLTE5NzUwLDEzICsxOTc0NiwxNyBAQAogLXRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1CiArOiAke0FSPWFyfQogKzogJHtBUl9GTEFHUz1jcnV9Ci0gCi0gCi0gCi1AQCAtNTUxMiw2ICs1NzczLDY0IEBAIHRlc3QgLXogIiRBUl9GTEFHUyIgJiYgQVJfRkxBR1M9Y3J1Ci0gCi0gCi0gCisrCisrCisrCisrCisrCisrCisrCisrCisrCisrCisrCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJTEUgc3VwcG9ydCIgPiY1CiArJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQuLi4gIiA+JjY7IH0KICtpZiAke2x0X2N2X2FyX2F0X2ZpbGUrOn0gZmFsc2U7IHRoZW4gOgpAQCAtMTk3NjksNyArMTk3NjksNyBAQAogK2ludAogK21haW4gKCkKICt7Ci0rCisgCiArICA7CiArICByZXR1cm4gMDsKICt9CkBAIC0xOTc5NSwyOSArMTk3OTUsMjIgQEAKICsgICAgICAgIGZpCiArICAgICAgZmkKICsgICAgICBybSAtZiBjb25mdGVzdC4qIGxpYmNvbmZ0ZXN0LmEKLSsKKyAKICtmaQogK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAotKworIAogK2ZpCiAreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRsdF9jdl9hcl9hdF9maWxlIiA+JjUKICskYXNfZWNobyAiJGx0X2N2X2FyX2F0X2ZpbGUiID4mNjsgfQotKworIAogK2lmIHRlc3QgIngkbHRfY3ZfYXJfYXRfZmlsZSIgPSB4bm87IHRoZW4KICsgIGFyY2hpdmVyX2xpc3Rfc3BlYz0KICtlbHNlCiArICBhcmNoaXZlcl9saXN0X3NwZWM9JGx0X2N2X2FyX2F0X2ZpbGUKICtmaQotKwotKwotKwotKwotKwotKwotKwotIGlmIHRlc3QgLW4gIiRhY190b29sX3ByZWZpeCI7IHRoZW4KLSAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJHthY190b29sX3ByZWZpeH1zdHJpcCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCi0gc2V0IGR1bW15ICR7YWNfdG9vbF9wcmVmaXh9c3RyaXA7IGFjX3dvcmQ9JDIKKyAKKyAKKyAKIEBAIC01ODQ2LDggKzYxNjUsOCBAQCBlc2FjCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9InNlZCAtbiAtZSAncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCcgLWUgJ3MvXiRzeW1jb2RlKiAuKiBcKC4qXCkkL2V4dGVybiBjaGFyIFwxOy9wJyIKICAKQEAgLTE5ODY1LDcgKzE5ODU4LDcgQEAKICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICB2b2lkICAgICAgICphZGRyZXNzOwogIH0KLUBAIC01OTYxLDggKzYyOTMsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkKK0BAIC01OTYxLDggKzYyOTMsOCBAQCBzdGF0aWMgY29uc3Qgdm9pZCAqbHRfcHJlbG9hZGVkX3NldHVwKCkgewogIF9MVF9FT0YKICAJICAjIE5vdyB0cnkgbGlua2luZyB0aGUgdHdvIGZpbGVzLgogIAkgIG12IGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRzdG0uJGFjX29iamV4dApAQCAtMTk4ODcsNyArMTk4ODAsNyBAQAogIAllbHNlCiAgCSAgZWNobyAiY2Fubm90IGZpbmQgbm1fdGVzdF9mdW5jIGluICRubGlzdCIgPiY1CiAgCWZpCi1AQCAtNjAxMCw2ICs2MzQyLDE4IEBAIGVsc2UKK0BAIC02MDEwLDYgKzYzNDIsMTkgQEAgZWxzZQogICRhc19lY2hvICJvayIgPiY2OyB9CiAgZmkKICAKQEAgLTE5OTAzLDEzICsxOTg5NiwxNyBAQAogKwogKwogKworKwogIAogIAogIAotQEAgLTYwMzEsNiArNjM3NSw0MiBAQCBmaQorQEAgLTYwMjcsNiArNjM3Miw0MSBAQCBmaQogIAogIAogIAorKworKworKwogK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHN5c3Jvb3QiID4mNQogKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzeXNyb290Li4uICIgPiY2OyB9CiArCkBAIC0xOTk0MiwxMyArMTk5MzksOSBAQAogKwogKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtsdF9zeXNyb290Oi1ub30iID4mNQogKyRhc19lY2hvICIke2x0X3N5c3Jvb3Q6LW5vfSIgPiY2OyB9Ci0rCi0rCi0rCi0rCiAgCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYnRvb2wtbG9jayB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHtlbmFibGVfbGlidG9vbF9sb2NrK3NldH0iID0gc2V0OyB0aGVuIDoKKyAKKyAKIEBAIC02MjQxLDYgKzY2MjEsMTIzIEBAIGVzYWMKICAKICBuZWVkX2xvY2tzPSIkZW5hYmxlX2xpYnRvb2xfbG9jayIKQEAgLTIwMTEwLDcgKzIwMTAzLDcgQEAKICAKICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgICAgIGx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCi1AQCAtNzgyMyw2ICs4MzIxLDEyIEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciAkY29tcGlsZXIgb3B0aW8KK0BAIC03ODIzLDYgKzgzMjEsMTIgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAJbHRfcHJvZ19jb21waWxlcl9waWM9Jy0tc2hhcmVkJwogIAlsdF9wcm9nX2NvbXBpbGVyX3N0YXRpYz0nLS1zdGF0aWMnCiAgCTs7CkBAIC0yMDEyMyw3ICsyMDExNiw3IEBACiAgICAgICAgcGdjYyogfCBwZ2Y3NyogfCBwZ2Y5MCogfCBwZ2Y5NSogfCBwZ2ZvcnRyYW4qKQogICAgICAgICAgIyBQb3J0bGFuZCBHcm91cCBjb21waWxlcnMgKCpub3QqIHRoZSBQZW50aXVtIGdjYyBjb21waWxlciwKICAJIyB3aGljaCBsb29rcyB0byBiZSBhIGRlYWQgcHJvamVjdCkKLUBAIC03ODg1LDcgKzgzODksNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgJGNvbXBpbGVyIG9wdGlvCitAQCAtNzg4NSw3ICs4Mzg5LDcgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRjb21waWxlciBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gIiA+JjY7IH0KICAgICAgICBsdF9wcm9nX2NvbXBpbGVyX3BpYz0nLUtQSUMnCiAgICAgICAgbHRfcHJvZ19jb21waWxlcl9zdGF0aWM9Jy1Cc3RhdGljJwogICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCkBAIC0yMDI4NCw3ICsyMDI3Nyw3IEBACiAgCiAgICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogICAgICAgICAgYXJjaGl2ZV9leHBzeW1fY21kcz0nJENDIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJyJcJHt3bH0kbm9fZW50cnlfZmxhZyInICRjb21waWxlcl9mbGFncyBgaWYgdGVzdCAieCR7YWxsb3dfdW5kZWZpbmVkX2ZsYWd9IiAhPSAieCI7IHRoZW4gZnVuY19lY2hvX2FsbCAiJHt3bH0ke2FsbG93X3VuZGVmaW5lZF9mbGFnfSI7IGVsc2UgOjsgZmlgICciXCR7d2x9JGV4cF9zeW1fZmxhZzpcJGV4cG9ydF9zeW1ib2xzICRzaGFyZWRfZmxhZyIKLUBAIC04NzE3LDcgKzkyNDQsMTMgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg3MTcsNyArOTI0NCwxMyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAJZWxzZQogIAkgIyBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgbGlicGF0aCBmcm9tIHRoZSB2YWx1ZSBlbmNvZGVkIGluIGFuCiAgCSAjIGVtcHR5IGV4ZWN1dGFibGUuCkBAIC0yMDM0Miw3ICsyMDMzNSw3IEBACiAgCiAgCSBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ibGlicGF0aDokbGliZGlyOiciJGFpeF9saWJwYXRoIgogIAkgICMgV2FybmluZyAtIHdpdGhvdXQgdXNpbmcgdGhlIG90aGVyIHJ1biB0aW1lIGxvYWRpbmcgZmxhZ3MsCi1AQCAtODc5MywyMCArOTMzMyw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODc5MywyMCArOTMzMyw2MyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAgICAgICAjIE1pY3Jvc29mdCBWaXN1YWwgQysrLgogICAgICAgICMgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBpcyBhY3R1YWxseSBtZWFuaW5nbGVzcywgYXMgdGhlcmUgaXMKICAgICAgICAjIG5vIHNlYXJjaCBwYXRoIGZvciBETExzLgpAQCAtMjA0MjAsNyArMjA0MTMsNyBAQAogICAgICAgIDs7CiAgCiAgICAgIGRhcndpbiogfCByaGFwc29keSopCi1AQCAtODg2Nyw3ICs5NDUwLDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg4NjcsNyArOTQ1MCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnBhdGg9Ii91c3IvbGliOi9saWIiOyBmaQogIAogICAgICAjIEZyZWVCU0QgMyBhbmQgZ3JlYXRlciB1c2VzIGdjYyAtc2hhcmVkIHRvIGRvIHNoYXJlZCBsaWJyYXJpZXMuCiAgICAgIGZyZWVic2QqIHwgZHJhZ29uZmx5KikKQEAgLTIwNDI5LDcgKzIwNDIyLDcgQEAKICAgICAgICBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSctUiRsaWJkaXInCiAgICAgICAgaGFyZGNvZGVfZGlyZWN0PXllcwogICAgICAgIGhhcmRjb2RlX3NobGlicGF0aF92YXI9bm8KLUBAIC04ODc1LDcgKzk0NTgsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwCitAQCAtODg3NSw3ICs5NDU4LDcgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCiAgICAgIGhwdXg5KikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgpAQCAtMjA0MzgsNyArMjA0MzEsNyBAQAogICAgICAgIGVsc2UKICAJYXJjaGl2ZV9jbWRzPSckUk0gJG91dHB1dF9vYmpkaXIvJHNvbmFtZX4kTEQgLWIgK2IgJGluc3RhbGxfbGliZGlyIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFnc350ZXN0ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgPSAkbGliIHx8IG12ICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJGxpYicKICAgICAgICBmaQotQEAgLTg4OTEsNyArOTQ3NCw3IEBAIGlmIHRlc3QgLXogIiRhaXhfbGlicGF0aCI7IHRoZW4gYWl4X2xpYnAKK0BAIC04ODkxLDcgKzk0NzQsNyBAQCBpZiB0ZXN0IC16ICIkYWl4X2xpYnBhdGgiOyB0aGVuIGFpeF9saWJwYXRoPSIvdXNyL2xpYjovbGliIjsgZmkKICAKICAgICAgaHB1eDEwKikKICAgICAgICBpZiB0ZXN0ICIkR0NDIiA9IHllcyAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0gbm87IHRoZW4KQEAgLTIwNDQ3LDcgKzIwNDQwLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJExEIC1iICtoICRzb25hbWUgK2IgJGluc3RhbGxfbGliZGlyIC1vICRsaWIgJGxpYm9ianMgJGRlcGxpYnMgJGxpbmtlcl9mbGFncycKICAgICAgICBmaQotQEAgLTg5MTUsMTAgKzk0OTgsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicAorQEAgLTg5MTUsMTAgKzk0OTgsMTAgQEAgaWYgdGVzdCAteiAiJGFpeF9saWJwYXRoIjsgdGhlbiBhaXhfbGlicGF0aD0iL3Vzci9saWI6L2xpYiI7IGZpCiAgCSAgYXJjaGl2ZV9jbWRzPSckQ0MgLXNoYXJlZCAke3dsfStoICR7d2x9JHNvbmFtZSAtbyAkbGliICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncycKICAJICA7OwogIAlpYTY0KikKQEAgLTIwNTA4LDcgKzIwNTAxLDcgQEAKICAgICAgICBlbHNlCiAgCWFyY2hpdmVfY21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVyX2ZsYWdzIC1zb25hbWUgJHNvbmFtZSBgdGVzdCAtbiAiJHZlcnN0cmluZyIgJiYgZnVuY19lY2hvX2FsbCAiLXNldF92ZXJzaW9uICR2ZXJzdHJpbmciYCAtdXBkYXRlX3JlZ2lzdHJ5ICR7b3V0cHV0X29iamRpcn0vc29fbG9jYXRpb25zIC1vICRsaWInCiAgCWFyY2hpdmVfZXhwc3ltX2NtZHM9JyRDQyAtc2hhcmVkICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9mbGFncyAtc29uYW1lICRzb25hbWUgYHRlc3QgLW4gIiR2ZXJzdHJpbmciICYmIGZ1bmNfZWNob19hbGwgIi1zZXRfdmVyc2lvbiAkdmVyc3RyaW5nImAgLXVwZGF0ZV9yZWdpc3RyeSAke291dHB1dF9vYmpkaXJ9L3NvX2xvY2F0aW9ucyAtZXhwb3J0c19maWxlICRleHBvcnRfc3ltYm9scyAtbyAkbGliJwotQEAgLTkxMDEsNyArOTY5Nyw3IEBAIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmoKK0BAIC05MTAxLDcgKzk2OTcsNyBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICAgb3NmNCogfCBvc2Y1KikJIyBhcyBvc2YzKiB3aXRoIHRoZSBhZGRpdGlvbiBvZiAtbXN5bSBmbGFnCiAgICAgICAgaWYgdGVzdCAiJEdDQyIgPSB5ZXM7IHRoZW4KICAJYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JyAke3dsfS1leHBlY3RfdW5yZXNvbHZlZCAke3dsfVwqJwpAQCAtMjA1MTcsNyArMjA1MTAsNyBAQAogIAloYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPScke3dsfS1ycGF0aCAke3dsfSRsaWJkaXInCiAgICAgICAgZWxzZQogIAlhbGxvd191bmRlZmluZWRfZmxhZz0nIC1leHBlY3RfdW5yZXNvbHZlZCBcKicKLUBAIC05MTIwLDkgKzk3MTYsOSBAQCBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqCitAQCAtOTEyMCw5ICs5NzE2LDkgQEAgcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBcCiAgICAgICAgbm9fdW5kZWZpbmVkX2ZsYWc9JyAteiBkZWZzJwogICAgICAgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCiAgCXdsYXJjPScke3dsfScKQEAgLTIwNjY3LDcgKzIwNjYwLDcgQEAKICBpbnQgbWFpbiAoKQogIHsKICAgIHZvaWQgKnNlbGYgPSBkbG9wZW4gKDAsIExUX0RMR0xPQkFMfExUX0RMTEFaWV9PUl9OT1cpOwotQEAgLTEyMjY2LDEzICsxMjkyMSwyMCBAQCBleGVleHQ9J2AkRUNITyAiJGV4ZWV4dCIgfCAkU0VEICIkZGVsYXlfCitAQCAtMTIyNjcsMTMgKzEyOTIyLDIwIEBAIGV4ZWV4dD0nYCRFQ0hPICIkZXhlZXh0IiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF91bnNldD0nYCRFQ0hPICIkbHRfdW5zZXQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X1NQMk5MPSdgJEVDSE8gIiRsdF9TUDJOTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgbHRfTkwyU1A9J2AkRUNITyAiJGx0X05MMlNQIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKQEAgLTIwNjg4LDcgKzIwNjgxLDcgQEAKICBTVFJJUD0nYCRFQ0hPICIkU1RSSVAiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIFJBTkxJQj0nYCRFQ0hPICIkUkFOTElCIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBvbGRfcG9zdGluc3RhbGxfY21kcz0nYCRFQ0hPICIkb2xkX3Bvc3RpbnN0YWxsX2NtZHMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEyMjg3LDE0ICsxMjk0OSwxNyBAQCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF9waXBlPSdgJEVDSE8gIiRsCitAQCAtMTIyODgsMTQgKzEyOTUwLDE3IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUiIHwgJFNFRCAiJGRlCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nYCRFQ0hPICIkbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9J2AkRUNITyAiJGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjA3MDcsNyArMjA3MDAsNyBAQAogIERTWU1VVElMPSdgJEVDSE8gIiREU1lNVVRJTCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgTk1FRElUPSdgJEVDSE8gIiROTUVESVQiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIExJUE89J2AkRUNITyAiJExJUE8iIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwotQEAgLTEyMzI3LDEyICsxMjk5MiwxMiBAQCBoYXJkY29kZV9zaGxpYnBhdGhfdmFyPSdgJEVDSE8gIiRoYXJkY29kCitAQCAtMTIzMjgsMTIgKzEyOTkzLDEyIEBAIGhhcmRjb2RlX3NobGlicGF0aF92YXI9J2AkRUNITyAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xCiAgaGFyZGNvZGVfYXV0b21hdGljPSdgJEVDSE8gIiRoYXJkY29kZV9hdXRvbWF0aWMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGluaGVyaXRfcnBhdGg9J2AkRUNITyAiJGluaGVyaXRfcnBhdGgiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwogIGxpbmtfYWxsX2RlcGxpYnM9J2AkRUNITyAiJGxpbmtfYWxsX2RlcGxpYnMiIHwgJFNFRCAiJGRlbGF5X3NpbmdsZV9xdW90ZV9zdWJzdCJgJwpAQCAtMjA3MjEsNyArMjA3MTQsNyBAQAogIGZpbGVfbGlzdF9zcGVjPSdgJEVDSE8gIiRmaWxlX2xpc3Rfc3BlYyIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCiAgdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms9J2AkRUNITyAiJHZhcmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rIiB8ICRTRUQgIiRkZWxheV9zaW5nbGVfcXVvdGVfc3Vic3QiYCcKICBuZWVkX2xpYl9wcmVmaXg9J2AkRUNITyAiJG5lZWRfbGliX3ByZWZpeCIgfCAkU0VEICIkZGVsYXlfc2luZ2xlX3F1b3RlX3N1YnN0ImAnCi1AQCAtMTIzODcsOCArMTMwNTIsMTMgQEAgcmVsb2FkX2ZsYWcgXAorQEAgLTEyMzg4LDggKzEzMDUzLDEzIEBAIHJlbG9hZF9mbGFnIFwKICBPQkpEVU1QIFwKICBkZXBsaWJzX2NoZWNrX21ldGhvZCBcCiAgZmlsZV9tYWdpY19jbWQgXApAQCAtMjA3MzUsNyArMjA3MjgsNyBAQAogIFNUUklQIFwKICBSQU5MSUIgXAogIENDIFwKLUBAIC0xMjM5OCwxMiArMTMwNjgsMTQgQEAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBcCitAQCAtMTIzOTksMTIgKzEzMDY5LDE0IEBAIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGUgXAogIGx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsIFwKICBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcyBcCiAgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeCBcCkBAIC0yMDc1MSw3ICsyMDc0NCw3IEBACiAgRFNZTVVUSUwgXAogIE5NRURJVCBcCiAgTElQTyBcCi1AQCAtMTI0MTksNyArMTMwOTEsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCitAQCAtMTI0MjAsNyArMTMwOTIsNiBAQCBub191bmRlZmluZWRfZmxhZyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyBcCiAgaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZCBcCiAgaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciBcCkBAIC0yMDc1OSw3ICsyMDc1Miw3IEBACiAgZXhjbHVkZV9leHBzeW1zIFwKICBpbmNsdWRlX2V4cHN5bXMgXAogIGZpbGVfbGlzdF9zcGVjIFwKLUBAIC0xMjQ1NSw2ICsxMzEyNiw3IEBAIG1vZHVsZV9jbWRzIFwKK0BAIC0xMjQ1Niw2ICsxMzEyNyw3IEBAIG1vZHVsZV9jbWRzIFwKICBtb2R1bGVfZXhwc3ltX2NtZHMgXAogIGV4cG9ydF9zeW1ib2xzX2NtZHMgXAogIHByZWxpbmtfY21kcyBcCkBAIC0yMDc2Nyw3ICsyMDc2MCw3IEBACiAgcG9zdGluc3RhbGxfY21kcyBcCiAgcG9zdHVuaW5zdGFsbF9jbWRzIFwKICBmaW5pc2hfY21kcyBcCi1AQCAtMTMwNTMsNyArMTM3MjUsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CitAQCAtMTMwNTQsNyArMTM3MjYsOCBAQCAkYXNfZWNobyBYIiRmaWxlIiB8CiAgIyBOT1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDogbG9vayBhdCBsdG1haW4uc2guCiAgIwogICMgICBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsCkBAIC0yMDc3Nyw3ICsyMDc3MCw3IEBACiAgIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tlaXQsIDE5OTYKICAjCiAgIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgotQEAgLTEzMTU2LDE5ICsxMzgyOSw0MiBAQCBTUDJOTD0kbHRfbHRfU1AyTkwKK0BAIC0xMzE1NywxOSArMTM4MzAsNDIgQEAgU1AyTkw9JGx0X2x0X1NQMk5MCiAgIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgogIE5MMlNQPSRsdF9sdF9OTDJTUAogIApAQCAtMjA4MjEsNyArMjA4MTQsNyBAQAogICMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0uCiAgU1RSSVA9JGx0X1NUUklQCiAgCi1AQCAtMTMxOTgsNiArMTM4OTQsMTIgQEAgZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfYworQEAgLTEzMTk5LDYgKzEzODk1LDEyIEBAIGdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzCiAgIyBUcmFuc2Zvcm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIgd2hlbiBsaWIgcHJlZml4IGlzIG5lZWRlZC4KICBnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9JGx0X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgKICAKQEAgLTIwODM0LDcgKzIwODI3LDcgQEAKICAjIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0ZW1wb3JhcnkgbGlidG9vbCBmaWxlcy4KICBvYmpkaXI9JG9iamRpcgogIAotQEAgLTEzMjA3LDYgKzEzOTA5LDkgQEAgTUFHSUNfQ01EPSRNQUdJQ19DTUQKK0BAIC0xMzIwOCw2ICsxMzkxMCw5IEBAIE1BR0lDX0NNRD0kTUFHSUNfQ01ECiAgIyBNdXN0IHdlIGxvY2sgZmlsZXMgd2hlbiBkb2luZyBjb21waWxhdGlvbj8KICBuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tzCiAgCkBAIC0yMDg0NCw3ICsyMDgzNyw3IEBACiAgIyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZpbGVzIG9uIE1hYyBPUyBYLgogIERTWU1VVElMPSRsdF9EU1lNVVRJTAogIAotQEAgLTEzMzIxLDEyICsxNDAyNiwxMiBAQCB3aXRoX2djYz0kR0NDCitAQCAtMTMzMjIsMTIgKzE0MDI3LDEyIEBAIHdpdGhfZ2NjPSRHQ0MKICAjIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCiAgbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwogIApAQCAtMjA4NjAsNyArMjA4NTMsNyBAQAogICMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4KICBsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwogIAotQEAgLTEzNDEzLDkgKzE0MTE4LDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAorQEAgLTEzNDE0LDkgKzE0MTE5LDYgQEAgaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aAogICMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgogIGxpbmtfYWxsX2RlcGxpYnM9JGxpbmtfYWxsX2RlcGxpYnMKICAKQEAgLTIwODcwLDcgKzIwODYzLDcgQEAKICAjIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4KICBhbHdheXNfZXhwb3J0X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9scwogIAotQEAgLTEzNDMxLDYgKzE0MTMzLDkgQEAgaW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXMKK0BAIC0xMzQzMiw2ICsxNDEzNCw5IEBAIGluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9leHBzeW1zCiAgIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KICBwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kcwogIApAQCAtMjA4ODAsNyArMjA4NzMsNyBAQAogICMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgogIGZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwogIAotQEAgLTEzNDYzLDIxMCArMTQxNjgsMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgorQEAgLTEzNDY0LDIxMCArMTQxNjksMTY5IEBAIGx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgogICAgIyBpZiBmaW5kcyBtaXhlZCBDUi9MRiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgogICAgIyB0ZXh0IG1vZGUsIGl0IHByb3Blcmx5IGNvbnZlcnRzIGxpbmVzIHRvIENSL0xGLiAgVGhpcyBiYXNoIHByb2JsZW0KICAgICMgaXMgcmVwb3J0ZWRseSBmaXhlZCwgYnV0IHdoeSBub3QgcnVuIG9uIG9sZCB2ZXJzaW9ucyB0b28/CkBAIC0yMTA4Miw5ICsyMTA3NSwxNSBAQAogLV9MVF9FT0YKIC0gICAgOzsKIC0gIGVzYWMKKy0KKy0KKy0gIHNlZCAtbiAnL14jIEdlbmVyYXRlZCBzaGVsbCBmdW5jdGlvbnMgaW5zZXJ0ZWQgaGVyZS8sJHAnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKKy0gICAgfHwgKHJtIC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKKy0KKy0gIG12IC1mICIkY2ZnZmlsZSIgIiRvZmlsZSIgfHwKICsgIHNlZCAnJHEnICIkbHRtYWluIiA+PiAiJGNmZ2ZpbGUiIFwKICsgICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCisrCiArICBpZiB0ZXN0IHgiJHhzaV9zaGVsbCIgPSB4eWVzOyB0aGVuCiArICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lICgpJC8sL159ICMgZnVuY19kaXJuYW1lIC9jXAogK2Z1bmNfZGlybmFtZSAoKVwKQEAgLTIxMjQyLDEyICsyMTI0MSwxMiBAQAogKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjUKICskYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiBVbmFibGUgdG8gc3Vic3RpdHV0ZSBleHRlbmRlZCBzaGVsbCBmdW5jdGlvbnMgaW4gJG9maWxlIiA+JjI7fQogK2ZpCi0gCi0tICBzZWQgLW4gJy9eIyBHZW5lcmF0ZWQgc2hlbGwgZnVuY3Rpb25zIGluc2VydGVkIGhlcmUvLCRwJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCi0tICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiOyBleGl0IDEpCi0gCi0tICBtdiAtZiAiJGNmZ2ZpbGUiICIkb2ZpbGUiIHx8CisrCisrCiArICAgbXYgLWYgIiRjZmdmaWxlIiAiJG9maWxlIiB8fAogICAgICAocm0gLWYgIiRvZmlsZSIgJiYgY3AgIiRjZmdmaWxlIiAiJG9maWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUiKQogICAgY2htb2QgK3ggIiRvZmlsZSIKICAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDctQWRkLXRoZS1hcm12NWUtYXJjaGl0ZWN0dXJlLXRvLWJpbnV0aWxzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4ZWY2YmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1BZGQtdGhlLWFybXY1ZS1hcmNoaXRlY3R1cmUtdG8tYmludXRpbHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGVmNTBkODQ4ZDk4M2Y4MWU0YTg2ZGQzZWVmNDkzM2UzNTc5MzM2ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyIE1hciAyMDE1IDAxOjM3OjEwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvMTVdIEFkZCB0aGUgYXJtdjVlIGFyY2hpdGVjdHVyZSB0byBiaW51dGlscwotCi1CaW51dGlscyBoYXMgYSBjb21tZW50IHRoYXQgaW5kaWNhdGVzIGl0IGlzIHN1cHBvc2VkIHRvIG1hdGNoIGdjYyBmb3IKLWFsbCBvZiB0aGUgc3VwcG9ydCAiLW1hcmNoPSIgc2V0dGluZ3MsIGJ1dCBpdCB3YXMgbGFja2luZyB0aGUgYXJtdjVlIHNldHRpbmcuCi1UaGlzIHdhcyBhIHNpbXBsZSB3YXkgdG8gYWRkIGl0LCBhcyB0aHVtYiBpbnN0cnVjdGlvbnMgc2hvdWxkbid0IGJlIGdlbmVyYXRlZAotYnkgdGhlIGNvbXBpbGVyIGFueXdheS4KLQotVXBzdHJlYW0tU3RhdHVzOiBEZW5pZWQKLVVwc3RyZWFtIG1haW50YWluZXIgaW5kaWNhdGVkIHRoYXQgd2Ugc2hvdWxkIG5vdCBiZSB1c2luZyBhcm12NWUsIGV2ZW4KLXRob3VnaCBpdCBpcyBhIGxlZ2FsIGFyY2hpY3R1cmUgZGVmaW5lZCBieSBvdXIgZ2NjLgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2FzL2NvbmZpZy90Yy1hcm0uYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1hcm0uYyBiL2dhcy9jb25maWcvdGMtYXJtLmMKLWluZGV4IDNmNTM4NGUxYzcuLjhkNWJjMTQ1YWYgMTAwNjQ0Ci0tLS0gYS9nYXMvY29uZmlnL3RjLWFybS5jCi0rKysgYi9nYXMvY29uZmlnL3RjLWFybS5jCi1AQCAtMjYyOTQsNiArMjYyOTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGFybV9hcmNoX29wdGlvbl90YWJsZSBhcm1fYXJjaHNbXSA9Ci0gICBBUk1fQVJDSF9PUFQgKCJhcm12NHQiLAlBUk1fQVJDSF9WNFQsCSBGUFVfQVJDSF9GUEEpLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjR0eG0iLAlBUk1fQVJDSF9WNFR4TSwJIEZQVV9BUkNIX0ZQQSksCi0gICBBUk1fQVJDSF9PUFQgKCJhcm12NSIsCUFSTV9BUkNIX1Y1LAkgRlBVX0FSQ0hfVkZQKSwKLSsgIEFSTV9BUkNIX09QVCAoImFybXY1ZSIsCUFSTV9BUkNIX1Y1VEUsCSBGUFVfQVJDSF9WRlApLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjV0IiwJQVJNX0FSQ0hfVjVULAkgRlBVX0FSQ0hfVkZQKSwKLSAgIEFSTV9BUkNIX09QVCAoImFybXY1dHhtIiwJQVJNX0FSQ0hfVjVUeE0sCSBGUFVfQVJDSF9WRlApLAotICAgQVJNX0FSQ0hfT1BUICgiYXJtdjV0ZSIsCUFSTV9BUkNIX1Y1VEUsCSBGUFVfQVJDSF9WRlApLAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNy1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyYzYzMTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDA3LWRvbi10LWxldC10aGUtZGlzdHJvLWNvbXBpbGVyLXBvaW50LXRvLXRoZS13cm9uZy1pbnMucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4Y2IwMTMxMDZjMzc5ZTgxZmU0MGNmZGY0ODZkOTgwNWM5ZTI3NmFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTozOTowMSArMDAwMAorU3ViamVjdDogW1BBVENIIDA3LzE1XSBkb24ndCBsZXQgdGhlIGRpc3RybyBjb21waWxlciBwb2ludCB0byB0aGUgd3JvbmcKKyBpbnN0YWxsYXRpb24gbG9jYXRpb24KKworVGhhbmtzIHRvIFJQIGZvciBoZWxwaW5nIGZpbmQgdGhlIHNvdXJjZSBjb2RlIGNhdXNpbmcgdGhlIGlzc3VlLgorCisyMDEwLzA4LzEzCitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliaWJlcnR5L01ha2VmaWxlLmluIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJpYmVydHkvTWFrZWZpbGUuaW4gYi9saWJpYmVydHkvTWFrZWZpbGUuaW4KK2luZGV4IDBiZTQ1YjRhZTguLjQ4MTc2MTZiYjIgMTAwNjQ0CistLS0gYS9saWJpYmVydHkvTWFrZWZpbGUuaW4KKysrKyBiL2xpYmliZXJ0eS9NYWtlZmlsZS5pbgorQEAgLTM2NCw3ICszNjQsOCBAQCBpbnN0YWxsLXN0cmlwOiBpbnN0YWxsCisgIyBtdWx0aWxpYi1zcGVjaWZpYyBmbGFncywgaXQncyBvdmVycmlkZGVuIGJ5IEZMQUdTX1RPX1BBU1MgZnJvbSB0aGUKKyAjIGRlZmF1bHQgbXVsdGlsaWIsIHNvIHdlIGhhdmUgdG8gdGFrZSBDRkxBR1MgaW50byBhY2NvdW50IGFzIHdlbGwsCisgIyBzaW5jZSBpdCB3aWxsIGJlIHBhc3NlZCB0aGUgbXVsdGlsaWIgZmxhZ3MuCistTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKKysjTVVMVElPU0RJUiA9IGAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9yeWAKKytNVUxUSU9TRElSID0gIiIKKyBpbnN0YWxsX3RvX2xpYmRpcjogYWxsCisgCWlmIHRlc3QgLW4gIiR7dGFyZ2V0X2hlYWRlcl9kaXJ9IjsgdGhlbiBcCisgCQkke21raW5zdGFsbGRpcnN9ICQoREVTVERJUikkKGxpYmRpcikvJChNVUxUSU9TRElSKTsgXAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1kb24tdC1sZXQtdGhlLWRpc3Ryby1jb21waWxlci1wb2ludC10by10aGUtd3JvbmctaW5zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTk5ZWQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtZG9uLXQtbGV0LXRoZS1kaXN0cm8tY29tcGlsZXItcG9pbnQtdG8tdGhlLXdyb25nLWlucy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gY2EyNWQ1NWNlZjgzOThiYWQ1MDhjMmIyYmUyOWFlYTVhYTNjNGQyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6Mzk6MDEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8xNV0gZG9uJ3QgbGV0IHRoZSBkaXN0cm8gY29tcGlsZXIgcG9pbnQgdG8gdGhlIHdyb25nCi0gaW5zdGFsbGF0aW9uIGxvY2F0aW9uCi0KLVRoYW5rcyB0byBSUCBmb3IgaGVscGluZyBmaW5kIHRoZSBzb3VyY2UgY29kZSBjYXVzaW5nIHRoZSBpc3N1ZS4KLQotMjAxMC8wOC8xMwotTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmliZXJ0eS9NYWtlZmlsZS5pbiB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliaWJlcnR5L01ha2VmaWxlLmluIGIvbGliaWJlcnR5L01ha2VmaWxlLmluCi1pbmRleCBlZDFiMzM0YzM2Li5kNGZmZDhiNTdiIDEwMDY0NAotLS0tIGEvbGliaWJlcnR5L01ha2VmaWxlLmluCi0rKysgYi9saWJpYmVydHkvTWFrZWZpbGUuaW4KLUBAIC0zNjQsNyArMzY0LDggQEAgaW5zdGFsbC1zdHJpcDogaW5zdGFsbAotICMgbXVsdGlsaWItc3BlY2lmaWMgZmxhZ3MsIGl0J3Mgb3ZlcnJpZGRlbiBieSBGTEFHU19UT19QQVNTIGZyb20gdGhlCi0gIyBkZWZhdWx0IG11bHRpbGliLCBzbyB3ZSBoYXZlIHRvIHRha2UgQ0ZMQUdTIGludG8gYWNjb3VudCBhcyB3ZWxsLAotICMgc2luY2UgaXQgd2lsbCBiZSBwYXNzZWQgdGhlIG11bHRpbGliIGZsYWdzLgotLU1VTFRJT1NESVIgPSBgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnlgCi0rI01VTFRJT1NESVIgPSBgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnlgCi0rTVVMVElPU0RJUiA9ICIiCi0gaW5zdGFsbF90b19saWJkaXI6IGFsbAotIAlpZiB0ZXN0IC1uICIke3RhcmdldF9oZWFkZXJfZGlyfSI7IHRoZW4gXAotIAkJJHtta2luc3RhbGxkaXJzfSAkKERFU1RESVIpJChsaWJkaXIpLyQoTVVMVElPU0RJUik7IFwKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDgtd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NzI3ODIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCkBAIC0wLDAgKzEsMjczIEBACitGcm9tIDk4ZjY4YzA4OTJiYTRiYmQ1M2IwYTBhNGNiYmRmMGI3MTk3ZTAzMjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAxNSBKYW4gMjAxNiAwNjozMTowOSArMDAwMAorU3ViamVjdDogW1BBVENIIDA4LzE1XSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcKKworMjAwOC0wNy0wMiAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+CisKKyAgICBsZC8KKyAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBlcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGQudGV4aW5mbyAoLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCisgICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjaworICAgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCisgICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCisgICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCisgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCisgICAgKGxkX29wdGlvbnMpOiBBZGQgLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgorICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCisKKzIwMDctMDYtMTMgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgorCisgICAgbGQvCisgICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCisgICAgKiBsZC5oIChhcmdzX3R5cGUpOiBBZGQgcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KKyAgICAqIGxkLnRleGluZm8gKC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcyk6IERvY3VtZW50LgorICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogQ2hlY2sKKyAgICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KKyAgICAqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZQorICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgorICAgICogbGV4c3VwLmMgKGVudW0gb3B0aW9uX3ZhbHVlcyk6IEFkZAorICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLgorICAgIChsZF9vcHRpb25zKTogQWRkIC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy4KKyAgICAocGFyc2VfYXJncyk6IEhhbmRsZSBuZXcgb3B0aW9uLgorCisyMDA3LTA0LTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KKworICAgIE1lcmdlIGZyb20gU291cmNlcnkgRysrIGJpbnV0aWxzIDIuMTc6CisKKyAgICAyMDA3LTAzLTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KKyAgICBCYXNlZCBvbiBwYXRjaCBieSBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+LgorICAgIGxkLworICAgICogY29uZmlndXJlLmluICgtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogTmV3IG9wdGlvbi4KKyAgICAqIGNvbmZpZ3VyZSwgY29uZmlnLmluOiBSZWdlbmVyYXRlLgorICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogSWYKKyAgICBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyBkZWZpbmVkLCB3YXJuIGZvciB1c2Ugb2YgL2xpYiwKKyAgICAvdXNyL2xpYiwgL3Vzci9sb2NhbC9saWIgb3IgL3Vzci9YMTFSNi9saWIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsZC9jb25maWcuaW4gICAgfCAgMyArKysKKyBsZC9jb25maWd1cmUgICAgfCAxNiArKysrKysrKysrKysrKysrCisgbGQvY29uZmlndXJlLmFjIHwgMTAgKysrKysrKysrKworIGxkL2xkLmggICAgICAgICB8ICA4ICsrKysrKysrCisgbGQvbGQudGV4aSAgICAgIHwgMTIgKysrKysrKysrKysrCisgbGQvbGRmaWxlLmMgICAgIHwgMTcgKysrKysrKysrKysrKysrKysKKyBsZC9sZGxleC5oICAgICAgfCAgMiArKworIGxkL2xkbWFpbi5jICAgICB8ICAyICsrCisgbGQvbGV4c3VwLmMgICAgIHwgMTYgKysrKysrKysrKysrKysrKworIDkgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlnLmluIGIvbGQvY29uZmlnLmluCitpbmRleCBkOTNjOWIwODMwLi41ZGEyNzQyYmVhIDEwMDY0NAorLS0tIGEvbGQvY29uZmlnLmluCisrKysgYi9sZC9jb25maWcuaW4KK0BAIC0zMSw2ICszMSw5IEBACisgICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLworICN1bmRlZiBFTkFCTEVfTkxTCisgCisrLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMgKi8KKysjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKKysKKyAvKiBBZGRpdGlvbmFsIGV4dGVuc2lvbiBhIHNoYXJlZCBvYmplY3QgbWlnaHQgaGF2ZS4gKi8KKyAjdW5kZWYgRVhUUkFfU0hMSUJfRVhURU5TSU9OCisgCitkaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCitpbmRleCA0M2MzOTFjMmIzLi5mZjlmNmIzYzAyIDEwMDc1NQorLS0tIGEvbGQvY29uZmlndXJlCisrKysgYi9sZC9jb25maWd1cmUKK0BAIC04MjYsNiArODI2LDcgQEAgd2l0aF9saWJfcGF0aAorIGVuYWJsZV90YXJnZXRzCisgZW5hYmxlXzY0X2JpdF9iZmQKKyB3aXRoX3N5c3Jvb3QKKytlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcworIGVuYWJsZV9nb2xkCisgZW5hYmxlX2dvdAorIGVuYWJsZV9jb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25zCitAQCAtMTQ5MCw2ICsxNDkxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCisgICAtLWVuYWJsZS10YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKKyAgIC0tZW5hYmxlLTY0LWJpdC1iZmQgICAgIDY0LWJpdCBzdXBwb3J0IChvbiBob3N0cyB3aXRoIG5hcnJvd2VyIHdvcmQgc2l6ZXMpCisrICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzCisgICAtLWVuYWJsZS1nb2xkWz1BUkddICAgICBidWlsZCBnb2xkIFtBUkc9e2RlZmF1bHQseWVzLG5vfV0KKyAgIC0tZW5hYmxlLWdvdD08dHlwZT4gICAgIEdPVCBoYW5kbGluZyBzY2hlbWUgKHRhcmdldCwgc2luZ2xlLCBuZWdhdGl2ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpZ290KQorQEAgLTE2NjE4LDYgKzE2NjIxLDE5IEBAIGZpCisgCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKytlbHNlCisrICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubworK2ZpCisrCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKworKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAorKworK2ZpCisrCisgIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdvbGQgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7ZW5hYmxlX2dvbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgorICAgZW5hYmxldmFsPSRlbmFibGVfZ29sZDsgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgorZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS5hYyBiL2xkL2NvbmZpZ3VyZS5hYworaW5kZXggZDMzNWYyMTA5MS4uN2Y2OTJkOTM4NyAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS5hYworKysrIGIvbGQvY29uZmlndXJlLmFjCitAQCAtOTQsNiArOTQsMTYgQEAgQUNfU1VCU1QodXNlX3N5c3Jvb3QpCisgQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UKQorIEFDX1NVQlNUKFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUpCisgCisrQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCisrICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAorKyAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pLCwKKysgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQorK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KKysgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAorKyAgICAgICBbMV0sCisrICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pCisrZmkKKysKKyBkbmwgVXNlIC0tZW5hYmxlLWdvbGQgdG8gZGVjaWRlIGlmIHRoaXMgbGlua2VyIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4KKyBkbmwgImluc3RhbGxfYXNfZGVmYXVsdCIgaXMgc2V0IHRvIGZhbHNlIGlmIGdvbGQgaXMgdGhlIGRlZmF1bHQgbGlua2VyLgorIGRubCAiaW5zdGFsbGVkX2xpbmtlciIgaXMgdGhlIGluc3RhbGxlZCBCRkQgbGlua2VyIG5hbWUuCitkaWZmIC0tZ2l0IGEvbGQvbGQuaCBiL2xkL2xkLmgKK2luZGV4IGI5N2Q5NzdmMzcuLmYzYmJkMmQ1NWQgMTAwNjQ0CistLS0gYS9sZC9sZC5oCisrKysgYi9sZC9sZC5oCitAQCAtMTgwLDYgKzE4MCwxNCBAQCB0eXBlZGVmIHN0cnVjdAorICAgICAgaW4gdGhlIGxpbmtlciBzY3JpcHQuICAqLworICAgYmZkX2Jvb2xlYW4gZm9yY2VfZ3JvdXBfYWxsb2NhdGlvbjsKKyAKKysgIC8qIElmIFRSVUUgKHRoZSBkZWZhdWx0KSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuCisrICAgICBjcm9zcyBsaW5raW5nLiAgKi8KKysgIGJmZF9ib29sZWFuIHBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7CisrCisrICAvKiBJZiBUUlVFIChkZWZhdWx0IEZBTFNFKSBnaXZlIGFuIGVycm9yIGZvciB1c2VzIG9mIHN5c3RlbQorKyAgICAgZGlyZWN0b3JpZXMgd2hlbiBjcm9zcyBsaW5raW5nIGluc3RlYWQgb2YgYSB3YXJuaW5nLiAgKi8KKysgIGJmZF9ib29sZWFuIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7CisrCisgICAvKiBCaWcgb3IgbGl0dGxlIGVuZGlhbiBhcyBzZXQgb24gY29tbWFuZCBsaW5lLiAgKi8KKyAgIGVudW0gZW5kaWFuX2VudW0gZW5kaWFuOworIAorZGlmZiAtLWdpdCBhL2xkL2xkLnRleGkgYi9sZC9sZC50ZXhpCitpbmRleCA1MTc5YWYzZTBlLi5mNzhiZjc0NjgyIDEwMDY0NAorLS0tIGEvbGQvbGQudGV4aQorKysrIGIvbGQvbGQudGV4aQorQEAgLTI1MjQsNiArMjUyNCwxOCBAQCBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIG9yaWdpbmFsIGxpbmtlZCBmaWxlIGRvZXMgbm90IGNoYW5nZS4KKyAKKyBQYXNzaW5nIEBjb2Rle25vbmV9IGZvciBAdmFye3N0eWxlfSBkaXNhYmxlcyB0aGUgc2V0dGluZyBmcm9tIGFueQorIEBjb2Rley0tYnVpbGQtaWR9IG9wdGlvbnMgZWFybGllciBvbiB0aGUgY29tbWFuZCBsaW5lLgorKworK0BraW5kZXggLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrQGl0ZW0gLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIHN1Y2ggYXMKKytAZmlsZXsvdXNyL2xpYn0gd2hlbiBjcm9zcyBsaW5raW5nLiAgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZQorK2luIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QKKytsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgorKworK0BraW5kZXggLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrQGl0ZW0gLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrR2l2ZSBhbiBlcnJvciBpbnN0ZWFkIG9mIGEgd2FybmluZyBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZworK3N5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcuCisgQGVuZCB0YWJsZQorIAorIEBjIG1hbiBlbmQKK2RpZmYgLS1naXQgYS9sZC9sZGZpbGUuYyBiL2xkL2xkZmlsZS5jCitpbmRleCBmY2FkYzA4YzczLi42M2UyOTVjZThhIDEwMDY0NAorLS0tIGEvbGQvbGRmaWxlLmMKKysrKyBiL2xkL2xkZmlsZS5jCitAQCAtMTE2LDYgKzExNiwyMyBAQCBsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgYmZkX2Jvb2xlYW4gY21kbGluZSkKKyAgICAgbmV3X2RpcnMtPm5hbWUgPSBjb25jYXQgKGxkX3N5c3Jvb3QsIG5hbWUgKyBzdHJsZW4gKCIkU1lTUk9PVCIpLCAoY29uc3QgY2hhciAqKSBOVUxMKTsKKyAgIGVsc2UKKyAgICAgbmV3X2RpcnMtPm5hbWUgPSB4c3RyZHVwIChuYW1lKTsKKysKKysjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKKysgIGlmIChjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcworKyAgJiYgKCghc3RybmNtcCAobmFtZSwgIi9saWIiLCA0KSkKKysgICAgICB8fCAoIXN0cm5jbXAgKG5hbWUsICIvdXNyL2xpYiIsIDgpKQorKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbG9jYWwvbGliIiwgMTQpKQorKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvWDExUjYvbGliIiwgMTQpKSkpCisrICAgeworKyAgICAgaWYgKGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQorKyAgICAgICBlaW5mbyAoXygiJVglUDogZXJyb3I6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgorKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOworKyAgICAgZWxzZQorKyAgICAgICBlaW5mbyAoXygiJVA6IHdhcm5pbmc6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgorKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOworKyAgIH0KKysjZW5kaWYKKysKKyB9CisgCisgLyogVHJ5IHRvIG9wZW4gYSBCRkQgZm9yIGEgbGFuZ19pbnB1dF9zdGF0ZW1lbnQuICAqLworZGlmZiAtLWdpdCBhL2xkL2xkbGV4LmggYi9sZC9sZGxleC5oCitpbmRleCAzMjg1M2RlYmU0Li44MTM1MzYxYzQ5IDEwMDY0NAorLS0tIGEvbGQvbGRsZXguaAorKysrIGIvbGQvbGRsZXguaAorQEAgLTE0OCw2ICsxNDgsOCBAQCBlbnVtIG9wdGlvbl92YWx1ZXMKKyAgIE9QVElPTl9SRVFVSVJFX0RFRklORURfU1lNQk9MLAorICAgT1BUSU9OX09SUEhBTl9IQU5ETElORywKKyAgIE9QVElPTl9GT1JDRV9HUk9VUF9BTExPQ0FUSU9OLAorKyAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMsCisrICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKKyB9OworIAorIC8qIFRoZSBpbml0aWFsIHBhcnNlciBzdGF0ZXMuICAqLworZGlmZiAtLWdpdCBhL2xkL2xkbWFpbi5jIGIvbGQvbGRtYWluLmMKK2luZGV4IDc3Y2RiZDBkZDIuLjcyNTUxMmYxMjYgMTAwNjQ0CistLS0gYS9sZC9sZG1haW4uYworKysrIGIvbGQvbGRtYWluLmMKK0BAIC0yNjksNiArMjY5LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgY29tbWFuZF9saW5lLndhcm5fbWlzbWF0Y2ggPSBUUlVFOworICAgY29tbWFuZF9saW5lLndhcm5fc2VhcmNoX21pc21hdGNoID0gVFJVRTsKKyAgIGNvbW1hbmRfbGluZS5jaGVja19zZWN0aW9uX2FkZHJlc3NlcyA9IC0xOworKyAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBUUlVFOworKyAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKKyAKKyAgIC8qIFdlIGluaXRpYWxpemUgREVNQU5HTElORyBiYXNlZCBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKyAgICAgIENPTExFQ1RfTk9fREVNQU5HTEUuICBUaGUgZ2NjIGNvbGxlY3QyIHByb2dyYW0gd2lsbCBkZW1hbmdsZSB0aGUKK2RpZmYgLS1naXQgYS9sZC9sZXhzdXAuYyBiL2xkL2xleHN1cC5jCitpbmRleCA4OGU4NWM3M2Y0Li5lZWQxYjcxNDU2IDEwMDY0NAorLS0tIGEvbGQvbGV4c3VwLmMKKysrKyBiL2xkL2xleHN1cC5jCitAQCAtNTQzLDYgKzU0MywxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxkX29wdGlvbiBsZF9vcHRpb25zW10gPQorICAgeyB7Im9ycGhhbi1oYW5kbGluZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fT1JQSEFOX0hBTkRMSU5HfSwKKyAgICAgJ1wwJywgTl8oIj1NT0RFIiksIE5fKCJDb250cm9sIGhvdyBvcnBoYW4gc2VjdGlvbnMgYXJlIGhhbmRsZWQuIiksCisgICAgIFRXT19EQVNIRVMgfSwKKysgIHsgeyJuby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIiwgbm9fYXJndW1lbnQsIE5VTEwsCisrICAgICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCisrICAgICdcMCcsIE5VTEwsIE5fKCJEbyBub3Qgd2FybiBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKKysgICAgVFdPX0RBU0hFUyB9LAorKyAgeyB7ImVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKKysgICAgKyAgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVN9LAorKyAgICAnXDAnLCBOVUxMLCBOXygiR2l2ZSBhbiBlcnJvciBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKKysgICAgVFdPX0RBU0hFUyB9LAorIH07CisgCisgI2RlZmluZSBPUFRJT05fQ09VTlQgQVJSQVlfU0laRSAobGRfb3B0aW9ucykKK0BAIC0xNTc3LDYgKzE1ODUsMTQgQEAgcGFyc2VfYXJncyAodW5zaWduZWQgYXJnYywgY2hhciAqKmFyZ3YpCisgCSAgICBlaW5mbyAoXygiJUYlUDogaW52YWxpZCBhcmd1bWVudCB0byBvcHRpb24iCisgCQkgICAgICIgXCItLW9ycGhhbi1oYW5kbGluZ1wiXG4iKSk7CisgCSAgYnJlYWs7CisrCisrCWNhc2UgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVM6CisrCSAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKKysJICBicmVhazsKKysKKysJY2FzZSBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKKysJICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7CisrCSAgYnJlYWs7CisgCX0KKyAgICAgfQorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiMWU3YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSAyY2Q1NjEzYTg2Zjg3NzJmOWQ3ZjE4ODUzMjcxODM2MzY2OGVkOTlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0MjozOCArMDAwMAorU3ViamVjdDogW1BBVENIIDA5LzE1XSBGaXggcnBhdGggaW4gbGlidG9vbCB3aGVuIHN5c3Jvb3QgaXMgZW5hYmxlZAorCitFbmFibGluZyBzeXNyb290IHN1cHBvcnQgaW4gbGlidG9vbCBleHBvc2VkIGEgYnVnIHdoZXJlIHRoZSBmaW5hbAorbGlicmFyeSBoYWQgYW4gUlBBVEggZW5jb2RlZCBpbnRvIGl0IHdoaWNoIHN0aWxsIHBvaW50ZWQgdG8gdGhlCitzeXNyb290LiBUaGlzIHdvcmtzIGFyb3VuZCB0aGUgaXNzdWUgdW50aWwgaXQgZ2V0cyBzb3J0ZWQgb3V0Cit1cHN0cmVhbS4KKworRml4IHN1Z2dlc3RlZCBieSBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogU2NvdHQgR2FybWFuIDxzY290dC5hLmdhcm1hbkBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMTAgKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDcwZTg1NmUwNjUuLjExZWU2ODRjY2MgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTgwMzUsOSArODAzNSwxMSBAQCBFT0YKKyAJICB0ZXN0ICIkb3B0X21vZGUiICE9IHJlbGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCisgCSAgZm9yIGxpYmRpciBpbiAkcnBhdGg7IGRvCisgCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKysJCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCisrCQkgIGxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0CisrCQkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGxpYmRpciIKKysJCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKKyAJICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCistCQlmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKKy0JCWxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0CisgCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KKyAJCSAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIKKyAJCWVsc2UKK0BAIC04NzcwLDYgKzg3NzIsMTAgQEAgRU9GCisgICAgICAgaGFyZGNvZGVfbGliZGlycz0KKyAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisrCSAgZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCisrCSAgbGliZGlyPSRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQKKysJICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRsaWJkaXIiCisrCSAgbGliZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKKyAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KKyAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorIAkgICAgICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOS13YXJuLWZvci11c2VzLW9mLXN5c3RlbS1kaXJlY3Rvcmllcy13aGVuLWNyb3NzLWxpbmtpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTllMzE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMDktd2Fybi1mb3ItdXNlcy1vZi1zeXN0ZW0tZGlyZWN0b3JpZXMtd2hlbi1jcm9zcy1saW5raS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MyArMCwwIEBACi1Gcm9tIGEzNjY3MDU5ZmMwZDUyZDg5MGI1MDViZWQwZTUwNTBlYTNkNzAwMmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAxNSBKYW4gMjAxNiAwNjozMTowOSArMDAwMAotU3ViamVjdDogW1BBVENIIDA5LzE1XSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcKLQotMjAwOC0wNy0wMiAgSm9zZXBoIE15ZXJzICA8am9zZXBoQGNvZGVzb3VyY2VyeS5jb20+Ci0KLSAgICBsZC8KLSAgICAqIGxkLmggKGFyZ3NfdHlwZSk6IEFkZCBlcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGQudGV4aW5mbyAoLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogRG9jdW1lbnQuCi0gICAgKiBsZGZpbGUuYyAobGRmaWxlX2FkZF9saWJyYXJ5X3BhdGgpOiBDaGVjawotICAgIGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGRtYWluLmMgKG1haW4pOiBJbml0aWFsaXplCi0gICAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMuCi0gICAgKiBsZXhzdXAuYyAoZW51bSBvcHRpb25fdmFsdWVzKTogQWRkCi0gICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMuCi0gICAgKGxkX29wdGlvbnMpOiBBZGQgLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLgotICAgIChwYXJzZV9hcmdzKTogSGFuZGxlIG5ldyBvcHRpb24uCi0KLTIwMDctMDYtMTMgIEpvc2VwaCBNeWVycyAgPGpvc2VwaEBjb2Rlc291cmNlcnkuY29tPgotCi0gICAgbGQvCi0gICAgKiBjb25maWcuaW46IFJlZ2VuZXJhdGUuCi0gICAgKiBsZC5oIChhcmdzX3R5cGUpOiBBZGQgcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KLSAgICAqIGxkLnRleGluZm8gKC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcyk6IERvY3VtZW50LgotICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogQ2hlY2sKLSAgICBjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcy4KLSAgICAqIGxkbWFpbi5jIChtYWluKTogSW5pdGlhbGl6ZQotICAgIGNvbW1hbmRfbGluZS5wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLgotICAgICogbGV4c3VwLmMgKGVudW0gb3B0aW9uX3ZhbHVlcyk6IEFkZAotICAgIE9QVElPTl9OT19QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTLgotICAgIChsZF9vcHRpb25zKTogQWRkIC0tbm8tcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy4KLSAgICAocGFyc2VfYXJncyk6IEhhbmRsZSBuZXcgb3B0aW9uLgotCi0yMDA3LTA0LTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KLQotICAgIE1lcmdlIGZyb20gU291cmNlcnkgRysrIGJpbnV0aWxzIDIuMTc6Ci0KLSAgICAyMDA3LTAzLTIwICBKb3NlcGggTXllcnMgIDxqb3NlcGhAY29kZXNvdXJjZXJ5LmNvbT4KLSAgICBCYXNlZCBvbiBwYXRjaCBieSBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+LgotICAgIGxkLwotICAgICogY29uZmlndXJlLmluICgtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzKTogTmV3IG9wdGlvbi4KLSAgICAqIGNvbmZpZ3VyZSwgY29uZmlnLmluOiBSZWdlbmVyYXRlLgotICAgICogbGRmaWxlLmMgKGxkZmlsZV9hZGRfbGlicmFyeV9wYXRoKTogSWYKLSAgICBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyBkZWZpbmVkLCB3YXJuIGZvciB1c2Ugb2YgL2xpYiwKLSAgICAvdXNyL2xpYiwgL3Vzci9sb2NhbC9saWIgb3IgL3Vzci9YMTFSNi9saWIuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsZC9jb25maWcuaW4gICAgfCAgMyArKysKLSBsZC9jb25maWd1cmUgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gbGQvY29uZmlndXJlLmFjIHwgMTAgKysrKysrKysrKwotIGxkL2xkLmggICAgICAgICB8ICA4ICsrKysrKysrCi0gbGQvbGQudGV4aSAgICAgIHwgMTIgKysrKysrKysrKysrCi0gbGQvbGRmaWxlLmMgICAgIHwgMTcgKysrKysrKysrKysrKysrKysKLSBsZC9sZGxleC5oICAgICAgfCAgMiArKwotIGxkL2xkbWFpbi5jICAgICB8ICAyICsrCi0gbGQvbGV4c3VwLmMgICAgIHwgMTYgKysrKysrKysrKysrKysrKwotIDkgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlnLmluIGIvbGQvY29uZmlnLmluCi1pbmRleCBkOTNjOWIwODMwLi41ZGEyNzQyYmVhIDEwMDY0NAotLS0tIGEvbGQvY29uZmlnLmluCi0rKysgYi9sZC9jb25maWcuaW4KLUBAIC0zMSw2ICszMSw5IEBACi0gICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLwotICN1bmRlZiBFTkFCTEVfTkxTCi0gCi0rLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGxpYnJhcnkgZGlyZWN0b3JpZXMgKi8KLSsjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsKLSAvKiBBZGRpdGlvbmFsIGV4dGVuc2lvbiBhIHNoYXJlZCBvYmplY3QgbWlnaHQgaGF2ZS4gKi8KLSAjdW5kZWYgRVhUUkFfU0hMSUJfRVhURU5TSU9OCi0gCi1kaWZmIC0tZ2l0IGEvbGQvY29uZmlndXJlIGIvbGQvY29uZmlndXJlCi1pbmRleCAyYjI5MWYwZGE4Li5mYWNjMzg2NTYzIDEwMDc1NQotLS0tIGEvbGQvY29uZmlndXJlCi0rKysgYi9sZC9jb25maWd1cmUKLUBAIC04MjYsNiArODI2LDcgQEAgd2l0aF9saWJfcGF0aAotIGVuYWJsZV90YXJnZXRzCi0gZW5hYmxlXzY0X2JpdF9iZmQKLSB3aXRoX3N5c3Jvb3QKLStlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotIGVuYWJsZV9nb2xkCi0gZW5hYmxlX2dvdAotIGVuYWJsZV9jb21wcmVzc2VkX2RlYnVnX3NlY3Rpb25zCi1AQCAtMTQ5MCw2ICsxNDkxLDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6Ci0gICAtLWRpc2FibGUtbGFyZ2VmaWxlICAgICBvbWl0IHN1cHBvcnQgZm9yIGxhcmdlIGZpbGVzCi0gICAtLWVuYWJsZS10YXJnZXRzICAgICAgICBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLSAgIC0tZW5hYmxlLTY0LWJpdC1iZmQgICAgIDY0LWJpdCBzdXBwb3J0IChvbiBob3N0cyB3aXRoIG5hcnJvd2VyIHdvcmQgc2l6ZXMpCi0rICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBsaWJyYXJ5IGRpcmVjdG9yaWVzCi0gICAtLWVuYWJsZS1nb2xkWz1BUkddICAgICBidWlsZCBnb2xkIFtBUkc9e2RlZmF1bHQseWVzLG5vfV0KLSAgIC0tZW5hYmxlLWdvdD08dHlwZT4gICAgIEdPVCBoYW5kbGluZyBzY2hlbWUgKHRhcmdldCwgc2luZ2xlLCBuZWdhdGl2ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG11bHRpZ290KQotQEAgLTE2NjE4LDYgKzE2NjIxLDE5IEBAIGZpCi0gCi0gCi0gCi0rIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgotK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKLStlbHNlCi0rICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubwotK2ZpCi0rCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKwotKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAotKwotK2ZpCi0rCi0gIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWdvbGQgd2FzIGdpdmVuLgotIGlmIHRlc3QgIiR7ZW5hYmxlX2dvbGQrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgZW5hYmxldmFsPSRlbmFibGVfZ29sZDsgY2FzZSAiJHtlbmFibGV2YWx9IiBpbgotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS5hYyBiL2xkL2NvbmZpZ3VyZS5hYwotaW5kZXggZDEwYzU1MzY1MC4uOWYxYjU3YjEyMCAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS5hYwotKysrIGIvbGQvY29uZmlndXJlLmFjCi1AQCAtOTQsNiArOTQsMTYgQEAgQUNfU1VCU1QodXNlX3N5c3Jvb3QpCi0gQUNfU1VCU1QoVEFSR0VUX1NZU1RFTV9ST09UKQotIEFDX1NVQlNUKFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUpCi0gCi0rQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAotKyAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pLCwKLSsgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQotK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KLSsgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAotKyAgICAgICBbMV0sCi0rICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gbGlicmFyeSBkaXJlY3Rvcmllc10pCi0rZmkKLSsKLSBkbmwgVXNlIC0tZW5hYmxlLWdvbGQgdG8gZGVjaWRlIGlmIHRoaXMgbGlua2VyIHNob3VsZCBiZSB0aGUgZGVmYXVsdC4KLSBkbmwgImluc3RhbGxfYXNfZGVmYXVsdCIgaXMgc2V0IHRvIGZhbHNlIGlmIGdvbGQgaXMgdGhlIGRlZmF1bHQgbGlua2VyLgotIGRubCAiaW5zdGFsbGVkX2xpbmtlciIgaXMgdGhlIGluc3RhbGxlZCBCRkQgbGlua2VyIG5hbWUuCi1kaWZmIC0tZ2l0IGEvbGQvbGQuaCBiL2xkL2xkLmgKLWluZGV4IGJhOTE0YjkyMWUuLjlkZjE3ZGFiNmMgMTAwNjQ0Ci0tLS0gYS9sZC9sZC5oCi0rKysgYi9sZC9sZC5oCi1AQCAtMTgwLDYgKzE4MCwxNCBAQCB0eXBlZGVmIHN0cnVjdAotICAgICAgaW4gdGhlIGxpbmtlciBzY3JpcHQuICAqLwotICAgYmZkX2Jvb2xlYW4gZm9yY2VfZ3JvdXBfYWxsb2NhdGlvbjsKLSAKLSsgIC8qIElmIFRSVUUgKHRoZSBkZWZhdWx0KSB3YXJuIGZvciB1c2VzIG9mIHN5c3RlbSBkaXJlY3RvcmllcyB3aGVuCi0rICAgICBjcm9zcyBsaW5raW5nLiAgKi8KLSsgIGJmZF9ib29sZWFuIHBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rCi0rICAvKiBJZiBUUlVFIChkZWZhdWx0IEZBTFNFKSBnaXZlIGFuIGVycm9yIGZvciB1c2VzIG9mIHN5c3RlbQotKyAgICAgZGlyZWN0b3JpZXMgd2hlbiBjcm9zcyBsaW5raW5nIGluc3RlYWQgb2YgYSB3YXJuaW5nLiAgKi8KLSsgIGJmZF9ib29sZWFuIGVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rCi0gICAvKiBCaWcgb3IgbGl0dGxlIGVuZGlhbiBhcyBzZXQgb24gY29tbWFuZCBsaW5lLiAgKi8KLSAgIGVudW0gZW5kaWFuX2VudW0gZW5kaWFuOwotIAotZGlmZiAtLWdpdCBhL2xkL2xkLnRleGkgYi9sZC9sZC50ZXhpCi1pbmRleCBiOWZlMjMyNGRhLi40MzQ4NjYwNWUwIDEwMDY0NAotLS0tIGEvbGQvbGQudGV4aQotKysrIGIvbGQvbGQudGV4aQotQEAgLTI0NzksNiArMjQ3OSwxOCBAQCBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIG9yaWdpbmFsIGxpbmtlZCBmaWxlIGRvZXMgbm90IGNoYW5nZS4KLSAKLSBQYXNzaW5nIEBjb2Rle25vbmV9IGZvciBAdmFye3N0eWxlfSBkaXNhYmxlcyB0aGUgc2V0dGluZyBmcm9tIGFueQotIEBjb2Rley0tYnVpbGQtaWR9IG9wdGlvbnMgZWFybGllciBvbiB0aGUgY29tbWFuZCBsaW5lLgotKwotK0BraW5kZXggLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQGl0ZW0gLS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIHN1Y2ggYXMKLStAZmlsZXsvdXNyL2xpYn0gd2hlbiBjcm9zcyBsaW5raW5nLiAgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZQotK2luIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoIGRpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QKLStsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgotKwotK0BraW5kZXggLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQGl0ZW0gLS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rR2l2ZSBhbiBlcnJvciBpbnN0ZWFkIG9mIGEgd2FybmluZyBmb3IgQG9wdGlvbnstTH0gb3B0aW9ucyB1c2luZwotK3N5c3RlbSBkaXJlY3RvcmllcyB3aGVuIGNyb3NzIGxpbmtpbmcuCi0gQGVuZCB0YWJsZQotIAotIEBjIG1hbiBlbmQKLWRpZmYgLS1naXQgYS9sZC9sZGZpbGUuYyBiL2xkL2xkZmlsZS5jCi1pbmRleCBhNzJmZjEzNTI2Li5kYzUxNDhmNzQ4IDEwMDY0NAotLS0tIGEvbGQvbGRmaWxlLmMKLSsrKyBiL2xkL2xkZmlsZS5jCi1AQCAtMTE2LDYgKzExNiwyMyBAQCBsZGZpbGVfYWRkX2xpYnJhcnlfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgYmZkX2Jvb2xlYW4gY21kbGluZSkKLSAgICAgbmV3X2RpcnMtPm5hbWUgPSBjb25jYXQgKGxkX3N5c3Jvb3QsIG5hbWUgKyBzdHJsZW4gKCIkU1lTUk9PVCIpLCAoY29uc3QgY2hhciAqKSBOVUxMKTsKLSAgIGVsc2UKLSAgICAgbmV3X2RpcnMtPm5hbWUgPSB4c3RyZHVwIChuYW1lKTsKLSsKLSsjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsgIGlmIChjb21tYW5kX2xpbmUucG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotKyAgJiYgKCghc3RybmNtcCAobmFtZSwgIi9saWIiLCA0KSkKLSsgICAgICB8fCAoIXN0cm5jbXAgKG5hbWUsICIvdXNyL2xpYiIsIDgpKQotKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvbG9jYWwvbGliIiwgMTQpKQotKyAgICAgIHx8ICghc3RybmNtcCAobmFtZSwgIi91c3IvWDExUjYvbGliIiwgMTQpKSkpCi0rICAgewotKyAgICAgaWYgKGNvbW1hbmRfbGluZS5lcnJvcl9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQotKyAgICAgICBlaW5mbyAoXygiJVglUDogZXJyb3I6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOwotKyAgICAgZWxzZQotKyAgICAgICBlaW5mbyAoXygiJVA6IHdhcm5pbmc6IGxpYnJhcnkgc2VhcmNoIHBhdGggXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvblxuIiksIG5hbWUpOwotKyAgIH0KLSsjZW5kaWYKLSsKLSB9Ci0gCi0gLyogVHJ5IHRvIG9wZW4gYSBCRkQgZm9yIGEgbGFuZ19pbnB1dF9zdGF0ZW1lbnQuICAqLwotZGlmZiAtLWdpdCBhL2xkL2xkbGV4LmggYi9sZC9sZGxleC5oCi1pbmRleCAwNGQ2ZmQ1Zjk2Li5kN2RmMDA1YmIyIDEwMDY0NAotLS0tIGEvbGQvbGRsZXguaAotKysrIGIvbGQvbGRsZXguaAotQEAgLTE0OCw2ICsxNDgsOCBAQCBlbnVtIG9wdGlvbl92YWx1ZXMKLSAgIE9QVElPTl9SRVFVSVJFX0RFRklORURfU1lNQk9MLAotICAgT1BUSU9OX09SUEhBTl9IQU5ETElORywKLSAgIE9QVElPTl9GT1JDRV9HUk9VUF9BTExPQ0FUSU9OLAotKyAgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMsCi0rICBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUywKLSB9OwotIAotIC8qIFRoZSBpbml0aWFsIHBhcnNlciBzdGF0ZXMuICAqLwotZGlmZiAtLWdpdCBhL2xkL2xkbWFpbi5jIGIvbGQvbGRtYWluLmMKLWluZGV4IGYzMWVlYjI5YzMuLjI1Zjg0OTc4ODggMTAwNjQ0Ci0tLS0gYS9sZC9sZG1haW4uYwotKysrIGIvbGQvbGRtYWluLmMKLUBAIC0yNjgsNiArMjY4LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgY29tbWFuZF9saW5lLndhcm5fbWlzbWF0Y2ggPSBUUlVFOwotICAgY29tbWFuZF9saW5lLndhcm5fc2VhcmNoX21pc21hdGNoID0gVFJVRTsKLSAgIGNvbW1hbmRfbGluZS5jaGVja19zZWN0aW9uX2FkZHJlc3NlcyA9IC0xOwotKyAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBUUlVFOwotKyAgY29tbWFuZF9saW5lLmVycm9yX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKLSAKLSAgIC8qIFdlIGluaXRpYWxpemUgREVNQU5HTElORyBiYXNlZCBvbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKLSAgICAgIENPTExFQ1RfTk9fREVNQU5HTEUuICBUaGUgZ2NjIGNvbGxlY3QyIHByb2dyYW0gd2lsbCBkZW1hbmdsZSB0aGUKLWRpZmYgLS1naXQgYS9sZC9sZXhzdXAuYyBiL2xkL2xleHN1cC5jCi1pbmRleCA4NmEwMzNhMzgzLi40YTQwZDQ4MDIwIDEwMDY0NAotLS0tIGEvbGQvbGV4c3VwLmMKLSsrKyBiL2xkL2xleHN1cC5jCi1AQCAtNTQzLDYgKzU0MywxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxkX29wdGlvbiBsZF9vcHRpb25zW10gPQotICAgeyB7Im9ycGhhbi1oYW5kbGluZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fT1JQSEFOX0hBTkRMSU5HfSwKLSAgICAgJ1wwJywgTl8oIj1NT0RFIiksIE5fKCJDb250cm9sIGhvdyBvcnBoYW4gc2VjdGlvbnMgYXJlIGhhbmRsZWQuIiksCi0gICAgIFRXT19EQVNIRVMgfSwKLSsgIHsgeyJuby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIiwgbm9fYXJndW1lbnQsIE5VTEwsCi0rICAgICBPUFRJT05fTk9fUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU30sCi0rICAgICdcMCcsIE5VTEwsIE5fKCJEbyBub3Qgd2FybiBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKLSsgICAgVFdPX0RBU0hFUyB9LAotKyAgeyB7ImVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMiLCBub19hcmd1bWVudCwgTlVMTCwKLSsgICAgKyAgICAgT1BUSU9OX0VSUk9SX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVN9LAotKyAgICAnXDAnLCBOVUxMLCBOXygiR2l2ZSBhbiBlcnJvciBmb3IgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMiKSwKLSsgICAgVFdPX0RBU0hFUyB9LAotIH07Ci0gCi0gI2RlZmluZSBPUFRJT05fQ09VTlQgQVJSQVlfU0laRSAobGRfb3B0aW9ucykKLUBAIC0xNTc3LDYgKzE1ODUsMTQgQEAgcGFyc2VfYXJncyAodW5zaWduZWQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCSAgICBlaW5mbyAoXygiJUYlUDogaW52YWxpZCBhcmd1bWVudCB0byBvcHRpb24iCi0gCQkgICAgICIgXCItLW9ycGhhbi1oYW5kbGluZ1wiXG4iKSk7Ci0gCSAgYnJlYWs7Ci0rCi0rCWNhc2UgT1BUSU9OX05PX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVM6Ci0rCSAgY29tbWFuZF9saW5lLnBvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMgPSBGQUxTRTsKLSsJICBicmVhazsKLSsKLSsJY2FzZSBPUFRJT05fRVJST1JfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUzoKLSsJICBjb21tYW5kX2xpbmUuZXJyb3JfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcyA9IFRSVUU7Ci0rCSAgYnJlYWs7Ci0gCX0KLSAgICAgfQotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE1ZTRjMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKQEAgLTAsMCArMSw1OSBAQAorRnJvbSBkNTQwZTk1ZDA1Y2Q3YzRiODkyNGFjN2IyNTdjMTRhZTAxMDVkMGFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMiBNYXIgMjAxNSAwMTo0NDoxNCArMDAwMAorU3ViamVjdDogW1BBVENIIDEwLzE1XSBDaGFuZ2UgZGVmYXVsdCBlbXVsYXRpb24gZm9yIG1pcHM2NCotKi1saW51eAorCit3ZSBjaGFuZ2UgdGhlIGRlZmF1bHQgZW11bGF0aW9ucyB0byBiZSBONjQgaW5zdGVhZCBvZiBOMzIKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFsgT0UgY29uZmlndXJhdGlvbiBTcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGJmZC9jb25maWcuYmZkICAgfCA4ICsrKystLS0tCisgbGQvY29uZmlndXJlLnRndCB8IDggKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKK2luZGV4IDBlMWRkYjY1OWMuLmNjNjU1NDc1ODggMTAwNjQ0CistLS0gYS9iZmQvY29uZmlnLmJmZAorKysrIGIvYmZkL2NvbmZpZy5iZmQKK0BAIC05MTksMTIgKzkxOSwxMiBAQCBjYXNlICIke3Rhcmd9IiBpbgorICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIG1pcHNfZWNvZmZfYmVfdmVjIG1pcHNfZWNvZmZfbGVfdmVjIgorICAgICA7OworICAgbWlwczY0KmVsLSotbGludXgqKQorLSAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX250cmFkX2xlX3ZlYworLSAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMiCisrICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmNjRfdHJhZF9sZV92ZWMKKysgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX250cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2JlX3ZlYyIKKyAgICAgOzsKKyAgIG1pcHM2NCotKi1saW51eCopCistICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjCistICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKKysgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGY2NF90cmFkX2JlX3ZlYworKyAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfbnRyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfbGVfdmVjIgorICAgICA7OworICAgbWlwcyplbC0qLWxpbnV4KikKKyAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl90cmFkX2xlX3ZlYworZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0CitpbmRleCBiZWJhMTdlZjUxLi45MTdiZTZmOGViIDEwMDY0NAorLS0tIGEvbGQvY29uZmlndXJlLnRndAorKysrIGIvbGQvY29uZmlndXJlLnRndAorQEAgLTQ2OCwxMSArNDY4LDExIEBAIG1pcHMqZWwtKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWxtaXB2eHdvcmtzCisgbWlwcyotKi12eHdvcmtzKikJdGFyZ19lbXVsPWVsZjMyZWJtaXB2eHdvcmtzCisgCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJlbG1pcHZ4d29ya3MiIDs7CisgbWlwcyotKi13aW5kaXNzKQl0YXJnX2VtdWw9ZWxmMzJtaXBzd2luZGlzcyA7OworLW1pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcG4zMgorLQkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0bHRzbWlwIGVsZjY0YnRzbWlwIgorK21pcHM2NCplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGY2NGx0c21pcAorKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwbjMyIGVsZjMybHRzbWlwIGVsZjMyYnRzbWlwIGVsZjY0YnRzbWlwIgorIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OworLW1pcHM2NCotKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJidHNtaXBuMzIKKy0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcG4zMiBlbGYzMmJ0c21pcCBlbGYzMmx0c21pcCBlbGY2NGJ0c21pcCBlbGY2NGx0c21pcCIKKyttaXBzNjQqLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjY0YnRzbWlwCisrCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJidHNtaXBuMzIgZWxmMzJsdHNtaXBuMzIgZWxmMzJidHNtaXAgZWxmMzJsdHNtaXAgZWxmNjRsdHNtaXAiCisgCQkJdGFyZ19leHRyYV9saWJwYXRoPSR0YXJnX2V4dHJhX2VtdWxzIDs7CisgbWlwcyplbC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGYzMmx0c21pcAorIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwIGVsZjMybHRzbWlwbjMyIGVsZjY0bHRzbWlwIGVsZjMyYnRzbWlwbjMyIGVsZjY0YnRzbWlwIgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTAtRml4LXJwYXRoLWluLWxpYnRvb2wtd2hlbi1zeXNyb290LWlzLWVuYWJsZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmYzAwZmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMC1GaXgtcnBhdGgtaW4tbGlidG9vbC13aGVuLXN5c3Jvb3QtaXMtZW5hYmxlZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gOWUxZDhmOWE2NTdhOGJkNDgwNDhjMmVhNjQwN2NmNjBiNzIzYmQ2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6NDI6MzggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xNV0gRml4IHJwYXRoIGluIGxpYnRvb2wgd2hlbiBzeXNyb290IGlzIGVuYWJsZWQKLQotRW5hYmxpbmcgc3lzcm9vdCBzdXBwb3J0IGluIGxpYnRvb2wgZXhwb3NlZCBhIGJ1ZyB3aGVyZSB0aGUgZmluYWwKLWxpYnJhcnkgaGFkIGFuIFJQQVRIIGVuY29kZWQgaW50byBpdCB3aGljaCBzdGlsbCBwb2ludGVkIHRvIHRoZQotc3lzcm9vdC4gVGhpcyB3b3JrcyBhcm91bmQgdGhlIGlzc3VlIHVudGlsIGl0IGdldHMgc29ydGVkIG91dAotdXBzdHJlYW0uCi0KLUZpeCBzdWdnZXN0ZWQgYnkgUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDEwICsrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA3MGU4NTZlMDY1Li4xMWVlNjg0Y2NjIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC04MDM1LDkgKzgwMzUsMTEgQEAgRU9GCi0gCSAgdGVzdCAiJG9wdF9tb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgotIAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbwotIAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0rCQkgIGZ1bmNfcmVwbGFjZV9zeXNyb290ICIkbGliZGlyIgotKwkJICBsaWJkaXI9JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdAotKwkJICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRsaWJkaXIiCi0rCQkgIGxpYmRpcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Ci0gCSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgotLQkJZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRsaWJkaXIiCi0tCQlsaWJkaXI9JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdAotIAkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCi0gCQkgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIiCi0gCQllbHNlCi1AQCAtODc3MCw2ICs4NzcyLDEwIEBAIEVPRgotICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9Ci0gICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVfcnBhdGg7IGRvCi0gCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgotKwkgIGZ1bmNfcmVwbGFjZV9zeXNyb290ICIkbGliZGlyIgotKwkgIGxpYmRpcj0kZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0Ci0rCSAgZnVuY19zdHJpcG5hbWUgJz0nICcnICIkbGliZGlyIgotKwkgIGxpYmRpcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Ci0gCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KLSAJICAgICAgaGFyZGNvZGVfbGliZGlycz0iJGxpYmRpciIKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGM1ZWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1BZGQtc3VwcG9ydC1mb3ItTmV0bG9naWMtWExQLnBhdGNoCkBAIC0wLDAgKzEsMzkzIEBACitGcm9tIGU0YTBjZDMwYzdlOTMzNGVkNTA3YzkzMDE0YThiMmQxMzE1ZmY5MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAxNCBGZWIgMjAxNiAxNzowNjoxOSArMDAwMAorU3ViamVjdDogW1BBVENIIDExLzE1XSBBZGQgc3VwcG9ydCBmb3IgTmV0bG9naWMgWExQCisKK1BhdGNoIEZyb206IE5lYnUgUGhpbGlwcyA8bnBoaWxpcHNAbmV0bG9naWNtaWNyby5jb20+CisKK1VzaW5nIHRoZSBtaXBzaXNhNjRyMm5sbSB0YXJnZXQsIGFkZCBzdXBwb3J0IGZvciBYTFAgZnJvbQorTmV0bG9naWMuIEFsc28sIHVwZGF0ZSB2ZW5kb3IgbmFtZSB0byBOTE0gd2hlcmV2ZXIgYXBwbGljYWJsZS4KKworVXNlIDB4MDAwMDAwODAgZm9yIElOU05fWExQLCB0aGUgdmFsdWUgMHgwMDAwMDA0MCBoYXMgYWxyZWFkeSBiZWVuCithc3NpZ25lZCB0byBJTlNOX09DVEVPTjMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBCYW9zaGFuIFBhbmcgPGJhb3NoYW4ucGFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmZkL2FvdXR4LmggICAgICAgICAgIHwgIDEgKworIGJmZC9hcmNodXJlcy5jICAgICAgICB8ICAxICsKKyBiZmQvYmZkLWluMi5oICAgICAgICAgfCAgMSArCisgYmZkL2NvbmZpZy5iZmQgICAgICAgIHwgIDUgKysrKysKKyBiZmQvY3B1LW1pcHMuYyAgICAgICAgfCAgNiArKysrLS0KKyBiZmQvZWxmeHgtbWlwcy5jICAgICAgfCAgOCArKysrKysrKworIGJpbnV0aWxzL3JlYWRlbGYuYyAgICB8ICAxICsKKyBnYXMvY29uZmlnL3RjLW1pcHMuYyAgfCAgNCArKystCisgZ2FzL2NvbmZpZ3VyZSAgICAgICAgIHwgIDMgKysrCisgaW5jbHVkZS9lbGYvbWlwcy5oICAgIHwgIDEgKworIGluY2x1ZGUvb3Bjb2RlL21pcHMuaCB8ICA2ICsrKysrKworIGxkL2NvbmZpZ3VyZS50Z3QgICAgICB8ICAyICsrCisgb3Bjb2Rlcy9taXBzLWRpcy5jICAgIHwgMTIgKysrKystLS0tLS0tCisgb3Bjb2Rlcy9taXBzLW9wYy5jICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDE0IGZpbGVzIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmZkL2FvdXR4LmggYi9iZmQvYW91dHguaAoraW5kZXggZTVkOGRjZjM5MC4uMmNjNzRhMmQ2MSAxMDA2NDQKKy0tLSBhL2JmZC9hb3V0eC5oCisrKysgYi9iZmQvYW91dHguaAorQEAgLTc5OSw2ICs3OTksNyBAQCBOQU1FIChhb3V0LCBtYWNoaW5lX3R5cGUpIChlbnVtIGJmZF9hcmNoaXRlY3R1cmUgYXJjaCwKKyAJY2FzZSBiZmRfbWFjaF9taXBzaXNhNjRyNjoKKyAJY2FzZSBiZmRfbWFjaF9taXBzX3NiMToKKyAJY2FzZSBiZmRfbWFjaF9taXBzX3hscjoKKysJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKKyAJICAvKiBGSVhNRTogVGhlc2Ugc2hvdWxkIGJlIE1JUFMzLCBNSVBTNCwgTUlQUzE2LCBNSVBTMzIsIGV0Yy4gICovCisgCSAgYXJjaF9mbGFncyA9IE1fTUlQUzI7CisgCSAgYnJlYWs7CitkaWZmIC0tZ2l0IGEvYmZkL2FyY2h1cmVzLmMgYi9iZmQvYXJjaHVyZXMuYworaW5kZXggNjQ3Y2YwZDhkNC4uN2UxZDBjODEwZiAxMDA2NDQKKy0tLSBhL2JmZC9hcmNodXJlcy5jCisrKysgYi9iZmQvYXJjaHVyZXMuYworQEAgLTE4NSw2ICsxODUsNyBAQCBERVNDUklQVElPTgorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfb2N0ZW9uMwkJNjUwMworIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyCQk4ODc2ODIJIHsqIGRlY2ltYWwgJ1hMUicuICAqfQorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIJNzM2NTUwCSB7KiBkZWNpbWFsICdJQTInLiAgKn0KKysuI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscCAgICAgICAgICAgICAgODg3NjgwICAgeyogZGVjaW1hbCAnWExQJy4gICp9CisgLiNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMyCQkzMgorIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIyCQkzMworIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIzCQkzNAorZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCitpbmRleCBlMjVkYTUwYWFmLi5lMjUxZDdlN2FhIDEwMDY0NAorLS0tIGEvYmZkL2JmZC1pbjIuaAorKysrIGIvYmZkL2JmZC1pbjIuaAorQEAgLTIwODQsNiArMjA4NCw3IEBAIGVudW0gYmZkX2FyY2hpdGVjdHVyZQorICNkZWZpbmUgYmZkX21hY2hfbWlwc19vY3Rlb24zICAgICAgICAgIDY1MDMKKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxyICAgICAgICAgICAgICA4ODc2ODIgICAvKiBkZWNpbWFsICdYTFInLiAgKi8KKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjIgICA3MzY1NTAgICAvKiBkZWNpbWFsICdJQTInLiAgKi8KKysjZGVmaW5lIGJmZF9tYWNoX21pcHNfeGxwICAgICAgICAgICAgICA4ODc2ODAgICAvKiBkZWNpbWFsICdYTFAnLiAgKi8KKyAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMiAgICAgICAgICAgICAzMgorICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjIgICAgICAgICAgIDMzCisgI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMyAgICAgICAgICAgMzQKK2RpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCitpbmRleCBjYzY1NTQ3NTg4Li4zNjE0ZmY3OWQ0IDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZy5iZmQKKysrKyBiL2JmZC9jb25maWcuYmZkCitAQCAtOTAyLDYgKzkwMiwxMSBAQCBjYXNlICIke3Rhcmd9IiBpbgorICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2xlX3ZlYworICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfYmVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgorICAgICA7OworKyAgbWlwc2lzYTY0Ki0qLWVsZiopCisrCXRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfdHJhZF9iZV92ZWMKKysJdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKKysJd2FudDY0PXRydWUKKysJOzsKKyAgIG1pcHMqLSotZWxmKiB8IG1pcHMqLSotcnRlbXMqIHwgbWlwcyotKi13aW5kaXNzIHwgbWlwcyotKi1ub25lKQorICAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX2JlX3ZlYworICAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbGVfdmVjIG1pcHNfZWxmNjRfYmVfdmVjIG1pcHNfZWxmNjRfbGVfdmVjIgorZGlmZiAtLWdpdCBhL2JmZC9jcHUtbWlwcy5jIGIvYmZkL2NwdS1taXBzLmMKK2luZGV4IGIzNTk0OTEzMDUuLjYxYTNlN2FhY2EgMTAwNjQ0CistLS0gYS9iZmQvY3B1LW1pcHMuYworKysrIGIvYmZkL2NwdS1taXBzLmMKK0BAIC0xMDcsNyArMTA3LDggQEAgZW51bQorICAgSV9taXBzb2N0ZW9uMywKKyAgIElfeGxyLAorICAgSV9pbnRlcmFwdGl2X21yMiwKKy0gIElfbWljcm9taXBzCisrICBJX21pY3JvbWlwcywKKysgIElfeGxwCisgfTsKKyAKKyAjZGVmaW5lIE5OKGluZGV4KSAoJmFyY2hfaW5mb19zdHJ1Y3RbKGluZGV4KSArIDFdKQorQEAgLTE2Miw3ICsxNjMsOCBAQCBzdGF0aWMgY29uc3QgYmZkX2FyY2hfaW5mb190eXBlIGFyY2hfaW5mb19zdHJ1Y3RbXSA9CisgICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfeGxyLCAibWlwczp4bHIiLAkgIEZBTFNFLCBOTihJX3hscikpLAorICAgTiAoMzIsIDMyLCBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyLCAibWlwczppbnRlcmFwdGl2LW1yMiIsIEZBTFNFLAorICAgICAgTk4oSV9pbnRlcmFwdGl2X21yMikpLAorLSAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX21pY3JvbWlwcywibWlwczptaWNyb21pcHMiLEZBTFNFLDApCisrICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfbWljcm9taXBzLCJtaXBzOm1pY3JvbWlwcyIsRkFMU0UsTk4oSV9taWNyb21pcHMpKSwKKysgIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc194bHAsICJtaXBzOnhscCIsICAgICAgRkFMU0UsIDApCisgfTsKKyAKKyAvKiBUaGUgZGVmYXVsdCBhcmNoaXRlY3R1cmUgaXMgbWlwczozMDAwLCBidXQgd2l0aCBhIG1hY2hpbmUgbnVtYmVyIG9mCitkaWZmIC0tZ2l0IGEvYmZkL2VsZnh4LW1pcHMuYyBiL2JmZC9lbGZ4eC1taXBzLmMKK2luZGV4IDU5OThiYzQzYTguLjBkNTc5NTIyMmIgMTAwNjQ0CistLS0gYS9iZmQvZWxmeHgtbWlwcy5jCisrKysgYi9iZmQvZWxmeHgtbWlwcy5jCitAQCAtNjkxOSw2ICs2OTE5LDkgQEAgX2JmZF9lbGZfbWlwc19tYWNoIChmbGFnd29yZCBmbGFncykKKyAgICAgY2FzZSBFX01JUFNfTUFDSF9JQU1SMjoKKyAgICAgICByZXR1cm4gYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMjsKKyAKKysgICAgY2FzZSBFX01JUFNfTUFDSF9YTFA6CisrICAgICAgcmV0dXJuIGJmZF9tYWNoX21pcHNfeGxwOworKworICAgICBkZWZhdWx0OgorICAgICAgIHN3aXRjaCAoZmxhZ3MgJiBFRl9NSVBTX0FSQ0gpCisgCXsKK0BAIC0xMjE5OSw2ICsxMjIwMiwxMCBAQCBtaXBzX3NldF9pc2FfZmxhZ3MgKGJmZCAqYWJmZCkKKyAgICAgICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfT0NURU9OMjsKKyAgICAgICBicmVhazsKKyAKKysJY2FzZSBiZmRfbWFjaF9taXBzX3hscDoKKysJICB2YWwgPSBFX01JUFNfQVJDSF82NFIyIHwgRV9NSVBTX01BQ0hfWExQOworKwkgIGJyZWFrOworKworICAgICBjYXNlIGJmZF9tYWNoX21pcHNpc2EzMjoKKyAgICAgICB2YWwgPSBFX01JUFNfQVJDSF8zMjsKKyAgICAgICBicmVhazsKK0BAIC0xNDIxNCw2ICsxNDIyMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWlwc19tYWNoX2V4dGVuc2lvbiBtaXBzX21hY2hfZXh0ZW5zaW9uc1tdID0KKyAgIHsgYmZkX21hY2hfbWlwc19nczI2NGUsIGJmZF9tYWNoX21pcHNfZ3M0NjRlIH0sCisgICB7IGJmZF9tYWNoX21pcHNfZ3M0NjRlLCBiZmRfbWFjaF9taXBzX2dzNDY0IH0sCisgICB7IGJmZF9tYWNoX21pcHNfZ3M0NjQsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCisrICB7IGJmZF9tYWNoX21pcHNfeGxwLCBiZmRfbWFjaF9taXBzaXNhNjRyMiB9LAorIAorICAgLyogTUlQUzY0IGV4dGVuc2lvbnMuICAqLworICAgeyBiZmRfbWFjaF9taXBzaXNhNjRyMiwgYmZkX21hY2hfbWlwc2lzYTY0IH0sCitkaWZmIC0tZ2l0IGEvYmludXRpbHMvcmVhZGVsZi5jIGIvYmludXRpbHMvcmVhZGVsZi5jCitpbmRleCBiMTNlYjZhNDNiLi45ZGYzNzQyNjgyIDEwMDY0NAorLS0tIGEvYmludXRpbHMvcmVhZGVsZi5jCisrKysgYi9iaW51dGlscy9yZWFkZWxmLmMKK0BAIC0zNDEyLDYgKzM0MTIsNyBAQCBnZXRfbWFjaGluZV9mbGFncyAoRmlsZWRhdGEgKiBmaWxlZGF0YSwgdW5zaWduZWQgZV9mbGFncywgdW5zaWduZWQgZV9tYWNoaW5lKQorIAkgICAgY2FzZSBFX01JUFNfTUFDSF9PQ1RFT04zOiBzdHJjYXQgKGJ1ZiwgIiwgb2N0ZW9uMyIpOyBicmVhazsKKyAJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExSOiAgc3RyY2F0IChidWYsICIsIHhsciIpOyBicmVhazsKKyAJICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6ICBzdHJjYXQgKGJ1ZiwgIiwgaW50ZXJhcHRpdi1tcjIiKTsgYnJlYWs7CisrCSAgICBjYXNlIEVfTUlQU19NQUNIX1hMUDogIHN0cmNhdCAoYnVmLCAiLCB4bHAiKTsgYnJlYWs7CisgCSAgICBjYXNlIDA6CisgCSAgICAvKiBXZSBzaW1wbHkgaWdub3JlIHRoZSBmaWVsZCBpbiB0aGlzIGNhc2UgdG8gYXZvaWQgY29uZnVzaW9uOgorIAkgICAgICAgTUlQUyBFTEYgZG9lcyBub3Qgc3BlY2lmeSBFRl9NSVBTX01BQ0gsIGl0IGlzIGEgR05VCitkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMgYi9nYXMvY29uZmlnL3RjLW1pcHMuYworaW5kZXggYWU1NTkwNDIyOS4uZDY4ODI3MTJmNSAxMDA2NDQKKy0tLSBhL2dhcy9jb25maWcvdGMtbWlwcy5jCisrKysgYi9nYXMvY29uZmlnL3RjLW1pcHMuYworQEAgLTU1NCw2ICs1NTQsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKKyAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUk03MDAwICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1ZSNTUwMCAgICAgICAgICAgICAgICAgICAgXAorICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKQorIAorIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcworQEAgLTU4Myw2ICs1ODQsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKKyAgICAgJiYgbWlwc19vcHRzLmlzYSAhPSBJU0FfTUlQUzMpICAgICAgICAgICAgICAgICAgICBcCisgICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1I0MzAwICAgICAgICAgICAgICAgICAgICAgXAorICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKQorIAorIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcworQEAgLTE5ODY3LDcgKzE5ODY5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBzX2NwdV9pbmZvIG1pcHNfY3B1X2luZm9fdGFibGVbXSA9CisgICAvKiBCcm9hZGNvbSBYTFAuCisgICAgICBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIHRoYXQgaXQgaXMKKyAgICAgIE1JUFM2NFIyIHJhdGhlciB0aGFuIE1JUFM2NC4gICovCistICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUiB9LAorKyAgeyAieGxwIiwJICAgICAgMCwgMCwJCQlJU0FfTUlQUzY0UjIsIENQVV9YTFAgfSwKKyAKKyAgIC8qIE1JUFMgNjQgUmVsZWFzZSA2ICovCisgICB7ICJpNjQwMCIsCSAgICAgIDAsIEFTRV9NU0EsCQlJU0FfTUlQUzY0UjYsIENQVV9NSVBTNjRSNn0sCitkaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZSBiL2dhcy9jb25maWd1cmUKK2luZGV4IGE4MmZkZTdmYTguLmFmYzc3YzM0N2EgMTAwNzU1CistLS0gYS9nYXMvY29uZmlndXJlCisrKysgYi9nYXMvY29uZmlndXJlCitAQCAtMTMzNjQsNiArMTMzNjQsOSBAQCBfQUNFT0YKKyAJICBtaXBzaXNhNjRyNiB8IG1pcHNpc2E2NHI2ZWwpCisgCSAgICBtaXBzX2NwdT1taXBzNjRyNgorIAkgICAgOzsKKysJICBtaXBzaXNhNjRyMm5sbSB8IG1pcHNpc2E2NHIybmxtZWwpCisrCQltaXBzX2NwdT14bHAKKysJCTs7CisgCSAgbWlwc3R4MzkgfCBtaXBzdHgzOWVsKQorIAkgICAgbWlwc19jcHU9cjM5MDAKKyAJICAgIDs7CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbGYvbWlwcy5oIGIvaW5jbHVkZS9lbGYvbWlwcy5oCitpbmRleCBiNzZkNDUwYWUyLi43Y2RkYjM2NWFkIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9lbGYvbWlwcy5oCisrKysgYi9pbmNsdWRlL2VsZi9taXBzLmgKK0BAIC0yOTAsNiArMjkwLDcgQEAgRU5EX1JFTE9DX05VTUJFUlMgKFJfTUlQU19tYXhleHQpCisgI2RlZmluZSBFX01JUFNfTUFDSF9TQjEgICAgICAgICAweDAwOGEwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04JMHgwMDhiMDAwMAorICNkZWZpbmUgRV9NSVBTX01BQ0hfWExSICAgICAJMHgwMDhjMDAwMAorKyNkZWZpbmUgRV9NSVBTX01BQ0hfWExQICAgICAgICAgMHgwMDhmMDAwMAorICNkZWZpbmUgRV9NSVBTX01BQ0hfT0NURU9OMgkweDAwOGQwMDAwCisgI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04zCTB4MDA4ZTAwMDAKKyAjZGVmaW5lIEVfTUlQU19NQUNIXzU0MDAJMHgwMDkxMDAwMAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaCBiL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAoraW5kZXggYWJkNTJjODk4MC4uNTNiNjc1MmExYyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAorKysrIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCitAQCAtMTI2MCw2ICsxMjYwLDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0geworICNkZWZpbmUgSU5TTl9YTFIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjAKKyAvKiBJbWFnaW5hdGlvbiBpbnRlckFwdGl2IE1SMi4gICovCisgI2RlZmluZSBJTlNOX0lOVEVSQVBUSVZfTVIyCSAgMHgwNDAwMDAwMAorKy8qIE5ldGxvZ2ljIFhsUCBpbnN0cnVjdGlvbiAqLworKyNkZWZpbmUgSU5TTl9YTFAJCTB4MDAwMDAwODAKKyAKKyAvKiBEU1AgQVNFICovCisgI2RlZmluZSBBU0VfRFNQCQkJMHgwMDAwMDAwMQorQEAgLTEzODEsNiArMTM4Myw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbWlwc19pc2FfdGFibGVbXSA9IHsKKyAjZGVmaW5lIENQVV9PQ1RFT04zCTY1MDMKKyAjZGVmaW5lIENQVV9YTFIgICAgIAk4ODc2ODIgICAJLyogZGVjaW1hbCAnWExSJyAgICovCisgI2RlZmluZSBDUFVfSU5URVJBUFRJVl9NUjIgNzM2NTUwCS8qIGRlY2ltYWwgJ0lBMicgICovCisrI2RlZmluZSBDUFVfWExQICAgICAgICAgODg3NjgwICAgICAgLyogZGVjaW1hbCAnWExQJyAgICovCisgCisgLyogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIENQVSBpcyBpbmNsdWRlZCBpbiBJTlNOXyogbWFzayBNQVNLLiAgKi8KKyAKK0BAIC0xNDU4LDYgKzE0NjEsOSBAQCBjcHVfaXNfbWVtYmVyIChpbnQgY3B1LCB1bnNpZ25lZCBpbnQgbWFzaykKKyAgICAgICByZXR1cm4gKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0EzMlI2KQorIAkgICAgIHx8ICgobWFzayAmIElOU05fSVNBX01BU0spID09IElOU05fSVNBNjRSNik7CisgCisrICAgIGNhc2UgQ1BVX1hMUDoKKysgICAgICByZXR1cm4gKG1hc2sgJiBJTlNOX1hMUCkgIT0gMDsKKysKKyAgICAgZGVmYXVsdDoKKyAgICAgICByZXR1cm4gRkFMU0U7CisgICAgIH0KK2RpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAoraW5kZXggOTE3YmU2ZjhlYi4uMzQ3ZGY2YzNmNiAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKKysrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC00NTQsNiArNDU0LDggQEAgbWlwcyplbC1zZGUtZWxmKiB8IG1pcHMqZWwtbXRpLWVsZiogfCBtaXBzKmVsLWltZy1lbGYqKQorIG1pcHMqLXNkZS1lbGYqIHwgbWlwcyotbXRpLWVsZiogfCBtaXBzKi1pbWctZWxmKikKKyAJCQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCIgOzsKKyttaXBzaXNhNjQqLSotZWxmKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwCisrCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiIDs7CisgbWlwczY0KmVsLXBzMi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJscjU5MDBuMzIKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmxyNTkwMCIKKyAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKK2RpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtZGlzLmMgYi9vcGNvZGVzL21pcHMtZGlzLmMKK2luZGV4IDBkZDg1ZTM3NzkuLjFlYTcwOGRkZTcgMTAwNjQ0CistLS0gYS9vcGNvZGVzL21pcHMtZGlzLmMKKysrKyBiL29wY29kZXMvbWlwcy1kaXMuYworQEAgLTY3MywxMyArNjczLDExIEBAIGNvbnN0IHN0cnVjdCBtaXBzX2FyY2hfY2hvaWNlIG1pcHNfYXJjaF9jaG9pY2VzW10gPQorICAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCisgICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCisgCistICAvKiBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIGl0IGlzIGJlaW5nCistICAgICBNSVBTNjRSMi4gICovCistICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hsciwgQ1BVX1hMUiwKKy0gICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFIsIDAsCistICAgIG1pcHNfY3AwX25hbWVzX3hsciwKKy0gICAgbWlwc19jcDBzZWxfbmFtZXNfeGxyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc194bHIpLAorLSAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbnVtZXJpYyB9LAorKyAgeyAieGxwIiwgMSwgYmZkX21hY2hfbWlwc194bHAsIENQVV9YTFAsCisrICAgIElTQV9NSVBTNjRSMiB8IElOU05fWExQLCAwLAorKyAgICBtaXBzX2NwMF9uYW1lc19taXBzMzI2NHIyLAorKyAgICBtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyKSwKKysgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX21pcHMzMjY0cjIgfSwKKyAKKyAgIC8qIFRoaXMgZW50cnksIG1pcHMxNiwgaXMgaGVyZSBvbmx5IGZvciBJU0EvcHJvY2Vzc29yIHNlbGVjdGlvbjsgZG8KKyAgICAgIG5vdCBwcmludCBpdHMgbmFtZS4gICovCitkaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9taXBzLW9wYy5jIGIvb3Bjb2Rlcy9taXBzLW9wYy5jCitpbmRleCA4MzdkYTZiZDk5Li5kM2VhNWI4ODc3IDEwMDY0NAorLS0tIGEvb3Bjb2Rlcy9taXBzLW9wYy5jCisrKysgYi9vcGNvZGVzL21pcHMtb3BjLmMKK0BAIC0zMjgsNiArMzI4LDcgQEAgZGVjb2RlX21pcHNfb3BlcmFuZCAoY29uc3QgY2hhciAqcCkKKyAjZGVmaW5lIElPQ1QzCUlOU05fT0NURU9OMworICNkZWZpbmUgWExSICAgICBJTlNOX1hMUgorICNkZWZpbmUgSUFNUjIJSU5TTl9JTlRFUkFQVElWX01SMgorKyNkZWZpbmUgWExQCUlOU05fWExQCisgI2RlZmluZSBJVklSVAlBU0VfVklSVAorICNkZWZpbmUgSVZJUlQ2NAlBU0VfVklSVDY0CisgCitAQCAtOTg5LDYgKzk5MCw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KKyB7ImNsbyIsCQkJIlUscyIsCQkweDcwMDAwMDIxLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCisgeyJjbHoiLAkJCSJkLHMiLAkJMHgwMDAwMDA1MCwgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUkzNywJCTAsCTAgfSwKKyB7ImNseiIsCQkJIlUscyIsCQkweDcwMDAwMDIwLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCisreyJjcmMiLAkJCSJkLHMsdCIsCTB4NzAwMDAwMWMsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKKyAvKiBjdGMwIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KKyB7ImN0YzEiLAkJInQsRyIsCQkweDQ0YzAwMDAwLCAweGZmZTAwN2ZmLAlSRF8xfFdSX0NDfENNLAkJMCwJCUkxLAkJMCwJMCB9LAorIHsiY3RjMSIsCQkidCxTIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCitAQCAtMTAyMSwxMiArMTAyMywxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJkYWRkaXUiLAkJInQscixqIiwJMHg2NDAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8yLAkJMCwJCUkzLAkJMCwJMCB9LAorIHsiZGFkZHUiLAkJImQsdix0IiwJMHgwMDAwMDAyZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTMsCQkwLAkwIH0sCisgeyJkYWRkdSIsCQkidCxyLEkiLAkwLCAgICAoaW50KSBNX0RBRERVX0ksCUlOU05fTUFDUk8sCQkwLAkJSTMsCQkwLAkwIH0sCisteyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSLAkJMCwJMCB9LAorK3siZGFkZHdjIiwJCSJkLHMsdCIsIAkweDcwMDAwMDM4LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9DMHxSRF9DMCwgMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyB7ImRicmVhayIsCQkiIiwJCTB4NzAwMDAwM2YsIDB4ZmZmZmZmZmYsCTAsCQkJMCwJCU41LAkJMCwJMCB9LAorIHsiZGNsbyIsCQkiZCxzIiwJCTB4MDAwMDAwNTMsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCisgeyJkY2xvIiwJCSJVLHMiLAkgCTB4NzAwMDAwMjUsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKKyB7ImRjbHoiLAkJImQscyIsCQkweDAwMDAwMDUyLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTY5LAkJMCwJMCB9LAorIHsiZGNseiIsCQkiVSxzIiwJIAkweDcwMDAwMDI0LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsIAkwLAkJSTY0fE41NSwJMCwJSTY5IH0sCisreyJkY3JjIiwJCSJkLHMsdCIsCTB4NzAwMDAwMWQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKKyAvKiBkY3RyIGFuZCBkY3R3IGFyZSB1c2VkIG9uIHRoZSByNTAwMC4gICovCisgeyJkY3RyIiwJCSJvKGIpIiwJIAkweGJjMDUwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKKyB7ImRjdHciLAkJIm8oYikiLAkJMHhiYzA5MDAwMCwgMHhmYzFmMDAwMCwgUkRfMiwJCQkwLAkJSTMsCQkwLAkwIH0sCitAQCAtMTA5OCw2ICsxMTAxLDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIHsiZG1mYzAiLAkJInQsRyxIIiwJMHg0MDIwMDAwMCwgMHhmZmUwMDdmOCwJV1JfMXxSRF9DMHxMQywJCTAsCQlJNjQsCQkwLAkwIH0sCisgeyJkbWZnYzAiLAkJInQsRyIsCQkweDQwNjAwMTAwLCAweGZmZTAwN2ZmLCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCisgeyJkbWZnYzAiLAkJInQsRyxIIiwJMHg0MDYwMDEwMCwgMHhmZmUwMDdmOCwgV1JfMXxSRF9DMHxMQywJCTAsCQkwLAkJSVZJUlQ2NCwgMCB9LAorK3siZG1mdXIiLAkJInQsZCIsCQkweDcwMDAwMDFlLCAweGZmZTAwN2ZmLCBXUl8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCisgeyJkbXQiLAkJCSIiLAkJMHg0MTYwMGJjMSwgMHhmZmZmZmZmZiwgVFJBUCwJCQkwLAkJMCwJCU1UMzIsCTAgfSwKKyB7ImRtdCIsCQkJInQiLAkJMHg0MTYwMGJjMSwgMHhmZmUwZmZmZiwgV1JfMXxUUkFQLAkJMCwJCTAsCQlNVDMyLAkwIH0sCisgeyJkbXRjMCIsCQkidCxHIiwJCTB4NDBhMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQzB8V1JfQ0N8Q00sCTAsCQlJMywJCTAsCUVFIH0sCitAQCAtMTExMyw2ICsxMTE3LDggQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIC8qIGRtZmMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KKyAvKiBkbXRjMyBpcyBhdCB0aGUgYm90dG9tIG9mIHRoZSB0YWJsZS4gICovCisgeyJkbXVoIiwJCSJkLHMsdCIsCTB4MDAwMDAwZGMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKKyt7ImRtdHVyIiwJCSJ0LGQiLAkJMHg3MDAwMDAxZiwgMHhmZmUwMDdmZiwJUkRfMSwJCQkwLAkJWExQLAkJMCwJMCB9LAorK3siZG11bCIsCQkiZCxzLHQiLAkweDcwMDAwMDA2LCAweGZjMDAwN2ZmLAlXUl8xfFJEXzJ8UkRfMywJCTAsCQlYTFAsCQkwLAkwIH0sCisgeyJkbXVsIiwJCSJkLHMsdCIsCTB4MDAwMDAwOWMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKKyB7ImRtdWwiLAkJImQsdix0IiwJMHg3MDAwMDAwMywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfSElMTywJMCwJCUlPQ1QsCQkwLAkwIH0sCisgeyJkbXVsIiwJCSJkLHYsdCIsCTAsICAgIChpbnQpIE1fRE1VTCwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCU0zMnxJNjkgfSwKK0BAIC0xMjY2LDkgKzEyNzIsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJsZCIsCQkJInMsLWIoK1IpIiwJMHhlYzE4MDAwMCwgMHhmYzFjMDAwMCwgV1JfMSwJCQlSRF9wYywJCUk2OSwJCTAsCTAgfSwKKyB7ImxkIiwJCQkidCxBKGIpIiwJMCwgICAgKGludCkgTV9MRF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCTAgfSwKKyB7ImxkIiwJCQkidCxvKGIpIiwJMHhkYzAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8zfExNLAkJMCwJCUkzLAkJMCwJMCB9LAorLXsibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKy17ImxkYWRkd3UiLAkJInQsYiIsCQkweDcwMDAwMDExLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKyt7ImxkYWRkdyIsCQkidCxiIiwJCTB4NzAwMDAwMTAsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJsZGMxIiwJCSJULG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCisgeyJsZGMxIiwJCSJFLG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCisgeyJsZGMxIiwJCSJULEEoYikiLAkwLCAgICAoaW50KSBNX0xEQzFfQUIsCUlOU05fTUFDUk8sCQlJTlNOMl9NX0ZQX0QsCUkyLAkJMCwJU0YgfSwKK0BAIC0xNDMzLDcgKzE0MzksNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJtZmxvIiwJCSJkLDkiLAkJMHgwMDAwMDAxMiwgMHhmZjlmMDdmZiwgV1JfMXxSRF9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCisgeyJtZmxvMSIsCQkiZCIsCQkweDcwMDAwMDEyLCAweGZmZmYwN2ZmLAlXUl8xfFJEX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAorIHsibWZsaHh1IiwJCSJkIiwJCTB4MDAwMDAwNTIsIDB4ZmZmZjA3ZmYsCVdSXzF8TU9EX0hJTE8sCQkwLAkJMCwJCVNNVCwJMCB9LAorLXsibWZjciIsCQkidCxzIiwJCTB4NzAwMDAwMTgsIDB4ZmMwMGZmZmYsIFdSXzF8UkRfMiwJCTAsCQlYTFIsCQkwLAkwIH0sCisreyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMSwJCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorIHsibWZzYSIsCQkiZCIsCQkweDAwMDAwMDI4LCAweGZmZmYwN2ZmLAlXUl8xLAkJCTAsCQlFRSwJCTAsCTAgfSwKKyB7Im1pbi5vYiIsCQkiWCxZLFEiLAkweDc4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJU0IxLAkJTVgsCTAgfSwKKyB7Im1pbi5vYiIsCQkiRCxTLFEiLAkweDQ4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJTjU0LAkJMCwJMCB9LAorQEAgLTE0NzgsMTAgKzE0ODQsMTMgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQorIC8qIG1vdmUgaXMgYXQgdGhlIHRvcCBvZiB0aGUgdGFibGUuICAqLworIHsibXNnbi5xaCIsCQkiWCxZLFEiLAkweDc4MjAwMDAwLCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJMCwJCU1YLAkwIH0sCisgeyJtc2dzbmQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dTTkQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorK3sibXNnc25kcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDEsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKKyB7Im1zZ2xkIiwJCSIiLCAJCTAsICAgIChpbnQpIE1fTVNHTEQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAorIHsibXNnbGQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dMRF9ULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKKy17Im1zZ3dhaXQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dXQUlULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKKy17Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCisreyJtc2dsZHMiLAkJImQsdCIsCQkweDRhMDAwMDAyLCAweGZmZTAwN2ZmLAlXUl8xfFJEXzJ8UkRfQzB8V1JfQzAsCTAsCQlYTFAsCQkwLAkwIH0sCisreyJtc2d3YWl0IiwJCSIiLAkJMCwgICAgKGludCkgTV9NU0dXQUlULCAgSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJtc2d3YWl0IiwJCSJ0IiwJCTAsICAgIChpbnQpIE1fTVNHV0FJVF9ULElOU05fTUFDUk8sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAorK3sibXNnc3luYyIsCQkiIiwJCTB4NGEwMDAwMDQsIDB4ZmZmZmZmZmYsMCwJCQkwLAkJWExQLAkJMCwJMCB9LAorIHsibXN1Yi5kIiwJCSJELFIsUyxUIiwJMHg0YzAwMDAyOSwgMHhmYzAwMDAzZiwgV1JfMXxSRF8yfFJEXzN8UkRfNHxGUF9ELCAwLAkJSTRfMzMsCQkwLAlJMzcgfSwKKyB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDQ2MjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRSwJCTAsCTAgfSwKKyB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDcyMjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRiwJCTAsCTAgfSwKK0BAIC0xNTMxLDcgKzE1NDAsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJtdGxvIiwJCSJzLDciLAkJMHgwMDAwMDAxMywgMHhmYzFmZTdmZiwgUkRfMXxXUl9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCisgeyJtdGxvMSIsCQkicyIsCQkweDcwMDAwMDEzLCAweGZjMWZmZmZmLAlSRF8xfFdSX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAorIHsibXRsaHgiLAkJInMiLAkJMHgwMDAwMDA1MywgMHhmYzFmZmZmZiwJUkRfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCisteyJtdGNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOSwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKKyt7Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJtdG0wIiwJCSJzIiwJCTB4NzAwMDAwMDgsIDB4ZmMxZmZmZmYsIFJEXzEsCQkJMCwJCUlPQ1QsCQkwLAkwIH0sCisgeyJtdG0wIiwgICAgCQkicyx0IiwJCTB4NzAwMDAwMDgsIDB4ZmMwMGZmZmYsIFJEXzF8UkRfMiwJCTAsCQlJT0NUMywJCTAsCTAgfSwKKyB7Im10bTEiLAkJInMiLAkJMHg3MDAwMDAwYywgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKK0BAIC0xOTY4LDkgKzE5NzcsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9CisgeyJzdXhjMSIsCQkiUyx0KGIpIiwJMHg0YzAwMDAwZCwgMHhmYzAwMDdmZiwgUkRfMXxSRF8yfFJEXzN8U018RlBfRCwJMCwJCUk1XzMzfE41NSwJMCwJSTM3fSwKKyB7InN3IiwJCQkidCxvKGIpIiwJMHhhYzAwMDAwMCwgMHhmYzAwMDAwMCwJUkRfMXxSRF8zfFNNLAkJMCwJCUkxLAkJMCwJMCB9LAorIHsic3ciLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX1NXX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAorLXsic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAorLXsic3dhcHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNSwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKy17InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKKyt7InN3YXB3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNCwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisreyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKKyt7InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCisgeyJzd2MwIiwJCSJFLG8oYikiLAkweGUwMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8zfFJEX0MwfFNNLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKKyB7InN3YzAiLAkJIkUsQShiKSIsCTAsICAgIChpbnQpIE1fU1dDMF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCUlPQ1R8SU9DVFB8SU9DVDJ8STM3IH0sCisgeyJzd2MxIiwJCSJULG8oYikiLAkweGU0MDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U018RlBfUywJMCwJCUkxLAkJMCwJMCB9LAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTEtQ2hhbmdlLWRlZmF1bHQtZW11bGF0aW9uLWZvci1taXBzNjQtbGludXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlOTNiMTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMS1DaGFuZ2UtZGVmYXVsdC1lbXVsYXRpb24tZm9yLW1pcHM2NC1saW51eC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMmQyZTJmY2RkOTY0Njg0OTcxNmVlOTlkOGQzZTVkNzJhZTg4ODliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIgTWFyIDIwMTUgMDE6NDQ6MTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMS8xNV0gQ2hhbmdlIGRlZmF1bHQgZW11bGF0aW9uIGZvciBtaXBzNjQqLSotbGludXgKLQotd2UgY2hhbmdlIHRoZSBkZWZhdWx0IGVtdWxhdGlvbnMgdG8gYmUgTjY0IGluc3RlYWQgb2YgTjMyCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbIE9FIGNvbmZpZ3VyYXRpb24gU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBiZmQvY29uZmlnLmJmZCAgIHwgOCArKysrLS0tLQotIGxkL2NvbmZpZ3VyZS50Z3QgfCA4ICsrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCi1pbmRleCA2MzkxZjM1Njg0Li44YTExYzA2ODBhIDEwMDY0NAotLS0tIGEvYmZkL2NvbmZpZy5iZmQKLSsrKyBiL2JmZC9jb25maWcuYmZkCi1AQCAtOTEzLDEyICs5MTMsMTIgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2xlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyBtaXBzX2Vjb2ZmX2JlX3ZlYyBtaXBzX2Vjb2ZmX2xlX3ZlYyIKLSAgICAgOzsKLSAgIG1pcHM2NCplbC0qLWxpbnV4KikKLS0gICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9udHJhZF9sZV92ZWMKLS0gICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIgotKyAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjY0X3RyYWRfbGVfdmVjCi0rICAgIHRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl9udHJhZF9iZV92ZWMgbWlwc19lbGYzMl9udHJhZF9sZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9iZV92ZWMiCi0gICAgIDs7Ci0gICBtaXBzNjQqLSotbGludXgqKQotLSAgICB0YXJnX2RlZnZlYz1taXBzX2VsZjMyX250cmFkX2JlX3ZlYwotLSAgICB0YXJnX3NlbHZlY3M9Im1pcHNfZWxmMzJfbnRyYWRfbGVfdmVjIG1pcHNfZWxmMzJfdHJhZF9iZV92ZWMgbWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMiCi0rICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmNjRfdHJhZF9iZV92ZWMKLSsgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX250cmFkX2JlX3ZlYyBtaXBzX2VsZjMyX3RyYWRfYmVfdmVjIG1pcHNfZWxmMzJfdHJhZF9sZV92ZWMgbWlwc19lbGY2NF90cmFkX2xlX3ZlYyIKLSAgICAgOzsKLSAgIG1pcHMqZWwtKi1saW51eCopCi0gICAgIHRhcmdfZGVmdmVjPW1pcHNfZWxmMzJfdHJhZF9sZV92ZWMKLWRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAotaW5kZXggZmFkOGIyZTVjOC4uN2ZiMjE2ODUwMyAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKLSsrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC00NjQsMTEgKzQ2NCwxMSBAQCBtaXBzKmVsLSotdnh3b3JrcyopCXRhcmdfZW11bD1lbGYzMmVsbWlwdnh3b3JrcwotIG1pcHMqLSotdnh3b3JrcyopCXRhcmdfZW11bD1lbGYzMmVibWlwdnh3b3JrcwotIAkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyZWxtaXB2eHdvcmtzIiA7OwotIG1pcHMqLSotd2luZGlzcykJdGFyZ19lbXVsPWVsZjMybWlwc3dpbmRpc3MgOzsKLS1taXBzNjQqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJsdHNtaXBuMzIKLS0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcG4zMiBlbGYzMmx0c21pcCBlbGYzMmJ0c21pcCBlbGY2NGx0c21pcCBlbGY2NGJ0c21pcCIKLSttaXBzNjQqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmNjRsdHNtaXAKLSsJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcG4zMiBlbGYzMmx0c21pcG4zMiBlbGYzMmx0c21pcCBlbGYzMmJ0c21pcCBlbGY2NGJ0c21pcCIKLSAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKLS1taXBzNjQqLSotbGludXgtKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwbjMyCi0tCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXBuMzIgZWxmMzJidHNtaXAgZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiCi0rbWlwczY0Ki0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGY2NGJ0c21pcAotKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyYnRzbWlwbjMyIGVsZjMybHRzbWlwbjMyIGVsZjMyYnRzbWlwIGVsZjMybHRzbWlwIGVsZjY0bHRzbWlwIgotIAkJCXRhcmdfZXh0cmFfbGlicGF0aD0kdGFyZ19leHRyYV9lbXVscyA7OwotIG1pcHMqZWwtKi1saW51eC0qKQl0YXJnX2VtdWw9ZWxmMzJsdHNtaXAKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCIKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItQWRkLXN1cHBvcnQtZm9yLU5ldGxvZ2ljLVhMUC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ2NGJkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEyLUFkZC1zdXBwb3J0LWZvci1OZXRsb2dpYy1YTFAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOTMgKzAsMCBAQAotRnJvbSA5NmZmNzU3MGMyOWY3OTJjNDY2YTkzMzUyOWZlZmRhOWI4ZTk3OTk0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMTQgRmViIDIwMTYgMTc6MDY6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxMi8xNV0gQWRkIHN1cHBvcnQgZm9yIE5ldGxvZ2ljIFhMUAotCi1QYXRjaCBGcm9tOiBOZWJ1IFBoaWxpcHMgPG5waGlsaXBzQG5ldGxvZ2ljbWljcm8uY29tPgotCi1Vc2luZyB0aGUgbWlwc2lzYTY0cjJubG0gdGFyZ2V0LCBhZGQgc3VwcG9ydCBmb3IgWExQIGZyb20KLU5ldGxvZ2ljLiBBbHNvLCB1cGRhdGUgdmVuZG9yIG5hbWUgdG8gTkxNIHdoZXJldmVyIGFwcGxpY2FibGUuCi0KLVVzZSAweDAwMDAwMDgwIGZvciBJTlNOX1hMUCwgdGhlIHZhbHVlIDB4MDAwMDAwNDAgaGFzIGFscmVhZHkgYmVlbgotYXNzaWduZWQgdG8gSU5TTl9PQ1RFT04zCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQmFvc2hhbiBQYW5nIDxiYW9zaGFuLnBhbmdAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9hb3V0eC5oICAgICAgICAgICB8ICAxICsKLSBiZmQvYXJjaHVyZXMuYyAgICAgICAgfCAgMSArCi0gYmZkL2JmZC1pbjIuaCAgICAgICAgIHwgIDEgKwotIGJmZC9jb25maWcuYmZkICAgICAgICB8ICA1ICsrKysrCi0gYmZkL2NwdS1taXBzLmMgICAgICAgIHwgIDYgKysrKy0tCi0gYmZkL2VsZnh4LW1pcHMuYyAgICAgIHwgIDggKysrKysrKysKLSBiaW51dGlscy9yZWFkZWxmLmMgICAgfCAgMSArCi0gZ2FzL2NvbmZpZy90Yy1taXBzLmMgIHwgIDQgKysrLQotIGdhcy9jb25maWd1cmUgICAgICAgICB8ICAzICsrKwotIGluY2x1ZGUvZWxmL21pcHMuaCAgICB8ICAxICsKLSBpbmNsdWRlL29wY29kZS9taXBzLmggfCAgNiArKysrKysKLSBsZC9jb25maWd1cmUudGd0ICAgICAgfCAgMiArKwotIG9wY29kZXMvbWlwcy1kaXMuYyAgICB8IDEyICsrKysrLS0tLS0tLQotIG9wY29kZXMvbWlwcy1vcGMuYyAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSAxNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2JmZC9hb3V0eC5oIGIvYmZkL2FvdXR4LmgKLWluZGV4IDAyMzg0M2IwYmUuLjQ2MjQ2ZmVjMmQgMTAwNjQ0Ci0tLS0gYS9iZmQvYW91dHguaAotKysrIGIvYmZkL2FvdXR4LmgKLUBAIC03OTgsNiArNzk4LDcgQEAgTkFNRSAoYW91dCwgbWFjaGluZV90eXBlKSAoZW51bSBiZmRfYXJjaGl0ZWN0dXJlIGFyY2gsCi0gCWNhc2UgYmZkX21hY2hfbWlwc2lzYTY0cjY6Ci0gCWNhc2UgYmZkX21hY2hfbWlwc19zYjE6Ci0gCWNhc2UgYmZkX21hY2hfbWlwc194bHI6Ci0rCWNhc2UgYmZkX21hY2hfbWlwc194bHA6Ci0gCSAgLyogRklYTUU6IFRoZXNlIHNob3VsZCBiZSBNSVBTMywgTUlQUzQsIE1JUFMxNiwgTUlQUzMyLCBldGMuICAqLwotIAkgIGFyY2hfZmxhZ3MgPSBNX01JUFMyOwotIAkgIGJyZWFrOwotZGlmZiAtLWdpdCBhL2JmZC9hcmNodXJlcy5jIGIvYmZkL2FyY2h1cmVzLmMKLWluZGV4IDI4MmU5ODMwODYuLmIzOGIwNWQxMzIgMTAwNjQ0Ci0tLS0gYS9iZmQvYXJjaHVyZXMuYwotKysrIGIvYmZkL2FyY2h1cmVzLmMKLUBAIC0xODMsNiArMTgzLDcgQEAgREVTQ1JJUFRJT04KLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX29jdGVvbjMJCTY1MDMKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscgkJODg3NjgyCSB7KiBkZWNpbWFsICdYTFInLiAgKn0KLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyCTczNjU1MAkgeyogZGVjaW1hbCAnSUEyJy4gICp9Ci0rLiNkZWZpbmUgYmZkX21hY2hfbWlwc194bHAgICAgICAgICAgICAgIDg4NzY4MCAgIHsqIGRlY2ltYWwgJ1hMUCcuICAqfQotIC4jZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMgkJMzIKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMgkJMzMKLSAuI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzJyMwkJMzQKLWRpZmYgLS1naXQgYS9iZmQvYmZkLWluMi5oIGIvYmZkL2JmZC1pbjIuaAotaW5kZXggOTM3NDViZDNmZC4uMzI2ZTllNDllZCAxMDA2NDQKLS0tLSBhL2JmZC9iZmQtaW4yLmgKLSsrKyBiL2JmZC9iZmQtaW4yLmgKLUBAIC0yMDU0LDYgKzIwNTQsNyBAQCBlbnVtIGJmZF9hcmNoaXRlY3R1cmUKLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNfb2N0ZW9uMyAgICAgICAgICA2NTAzCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzX3hsciAgICAgICAgICAgICAgODg3NjgyICAgLyogZGVjaW1hbCAnWExSJy4gICovCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzX2ludGVyYXB0aXZfbXIyICAgNzM2NTUwICAgLyogZGVjaW1hbCAnSUEyJy4gICovCi0rI2RlZmluZSBiZmRfbWFjaF9taXBzX3hscCAgICAgICAgICAgICAgODg3NjgwICAgLyogZGVjaW1hbCAnWExQJy4gICovCi0gI2RlZmluZSBiZmRfbWFjaF9taXBzaXNhMzIgICAgICAgICAgICAgMzIKLSAjZGVmaW5lIGJmZF9tYWNoX21pcHNpc2EzMnIyICAgICAgICAgICAzMwotICNkZWZpbmUgYmZkX21hY2hfbWlwc2lzYTMycjMgICAgICAgICAgIDM0Ci1kaWZmIC0tZ2l0IGEvYmZkL2NvbmZpZy5iZmQgYi9iZmQvY29uZmlnLmJmZAotaW5kZXggOGExMWMwNjgwYS4uYzg4MjQyMTM0MyAxMDA2NDQKLS0tLSBhL2JmZC9jb25maWcuYmZkCi0rKysgYi9iZmQvY29uZmlnLmJmZAotQEAgLTg5Niw2ICs4OTYsMTEgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9sZV92ZWMKLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2JlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyIKLSAgICAgOzsKLSsgIG1pcHNpc2E2NCotKi1lbGYqKQotKwl0YXJnX2RlZnZlYz1taXBzX2VsZjMyX3RyYWRfYmVfdmVjCi0rCXRhcmdfc2VsdmVjcz0ibWlwc19lbGYzMl90cmFkX2xlX3ZlYyBtaXBzX2VsZjY0X3RyYWRfYmVfdmVjIG1pcHNfZWxmNjRfdHJhZF9sZV92ZWMiCi0rCXdhbnQ2ND10cnVlCi0rCTs7Ci0gICBtaXBzKi0qLWVsZiogfCBtaXBzKi0qLXJ0ZW1zKiB8IG1pcHMqLSotd2luZGlzcyB8IG1pcHMqLSotbm9uZSkKLSAgICAgdGFyZ19kZWZ2ZWM9bWlwc19lbGYzMl9iZV92ZWMKLSAgICAgdGFyZ19zZWx2ZWNzPSJtaXBzX2VsZjMyX2xlX3ZlYyBtaXBzX2VsZjY0X2JlX3ZlYyBtaXBzX2VsZjY0X2xlX3ZlYyIKLWRpZmYgLS1naXQgYS9iZmQvY3B1LW1pcHMuYyBiL2JmZC9jcHUtbWlwcy5jCi1pbmRleCBjYjUwYzY0MzcxLi4yYjlkMWQ2ZWNmIDEwMDY0NAotLS0tIGEvYmZkL2NwdS1taXBzLmMKLSsrKyBiL2JmZC9jcHUtbWlwcy5jCi1AQCAtMTA1LDcgKzEwNSw4IEBAIGVudW0KLSAgIElfbWlwc29jdGVvbjMsCi0gICBJX3hsciwKLSAgIElfaW50ZXJhcHRpdl9tcjIsCi0tICBJX21pY3JvbWlwcwotKyAgSV9taWNyb21pcHMsCi0rICBJX3hscAotIH07Ci0gCi0gI2RlZmluZSBOTihpbmRleCkgKCZhcmNoX2luZm9fc3RydWN0WyhpbmRleCkgKyAxXSkKLUBAIC0xNTgsNyArMTU5LDggQEAgc3RhdGljIGNvbnN0IGJmZF9hcmNoX2luZm9fdHlwZSBhcmNoX2luZm9fc3RydWN0W10gPQotICAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX3hsciwgIm1pcHM6eGxyIiwJICBGQUxTRSwgTk4oSV94bHIpKSwKLSAgIE4gKDMyLCAzMiwgYmZkX21hY2hfbWlwc19pbnRlcmFwdGl2X21yMiwgIm1pcHM6aW50ZXJhcHRpdi1tcjIiLCBGQUxTRSwKLSAgICAgIE5OKElfaW50ZXJhcHRpdl9tcjIpKSwKLS0gIE4gKDY0LCA2NCwgYmZkX21hY2hfbWlwc19taWNyb21pcHMsIm1pcHM6bWljcm9taXBzIixGQUxTRSwwKQotKyAgTiAoNjQsIDY0LCBiZmRfbWFjaF9taXBzX21pY3JvbWlwcywibWlwczptaWNyb21pcHMiLEZBTFNFLE5OKElfbWljcm9taXBzKSksCi0rICBOICg2NCwgNjQsIGJmZF9tYWNoX21pcHNfeGxwLCAibWlwczp4bHAiLCAgICAgIEZBTFNFLCAwKQotIH07Ci0gCi0gLyogVGhlIGRlZmF1bHQgYXJjaGl0ZWN0dXJlIGlzIG1pcHM6MzAwMCwgYnV0IHdpdGggYSBtYWNoaW5lIG51bWJlciBvZgotZGlmZiAtLWdpdCBhL2JmZC9lbGZ4eC1taXBzLmMgYi9iZmQvZWxmeHgtbWlwcy5jCi1pbmRleCBkOTE5NDIzMDFjLi41ZDFiZDNmMGIxIDEwMDY0NAotLS0tIGEvYmZkL2VsZnh4LW1pcHMuYwotKysrIGIvYmZkL2VsZnh4LW1pcHMuYwotQEAgLTY4MDUsNiArNjgwNSw5IEBAIF9iZmRfZWxmX21pcHNfbWFjaCAoZmxhZ3dvcmQgZmxhZ3MpCi0gICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6Ci0gICAgICAgcmV0dXJuIGJmZF9tYWNoX21pcHNfaW50ZXJhcHRpdl9tcjI7Ci0gCi0rICAgIGNhc2UgRV9NSVBTX01BQ0hfWExQOgotKyAgICAgIHJldHVybiBiZmRfbWFjaF9taXBzX3hscDsKLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICBzd2l0Y2ggKGZsYWdzICYgRUZfTUlQU19BUkNIKQotIAl7Ci1AQCAtMTIwMDMsNiArMTIwMDYsMTAgQEAgbWlwc19zZXRfaXNhX2ZsYWdzIChiZmQgKmFiZmQpCi0gICAgICAgdmFsID0gRV9NSVBTX0FSQ0hfNjRSMiB8IEVfTUlQU19NQUNIX09DVEVPTjI7Ci0gICAgICAgYnJlYWs7Ci0gCi0rCWNhc2UgYmZkX21hY2hfbWlwc194bHA6Ci0rCSAgdmFsID0gRV9NSVBTX0FSQ0hfNjRSMiB8IEVfTUlQU19NQUNIX1hMUDsKLSsJICBicmVhazsKLSsKLSAgICAgY2FzZSBiZmRfbWFjaF9taXBzaXNhMzI6Ci0gICAgICAgdmFsID0gRV9NSVBTX0FSQ0hfMzI7Ci0gICAgICAgYnJlYWs7Ci1AQCAtMTM5OTIsNiArMTM5OTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG1pcHNfbWFjaF9leHRlbnNpb24gbWlwc19tYWNoX2V4dGVuc2lvbnNbXSA9Ci0gICB7IGJmZF9tYWNoX21pcHNfb2N0ZW9ucCwgYmZkX21hY2hfbWlwc19vY3Rlb24gfSwKLSAgIHsgYmZkX21hY2hfbWlwc19vY3Rlb24sIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCi0gICB7IGJmZF9tYWNoX21pcHNfbG9vbmdzb25fM2EsIGJmZF9tYWNoX21pcHNpc2E2NHIyIH0sCi0rICB7IGJmZF9tYWNoX21pcHNfeGxwLCBiZmRfbWFjaF9taXBzaXNhNjRyMiB9LAotIAotICAgLyogTUlQUzY0IGV4dGVuc2lvbnMuICAqLwotICAgeyBiZmRfbWFjaF9taXBzaXNhNjRyMiwgYmZkX21hY2hfbWlwc2lzYTY0IH0sCi1kaWZmIC0tZ2l0IGEvYmludXRpbHMvcmVhZGVsZi5jIGIvYmludXRpbHMvcmVhZGVsZi5jCi1pbmRleCAyYjc4ZGIyMTliLi43YTcxNzg5MjVmIDEwMDY0NAotLS0tIGEvYmludXRpbHMvcmVhZGVsZi5jCi0rKysgYi9iaW51dGlscy9yZWFkZWxmLmMKLUBAIC0zNDAzLDYgKzM0MDMsNyBAQCBnZXRfbWFjaGluZV9mbGFncyAoRmlsZWRhdGEgKiBmaWxlZGF0YSwgdW5zaWduZWQgZV9mbGFncywgdW5zaWduZWQgZV9tYWNoaW5lKQotIAkgICAgY2FzZSBFX01JUFNfTUFDSF9PQ1RFT04zOiBzdHJjYXQgKGJ1ZiwgIiwgb2N0ZW9uMyIpOyBicmVhazsKLSAJICAgIGNhc2UgRV9NSVBTX01BQ0hfWExSOiAgc3RyY2F0IChidWYsICIsIHhsciIpOyBicmVhazsKLSAJICAgIGNhc2UgRV9NSVBTX01BQ0hfSUFNUjI6ICBzdHJjYXQgKGJ1ZiwgIiwgaW50ZXJhcHRpdi1tcjIiKTsgYnJlYWs7Ci0rCSAgICBjYXNlIEVfTUlQU19NQUNIX1hMUDogIHN0cmNhdCAoYnVmLCAiLCB4bHAiKTsgYnJlYWs7Ci0gCSAgICBjYXNlIDA6Ci0gCSAgICAvKiBXZSBzaW1wbHkgaWdub3JlIHRoZSBmaWVsZCBpbiB0aGlzIGNhc2UgdG8gYXZvaWQgY29uZnVzaW9uOgotIAkgICAgICAgTUlQUyBFTEYgZG9lcyBub3Qgc3BlY2lmeSBFRl9NSVBTX01BQ0gsIGl0IGlzIGEgR05VCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZy90Yy1taXBzLmMgYi9nYXMvY29uZmlnL3RjLW1pcHMuYwotaW5kZXggNTlkZjc4NzE1NS4uNDg1MzcyMjZjMCAxMDA2NDQKLS0tLSBhL2dhcy9jb25maWcvdGMtbWlwcy5jCi0rKysgYi9nYXMvY29uZmlnL3RjLW1pcHMuYwotQEAgLTU1Miw2ICs1NTIsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKLSAgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfUk03MDAwICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1ZSNTUwMCAgICAgICAgICAgICAgICAgICAgXAotICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKQotIAotIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcwotQEAgLTU4MSw2ICs1ODIsNyBAQCBzdGF0aWMgaW50IG1pcHNfMzJiaXRtb2RlID0gMDsKLSAgICAgJiYgbWlwc19vcHRzLmlzYSAhPSBJU0FfTUlQUzMpICAgICAgICAgICAgICAgICAgICBcCi0gICAgfHwgbWlwc19vcHRzLmFyY2ggPT0gQ1BVX1I0MzAwICAgICAgICAgICAgICAgICAgICAgXAotICAgIHx8IG1pcHNfb3B0cy5taWNyb21pcHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICB8fCBtaXBzX29wdHMuYXJjaCA9PSBDUFVfWExQICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKQotIAotIC8qIFdoZXRoZXIgdGhlIHByb2Nlc3NvciB1c2VzIGhhcmR3YXJlIGludGVybG9ja3MgdG8gcHJvdGVjdCByZWFkcwotQEAgLTE5Nzc4LDcgKzE5NzgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaXBzX2NwdV9pbmZvIG1pcHNfY3B1X2luZm9fdGFibGVbXSA9Ci0gICAvKiBCcm9hZGNvbSBYTFAuCi0gICAgICBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIHRoYXQgaXQgaXMKLSAgICAgIE1JUFM2NFIyIHJhdGhlciB0aGFuIE1JUFM2NC4gICovCi0tICB7ICJ4bHAiLAkgICAgICAwLCAwLAkJCUlTQV9NSVBTNjRSMiwgQ1BVX1hMUiB9LAotKyAgeyAieGxwIiwJICAgICAgMCwgMCwJCQlJU0FfTUlQUzY0UjIsIENQVV9YTFAgfSwKLSAKLSAgIC8qIE1JUFMgNjQgUmVsZWFzZSA2ICovCi0gICB7ICJpNjQwMCIsCSAgICAgIDAsIEFTRV9NU0EsCQlJU0FfTUlQUzY0UjYsIENQVV9NSVBTNjRSNn0sCi1kaWZmIC0tZ2l0IGEvZ2FzL2NvbmZpZ3VyZSBiL2dhcy9jb25maWd1cmUKLWluZGV4IDEzNDI3OGZhMjUuLjJmZGNhMTQ3YTEgMTAwNzU1Ci0tLS0gYS9nYXMvY29uZmlndXJlCi0rKysgYi9nYXMvY29uZmlndXJlCi1AQCAtMTMzMzYsNiArMTMzMzYsOSBAQCBfQUNFT0YKLSAJICBtaXBzaXNhNjRyNiB8IG1pcHNpc2E2NHI2ZWwpCi0gCSAgICBtaXBzX2NwdT1taXBzNjRyNgotIAkgICAgOzsKLSsJICBtaXBzaXNhNjRyMm5sbSB8IG1pcHNpc2E2NHIybmxtZWwpCi0rCQltaXBzX2NwdT14bHAKLSsJCTs7Ci0gCSAgbWlwc3R4MzkgfCBtaXBzdHgzOWVsKQotIAkgICAgbWlwc19jcHU9cjM5MDAKLSAJICAgIDs7Ci1kaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbGYvbWlwcy5oIGIvaW5jbHVkZS9lbGYvbWlwcy5oCi1pbmRleCA0ZTJjZGUzMjc5Li5jMzI5ZjM4OTI5IDEwMDY0NAotLS0tIGEvaW5jbHVkZS9lbGYvbWlwcy5oCi0rKysgYi9pbmNsdWRlL2VsZi9taXBzLmgKLUBAIC0yOTAsNiArMjkwLDcgQEAgRU5EX1JFTE9DX05VTUJFUlMgKFJfTUlQU19tYXhleHQpCi0gI2RlZmluZSBFX01JUFNfTUFDSF9TQjEgICAgICAgICAweDAwOGEwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04JMHgwMDhiMDAwMAotICNkZWZpbmUgRV9NSVBTX01BQ0hfWExSICAgICAJMHgwMDhjMDAwMAotKyNkZWZpbmUgRV9NSVBTX01BQ0hfWExQICAgICAgICAgMHgwMDhmMDAwMAotICNkZWZpbmUgRV9NSVBTX01BQ0hfT0NURU9OMgkweDAwOGQwMDAwCi0gI2RlZmluZSBFX01JUFNfTUFDSF9PQ1RFT04zCTB4MDA4ZTAwMDAKLSAjZGVmaW5lIEVfTUlQU19NQUNIXzU0MDAJMHgwMDkxMDAwMAotZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaCBiL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAotaW5kZXggMWFiMTc4MDU2Ny4uNzRmNDU3YjU3OSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvb3Bjb2RlL21pcHMuaAotKysrIGIvaW5jbHVkZS9vcGNvZGUvbWlwcy5oCi1AQCAtMTI2Miw2ICsxMjYyLDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtaXBzX2lzYV90YWJsZVtdID0gewotICNkZWZpbmUgSU5TTl9YTFIgICAgICAgICAgICAgICAgIDB4MDAwMDAwMjAKLSAvKiBJbWFnaW5hdGlvbiBpbnRlckFwdGl2IE1SMi4gICovCi0gI2RlZmluZSBJTlNOX0lOVEVSQVBUSVZfTVIyCSAgMHgwNDAwMDAwMAotKy8qIE5ldGxvZ2ljIFhsUCBpbnN0cnVjdGlvbiAqLwotKyNkZWZpbmUgSU5TTl9YTFAJCTB4MDAwMDAwODAKLSAKLSAvKiBEU1AgQVNFICovCi0gI2RlZmluZSBBU0VfRFNQCQkJMHgwMDAwMDAwMQotQEAgLTEzNzMsNiArMTM3NSw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbWlwc19pc2FfdGFibGVbXSA9IHsKLSAjZGVmaW5lIENQVV9PQ1RFT04zCTY1MDMKLSAjZGVmaW5lIENQVV9YTFIgICAgIAk4ODc2ODIgICAJLyogZGVjaW1hbCAnWExSJyAgICovCi0gI2RlZmluZSBDUFVfSU5URVJBUFRJVl9NUjIgNzM2NTUwCS8qIGRlY2ltYWwgJ0lBMicgICovCi0rI2RlZmluZSBDUFVfWExQICAgICAgICAgODg3NjgwICAgICAgLyogZGVjaW1hbCAnWExQJyAgICovCi0gCi0gLyogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIENQVSBpcyBpbmNsdWRlZCBpbiBJTlNOXyogbWFzayBNQVNLLiAgKi8KLSAKLUBAIC0xNDUzLDYgKzE0NTYsOSBAQCBjcHVfaXNfbWVtYmVyIChpbnQgY3B1LCB1bnNpZ25lZCBpbnQgbWFzaykKLSAgICAgICByZXR1cm4gKChtYXNrICYgSU5TTl9JU0FfTUFTSykgPT0gSU5TTl9JU0EzMlI2KQotIAkgICAgIHx8ICgobWFzayAmIElOU05fSVNBX01BU0spID09IElOU05fSVNBNjRSNik7Ci0gCi0rICAgIGNhc2UgQ1BVX1hMUDoKLSsgICAgICByZXR1cm4gKG1hc2sgJiBJTlNOX1hMUCkgIT0gMDsKLSsKLSAgICAgZGVmYXVsdDoKLSAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgIH0KLWRpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAotaW5kZXggN2ZiMjE2ODUwMy4uYTFkYjdhZGZlMiAxMDA2NDQKLS0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKLSsrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC00NTAsNiArNDUwLDggQEAgbWlwcyplbC1zZGUtZWxmKiB8IG1pcHMqZWwtbXRpLWVsZiogfCBtaXBzKmVsLWltZy1lbGYqKQotIG1pcHMqLXNkZS1lbGYqIHwgbWlwcyotbXRpLWVsZiogfCBtaXBzKi1pbWctZWxmKikKLSAJCQl0YXJnX2VtdWw9ZWxmMzJidHNtaXAKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmx0c21pcCBlbGYzMmJ0c21pcG4zMiBlbGY2NGJ0c21pcCBlbGYzMmx0c21pcG4zMiBlbGY2NGx0c21pcCIgOzsKLSttaXBzaXNhNjQqLSotZWxmKikJdGFyZ19lbXVsPWVsZjMyYnRzbWlwCi0rCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJsdHNtaXAgZWxmNjRidHNtaXAgZWxmNjRsdHNtaXAiIDs7Ci0gbWlwczY0KmVsLXBzMi1lbGYqKQl0YXJnX2VtdWw9ZWxmMzJscjU5MDBuMzIKLSAJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMmxyNTkwMCIKLSAJCQl0YXJnX2V4dHJhX2xpYnBhdGg9JHRhcmdfZXh0cmFfZW11bHMgOzsKLWRpZmYgLS1naXQgYS9vcGNvZGVzL21pcHMtZGlzLmMgYi9vcGNvZGVzL21pcHMtZGlzLmMKLWluZGV4IGJiZjIxMzI4ZTguLjM4ZTQ4N2MxNmYgMTAwNjQ0Ci0tLS0gYS9vcGNvZGVzL21pcHMtZGlzLmMKLSsrKyBiL29wY29kZXMvbWlwcy1kaXMuYwotQEAgLTY1NiwxMyArNjU2LDExIEBAIGNvbnN0IHN0cnVjdCBtaXBzX2FyY2hfY2hvaWNlIG1pcHNfYXJjaF9jaG9pY2VzW10gPQotICAgICBtaXBzX2NwMHNlbF9uYW1lc194bHIsIEFSUkFZX1NJWkUgKG1pcHNfY3Awc2VsX25hbWVzX3hsciksCi0gICAgIG1pcHNfY3AxX25hbWVzX21pcHMzMjY0LCBtaXBzX2h3cl9uYW1lc19udW1lcmljIH0sCi0gCi0tICAvKiBYTFAgaXMgbW9zdGx5IGxpa2UgWExSLCB3aXRoIHRoZSBwcm9taW5lbnQgZXhjZXB0aW9uIGl0IGlzIGJlaW5nCi0tICAgICBNSVBTNjRSMi4gICovCi0tICB7ICJ4bHAiLCAxLCBiZmRfbWFjaF9taXBzX3hsciwgQ1BVX1hMUiwKLS0gICAgSVNBX01JUFM2NFIyIHwgSU5TTl9YTFIsIDAsCi0tICAgIG1pcHNfY3AwX25hbWVzX3hsciwKLS0gICAgbWlwc19jcDBzZWxfbmFtZXNfeGxyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc194bHIpLAotLSAgICBtaXBzX2NwMV9uYW1lc19taXBzMzI2NCwgbWlwc19od3JfbmFtZXNfbnVtZXJpYyB9LAotKyAgeyAieGxwIiwgMSwgYmZkX21hY2hfbWlwc194bHAsIENQVV9YTFAsCi0rICAgIElTQV9NSVBTNjRSMiB8IElOU05fWExQLCAwLAotKyAgICBtaXBzX2NwMF9uYW1lc19taXBzMzI2NHIyLAotKyAgICBtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyLCBBUlJBWV9TSVpFIChtaXBzX2NwMHNlbF9uYW1lc19taXBzMzI2NHIyKSwKLSsgICAgbWlwc19jcDFfbmFtZXNfbWlwczMyNjQsIG1pcHNfaHdyX25hbWVzX21pcHMzMjY0cjIgfSwKLSAKLSAgIC8qIFRoaXMgZW50cnksIG1pcHMxNiwgaXMgaGVyZSBvbmx5IGZvciBJU0EvcHJvY2Vzc29yIHNlbGVjdGlvbjsgZG8KLSAgICAgIG5vdCBwcmludCBpdHMgbmFtZS4gICovCi1kaWZmIC0tZ2l0IGEvb3Bjb2Rlcy9taXBzLW9wYy5jIGIvb3Bjb2Rlcy9taXBzLW9wYy5jCi1pbmRleCAxY2JjYmM2YWJjLi5lMWZiZGM4OWRlIDEwMDY0NAotLS0tIGEvb3Bjb2Rlcy9taXBzLW9wYy5jCi0rKysgYi9vcGNvZGVzL21pcHMtb3BjLmMKLUBAIC0zMjksNiArMzI5LDcgQEAgZGVjb2RlX21pcHNfb3BlcmFuZCAoY29uc3QgY2hhciAqcCkKLSAjZGVmaW5lIElPQ1QzCUlOU05fT0NURU9OMwotICNkZWZpbmUgWExSICAgICBJTlNOX1hMUgotICNkZWZpbmUgSUFNUjIJSU5TTl9JTlRFUkFQVElWX01SMgotKyNkZWZpbmUgWExQCUlOU05fWExQCi0gI2RlZmluZSBJVklSVAlBU0VfVklSVAotICNkZWZpbmUgSVZJUlQ2NAlBU0VfVklSVDY0Ci0gCi1AQCAtOTc0LDYgKzk3NSw3IEBAIGNvbnN0IHN0cnVjdCBtaXBzX29wY29kZSBtaXBzX2J1aWx0aW5fb3Bjb2Rlc1tdID0KLSB7ImNsbyIsCQkJIlUscyIsCQkweDcwMDAwMDIxLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCi0geyJjbHoiLAkJCSJkLHMiLAkJMHgwMDAwMDA1MCwgMHhmYzFmMDdmZiwgV1JfMXxSRF8yLAkJMCwJCUkzNywJCTAsCTAgfSwKLSB7ImNseiIsCQkJIlUscyIsCQkweDcwMDAwMDIwLCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTMyfE41NSwJMCwJSTM3IH0sCi0reyJjcmMiLAkJCSJkLHMsdCIsCTB4NzAwMDAwMWMsIDB4ZmMwMDA3ZmYsCVdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKLSAvKiBjdGMwIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KLSB7ImN0YzEiLAkJInQsRyIsCQkweDQ0YzAwMDAwLCAweGZmZTAwN2ZmLAlSRF8xfFdSX0NDfENNLAkJMCwJCUkxLAkJMCwJMCB9LAotIHsiY3RjMSIsCQkidCxTIiwJCTB4NDRjMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQ0N8Q00sCQkwLAkJSTEsCQkwLAkwIH0sCi1AQCAtMTAwNiwxMiArMTAwOCwxMyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJkYWRkaXUiLAkJInQscixqIiwJMHg2NDAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8yLAkJMCwJCUkzLAkJMCwJMCB9LAotIHsiZGFkZHUiLAkJImQsdix0IiwJMHgwMDAwMDAyZCwgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzMsCQkwLAkJSTMsCQkwLAkwIH0sCi0geyJkYWRkdSIsCQkidCxyLEkiLAkwLCAgICAoaW50KSBNX0RBRERVX0ksCUlOU05fTUFDUk8sCQkwLAkJSTMsCQkwLAkwIH0sCi0teyJkYWRkd2MiLAkJImQscyx0IiwgCTB4NzAwMDAwMzgsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zfFdSX0MwfFJEX0MwLCAwLAkJWExSLAkJMCwJMCB9LAotK3siZGFkZHdjIiwJCSJkLHMsdCIsIAkweDcwMDAwMDM4LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzJ8UkRfM3xXUl9DMHxSRF9DMCwgMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSB7ImRicmVhayIsCQkiIiwJCTB4NzAwMDAwM2YsIDB4ZmZmZmZmZmYsCTAsCQkJMCwJCU41LAkJMCwJMCB9LAotIHsiZGNsbyIsCQkiZCxzIiwJCTB4MDAwMDAwNTMsIDB4ZmMxZjA3ZmYsIFdSXzF8UkRfMiwJCTAsCQlJNjksCQkwLAkwIH0sCi0geyJkY2xvIiwJCSJVLHMiLAkgCTB4NzAwMDAwMjUsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMiwgCTAsCQlJNjR8TjU1LAkwLAlJNjkgfSwKLSB7ImRjbHoiLAkJImQscyIsCQkweDAwMDAwMDUyLCAweGZjMWYwN2ZmLCBXUl8xfFJEXzIsCQkwLAkJSTY5LAkJMCwJMCB9LAotIHsiZGNseiIsCQkiVSxzIiwJIAkweDcwMDAwMDI0LCAweGZjMDAwN2ZmLCBXUl8xfFJEXzIsIAkwLAkJSTY0fE41NSwJMCwJSTY5IH0sCi0reyJkY3JjIiwJCSJkLHMsdCIsCTB4NzAwMDAwMWQsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkwLAkJWExQLCAJCTAsCTAgfSwKLSAvKiBkY3RyIGFuZCBkY3R3IGFyZSB1c2VkIG9uIHRoZSByNTAwMC4gICovCi0geyJkY3RyIiwJCSJvKGIpIiwJIAkweGJjMDUwMDAwLCAweGZjMWYwMDAwLCBSRF8yLAkJCTAsCQlJMywJCTAsCTAgfSwKLSB7ImRjdHciLAkJIm8oYikiLAkJMHhiYzA5MDAwMCwgMHhmYzFmMDAwMCwgUkRfMiwJCQkwLAkJSTMsCQkwLAkwIH0sCi1AQCAtMTA4Myw2ICsxMDg2LDcgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIHsiZG1mYzAiLAkJInQsRyxIIiwJMHg0MDIwMDAwMCwgMHhmZmUwMDdmOCwJV1JfMXxSRF9DMHxMQywJCTAsCQlJNjQsCQkwLAkwIH0sCi0geyJkbWZnYzAiLAkJInQsRyIsCQkweDQwNjAwMTAwLCAweGZmZTAwN2ZmLCBXUl8xfFJEX0MwfExDLAkJMCwJCTAsCQlJVklSVDY0LCAwIH0sCi0geyJkbWZnYzAiLAkJInQsRyxIIiwJMHg0MDYwMDEwMCwgMHhmZmUwMDdmOCwgV1JfMXxSRF9DMHxMQywJCTAsCQkwLAkJSVZJUlQ2NCwgMCB9LAotK3siZG1mdXIiLAkJInQsZCIsCQkweDcwMDAwMDFlLCAweGZmZTAwN2ZmLCBXUl8xLAkJCTAsCQlYTFAsCQkwLAkwIH0sCi0geyJkbXQiLAkJCSIiLAkJMHg0MTYwMGJjMSwgMHhmZmZmZmZmZiwgVFJBUCwJCQkwLAkJMCwJCU1UMzIsCTAgfSwKLSB7ImRtdCIsCQkJInQiLAkJMHg0MTYwMGJjMSwgMHhmZmUwZmZmZiwgV1JfMXxUUkFQLAkJMCwJCTAsCQlNVDMyLAkwIH0sCi0geyJkbXRjMCIsCQkidCxHIiwJCTB4NDBhMDAwMDAsIDB4ZmZlMDA3ZmYsCVJEXzF8V1JfQzB8V1JfQ0N8Q00sCTAsCQlJMywJCTAsCUVFIH0sCi1AQCAtMTA5OCw2ICsxMTAyLDggQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIC8qIGRtZmMzIGlzIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLiAgKi8KLSAvKiBkbXRjMyBpcyBhdCB0aGUgYm90dG9tIG9mIHRoZSB0YWJsZS4gICovCi0geyJkbXVoIiwJCSJkLHMsdCIsCTB4MDAwMDAwZGMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKLSt7ImRtdHVyIiwJCSJ0LGQiLAkJMHg3MDAwMDAxZiwgMHhmZmUwMDdmZiwJUkRfMSwJCQkwLAkJWExQLAkJMCwJMCB9LAotK3siZG11bCIsCQkiZCxzLHQiLAkweDcwMDAwMDA2LCAweGZjMDAwN2ZmLAlXUl8xfFJEXzJ8UkRfMywJCTAsCQlYTFAsCQkwLAkwIH0sCi0geyJkbXVsIiwJCSJkLHMsdCIsCTB4MDAwMDAwOWMsIDB4ZmMwMDA3ZmYsIFdSXzF8UkRfMnxSRF8zLAkJMCwJCUk2OSwJCTAsCTAgfSwKLSB7ImRtdWwiLAkJImQsdix0IiwJMHg3MDAwMDAwMywgMHhmYzAwMDdmZiwgV1JfMXxSRF8yfFJEXzN8V1JfSElMTywJMCwJCUlPQ1QsCQkwLAkwIH0sCi0geyJkbXVsIiwJCSJkLHYsdCIsCTAsICAgIChpbnQpIE1fRE1VTCwJSU5TTl9NQUNSTywJCTAsCQlJMywJCTAsCU0zMnxJNjkgfSwKLUBAIC0xMjUxLDkgKzEyNTcsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJsZCIsCQkJInMsLWIoK1IpIiwJMHhlYzE4MDAwMCwgMHhmYzFjMDAwMCwgV1JfMSwJCQlSRF9wYywJCUk2OSwJCTAsCTAgfSwKLSB7ImxkIiwJCQkidCxBKGIpIiwJMCwgICAgKGludCkgTV9MRF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCTAgfSwKLSB7ImxkIiwJCQkidCxvKGIpIiwJMHhkYzAwMDAwMCwgMHhmYzAwMDAwMCwgV1JfMXxSRF8zfExNLAkJMCwJCUkzLAkJMCwJMCB9LAotLXsibGRhZGR3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxMCwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLS17ImxkYWRkd3UiLAkJInQsYiIsCQkweDcwMDAwMDExLCAweGZjMDBmZmZmLAlNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLSt7ImxkYWRkdyIsCQkidCxiIiwJCTB4NzAwMDAwMTAsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibGRhZGR3dSIsCQkidCxiIiwJCTB4NzAwMDAwMTEsIDB4ZmMwMGZmZmYsCU1PRF8xfFJEXzJ8U00sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibGRhZGRkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxMiwgMHhmYzAwZmZmZiwJTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJsZGMxIiwJCSJULG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCi0geyJsZGMxIiwJCSJFLG8oYikiLAkweGQ0MDAwMDAwLCAweGZjMDAwMDAwLCBXUl8xfFJEXzN8Q0xEfEZQX0QsCTAsCQlJMiwJCTAsCVNGIH0sCi0geyJsZGMxIiwJCSJULEEoYikiLAkwLCAgICAoaW50KSBNX0xEQzFfQUIsCUlOU05fTUFDUk8sCQlJTlNOMl9NX0ZQX0QsCUkyLAkJMCwJU0YgfSwKLUBAIC0xNDE4LDcgKzE0MjQsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJtZmxvIiwJCSJkLDkiLAkJMHgwMDAwMDAxMiwgMHhmZjlmMDdmZiwgV1JfMXxSRF9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCi0geyJtZmxvMSIsCQkiZCIsCQkweDcwMDAwMDEyLCAweGZmZmYwN2ZmLAlXUl8xfFJEX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAotIHsibWZsaHh1IiwJCSJkIiwJCTB4MDAwMDAwNTIsIDB4ZmZmZjA3ZmYsCVdSXzF8TU9EX0hJTE8sCQkwLAkJMCwJCVNNVCwJMCB9LAotLXsibWZjciIsCQkidCxzIiwJCTB4NzAwMDAwMTgsIDB4ZmMwMGZmZmYsIFdSXzF8UkRfMiwJCTAsCQlYTFIsCQkwLAkwIH0sCi0reyJtZmNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOCwgMHhmYzAwZmZmZiwgV1JfMSwJCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotIHsibWZzYSIsCQkiZCIsCQkweDAwMDAwMDI4LCAweGZmZmYwN2ZmLAlXUl8xLAkJCTAsCQlFRSwJCTAsCTAgfSwKLSB7Im1pbi5vYiIsCQkiWCxZLFEiLAkweDc4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJU0IxLAkJTVgsCTAgfSwKLSB7Im1pbi5vYiIsCQkiRCxTLFEiLAkweDQ4MDAwMDA2LCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJTjU0LAkJMCwJMCB9LAotQEAgLTE0NjMsMTAgKzE0NjksMTMgQEAgY29uc3Qgc3RydWN0IG1pcHNfb3Bjb2RlIG1pcHNfYnVpbHRpbl9vcGNvZGVzW10gPQotIC8qIG1vdmUgaXMgYXQgdGhlIHRvcCBvZiB0aGUgdGFibGUuICAqLwotIHsibXNnbi5xaCIsCQkiWCxZLFEiLAkweDc4MjAwMDAwLCAweGZjMjAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJMCwJCU1YLAkwIH0sCi0geyJtc2dzbmQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dTTkQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotK3sibXNnc25kcyIsCQkiZCx0IiwJCTB4NGEwMDAwMDEsIDB4ZmZlMDA3ZmYsCVdSXzF8UkRfMnxSRF9DMHxXUl9DMCwJMCwJCVhMUCwJCTAsCTAgfSwKLSB7Im1zZ2xkIiwJCSIiLCAJCTAsICAgIChpbnQpIE1fTVNHTEQsCUlOU05fTUFDUk8sCQkwLAkJWExSLAkJMCwJMCB9LAotIHsibXNnbGQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dMRF9ULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKLS17Im1zZ3dhaXQiLAkJIiIsIAkJMCwgICAgKGludCkgTV9NU0dXQUlULAlJTlNOX01BQ1JPLAkJMCwJCVhMUiwJCTAsCTAgfSwKLS17Im1zZ3dhaXQiLAkJInQiLAkJMCwgICAgKGludCkgTV9NU0dXQUlUX1QsSU5TTl9NQUNSTywJCTAsCQlYTFIsCQkwLAkwIH0sCi0reyJtc2dsZHMiLAkJImQsdCIsCQkweDRhMDAwMDAyLCAweGZmZTAwN2ZmLAlXUl8xfFJEXzJ8UkRfQzB8V1JfQzAsCTAsCQlYTFAsCQkwLAkwIH0sCi0reyJtc2d3YWl0IiwJCSIiLAkJMCwgICAgKGludCkgTV9NU0dXQUlULCAgSU5TTl9NQUNSTywJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJtc2d3YWl0IiwJCSJ0IiwJCTAsICAgIChpbnQpIE1fTVNHV0FJVF9ULElOU05fTUFDUk8sCQkwLAkJWExSfFhMUCwJMCwJMCB9LAotK3sibXNnc3luYyIsCQkiIiwJCTB4NGEwMDAwMDQsIDB4ZmZmZmZmZmYsMCwJCQkwLAkJWExQLAkJMCwJMCB9LAotIHsibXN1Yi5kIiwJCSJELFIsUyxUIiwJMHg0YzAwMDAyOSwgMHhmYzAwMDAzZiwgV1JfMXxSRF8yfFJEXzN8UkRfNHxGUF9ELCAwLAkJSTRfMzMsCQkwLAlJMzcgfSwKLSB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDQ2MjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRSwJCTAsCTAgfSwKLSB7Im1zdWIuZCIsCQkiRCxTLFQiLAkweDcyMjAwMDE5LCAweGZmZTAwMDNmLAlXUl8xfFJEXzJ8UkRfM3xGUF9ELAkwLAkJSUwyRiwJCTAsCTAgfSwKLUBAIC0xNTE2LDcgKzE1MjUsNyBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJtdGxvIiwJCSJzLDciLAkJMHgwMDAwMDAxMywgMHhmYzFmZTdmZiwgUkRfMXxXUl9MTywJCTAsCQkwLAkJRDMyLAkwIH0sCi0geyJtdGxvMSIsCQkicyIsCQkweDcwMDAwMDEzLCAweGZjMWZmZmZmLAlSRF8xfFdSX0xPLAkJMCwJCUVFLAkJMCwJMCB9LAotIHsibXRsaHgiLAkJInMiLAkJMHgwMDAwMDA1MywgMHhmYzFmZmZmZiwJUkRfMXxNT0RfSElMTywJCTAsCQkwLAkJU01ULAkwIH0sCi0teyJtdGNyIiwJCSJ0LHMiLAkJMHg3MDAwMDAxOSwgMHhmYzAwZmZmZiwgUkRfMXxSRF8yLAkJMCwJCVhMUiwJCTAsCTAgfSwKLSt7Im10Y3IiLAkJInQscyIsCQkweDcwMDAwMDE5LCAweGZjMDBmZmZmLCBSRF8xLAkJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJtdG0wIiwJCSJzIiwJCTB4NzAwMDAwMDgsIDB4ZmMxZmZmZmYsIFJEXzEsCQkJMCwJCUlPQ1QsCQkwLAkwIH0sCi0geyJtdG0wIiwgICAgCQkicyx0IiwJCTB4NzAwMDAwMDgsIDB4ZmMwMGZmZmYsIFJEXzF8UkRfMiwJCTAsCQlJT0NUMywJCTAsCTAgfSwKLSB7Im10bTEiLAkJInMiLAkJMHg3MDAwMDAwYywgMHhmYzFmZmZmZiwgUkRfMSwJCQkwLAkJSU9DVCwJCTAsCTAgfSwKLUBAIC0xOTUzLDkgKzE5NjIsOSBAQCBjb25zdCBzdHJ1Y3QgbWlwc19vcGNvZGUgbWlwc19idWlsdGluX29wY29kZXNbXSA9Ci0geyJzdXhjMSIsCQkiUyx0KGIpIiwJMHg0YzAwMDAwZCwgMHhmYzAwMDdmZiwgUkRfMXxSRF8yfFJEXzN8U018RlBfRCwJMCwJCUk1XzMzfE41NSwJMCwJSTM3fSwKLSB7InN3IiwJCQkidCxvKGIpIiwJMHhhYzAwMDAwMCwgMHhmYzAwMDAwMCwJUkRfMXxSRF8zfFNNLAkJMCwJCUkxLAkJMCwJMCB9LAotIHsic3ciLAkJCSJ0LEEoYikiLAkwLCAgICAoaW50KSBNX1NXX0FCLAlJTlNOX01BQ1JPLAkJMCwJCUkxLAkJMCwJMCB9LAotLXsic3dhcHciLAkJInQsYiIsCQkweDcwMDAwMDE0LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfExNfFNNLAkwLAkJWExSLAkJMCwJMCB9LAotLXsic3dhcHd1IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNSwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLS17InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxMTXxTTSwJMCwJCVhMUiwJCTAsCTAgfSwKLSt7InN3YXB3IiwJCSJ0LGIiLAkJMHg3MDAwMDAxNCwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0reyJzd2Fwd3UiLAkJInQsYiIsCQkweDcwMDAwMDE1LCAweGZjMDBmZmZmLCBNT0RfMXxSRF8yfFNNLAkJMCwJCVhMUnxYTFAsCTAsCTAgfSwKLSt7InN3YXBkIiwJCSJ0LGIiLAkJMHg3MDAwMDAxNiwgMHhmYzAwZmZmZiwgTU9EXzF8UkRfMnxTTSwJCTAsCQlYTFJ8WExQLAkwLAkwIH0sCi0geyJzd2MwIiwJCSJFLG8oYikiLAkweGUwMDAwMDAwLCAweGZjMDAwMDAwLAlSRF8zfFJEX0MwfFNNLAkJMCwJCUkxLAkJMCwJSU9DVHxJT0NUUHxJT0NUMnxJMzcgfSwKLSB7InN3YzAiLAkJIkUsQShiKSIsCTAsICAgIChpbnQpIE1fU1dDMF9BQiwJSU5TTl9NQUNSTywJCTAsCQlJMSwJCTAsCUlPQ1R8SU9DVFB8SU9DVDJ8STM3IH0sCi0geyJzd2MxIiwJCSJULG8oYikiLAkweGU0MDAwMDAwLCAweGZjMDAwMDAwLAlSRF8xfFJEXzN8U018RlBfUywJMCwJCUkxLAkJMCwJMCB9LAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMi1maXgtdGhlLWluY29ycmVjdC1hc3NlbWJsaW5nLWZvci1wcGMtd2FpdC1tbmVtb25pYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzYjc4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTItZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSBlNDg3NjdhMDI5OGU2Y2NmNTNkODNmZWNjOTNiYjZkMjZiNTk1ODk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogWmhlbmh1YSBMdW8gPHpoZW5odWEubHVvQG54cC5jb20+CitEYXRlOiBTYXQsIDExIEp1biAyMDE2IDIyOjA4OjI5IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvMTVdIGZpeCB0aGUgaW5jb3JyZWN0IGFzc2VtYmxpbmcgZm9yIHBwYyB3YWl0IG1uZW1vbmljCisKK1NpZ25lZC1vZmYtYnk6IFpoZW5odWEgTHVvIDx6aGVuaHVhLmx1b0BueHAuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIG9wY29kZXMvcHBjLW9wYy5jIHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9vcGNvZGVzL3BwYy1vcGMuYyBiL29wY29kZXMvcHBjLW9wYy5jCitpbmRleCAzMDMyNjMxZDRlLi4xNDJmMDk2ZWY0IDEwMDY0NAorLS0tIGEvb3Bjb2Rlcy9wcGMtb3BjLmMKKysrKyBiL29wY29kZXMvcHBjLW9wYy5jCitAQCAtNTMyNSw3ICs1MzI1LDYgQEAgY29uc3Qgc3RydWN0IHBvd2VycGNfb3Bjb2RlIHBvd2VycGNfb3Bjb2Rlc1tdID0geworIHsibGRlcHgiLAlYKDMxLDI5KSwJWF9NQVNLLAkgIEU1MDBNQ3xQUENBMiwgMCwJCXtSVCwgUkEwLCBSQn19LAorIAorIHsid2FpdGFzZWMiLAlYKDMxLDMwKSwgICAgICBYUlRSQVJCX01BU0ssIFBPV0VSOCwJUE9XRVI5LAkJezB9fSwKKy17IndhaXQiLAlYKDMxLDMwKSwJWFdDX01BU0ssICAgIFBPV0VSOSwJMCwJCXtXQ319LAorIAorIHsibHdlcHgiLAlYKDMxLDMxKSwJWF9NQVNLLAkgIEU1MDBNQ3xQUENBMiwgMCwJCXtSVCwgUkEwLCBSQn19LAorIAorQEAgLTUzNzksNyArNTM3OCw3IEBAIGNvbnN0IHN0cnVjdCBwb3dlcnBjX29wY29kZSBwb3dlcnBjX29wY29kZXNbXSA9IHsKKyAKKyB7IndhaXRyc3YiLAlYKDMxLDYyKXwoMTw8MjEpLCAweGZmZmZmZmZmLCBFNTAwTUN8UFBDQTIsIDAsCQl7MH19LAorIHsid2FpdGltcGwiLAlYKDMxLDYyKXwoMjw8MjEpLCAweGZmZmZmZmZmLCBFNTAwTUN8UFBDQTIsIDAsCQl7MH19LAorLXsid2FpdCIsCVgoMzEsNjIpLAlYV0NfTUFTSywgICAgRTUwME1DfFBQQ0EyLCAwLAkJe1dDfX0sCisreyJ3YWl0IiwJWCgzMSw2MiksCVhXQ19NQVNLLCAgICBFNTAwTUN8UFBDQTJ8UE9XRVI5LCAwLAl7V0N9fSwKKyAKKyB7ImRjYnN0ZXAiLAlYUlQoMzEsNjMsMCksCVhSVF9NQVNLLCAgICBFNTAwTUN8UFBDQTIsIDAsCQl7UkEwLCBSQn19LAorIAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxMy1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkyOTE3OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtRGV0ZWN0LTY0LWJpdC1NSVBTLXRhcmdldHMucGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorRnJvbSA2NTg3ZTdiOGU3NzMwZGRhMjBkOGM0N2NhYmU5ZjdmODM5N2VmYTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTE6NDI6MDMgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAxMy8xNV0gRGV0ZWN0IDY0LWJpdCBNSVBTIHRhcmdldHMKKworQWRkIG1pcHM2NCB0YXJnZXQgdHJpcGxldHMgYW5kIGRlZmF1bHQgdG8gTjY0CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCitodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTYtMDgvbXNnMDAwNDguaHRtbAorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ29sZC9jb25maWd1cmUudGd0IHwgMTQgKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ29sZC9jb25maWd1cmUudGd0IGIvZ29sZC9jb25maWd1cmUudGd0CitpbmRleCAzZTA2NmVkYWE4Li5jYWYxMzBjZWRhIDEwMDY0NAorLS0tIGEvZ29sZC9jb25maWd1cmUudGd0CisrKysgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC0xNTMsNiArMTUzLDEzIEBAIGFhcmNoNjQqLSopCisgIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQorICB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQorICA7OworK21pcHMqNjQqZWwqLSotKnxtaXBzKjY0KmxlKi0qLSopCisrIHRhcmdfb2JqPW1pcHMKKysgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCisrIHRhcmdfc2l6ZT02NAorKyB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKKysgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKKysgOzsKKyBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQorICB0YXJnX29iaj1taXBzCisgIHRhcmdfbWFjaGluZT1FTV9NSVBTX1JTM19MRQorQEAgLTE2MCw2ICsxNjcsMTMgQEAgbWlwcyplbCotKi0qfG1pcHMqbGUqLSotKikKKyAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCisgIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCisgIDs7CisrbWlwcyo2NCotKi0qKQorKyB0YXJnX29iaj1taXBzCisrIHRhcmdfbWFjaGluZT1FTV9NSVBTCisrIHRhcmdfc2l6ZT02NAorKyB0YXJnX2JpZ19lbmRpYW49dHJ1ZQorKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49ZmFsc2UKKysgOzsKKyBtaXBzKi0qLSopCisgIHRhcmdfb2JqPW1pcHMKKyAgdGFyZ19tYWNoaW5lPUVNX01JUFMKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDEzLWZpeC10aGUtaW5jb3JyZWN0LWFzc2VtYmxpbmctZm9yLXBwYy13YWl0LW1uZW1vbmljLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWZmZGFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTMtZml4LXRoZS1pbmNvcnJlY3QtYXNzZW1ibGluZy1mb3ItcHBjLXdhaXQtbW5lbW9uaWMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGQ0NTQ1NWRiMzVkYjU2OTNjNWVmZTBlMWIzODQyOTVlNGMwZGI5OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBaaGVuaHVhIEx1byA8emhlbmh1YS5sdW9AbnhwLmNvbT4KLURhdGU6IFNhdCwgMTEgSnVuIDIwMTYgMjI6MDg6MjkgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAxMy8xNV0gZml4IHRoZSBpbmNvcnJlY3QgYXNzZW1ibGluZyBmb3IgcHBjIHdhaXQgbW5lbW9uaWMKLQotU2lnbmVkLW9mZi1ieTogWmhlbmh1YSBMdW8gPHpoZW5odWEubHVvQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gb3Bjb2Rlcy9wcGMtb3BjLmMgfCAzICstLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL29wY29kZXMvcHBjLW9wYy5jIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKLWluZGV4IDRhMGZjYTVmMGEuLjQ5ZjcyZmMzNWMgMTAwNjQ0Ci0tLS0gYS9vcGNvZGVzL3BwYy1vcGMuYwotKysrIGIvb3Bjb2Rlcy9wcGMtb3BjLmMKLUBAIC01MzUxLDcgKzUzNTEsNiBAQCBjb25zdCBzdHJ1Y3QgcG93ZXJwY19vcGNvZGUgcG93ZXJwY19vcGNvZGVzW10gPSB7Ci0geyJsZGVweCIsCVgoMzEsMjkpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCi0gCi0geyJ3YWl0YXNlYyIsCVgoMzEsMzApLCAgICAgIFhSVFJBUkJfTUFTSywgUE9XRVI4LAlQT1dFUjksCQl7MH19LAotLXsid2FpdCIsCVgoMzEsMzApLAlYV0NfTUFTSywgICAgUE9XRVI5LAkwLAkJe1dDfX0sCi0gCi0geyJsd2VweCIsCVgoMzEsMzEpLAlYX01BU0ssCSAgRTUwME1DfFBQQ0EyLCAwLAkJe1JULCBSQTAsIFJCfX0sCi0gCi1AQCAtNTQwNSw3ICs1NDA0LDcgQEAgY29uc3Qgc3RydWN0IHBvd2VycGNfb3Bjb2RlIHBvd2VycGNfb3Bjb2Rlc1tdID0gewotIAotIHsid2FpdHJzdiIsCVgoMzEsNjIpfCgxPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCi0geyJ3YWl0aW1wbCIsCVgoMzEsNjIpfCgyPDwyMSksIDB4ZmZmZmZmZmYsIEU1MDBNQ3xQUENBMiwgMCwJCXswfX0sCi0teyJ3YWl0IiwJWCgzMSw2MiksCVhXQ19NQVNLLCAgICBFNTAwTUN8UFBDQTIsIDAsCQl7V0N9fSwKLSt7IndhaXQiLAlYKDMxLDYyKSwJWFdDX01BU0ssICAgIEU1MDBNQ3xQUENBMnxQT1dFUjksIDAsCXtXQ319LAotIAotIHsiZGNic3RlcCIsCVhSVCgzMSw2MywwKSwJWFJUX01BU0ssICAgIEU1MDBNQ3xQUENBMiwgMCwJCXtSQTAsIFJCfX0sCi0gCi0tLSAKLTIuMTguMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1EZXRlY3QtNjQtYml0LU1JUFMtdGFyZ2V0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE5N2RmNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE0LURldGVjdC02NC1iaXQtTUlQUy10YXJnZXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA5YWY5MGNmYzM1ZmYxZmU3ODc1NTU3ODg2MTQ3MzAzOTgzNmM0NjdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMTcgMTE6NDI6MDMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8xNV0gRGV0ZWN0IDY0LWJpdCBNSVBTIHRhcmdldHMKLQotQWRkIG1pcHM2NCB0YXJnZXQgdHJpcGxldHMgYW5kIGRlZmF1bHQgdG8gTjY0Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi1odHRwczovL3NvdXJjZXdhcmUub3JnL21sL2JpbnV0aWxzLzIwMTYtMDgvbXNnMDAwNDguaHRtbAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ29sZC9jb25maWd1cmUudGd0IHwgMTQgKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ29sZC9jb25maWd1cmUudGd0IGIvZ29sZC9jb25maWd1cmUudGd0Ci1pbmRleCA4YWVmMjJhMzE4Li43MDMwMDI2ZmZhIDEwMDY0NAotLS0tIGEvZ29sZC9jb25maWd1cmUudGd0Ci0rKysgYi9nb2xkL2NvbmZpZ3VyZS50Z3QKLUBAIC0xNTMsNiArMTUzLDEzIEBAIGFhcmNoNjQqLSopCi0gIHRhcmdfYmlnX2VuZGlhbj1mYWxzZQotICB0YXJnX2V4dHJhX2JpZ19lbmRpYW49dHJ1ZQotICA7OwotK21pcHMqNjQqZWwqLSotKnxtaXBzKjY0KmxlKi0qLSopCi0rIHRhcmdfb2JqPW1pcHMKLSsgdGFyZ19tYWNoaW5lPUVNX01JUFNfUlMzX0xFCi0rIHRhcmdfc2l6ZT02NAotKyB0YXJnX2JpZ19lbmRpYW49ZmFsc2UKLSsgdGFyZ19leHRyYV9iaWdfZW5kaWFuPXRydWUKLSsgOzsKLSBtaXBzKmVsKi0qLSp8bWlwcypsZSotKi0qKQotICB0YXJnX29iaj1taXBzCi0gIHRhcmdfbWFjaGluZT1FTV9NSVBTX1JTM19MRQotQEAgLTE2MCw2ICsxNjcsMTMgQEAgbWlwcyplbCotKi0qfG1pcHMqbGUqLSotKikKLSAgdGFyZ19iaWdfZW5kaWFuPWZhbHNlCi0gIHRhcmdfZXh0cmFfYmlnX2VuZGlhbj10cnVlCi0gIDs7Ci0rbWlwcyo2NCotKi0qKQotKyB0YXJnX29iaj1taXBzCi0rIHRhcmdfbWFjaGluZT1FTV9NSVBTCi0rIHRhcmdfc2l6ZT02NAotKyB0YXJnX2JpZ19lbmRpYW49dHJ1ZQotKyB0YXJnX2V4dHJhX2JpZ19lbmRpYW49ZmFsc2UKLSsgOzsKLSBtaXBzKi0qLSopCi0gIHRhcmdfb2JqPW1pcHMKLSAgdGFyZ19tYWNoaW5lPUVNX01JUFMKLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTQtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWJhMTBhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNC1zeW5jLXdpdGgtT0UtbGlidG9vbC1jaGFuZ2VzLnBhdGNoCkBAIC0wLDAgKzEsODkgQEAKK0Zyb20gYjc3MjkzNDMyMDZmYTE5NmI5YTExNzQ3YTkyYjNjZjU2MzI3NzA1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBNb24sIDYgTWFyIDIwMTcgMjM6MzM6MjcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC8xNV0gc3luYyB3aXRoIE9FIGxpYnRvb2wgY2hhbmdlcworCitBcHBseSB0aGVzZSBwYXRjaGVzIGZyb20gb3VyIGxpYnRvb2wgcGF0Y2hlcyBhcyBub3Qgb25seSBhcmUgcmVkdW5kYW50IFJQQVRIcyBhCit3YXN0ZSBvZiBzcGFjZSBidXQgdGhleSBjYW4gY2F1c2UgaW5jb3JyZWN0IGxpbmtpbmcgd2hlbiBuYXRpdmUgcGFja2FnZXMgYXJlCityZXN0b3JlZCBmcm9tIHNzdGF0ZS4KKworZml4LXJwYXRoLnBhdGNoOgorV2UgZG9uJ3Qgd2FudCB0byBhZGQgUlBBVEhTIHdoaWNoIG1hdGNoIGRlZmF1bHQgbGlua2VyCitzZWFyY2ggcGF0aHMsIHRoZXkncmUgYSB3YXN0ZSBvZiBzcGFjZS4gVGhpcyBwYXRjaAorZmlsdGVycyBsaWJ0b29scyBsaXN0IGFuZCByZW1vdmVzIHRoZSBvbmVzIHdlIGRvbid0IG5lZWQuCisKK25vcm0tcnBhdGgucGF0Y2g6CitMaWJ0b29sIG1heSBiZSBwYXNzZWQgbGluayBwYXRocyBvZiB0aGUgZm9ybSAiL3Vzci9saWIvLi4vbGliIiwgd2hpY2gKK2Zvb2wgaXRzIGRldGVjdGlvbiBjb2RlIGludG8gdGhpbmtpbmcgaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGFzIGFuCitSUEFUSCBpbiB0aGUgZ2VuZXJhdGVkIGJpbmFyeS4gIE5vcm1hbGl6ZSBiZWZvcmUgY29tcGFyaXNpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGx0bWFpbi5zaCB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAoraW5kZXggMTFlZTY4NGNjYy4uM2IxOWFjMTUzMiAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtODA1Myw4ICs4MDUzLDE2IEBAIEVPRgorIAkJICBlc2FjCisgCQlmaQorIAkgICAgICBlbHNlCistCQlldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCistCQlmdW5jX2FwcGVuZCBkZXBfcnBhdGggIiAkZmxhZyIKKysgICAgICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCisrICAgICAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgorKyAgICAgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgorKyAgICAgICAgICAgICAgICBsaWJkaXJfbm9ybT0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKKysJICAgICAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCisrCSAgICAgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OworKwkgICAgICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKysgICAgICAgICAgICAgICAgICAgZnVuY19hcHBlbmQgZGVwX3JwYXRoICIgJGZsYWciCisrICAgICAgICAgICAgICAgICAgIDs7CisrCSAgICAgICAgZXNhYworIAkgICAgICBmaQorIAkgICAgZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KK0BAIC04NzkwLDggKzg3OTgsMTYgQEAgRU9GCisgCSAgICAgIGVzYWMKKyAJICAgIGZpCisgCSAgZWxzZQorLQkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorLQkgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKKysgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKKysgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KKysgICAgICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoICIkbGliZGlyIgorKyAgICAgICAgICAgIGxpYmRpcl9ub3JtPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAorKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgorKwkgICAgKiIgJGxpYmRpcl9ub3JtICIqKSA7OworKwkgICAgKikgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgorKyAgICAgICAgICAgICAgIHJwYXRoKz0iICRmbGFnIgorKyAgICAgICAgICAgICAgIDs7CisrCSAgICBlc2FjCisgCSAgZmkKKyAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgY2FzZSAiJHBlcm1fcnBhdGggIiBpbgorQEAgLTg4NDEsOCArODg1NywxNCBAQCBFT0YKKyAJICAgICAgZXNhYworIAkgICAgZmkKKyAJICBlbHNlCistCSAgICBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCistCSAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQorKyAgICAgICAgICAgICMgZGVmYXVsdCBkbHNlYXJjaCBwYXRoLgorKwkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgorKwkgICAgKiIgJGxpYmRpciAiKikgOzsKKysJICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKKysgICAgICAgICAgICAgICBmdW5jX2FwcGVuZCBycGF0aCAiICRmbGFnIgorKyAgICAgICAgICAgICAgIDs7CisrCSAgICBlc2FjCisgCSAgZmkKKyAJZWxpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCisgCSAgY2FzZSAiJGZpbmFsaXplX3Blcm1fcnBhdGggIiBpbgorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1iaW51dGlscy1lbmFibGUteDg2XzY0LXBlcC1mb3ItcHJvZHVjaW5nLUVGSS1iaW5hcmllLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAxNS1iaW51dGlscy1lbmFibGUteDg2XzY0LXBlcC1mb3ItcHJvZHVjaW5nLUVGSS1iaW5hcmllLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZGU1NjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LWJpbnV0aWxzLWVuYWJsZS14ODZfNjQtcGVwLWZvci1wcm9kdWNpbmctRUZJLWJpbmFyaWUucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBkNWQ3ODM5MDNlMzM1MzAyZTU2MmJhYzhkYTFhMDgzMzM4ZDc1YjI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMjkgTm92IDIwMTggMTc6NDY6NDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAxNS8xNV0gYmludXRpbHMgOiBlbmFibGUgeDg2XzY0LXBlcCBmb3IgcHJvZHVjaW5nIEVGSSBiaW5hcmllcworIG9uIHg4Ni02NAorCitBZGQgeDg2XzY0LXBlcCBlbXVsYXRpb24gc3VwcG9ydCB0byB0aGUgc2V0IGVuYWJsZWQgZm9yIHg4Nl82NCB0YXJnZXRzCit0byBlbmFibGUgdGhlIGxpbmtlciB0byBwcm9kdWNlIFBvcnRhYmxlIEV4ZWN1dGFibGVzIGZvciBFRkkgYmluYXJpZXMuCisKK0VuYWJsZXMgYnVpbGRpbmcgdGhlIHg4Ni02NCBFRkkgdmFyaWFudCBvZiB0aGUgWGVuIGh5cGVydmlzb3IgZm9yCit0aGUgT3BlblhUIFByb2plY3QuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbiBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgQ2xhcmsgPGNocmlzdG9waGVyLmNsYXJrNkBiYWVzeXN0ZW1zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBiZmQvY29uZmlnLmJmZCAgIHwgMiArLQorIGxkL2NvbmZpZ3VyZS50Z3QgfCA1ICsrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9iZmQvY29uZmlnLmJmZCBiL2JmZC9jb25maWcuYmZkCitpbmRleCAzNjE0ZmY3OWQ0Li5hZWYxNDQ4MDNhIDEwMDY0NAorLS0tIGEvYmZkL2NvbmZpZy5iZmQKKysrKyBiL2JmZC9jb25maWcuYmZkCitAQCAtNjk0LDcgKzY5NCw3IEBAIGNhc2UgIiR7dGFyZ30iIGluCisgICAgIDs7CisgICB4ODZfNjQtKi1saW51eC0qKQorICAgICB0YXJnX2RlZnZlYz14ODZfNjRfZWxmNjRfdmVjCistICAgIHRhcmdfc2VsdmVjcz0iaTM4Nl9lbGYzMl92ZWMgaWFtY3VfZWxmMzJfdmVjIHg4Nl82NF9lbGYzMl92ZWMgaTM4Nl9wZWlfdmVjIHg4Nl82NF9wZWlfdmVjIGwxb21fZWxmNjRfdmVjIGsxb21fZWxmNjRfdmVjIgorKyAgICB0YXJnX3NlbHZlY3M9ImkzODZfZWxmMzJfdmVjIGlhbWN1X2VsZjMyX3ZlYyB4ODZfNjRfZWxmMzJfdmVjIGkzODZfcGVpX3ZlYyB4ODZfNjRfcGVpX3ZlYyBsMW9tX2VsZjY0X3ZlYyBrMW9tX2VsZjY0X3ZlYyB4ODZfNjRfcGVfdmVjIHg4Nl82NF9wZV9iZV92ZWMgaTM4Nl9wZV92ZWMiCisgICAgIHdhbnQ2ND10cnVlCisgICAgIDs7CisgICB4ODZfNjQtKi1uYWNsKikKK2RpZmYgLS1naXQgYS9sZC9jb25maWd1cmUudGd0IGIvbGQvY29uZmlndXJlLnRndAoraW5kZXggMzQ3ZGY2YzNmNi4uMWUzN2Q3NDdhOSAxMDA2NDQKKy0tLSBhL2xkL2NvbmZpZ3VyZS50Z3QKKysrKyBiL2xkL2NvbmZpZ3VyZS50Z3QKK0BAIC0yNTcsOCArMjU3LDkgQEAgeDg2XzY0LSotbGludXgtZ251eDMyKQl0YXJnX2VtdWw9ZWxmMzJfeDg2XzY0CisgCQkJdGRpcl9lbGZfaWFtY3U9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nIC1lICdzLy1saW51eC1nbnV4MzIvLWxpbnV4LWdudS8nYAorIAkJCXRkaXJfZWxmX2kzODY9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nIC1lICdzLy1saW51eC1nbnV4MzIvLWxpbnV4LWdudS8nYCA7OworIHg4Nl82NC0qLWxpbnV4LSopCXRhcmdfZW11bD1lbGZfeDg2XzY0CistCQkJdGFyZ19leHRyYV9lbXVscz0iZWxmMzJfeDg2XzY0IGVsZl9pMzg2IGVsZl9pYW1jdSBlbGZfbDFvbSBlbGZfazFvbSIKKy0JCQl0YXJnX2V4dHJhX2xpYnBhdGg9ImVsZl9pMzg2IGVsZjMyX3g4Nl82NCBlbGZfbDFvbSBlbGZfazFvbSIKKysJCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMl94ODZfNjQgZWxmX2kzODYgZWxmX2lhbWN1IGVsZl9sMW9tIGVsZl9rMW9tIGkzODZwZSBpMzg2cGVwIgorKwkJCXRhcmdfZXh0cmFfbGlicGF0aD0iZWxmX2kzODYgZWxmMzJfeDg2XzY0IGVsZl9sMW9tIGVsZl9rMW9tIGkzODZwZXAiCisrCQkJdGFyZ19leHRyYV9vZmlsZXM9ImRlZmZpbGVwLm8gcGVwLWRsbC5vIHBlLWRsbC5vIgorIAkJCXRkaXJfZWxmX2kzODY9YGVjaG8gJHt0YXJnX2FsaWFzfSB8IHNlZCAtZSAncy94ODZfNjQvaTM4Ni8nYCA7OworIGlbMy03XTg2LSotcmVkb3gqKQl0YXJnX2VtdWw9ZWxmX2kzODYKKyAJCQl0YXJnX2V4dHJhX2VtdWxzPWVsZl94ODZfNjQgOzsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTUtc3luYy13aXRoLU9FLWxpYnRvb2wtY2hhbmdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2RjOGJhOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE1LXN5bmMtd2l0aC1PRS1saWJ0b29sLWNoYW5nZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4OSArMCwwIEBACi1Gcm9tIGY5ZTI2YmQyOWI1ZjAxN2VhMTMwN2I1MWI1MDM2MDYzYmZmNzg2MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogTW9uLCA2IE1hciAyMDE3IDIzOjMzOjI3IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvMTVdIHN5bmMgd2l0aCBPRSBsaWJ0b29sIGNoYW5nZXMKLQotQXBwbHkgdGhlc2UgcGF0Y2hlcyBmcm9tIG91ciBsaWJ0b29sIHBhdGNoZXMgYXMgbm90IG9ubHkgYXJlIHJlZHVuZGFudCBSUEFUSHMgYQotd2FzdGUgb2Ygc3BhY2UgYnV0IHRoZXkgY2FuIGNhdXNlIGluY29ycmVjdCBsaW5raW5nIHdoZW4gbmF0aXZlIHBhY2thZ2VzIGFyZQotcmVzdG9yZWQgZnJvbSBzc3RhdGUuCi0KLWZpeC1ycGF0aC5wYXRjaDoKLVdlIGRvbid0IHdhbnQgdG8gYWRkIFJQQVRIUyB3aGljaCBtYXRjaCBkZWZhdWx0IGxpbmtlcgotc2VhcmNoIHBhdGhzLCB0aGV5J3JlIGEgd2FzdGUgb2Ygc3BhY2UuIFRoaXMgcGF0Y2gKLWZpbHRlcnMgbGlidG9vbHMgbGlzdCBhbmQgcmVtb3ZlcyB0aGUgb25lcyB3ZSBkb24ndCBuZWVkLgotCi1ub3JtLXJwYXRoLnBhdGNoOgotTGlidG9vbCBtYXkgYmUgcGFzc2VkIGxpbmsgcGF0aHMgb2YgdGhlIGZvcm0gIi91c3IvbGliLy4uL2xpYiIsIHdoaWNoCi1mb29sIGl0cyBkZXRlY3Rpb24gY29kZSBpbnRvIHRoaW5raW5nIGl0IHNob3VsZCBiZSBpbmNsdWRlZCBhcyBhbgotUlBBVEggaW4gdGhlIGdlbmVyYXRlZCBiaW5hcnkuICBOb3JtYWxpemUgYmVmb3JlIGNvbXBhcmlzaW9uLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsdG1haW4uc2ggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDExZWU2ODRjY2MuLjNiMTlhYzE1MzIgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTgwNTMsOCArODA1MywxNiBAQCBFT0YKLSAJCSAgZXNhYwotIAkJZmkKLSAJICAgICAgZWxzZQotLQkJZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotLQkJZnVuY19hcHBlbmQgZGVwX3JwYXRoICIgJGZsYWciCi0rICAgICAgICAgICAgICAgICMgV2Ugb25seSB3YW50IHRvIGhhcmRjb2RlIGluIGFuIHJwYXRoIGlmIGl0IGlzbid0IGluIHRoZQotKyAgICAgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KLSsgICAgICAgICAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJGxpYmRpciIKLSsgICAgICAgICAgICAgICAgbGliZGlyX25vcm09JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0Ci0rCSAgICAgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgotKwkgICAgICAgICoiICRsaWJkaXJfbm9ybSAiKikgOzsKLSsJICAgICAgICAqKSBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0rICAgICAgICAgICAgICAgICAgIGZ1bmNfYXBwZW5kIGRlcF9ycGF0aCAiICRmbGFnIgotKyAgICAgICAgICAgICAgICAgICA7OwotKwkgICAgICAgIGVzYWMKLSAJICAgICAgZmkKLSAJICAgIGVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgICAgICBjYXNlICIkcGVybV9ycGF0aCAiIGluCi1AQCAtODc5MCw4ICs4Nzk4LDE2IEBAIEVPRgotIAkgICAgICBlc2FjCi0gCSAgICBmaQotIAkgIGVsc2UKLS0JICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLS0JICAgIGZ1bmNfYXBwZW5kIHJwYXRoICIgJGZsYWciCi0rICAgICAgICAgICAgIyBXZSBvbmx5IHdhbnQgdG8gaGFyZGNvZGUgaW4gYW4gcnBhdGggaWYgaXQgaXNuJ3QgaW4gdGhlCi0rICAgICAgICAgICAgIyBkZWZhdWx0IGRsc2VhcmNoIHBhdGguCi0rICAgICAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJGxpYmRpciIKLSsgICAgICAgICAgICBsaWJkaXJfbm9ybT0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KLSsJICAgICoiICRsaWJkaXJfbm9ybSAiKikgOzsKLSsJICAgICopIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKLSsgICAgICAgICAgICAgICBycGF0aCs9IiAkZmxhZyIKLSsgICAgICAgICAgICAgICA7OwotKwkgICAgZXNhYwotIAkgIGZpCi0gCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4KLUBAIC04ODQxLDggKzg4NTcsMTQgQEAgRU9GCi0gCSAgICAgIGVzYWMKLSAJICAgIGZpCi0gCSAgZWxzZQotLQkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgotLQkgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAjIFdlIG9ubHkgd2FudCB0byBoYXJkY29kZSBpbiBhbiBycGF0aCBpZiBpdCBpc24ndCBpbiB0aGUKLSsgICAgICAgICAgICAjIGRlZmF1bHQgZGxzZWFyY2ggcGF0aC4KLSsJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KLSsJICAgICoiICRsaWJkaXIgIiopIDs7Ci0rCSAgICAqKSBldmFsIGZsYWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCi0rICAgICAgICAgICAgICAgZnVuY19hcHBlbmQgcnBhdGggIiAkZmxhZyIKLSsgICAgICAgICAgICAgICA7OwotKwkgICAgZXNhYwotIAkgIGZpCi0gCWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgotIAkgIGNhc2UgIiRmaW5hbGl6ZV9wZXJtX3JwYXRoICIgaW4KLS0tIAotMi4xOC4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTYtYWRkLWkzODZwZXAtZW11bGF0aW9uLWZvci14ODZfNjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDE2LWFkZC1pMzg2cGVwLWVtdWxhdGlvbi1mb3IteDg2XzY0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZjIwNzg0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMTYtYWRkLWkzODZwZXAtZW11bGF0aW9uLWZvci14ODZfNjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1iaW51dGlscyA6IGVuYWJsZSB4ODZfNjQtcGVwIGZvciBwcm9kdWNpbmcgRUZJIGJpbmFyaWVzIG9uIHg4Ni02NAotCi1BZGQgeDg2XzY0LXBlcCBlbXVsYXRpb24gc3VwcG9ydCB0byB0aGUgc2V0IGVuYWJsZWQgZm9yIHg4Nl82NCB0YXJnZXRzCi10byBlbmFibGUgdGhlIGxpbmtlciB0byBwcm9kdWNlIFBvcnRhYmxlIEV4ZWN1dGFibGVzIGZvciBFRkkgYmluYXJpZXMuCi0KLUVuYWJsZXMgYnVpbGRpbmcgdGhlIHg4Ni02NCBFRkkgdmFyaWFudCBvZiB0aGUgWGVuIGh5cGVydmlzb3IgZm9yCi10aGUgT3BlblhUIFByb2plY3QuCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIENsYXJrIDxjaHJpc3RvcGhlci5jbGFyazZAYmFlc3lzdGVtcy5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbiBzcGVjaWZpY10KLS0tLQotZGlmZiAtLWdpdCBhL2JmZC9jb25maWcuYmZkIGIvYmZkL2NvbmZpZy5iZmQKLWluZGV4IGM4ODI0MjEuLmRjNzA1YjYgMTAwNjQ0Ci0tLS0gYS9iZmQvY29uZmlnLmJmZAotKysrIGIvYmZkL2NvbmZpZy5iZmQKLUBAIC02ODgsNyArNjg4LDcgQEAgY2FzZSAiJHt0YXJnfSIgaW4KLSAgICAgOzsKLSAgIHg4Nl82NC0qLWxpbnV4LSopCi0gICAgIHRhcmdfZGVmdmVjPXg4Nl82NF9lbGY2NF92ZWMKLS0gICAgdGFyZ19zZWx2ZWNzPSJpMzg2X2VsZjMyX3ZlYyBpYW1jdV9lbGYzMl92ZWMgeDg2XzY0X2VsZjMyX3ZlYyBpMzg2X3BlaV92ZWMgeDg2XzY0X3BlaV92ZWMgbDFvbV9lbGY2NF92ZWMgazFvbV9lbGY2NF92ZWMiCi0rICAgIHRhcmdfc2VsdmVjcz0iaTM4Nl9lbGYzMl92ZWMgaWFtY3VfZWxmMzJfdmVjIHg4Nl82NF9lbGYzMl92ZWMgaTM4Nl9wZWlfdmVjIHg4Nl82NF9wZWlfdmVjIGwxb21fZWxmNjRfdmVjIGsxb21fZWxmNjRfdmVjIHg4Nl82NF9wZV92ZWMgeDg2XzY0X3BlX2JlX3ZlYyBpMzg2X3BlX3ZlYyIKLSAgICAgd2FudDY0PXRydWUKLSAgICAgOzsKLSAgIHg4Nl82NC0qLW5hY2wqKQotZGlmZiAtLWdpdCBhL2xkL2NvbmZpZ3VyZS50Z3QgYi9sZC9jb25maWd1cmUudGd0Ci1pbmRleCBhMWRiN2FkLi42NWE5ODRhIDEwMDY0NAotLS0tIGEvbGQvY29uZmlndXJlLnRndAotKysrIGIvbGQvY29uZmlndXJlLnRndAotQEAgLTI1Myw4ICsyNTMsOSBAQCB4ODZfNjQtKi1saW51eC1nbnV4MzIpCXRhcmdfZW11bD1lbGYzMl94ODZfNjQKLSAJCQl0ZGlyX2VsZl9pYW1jdT1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgCi0gCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LycgLWUgJ3MvLWxpbnV4LWdudXgzMi8tbGludXgtZ251LydgIDs7Ci0geDg2XzY0LSotbGludXgtKikJdGFyZ19lbXVsPWVsZl94ODZfNjQKLS0JCQl0YXJnX2V4dHJhX2VtdWxzPSJlbGYzMl94ODZfNjQgZWxmX2kzODYgZWxmX2lhbWN1IGVsZl9sMW9tIGVsZl9rMW9tIgotLQkJCXRhcmdfZXh0cmFfbGlicGF0aD0iZWxmX2kzODYgZWxmMzJfeDg2XzY0IGVsZl9sMW9tIGVsZl9rMW9tIgotKwkJCXRhcmdfZXh0cmFfZW11bHM9ImVsZjMyX3g4Nl82NCBlbGZfaTM4NiBlbGZfaWFtY3UgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlIGkzODZwZXAiCi0rCQkJdGFyZ19leHRyYV9saWJwYXRoPSJlbGZfaTM4NiBlbGYzMl94ODZfNjQgZWxmX2wxb20gZWxmX2sxb20gaTM4NnBlcCIKLSsJCQl0YXJnX2V4dHJhX29maWxlcz0iZGVmZmlsZXAubyBwZXAtZGxsLm8gcGUtZGxsLm8iCi0gCQkJdGRpcl9lbGZfaTM4Nj1gZWNobyAke3RhcmdfYWxpYXN9IHwgc2VkIC1lICdzL3g4Nl82NC9pMzg2LydgIDs7Ci0gaVszLTddODYtKi1yZWRveCopCXRhcmdfZW11bD1lbGZfaTM4NgotIAkJCXRhcmdfZXh0cmFfZW11bHM9ZWxmX3g4Nl82NCA7OwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMi1IYW5kbGUtRUxGLWNvbXByZXNzZWQtaGVhZGVyLWFsaWdubWVudC1jb3JyZWN0bHktYnktLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMi1IYW5kbGUtRUxGLWNvbXByZXNzZWQtaGVhZGVyLWFsaWdubWVudC1jb3JyZWN0bHktYnktLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NTBkZTliLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzLzAwMjItSGFuZGxlLUVMRi1jb21wcmVzc2VkLWhlYWRlci1hbGlnbm1lbnQtY29ycmVjdGx5LWJ5LS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzMiArMCwwIEBACi1Gcm9tIGJiOWM4Y2MzYzVmNGZmZDYwMTlhOGM1M2FkZWFkNDI5OTU0MTYyZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIFdpZWxhYXJkIDxtYXJrQGtsb21wLm9yZz4KLURhdGU6IFR1ZSwgMjcgTm92IDIwMTggMTE6NTk6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEhhbmRsZSBFTEYgY29tcHJlc3NlZCBoZWFkZXIgYWxpZ25tZW50IGNvcnJlY3RseSBieQotIHNldHRpbmcgdXAgdGhlIHNlY3Rpb24gYWxpZ25tZW50IGNvcnJlY3RseSBmb3IgdGhlIEVsZjMyX0NoZHIgb3IgRWxmNjRfQ2hkcgotIHR5cGUgYW5kIHJlc3BlY3QgdGhlIGNoX2FkZHJhbGlnbiBmaWVsZCB3aGVuIGRlY29tcHJlc3NpbmcgdGhlIHNlY3Rpb24gZGF0YS4KLQotCVBSIGJpbnV0aWxzLzIzOTE5Ci1iaW51dGlscyogcmVhZGVsZi5jIChkdW1wX3NlY3Rpb25zX2FzX3N0cmluZ3MpOiBSZW1vdmUgYm9ndXMgYWRkcmFsaWduIGNoZWNrLgotCShkdW1wX3NlY3Rpb25zX2FzX2J5dGVzKTogTGlrZXdpc2UuCi0JKGxvYWRfc3BlY2lmaWNfZGVidWdfc2VjdGlvbnMpOiBMaWtld2lzZS4KLQkqIHRlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclM6IEFkanVzdCBhbGlnbm1lbnQuCi0JKiB0ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0OiBMaWtld2lzZS4KLQotYmZkCSogYmZkLmMgKGJmZF91cGRhdGVfY29tcHJlc3Npb25faGVhZGVyKTogRXhwbGljaXRseSBzZXQgYWxpZ25tZW50LgotCShiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyKTogQWRkIHVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIKLQlhcmd1bWVudC4gQ2hlY2sgY2hfYWRkcmFsaWduIGlzIGEgcG93ZXIgb2YgMi4KLQkqIGJmZC1pbjIuaDogUmVnZW5lcmF0ZWQuCi0JKiBjb21wcmVzcy5jIChiZmRfY29tcHJlc3Nfc2VjdGlvbl9jb250ZW50cyk6IEdldCBhbmQgc2V0Ci0Jb3JpZ191bmNvbXByZXNzZWRfYWxpZ25tZW50X3BvdyBpZiBzZWN0aW9uIGlzIGRlY29tcHJlc3NlZC4KLQkoYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlcik6IEFkZCBhbmQgZ2V0Ci0JdW5jb21wcmVzc2VkX2FsaWduX3Bvd19wIGFyZ3VtZW50LgotCShiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkKTogQWRkIHVuY29tcHJlc3NlZF9hbGlnbl9wb3dlciBhcmd1bWVudAotCXRvIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgY2FsbC4KLQkoYmZkX2luaXRfc2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cyk6IEdldCBhbmQgc2V0Ci0JdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlci4KLQkqIGVsZi5jIChfYmZkX2VsZl9tYWtlX3NlY3Rpb25fZnJvbV9zaGRyKTogQWRkCi0JdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyIGFyZ3VtZW50IHRvCi0JYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciBjYWxsLgotLS0tCi0gYmZkL2JmZC1pbjIuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrLS0KLSBiZmQvYmZkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0KLSBiZmQvY29tcHJlc3MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKystLS0tLS0tCi0gYmZkL2VsZi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0KLSBiaW51dGlscy9yZWFkZWxmLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTggLS0tLS0tLS0tLS0tCi0gYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUyB8ICAyICstCi0gYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5ydCB8ICAyICstCi0gNyBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9naXQvZ2l0d2ViLmNnaT9wPWJpbnV0aWxzLWdkYi5naXQ7aD00MjA3MTQyZDZhNWQyMzU5MTcwYzVmOWExNDBmYzFhMjM1MWZiZGE5XQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2JmZC9iZmQtaW4yLmggYi9iZmQvYmZkLWluMi5oCi1pbmRleCBmNTNkYmI1ZThjLi5kMGMyMTkwZDBiIDEwMDY0NAotLS0tIGEvYmZkL2JmZC1pbjIuaAotKysrIGIvYmZkL2JmZC1pbjIuaAotQEAgLTcyNzksNyArNzI3OSw4IEBAIHZvaWQgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIKLSAKLSBiZmRfYm9vbGVhbiBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyCi0gICAgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLCBhc2VjdGlvbiAqc2VjLAotLSAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSk7Ci0rICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplLAotKyAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpOwotIAotIGludCBiZmRfZ2V0X2NvbXByZXNzaW9uX2hlYWRlcl9zaXplIChiZmQgKmFiZmQsIGFzZWN0aW9uICpzZWMpOwotIAotQEAgLTc4NTUsNyArNzg1Niw4IEBAIHZvaWQgYmZkX2NhY2hlX3NlY3Rpb25fY29udGVudHMKLSBiZmRfYm9vbGVhbiBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyCi0gICAgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3Rpb24sCi0gICAgIGludCAqY29tcHJlc3Npb25faGVhZGVyX3NpemVfcCwKLS0gICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCk7Ci0rICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplX3AsCi0rICAgIHVuc2lnbmVkIGludCAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcl9wKTsKLSAKLSBiZmRfYm9vbGVhbiBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkCi0gICAgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKnNlY3Rpb24pOwotZGlmZiAtLWdpdCBhL2JmZC9iZmQuYyBiL2JmZC9iZmQuYwotaW5kZXggODUxNzEwNDAxZS4uZWExMGQ3YjE4NSAxMDA2NDQKLS0tLSBhL2JmZC9iZmQuYwotKysrIGIvYmZkL2JmZC5jCi1AQCAtMjMzMiw2ICsyMzMyLDggQEAgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLAotIAkJICBiZmRfcHV0XzMyIChhYmZkLCBzZWMtPnNpemUsICZlY2hkci0+Y2hfc2l6ZSk7Ci0gCQkgIGJmZF9wdXRfMzIgKGFiZmQsIDEgPDwgc2VjLT5hbGlnbm1lbnRfcG93ZXIsCi0gCQkJICAgICAgJmVjaGRyLT5jaF9hZGRyYWxpZ24pOwotKwkJICAvKiBiZmRfbG9nMiAoYWxpZ25vZiAoRWxmMzJfQ2hkcikpICovCi0rCQkgIGJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywgMik7Ci0gCQl9Ci0gCSAgICAgIGVsc2UKLSAJCXsKLUBAIC0yMzQyLDYgKzIzNDQsOCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkgIGJmZF9wdXRfNjQgKGFiZmQsIHNlYy0+c2l6ZSwgJmVjaGRyLT5jaF9zaXplKTsKLSAJCSAgYmZkX3B1dF82NCAoYWJmZCwgMSA8PCBzZWMtPmFsaWdubWVudF9wb3dlciwKLSAJCQkgICAgICAmZWNoZHItPmNoX2FkZHJhbGlnbik7Ci0rCQkgIC8qIGJmZF9sb2cyIChhbGlnbm9mIChFbGY2NF9DaGRyKSkgKi8KLSsJCSAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCAzKTsKLSAJCX0KLSAJICAgIH0KLSAJICBlbHNlCi1AQCAtMjM1NCw2ICsyMzU4LDggQEAgYmZkX3VwZGF0ZV9jb21wcmVzc2lvbl9oZWFkZXIgKGJmZCAqYWJmZCwgYmZkX2J5dGUgKmNvbnRlbnRzLAotIAkJIG9yZGVyLiAgKi8KLSAJICAgICAgbWVtY3B5IChjb250ZW50cywgIlpMSUIiLCA0KTsKLSAJICAgICAgYmZkX3B1dGI2NCAoc2VjLT5zaXplLCBjb250ZW50cyArIDQpOwotKwkgICAgICAvKiBObyB3YXkgdG8ga2VlcCB0aGUgb3JpZ2luYWwgYWxpZ25tZW50LCBqdXN0IHVzZSAxIGFsd2F5cy4gKi8KLSsJICAgICAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCAwKTsKLSAJICAgIH0KLSAJfQotICAgICB9Ci1AQCAtMjM2OCwxMiArMjM3NCwxNCBAQCBiZmRfdXBkYXRlX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gICAgU1lOT1BTSVMKLSAJYmZkX2Jvb2xlYW4gYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlcgotIAkgIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywgYXNlY3Rpb24gKnNlYywKLS0JICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSk7Ci0rCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemUsCi0rCSAgdW5zaWduZWQgaW50ICp1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyKTsKLSAKLSBERVNDUklQVElPTgotIAlDaGVjayB0aGUgY29tcHJlc3Npb24gaGVhZGVyIGF0IENPTlRFTlRTIG9mIFNFQyBpbiBBQkZEIGFuZAotLQlzdG9yZSB0aGUgdW5jb21wcmVzc2VkIHNpemUgaW4gVU5DT01QUkVTU0VEX1NJWkUgaWYgdGhlCi0tCWNvbXByZXNzaW9uIGhlYWRlciBpcyB2YWxpZC4KLSsJc3RvcmUgdGhlIHVuY29tcHJlc3NlZCBzaXplIGluIFVOQ09NUFJFU1NFRF9TSVpFIGFuZCB0aGUKLSsJdW5jb21wcmVzc2VkIGRhdGEgYWxpZ25tZW50IGluIFVOQ09NUFJFU1NFRF9BTElHTk1FTlRfUE9XRVIKLSsJaWYgdGhlIGNvbXByZXNzaW9uIGhlYWRlciBpcyB2YWxpZC4KLSAKLSBSRVRVUk5TCi0gCVJldHVybiBUUlVFIGlmIHRoZSBjb21wcmVzc2lvbiBoZWFkZXIgaXMgdmFsaWQuCi1AQCAtMjM4Miw3ICsyMzkwLDggQEAgUkVUVVJOUwotIGJmZF9ib29sZWFuCi0gYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYmZkICphYmZkLCBiZmRfYnl0ZSAqY29udGVudHMsCi0gCQkJICAgICAgYXNlY3Rpb24gKnNlYywKLS0JCQkgICAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSkKLSsJCQkgICAgICBiZmRfc2l6ZV90eXBlICp1bmNvbXByZXNzZWRfc2l6ZSwKLSsJCQkgICAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXIpCi0gewotICAgaWYgKGJmZF9nZXRfZmxhdm91ciAoYWJmZCkgPT0gYmZkX3RhcmdldF9lbGZfZmxhdm91cgotICAgICAgICYmIChlbGZfc2VjdGlvbl9mbGFncyAoc2VjKSAmIFNIRl9DT01QUkVTU0VEKSAhPSAwKQotQEAgLTI0MDQsOSArMjQxMywxMCBAQCBiZmRfY2hlY2tfY29tcHJlc3Npb25faGVhZGVyIChiZmQgKmFiZmQsIGJmZF9ieXRlICpjb250ZW50cywKLSAJICBjaGRyLmNoX2FkZHJhbGlnbiA9IGJmZF9nZXRfNjQgKGFiZmQsICZlY2hkci0+Y2hfYWRkcmFsaWduKTsKLSAJfQotICAgICAgIGlmIChjaGRyLmNoX3R5cGUgPT0gRUxGQ09NUFJFU1NfWkxJQgotLQkgICYmIGNoZHIuY2hfYWRkcmFsaWduID09IDFVIDw8IHNlYy0+YWxpZ25tZW50X3Bvd2VyKQotKwkgICYmIGNoZHIuY2hfYWRkcmFsaWduID09ICgxVSA8PCBiZmRfbG9nMiAoY2hkci5jaF9hZGRyYWxpZ24pKSkKLSAJewotIAkgICp1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSsJICAqdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlciA9IGJmZF9sb2cyIChjaGRyLmNoX2FkZHJhbGlnbik7Ci0gCSAgcmV0dXJuIFRSVUU7Ci0gCX0KLSAgICAgfQotZGlmZiAtLWdpdCBhL2JmZC9jb21wcmVzcy5jIGIvYmZkL2NvbXByZXNzLmMKLWluZGV4IDUzZTU2NmU0OTguLjk3ZWE2MjRlYjggMTAwNjQ0Ci0tLS0gYS9iZmQvY29tcHJlc3MuYwotKysrIGIvYmZkL2NvbXByZXNzLmMKLUBAIC04NCwxMSArODQsMTMgQEAgYmZkX2NvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCi0gICBpbnQgemxpYl9zaXplID0gMDsKLSAgIGludCBvcmlnX2NvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgYmZkX3NpemVfdHlwZSBvcmlnX3VuY29tcHJlc3NlZF9zaXplOwotKyAgdW5zaWduZWQgaW50IG9yaWdfdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3c7Ci0gICBpbnQgaGVhZGVyX3NpemUgPSBiZmRfZ2V0X2NvbXByZXNzaW9uX2hlYWRlcl9zaXplIChhYmZkLCBOVUxMKTsKLSAgIGJmZF9ib29sZWFuIGNvbXByZXNzZWQKLSAgICAgPSBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChhYmZkLCBzZWMsCi0gCQkJCQkgICAgICZvcmlnX2NvbXByZXNzaW9uX2hlYWRlcl9zaXplLAotLQkJCQkJICAgICAmb3JpZ191bmNvbXByZXNzZWRfc2l6ZSk7Ci0rCQkJCQkgICAgICZvcmlnX3VuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJICAgICAmb3JpZ191bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvdyk7Ci0gCi0gICAvKiBFaXRoZXIgRUxGIGNvbXByZXNzaW9uIGhlYWRlciBvciB0aGUgMTItYnl0ZSwgIlpMSUIiICsgOC1ieXRlIHNpemUsCi0gICAgICBvdmVyaGVhZCBpbiAuemRlYnVnKiBzZWN0aW9uLiAgKi8KLUBAIC0xNTMsNiArMTU1LDkgQEAgYmZkX2NvbXByZXNzX3NlY3Rpb25fY29udGVudHMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMsCi0gCSAgICAgIHJldHVybiAwOwotIAkgICAgfQotIAkgIGZyZWUgKHVuY29tcHJlc3NlZF9idWZmZXIpOwotKwkgIGJmZF9zZXRfc2VjdGlvbl9hbGlnbm1lbnQgKGFiZmQsIHNlYywKLSsJCQkJICAgICBvcmlnX3VuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93KTsKLSsKLSAJICBzZWMtPmNvbnRlbnRzID0gYnVmZmVyOwotIAkgIHNlYy0+Y29tcHJlc3Nfc3RhdHVzID0gQ09NUFJFU1NfU0VDVElPTl9ET05FOwotIAkgIHJldHVybiBvcmlnX3VuY29tcHJlc3NlZF9zaXplOwotQEAgLTM2NCwyMCArMzY5LDI0IEBAIFNZTk9QU0lTCi0gCWJmZF9ib29sZWFuIGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIKLSAJICAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdGlvbiwKLSAJICBpbnQgKmNvbXByZXNzaW9uX2hlYWRlcl9zaXplX3AsCi0tCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCk7Ci0rCSAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCwKLSsJICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbm1lbnRfcG93ZXJfcCk7Ci0gCi0gREVTQ1JJUFRJT04KLSAJUmV0dXJuIEBjb2Rle1RSVUV9IGlmIEB2YXJ7c2VjdGlvbn0gaXMgY29tcHJlc3NlZC4gIENvbXByZXNzaW9uCi0tCWhlYWRlciBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7Y29tcHJlc3Npb25faGVhZGVyX3NpemVfcH0gYW5kCi0tCXVuY29tcHJlc3NlZCBzaXplIGlzIHJldHVybmVkIGluIEB2YXJ7dW5jb21wcmVzc2VkX3NpemVfcH0uICBJZgotLQljb21wcmVzc2lvbiBpcyB1bnN1cHBvcnRlZCwgY29tcHJlc3Npb24gaGVhZGVyIHNpemUgaXMgcmV0dXJuZWQKLS0Jd2l0aCAtMSBhbmQgdW5jb21wcmVzc2VkIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAwLgotKwloZWFkZXIgc2l6ZSBpcyByZXR1cm5lZCBpbiBAdmFye2NvbXByZXNzaW9uX2hlYWRlcl9zaXplX3B9LAotKwl1bmNvbXByZXNzZWQgc2l6ZSBpcyByZXR1cm5lZCBpbiBAdmFye3VuY29tcHJlc3NlZF9zaXplX3B9Ci0rCWFuZCB0aGUgdW5jb21wcmVzc2VkIGRhdGEgYWxpZ25lbWVudCBwb3dlciBpcyByZXR1cm5lZCBpbgotKwlAdmFye3VuY29tcHJlc3NlZF9hbGlnbl9wb3dfcH0uICBJZiBjb21wcmVzc2lvbiBpcwotKwl1bnN1cHBvcnRlZCwgY29tcHJlc3Npb24gaGVhZGVyIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAtMQotKwlhbmQgdW5jb21wcmVzc2VkIHNpemUgaXMgcmV0dXJuZWQgd2l0aCAwLgotICovCi0gCi0gYmZkX2Jvb2xlYW4KLSBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjLAotIAkJCQkgICAgICAgaW50ICpjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZV9wLAotLQkJCQkgICAgICAgYmZkX3NpemVfdHlwZSAqdW5jb21wcmVzc2VkX3NpemVfcCkKLSsJCQkJICAgICAgIGJmZF9zaXplX3R5cGUgKnVuY29tcHJlc3NlZF9zaXplX3AsCi0rCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgKnVuY29tcHJlc3NlZF9hbGlnbl9wb3dfcCkKLSB7Ci0gICBiZmRfYnl0ZSBoZWFkZXJbTUFYX0NPTVBSRVNTSU9OX0hFQURFUl9TSVpFXTsKLSAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC00MTIsNyArNDIxLDggQEAgYmZkX2lzX3NlY3Rpb25fY29tcHJlc3NlZF93aXRoX2hlYWRlciAoYmZkICphYmZkLCBzZWNfcHRyIHNlYywKLSAgICAgICBpZiAoY29tcHJlc3Npb25faGVhZGVyX3NpemUgIT0gMCkKLSAJewotIAkgIGlmICghYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYWJmZCwgaGVhZGVyLCBzZWMsCi0tCQkJCQkgICAgIHVuY29tcHJlc3NlZF9zaXplX3ApKQotKwkJCQkJICAgICB1bmNvbXByZXNzZWRfc2l6ZV9wLAotKwkJCQkJICAgICB1bmNvbXByZXNzZWRfYWxpZ25fcG93X3ApKQotIAkgICAgY29tcHJlc3Npb25faGVhZGVyX3NpemUgPSAtMTsKLSAJfQotICAgICAgIC8qIENoZWNrIGZvciB0aGUgcGF0aGFsb2dpY2FsIGNhc2Ugb2YgYSBkZWJ1ZyBzdHJpbmcgc2VjdGlvbiB0aGF0Ci1AQCAtNDQ5LDkgKzQ1OSwxMSBAQCBiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjKQotIHsKLSAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAgIGJmZF9zaXplX3R5cGUgdW5jb21wcmVzc2VkX3NpemU7Ci0rICB1bnNpZ25lZCBpbnQgdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyOwotICAgcmV0dXJuIChiZmRfaXNfc2VjdGlvbl9jb21wcmVzc2VkX3dpdGhfaGVhZGVyIChhYmZkLCBzZWMsCi0gCQkJCQkJICZjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSwKLS0JCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKQotKwkJCQkJCSAmdW5jb21wcmVzc2VkX3NpemUsCi0rCQkJCQkJICZ1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXIpCi0gCSAgJiYgY29tcHJlc3Npb25faGVhZGVyX3NpemUgPj0gMAotIAkgICYmIHVuY29tcHJlc3NlZF9zaXplID4gMCk7Ci0gfQotQEAgLTQ4MCw2ICs0OTIsNyBAQCBiZmRfaW5pdF9zZWN0aW9uX2RlY29tcHJlc3Nfc3RhdHVzIChiZmQgKmFiZmQsIHNlY19wdHIgc2VjKQotICAgaW50IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotICAgaW50IGhlYWRlcl9zaXplOwotICAgYmZkX3NpemVfdHlwZSB1bmNvbXByZXNzZWRfc2l6ZTsKLSsgIHVuc2lnbmVkIGludCB1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyID0gMDsKLSAKLSAgIGNvbXByZXNzaW9uX2hlYWRlcl9zaXplID0gYmZkX2dldF9jb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSAoYWJmZCwgc2VjKTsKLSAgIGlmIChjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSA+IE1BWF9DT01QUkVTU0lPTl9IRUFERVJfU0laRSkKLUBAIC01MDgsNyArNTIxLDggQEAgYmZkX2luaXRfc2VjdGlvbl9kZWNvbXByZXNzX3N0YXR1cyAoYmZkICphYmZkLCBzZWNfcHRyIHNlYykKLSAgICAgICB1bmNvbXByZXNzZWRfc2l6ZSA9IGJmZF9nZXRiNjQgKGhlYWRlciArIDQpOwotICAgICB9Ci0gICBlbHNlIGlmICghYmZkX2NoZWNrX2NvbXByZXNzaW9uX2hlYWRlciAoYWJmZCwgaGVhZGVyLCBzZWMsCi0tCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKSkKLSsJCQkJCSAgJnVuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJICAmdW5jb21wcmVzc2VkX2FsaWdubWVudF9wb3dlcikpCi0gICAgIHsKLSAgICAgICBiZmRfc2V0X2Vycm9yIChiZmRfZXJyb3Jfd3JvbmdfZm9ybWF0KTsKLSAgICAgICByZXR1cm4gRkFMU0U7Ci1AQCAtNTE2LDYgKzUzMCw3IEBAIGJmZF9pbml0X3NlY3Rpb25fZGVjb21wcmVzc19zdGF0dXMgKGJmZCAqYWJmZCwgc2VjX3B0ciBzZWMpCi0gCi0gICBzZWMtPmNvbXByZXNzZWRfc2l6ZSA9IHNlYy0+c2l6ZTsKLSAgIHNlYy0+c2l6ZSA9IHVuY29tcHJlc3NlZF9zaXplOwotKyAgYmZkX3NldF9zZWN0aW9uX2FsaWdubWVudCAoYWJmZCwgc2VjLCB1bmNvbXByZXNzZWRfYWxpZ25tZW50X3Bvd2VyKTsKLSAgIHNlYy0+Y29tcHJlc3Nfc3RhdHVzID0gREVDT01QUkVTU19TRUNUSU9OX1NJWkVEOwotIAotICAgcmV0dXJuIFRSVUU7Ci1kaWZmIC0tZ2l0IGEvYmZkL2VsZi5jIGIvYmZkL2VsZi5jCi1pbmRleCA4MjgyNDFkNDhhLi5jNGYxMzFkZGNmIDEwMDY0NAotLS0tIGEvYmZkL2VsZi5jCi0rKysgYi9iZmQvZWxmLmMKLUBAIC0xMTc3LDExICsxMTc3LDEyIEBAIF9iZmRfZWxmX21ha2Vfc2VjdGlvbl9mcm9tX3NoZHIgKGJmZCAqYWJmZCwKLSAgICAgICBlbnVtIHsgbm90aGluZywgY29tcHJlc3MsIGRlY29tcHJlc3MgfSBhY3Rpb24gPSBub3RoaW5nOwotICAgICAgIGludCBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAgICAgICBiZmRfc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotKyAgICAgIHVuc2lnbmVkIGludCB1bmNvbXByZXNzZWRfYWxpZ25fcG93ZXI7Ci0gICAgICAgYmZkX2Jvb2xlYW4gY29tcHJlc3NlZAotIAk9IGJmZF9pc19zZWN0aW9uX2NvbXByZXNzZWRfd2l0aF9oZWFkZXIgKGFiZmQsIG5ld3NlY3QsCi0gCQkJCQkJICZjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZSwKLS0JCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplKTsKLS0KLSsJCQkJCQkgJnVuY29tcHJlc3NlZF9zaXplLAotKwkJCQkJCSAmdW5jb21wcmVzc2VkX2FsaWduX3Bvd2VyKTsKLSAgICAgICBpZiAoY29tcHJlc3NlZCkKLSAJewotIAkgIC8qIENvbXByZXNzZWQgc2VjdGlvbi4gIENoZWNrIGlmIHdlIHNob3VsZCBkZWNvbXByZXNzLiAgKi8KLWRpZmYgLS1naXQgYS9iaW51dGlscy9yZWFkZWxmLmMgYi9iaW51dGlscy9yZWFkZWxmLmMKLWluZGV4IGY0ZGY2OTdhN2QuLjRiMGVmYTg4NGYgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy9yZWFkZWxmLmMKLSsrKyBiL2JpbnV0aWxzL3JlYWRlbGYuYwotQEAgLTEzMzQ1LDEyICsxMzM0NSw2IEBAIGR1bXBfc2VjdGlvbl9hc19zdHJpbmdzIChFbGZfSW50ZXJuYWxfU2hkciAqIHNlY3Rpb24sIEZpbGVkYXRhICogZmlsZWRhdGEpCi0gCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pLCBjaGRyLmNoX3R5cGUpOwotIAkgICAgICByZXR1cm4gRkFMU0U7Ci0gCSAgICB9Ci0tCSAgZWxzZSBpZiAoY2hkci5jaF9hZGRyYWxpZ24gIT0gc2VjdGlvbi0+c2hfYWRkcmFsaWduKQotLQkgICAgewotLQkgICAgICB3YXJuIChfKCJjb21wcmVzc2VkIHNlY3Rpb24gJyVzJyBpcyBjb3JydXB0ZWRcbiIpLAotLQkJICAgIHByaW50YWJsZV9zZWN0aW9uX25hbWUgKGZpbGVkYXRhLCBzZWN0aW9uKSk7Ci0tCSAgICAgIHJldHVybiBGQUxTRTsKLS0JICAgIH0KLSAJICB1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSAJICBzdGFydCArPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAJICBuZXdfc2l6ZSAtPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC0xMzQ5MiwxMiArMTM0ODYsNiBAQCBkdW1wX3NlY3Rpb25fYXNfYnl0ZXMgKEVsZl9JbnRlcm5hbF9TaGRyICogIHNlY3Rpb24sCi0gCQkgICAgcHJpbnRhYmxlX3NlY3Rpb25fbmFtZSAoZmlsZWRhdGEsIHNlY3Rpb24pLCBjaGRyLmNoX3R5cGUpOwotIAkgICAgICByZXR1cm4gRkFMU0U7Ci0gCSAgICB9Ci0tCSAgZWxzZSBpZiAoY2hkci5jaF9hZGRyYWxpZ24gIT0gc2VjdGlvbi0+c2hfYWRkcmFsaWduKQotLQkgICAgewotLQkgICAgICB3YXJuIChfKCJjb21wcmVzc2VkIHNlY3Rpb24gJyVzJyBpcyBjb3JydXB0ZWRcbiIpLAotLQkJICAgIHByaW50YWJsZV9zZWN0aW9uX25hbWUgKGZpbGVkYXRhLCBzZWN0aW9uKSk7Ci0tCSAgICAgIHJldHVybiBGQUxTRTsKLS0JICAgIH0KLSAJICB1bmNvbXByZXNzZWRfc2l6ZSA9IGNoZHIuY2hfc2l6ZTsKLSAJICBzdGFydCArPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLSAJICBuZXdfc2l6ZSAtPSBjb21wcmVzc2lvbl9oZWFkZXJfc2l6ZTsKLUBAIC0xMzY2NywxMiArMTM2NTUsNiBAQCBsb2FkX3NwZWNpZmljX2RlYnVnX3NlY3Rpb24gKGVudW0gZHdhcmZfc2VjdGlvbl9kaXNwbGF5X2VudW0gIGRlYnVnLAotIAkJICAgIHNlY3Rpb24tPm5hbWUsIGNoZHIuY2hfdHlwZSk7Ci0gCSAgICAgIHJldHVybiBGQUxTRTsKLSAJICAgIH0KLS0JICBlbHNlIGlmIChjaGRyLmNoX2FkZHJhbGlnbiAhPSBzZWMtPnNoX2FkZHJhbGlnbikKLS0JICAgIHsKLS0JICAgICAgd2FybiAoXygiY29tcHJlc3NlZCBzZWN0aW9uICclcycgaXMgY29ycnVwdGVkXG4iKSwKLS0JCSAgICBzZWN0aW9uLT5uYW1lKTsKLS0JICAgICAgcmV0dXJuIEZBTFNFOwotLQkgICAgfQotIAkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5jaF9zaXplOwotIAkgIHN0YXJ0ICs9IGNvbXByZXNzaW9uX2hlYWRlcl9zaXplOwotIAkgIHNpemUgLT0gY29tcHJlc3Npb25faGVhZGVyX3NpemU7Ci1kaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5yUyBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMuclMKLWluZGV4IGYxNjM3ZTkxNDkuLjg2YmM3M2Q5YTIgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTCi0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJTCi1AQCAtMSwzICsxLDMgQEAKLSAjLi4uCi0tICtcW1sgMC05XStcXSAuZGVidWdfaW5mbyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgWzAtOWEtZl0rICtDICswICswICsxCi0rICtcW1sgMC05XStcXSAuZGVidWdfaW5mbyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgWzAtOWEtZl0rICtDICswICswICsoNHw4KQotICNwYXNzCi1kaWZmIC0tZ2l0IGEvYmludXRpbHMvdGVzdHN1aXRlL2JpbnV0aWxzLWFsbC9kdzItMy5ydCBiL2JpbnV0aWxzL3Rlc3RzdWl0ZS9iaW51dGlscy1hbGwvZHcyLTMucnQKLWluZGV4IGY1OWNiYWEyMmIuLjc0ZTdmOGRlY2EgMTAwNjQ0Ci0tLS0gYS9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0Ci0rKysgYi9iaW51dGlscy90ZXN0c3VpdGUvYmludXRpbHMtYWxsL2R3Mi0zLnJ0Ci1AQCAtMSw2ICsxLDYgQEAKLSAjLi4uCi0gICtcW1sgMC05XStcXSAuZGVidWdfaW5mbwotLSArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgK1swLTlhLWZdKyArMCArMCArMQotKyArKFBST0dCSVRTfE1JUFNfRFdBUkYpICswKyArWzAtOWEtZl0rICtbMC05YS1mXSsgK1swLTlhLWZdKyArMCArMCArKDR8OCkKLSAgK1xbMCs4MDBcXTogQ09NUFJFU1NFRAotICArWkxJQiwgMCs5ZCwgMQotICNwYXNzCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy8wMDIzLWdvbGQtR2V0LWFsaWdubWVudC1vZi11bmNvbXByZXNzZWQtc2VjdGlvbi1mcm9tLWNoX2EucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmMDcyYTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAyMy1nb2xkLUdldC1hbGlnbm1lbnQtb2YtdW5jb21wcmVzc2VkLXNlY3Rpb24tZnJvbS1jaF9hLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAwICswLDAgQEAKLUZyb20gMDI2MWVjNTExYWMwNzE3N2ZhNDg4MTMzZTBiYjNjMDM4NjA5NzdiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJILkouIEx1IiA8aGpsLnRvb2xzQGdtYWlsLmNvbT4KLURhdGU6IFN1biwgMiBEZWMgMjAxOCAwNTo0MjozNiAtMDgwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ29sZDogR2V0IGFsaWdubWVudCBvZiB1bmNvbXByZXNzZWQgc2VjdGlvbiBmcm9tCi0gY2hfYWRkcmFsaWduCi0KLVRoZSBFTEYgY29tcHJlc3Npb24gaGVhZGVyIGhhcyBhIGZpZWxkIChjaF9hZGRyYWxpZ24pIHRoYXQgaXMgc2V0IHRvCi10aGUgYWxpZ25tZW50IG9mIHRoZSB1bmNvbXByZXNzZWQgc2VjdGlvbi4gVGhpcyB3YXkgdGhlIHNlY3Rpb24gaXRzZWxmCi1jYW4gaGF2ZSBhIGRpZmZlcmVudCBhbGlnbm1lbnQgdGhhbiB0aGUgZGVjb21wcmVzc2VkIHNlY3Rpb24uICBVcGRhdGUKLWRlY29tcHJlc3NfaW5wdXRfc2VjdGlvbiB0byBnZXQgYWxpZ25tZW50IG9mIHRoZSBkZWNvbXByZXNzZWQgc2VjdGlvbgotYW5kIHVzZSBpdCB3aGVuIG1lcmdpbmcgZGVjb21wcmVzc2VkIHN0cmluZ3MuCi0KLQlQUiBiaW51dGlscy8yMzkxOQotCSogbWVyZ2UuY2MgKE91dHB1dF9tZXJnZV9zdHJpbmc8Q2hhcl90eXBlPjo6ZG9fYWRkX2lucHV0X3NlY3Rpb24pOgotCUdldCBhZGRyYWxpZ24gZnJvbSBkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cy4KLQkqIG9iamVjdC5jYyAoYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCk6IFNldCBpbmZvLmFkZHJhbGlnbi4KLQkoT2JqZWN0OjpkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyk6IEFkZCBhIHBhbGlnbgotCWFyZ3VtZW50IGFuZCBzdG9yZSBwLT5zZWNvbmQuYWRkcmFsaWduIGluICpwYWxpZ24gaWYgaXQgaXNuJ3QKLQlOVUxMLgotCSogb2JqZWN0LmggKENvbXByZXNzZWRfc2VjdGlvbl9pbmZvKTogQWRkIGFkZHJhbGlnbi4KLQkoc2VjdGlvbl9pc19jb21wcmVzc2VkKTogQWRkIGEgcGFsaWduIGFyZ3VtZW50LCBkZWZhdWx0IGl0Ci0JdG8gTlVMTCwgc3RvcmUgcC0+c2Vjb25kLmFkZHJhbGlnbiBpbiAqcGFsaWduIGlmIGl0IGlzbid0IE5VTEwuCi0JKE9iamVjdDo6ZGVjb21wcmVzc2VkX3NlY3Rpb25fY29udGVudHMpOiBMaWtld2lzZS4KLQkqIG91dHB1dC5jYyAoT3V0cHV0X3NlY3Rpb246OmFkZF9pbnB1dF9zZWN0aW9uKTogR2V0IGFkZHJhbGlnbgotCWZyb20gc2VjdGlvbl9pc19jb21wcmVzc2VkLgotLS0tCi0gZ29sZC9tZXJnZS5jYyAgfCAgOCArKysrKy0tLQotIGdvbGQvb2JqZWN0LmNjIHwgMTEgKysrKysrKysrLS0KLSBnb2xkL29iamVjdC5oICB8ICA4ICsrKysrKy0tCi0gZ29sZC9vdXRwdXQuY2MgfCAxMSArKysrKystLS0tLQotIDQgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0L2dpdHdlYi5jZ2k/cD1iaW51dGlscy1nZGIuZ2l0O2g9NWY2YzIyYWVlNzRmMTczOTNiODI5MzRhNTY4MmQ5ODU2NzJlMDExYV0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLQotZGlmZiAtLWdpdCBhL2dvbGQvbWVyZ2UuY2MgYi9nb2xkL21lcmdlLmNjCi1pbmRleCBkZTAwZWU5YWU5Li5kN2RlMTE3ODlmIDEwMDY0NAotLS0tIGEvZ29sZC9tZXJnZS5jYwotKysrIGIvZ29sZC9tZXJnZS5jYwotQEAgLTQ0MCw5ICs0NDAsMTEgQEAgT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbihSZWxvYmoqIG9iamVjdCwKLSB7Ci0gICBzZWN0aW9uX3NpemVfdHlwZSBzZWNfbGVuOwotICAgYm9vbCBpc19uZXc7Ci0rICB1aW50NjRfdCBhZGRyYWxpZ24gPSB0aGlzLT5hZGRyYWxpZ24oKTsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIHBkYXRhID0gb2JqZWN0LT5kZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyhzaG5keCwKLSAJCQkJCQkJCSAgICAgJnNlY19sZW4sCi0tCQkJCQkJCQkgICAgICZpc19uZXcpOwotKwkJCQkJCQkJICAgICAmaXNfbmV3LAotKwkJCQkJCQkJICAgICAmYWRkcmFsaWduKTsKLSAKLSAgIGNvbnN0IENoYXJfdHlwZSogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgQ2hhcl90eXBlKj4ocGRhdGEpOwotICAgY29uc3QgQ2hhcl90eXBlKiBwZW5kID0gcCArIHNlY19sZW4gLyBzaXplb2YoQ2hhcl90eXBlKTsKLUBAIC00OTQsNyArNDk2LDcgQEAgT3V0cHV0X21lcmdlX3N0cmluZzxDaGFyX3R5cGU+Ojpkb19hZGRfaW5wdXRfc2VjdGlvbihSZWxvYmoqIG9iamVjdCwKLSAgIC8vIGFsaWduZWQsIHNvIGVhY2ggc3RyaW5nIHdpdGhpbiB0aGUgc2VjdGlvbiBtdXN0IHJldGFpbiB0aGUgc2FtZQotICAgLy8gbW9kdWxvLgotICAgdWludHB0cl90IGluaXRfYWxpZ25fbW9kdWxvID0gKHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihwZGF0YSkKLS0JCQkJICYgKHRoaXMtPmFkZHJhbGlnbigpIC0gMSkpOwotKwkJCQkgJiAoYWRkcmFsaWduIC0gMSkpOwotICAgYm9vbCBoYXNfbWlzYWxpZ25lZF9zdHJpbmdzID0gZmFsc2U7Ci0gCi0gICB3aGlsZSAocCA8IHBlbmQpCi1AQCAtNTAzLDcgKzUwNSw3IEBAIE91dHB1dF9tZXJnZV9zdHJpbmc8Q2hhcl90eXBlPjo6ZG9fYWRkX2lucHV0X3NlY3Rpb24oUmVsb2JqKiBvYmplY3QsCi0gCi0gICAgICAgLy8gV2l0aGluIG1lcmdlIGlucHV0IHNlY3Rpb24gZWFjaCBzdHJpbmcgbXVzdCBiZSBhbGlnbmVkLgotICAgICAgIGlmIChsZW4gIT0gMAotLQkgICYmICgocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHApICYgKHRoaXMtPmFkZHJhbGlnbigpIC0gMSkpCi0rCSAgJiYgKChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgJiAoYWRkcmFsaWduIC0gMSkpCi0gCSAgICAgICE9IGluaXRfYWxpZ25fbW9kdWxvKSkKLSAJICBoYXNfbWlzYWxpZ25lZF9zdHJpbmdzID0gdHJ1ZTsKLSAKLWRpZmYgLS1naXQgYS9nb2xkL29iamVjdC5jYyBiL2dvbGQvb2JqZWN0LmNjCi1pbmRleCAzNzQzNDBmYTE2Li43MTE3OTNlNWU0IDEwMDY0NAotLS0tIGEvZ29sZC9vYmplY3QuY2MKLSsrKyBiL2dvbGQvb2JqZWN0LmNjCi1AQCAtNzUxLDExICs3NTEsMTMgQEAgYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCgKLSAJICAgICAgY29uc3QgdW5zaWduZWQgY2hhciogY29udGVudHMgPQotIAkJICBvYmotPnNlY3Rpb25fY29udGVudHMoaSwgJmxlbiwgZmFsc2UpOwotIAkgICAgICB1aW50NjRfdCB1bmNvbXByZXNzZWRfc2l6ZTsKLSsJICAgICAgQ29tcHJlc3NlZF9zZWN0aW9uX2luZm8gaW5mbzsKLSAJICAgICAgaWYgKGlzX3pjb21wcmVzc2VkKQotIAkJewotIAkJICAvLyBTa2lwIG92ZXIgdGhlICIuemRlYnVnIiBwcmVmaXguCi0gCQkgIG5hbWUgKz0gNzsKLSAJCSAgdW5jb21wcmVzc2VkX3NpemUgPSBnZXRfdW5jb21wcmVzc2VkX3NpemUoY29udGVudHMsIGxlbik7Ci0rCQkgIGluZm8uYWRkcmFsaWduID0gc2hkci5nZXRfc2hfYWRkcmFsaWduKCk7Ci0gCQl9Ci0gCSAgICAgIGVsc2UKLSAJCXsKLUBAIC03NjMsOCArNzY1LDggQEAgYnVpbGRfY29tcHJlc3NlZF9zZWN0aW9uX21hcCgKLSAJCSAgbmFtZSArPSA2OwotIAkJICBlbGZjcHA6OkNoZHI8c2l6ZSwgYmlnX2VuZGlhbj4gY2hkcihjb250ZW50cyk7Ci0gCQkgIHVuY29tcHJlc3NlZF9zaXplID0gY2hkci5nZXRfY2hfc2l6ZSgpOwotKwkJICBpbmZvLmFkZHJhbGlnbiA9IGNoZHIuZ2V0X2NoX2FkZHJhbGlnbigpOwotIAkJfQotLQkgICAgICBDb21wcmVzc2VkX3NlY3Rpb25faW5mbyBpbmZvOwotIAkgICAgICBpbmZvLnNpemUgPSBjb252ZXJ0X3RvX3NlY3Rpb25fc2l6ZV90eXBlKHVuY29tcHJlc3NlZF9zaXplKTsKLSAJICAgICAgaW5mby5mbGFnID0gc2hkci5nZXRfc2hfZmxhZ3MoKTsKLSAJICAgICAgaW5mby5jb250ZW50cyA9IE5VTEw7Ci1AQCAtMzA2MCw3ICszMDYyLDggQEAgY29uc3QgdW5zaWduZWQgY2hhcioKLSBPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKAotICAgICB1bnNpZ25lZCBpbnQgc2huZHgsCi0gICAgIHNlY3Rpb25fc2l6ZV90eXBlKiBwbGVuLAotLSAgICBib29sKiBpc19uZXcpCi0rICAgIGJvb2wqIGlzX25ldywKLSsgICAgdWludDY0X3QqIHBhbGlnbikKLSB7Ci0gICBzZWN0aW9uX3NpemVfdHlwZSBidWZmZXJfc2l6ZTsKLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ1ZmZlciA9IHRoaXMtPmRvX3NlY3Rpb25fY29udGVudHMoc2huZHgsICZidWZmZXJfc2l6ZSwKLUBAIC0zMDg3LDYgKzMwOTAsOCBAQCBPYmplY3Q6OmRlY29tcHJlc3NlZF9zZWN0aW9uX2NvbnRlbnRzKAotICAgICB7Ci0gICAgICAgKnBsZW4gPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSAgICAgICAqaXNfbmV3ID0gZmFsc2U7Ci0rICAgICAgaWYgKHBhbGlnbiAhPSBOVUxMKQotKwkqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAgICAgICByZXR1cm4gcC0+c2Vjb25kLmNvbnRlbnRzOwotICAgICB9Ci0gCi1AQCAtMzEwOCw2ICszMTEzLDggQEAgT2JqZWN0OjpkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cygKLSAgIC8vIG9uY2UgaW4gdGhpcyBwYXNzLgotICAgKnBsZW4gPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSAgICppc19uZXcgPSB0cnVlOwotKyAgaWYgKHBhbGlnbiAhPSBOVUxMKQotKyAgICAqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAgIHJldHVybiB1bmNvbXByZXNzZWRfZGF0YTsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ29sZC9vYmplY3QuaCBiL2dvbGQvb2JqZWN0LmgKLWluZGV4IDBiNzg2YTU0NzEuLmI5OTU0ODQ2M2QgMTAwNjQ0Ci0tLS0gYS9nb2xkL29iamVjdC5oCi0rKysgYi9nb2xkL29iamVjdC5oCi1AQCAtMzczLDYgKzM3Myw3IEBAIHN0cnVjdCBDb21wcmVzc2VkX3NlY3Rpb25faW5mbwotIHsKLSAgIHNlY3Rpb25fc2l6ZV90eXBlIHNpemU7Ci0gICBlbGZjcHA6OkVsZl9Yd29yZCBmbGFnOwotKyAgdWludDY0X3QgYWRkcmFsaWduOwotICAgY29uc3QgdW5zaWduZWQgY2hhciogY29udGVudHM7Ci0gfTsKLSB0eXBlZGVmIHN0ZDo6bWFwPHVuc2lnbmVkIGludCwgQ29tcHJlc3NlZF9zZWN0aW9uX2luZm8+IENvbXByZXNzZWRfc2VjdGlvbl9tYXA7Ci1AQCAtODA4LDcgKzgwOSw4IEBAIGNsYXNzIE9iamVjdAotIAotICAgYm9vbAotICAgc2VjdGlvbl9pc19jb21wcmVzc2VkKHVuc2lnbmVkIGludCBzaG5keCwKLS0JCQlzZWN0aW9uX3NpemVfdHlwZSogdW5jb21wcmVzc2VkX3NpemUpIGNvbnN0Ci0rCQkJc2VjdGlvbl9zaXplX3R5cGUqIHVuY29tcHJlc3NlZF9zaXplLAotKwkJCWVsZmNwcDo6RWxmX1h3b3JkKiBwYWxpZ24gPSBOVUxMKSBjb25zdAotICAgewotICAgICBpZiAodGhpcy0+Y29tcHJlc3NlZF9zZWN0aW9uc18gPT0gTlVMTCkKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtODE4LDYgKzgyMCw4IEBAIGNsYXNzIE9iamVjdAotICAgICAgIHsKLSAJaWYgKHVuY29tcHJlc3NlZF9zaXplICE9IE5VTEwpCi0gCSAgKnVuY29tcHJlc3NlZF9zaXplID0gcC0+c2Vjb25kLnNpemU7Ci0rCWlmIChwYWxpZ24gIT0gTlVMTCkKLSsJICAqcGFsaWduID0gcC0+c2Vjb25kLmFkZHJhbGlnbjsKLSAJcmV0dXJuIHRydWU7Ci0gICAgICAgfQotICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtODI4LDcgKzgzMiw3IEBAIGNsYXNzIE9iamVjdAotICAgLy8gYnkgdGhlIGNhbGxlci4KLSAgIGNvbnN0IHVuc2lnbmVkIGNoYXIqCi0gICBkZWNvbXByZXNzZWRfc2VjdGlvbl9jb250ZW50cyh1bnNpZ25lZCBpbnQgc2huZHgsIHNlY3Rpb25fc2l6ZV90eXBlKiBwbGVuLAotLQkJCQlib29sKiBpc19jYWNoZWQpOwotKwkJCQlib29sKiBpc19jYWNoZWQsIHVpbnQ2NF90KiBwYWxpZ24gPSBOVUxMKTsKLSAKLSAgIC8vIERpc2NhcmQgYW55IGJ1ZmZlcnMgb2YgZGVjb21wcmVzc2VkIHNlY3Rpb25zLiAgVGhpcyBpcyBkb25lCi0gICAvLyBhdCB0aGUgZW5kIG9mIHRoZSBBZGRfc3ltYm9scyB0YXNrLgotZGlmZiAtLWdpdCBhL2dvbGQvb3V0cHV0LmNjIGIvZ29sZC9vdXRwdXQuY2MKLWluZGV4IDE3MDFkYjFjOTkuLjc1YWMzYmNmOTcgMTAwNjQ0Ci0tLS0gYS9nb2xkL291dHB1dC5jYwotKysrIGIvZ29sZC9vdXRwdXQuY2MKLUBAIC0yNDQ4LDcgKzI0NDgsMTMgQEAgT3V0cHV0X3NlY3Rpb246OmFkZF9pbnB1dF9zZWN0aW9uKExheW91dCogbGF5b3V0LAotIAkJCQkgIHVuc2lnbmVkIGludCByZWxvY19zaG5keCwKLSAJCQkJICBib29sIGhhdmVfc2VjdGlvbnNfc2NyaXB0KQotIHsKLSsgIHNlY3Rpb25fc2l6ZV90eXBlIGlucHV0X3NlY3Rpb25fc2l6ZSA9IHNoZHIuZ2V0X3NoX3NpemUoKTsKLSsgIHNlY3Rpb25fc2l6ZV90eXBlIHVuY29tcHJlc3NlZF9zaXplOwotICAgZWxmY3BwOjpFbGZfWHdvcmQgYWRkcmFsaWduID0gc2hkci5nZXRfc2hfYWRkcmFsaWduKCk7Ci0rICBpZiAob2JqZWN0LT5zZWN0aW9uX2lzX2NvbXByZXNzZWQoc2huZHgsICZ1bmNvbXByZXNzZWRfc2l6ZSwKLSsJCQkJICAgICZhZGRyYWxpZ24pKQotKyAgICBpbnB1dF9zZWN0aW9uX3NpemUgPSB1bmNvbXByZXNzZWRfc2l6ZTsKLSsKLSAgIGlmICgoYWRkcmFsaWduICYgKGFkZHJhbGlnbiAtIDEpKSAhPSAwKQotICAgICB7Ci0gICAgICAgb2JqZWN0LT5lcnJvcihfKCJpbnZhbGlkIGFsaWdubWVudCAlbHUgZm9yIHNlY3Rpb24gXCIlc1wiIiksCi1AQCAtMjQ5OCwxMSArMjUwNCw2IEBAIE91dHB1dF9zZWN0aW9uOjphZGRfaW5wdXRfc2VjdGlvbihMYXlvdXQqIGxheW91dCwKLSAJfQotICAgICB9Ci0gCi0tICBzZWN0aW9uX3NpemVfdHlwZSBpbnB1dF9zZWN0aW9uX3NpemUgPSBzaGRyLmdldF9zaF9zaXplKCk7Ci0tICBzZWN0aW9uX3NpemVfdHlwZSB1bmNvbXByZXNzZWRfc2l6ZTsKLS0gIGlmIChvYmplY3QtPnNlY3Rpb25faXNfY29tcHJlc3NlZChzaG5keCwgJnVuY29tcHJlc3NlZF9zaXplKSkKLS0gICAgaW5wdXRfc2VjdGlvbl9zaXplID0gdW5jb21wcmVzc2VkX3NpemU7Ci0tCi0gICBvZmZfdCBvZmZzZXRfaW5fc2VjdGlvbjsKLSAKLSAgIGlmICh0aGlzLT5oYXNfZml4ZWRfbGF5b3V0KCkpCi0tLSAKLTIuMjAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xNzM1OC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzU4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNWExZWExLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLUZyb20gMzA4MzgxMzI5OTdlNmEzY2ZlM2VjMTFjNThiMzJiMjJmNmY2YjEwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsYW4gTW9kcmEgPGFtb2RyYUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDE1OjI5OjE3ICswOTMwCi1TdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAyMzY4NiwgdHdvIHNlZ21lbnQgZmF1bHRzIGluIG5tCi0KLUZpeGVzIHRoZSBidWdzIGV4cG9zZWQgYnkgdGhlIHRlc3RjYXNlcyBpbiB0aGUgUFIsIHBsdXMgdHdvIG1vcmUgYnVncwotSSBub3RpY2VkIHdoZW4gbG9va2luZyBhdCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZS4KLQotCVBSIDIzNjg2Ci0JKiBkd2FyZjIuYyAocmVhZF9zZWN0aW9uKTogRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIG1hbGxvYwotCSIoYmZkX3NpemVfdHlwZSkgLTEiLgotCSogc3ltcy5jIChfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSk6IEJvdW5kcyBjaGVjawotCWZ1bmN0aW9uX25hbWUuICBCb3VuZHMgY2hlY2sgcmVsb2MgYWRkcmVzcy4gIEZvcm1hdHRpbmcuICBFbnN1cmUKLQkuc3RhYnN0ciB6ZXJvIHRlcm1pbmF0ZWQuCi1DVkU6IENWRS0yMDE4LTE3MzU4IGFuZCBDVkUtMjAxOC0xNzM1OQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgfCAgOSArKysrKysrKysKLSBiZmQvZHdhcmYyLmMgIHwgIDkgKysrKysrKystCi0gYmZkL3N5bXMuYyAgICB8IDIyICsrKysrKysrKysrKysrKystLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5jCi1AQCAtNTI3LDYgKzUyNyw3IEBAIHJlYWRfc2VjdGlvbiAoYmZkICoJICAgICAgYWJmZCwKLSAgIGFzZWN0aW9uICptc2VjOwotICAgY29uc3QgY2hhciAqc2VjdGlvbl9uYW1lID0gc2VjLT51bmNvbXByZXNzZWRfbmFtZTsKLSAgIGJmZF9ieXRlICpjb250ZW50cyA9ICpzZWN0aW9uX2J1ZmZlcjsKLSsgIGJmZF9zaXplX3R5cGUgYW10OwotIAotICAgLyogVGhlIHNlY3Rpb24gbWF5IGhhdmUgYWxyZWFkeSBiZWVuIHJlYWQuICAqLwotICAgaWYgKGNvbnRlbnRzID09IE5VTEwpCi1AQCAtNTQ5LDcgKzU1MCwxMyBAQCByZWFkX3NlY3Rpb24gKGJmZCAqCSAgICAgIGFiZmQsCi0gICAgICAgKnNlY3Rpb25fc2l6ZSA9IG1zZWMtPnJhd3NpemUgPyBtc2VjLT5yYXdzaXplIDogbXNlYy0+c2l6ZTsKLSAgICAgICAvKiBQYXJhbm9pYSAtIGFsbG9jIG9uZSBleHRyYSBzbyB0aGF0IHdlIGNhbiBtYWtlIHN1cmUgYSBzdHJpbmcKLSAJIHNlY3Rpb24gaXMgTlVMIHRlcm1pbmF0ZWQuICAqLwotLSAgICAgIGNvbnRlbnRzID0gKGJmZF9ieXRlICopIGJmZF9tYWxsb2MgKCpzZWN0aW9uX3NpemUgKyAxKTsKLSsgICAgICBhbXQgPSAqc2VjdGlvbl9zaXplICsgMTsKLSsgICAgICBpZiAoYW10ID09IDApCi0rCXsKLSsJICBiZmRfc2V0X2Vycm9yIChiZmRfZXJyb3Jfbm9fbWVtb3J5KTsKLSsJICByZXR1cm4gRkFMU0U7Ci0rCX0KLSsgICAgICBjb250ZW50cyA9IChiZmRfYnl0ZSAqKSBiZmRfbWFsbG9jIChhbXQpOwotICAgICAgIGlmIChjb250ZW50cyA9PSBOVUxMKQotIAlyZXR1cm4gRkFMU0U7Ci0gICAgICAgaWYgKHN5bXMKLS0tLSBhL2JmZC9zeW1zLmMKLSsrKyBiL2JmZC9zeW1zLmMKLUBAIC0xMDM1LDYgKzEwMzUsMTAgQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkJCQkJIDAsIHN0cnNpemUpKQotIAlyZXR1cm4gRkFMU0U7Ci0gCi0rICAgICAgLyogU3RhYiBzdHJpbmdzIG91Z2h0IHRvIGJlIG51bCB0ZXJtaW5hdGVkLiAgRW5zdXJlIHRoZSBsYXN0IG9uZQotKwkgaXMsIHRvIHByZXZlbnQgcnVubmluZyBvZmYgdGhlIGVuZCBvZiB0aGUgYnVmZmVyLiAgKi8KLSsgICAgICBpbmZvLT5zdHJzW3N0cnNpemUgLSAxXSA9IDA7Ci0rCi0gICAgICAgLyogSWYgdGhpcyBpcyBhIHJlbG9jYXRhYmxlIG9iamVjdCBmaWxlLCB3ZSBoYXZlIHRvIHJlbG9jYXRlCi0gCSB0aGUgZW50cmllcyBpbiAuc3RhYi4gIFRoaXMgc2hvdWxkIGFsd2F5cyBiZSBzaW1wbGUgMzIgYml0Ci0gCSByZWxvY2F0aW9ucyBhZ2FpbnN0IHN5bWJvbHMgZGVmaW5lZCBpbiB0aGlzIG9iamVjdCBmaWxlLCBzbwotQEAgLTEwNzMsNyArMTA3Nyw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJCSAgfHwgci0+aG93dG8tPmJpdHNpemUgIT0gMzIKLSAJCSAgfHwgci0+aG93dG8tPnBjX3JlbGF0aXZlCi0gCQkgIHx8IHItPmhvd3RvLT5iaXRwb3MgIT0gMAotLQkJICB8fCByLT5ob3d0by0+ZHN0X21hc2sgIT0gMHhmZmZmZmZmZikKLSsJCSAgfHwgci0+aG93dG8tPmRzdF9tYXNrICE9IDB4ZmZmZmZmZmYKLSsJCSAgfHwgci0+YWRkcmVzcyAqIGJmZF9vY3RldHNfcGVyX2J5dGUgKGFiZmQpICsgNCA+IHN0YWJzaXplKQotIAkJewotIAkJICBfYmZkX2Vycm9yX2hhbmRsZXIKLSAJCSAgICAoXygidW5zdXBwb3J0ZWQgLnN0YWIgcmVsb2NhdGlvbiIpKTsKLUBAIC0xMTk1LDcgKzEyMDAsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCQl7Ci0gCQkgIG51bF9mdW4gPSBzdGFiOwotIAkJICBudWxfc3RyID0gc3RyOwotLQkJICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSsJCSAgaWYgKGZpbGVfbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZQotKwkJICAgICAgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotIAkJICAgIGZpbGVfbmFtZSA9IE5VTEw7Ci0gCQkgIGlmIChzdGFiICsgU1RBQlNJWkUgKyBUWVBFT0ZGIDwgaW5mby0+c3RhYnMgKyBzdGFic2l6ZQotIAkJICAgICAgJiYgKihzdGFiICsgU1RBQlNJWkUgKyBUWVBFT0ZGKSA9PSAoYmZkX2J5dGUpIE5fU08pCi1AQCAtMTIwNiw3ICsxMjEyLDggQEAgX2JmZF9zdGFiX3NlY3Rpb25fZmluZF9uZWFyZXN0X2xpbmUgKGJmZAotIAkJICAgICAgZGlyZWN0b3J5X25hbWUgPSBmaWxlX25hbWU7Ci0gCQkgICAgICBmaWxlX25hbWUgPSAoKGNoYXIgKikgc3RyCi0gCQkJCSAgICsgYmZkX2dldF8zMiAoYWJmZCwgc3RhYiArIFNUUkRYT0ZGKSk7Ci0tCQkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSsJCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCQlmaWxlX25hbWUgPSBOVUxMOwotIAkJICAgIH0KLSAJCX0KLUBAIC0xMjE3LDcgKzEyMjQsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCSAgICAgIGZpbGVfbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0gCSAgICAgIC8qIFBSIDE3NTEyOiBmaWxlOiAwYzY4MGExZi4gICovCi0gCSAgICAgIC8qIFBSIDE3NTEyOiBmaWxlOiA1ZGE4YWVjNC4gICovCi0tCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplCi0rCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZpbGVfbmFtZSA9IE5VTEw7Ci0gCSAgICAgIGJyZWFrOwotIAotQEAgLTEyMjYsNyArMTIzNCw4IEBAIF9iZmRfc3RhYl9zZWN0aW9uX2ZpbmRfbmVhcmVzdF9saW5lIChiZmQKLSAJICAgICAgZnVuY3Rpb25fbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0gCSAgICAgIGlmIChmdW5jdGlvbl9uYW1lID09IChjaGFyICopIHN0cikKLSAJCWNvbnRpbnVlOwotLQkgICAgICBpZiAoZnVuY3Rpb25fbmFtZSA+PSAoY2hhciAqKSBpbmZvLT5zdHJzICsgc3Ryc2l6ZSkKLSsJICAgICAgaWYgKGZ1bmN0aW9uX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUKLSsJCSAgfHwgZnVuY3Rpb25fbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZ1bmN0aW9uX25hbWUgPSBOVUxMOwotIAotIAkgICAgICBudWxfZnVuID0gTlVMTDsKLUBAIC0xMzM1LDcgKzEzNDQsOCBAQCBfYmZkX3N0YWJfc2VjdGlvbl9maW5kX25lYXJlc3RfbGluZSAoYmZkCi0gCSAgaWYgKHZhbCA8PSBvZmZzZXQpCi0gCSAgICB7Ci0gCSAgICAgIGZpbGVfbmFtZSA9IChjaGFyICopIHN0ciArIGJmZF9nZXRfMzIgKGFiZmQsIHN0YWIgKyBTVFJEWE9GRik7Ci0tCSAgICAgIGlmIChmaWxlX25hbWUgPj0gKGNoYXIgKikgaW5mby0+c3RycyArIHN0cnNpemUgfHwgZmlsZV9uYW1lIDwgKGNoYXIgKikgc3RyKQotKwkgICAgICBpZiAoZmlsZV9uYW1lID49IChjaGFyICopIGluZm8tPnN0cnMgKyBzdHJzaXplCi0rCQkgIHx8IGZpbGVfbmFtZSA8IChjaGFyICopIHN0cikKLSAJCWZpbGVfbmFtZSA9IE5VTEw7Ci0gCSAgICAgICpwbGluZSA9IDA7Ci0gCSAgICB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xNzM2MC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzYwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM2Mzc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE3MzYwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSBjZjkzZTljMmNmOGY4YjI1NjZmOGZjODZlOTYxNTkyYjUxYjU5ODBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgMjAgU2VwIDIwMTggMTg6MjM6MTcgKzA5MzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzY4NSwgYnVmZmVyIG92ZXJmbG93Ci0KLQlQUiAyMzY4NQotCSogcGVYWGlnZW4uYyAocGVfcHJpbnRfZWRhdGEpOiBDb3JyZWN0IGV4cG9ydCBhZGRyZXNzIHRhYmxlCi0Jb3ZlcmZsb3cgY2hlY2tzLiAgQ2hlY2sgZGF0YW9mZiBhZ2FpbnN0IHNlY3Rpb24gc2l6ZSB0b28uCi0KLUNWRTogQ1ZFLTIwMTgtMTczNjAKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nICB8ICA2ICsrKysrKwotIGJmZC9wZVhYaWdlbi5jIHwgMTEgKysrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9wZVhYaWdlbi5jCi0rKysgYi9iZmQvcGVYWGlnZW4uYwotQEAgLTE2NjEsNyArMTY2MSw4IEBAIHBlX3ByaW50X2VkYXRhIChiZmQgKiBhYmZkLCB2b2lkICogdmZpbGUKLSAKLSAgICAgICBkYXRhb2ZmID0gYWRkciAtIHNlY3Rpb24tPnZtYTsKLSAgICAgICBkYXRhc2l6ZSA9IGV4dHJhLT5EYXRhRGlyZWN0b3J5W1BFX0VYUE9SVF9UQUJMRV0uU2l6ZTsKLS0gICAgICBpZiAoZGF0YXNpemUgPiBzZWN0aW9uLT5zaXplIC0gZGF0YW9mZikKLSsgICAgICBpZiAoZGF0YW9mZiA+IHNlY3Rpb24tPnNpemUKLSsJICB8fCBkYXRhc2l6ZSA+IHNlY3Rpb24tPnNpemUgLSBkYXRhb2ZmKQotIAl7Ci0gCSAgZnByaW50ZiAoZmlsZSwKLSAJCSAgIF8oIlxuVGhlcmUgaXMgYW4gZXhwb3J0IHRhYmxlIGluICVzLCBidXQgaXQgZG9lcyBub3QgZml0IGludG8gdGhhdCBzZWN0aW9uXG4iKSwKLUBAIC0xNzc4LDExICsxNzc5LDExIEBAIHBlX3ByaW50X2VkYXRhIChiZmQgKiBhYmZkLCB2b2lkICogdmZpbGUKLSAJICBlZHQuYmFzZSk7Ci0gCi0gICAvKiBQUiAxNzUxMjogSGFuZGxlIGNvcnJ1cHQgUEUgYmluYXJpZXMuICAqLwotLSAgaWYgKGVkdC5lYXRfYWRkciArIChlZHQubnVtX2Z1bmN0aW9ucyAqIDQpIC0gYWRqID49IGRhdGFzaXplCi0rICAvKiBQUiAxNzUxMiBmaWxlOiAxNDAtMTY1MDE4LTAuMDA0LiAgKi8KLSsgIGlmIChlZHQuZWF0X2FkZHIgLSBhZGogPj0gZGF0YXNpemUKLSAgICAgICAvKiBQUiAxNzUxMjogZmlsZTogMDkyYjE4MjkgKi8KLS0gICAgICB8fCAoZWR0Lm51bV9mdW5jdGlvbnMgKiA0KSA8IGVkdC5udW1fZnVuY3Rpb25zCi0tICAgICAgLyogUFIgMTc1MTIgZmlsZTogMTQwLTE2NTAxOC0wLjAwNC4gICovCi0tICAgICAgfHwgZGF0YSArIGVkdC5lYXRfYWRkciAtIGFkaiA8IGRhdGEpCi0rICAgICAgfHwgKGVkdC5udW1fZnVuY3Rpb25zICsgMSkgKiA0IDwgZWR0Lm51bV9mdW5jdGlvbnMKLSsgICAgICB8fCBlZHQuZWF0X2FkZHIgLSBhZGogKyAoZWR0Lm51bV9mdW5jdGlvbnMgKyAxKSAqIDQgPiBkYXRhc2l6ZSkKLSAgICAgZnByaW50ZiAoZmlsZSwgXygiXHRJbnZhbGlkIEV4cG9ydCBBZGRyZXNzIFRhYmxlIHJ2YSAoMHglbHgpIG9yIGVudHJ5IGNvdW50ICgweCVseClcbiIpLAotIAkgICAgIChsb25nKSBlZHQuZWF0X2FkZHIsCi0gCSAgICAgKGxvbmcpIGVkdC5udW1fZnVuY3Rpb25zKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4MzA5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTgzMDkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxMGU2YjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTgzMDkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotRnJvbSAwOTMwY2IzMDIxYjgwNzhiMzRjZjIxNmU3OWViODYwOGQwMTc4NjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTMgT2N0IDIwMTggMjI6MDM6MDIgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gX2JmZF9jbGVhcl9jb250ZW50cyBib3VuZHMgY2hlY2tpbmcKLQotVGhpcyBQUiBzaG93cyBhIGZ1enplZCBiaW5hcnkgdHJpZ2dlcmluZyBhIHNlZ2ZhdWx0IHZpYSBhIGJhZAotcmVsb2NhdGlvbiBpbiAuZGVidWdfbGluZS4gIEl0IHR1cm5zIG91dCB0aGF0IHVubGlrZSBub3JtYWwKLXJlbG9jYXRpb25zIGFwcGxpZWQgdG8gYSBzZWN0aW9uLCB0aGUgbGlua2VyIGFwcGxpZXMgdGhvc2Ugd2l0aAotc3ltYm9scyBmcm9tIGRpc2NhcmRlZCBzZWN0aW9ucyB2aWEgX2JmZF9jbGVhcl9jb250ZW50cyB3aXRob3V0Ci1jaGVja2luZyB0aGF0IHRoZSByZWxvY2F0aW9uIGlzIHdpdGhpbiB0aGUgc2VjdGlvbiBib3VuZHMuICBUaGUgc2FtZQotdGhpbmcgbm93IGhhcHBlbnMgd2hlbiByZWFkaW5nIGRlYnVnIHNlY3Rpb25zIHNpbmNlIGNvbW1pdAotYTRjZDk0N2FjYTIzLCB0aGUgUFIyMzQyNSBmaXguCi0KLQlQUiAyMzc3MAotCVBSIDIzNDI1Ci0JKiByZWxvYy5jIChfYmZkX2NsZWFyX2NvbnRlbnRzKTogUmVwbGFjZSAibG9jYXRpb24iIHBhcmFtIHdpdGgKLQkiYnVmIiBhbmQgIm9mZiIuICBCb3VuZHMgY2hlY2sgIm9mZiIuICBSZXR1cm4gc3RhdHVzLgotCSogY29mZmxpbmsuYyAoX2JmZF9jb2ZmX2dlbmVyaWNfcmVsb2NhdGVfc2VjdGlvbik6IFVwZGF0ZQotCV9iZmRfY2xlYXJfY29udGVudHMgY2FsbC4KLQkqIGVsZi1iZmQuaCAoUkVMT0NfQUdBSU5TVF9ESVNDQVJERURfU0VDVElPTik6IExpa2V3aXNlLgotCSogZWxmMzItYXJjLmMgKGVsZl9hcmNfcmVsb2NhdGVfc2VjdGlvbik6IExpa2V3aXNlLgotCSogZWxmMzItaTM4Ni5jIChlbGZfaTM4Nl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1tZXRhZy5jIChtZXRhZ19maW5hbF9saW5rX3JlbG9jYXRlKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1uZHMzMi5jIChuZHMzMl9lbGZfZ2V0X3JlbG9jYXRlZF9zZWN0aW9uX2NvbnRlbnRzKTogTGlrZXdpc2UuCi0JKiBlbGYzMi1wcGMuYyAocHBjX2VsZl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGYzMi12aXNpdW0uYyAodmlzaXVtX2VsZl9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBlbGY2NC1wcGMuYyAocHBjNjRfZWxmX3JlbG9jYXRlX3NlY3Rpb24pOiBMaWtld2lzZS4KLQkqIGVsZjY0LXg4Ni02NC5jICooZWxmX3g4Nl82NF9yZWxvY2F0ZV9zZWN0aW9uKTogTGlrZXdpc2UuCi0JKiBsaWJiZmQtaW4uaCAoX2JmZF9jbGVhcl9jb250ZW50cyk6IFVwZGF0ZSBwcm90b3R5cGUuCi0JKiBsaWJiZmQuaDogUmVnZW5lcmF0ZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotQ1ZFOiBDVkUtMjAxOC0xODYwNQotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGJmZC9DaGFuZ2VMb2cgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCi0gYmZkL2NvZmZsaW5rLmMgICAgIHwgIDIgKy0KLSBiZmQvZWxmLWJmZC5oICAgICAgfCAgMiArLQotIGJmZC9lbGYzMi1hcmMuYyAgICB8ICAyICstCi0gYmZkL2VsZjMyLWkzODYuYyAgIHwgIDIgKy0KLSBiZmQvZWxmMzItbWV0YWcuYyAgfCAgMiArLQotIGJmZC9lbGYzMi1uZHMzMi5jICB8ICA4ICsrKystLS0tCi0gYmZkL2VsZjMyLXBwYy5jICAgIHwgIDIgKy0KLSBiZmQvZWxmMzItdmlzaXVtLmMgfCAgMiArLQotIGJmZC9lbGY2NC1wcGMuYyAgICB8ICAyICstCi0gYmZkL2VsZjY0LXg4Ni02NC5jIHwgIDIgKy0KLSBiZmQvbGliYmZkLWluLmggICAgfCAgNCArKy0tCi0gYmZkL2xpYmJmZC5oICAgICAgIHwgIDQgKystLQotIGJmZC9yZWxvYy5jICAgICAgICB8IDE5ICsrKysrKysrKysrKystLS0tLS0KLSAxNCBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL2NvZmZsaW5rLmMKLSsrKyBiL2JmZC9jb2ZmbGluay5jCi1AQCAtMzA4MCw3ICszMDgwLDcgQEAgX2JmZF9jb2ZmX2dlbmVyaWNfcmVsb2NhdGVfc2VjdGlvbiAoYmZkCi0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyAocmVsLT5yX3ZhZGRyIC0gaW5wdXRfc2VjdGlvbi0+dm1hKSk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfdmFkZHIgLSBpbnB1dF9zZWN0aW9uLT52bWEpOwotIAkgIGNvbnRpbnVlOwotIAl9Ci0gCi0tLS0gYS9iZmQvZWxmLWJmZC5oCi0rKysgYi9iZmQvZWxmLWJmZC5oCi1AQCAtMjgxMSw3ICsyODExLDcgQEAgZXh0ZXJuIGFzZWN0aW9uIF9iZmRfZWxmX2xhcmdlX2NvbV9zZWN0aQotICAgewkJCQkJCQkJCVwKLSAgICAgaW50IGlfOwkJCQkJCQkJXAotICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAkJXAotLQkJCSBjb250ZW50cyArIHJlbFtpbmRleF0ucl9vZmZzZXQpOwkJXAotKwkJCSBjb250ZW50cywgcmVsW2luZGV4XS5yX29mZnNldCk7CQlcCi0gCQkJCQkJCQkJXAotICAgICBpZiAoYmZkX2xpbmtfcmVsb2NhdGFibGUgKGluZm8pCQkJCQlcCi0gCSYmIChpbnB1dF9zZWN0aW9uLT5mbGFncyAmIFNFQ19ERUJVR0dJTkcpKQkJCVwKLS0tLSBhL2JmZC9lbGYzMi1hcmMuYwotKysrIGIvYmZkL2VsZjMyLWFyYy5jCi1AQCAtMTU1Miw3ICsxNTUyLDcgQEAgZWxmX2FyY19yZWxvY2F0ZV9zZWN0aW9uIChiZmQgKgkJCSAgb3V0cAotICAgICAgIGlmIChzZWMgIT0gTlVMTCAmJiBkaXNjYXJkZWRfc2VjdGlvbiAoc2VjKSkKLSAJewotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICByZWwtPnJfaW5mbyA9IDA7Ci0gCSAgcmVsLT5yX2FkZGVuZCA9IDA7Ci0gCi0tLS0gYS9iZmQvZWxmMzItaTM4Ni5jCi0rKysgYi9iZmQvZWxmMzItaTM4Ni5jCi1AQCAtMjE5Nyw3ICsyMTk3LDcgQEAgZWxmX2kzODZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYgotICAgICAgIGlmIChzZWMgIT0gTlVMTCAmJiBkaXNjYXJkZWRfc2VjdGlvbiAoc2VjKSkKLSAJewotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICB3cmVsLT5yX29mZnNldCA9IHJlbC0+cl9vZmZzZXQ7Ci0gCSAgd3JlbC0+cl9pbmZvID0gMDsKLSAJICB3cmVsLT5yX2FkZGVuZCA9IDA7Ci0tLS0gYS9iZmQvZWxmMzItbWV0YWcuYwotKysrIGIvYmZkL2VsZjMyLW1ldGFnLmMKLUBAIC0xMzk2LDcgKzEzOTYsNyBAQCBtZXRhZ19maW5hbF9saW5rX3JlbG9jYXRlIChyZWxvY19ob3d0b190Ci0gCQkJCQkgICAgICByZWwsIHJlbGVuZCwgaG93dG8sIGNvbnRlbnRzKSBcCi0gICB7CQkJCQkJCQkJXAotICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAkJXAotLQkJCSBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwkJCVwKLSsJCQkgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwkJCVwKLSAJCQkJCQkJCQlcCi0gICAgIGlmIChiZmRfbGlua19yZWxvY2F0YWJsZSAoaW5mbykJCQkJCVwKLSAJJiYgKGlucHV0X3NlY3Rpb24tPmZsYWdzICYgU0VDX0RFQlVHR0lORykpCQkJXAotLS0tIGEvYmZkL2VsZjMyLW5kczMyLmMKLSsrKyBiL2JmZC9lbGYzMi1uZHMzMi5jCi1AQCAtMTI1ODIsMTQgKzEyNTgyLDE0IEBAIG5kczMyX2VsZl9nZXRfcmVsb2NhdGVkX3NlY3Rpb25fY29udGVudHMKLSAJICBzeW1ib2wgPSAqKCpwYXJlbnQpLT5zeW1fcHRyX3B0cjsKLSAJICBpZiAoc3ltYm9sLT5zZWN0aW9uICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzeW1ib2wtPnNlY3Rpb24pKQotIAkgICAgewotLQkgICAgICBiZmRfYnl0ZSAqcDsKLSsJICAgICAgYmZkX3ZtYSBvZmY7Ci0gCSAgICAgIHN0YXRpYyByZWxvY19ob3d0b190eXBlIG5vbmVfaG93dG8KLSAJCT0gSE9XVE8gKDAsIDAsIDAsIDAsIEZBTFNFLCAwLCBjb21wbGFpbl9vdmVyZmxvd19kb250LCBOVUxMLAotIAkJCSAidW51c2VkIiwgRkFMU0UsIDAsIDAsIEZBTFNFKTsKLSAKLS0JICAgICAgcCA9IGRhdGEgKyAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotLQkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJCSAgIHApOwotKwkgICAgICBvZmYgPSAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotKwkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsCi0rCQkJCSAgIGlucHV0X3NlY3Rpb24sIGRhdGEsIG9mZik7Ci0gCSAgICAgICgqcGFyZW50KS0+c3ltX3B0cl9wdHIgPSBiZmRfYWJzX3NlY3Rpb25fcHRyLT5zeW1ib2xfcHRyX3B0cjsKLSAJICAgICAgKCpwYXJlbnQpLT5hZGRlbmQgPSAwOwotIAkgICAgICAoKnBhcmVudCktPmhvd3RvID0gJm5vbmVfaG93dG87Ci0tLS0gYS9iZmQvZWxmMzItcHBjLmMKLSsrKyBiL2JmZC9lbGYzMi1wcGMuYwotQEAgLTgyMzIsNyArODIzMiw3IEBAIHBwY19lbGZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfYmYKLSAJICAgIGhvd3RvID0gcHBjX2VsZl9ob3d0b190YWJsZVtyX3R5cGVdOwotIAotIAkgIF9iZmRfY2xlYXJfY29udGVudHMgKGhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJICAgICAgIGNvbnRlbnRzICsgcmVsLT5yX29mZnNldCk7Ci0rCQkJICAgICAgIGNvbnRlbnRzLCByZWwtPnJfb2Zmc2V0KTsKLSAJICB3cmVsLT5yX29mZnNldCA9IHJlbC0+cl9vZmZzZXQ7Ci0gCSAgd3JlbC0+cl9pbmZvID0gMDsKLSAJICB3cmVsLT5yX2FkZGVuZCA9IDA7Ci0tLS0gYS9iZmQvZWxmMzItdmlzaXVtLmMKLSsrKyBiL2JmZC9lbGYzMi12aXNpdW0uYwotQEAgLTYyMSw3ICs2MjEsNyBAQCB2aXNpdW1fZWxmX3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0Ci0gCSAgICAgb3Igc2VjdGlvbnMgZGlzY2FyZGVkIGJ5IGEgbGlua2VyIHNjcmlwdCwgd2UganVzdCB3YW50IHRoZQotIAkgICAgIHNlY3Rpb24gY29udGVudHMgemVyb2VkLiAgQXZvaWQgYW55IHNwZWNpYWwgcHJvY2Vzc2luZy4gICovCi0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAotIAkgIHJlbC0+cl9pbmZvID0gMDsKLSAJICByZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9lbGY2NC1wcGMuYwotKysrIGIvYmZkL2VsZjY0LXBwYy5jCi1AQCAtMTQwNzQsNyArMTQwNzQsNyBAQCBwcGM2NF9lbGZfcmVsb2NhdGVfc2VjdGlvbiAoYmZkICpvdXRwdXRfCi0gCXsKLSAJICBfYmZkX2NsZWFyX2NvbnRlbnRzIChwcGM2NF9lbGZfaG93dG9fdGFibGVbcl90eXBlXSwKLSAJCQkgICAgICAgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLAotLQkJCSAgICAgICBjb250ZW50cyArIHJlbC0+cl9vZmZzZXQpOwotKwkJCSAgICAgICBjb250ZW50cywgcmVsLT5yX29mZnNldCk7Ci0gCSAgd3JlbC0+cl9vZmZzZXQgPSByZWwtPnJfb2Zmc2V0OwotIAkgIHdyZWwtPnJfaW5mbyA9IDA7Ci0gCSAgd3JlbC0+cl9hZGRlbmQgPSAwOwotLS0tIGEvYmZkL2VsZjY0LXg4Ni02NC5jCi0rKysgYi9iZmQvZWxmNjQteDg2LTY0LmMKLUBAIC0yNDkwLDcgKzI0OTAsNyBAQCBlbGZfeDg2XzY0X3JlbG9jYXRlX3NlY3Rpb24gKGJmZCAqb3V0cHV0Ci0gICAgICAgaWYgKHNlYyAhPSBOVUxMICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzZWMpKQotIAl7Ci0gCSAgX2JmZF9jbGVhcl9jb250ZW50cyAoaG93dG8sIGlucHV0X2JmZCwgaW5wdXRfc2VjdGlvbiwKLS0JCQkgICAgICAgY29udGVudHMgKyByZWwtPnJfb2Zmc2V0KTsKLSsJCQkgICAgICAgY29udGVudHMsIHJlbC0+cl9vZmZzZXQpOwotIAkgIHdyZWwtPnJfb2Zmc2V0ID0gcmVsLT5yX29mZnNldDsKLSAJICB3cmVsLT5yX2luZm8gPSAwOwotIAkgIHdyZWwtPnJfYWRkZW5kID0gMDsKLS0tLSBhL2JmZC9saWJiZmQtaW4uaAotKysrIGIvYmZkL2xpYmJmZC1pbi5oCi1AQCAtNjk2LDggKzY5Niw4IEBAIGV4dGVybiBiZmRfcmVsb2Nfc3RhdHVzX3R5cGUgX2JmZF9yZWxvY2EKLSAgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBiZmRfdm1hLCBiZmRfYnl0ZSAqKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIENsZWFyIGEgZ2l2ZW4gbG9jYXRpb24gdXNpbmcgYSBnaXZlbiBob3d0by4gICovCi0tZXh0ZXJuIHZvaWQgX2JmZF9jbGVhcl9jb250ZW50cwotLSAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGFzZWN0aW9uICosIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0rZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX2NsZWFyX2NvbnRlbnRzCi0rICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKiwgYmZkX3ZtYSkgQVRUUklCVVRFX0hJRERFTjsKLSAKLSAvKiBMaW5rIHN0YWJzIGluIHNlY3Rpb25zIGluIHRoZSBmaXJzdCBwYXNzLiAgKi8KLSAKLS0tLSBhL2JmZC9saWJiZmQuaAotKysrIGIvYmZkL2xpYmJmZC5oCi1AQCAtNzAxLDggKzcwMSw4IEBAIGV4dGVybiBiZmRfcmVsb2Nfc3RhdHVzX3R5cGUgX2JmZF9yZWxvY2EKLSAgIChyZWxvY19ob3d0b190eXBlICosIGJmZCAqLCBiZmRfdm1hLCBiZmRfYnl0ZSAqKSBBVFRSSUJVVEVfSElEREVOOwotIAotIC8qIENsZWFyIGEgZ2l2ZW4gbG9jYXRpb24gdXNpbmcgYSBnaXZlbiBob3d0by4gICovCi0tZXh0ZXJuIHZvaWQgX2JmZF9jbGVhcl9jb250ZW50cwotLSAgKHJlbG9jX2hvd3RvX3R5cGUgKiwgYmZkICosIGFzZWN0aW9uICosIGJmZF9ieXRlICopIEFUVFJJQlVURV9ISURERU47Ci0rZXh0ZXJuIGJmZF9yZWxvY19zdGF0dXNfdHlwZSBfYmZkX2NsZWFyX2NvbnRlbnRzCi0rICAocmVsb2NfaG93dG9fdHlwZSAqLCBiZmQgKiwgYXNlY3Rpb24gKiwgYmZkX2J5dGUgKiwgYmZkX3ZtYSkgQVRUUklCVVRFX0hJRERFTjsKLSAKLSAvKiBMaW5rIHN0YWJzIGluIHNlY3Rpb25zIGluIHRoZSBmaXJzdCBwYXNzLiAgKi8KLSAKLS0tLSBhL2JmZC9yZWxvYy5jCi0rKysgYi9iZmQvcmVsb2MuYwotQEAgLTE2MTMsMTYgKzE2MTMsMjIgQEAgX2JmZF9yZWxvY2F0ZV9jb250ZW50cyAocmVsb2NfaG93dG9fdHlwZQotICAgIHJlbG9jYXRpb25zIGFnYWluc3QgZGlzY2FyZGVkIHN5bWJvbHMsIHRvIG1ha2UgaWdub3JhYmxlIGRlYnVnIG9yIHVud2luZAotICAgIGluZm9ybWF0aW9uIG1vcmUgb2J2aW91cy4gICovCi0gCi0tdm9pZAotK2JmZF9yZWxvY19zdGF0dXNfdHlwZQotIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmhvd3RvLAotIAkJICAgICBiZmQgKmlucHV0X2JmZCwKLSAJCSAgICAgYXNlY3Rpb24gKmlucHV0X3NlY3Rpb24sCi0tCQkgICAgIGJmZF9ieXRlICpsb2NhdGlvbikKLSsJCSAgICAgYmZkX2J5dGUgKmJ1ZiwKLSsJCSAgICAgYmZkX3ZtYSBvZmYpCi0gewotICAgaW50IHNpemU7Ci0gICBiZmRfdm1hIHggPSAwOwotKyAgYmZkX2J5dGUgKmxvY2F0aW9uOwotKwotKyAgaWYgKCFiZmRfcmVsb2Nfb2Zmc2V0X2luX3JhbmdlIChob3d0bywgaW5wdXRfYmZkLCBpbnB1dF9zZWN0aW9uLCBvZmYpKQotKyAgICByZXR1cm4gYmZkX3JlbG9jX291dG9mcmFuZ2U7Ci0gCi0gICAvKiBHZXQgdGhlIHZhbHVlIHdlIGFyZSBnb2luZyB0byByZWxvY2F0ZS4gICovCi0rICBsb2NhdGlvbiA9IGJ1ZiArIG9mZjsKLSAgIHNpemUgPSBiZmRfZ2V0X3JlbG9jX3NpemUgKGhvd3RvKTsKLSAgIHN3aXRjaCAoc2l6ZSkKLSAgICAgewotQEAgLTE2ODEsNiArMTY4Nyw3IEBAIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmgKLSAjZW5kaWYKLSAgICAgICBicmVhazsKLSAgICAgfQotKyAgcmV0dXJuIGJmZF9yZWxvY19vazsKLSB9Ci0gCi0gLyoKLUBAIC04MjY4LDE0ICs4Mjc1LDE0IEBAIGJmZF9nZW5lcmljX2dldF9yZWxvY2F0ZWRfc2VjdGlvbl9jb250ZW4KLSAKLSAJICBpZiAoc3ltYm9sLT5zZWN0aW9uICYmIGRpc2NhcmRlZF9zZWN0aW9uIChzeW1ib2wtPnNlY3Rpb24pKQotIAkgICAgewotLQkgICAgICBiZmRfYnl0ZSAqcDsKLSsJICAgICAgYmZkX3ZtYSBvZmY7Ci0gCSAgICAgIHN0YXRpYyByZWxvY19ob3d0b190eXBlIG5vbmVfaG93dG8KLSAJCT0gSE9XVE8gKDAsIDAsIDAsIDAsIEZBTFNFLCAwLCBjb21wbGFpbl9vdmVyZmxvd19kb250LCBOVUxMLAotIAkJCSAidW51c2VkIiwgRkFMU0UsIDAsIDAsIEZBTFNFKTsKLSAKLS0JICAgICAgcCA9IGRhdGEgKyAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotLQkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsIGlucHV0X3NlY3Rpb24sCi0tCQkJCSAgIHApOwotKwkgICAgICBvZmYgPSAoKnBhcmVudCktPmFkZHJlc3MgKiBiZmRfb2N0ZXRzX3Blcl9ieXRlIChpbnB1dF9iZmQpOwotKwkgICAgICBfYmZkX2NsZWFyX2NvbnRlbnRzICgoKnBhcmVudCktPmhvd3RvLCBpbnB1dF9iZmQsCi0rCQkJCSAgIGlucHV0X3NlY3Rpb24sIGRhdGEsIG9mZik7Ci0gCSAgICAgICgqcGFyZW50KS0+c3ltX3B0cl9wdHIgPSBiZmRfYWJzX3NlY3Rpb25fcHRyLT5zeW1ib2xfcHRyX3B0cjsKLSAJICAgICAgKCpwYXJlbnQpLT5hZGRlbmQgPSAwOwotIAkgICAgICAoKnBhcmVudCktPmhvd3RvID0gJm5vbmVfaG93dG87CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMTE3Zjk1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSBhYjQxOWRkYmIyY2RkMTdjYTgzNjE4OTkwZjJjYWNmOTA0Y2UxZDYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTg6Mjk6MjQgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzgwNCwgYnVmZmVyIG92ZXJmbG93IGluIHNlY19tZXJnZV9oYXNoX2xvb2t1cAotCi0JUFIgMjM4MDQKLQkqIG1lcmdlLmMgKF9iZmRfYWRkX21lcmdlX3NlY3Rpb24pOiBEb24ndCBhdHRlbXB0IHRvIG1lcmdlCi0Jc2VjdGlvbnMgd2hlcmUgc2l6ZSBpcyBub3QgYSBtdWx0aXBsZSBvZiBlbnRzaXplLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1DVkU6IENWRS0yMDE4LTE4NjA1Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyB8IDYgKysrKysrCi0gYmZkL21lcmdlLmMgICB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotLS0tIGEvYmZkL21lcmdlLmMKLSsrKyBiL2JmZC9tZXJnZS5jCi1AQCAtMzc2LDYgKzM3Niw5IEBAIF9iZmRfYWRkX21lcmdlX3NlY3Rpb24gKGJmZCAqYWJmZCwgdm9pZAotICAgICAgIHx8IHNlYy0+ZW50c2l6ZSA9PSAwKQotICAgICByZXR1cm4gVFJVRTsKLSAKLSsgIGlmIChzZWMtPnNpemUgJSBzZWMtPmVudHNpemUgIT0gMCkKLSsgICAgcmV0dXJuIFRSVUU7Ci0rCi0gICBpZiAoKHNlYy0+ZmxhZ3MgJiBTRUNfUkVMT0MpICE9IDApCi0gICAgIHsKLSAgICAgICAvKiBXZSBhcmVuJ3QgcHJlcGFyZWQgdG8gaGFuZGxlIHJlbG9jYXRpb25zIGluIG1lcmdlZCBzZWN0aW9ucy4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9DVkUtMjAxOC0xODYwNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjVjMzM5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotRnJvbSA0NWEwZWFmNzcwMjI5NjNkNjM5ZDZkMTk4NzFkYmFiN2I3OTcwM2ZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxhbiBNb2RyYSA8YW1vZHJhQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjMgT2N0IDIwMTggMTk6MDI6MDYgKzEwMzAKLVN1YmplY3Q6IFtQQVRDSF0gUFIyMzgwNiwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIG1lcmdlX3N0cmluZ3MKLQotCVBSIDIzODA2Ci0JKiBtZXJnZS5jIChfYmZkX2FkZF9tZXJnZV9zZWN0aW9uKTogRG9uJ3QgYXR0ZW1wdCB0byBtZXJnZQotCXNlY3Rpb25zIHdpdGggcmlkaWN1bG91c2x5IGxhcmdlIGFsaWdubWVudHMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLUNWRTogQ1ZFLTIwMTgtMTg2MDYKLVNpZ25lZC1vZmYtYnk6IFpoaXhpb25nIENoaSA8emhpeGlvbmcuY2hpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiZmQvQ2hhbmdlTG9nIHwgIDYgKysrKysrCi0gYmZkL21lcmdlLmMgICB8IDE1ICsrKysrKysrKysrLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotLS0tIGEvYmZkL21lcmdlLmMKLSsrKyBiL2JmZC9tZXJnZS5jCi1AQCAtMjQsNiArMjQsNyBAQAotICAgIGFzIHVzZWQgaW4gRUxGIFNIRl9NRVJHRS4gICovCi0gCi0gI2luY2x1ZGUgInN5c2RlcC5oIgotKyNpbmNsdWRlIDxsaW1pdHMuaD4KLSAjaW5jbHVkZSAiYmZkLmgiCi0gI2luY2x1ZGUgImVsZi1iZmQuaCIKLSAjaW5jbHVkZSAibGliYmZkLmgiCi1AQCAtMzg1LDEyICszODYsMTggQEAgX2JmZF9hZGRfbWVyZ2Vfc2VjdGlvbiAoYmZkICphYmZkLCB2b2lkCi0gICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgIH0KLSAKLS0gIGFsaWduID0gc2VjLT5hbGlnbm1lbnRfcG93ZXI7Ci0tICBpZiAoKHNlYy0+ZW50c2l6ZSA8ICh1bnNpZ25lZCkgMSA8PCBhbGlnbgotKyNpZm5kZWYgQ0hBUl9CSVQKLSsjZGVmaW5lIENIQVJfQklUIDgKLSsjZW5kaWYKLSsgIGlmIChzZWMtPmFsaWdubWVudF9wb3dlciA+PSBzaXplb2YgKGFsaWduKSAqIENIQVJfQklUKQotKyAgICByZXR1cm4gVFJVRTsKLSsKLSsgIGFsaWduID0gMXUgPDwgc2VjLT5hbGlnbm1lbnRfcG93ZXI7Ci0rICBpZiAoKHNlYy0+ZW50c2l6ZSA8IGFsaWduCi0gICAgICAgICYmICgoc2VjLT5lbnRzaXplICYgKHNlYy0+ZW50c2l6ZSAtIDEpKQotIAkgICB8fCAhKHNlYy0+ZmxhZ3MgJiBTRUNfU1RSSU5HUykpKQotLSAgICAgIHx8IChzZWMtPmVudHNpemUgPiAodW5zaWduZWQpIDEgPDwgYWxpZ24KLS0JICAmJiAoc2VjLT5lbnRzaXplICYgKCgodW5zaWduZWQpIDEgPDwgYWxpZ24pIC0gMSkpKSkKLSsgICAgICB8fCAoc2VjLT5lbnRzaXplID4gYWxpZ24KLSsJICAmJiAoc2VjLT5lbnRzaXplICYgKGFsaWduIC0gMSkpKSkKLSAgICAgewotICAgICAgIC8qIFNhbml0eSBjaGVjay4gIElmIHN0cmluZyBjaGFyYWN0ZXIgc2l6ZSBpcyBzbWFsbGVyIHRoYW4KLSAJIGFsaWdubWVudCwgdGhlbiB3ZSByZXF1aXJlIGNoYXJhY3RlciBzaXplIHRvIGJlIGEgcG93ZXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL0NWRS0yMDE4LTE4NjA3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwMmE5MGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvQ1ZFLTIwMTgtMTg2MDcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1Gcm9tIDEwMmRlZjRkYTgyNmIzZDllMTY5NzQxNDIxZTVlNjdlODczMTkwOWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGFuIE1vZHJhIDxhbW9kcmFAZ21haWwuY29tPgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAxODozMDoyMiArMTAzMAotU3ViamVjdDogW1BBVENIXSBQUjIzODA1LCBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gZWxmX2xpbmtfaW5wdXRfYmZkCi0KLQlQUiAyMzgwNQotCSogZWxmbGluay5jIChlbGZfbGlua19pbnB1dF9iZmQpOiBEb24ndCBzZWdmYXVsdCBvbiBmaW5kaW5nCi0JU1RUX1RMUyBzeW1ib2xzIHdpdGhvdXQgYW55IFRMUyBzZWN0aW9ucy4gIEluc3RlYWQsIGNoYW5nZSB0aGUKLQlzeW1ib2wgdHlwZSB0byBTVFRfTk9UWVBFLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1DVkU6IENWRS0yMDE4LTE4NjA2Ci1TaWduZWQtb2ZmLWJ5OiBaaGl4aW9uZyBDaGkgPHpoaXhpb25nLmNoaUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmZkL0NoYW5nZUxvZyB8ICA3ICsrKysrKysKLSBiZmQvZWxmbGluay5jIHwgMjAgKysrKysrKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2JmZC9lbGZsaW5rLmMKLSsrKyBiL2JmZC9lbGZsaW5rLmMKLUBAIC0xMDQ5Niw4ICsxMDQ5NiwxMSBAQCBlbGZfbGlua19pbnB1dF9iZmQgKHN0cnVjdCBlbGZfZmluYWxfbGluCi0gCSAgaWYgKEVMRl9TVF9UWVBFIChvc3ltLnN0X2luZm8pID09IFNUVF9UTFMpCi0gCSAgICB7Ci0gCSAgICAgIC8qIFNUVF9UTFMgc3ltYm9scyBhcmUgcmVsYXRpdmUgdG8gUFRfVExTIHNlZ21lbnQgYmFzZS4gICovCi0tCSAgICAgIEJGRF9BU1NFUlQgKGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjICE9IE5VTEwpOwotLQkgICAgICBvc3ltLnN0X3ZhbHVlIC09IGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pLT50bHNfc2VjLT52bWE7Ci0rCSAgICAgIGlmIChlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKS0+dGxzX3NlYyAhPSBOVUxMKQotKwkJb3N5bS5zdF92YWx1ZSAtPSBlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKS0+dGxzX3NlYy0+dm1hOwotKwkgICAgICBlbHNlCi0rCQlvc3ltLnN0X2luZm8gPSBFTEZfU1RfSU5GTyAoRUxGX1NUX0JJTkQgKG9zeW0uc3RfaW5mbyksCi0rCQkJCQkgICAgU1RUX05PVFlQRSk7Ci0gCSAgICB9Ci0gCX0KLSAKLUBAIC0xMTA1MywxMiArMTEwNTYsMTcgQEAgZWxmX2xpbmtfaW5wdXRfYmZkIChzdHJ1Y3QgZWxmX2ZpbmFsX2xpbgotIAkJCSAgICAgIHN5bS5zdF92YWx1ZSArPSBvc2VjLT52bWE7Ci0gCQkJICAgICAgaWYgKEVMRl9TVF9UWVBFIChzeW0uc3RfaW5mbykgPT0gU1RUX1RMUykKLSAJCQkJewotKwkJCQkgIHN0cnVjdCBlbGZfbGlua19oYXNoX3RhYmxlICpodGFiCi0rCQkJCSAgICA9IGVsZl9oYXNoX3RhYmxlIChmbGluZm8tPmluZm8pOwotKwotIAkJCQkgIC8qIFNUVF9UTFMgc3ltYm9scyBhcmUgcmVsYXRpdmUgdG8gUFRfVExTCi0gCQkJCSAgICAgc2VnbWVudCBiYXNlLiAgKi8KLS0JCQkJICBCRkRfQVNTRVJUIChlbGZfaGFzaF90YWJsZSAoZmxpbmZvLT5pbmZvKQotLQkJCQkJICAgICAgLT50bHNfc2VjICE9IE5VTEwpOwotLQkJCQkgIHN5bS5zdF92YWx1ZSAtPSAoZWxmX2hhc2hfdGFibGUgKGZsaW5mby0+aW5mbykKLS0JCQkJCQkgICAtPnRsc19zZWMtPnZtYSk7Ci0rCQkJCSAgaWYgKGh0YWItPnRsc19zZWMgIT0gTlVMTCkKLSsJCQkJICAgIHN5bS5zdF92YWx1ZSAtPSBodGFiLT50bHNfc2VjLT52bWE7Ci0rCQkJCSAgZWxzZQotKwkJCQkgICAgc3ltLnN0X2luZm8KLSsJCQkJICAgICAgPSBFTEZfU1RfSU5GTyAoRUxGX1NUX0JJTkQgKHN5bS5zdF9pbmZvKSwKLSsJCQkJCQkgICAgIFNUVF9OT1RZUEUpOwotIAkJCQl9Ci0gCQkJICAgIH0KLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL2NsYW5nLWJmZC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9iaW51dGlscy9iaW51dGlscy9jbGFuZy1iZmQtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyOWMwZDQ4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzL2NsYW5nLWJmZC1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1GaXggY29tcGlsZXIgZXJyb3Igc2VlbiB3aXRoIGNsYW5nLCBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoaXMKLWZ1bmN0aW9uIGlzIG5vdCBjaGVja2VkIGFueXdoZXJlIHNvIGluIGEgd2F5IGl0cyB1c2VsZXNzIGJ1dAotc3RpbGwgdGVjaG5pY2FsbHkgY29ycmVjdCB0byByZXR1cm4gYSB2YWx1ZSBoZXJlCi0KLUZpeGVzCi0KLS4uLy4uL2JmZC9yZWxvYy5jOjE2Mzg6NzogZXJyb3I6IG5vbi12b2lkIGZ1bmN0aW9uICdfYmZkX2NsZWFyX2NvbnRlbnRzJyBzaG91bGQgcmV0dXJuIGEgdmFsdWUgWy1XcmV0dXJuLXR5cGVdCi0gICAgICByZXR1cm47Ci0gICAgICBeCi0xIGVycm9yIGdlbmVyYXRlZC4KLQotSXQgaGFzIGJlZW4gZml4ZWQgaW4gbWFzdGVyIGFsb25nIHdpdGggYSBsYXJnZXIgY2xlYW51cCBhbmQgZml4IGZvciByZWxvY2F0aW9ucwotCi1odHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPTFkYzllMmQ2M2UzNzgzOWZmMTc2ODM0NmIyZTNmNTJlMzM4YmFiYTUKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbRml4ZXMgZGlmZmVyZW50bHldCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLS0tLSBhL2JmZC9yZWxvYy5jCi0rKysgYi9iZmQvcmVsb2MuYwotQEAgLTE2MjksNyArMTYyOSw3IEBAIF9iZmRfY2xlYXJfY29udGVudHMgKHJlbG9jX2hvd3RvX3R5cGUgKmgKLSAgICAgZGVmYXVsdDoKLSAgICAgICBhYm9ydCAoKTsKLSAgICAgY2FzZSAwOgotLSAgICAgIHJldHVybjsKLSsgICAgICByZXR1cm4gMDsKLSAgICAgY2FzZSAxOgotICAgICAgIHggPSBiZmRfZ2V0XzggKGlucHV0X2JmZCwgbG9jYXRpb24pOwotICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHNfMi4zMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzIuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzEuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2JpbnV0aWxzL2JpbnV0aWxzXzIuMzIuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzLzAwMDEtTWFrZWZpbGUtYnVpbGQtbWt0YWJsZXMtdXNpbmctbmF0aXZlLWdjYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzLzAwMDEtTWFrZWZpbGUtYnVpbGQtbWt0YWJsZXMtdXNpbmctbmF0aXZlLWdjYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY3ZGUzMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29scy8wMDAxLU1ha2VmaWxlLWJ1aWxkLW1rdGFibGVzLXVzaW5nLW5hdGl2ZS1nY2MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIGU1ODM2OWY2ZDM2YmM1MWViNTlkNmFmYTM0YzFjYWUzZmYwODEwZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgNyBBdWcgMjAxNyAxNDoxMDozOCArMDMwMAotU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZTogYnVpbGQgbWt0YWJsZXMgdXNpbmcgbmF0aXZlIGdjYwotCi1JdCdzIGEgdGhyb3dhd2F5IGhlbHBlciBiaW5hcnkgdXNlZCBkdXJpbmcgYnVpbGQsIGFuZCBzbyBpdCBuZWVkcyB0bwotYmUgbmF0aXZlLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBNYWtlZmlsZSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotSW5kZXg6IGdpdC9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL01ha2VmaWxlCi0rKysgZ2l0L01ha2VmaWxlCi1AQCAtMzQzLDcgKzM0Myw3IEBAIHZlcnNpb24uaDogdmVyc2lvbi5zaCB2ZXJzaW9uLmguaW4gY29uZmkKLSAKLSBta3RhYmxlczoga2VybmVsLWxpYi9ta3RhYmxlcy5jCi0gCUBlY2hvICIgICAgW0NDXSAgICAgJEAiCi0tCSQoUSkkKENDKSAkKENGTEFHUykgJDwgLW8gJEAKLSsJJChRKSQoQlVJTERfQ0MpICQoQlVJTERfQ0ZMQUdTKSAkPCAtbyAkQAotIAotICMgdGhlIHRhcmdldCBjYW4gYmUgcmVnZW5lcmF0ZWQgbWFudWFsbHkgdXNpbmcgbWt0YWJsZXMsIGJ1dCBhIGxvY2FsIGNvcHkgaXMKLSAjIGtlcHQgc28gdGhlIGJ1aWxkIHByb2Nlc3MgaXMgc2ltcGxlcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4xNy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4xNy4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YjUzZmJjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2J0cmZzLXRvb2xzL2J0cmZzLXRvb2xzXzQuMTcuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiQ2hlY2tzdW1taW5nIENvcHkgb24gV3JpdGUgRmlsZXN5c3RlbSB1dGlsaXRpZXMiCi1ERVNDUklQVElPTiA9ICJCdHJmcyBpcyBhIG5ldyBjb3B5IG9uIHdyaXRlIGZpbGVzeXN0ZW0gZm9yIExpbnV4IGFpbWVkIGF0IFwKLWltcGxlbWVudGluZyBhZHZhbmNlZCBmZWF0dXJlcyB3aGlsZSBmb2N1c2luZyBvbiBmYXVsdCB0b2xlcmFuY2UsIHJlcGFpciBhbmQgXAotZWFzeSBhZG1pbmlzdHJhdGlvbi4gXAotVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHV0aWxpdGllcyAobWtmcywgZnNjaywgYnRyZnNjdGwpIHVzZWQgdG8gd29yayB3aXRoIFwKLWJ0cmZzIGFuZCBhbiB1dGlsaXR5IChidHJmcy1jb252ZXJ0KSB0byBtYWtlIGEgYnRyZnMgZmlsZXN5c3RlbSBmcm9tIGFuIGV4dDMuIgotCi1IT01FUEFHRSA9ICJodHRwczovL2J0cmZzLndpa2kua2VybmVsLm9yZyIKLQotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZjYjAyZGM1NTJhMDQxZGVlMjdlNGI4NWM3Mzk2MDY3IgotU0VDVElPTiA9ICJiYXNlIgotREVQRU5EUyA9ICJ1dGlsLWxpbnV4IGF0dHIgZTJmc3Byb2dzIGx6byBhY2wgcHl0aG9uMy1zZXR1cHRvb2xzLW5hdGl2ZSIKLURFUEVORFNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgdWRldiIKLVJERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKLQotU1JDUkVWID0gIjdmYWFjYTBkOWY3OGY3MTYyYWU2MDMyMzFmNjkzZGQ4ZTFhZjJhNDEiCi1TUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9rZGF2ZS9idHJmcy1wcm9ncy5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS1idWlsZC1ta3RhYmxlcy11c2luZy1uYXRpdmUtZ2NjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLUxERkxBR1Mtd2hlbi1idWlsZGluZy1saWJidHJmc3V0aWwuc28ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtYS1wb3NzaWJpbGl0eS10by1zcGVjaWZ5LXdoZXJlLXB5dGhvbi1tb2R1bGVzLWFyLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIG1hbnBhZ2VzIGRpc3R1dGlsczMtYmFzZQotCi1DTEVBTkJST0tFTiA9ICIxIgotCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1kb2N1bWVudGF0aW9uLCAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiwgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKLUVYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLXpzdGQiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLWJhY2t0cmFjZSAiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCSMgVXBzdHJlYW0gZG9lc24ndCBzaGlwIHRoaXMgYW5kIGF1dG9yZWNvbmYgd29uJ3QgaW5zdGFsbCBpdCBhcyBhdXRvbWFrZSBpc24ndCB1c2VkLgotCW1rZGlyIC1wICR7U30vY29uZmlnCi0JY3AgLWYgJChhdXRvbWFrZSAtLXByaW50LWxpYmRpcikvaW5zdGFsbC1zaCAke1N9L2NvbmZpZy8KLX0KLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnUFlUSE9OX1NJVEVQQUNLQUdFU19ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIGluc3RhbGxfcHl0aG9uCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4yMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvYnRyZnMtdG9vbHMvYnRyZnMtdG9vbHNfNC4yMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2NDcyMzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9idHJmcy10b29scy9idHJmcy10b29sc180LjIwLjEuYmIKQEAgLTAsMCArMSw0NCBAQAorU1VNTUFSWSA9ICJDaGVja3N1bW1pbmcgQ29weSBvbiBXcml0ZSBGaWxlc3lzdGVtIHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIkJ0cmZzIGlzIGEgbmV3IGNvcHkgb24gd3JpdGUgZmlsZXN5c3RlbSBmb3IgTGludXggYWltZWQgYXQgXAoraW1wbGVtZW50aW5nIGFkdmFuY2VkIGZlYXR1cmVzIHdoaWxlIGZvY3VzaW5nIG9uIGZhdWx0IHRvbGVyYW5jZSwgcmVwYWlyIGFuZCBcCitlYXN5IGFkbWluaXN0cmF0aW9uLiBcCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdXRpbGl0aWVzIChta2ZzLCBmc2NrLCBidHJmc2N0bCkgdXNlZCB0byB3b3JrIHdpdGggXAorYnRyZnMgYW5kIGFuIHV0aWxpdHkgKGJ0cmZzLWNvbnZlcnQpIHRvIG1ha2UgYSBidHJmcyBmaWxlc3lzdGVtIGZyb20gYW4gZXh0My4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vYnRyZnMud2lraS5rZXJuZWwub3JnIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjciCitTRUNUSU9OID0gImJhc2UiCitERVBFTkRTID0gInV0aWwtbGludXggYXR0ciBlMmZzcHJvZ3MgbHpvIGFjbCBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiB1ZGV2IgorUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgorCitTUkNSRVYgPSAiNmMzMzgzMmI4YzdiZjJkN2I2NGQ2YWVkMDIzYzBiZGE0M2EwMzMxMSIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2tkYXZlL2J0cmZzLXByb2dzLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1MREZMQUdTLXdoZW4tYnVpbGRpbmctbGliYnRyZnN1dGlsLnNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtcG9zc2liaWxpdHktdG8tc3BlY2lmeS13aGVyZS1weXRob24tbW9kdWxlcy1hci5wYXRjaCBcCisgICAgICAgICAgICIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHBrZ2NvbmZpZyBtYW5wYWdlcyBkaXN0dXRpbHMzLWJhc2UKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtZG9jdW1lbnRhdGlvbiwgLS1kaXNhYmxlLWRvY3VtZW50YXRpb24sIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUiCitFWFRSQV9PRUNPTkYgPSAiIC0tZGlzYWJsZS16c3RkIgorRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS1iYWNrdHJhY2UgIgorRVhUUkFfT0VNQUtFID0gIlY9MSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBVcHN0cmVhbSBkb2Vzbid0IHNoaXAgdGhpcyBhbmQgYXV0b3JlY29uZiB3b24ndCBpbnN0YWxsIGl0IGFzIGF1dG9tYWtlIGlzbid0IHVzZWQuCisJbWtkaXIgLXAgJHtTfS9jb25maWcKKwljcCAtZiAkKGF1dG9tYWtlIC0tcHJpbnQtbGliZGlyKS9pbnN0YWxsLXNoICR7U30vY29uZmlnLworfQorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nICdQWVRIT05fU0lURVBBQ0tBR0VTX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgaW5zdGFsbF9weXRob24KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCmluZGV4IDY1NjYzMjguLjdmODAwNjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGUuaW5jCkBAIC05LDggKzksMTkgQEAKIAogREVQRU5EUyA9ICJ6bGliIgogCi1TUkNfVVJJID0gImh0dHBzOi8vZG93bmxvYWQuc2FtYmEub3JnL3B1Yi8ke0JQTn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLnNhbWJhLm9yZy9wdWIvJHtCUE59LyR7QlB9LnRhci5neiIKIAogaW5oZXJpdCBhdXRvdG9vbHMKIAorIyBSZW1vdmUgY2NhY2hlLW5hdGl2ZSdzIGRlcGVuZGVuY2llcywgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCB3aWRlbHkgYnkKKyMgb3RoZXIgbmF0aXZlIHJlY2lwZXMuCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICIiCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0td2l0aC1idW5kbGVkLXpsaWIiCitJTkhJQklUX0FVVE9UT09MU19ERVBTX2NsYXNzLW5hdGl2ZSA9ICIxIgorUEFUQ0hUT09MID0gInBhdGNoIgorCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworZG9fY29uZmlndXJlX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBvZV9ydW5jb25mCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY2NhY2hlL2NjYWNoZV8zLjQuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIzMDkzNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSBjY2FjaGUuaW5jCi0KLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5hZG9jO21kNT0yNzIyYWJlYWYxNzUwZGJmMTc1Yjk0OTExMTIzNzRlMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjllMDQ4Zjg4ZjM4OTcxMjU4NjRmOWE1ZTFhYmZiNzJkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE4YThiMTQzNjdkNjNkM2QzN2ZiNmMzM2NiYTYwZTFiN2ZjZDdhNjNkNjA4ZGY5N2M5NzcxYWUwZDIzNGZlZTIiCi0KLVNSQ19VUkkgKz0gIiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1kZXYubWsuaW4tZml4LWZpbGUtbmFtZS10b28tbG9uZy5wYXRjaCBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9jY2FjaGVfMy42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwODA3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvY2NhY2hlXzMuNi5iYgpAQCAtMCwwICsxLDEyIEBACityZXF1aXJlIGNjYWNoZS5pbmMKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLmFkb2M7bWQ1PTcwNzYyNTExZjljNTA5Y2MyYTRlNGJhMmVmNjg3YWUzIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmQ2ZmQ2OWRiMjg0MjZiYWYyMmVjMGFjZGQ1YzRiMmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTNmMmI5MWEyMzUzYjY1YTg2M2M1OTAxMjUxZWZlNDgwNjBlY2RlYmVjNDZiNWVhZWM4ZWE4ZTA5MmI5ZTg3MSIKKworU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaCBcCisiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMi1kZXYubWsuaW4tZml4LWZpbGUtbmFtZS10b28tbG9uZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCmluZGV4IDY4YzIzNzEuLjE2YTZlOWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAyLWRldi5tay5pbi1maXgtZmlsZS1uYW1lLXRvby1sb25nLnBhdGNoCkBAIC0xLDEzICsxLDEzIEBACiBGcm9tIDdkYWIyOTk1ZWQ4ZWVjY2Q3YjBhY2Q3OTY2OGJjMjhmM2EyNDI3ZDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IFdlZCwgMTYgU2VwIDIwMTUgMTk6NDU6NDAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZGV2Lm1rLmluOiBmaXggZmlsZSBuYW1lIHRvbyBsb25nCitTdWJqZWN0OiBbUEFUQ0hdIGRldi5tay5pbjogZml4IGZpbGUgbmFtZSB0b28gbG9uZyBlcnJvcgogCi1UaGUgYWxsX2NwcGZsYWdzIGNoYW5nZSBwYXRocyB0byBmaWxlbmFtZSB3aGljaCBjYXVzZSBmaWxlIG5hbWUgdG9vIGxvbmcKK1RoZSBhbGxfY3BwZmxhZ3MgY2hhbmdlcyBwYXRoIHRvIGZpbGVuYW1lIHdoaWNoIGNhdXNlcyBmaWxlIG5hbWUgdG9vIGxvbmcKIGVycm9yIHdoZW4gdGhlIHBhdGggaXMgbG9uZ2VyIHRoYW4gTkFNRV9NQVggKHVzdWFsbHkgMjU1KS4gU3RyaXAgc3JjZGlyCiB0byBmaXggdGhlIHByb2JsZW0uCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2NjYWNoZS9jY2FjaGUvY29tbWl0LzRkODZlODg0ZDA3YmExODUzYTBjNzA1MDdjYzRkMDQxMDdmNTdjMjldCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogCkBAIC0yMiw3ICsyMiw3IEBACiBAQCAtMSw3ICsxLDcgQEAKICAjIEdOVSBtYWtlIHN5bnRheCByZWlnbnMgaW4gdGhpcyBmaWxlLgogIAotIGFsbF9jZmxhZ3MgKz0gLVdlcnJvcgorIGFsbF9jZmxhZ3MgKz0gLVdlcnJvciBAbW9yZV93YXJuaW5nc0AKIC1hbGxfY3BwZmxhZ3MgKz0gLU1EIC1NUCAtTUYgLmRlcHMvJChzdWJzdCAuLl8sLCQoc3Vic3QgLyxfLCQ8KSkuZAogK2FsbF9jcHBmbGFncyArPSAtTUQgLU1QIC1NRiAuZGVwcy8kKHN1YnN0IC4uXywsJChzdWJzdCAvLF8sJChzdWJzdCAkKHNyY2RpcikvLCwkPCkpKS5kCiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMy1GaXgtU2VnbWVudGF0aW9uLWZhdWx0LWVycm9yLXdoZW4tZ2NjLW8tZGV2LW51bGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jY2FjaGUvZmlsZXMvMDAwMy1GaXgtU2VnbWVudGF0aW9uLWZhdWx0LWVycm9yLXdoZW4tZ2NjLW8tZGV2LW51bGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjMwMTJiNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NjYWNoZS9maWxlcy8wMDAzLUZpeC1TZWdtZW50YXRpb24tZmF1bHQtZXJyb3Itd2hlbi1nY2Mtby1kZXYtbnVsbC5wYXRjaApAQCAtMCwwICsxLDc5IEBACitGcm9tIGM1MWI2Mzc1OGU5NTI0N2UzYzFlMmYwNmU1ZjViZmI0OTg0OWU2NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFR1ZSwgMjIgSmFuIDIwMTkgMTY6MzA6NTIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IFNlZ21lbnRhdGlvbiBmYXVsdCBlcnJvciB3aGVuIGdjYyAtbyAvZGV2L251bGwKKworRml4ZWQ6CiskIGV4cG9ydCBDQ0FDSEVfREVCVUc9MQorJCBjY2FjaGUgZ2NjIC1jIGhlbGxvLmMgLW8gL2Rldi9udWxsCisKK1NlZ21lbnRhdGlvbiBmYXVsdCAoY29yZSBkdW1wZWQpCisKK1RoaXMgaXMgYmVjYXVzZSBmYWlsZWQgdG8gb3BlbiAvZGV2L251bGwuZm9vIChQZXJtaXNzaW9uIGRlbmllZCksIGNoZWNrIGZpbGUKK3N0cmVhbSBiZWZvcmUgd3JpdGUgdG8gaXQgY2FuIGZpeCB0aGUgcHJvYmxlbS4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2NjYWNoZS9jY2FjaGUvY29tbWl0LzRkODZlODg0ZDA3YmExODUzYTBjNzA1MDdjYzRkMDQxMDdmNTdjMjldCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NjYWNoZS5jIHwgMTUgKysrKysrKysrKysrLS0tCisgc3JjL3V0aWwuYyAgIHwgIDggKysrKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2NhY2hlLmMgYi9zcmMvY2NhY2hlLmMKK2luZGV4IGI0Y2RiODYuLjhjMjI3ZGYgMTAwNjQ0CistLS0gYS9zcmMvY2NhY2hlLmMKKysrKyBiL3NyYy9jY2FjaGUuYworQEAgLTUyMSw5ICs1MjEsMTMgQEAgaW5pdF9oYXNoX2RlYnVnKHN0cnVjdCBoYXNoICpoYXNoLCBjb25zdCBjaGFyICpvYmpfcGF0aCwgY2hhciB0eXBlLAorIAorIAljaGFyICpwYXRoID0gZm9ybWF0KCIlcy5jY2FjaGUtaW5wdXQtJWMiLCBvYmpfcGF0aCwgdHlwZSk7CisgCUZJTEUgKmRlYnVnX2JpbmFyeV9maWxlID0gZm9wZW4ocGF0aCwgIndiIik7CistCWhhc2hfZW5hYmxlX2RlYnVnKGhhc2gsIHNlY3Rpb25fbmFtZSwgZGVidWdfYmluYXJ5X2ZpbGUsIGRlYnVnX3RleHRfZmlsZSk7CisrCWlmIChkZWJ1Z19iaW5hcnlfZmlsZSkgeworKwkJaGFzaF9lbmFibGVfZGVidWcoaGFzaCwgc2VjdGlvbl9uYW1lLCBkZWJ1Z19iaW5hcnlfZmlsZSwgZGVidWdfdGV4dF9maWxlKTsKKysJCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfYmluYXJ5X2ZpbGUpOworKwl9IGVsc2UgeworKwkJY2NfbG9nKCJGYWlsZWQgdG8gb3BlbiAlczogJXMiLCBwYXRoLCBzdHJlcnJvcihlcnJubykpOworKwl9CisgCWZyZWUocGF0aCk7CistCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfYmluYXJ5X2ZpbGUpOworIH0KKyAKKyBzdGF0aWMgZW51bSBndWVzc2VkX2NvbXBpbGVyCitAQCAtMzY3MCw4ICszNjc0LDEzIEBAIGNjYWNoZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAlpZiAoY29uZi0+ZGVidWcpIHsKKyAJCWNoYXIgKnBhdGggPSBmb3JtYXQoIiVzLmNjYWNoZS1pbnB1dC10ZXh0Iiwgb3V0cHV0X29iaik7CisgCQlkZWJ1Z190ZXh0X2ZpbGUgPSBmb3BlbihwYXRoLCAidyIpOworKwkJaWYgKGRlYnVnX3RleHRfZmlsZSkgeworKwkJCWV4aXRmbl9hZGQoZmNsb3NlX2V4aXRmbiwgZGVidWdfdGV4dF9maWxlKTsKKysJCX0KKysJCWVsc2UgeworKwkJCWNjX2xvZygiRmFpbGVkIHRvIG9wZW4gJXM6ICVzIiwgcGF0aCwgc3RyZXJyb3IoZXJybm8pKTsKKysJCX0KKyAJCWZyZWUocGF0aCk7CistCQlleGl0Zm5fYWRkKGZjbG9zZV9leGl0Zm4sIGRlYnVnX3RleHRfZmlsZSk7CisgCX0KKyAKKyAJc3RydWN0IGhhc2ggKmNvbW1vbl9oYXNoID0gaGFzaF9pbml0KCk7CitkaWZmIC0tZ2l0IGEvc3JjL3V0aWwuYyBiL3NyYy91dGlsLmMKK2luZGV4IGU0NDJjYzQuLmE0OWZiNGMgMTAwNjQ0CistLS0gYS9zcmMvdXRpbC5jCisrKysgYi9zcmMvdXRpbC5jCitAQCAtMjE5LDggKzIxOSwxMiBAQCB2b2lkCisgY2NfZHVtcF9sb2dfYnVmZmVyKGNvbnN0IGNoYXIgKnBhdGgpCisgeworIAlGSUxFICpmaWxlID0gZm9wZW4ocGF0aCwgInciKTsKKy0JKHZvaWQpIGZ3cml0ZShsb2didWZmZXIsIDEsIGxvZ3NpemUsIGZpbGUpOworLQlmY2xvc2UoZmlsZSk7CisrCWlmIChmaWxlKSB7CisrCQkodm9pZCkgZndyaXRlKGxvZ2J1ZmZlciwgMSwgbG9nc2l6ZSwgZmlsZSk7CisrCQlmY2xvc2UoZmlsZSk7CisrCX0gZWxzZSB7CisrCQljY19sb2coIkZhaWxlZCB0byBvcGVuICVzOiAlcyIsIHBhdGgsIHN0cmVycm9yKGVycm5vKSk7CisrCX0KKyB9CisgCisgLy8gU29tZXRoaW5nIHdlbnQgYmFkbHkgd3JvbmchCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjEyLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS1uYXRpdmVfMy4xMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTEzOTBmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjEyLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1yZXF1aXJlIGNtYWtlLmluYwotaW5oZXJpdCBuYXRpdmUKLQotREVQRU5EUyArPSAiYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIGV4cGF0LW5hdGl2ZSB4ei1uYXRpdmUgemxpYi1uYXRpdmUgY3VybC1uYXRpdmUiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSBcCi0gICAgICAgICAgICBmaWxlOi8vZW52aXJvbm1lbnQuZC1jbWFrZS5zaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2ggXAotICAgICAgICAgICAgIgotCi0KLUIgPSAiJHtXT1JLRElSfS9idWlsZCIKLWRvX2NvbmZpZ3VyZVtjbGVhbmRpcnNdID0gIiR7Qn0iCi0KLSMgRGlzYWJsZSBjY21ha2Ugc2luY2Ugd2UgZG9uJ3QgZGVwZW5kIG9uIG5jdXJzZXMKLUNNQUtFX0VYVFJBQ09ORiA9ICJcCi0gICAgLURDTUFLRV9MSUJSQVJZX1BBVEg9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IFwKLSAgICAtREJVSUxEX0N1cnNlc0RpYWxvZz0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSSUVTPTEgXAotICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0pTT05DUFA9MCBcCi0gICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCQVJDSElWRT0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJVVj0wIFwKLSAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9MSUJSSEFTSD0wIFwKLSAgICAtREVOQUJMRV9BQ0w9MCAtREhBVkVfQUNMX0xJQkFDTF9IPTAgXAotICAgIC1ESEFWRV9TWVNfQUNMX0g9MCBcCi0iCi0KLWRvX2NvbmZpZ3VyZSAoKSB7Ci0JJHtTfS9jb25maWd1cmUgLS12ZXJib3NlIC0tcHJlZml4PSR7cHJlZml4fSAtLSAke0NNQUtFX0VYVFJBQ09ORn0KLX0KLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0KLQkjIFRoZSBmb2xsb3dpbmcgY29kZXMgYXJlIGhlcmUgYmVjYXVzZSBlU0RLIG5lZWRzIHRvIHByb3ZpZGUgY29tcGF0aWJpbHR5Ci0JIyBmb3IgU0RLLiBUaGF0IGlzLCBlU0RLIGNvdWxkIGFsc28gYmUgdXNlZCBsaWtlIHRyYWRpdGlvbmFsIFNESy4KLQlta2RpciAtcCAke0R9JHtkYXRhZGlyfS9jbWFrZQotCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vT0VUb29sY2hhaW5Db25maWcuY21ha2UgJHtEfSR7ZGF0YWRpcn0vY21ha2UvCi0JbWtkaXIgLXAgJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQKLQlpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2Vudmlyb25tZW50LmQtY21ha2Uuc2ggJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQvY21ha2Uuc2gKLX0KLQotZG9fY29tcGlsZVtwcm9ncmVzc10gPSAicGVyY2VudCIKLQotU1lTUk9PVF9ESVJTX05BVElWRSArPSAiJHtkYXRhZGlyfS9jbWFrZSAke2Jhc2VfcHJlZml4fS9lbnZpcm9ubWVudC1zZXR1cC5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UtbmF0aXZlXzMuMTQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjE0LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVkY2YzZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLW5hdGl2ZV8zLjE0LjEuYmIKQEAgLTAsMCArMSw1MyBAQAorcmVxdWlyZSBjbWFrZS5pbmMKK2luaGVyaXQgbmF0aXZlCisKK0RFUEVORFMgKz0gImJ6aXAyLXJlcGxhY2VtZW50LW5hdGl2ZSBleHBhdC1uYXRpdmUgeHotbmF0aXZlIHpsaWItbmF0aXZlIGN1cmwtbmF0aXZlIgorCitTUkNfVVJJICs9ICJmaWxlOi8vT0VUb29sY2hhaW5Db25maWcuY21ha2UgXAorICAgICAgICAgICAgZmlsZTovL2Vudmlyb25tZW50LmQtY21ha2Uuc2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtQ01ha2VEZXRlcm1pbmVTeXN0ZW0tdXNlLW9lLWVudmlyb25tZW50LXZhcnMtdG8tbG9hZC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwNS1EaXNhYmxlLXVzZS1vZi1leHQyZnMtZXh0Ml9mcy5oLWJ5LWNtYWtlLXMtaW50ZXJuYWwtLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworCitCID0gIiR7V09SS0RJUn0vYnVpbGQiCitkb19jb25maWd1cmVbY2xlYW5kaXJzXSA9ICIke0J9IgorCisjIERpc2FibGUgY2NtYWtlIHNpbmNlIHdlIGRvbid0IGRlcGVuZCBvbiBuY3Vyc2VzCitDTUFLRV9FWFRSQUNPTkYgPSAiXAorICAgIC1EQ01BS0VfTElCUkFSWV9QQVRIPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCisgICAgLURCVUlMRF9DdXJzZXNEaWFsb2c9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUklFUz0xIFwKKyAgICAtRENNQUtFX1VTRV9TWVNURU1fTElCUkFSWV9KU09OQ1BQPTAgXAorICAgIC1EQ01BS0VfVVNFX1NZU1RFTV9MSUJSQVJZX0xJQkFSQ0hJVkU9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCVVY9MCBcCisgICAgLURDTUFLRV9VU0VfU1lTVEVNX0xJQlJBUllfTElCUkhBU0g9MCBcCisgICAgLURFTkFCTEVfQUNMPTAgLURIQVZFX0FDTF9MSUJBQ0xfSD0wIFwKKyAgICAtREhBVkVfU1lTX0FDTF9IPTAgXAorIgorCitkb19jb25maWd1cmUgKCkgeworCSR7U30vY29uZmlndXJlIC0tdmVyYm9zZSAtLXByZWZpeD0ke3ByZWZpeH0gXAorCQkke0BvZS51dGlscy5wYXJhbGxlbF9tYWtlX2FyZ3VtZW50KGQsICctLXBhcmFsbGVsPSVkJyl9IFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0NDQUNIRScsICdjY2FjaGUgJywgJy0tZW5hYmxlLWNjYWNoZScsICcnLCBkKX0gXAorCQktLSAke0NNQUtFX0VYVFJBQ09ORn0KK30KKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisKKwkjIFRoZSBmb2xsb3dpbmcgY29kZXMgYXJlIGhlcmUgYmVjYXVzZSBlU0RLIG5lZWRzIHRvIHByb3ZpZGUgY29tcGF0aWJpbHR5CisJIyBmb3IgU0RLLiBUaGF0IGlzLCBlU0RLIGNvdWxkIGFsc28gYmUgdXNlZCBsaWtlIHRyYWRpdGlvbmFsIFNESy4KKwlta2RpciAtcCAke0R9JHtkYXRhZGlyfS9jbWFrZQorCWluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vT0VUb29sY2hhaW5Db25maWcuY21ha2UgJHtEfSR7ZGF0YWRpcn0vY21ha2UvCisJbWtkaXIgLXAgJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQKKwlpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L2Vudmlyb25tZW50LmQtY21ha2Uuc2ggJHtEfSR7YmFzZV9wcmVmaXh9L2Vudmlyb25tZW50LXNldHVwLmQvY21ha2Uuc2gKK30KKworZG9fY29tcGlsZVtwcm9ncmVzc10gPSAicGVyY2VudCIKKworU1lTUk9PVF9ESVJTX05BVElWRSArPSAiJHtkYXRhZGlyfS9jbWFrZSAke2Jhc2VfcHJlZml4fS9lbnZpcm9ubWVudC1zZXR1cC5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UuaW5jCmluZGV4IDA5ZTI4YjcuLjViMGJjZTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS5pbmMKQEAgLTYsNyArNiw3IEBACiBCVUdUUkFDS0VSID0gImh0dHA6Ly9wdWJsaWMua2l0d2FyZS5jb20vQnVnL215X3ZpZXdfcGFnZS5waHAiCiBTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCiBMSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodC50eHQ7bWQ1PWY2MWY1Zjg1OWJjNWRkYmEyYjA1MGViMTAzMzVlMDEzIFwKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodC50eHQ7bWQ1PTYyMjc0NzE0N2I0NmYyMmUxOTUzODc2YTdjYmEzMzIzIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL1NvdXJjZS9jbWFrZS5oO21kNT00NDk0ZGVlMTg0MjEyZmM4OWM0NjljM2FjZDU1NWExNDtiZWdpbmxpbmU9MTtlbmRsaW5lPTMgXAogICAgICAgICAgICAgICAgICAgICAiCiAKQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTdjNTUwY2ZhMWMyZTIxNmIzNTkwM2RjNzBkODBhZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwZjk3NDg1Nzk5ZTUxYTcwNzBjYzExNDk0ZjNlMDIzNDliMGZjM2EyNGNjMTJiMDgyZTczN2JmNjdhMDU4MWE0IgorU1JDX1VSSVttZDVzdW1dID0gIjdlZmU1Mzk0ZTg1YzMyOTJhZDAyMGI4YjcwZTU1NjY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjczMjFiZTY0MDQwNjMzOGZjMTI1OTA2MDljNDJiMGZhZTdlYTEyOTgwODU1YzFiZTM2M2QyNWRjZDc2YmIyNWYiCiAKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gImNtYWtlLSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMS1DTWFrZURldGVybWluZVN5c3RlbS11c2Utb2UtZW52aXJvbm1lbnQtdmFycy10by1sb2FkLnBhdGNoCmluZGV4IGY2OTA3MjAuLmNkZWVhNjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDEtQ01ha2VEZXRlcm1pbmVTeXN0ZW0tdXNlLW9lLWVudmlyb25tZW50LXZhcnMtdG8tbG9hZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAxLUNNYWtlRGV0ZXJtaW5lU3lzdGVtLXVzZS1vZS1lbnZpcm9ubWVudC12YXJzLXRvLWxvYWQucGF0Y2gKQEAgLTI4LDcgKzI4LDcgQEAKIGluZGV4IDYwMGQ1NTgwZS4uMzJkN2YxOTQ1IDEwMDY0NAogLS0tIGEvTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZQogKysrIGIvTW9kdWxlcy9DTWFrZURldGVybWluZVN5c3RlbS5jbWFrZQotQEAgLTgyLDYgKzgyLDEzIEBAIGVsc2UoKQorQEAgLTgxLDYgKzgxLDEzIEBAIGVsc2UoKQogICAgZW5kaWYoKQogIGVuZGlmKCkKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDItY21ha2UtUHJldmVudC10aGUtZGV0ZWN0aW9uLW9mLVF0NS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDItY21ha2UtUHJldmVudC10aGUtZGV0ZWN0aW9uLW9mLVF0NS5wYXRjaAppbmRleCA2Zjc4OGFkLi44ZDJkYzEwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDAyLWNtYWtlLVByZXZlbnQtdGhlLWRldGVjdGlvbi1vZi1RdDUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMi1jbWFrZS1QcmV2ZW50LXRoZS1kZXRlY3Rpb24tb2YtUXQ1LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3YTFmNGU3MjRmOWM2ODQ5OGY0MDEyNDRjMjkzOGU3ODRhMmU2ZmJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiNGI2ZTliMWJlMzMyMTNlZGUzZjYxMmU4Nzg0MGMwMDQ1ODI0ZDllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KIERhdGU6IFdlZCwgMTcgSmFuIDIwMTggMTA6MDI6MTQgLTAyMDAKIFN1YmplY3Q6IFtQQVRDSCAyLzVdIGNtYWtlOiBQcmV2ZW50IHRoZSBkZXRlY3Rpb24gb2YgUXQ1CkBAIC0xNiwxNCArMTYsMTQgQEAKICBTb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICB8IDQgKystLQotIFRlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuVGVzdC5jbWFrZSAgICAgICAgICAgICAgICAgIHwgMiArLQorIFRlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuR3VpVGVzdC5jbWFrZSAgICAgICAgICAgICAgIHwgMyArLS0KICBUZXN0cy9RdEF1dG9nZW4vTWFjT3NGVy9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KICBUZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZSB8IDIgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKyA3IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL1NvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9RdERpYWxvZy9DTWFrZUxpc3RzLnR4dAotaW5kZXggMzMwYjc0NzI5Li5lNzcwOWRlZTYgMTAwNjQ0CitpbmRleCA5Y2UwMzIzODQ0Li4wNmM4NmQ2M2ViIDEwMDY0NAogLS0tIGEvU291cmNlL1F0RGlhbG9nL0NNYWtlTGlzdHMudHh0CiArKysgYi9Tb3VyY2UvUXREaWFsb2cvQ01ha2VMaXN0cy50eHQKIEBAIC02LDcgKzYsNyBAQCBpZihQT0xJQ1kgQ01QMDAyMCkKQEAgLTM2LDEwICszNiwxMCBAQAogICAgaW5jbHVkZV9kaXJlY3Rvcmllcygke1F0NVdpZGdldHNfSU5DTFVERV9ESVJTfSkKICAgIGFkZF9kZWZpbml0aW9ucygke1F0NVdpZGdldHNfREVGSU5JVE9OU30pCiBkaWZmIC0tZ2l0IGEvVGVzdHMvQ01ha2VMaXN0cy50eHQgYi9UZXN0cy9DTWFrZUxpc3RzLnR4dAotaW5kZXggYjhiNzI0ZWQ4Li42M2Y2YmI2ZDIgMTAwNjQ0CitpbmRleCBlZDk4ZDk3NGIwLi43YWRmYmMzMDFiIDEwMDY0NAogLS0tIGEvVGVzdHMvQ01ha2VMaXN0cy50eHQKICsrKyBiL1Rlc3RzL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTMyMiw3ICsxMzIyLDcgQEAgJHtDTWFrZV9CSU5BUllfRElSfS9iaW4vY21ha2UgLURESVI9ZGV2IC1QICR7Q01ha2VfU09VUkNFX0RJUn0vVXRpbGl0aWVzL1JlbGVhc2UKK0BAIC0xMzQyLDcgKzEzNDIsNyBAQCAke0NNYWtlX0JJTkFSWV9ESVJ9L2Jpbi9jbWFrZSAtRERJUj1kZXYgLVAgJHtDTWFrZV9TT1VSQ0VfRElSfS9VdGlsaXRpZXMvUmVsZWFzZQogICAgICBzZXQoQ01ha2VfVEVTVF9RdDUgMSkKICAgIGVuZGlmKCkKICAgIGlmKENNYWtlX1RFU1RfUXQ1KQpAQCAtNDksNyArNDksNyBAQAogICAgaWYoQ01ha2VfVEVTVF9RdDUgQU5EIFF0NVdpZGdldHNfRk9VTkQpCiAgICAgIGFkZF9zdWJkaXJlY3RvcnkoUXQ1QXV0b2dlbikKIGRpZmYgLS1naXQgYS9UZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dCBiL1Rlc3RzL1F0NEFuZDVBdXRvbW9jL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBhZDc0OTYxZDkuLmE5ZGQ3NGIxNSAxMDA2NDQKK2luZGV4IGFkNzQ5NjFkOWYuLmE5ZGQ3NGIxNTEgMTAwNjQ0CiAtLS0gYS9UZXN0cy9RdDRBbmQ1QXV0b21vYy9DTWFrZUxpc3RzLnR4dAogKysrIGIvVGVzdHMvUXQ0QW5kNUF1dG9tb2MvQ01ha2VMaXN0cy50eHQKIEBAIC0zLDExICszLDExIEBAIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAyLjguMTIpCkBAIC02NiwyNiArNjYsMjcgQEAKICBlbmRpZigpCiAgCiAgc2V0KENNQUtFX0FVVE9NT0MgT04pCi1kaWZmIC0tZ2l0IGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlCi1pbmRleCA4YzBhMTRmY2EuLmU5OTIzYjIxYSAxMDA2NDQKLS0tLSBhL1Rlc3RzL1F0QXV0b2dlbi9BdXRvZ2VuVGVzdC5jbWFrZQotKysrIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5UZXN0LmNtYWtlCi1AQCAtMjIsNyArMjIsNyBAQCBpZiAoUVRfVEVTVF9WRVJTSU9OIFNUUkVRVUFMIDQpCitkaWZmIC0tZ2l0IGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlIGIvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlCitpbmRleCBiNzZkMzQxYTQ1Li5hNmUwYWNiYWZhIDEwMDY0NAorLS0tIGEvVGVzdHMvUXRBdXRvZ2VuL0F1dG9nZW5HdWlUZXN0LmNtYWtlCisrKysgYi9UZXN0cy9RdEF1dG9nZW4vQXV0b2dlbkd1aVRlc3QuY21ha2UKK0BAIC0yMiw4ICsyMiw3IEBAIGlmIChRVF9URVNUX1ZFUlNJT04gRVFVQUwgNCkKICAgIGVuZG1hY3JvKCkKICAKLSBlbHNlaWYoUVRfVEVTVF9WRVJTSU9OIFNUUkVRVUFMIDUpCisgZWxzZWlmKFFUX1RFU1RfVkVSU0lPTiBFUVVBTCA1KQorLQogLSAgZmluZF9wYWNrYWdlKFF0NVdpZGdldHMgUkVRVUlSRUQpCiArICAjZmluZF9wYWNrYWdlKFF0NVdpZGdldHMgUkVRVUlSRUQpCiAgCiAgICBzZXQoUVRfUVRDT1JFX1RBUkdFVCBRdDU6OkNvcmUpCi0gICBzZXQoUVRfUVRHVUlfVEFSR0VUIFF0NTo6V2lkZ2V0cykKKyAgIHNldChRVF9MSUJSQVJJRVMgUXQ1OjpXaWRnZXRzKQogZGlmZiAtLWdpdCBhL1Rlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0IGIvVGVzdHMvUXRBdXRvZ2VuL01hY09zRlcvQ01ha2VMaXN0cy50eHQKLWluZGV4IDI2ZDIwMTkyNi4uZTQ4ZTFjOGRlIDEwMDY0NAoraW5kZXggYzA4ZWZjNDdhMi4uODdlMjVkOTM5MSAxMDA2NDQKIC0tLSBhL1Rlc3RzL1F0QXV0b2dlbi9NYWNPc0ZXL0NNYWtlTGlzdHMudHh0CiArKysgYi9UZXN0cy9RdEF1dG9nZW4vTWFjT3NGVy9DTWFrZUxpc3RzLnR4dAogQEAgLTIsNyArMiw3IEBAIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjEwKQogIHByb2plY3QoTWFjT3NGVykKLSBpbmNsdWRlKCIuLi9BdXRvZ2VuVGVzdC5jbWFrZSIpCisgaW5jbHVkZSgiLi4vQXV0b2dlbkd1aVRlc3QuY21ha2UiKQogIAogLWZpbmRfcGFja2FnZShRdDVUZXN0IFJFUVVJUkVEKQogKyNmaW5kX3BhY2thZ2UoUXQ1VGVzdCBSRVFVSVJFRCkKQEAgLTkzLDEwICs5NCwxMCBAQAogIHNldChDTUFLRV9DWFhfU1RBTkRBUkQgMTEpCiAgc2V0KENNQUtFX1JVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAke0NNQUtFX0JJTkFSWV9ESVJ9L291dHB1dC9iaW4pCiBkaWZmIC0tZ2l0IGEvVGVzdHMvUnVuQ01ha2UvQ01ha2VMaXN0cy50eHQgYi9UZXN0cy9SdW5DTWFrZS9DTWFrZUxpc3RzLnR4dAotaW5kZXggNjM3YzVjMmNiLi5jMDM3NmVmZmMgMTAwNjQ0CitpbmRleCAxZjNlNWMzMDA2Li44ZWQ4ZDZhYzU0IDEwMDY0NAogLS0tIGEvVGVzdHMvUnVuQ01ha2UvQ01ha2VMaXN0cy50eHQKICsrKyBiL1Rlc3RzL1J1bkNNYWtlL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjkxLDcgKzI5MSw3IEBAIGFkZF9SdW5DTWFrZV90ZXN0KGNvbmZpZ3VyZV9maWxlKQorQEAgLTMyNiw3ICszMjYsNyBAQCBhZGRfUnVuQ01ha2VfdGVzdChjb25maWd1cmVfZmlsZSkKICBhZGRfUnVuQ01ha2VfdGVzdChDVGVzdFRpbWVvdXRBZnRlck1hdGNoKQogIAogIGZpbmRfcGFja2FnZShRdDQgUVVJRVQpCkBAIC0xMDYsNyArMTA3LDcgQEAKICAgIGFkZF9SdW5DTWFrZV90ZXN0KEluY29tcGF0aWJsZVF0KQogIGVuZGlmKCkKIGRpZmYgLS1naXQgYS9UZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZSBiL1Rlc3RzL1J1bkNNYWtlL0luY29tcGF0aWJsZVF0L0luY29tcGF0aWJsZVF0LmNtYWtlCi1pbmRleCA0ZmNjZGM0MTguLmI3NmUxZTUzMSAxMDA2NDQKK2luZGV4IDRmY2NkYzQxOGYuLmI3NmUxZTUzMTMgMTAwNjQ0CiAtLS0gYS9UZXN0cy9SdW5DTWFrZS9JbmNvbXBhdGlibGVRdC9JbmNvbXBhdGlibGVRdC5jbWFrZQogKysrIGIvVGVzdHMvUnVuQ01ha2UvSW5jb21wYXRpYmxlUXQvSW5jb21wYXRpYmxlUXQuY21ha2UKIEBAIC0xLDYgKzEsNiBAQApAQCAtMTE4LDUgKzExOSw1IEBACiAgYWRkX2V4ZWN1dGFibGUobWFpbmV4ZSBtYWluLmNwcCkKICB0YXJnZXRfbGlua19saWJyYXJpZXMobWFpbmV4ZSBRdDQ6OlF0Q29yZSBRdDU6OkNvcmUpCiAtLSAKLTIuMTguMAorMi4xMS4wCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDMtY21ha2Utc3VwcG9ydC1PcGVuRW1iZWRkZWQtUXQ0LXRvb2wtYmluYXJ5LW5hbWVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKaW5kZXggNTVjZjQ3MS4uNGYyZTg0MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwMy1jbWFrZS1zdXBwb3J0LU9wZW5FbWJlZGRlZC1RdDQtdG9vbC1iaW5hcnktbmFtZXMucGF0Y2gKQEAgLTI4LDcgKzI4LDcgQEAKIGluZGV4IDg0N2E3OThhZi4uN2FkOTgxODc5IDEwMDY0NAogLS0tIGEvTW9kdWxlcy9GaW5kUXQ0LmNtYWtlCiArKysgYi9Nb2R1bGVzL0ZpbmRRdDQuY21ha2UKLUBAIC01MTcsNyArNTE3LDcgQEAgZW5kZnVuY3Rpb24oKQorQEAgLTUxOCw3ICs1MTgsNyBAQCBlbmRmdW5jdGlvbigpCiAgCiAgc2V0KFFUNF9JTlNUQUxMRURfVkVSU0lPTl9UT09fT0xEIEZBTFNFKQogIApAQCAtMzcsNyArMzcsNyBAQAogIF9xdDRfZmluZF9xbWFrZSgiJHtfUVQ0X1FNQUtFX05BTUVTfSIgUVRfUU1BS0VfRVhFQ1VUQUJMRSBRVFZFUlNJT04pCiAgCiAgaWYgKFFUX1FNQUtFX0VYRUNVVEFCTEUgQU5ECi1AQCAtMTEzNSwxMiArMTEzNSwxMiBAQCBpZiAoUVRfUU1BS0VfRVhFQ1VUQUJMRSBBTkQKK0BAIC0xMTM2LDEyICsxMTM2LDEyIEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAogICAgX2ZpbmRfcXQ0X3Byb2dyYW0oUVRfTU9DX0VYRUNVVEFCTEUgUXQ0Ojptb2MgbW9jLXF0NCBtb2M0IG1vYykKICAgIF9maW5kX3F0NF9wcm9ncmFtKFFUX1VJQ19FWEVDVVRBQkxFIFF0NDo6dWljIHVpYy1xdDQgdWljNCB1aWMpCiAgICBfZmluZF9xdDRfcHJvZ3JhbShRVF9VSUMzX0VYRUNVVEFCTEUgUXQ0Ojp1aWMzIHVpYzMpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA0LUZhaWwtc2lsZW50bHktaWYtc3lzdGVtLVF0LWluc3RhbGxhdGlvbi1pcy1icm9rZW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA0LUZhaWwtc2lsZW50bHktaWYtc3lzdGVtLVF0LWluc3RhbGxhdGlvbi1pcy1icm9rZW4ucGF0Y2gKaW5kZXggYTU5YzY4MC4uNmM2N2RjZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNC1GYWlsLXNpbGVudGx5LWlmLXN5c3RlbS1RdC1pbnN0YWxsYXRpb24taXMtYnJva2VuLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDQtRmFpbC1zaWxlbnRseS1pZi1zeXN0ZW0tUXQtaW5zdGFsbGF0aW9uLWlzLWJyb2tlbi5wYXRjaApAQCAtMzEsNyArMzEsNyBAQAogaW5kZXggN2FkOTgxODc5Li44YjZmNDNjZGEgMTAwNjQ0CiAtLS0gYS9Nb2R1bGVzL0ZpbmRRdDQuY21ha2UKICsrKyBiL01vZHVsZXMvRmluZFF0NC5jbWFrZQotQEAgLTk4NywyNSArOTg3LDI2IEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAorQEAgLTk4OCwyNSArOTg4LDI2IEBAIGlmIChRVF9RTUFLRV9FWEVDVVRBQkxFIEFORAogICAgICBlbmRpZigpCiAgICBlbmRtYWNybygpCiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS8wMDA1LURpc2FibGUtdXNlLW9mLWV4dDJmcy1leHQyX2ZzLmgtYnktY21ha2Utcy1pbnRlcm5hbC0ucGF0Y2gKaW5kZXggMjNjZThlOS4uYWQ0MmQ0MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2UvMDAwNS1EaXNhYmxlLXVzZS1vZi1leHQyZnMtZXh0Ml9mcy5oLWJ5LWNtYWtlLXMtaW50ZXJuYWwtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlLzAwMDUtRGlzYWJsZS11c2Utb2YtZXh0MmZzLWV4dDJfZnMuaC1ieS1jbWFrZS1zLWludGVybmFsLS5wYXRjaApAQCAtMjAsNyArMjAsNyBAQAogaW5kZXggMjA2ZjNjNmE1Li42NDJmYjBkZDkgMTAwNjQ0CiAtLS0gYS9VdGlsaXRpZXMvY21saWJhcmNoaXZlL0NNYWtlTGlzdHMudHh0CiArKysgYi9VdGlsaXRpZXMvY21saWJhcmNoaXZlL0NNYWtlTGlzdHMudHh0Ci1AQCAtNDAwLDEyICs0MDAsOCBAQCBMQV9DSEVDS19JTkNMVURFX0ZJTEUoImNvcHlmaWxlLmgiIEhBVkVfQ09QWUZJTEVfSCkKK0BAIC00MzAsMTIgKzQzMCw4IEBAIExBX0NIRUNLX0lOQ0xVREVfRklMRSgiY29weWZpbGUuaCIgSEFWRV9DT1BZRklMRV9IKQogIExBX0NIRUNLX0lOQ0xVREVfRklMRSgiZGlyZWN0LmgiIEhBVkVfRElSRUNUX0gpCiAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJkbGZjbi5oIiBIQVZFX0RMRkNOX0gpCiAgTEFfQ0hFQ0tfSU5DTFVERV9GSUxFKCJlcnJuby5oIiBIQVZFX0VSUk5PX0gpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZS9PRVRvb2xjaGFpbkNvbmZpZy5jbWFrZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCmluZGV4IDhhMGZiNGMuLjM5ODA2OWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlL09FVG9vbGNoYWluQ29uZmlnLmNtYWtlCkBAIC01LDcgKzUsNyBAQAogc2V0KCBDTUFLRV9MREZMQUdTX0ZMQUdTICR7Q01BS0VfQ1hYX0ZMQUdTfSBDQUNIRSBTVFJJTkcgIiIgRk9SQ0UgKQogc2V0KCBDTUFLRV9TWVNST09UICRFTlZ7T0VDT1JFX1RBUkdFVF9TWVNST09UfSApCiAKLXNldCggQ01BS0VfRklORF9ST09UX1BBVEggJEVOVntPRUNPUkVfVEFSR0VUX1NZU1JPT1R9ICRFTlZ7T0VDT1JFX05BVElWRV9TWVNST09UfSApCitzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIICRFTlZ7T0VDT1JFX1RBUkdFVF9TWVNST09UfSApCiBzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfUFJPR1JBTSBORVZFUiApCiBzZXQoIENNQUtFX0ZJTkRfUk9PVF9QQVRIX01PREVfTElCUkFSWSBPTkxZICkKIHNldCggQ01BS0VfRklORF9ST09UX1BBVEhfTU9ERV9JTkNMVURFIE9OTFkgKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2VfMy4xMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY21ha2UvY21ha2VfMy4xNC4xLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jbWFrZS9jbWFrZV8zLjEyLjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NtYWtlL2NtYWtlXzMuMTQuMS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Db3JyZWN0bHktaW5zdGFsbC10aGUtc2hhcmVkLWxpYnJhcnkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkNzIwODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZmVmODM1ZTFmZGVkYzcyYzk3ZDljM2U1NzA0MzAyZTU2ZTFiZGVmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogTW9uLCAyIEphbiAyMDE3IDE3OjIzOjU5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIENvcnJlY3RseSBpbnN0YWxsIHRoZSBzaGFyZWQgbGlicmFyeQotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2NyZWF0ZXJlcG9fYy9wdWxsLzc4XQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvQ01ha2VMaXN0cy50eHQgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAotaW5kZXggZjM2MzVlOC4uNDZkYzAzNyAxMDA2NDQKLS0tLSBhL3NyYy9DTWFrZUxpc3RzLnR4dAotKysrIGIvc3JjL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTEwLDcgKzExMCw4IEBAIENPTkZJR1VSRV9GSUxFKCJkZWx0YXJwbXMuaC5pbiIgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9kZWx0YXJwbXMuaCIgQE9OTFkpCi0gSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0gICAgIFNFVCAoTElCX1NVRkZJWCAiNjQiKQotIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQotLVNFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKLSsjU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0iKQotK1NFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfTElCRElSfSIpCi0gCi0gSU5TVEFMTChGSUxFUyAke2hlYWRlcnN9IERFU1RJTkFUSU9OICJpbmNsdWRlL2NyZWF0ZXJlcG9fYyIpCi0gSU5TVEFMTChGSUxFUyAiY3JlYXRlcmVwb19jLnBjIiBERVNUSU5BVElPTiAiJHtMSUJfSU5TVEFMTF9ESVJ9L3BrZ2NvbmZpZyIpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKaW5kZXggOTUzMTA3MC4uYzBmMDdmZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvY3JlYXRlcmVwby1jL2NyZWF0ZXJlcG8tYy8wMDAxLURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaApAQCAtMSwyNyArMSwyNSBAQAotRnJvbSBiZWY0ODdiNWMyNTE1MDYyYzVkZDczYzIxMDgyY2U0MmY2OWFhNzE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0NjQ0ZDE4MTU3Mjk2MjU3Mjg0YmVkZDg1N2Y0NjEwZjEwMzdkNTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjMxOjAyICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBzZXQgUFlUSE9OX0lOU1RBTExfRElSIGJ5IHJ1bm5pbmcgcHl0aG9uCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCiAtLS0KICBzcmMvcHl0aG9uL0NNYWtlTGlzdHMudHh0IHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dCBiL3NyYy9weXRob24vQ01ha2VMaXN0cy50eHQKLWluZGV4IDlmMWFjNjQuLmVhZTBjYmIgMTAwNjQ0CitpbmRleCAzZDg3M2Y3Li5lOTc3YjJmIDEwMDY0NAogLS0tIGEvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAogKysrIGIvc3JjL3B5dGhvbi9DTWFrZUxpc3RzLnR4dAotQEAgLTE5LDcgKzE5LDcgQEAgZWxzZSgpCi0gICAgIEZJTkRfUEFDS0FHRShQeXRob25JbnRlcnAgMy4wIFJFUVVJUkVEKQotIGVuZGlmKCkKK0BAIC0yMSw3ICsyMSw3IEBAIGlmIChOT1QgU0tCVUlMRCkKKyAgICAgZW5kaWYgKCkKKyBlbmRpZiAoTk9UIFNLQlVJTEQpCiAgCiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoVHJ1ZSkpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX0lOU1RBTExfRElSKQogKyNFWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiZnJvbSBzeXMgaW1wb3J0IHN0ZG91dDsgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZzsgc3Rkb3V0LndyaXRlKHN5c2NvbmZpZy5nZXRfcHl0aG9uX2xpYihUcnVlKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiAgSU5DTFVERV9ESVJFQ1RPUklFUyAoJHtQWVRIT05fSU5DTFVERV9QQVRIfSkKICAKICBNRVNTQUdFKFNUQVRVUyAiUHl0aG9uIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jLzAwMDEtRml4LXNldHVwLW9mLWxvZ2dpbmctbG9nLWRvbWFpbnMtUmhCdWctMTY0NTg5Ny5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1GaXgtc2V0dXAtb2YtbG9nZ2luZy1sb2ctZG9tYWlucy1SaEJ1Zy0xNjQ1ODk3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGU5YzA1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWMvMDAwMS1GaXgtc2V0dXAtb2YtbG9nZ2luZy1sb2ctZG9tYWlucy1SaEJ1Zy0xNjQ1ODk3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSA4MDgxMGYwNGYyZGU2YmFlNmUzOTRmNTJhZDljZGQyMTg5ODYyZjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFyb3NsYXYgUm9oZWwgPGpyb2hlbEByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA5IE5vdiAyMDE4IDA3OjM1OjEzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBzZXR1cCBvZiBsb2dnaW5nIChsb2cgZG9tYWlucykgKFJoQnVnOjE2NDU4OTcpCi0KLU5ldyBkZWJ1ZyBtZXNzYWdlcyB3ZXJlIGFkZGVkIGludG8gR0xpYiBsaWJyYXJ5LiBUaGVzZSBtZXNzYWdlcyBjb21lCi1mcm9tIHRoZSAiR0xpYiIgbG9nIGRvbWFpbiBhbmQgd2VyZSBub3QgaGlkZGVuIGluIHRoZSBzdGFuZGFyZCBhbmQKLXF1aWV0IG1vZGUgb2YgdGhlIGFwcGxpY2F0aW9uLgotVGhpcyBmaXggaGlkZXMgbG9nIG1lc3NhZ2VzIHJlZ2FyZGxlc3Mgb24gc291cmNlIGxvZyBkb21haW4uCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogWmhlbmcgUnVvcWluIDx6aGVuZ3JxLmZuc3RAY24uZnVqaXRzdS5jb20+Ci0tLS0KLSBzcmMvY3JlYXRlcmVwb19zaGFyZWQuYyB8IDE5ICsrKysrKy0tLS0tLS0tLS0tLS0KLSBzcmMvbWlzYy5jICAgICAgICAgICAgICB8ICA1ICsrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jcmVhdGVyZXBvX3NoYXJlZC5jIGIvc3JjL2NyZWF0ZXJlcG9fc2hhcmVkLmMKLWluZGV4IDhhMjY3ODcuLjdjYjhiYTggMTAwNjQ0Ci0tLS0gYS9zcmMvY3JlYXRlcmVwb19zaGFyZWQuYwotKysrIGIvc3JjL2NyZWF0ZXJlcG9fc2hhcmVkLmMKLUBAIC0yNzAsMjQgKzI3MCwxNyBAQCBjcl9sb2NrX3JlcG8oY29uc3QgZ2NoYXIgKnJlcG9fZGlyLAotIHZvaWQKLSBjcl9zZXR1cF9sb2dnaW5nKGdib29sZWFuIHF1aWV0LCBnYm9vbGVhbiB2ZXJib3NlKQotIHsKLS0gICAgZ19sb2dfc2V0X2RlZmF1bHRfaGFuZGxlciAoY3JfbG9nX2ZuLCBOVUxMKTsKLS0KLSAgICAgaWYgKHF1aWV0KSB7Ci0gICAgICAgICAvLyBRdWlldCBtb2RlCi0tICAgICAgICBHTG9nTGV2ZWxGbGFncyBsZXZlbHMgPSBHX0xPR19MRVZFTF9NRVNTQUdFIHwgR19MT0dfTEVWRUxfSU5GTyB8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0xPR19MRVZFTF9ERUJVRyB8IEdfTE9HX0xFVkVMX1dBUk5JTkc7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcihOVUxMLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLS0gICAgICAgIGdfbG9nX3NldF9oYW5kbGVyKCJDX0NSRUFURVJFUE9MSUIiLCBsZXZlbHMsIGNyX251bGxfbG9nX2ZuLCBOVUxMKTsKLSsgICAgICAgIEdMb2dMZXZlbEZsYWdzIGhpZGRlbl9sZXZlbHMgPSBHX0xPR19MRVZFTF9NRVNTQUdFIHwgR19MT0dfTEVWRUxfSU5GTyB8Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19MT0dfTEVWRUxfREVCVUcgfCBHX0xPR19MRVZFTF9XQVJOSU5HOwotKyAgICAgICAgZ19sb2dfc2V0X2RlZmF1bHRfaGFuZGxlciAoY3JfbG9nX2ZuLCBHSU5UX1RPX1BPSU5URVIoaGlkZGVuX2xldmVscykpOwotICAgICB9IGVsc2UgaWYgKHZlcmJvc2UpIHsKLSAgICAgICAgIC8vIFZlcmJvc2UgbW9kZQotLSAgICAgICAgR0xvZ0xldmVsRmxhZ3MgbGV2ZWxzID0gR19MT0dfTEVWRUxfTUVTU0FHRSB8IEdfTE9HX0xFVkVMX0lORk8gfAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19MT0dfTEVWRUxfREVCVUcgfCBHX0xPR19MRVZFTF9XQVJOSU5HOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoTlVMTCwgbGV2ZWxzLCBjcl9sb2dfZm4sIE5VTEwpOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoIkNfQ1JFQVRFUkVQT0xJQiIsIGxldmVscywgY3JfbG9nX2ZuLCBOVUxMKTsKLSsgICAgICAgIGdfbG9nX3NldF9kZWZhdWx0X2hhbmRsZXIgKGNyX2xvZ19mbiwgR0lOVF9UT19QT0lOVEVSKDApKTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIC8vIFN0YW5kYXJkIG1vZGUKLS0gICAgICAgIEdMb2dMZXZlbEZsYWdzIGxldmVscyA9IEdfTE9HX0xFVkVMX0RFQlVHOwotLSAgICAgICAgZ19sb2dfc2V0X2hhbmRsZXIoTlVMTCwgbGV2ZWxzLCBjcl9udWxsX2xvZ19mbiwgTlVMTCk7Ci0tICAgICAgICBnX2xvZ19zZXRfaGFuZGxlcigiQ19DUkVBVEVSRVBPTElCIiwgbGV2ZWxzLCBjcl9udWxsX2xvZ19mbiwgTlVMTCk7Ci0rICAgICAgICBHTG9nTGV2ZWxGbGFncyBoaWRkZW5fbGV2ZWxzID0gR19MT0dfTEVWRUxfREVCVUc7Ci0rICAgICAgICBnX2xvZ19zZXRfZGVmYXVsdF9oYW5kbGVyIChjcl9sb2dfZm4sIEdJTlRfVE9fUE9JTlRFUihoaWRkZW5fbGV2ZWxzKSk7Ci0gICAgIH0KLSB9Ci1kaWZmIC0tZ2l0IGEvc3JjL21pc2MuYyBiL3NyYy9taXNjLmMKLWluZGV4IDk5Mzc0ODAuLjk1NDlhNDQgMTAwNjQ0Ci0tLS0gYS9zcmMvbWlzYy5jCi0rKysgYi9zcmMvbWlzYy5jCi1AQCAtOTEyLDggKzkxMiwxMSBAQCB2b2lkCi0gY3JfbG9nX2ZuKGNvbnN0IGdjaGFyICpsb2dfZG9tYWluLAotICAgICAgICAgICBHTG9nTGV2ZWxGbGFncyBsb2dfbGV2ZWwsCi0gICAgICAgICAgIGNvbnN0IGdjaGFyICptZXNzYWdlLAotLSAgICAgICAgICBHX0dOVUNfVU5VU0VEIGdwb2ludGVyIHVzZXJfZGF0YSkKLSsgICAgICAgICAgZ3BvaW50ZXIgdXNlcl9kYXRhKQotIHsKLSsgICAgZ2ludCBoaWRkZW5fbG9nX2xldmVscyA9IEdQT0lOVEVSX1RPX0lOVCh1c2VyX2RhdGEpOwotKyAgICBpZiAobG9nX2xldmVsICYgaGlkZGVuX2xvZ19sZXZlbHMpCi0rICAgICAgICByZXR1cm47Ci0gICAgIHN3aXRjaChsb2dfbGV2ZWwpIHsKLSAgICAgICAgIGNhc2UgR19MT0dfTEVWRUxfRVJST1I6Ci0gICAgICAgICAgICAgaWYgKGxvZ19kb21haW4pIGdfcHJpbnRlcnIoIiVzOiAiLCBsb2dfZG9tYWluKTsKLS0tIAotMS44LjMuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9jcmVhdGVyZXBvLWMvY3JlYXRlcmVwby1jX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCmluZGV4IDA4NzY2YjMuLjlhYThkMmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2NyZWF0ZXJlcG8tYy9jcmVhdGVyZXBvLWNfZ2l0LmJiCkBAIC02LDEyICs2LDEwIEBACiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9jcmVhdGVyZXBvX2MgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvcnJlY3RseS1pbnN0YWxsLXRoZS1zaGFyZWQtbGlicmFyeS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1zZXR1cC1vZi1sb2dnaW5nLWxvZy1kb21haW5zLVJoQnVnLTE2NDU4OTcucGF0Y2ggXAogICAgICAgICAgICAiCiAKLVBWID0gIjAuMTEuMStnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICI0MzRhNDBiYWJkZGU1N2FiNDA1ZTlhMTA4NWEzMGU5NTc1ZWEwYzkyIgorUFYgPSAiMC4xMi4xIgorU1JDUkVWID0gIjc3NDQ1NTRkZGVmN2M1YmUyY2Q3ZmJjYWM0OWM4YjI0Y2U2MGVmODgiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKQEAgLTIwLDcgKzE4LDcgQEAKIAogaW5oZXJpdCBjbWFrZSBwa2djb25maWcgYmFzaC1jb21wbGV0aW9uIGRpc3R1dGlsczMtYmFzZQogCi1FWFRSQV9PRUNNQUtFID0gIiAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMiCitFWFRSQV9PRUNNQUtFID0gIiAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMgLURXSVRIX1pDSFVOSz1PRkYiCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZGlzdGNjL2Rpc3RjY18zLjMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rpc3RjYy9kaXN0Y2NfMy4zLjIuYmIKaW5kZXggMGQwNjk2My4uYTkzNjA0YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZGlzdGNjL2Rpc3RjY18zLjMuMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kaXN0Y2MvZGlzdGNjXzMuMy4yLmJiCkBAIC02OSwzICs2OSwyNyBAQAogCQkke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2Rpc3RjYy5zZXJ2aWNlIgogRklMRVNfZGlzdGNjLWRpc3Rtb24tZ25vbWUgPSAiICAke2JpbmRpcn0vZGlzdGNjbW9uLWdub21lIFwKIAkJCQkke2RhdGFkaXJ9L2Rpc3RjYyIKKworCisjCisjIGRpc3RjYyB1cHN0cmVhbSBkcm9wcGVkIHRoZSAzLjIgYnJhbmNoIHdoaWNoIHdlIHJlZmVyZW5jZSBpbiBvbGRlciBwcm9qZWN0IHJlbGVhc2VzCisjIHRoZSByZXZpc2lvbnMgYXJlIHRoZXJlLCBqdXN0IHRoZSBicmFuY2ggaXMgbm90LiBJbiBvcmRlciB0byBiZSBhYmxlIHRvIGNvbnRpbnVlCisjIHRvIGJ1aWxkIHRob3NlIG9sZCByZWxlYXNlcywgYWRqdXN0IGFueSBtaXJyb3IgdGFyYmFsbCB0byBjb250YWluIHRoZSBtaXNzaW5nIGJyYW5jaAorIworZml4dXBfZGlzdGNjX21pcnJvcl90YXJiYWxsICgpIHsKKwlUQkFMTD0ke0RMX0RJUn0vZ2l0Ml9naXRodWIuY29tLmRpc3RjYy5kaXN0Y2MuZ2l0LnRhci5negorCWlmIFsgLWYgJFRCQUxMIF07IHRoZW4KKwkJVERJUj1gbWt0ZW1wIC1kYAorCQljZCAkVERJUgorCQl0YXIgLXh6ZiAkVEJBTEwKKwkJc2V0ICtlCisJCWdpdCByZXYtcGFyc2UgLS12ZXJpZnkgMy4yCisJCWlmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCQkJZ2l0IGJyYW5jaCAzLjIgZDhiMThkZjNlOWRjYmU0ZjA5MmJlZDU2NTgzNWQzOTc1ZTk5NDMyYworCQkJdGFyIC1jemYgJFRCQUxMICoKKwkJZmkKKwkJc2V0IC1lCisJCXJtIC1yZiAkVERJUi8qCisJZmkKK30KK2RvX2ZldGNoW3Bvc3RmdW5jc10gKz0gImZpeHVwX2Rpc3RjY19taXJyb3JfdGFyYmFsbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGUvMDAwMS1Db21taXR0aW5nLWNoYW5nZXMtZnJvbS1kb191bnBhY2tfZXh0cmEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlLzAwMDEtQ29tbWl0dGluZy1jaGFuZ2VzLWZyb20tZG9fdW5wYWNrX2V4dHJhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlOWQ0MjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbWlkZWNvZGUvZG1pZGVjb2RlLzAwMDEtQ29tbWl0dGluZy1jaGFuZ2VzLWZyb20tZG9fdW5wYWNrX2V4dHJhLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gMDBhM2FjZTM1ZDY2ZTdhZTYwMDQ2ZTI1NGE0ZDAwZjBmOWMxYWJlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE9wZW5FbWJlZGRlZCA8b2UucGF0Y2hAb2U+CitEYXRlOiBUaHUsIDIyIE5vdiAyMDE4IDEyOjA1OjA0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBpbnN0YWxsIHRvIC91c3IvbG9jYWwKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKK2luZGV4IDc3YzkzMTAuLmZjMzc4ZmQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZQorKysrIGIvTWFrZWZpbGUKK0BAIC0zMCw3ICszMCw3IEBAIENGTEFHUyArPSAtTzIKKyBMREZMQUdTID0KKyAKKyBERVNURElSID0KKy1wcmVmaXggID0gL3Vzci9sb2NhbAorK3ByZWZpeCAgPSAvdXNyCisgc2JpbmRpciA9ICQocHJlZml4KS9zYmluCisgbWFuZGlyICA9ICQocHJlZml4KS9zaGFyZS9tYW4KKyBtYW44ZGlyID0gJChtYW5kaXIpL21hbjgKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI0MjNmZGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1TVU1NQVJZID0gIkRNSSAoRGVza3RvcCBNYW5hZ2VtZW50IEludGVyZmFjZSkgdGFibGUgcmVsYXRlZCB1dGlsaXRpZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3Lm5vbmdudS5vcmcvZG1pZGVjb2RlLyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L2RtaWRlY29kZS8ke0JQfS50YXIueHoiCi0KLUNPTVBBVElCTEVfSE9TVCA9ICIoaS44Nnx4ODZfNjR8YWFyY2g2NHxhcm18cG93ZXJwY3xwb3dlcnBjNjQpLiotbGludXgiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi0jIFRoZSB1cHN0cmVhbSBidWlsZHN5c3RlbSB1c2VzICdkb2NkaXInIGFzIHRoZSBwYXRoIHdoZXJlIGl0IHB1dHMgQVVUSE9SUywKLSMgUkVBRE1FLCBldGMsIGJ1dCB3ZSBkb24ndCB3YW50IHRob3NlIGluIHRoZSByb290IG9mIG91ciBkb2NkaXIuCi1kb2NkaXIgLj0gIi8ke0JQTn0iCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBERVNURElSPSIke0R9IiBpbnN0YWxsCi19Ci0KLWRvX3VucGFja19leHRyYSgpIHsKLQlzZWQgLWkgLWUgJy9ecHJlZml4L3M6L3Vzci9sb2NhbDoke2V4ZWNfcHJlZml4fTonICR7U30vTWFrZWZpbGUKLX0KLWFkZHRhc2sgdW5wYWNrX2V4dHJhIGFmdGVyIGRvX3VucGFjayBiZWZvcmUgZG9fcGF0Y2gKLQotU1JDX1VSSVttZDVzdW1dID0gIjY3OWMyYzAxNWM1MTVhYTZjYTVmMjI5YWVlNDljMTAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ3NjZjZTliMjU1NDhjNTliMWU3ZTkzMDUwNWI0Y2FkOWE3YmIwYjkwNGExYTM5MWZiYjYwNGQ1Mjk3ODFhYzAiCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG1pZGVjb2RlL2RtaWRlY29kZV8zLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNmNDA2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RtaWRlY29kZS9kbWlkZWNvZGVfMy4yLmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiRE1JIChEZXNrdG9wIE1hbmFnZW1lbnQgSW50ZXJmYWNlKSB0YWJsZSByZWxhdGVkIHV0aWxpdGllcyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubm9uZ251Lm9yZy9kbWlkZWNvZGUvIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vZG1pZGVjb2RlLyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvbW1pdHRpbmctY2hhbmdlcy1mcm9tLWRvX3VucGFja19leHRyYS5wYXRjaCBcCisgICAgICAgICAgICIKKworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NHxhYXJjaDY0fGFybXxwb3dlcnBjfHBvd2VycGM2NCkuKi1saW51eCIKKworRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCisKKyMgVGhlIHVwc3RyZWFtIGJ1aWxkc3lzdGVtIHVzZXMgJ2RvY2RpcicgYXMgdGhlIHBhdGggd2hlcmUgaXQgcHV0cyBBVVRIT1JTLAorIyBSRUFETUUsIGV0YywgYnV0IHdlIGRvbid0IHdhbnQgdGhvc2UgaW4gdGhlIHJvb3Qgb2Ygb3VyIGRvY2Rpci4KK2RvY2RpciAuPSAiLyR7QlBOfSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIERFU1RESVI9IiR7RH0iIGluc3RhbGwKK30KKworU1JDX1VSSVttZDVzdW1dID0gIjljYzJlMjdlNzRhZGU3NDBhMjViMWFhZjA0MTI0NjFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3NzAwNmZhMmRhMGQwNmQ2MzgzNzI4MTEyZjJlZGVmOTY4NGU5YzhkYTU2NzUyZTk3Y2Q0NWExMWY4MzhlZGQiCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mLzAwMDEtRG8tbm90LWhhcmRjb2RlLWV0Yy1hbmQtc3lzdGVtZC11bml0LWRpcmVjdG9yaWVzLnBhdGNoCmluZGV4IDE1YTdiZmMuLmNiMDlmMTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAwMS1Eby1ub3QtaGFyZGNvZGUtZXRjLWFuZC1zeXN0ZW1kLXVuaXQtZGlyZWN0b3JpZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYThlZjgxYzExNWE0NWYwNWRhZDE0NWM5OGUxMGYzYzQ5NDBlNGUyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmZiNzk0MmNjNzNjM2QyYzZhYTdjNjg5Y2RhZjliYzBiY2JjMTQ0YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVGh1LCAyNiBKYW4gMjAxNyAxNjoyNTo0NyArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNV0gRG8gbm90IGhhcmRjb2RlIC9ldGMgYW5kIHN5c3RlbWQgdW5pdCBkaXJlY3RvcmllcworU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgL2V0YyBhbmQgc3lzdGVtZCB1bml0IGRpcmVjdG9yaWVzCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgpAQCAtMTEsMjAgKzExLDE3IEBACiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IDY1MGI2MjRhLi4xMDE5OTYxOCAxMDA2NDQKK2luZGV4IDczNTUyOTY3Li4zOGNmNGZiZiAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTcsOCArNyw4IEBAIGlmIChOT1QgUFlUSE9OX0RFU0lSRUQpCi0gICAgIHNldCAoUFlUSE9OX0RFU0lSRUQgIjIiKQotIGVuZGlmKCkKK0BAIC0zLDggKzMsOCBAQCBDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNCkKKyAKKyBJTkNMVURFICgke0NNQUtFX1NPVVJDRV9ESVJ9L1ZFUlNJT04uY21ha2UpCiAgCiAtU0VUKCBTWVNDT05GRElSIC9ldGMpCiAtU0VUKCBTWVNURU1EX0RJUiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbSkKICtTRVQoIFNZU0NPTkZESVIgJHtDTUFLRV9JTlNUQUxMX1NZU0NPTkZESVJ9KQogK1NFVCggU1lTVEVNRF9ESVIgJEVOVntzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfSkKICAKLSBpZiAoJHtQWVRIT05fREVTSVJFRH0gU1RSRVFVQUwgIjIiKQotIAlGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKLS0tIAotMi4xNC4yCi0KKyBJRiAoTk9UIFBZVEhPTl9ERVNJUkVEKQorICAgICBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCBSRVFVSVJFRCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmYvMDAyOS1Eby1ub3Qtc2V0LVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXB5dGhvbi5wYXRjaAppbmRleCA2ZTAxMTkxLi4wZWQ5YWZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZi8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3MjA1MDMzZTQ0ZDhmYmExZDNiMThiNDkwZTdlYWFiODJkYTFmZmEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2YmUxMzE0M2E1NGM3OTA4NWQ0MDBkNWJkNGM3YTZlMWNiNmZmYWY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI5OjA3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS81XSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgorU3ViamVjdDogW1BBVENIXSBEbyBub3Qgc2V0IFBZVEhPTl9JTlNUQUxMX0RJUiBieSBydW5uaW5nIHB5dGhvbgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTExLDE4ICsxMSwxNSBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggMjNlNWY4ODkuLjY1MGI2MjRhIDEwMDY0NAoraW5kZXggMzhjZjRmYmYuLjZjNWRlYmQ4IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMTgsNyArMTgsNyBAQCBlbHNlKCkKLSAJRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCi0gZW5kaWYoKQorQEAgLTE5LDcgKzE5LDcgQEAgRUxTRSAoKQorICAgICBNRVNTQUdFIChGQVRBTF9FUlJPUiAiSW52YWxpZCBQWVRIT05fREVTSVJFRCB2YWx1ZTogIiAke1BZVEhPTl9ERVNJUkVEfSkKKyBFTkRJRigpCiAgCiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgImZyb20gc3lzIGltcG9ydCBzdGRvdXQ7IGZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWc7IHN0ZG91dC53cml0ZShzeXNjb25maWcuZ2V0X3B5dGhvbl9saWIoKSkiIE9VVFBVVF9WQVJJQUJMRSBQWVRIT05fSU5TVEFMTF9ESVIpCiArI0VYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJmcm9tIHN5cyBpbXBvcnQgc3Rkb3V0OyBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnOyBzdGRvdXQud3JpdGUoc3lzY29uZmlnLmdldF9weXRob25fbGliKCkpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX0lOU1RBTExfRElSKQotIEVYRUNVVEVfUFJPQ0VTUyhDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9IC1jICJpbXBvcnQgc3lzOyBzeXMuc3Rkb3V0LndyaXRlKCclcy4lcycgJSAoc3lzLnZlcnNpb25faW5mby5tYWpvciwgc3lzLnZlcnNpb25faW5mby5taW5vcikpIiBPVVRQVVRfVkFSSUFCTEUgUFlUSE9OX01BSk9SX0RPVF9NSU5PUl9WRVJTSU9OKQogIE1FU1NBR0UoU1RBVFVTICJQeXRob24gaW5zdGFsbCBkaXIgaXMgJHtQWVRIT05fSU5TVEFMTF9ESVJ9IikKICAKLS0tIAotMi4xNC4yCi0KKyBBRERfU1VCRElSRUNUT1JZIChkbmYpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG5mL2RuZl8yLjcuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY2MGQ3My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzIuNy41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzUgKzAsMCBAQAotU1VNTUFSWSA9ICJQYWNrYWdlIG1hbmFnZXIgZm9ya2VkIGZyb20gWXVtLCB1c2luZyBsaWJzb2x2IGFzIGEgZGVwZW5kZW5jeSByZXNvbHZlciIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQUNLQUdFLUxJQ0VOU0lORzttZDU9YmZjMjk5MTZlMTEzMjFiZTA2OTI0YzRmYjA5NmZkY2MgXAotICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2RuZi5naXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Db3JyZXRseS1pbnN0YWxsLXRtcGZpbGVzLmQtY29uZmlndXJhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1oYXJkY29kZS1ldGMtYW5kLXN5c3RlbWQtdW5pdC1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LURvLW5vdC1wcmVwZW5kLWluc3RhbGxyb290LXRvLWxvZ2Rpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LURvLW5vdC1zZXQtUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcHl0aG9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtUnVuLXB5dGhvbi1zY3JpcHRzLXVzaW5nLWVudi5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDUkVWID0gIjU2NGM0NDY2N2M3MDE0ODQzZmE2ZjE3MzI2MjEwOTMxMTRlYzU5YjIiCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgY21ha2UgZ2V0dGV4dCBiYXNoLWNvbXBsZXRpb24gZGlzdHV0aWxzMy1iYXNlIHN5c3RlbWQKLQotREVQRU5EUyArPSAibGliZG5mIGxpYnJlcG8gbGliY29tcHMgcHl0aG9uMy1pbmlwYXJzZSIKLQotIyBtYW5wYWdlcyBnZW5lcmF0aW9uIHJlcXVpcmVzIGh0dHA6Ly93d3cuc3BoaW54LWRvYy5vcmcvCi1FWFRSQV9PRUNNQUtFID0gIiAtRFdJVEhfTUFOPTAgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiIFwKLSAgcHl0aG9uMy1jb3JlIFwKLSAgcHl0aG9uMy1jb2RlY3MgXAotICBweXRob24zLW5ldGNsaWVudCBcCi0gIHB5dGhvbjMtZW1haWwgXAotICBweXRob24zLXRocmVhZGluZyBcCi0gIHB5dGhvbjMtZGlzdHV0aWxzIFwKLSAgcHl0aG9uMy1sb2dnaW5nIFwKLSAgcHl0aG9uMy1mY250bCBcCi0gIGxpYnJlcG8gXAotICBweXRob24zLXNoZWxsIFwKLSAgbGliY29tcHMgXAotICBsaWJkbmYgXAotICBweXRob24zLXNxbGl0ZTMgXAotICBweXRob24zLWNvbXByZXNzaW9uIFwKLSAgcHl0aG9uMy1ycG0gXAotICBweXRob24zLWluaXBhcnNlIFwKLSAgcHl0aG9uMy1qc29uIFwKLSAgcHl0aG9uMy1jdXJzZXMgXAotICBweXRob24zLW1pc2MgXAotICBweXRob24zLWdwZyBcCi0gICIKLQotUlJFQ09NTUVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJnbnVwZyIKLQotIyBDcmVhdGUgYSBzeW1saW5rIGNhbGxlZCAnZG5mJyBhcyAnbWFrZSBpbnN0YWxsJyBkb2VzIG5vdCBkbyBpdCwgYnV0Ci0jIC5zcGVjIGZpbGUgaW4gZG5mIHNvdXJjZSB0cmVlIGRvZXMgKGFuZCB0aGVuIEZlZG9yYSBhbmQgZG5mIGRvY3VtZW50YXRpb24KLSMgc2F5cyB0aGF0IGRuZiBiaW5hcnkgaXMgcGxhaW4gJ2RuZicpLgotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgICAgIGxuciAke0R9LyR7YmluZGlyfS9kbmYtMyAke0R9LyR7YmluZGlyfS9kbmYKLSAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMtMyAke0R9LyR7YmluZGlyfS9kbmYtYXV0b21hdGljCi19Ci0KLSMgRGlyZWN0IGRuZi1uYXRpdmUgdG8gcmVhZCBycG0gY29uZmlndXJhdGlvbiBmcm9tIG91ciBzeXNyb290LCBub3QgdGhlIG9uZSBpdCB3YXMgY29tcGlsZWQgaW4KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZG5mIFwKLSAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAotICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQotfQotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiZG5mLW1ha2VjYWNoZS5zZXJ2aWNlIGRuZi1tYWtlY2FjaGUudGltZXIgXAotICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMuc2VydmljZSBkbmYtYXV0b21hdGljLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWRvd25sb2FkLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1kb3dubG9hZC50aW1lciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnNlcnZpY2UgZG5mLWF1dG9tYXRpYy1pbnN0YWxsLnRpbWVyIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkuc2VydmljZSBkbmYtYXV0b21hdGljLW5vdGlmeW9ubHkudGltZXIgXAotIgotU1lTVEVNRF9BVVRPX0VOQUJMRSA/PSAiZGlzYWJsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RuZi9kbmZfNC4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NTAyM2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kbmYvZG5mXzQuMS4wLmJiCkBAIC0wLDAgKzEsNzUgQEAKK1NVTU1BUlkgPSAiUGFja2FnZSBtYW5hZ2VyIGZvcmtlZCBmcm9tIFl1bSwgdXNpbmcgbGlic29sdiBhcyBhIGRlcGVuZGVuY3kgcmVzb2x2ZXIiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vUEFDS0FHRS1MSUNFTlNJTkc7bWQ1PTRhMDU0OGUzMDNkYmM3N2YwNjczMzViNGQ2ODhlNzQ1IFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvZG5mLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUNvcnJldGx5LWluc3RhbGwtdG1wZmlsZXMuZC1jb25maWd1cmF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWV0Yy1hbmQtc3lzdGVtZC11bml0LWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRG8tbm90LXByZXBlbmQtaW5zdGFsbHJvb3QtdG8tbG9nZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjktRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzMC1SdW4tcHl0aG9uLXNjcmlwdHMtdXNpbmctZW52LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiYWQ5YjIxNzU1MTdjODk2Yzg5OGNmOWM4NjYwZTliOWI2ODhhYzVjNyIKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBjbWFrZSBnZXR0ZXh0IGJhc2gtY29tcGxldGlvbiBkaXN0dXRpbHMzLWJhc2Ugc3lzdGVtZAorCitERVBFTkRTICs9ICJsaWJkbmYgbGlicmVwbyBsaWJjb21wcyBweXRob24zLWluaXBhcnNlIgorCisjIG1hbnBhZ2VzIGdlbmVyYXRpb24gcmVxdWlyZXMgaHR0cDovL3d3dy5zcGhpbngtZG9jLm9yZy8KK0VYVFJBX09FQ01BS0UgPSAiIC1EV0lUSF9NQU49MCAtRFBZVEhPTl9JTlNUQUxMX0RJUj0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfSAtRFBZVEhPTl9ERVNJUkVEPTMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICIgXAorICBweXRob24zLWNvcmUgXAorICBweXRob24zLWNvZGVjcyBcCisgIHB5dGhvbjMtbmV0Y2xpZW50IFwKKyAgcHl0aG9uMy1lbWFpbCBcCisgIHB5dGhvbjMtdGhyZWFkaW5nIFwKKyAgcHl0aG9uMy1kaXN0dXRpbHMgXAorICBweXRob24zLWxvZ2dpbmcgXAorICBweXRob24zLWZjbnRsIFwKKyAgbGlicmVwbyBcCisgIHB5dGhvbjMtc2hlbGwgXAorICBsaWJjb21wcyBcCisgIGxpYmRuZiBcCisgIHB5dGhvbjMtc3FsaXRlMyBcCisgIHB5dGhvbjMtY29tcHJlc3Npb24gXAorICBweXRob24zLXJwbSBcCisgIHB5dGhvbjMtaW5pcGFyc2UgXAorICBweXRob24zLWpzb24gXAorICBweXRob24zLWN1cnNlcyBcCisgIHB5dGhvbjMtbWlzYyBcCisgIHB5dGhvbjMtZ3BnIFwKKyAgIgorCitSUkVDT01NRU5EU18ke1BOfV9jbGFzcy10YXJnZXQgKz0gImdudXBnIgorCisjIENyZWF0ZSBhIHN5bWxpbmsgY2FsbGVkICdkbmYnIGFzICdtYWtlIGluc3RhbGwnIGRvZXMgbm90IGRvIGl0LCBidXQKKyMgLnNwZWMgZmlsZSBpbiBkbmYgc291cmNlIHRyZWUgZG9lcyAoYW5kIHRoZW4gRmVkb3JhIGFuZCBkbmYgZG9jdW1lbnRhdGlvbgorIyBzYXlzIHRoYXQgZG5mIGJpbmFyeSBpcyBwbGFpbiAnZG5mJykuCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgbG5yICR7RH0vJHtiaW5kaXJ9L2RuZi0zICR7RH0vJHtiaW5kaXJ9L2RuZgorICAgICAgICBsbnIgJHtEfS8ke2JpbmRpcn0vZG5mLWF1dG9tYXRpYy0zICR7RH0vJHtiaW5kaXJ9L2RuZi1hdXRvbWF0aWMKK30KKworIyBEaXJlY3QgZG5mLW5hdGl2ZSB0byByZWFkIHJwbSBjb25maWd1cmF0aW9uIGZyb20gb3VyIHN5c3Jvb3QsIG5vdCB0aGUgb25lIGl0IHdhcyBjb21waWxlZCBpbgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9kbmYgXAorICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbSBcCisgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCit9CisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJkbmYtbWFrZWNhY2hlLnNlcnZpY2UgZG5mLW1ha2VjYWNoZS50aW1lciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgZG5mLWF1dG9tYXRpYy5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtZG93bmxvYWQuc2VydmljZSBkbmYtYXV0b21hdGljLWRvd25sb2FkLnRpbWVyIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBkbmYtYXV0b21hdGljLWluc3RhbGwuc2VydmljZSBkbmYtYXV0b21hdGljLWluc3RhbGwudGltZXIgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS5zZXJ2aWNlIGRuZi1hdXRvbWF0aWMtbm90aWZ5b25seS50aW1lciBcCisiCitTWVNURU1EX0FVVE9fRU5BQkxFID89ICJkaXNhYmxlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNC9kb2Nib29rLXhtbC54bWwgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcxZjU1OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhtbC1kdGQ0L2RvY2Jvb2steG1sLnhtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBOb3RhdGlvbnMgVjQuNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBYTUwgSFRNTCBUYWJsZXMgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEluZm9ybWF0aW9uIFBvb2wgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIEhUTUwgVGFibGVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgTm90YXRpb25zIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgSW5mb3JtYXRpb24gUG9vbCBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIENBTFMgVGFibGUgTW9kZWwgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTlRJVElFUyBEb2NCb29rIFhNTCBDaGFyYWN0ZXIgRW50aXRpZXMgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9Ob3JtYW4gV2Fsc2gvL0VMRU1FTlRTIERvY0Jvb2sgWE1MIERvY3VtZW50IEhpZXJhcmNoeSBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjEuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4zLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFsIFdhbHNoLy9FeGNoYW5nZSBUYWJsZSBNb2RlbCAxOTk2MDQzMCBYTUwgVjQuMC8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4wL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRU5USVRJRVMgRG9jQm9vayBBZGRpdGlvbmFsIEdlbmVyYWwgRW50aXRpZXMgVjQuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuNC9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC40L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0JrIFhNTCBWNC4wLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjAvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4zL2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjMvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBJbmZvcm1hdGlvbiBQb29sIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRFREIERvY0Jvb2sgWE1MIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIFhNTCBIVE1MIFRhYmxlcyBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC40Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjQvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLm9yZy94bWwvNC41L2RvY2Jvb2t4LmR0ZCIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIE5vdGF0aW9ucyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBEb2N1bWVudCBIaWVyYXJjaHkgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIERvY3VtZW50IEhpZXJhcmNoeSBWNC41Ly9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjUvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbiBXYWxzaC8vRU5USVRJRVMgRG9jQm9vayBYTUwgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjAvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4yLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC80LjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBDQUxTIFRhYmxlIE1vZGVsIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjAvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2sub3JnL3htbC80LjIvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjMvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMy9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNS9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQ2hhcmFjdGVyIEVudGl0aWVzIFY0LjQvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjQvZG9jYm9va3guZHRkIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuNC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2sgQWRkaXRpb25hbCBHZW5lcmFsIEVudGl0aWVzIFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vZG9jYm9vay5vcmcveG1sLzQuMy9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4zL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRUxFTUVOVFMgRG9jQm9vayBJbmZvcm1hdGlvbiBQb29sIFY0LjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMi9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwgVjQuNS8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC41L2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVB1YmxpYyBwdWJsaWNJZFN0YXJ0U3RyaW5nPSItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MLy9FTiIgY2F0YWxvZz0iZmlsZTovLy91c3Ivc2hhcmUveG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC9jYXRhbG9nLnhtbCIvPgotICA8ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VMRU1FTlRTIERvY0Jvb2sgRG9jdW1lbnQgSGllcmFyY2h5IFY0LjEuMi8vRU4iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvNC4xLjIvY2F0YWxvZy54bWwiLz4KLSAgPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTlRJVElFUyBEb2NCb29rIENoYXJhY3RlciBFbnRpdGllcyBWNC4xLjIvL0VOIiBjYXRhbG9nPSJmaWxlOi8vL3Vzci9zaGFyZS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLzQuMS4yL2NhdGFsb2cueG1sIi8+Ci0gIDxkZWxlZ2F0ZVN5c3RlbSBzeXN0ZW1JZFN0YXJ0U3RyaW5nPSJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS9kb2Nib29reC5kdGQiIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3NjaGVtYS9kdGQvY2F0YWxvZy54bWwiLz4KLTwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sLWR0ZDRfNC41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKaW5kZXggZGE2MmI3Ny4uNGI2YTI4ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14bWwtZHRkNF80LjUuYmIKQEAgLTgsMTMgKzgsMTQgQEAKIExJQ0VOU0UgPSAiT0FTSVMiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke1dPUktESVJ9L0xJQ0VOU0UtT0FTSVM7bWQ1PWM2MDg5ODVkZDVmN2YyMTVlNjY5ZTc2MzlhMGIxZDJlIgogCitERVBFTkRTID0gImxpYnhtbDItbmF0aXZlIgorCiAjIE5vdGU6IHRoZSB1cHN0cmVhbSBzb3VyY2VzIGFyZSBub3QgZGlzdHJpYnV0ZWQgd2l0aCBhIGxpY2Vuc2UgZmlsZS4KICMgTElDRU5TRS1PQVNJUyBpcyBpbmNsdWRlZCBhcyBhICJwYXRjaCIgdG8gd29ya2Fyb3VuZCB0aGlzLiBXaGVuCiAjIHVwZ3JhZGluZyB0aGlzIHJlY2lwZSwgcGxlYXNlIHZlcmlmeSB3aGV0aGVyIHRoaXMgaXMgc3RpbGwgbmVlZGVkLgogU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9kL2RvY2Jvb2steG1sL2RvY2Jvb2steG1sXyR7UFZ9Lm9yaWcudGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL0xJQ0VOU0UtT0FTSVMgXAogICAgICAgICAgICBmaWxlOi8vZG9jYm9vay14bWwtdXBkYXRlLWNhdGFsb2cueG1sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steG1sLnhtbCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0ODdiNGQ0NGUxNWNmZmIxZjQwNDhhZjIzZjk4MjA4ZSIKQEAgLTIyLDcgKzIzLDcgQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2RvY2Jvb2steG1sLyIKIAotUz0iJHtXT1JLRElSfS9kb2Nib29rLXhtbC00LjUuYzMxNDI0IgorUyA9ICIke1dPUktESVJ9L2RvY2Jvb2steG1sLTQuNS5jMzE0MjQiCiAKIGluaGVyaXQgYWxsYXJjaAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCkBAIC0zNiwyMCArMzcsMTggQEAKIH0KIAogZG9faW5zdGFsbCAoKSB7Ci0gICAgIyBSZWZlciBkZWJpYW4gaHR0cHM6Ly9wYWNrYWdlcy5kZWJpYW4ub3JnL3NpZC9hbGwvZG9jYm9vay14bWwvZmlsZWxpc3QKLSAgICBmb3IgRFREVkVSU0lPTiBpbiA0LjAgNC4xLjIgNC4yIDQuMyA0LjQgNC41OyBkbwotICAgICAgICBpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay9zY2hlbWEvZHRkLyR7RFREVkVSU0lPTn0KLSAgICAgICAgY3AgLXYgLVIgZG9jYm9vay0ke0RURFZFUlNJT059LyogJHtEfSR7ZGF0YWRpcn0veG1sL2RvY2Jvb2svc2NoZW1hL2R0ZC8ke0RURFZFUlNJT059Ci0gICAgZG9uZQotCiAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS94bWwvCi0gICAgaW5zdGFsbCAtbSA3NTUgICR7V09SS0RJUn0vZG9jYm9vay14bWwueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICB4bWxjYXRhbG9nIC0tY3JlYXRlIC0tbm9vdXQgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbAorCisgICAgZm9yIERURFZFUlNJT04gaW4gNC4wIDQuMS4yIDQuMiA0LjMgNC40IDQuNTsgZG8KKyAgICAgICAgREVTVD0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3NjaGVtYS9kdGQvJERURFZFUlNJT04KKyAgICAgICAgaW5zdGFsbCAtZCAtbSA3NTUgJHtEfSRERVNUCisgICAgICAgIGNwIC12IC1SIGRvY2Jvb2stJERURFZFUlNJT04vKiAke0R9JERFU1QKKyAgICAgICAgeG1sY2F0YWxvZyAtLXZlcmJvc2UgLS1ub291dCAtLWFkZCBuZXh0Q2F0YWxvZyB1bnVzZWQgZmlsZTovLyRERVNUL2NhdGFsb2cueG1sICR7RH0ke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwKKyAgICBkb25lCiB9CiAKLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14bWwueG1sCi19CitYTUxDQVRBTE9HUyA9ICIke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhtbC54bWwiCitpbmhlcml0IHhtbGNhdGFsb2cKIAogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS8qICR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steG1sLnhtbCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzL2RvY2Jvb2steHNsLnhtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzYwNTU1YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy9kb2Nib29rLXhzbC54bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPCFET0NUWVBFIGNhdGFsb2cgUFVCTElDICItLy9PQVNJUy8vRFREIEVudGl0eSBSZXNvbHV0aW9uIFhNTCBDYXRhbG9nIFYxLjAvL0VOIiAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9jb21taXR0ZWVzL2VudGl0eS9yZWxlYXNlLzEuMC9jYXRhbG9nLmR0ZCI+Ci08Y2F0YWxvZyB4bWxucz0idXJuOm9hc2lzOm5hbWVzOnRjOmVudGl0eTp4bWxuczp4bWw6Y2F0YWxvZyI+Ci08ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9ImZpbGU6Ly8vdXNyL3NoYXJlL3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy9jYXRhbG9nLnhtbCIvPgotPC9jYXRhbG9nPgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZG9jYm9vay14bWwvZG9jYm9vay14c2wtc3R5bGVzaGVldHNfMS43OS4xLmJiCmluZGV4IDA3ZDMyY2UuLmZmMzhlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2RvY2Jvb2steG1sL2RvY2Jvb2steHNsLXN0eWxlc2hlZXRzXzEuNzkuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kb2Nib29rLXhtbC9kb2Nib29rLXhzbC1zdHlsZXNoZWV0c18xLjc5LjEuYmIKQEAgLTQsNyArNCw2IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02YmVhZGQ5OGY5YzU0YWIwYzM4N2UxNDIxMWVlNGQwZSIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZG9jYm9vay9kb2Nib29rLXhzbC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2RvY2Jvb2steHNsLnhtbCBcCiAgICAgICAgICAgIGZpbGU6Ly9kb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uby1iYXNoaXNtLWluLWRvY2Jvb2steHNsLXVwLnBhdGNoIFwKICIKIApAQCAtMTUsMTAgKzE0LDExIEBACiAjIFJlamVjdCB2ZXJzaW9ucyBlbmRpbmcgaW4gLjAgYXMgdGhvc2UgYXJlIHJlbGVhc2UgY2FuZGlkYXRlcwogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiL2RvY2Jvb2steHNsLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKD8hXC4wKVwuXGQrKS8iCiAKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUiCisKIFMgPSAiJHtXT1JLRElSfS9kb2Nib29rLXhzbC0ke1BWfSIKIAotaW5oZXJpdCBhbGxhcmNoCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK2luaGVyaXQgYWxsYXJjaCB4bWxjYXRhbG9nCiAKIGRvX2NvbmZpZ3VyZSAoKXsKIAk6CkBAIC0yOSw4ICsyOSw2IEBACiB9CiAKIGRvX2luc3RhbGwgKCkgewotCSMgUmVmZXIgdG8gaHR0cDovL3d3dy5saW51eGZyb21zY3JhdGNoLm9yZy9ibGZzL3ZpZXcvc3RhYmxlL3BzdC9kb2Nib29rLXhzbC5odG1sCi0JIyBmb3IgZGV0YWlscy4KIAlpbnN0YWxsIC12IC1tNzU1IC1kICR7RH0ke2RhdGFkaXJ9L3htbC9kb2Nib29rL3hzbC1zdHlsZXNoZWV0cy0ke1BWfQogCWxuIC1zIHhzbC1zdHlsZXNoZWV0cy0ke1BWfSAke0R9JHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMKIApAQCAtNDIsMjIgKzQwLDE0IEBACiAKIAlsbiAtcyBWRVJTSU9OICR7RH0vJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vVkVSU0lPTi54c2wKIAotCWluc3RhbGwgLXYgLW02NDQgLUQgUkVBRE1FIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9L1JFQURNRS50eHQKLQlpbnN0YWxsIC12IC1tNjQ0ICAgIFJFTEVBU0UtTk9URVMqIE5FV1MqIFwKLQkJJHtEfSR7ZGF0YWRpcn0vZG9jL2RvY2Jvb2steHNsLSR7UFZ9Ci0KLQlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3htbC8KLQlpbnN0YWxsIC1tIDc1NSAgJHtXT1JLRElSfS9kb2Nib29rLXhzbC54bWwgJHtEfSR7c3lzY29uZmRpcn0veG1sL2RvY2Jvb2steHNsLnhtbAotCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0JIyBFbnN1cmUgdGhhdCB0aGUgY2F0YWxvZyBmaWxlIHNnbWwtZG9jYm9vay5jYXQgaXMgcHJvcGVybHkKLQkjIHVwZGF0ZWQgd2hlbiB0aGUgcGFja2FnZSBpcyBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgY2FjaGUuCi0Jc2VkIC1pIC1lICJzfGZpbGU6Ly8uKi91c3Ivc2hhcmUveG1sfGZpbGU6Ly8ke2RhdGFkaXJ9L3htbHxnIiAke0R9JHtzeXNjb25mZGlyfS94bWwvZG9jYm9vay14c2wueG1sCisJaW5zdGFsbCAtZCAke0R9JHtkb2NkaXJ9LyR7QlBOfQorCWluc3RhbGwgLXYgLW02NDQgUkVBRE1FIFJFTEVBU0UtTk9URVMqIE5FV1MqICR7RH0ke2RvY2Rpcn0vJHtCUE59CiB9CiAKIFJERVBFTkRTXyR7UE59ICs9ICJwZXJsIgogRklMRVNfJHtQTn0gPSAiJHtkYXRhZGlyfS94bWwvKiAke3N5c2NvbmZkaXJ9L3htbC9kb2Nib29rLXhzbC54bWwiCiBGSUxFU18ke1BOfS1kb2MgPSAiJHtkYXRhZGlyfS9kb2MvKiIKKworWE1MQ0FUQUxPR1MgPSAiJHtkYXRhZGlyfS94bWwvZG9jYm9vay94c2wtc3R5bGVzaGVldHMtJHtQVn0vY2F0YWxvZy54bWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy5pbmMKaW5kZXggZmU0NzMyZC4uZmVlN2E3NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cuaW5jCkBAIC05LDE1ICs5LDggQEAKIAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kL2Rwa2cvIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHN5c3RlbWQgcGVybC12ZXJzaW9uCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBlcmxuYXRpdmUgcGtnY29uZmlnIHBlcmwtdmVyc2lvbgogCi1weXRob24gKCkgewotICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgVHJ1ZSwgRmFsc2UsIGQpOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuc2V0VmFyKCdTWVNURU1EX1NFUlZJQ0VfJXMnICUgKHBuKSwgJ2Rwa2ctY29uZmlndXJlLnNlcnZpY2UnKQotfQotCi1leHBvcnQgUEVSTCA9ICIke2JpbmRpcn0vcGVybCIKIFBFUkxfY2xhc3MtbmF0aXZlID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsIgogCiBleHBvcnQgUEVSTF9MSUJESVIgPSAiJHtsaWJkaXJ9L3BlcmwvJHtAZ2V0X3BlcmxfdmVyc2lvbihkKX0iCkBAIC0yOSwxNCArMjIsMTQgQEAKIAkJLS13aXRoLWxpYnogXAogCQktLXdpdGgtbGliYnoyIFwKIAkJLS13aXRob3V0LWxpYnNlbGludXggXAorCQlUQVI9dGFyIFwKIAkJIgogCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS1kaXNhYmxlLXVwZGF0ZS1hbHRlcm5hdGl2ZXMgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCisKIFBBQ0tBR0VDT05GSUcgPSAibGlibHptYSIKIFBBQ0tBR0VDT05GSUdbbGlibHptYV0gPSAiLS13aXRoLWxpYmx6bWEsLS13aXRob3V0LWxpYmx6bWEsIHh6IgogCi1FWFRSQV9PRUNPTkYgKz0gIlRBUj10YXIiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgREVCX0hPU1RfQVJDSD0ke0RQS0dfQVJDSH0iCi0KIGRvX2luc3RhbGxfYXBwZW5kICgpIHsKIAlpZiBbICIke1BOfSIgPSAiZHBrZy1uYXRpdmUiIF07IHRoZW4KIAkJIyB1cGRhdGUtYWx0ZXJuYXRpdmVzIGRvZXNuJ3QgaGF2ZSBhbiBvZmZsaW5lIG1vZGUKQEAgLTQ1LDE2ICszOCw2IEBACiAJZWxzZQogCQlzZWQgLWkgLWUgJ3N8XiMhLioke2JpbmRpcn0vcGVybC1uYXRpdmUuKi9wZXJsfCMhL3Vzci9iaW4vZW52IHBlcmx8JyAke0R9JHtiaW5kaXJ9L2Rwa2ctKgogCWZpCi0KLQlpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywnc3lzdmluaXQnLCdmYWxzZScsJ3RydWUnLGQpfTt0aGVuCi0JCWluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQkJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZHBrZy1jb25maWd1cmUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS8KLQkJc2VkIC1pIC1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQkJLWUgJ3MsQEJJTkRJUkAsJHtiaW5kaXJ9LGcnIFwKLQkJCS1lICdzLEBTWVNURU1EX1VOSVRESVJALCR7c3lzdGVtZF91bml0ZGlyfSxnJyBcCi0JCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9kcGtnLWNvbmZpZ3VyZS5zZXJ2aWNlCi0JZmkKIH0KIAogUFJPViA9ICJ2aXJ0dWFsL3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NWM2MDZlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAxLWFyY2gtQWRkLXN1cHBvcnQtZm9yLXJpc2N2NjQtQ1BVLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSAzMTlmMzJkNzQzZjViNWU3MjUwMTI2NTRkMTI0ZTQ5MjI2ZDVkZTkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTYgTWFyIDIwMTggMjA6Mjg6MjQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gYXJjaDogQWRkIHN1cHBvcnQgZm9yIHJpc2N2NjQgQ1BVCi0KLSAgKiBBcmNoaXRlY3R1cmUgc3VwcG9ydDoKLSAgICAtIEFkZCBzdXBwb3J0IGZvciByaXNjdjY0IENQVS4gQ2xvc2VzOiAjODIyOTE0Ci0gICAgICBUaGFua3MgdG8gTWFudWVsIEEuIEZlcm5hbmRleiBNb250ZWNlbG8gPG1hZm1AZGViaWFuLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9hbGlvdGguZGViaWFuLm9yZy9wbHVnaW5zL3NjbWdpdC9jZ2ktYmluL2dpdHdlYi5jZ2k/cD1kcGtnJTJGZHBrZy5naXQ7YT1jb21taXRkaWZmX3BsYWluO2g9ZWUwODU1Y2M2NjA3NjY5MWRlNDc5NmJlNDhmOGEwZDg4OWZkZTAwMTtocD0yZjU4MTZkOGJlNDBiNDQ5ZDI0NzNiMjJmOWUwYzMzYjMyZjNiZDc4XQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZGF0YS9jcHV0YWJsZSAgICAgICAgIHwgMSArCi0gc2NyaXB0cy90L0Rwa2dfQXJjaC50IHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYXRhL2NwdXRhYmxlIGIvZGF0YS9jcHV0YWJsZQotaW5kZXggYTJiZDdkNi4uOWYyYThlMCAxMDA2NDQKLS0tLSBhL2RhdGEvY3B1dGFibGUKLSsrKyBiL2RhdGEvY3B1dGFibGUKLUBAIC00MSw2ICs0MSw3IEBAIHBvd2VycGMJCXBvd2VycGMJCShwb3dlcnBjfHBwYykJCTMyCWJpZwotIHBvd2VycGNlbAlwb3dlcnBjbGUJcG93ZXJwY2xlCQkzMglsaXR0bGUKLSBwcGM2NAkJcG93ZXJwYzY0CShwb3dlcnBjfHBwYyk2NAkJNjQJYmlnCi0gcHBjNjRlbAkJcG93ZXJwYzY0bGUJcG93ZXJwYzY0bGUJCTY0CWxpdHRsZQotK3Jpc2N2NjQJCXJpc2N2NjQJCXJpc2N2NjQJCQk2NAlsaXR0bGUKLSBzMzkwCQlzMzkwCQlzMzkwCQkJMzIJYmlnCi0gczM5MHgJCXMzOTB4CQlzMzkweAkJCTY0CWJpZwotIHNoMwkJc2gzCQlzaDMJCQkzMglsaXR0bGUKLWRpZmYgLS1naXQgYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQgYi9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLWluZGV4IGQ0NzhiNDkuLmVjZDVkNjYgMTAwNjQ0Ci0tLS0gYS9zY3JpcHRzL3QvRHBrZ19BcmNoLnQKLSsrKyBiL3NjcmlwdHMvdC9EcGtnX0FyY2gudAotQEAgLTE2LDcgKzE2LDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB3YXJuaW5nczsKLSAKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjM2NzsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxNjgzMjsKLSAKLSB1c2Vfb2soJ0Rwa2c6OkFyY2gnLCBxdyhkZWJhcmNoX3RvX2RlYnR1cGxlIGRlYmFyY2hfdG9fbXVsdGlhcmNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgZGViYXJjaF9lcSBkZWJhcmNoX2lzIGRlYmFyY2hfaXNfd2lsZGNhcmQKLUBAIC0xNjIsNyArMTYyLDcgQEAgaXMoZ251dHJpcGxldF90b19kZWJhcmNoKHVuZGVmKSwgdW5kZWYsICd1bmRlZiBnbnV0cmlwbGV0Jyk7Ci0gaXMoZ251dHJpcGxldF90b19kZWJhcmNoKCd1bmtub3duLXVua25vd24tdW5rbm93bicpLCB1bmRlZiwgJ3Vua25vd24gZ251dHJpcGxldCcpOwotIGlzKGdudXRyaXBsZXRfdG9fZGViYXJjaCgneDg2XzY0LWxpbnV4LWdudScpLCAnYW1kNjQnLCAna25vd24gZ251dHJpcGxldCcpOwotIAotLWlzKHNjYWxhciBnZXRfdmFsaWRfYXJjaGVzKCksIDUyNCwgJ2V4cGVjdGVkIGFtb3VudCBvZiBrbm93biBhcmNoaXRlY3R1cmVzJyk7Ci0raXMoc2NhbGFyIGdldF92YWxpZF9hcmNoZXMoKSwgNTM5LCAnZXhwZWN0ZWQgYW1vdW50IG9mIGtub3duIGFyY2hpdGVjdHVyZXMnKTsKLSAKLSB7Ci0gICAgIGxvY2FsICRFTlZ7Q0N9ID0gJ2ZhbHNlJzsKLS0tIAotMi4xNi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoCmluZGV4IDkzZDg3MDQuLmI4OGJlODcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDAzLU91ci1wcmUtcG9zdGluc3RzLWV4cGVjdC1ELXRvLWJlLXNldC13aGVuLXJ1bm5pbmctaW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaApAQCAtMTAsMTUgKzEwLDE2IEBACiBSUCAyMDExLzEyLzA3CiBBTElNT04gMjAxNi8wNS8yNgogQUxJTU9OIDIwMTcvMDIvMjEKK0tLYW5nIDIwMTkvMDIvMjAKIC0tLQogIHNyYy9zY3JpcHQuYyB8IDQ0ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvc2NyaXB0LmMgYi9zcmMvc2NyaXB0LmMKLWluZGV4IDJmMjUyYWUuLjc2OGE5ZDEgMTAwNjQ0CitpbmRleCAwODY1Yjk1Li43M2VkMzVkIDEwMDY0NAogLS0tIGEvc3JjL3NjcmlwdC5jCiArKysgYi9zcmMvc2NyaXB0LmMKLUBAIC05Nyw0OCArOTcsMTAgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKK0BAIC05Niw1OCArOTYsMTEgQEAgc2V0ZXhlY3V0ZShjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhYikKICBzdGF0aWMgY29uc3QgY2hhciAqCiAgbWFpbnRzY3JpcHRfcHJlX2V4ZWMoc3RydWN0IGNvbW1hbmQgKmNtZCkKICB7CkBAIC0zMiw2ICszMyw4IEBACiAtCQljaGFuZ2VkaXIgPSAiLyI7CiAtCiAtCWlmIChpbnN0ZGlybGVuID4gMCAmJiAhZmNfc2NyaXB0X2Nocm9vdGxlc3MpIHsKKy0JCWludCByYzsKKy0KIC0JCWlmIChzdHJuY21wKGFkbWluZGlyLCBpbnN0ZGlyLCBpbnN0ZGlybGVuKSAhPSAwKQogLQkJCW9oc2hpdChfKCJhZG1pbmRpciBtdXN0IGJlIGluc2lkZSBpbnN0ZGlyIGZvciBkcGtnIHRvIHdvcmsgcHJvcGVybHkiKSk7CiAtCQlpZiAoc2V0ZW52KCJEUEtHX0FETUlORElSIiwgYWRtaW5kaXIgKyBpbnN0ZGlybGVuLCAxKSA8IDApCkBAIC0zOSw3ICs0MiwxMiBAQAogLQkJaWYgKHNldGVudigiRFBLR19ST09UIiwgIiIsIDEpIDwgMCkKIC0JCQlvaHNoaXRlKF8oInVuYWJsZSB0byBzZXRlbnYgZm9yIHN1YnByb2Nlc3NlcyIpKTsKIC0KLS0JCWlmIChjaHJvb3QoaW5zdGRpcikpCistCQlyYyA9IGNocm9vdChpbnN0ZGlyKTsKKy0JCWlmIChyYyAmJiBmY19ub25yb290ICYmIGVycm5vID09IEVQRVJNKQorLQkJCW9oc2hpdChfKCJub3QgZW5vdWdoIHByaXZpbGVnZXMgdG8gY2hhbmdlIHJvb3QgIgorLQkJCSAgICAgICAgICJkaXJlY3Rvcnkgd2l0aCAtLWZvcmNlLW5vdC1yb290LCBjb25zaWRlciAiCistCQkJICAgICAgICAgInVzaW5nIC0tZm9yY2Utc2NyaXB0LWNocm9vdGxlc3M/IikpOworLQkJZWxzZSBpZiAocmMpCiAtCQkJb2hzaGl0ZShfKCJmYWlsZWQgdG8gY2hyb290IHRvICclLjI1MHMnIiksIGluc3RkaXIpOwogKwlpZiAoKmluc3RkaXIpIHsKICsJCXNldGVudigiRCIsIGluc3RkaXIsIDEpOwpAQCAtNjQsNyArNzIsMTAgQEAKIC0JaWYgKGluc3RkaXJsZW4gPT0gMCB8fCBmY19zY3JpcHRfY2hyb290bGVzcykKIC0JCXJldHVybiBjbWQtPmZpbGVuYW1lOwogLQotLQlhc3NlcnQoc3RybGVuKGNtZC0+ZmlsZW5hbWUpID49IGluc3RkaXJsZW4pOworLQlpZiAoc3RybGVuKGNtZC0+ZmlsZW5hbWUpIDwgaW5zdGRpcmxlbikKKy0JCWludGVybmVycigibWFpbnRzY3JpcHQgbmFtZSAnJXMnIGxlbmd0aCA8IGluc3RkaXIgbGVuZ3RoICV6ZCIsCistCQkgICAgICAgICAgY21kLT5maWxlbmFtZSwgaW5zdGRpcmxlbik7CisgCiAtCXJldHVybiBjbWQtPmZpbGVuYW1lICsgaW5zdGRpcmxlbjsKICsJcmV0dXJuIGNtZC0+ZmlsZW5hbWU7CiAgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2gKaW5kZXggOTZlOTZmMi4uYjM2ODUwOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDUtZHBrZy1jb21waWxlci5tNC1yZW1vdmUtV3ZsYS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoCkBAIC0xNSwyMiArMTUsMjYgQEAKIFNpZ25lZC1vZmYtYnk6IERvbm4gU2VlbGV5IDxkb25uLnNlZWxleUB3aW5kcml2ZXIuY29tPgogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KKworVXBkYXRlIHBhdGNoIGNvbnRleHQgZm9yIGRwa2cgMS4xOS40LgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIG00L2Rwa2ctY29tcGlsZXIubTQgfCAxIC0KICAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbTQvZHBrZy1jb21waWxlci5tNCBiL200L2Rwa2ctY29tcGlsZXIubTQKLWluZGV4IDY4Mjg1N2MuLjIzZWQ3ZDAgMTAwNjQ0CitpbmRleCBhNjE5MmY2Li40YzdiZjJlIDEwMDY0NAogLS0tIGEvbTQvZHBrZy1jb21waWxlci5tNAogKysrIGIvbTQvZHBrZy1jb21waWxlci5tNAotQEAgLTUyLDcgKzUyLDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1vcF0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XbG9naWNhbC1ub3QtcGFyZW50aGVzZXNdKQorQEAgLTY3LDcgKzY3LDYgQEAgQUNfREVGVU4oW0RQS0dfQ0hFQ0tfQ09NUElMRVJfV0FSTklOR1NdLCBbCisgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc2hpZnQtbmVnYXRpdmUtdmFsdWVdKQorICAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3NpemVvZi1hcnJheS1hcmd1bWVudF0pCiAgICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1Xc3dpdGNoLWJvb2xdKQogLSAgRFBLR19DSEVDS19DT01QSUxFUl9GTEFHKFstV3ZsYV0pCi0gICBEUEtHX0NIRUNLX0NPTVBJTEVSX0ZMQUcoWy1XaW5pdC1zZWxmXSkKICAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVd3cml0ZS1zdHJpbmdzXSkKLSAgIERQS0dfQ0hFQ0tfQ09NUElMRVJfRkxBRyhbLVdjYXN0LWFsaWduXSkKKyAKKyAgIEFDX0xBTkdfQ0FTRSgKIC0tIAogMi4xLjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoCmluZGV4IDFiOTg1ZGYuLjRmNzlhNDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy8wMDA3LWRwa2ctZGViLWJ1aWxkLmMtUmVtb3ZlLXVzYWdlLW9mLWNsYW1wLW10aW1lLWluLXRhci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2gKQEAgLTE4LDIyICsxOCwyNiBAQAogCiBbMV0gaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz03NTk5OTkjMjAKIFsyXSBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2hlbHAtdGFyLzIwMTYtMDEvbXNnMDAwMDAuaHRtbAorCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgZHBrZy1kZWIvYnVpbGQuYyB8IDIgKy0KICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2Rwa2ctZGViL2J1aWxkLmMgYi9kcGtnLWRlYi9idWlsZC5jCi1pbmRleCBhOTJiNThlLi5hM2QxOTEyIDEwMDY0NAoraW5kZXggNjhkMTg3NS4uMDUzZmNiNyAxMDA2NDQKIC0tLSBhL2Rwa2ctZGViL2J1aWxkLmMKICsrKyBiL2Rwa2ctZGViL2J1aWxkLmMKLUBAIC00NTAsNyArNDUwLDcgQEAgdGFyYmFsbF9wYWNrKGNvbnN0IGNoYXIgKmRpciwgZmlsZW5hbWVzX2ZlZWRfZnVuYyAqdGFyX2ZpbGVuYW1lc19mZWVkZXIsCitAQCAtNDU3LDcgKzQ1Nyw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAogIAogICAgICBjb21tYW5kX2luaXQoJmNtZCwgVEFSLCAidGFyIC1jZiIpOwogICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICJ0YXIiLCAiLWNmIiwgIi0iLCAiLS1mb3JtYXQ9Z251IiwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1tdGltZSIsIG10aW1lLCAiLS1jbGFtcC1tdGltZSIsIE5VTEwpOwogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW10aW1lIiwgbXRpbWUsIE5VTEwpOwogICAgICAvKiBNb2RlIG1pZ2h0IGJlY29tZSBhIHBvc2l0aW9uYWwgYXJndW1lbnQsIHBhc3MgaXQgYmVmb3JlIC1ULiAqLwotICAgICBpZiAobW9kZSkKLSAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBtb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPm1vZGUpCisgICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1tb2RlIiwgb3B0aW9ucy0+bW9kZSwgTlVMTCk7CiAtLSAKIDIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyNDhjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZHBrZy1jb25maWd1cmUuc2VydmljZQorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLVtVbml0XQotRGVzY3JpcHRpb249ZHBrZyBmaXJzdCBib290IGNvbmZpZ3VyZQotRGVmYXVsdERlcGVuZGVuY2llcz1ubwotQWZ0ZXI9c3lzdGVtZC1yZW1vdW50LWZzLnNlcnZpY2Ugc3lzdGVtZC10bXBmaWxlcy1zZXR1cC5zZXJ2aWNlIHRtcC5tb3VudAotQmVmb3JlPXN5c2luaXQudGFyZ2V0Ci0KLVtTZXJ2aWNlXQotVHlwZT1vbmVzaG90Ci1FbnZpcm9ubWVudEZpbGU9LUBTWVNDT05GRElSQC9kZWZhdWx0L3Bvc3RpbnN0Ci1FeGVjU3RhcnQ9LUBCQVNFX0JJTkRJUkAvc2ggLWMgIiBpZiBbICRQT1NUSU5TVF9MT0dHSU5HID0gJzEnIF07IHRoZW4gQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYSA+ICRMT0dGSUxFIDI+JjE7IGVsc2UgQEJJTkRJUkAvZHBrZyAtLWNvbmZpZ3VyZSAtYTsgZmkiCi1FeGVjU3RhcnRQb3N0PUBCQVNFX0JJTkRJUkAvc3lzdGVtY3RsIC0tbm8tcmVsb2FkIGRpc2FibGUgZHBrZy1jb25maWd1cmUuc2VydmljZQotU3RhbmRhcmRPdXRwdXQ9c3lzbG9nCi1SZW1haW5BZnRlckV4aXQ9Tm8KLQotW0luc3RhbGxdCi1XYW50ZWRCeT1iYXNpYy50YXJnZXQKLVdhbnRlZEJ5PXN5c2luaXQudGFyZ2V0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaAppbmRleCBkNDgzODY2Li41ZGViY2M1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvZ2xpYmMyLjUtc3luY19maWxlX3JhbmdlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZy9nbGliYzIuNS1zeW5jX2ZpbGVfcmFuZ2UucGF0Y2gKQEAgLTY2LDE1ICs2NiwxOCBAQAogU2lnbmVkLW9mZi1ieTogRG9ubiBTZWVsZXkgPGRvbm4uc2VlbGV5QHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBMZWkgTGl1IDxsZWkubGl1MkB3aW5kcml2ZXIuY29tPgogCitVcGRhdGUgcGF0Y2ggY29udGV4dCBmb3IgZHBrZyAxLjE5LjQuCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgogLS0tCiAgc3JjL2FyY2hpdmVzLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvc3JjL2FyY2hpdmVzLmMgYi9zcmMvYXJjaGl2ZXMuYwotaW5kZXggNGIyZmM5Mi4uYTkyYjc5NSAxMDA2NDQKK2luZGV4IDg0NzZhNWMuLmIwNWE2M2YgMTAwNjQ0CiAtLS0gYS9zcmMvYXJjaGl2ZXMuYwogKysrIGIvc3JjL2FyY2hpdmVzLmMKLUBAIC02OSw3ICs2OSw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKK0BAIC02OCw3ICs2OCw3IEBAIGZkX3dyaXRlYmFja19pbml0KGludCBmZCkKICAgIC8qIElnbm9yZSB0aGUgcmV0dXJuIGNvZGUgYXMgaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgZXF1aXZhbGVudCB0byBhbgogICAgICogYXN5bmNocm9ub3VzIGhpbnQgZm9yIHRoZSBrZXJuZWwsIHdlIGFyZSBkb2luZyBhbiBmc3luYygpIGxhdGVyIG9uCiAgICAgKiBhbnl3YXkuICovCkBAIC04MywxNCArODYsMTQgQEAKICAgIHN5bmNfZmlsZV9yYW5nZShmZCwgMCwgMCwgU1lOQ19GSUxFX1JBTkdFX1dSSVRFKTsKICAjZWxpZiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKICAgIHBvc2l4X2ZhZHZpc2UoZmQsIDAsIDAsIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOwotQEAgLTEwNzgsNyArMTA3OCw3IEBAIHRhcm9iamVjdCh2b2lkICpjdHgsIHN0cnVjdCB0YXJfZW50cnkgKnRpKQorQEAgLTEwOTMsNyArMTA5Myw3IEBAIHRhcm9iamVjdChzdHJ1Y3QgdGFyX2FyY2hpdmUgKnRhciwgc3RydWN0IHRhcl9lbnRyeSAqdGkpCiAgICByZXR1cm4gMDsKICB9CiAgCiAtI2lmIGRlZmluZWQoU1lOQ19GSUxFX1JBTkdFX1dBSVRfQkVGT1JFKQogKyNpZiBkZWZpbmVkKFNZTkNfRklMRV9SQU5HRV9XQUlUX0JFRk9SRSkgJiYgX19HTElCQ19QUkVSRVEoMiwgNikKICBzdGF0aWMgdm9pZAotIHRhcl93cml0ZWJhY2tfYmFycmllcihzdHJ1Y3QgZmlsZWlubGlzdCAqZmlsZXMsIHN0cnVjdCBwa2dpbmZvICpwa2cpCisgdGFyX3dyaXRlYmFja19iYXJyaWVyKHN0cnVjdCBmc3lzX25hbWVub2RlX2xpc3QgKmZpbGVzLCBzdHJ1Y3QgcGtnaW5mbyAqcGtnKQogIHsKIC0tIAogMi4xNi4yCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9kcGtnL2Rwa2cvdHdlYWstb3B0aW9ucy1yZXF1aXJlLXRhci0xLjI3LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTExOTkxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnL3R3ZWFrLW9wdGlvbnMtcmVxdWlyZS10YXItMS4yNy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitHTlUgdGFyID49IDEuMjcgaXMgcmVxdWlyZWQgZm9yIC0tb3duZXI9TkFNRTpJRCBhbmQgLS1ncm91cD1OQU1FOklELiBBbmQgZmFpbHMKK3RvIGJ1aWxkIC5kZWIgcGFja2FnZXMgd2l0aCBlcnJvcjoKKworfCBkcGtnLWRlYjogYnVpbGRpbmcgcGFja2FnZSAnbGludXgtbGliYy1oZWFkZXJzLWRiZycgaW4gJy4uLi90bXAvd29yay9pNTg2LXBva3ktbGludXgvbGludXgtbGliYy1oZWFkZXJzLzQuMTktcjAvZGVwbG95LWRlYnMvaTU4Ni9saW51eC1saWJjLWhlYWRlcnMtZGJnXyA0LjE5LXIwLjBfaTM4Ni5kZWInLgorfCB0YXI6IHJvb3RcOjA6IEludmFsaWQgb3duZXIKK3wgdGFyOiBFcnJvciBpcyBub3QgcmVjb3ZlcmFibGU6IGV4aXRpbmcgbm93Cit8IGRwa2ctZGViOiBlcnJvcjogdGFyIC1jZiBzdWJwcm9jZXNzIHJldHVybmVkIGVycm9yIGV4aXQgc3RhdHVzIDIKKworVHdlYWsgdGFyIG9wdGlvbnMgaW4gZHBrZy1kZWIgc291cmNlIGNvZGUgdG8gbWFrZSBpdCB3b3JrIG9uIG9sZCBtYWNoaW5lcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcyBidWlsZCBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK2RpZmYgLS1naXQgYS9kcGtnLWRlYi9idWlsZC5jIGIvZHBrZy1kZWIvYnVpbGQuYworaW5kZXggNjhkMTg3NTExLi44NmZlMjJlMjUgMTAwNjQ0CistLS0gYS9kcGtnLWRlYi9idWlsZC5jCisrKysgYi9kcGtnLWRlYi9idWlsZC5jCitAQCAtNDYyLDcgKzQ2Miw3IEBAIHRhcmJhbGxfcGFjayhjb25zdCBjaGFyICpkaXIsIGZpbGVuYW1lc19mZWVkX2Z1bmMgKnRhcl9maWxlbmFtZXNfZmVlZGVyLAorICAgICBpZiAob3B0aW9ucy0+bW9kZSkKKyAgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW1vZGUiLCBvcHRpb25zLT5tb2RlLCBOVUxMKTsKKyAgICAgaWYgKG9wdGlvbnMtPnJvb3Rfb3duZXJfZ3JvdXApCistICAgICAgY29tbWFuZF9hZGRfYXJncygmY21kLCAiLS1vd25lciIsICJyb290OjAiLCAiLS1ncm91cCIsICJyb290OjAiLCBOVUxMKTsKKysgICAgICBjb21tYW5kX2FkZF9hcmdzKCZjbWQsICItLW93bmVyIiwgInJvb3QiLCAiLS1ncm91cCIsICJyb290IiwgTlVMTCk7CisgICAgIGNvbW1hbmRfYWRkX2FyZ3MoJmNtZCwgIi0tbnVsbCIsICItLW5vLXVucXVvdGUiLCAiLS1uby1yZWN1cnNpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICItVCIsICItIiwgTlVMTCk7CisgICAgIGNvbW1hbmRfZXhlYygmY21kKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE4LjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkOGVjMzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTguMjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGRwa2cuaW5jCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NTE0MTkyNjBhYTk1NDQ5OWY3YWJhYWJhYTg4MmJiZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE3MDUxOFQwOTM4MzhaL3Bvb2wvbWFpbi9kL2Rwa2cvZHBrZ18xLjE4LjI0LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9ub21hbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtdGFyLW5vLXRpbWVzdGFtcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9hcmNoX3BtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Rwa2ctY29uZmlndXJlLnNlcnZpY2UgXAotICAgICAgICAgICBmaWxlOi8vYWRkX2FybWViX3RyaXBsZXRfZW50cnkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGFwdC10by1saW51eC13cnMta2VybmVsLXZlcnNpb24td2hpY2gtaGFzLWNoYXJhY3RlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtT3VyLXByZS1wb3N0aW5zdHMtZXhwZWN0LUQtdG8tYmUtc2V0LXdoZW4tcnVubmluZy1pbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LVRoZS1sdXRpbWVzLWZ1bmN0aW9uLWRvZXNuLXQtd29yay1wcm9wZXJseS1mb3ItYWxsLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1kcGtnLWNvbXBpbGVyLm00LXJlbW92ZS1XdmxhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtYWRkLW11c2xlYWJpLXRvLWtub3duLXRhcmdldC10cmlwZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDctZHBrZy1kZWItYnVpbGQuYy1SZW1vdmUtdXNhZ2Utb2YtY2xhbXAtbXRpbWUtaW4tdGFyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZHBrZy1TdXBwb3J0LW11c2x4MzItYnVpbGQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hcmNoLUFkZC1zdXBwb3J0LWZvci1yaXNjdjY0LUNQVS5wYXRjaCBcCi0gICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMmU4YWY4ZmFmMWU2ODkyMjhkYTgwNmMzZThjNjg4MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkODUzMDgxZDNlMDZiZmQ0NmEyMjcwNTZlNTkxZjA5NGU0MmU3OGZhOGE1NzkzYjAwOTNiYWQzMGI3MTBkN2I0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZHBrZy9kcGtnXzEuMTkuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNkYmRhNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2Rwa2cvZHBrZ18xLjE5LjQuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSBkcGtnLmluYworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vbm9tYW4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXRhci1uby10aW1lc3RhbXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYXJjaF9wbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hZGRfYXJtZWJfdHJpcGxldF9lbnRyeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkYXB0LXRvLWxpbnV4LXdycy1rZXJuZWwtdmVyc2lvbi13aGljaC1oYXMtY2hhcmFjdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1PdXItcHJlLXBvc3RpbnN0cy1leHBlY3QtRC10by1iZS1zZXQtd2hlbi1ydW5uaW5nLWluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtVGhlLWx1dGltZXMtZnVuY3Rpb24tZG9lc24tdC13b3JrLXByb3Blcmx5LWZvci1hbGwtcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LWRwa2ctY29tcGlsZXIubTQtcmVtb3ZlLVd2bGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1hZGQtbXVzbGVhYmktdG8ta25vd24tdGFyZ2V0LXRyaXBldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1kcGtnLWRlYi1idWlsZC5jLVJlbW92ZS11c2FnZS1vZi1jbGFtcC1tdGltZS1pbi10YXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kcGtnLVN1cHBvcnQtbXVzbHgzMi1idWlsZC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovL2dsaWJjMi41LXN5bmNfZmlsZV9yYW5nZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90d2Vhay1vcHRpb25zLXJlcXVpcmUtdGFyLTEuMjcucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWU0NDIwNDA5NDI2ZDhjNThiYmUxM2E4ZTA3YzBjMGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzE1MjM0ZTk4NjU1Njg5NTg2YmZmMmQ1MTdhNmZkYzYxMzVkMTM5YzU0ZDUyYWU5Y2ZhNmE5MDAwN2ZlZTBhZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2UyZnNwcm9ncy9lMmZzcHJvZ3NfMS40NC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmZmI1MzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzYgKzAsMCBAQAotcmVxdWlyZSBlMmZzcHJvZ3MuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9yZW1vdmUubGRjb25maWcuY2FsbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vUmV2ZXJ0LW1rZTJmcy1lbmFibGUtdGhlLW1ldGFkYXRhX2NzdW0tYW5kLTY0Yml0LWZlYS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vbWtkaXJfcC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1taXNjLWNyZWF0ZV9pbm9kZS5jLXNldC1kaXItcy1tb2RlLWNvcnJlY3RseS5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1jcmVhdGVfaW5vZGUtZml4LWNvcHlpbmctbGFyZ2UtZmlsZXMucGF0Y2ggXAotICAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly9lMmZzcHJvZ3MtZml4LW1pc3NpbmctY2hlY2stZm9yLXBlcm1pc3Npb24tZGVuaWVkLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3F1aWV0LWRlYnVnZnMucGF0Y2ggXAotIgotCi1TUkNSRVYgPSAiODVlNTNmNDJmOThkNTMzNDkxNGRlMDFlOTcyZTllZDQ0YmNjZDBhNSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj5cZCtcLlxkKyhcLlxkKykqKSQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0gLS1zYmluZGlyPSR7YmFzZV9zYmluZGlyfSBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtZWxmLXNobGlicyAtLWRpc2FibGUtbGlidXVpZCAtLWRpc2FibGUtdXVpZGQgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1saWJibGtpZCAtLWVuYWJsZS12ZXJib3NlLW1ha2VjbWRzIgotCi1FWFRSQV9PRUNPTkZfZGFyd2luID0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gLS1lbmFibGUtYnNkLXNobGlicyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbZnVzZV0gPSAnLS1lbmFibGUtZnVzZTJmcywtLWRpc2FibGUtZnVzZTJmcyxmdXNlJwotCi0jIG1ha2UgbG9jYWxlIHJ1bGVzIHNvbWV0aW1lcyBmaXJlLCBzb21ldGltZXMgZG9uJ3QgYXMgZ2l0IGRvZXNuJ3QgcHJlc2VydmUKLSMgZmlsZSBta3RpbWUuIFRvdWNoIHRoZSBmaWxlcyBpbnRyb2R1Y2luZyBub24tZGV0ZXJtaW5pc20gdG8gdGhlIGJ1aWxkCi1kb19jb21waWxlX3ByZXBlbmQgKCl7Ci0JZmluZCAke1N9L3BvIC10eXBlIGYgLW5hbWUgIioucG8iIC1leGVjIHRvdWNoIHt9ICsKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCi0Jb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLWxpYnMKLQkjIFdlIHVzZSBibGtpZCBmcm9tIHV0aWwtbGludXggbm93IHNvIHJlbW92ZSBmcm9tIGhlcmUKLQlybSAtZiAke0R9JHtiYXNlX2xpYmRpcn0vbGliYmxraWQqCi0Jcm0gLXJmICR7RH0ke2luY2x1ZGVkaXJ9L2Jsa2lkCi0Jcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L3BrZ2NvbmZpZy9ibGtpZC5wYwotCXJtIC1mICR7RH0ke2Jhc2Vfc2JpbmRpcn0vYmxraWQKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZzY2sKLQlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2ZpbmRmcwotCi0JIyBlMmluaXRyZF9oZWxwZXIgYW5kIHRoZSBwa2djb25maWcgZmlsZXMgYmVsb25nIGluIGxpYmRpcgotCWlmIFsgISAke0R9JHtsaWJkaXJ9IC1lZiAke0R9JHtiYXNlX2xpYmRpcn0gXTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0KLQkJbXYgJHtEfSR7YmFzZV9saWJkaXJ9L2UyaW5pdHJkX2hlbHBlciAke0R9JHtsaWJkaXJ9Ci0JCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcgJHtEfSR7bGliZGlyfQotCWZpCi0KLQlvZV9tdWx0aWxpYl9oZWFkZXIgZXh0MmZzL2V4dDJfdHlwZXMuaAotCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0JbXYgJHtEfSR7YmluZGlyfS9jaGF0dHIgJHtEfSR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MKLQotCWluc3RhbGwgLXYgLW0gNzU1ICR7U30vY29udHJpYi9wb3B1bGF0ZS1leHRmcy5zaCAke0R9JHtiYXNlX3NiaW5kaXJ9LwotCi0JIyBDbGVhbiBob3N0IHBhdGggKGJ1aWxkIGRpcmVjdG9yeSkgaW4gY29tcGlsZV9ldCwgbWtfY21kcwotCXNlZCAtaSAtZSAicyxcKEVUX0RJUj0uKlwpJHtTfS9saWIvZXRcKC4qXCksXDEke2RhdGFkaXJ9L2V0XDIsZyIgJHtEfSR7YmluZGlyfS9jb21waWxlX2V0Ci0Jc2VkIC1pIC1lICJzLFwoU1NfRElSPS4qXCkke1N9L2xpYi9zc1woLipcKSxcMSR7ZGF0YWRpcn0vc3NcMixnIiAke0R9JHtiaW5kaXJ9L21rX2NtZHMKLX0KLQotIyBOZWVkIHRvIGZpbmQgdGhlIHJpZ2h0IG1rZTJmcy5jb25mIGZpbGUKLWUyZnNwcm9nc19jb25mX2ZpeHVwICgpIHsKLQlmb3IgaSBpbiBta2UyZnMgbWtmcy5leHQyIG1rZnMuZXh0MyBta2ZzLmV4dDQ7IGRvCi0JCWNyZWF0ZV93cmFwcGVyICR7RH0ke2Jhc2Vfc2JpbmRpcn0vJGkgTUtFMkZTX0NPTkZJRz0ke3N5c2NvbmZkaXJ9L21rZTJmcy5jb25mCi0JZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JZTJmc3Byb2dzX2NvbmZfZml4dXAKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWUyZnNwcm9nc19jb25mX2ZpeHVwCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcyAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZTJmcy5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiAke0R9JHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0Mi5lMmZzcHJvZ3MKLQltdiAke0R9JHtiYXNlX3NiaW5kaXJ9L3R1bmUyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncwotfQotCi1SREVQRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLWJhZGJsb2NrcyIKLVJSRUNPTU1FTkRTX2UyZnNwcm9ncyA9ICJlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy1lMmZzY2siCi0KLVBBQ0tBR0VTID0rICJlMmZzcHJvZ3MtZTJmc2NrIGUyZnNwcm9ncy1ta2UyZnMgZTJmc3Byb2dzLXR1bmUyZnMgZTJmc3Byb2dzLWJhZGJsb2NrcyBlMmZzcHJvZ3MtcmVzaXplMmZzIgotUEFDS0FHRVMgPSsgImxpYmNvbWVyciBsaWJzcyBsaWJlMnAgbGliZXh0MmZzIgotCi1GSUxFU19lMmZzcHJvZ3MtcmVzaXplMmZzID0gIiR7YmFzZV9zYmluZGlyfS9yZXNpemUyZnMqIgotRklMRVNfZTJmc3Byb2dzLWUyZnNjayA9ICIke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrICR7YmFzZV9zYmluZGlyfS9mc2NrLmV4dCoiCi1GSUxFU19lMmZzcHJvZ3MtbWtlMmZzID0gIiR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzICR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dCogJHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZiIKLUZJTEVTX2UyZnNwcm9ncy10dW5lMmZzID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vZTJsYWJlbCIKLUZJTEVTX2UyZnNwcm9ncy1iYWRibG9ja3MgPSAiJHtiYXNlX3NiaW5kaXJ9L2JhZGJsb2NrcyIKLUZJTEVTX2xpYmNvbWVyciA9ICIke2Jhc2VfbGliZGlyfS9saWJjb21fZXJyLnNvLioiCi1GSUxFU19saWJzcyA9ICIke2Jhc2VfbGliZGlyfS9saWJzcy5zby4qIgotRklMRVNfbGliZTJwID0gIiR7YmFzZV9saWJkaXJ9L2xpYmUycC5zby4qIgotRklMRVNfbGliZXh0MmZzID0gIiR7bGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtiYXNlX2xpYmRpcn0vbGliZXh0MmZzLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vKi8qLmF3ayAke2RhdGFkaXJ9LyovKi5zZWQgJHtiYXNlX2xpYmRpcn0vKi5zbyAke2JpbmRpcn0vY29tcGlsZV9ldCAke2JpbmRpcn0vbWtfY21kcyIKLQotQUxURVJOQVRJVkVfJHtQTn0gPSAiY2hhdHRyIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyIgotQUxURVJOQVRJVkVfVEFSR0VUW2NoYXR0cl0gPSAiJHtiYXNlX2JpbmRpcn0vY2hhdHRyLmUyZnNwcm9ncyIKLQotQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gImZzY2suOCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtmc2NrLjhdID0gIiR7bWFuZGlyfS9tYW44L2ZzY2suOCIKLQotQUxURVJOQVRJVkVfJHtQTn0tbWtlMmZzID0gIm1rZTJmcyBta2ZzLmV4dDIiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbbWtlMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW21rZnMuZXh0Ml0gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZnMuZXh0MiIKLQotQUxURVJOQVRJVkVfJHtQTn0tdHVuZTJmcyA9ICJ0dW5lMmZzIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3R1bmUyZnNdID0gIiR7YmFzZV9zYmluZGlyfS90dW5lMmZzIgotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiJHtQTn0gJHtQTn0tdHVuZTJmcyBjb3JldXRpbHMgcHJvY3BzIGJhc2ggYnppcDIgZGlmZnV0aWxzIHBlcmwiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSAtQyAke0J9L3Rlc3RzCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtCfS90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JY3AgLVIgLS1uby1kZXJlZmVyZW5jZSAtLXByZXNlcnZlPW1vZGUsbGlua3MgLXYgJHtTfS90ZXN0cy8qICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayFlMmZzY2shZycgXAotCSAgICAtZSAncyEuLi9taXNjL3R1bmUyZnMhdHVuZTJmcyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0LyovZXhwZWN0KgotCXNlZCAtZSAncyEuLi9lMmZzY2svZTJmc2NrISR7YmFzZV9zYmluZGlyfS9lMmZzY2shZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL3NjcmlwdAotCi0JIyBSZW1vdmUgdmFyaW91cyBmaWxlcwotCWZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtdHlwZSBmIFwKLQkgICAgXCggLW5hbWUgJ01ha2VmaWxlJyAtbyAtbmFtZSAnTWFrZWZpbGUuaW4nIC1vIC1uYW1lICcqLm8nIC1vIC1uYW1lICcqLmMnIC1vIC1uYW1lICcqLmgnIFwpXAotCSAgICAtZXhlYyAgcm0gLWYge30gKwotCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vbGliCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke0J9L2xpYi9jb25maWcuaCAgJHtEfSR7UFRFU1RfUEFUSH0vbGliLwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lMmZzcHJvZ3MvZTJmc3Byb2dzXzEuNDQuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjk1ZWU5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZTJmc3Byb2dzL2UyZnNwcm9nc18xLjQ0LjUuYmIKQEAgLTAsMCArMSwxMzYgQEAKK3JlcXVpcmUgZTJmc3Byb2dzLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLmxkY29uZmlnLmNhbGwucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICBmaWxlOi8vcHRlc3QucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL1JldmVydC1ta2UyZnMtZW5hYmxlLXRoZS1tZXRhZGF0YV9jc3VtLWFuZC02NGJpdC1mZWEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL21rZGlyX3AucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtbWlzYy1jcmVhdGVfaW5vZGUuYy1zZXQtZGlyLXMtbW9kZS1jb3JyZWN0bHkucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtY3JlYXRlX2lub2RlLWZpeC1jb3B5aW5nLWxhcmdlLWZpbGVzLnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZTJmc3Byb2dzLWZpeC1taXNzaW5nLWNoZWNrLWZvci1wZXJtaXNzaW9uLWRlbmllZC5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9xdWlldC1kZWJ1Z2ZzLnBhdGNoIFwKKyIKKworU1JDUkVWID0gIjlhMDNjMDdlMDBmMDlhNzcyMjQ1MjgxZDg0YTI4NGM2N2U5MDUxNDgiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+XGQrXC5cZCsoXC5cZCspKikkIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tbGliZGlyPSR7YmFzZV9saWJkaXJ9IC0tc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0gXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWVsZi1zaGxpYnMgLS1kaXNhYmxlLWxpYnV1aWQgLS1kaXNhYmxlLXV1aWRkIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGliYmxraWQgLS1lbmFibGUtdmVyYm9zZS1tYWtlY21kcyIKKworRVhUUkFfT0VDT05GX2RhcndpbiA9ICItLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSAtLXNiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9IC0tZW5hYmxlLWJzZC1zaGxpYnMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2Z1c2VdID0gJy0tZW5hYmxlLWZ1c2UyZnMsLS1kaXNhYmxlLWZ1c2UyZnMsZnVzZScKKworIyBtYWtlIGxvY2FsZSBydWxlcyBzb21ldGltZXMgZmlyZSwgc29tZXRpbWVzIGRvbid0IGFzIGdpdCBkb2Vzbid0IHByZXNlcnZlCisjIGZpbGUgbWt0aW1lLiBUb3VjaCB0aGUgZmlsZXMgaW50cm9kdWNpbmcgbm9uLWRldGVybWluaXNtIHRvIHRoZSBidWlsZAorZG9fY29tcGlsZV9wcmVwZW5kICgpeworCWZpbmQgJHtTfS9wbyAtdHlwZSBmIC1uYW1lICIqLnBvIiAtZXhlYyB0b3VjaCB7fSArCit9CisKK2RvX2luc3RhbGwgKCkgeworCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAorCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1saWJzCisJIyBXZSB1c2UgYmxraWQgZnJvbSB1dGlsLWxpbnV4IG5vdyBzbyByZW1vdmUgZnJvbSBoZXJlCisJcm0gLWYgJHtEfSR7YmFzZV9saWJkaXJ9L2xpYmJsa2lkKgorCXJtIC1yZiAke0R9JHtpbmNsdWRlZGlyfS9ibGtpZAorCXJtIC1mICR7RH0ke2Jhc2VfbGliZGlyfS9wa2djb25maWcvYmxraWQucGMKKwlybSAtZiAke0R9JHtiYXNlX3NiaW5kaXJ9L2Jsa2lkCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9mc2NrCisJcm0gLWYgJHtEfSR7YmFzZV9zYmluZGlyfS9maW5kZnMKKworCSMgZTJpbml0cmRfaGVscGVyIGFuZCB0aGUgcGtnY29uZmlnIGZpbGVzIGJlbG9uZyBpbiBsaWJkaXIKKwlpZiBbICEgJHtEfSR7bGliZGlyfSAtZWYgJHtEfSR7YmFzZV9saWJkaXJ9IF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9CisJCW12ICR7RH0ke2Jhc2VfbGliZGlyfS9lMmluaXRyZF9oZWxwZXIgJHtEfSR7bGliZGlyfQorCQltdiAke0R9JHtiYXNlX2xpYmRpcn0vcGtnY29uZmlnICR7RH0ke2xpYmRpcn0KKwlmaQorCisJb2VfbXVsdGlsaWJfaGVhZGVyIGV4dDJmcy9leHQyX3R5cGVzLmgKKwlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQorCW12ICR7RH0ke2JpbmRpcn0vY2hhdHRyICR7RH0ke2Jhc2VfYmluZGlyfS9jaGF0dHIuZTJmc3Byb2dzCisKKwlpbnN0YWxsIC12IC1tIDc1NSAke1N9L2NvbnRyaWIvcG9wdWxhdGUtZXh0ZnMuc2ggJHtEfSR7YmFzZV9zYmluZGlyfS8KKworCSMgQ2xlYW4gaG9zdCBwYXRoIChidWlsZCBkaXJlY3RvcnkpIGluIGNvbXBpbGVfZXQsIG1rX2NtZHMKKwlzZWQgLWkgLWUgInMsXChFVF9ESVI9LipcKSR7U30vbGliL2V0XCguKlwpLFwxJHtkYXRhZGlyfS9ldFwyLGciICR7RH0ke2JpbmRpcn0vY29tcGlsZV9ldAorCXNlZCAtaSAtZSAicyxcKFNTX0RJUj0uKlwpJHtTfS9saWIvc3NcKC4qXCksXDEke2RhdGFkaXJ9L3NzXDIsZyIgJHtEfSR7YmluZGlyfS9ta19jbWRzCit9CisKKyMgTmVlZCB0byBmaW5kIHRoZSByaWdodCBta2UyZnMuY29uZiBmaWxlCitlMmZzcHJvZ3NfY29uZl9maXh1cCAoKSB7CisJZm9yIGkgaW4gbWtlMmZzIG1rZnMuZXh0MiBta2ZzLmV4dDMgbWtmcy5leHQ0OyBkbworCQljcmVhdGVfd3JhcHBlciAke0R9JHtiYXNlX3NiaW5kaXJ9LyRpIE1LRTJGU19DT05GSUc9JHtzeXNjb25mZGlyfS9ta2UyZnMuY29uZgorCWRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWUyZnNwcm9nc19jb25mX2ZpeHVwCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKwllMmZzcHJvZ3NfY29uZl9maXh1cAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2UyZnMuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIgJHtEfSR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIuZTJmc3Byb2dzCisJbXYgJHtEfSR7YmFzZV9zYmluZGlyfS90dW5lMmZzICR7RH0ke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MKK30KKworUkRFUEVORFNfZTJmc3Byb2dzID0gImUyZnNwcm9ncy1iYWRibG9ja3MiCitSUkVDT01NRU5EU19lMmZzcHJvZ3MgPSAiZTJmc3Byb2dzLW1rZTJmcyBlMmZzcHJvZ3MtZTJmc2NrIgorCitQQUNLQUdFUyA9KyAiZTJmc3Byb2dzLWUyZnNjayBlMmZzcHJvZ3MtbWtlMmZzIGUyZnNwcm9ncy10dW5lMmZzIGUyZnNwcm9ncy1iYWRibG9ja3MgZTJmc3Byb2dzLXJlc2l6ZTJmcyIKK1BBQ0tBR0VTID0rICJsaWJjb21lcnIgbGlic3MgbGliZTJwIGxpYmV4dDJmcyIKKworRklMRVNfZTJmc3Byb2dzLXJlc2l6ZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vcmVzaXplMmZzKiIKK0ZJTEVTX2UyZnNwcm9ncy1lMmZzY2sgPSAiJHtiYXNlX3NiaW5kaXJ9L2UyZnNjayAke2Jhc2Vfc2JpbmRpcn0vZnNjay5leHQqIgorRklMRVNfZTJmc3Byb2dzLW1rZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vbWtlMmZzLmUyZnNwcm9ncyAke2Jhc2Vfc2JpbmRpcn0vbWtmcy5leHQqICR7c3lzY29uZmRpcn0vbWtlMmZzLmNvbmYiCitGSUxFU19lMmZzcHJvZ3MtdHVuZTJmcyA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcy5lMmZzcHJvZ3MgJHtiYXNlX3NiaW5kaXJ9L2UybGFiZWwiCitGSUxFU19lMmZzcHJvZ3MtYmFkYmxvY2tzID0gIiR7YmFzZV9zYmluZGlyfS9iYWRibG9ja3MiCitGSUxFU19saWJjb21lcnIgPSAiJHtiYXNlX2xpYmRpcn0vbGliY29tX2Vyci5zby4qIgorRklMRVNfbGlic3MgPSAiJHtiYXNlX2xpYmRpcn0vbGlic3Muc28uKiIKK0ZJTEVTX2xpYmUycCA9ICIke2Jhc2VfbGliZGlyfS9saWJlMnAuc28uKiIKK0ZJTEVTX2xpYmV4dDJmcyA9ICIke2xpYmRpcn0vZTJpbml0cmRfaGVscGVyICR7YmFzZV9saWJkaXJ9L2xpYmV4dDJmcy5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyovKi5hd2sgJHtkYXRhZGlyfS8qLyouc2VkICR7YmFzZV9saWJkaXJ9Lyouc28gJHtiaW5kaXJ9L2NvbXBpbGVfZXQgJHtiaW5kaXJ9L21rX2NtZHMiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gImNoYXR0ciIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ciIKK0FMVEVSTkFUSVZFX1RBUkdFVFtjaGF0dHJdID0gIiR7YmFzZV9iaW5kaXJ9L2NoYXR0ci5lMmZzcHJvZ3MiCisKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJmc2NrLjgiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZnNjay44XSA9ICIke21hbmRpcn0vbWFuOC9mc2NrLjgiCisKK0FMVEVSTkFUSVZFXyR7UE59LW1rZTJmcyA9ICJta2UyZnMgbWtmcy5leHQyIgorQUxURVJOQVRJVkVfTElOS19OQU1FW21rZTJmc10gPSAiJHtiYXNlX3NiaW5kaXJ9L21rZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtta2ZzLmV4dDJdID0gIiR7YmFzZV9zYmluZGlyfS9ta2ZzLmV4dDIiCisKK0FMVEVSTkFUSVZFXyR7UE59LXR1bmUyZnMgPSAidHVuZTJmcyIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0dW5lMmZzXSA9ICIke2Jhc2Vfc2JpbmRpcn0vdHVuZTJmcyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59ICR7UE59LXR1bmUyZnMgY29yZXV0aWxzIHByb2NwcyBiYXNoIGJ6aXAyIGRpZmZ1dGlscyBwZXJsIgorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgLUMgJHtCfS90ZXN0cworfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7Qn0vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0CisJc2VkIC1lICdzIS4uL2UyZnNjay9lMmZzY2shZTJmc2NrIWcnIFwKKwkgICAgLWUgJ3MhLi4vbWlzYy90dW5lMmZzIXR1bmUyZnMhZycgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC8qL2V4cGVjdCoKKwlzZWQgLWUgJ3MhLi4vZTJmc2NrL2UyZnNjayEke2Jhc2Vfc2JpbmRpcn0vZTJmc2NrIWcnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QvKi9zY3JpcHQKKworCSMgUmVtb3ZlIHZhcmlvdXMgZmlsZXMKKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLXR5cGUgZiBcCisJICAgIFwoIC1uYW1lICdNYWtlZmlsZScgLW8gLW5hbWUgJ01ha2VmaWxlLmluJyAtbyAtbmFtZSAnKi5vJyAtbyAtbmFtZSAnKi5jJyAtbyAtbmFtZSAnKi5oJyBcKVwKKwkgICAgLWV4ZWMgIHJtIC1mIHt9ICsKKworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L2xpYgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtCfS9saWIvY29uZmlnLmggICR7RH0ke1BURVNUX1BBVEh9L2xpYi8KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIwYjlkZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi1TVU1NQVJZID0gIlV0aWxpdGllcyBhbmQgbGlicmFyaWVzIGZvciBoYW5kbGluZyBjb21waWxlZCBvYmplY3QgZmlsZXMiCi1IT01FUEFHRSA9ICJodHRwczovL3NvdXJjZXdhcmUub3JnL2VsZnV0aWxzIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICIoR1BMdjMgJiBFbGZ1dGlscy1FeGNlcHRpb24pIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi1ERVBFTkRTID0gImxpYnRvb2wgYnppcDIgemxpYiB2aXJ0dWFsL2xpYmludGwiCi1ERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSBmdHMgIgotIyBUaGUgRGViaWFuIHBhdGNoZXMgYmVsb3cgYXJlIGZyb206Ci0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2UvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzUtMS5kZWJpYW4udGFyLnh6Ci1TUkNfVVJJID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMvZnRwLyR7UFZ9LyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2FybV9iYWNrZW5kLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfYmFja2VuZC5kaWZmIFwKLSAgICAgICAgICAgZmlsZTovL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDItQWRkLXN1cHBvcnQtZm9yLW1pcHM2NC1hYmlzLWluLW1pcHNfcmV0dmFsLmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuLzAwMDMtQWRkLW1pcHMtbjY0LXJlbG9jYXRpb24tZm9ybWF0LWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2h1cmRfcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOWEwMmIwMzgyYjc4Y2MyZDUxNWZiOTUwMjc1ZDRjMDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjdlZjkyNTU0MWVlMzJjNmQxNWFlNWNiMjdkYTVmMTE5ZTAxYTVjY2RiZTlmZTU3YmY4MzY3MzBkN2I3YTY1YiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAotCi1FWFRSQV9PRUNPTkYgPSAiLS1wcm9ncmFtLXByZWZpeD1ldS0gLS13aXRob3V0LWx6bWEiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS13aXRob3V0LWJ6bGliIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlpZiBbICIke1RBUkdFVF9BUkNIfSIgIT0gIng4Nl82NCIgXSAmJiBbIC16IGBlY2hvICIke1RBUkdFVF9BUkNIfSJ8Z3JlcCAnaS44NidgIF07dGhlbgotCQlybSAtZiAke0R9JHtiaW5kaXJ9L2V1LW9iamR1bXAKLQlmaQotfQotCi1FWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gIiIKLUVYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1BTExPV19FTVBUWV8ke1BOfV9saWJjLW11c2wgPSAiMSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi0jIFBhY2thZ2UgdXRpbGl0aWVzIHNlcGFyYXRlbHkKLVBBQ0tBR0VTID0rICIke1BOfS1iaW51dGlscyBsaWJlbGYgbGliYXNtIGxpYmR3IgotRklMRVNfJHtQTn0tYmludXRpbHMgPSAiXAotICAgICR7YmluZGlyfS9ldS1hZGRyMmxpbmUgXAotICAgICR7YmluZGlyfS9ldS1sZCBcCi0gICAgJHtiaW5kaXJ9L2V1LW5tIFwKLSAgICAke2JpbmRpcn0vZXUtcmVhZGVsZiBcCi0gICAgJHtiaW5kaXJ9L2V1LXNpemUgXAotICAgICR7YmluZGlyfS9ldS1zdHJpcCIKLQotRklMRVNfbGliZWxmID0gIiR7bGliZGlyfS9saWJlbGYtJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmVsZi5zby4qIgotRklMRVNfbGliYXNtID0gIiR7bGliZGlyfS9saWJhc20tJHtQVn0uc28gJHtsaWJkaXJ9L2xpYmFzbS5zby4qIgotRklMRVNfbGliZHcgID0gIiR7bGliZGlyfS9saWJkdy0ke1BWfS5zbyAke2xpYmRpcn0vbGliZHcuc28uKiAke2xpYmRpcn0vZWxmdXRpbHMvbGliKiIKLSMgU29tZSBwYWNrYWdlcyBoYXZlIHRoZSB2ZXJzaW9uIHByZWNlZWRpbmcgdGhlIC5zbyBpbnN0ZWFkIHByb3Blcmx5Ci0jIHZlcnNpb25lZCAuc28uPHZlcnNpb24+LCBzbyB3ZSBuZWVkIHRvIHJlb3JkZXIgYW5kIHJlcGFja2FnZS4KLSNGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9LyotJHtQVn0uc28gJHtiYXNlX2xpYmRpcn0vKi0ke1BWfS5zbyIKLSNGSUxFU19TT0xJQlNERVYgPSAiJHtsaWJkaXJ9L2xpYmFzbS5zbyAke2xpYmRpcn0vbGliZHcuc28gJHtsaWJkaXJ9L2xpYmVsZi5zbyIKLQotIyBUaGUgcGFja2FnZSBjb250YWlucyBzeW1saW5rcyB0aGF0IHRyaXAgdXAgaW5zYW5lCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmR3ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZWxmdXRpbHNfMC4xNzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5MDFjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2VsZnV0aWxzXzAuMTc2LmJiCkBAIC0wLDAgKzEsNzMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIGFuZCBsaWJyYXJpZXMgZm9yIGhhbmRsaW5nIGNvbXBpbGVkIG9iamVjdCBmaWxlcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vc291cmNld2FyZS5vcmcvZWxmdXRpbHMiCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIihHUEx2MyAmIEVsZnV0aWxzLUV4Y2VwdGlvbikiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKK0RFUEVORFMgPSAibGlidG9vbCBiemlwMiB6bGliIHZpcnR1YWwvbGliaW50bCIKK0RFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgYXJncC1zdGFuZGFsb25lIGZ0cyAiCisjIFRoZSBEZWJpYW4gcGF0Y2hlcyBiZWxvdyBhcmUgZnJvbToKKyMgaHR0cDovL2Z0cC5kZS5kZWJpYW4ub3JnL2RlYmlhbi9wb29sL21haW4vZS9lbGZ1dGlscy9lbGZ1dGlsc18wLjE3NS0xLmRlYmlhbi50YXIueHoKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9lbGZ1dGlscy9mdHAvJHtQVn0vJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJhc20tbWF5LWxpbmstd2l0aC1saWJiejItaWYtZm91bmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9rZnJlZWJzZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZiBcCisgICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNzdlNGY0OTMyMGNhZDgyYmYxN2E5OTcwNjhiMWRiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlYjU3NDdjMzcxYjBhZjBmNzFlODYyMTVhNWViYjg4NzI4NTMzYzNhMTA0YTQzZDQyMzE5NjNmMzA4Y2QxMDIzIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CisKK0VYVFJBX09FQ09ORiA9ICItLXByb2dyYW0tcHJlZml4PWV1LSAtLXdpdGhvdXQtbHptYSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXdpdGhvdXQtYnpsaWIiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCWlmIFsgIiR7VEFSR0VUX0FSQ0h9IiAhPSAieDg2XzY0IiBdICYmIFsgLXogYGVjaG8gIiR7VEFSR0VUX0FSQ0h9InxncmVwICdpLjg2J2AgXTt0aGVuCisJCXJtIC1mICR7RH0ke2JpbmRpcn0vZXUtb2JqZHVtcAorCWZpCit9CisKK0VYVFJBX09FTUFLRV9jbGFzcy1uYXRpdmUgPSAiIgorRVhUUkFfT0VNQUtFX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK0FMTE9XX0VNUFRZXyR7UE59X2xpYmMtbXVzbCA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKKyMgUGFja2FnZSB1dGlsaXRpZXMgc2VwYXJhdGVseQorUEFDS0FHRVMgPSsgIiR7UE59LWJpbnV0aWxzIGxpYmVsZiBsaWJhc20gbGliZHciCitGSUxFU18ke1BOfS1iaW51dGlscyA9ICJcCisgICAgJHtiaW5kaXJ9L2V1LWFkZHIybGluZSBcCisgICAgJHtiaW5kaXJ9L2V1LWxkIFwKKyAgICAke2JpbmRpcn0vZXUtbm0gXAorICAgICR7YmluZGlyfS9ldS1yZWFkZWxmIFwKKyAgICAke2JpbmRpcn0vZXUtc2l6ZSBcCisgICAgJHtiaW5kaXJ9L2V1LXN0cmlwIgorCitGSUxFU19saWJlbGYgPSAiJHtsaWJkaXJ9L2xpYmVsZi0ke1BWfS5zbyAke2xpYmRpcn0vbGliZWxmLnNvLioiCitGSUxFU19saWJhc20gPSAiJHtsaWJkaXJ9L2xpYmFzbS0ke1BWfS5zbyAke2xpYmRpcn0vbGliYXNtLnNvLioiCitGSUxFU19saWJkdyAgPSAiJHtsaWJkaXJ9L2xpYmR3LSR7UFZ9LnNvICR7bGliZGlyfS9saWJkdy5zby4qICR7bGliZGlyfS9lbGZ1dGlscy9saWIqIgorIyBTb21lIHBhY2thZ2VzIGhhdmUgdGhlIHZlcnNpb24gcHJlY2VlZGluZyB0aGUgLnNvIGluc3RlYWQgcHJvcGVybHkKKyMgdmVyc2lvbmVkIC5zby48dmVyc2lvbj4sIHNvIHdlIG5lZWQgdG8gcmVvcmRlciBhbmQgcmVwYWNrYWdlLgorI0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vKi0ke1BWfS5zbyAke2Jhc2VfbGliZGlyfS8qLSR7UFZ9LnNvIgorI0ZJTEVTX1NPTElCU0RFViA9ICIke2xpYmRpcn0vbGliYXNtLnNvICR7bGliZGlyfS9saWJkdy5zbyAke2xpYmRpcn0vbGliZWxmLnNvIgorCisjIFRoZSBwYWNrYWdlIGNvbnRhaW5zIHN5bWxpbmtzIHRoYXQgdHJpcCB1cCBpbnNhbmUKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliZHcgPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1kc28tbGluay1jaGFuZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAppbmRleCA0YzYyZGM1Li5hZjc5ZWY0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWRzby1saW5rLWNoYW5nZS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYzljNmQyNDE0NjUxZGJmMTYzZGM0OTYzYzNjM2Q2ZjVjYWNlZjg5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYjk5YWExMmNmODc5Y2UyMDBlMDNkNzVlNTQzYzdhYjJkZmE1NTAzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTUgQXVnIDIwMTcgMTc6MTA6NTcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzddIGRzbyBsaW5rIGNoYW5nZQorU3ViamVjdDogW1BBVENIXSBkc28gbGluayBjaGFuZ2UKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKQEAgLTE2LDYgKzE2LDcgQEAKIFJlYmFzZSB0byAwLjE3MAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIHNyYy9NYWtlZmlsZS5hbSAgIHwgMiArLQogIHRlc3RzL01ha2VmaWxlLmFtIHwgMiArLQpAQCAtMzUsMTAgKzM2LDEwIEBACiAgZW5kaWYKICBsaWJlYmwgPSAuLi9saWJlYmwvbGliZWJsLmEKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBiNDVlY2RjLi5kZDI1NmZiIDEwMDY0NAoraW5kZXggMWIwYzdkMy4uYmNlZDE5YiAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9NYWtlZmlsZS5hbQotQEAgLTQzNiw3ICs0MzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAorQEAgLTQ3Niw3ICs0NzYsNyBAQCBsaWJkdyA9IC4uL2xpYmR3L2xpYmR3LmEgLWx6ICQoemlwX0xJQlMpICQobGliZWxmKSAkKGxpYmVibCkgLWxkbAogIGxpYmVsZiA9IC4uL2xpYmVsZi9saWJlbGYuYSAtbHoKICBsaWJhc20gPSAuLi9saWJhc20vbGliYXNtLmEKICBlbHNlCkBAIC00Nyw2ICs0OCwzIEBACiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGxpYmFzbSA9IC4uL2xpYmFzbS9saWJhc20uc28KICBlbmRpZgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmFzbS1tYXktbGluay13aXRoLWxpYmJ6Mi1pZi1mb3VuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCmluZGV4IGMzNDIwNTMuLjBkNTMzYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliYXNtLW1heS1saW5rLXdpdGgtbGliYnoyLWlmLWZvdW5kLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA3NDYyOTAxNmU3NjM0M2E0YmYzOTkxNWM5MTkyYjZiZjI2YTU3YzJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkN2JlNjg3YzM1ZmE0Mjk1NDg3NDAzNGM4MmNhOTA1OWQyODE5NmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFdlZCwgNCBPY3QgMjAxNyAyMjozMDo0NiAtMDcwMAogU3ViamVjdDogW1BBVENIXSBsaWJhc20gbWF5IGxpbmsgd2l0aCBsaWJiejIgaWYgZm91bmQKQEAgLTExLDYgKzExLDcgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBzcmMvTWFrZWZpbGUuYW0gfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzMsNiArMzQsMyBAQAogIGxpYmR3ID0gLi4vbGliZHcvbGliZHcuc28gJCh6aXBfTElCUykgJChsaWJlbGYpICQobGliZWJsKSAtbGRsCiAgbGliZWxmID0gLi4vbGliZWxmL2xpYmVsZi5zbwogIGVuZGlmCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDEtbGliZWxmLWVsZl9lbmQuYy1jaGVjay1kYXRhX2xpc3QuZGF0YS5kLmRfYnVmLWJlZm9yZS5wYXRjaAppbmRleCAxYmRiNTExLi5iMjZlZDk5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAxLWxpYmVsZi1lbGZfZW5kLmMtY2hlY2stZGF0YV9saXN0LmRhdGEuZC5kX2J1Zi1iZWZvcmUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMS1saWJlbGYtZWxmX2VuZC5jLWNoZWNrLWRhdGFfbGlzdC5kYXRhLmQuZF9idWYtYmVmb3JlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzMzkzYTJlNTQ0ODE4ZjBiZDE4ODdjMTNmMjhhNzZhZDYwYzJkZjk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlNTcxY2JkMGMyMDA4NWVjNzE5Njk5NzFmMTkyODBiNWRlOTVjZmI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUaHUsIDE2IEF1ZyAyMDE4IDA5OjU4OjI2ICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYmVsZi9lbGZfZW5kLmM6IGNoZWNrIGRhdGFfbGlzdC5kYXRhLmQuZF9idWYgYmVmb3JlIGZyZWUgaXQKQEAgLTE0LDYgKzE0LDcgQEAKIFVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2VsZnV0aWxzLWRldmVsLzIwMTgtcTMvbXNnMDAwODUuaHRtbF0KIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGZfZW5kLmMgfCA2ICsrKystLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCkBAIC00MSw2ICs0MiwzIEBACiAgCQkgIGZyZWUgKHNjbi0+cmF3ZGF0YV9iYXNlKTsKICAKICAJCS8qIEZyZWUgdGhlIGxpc3Qgb2YgZGF0YSBidWZmZXJzIGZvciB0aGUgc2VjdGlvbi4KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDItRml4LWVsZl9jdnRfZ3VuaGFzaC1pZi1kZXN0LWFuZC1zcmMtYXJlLXNhbWUucGF0Y2gKaW5kZXggODZkMjZiZC4uOTZjMjU2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMi1GaXgtZWxmX2N2dF9ndW5oYXNoLWlmLWRlc3QtYW5kLXNyYy1hcmUtc2FtZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAyLUZpeC1lbGZfY3Z0X2d1bmhhc2gtaWYtZGVzdC1hbmQtc3JjLWFyZS1zYW1lLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA5ZmQ0YmIwNWQzZjJiN2VhZjlmZTQ0MWJlZTI2ZDNiMTg3OGQ3Y2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmOGU0MTE4YjYwYTliNTQ5NTA0MzcwMDZhODJiNDA0N2YzOGY1MzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoxMzo1OSArMDgwMAotU3ViamVjdDogW1BBVENIIDIvN10gRml4IGVsZl9jdnRfZ3VuaGFzaCBpZiBkZXN0IGFuZCBzcmMgYXJlIHNhbWUuCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBlbGZfY3Z0X2d1bmhhc2ggaWYgZGVzdCBhbmQgc3JjIGFyZSBzYW1lLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIApAQCAtMTIsNiArMTIsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dudWhhc2hfeGxhdGUuaCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQpAQCAtMzcsNiArMzgsMyBAQAogIAogICAgLyogTm93IHRoZSA2NCBiaXQgd29yZHMuICAqLwogICAgRWxmNjRfWHdvcmQgKmRlc3Q2NCA9IChFbGY2NF9Yd29yZCAqKSAmZGVzdDMyWzRdOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwMy1maXhoZWFkZXJjaGVjay5wYXRjaAppbmRleCBkMWM4ZTQxLi5lMzZkM2Y0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDAzLWZpeGhlYWRlcmNoZWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDMtZml4aGVhZGVyY2hlY2sucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDA0ZmIzZjY1ZWMxODZkZjUyMzFkZDBjMjE3ODBhNTVkY2MwM2M4NjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGRkN2M4YzczMDQ1N2RlZjVmNjJlYmQ0MzAyMmIyZjA2ZGY4YzZlZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjE3OjIwICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBmaXhoZWFkZXJjaGVjaworU3ViamVjdDogW1BBVENIXSBmaXhoZWFkZXJjaGVjawogCiBGb3Igc29tZSBiaW5hcmllcyB3ZSBjYW4gZ2V0IGEgaW52YWxpZCBzZWN0aW9uIGFsaWdubWVudCwgZm9yIGV4YW1wbGUgaWYKIHNoX2FsaWduID0gMSBhbmQgc2hfYWRkcmFsaWduIGlzIDAuIEluIHRoZSBjYXNlIG9mIGEgemVybyBzaXplIHNlY3Rpb24KQEAgLTE2LDYgKzE2LDcgQEAKIAogUmViYXNlIHRvIDAuMTcwCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGxpYmVsZi9lbGYzMl91cGRhdGVudWxsLmMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQpAQCAtMzUsNiArMzYsMyBAQAogIAkJICAgIHsKICAJCSAgICAgIF9fbGliZWxmX3NldGVycm5vIChFTEZfRV9JTlZBTElEX0FMSUdOKTsKICAJCSAgICAgIHJldHVybiAtMTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNC1EaXNhYmxlLXRoZS10ZXN0LXRvLWNvbnZlcnQtZXVjLWpwLnBhdGNoCmluZGV4IGJmM2E2NDUuLjVkZWU2MTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDQtRGlzYWJsZS10aGUtdGVzdC10by1jb252ZXJ0LWV1Yy1qcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA0LURpc2FibGUtdGhlLXRlc3QtdG8tY29udmVydC1ldWMtanAucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGRiYzg4MzQ5YjllZWQ0MjY4ZGI5NTFkZjJjM2E4Mzg3Zjc1YTMyZTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGU0ZWRlMjJlMjhlYWEzOGQ4MTY2N2RkY2IxOTU0MWVjZTFhODNjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiBEYXRlOiBUdWUsIDE1IEF1ZyAyMDE3IDE3OjI0OjA2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBEaXNhYmxlIHRoZSB0ZXN0IHRvIGNvbnZlcnQgZXVjLWpwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgdGhlIHRlc3QgdG8gY29udmVydCBldWMtanAKIAogUmVtb3ZlIHRoZSB0ZXN0ICJUZXN0IGFnYWluc3QgSFAtVVggMTEuMTEgYnVnOgogTm8gY29udmVydGVyIGZyb20gRVVDLUpQIHRvIFVURi04IGlzIHByb3ZpZGVkIgpAQCAtMTUsNiArMTUsNyBAQAogCiBSZWJhc2UgdG8gMC4xNzAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbTQvaWNvbnYubTQgfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQpAQCAtMzksNiArNDAsMyBAQAogICAgcmV0dXJuIHJlc3VsdDsKICB9XV0pXSwKICAgICAgICAgIFthbV9jdl9mdW5jX2ljb252X3dvcmtzPXllc10sCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDYtRml4LWJ1aWxkLW9uLWFhcmNoNjQtbXVzbC5wYXRjaAppbmRleCA0MGI4NTQ0Li42Zjc5NTZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA2LUZpeC1idWlsZC1vbi1hYXJjaDY0LW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNi1GaXgtYnVpbGQtb24tYWFyY2g2NC1tdXNsLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiNGVjMDU5NTNmNzhhZjI2YmNkN2RlNDVhNWJiYzVmMTM4ZDAyM2RhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1NzhmMzcwYzdlN2E5ZjA1NmFlZmEwNjJiMzQ1OTBiMGFhMTNiY2U1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxNzoyNzozMCArMDgwMAotU3ViamVjdDogW1BBVENIIDYvN10gRml4IGJ1aWxkIG9uIGFhcmNoNjQvbXVzbAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gYWFyY2g2NC9tdXNsCiAKIEVycm9ycwogCkBAIC0xNiw2ICsxNiw3IEBACiAKIFJlYmFzZSB0byAwLjE3MAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBiYWNrZW5kcy9hYXJjaDY0X2luaXRyZWcuYyB8IDQgKystLQogIGJhY2tlbmRzL2FybV9pbml0cmVnLmMgICAgIHwgMiArLQpAQCAtNTYsNiArNTcsMyBAQAogICMgaW5jbHVkZSA8c3lzL3VzZXIuaD4KICAjIGluY2x1ZGUgPHN5cy9wdHJhY2UuaD4KICAvKiBEZWFsIHdpdGggb2xkIGdsaWJjIGRlZmluaW5nIHVzZXJfcHRfcmVncyBpbnN0ZWFkIG9mIHVzZXJfcmVnc19zdHJ1Y3QuICAqLwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA3LUZpeC1jb250cm9sLXBhdGgtd2hlcmUtd2UtaGF2ZS1zdHItYXMtdW5pbml0aWFsaXplZC0ucGF0Y2gKaW5kZXggYmJhNDIwZS4uNjExYTI0YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwNy1GaXgtY29udHJvbC1wYXRoLXdoZXJlLXdlLWhhdmUtc3RyLWFzLXVuaW5pdGlhbGl6ZWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDctRml4LWNvbnRyb2wtcGF0aC13aGVyZS13ZS1oYXZlLXN0ci1hcy11bmluaXRpYWxpemVkLS5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUZyb20gOGViMTAwYjJlNTFiZTVkNDczYjA3NDhhMjIzZTJlN2Y2MWVjNjA2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTEyZDE2NDViYWI3OTIyYzc3OTZmZTMyZGRlYThmYTZlMWJiZGVkMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjkgSnVuIDIwMTggMTU6MTQ6MjggKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA3LzddIEZpeCBjb250cm9sIHBhdGggd2hlcmUgd2UgaGF2ZSBzdHIgYXMgdW5pbml0aWFsaXplZAotIHN0cmluZworU3ViamVjdDogW1BBVENIXSBGaXggY29udHJvbCBwYXRoIHdoZXJlIHdlIGhhdmUgc3RyIGFzIHVuaW5pdGlhbGl6ZWQgc3RyaW5nCiAKIHwKIC9ob21lL3VidW50dS93b3JrL29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3dvcmsvaTU4Ni1vZS1saW51eC1tdXNsL2VsZnV0aWxzLzAuMTY0LXIwL2VsZnV0aWxzLTAuMTY0L2xpYmNwdS9pMzg2X2Rpc2FzbS5jOgpAQCAtMjQsNiArMjMsNyBAQAogUmViYXNlIHRvIDAuMTcyCiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliY3B1L2kzODZfZGlzYXNtLmMgfCAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKQEAgLTQwLDYgKzQwLDMgQEAKICAJCQkgIGFzc2VydCAoISAiSU5WQUxJRCBub3QgaGFuZGxlZCIpOwogIAkJCX0KICAJCSAgICB9Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzLzAwMDgtYnVpbGQtUHJvdmlkZS1hbHRlcm5hdGl2ZXMtZm9yLWdsaWJjLWFzc3VtcHRpb25zLWhlbC5wYXRjaAppbmRleCA0MTk4MWY0Li5hNGYzMDFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy8wMDA4LWJ1aWxkLVByb3ZpZGUtYWx0ZXJuYXRpdmVzLWZvci1nbGliYy1hc3N1bXB0aW9ucy1oZWwucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvMDAwOC1idWlsZC1Qcm92aWRlLWFsdGVybmF0aXZlcy1mb3ItZ2xpYmMtYXNzdW1wdGlvbnMtaGVsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAyMDdiZTA1YzQ0ZGE1YzRjMzExNzlhMzQ2NjBlMTc2MTQ1ZmY4ZDRiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5OTBkMzc3YTkyZjRiYWIwNGJmNjgyMGZjODFiM2RjYjZjZjVlMzFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgMiBKdWwgMjAxOCAwOTo1MjoyMyArMDgwMAogU3ViamVjdDogW1BBVENIXSBidWlsZDogUHJvdmlkZSBhbHRlcm5hdGl2ZXMgZm9yIGdsaWJjIGFzc3VtcHRpb25zIGhlbHBzCkBAIC0xMCw2ICsxMCw3IEBACiBSZWJhc2UgdG8gMC4xNzUKIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBNYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAgbGliL2ZpeGVkc2l6ZWhhc2guaCAgICAgICAgICAgICAgfCAgMSAtCkBAIC0yMjEsNiArMjIyLDMgQEAKICAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAjaW5jbHVkZSA8c3RkYm9vbC5oPgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMS1JZ25vcmUtZGlmZmVyZW5jZXMtYmV0d2Vlbi1taXBzLW1hY2hpbmUtaWRlbnRpZmllcnMucGF0Y2gKaW5kZXggZmEzYTNjNi4uODkyYjhlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuLzAwMDEtSWdub3JlLWRpZmZlcmVuY2VzLWJldHdlZW4tbWlwcy1tYWNoaW5lLWlkZW50aWZpZXJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAxLUlnbm9yZS1kaWZmZXJlbmNlcy1iZXR3ZWVuLW1pcHMtbWFjaGluZS1pZGVudGlmaWVycy5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNzdjYjRhNTNjMjcwZDU4NTRkM2FmMjRmMTk1NDdiYzNkZTgyNTIzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDZkMmMyZjhmZWNhZDg1YmFlZWQ5ZmUyMTFmNTI4NTgyMDIyMDQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogRGF0ZTogTW9uLCA1IEphbiAyMDE1IDE1OjE2OjU4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8zXSBJZ25vcmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBtaXBzIG1hY2hpbmUgaWRlbnRpZmllcnMKK1N1YmplY3Q6IFtQQVRDSF0gSWdub3JlIGRpZmZlcmVuY2VzIGJldHdlZW4gbWlwcyBtYWNoaW5lIGlkZW50aWZpZXJzCiAKIExpdHRsZSBlbmRpYW4gYmluYXJpZXMgYWN0dWFsbHkgdXNlIEVNX01JUFMgc28geW91IGNhbid0IHRlbGwgdGhlIGVuZGlhbm5lc3MKIGZyb20gdGhlIGVsZiBtYWNoaW5lIGlkLiBBbHNvLCB0aGUgRU1fTUlQU19SUzNfTEUgbWFjaGluZSBpcyBkZWFkIGFueXdheSAodGhlCkBAIC0xMCwxNSArMTAsMTYgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgYmFja2VuZHMvbWlwc19pbml0LmMgfCA2ICstLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNSBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGIvYmFja2VuZHMvbWlwc19pbml0LmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9taXBzX2luaXQuYyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCitpbmRleCA5NzVjMDRlLi44NDgyZTdmIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19pbml0LmMKICsrKyBiL2JhY2tlbmRzL21pcHNfaW5pdC5jCi1AQCAtNDUsMTEgKzQ1LDcgQEAgbWlwc19pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51cworQEAgLTQ1LDExICs0NSw3IEBAIG1pcHNfaW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgICByZXR1cm4gTlVMTDsKICAKICAgIC8qIFdlIGhhbmRsZSBpdC4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMi1BZGQtc3VwcG9ydC1mb3ItbWlwczY0LWFiaXMtaW4tbWlwc19yZXR2YWwuYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCmluZGV4IDFhYjcwNGUuLjdjMGI5YzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAyLUFkZC1zdXBwb3J0LWZvci1taXBzNjQtYWJpcy1pbi1taXBzX3JldHZhbC5jLnBhdGNoCkBAIC0xLDE3ICsxLDE4IEBACi1Gcm9tIGZkYWFiMThhNjVlZDI1Mjk2NTZiYWE2NGNiNjE2OWYzNGQ3ZTUwN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDkzYWU5YmI3ZDI1YTFhZGJjYmFiMjNhOWI4NDkzZjM3MGE5M2YwYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKYW1lcyBDb3dnaWxsIDxqYW1lczQxMEBjb3dnaWxsLm9yZy51az4KIERhdGU6IE1vbiwgNSBKYW4gMjAxNSAxNToxNzowMSArMDAwMAotU3ViamVjdDogW1BBVENIIDIvM10gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIHN1cHBvcnQgZm9yIG1pcHM2NCBhYmlzIGluIG1pcHNfcmV0dmFsLmMKIAogU2lnbmVkLW9mZi1ieTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KLSBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jIHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKLWluZGV4IDMzZjEyYTcuLmQ1YzZlZjAgMTAwNjQ0CitpbmRleCA2NTZjZDFmLi41NzQ4N2JiIDEwMDY0NAogLS0tIGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTkxLDYgKzkxLDggQEAgZW51bSBtaXBzX2FiaSBmaW5kX21pcHNfYWJpKEVsZiAqZWxmKQpAQCAtMTY1LDYgKzE2NiwzIEBACiAgICAgICAgKmxvY3AgPSBsb2NfYWdncmVnYXRlOwogICAgICAgIHJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgfQotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vMDAwMy1BZGQtbWlwcy1uNjQtcmVsb2NhdGlvbi1mb3JtYXQtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCmluZGV4IGIxOTY4MDIuLjE3Yjk4YTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi8wMDAzLUFkZC1taXBzLW42NC1yZWxvY2F0aW9uLWZvcm1hdC1oYWNrLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA1OWQ0YjhjNDhlNTA0MGFmN2UwMmIzNGViMjZlYTYwMmVjODJhMzhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiY2U0NGFlY2U5MTU2OThhMjI0YThhZWZhNjY3ODRiMjc0NTU2NzViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFtZXMgQ293Z2lsbCA8amFtZXM0MTBAY293Z2lsbC5vcmcudWs+CiBEYXRlOiBNb24sIDUgSmFuIDIwMTUgMTU6MTc6MDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBtaXBzIG42NCByZWxvY2F0aW9uIGZvcm1hdCBoYWNrCiAKIE1JUFNFTCBONjQgRUxGIGZpbGVzIHVzZSBhIHNsaWdodGx5IGRpZmZlcmVudCBmb3JtYXQgZm9yIHN0b3JpbmcgcmVsb2NhdGlvbgogZW50cmllcyB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgbm9ybWFsIFJfU1lNIC8gUl9JTkZPIG1hY3Jvcy4KQEAgLTE0LDYgKzE0LDcgQEAKIFNpZ25lZC1vZmYtYnk6IEphbWVzIENvd2dpbGwgPGphbWVzNDEwQGNvd2dpbGwub3JnLnVrPgogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgbGliZWxmL2dlbGZfZ2V0cmVsLmMgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrLS0KICBsaWJlbGYvZ2VsZl9nZXRyZWxhLmMgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKystLQpAQCAtMjIsMTAgKzIzLDEwIEBACiAgc3JjL3N0cmlwLmMgICAgICAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCiAgNSBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9saWJlbGYvZ2VsZl9nZXRyZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbC5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfZ2V0cmVsLmMgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYworaW5kZXggMzA5ZTNkMy4uMmE4MWE5NyAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbC5jCisrKysgYi9saWJlbGYvZ2VsZl9nZXRyZWwuYwogQEAgLTM2LDYgKzM2LDcgQEAKICAKICAjaW5jbHVkZSAibGliZWxmUC5oIgpAQCAtMzQsNyArMzUsNyBAQAogIAogIEdFbGZfUmVsICoKICBnZWxmX2dldHJlbCAoRWxmX0RhdGEgKmRhdGEsIGludCBuZHgsIEdFbGZfUmVsICpkc3QpCi1AQCAtODksOCArOTAsMjggQEAgZ2VsZl9nZXRyZWwgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRQorQEAgLTg5LDggKzkwLDI4IEBAIGdlbGZfZ2V0cmVsIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWwgKmRzdCkKICAJICByZXN1bHQgPSBOVUxMOwogIAl9CiAgICAgICAgZWxzZQpAQCAtNjUsMTAgKzY2LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl9nZXRyZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX2dldHJlbGEuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX2dldHJlbGEuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYyBiL2xpYmVsZi9nZWxmX2dldHJlbGEuYworaW5kZXggZDY5NWY2NS4uMWY0MmE4MCAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX2dldHJlbGEuYworKysrIGIvbGliZWxmL2dlbGZfZ2V0cmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC03Nyw3ICs3OCw3IEBACiAgCiAgR0VsZl9SZWxhICoKICBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHRWxmX1JlbGEgKmRzdCkKLUBAIC05MCw4ICs5MSwyOCBAQCBnZWxmX2dldHJlbGEgKEVsZl9EYXRhICpkYXRhLCBpbnQgbmR4LCBHCitAQCAtOTAsOCArOTEsMjggQEAgZ2VsZl9nZXRyZWxhIChFbGZfRGF0YSAqZGF0YSwgaW50IG5keCwgR0VsZl9SZWxhICpkc3QpCiAgCSAgcmVzdWx0ID0gTlVMTDsKICAJfQogICAgICAgIGVsc2UKQEAgLTEwOCwxMCArMTA5LDEwIEBACiAgICAgIH0KICAKICAgIHJ3bG9ja191bmxvY2sgKHNjbi0+ZWxmLT5sb2NrKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYwotKysrIGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworZGlmZiAtLWdpdCBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworaW5kZXggMTRmNjJlOS4uOTA5NTU1NiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWwuYworKysrIGIvbGliZWxmL2dlbGZfdXBkYXRlX3JlbC5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xMjAsNyArMTIxLDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCi1AQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtODYsNiArODcsOSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsICpzcmMpCiAgICAgIH0KICAgIGVsc2UKICAgICAgewpAQCAtMTMwLDcgKzEzMSw3IEBACiAgICAgICAgLyogQ2hlY2sgd2hldGhlciB3ZSBoYXZlIHRvIHJlc2l6ZSB0aGUgZGF0YSBidWZmZXIuICAqLwogICAgICAgIGlmIChJTlZBTElEX05EWCAobmR4LCBFbGY2NF9SZWwsICZkYXRhX3Njbi0+ZCkpCiAgCXsKLUBAIC05Myw3ICs5NywyMSBAQCBnZWxmX3VwZGF0ZV9yZWwgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsCitAQCAtOTMsNyArOTcsMjEgQEAgZ2VsZl91cGRhdGVfcmVsIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbCAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xNTMsMTAgKzE1NCwxMCBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCitkaWZmIC0tZ2l0IGEvbGliZWxmL2dlbGZfdXBkYXRlX3JlbGEuYyBiL2xpYmVsZi9nZWxmX3VwZGF0ZV9yZWxhLmMKK2luZGV4IDg4MjUyNzAuLjRjYWE4NWYgMTAwNjQ0CistLS0gYS9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCisrKysgYi9saWJlbGYvZ2VsZl91cGRhdGVfcmVsYS5jCiBAQCAtMzYsNiArMzYsNyBAQAogIAogICNpbmNsdWRlICJsaWJlbGZQLmgiCkBAIC0xNjUsNyArMTY2LDcgQEAKICAKICBpbnQKICBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4LCBHRWxmX1JlbGEgKnNyYykKLUBAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgKK0BAIC04OSw2ICs5MCw5IEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKQEAgLTE3NSw3ICsxNzYsNyBAQAogICAgICAgIC8qIENoZWNrIHdoZXRoZXIgd2UgaGF2ZSB0byByZXNpemUgdGhlIGRhdGEgYnVmZmVyLiAgKi8KICAgICAgICBpZiAoSU5WQUxJRF9ORFggKG5keCwgRWxmNjRfUmVsYSwgJmRhdGFfc2NuLT5kKSkKICAJewotQEAgLTk2LDcgKzEwMCwyMSBAQCBnZWxmX3VwZGF0ZV9yZWxhIChFbGZfRGF0YSAqZHN0LCBpbnQgbmR4CitAQCAtOTYsNyArMTAwLDIxIEBAIGdlbGZfdXBkYXRlX3JlbGEgKEVsZl9EYXRhICpkc3QsIGludCBuZHgsIEdFbGZfUmVsYSAqc3JjKQogIAkgIGdvdG8gb3V0OwogIAl9CiAgCkBAIC0xOTgsMTEgKzE5OSwxMSBAQAogICAgICB9CiAgCiAgICByZXN1bHQgPSAxOwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9zcmMvc3RyaXAuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9zdHJpcC5jCi1AQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIKK2RpZmYgLS1naXQgYS9zcmMvc3RyaXAuYyBiL3NyYy9zdHJpcC5jCitpbmRleCBhNzMwMDlkLi43NWJkN2JhIDEwMDY0NAorLS0tIGEvc3JjL3N0cmlwLmMKKysrKyBiL3NyYy9zdHJpcC5jCitAQCAtMTA2Miw2ICsxMDYyLDIzIEBAIGhhbmRsZV9lbGYgKGludCBmZCwgRWxmICplbGYsIGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqZm5hbWUsCiAgICAgICAgZ290byBmYWlsOwogICAgICB9CiAgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vYXJtX2JhY2tlbmQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCmluZGV4IGY3MjU4YTguLjk5MDRmMjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9hcm1fYmFja2VuZC5kaWZmCkBAIC0xLDEwICsxLDI3IEBACitGcm9tIGYzMzg0NDY2NDc1ZWFiMzczYzBmMWNiNzljNjFkNDU3MDk5MTNiMDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDI4IE1heSAyMDE0IDE2OjQ5OjU3ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIDAuMTU4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1faW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1faW5pdC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX2luaXQuYworLS0tCisgYmFja2VuZHMvYXJtX2luaXQuYyAgICAgICAgICAgICAgICAgfCAgMTggKysrLQorIGJhY2tlbmRzL2FybV9yZWdzLmMgICAgICAgICAgICAgICAgIHwgMTMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9hcm1fcmV0dmFsLmMgICAgICAgICAgICAgICB8ICA0MyArKysrKysrKy0KKyBiYWNrZW5kcy9saWJlYmxfYXJtLmggICAgICAgICAgICAgICB8ICAgOSArKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrKworIHRlc3RzL3J1bi1hZGRyY2ZpLnNoICAgICAgICAgICAgICAgIHwgIDkzICsrKysrKysrKysrKysrKysrKystCisgdGVzdHMvcnVuLWFsbHJlZ3Muc2ggICAgICAgICAgICAgICAgfCAgOTUgKysrKysrKysrKysrKysrKysrKy0KKyB0ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCB8ICAxMSArKy0KKyA4IGZpbGVzIGNoYW5nZWQsIDQwMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvbGliZWJsX2FybS5oCisKK2RpZmYgLS1naXQgYS9iYWNrZW5kcy9hcm1faW5pdC5jIGIvYmFja2VuZHMvYXJtX2luaXQuYworaW5kZXggZjJiMWIxMS4uMWI3MWYxNiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL2FybV9pbml0LmMKKysrKyBiL2JhY2tlbmRzL2FybV9pbml0LmMKIEBAIC0zNSwyMCArMzUsMzEgQEAKICAjZGVmaW5lIFJFTE9DX1BSRUZJWAlSX0FSTV8KICAjaW5jbHVkZSAibGliZWJsX0NQVS5oIgpAQCAtMzgsNyArNTUsNyBAQAogICAgLyogV2UgaGFuZGxlIGl0LiAgKi8KICAgIGVoLT5uYW1lID0gIkFSTSI7CiAgICBhcm1faW5pdF9yZWxvYyAoZWgpOwotQEAgLTYwLDcgKzcxLDEwIEBAIGFybV9pbml0IChFbGYgKmVsZiBfX2F0dHJpYnV0ZV9fICgodW51c2UKK0BAIC02MCw3ICs3MSwxMCBAQCBhcm1faW5pdCAoRWxmICplbGYgX19hdHRyaWJ1dGVfXyAoKHVudXNlZCkpLAogICAgSE9PSyAoZWgsIGNvcmVfbm90ZSk7CiAgICBIT09LIChlaCwgYXV4dl9pbmZvKTsKICAgIEhPT0sgKGVoLCBjaGVja19vYmplY3RfYXR0cmlidXRlKTsKQEAgLTUwLDEwICs2NywxMCBAQAogICAgSE9PSyAoZWgsIGFiaV9jZmkpOwogICAgSE9PSyAoZWgsIGNoZWNrX3JlbG9jX3RhcmdldF90eXBlKTsKICAgIEhPT0sgKGVoLCBzeW1ib2xfdHlwZV9uYW1lKTsKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9hcm1fcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9hcm1fcmVncy5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JlZ3MuYworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL2FybV9yZWdzLmMgYi9iYWNrZW5kcy9hcm1fcmVncy5jCitpbmRleCBhNDZhNGM5Li40MThjOTMxIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JlZ3MuYworKysrIGIvYmFja2VuZHMvYXJtX3JlZ3MuYwogQEAgLTMxLDYgKzMxLDcgQEAKICAjZW5kaWYKICAKQEAgLTYyLDcgKzc5LDcgQEAKICAjaW5jbHVkZSA8ZHdhcmYuaD4KICAKICAjZGVmaW5lIEJBQ0tFTkQgYXJtXwotQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTc2LDYgKzc3LDkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBicmVhazsKICAKICAgICAgY2FzZSAxNiArIDAgLi4uIDE2ICsgNzoKQEAgLTcyLDcgKzg5LDcgQEAKICAgICAgICByZWdubyArPSA5NiAtIDE2OwogICAgICAgIEZBTExUSFJPVUdIOwogICAgICBjYXNlIDk2ICsgMCAuLi4gOTYgKyA3OgotQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlXworQEAgLTg3LDExICs5MSwxMzkgQEAgYXJtX3JlZ2lzdGVyX2luZm8gKEVibCAqZWJsIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSwKICAgICAgICBuYW1lbGVuID0gMjsKICAgICAgICBicmVhazsKICAKQEAgLTIxMiwxMCArMjI5LDEwIEBACiAgICAgICAgKnNldG5hbWUgPSAiVkZQIjsKICAgICAgICAqdHlwZSA9IERXX0FURV9mbG9hdDsKICAgICAgICAqYml0cyA9IDY0OwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL2FybV9yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvYmFja2VuZHMvYXJtX3JldHZhbC5jCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvYXJtX3JldHZhbC5jCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvYXJtX3JldHZhbC5jIGIvYmFja2VuZHMvYXJtX3JldHZhbC5jCitpbmRleCAxYzI4ZjAxLi4zMTNlNGViIDEwMDY0NAorLS0tIGEvYmFja2VuZHMvYXJtX3JldHZhbC5jCisrKysgYi9iYWNrZW5kcy9hcm1fcmV0dmFsLmMKIEBAIC00OCw2ICs0OCwxMyBAQCBzdGF0aWMgY29uc3QgRHdhcmZfT3AgbG9jX2ludHJlZ1tdID0KICAjZGVmaW5lIG5sb2NfaW50cmVnCTEKICAjZGVmaW5lIG5sb2NfaW50cmVncyhuKQkoMiAqIChuKSkKQEAgLTI0Miw3ICsyNTksNyBAQAogIHsKICAgIC8qIFN0YXJ0IHdpdGggdGhlIGZ1bmN0aW9uJ3MgdHlwZSwgYW5kIGdldCB0aGUgRFdfQVRfdHlwZSBhdHRyaWJ1dGUsCiAgICAgICB3aGljaCBpcyB0aGUgdHlwZSBvZiB0aGUgcmV0dXJuIHZhbHVlLiAgKi8KLUBAIC05OCw2ICsxMDYsMjEgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTk4LDYgKzEwNiwyMSBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgICBlbHNlCiAgCSAgICAgIHJldHVybiAtMTsKICAJICB9CkBAIC0yNjQsNyArMjgxLDcgQEAKICAJaWYgKHNpemUgPD0gMTYpCiAgCSAgewogIAkgIGludHJlZzoKLUBAIC0xMDYsNiArMTI5LDcgQEAgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbiAoRHdhcmZfRGllICpmdQorQEAgLTEwNiw2ICsxMjksNyBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgCSAgfQogIAogICAgICAgIGFnZ3JlZ2F0ZToKQEAgLTI3Miw3ICsyODksNyBAQAogIAkqbG9jcCA9IGxvY19hZ2dyZWdhdGU7CiAgCXJldHVybiBubG9jX2FnZ3JlZ2F0ZTsKICAgICAgICB9Ci1AQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1CitAQCAtMTI1LDMgKzE0OSwxOCBAQCBhcm1fcmV0dXJuX3ZhbHVlX2xvY2F0aW9uIChEd2FyZl9EaWUgKmZ1bmN0eXBlZGllLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApCiAgICAgICBEV0FSRiBhbmQgbWlnaHQgYmUgdmFsaWQuICAqLwogICAgcmV0dXJuIC0yOwogIH0KQEAgLTI5MSwxMCArMzA4LDI1IEBACiArICAgcmV0dXJuIGFybV9yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMCk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX2FybS5oIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzAwNzcwYworLS0tIC9kZXYvbnVsbAorKysrIGIvYmFja2VuZHMvbGliZWJsX2FybS5oCitAQCAtMCwwICsxLDkgQEAKKysjaWZuZGVmIF9MSUJFQkxfQVJNX0gKKysjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOworKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmVsZi9lbGYuaCBiL2xpYmVsZi9lbGYuaAoraW5kZXggNjMxMDA1NC4uNWRjNjMyYiAxMDA2NDQKKy0tLSBhL2xpYmVsZi9lbGYuaAorKysrIGIvbGliZWxmL2VsZi5oCiBAQCAtMjY5NCw2ICsyNjk0LDkgQEAgZW51bQogICNkZWZpbmUgRUZfQVJNX0VBQklfVkVSNAkweDA0MDAwMDAwCiAgI2RlZmluZSBFRl9BUk1fRUFCSV9WRVI1CTB4MDUwMDAwMDAKQEAgLTMzMywyNCArMzY1LDEyMSBAQAogICNkZWZpbmUgUl9BUk1fTUVfVE9PCQkxMjgJLyogT2Jzb2xldGUuICAqLwogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRCTEyOQogICNkZWZpbmUgUl9BUk1fVEhNX1RMU19ERVNDU0VRMTYJMTI5Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbGliZWJsX2FybS5oCi1AQCAtMCwwICsxLDkgQEAKLSsjaWZuZGVmIF9MSUJFQkxfQVJNX0gKLSsjZGVmaW5lIF9MSUJFQkxfQVJNX0ggMQotKwotKyNpbmNsdWRlIDxsaWJkdy5oPgotKwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9zb2Z0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotK2V4dGVybiBpbnQgYXJtX3JldHVybl92YWx1ZV9sb2NhdGlvbl9oYXJkKER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWxscmVncy5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWFkZHJjZmkuc2ggYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAoraW5kZXggZmQ4OWQwMi4uNDYyZDdjNSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCisrKysgYi90ZXN0cy9ydW4tYWRkcmNmaS5zaAorQEAgLTM1NTQsNiArMzU1NCwzOCBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjaGluZyBhZGRyZXNzIHJhbmdlCisgCUZQQSByZWcyMSAoZjUpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzIyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMjMgKGY3KTogdW5kZWZpbmVkCisrCVZGUCByZWc2NCAoczApOiB1bmRlZmluZWQKKysJVkZQIHJlZzY1IChzMSk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjYgKHMyKTogdW5kZWZpbmVkCisrCVZGUCByZWc2NyAoczMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzY4IChzNCk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNjkgKHM1KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MCAoczYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzcxIChzNyk6IHVuZGVmaW5lZAorKwlWRlAgcmVnNzIgKHM4KTogdW5kZWZpbmVkCisrCVZGUCByZWc3MyAoczkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc0IChzMTApOiB1bmRlZmluZWQKKysJVkZQIHJlZzc1IChzMTEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc2IChzMTIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc3IChzMTMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc4IChzMTQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzc5IChzMTUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgwIChzMTYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgxIChzMTcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgyIChzMTgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzgzIChzMTkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg0IChzMjApOiB1bmRlZmluZWQKKysJVkZQIHJlZzg1IChzMjEpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg2IChzMjIpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg3IChzMjMpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg4IChzMjQpOiB1bmRlZmluZWQKKysJVkZQIHJlZzg5IChzMjUpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkwIChzMjYpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkxIChzMjcpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkyIChzMjgpOiB1bmRlZmluZWQKKysJVkZQIHJlZzkzIChzMjkpOiB1bmRlZmluZWQKKysJVkZQIHJlZzk0IChzMzApOiB1bmRlZmluZWQKKysJVkZQIHJlZzk1IChzMzEpOiB1bmRlZmluZWQKKyAJRlBBIHJlZzk2IChmMCk6IHVuZGVmaW5lZAorIAlGUEEgcmVnOTcgKGYxKTogdW5kZWZpbmVkCisgCUZQQSByZWc5OCAoZjIpOiB1bmRlZmluZWQKK0BAIC0zNTYyLDcgKzM1OTQsNjYgQEAgZHdhcmZfY2ZpX2FkZHJmcmFtZSAoLmVoX2ZyYW1lKTogbm8gbWF0Y2hpbmcgYWRkcmVzcyByYW5nZQorIAlGUEEgcmVnMTAxIChmNSk6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAyIChmNik6IHVuZGVmaW5lZAorIAlGUEEgcmVnMTAzIChmNyk6IHVuZGVmaW5lZAorLQlpbnRlZ2VyIHJlZzEyOCAoc3Bzcik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA0ICh3Y2dyMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA1ICh3Y2dyMSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA2ICh3Y2dyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA3ICh3Y2dyMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA4ICh3Y2dyNCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTA5ICh3Y2dyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEwICh3Y2dyNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTExICh3Y2dyNyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTEyICh3cjApOiB1bmRlZmluZWQKKysJTU1YIHJlZzExMyAod3IxKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTQgKHdyMik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE1ICh3cjMpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExNiAod3I0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMTcgKHdyNSk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTE4ICh3cjYpOiB1bmRlZmluZWQKKysJTU1YIHJlZzExOSAod3I3KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjAgKHdyOCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIxICh3cjkpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyMiAod3IxMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTIzICh3cjExKTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjQgKHdyMTIpOiB1bmRlZmluZWQKKysJTU1YIHJlZzEyNSAod3IxMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTI2ICh3cjE0KTogdW5kZWZpbmVkCisrCU1NWCByZWcxMjcgKHdyMTUpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEyOSAoc3Bzcl9maXEpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMwIChzcHNyX2lycSk6IHVuZGVmaW5lZAorKwlzdGF0ZSByZWcxMzEgKHNwc3JfYWJ0KTogdW5kZWZpbmVkCisrCXN0YXRlIHJlZzEzMiAoc3Bzcl91bmQpOiB1bmRlZmluZWQKKysJc3RhdGUgcmVnMTMzIChzcHNyX3N2Yyk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE0NCAocjhfdXNyKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTQ1IChyOV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDYgKHIxMF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDcgKHIxMV91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDggKHIxMl91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNDkgKHIxM191c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTAgKHIxNF91c3IpOiB1bmRlZmluZWQKKysJaW50ZWdlciByZWcxNTEgKHI4X2ZpcSk6IHVuZGVmaW5lZAorKwlpbnRlZ2VyIHJlZzE1MiAocjlfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTUzIChyMTBfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU0IChyMTFfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU1IChyMTJfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU2IChyMTNfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU3IChyMTRfZmlxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU4IChyMTNfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTU5IChyMTRfaXJxKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYwIChyMTNfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYxIChyMTRfYWJ0KTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYyIChyMTNfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTYzIChyMTRfdW5kKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY0IChyMTNfc3ZjKTogdW5kZWZpbmVkCisrCWludGVnZXIgcmVnMTY1IChyMTRfc3ZjKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTIgKHdjMCk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTkzICh3YzEpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NCAod2MyKTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTUgKHdjMyk6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk2ICh3YzQpOiB1bmRlZmluZWQKKysJTU1YIHJlZzE5NyAod2M1KTogdW5kZWZpbmVkCisrCU1NWCByZWcxOTggKHdjNik6IHVuZGVmaW5lZAorKwlNTVggcmVnMTk5ICh3YzcpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NiAoZDApOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1NyAoZDEpOiB1bmRlZmluZWQKKyAJVkZQIHJlZzI1OCAoZDIpOiB1bmRlZmluZWQKK2RpZmYgLS1naXQgYS90ZXN0cy9ydW4tYWxscmVncy5zaCBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCitpbmRleCAxNDIyYmQ2Li5kYzBmYzk5IDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLWFsbHJlZ3Muc2gKKysrKyBiL3Rlc3RzL3J1bi1hbGxyZWdzLnNoCiBAQCAtMjY3Miw3ICsyNjcyLDI4IEBAIGludGVnZXIgcmVnaXN0ZXJzOgogIAkgMTM6IHNwIChzcCksIGFkZHJlc3MgMzIgYml0cwogIAkgMTQ6IGxyIChsciksIGFkZHJlc3MgMzIgYml0cwpAQCAtNDY4LDExICs1OTcsMTEgQEAKICBFT0YKICAKICAjIFNlZSBydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaCBmb3IgaW5zdHJ1Y3Rpb25zIHRvIHJlZ2VuZXJhdGUKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2gKLSsrKyBlbGZ1dGlscy0wLjE3NS90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAotQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3CitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXJlYWRlbGYtbWl4ZWQtY29yZW5vdGUuc2ggYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAoraW5kZXggYzk2MGYxZC4uZTRiZjA3NCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3J1bi1yZWFkZWxmLW1peGVkLWNvcmVub3RlLnNoCisrKysgYi90ZXN0cy9ydW4tcmVhZGVsZi1taXhlZC1jb3Jlbm90ZS5zaAorQEAgLTMxLDEyICszMSwxMSBAQCBOb3RlIHNlZ21lbnQgb2YgODkyIGJ5dGVzIGF0IG9mZnNldCAweDI3NDoKICAgICAgcGlkOiAxMTA4NywgcHBpZDogMTEwNjMsIHBncnA6IDExMDg3LCBzaWQ6IDExMDYzCiAgICAgIHV0aW1lOiAwLjAwMDAwMCwgc3RpbWU6IDAuMDEwMDAwLCBjdXRpbWU6IDAuMDAwMDAwLCBjc3RpbWU6IDAuMDAwMDAwCiAgICAgIG9yaWdfcjA6IC0xLCBmcHZhbGlkOiAxCkBAIC00OTAsMTE0ICs2MTksMyBAQAogICAgQ09SRSAgICAgICAgICAgICAgICAgMTI0ICBQUlBTSU5GTwogICAgICBzdGF0ZTogMCwgc25hbWU6IFIsIHpvbWI6IDAsIG5pY2U6IDAsIGZsYWc6IDB4MDA0MDA1MDAKICAgICAgdWlkOiAwLCBnaWQ6IDAsIHBpZDogMTEwODcsIHBwaWQ6IDExMDYzLCBwZ3JwOiAxMTA4Nywgc2lkOiAxMTA2MwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy90ZXN0cy9ydW4tYWRkcmNmaS5zaAotKysrIGVsZnV0aWxzLTAuMTc1L3Rlc3RzL3J1bi1hZGRyY2ZpLnNoCi1AQCAtMzU1NCw2ICszNTU0LDM4IEBAIGR3YXJmX2NmaV9hZGRyZnJhbWUgKC5laF9mcmFtZSk6IG5vIG1hdGMKLSAJRlBBIHJlZzIxIChmNSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnMjIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcyMyAoZjcpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY0IChzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjUgKHMxKTogdW5kZWZpbmVkCi0rCVZGUCByZWc2NiAoczIpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzY3IChzMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNjggKHM0KTogdW5kZWZpbmVkCi0rCVZGUCByZWc2OSAoczUpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzcwIChzNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzEgKHM3KTogdW5kZWZpbmVkCi0rCVZGUCByZWc3MiAoczgpOiB1bmRlZmluZWQKLSsJVkZQIHJlZzczIChzOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzQgKHMxMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzUgKHMxMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzYgKHMxMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzcgKHMxMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzggKHMxNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnNzkgKHMxNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODAgKHMxNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODEgKHMxNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODIgKHMxOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODMgKHMxOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODQgKHMyMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODUgKHMyMSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODYgKHMyMik6IHVuZGVmaW5lZAotKwlWRlAgcmVnODcgKHMyMyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODggKHMyNCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnODkgKHMyNSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTAgKHMyNik6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTEgKHMyNyk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTIgKHMyOCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTMgKHMyOSk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTQgKHMzMCk6IHVuZGVmaW5lZAotKwlWRlAgcmVnOTUgKHMzMSk6IHVuZGVmaW5lZAotIAlGUEEgcmVnOTYgKGYwKTogdW5kZWZpbmVkCi0gCUZQQSByZWc5NyAoZjEpOiB1bmRlZmluZWQKLSAJRlBBIHJlZzk4IChmMik6IHVuZGVmaW5lZAotQEAgLTM1NjIsNyArMzU5NCw2NiBAQCBkd2FyZl9jZmlfYWRkcmZyYW1lICguZWhfZnJhbWUpOiBubyBtYXRjCi0gCUZQQSByZWcxMDEgKGY1KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDIgKGY2KTogdW5kZWZpbmVkCi0gCUZQQSByZWcxMDMgKGY3KTogdW5kZWZpbmVkCi0tCWludGVnZXIgcmVnMTI4IChzcHNyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDQgKHdjZ3IwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDUgKHdjZ3IxKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDYgKHdjZ3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDcgKHdjZ3IzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDggKHdjZ3I0KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMDkgKHdjZ3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTAgKHdjZ3I2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTEgKHdjZ3I3KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTIgKHdyMCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTEzICh3cjEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNCAod3IyKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTUgKHdyMyk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE2ICh3cjQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzExNyAod3I1KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMTggKHdyNik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTE5ICh3cjcpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyMCAod3I4KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjEgKHdyOSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTIyICh3cjEwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjMgKHdyMTEpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNCAod3IxMik6IHVuZGVmaW5lZAotKwlNTVggcmVnMTI1ICh3cjEzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxMjYgKHdyMTQpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzEyNyAod3IxNSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMjggKHNwc3IpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTI5IChzcHNyX2ZpcSk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzAgKHNwc3JfaXJxKTogdW5kZWZpbmVkCi0rCXN0YXRlIHJlZzEzMSAoc3Bzcl9hYnQpOiB1bmRlZmluZWQKLSsJc3RhdGUgcmVnMTMyIChzcHNyX3VuZCk6IHVuZGVmaW5lZAotKwlzdGF0ZSByZWcxMzMgKHNwc3Jfc3ZjKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTQ0IChyOF91c3IpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNDUgKHI5X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NiAocjEwX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0NyAocjExX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OCAocjEyX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE0OSAocjEzX3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MCAocjE0X3Vzcik6IHVuZGVmaW5lZAotKwlpbnRlZ2VyIHJlZzE1MSAocjhfZmlxKTogdW5kZWZpbmVkCi0rCWludGVnZXIgcmVnMTUyIChyOV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTMgKHIxMF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTQgKHIxMV9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTUgKHIxMl9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTYgKHIxM19maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTcgKHIxNF9maXEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTggKHIxM19pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNTkgKHIxNF9pcnEpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjAgKHIxM19hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjEgKHIxNF9hYnQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjIgKHIxM191bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjMgKHIxNF91bmQpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjQgKHIxM19zdmMpOiB1bmRlZmluZWQKLSsJaW50ZWdlciByZWcxNjUgKHIxNF9zdmMpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5MiAod2MwKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTMgKHdjMSk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk0ICh3YzIpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5NSAod2MzKTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTYgKHdjNCk6IHVuZGVmaW5lZAotKwlNTVggcmVnMTk3ICh3YzUpOiB1bmRlZmluZWQKLSsJTU1YIHJlZzE5OCAod2M2KTogdW5kZWZpbmVkCi0rCU1NWCByZWcxOTkgKHdjNyk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU2IChkMCk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU3IChkMSk6IHVuZGVmaW5lZAotIAlWRlAgcmVnMjU4IChkMik6IHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2Rpc2FibGVfd2Vycm9yLnBhdGNoCmluZGV4IDc1NzM2YmYuLmJiNTY3MGEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9kaXNhYmxlX3dlcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vZGlzYWJsZV93ZXJyb3IucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKK0Zyb20gZGVjZTA5ZmI4YzU5ZGJkYWIzNTZiNjNmYmU2Yjc1NTRkZDI0NjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhlbG11dCBHcm9obmUgPGhlbG11dEBzdWJkaXZpLmRlPgotU3ViamVjdDogZGlzYWJsZSAtV2Vycm9yIGFzIGl0IHRlbmRzIHRvIGJyZWFrIHdpdGggbmV3IGdjYyB2ZXJzaW9ucworRGF0ZTogRnJpLCAyMyBOb3YgMjAxOCAxNTo0NzoyMCArMDgwMAorU3ViamVjdDogW1BBVENIXSBkaXNhYmxlIC1XZXJyb3IgYXMgaXQgdGVuZHMgdG8gYnJlYWsgd2l0aCBuZXcgZ2NjIHZlcnNpb25zCisKIEJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzg4NjAwNAogTGFzdC1VcGRhdGU6IDIwMTgtMDEtMDEKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KIAotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2NvbmZpZy9ldS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvY29uZmlnL2V1LmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvY29uZmlnL2V1LmFtCi1AQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XCi0gCSAgICAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1Xc3RyaWN0LXByb3RvdHlwZXMgXAorLS0tCisgY29uZmlnL2V1LmFtIHwgMSAtCisgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZy9ldS5hbSBiL2NvbmZpZy9ldS5hbQoraW5kZXggODJhY2RhMy4uZGVkZTVjNiAxMDA2NDQKKy0tLSBhL2NvbmZpZy9ldS5hbQorKysrIGIvY29uZmlnL2V1LmFtCitAQCAtNzMsNyArNzMsNiBAQCBBTV9DRkxBR1MgPSAtc3RkPWdudTk5IC1XYWxsIC1Xc2hhZG93IC1XZm9ybWF0PTIgXAorIAkgICAgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3N0cmljdC1wcm90b3R5cGVzIC1XdHJhbXBvbGluZXMgXAogIAkgICAgJChMT0dJQ0FMX09QX1dBUk5JTkcpICQoRFVQTElDQVRFRF9DT05EX1dBUk5JTkcpIFwKICAJICAgICQoTlVMTF9ERVJFRkVSRU5DRV9XQVJOSU5HKSAkKElNUExJQ0lUX0ZBTExUSFJPVUdIX1dBUk5JTkcpIFwKIC0JICAgICQoaWYgJCgkKCpGKV9ub19XZXJyb3IpLCwtV2Vycm9yKSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHBwYV9iYWNrZW5kLmRpZmYKaW5kZXggMTA1ZTNmNC4uYWZjYzMwYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2hwcGFfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9ocHBhX2JhY2tlbmQuZGlmZgpAQCAtMSwxMCArMSw3OCBAQAorRnJvbSA4ZmU0Njg2ODJjNTUwNjA2ZWE5NjFhMWY5OTZhODYxODk0MGViMDg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogRnJpLCAxNiBKdWwgMjAxMCAxMjoyNjo0NiArMDgwMAorU3ViamVjdDogW1BBVENIXSBlbGZ1dGlsczogdXBncmFkZSB0byB2ZXJzaW9uIDAuMTQ4CisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICAgIHwgICA4ICstCisgYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oICB8ICAgOSArKworIGJhY2tlbmRzL3BhcmlzY19pbml0LmMgICAgfCAgNzMgKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWdzLmMgICAgfCAxNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgfCAxMjggKysrKysrKysrKysrKysrKysrKysrKysKKyBiYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMgIHwgMjEzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvcGFyaXNjX3N5bWJvbC5jICB8IDExMyArKysrKysrKysrKysrKysrKysrKworIGxpYmVsZi9lbGYuaCAgICAgICAgICAgICAgfCAgMTEgKysKKyA4IGZpbGVzIGNoYW5nZWQsIDcxMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9wYXJpc2NfcmVncy5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgYmFja2VuZHMvcGFyaXNjX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvTWFrZWZpbGUuYW0gYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQoraW5kZXggMjEyNmEyZS4uNTY3MWEzMiAxMDA2NDQKKy0tLSBhL2JhY2tlbmRzL01ha2VmaWxlLmFtCisrKysgYi9iYWNrZW5kcy9NYWtlZmlsZS5hbQorQEAgLTMzLDEyICszMywxMyBAQCBBTV9DUFBGTEFHUyArPSAtSSQodG9wX3NyY2RpcikvbGliZWJsIC1JJCh0b3Bfc3JjZGlyKS9saWJhc20gXAorIAorIAorIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKKy0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YKKysJICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCisgbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKKyAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAorIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKKy0JICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYQorKwkgICAgIGxpYmVibF9tNjhrX3BpYy5hIGxpYmVibF9icGZfcGljLmEgbGliZWJsX3Jpc2N2X3BpYy5hIFwKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTEzNiw2ICsxMzcsOSBAQCByaXNjdl9TUkNTID0gcmlzY3ZfaW5pdC5jIHJpc2N2X3N5bWJvbC5jIHJpc2N2X2NmaS5jIHJpc2N2X3JlZ3MuYyBcCisgbGliZWJsX3Jpc2N2X3BpY19hX1NPVVJDRVMgPSAkKHJpc2N2X1NSQ1MpCisgYW1fbGliZWJsX3Jpc2N2X3BpY19hX09CSkVDVFMgPSAkKHJpc2N2X1NSQ1M6LmM9Lm9zKQorIAorK3BhcmlzY19TUkNTID0gcGFyaXNjX2luaXQuYyBwYXJpc2Nfc3ltYm9sLmMgcGFyaXNjX3JlZ3MuYyBwYXJpc2NfcmV0dmFsLmMKKytsaWJlYmxfcGFyaXNjX3BpY19hX1NPVVJDRVMgPSAkKHBhcmlzY19TUkNTKQorK2FtX2xpYmVibF9wYXJpc2NfcGljX2FfT0JKRUNUUyA9ICQocGFyaXNjX1NSQ1M6LmM9Lm9zKQorIAorIGxpYmVibF8lLnNvIGxpYmVibF8lLm1hcDogbGliZWJsXyVfcGljLmEgJChsaWJlbGYpICQobGliZHcpICQobGliZXUpCisgCUBybSAtZiAkKEA6LnNvPS5tYXApCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oIGIvYmFja2VuZHMvbGliZWJsX3BhcmlzYy5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZjQ3M2I3OQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19pbml0LmMKKysrKyBiL2JhY2tlbmRzL2xpYmVibF9wYXJpc2MuaAorQEAgLTAsMCArMSw5IEBACisrI2lmbmRlZiBfTElCRUJMX0hQUEFfSAorKyNkZWZpbmUgX0xJQkVCTF9IUFBBX0ggMQorKworKyNpbmNsdWRlIDxsaWJkdy5oPgorKworK2V4dGVybiBpbnQgcGFyaXNjX3JldHVybl92YWx1ZV9sb2NhdGlvbl8zMihEd2FyZl9EaWUgKiwgY29uc3QgRHdhcmZfT3AgKipsb2NwKTsKKytleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fNjQoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7CisrCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX2luaXQuYyBiL2JhY2tlbmRzL3BhcmlzY19pbml0LmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5mMWU0MDFjCistLS0gL2Rldi9udWxsCisrKysgYi9iYWNrZW5kcy9wYXJpc2NfaW5pdC5jCiBAQCAtMCwwICsxLDczIEBACiArLyogSW5pdGlhbGl6YXRpb24gb2YgUEEtUklTQyBzcGVjaWZpYyBiYWNrZW5kIGxpYnJhcnkuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTc5LDEwICsxNDcsMTEgQEAKICsKICsgIHJldHVybiBNT0RWRVJTSU9OOwogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYyBiL2JhY2tlbmRzL3BhcmlzY19yZWdzLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4zODk1ZjhlCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYworKysrIGIvYmFja2VuZHMvcGFyaXNjX3JlZ3MuYwogQEAgLTAsMCArMSwxNTkgQEAKICsvKiBSZWdpc3RlciBuYW1lcyBhbmQgbnVtYmVycyBmb3IgUEEtUklTQyBEV0FSRi4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtMjQzLDEwICszMTIsMTEgQEAKICsgIG5hbWVbbmFtZWxlbisrXSA9ICdcMCc7CiArICByZXR1cm4gbmFtZWxlbjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvcGFyaXNjX3JlbG9jLmRlZgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYgYi9iYWNrZW5kcy9wYXJpc2NfcmVsb2MuZGVmCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWY4NzViYQogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsMTI4IEBACiArLyogTGlzdCB0aGUgcmVsb2NhdGlvbiB0eXBlcyBmb3IgUEEtUklTQy4gIC0qLSBDIC0qLQogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC0zNzYsMTAgKzQ0NiwxMSBAQAogK1JFTE9DX1RZUEUgKFRMU19EVFBNT0Q2NCwJRFlOKQogKwogKyNkZWZpbmUgTk9fUkVMQVRJVkVfUkVMT0MgICAgICAgMQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmRmN2VjM2EKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2NfcmV0dmFsLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19yZXR2YWwuYwogQEAgLTAsMCArMSwyMTMgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L1BBLVJJU0MgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01OTQsMTAgKzY2NSwxMSBAQAogKyAgcmV0dXJuIHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fIChmdW5jdHlwZWRpZSwgbG9jcCwgMSk7CiArfQogKwotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjU3NTRiZDgKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9wYXJpc2Nfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL3BhcmlzY19zeW1ib2wuYwogQEAgLTAsMCArMSwxMTMgQEAKICsvKiBQQS1SSVNDIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTcxMiw1NCArNzg0LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9saWJlYmxfcGFyaXNjLmgKLUBAIC0wLDAgKzEsOSBAQAotKyNpZm5kZWYgX0xJQkVCTF9IUFBBX0gKLSsjZGVmaW5lIF9MSUJFQkxfSFBQQV9IIDEKLSsKLSsjaW5jbHVkZSA8bGliZHcuaD4KLSsKLStleHRlcm4gaW50IHBhcmlzY19yZXR1cm5fdmFsdWVfbG9jYXRpb25fMzIoRHdhcmZfRGllICosIGNvbnN0IER3YXJmX09wICoqbG9jcCk7Ci0rZXh0ZXJuIGludCBwYXJpc2NfcmV0dXJuX3ZhbHVlX2xvY2F0aW9uXzY0KER3YXJmX0RpZSAqLCBjb25zdCBEd2FyZl9PcCAqKmxvY3ApOwotKwotKyNlbmRpZgotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZWxmdXRpbHMtMC4xNzUub3JpZy9iYWNrZW5kcy9NYWtlZmlsZS5hbQotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL01ha2VmaWxlLmFtCi1AQCAtMzMsMTIgKzMzLDEzIEBAIEFNX0NQUEZMQUdTICs9IC1JJCh0b3Bfc3JjZGlyKS9saWJlYmwgLUkKLSAKLSAKLSBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCi0tCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2Ci0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYwotIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAotIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKLSAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCi0tCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEKLSsJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0rCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotIG5vaW5zdF9MSUJSQVJJRVMgPSAkKGxpYmVibF9waWMpCi0gbm9pbnN0X0RBVEEgPSAkKGxpYmVibF9waWM6X3BpYy5hPS5zbykKLSAKLUBAIC0xMzYsNiArMTM3LDkgQEAgcmlzY3ZfU1JDUyA9IHJpc2N2X2luaXQuYyByaXNjdl9zeW1ib2wuYwotIGxpYmVibF9yaXNjdl9waWNfYV9TT1VSQ0VTID0gJChyaXNjdl9TUkNTKQotIGFtX2xpYmVibF9yaXNjdl9waWNfYV9PQkpFQ1RTID0gJChyaXNjdl9TUkNTOi5jPS5vcykKLSAKLStwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvbC5jIHBhcmlzY19yZWdzLmMgcGFyaXNjX3JldHZhbC5jCi0rbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSthbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2xpYmVsZi9lbGYuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWxmL2VsZi5oCi0rKysgZWxmdXRpbHMtMC4xNzUvbGliZWxmL2VsZi5oCitkaWZmIC0tZ2l0IGEvbGliZWxmL2VsZi5oIGIvbGliZWxmL2VsZi5oCitpbmRleCA3NTA0M2JjLi42MzEwMDU0IDEwMDY0NAorLS0tIGEvbGliZWxmL2VsZi5oCisrKysgYi9saWJlbGYvZWxmLmgKIEBAIC0yMTU1LDE2ICsyMTU1LDI0IEBAIGVudW0KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTdGCTEyCS8qIDE3IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KICAjZGVmaW5lIFJfUEFSSVNDX1BDUkVMMTRSCTE0CS8qIFJpZ2h0IDE0IGJpdHMgb2YgcmVsLiBhZGRyZXNzLiAgKi8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaHVyZF9wYXRoLnBhdGNoCmluZGV4IDhmYTM1YTQuLmYwMTRhZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9odXJkX3BhdGgucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2h1cmRfcGF0aC5wYXRjaApAQCAtMSw5ICsxLDE5IEBACitGcm9tIDJmNTRhOGNmOTU5ZWE4M2M0NTJiMWEyMmFjYmM0N2QyNzM4YjVmYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTY1Lm9yaWcvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi0rKysgZWxmdXRpbHMtMC4xNjUvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDMgKysrCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCA1MzUxZTAyLi43MGY2NjgxIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCisrKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC04Myw2ICs4Myw5IEBAIG5hdGl2ZV90ZXN0KCkKICAjICJjYW5ub3QgYXR0YWNoIHRvIHByb2Nlc3M6IEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZCIuCiAgWyAiJCh1bmFtZSkiID0gIkdOVS9rRnJlZUJTRCIgXSAmJiBleGl0IDc3CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vaWdub3JlX3N0cm1lcmdlLmRpZmYKaW5kZXggNTU1MTNlZS4uNTMzMzI0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2lnbm9yZV9zdHJtZXJnZS5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9pZ25vcmVfc3RybWVyZ2UuZGlmZgpAQCAtMSw4ICsxLDE5IEBACitGcm9tIGQzMjZhZDk5YmU4NTY4MTUyNjBhMDRlNTczZmM5NzA0NGMwMmY0NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIgSnVsIDIwMTggMTM6NTc6MDkgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZWxmdXRpbHM6IDAuMTcwIC0+IDAuMTcyCisKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZyBbZnJvbSBkZWJpYW5dCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAKLS0tLSBlbGZ1dGlscy0wLjE2NS5vcmlnL3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAotKysrIGVsZnV0aWxzLTAuMTY1L3Rlc3RzL3J1bi1zdHJpcC1zdHJtZXJnZS5zaAorLS0tCisgdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoIGIvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCitpbmRleCBhYTljMWViLi4yYmFiOGVjIDEwMDc1NQorLS0tIGEvdGVzdHMvcnVuLXN0cmlwLXN0cm1lcmdlLnNoCisrKysgYi90ZXN0cy9ydW4tc3RyaXAtc3RybWVyZ2Uuc2gKIEBAIC0zMCw3ICszMCw3IEBAIHJlbWVyZ2VkPXJlbWVyZ2VkLmVsZgogIHRlbXBmaWxlcyAkbWVyZ2VkICRzdHJpcHBlZCAkZGVidWdmaWxlICRyZW1lcmdlZAogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL2tmcmVlYnNkX3BhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAppbmRleCBmZTUxNTlmLi44MDVkYTgwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4va2ZyZWVic2RfcGF0aC5wYXRjaApAQCAtMSw3ICsxLDE3IEBACitGcm9tIGJhYzQ1OTk2ZWNlNzU5MDBlMGNkZTk3ZjM4ODllYWY2YzFiMjg2ZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDIzIE5vdiAyMDE4IDE1OjQ3OjIwICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiAwLjE3MCAtPiAwLjE3MgorCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotSW5kZXg6IGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy0tLQorIHRlc3RzL3J1bi1uYXRpdmUtdGVzdC5zaCB8IDYgKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoIGIvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCitpbmRleCBkMTkwMDdmLi41MzUxZTAyIDEwMDc1NQogLS0tIGEvdGVzdHMvcnVuLW5hdGl2ZS10ZXN0LnNoCiArKysgYi90ZXN0cy9ydW4tbmF0aXZlLXRlc3Quc2gKIEBAIC03Nyw2ICs3NywxMiBAQCBuYXRpdmVfdGVzdCgpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19iYWNrZW5kLmRpZmYKaW5kZXggOTk4ZmEwNC4uNjk3MzA2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfYmFja2VuZC5kaWZmCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX2JhY2tlbmQuZGlmZgpAQCAtMSw5ICsxLDYyIEBACitGcm9tIDEwYTc1ZmQyYmVlZmFmZTIwNDMxNjNmODU0MjZkMGU1NzVkZTU4ZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE2IEp1bCAyMDEwIDEyOjI2OjQ2ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGVsZnV0aWxzOiB1cGdyYWRlIHRvIHZlcnNpb24gMC4xNDgKKwogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nIFtmcm9tIGRlYmlhbl0KIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCistLS0KKyBiYWNrZW5kcy9NYWtlZmlsZS5hbSAgICB8ICAgOCArLQorIGJhY2tlbmRzL21pcHNfaW5pdC5jICAgIHwgIDU5ICsrKysrKysrCisgYmFja2VuZHMvbWlwc19yZWdzLmMgICAgfCAxMDQgKysrKysrKysrKysrKworIGJhY2tlbmRzL21pcHNfcmVsb2MuZGVmIHwgIDc5ICsrKysrKysrKysKKyBiYWNrZW5kcy9taXBzX3JldHZhbC5jICB8IDMyMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgYmFja2VuZHMvbWlwc19zeW1ib2wuYyAgfCAgNTMgKysrKysrKworIGxpYmVibC9lYmxvcGVuYmFja2VuZC5jIHwgICAyICsKKyA3IGZpbGVzIGNoYW5nZWQsIDYyNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX2luaXQuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlZ3MuYworIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBiYWNrZW5kcy9taXBzX3JldHZhbC5jCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGJhY2tlbmRzL21pcHNfc3ltYm9sLmMKKworZGlmZiAtLWdpdCBhL2JhY2tlbmRzL01ha2VmaWxlLmFtIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK2luZGV4IDU2NzFhMzIuLmJhODRkYTYgMTAwNjQ0CistLS0gYS9iYWNrZW5kcy9NYWtlZmlsZS5hbQorKysrIGIvYmFja2VuZHMvTWFrZWZpbGUuYW0KK0BAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSSQodG9wX3NyY2RpcikvbGliYXNtIFwKKyAKKyAKKyBtb2R1bGVzID0gaTM4NiBzaCB4ODZfNjQgaWE2NCBhbHBoYSBhcm0gYWFyY2g2NCBzcGFyYyBwcGMgcHBjNjQgczM5MCBcCistCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYworKwkgIHRpbGVneCBtNjhrIGJwZiByaXNjdiBwYXJpc2MgbWlwcworIGxpYmVibF9waWMgPSBsaWJlYmxfaTM4Nl9waWMuYSBsaWJlYmxfc2hfcGljLmEgbGliZWJsX3g4Nl82NF9waWMuYSAgICBcCisgCSAgICAgbGliZWJsX2lhNjRfcGljLmEgbGliZWJsX2FscGhhX3BpYy5hIGxpYmVibF9hcm1fcGljLmEgICAgXAorIAkgICAgIGxpYmVibF9hYXJjaDY0X3BpYy5hIGxpYmVibF9zcGFyY19waWMuYSBsaWJlYmxfcHBjX3BpYy5hIFwKKyAJICAgICBsaWJlYmxfcHBjNjRfcGljLmEgbGliZWJsX3MzOTBfcGljLmEgbGliZWJsX3RpbGVneF9waWMuYSBcCisgCSAgICAgbGliZWJsX202OGtfcGljLmEgbGliZWJsX2JwZl9waWMuYSBsaWJlYmxfcmlzY3ZfcGljLmEgXAorLQkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEKKysJICAgICBsaWJlYmxfcGFyaXNjX3BpYy5hIGxpYmVibF9taXBzX3BpYy5hCisgbm9pbnN0X0xJQlJBUklFUyA9ICQobGliZWJsX3BpYykKKyBub2luc3RfREFUQSA9ICQobGliZWJsX3BpYzpfcGljLmE9LnNvKQorIAorQEAgLTE0MSw2ICsxNDEsMTAgQEAgcGFyaXNjX1NSQ1MgPSBwYXJpc2NfaW5pdC5jIHBhcmlzY19zeW1ib2wuYyBwYXJpc2NfcmVncy5jIHBhcmlzY19yZXR2YWwuYworIGxpYmVibF9wYXJpc2NfcGljX2FfU09VUkNFUyA9ICQocGFyaXNjX1NSQ1MpCisgYW1fbGliZWJsX3BhcmlzY19waWNfYV9PQkpFQ1RTID0gJChwYXJpc2NfU1JDUzouYz0ub3MpCisgCisrbWlwc19TUkNTID0gbWlwc19pbml0LmMgbWlwc19zeW1ib2wuYyBtaXBzX3JlZ3MuYyBtaXBzX3JldHZhbC5jCisrbGliZWJsX21pcHNfcGljX2FfU09VUkNFUyA9ICQobWlwc19TUkNTKQorK2FtX2xpYmVibF9taXBzX3BpY19hX09CSkVDVFMgPSAkKG1pcHNfU1JDUzouYz0ub3MpCisrCisgbGliZWJsXyUuc28gbGliZWJsXyUubWFwOiBsaWJlYmxfJV9waWMuYSAkKGxpYmVsZikgJChsaWJkdykgJChsaWJldSkKKyAJQHJtIC1mICQoQDouc289Lm1hcCkKKyAJJChBTV9WX2F0KWVjaG8gJ0VMRlVUSUxTXyQoUEFDS0FHRV9WRVJTSU9OKSB7IGdsb2JhbDogJCpfaW5pdDsgbG9jYWw6ICo7IH07JyBcCitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19pbml0LmMgYi9iYWNrZW5kcy9taXBzX2luaXQuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjk3NWMwNGUKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX2luaXQuYworKysrIGIvYmFja2VuZHMvbWlwc19pbml0LmMKIEBAIC0wLDAgKzEsNTkgQEAKICsvKiBJbml0aWFsaXphdGlvbiBvZiBtaXBzIHNwZWNpZmljIGJhY2tlbmQgbGlicmFyeS4KICsgICBDb3B5cmlnaHQgKEMpIDIwMDYgUmVkIEhhdCwgSW5jLgpAQCAtNjQsMTAgKzExNywxMSBAQAogKwogKyAgcmV0dXJuIE1PRFZFUlNJT047CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVncy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWdzLmMgYi9iYWNrZW5kcy9taXBzX3JlZ3MuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ0Zjg2Y2IKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlZ3MuYworKysrIGIvYmFja2VuZHMvbWlwc19yZWdzLmMKIEBAIC0wLDAgKzEsMTA0IEBACiArLyogUmVnaXN0ZXIgbmFtZXMgYW5kIG51bWJlcnMgZm9yIE1JUFMgRFdBUkYuCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTE3MywxMCArMjI3LDExIEBACiArICBuYW1lW25hbWVsZW4rK10gPSAnXDAnOwogKyAgcmV0dXJuIG5hbWVsZW47CiArfQotSW5kZXg6IGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfcmVsb2MuZGVmCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYgYi9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjQ1Nzk5NzAKIC0tLSAvZGV2L251bGwKLSsrKyBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JlbG9jLmRlZgorKysrIGIvYmFja2VuZHMvbWlwc19yZWxvYy5kZWYKIEBAIC0wLDAgKzEsNzkgQEAKICsvKiBMaXN0IHRoZSByZWxvY2F0aW9uIHR5cGVzIGZvciBtaXBzLiAgLSotIEMgLSotCiArICAgQ29weXJpZ2h0IChDKSAyMDA2IFJlZCBIYXQsIEluYy4KQEAgLTI1NywxMCArMzEyLDExIEBACiArCiArI2RlZmluZSBOT19DT1BZX1JFTE9DIDEKICsjZGVmaW5lIE5PX1JFTEFUSVZFX1JFTE9DIDEKLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9iYWNrZW5kcy9taXBzX3JldHZhbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkaWZmIC0tZ2l0IGEvYmFja2VuZHMvbWlwc19yZXR2YWwuYyBiL2JhY2tlbmRzL21pcHNfcmV0dmFsLmMKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi42NTZjZDFmCiAtLS0gL2Rldi9udWxsCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19yZXR2YWwuYworKysrIGIvYmFja2VuZHMvbWlwc19yZXR2YWwuYwogQEAgLTAsMCArMSwzMjEgQEAKICsvKiBGdW5jdGlvbiByZXR1cm4gdmFsdWUgbG9jYXRpb24gZm9yIExpbnV4L21pcHMgQUJJLgogKyAgIENvcHlyaWdodCAoQykgMjAwNSBSZWQgSGF0LCBJbmMuCkBAIC01ODMsMTAgKzYzOSwxMSBAQAogKyAgICAgRFdBUkYgYW5kIG1pZ2h0IGJlIHZhbGlkLiAgKi8KICsgIHJldHVybiAtMjsKICt9Ci1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvbWlwc19zeW1ib2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZGlmZiAtLWdpdCBhL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMgYi9iYWNrZW5kcy9taXBzX3N5bWJvbC5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjYxYjA1ZAogLS0tIC9kZXYvbnVsbAotKysrIGVsZnV0aWxzLTAuMTc1L2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKKysrKyBiL2JhY2tlbmRzL21pcHNfc3ltYm9sLmMKIEBAIC0wLDAgKzEsNTMgQEAKICsvKiBNSVBTIHNwZWNpZmljIHN5bWJvbGljIG5hbWUgaGFuZGxpbmcuCiArICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzLCAyMDA1IFJlZCBIYXQsIEluYy4KQEAgLTY0MSwxMCArNjk4LDEwIEBACiArICAgICAgcmV0dXJuIEVMRl9UX05VTTsKICsgICAgfQogK30KLUluZGV4OiBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKLSsrKyBlbGZ1dGlscy0wLjE3NS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworZGlmZiAtLWdpdCBhL2xpYmVibC9lYmxvcGVuYmFja2VuZC5jIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKK2luZGV4IGQ1NGI3MjAuLjZjZjc2NmYgMTAwNjQ0CistLS0gYS9saWJlYmwvZWJsb3BlbmJhY2tlbmQuYworKysrIGIvbGliZWJsL2VibG9wZW5iYWNrZW5kLmMKIEBAIC03MSw2ICs3MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QKICAgIHsgInNwYXJjIiwgImVsZl9zcGFyYyIsICJzcGFyYyIsIDUsIEVNX1NQQVJDLCAwLCAwIH0sCiAgICB7ICJzcGFyYyIsICJlbGZfc3BhcmN2OHBsdXMiLCAic3BhcmMiLCA1LCBFTV9TUEFSQzMyUExVUywgMCwgMCB9LApAQCAtNjU0LDM0ICs3MTEsMyBAQAogIAogICAgeyAibTMyIiwgImVsZl9tMzIiLCAibTMyIiwgMywgRU1fTTMyLCAwLCAwIH0sCiAgICB7ICJtNjhrIiwgImVsZl9tNjhrIiwgIm02OGsiLCA0LCBFTV82OEssIEVMRkNMQVNTMzIsIEVMRkRBVEEyTVNCIH0sCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBlbGZ1dGlscy0wLjE3NS5vcmlnL2JhY2tlbmRzL01ha2VmaWxlLmFtCi0rKysgZWxmdXRpbHMtMC4xNzUvYmFja2VuZHMvTWFrZWZpbGUuYW0KLUBAIC0zMywxMyArMzMsMTMgQEAgQU1fQ1BQRkxBR1MgKz0gLUkkKHRvcF9zcmNkaXIpL2xpYmVibCAtSQotIAotIAotIG1vZHVsZXMgPSBpMzg2IHNoIHg4Nl82NCBpYTY0IGFscGhhIGFybSBhYXJjaDY0IHNwYXJjIHBwYyBwcGM2NCBzMzkwIFwKLS0JICB0aWxlZ3ggbTY4ayBicGYgcmlzY3YgcGFyaXNjCi0rCSAgdGlsZWd4IG02OGsgYnBmIHJpc2N2IHBhcmlzYyBtaXBzCi0gbGliZWJsX3BpYyA9IGxpYmVibF9pMzg2X3BpYy5hIGxpYmVibF9zaF9waWMuYSBsaWJlYmxfeDg2XzY0X3BpYy5hICAgIFwKLSAJICAgICBsaWJlYmxfaWE2NF9waWMuYSBsaWJlYmxfYWxwaGFfcGljLmEgbGliZWJsX2FybV9waWMuYSAgICBcCi0gCSAgICAgbGliZWJsX2FhcmNoNjRfcGljLmEgbGliZWJsX3NwYXJjX3BpYy5hIGxpYmVibF9wcGNfcGljLmEgXAotIAkgICAgIGxpYmVibF9wcGM2NF9waWMuYSBsaWJlYmxfczM5MF9waWMuYSBsaWJlYmxfdGlsZWd4X3BpYy5hIFwKLSAJICAgICBsaWJlYmxfbTY4a19waWMuYSBsaWJlYmxfYnBmX3BpYy5hIGxpYmVibF9yaXNjdl9waWMuYSBcCi0tCSAgICAgbGliZWJsX3BhcmlzY19waWMuYQotKwkgICAgIGxpYmVibF9wYXJpc2NfcGljLmEgbGliZWJsX21pcHNfcGljLmEKLSBub2luc3RfTElCUkFSSUVTID0gJChsaWJlYmxfcGljKQotIG5vaW5zdF9EQVRBID0gJChsaWJlYmxfcGljOl9waWMuYT0uc28pCi0gCi1AQCAtMTQxLDYgKzE0MSwxMCBAQCBwYXJpc2NfU1JDUyA9IHBhcmlzY19pbml0LmMgcGFyaXNjX3N5bWJvCi0gbGliZWJsX3BhcmlzY19waWNfYV9TT1VSQ0VTID0gJChwYXJpc2NfU1JDUykKLSBhbV9saWJlYmxfcGFyaXNjX3BpY19hX09CSkVDVFMgPSAkKHBhcmlzY19TUkNTOi5jPS5vcykKLSAKLSttaXBzX1NSQ1MgPSBtaXBzX2luaXQuYyBtaXBzX3N5bWJvbC5jIG1pcHNfcmVncy5jIG1pcHNfcmV0dmFsLmMKLStsaWJlYmxfbWlwc19waWNfYV9TT1VSQ0VTID0gJChtaXBzX1NSQ1MpCi0rYW1fbGliZWJsX21pcHNfcGljX2FfT0JKRUNUUyA9ICQobWlwc19TUkNTOi5jPS5vcykKLSsKLSBsaWJlYmxfJS5zbyBsaWJlYmxfJS5tYXA6IGxpYmVibF8lX3BpYy5hICQobGliZWxmKSAkKGxpYmR3KSAkKGxpYmV1KQotIAlAcm0gLWYgJChAOi5zbz0ubWFwKQotIAkkKEFNX1ZfYXQpZWNobyAnRUxGVVRJTFNfJChQQUNLQUdFX1ZFUlNJT04pIHsgZ2xvYmFsOiAkKl9pbml0OyBsb2NhbDogKjsgfTsnIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2VsZnV0aWxzL2ZpbGVzL2RlYmlhbi9taXBzX3JlYWRlbGZfdy5wYXRjaAppbmRleCBkMjZlNzJlLi4xNzM3ZTBkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9lbGZ1dGlscy9maWxlcy9kZWJpYW4vbWlwc19yZWFkZWxmX3cucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZWxmdXRpbHMvZmlsZXMvZGViaWFuL21pcHNfcmVhZGVsZl93LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAorRnJvbSAzM2RhNGI0MzQ3YWFjZGZiOGIxYjQyZTA2ZTI5ZTY4YTRiODgyZDk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS3VydCBSb2Vja3ggPGt1cnRAcm9lY2t4LmJlPgotU3ViamVjdDogTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2MjA0MQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCitEYXRlOiBNb24sIDQgTWFyIDIwMTkgMDk6NDU6MDAgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSByZWFkZWxmIC13IG91dHB1dCBkZWJ1ZyBpbmZvcm1hdGlvbiBvbiBtaXBzCiAKIFVwc3RyZWFtcyB3YW50cyBhIGNoYW5nZSB3aGVyZSB0aGlzIGlzIGhhbmRsZWQgYnkgYSBob29rIHRoYXQgbmVlZHMKIHRvIGJlIGZpbGxlZCBpbiBieSB0aGUgYmFja2VuZCBmb3IgdGhlIGFyY2guCkBAIC05LDExICs5LDE1IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcgW2Zyb20gZGViaWFuXQogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogCi1JbmRleDogZWxmdXRpbHMtMC4xNzUvc3JjL3JlYWRlbGYuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGVsZnV0aWxzLTAuMTc1Lm9yaWcvc3JjL3JlYWRlbGYuYwotKysrIGVsZnV0aWxzLTAuMTc1L3NyYy9yZWFkZWxmLmMKLUBAIC0xMTEzMyw3ICsxMTEzMyw4IEBAIHByaW50X2RlYnVnIChEd2ZsX01vZHVsZSAqZHdmbG1vZCwgRWJsICoKKy0tLQorIHNyYy9yZWFkZWxmLmMgfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9yZWFkZWxmLmMgYi9zcmMvcmVhZGVsZi5jCitpbmRleCAzMzcwNmJkLi5lZjEzMTU5IDEwMDY0NAorLS0tIGEvc3JjL3JlYWRlbGYuYworKysrIGIvc3JjL3JlYWRlbGYuYworQEAgLTExMTQ4LDcgKzExMTQ4LDggQEAgcHJpbnRfZGVidWcgKER3ZmxfTW9kdWxlICpkd2ZsbW9kLCBFYmwgKmVibCwgR0VsZl9FaGRyICplaGRyKQogICAgICAgIEdFbGZfU2hkciBzaGRyX21lbTsKICAgICAgICBHRWxmX1NoZHIgKnNoZHIgPSBnZWxmX2dldHNoZHIgKHNjbiwgJnNoZHJfbWVtKTsKICAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZS9kZWJpYW4tNzQyMjYyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxOWY5ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlL2RlYmlhbi03NDIyNjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1UaGUgYXdrIHBhdHRlcm4gd2FzIGNoZWNrZWQgKmJlZm9yZSogdGhlIFBlcmwgcGF0dGVybiwgc28gdGhlCi1wZXJsIHNjcmlwdCB3aXRoIEJFR0lOey4uLn0gd291bGQgYmUgcmVwb3J0ZWQgYXMgYXdrLCB0aGlzIHBhdGNoIGZpeGVzIGl0LgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtkZWJpYW5dCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waCBCaWVkbCA8ZGViaWFuLmF4aG5AbWFuY2htYWwuaW4tdWxtLmRlPgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVJlYmFzZSBvbiA1LjMxCi0KLVNpZ25lZC1vZmYtYnk6IEZhbiBYaW4gPGZhbi54aW5AanAuZnVqaXRzdS5jb20+Ci0tLS0KLSBtYWdpYy9NYWdkaXIvY29tbWFuZHMgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcyBiL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotaW5kZXggZjZhZDFjOC4uZjc5ZTdkZCAxMDA2NDQKLS0tLSBhL21hZ2ljL01hZ2Rpci9jb21tYW5kcwotKysrIGIvbWFnaWMvTWFnZGlyL2NvbW1hbmRzCi1AQCAtNTcsNiArNTcsNyBAQAotIDAJc3RyaW5nL3d0CSMhXCAvdXNyL2Jpbi9hd2sJYXdrIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKLSAhOm1pbWUJdGV4dC94LWF3awotIDAJcmVnZXgvNDA5Ngk9XltcMDQwXHRcZlxyXG5dezAsMTAwfUJFR0lOW1wwNDBcdFxmXHJcbl17MCwxMDB9W3tdCWF3ayBvciBwZXJsIHNjcmlwdCB0ZXh0Ci0rITpzdHJlbmd0aCAtIDEyCi0gCi0gIyBBVCZUIEJlbGwgTGFicycgUGxhbiA5IHNoZWxsCi0gMAlzdHJpbmcvd3QJIyFcIC9iaW4vcmMJUGxhbiA5IHJjIHNoZWxsIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOTI5MTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1TVU1NQVJZID0gIkZpbGUgY2xhc3NpZmljYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIkZpbGUgYXR0ZW1wdHMgdG8gY2xhc3NpZnkgZmlsZXMgZGVwZW5kaW5nIFwKLW9uIHRoZWlyIGNvbnRlbnRzIGFuZCBwcmludHMgYSBkZXNjcmlwdGlvbiBpZiBhIG1hdGNoIGlzIGZvdW5kLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZGFyd2luc3lzLmNvbS9maWxlLyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotIyB0d28gY2xhdXNlIEJTRAotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO2JlZ2lubGluZT0yO21kNT02YTczODI4NzJlZGI2OGQzM2UxYTkzOThiNmUwMzE4OCIKLQotREVQRU5EUyA9ICJ6bGliIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiemxpYi1uYXRpdmUiCi0KLSMgQmxhY2tsaXN0IGEgYm9ndXMgdGFnIGluIHVwc3RyZWFtIGNoZWNrCi1VUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJGSUxFKD9QPHB2ZXI+KD8hNl8yMykuKykiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9maWxlL2ZpbGUuZ2l0IFwKLSAgICAgICAgZmlsZTovL2RlYmlhbi03NDIyNjIucGF0Y2ggXAotICAgICAgICAiCi0KLVNSQ1JFViA9ICIzMTVjZWYyZjY5OWRhM2MzMWE1NGJkM2M2YzYwNzA2ODBmYmFmMWY1IgotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgotQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCi0KLUNGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0JY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKLQkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgewotCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCi0JCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLVBST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KLSMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KLWJpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZmlsZS9maWxlXzUuMzYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE4MWZkZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ZpbGUvZmlsZV81LjM2LmJiCkBAIC0wLDAgKzEsNDggQEAKK1NVTU1BUlkgPSAiRmlsZSBjbGFzc2lmaWNhdGlvbiB0b29sIgorREVTQ1JJUFRJT04gPSAiRmlsZSBhdHRlbXB0cyB0byBjbGFzc2lmeSBmaWxlcyBkZXBlbmRpbmcgXAorb24gdGhlaXIgY29udGVudHMgYW5kIHByaW50cyBhIGRlc2NyaXB0aW9uIGlmIGEgbWF0Y2ggaXMgZm91bmQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5kYXJ3aW5zeXMuY29tL2ZpbGUvIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCisjIHR3byBjbGF1c2UgQlNECitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7YmVnaW5saW5lPTI7bWQ1PTAyNTFlYWVjMTE4OGIyMGQ5YTcyYzUwMmVjZmRkYTFiIgorCitERVBFTkRTID0gInpsaWIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJ6bGliLW5hdGl2ZSIKKworIyBCbGFja2xpc3QgYSBib2d1cyB0YWcgaW4gdXBzdHJlYW0gY2hlY2sKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIkZJTEUoP1A8cHZlcj4oPyE2XzIzKS4rKSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2ZpbGUvZmlsZS5naXQiCisKK1NSQ1JFViA9ICJmM2E0YjlhZGEzY2E5OWU2MmM2MmI5YWE3OGVlZTQ5MzVhODA5NGZlIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJmaWxlIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZpbGVdID0gIiR7YmluZGlyfS9maWxlIgorCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCitFWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItZSBGSUxFX0NPTVBJTEU9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L2ZpbGUtbmF0aXZlL2ZpbGUiCisKK0NGTEFHU19hcHBlbmQgPSAiIC1zdGQ9Yzk5IgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9taXNjLyoubWdjIgorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisJY3JlYXRlX2NtZGxpbmVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9maWxlIFwKKwkJLS1tYWdpYy1maWxlICR7ZGF0YWRpcn0vbWlzYy9tYWdpYy5tZ2MKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworCWNyZWF0ZV9jbWRsaW5lX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZmlsZSBcCisJCS0tbWFnaWMtZmlsZSAke2RhdGFkaXJ9L21pc2MvbWFnaWMubWdjCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK1BST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgorIyBEb24ndCB1c2UgTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggYXMgdGhhdCBoaWRlcyBsaWJtYWdpYyBmcm9tIGFueW9uZSB3aG8KKyMgZGVwZW5kcyBvbiBmaWxlLXJlcGxhY2VtZW50LW5hdGl2ZS4KK2JpbmRpcl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIi9maWxlLW5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzdjODhmMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzUgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiNy4zLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiNy4zLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy03LjM6JHtGSUxFX0RJUk5BTUV9L2djYy03LjMvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiNy0yMDE3MDUwNCIKLUJBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgotI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgotI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCi0jQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIuYnoyIgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE2LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxOC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjItRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI1LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjctZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LUVuYWJsZS1TUEUtQWx0aVZlYy1nZW5lcmF0aW9uLW9uLXBvd2VwYy1saW51eC10YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzAtRW5zdXJlLXRhcmdldC1nY2MtaGVhZGVycy1jYW4tYmUtaW5jbHVkZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNS1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzctU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0MC1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDEtZ2NjLWxpYmNwcC1zdXBwb3J0LWZmaWxlLXByZWZpeC1tYXAtb2xkLW5ldy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWludGVybmFsLWNvbXBpbGVyLWVycm9yLWluLXRlc3RjYXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVBSLWMtODAyOTAtbWVtb3J5LWhvZy13aXRoLXN0ZC1wYWlyLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gImJlMmRhMjE2ODBmMjc2MjRmM2E4NzA1NWM0YmE1YWYyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMmNhNmFlMDQ2MzZhZGJiNDMwZTg2NWExNDUxYWRmNjk3OWFiNDRjYTFjODM3NGY2MWZiYTY1NjQ1Y2UxNWMiCi0KLVMgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9nY2MtJHtQVn0iCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2dpdCIKLUIgPSAiJHtXT1JLRElSfS9nY2MtJHtQVn0vYnVpbGQuJHtIT1NUX1NZU30uJHtUQVJHRVRfU1lTfSIKLQotIyBMYW5ndWFnZSBPdmVycmlkZXMKLUZPUlRSQU4gPSAiIgotSkFWQSA9ICIiCi0KLUxUTyA9ICItLWVuYWJsZS1sdG8iCi1TU1AgPz0gIi0tZGlzYWJsZS1saWJzc3AiCi1TU1BfbWluZ3czMiA9ICItLWVuYWJsZS1saWJzc3AiCi0KLUVYVFJBX09FQ09ORl9CQVNFID0gIlwKLSAgICAke0xUT30gXAotICAgICR7U1NQfSBcCi0gICAgLS1lbmFibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtYm9vdHN0cmFwIFwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAke0AnLS13aXRoLWxpbmtlci1oYXNoLXN0eWxlPSR7TElOS0VSX0hBU0hfU1RZTEV9JyBpZiAnJHtMSU5LRVJfSEFTSF9TVFlMRX0nIGVsc2UgJyd9IFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0td2l0aC1wcGw9bm8gXAotICAgIC0td2l0aC1jbG9vZz1ubyBcCi0gICAgLS1lbmFibGUtY2hlY2tpbmc9cmVsZWFzZSBcCi0gICAgLS1lbmFibGUtY2hlYWRlcnM9Y19nbG9iYWwgXAotICAgIC0td2l0aG91dC1pc2wgXAotIgotCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA9ICJcCi0gICAgLS1kaXNhYmxlLWxpYm11ZGZsYXAgXAotICAgIC0tZGlzYWJsZS1saWJnb21wIFwKLSAgICAtLWRpc2FibGUtbGliaXRtIFwKLSAgICAtLWRpc2FibGUtbGlicXVhZG1hdGggXAotICAgIC0td2l0aC1zeXN0ZW0temxpYiBcCi0gICAgLS1kaXNhYmxlLWx0byBcCi0gICAgLS1kaXNhYmxlLXBsdWdpbiBcCi0gICAgLS1lbmFibGUtbGlua2VyLWJ1aWxkLWlkIFwKLSAgICAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PW5vIFwKLSAgICAtLXdpdGhvdXQtaXNsIFwKLSAgICAtLWRpc2FibGUtbGlic3NwIFwKLSIKLQotRVhUUkFfT0VDT05GX1BBVEhTID0gIlwKLSAgICAtLXdpdGgtZ3h4LWluY2x1ZGUtZGlyPS9ub3QvZXhpc3R7dGFyZ2V0X2luY2x1ZGVkaXJ9L2MrKy8ke0JJTlZ9IFwKLSAgICAtLXdpdGgtc3lzcm9vdD0vbm90L2V4aXN0IFwKLSAgICAtLXdpdGgtYnVpbGQtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0gXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1GaXgtaW50ZXJuYWwtY29tcGlsZXItZXJyb3ItaW4tdGVzdGNhc2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDVjYzBlZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1pbnRlcm5hbC1jb21waWxlci1lcnJvci1pbi10ZXN0Y2FzZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBACi1Gcm9tIGQzY2RkOTZhMzAwZjkwMDNhMWNjMjQyNTQxNjA1MTY5YWFjZGM4MTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiB3aWxsc2NobSA8d2lsbHNjaG1AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogTW9uLCAyNSBTZXAgMjAxNyAxNDozNTowMiArMDAwMAotU3ViamVjdDogW1BBVENIXSBbZ2NjXQotCi0yMDE3LTA5LTI1ICBXaWxsIFNjaG1pZHQgIDx3aWxsX3NjaG1pZHRAdm5ldC5pYm0uY29tPgotCi0JKiBjb25maWcvcnM2MDAwL3JzNjAwMC5jIChyczYwMDBfZ2ltcGxlX2ZvbGRfYnVpbHRpbik6IEFkZCBoYW5kbGluZwotCWZvciBlYXJseSBmb2xkaW5nIG9mIHZlY3RvciBzdG9yZXMgKEFMVElWRUNfQlVJTFRJTl9TVF8qKS4KLQkocnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMpOiBOZXcgaGVscGVyIGZ1bmN0aW9uLgotCSogY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jIChhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluKToKLQlSZW1vdmUgb2Jzb2xldGVkIGNvZGUgZm9yIGhhbmRsaW5nIEFMVElWRUNfQlVJTFRJTl9WRUNfU1QuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI1MzE1MiAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotRml4IGludGVybmFsIGNvbXBpbGVyIGVycm9yIGZvciB0ZXN0Y2FzZSBnY2MuZGcvdm14LzdkLTAyLmMKLQotVXBzdHJlYW0gY29tbWl0OiBkM2NkZDk2YTMwMGY5MDAzYTFjYzI0MjU0MTYwNTE2OWFhY2RjODExCi0KLUJhY2twb3J0IGJ5IEthdXNoaWsgUGhhdGFrIDxLYXVzaGlrLlBoYXRha0BrcGl0LmNvbT4KLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgfCAgOCArKysrKwotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgfCA3MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgICB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA3NSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC1jLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAtYy5jCi1pbmRleCBhNDlkYjk3Li40YTM2M2ExIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLWMuYwotQEAgLTYyNzksNzAgKzYyNzksNiBAQCBhbHRpdmVjX3Jlc29sdmVfb3ZlcmxvYWRlZF9idWlsdGluIChsb2NhCi0gCX0KLSAgICAgfQotIAotLSAgLyogU2ltaWxhcmx5IGZvciBzdHZ4LiAgKi8KLS0gIGlmIChmY29kZSA9PSBBTFRJVkVDX0JVSUxUSU5fVkVDX1NUCi0tICAgICAgJiYgKEJZVEVTX0JJR19FTkRJQU4gfHwgIVZFQ1RPUl9FTFRfT1JERVJfQklHKQotLSAgICAgICYmIG5hcmdzID09IDMpCi0tICAgIHsKLS0gICAgICB0cmVlIGFyZzAgPSAoKmFyZ2xpc3QpWzBdOwotLSAgICAgIHRyZWUgYXJnMSA9ICgqYXJnbGlzdClbMV07Ci0tICAgICAgdHJlZSBhcmcyID0gKCphcmdsaXN0KVsyXTsKLS0KLS0gICAgICAvKiBDb25zdHJ1Y3QgdGhlIG1hc2tlZCBhZGRyZXNzLiAgTGV0IGV4aXN0aW5nIGVycm9yIGhhbmRsaW5nIHRha2UKLS0JIG92ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBhIGNvbnN0YW50IG9mZnNldC4gICovCi0tICAgICAgYXJnMSA9IGZvbGQgKGFyZzEpOwotLQotLSAgICAgIGlmIChUUkVFX0NPREUgKGFyZzEpID09IElOVEVHRVJfQ1NUKQotLQl7Ci0tCSAgaWYgKCFwdHJvZmZ0eXBlX3AgKFRSRUVfVFlQRSAoYXJnMSkpKQotLQkgICAgYXJnMSA9IGJ1aWxkMSAoTk9QX0VYUFIsIHNpemV0eXBlLCBhcmcxKTsKLS0KLS0JICB0cmVlIGFyZzJfdHlwZSA9IFRSRUVfVFlQRSAoYXJnMik7Ci0tCSAgaWYgKFRSRUVfQ09ERSAoYXJnMl90eXBlKSA9PSBBUlJBWV9UWVBFICYmIGNfZGlhbGVjdF9jeHggKCkpCi0tCSAgICB7Ci0tCSAgICAgIC8qIEZvcmNlIGFycmF5LXRvLXBvaW50ZXIgZGVjYXkgZm9yIEMrKy4gICovCi0tCSAgICAgIGFyZzIgPSBkZWZhdWx0X2NvbnZlcnNpb24gKGFyZzIpOwotLQkgICAgICBhcmcyX3R5cGUgPSBUUkVFX1RZUEUgKGFyZzIpOwotLQkgICAgfQotLQotLQkgIC8qIEZpbmQgdGhlIGJ1aWx0LWluIHRvIG1ha2Ugc3VyZSBhIGNvbXBhdGlibGUgb25lIGV4aXN0czsgaWYgbm90Ci0tCSAgICAgd2UgZmFsbCBiYWNrIHRvIGRlZmF1bHQgaGFuZGxpbmcgdG8gZ2V0IHRoZSBlcnJvciBtZXNzYWdlLiAgKi8KLS0JICBmb3IgKGRlc2MgPSBhbHRpdmVjX292ZXJsb2FkZWRfYnVpbHRpbnM7Ci0tCSAgICAgICBkZXNjLT5jb2RlICYmIGRlc2MtPmNvZGUgIT0gZmNvZGU7IGRlc2MrKykKLS0JICAgIGNvbnRpbnVlOwotLQotLQkgIGZvciAoOyBkZXNjLT5jb2RlID09IGZjb2RlOyBkZXNjKyspCi0tCSAgICBpZiAocnM2MDAwX2J1aWx0aW5fdHlwZV9jb21wYXRpYmxlIChUUkVFX1RZUEUgKGFyZzApLCBkZXNjLT5vcDEpCi0tCQkmJiByczYwMDBfYnVpbHRpbl90eXBlX2NvbXBhdGlibGUgKFRSRUVfVFlQRSAoYXJnMSksIGRlc2MtPm9wMikKLS0JCSYmIHJzNjAwMF9idWlsdGluX3R5cGVfY29tcGF0aWJsZSAoVFJFRV9UWVBFIChhcmcyKSwKLS0JCQkJCQkgICBkZXNjLT5vcDMpKQotLQkgICAgICB7Ci0tCQl0cmVlIGFkZHIgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsIGFyZzJfdHlwZSwKLS0JCQkJCSAgICAgYXJnMiwgYXJnMSk7Ci0tCQl0cmVlIGFsaWduZWQKLS0JCSAgPSBmb2xkX2J1aWxkMl9sb2MgKGxvYywgQklUX0FORF9FWFBSLCBhcmcyX3R5cGUsCi0tCQkJCSAgICAgYWRkciwgYnVpbGRfaW50X2NzdCAoYXJnMl90eXBlLCAtMTYpKTsKLS0KLS0JCXRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLS0JCWlmIChUWVBFX01PREUgKGFyZzBfdHlwZSkgPT0gVjJESW1vZGUpCi0tCQkgIC8qIFR5cGUtYmFzZWQgYWxpYXNpbmcgYW5hbHlzaXMgdGhpbmtzIHZlY3RvciBsb25nCi0tCQkgICAgIGFuZCB2ZWN0b3IgbG9uZyBsb25nIGFyZSBkaWZmZXJlbnQgYW5kIHdpbGwgcHV0IHRoZW0KLS0JCSAgICAgaW4gZGlzdGluY3QgYWxpYXMgY2xhc3Nlcy4gIEZvcmNlIG91ciBhZGRyZXNzIHR5cGUKLS0JCSAgICAgdG8gYmUgYSBtYXktYWxpYXMgdHlwZSB0byBhdm9pZCB0aGlzLiAgKi8KLS0JCSAgYXJnMF90eXBlCi0tCQkgICAgPSBidWlsZF9wb2ludGVyX3R5cGVfZm9yX21vZGUgKGFyZzBfdHlwZSwgUG1vZGUsCi0tCQkJCQkJICAgdHJ1ZS8qY2FuX2FsaWFzX2FsbCovKTsKLS0JCWVsc2UKLS0JCSAgYXJnMF90eXBlID0gYnVpbGRfcG9pbnRlcl90eXBlIChhcmcwX3R5cGUpOwotLQkJYWxpZ25lZCA9IGJ1aWxkMSAoTk9QX0VYUFIsIGFyZzBfdHlwZSwgYWxpZ25lZCk7Ci0tCQl0cmVlIHN0ZyA9IGJ1aWxkX2luZGlyZWN0X3JlZiAobG9jLCBhbGlnbmVkLCBST19OVUxMKTsKLS0JCXRyZWUgcmV0dmFsID0gYnVpbGQyIChNT0RJRllfRVhQUiwgVFJFRV9UWVBFIChzdGcpLCBzdGcsCi0tCQkJCSAgICAgIGNvbnZlcnQgKFRSRUVfVFlQRSAoc3RnKSwgYXJnMCkpOwotLQkJcmV0dXJuIHJldHZhbDsKLS0JICAgICAgfQotLQl9Ci0tICAgIH0KLS0KLSAgIGZvciAobiA9IDA7Ci0gICAgICAgICFWT0lEX1RZUEVfUCAoVFJFRV9WQUxVRSAoZm5hcmdzKSkgJiYgbiA8IG5hcmdzOwotICAgICAgICBmbmFyZ3MgPSBUUkVFX0NIQUlOIChmbmFyZ3MpLCBuKyspCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotaW5kZXggYTQ5ZGI5Ny4uNGEzNjNhMSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jCi0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwotQEAgLTU1LDYgKzU1LDcgQEAKLSAjaW5jbHVkZSAicmVsb2FkLmgiCi0gI2luY2x1ZGUgInNjaGVkLWludC5oIgotICNpbmNsdWRlICJnaW1wbGlmeS5oIgotKyNpbmNsdWRlICJnaW1wbGUtZm9sZC5oIgotICNpbmNsdWRlICJnaW1wbGUtaXRlcmF0b3IuaCIKLSAjaW5jbHVkZSAiZ2ltcGxlLXNzYS5oIgotICNpbmNsdWRlICJnaW1wbGUtd2Fsay5oIgotQEAgLTE3MDg5LDYgKzE3MDkwLDI1IEBAIHJzNjAwMF9mb2xkX2J1aWx0aW4gKHRyZWUgZm5kZWNsLCBpbnQgbl8KLSAjZW5kaWYKLSB9Ci0gCi0rLyogIEhlbHBlciBmdW5jdGlvbiB0byBzb3J0IG91dCB3aGljaCBidWlsdC1pbnMgbWF5IGJlIHZhbGlkIHdpdGhvdXQgaGF2aW5nCi0rICAgIGEgTEhTLiAgKi8KLStib29sCi0rcnM2MDAwX2J1aWx0aW5fdmFsaWRfd2l0aG91dF9saHMgKGVudW0gcnM2MDAwX2J1aWx0aW5zIGZuX2NvZGUpCi0rewotKyAgc3dpdGNoIChmbl9jb2RlKQotKyAgICB7Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjE2UUk6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjhISToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WNFNJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0Y6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjJESToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRGOgotKyAgICAgIHJldHVybiB0cnVlOwotKyAgICBkZWZhdWx0OgotKyAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgfQotK30KLSsKLSAvKiBGb2xkIGEgbWFjaGluZS1kZXBlbmRlbnQgYnVpbHQtaW4gaW4gR0lNUExFLiAgKEZvciBmb2xkaW5nIGludG8KLSAgICBhIGNvbnN0YW50LCB1c2UgcnM2MDAwX2ZvbGRfYnVpbHRpbi4pICAqLwotIAotQEAgLTE3MTAyLDYgKzE3MTIyLDEwIEBAIHJzNjAwMF9naW1wbGVfZm9sZF9idWlsdGluIChnaW1wbGVfc3RtdF8KLSAgICAgPSAoZW51bSByczYwMDBfYnVpbHRpbnMpIERFQ0xfRlVOQ1RJT05fQ09ERSAoZm5kZWNsKTsKLSAgIHRyZWUgYXJnMCwgYXJnMSwgbGhzOwotIAotKyAgLyogUHJldmVudCBnaW1wbGUgZm9sZGluZyBmb3IgY29kZSB0aGF0IGRvZXMgbm90IGhhdmUgYSBMSFMsIHVubGVzcyBpdCBpcwotKyAgICAgYWxsb3dlZCBwZXIgdGhlIHJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIGhlbHBlciBmdW5jdGlvbi4gICovCi0rICBpZiAoIWdpbXBsZV9jYWxsX2xocyAoc3RtdCkgJiYgIXJzNjAwMF9idWlsdGluX3ZhbGlkX3dpdGhvdXRfbGhzIChmbl9jb2RlKSkKLSsgICAgIHJldHVybiBmYWxzZTsKLSAgIHN3aXRjaCAoZm5fY29kZSkKLSAgICAgewotICAgICAvKiBGbGF2b3JzIG9mIHZlY19hZGQuICBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgZXhwYW5kCi1AQCAtMTcxNjksNiArMTcxOTMsNTQgQEAgcnM2MDAwX2dpbXBsZV9mb2xkX2J1aWx0aW4gKGdpbXBsZV9zdG10XwotIAlnc2lfcmVwbGFjZSAoZ3NpLCBnLCB0cnVlKTsKLSAJcmV0dXJuIHRydWU7Ci0gICAgICAgfQotKyAgICAvKiBWZWN0b3Igc3RvcmVzLiAgKi8KLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMTZRSToKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WOEhJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1Y0U0k6Ci0rICAgIGNhc2UgQUxUSVZFQ19CVUlMVElOX1NUVlhfVjRTRjoKLSsgICAgY2FzZSBBTFRJVkVDX0JVSUxUSU5fU1RWWF9WMkRJOgotKyAgICBjYXNlIEFMVElWRUNfQlVJTFRJTl9TVFZYX1YyREY6Ci0rICAgICAgewotKwkgLyogRG8gbm90IGZvbGQgZm9yIC1tYWx0aXZlYz1iZSBvbiBMRSB0YXJnZXRzLiAgKi8KLSsJIGlmIChWRUNUT1JfRUxUX09SREVSX0JJRyAmJiAhQllURVNfQklHX0VORElBTikKLSsJICAgIHJldHVybiBmYWxzZTsKLSsJIGFyZzAgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDApOyAvKiBWYWx1ZSB0byBiZSBzdG9yZWQuICAqLwotKwkgYXJnMSA9IGdpbXBsZV9jYWxsX2FyZyAoc3RtdCwgMSk7IC8qIE9mZnNldC4gICovCi0rCSB0cmVlIGFyZzIgPSBnaW1wbGVfY2FsbF9hcmcgKHN0bXQsIDIpOyAvKiBTdG9yZS10byBhZGRyZXNzLiAgKi8KLSsJIGxvY2F0aW9uX3QgbG9jID0gZ2ltcGxlX2xvY2F0aW9uIChzdG10KTsKLSsJIHRyZWUgYXJnMF90eXBlID0gVFJFRV9UWVBFIChhcmcwKTsKLSsJIC8qIFVzZSBwdHJfdHlwZV9ub2RlIChubyBUQkFBKSBmb3IgdGhlIGFyZzJfdHlwZS4KLSsJICBGSVhNRTogKFJpY2hhcmQpICAiQSBwcm9wZXIgZml4IHdvdWxkIGJlIHRvIHRyYW5zaXRpb24gdGhpcyB0eXBlIGFzCi0rCSAgc2VlbiBmcm9tIHRoZSBmcm9udGVuZCB0byBHSU1QTEUsIGZvciBleGFtcGxlIGluIGEgc2ltaWxhciB3YXkgd2UKLSsJICBkbyBmb3IgTUVNX1JFRnMgYnkgcGlnZ3ktYmFja2luZyB0aGF0IG9uIGFuIGV4dHJhIGFyZ3VtZW50LCBhCi0rCSAgY29uc3RhbnQgemVybyBwb2ludGVyIG9mIHRoZSBhbGlhcyBwb2ludGVyIHR5cGUgdG8gdXNlICh3aGljaCB3b3VsZAotKwkgIGFsc28gc2VydmUgYXMgYSB0eXBlIGluZGljYXRvciBvZiB0aGUgc3RvcmUgaXRzZWxmKS4gIEknZCB1c2UgYQotKwkgIHRhcmdldCBzcGVjaWZpYyBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgdGhpcyAobm90IHN1cmUgaWYgd2UgY2FuIGhhdmUKLSsJICB0aG9zZSB0YXJnZXQgc3BlY2lmaWMsIGJ1dCBJIGd1ZXNzIGlmIGl0J3MgZm9sZGVkIGF3YXkgdGhlbiB0aGF0J3MKLSsJICBmaW5lKSBhbmQgZ2V0IGF3YXkgd2l0aCB0aGUgb3ZlcmxvYWQgc2V0LiIKLSsJICAqLwotKwkgdHJlZSBhcmcyX3R5cGUgPSBwdHJfdHlwZV9ub2RlOwotKwkgLyogUE9JTlRFUl9QTFVTX0VYUFIgd2FudHMgdGhlIG9mZnNldCB0byBiZSBvZiB0eXBlICdzaXpldHlwZScuICBDcmVhdGUKLSsJICAgIHRoZSB0cmVlIHVzaW5nIHRoZSB2YWx1ZSBmcm9tIGFyZzAuICBUaGUgcmVzdWx0aW5nIHR5cGUgd2lsbCBtYXRjaAotKwkgICAgdGhlIHR5cGUgb2YgYXJnMi4gICovCi0rCSBnaW1wbGVfc2VxIHN0bXRzID0gTlVMTDsKLSsJIHRyZWUgdGVtcF9vZmZzZXQgPSBnaW1wbGVfY29udmVydCAoJnN0bXRzLCBsb2MsIHNpemV0eXBlLCBhcmcxKTsKLSsJIHRyZWUgdGVtcF9hZGRyID0gZ2ltcGxlX2J1aWxkICgmc3RtdHMsIGxvYywgUE9JTlRFUl9QTFVTX0VYUFIsCi0rCQkJCSAgICAgICBhcmcyX3R5cGUsIGFyZzIsIHRlbXBfb2Zmc2V0KTsKLSsJIC8qIE1hc2sgb2ZmIGFueSBsb3dlciBiaXRzIGZyb20gdGhlIGFkZHJlc3MuICAqLwotKwkgdHJlZSBhbGlnbmVkX2FkZHIgPSBnaW1wbGVfYnVpbGQgKCZzdG10cywgbG9jLCBCSVRfQU5EX0VYUFIsCi0rCQkJCQkgIGFyZzJfdHlwZSwgdGVtcF9hZGRyLAotKwkJCQkJICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIC0xNikpOwotKwkgZ3NpX2luc2VydF9zZXFfYmVmb3JlIChnc2ksIHN0bXRzLCBHU0lfU0FNRV9TVE1UKTsKLSsJLyogVGhlIGRlc2lyZWQgZ2ltcGxlIHJlc3VsdCBzaG91bGQgYmUgc2ltaWxhciB0bzoKLSsJIE1FTVsoX192ZWN0b3IgZmxvYXRELjE0MDcgKilfMV0gPSB2ZjFELjI2OTc7ICAqLwotKwkgZ2ltcGxlICpnOwotKwkgZyA9IGdpbXBsZV9idWlsZF9hc3NpZ24gKGJ1aWxkMiAoTUVNX1JFRiwgYXJnMF90eXBlLCBhbGlnbmVkX2FkZHIsCi0rCQkJCQkgICBidWlsZF9pbnRfY3N0IChhcmcyX3R5cGUsIDApKSwgYXJnMCk7Ci0rCSBnaW1wbGVfc2V0X2xvY2F0aW9uIChnLCBsb2MpOwotKwkgZ3NpX3JlcGxhY2UgKGdzaSwgZywgdHJ1ZSk7Ci0rCSByZXR1cm4gdHJ1ZTsKLSsgICAgICB9Ci0gCi0gICAgIGRlZmF1bHQ6Ci0gICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDAxLUZpeC1wcGM2NGxlLWJ1aWxkLVBhcnRpYWwtYmFja3BvcnQtcjI1NjY1Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZmI3MGUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtRml4LXBwYzY0bGUtYnVpbGQtUGFydGlhbC1iYWNrcG9ydC1yMjU2NjU2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhYTY1YTQzNTE2ZGExZDQ4MDExZWY2MjFlZDU5ODgyODk3MTFkOTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogbWFyeGluIDxtYXJ4aW5AMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogRnJpLCAyOSBKdW4gMjAxOCAwOTozMTozMCArMDAwMAotU3ViamVjdDogW1BBVENIXSBQYXJ0aWFsIGJhY2twb3J0IHIyNTY2NTYKLQotMjAxOC0wNi0yOSAgTWFydGluIExpc2thICA8bWxpc2thQHN1c2UuY3o+Ci0KLQlCYWNrcG9ydCBmcm9tIG1haW5saW5lCi0JMjAxOC0wMS0xMCAgS2VsdmluIE5pbHNlbiAgPGtlbHZpbkBnY2MuZ251Lm9yZz4KLQotCSogbGV4LmMgKHNlYXJjaF9saW5lX2Zhc3QpOiBSZW1vdmUgaWxsZWdhbCBjb2VyY2lvbiBvZiBhbgotCXVuYWxpZ25lZCBwb2ludGVyIHZhbHVlIHRvIHZlY3RvciBwb2ludGVyIHR5cGUgYW5kIHJlcGxhY2Ugd2l0aAotCXVzZSBvZiBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoKSBidWlsdC1pbiBmdW5jdGlvbiwgd2hpY2ggb3BlcmF0ZXMKLQlvbiB1bmFsaWduZWQgcG9pbnRlciB2YWx1ZXMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEpvZWwgU3RhbmxleSA8am9lbEBqbXMuaWQuYXU+Ci0tLS0KLSBsaWJjcHAvbGV4LmMgIHwgIDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCi1pbmRleCAwOTdjNzgwMDJjYmIuLmUwZmI5ZTgyMmM0NCAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtNTY4LDcgKzU2OCw3IEBAIHNlYXJjaF9saW5lX2Zhc3QgKGNvbnN0IHVjaGFyICpzLCBjb25zdCB1Y2hhciAqZW5kIEFUVFJJQlVURV9VTlVTRUQpCi0gICAgIHsKLSAgICAgICB2YyBtX25sLCBtX2NyLCBtX2JzLCBtX3FtOwotIAotLSAgICAgIGRhdGEgPSAqKChjb25zdCB2YyAqKXMpOwotKyAgICAgIGRhdGEgPSBfX2J1aWx0aW5fdmVjX3ZzeF9sZCAoMCwgcyk7Ci0gICAgICAgcyArPSAxNjsKLSAKLSAgICAgICBtX25sID0gKHZjKSBfX2J1aWx0aW5fdmVjX2NtcGVxKGRhdGEsIHJlcGxfbmwpOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItYy04MDI5MC1tZW1vcnktaG9nLXdpdGgtc3RkLXBhaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwM2EyOWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1jLTgwMjkwLW1lbW9yeS1ob2ctd2l0aC1zdGQtcGFpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUZyb20gOGMwMTRiY2VlY2E2YTU1ODUxOWU4NmIxNmE4MTQyYWNjYzQxZTk0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGphc29uIDxqYXNvbkAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBUaHUsIDI4IEp1biAyMDE4IDAwOjI1OjIxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBjKysvODAyOTAgLSBtZW1vcnktaG9nIHdpdGggc3RkOjpwYWlyLgotCi0JKiBwdC5jICh0eXBlX3VuaWZpY2F0aW9uX3JlYWwpOiBTa2lwIG5vbi1kZXBlbmRlbnQgY29udmVyc2lvbgotCWNoZWNrIGZvciBhIG5lc3RlZCBsaXN0IGFyZ3VtZW50LgotCShicmFjZWRfaW5pdF9kZXB0aCk6IE5ldy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogSm9lbCBTdGFubGV5IDxqb2VsQGptcy5pZC5hdT4KLS0tLQotIGdjYy9jcC9wdC5jICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9wdC5jIGIvZ2NjL2NwL3B0LmMKLWluZGV4IDc5Y2ZkMDEyOTIyNi4uNzEwNzdhM2IwNDk4IDEwMDY0NAotLS0tIGEvZ2NjL2NwL3B0LmMKLSsrKyBiL2djYy9jcC9wdC5jCi1AQCAtMTkyNDIsNiArMTkyNDIsMjQgQEAgdHJ5X2FycmF5X2RlZHVjdGlvbiAodHJlZSB0cGFybXMsIHRyZWUgdGFyZ3MsIHRyZWUgcGFybSkKLSAJCQkgIC8qbm9uZGVkdWNlZCovZmFsc2UsIGFycmF5X2RlZHVjdGlvbl9yKTsKLSB9Ci0gCi0rLyogUmV0dXJucyBob3cgbWFueSBsZXZlbHMgb2YgeyB9IElOSVQgY29udGFpbnMuICAqLwotKwotK3N0YXRpYyBpbnQKLSticmFjZWRfaW5pdF9kZXB0aCAodHJlZSBpbml0KQotK3sKLSsgIGlmICghaW5pdCB8fCAhQlJBQ0VfRU5DTE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkpCi0rICAgIHJldHVybiAwOwotKyAgdW5zaWduZWQgaTsgdHJlZSB2YWw7Ci0rICB1bnNpZ25lZCBtYXggPSAwOwotKyAgRk9SX0VBQ0hfQ09OU1RSVUNUT1JfVkFMVUUgKENPTlNUUlVDVE9SX0VMVFMgKGluaXQpLCBpLCB2YWwpCi0rICAgIHsKLSsgICAgICB1bnNpZ25lZCBlbHRfZCA9IGJyYWNlZF9pbml0X2RlcHRoICh2YWwpOwotKyAgICAgIGlmIChlbHRfZCA+IG1heCkKLSsJbWF4ID0gZWx0X2Q7Ci0rICAgIH0KLSsgIHJldHVybiBtYXggKyAxOwotK30KLSsKLSAvKiBNb3N0IHBhcm1zIGxpa2UgZm5fdHlwZV91bmlmaWNhdGlvbi4KLSAKLSAgICBJZiBTVUJSIGlzIDEsIHdlJ3JlIGJlaW5nIGNhbGxlZCByZWN1cnNpdmVseSAodG8gdW5pZnkgdGhlCi1AQCAtMTk0NzgsNiArMTk0OTYsMTAgQEAgdHlwZV91bmlmaWNhdGlvbl9yZWFsICh0cmVlIHRwYXJtcywKLSAKLSAJICAgIGlmICh1c2VzX3RlbXBsYXRlX3Bhcm1zIChwYXJtKSkKLSAJICAgICAgY29udGludWU7Ci0rCSAgICAvKiBXb3JrYXJvdW5kIGZvciBjKysvODAyOTA6IGF2b2lkIGNvbWJpbmF0b3JpYWwgZXhwbG9zaW9uIG9uCi0rCSAgICAgICBkZWVwbHkgbmVzdGVkIGJyYWNlZCBpbml0LWxpc3RzLiAgKi8KLSsJICAgIGlmIChicmFjZWRfaW5pdF9kZXB0aCAoYXJnKSA+IDIpCi0rCSAgICAgIGNvbnRpbnVlOwotIAkgICAgaWYgKGNoZWNrX25vbl9kZWR1Y2libGVfY29udmVyc2lvbiAocGFybSwgYXJnLCBzdHJpY3QsIGZsYWdzLAotIAkJCQkJCWV4cGxhaW5fcCkpCi0gCSAgICAgIHJldHVybiAxOwotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1QUi1ydGwtb3B0aW1pemF0aW9uLTgzMDMwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWY3OTg4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtUFItcnRsLW9wdGltaXphdGlvbi04MzAzMC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MiArMCwwIEBACi1Gcm9tIGY1YzRhOTQ0MGYxNWNjZjY3NzU2NTk5MTBhMjAxNGE1NDk0ZWU4NmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBlYm90Y2F6b3UgPGVib3RjYXpvdUAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQ+Ci1EYXRlOiBXZWQsIDIyIE5vdiAyMDE3IDIxOjQzOjIyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIAlQUiBydGwtb3B0aW1pemF0aW9uLzgzMDMwIAkqIGRvYy9ydGwudGV4aSAoRmxhZ3MKLSBpbiBhbiBSVEwgRXhwcmVzc2lvbik6IEFscGhhYmV0aXplLCBhZGQgZW50cnkgCWZvciBDUk9TU0lOR19KVU1QX1AgYW5kCi0gbWVudGlvbiB1c2FnZSBvZiAnanVtcCcgZm9yIEpVTVBfSU5TTnMuIAkoSW5zbnMpOiBEZWxldGUgZW50cnkgZm9yCi0gUkVHX0NST1NTSU5HX0pVTVAgaW4gcmVnaXN0ZXIgbm90ZXMuIAkqIGJiLXJlb3JkZXIuYwotICh1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyk6IERvIG5vdCB0ZXN0IHdoZXRoZXIgdGhlIAlDUk9TU0lOR19KVU1QX1AgZmxhZwotIGlzIGFscmVhZHkgc2V0IGJlZm9yZSBzZXR0aW5nIGl0LiAJKiBjZmdydGwuYyAoZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nKToKLSBMaWtld2lzZS4gCSogcmVvcmcuYyAocmVsYXhfZGVsYXlfc2xvdHMpOiBEbyBub3QgY29uc2lkZXIgYQotIENST1NTSU5HX0pVTVBfUCBpbnNuIAlhcyB1c2VsZXNzLgotCi1naXQtc3ZuLWlkOiBzdm4rc3NoOi8vZ2NjLmdudS5vcmcvc3ZuL2djYy90cnVua0AyNTUwODMgMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotVGhpcyBwYXRjaCByZW1vdmVzIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1PcmlnaW5hbCBiYWNrcG9ydCB0byBHQ0MgNy54IGJ5IEFtcnV0YSBQYXdhciA8QW1ydXRhLlBhd2FyQGtwaXQuY29tPgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGdjYy9iYi1yZW9yZGVyLmMgfCAgIDUgKy0tCi0gZ2NjL2NmZ3J0bC5jICAgICB8ICAgMyArLQotIGdjYy9kb2MvcnRsLnRleGkgfCAxMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGdjYy9yZW9yZy5jICAgICAgfCAgIDcgKy0tCi0gNSBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9iYi1yZW9yZGVyLmMgYi9nY2MvYmItcmVvcmRlci5jCi1pbmRleCA1NWU2ZGM2Li43OTQyODNjIDEwMDY0NAotLS0tIGEvZ2NjL2JiLXJlb3JkZXIuYwotKysrIGIvZ2NjL2JiLXJlb3JkZXIuYwotQEAgLTIyMzYsMTAgKzIyMzYsNyBAQCB1cGRhdGVfY3Jvc3NpbmdfanVtcF9mbGFncyAodm9pZCkKLSAgICAgRk9SX0VBQ0hfRURHRSAoZSwgZWksIGJiLT5zdWNjcykKLSAgICAgICBpZiAoZS0+ZmxhZ3MgJiBFREdFX0NST1NTSU5HKQotIAl7Ci0tCSAgaWYgKEpVTVBfUCAoQkJfRU5EIChiYikpCi0tCSAgICAgIC8qIFNvbWUgZmxhZ3Mgd2VyZSBhZGRlZCBkdXJpbmcgZml4X3VwX2ZhbGxfdGhydV9lZGdlcywgdmlhCi0tCQkgZm9yY2Vfbm9uZmFsbHRocnVfYW5kX3JlZGlyZWN0LiAgKi8KLS0JICAgICAgJiYgIUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpKQotKwkgIGlmIChKVU1QX1AgKEJCX0VORCAoYmIpKSkKLSAJICAgIENST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChiYikpID0gMTsKLSAJICBicmVhazsKLSAJfQotZGlmZiAtLWdpdCBhL2djYy9jZmdydGwuYyBiL2djYy9jZmdydGwuYwotaW5kZXggZDZlNWFjMC4uYTJhZDA3NSAxMDA2NDQKLS0tLSBhL2djYy9jZmdydGwuYwotKysrIGIvZ2NjL2NmZ3J0bC5jCi1AQCAtMTMzNCw4ICsxMzM0LDcgQEAgZml4dXBfcGFydGl0aW9uX2Nyb3NzaW5nIChlZGdlIGUpCi0gICBpZiAoQkJfUEFSVElUSU9OIChlLT5zcmMpICE9IEJCX1BBUlRJVElPTiAoZS0+ZGVzdCkpCi0gICAgIHsKLSAgICAgICBlLT5mbGFncyB8PSBFREdFX0NST1NTSU5HOwotLSAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkKLS0JICAmJiAhQ1JPU1NJTkdfSlVNUF9QIChCQl9FTkQgKGUtPnNyYykpKQotKyAgICAgIGlmIChKVU1QX1AgKEJCX0VORCAoZS0+c3JjKSkpCi0gCUNST1NTSU5HX0pVTVBfUCAoQkJfRU5EIChlLT5zcmMpKSA9IDE7Ci0gICAgIH0KLSAgIGVsc2UgaWYgKEJCX1BBUlRJVElPTiAoZS0+c3JjKSA9PSBCQl9QQVJUSVRJT04gKGUtPmRlc3QpKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvcnRsLnRleGkgYi9nY2MvZG9jL3J0bC50ZXhpCi1pbmRleCAyMTUyNGY1Li5hNThlZWRjIDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9ydGwudGV4aQotKysrIGIvZ2NjL2RvYy9ydGwudGV4aQotQEAgLTU2NSw2ICs1NjUsMTYgQEAgdGhhdCBhcmUgdXNlZCBpbiBjZXJ0YWluIHR5cGVzIG9mIGV4cHJlc3Npb24uICBNb3N0IG9mdGVuIHRoZXkKLSBhcmUgYWNjZXNzZWQgd2l0aCB0aGUgZm9sbG93aW5nIG1hY3Jvcywgd2hpY2ggZXhwYW5kIGludG8gbHZhbHVlcy4KLSAKLSBAdGFibGUgQGNvZGUKLStAZmluZGV4IENST1NTSU5HX0pVTVBfUAotK0BjaW5kZXggQGNvZGV7anVtcF9pbnNufSBhbmQgQHNhbXB7L2p9Ci0rQGl0ZW0gQ1JPU1NJTkdfSlVNUF9QIChAdmFye3h9KQotK05vbnplcm8gaW4gYSBAY29kZXtqdW1wX2luc259IGlmIGl0IGNyb3NzZXMgYmV0d2VlbiBob3QgYW5kIGNvbGQgc2VjdGlvbnMsCi0rd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgdmVyeSBmYXIgYXBhcnQgaW4gdGhlIGV4ZWN1dGFibGUuICBUaGUgcHJlc2VuY2UKLStvZiB0aGlzIGZsYWcgaW5kaWNhdGVzIHRvIG90aGVyIG9wdGltaXphdGlvbnMgdGhhdCB0aGlzIGJyYW5jaGluZyBpbnN0cnVjdGlvbgotK3Nob3VsZCBub3QgYmUgYGBjb2xsYXBzZWQnJyBpbnRvIGEgc2ltcGxlciBicmFuY2hpbmcgY29uc3RydWN0LiAgSXQgaXMgdXNlZAotK3doZW4gdGhlIG9wdGltaXphdGlvbiB0byBwYXJ0aXRpb24gYmFzaWMgYmxvY2tzIGludG8gaG90IGFuZCBjb2xkIHNlY3Rpb25zCi0raXMgdHVybmVkIG9uLgotKwotIEBmaW5kZXggQ09OU1RBTlRfUE9PTF9BRERSRVNTX1AKLSBAY2luZGV4IEBjb2Rle3N5bWJvbF9yZWZ9IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXtzeW1ib2xfcmVmfQotQEAgLTU3NywzNyArNTg3LDYgQEAgSW4gZWl0aGVyIGNhc2UgR0NDIGFzc3VtZXMgdGhlc2UgYWRkcmVzc2VzIGNhbiBiZSBhZGRyZXNzZWQgZGlyZWN0bHksCi0gcGVyaGFwcyB3aXRoIHRoZSBoZWxwIG9mIGJhc2UgcmVnaXN0ZXJzLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotIAotLUBmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0tQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1jb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLS1Ac2FtcHsvdX0uCi0tCi0tQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLS1AY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotLUBjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLS1AaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLS1wdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotLUBzYW1wey9pfS4KLS0KLS1AZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotLUBpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLS1JbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLS1AY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0tQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotLUBjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0tQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotLUBpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotLUluIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLS1pbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotLUBjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLS1AY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0tCi0gQGZpbmRleCBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QCi0gQGNpbmRleCBAY29kZXtqdW1wX2luc259IGFuZCBAc2FtcHsvdX0KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey91fQotQEAgLTcwMiw2ICs2ODEsMjkgQEAgU3RvcmVkIGluIHRoZSBAY29kZXtjYWxsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvY30uCi0gTm9uemVybyBpbiBhIEBjb2Rle21lbX0gaWYgdGhlIG1lbW9yeSByZWZlcmVuY2UgaG9sZHMgYSBwb2ludGVyLgotIFN0b3JlZCBpbiB0aGUgQGNvZGV7ZnJhbWVfcmVsYXRlZH0gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L2Z9LgotIAotK0BmaW5kZXggTUVNX1JFQURPTkxZX1AKLStAY2luZGV4IEBjb2Rle21lbX0gYW5kIEBzYW1wey91fQotK0BjaW5kZXggQGNvZGV7dW5jaGFuZ2luZ30sIGluIEBjb2Rle21lbX0KLStAaXRlbSBNRU1fUkVBRE9OTFlfUCAoQHZhcnt4fSkKLStOb256ZXJvIGluIGEgQGNvZGV7bWVtfSwgaWYgdGhlIG1lbW9yeSBpcyBzdGF0aWNhbGx5IGFsbG9jYXRlZCBhbmQgcmVhZC1vbmx5LgotKwotK1JlYWQtb25seSBpbiB0aGlzIGNvbnRleHQgbWVhbnMgbmV2ZXIgbW9kaWZpZWQgZHVyaW5nIHRoZSBsaWZldGltZSBvZiB0aGUKLStwcm9ncmFtLCBub3QgbmVjZXNzYXJpbHkgaW4gUk9NIG9yIGluIHdyaXRlLWRpc2FibGVkIHBhZ2VzLiAgQSBjb21tb24KLStleGFtcGxlIG9mIHRoZSBsYXRlciBpcyBhIHNoYXJlZCBsaWJyYXJ5J3MgZ2xvYmFsIG9mZnNldCB0YWJsZS4gIFRoaXMKLSt0YWJsZSBpcyBpbml0aWFsaXplZCBieSB0aGUgcnVudGltZSBsb2FkZXIsIHNvIHRoZSBtZW1vcnkgaXMgdGVjaG5pY2FsbHkKLSt3cml0YWJsZSwgYnV0IGFmdGVyIGNvbnRyb2wgaXMgdHJhbnNmZXJyZWQgZnJvbSB0aGUgcnVudGltZSBsb2FkZXIgdG8gdGhlCi0rYXBwbGljYXRpb24sIHRoaXMgbWVtb3J5IHdpbGwgbmV2ZXIgYmUgc3Vic2VxdWVudGx5IG1vZGlmaWVkLgotKwotK1N0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMgQHNhbXB7L3V9LgotKwotK0BmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0rQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotK0BjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLStAaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLStObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0rU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0rCi0gQGZpbmRleCBSRUdfRlVOQ1RJT05fVkFMVUVfUAotIEBjaW5kZXggQGNvZGV7cmVnfSBhbmQgQHNhbXB7L2l9Ci0gQGNpbmRleCBAY29kZXtyZXR1cm5fdmFsfSwgaW4gQGNvZGV7cmVnfQotQEAgLTczMSw2ICs3MzMsMzcgQEAgVGhlIHNhbWUgaGFyZCByZWdpc3RlciBtYXkgYmUgdXNlZCBhbHNvIGZvciBjb2xsZWN0aW5nIHRoZSB2YWx1ZXMgb2YKLSBmdW5jdGlvbnMgY2FsbGVkIGJ5IHRoaXMgb25lLCBidXQgQGNvZGV7UkVHX0ZVTkNUSU9OX1ZBTFVFX1B9IGlzIHplcm8KLSBpbiB0aGlzIGtpbmQgb2YgdXNlLgotIAotK0BmaW5kZXggUlRMX0NPTlNUX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9Ci0rQGNpbmRleCBAY29kZXt1bmNoYW5naW5nfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9DT05TVF9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStjb25zdCBmdW5jdGlvbi4gIFN0b3JlZCBpbiB0aGUgQGNvZGV7dW5jaGFuZ2luZ30gZmllbGQgYW5kIHByaW50ZWQgYXMKLStAc2FtcHsvdX0uCi0rCi0rQGZpbmRleCBSVExfUFVSRV9DQUxMX1AKLStAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9pfQotK0BjaW5kZXggQGNvZGV7cmV0dXJuX3ZhbH0sIGluIEBjb2Rle2NhbGxfaW5zbn0KLStAaXRlbSBSVExfUFVSRV9DQUxMX1AgKEB2YXJ7eH0pCi0rSW4gYSBAY29kZXtjYWxsX2luc259IGluZGljYXRlcyB0aGF0IHRoZSBpbnNuIHJlcHJlc2VudHMgYSBjYWxsIHRvIGEKLStwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZSBAY29kZXtyZXR1cm5fdmFsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcwotK0BzYW1wey9pfS4KLSsKLStAZmluZGV4IFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L3V9IG9yIEBzYW1wey9pfQotK0BpdGVtIFJUTF9DT05TVF9PUl9QVVJFX0NBTExfUCAoQHZhcnt4fSkKLStJbiBhIEBjb2Rle2NhbGxfaW5zbn0sIHRydWUgaWYgQGNvZGV7UlRMX0NPTlNUX0NBTExfUH0gb3IKLStAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0rQGZpbmRleCBSVExfTE9PUElOR19DT05TVF9PUl9QVVJFX0NBTExfUAotK0BjaW5kZXggQGNvZGV7Y2FsbF9pbnNufSBhbmQgQHNhbXB7L2N9Ci0rQGNpbmRleCBAY29kZXtjYWxsfSwgaW4gQGNvZGV7Y2FsbF9pbnNufQotK0BpdGVtIFJUTF9MT09QSU5HX0NPTlNUX09SX1BVUkVfQ0FMTF9QIChAdmFye3h9KQotK0luIGEgQGNvZGV7Y2FsbF9pbnNufSBpbmRpY2F0ZXMgdGhhdCB0aGUgaW5zbiByZXByZXNlbnRzIGEgcG9zc2libHkKLStpbmZpbml0ZSBsb29waW5nIGNhbGwgdG8gYSBjb25zdCBvciBwdXJlIGZ1bmN0aW9uLiAgU3RvcmVkIGluIHRoZQotK0Bjb2Rle2NhbGx9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey9jfS4gIE9ubHkgdHJ1ZSBpZiBvbmUgb2YKLStAY29kZXtSVExfQ09OU1RfQ0FMTF9QfSBvciBAY29kZXtSVExfUFVSRV9DQUxMX1B9IGlzIHRydWUuCi0rCi0gQGZpbmRleCBSVFhfRlJBTUVfUkVMQVRFRF9QCi0gQGNpbmRleCBAY29kZXtpbnNufSBhbmQgQHNhbXB7L2Z9Ci0gQGNpbmRleCBAY29kZXtjYWxsX2luc259IGFuZCBAc2FtcHsvZn0KLUBAIC03NjUsMjEgKzc5OCw2IEBAIGNvbXB1dGF0aW9uIHBlcmZvcm1lZCBieSB0aGlzIGluc3RydWN0aW9uLCBpLmUuLCBvbmUgdGhhdAotIFRoaXMgZmxhZyBpcyByZXF1aXJlZCBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nIHN1cHBvcnQgb24gdGFyZ2V0cyB3aXRoIFJUTAotIHByb2xvZ3Vlcy4KLSAKLS1AZmluZGV4IE1FTV9SRUFET05MWV9QCi0tQGNpbmRleCBAY29kZXttZW19IGFuZCBAc2FtcHsvdX0KLS1AY2luZGV4IEBjb2Rle3VuY2hhbmdpbmd9LCBpbiBAY29kZXttZW19Ci0tQGl0ZW0gTUVNX1JFQURPTkxZX1AgKEB2YXJ7eH0pCi0tTm9uemVybyBpbiBhIEBjb2Rle21lbX0sIGlmIHRoZSBtZW1vcnkgaXMgc3RhdGljYWxseSBhbGxvY2F0ZWQgYW5kIHJlYWQtb25seS4KLS0KLS1SZWFkLW9ubHkgaW4gdGhpcyBjb250ZXh0IG1lYW5zIG5ldmVyIG1vZGlmaWVkIGR1cmluZyB0aGUgbGlmZXRpbWUgb2YgdGhlCi0tcHJvZ3JhbSwgbm90IG5lY2Vzc2FyaWx5IGluIFJPTSBvciBpbiB3cml0ZS1kaXNhYmxlZCBwYWdlcy4gIEEgY29tbW9uCi0tZXhhbXBsZSBvZiB0aGUgbGF0ZXIgaXMgYSBzaGFyZWQgbGlicmFyeSdzIGdsb2JhbCBvZmZzZXQgdGFibGUuICBUaGlzCi0tdGFibGUgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIHJ1bnRpbWUgbG9hZGVyLCBzbyB0aGUgbWVtb3J5IGlzIHRlY2huaWNhbGx5Ci0td3JpdGFibGUsIGJ1dCBhZnRlciBjb250cm9sIGlzIHRyYW5zZmVycmVkIGZyb20gdGhlIHJ1bnRpbWUgbG9hZGVyIHRvIHRoZQotLWFwcGxpY2F0aW9uLCB0aGlzIG1lbW9yeSB3aWxsIG5ldmVyIGJlIHN1YnNlcXVlbnRseSBtb2RpZmllZC4KLS0KLS1TdG9yZWQgaW4gdGhlIEBjb2Rle3VuY2hhbmdpbmd9IGZpZWxkIGFuZCBwcmludGVkIGFzIEBzYW1wey91fS4KLS0KLSBAZmluZGV4IFNDSEVEX0dST1VQX1AKLSBAY2luZGV4IEBjb2Rle2luc259IGFuZCBAc2FtcHsvc30KLSBAY2luZGV4IEBjb2Rle2NhbGxfaW5zbn0gYW5kIEBzYW1wey9zfQotQEAgLTg3OSwxNCArODk3LDYgQEAgU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gTW9zdCB1c2VzIG9mIEBjb2Rle1NZTUJPTF9SRUZfRkxBR30gYXJlIGhpc3RvcmljIGFuZCBtYXkgYmUgc3Vic3VtZWQKLSBieSBAY29kZXtTWU1CT0xfUkVGX0ZMQUdTfS4gIENlcnRhaW5seSB1c2Ugb2YgQGNvZGV7U1lNQk9MX1JFRl9GTEFHU30KLSBpcyBtYW5kYXRvcnkgaWYgdGhlIHRhcmdldCByZXF1aXJlcyBtb3JlIHRoYW4gb25lIGJpdCBvZiBzdG9yYWdlLgotLQotLUBmaW5kZXggUFJFRkVUQ0hfU0NIRURVTEVfQkFSUklFUl9QCi0tQGNpbmRleCBAY29kZXtwcmVmZXRjaH0gYW5kIEBzYW1wey92fQotLUBjaW5kZXggQGNvZGV7dm9sYXRpbGV9LCBpbiBAY29kZXtwcmVmZXRjaH0KLS1AaXRlbSBQUkVGRVRDSF9TQ0hFRFVMRV9CQVJSSUVSX1AgKEB2YXJ7eH0pCi0tSW4gYSBAY29kZXtwcmVmZXRjaH0sIGluZGljYXRlcyB0aGF0IHRoZSBwcmVmZXRjaCBpcyBhIHNjaGVkdWxpbmcgYmFycmllci4KLS1ObyBvdGhlciBJTlNOcyB3aWxsIGJlIG1vdmVkIG92ZXIgaXQuCi0tU3RvcmVkIGluIHRoZSBAY29kZXt2b2xhdGlsfSBmaWVsZCBhbmQgcHJpbnRlZCBhcyBAc2FtcHsvdn0uCi0gQGVuZCB0YWJsZQotIAotIFRoZXNlIGFyZSB0aGUgZmllbGRzIHRvIHdoaWNoIHRoZSBhYm92ZSBtYWNyb3MgcmVmZXI6Ci1AQCAtOTc0LDYgKzk4NSw4IEBAIEluIGEgQGNvZGV7c2V0fSwgMSBtZWFucyBpdCBpcyBmb3IgYSByZXR1cm4uCi0gCi0gSW4gYSBAY29kZXtjYWxsX2luc259LCAxIG1lYW5zIGl0IGlzIGEgc2libGluZyBjYWxsLgotIAotK0luIGEgQGNvZGV7anVtcF9pbnNufSwgMSBtZWFucyBpdCBpcyBhIGNyb3NzaW5nIGp1bXAuCi0rCi0gSW4gYW4gUlRMIGR1bXAsIHRoaXMgZmxhZyBpcyByZXByZXNlbnRlZCBhcyBAc2FtcHsvan0uCi0gCi0gQGZpbmRleCB1bmNoYW5naW5nCi1AQCAtMzg4NywxNiArMzkwMCw2IEBAIG11bHRpcGxlIHRhcmdldHM7IHRoZSBsYXN0IGxhYmVsIGluIHRoZSBpbnNuIChpbiB0aGUgaGlnaGVzdCBudW1iZXJlZAotIGluc24tZmllbGQpIGdvZXMgaW50byB0aGUgQGNvZGV7SlVNUF9MQUJFTH0gZmllbGQgYW5kIGRvZXMgbm90IGhhdmUgYQotIEBjb2Rle1JFR19MQUJFTF9UQVJHRVR9IG5vdGUuICBAeHJlZntJbnNucywgSlVNUF9MQUJFTH0uCi0gCi0tQGZpbmRleCBSRUdfQ1JPU1NJTkdfSlVNUAotLUBpdGVtIFJFR19DUk9TU0lOR19KVU1QCi0tVGhpcyBpbnNuIGlzIGEgYnJhbmNoaW5nIGluc3RydWN0aW9uIChlaXRoZXIgYW4gdW5jb25kaXRpb25hbCBqdW1wIG9yCi0tYW4gaW5kaXJlY3QganVtcCkgd2hpY2ggY3Jvc3NlcyBiZXR3ZWVuIGhvdCBhbmQgY29sZCBzZWN0aW9ucywgd2hpY2gKLS1jb3VsZCBwb3RlbnRpYWxseSBiZSB2ZXJ5IGZhciBhcGFydCBpbiB0aGUgZXhlY3V0YWJsZS4gIFRoZSBwcmVzZW5jZQotLW9mIHRoaXMgbm90ZSBpbmRpY2F0ZXMgdG8gb3RoZXIgb3B0aW1pemF0aW9ucyB0aGF0IHRoaXMgYnJhbmNoaW5nCi0taW5zdHJ1Y3Rpb24gc2hvdWxkIG5vdCBiZSBgYGNvbGxhcHNlZCcnIGludG8gYSBzaW1wbGVyIGJyYW5jaGluZwotLWNvbnN0cnVjdC4gIEl0IGlzIHVzZWQgd2hlbiB0aGUgb3B0aW1pemF0aW9uIHRvIHBhcnRpdGlvbiBiYXNpYyBibG9ja3MKLS1pbnRvIGhvdCBhbmQgY29sZCBzZWN0aW9ucyBpcyB0dXJuZWQgb24uCi0tCi0gQGZpbmRleCBSRUdfU0VUSk1QCi0gQGl0ZW0gUkVHX1NFVEpNUAotIEFwcGVhcnMgYXR0YWNoZWQgdG8gZWFjaCBAY29kZXtDQUxMX0lOU059IHRvIEBjb2Rle3NldGptcH0gb3IgYQotZGlmZiAtLWdpdCBhL2djYy9yZW9yZy5jIGIvZ2NjL3Jlb3JnLmMKLWluZGV4IDU5MTRhZjYuLjc3ZjNmZTcgMTAwNjQ0Ci0tLS0gYS9nY2MvcmVvcmcuYwotKysrIGIvZ2NjL3Jlb3JnLmMKLUBAIC0zMzYwLDEwICszMzYwLDExIEBAIHJlbGF4X2RlbGF5X3Nsb3RzIChydHhfaW5zbiAqZmlyc3QpCi0gCX0KLSAKLSAgICAgICAvKiBTZWUgaWYgd2UgaGF2ZSBhIHNpbXBsZSAoY29uZGl0aW9uYWwpIGp1bXAgdGhhdCBpcyB1c2VsZXNzLiAgKi8KLS0gICAgICBpZiAoISBJTlNOX0FOTlVMTEVEX0JSQU5DSF9QIChkZWxheV9qdW1wX2luc24pCi0tCSAgJiYgISBjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0rICAgICAgaWYgKCFDUk9TU0lOR19KVU1QX1AgKGRlbGF5X2p1bXBfaW5zbikKLSsJICAmJiAhSU5TTl9BTk5VTExFRF9CUkFOQ0hfUCAoZGVsYXlfanVtcF9pbnNuKQotKwkgICYmICFjb25kanVtcF9pbl9wYXJhbGxlbF9wIChkZWxheV9qdW1wX2luc24pCi0gCSAgJiYgcHJldl9hY3RpdmVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkgPT0gaW5zbgotLQkgICYmICEgQkFSUklFUl9QIChwcmV2X25vbm5vdGVfaW5zbiAoYXNfYTxydHhfaW5zbiAqPiAodGFyZ2V0X2xhYmVsKSkpCi0rCSAgJiYgIUJBUlJJRVJfUCAocHJldl9ub25ub3RlX2luc24gKGFzX2E8cnR4X2luc24gKj4gKHRhcmdldF9sYWJlbCkpKQotIAkgIC8qIElmIHRoZSBsYXN0IGluc24gaW4gdGhlIGRlbGF5IHNsb3Qgc2V0cyBDQzAgZm9yIHNvbWUgaW5zbiwKLSAJICAgICB2YXJpb3VzIGNvZGUgYXNzdW1lcyB0aGF0IGl0IGlzIGluIGEgZGVsYXkgc2xvdC4gIFdlIGNvdWxkCi0gCSAgICAgcHV0IGl0IGJhY2sgd2hlcmUgaXQgYmVsb25nZWQgYW5kIGRlbGV0ZSB0aGUgcmVnaXN0ZXIgbm90ZXMsCi0tLSAKLTEuOC41LjYKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYWYxYzc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gMmZjZjFlMjNlZjRiMmE1YzkzNTI2ZjEyMjEyYWE4OTI1OTUyNjFmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvNDddIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBjb25maWd1cmUgICAgfCAyICstCi0gY29uZmlndXJlLmFjIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCAzMmEzODYzM2FkOC4uYjQ3NjA5NTIwODUgMTAwNzU1Ci0tLS0gYS9jb25maWd1cmUKLSsrKyBiL2NvbmZpZ3VyZQotQEAgLTc0NzIsNyArNzQ3Miw3IEBAIGZpCi0gIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgotIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCi0gCi0tRkxBR1NfRk9SX1RBUkdFVD0KLStGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgotIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgotICAqIiBuZXdsaWIgIiopCi0gICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDEyMzc3NDk5Mjk1Li4xNzZlYmI5MjFlZCAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMzA2NSw3ICszMDY1LDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMDktZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlMTNlZDYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAwOS1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1Gcm9tIDQ3OTFhMGEwZjQ1OTVkMGExODk3NGY0ZTg1YTc1OWEwNzg5OTQzZGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwODo1OTowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzQ3XSBnY2M6IHBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXN0cmlidXRpb246IGNvZGVzb3VyY2VyeV0KLS0tLQotIGdjYy9jb21tb24ub3B0ICAgICAgfCAgNCArKysrCi0gZ2NjL2NvbmZpZy5pbiAgICAgICB8ICA2ICsrKysrKwotIGdjYy9jb25maWd1cmUgICAgICAgfCAxNiArKysrKysrKysrKysrKysrCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICB8IDEwICsrKysrKysrKysKLSBnY2MvZG9jL2ludm9rZS50ZXhpIHwgIDkgKysrKysrKysrCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAyICsrCi0gZ2NjL2luY3BhdGguYyAgICAgICB8IDE5ICsrKysrKysrKysrKysrKysrKysKLSA3IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb21tb24ub3B0IGIvZ2NjL2NvbW1vbi5vcHQKLWluZGV4IGE1YzNhZWFhMzM2Li5mMDJmZTY2MzY3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb21tb24ub3B0Ci0rKysgYi9nY2MvY29tbW9uLm9wdAotQEAgLTY2Miw2ICs2NjIsMTAgQEAgV3JldHVybi1sb2NhbC1hZGRyCi0gQ29tbW9uIFZhcih3YXJuX3JldHVybl9sb2NhbF9hZGRyKSBJbml0KDEpIFdhcm5pbmcKLSBXYXJuIGFib3V0IHJldHVybmluZyBhIHBvaW50ZXIvcmVmZXJlbmNlIHRvIGEgbG9jYWwgb3IgdGVtcG9yYXJ5IHZhcmlhYmxlLgotIAotK1dwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rQ29tbW9uIFZhcihmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpIEluaXQoMSkgV2FybmluZwotK1dhcm4gZm9yIC1JIGFuZCAtTCBvcHRpb25zIHVzaW5nIHN5c3RlbSBkaXJlY3RvcmllcyBpZiBjcm9zcyBjb21waWxpbmcKLSsKLSBXc2hhZG93Ci0gQ29tbW9uIFZhcih3YXJuX3NoYWRvdykgV2FybmluZwotIFdhcm4gd2hlbiBvbmUgdmFyaWFibGUgc2hhZG93cyBhbm90aGVyLiAgU2FtZSBhcyAtV3NoYWRvdz1nbG9iYWwuCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5pbiBiL2djYy9jb25maWcuaW4KLWluZGV4IGJmMmFhN2IyZTdkLi5iMTIwMzk4N2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcuaW4KLSsrKyBiL2djYy9jb25maWcuaW4KLUBAIC0xOTQsNiArMTk0LDEyIEBACi0gI2VuZGlmCi0gCi0gCi0rLyogRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcyAqLwotKyNpZm5kZWYgVVNFRF9GT1JfVEFSR0VUCi0rI3VuZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rI2VuZGlmCi0rCi0rCi0gLyogRGVmaW5lIGlmIHlvdSB3YW50IGFsbCBvcGVyYXRpb25zIG9uIFJUTCAodGhlIGJhc2ljIGRhdGEgc3RydWN0dXJlIG9mIHRoZQotICAgIG9wdGltaXplciBhbmQgYmFjayBlbmQpIHRvIGJlIGNoZWNrZWQgZm9yIGR5bmFtaWMgdHlwZSBzYWZldHkgYXQgcnVudGltZS4KLSAgICBUaGlzIGlzIHF1aXRlIGV4cGVuc2l2ZS4gKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYzgyM2ZmZTYyOTAuLjQ4OThmMDRmYTZiIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0OSw2ICs5NDksNyBAQCB3aXRoX3N5c3RlbV96bGliCi0gZW5hYmxlX21haW50YWluZXJfbW9kZQotIGVuYWJsZV9saW5rX211dGV4Ci0gZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzCi0rZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMKLSBlbmFibGVfcGx1Z2luCi0gZW5hYmxlX2hvc3Rfc2hhcmVkCi0gZW5hYmxlX2xpYnF1YWRtYXRoX3N1cHBvcnQKLUBAIC0xNjkxLDYgKzE2OTIsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgIC0tZW5hYmxlLXZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnkKLSsgIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3RvcmllcwotICAgLS1lbmFibGUtcGx1Z2luICAgICAgICAgZW5hYmxlIHBsdWdpbiBzdXBwb3J0Ci0gICAtLWVuYWJsZS1ob3N0LXNoYXJlZCAgICBidWlsZCBob3N0IGNvZGUgYXMgc2hhcmVkIGxpYnJhcmllcwotICAgLS1kaXNhYmxlLWxpYnF1YWRtYXRoLXN1cHBvcnQKLUBAIC0yOTM0Nyw2ICsyOTM1MCwxOSBAQCBpZiB0ZXN0ICIke2VuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicytzZXR9IiA9IHNldDsgdGhlbiA6Ci0gZmkKLSAKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyB3YXMgZ2l2ZW4uCi0raWYgdGVzdCAiJHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcytzZXR9IiA9IHNldDsgdGhlbiA6Ci0rICBlbmFibGV2YWw9JGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzOwotK2Vsc2UKLSsgIGVuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vCi0rZmkKLSsKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rCi0rJGFzX2VjaG8gIiNkZWZpbmUgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMgMSIgPj5jb25mZGVmcy5oCi0rCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSAKLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggYWNmZTk3OTczODkuLjlkYzFkYzdmYzk2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTYxMDEsNiArNjEwMSwxNiBAQCBBQ19BUkdfRU5BQkxFKHZlcnNpb24tc3BlY2lmaWMtcnVudGltZS1saWJzLAotICAgICAgICAgICAgICAgICBbc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZQotICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5XSldKQotIAotK0FDX0FSR19FTkFCTEUoW3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAotKyAgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKSwsCi0rICAgICAgICAgICAgIFtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ub10pCi0raWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgotKyAgQUNfREVGSU5FKFtFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFU10sCi0rICAgICAgICAgICBbMV0sCi0rICAgICAgICAgICBbRGVmaW5lIHRvIHdhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pCi0rZmkKLSsKLSAjIFN1YnN0aXR1dGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMKLSBBQ19TVUJTVChzdWJkaXJzKQotIEFDX1NVQlNUKHNyY2RpcikKLWRpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotaW5kZXggNjhhNTU4ZTk5OTIuLjA2MGNkNzE2OWM2IDEwMDY0NAotLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQotKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQotQEAgLTI5OCw2ICsyOTgsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCi0gLVdwYWNrZWQgIC1XcGFja2VkLWJpdGZpZWxkLWNvbXBhdCAgLVdwYWRkZWQgQGdvbAotIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKLSAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKLSstV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAotIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCi0gLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCi0gLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAotQEAgLTUzOTUsNiArNTM5NiwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCi0gbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCi0gbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgotIAotK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCi0rRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCi0rZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcwotK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCi0rZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKLStzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCi0rCi0gQGl0ZW0gLVdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFdmbG9hdC1lcXVhbAotIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggYzQ4MTc4Zi4uZjYzZDUzZCAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAyOSw2ICsxMDI5LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZTp9ICV7TCp9ICUobWZ3cmFwKSAlKGxpbmtfbGliZ2NjKSAiIFwKLSAgICAgVlRBQkxFX1ZFUklGSUNBVElPTl9TUEVDICIgIiBTQU5JVElaRVJfRUFSTFlfU1BFQyAiICVvICIgQ0hLUF9TUEVDICIgXAotICAgICAle2ZvcGVuYWNjfGZvcGVubXB8JTpndCgle2Z0cmVlLXBhcmFsbGVsaXplLWxvb3BzPSo6JSp9IDEpOlwKLWRpZmYgLS1naXQgYS9nY2MvaW5jcGF0aC5jIGIvZ2NjL2luY3BhdGguYwotaW5kZXggOThmZTVlYzlhYjMuLmY5MGU3NGRiZDczIDEwMDY0NAotLS0tIGEvZ2NjL2luY3BhdGguYwotKysrIGIvZ2NjL2luY3BhdGguYwotQEAgLTI2LDYgKzI2LDcgQEAKLSAjaW5jbHVkZSAiaW50bC5oIgotICNpbmNsdWRlICJpbmNwYXRoLmgiCi0gI2luY2x1ZGUgImNwcGRlZmF1bHQuaCIKLSsjaW5jbHVkZSAiZGlhZ25vc3RpYy1jb3JlLmgiCi0gCi0gLyogTWljcm9zb2Z0IFdpbmRvd3MgZG9lcyBub3QgbmF0aXZlbHkgc3VwcG9ydCBpbm9kZXMuCi0gICAgVk1TIGhhcyBub24tbnVtZXJpYyBpbm9kZXMuICAqLwotQEAgLTM4Miw2ICszODMsMjQgQEAgbWVyZ2VfaW5jbHVkZV9jaGFpbnMgKGNvbnN0IGNoYXIgKnN5c3Jvb3QsIGNwcF9yZWFkZXIgKnBmaWxlLCBpbnQgdmVyYm9zZSkKLSAJfQotICAgICAgIGZwcmludGYgKHN0ZGVyciwgXygiRW5kIG9mIHNlYXJjaCBsaXN0LlxuIikpOwotICAgICB9Ci0rCi0rI2lmZGVmIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTCi0rICBpZiAoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKQotKyAgICB7Ci0rICAgICAgIHN0cnVjdCBjcHBfZGlyICpwOwotKwotKyAgICAgICBmb3IgKHAgPSBoZWFkc1tRVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkpCi0rICAgICAgICAgICAgd2FybmluZyAoT1BUX1dwb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzLAotKyAgICAgICAgICAgICAgICAgICAgICJpbmNsdWRlIGxvY2F0aW9uIFwiJXNcIiBpcyB1bnNhZmUgZm9yICIKLSsgICAgICAgICAgICAgICAgICAgICAiY3Jvc3MtY29tcGlsYXRpb24iLAotKyAgICAgICAgICAgICAgICAgICAgIHAtPm5hbWUpOwotKyAgICAgICAgIH0KLSsgICAgfQotKyNlbmRpZgotIH0KLSAKLSAvKiBVc2UgZ2l2ZW4gLUkgcGF0aHMgZm9yICNpbmNsdWRlICIuLi4iIGJ1dCBub3QgI2luY2x1ZGUgPC4uLj4sIGFuZAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMC1nY2MtcG9pc29uLWRpci1leHRlbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGUwNmFhMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEwLWdjYy1wb2lzb24tZGlyLWV4dGVuZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5ICswLDAgQEAKLUZyb20gZTc0ZWY4NGFkNjA5YjNiNmE1YzM3ZDIwN2ZmYzNjNmU3MGQxZjAyNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjAwOjM0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvNDddIGdjYy1wb2lzb24tZGlyLWV4dGVuZAotCi1BZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKLXplY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKLS91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAotYWJvcnRlZC4KLQotSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKLXdhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2luY3BhdGguYyB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBmOTBlNzRkYmQ3My4uYzU4M2VlNTA2MWQgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMzkzLDcgKzM5Myw5IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCi0gICAgICAgICAgewotICAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQotICAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQotLSAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSAgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotICAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5ZmYxZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDExLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhNDFkM2E1M2E0ZTMxM2MyMDgwMjMzMGQ2YjVjNzUzNThhNGVkODgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMS80N10gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggYjQ3NjA5NTIwODUuLjcyYThiYTk0YzRlIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzM2LDYgKzY3MzYsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNiMzkxMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDEyLTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSAzYWY5ZmJiZDE0ZTgzMjQyYWMyYWNiNTRiYmI0YmI3MjY4NDVmZDM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi80N10gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCBlNDIyYzQ0MmRhZS4uY2M4ODVlMjQ0NTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCAxMDBmOWRhNWUxNC4uNjAxY2RmMDhkMDUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMjgzMGVkMGQ4NjEuLmQwNTdmYWNkMmZkIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxMy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDM5YmY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTMtb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIDI2YTU4ZDA1ODQ0Mjc0OTE1ZDAxMWVkYmY5MzMwYzYxNTE2ODdiMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDEzLzQ3XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggOWFkMmY2ZTFmY2MuLmM0ZWY3Nzk2MjgyIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xODQ4LDYgKzE4NDgsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggZmZjYzg3Yzc5YzkuLjI4ZDhhOWNmNTMwIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IDA2MGNkNzE2OWM2Li44ZTJhZGMyNTY0NCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC00OTYsNyArNDk5LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljICAtc3RhdGljLWxpYmdjYyAgLXN0YXRpYy1saWJzdGRjKysgQGdvbAotIC1zdGF0aWMtbGliYXNhbiAgLXN0YXRpYy1saWJ0c2FuICAtc3RhdGljLWxpYmxzYW4gIC1zdGF0aWMtbGlidWJzYW4gQGdvbAotIC1zdGF0aWMtbGlibXB4ICAtc3RhdGljLWxpYm1weHdyYXBwZXJzIEBnb2wKLS0tc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIEBnb2wKLSstc2hhcmVkICAtc2hhcmVkLWxpYmdjYyAgLXN5bWJvbGljIC1ub3N0ZGxpYisrIEBnb2wKLSAtVCBAdmFye3NjcmlwdH0gIC1XbCxAdmFye29wdGlvbn0gIC1YbGlua2VyIEB2YXJ7b3B0aW9ufSBAZ29sCi0gLXUgQHZhcntzeW1ib2x9ICAteiBAdmFye2tleXdvcmR9fQotIAotQEAgLTExNjA2LDYgKzExNjA5LDMzIEBAIGxpYnJhcnkgc3Vicm91dGluZXMuCi0gY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0gCi0rQGl0ZW0gLW5vc3RkbGliKysKLStAb3BpbmRleCBub3N0ZGxpYisrCi0rRG8gbm90IHVzZSB0aGUgc3RhbmRhcmQgc3lzdGVtIEMrKyBydW50aW1lIGxpYnJhcmllcyB3aGVuIGxpbmtpbmcuCi0rT25seSB0aGUgbGlicmFyaWVzIHlvdSBzcGVjaWZ5IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBsaW5rZXIuCi0rCi0rQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9zdGRsaWJ9Ci0rQGNpbmRleCBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK0BjaW5kZXggQG9wdGlvbnstbm9kZWZhdWx0bGlic30gYW5kIHVucmVzb2x2ZWQgcmVmZXJlbmNlcwotK0BjaW5kZXggdW5yZXNvbHZlZCByZWZlcmVuY2VzIGFuZCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfQotK09uZSBvZiB0aGUgc3RhbmRhcmQgbGlicmFyaWVzIGJ5cGFzc2VkIGJ5IEBvcHRpb257LW5vc3RkbGlifSBhbmQKLStAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBpcyBAZmlsZXtsaWJnY2MuYX0sIGEgbGlicmFyeSBvZiBpbnRlcm5hbCBzdWJyb3V0aW5lcwotK3doaWNoIEdDQyB1c2VzIHRvIG92ZXJjb21lIHNob3J0Y29taW5ncyBvZiBwYXJ0aWN1bGFyIG1hY2hpbmVzLCBvciBzcGVjaWFsCi0rbmVlZHMgZm9yIHNvbWUgbGFuZ3VhZ2VzLgotKyhAeHJlZntJbnRlcmZhY2UsLEludGVyZmFjaW5nIHRvIEdDQyBPdXRwdXQsZ2NjaW50LEdOVSBDb21waWxlcgotK0NvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfSwKLStmb3IgbW9yZSBkaXNjdXNzaW9uIG9mIEBmaWxle2xpYmdjYy5hfS4pCi0rSW4gbW9zdCBjYXNlcywgeW91IG5lZWQgQGZpbGV7bGliZ2NjLmF9IGV2ZW4gd2hlbiB5b3Ugd2FudCB0byBhdm9pZAotK290aGVyIHN0YW5kYXJkIGxpYnJhcmllcy4gIEluIG90aGVyIHdvcmRzLCB3aGVuIHlvdSBzcGVjaWZ5IEBvcHRpb257LW5vc3RkbGlifQotK29yIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IHlvdSBzaG91bGQgdXN1YWxseSBzcGVjaWZ5IEBvcHRpb257LWxnY2N9IGFzIHdlbGwuCi0rVGhpcyBlbnN1cmVzIHRoYXQgeW91IGhhdmUgbm8gdW5yZXNvbHZlZCByZWZlcmVuY2VzIHRvIGludGVybmFsIEdDQwotK2xpYnJhcnkgc3Vicm91dGluZXMuCi0rKEFuIGV4YW1wbGUgb2Ygc3VjaCBhbiBpbnRlcm5hbCBzdWJyb3V0aW5lIGlzIEBjb2Rle19fbWFpbn0sIHVzZWQgdG8gZW5zdXJlIEMrKwotK2NvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAotK0dOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQotKwotIEBpdGVtIC1waWUKLSBAb3BpbmRleCBwaWUKLSBQcm9kdWNlIGEgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzIHRoYXQgc3VwcG9ydCBpdC4KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDYzMTVhYTBkZDE2Li5hNWZhZmJlNTEwNyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTA0Niw2ICsxMDQ2LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKLSAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCi0gICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAotKyAgICAleyFub3N0ZGxpYisrOn1cCi0gICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCi0gI2VuZGlmCi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE0LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTJiNWZiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTQtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotRnJvbSA3MTZkZTVkYjY4NTlmZDFlYTIxMDc4Yzk0YTQxZmFjN2E4ODViN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTQ6MjAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC80N10gZ2NjOiBkaXNhYmxlIE1BU0tfUkVMQVhfUElDX0NBTExTIGJpdAotCi1UaGUgbmV3IGZlYXR1cmUgYWRkZWQgYWZ0ZXIgNC4zLjMKLSJodHRwOi8vd3d3LnB1YmJzLm5ldC8yMDA5MDkvZ2NjLzk0MDQ4LXBhdGNoLWFkZC1zdXBwb3J0LWZvci1ybWlwc2phbHIuaHRtbCIKLXdpbGwgY2F1c2UgY2MxcGx1cyBlYXQgdXAgYWxsIHRoZSBzeXN0ZW0gbWVtb3J5IHdoZW4gYnVpbGQgd2Via2l0LWd0ay4KLVRoZSBmdW5jdGlvbiBtaXBzX2dldF9waWNfY2FsbF9zeW1ib2wga2VlcHMgb24gcmVjdXJzaXZlbHkgY2FsbGluZyBpdHNlbGYuCi1EaXNhYmxlIHRoaXMgZmVhdHVyZSB0byB3YWxrIGFzaWRlIHRoZSBidWcuCi0KLVNpZ25lZC1vZmYtYnk6IERvbmd4aWFvIFh1IDxkb25neGlhby54dUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgNyAtLS0tLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDcgLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggNDg5OGYwNGZhNmIuLjY0MGU0NjQzODA1IDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI3MzAzLDEzICsyNzMwMyw2IEBAICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBhbmQgbGlua2VyIGZvciBleHBsaWNpdCBKQUxSIHJlbG9jYXRpb24uLi4gIiA+JjY7Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY1Ci0gJGFzX2VjaG8gIiRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlkYzFkYzdmYzk2Li45YTJkYWU1NWJhMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC00NjQxLDEzICs0NjQxLDYgQEAgeDoKLSAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKLSAgICAgICBmaQotICAgICBmaQotLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgotLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKLS0gICAgICBlbHNlCi0tICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKLS0gICAgICBmaQotLSAgICBmaQotICAgICBBQ19NU0dfUkVTVUxUKCRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYykKLSAKLSAgICAgQUNfQ0FDSEVfQ0hFQ0soW2xpbmtlciBmb3IgLmVoX2ZyYW1lIHBlcnNvbmFsaXR5IHJlbGF4YXRpb25dLAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNS1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTYyOTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTUtQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLUZyb20gMDRhN2E2NzIzMDFiYjA3Y2FlYTZhN2NhZDgzNzhmNjNmMWZlMzIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE2OjI4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUvNDddIENPTExFQ1RfR0NDX09QVElPTlMKLQotVGhpcyBwYXRjaCBhZGRzIC0tc3lzcm9vdCBpbnRvIENPTExFQ1RfR0NDX09QVElPTlMgd2hpY2ggaXMgdXNlZCB0bwotaW52b2tlIGNvbGxlY3QyLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9nY2MuYyB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBhNWZhZmJlNTEwNy4uMDU4OTZlMTk5MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTQ2NTQsNiArNDY1NCwxNSBAQCBzZXRfY29sbGVjdF9nY2Nfb3B0aW9ucyAodm9pZCkKLSAJCXNpemVvZiAoIkNPTExFQ1RfR0NDX09QVElPTlM9IikgLSAxKTsKLSAKLSAgIGZpcnN0X3RpbWUgPSBUUlVFOwotKyNpZmRlZiBIQVZFX0xEX1NZU1JPT1QKLSsgIGlmICh0YXJnZXRfc3lzdGVtX3Jvb3RfY2hhbmdlZCAmJiB0YXJnZXRfc3lzdGVtX3Jvb3QpCi0rICAgIHsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssICInLS1zeXNyb290PSIsIHNpemVvZigiJy0tc3lzcm9vdD0iKS0xKTsKLSsgICAgICBvYnN0YWNrX2dyb3cgKCZjb2xsZWN0X29ic3RhY2ssIHRhcmdldF9zeXN0ZW1fcm9vdCxzdHJsZW4odGFyZ2V0X3N5c3RlbV9yb290KSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJyIsIDEpOwotKyAgICAgIGZpcnN0X3RpbWUgPSBGQUxTRTsKLSsgICAgfQotKyNlbmRpZgotICAgZm9yIChpID0gMDsgKGludCkgaSA8IG5fc3dpdGNoZXM7IGkrKykKLSAgICAgewotICAgICAgIGNvbnN0IGNoYXIgKmNvbnN0ICphcmdzOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTYtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5OTEyNTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNi1Vc2UtdGhlLWRlZmF1bHRzLmgtaW4tQi1pbnN0ZWFkLW9mLVMtYW5kLXQtb2UtaW4tQi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLUZyb20gNDcwNzFjYmQ0ZjEzZmY1YTQ5NzRmNzFmMzU5YTA0YWZjZmIxMjVkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTYvNDddIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KLSAke0J9Ci0KLVVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAotdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCi1vY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAotd29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCi10bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKLQotU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQotIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KLSBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCi0gZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQotIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCi1pbmRleCAyNDExNjcxY2VhMy4uN2I1OTBjOWJiZDMgMTAwNjQ0Ci0tLS0gYS9nY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2djYy9NYWtlZmlsZS5pbgotQEAgLTUzMiw3ICs1MzIsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAotIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKLSAKLSB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAotLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACi0rdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCi0gVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKLSBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDY0MGU0NjQzODA1Li5iNWFjMTU1MjU0MSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjE1MCw4ICsxMjE1MCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSAgICAgICAgOzsKLSAgICAgZGVmYXVsdHMuaCApCi0tICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCi0tICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgotICAgICAgICA7OwotICAgICAqICkKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDlhMmRhZTU1YmEyLi5jYjE0NzlkMWVmNCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAotaW5kZXggOWZjN2I1Y2E3MzQuLjA0YWJlY2ZlNjQ4IDEwMDY0NAotLS0tIGEvZ2NjL21rY29uZmlnLnNoCi0rKysgYi9nY2MvbWtjb25maWcuc2gKLUBAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCi0gICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgotIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCi0gCWZvciBmaWxlIGluICIkQCI7IGRvCi0tCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgotKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKLSAJICAgIGVsc2UKLSAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKLUBAIC0xMDksNyArMTA5LDcgQEAgZXNhYwotIAotICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KLSBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCi0tICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAotIGZpCi0gCi0gIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTctZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyODMwYzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxNy1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNGZjMzVhMmJiNzY2NmE3ZGUzNTU2OGViNWQ0N2YwY2U2YWNlYmU2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIwOjAxICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTcvNDddIGZvcnRyYW4gY3Jvc3MtY29tcGlsZSBoYWNrLgotCi0qIEZvcnRyYW4gd291bGQgaGF2ZSBzZWFyY2hlZCBmb3IgYXJtLWFuZ3N0cm9tLWdudWVhYmktZ2ZvcnRyYW4gYnV0IHdvdWxkIGhhdmUgdXNlZAotdXNlZCBnZm9ydGFuLiBGb3IgZ2NjXzQuMi4yLmJiIHdlIHdhbnQgdG8gdXNlIHRoZSBnZm9ydHJhbiBjb21waWxlciBmcm9tIG91ciBjcm9zcwotZGlyZWN0b3J5LgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotLS0tCi0gbGliZ2ZvcnRyYW4vY29uZmlndXJlICAgIHwgMiArLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZSBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotaW5kZXggODEyMzhmY2I3OWMuLjdkZWQ3YWJkNDU2IDEwMDc1NQotLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi0rKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLUBAIC0xMjc5Miw3ICsxMjc5Miw3IEBAIGVzYWMKLSAKLSAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQotICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQotLUZDPSIkR0ZPUlRSQU4iCi0rI0ZDPSIkR0ZPUlRSQU4iCi0gYWNfZXh0PSR7YWNfZmNfc3JjZXh0LWZ9Ci0gYWNfY29tcGlsZT0nJEZDIC1jICRGQ0ZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ID4mNScKLSBhY19saW5rPSckRkMgLW8gY29uZnRlc3QkYWNfZXhlZXh0ICRGQ0ZMQUdTICRMREZMQUdTICRhY19mY2ZsYWdzX3NyY2V4dCBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLWluZGV4IDM3YjEyZDI5OThmLi42M2E0MTY2ZWY2MiAxMDA2NDQKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1AQCAtMjQzLDcgKzI0Myw3IEBAIEFDX1NVQlNUKGVuYWJsZV9zdGF0aWMpCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIEFDX1BST0dfRkMoZ2ZvcnRyYW4pCi0gCi0gIyBleHRyYSBMRCBGbGFncyB3aGljaCBhcmUgcmVxdWlyZWQgZm9yIHRhcmdldHMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE4LWNwcC1ob25vci1zeXNyb290LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTU5MDc0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMTgtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIDFjOGEzMzI0NjljYTRiZmVmYjEwZGY3MDcyMGUwZGM4M2ZmOWE3NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMjowMCArMDQwMAotU3ViamVjdDogW1BBVENIIDE4LzQ3XSBjcHA6IGhvbm9yIHN5c3Jvb3QuCi0KLUN1cnJlbnRseSwgaWYgdGhlIGdjYyB0b29sY2hhaW4gaXMgcmVsb2NhdGVkIGFuZCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUsIHRoZW4geW91IHRyeSBhbmQgY29tcGlsZQotcHJlcHJvY2Vzc2VkIHNvdXJjZSAoLmkgb3IgLmlpIGZpbGVzKSwgdGhlIGNvbXBpbGVyIHdpbGwgdHJ5IGFuZCBhY2Nlc3MgdGhlIGJ1aWx0aW4gc3lzcm9vdCBsb2NhdGlvbgotcmF0aGVyIHRoYW4gdGhlIC0tc3lzcm9vdCBvcHRpb24gc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kbGluZS4gSWYgYWNjZXNzIHRvIHRoYXQgZGlyZWN0b3J5IGlzCi1wZXJtaXNzaW9uIGRlbmllZCAodW5yZWFkYWJsZSksIGdjYyB3aWxsIGVycm9yLgotCi1UaGlzIGhhcHBlbnMgd2hlbiBjY2FjaGUgaXMgaW4gdXNlIGR1ZSB0byB0aGUgZmFjdCBpdCB1c2VzIHByZXByb2Nlc3NlZCBzb3VyY2UgZmlsZXMuCi0KLVRoZSBmaXggYmVsb3cgYWRkcyAlSSB0byB0aGUgY3BwLW91dHB1dCBzcGVjIG1hY3JvIHNvIHRoZSBkZWZhdWx0IHN1YnN0aXR1dGlvbnMgZm9yIC1pcHJlZml4LAotLWlzeXN0ZW0sIC1pc3lzcm9vdCBoYXBwZW4gYW5kIHRoZSBjb3JyZWN0IHN5c3Jvb3QgaXMgdXNlZC4KLQotW1lPQ1RPICMyMDc0XQotCi1SUCAyMDEyLzA0LzEzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NwL2xhbmctc3BlY3MuaCB8IDIgKy0KLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NwL2xhbmctc3BlY3MuaCBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLWluZGV4IDZiMzgzZTFkODZkLi5jN2M3ZDZhNTZlYyAxMDA2NDQKLS0tLSBhL2djYy9jcC9sYW5nLXNwZWNzLmgKLSsrKyBiL2djYy9jcC9sYW5nLXNwZWNzLmgKLUBAIC02NCw1ICs2NCw1IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICB7Ii5paSIsICJAYysrLWNwcC1vdXRwdXQiLCAwLCAwLCAwfSwKLSAgIHsiQGMrKy1jcHAtb3V0cHV0IiwKLSAgICAiJXshTToleyFNTToleyFFOlwKLS0gICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAlMlwKLSsgICAgY2MxcGx1cyAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAlMlwKLSAgICAgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDA1ODk2ZTE5OTI2Li5jNzNkNDAyMzk4NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTM1MSw3ICsxMzUxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjb21waWxlciBkZWZhdWx0X2NvbXBpbGVyc1tdID0KLSAJCQkJCSAgICVXe28qOi0tb3V0cHV0LXBjaD0lKn19JVZ9fX19fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5pIiwgIkBjcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjcHAtb3V0cHV0IiwKLS0gICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotKyAgICIleyFNOiV7IU1NOiV7IUU6Y2MxIC1mcHJlcHJvY2Vzc2VkICVpICVJICUoY2MxX29wdGlvbnMpICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi0gICB7Ii5zIiwgIkBhc3NlbWJsZXIiLCAwLCAwLCAwfSwKLSAgIHsiQGFzc2VtYmxlciIsCi0gICAgIiV7IU06JXshTU06JXshRToleyFTOmFzICUoYXNtX2RlYnVnKSAlKGFzbV9vcHRpb25zKSAlaSAlQSB9fX19IiwgMCwgMCwgMH0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDE5LU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0MmE0MDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAxOS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSAwYTNiM2NjNDVlYTdiYTgzYjQ2ZGY3NDY0YjQxYzM3N2UzOTY2ZDg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOS80N10gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKLQotTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKLXNvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KLS0tLQotIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCBiOGJiNGQ2NTgyNS4uNWU0NWY0YjUxOTkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yMDg0LDI5ICsyMDg0LDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCi0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCi0gCQkJOzsKLSAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKLSAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgotIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKLS0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgotKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKLSAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyMiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJZXNhYwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTdiNGRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjAtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIzNCArMCwwIEBACi1Gcm9tIGQ2Yzk4M2I2ODVlZTAzZTljZjIxMTg5MTA4ZDMxZWQ5Zjc2MGZmM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNDo1MCArMDQwMAotU3ViamVjdDogW1BBVENIIDIwLzQ3XSBEZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotIHJlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSCi0KLVRoaXMgcGF0Y2ggZGVmaW5lcyBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCi1yZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUiB3aGljaCBjYW4gYmUgc2V0IGluIGdlbmVyYXRlZCBoZWFkZXJzCi1UaGlzIGJyZWFrcyB0aGUgYXNzdW1wdGlvbiBvZiBoYXJkY29kZWQgbXVsdGlsaWIgaW4gZ2NjCi1DaGFuZ2UgaXMgb25seSBmb3IgdGhlIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzIGluIE9FIGluY2x1ZGluZwotU0gsIHNwYXJjLCBhbHBoYSBmb3IgcG9zc2libGUgZnV0dXJlIHN1cHBvcnQgKGlmIGFueSkKLQotUmVtb3ZlcyB0aGUgZG9faGVhZGVyZml4IHRhc2sgaW4gbWV0YWRhdGEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggIHwgIDQgKystLQotIGdjYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eC5oICAgICAgfCAgMiArLQotIGdjYy9jb25maWcvaTM4Ni9saW51eDY0LmggICAgfCAgNiArKystLS0KLSBnY2MvY29uZmlnL2xpbnV4LmggICAgICAgICAgIHwgIDggKysrKy0tLS0KLSBnY2MvY29uZmlnL21pcHMvbGludXguaCAgICAgIHwgMTIgKysrKysrLS0tLS0tCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oICB8IDE2ICsrKysrKy0tLS0tLS0tLS0KLSBnY2MvY29uZmlnL3NoL2xpbnV4LmggICAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCAgIHwgIDQgKystLQotIDExIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLWluZGV4IDJjMzlmYmU2MDFjLi42ZDg4ZTIxYWJlMiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmgKLUBAIC0yMyw4ICsyMyw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBFWFRSQV9TUEVDUyBcCi0geyAiZWxmX2R5bmFtaWNfbGlua2VyIiwgRUxGX0RZTkFNSUNfTElOS0VSIH0sCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUgkiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCi0gI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSkgIiV7bWdsaWJjOiIgRyAiOzoiIFUgIn0iCi0gI2VsaWYgREVGQVVMVF9MSUJDID09IExJQkNfR0xJQkMKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGEwOGNmYjM0Mzc3Li5mYmFjOWE5ZDk5NCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtNjIsOCArNjIsOCBAQAotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgYW5kIFRBUkdFVF9ERUZBVUxUX0ZMT0FUX0FCSS4gICovCi0gCi0gI3VuZGVmICBHTElCQ19EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCAiL2xpYi9sZC1saW51eC5zby4zIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCAiL2xpYi9sZC1saW51eC1hcm1oZi5zby4zIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFybWhmLnNvLjMiCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQKLSAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1pbmRleCAzZDYyMzY3YWU2OC4uZThhMTYxOTE4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLUBAIC02MCw3ICs2MCw3IEBACi0gCi0gI2RlZmluZSBMSUJHQ0NfU1BFQyAiJXttZmxvYXQtYWJpPXNvZnQqOi1sZmxvYXR9IC1sZ2NjIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNkZWZpbmUgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAgIiV7aCp9IFwKLSAgICAle3N0YXRpYzotQnN0YXRpY30gXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLWluZGV4IDU5MTMyMTI0ZDZiLi4zMzZkMTU4NjI5YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXguaAotQEAgLTIwLDcgKzIwLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwotIAotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT04gImVsZl9pMzg2IgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmggYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1pbmRleCBlNjVjNDA0ZmY5MS4uYzM0ZGVkOTg0ODEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi0rKysgYi9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oCi1AQCAtMjcsOSArMjcsOSBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9ONjQgImVsZl94ODZfNjQiCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTlgzMiAiZWxmMzJfeDg2XzY0IgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWJ4MzIvbGQtbGludXgteDMyLnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDg2LTY0LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgteDMyLnNvLjIiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLW11c2wtaTM4Ni5zby4xIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbGludXguaCBiL2djYy9jb25maWcvbGludXguaAotaW5kZXggYjNhOWU4NWU3N2YuLjJlNjgzZDBjNDMwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2xpbnV4LmgKLUBAIC04MSwxMCArODEsMTAgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIgbXVzdCBiZSBkZWZpbmVkIGZvciBlYWNoIHRhcmdldCB1c2luZyB0aGVtLCBvcgotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgYW5kIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgZm9yIHRhcmdldHMKLSAgICBzdXBwb3J0aW5nIGJvdGggMzItYml0IGFuZCA2NC1iaXQgY29tcGlsYXRpb24uICAqLwotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGliL2xkeDMyLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZHgzMi11Q2xpYmMuc28uMCIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUiAiL3N5c3RlbS9iaW4vbGlua2VyIgotICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSMzIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjY0ICIvc3lzdGVtL2Jpbi9saW5rZXI2NCIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL21pcHMvbGludXguaCBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1pbmRleCA0NDEzMmI4ZTQ0ZC4uODA1MDVhZDlmNDggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLUBAIC0yMiwyMCArMjIsMjAgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OTjMyICJlbGYzMiV7RUI6Yn0le0VMOmx9dHNtaXBuMzIiCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKLS0gICIle21uYW49MjAwODovbGliL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliL2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWI2NC9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjY0L2xkLnNvLjF9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIzMi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gCi0gI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NAotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIvbGQ2NC11Q2xpYmMuc28uMH0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjB9IgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSTjMyIFwKLS0gICIle21uYW49MjAwODovbGliMzIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliMzIvbGQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjB9IgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1pbmRleCA3MWUzNWI3MDlhZC4uM2IwMGVjMGZjZjAgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotQEAgLTQxMiwxNiArNDEyLDExIEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7Ci0gI3VuZGVmCUxJTktfT1NfREVGQVVMVF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0RFRkFVTFRfU1BFQyAiJShsaW5rX29zX2xpbnV4KSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWIvbGQuc28uMSIKLS0KLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLnNvLjEiCi0gI2lmZGVmIExJTlVYNjRfREVGQVVMVF9BQklfRUxGdjIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAotLSIle21hYmk9ZWxmdjE6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMTsiIFwKLS0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjJ9IgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYxOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yfSIKLSAjZWxzZQotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMX0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjI6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4yOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjF9IgotICNlbmRpZgotIAotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKLUBAIC00MjksOCArNDI0LDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVI2NCBcCi0gICAiL2xpYi9sZC1tdXNsLXBvd2VycGM2NCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FICIle21zb2Z0LWZsb2F0Oi1zZn0uc28uMSIKLSAKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wIgotKwotICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKLSAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVLCBNKSBcCi0gICAiJXttZ2xpYmM6IiBHICI7OiV7bW11c2w6IiBNICI7OiIgVSAifX0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1pbmRleCBjMzAwODM0MjNmMi4uMTk2YjgyNzI1ZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc2gvbGludXguaAotQEAgLTY0LDcgKzY0LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICIvbGliL2xkLW11c2wtc2giIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSBNVVNMX0RZTkFNSUNfTElOS0VSX0ZQIFwKLSAgICIle21mZHBpYzotZmRwaWN9LnNvLjEiCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI3VuZGVmIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYCi0gI2RlZmluZSBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWCAiJXttZmRwaWM6X2ZkOzpfbGludXh9IgotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXguaCBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotaW5kZXggY2UwODQ2NTZmY2EuLmJlZDYzMDBjYjJhIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLUBAIC04Myw3ICs4Myw3IEBAIGV4dGVybiBjb25zdCBjaGFyICpob3N0X2RldGVjdF9sb2NhbF9jcHUgKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndik7Ci0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgIExJTktfU1BFQwotICNkZWZpbmUgTElOS19TUEVDICItbSBlbGYzMl9zcGFyYyAle3NoYXJlZDotc2hhcmVkfSBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotaW5kZXggNTczY2U4YTlhNGMuLjY3NDlmNmI1ZDljIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1AQCAtODQsOCArODQsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCi0gICAgZG9uZS4gICovCi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICNpZmRlZiBTUEFSQ19CSV9BUkNICi0gCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIxLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTU2MjE0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjEtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSA4MGMyNDI0N2ZlZDUyYzEyNjk3OTEwODgwOTBiYzBmYTg1MjgwOTgzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMS80N10gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KLQotVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCi1idWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKLQotaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAotCi1UaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCi1pdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAotd291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCi1UaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCi0kKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvTWFrZWZpbGUuaW4gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDdiNTkwYzliYmQzLi4yM2NjYTdmMGQ1YSAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtMzQ1OSw3ICszNDU5LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCi0gIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKLSAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCi0gCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCi0tCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKLSsJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKLSAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAotIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKLSAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMi1EaXNhYmxlLXNkdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODcxZjE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIyLURpc2FibGUtc2R0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLUZyb20gMzAyMWZlYzQ4NWY0NDQ3OGEzZDVmZmZiNGFkYWMxM2Q4MzFmY2RjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI4OjEwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjIvNDddIERpc2FibGUgc2R0LgotCi1XZSBkb24ndCBsaXN0IGR0cmFjZSBpbiBERVBFTkRTIHNvIHdlIHNob3VsZG4ndCBiZSBkZXBlbmRpbmcgb24gdGhpcyBoZWFkZXIuCi1JdCBtYXkgb3IgbWF5IG5vdCBleGlzdCBmcm9tIHByZWl2b3VzIGJ1aWxkcyB0aG91Z2guIFRvIGJlIGRldGVybWluc3RpYywgZGlzYWJsZQotc2R0LmggdXNhZ2UgYWx3YXlzLiBUaGlzIGF2b2lkcyBidWlsZCBmYWlsdXJlcyBpZiB0aGUgaGVhZGVyIGlzIHJlbW92ZWQgYWZ0ZXIgY29uZmlndXJlCi1idXQgYmVmb3JlIGxpYmdjYyBpcyBjb21waWxlZCBmb3IgZXhhbXBsZS4KLQotUlAgMjAxMi84LzcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRGlzYWJsZSBzZHQgZm9yIGxpYnN0ZGMrKy12My4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbaGFja10KLS0tLQotIGdjYy9jb25maWd1cmUgICAgICAgICAgICAgfCAxMiArKysrKystLS0tLS0KLSBnY2MvY29uZmlndXJlLmFjICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZSAgICB8ICA2ICsrKy0tLQotIGxpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgfCAgMiArLQotIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggYjVhYzE1NTI1NDEuLjA4YjJmNjNjN2ZhIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTI4OTY3LDEyICsyODk2NywxMiBAQCBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLSAkYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLSBoYXZlX3N5c19zZHRfaD1ubwotLWlmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotLSAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0tCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tCi0tZmkKLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIwotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSsjCi0rI2ZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRoYXZlX3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRoYXZlX3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IGNiMTQ3OWQxZWY0Li4wNTgxZmU5NjNkYyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC01NzU0LDE1ICs1NzU0LDE1IEBAIGZpCi0gQUNfU1VCU1QoW2VuYWJsZV9kZWZhdWx0X3NzcF0pCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLUdDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLS1BQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotLWhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0gIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLS0gICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotLWZpCi0tQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0rI0dDQ19UQVJHRVRfVEVNUExBVEUoW0hBVkVfU1lTX1NEVF9IXSkKLSsjQUNfTVNHX0NIRUNLSU5HKHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeSkKLSsjaGF2ZV9zeXNfc2R0X2g9bm8KLSsjaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0rIyAgaGF2ZV9zeXNfc2R0X2g9eWVzCi0rIyAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotKyMgICAgICAgICAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQotKyNmaQotKyNBQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSAKLSAjIENoZWNrIGlmIFRGbW9kZSBsb25nIGRvdWJsZSBzaG91bGQgYmUgdXNlZCBieSBkZWZhdWx0IG9yIG5vdC4KLSAjIFNvbWUgZ2xpYmMgdGFyZ2V0cyB1c2VkIERGbW9kZSBsb25nIGRvdWJsZSwgYnV0IHdpdGggZ2xpYmMgMi40Ci1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZSBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLWluZGV4IGZiN2UxMjZjMGIwLi5hMTgwNTdmZWI4OCAxMDA3NTUKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUKLUBAIC0yMTg1NiwxMSArMjE4NTYsMTEgQEAgYWNfY29tcGlsZT0nJENDIC1jICRDRkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgPiY1JwotIGFjX2xpbms9JyRDQyAtbyBjb25mdGVzdCRhY19leGVleHQgJENGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi0gYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2dudQotIAotLSAgaWYgdGVzdCAkZ2xpYmN4eF9jdl9zeXNfc2R0X2ggPSB5ZXM7IHRoZW4KLSsjICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotIAotLSRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLSAKLS0gIGZpCi0rIyAgZmkKLSAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNQotICRhc19lY2hvICIkZ2xpYmN4eF9jdl9zeXNfc2R0X2giID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1pbmRleCA4ZTk3MzUwM2JlMC4uYTQ2ZDI1ZTc0MGQgMTAwNjQ0Ci0tLS0gYS9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi0rKysgYi9saWJzdGRjKystdjMvY29uZmlndXJlLmFjCi1AQCAtMjMwLDcgKzIzMCw3IEBAIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NFU1NPUlNfT05MTgotIEdMSUJDWFhfQ0hFQ0tfU0NfTlBST0NfT05MTgotIEdMSUJDWFhfQ0hFQ0tfUFRIUkVBRFNfTlVNX1BST0NFU1NPUlNfTlAKLSBHTElCQ1hYX0NIRUNLX1NZU0NUTF9IV19OQ1BVCi0tR0xJQkNYWF9DSEVDS19TRFRfSAotKyNHTElCQ1hYX0NIRUNLX1NEVF9ICi0gCi0gIyBDaGVjayBmb3IgYXZhaWxhYmxlIGhlYWRlcnMuCi0gQUNfQ0hFQ0tfSEVBREVSUyhbZW5kaWFuLmggZXhlY2luZm8uaCBmbG9hdC5oIGZwLmggaWVlZWZwLmggaW50dHlwZXMuaCBcCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDIzLWxpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZGZiMWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyMy1saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBlNzlhNGY4MTY5ZTgzNmM4ZGVhYmNhNWE0NTg4NGNmZTExZDA3ODQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjk6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAyMy80N10gbGlidG9vbAotCi1saWJzdGRjKysgZnJvbSBnY2MtcnVudGltZSBnZXRzIGNyZWF0ZWQgd2l0aCAtcnBhdGg9L3Vzci9saWIvLi4vbGliIGZvciBxZW11eDg2LTY0Ci13aGVuIHJ1bm5pbmcgb24gYW0geDg2XzY0IGJ1aWxkIGhvc3QuCi0KLVRoaXMgcGF0Y2ggc3RvcHMgdGhpcyBzcGVhZGluZyB0byBsaWJkaXIgaW4gdGhlIGxpYnN0ZGMrKy5sYSBmaWxlIHdpdGhpbiBsaWJ0b29sLgotQXJndWFibHksIGl0IHNob3VsZG4ndCBiZSBwYXNzaW5nIHRoaXMgaW50byBsaWJ0b29sIGluIHRoZSBmaXJzdCBwbGFjZSBidXQKLWZvciBub3cgdGhpcyByZXNvbHZlcyB0aGUgbmFzdGllc3QgcHJvYmxlbXMgdGhpcyBjYXVzZXMuCi0KLWZ1bmNfbm9ybWFsX2Fic3BhdGggd291bGQgcmVzb2x2ZSBhbiBlbXB0eSBwYXRoIHRvIGBwd2RgIHNvIHdlIG5lZWQKLXRvIGZpbHRlciB0aGUgemVybyBjYXNlLgotCi1SUCAyMDEyLzgvMjQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsdG1haW4uc2ggfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKLWluZGV4IDk1MDNlYzg1ZDcwLi4wMTIxZmJhNzA3ZiAxMDA2NDQKLS0tLSBhL2x0bWFpbi5zaAotKysrIGIvbHRtYWluLnNoCi1AQCAtNjM1OSw2ICs2MzU5LDEwIEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCWZ1bmNfd2FybmluZyAiaWdub3JpbmcgbXVsdGlwbGUgXGAtcnBhdGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiCi0gCi0gICAgICAgaW5zdGFsbF9saWJkaXI9IiQxIgotKyAgICAgIGlmIHRlc3QgLW4gIiRpbnN0YWxsX2xpYmRpciI7IHRoZW4KLSsJZnVuY19ub3JtYWxfYWJzcGF0aCAiJGluc3RhbGxfbGliZGlyIgotKwlpbnN0YWxsX2xpYmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKLSsgICAgICBmaQotIAotICAgICAgIG9sZGxpYnM9Ci0gICAgICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhlbgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTFlMWJiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjQtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gNzRkOGRjNDhjYjE4NWUzMDRjNjAwNjdiNGQ4YjUwNDQ3ZWMzMjhlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjQvNDddIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KLQotVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKLW1lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Ci10aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAotVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAotZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgotCi1XZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLWluZGV4IGZiYWM5YTlkOTk0Li41YTUxYThhNzA5NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1AQCAtODgsMTAgKzg4LDE0IEBACi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKLSAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgotIAotKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLwotKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQwotKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCi0rCi0gLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KLSAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCi0gI3VuZGVmICBMSU5LX1NQRUMKLS0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAotKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAotICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAotIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjM0MTMyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjUtVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1Gcm9tIGFjNTBkYzMwMTBhNjYyMjBhZDQ4M2MwOWVmZTI3MGJiM2Y0Yzk0MjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOTozMzowNCArMDQwMAotU3ViamVjdDogW1BBVENIIDI1LzQ3XSBVc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZgotIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotCi1Vc2UgdGhlIG11bHRpbGliIGNvbmZpZyBmaWxlcyBmcm9tICR7Qn0gaW5zdGVhZCBvZiB1c2luZyB0aGUgb25lcyBmcm9tICR7U30KLXNvIHRoYXQgdGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCi1nY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ29uc3RhbnRpbiBNdXNjYSA8Y29uc3RhbnRpbngubXVzY2FAaW50ZWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCi0tLS0KLSBnY2MvY29uZmlndXJlICAgIHwgMjIgKysrKysrKysrKysrKysrKysrLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDA4YjJmNjNjN2ZhLi42YmEzOTFlZDA2OCAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMjEzMCwxMCArMTIxMzAsMjAgQEAgZG9uZQotIHRtYWtlX2ZpbGVfPQotIGZvciBmIGluICR7dG1ha2VfZmlsZX0KLSBkbwotLQlpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLS0JdGhlbgotLQkJdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotLQlmaQotKyAgY2FzZSAkZiBpbgotKyAgICAqL3QtbGludXg2NCApCi0rICAgICAgIGlmIHRlc3QgLWYgLi9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSAuL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgICAgKiApCi0rICAgICAgIGlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IFwkKHNyY2RpcikvY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgZXNhYwotIGRvbmUKLSB0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGVffSIKLSAKLUBAIC0xMjE0NCw2ICsxMjE1NCwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNTgxZmU5NjNkYy4uODU1MWE0MTJkZjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkwMiwxMCArMTkwMiwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTE5MTYsNiArMTkyNiwxMCBAQCB0bV9maWxlX2xpc3Q9Im9wdGlvbnMuaCIKLSB0bV9pbmNsdWRlX2xpc3Q9Im9wdGlvbnMuaCBpbnNuLWNvbnN0YW50cy5oIgotIGZvciBmIGluICR0bV9maWxlOyBkbwotICAgY2FzZSAkZiBpbgotKyAgICAqL2xpbnV4NjQuaCApCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuL2NvbmZpZy8kZiIKLSsgICAgICAgOzsKLSAgICAgLi8qICkKLSAgICAgICAgZj1gZWNobyAkZiB8IHNlZCAncy9eLi4vLydgCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9ICRmIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNi1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTI0NzEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjYtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gOWZhYjQ3ZDg2NjI5ODZhZDg4N2Q5ZWRkYzM5ZmNiZTI1ZTU3NjM4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjM5OjM4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjYvNDddIEF2b2lkIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhCi0gaG9zdCBwYXRoCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIExpdSA8bmV0MTQ3QGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsdG1haW4uc2ggfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggMDEyMWZiYTcwN2YuLjUyYmRiZGI1ZjljIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC01NjI4LDYgKzU2MjgsOSBAQCBmdW5jX21vZGVfbGluayAoKQotIAkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgIGVsc2UKLSsJICAgICMgSW5zdGVhZCBvZiB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYSBob3N0IHBhdGgsCi0rCSAgICAjIHVzZSB0aGUgcGF0aCB0aGUgLmxhIGlzIGNvbnRhaW5lZCBpbi4KLSsJICAgIGxpYmRpcj0iJGFic19sYWRpciIKLSAJICAgIGRpcj0iJGxpYmRpciIKLSAJICAgIGFic2Rpcj0iJGxpYmRpciIKLSAJICBmaQotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyNy1leHBvcnQtQ1BQLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjllMWYwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjctZXhwb3J0LUNQUC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLUZyb20gZmE2YTQ2ZmRmNzNkZTdlYWNkMjg5YzA4NGJiZGU2NjQzYjIzZjczYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjcvNDddIGV4cG9ydCBDUFAKLQotVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCi1idWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKLWluIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKLQotY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCi1jb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKLWNvbmZpZ3VyZTozNjY2OiAkPyA9IDAKLWNvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCi1jb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKLWNvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKLWNvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKLWNvbmZpZ3VyZTozODc2OiAkPyA9IDAKLQotTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCi11c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgotaGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKLWludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCi1mYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KLQotVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKLWVudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKLXRoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCi1hdm9pZCB0aGUgcHJvYmxlbS4KLQotUlAgMjIvMDgvMjAxMwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBiODI0ZTBhMGNhMS4uZTM0ZTk1NTUzODggMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5pbgotKysrIGIvTWFrZWZpbGUuaW4KLUBAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAotIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOC1FbmFibGUtU1BFLUFsdGlWZWMtZ2VuZXJhdGlvbi1vbi1wb3dlcGMtbGludXgtdGFyZ2V0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTAzMzQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjgtRW5hYmxlLVNQRS1BbHRpVmVjLWdlbmVyYXRpb24tb24tcG93ZXBjLWxpbnV4LXRhcmdldC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gMmMwNWI0MDcyZjk4MmRmODAwMmQ2MTMyNzgzN2UxOGE3MjRlOTM0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRydS1DZXphciBTYXJkYW4gPGFsZXhhbmRydS5zYXJkYW5AZnJlZXNjYWxlLmNvbT4KLURhdGU6IFdlZCwgNSBGZWIgMjAxNCAxNjo1MjozMSArMDIwMAotU3ViamVjdDogW1BBVENIIDI4LzQ3XSBFbmFibGUgU1BFICYgQWx0aVZlYyBnZW5lcmF0aW9uIG9uIHBvd2VwYypsaW51eCB0YXJnZXQKLQotV2hlbiBpcyBjb25maWd1cmVkIHdpdGggLS10YXJnZXQ9cG93ZXJwYy1saW51eCwgdGhlIHJlc3VsdGluZyBHQ0Mgd2lsbAotbm90IGJlIGFibGUgdG8gZ2VuZXJhdGUgY29kZSBmb3IgU1BFIHRhcmdldHMgKGU1MDB2MS92MikuCi1HQ0MgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXhzcGUgd2lsbCBub3QgYmUgYWJsZSB0bwotZ2VuZXJhdGUgQWx0aVZlYyBpbnN0cnVjdGlvbnMgKGZvciBlNjUwMCkuCi1UaGlzIHBhdGNoIG1vZGlmaWVzIHRoZSBjb25maWd1cmVkIGZpbGUgc3VjaCB0aGF0IFNQRSBvciBBbHRpVmVjIGNvZGUKLWNhbiBiZSBnZW5lcmF0ZWQgd2hlbiBnY2MgaXMgY29uZmlndXJlZCB3aXRoIC0tdGFyZ2V0PXBvd2VycGMtbGludXguCi1UaGUgQUJJIGFuZCBzcGVjaWZmaWMgaW5zdHJ1Y3Rpb25zIGNhbiBiZSBzZWxlY3RlZCB0aHJvdWdoIHRoZQotIi1tYWJpPXNwZSBvciAtbWFiaT1hbHRpdmVjIiBhbmQgdGhlICItbXNwZSBvciAtbWFsdGl2ZWMiIHBhcmFtZXRlcnMuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZHJ1LUNlemFyIFNhcmRhbiA8YWxleGFuZHJ1LnNhcmRhbkBmcmVlc2NhbGUuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy5nY2MgICAgICAgICAgICAgICB8IDkgKysrKysrKystCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCB8IDMgLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCi1pbmRleCA1ZTQ1ZjRiNTE5OS4uOWIzODFkZmQ5YWYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnLmdjYwotKysrIGIvZ2NjL2NvbmZpZy5nY2MKLUBAIC0yNDE1LDcgKzI0MTUsMTQgQEAgcG93ZXJwYy0qLXJ0ZW1zKikKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSByczYwMDAvdC1mcHJ1bGVzIHJzNjAwMC90LXJ0ZW1zIHJzNjAwMC90LXBwY2NvbW0iCi0gCTs7Ci0gcG93ZXJwYyotKi1saW51eCopCi0tCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwljYXNlICR7dGFyZ2V0fSBpbgotKwkgICAgcG93ZXJwYyotKi1saW51eCpzcGUqIHwgcG93ZXJwYyotKi1saW51eCphbHRpdmVjKikKLSsJCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBnbnUtdXNlci5oIGZyZWVic2Qtc3BlYy5oIHJzNjAwMC9zeXN2NC5oIgotKwkJOzsKLSsJICAgICopCi0rCQl0bV9maWxlPSIke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmggZ251LXVzZXIuaCBmcmVlYnNkLXNwZWMuaCByczYwMDAvc3lzdjQuaCByczYwMDAvbGludXhhbHRpdmVjLmggcnM2MDAwL2xpbnV4c3BlLmggcnM2MDAwL2U1MDAuaCIKLSsJCTs7Ci0rCWVzYWMKLSAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSByczYwMDAvc3lzdjQub3B0IgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHJzNjAwMC90LWZwcnVsZXMgcnM2MDAwL3QtcHBjY29tbSIKLSAJZXh0cmFfb2Jqcz0iJGV4dHJhX29ianMgcnM2MDAwLWxpbnV4Lm8iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXhzcGUuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLWluZGV4IDkyZWZhYmZlNjY0Li42ZDQ4NjQ1MWE3ZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4c3BlLmgKLUBAIC0yNyw2ICsyNywzIEBACi0gI3VuZGVmCVRBUkdFVF9ERUZBVUxUCi0gI2RlZmluZSBUQVJHRVRfREVGQVVMVCBNQVNLX1NUUklDVF9BTElHTgotICNlbmRpZgotLQotLSN1bmRlZiAgQVNNX0RFRkFVTFRfU1BFQwotLSNkZWZpbmUJQVNNX0RFRkFVTFRfU1BFQyAiLW1wcGMgLW1zcGUgLW1lNTAwIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAyOS1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzA2YTI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMjktRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gZWMwZjg0M2I4NmMwZjc2YmM1ZWJiMjBmYWZiYzRhYWUxYmU0ZGI2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDIwIEZlYiAyMDE1IDEwOjIxOjU1ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjkvNDddIERpc2FibGUgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgYW5kIG90aGVyIG11bHRpbGliCi0gb3B0aW9ucy4KLQotSGFyZCBjb2RpbmcgdGhlIE1VTFRJTElCX09TRElSTkFNRVMgd2l0aCAuLi9saWI2NCBpcyBjYXVzaW5nIHByb2JsZW1zIG9uCi1zeXN0ZW1zIHdoZXJlIHRoZSBsaWJkaXIgaXMgTk9UIHNldCB0byAvbGliNjQuICBUaGlzIGlzIGFsbG93ZWQgYnkgdGhlCi1BQkksIGFzCi1sb25nIGFzIHRoZSBkeW5hbWljIGxvYWRlciBpcyBwcmVzZW50IGluIC9saWIuCi0KLVdlIHNpbXBseSB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCBydWxlcyBpbiBnY2MgdG8gZmluZCBhbmQgY29uZmlndXJlIHRoZQotbm9ybWFsIGxpYmRpci4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW09FLVNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJrLmhhdGxlQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eCBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLWluZGV4IGFiMDY0YWI2ZjIyLi5mNGIxZjk4YjIxNiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC90LWFhcmNoNjQtbGludXgKLUBAIC0yMSw4ICsyMSw4IEBACi0gTElCMUFTTVNSQyAgID0gYWFyY2g2NC9saWIxZnVuY3MuYXNtCi0gTElCMUFTTUZVTkNTID0gX2FhcmNoNjRfc3luY19jYWNoZV9yYW5nZQotIAotLUFBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0tTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0tTVVMVElBUkNIX0RJUk5BTUUgPSAkKGNhbGwgaWZfbXVsdGlhcmNoLGFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI0FBUkNIX0JFID0gJChpZiAkKGZpbmRzdHJpbmcgVEFSR0VUX0JJR19FTkRJQU5fREVGQVVMVD0xLCAkKHRtX2RlZmluZXMpKSxfYmUpCi0rI01VTFRJTElCX09TRElSTkFNRVMgPSBtYWJpLmxwNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDphYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotKyNNVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSAKLS1NVUxUSUxJQl9PU0RJUk5BTUVTICs9IG1hYmkuaWxwMzI9Li4vbGliaWxwMzIKLSsjTVVMVElMSUJfT1NESVJOQU1FUyArPSBtYWJpLmlscDMyPS4uL2xpYmlscDMyCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMC1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTY4YmE5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMwLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSBiZjU4MzY5ODllMGZmYzFjMWRmMTM2OWRmMDY4NzdlOTZjMDhkZjQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC80N10gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDIzY2NhN2YwZDVhLi45NWQyMWVmZmFkMyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjA4LDYgKzYwOCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yNzkxLDYgKzI3OTIsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggMTBiOTZlY2EwYTcuLmM4ZGEwODg0ODcyIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3YWQ5MmQ5MjBmOC4uMzk4NDhjYzljMGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDc1LDQgKzE0NzUsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGM3M2Q0MDIzOTg3Li5iMjcyNDVkYmY3NyAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ3MiwxMyArMTQ3Miw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMxLWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxODQwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzMS1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBjN2I0ZDk1N2VkZGE5NTVmYmU0MDVmZDUyOTU4NDY2MTQ1MjlmNTE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS80N10gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IGQ3MzE0MDZmZGJkLi4yZmFmYzcyZDJlNyAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggZjZlZWFiMzEyZWEuLjNmMDZhODk0MDU4IDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzEsNyArMzMxLDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzItRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTg5MDVmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMyLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIDNiZTZiNzY2YTU4ODFiMGIxODdjM2MzYzY4MjUwYTllNGY3YzBmYTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMzIvNDddIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzMtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBiOGRmMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDMzLVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIDZlZGNhYjkwNDZiODYyY2JiOWI0Njg5MmZjMzkwY2U2OTk3NjUzOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDMzLzQ3XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYzQ1ZmMxZDM1ZDEuLmE3YWZlMTk3MjY2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTIxLDcgKzIxLDcgQEAKLSAjaWZuZGVmIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAjZGVmaW5lIEdDQ19BQVJDSDY0X0xJTlVYX0gKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNC1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q4NjZkOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM0LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gYjE0MGQ2ODM5Y2ZiYTljYWM4OTJiYzczNmQ5ODQ1NDA1NTJkNmE1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzQvNDddIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotaW5kZXggYTdhZmUxOTcyNjYuLjU4MGMyYzdlYTE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaAotQEAgLTI0LDcgKzI0LDcgQEAKLSAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotIAotICN1bmRlZiAgQVNBTl9DQzFfU1BFQwotICNkZWZpbmUgQVNBTl9DQzFfU1BFQyAiJXslOnNhbml0aXplKGFkZHJlc3MpOi1mdW53aW5kLXRhYmxlc30iCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM1LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMmMxOTU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzUtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA2MzYxN2YyZGExNTNkYjEwZmEyZmU5MzhjY2UzMWJlZTAxZDQ3ZmU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzNS80N10gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAotCi0qIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bwotICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCi0gIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCi0qIEZpeCBiYWQgUlBBVEggaXVzc3VlOgotICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQotIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKLSBbcnBhdGhzXQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCi0gbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KLWluZGV4IDVlNjFhOTJhMjZiLi5lOGI2MjdmOWNlYyAxMDA2NDQKLS0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQotKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCi1AQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLSAKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSAKLSBpZiBFTkFCTEVfUExVR0lOCi0gcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgotaW5kZXggNTRiYWJiMDJhNDkuLmU1MWQ4N2ZmZGNlIDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KLUBAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAotIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKLSAKLSBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCi0tcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgotLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKLStjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCi0rcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi0gQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKLSBCVUlMVF9TT1VSQ0VTID0gYy1jb21waWxlci1uYW1lLmggY3AtY29tcGlsZXItbmFtZS5oCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM2LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFhMGIxMDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNi1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gY2ExNDgyMGFlODM0YTYyZWYyYjgwYjI4M2U4ZjkwMDcxNDYzNjI3MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi80N10gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KLSBnY2MvY3BwZGVmYXVsdC5oIHwgIDMgKystCi0gZ2NjL2djYy5jICAgICAgICB8IDIwICsrKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBjOGRhMDg4NDg3Mi4uNDNkYzU5N2EwYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggMTdiYmIwZWFlZjcuLmE5MzdlYzFkMTg3IDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBiMjcyNDVkYmY3Ny4uZTAxNWM3N2YxNWYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0Nyw2ICsyNDcsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE4LDYgKzUyMCw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ5NSwxMCArMTQ5OCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTUwNiw5ICsxNTA5LDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODI2LDYgKzU4MjksMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM3LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjODVhMDMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzNy1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTZhMzI2YmNkMTI2YjM5NWIyOTAxOTA3MjkwNWJhZTdhNWQ0NzUwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNy80N10gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggZTAxNWM3N2YxNWYuLjg0YWY1ZDVhMmUxIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTMzLDcgKzI1MzMsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1NDUsNiArMjU0NSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOC1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTIyNmQxMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDM4LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gNmU3ZjUyNmU3MWE3NmFhYzNkNDliYThmMTc0MmZlMWIzNTljMTA2MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzOC80N10gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggZTM0ZTk1NTUzODguLmEwMzc0MGYzZjlkIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTczNCw2ICs3MzksNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGQwZmEwNzAwNWJlLi45NTMzNzZjNjU4ZCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDk1ZDIxZWZmYWQzLi5kYmUyYmFjZGU1MCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNzk1LDcgKzc5NSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IDZiYTM5MWVkMDY4Li43MmNhNmU1YzUzNSAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc4OSw3ICsxMTc4OSw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDg1NTFhNDEyZGYzLi42ZWVmYjYxZGMyYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwMzktbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE3YWVjY2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDAzOS1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gNmQwM2RkZmI3YTA5Mjk0MmJlNmI1OGIxODMwZjY5ODZkMDEyZDVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzOS80N10gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KLQotIGdjYy9jb25maWcvbmlvczIvbGludXguaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oIGIvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi1pbmRleCA1MTc3ZmE2NDFhNC4uMWI4YWNjZGE2ZWUgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotQEAgLTMwLDYgKzMwLDcgQEAKLSAjZGVmaW5lIENQUF9TUEVDICIle3Bvc2l4Oi1EX1BPU0lYX1NPVVJDRX0gJXtwdGhyZWFkOi1EX1JFRU5UUkFOVH0iCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1uaW9zMi5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgIi9saWIvbGQtbXVzbC1uaW9zMi5zby4xIgotIAotICN1bmRlZiBMSU5LX1NQRUMKLSAjZGVmaW5lIExJTktfU1BFQyBMSU5LX1NQRUNfRU5ESUFOIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDAtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjliN2NlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQwLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDIxMGY2YjNiODIwODRjYzc1NmUwMmI4YmMxMmY5MDlhNDNiMTRlZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQwLzQ5XSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKLQotd2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KLWxpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQotdGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcwotbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQotVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAotIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKLWFyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKLXdlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCi1idXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKwotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlNjgzZDBjNDMwLi4xYjRkZjc5ODY3MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKLSAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCi0gICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKLSAgIH0KLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsKLSAjZW5kaWYKLSAKLSAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotaW5kZXggNjg0YWZkNmMxOTAuLjIyY2ZhMzkxYjg5IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAotQEAgLTkxLDYgKzkxLDE2IEBACi0gCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKLSAjZW5kaWYKLSAKLSsvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KLSsjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAotKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKLSsjdW5kZWYgTElOS19TU1BfU1BFQwotKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCi0rCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCi0rCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgotKyNlbmRpZgotKyNlbmRpZgotKwotICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAotICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDNiMDBlYzBmY2YwLi44MzcxZjhkN2I2YiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDY1LDYgKzQ2NSwxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7cmR5bmFtaWM6LWV4cG9ydC1keW5hbWljfSBcCi0gICAtZHluYW1pYy1saW5rZXIgIiBHTlVfVVNFUl9EWU5BTUlDX0xJTktFUjMyICJ9fSBcCi0tLSAKLTIuMTMuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQxLWdjYy1saWJjcHAtc3VwcG9ydC1mZmlsZS1wcmVmaXgtbWFwLW9sZC1uZXcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyNjBlMzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0MS1nY2MtbGliY3BwLXN1cHBvcnQtZmZpbGUtcHJlZml4LW1hcC1vbGQtbmV3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjg0ICswLDAgQEAKLUZyb20gNGVhZGM5OWJkZDA5NzQ3NjFiZjQ4ZjBmZDMyOTk0ZGQ5YTNmZmNmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDI6Mjc6NDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0MS80N10gZ2NjL2xpYmNwcDogc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcD08b2xkPj08bmV3PgotCi1TaW1pbGFyIC1mZGVidWctcHJlZml4LW1hcCwgYWRkIG9wdGlvbiAtZmZpbGUtcHJlZml4LW1hcCB0byBtYXAgb25lCi1kaXJlY3RvcnkgbmFtZSAob2xkKSB0byBhbm90aGVyIChuZXcpIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fIGFuZAotX19idWlsdGluX0ZJTEUgKCkuCi0KLWh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTcwMjY4Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy9jLWZhbWlseS9jLW9wdHMuYyAgICAgfCAxMyArKysrKysrCi0gZ2NjL2MtZmFtaWx5L2Mub3B0ICAgICAgICB8ICA0ICsrKwotIGdjYy9kd2FyZjJvdXQuYyAgICAgICAgICAgfCAgMSArCi0gZ2NjL2dpbXBsaWZ5LmMgICAgICAgICAgICB8ICAyICsrCi0gbGliY3BwL01ha2VmaWxlLmluICAgICAgICB8IDEwICsrKy0tLQotIGxpYmNwcC9maWxlLW1hcC5jICAgICAgICAgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGxpYmNwcC9pbmNsdWRlL2ZpbGUtbWFwLmggfCAzMCArKysrKysrKysrKysrKysrCi0gbGliY3BwL21hY3JvLmMgICAgICAgICAgICB8ICAyICsrCi0gOCBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2ZpbGUtbWFwLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotCi1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jIGIvZ2NjL2MtZmFtaWx5L2Mtb3B0cy5jCi1pbmRleCBlYTBlMDFiMTAxYy4uYTc0MWM3NWE3OGYgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy1vcHRzLmMKLSsrKyBiL2djYy9jLWZhbWlseS9jLW9wdHMuYwotQEAgLTM5LDYgKzM5LDE0IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgIm9wdHMuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCQkvKiBGb3IgUExVR0lOX0lOQ0xVREVfRklMRSBldmVudC4gICovCi0gI2luY2x1ZGUgIm1rZGVwcy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotKyNpbmNsdWRlICJjLXRhcmdldC5oIgotKyNpbmNsdWRlICJ0bS5oIgkJCS8qIEZvciBCWVRFU19CSUdfRU5ESUFOLAotKwkJCQkgICBET0xMQVJTX0lOX0lERU5USUZJRVJTLAotKwkJCQkgICBTVERDXzBfSU5fU1lTVEVNX0hFQURFUlMsCi0rCQkJCSAgIFRBUkdFVF9GTFRfRVZBTF9NRVRIT0RfTk9OX0RFRkFVTFQgYW5kCi0rCQkJCSAgIFRBUkdFVF9PUFRGLiAgKi8KLSsjaW5jbHVkZSAidG1fcC5oIgkJLyogRm9yIENfQ09NTU9OX09WRVJSSURFX09QVElPTlMuICAqLwotICNpbmNsdWRlICJkdW1wZmlsZS5oIgotIAotICNpZm5kZWYgRE9MTEFSU19JTl9JREVOVElGSUVSUwotQEAgLTUxNyw2ICs1MjUsMTEgQEAgY19jb21tb25faGFuZGxlX29wdGlvbiAoc2l6ZV90IHNjb2RlLCBjb25zdCBjaGFyICphcmcsIGludCB2YWx1ZSwKLSAgICAgICBjcHBfb3B0cy0+bmFycm93X2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci0gCi0rICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotKyAgICAgIGlmIChhZGRfZmlsZV9wcmVmaXhfbWFwIChhcmcpIDwgMCkKLSsgICAgICAgIGVycm9yICgiaW52YWxpZCBhcmd1bWVudCAlcXMgdG8gLWZmaWxlLXByZWZpeC1tYXAiLCBhcmcpOwotKyAgICAgIGJyZWFrOwotKwotICAgICBjYXNlIE9QVF9md2lkZV9leGVjX2NoYXJzZXRfOgotICAgICAgIGNwcF9vcHRzLT53aWRlX2NoYXJzZXQgPSBhcmc7Ci0gICAgICAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0Ci1pbmRleCBjNGVmNzc5NjI4Mi4uNzMzMzNkZmQ1N2MgMTAwNjQ0Ci0tLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKLSsrKyBiL2djYy9jLWZhbWlseS9jLm9wdAotQEAgLTEzNzIsNiArMTM3MiwxMCBAQCBmZXhlYy1jaGFyc2V0PQotIEMgT2JqQyBDKysgT2JqQysrIEpvaW5lZCBSZWplY3ROZWdhdGl2ZQotIC1mZXhlYy1jaGFyc2V0PTxjc2V0PglDb252ZXJ0IGFsbCBzdHJpbmdzIGFuZCBjaGFyYWN0ZXIgY29uc3RhbnRzIHRvIGNoYXJhY3RlciBzZXQgPGNzZXQ+LgotIAotK2ZmaWxlLXByZWZpeC1tYXA9Ci0rQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFJlamVjdE5lZ2F0aXZlCi0rLWZmaWxlLXByZWZpeC1tYXA9PG9sZD1uZXc+CU1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXyBhbmQgX19idWlsdGluX0ZJTEUgKCkKLSsKLSBmZXh0ZW5kZWQtaWRlbnRpZmllcnMKLSBDIE9iakMgQysrIE9iakMrKwotIFBlcm1pdCB1bml2ZXJzYWwgY2hhcmFjdGVyIG5hbWVzIChcXHUgYW5kIFxcVSkgaW4gaWRlbnRpZmllcnMuCi1kaWZmIC0tZ2l0IGEvZ2NjL2R3YXJmMm91dC5jIGIvZ2NjL2R3YXJmMm91dC5jCi1pbmRleCA5OGM1MTU3NmVjMi4uNzYyZjY5YWU4OGUgMTAwNjQ0Ci0tLS0gYS9nY2MvZHdhcmYyb3V0LmMKLSsrKyBiL2djYy9kd2FyZjJvdXQuYwotQEAgLTIzNDIxLDYgKzIzNDIxLDcgQEAgZ2VuX3Byb2R1Y2VyX3N0cmluZyAodm9pZCkKLSAgICAgICBjYXNlIE9QVF9mbHRyYW5zX291dHB1dF9saXN0XzoKLSAgICAgICBjYXNlIE9QVF9mcmVzb2x1dGlvbl86Ci0gICAgICAgY2FzZSBPUFRfZmRlYnVnX3ByZWZpeF9tYXBfOgotKyAgICAgIGNhc2UgT1BUX2ZmaWxlX3ByZWZpeF9tYXBfOgotIAkvKiBJZ25vcmUgdGhlc2UuICAqLwotIAljb250aW51ZTsKLSAgICAgICBkZWZhdWx0OgotZGlmZiAtLWdpdCBhL2djYy9naW1wbGlmeS5jIGIvZ2NjL2dpbXBsaWZ5LmMKLWluZGV4IGZkMjdlYjE1MjNmLi41NTQyYjM3OWYyOCAxMDA2NDQKLS0tLSBhL2djYy9naW1wbGlmeS5jCi0rKysgYi9nY2MvZ2ltcGxpZnkuYwotQEAgLTU4LDYgKzU4LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAiZ29tcC1jb25zdGFudHMuaCIKLSAjaW5jbHVkZSAidHJlZS1kdW1wLmgiCi0gI2luY2x1ZGUgImdpbXBsZS13YWxrLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0gI2luY2x1ZGUgImxhbmdob29rcy1kZWYuaCIJLyogRklYTUU6IGZvciBsaGRfc2V0X2RlY2xfYXNzZW1ibGVyX25hbWUgKi8KLSAjaW5jbHVkZSAiYnVpbHRpbnMuaCIKLSAjaW5jbHVkZSAiYXNhbi5oIgotZGlmZiAtLWdpdCBhL2xpYmNwcC9NYWtlZmlsZS5pbiBiL2xpYmNwcC9NYWtlZmlsZS5pbgotaW5kZXggMGJkMzc4N2MyNWUuLmQzYjUyOTU2YjUyIDEwMDY0NAotLS0tIGEvbGliY3BwL01ha2VmaWxlLmluCi0rKysgYi9saWJjcHAvTWFrZWZpbGUuaW4KLUBAIC04NCwxMiArODQsMTIgQEAgREVQTU9ERSA9ICQoQ1hYREVQTU9ERSkKLSAKLSAKLSBsaWJjcHBfYV9PQkpTID0gY2hhcnNldC5vIGRpcmVjdGl2ZXMubyBkaXJlY3RpdmVzLW9ubHkubyBlcnJvcnMubyBcCi0tCWV4cHIubyBmaWxlcy5vIGlkZW50aWZpZXJzLm8gaW5pdC5vIGxleC5vIGxpbmUtbWFwLm8gbWFjcm8ubyBcCi0tCW1rZGVwcy5vIHBjaC5vIHN5bXRhYi5vIHRyYWRpdGlvbmFsLm8KLSsJZXhwci5vIGZpbGUtbWFwLm8gZmlsZXMubyBpZGVudGlmaWVycy5vIGluaXQubyBsZXgubyBsaW5lLW1hcC5vIFwKLSsJbWFjcm8ubyBta2RlcHMubyBwY2gubyBzeW10YWIubyB0cmFkaXRpb25hbC5vCi0gCi0gbGliY3BwX2FfU09VUkNFUyA9IGNoYXJzZXQuYyBkaXJlY3RpdmVzLmMgZGlyZWN0aXZlcy1vbmx5LmMgZXJyb3JzLmMgXAotLQlleHByLmMgZmlsZXMuYyBpZGVudGlmaWVycy5jIGluaXQuYyBsZXguYyBsaW5lLW1hcC5jIG1hY3JvLmMgXAotLQlta2RlcHMuYyBwY2guYyBzeW10YWIuYyB0cmFkaXRpb25hbC5jCi0rCWV4cHIuYyBmaWxlLW1hcC5jIGZpbGVzLmMgaWRlbnRpZmllcnMuYyBpbml0LmMgbGV4LmMgbGluZS1tYXAuYyBcCi0rCW1hY3JvLmMgbWtkZXBzLmMgcGNoLmMgc3ltdGFiLmMgdHJhZGl0aW9uYWwuYwotIAotIGFsbDogbGliY3BwLmEgJChVU0VEX0NBVEFMT0dTKQotIAotQEAgLTI2Myw3ICsyNjMsNyBAQCBwby8kKFBBQ0tBR0UpLnBvdDogJChsaWJjcHBfYV9TT1VSQ0VTKQotIAotIFRBR1NfU09VUkNFUyA9ICQobGliY3BwX2FfU09VUkNFUykgaW50ZXJuYWwuaCB1Y25pZC5oIFwKLSAgICAgaW5jbHVkZS9saW5lLW1hcC5oIGluY2x1ZGUvc3ltdGFiLmggaW5jbHVkZS9jcHAtaWQtZGF0YS5oIFwKLS0gICAgaW5jbHVkZS9jcHBsaWIuaCBpbmNsdWRlL21rZGVwcy5oIHN5c3RlbS5oCi0rICAgIGluY2x1ZGUvY3BwbGliLmggaW5jbHVkZS9ta2RlcHMuaCBzeXN0ZW0uaCBpbmNsdWRlL2ZpbGUtbWFwLmgKLSAKLSBUQUdTOiAkKFRBR1NfU09VUkNFUykKLSAJY2QgJChzcmNkaXIpICYmIGV0YWdzICQoVEFHU19TT1VSQ0VTKQotZGlmZiAtLWdpdCBhL2xpYmNwcC9maWxlLW1hcC5jIGIvbGliY3BwL2ZpbGUtbWFwLmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMTgwMzVlZjZhNzIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2xpYmNwcC9maWxlLW1hcC5jCi1AQCAtMCwwICsxLDkyIEBACi0rLyogTWFwIG9uZSBkaXJlY3RvcnkgbmFtZSB0byBhbm90aGVyIGluIF9fRklMRV9fLCBfX0JBU0VfRklMRV9fCi0rICAgYW5kIF9fYnVpbHRpbl9GSUxFICgpLgotKyAgIENvcHlyaWdodCAoQykgMjAwMS0yMDE2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci0rdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCi0rRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQotK2xhdGVyIHZlcnNpb24uCi0rCi0rVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLStNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLStZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotK2Fsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0rPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgotKwotKyBJbiBvdGhlciB3b3JkcywgeW91IGFyZSB3ZWxjb21lIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUgdGhpcyBwcm9ncmFtLgotKyBZb3UgYXJlIGZvcmJpZGRlbiB0byBmb3JiaWQgYW55b25lIGVsc2UgdG8gdXNlLCBzaGFyZSBhbmQgaW1wcm92ZQotKyB3aGF0IHlvdSBnaXZlIHRoZW0uICAgSGVscCBzdGFtcCBvdXQgc29mdHdhcmUtaG9hcmRpbmchICAqLwotKwotKyNpbmNsdWRlICJjb25maWcuaCIKLSsjaW5jbHVkZSAic3lzdGVtLmgiCi0rI2luY2x1ZGUgImZpbGUtbWFwLmgiCi0rCi0rLyogU3RydWN0dXJlIHJlY29yZGluZyB0aGUgbWFwcGluZyBmcm9tIHNvdXJjZSBmaWxlIGFuZCBkaXJlY3RvcnkKLSsgICBuYW1lcyBhdCBjb21waWxlIHRpbWUgdG8gX19GSUxFX18gKi8KLSt0eXBlZGVmIHN0cnVjdCBmaWxlX3ByZWZpeF9tYXAKLSt7Ci0rICBjb25zdCBjaGFyICpvbGRfcHJlZml4OwotKyAgY29uc3QgY2hhciAqbmV3X3ByZWZpeDsKLSsgIHNpemVfdCBvbGRfbGVuOwotKyAgc2l6ZV90IG5ld19sZW47Ci0rICBzdHJ1Y3QgZmlsZV9wcmVmaXhfbWFwICpuZXh0OwotK30gZmlsZV9wcmVmaXhfbWFwOwotKwotKy8qIExpbmtlZCBsaXN0IG9mIHN1Y2ggc3RydWN0dXJlcy4gICovCi0rc3RhdGljIGZpbGVfcHJlZml4X21hcCAqZmlsZV9wcmVmaXhfbWFwczsKLSsKLSsvKiBSZWNvcmQgcHJlZml4IG1hcHBpbmcgb2YgX19GSUxFX18uICBBUkcgaXMgdGhlIGFyZ3VtZW50IHRvCi0rICAgLWZmaWxlLXByZWZpeC1tYXAgYW5kIG11c3QgYmUgb2YgdGhlIGZvcm0gT0xEPU5FVy4gICovCi0raW50Ci0rYWRkX2ZpbGVfcHJlZml4X21hcCAoY29uc3QgY2hhciAqYXJnKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY29uc3QgY2hhciAqcDsKLSsKLSsgIHAgPSBzdHJjaHIgKGFyZywgJz0nKTsKLSsgIGlmICghcCkKLSsgIHsKLSsgICAgICBmcHJpbnRmKHN0ZGVyciwgImludmFsaWQgYXJndW1lbnQgJXFzIHRvIC1mZmlsZS1wcmVmaXgtbWFwIiwgYXJnKTsKLSsgICAgICByZXR1cm4gLTE7Ci0rICB9Ci0rICBtYXAgPSBYTkVXIChmaWxlX3ByZWZpeF9tYXApOwotKyAgbWFwLT5vbGRfcHJlZml4ID0geHN0cm5kdXAgKGFyZywgcCAtIGFyZyk7Ci0rICBtYXAtPm9sZF9sZW4gPSBwIC0gYXJnOwotKyAgcCsrOwotKyAgbWFwLT5uZXdfcHJlZml4ID0geHN0cmR1cCAocCk7Ci0rICBtYXAtPm5ld19sZW4gPSBzdHJsZW4gKHApOwotKyAgbWFwLT5uZXh0ID0gZmlsZV9wcmVmaXhfbWFwczsKLSsgIGZpbGVfcHJlZml4X21hcHMgPSBtYXA7Ci0rCi0rICByZXR1cm4gMDsKLSt9Ci0rCi0rLyogUGVyZm9ybSB1c2VyLXNwZWNpZmllZCBtYXBwaW5nIG9mIF9fRklMRV9fIHByZWZpeGVzLiAgUmV0dXJuCi0rICAgdGhlIG5ldyBuYW1lIGNvcnJlc3BvbmRpbmcgdG8gZmlsZW5hbWUuICAqLwotKwotK2NvbnN0IGNoYXIgKgotK3JlbWFwX2ZpbGVfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotK3sKLSsgIGZpbGVfcHJlZml4X21hcCAqbWFwOwotKyAgY2hhciAqczsKLSsgIGNvbnN0IGNoYXIgKm5hbWU7Ci0rICBzaXplX3QgbmFtZV9sZW47Ci0rCi0rICBmb3IgKG1hcCA9IGZpbGVfcHJlZml4X21hcHM7IG1hcDsgbWFwID0gbWFwLT5uZXh0KQotKyAgICBpZiAoZmlsZW5hbWVfbmNtcCAoZmlsZW5hbWUsIG1hcC0+b2xkX3ByZWZpeCwgbWFwLT5vbGRfbGVuKSA9PSAwKQotKyAgICAgIGJyZWFrOwotKyAgaWYgKCFtYXApCi0rICAgIHJldHVybiBmaWxlbmFtZTsKLSsgIG5hbWUgPSBmaWxlbmFtZSArIG1hcC0+b2xkX2xlbjsKLSsgIG5hbWVfbGVuID0gc3RybGVuIChuYW1lKSArIDE7Ci0rICBzID0gKGNoYXIgKikgYWxsb2NhIChuYW1lX2xlbiArIG1hcC0+bmV3X2xlbik7Ci0rICBtZW1jcHkgKHMsIG1hcC0+bmV3X3ByZWZpeCwgbWFwLT5uZXdfbGVuKTsKLSsgIG1lbWNweSAocyArIG1hcC0+bmV3X2xlbiwgbmFtZSwgbmFtZV9sZW4pOwotKwotKyAgcmV0dXJuIHhzdHJkdXAgKHMpOwotK30KLSsKLSsKLWRpZmYgLS1naXQgYS9saWJjcHAvaW5jbHVkZS9maWxlLW1hcC5oIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi44NzUwMzE1MmQyNwotLS0tIC9kZXYvbnVsbAotKysrIGIvbGliY3BwL2luY2x1ZGUvZmlsZS1tYXAuaAotQEAgLTAsMCArMSwzMCBAQAotKy8qIE1hcCBvbmUgZGlyZWN0b3J5IG5hbWUgdG8gYW5vdGhlciBpbiBfX0ZJTEVfXywgX19CQVNFX0ZJTEVfXwotKyAgIGFuZCBfX2J1aWx0aW5fRklMRSAoKS4KLSsgICBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLStUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAotK3VuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQotK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKLStsYXRlciB2ZXJzaW9uLgotKwotK1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotK0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSthbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotKzxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsgSW4gb3RoZXIgd29yZHMsIHlvdSBhcmUgd2VsY29tZSB0byB1c2UsIHNoYXJlIGFuZCBpbXByb3ZlIHRoaXMgcHJvZ3JhbS4KLSsgWW91IGFyZSBmb3JiaWRkZW4gdG8gZm9yYmlkIGFueW9uZSBlbHNlIHRvIHVzZSwgc2hhcmUgYW5kIGltcHJvdmUKLSsgd2hhdCB5b3UgZ2l2ZSB0aGVtLiAgIEhlbHAgc3RhbXAgb3V0IHNvZnR3YXJlLWhvYXJkaW5nISAgKi8KLSsKLSsjaWZuZGVmIExJQkNQUF9GSUxFX01BUF9ICi0rI2RlZmluZSBMSUJDUFBfRklMRV9NQVBfSAotKwotK2NvbnN0IGNoYXIgKiByZW1hcF9maWxlX2ZpbGVuYW1lIChjb25zdCBjaGFyICpmaWxlbmFtZSk7Ci0rCi0raW50IGFkZF9maWxlX3ByZWZpeF9tYXAgKGNvbnN0IGNoYXIgKmFyZyk7Ci0rCi0rI2VuZGlmIC8qICFMSUJDUFBfRklMRV9NQVBfSCAgKi8KLWRpZmYgLS1naXQgYS9saWJjcHAvbWFjcm8uYyBiL2xpYmNwcC9tYWNyby5jCi1pbmRleCBkZTE4YzIyMTBjZi4uMjc0OGM3MGQ1MjAgMTAwNjQ0Ci0tLS0gYS9saWJjcHAvbWFjcm8uYwotKysrIGIvbGliY3BwL21hY3JvLmMKLUBAIC0yNiw2ICsyNiw3IEBAIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2luY2x1ZGUgInN5c3RlbS5oIgotICNpbmNsdWRlICJjcHBsaWIuaCIKLSAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKLSsjaW5jbHVkZSAiZmlsZS1tYXAuaCIKLSAKLSB0eXBlZGVmIHN0cnVjdCBtYWNyb19hcmcgbWFjcm9fYXJnOwotIC8qIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIHRva2VucyBvZiBhIG1hY3JvIGFyZ3VtZW50LiAgVGhlc2UKLUBAIC0zMDEsNiArMzAyLDcgQEAgX2NwcF9idWlsdGluX21hY3JvX3RleHQgKGNwcF9yZWFkZXIgKnBmaWxlLCBjcHBfaGFzaG5vZGUgKm5vZGUsCi0gCSAgICBpZiAoIW5hbWUpCi0gCSAgICAgIGFib3J0ICgpOwotIAkgIH0KLSsJbmFtZSA9IHJlbWFwX2ZpbGVfZmlsZW5hbWUgKG5hbWUpOwotIAlsZW4gPSBzdHJsZW4gKG5hbWUpOwotIAlidWYgPSBfY3BwX3VuYWxpZ25lZF9hbGxvYyAocGZpbGUsIGxlbiAqIDIgKyAzKTsKLSAJcmVzdWx0ID0gYnVmOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Mi1SZXVzZS1mZGVidWctcHJlZml4LW1hcC10by1yZXBsYWNlLWZmaWxlLXByZWZpeC1tYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTI0NzE2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQyLVJldXNlLWZkZWJ1Zy1wcmVmaXgtbWFwLXRvLXJlcGxhY2UtZmZpbGUtcHJlZml4LW1hcC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gZGRkZGM3MzM1NTM5ZmI4YTZkMzBiZWJhMjE3ODE3NjJkZjE1OTE4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMTYgTWFyIDIwMTYgMDU6Mzk6NTkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0Mi80N10gUmV1c2UgLWZkZWJ1Zy1wcmVmaXgtbWFwIHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAKLQotVGhlIG9lLWNvcmUgbWF5IHVzZSBleHRlcm5hbCB0b29sY2hhaW4gdG8gY29tcGlsZSwKLXdoaWNoIG1heSBub3Qgc3VwcG9ydCAtZmZpbGUtcHJlZml4LW1hcC4KLQotU2luY2Ugd2UgdXNlIC1mZGVidWctcHJlZml4LW1hcCB0byBkbyB0aGUgc2FtZSB0aGluZywKLXNvIHdlIGNvdWxkIHJldXNlIGl0IHRvIHJlcGxhY2UgLWZmaWxlLXByZWZpeC1tYXAuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZVtvZS1jb3JlIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBnY2Mvb3B0cy1nbG9iYWwuYyB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9vcHRzLWdsb2JhbC5jIGIvZ2NjL29wdHMtZ2xvYmFsLmMKLWluZGV4IDUwYmFkNzdjMzQ3Li4zMmIxZDI4NjcyMSAxMDA2NDQKLS0tLSBhL2djYy9vcHRzLWdsb2JhbC5jCi0rKysgYi9nY2Mvb3B0cy1nbG9iYWwuYwotQEAgLTMxLDYgKzMxLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAjaW5jbHVkZSAibGFuZ2hvb2tzLmgiCi0gI2luY2x1ZGUgImRiZ2NudC5oIgotICNpbmNsdWRlICJkZWJ1Zy5oIgotKyNpbmNsdWRlICJmaWxlLW1hcC5oIgotICNpbmNsdWRlICJvdXRwdXQuaCIKLSAjaW5jbHVkZSAicGx1Z2luLmgiCi0gI2luY2x1ZGUgInRvcGxldi5oIgotQEAgLTM1Nyw2ICszNTgsOSBAQCBoYW5kbGVfY29tbW9uX2RlZmVycmVkX29wdGlvbnMgKHZvaWQpCi0gCi0gCWNhc2UgT1BUX2ZkZWJ1Z19wcmVmaXhfbWFwXzoKLSAJICBhZGRfZGVidWdfcHJlZml4X21hcCAob3B0LT5hcmcpOwotKwotKwkgIC8qIFJldXNlIC1mZGVidWctcHJlZml4LW1hcCB0byByZXBsYWNlIC1mZmlsZS1wcmVmaXgtbWFwICovCi0rCSAgYWRkX2ZpbGVfcHJlZml4X21hcCAob3B0LT5hcmcpOwotIAkgIGJyZWFrOwotIAotIAljYXNlIE9QVF9mZHVtcF86Ci0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQzLWdjYy1maW5hbC5jLWZkZWJ1Zy1wcmVmaXgtbWFwLXN1cHBvcnQtdG8tcmVtYXAtc291cmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc0YTVjODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0My1nY2MtZmluYWwuYy1mZGVidWctcHJlZml4LW1hcC1zdXBwb3J0LXRvLXJlbWFwLXNvdXJjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1YmM5N2JlMzg4NDg1YTVmOGRkODVkYjM0MzcyYTEyOTliZmZkMjYzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCAyNCBNYXIgMjAxNiAxMToyMzoxNCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQzLzQ3XSBnY2MvZmluYWwuYzogLWZkZWJ1Zy1wcmVmaXgtbWFwIHN1cHBvcnQgdG8gcmVtYXAKLSBzb3VyY2VzIHdpdGggcmVsYXRpdmUgcGF0aAotCi1QUiBvdGhlci83MDQyOAotKiBmaW5hbC5jIChyZW1hcF9kZWJ1Z19maWxlbmFtZSk6IFVzZSBscmVhbHBhdGggdG8gdHJhbnNsYXRlCi1yZWxhdGl2ZSBwYXRoIGJlZm9yZSByZW1hcHBpbmcKLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjgKLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL2ZpbmFsLmMgfCAxNSArKysrKysrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9maW5hbC5jIGIvZ2NjL2ZpbmFsLmMKLWluZGV4IDgyMDE2MmIyZDI4Li5kNzRjYjkwMWFiZCAxMDA2NDQKLS0tLSBhL2djYy9maW5hbC5jCi0rKysgYi9nY2MvZmluYWwuYwotQEAgLTE1NTksMTYgKzE1NTksMjUgQEAgcmVtYXBfZGVidWdfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQotICAgY29uc3QgY2hhciAqbmFtZTsKLSAgIHNpemVfdCBuYW1lX2xlbjsKLSAKLSsgIC8qIFN1cHBvcnQgdG8gcmVtYXAgZmlsZW5hbWUgd2l0aCByZWxhdGl2ZSBwYXRoICAqLwotKyAgY2hhciAqcmVhbHBhdGggPSBscmVhbHBhdGggKGZpbGVuYW1lKTsKLSsgIGlmIChyZWFscGF0aCA9PSBOVUxMKQotKyAgICByZXR1cm4gZmlsZW5hbWU7Ci0rCi0gICBmb3IgKG1hcCA9IGRlYnVnX3ByZWZpeF9tYXBzOyBtYXA7IG1hcCA9IG1hcC0+bmV4dCkKLS0gICAgaWYgKGZpbGVuYW1lX25jbXAgKGZpbGVuYW1lLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSsgICAgaWYgKGZpbGVuYW1lX25jbXAgKHJlYWxwYXRoLCBtYXAtPm9sZF9wcmVmaXgsIG1hcC0+b2xkX2xlbikgPT0gMCkKLSAgICAgICBicmVhazsKLSAgIGlmICghbWFwKQotLSAgICByZXR1cm4gZmlsZW5hbWU7Ci0tICBuYW1lID0gZmlsZW5hbWUgKyBtYXAtPm9sZF9sZW47Ci0rICAgIHsKLSsgICAgICBmcmVlIChyZWFscGF0aCk7Ci0rICAgICAgcmV0dXJuIGZpbGVuYW1lOwotKyAgICB9Ci0rICBuYW1lID0gcmVhbHBhdGggKyBtYXAtPm9sZF9sZW47Ci0gICBuYW1lX2xlbiA9IHN0cmxlbiAobmFtZSkgKyAxOwotICAgcyA9IChjaGFyICopIGFsbG9jYSAobmFtZV9sZW4gKyBtYXAtPm5ld19sZW4pOwotICAgbWVtY3B5IChzLCBtYXAtPm5ld19wcmVmaXgsIG1hcC0+bmV3X2xlbik7Ci0gICBtZW1jcHkgKHMgKyBtYXAtPm5ld19sZW4sIG5hbWUsIG5hbWVfbGVuKTsKLSsgIGZyZWUgKHJlYWxwYXRoKTsKLSAgIHJldHVybiBnZ2Nfc3RyZHVwIChzKTsKLSB9Ci0gDAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzOWFmOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0NC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNCArMCwwIEBACi1Gcm9tIDg0N2FlYzc2NDU0MDYzNmVjNjU0ZmQ3YTAxMmUyNzFhZmE4ZDRlMGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBBcHIgMjAxNiAyMDowMzoyOCArMDAwMAotU3ViamVjdDogW1BBVENIIDQ0LzQ3XSBsaWJnY2M6IEFkZCBrbm9iIHRvIHVzZSBsZGJsLTEyOCBvbiBwcGMKLQotbXVzbCBkb2VzIG5vdCBzdXBwb3J0IGxkYmwgMTI4IHNvIHdlIGNhbiBub3QgYXNzdW1lCi10aGF0IGxpbnV4IGFzIGEgd2hvbGUgc3VwcG9ydHMgbGRibC0xMjggYml0cywgaW5zdGVhZAotYWN0IHVwb24gY29uZmlndXJlIG9wdGlvbiBwYXNzZWQgdG8gZ2NjIGFuZCBhc3N1bWUgbm8KLW9uIG11c2wgYW5kIHllcyBvdGhlcndpc2UgaWYgbm8gb3B0aW9uIGlzIHBhc3NlZCBzaW5jZQotZGVmYXVsdCBiZWhhdmlvdXIgaXMgdG8gYXNzdW1lIGxkYmwxMjggaXQgZG9lcyBub3QKLWNoYW5nZSB0aGUgZGVmYXVsdHMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBhMWEzOTJkZTg4ZC4uMmZlNjg4OWEzNDIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCA0NWM0NTk3ODhjMy4uZTJkMTliMTQ0YjgKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTgsNiArNjE4LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY3LDYgKzY2OCw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjQsNiArMTMyNiw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMDgsNiArMjIxMSwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGFmMTUxNDczNzA5Li5kYWRhNTI0MTZkYSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03Nyw2ICs3NywxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYWEwMzhjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA5MmJlYjg4M2FiNTdhMjNhMzViYTc2YzQ5NmJjMWY0Y2FiYjE2OTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDQ1LzQ3XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggNzZiZTc3MTA5NjAuLmExZWUyZWUyNmVkIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZDIyZjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0Ny1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi1Gcm9tIDliOTUxYzhmNmIwYWFmZjdjMTZkYzRkYjcyYjVlNTZlYzczODEwYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNDcvNDddIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAotCi1tdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAotc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCi0KLSBnY2MvZ2luY2x1ZGUvc3RkZGVmLmggfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9naW5jbHVkZS9zdGRkZWYuaCBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotaW5kZXggODcyZjQ1MWNhYzkuLjdlOTA5MzgzODdjIDEwMDY0NAotLS0tIGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi0rKysgYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLUBAIC0xMzQsNiArMTM0LDcgQEAgX1RZUEVfd2NoYXJfdDsKLSAjaWZuZGVmIF9fX2ludF9wdHJkaWZmX3RfaAotICNpZm5kZWYgX0dDQ19QVFJESUZGX1QKLSAjaWZuZGVmIF9QVFJESUZGX1RfREVDTEFSRUQgLyogRHJhZ29uRmx5ICovCi0rI2lmbmRlZiBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9QVFJESUZGX1QKLSAjZGVmaW5lIF9UX1BUUkRJRkZfCi0gI2RlZmluZSBfVF9QVFJESUZGCi1AQCAtMTQzLDEwICsxNDQsMTIgQEAgX1RZUEVfd2NoYXJfdDsKLSAjZGVmaW5lIF9fX2ludF9wdHJkaWZmX3RfaAotICNkZWZpbmUgX0dDQ19QVFJESUZGX1QKLSAjZGVmaW5lIF9QVFJESUZGX1RfREVDTEFSRUQKLSsjZGVmaW5lIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNpZm5kZWYgX19QVFJESUZGX1RZUEVfXwotICNkZWZpbmUgX19QVFJESUZGX1RZUEVfXyBsb25nIGludAotICNlbmRpZgotIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7Ci0rI2VuZGlmIC8qIF9fREVGSU5FRF9wdHJkaWZmX3QgKi8KLSAjZW5kaWYgLyogX1BUUkRJRkZfVF9ERUNMQVJFRCAqLwotICNlbmRpZiAvKiBfR0NDX1BUUkRJRkZfVCAqLwotICNlbmRpZiAvKiBfX19pbnRfcHRyZGlmZl90X2ggKi8KLUBAIC0xODQsNiArMTg3LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjaWZuZGVmIF9HQ0NfU0laRV9UCi0gI2lmbmRlZiBfU0laRVRfCi0gI2lmbmRlZiBfX3NpemVfdAotKyNpZm5kZWYgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2RlZmluZSBfX3NpemVfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fU0laRV9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9TSVpFX1QKLUBAIC0yMDAsNiArMjA0LDcgQEAgdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSAjZGVmaW5lIF9fX2ludF9zaXplX3RfaAotICNkZWZpbmUgX0dDQ19TSVpFX1QKLSAjZGVmaW5lIF9TSVpFVF8KLSsjZGVmaW5lIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLwotICNpZiAoZGVmaW5lZCAoX19GcmVlQlNEX18pICYmIChfX0ZyZWVCU0RfXyA+PSA1KSkgXAotICAgfHwgZGVmaW5lZChfX0RyYWdvbkZseV9fKSBcCi0gICB8fCBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKLUBAIC0yMzUsNiArMjQwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2VuZGlmIC8qIF9TSVpFX1QgKi8KLSAjZW5kaWYgLyogX19TSVpFX1RfXyAqLwotICNlbmRpZiAvKiBfX3NpemVfdF9fICovCi0rI2VuZGlmIC8qIF9fREVGSU5FRF9zaXplX3QgKi8KLSAjdW5kZWYJX19uZWVkX3NpemVfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3NpemVfdC4gICovCi0gCi1AQCAtMjY0LDYgKzI3MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNpZm5kZWYgX19faW50X3djaGFyX3RfaAotICNpZm5kZWYgX19JTlRfV0NIQVJfVF9ICi0gI2lmbmRlZiBfR0NDX1dDSEFSX1QKLSsjaWZuZGVmIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fd2NoYXJfdF9fCS8qIEJlT1MgKi8KLSAjZGVmaW5lIF9fV0NIQVJfVF9fCS8qIENyYXkgVW5pY29zL01rICovCi0gI2RlZmluZSBfV0NIQVJfVAotQEAgLTI3OSw2ICsyODYsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZGVmaW5lIF9fSU5UX1dDSEFSX1RfSAotICNkZWZpbmUgX0dDQ19XQ0hBUl9UCi0gI2RlZmluZSBfV0NIQVJfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotIAotIC8qIE9uIEJTRC8zODYgMS4xLCBhdCBsZWFzdCwgbWFjaGluZS9hbnNpLmggZGVmaW5lcyBfQlNEX1dDSEFSX1RfCi0gICAgaW5zdGVhZCBvZiBfV0NIQVJfVF8sIGFuZCBfQlNEX1JVTkVfVF8gKHdoaWNoLCB1bmxpa2UgdGhlIG90aGVyCi1AQCAtMzQ0LDYgKzM1Miw3IEBAIHR5cGVkZWYgX19XQ0hBUl9UWVBFX18gd2NoYXJfdDsKLSAjZW5kaWYKLSAjZW5kaWYgLyogX19XQ0hBUl9UX18gKi8KLSAjZW5kaWYgLyogX193Y2hhcl90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3djaGFyX3QgbXVzbCAqLwotICN1bmRlZglfX25lZWRfd2NoYXJfdAotICNlbmRpZiAvKiBfU1REREVGX0ggb3IgX19uZWVkX3djaGFyX3QuICAqLwotIAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvMDA0OC1nY2MtRW5hYmxlLXN0YXRpYy1QSUUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTk2ZTkxMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ4LWdjYy1FbmFibGUtc3RhdGljLVBJRS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gNDRlZjgwNjg4YjU2YmVlYTg1YzAwNzA4NDBkZWExZTJhNGUzNGFlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDEzIEp1biAyMDE3IDEyOjEyOjUyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDkvNDldIGdjYzogRW5hYmxlIHN0YXRpYyBQSUUKLQotU3RhdGljIFBJRSBzdXBwb3J0IGluIEdDQwotc2VlCi1odHRwczovL2djYy5nbnUub3JnL21sL2djYy8yMDE1LTA2L21zZzAwMDA4Lmh0bWwKLQotc3RhcnRmaWxlcyBiZWZvcmUgcGF0Y2g6Ci0gLXN0YXRpYyAtPiBjcnQxLm8gY3J0aS5vIGNydGJlZ2luVC5vCi0gLXN0YXRpYyAtUElFIC0+IGNydDEubyBjcnRpLm8gY3J0YmVnaW5ULm8KLSAKLWFmdGVyIHBhdGNoOgotIC1zdGF0aWMgLT4gY3J0MS5vIGNydGkubyBjcnRiZWdpblQubwotIC1zdGF0aWMgLVBJRSAtPiByY3J0MS5vIGNydGkubyBjcnRiZWdpblMubwotIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+Ci0KLS0tLQotIGdjYy9jb25maWcvZ251LXVzZXIuaCB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvZ251LXVzZXIuaCBiL2djYy9jb25maWcvZ251LXVzZXIuaAotaW5kZXggZGU2MDViMC4uYjAzNWJiZSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvZ251LXVzZXIuaAotKysrIGIvZ2NjL2NvbmZpZy9nbnUtdXNlci5oCi1AQCAtNTIsMTEgKzUyLDExIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICNkZWZpbmUgR05VX1VTRVJfVEFSR0VUX1NUQVJURklMRV9TUEVDIFwKLSAgICIle3NoYXJlZDo7IFwKLSAgICAgIHBnfHB8cHJvZmlsZTpnY3J0MS5vJXM7IFwKLS0gICAgIHN0YXRpYzpjcnQxLm8lczsgXAotKyAgICAgc3RhdGljOiAleyIgUElFX1NQRUMgIjogcmNydDEubyVzOyA6Y3J0MS5vJXN9OyBcCi0gICAgICAiIFBJRV9TUEVDICI6U2NydDEubyVzOyBcCi0gICAgICA6Y3J0MS5vJXN9IFwKLSAgICBjcnRpLm8lcyBcCi0tICAgJXtzdGF0aWM6Y3J0YmVnaW5ULm8lczsgXAotKyAgICV7c3RhdGljOiAleyIgUElFX1NQRUMgIjogY3J0YmVnaW5TLm8lczsgOmNydGJlZ2luVC5vJXN9OyBcCi0gICAgICBzaGFyZWR8IiBQSUVfU1BFQyAiOmNydGJlZ2luUy5vJXM7IFwKLSAgICAgIDpjcnRiZWdpbi5vJXN9IFwKLSAgICAle2Z2dGFibGUtdmVyaWZ5PW5vbmU6JXM7IFwKLQotMi4xMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zLzAwNDktZ2NjLW92ZXJyaWRlLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2M1M2M5NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy8wMDQ5LWdjYy1vdmVycmlkZS1UQVJHRVRfTElCQ19QUk9WSURFU19TU1AucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBAQAotRnJvbSA5ODE1YmQ5NzU2MWM3NzhlZTBiYzBjMTdmMjQ1ZTg4ZTY2NTcwMTExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogc2FuZHJhIDxzYW5kcmFAMTM4YmM3NWQtMGQwNC0wNDEwLTk2MWYtODJlZTcyYjA1NGE0PgotRGF0ZTogV2VkLCAxIE5vdiAyMDE3IDAyOjE0OjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIDIwMTctMTAtMzEgIFNhbmRyYSBMb29zZW1vcmUgIDxzYW5kcmFAY29kZXNvdXJjZXJ5LmNvbT4KLQotCWdjYy8KLQkqIGNvbmZpZ3VyZS5hYyAoLS1lbmFibGUtbGlic3NwKTogTmV3LgotCShnY2NfY3ZfbGliY19wcm92aWRlc19zc3ApOiBDaGVjayBmb3IgZXhwbGljaXQgc2V0dGluZyBiZWZvcmUKLQl0cnlpbmcgdG8gZGV0ZXJtaW5lIHRhcmdldC1zcGVjaWZpYyBkZWZhdWx0LiAgQWRqdXN0IGluZGVudGF0aW9uLgotCSogY29uZmlndXJlOiBSZWdlbmVyYXRlZC4KLQkqIGRvYy9pbnN0YWxsLnRleGkgKENvbmZpZ3VyYXRpb24pOiBFeHBhbmQgLS1kaXNhYmxlLWxpYnNzcAotCWRvY3VtZW50YXRpb24uCi0KLQotZ2l0LXN2bi1pZDogc3ZuK3NzaDovL2djYy5nbnUub3JnL3N2bi9nY2MvdHJ1bmtAMjU0Mjg4IDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhNAotLS0tCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC84MjMwNDkvXQotCi0gZ2NjL0NoYW5nZUxvZyAgICAgICAgfCAgOSArKysrKysrKysKLSBnY2MvY29uZmlndXJlICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyAgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSBnY2MvZG9jL2luc3RhbGwudGV4aSB8ICAzICsrLQotIDQgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGdjYy03LjMuMC9nY2MvY29uZmlndXJlLmFjCi1AQCAtNTcxOSwxMCArNTcxOSwyNSBAQCBpZiB0ZXN0IHgkZ2NjX2N2X3NvbGFyaXNfY3J0cyA9IHh5ZXM7IHRoCi0gICAJICAgIFtEZWZpbmUgaWYgdGhlIHN5c3RlbS1wcm92aWRlZCBDUlRzIGFyZSBwcmVzZW50IG9uIFNvbGFyaXMuXSkKLSBmaQotIAotK0FDX0FSR19FTkFCTEUobGlic3NwLAotK1tBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGlic3NwXSwgW2VuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwXSldLAotK1tjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBBQ19NU0dfRVJST1IoW3Vua25vd24gbGlic3NwIHNldHRpbmcgJGVuYWJsZXZhbF0pCi0rICAgIDs7Ci0rZXNhY10sIFtdKQotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdldCBDIGxpYnJhcnksCi0tICAgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwLAotLSAgICAgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCwKLSsgIFtnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC01NzU5LDggKzU3NzQsOSBAQCBBQ19DQUNIRV9DSEVDSyhfX3N0YWNrX2Noa19mYWlsIGluIHRhcmdlCi0gCSBBQ19DSEVDS19GVU5DKF9fc3RhY2tfY2hrX2ZhaWwsW2djY19jdl9saWJjX3Byb3ZpZGVzX3NzcD15ZXNdLAotICAgICAgICAgICAgW2VjaG8gIm5vIF9fc3RhY2tfY2hrX2ZhaWwgb24gdGhpcyB0YXJnZXQiXSkKLSAgICAgICAgIDs7Ci0tICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLS0gICAgZXNhY10pCi0rICAgICAgICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICBlc2FjCi0rICBmaV0pCi0gCi0gaWYgdGVzdCB4JGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCA9IHh5ZXM7IHRoZW4KLSAgIEFDX0RFRklORShUQVJHRVRfTElCQ19QUk9WSURFU19TU1AsIDEsCi1JbmRleDogZ2NjLTcuMy4wL2djYy9kb2MvaW5zdGFsbC50ZXhpCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2NjLTcuMy4wLm9yaWcvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLSsrKyBnY2MtNy4zLjAvZ2NjL2RvYy9pbnN0YWxsLnRleGkKLUBAIC0xNjU4LDcgKzE2NTgsOCBAQCBub3QgYmUgYnVpbHQuCi0gCi0gQGl0ZW0gLS1kaXNhYmxlLWxpYnNzcAotIFNwZWNpZnkgdGhhdCB0aGUgcnVuLXRpbWUgbGlicmFyaWVzIGZvciBzdGFjayBzbWFzaGluZyBwcm90ZWN0aW9uCi0tc2hvdWxkIG5vdCBiZSBidWlsdC4KLStzaG91bGQgbm90IGJlIGJ1aWx0IG9yIGxpbmtlZCBhZ2FpbnN0LiAgT24gbWFueSB0YXJnZXRzIGxpYnJhcnkgc3VwcG9ydAotK2lzIHByb3ZpZGVkIGJ5IHRoZSBDIGxpYnJhcnkgaW5zdGVhZC4KLSAKLSBAaXRlbSAtLWRpc2FibGUtbGlicXVhZG1hdGgKLSBTcGVjaWZ5IHRoYXQgdGhlIEdDQyBxdWFkLXByZWNpc2lvbiBtYXRoIGxpYnJhcnkgc2hvdWxkIG5vdCBiZSBidWlsdC4KLUluZGV4OiBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdjYy03LjMuMC5vcmlnL2djYy9jb25maWd1cmUKLSsrKyBnY2MtNy4zLjAvZ2NjL2NvbmZpZ3VyZQotQEAgLTk0MCw2ICs5NDAsNyBAQCBlbmFibGVfZml4X2NvcnRleF9hNTNfODQzNDE5Ci0gd2l0aF9nbGliY192ZXJzaW9uCi0gZW5hYmxlX2dudV91bmlxdWVfb2JqZWN0Ci0gZW5hYmxlX2xpbmtlcl9idWlsZF9pZAotK2VuYWJsZV9saWJzc3AKLSBlbmFibGVfZGVmYXVsdF9zc3AKLSB3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfZ2MKLUBAIC0xNjc5LDYgKzE2ODAsNyBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVuc2lvbiBvbiBnbGliYyBzeXN0ZW1zCi0gICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVyIHdpbGwgYWx3YXlzIHBhc3MgLS1idWlsZC1pZCB0byBsaW5rZXIKLSsgIC0tZW5hYmxlLWxpYnNzcCAgICAgICAgIGVuYWJsZSBsaW5raW5nIGFnYWluc3QgbGlic3NwCi0gICAtLWVuYWJsZS1kZWZhdWx0LXNzcCAgICBlbmFibGUgU3RhY2sgU21hc2hpbmcgUHJvdGVjdGlvbiBhcyBkZWZhdWx0Ci0gICAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZSBtYWtlIHJ1bGVzIGFuZCBkZXBlbmRlbmNpZXMgbm90IHVzZWZ1bCAoYW5kCi1AQCAtMTg0NTAsNyArMTg0NTIsNyBAQCBlbHNlCi0gICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9MTsgbHRfZGxuZWVkX3VzY29yZT0yCi0gICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93bgotICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLS0jbGluZSAxODQzNiAiY29uZmlndXJlIgotKyNsaW5lIDE4NDU1ICJjb25maWd1cmUiCi0gI2luY2x1ZGUgImNvbmZkZWZzLmgiCi0gCi0gI2lmIEhBVkVfRExGQ05fSAotQEAgLTE4NTU2LDcgKzE4NTU4LDcgQEAgZWxzZQotICAgbHRfZGx1bmtub3duPTA7IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgotICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KLSAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0tI2xpbmUgMTg1NDIgImNvbmZpZ3VyZSIKLSsjbGluZSAxODU2MSAiY29uZmlndXJlIgotICNpbmNsdWRlICJjb25mZGVmcy5oIgotIAotICNpZiBIQVZFX0RMRkNOX0gKLUBAIC0yNTIzNCw2ICsyNTIzNiw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM1X1ZJUzQgMSIKLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgU1BBUkM2IGluc3RydWN0aW9ucyIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGZvciBTUEFSQzYgaW5zdHJ1Y3Rpb25zLi4uICIgPiY2OyB9Ci0gaWYgdGVzdCAiJHtnY2NfY3ZfYXNfc3BhcmNfc3BhcmM2K3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yNTI3MCw2ICsyNTI3Myw3IEBAICRhc19lY2hvICIjZGVmaW5lIEhBVkVfQVNfU1BBUkM2IDEiID4+Y28KLSAKLSBmaQotIAotKwotICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIGFzc2VtYmxlciBmb3IgTEVPTiBpbnN0cnVjdGlvbnMuLi4gIiA+JjY7IH0KLSBpZiB0ZXN0ICIke2djY19jdl9hc19zcGFyY19sZW9uK3NldH0iID0gc2V0OyB0aGVuIDoKLUBAIC0yODk0Nyw2ICsyODk1MSwxOCBAQCAkYXNfZWNobyAiI2RlZmluZSBIQVZFX1NPTEFSSVNfQ1JUUyAxIiA+Ci0gCi0gZmkKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGlic3NwIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9saWJzc3Arc2V0fSIgPSBzZXQ7IHRoZW4gOgotKyAgZW5hYmxldmFsPSRlbmFibGVfbGlic3NwOyBjYXNlICIke2VuYWJsZXZhbH0iIGluCi0rICB5ZXN8bm8pCi0rICAgIDs7Ci0rICAqKQotKyAgICBhc19mbl9lcnJvciAidW5rbm93biBsaWJzc3Agc2V0dGluZyAkZW5hYmxldmFsIiAiJExJTkVOTyIgNQotKyAgICA7OwotK2VzYWMKLStmaQotKwotKwotICMgVGVzdCBmb3Igc3RhY2sgcHJvdGVjdG9yIHN1cHBvcnQgaW4gdGFyZ2V0IEMgbGlicmFyeS4KLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIF9fc3RhY2tfY2hrX2ZhaWwgaW4gdGFyZ2V0IEMgbGlicmFyeSIgPiY1Ci0gJGFzX2VjaG9fbiAiY2hlY2tpbmcgX19zdGFja19jaGtfZmFpbCBpbiB0YXJnZXQgQyBsaWJyYXJ5Li4uICIgPiY2OyB9Ci1AQCAtMjg5NTQsNiArMjg5NzAsMTEgQEAgaWYgdGVzdCAiJHtnY2NfY3ZfbGliY19wcm92aWRlc19zc3Arc2V0fQotICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLSBlbHNlCi0gICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8KLSsgIGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieG5vIjsgdGhlbgotKyAgICBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9eWVzCi0rICBlbGlmIHRlc3QgIngkZW5hYmxlX2xpYnNzcCIgPSAieHllcyI7IHRoZW4KLSsgICAgZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwPW5vCi0rICBlbHNlCi0gICAgIGNhc2UgIiR0YXJnZXQiIGluCi0gICAgICAgICotKi1tdXNsKikKLSAJICMgQWxsIHZlcnNpb25zIG9mIG11c2wgcHJvdmlkZSBzdGFjayBwcm90ZWN0b3IKLUBAIC0yOTAwMSw4ICsyOTAyMiw5IEBAIGVsc2UKLSBmaQotIAotICAgICAgICAgOzsKLS0gICopIGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcD1ubyA7OwotKyAgICAgICAqKSBnY2NfY3ZfbGliY19wcm92aWRlc19zc3A9bm8gOzsKLSAgICAgZXNhYwotKyAgZmkKLSBmaQotIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2xpYmNfcHJvdmlkZXNfc3NwIiA+JjUKLSAkYXNfZWNobyAiJGdjY19jdl9saWJjX3Byb3ZpZGVzX3NzcCIgPiY2OyB9Ci1AQCAtMjkwMzcsMTggKzI5MDU5LDE1IEBAIGZpCi0gCi0gCi0gIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgotLQotLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKLS0kYXNfZWNob19uICJjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KLS1oYXZlX3N5c19zZHRfaD1ubwotKyNHQ0NfVEFSR0VUX1RFTVBMQVRFKFtIQVZFX1NZU19TRFRfSF0pCi0rI0FDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0rI2hhdmVfc3lzX3NkdF9oPW5vCi0gI2lmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgotICMgIGhhdmVfc3lzX3NkdF9oPXllcwotLSMKLS0jJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0tIwotKyMgIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKLSsjICAgICAgICAgICAgW0RlZmluZSBpZiB5b3VyIHRhcmdldCBDIGxpYnJhcnkgcHJvdmlkZXMgc3lzL3NkdC5oXSkKLSAjZmkKLS17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLS0kYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSsjQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCi0gCi0gIyBDaGVjayBpZiBURm1vZGUgbG9uZyBkb3VibGUgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVsdCBvciBub3QuCi0gIyBTb21lIGdsaWJjIHRhcmdldHMgdXNlZCBERm1vZGUgbG9uZyBkb3VibGUsIGJ1dCB3aXRoIGdsaWJjIDIuNApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1wcmVjb21waWxlZC1oZHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBhZGVmNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTcuMy9maXgtc2VnbWVudGF0aW9uLWZhdWx0LXByZWNvbXBpbGVkLWhkci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLQotUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKLXN0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMgCi1DUFBfTk9ULCBDUFBfQU5EIGV0Yy4gInRva2VuLT52YWwubm9kZS5zcGVsbGluZyIgY2Fubm90IGJlIHVzZWQgaW4KLXRob3NlIGNhc2VzLCBhcyBpcyBtYXkgbm90IGJlIGluaXRpYWxpemVkIGF0IGFsbC4KLQotCi1bWU9DVE8gIzExNzM4XQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL2xpYmNwcC9sZXguYyBiL2xpYmNwcC9sZXguYwotLS0tIGEvbGliY3BwL2xleC5jCi0rKysgYi9saWJjcHAvbGV4LmMKLUBAIC0zMjI5LDExICszMjI5LDI3IEBACi0gICAgIHNwZWxsX2lkZW50OgotICAgICBjYXNlIFNQRUxMX0lERU5UOgotICAgICAgIGlmIChmb3JzdHJpbmcpCi0tCXsKLS0JICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotLQkJICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7Ci0tCSAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotLQl9Ci0rICAgICAgICB7Ci0rICAgICAgICAgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBfTkFNRSkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBtZW1jcHkgKGJ1ZmZlciwgTk9ERV9OQU1FICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpLAotKyAgICAgICAgICAgICAgICAgICAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotKyAgICAgICAgICAgICAgYnVmZmVyICs9IE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpOwotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAvKiBOQU1FRF9PUCwgY2Fubm90IHVzZSBub2RlLnNwZWxsaW5nICovCi0rICAgICAgICAgIGlmICh0b2tlbi0+ZmxhZ3MgJiBOQU1FRF9PUCkKLSsgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIgPSBjcHBfbmFtZWRfb3BlcmF0b3IybmFtZSAodG9rZW4tPnR5cGUpOwotKyAgICAgICAgICAgICAgaWYgKHN0cikKLSsgICAgICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKLSsgICAgICAgICAgICAgICAgICBtZW1jcHkoYnVmZmVyLCBzdHIsIGxlbik7Ci0rICAgICAgICAgICAgICAgICAgYnVmZmVyICs9IGxlbjsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotICAgICAgIGVsc2UKLSAJYnVmZmVyID0gX2NwcF9zcGVsbF9pZGVudF91Y25zIChidWZmZXIsIHRva2VuLT52YWwubm9kZS5ub2RlKTsKLSAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtNy4zL25vLXNzZS1maXgtdGVzdC1jYXNlLWZhaWx1cmVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNiODdjNWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy03LjMvbm8tc3NlLWZpeC10ZXN0LWNhc2UtZmFpbHVyZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTkgKzAsMCBAQAotRnJvbSBmMjI4MzBkYTJiYTY0NTc3ZGViNmY3MTdkMDVkODZjMDNkZDJlNTBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUkFHSFVOQVRIIExPTFVSIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci1EYXRlOiBXZWQsIDYgRGVjIDIwMTcgMjI6NTI6MjYgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciB0ZXN0c3VpdGUgZmFpbHVyZQotCi0yMDE3LTExLTE2ICBSYWdodW5hdGggTG9sdXIgIDxyYWdodW5hdGgubG9sdXJAa3BpdC5jb20+Ci0KLQkqIGdjYy5kZy9wcjU2Mjc1LmM6IElmIFNTRSBpcyBkaXNhYmxlZCwgZW5zdXJlIHRoYXQKLQkiLW1mcG1hdGgiIGlzIG5vdCBzZXQgdG8gdXNlIFNTRS4gU2V0ICItbWZwbWF0aD0zODciLgotCSogZ2NjLmRnL3ByNjgzMDYuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTIuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY4MzA2LTMuYzogTGlrZXdpc2UKLQkqIGdjYy5kZy9wcjY5NjM0LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jOiBMaWtld2lzZQotCi1JZiAtV2FsbCwgLVdlcnJvciBhcmUgdXNlZCBkdXJpbmcgY29tcGlsYXRpb24gdmFyaW91cyB0ZXN0IGNhc2VzIGZhaWwKLXRvIGNvbXBpbGUuCi0KLUlmIFNTRSBpcyBkaXNhYmxlZCwgYmUgc3VyZSB0byAtbWZwbWF0aD0zODcgdG8gcmVzb2x2ZSB0aGlzLgotCi1UaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGNoYW5nZXMgdG8gQ2hhbmdlbG9nIGZyb20gdGhlIG9yaWdpbmFsIHBhdGNoLgotVGhpcyB3aWxsIGhlbHAgdXMgYXZvaWQgY29uZmxpY3RzLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMgICAgICAgICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jICAgICAgICAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMgICAgICAgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jICAgICAgICAgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jICAgICB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgIHwgIDEgKwotIC4uLi90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgICAgfCAgMiArLQotIC4uLi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMgICAgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMgICB8ICAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jICAgfCAgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyAgIHwgIDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYyB8ICAyICstCi0gLi4uL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgIHwgIDIgKy0KLSAxOCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMi4uYTRmNmM5NSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCB7IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9IH0gKi8KLSAKLSB0eXBlZGVmIGxvbmcgbG9uZyB2MnR3IF9fYXR0cmlidXRlX18gKCh2ZWN0b3Jfc2l6ZSAoMiAqIHNpemVvZiAobG9uZyBsb25nKSkpKTsKLSAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1pbmRleCA0NjcyZWJlLi4yYTM2OGM0IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8zIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gCi0gc3RydWN0IHsKLSAgICAgaW50IHR6X21pbnV0ZXN3ZXN0OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLWluZGV4IGY1YThjMTAuLmRmMzM5MGMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwLi4wODEzMzg5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAKLSBlbnVtIHBvd2VycGNfcG1jX3R5cGUgeyBQUENfUE1DX0lCTSB9OwotIHN0cnVjdCB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1pbmRleCA2MGE1NjE0Li5iY2MyM2Y5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIgLWZuby1kY2UgLWZzY2hlZHVsZS1pbnNucyAtZm5vLXRyZWUtdnJwIC1mY29tcGFyZS1kZWJ1ZyAtV25vLXBzYWJpIiB9ICovCi0tLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0gLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgc2NoZWR1bGluZyB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1MTY7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMKLWluZGV4IDY5ZmRlNTcuLjdmMWYxYzAgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3Li5iZjE1NTY5IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLUBAIC0xLDYgKzEsNyBAQAotIC8qIFRlc3Qgd2hldGhlciBhbGwgb2YgdGhlIDY0LWJpdCBmdW5jdGlvbiBzcGVjaWZpYyBvcHRpb25zIGFyZSBhY2NlcHRlZAotICAgIHdpdGhvdXQgZXJyb3IuICAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWZwbWF0aD0zODciIH0gKi8KLSAKLSAjaW5jbHVkZSAiZnVuY3NwZWMtNTYuaW5jIgotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotaW5kZXggM2ZiZGM4OC4uNmI0ZDlkMSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1nZW5lcmFsLXJlZ3Mtb25seSAtbW5vLWNsZCAtbW5vLWlhbWN1IC1tODAzODcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdXdvcmRfdCBfX2F0dHJpYnV0ZV9fICgobW9kZSAoX193b3JkX18pKSk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotaW5kZXggNWQ0OWU2ZS4uMWRlMmRiOSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliLi5mNzlmYjEyIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTyAtbW5vLXNzZSAtV25vLXBzYWJpIC1tdHVuZT1nZW5lcmljIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHN0cnVjdCBBCi0geyAKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1pbmRleCAyZTg5ZmY3Li42MzM5YmY2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiB0YXJnZXQvNTM0MjUgKi8KLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIC8qIHsgZGctc2tpcC1pZiAibm8gU1NFIHZlY3RvciIgeyB4ODZfNjQtKi1taW5ndyogfSB9ICovCi0gCi0gdHlwZWRlZiBkb3VibGUgX192MmRmIF9fYXR0cmlidXRlX18gKChfX3ZlY3Rvcl9zaXplX18gKDE2KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLWluZGV4IDYxZjYyODMuLjJjNWE1NWYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMC4uOTgxMGUzYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLSAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBtYXliZV94MzIgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmciIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbW5vLW1teCAtbXgzMiAtbWFkZHJlc3MtbW9kZT1sb25nIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMl90OwotIHR5cGVkZWYgdWludDMyX3QgRWxmMzJfV29yZDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLWluZGV4IDk2MDA2YjMuLjQyODdlNDUgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzU5NjQ0ICovCi0gLyogeyBkZy1kbyBydW4geyB0YXJnZXQgbHA2NCB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtZmZyZWVzdGFuZGluZyAtbW5vLXNzZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIC1tYWNjdW11bGF0ZS1vdXRnb2luZy1hcmdzIC1tbm8tcmVkLXpvbmUgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gLyogVGhpcyB0ZXN0IHVzZXMgX19idWlsdGluX3RyYXAgKCkgaW5zdGVhZCBvZiBlLmcuIGFib3J0LAotICAgIGJlY2F1c2UgZHVlIHRvIC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTMgaXQgc2hvdWxkIG5vdCBjYWxsCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi1pbmRleCBiZmI4YzQ3Li5lZDA0Y2YxIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjOC4uYmNmYjM5NiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgcnRsLW9wdGltaXphdGlvbi83MDQ2NyAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSB2b2lkIGZvbyAodW5zaWduZWQgbG9uZyBsb25nICopOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni93YXJuLXZlY3Qtb3AtMS5jCi1pbmRleCA2Y2RhMTUzLi4yNmUzN2Y1IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIiB9ICAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIC1tZnBtYXRoPTM4NyIgfSAgKi8KLSAjZGVmaW5lIHZlY3RvcihlbGNvdW50LCB0eXBlKSAgXAotIF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKChlbGNvdW50KSpzaXplb2YodHlwZSkpKSkgdHlwZQotIAotLS0gCi0xLjguNS42Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODY2YTc3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMjcgKzAsMCBAQAotcmVxdWlyZSBnY2MtY29tbW9uLmluYwotCi0jIFRoaXJkIGRpZ2l0IGluIFBWIHNob3VsZCBiZSBpbmNyZW1lbnRlZCBhZnRlciBhIG1pbm9yIHJlbGVhc2UKLQotUFYgPSAiOC4yLjAiCi0KLSMgQklOViBzaG91bGQgYmUgaW5jcmVtZW50ZWQgdG8gYSByZXZpc2lvbiBhZnRlciBhIG1pbm9yIGdjYyByZWxlYXNlCi0KLUJJTlYgPSAiOC4yLjAiCi0KLUZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2djYy04LjI6JHtGSUxFX0RJUk5BTUV9L2djYy04LjIvYmFja3BvcnQ6IgotCi1ERVBFTkRTID0rICJtcGZyIGdtcCBsaWJtcGMgemxpYiBmbGV4LW5hdGl2ZSIKLU5BVElWRURFUFMgPSAibXBmci1uYXRpdmUgZ21wLW5hdGl2ZSBsaWJtcGMtbmF0aXZlIHpsaWItbmF0aXZlIGZsZXgtbmF0aXZlIgotCi1MSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uICYgR1BMdjMiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiXAotICAgIGZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAotICAgIGZpbGU6Ly9DT1BZSU5HLlJVTlRJTUU7bWQ1PWZlNjBkODcwNDg1NjdkNGZlOGM4YTBlZDI0NDhiY2M4IFwKLSIKLQotI1JFTEVBU0UgPSAiOC4wLjEtUkMtMjAxODA0MjciCi1CQVNFVVJJID89ICIke0dOVV9NSVJST1J9L2djYy9nY2MtJHtQVn0vZ2NjLSR7UFZ9LnRhci54eiIKLSNTUkNSRVYgPSAiZjdjZjc5OGI3M2ZkMWEwNzA5OGY5YTQ5MGRlZWMxZTJhMzZlMGJlZCIKLSNCQVNFVVJJID89ICJnaXQ6Ly9naXRodWIuY29tL2djYy1taXJyb3IvZ2NjO2JyYW5jaD1nY2MtNi1icmFuY2g7cHJvdG9jb2w9Z2l0IgotI0JBU0VVUkkgPz0gImh0dHA6Ly9taXJyb3JzLmNvbmNlcnRwYXNzLmNvbS9nY2Mvc25hcHNob3RzLyR7UkVMRUFTRX0vZ2NjLSR7UkVMRUFTRX0udGFyLnh6IgotCi1TUkNfVVJJID0gIlwKLSAgICAgICAgICAgJHtCQVNFVVJJfSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEzLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNC1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxNy1saWJ0b29sLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjEtZXhwb3J0LUNQUC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNS1Eb24tdC1zZWFyY2gtaG9zdC1kaXJlY3RvcnktZHVyaW5nLXJlbGluay1pZi1pbnN0X3ByLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI3LWFhcmNoNjQtQWRkLXN1cHBvcnQtZm9yLW11c2wtbGRzby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzEtRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNy1zeW5jLWdjYy1zdGRkZWYuaC13aXRoLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMzktRml4LWZvci10ZXN0c3VpdGUtZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQwLVJlLWludHJvZHVjZS1zcGUtY29tbWFuZGxpbmUtb3B0aW9ucy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2ggXAotICAgICAgICAgICAke0JBQ0tQT1JUU30gXAotIgotQkFDS1BPUlRTID0gIlwKLSIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0YWIyODJmNDE0Njc2NDk2NDgzYjNlMTc5M2QwNzg2MiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOTZjM2MwNGJhMjYxM2Y4OTMyODM5NzdlNjAxMWIyMzQ1ZDFjZDFhZjlhYmVhYzU4ZTkxNmIxYWFiM2UwMDgwIgotCi1TID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgotI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCi0jUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgotQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgotCi0jIExhbmd1YWdlIE92ZXJyaWRlcwotRk9SVFJBTiA9ICIiCi1KQVZBID0gIiIKLQotTFRPID0gIi0tZW5hYmxlLWx0byIKLVNTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKLVNTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKLQotRVhUUkFfT0VDT05GX0JBU0UgPSAiXAotICAgICR7TFRPfSBcCi0gICAgJHtTU1B9IFwKLSAgICAtLWVuYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAotICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKLSAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAotICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAotICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCi0gICAgLS13aXRoLXBwbD1ubyBcCi0gICAgLS13aXRoLWNsb29nPW5vIFwKLSAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKLSAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCi0gICAgLS13aXRob3V0LWlzbCBcCi0iCi0KLUVYVFJBX09FQ09ORl9JTklUSUFMID0gIlwKLSAgICAtLWRpc2FibGUtbGlibXVkZmxhcCBcCi0gICAgLS1kaXNhYmxlLWxpYmdvbXAgXAotICAgIC0tZGlzYWJsZS1saWJpdG0gXAotICAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aCBcCi0gICAgLS13aXRoLXN5c3RlbS16bGliIFwKLSAgICAtLWRpc2FibGUtbHRvIFwKLSAgICAtLWRpc2FibGUtcGx1Z2luIFwKLSAgICAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgXAotICAgIC0tZW5hYmxlLWRlY2ltYWwtZmxvYXQ9bm8gXAotICAgIC0td2l0aG91dC1pc2wgXAotICAgIC0tZGlzYWJsZS1saWJzc3AgXAotIgotCi1FWFRSQV9PRUNPTkZfUEFUSFMgPSAiXAotICAgIC0td2l0aC1neHgtaW5jbHVkZS1kaXI9L25vdC9leGlzdHt0YXJnZXRfaW5jbHVkZWRpcn0vYysrLyR7QklOVn0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAxLWdjYy00LjMuMS1BUkNIX0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyM2ZlMjguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSBiNzUyZmIyYjZkNmY2ZGE2OGRhNTM4NmI5NmFiZjBkNzRjZDRiYmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDg6Mzc6MTEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8zOV0gZ2NjLTQuMy4xOiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGNvbmZpZ3VyZSAgICB8IDIgKy0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDY5Yzk5ZTk5Y2NhLi41MTdmYjcwMTkyZSAxMDA3NTUKLS0tLSBhL2NvbmZpZ3VyZQotKysrIGIvY29uZmlndXJlCi1AQCAtNzUxMSw3ICs3NTExLDcgQEAgZmkKLSAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCi0gdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKLSAKLS1GTEFHU19GT1JfVEFSR0VUPQotK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCi0gY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCi0gICoiIG5ld2xpYiAiKikKLSAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYTFlZGMzNjlhMjcuLmY4YzI1NGYxZmFjIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0zMTAwLDcgKzMxMDAsNyBAQCBmaQotICMgZm9yIHRhcmdldF9hbGlhcyBhbmQgZ2NjIGRvZXNuJ3QgbWFuYWdlIGl0IGNvbnNpc3RlbnRseS4KLSB0YXJnZXRfY29uZmlnYXJncz0iLS1jYWNoZS1maWxlPS4vY29uZmlnLmNhY2hlICR7dGFyZ2V0X2NvbmZpZ2FyZ3N9IgotIAotLUZMQUdTX0ZPUl9UQVJHRVQ9Ci0rRkxBR1NfRk9SX1RBUkdFVD0iJEFSQ0hfRkxBR1NfRk9SX1RBUkdFVCIKLSBjYXNlICIgJHRhcmdldF9jb25maWdkaXJzICIgaW4KLSAgKiIgbmV3bGliICIqKQotICAgY2FzZSAiICR0YXJnZXRfY29uZmlnYXJncyAiIGluCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwMy1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUxMzg5Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDAzLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk0ICswLDAgQEAKLUZyb20gNDhjNjcwZDI2NzhlMDMyM2Q4OGViNzIyMDVlMDM5ZjM5M2NhYmUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvMzldIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc3RyaWJ1dGlvbjogY29kZXNvdXJjZXJ5XQotLS0tCi0gZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKLSBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKLSBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKwotIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKLSBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKLSBnY2MvaW5jcGF0aC5jICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDcgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbW1vbi5vcHQgYi9nY2MvY29tbW9uLm9wdAotaW5kZXggZDZlZjg1OTI4ZjMuLjdiMjllZmUzODgyIDEwMDY0NAotLS0tIGEvZ2NjL2NvbW1vbi5vcHQKLSsrKyBiL2djYy9jb21tb24ub3B0Ci1AQCAtNjc5LDYgKzY3OSwxMCBAQCBXcmV0dXJuLWxvY2FsLWFkZHIKLSBDb21tb24gVmFyKHdhcm5fcmV0dXJuX2xvY2FsX2FkZHIpIEluaXQoMSkgV2FybmluZwotIFdhcm4gYWJvdXQgcmV0dXJuaW5nIGEgcG9pbnRlci9yZWZlcmVuY2UgdG8gYSBsb2NhbCBvciB0ZW1wb3JhcnkgdmFyaWFibGUuCi0gCi0rV3BvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStDb21tb24gVmFyKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykgSW5pdCgxKSBXYXJuaW5nCi0rV2FybiBmb3IgLUkgYW5kIC1MIG9wdGlvbnMgdXNpbmcgc3lzdGVtIGRpcmVjdG9yaWVzIGlmIGNyb3NzIGNvbXBpbGluZwotKwotIFdzaGFkb3cKLSBDb21tb24gVmFyKHdhcm5fc2hhZG93KSBXYXJuaW5nCi0gV2FybiB3aGVuIG9uZSB2YXJpYWJsZSBzaGFkb3dzIGFub3RoZXIuICBTYW1lIGFzIC1Xc2hhZG93PWdsb2JhbC4KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnLmluIGIvZ2NjL2NvbmZpZy5pbgotaW5kZXggNWJjY2I0MDgwMTYuLjFjNzg0YTgyNzZiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5pbgotKysrIGIvZ2NjL2NvbmZpZy5pbgotQEAgLTE5NCw2ICsxOTQsMTIgQEAKLSAjZW5kaWYKLSAKLSAKLSsvKiBEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzICovCi0rI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQKLSsjdW5kZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsjZW5kaWYKLSsKLSsKLSAvKiBEZWZpbmUgaWYgeW91IHdhbnQgYWxsIG9wZXJhdGlvbnMgb24gUlRMICh0aGUgYmFzaWMgZGF0YSBzdHJ1Y3R1cmUgb2YgdGhlCi0gICAgb3B0aW1pemVyIGFuZCBiYWNrIGVuZCkgdG8gYmUgY2hlY2tlZCBmb3IgZHluYW1pYyB0eXBlIHNhZmV0eSBhdCBydW50aW1lLgotICAgIFRoaXMgaXMgcXVpdGUgZXhwZW5zaXZlLiAqLwotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCA1YzM0NWNlMGZkNy4uY2FmZDA1ZmQxNTAgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtOTUzLDYgKzk1Myw3IEBAIHdpdGhfc3lzdGVtX3psaWIKLSBlbmFibGVfbWFpbnRhaW5lcl9tb2RlCi0gZW5hYmxlX2xpbmtfbXV0ZXgKLSBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKLStlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcwotIGVuYWJsZV9wbHVnaW4KLSBlbmFibGVfaG9zdF9zaGFyZWQKLSBlbmFibGVfbGlicXVhZG1hdGhfc3VwcG9ydAotQEAgLTE2OTYsNiArMTY5Nyw4IEBAIE9wdGlvbmFsIEZlYXR1cmVzOgotICAgLS1lbmFibGUtdmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUgaW5zdGFsbGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeQotKyAgLS1lbmFibGUtcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzCi0gICAtLWVuYWJsZS1wbHVnaW4gICAgICAgICBlbmFibGUgcGx1Z2luIHN1cHBvcnQKLSAgIC0tZW5hYmxlLWhvc3Qtc2hhcmVkICAgIGJ1aWxkIGhvc3QgY29kZSBhcyBzaGFyZWQgbGlicmFyaWVzCi0gICAtLWRpc2FibGUtbGlicXVhZG1hdGgtc3VwcG9ydAotQEAgLTI5NzE1LDYgKzI5NzE4LDE5IEBAIGlmIHRlc3QgIiR7ZW5hYmxlX3ZlcnNpb25fc3BlY2lmaWNfcnVudGltZV9saWJzK3NldH0iID0gc2V0OyB0aGVuIDoKLSBmaQotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzK3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIGVuYWJsZXZhbD0kZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM7Ci0rZWxzZQotKyAgZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm8KLStmaQotKwotK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KLSsKLSskYXNfZWNobyAiI2RlZmluZSBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUyAxIiA+PmNvbmZkZWZzLmgKLSsKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIAotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCA2NWRiZjFmMmY4MC4uZGQ1YjM4MTk1Y2UgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNjM0MSw2ICs2MzQxLDE2IEBAIEFDX0FSR19FTkFCTEUodmVyc2lvbi1zcGVjaWZpYy1ydW50aW1lLWxpYnMsCi0gICAgICAgICAgICAgICAgIFtzcGVjaWZ5IHRoYXQgcnVudGltZSBsaWJyYXJpZXMgc2hvdWxkIGJlCi0gICAgICAgICAgICAgICAgICBpbnN0YWxsZWQgaW4gYSBjb21waWxlci1zcGVjaWZpYyBkaXJlY3RvcnldKV0pCi0gCi0rQUNfQVJHX0VOQUJMRShbcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllc10sCi0rICAgICAgICAgICAgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dhcm4gZm9yIHVzZSBvZiBuYXRpdmUgc3lzdGVtIGhlYWRlciBkaXJlY3Rvcmllc10pLCwKLSsgICAgICAgICAgICAgW2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzPW5vXSkKLStpZiB0ZXN0ICJ4JHtlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllc30iID0gInh5ZXMiOyB0aGVuCi0rICBBQ19ERUZJTkUoW0VOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTXSwKLSsgICAgICAgICAgIFsxXSwKLSsgICAgICAgICAgIFtEZWZpbmUgdG8gd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSkKLStmaQotKwotICMgU3Vic3RpdHV0ZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwotIEFDX1NVQlNUKHN1YmRpcnMpCi0gQUNfU1VCU1Qoc3JjZGlyKQotZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1pbmRleCAyNTUxNDlmY2ZiOC4uY2I3MWI2MGZlM2MgMTAwNjQ0Ci0tLS0gYS9nY2MvZG9jL2ludm9rZS50ZXhpCi0rKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCi1AQCAtMzAzLDYgKzMwMyw3IEBAIE9iamVjdGl2ZS1DIGFuZCBPYmplY3RpdmUtQysrIERpYWxlY3RzfS4KLSAtV3BhY2tlZCAgLVdwYWNrZWQtYml0ZmllbGQtY29tcGF0IC1XcGFja2VkLW5vdC1hbGlnbmVkIC1XcGFkZGVkIEBnb2wKLSAtV3BhcmVudGhlc2VzICAtV25vLXBlZGFudGljLW1zLWZvcm1hdCBAZ29sCi0gLVdwbGFjZW1lbnQtbmV3ICAtV3BsYWNlbWVudC1uZXc9QHZhcntufSBAZ29sCi0rLVduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzIEBnb2wKLSAtV3BvaW50ZXItYXJpdGggIC1XcG9pbnRlci1jb21wYXJlICAtV25vLXBvaW50ZXItdG8taW50LWNhc3QgQGdvbAotIC1Xbm8tcHJhZ21hcyAgLVdyZWR1bmRhbnQtZGVjbHMgIC1XcmVzdHJpY3QgIC1Xbm8tcmV0dXJuLWxvY2FsLWFkZHIgQGdvbAotIC1XcmV0dXJuLXR5cGUgIC1Xc2VxdWVuY2UtcG9pbnQgIC1Xc2hhZG93ICAtV25vLXNoYWRvdy1pdmFyIEBnb2wKLUBAIC01NzEyLDYgKzU3MTMsMTQgQEAgbWFkZSB1cCBvZiBkYXRhIG9ubHkgYW5kIHRodXMgcmVxdWlyZXMgbm8gc3BlY2lhbCB0cmVhdG1lbnQuICBCdXQsIGZvcgotIG1vc3QgdGFyZ2V0cywgaXQgaXMgbWFkZSB1cCBvZiBjb2RlIGFuZCB0aHVzIHJlcXVpcmVzIHRoZSBzdGFjayB0byBiZQotIG1hZGUgZXhlY3V0YWJsZSBpbiBvcmRlciBmb3IgdGhlIHByb2dyYW0gdG8gd29yayBwcm9wZXJseS4KLSAKLStAaXRlbSAtV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMKLStAb3BpbmRleCBXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcwotK0RvIG5vdCB3YXJuIGZvciBAb3B0aW9uey1JfSBvciBAb3B0aW9uey1MfSBvcHRpb25zIHVzaW5nIHN5c3RlbQotK2RpcmVjdG9yaWVzIHN1Y2ggYXMgQGZpbGV7L3Vzci9pbmNsdWRlfSB3aGVuIGNyb3NzIGNvbXBpbGluZy4gIFRoaXMKLStvcHRpb24gaXMgaW50ZW5kZWQgZm9yIHVzZSBpbiBjaHJvb3QgZW52aXJvbm1lbnRzIHdoZW4gc3VjaAotK2RpcmVjdG9yaWVzIGNvbnRhaW4gdGhlIGNvcnJlY3QgaGVhZGVycyBhbmQgbGlicmFyaWVzIGZvciB0aGUgdGFyZ2V0Ci0rc3lzdGVtIHJhdGhlciB0aGFuIHRoZSBob3N0LgotKwotIEBpdGVtIC1XZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXZmxvYXQtZXF1YWwKLSBAb3BpbmRleCBXbm8tZmxvYXQtZXF1YWwKLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IGE3MTZmNzA4MjU5Li4wMmIzY2QzOWZjMiAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTAzNyw2ICsxMDM3LDggQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLwotICAgICIle2Z1c2UtbGQ9KjotZnVzZS1sZD0lKn0gIiBMSU5LX0NPTVBSRVNTX0RFQlVHX1NQRUMgXAotICAgICIlWCAle28qfSAle2UqfSAle059ICV7bn0gJXtyfVwKLSAgICAgJXtzfSAle3R9ICV7dSp9ICV7en0gJXtafSAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JVN9fSBcCi0rICAgICV7V25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1uby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0rICAgICV7V2Vycm9yPXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXM6LS1lcnJvci1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzfSBcCi0gICAgICV7c3RhdGljfG5vLXBpZXxzdGF0aWMtcGllOn0gJXtMKn0gJShtZndyYXApICUobGlua19saWJnY2MpICIgXAotICAgICBWVEFCTEVfVkVSSUZJQ0FUSU9OX1NQRUMgIiAiIFNBTklUSVpFUl9FQVJMWV9TUEVDICIgJW8gIiBDSEtQX1NQRUMgIiBcCi0gICAgICV7Zm9wZW5hY2N8Zm9wZW5tcHwlOmd0KCV7ZnRyZWUtcGFyYWxsZWxpemUtbG9vcHM9KjolKn0gMSk6XAotZGlmZiAtLWdpdCBhL2djYy9pbmNwYXRoLmMgYi9nY2MvaW5jcGF0aC5jCi1pbmRleCBiMTFjNmE1NzkzOS4uZTNiN2EyMTk2NmYgMTAwNjQ0Ci0tLS0gYS9nY2MvaW5jcGF0aC5jCi0rKysgYi9nY2MvaW5jcGF0aC5jCi1AQCAtMjYsNiArMjYsNyBAQAotICNpbmNsdWRlICJpbnRsLmgiCi0gI2luY2x1ZGUgImluY3BhdGguaCIKLSAjaW5jbHVkZSAiY3BwZGVmYXVsdC5oIgotKyNpbmNsdWRlICJkaWFnbm9zdGljLWNvcmUuaCIKLSAKLSAvKiBNaWNyb3NvZnQgV2luZG93cyBkb2VzIG5vdCBuYXRpdmVseSBzdXBwb3J0IGlub2Rlcy4KLSAgICBWTVMgaGFzIG5vbi1udW1lcmljIGlub2Rlcy4gICovCi1AQCAtMzkzLDYgKzM5NCwyNiBAQCBtZXJnZV9pbmNsdWRlX2NoYWlucyAoY29uc3QgY2hhciAqc3lzcm9vdCwgY3BwX3JlYWRlciAqcGZpbGUsIGludCB2ZXJib3NlKQotIAl9Ci0gICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCJFbmQgb2Ygc2VhcmNoIGxpc3QuXG4iKSk7Ci0gICAgIH0KLSsKLSsjaWZkZWYgRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVMKLSsgIGlmIChmbGFnX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMpCi0rICAgIHsKLSsgICAgICAgc3RydWN0IGNwcF9kaXIgKnA7Ci0rCi0rICAgICAgIGZvciAocCA9IGhlYWRzW0lOQ19RVU9URV07IHA7IHAgPSBwLT5uZXh0KQotKyAgICAgICAgIHsKLSsgICAgICAgICAgaWYgKCghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvaW5jbHVkZSIsIDEyKSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvbG9jYWwvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi91c3IvWDExUjYvaW5jbHVkZSIsIDE4KSkKLSsgICAgICAgICAgICAgIHx8ICghc3RybmNtcCAocC0+bmFtZSwgIi9zdy9pbmNsdWRlIiwgMTEpKQotKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL29wdC9pbmNsdWRlIiwgMTIpKSkKLSsgICAgICAgICAgICB3YXJuaW5nIChPUFRfV3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMsCi0rICAgICAgICAgICAgICAgICAgICAgImluY2x1ZGUgbG9jYXRpb24gXCIlc1wiIGlzIHVuc2FmZSBmb3IgIgotKyAgICAgICAgICAgICAgICAgICAgICJjcm9zcy1jb21waWxhdGlvbiIsCi0rICAgICAgICAgICAgICAgICAgICAgcC0+bmFtZSk7Ci0rICAgICAgICAgfQotKyAgICB9Ci0rI2VuZGlmCi0gfQotIAotIC8qIFVzZSBnaXZlbiAtSSBwYXRocyBmb3IgI2luY2x1ZGUgIi4uLiIgYnV0IG5vdCAjaW5jbHVkZSA8Li4uPiwgYW5kCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNS1nY2MtNC4zLjMtU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGIxYjk3Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA1LWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzMgKzAsMCBAQAotRnJvbSBhZTNmZTZlNWU1MDkzN2RlNmU0MjIzY2E5MDgxMDE4NzM3MmE4Y2Y1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MDg6MzEgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNS8zOV0gZ2NjLTQuMy4zOiBTWVNST09UX0NGTEFHU19GT1JfVEFSR0VUCi0KLUJlZm9yZSBjb21taXR0aW5nLCBJIG5vdGljZWQgdGhhdCBQUi8zMjE2MSB3YXMgbWFya2VkIGFzIGEgZHVwIG9mIFBSLzMyMDA5LCBidXQgbXkgcHJldmlvdXMgcGF0Y2ggZGlkIG5vdCBmaXggaXQuCi0KLVRoaXMgYWx0ZXJuYXRpdmUgcGF0Y2ggaXMgYmV0dGVyIGJlY2F1c2UgaXQgbGV0cyB5b3UganVzdCB1c2UgQ0ZMQUdTX0ZPUl9UQVJHRVQgdG8gc2V0IHRoZSBjb21waWxhdGlvbiBmbGFncyBmb3IgbGliZ2NjLiBTaW5jZSBib290c3RyYXBwZWQgdGFyZ2V0IGxpYnJhcmllcyBhcmUgbmV2ZXIgY29tcGlsZWQgd2l0aCB0aGUgbmF0aXZlIGNvbXBpbGVyLCBpdCBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGRpZmZlcmVudCBmbGFncyBmb3Igc3RhZ2UxIGFuZCBsYXRlciBzdGFnZXMuIEFuZCBpdCBhbHNvIG1ha2VzIGxpdHRsZSBzZW5zZSB0byB1c2UgYSBkaWZmZXJlbnQgdmFyaWFibGUgdGhhbiBDRkxBR1NfRk9SX1RBUkdFVC4KLQotT3RoZXIgY2hhbmdlcyBJIGhhZCB0byBkbyBpbmNsdWRlOgotCi0tIG1vdmluZyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCBDRkxBR1NfRk9SX1RBUkdFVCBmcm9tIE1ha2VmaWxlLmFtIHRvIGNvbmZpZ3VyZS5hYywgYmVjYXVzZSBvdGhlcndpc2UgdGhlIEJPT1RfQ0ZMQUdTIGFyZSBzdWJzdGl0dXRlZCBpbnRvIENGTEFHU19GT1JfVEFSR0VUICh3aGljaCBpcyAiLU8yIC1nICQoQ0ZMQUdTKSIpIHZpYSAkKENGTEFHUykuIEl0IGlzIGFsc28gY2xlYW5lciB0aGlzIHdheSB0aG91Z2guCi0KLS0gcGFzc2luZyB0aGUgcmlnaHQgQ0ZMQUdTIHRvIGNvbmZpZ3VyZSBzY3JpcHRzIGFzIGV4cG9ydGVkIGVudmlyb25tZW50IHZhcmlhYmxlcwotCi1JIGFsc28gc3RvcHBlZCBwYXNzaW5nIExJQkNGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBzaW5jZSB0aGV5IGFyZSB1bnVzZWQgaW4gdGhlIHdob2xlIHNyYyB0cmVlLiBBbmQgSSB1cGRhdGVkIHRoZSBkb2N1bWVudGF0aW9uIGFzIEgtUCByZW1pbmRlZCBtZSB0byBkby4KLQotQm9vdHN0cmFwcGVkL3JlZ3Rlc3RlZCBpNjg2LXBjLWxpbnV4LWdudSwgd2lsbCBjb21taXQgdG8gNC40IHNob3J0bHkuIE9rIGZvciA0LjM/Ci0KLVNpZ25lZC1vZmYtYnk6IFBhb2xvIEJvbnppbmkgIDxib256aW5pQGdudS5vcmc+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNvbmZpZ3VyZSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggNTE3ZmI3MDE5MmUuLmFjZDJiOTdkZjQwIDEwMDc1NQotLS0tIGEvY29uZmlndXJlCi0rKysgYi9jb25maWd1cmUKLUBAIC02NzcyLDYgKzY3NzIsMzggQEAgZmkKLSAKLSAKLSAKLSsjIER1cmluZyBnY2MgYm9vdHN0cmFwLCBpZiB3ZSB1c2Ugc29tZSByYW5kb20gY2MgZm9yIHN0YWdlMSB0aGVuIENGTEFHUwotKyMgbWlnaHQgYmUgZW1wdHkgb3IgIi1nIi4gIFdlIGRvbid0IHJlcXVpcmUgYSBDKysgY29tcGlsZXIsIHNvIENYWEZMQUdTCi0rIyBtaWdodCBhbHNvIGJlIGVtcHR5IChvciAiLWciLCBpZiBhIG5vbi1HQ0MgQysrIGNvbXBpbGVyIGlzIGluIHRoZSBwYXRoKS4KLSsjIFdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgVEFSR0VUIGxpYnJhcmllcyAod2hpY2ggd2Uga25vdyBhcmUgYnVpbHQgd2l0aAotKyMgZ2NjKSBhcmUgYnVpbHQgd2l0aCAiLU8yIC1nIiwgc28gaW5jbHVkZSB0aG9zZSBvcHRpb25zIHdoZW4gc2V0dGluZwotKyMgQ0ZMQUdTX0ZPUl9UQVJHRVQgYW5kIENYWEZMQUdTX0ZPUl9UQVJHRVQuCi0raWYgdGVzdCAieCRDRkxBR1NfRk9SX1RBUkdFVCIgPSB4OyB0aGVuCi0rICBDRkxBR1NfRk9SX1RBUkdFVD0kQ0ZMQUdTCi0rICBjYXNlICIgJENGTEFHUyAiIGluCi0rICAgICoiIC1PMiAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ0ZMQUdTIiA7OwotKyAgZXNhYwotKyAgY2FzZSAiICRDRkxBR1MgIiBpbgotKyAgICAqIiAtZyAiKiB8ICoiIC1nMyAiKikgOzsKLSsgICAgKikgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDRkxBR1MiIDs7Ci0rICBlc2FjCi0rZmkKLSsKLSsKLStpZiB0ZXN0ICJ4JENYWEZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgotKyAgQ1hYRkxBR1NfRk9SX1RBUkdFVD0kQ1hYRkxBR1MKLSsgIGNhc2UgIiAkQ1hYRkxBR1MgIiBpbgotKyAgICAqIiAtTzIgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1PMiAkQ1hYRkxBR1MiIDs7Ci0rICBlc2FjCi0rICBjYXNlICIgJENYWEZMQUdTICIgaW4KLSsgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7Ci0rICAgICopIENYWEZMQUdTX0ZPUl9UQVJHRVQ9Ii1nICRDWFhGTEFHUyIgOzsKLSsgIGVzYWMKLStmaQotKwotKwotICMgSGFuZGxlIC0td2l0aC1oZWFkZXJzPVhYWC4gIElmIHRoZSB2YWx1ZSBpcyBub3QgInllcyIsIHRoZSBjb250ZW50cyBvZgotICMgdGhlIG5hbWVkIGRpcmVjdG9yeSBhcmUgY29waWVkIHRvICQodG9vbGRpcikvc3lzLWluY2x1ZGUuCi0gaWYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geCAmJiB0ZXN0IHgiJHt3aXRoX2hlYWRlcnN9IiAhPSB4bm8gOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNi02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGRjZTk1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA2LTY0LWJpdC1tdWx0aWxpYi1oYWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotRnJvbSA4OWFmM2I3Mzk5MzEzYjMzN2YwNmMxOWNjMmQ3ODdhYTE2ZDI3NzExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwNi8zOV0gNjQtYml0IG11bHRpbGliIGhhY2suCi0KLUdDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5Ci1sYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCi1jb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgotCi1UaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYwotYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50Ci1kaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKLWtub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKLXBlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCi0KLVRoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Ci10aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKLWFuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCi1kb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCi1hbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KLQotUlAgMTUvOC8xMQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQotIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KLSBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQotIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1pbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0Ci1AQCAtMzIsNyArMzIsNSBAQAotICMKLSBjb21tYT0sCi0gTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCi0tTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQotLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCi0tTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKLStNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1pbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0Ci1AQCAtMTcsMTAgKzE3LDYgQEAKLSAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSAKLSBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0Ci0tTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKLS1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKLS1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAotLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCi0tCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAotLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCi0rTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgotK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQotKwotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAotaW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0Ci0rKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKLUBAIC0yNiwxMCArMjYsOSBAQAotICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgotIAotIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgotLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKLStNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgotIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCi0tTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQotK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKLSAKLSByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKLSAJJChDT01QSUxFKSAkPAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwNy1vcHRpb25hbC1saWJzdGRjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjFlYTAzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDctb3B0aW9uYWwtbGlic3RkYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNSArMCwwIEBACi1Gcm9tIGZiN2RmNjNlOTU0OGMyOWI3MDYwMWQ2NDJhMTg1MGZjNDU1Zjg1NjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxMjo1NiArMDQwMAotU3ViamVjdDogW1BBVENIIDA3LzM5XSBvcHRpb25hbCBsaWJzdGRjCi0KLWdjYy1ydW50aW1lIGJ1aWxkcyBsaWJzdGRjKysgc2VwYXJhdGVseSBmcm9tIGdjYy1jcm9zcy0qLiBJdHMgY29uZmlndXJlIHRlc3RzIHVzaW5nIGcrKwotd2lsbCBub3QgcnVuIGNvcnJlY3RseSBzaW5jZSBieSBkZWZhdWx0IHRoZSBsaW5rZXIgd2lsbCB0cnkgdG8gbGluayBhZ2FpbnN0IGxpYnN0ZGMrKwotd2hpY2ggc2hvdWxkbid0IGV4aXN0IHlldC4gV2UgbmVlZCBhbiBvcHRpb24gdG8gZGlzYWJsZSAtbHN0ZGMrKwotb3B0aW9uIHdoaWxzdCBsZWF2aW5nIC1sYywgLWxnY2MgYW5kIG90aGVyIGF1dG9tYXRpYyBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhZGRlZCBieSBnY2MKLWRyaXZlci4gVGhpcyBwYXRjaCBhZGRzIHN1Y2ggYW4gb3B0aW9uIHdoaWNoIG9ubHkgZGlzYWJsZXMgdGhlIC1sc3RkYysrLgotCi1BICJzdGFuZGFyZCIgZ2NjIGJ1aWxkIHVzZXMgeGdjYyBhbmQgaGVuY2UgYXZvaWRzIHRoaXMuIFdlIHNob3VsZCBhc2sgdXBzdHJlYW0gaG93IHRvCi1kbyB0aGlzIG9mZmljaWFsbHksIHRoZSBsaWtlbHkgYW5zd2VyIGlzIGRvbid0IGJ1aWxkIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5LgotCi1SUCAyOS82LzEwCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0tLS0KLSBnY2MvYy1mYW1pbHkvYy5vcHQgIHwgIDQgKysrKwotIGdjYy9jcC9nKytzcGVjLmMgICAgfCAgMSArCi0gZ2NjL2RvYy9pbnZva2UudGV4aSB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gZ2NjL2djYy5jICAgICAgICAgICB8ICAxICsKLSA0IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jLWZhbWlseS9jLm9wdCBiL2djYy9jLWZhbWlseS9jLm9wdAotaW5kZXggNTAxMzUwMWIyMzIuLjYzMTJmMmM4ZjkwIDEwMDY0NAotLS0tIGEvZ2NjL2MtZmFtaWx5L2Mub3B0Ci0rKysgYi9nY2MvYy1mYW1pbHkvYy5vcHQKLUBAIC0xOTAwLDYgKzE5MDAsMTAgQEAgbm9zdGRpbmMrKwotIEMrKyBPYmpDKysKLSBEbyBub3Qgc2VhcmNoIHN0YW5kYXJkIHN5c3RlbSBpbmNsdWRlIGRpcmVjdG9yaWVzIGZvciBDKysuCi0gCi0rbm9zdGRsaWIrKwotK0RyaXZlcgotK0RvIG5vdCBsaW5rIHN0YW5kYXJkIEMrKyBydW50aW1lIGxpYnJhcnkKLSsKLSBvCi0gQyBPYmpDIEMrKyBPYmpDKysgSm9pbmVkIFNlcGFyYXRlCi0gOyBEb2N1bWVudGVkIGluIGNvbW1vbi5vcHQKLWRpZmYgLS1naXQgYS9nY2MvY3AvZysrc3BlYy5jIGIvZ2NjL2NwL2crK3NwZWMuYwotaW5kZXggNDQzYTE3NDZkYTMuLmU5YjUxYmU2MmVmIDEwMDY0NAotLS0tIGEvZ2NjL2NwL2crK3NwZWMuYwotKysrIGIvZ2NjL2NwL2crK3NwZWMuYwotQEAgLTEzNyw2ICsxMzcsNyBAQCBsYW5nX3NwZWNpZmljX2RyaXZlciAoc3RydWN0IGNsX2RlY29kZWRfb3B0aW9uICoqaW5fZGVjb2RlZF9vcHRpb25zLAotICAgICAgIHN3aXRjaCAoZGVjb2RlZF9vcHRpb25zW2ldLm9wdF9pbmRleCkKLSAJewotIAljYXNlIE9QVF9ub3N0ZGxpYjoKLSsJY2FzZSBPUFRfbm9zdGRsaWJfXzoKLSAJY2FzZSBPUFRfbm9kZWZhdWx0bGliczoKLSAJICBsaWJyYXJ5ID0gLTE7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKLWluZGV4IGNiNzFiNjBmZTNjLi5iMGQ0ODFlM2EzMCAxMDA2NDQKLS0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKLSsrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKLUBAIC0yMTEsNiArMjExLDkgQEAgaW4gdGhlIGZvbGxvd2luZyBzZWN0aW9ucy4KLSAtZm5vLXdlYWsgIC1ub3N0ZGluYysrIEBnb2wKLSAtZnZpc2liaWxpdHktaW5saW5lcy1oaWRkZW4gQGdvbAotIC1mdmlzaWJpbGl0eS1tcy1jb21wYXQgQGdvbAotKy1mdnRhYmxlLXZlcmlmeT1AcntbfXN0ZEBye3x9cHJlaW5pdEBye3x9bm9uZUBye119IEBnb2wKLSstZnZ0di1jb3VudHMgLWZ2dHYtZGVidWcgQGdvbAotKy1ub3N0ZGxpYisrIEBnb2wKLSAtZmV4dC1udW1lcmljLWxpdGVyYWxzIEBnb2wKLSAtV2FiaT1AdmFye259ICAtV2FiaS10YWcgIC1XY29udmVyc2lvbi1udWxsICAtV2N0b3ItZHRvci1wcml2YWN5IEBnb2wKLSAtV2RlbGV0ZS1ub24tdmlydHVhbC1kdG9yICAtV2xpdGVyYWwtc3VmZml4ICAtV211bHRpcGxlLWluaGVyaXRhbmNlIEBnb2wKLUBAIC01MDksNyArNTEyLDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgotIC1zICAtc3RhdGljIC1zdGF0aWMtcGllIC1zdGF0aWMtbGliZ2NjICAtc3RhdGljLWxpYnN0ZGMrKyBAZ29sCi0gLXN0YXRpYy1saWJhc2FuICAtc3RhdGljLWxpYnRzYW4gIC1zdGF0aWMtbGlibHNhbiAgLXN0YXRpYy1saWJ1YnNhbiBAZ29sCi0gLXN0YXRpYy1saWJtcHggIC1zdGF0aWMtbGlibXB4d3JhcHBlcnMgQGdvbAotLS1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgQGdvbAotKy1zaGFyZWQgIC1zaGFyZWQtbGliZ2NjICAtc3ltYm9saWMgLW5vc3RkbGliKysgQGdvbAotIC1UIEB2YXJ7c2NyaXB0fSAgLVdsLEB2YXJ7b3B0aW9ufSAgLVhsaW5rZXIgQHZhcntvcHRpb259IEBnb2wKLSAtdSBAdmFye3N5bWJvbH0gIC16IEB2YXJ7a2V5d29yZH19Ci0gCi1AQCAtMTIzMzEsNiArMTIzMzQsMzMgQEAgbGlicmFyeSBzdWJyb3V0aW5lcy4KLSBjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKLSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKLSAKLStAaXRlbSAtbm9zdGRsaWIrKwotK0BvcGluZGV4IG5vc3RkbGliKysKLStEbyBub3QgdXNlIHRoZSBzdGFuZGFyZCBzeXN0ZW0gQysrIHJ1bnRpbWUgbGlicmFyaWVzIHdoZW4gbGlua2luZy4KLStPbmx5IHRoZSBsaWJyYXJpZXMgeW91IHNwZWNpZnkgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGxpbmtlci4KLSsKLStAY2luZGV4IEBvcHRpb257LWxnY2N9LCB1c2Ugd2l0aCBAb3B0aW9uey1ub3N0ZGxpYn0KLStAY2luZGV4IEBvcHRpb257LW5vc3RkbGlifSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vc3RkbGlifQotK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rQGNpbmRleCBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSBhbmQgdW5yZXNvbHZlZCByZWZlcmVuY2VzCi0rQGNpbmRleCB1bnJlc29sdmVkIHJlZmVyZW5jZXMgYW5kIEBvcHRpb257LW5vZGVmYXVsdGxpYnN9Ci0rT25lIG9mIHRoZSBzdGFuZGFyZCBsaWJyYXJpZXMgYnlwYXNzZWQgYnkgQG9wdGlvbnstbm9zdGRsaWJ9IGFuZAotK0BvcHRpb257LW5vZGVmYXVsdGxpYnN9IGlzIEBmaWxle2xpYmdjYy5hfSwgYSBsaWJyYXJ5IG9mIGludGVybmFsIHN1YnJvdXRpbmVzCi0rd2hpY2ggR0NDIHVzZXMgdG8gb3ZlcmNvbWUgc2hvcnRjb21pbmdzIG9mIHBhcnRpY3VsYXIgbWFjaGluZXMsIG9yIHNwZWNpYWwKLStuZWVkcyBmb3Igc29tZSBsYW5ndWFnZXMuCi0rKEB4cmVme0ludGVyZmFjZSwsSW50ZXJmYWNpbmcgdG8gR0NDIE91dHB1dCxnY2NpbnQsR05VIENvbXBpbGVyCi0rQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LAotK2ZvciBtb3JlIGRpc2N1c3Npb24gb2YgQGZpbGV7bGliZ2NjLmF9LikKLStJbiBtb3N0IGNhc2VzLCB5b3UgbmVlZCBAZmlsZXtsaWJnY2MuYX0gZXZlbiB3aGVuIHlvdSB3YW50IHRvIGF2b2lkCi0rb3RoZXIgc3RhbmRhcmQgbGlicmFyaWVzLiAgSW4gb3RoZXIgd29yZHMsIHdoZW4geW91IHNwZWNpZnkgQG9wdGlvbnstbm9zdGRsaWJ9Ci0rb3IgQG9wdGlvbnstbm9kZWZhdWx0bGlic30geW91IHNob3VsZCB1c3VhbGx5IHNwZWNpZnkgQG9wdGlvbnstbGdjY30gYXMgd2VsbC4KLStUaGlzIGVuc3VyZXMgdGhhdCB5b3UgaGF2ZSBubyB1bnJlc29sdmVkIHJlZmVyZW5jZXMgdG8gaW50ZXJuYWwgR0NDCi0rbGlicmFyeSBzdWJyb3V0aW5lcy4KLSsoQW4gZXhhbXBsZSBvZiBzdWNoIGFuIGludGVybmFsIHN1YnJvdXRpbmUgaXMgQGNvZGV7X19tYWlufSwgdXNlZCB0byBlbnN1cmUgQysrCi0rY29uc3RydWN0b3JzIGFyZSBjYWxsZWQ7IEBweHJlZntDb2xsZWN0MiwsQGNvZGV7Y29sbGVjdDJ9LCBnY2NpbnQsCi0rR05VIENvbXBpbGVyIENvbGxlY3Rpb24gKEdDQykgSW50ZXJuYWxzfS4pCi0rCi0gQGl0ZW0gLXBpZQotIEBvcGluZGV4IHBpZQotIFByb2R1Y2UgYSBkeW5hbWljYWxseSBsaW5rZWQgcG9zaXRpb24gaW5kZXBlbmRlbnQgZXhlY3V0YWJsZSBvbiB0YXJnZXRzCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAwMmIzY2QzOWZjMi4uOGNkMjdhNWRhZDUgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEwNDcsNiArMTA0Nyw3IEBAIHByb3BlciBwb3NpdGlvbiBhbW9uZyB0aGUgb3RoZXIgb3V0cHV0IGZpbGVzLiAgKi8KLSAgICAgJShtZmxpYikgIiBTVEFDS19TUExJVF9TUEVDICJcCi0gICAgICV7ZnByb2ZpbGUtYXJjc3xmcHJvZmlsZS1nZW5lcmF0ZSp8Y292ZXJhZ2U6LWxnY292fSAiIFNBTklUSVpFUl9TUEVDICIgXAotICAgICAleyFub3N0ZGxpYjoleyFub2RlZmF1bHRsaWJzOiUobGlua19zc3ApICUobGlua19nY2NfY19zZXF1ZW5jZSl9fVwKLSsgICAgJXshbm9zdGRsaWIrKzp9XAotICAgICAleyFub3N0ZGxpYjoleyFub3N0YXJ0ZmlsZXM6JUV9fSAle1QqfSAgXG4lKHBvc3RfbGluaykgfX19fX19IgotICNlbmRpZgotIAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAwOC1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc2YjdmNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA4LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMTFlYjk3ZWZjY2I5MGI4MzBjODRlZDA3N2EyNWIxYTE1YWQzMzM1YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE0OjIwICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMzldIGdjYzogZGlzYWJsZSBNQVNLX1JFTEFYX1BJQ19DQUxMUyBiaXQKLQotVGhlIG5ldyBmZWF0dXJlIGFkZGVkIGFmdGVyIDQuMy4zCi0iaHR0cDovL3d3dy5wdWJicy5uZXQvMjAwOTA5L2djYy85NDA0OC1wYXRjaC1hZGQtc3VwcG9ydC1mb3Itcm1pcHNqYWxyLmh0bWwiCi13aWxsIGNhdXNlIGNjMXBsdXMgZWF0IHVwIGFsbCB0aGUgc3lzdGVtIG1lbW9yeSB3aGVuIGJ1aWxkIHdlYmtpdC1ndGsuCi1UaGUgZnVuY3Rpb24gbWlwc19nZXRfcGljX2NhbGxfc3ltYm9sIGtlZXBzIG9uIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgaXRzZWxmLgotRGlzYWJsZSB0aGlzIGZlYXR1cmUgdG8gd2FsayBhc2lkZSB0aGUgYnVnLgotCi1TaWduZWQtb2ZmLWJ5OiBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICB8IDcgLS0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgfCA3IC0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNhZmQwNWZkMTUwLi4xOWJhMDUxZDY3MyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0yNzU1MywxMyArMjc1NTMsNiBAQCAkYXNfZWNob19uICJjaGVja2luZyBhc3NlbWJsZXIgYW5kIGxpbmtlciBmb3IgZXhwbGljaXQgSkFMUiByZWxvY2F0aW9uLi4uICIgPiY2OwotICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgotICAgICAgIGZpCi0gICAgIGZpCi0tICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCi0tICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUwotLSAgICAgIGVsc2UKLS0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgotLSAgICAgIGZpCi0tICAgIGZpCi0gICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNQotICRhc19lY2hvICIkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MiID4mNjsgfQotIAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCBkZDViMzgxOTVjZS4uMDY2ZGZlMTliYjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtNDc5OCwxMyArNDc5OCw2IEBAIHg6Ci0gICAgICAgICBybSAtZiBjb25mdGVzdC4qCi0gICAgICAgZmkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MgPSB5ZXM7IHRoZW4KLS0gICAgICBpZiB0ZXN0IHgkdGFyZ2V0X2NwdV9kZWZhdWx0ID0geDsgdGhlbgotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PU1BU0tfUkVMQVhfUElDX0NBTExTCi0tICAgICAgZWxzZQotLSAgICAgICAgdGFyZ2V0X2NwdV9kZWZhdWx0PSIoJHRhcmdldF9jcHVfZGVmYXVsdCl8TUFTS19SRUxBWF9QSUNfQ0FMTFMiCi0tICAgICAgZmkKLS0gICAgZmkKLSAgICAgQUNfTVNHX1JFU1VMVCgkZ2NjX2N2X2FzX2xkX2phbHJfcmVsb2MpCi0gCi0gICAgIEFDX0NBQ0hFX0NIRUNLKFtsaW5rZXIgZm9yIC5laF9mcmFtZSBwZXJzb25hbGl0eSByZWxheGF0aW9uXSwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMDktQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2FiZWNlMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDA5LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGUxOWQyNTg0N2YwOGVlYjVlZjI2YTAzMWZhNWVmZjczMmJmZDBkNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAotU3ViamVjdDogW1BBVENIIDA5LzM5XSBDT0xMRUNUX0dDQ19PUFRJT05TCi0KLVRoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KLWludm9rZSBjb2xsZWN0Mi4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCi0gCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7Ci0gCi0gICBmaXJzdF90aW1lID0gVFJVRTsKLSsjaWZkZWYgSEFWRV9MRF9TWVNST09UCi0rICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQotKyAgICB7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7Ci0rICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOwotKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKLSsgICAgICBmaXJzdF90aW1lID0gRkFMU0U7Ci0rICAgIH0KLSsjZW5kaWYKLSAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCi0gICAgIHsKLSAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEwLVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1Nzg1YjU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTAtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NiArMCwwIEBACi1Gcm9tIDI2NWNiODgzYzMxMGYzYmI3ZTQ5ZmQxM2I4MTM2MjQ3NmZiZWI2YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNzoyNSArMDQwMAotU3ViamVjdDogW1BBVENIIDEwLzM5XSBVc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluCi0gJHtCfQotCi1Vc2UgdGhlIGRlZmF1bHRzLmggaW4gJHtCfSBpbnN0ZWFkIG9mICR7U30sIGFuZCB0LW9lIGluICR7Qn0sIHNvIHRoYXQKLXRoZSBzb3VyY2UgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGdjYy1jcm9zcy1pbml0aWFsLAotZ2NjLWNyb3NzLWludGVybWVkaWF0ZSwgZ2NjLWNyb3NzLCBnY2MtcnVudGltZSwgYW5kIGFsc28gdGhlIHNkayBidWlsZC4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVdoaWxlIGNvbXBpbGluZyBnY2MtY3Jvc3NzZGstaW5pdGlhbC14ODZfNjQgb24gc29tZSBob3N0LCB0aGVyZSBpcwotb2NjYXNpb25hbGx5IGZhaWx1cmUgdGhhdCB0ZXN0IHRoZSBleGlzdGFuY2Ugb2YgZGVmYXVsdC5oIGRvZXNuJ3QKLXdvcmssIHRoZSByZWFzb24gaXMgdG1faW5jbHVkZV9saXN0PScqKiBkZWZhdWx0cy5oJyByYXRoZXIgdGhhbgotdG1faW5jbHVkZV9saXN0PScqKiAuL2RlZmF1bHRzLmgnCi0KLVNvIHdlIGFkZCB0aGUgdGVzdCBjb25kaXRpb24gZm9yIHRoaXMgc2l0dWF0aW9uLgotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgNCArKy0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDQgKystLQotIGdjYy9ta2NvbmZpZy5zaCAgfCA0ICsrLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMjBiZWUwNDk0YjEuLjEzNjcxMzZiZmFjIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC01MzgsNyArNTM4LDcgQEAgVEFSR0VUX1NZU1RFTV9ST09UID0gQFRBUkdFVF9TWVNURU1fUk9PVEAKLSBUQVJHRVRfU1lTVEVNX1JPT1RfREVGSU5FID0gQFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkVACi0gCi0geG1ha2VfZmlsZT1AeG1ha2VfZmlsZUAKLS10bWFrZV9maWxlPUB0bWFrZV9maWxlQAotK3RtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVAIC4vdC1vZQotIFRNX0VORElBTl9DT05GSUc9QFRNX0VORElBTl9DT05GSUdACi0gVE1fTVVMVElMSUJfQ09ORklHPUBUTV9NVUxUSUxJQl9DT05GSUdACi0gVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUc9QFRNX01VTFRJTElCX0VYQ0VQVElPTlNfQ09ORklHQAotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCAxOWJhMDUxZDY3My4uYTU3NTgzOWMxYjIgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMTIxNTgsOCArMTIxNTgsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KLSAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0gICAgICAgIDs7Ci0gICAgIGRlZmF1bHRzLmggKQotLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgotLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKLSsgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKLSAgICAgICAgOzsKLSAgICAgKiApCi0gICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCi1pbmRleCAwNjZkZmUxOWJiNi4uNjc2MTE2YTZkOTYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlndXJlLmFjCi0rKysgYi9nY2MvY29uZmlndXJlLmFjCi1AQCAtMTkyMiw4ICsxOTIyLDggQEAgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgotICAgICAgICA7OwotICAgICBkZWZhdWx0cy5oICkKLS0gICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS8kZiIKLS0gICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCi0rICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IC4vJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vJGYiCi0gICAgICAgIDs7Ci0gICAgICogKQotICAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLWRpZmYgLS1naXQgYS9nY2MvbWtjb25maWcuc2ggYi9nY2MvbWtjb25maWcuc2gKLWluZGV4IDBmNzVjODYzYzBiLi42OGQ4ZDY2MTNjZiAxMDA2NDQKLS0tLSBhL2djYy9ta2NvbmZpZy5zaAotKysrIGIvZ2NjL21rY29uZmlnLnNoCi1AQCAtNzcsNyArNzcsNyBAQCBpZiBbIC1uICIkSEVBREVSUyIgXTsgdGhlbgotICAgICBpZiBbICQjIC1nZSAxIF07IHRoZW4KLSAJZWNobyAnI2lmZGVmIElOX0dDQycgPj4gJHtvdXRwdXR9VAotIAlmb3IgZmlsZSBpbiAiJEAiOyBkbwotLQkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KLSsJICAgIGlmIHRlc3QgeCIkZmlsZSIgPSB4Ii4vZGVmYXVsdHMuaCIgLW8geCIkZmlsZSIgPSB4ImRlZmF1bHRzLmgiOyB0aGVuCi0gCQlwb3N0cG9uZV9kZWZhdWx0c19oPSJ5ZXMiCi0gCSAgICBlbHNlCi0gCQllY2hvICIjIGluY2x1ZGUgXCIkZmlsZVwiIiA+PiAke291dHB1dH1UCi1AQCAtMTA2LDcgKzEwNiw3IEBAIGVzYWMKLSAKLSAjIElmIHdlIHBvc3Rwb25lZCBpbmNsdWRpbmcgZGVmYXVsdHMuaCwgYWRkIHRoZSAjaW5jbHVkZSBub3cuCi0gaWYgdGVzdCB4IiRwb3N0cG9uZV9kZWZhdWx0c19oIiA9IHgieWVzIjsgdGhlbgotLSAgICBlY2hvICIjIGluY2x1ZGUgXCJkZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSsgICAgZWNobyAiIyBpbmNsdWRlIFwiLi9kZWZhdWx0cy5oXCIiID4+ICR7b3V0cHV0fVQKLSBmaQotIAotICMgQWRkIG11bHRpcGxlIGluY2x1c2lvbiBwcm90ZWN0aW9uIGd1YXJkLCBwYXJ0IHR3by4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDExLWZvcnRyYW4tY3Jvc3MtY29tcGlsZS1oYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZTBmYjdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTEtZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIDcxY2JhMTg4ZDQ3YjZhZTlkOWI4NzI2MWViNGJjOWViNjhhZTM1NWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyMDowMSArMDQwMAotU3ViamVjdDogW1BBVENIIDExLzM5XSBmb3J0cmFuIGNyb3NzLWNvbXBpbGUgaGFjay4KLQotKiBGb3J0cmFuIHdvdWxkIGhhdmUgc2VhcmNoZWQgZm9yIGFybS1hbmdzdHJvbS1nbnVlYWJpLWdmb3J0cmFuIGJ1dCB3b3VsZCBoYXZlIHVzZWQKLXVzZWQgZ2ZvcnRhbi4gRm9yIGdjY180LjIuMi5iYiB3ZSB3YW50IHRvIHVzZSB0aGUgZ2ZvcnRyYW4gY29tcGlsZXIgZnJvbSBvdXIgY3Jvc3MKLWRpcmVjdG9yeS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLS0tLQotIGxpYmdmb3J0cmFuL2NvbmZpZ3VyZSAgICB8IDIgKy0KLSBsaWJnZm9ydHJhbi9jb25maWd1cmUuYWMgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJnZm9ydHJhbi9jb25maWd1cmUgYi9saWJnZm9ydHJhbi9jb25maWd1cmUKLWluZGV4IDkxZmNlOGZlY2QwLi42NzQ3Zjg2ZWI5OCAxMDA3NTUKLS0tLSBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQotKysrIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCi1AQCAtMTI4ODMsNyArMTI4ODMsNyBAQCBlc2FjCi0gCi0gIyBXZSBuZWVkIGdmb3J0cmFuIHRvIGNvbXBpbGUgcGFydHMgb2YgdGhlIGxpYnJhcnkKLSAjQUNfUFJPR19GQyhnZm9ydHJhbikKLS1GQz0iJEdGT1JUUkFOIgotKyNGQz0iJEdGT1JUUkFOIgotIGFjX2V4dD0ke2FjX2ZjX3NyY2V4dC1mfQotIGFjX2NvbXBpbGU9JyRGQyAtYyAkRkNGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJEZDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkRkNGTEFHUyAkTERGTEFHUyAkYWNfZmNmbGFnc19zcmNleHQgY29uZnRlc3QuJGFjX2V4dCAkTElCUyA+JjUnCi1kaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCi1pbmRleCBiZjZkMzYzNGRkYS4uOWRiZTQzY2M2MTYgMTAwNjQ0Ci0tLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYwotQEAgLTI1MCw3ICsyNTAsNyBAQCBBQ19TVUJTVChlbmFibGVfc3RhdGljKQotIAotICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5Ci0gI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCi0tRkM9IiRHRk9SVFJBTiIKLSsjRkM9IiRHRk9SVFJBTiIKLSBBQ19QUk9HX0ZDKGdmb3J0cmFuKQotIAotICMgZXh0cmEgTEQgRmxhZ3Mgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciB0YXJnZXRzCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMi1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTYxZjk2Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDEyLWNwcC1ob25vci1zeXNyb290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBiM2U4ZTdlOGFlMTA2ZTMyMDdlOWVkYzNkMjNkY2NlMTQ2NGI3NTVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMi8zOV0gY3BwOiBob25vciBzeXNyb290LgotCi1DdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKLXByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KLXJhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcwotcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KLQotVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgotCi1UaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKLS1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCi0KLVtZT0NUTyAjMjA3NF0KLQotUlAgMjAxMi8wNC8xMwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCi0gZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1pbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0Ci0tLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCi0rKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCi1AQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCi0gICB7IkBjKystY3BwLW91dHB1dCIsCi0gICAgIiV7IU06JXshTU06JXshRTpcCi0tICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCi0rICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCi0gICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9Ci0gCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAotICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAotICAgeyJAY3BwLW91dHB1dCIsCi0tICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKLSsgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAotICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCi0gICB7IkBhc3NlbWJsZXIiLAotICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxMy1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZWY4ODA2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTMtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUZyb20gMGYzNjI5OTc4Y2Q3Yzk4NjE0ZTg3ZDRmZDE5MGI4OTg2NDIyMTYzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjIzOjA4ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTMvMzldIE1JUFM2NDogRGVmYXVsdCB0byBONjQgQUJJCi0KLU1JUFM2NCBkZWZhdWx0cyB0byBuMzIgQUJJLCB0aGlzIHBhdGNoIG1ha2VzIGl0Ci1zbyB0aGF0IGl0IGRlZmF1bHRzIHRvIE42NCBBQkkKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBjb25maWcgc3BlY2lmaWNdCi0tLS0KLSBnY2MvY29uZmlnLmdjYyB8IDEwICsrKysrLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy5nY2MgYi9nY2MvY29uZmlnLmdjYwotaW5kZXggODc0MWRkMWUzYjIuLjJmZmNiMzlkODVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy5nY2MKLSsrKyBiL2djYy9jb25maWcuZ2NjCi1AQCAtMjEzNywyOSArMjEzNywyOSBAQCBtaXBzKi0qLWxpbnV4KikJCQkJIyBMaW51eCBNSVBTLCBlaXRoZXIgZW5kaWFuLgotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHMzMgotIAkJCTs7Ci0gCQltaXBzNjRlbC1zdC1saW51eC1nbnUpCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZmlsZT0iJHt0bV9maWxlfSBtaXBzL3N0LmgiCi0gCQkJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBtaXBzL3Qtc3QiCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NG9jdGVvbiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJdG1fZGVmaW5lcz0iJHt0bV9kZWZpbmVzfSBNSVBTX0NQVV9TVFJJTkdfREVGQVVMVD1cXFwib2N0ZW9uXFxcIiIKLSAJCQl0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19TT0ZUX0ZMT0FUX0FCSQotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCQltaXBzaXNhNjRyNiotKi1saW51eCopCi0tCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKLSsJCQlkZWZhdWx0X21pcHNfYWJpPTY0Ci0gCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjYKLSAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKLSAJCQk7OwotIAkJbWlwc2lzYTY0cjIqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWRlZmF1bHRfbWlwc19hcmNoPW1pcHM2NHIyCi0gCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCi0gCQkJOzsKLSAJCW1pcHM2NCotKi1saW51eCogfCBtaXBzaXNhNjQqLSotbGludXgqKQotLQkJCWRlZmF1bHRfbWlwc19hYmk9bjMyCi0rCQkJZGVmYXVsdF9taXBzX2FiaT02NAotIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgotIAkJCTs7Ci0gCWVzYWMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTQtRGVmaW5lLUdMSUJDX0RZTkFNSUNfTElOS0VSLWFuZC1VQ0xJQkNfRFlOQU1JQ19MSU5LRS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDQzYmI5ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE0LURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNDggKzAsMCBAQAotRnJvbSA1M2YxYzM4MmIxMzY2YzU2MjFjOGVkZWFkOWM3NjY5NTBjMjkwZmQ5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjQ6NTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC8zOV0gRGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKLSByZWxhdGl2ZSB0byBTWVNURU1MSUJTX0RJUgotCi1UaGlzIHBhdGNoIGRlZmluZXMgR0xJQkNfRFlOQU1JQ19MSU5LRVIgYW5kIFVDTElCQ19EWU5BTUlDX0xJTktFUgotcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIgd2hpY2ggY2FuIGJlIHNldCBpbiBnZW5lcmF0ZWQgaGVhZGVycwotVGhpcyBicmVha3MgdGhlIGFzc3VtcHRpb24gb2YgaGFyZGNvZGVkIG11bHRpbGliIGluIGdjYwotQ2hhbmdlIGlzIG9ubHkgZm9yIHRoZSBzdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlcyBpbiBPRSBpbmNsdWRpbmcKLVNILCBzcGFyYywgYWxwaGEgZm9yIHBvc3NpYmxlIGZ1dHVyZSBzdXBwb3J0IChpZiBhbnkpCi0KLVJlbW92ZXMgdGhlIGRvX2hlYWRlcmZpeCB0YXNrIGluIG1ldGFkYXRhCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggfCAgNCArKy0tCi0gZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oICB8ICA0ICsrLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lbGYuaCAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXguaCAgICAgIHwgIDIgKy0KLSBnY2MvY29uZmlnL2kzODYvbGludXg2NC5oICAgIHwgIDYgKysrLS0tCi0gZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgICB8ICA4ICsrKystLS0tCi0gZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWcvcmlzY3YvbGludXguaCAgICAgfCAgMiArLQotIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCAgfCAxNiArKysrKystLS0tLS0tLS0tCi0gZ2NjL2NvbmZpZy9zaC9saW51eC5oICAgICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oICAgICB8ICAyICstCi0gZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmggICB8ICA0ICsrLS0KLSAxMiBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWxwaGEvbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1pbmRleCAzNmI3NGRjMTk5My4uMDIzNzM1NzhhZjggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi0rKysgYi9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oCi1AQCAtMjMsOCArMjMsOCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICNkZWZpbmUgRVhUUkFfU1BFQ1MgXAotIHsgImVsZl9keW5hbWljX2xpbmtlciIsIEVMRl9EWU5BTUlDX0xJTktFUiB9LAotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIJIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCVNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUpICIle21nbGliYzoiIEcgIjs6IiBVICJ9IgotICNlbGlmIERFRkFVTFRfTElCQyA9PSBMSUJDX0dMSUJDCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi1pbmRleCA4NTg1ZmRlM2Q0MS4uYjNhZjY4Y2FjNTcgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotQEAgLTYyLDggKzYyLDggQEAKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUl9ERUZBVUxUIGFuZCBUQVJHRVRfREVGQVVMVF9GTE9BVF9BQkkuICAqLwotIAotICN1bmRlZiAgR0xJQkNfRFlOQU1JQ19MSU5LRVIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgIi9saWIvbGQtbGludXguc28uMyIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0hBUkRfRkxPQVQgIi9saWIvbGQtbGludXgtYXJtaGYuc28uMyIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX1NPRlRfRkxPQVQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjMiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hcm1oZi5zby4zIgotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUCi0gCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBcCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAotaW5kZXggY2ZjZDljYjFhNWMuLmE3OThlOTg3ZWNiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKLSsrKyBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCi1AQCAtNjAsNyArNjAsNyBAQAotIAotICNkZWZpbmUgTElCR0NDX1NQRUMgIiV7bWZsb2F0LWFiaT1zb2Z0KjotbGZsb2F0fSAtbGdjYyIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjZGVmaW5lIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgICIle2gqfSBcCi0gICAgJXtzdGF0aWM6LUJzdGF0aWN9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXguaCBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCi1pbmRleCA2OWY5N2YxNWIwZC4uNzFiYzMxZDkyMzEgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2kzODYvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKLUBAIC0yMCw3ICsyMCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSAKLSAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OICJlbGZfaTM4NiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotaW5kZXggZjJkOTEzZTMwYWMuLjg3MjVmMzNkOGE1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaAotQEAgLTI3LDkgKzI3LDkgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTjY0ICJlbGZfeDg2XzY0IgotICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05YMzIgImVsZjMyX3g4Nl82NCIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC14ODYtNjQuc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyICIvbGlieDMyL2xkLWxpbnV4LXgzMi5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXg4Ni02NC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXgzMi5zby4yIgotIAotICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSMzIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKLWluZGV4IDJlYTRmZjkyYzFkLi40ODdiMGMwOTIzYiAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1AQCAtODEsMTAgKzgxLDEwIEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQotICAgIEdMSUJDX0RZTkFNSUNfTElOS0VSIG11c3QgYmUgZGVmaW5lZCBmb3IgZWFjaCB0YXJnZXQgdXNpbmcgdGhlbSwgb3IKLSAgICBHTElCQ19EWU5BTUlDX0xJTktFUjMyIGFuZCBHTElCQ19EWU5BTUlDX0xJTktFUjY0IGZvciB0YXJnZXRzCi0gICAgc3VwcG9ydGluZyBib3RoIDMyLWJpdCBhbmQgNjQtYml0IGNvbXBpbGF0aW9uLiAgKi8KLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLXVDbGliYy5zby4wIgotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWIvbGQ2NC11Q2xpYmMuc28uMCIKLS0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYi9sZHgzMi11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCi0rI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKLSsjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUlgzMiBTWVNURU1MSUJTX0RJUiAibGR4MzItdUNsaWJjLnNvLjAiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIgIi9zeXN0ZW0vYmluL2xpbmtlciIKLSAjZGVmaW5lIEJJT05JQ19EWU5BTUlDX0xJTktFUjMyICIvc3lzdGVtL2Jpbi9saW5rZXIiCi0gI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVI2NCAiL3N5c3RlbS9iaW4vbGlua2VyNjQiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmggYi9nY2MvY29uZmlnL21pcHMvbGludXguaAotaW5kZXggMmRmZDBjMThiOTAuLjEyMDU3YzUxYjVlIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbWlwcy9saW51eC5oCi1AQCAtMjIsMjAgKzIyLDIwIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTk4zMiAiZWxmMzIle0VCOmJ9JXtFTDpsfXRzbWlwbjMyIgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYi9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliNjQvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWI2NC9sZC5zby4xfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1taXBzbjguc28uMTs6IiBTWVNURU1MSUJTX0RJUiAibGQuc28uMX0iCi0gI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliMzIvbGQuc28uMX0iCi0rICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgotIAotICN1bmRlZiBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMgotICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAotLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0gICIle21uYW49MjAwODovbGliL2xkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzovbGliL2xkNjQtdUNsaWJjLnNvLjB9IgotKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy5zby4wfSIKLSAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUk4zMiBcCi0tICAiJXttbmFuPTIwMDg6L2xpYjMyL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYjMyL2xkLXVDbGliYy5zby4wfSIKLSsgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMtbWlwc244LnNvLjA7OiIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wfSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvbGludXguaCBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotaW5kZXggYWE4YTI4ZDVkLi5lYmY5NTUxYzkgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcmlzY3YvbGludXguaAotQEAgLTIyLDcgKzIyLDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAgICAgR05VX1VTRVJfVEFSR0VUX09TX0NQUF9CVUlMVElOUygpOwkJCQlcCi0gICB9IHdoaWxlICgwKQotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LXJpc2N2IiBYTEVOX1NQRUMgIi0iIEFCSV9TUEVDICIuc28uMSIKLSAKLSAjZGVmaW5lIE1VU0xfQUJJX1NVRkZJWCBcCi0gICAiJXttYWJpPWlscDMyOi1zZn0iIFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDkwZmU2NTY2MjU1Li41NTY5NWRhZGQ5MSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDIwLDE2ICs0MjAsMTEgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKLSAjdW5kZWYJTElOS19PU19ERUZBVUxUX1NQRUMKLSAjZGVmaW5lIExJTktfT1NfREVGQVVMVF9TUEVDICIlKGxpbmtfb3NfbGludXgpIgotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiJShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYi9sZC5zby4xIgotLQotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQuc28uMSIKLSAjaWZkZWYgTElOVVg2NF9ERUZBVUxUX0FCSV9FTEZ2MgotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCi0tIiV7bWFiaT1lbGZ2MTolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xOyIgXAotLSI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMn0iCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIle21hYmk9ZWxmdjE6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjJ9IgotICNlbHNlCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKLS0iJXttYWJpPWVsZnYyOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjI7IiBcCi0tIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4xfSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MjoiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjI7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMX0iCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgXAotQEAgLTQzNyw4ICs0MzIsOSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKLSAgICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgotIAotLSNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCi0tI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYi9sZDY0LXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgotKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCi0rCi0gI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQwotICNkZWZpbmUgQ0hPT1NFX0RZTkFNSUNfTElOS0VSKEcsIFUsIE0pIFwKLSAgICIle21nbGliYzoiIEcgIjs6JXttbXVzbDoiIE0gIjs6IiBVICJ9fSIKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NoL2xpbnV4LmggYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKLWluZGV4IDZkMmNjZDAxMmJhLi5lYzc4YTg5Y2UxNSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvc2gvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9zaC9saW51eC5oCi1AQCAtNjQsNyArNjQsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQotICAgIi9saWIvbGQtbXVzbC1zaCIgTVVTTF9EWU5BTUlDX0xJTktFUl9FIE1VU0xfRFlOQU1JQ19MSU5LRVJfRlAgXAotICAgIiV7bWZkcGljOi1mZHBpY30uc28uMSIKLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLWxpbnV4LnNvLjIiCi0rI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSAKLSAjdW5kZWYgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVgKLSAjZGVmaW5lIFNVQlRBUkdFVF9MSU5LX0VNVUxfU1VGRklYICIle21mZHBpYzpfZmQ7Ol9saW51eH0iCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCi1pbmRleCA5ZmIwM2FmMGZlOS4uNDAxZmRkYmJiMjIgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvc3BhcmMvbGludXguaAotQEAgLTgzLDcgKzgzLDcgQEAgZXh0ZXJuIGNvbnN0IGNoYXIgKmhvc3RfZGV0ZWN0X2xvY2FsX2NwdSAoaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KTsKLSAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZwotICAgIGRvbmUuICAqLwotIAotLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgotIAotICN1bmRlZiAgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgIi1tIGVsZjMyX3NwYXJjICV7c2hhcmVkOi1zaGFyZWR9IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaCBiL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCi1pbmRleCBjMWZlNDIxNjViNy4uMjZhNzliZmEyZTMgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKLUBAIC04NCw4ICs4NCw4IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0gICAgV2hlbiB0aGUgLXNoYXJlZCBsaW5rIG9wdGlvbiBpcyB1c2VkIGEgZmluYWwgbGluayBpcyBub3QgYmVpbmcKLSAgICBkb25lLiAgKi8KLSAKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbGludXguc28uMiIKLS0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIi9saWI2NC9sZC1saW51eC5zby4yIgotKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCi0gCi0gI2lmZGVmIFNQQVJDX0JJX0FSQ0gKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTUtZ2NjLUZpeC1hcmd1bWVudC1saXN0LXRvby1sb25nLWVycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZmY4NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxNS1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1Gcm9tIDJlNzVhMTRjZDYwMjI3ZTAzNjc5MDE4NGYwZWI0MDBhYmMzYzg3MGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyNjozNyArMDQwMAotU3ViamVjdDogW1BBVENIIDE1LzM5XSBnY2M6IEZpeCBhcmd1bWVudCBsaXN0IHRvbyBsb25nIGVycm9yLgotCi1UaGVyZSB3b3VsZCBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiB0aGUKLWJ1aWxkIGRpcmVjdG9yeSBpcyBsb25nZXIgdGhhbiAyMDAsIHRoaXMgaXMgY2F1c2VkIGJ5OgotCi1oZWFkZXJzPWBlY2hvICQoUExVR0lOX0hFQURFUlMpIHwgdHIgJyAnICdcMDEyJyB8IHNvcnQgLXVgCi0KLVRoZSBQTFVHSU5fSEVBREVSUyBpcyB0b28gbG9uZyBiZWZvcmUgc29ydCwgc28gdGhlICJlY2hvIiBjYW4ndCBoYW5kbGUKLWl0LCB1c2UgdGhlICQoc29ydCBsaXN0KSBvZiBHTlUgbWFrZSB3aGljaCBjYW4gaGFuZGxlIHRoZSB0b28gbG9uZyBsaXN0Ci13b3VsZCBmaXggdGhlIHByb2JsZW0sIHRoZSBoZWFkZXIgd291bGQgYmUgc2hvcnQgZW5vdWdoIGFmdGVyIHNvcnRlZC4KLVRoZSAidHIgJyAnICdcMDEyJyIgd2FzIHVzZWQgZm9yIHRyYW5zbGF0aW5nIHRoZSBzcGFjZSB0byAiXG4iLCB0aGUKLSQoc29ydCBsaXN0KSBkb2Vzbid0IG5lZWQgdGhpcy4KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGdjYy9NYWtlZmlsZS5pbiB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgotaW5kZXggMTM2NzEzNmJmYWMuLjcxYTgyNzVjMzlmIDEwMDY0NAotLS0tIGEvZ2NjL01ha2VmaWxlLmluCi0rKysgYi9nY2MvTWFrZWZpbGUuaW4KLUBAIC0zNTM4LDcgKzM1MzgsNyBAQCBpbnN0YWxsLXBsdWdpbjogaW5zdGFsbGRpcnMgbGFuZy5pbnN0YWxsLXBsdWdpbiBzLWhlYWRlci12YXJzIGluc3RhbGwtZ2VuZ3R5cGUKLSAjIFdlIGtlZXAgdGhlIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZm9yIGZpbGVzIGluIGNvbmZpZyBvciBjLWZhbWlseSBhbmQgLmRlZgotICMgZmlsZXMuIEFsbCBvdGhlciBmaWxlcyBhcmUgZmxhdHRlbmVkIHRvIGEgc2luZ2xlIGRpcmVjdG9yeS4KLSAJJChta2luc3RhbGxkaXJzKSAkKERFU1RESVIpJChwbHVnaW5faW5jbHVkZWRpcikKLS0JaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSAkJChjZCAkKHNyY2Rpcik7IGVjaG8gKi5oICouZGVmKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YDsgXAotKwloZWFkZXJzPSIkKHNvcnQgJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikpIjsgXAotIAlzcmNkaXJzdHJpcD1gZWNobyAiJChzcmNkaXIpIiB8IHNlZCAncy9bXS5bXiQkXFwqfF0vXFxcXCYvZydgOyBcCi0gCWZvciBmaWxlIGluICQkaGVhZGVyczsgZG8gXAotIAkgIGlmIFsgLWYgJCRmaWxlIF0gOyB0aGVuIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE2LURpc2FibGUtc2R0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTk3NTQ2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTYtRGlzYWJsZS1zZHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotRnJvbSA0MjNkODdhYzQ3ZDIxZTM5OWQ3NTlkN2ZmM2I2MzhmMGM3MjFhN2RmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNi8zOV0gRGlzYWJsZSBzZHQuCi0KLVdlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KLUl0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCi1zZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKLWJ1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgotCi1SUCAyMDEyLzgvNwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1EaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQotLS0tCi0gZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQotIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KLSBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCi0gbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCi0gNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCi1pbmRleCBhNTc1ODM5YzFiMi4uODcyMzM4ZjI5YjYgMTAwNzU1Ci0tLS0gYS9nY2MvY29uZmlndXJlCi0rKysgYi9nY2MvY29uZmlndXJlCi1AQCAtMjkyOTYsMTIgKzI5Mjk2LDEyIEBAIGZpCi0geyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQotICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQotIGhhdmVfc3lzX3NkdF9oPW5vCi0taWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCi0tICBoYXZlX3N5c19zZHRfaD15ZXMKLS0KLS0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKLS0KLS1maQotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotKyMKLSsjZmkKLSB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKLSAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KLSAKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYwotaW5kZXggNjc2MTE2YTZkOTYuLjU1MDQ2ZTY4OTI2IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYwotKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYwotQEAgLTU5NTcsMTUgKzU5NTcsMTUgQEAgZmkKLSBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKLSAKLSAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCi0tR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCi0taGF2ZV9zeXNfc2R0X2g9bm8KLS1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLS0gIGhhdmVfc3lzX3NkdF9oPXllcwotLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAotLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0tZmkKLS1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKLSsjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQotKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQotKyNoYXZlX3N5c19zZHRfaD1ubwotKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KLSsjICBoYXZlX3N5c19zZHRfaD15ZXMKLSsjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCi0rIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCi0rI2ZpCi0rI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQotIAotICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgotICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKLWRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotaW5kZXggYzlkYmFhMTM5ZDUuLmM2NGE3N2QxNTJiIDEwMDc1NQotLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQotQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi0gYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLSBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251Ci0gCi0tICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgotKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCi0gCi0tJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCi0rIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAotIAotLSAgZmkKLSsjICBmaQotICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1Ci0gJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9Ci0gCi1kaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLWluZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKLS0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLSsrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKLUBAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCi0gR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCi0gR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAotIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKLS1HTElCQ1hYX0NIRUNLX1NEVF9ICi0rI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKLSAKLSAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KLSBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMTctbGlidG9vbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNhYTFjZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE3LWxpYnRvb2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi1Gcm9tIGM4YjExZTk2YjExOTEwYjJkNGRmNmFlODEwNDQ2NmUzMzAzZDkzM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToyOToxMSArMDQwMAotU3ViamVjdDogW1BBVENIIDE3LzM5XSBsaWJ0b29sCi0KLWxpYnN0ZGMrKyBmcm9tIGdjYy1ydW50aW1lIGdldHMgY3JlYXRlZCB3aXRoIC1ycGF0aD0vdXNyL2xpYi8uLi9saWIgZm9yIHFlbXV4ODYtNjQKLXdoZW4gcnVubmluZyBvbiBhbSB4ODZfNjQgYnVpbGQgaG9zdC4KLQotVGhpcyBwYXRjaCBzdG9wcyB0aGlzIHNwZWFkaW5nIHRvIGxpYmRpciBpbiB0aGUgbGlic3RkYysrLmxhIGZpbGUgd2l0aGluIGxpYnRvb2wuCi1Bcmd1YWJseSwgaXQgc2hvdWxkbid0IGJlIHBhc3NpbmcgdGhpcyBpbnRvIGxpYnRvb2wgaW4gdGhlIGZpcnN0IHBsYWNlIGJ1dAotZm9yIG5vdyB0aGlzIHJlc29sdmVzIHRoZSBuYXN0aWVzdCBwcm9ibGVtcyB0aGlzIGNhdXNlcy4KLQotZnVuY19ub3JtYWxfYWJzcGF0aCB3b3VsZCByZXNvbHZlIGFuIGVtcHR5IHBhdGggdG8gYHB3ZGAgc28gd2UgbmVlZAotdG8gZmlsdGVyIHRoZSB6ZXJvIGNhc2UuCi0KLVJQIDIwMTIvOC8yNAotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGx0bWFpbi5zaCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2x0bWFpbi5zaCBiL2x0bWFpbi5zaAotaW5kZXggOTUwM2VjODVkNzAuLjAxMjFmYmE3MDdmIDEwMDY0NAotLS0tIGEvbHRtYWluLnNoCi0rKysgYi9sdG1haW4uc2gKLUBAIC02MzU5LDYgKzYzNTksMTAgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJZnVuY193YXJuaW5nICJpZ25vcmluZyBtdWx0aXBsZSBcYC1ycGF0aCdzIGZvciBhIGxpYnRvb2wgbGlicmFyeSIKLSAKLSAgICAgICBpbnN0YWxsX2xpYmRpcj0iJDEiCi0rICAgICAgaWYgdGVzdCAtbiAiJGluc3RhbGxfbGliZGlyIjsgdGhlbgotKwlmdW5jX25vcm1hbF9hYnNwYXRoICIkaW5zdGFsbF9saWJkaXIiCi0rCWluc3RhbGxfbGliZGlyPSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAotKyAgICAgIGZpCi0gCi0gICAgICAgb2xkbGlicz0KLSAgICAgICBpZiB0ZXN0IC16ICIkcnBhdGgiOyB0aGVuCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE4LWdjYy1hcm12NC1wYXNzLWZpeC12NGJ4LXRvLWxpbmtlci10by1zdXBwb3J0LUVBQkkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY0M2NjNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOC1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSA3ZGJiYTg0NGE1OWJkZjZlN2Q3MjRmOGJmYTc5MjcyNDZjYjdhZjhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MzA6MzIgKzA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxOC8zOV0gZ2NjOiBhcm12NDogcGFzcyBmaXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJLgotCi1UaGUgTElOS19TUEVDIGZvciBsaW51eCBnZXRzIG92ZXJ3cml0dGVuIGJ5IGxpbnV4LWVhYmkuaCB3aGljaAotbWVhbnMgdGhlIHZhbHVlIG9mIFRBUkdFVF9GSVhfVjRCWF9TUEVDIGdldHMgbG9zdCBhbmQgYXMgYSByZXN1bHQKLXRoZSBvcHRpb24gaXMgbm90IHBhc3NlZCB0byBsaW5rZXIgd2hlbiBjaG9zaW5nIG1hcmNoPWFybXY0Ci1UaGlzIHBhdGNoIHJlZGVmaW5lcyB0aGlzIGluIGxpbnV4LWVhYmkuaCBhbmQgcmVpbnNlcnRzIGl0Ci1mb3IgZWFiaSBkZWZhdWx0aW5nIHRvb2xjaGFpbnMuCi0KLVdlIG1pZ2h0IHdhbnQgdG8gc2VuZCBpdCB1cHN0cmVhbS4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBnY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAotaW5kZXggYjNhZjY4Y2FjNTcuLjMzMGI2ZTEzYzVmIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCi0rKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKLUBAIC04OCwxMCArODgsMTQgQEAKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgXAotICAgIi9saWIvbGQtbXVzbC1hcm0iIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttZmxvYXQtYWJpPWhhcmQ6aGZ9LnNvLjEiCi0gCi0rLyogRm9yIGFybXY0IHdlIHBhc3MgLS1maXgtdjRieCB0byBsaW5rZXIgdG8gc3VwcG9ydCBFQUJJICovCi0rI3VuZGVmIFRBUkdFVF9GSVhfVjRCWF9TUEVDCi0rI2RlZmluZSBUQVJHRVRfRklYX1Y0QlhfU1BFQyAiJXttY3B1PWFybTh8bWNwdT1hcm04MTB8bWNwdT1zdHJvbmdhcm0qfG1hcmNoPWFybXY0OiAtLWZpeC12NGJ4fSIKLSsKLSAvKiBBdCB0aGlzIHBvaW50LCBicGFiaS5oIHdpbGwgaGF2ZSBjbG9iYmVyZWQgTElOS19TUEVDLiAgV2Ugd2FudCB0bwotICAgIHVzZSB0aGUgR05VL0xpbnV4IHZlcnNpb24sIG5vdCB0aGUgZ2VuZXJpYyBCUEFCSSB2ZXJzaW9uLiAgKi8KLSAjdW5kZWYgIExJTktfU1BFQwotLSNkZWZpbmUgTElOS19TUEVDIEVBQklfTElOS19TUEVDCQkJCQlcCi0rI2RlZmluZSBMSU5LX1NQRUMgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgRUFCSV9MSU5LX1NQRUMJCQlcCi0gICBMSU5VWF9PUl9BTkRST0lEX0xEIChMSU5VWF9UQVJHRVRfTElOS19TUEVDLAkJCQlcCi0gCQkgICAgICAgTElOVVhfVEFSR0VUX0xJTktfU1BFQyAiICIgQU5EUk9JRF9MSU5LX1NQRUMpCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDE5LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4NDkxODYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAxOS1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gMTE3MTQwYWNkM2MzODNmNjIwZmY3NTg5NDI3NjAwMWM3NDA1ZGNjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTkvMzldIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCi0gdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9Ci0KLVVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQotc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKLWdjYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KLS0tLQotIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCi0gZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQotaW5kZXggODcyMzM4ZjI5YjYuLmNmY2FkYzkzYTAxIDEwMDc1NQotLS0tIGEvZ2NjL2NvbmZpZ3VyZQotKysrIGIvZ2NjL2NvbmZpZ3VyZQotQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCi0gdG1ha2VfZmlsZV89Ci0gZm9yIGYgaW4gJHt0bWFrZV9maWxlfQotIGRvCi0tCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgotLQl0aGVuCi0tCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0tCWZpCi0rICBjYXNlICRmIGluCi0rICAgICovdC1saW51eDY0ICkKLSsgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgotKyAgICAgICB0aGVuCi0rICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgotKyAgICAgICBmaQotKyAgICAgICA7OwotKyAgICAqICkKLSsgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICBlc2FjCi0gZG9uZQotIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgotIAotQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDU1MDQ2ZTY4OTI2Li40NGI5MDQ3OGY1NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKLSB0bWFrZV9maWxlXz0KLSBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9Ci0gZG8KLS0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCi0tCXRoZW4KLS0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLS0JZmkKLSsgIGNhc2UgJGYgaW4KLSsgICAgKi90LWxpbnV4NjQgKQotKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCi0rICAgICAgIHRoZW4KLSsgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCi0rICAgICAgIGZpCi0rICAgICAgIDs7Ci0rICAgICogKQotKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKLSsgICAgICAgdGhlbgotKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKLSsgICAgICAgZmkKLSsgICAgICAgOzsKLSsgIGVzYWMKLSBkb25lCi0gdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCi0gCi1AQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgotIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCi0gZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCi0gICBjYXNlICRmIGluCi0rICAgICovbGludXg2NC5oICkKLSsgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCi0rICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgotKyAgICAgICA7OwotICAgICAuLyogKQotICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKLSAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIwLUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkxMWZlODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMC1Bdm9pZC11c2luZy1saWJkaXItZnJvbS0ubGEtd2hpY2gtdXN1YWxseS1wb2ludHMtdG8tLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBhNzI2NjExMWE1YmEyZDE0NmM5NzllODZmZjg0ZjZiODA3Y2E1ZmRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6Mzk6MzggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMC8zOV0gQXZvaWQgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEKLSBob3N0IHBhdGgKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gTGl1IDxuZXQxNDdAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCAwMTIxZmJhNzA3Zi4uNTJiZGJkYjVmOWMgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTU2MjgsNiArNTYyOCw5IEBAIGZ1bmNfbW9kZV9saW5rICgpCi0gCSAgICBhYnNkaXI9IiRhYnNfbGFkaXIiCi0gCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCi0gCSAgZWxzZQotKwkgICAgIyBJbnN0ZWFkIG9mIHVzaW5nIGxpYmRpciBmcm9tIC5sYSB3aGljaCB1c3VhbGx5IHBvaW50cyB0byBhIGhvc3QgcGF0aCwKLSsJICAgICMgdXNlIHRoZSBwYXRoIHRoZSAubGEgaXMgY29udGFpbmVkIGluLgotKwkgICAgbGliZGlyPSIkYWJzX2xhZGlyIgotIAkgICAgZGlyPSIkbGliZGlyIgotIAkgICAgYWJzZGlyPSIkbGliZGlyIgotIAkgIGZpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIxLWV4cG9ydC1DUFAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlNmI0MTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMS1leHBvcnQtQ1BQLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotRnJvbSBjODU5OWZjM2I1NzgxYjMxOTcwN2M5YzBmMWIwYTFlZjdjZGRiMDI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMDk6NDA6NTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMS8zOV0gZXhwb3J0IENQUAotCi1UaGUgT0UgZW52aXJvbm1lbnQgc2V0cyBhbmQgZXhwb3J0cyBDUFAgYXMgYmVpbmcgdGhlIHRhcmdldCBnY2MuIFdoZW4KLWJ1aWxkaW5nIGdjYy1jcm9zcy1jYW5hZGlhbiBmb3IgYSBtaW5ndyB0YXJnZXR0ZWQgc2RrLCB0aGUgZm9sbG93aW5nIGNhbiBiZSBmb3VuZAotaW4gYnVpbGQueDg2XzY0LXBva3lzZGstbWluZ3czMi5pNTg2LXBva3ktbGludXgvYnVpbGQteDg2XzY0LWxpbnV4L2xpYmliZXJ0eS9jb25maWcubG9nOgotCi1jb25maWd1cmU6MzY0MTogY2hlY2tpbmcgZm9yIF9GSUxFX09GRlNFVF9CSVRTIHZhbHVlIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKLWNvbmZpZ3VyZTozNjY2OiBnY2MgIC1jIC1pc3lzdGVtL21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUgLU8yIC1waXBlICBjb25mdGVzdC5jID4mNQotY29uZmlndXJlOjM2NjY6ICQ/ID0gMAotY29uZmlndXJlOjM2OTg6IHJlc3VsdDogbm8KLWNvbmZpZ3VyZTozNzg2OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3NvcgotY29uZmlndXJlOjM4NTY6IHJlc3VsdDogeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MgLUUgLS1zeXNyb290PS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LW5hdGl2ZXNkay1taW5ndzMyLXBva3lzZGstbWluZ3czMgotY29uZmlndXJlOjM4NzY6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIgY29uZnRlc3QuYwotY29uZmlndXJlOjM4NzY6ICQ/ID0gMAotCi1Ob3RlIHRoaXMgaXMgYSAqYnVpbGQqIHRhcmdldCAoaW4gYnVpbGQteDg2XzY0LWxpbnV4KSBzbyBpdCBzaG91bGQgYmUKLXVzaW5nIHRoZSBob3N0ICJnY2MiLCBub3QgeDg2XzY0LXBva3lzZGstbWluZ3czMi1nY2MuIFNpbmNlIHRoZSBtaW5ndzMyCi1oZWFkZXJzIGFyZSB2ZXJ5IGRpZmZlcmVudCwgdXNpbmcgdGhlIHdyb25nIGNwcCBpcyBhIHJlYWwgcHJvYmxlbS4gSXQgaXMgbGVha2luZwotaW50byBjb25maWd1cmUgdGhyb3VnaCB0aGUgQ1BQIHZhcmlhYmxlLiBVbHRpbWF0ZWx5IHRoaXMgbGVhZHMgdG8gYnVpbGQKLWZhaWx1cmVzIHJlbGF0ZWQgdG8gbm90IGJlaW5nIGFibGUgdG8gaW5jbHVkZSBhIHByb2Nlc3MuaCBmaWxlIGZvciBwZW0tdW5peC5jLgotCi1UaGUgZml4IGlzIHRvIGVuc3VyZSB3ZSBleHBvcnQgYSBzYW5lIENQUCB2YWx1ZSBpbnRvIHRoZSBidWlsZAotZW52aXJvbm1lbnQgd2hlbiB1c2luZyBidWlsZCB0YXJnZXRzLiBXZSBjb3VsZCBkZWZpbmUgYSBDUFBfRk9SX0JVSUxEIHZhbHVlIHdoaWNoIG1heSBiZQotdGhlIHZlcnNpb24gd2hpY2ggbmVlZHMgdG8gYmUgdXBzdHJlYW1lZCBidXQgZm9yIG5vdywgdGhpcyBmaXggaXMgZ29vZCBlbm91Z2ggdG8KLWF2b2lkIHRoZSBwcm9ibGVtLgotCi1SUCAyMi8wOC8yMDEzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gTWFrZWZpbGUuaW4gfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KLWluZGV4IDJiZjgzYjcyMjY1Li4xYWY0NTU4MDA4NiAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmluCi0rKysgYi9NYWtlZmlsZS5pbgotQEAgLTE0OSw2ICsxNDksNyBAQCBCVUlMRF9FWFBPUlRTID0gXAotIAlBUj0iJChBUl9GT1JfQlVJTEQpIjsgZXhwb3J0IEFSOyBcCi0gCUFTPSIkKEFTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQVM7IFwKLSAJQ0M9IiQoQ0NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDQzsgXAotKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIyLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3YzU4MWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMi1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSA1ZTJlZTQ2YzcyMGI2Y2UwM2ExOGRhNzBkZDRlMDkxN2MyNThhYjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMi8zOV0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKLSBvcHRpb25zLgotCi1IYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KLXN5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKLUFCSSwgYXMKLWxvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KLQotV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCi1ub3JtYWwgbGliZGlyLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotaW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAotQEAgLTIxLDggKzIxLDggQEAKLSBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KLSBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCi0gCi0tQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLS1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLS1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKLSsjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKLSsjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCi0rI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQotIAotLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0rI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyMy1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGQ0ZGExYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDIzLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotRnJvbSA3Mzc2NjQyNGEyZjcxYjE4MTBmYjhhZmRkODYzMDI4ODU1ZDg3ZTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjU6MTEgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy8zOV0gRW5zdXJlIHRhcmdldCBnY2MgaGVhZGVycyBjYW4gYmUgaW5jbHVkZWQKLQotVGhlcmUgYXJlIGEgZmV3IGhlYWRlcnMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIE9wZW5FbWJlZGRlZAotZ2NjLXJ1bnRpbWUgdGFyZ2V0IChvbXAuaCwgc3NwLyouaCkuIEJlaW5nIGluc3RhbGxlZCBmcm9tIGEgcmVjaXBlCi1idWlsdCBmb3IgdGhlIHRhcmdldCBhcmNoaXRlY3R1cmUsIHRoZXNlIGFyZSB3aXRoaW4gdGhlIHRhcmdldAotc3lzcm9vdCBhbmQgbm90IGNyb3NzL25hdGl2ZXNkazsgdGh1cyB0aGV5IHdlcmVuJ3QgYWJsZSB0byBiZQotZm91bmQgYnkgZ2NjIHdpdGggdGhlIGV4aXN0aW5nIHNlYXJjaCBwYXRocy4gQWRkIHN1cHBvcnQgZm9yCi1waWNraW5nIHVwIHRoZXNlIGhlYWRlcnMgdW5kZXIgdGhlIHN5c3Jvb3Qgc3VwcGxpZWQgb24gdGhlIGdjYwotY29tbWFuZCBsaW5lIGluIG9yZGVyIHRvIHJlc29sdmUgdGhpcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFBhdWwgRWdnbGV0b24gPHBhdWwuZWdnbGV0b25AbGludXguaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9NYWtlZmlsZS5pbiAgfCAyICsrCi0gZ2NjL2NwcGRlZmF1bHQuYyB8IDQgKysrKwotIGdjYy9kZWZhdWx0cy5oICAgfCA5ICsrKysrKysrKwotIGdjYy9nY2MuYyAgICAgICAgfCA3IC0tLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDcxYTgyNzVjMzlmLi41YWU2OTNmYjA2YyAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtNjE0LDYgKzYxNCw3IEBAIGxpYmV4ZWNkaXIgPSBAbGliZXhlY2RpckAKLSAKLSAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgbGlicmFyaWVzIGV0Yy4KLSBsaWJzdWJkaXIgPSAkKGxpYmRpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotK2xpYnN1YmRpcl90YXJnZXQgPSBnY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pCi0gIyBEaXJlY3RvcnkgaW4gd2hpY2ggdGhlIGNvbXBpbGVyIGZpbmRzIGV4ZWN1dGFibGVzCi0gbGliZXhlY3N1YmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQocmVhbF90YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChhY2NlbF9kaXJfc3VmZml4KQotICMgRGlyZWN0b3J5IGluIHdoaWNoIGFsbCBwbHVnaW4gcmVzb3VyY2VzIGFyZSBpbnN0YWxsZWQKLUBAIC0yODcwLDYgKzI4NzEsNyBAQCBDRkxBR1MtaW50bC5vICs9IC1ETE9DQUxFRElSPVwiJChsb2NhbGVkaXIpXCIKLSAKLSBQUkVQUk9DRVNTT1JfREVGSU5FUyA9IFwKLSAgIC1ER0NDX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGVcIiBcCi0rICAtREdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQ9XCIkKGxpYnN1YmRpcl90YXJnZXQpL2luY2x1ZGVcIiBcCi0gICAtREZJWEVEX0lOQ0xVREVfRElSPVwiJChsaWJzdWJkaXIpL2luY2x1ZGUtZml4ZWRcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUj1cIiQoZ2NjX2d4eF9pbmNsdWRlX2RpcilcIiBcCi0gICAtREdQTFVTUExVU19JTkNMVURFX0RJUl9BRERfU1lTUk9PVD0kKGdjY19neHhfaW5jbHVkZV9kaXJfYWRkX3N5c3Jvb3QpIFwKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5jIGIvZ2NjL2NwcGRlZmF1bHQuYwotaW5kZXggYjM2YTk3OWQ1YmEuLmUyZTE4N2RlZGFmIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuYwotKysrIGIvZ2NjL2NwcGRlZmF1bHQuYwotQEAgLTU5LDYgKzU5LDEwIEBAIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotICNlbmRpZgotKyNpZmRlZiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUCi0rICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzIHVuZGVyIHRoZSBzcGVjaWZpZWQgc3lzcm9vdC4gICovCi0rICAgIHsgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQsICJHQ0MiLCAwLCAwLCAxLCAwIH0sCi0rI2VuZGlmCi0gI2lmZGVmIExPQ0FMX0lOQ0xVREVfRElSCi0gICAgIC8qIC91c3IvbG9jYWwvaW5jbHVkZSBjb21lcyBiZWZvcmUgdGhlIGZpeGluY2x1ZGVkIGhlYWRlciBmaWxlcy4gICovCi0gICAgIHsgTE9DQUxfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDEsIDIgfSwKLWRpZmYgLS1naXQgYS9nY2MvZGVmYXVsdHMuaCBiL2djYy9kZWZhdWx0cy5oCi1pbmRleCA3OGEwOGEzM2YxMi4uYzg4NTEyNzc2NzQgMTAwNjQ0Ci0tLS0gYS9nY2MvZGVmYXVsdHMuaAotKysrIGIvZ2NjL2RlZmF1bHRzLmgKLUBAIC0xNDUxLDQgKzE0NTEsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gI2RlZmluZSBEV0FSRl9HTkFUX0VOQ09ESU5HU19ERUZBVUxUIERXQVJGX0dOQVRfRU5DT0RJTkdTX0dEQgotICNlbmRpZgotIAotKy8qIERlZmF1bHQgcHJlZml4ZXMgdG8gYXR0YWNoIHRvIGNvbW1hbmQgbmFtZXMuICAqLwotKwotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEgIi9saWIvIgotKyNlbmRpZgotKyNpZm5kZWYgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yCi0rI2RlZmluZSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgIi91c3IvbGliLyIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8qICEgR0NDX0RFRkFVTFRTX0ggKi8KLWRpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKLWluZGV4IDU3MGNkYzAwMDM0Li4zZmI2NGQ0NTNmMSAxMDA2NDQKLS0tLSBhL2djYy9nY2MuYwotKysrIGIvZ2NjL2djYy5jCi1AQCAtMTQ2NCwxMyArMTQ2NCw2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnY2NfbGliZXhlY19wcmVmaXg7Ci0gCi0gLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCi0gCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCi0tI2VuZGlmCi0tI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKLS0jZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgotLSNlbmRpZgotLQotICNpZmRlZiBDUk9TU19ESVJFQ1RPUllfU1RSVUNUVVJFICAvKiBEb24ndCB1c2UgdGhlc2UgcHJlZml4ZXMgZm9yIGEgY3Jvc3MgY29tcGlsZXIuICAqLwotICN1bmRlZiBNRF9FWEVDX1BSRUZJWAotICN1bmRlZiBNRF9TVEFSVEZJTEVfUFJFRklYCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI0LWdjYy00Ljgtd29uLXQtYnVpbGQtd2l0aC1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3YjQ3ZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNC1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSA1N2JlZWY2OTM5NmY2YzE4NzAxNGI4ZTYxY2RjOTY2MjE4NDc5ZDA3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTE6MTc6MTkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyNC8zOV0gZ2NjIDQuOCsgd29uJ3QgYnVpbGQgd2l0aCAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZwotCi1zaW5jZSB0aGUgKi5QcG8gZmlsZXMgZG9uJ3QgZ2V0IGNyZWF0ZWQgdW5sZXNzIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgaXMgdHJ1ZS4KLQotVGhpcyBwYXRjaCBlbnN1cmVzIHdlIG9ubHkgdXNlIHRob3NlIGNvbXBpbGVyIG9wdGlvbnMgd2hlbiBpdHMgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotKFByb2JsZW0gd2FzIGFscmVhZHkgcmVwb3J0ZWQgdXBzdHJlYW0sIGF0dGFjaGVkIHRoaXMgcGF0Y2ggdGhlcmUKLWh0dHA6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTU5MzApCi0KLVJQCi0yMDEyLzA5LzIyCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWJhdG9taWMvTWFrZWZpbGUuYW0gfCAzICsrLQotIGxpYmF0b21pYy9NYWtlZmlsZS5pbiB8IDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuYW0gYi9saWJhdG9taWMvTWFrZWZpbGUuYW0KLWluZGV4IDgwM2IyOTJjY2U1Li5iNDc4NDJlYjU5MCAxMDA2NDQKLS0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5hbQotKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCi1AQCAtMTAxLDcgKzEwMSw4IEBAIFBBVF9TCQk9ICQod29yZCAzLCQoUEFUX1NQTElUKSkKLSBJRlVOQ19ERUYJPSAtRElGVU5DX0FMVD0kKFBBVF9TKQotIElGVU5DX09QVAk9ICQod29yZCAkKFBBVF9TKSwkKElGVU5DX09QVElPTlMpKQotIAotLU1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUwkJPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9GQUxTRUBNX0RFUFMJCT0KLSBNX1NJWkUJCT0gLUROPSQoUEFUX04pCi0gTV9JRlVOQwkJPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCi0gTV9GSUxFCQk9ICQoUEFUX0JBU0UpX24uYwotZGlmZiAtLWdpdCBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbiBiL2xpYmF0b21pYy9NYWtlZmlsZS5pbgotaW5kZXggYzhmMzhiZTU4MzUuLjRmYWI3Y2VjM2VhIDEwMDY0NAotLS0tIGEvbGliYXRvbWljL01ha2VmaWxlLmluCi0rKysgYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KLUBAIC0zMzUsNyArMzM1LDggQEAgUEFUX04gPSAkKHdvcmQgMiwkKFBBVF9TUExJVCkpCi0gUEFUX1MgPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCi0gSUZVTkNfREVGID0gLURJRlVOQ19BTFQ9JChQQVRfUykKLSBJRlVOQ19PUFQgPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKLS1NX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbwotK0BBTURFUF9UUlVFQE1fREVQUyA9IC1NVCAkQCAtTUQgLU1QIC1NRiAkKERFUERJUikvJChARikuUHBvCi0rQEFNREVQX0ZBTFNFQE1fREVQUyA9Ci0gTV9TSVpFID0gLUROPSQoUEFUX04pCi0gTV9JRlVOQyA9ICQoaWYgJChQQVRfUyksJChJRlVOQ19ERUYpICQoSUZVTkNfT1BUKSkKLSBNX0ZJTEUgPSAkKFBBVF9CQVNFKV9uLmMKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjUtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDhiMzViYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI1LURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGZkOTZjOWIzNWM1OTJmMWJkZDMyYmM1YWU2NjkxNTc0NzNlNDQwNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjUvMzldIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKLSAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKLQotaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGx0bWFpbi5zaCB8IDUgKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCi1pbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0Ci0tLS0gYS9sdG1haW4uc2gKLSsrKyBiL2x0bWFpbi5zaAotQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKLSAJICAgICAgZmkKLSAJICAgIGVsc2UKLSAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KLSsJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6Ci0gCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKLS0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgotKwotIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgotIAkJY2FzZSAkbGliZGlyIGluCi0gCQkgIFtcXC9dKikKLS0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgotKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCi0gCQkgICAgOzsKLSAJCWVzYWMKLSAJICAgICAgZmkKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjYtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDNhYjVhYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI2LVVzZS1TWVNURU1MSUJTX0RJUi1yZXBsYWNlbWVudC1pbnN0ZWFkLW9mLWhhcmRjb2RpbmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGMyZTQwMGFmZThjNTE0MzU3ODU5ZmNhODhhZjRkM2UxZmNiZmUyZmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxNToyNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDI2LzM5XSBVc2UgU1lTVEVNTElCU19ESVIgcmVwbGFjZW1lbnQgaW5zdGVhZCBvZiBoYXJkY29kaW5nCi0gYmFzZV9saWJkaXIKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLWluZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKLUBAIC0yMSw3ICsyMSw3IEBACi0gI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICi0gCi0tI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSsjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKLSAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjctYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllNWNlOGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyNy1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGEyY2MxNzU3NjlmZDgyNTU3NTBlYWVjYWU2NGUzZDFmOWMzOGQ0OGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyOCBBcHIgMjAxNSAyMzoxODozOSAtMDcwMAotU3ViamVjdDogW1BBVENIIDI3LzM5XSBhYXJjaDY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmggYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1pbmRleCA2NDQzNjE4M2JjOC4uYmExNTY2NzYwMjYgMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oCi1AQCAtMjQsNyArMjQsNyBAQAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKLSAKLSAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUgotLSNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1tdXNsLWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgotKyNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCi0gCi0gI3VuZGVmICBBU0FOX0NDMV9TUEVDCi0gI2RlZmluZSBBU0FOX0NDMV9TUEVDICIleyU6c2FuaXRpemUoYWRkcmVzcyk6LWZ1bndpbmQtdGFibGVzfSIKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMjgtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2NzNmNGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOC1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi1Gcm9tIGE4YThhMDI3ODhmZjk4ZjI1M2NlMGIzM2FkY2IwZTY2MWQyNGIxZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFN1biwgNSBKdWwgMjAxNSAyMDoyNToxOCAtMDcwMAotU3ViamVjdDogW1BBVENIIDI4LzM5XSBsaWJjYzE6IGZpeCBsaWJjYzEncyBpbnN0YWxsIHBhdGggYW5kIHJwYXRoCi0KLSogSW5zdGFsbCBsaWJjYzEuc28gYW5kIGxpYmNjMXBsdWdpbi5zbyBpbnRvCi0gICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbiksIGFzIHdoYXQgd2UKLSAgaGFkIGRvbmUgdG8gbHRvLXBsdWdpbi4KLSogRml4IGJhZCBSUEFUSCBpdXNzdWU6Ci0gIGdjYy01LjIuMDogcGFja2FnZSBnY2MtcGx1Z2lucyBjb250YWlucyBiYWQgUlBBVEggL3BhdGh0L3RvL3RtcC9zeXNyb290cy9xZW11eDg2LTY0L3Vzci9saWI2NC8uLi9saWI2NCBpbiBmaWxlCi0gL3BhdGgvdG8vZ2NjLzUuMi4wLXIwL3BhY2thZ2VzLXNwbGl0L2djYy1wbHVnaW5zL3Vzci9saWI2NC9nY2MveDg2XzY0LXBva3ktbGludXgvNS4yLjAvcGx1Z2luL2xpYmNjMXBsdWdpbi5zby4wLjAuMAotIFtycGF0aHNdCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UgY29uZmlndXJhdGlvbl0KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJjYzEvTWFrZWZpbGUuYW0gfCA0ICsrLS0KLSBsaWJjYzEvTWFrZWZpbGUuaW4gfCA0ICsrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5hbSBiL2xpYmNjMS9NYWtlZmlsZS5hbQotaW5kZXggNmVjYjY2YjQzNjUuLjYzNGNjZTNjMmE5IDEwMDY0NAotLS0tIGEvbGliY2MxL01ha2VmaWxlLmFtCi0rKysgYi9saWJjYzEvTWFrZWZpbGUuYW0KLUBAIC0zNyw4ICszNyw4IEBAIGxpYmliZXJ0eSA9ICQoaWYgJCh3aWxkY2FyZCAkKGxpYmliZXJ0eV9ub2FzYW4pKSwkKFdjKSQobGliaWJlcnR5X25vYXNhbiksIFwKLSAJICAgICQoV2MpJChsaWJpYmVydHlfbm9ybWFsKSkpCi0gbGliaWJlcnR5X2RlcCA9ICQocGF0c3Vic3QgJChXYyklLCUsJChsaWJpYmVydHkpKQotIAotLXBsdWdpbmRpciA9ICQobGliZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKS9wbHVnaW4KLS1jYzFsaWJkaXIgPSAkKGxpYmRpcikvJChsaWJzdWZmaXgpCi0rY2MxbGliZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKGdjY192ZXJzaW9uKQotK3BsdWdpbmRpciA9ICQoY2MxbGliZGlyKQotIAotIGlmIEVOQUJMRV9QTFVHSU4KLSBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCi1kaWZmIC0tZ2l0IGEvbGliY2MxL01ha2VmaWxlLmluIGIvbGliY2MxL01ha2VmaWxlLmluCi1pbmRleCA0N2JlMTAwMjVhZC4uOGQ1NDgxZDg3YmQgMTAwNjQ0Ci0tLS0gYS9saWJjYzEvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmNjMS9NYWtlZmlsZS5pbgotQEAgLTMwMyw4ICszMDMsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCi0gCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQotIAotIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKLS1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCi0tY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQotK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKLStwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKLSBARU5BQkxFX1BMVUdJTl9UUlVFQHBsdWdpbl9MVExJQlJBUklFUyA9IGxpYmNjMXBsdWdpbi5sYSBsaWJjcDFwbHVnaW4ubGEKLSBARU5BQkxFX1BMVUdJTl9UUlVFQGNjMWxpYl9MVExJQlJBUklFUyA9IGxpYmNjMS5sYQotIHNoYXJlZF9zb3VyY2UgPSBjYWxsYmFja3MuY2MgY2FsbGJhY2tzLmhoIGNvbm5lY3Rpb24uY2MgY29ubmVjdGlvbi5oaCBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDI5LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyN2JiMGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAyOS1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEzICswLDAgQEAKLUZyb20gM2JiNzQ0OTVlNDVlMGU3OThkYWFlNTU1NjQ5N2U2ODhiOGZjNGVlZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAyOS8zOV0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYwotCi1CZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcwotd2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCi1iaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KLQotU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKLW5hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCi1saWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCi1pbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKLWJhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KLQotSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKLQotYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKLSAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCi1iKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgotICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotUlAgMjAxNS83LzI4Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQotIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCi1pbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0Ci0tLS0gYS9nY2MvY3BwZGVmYXVsdC5jCi0rKysgYi9nY2MvY3BwZGVmYXVsdC5jCi1AQCAtMzUsNiArMzUsMzAgQEAKLSAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCi0gI2VuZGlmCi0gCi0rc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKLStzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOwotK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Ci0rc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOwotKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLStzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgotK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCi0rc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOwotKyNlbmRpZgotKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKLStzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOwotKyNlbmRpZgotKwotIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQotICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCi0gPSBJTkNMVURFX0RFRkFVTFRTOwotQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSA9IHsKLSAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLwotLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCi0rICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCi0tICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKLSAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCi0gICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KLS0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAotKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCi0gICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIEdDQ19JTkNMVURFX0RJUgotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCi0tICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAotKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAotICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLwotLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAotKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKLSAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KLS0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAotLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCi0rICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKLSsgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAotICNlbmRpZgotICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKLS0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKLSAjZW5kaWYKLSAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKLSAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCi0tICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAotKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKLSAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKLSAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KLSAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCi1AQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KLSAjZW5kaWYKLSAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKLSAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCi0tICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0rICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKLSAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLwotLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKLSsgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCi0gI2VuZGlmCi0gI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgotICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KLS0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAotLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCi0rICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKLSsgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAotICNlbmRpZgotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQotICAgfTsKLWRpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAotaW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAotLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAotKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAotQEAgLTMzLDcgKzMzLDggQEAKLSAKLSBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCi0gewotLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLwotKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KLSsKLSAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKLSAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KLSAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCi1pbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2NjLmMKLSsrKyBiL2djYy9nY2MuYwotQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7Ci0gI2VuZGlmCi0gc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOwotIAotK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7Ci0rCi0gLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLwotIAotIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7Ci1AQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KLSAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgotICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKLSAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KLSsgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKLSAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgotICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCi1AQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OwotICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQotICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0Ci0gICAgbG9jYXRpb24gaW5zdGVhZC4gICovCi0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Ci0tc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Ci0rc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIAotIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCi0gICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCi1AQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOwotIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKLSBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOwotLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKLStzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCi0gICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKLS1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCi0rc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQotICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7Ci0gCi0gLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKLUBAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQotIAkgICAgICB9Ci0gCSAgICBicmVhazsKLSAKLSsgICAgICAgICAgY2FzZSAncic6Ci0rICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAotKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rCi0gCSAgY2FzZSAnUyc6Ci0gCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOwotIAkgICAgaWYgKHZhbHVlICE9IDApCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMwLVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzNTY2ZGYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMC1TZWFyY2gtdGFyZ2V0LXN5c3Jvb3QtZ2NjLXZlcnNpb24tc3BlY2lmaWMtZGlycy13aXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gZjVjYzhjZDBjNDQwOTJkYzQ4NzEwNmFkZTI3ZTAxMWMxZjU4NGFkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDE6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMC8zOV0gU2VhcmNoIHRhcmdldCBzeXNyb290IGdjYyB2ZXJzaW9uIHNwZWNpZmljIGRpcnMgd2l0aAotIG11bHRpbGliLgotCi1XZSBpbnN0YWxsIHRoZSBnY2MgbGlicmFyaWVzIChzdWNoIGFzIGNydGJlZ2luLnApIGludG8KLTxzeXNyb290PjxsaWJkaXI+Lzx0YXJnZXQtc3lzPi81LjIuMC8KLXdoaWNoIGlzIGEgZGVmYXVsdCBzZWFyY2ggcGF0aCBmb3IgR0NDIChha2EgbXVsdGlfc3VmZml4IGluIHRoZQotY29kZSBiZWxvdykuIDx0YXJnZXQtc3lzPiBpcyAnbWFjaGluZScgaW4gZ2NjJ3MgdGVybWlub2xvZ3kuIFdlIHVzZQotdGhlc2UgZGlyZWN0b3JpZXMgc28gdGhhdCBtdWx0aXBsZSBnY2MgdmVyc2lvbnMgY291bGQgaW4gdGhlb3J5Ci1jby1leGlzdCBvbiB0YXJnZXQuCi0KLVdlIG9ubHkgd2FudCB0byBidWlsZCBvbmUgZ2NjLWNyb3NzLWNhbmFkaWFuIHBlciBhcmNoIGFuZCBoYXZlIHRoaXMgd29yawotZm9yIGFsbCBtdWx0aWxpYnMuIDx0YXJnZXQtc3lzPiBjYW4gYmUgaGFuZGxlZCBieSBtYXBwaW5nIHRoZSBtdWx0aWxpYgotPHRhcmdldC1zeXM+IHRvIHRoZSBvbmUgdXNlZCBieSBnY2MtY3Jvc3MtY2FuYWRpYW4sIGUuZy4KLW1pcHM2NC1wb2xrbWxsaWIzMi1saW51eAotaXMgc3ltbGlua2VkIHRvIGJ5IG1pcHM2NC1wb2t5LWxpbnV4LgotCi1UaGUgZGVmYXVsdCBnY2Mgc2VhcmNoIHBhdGggaW4gdGhlIHRhcmdldCBzeXNyb290IGZvciBhICJsaWI2NCIgbXV0bGlsaWIKLWlzOgotCi08c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCi08c3lzcm9vdD4vdXNyL2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC8KLTxzeXNyb290Pi9saWIzMi8KLTxzeXNyb290Pi91c3IvbGliMzIvCi0KLXdoaWNoIG1lYW5zIHRoYXQgdGhlIGxpYjMyIGNydGJlZ2luLm8gd2lsbCBiZSBmb3VuZCBhbmQgdGhlIGxpYjY0IG9uZXMKLXdpbGwgbm90IHdoaWNoIGxlYWRzIHRvIGNvbXBpbGVyIGZhaWx1cmVzLgotCi1UaGlzIHBhdGNoIGluamVjdHMgYSBtdWx0aWxpYiB2ZXJzaW9uIG9mIHRoYXQgcGF0aCBmaXJzdCBzbyB0aGUgbGliNjQKLWJpbmFyaWVzIGNhbiBiZSBmb3VuZCBmaXJzdC4gV2l0aCB0aGlzIGNoYW5nZSB0aGUgc2VhcmNoIHBhdGggYmVjb21lczoKLQotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyL21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLwotPHN5c3Jvb3Q+L2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8uLi9saWI2NC9taXBzNjQtcG9reS1saW51eC81LjIuMC8KLTxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCi08c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LwotPHN5c3Jvb3Q+L2xpYjMyLwotPHN5c3Jvb3Q+L3Vzci9saWIzMi8KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1SUCAyMDE1LzcvMzEKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9nY2MuYyB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYwotaW5kZXggY2QwYzdmYmU5NjEuLmY2ZjNhYTA3N2M4IDEwMDY0NAotLS0tIGEvZ2NjL2djYy5jCi0rKysgYi9nY2MvZ2NjLmMKLUBAIC0yNTI3LDcgKzI1MjcsNyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotICAgICAgIGlmIChwYXRoID09IE5VTEwpCi0gCXsKLSAJICBsZW4gPSBwYXRocy0+bWF4X2xlbiArIGV4dHJhX3NwYWNlICsgMTsKLS0JICBsZW4gKz0gTUFYIChNQVggKHN1ZmZpeF9sZW4sIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSsJICBsZW4gKz0gTUFYICgoc3VmZml4X2xlbiArIG11bHRpX29zX2Rpcl9sZW4pLCBtdWx0aWFyY2hfbGVuKTsKLSAJICBwYXRoID0gWE5FV1ZFQyAoY2hhciwgbGVuKTsKLSAJfQotIAotQEAgLTI1MzksNiArMjUzOSwzMyBAQCBmb3JfZWFjaF9wYXRoIChjb25zdCBzdHJ1Y3QgcGF0aF9wcmVmaXggKnBhdGhzLAotIAkgIC8qIExvb2sgZmlyc3QgaW4gTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeS4gICovCi0gCSAgaWYgKCFza2lwX211bHRpX2RpcikKLSAJICAgIHsKLSsJICAgICAgaWYgKCEocGwtPm9zX211bHRpbGliID8gc2tpcF9tdWx0aV9vc19kaXIgOiBza2lwX211bHRpX2RpcikpCi0rCSAgICAgICAgewotKwkgICAgICAgICAgY29uc3QgY2hhciAqdGhpc19tdWx0aTsKLSsJICAgICAgICAgIHNpemVfdCB0aGlzX211bHRpX2xlbjsKLSsKLSsJICAgICAgICAgIGlmIChwbC0+b3NfbXVsdGlsaWIpCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX29zX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfb3NfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCSAgICAgICAgICBlbHNlCi0rCQkgICAgewotKwkJICAgICAgdGhpc19tdWx0aSA9IG11bHRpX2RpcjsKLSsJCSAgICAgIHRoaXNfbXVsdGlfbGVuID0gbXVsdGlfZGlyX2xlbjsKLSsJCSAgICB9Ci0rCi0rCSAgICAgICAgICAvKiBMb29rIGluIG11bHRpbGliIE1BQ0hJTkUvVkVSU0lPTiBzdWJkaXJlY3RvcnkgZmlyc3QgKi8KLSsJICAgICAgICAgIGlmICh0aGlzX211bHRpX2xlbikKLSsJICAgICAgICAgICAgewotKwkJICAgICAgbWVtY3B5IChwYXRoICsgbGVuLCB0aGlzX211bHRpLCB0aGlzX211bHRpX2xlbiArIDEpOwotKwkgICAgICAgICAgICAgIG1lbWNweSAocGF0aCArIGxlbiArIHRoaXNfbXVsdGlfbGVuLCBtdWx0aV9zdWZmaXgsIHN1ZmZpeF9sZW4gKyAxKTsKLSsJICAgICAgICAgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0rCSAgICAgICAgICAgICAgICBpZiAocmV0KQotKwkJICAgICAgICAgIGJyZWFrOwotKwkgICAgICAgICAgICB9Ci0rCSAgICAgICAgfQotKwotIAkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOwotIAkgICAgICByZXQgPSBjYWxsYmFjayAocGF0aCwgY2FsbGJhY2tfaW5mbyk7Ci0gCSAgICAgIGlmIChyZXQpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGFiYzAwNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMxLUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM3ICswLDAgQEAKLUZyb20gOTNiNGUxZDNhMGY4NDE3MTE4ZDFjNDhmY2QxY2U1MTk5NmUxNDIwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6NDI6NDUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzMS8zOV0gRml4IHZhcmlvdXMgX0ZPUl9CVUlMRCBhbmQgcmVsYXRlZCB2YXJpYWJsZXMKLQotV2hlbiBkb2luZyBhIEZPUl9CVUlMRCB0aGluZywgeW91IGhhdmUgdG8gb3ZlcnJpZGUgQ0ZMQUdTIHdpdGgKLUNGTEFHU19GT1JfQlVJTEQuIEFuZCBpZiB5b3UgdXNlIEMrKywgeW91IGFsc28gaGF2ZSB0byBvdmVycmlkZQotQ1hYRkxBR1Mgd2l0aCBDWFhGTEFHU19GT1JfQlVJTEQuCi1XaXRob3V0IHRoaXMsIHdoZW4gYnVpbGRpbmcgZm9yIG1pbmd3LCB5b3UgZW5kIHVwIHRyeWluZyB0byB1c2UKLXRoZSBtaW5ndyBoZWFkZXJzIGZvciBhIGhvc3QgYnVpbGQuCi0KLVRoZSBzYW1lIGdvZXMgZm9yIG90aGVyIHZhcmlhYmxlcyBhcyB3ZWxsLCBzdWNoIGFzIENQUEZMQUdTLAotQ1BQLCBhbmQgR01QSU5DLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgU2VlYmFjaCA8cGV0ZXIuc2VlYmFjaEB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmluICAgICAgfCA2ICsrKysrKwotIE1ha2VmaWxlLnRwbCAgICAgfCA1ICsrKysrCi0gZ2NjL01ha2VmaWxlLmluICB8IDIgKy0KLSBnY2MvY29uZmlndXJlICAgIHwgMiArLQotIGdjYy9jb25maWd1cmUuYWMgfCAyICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggMWFmNDU1ODAwODYuLjg5NjY0NTNjMzJjIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuaW4KLSsrKyBiL01ha2VmaWxlLmluCi1AQCAtMTUyLDYgKzE1Miw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIjsgZXhwb3J0IENQUDsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0ZMQUdTOyBcCi0gCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1BQRkxBR1M7IFwKLSAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAotIAlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENYWEZMQUdTOyBcCi0gCUdGT1JUUkFOPSIkKEdGT1JUUkFOX0ZPUl9CVUlMRCkiOyBleHBvcnQgR0ZPUlRSQU47IFwKLUBAIC0xNjksNiArMTcwLDkgQEAgQlVJTERfRVhQT1JUUyA9IFwKLSAjIGJ1aWx0IGZvciB0aGUgYnVpbGQgc3lzdGVtIHRvIG92ZXJyaWRlIHRob3NlIGluIEJBU0VfRkxBR1NfVE9fUEFTUy4KLSBFWFRSQV9CVUlMRF9GTEFHUyA9IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSsJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiIFwKLSsJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSIgXAotIAlMREZMQUdTPSIkKExERkxBR1NfRk9SX0JVSUxEKSIKLSAKLSAjIFRoaXMgaXMgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gYnVpbHQgZm9yIHRoZSBob3N0IHN5c3RlbS4KLUBAIC0xODYsNiArMTkwLDcgQEAgSE9TVF9TVUJESVIgPSBAaG9zdF9zdWJkaXJACi0gSE9TVF9FWFBPUlRTID0gXAotIAkkKEJBU0VfRVhQT1JUUykgXAotIAlDQz0iJChDQykiOyBleHBvcnQgQ0M7IFwKLSsJQ1BQPSIkKENDKSAtRSI7IGV4cG9ydCBDUFA7IFwKLSAJQURBX0NGTEFHUz0iJChBREFfQ0ZMQUdTKSI7IGV4cG9ydCBBREFfQ0ZMQUdTOyBcCi0gCUNGTEFHUz0iJChDRkxBR1MpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotQEAgLTc1Myw2ICs3NTgsNyBAQCBCQVNFX0ZMQUdTX1RPX1BBU1MgPSBcCi0gCSJDQ19GT1JfQlVJTEQ9JChDQ19GT1JfQlVJTEQpIiBcCi0gCSJDRkxBR1NfRk9SX0JVSUxEPSQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJIkNYWF9GT1JfQlVJTEQ9JChDWFhfRk9SX0JVSUxEKSIgXAotKwkiQ1hYRkxBR1NfRk9SX0JVSUxEPSQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAotIAkiRVhQRUNUPSQoRVhQRUNUKSIgXAotIAkiRkxFWD0kKEZMRVgpIiBcCi0gCSJJTlNUQUxMPSQoSU5TVEFMTCkiIFwKLWRpZmYgLS1naXQgYS9NYWtlZmlsZS50cGwgYi9NYWtlZmlsZS50cGwKLWluZGV4IGFiZDJiYzJmYjg5Li41ODIyYjI2MDQwNCAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLnRwbAotKysrIGIvTWFrZWZpbGUudHBsCi1AQCAtMTU0LDYgKzE1NCw3IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKLSAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAotIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAotKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCi0gCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKLSAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAotIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCi1AQCAtMTcxLDYgKzE3Miw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCi0gIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCi0gRVhUUkFfQlVJTERfRkxBR1MgPSBcCi0gCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAotKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCi0rCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCi0rCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKLSAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCi0gCi0gIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCi1AQCAtMTg4LDYgKzE5Miw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAotIEhPU1RfRVhQT1JUUyA9IFwKLSAJJChCQVNFX0VYUE9SVFMpIFwKLSAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCi0rCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCi0gCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAotIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKLSAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKLWRpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KLWluZGV4IDVhZTY5M2ZiMDZjLi4wMmVlMGFhNzJmNCAxMDA2NDQKLS0tLSBhL2djYy9NYWtlZmlsZS5pbgotKysrIGIvZ2NjL01ha2VmaWxlLmluCi1AQCAtODAxLDcgKzgwMSw3IEBAIEJVSUxEX0xERkxBR1M9QEJVSUxEX0xERkxBR1NACi0gQlVJTERfTk9fUElFX0ZMQUcgPSBAQlVJTERfTk9fUElFX0ZMQUdACi0gQlVJTERfTERGTEFHUyArPSAkKEJVSUxEX05PX1BJRV9GTEFHKQotIEJVSUxEX0NQUEZMQUdTPSAtSS4gLUkkKEBEKSAtSSQoc3JjZGlyKSAtSSQoc3JjZGlyKS8kKEBEKSBcCi0tCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHUykKLSsJCS1JJChzcmNkaXIpLy4uL2luY2x1ZGUgQElOQ0lOVExAICQoQ1BQSU5DKSAkKENQUEZMQUdTX0ZPUl9CVUlMRCkKLSAKLSAjIEFjdHVhbCBuYW1lIHRvIHVzZSB3aGVuIGluc3RhbGxpbmcgYSBuYXRpdmUgY29tcGlsZXIuCi0gR0NDX0lOU1RBTExfTkFNRSA6PSAkKHNoZWxsIGVjaG8gZ2NjfHNlZCAnJChwcm9ncmFtX3RyYW5zZm9ybV9uYW1lKScpCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKLWluZGV4IGNmY2FkYzkzYTAxLi4yZjZiNGY3MmVmMyAxMDA3NTUKLS0tLSBhL2djYy9jb25maWd1cmUKLSsrKyBiL2djYy9jb25maWd1cmUKLUBAIC0xMTc5Nyw3ICsxMTc5Nyw3IEBAIGVsc2UKLSAJQ0M9IiR7Q0NfRk9SX0JVSUxEfSIgQ0ZMQUdTPSIke0NGTEFHU19GT1JfQlVJTER9IiBcCi0gCUNYWD0iJHtDWFhfRk9SX0JVSUxEfSIgQ1hYRkxBR1M9IiR7Q1hYRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlMRD0iJHtMRF9GT1JfQlVJTER9IiBMREZMQUdTPSIke0xERkxBR1NfRk9SX0JVSUxEfSIgXAotLQlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1N9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSsJR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTX0ZPUl9CVUlMRH0gLURHRU5FUkFUT1JfRklMRSIgXAotIAkke3JlYWxzcmNkaXJ9L2NvbmZpZ3VyZSBcCi0gCQktLWVuYWJsZS1sYW5ndWFnZXM9JHtlbmFibGVfbGFuZ3VhZ2VzLWFsbH0gXAotIAkJLS10YXJnZXQ9JHRhcmdldF9hbGlhcyAtLWhvc3Q9JGJ1aWxkX2FsaWFzIC0tYnVpbGQ9JGJ1aWxkX2FsaWFzCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKLWluZGV4IDQ0YjkwNDc4ZjU1Li45ZjhhNTFmYzliZCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWd1cmUuYWMKLSsrKyBiL2djYy9jb25maWd1cmUuYWMKLUBAIC0xNzA4LDcgKzE3MDgsNyBAQCBlbHNlCi0gCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAotIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKLSAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKLS0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCi0rCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKLSAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAotIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKLSAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcwotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzItbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZkZDlkNTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMi1uaW9zMi1EZWZpbmUtTVVTTF9EWU5BTUlDX0xJTktFUi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gOTlmM2UzYjQyNzk5NmFjNTc5ZDk1ZTY4NDQwYTBiZDdhZjdlZjBmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAzMi8zOV0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmVrIFZhc3V0IDxtYXJleEBkZW54LmRlPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAotaW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCi0rKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKLUBAIC0zMCw2ICszMCw3IEBACi0gI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgotIAotICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKLSsjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKLSAKLSAjdW5kZWYgTElOS19TUEVDCi0gI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDMzLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1YTZiMGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzMy1BZGQtc3NwX25vbnNoYXJlZC10by1saW5rLWNvbW1hbmRsaW5lLWZvci1tdXNsLXRhcmdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotRnJvbSA4NGI1NWFiMmY2ODcxMGE1ODNkNGVjODEwZWE4YjNiNjg1NzZmOGFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjcgSnVuIDIwMTcgMTg6MTA6NTQgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzMy8zOV0gQWRkIHNzcF9ub25zaGFyZWQgdG8gbGluayBjb21tYW5kbGluZSBmb3IgbXVzbCB0YXJnZXRzCi0KLXdoZW4gLWZzdGFjay1wcm90ZWN0b3Igb3B0aW9ucyBhcmUgZW5hYmxlZCB3ZSBuZWVkIHRvCi1saW5rIHdpdGggc3NwX3NoYXJlZCBvbiBtdXNsIHNpbmNlIGl0IGRvZXMgbm90IHByb3ZpZGUKLXRoZSBfX3N0YWNrX2Noa19mYWlsX2xvY2FsKCkgc28gZXNzZW50aWFsbHkgaXQgcHJvdmlkZXMKLWxpYnNzcCBidXQgbm90IGxpYnNzcF9ub25zaGFyZWQgc29tZXRoaW5nIGxpa2UKLVRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUF9CVVRfTk9UX1NTUF9OT05TSEFSRUQKLSB3aGVyZS1hcyBmb3IgZ2xpYmMgdGhlIG5lZWRlZCBzeW1ib2xzCi1hcmUgYWxyZWFkeSBwcmVzZW50IGluIGxpYmNfbm9uc2hhcmVkIGxpYnJhcnkgdGhlcmVmb3JlCi13ZSBkbyBub3QgbmVlZCBhbnkgbGlicmFyeSBoZWxwZXIgb24gZ2xpYmMgYmFzZWQgc3lzdGVtcwotYnV0IG11c2wgbmVlZHMgdGhlIGxpYnNzcF9ub3NoYXJlZCBmcm9tIGdjYwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICB8ICA3ICsrKysrKysKLSBnY2MvY29uZmlnL3JzNjAwMC9saW51eC5oICAgfCAxMCArKysrKysrKysrCi0gZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgMTAgKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCi1pbmRleCA0ODdiMGMwOTIzYi4uNDc2OWQwODk1MzggMTAwNjQ0Ci0tLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvbGludXguaAotQEAgLTE4Miw2ICsxODIsMTMgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCi0gICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMSwgMCwgMCB9LAkJXAotICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQkJCQlcCi0gICB9Ci0rI2lmZGVmIFRBUkdFVF9MSUJDX1BST1ZJREVTX1NTUAotKyN1bmRlZiBMSU5LX1NTUF9TUEVDCi0rI2RlZmluZSBMSU5LX1NTUF9TUEVDICIle2ZzdGFjay1wcm90ZWN0b3J8ZnN0YWNrLXByb3RlY3Rvci1hbGwiIFwKLSsJCSAgICAgICAifGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nfGZzdGFjay1wcm90ZWN0b3ItZXhwbGljaXQiIFwKLSsJCSAgICAgICAiOi1sc3NwX25vbnNoYXJlZH0iCi0rI2VuZGlmCi0rCi0gI2VuZGlmCi0gCi0gI2lmIChERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMpICYmIGRlZmluZWQgKFNJTkdMRV9MSUJDKSAvKiB1Q2xpbnV4ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLWluZGV4IDAxYjQwYzc2MmY2Li5lN2M1ZTkyMjE1YyAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4LmgKLUBAIC05Miw2ICs5MiwxNiBAQAotIAkJCQkJICIgLW0gZWxmMzJwcGNsaW51eCIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjdW5kZWYgTElOS19PU19MSU5VWF9TUEVDCi0gI2RlZmluZSBMSU5LX09TX0xJTlVYX1NQRUMgTElOS19PU19MSU5VWF9FTVVMICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKLWluZGV4IDU1Njk1ZGFkZDkxLi42MGYxZWUyNDk4NSAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAotKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCi1AQCAtNDczLDYgKzQ3MywxNiBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOwotIAkJCQkJICAgIiAtbSBlbGY2NHBwYyIpCi0gI2VuZGlmCi0gCi0rLyogbGluayBsaWJzc3Bfbm9uc2hhcmVkLmEgd2l0aCBtdXNsICovCi0rI2lmIERFRkFVTFRfTElCQyA9PSBMSUJDX01VU0wKLSsjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCi0rI3VuZGVmIExJTktfU1NQX1NQRUMKLSsjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAotKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAotKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKLSsjZW5kaWYKLSsjZW5kaWYKLSsKLSAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQzMyIExJTktfT1NfTElOVVhfRU1VTDMyICIgJXshc2hhcmVkOiAleyFzdGF0aWM6IFwKLSAgICV7IXN0YXRpYy1waWU6IFwKLSAgICAgJXtyZHluYW1pYzotZXhwb3J0LWR5bmFtaWN9IFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM0LWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTY5ZWEyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzQtbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjUgKzAsMCBAQAotRnJvbSBmYWYzNWUyNjc0MDQ2MWZlMWExZGE1NDMzZDVhMDE2OWE2NjNlM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjkgQXByIDIwMTYgMjA6MDM6MjggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNC8zOV0gbGliZ2NjOiBBZGQga25vYiB0byB1c2UgbGRibC0xMjggb24gcHBjCi0KLW11c2wgZG9lcyBub3Qgc3VwcG9ydCBsZGJsIDEyOCBzbyB3ZSBjYW4gbm90IGFzc3VtZQotdGhhdCBsaW51eCBhcyBhIHdob2xlIHN1cHBvcnRzIGxkYmwtMTI4IGJpdHMsIGluc3RlYWQKLWFjdCB1cG9uIGNvbmZpZ3VyZSBvcHRpb24gcGFzc2VkIHRvIGdjYyBhbmQgYXNzdW1lIG5vCi1vbiBtdXNsIGFuZCB5ZXMgb3RoZXJ3aXNlIGlmIG5vIG9wdGlvbiBpcyBwYXNzZWQgc2luY2UKLWRlZmF1bHQgYmVoYXZpb3VyIGlzIHRvIGFzc3VtZSBsZGJsMTI4IGl0IGRvZXMgbm90Ci1jaGFuZ2UgdGhlIGRlZmF1bHRzCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gbGliZ2NjL01ha2VmaWxlLmluICAgICAgICAgICB8ICAxICsKLSBsaWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IHwgIDUgKysrKy0KLSBsaWJnY2MvY29uZmlndXJlICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKysrKysrCi0gbGliZ2NjL2NvbmZpZ3VyZS5hYyAgICAgICAgICB8IDEyICsrKysrKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIG1vZGUgY2hhbmdlIDEwMDY0NCA9PiAxMDA3NTUgbGliZ2NjL2NvbmZpZ3VyZQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL01ha2VmaWxlLmluIGIvbGliZ2NjL01ha2VmaWxlLmluCi1pbmRleCBkZDhjZWU5OWZkMy4uYjVmNDc4YWYzODIgMTAwNjQ0Ci0tLS0gYS9saWJnY2MvTWFrZWZpbGUuaW4KLSsrKyBiL2xpYmdjYy9NYWtlZmlsZS5pbgotQEAgLTQ4LDYgKzQ4LDcgQEAgdW53aW5kX2hlYWRlciA9IEB1bndpbmRfaGVhZGVyQAotIG1kX3Vud2luZF9oZWFkZXIgPSBAbWRfdW53aW5kX2hlYWRlckAKLSBzZnBfbWFjaGluZV9oZWFkZXIgPSBAc2ZwX21hY2hpbmVfaGVhZGVyQAotIHRocmVhZF9oZWFkZXIgPSBAdGhyZWFkX2hlYWRlckAKLSt3aXRoX2xkYmwxMjggPSBAd2l0aF9sZGJsMTI4QAotIAotIGhvc3Rfbm9uY2Fub25pY2FsID0gQGhvc3Rfbm9uY2Fub25pY2FsQAotIHJlYWxfaG9zdF9ub25jYW5vbmljYWwgPSBAcmVhbF9ob3N0X25vbmNhbm9uaWNhbEAKLWRpZmYgLS1naXQgYS9saWJnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotaW5kZXggNGY2ZDRjNGE0ZDIuLmM1MGRkOTRhMmRhIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotKysrIGIvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eAotQEAgLTEsMyArMSw2IEBACi0gU0hMSUJfTUFQRklMRVMgKz0gJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvbGliZ2NjLWdsaWJjLnZlcgotIAotLUhPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjggLW1uby1taW5pbWFsLXRvYwotK2lmZXEgKCQod2l0aF9sZGJsMTI4KSx5ZXMpCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbWxvbmctZG91YmxlLTEyOAotK2VuZGlmCi0rSE9TVF9MSUJHQ0MyX0NGTEFHUyArPSAtbW5vLW1pbmltYWwtdG9jCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZSBiL2xpYmdjYy9jb25maWd1cmUKLW9sZCBtb2RlIDEwMDY0NAotbmV3IG1vZGUgMTAwNzU1Ci1pbmRleCBiMmYzZjg3MDg0NC4uZWQ4MDY1ODdjMTcKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUKLUBAIC02MTksNiArNjE5LDcgQEAgYnVpbGRfdmVuZG9yCi0gYnVpbGRfY3B1Ci0gYnVpbGQKLSB3aXRoX2FpeF9zb25hbWUKLSt3aXRoX2xkYmwxMjgKLSBlbmFibGVfdnRhYmxlX3ZlcmlmeQotIGVuYWJsZV9zaGFyZWQKLSBsaWJnY2NfdG9wZGlyCi1AQCAtNjY4LDYgKzY2OSw3IEBAIHdpdGhfY3Jvc3NfaG9zdAotIHdpdGhfbGQKLSBlbmFibGVfc2hhcmVkCi0gZW5hYmxlX3Z0YWJsZV92ZXJpZnkKLSt3aXRoX2xvbmdfZG91YmxlXzEyOAotIHdpdGhfYWl4X3NvbmFtZQotIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicwotIHdpdGhfc2xpYmRpcgotQEAgLTEzMjksNiArMTMzMSw3IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAgLS13aXRoLXRhcmdldC1zdWJkaXI9U1VCRElSICAgICAgQ29uZmlndXJpbmcgaW4gYSBzdWJkaXJlY3RvcnkgZm9yIHRhcmdldAotICAgLS13aXRoLWNyb3NzLWhvc3Q9SE9TVCAgICAgICAgICAgQ29uZmlndXJpbmcgd2l0aCBhIGNyb3NzIGNvbXBpbGVyCi0gICAtLXdpdGgtbGQgICAgICAgICAgICAgICBhcnJhbmdlIHRvIHVzZSB0aGUgc3BlY2lmaWVkIGxkIChmdWxsIHBhdGhuYW1lKQotKyAgLS13aXRoLWxvbmctZG91YmxlLTEyOCAgdXNlIDEyOC1iaXQgbG9uZyBkb3VibGUgYnkgZGVmYXVsdAotICAgLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlIG9uIEFJWAotQEAgLTIyMTMsNiArMjIxNiwyMSBAQCBmaQotIAotIAotIAotKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtbG9uZy1kb3VibGUtMTI4IHdhcyBnaXZlbi4KLStpZiB0ZXN0ICIke3dpdGhfbG9uZ19kb3VibGVfMTI4K3NldH0iID0gc2V0OyB0aGVuIDoKLSsgIHdpdGh2YWw9JHdpdGhfbG9uZ19kb3VibGVfMTI4OyB3aXRoX2xkYmwxMjg9IiR3aXRoX2xvbmdfZG91YmxlXzEyOCIKLStlbHNlCi0rICBjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLSsKLStmaQotKwotKwotKwotKwotICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYWl4LXNvbmFtZSB3YXMgZ2l2ZW4uCi0gaWYgdGVzdCAiJHt3aXRoX2FpeF9zb25hbWUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICAgd2l0aHZhbD0kd2l0aF9haXhfc29uYW1lOyBjYXNlICIke2hvc3R9OiR7ZW5hYmxlX3NoYXJlZH0iIGluCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZ3VyZS5hYyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLWluZGV4IGI1OWFhNzQ2YWZjLi40MjIyMGEyNjNjNSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWd1cmUuYWMKLSsrKyBiL2xpYmdjYy9jb25maWd1cmUuYWMKLUBAIC03OCw2ICs3OCwxOCBAQCBBQ19BUkdfRU5BQkxFKHZ0YWJsZS12ZXJpZnksCi0gW2VuYWJsZV92dGFibGVfdmVyaWZ5PW5vXSkKLSBBQ19TVUJTVChlbmFibGVfdnRhYmxlX3ZlcmlmeSkKLSAKLStBQ19BUkdfV0lUSChsb25nLWRvdWJsZS0xMjgsCi0rW0FTX0hFTFBfU1RSSU5HKFstLXdpdGgtbG9uZy1kb3VibGUtMTI4XSwKLSsgICAgW3VzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHRdKV0sCi0rICAgICAgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiLAotK1tjYXNlICIke2hvc3R9IiBpbgotKyBwb3dlciotKi1tdXNsKikKLSsgICB3aXRoX2xkYmwxMjg9Im5vIjs7Ci0rICopIHdpdGhfbGRibDEyOD0ieWVzIjs7Ci0rIGVzYWMKLStdKQotK0FDX1NVQlNUKHdpdGhfbGRibDEyOCkKLSsKLSBBQ19BUkdfV0lUSChhaXgtc29uYW1lLAotIFtBU19IRUxQX1NUUklORyhbLS13aXRoLWFpeC1zb25hbWU9YWl4fHN2cjR8Ym90aF0sCi0gICAgIFtzaGFyZWQgbGlicmFyeSB2ZXJzaW9uaW5nIChha2EgIlNPTkFNRSIpIHZhcmlhbnQgdG8gcHJvdmlkZSBvbiBBSVhdKV0sCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM1LUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTQxNmUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzUtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA3NzVjN2ZhZmNiZmViZWQyZDRiZDhhNmEwMTFmMThmNzBmM2I1OWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAotU3ViamVjdDogW1BBVENIIDM1LzM5XSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAotLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCi1AQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKLSAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCi0gCi0gU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAotLQkkKFNITElCX0xERkxBR1MpIFwKLSsJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKLSAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCi0gCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAotIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzYtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRlZjMzYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM2LWxpYmdjY19zLVVzZS1hbGlhcy1mb3ItX19jcHVfaW5kaWNhdG9yX2luaXQtaW5zdGVhZC0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1Gcm9tIGI3ZmFlZWQ2MDI2MWQ3Yjc1ZjJkYjM4MjM5MjZkZTE2NTBlZjY0YmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTemFib2xjcyBOYWd5IDxuc3pAcG9ydDcwLm5ldD4KLURhdGU6IFNhdCwgMjQgT2N0IDIwMTUgMjA6MDk6NTMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzNi8zOV0gbGliZ2NjX3M6IFVzZSBhbGlhcyBmb3IgX19jcHVfaW5kaWNhdG9yX2luaXQgaW5zdGVhZCBvZgotIHN5bXZlcgotCi1BZGFwdGVyIGZyb20KLQotaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKLQotVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKLXRoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKLWEgc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKLW5lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKLQotbGliZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KLQkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCi0KLQkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KLQotZ2NjL0NoYW5nZWxvZzoKLQotMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KLQotCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKLQljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQotIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQotIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotaW5kZXggNmEyMTQxZTQ4ZGIuLjQ1NWZjY2JkZDUwIDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwotQEAgLTM2NDkwLDEwICszNjQ5MCwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKLSAgICAgewotICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKLSAgICAgICB7Ci0tCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCi0rCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KLSAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKLSAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKLS0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7Ci0rCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOwotIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAotIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLWluZGV4IDg2OTUzZGIyNzQzLi5lMDQ3NjI3MjgxMCAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLSsrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKLUBAIC00ODIsNyArNDgyLDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0tI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKLS1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7Ci0tX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOwotKyNpZm5kZWYgU0hBUkVECi0raW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQotKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKLWluZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKLS0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4Ci0rKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAotQEAgLTMsNSArMyw1IEBACi0gIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAotIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKLSAKLS1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKLStIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCi0gQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM3LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOGE3ZjQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwMzctc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTEgKzAsMCBAQAotRnJvbSA2MDJhYmFhYjE1ZmZiNjBiZjE3OTcxODdhNzFiNDg1MDQyYzU2MzYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMyBGZWIgMjAxNyAxMjo1NjowMCAtMDgwMAotU3ViamVjdDogW1BBVENIIDM3LzM5XSBzeW5jIGdjYyBzdGRkZWYuaCB3aXRoIG11c2wKLQotbXVzbCBkZWZpbmVzIHB0cmRpZmZfdCBzaXplX3QgYW5kIHdjaGFyX3QKLXNvIGRvbnQgZGVmaW5lIHRoZW0gaGVyZSBpZiBtdXNsIGlzIGRlZmluaW5pbmcgdGhlbQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIGdjYy9naW5jbHVkZS9zdGRkZWYuaCB8IDkgKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCi1pbmRleCAzMWI5NmE3ZTVlMS4uNDM4YTNjZTdjNTYgMTAwNjQ0Ci0tLS0gYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKLSsrKyBiL2djYy9naW5jbHVkZS9zdGRkZWYuaAotQEAgLTEzNCw2ICsxMzQsNyBAQCBfVFlQRV93Y2hhcl90OwotICNpZm5kZWYgX19faW50X3B0cmRpZmZfdF9oCi0gI2lmbmRlZiBfR0NDX1BUUkRJRkZfVAotICNpZm5kZWYgX1BUUkRJRkZfVF9ERUNMQVJFRCAvKiBEcmFnb25GbHkgKi8KLSsjaWZuZGVmIF9fREVGSU5FRF9wdHJkaWZmX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX1BUUkRJRkZfVAotICNkZWZpbmUgX1RfUFRSRElGRl8KLSAjZGVmaW5lIF9UX1BUUkRJRkYKLUBAIC0xNDMsMTAgKzE0NCwxMiBAQCBfVFlQRV93Y2hhcl90OwotICNkZWZpbmUgX19faW50X3B0cmRpZmZfdF9oCi0gI2RlZmluZSBfR0NDX1BUUkRJRkZfVAotICNkZWZpbmUgX1BUUkRJRkZfVF9ERUNMQVJFRAotKyNkZWZpbmUgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCi0gI2lmbmRlZiBfX1BUUkRJRkZfVFlQRV9fCi0gI2RlZmluZSBfX1BUUkRJRkZfVFlQRV9fIGxvbmcgaW50Ci0gI2VuZGlmCi0gdHlwZWRlZiBfX1BUUkRJRkZfVFlQRV9fIHB0cmRpZmZfdDsKLSsjZW5kaWYgLyogX19ERUZJTkVEX3B0cmRpZmZfdCAqLwotICNlbmRpZiAvKiBfUFRSRElGRl9UX0RFQ0xBUkVEICovCi0gI2VuZGlmIC8qIF9HQ0NfUFRSRElGRl9UICovCi0gI2VuZGlmIC8qIF9fX2ludF9wdHJkaWZmX3RfaCAqLwotQEAgLTE4NCw2ICsxODcsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNpZm5kZWYgX0dDQ19TSVpFX1QKLSAjaWZuZGVmIF9TSVpFVF8KLSAjaWZuZGVmIF9fc2l6ZV90Ci0rI2lmbmRlZiBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KLSAjZGVmaW5lIF9fc2l6ZV90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19TSVpFX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLwotICNkZWZpbmUgX1NJWkVfVAotQEAgLTIwMCw2ICsyMDQsNyBAQCB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OwotICNkZWZpbmUgX19faW50X3NpemVfdF9oCi0gI2RlZmluZSBfR0NDX1NJWkVfVAotICNkZWZpbmUgX1NJWkVUXwotKyNkZWZpbmUgX19ERUZJTkVEX3NpemVfdCAvKiBtdXNsICovCi0gI2lmIChkZWZpbmVkIChfX0ZyZWVCU0RfXykgJiYgKF9fRnJlZUJTRF9fID49IDUpKSBcCi0gICB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIFwKLSAgIHx8IGRlZmluZWQoX19GcmVlQlNEX2tlcm5lbF9fKQotQEAgLTIzNSw2ICsyNDAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKLSAjZW5kaWYgLyogX1NJWkVfVCAqLwotICNlbmRpZiAvKiBfX1NJWkVfVF9fICovCi0gI2VuZGlmIC8qIF9fc2l6ZV90X18gKi8KLSsjZW5kaWYgLyogX19ERUZJTkVEX3NpemVfdCAqLwotICN1bmRlZglfX25lZWRfc2l6ZV90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfc2l6ZV90LiAgKi8KLSAKLUBAIC0yNjQsNiArMjcwLDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7Ci0gI2lmbmRlZiBfX19pbnRfd2NoYXJfdF9oCi0gI2lmbmRlZiBfX0lOVF9XQ0hBUl9UX0gKLSAjaWZuZGVmIF9HQ0NfV0NIQVJfVAotKyNpZm5kZWYgX19ERUZJTkVEX3djaGFyX3QgLyogbXVzbCAqLwotICNkZWZpbmUgX193Y2hhcl90X18JLyogQmVPUyAqLwotICNkZWZpbmUgX19XQ0hBUl9UX18JLyogQ3JheSBVbmljb3MvTWsgKi8KLSAjZGVmaW5lIF9XQ0hBUl9UCi1AQCAtMjc5LDYgKzI4Niw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OwotICNkZWZpbmUgX19JTlRfV0NIQVJfVF9ICi0gI2RlZmluZSBfR0NDX1dDSEFSX1QKLSAjZGVmaW5lIF9XQ0hBUl9UX0RFQ0xBUkVECi0rI2RlZmluZSBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCi0gCi0gLyogT24gQlNELzM4NiAxLjEsIGF0IGxlYXN0LCBtYWNoaW5lL2Fuc2kuaCBkZWZpbmVzIF9CU0RfV0NIQVJfVF8KLSAgICBpbnN0ZWFkIG9mIF9XQ0hBUl9UXywgYW5kIF9CU0RfUlVORV9UXyAod2hpY2gsIHVubGlrZSB0aGUgb3RoZXIKLUBAIC0zNDQsNiArMzUyLDcgQEAgdHlwZWRlZiBfX1dDSEFSX1RZUEVfXyB3Y2hhcl90OwotICNlbmRpZgotICNlbmRpZiAvKiBfX1dDSEFSX1RfXyAqLwotICNlbmRpZiAvKiBfX3djaGFyX3RfXyAqLwotKyNlbmRpZiAvKiBfX0RFRklORURfd2NoYXJfdCBtdXNsICovCi0gI3VuZGVmCV9fbmVlZF93Y2hhcl90Ci0gI2VuZGlmIC8qIF9TVERERUZfSCBvciBfX25lZWRfd2NoYXJfdC4gICovCi0gCi0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM4LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIyNGQyYWUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOC1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotRnJvbSAwMDY5NDg0OTYzMmRlZTIzNzQxOTI1YzYxMDRkZjEzNGY2YmZmNzQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KLURhdGU6IE1vbiwgMTkgTWFyIDIwMTggMjI6MzE6MjAgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCAzOC8zOV0gZml4IHNlZ21lbnRhdGlvbiBmYXVsdCBpbiBwcmVjb21waWxlZCBoZWFkZXIgZ2VuZXJhdGlvbgotCi1QcmV2ZW50IGEgc2VnbWVudGF0aW9uIGZhdWx0IHdoaWNoIG9jY3VycyB3aGVuIHVzaW5nIGluY29ycmVjdAotc3RydWN0dXJlIHRyeWluZyB0byBhY2Nlc3MgbmFtZSBvZiBzb21lIG5hbWVkIG9wZXJhdG9ycywgc3VjaCBhcwotQ1BQX05PVCwgQ1BQX0FORCBldGMuICJ0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmciIGNhbm5vdCBiZSB1c2VkIGluCi10aG9zZSBjYXNlcywgYXMgaXMgbWF5IG5vdCBiZSBpbml0aWFsaXplZCBhdCBhbGwuCi0KLVtZT0NUTyAjMTE3MzhdCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYmNwcC9sZXguYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJjcHAvbGV4LmMgYi9saWJjcHAvbGV4LmMKLWluZGV4IDM3YzM2NWEzNTYwLi42MzQ4MDA0OGRiNiAxMDA2NDQKLS0tLSBhL2xpYmNwcC9sZXguYwotKysrIGIvbGliY3BwL2xleC5jCi1AQCAtMzI3OSwxMSArMzI3OSwyNyBAQCBjcHBfc3BlbGxfdG9rZW4gKGNwcF9yZWFkZXIgKnBmaWxlLCBjb25zdCBjcHBfdG9rZW4gKnRva2VuLAotICAgICBzcGVsbF9pZGVudDoKLSAgICAgY2FzZSBTUEVMTF9JREVOVDoKLSAgICAgICBpZiAoZm9yc3RyaW5nKQotLQl7Ci0tCSAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLS0JCSAgTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZykpOwotLQkgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLS0JfQotKyAgICAgICAgewotKyAgICAgICAgICBpZiAodG9rZW4tPnR5cGUgPT0gQ1BQX05BTUUpCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgbWVtY3B5IChidWZmZXIsIE5PREVfTkFNRSAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSwKLSsgICAgICAgICAgICAgICAgICAgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKLSsgICAgICAgICAgICAgIGJ1ZmZlciArPSBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKTsKLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgLyogTkFNRURfT1AsIGNhbm5vdCB1c2Ugbm9kZS5zcGVsbGluZyAqLwotKyAgICAgICAgICBpZiAodG9rZW4tPmZsYWdzICYgTkFNRURfT1ApCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyID0gY3BwX25hbWVkX29wZXJhdG9yMm5hbWUgKHRva2VuLT50eXBlKTsKLSsgICAgICAgICAgICAgIGlmIChzdHIpCi0rICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKHN0cik7Ci0rICAgICAgICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgc3RyLCBsZW4pOwotKyAgICAgICAgICAgICAgICAgIGJ1ZmZlciArPSBsZW47Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSAgICAgICBlbHNlCi0gCWJ1ZmZlciA9IF9jcHBfc3BlbGxfaWRlbnRfdWNucyAoYnVmZmVyLCB0b2tlbi0+dmFsLm5vZGUubm9kZSk7Ci0gICAgICAgYnJlYWs7Ci0tLSAKLTIuMTcuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDM5LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNTE2MzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDAzOS1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjU4ICswLDAgQEAKLUZyb20gZDE1MWE2MmMyNTI3NDk2NDNjODUwYTA4ZDEzMzUzMjFlNWI3NWQ0MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggMzkvMzldIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKLQotMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgotCi0JKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0Ci0JIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KLQkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCi0JKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQotCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCi0JKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKLQotSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCi10byBjb21waWxlLgotCi1JZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KLQotVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KLVRoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKwotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCi0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQotIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KLSAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYwotaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLwotIAotIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKLWluZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIHN0cnVjdCB7Ci0gICAgIGludCB0el9taW51dGVzd2VzdDsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCi1pbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0gLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KLS0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCi0gCi0gZXh0ZXJuIHZvaWQgZm4yKCk7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCi1pbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYwotQEAgLTEsNiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIAotIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Ci0gc3RydWN0IHsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKLWluZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLwotLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KLSsvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1pbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KLSAKLSBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCi1pbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYwotQEAgLTEsNiArMSw3IEBACi0gLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCi0gICAgd2l0aG91dCBlcnJvci4gICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0rLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLwotIAotICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCi0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCi1pbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOwotIAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKLWluZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBydW4gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAKLSBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCi1pbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYwotQEAgLTEsNSArMSw1IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gc3RydWN0IEEKLSB7IAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKLWluZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYwotQEAgLTEsNiArMSw2IEBACi0gLyogUFIgdGFyZ2V0LzUzNDI1ICovCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KLSAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLwotIAotIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCi1pbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0Ci0tLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYwotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81MzQyNSAqLwotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KLSAKLSB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYwotaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLwotIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7Ci0gdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYwotaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKLUBAIC0xLDYgKzEsNiBAQAotIC8qIFBSIHRhcmdldC81OTY0NCAqLwotIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKLSAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYwotaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCi0rKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCi0gCi0gdm9pZCBmb28gKCkKLSB7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYwotaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAotLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCi1AQCAtMSw2ICsxLDYgQEAKLSAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLwotIAotIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLWluZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKLS0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKLUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCi0gI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKLSBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKLSAKLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDAtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhZmEwMTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjIvMDA0MC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDhmYjhmNzczZTExN2VlNzBiZTAwYmIwZGE1ZjM0M2ZlMTEwZGE1YzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCA2IEp1biAyMDE4IDEyOjEwOjIyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIFJlLWludHJvZHVjZSBzcGUgY29tbWFuZGxpbmUgb3B0aW9ucwotCi1UaGlzIHNob3VsZCBlbnN1cmUgdGhhdCB3ZSBrZWVwIGFjY2VwdGluZwotc3BlIG9wdGlvbnMKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtTUEUgcG9ydCBpcyByZW1vdmVkIGZyb20gcnM2MDAgcG9ydF0KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQgfCAxMiArKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLWluZGV4IGFjZThhNDc3NTUwLi5kNmE4ZjgyNWQ4OCAxMDA2NDQKLS0tLSBhL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLSsrKyBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5vcHQKLUBAIC0zNjUsNiArMzY1LDE4IEBAIG1kZWJ1Zz0KLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9pbmVkCi0gLW1kZWJ1Zz0JRW5hYmxlIGRlYnVnIG91dHB1dC4KLSAKLSttc3BlCi0rVGFyZ2V0IFZhcihyczYwMDBfc3BlKSBTYXZlCi0rR2VuZXJhdGUgU1BFIFNJTUQgaW5zdHJ1Y3Rpb25zIG9uIEU1MDAuCi0rCi0rbWFiaT1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpKSBTYXZlCi0rVXNlIHRoZSBTUEUgQUJJIGV4dGVuc2lvbnMuCi0rCi0rbWFiaT1uby1zcGUKLStUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9zcGVfYWJpLCAwKQotK0RvIG5vdCB1c2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KLSsKLSBtYWJpPWFsdGl2ZWMKLSBUYXJnZXQgUmVqZWN0TmVnYXRpdmUgVmFyKHJzNjAwMF9hbHRpdmVjX2FiaSkgU2F2ZQotIFVzZSB0aGUgQWx0aVZlYyBBQkkgZXh0ZW5zaW9ucy4KLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4yLzAwNDEtQVJDLWZpeC1zcGVjLWdlbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JkNWU0MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMi8wMDQxLUFSQy1maXgtc3BlYy1nZW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1Gcm9tIDg5MjE0MjM3OWM2Yjk5ZmU4YzNlYmRmZTBiNzllMmE0MzUyMjhjMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBjbGF6aXNzIDxjbGF6aXNzQDEzOGJjNzVkLTBkMDQtMDQxMC05NjFmLTgyZWU3MmIwNTRhND4KLURhdGU6IE1vbiwgMTcgU2VwIDIwMTggMDg6NTI6MTAgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gW0FSQ10gVXBkYXRlIExJTktfRUhfU1BFQyBsaW5rZXIgc3BlYy4KLQotV2l0aCBubyB0cmFpbGluZyBzcGFjZSBpbiBMSU5LX0VIX1NQRUMgbGlua2VyIHNwZWMgZ2V0cyBnZW5lcmF0ZWQgYXM6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+OC0tLS0tLS0tLS0tLS0tLS0tLS0tLQotJXshcjotLWJ1aWxkLWlkfSAtLWVoLWZyYW1lLWhkciV7aCp9IC4uLgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotb3IgZXZlbiB3b3JzZSBpZiBoYXNoIHN0eWxlIGlzIGFkZGVkOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPjgtLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSV7IXI6LS1idWlsZC1pZH0gLS1laC1mcmFtZS1oZHItLWhhc2gtc3R5bGU9c3lzdiAle2gqfSAuLi4KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLU5vdyBpZiB0aGF0IHNwZWMgaXMgcmVhbGx5IHVzZWQgYnkgTEQgdGhlbiBpdCBmYWlscyBpbmV2aXRhYmx5Ci1zYXlpbmcgdGhhdCBpdCBkb2Vzbid0IGtub3cgb3B0aW9uICItLWVoLWZyYW1lLWhkci0taGFzaC1zdHlsZT1zeXN2Ii4KLQotMjAxOC0wOS0xNyAgQWxleGV5IEJyb2RraW4gIDxhYnJvZGtpbkBzeW5vcHN5cy5jb20+Ci0KLQkqIGNvbmZpZy9hcmMvbGludXguaCAoTElOS19FSF9TUEVDKTogQWRkIG1pc3Npbmcgc3BhY2UuCi0KLWdpdC1zdm4taWQ6IHN2bitzc2g6Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL3RydW5rQDI2NDM2MSAxMzhiYzc1ZC0wZDA0LTA0MTAtOTYxZi04MmVlNzJiMDU0YTQKLQotU2lnbmVkLW9mZi1ieTogQWxleGV5IEJyb2RraW4gPGFicm9ka2luQHN5bm9wc3lzLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2djYy5nbnUub3JnL2dpdC8/cD1nY2MuZ2l0O2E9Y29tbWl0O2g9ODkyMTQyMzc5YzZiXQotLS0tCi0gZ2NjL2NvbmZpZy9hcmMvbGludXguaCB8IDIgKy0KLSAxIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaCBiL2djYy9jb25maWcvYXJjL2xpbnV4LmgKLWluZGV4IDk2ZDU0OGVhZTM0MS4uNjJlYmU0ZGUwZmM3IDEwMDY0NAotLS0tIGEvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotKysrIGIvZ2NjL2NvbmZpZy9hcmMvbGludXguaAotQEAgLTk4LDcgKzk4LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKLSAgICBTaWduYWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVkIGFsbCBDIHNoYXJlZCBsaWJzCi0gICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCi0gI3VuZGVmIExJTktfRUhfU1BFQwotLSNkZWZpbmUgTElOS19FSF9TUEVDICItLWVoLWZyYW1lLWhkciIKLSsjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1laC1mcmFtZS1oZHIgIgotICNlbmRpZgotIAotICN1bmRlZiBTVUJUQVJHRVRfQ1BQX1NQRUMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2JmMjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMuaW5jCkBAIC0wLDAgKzEsMTExIEBACityZXF1aXJlIGdjYy1jb21tb24uaW5jCisKKyMgVGhpcmQgZGlnaXQgaW4gUFYgc2hvdWxkIGJlIGluY3JlbWVudGVkIGFmdGVyIGEgbWlub3IgcmVsZWFzZQorCitQViA9ICI4LjMuMCIKKworIyBCSU5WIHNob3VsZCBiZSBpbmNyZW1lbnRlZCB0byBhIHJldmlzaW9uIGFmdGVyIGEgbWlub3IgZ2NjIHJlbGVhc2UKKworQklOViA9ICI4LjMuMCIKKworRklMRVNFWFRSQVBBVEhTID0uICIke0ZJTEVfRElSTkFNRX0vZ2NjLTguMzoiCisKK0RFUEVORFMgPSsgIm1wZnIgZ21wIGxpYm1wYyB6bGliIGZsZXgtbmF0aXZlIgorTkFUSVZFREVQUyA9ICJtcGZyLW5hdGl2ZSBnbXAtbmF0aXZlIGxpYm1wYy1uYXRpdmUgemxpYi1uYXRpdmUgZmxleC1uYXRpdmUiCisKK0xJQ0VOU0UgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24gJiBHUEx2MyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJcCisgICAgZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICBmaWxlOi8vQ09QWUlORzM7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKKyAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCisgICAgZmlsZTovL0NPUFlJTkcuUlVOVElNRTttZDU9ZmU2MGQ4NzA0ODU2N2Q0ZmU4YzhhMGVkMjQ0OGJjYzggXAorIgorCisjUkVMRUFTRSA9ICI4LjAuMS1SQy0yMDE4MDQyNyIKK0JBU0VVUkkgPz0gIiR7R05VX01JUlJPUn0vZ2NjL2djYy0ke1BWfS9nY2MtJHtQVn0udGFyLnh6IgorI1NSQ1JFViA9ICJmN2NmNzk4YjczZmQxYTA3MDk4ZjlhNDkwZGVlYzFlMmEzNmUwYmVkIgorI0JBU0VVUkkgPz0gImdpdDovL2dpdGh1Yi5jb20vZ2NjLW1pcnJvci9nY2M7YnJhbmNoPWdjYy02LWJyYW5jaDtwcm90b2NvbD1naXQiCisjQkFTRVVSSSA/PSAiaHR0cDovL21pcnJvcnMuY29uY2VydHBhc3MuY29tL2djYy9zbmFwc2hvdHMvJHtSRUxFQVNFfS9nY2MtJHtSRUxFQVNFfS50YXIueHoiCisKK1NSQ19VUkkgPSAiXAorICAgICAgICAgICAke0JBU0VVUkl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdjYy1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1nY2MtZGlzYWJsZS1NQVNLX1JFTEFYX1BJQ19DQUxMUy1iaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1DT0xMRUNUX0dDQ19PUFRJT05TLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWNwcC1ob25vci1zeXNyb290LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtTUlQUzY0LURlZmF1bHQtdG8tTjY0LUFCSS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNC1EaXNhYmxlLXNkdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE1LWxpYnRvb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTctVXNlLXRoZS1tdWx0aWxpYi1jb25maWctZmlsZXMtZnJvbS1CLWluc3RlYWQtb2YtdXNpbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOS1leHBvcnQtQ1BQLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjAtRGlzYWJsZS10aGUtTVVMVElMSUJfT1NESVJOQU1FUy1hbmQtb3RoZXItbXVsdGlsaWItby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjYtbGliY2MxLWZpeC1saWJjYzEtcy1pbnN0YWxsLXBhdGgtYW5kLXJwYXRoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjctaGFuZGxlLXN5c3Jvb3Qtc3VwcG9ydC1mb3ItbmF0aXZlc2RrLWdjYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyOS1GaXgtdmFyaW91cy1fRk9SX0JVSUxELWFuZC1yZWxhdGVkLXZhcmlhYmxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDMyLWxpYmdjYy1BZGQta25vYi10by11c2UtbGRibC0xMjgtb24tcHBjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzMtTGluay1saWJnY2MtdXNpbmctTERGTEFHUy1ub3QtanVzdC1TSExJQl9MREZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM2LWZpeC1zZWdtZW50YXRpb24tZmF1bHQtaW4tcHJlY29tcGlsZWQtaGVhZGVyLWdlbmVyYXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIFwKKyIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NWIyMTBiNGJmZTdlMDYwMDUxZjc5OWUwZjk5NDg5NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2NGJhYWRmZTZjYzBmNDk0N2E4NGNiMTJkN2YwZGZhZjQ1YmI1OGI3ZTkyNDYxNjM5NTk2YzIxZTAyZDk3ZDJjIgorCitTID0gIiR7VE1QRElSfS93b3JrLXNoYXJlZC9nY2MtJHtQVn0tJHtQUn0vZ2NjLSR7UFZ9IgorI1MgPSAiJHtUTVBESVJ9L3dvcmstc2hhcmVkL2djYy0ke1BWfS0ke1BSfS9naXQiCisjUyA9ICIke1RNUERJUn0vd29yay1zaGFyZWQvZ2NjLSR7UFZ9LSR7UFJ9L2djYy0ke1JFTEVBU0V9IgorQiA9ICIke1dPUktESVJ9L2djYy0ke1BWfS9idWlsZC4ke0hPU1RfU1lTfS4ke1RBUkdFVF9TWVN9IgorCisjIExhbmd1YWdlIE92ZXJyaWRlcworRk9SVFJBTiA9ICIiCitKQVZBID0gIiIKKworTFRPID0gIi0tZW5hYmxlLWx0byIKK1NTUCA/PSAiLS1kaXNhYmxlLWxpYnNzcCIKK1NTUF9taW5ndzMyID0gIi0tZW5hYmxlLWxpYnNzcCIKKworRVhUUkFfT0VDT05GX0JBU0UgPSAiXAorICAgICR7TFRPfSBcCisgICAgJHtTU1B9IFwKKyAgICAtLWVuYWJsZS1saWJpdG0gXAorICAgIC0tZGlzYWJsZS1ib290c3RyYXAgXAorICAgIC0tZGlzYWJsZS1saWJtdWRmbGFwIFwKKyAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAorICAgICR7QCctLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9JHtMSU5LRVJfSEFTSF9TVFlMRX0nIGlmICcke0xJTktFUl9IQVNIX1NUWUxFfScgZWxzZSAnJ30gXAorICAgIC0tZW5hYmxlLWxpbmtlci1idWlsZC1pZCBcCisgICAgLS13aXRoLXBwbD1ubyBcCisgICAgLS13aXRoLWNsb29nPW5vIFwKKyAgICAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIFwKKyAgICAtLWVuYWJsZS1jaGVhZGVycz1jX2dsb2JhbCBcCisgICAgLS13aXRob3V0LWlzbCBcCisiCisKK0VYVFJBX09FQ09ORl9QQVRIUyA9ICJcCisgICAgLS13aXRoLWd4eC1pbmNsdWRlLWRpcj0vbm90L2V4aXN0e3RhcmdldF9pbmNsdWRlZGlyfS9jKysvJHtCSU5WfSBcCisgICAgLS13aXRoLXN5c3Jvb3Q9L25vdC9leGlzdCBcCisgICAgLS13aXRoLWJ1aWxkLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9IFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDEtZ2NjLTQuMy4xLUFSQ0hfRkxBR1NfRk9SX1RBUkdFVC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWQ3OWU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMS1nY2MtNC4zLjEtQVJDSF9GTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZDdiMjg0YTliZWRlOWQ1MDU5YWQ3ZTk1YTg2NzI1NGJmOTEzYzYzOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjM3OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvNDBdIGdjYy00LjMuMTogQVJDSF9GTEFHU19GT1JfVEFSR0VUCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBjb25maWd1cmUgICAgfCAyICstCisgY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCitpbmRleCAwNjAxMzk1NTEyZi4uOGM1YjFlOWQ1NjEgMTAwNzU1CistLS0gYS9jb25maWd1cmUKKysrKyBiL2NvbmZpZ3VyZQorQEAgLTc1MDcsNyArNzUwNyw3IEBAIGZpCisgIyBmb3IgdGFyZ2V0X2FsaWFzIGFuZCBnY2MgZG9lc24ndCBtYW5hZ2UgaXQgY29uc2lzdGVudGx5LgorIHRhcmdldF9jb25maWdhcmdzPSItLWNhY2hlLWZpbGU9Li9jb25maWcuY2FjaGUgJHt0YXJnZXRfY29uZmlnYXJnc30iCisgCistRkxBR1NfRk9SX1RBUkdFVD0KKytGTEFHU19GT1JfVEFSR0VUPSIkQVJDSF9GTEFHU19GT1JfVEFSR0VUIgorIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2RpcnMgIiBpbgorICAqIiBuZXdsaWIgIiopCisgICBjYXNlICIgJHRhcmdldF9jb25maWdhcmdzICIgaW4KK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMzNDMzMzM2NTIzLi42OWMzMWM2NWFkNyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzA5Niw3ICszMDk2LDcgQEAgZmkKKyAjIGZvciB0YXJnZXRfYWxpYXMgYW5kIGdjYyBkb2Vzbid0IG1hbmFnZSBpdCBjb25zaXN0ZW50bHkuCisgdGFyZ2V0X2NvbmZpZ2FyZ3M9Ii0tY2FjaGUtZmlsZT0uL2NvbmZpZy5jYWNoZSAke3RhcmdldF9jb25maWdhcmdzfSIKKyAKKy1GTEFHU19GT1JfVEFSR0VUPQorK0ZMQUdTX0ZPUl9UQVJHRVQ9IiRBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQiCisgY2FzZSAiICR0YXJnZXRfY29uZmlnZGlycyAiIGluCisgICoiIG5ld2xpYiAiKikKKyAgIGNhc2UgIiAkdGFyZ2V0X2NvbmZpZ2FyZ3MgIiBpbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwMi1nY2MtcG9pc29uLXN5c3RlbS1kaXJlY3Rvcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdmZjEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDItZ2NjLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMucGF0Y2gKQEAgLTAsMCArMSwyMDMgQEAKK0Zyb20gOTVlYzQ3NmRkNzcyNmNjOWMxYmZkNmZiMjNiYTNhZWE4YmJmNjFhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA4OjU5OjAwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDIvNDBdIGdjYzogcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworCitBZGQgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBiYXNlZCBvbiB0aGUgb3JpZ2luYWwKK3plY2tlLW5vLWhvc3QtaW5jbHVkZXMucGF0Y2ggcGF0Y2guICBUaGUgb3JpZ2luYWwgcGF0Y2ggY2hlY2tlZCBmb3IKKy91c3IvaW5jbHVkZSwgL3N3L2luY2x1ZGUgYW5kIC9vcHQvaW5jbHVkZSBhbmQgdGhlbiB0cmlnZ2VyZWQgYSBmYWlsdXJlIGFuZAorYWJvcnRlZC4KKworSW5zdGVhZCwgd2UgYWRkIHRoZSB0d28gbWlzc2luZyBpdGVtcyB0byB0aGUgY3VycmVudCBzY2FuLiAgSWYgdGhlIHVzZXIKK3dhbnRzIHRoaXMgdG8gYmUgYSBmYWlsdXJlLCB0aGV5IGNhbiBhZGQgIi1XZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcyIuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbW1vbi5vcHQgICAgICB8ICA0ICsrKysKKyBnY2MvY29uZmlnLmluICAgICAgIHwgIDYgKysrKysrCisgZ2NjL2NvbmZpZ3VyZSAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKKyBnY2MvY29uZmlndXJlLmFjICAgIHwgMTAgKysrKysrKysrKworIGdjYy9kb2MvaW52b2tlLnRleGkgfCAgOSArKysrKysrKysKKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDIgKysKKyBnY2MvaW5jcGF0aC5jICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCisgNyBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29tbW9uLm9wdCBiL2djYy9jb21tb24ub3B0CitpbmRleCBiNTJlZjBiMzhjOC4uMGRlM2YwOTI0Y2QgMTAwNjQ0CistLS0gYS9nY2MvY29tbW9uLm9wdAorKysrIGIvZ2NjL2NvbW1vbi5vcHQKK0BAIC02NzksNiArNjc5LDEwIEBAIFdyZXR1cm4tbG9jYWwtYWRkcgorIENvbW1vbiBWYXIod2Fybl9yZXR1cm5fbG9jYWxfYWRkcikgSW5pdCgxKSBXYXJuaW5nCisgV2FybiBhYm91dCByZXR1cm5pbmcgYSBwb2ludGVyL3JlZmVyZW5jZSB0byBhIGxvY2FsIG9yIHRlbXBvcmFyeSB2YXJpYWJsZS4KKyAKKytXcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0NvbW1vbiBWYXIoZmxhZ19wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzKSBJbml0KDEpIFdhcm5pbmcKKytXYXJuIGZvciAtSSBhbmQgLUwgb3B0aW9ucyB1c2luZyBzeXN0ZW0gZGlyZWN0b3JpZXMgaWYgY3Jvc3MgY29tcGlsaW5nCisrCisgV3NoYWRvdworIENvbW1vbiBWYXIod2Fybl9zaGFkb3cpIFdhcm5pbmcKKyBXYXJuIHdoZW4gb25lIHZhcmlhYmxlIHNoYWRvd3MgYW5vdGhlci4gIFNhbWUgYXMgLVdzaGFkb3c9Z2xvYmFsLgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcuaW4gYi9nY2MvY29uZmlnLmluCitpbmRleCA1YmNjYjQwODAxNi4uMWM3ODRhODI3NmIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmluCisrKysgYi9nY2MvY29uZmlnLmluCitAQCAtMTk0LDYgKzE5NCwxMiBAQAorICNlbmRpZgorIAorIAorKy8qIERlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMgKi8KKysjaWZuZGVmIFVTRURfRk9SX1RBUkdFVAorKyN1bmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyNlbmRpZgorKworKworIC8qIERlZmluZSBpZiB5b3Ugd2FudCBhbGwgb3BlcmF0aW9ucyBvbiBSVEwgKHRoZSBiYXNpYyBkYXRhIHN0cnVjdHVyZSBvZiB0aGUKKyAgICBvcHRpbWl6ZXIgYW5kIGJhY2sgZW5kKSB0byBiZSBjaGVja2VkIGZvciBkeW5hbWljIHR5cGUgc2FmZXR5IGF0IHJ1bnRpbWUuCisgICAgVGhpcyBpcyBxdWl0ZSBleHBlbnNpdmUuICovCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDYxMjFlMTYzMjU5Li4zOTAxNzIyNDAwYyAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC05NTMsNiArOTUzLDcgQEAgd2l0aF9zeXN0ZW1femxpYgorIGVuYWJsZV9tYWludGFpbmVyX21vZGUKKyBlbmFibGVfbGlua19tdXRleAorIGVuYWJsZV92ZXJzaW9uX3NwZWNpZmljX3J1bnRpbWVfbGlicworK2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzCisgZW5hYmxlX3BsdWdpbgorIGVuYWJsZV9ob3N0X3NoYXJlZAorIGVuYWJsZV9saWJxdWFkbWF0aF9zdXBwb3J0CitAQCAtMTY5Niw2ICsxNjk3LDggQEAgT3B0aW9uYWwgRmVhdHVyZXM6CisgICAtLWVuYWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicworICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSB0aGF0IHJ1bnRpbWUgbGlicmFyaWVzIHNob3VsZCBiZSBpbnN0YWxsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGEgY29tcGlsZXItc3BlY2lmaWMgZGlyZWN0b3J5CisrICAtLWVuYWJsZS1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXMKKyAgIC0tZW5hYmxlLXBsdWdpbiAgICAgICAgIGVuYWJsZSBwbHVnaW4gc3VwcG9ydAorICAgLS1lbmFibGUtaG9zdC1zaGFyZWQgICAgYnVpbGQgaG9zdCBjb2RlIGFzIHNoYXJlZCBsaWJyYXJpZXMKKyAgIC0tZGlzYWJsZS1saWJxdWFkbWF0aC1zdXBwb3J0CitAQCAtMjk3MDEsNiArMjk3MDQsMTkgQEAgaWYgdGVzdCAiJHtlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorIGZpCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXMrc2V0fSIgPSBzZXQ7IHRoZW4gOgorKyAgZW5hYmxldmFsPSRlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllczsKKytlbHNlCisrICBlbmFibGVfcG9pc29uX3N5c3RlbV9kaXJlY3Rvcmllcz1ubworK2ZpCisrCisraWYgdGVzdCAieCR7ZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXN9IiA9ICJ4eWVzIjsgdGhlbgorKworKyRhc19lY2hvICIjZGVmaW5lIEVOQUJMRV9QT0lTT05fU1lTVEVNX0RJUkVDVE9SSUVTIDEiID4+Y29uZmRlZnMuaAorKworK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgCisgCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IGIwNjZjYzYwOWUxLi4xYjEzNjJmNzBmZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC02MzI3LDYgKzYzMjcsMTYgQEAgQUNfQVJHX0VOQUJMRSh2ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicywKKyAgICAgICAgICAgICAgICAgW3NwZWNpZnkgdGhhdCBydW50aW1lIGxpYnJhcmllcyBzaG91bGQgYmUKKyAgICAgICAgICAgICAgICAgIGluc3RhbGxlZCBpbiBhIGNvbXBpbGVyLXNwZWNpZmljIGRpcmVjdG9yeV0pXSkKKyAKKytBQ19BUkdfRU5BQkxFKFtwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXSwKKysgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXNdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBbd2FybiBmb3IgdXNlIG9mIG5hdGl2ZSBzeXN0ZW0gaGVhZGVyIGRpcmVjdG9yaWVzXSksLAorKyAgICAgICAgICAgICBbZW5hYmxlX3BvaXNvbl9zeXN0ZW1fZGlyZWN0b3JpZXM9bm9dKQorK2lmIHRlc3QgIngke2VuYWJsZV9wb2lzb25fc3lzdGVtX2RpcmVjdG9yaWVzfSIgPSAieHllcyI7IHRoZW4KKysgIEFDX0RFRklORShbRU5BQkxFX1BPSVNPTl9TWVNURU1fRElSRUNUT1JJRVNdLAorKyAgICAgICAgICAgWzFdLAorKyAgICAgICAgICAgW0RlZmluZSB0byB3YXJuIGZvciB1c2Ugb2YgbmF0aXZlIHN5c3RlbSBoZWFkZXIgZGlyZWN0b3JpZXNdKQorK2ZpCisrCisgIyBTdWJzdGl0dXRlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzCisgQUNfU1VCU1Qoc3ViZGlycykKKyBBQ19TVUJTVChzcmNkaXIpCitkaWZmIC0tZ2l0IGEvZ2NjL2RvYy9pbnZva2UudGV4aSBiL2djYy9kb2MvaW52b2tlLnRleGkKK2luZGV4IGU1YzRlODEyNWFhLi5mYjIyODYzMWE0MiAxMDA2NDQKKy0tLSBhL2djYy9kb2MvaW52b2tlLnRleGkKKysrKyBiL2djYy9kb2MvaW52b2tlLnRleGkKK0BAIC0zMDQsNiArMzA0LDcgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVjdHN9LgorIC1XcGFja2VkICAtV3BhY2tlZC1iaXRmaWVsZC1jb21wYXQgLVdwYWNrZWQtbm90LWFsaWduZWQgLVdwYWRkZWQgQGdvbAorIC1XcGFyZW50aGVzZXMgIC1Xbm8tcGVkYW50aWMtbXMtZm9ybWF0IEBnb2wKKyAtV3BsYWNlbWVudC1uZXcgIC1XcGxhY2VtZW50LW5ldz1AdmFye259IEBnb2wKKystV25vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXMgQGdvbAorIC1XcG9pbnRlci1hcml0aCAgLVdwb2ludGVyLWNvbXBhcmUgIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCBAZ29sCisgLVduby1wcmFnbWFzICAtV3JlZHVuZGFudC1kZWNscyAgLVdyZXN0cmljdCAgLVduby1yZXR1cm4tbG9jYWwtYWRkciBAZ29sCisgLVdyZXR1cm4tdHlwZSAgLVdzZXF1ZW5jZS1wb2ludCAgLVdzaGFkb3cgIC1Xbm8tc2hhZG93LWl2YXIgQGdvbAorQEAgLTU3NDMsNiArNTc0NCwxNCBAQCBtYWRlIHVwIG9mIGRhdGEgb25seSBhbmQgdGh1cyByZXF1aXJlcyBubyBzcGVjaWFsIHRyZWF0bWVudC4gIEJ1dCwgZm9yCisgbW9zdCB0YXJnZXRzLCBpdCBpcyBtYWRlIHVwIG9mIGNvZGUgYW5kIHRodXMgcmVxdWlyZXMgdGhlIHN0YWNrIHRvIGJlCisgbWFkZSBleGVjdXRhYmxlIGluIG9yZGVyIGZvciB0aGUgcHJvZ3JhbSB0byB3b3JrIHByb3Blcmx5LgorIAorK0BpdGVtIC1Xbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllcworK0BvcGluZGV4IFduby1wb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzCisrRG8gbm90IHdhcm4gZm9yIEBvcHRpb257LUl9IG9yIEBvcHRpb257LUx9IG9wdGlvbnMgdXNpbmcgc3lzdGVtCisrZGlyZWN0b3JpZXMgc3VjaCBhcyBAZmlsZXsvdXNyL2luY2x1ZGV9IHdoZW4gY3Jvc3MgY29tcGlsaW5nLiAgVGhpcworK29wdGlvbiBpcyBpbnRlbmRlZCBmb3IgdXNlIGluIGNocm9vdCBlbnZpcm9ubWVudHMgd2hlbiBzdWNoCisrZGlyZWN0b3JpZXMgY29udGFpbiB0aGUgY29ycmVjdCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMgZm9yIHRoZSB0YXJnZXQKKytzeXN0ZW0gcmF0aGVyIHRoYW4gdGhlIGhvc3QuCisrCisgQGl0ZW0gLVdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFdmbG9hdC1lcXVhbAorIEBvcGluZGV4IFduby1mbG9hdC1lcXVhbAorZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggYTcxNmY3MDgyNTkuLjAyYjNjZDM5ZmMyIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xMDM3LDYgKzEwMzcsOCBAQCBwcm9wZXIgcG9zaXRpb24gYW1vbmcgdGhlIG90aGVyIG91dHB1dCBmaWxlcy4gICovCisgICAgIiV7ZnVzZS1sZD0qOi1mdXNlLWxkPSUqfSAiIExJTktfQ09NUFJFU1NfREVCVUdfU1BFQyBcCisgICAgIiVYICV7byp9ICV7ZSp9ICV7Tn0gJXtufSAle3J9XAorICAgICAle3N9ICV7dH0gJXt1Kn0gJXt6fSAle1p9ICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolU319IFwKKysgICAgJXtXbm8tcG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLW5vLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKysgICAgJXtXZXJyb3I9cG9pc29uLXN5c3RlbS1kaXJlY3RvcmllczotLWVycm9yLXBvaXNvbi1zeXN0ZW0tZGlyZWN0b3JpZXN9IFwKKyAgICAgJXtzdGF0aWN8bm8tcGllfHN0YXRpYy1waWU6fSAle0wqfSAlKG1md3JhcCkgJShsaW5rX2xpYmdjYykgIiBcCisgICAgIFZUQUJMRV9WRVJJRklDQVRJT05fU1BFQyAiICIgU0FOSVRJWkVSX0VBUkxZX1NQRUMgIiAlbyAiIENIS1BfU1BFQyAiIFwKKyAgICAgJXtmb3BlbmFjY3xmb3Blbm1wfCU6Z3QoJXtmdHJlZS1wYXJhbGxlbGl6ZS1sb29wcz0qOiUqfSAxKTpcCitkaWZmIC0tZ2l0IGEvZ2NjL2luY3BhdGguYyBiL2djYy9pbmNwYXRoLmMKK2luZGV4IGIxMWM2YTU3OTM5Li45YTQ1N2UwMmRkMyAxMDA2NDQKKy0tLSBhL2djYy9pbmNwYXRoLmMKKysrKyBiL2djYy9pbmNwYXRoLmMKK0BAIC0yNiw2ICsyNiw3IEBACisgI2luY2x1ZGUgImludGwuaCIKKyAjaW5jbHVkZSAiaW5jcGF0aC5oIgorICNpbmNsdWRlICJjcHBkZWZhdWx0LmgiCisrI2luY2x1ZGUgImRpYWdub3N0aWMtY29yZS5oIgorIAorIC8qIE1pY3Jvc29mdCBXaW5kb3dzIGRvZXMgbm90IG5hdGl2ZWx5IHN1cHBvcnQgaW5vZGVzLgorICAgIFZNUyBoYXMgbm9uLW51bWVyaWMgaW5vZGVzLiAgKi8KK0BAIC0zOTMsNiArMzk0LDI2IEBAIG1lcmdlX2luY2x1ZGVfY2hhaW5zIChjb25zdCBjaGFyICpzeXNyb290LCBjcHBfcmVhZGVyICpwZmlsZSwgaW50IHZlcmJvc2UpCisgCX0KKyAgICAgICBmcHJpbnRmIChzdGRlcnIsIF8oIkVuZCBvZiBzZWFyY2ggbGlzdC5cbiIpKTsKKyAgICAgfQorKworKyNpZmRlZiBFTkFCTEVfUE9JU09OX1NZU1RFTV9ESVJFQ1RPUklFUworKyAgaWYgKGZsYWdfcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcykKKysgICAgeworKyAgICAgICBzdHJ1Y3QgY3BwX2RpciAqcDsKKysKKysgICAgICAgZm9yIChwID0gaGVhZHNbSU5DX1FVT1RFXTsgcDsgcCA9IHAtPm5leHQpCisrICAgICAgICAgeworKyAgICAgICAgICBpZiAoKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9pbmNsdWRlIiwgMTIpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9sb2NhbC9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3Vzci9YMTFSNi9pbmNsdWRlIiwgMTgpKQorKyAgICAgICAgICAgICAgfHwgKCFzdHJuY21wIChwLT5uYW1lLCAiL3N3L2luY2x1ZGUiLCAxMSkpCisrICAgICAgICAgICAgICB8fCAoIXN0cm5jbXAgKHAtPm5hbWUsICIvb3B0L2luY2x1ZGUiLCAxMikpKQorKyAgICAgICAgICAgIHdhcm5pbmcgKE9QVF9XcG9pc29uX3N5c3RlbV9kaXJlY3RvcmllcywKKysgICAgICAgICAgICAgICAgICAgICAiaW5jbHVkZSBsb2NhdGlvbiBcIiVzXCIgaXMgdW5zYWZlIGZvciAiCisrICAgICAgICAgICAgICAgICAgICAgImNyb3NzLWNvbXBpbGF0aW9uIiwKKysgICAgICAgICAgICAgICAgICAgICBwLT5uYW1lKTsKKysgICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKyB9CisgCisgLyogVXNlIGdpdmVuIC1JIHBhdGhzIGZvciAjaW5jbHVkZSAiLi4uIiBidXQgbm90ICNpbmNsdWRlIDwuLi4+LCBhbmQKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDMtZ2NjLTQuMy4zLVNZU1JPT1RfQ0ZMQUdTX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MmRlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDAzLWdjYy00LjMuMy1TWVNST09UX0NGTEFHU19GT1JfVEFSR0VULnBhdGNoCkBAIC0wLDAgKzEsNzMgQEAKK0Zyb20gNjY0MGQ3ZTM5YjEzZDFlZjI2ZDI0OTE1M2FiMTVkNTEwZmRhMzU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjA4OjMxICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDMvNDBdIGdjYy00LjMuMzogU1lTUk9PVF9DRkxBR1NfRk9SX1RBUkdFVAorCitCZWZvcmUgY29tbWl0dGluZywgSSBub3RpY2VkIHRoYXQgUFIvMzIxNjEgd2FzIG1hcmtlZCBhcyBhIGR1cCBvZiBQUi8zMjAwOSwgYnV0IG15IHByZXZpb3VzIHBhdGNoIGRpZCBub3QgZml4IGl0LgorCitUaGlzIGFsdGVybmF0aXZlIHBhdGNoIGlzIGJldHRlciBiZWNhdXNlIGl0IGxldHMgeW91IGp1c3QgdXNlIENGTEFHU19GT1JfVEFSR0VUIHRvIHNldCB0aGUgY29tcGlsYXRpb24gZmxhZ3MgZm9yIGxpYmdjYy4gU2luY2UgYm9vdHN0cmFwcGVkIHRhcmdldCBsaWJyYXJpZXMgYXJlIG5ldmVyIGNvbXBpbGVkIHdpdGggdGhlIG5hdGl2ZSBjb21waWxlciwgaXQgbWFrZXMgbGl0dGxlIHNlbnNlIHRvIHVzZSBkaWZmZXJlbnQgZmxhZ3MgZm9yIHN0YWdlMSBhbmQgbGF0ZXIgc3RhZ2VzLiBBbmQgaXQgYWxzbyBtYWtlcyBsaXR0bGUgc2Vuc2UgdG8gdXNlIGEgZGlmZmVyZW50IHZhcmlhYmxlIHRoYW4gQ0ZMQUdTX0ZPUl9UQVJHRVQuCisKK090aGVyIGNoYW5nZXMgSSBoYWQgdG8gZG8gaW5jbHVkZToKKworLSBtb3ZpbmcgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgQ0ZMQUdTX0ZPUl9UQVJHRVQgZnJvbSBNYWtlZmlsZS5hbSB0byBjb25maWd1cmUuYWMsIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBCT09UX0NGTEFHUyBhcmUgc3Vic3RpdHV0ZWQgaW50byBDRkxBR1NfRk9SX1RBUkdFVCAod2hpY2ggaXMgIi1PMiAtZyAkKENGTEFHUykiKSB2aWEgJChDRkxBR1MpLiBJdCBpcyBhbHNvIGNsZWFuZXIgdGhpcyB3YXkgdGhvdWdoLgorCistIHBhc3NpbmcgdGhlIHJpZ2h0IENGTEFHUyB0byBjb25maWd1cmUgc2NyaXB0cyBhcyBleHBvcnRlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKworSSBhbHNvIHN0b3BwZWQgcGFzc2luZyBMSUJDRkxBR1MgdG8gY29uZmlndXJlIHNjcmlwdHMgc2luY2UgdGhleSBhcmUgdW51c2VkIGluIHRoZSB3aG9sZSBzcmMgdHJlZS4gQW5kIEkgdXBkYXRlZCB0aGUgZG9jdW1lbnRhdGlvbiBhcyBILVAgcmVtaW5kZWQgbWUgdG8gZG8uCisKK0Jvb3RzdHJhcHBlZC9yZWd0ZXN0ZWQgaTY4Ni1wYy1saW51eC1nbnUsIHdpbGwgY29tbWl0IHRvIDQuNCBzaG9ydGx5LiBPayBmb3IgNC4zPworCitTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pICA8Ym9uemluaUBnbnUub3JnPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBjb25maWd1cmUgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKK2luZGV4IDhjNWIxZTlkNTYxLi4yZDFmYzZiOTRkOSAxMDA3NTUKKy0tLSBhL2NvbmZpZ3VyZQorKysrIGIvY29uZmlndXJlCitAQCAtNjc2OCw2ICs2NzY4LDM4IEBAIGZpCisgCisgCisgCisrIyBEdXJpbmcgZ2NjIGJvb3RzdHJhcCwgaWYgd2UgdXNlIHNvbWUgcmFuZG9tIGNjIGZvciBzdGFnZTEgdGhlbiBDRkxBR1MKKysjIG1pZ2h0IGJlIGVtcHR5IG9yICItZyIuICBXZSBkb24ndCByZXF1aXJlIGEgQysrIGNvbXBpbGVyLCBzbyBDWFhGTEFHUworKyMgbWlnaHQgYWxzbyBiZSBlbXB0eSAob3IgIi1nIiwgaWYgYSBub24tR0NDIEMrKyBjb21waWxlciBpcyBpbiB0aGUgcGF0aCkuCisrIyBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IFRBUkdFVCBsaWJyYXJpZXMgKHdoaWNoIHdlIGtub3cgYXJlIGJ1aWx0IHdpdGgKKysjIGdjYykgYXJlIGJ1aWx0IHdpdGggIi1PMiAtZyIsIHNvIGluY2x1ZGUgdGhvc2Ugb3B0aW9ucyB3aGVuIHNldHRpbmcKKysjIENGTEFHU19GT1JfVEFSR0VUIGFuZCBDWFhGTEFHU19GT1JfVEFSR0VULgorK2lmIHRlc3QgIngkQ0ZMQUdTX0ZPUl9UQVJHRVQiID0geDsgdGhlbgorKyAgQ0ZMQUdTX0ZPUl9UQVJHRVQ9JENGTEFHUworKyAgY2FzZSAiICRDRkxBR1MgIiBpbgorKyAgICAqIiAtTzIgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItTzIgJENGTEFHUyIgOzsKKysgIGVzYWMKKysgIGNhc2UgIiAkQ0ZMQUdTICIgaW4KKysgICAgKiIgLWcgIiogfCAqIiAtZzMgIiopIDs7CisrICAgICopIENGTEFHU19GT1JfVEFSR0VUPSItZyAkQ0ZMQUdTIiA7OworKyAgZXNhYworK2ZpCisrCisrCisraWYgdGVzdCAieCRDWFhGTEFHU19GT1JfVEFSR0VUIiA9IHg7IHRoZW4KKysgIENYWEZMQUdTX0ZPUl9UQVJHRVQ9JENYWEZMQUdTCisrICBjYXNlICIgJENYWEZMQUdTICIgaW4KKysgICAgKiIgLU8yICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItTzIgJENYWEZMQUdTIiA7OworKyAgZXNhYworKyAgY2FzZSAiICRDWFhGTEFHUyAiIGluCisrICAgICoiIC1nICIqIHwgKiIgLWczICIqKSA7OworKyAgICAqKSBDWFhGTEFHU19GT1JfVEFSR0VUPSItZyAkQ1hYRkxBR1MiIDs7CisrICBlc2FjCisrZmkKKysKKysKKyAjIEhhbmRsZSAtLXdpdGgtaGVhZGVycz1YWFguICBJZiB0aGUgdmFsdWUgaXMgbm90ICJ5ZXMiLCB0aGUgY29udGVudHMgb2YKKyAjIHRoZSBuYW1lZCBkaXJlY3RvcnkgYXJlIGNvcGllZCB0byAkKHRvb2xkaXIpL3N5cy1pbmNsdWRlLgorIGlmIHRlc3QgeCIke3dpdGhfaGVhZGVyc30iICE9IHggJiYgdGVzdCB4IiR7d2l0aF9oZWFkZXJzfSIgIT0geG5vIDsgdGhlbgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNC02NC1iaXQtbXVsdGlsaWItaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzcxZDg3NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDQtNjQtYml0LW11bHRpbGliLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorRnJvbSAxZTY0OWQ4MWNhNjYyYzRjZGY3Mzg4MmViYjhhMTFmMGYxOWY1YmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MTA6MDYgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwNC80MF0gNjQtYml0IG11bHRpbGliIGhhY2suCisKK0dDQyBoYXMgaW50ZXJuYWwgbXVsdGlsaWIgaGFuZGxpbmcgY29kZSBidXQgaXQgYXNzdW1lcyBhIHZlcnkgc3BlY2lmaWMgcmlnaWQgZGlyZWN0b3J5CitsYXlvdXQuIFRoZSBidWlsZCBzeXN0ZW0gaW1wbGVtZW50YXRpb24gb2YgbXVsdGlsaWIgbGF5b3V0IGlzIHZlcnkgZ2VuZXJpYyBhbmQgYWxsb3dzCitjb21wbGV0ZSBjdXN0b21pc2F0aW9uIG9mIHRoZSBsaWJyYXJ5IGRpcmVjdG9yaWVzLgorCitUaGlzIHBhdGNoIGlzIGEgcGFydGlhbCBzb2x1dGlvbiB0byBhbGxvdyBhbnkgY3VzdG9tIGRpcmVjdG9yaWVzIHRvIGJlIHBhc3NlZCBpbnRvIGdjYworYW5kIGhhbmRsZWQgY29ycmVjdGx5LiBJdCBmb3JjZXMgZ2NjIHRvIHVzZSB0aGUgYmFzZV9saWJkaXIgKHdoaWNoIGlzIHRoZSBjdXJyZW50CitkaXJlY3RvcnksICIuIikuIFdlIG5lZWQgdG8gZG8gdGhpcyBmb3IgZWFjaCBtdWx0aWxpYiB0aGF0IGlzIGNvbmZpZ3VyZWQgYXMgd2UgZG9uJ3QKK2tub3cgd2hpY2ggY29tcGlsZXIgb3B0aW9ucyBtYXkgYmUgYmVpbmcgcGFzc2VkIGludG8gdGhlIGNvbXBpbGVyLiBTaW5jZSB3ZSBoYXZlIGEgY29tcGlsZXIKK3BlciBtdWxpdGxpYiBhdCB0aGlzIHBvaW50IHRoYXQgaXNuJ3QgYW4gaXNzdWUuCisKK1RoZSBvbmUgcHJvYmxlbSBpcyB0aGUgdGFyZ2V0IGNvbXBpbGVyIGlzIG9ubHkgZ29pbmcgdG8gd29yayBmb3IgdGhlIGRlZmF1bHQgbXVsdGxpbGliIGF0Cit0aGlzIHBvaW50LiBJZGVhbGx5IHdlJ2QgZmlndXJlIG91dCB3aGljaCBtdWx0aWxpYnMgd2VyZSBiZWluZyBlbmFibGVkIHdpdGggd2hpY2ggcGF0aHMKK2FuZCBiZSBhYmxlIHRvIHBhdGNoIHRoZXNlIGVudHJpZXMgd2l0aCBhIGNvbXBsZXRlIHNldCBvZiBjb3JyZWN0IHBhdGhzIGJ1dCB0aGlzIHdlCitkb24ndCBoYXZlIHN1Y2ggY29kZSBhdCB0aGlzIHBvaW50LiBUaGlzIGlzIHNvbWV0aGluZyB0aGUgdGFyZ2V0IGdjYyByZWNpcGUgc2hvdWxkIGRvCithbmQgb3ZlcnJpZGUgdGhlc2UgcGxhdGZvcm0gZGVmYXVsdHMgaW4gaXRzIGJ1aWxkIGNvbmZpZy4KKworUlAgMTUvOC8xMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogRWx2aXMgRG93c29uIDxlbHZpcy5kb3dzb25AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgICB8ICA2ICsrLS0tLQorIGdjYy9jb25maWcvbWlwcy90LWxpbnV4NjQgICB8IDEwICsrKy0tLS0tLS0KKyBnY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQgfCAgNSArKy0tLQorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni90LWxpbnV4NjQgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitpbmRleCA4ZWEwZmFmZjM2OS4uMjY2YzYwMDgwMDQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL2kzODYvdC1saW51eDY0CitAQCAtMzIsNyArMzIsNSBAQAorICMKKyBjb21tYT0sCisgTVVMVElMSUJfT1BUSU9OUyAgICA9ICQoc3Vic3QgJChjb21tYSksLywkKFRNX01VTFRJTElCX0NPTkZJRykpCistTVVMVElMSUJfRElSTkFNRVMgICA9ICQocGF0c3Vic3QgbSUsICUsICQoc3Vic3QgLywgLCQoTVVMVElMSUJfT1BUSU9OUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgPSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDp4ODZfNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMrPSBtMzI9JChpZiAkKHdpbGRjYXJkICQoc2hlbGwgZWNobyAkKFNZU1RFTV9IRUFERVJfRElSKSkvLi4vLi4vdXNyL2xpYjMyKSwuLi9saWIzMiwuLi9saWIpJChjYWxsIGlmX211bHRpYXJjaCw6aTM4Ni1saW51eC1nbnUpCistTVVMVElMSUJfT1NESVJOQU1FUys9IG14MzI9Li4vbGlieDMyJChjYWxsIGlmX211bHRpYXJjaCw6eDg2XzY0LWxpbnV4LWdudXgzMikKKytNVUxUSUxJQl9ESVJOQU1FUyA9IC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy90LWxpbnV4NjQgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitpbmRleCBjMDE3YjdkMDRjNS4uMTI2ODkyY2Y0MGIgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL21pcHMvdC1saW51eDY0CitAQCAtMTcsMTAgKzE3LDYgQEAKKyAjIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAKKyBNVUxUSUxJQl9PUFRJT05TID0gbWFiaT1uMzIvbWFiaT0zMi9tYWJpPTY0CistTVVMVElMSUJfRElSTkFNRVMgPSBuMzIgMzIgNjQKKy1NSVBTX0VMID0gJChpZiAkKGZpbHRlciAlZWwsICQoZmlyc3R3b3JkICQoc3Vic3QgLSwgLCQodGFyZ2V0KSkpKSxlbCkKKy1NSVBTX1NPRlQgPSAkKGlmICQoc3RyaXAgJChmaWx0ZXIgTUFTS19TT0ZUX0ZMT0FUX0FCSSwgJCh0YXJnZXRfY3B1X2RlZmF1bHQpKSAkKGZpbHRlciBzb2Z0LCAkKHdpdGhfZmxvYXQpKSksc29mdCkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gXAorLQkuLi9saWIzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpbjMyJChNSVBTX1NPRlQpKSBcCistCS4uL2xpYiQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHMkKE1JUFNfRUwpLWxpbnV4LWdudSQoTUlQU19TT0ZUKSkgXAorLQkuLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOm1pcHM2NCQoTUlQU19FTCktbGludXgtZ251YWJpNjQkKE1JUFNfU09GVCkpCisrTVVMVElMSUJfRElSTkFNRVMgPSAuIC4gLgorK01VTFRJTElCX09TRElSTkFNRVMgPSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NCBiL2djYy9jb25maWcvcnM2MDAwL3QtbGludXg2NAoraW5kZXggMGZhYTJhMDJkZjQuLjEzZmQ4Y2E5NzFlIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eDY0CisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC90LWxpbnV4NjQKK0BAIC0yNiwxMCArMjYsOSBAQAorICMgTVVMVElMSUJfT1NESVJOQU1FUyBhY2NvcmRpbmcgdG8gd2hhdCBpcyBmb3VuZCBvbiB0aGUgdGFyZ2V0LgorIAorIE1VTFRJTElCX09QVElPTlMgICAgOj0gbTY0L20zMgorLU1VTFRJTElCX0RJUk5BTUVTICAgOj0gNjQgMzIKKytNVUxUSUxJQl9ESVJOQU1FUyAgIDo9IC4gLgorIE1VTFRJTElCX0VYVFJBX09QVFMgOj0gCistTVVMVElMSUJfT1NESVJOQU1FUyA6PSBtNjQ9Li4vbGliNjQkKGNhbGwgaWZfbXVsdGlhcmNoLDpwb3dlcnBjNjQtbGludXgtZ251KQorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbTMyPSQoaWYgJCh3aWxkY2FyZCAkKHNoZWxsIGVjaG8gJChTWVNURU1fSEVBREVSX0RJUikpLy4uLy4uL3Vzci9saWIzMiksLi4vbGliMzIsLi4vbGliKSQoY2FsbCBpZl9tdWx0aWFyY2gsOnBvd2VycGMtbGludXgtZ251KQorK01VTFRJTElCX09TRElSTkFNRVMgOj0gLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkgLi4vJChzaGVsbCBiYXNlbmFtZSAkKGJhc2VfbGliZGlyKSkKKyAKKyByczYwMDAtbGludXgubzogJChzcmNkaXIpL2NvbmZpZy9yczYwMDAvcnM2MDAwLWxpbnV4LmMKKyAJJChDT01QSUxFKSAkPAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwNS1vcHRpb25hbC1saWJzdGRjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5Y2Y2YzIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA1LW9wdGlvbmFsLWxpYnN0ZGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gYjQ4NjM4MGRjYzQ3NThlODU2YWI2ZDg0N2ViMzU4ZDA1YmQ3OWQ2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjEyOjU2ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvNDBdIG9wdGlvbmFsIGxpYnN0ZGMKKworZ2NjLXJ1bnRpbWUgYnVpbGRzIGxpYnN0ZGMrKyBzZXBhcmF0ZWx5IGZyb20gZ2NjLWNyb3NzLSouIEl0cyBjb25maWd1cmUgdGVzdHMgdXNpbmcgZysrCit3aWxsIG5vdCBydW4gY29ycmVjdGx5IHNpbmNlIGJ5IGRlZmF1bHQgdGhlIGxpbmtlciB3aWxsIHRyeSB0byBsaW5rIGFnYWluc3QgbGlic3RkYysrCit3aGljaCBzaG91bGRuJ3QgZXhpc3QgeWV0LiBXZSBuZWVkIGFuIG9wdGlvbiB0byBkaXNhYmxlIC1sc3RkYysrCitvcHRpb24gd2hpbHN0IGxlYXZpbmcgLWxjLCAtbGdjYyBhbmQgb3RoZXIgYXV0b21hdGljIGxpYnJhcnkgZGVwZW5kZW5jaWVzIGFkZGVkIGJ5IGdjYworZHJpdmVyLiBUaGlzIHBhdGNoIGFkZHMgc3VjaCBhbiBvcHRpb24gd2hpY2ggb25seSBkaXNhYmxlcyB0aGUgLWxzdGRjKysuCisKK0EgInN0YW5kYXJkIiBnY2MgYnVpbGQgdXNlcyB4Z2NjIGFuZCBoZW5jZSBhdm9pZHMgdGhpcy4gV2Ugc2hvdWxkIGFzayB1cHN0cmVhbSBob3cgdG8KK2RvIHRoaXMgb2ZmaWNpYWxseSwgdGhlIGxpa2VseSBhbnN3ZXIgaXMgZG9uJ3QgYnVpbGQgbGlic3RkYysrIHNlcGFyYXRlbHkuCisKK1JQIDI5LzYvMTAKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KKy0tLQorIGdjYy9jLWZhbWlseS9jLm9wdCAgfCAgNCArKysrCisgZ2NjL2NwL2crK3NwZWMuYyAgICB8ICAxICsKKyBnY2MvZG9jL2ludm9rZS50ZXhpIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyBnY2MvZ2NjLmMgICAgICAgICAgIHwgIDEgKworIDQgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2MtZmFtaWx5L2Mub3B0IGIvZ2NjL2MtZmFtaWx5L2Mub3B0CitpbmRleCBmNTkxYjM5YmU1YS4uMjk1NWZjZWE4NjcgMTAwNjQ0CistLS0gYS9nY2MvYy1mYW1pbHkvYy5vcHQKKysrKyBiL2djYy9jLWZhbWlseS9jLm9wdAorQEAgLTE5MDEsNiArMTkwMSwxMCBAQCBub3N0ZGluYysrCisgQysrIE9iakMrKworIERvIG5vdCBzZWFyY2ggc3RhbmRhcmQgc3lzdGVtIGluY2x1ZGUgZGlyZWN0b3JpZXMgZm9yIEMrKy4KKyAKKytub3N0ZGxpYisrCisrRHJpdmVyCisrRG8gbm90IGxpbmsgc3RhbmRhcmQgQysrIHJ1bnRpbWUgbGlicmFyeQorKworIG8KKyBDIE9iakMgQysrIE9iakMrKyBKb2luZWQgU2VwYXJhdGUKKyA7IERvY3VtZW50ZWQgaW4gY29tbW9uLm9wdAorZGlmZiAtLWdpdCBhL2djYy9jcC9nKytzcGVjLmMgYi9nY2MvY3AvZysrc3BlYy5jCitpbmRleCA0NDNhMTc0NmRhMy4uZTliNTFiZTYyZWYgMTAwNjQ0CistLS0gYS9nY2MvY3AvZysrc3BlYy5jCisrKysgYi9nY2MvY3AvZysrc3BlYy5jCitAQCAtMTM3LDYgKzEzNyw3IEBAIGxhbmdfc3BlY2lmaWNfZHJpdmVyIChzdHJ1Y3QgY2xfZGVjb2RlZF9vcHRpb24gKippbl9kZWNvZGVkX29wdGlvbnMsCisgICAgICAgc3dpdGNoIChkZWNvZGVkX29wdGlvbnNbaV0ub3B0X2luZGV4KQorIAl7CisgCWNhc2UgT1BUX25vc3RkbGliOgorKwljYXNlIE9QVF9ub3N0ZGxpYl9fOgorIAljYXNlIE9QVF9ub2RlZmF1bHRsaWJzOgorIAkgIGxpYnJhcnkgPSAtMTsKKyAJICBicmVhazsKK2RpZmYgLS1naXQgYS9nY2MvZG9jL2ludm9rZS50ZXhpIGIvZ2NjL2RvYy9pbnZva2UudGV4aQoraW5kZXggZmIyMjg2MzFhNDIuLjMxMGJhODEwOWVkIDEwMDY0NAorLS0tIGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysrIGIvZ2NjL2RvYy9pbnZva2UudGV4aQorQEAgLTIxMiw2ICsyMTIsOSBAQCBpbiB0aGUgZm9sbG93aW5nIHNlY3Rpb25zLgorIC1mbm8td2VhayAgLW5vc3RkaW5jKysgQGdvbAorIC1mdmlzaWJpbGl0eS1pbmxpbmVzLWhpZGRlbiBAZ29sCisgLWZ2aXNpYmlsaXR5LW1zLWNvbXBhdCBAZ29sCisrLWZ2dGFibGUtdmVyaWZ5PUBye1t9c3RkQHJ7fH1wcmVpbml0QHJ7fH1ub25lQHJ7XX0gQGdvbAorKy1mdnR2LWNvdW50cyAtZnZ0di1kZWJ1ZyBAZ29sCisrLW5vc3RkbGliKysgQGdvbAorIC1mZXh0LW51bWVyaWMtbGl0ZXJhbHMgQGdvbAorIC1XYWJpPUB2YXJ7bn0gIC1XYWJpLXRhZyAgLVdjb252ZXJzaW9uLW51bGwgIC1XY3Rvci1kdG9yLXByaXZhY3kgQGdvbAorIC1XZGVsZXRlLW5vbi12aXJ0dWFsLWR0b3IgIC1XbGl0ZXJhbC1zdWZmaXggIC1XbXVsdGlwbGUtaW5oZXJpdGFuY2UgQGdvbAorQEAgLTUxMCw3ICs1MTMsNyBAQCBPYmplY3RpdmUtQyBhbmQgT2JqZWN0aXZlLUMrKyBEaWFsZWN0c30uCisgLXMgIC1zdGF0aWMgLXN0YXRpYy1waWUgLXN0YXRpYy1saWJnY2MgIC1zdGF0aWMtbGlic3RkYysrIEBnb2wKKyAtc3RhdGljLWxpYmFzYW4gIC1zdGF0aWMtbGlidHNhbiAgLXN0YXRpYy1saWJsc2FuICAtc3RhdGljLWxpYnVic2FuIEBnb2wKKyAtc3RhdGljLWxpYm1weCAgLXN0YXRpYy1saWJtcHh3cmFwcGVycyBAZ29sCistLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyBAZ29sCisrLXNoYXJlZCAgLXNoYXJlZC1saWJnY2MgIC1zeW1ib2xpYyAtbm9zdGRsaWIrKyBAZ29sCisgLVQgQHZhcntzY3JpcHR9ICAtV2wsQHZhcntvcHRpb259ICAtWGxpbmtlciBAdmFye29wdGlvbn0gQGdvbAorIC11IEB2YXJ7c3ltYm9sfSAgLXogQHZhcntrZXl3b3JkfX0KKyAKK0BAIC0xMjM1OSw2ICsxMjM2MiwzMyBAQCBsaWJyYXJ5IHN1YnJvdXRpbmVzLgorIGNvbnN0cnVjdG9ycyBhcmUgY2FsbGVkOyBAcHhyZWZ7Q29sbGVjdDIsLEBjb2Rle2NvbGxlY3QyfSwgZ2NjaW50LAorIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30uKQorIAorK0BpdGVtIC1ub3N0ZGxpYisrCisrQG9waW5kZXggbm9zdGRsaWIrKworK0RvIG5vdCB1c2UgdGhlIHN0YW5kYXJkIHN5c3RlbSBDKysgcnVudGltZSBsaWJyYXJpZXMgd2hlbiBsaW5raW5nLgorK09ubHkgdGhlIGxpYnJhcmllcyB5b3Ugc3BlY2lmeSB3aWxsIGJlIHBhc3NlZCB0byB0aGUgbGlua2VyLgorKworK0BjaW5kZXggQG9wdGlvbnstbGdjY30sIHVzZSB3aXRoIEBvcHRpb257LW5vc3RkbGlifQorK0BjaW5kZXggQG9wdGlvbnstbm9zdGRsaWJ9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9zdGRsaWJ9CisrQGNpbmRleCBAb3B0aW9uey1sZ2NjfSwgdXNlIHdpdGggQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytAY2luZGV4IEBvcHRpb257LW5vZGVmYXVsdGxpYnN9IGFuZCB1bnJlc29sdmVkIHJlZmVyZW5jZXMKKytAY2luZGV4IHVucmVzb2x2ZWQgcmVmZXJlbmNlcyBhbmQgQG9wdGlvbnstbm9kZWZhdWx0bGlic30KKytPbmUgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcmllcyBieXBhc3NlZCBieSBAb3B0aW9uey1ub3N0ZGxpYn0gYW5kCisrQG9wdGlvbnstbm9kZWZhdWx0bGlic30gaXMgQGZpbGV7bGliZ2NjLmF9LCBhIGxpYnJhcnkgb2YgaW50ZXJuYWwgc3Vicm91dGluZXMKKyt3aGljaCBHQ0MgdXNlcyB0byBvdmVyY29tZSBzaG9ydGNvbWluZ3Mgb2YgcGFydGljdWxhciBtYWNoaW5lcywgb3Igc3BlY2lhbAorK25lZWRzIGZvciBzb21lIGxhbmd1YWdlcy4KKysoQHhyZWZ7SW50ZXJmYWNlLCxJbnRlcmZhY2luZyB0byBHQ0MgT3V0cHV0LGdjY2ludCxHTlUgQ29tcGlsZXIKKytDb2xsZWN0aW9uIChHQ0MpIEludGVybmFsc30sCisrZm9yIG1vcmUgZGlzY3Vzc2lvbiBvZiBAZmlsZXtsaWJnY2MuYX0uKQorK0luIG1vc3QgY2FzZXMsIHlvdSBuZWVkIEBmaWxle2xpYmdjYy5hfSBldmVuIHdoZW4geW91IHdhbnQgdG8gYXZvaWQKKytvdGhlciBzdGFuZGFyZCBsaWJyYXJpZXMuICBJbiBvdGhlciB3b3Jkcywgd2hlbiB5b3Ugc3BlY2lmeSBAb3B0aW9uey1ub3N0ZGxpYn0KKytvciBAb3B0aW9uey1ub2RlZmF1bHRsaWJzfSB5b3Ugc2hvdWxkIHVzdWFsbHkgc3BlY2lmeSBAb3B0aW9uey1sZ2NjfSBhcyB3ZWxsLgorK1RoaXMgZW5zdXJlcyB0aGF0IHlvdSBoYXZlIG5vIHVucmVzb2x2ZWQgcmVmZXJlbmNlcyB0byBpbnRlcm5hbCBHQ0MKKytsaWJyYXJ5IHN1YnJvdXRpbmVzLgorKyhBbiBleGFtcGxlIG9mIHN1Y2ggYW4gaW50ZXJuYWwgc3Vicm91dGluZSBpcyBAY29kZXtfX21haW59LCB1c2VkIHRvIGVuc3VyZSBDKysKKytjb25zdHJ1Y3RvcnMgYXJlIGNhbGxlZDsgQHB4cmVme0NvbGxlY3QyLCxAY29kZXtjb2xsZWN0Mn0sIGdjY2ludCwKKytHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiAoR0NDKSBJbnRlcm5hbHN9LikKKysKKyBAaXRlbSAtcGllCisgQG9waW5kZXggcGllCisgUHJvZHVjZSBhIGR5bmFtaWNhbGx5IGxpbmtlZCBwb3NpdGlvbiBpbmRlcGVuZGVudCBleGVjdXRhYmxlIG9uIHRhcmdldHMKK2RpZmYgLS1naXQgYS9nY2MvZ2NjLmMgYi9nY2MvZ2NjLmMKK2luZGV4IDAyYjNjZDM5ZmMyLi44Y2QyN2E1ZGFkNSAxMDA2NDQKKy0tLSBhL2djYy9nY2MuYworKysrIGIvZ2NjL2djYy5jCitAQCAtMTA0Nyw2ICsxMDQ3LDcgQEAgcHJvcGVyIHBvc2l0aW9uIGFtb25nIHRoZSBvdGhlciBvdXRwdXQgZmlsZXMuICAqLworICAgICAlKG1mbGliKSAiIFNUQUNLX1NQTElUX1NQRUMgIlwKKyAgICAgJXtmcHJvZmlsZS1hcmNzfGZwcm9maWxlLWdlbmVyYXRlKnxjb3ZlcmFnZTotbGdjb3Z9ICIgU0FOSVRJWkVSX1NQRUMgIiBcCisgICAgICV7IW5vc3RkbGliOiV7IW5vZGVmYXVsdGxpYnM6JShsaW5rX3NzcCkgJShsaW5rX2djY19jX3NlcXVlbmNlKX19XAorKyAgICAleyFub3N0ZGxpYisrOn1cCisgICAgICV7IW5vc3RkbGliOiV7IW5vc3RhcnRmaWxlczolRX19ICV7VCp9ICBcbiUocG9zdF9saW5rKSB9fX19fX0iCisgI2VuZGlmCisgCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDYtZ2NjLWRpc2FibGUtTUFTS19SRUxBWF9QSUNfQ0FMTFMtYml0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZWEyMjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA2LWdjYy1kaXNhYmxlLU1BU0tfUkVMQVhfUElDX0NBTExTLWJpdC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIDFkYmEwOTBhMTFjNDBiMDkyNmY5NzA3YTU0M2Q2NThjOTVlMWYxNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNDoyMCArMDQwMAorU3ViamVjdDogW1BBVENIIDA2LzQwXSBnY2M6IGRpc2FibGUgTUFTS19SRUxBWF9QSUNfQ0FMTFMgYml0CisKK1RoZSBuZXcgZmVhdHVyZSBhZGRlZCBhZnRlciA0LjMuMworImh0dHA6Ly93d3cucHViYnMubmV0LzIwMDkwOS9nY2MvOTQwNDgtcGF0Y2gtYWRkLXN1cHBvcnQtZm9yLXJtaXBzamFsci5odG1sIgord2lsbCBjYXVzZSBjYzFwbHVzIGVhdCB1cCBhbGwgdGhlIHN5c3RlbSBtZW1vcnkgd2hlbiBidWlsZCB3ZWJraXQtZ3RrLgorVGhlIGZ1bmN0aW9uIG1pcHNfZ2V0X3BpY19jYWxsX3N5bWJvbCBrZWVwcyBvbiByZWN1cnNpdmVseSBjYWxsaW5nIGl0c2VsZi4KK0Rpc2FibGUgdGhpcyBmZWF0dXJlIHRvIHdhbGsgYXNpZGUgdGhlIGJ1Zy4KKworU2lnbmVkLW9mZi1ieTogRG9uZ3hpYW8gWHUgPGRvbmd4aWFvLnh1QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCA3IC0tLS0tLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNyAtLS0tLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzOTAxNzIyNDAwYy4uMGM5YjhhYzVmNTUgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjc1NTMsMTMgKzI3NTUzLDYgQEAgJGFzX2VjaG9fbiAiY2hlY2tpbmcgYXNzZW1ibGVyIGFuZCBsaW5rZXIgZm9yIGV4cGxpY2l0IEpBTFIgcmVsb2NhdGlvbi4uLiAiID4mNjsKKyAgICAgICAgIHJtIC1mIGNvbmZ0ZXN0LioKKyAgICAgICBmaQorICAgICBmaQorLSAgICBpZiB0ZXN0ICRnY2NfY3ZfYXNfbGRfamFscl9yZWxvYyA9IHllczsgdGhlbgorLSAgICAgIGlmIHRlc3QgeCR0YXJnZXRfY3B1X2RlZmF1bHQgPSB4OyB0aGVuCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9TUFTS19SRUxBWF9QSUNfQ0FMTFMKKy0gICAgICBlbHNlCistICAgICAgICB0YXJnZXRfY3B1X2RlZmF1bHQ9IigkdGFyZ2V0X2NwdV9kZWZhdWx0KXxNQVNLX1JFTEFYX1BJQ19DQUxMUyIKKy0gICAgICBmaQorLSAgICBmaQorICAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjUKKyAkYXNfZWNobyAiJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMWIxMzYyZjcwZmUuLjUzODQwMzYzMTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTQ3OTgsMTMgKzQ3OTgsNiBAQCB4OgorICAgICAgICAgcm0gLWYgY29uZnRlc3QuKgorICAgICAgIGZpCisgICAgIGZpCistICAgIGlmIHRlc3QgJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jID0geWVzOyB0aGVuCistICAgICAgaWYgdGVzdCB4JHRhcmdldF9jcHVfZGVmYXVsdCA9IHg7IHRoZW4KKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1JFTEFYX1BJQ19DQUxMUworLSAgICAgIGVsc2UKKy0gICAgICAgIHRhcmdldF9jcHVfZGVmYXVsdD0iKCR0YXJnZXRfY3B1X2RlZmF1bHQpfE1BU0tfUkVMQVhfUElDX0NBTExTIgorLSAgICAgIGZpCistICAgIGZpCisgICAgIEFDX01TR19SRVNVTFQoJGdjY19jdl9hc19sZF9qYWxyX3JlbG9jKQorIAorICAgICBBQ19DQUNIRV9DSEVDSyhbbGlua2VyIGZvciAuZWhfZnJhbWUgcGVyc29uYWxpdHkgcmVsYXhhdGlvbl0sCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA3LUNPTExFQ1RfR0NDX09QVElPTlMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM3ZTcyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDctQ09MTEVDVF9HQ0NfT1BUSU9OUy5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDIwOWU0NmY0NTM4MjA4OGNhYWI1NDQyNWI5MmI1ZGZjNDNlYmI0ZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyOSBNYXIgMjAxMyAwOToxNjoyOCArMDQwMAorU3ViamVjdDogW1BBVENIIDA3LzQwXSBDT0xMRUNUX0dDQ19PUFRJT05TCisKK1RoaXMgcGF0Y2ggYWRkcyAtLXN5c3Jvb3QgaW50byBDT0xMRUNUX0dDQ19PUFRJT05TIHdoaWNoIGlzIHVzZWQgdG8KK2ludm9rZSBjb2xsZWN0Mi4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvZ2NjLmMgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggOGNkMjdhNWRhZDUuLmQzNTVkNjU1ODNhIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC00Njc3LDYgKzQ2NzcsMTUgQEAgc2V0X2NvbGxlY3RfZ2NjX29wdGlvbnMgKHZvaWQpCisgCQlzaXplb2YgKCJDT0xMRUNUX0dDQ19PUFRJT05TPSIpIC0gMSk7CisgCisgICBmaXJzdF90aW1lID0gVFJVRTsKKysjaWZkZWYgSEFWRV9MRF9TWVNST09UCisrICBpZiAodGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQgJiYgdGFyZ2V0X3N5c3RlbV9yb290KQorKyAgICB7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCAiJy0tc3lzcm9vdD0iLCBzaXplb2YoIictLXN5c3Jvb3Q9IiktMSk7CisrICAgICAgb2JzdGFja19ncm93ICgmY29sbGVjdF9vYnN0YWNrLCB0YXJnZXRfc3lzdGVtX3Jvb3Qsc3RybGVuKHRhcmdldF9zeXN0ZW1fcm9vdCkpOworKyAgICAgIG9ic3RhY2tfZ3JvdyAoJmNvbGxlY3Rfb2JzdGFjaywgIiciLCAxKTsKKysgICAgICBmaXJzdF90aW1lID0gRkFMU0U7CisrICAgIH0KKysjZW5kaWYKKyAgIGZvciAoaSA9IDA7IChpbnQpIGkgPCBuX3N3aXRjaGVzOyBpKyspCisgICAgIHsKKyAgICAgICBjb25zdCBjaGFyICpjb25zdCAqYXJnczsKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDgtVXNlLXRoZS1kZWZhdWx0cy5oLWluLUItaW5zdGVhZC1vZi1TLWFuZC10LW9lLWluLUIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NjMyYWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDA4LVVzZS10aGUtZGVmYXVsdHMuaC1pbi1CLWluc3RlYWQtb2YtUy1hbmQtdC1vZS1pbi1CLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0Zyb20gM2JjYmRmNWFkZTU0YTcyODIwYWQ3Nzk4MTE5ZDBiYmFkNGJhZjZlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjE3OjI1ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDgvNDBdIFVzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4KKyAke0J9CisKK1VzZSB0aGUgZGVmYXVsdHMuaCBpbiAke0J9IGluc3RlYWQgb2YgJHtTfSwgYW5kIHQtb2UgaW4gJHtCfSwgc28gdGhhdAordGhlIHNvdXJjZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZ2NjLWNyb3NzLWluaXRpYWwsCitnY2MtY3Jvc3MtaW50ZXJtZWRpYXRlLCBnY2MtY3Jvc3MsIGdjYy1ydW50aW1lLCBhbmQgYWxzbyB0aGUgc2RrIGJ1aWxkLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworV2hpbGUgY29tcGlsaW5nIGdjYy1jcm9zc3Nkay1pbml0aWFsLXg4Nl82NCBvbiBzb21lIGhvc3QsIHRoZXJlIGlzCitvY2Nhc2lvbmFsbHkgZmFpbHVyZSB0aGF0IHRlc3QgdGhlIGV4aXN0YW5jZSBvZiBkZWZhdWx0LmggZG9lc24ndAord29yaywgdGhlIHJlYXNvbiBpcyB0bV9pbmNsdWRlX2xpc3Q9JyoqIGRlZmF1bHRzLmgnIHJhdGhlciB0aGFuCit0bV9pbmNsdWRlX2xpc3Q9JyoqIC4vZGVmYXVsdHMuaCcKKworU28gd2UgYWRkIHRoZSB0ZXN0IGNvbmRpdGlvbiBmb3IgdGhpcyBzaXR1YXRpb24uCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBnY2MvTWFrZWZpbGUuaW4gIHwgMiArLQorIGdjYy9jb25maWd1cmUgICAgfCA0ICsrLS0KKyBnY2MvY29uZmlndXJlLmFjIHwgNCArKy0tCisgZ2NjL21rY29uZmlnLnNoICB8IDQgKystLQorIDQgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCAyMGJlZTA0OTRiMS4uMTM2NzEzNmJmYWMgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTUzOCw3ICs1MzgsNyBAQCBUQVJHRVRfU1lTVEVNX1JPT1QgPSBAVEFSR0VUX1NZU1RFTV9ST09UQAorIFRBUkdFVF9TWVNURU1fUk9PVF9ERUZJTkUgPSBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKKyAKKyB4bWFrZV9maWxlPUB4bWFrZV9maWxlQAorLXRtYWtlX2ZpbGU9QHRtYWtlX2ZpbGVACisrdG1ha2VfZmlsZT1AdG1ha2VfZmlsZUAgLi90LW9lCisgVE1fRU5ESUFOX0NPTkZJRz1AVE1fRU5ESUFOX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9DT05GSUc9QFRNX01VTFRJTElCX0NPTkZJR0AKKyBUTV9NVUxUSUxJQl9FWENFUFRJT05TX0NPTkZJRz1AVE1fTVVMVElMSUJfRVhDRVBUSU9OU19DT05GSUdACitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDBjOWI4YWM1ZjU1Li4xMzRjMmMyZjE1NiAxMDA3NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC0xMjE1OCw4ICsxMjE1OCw4IEBAIGZvciBmIGluICR0bV9maWxlOyBkbworICAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKyAgICAgICAgOzsKKyAgICAgZGVmYXVsdHMuaCApCistICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvJGYiCistICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9ICRmIgorKyAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSAuLyRmIgorKyAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAuLyRmIgorICAgICAgICA7OworICAgICAqICkKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gXCQoc3JjZGlyKS9jb25maWcvJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDUzODQwMzYzMTE1Li4wYzNjODJlNGZmNyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTIyLDggKzE5MjIsOCBAQCBmb3IgZiBpbiAkdG1fZmlsZTsgZG8KKyAgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gJGYiCisgICAgICAgIDs7CisgICAgIGRlZmF1bHRzLmggKQorLSAgICAgICB0bV9maWxlX2xpc3Q9IiR7dG1fZmlsZV9saXN0fSBcJChzcmNkaXIpLyRmIgorLSAgICAgICB0bV9pbmNsdWRlX2xpc3Q9IiR7dG1faW5jbHVkZV9saXN0fSAkZiIKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi8kZiIKKysgICAgICAgdG1faW5jbHVkZV9saXN0PSIke3RtX2luY2x1ZGVfbGlzdH0gLi8kZiIKKyAgICAgICAgOzsKKyAgICAgKiApCisgICAgICAgIHRtX2ZpbGVfbGlzdD0iJHt0bV9maWxlX2xpc3R9IFwkKHNyY2RpcikvY29uZmlnLyRmIgorZGlmZiAtLWdpdCBhL2djYy9ta2NvbmZpZy5zaCBiL2djYy9ta2NvbmZpZy5zaAoraW5kZXggMGY3NWM4NjNjMGIuLjY4ZDhkNjYxM2NmIDEwMDY0NAorLS0tIGEvZ2NjL21rY29uZmlnLnNoCisrKysgYi9nY2MvbWtjb25maWcuc2gKK0BAIC03Nyw3ICs3Nyw3IEBAIGlmIFsgLW4gIiRIRUFERVJTIiBdOyB0aGVuCisgICAgIGlmIFsgJCMgLWdlIDEgXTsgdGhlbgorIAllY2hvICcjaWZkZWYgSU5fR0NDJyA+PiAke291dHB1dH1UCisgCWZvciBmaWxlIGluICIkQCI7IGRvCistCSAgICBpZiB0ZXN0IHgiJGZpbGUiID0geCJkZWZhdWx0cy5oIjsgdGhlbgorKwkgICAgaWYgdGVzdCB4IiRmaWxlIiA9IHgiLi9kZWZhdWx0cy5oIiAtbyB4IiRmaWxlIiA9IHgiZGVmYXVsdHMuaCI7IHRoZW4KKyAJCXBvc3Rwb25lX2RlZmF1bHRzX2g9InllcyIKKyAJICAgIGVsc2UKKyAJCWVjaG8gIiMgaW5jbHVkZSBcIiRmaWxlXCIiID4+ICR7b3V0cHV0fVQKK0BAIC0xMDYsNyArMTA2LDcgQEAgZXNhYworIAorICMgSWYgd2UgcG9zdHBvbmVkIGluY2x1ZGluZyBkZWZhdWx0cy5oLCBhZGQgdGhlICNpbmNsdWRlIG5vdy4KKyBpZiB0ZXN0IHgiJHBvc3Rwb25lX2RlZmF1bHRzX2giID0geCJ5ZXMiOyB0aGVuCistICAgIGVjaG8gIiMgaW5jbHVkZSBcImRlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorKyAgICBlY2hvICIjIGluY2x1ZGUgXCIuL2RlZmF1bHRzLmhcIiIgPj4gJHtvdXRwdXR9VAorIGZpCisgCisgIyBBZGQgbXVsdGlwbGUgaW5jbHVzaW9uIHByb3RlY3Rpb24gZ3VhcmQsIHBhcnQgdHdvLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAwOS1mb3J0cmFuLWNyb3NzLWNvbXBpbGUtaGFjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTBkODk1YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMDktZm9ydHJhbi1jcm9zcy1jb21waWxlLWhhY2sucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSBlNjU0NTczMzUyZDI4ZjE2MGYzNzllZTc3ZTQwNjdjZjEwODcxNGQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjA6MDEgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwOS80MF0gZm9ydHJhbiBjcm9zcy1jb21waWxlIGhhY2suCisKKyogRm9ydHJhbiB3b3VsZCBoYXZlIHNlYXJjaGVkIGZvciBhcm0tYW5nc3Ryb20tZ251ZWFiaS1nZm9ydHJhbiBidXQgd291bGQgaGF2ZSB1c2VkCit1c2VkIGdmb3J0YW4uIEZvciBnY2NfNC4yLjIuYmIgd2Ugd2FudCB0byB1c2UgdGhlIGdmb3J0cmFuIGNvbXBpbGVyIGZyb20gb3VyIGNyb3NzCitkaXJlY3RvcnkuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCistLS0KKyBsaWJnZm9ydHJhbi9jb25maWd1cmUgICAgfCAyICstCisgbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlIGIvbGliZ2ZvcnRyYW4vY29uZmlndXJlCitpbmRleCA5MWZjZThmZWNkMC4uNjc0N2Y4NmViOTggMTAwNzU1CistLS0gYS9saWJnZm9ydHJhbi9jb25maWd1cmUKKysrKyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZQorQEAgLTEyODgzLDcgKzEyODgzLDcgQEAgZXNhYworIAorICMgV2UgbmVlZCBnZm9ydHJhbiB0byBjb21waWxlIHBhcnRzIG9mIHRoZSBsaWJyYXJ5CisgI0FDX1BST0dfRkMoZ2ZvcnRyYW4pCistRkM9IiRHRk9SVFJBTiIKKysjRkM9IiRHRk9SVFJBTiIKKyBhY19leHQ9JHthY19mY19zcmNleHQtZn0KKyBhY19jb21waWxlPSckRkMgLWMgJEZDRkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgPiY1JworIGFjX2xpbms9JyRGQyAtbyBjb25mdGVzdCRhY19leGVleHQgJEZDRkxBR1MgJExERkxBR1MgJGFjX2ZjZmxhZ3Nfc3JjZXh0IGNvbmZ0ZXN0LiRhY19leHQgJExJQlMgPiY1JworZGlmZiAtLWdpdCBhL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYyBiL2xpYmdmb3J0cmFuL2NvbmZpZ3VyZS5hYworaW5kZXggYmY2ZDM2MzRkZGEuLjlkYmU0M2NjNjE2IDEwMDY0NAorLS0tIGEvbGliZ2ZvcnRyYW4vY29uZmlndXJlLmFjCisrKysgYi9saWJnZm9ydHJhbi9jb25maWd1cmUuYWMKK0BAIC0yNTAsNyArMjUwLDcgQEAgQUNfU1VCU1QoZW5hYmxlX3N0YXRpYykKKyAKKyAjIFdlIG5lZWQgZ2ZvcnRyYW4gdG8gY29tcGlsZSBwYXJ0cyBvZiB0aGUgbGlicmFyeQorICNBQ19QUk9HX0ZDKGdmb3J0cmFuKQorLUZDPSIkR0ZPUlRSQU4iCisrI0ZDPSIkR0ZPUlRSQU4iCisgQUNfUFJPR19GQyhnZm9ydHJhbikKKyAKKyAjIGV4dHJhIExEIEZsYWdzIHdoaWNoIGFyZSByZXF1aXJlZCBmb3IgdGFyZ2V0cworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMC1jcHAtaG9ub3Itc3lzcm9vdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3ZWFjZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTAtY3BwLWhvbm9yLXN5c3Jvb3QucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAyYWU3YWY0ZWI3MGVmZjZhZWRhMWZlOTYzMzNmZjUwY2ZhYTlkOTA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjI6MDAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMC80MF0gY3BwOiBob25vciBzeXNyb290LgorCitDdXJyZW50bHksIGlmIHRoZSBnY2MgdG9vbGNoYWluIGlzIHJlbG9jYXRlZCBhbmQgaW5zdGFsbGVkIGZyb20gc3N0YXRlLCB0aGVuIHlvdSB0cnkgYW5kIGNvbXBpbGUKK3ByZXByb2Nlc3NlZCBzb3VyY2UgKC5pIG9yIC5paSBmaWxlcyksIHRoZSBjb21waWxlciB3aWxsIHRyeSBhbmQgYWNjZXNzIHRoZSBidWlsdGluIHN5c3Jvb3QgbG9jYXRpb24KK3JhdGhlciB0aGFuIHRoZSAtLXN5c3Jvb3Qgb3B0aW9uIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZGxpbmUuIElmIGFjY2VzcyB0byB0aGF0IGRpcmVjdG9yeSBpcworcGVybWlzc2lvbiBkZW5pZWQgKHVucmVhZGFibGUpLCBnY2Mgd2lsbCBlcnJvci4KKworVGhpcyBoYXBwZW5zIHdoZW4gY2NhY2hlIGlzIGluIHVzZSBkdWUgdG8gdGhlIGZhY3QgaXQgdXNlcyBwcmVwcm9jZXNzZWQgc291cmNlIGZpbGVzLgorCitUaGUgZml4IGJlbG93IGFkZHMgJUkgdG8gdGhlIGNwcC1vdXRwdXQgc3BlYyBtYWNybyBzbyB0aGUgZGVmYXVsdCBzdWJzdGl0dXRpb25zIGZvciAtaXByZWZpeCwKKy1pc3lzdGVtLCAtaXN5c3Jvb3QgaGFwcGVuIGFuZCB0aGUgY29ycmVjdCBzeXNyb290IGlzIHVzZWQuCisKK1tZT0NUTyAjMjA3NF0KKworUlAgMjAxMi8wNC8xMworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIGdjYy9jcC9sYW5nLXNwZWNzLmggfCAyICstCisgZ2NjL2djYy5jICAgICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcC9sYW5nLXNwZWNzLmggYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitpbmRleCBmMDgwMmI4OTE1Yy4uZjMyNGQyOTk4NDkgMTAwNjQ0CistLS0gYS9nY2MvY3AvbGFuZy1zcGVjcy5oCisrKysgYi9nY2MvY3AvbGFuZy1zcGVjcy5oCitAQCAtNjQsNSArNjQsNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgeyIuaWkiLCAiQGMrKy1jcHAtb3V0cHV0IiwgMCwgMCwgMH0sCisgICB7IkBjKystY3BwLW91dHB1dCIsCisgICAgIiV7IU06JXshTU06JXshRTpcCistICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJTJcCisrICAgIGNjMXBsdXMgLWZwcmVwcm9jZXNzZWQgJWkgJUkgJShjYzFfb3B0aW9ucykgJTJcCisgICAgICV7IWZzeW50YXgtb25seTolKGludm9rZV9hcyl9fX19IiwgMCwgMCwgMH0sCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBkMzU1ZDY1NTgzYS4uNTcwY2RjMDAwMzQgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcGlsZXIgZGVmYXVsdF9jb21waWxlcnNbXSA9CisgCQkJCQkgICAlV3tvKjotLW91dHB1dC1wY2g9JSp9fSVWfX19fX19fSIsIDAsIDAsIDB9LAorICAgeyIuaSIsICJAY3BwLW91dHB1dCIsIDAsIDAsIDB9LAorICAgeyJAY3BwLW91dHB1dCIsCistICAgIiV7IU06JXshTU06JXshRTpjYzEgLWZwcmVwcm9jZXNzZWQgJWkgJShjYzFfb3B0aW9ucykgJXshZnN5bnRheC1vbmx5OiUoaW52b2tlX2FzKX19fX0iLCAwLCAwLCAwfSwKKysgICAiJXshTToleyFNTToleyFFOmNjMSAtZnByZXByb2Nlc3NlZCAlaSAlSSAlKGNjMV9vcHRpb25zKSAleyFmc3ludGF4LW9ubHk6JShpbnZva2VfYXMpfX19fSIsIDAsIDAsIDB9LAorICAgeyIucyIsICJAYXNzZW1ibGVyIiwgMCwgMCwgMH0sCisgICB7IkBhc3NlbWJsZXIiLAorICAgICIleyFNOiV7IU1NOiV7IUU6JXshUzphcyAlKGFzbV9kZWJ1ZykgJShhc21fb3B0aW9ucykgJWkgJUEgfX19fSIsIDAsIDAsIDB9LAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMS1NSVBTNjQtRGVmYXVsdC10by1ONjQtQUJJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NjNjZmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDExLU1JUFM2NC1EZWZhdWx0LXRvLU42NC1BQkkucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAxZTFlYTBlYjU1YTU5NGFjNGNkN2I4MzhmNzRkZWM3NDA1YWFlMDJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjM6MDggKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMS80MF0gTUlQUzY0OiBEZWZhdWx0IHRvIE42NCBBQkkKKworTUlQUzY0IGRlZmF1bHRzIHRvIG4zMiBBQkksIHRoaXMgcGF0Y2ggbWFrZXMgaXQKK3NvIHRoYXQgaXQgZGVmYXVsdHMgdG8gTjY0IEFCSQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZyBzcGVjaWZpY10KKy0tLQorIGdjYy9jb25maWcuZ2NjIHwgMTAgKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnLmdjYyBiL2djYy9jb25maWcuZ2NjCitpbmRleCA3YWY4ZTAyODEwNC4uZmM3YzkxMjQ2ZWQgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnLmdjYworKysrIGIvZ2NjL2NvbmZpZy5nY2MKK0BAIC0yMTQzLDI5ICsyMTQzLDI5IEBAIG1pcHMqLSotbGludXgqKQkJCQkjIExpbnV4IE1JUFMsIGVpdGhlciBlbmRpYW4uCisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczMyCisgCQkJOzsKKyAJCW1pcHM2NGVsLXN0LWxpbnV4LWdudSkKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9maWxlPSIke3RtX2ZpbGV9IG1pcHMvc3QuaCIKKyAJCQl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IG1pcHMvdC1zdCIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0b2N0ZW9uKi0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQl0bV9kZWZpbmVzPSIke3RtX2RlZmluZXN9IE1JUFNfQ1BVX1NUUklOR19ERUZBVUxUPVxcXCJvY3Rlb25cXFwiIgorIAkJCXRhcmdldF9jcHVfZGVmYXVsdD1NQVNLX1NPRlRfRkxPQVRfQUJJCisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJCW1pcHNpc2E2NHI2Ki0qLWxpbnV4KikKKy0JCQlkZWZhdWx0X21pcHNfYWJpPW4zMgorKwkJCWRlZmF1bHRfbWlwc19hYmk9NjQKKyAJCQlkZWZhdWx0X21pcHNfYXJjaD1taXBzNjRyNgorIAkJCWVuYWJsZV9taXBzX211bHRpbGlicz0ieWVzIgorIAkJCTs7CisgCQltaXBzaXNhNjRyMiotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZGVmYXVsdF9taXBzX2FyY2g9bWlwczY0cjIKKyAJCQllbmFibGVfbWlwc19tdWx0aWxpYnM9InllcyIKKyAJCQk7OworIAkJbWlwczY0Ki0qLWxpbnV4KiB8IG1pcHNpc2E2NCotKi1saW51eCopCistCQkJZGVmYXVsdF9taXBzX2FiaT1uMzIKKysJCQlkZWZhdWx0X21pcHNfYWJpPTY0CisgCQkJZW5hYmxlX21pcHNfbXVsdGlsaWJzPSJ5ZXMiCisgCQkJOzsKKyAJZXNhYworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMi1EZWZpbmUtR0xJQkNfRFlOQU1JQ19MSU5LRVItYW5kLVVDTElCQ19EWU5BTUlDX0xJTktFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzYmUxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEyLURlZmluZS1HTElCQ19EWU5BTUlDX0xJTktFUi1hbmQtVUNMSUJDX0RZTkFNSUNfTElOS0UucGF0Y2gKQEAgLTAsMCArMSwyNDggQEAKK0Zyb20gNmY4NjQ5OTM2ZGYzNjc3MTA5YjgzOTZmNTYzYzcxNmFlOGIyMzdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI0OjUwICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTIvNDBdIERlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBhbmQgVUNMSUJDX0RZTkFNSUNfTElOS0VSCisgcmVsYXRpdmUgdG8gU1lTVEVNTElCU19ESVIKKworVGhpcyBwYXRjaCBkZWZpbmVzIEdMSUJDX0RZTkFNSUNfTElOS0VSIGFuZCBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIKK3JlbGF0aXZlIHRvIFNZU1RFTUxJQlNfRElSIHdoaWNoIGNhbiBiZSBzZXQgaW4gZ2VuZXJhdGVkIGhlYWRlcnMKK1RoaXMgYnJlYWtzIHRoZSBhc3N1bXB0aW9uIG9mIGhhcmRjb2RlZCBtdWx0aWxpYiBpbiBnY2MKK0NoYW5nZSBpcyBvbmx5IGZvciB0aGUgc3VwcG9ydGVkIGFyY2hpdGVjdHVyZXMgaW4gT0UgaW5jbHVkaW5nCitTSCwgc3BhcmMsIGFscGhhIGZvciBwb3NzaWJsZSBmdXR1cmUgc3VwcG9ydCAoaWYgYW55KQorCitSZW1vdmVzIHRoZSBkb19oZWFkZXJmaXggdGFzayBpbiBtZXRhZGF0YQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCistLS0KKyBnY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIHwgIDQgKystLQorIGdjYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCAgfCAgNCArKy0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmggICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggICAgICB8ICAyICstCisgZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCAgICB8ICA2ICsrKy0tLQorIGdjYy9jb25maWcvbGludXguaCAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGdjYy9jb25maWcvbWlwcy9saW51eC5oICAgICAgfCAxMiArKysrKystLS0tLS0KKyBnY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggICAgIHwgIDIgKy0KKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggIHwgMTYgKysrKysrLS0tLS0tLS0tLQorIGdjYy9jb25maWcvc2gvbGludXguaCAgICAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXguaCAgICAgfCAgMiArLQorIGdjYy9jb25maWcvc3BhcmMvbGludXg2NC5oICAgfCAgNCArKy0tCisgMTIgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FscGhhL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAoraW5kZXggMzZiNzRkYzE5OTMuLjAyMzczNTc4YWY4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorKysrIGIvZ2NjL2NvbmZpZy9hbHBoYS9saW51eC1lbGYuaAorQEAgLTIzLDggKzIzLDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAjZGVmaW5lIEVYVFJBX1NQRUNTIFwKKyB7ICJlbGZfZHluYW1pY19saW5rZXIiLCBFTEZfRFlOQU1JQ19MSU5LRVIgfSwKKyAKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSCSIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUglTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKysjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19VQ0xJQkMKKyAjZGVmaW5lIENIT09TRV9EWU5BTUlDX0xJTktFUihHLCBVKSAiJXttZ2xpYmM6IiBHICI7OiIgVSAifSIKKyAjZWxpZiBERUZBVUxUX0xJQkMgPT0gTElCQ19HTElCQworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaCBiL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAoraW5kZXggODU4NWZkZTNkNDEuLmIzYWY2OGNhYzU3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK0BAIC02Miw4ICs2Miw4IEBACisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVJfREVGQVVMVCBhbmQgVEFSR0VUX0RFRkFVTFRfRkxPQVRfQUJJLiAgKi8KKyAKKyAjdW5kZWYgIEdMSUJDX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUICIvbGliL2xkLWxpbnV4LnNvLjMiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9IQVJEX0ZMT0FUICIvbGliL2xkLWxpbnV4LWFybWhmLnNvLjMiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUl9TT0ZUX0ZMT0FUIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4zIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJfSEFSRF9GTE9BVCBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYXJtaGYuc28uMyIKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSX0RFRkFVTFQgR0xJQkNfRFlOQU1JQ19MSU5LRVJfU09GVF9GTE9BVAorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWxmLmgKK2luZGV4IGNmY2Q5Y2IxYTVjLi5hNzk4ZTk4N2VjYiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVsZi5oCisrKysgYi9nY2MvY29uZmlnL2FybS9saW51eC1lbGYuaAorQEAgLTYwLDcgKzYwLDcgQEAKKyAKKyAjZGVmaW5lIExJQkdDQ19TUEVDICIle21mbG9hdC1hYmk9c29mdCo6LWxmbG9hdH0gLWxnY2MiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI2RlZmluZSBMSU5VWF9UQVJHRVRfTElOS19TUEVDICAiJXtoKn0gXAorICAgICV7c3RhdGljOi1Cc3RhdGljfSBcCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmggYi9nY2MvY29uZmlnL2kzODYvbGludXguaAoraW5kZXggNjlmOTdmMTViMGQuLjcxYmMzMWQ5MjMxIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eC5oCitAQCAtMjAsNyArMjAsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisgCisgI2RlZmluZSBHTlVfVVNFUl9MSU5LX0VNVUxBVElPTiAiZWxmX2kzODYiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2xpbnV4NjQuaCBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK2luZGV4IGYyZDkxM2UzMGFjLi44NzI1ZjMzZDhhNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKKysrKyBiL2djYy9jb25maWcvaTM4Ni9saW51eDY0LmgKK0BAIC0yNyw5ICsyNyw5IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT042NCAiZWxmX3g4Nl82NCIKKyAjZGVmaW5lIEdOVV9VU0VSX0xJTktfRU1VTEFUSU9OWDMyICJlbGYzMl94ODZfNjQiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIvbGliL2xkLWxpbnV4LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUlgzMiAiL2xpYngzMi9sZC1saW51eC14MzIuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14ODYtNjQuc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSWDMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC14MzIuc28uMiIKKyAKKyAjdW5kZWYgTVVTTF9EWU5BTUlDX0xJTktFUjMyCisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSMzIgIi9saWIvbGQtbXVzbC1pMzg2LnNvLjEiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9saW51eC5oIGIvZ2NjL2NvbmZpZy9saW51eC5oCitpbmRleCAyZWE0ZmY5MmMxZC4uNDg3YjBjMDkyM2IgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2xpbnV4LmgKKysrKyBiL2djYy9jb25maWcvbGludXguaAorQEAgLTgxLDEwICs4MSwxMCBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICBHTElCQ19EWU5BTUlDX0xJTktFUiBtdXN0IGJlIGRlZmluZWQgZm9yIGVhY2ggdGFyZ2V0IHVzaW5nIHRoZW0sIG9yCisgICAgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBhbmQgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBmb3IgdGFyZ2V0cworICAgIHN1cHBvcnRpbmcgYm90aCAzMi1iaXQgYW5kIDY0LWJpdCBjb21waWxhdGlvbi4gICovCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgIi9saWIvbGR4MzItdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorKyNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJYMzIgU1lTVEVNTElCU19ESVIgImxkeDMyLXVDbGliYy5zby4wIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSICIvc3lzdGVtL2Jpbi9saW5rZXIiCisgI2RlZmluZSBCSU9OSUNfRFlOQU1JQ19MSU5LRVIzMiAiL3N5c3RlbS9iaW4vbGlua2VyIgorICNkZWZpbmUgQklPTklDX0RZTkFNSUNfTElOS0VSNjQgIi9zeXN0ZW0vYmluL2xpbmtlcjY0IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbWlwcy9saW51eC5oIGIvZ2NjL2NvbmZpZy9taXBzL2xpbnV4LmgKK2luZGV4IDJkZmQwYzE4YjkwLi4xMjA1N2M1MWI1ZSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbWlwcy9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL21pcHMvbGludXguaAorQEAgLTIyLDIwICsyMiwyMCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICNkZWZpbmUgR05VX1VTRVJfTElOS19FTVVMQVRJT05OMzIgImVsZjMyJXtFQjpifSV7RUw6bH10c21pcG4zMiIKKyAKKyAjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIvbGQtbGludXgtbWlwc244LnNvLjE7Oi9saWIvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYjY0L2xkLWxpbnV4LW1pcHNuOC5zby4xOzovbGliNjQvbGQuc28uMX0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtbWlwc244LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkLnNvLjF9IgorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC1saW51eC1taXBzbjguc28uMTs6L2xpYjMyL2xkLnNvLjF9IgorKyAgIiV7bW5hbj0yMDA4OiIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LW1pcHNuOC5zby4xOzoiIFNZU1RFTUxJQlNfRElSICJsZC5zby4xfSIKKyAKKyAjdW5kZWYgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIKKyAjZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjMyIFwKKy0gICIle21uYW49MjAwODovbGliL2xkLXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgI3VuZGVmIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0CisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBcCistICAiJXttbmFuPTIwMDg6L2xpYi9sZDY0LXVDbGliYy1taXBzbjguc28uMDs6L2xpYi9sZDY0LXVDbGliYy5zby4wfSIKKysgICIle21uYW49MjAwODoiIFNZU1RFTUxJQlNfRElSICJsZDY0LXVDbGliYy1taXBzbjguc28uMDs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMH0iCisgI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVJOMzIgXAorLSAgIiV7bW5hbj0yMDA4Oi9saWIzMi9sZC11Q2xpYmMtbWlwc244LnNvLjA7Oi9saWIzMi9sZC11Q2xpYmMuc28uMH0iCisrICAiJXttbmFuPTIwMDg6IiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLW1pcHNuOC5zby4wOzoiIFNZU1RFTUxJQlNfRElSICJsZC11Q2xpYmMuc28uMH0iCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIzMgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjMyIFwKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmggYi9nY2MvY29uZmlnL3Jpc2N2L2xpbnV4LmgKK2luZGV4IGFhOGEyOGQ1ZDMxLi5lYmY5NTUxYzk1NSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9saW51eC5oCitAQCAtMjIsNyArMjIsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQorICAgICBHTlVfVVNFUl9UQVJHRVRfT1NfQ1BQX0JVSUxUSU5TKCk7CQkJCVwKKyAgIH0gd2hpbGUgKDApCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1yaXNjdiIgWExFTl9TUEVDICItIiBBQklfU1BFQyAiLnNvLjEiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtcmlzY3YiIFhMRU5fU1BFQyAiLSIgQUJJX1NQRUMgIi5zby4xIgorIAorICNkZWZpbmUgTVVTTF9BQklfU1VGRklYIFwKKyAgICIle21hYmk9aWxwMzI6LXNmfSIgXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNDRlYWI0MGEyMzQuLjU0YWE4ZDk1N2U3IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MTMsMTYgKzQxMywxMSBAQCBleHRlcm4gaW50IGRvdF9zeW1ib2xzOworICN1bmRlZglMSU5LX09TX0RFRkFVTFRfU1BFQworICNkZWZpbmUgTElOS19PU19ERUZBVUxUX1NQRUMgIiUobGlua19vc19saW51eCkiCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyICIlKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliL2xkLnNvLjEiCistCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC5zby4xIgorICNpZmRlZiBMSU5VWDY0X0RFRkFVTFRfQUJJX0VMRnYyCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjY0IFwKKy0iJXttYWJpPWVsZnYxOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjE7IiBcCistIjolKGR5bmFtaWNfbGlua2VyX3ByZWZpeCkvbGliNjQvbGQ2NC5zby4yfSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgIiV7bWFiaT1lbGZ2MToiIFNZU1RFTUxJQlNfRElSICJsZDY0LnNvLjE7OiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMn0iCisgI2Vsc2UKKy0jZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSNjQgXAorLSIle21hYmk9ZWxmdjI6JShkeW5hbWljX2xpbmtlcl9wcmVmaXgpL2xpYjY0L2xkNjQuc28uMjsiIFwKKy0iOiUoZHluYW1pY19saW5rZXJfcHJlZml4KS9saWI2NC9sZDY0LnNvLjF9IgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiJXttYWJpPWVsZnYyOiIgU1lTVEVNTElCU19ESVIgImxkNjQuc28uMjs6IiBTWVNURU1MSUJTX0RJUiAibGQ2NC5zby4xfSIKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCitAQCAtNDMwLDggKzQyNSw5IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSNjQgXAorICAgIi9saWIvbGQtbXVzbC1wb3dlcnBjNjQiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisgCistI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC11Q2xpYmMuc28uMCIKKy0jZGVmaW5lIFVDTElCQ19EWU5BTUlDX0xJTktFUjY0ICIvbGliL2xkNjQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVIzMiBTWVNURU1MSUJTX0RJUiAibGQtdUNsaWJjLnNvLjAiCisrI2RlZmluZSBVQ0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQ2NC11Q2xpYmMuc28uMCIKKysKKyAjaWYgREVGQVVMVF9MSUJDID09IExJQkNfVUNMSUJDCisgI2RlZmluZSBDSE9PU0VfRFlOQU1JQ19MSU5LRVIoRywgVSwgTSkgXAorICAgIiV7bWdsaWJjOiIgRyAiOzole21tdXNsOiIgTSAiOzoiIFUgIn19IgorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc2gvbGludXguaCBiL2djYy9jb25maWcvc2gvbGludXguaAoraW5kZXggNmQyY2NkMDEyYmEuLmVjNzhhODljZTE1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9zaC9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL3NoL2xpbnV4LmgKK0BAIC02NCw3ICs2NCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisgICAiL2xpYi9sZC1tdXNsLXNoIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgTVVTTF9EWU5BTUlDX0xJTktFUl9GUCBcCisgICAiJXttZmRwaWM6LWZkcGljfS5zby4xIgorIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXguc28uMiIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorIAorICN1bmRlZiBTVUJUQVJHRVRfTElOS19FTVVMX1NVRkZJWAorICNkZWZpbmUgU1VCVEFSR0VUX0xJTktfRU1VTF9TVUZGSVggIiV7bWZkcGljOl9mZDs6X2xpbnV4fSIKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmggYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4LmgKK2luZGV4IDlmYjAzYWYwZmU5Li40MDFmZGRiYmIyMiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eC5oCitAQCAtODMsNyArODMsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqaG9zdF9kZXRlY3RfbG9jYWxfY3B1IChpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpOworICAgIFdoZW4gdGhlIC1zaGFyZWQgbGluayBvcHRpb24gaXMgdXNlZCBhIGZpbmFsIGxpbmsgaXMgbm90IGJlaW5nCisgICAgZG9uZS4gICovCisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LnNvLjIiCisgCisgI3VuZGVmICBMSU5LX1NQRUMKKyAjZGVmaW5lIExJTktfU1BFQyAiLW0gZWxmMzJfc3BhcmMgJXtzaGFyZWQ6LXNoYXJlZH0gXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oIGIvZ2NjL2NvbmZpZy9zcGFyYy9saW51eDY0LmgKK2luZGV4IGMxZmU0MjE2NWI3Li4yNmE3OWJmYTJlMyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvc3BhcmMvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3NwYXJjL2xpbnV4NjQuaAorQEAgLTg0LDggKzg0LDggQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKyAgICBXaGVuIHRoZSAtc2hhcmVkIGxpbmsgb3B0aW9uIGlzIHVzZWQgYSBmaW5hbCBsaW5rIGlzIG5vdCBiZWluZworICAgIGRvbmUuICAqLworIAorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIzMiAiL2xpYi9sZC1saW51eC5zby4yIgorLSNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCAiL2xpYjY0L2xkLWxpbnV4LnNvLjIiCisrI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUjMyIFNZU1RFTUxJQlNfRElSICJsZC1saW51eC5zby4yIgorKyNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVI2NCBTWVNURU1MSUJTX0RJUiAibGQtbGludXguc28uMiIKKyAKKyAjaWZkZWYgU1BBUkNfQklfQVJDSAorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDEzLWdjYy1GaXgtYXJndW1lbnQtbGlzdC10b28tbG9uZy1lcnJvci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWQyY2FjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxMy1nY2MtRml4LWFyZ3VtZW50LWxpc3QtdG9vLWxvbmctZXJyb3IucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorRnJvbSA5ZTgxNTk2NWZiYWE5MDEzNGJlMGU3NzdjZmMyZmJjZmFiMTZiNjc0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6MjY6MzcgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxMy80MF0gZ2NjOiBGaXggYXJndW1lbnQgbGlzdCB0b28gbG9uZyBlcnJvci4KKworVGhlcmUgd291bGQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gdGhlCitidWlsZCBkaXJlY3RvcnkgaXMgbG9uZ2VyIHRoYW4gMjAwLCB0aGlzIGlzIGNhdXNlZCBieToKKworaGVhZGVycz1gZWNobyAkKFBMVUdJTl9IRUFERVJTKSB8IHRyICcgJyAnXDAxMicgfCBzb3J0IC11YAorCitUaGUgUExVR0lOX0hFQURFUlMgaXMgdG9vIGxvbmcgYmVmb3JlIHNvcnQsIHNvIHRoZSAiZWNobyIgY2FuJ3QgaGFuZGxlCitpdCwgdXNlIHRoZSAkKHNvcnQgbGlzdCkgb2YgR05VIG1ha2Ugd2hpY2ggY2FuIGhhbmRsZSB0aGUgdG9vIGxvbmcgbGlzdAord291bGQgZml4IHRoZSBwcm9ibGVtLCB0aGUgaGVhZGVyIHdvdWxkIGJlIHNob3J0IGVub3VnaCBhZnRlciBzb3J0ZWQuCitUaGUgInRyICcgJyAnXDAxMiciIHdhcyB1c2VkIGZvciB0cmFuc2xhdGluZyB0aGUgc3BhY2UgdG8gIlxuIiwgdGhlCiskKHNvcnQgbGlzdCkgZG9lc24ndCBuZWVkIHRoaXMuCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBnY2MvTWFrZWZpbGUuaW4gfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZpbGUuaW4KK2luZGV4IDEzNjcxMzZiZmFjLi43MWE4Mjc1YzM5ZiAxMDA2NDQKKy0tLSBhL2djYy9NYWtlZmlsZS5pbgorKysrIGIvZ2NjL01ha2VmaWxlLmluCitAQCAtMzUzOCw3ICszNTM4LDcgQEAgaW5zdGFsbC1wbHVnaW46IGluc3RhbGxkaXJzIGxhbmcuaW5zdGFsbC1wbHVnaW4gcy1oZWFkZXItdmFycyBpbnN0YWxsLWdlbmd0eXBlCisgIyBXZSBrZWVwIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlIGZvciBmaWxlcyBpbiBjb25maWcgb3IgYy1mYW1pbHkgYW5kIC5kZWYKKyAjIGZpbGVzLiBBbGwgb3RoZXIgZmlsZXMgYXJlIGZsYXR0ZW5lZCB0byBhIHNpbmdsZSBkaXJlY3RvcnkuCisgCSQobWtpbnN0YWxsZGlycykgJChERVNURElSKSQocGx1Z2luX2luY2x1ZGVkaXIpCistCWhlYWRlcnM9YGVjaG8gJChQTFVHSU5fSEVBREVSUykgJCQoY2QgJChzcmNkaXIpOyBlY2hvICouaCAqLmRlZikgfCB0ciAnICcgJ1wwMTInIHwgc29ydCAtdWA7IFwKKysJaGVhZGVycz0iJChzb3J0ICQoUExVR0lOX0hFQURFUlMpICQkKGNkICQoc3JjZGlyKTsgZWNobyAqLmggKi5kZWYpKSI7IFwKKyAJc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3JjZGlyKSIgfCBzZWQgJ3MvW10uW14kJFxcKnxdL1xcXFwmL2cnYDsgXAorIAlmb3IgZmlsZSBpbiAkJGhlYWRlcnM7IGRvIFwKKyAJICBpZiBbIC1mICQkZmlsZSBdIDsgdGhlbiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE0LURpc2FibGUtc2R0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmM0NDUxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNC1EaXNhYmxlLXNkdC5wYXRjaApAQCAtMCwwICsxLDExMyBAQAorRnJvbSAwMGM3YTdmZGQ0YjRhYWQ5ZTU3ZDhiNTQxZGUxN2FkMjA5YjZjZDA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWFyIDIwMTMgMDk6Mjg6MTAgKzA0MDAKK1N1YmplY3Q6IFtQQVRDSCAxNC80MF0gRGlzYWJsZSBzZHQuCisKK1dlIGRvbid0IGxpc3QgZHRyYWNlIGluIERFUEVORFMgc28gd2Ugc2hvdWxkbid0IGJlIGRlcGVuZGluZyBvbiB0aGlzIGhlYWRlci4KK0l0IG1heSBvciBtYXkgbm90IGV4aXN0IGZyb20gcHJlaXZvdXMgYnVpbGRzIHRob3VnaC4gVG8gYmUgZGV0ZXJtaW5zdGljLCBkaXNhYmxlCitzZHQuaCB1c2FnZSBhbHdheXMuIFRoaXMgYXZvaWRzIGJ1aWxkIGZhaWx1cmVzIGlmIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZCBhZnRlciBjb25maWd1cmUKK2J1dCBiZWZvcmUgbGliZ2NjIGlzIGNvbXBpbGVkIGZvciBleGFtcGxlLgorCitSUCAyMDEyLzgvNworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitEaXNhYmxlIHNkdCBmb3IgbGlic3RkYysrLXYzLgorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtoYWNrXQorLS0tCisgZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQorIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KKyBsaWJzdGRjKystdjMvY29uZmlndXJlICAgIHwgIDYgKysrLS0tCisgbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyB8ICAyICstCisgNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAxMzRjMmMyZjE1Ni4uNTExMWVjMGFhYmIgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMjkyODIsMTIgKzI5MjgyLDEyIEBAIGZpCisgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkiID4mNQorICRhc19lY2hvX24gImNoZWNraW5nIHN5cy9zZHQuaCBpbiB0aGUgdGFyZ2V0IEMgbGlicmFyeS4uLiAiID4mNjsgfQorIGhhdmVfc3lzX3NkdF9oPW5vCistaWYgdGVzdCAtZiAkdGFyZ2V0X2hlYWRlcl9kaXIvc3lzL3NkdC5oOyB0aGVuCistICBoYXZlX3N5c19zZHRfaD15ZXMKKy0KKy0kYXNfZWNobyAiI2RlZmluZSBIQVZFX1NZU19TRFRfSCAxIiA+PmNvbmZkZWZzLmgKKy0KKy1maQorKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorKyMKKysjZmkKKyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGhhdmVfc3lzX3NkdF9oIiA+JjUKKyAkYXNfZWNobyAiJGhhdmVfc3lzX3NkdF9oIiA+JjY7IH0KKyAKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlLmFjIGIvZ2NjL2NvbmZpZ3VyZS5hYworaW5kZXggMGMzYzgyZTRmZjcuLjNlMDlhZjkxNmZkIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZ3VyZS5hYworKysrIGIvZ2NjL2NvbmZpZ3VyZS5hYworQEAgLTU5NDMsMTUgKzU5NDMsMTUgQEAgZmkKKyBBQ19TVUJTVChbZW5hYmxlX2RlZmF1bHRfc3NwXSkKKyAKKyAjIFRlc3QgZm9yIDxzeXMvc2R0Lmg+IG9uIHRoZSB0YXJnZXQuCistR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorLUFDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCistaGF2ZV9zeXNfc2R0X2g9bm8KKy1pZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKy0gIGhhdmVfc3lzX3NkdF9oPXllcworLSAgQUNfREVGSU5FKEhBVkVfU1lTX1NEVF9ILCAxLAorLSAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCistZmkKKy1BQ19NU0dfUkVTVUxUKCRoYXZlX3N5c19zZHRfaCkKKysjR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hdKQorKyNBQ19NU0dfQ0hFQ0tJTkcoc3lzL3NkdC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5KQorKyNoYXZlX3N5c19zZHRfaD1ubworKyNpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0Lmg7IHRoZW4KKysjICBoYXZlX3N5c19zZHRfaD15ZXMKKysjICBBQ19ERUZJTkUoSEFWRV9TWVNfU0RUX0gsIDEsCisrIyAgICAgICAgICAgIFtEZWZpbmUgaWYgeW91ciB0YXJnZXQgQyBsaWJyYXJ5IHByb3ZpZGVzIHN5cy9zZHQuaF0pCisrI2ZpCisrI0FDX01TR19SRVNVTFQoJGhhdmVfc3lzX3NkdF9oKQorIAorICMgQ2hlY2sgaWYgVEZtb2RlIGxvbmcgZG91YmxlIHNob3VsZCBiZSB1c2VkIGJ5IGRlZmF1bHQgb3Igbm90LgorICMgU29tZSBnbGliYyB0YXJnZXRzIHVzZWQgREZtb2RlIGxvbmcgZG91YmxlLCBidXQgd2l0aCBnbGliYyAyLjQKK2RpZmYgLS1naXQgYS9saWJzdGRjKystdjMvY29uZmlndXJlIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQoraW5kZXggNTUzNWJmYTJiNWEuLjEzZDc5M2Y1MDU5IDEwMDc1NQorLS0tIGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorKysrIGIvbGlic3RkYysrLXYzL2NvbmZpZ3VyZQorQEAgLTIxNzg2LDExICsyMTc4NiwxMSBAQCBhY19jb21waWxlPSckQ0MgLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCisgYWNfbGluaz0nJENDIC1vIGNvbmZ0ZXN0JGFjX2V4ZWV4dCAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKKyBhY19jb21waWxlcl9nbnU9JGFjX2N2X2NfY29tcGlsZXJfZ251CisgCistICBpZiB0ZXN0ICRnbGliY3h4X2N2X3N5c19zZHRfaCA9IHllczsgdGhlbgorKyMgIGlmIHRlc3QgJGdsaWJjeHhfY3Zfc3lzX3NkdF9oID0geWVzOyB0aGVuCisgCistJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9TWVNfU0RUX0ggMSIgPj5jb25mZGVmcy5oCisrIyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorIAorLSAgZmkKKysjICBmaQorICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY1CisgJGFzX2VjaG8gIiRnbGliY3h4X2N2X3N5c19zZHRfaCIgPiY2OyB9CisgCitkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2NvbmZpZ3VyZS5hYyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK2luZGV4IDBlZjk2MjcwYzljLi5hZmU1NWExYjIxNSAxMDA2NDQKKy0tLSBhL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKKysrKyBiL2xpYnN0ZGMrKy12My9jb25maWd1cmUuYWMKK0BAIC0yMzAsNyArMjMwLDcgQEAgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ0VTU09SU19PTkxOCisgR0xJQkNYWF9DSEVDS19TQ19OUFJPQ19PTkxOCisgR0xJQkNYWF9DSEVDS19QVEhSRUFEU19OVU1fUFJPQ0VTU09SU19OUAorIEdMSUJDWFhfQ0hFQ0tfU1lTQ1RMX0hXX05DUFUKKy1HTElCQ1hYX0NIRUNLX1NEVF9ICisrI0dMSUJDWFhfQ0hFQ0tfU0RUX0gKKyAKKyAjIENoZWNrIGZvciBhdmFpbGFibGUgaGVhZGVycy4KKyBBQ19DSEVDS19IRUFERVJTKFtlbmRpYW4uaCBleGVjaW5mby5oIGZsb2F0LmggZnAuaCBpZWVlZnAuaCBpbnR0eXBlcy5oIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTUtbGlidG9vbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTBmOGEyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNS1saWJ0b29sLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gODBmMmIwMWIzZjkxN2NlYTA4Mjk0MzI4YzhiYmM1MWRhZGVjZTRhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjI5OjExICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTUvNDBdIGxpYnRvb2wKKworbGlic3RkYysrIGZyb20gZ2NjLXJ1bnRpbWUgZ2V0cyBjcmVhdGVkIHdpdGggLXJwYXRoPS91c3IvbGliLy4uL2xpYiBmb3IgcWVtdXg4Ni02NAord2hlbiBydW5uaW5nIG9uIGFtIHg4Nl82NCBidWlsZCBob3N0LgorCitUaGlzIHBhdGNoIHN0b3BzIHRoaXMgc3BlYWRpbmcgdG8gbGliZGlyIGluIHRoZSBsaWJzdGRjKysubGEgZmlsZSB3aXRoaW4gbGlidG9vbC4KK0FyZ3VhYmx5LCBpdCBzaG91bGRuJ3QgYmUgcGFzc2luZyB0aGlzIGludG8gbGlidG9vbCBpbiB0aGUgZmlyc3QgcGxhY2UgYnV0Citmb3Igbm93IHRoaXMgcmVzb2x2ZXMgdGhlIG5hc3RpZXN0IHByb2JsZW1zIHRoaXMgY2F1c2VzLgorCitmdW5jX25vcm1hbF9hYnNwYXRoIHdvdWxkIHJlc29sdmUgYW4gZW1wdHkgcGF0aCB0byBgcHdkYCBzbyB3ZSBuZWVkCit0byBmaWx0ZXIgdGhlIHplcm8gY2FzZS4KKworUlAgMjAxMi84LzI0CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgbHRtYWluLnNoIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA5NTAzZWM4NWQ3MC4uMDEyMWZiYTcwN2YgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYzNTksNiArNjM1OSwxMCBAQCBmdW5jX21vZGVfbGluayAoKQorIAlmdW5jX3dhcm5pbmcgImlnbm9yaW5nIG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IgorIAorICAgICAgIGluc3RhbGxfbGliZGlyPSIkMSIKKysgICAgICBpZiB0ZXN0IC1uICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCisrCWZ1bmNfbm9ybWFsX2Fic3BhdGggIiRpbnN0YWxsX2xpYmRpciIKKysJaW5zdGFsbF9saWJkaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CisrICAgICAgZmkKKyAKKyAgICAgICBvbGRsaWJzPQorICAgICAgIGlmIHRlc3QgLXogIiRycGF0aCI7IHRoZW4KKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTYtZ2NjLWFybXY0LXBhc3MtZml4LXY0YngtdG8tbGlua2VyLXRvLXN1cHBvcnQtRUFCSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjFiNGQ0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNi1nY2MtYXJtdjQtcGFzcy1maXgtdjRieC10by1saW5rZXItdG8tc3VwcG9ydC1FQUJJLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gYTY2ZWMxZTM4MmJmODY5NzQ5NTg4ZjA3MmE0YTdjMDkwMzlmMmIzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMwOjMyICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTYvNDBdIGdjYzogYXJtdjQ6IHBhc3MgZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSS4KKworVGhlIExJTktfU1BFQyBmb3IgbGludXggZ2V0cyBvdmVyd3JpdHRlbiBieSBsaW51eC1lYWJpLmggd2hpY2gKK21lYW5zIHRoZSB2YWx1ZSBvZiBUQVJHRVRfRklYX1Y0QlhfU1BFQyBnZXRzIGxvc3QgYW5kIGFzIGEgcmVzdWx0Cit0aGUgb3B0aW9uIGlzIG5vdCBwYXNzZWQgdG8gbGlua2VyIHdoZW4gY2hvc2luZyBtYXJjaD1hcm12NAorVGhpcyBwYXRjaCByZWRlZmluZXMgdGhpcyBpbiBsaW51eC1lYWJpLmggYW5kIHJlaW5zZXJ0cyBpdAorZm9yIGVhYmkgZGVmYXVsdGluZyB0b29sY2hhaW5zLgorCitXZSBtaWdodCB3YW50IHRvIHNlbmQgaXQgdXBzdHJlYW0uCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmggYi9nY2MvY29uZmlnL2FybS9saW51eC1lYWJpLmgKK2luZGV4IGIzYWY2OGNhYzU3Li4zMzBiNmUxM2M1ZiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYXJtL2xpbnV4LWVhYmkuaAorKysrIGIvZ2NjL2NvbmZpZy9hcm0vbGludXgtZWFiaS5oCitAQCAtODgsMTAgKzg4LDE0IEBACisgI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSIFwKKyAgICIvbGliL2xkLW11c2wtYXJtIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bWZsb2F0LWFiaT1oYXJkOmhmfS5zby4xIgorIAorKy8qIEZvciBhcm12NCB3ZSBwYXNzIC0tZml4LXY0YnggdG8gbGlua2VyIHRvIHN1cHBvcnQgRUFCSSAqLworKyN1bmRlZiBUQVJHRVRfRklYX1Y0QlhfU1BFQworKyNkZWZpbmUgVEFSR0VUX0ZJWF9WNEJYX1NQRUMgIiV7bWNwdT1hcm04fG1jcHU9YXJtODEwfG1jcHU9c3Ryb25nYXJtKnxtYXJjaD1hcm12NDogLS1maXgtdjRieH0iCisrCisgLyogQXQgdGhpcyBwb2ludCwgYnBhYmkuaCB3aWxsIGhhdmUgY2xvYmJlcmVkIExJTktfU1BFQy4gIFdlIHdhbnQgdG8KKyAgICB1c2UgdGhlIEdOVS9MaW51eCB2ZXJzaW9uLCBub3QgdGhlIGdlbmVyaWMgQlBBQkkgdmVyc2lvbi4gICovCisgI3VuZGVmICBMSU5LX1NQRUMKKy0jZGVmaW5lIExJTktfU1BFQyBFQUJJX0xJTktfU1BFQwkJCQkJXAorKyNkZWZpbmUgTElOS19TUEVDIFRBUkdFVF9GSVhfVjRCWF9TUEVDIEVBQklfTElOS19TUEVDCQkJXAorICAgTElOVVhfT1JfQU5EUk9JRF9MRCAoTElOVVhfVEFSR0VUX0xJTktfU1BFQywJCQkJXAorIAkJICAgICAgIExJTlVYX1RBUkdFVF9MSU5LX1NQRUMgIiAiIEFORFJPSURfTElOS19TUEVDKQorIAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxNy1Vc2UtdGhlLW11bHRpbGliLWNvbmZpZy1maWxlcy1mcm9tLUItaW5zdGVhZC1vZi11c2luLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MmZlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE3LVVzZS10aGUtbXVsdGlsaWItY29uZmlnLWZpbGVzLWZyb20tQi1pbnN0ZWFkLW9mLXVzaW4ucGF0Y2gKQEAgLTAsMCArMSwxMDIgQEAKK0Zyb20gNjI0ZGI3MzRmNjU2YWQ4Y2RmOGIzY2YzZmM4ZTg2MGI3MGM2YzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IE1hciAyMDEzIDA5OjMzOjA0ICswNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTcvNDBdIFVzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mCisgdXNpbmcgdGhlIG9uZXMgZnJvbSAke1N9CisKK1VzZSB0aGUgbXVsdGlsaWIgY29uZmlnIGZpbGVzIGZyb20gJHtCfSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBvbmVzIGZyb20gJHtTfQorc28gdGhhdCB0aGUgc291cmNlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBnY2MtY3Jvc3MtaW5pdGlhbCwKK2djYy1jcm9zcy1pbnRlcm1lZGlhdGUsIGdjYy1jcm9zcywgZ2NjLXJ1bnRpbWUsIGFuZCBhbHNvIHRoZSBzZGsgYnVpbGQuCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KKy0tLQorIGdjYy9jb25maWd1cmUgICAgfCAyMiArKysrKysrKysrKysrKysrKystLS0tCisgZ2NjL2NvbmZpZ3VyZS5hYyB8IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlndXJlIGIvZ2NjL2NvbmZpZ3VyZQoraW5kZXggNTExMWVjMGFhYmIuLjNkOWRjYmRjOTNkIDEwMDc1NQorLS0tIGEvZ2NjL2NvbmZpZ3VyZQorKysrIGIvZ2NjL2NvbmZpZ3VyZQorQEAgLTEyMTM4LDEwICsxMjEzOCwyMCBAQCBkb25lCisgdG1ha2VfZmlsZV89CisgZm9yIGYgaW4gJHt0bWFrZV9maWxlfQorIGRvCistCWlmIHRlc3QgLWYgJHtzcmNkaXJ9L2NvbmZpZy8kZgorLQl0aGVuCistCQl0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCistCWZpCisrICBjYXNlICRmIGluCisrICAgICovdC1saW51eDY0ICkKKysgICAgICAgaWYgdGVzdCAtZiAuL2NvbmZpZy8kZgorKyAgICAgICB0aGVuCisrICAgICAgICAgdG1ha2VfZmlsZV89IiR7dG1ha2VfZmlsZV99IC4vY29uZmlnLyRmIgorKyAgICAgICBmaQorKyAgICAgICA7OworKyAgICAqICkKKysgICAgICAgaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gXCQoc3JjZGlyKS9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICBlc2FjCisgZG9uZQorIHRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZV99IgorIAorQEAgLTEyMTUyLDYgKzEyMTYyLDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZ3VyZS5hYyBiL2djYy9jb25maWd1cmUuYWMKK2luZGV4IDNlMDlhZjkxNmZkLi5lMDljODQwYjYwNSAxMDA2NDQKKy0tLSBhL2djYy9jb25maWd1cmUuYWMKKysrKyBiL2djYy9jb25maWd1cmUuYWMKK0BAIC0xOTAyLDEwICsxOTAyLDIwIEBAIGRvbmUKKyB0bWFrZV9maWxlXz0KKyBmb3IgZiBpbiAke3RtYWtlX2ZpbGV9CisgZG8KKy0JaWYgdGVzdCAtZiAke3NyY2Rpcn0vY29uZmlnLyRmCistCXRoZW4KKy0JCXRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKy0JZmkKKysgIGNhc2UgJGYgaW4KKysgICAgKi90LWxpbnV4NjQgKQorKyAgICAgICBpZiB0ZXN0IC1mIC4vY29uZmlnLyRmCisrICAgICAgIHRoZW4KKysgICAgICAgICB0bWFrZV9maWxlXz0iJHt0bWFrZV9maWxlX30gLi9jb25maWcvJGYiCisrICAgICAgIGZpCisrICAgICAgIDs7CisrICAgICogKQorKyAgICAgICBpZiB0ZXN0IC1mICR7c3JjZGlyfS9jb25maWcvJGYKKysgICAgICAgdGhlbgorKyAgICAgICAgIHRtYWtlX2ZpbGVfPSIke3RtYWtlX2ZpbGVffSBcJChzcmNkaXIpL2NvbmZpZy8kZiIKKysgICAgICAgZmkKKysgICAgICAgOzsKKysgIGVzYWMKKyBkb25lCisgdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlX30iCisgCitAQCAtMTkxNiw2ICsxOTI2LDEwIEBAIHRtX2ZpbGVfbGlzdD0ib3B0aW9ucy5oIgorIHRtX2luY2x1ZGVfbGlzdD0ib3B0aW9ucy5oIGluc24tY29uc3RhbnRzLmgiCisgZm9yIGYgaW4gJHRtX2ZpbGU7IGRvCisgICBjYXNlICRmIGluCisrICAgICovbGludXg2NC5oICkKKysgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gLi9jb25maWcvJGYiCisrICAgICAgIHRtX2luY2x1ZGVfbGlzdD0iJHt0bV9pbmNsdWRlX2xpc3R9IC4vY29uZmlnLyRmIgorKyAgICAgICA7OworICAgICAuLyogKQorICAgICAgICBmPWBlY2hvICRmIHwgc2VkICdzL14uLi8vJ2AKKyAgICAgICAgdG1fZmlsZV9saXN0PSIke3RtX2ZpbGVfbGlzdH0gJGYiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDE4LUF2b2lkLXVzaW5nLWxpYmRpci1mcm9tLS5sYS13aGljaC11c3VhbGx5LXBvaW50cy10by0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBlNzdkNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTgtQXZvaWQtdXNpbmctbGliZGlyLWZyb20tLmxhLXdoaWNoLXVzdWFsbHktcG9pbnRzLXRvLS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDI3Y2NhOTVkY2ZlZWFkOGM1MmQyOTJjNDgyNGVlOTZmMTc4ZDYxODMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAwOTozOTozOCArMDAwMAorU3ViamVjdDogW1BBVENIIDE4LzQwXSBBdm9pZCB1c2luZyBsaWJkaXIgZnJvbSAubGEgd2hpY2ggdXN1YWxseSBwb2ludHMgdG8gYQorIGhvc3QgcGF0aAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBMaXUgPG5ldDE0N0BnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbHRtYWluLnNoIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9sdG1haW4uc2ggYi9sdG1haW4uc2gKK2luZGV4IDAxMjFmYmE3MDdmLi41MmJkYmRiNWY5YyAxMDA2NDQKKy0tLSBhL2x0bWFpbi5zaAorKysrIGIvbHRtYWluLnNoCitAQCAtNTYyOCw2ICs1NjI4LDkgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgIGFic2Rpcj0iJGFic19sYWRpciIKKyAJICAgIGxpYmRpcj0iJGFic19sYWRpciIKKyAJICBlbHNlCisrCSAgICAjIEluc3RlYWQgb2YgdXNpbmcgbGliZGlyIGZyb20gLmxhIHdoaWNoIHVzdWFsbHkgcG9pbnRzIHRvIGEgaG9zdCBwYXRoLAorKwkgICAgIyB1c2UgdGhlIHBhdGggdGhlIC5sYSBpcyBjb250YWluZWQgaW4uCisrCSAgICBsaWJkaXI9IiRhYnNfbGFkaXIiCisgCSAgICBkaXI9IiRsaWJkaXIiCisgCSAgICBhYnNkaXI9IiRsaWJkaXIiCisgCSAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMTktZXhwb3J0LUNQUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDBjNjdhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAxOS1leHBvcnQtQ1BQLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gYTI5MzYzODJkYTgxYWVmYTliNjljMWZjNjI1ZjZjNzA2YjdlYTFkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDA5OjQwOjU5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMTkvNDBdIGV4cG9ydCBDUFAKKworVGhlIE9FIGVudmlyb25tZW50IHNldHMgYW5kIGV4cG9ydHMgQ1BQIGFzIGJlaW5nIHRoZSB0YXJnZXQgZ2NjLiBXaGVuCitidWlsZGluZyBnY2MtY3Jvc3MtY2FuYWRpYW4gZm9yIGEgbWluZ3cgdGFyZ2V0dGVkIHNkaywgdGhlIGZvbGxvd2luZyBjYW4gYmUgZm91bmQKK2luIGJ1aWxkLng4Nl82NC1wb2t5c2RrLW1pbmd3MzIuaTU4Ni1wb2t5LWxpbnV4L2J1aWxkLXg4Nl82NC1saW51eC9saWJpYmVydHkvY29uZmlnLmxvZzoKKworY29uZmlndXJlOjM2NDE6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCitjb25maWd1cmU6MzY2NjogZ2NjICAtYyAtaXN5c3RlbS9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9pbmNsdWRlIC1PMiAtcGlwZSAgY29uZnRlc3QuYyA+JjUKK2NvbmZpZ3VyZTozNjY2OiAkPyA9IDAKK2NvbmZpZ3VyZTozNjk4OiByZXN1bHQ6IG5vCitjb25maWd1cmU6Mzc4NjogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKK2NvbmZpZ3VyZTozODU2OiByZXN1bHQ6IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjIC1FIC0tc3lzcm9vdD0vbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1uYXRpdmVzZGstbWluZ3czMi1wb2t5c2RrLW1pbmd3MzIKK2NvbmZpZ3VyZTozODc2OiB4ODZfNjQtcG9reXNkay1taW5ndzMyLWdjYyAtRSAtLXN5c3Jvb3Q9L21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbmF0aXZlc2RrLW1pbmd3MzItcG9reXNkay1taW5ndzMyIGNvbmZ0ZXN0LmMKK2NvbmZpZ3VyZTozODc2OiAkPyA9IDAKKworTm90ZSB0aGlzIGlzIGEgKmJ1aWxkKiB0YXJnZXQgKGluIGJ1aWxkLXg4Nl82NC1saW51eCkgc28gaXQgc2hvdWxkIGJlCit1c2luZyB0aGUgaG9zdCAiZ2NjIiwgbm90IHg4Nl82NC1wb2t5c2RrLW1pbmd3MzItZ2NjLiBTaW5jZSB0aGUgbWluZ3czMgoraGVhZGVycyBhcmUgdmVyeSBkaWZmZXJlbnQsIHVzaW5nIHRoZSB3cm9uZyBjcHAgaXMgYSByZWFsIHByb2JsZW0uIEl0IGlzIGxlYWtpbmcKK2ludG8gY29uZmlndXJlIHRocm91Z2ggdGhlIENQUCB2YXJpYWJsZS4gVWx0aW1hdGVseSB0aGlzIGxlYWRzIHRvIGJ1aWxkCitmYWlsdXJlcyByZWxhdGVkIHRvIG5vdCBiZWluZyBhYmxlIHRvIGluY2x1ZGUgYSBwcm9jZXNzLmggZmlsZSBmb3IgcGVtLXVuaXguYy4KKworVGhlIGZpeCBpcyB0byBlbnN1cmUgd2UgZXhwb3J0IGEgc2FuZSBDUFAgdmFsdWUgaW50byB0aGUgYnVpbGQKK2Vudmlyb25tZW50IHdoZW4gdXNpbmcgYnVpbGQgdGFyZ2V0cy4gV2UgY291bGQgZGVmaW5lIGEgQ1BQX0ZPUl9CVUlMRCB2YWx1ZSB3aGljaCBtYXkgYmUKK3RoZSB2ZXJzaW9uIHdoaWNoIG5lZWRzIHRvIGJlIHVwc3RyZWFtZWQgYnV0IGZvciBub3csIHRoaXMgZml4IGlzIGdvb2QgZW5vdWdoIHRvCithdm9pZCB0aGUgcHJvYmxlbS4KKworUlAgMjIvMDgvMjAxMworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmluIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCitpbmRleCAzODc3NGY1NDJhNi4uYjQyNmQ0ZjkzNTAgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5pbgorKysrIGIvTWFrZWZpbGUuaW4KK0BAIC0xNDksNiArMTQ5LDcgQEAgQlVJTERfRVhQT1JUUyA9IFwKKyAJQVI9IiQoQVJfRk9SX0JVSUxEKSI7IGV4cG9ydCBBUjsgXAorIAlBUz0iJChBU19GT1JfQlVJTEQpIjsgZXhwb3J0IEFTOyBcCisgCUNDPSIkKENDX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ0M7IFwKKysJQ1BQPSIkKENDX0ZPUl9CVUlMRCkgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKyAJQ1hYPSIkKENYWF9GT1JfQlVJTEQpIjsgZXhwb3J0IENYWDsgXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMC1EaXNhYmxlLXRoZS1NVUxUSUxJQl9PU0RJUk5BTUVTLWFuZC1vdGhlci1tdWx0aWxpYi1vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMjU1N2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIwLURpc2FibGUtdGhlLU1VTFRJTElCX09TRElSTkFNRVMtYW5kLW90aGVyLW11bHRpbGliLW8ucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSBkNDMyNmFiNzRhMzYyYjBmYzgzZWQ4NjZmODJjMzU5Mzg5YTM2YWRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjAgRmViIDIwMTUgMTA6MjE6NTUgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyMC80MF0gRGlzYWJsZSB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyBhbmQgb3RoZXIgbXVsdGlsaWIKKyBvcHRpb25zLgorCitIYXJkIGNvZGluZyB0aGUgTVVMVElMSUJfT1NESVJOQU1FUyB3aXRoIC4uL2xpYjY0IGlzIGNhdXNpbmcgcHJvYmxlbXMgb24KK3N5c3RlbXMgd2hlcmUgdGhlIGxpYmRpciBpcyBOT1Qgc2V0IHRvIC9saWI2NC4gIFRoaXMgaXMgYWxsb3dlZCBieSB0aGUKK0FCSSwgYXMKK2xvbmcgYXMgdGhlIGR5bmFtaWMgbG9hZGVyIGlzIHByZXNlbnQgaW4gL2xpYi4KKworV2Ugc2ltcGx5IHdhbnQgdG8gdXNlIHRoZSBkZWZhdWx0IHJ1bGVzIGluIGdjYyB0byBmaW5kIGFuZCBjb25maWd1cmUgdGhlCitub3JtYWwgbGliZGlyLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGVbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IHwgOCArKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2FhcmNoNjQvdC1hYXJjaDY0LWxpbnV4IGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAoraW5kZXggYjk4OTc3ODVhODkuLjdkMDZmMGQwZWRiIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L3QtYWFyY2g2NC1saW51eAorQEAgLTIxLDggKzIxLDggQEAKKyBMSUIxQVNNU1JDICAgPSBhYXJjaDY0L2xpYjFmdW5jcy5hc20KKyBMSUIxQVNNRlVOQ1MgPSBfYWFyY2g2NF9zeW5jX2NhY2hlX3JhbmdlCisgCistQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKy1NVUxUSUxJQl9PU0RJUk5BTUVTID0gbWFiaS5scDY0PS4uL2xpYjY0JChjYWxsIGlmX211bHRpYXJjaCw6YWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKy1NVUxUSUFSQ0hfRElSTkFNRSA9ICQoY2FsbCBpZl9tdWx0aWFyY2gsYWFyY2g2NCQoQUFSQ0hfQkUpLWxpbnV4LWdudSkKKysjQUFSQ0hfQkUgPSAkKGlmICQoZmluZHN0cmluZyBUQVJHRVRfQklHX0VORElBTl9ERUZBVUxUPTEsICQodG1fZGVmaW5lcykpLF9iZSkKKysjTVVMVElMSUJfT1NESVJOQU1FUyA9IG1hYmkubHA2ND0uLi9saWI2NCQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnUpCisrI01VTFRJQVJDSF9ESVJOQU1FID0gJChjYWxsIGlmX211bHRpYXJjaCxhYXJjaDY0JChBQVJDSF9CRSktbGludXgtZ251KQorIAorLU1VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCisrI01VTFRJTElCX09TRElSTkFNRVMgKz0gbWFiaS5pbHAzMj0uLi9saWJpbHAzMiQoY2FsbCBpZl9tdWx0aWFyY2gsOmFhcmNoNjQkKEFBUkNIX0JFKS1saW51eC1nbnVfaWxwMzIpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIxLUVuc3VyZS10YXJnZXQtZ2NjLWhlYWRlcnMtY2FuLWJlLWluY2x1ZGVkLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGQ3MjY5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMS1FbnN1cmUtdGFyZ2V0LWdjYy1oZWFkZXJzLWNhbi1iZS1pbmNsdWRlZC5wYXRjaApAQCAtMCwwICsxLDk4IEBACitGcm9tIDQ3NmVkYTkwNTRkZjQ0M2QwOTQyNzNjOGI2MWZjZTYzZDk0MGFkZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMCBGZWIgMjAxNSAxMDoyNToxMSArMDAwMAorU3ViamVjdDogW1BBVENIIDIxLzQwXSBFbnN1cmUgdGFyZ2V0IGdjYyBoZWFkZXJzIGNhbiBiZSBpbmNsdWRlZAorCitUaGVyZSBhcmUgYSBmZXcgaGVhZGVycyBpbnN0YWxsZWQgYXMgcGFydCBvZiB0aGUgT3BlbkVtYmVkZGVkCitnY2MtcnVudGltZSB0YXJnZXQgKG9tcC5oLCBzc3AvKi5oKS4gQmVpbmcgaW5zdGFsbGVkIGZyb20gYSByZWNpcGUKK2J1aWx0IGZvciB0aGUgdGFyZ2V0IGFyY2hpdGVjdHVyZSwgdGhlc2UgYXJlIHdpdGhpbiB0aGUgdGFyZ2V0CitzeXNyb290IGFuZCBub3QgY3Jvc3MvbmF0aXZlc2RrOyB0aHVzIHRoZXkgd2VyZW4ndCBhYmxlIHRvIGJlCitmb3VuZCBieSBnY2Mgd2l0aCB0aGUgZXhpc3Rpbmcgc2VhcmNoIHBhdGhzLiBBZGQgc3VwcG9ydCBmb3IKK3BpY2tpbmcgdXAgdGhlc2UgaGVhZGVycyB1bmRlciB0aGUgc3lzcm9vdCBzdXBwbGllZCBvbiB0aGUgZ2NjCitjb21tYW5kIGxpbmUgaW4gb3JkZXIgdG8gcmVzb2x2ZSB0aGlzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogUGF1bCBFZ2dsZXRvbiA8cGF1bC5lZ2dsZXRvbkBsaW51eC5pbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL01ha2VmaWxlLmluICB8IDIgKysKKyBnY2MvY3BwZGVmYXVsdC5jIHwgNCArKysrCisgZ2NjL2RlZmF1bHRzLmggICB8IDkgKysrKysrKysrCisgZ2NjL2djYy5jICAgICAgICB8IDcgLS0tLS0tLQorIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9NYWtlZmlsZS5pbiBiL2djYy9NYWtlZmlsZS5pbgoraW5kZXggNzFhODI3NWMzOWYuLjVhZTY5M2ZiMDZjIDEwMDY0NAorLS0tIGEvZ2NjL01ha2VmaWxlLmluCisrKysgYi9nY2MvTWFrZWZpbGUuaW4KK0BAIC02MTQsNiArNjE0LDcgQEAgbGliZXhlY2RpciA9IEBsaWJleGVjZGlyQAorIAorICMgRGlyZWN0b3J5IGluIHdoaWNoIHRoZSBjb21waWxlciBmaW5kcyBsaWJyYXJpZXMgZXRjLgorIGxpYnN1YmRpciA9ICQobGliZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisrbGlic3ViZGlyX3RhcmdldCA9IGdjYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikKKyAjIERpcmVjdG9yeSBpbiB3aGljaCB0aGUgY29tcGlsZXIgZmluZHMgZXhlY3V0YWJsZXMKKyBsaWJleGVjc3ViZGlyID0gJChsaWJleGVjZGlyKS9nY2MvJChyZWFsX3RhcmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKGFjY2VsX2Rpcl9zdWZmaXgpCisgIyBEaXJlY3RvcnkgaW4gd2hpY2ggYWxsIHBsdWdpbiByZXNvdXJjZXMgYXJlIGluc3RhbGxlZAorQEAgLTI4NzAsNiArMjg3MSw3IEBAIENGTEFHUy1pbnRsLm8gKz0gLURMT0NBTEVESVI9XCIkKGxvY2FsZWRpcilcIgorIAorIFBSRVBST0NFU1NPUl9ERUZJTkVTID0gXAorICAgLURHQ0NfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZVwiIFwKKysgIC1ER0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVD1cIiQobGlic3ViZGlyX3RhcmdldCkvaW5jbHVkZVwiIFwKKyAgIC1ERklYRURfSU5DTFVERV9ESVI9XCIkKGxpYnN1YmRpcikvaW5jbHVkZS1maXhlZFwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSPVwiJChnY2NfZ3h4X2luY2x1ZGVfZGlyKVwiIFwKKyAgIC1ER1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09UPSQoZ2NjX2d4eF9pbmNsdWRlX2Rpcl9hZGRfc3lzcm9vdCkgXAorZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBiMzZhOTc5ZDViYS4uZTJlMTg3ZGVkYWYgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtNTksNiArNTksMTAgQEAgY29uc3Qgc3RydWN0IGRlZmF1bHRfaW5jbHVkZSBjcHBfaW5jbHVkZV9kZWZhdWx0c1tdCisgICAgIC8qIFRoaXMgaXMgdGhlIGRpciBmb3IgZ2NjJ3MgcHJpdmF0ZSBoZWFkZXJzLiAgKi8KKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisrI2lmZGVmIEdDQ19JTkNMVURFX1NVQkRJUl9UQVJHRVQKKysgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBnY2MncyBwcml2YXRlIGhlYWRlcnMgdW5kZXIgdGhlIHNwZWNpZmllZCBzeXNyb290LiAgKi8KKysgICAgeyBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVCwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKysjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKyAgICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorZGlmZiAtLWdpdCBhL2djYy9kZWZhdWx0cy5oIGIvZ2NjL2RlZmF1bHRzLmgKK2luZGV4IDkwMzViMzMzYmU4Li41OTgyYmJkYTYxZCAxMDA2NDQKKy0tLSBhL2djYy9kZWZhdWx0cy5oCisrKysgYi9nY2MvZGVmYXVsdHMuaAorQEAgLTE0NTUsNCArMTQ1NSwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAjZGVmaW5lIERXQVJGX0dOQVRfRU5DT0RJTkdTX0RFRkFVTFQgRFdBUkZfR05BVF9FTkNPRElOR1NfR0RCCisgI2VuZGlmCisgCisrLyogRGVmYXVsdCBwcmVmaXhlcyB0byBhdHRhY2ggdG8gY29tbWFuZCBuYW1lcy4gICovCisrCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzEKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMSAiL2xpYi8iCisrI2VuZGlmCisrI2lmbmRlZiBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzIKKysjZGVmaW5lIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiAiL3Vzci9saWIvIgorKyNlbmRpZgorKworICNlbmRpZiAgLyogISBHQ0NfREVGQVVMVFNfSCAqLworZGlmZiAtLWdpdCBhL2djYy9nY2MuYyBiL2djYy9nY2MuYworaW5kZXggNTcwY2RjMDAwMzQuLjNmYjY0ZDQ1M2YxIDEwMDY0NAorLS0tIGEvZ2NjL2djYy5jCisrKysgYi9nY2MvZ2NjLmMKK0BAIC0xNDY0LDEzICsxNDY0LDYgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmdjY19saWJleGVjX3ByZWZpeDsKKyAKKyAvKiBEZWZhdWx0IHByZWZpeGVzIHRvIGF0dGFjaCB0byBjb21tYW5kIG5hbWVzLiAgKi8KKyAKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMQorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8xICIvbGliLyIKKy0jZW5kaWYKKy0jaWZuZGVmIFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMgorLSNkZWZpbmUgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yICIvdXNyL2xpYi8iCistI2VuZGlmCistCisgI2lmZGVmIENST1NTX0RJUkVDVE9SWV9TVFJVQ1RVUkUgIC8qIERvbid0IHVzZSB0aGVzZSBwcmVmaXhlcyBmb3IgYSBjcm9zcyBjb21waWxlci4gICovCisgI3VuZGVmIE1EX0VYRUNfUFJFRklYCisgI3VuZGVmIE1EX1NUQVJURklMRV9QUkVGSVgKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjItZ2NjLTQuOC13b24tdC1idWlsZC13aXRoLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjBkM2YxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyMi1nY2MtNC44LXdvbi10LWJ1aWxkLXdpdGgtZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nLnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0Zyb20gYmMxOTJmMGEwN2FkODE5ZGVlOTM0NDZjNWVmNjg5NWQ5NTUwZDkyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIwIEZlYiAyMDE1IDExOjE3OjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvNDBdIGdjYyA0LjgrIHdvbid0IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcKKworc2luY2UgdGhlICouUHBvIGZpbGVzIGRvbid0IGdldCBjcmVhdGVkIHVubGVzcyAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIGlzIHRydWUuCisKK1RoaXMgcGF0Y2ggZW5zdXJlcyB3ZSBvbmx5IHVzZSB0aG9zZSBjb21waWxlciBvcHRpb25zIHdoZW4gaXRzIGVuYWJsZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisKKyhQcm9ibGVtIHdhcyBhbHJlYWR5IHJlcG9ydGVkIHVwc3RyZWFtLCBhdHRhY2hlZCB0aGlzIHBhdGNoIHRoZXJlCitodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTU1OTMwKQorCitSUAorMjAxMi8wOS8yMgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgbGliYXRvbWljL01ha2VmaWxlLmFtIHwgMyArKy0KKyBsaWJhdG9taWMvTWFrZWZpbGUuaW4gfCAzICsrLQorIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliYXRvbWljL01ha2VmaWxlLmFtIGIvbGliYXRvbWljL01ha2VmaWxlLmFtCitpbmRleCA4MDNiMjkyY2NlNS4uYjQ3ODQyZWI1OTAgMTAwNjQ0CistLS0gYS9saWJhdG9taWMvTWFrZWZpbGUuYW0KKysrKyBiL2xpYmF0b21pYy9NYWtlZmlsZS5hbQorQEAgLTEwMSw3ICsxMDEsOCBAQCBQQVRfUwkJPSAkKHdvcmQgMywkKFBBVF9TUExJVCkpCisgSUZVTkNfREVGCT0gLURJRlVOQ19BTFQ9JChQQVRfUykKKyBJRlVOQ19PUFQJPSAkKHdvcmQgJChQQVRfUyksJChJRlVOQ19PUFRJT05TKSkKKyAKKy1NX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMJCT0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfRkFMU0VATV9ERVBTCQk9CisgTV9TSVpFCQk9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMJCT0gJChpZiAkKFBBVF9TKSwkKElGVU5DX0RFRikgJChJRlVOQ19PUFQpKQorIE1fRklMRQkJPSAkKFBBVF9CQVNFKV9uLmMKK2RpZmYgLS1naXQgYS9saWJhdG9taWMvTWFrZWZpbGUuaW4gYi9saWJhdG9taWMvTWFrZWZpbGUuaW4KK2luZGV4IGM4ZjM4YmU1ODM1Li40ZmFiN2NlYzNlYSAxMDA2NDQKKy0tLSBhL2xpYmF0b21pYy9NYWtlZmlsZS5pbgorKysrIGIvbGliYXRvbWljL01ha2VmaWxlLmluCitAQCAtMzM1LDcgKzMzNSw4IEBAIFBBVF9OID0gJCh3b3JkIDIsJChQQVRfU1BMSVQpKQorIFBBVF9TID0gJCh3b3JkIDMsJChQQVRfU1BMSVQpKQorIElGVU5DX0RFRiA9IC1ESUZVTkNfQUxUPSQoUEFUX1MpCisgSUZVTkNfT1BUID0gJCh3b3JkICQoUEFUX1MpLCQoSUZVTkNfT1BUSU9OUykpCistTV9ERVBTID0gLU1UICRAIC1NRCAtTVAgLU1GICQoREVQRElSKS8kKEBGKS5QcG8KKytAQU1ERVBfVFJVRUBNX0RFUFMgPSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQoQEYpLlBwbworK0BBTURFUF9GQUxTRUBNX0RFUFMgPQorIE1fU0laRSA9IC1ETj0kKFBBVF9OKQorIE1fSUZVTkMgPSAkKGlmICQoUEFUX1MpLCQoSUZVTkNfREVGKSAkKElGVU5DX09QVCkpCisgTV9GSUxFID0gJChQQVRfQkFTRSlfbi5jCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDIzLURvbi10LXNlYXJjaC1ob3N0LWRpcmVjdG9yeS1kdXJpbmctcmVsaW5rLWlmLWluc3RfcHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUzZjM0MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjMtRG9uLXQtc2VhcmNoLWhvc3QtZGlyZWN0b3J5LWR1cmluZy1yZWxpbmstaWYtaW5zdF9wci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitGcm9tIDA0MDlkMmRkNzMyMmVjYmVkNzMxY2JlMjliMDM0ZmVhNDNjNWRkZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAzIE1hciAyMDE1IDA4OjIxOjE5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjMvNDBdIERvbid0IHNlYXJjaCBob3N0IGRpcmVjdG9yeSBkdXJpbmcgInJlbGluayIgaWYKKyAkaW5zdF9wcmVmaXggaXMgcHJvdmlkZWQKKworaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2xpYnRvb2wtcGF0Y2hlcy8yMDExLTAxL21zZzAwMDI2Lmh0bWwKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGx0bWFpbi5zaCB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbHRtYWluLnNoIGIvbHRtYWluLnNoCitpbmRleCA1MmJkYmRiNWY5Yy4uODJiY2VjMzlmMDUgMTAwNjQ0CistLS0gYS9sdG1haW4uc2gKKysrKyBiL2x0bWFpbi5zaAorQEAgLTYwMDQsMTIgKzYwMDQsMTMgQEAgZnVuY19tb2RlX2xpbmsgKCkKKyAJICAgICAgZmkKKyAJICAgIGVsc2UKKyAJICAgICAgIyBXZSBjYW5ub3Qgc2VlbSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KKysJICAgICAgIyBEZWZhdWx0IGlmICRsaWJkaXIgaXMgbm90IHJlbGF0aXZlIHRvIHRoZSBwcmVmaXg6CisgCSAgICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKKy0JICAgICAgIyBUcnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcgaW5zdGFsbGVkIHRvLgorKworIAkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhlbgorIAkJY2FzZSAkbGliZGlyIGluCisgCQkgIFtcXC9dKikKKy0JCSAgICBhZGRfZGlyPSIkYWRkX2RpciAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgorKwkJICAgIGFkZF9kaXI9Ii1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCisgCQkgICAgOzsKKyAJCWVzYWMKKyAJICAgICAgZmkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjQtVXNlLVNZU1RFTUxJQlNfRElSLXJlcGxhY2VtZW50LWluc3RlYWQtb2YtaGFyZGNvZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzg4YTBhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNC1Vc2UtU1lTVEVNTElCU19ESVItcmVwbGFjZW1lbnQtaW5zdGVhZC1vZi1oYXJkY29kaW5nLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNTZlMmUxZmMyYTI3YzRhNWNjOWI0NzFkNWQwYWY5MGJjYjg3MWJmYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE1OjI3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjQvNDBdIFVzZSBTWVNURU1MSUJTX0RJUiByZXBsYWNlbWVudCBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgYmFzZV9saWJkaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IGJmMTMyN2U5OGNjLi42NDQzNjE4M2JjOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yMSw3ICsyMSw3IEBACisgI2lmbmRlZiBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgI2RlZmluZSBHQ0NfQUFSQ0g2NF9MSU5VWF9ICisgCistI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAiL2xpYi9sZC1saW51eC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKysjZGVmaW5lIEdMSUJDX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbGludXgtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisgCisgI3VuZGVmIE1VU0xfRFlOQU1JQ19MSU5LRVIKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNS1hYXJjaDY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDNmOTcyNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjUtYWFyY2g2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gYjE0MmU3N2U0NGUxYWNlY2U2ZGE1NGNjZGMyNGM0ZGE4OWNmNGI5OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDI4IEFwciAyMDE1IDIzOjE4OjM5IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMjUvNDBdIGFhcmNoNjQ6IEFkZCBzdXBwb3J0IGZvciBtdXNsIGxkc28KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC1saW51eC5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtbGludXguaCBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK2luZGV4IDY0NDM2MTgzYmM4Li5iYTE1NjY3NjAyNiAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKKysrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LWxpbnV4LmgKK0BAIC0yNCw3ICsyNCw3IEBACisgI2RlZmluZSBHTElCQ19EWU5BTUlDX0xJTktFUiAgU1lTVEVNTElCU19ESVIgImxkLWxpbnV4LWFhcmNoNjQle21iaWctZW5kaWFuOl9iZX0le21hYmk9aWxwMzI6X2lscDMyfS5zby4xIgorIAorICN1bmRlZiBNVVNMX0RZTkFNSUNfTElOS0VSCistI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICIvbGliL2xkLW11c2wtYWFyY2g2NCV7bWJpZy1lbmRpYW46X2JlfSV7bWFiaT1pbHAzMjpfaWxwMzJ9LnNvLjEiCisrI2RlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1hYXJjaDY0JXttYmlnLWVuZGlhbjpfYmV9JXttYWJpPWlscDMyOl9pbHAzMn0uc28uMSIKKyAKKyAjdW5kZWYgIEFTQU5fQ0MxX1NQRUMKKyAjZGVmaW5lIEFTQU5fQ0MxX1NQRUMgIiV7JTpzYW5pdGl6ZShhZGRyZXNzKTotZnVud2luZC10YWJsZXN9IgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI2LWxpYmNjMS1maXgtbGliY2MxLXMtaW5zdGFsbC1wYXRoLWFuZC1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTkxNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNi1saWJjYzEtZml4LWxpYmNjMS1zLWluc3RhbGwtcGF0aC1hbmQtcnBhdGgucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAzZDRlNTNmYzdjZDcxY2UxMTgxYWY4YTVlOTY1NTM5ODg1N2FmNzQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBTdW4sIDUgSnVsIDIwMTUgMjA6MjU6MTggLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAyNi80MF0gbGliY2MxOiBmaXggbGliY2MxJ3MgaW5zdGFsbCBwYXRoIGFuZCBycGF0aAorCisqIEluc3RhbGwgbGliY2MxLnNvIGFuZCBsaWJjYzFwbHVnaW4uc28gaW50bworICAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pLCBhcyB3aGF0IHdlCisgIGhhZCBkb25lIHRvIGx0by1wbHVnaW4uCisqIEZpeCBiYWQgUlBBVEggaXVzc3VlOgorICBnY2MtNS4yLjA6IHBhY2thZ2UgZ2NjLXBsdWdpbnMgY29udGFpbnMgYmFkIFJQQVRIIC9wYXRodC90by90bXAvc3lzcm9vdHMvcWVtdXg4Ni02NC91c3IvbGliNjQvLi4vbGliNjQgaW4gZmlsZQorIC9wYXRoL3RvL2djYy81LjIuMC1yMC9wYWNrYWdlcy1zcGxpdC9nY2MtcGx1Z2lucy91c3IvbGliNjQvZ2NjL3g4Nl82NC1wb2t5LWxpbnV4LzUuMi4wL3BsdWdpbi9saWJjYzFwbHVnaW4uc28uMC4wLjAKKyBbcnBhdGhzXQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIGNvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliY2MxL01ha2VmaWxlLmFtIHwgNCArKy0tCisgbGliY2MxL01ha2VmaWxlLmluIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJjYzEvTWFrZWZpbGUuYW0gYi9saWJjYzEvTWFrZWZpbGUuYW0KK2luZGV4IDZlY2I2NmI0MzY1Li42MzRjY2UzYzJhOSAxMDA2NDQKKy0tLSBhL2xpYmNjMS9NYWtlZmlsZS5hbQorKysrIGIvbGliY2MxL01ha2VmaWxlLmFtCitAQCAtMzcsOCArMzcsOCBAQCBsaWJpYmVydHkgPSAkKGlmICQod2lsZGNhcmQgJChsaWJpYmVydHlfbm9hc2FuKSksJChXYykkKGxpYmliZXJ0eV9ub2FzYW4pLCBcCisgCSAgICAkKFdjKSQobGliaWJlcnR5X25vcm1hbCkpKQorIGxpYmliZXJ0eV9kZXAgPSAkKHBhdHN1YnN0ICQoV2MpJSwlLCQobGliaWJlcnR5KSkKKyAKKy1wbHVnaW5kaXIgPSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikvcGx1Z2luCistY2MxbGliZGlyID0gJChsaWJkaXIpLyQobGlic3VmZml4KQorK2NjMWxpYmRpciA9ICQobGliZXhlY2RpcikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJChnY2NfdmVyc2lvbikKKytwbHVnaW5kaXIgPSAkKGNjMWxpYmRpcikKKyAKKyBpZiBFTkFCTEVfUExVR0lOCisgcGx1Z2luX0xUTElCUkFSSUVTID0gbGliY2MxcGx1Z2luLmxhIGxpYmNwMXBsdWdpbi5sYQorZGlmZiAtLWdpdCBhL2xpYmNjMS9NYWtlZmlsZS5pbiBiL2xpYmNjMS9NYWtlZmlsZS5pbgoraW5kZXggNDdiZTEwMDI1YWQuLjhkNTQ4MWQ4N2JkIDEwMDY0NAorLS0tIGEvbGliY2MxL01ha2VmaWxlLmluCisrKysgYi9saWJjYzEvTWFrZWZpbGUuaW4KK0BAIC0zMDMsOCArMzAzLDggQEAgbGliaWJlcnR5ID0gJChpZiAkKHdpbGRjYXJkICQobGliaWJlcnR5X25vYXNhbikpLCQoV2MpJChsaWJpYmVydHlfbm9hc2FuKSwgXAorIAkgICAgJChXYykkKGxpYmliZXJ0eV9ub3JtYWwpKSkKKyAKKyBsaWJpYmVydHlfZGVwID0gJChwYXRzdWJzdCAkKFdjKSUsJSwkKGxpYmliZXJ0eSkpCistcGx1Z2luZGlyID0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pL3BsdWdpbgorLWNjMWxpYmRpciA9ICQobGliZGlyKS8kKGxpYnN1ZmZpeCkKKytjYzFsaWJkaXIgPSAkKGxpYmV4ZWNkaXIpL2djYy8kKHRhcmdldF9ub25jYW5vbmljYWwpLyQoZ2NjX3ZlcnNpb24pCisrcGx1Z2luZGlyID0gJChjYzFsaWJkaXIpCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBwbHVnaW5fTFRMSUJSQVJJRVMgPSBsaWJjYzFwbHVnaW4ubGEgbGliY3AxcGx1Z2luLmxhCisgQEVOQUJMRV9QTFVHSU5fVFJVRUBjYzFsaWJfTFRMSUJSQVJJRVMgPSBsaWJjYzEubGEKKyBzaGFyZWRfc291cmNlID0gY2FsbGJhY2tzLmNjIGNhbGxiYWNrcy5oaCBjb25uZWN0aW9uLmNjIGNvbm5lY3Rpb24uaGggXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAyNy1oYW5kbGUtc3lzcm9vdC1zdXBwb3J0LWZvci1uYXRpdmVzZGstZ2NjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiOTU1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI3LWhhbmRsZS1zeXNyb290LXN1cHBvcnQtZm9yLW5hdGl2ZXNkay1nY2MucGF0Y2gKQEAgLTAsMCArMSwyMTMgQEAKK0Zyb20gYzAzM2MxZGYxMWI2OTIyMTNkMDNkYjkxZDZjYzE0NWI0YWRlZGZhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDcgRGVjIDIwMTUgMjM6Mzk6NTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAyNy80MF0gaGFuZGxlIHN5c3Jvb3Qgc3VwcG9ydCBmb3IgbmF0aXZlc2RrLWdjYworCitCZWluZyBhYmxlIHRvIGJ1aWxkIGEgbmF0aXZlc2RrIGdjYyBpcyB1c2VmdWwsIHBhcnRpY3VsYXJseSBpbiBjYXNlcword2hlcmUgdGhlIGhvc3QgY29tcGlsZXIgbWF5IGJlIG9mIGFuIGluY29tcGF0aWJsZSB2ZXJzaW9uIChvciBhIDMyCitiaXQgY29tcGlsZXIgaXMgbmVlZGVkKS4KKworU2FkbHksIGJ1aWxkaW5nIG5hdGl2ZXNkay1nY2MgaXMgbm90IHN0cmFpZ2h0IGZvcndhcmQuIFdlIGluc3RhbGwKK25hdGl2ZXNkay1nY2MgaW50byBhIHJlbG9jYXRhYmxlIGxvY2F0aW9uIGFuZCB0aGlzIG1lYW5zIHRoYXQgaXRzCitsaWJyYXJ5IGxvY2F0aW9ucyBjYW4gY2hhbmdlLiAiTm9ybWFsIiBzeXNyb290IHN1cHBvcnQgZG9lc24ndCBoZWxwCitpbiB0aGlzIGNhc2Ugc2luY2UgdGhlIHZhbHVlcyBvZiBwYXRocyBsaWtlICJsaWJkaXIiIGNoYW5nZSwgbm90IGp1c3QKK2Jhc2Ugcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHN5c3RlbS4KKworSW4gb3JkZXIgdG8gaGFuZGxlIHRoaXMgd2UgZG8gdHdvIHRoaW5nczoKKworYSkgQWRkICVyIGludG8gc3BlYyBmaWxlIG1hcmt1cCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgaW5qZWN0ZWQgcGF0aHMKKyAgIHN1Y2ggYXMgU1lTVEVNTElCU19ESVIgKHNlZSBnY2NfbXVsdGlsaWJfc2V0dXAoKSkuCitiKSBBZGQgb3RoZXIgcGF0aHMgd2hpY2ggbmVlZCByZWxvY2F0aW9uIGludG8gYSAuZ2NjcmVsb2NwcmVmaXggc2VjdGlvbgorICAgd2hpY2ggdGhlIHJlbG9jYXRpb24gY29kZSB3aWxsIG5vdGljZSBhbmQgYWRqdXN0IGF1dG9tYXRpY2FsbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQorUlAgMjAxNS83LzI4CisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY3BwZGVmYXVsdC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgZ2NjL2NwcGRlZmF1bHQuaCB8ICAzICsrLQorIGdjYy9nY2MuYyAgICAgICAgfCAyMCArKysrKysrKysrKysrLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jcHBkZWZhdWx0LmMgYi9nY2MvY3BwZGVmYXVsdC5jCitpbmRleCBlMmUxODdkZWRhZi4uMmZhYmEyYjFkNjMgMTAwNjQ0CistLS0gYS9nY2MvY3BwZGVmYXVsdC5jCisrKysgYi9nY2MvY3BwZGVmYXVsdC5jCitAQCAtMzUsNiArMzUsMzAgQEAKKyAjIHVuZGVmIENST1NTX0lOQ0xVREVfRElSCisgI2VuZGlmCisgCisrc3RhdGljIGNoYXIgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19JTkNMVURFX0RJUjsKKytzdGF0aWMgY2hhciBHQ0NfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gR0NDX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSOworK3N0YXRpYyBjaGFyIEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVI7Cisrc3RhdGljIGNoYXIgU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWF8yVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VUOworKyNpZmRlZiBMT0NBTF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIExPQ0FMX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IExPQ0FMX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKytzdGF0aWMgY2hhciBQUkVGSVhfSU5DTFVERV9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gUFJFRklYX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBGSVhFRF9JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIEZJWEVEX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IEZJWEVEX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBDUk9TU19JTkNMVURFX0RJUgorK3N0YXRpYyBjaGFyIENST1NTX0lOQ0xVREVfRElSVkFSWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IENST1NTX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBUT09MX0lOQ0xVREVfRElSCisrc3RhdGljIGNoYXIgVE9PTF9JTkNMVURFX0RJUlZBUls0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBUT09MX0lOQ0xVREVfRElSOworKyNlbmRpZgorKyNpZmRlZiBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIKKytzdGF0aWMgY2hhciBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVJbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSOworKyNlbmRpZgorKworIGNvbnN0IHN0cnVjdCBkZWZhdWx0X2luY2x1ZGUgY3BwX2luY2x1ZGVfZGVmYXVsdHNbXQorICNpZmRlZiBJTkNMVURFX0RFRkFVTFRTCisgPSBJTkNMVURFX0RFRkFVTFRTOworQEAgLTQyLDM4ICs2NiwzOCBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyA9IHsKKyAjaWZkZWYgR1BMVVNQTFVTX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBnZW5lcmljIGluY2x1ZGUgZmlsZXMuICAqLworLSAgICB7IEdQTFVTUExVU19JTkNMVURFX0RJUiwgIkcrKyIsIDEsIDEsCisrICAgIHsgR1BMVVNQTFVTX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogUGljayB1cCBHTlUgQysrIHRhcmdldC1kZXBlbmRlbnQgaW5jbHVkZSBmaWxlcy4gICovCistICAgIHsgR1BMVVNQTFVTX1RPT0xfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19UT09MX0lOQ0xVREVfRElSVkFSLCAiRysrIiwgMSwgMSwKKyAgICAgICBHUExVU1BMVVNfSU5DTFVERV9ESVJfQUREX1NZU1JPT1QsIDEgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR1BMVVNQTFVTX0JBQ0tXQVJEX0lOQ0xVREVfRElSCisgICAgIC8qIFBpY2sgdXAgR05VIEMrKyBiYWNrd2FyZCBhbmQgZGVwcmVjYXRlZCBpbmNsdWRlIGZpbGVzLiAgKi8KKy0gICAgeyBHUExVU1BMVVNfQkFDS1dBUkRfSU5DTFVERV9ESVIsICJHKysiLCAxLCAxLAorKyAgICB7IEdQTFVTUExVU19CQUNLV0FSRF9JTkNMVURFX0RJUlZBUiwgIkcrKyIsIDEsIDEsCisgICAgICAgR1BMVVNQTFVTX0lOQ0xVREVfRElSX0FERF9TWVNST09ULCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIEdDQ19JTkNMVURFX0RJUgorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycy4gICovCistICAgIHsgR0NDX0lOQ0xVREVfRElSLCAiR0NDIiwgMCwgMCwgMCwgMCB9LAorKyAgICB7IEdDQ19JTkNMVURFX0RJUlZBUiwgIkdDQyIsIDAsIDAsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgR0NDX0lOQ0xVREVfU1VCRElSX1RBUkdFVAorICAgICAvKiBUaGlzIGlzIHRoZSBkaXIgZm9yIGdjYydzIHByaXZhdGUgaGVhZGVycyB1bmRlciB0aGUgc3BlY2lmaWVkIHN5c3Jvb3QuICAqLworLSAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMiBHQ0NfSU5DTFVERV9TVUJESVJfVEFSR0VULCAiR0NDIiwgMCwgMCwgMSwgMCB9LAorKyAgICB7IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMlZBUiwgIkdDQyIsIDAsIDAsIDEsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgTE9DQUxfSU5DTFVERV9ESVIKKyAgICAgLyogL3Vzci9sb2NhbC9pbmNsdWRlIGNvbWVzIGJlZm9yZSB0aGUgZml4aW5jbHVkZWQgaGVhZGVyIGZpbGVzLiAgKi8KKy0gICAgeyBMT0NBTF9JTkNMVURFX0RJUiwgMCwgMCwgMSwgMSwgMiB9LAorLSAgICB7IExPQ0FMX0lOQ0xVREVfRElSLCAwLCAwLCAxLCAxLCAwIH0sCisrICAgIHsgTE9DQUxfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDEsIDIgfSwKKysgICAgeyBMT0NBTF9JTkNMVURFX0RJUlZBUiwgMCwgMCwgMSwgMSwgMCB9LAorICNlbmRpZgorICNpZmRlZiBQUkVGSVhfSU5DTFVERV9ESVIKKy0gICAgeyBQUkVGSVhfSU5DTFVERV9ESVIsIDAsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBQUkVGSVhfSU5DTFVERV9ESVJWQVIsIDAsIDAsIDEsIDAsIDAgfSwKKyAjZW5kaWYKKyAjaWZkZWYgRklYRURfSU5DTFVERV9ESVIKKyAgICAgLyogVGhpcyBpcyB0aGUgZGlyIGZvciBmaXhpbmNsdWRlcy4gICovCistICAgIHsgRklYRURfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLAorKyAgICB7IEZJWEVEX0lOQ0xVREVfRElSVkFSLCAiR0NDIiwgMCwgMCwgMCwKKyAgICAgICAvKiBBIG11bHRpbGliIHN1ZmZpeCBuZWVkcyBhZGRpbmcgaWYgZGlmZmVyZW50IG11bHRpbGlicyB1c2UKKyAJIGRpZmZlcmVudCBoZWFkZXJzLiAgKi8KKyAjaWZkZWYgU1lTUk9PVF9IRUFERVJTX1NVRkZJWF9TUEVDCitAQCAtODUsMTYgKzEwOSwxNiBAQCBjb25zdCBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlIGNwcF9pbmNsdWRlX2RlZmF1bHRzW10KKyAjZW5kaWYKKyAjaWZkZWYgQ1JPU1NfSU5DTFVERV9ESVIKKyAgICAgLyogT25lIHBsYWNlIHRoZSB0YXJnZXQgc3lzdGVtJ3MgaGVhZGVycyBtaWdodCBiZS4gICovCistICAgIHsgQ1JPU1NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisrICAgIHsgQ1JPU1NfSU5DTFVERV9ESVJWQVIsICJHQ0MiLCAwLCAwLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIFRPT0xfSU5DTFVERV9ESVIKKyAgICAgLyogQW5vdGhlciBwbGFjZSB0aGUgdGFyZ2V0IHN5c3RlbSdzIGhlYWRlcnMgbWlnaHQgYmUuICAqLworLSAgICB7IFRPT0xfSU5DTFVERV9ESVIsICJCSU5VVElMUyIsIDAsIDEsIDAsIDAgfSwKKysgICAgeyBUT09MX0lOQ0xVREVfRElSVkFSLCAiQklOVVRJTFMiLCAwLCAxLCAwLCAwIH0sCisgI2VuZGlmCisgI2lmZGVmIE5BVElWRV9TWVNURU1fSEVBREVSX0RJUgorICAgICAvKiAvdXNyL2luY2x1ZGUgY29tZXMgZGVhZCBsYXN0LiAgKi8KKy0gICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMiB9LAorLSAgICB7IE5BVElWRV9TWVNURU1fSEVBREVSX0RJUiwgTkFUSVZFX1NZU1RFTV9IRUFERVJfQ09NUE9ORU5ULCAwLCAwLCAxLCAwIH0sCisrICAgIHsgTkFUSVZFX1NZU1RFTV9IRUFERVJfRElSVkFSLCBOQVRJVkVfU1lTVEVNX0hFQURFUl9DT01QT05FTlQsIDAsIDAsIDEsIDIgfSwKKysgICAgeyBOQVRJVkVfU1lTVEVNX0hFQURFUl9ESVJWQVIsIE5BVElWRV9TWVNURU1fSEVBREVSX0NPTVBPTkVOVCwgMCwgMCwgMSwgMCB9LAorICNlbmRpZgorICAgICB7IDAsIDAsIDAsIDAsIDAsIDAgfQorICAgfTsKK2RpZmYgLS1naXQgYS9nY2MvY3BwZGVmYXVsdC5oIGIvZ2NjL2NwcGRlZmF1bHQuaAoraW5kZXggNGEwMTg2ZDFjZjIuLjI5ZTVkOWRhMGRjIDEwMDY0NAorLS0tIGEvZ2NjL2NwcGRlZmF1bHQuaAorKysrIGIvZ2NjL2NwcGRlZmF1bHQuaAorQEAgLTMzLDcgKzMzLDggQEAKKyAKKyBzdHJ1Y3QgZGVmYXVsdF9pbmNsdWRlCisgeworLSAgY29uc3QgY2hhciAqY29uc3QgZm5hbWU7CS8qIFRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnkuICAqLworKyAgY29uc3QgY2hhciAqZm5hbWU7ICAgICAvKiBUaGUgbmFtZSBvZiB0aGUgZGlyZWN0b3J5LiAgKi8KKysKKyAgIGNvbnN0IGNoYXIgKmNvbnN0IGNvbXBvbmVudDsJLyogVGhlIGNvbXBvbmVudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkKKyAJCQkJICAgKHNlZSB1cGRhdGVfcGF0aCBpbiBwcmVmaXguYykgKi8KKyAgIGNvbnN0IGNoYXIgY3BsdXNwbHVzOwkJLyogT25seSBsb29rIGhlcmUgaWYgd2UncmUgY29tcGlsaW5nIEMrKy4gICovCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCAzZmI2NGQ0NTNmMS4uY2QwYzdmYmU5NjEgMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI0OCw2ICsyNDgsOCBAQCBGSUxFICpyZXBvcnRfdGltZXNfdG9fZmlsZSA9IE5VTEw7CisgI2VuZGlmCisgc3RhdGljIGNvbnN0IGNoYXIgKnRhcmdldF9zeXN0ZW1fcm9vdCA9IERFRkFVTFRfVEFSR0VUX1NZU1RFTV9ST09UOworIAorK3N0YXRpYyBjaGFyIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXhbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpID0gU1lTVEVNTElCU19ESVI7CisrCisgLyogTm9uemVybyBtZWFucyBwYXNzIHRoZSB1cGRhdGVkIHRhcmdldF9zeXN0ZW1fcm9vdCB0byB0aGUgY29tcGlsZXIuICAqLworIAorIHN0YXRpYyBpbnQgdGFyZ2V0X3N5c3RlbV9yb290X2NoYW5nZWQ7CitAQCAtNTE5LDYgKzUyMSw3IEBAIG9yIHdpdGggY29uc3RhbnQgdGV4dCBpbiBhIHNpbmdsZSBhcmd1bWVudC4KKyAgJUcgICAgIHByb2Nlc3MgTElCR0NDX1NQRUMgYXMgYSBzcGVjLgorICAlUiAgICAgT3V0cHV0IHRoZSBjb25jYXRlbmF0aW9uIG9mIHRhcmdldF9zeXN0ZW1fcm9vdCBhbmQKKyAgICAgICAgIHRhcmdldF9zeXNyb290X3N1ZmZpeC4KKysgJXIgICAgIE91dHB1dCB0aGUgYmFzZSBwYXRoIHRhcmdldF9yZWxvY2F0YWJsZV9wcmVmaXgKKyAgJVMgICAgIHByb2Nlc3MgU1RBUlRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIFMgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlRSAgICAgcHJvY2VzcyBFTkRGSUxFX1NQRUMgYXMgYSBzcGVjLiAgQSBjYXBpdGFsIEUgaXMgYWN0dWFsbHkgdXNlZCBoZXJlLgorICAlQyAgICAgcHJvY2VzcyBDUFBfU1BFQyBhcyBhIHNwZWMuCitAQCAtMTQ4NywxMCArMTQ5MCwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqZ2NjX2xpYmV4ZWNfcHJlZml4OworICAgIGdjY19leGVjX3ByZWZpeCBpcyBzZXQgYmVjYXVzZSwgaW4gdGhhdCBjYXNlLCB3ZSBrbm93IHdoZXJlIHRoZQorICAgIGNvbXBpbGVyIGhhcyBiZWVuIGluc3RhbGxlZCwgYW5kIHVzZSBwYXRocyByZWxhdGl2ZSB0byB0aGF0CisgICAgbG9jYXRpb24gaW5zdGVhZC4gICovCistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2V4ZWNfcHJlZml4ID0gU1RBTkRBUkRfRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2xpYmV4ZWNfcHJlZml4ID0gU1RBTkRBUkRfTElCRVhFQ19QUkVGSVg7Cistc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX2JpbmRpcl9wcmVmaXggPSBTVEFOREFSRF9CSU5ESVJfUFJFRklYOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4ID0gU1RBTkRBUkRfU1RBUlRGSUxFX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9leGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9FWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9saWJleGVjX3ByZWZpeFs0MDk2XSBfX2F0dHJpYnV0ZV9fICgoc2VjdGlvbiAoIi5nY2NyZWxvY3ByZWZpeCIpKSkgPSBTVEFOREFSRF9MSUJFWEVDX1BSRUZJWDsKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9iaW5kaXJfcHJlZml4WzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKSA9IFNUQU5EQVJEX0JJTkRJUl9QUkVGSVg7Cisrc3RhdGljIGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIAorIC8qIEZvciBuYXRpdmUgY29tcGlsZXJzLCB0aGVzZSBhcmUgd2VsbC1rbm93biBwYXRocyBjb250YWluaW5nCisgICAgY29tcG9uZW50cyB0aGF0IG1heSBiZSBwcm92aWRlZCBieSB0aGUgc3lzdGVtLiAgRm9yIGNyb3NzCitAQCAtMTQ5OCw5ICsxNTAxLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IHN0YW5kYXJkX3N0YXJ0ZmlsZV9wcmVmaXggPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9leGVjX3ByZWZpeCA9IE1EX0VYRUNfUFJFRklYOworIHN0YXRpYyBjb25zdCBjaGFyICptZF9zdGFydGZpbGVfcHJlZml4ID0gTURfU1RBUlRGSUxFX1BSRUZJWDsKKyBzdGF0aWMgY29uc3QgY2hhciAqbWRfc3RhcnRmaWxlX3ByZWZpeF8xID0gTURfU1RBUlRGSUxFX1BSRUZJWF8xOworLXN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzEKKytzdGF0aWMgY2hhciBzdGFuZGFyZF9zdGFydGZpbGVfcHJlZml4XzFbNDA5Nl0gX19hdHRyaWJ1dGVfXyAoKHNlY3Rpb24gKCIuZ2NjcmVsb2NwcmVmaXgiKSkpCisgICA9IFNUQU5EQVJEX1NUQVJURklMRV9QUkVGSVhfMTsKKy1zdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yCisrc3RhdGljIGNoYXIgc3RhbmRhcmRfc3RhcnRmaWxlX3ByZWZpeF8yWzQwOTZdIF9fYXR0cmlidXRlX18gKChzZWN0aW9uICgiLmdjY3JlbG9jcHJlZml4IikpKQorICAgPSBTVEFOREFSRF9TVEFSVEZJTEVfUFJFRklYXzI7CisgCisgLyogQSByZWxhdGl2ZSBwYXRoIHRvIGJlIHVzZWQgaW4gZmluZGluZyB0aGUgbG9jYXRpb24gb2YgdG9vbHMKK0BAIC01ODQ5LDYgKzU4NTIsMTEgQEAgZG9fc3BlY18xIChjb25zdCBjaGFyICpzcGVjLCBpbnQgaW5zd2l0Y2gsIGNvbnN0IGNoYXIgKnNvZnRfbWF0Y2hlZF9wYXJ0KQorIAkgICAgICB9CisgCSAgICBicmVhazsKKyAKKysgICAgICAgICAgY2FzZSAncic6CisrICAgICAgICAgICAgICBvYnN0YWNrX2dyb3cgKCZvYnN0YWNrLCB0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4LAorKwkJICAgICAgc3RybGVuICh0YXJnZXRfcmVsb2NhdGFibGVfcHJlZml4KSk7CisrICAgICAgICAgICAgYnJlYWs7CisrCisgCSAgY2FzZSAnUyc6CisgCSAgICB2YWx1ZSA9IGRvX3NwZWNfMSAoc3RhcnRmaWxlX3NwZWMsIDAsIE5VTEwpOworIAkgICAgaWYgKHZhbHVlICE9IDApCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI4LVNlYXJjaC10YXJnZXQtc3lzcm9vdC1nY2MtdmVyc2lvbi1zcGVjaWZpYy1kaXJzLXdpdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIyNWQ3OAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjgtU2VhcmNoLXRhcmdldC1zeXNyb290LWdjYy12ZXJzaW9uLXNwZWNpZmljLWRpcnMtd2l0aC5wYXRjaApAQCAtMCwwICsxLDEwMiBAQAorRnJvbSA2MjI0MGQ0YzcyNWVhMGI0M2FiZmI5MDFkZGFkOTBlODNlMjlhMjVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNyBEZWMgMjAxNSAyMzo0MTo0NSArMDAwMAorU3ViamVjdDogW1BBVENIIDI4LzQwXSBTZWFyY2ggdGFyZ2V0IHN5c3Jvb3QgZ2NjIHZlcnNpb24gc3BlY2lmaWMgZGlycyB3aXRoCisgbXVsdGlsaWIuCisKK1dlIGluc3RhbGwgdGhlIGdjYyBsaWJyYXJpZXMgKHN1Y2ggYXMgY3J0YmVnaW4ucCkgaW50bworPHN5c3Jvb3Q+PGxpYmRpcj4vPHRhcmdldC1zeXM+LzUuMi4wLword2hpY2ggaXMgYSBkZWZhdWx0IHNlYXJjaCBwYXRoIGZvciBHQ0MgKGFrYSBtdWx0aV9zdWZmaXggaW4gdGhlCitjb2RlIGJlbG93KS4gPHRhcmdldC1zeXM+IGlzICdtYWNoaW5lJyBpbiBnY2MncyB0ZXJtaW5vbG9neS4gV2UgdXNlCit0aGVzZSBkaXJlY3RvcmllcyBzbyB0aGF0IG11bHRpcGxlIGdjYyB2ZXJzaW9ucyBjb3VsZCBpbiB0aGVvcnkKK2NvLWV4aXN0IG9uIHRhcmdldC4KKworV2Ugb25seSB3YW50IHRvIGJ1aWxkIG9uZSBnY2MtY3Jvc3MtY2FuYWRpYW4gcGVyIGFyY2ggYW5kIGhhdmUgdGhpcyB3b3JrCitmb3IgYWxsIG11bHRpbGlicy4gPHRhcmdldC1zeXM+IGNhbiBiZSBoYW5kbGVkIGJ5IG1hcHBpbmcgdGhlIG11bHRpbGliCis8dGFyZ2V0LXN5cz4gdG8gdGhlIG9uZSB1c2VkIGJ5IGdjYy1jcm9zcy1jYW5hZGlhbiwgZS5nLgorbWlwczY0LXBvbGttbGxpYjMyLWxpbnV4CitpcyBzeW1saW5rZWQgdG8gYnkgbWlwczY0LXBva3ktbGludXguCisKK1RoZSBkZWZhdWx0IGdjYyBzZWFyY2ggcGF0aCBpbiB0aGUgdGFyZ2V0IHN5c3Jvb3QgZm9yIGEgImxpYjY0IiBtdXRsaWxpYgoraXM6CisKKzxzeXNyb290Pi9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi9saWIzMi8uLi9saWI2NC8KKzxzeXNyb290Pi91c3IvbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0LworPHN5c3Jvb3Q+L2xpYjMyLworPHN5c3Jvb3Q+L3Vzci9saWIzMi8KKword2hpY2ggbWVhbnMgdGhhdCB0aGUgbGliMzIgY3J0YmVnaW4ubyB3aWxsIGJlIGZvdW5kIGFuZCB0aGUgbGliNjQgb25lcword2lsbCBub3Qgd2hpY2ggbGVhZHMgdG8gY29tcGlsZXIgZmFpbHVyZXMuCisKK1RoaXMgcGF0Y2ggaW5qZWN0cyBhIG11bHRpbGliIHZlcnNpb24gb2YgdGhhdCBwYXRoIGZpcnN0IHNvIHRoZSBsaWI2NAorYmluYXJpZXMgY2FuIGJlIGZvdW5kIGZpcnN0LiBXaXRoIHRoaXMgY2hhbmdlIHRoZSBzZWFyY2ggcGF0aCBiZWNvbWVzOgorCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvbWlwczY0LXBva3ktbGludXgvNS4yLjAvCis8c3lzcm9vdD4vbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vdXNyL2xpYjMyLy4uL2xpYjY0L21pcHM2NC1wb2t5LWxpbnV4LzUuMi4wLworPHN5c3Jvb3Q+L3Vzci9saWIzMi9taXBzNjQtcG9reS1saW51eC81LjIuMC8KKzxzeXNyb290Pi91c3IvbGliMzIvLi4vbGliNjQvCis8c3lzcm9vdD4vbGliMzIvCis8c3lzcm9vdD4vdXNyL2xpYjMyLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1JQIDIwMTUvNy8zMQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2djYy5jIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ2NjL2djYy5jIGIvZ2NjL2djYy5jCitpbmRleCBjZDBjN2ZiZTk2MS4uZjZmM2FhMDc3YzggMTAwNjQ0CistLS0gYS9nY2MvZ2NjLmMKKysrKyBiL2djYy9nY2MuYworQEAgLTI1MjcsNyArMjUyNyw3IEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgICAgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAJeworIAkgIGxlbiA9IHBhdGhzLT5tYXhfbGVuICsgZXh0cmFfc3BhY2UgKyAxOworLQkgIGxlbiArPSBNQVggKE1BWCAoc3VmZml4X2xlbiwgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworKwkgIGxlbiArPSBNQVggKChzdWZmaXhfbGVuICsgbXVsdGlfb3NfZGlyX2xlbiksIG11bHRpYXJjaF9sZW4pOworIAkgIHBhdGggPSBYTkVXVkVDIChjaGFyLCBsZW4pOworIAl9CisgCitAQCAtMjUzOSw2ICsyNTM5LDMzIEBAIGZvcl9lYWNoX3BhdGggKGNvbnN0IHN0cnVjdCBwYXRoX3ByZWZpeCAqcGF0aHMsCisgCSAgLyogTG9vayBmaXJzdCBpbiBNQUNISU5FL1ZFUlNJT04gc3ViZGlyZWN0b3J5LiAgKi8KKyAJICBpZiAoIXNraXBfbXVsdGlfZGlyKQorIAkgICAgeworKwkgICAgICBpZiAoIShwbC0+b3NfbXVsdGlsaWIgPyBza2lwX211bHRpX29zX2RpciA6IHNraXBfbXVsdGlfZGlyKSkKKysJICAgICAgICB7CisrCSAgICAgICAgICBjb25zdCBjaGFyICp0aGlzX211bHRpOworKwkgICAgICAgICAgc2l6ZV90IHRoaXNfbXVsdGlfbGVuOworKworKwkgICAgICAgICAgaWYgKHBsLT5vc19tdWx0aWxpYikKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfb3NfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9vc19kaXJfbGVuOworKwkJICAgIH0KKysJICAgICAgICAgIGVsc2UKKysJCSAgICB7CisrCQkgICAgICB0aGlzX211bHRpID0gbXVsdGlfZGlyOworKwkJICAgICAgdGhpc19tdWx0aV9sZW4gPSBtdWx0aV9kaXJfbGVuOworKwkJICAgIH0KKysKKysJICAgICAgICAgIC8qIExvb2sgaW4gbXVsdGlsaWIgTUFDSElORS9WRVJTSU9OIHN1YmRpcmVjdG9yeSBmaXJzdCAqLworKwkgICAgICAgICAgaWYgKHRoaXNfbXVsdGlfbGVuKQorKwkgICAgICAgICAgICB7CisrCQkgICAgICBtZW1jcHkgKHBhdGggKyBsZW4sIHRoaXNfbXVsdGksIHRoaXNfbXVsdGlfbGVuICsgMSk7CisrCSAgICAgICAgICAgICAgbWVtY3B5IChwYXRoICsgbGVuICsgdGhpc19tdWx0aV9sZW4sIG11bHRpX3N1ZmZpeCwgc3VmZml4X2xlbiArIDEpOworKwkgICAgICAgICAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKysJICAgICAgICAgICAgICAgIGlmIChyZXQpCisrCQkgICAgICAgICAgYnJlYWs7CisrCSAgICAgICAgICAgIH0KKysJICAgICAgICB9CisrCisgCSAgICAgIG1lbWNweSAocGF0aCArIGxlbiwgbXVsdGlfc3VmZml4LCBzdWZmaXhfbGVuICsgMSk7CisgCSAgICAgIHJldCA9IGNhbGxiYWNrIChwYXRoLCBjYWxsYmFja19pbmZvKTsKKyAJICAgICAgaWYgKHJldCkKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMjktRml4LXZhcmlvdXMtX0ZPUl9CVUlMRC1hbmQtcmVsYXRlZC12YXJpYWJsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjOGJkYjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDI5LUZpeC12YXJpb3VzLV9GT1JfQlVJTEQtYW5kLXJlbGF0ZWQtdmFyaWFibGVzLnBhdGNoCkBAIC0wLDAgKzEsMTM3IEBACitGcm9tIDEzNzdjNzM4ZTMxYTFlMTU5OWNmYWIxODk0ODVhOTQ1OWY4MDNlNzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA3IERlYyAyMDE1IDIzOjQyOjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMjkvNDBdIEZpeCB2YXJpb3VzIF9GT1JfQlVJTEQgYW5kIHJlbGF0ZWQgdmFyaWFibGVzCisKK1doZW4gZG9pbmcgYSBGT1JfQlVJTEQgdGhpbmcsIHlvdSBoYXZlIHRvIG92ZXJyaWRlIENGTEFHUyB3aXRoCitDRkxBR1NfRk9SX0JVSUxELiBBbmQgaWYgeW91IHVzZSBDKyssIHlvdSBhbHNvIGhhdmUgdG8gb3ZlcnJpZGUKK0NYWEZMQUdTIHdpdGggQ1hYRkxBR1NfRk9SX0JVSUxELgorV2l0aG91dCB0aGlzLCB3aGVuIGJ1aWxkaW5nIGZvciBtaW5ndywgeW91IGVuZCB1cCB0cnlpbmcgdG8gdXNlCit0aGUgbWluZ3cgaGVhZGVycyBmb3IgYSBob3N0IGJ1aWxkLgorCitUaGUgc2FtZSBnb2VzIGZvciBvdGhlciB2YXJpYWJsZXMgYXMgd2VsbCwgc3VjaCBhcyBDUFBGTEFHUywKK0NQUCwgYW5kIEdNUElOQy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFBldGVyIFNlZWJhY2ggPHBldGVyLnNlZWJhY2hAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBNYWtlZmlsZS5pbiAgICAgIHwgNiArKysrKysKKyBNYWtlZmlsZS50cGwgICAgIHwgNSArKysrKworIGdjYy9NYWtlZmlsZS5pbiAgfCAyICstCisgZ2NjL2NvbmZpZ3VyZSAgICB8IDIgKy0KKyBnY2MvY29uZmlndXJlLmFjIHwgMiArLQorIDUgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmluIGIvTWFrZWZpbGUuaW4KK2luZGV4IGI0MjZkNGY5MzUwLi5hMmFmOTkwNWNjZSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmluCisrKysgYi9NYWtlZmlsZS5pbgorQEAgLTE1Miw2ICsxNTIsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSI7IGV4cG9ydCBDUFA7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENGTEFHUzsgXAorIAlDT05GSUdfU0hFTEw9IiQoU0hFTEwpIjsgZXhwb3J0IENPTkZJR19TSEVMTDsgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIjsgZXhwb3J0IENQUEZMQUdTOyBcCisgCUNYWD0iJChDWFhfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFg7IFwKKyAJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDWFhGTEFHUzsgXAorIAlHRk9SVFJBTj0iJChHRk9SVFJBTl9GT1JfQlVJTEQpIjsgZXhwb3J0IEdGT1JUUkFOOyBcCitAQCAtMTY5LDYgKzE3MCw5IEBAIEJVSUxEX0VYUE9SVFMgPSBcCisgIyBidWlsdCBmb3IgdGhlIGJ1aWxkIHN5c3RlbSB0byBvdmVycmlkZSB0aG9zZSBpbiBCQVNFX0ZMQUdTX1RPX1BBU1MuCisgRVhUUkFfQlVJTERfRkxBR1MgPSBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDWFhGTEFHUz0iJChDWFhGTEFHU19GT1JfQlVJTEQpIiBcCisrCUNQUD0iJChDQ19GT1JfQlVJTEQpIC1FIiBcCisrCUNQUEZMQUdTPSIkKENQUEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJTERGTEFHUz0iJChMREZMQUdTX0ZPUl9CVUlMRCkiCisgCisgIyBUaGlzIGlzIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJ1aWx0IGZvciB0aGUgaG9zdCBzeXN0ZW0uCitAQCAtMTg2LDYgKzE5MCw3IEBAIEhPU1RfU1VCRElSID0gQGhvc3Rfc3ViZGlyQAorIEhPU1RfRVhQT1JUUyA9IFwKKyAJJChCQVNFX0VYUE9SVFMpIFwKKyAJQ0M9IiQoQ0MpIjsgZXhwb3J0IENDOyBcCisrCUNQUD0iJChDQykgLUUiOyBleHBvcnQgQ1BQOyBcCisgCUFEQV9DRkxBR1M9IiQoQURBX0NGTEFHUykiOyBleHBvcnQgQURBX0NGTEFHUzsgXAorIAlDRkxBR1M9IiQoQ0ZMQUdTKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKK0BAIC03NDMsNiArNzQ4LDcgQEAgQkFTRV9GTEFHU19UT19QQVNTID0gXAorIAkiQ0NfRk9SX0JVSUxEPSQoQ0NfRk9SX0JVSUxEKSIgXAorIAkiQ0ZMQUdTX0ZPUl9CVUlMRD0kKENGTEFHU19GT1JfQlVJTEQpIiBcCisgCSJDWFhfRk9SX0JVSUxEPSQoQ1hYX0ZPUl9CVUlMRCkiIFwKKysJIkNYWEZMQUdTX0ZPUl9CVUlMRD0kKENYWEZMQUdTX0ZPUl9CVUlMRCkiIFwKKyAJIkVYUEVDVD0kKEVYUEVDVCkiIFwKKyAJIkZMRVg9JChGTEVYKSIgXAorIAkiSU5TVEFMTD0kKElOU1RBTEwpIiBcCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUudHBsIGIvTWFrZWZpbGUudHBsCitpbmRleCAxZjIzYjc5YjRiMi4uNmM1NjUyZTgxMWQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS50cGwKKysrKyBiL01ha2VmaWxlLnRwbAorQEAgLTE1NCw2ICsxNTQsNyBAQCBCVUlMRF9FWFBPUlRTID0gXAorIAlDQz0iJChDQ19GT1JfQlVJTEQpIjsgZXhwb3J0IENDOyBcCisgCUNGTEFHUz0iJChDRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDRkxBR1M7IFwKKyAJQ09ORklHX1NIRUxMPSIkKFNIRUxMKSI7IGV4cG9ydCBDT05GSUdfU0hFTEw7IFwKKysJQ1BQRkxBR1M9IiQoQ1BQRkxBR1NfRk9SX0JVSUxEKSI7IGV4cG9ydCBDUFBGTEFHUzsgXAorIAlDWFg9IiQoQ1hYX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYOyBcCisgCUNYWEZMQUdTPSIkKENYWEZMQUdTX0ZPUl9CVUlMRCkiOyBleHBvcnQgQ1hYRkxBR1M7IFwKKyAJR0ZPUlRSQU49IiQoR0ZPUlRSQU5fRk9SX0JVSUxEKSI7IGV4cG9ydCBHRk9SVFJBTjsgXAorQEAgLTE3MSw2ICsxNzIsOSBAQCBCVUlMRF9FWFBPUlRTID0gXAorICMgYnVpbHQgZm9yIHRoZSBidWlsZCBzeXN0ZW0gdG8gb3ZlcnJpZGUgdGhvc2UgaW4gQkFTRV9GTEFHU19UT19QQVNTLgorIEVYVFJBX0JVSUxEX0ZMQUdTID0gXAorIAlDRkxBR1M9IiQoQ0ZMQUdTX0ZPUl9CVUlMRCkiIFwKKysJQ1hYRkxBR1M9IiQoQ1hYRkxBR1NfRk9SX0JVSUxEKSIgXAorKwlDUFA9IiQoQ0NfRk9SX0JVSUxEKSAtRSIgXAorKwlDUFBGTEFHUz0iJChDUFBGTEFHU19GT1JfQlVJTEQpIiBcCisgCUxERkxBR1M9IiQoTERGTEFHU19GT1JfQlVJTEQpIgorIAorICMgVGhpcyBpcyB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBidWlsdCBmb3IgdGhlIGhvc3Qgc3lzdGVtLgorQEAgLTE4OCw2ICsxOTIsNyBAQCBIT1NUX1NVQkRJUiA9IEBob3N0X3N1YmRpckAKKyBIT1NUX0VYUE9SVFMgPSBcCisgCSQoQkFTRV9FWFBPUlRTKSBcCisgCUNDPSIkKENDKSI7IGV4cG9ydCBDQzsgXAorKwlDUFA9IiQoQ0MpIC1FIjsgZXhwb3J0IENQUDsgXAorIAlBREFfQ0ZMQUdTPSIkKEFEQV9DRkxBR1MpIjsgZXhwb3J0IEFEQV9DRkxBR1M7IFwKKyAJQ0ZMQUdTPSIkKENGTEFHUykiOyBleHBvcnQgQ0ZMQUdTOyBcCisgCUNPTkZJR19TSEVMTD0iJChTSEVMTCkiOyBleHBvcnQgQ09ORklHX1NIRUxMOyBcCitkaWZmIC0tZ2l0IGEvZ2NjL01ha2VmaWxlLmluIGIvZ2NjL01ha2VmaWxlLmluCitpbmRleCA1YWU2OTNmYjA2Yy4uMDJlZTBhYTcyZjQgMTAwNjQ0CistLS0gYS9nY2MvTWFrZWZpbGUuaW4KKysrKyBiL2djYy9NYWtlZmlsZS5pbgorQEAgLTgwMSw3ICs4MDEsNyBAQCBCVUlMRF9MREZMQUdTPUBCVUlMRF9MREZMQUdTQAorIEJVSUxEX05PX1BJRV9GTEFHID0gQEJVSUxEX05PX1BJRV9GTEFHQAorIEJVSUxEX0xERkxBR1MgKz0gJChCVUlMRF9OT19QSUVfRkxBRykKKyBCVUlMRF9DUFBGTEFHUz0gLUkuIC1JJChARCkgLUkkKHNyY2RpcikgLUkkKHNyY2RpcikvJChARCkgXAorLQkJLUkkKHNyY2RpcikvLi4vaW5jbHVkZSBASU5DSU5UTEAgJChDUFBJTkMpICQoQ1BQRkxBR1MpCisrCQktSSQoc3JjZGlyKS8uLi9pbmNsdWRlIEBJTkNJTlRMQCAkKENQUElOQykgJChDUFBGTEFHU19GT1JfQlVJTEQpCisgCisgIyBBY3R1YWwgbmFtZSB0byB1c2Ugd2hlbiBpbnN0YWxsaW5nIGEgbmF0aXZlIGNvbXBpbGVyLgorIEdDQ19JTlNUQUxMX05BTUUgOj0gJChzaGVsbCBlY2hvIGdjY3xzZWQgJyQocHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSknKQorZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUgYi9nY2MvY29uZmlndXJlCitpbmRleCAzZDlkY2JkYzkzZC4uYWExMjdhNGY2YTQgMTAwNzU1CistLS0gYS9nY2MvY29uZmlndXJlCisrKysgYi9nY2MvY29uZmlndXJlCitAQCAtMTE3OTcsNyArMTE3OTcsNyBAQCBlbHNlCisgCUNDPSIke0NDX0ZPUl9CVUlMRH0iIENGTEFHUz0iJHtDRkxBR1NfRk9SX0JVSUxEfSIgXAorIAlDWFg9IiR7Q1hYX0ZPUl9CVUlMRH0iIENYWEZMQUdTPSIke0NYWEZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJTEQ9IiR7TERfRk9SX0JVSUxEfSIgTERGTEFHUz0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iIFwKKy0JR01QSU5DPSIiIENQUEZMQUdTPSIke0NQUEZMQUdTfSAtREdFTkVSQVRPUl9GSUxFIiBcCisrCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU19GT1JfQlVJTER9IC1ER0VORVJBVE9SX0ZJTEUiIFwKKyAJJHtyZWFsc3JjZGlyfS9jb25maWd1cmUgXAorIAkJLS1lbmFibGUtbGFuZ3VhZ2VzPSR7ZW5hYmxlX2xhbmd1YWdlcy1hbGx9IFwKKyAJCS0tdGFyZ2V0PSR0YXJnZXRfYWxpYXMgLS1ob3N0PSRidWlsZF9hbGlhcyAtLWJ1aWxkPSRidWlsZF9hbGlhcworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCitpbmRleCBlMDljODQwYjYwNS4uMThiZjUzYzdlMGEgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlndXJlLmFjCisrKysgYi9nY2MvY29uZmlndXJlLmFjCitAQCAtMTcwOCw3ICsxNzA4LDcgQEAgZWxzZQorIAlDQz0iJHtDQ19GT1JfQlVJTER9IiBDRkxBR1M9IiR7Q0ZMQUdTX0ZPUl9CVUlMRH0iIFwKKyAJQ1hYPSIke0NYWF9GT1JfQlVJTER9IiBDWFhGTEFHUz0iJHtDWFhGTEFHU19GT1JfQlVJTER9IiBcCisgCUxEPSIke0xEX0ZPUl9CVUlMRH0iIExERkxBR1M9IiR7TERGTEFHU19GT1JfQlVJTER9IiBcCistCUdNUElOQz0iIiBDUFBGTEFHUz0iJHtDUFBGTEFHU30gLURHRU5FUkFUT1JfRklMRSIgXAorKwlHTVBJTkM9IiIgQ1BQRkxBR1M9IiR7Q1BQRkxBR1NfRk9SX0JVSUxEfSAtREdFTkVSQVRPUl9GSUxFIiBcCisgCSR7cmVhbHNyY2Rpcn0vY29uZmlndXJlIFwKKyAJCS0tZW5hYmxlLWxhbmd1YWdlcz0ke2VuYWJsZV9sYW5ndWFnZXMtYWxsfSBcCisgCQktLXRhcmdldD0kdGFyZ2V0X2FsaWFzIC0taG9zdD0kYnVpbGRfYWxpYXMgLS1idWlsZD0kYnVpbGRfYWxpYXMKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzAtbmlvczItRGVmaW5lLU1VU0xfRFlOQU1JQ19MSU5LRVIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZTEyNmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMwLW5pb3MyLURlZmluZS1NVVNMX0RZTkFNSUNfTElOS0VSLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gNzVkYTNjYzljYTJkM2RlOGMyMDYyZjIzYmY0ZjcyNDE1NzQxZWY4MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIgRmViIDIwMTYgMTA6MjY6MTAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzMC80MF0gbmlvczI6IERlZmluZSBNVVNMX0RZTkFNSUNfTElOS0VSCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL25pb3MyL2xpbnV4LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvbmlvczIvbGludXguaCBiL2djYy9jb25maWcvbmlvczIvbGludXguaAoraW5kZXggNDcyOTEwNTYyNmQuLjM2MTgxZWI3Yjg1IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9uaW9zMi9saW51eC5oCisrKysgYi9nY2MvY29uZmlnL25pb3MyL2xpbnV4LmgKK0BAIC0zMCw2ICszMCw3IEBACisgI2RlZmluZSBDUFBfU1BFQyAiJXtwb3NpeDotRF9QT1NJWF9TT1VSQ0V9ICV7cHRocmVhZDotRF9SRUVOVFJBTlR9IgorIAorICNkZWZpbmUgR0xJQkNfRFlOQU1JQ19MSU5LRVIgIi9saWIvbGQtbGludXgtbmlvczIuc28uMSIKKysjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIgICIvbGliL2xkLW11c2wtbmlvczIuc28uMSIKKyAKKyAjdW5kZWYgTElOS19TUEVDCisgI2RlZmluZSBMSU5LX1NQRUMgTElOS19TUEVDX0VORElBTiBcCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMxLUFkZC1zc3Bfbm9uc2hhcmVkLXRvLWxpbmstY29tbWFuZGxpbmUtZm9yLW11c2wtdGFyZ2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDAyY2YyYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzEtQWRkLXNzcF9ub25zaGFyZWQtdG8tbGluay1jb21tYW5kbGluZS1mb3ItbXVzbC10YXJnZS5wYXRjaApAQCAtMCwwICsxLDg3IEBACitGcm9tIGY3MTVhZWVmMjk0Yjg1ZmE1OTNlZjY5ZTZkMDExNGNjN2IxNTMxMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBKdW4gMjAxNyAxODoxMDo1NCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMxLzQwXSBBZGQgc3NwX25vbnNoYXJlZCB0byBsaW5rIGNvbW1hbmRsaW5lIGZvciBtdXNsIHRhcmdldHMKKword2hlbiAtZnN0YWNrLXByb3RlY3RvciBvcHRpb25zIGFyZSBlbmFibGVkIHdlIG5lZWQgdG8KK2xpbmsgd2l0aCBzc3Bfc2hhcmVkIG9uIG11c2wgc2luY2UgaXQgZG9lcyBub3QgcHJvdmlkZQordGhlIF9fc3RhY2tfY2hrX2ZhaWxfbG9jYWwoKSBzbyBlc3NlbnRpYWxseSBpdCBwcm92aWRlcworbGlic3NwIGJ1dCBub3QgbGlic3NwX25vbnNoYXJlZCBzb21ldGhpbmcgbGlrZQorVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQX0JVVF9OT1RfU1NQX05PTlNIQVJFRAorIHdoZXJlLWFzIGZvciBnbGliYyB0aGUgbmVlZGVkIHN5bWJvbHMKK2FyZSBhbHJlYWR5IHByZXNlbnQgaW4gbGliY19ub25zaGFyZWQgbGlicmFyeSB0aGVyZWZvcmUKK3dlIGRvIG5vdCBuZWVkIGFueSBsaWJyYXJ5IGhlbHBlciBvbiBnbGliYyBiYXNlZCBzeXN0ZW1zCitidXQgbXVzbCBuZWVkcyB0aGUgbGlic3NwX25vc2hhcmVkIGZyb20gZ2NjCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9saW51eC5oICAgICAgICAgIHwgIDcgKysrKysrKworIGdjYy9jb25maWcvcnM2MDAwL2xpbnV4LmggICB8IDEwICsrKysrKysrKysKKyBnY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmggfCAxMCArKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2xpbnV4LmggYi9nY2MvY29uZmlnL2xpbnV4LmgKK2luZGV4IDQ4N2IwYzA5MjNiLi40NzY5ZDA4OTUzOCAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9saW51eC5oCitAQCAtMTgyLDYgKzE4MiwxMyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKKyAgICAgeyBHQ0NfSU5DTFVERV9ESVIsICJHQ0MiLCAwLCAxLCAwLCAwIH0sCQlcCisgICAgIHsgMCwgMCwgMCwgMCwgMCwgMCB9CQkJCVwKKyAgIH0KKysjaWZkZWYgVEFSR0VUX0xJQkNfUFJPVklERVNfU1NQCisrI3VuZGVmIExJTktfU1NQX1NQRUMKKysjZGVmaW5lIExJTktfU1NQX1NQRUMgIiV7ZnN0YWNrLXByb3RlY3Rvcnxmc3RhY2stcHJvdGVjdG9yLWFsbCIgXAorKwkJICAgICAgICJ8ZnN0YWNrLXByb3RlY3Rvci1zdHJvbmd8ZnN0YWNrLXByb3RlY3Rvci1leHBsaWNpdCIgXAorKwkJICAgICAgICI6LWxzc3Bfbm9uc2hhcmVkfSIKKysjZW5kaWYKKysKKyAjZW5kaWYKKyAKKyAjaWYgKERFRkFVTFRfTElCQyA9PSBMSUJDX1VDTElCQykgJiYgZGVmaW5lZCAoU0lOR0xFX0xJQkMpIC8qIHVDbGludXggKi8KK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9saW51eC5oIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAoraW5kZXggMDFiNDBjNzYyZjYuLmU3YzVlOTIyMTVjIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvbGludXguaAorQEAgLTkyLDYgKzkyLDE2IEBACisgCQkJCQkgIiAtbSBlbGYzMnBwY2xpbnV4IikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICN1bmRlZiBMSU5LX09TX0xJTlVYX1NQRUMKKyAjZGVmaW5lIExJTktfT1NfTElOVVhfU1BFQyBMSU5LX09TX0xJTlVYX0VNVUwgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNTRhYThkOTU3ZTcuLjYxOWUxMTNlMmI4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00NjYsNiArNDY2LDE2IEBAIGV4dGVybiBpbnQgZG90X3N5bWJvbHM7CisgCQkJCQkgICAiIC1tIGVsZjY0cHBjIikKKyAjZW5kaWYKKyAKKysvKiBsaW5rIGxpYnNzcF9ub25zaGFyZWQuYSB3aXRoIG11c2wgKi8KKysjaWYgREVGQVVMVF9MSUJDID09IExJQkNfTVVTTAorKyNpZmRlZiBUQVJHRVRfTElCQ19QUk9WSURFU19TU1AKKysjdW5kZWYgTElOS19TU1BfU1BFQworKyNkZWZpbmUgTElOS19TU1BfU1BFQyAiJXtmc3RhY2stcHJvdGVjdG9yfGZzdGFjay1wcm90ZWN0b3ItYWxsIiBcCisrCQkgICAgICAgInxmc3RhY2stcHJvdGVjdG9yLXN0cm9uZ3xmc3RhY2stcHJvdGVjdG9yLWV4cGxpY2l0IiBcCisrCQkgICAgICAgIjotbHNzcF9ub25zaGFyZWR9IgorKyNlbmRpZgorKyNlbmRpZgorKworICNkZWZpbmUgTElOS19PU19MSU5VWF9TUEVDMzIgTElOS19PU19MSU5VWF9FTVVMMzIgIiAleyFzaGFyZWQ6ICV7IXN0YXRpYzogXAorICAgJXshc3RhdGljLXBpZTogXAorICAgICAle3JkeW5hbWljOi1leHBvcnQtZHluYW1pY30gXAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMi1saWJnY2MtQWRkLWtub2ItdG8tdXNlLWxkYmwtMTI4LW9uLXBwYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDI1Y2FiYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzItbGliZ2NjLUFkZC1rbm9iLXRvLXVzZS1sZGJsLTEyOC1vbi1wcGMucGF0Y2gKQEAgLTAsMCArMSwxMjUgQEAKK0Zyb20gNmRmYmNhNzhiOGQyNTNhZWNmOWNiYjVlNjhlMDRiOGRkM2Q2YTU0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI5IEFwciAyMDE2IDIwOjAzOjI4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMzIvNDBdIGxpYmdjYzogQWRkIGtub2IgdG8gdXNlIGxkYmwtMTI4IG9uIHBwYworCittdXNsIGRvZXMgbm90IHN1cHBvcnQgbGRibCAxMjggc28gd2UgY2FuIG5vdCBhc3N1bWUKK3RoYXQgbGludXggYXMgYSB3aG9sZSBzdXBwb3J0cyBsZGJsLTEyOCBiaXRzLCBpbnN0ZWFkCithY3QgdXBvbiBjb25maWd1cmUgb3B0aW9uIHBhc3NlZCB0byBnY2MgYW5kIGFzc3VtZSBubworb24gbXVzbCBhbmQgeWVzIG90aGVyd2lzZSBpZiBubyBvcHRpb24gaXMgcGFzc2VkIHNpbmNlCitkZWZhdWx0IGJlaGF2aW91ciBpcyB0byBhc3N1bWUgbGRibDEyOCBpdCBkb2VzIG5vdAorY2hhbmdlIHRoZSBkZWZhdWx0cworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9NYWtlZmlsZS5pbiAgICAgICAgICAgfCAgMSArCisgbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCB8ICA1ICsrKystCisgbGliZ2NjL2NvbmZpZ3VyZSAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKworIGxpYmdjYy9jb25maWd1cmUuYWMgICAgICAgICAgfCAxMiArKysrKysrKysrKysKKyA0IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKyBtb2RlIGNoYW5nZSAxMDA2NDQgPT4gMTAwNzU1IGxpYmdjYy9jb25maWd1cmUKKworZGlmZiAtLWdpdCBhL2xpYmdjYy9NYWtlZmlsZS5pbiBiL2xpYmdjYy9NYWtlZmlsZS5pbgoraW5kZXggZGQ4Y2VlOTlmZDMuLmI1ZjQ3OGFmMzgyIDEwMDY0NAorLS0tIGEvbGliZ2NjL01ha2VmaWxlLmluCisrKysgYi9saWJnY2MvTWFrZWZpbGUuaW4KK0BAIC00OCw2ICs0OCw3IEBAIHVud2luZF9oZWFkZXIgPSBAdW53aW5kX2hlYWRlckAKKyBtZF91bndpbmRfaGVhZGVyID0gQG1kX3Vud2luZF9oZWFkZXJACisgc2ZwX21hY2hpbmVfaGVhZGVyID0gQHNmcF9tYWNoaW5lX2hlYWRlckAKKyB0aHJlYWRfaGVhZGVyID0gQHRocmVhZF9oZWFkZXJACisrd2l0aF9sZGJsMTI4ID0gQHdpdGhfbGRibDEyOEAKKyAKKyBob3N0X25vbmNhbm9uaWNhbCA9IEBob3N0X25vbmNhbm9uaWNhbEAKKyByZWFsX2hvc3Rfbm9uY2Fub25pY2FsID0gQHJlYWxfaG9zdF9ub25jYW5vbmljYWxACitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9yczYwMDAvdC1saW51eCBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK2luZGV4IDRmNmQ0YzRhNGQyLi5jNTBkZDk0YTJkYSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKKysrKyBiL2xpYmdjYy9jb25maWcvcnM2MDAwL3QtbGludXgKK0BAIC0xLDMgKzEsNiBAQAorIFNITElCX01BUEZJTEVTICs9ICQoc3JjZGlyKS9jb25maWcvcnM2MDAwL2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtMTI4IC1tbm8tbWluaW1hbC10b2MKKytpZmVxICgkKHdpdGhfbGRibDEyOCkseWVzKQorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1sb25nLWRvdWJsZS0xMjgKKytlbmRpZgorK0hPU1RfTElCR0NDMl9DRkxBR1MgKz0gLW1uby1taW5pbWFsLXRvYworZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUgYi9saWJnY2MvY29uZmlndXJlCitvbGQgbW9kZSAxMDA2NDQKK25ldyBtb2RlIDEwMDc1NQoraW5kZXggYjJmM2Y4NzA4NDQuLmVkODA2NTg3YzE3CistLS0gYS9saWJnY2MvY29uZmlndXJlCisrKysgYi9saWJnY2MvY29uZmlndXJlCitAQCAtNjE5LDYgKzYxOSw3IEBAIGJ1aWxkX3ZlbmRvcgorIGJ1aWxkX2NwdQorIGJ1aWxkCisgd2l0aF9haXhfc29uYW1lCisrd2l0aF9sZGJsMTI4CisgZW5hYmxlX3Z0YWJsZV92ZXJpZnkKKyBlbmFibGVfc2hhcmVkCisgbGliZ2NjX3RvcGRpcgorQEAgLTY2OCw2ICs2NjksNyBAQCB3aXRoX2Nyb3NzX2hvc3QKKyB3aXRoX2xkCisgZW5hYmxlX3NoYXJlZAorIGVuYWJsZV92dGFibGVfdmVyaWZ5Cisrd2l0aF9sb25nX2RvdWJsZV8xMjgKKyB3aXRoX2FpeF9zb25hbWUKKyBlbmFibGVfdmVyc2lvbl9zcGVjaWZpY19ydW50aW1lX2xpYnMKKyB3aXRoX3NsaWJkaXIKK0BAIC0xMzI5LDYgKzEzMzEsNyBAQCBPcHRpb25hbCBQYWNrYWdlczoKKyAgIC0td2l0aC10YXJnZXQtc3ViZGlyPVNVQkRJUiAgICAgIENvbmZpZ3VyaW5nIGluIGEgc3ViZGlyZWN0b3J5IGZvciB0YXJnZXQKKyAgIC0td2l0aC1jcm9zcy1ob3N0PUhPU1QgICAgICAgICAgIENvbmZpZ3VyaW5nIHdpdGggYSBjcm9zcyBjb21waWxlcgorICAgLS13aXRoLWxkICAgICAgICAgICAgICAgYXJyYW5nZSB0byB1c2UgdGhlIHNwZWNpZmllZCBsZCAoZnVsbCBwYXRobmFtZSkKKysgIC0td2l0aC1sb25nLWRvdWJsZS0xMjggIHVzZSAxMjgtYml0IGxvbmcgZG91YmxlIGJ5IGRlZmF1bHQKKyAgIC0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZCBsaWJyYXJ5IHZlcnNpb25pbmcgKGFrYSAiU09OQU1FIikgdmFyaWFudCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSBvbiBBSVgKK0BAIC0yMjEzLDYgKzIyMTYsMjEgQEAgZmkKKyAKKyAKKyAKKysjIENoZWNrIHdoZXRoZXIgLS13aXRoLWxvbmctZG91YmxlLTEyOCB3YXMgZ2l2ZW4uCisraWYgdGVzdCAiJHt3aXRoX2xvbmdfZG91YmxlXzEyOCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICB3aXRodmFsPSR3aXRoX2xvbmdfZG91YmxlXzEyODsgd2l0aF9sZGJsMTI4PSIkd2l0aF9sb25nX2RvdWJsZV8xMjgiCisrZWxzZQorKyAgY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrCisrZmkKKysKKysKKysKKysKKyAjIENoZWNrIHdoZXRoZXIgLS13aXRoLWFpeC1zb25hbWUgd2FzIGdpdmVuLgorIGlmIHRlc3QgIiR7d2l0aF9haXhfc29uYW1lK3NldH0iID0gc2V0OyB0aGVuIDoKKyAgIHdpdGh2YWw9JHdpdGhfYWl4X3NvbmFtZTsgY2FzZSAiJHtob3N0fToke2VuYWJsZV9zaGFyZWR9IiBpbgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWd1cmUuYWMgYi9saWJnY2MvY29uZmlndXJlLmFjCitpbmRleCBiNTlhYTc0NmFmYy4uNDIyMjBhMjYzYzUgMTAwNjQ0CistLS0gYS9saWJnY2MvY29uZmlndXJlLmFjCisrKysgYi9saWJnY2MvY29uZmlndXJlLmFjCitAQCAtNzgsNiArNzgsMTggQEAgQUNfQVJHX0VOQUJMRSh2dGFibGUtdmVyaWZ5LAorIFtlbmFibGVfdnRhYmxlX3ZlcmlmeT1ub10pCisgQUNfU1VCU1QoZW5hYmxlX3Z0YWJsZV92ZXJpZnkpCisgCisrQUNfQVJHX1dJVEgobG9uZy1kb3VibGUtMTI4LAorK1tBU19IRUxQX1NUUklORyhbLS13aXRoLWxvbmctZG91YmxlLTEyOF0sCisrICAgIFt1c2UgMTI4LWJpdCBsb25nIGRvdWJsZSBieSBkZWZhdWx0XSldLAorKyAgICAgIHdpdGhfbGRibDEyOD0iJHdpdGhfbG9uZ19kb3VibGVfMTI4IiwKKytbY2FzZSAiJHtob3N0fSIgaW4KKysgcG93ZXIqLSotbXVzbCopCisrICAgd2l0aF9sZGJsMTI4PSJubyI7OworKyAqKSB3aXRoX2xkYmwxMjg9InllcyI7OworKyBlc2FjCisrXSkKKytBQ19TVUJTVCh3aXRoX2xkYmwxMjgpCisrCisgQUNfQVJHX1dJVEgoYWl4LXNvbmFtZSwKKyBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1haXgtc29uYW1lPWFpeHxzdnI0fGJvdGhdLAorICAgICBbc2hhcmVkIGxpYnJhcnkgdmVyc2lvbmluZyAoYWthICJTT05BTUUiKSB2YXJpYW50IHRvIHByb3ZpZGUgb24gQUlYXSldLAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDMzLUxpbmstbGliZ2NjLXVzaW5nLUxERkxBR1Mtbm90LWp1c3QtU0hMSUJfTERGTEFHUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDNmN2FhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzMy1MaW5rLWxpYmdjYy11c2luZy1MREZMQUdTLW5vdC1qdXN0LVNITElCX0xERkxBR1MucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorRnJvbSA3ZTU1MTQ3ZThlNjA5YWNlNmY5ZWVjZDg2YTk1NjYzNjY4NzY3MWYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgNCBNYXkgMjAxNiAyMToxMTozNCAtMDcwMAorU3ViamVjdDogW1BBVENIIDMzLzQwXSBMaW5rIGxpYmdjYyB1c2luZyBMREZMQUdTLCBub3QganVzdCBTSExJQl9MREZMQUdTCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgorU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmdjYy9jb25maWcvdC1zbGliZ2NjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MgYi9saWJnY2MvY29uZmlnL3Qtc2xpYmdjYworaW5kZXggN2U2MGI2MjFhMmQuLmVhMjJlZGUzMzYxIDEwMDY0NAorLS0tIGEvbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKKysrKyBiL2xpYmdjYy9jb25maWcvdC1zbGliZ2NjCitAQCAtMzIsNyArMzIsNyBAQCBTSExJQl9JTlNUQUxMX1NPTElOSyA9ICQoTE5fUykgJChTSExJQl9TT05BTUUpIFwKKyAJJChERVNURElSKSQoc2xpYmRpcikkKFNITElCX1NMSUJESVJfUVVBTCkvJChTSExJQl9TT0xJTkspCisgCisgU0hMSUJfTElOSyA9ICQoQ0MpICQoTElCR0NDMl9DRkxBR1MpIC1zaGFyZWQgLW5vZGVmYXVsdGxpYnMgXAorLQkkKFNITElCX0xERkxBR1MpIFwKKysJJChMREZMQUdTKSAkKFNITElCX0xERkxBR1MpIFwKKyAJLW8gJChTSExJQl9ESVIpLyQoU0hMSUJfU09OQU1FKS50bXAgQG11bHRpbGliX2ZsYWdzQCBcCisgCSQoU0hMSUJfT0JKUykgJChTSExJQl9MQykgJiYgXAorIAlybSAtZiAkKFNITElCX0RJUikvJChTSExJQl9TT0xJTkspICYmIFwKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzQtbGliZ2NjX3MtVXNlLWFsaWFzLWZvci1fX2NwdV9pbmRpY2F0b3JfaW5pdC1pbnN0ZWFkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjIyNGNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNC1saWJnY2Nfcy1Vc2UtYWxpYXMtZm9yLV9fY3B1X2luZGljYXRvcl9pbml0LWluc3RlYWQtLnBhdGNoCkBAIC0wLDAgKzEsODUgQEAKK0Zyb20gNDZjYTUxZGQ0MTMzMzBiYjg0MjViMDYyODNlNzY2N2JmYjUwN2MzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN6YWJvbGNzIE5hZ3kgPG5zekBwb3J0NzAubmV0PgorRGF0ZTogU2F0LCAyNCBPY3QgMjAxNSAyMDowOTo1MyArMDAwMAorU3ViamVjdDogW1BBVENIIDM0LzQwXSBsaWJnY2NfczogVXNlIGFsaWFzIGZvciBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbnN0ZWFkIG9mIHN5bXZlcgorCitBZGFwdGVyIGZyb20KKworaHR0cHM6Ly9nY2MuZ251Lm9yZy9tbC9nY2MtcGF0Y2hlcy8yMDE1LTA1L21zZzAwODk5Lmh0bWwKKworVGhpcyBmaXggd2FzIGRlYmF0ZWQgYnV0IGhhc250IGJlZW4gYXBwbGllZCBnY2MgdXBzdHJlYW0gc2luY2UKK3RoZXkgZXhwZWN0IG11c2wgdG8gc3VwcG9ydCAnQCcgaW4gc3ltYm9sIHZlcnNpb25pbmcgd2hpY2ggaXMKK2Egc3VuL2dudSB2ZXJzaW9uaW5nIGV4dGVudGlvbi4gVGhpcyBwYXRjaCBob3dldmVyIGF2b2lkcyB0aGUKK25lZWQgZm9yIHRoZSAnQCcgc3ltYm9scyBhdCBhbGwKKworbGliZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvY3B1aW5mby5jIChfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCk6IEFkZC4KKwkoX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wLCBfX2NwdV9tb2RlbEBHQ0NfNC44LjApOiBSZW1vdmUuCisKKwkqIGNvbmZpZy9pMzg2L3QtbGludXggKEhPU1RfTElCR0NDMl9DRkxBR1MpOiBSZW1vdmUgLURVU0VfRUxGX1NZTVZFUi4KKworZ2NjL0NoYW5nZWxvZzoKKworMjAxNS0wNS0xMSAgU3phYm9sY3MgTmFneSAgPHN6YWJvbGNzLm5hZ3lAYXJtLmNvbT4KKworCSogY29uZmlnL2kzODYvaTM4Ni5jIChpeDg2X2V4cGFuZF9idWlsdGluKTogTWFrZSBfX2J1aWx0aW5fY3B1X2luaXQKKwljYWxsIF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsIGluc3RlYWQgb2YgX19jcHVfaW5kaWNhdG9yX2luaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyAgICAgICB8IDQgKystLQorIGxpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMgfCA2ICsrKy0tLQorIGxpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4ICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL2kzODYvaTM4Ni5jIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworaW5kZXggYTg4YTI5YjUxZTYuLjZmM2Y1MTg3OTcwIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworKysrIGIvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworQEAgLTM2NTU1LDEwICszNjU1NSwxMCBAQCBpeDg2X2V4cGFuZF9idWlsdGluICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgcnR4IHN1YnRhcmdldCwKKyAgICAgeworICAgICBjYXNlIElYODZfQlVJTFRJTl9DUFVfSU5JVDoKKyAgICAgICB7CistCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdCBpbiBsaWJnY2MuICovCisrCS8qIE1ha2UgaXQgY2FsbCBfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCBpbiBsaWJnY2MuYS4gKi8KKyAJdHJlZSBjYWxsX2V4cHIsIGZuZGVjbCwgdHlwZTsKKyAgICAgICAgIHR5cGUgPSBidWlsZF9mdW5jdGlvbl90eXBlX2xpc3QgKGludGVnZXJfdHlwZV9ub2RlLCBOVUxMX1RSRUUpOyAKKy0JZm5kZWNsID0gYnVpbGRfZm5fZGVjbCAoIl9fY3B1X2luZGljYXRvcl9pbml0IiwgdHlwZSk7CisrCWZuZGVjbCA9IGJ1aWxkX2ZuX2RlY2wgKCJfX2NwdV9pbmRpY2F0b3JfaW5pdF9sb2NhbCIsIHR5cGUpOworIAljYWxsX2V4cHIgPSBidWlsZF9jYWxsX2V4cHIgKGZuZGVjbCwgMCk7IAorIAlyZXR1cm4gZXhwYW5kX2V4cHIgKGNhbGxfZXhwciwgdGFyZ2V0LCBtb2RlLCBFWFBBTkRfTk9STUFMKTsKKyAgICAgICB9CitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pMzg2L2NwdWluZm8uYyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK2luZGV4IGQxODUzZDU1MTViLi44NjQxNTBjOTI0OSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKKysrKyBiL2xpYmdjYy9jb25maWcvaTM4Ni9jcHVpbmZvLmMKK0BAIC00ODUsNyArNDg1LDcgQEAgX19jcHVfaW5kaWNhdG9yX2luaXQgKHZvaWQpCisgICByZXR1cm4gMDsKKyB9CisgCistI2lmIGRlZmluZWQgU0hBUkVEICYmIGRlZmluZWQgVVNFX0VMRl9TWU1WRVIKKy1fX2FzbV9fICgiLnN5bXZlciBfX2NwdV9pbmRpY2F0b3JfaW5pdCwgX19jcHVfaW5kaWNhdG9yX2luaXRAR0NDXzQuOC4wIik7CistX19hc21fXyAoIi5zeW12ZXIgX19jcHVfbW9kZWwsIF9fY3B1X21vZGVsQEdDQ180LjguMCIpOworKyNpZm5kZWYgU0hBUkVECisraW50IF9fY3B1X2luZGljYXRvcl9pbml0X2xvY2FsICh2b2lkKQorKyAgX19hdHRyaWJ1dGVfXyAoKHdlYWssIGFsaWFzICgiX19jcHVfaW5kaWNhdG9yX2luaXQiKSkpOworICNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4IGIvbGliZ2NjL2NvbmZpZy9pMzg2L3QtbGludXgKK2luZGV4IDg1MDZhNjM1NzkwLi41NjQyOTZmNzg4ZSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaTM4Ni90LWxpbnV4CisrKysgYi9saWJnY2MvY29uZmlnL2kzODYvdC1saW51eAorQEAgLTMsNSArMyw1IEBACisgIyB0LXNsaWJnY2MtZWxmLXZlciBhbmQgdC1saW51eAorIFNITElCX01BUEZJTEVTID0gbGliZ2NjLXN0ZC52ZXIgJChzcmNkaXIpL2NvbmZpZy9pMzg2L2xpYmdjYy1nbGliYy52ZXIKKyAKKy1IT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgLURVU0VfRUxGX1NZTVZFUiAkKENFVF9GTEFHUykKKytIT1NUX0xJQkdDQzJfQ0ZMQUdTICs9IC1tbG9uZy1kb3VibGUtODAgJChDRVRfRkxBR1MpCisgQ1JUU1RVRkZfVF9DRkxBR1MgKz0gJChDRVRfRkxBR1MpCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzUtc3luYy1nY2Mtc3RkZGVmLmgtd2l0aC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlY2Q2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM1LXN5bmMtZ2NjLXN0ZGRlZi5oLXdpdGgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9tIDM4ZDQwMWZiNmFiNTU1ZDA5ZjRhOWE2Nzc3MjFkZGUwNzQzODc2ZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCAzIEZlYiAyMDE3IDEyOjU2OjAwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzUvNDBdIHN5bmMgZ2NjIHN0ZGRlZi5oIHdpdGggbXVzbAorCittdXNsIGRlZmluZXMgcHRyZGlmZl90IHNpemVfdCBhbmQgd2NoYXJfdAorc28gZG9udCBkZWZpbmUgdGhlbSBoZXJlIGlmIG11c2wgaXMgZGVmaW5pbmluZyB0aGVtCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvZ2luY2x1ZGUvc3RkZGVmLmggYi9nY2MvZ2luY2x1ZGUvc3RkZGVmLmgKK2luZGV4IDMxYjk2YTdlNWUxLi40MzhhM2NlN2M1NiAxMDA2NDQKKy0tLSBhL2djYy9naW5jbHVkZS9zdGRkZWYuaAorKysrIGIvZ2NjL2dpbmNsdWRlL3N0ZGRlZi5oCitAQCAtMTM0LDYgKzEzNCw3IEBAIF9UWVBFX3djaGFyX3Q7CisgI2lmbmRlZiBfX19pbnRfcHRyZGlmZl90X2gKKyAjaWZuZGVmIF9HQ0NfUFRSRElGRl9UCisgI2lmbmRlZiBfUFRSRElGRl9UX0RFQ0xBUkVEIC8qIERyYWdvbkZseSAqLworKyNpZm5kZWYgX19ERUZJTkVEX3B0cmRpZmZfdCAvKiBtdXNsICovCisgI2RlZmluZSBfUFRSRElGRl9UCisgI2RlZmluZSBfVF9QVFJESUZGXworICNkZWZpbmUgX1RfUFRSRElGRgorQEAgLTE0MywxMCArMTQ0LDEyIEBAIF9UWVBFX3djaGFyX3Q7CisgI2RlZmluZSBfX19pbnRfcHRyZGlmZl90X2gKKyAjZGVmaW5lIF9HQ0NfUFRSRElGRl9UCisgI2RlZmluZSBfUFRSRElGRl9UX0RFQ0xBUkVECisrI2RlZmluZSBfX0RFRklORURfcHRyZGlmZl90IC8qIG11c2wgKi8KKyAjaWZuZGVmIF9fUFRSRElGRl9UWVBFX18KKyAjZGVmaW5lIF9fUFRSRElGRl9UWVBFX18gbG9uZyBpbnQKKyAjZW5kaWYKKyB0eXBlZGVmIF9fUFRSRElGRl9UWVBFX18gcHRyZGlmZl90OworKyNlbmRpZiAvKiBfX0RFRklORURfcHRyZGlmZl90ICovCisgI2VuZGlmIC8qIF9QVFJESUZGX1RfREVDTEFSRUQgKi8KKyAjZW5kaWYgLyogX0dDQ19QVFJESUZGX1QgKi8KKyAjZW5kaWYgLyogX19faW50X3B0cmRpZmZfdF9oICovCitAQCAtMTg0LDYgKzE4Nyw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2lmbmRlZiBfR0NDX1NJWkVfVAorICNpZm5kZWYgX1NJWkVUXworICNpZm5kZWYgX19zaXplX3QKKysjaWZuZGVmIF9fREVGSU5FRF9zaXplX3QgLyogbXVzbCAqLworICNkZWZpbmUgX19zaXplX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1NJWkVfVF9fCS8qIENyYXkgVW5pY29zL01rICovCisgI2RlZmluZSBfU0laRV9UCitAQCAtMjAwLDYgKzIwNCw3IEBAIHR5cGVkZWYgX19QVFJESUZGX1RZUEVfXyBwdHJkaWZmX3Q7CisgI2RlZmluZSBfX19pbnRfc2l6ZV90X2gKKyAjZGVmaW5lIF9HQ0NfU0laRV9UCisgI2RlZmluZSBfU0laRVRfCisrI2RlZmluZSBfX0RFRklORURfc2l6ZV90IC8qIG11c2wgKi8KKyAjaWYgKGRlZmluZWQgKF9fRnJlZUJTRF9fKSAmJiAoX19GcmVlQlNEX18gPj0gNSkpIFwKKyAgIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgXAorICAgfHwgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCitAQCAtMjM1LDYgKzI0MCw3IEBAIHR5cGVkZWYgbG9uZyBzc2l6ZV90OworICNlbmRpZiAvKiBfU0laRV9UICovCisgI2VuZGlmIC8qIF9fU0laRV9UX18gKi8KKyAjZW5kaWYgLyogX19zaXplX3RfXyAqLworKyNlbmRpZiAvKiBfX0RFRklORURfc2l6ZV90ICovCisgI3VuZGVmCV9fbmVlZF9zaXplX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF9zaXplX3QuICAqLworIAorQEAgLTI2NCw2ICsyNzAsNyBAQCB0eXBlZGVmIGxvbmcgc3NpemVfdDsKKyAjaWZuZGVmIF9fX2ludF93Y2hhcl90X2gKKyAjaWZuZGVmIF9fSU5UX1dDSEFSX1RfSAorICNpZm5kZWYgX0dDQ19XQ0hBUl9UCisrI2lmbmRlZiBfX0RFRklORURfd2NoYXJfdCAvKiBtdXNsICovCisgI2RlZmluZSBfX3djaGFyX3RfXwkvKiBCZU9TICovCisgI2RlZmluZSBfX1dDSEFSX1RfXwkvKiBDcmF5IFVuaWNvcy9NayAqLworICNkZWZpbmUgX1dDSEFSX1QKK0BAIC0yNzksNiArMjg2LDcgQEAgdHlwZWRlZiBsb25nIHNzaXplX3Q7CisgI2RlZmluZSBfX0lOVF9XQ0hBUl9UX0gKKyAjZGVmaW5lIF9HQ0NfV0NIQVJfVAorICNkZWZpbmUgX1dDSEFSX1RfREVDTEFSRUQKKysjZGVmaW5lIF9fREVGSU5FRF93Y2hhcl90IC8qIG11c2wgKi8KKyAKKyAvKiBPbiBCU0QvMzg2IDEuMSwgYXQgbGVhc3QsIG1hY2hpbmUvYW5zaS5oIGRlZmluZXMgX0JTRF9XQ0hBUl9UXworICAgIGluc3RlYWQgb2YgX1dDSEFSX1RfLCBhbmQgX0JTRF9SVU5FX1RfICh3aGljaCwgdW5saWtlIHRoZSBvdGhlcgorQEAgLTM0NCw2ICszNTIsNyBAQCB0eXBlZGVmIF9fV0NIQVJfVFlQRV9fIHdjaGFyX3Q7CisgI2VuZGlmCisgI2VuZGlmIC8qIF9fV0NIQVJfVF9fICovCisgI2VuZGlmIC8qIF9fd2NoYXJfdF9fICovCisrI2VuZGlmIC8qIF9fREVGSU5FRF93Y2hhcl90IG11c2wgKi8KKyAjdW5kZWYJX19uZWVkX3djaGFyX3QKKyAjZW5kaWYgLyogX1NURERFRl9IIG9yIF9fbmVlZF93Y2hhcl90LiAgKi8KKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzYtZml4LXNlZ21lbnRhdGlvbi1mYXVsdC1pbi1wcmVjb21waWxlZC1oZWFkZXItZ2VuZXJhdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNGNlNWRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNi1maXgtc2VnbWVudGF0aW9uLWZhdWx0LWluLXByZWNvbXBpbGVkLWhlYWRlci1nZW5lcmF0LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0Zyb20gYTliYjI5YTRlOWI0NzhmOWIxMjZlNDgzNDY3Y2U5MDMxYzMzZmU0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+CitEYXRlOiBNb24sIDE5IE1hciAyMDE4IDIyOjMxOjIwIC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMzYvNDBdIGZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gcHJlY29tcGlsZWQgaGVhZGVyIGdlbmVyYXRpb24KKworUHJldmVudCBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGljaCBvY2N1cnMgd2hlbiB1c2luZyBpbmNvcnJlY3QKK3N0cnVjdHVyZSB0cnlpbmcgdG8gYWNjZXNzIG5hbWUgb2Ygc29tZSBuYW1lZCBvcGVyYXRvcnMsIHN1Y2ggYXMKK0NQUF9OT1QsIENQUF9BTkQgZXRjLiAidG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nIiBjYW5ub3QgYmUgdXNlZCBpbgordGhvc2UgY2FzZXMsIGFzIGlzIG1heSBub3QgYmUgaW5pdGlhbGl6ZWQgYXQgYWxsLgorCitbWU9DVE8gIzExNzM4XQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBsaWJjcHAvbGV4LmMgfCAyNiArKysrKysrKysrKysrKysrKysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbGliY3BwL2xleC5jIGIvbGliY3BwL2xleC5jCitpbmRleCAzN2MzNjVhMzU2MC4uNjM0ODAwNDhkYjYgMTAwNjQ0CistLS0gYS9saWJjcHAvbGV4LmMKKysrKyBiL2xpYmNwcC9sZXguYworQEAgLTMyNzksMTEgKzMyNzksMjcgQEAgY3BwX3NwZWxsX3Rva2VuIChjcHBfcmVhZGVyICpwZmlsZSwgY29uc3QgY3BwX3Rva2VuICp0b2tlbiwKKyAgICAgc3BlbGxfaWRlbnQ6CisgICAgIGNhc2UgU1BFTExfSURFTlQ6CisgICAgICAgaWYgKGZvcnN0cmluZykKKy0JeworLQkgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCistCQkgIE5PREVfTEVOICh0b2tlbi0+dmFsLm5vZGUuc3BlbGxpbmcpKTsKKy0JICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CistCX0KKysgICAgICAgIHsKKysgICAgICAgICAgaWYgKHRva2VuLT50eXBlID09IENQUF9OQU1FKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIG1lbWNweSAoYnVmZmVyLCBOT0RFX05BTUUgKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyksCisrICAgICAgICAgICAgICAgICAgICBOT0RFX0xFTiAodG9rZW4tPnZhbC5ub2RlLnNwZWxsaW5nKSk7CisrICAgICAgICAgICAgICBidWZmZXIgKz0gTk9ERV9MRU4gKHRva2VuLT52YWwubm9kZS5zcGVsbGluZyk7CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICAgIC8qIE5BTUVEX09QLCBjYW5ub3QgdXNlIG5vZGUuc3BlbGxpbmcgKi8KKysgICAgICAgICAgaWYgKHRva2VuLT5mbGFncyAmIE5BTUVEX09QKQorKyAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0ciA9IGNwcF9uYW1lZF9vcGVyYXRvcjJuYW1lICh0b2tlbi0+dHlwZSk7CisrICAgICAgICAgICAgICBpZiAoc3RyKQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiA9IHN0cmxlbihzdHIpOworKyAgICAgICAgICAgICAgICAgIG1lbWNweShidWZmZXIsIHN0ciwgbGVuKTsKKysgICAgICAgICAgICAgICAgICBidWZmZXIgKz0gbGVuOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisgICAgICAgZWxzZQorIAlidWZmZXIgPSBfY3BwX3NwZWxsX2lkZW50X3VjbnMgKGJ1ZmZlciwgdG9rZW4tPnZhbC5ub2RlLm5vZGUpOworICAgICAgIGJyZWFrOworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzNy1GaXgtZm9yLXRlc3RzdWl0ZS1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwOTk5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDM3LUZpeC1mb3ItdGVzdHN1aXRlLWZhaWx1cmUucGF0Y2gKQEAgLTAsMCArMSwyNTggQEAKK0Zyb20gMWU1YzFlZjM0ZDkyYjQxNTdlMWEyNGNhNzQzZDQ1ZjNhNzM3NWE1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJBR0hVTkFUSCBMT0xVUiA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorRGF0ZTogV2VkLCA2IERlYyAyMDE3IDIyOjUyOjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0ggMzcvNDBdIEZpeCBmb3IgdGVzdHN1aXRlIGZhaWx1cmUKKworMjAxNy0xMS0xNiAgUmFnaHVuYXRoIExvbHVyICA8cmFnaHVuYXRoLmxvbHVyQGtwaXQuY29tPgorCisJKiBnY2MuZGcvcHI1NjI3NS5jOiBJZiBTU0UgaXMgZGlzYWJsZWQsIGVuc3VyZSB0aGF0CisJIi1tZnBtYXRoIiBpcyBub3Qgc2V0IHRvIHVzZSBTU0UuIFNldCAiLW1mcG1hdGg9Mzg3Ii4KKwkqIGdjYy5kZy9wcjY4MzA2LmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0yLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2ODMwNi0zLmM6IExpa2V3aXNlCisJKiBnY2MuZGcvcHI2OTYzNC5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9pc2EtMTQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jOiBMaWtld2lzZQorCSogZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYzogTGlrZXdpc2UKKwkqIGdjYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmM6IExpa2V3aXNlCisJKiBnY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYzogTGlrZXdpc2UKKworSWYgLVdhbGwsIC1XZXJyb3IgYXJlIHVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uIHZhcmlvdXMgdGVzdCBjYXNlcyBmYWlsCit0byBjb21waWxlLgorCitJZiBTU0UgaXMgZGlzYWJsZWQsIGJlIHN1cmUgdG8gLW1mcG1hdGg9Mzg3IHRvIHJlc29sdmUgdGhpcy4KKworVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjaGFuZ2VzIHRvIENoYW5nZWxvZyBmcm9tIHRoZSBvcmlnaW5hbCBwYXRjaC4KK1RoaXMgd2lsbCBoZWxwIHVzIGF2b2lkIGNvbmZsaWN0cy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KKy0tLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMgICAgICAgICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgICAgICAgICAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvYW1kNjQtYWJpLTEuYyAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYyAgICAgICAgICB8IDEgKworIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYyB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYyAgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jICAgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyAgICAgICAgICAgICB8IDIgKy0KKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMgICAgICAgICAgICAgfCAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgICAgICAgICAgIHwgMiArLQorIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMgICAgICB8IDIgKy0KKyAxNyBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNTYyNzUuYworaW5kZXggYjkwMWJiMmIxOTkuLmE0ZjZjOTVlMWExIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI1NjI3NS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjU2Mjc1LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UiIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIHsgdGFyZ2V0IHsgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gfSAqLworIAorIHR5cGVkZWYgbG9uZyBsb25nIHYydHcgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXplICgyICogc2l6ZW9mIChsb25nIGxvbmcpKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0yLmMKK2luZGV4IDQ2NzJlYmU3OTg3Li4yYTM2OGM0ODRiNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMi5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTIuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIHN0cnVjdCB7CisgICAgIGludCB0el9taW51dGVzd2VzdDsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYtMy5jCitpbmRleCBmNWE4YzEwMmNmOC4uZGYzMzkwYzY0YzIgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LTMuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi0zLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCisgLyogeyBkZy1vcHRpb25zICItTzMiIH0gKi8KKy0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXgiIHsgdGFyZ2V0IGk/ODYtKi0qIHg4Nl82NC0qLSogfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tbm8tc3NlIC1tbm8tbW14IC1tZnBtYXRoPTM4NyIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1hbHRpdmVjIC1tbm8tdnN4IiB7IHRhcmdldCBwb3dlcnBjKi0qLSogfSB9ICovCisgCisgZXh0ZXJuIHZvaWQgZm4yKCk7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2ODMwNi5jCitpbmRleCA1NGU1YjQwZjIyMS4uMDgxMzM4OWUyYzEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY4MzA2LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjgzMDYuYworQEAgLTEsNiArMSw2IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKyAvKiB7IGRnLW9wdGlvbnMgIi1PMyIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSAtbW5vLW1teCIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1uby1tbXggLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIAorIGVudW0gcG93ZXJwY19wbWNfdHlwZSB7IFBQQ19QTUNfSUJNIH07Cisgc3RydWN0IHsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NjM0LmMKK2luZGV4IDYwYTU2MTQ5NDYzLi5iY2MyM2Y5Y2NkNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3ByNjk2MzQuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTYzNC5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworIC8qIHsgZGctb3B0aW9ucyAiLU8yIC1mbm8tZGNlIC1mc2NoZWR1bGUtaW5zbnMgLWZuby10cmVlLXZycCAtZmNvbXBhcmUtZGVidWcgLVduby1wc2FiaSIgfSAqLworLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbW5vLXNzZSIgeyB0YXJnZXQgaT84Ni0qLSogeDg2XzY0LSotKiB9IH0gKi8KKysvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB7IHRhcmdldCBpPzg2LSotKiB4ODZfNjQtKi0qIH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHNjaGVkdWxpbmcgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdTE2OworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2FtZDY0LWFiaS0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitpbmRleCA2OWZkZTU3YmYwNi4uN2YxZjFjMDNlZGYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hbWQ2NC1hYmktMS5jCitAQCAtMSw1ICsxLDUgQEAKKyAvKiB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgeyAhIGlhMzIgfSB9IH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLW1hYmk9c3lzdiIgeyB0YXJnZXQgKi0qLW1pbmd3KiB9IH0gKi8KKyAKKyBkb3VibGUgZm9vKHZvaWQpIHsgcmV0dXJuIDA7IH0JLyogeyBkZy1lcnJvciAiU1NFIGRpc2FibGVkIiB9ICovCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvZnVuY3NwZWMtNi5jCitpbmRleCBlYTg5NmI3ZWJmZC4uYmYxNTU2OWI4MjYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9mdW5jc3BlYy02LmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2Z1bmNzcGVjLTYuYworQEAgLTEsNiArMSw3IEBACisgLyogVGVzdCB3aGV0aGVyIGFsbCBvZiB0aGUgNjQtYml0IGZ1bmN0aW9uIHNwZWNpZmljIG9wdGlvbnMgYXJlIGFjY2VwdGVkCisgICAgd2l0aG91dCBlcnJvci4gICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tZnBtYXRoPTM4NyIgfSAqLworIAorICNpbmNsdWRlICJmdW5jc3BlYy01Ni5pbmMiCisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaW50ZXJydXB0LTM4Ny1lcnItMS5jCitpbmRleCAzZmJkYzg4MWRkYS4uNmI0ZDlkMTI1MmEgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pbnRlcnJ1cHQtMzg3LWVyci0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2ludGVycnVwdC0zODctZXJyLTEuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWdlbmVyYWwtcmVncy1vbmx5IC1tbm8tY2xkIC1tbm8taWFtY3UgLW04MDM4NyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tZ2VuZXJhbC1yZWdzLW9ubHkgLW1uby1jbGQgLW1uby1pYW1jdSAtbTgwMzg3IC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHR5cGVkZWYgdW5zaWduZWQgaW50IHV3b3JkX3QgX19hdHRyaWJ1dGVfXyAoKG1vZGUgKF9fd29yZF9fKSkpOworIAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvaXNhLTE0LmMKK2luZGV4IDVkNDllNmU3N2ZlLi4xZGUyZGI5MmJkZCAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2lzYS0xNC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9pc2EtMTQuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBydW4gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXg4Ni02NCAtbXNzZTRhIC1tZm1hNCAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAKKyBleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI0NDk0OC0yYi5jCitpbmRleCBmYTE3NjliNjJmYi4uZjc5ZmIxMjcyNmYgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjQ0OTQ4LTJiLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNDQ5NDgtMmIuYworQEAgLTEsNSArMSw1IEBACisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PIC1tbm8tc3NlIC1Xbm8tcHNhYmkgLW10dW5lPWdlbmVyaWMgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgc3RydWN0IEEKKyB7IAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0xLmMKK2luZGV4IDJlODlmZjdkODFkLi42MzM5YmY2YjczNiAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMS5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTEuYworQEAgLTEsNiArMSw2IEBACisgLyogUFIgdGFyZ2V0LzUzNDI1ICovCisgLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgISBpYTMyIH0gfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UiIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSAtbWZwbWF0aD0zODciIH0gKi8KKyAvKiB7IGRnLXNraXAtaWYgIm5vIFNTRSB2ZWN0b3IiIHsgeDg2XzY0LSotbWluZ3cqIH0gfSAqLworIAorIHR5cGVkZWYgZG91YmxlIF9fdjJkZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICgxNikpKTsKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTM0MjUtMi5jCitpbmRleCA2MWY2MjgzZGJlOS4uMmM1YTU1ZjBhYzMgMTAwNjQ0CistLS0gYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjUzNDI1LTIuYworKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1MzQyNS0yLmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81MzQyNSAqLworIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworLS8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgLyogeyBkZy1za2lwLWlmICJubyBTU0UgdmVjdG9yIiB7IHg4Nl82NC0qLW1pbmd3KiB9IH0gKi8KKyAKKyB0eXBlZGVmIGZsb2F0IF9fdjJzZiBfX2F0dHJpYnV0ZV9fICgoX192ZWN0b3Jfc2l6ZV9fICg4KSkpOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTUyNDcuYworaW5kZXggMjMzNjZkMDkwOWQuLjk4MTBlM2FiYjc2IDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1NTI0Ny5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU1MjQ3LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAqLworIC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG1heWJlX3gzMiB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLW1uby1zc2UgLW1uby1tbXggLW14MzIgLW1hZGRyZXNzLW1vZGU9bG9uZyIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tbm8tbW14IC1teDMyIC1tYWRkcmVzcy1tb2RlPWxvbmcgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7CisgdHlwZWRlZiB1aW50MzJfdCBFbGYzMl9Xb3JkOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTk2NDQuYworaW5kZXggOTYwMDZiM2UzMzguLjQyODdlNDUzOGJmIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI1OTY0NC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU5NjQ0LmMKK0BAIC0xLDYgKzEsNiBAQAorIC8qIFBSIHRhcmdldC81OTY0NCAqLworIC8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGxwNjQgfSB9ICovCistLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIiB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIgLWZmcmVlc3RhbmRpbmcgLW1uby1zc2UgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyAtbWFjY3VtdWxhdGUtb3V0Z29pbmctYXJncyAtbW5vLXJlZC16b25lIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIC8qIFRoaXMgdGVzdCB1c2VzIF9fYnVpbHRpbl90cmFwICgpIGluc3RlYWQgb2YgZS5nLiBhYm9ydCwKKyAgICBiZWNhdXNlIGR1ZSB0byAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT0zIGl0IHNob3VsZCBub3QgY2FsbAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNjIxMjAuYworaW5kZXggYmZiOGM0NzAzZWIuLmVkMDRjZjE4MWYzIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI2MjEyMC5jCisrKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjYyMTIwLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCistLyogeyBkZy1vcHRpb25zICItbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLW1uby1zc2UgLW1mcG1hdGg9Mzg3IiB9ICovCisgCisgdm9pZCBmb28gKCkKKyB7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjcwNDY3LTEuYworaW5kZXggNGUxMTJjODhkMDcuLmJjZmIzOTZhNjhkIDEwMDY0NAorLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI3MDQ2Ny0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNzA0NjctMS5jCitAQCAtMSw2ICsxLDYgQEAKKyAvKiBQUiBydGwtb3B0aW1pemF0aW9uLzcwNDY3ICovCisgLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbW5vLXNzZSIgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1tbm8tc3NlIC1tZnBtYXRoPTM4NyIgfSAqLworIAorIHZvaWQgZm9vICh1bnNpZ25lZCBsb25nIGxvbmcgKik7CisgCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvd2Fybi12ZWN0LW9wLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK2luZGV4IDZjZGExNTM0MzExLi4yNmUzN2Y1YjhiYSAxMDA2NDQKKy0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3dhcm4tdmVjdC1vcC0xLmMKK0BAIC0xLDUgKzEsNSBAQAorIC8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICEgaWEzMiB9IH0gfSAgKi8KKy0vKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSIgfSAgKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1tbm8tc3NlIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAtbWZwbWF0aD0zODciIH0gICovCisgI2RlZmluZSB2ZWN0b3IoZWxjb3VudCwgdHlwZSkgIFwKKyBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgoZWxjb3VudCkqc2l6ZW9mKHR5cGUpKSkpIHR5cGUKKyAKKy0tIAorMi4yMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOC1SZS1pbnRyb2R1Y2Utc3BlLWNvbW1hbmRsaW5lLW9wdGlvbnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRlODg5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzgtUmUtaW50cm9kdWNlLXNwZS1jb21tYW5kbGluZS1vcHRpb25zLnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKK0Zyb20gZjBiZWE5NjQzNGFjNDc4YzNjZmY4YzI5ZGQ5N2NjY2ZhYzViMzVlMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDYgSnVuIDIwMTggMTI6MTA6MjIgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAzOC80MF0gUmUtaW50cm9kdWNlIHNwZSBjb21tYW5kbGluZSBvcHRpb25zCisKK1RoaXMgc2hvdWxkIGVuc3VyZSB0aGF0IHdlIGtlZXAgYWNjZXB0aW5nCitzcGUgb3B0aW9ucworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1NQRSBwb3J0IGlzIHJlbW92ZWQgZnJvbSByczYwMCBwb3J0XQorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdCB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9yczYwMDAub3B0IGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAoraW5kZXggYWNlOGE0Nzc1NTAuLmQ2YThmODI1ZDg4IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorKysrIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLm9wdAorQEAgLTM2NSw2ICszNjUsMTggQEAgbWRlYnVnPQorIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQKKyAtbWRlYnVnPQlFbmFibGUgZGVidWcgb3V0cHV0LgorIAorK21zcGUKKytUYXJnZXQgVmFyKHJzNjAwMF9zcGUpIFNhdmUKKytHZW5lcmF0ZSBTUEUgU0lNRCBpbnN0cnVjdGlvbnMgb24gRTUwMC4KKysKKyttYWJpPXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmkpIFNhdmUKKytVc2UgdGhlIFNQRSBBQkkgZXh0ZW5zaW9ucy4KKysKKyttYWJpPW5vLXNwZQorK1RhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX3NwZV9hYmksIDApCisrRG8gbm90IHVzZSB0aGUgU1BFIEFCSSBleHRlbnNpb25zLgorKworIG1hYmk9YWx0aXZlYworIFRhcmdldCBSZWplY3ROZWdhdGl2ZSBWYXIocnM2MDAwX2FsdGl2ZWNfYWJpKSBTYXZlCisgVXNlIHRoZSBBbHRpVmVjIEFCSSBleHRlbnNpb25zLgorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDAzOS1yaXNjdi1EaXNhYmxlLW11bHRpbGliLWZvci1PRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjdiMjIyZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtOC4zLzAwMzktcmlzY3YtRGlzYWJsZS1tdWx0aWxpYi1mb3ItT0UucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSAyNGY3NDQ0NGMwMGM2YzliZjA3NmZiMDAyNjE0ZWJmNmRlYzMxZjFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjggRGVjIDIwMTggMDk6NTk6NTMgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzOS80MF0gcmlzY3Y6IERpc2FibGUgbXVsdGlsaWIgZm9yIE9FCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBnY2MvY29uZmlnL3Jpc2N2L3QtbGludXggfCA2ICsrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXggYi9nY2MvY29uZmlnL3Jpc2N2L3QtbGludXgKK2luZGV4IDIxNmQyNzc2YTE4Li5lNGQ4MTc2MjFmYyAxMDA2NDQKKy0tLSBhL2djYy9jb25maWcvcmlzY3YvdC1saW51eAorKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi90LWxpbnV4CitAQCAtMSwzICsxLDUgQEAKKyAjIE9ubHkgWExFTiBhbmQgQUJJIGFmZmVjdCBMaW51eCBtdWx0aWxpYiBkaXIgbmFtZXMsIGUuZy4gL2xpYjMyL2lscDMyZC8KKy1NVUxUSUxJQl9ESVJOQU1FUyA6PSAkKHBhdHN1YnN0IHJ2MzIlLGxpYjMyLCQocGF0c3Vic3QgcnY2NCUsbGliNjQsJChNVUxUSUxJQl9ESVJOQU1FUykpKQorLU1VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrI01VTFRJTElCX0RJUk5BTUVTIDo9ICQocGF0c3Vic3QgcnYzMiUsbGliMzIsJChwYXRzdWJzdCBydjY0JSxsaWI2NCwkKE1VTFRJTElCX0RJUk5BTUVTKSkpCisrTVVMVElMSUJfRElSTkFNRVMgOj0gLiAuCisrI01VTFRJTElCX09TRElSTkFNRVMgOj0gJChwYXRzdWJzdCBsaWIlLC4uL2xpYiUsJChNVUxUSUxJQl9ESVJOQU1FUykpCisrTVVMVElMSUJfT1NESVJOQU1FUyA6PSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKSAuLi8kKHNoZWxsIGJhc2VuYW1lICQoYmFzZV9saWJkaXIpKQorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy04LjMvMDA0MC1wb3dlcnBjLXBvd2VycGM2NC1BZGQtc3VwcG9ydC1mb3ItbXVzbC1sZHNvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYmExNjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLTguMy8wMDQwLXBvd2VycGMtcG93ZXJwYzY0LUFkZC1zdXBwb3J0LWZvci1tdXNsLWxkc28ucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSA0YmQwYTM4NjZmMzAyNzI1Y2I0ZWRkY2FkZGFlZWNlNjQ5MDBjNDJmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU2VyaGV5IFBvcG92eWNoIDxzZXJoZS5wb3BvdnljaEBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDAyOjMwOjUwIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNDAvNDBdIHBvd2VycGMvcG93ZXJwYzY0OiBBZGQgc3VwcG9ydCBmb3IgbXVzbCBsZHNvCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0UtU3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IFNlcmhleSBQb3BvdnljaCA8c2VyaGUucG9wb3Z5Y2hAZ21haWwuY29tPgorLS0tCisgZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaCBiL2djYy9jb25maWcvcnM2MDAwL2xpbnV4NjQuaAoraW5kZXggNjE5ZTExM2UyYjguLmVlOGI0NGY5Mzc0IDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9yczYwMDAvbGludXg2NC5oCisrKysgYi9nY2MvY29uZmlnL3JzNjAwMC9saW51eDY0LmgKK0BAIC00MjEsOSArNDIxLDkgQEAgZXh0ZXJuIGludCBkb3Rfc3ltYm9sczsKKyAjZW5kaWYKKyAKKyAjZGVmaW5lIE1VU0xfRFlOQU1JQ19MSU5LRVIzMiBcCistICAiL2xpYi9sZC1tdXNsLXBvd2VycGMiIE1VU0xfRFlOQU1JQ19MSU5LRVJfRSAiJXttc29mdC1mbG9hdDotc2Z9LnNvLjEiCisrICBTWVNURU1MSUJTX0RJUiAibGQtbXVzbC1wb3dlcnBjIiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorICNkZWZpbmUgTVVTTF9EWU5BTUlDX0xJTktFUjY0IFwKKy0gICIvbGliL2xkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorKyAgU1lTVEVNTElCU19ESVIgImxkLW11c2wtcG93ZXJwYzY0IiBNVVNMX0RZTkFNSUNfTElOS0VSX0UgIiV7bXNvZnQtZmxvYXQ6LXNmfS5zby4xIgorIAorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSMzIgU1lTVEVNTElCU19ESVIgImxkLXVDbGliYy5zby4wIgorICNkZWZpbmUgVUNMSUJDX0RZTkFNSUNfTElOS0VSNjQgU1lTVEVNTElCU19ESVIgImxkNjQtdUNsaWJjLnNvLjAiCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbW1vbi5pbmMKaW5kZXggMDBmZWMwYi4uOTYzMzRlNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb21tb24uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29tbW9uLmluYwpAQCAtMTAsMTIgKzEwLDExIEBACiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8KIAogQlBOID0gImdjYyIKLUNPTVBJTEVSSU5JVElBTCA9ICIiCi1DT01QSUxFUkRFUCA9ICJ2aXJ0dWFsLyR7TUxQUkVGSVh9JHtUQVJHRVRfUFJFRklYfWdjYyR7Q09NUElMRVJJTklUSUFMfTpkb19nY2Nfc3Rhc2hfYnVpbGRkaXIiCi1DT01QSUxFUkRFUF9jbGFzcy1uYXRpdmVzZGsgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjJHtDT01QSUxFUklOSVRJQUx9LWNyb3Nzc2RrOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQID0gInZpcnR1YWwvJHtNTFBSRUZJWH0ke1RBUkdFVF9QUkVGSVh9Z2NjOmRvX2djY19zdGFzaF9idWlsZGRpciIKK0NPTVBJTEVSREVQX2NsYXNzLW5hdGl2ZXNkayA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGs6ZG9fZ2NjX3N0YXNoX2J1aWxkZGlyIgogCiBweXRob24gZXh0cmFjdF9zdGFzaGVkX2J1aWxkZGlyICgpIHsKLSAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpciR7Q09NUElMRVJJTklUSUFMfS0ke1RBUkdFVF9TWVN9IikKKyAgICBzcmMgPSBkLmV4cGFuZCgiJHtDT01QT05FTlRTX0RJUn0vJHtCVUlMRF9BUkNIfS9nY2Mtc3Rhc2hlZC1idWlsZGRpci0ke1RBUkdFVF9TWVN9IikKICAgICBkZXN0ID0gZC5nZXRWYXIoIkIiKQogICAgIG9lLnBhdGguY29weWhhcmRsaW5rdHJlZShzcmMsIGRlc3QpCiAgICAgc3RhZ2luZ19wcm9jZXNzZml4bWUoW3NyYyArICIvZml4bWVwYXRoIl0sIGRlc3QsIGRlc3QsIGRlc3QsIGQpCkBAIC0zOCw3ICszNyw3IEBACiAgICAgcmV0dXJuICIiCiAKIGRlZiBnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpOgotICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycgXSBhbmQgbm90IGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYnNzcGx0JywgVHJ1ZSwgRmFsc2UsIGQpOgorICAgIGlmIGQuZ2V0VmFyKCdUUkFOU0xBVEVEX1RBUkdFVF9BUkNIJykgaW4gWyAncG93ZXJwYycsICdwb3dlcnBjNjQnIF0gYW5kIG5vdCBiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2Jzc3BsdCcsIFRydWUsIEZhbHNlLCBkKToKICAgICAgICAgcmV0dXJuICItLWVuYWJsZS1zZWN1cmVwbHQiCiAgICAgcmV0dXJuICIiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNvbmZpZ3VyZS1jb21tb24uaW5jCmluZGV4IGUyY2UyMzQuLjM3NWM1ZTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY29uZmlndXJlLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jb25maWd1cmUtY29tbW9uLmluYwpAQCAtMTcsNyArMTcsNiBAQAogCiBFWFRSQV9PRUNPTkZfQkFTRSA/PSAiIgogRVhUUkFfT0VDT05GX1BBVEhTID89ICIiCi1FWFRSQV9PRUNPTkZfSU5JVElBTCA/PSAiIgogCiBHQ0NNVUxUSUxJQiA/PSAiLS1kaXNhYmxlLW11bHRpbGliIgogR0NDVEhSRUFEUyA/PSAicG9zaXgiCkBAIC00Nyw2ICs0NiwxMCBAQAogICAgICR7QGdldF9nY2NfbXVsdGlhcmNoX3NldHRpbmcoYmIsIGQpfSBcCiAiCiAKKyMgZ2xpYmMgdmVyc2lvbiBpcyBhIG1pbmltdW0gY29udHJvbGxpbmcgd2hldGhlciBmZWF0dXJlcyBhcmUgZW5hYmxlZC4gCisjIERvZXNuJ3QgbmVlZCB0byB0cmFjayBnbGliYyBleGFjdGx5CitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtZ2xpYmMgPSAiIC0td2l0aC1nbGliYy12ZXJzaW9uPTIuMjggIgorCiAjIFNldCB0aGlzIGhlcmUgc2luY2UgR0NDIGNvbmZpZ3VyZSB3b24ndCBhdXRvLWRldGVjdCBhbmQgZW5hYmxlCiAjIGluaXRmaW5pLWFycnkgd2hlbiBjcm9zcyBjb21waWxpbmcuCiBFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWVuYWJsZS1pbml0ZmluaS1hcnJheSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggMmYzMmQzNC4uZTdjMDhkMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTMsNyArMyw3IEBACiBTVU1NQVJZID0gIkdOVSBjYyBhbmQgZ2NjIEMgY29tcGlsZXJzIChjcm9zcy1jYW5hZGlhbiBmb3IgJHtUQVJHRVRfQVJDSH0gdGFyZ2V0KSIKIFBOID0gImdjYy1jcm9zcy1jYW5hZGlhbi0ke1RSQU5TTEFURURfVEFSR0VUX0FSQ0h9IgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWxpYmMtZm9yLWdjYyBuYXRpdmVzZGstZ2V0dGV4dCBmbGV4LW5hdGl2ZSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgbmF0aXZlc2RrLWdldHRleHQgZmxleC1uYXRpdmUgdmlydHVhbC9saWJjIgogCiBHQ0NNVUxUSUxJQiA9ICItLWVuYWJsZS1tdWx0aWxpYiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY1M2M1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1jcm9zcy1jYW5hZGlhbi5pbmMKLQotCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1jYW5hZGlhbl84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtY2FuYWRpYW5fNy4zLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWNhbmFkaWFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5MmIxZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsIgotUEFDS0FHRVMgPSAiIgotCi1JTkhJQklUX0FVVE9UT09MU19ERVBTID0gIjEiCi1JTkhJQklUX0RFRkFVTFRfREVQUyA9ICIxIgotCi0jIFdlIHN0aWxsIG5lZWQgZ251LWNvbmZpZy1uYXRpdmUKLURFUEVORFNfcHJlcGVuZCA9ICJnbnUtY29uZmlnLW5hdGl2ZSBhdXRvY29uZi1uYXRpdmUgIgotCi1QTiA9ICJnY2MtY3Jvc3MtaW5pdGlhbC0ke1RBUkdFVF9BUkNIfSIKLQotQ1JPU1NfVEFSR0VUX1NZU19ESVJfYXBwZW5kID0gIi4ke1BOfSIKLQotIyBUaGlzIGlzIGludGVuZGVkIHRvIGJlIGEgLXZlcnktIGJhc2ljIGNvbmZpZwotIyBzeXNyb290IGlzIG5lZWRlZCBpbiBjYXNlIHdlIHVzZSBsaWJjLWluaXRpYWwKLUVYVFJBX09FQ09ORiA9ICJcCi0gICAgLS13aXRoLW5ld2xpYiBcCi0gICAgLS13aXRob3V0LWhlYWRlcnMgXAotICAgIC0tZGlzYWJsZS1zaGFyZWQgXAotICAgIC0tZGlzYWJsZS10aHJlYWRzIFwKLSAgICAtLWRpc2FibGUtbXVsdGlsaWIgXAotICAgIC0tZGlzYWJsZS1fX2N4YV9hdGV4aXQgXAotICAgIC0tZW5hYmxlLWxhbmd1YWdlcz1jIFwKLSAgICAtLXByb2dyYW0tcHJlZml4PSR7VEFSR0VUX1BSRUZJWH0gXAotICAgIC0td2l0aC1zeXNyb290PS9ub3QvZXhpc3QgXAotICAgIC0td2l0aC1idWlsZC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSBcCi0gICAgJHtFWFRSQV9PRUNPTkZfSU5JVElBTH0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICctLXdpdGgtbGQ9JHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH1sZC5iZmQnLCAnJywgZCl9IFwKLSAgICAke0VYVFJBX09FQ09ORl9HQ0NfRkxPQVR9IFwKLSAgICAke0BnZXRfZ2NjX3BwY19wbHRfc2V0dGluZ3MoYmIsIGQpfSBcCi0iCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLW5hdGl2ZS1zeXN0ZW0taGVhZGVyLWRpcj0ke1NZU1RFTUhFQURFUlN9IgotCi1kb19jb21waWxlICgpIHsKLSAgICBvZV9ydW5tYWtlIGFsbC1nY2MgY29uZmlndXJlLXRhcmdldC1saWJnY2MKLSAgICAoY2QgJHtCfS8ke1RBUkdFVF9TWVN9L2xpYmdjYzsgb2VfcnVubWFrZSBlbmFibGUtZXhlY3V0ZS1zdGFjay5jIHVud2luZC5oIG1kLXVud2luZC1zdXBwb3J0Lmggc2ZwLW1hY2hpbmUuaCBndGhyLWRlZmF1bHQuaCkKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JKCBjZCAke0J9LyR7VEFSR0VUX1NZU30vbGliZ2NjOyBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtdW53aW5kX2gtZm9yYnVpbGQgaW5zdGFsbC11bndpbmRfaCkKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwtZ2NjCi0KLQkjIFdlIGRvbid0IHJlYWxseSBuZWVkIHRoaXMgKGhlcmUgc2hhcmVzLyBjb250YWlucyBtYW4vLCBpbmZvLywgbG9jYWxlLykuCi0Jcm0gLXJmICR7RH0ke2RhdGFkaXJ9LwotCi0JIyBXZSB1c2UgbGliaWJlcnR5IGZyb20gYmludXRpbHMKLQlmaW5kICR7RH0ke2V4ZWNfcHJlZml4fS9saWIgLW5hbWUgbGliaWJlcnR5LmEgfCB4YXJncyBybSAtZgotCWZpbmQgJHtEfSR7ZXhlY19wcmVmaXh9L2xpYiAtbmFtZSBsaWJpYmVydHkuaCB8IHhhcmdzIHJtIC1mCi0KLQkjIEluc2VydCBzeW1saW5rcyBpbnRvIGxpYmV4ZWMgc28gd2hlbiB0b29scyB3aXRob3V0IGEgcHJlZml4IGFyZSBzZWFyY2hlZCBmb3IsIHRoZSBjb3JyZWN0IG9uZXMgYXJlCi0JIyBmb3VuZC4gVGhlc2UgbmVlZCB0byBiZSByZWxhdGl2ZSBwYXRocyBzbyB0aGV5IHdvcmsgaW4gZGlmZmVyZW50IGxvY2F0aW9ucy4KLQlkZXN0PSR7RH0ke2xpYmV4ZWNkaXJ9L2djYy8ke1RBUkdFVF9TWVN9LyR7QklOVn0vCi0JaW5zdGFsbCAtZCAkZGVzdAotCXVzZWxkPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGQtaXMtZ29sZCcsICcuYmZkJywgJycsIGQpfQotCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH1sZCR7dXNlbGR9ICR7ZGVzdH1sZAotCWZvciB0IGluIGFyIGFzIG5tIG9iamNvcHkgb2JqZHVtcCByYW5saWIgc3RyaXAgZzc3IGdjYyBjcHAgZ2ZvcnRyYW47IGRvCi0JCWxuIC1zZiAke0JJTlJFTFBBVEh9LyR7VEFSR0VUX1BSRUZJWH0kdCAkZGVzdCR0Ci0JZG9uZQotCSMgZml4ZWQgbGltaXRzLmggaW5mYWN0IGluY2x1ZGVzIHRoZSBzbyBjYWxsZWQgcmVhbCBsaW1pdHMuaAotCSMgd2hpY2ggc2hvdWxkIGNvbWUgZnJvbSBsaWJjIGJ1dCB3aGVuIHdlIGJ1aWxkIGxpYmMtaW5pdGlhbAotCSMgdGhlbiBidW5jaCBvZiBjb25maWd1cmUgdGVzdHMgaW5jbHVkZSBmaXhlZCBsaW1pdHMuaCB3aGljaCBpbiB0dXJuCi0JIyBpbmNsdWRlcyByZWFsIGxpbWl0cy5oIGJ1dCB0aGlzIHJlYWwgbGltaXRzLmggaXMgbm90IHN0YWdlZCB5ZXQKLQkjIHNvIHdlIG92ZXJ3aXJ0ZSB0aGUgZ2VuZXJhdGVkIGluY2x1ZGUtZml4ZWQvbGltaXRzLmggZm9yIGdjYy1jcm9zcy1pbml0aWFsCi0JIyB0byBnZXQgcmlkIHJlZmVyZW5jZXMgdG8gcmVhbCBsaW1pdHMuaAotCWNwIGdjYy9pbmNsdWRlLWZpeGVkL2xpbWl0cy5oICR7RH0ke2djY2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvbGltaXRzLmgKLX0KLSMKLSMgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3lzcm9vdCBzdGFnaW5nIGNvcHkgc2luY2UgdGhpcyB3b24ndCBsb29rIGxpa2UgYSB0YXJnZXQgc3lzdGVtCi0jCi1zeXNyb290X3N0YWdlX2FsbCgpIHsKLQlzeXNyb290X3N0YWdlX2RpciAke0R9ICR7U1lTUk9PVF9ERVNURElSfQotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfYmFzZV9saWJkaXJ9LwotCWluc3RhbGwgLWQgJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8KLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9iYXNlX2xpYmRpcn0vKiAke1NZU1JPT1RfREVTVERJUn0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke3RhcmdldF9iYXNlX2xpYmRpcn0vIHx8IHRydWUKLQltdiAke1NZU1JPT1RfREVTVERJUn0ke3RhcmdldF9saWJkaXJ9LyogJHtTWVNST09UX0RFU1RESVJ9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfbGliZGlyfS8gfHwgdHJ1ZQotfQotCi1kb19wb3B1bGF0ZV9zeXNyb290W3NzdGF0ZS1pbnB1dGRpcnNdID0gIiR7U1lTUk9PVF9ERVNURElSfS8ke1NUQUdJTkdfRElSX0hPU1R9LyIKLWRvX3BvcHVsYXRlX3N5c3Jvb3Rbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7UEFDS0FHRV9BUkNIfS8ke1BOfSIKLQotaW5oZXJpdCBub3BhY2thZ2VzCi0KLUNPTVBJTEVSSU5JVElBTCA9ICItaW5pdGlhbCIKLQotCi0jIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCi1kZWx0YXNrIGRvX2J1aWxkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM3M2U1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3MtaW5pdGlhbC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLWluaXRpYWxfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzczZTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF84LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXyR7UFZ9LmJiCi1yZXF1aXJlIGdjYy1jcm9zcy1pbml0aWFsLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwppbmRleCA4OWIxOTY4Li42MjIyYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzLmluYwpAQCAtMiw3ICsyLDcgQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIEVYVFJBREVQRU5EUyA9ICIiCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWxpYmMtZm9yLWdjYyAke0VYVFJBREVQRU5EU30gJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMgJHtFWFRSQURFUEVORFN9ICR7TkFUSVZFREVQU30iCiBQUk9WSURFUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgogcHl0aG9uICgpIHsKICAgICBpZiBkLmdldFZhcigiVEFSR0VUX09TIikuc3RhcnRzd2l0aCgibGludXgiKToKQEAgLTMxLDcgKzMxLDYgQEAKICAgICAtLXdpdGgtc3lzdGVtLXpsaWIgXAogIgogCi1ERVBFTkRTX3JlbW92ZV9saWJjLWJhcmVtZXRhbCA6PSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgogRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLWJhcmVtZXRhbCA9ICIgLS13aXRob3V0LWhlYWRlcnMiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtYmFyZW1ldGFsID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCiBFWFRSQV9PRUNPTkZfcmVtb3ZlX2xpYmMtbmV3bGliID0gIi0tZW5hYmxlLXRocmVhZHM9cG9zaXgiCkBAIC00NCw2ICs0MywxMiBAQAogCiBBUkNIX0ZMQUdTX0ZPUl9UQVJHRVQgKz0gIi1pc3lzdGVtJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHt0YXJnZXRfaW5jbHVkZWRpcn0iCiAKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtSRUNJUEVfU1lTUk9PVH0ke3RhcmdldF9pbmNsdWRlZGlyfQorCXRvdWNoICR7UkVDSVBFX1NZU1JPT1R9JHt0YXJnZXRfaW5jbHVkZWRpcn0vbGltaXRzLmgKK30KKwogZG9fY29tcGlsZSAoKSB7CiAJZXhwb3J0IENDPSIke0JVSUxEX0NDfSIKIAlleHBvcnQgQVJfRk9SX1RBUkdFVD0iJHtUQVJHRVRfU1lTfS1hciIKQEAgLTIwOSw4ICsyMTQsOCBAQAogYWRkdGFzayBkb19nY2Nfc3Rhc2hfYnVpbGRkaXIgYWZ0ZXIgZG9fY29tcGlsZSBiZWZvcmUgZG9faW5zdGFsbAogU1NUQVRFVEFTS1MgKz0gImRvX2djY19zdGFzaF9idWlsZGRpciIKIGRvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtaW5wdXRkaXJzXSA9ICIke0JVSUxERElSU1RBU0h9IgotZG9fZ2NjX3N0YXNoX2J1aWxkZGlyW3NzdGF0ZS1vdXRwdXRkaXJzXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCi1kb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLWZpeG1lZGlyXSA9ICIke0NPTVBPTkVOVFNfRElSfS8ke0JVSUxEX0FSQ0h9L2djYy1zdGFzaGVkLWJ1aWxkZGlyJHtDT01QSUxFUklOSVRJQUx9LSR7VEFSR0VUX1NZU30iCitkb19nY2Nfc3Rhc2hfYnVpbGRkaXJbc3N0YXRlLW91dHB1dGRpcnNdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKK2RvX2djY19zdGFzaF9idWlsZGRpcltzc3RhdGUtZml4bWVkaXJdID0gIiR7Q09NUE9ORU5UU19ESVJ9LyR7QlVJTERfQVJDSH0vZ2NjLXN0YXNoZWQtYnVpbGRkaXItJHtUQVJHRVRfU1lTfSIKIAogcHl0aG9uIGRvX2djY19zdGFzaF9idWlsZGRpcl9zZXRzY2VuZSAoKSB7CiAgICAgc3N0YXRlX3NldHNjZW5lKGQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNDNjY2EwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgZ2NjLWNyb3NzLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3NzXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLWluaXRpYWwuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOGVkYTVkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1pbmhlcml0IGNyb3Nzc2RrCi0KLVBOID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi0KLVNZU1RFTUhFQURFUlMgPSAiJHtTREtQQVRITkFUSVZFfSR7cHJlZml4X25hdGl2ZXNka30vaW5jbHVkZSIKLVNZU1RFTUxJQlMgPSAiJHtTREtQQVRITkFUSVZFfSR7YmFzZV9saWJkaXJfbmF0aXZlc2RrfS8iCi1TWVNURU1MSUJTMSA9ICIke1NES1BBVEhOQVRJVkV9JHtsaWJkaXJfbmF0aXZlc2RrfS8iCi0KLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKLVBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1pbml0aWFsLWNyb3Nzc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGstaW5pdGlhbF84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBlMTEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay1pbml0aWFsXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3MtaW5pdGlhbF8ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGstaW5pdGlhbC5pbmMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nkay5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwppbmRleCBjZGEyOTI3Li5iZDJlNzFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrLmluYwpAQCAtOCw1ICs4LDUgQEAKIAogR0NDTVVMVElMSUIgPSAiLS1kaXNhYmxlLW11bHRpbGliIgogCi1ERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7VEFSR0VUX1BSRUZJWH1saWJjLWZvci1nY2MgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9YmludXRpbHMtY3Jvc3NzZGsgZ2V0dGV4dC1uYXRpdmUgJHtOQVRJVkVERVBTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYy1jcm9zc3NkayB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKystY3Jvc3NzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MGE2YzRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc18ke1BWfS5iYgotcmVxdWlyZSBnY2MtY3Jvc3NzZGsuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtY3Jvc3NzZGtfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLWNyb3Nzc2RrXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1jcm9zc3Nka184LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXJ1bnRpbWUuaW5jCmluZGV4IDllN2U3YzUuLjNkMDNkOGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZS5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lLmluYwpAQCAtMTUsNiArMTUsNyBAQAogIgogCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2xpbnV4c3RkYmFzZSA9ICIgLS1lbmFibGUtY2xvY2FsZT1nbnUiCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWNhY2hlLWZpbGU9JHtCfS9jb25maWcuY2FjaGUiCiAKIFJVTlRJTUVMSUJJVE0gPSAibGliaXRtIgogUlVOVElNRUxJQklUTV9hcmMgPSAiIgpAQCAtMjksOSArMzAsNiBAQAogUlVOVElNRVRBUkdFVCA9ICIke1JVTlRJTUVMSUJTU1B9IGxpYnN0ZGMrKy12MyBsaWJnb21wIGxpYmF0b21pYyAke1JVTlRJTUVMSUJJVE19IFwKICAgICAke0BiYi51dGlscy5jb250YWluc19hbnkoJ0ZPUlRSQU4nLCBbJyxmb3J0cmFuJywnLGY3NyddLCAnbGlicXVhZG1hdGgnLCAnJywgZCl9IFwKICIKLVJVTlRJTUVUQVJHRVRfYXBwZW5kX3g4NiA9ICIgbGlibXB4IgotUlVOVElNRVRBUkdFVF9hcHBlbmRfeDg2LTY0ID0gIiBsaWJtcHgiCi1SVU5USU1FVEFSR0VUX3JlbW92ZV9saWJjLW11c2wgPSAibGlibXB4IgogCiAjIGxpYmliZXJ0eQogIyBsaWJtdWRmbGFwCkBAIC0xMjgsNyArMTI2LDcgQEAKIH0KIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKLURFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIHZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWcrKyBsaWJnY2MiCitERVBFTkRTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdjYyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nKysgbGliZ2NjIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogUFJPVklERVMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Y29tcGlsZXJsaWJzIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKQEAgLTE2MCwxOCArMTU4LDYgQEAKICAgICBsaWJpdG0tZGV2IFwKICAgICBsaWJpdG0tc3RhdGljZGV2IFwKICIKLVBBQ0tBR0VTX2FwcGVuZF94ODYgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KLVBBQ0tBR0VTX2FwcGVuZF94ODYtNjQgPSAiXAotICAgIGxpYm1weCBcCi0gICAgbGlibXB4LWRldiBcCi0gICAgbGlibXB4LXN0YXRpY2RldiBcCi0iCi0KICMgVGhlIGJhc2UgcGFja2FnZSBkb2Vzbid0IGV4aXN0LCBzbyB3ZSBjbGVhciB0aGUgcmVjb21tZW5kcy4KIFJSRUNPTU1FTkRTXyR7UE59LWRiZyA9ICIiCiAKQEAgLTI3NCwyMSArMjYwLDMgQEAKIFNVTU1BUllfbGliaXRtLWRldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiBGSUxFU19saWJpdG0tc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJpdG0uYSIKIFNVTU1BUllfbGliaXRtLXN0YXRpY2RldiA9ICJHTlUgdHJhbnNhY3Rpb25hbCBtZW1vcnkgc3VwcG9ydCBsaWJyYXJ5IC0gc3RhdGljIGRldmVsb3BtZW50IGZpbGVzIgotCi0KLUZJTEVTX2xpYm1weCA9ICIke2xpYmRpcn0vbGlibXB4LnNvLiogJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLnNvLioiCi1TVU1NQVJZX2xpYm1weCA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSIKLUZJTEVTX2xpYm1weC1kZXYgPSAiXAotICAgICR7bGliZGlyfS9saWJtcHh3cmFwcGVycy5zbyBcCi0gICAgJHtsaWJkaXJ9L2xpYm1weHdyYXBwZXJzLmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNvIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LmxhIFwKLSAgICAke2xpYmRpcn0vbGlibXB4LnNwZWMgXAotIgotU1VNTUFSWV9saWJtcHgtZGV2ID0gIkludGVsIE1lbW9yeSBQcm90ZWN0aW9uIEV4dGVuc2lvbiBsaWJyYXJ5IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi1GSUxFU19saWJtcHgtc3RhdGljZGV2ID0gIiR7bGliZGlyfS9saWJtcHguYSAke2xpYmRpcn0vbGlibXB4d3JhcHBlcnMuYSIKLVNVTU1BUllfbGlibXB4LXN0YXRpY2RldiA9ICJJbnRlbCBNZW1vcnkgUHJvdGVjdGlvbiBFeHRlbnNpb24gbGlicmFyeSAtIHN0YXRpYyBkZXZlbG9wbWVudCBmaWxlcyIKLQotZG9fcGFja2FnZV93cml0ZV9pcGtbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9kZWJbZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgotZG9fcGFja2FnZV93cml0ZV9ycG1bZGVwZW5kc10gKz0gInZpcnR1YWwvJHtNTFBSRUZJWH1saWJjOmRvX3BhY2thZ2VkYXRhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV83LjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmMzFlNzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGdjYy1ydW50aW1lLmluYwotCi1GSUxFU19saWJnb21wLWRldiArPSAiXAotICAgICR7bGliZGlyfS9nY2MvJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2luY2x1ZGUvb3BlbmFjYy5oIFwKLSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1ydW50aW1lXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtcnVudGltZV84LjMuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MDFmNjY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc183LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2Mtc2FuaXRpemVycy5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc2FuaXRpemVyc184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4yLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNhbml0aXplcnNfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4OTBmYTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZS5pbmMKLQotRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV83LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXNvdXJjZV84LjMuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2Mtc291cmNlXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy1zb3VyY2VfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLXRhcmdldC5pbmMKaW5kZXggYmMyMjM2Zi4uNjI3MDA1OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy10YXJnZXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtdGFyZ2V0LmluYwpAQCAtMjAsNiArMjAsNyBAQAogRVhUUkFfT0VDT05GX2FwcGVuZF9hcm12NiA9ICIgLS13aXRoLWFyY2g9YXJtdjYke0FSTUZQQVJDSEVYVH0iCiBFWFRSQV9PRUNPTkZfYXBwZW5kX2FybXY3YSA9ICIgLS13aXRoLWFyY2g9YXJtdjctYSR7QVJNRlBBUkNIRVhUfSIKIEVYVFJBX09FQ09ORl9hcHBlbmRfYXJtdjd2ZSA9ICIgLS13aXRoLWFyY2g9YXJtdjd2ZSR7QVJNRlBBUkNIRVhUfSIKK0VYVFJBX09FQ09ORl9hcHBlbmRfYXJjID0gIiAtLXdpdGgtY3B1PSR7VFVORV9QS0dBUkNIfSIKIAogIyBsaWJjYzEgcmVxdXJlcyBnY2NfY3Zfb2JqZHVtcCB3aGVuIGNyb3NzIGJ1aWxkLCBidXQgZ2NjX2N2X29iamR1bXAgaXMKICMgc2V0IGluIHN1YmRpciBnY2MsIHNvIHN1YmRpciBsaWJjYzEgY2FuJ3QgdXNlIGl0LCBleHBvcnQgaXQgaGVyZSB0bwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY183LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIyMDhlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzcuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLXJlcXVpcmUgcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjLSR7UFZ9LmluYwotcmVxdWlyZSBnY2MtdGFyZ2V0LmluYwotCi0jIEJ1aWxkaW5nIHdpdGggdGh1bWIgZW5hYmxlZCBvbiBhcm12NHQgYXJtdjV0IGZhaWxzIHdpdGgKLSMgfCBnY2MtNC44LjEtcjAvZ2NjLTQuOC4xL2djYy9jcC9kZWNsLmM6NzQzODooLnRleHQudW5saWtlbHkrMHgyZmEpOiByZWxvY2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQVJNX1RITV9DQUxMIGFnYWluc3Qgc3ltYm9sIGBmYW5jeV9hYm9ydChjaGFyIGNvbnN0KiwgaW50LCBjaGFyIGNvbnN0KiknIGRlZmluZWQgaW4gLmdsdWVfNyBzZWN0aW9uIGluIGxpbmtlciBzdHVicwotIyB8IGdjYy00LjguMS1yMC9nY2MtNC44LjEvZ2NjL2NwL2RlY2wuYzo3NDQyOigudGV4dC51bmxpa2VseSsweDMxOCk6IGFkZGl0aW9uYWwgcmVsb2NhdGlvbiBvdmVyZmxvd3Mgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXQKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2djY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9nY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsLmluYwppbmRleCA5NTBhZDg2Li4wNmJmMjI0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWwuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2MtaW5pdGlhbC5pbmMKQEAgLTEsMjAgKzEsNTggQEAKKyMKKyMgTm90ZXMgb24gdGhlIHdheSB0aGUgT0UgY3Jvc3MgdG9vbGNoYWluIG5vdyB3b3JrcworIworIyBXZSBuZWVkIGEgbGliZ2NjIHRvIGJ1aWxkIGdsaWJjLiBUcmFuZGl0aW9uYWxseSB3ZSB0aGVyZWZvcmUgYnVpbHQKKyMgYSBub24tdGhyZWFkZWQgYW5kIG5vbi1zaGFyZWQgY29tcGlsZXIgKGdjYy1jcm9zcy1pbml0aWFsKSwgdGhlbiB1c2UKKyMgdGhhdCB0byBidWlsZCBsaWJnY2MtaW5pdGlhbCB3aGljaCBpcyB1c2VkIHRvIGJ1aWxkIGdsaWJjIHdoaWNoIHdlIGNhbgorIyB0aGVuIGJ1aWxkIGdjYy1jcm9zcyBhbmQgbGliZ2NjIGFnYWluc3QuCisjCisjIFdlIHdlcmUgYWJsZSB0byBkcm9wIHRoZSBnbGliYyBkZXBlbmRlbmN5IGZyb20gZ2NjLWNyb3NzLCB3aXRoIHR3byB0d2Vha3M6CisKKyMgYSkgc3BlY2lmeSB0aGUgbWluaW11bSBnbGliYyB2ZXJzaW9uIHRvIHN1cHBvcnQgaW4gYSBjb25maWd1cmUgb3B0aW9uCisjIGIpIGNyZWF0ZSBhIGR1bW15IGxpbWl0cy5oIGZpbGUgc28gdGhhdCBsYXRlciB3aGVuIGdsaWJjIGNyZWF0ZXMgb25lLAorIyAgICB0aGUgaGVhZGVycyBzdHJ1Y3R1cmUgaGFzIHN1cHBvcnQgZm9yIGl0LiBXZSBjYW4gZG8gdGhpcyB3aXRoIGEgc2ltcGxlCisjICAgIGVtcHR5IGZpbGUKKyMKKyMgT25jZSBnY2MtY3Jvc3MgaXMgbGliYyBpbmRlcGVuZGVudCwgd2UgY2FuIHVzZSBpdCB0byBidWlsZCBib3RoCisjIGxpYmdjYy1pbml0aWFsIGFuZCB0aGVuIGxhdGVyIGxpYmdjYy4KKyMKKyMgbGliZ2NjLWluaXRpYWwgaXMgdHJpY2t5IGFzIHdlIG5lZWQgdG8gaW1pdGF0ZSB0aGUgbm9uLXRocmVhZGVkIGFuZAorIyBub24tc2hhcmVkIGNhc2UuIFdlIGNhbiBkbyB0aGF0IGJ5IGhhY2tpbmcgdGhlIHRocmVhZGluZyBtb2RlIGJhY2sgdG8KKyMgInNpbmdsZSIgZXZlbiBpZiBnY2MgcmVwb3J0cyAicG9zaXgiIGFuZCBkaXNhYmxlIGxpYmMgcHJlc2VuY2UgZm9yIHRoZQorIyBsaWJnY2MtaW50aWFsIGJ1aWxkLiBXZSBoYXZlIHRvIGNyZWF0ZSB0aGUgZHVtbXkgbGltaXRzLmggdG8gYXZvaWQKKyMgY29tcGlsZXIgZXJyb3JzIGZyb20gYSBtaXNzaW5nIGhlYWRlci4KKyMKKyMgZ2xpYmMgd2lsbCBmYWlsIHRvIGxpbmsgd2l0aCBsaWJnY2MtaW5pdGlhbCBkdWUgdG8gYSBtaXNzaW5nICJleGNlcHRpb24KKyMgaGFuZGxlciIgY2FwYWJsZSBsaWJnY2MgKGxpYmdjY19laC5hKS4gU2luY2Ugd2Uga25vdyBnbGliYyBkb2Vzbid0IG5lZWQKKyMgYW55IGV4Y2VwdGlvbiBoYW5kbGVyLCB3ZSBjYW4gc2FmZWx5IHN5bWxpbmsgdG8gbGliZ2NjLmEuCisjCisKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtaW5pdGlhbCIKK0RFUEVORFMgPSAidmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9Z2NjIgogCiBMSUNFTlNFID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgogCi1TVEFHSU5HQ0MgPSAiZ2NjLWNyb3NzLWluaXRpYWwtJHtUQVJHRVRfQVJDSH0iCi1TVEFHSU5HQ0NfY2xhc3MtbmF0aXZlc2RrID0gImdjYy1jcm9zc3Nkay1pbml0aWFsLSR7U0RLX1NZU30iCi1QQVRIX3ByZXBlbmQgPSAiJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LiR7U1RBR0lOR0NDfToiCi0KIFBBQ0tBR0VTID0gIiIKIAogRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2hhcmVkIgogCi1DT01QSUxFUklOSVRJQUwgPSAiLWluaXRpYWwiCi0KIGluaGVyaXQgbm9wYWNrYWdlcwogCiAjIFdlIHJlYWxseSBvbmx5IHdhbnQgdGhpcyBidWlsdCBieSB0aGluZ3MgdGhhdCBuZWVkIGl0LCBub3QgYW55IHJlY3JkZXB0YXNrCiBkZWx0YXNrIGRvX2J1aWxkCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7U1RBR0lOR19JTkNESVJ9CisJdG91Y2ggJHtTVEFHSU5HX0lOQ0RJUn0vbGltaXRzLmgKKwlzZWQgLWkgLWUgJ3MjSU5ISUJJVF9MSUJDX0NGTEFHUyA9LiojSU5ISUJJVF9MSUJDX0NGTEFHUyA9IC1EaW5oaWJpdF9saWJjIycgJHtCfS9nY2MvbGliZ2NjLm12YXJzCisJc2VkIC1pIC1lICdzI2luaGliaXRfbGliYyA9IGZhbHNlI2luaGliaXRfbGliYyA9IHRydWUjJyAke0J9L2djYy9NYWtlZmlsZQorfQorCitkb19jb25maWd1cmVfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJ3MjdGhyZWFkX2hlYWRlciA9IC4qI3RocmVhZF9oZWFkZXIgPSBndGhyLXNpbmdsZS5oIycgJHtCfS8ke0JQTn0vTWFrZWZpbGUKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWxuIC1zIGxpYmdjYy5hICR7RH0ke2xpYmRpcn0vJHtUQVJHRVRfU1lTfS8ke0JJTlZ9L2xpYmdjY19laC5hCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzcuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmMjUzZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLWluaXRpYWwuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLWluaXRpYWxfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMi5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy1pbml0aWFsXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwppbmRleCA1ZjFkZmY2Li5lNGUwYzQ4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjLmluYwpAQCAtMSw2ICsxLDYgQEAKIHJlcXVpcmUgbGliZ2NjLWNvbW1vbi5pbmMKIAotREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIgorREVQRU5EUyA9ICJ2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MgdmlydHVhbC8ke1RBUkdFVF9QUkVGSVh9ZysrIHZpcnR1YWwvJHtNTFBSRUZJWH1saWJjIgogCiBkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgewogCWlmIFsgIiR7VENMSUJDfSIgIT0gImdsaWJjIiBdOyB0aGVuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzcuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTE1MmYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfNy4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1yZXF1aXJlIHJlY2lwZXMtZGV2dG9vbHMvZ2NjL2djYy0ke1BWfS5pbmMKLXJlcXVpcmUgbGliZ2NjLmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2NjXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdjY184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnY2NfOC4zLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuLmluYwppbmRleCAwNTIzNzY0Li40YjdiN2IyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW4uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbi5pbmMKQEAgLTUzLDYgKzUzLDExIEBACiAgICAgbGliZ2ZvcnRyYW4tZGV2IFwKICAgICBsaWJnZm9ydHJhbi1zdGF0aWNkZXYgXAogIgorCitMSUNFTlNFXyR7UE59ID0gIkdQTC0zLjAtd2l0aC1HQ0MtZXhjZXB0aW9uIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiR1BMLTMuMC13aXRoLUdDQy1leGNlcHRpb24iCitMSUNFTlNFXyR7UE59LWRiZyA9ICJHUEwtMy4wLXdpdGgtR0NDLWV4Y2VwdGlvbiIKKwogRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmdmb3J0cmFuLnNvLioiCiBGSUxFU18ke1BOfS1kZXYgPSAiXAogICAgICR7bGliZGlyfS9saWJnZm9ydHJhbiouc28gXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2djYy9saWJnZm9ydHJhbl84LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxZGQ4YjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL2djYy9nY2MtJHtQVn0uaW5jCi1yZXF1aXJlIGxpYmdmb3J0cmFuLmluYwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nY2MvbGliZ2ZvcnRyYW5fNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzcuMy5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2NjL2xpYmdmb3J0cmFuXzguMy5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLTguMi4xLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmMxZWMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuMS5pbmMKQEAgLTAsMCArMSwyMyBAQAorTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYzICYgTEdQTHYyICYgTEdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorCQkgICAgZmlsZTovL0NPUFlJTkczO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisJCSAgICBmaWxlOi8vQ09QWUlORzMuTElCO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisJCSAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTlmNjA0ZDhhNGY4ZTc0ZjRmNTE0MDg0NWEyMWI2Njc0IgorCitTUkNfVVJJID0gImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvZ2RiL2dkYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1tYWtlLW1hbi1pbnN0YWxsLXJlbGF0aXZlLXRvLURFU1RESVIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1taXBzLWxpbnV4LW5hdC1EZWZpbmUtX0FCSU8zMi1pZi1ub3QtZGVmaW5lZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXBwYy1wdHJhY2UtRGVmaW5lLXB0X3JlZ3MtdWFwaV9wdF9yZWdzLW9uLUdMSUJDLXN5c3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1BZGQtc3VwcG9ydC1mb3ItUmVuZXNhcy1TSC1zaDQtYXJjaGl0ZWN0dXJlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtRG9udC1kaXNhYmxlLWxpYnJlYWRsaW5lLmEtd2hlbi11c2luZy1kaXNhYmxlLXN0YXRpYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXVzZS1hc20tc2dpZGVmcy5oLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtVXNlLWV4b3J0ZWQtZGVmaW5pdGlvbnMtb2YtU0lHUlRNSU4ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1DaGFuZ2Utb3JkZXItb2YtQ0ZMQUdTLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTAtcmVzb2x2ZS1yZXN0cmljdC1rZXl3b3JkLWNvbmZsaWN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTEtRml4LWludmFsaWQtc2lncHJvY21hc2stY2FsbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nZGJzZXJ2ZXItY3RybC1jLWhhbmRsaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbGF0ZXN0LUdDQy05LjAtdHJlZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiZjhiMjU2MmU4MzBhNDA5OGRkNWI1ZWE5ZTkyOTZjNzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGE2YTQzMjkwN2EwM2M1YzhlYWFkM2MzY2ZmZDUwYzAwYTQwYzNhNWUzYzQwMzk0NDA2MjRiYWU3MDNmMjIwMiIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi04LjIuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTA4MDlkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItOC4yLmluYworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLUxJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MyAmIExHUEx2MiAmIExHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLQkJICAgIGZpbGU6Ly9DT1BZSU5HMzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotCQkgICAgZmlsZTovL0NPUFlJTkczLkxJQjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotCQkgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT05ZjYwNGQ4YTRmOGU3NGY0ZjUxNDA4NDVhMjFiNjY3NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdudS5vcmcvZ251L2dkYi9nZGItJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbWFrZS1tYW4taW5zdGFsbC1yZWxhdGl2ZS10by1ERVNURElSLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtbWlwcy1saW51eC1uYXQtRGVmaW5lLV9BQklPMzItaWYtbm90LWRlZmluZWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1wcGMtcHRyYWNlLURlZmluZS1wdF9yZWdzLXVhcGlfcHRfcmVncy1vbi1HTElCQy1zeXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtQWRkLXN1cHBvcnQtZm9yLVJlbmVzYXMtU0gtc2g0LWFyY2hpdGVjdHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LURvbnQtZGlzYWJsZS1saWJyZWFkbGluZS5hLXdoZW4tdXNpbmctZGlzYWJsZS1zdGF0aWMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy11c2UtYXNtLXNnaWRlZnMuaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA4LVVzZS1leG9ydGVkLWRlZmluaXRpb25zLW9mLVNJR1JUTUlOLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktQ2hhbmdlLW9yZGVyLW9mLUNGTEFHUy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDEwLXJlc29sdmUtcmVzdHJpY3Qta2V5d29yZC1jb25mbGljdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLUZpeC1pbnZhbGlkLXNpZ3Byb2NtYXNrLWNhbGwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZ2Ric2VydmVyLWN0cmwtYy1oYW5kbGluZy5wYXRjaCBcCi0iCi1TUkNfVVJJW21kNXN1bV0gPSAiYjVhNDlkYmZmMDBkOWE4N2ZiZTExNGQxNGIzMTAxYzAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzNhNDQxYTI5YzdjODk3MjBiNzM0ZTVhOWM2Mjg5YzBhMDZiZTdlMGM3NmVmNTM4ZjdiYmNlZjM4OTM0N2MzOSIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jb21tb24uaW5jCmluZGV4IGZhNjQ5MzkuLjA4ZjYxNWEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY29tbW9uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nZGIvZ2RiLWNvbW1vbi5pbmMKQEAgLTQsMTEgKzQsMTAgQEAKIERFUEVORFMgPSAiZXhwYXQgemxpYiBuY3Vyc2VzIHZpcnR1YWwvbGliaWNvbnYgJHtMVFROR1VTVH0gYmlzb24tbmF0aXZlIgogCiBMVFROR1VTVCA9ICJsdHRuZy11c3QiCitMVFROR1VTVF9hcmMgPSAiIgogTFRUTkdVU1RfYWFyY2g2NCA9ICIiCi1MVFROR1VTVF9yaXNjdjY0ID0gIiIKIExUVE5HVVNUX21pcHNhcmNoID0gIiIKIExUVE5HVVNUX3NoNCA9ICIiCi1MVFROR1VTVF9saWJjLW11c2wgPSAiIgogCiBpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKaW5kZXggNGZjNjc0Ny4uNDc1ZTRmMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTYsNyArNiw3IEBACiBCUE4gPSAiZ2RiIgogCiBERVBFTkRTID0gIm5hdGl2ZXNkay1uY3Vyc2VzIG5hdGl2ZXNkay1leHBhdCBuYXRpdmVzZGstZ2V0dGV4dCBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC8ke0hPU1RfUFJFRklYfWJpbnV0aWxzLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9bGliYy1mb3ItZ2NjIgorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayB2aXJ0dWFsL25hdGl2ZXNkay1saWJjIgogCiBHREJQUk9QUkVGSVggPSAiLS1wcm9ncmFtLXByZWZpeD0nJHtUQVJHRVRfUFJFRklYfSciCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zcy1jYW5hZGlhbl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3MtY2FuYWRpYW5fOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi1jcm9zc184LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGItY3Jvc3NfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYi8wMDAxLUZpeC1idWlsZC13aXRoLWxhdGVzdC1HQ0MtOS4wLXRyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5NjI5MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGIvMDAwMS1GaXgtYnVpbGQtd2l0aC1sYXRlc3QtR0NDLTkuMC10cmVlLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gNzQwNmE1MDA3Nzc3M2U3ODI4MmE0OTVjYjMyZWY1YjgxNzlmNmEzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CitEYXRlOiBNb24sIDE3IERlYyAyMDE4IDIxOjMwOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGxhdGVzdCBHQ0MgOS4wIHRyZWUKKworQSByZWNlbnQgcGF0Y2ggWzFdIHRvIGZpeCBhIEdDQyBQUiBbMl0gYWN0dWFsbHkgYnJva2UgdGhlIEdEQiBidWlsZC4KK1RvIGZpeCwgcmVtb3ZlIHRoZSBzdGFjayBwb2ludGVyIGNsb2JiZXIuIEdDQyB3aWxsIGlnbm9yZSB0aGUgY2xvYmJlcgorbWFya2VyLCBhbmQgd2lsbCBub3Qgc2F2ZSBvciByZXN0b3JlIHRoZSBzdGFjayBwb2ludGVyLgorCitJIHJhbiAibWFrZSBjaGVjay1nZGIiIG9uIHg4Nl82NCB0byBlbnN1cmUgdGhlcmUgYXJlIG5vIHJlZ3Jlc3Npb25zLgorCitnZGIvQ2hhbmdlTG9nOgorCisyMDE4LTEyLTE3ICBEaW1pdGFyIERpbWl0cm92ICA8ZGltaXRhckBkaW51eC5ldT4KKworCSogbmF0L2xpbnV4LXB0cmFjZS5jIChsaW51eF9wdHJhY2VfdGVzdF9yZXRfdG9fbngpOiBSZW1vdmUgc3AgY2xvYmJlcnMuCisKK1sxXSBodHRwczovL2djYy5nbnUub3JnL21sL2djYy1wYXRjaGVzLzIwMTgtMTIvbXNnMDA1MzIuaHRtbAorWzJdIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IERpbWl0YXIgRGltaXRyb3YgPGRpbWl0YXJAZGludXguZXU+CistLS0KKyBnZGIvQ2hhbmdlTG9nICAgICAgICAgIHwgNSArKysrKworIGdkYi9uYXQvbGludXgtcHRyYWNlLmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2dkYi9uYXQvbGludXgtcHRyYWNlLmMgYi9nZGIvbmF0L2xpbnV4LXB0cmFjZS5jCitpbmRleCBkNGMxYjhmOWZkLi4xODdjZmViOWJjIDEwMDY0NAorLS0tIGEvZ2RiL25hdC9saW51eC1wdHJhY2UuYworKysrIGIvZ2RiL25hdC9saW51eC1wdHJhY2UuYworQEAgLTE2MSwxNCArMTYxLDE0IEBAIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueCAodm9pZCkKKyAJCQkiLmdsb2JsIGxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjsiCisgCQkJImxpbnV4X3B0cmFjZV90ZXN0X3JldF90b19ueF9pbnN0cjoiCisgCQkJInJldCIKKy0JCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAiJWVzcCIsICJtZW1vcnkiKTsKKysJCQk6IDogInIiIChyZXR1cm5fYWRkcmVzcykgOiAibWVtb3J5Iik7CisgI2VsaWYgZGVmaW5lZCBfX3g4Nl82NF9fCisgCSAgYXNtIHZvbGF0aWxlICgicHVzaHEgJTA7IgorIAkJCSIuZ2xvYmwgbGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOyIKKyAJCQkibGludXhfcHRyYWNlX3Rlc3RfcmV0X3RvX254X2luc3RyOiIKKyAJCQkicmV0IgorIAkJCTogOiAiciIgKCh1aW50NjRfdCkgKHVpbnRwdHJfdCkgcmV0dXJuX2FkZHJlc3MpCistCQkJOiAiJXJzcCIsICJtZW1vcnkiKTsKKysJCQk6ICJtZW1vcnkiKTsKKyAjZWxzZQorICMgZXJyb3IgIiFfX2kzODZfXyAmJiAhX194ODZfNjRfXyIKKyAjZW5kaWYKKy0tCisyLjIwLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuMS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2RiL2dkYl84LjIuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dkYi9nZGJfOC4yLjEuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dpdC9naXRfMi4xOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyOTYwYzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjE4LjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1yZXF1aXJlIGdpdC5pbmMKLQotRVhUUkFfT0VDT05GICs9ICJhY19jdl9zbnByaW50Zl9yZXR1cm5zX2JvZ3VzPW5vIFwKLSAgICAgICAgICAgICAgICAgYWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9JHthY19jdl9mcmVhZF9yZWFkc19kaXJlY3Rvcmllcz15ZXN9IFwKLSAgICAgICAgICAgICAgICAgIgotRVhUUkFfT0VNQUtFICs9ICJOT19HRVRURVhUPTEiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjliNjJjMjY3ZDg3OGY2Y2IwMmY4YWJjNTlhOTk1MjVkIgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiNWM3MTBjODY2ZDhjOWJhM2IzZTA2Mjc1NWUwZTlkMGVmNGY2NjU3NTJiZDY0ODEwZTNlYjlmMWIwZjBlYjA3NiIKLVNSQ19VUklbbWFucGFnZXMubWQ1c3VtXSA9ICJlZjMyYTQ1OWE0YTA4YTNiOGU4MzdhMzFjOTI1Yzg0OCIKLVNSQ19VUklbbWFucGFnZXMuc2hhMjU2c3VtXSA9ICJkMDViZmFiMmRjNDVkZTRmNmU3ZDYxY2ExNzMwNzFkNjkwMjkwNWE0OTYzZjdhYzNjYmNhNjA4YzBkNDU5MmM5IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9naXQvZ2l0XzIuMjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdmYjA1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2l0L2dpdF8yLjIwLjEuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBnaXQuaW5jCisKK0VYVFJBX09FQ09ORiArPSAiYWNfY3Zfc25wcmludGZfcmV0dXJuc19ib2d1cz1ubyBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2ZyZWFkX3JlYWRzX2RpcmVjdG9yaWVzPSR7YWNfY3ZfZnJlYWRfcmVhZHNfZGlyZWN0b3JpZXM9eWVzfSBcCisgICAgICAgICAgICAgICAgICIKK0VYVFJBX09FTUFLRSArPSAiTk9fR0VUVEVYVD0xIgorCitTUkNfVVJJW3RhcmJhbGwubWQ1c3VtXSA9ICI3YTc3NjllNWM5NTczNjRlZDBhZWQ4OWU2ZTY3YzI1NCIKK1NSQ19VUklbdGFyYmFsbC5zaGEyNTZzdW1dID0gImVkYzNiYzE0OTViNjkxNzliYTRlMjcyZTk3ZWZmOTMzMzRhMjBkZWNiMWQ4ZGI2ZWMzYzE5YzE2NDE3NzM4ZmQiCitTUkNfVVJJW21hbnBhZ2VzLm1kNXN1bV0gPSAiNzhjNmU1NGE2MWExNjdkYWI1ZThhZTA3MDM2MjkzYWIiCitTUkNfVVJJW21hbnBhZ2VzLnNoYTI1NnN1bV0gPSAiZTljMTIzNDYzYWJkMDVlMTQyZGVmZTQ0YTgwNjBjZTZlOTg1M2RmZDhjODNiMjU0MmUzOGI3ZGVhYzRlNmQ0YyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dsaWRlL2dsaWRlXzAuMTMuMi5iYgppbmRleCAzYTMyZmExLi43ZmFhZjRhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbGlkZS9nbGlkZV8wLjEzLjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ2xpZGUvZ2xpZGVfMC4xMy4yLmJiCkBAIC0zMywzICszMyw2IEBACiAjIEVMRiBiaW5hcnkgJy93b3JrL2FhcmNoNjQtb2UtbGludXgvZ2xpZGUvMC4xMy4xLXIwL3BhY2thZ2VzLXNwbGl0L2dsaWRlLXB0ZXN0L3Vzci9saWIvZ2xpZGUvcHRlc3QvZ2l0aHViLmNvbS9NYXN0ZXJtaW5kcy9nbGlkZS9hY3Rpb24vYWN0aW9uLnRlc3QnIGhhcyByZWxvY2F0aW9ucyBpbiAudGV4dAogIyBFTEYgYmluYXJ5ICcvd29yay9hYXJjaDY0LW9lLWxpbnV4L2dsaWRlLzAuMTMuMS1yMC9wYWNrYWdlcy1zcGxpdC9nbGlkZS1wdGVzdC91c3IvbGliL2dsaWRlL3B0ZXN0L2dpdGh1Yi5jb20vTWFzdGVybWluZHMvZ2xpZGUvY2FjaGUvY2FjaGUudGVzdCcgaGFzIHJlbG9jYXRpb25zIGluIC50ZXh0IFt0ZXh0cmVsXQogSU5TQU5FX1NLSVBfJHtQTn0tcHRlc3QgKz0gInRleHRyZWwiCisKKyMgZmFpbHMgdG8gcnVuIHRhc2sgY29tcGlsZV9wdGVzdF9iYXNlIG9uIG1pcHMKK1BURVNUX0VOQUJMRURfbWlwc2FyY2ggPSAiMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nbnUtY29uZmlnL2dudS1jb25maWdfZ2l0LmJiCmluZGV4IDQ3NDVmMTkuLmU1OTdlYmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dudS1jb25maWcvZ251LWNvbmZpZ19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ251LWNvbmZpZy9nbnUtY29uZmlnX2dpdC5iYgpAQCAtOCw4ICs4LDggQEAKIAogSU5ISUJJVF9ERUZBVUxUX0RFUFMgPSAiMSIKIAotU1JDUkVWID0gIjMwZDUzZmM0MjhlYTQyYWY5ZDZmNGQzNTVkYjAwMjJlMzkxOGE4MjQiCi1QViA9ICIyMDE4MDcxMytnaXQke1NSQ1BWfSIKK1NSQ1JFViA9ICIwNTg2MzliZTIyN2JiZThmMDNjYzM5Zjc5ZjdjZTg0OTE4MDEyMTQzIgorUFYgPSAiMjAxODExMjgrZ2l0JHtTUkNQVn0iCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY29uZmlnLmdpdCBcCiAgICAgICAgICAgIGZpbGU6Ly9nbnUtY29uZmlnaXplLmluIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwppbmRleCBkNjI2NTE0Li5kMDNlMjZjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLmluYwpAQCAtMSw3ICsxLDcgQEAKIHJlcXVpcmUgZ28tY29tbW9uLmluYwogCiBHT19CQVNFVkVSU0lPTiA9ICIxLjExIgotR09fTUlOT1IgPSAiLjEiCitHT19NSU5PUiA9ICIuNCIKIFBWIC49ICIke0dPX01JTk9SfSIKIEZJTEVTRVhUUkFQQVRIU19wcmVwZW5kIDo9ICIke0ZJTEVfRElSTkFNRX0vZ28tJHtHT19CQVNFVkVSU0lPTn06IgogCkBAIC0xNyw4ICsxNyw3IEBACiAgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKICIKLQogU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCIKIAotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiZWI5ZTk3OTIyNDcxNDM3MDVhN2FhY2VhOTM5OGNkZTAiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1NThmOGMxNjlhZTIxNWUyNWI4MTQyMTU5NmU4ZGU3NTcyYmQzYmE4MjRiNzlhZGQyMmZiYTZlMjg0ZGIxMTE3IgorU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiYTc3Njk3NjczMjE1YmU0NjVkMWI1ODM2ODBlZjIzMTgiCitTUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI0Y2ZkNDI3MjBhNmIxZTc5YTgwMjQ4OTVmYTY2MDdiNjk5NzJlOGUzMjQ0NmRmNzZkNmNlNzk4MDFiYmFkYjE1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCmluZGV4IGYzMTdlNDguLjI5ZWY5NDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKQEAgLTY1LDggKzY1LDggQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCiArKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KLUBAIC00NDAsNiArNDQwLDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgotIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1vZHVsZSByZXF1aXJlcyBHbyAlcyIsIHAuTW9kdWxlLkdvVmVyc2lvbikKK0BAIC00MzYsNiArNDM2LDIzIEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIGJ1aWxkKGEgKkFjdGlvbikgKGVycgorIAkJcmV0dXJuIGZtdC5FcnJvcmYoIm1pc3Npbmcgb3IgaW52YWxpZCBiaW5hcnktb25seSBwYWNrYWdlOyBleHBlY3RlZCBmaWxlICVxIiwgYS5QYWNrYWdlLlRhcmdldCkKICAJfQogIAogKwlpZiBnb1Jvb3RQcmVjaW91cyAmJiAoYS5QYWNrYWdlLlN0YW5kYXJkIHx8IGEuUGFja2FnZS5Hb3Jvb3QpIHsKQEAgLTg5LDcgKzg5LDcgQEAKICAJaWYgZXJyIDo9IGIuTWtkaXIoYS5PYmpkaXIpOyBlcnIgIT0gbmlsIHsKICAJCXJldHVybiBlcnIKICAJfQotQEAgLTE0MzUsNiArMTQ1MiwxNCBAQCBmdW5jIEJ1aWxkSW5zdGFsbEZ1bmMoYiAqQnVpbGRlciwgYSAqQWN0CitAQCAtMTQzOCw2ICsxNDU1LDE0IEBAIGZ1bmMgQnVpbGRJbnN0YWxsRnVuYyhiICpCdWlsZGVyLCBhICpBY3QKICAJCXJldHVybiBuaWwKICAJfQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMS8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCmluZGV4IGI2YWI1MDQuLjIyNWNmNDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTEvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjExLzAwMDgtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2gKQEAgLTE4LDExICsxOCwxMSBAQAogIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDYgKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCAxNDViODc1Li41OTVkNzAzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0yMTgsNyArMjE4LDExIEBAIGZ1bmMgQWRkQnVpbGRGbGFncyhjbWQgKmJhc2UuQ29tbWFuZCkgeworSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCitAQCAtMjIzLDcgKzIyMywxMSBAQCBmdW5jIEFkZEJ1aWxkRmxhZ3MoY21kICpiYXNlLkNvbW1hbmQpIHsKICAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkQXNtZmxhZ3MsICJhc21mbGFncyIsICIiKQogIAljbWQuRmxhZy5WYXIoYnVpbGRDb21waWxlcnt9LCAiY29tcGlsZXIiLCAiIikKQEAgLTM1LDYgKzM1LDMgQEAKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NmbGFncywgImdjZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuVmFyKCZsb2FkLkJ1aWxkR2NjZ29mbGFncywgImdjY2dvZmxhZ3MiLCAiIikKICAJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRNb2QsICJtb2QiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmMGE2MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIuaW5jCkBAIC0wLDAgKzEsMjMgQEAKK3JlcXVpcmUgZ28tY29tbW9uLmluYworCitHT19CQVNFVkVSU0lPTiA9ICIxLjEyIgorR09fTUlOT1IgPSAiLjEiCitQViAuPSAiJHtHT19NSU5PUn0iCitGSUxFU0VYVFJBUEFUSFNfcHJlcGVuZCA6PSAiJHtGSUxFX0RJUk5BTUV9L2dvLSR7R09fQkFTRVZFUlNJT059OiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NWQ0OTUwZWNiN2IyNmQyYzVlNGU3YjRlMGRkNzQ3MDciCisKK1NSQ19VUkkgKz0gIlwKKyAgICBmaWxlOi8vMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpcm9ubWVudC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDQtbGQtYWRkLXNvbmFtZS10by1zaGFyZWFibGUtb2JqZWN0cy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtY21kLWRpc3Qtc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoIFwKKyIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDktbGQtcmVwbGFjZS1nbGliYy1keW5hbWljLWxpbmtlci13aXRoLW11c2wucGF0Y2giCisKK1NSQ19VUklbbWFpbi5tZDVzdW1dID0gIjA5ZmU1OTIzNDM0NjU1NjBiNGI4NDMxZDg3MGIzZGYzIgorU1JDX1VSSVttYWluLnNoYTI1NnN1bV0gPSAiMGJlMTI3Njg0ZGY0Yjg0MmE2NGU1ODA5MzE1NGY5ZDE1NDIyZjE0MDVmMWZjZmY0YjJjMzZmZmM2YTE1ODE4YSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMS1hbGxvdy1DQy1hbmQtQ1hYLXRvLWhhdmUtbXVsdGlwbGUtd29yZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0NDI4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDEtYWxsb3ctQ0MtYW5kLUNYWC10by1oYXZlLW11bHRpcGxlLXdvcmRzLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gN2NjNTE5YWE1Zjg0Y2Y4ZmM3YWM4YzEwZmM2OWFhODA0MDMzMGVhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBNb24sIDE5IEZlYiAyMDE4IDA4OjQ5OjMzIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IENDIGFuZCBDWFggdG8gaGF2ZSBtdWx0aXBsZSB3b3JkcworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBhZmFkYmFkLi5jZWRiZmJmIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC04NSwxMSArODUsMTEgQEAgZnVuYyBNa0VudigpIFtdY2ZnLkVudlZhciB7CisgCisgCWNjIDo9IGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCisgCWlmIGVudiA6PSBzdHJpbmdzLkZpZWxkcyhvcy5HZXRlbnYoIkNDIikpOyBsZW4oZW52KSA+IDAgeworLQkJY2MgPSBlbnZbMF0KKysJCWNjID0gc3RyaW5ncy5Kb2luKGVudiwgIiAiKQorIAl9CisgCWN4eCA6PSBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkKKyAJaWYgZW52IDo9IHN0cmluZ3MuRmllbGRzKG9zLkdldGVudigiQ1hYIikpOyBsZW4oZW52KSA+IDAgeworLQkJY3h4ID0gZW52WzBdCisrCQljeHggPSBzdHJpbmdzLkpvaW4oZW52LCAiICIpCisgCX0KKyAJZW52ID0gYXBwZW5kKGVudiwgY2ZnLkVudlZhcntOYW1lOiAiQ0MiLCBWYWx1ZTogY2N9KQorIAllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogY3h4fSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDAyLWNtZC1nby1tYWtlLWNvbnRlbnQtYmFzZWQtaGFzaC1nZW5lcmF0aW9uLWxlc3MtcGVkYW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZiODU2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMi1jbWQtZ28tbWFrZS1jb250ZW50LWJhc2VkLWhhc2gtZ2VuZXJhdGlvbi1sZXNzLXBlZGFuLnBhdGNoCkBAIC0wLDAgKzEsMjE4IEBACitGcm9tIDQ3ZGI2OWUyMGVkNjZmYjYyYjAxYWZmZDgzZDgyOTY1NGI4Mjk4OTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogTW9uLCAxOSBGZWIgMjAxOCAwODo1MDo1OSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZ286IG1ha2UgY29udGVudC1iYXNlZCBoYXNoIGdlbmVyYXRpb24gbGVzcyBwZWRhbnRpYworCitHbyAxLjEwJ3MgYnVpbGQgdG9vbCBub3cgdXNlcyBjb250ZW50LWJhc2VkIGhhc2hlcyB0bworZGV0ZXJtaW5lIHdoZW4gc29tZXRoaW5nIHNob3VsZCBiZSBidWlsdCBvciByZS1idWlsdC4KK1RoaXMgc2FtZSBtZWNoYW5pc20gaXMgdXNlZCB0byBtYWludGFpbiBhIGJ1aWx0LWFydGlmYWN0CitjYWNoZSBmb3Igc3BlZWRpbmcgdXAgYnVpbGRzLgorCitIb3dldmVyLCB0aGUgaGFzaGVzIGl0IGdlbmVyYXRlcyBpbmNsdWRlIGluZm9ybWF0aW9uIHRoYXQKK2RvZXNuJ3Qgd29yayB3ZWxsIHdpdGggT0UsIG5vciB3aXRoIHVzaW5nIGEgc2hhcmVkIHJ1bnRpbWUKK2xpYnJhcnkuCisKK0ZpcnN0LCBpdCBlbWJlZHMgcGF0aCBuYW1lcyB0byBzb3VyY2UgZmlsZXMsIHVubGVzcworYnVpbGRpbmcgd2l0aGluIEdPUk9PVC4gIFRoaXMgcHJldmVudHMgdGhlIGJ1aWxkaW5nCitvZiBhIHBhY2thZ2UgaW4gR09QQVRIIGZvciBsYXRlciBzdGFnaW5nIGludG8gR09ST09ULgorCitUaGlzIHBhdGNoIGFkZHMgc3VwcG9ydCBmb3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitHT1BBVEhfT01JVF9JTl9BQ1RJT05JRC4gIElmIHByZXNlbnQsIHBhdGggbmFtZQorZW1iZWRkaW5nIGlzIGRpc2FibGVkLgorCitTZWNvbmQsIGlmIGNnbyBpcyBlbmFibGVkLCB0aGUgYnVpbGQgSUQgZm9yIGNnby1yZWxhdGVkCitwYWNrYWdlcyB3aWxsIGluY2x1ZGUgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGVudmlyb25tZW50Cit2YXJpYWJsZXMgZm9yIGludm9raW5nIHRoZSBjb21waWxlciAoQ0MsIENYWCwgRkMpIGFuZAorYW55IENHT194eEZMQUdTIHZhcmlhYmxlcy4gIE9ubHkgaWYgdGhlIHNldHRpbmdzIHVzZWQKK2R1cmluZyBhIGNvbXBpbGF0aW9uIGV4YWN0bHkgbWF0Y2gsIGNoYXJhY3RlciBmb3IgY2hhcmFjdGVyLAordGhlIHZhbHVlcyB1c2VkIGZvciBjb21waWxpbmcgcnVudGltZS9jZ28gb3IgYW55IG90aGVyCitjZ28tZW5hYmxlZCBwYWNrYWdlIGJlaW5nIGltcG9ydGVkLCB3aWxsIHRoZSB0b29sCitkZWNpZGUgdGhhdCB0aGUgaW1wb3J0ZWQgcGFja2FnZSBpcyB1cC10by1kYXRlLgorCitUaGlzIGlzIGRvbmUgdG8gaGVscCBlbnN1cmUgY29ycmVjdG5lc3MsIGJ1dCBpcyBvdmVybHkKK3NpbXBsaXN0aWMgYW5kIGVmZmVjdGl2ZWx5IHByZXZlbnRzIHRoZSByZXVzZSBvZiBidWlsdAorYXJ0aWZhY3RzIHRoYXQgdXNlIGNnbyAob3Igc2hhcmVkIHJ1bnRpbWUsIHdoaWNoIGluY2x1ZGVzCitydW50aW1lL2NnbykuCisKK1RoaXMgcGF0Y2ggZmlsdGVycyBvdXQgYWxsIGNvbXBpbGVyIGZsYWdzIGV4Y2VwdCB0aG9zZQorYmVnaW5uaW5nIHdpdGggJy1tJy4gIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGNhbiBiZSByZXN0b3JlZAorYnkgc2V0dGluZyB0aGUgQ0dPX1BFREFOVElDIGVudmlyb25tZW50IHZhcmlhYmxlLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28gfCAgMiArLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvICB8IDYzICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCitpbmRleCBjZWRiZmJmLi41NzYzYTBkIDEwMDY0NAorLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2VudmNtZC9lbnYuZ28KK0BAIC0xMjgsNyArMTI4LDcgQEAgZnVuYyBFeHRyYUVudlZhcnMoKSBbXWNmZy5FbnZWYXIgeworIGZ1bmMgRXh0cmFFbnZWYXJzQ29zdGx5KCkgW11jZmcuRW52VmFyIHsKKyAJdmFyIGIgd29yay5CdWlsZGVyCisgCWIuSW5pdCgpCistCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30pCisrCWNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MsIGVyciA6PSBiLkNGbGFncygmbG9hZC5QYWNrYWdle30sIGZhbHNlKQorIAlpZiBlcnIgIT0gbmlsIHsKKyAJCS8vIFNob3VsZCBub3QgaGFwcGVuIC0gYi5DRmxhZ3Mgd2FzIGdpdmVuIGFuIGVtcHR5IHBhY2thZ2UuCisgCQlmbXQuRnByaW50Zihvcy5TdGRlcnIsICJnbzogaW52YWxpZCBjZmxhZ3M6ICV2XG4iLCBlcnIpCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworaW5kZXggMTJlMTUyNy4uZTQxYmZhYyAxMDA2NDQKKy0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9leGVjLmdvCisrKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTE3NCw2ICsxNzQsOCBAQCBmdW5jIChiICpCdWlsZGVyKSBEbyhyb290ICpBY3Rpb24pIHsKKyAJd2cuV2FpdCgpCisgfQorIAorK3ZhciBvbWl0R29wYXRoID0gb3MuR2V0ZW52KCJHT1BBVEhfT01JVF9JTl9BQ1RJT05JRCIpICE9ICIiCisrCisgLy8gYnVpbGRBY3Rpb25JRCBjb21wdXRlcyB0aGUgYWN0aW9uIElEIGZvciBhIGJ1aWxkIGFjdGlvbi4KKyBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAlwIDo9IGEuUGFja2FnZQorQEAgLTE5MCw3ICsxOTIsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZEFjdGlvbklEKGEgKkFjdGlvbikgY2FjaGUuQWN0aW9uSUQgeworIAkvLyBidXQgaXQgZG9lcyBub3QgaGlkZSB0aGUgZXhhY3QgdmFsdWUgb2YgJEdPUEFUSC4KKyAJLy8gSW5jbHVkZSB0aGUgZnVsbCBkaXIgaW4gdGhhdCBjYXNlLgorIAkvLyBBc3N1bWUgYi5Xb3JrRGlyIGlzIGJlaW5nIHRyaW1tZWQgcHJvcGVybHkuCistCWlmICFwLkdvcm9vdCAmJiAhc3RyaW5ncy5IYXNQcmVmaXgocC5EaXIsIGIuV29ya0RpcikgeworKwlpZiAhcC5Hb3Jvb3QgJiYgIW9taXRHb3BhdGggJiYgIXN0cmluZ3MuSGFzUHJlZml4KHAuRGlyLCBiLldvcmtEaXIpIHsKKyAJCWZtdC5GcHJpbnRmKGgsICJkaXIgJXNcbiIsIHAuRGlyKQorIAl9CisgCWZtdC5GcHJpbnRmKGgsICJnb29zICVzIGdvYXJjaCAlc1xuIiwgY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpCitAQCAtMjAxLDEzICsyMDMsMTMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGRBY3Rpb25JRChhICpBY3Rpb24pIGNhY2hlLkFjdGlvbklEIHsKKyAJfQorIAlpZiBsZW4ocC5DZ29GaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworIAkJZm10LkZwcmludGYoaCwgImNnbyAlcVxuIiwgYi50b29sSUQoImNnbyIpKQorLQkJY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbGRmbGFncywgXyA6PSBiLkNGbGFncyhwKQorLQkJZm10LkZwcmludGYoaCwgIkNDPSVxICVxICVxICVxXG4iLCBiLmNjRXhlKCksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisrCQljcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzLCBfIDo9IGIuQ0ZsYWdzKHAsIHRydWUpCisrCQlmbXQuRnByaW50ZihoLCAiQ0M9JXEgJXEgJXEgJXFcbiIsIGIuY2NFeGUodHJ1ZSksIGNwcGZsYWdzLCBjZmxhZ3MsIGxkZmxhZ3MpCisgCQlpZiBsZW4ocC5DWFhGaWxlcykrbGVuKHAuU3dpZ0ZpbGVzKSA+IDAgeworLQkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKCksIGN4eGZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJDWFg9JXEgJXFcbiIsIGIuY3h4RXhlKHRydWUpLCBjeHhmbGFncykKKyAJCX0KKyAJCWlmIGxlbihwLkZGaWxlcykgPiAwIHsKKy0JCQlmbXQuRnByaW50ZihoLCAiRkM9JXEgJXFcbiIsIGIuZmNFeGUoKSwgZmZsYWdzKQorKwkJCWZtdC5GcHJpbnRmKGgsICJGQz0lcSAlcVxuIiwgYi5mY0V4ZSh0cnVlKSwgZmZsYWdzKQorIAkJfQorIAkJLy8gVE9ETyhyc2MpOiBTaG91bGQgd2UgaW5jbHVkZSB0aGUgU1dJRyB2ZXJzaW9uIG9yIEZvcnRyYW4vR0NDL0crKy9PYmplY3RpdmUtQyBjb21waWxlciB2ZXJzaW9ucz8KKyAJfQorQEAgLTIwOTYsMzMgKzIwOTgsMzMgQEAgdmFyICgKKyAvLyBnY2NDbWQgcmV0dXJucyBhIGdjYyBjb21tYW5kIGxpbmUgcHJlZml4CisgLy8gZGVmYXVsdENDIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KKyBmdW5jIChiICpCdWlsZGVyKSBHY2NDbWQoaW5jZGlyLCB3b3JrZGlyIHN0cmluZykgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckNtZChiLmNjRXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jY0V4ZShmYWxzZSksIGluY2Rpciwgd29ya2RpcikKKyB9CisgCisgLy8gZ3h4Q21kIHJldHVybnMgYSBnKysgY29tbWFuZCBsaW5lIHByZWZpeAorIC8vIGRlZmF1bHRDWFggaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIEd4eENtZChpbmNkaXIsIHdvcmtkaXIgc3RyaW5nKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuY3h4RXhlKCksIGluY2Rpciwgd29ya2RpcikKKysJcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5jeHhFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgorIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKGluY2Rpciwgd29ya2RpciBzdHJpbmcpIFtdc3RyaW5nIHsKKy0JcmV0dXJuIGIuY29tcGlsZXJDbWQoYi5mY0V4ZSgpLCBpbmNkaXIsIHdvcmtkaXIpCisrCXJldHVybiBiLmNvbXBpbGVyQ21kKGIuZmNFeGUoZmFsc2UpLCBpbmNkaXIsIHdvcmtkaXIpCisgfQorIAorIC8vIGNjRXhlIHJldHVybnMgdGhlIENDIGNvbXBpbGVyIHNldHRpbmcgd2l0aG91dCBhbGwgdGhlIGV4dHJhIGZsYWdzIHdlIGFkZCBpbXBsaWNpdGx5LgorLWZ1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ0MsIGNmZy5EZWZhdWx0Q0MoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpKQorK2Z1bmMgKGIgKkJ1aWxkZXIpIGNjRXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NDLCBjZmcuRGVmYXVsdENDKGNmZy5Hb29zLCBjZmcuR29hcmNoKSwgZmlsdGVyZWQpCisgfQorIAorIC8vIGN4eEV4ZSByZXR1cm5zIHRoZSBDWFggY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKCkgW11zdHJpbmcgeworLQlyZXR1cm4gYi5jb21waWxlckV4ZShvcmlnQ1hYLCBjZmcuRGVmYXVsdENYWChjZmcuR29vcywgY2ZnLkdvYXJjaCkpCisrZnVuYyAoYiAqQnVpbGRlcikgY3h4RXhlKGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKysJcmV0dXJuIGIuY29tcGlsZXJFeGUob3JpZ0NYWCwgY2ZnLkRlZmF1bHRDWFgoY2ZnLkdvb3MsIGNmZy5Hb2FyY2gpLCBmaWx0ZXJlZCkKKyB9CisgCisgLy8gZmNFeGUgcmV0dXJucyB0aGUgRkMgY29tcGlsZXIgc2V0dGluZyB3aXRob3V0IGFsbCB0aGUgZXh0cmEgZmxhZ3Mgd2UgYWRkIGltcGxpY2l0bHkuCistZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CistCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIikKKytmdW5jIChiICpCdWlsZGVyKSBmY0V4ZShmaWx0ZXJlZCBib29sKSBbXXN0cmluZyB7CisrCXJldHVybiBiLmNvbXBpbGVyRXhlKG9zLkdldGVudigiRkMiKSwgImdmb3J0cmFuIiwgZmlsdGVyZWQpCisgfQorIAorIC8vIGNvbXBpbGVyRXhlIHJldHVybnMgdGhlIGNvbXBpbGVyIHRvIHVzZSBnaXZlbiBhbgorQEAgLTIxMzEsMTEgKzIxMzMsMTQgQEAgZnVuYyAoYiAqQnVpbGRlcikgZmNFeGUoKSBbXXN0cmluZyB7CisgLy8gb2YgdGhlIGNvbXBpbGVyIGJ1dCBjYW4gaGF2ZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpZiB0aGV5CisgLy8gd2VyZSBwcmVzZW50IGluIHRoZSBlbnZpcm9ubWVudCB2YWx1ZS4KKyAvLyBGb3IgZXhhbXBsZSBpZiBDQz0iZ2NjIC1ER09QSEVSIiB0aGVuIHRoZSByZXN1bHQgaXMgWyJnY2MiLCAiLURHT1BIRVIiXS4KKy1mdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKytmdW5jIChiICpCdWlsZGVyKSBjb21waWxlckV4ZShlbnZWYWx1ZSBzdHJpbmcsIGRlZiBzdHJpbmcsIGZpbHRlcmVkIGJvb2wpIFtdc3RyaW5nIHsKKyAJY29tcGlsZXIgOj0gc3RyaW5ncy5GaWVsZHMoZW52VmFsdWUpCisgCWlmIGxlbihjb21waWxlcikgPT0gMCB7CisgCQljb21waWxlciA9IFtdc3RyaW5ne2RlZn0KKyAJfQorKwlpZiBmaWx0ZXJlZCB7CisrCQlyZXR1cm4gYXBwZW5kKGNvbXBpbGVyWzA6MV0sIGZpbHRlckNvbXBpbGVyRmxhZ3MoY29tcGlsZXJbMTpdKS4uLikKKysJfQorIAlyZXR1cm4gY29tcGlsZXIKKyB9CisgCitAQCAtMjI4NSw4ICsyMjkwLDIzIEBAIGZ1bmMgZW52TGlzdChrZXksIGRlZiBzdHJpbmcpIFtdc3RyaW5nIHsKKyAJcmV0dXJuIHN0cmluZ3MuRmllbGRzKHYpCisgfQorIAorK3ZhciBmaWx0ZXJGbGFncyA9IG9zLkdldGVudigiQ0dPX1BFREFOVElDIikgPT0gIiIKKysKKytmdW5jIGZpbHRlckNvbXBpbGVyRmxhZ3MoZmxhZ3MgW11zdHJpbmcpIFtdc3RyaW5nIHsKKysJdmFyIG5ld2ZsYWdzIFtdc3RyaW5nCisrCWlmICFmaWx0ZXJGbGFncyB7CisrCQlyZXR1cm4gZmxhZ3MKKysJfQorKwlmb3IgXywgZmxhZyA6PSByYW5nZSBmbGFncyB7CisrCQlpZiBzdHJpbmdzLkhhc1ByZWZpeChmbGFnLCAiLW0iKSB7CisrCQkJbmV3ZmxhZ3MgPSBhcHBlbmQobmV3ZmxhZ3MsIGZsYWcpCisrCQl9CisrCX0KKysJcmV0dXJuIG5ld2ZsYWdzCisrfQorKworIC8vIENGbGFncyByZXR1cm5zIHRoZSBmbGFncyB0byB1c2Ugd2hlbiBpbnZva2luZyB0aGUgQywgQysrIG9yIEZvcnRyYW4gY29tcGlsZXJzLCBvciBjZ28uCistZnVuYyAoYiAqQnVpbGRlcikgQ0ZsYWdzKHAgKmxvYWQuUGFja2FnZSkgKGNwcGZsYWdzLCBjZmxhZ3MsIGN4eGZsYWdzLCBmZmxhZ3MsIGxkZmxhZ3MgW11zdHJpbmcsIGVyciBlcnJvcikgeworK2Z1bmMgKGIgKkJ1aWxkZXIpIENGbGFncyhwICpsb2FkLlBhY2thZ2UsIGZpbHRlcmVkIGJvb2wpIChjcHBmbGFncywgY2ZsYWdzLCBjeHhmbGFncywgZmZsYWdzLCBsZGZsYWdzIFtdc3RyaW5nLCBlcnIgZXJyb3IpIHsKKyAJZGVmYXVsdHMgOj0gIi1nIC1PMiIKKyAKKyAJaWYgY3BwZmxhZ3MsIGVyciA9IGJ1aWxkRmxhZ3MoIkNQUEZMQUdTIiwgIiIsIHAuQ2dvQ1BQRkxBR1MsIGNoZWNrQ29tcGlsZXJGbGFncyk7IGVyciAhPSBuaWwgeworQEAgLTIzMDQsNiArMjMyNCwxMyBAQCBmdW5jIChiICpCdWlsZGVyKSBDRmxhZ3MocCAqbG9hZC5QYWNrYWdlKSAoY3BwZmxhZ3MsIGNmbGFncywgY3h4ZmxhZ3MsIGZmbGFncywgbAorIAlpZiBsZGZsYWdzLCBlcnIgPSBidWlsZEZsYWdzKCJMREZMQUdTIiwgZGVmYXVsdHMsIHAuQ2dvTERGTEFHUywgY2hlY2tMaW5rZXJGbGFncyk7IGVyciAhPSBuaWwgeworIAkJcmV0dXJuCisgCX0KKysJaWYgZmlsdGVyZWQgeworKwkJY3BwZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGNwcGZsYWdzKQorKwkJY2ZsYWdzID0gZmlsdGVyQ29tcGlsZXJGbGFncyhjZmxhZ3MpCisrCQljeHhmbGFncyA9IGZpbHRlckNvbXBpbGVyRmxhZ3MoY3h4ZmxhZ3MpCisrCQlmZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGZmbGFncykKKysJCWxkZmxhZ3MgPSBmaWx0ZXJDb21waWxlckZsYWdzKGxkZmxhZ3MpCisrCX0KKyAKKyAJcmV0dXJuCisgfQorQEAgLTIzMTksNyArMjM0Niw3IEBAIHZhciBjZ29SZSA9IHJlZ2V4cC5NdXN0Q29tcGlsZShgWy9cXDpdYCkKKyAKKyBmdW5jIChiICpCdWlsZGVyKSBjZ28oYSAqQWN0aW9uLCBjZ29FeGUsIG9iamRpciBzdHJpbmcsIHBjQ0ZMQUdTLCBwY0xERkxBR1MsIGNnb2ZpbGVzLCBnY2NmaWxlcywgZ3h4ZmlsZXMsIG1maWxlcywgZmZpbGVzIFtdc3RyaW5nKSAob3V0R28sIG91dE9iaiBbXXN0cmluZywgZXJyIGVycm9yKSB7CisgCXAgOj0gYS5QYWNrYWdlCistCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBjZ29GRkxBR1MsIGNnb0xERkxBR1MsIGVyciA6PSBiLkNGbGFncyhwKQorKwljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgY2dvRkZMQUdTLCBjZ29MREZMQUdTLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuIG5pbCwgbmlsLCBlcnIKKyAJfQorQEAgLTI2NzksNyArMjcwNiw3IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIHN3aWdJbnRTaXplKG9iamRpciBzdHJpbmcpIChpbnRzaXplIHN0cmluZywgZXJyIGVycm9yKSB7CisgCisgLy8gUnVuIFNXSUcgb24gb25lIFNXSUcgaW5wdXQgZmlsZS4KKyBmdW5jIChiICpCdWlsZGVyKSBzd2lnT25lKGEgKkFjdGlvbiwgcCAqbG9hZC5QYWNrYWdlLCBmaWxlLCBvYmpkaXIgc3RyaW5nLCBwY0NGTEFHUyBbXXN0cmluZywgY3h4IGJvb2wsIGludGdvc2l6ZSBzdHJpbmcpIChvdXRHbywgb3V0QyBzdHJpbmcsIGVyciBlcnJvcikgeworLQljZ29DUFBGTEFHUywgY2dvQ0ZMQUdTLCBjZ29DWFhGTEFHUywgXywgXywgZXJyIDo9IGIuQ0ZsYWdzKHApCisrCWNnb0NQUEZMQUdTLCBjZ29DRkxBR1MsIGNnb0NYWEZMQUdTLCBfLCBfLCBlcnIgOj0gYi5DRmxhZ3MocCwgZmFsc2UpCisgCWlmIGVyciAhPSBuaWwgeworIAkJcmV0dXJuICIiLCAiIiwgZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwMy1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXJvbm1lbnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Y2E0MGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjEyLzAwMDMtYWxsb3ctR09UT09MRElSLXRvLWJlLW92ZXJyaWRkZW4taW4tdGhlLWVudmlyb25tZW50LnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKK0Zyb20gNWMzMmMzOGJmMTliMjRmMGFhZGQ3ODAxMmQxN2ZmNWNhYTgyMTUxZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA1OjI0OjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZSBlbnZpcm9ubWVudAorCit0byBhbGxvdyBmb3Igc3BsaXQgaG9zdC90YXJnZXQgYnVpbGQgcm9vdHMKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvICAgICAgICAgIHwgNCArKystCisgc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvIHwgNyArKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTIyOCw3ICsyMjgsOSBAQCBmdW5jIHhpbml0KCkgeworIAl3b3JrZGlyID0geHdvcmtkaXIoKQorIAl4YXRleGl0KHJtd29ya2RpcikKKyAKKy0JdG9vbGRpciA9IHBhdGhmKCIlcy9wa2cvdG9vbC8lc18lcyIsIGdvcm9vdCwgZ29ob3N0b3MsIGdvaG9zdGFyY2gpCisrCWlmIHRvb2xkaXIgPSBvcy5HZXRlbnYoIkdPVE9PTERJUiIpOyB0b29sZGlyID09ICIiIHsKKysJCXRvb2xkaXIgPSBwYXRoZigiJXMvcGtnL3Rvb2wvJXNfJXMiLCBnb3Jvb3QsIGdvaG9zdG9zLCBnb2hvc3RhcmNoKQorKwl9CisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorSW5kZXg6IGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCisrKysgZ28vc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCitAQCAtMTE2LDcgKzExNiwxMSBAQCBmdW5jIGluaXQoKSB7CisgCQkvLyB2YXJpYWJsZXMuIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbgorIAkJLy8gZ28vYnVpbGQsIGV4Y2VwdCBmb3IgdXNpbmcgR09ST09UIHJhdGhlciB0aGFuCisgCQkvLyBydW50aW1lLkdPUk9PVC4KKy0JCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCWlmIHMgOj0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgcyAhPSAiIiB7CisrCQkJYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkNsZWFuKHMpCisrCQl9IGVsc2UgeworKwkJCWJ1aWxkLlRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKEdPUk9PVCwgInBrZy90b29sLyIrcnVudGltZS5HT09TKyJfIitydW50aW1lLkdPQVJDSCkKKysJCX0KKyAJfQorIH0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA0LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA0YTMzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNC1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gNTVlYjhjOTVhODlmMzJhZWMxNmI3NzY0ZTc4ZThjZjc1MTY5ZGM4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjI2OjEwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxkOiBhZGQgc29uYW1lIHRvIHNoYXJlYWJsZSBvYmplY3RzCisKK3NvIHRoYXQgT0UncyBzaGFyZWQgbGlicmFyeSBkZXBlbmRlbmN5IGhhbmRsaW5nCitjYW4gZmluZCB0aGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorCistLS0KKyBzcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvIHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28KK2luZGV4IDIyMGFhYjMuLjcwMzkyNWYgMTAwNjQ0CistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCitAQCAtMTEzNSw2ICsxMTM1LDcgQEAgZnVuYyAoY3R4dCAqTGluaykgaG9zdGxpbmsoKSB7CisgCQkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1XbCwteixyZWxybyIpCisgCQkJfQorIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1zaGFyZWQiKQorKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKKyAJCQlpZiBjdHh0LkhlYWRUeXBlICE9IG9iamFiaS5Id2luZG93cyB7CisgCQkJCS8vIFBhc3MgLXogbm9kZWxldGUgdG8gbWFyayB0aGUgc2hhcmVkIGxpYnJhcnkgYXMKKyAJCQkJLy8gbm9uLWNsb3NlYWJsZTogYSBkbGNsb3NlIHdpbGwgZG8gbm90aGluZy4KK0BAIC0xMTQ2LDYgKzExNDcsOCBAQCBmdW5jIChjdHh0ICpMaW5rKSBob3N0bGluaygpIHsKKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJfQorIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCisrCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisrCisgCWNhc2UgQnVpbGRNb2RlUGx1Z2luOgorIAkJaWYgY3R4dC5IZWFkVHlwZSA9PSBvYmphYmkuSGRhcndpbiB7CisgCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLWR5bmFtaWNsaWIiKQorQEAgLTExNTQsNiArMTE1Nyw3IEBAIGZ1bmMgKGN0eHQgKkxpbmspIGhvc3RsaW5rKCkgeworIAkJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQorIAkJCX0KKyAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItc2hhcmVkIikKKysJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCisgCQl9CisgCX0KKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA1LW1ha2UuYmFzaC1vdmVycmlkZS1DQy13aGVuLWJ1aWxkaW5nLWRpc3QtYW5kLWdvX2Jvb3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNlOGRlOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNS1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMWJmMTVhYThmYjc3MzYwNGIyNTI0Y2ZkYWI0OTNmYTRkOGZhOTI4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CitEYXRlOiBTYXQsIDE3IEZlYiAyMDE4IDA2OjMyOjQ1IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIG1ha2UuYmFzaDogb3ZlcnJpZGUgQ0Mgd2hlbiBidWlsZGluZyBkaXN0IGFuZCBnb19ib290c3RyYXAKKworZm9yIGhhbmRsaW5nIE9FIGNyb3NzLWNhbmFkaWFuIGJ1aWxkcy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL21ha2UuYmFzaCB8IDQgKystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAoraW5kZXggNzg4ODJkOS4uMjU5NDNkMCAxMDA3NTUKKy0tLSBhL3NyYy9tYWtlLmJhc2gKKysrKyBiL3NyYy9tYWtlLmJhc2gKK0BAIC0xNjMsNyArMTYzLDcgQEAgaWYgWyAiJEdPUk9PVF9CT09UU1RSQVAiID0gIiRHT1JPT1QiIF07IHRoZW4KKyAJZXhpdCAxCisgZmkKKyBybSAtZiBjbWQvZGlzdC9kaXN0CistR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgR09ST09UPSIkR09ST09UX0JPT1RTVFJBUCIgR09PUz0iIiBHT0FSQ0g9IiIgIiRHT1JPT1RfQk9PVFNUUkFQL2Jpbi9nbyIgYnVpbGQgLW8gY21kL2Rpc3QvZGlzdCAuL2NtZC9kaXN0CisgCisgIyAtZSBkb2Vzbid0IHByb3BhZ2F0ZSBvdXQgb2YgZXZhbCwgc28gY2hlY2sgc3VjY2VzcyBieSBoYW5kLgorIGV2YWwgJCguL2NtZC9kaXN0L2Rpc3QgZW52IC1wIHx8IGVjaG8gRkFJTD10cnVlKQorQEAgLTE5NCw3ICsxOTQsNyBAQCBmaQorICMgUnVuIGRpc3QgYm9vdHN0cmFwIHRvIGNvbXBsZXRlIG1ha2UuYmFzaC4KKyAjIEJvb3RzdHJhcCBpbnN0YWxscyBhIHByb3BlciBjbWQvZGlzdCwgYnVpbHQgd2l0aCB0aGUgbmV3IHRvb2xjaGFpbi4KKyAjIFRocm93IG91cnMsIGJ1aWx0IHdpdGggR28gMS40LCBhd2F5IGFmdGVyIGJvb3RzdHJhcC4KKy0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkdmZsYWcgJEdPX0RJU1RGTEFHUyAiJEAiCisrQ0M9IiR7QlVJTERfQ0M6LSR7Q0N9fSIgLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJHZmbGFnICRHT19ESVNURkxBR1MgIiRAIgorIHJtIC1mIC4vY21kL2Rpc3QvZGlzdAorIAorICMgRE8gTk9UIEFERCBBTlkgTkVXIENPREUgSEVSRS4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA2LWNtZC1kaXN0LXNlcGFyYXRlLWhvc3QtYW5kLXRhcmdldC1idWlsZHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMwZDVkYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNi1jbWQtZGlzdC1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCkBAIC0wLDAgKzEsMjgyIEBACitGcm9tIGZlMGZjYWY0M2VmM2FhYjgxNTQxZGFkMmE3MWI0NjI1NGRjNGNmNmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU2F0LCAxNyBGZWIgMjAxOCAxMDowMzo0OCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBjbWQvZGlzdDogc2VwYXJhdGUgaG9zdCBhbmQgdGFyZ2V0IGJ1aWxkcworCitDaGFuZ2UgdGhlIGRpc3QgdG9vbCB0byBhbGxvdyBmb3IgT0Utc3R5bGUgY3Jvc3MtCithbmQgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzOgorCisgLSBjb21tYW5kIGZsYWdzIC0taG9zdC1vbmx5IGFuZCAtLXRhcmdldCBvbmx5IGFyZSBhZGRlZDsKKyAgIGlmIG9uZSBpcyBwcmVzZW50LCB0aGUgb3RoZXIgY2hhbmdlcyBtZW50aW9uZWQgYmVsb3cKKyAgIHRha2UgZWZmZWN0LCBhbmQgYXJndW1lbnRzIG1heSBhbHNvIGJlIHNwZWNpZmllZCBvbgorICAgdGhlIGNvbW1hbmQgbGluZSB0byBlbnVtZXJhdGUgdGhlIHBhY2thZ2UocykgdG8gYmUKKyAgIGJ1aWx0LgorCisgLSBmb3IgT0UgY3Jvc3MgYnVpbGRzLCBnb19ib290c3RyYXAgaXMgYWx3YXlzIGJ1aWx0IGZvcgorICAgdGhlIGN1cnJlbnQgYnVpbGQgaG9zdCwgYW5kIGlzIG1vdmVkLCBhbG9uZyB3aXRoIHRoZSBzdXBwb3J0aW5nCisgICB0b29sY2hhaW4gKGFzbSwgY29tcGlsZSwgZXRjLikgdG8gYSBzZXBhcmF0ZSAnbmF0aXZlX25hdGl2ZScKKyAgIGRpcmVjdG9yeSB1bmRlciBHT1JPT1QvcGtnL3Rvb2wuCisKKyAtIGdvX2Jvb3RzdHJhcCBpcyBub3QgYXV0b21hdGljYWxseSByZW1vdmVkIGFmdGVyIHRoZSBidWlsZCwKKyAgIHNvIGl0IGNhbiBiZSByZXVzZWQgbGF0ZXIgKGUuZy4sIGJ1aWxkaW5nIGJvdGggc3RhdGljIGFuZAorICAgc2hhcmVkIHJ1bnRpbWUpLgorCitOb3RlIHRoYXQgZm9yIC0taG9zdC1vbmx5IGJ1aWxkcywgaXQgd291bGQgYmUgbmljZSB0byBzcGVjaWZ5CitqdXN0IHRoZSAiY21kIiBwYWNrYWdlIHRvIGJ1aWxkIG9ubHkgdGhlIGdvIGNvbW1hbmRzL3Rvb2xzLAordGhlIHN0YWxlbmVzcyBjaGVja3MgaW4gdGhlIGRpc3QgdG9vbCB3aWxsIGZhaWwgaWYgdGhlICJzdGQiCitsaWJyYXJ5IGhhcyBub3QgYWxzbyBiZWVuIGJ1aWx0LiAgU28gaG9zdC1vbmx5IGJ1aWxkcyBoYXZlIHRvCitidWlsZCBldmVyeXRoaW5nIGFueXdheS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworbW9yZSBkaXN0IGNsZWFudXAKKworLS0tCisgc3JjL2NtZC9kaXN0L2J1aWxkLmdvIHwgMTUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2Rpc3QvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZGlzdC9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZGlzdC9idWlsZC5nbworQEAgLTM5LDYgKzM5LDcgQEAgdmFyICgKKyAJZ29sZGZsYWdzICAgICAgICBzdHJpbmcKKyAJd29ya2RpciAgICAgICAgICBzdHJpbmcKKyAJdG9vbGRpciAgICAgICAgICBzdHJpbmcKKysJYnVpbGRfdG9vbGRpcgkgc3RyaW5nCisgCW9sZGdvb3MgICAgICAgICAgc3RyaW5nCisgCW9sZGdvYXJjaCAgICAgICAgc3RyaW5nCisgCWV4ZSAgICAgICAgICAgICAgc3RyaW5nCitAQCAtNTAsNiArNTEsNyBAQCB2YXIgKAorIAorIAlyZWJ1aWxkYWxsICAgYm9vbAorIAlkZWZhdWx0Y2xhbmcgYm9vbAorKwljcm9zc0J1aWxkICAgYm9vbAorIAorIAl2ZmxhZyBpbnQgLy8gdmVyYm9zaXR5CisgKQorQEAgLTIzMSw2ICsyMzMsOCBAQCBmdW5jIHhpbml0KCkgeworIAlpZiB0b29sZGlyID0gb3MuR2V0ZW52KCJHT1RPT0xESVIiKTsgdG9vbGRpciA9PSAiIiB7CisgCQl0b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sLyVzXyVzIiwgZ29yb290LCBnb2hvc3RvcywgZ29ob3N0YXJjaCkKKyAJfQorKwlidWlsZF90b29sZGlyID0gcGF0aGYoIiVzL3BrZy90b29sL25hdGl2ZV9uYXRpdmUiLCBnb3Jvb3QpCisrCisgfQorIAorIC8vIGNvbXBpbGVyRW52IHJldHVybnMgYSBtYXAgZnJvbSAiZ29vcy9nb2FyY2giIHRvIHRoZQorQEAgLTI2MCw3ICsyNjQsNiBAQCBmdW5jIGNvbXBpbGVyRW52KGVudk5hbWUsIGRlZiBzdHJpbmcpIG1hCisgCQlpZiBnb2hvc3RvcyAhPSBnb29zIHx8IGdvaG9zdGFyY2ggIT0gZ29hcmNoIHsKKyAJCQltW2dvaG9zdG9zKyIvIitnb2hvc3RhcmNoXSA9IG1bIiJdCisgCQl9CistCQltWyIiXSA9IGVudgorIAl9CisgCisgCWZvciBfLCBnb29zIDo9IHJhbmdlIG9rZ29vcyB7CitAQCAtNDg3LDggKzQ5MCwxMCBAQCBmdW5jIHNldHVwKCkgeworIAkvLyBXZSBrZWVwIGl0IGluIHBrZy8sIGp1c3QgbGlrZSB0aGUgb2JqZWN0IGRpcmVjdG9yeSBhYm92ZS4KKyAJaWYgcmVidWlsZGFsbCB7CisgCQl4cmVtb3ZlYWxsKHRvb2xkaXIpCisrCQl4cmVtb3ZlYWxsKGJ1aWxkX3Rvb2xkaXIpCisgCX0KKyAJeG1rZGlyYWxsKHRvb2xkaXIpCisrCXhta2RpcmFsbChidWlsZF90b29sZGlyKQorIAorIAkvLyBSZW1vdmUgdG9vbCBiaW5hcmllcyBmcm9tIGJlZm9yZSB0aGUgdG9vbC9nb2hvc3Rvc19nb2hvc3RhcmNoCisgCXhyZW1vdmVhbGwocGF0aGYoIiVzL2Jpbi90b29sIiwgZ29yb290KSkKK0BAIC0xMTU1LDExICsxMTYwLDI5IEBAIGZ1bmMgY21kYm9vdHN0cmFwKCkgeworIAorIAl2YXIgbm9CYW5uZXIgYm9vbAorIAl2YXIgZGVidWcgYm9vbAorKwl2YXIgaG9zdE9ubHkgYm9vbAorKwl2YXIgdGFyZ2V0T25seSBib29sCisrCXZhciB0b0J1aWxkID0gW11zdHJpbmcgeyAic3RkIiwgImNtZCIgfQorKworIAlmbGFnLkJvb2xWYXIoJnJlYnVpbGRhbGwsICJhIiwgcmVidWlsZGFsbCwgInJlYnVpbGQgYWxsIikKKyAJZmxhZy5Cb29sVmFyKCZkZWJ1ZywgImQiLCBkZWJ1ZywgImVuYWJsZSBkZWJ1Z2dpbmcgb2YgYm9vdHN0cmFwIHByb2Nlc3MiKQorIAlmbGFnLkJvb2xWYXIoJm5vQmFubmVyLCAibm8tYmFubmVyIiwgbm9CYW5uZXIsICJkbyBub3QgcHJpbnQgYmFubmVyIikKKysJZmxhZy5Cb29sVmFyKCZob3N0T25seSwgImhvc3Qtb25seSIsIGhvc3RPbmx5LCAiYnVpbGQgb25seSBob3N0IGJpbmFyaWVzLCBub3QgdGFyZ2V0IikKKysJZmxhZy5Cb29sVmFyKCZ0YXJnZXRPbmx5LCAidGFyZ2V0LW9ubHkiLCB0YXJnZXRPbmx5LCAiYnVpbGQgb25seSB0YXJnZXQgYmluYXJpZXMsIG5vdCBob3N0IikKKyAKKy0JeGZsYWdwYXJzZSgwKQorKwl4ZmxhZ3BhcnNlKC0xKQorKworKwlpZiAoaG9zdE9ubHkgJiYgdGFyZ2V0T25seSkgeworKwkJZmF0YWxmKCJzcGVjaWZ5IG9ubHkgb25lIG9mIC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCX0KKysJY3Jvc3NCdWlsZCA9IGhvc3RPbmx5IHx8IHRhcmdldE9ubHkKKysJaWYgZmxhZy5OQXJnKCkgPiAwIHsKKysJCWlmIGNyb3NzQnVpbGQgeworKwkJCXRvQnVpbGQgPSBmbGFnLkFyZ3MoKQorKwkJfSBlbHNlIHsKKysJCQlmYXRhbGYoInBhY2thZ2UgbmFtZXMgbm90IHBlcm1pdHRlZCB3aXRob3V0IC0taG9zdC1vbmx5IG9yIC0tdGFyZ2V0LW9ubHlcbiIpCisrCQl9CisrCX0KKyAKKyAJaWYgZGVidWcgeworIAkJLy8gY21kL2J1aWxkaWQgaXMgdXNlZCBpbiBkZWJ1ZyBtb2RlLgorQEAgLTEyMDcsOCArMTIzMCwxMyBAQCBmdW5jIGNtZGJvb3RzdHJhcCgpIHsKKyAJCXhwcmludGYoIlxuIikKKyAJfQorIAorLQlnb2djZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0dDRkxBR1MiKSAvLyB3ZSB3ZXJlIHVzaW5nICRCT09UX0dPX0dDRkxBR1MgdW50aWwgbm93CistCWdvbGRmbGFncyA9IG9zLkdldGVudigiR09fTERGTEFHUyIpCisrCS8vIEZvciBzcGxpdCBob3N0L3RhcmdldCBjcm9zcy9jcm9zcy1jYW5hZGlhbiBidWlsZHMsIHdlIGRvbid0CisrCS8vIHdhbnQgdG8gYmUgc2V0dGluZyB0aGVzZSBmbGFncyB1bnRpbCBhZnRlciB3ZSBoYXZlIGNvbXBpbGVkCisrCS8vIHRoZSB0b29sY2hhaW4gdGhhdCBydW5zIG9uIHRoZSBidWlsZCBob3N0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJZ29nY2ZsYWdzID0gb3MuR2V0ZW52KCJHT19HQ0ZMQUdTIikgLy8gd2Ugd2VyZSB1c2luZyAkQk9PVF9HT19HQ0ZMQUdTIHVudGlsIG5vdworKwkJZ29sZGZsYWdzID0gb3MuR2V0ZW52KCJHT19MREZMQUdTIikKKysJfQorIAlnb0Jvb3RzdHJhcCA6PSBwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikKKyAJY21kR28gOj0gcGF0aGYoIiVzL2dvIiwgZ29iaW4pCisgCWlmIGRlYnVnIHsKK0BAIC0xMjM3LDcgKzEyNjUsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCQl4cHJpbnRmKCJcbiIpCisgCX0KKyAJeHByaW50ZigiQnVpbGRpbmcgR28gdG9vbGNoYWluMiB1c2luZyBnb19ib290c3RyYXAgYW5kIEdvIHRvb2xjaGFpbjEuXG4iKQorLQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCW9zLlNldGVudigiQ0MiLCBkZWZhdWx0Y2NbIiJdKQorKwl9IGVsc2UgeworKwkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJfQorIAlnb0luc3RhbGwoZ29Cb290c3RyYXAsIGFwcGVuZChbXXN0cmluZ3siLWkifSwgdG9vbGNoYWluLi4uKS4uLikKKyAJaWYgZGVidWcgeworIAkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2NvbXBpbGUiLCB0b29sZGlyKSwgIi1WPWZ1bGwiKQorQEAgLTEyNzQsNTAgKzEzMDYsODQgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgYXBwZW5kKHRvb2xjaGFpbiwgInJ1bnRpbWUvaW50ZXJuYWwvc3lzIikuLi4pCisgCistCWlmIGdvb3MgPT0gb2xkZ29vcyAmJiBnb2FyY2ggPT0gb2xkZ29hcmNoIHsKKy0JCS8vIENvbW1vbiBjYXNlIC0gbm90IHNldHRpbmcgdXAgZm9yIGNyb3NzLWNvbXBpbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorKwlpZiBjcm9zc0J1aWxkIHsKKysJCWdvZ2NmbGFncyA9IG9zLkdldGVudigiR09fR0NGTEFHUyIpCisrCQlnb2xkZmxhZ3MgPSBvcy5HZXRlbnYoIkdPX0xERkxBR1MiKQorKwkJdG9vbF9maWxlcywgXyA6PSBmaWxlcGF0aC5HbG9iKHBhdGhmKCIlcy8qIiwgdG9vbGRpcikpCisrCQlmb3IgXywgZiA6PSByYW5nZSB0b29sX2ZpbGVzIHsKKysJCQljb3B5ZmlsZShwYXRoZigiJXMvJXMiLCBidWlsZF90b29sZGlyLCBmaWxlcGF0aC5CYXNlKGYpKSwgZiwgd3JpdGVFeGVjKQorKwkJCXhyZW1vdmUoZikKKysJCX0KKysJCW9zLlNldGVudigiR09UT09MRElSIiwgYnVpbGRfdG9vbGRpcikKKysJCWdvQm9vdHN0cmFwID0gcGF0aGYoIiVzL2dvX2Jvb3RzdHJhcCIsIGJ1aWxkX3Rvb2xkaXIpCisrCQlpZiBob3N0T25seSB7CisrCQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorKwkJCWlmIHZmbGFnID4gMCB7CisrCQkJCXhwcmludGYoIlxuIikKKysJCQl9CisrCQkJeHByaW50ZigiQnVpbGRpbmcgJXMgZm9yIGhvc3QsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgbmVjZXNzYXJpbHkgcnVuIHRoZSBjbWRHbyBiaW5hcnkKKysKKysJCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJfSBlbHNlIGlmIHRhcmdldE9ubHkgeworKwkJCWdvb3MgPSBvbGRnb29zCisrCQkJZ29hcmNoID0gb2xkZ29hcmNoCisrCQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKysJCQlvcy5TZXRlbnYoIkdPQVJDSCIsIGdvYXJjaCkKKysJCQlvcy5TZXRlbnYoIkNDIiwgY29tcGlsZXJFbnZMb29rdXAoZGVmYXVsdGNjLCBnb29zLCBnb2FyY2gpKQorKwkJCXhwcmludGYoIkJ1aWxkaW5nICVzIGZvciB0YXJnZXQsICVzLyVzLlxuIiwgc3RyaW5ncy5Kb2luKHRvQnVpbGQsICIsIiksIGdvb3MsIGdvYXJjaCkKKysJCQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRvQnVpbGQuLi4pCisrCQkJY2hlY2tOb3RTdGFsZShnb0Jvb3RzdHJhcCwgdG9CdWlsZC4uLikKKysJCQkvLyBTa2lwIGNtZEdvIHN0YWxlbmVzcyBjaGVja3MgaGVyZSwgc2luY2Ugd2UgY2FuJ3QgcnVuIHRoZSB0YXJnZXQncyBjbWRHbyBiaW5hcnkKKyAJCX0KKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCX0gZWxzZSB7CistCQkvLyBHT09TL0dPQVJDSCBkb2VzIG5vdCBtYXRjaCBHT0hPU1RPUy9HT0hPU1RBUkNILgorLQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCistCQkvLyBydW4gR09PUy9HT0FSQ0ggaW5zdGFsbGF0aW9uLgorLQkJdGltZWxvZygiYnVpbGQiLCAiaG9zdCB0b29sY2hhaW4iKQorLQkJaWYgdmZsYWcgPiAwIHsKKy0JCQl4cHJpbnRmKCJcbiIpCisrCisrCQlpZiBnb29zID09IG9sZGdvb3MgJiYgZ29hcmNoID09IG9sZGdvYXJjaCB7CisrCQkJLy8gQ29tbW9uIGNhc2UgLSBub3Qgc2V0dGluZyB1cCBmb3IgY3Jvc3MtY29tcGlsYXRpb24uCisrCQkJdGltZWxvZygiYnVpbGQiLCAidG9vbGNoYWluIikKKysJCQlpZiB2ZmxhZyA+IDAgeworKwkJCQl4cHJpbnRmKCJcbiIpCisrCQkJfQorKwkJCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisrCQl9IGVsc2UgeworKwkJCS8vIEdPT1MvR09BUkNIIGRvZXMgbm90IG1hdGNoIEdPSE9TVE9TL0dPSE9TVEFSQ0guCisrCQkJLy8gRmluaXNoIEdPSE9TVE9TL0dPSE9TVEFSQ0ggaW5zdGFsbGF0aW9uIGFuZCB0aGVuCisrCQkJLy8gcnVuIEdPT1MvR09BUkNIIGluc3RhbGxhdGlvbi4KKysJCQl0aW1lbG9nKCJidWlsZCIsICJob3N0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorKwkJCWdvSW5zdGFsbChnb0Jvb3RzdHJhcCwgInN0ZCIsICJjbWQiKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsICJzdGQiLCAiY21kIikKKysJCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisrCisrCQkJdGltZWxvZygiYnVpbGQiLCAidGFyZ2V0IHRvb2xjaGFpbiIpCisrCQkJaWYgdmZsYWcgPiAwIHsKKysJCQkJeHByaW50ZigiXG4iKQorKwkJCX0KKysJCQlnb29zID0gb2xkZ29vcworKwkJCWdvYXJjaCA9IG9sZGdvYXJjaAorKwkJCW9zLlNldGVudigiR09PUyIsIGdvb3MpCisrCQkJb3MuU2V0ZW52KCJHT0FSQ0giLCBnb2FyY2gpCisrCQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKysJCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIHRhcmdldCwgJXMvJXMuXG4iLCBnb29zLCBnb2FyY2gpCisgCQl9CistCQl4cHJpbnRmKCJCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICVzLyVzLlxuIiwgZ29vcywgZ29hcmNoKQorIAkJZ29JbnN0YWxsKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGdvQm9vdHN0cmFwLCAic3RkIiwgImNtZCIpCisgCQljaGVja05vdFN0YWxlKGNtZEdvLCAic3RkIiwgImNtZCIpCisgCistCQl0aW1lbG9nKCJidWlsZCIsICJ0YXJnZXQgdG9vbGNoYWluIikKKy0JCWlmIHZmbGFnID4gMCB7CistCQkJeHByaW50ZigiXG4iKQorLQkJfQorLQkJZ29vcyA9IG9sZGdvb3MKKy0JCWdvYXJjaCA9IG9sZGdvYXJjaAorLQkJb3MuU2V0ZW52KCJHT09TIiwgZ29vcykKKy0JCW9zLlNldGVudigiR09BUkNIIiwgZ29hcmNoKQorLQkJb3MuU2V0ZW52KCJDQyIsIGNvbXBpbGVyRW52TG9va3VwKGRlZmF1bHRjYywgZ29vcywgZ29hcmNoKSkKKy0JCXhwcmludGYoIkJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgdGFyZ2V0LCAlcy8lcy5cbiIsIGdvb3MsIGdvYXJjaCkKKy0JfQorLQl0YXJnZXRzIDo9IFtdc3RyaW5neyJzdGQiLCAiY21kIn0KKy0JaWYgZ29vcyA9PSAianMiICYmIGdvYXJjaCA9PSAid2FzbSIgeworLQkJLy8gU2tpcCB0aGUgY21kIHRvb2xzIGZvciBqcy93YXNtLiBUaGV5J3JlIG5vdCB1c2FibGUuCistCQl0YXJnZXRzID0gdGFyZ2V0c1s6MV0KKy0JfQorLQlnb0luc3RhbGwoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIHRhcmdldHMuLi4pCistCWNoZWNrTm90U3RhbGUoY21kR28sIHRhcmdldHMuLi4pCistCWlmIGRlYnVnIHsKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksICItVj1mdWxsIikKKy0JCXJ1bigiIiwgU2hvd091dHB1dHxDaGVja0V4aXQsIHBhdGhmKCIlcy9idWlsZGlkIiwgdG9vbGRpciksIHBhdGhmKCIlcy9wa2cvJXNfJXMvcnVudGltZS9pbnRlcm5hbC9zeXMuYSIsIGdvcm9vdCwgZ29vcywgZ29hcmNoKSkKKy0JCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorLQkJY29weWZpbGUocGF0aGYoIiVzL2NvbXBpbGU0IiwgdG9vbGRpciksIHBhdGhmKCIlcy9jb21waWxlIiwgdG9vbGRpciksIHdyaXRlRXhlYykKKysJCWlmIGRlYnVnIHsKKysJCQlydW4oIiIsIFNob3dPdXRwdXR8Q2hlY2tFeGl0LCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCAiLVY9ZnVsbCIpCisrCQkJcnVuKCIiLCBTaG93T3V0cHV0fENoZWNrRXhpdCwgcGF0aGYoIiVzL2J1aWxkaWQiLCB0b29sZGlyKSwgcGF0aGYoIiVzL3BrZy8lc18lcy9ydW50aW1lL2ludGVybmFsL3N5cy5hIiwgZ29yb290LCBnb29zLCBnb2FyY2gpKQorKwkJCWNoZWNrTm90U3RhbGUoZ29Cb290c3RyYXAsIGFwcGVuZCh0b29sY2hhaW4sICJydW50aW1lL2ludGVybmFsL3N5cyIpLi4uKQorKwkJCWNvcHlmaWxlKHBhdGhmKCIlcy9jb21waWxlNCIsIHRvb2xkaXIpLCBwYXRoZigiJXMvY29tcGlsZSIsIHRvb2xkaXIpLCB3cml0ZUV4ZWMpCisrCQl9CisgCX0KKyAKKyAJLy8gQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4KK0BAIC0xMzM1LDcgKzE0MDEsMTEgQEAgZnVuYyBjbWRib290c3RyYXAoKSB7CisgCX0KKyAKKyAJLy8gUmVtb3ZlIGdvX2Jvb3RzdHJhcCBub3cgdGhhdCB3ZSdyZSBkb25lLgorLQl4cmVtb3ZlKHBhdGhmKCIlcy9nb19ib290c3RyYXAiLCB0b29sZGlyKSkKKysJLy8gRXhjZXB0IHRoYXQgZm9yIHNwbGl0IGhvc3QvdGFyZ2V0IGNyb3NzLWJ1aWxkcywgd2UgbmVlZCB0bworKwkvLyBrZWVwIGl0LgorKwlpZiAhIGNyb3NzQnVpbGQgeworKwkJeHJlbW92ZShwYXRoZigiJXMvZ29fYm9vdHN0cmFwIiwgdG9vbGRpcikpCisrCX0KKyAKKyAJLy8gUHJpbnQgdHJhaWxpbmcgYmFubmVyIHVubGVzcyBpbnN0cnVjdGVkIG90aGVyd2lzZS4KKyAJaWYgIW5vQmFubmVyIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwNy1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWVmOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA3LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoCkBAIC0wLDAgKzEsMTA2IEBACitGcm9tIDdjYzYwYjM4ODdiZTJkNTY3NGI5ZjVkNDIyZDAyMjk3NmNmMjA1ZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogRnJpLCAyIE1hciAyMDE4IDA2OjAwOjIwIC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogbWFrZSBHT1JPT1QgcHJlY2lvdXMgYnkgZGVmYXVsdAorCitUaGUgZ28gYnVpbGQgdG9vbCBub3JtYWxseSByZWJ1aWxkcyB3aGF0ZXZlciBpdCBkZXRlY3RzIGlzCitzdGFsZS4gIFRoaXMgY2FuIGJlIGEgcHJvYmxlbSB3aGVuIEdPUk9PVCBpcyBpbnRlbmRlZCB0bworYmUgcmVhZC1vbmx5IGFuZCB0aGUgZ28gcnVudGltZSBoYXMgYmVlbiBidWlsdCBhcyBhIHNoYXJlZAorbGlicmFyeSwgc2luY2Ugd2UgZG9uJ3Qgd2FudCBldmVyeSBhcHBsaWNhdGlvbiB0byBiZSByZWJ1aWxkaW5nCit0aGUgc2hhcmVkIHJ1bnRpbWUgLSBwYXJ0aWN1bGFybHkgaW4gY3Jvc3MtYnVpbGQvcGFja2FnaW5nCitzZXR1cHMsIHNpbmNlIHRoYXQgd291bGQgbGVhZCB0byAnYWJpIG1pc21hdGNoJyBydW50aW1lIGVycm9ycy4KKworVGhpcyBwYXRjaCBwcmV2ZW50cyB0aGUgaW5zdGFsbCBhbmQgbGlua3NoYXJlZCBhY3Rpb25zIGZyb20KK2luc3RhbGxpbmcgdG8gR09ST09UIHVubGVzcyBvdmVycmlkZGVuIHdpdGggdGhlIEdPUk9PVF9PVkVSUklERQorZW52aXJvbm1lbnQgdmFyaWFibGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCisKK1NpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+CisKKy0tLQorIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28gfCAgMyArKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gIHwgIDUgKysrKysKKyBzcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbyAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKQorCitJbmRleDogZ28vc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2FjdGlvbi5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9hY3Rpb24uZ28KK0BAIC02MDAsNiArNjAwLDkgQEAgZnVuYyAoYiAqQnVpbGRlcikgYWRkVHJhbnNpdGl2ZUxpbmtEZXBzKAorIAkJCWlmIHAxID09IG5pbCB8fCBwMS5TaGxpYiA9PSAiIiB8fCBoYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildIHsKKyAJCQkJY29udGludWUKKyAJCQl9CisrCQkJaWYgZ29Sb290UHJlY2lvdXMgJiYgKHAxLlN0YW5kYXJkIHx8IHAxLkdvcm9vdCkgeworKwkJCQljb250aW51ZQorKwkJCX0KKyAJCQloYXZlU2hsaWJbZmlsZXBhdGguQmFzZShwMS5TaGxpYildID0gdHJ1ZQorIAkJCS8vIFRPRE8ocnNjKTogVGhlIHVzZSBvZiBNb2RlSW5zdGFsbCBoZXJlIGlzIHN1c3BlY3QsIGJ1dCBpZiB3ZSBvbmx5IGRvIE1vZGVCdWlsZCwKKyAJCQkvLyB3ZSdsbCBlbmQgdXAgYnVpbGRpbmcgYW4gb3ZlcmFsbCBsaWJyYXJ5IG9yIGV4ZWN1dGFibGUgdGhhdCBkZXBlbmRzIGF0IHJ1bnRpbWUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTE0Nyw2ICsxNDcsNyBAQCBTZWUgYWxzbzogZ28gaW5zdGFsbCwgZ28gZ2V0LCBnbyBjbGVhbi4KKyB9CisgCisgY29uc3QgY29uY3VycmVudEdDQmFja2VuZENvbXBpbGF0aW9uRW5hYmxlZEJ5RGVmYXVsdCA9IHRydWUKKyt2YXIgZ29Sb290UHJlY2lvdXMgYm9vbCA9IHRydWUKKyAKKyBmdW5jIGluaXQoKSB7CisgCS8vIGJyZWFrIGluaXQgY3ljbGUKK0BAIC0xNjAsNiArMTYxLDEwIEBAIGZ1bmMgaW5pdCgpIHsKKyAKKyAJQWRkQnVpbGRGbGFncyhDbWRCdWlsZCkKKyAJQWRkQnVpbGRGbGFncyhDbWRJbnN0YWxsKQorKworKwlpZiB4IDo9IG9zLkdldGVudigiR09ST09UX09WRVJSSURFIik7IHggIT0gIiIgeworKwkJZ29Sb290UHJlY2lvdXMgPSBmYWxzZQorKwl9CisgfQorIAorIC8vIE5vdGUgdGhhdCBmbGFncyBjb25zdWx0ZWQgYnkgb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdvLm9yaWcvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2V4ZWMuZ28KKysrKyBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvZXhlYy5nbworQEAgLTQzNiw2ICs0MzYsMjMgQEAgZnVuYyAoYiAqQnVpbGRlcikgYnVpbGQoYSAqQWN0aW9uKSAoZXJyCisgCQlyZXR1cm4gZm10LkVycm9yZigibWlzc2luZyBvciBpbnZhbGlkIGJpbmFyeS1vbmx5IHBhY2thZ2U7IGV4cGVjdGVkIGZpbGUgJXEiLCBhLlBhY2thZ2UuVGFyZ2V0KQorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIChhLlBhY2thZ2UuU3RhbmRhcmQgfHwgYS5QYWNrYWdlLkdvcm9vdCkgeworKwkJXywgZXJyIDo9IG9zLlN0YXQoYS5QYWNrYWdlLlRhcmdldCkKKysJCWlmIGVyciA9PSBuaWwgeworKwkJCWEuYnVpbHQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5UYXJnZXQgPSBhLlBhY2thZ2UuVGFyZ2V0CisrCQkJYS5idWlsZElEID0gYi5maWxlSGFzaChhLlBhY2thZ2UuVGFyZ2V0KQorKwkJCWEuUGFja2FnZS5TdGFsZSA9IGZhbHNlCisrCQkJYS5QYWNrYWdlLlN0YWxlUmVhc29uID0gIkdPUk9PVC1yZXNpZGVudCBwYWNrYWdlIgorKwkJCXJldHVybiBuaWwKKysJCX0KKysJCWEuUGFja2FnZS5TdGFsZSA9IHRydWUKKysJCWEuUGFja2FnZS5TdGFsZVJlYXNvbiA9ICJtaXNzaW5nIG9yIGludmFsaWQgR09ST09ULXJlc2lkZW50IHBhY2thZ2UiCisrCQlpZiBiLklzQ21kTGlzdCB7CisrCQkJcmV0dXJuIG5pbAorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KK0BAIC0xNDM4LDYgKzE0NTUsMTQgQEAgZnVuYyBCdWlsZEluc3RhbGxGdW5jKGIgKkJ1aWxkZXIsIGEgKkFjdAorIAkJcmV0dXJuIG5pbAorIAl9CisgCisrCWlmIGdvUm9vdFByZWNpb3VzICYmIGEuUGFja2FnZSAhPSBuaWwgeworKwkJcCA6PSBhLlBhY2thZ2UKKysJCWlmIHAuU3RhbmRhcmQgfHwgcC5Hb3Jvb3QgeworKwkJCWVyciA6PSBmbXQuRXJyb3JmKCJhdHRlbXB0aW5nIHRvIGluc3RhbGwgcGFja2FnZSAlcyBpbnRvIHJlYWQtb25seSBHT1JPT1QiLCBwLkltcG9ydFBhdGgpCisrCQkJcmV0dXJuIGVycgorKwkJfQorKwl9CisrCisgCWlmIGVyciA6PSBiLk1rZGlyKGEuT2JqZGlyKTsgZXJyICE9IG5pbCB7CisgCQlyZXR1cm4gZXJyCisgCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOC11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjVjZjQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA4LXVzZS1HT0JVSUxETU9ERS10by1zZXQtYnVpbGRtb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gMGUwYzI0N2YwY2FlYzIzNTI4ODg5ZmYwOWQ5ODM0OGNiYTkwMjhmMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTU6MDI6MzIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKKworV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKK3RvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCisKK0FkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0CitidWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCisKK1JlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKK1Vwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKK2NtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KKworU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK0luZGV4OiBnby9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnby5vcmlnL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworKysrIGdvL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbworQEAgLTIyMyw3ICsyMjMsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7CisgCisgCWNtZC5GbGFnLlZhcigmbG9hZC5CdWlsZEFzbWZsYWdzLCAiYXNtZmxhZ3MiLCAiIikKKyAJY21kLkZsYWcuVmFyKGJ1aWxkQ29tcGlsZXJ7fSwgImNvbXBpbGVyIiwgIiIpCistCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJaWYgYm0gOj0gb3MuR2V0ZW52KCJHT0JVSUxETU9ERSIpOyBibSAhPSAiIiB7CisrCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsIGJtLCAiIikKKysJfSBlbHNlIHsKKysJCWNtZC5GbGFnLlN0cmluZ1ZhcigmY2ZnLkJ1aWxkQnVpbGRtb2RlLCAiYnVpbGRtb2RlIiwgImRlZmF1bHQiLCAiIikKKysJfQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2ZsYWdzLCAiZ2NmbGFncyIsICIiKQorIAljbWQuRmxhZy5WYXIoJmxvYWQuQnVpbGRHY2Nnb2ZsYWdzLCAiZ2NjZ29mbGFncyIsICIiKQorIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZE1vZCwgIm1vZCIsICIiLCAiIikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuMTIvMDAwOS1sZC1yZXBsYWNlLWdsaWJjLWR5bmFtaWMtbGlua2VyLXdpdGgtbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDBjZjRiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS4xMi8wMDA5LWxkLXJlcGxhY2UtZ2xpYmMtZHluYW1pYy1saW5rZXItd2l0aC1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEyIEBACitGcm9tIDM1ZWE0YmUzNGU5NDkxMmIwMDgzN2UwZjdjNzM4NWYyZTk4ZmU3NjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgorRGF0ZTogU3VuLCAxOCBGZWIgMjAxOCAwODoyNDowNSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBsZDogcmVwbGFjZSBnbGliYyBkeW5hbWljIGxpbmtlciB3aXRoIG11c2wKKworUmV3b3JrIG9mIHBhdGNoIGJ5IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Citmb3IgZ28gMS4xMC4gIFNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsbHkgb24KK211c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbUmVhbCBmaXggc2hvdWxkIGJlIHBvcnRhYmxlIGFjcm9zcyBsaWJjc10KKworU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KKworLS0tCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28gICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvICAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28gfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbyAgfCAyICstCisgc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28gICAgfCAyICstCisgOCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KKysrKyBiL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KK0BAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCVBFcmVsb2MxOiAgICAgICAgIHBlcmVsb2MxLAorIAkJVExTSUV0b0xFOiAgICAgICAgdGxzSUV0b0xFLAorIAorLQkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbGludXgteDg2LTY0LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAgICIvbGliNjQvbGQtbXVzbC14ODYtNjQuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi9saWJleGVjL2xkLWVsZi5zby4xIiwKKyAJCU9wZW5ic2RkeW5sZDogICAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgICAiL2xpYmV4ZWMvbGQuZWxmX3NvIiwKKy0tLSBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hcm0vb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbworQEAgLTU5LDcgKzU5LDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCQlQRXJlbG9jMTogICAgICAgICBwZXJlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYi9sZC1saW51eC5zby4zIiwgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQorKwkJTGludXhkeW5sZDogICAgICIvbGliL2xkLW11c2wtYXJtaGYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIi91c3IvbGliZXhlYy9sZC5zbyIsCisgCQlOZXRic2RkeW5sZDogICAgIi9saWJleGVjL2xkLmVsZl9zbyIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYi9sZC1saW51eC1hYXJjaDY0LnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1hYXJjaDY0LnNvLjEiLAorIAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KK0BAIC02MCw3ICs2MCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICIvbGliL2xkLnNvLjEiLAorKwkJTGludXhkeW5sZDogIi9saWIvbGQtbXVzbC1taXBzbGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KK0BAIC01OSw3ICs1OSw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCUdlbnRleHQ6ICAgICAgICAgIGdlbnRleHQsCisgCQlNYWNob3JlbG9jMTogICAgICBtYWNob3JlbG9jMSwKKyAKKy0JCUxpbnV4ZHlubGQ6ICAgICAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAgICAgIi9saWI2NC9sZC1tdXNsLW1pcHM2NGxlLnNvLjEiLAorIAkJRnJlZWJzZGR5bmxkOiAgICJYWFgiLAorIAkJT3BlbmJzZGR5bmxkOiAgICJYWFgiLAorIAkJTmV0YnNkZHlubGQ6ICAgICJYWFgiLAorLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbworQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgKCpzeXMuQXJjaCwgbGQuQXJjaCkgeworIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCisgCQkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEsCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIsCisgCisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCisgCQlPcGVuYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCisrKysgYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvczM5MHgvb2JqLmdvCitAQCAtNTcsNyArNTcsNyBAQCBmdW5jIEluaXQoKSAoKnN5cy5BcmNoLCBsZC5BcmNoKSB7CisgCQlHZW50ZXh0OiAgICAgICAgICBnZW50ZXh0LAorIAkJTWFjaG9yZWxvYzE6ICAgICAgbWFjaG9yZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkNjQuc28uMSIsCisrCQlMaW51eGR5bmxkOiAiL2xpYjY0L2xkLW11c2wtczM5MHguc28uMSIsCisgCisgCQkvLyBub3QgcmVsZXZhbnQgZm9yIHMzOTB4CisgCQlGcmVlYnNkZHlubGQ6ICAgIlhYWCIsCistLS0gYS9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbworKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL3g4Ni9vYmouZ28KK0BAIC01OCw3ICs1OCw3IEBAIGZ1bmMgSW5pdCgpICgqc3lzLkFyY2gsIGxkLkFyY2gpIHsKKyAJCU1hY2hvcmVsb2MxOiAgICAgIG1hY2hvcmVsb2MxLAorIAkJUEVyZWxvYzE6ICAgICAgICAgcGVyZWxvYzEsCisgCistCQlMaW51eGR5bmxkOiAgICIvbGliL2xkLWxpbnV4LnNvLjIiLAorKwkJTGludXhkeW5sZDogICAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIsCisgCQlGcmVlYnNkZHlubGQ6ICIvdXNyL2xpYmV4ZWMvbGQtZWxmLnNvLjEiLAorIAkJT3BlbmJzZGR5bmxkOiAiL3Vzci9saWJleGVjL2xkLnNvIiwKKyAJCU5ldGJzZGR5bmxkOiAgIi91c3IvbGliZXhlYy9sZC5lbGZfc28iLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMWVhYTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LmluYworKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLXJlcXVpcmUgZ28tY29tbW9uLmluYwotCi1HT19CQVNFVkVSU0lPTiA9ICIxLjkiCi1HT19NSU5PUiA9ICIuNyIKLVBWIC49ICIke0dPX01JTk9SfSIKLQotRklMRVNFWFRSQVBBVEhTX3ByZXBlbmQgOj0gIiR7RklMRV9ESVJOQU1FfS9nby0ke0dPX0JBU0VWRVJTSU9OfToiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTVkNDk1MGVjYjdiMjZkMmM1ZTRlN2I0ZTBkZDc0NzA3IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgIGZpbGU6Ly8wMDAxLW1ha2UuYmFzaC1xdW90ZS1DQ19GT1JfVEFSR0VULnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDItY21kLWdvLWZpeC1DQy1hbmQtQ1hYLWVudmlyb25tZW50LXZhcmlhYmxlLWNvbnN0cnVjdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNS1jbWQtZ28tbWFrZS1HT1JPT1QtcHJlY2lvdXMtYnktZGVmYXVsdC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMDgtbWFrZS5iYXNoLWFkZC1HT0hPU1R4eC1pbmRpcmVjdGlvbi1mb3ItY3Jvc3MtY2FuYWRpYS5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIFwKLSAgICAgICAgZmlsZTovLzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggXAotIgotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vc2V0LWV4dGVybmFsLWxpbmtlci5wYXRjaCIKLQotU1JDX1VSSVttYWluLm1kNXN1bV0gPSAiM2MyY2Y4NzZlZDY2MTJhMDIyNTc0YTU2NTIwNmM2ZWEiCi1TUkNfVVJJW21haW4uc2hhMjU2c3VtXSA9ICI1ODI4MTRmYTQ1ZThlY2IwODU5YTIwOGU1MTdiNDhhYTBhZDk1MWUzYjM2YzdmZmYyMDNkODM0ZTBlZjI3NzIyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDEtbWFrZS5iYXNoLXF1b3RlLUNDX0ZPUl9UQVJHRVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgwMDk3NS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMS1tYWtlLmJhc2gtcXVvdGUtQ0NfRk9SX1RBUkdFVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLUZyb20gZDI0NzM0YWQ0NDAwNjc5MWZkNDhmYzQ1ZWEzNGZlNjA4ZmY2NzJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjA0OjIzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMS83XSBtYWtlLmJhc2g6IHF1b3RlIENDX0ZPUl9UQVJHRVQKLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgJENDX0ZPUl9UQVJHRVQgaGFzIG1vcmUgdGhhbgotb25lIHdvcmQgYW5kIG5lZWRzIHRvIGJlIHF1b3RlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCA3MWU3NTMxLi5kY2YzMjU2IDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE3NSw3ICsxNzUsNyBAQCBlY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotIAotIG9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0gCi0tQ0M9JENDX0ZPUl9UQVJHRVQgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotK0NDPSIkQ0NfRk9SX1RBUkdFVCIgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcCBpbnN0YWxsICRHT19GTEFHUyAtZ2NmbGFncyAiJEdPX0dDRkxBR1MiIC1sZGZsYWdzICIkR09fTERGTEFHUyIgLXYgc3RkIGNtZAotIAotICMgQ2hlY2sgdGhhdCB0aGVyZSBhcmUgbm8gbmV3IGZpbGVzIGluICRHT1JPT1QvYmluIG90aGVyIHRoYW4gZ28gYW5kIGdvZm10Ci0gIyBhbmQgJEdPT1NfJEdPQVJDSCAoYSBkaXJlY3RvcnkgdXNlZCB3aGVuIGNyb3NzLWNvbXBpbGluZykuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwMi1jbWQtZ28tZml4LUNDLWFuZC1DWFgtZW52aXJvbm1lbnQtdmFyaWFibGUtY29uc3RydWN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGU0MjI2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAyLWNtZC1nby1maXgtQ0MtYW5kLUNYWC1lbnZpcm9ubWVudC12YXJpYWJsZS1jb25zdHJ1Y3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1Gcm9tIGE3MTcwZDMyYTEzYWVhZDYwOGFiZDE4OTk2ZjZkYWIyZTJhNjMxYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODowNjozNyAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvN10gY21kL2dvOiBmaXggQ0MgYW5kIENYWCBlbnZpcm9ubWVudCB2YXJpYWJsZSBjb25zdHJ1Y3Rpb24KLQotRm9yIE9FIGNyb3NzLWJ1aWxkcywgQ0MgYW5kIENYWCBoYXZlIG11bHRpcGxlIHdvcmRzLCBhbmQKLXdlIG5lZWQgdGhlaXIgY29tcGxldGUgZGVmaW5pdGlvbnMgd2hlbiBzZXR0aW5nIHVwIHRoZQotZW52aXJvbm1lbnQgZHVyaW5nIEdvIGJ1aWxkcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvIHwgIDQgKystLQotIHNyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbyB8IDEyICsrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotaW5kZXggNDNkNDMzNC4uNTI5ZDIxZCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvZW52Y21kL2Vudi5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9lbnZjbWQvZW52LmdvCi1AQCAtNzQsMTAgKzc0LDEwIEBAIGZ1bmMgTWtFbnYoKSBbXWNmZy5FbnZWYXIgewotIAl9Ci0gCi0gCWNtZCA6PSBiLkdjY0NtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IGNtZFswXX0pCi0rCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNDIiwgVmFsdWU6IHN0cmluZ3MuSm9pbihiLkdjY0NtZEZvclJlYWwoKSwgIiAiKX0pCi0gCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkdPR0NDRkxBR1MiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGNtZFszOl0sICIgIil9KQotIAljbWQgPSBiLkd4eENtZCgiLiIpCi0tCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNYWCIsIFZhbHVlOiBjbWRbMF19KQotKwllbnYgPSBhcHBlbmQoZW52LCBjZmcuRW52VmFye05hbWU6ICJDWFgiLCBWYWx1ZTogc3RyaW5ncy5Kb2luKGIuR3h4Q21kRm9yUmVhbCgpLCAiICIpfSkKLSAKLSAJaWYgY2ZnLkJ1aWxkQ29udGV4dC5DZ29FbmFibGVkIHsKLSAJCWVudiA9IGFwcGVuZChlbnYsIGNmZy5FbnZWYXJ7TmFtZTogIkNHT19FTkFCTEVEIiwgVmFsdWU6ICIxIn0pCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA3ZDY2N2ZmLi44NWRmMGIzIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0zMTI3LDEyICszMTI3LDI0IEBAIGZ1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZChvYmpkaXIgc3RyaW5nKSBbXXN0cmluZyB7Ci0gCXJldHVybiBiLmNjb21waWxlckNtZCgiQ0MiLCBjZmcuRGVmYXVsdENDLCBvYmpkaXIpCi0gfQotIAotKy8vIGdjY0NtZCByZXR1cm5zIGEgZ2NjIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q0MgaXMgZGVmaW5lZCBpbiB6ZGVmYXVsdGNjLmdvLCB3cml0dGVuIGJ5IGNtZC9kaXN0LgotK2Z1bmMgKGIgKkJ1aWxkZXIpIEdjY0NtZEZvclJlYWwoKSBbXXN0cmluZyB7Ci0rCXJldHVybiBlbnZMaXN0KCJDQyIsIGNmZy5EZWZhdWx0Q0MpCi0rfQotKwotIC8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSAvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLSBmdW5jIChiICpCdWlsZGVyKSBHeHhDbWQob2JqZGlyIHN0cmluZykgW11zdHJpbmcgewotIAlyZXR1cm4gYi5jY29tcGlsZXJDbWQoIkNYWCIsIGNmZy5EZWZhdWx0Q1hYLCBvYmpkaXIpCi0gfQotIAotKy8vIGd4eENtZCByZXR1cm5zIGEgZysrIGNvbW1hbmQgbGluZSBwcmVmaXgKLSsvLyBkZWZhdWx0Q1hYIGlzIGRlZmluZWQgaW4gemRlZmF1bHRjYy5nbywgd3JpdHRlbiBieSBjbWQvZGlzdC4KLStmdW5jIChiICpCdWlsZGVyKSBHeHhDbWRGb3JSZWFsKCkgW11zdHJpbmcgewotKwlyZXR1cm4gZW52TGlzdCgiQ1hYIiwgY2ZnLkRlZmF1bHRDWFgpCi0rfQotKwotIC8vIGdmb3J0cmFuQ21kIHJldHVybnMgYSBnZm9ydHJhbiBjb21tYW5kIGxpbmUgcHJlZml4LgotIGZ1bmMgKGIgKkJ1aWxkZXIpIGdmb3J0cmFuQ21kKG9iamRpciBzdHJpbmcpIFtdc3RyaW5nIHsKLSAJcmV0dXJuIGIuY2NvbXBpbGVyQ21kKCJGQyIsICJnZm9ydHJhbiIsIG9iamRpcikKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDMtbWFrZS5iYXNoLWJldHRlci1zZXBhcmF0ZS1ob3N0LWFuZC10YXJnZXQtYnVpbGRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmQ5ZjIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDAzLW1ha2UuYmFzaC1iZXR0ZXItc2VwYXJhdGUtaG9zdC1hbmQtdGFyZ2V0LWJ1aWxkcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLUZyb20gMzFlODhmMDZhZjdhYjc4N2Q4ZmUwYzFjYTYyNTE5M2UxNzk5ZTE2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjEyOjA0IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMy83XSBtYWtlLmJhc2g6IGJldHRlciBzZXBhcmF0ZSBob3N0IGFuZCB0YXJnZXQgYnVpbGRzCi0KLUZvcmUgT0UgY3Jvc3MtYnVpbGRzLCB0aGUgc2ltcGxlIGNoZWNrcyBpbiBtYWtlLmJhc2ggYXJlCi1pbnN1ZmZpY2llbnQgZm9yIGRpc3Rpbmd1aXNoaW5nIGhvc3QgYW5kIHRhcmdldCBidWlsZAotZW52aXJvbm1lbnRzLCBzbyBhZGQgc29tZSBvcHRpb25zIGZvciB0ZWxsaW5nIHRoZQotc2NyaXB0IHdoaWNoIHBhcnRzIGFyZSBiZWluZyBidWlsdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL21ha2UuYmFzaCB8IDUxICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWtlLmJhc2ggYi9zcmMvbWFrZS5iYXNoCi1pbmRleCBkY2YzMjU2Li45NTUzNjIzIDEwMDc1NQotLS0tIGEvc3JjL21ha2UuYmFzaAotKysrIGIvc3JjL21ha2UuYmFzaAotQEAgLTE1NiwxMyArMTU2LDIyIEBAIGlmIFsgIiQxIiA9ICItLW5vLWNsZWFuIiBdOyB0aGVuCi0gCWJ1aWxkYWxsPSIiCi0gCXNoaWZ0Ci0gZmkKLS0uL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotK2RvX2hvc3RfYnVpbGQ9InllcyIKLStkb190YXJnZXRfYnVpbGQ9InllcyIKLStpZiBbICIkMSIgPSAiLS10YXJnZXQtb25seSIgXTsgdGhlbgotKwlkb19ob3N0X2J1aWxkPSJubyIKLSsJc2hpZnQKLStlbGlmIFsgIiQxIiA9ICItLWhvc3Qtb25seSIgXTsgdGhlbgotKwlkb190YXJnZXRfYnVpbGQ9Im5vIgotKwlzaGlmdAotK2ZpCi0gCi0tIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLS1tdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0tZWNobwotK2lmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSsJLi9jbWQvZGlzdC9kaXN0IGJvb3RzdHJhcCAkYnVpbGRhbGwgJEdPX0RJU1RGTEFHUyAtdiAjIGJ1aWxkcyBnb19ib290c3RyYXAKLSsJIyBEZWxheSBtb3ZlIG9mIGRpc3QgdG9vbCB0byBub3csIGJlY2F1c2UgYm9vdHN0cmFwIG1heSBjbGVhciB0b29sIGRpcmVjdG9yeS4KLSsJbXYgY21kL2Rpc3QvZGlzdCAiJEdPVE9PTERJUiIvZGlzdAotKwllY2hvCi0gCi0taWYgWyAiJEdPSE9TVEFSQ0giICE9ICIkR09BUkNIIiAtbyAiJEdPSE9TVE9TIiAhPSAiJEdPT1MiIF07IHRoZW4KLSAJZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciBob3N0LCAkR09IT1NUT1MvJEdPSE9TVEFSQ0guIgotIAkjIENDX0ZPUl9UQVJHRVQgaXMgcmVjb3JkZWQgYXMgdGhlIGRlZmF1bHQgY29tcGlsZXIgZm9yIHRoZSBnbyB0b29sLiBXaGVuIGJ1aWxkaW5nIGZvciB0aGUgaG9zdCwgaG93ZXZlciwKLSAJIyB1c2UgdGhlIGhvc3QgY29tcGlsZXIsIENDLCBmcm9tIGBjbWQvZGlzdC9kaXN0IGVudmAgaW5zdGVhZC4KLUBAIC0xNzEsMjQgKzE4MCwyMCBAQCBpZiBbICIkR09IT1NUQVJDSCIgIT0gIiRHT0FSQ0giIC1vICIkR09IT1NUT1MiICE9ICIkR09PUyIgXTsgdGhlbgotIAllY2hvCi0gZmkKLSAKLS1lY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yICRHT09TLyRHT0FSQ0guIgotLQotLW9sZF9iaW5fZmlsZXM9JChjZCAkR09ST09UL2JpbiAmJiBlY2hvICopCi0tCi0tQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiBzdGQgY21kCi0tCi0tIyBDaGVjayB0aGF0IHRoZXJlIGFyZSBubyBuZXcgZmlsZXMgaW4gJEdPUk9PVC9iaW4gb3RoZXIgdGhhbiBnbyBhbmQgZ29mbXQKLS0jIGFuZCAkR09PU18kR09BUkNIIChhIGRpcmVjdG9yeSB1c2VkIHdoZW4gY3Jvc3MtY29tcGlsaW5nKS4KLS0oY2QgJEdPUk9PVC9iaW4gJiYgZm9yIGYgaW4gKjsgZG8KLS0JaWYgISBleHByICIgJG9sZF9iaW5fZmlsZXMgZ28gZ29mbXQgJHtHT09TfV8ke0dPQVJDSH0gIiA6ICIuKiAkZiAiID4vZGV2L251bGwgMj4vZGV2L251bGw7IHRoZW4KLS0JCWVjaG8gMT4mMiAiRVJST1I6IHVuZXhwZWN0ZWQgbmV3IGZpbGUgaW4gJEdPUk9PVC9iaW46ICRmIgotLQkJZXhpdCAxCi0tCWZpCi0tZG9uZSkKLS0KLS1lY2hvCi0tCi0tcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2lmIFsgIiRkb190YXJnZXRfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKyAgICBHT19JTlNUQUxMPSIke0dPX1RBUkdFVF9JTlNUQUxMOi1zdGQgY21kfSIKLSsgICAgZWNobyAiIyMjIyMgQnVpbGRpbmcgcGFja2FnZXMgYW5kIGNvbW1hbmRzIGZvciAkR09PUy8kR09BUkNILiIKLSsgICAgaWYgWyAiJEdPSE9TVE9TIiA9ICIkR09PUyIgLWEgIiRHT0hPU1RBUkNIIiA9ICIkR09BUkNIIiAtYSAiJGRvX2hvc3RfYnVpbGQiID0gInllcyIgXTsgdGhlbgotKwlybSAtcmYgLi9ob3N0LXRvb2xzCi0rCW1rZGlyIC4vaG9zdC10b29scwotKwltdiAiJEdPVE9PTERJUiIvKiAuL2hvc3QtdG9vbHMKLSsJR09UT09MRElSPSIkUFdEL2hvc3QtdG9vbHMiCi0rICAgIGZpCi0rICAgIEdPVE9PTERJUj0iJEdPVE9PTERJUiIgQ0M9IiRDQ19GT1JfVEFSR0VUIiAiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgJEdPX0ZMQUdTIC1nY2ZsYWdzICIkR09fR0NGTEFHUyIgLWxkZmxhZ3MgIiRHT19MREZMQUdTIiAtdiAke0dPX0lOU1RBTEx9Ci0rICAgIGVjaG8KLSsKLSsgICAgcm0gLWYgIiRHT1RPT0xESVIiL2dvX2Jvb3RzdHJhcAotK2ZpCi0gCi0gaWYgWyAiJDEiICE9ICItLW5vLWJhbm5lciIgXTsgdGhlbgotIAkiJEdPVE9PTERJUiIvZGlzdCBiYW5uZXIKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA0LWNtZC1nby1hbGxvdy1HT1RPT0xESVItdG8tYmUtb3ZlcnJpZGRlbi1pbi10aGUtZW52aXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4MGIwNmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDQtY21kLWdvLWFsbG93LUdPVE9PTERJUi10by1iZS1vdmVycmlkZGVuLWluLXRoZS1lbnZpci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gMTM2OTE3OGI0OTdiMTIwODhlYzRjMjc5NDYwNmNjOWYxNGNjMzI3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci1EYXRlOiBXZWQsIDEzIFNlcCAyMDE3IDA4OjE1OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBjbWQvZ286IGFsbG93IEdPVE9PTERJUiB0byBiZSBvdmVycmlkZGVuIGluIHRoZQotIGVudmlyb25tZW50Ci0KLUZvciBPRSBjcm9zcy1idWlsZHMsIGhvc3Qtc2lkZSB0b29scyByZXNpZGUgaW4gdGhlIG5hdGl2ZQotR09ST09ULCBub3QgdGhlIHRhcmdldCBHT1JPT1QuICBBbGxvdyBHT1RPT0xESVIgdG8gYmUgc2V0Ci1pbiB0aGUgZW52aXJvbm1lbnQgdG8gYWxsb3cgdGhhdCBzcGxpdCwgcmF0aGVyIHRoYW4gYWx3YXlzCi1jb21wdXRpbmcgR09UT09MRElSIHJlbGF0aXZlIHRvIHRoZSBHT1JPT1Qgc2V0dGluZy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvICAgIHwgNyArKysrKystCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgMiArLQotIHNyYy9nby9idWlsZC9idWlsZC5nbyAgICAgICAgICAgICB8IDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotaW5kZXggYjNhZDFjZS4uYzFkYzk3NCAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvY2ZnL2NmZy5nbwotKysrIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9jZmcvY2ZnLmdvCi1AQCAtOTEsNyArOTEsMTIgQEAgZnVuYyBpbml0KCkgewotIAkvLyBhcyB0aGUgdG9vbCBkaXJlY3RvcnkgZG9lcyBub3QgbW92ZSBiYXNlZCBvbiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuCi0gCS8vIFRoaXMgbWF0Y2hlcyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgVG9vbERpciBpbiBnby9idWlsZCwKLSAJLy8gZXhjZXB0IGZvciB1c2luZyBHT1JPT1QgcmF0aGVyIHRoYW4gcnVudGltZS5HT1JPT1QoKS4KLS0JYnVpbGQuVG9vbERpciA9IGZpbGVwYXRoLkpvaW4oR09ST09ULCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKQotKwlzIDo9IG9zLkdldGVudigiR09UT09MRElSIikKLSsJaWYgcyA9PSAiIiB7Ci0rCQlidWlsZC5Ub29sRGlyID0gZmlsZXBhdGguSm9pbihHT1JPT1QsICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rCX0gZWxzZSB7Ci0rCQlidWlsZC5Ub29sRGlyID0gcwotKwl9Ci0gfQotIAotIGZ1bmMgZmluZEdPUk9PVCgpIHN0cmluZyB7Ci1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi1pbmRleCA4NWRmMGIzLi43YjlhNjllIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLUBAIC0xMzM3LDcgKzEzMzcsNyBAQCBmdW5jIChiICpCdWlsZGVyKSBidWlsZChhICpBY3Rpb24pIChlcnIgZXJyb3IpIHsKLSAJCX0KLSAKLSAJCXZhciBjZ29FeGUgc3RyaW5nCi0tCQlpZiBhLmNnbyAhPSBuaWwgJiYgYS5jZ28uVGFyZ2V0ICE9ICIiIHsKLSsJCWlmIGEuY2dvICE9IG5pbCAmJiBhLmNnby5UYXJnZXQgIT0gIiIgJiYgb3MuR2V0ZW52KCJHT1RPT0xESVIiKSA9PSAiIiB7Ci0gCQkJY2dvRXhlID0gYS5jZ28uVGFyZ2V0Ci0gCQl9IGVsc2UgewotIAkJCWNnb0V4ZSA9IGJhc2UuVG9vbCgiY2dvIikKLWRpZmYgLS1naXQgYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28gYi9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLWluZGV4IGZkODk4NzEuLmUxNjE0NWIgMTAwNjQ0Ci0tLS0gYS9zcmMvZ28vYnVpbGQvYnVpbGQuZ28KLSsrKyBiL3NyYy9nby9idWlsZC9idWlsZC5nbwotQEAgLTE1ODgsNyArMTU4OCw3IEBAIGZ1bmMgaW5pdCgpIHsKLSB9Ci0gCi0gLy8gVG9vbERpciBpcyB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYnVpbGQgdG9vbHMuCi0tdmFyIFRvb2xEaXIgPSBmaWxlcGF0aC5Kb2luKHJ1bnRpbWUuR09ST09UKCksICJwa2cvdG9vbC8iK3J1bnRpbWUuR09PUysiXyIrcnVudGltZS5HT0FSQ0gpCi0rdmFyIFRvb2xEaXIgPSBlbnZPcigiR09UT09MRElSIiwgZmlsZXBhdGguSm9pbihydW50aW1lLkdPUk9PVCgpLCAicGtnL3Rvb2wvIitydW50aW1lLkdPT1MrIl8iK3J1bnRpbWUuR09BUkNIKSkKLSAKLSAvLyBJc0xvY2FsSW1wb3J0IHJlcG9ydHMgd2hldGhlciB0aGUgaW1wb3J0IHBhdGggaXMKLSAvLyBhIGxvY2FsIGltcG9ydCBwYXRoLCBsaWtlICIuIiwgIi4uIiwgIi4vZm9vIiwgb3IgIi4uL2ZvbyIuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA1LWNtZC1nby1tYWtlLUdPUk9PVC1wcmVjaW91cy1ieS1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlOTNiY2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMDUtY21kLWdvLW1ha2UtR09ST09ULXByZWNpb3VzLWJ5LWRlZmF1bHQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQ0Zjk2MTk3NWRhYzZjZjQ2NGE3N2I1ZjZkZDBjNDdjYzE5MmM0ZmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoxOTo1MiAtMDcwMAotU3ViamVjdDogW1BBVENIIDUvN10gY21kL2dvOiBtYWtlIEdPUk9PVCBwcmVjaW91cyBieSBkZWZhdWx0Ci0KLUZvciBPRSBidWlsZHMsIHdlIG5ldmVyIHdhbnQgcGFja2FnZXMgdGhhdCBoYXZlCi1hbHJlYWR5IGJlZW4gaW5zdGFsbGVkIGludG8gdGhlIGJ1aWxkIHJvb3QgdG8gYmUKLW1vZGlmaWVkLCBzbyBwcmV2ZW50IHRoZSBnbyBidWlsZCB0b29sIGZyb20gY2hlY2tpbmcKLWlmIHRoZXkgc2hvdWxkIGJlIHJlYnVpbHQuCi0KLUFsc28gYWRkIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIG92ZXJyaWRlIHRoaXMKLWJlaGF2aW9yLCBqdXN0IGZvciBidWlsZGluZyB0aGUgR28gcnVudGltZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIHwgNyArKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLWluZGV4IDYwZGU2NjYuLjI2NjBkM2YgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi0rKysgYi9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvCi1AQCAtMTUzMCw2ICsxNTMwLDEzIEBAIGZ1bmMgaXNTdGFsZShwICpQYWNrYWdlKSAoYm9vbCwgc3RyaW5nKSB7Ci0gCQlyZXR1cm4gdHJ1ZSwgImJ1aWxkIElEIG1pc21hdGNoIgotIAl9Ci0gCi0rCS8vIEZvciBPRSBidWlsZHMsIG1ha2UgYW55dGhpbmcgaW4gR09ST09UIG5vbi1zdGFsZSwKLSsJLy8gdG8gcHJldmVudCBhIHBhY2thZ2UgYnVpbGQgZnJvbSBvdmVyd3JpdGluZyB0aGUKLSsJLy8gYnVpbGQgcm9vdC4KLSsJaWYgcC5Hb3Jvb3QgJiYgb3MuR2V0ZW52KCJHT1JPT1RfT1ZFUlJJREUiKSAhPSAiMSIgewotKwkJcmV0dXJuIGZhbHNlLCAiR09ST09ULXJlc2lkZW50IHBhY2thZ2VzIGRvIG5vdCBnZXQgcmVidWlsdCIKLSsJfQotKwotIAkvLyBQYWNrYWdlIGlzIHN0YWxlIGlmIGEgZGVwZW5kZW5jeSBpcy4KLSAJZm9yIF8sIHAxIDo9IHJhbmdlIHAuSW50ZXJuYWwuRGVwcyB7Ci0gCQlpZiBwMS5TdGFsZSB7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNi1tYWtlLmJhc2gtYWRkLUdPVE9PTERJUl9CT09UU1RSQVAtZW52aXJvbm1lbnQtdmFyaWFiLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGY1NjQwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA2LW1ha2UuYmFzaC1hZGQtR09UT09MRElSX0JPT1RTVFJBUC1lbnZpcm9ubWVudC12YXJpYWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGFhZTc0ZDEwNDVjYTAzMzA2YmE0MTU5MjA2ZWUzYmFjNzJiY2RmYmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyMzoyMyAtMDcwMAotU3ViamVjdDogW1BBVENIIDYvN10gbWFrZS5iYXNoOiBhZGQgR09UT09MRElSX0JPT1RTVFJBUCBlbnZpcm9ubWVudCB2YXJpYWJsZQotCi1Gb3IgY3Jvc3MtY2FuYWRpYW4gYnVpbGRzLCB3ZSBuZWVkIHRvIHVzZSB0aGUgbmF0aXZlCi1HT1RPT0xESVIgZHVyaW5nIHRoZSBib290c3RyYXAgcGhhc2UsIHNvIHByb3ZpZGUgYSB3YXkKLXRvIHBhc3MgdGhhdCBzZXR0aW5nIGludG8gdGhlIGJ1aWxkIHNjcmlwdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHQgTWFkaXNvbiA8bWF0dEBtYWRpc29uLnN5c3RlbXM+Ci0tLS0KLSBzcmMvbWFrZS5iYXNoIHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbWFrZS5iYXNoIGIvc3JjL21ha2UuYmFzaAotaW5kZXggOTU1MzYyMy4uMmU2ZmIwNSAxMDA3NTUKLS0tLSBhL3NyYy9tYWtlLmJhc2gKLSsrKyBiL3NyYy9tYWtlLmJhc2gKLUBAIC0xNzIsMTAgKzE3MiwxMSBAQCBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0gCW12IGNtZC9kaXN0L2Rpc3QgIiRHT1RPT0xESVIiL2Rpc3QKLSAJZWNobwotIAotKwlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotIAllY2hvICIjIyMjIyBCdWlsZGluZyBwYWNrYWdlcyBhbmQgY29tbWFuZHMgZm9yIGhvc3QsICRHT0hPU1RPUy8kR09IT1NUQVJDSC4iCi0gCSMgQ0NfRk9SX1RBUkdFVCBpcyByZWNvcmRlZCBhcyB0aGUgZGVmYXVsdCBjb21waWxlciBmb3IgdGhlIGdvIHRvb2wuIFdoZW4gYnVpbGRpbmcgZm9yIHRoZSBob3N0LCBob3dldmVyLAotIAkjIHVzZSB0aGUgaG9zdCBjb21waWxlciwgQ0MsIGZyb20gYGNtZC9kaXN0L2Rpc3QgZW52YCBpbnN0ZWFkLgotLQlDQz0kQ0MgR09PUz0kR09IT1NUT1MgR09BUkNIPSRHT0hPU1RBUkNIIFwKLSsJQ0M9JENDIEdPT1M9JEdPSE9TVE9TIEdPQVJDSD0kR09IT1NUQVJDSCBHT1RPT0xESVI9IiRHT1RPT0xESVJfQk9PVFNUUkFQIiBcCi0gCQkiJEdPVE9PTERJUiIvZ29fYm9vdHN0cmFwIGluc3RhbGwgLWdjZmxhZ3MgIiRHT19HQ0ZMQUdTIiAtbGRmbGFncyAiJEdPX0xERkxBR1MiIC12IHN0ZCBjbWQKLSAJZWNobwotIGZpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwNy1sZC1hZGQtc29uYW1lLXRvLXNoYXJlYWJsZS1vYmplY3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDU5NzgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA3LWxkLWFkZC1zb25hbWUtdG8tc2hhcmVhYmxlLW9iamVjdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1Gcm9tIGU5NTdjMzQ1OGQ1M2UzN2JmNDE2ZjUxZDJmOGJmNTRjMTk1ZTUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogV2VkLCAxMyBTZXAgMjAxNyAwODoyNzowMiAtMDcwMAotU3ViamVjdDogW1BBVENIIDcvN10gbGQ6IGFkZCBzb25hbWUgdG8gc2hhcmVhYmxlIG9iamVjdHMKLQotU2hhcmVkIGxpYnJhcnkgaGFuZGxpbmcgaW4gT0UgZGVwZW5kcyBvbiB0aGUgaW5jbHVzaW9uCi1vZiBhbiBzb25hbWUgaGVhZGVyLCBzbyB1cGRhdGUgdGhlIGdvIGxpbmtlciB0byBhZGQgdGhhdAotaGVhZGVyIGZvciBib3RoIGludGVybmFsIGFuZCBleHRlcm5hbCBsaW5raW5nLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9jbWQvbGluay9pbnRlcm5hbC9sZC9saWIuZ28gYi9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbGQvbGliLmdvCi1pbmRleCAwMjM0MTA1Li4wYjllMmQwIDEwMDY0NAotLS0tIGEvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotKysrIGIvc3JjL2NtZC9saW5rL2ludGVybmFsL2xkL2xpYi5nbwotQEAgLTExMjQsMTIgKzExMjQsMTQgQEAgZnVuYyAobCAqTGluaykgaG9zdGxpbmsoKSB7Ci0gCQkJLy8gUGFzcyAteiBub2RlbGV0ZSB0byBtYXJrIHRoZSBzaGFyZWQgbGlicmFyeSBhcwotIAkJCS8vIG5vbi1jbG9zZWFibGU6IGEgZGxjbG9zZSB3aWxsIGRvIG5vdGhpbmcuCi0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIsICItV2wsLXosbm9kZWxldGUiKQotKwkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgZm10LlNwcmludGYoIi1XbCwtc29uYW1lLCVzIiwgZmlsZXBhdGguQmFzZSgqZmxhZ091dGZpbGUpKSkKLSAJCX0KLSAJY2FzZSBCdWlsZG1vZGVTaGFyZWQ6Ci0gCQlpZiBVc2VSZWxybygpIHsKLSAJCQlhcmd2ID0gYXBwZW5kKGFyZ3YsICItV2wsLXoscmVscm8iKQotIAkJfQotIAkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQlhcmd2ID0gYXBwZW5kKGFyZ3YsIGZtdC5TcHJpbnRmKCItV2wsLXNvbmFtZSwlcyIsIGZpbGVwYXRoLkJhc2UoKmZsYWdPdXRmaWxlKSkpCi0gCWNhc2UgQnVpbGRtb2RlUGx1Z2luOgotIAkJaWYgSGVhZHR5cGUgPT0gb2JqYWJpLkhkYXJ3aW4gewotIAkJCWFyZ3YgPSBhcHBlbmQoYXJndiwgIi1keW5hbWljbGliIikKLUBAIC0xMTM4LDYgKzExNDAsNyBAQCBmdW5jIChsICpMaW5rKSBob3N0bGluaygpIHsKLSAJCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLVdsLC16LHJlbHJvIikKLSAJCQl9Ci0gCQkJYXJndiA9IGFwcGVuZChhcmd2LCAiLXNoYXJlZCIpCi0rCQkJYXJndiA9IGFwcGVuZChhcmd2LCBmbXQuU3ByaW50ZigiLVdsLC1zb25hbWUsJXMiLCBmaWxlcGF0aC5CYXNlKCpmbGFnT3V0ZmlsZSkpKQotIAkJfQotIAl9Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOC1tYWtlLmJhc2gtYWRkLUdPSE9TVHh4LWluZGlyZWN0aW9uLWZvci1jcm9zcy1jYW5hZGlhLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTc3Yzc4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA4LW1ha2UuYmFzaC1hZGQtR09IT1NUeHgtaW5kaXJlY3Rpb24tZm9yLWNyb3NzLWNhbmFkaWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDAzZTZjMzM5ZDRmYjcxMmZiYjhjNGNhNmVmMmZjNzEwMGRjZGIzZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0IE1hZGlzb24gPG1hdHRAbWFkaXNvbi5zeXN0ZW1zPgotRGF0ZTogVGh1LCAxNCBTZXAgMjAxNyAwNTozODoxMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDgvOF0gbWFrZS5iYXNoOiBhZGQgR09IT1NUeHggaW5kaXJlY3Rpb24gZm9yIGNyb3NzLWNhbmFkaWFuCi0gYnVpbGRzCi0KLUFkZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHNwZWNpZnlpbmcgdGhlIGhvc3QgT1MvYXJjaAotdGhhdCB3ZSBhcmUgYnVpbGRpbmcgdGhlIGNvbXBpbGVyIGZvciwgc28gaXQgY2FuIGRpZmZlciBmcm9tCi10aGUgYnVpbGQgaG9zdCBPUy9hcmNoLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDJlNmZiMDUuLjBiZGFkYzYgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTczLDYgKzE3Myw4IEBAIGlmIFsgIiRkb19ob3N0X2J1aWxkIiA9ICJ5ZXMiIF07IHRoZW4KLSAJZWNobwotIAotIAlHT1RPT0xESVJfQk9PVFNUUkFQPSIke0dPVE9PTERJUl9CT09UU1RSQVA6LSRHT1RPT0xESVJ9IgotKwlHT0hPU1RPUz0iJHtHT0hPU1RPU19DUk9TUzotJEdPSE9TVE9TfSIKLSsJR09IT1NUQVJDSD0iJHtHT0hPU1RBUkNIX0NST1NTOi0kR09IT1NUQVJDSH0iCi0gCWVjaG8gIiMjIyMjIEJ1aWxkaW5nIHBhY2thZ2VzIGFuZCBjb21tYW5kcyBmb3IgaG9zdCwgJEdPSE9TVE9TLyRHT0hPU1RBUkNILiIKLSAJIyBDQ19GT1JfVEFSR0VUIGlzIHJlY29yZGVkIGFzIHRoZSBkZWZhdWx0IGNvbXBpbGVyIGZvciB0aGUgZ28gdG9vbC4gV2hlbiBidWlsZGluZyBmb3IgdGhlIGhvc3QsIGhvd2V2ZXIsCi0gCSMgdXNlIHRoZSBob3N0IGNvbXBpbGVyLCBDQywgZnJvbSBgY21kL2Rpc3QvZGlzdCBlbnZgIGluc3RlYWQuCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAwOS1jbWQtZ28tYnVpbGRtb2RlLXBpZS1mb3JjZXMtZXh0ZXJuYWwtbGlua2luZy1tb2RlLW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYTVmY2ZkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS8wMDA5LWNtZC1nby1idWlsZG1vZGUtcGllLWZvcmNlcy1leHRlcm5hbC1saW5raW5nLW1vZGUtb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1Gcm9tIGFhZTQ0NTI3YzgwNjVkNTRmNmFjYWY4N2M4MmNiYTFhYzk2ZmFlNTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJYW4gTGFuY2UgVGF5bG9yIDxpYW50QGdvbGFuZy5vcmc+Ci1EYXRlOiBGcmksIDE4IEF1ZyAyMDE3IDE3OjQ2OjAzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yY2VzIGV4dGVybmFsIGxpbmtpbmcgbW9kZSBvbiBhbGwKLSBzeXN0ZW1zCi0KLVRoZSBnbyB0b29sIGFzc3VtZWQgdGhhdCAtYnVpbGRtb2RlPXBpZSBpbXBsaWVkIGludGVybmFsIGxpbmtpbmcgb24KLWxpbnV4LWFtZDY0LiBIb3dldmVyLCB0aGF0IHdhcyBjaGFuZ2VkIGJ5IENMIDM2NDE3IGZvciBpc3N1ZSAjMTg5NjguCi0KLUZpeGVzICMyMTQ1MgotCi1DaGFuZ2UtSWQ6IEk4ZWQxM2FlYTUyOTU5Y2M1YzUzMjIzZjRjNDFiYTM1MzI5NDQ1NTQ1Ci1SZXZpZXdlZC1vbjogaHR0cHM6Ly9nby1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS81NzIzMQotUnVuLVRyeUJvdDogSWFuIExhbmNlIFRheWxvciA8aWFudEBnb2xhbmcub3JnPgotVHJ5Qm90LVJlc3VsdDogR29ib3QgR29ib3QgPGdvYm90QGdvbGFuZy5vcmc+Ci1SZXZpZXdlZC1ieTogQXZlbGlubyA8dEBhdmVsaW5vLnh4eD4KLVJldmlld2VkLWJ5OiBSb2IgUGlrZSA8ckBnb2xhbmcub3JnPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0gc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbyB8IDcgKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL2xvYWQvcGtnLmdvIGIvc3JjL2NtZC9nby9pbnRlcm5hbC9sb2FkL3BrZy5nbwotaW5kZXggMjY2MGQzZi4uZDQwNzczYiAxMDA2NDQKLS0tLSBhL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvbG9hZC9wa2cuZ28KLUBAIC05NTQsMTEgKzk1NCwxMiBAQCBmdW5jIChwICpQYWNrYWdlKSBsb2FkKHN0ayAqSW1wb3J0U3RhY2ssIGJwICpidWlsZC5QYWNrYWdlLCBlcnIgZXJyb3IpICpQYWNrYWdlCi0gCi0gCWlmIGNmZy5CdWlsZENvbnRleHQuQ2dvRW5hYmxlZCAmJiBwLk5hbWUgPT0gIm1haW4iICYmICFwLkdvcm9vdCB7Ci0gCQkvLyBDdXJyZW50bHkgYnVpbGQgbW9kZXMgYy1zaGFyZWQsIHBpZSAob24gc3lzdGVtcyB0aGF0IGRvIG5vdAotLQkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUpLCBwbHVnaW4sIGFuZAotLQkJLy8gLWxpbmtzaGFyZWQgZm9yY2UgZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotKwkJLy8gc3VwcG9ydCBQSUUgd2l0aCBpbnRlcm5hbCBsaW5raW5nIG1vZGUgKGN1cnJlbnRseSBhbGwKLSsJCS8vIHN5c3RlbXM6IGlzc3VlICMxODk2OCkpLCBwbHVnaW4sIGFuZCAtbGlua3NoYXJlZCBmb3JjZQotKwkJLy8gZXh0ZXJuYWwgbGlua2luZyBtb2RlLCBhcyBvZiBjb3Vyc2UgZG9lcwotIAkJLy8gLWxkZmxhZ3M9LWxpbmttb2RlPWV4dGVybmFsLiBFeHRlcm5hbCBsaW5raW5nIG1vZGUgZm9yY2VzCi0gCQkvLyBhbiBpbXBvcnQgb2YgcnVudGltZS9jZ28uCi0tCQlwaWVDZ28gOj0gY2ZnLkJ1aWxkQnVpbGRtb2RlID09ICJwaWUiICYmIChjZmcuQnVpbGRDb250ZXh0LkdPT1MgIT0gImxpbnV4IiB8fCBjZmcuQnVpbGRDb250ZXh0LkdPQVJDSCAhPSAiYW1kNjQiKQotKwkJcGllQ2dvIDo9IGNmZy5CdWlsZEJ1aWxkbW9kZSA9PSAicGllIgotIAkJbGlua21vZGVFeHRlcm5hbCA6PSBmYWxzZQotIAkJZm9yIGksIGEgOj0gcmFuZ2UgY2ZnLkJ1aWxkTGRmbGFncyB7Ci0gCQkJaWYgYSA9PSAiLWxpbmttb2RlPWV4dGVybmFsIiB7Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTAtbWFrZS5iYXNoLW92ZXJyaWRlLUNDLXdoZW4tYnVpbGRpbmctZGlzdC1hbmQtZ29fYm9vdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODNmZDc4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMC1tYWtlLmJhc2gtb3ZlcnJpZGUtQ0Mtd2hlbi1idWlsZGluZy1kaXN0LWFuZC1nb19ib290LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSAyMWQ4M2RkOTQ5OWU1YmUzMGVlYTI4ZGQ3MDM0ZDFlYTJhMDFjODM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLURhdGU6IFR1ZSwgMTQgTm92IDIwMTcgMDc6Mzg6NDIgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxMC8xMF0gbWFrZS5iYXNoOiBvdmVycmlkZSBDQyB3aGVuIGJ1aWxkaW5nIGRpc3QgYW5kCi0gZ29fYm9vdHN0cmFwCi0KLUZvciBjcm9zcy1jYW5hZGlhbiBidWlsZHMsIGRpc3QgYW5kIGdvX2Jvb3RzdHJhcAotcnVuIG9uIHRoZSBidWlsZCBob3N0LCBzbyBDQyBuZWVkcyB0byBwb2ludCB0byB0aGUKLWJ1aWxkIGhvc3QncyBDIGNvbXBpbGVyLiAgQWRkIGEgQlVJTERfQ0MgZW52aXJvbm1lbnQKLWZvciB0aGlzLCBmYWxsaW5nIGJhY2sgdG8gJENDIGlmIG5vdCBwcmVzZW50LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogTWF0dCBNYWRpc29uIDxtYXR0QG1hZGlzb24uc3lzdGVtcz4KLS0tLQotIHNyYy9tYWtlLmJhc2ggfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21ha2UuYmFzaCBiL3NyYy9tYWtlLmJhc2gKLWluZGV4IDBiZGFkYzYuLmYxOTkzNDkgMTAwNzU1Ci0tLS0gYS9zcmMvbWFrZS5iYXNoCi0rKysgYi9zcmMvbWFrZS5iYXNoCi1AQCAtMTMxLDcgKzEzMSw3IEBAIGlmIFsgIiRHT1JPT1RfQk9PVFNUUkFQIiA9ICIkR09ST09UIiBdOyB0aGVuCi0gCWV4aXQgMQotIGZpCi0gcm0gLWYgY21kL2Rpc3QvZGlzdAotLUdPUk9PVD0iJEdPUk9PVF9CT09UU1RSQVAiIEdPT1M9IiIgR09BUkNIPSIiICIkR09ST09UX0JPT1RTVFJBUC9iaW4vZ28iIGJ1aWxkIC1vIGNtZC9kaXN0L2Rpc3QgLi9jbWQvZGlzdAotK0NDPSR7QlVJTERfQ0M6LSR7Q0N9fSBHT1JPT1Q9IiRHT1JPT1RfQk9PVFNUUkFQIiBHT09TPSIiIEdPQVJDSD0iIiAiJEdPUk9PVF9CT09UU1RSQVAvYmluL2dvIiBidWlsZCAtbyBjbWQvZGlzdC9kaXN0IC4vY21kL2Rpc3QKLSAKLSAjIC1lIGRvZXNuJ3QgcHJvcGFnYXRlIG91dCBvZiBldmFsLCBzbyBjaGVjayBzdWNjZXNzIGJ5IGhhbmQuCi0gZXZhbCAkKC4vY21kL2Rpc3QvZGlzdCBlbnYgLXAgfHwgZWNobyBGQUlMPXRydWUpCi1AQCAtMTY3LDcgKzE2Nyw3IEBAIGVsaWYgWyAiJDEiID0gIi0taG9zdC1vbmx5IiBdOyB0aGVuCi0gZmkKLSAKLSBpZiBbICIkZG9faG9zdF9idWlsZCIgPSAieWVzIiBdOyB0aGVuCi0tCS4vY21kL2Rpc3QvZGlzdCBib290c3RyYXAgJGJ1aWxkYWxsICRHT19ESVNURkxBR1MgLXYgIyBidWlsZHMgZ29fYm9vdHN0cmFwCi0rCUNDPSR7QlVJTERfQ0M6LSR7Q0N9fSAuL2NtZC9kaXN0L2Rpc3QgYm9vdHN0cmFwICRidWlsZGFsbCAkR09fRElTVEZMQUdTIC12ICMgYnVpbGRzIGdvX2Jvb3RzdHJhcAotIAkjIERlbGF5IG1vdmUgb2YgZGlzdCB0b29sIHRvIG5vdywgYmVjYXVzZSBib290c3RyYXAgbWF5IGNsZWFyIHRvb2wgZGlyZWN0b3J5LgotIAltdiBjbWQvZGlzdC9kaXN0ICIkR09UT09MRElSIi9kaXN0Ci0gCWVjaG8KLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45LzAwMTEtdXNlLUdPQlVJTERNT0RFLXRvLXNldC1idWlsZG1vZGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGE5M2RjNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby0xLjkvMDAxMS11c2UtR09CVUlMRE1PREUtdG8tc2V0LWJ1aWxkbW9kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gYjkyOGZhZmFiMWQ5NDI1YWFlOTM0MTgwNmJkMmY2MTc4YmExZGExZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMjYgT2N0IDIwMTggMTY6MzI6NTAgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlIEdPQlVJTERNT0RFIHRvIHNldCBidWlsZG1vZGUKLQotV2hpbGUgYnVpbGRpbmcgZ28gaXRzZWxmLCB0aGUgZ28gYnVpbGQgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQKLXRvIHNldCBgLWJ1aWxkbW9kZT1waWUnIGZyb20gZW52aXJvbm1lbnQuCi0KLUFkZCBHT0JVSUxETU9ERSB0byBzdXBwb3J0IGl0IHdoaWNoIG1ha2UgUElFIGV4ZWN1dGFibGVzIHRoZSBkZWZhdWx0Ci1idWlsZCBtb2RlLCBhcyBQSUUgZXhlY3V0YWJsZXMgYXJlIHJlcXVpcmVkIGFzIG9mIFlvY3RvCi0KLVJlZmVyczogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL2dvbGFuZy1kZXYvZ1JDZTVVUktld0kKLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFt1cHN0cmVhbSBjaG9vc2UgYW50b2hlciBzb2x1dGlvbjogYDE3YTI1NmIKLWNtZC9nbzogLWJ1aWxkbW9kZT1waWUgZm9yIGFuZHJvaWQvYXJtJ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NtZC9nby9pbnRlcm5hbC93b3JrL2J1aWxkLmdvIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28gYi9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLWluZGV4IGIyNzZkZTUuLjE2ODNlN2UgMTAwNjQ0Ci0tLS0gYS9zcmMvY21kL2dvL2ludGVybmFsL3dvcmsvYnVpbGQuZ28KLSsrKyBiL3NyYy9jbWQvZ28vaW50ZXJuYWwvd29yay9idWlsZC5nbwotQEAgLTIxMSw3ICsyMTEsMTEgQEAgZnVuYyBBZGRCdWlsZEZsYWdzKGNtZCAqYmFzZS5Db21tYW5kKSB7Ci0gCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEFzbWZsYWdzKSwgImFzbWZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcihidWlsZENvbXBpbGVye30sICJjb21waWxlciIsICIiKQotLQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCWlmIGJtIDo9IG9zLkdldGVudigiR09CVUlMRE1PREUiKTsgYm0gIT0gIiIgewotKwkJY21kLkZsYWcuU3RyaW5nVmFyKCZjZmcuQnVpbGRCdWlsZG1vZGUsICJidWlsZG1vZGUiLCBibSwgIiIpCi0rCX0gZWxzZSB7Ci0rCQljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZEJ1aWxkbW9kZSwgImJ1aWxkbW9kZSIsICJkZWZhdWx0IiwgIiIpCi0rCX0KLSAJY21kLkZsYWcuVmFyKCgqYmFzZS5TdHJpbmdzRmxhZykoJmJ1aWxkR2NmbGFncyksICJnY2ZsYWdzIiwgIiIpCi0gCWNtZC5GbGFnLlZhcigoKmJhc2UuU3RyaW5nc0ZsYWcpKCZidWlsZEdjY2dvZmxhZ3MpLCAiZ2NjZ29mbGFncyIsICIiKQotIAljbWQuRmxhZy5TdHJpbmdWYXIoJmNmZy5CdWlsZENvbnRleHQuSW5zdGFsbFN1ZmZpeCwgImluc3RhbGxzdWZmaXgiLCAiIiwgIiIpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLTEuOS9zZXQtZXh0ZXJuYWwtbGlua2VyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2YmQ3ZmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tMS45L3NldC1leHRlcm5hbC1saW5rZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotQ2hhbmdlIHRoZSBkeW5hbWljIGxpbmtlciBoYXJkY29kaW5nIHRvIHVzZSBtdXNsIHdoZW4gbm90IHVzaW5nIGdsaWJjCi10aGlzIHNob3VsZCBiZSBhcHBsaWVkIGNvbmRpdGlvbmFsIHRvIG11c2wgYmVpbmcgdGhlIHN5c3RlbSBDIGxpYnJhcnkKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtSZWFsIEZpeCBzaG91bGQgYmUgcG9ydGFibGUgYWNyb3NzIGxpYmNzXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FtZDY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9hbWQ2NC9vYmouZ28KLUBAIC02Nyw3ICs2Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAlsZC5UaGVhcmNoLlRMU0lFdG9MRSA9IHRsc0lFdG9MRQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLWxpbnV4LXg4Ni02NC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXg4Nl82NC5zby4xIgotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICIvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL2FybS9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtL29iai5nbwotQEAgLTYzLDcgKzYzLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXguc28uMyIgLy8gMiBmb3IgT0FCSSwgMyBmb3IgRUFCSQotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFybWhmLnNvLjEiCi0gCWxkLlRoZWFyY2guRnJlZWJzZGR5bmxkID0gIi91c3IvbGliZXhlYy9sZC1lbGYuc28uMSIKLSAJbGQuVGhlYXJjaC5PcGVuYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLnNvIgotIAlsZC5UaGVhcmNoLk5ldGJzZGR5bmxkID0gIi9saWJleGVjL2xkLmVsZl9zbyIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvYXJtNjQvb2JqLmdvCi0rKysgZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL2FybTY0L29iai5nbwotQEAgLTYyLDcgKzYyLDcgQEAgZnVuYyBJbml0KCkgewotIAlsZC5UaGVhcmNoLkFwcGVuZDMyID0gbGQuQXBwZW5kMzJsCi0gCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGwKLSAKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWIvbGQtbGludXgtYWFyY2g2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWFhcmNoNjQuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHMvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwcy9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJCWxkLlRoZWFyY2guQXBwZW5kNjQgPSBsZC5BcHBlbmQ2NGIKLSAJfQotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLW1pcHNsZS5zby4xIgotIAotIAlsZC5UaGVhcmNoLkZyZWVic2RkeW5sZCA9ICJYWFgiCi0gCWxkLlRoZWFyY2guT3BlbmJzZGR5bmxkID0gIlhYWCIKLUluZGV4OiBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL21pcHM2NC9vYmouZ28KLSsrKyBnby9zcmMvY21kL2xpbmsvaW50ZXJuYWwvbWlwczY0L29iai5nbwotQEAgLTc1LDcgKzc1LDcgQEAgZnVuYyBJbml0KCkgewotIAkJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0YgotIAl9Ci0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYjY0L2xkLW11c2wtbWlwczY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3BwYzY0L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9wcGM2NC9vYmouZ28KLUBAIC03Nyw3ICs3Nyw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJfQotIAotIAkvLyBUT0RPKGF1c3Rpbik6IEFCSSB2MSB1c2VzIC91c3IvbGliL2xkLnNvLjEKLS0JbGQuVGhlYXJjaC5MaW51eGR5bmxkID0gIi9saWI2NC9sZDY0LnNvLjEiCi0rCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliL2xkLW11c2wtcG93ZXJwYzY0bGUuc28uMSIKLSAKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICJYWFgiCi1JbmRleDogZ28vc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdvLm9yaWcvc3JjL2NtZC9saW5rL2ludGVybmFsL3MzOTB4L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC9zMzkweC9vYmouZ28KLUBAIC02Miw3ICs2Miw3IEBAIGZ1bmMgSW5pdCgpIHsKLSAJbGQuVGhlYXJjaC5BcHBlbmQzMiA9IGxkLkFwcGVuZDMyYgotIAlsZC5UaGVhcmNoLkFwcGVuZDY0ID0gbGQuQXBwZW5kNjRiCi0gCi0tCWxkLlRoZWFyY2guTGludXhkeW5sZCA9ICIvbGliNjQvbGQ2NC5zby4xIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLXMzOTB4LnNvLjEiCi0gCi0gCS8vIG5vdCByZWxldmFudCBmb3IgczM5MHgKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiWFhYIgotSW5kZXg6IGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ28ub3JpZy9zcmMvY21kL2xpbmsvaW50ZXJuYWwveDg2L29iai5nbwotKysrIGdvL3NyYy9jbWQvbGluay9pbnRlcm5hbC94ODYvb2JqLmdvCi1AQCAtNjMsNyArNjMsNyBAQCBmdW5jIEluaXQoKSB7Ci0gCWxkLlRoZWFyY2guQXBwZW5kMzIgPSBsZC5BcHBlbmQzMmwKLSAJbGQuVGhlYXJjaC5BcHBlbmQ2NCA9IGxkLkFwcGVuZDY0bAotIAotLQlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1saW51eC5zby4yIgotKwlsZC5UaGVhcmNoLkxpbnV4ZHlubGQgPSAiL2xpYi9sZC1tdXNsLWkzODYuc28uMSIKLSAJbGQuVGhlYXJjaC5GcmVlYnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLWVsZi5zby4xIgotIAlsZC5UaGVhcmNoLk9wZW5ic2RkeW5sZCA9ICIvdXNyL2xpYmV4ZWMvbGQuc28iCi0gCWxkLlRoZWFyY2guTmV0YnNkZHlubGQgPSAiL3Vzci9saWJleGVjL2xkLmVsZl9zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jb21tb24uaW5jCmluZGV4IDExZDU1YzQuLjkzYTNkM2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNvbW1vbi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY29tbW9uLmluYwpAQCAtMjUsNyArMjUsNiBAQAogZXhwb3J0IEdPUk9PVF9PVkVSUklERSA9ICIxIgogZXhwb3J0IEdPVE1QRElSID89ICIke1dPUktESVJ9L2dvLXRtcCIKIEdPVE1QRElSW3ZhcmRlcHZhbHVlXSA9ICIiCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBleHBvcnQgQ0dPX0VOQUJMRUQgPSAiMSIKIAogZG9fY29tcGlsZV9wcmVwZW5kKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW4uaW5jCmluZGV4IGVhNjhiODguLjk0NWQwZjkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbi5pbmMKQEAgLTEsMTAgKzEsMTggQEAKIGluaGVyaXQgY3Jvc3MtY2FuYWRpYW4KIAogREVQRU5EUyA9ICJnby1uYXRpdmUgdmlydHVhbC8ke0hPU1RfUFJFRklYfWdvLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLSR7SE9TVF9QUkVGSVh9Z28tcnVudGltZSBcCi0gICAgICAgICAgIHZpcnR1YWwvJHtIT1NUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtIT1NUX1BSRUZJWH1saWJjLWZvci1nY2MgXAorICAgICAgICAgICB2aXJ0dWFsLyR7SE9TVF9QUkVGSVh9Z2NjLWNyb3Nzc2RrIHZpcnR1YWwvbmF0aXZlc2RrLWxpYmMgXAogICAgICAgICAgICB2aXJ0dWFsL25hdGl2ZXNkay0ke0hPU1RfUFJFRklYfWNvbXBpbGVybGlicyIKIFBOID0gImdvLWNyb3NzLWNhbmFkaWFuLSR7VFJBTlNMQVRFRF9UQVJHRVRfQVJDSH0iCiAKKyMgaXQgdXNlcyBnY2Mgb24gYnVpbGQgbWFjaGluZSBkdXJpbmcgZ28tY3Jvc3MtY2FuYWRpYW4gYm9vdHN0cmFwLCBidXQKKyMgdGhlIGdjYyB2ZXJzaW9uIG1heSBiZSBvbGQgYW5kIG5vdCBzdXBwb3J0IG9wdGlvbiAnLWZtYWNyby1wcmVmaXgtbWFwJworIyB3aGljaCBpcyBvbmUgb2YgZGVmYXVsdCB2YWx1ZXMgb2YgREVCVUdfUFJFRklYX01BUAorREVCVUdfUFJFRklYX01BUCA9ICItZmRlYnVnLXByZWZpeC1tYXA9JHtXT1JLRElSfT0vdXNyL3NyYy9kZWJ1Zy8ke1BOfS8ke0VYVEVORFBFfSR7UFZ9LSR7UFJ9IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfSE9TVH09IFwKKyAgICAgICAgICAgICAgICAgICAgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR7U1RBR0lOR19ESVJfTkFUSVZFfT0gXAorICAgICAgICAgICAgICAgICAgICAiCisKIGV4cG9ydCBHT0hPU1RPUyA9ICIke0JVSUxEX0dPT1N9IgogZXhwb3J0IEdPSE9TVEFSQ0ggPSAiJHtCVUlMRF9HT0FSQ0h9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MtY2FuYWRpYW5fMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FjOTQ0OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuMTIuYmIKQEAgLTAsMCArMSwyIEBACityZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYworcmVxdWlyZSBnby0ke1BWfS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLWNhbmFkaWFuXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY3YTk2Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy1jYW5hZGlhbl8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1yZXF1aXJlIGdvLWNyb3NzLWNhbmFkaWFuLmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotZXhwb3J0IEdPSE9TVE9TX0NST1NTID0gIiR7SE9TVF9HT09TfSIKLWV4cG9ydCBHT0hPU1RBUkNIX0NST1NTID0gIiR7SE9TVF9HT0FSQ0h9IgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtIT1NUX1BSRUZJWH1nY2MgLS1zeXNyb290PSR7U1RBR0lOR19ESVJfSE9TVH0ke1NES1BBVEhOQVRJVkV9ICR7U0VDVVJJVFlfTk9QSUVfQ0ZMQUdTfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke0hPU1RfUFJFRklYfWcrKyAtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSR7U0RLUEFUSE5BVElWRX0gJHtTRUNVUklUWV9OT1BJRV9DRkxBR1N9IgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0JZXhwb3J0IEdPQklOPSIke0J9L2JpbiIKLQlleHBvcnQgVE1QRElSPSIkR09UTVBESVIiCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zcy5pbmMKaW5kZXggNmQ5YWE1Yy4uMjljZTdmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3MuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzLmluYwpAQCAtMTQsNyArMTQsNiBAQAogZXhwb3J0IEdPTUlQUyA9ICIke1RBUkdFVF9HT01JUFN9IgogZXhwb3J0IEdPUk9PVF9CT09UU1RSQVAgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dvIgogZXhwb3J0IEdPUk9PVF9GSU5BTCA9ICIke2xpYmRpcn0vZ28iCi1leHBvcnQgR09DQUNIRSA9ICJvZmYiCiBDQyA9ICIke0BkLmdldFZhcignQlVJTERfQ0MnKS5zdHJpcCgpfSIKIAogZG9fY29uZmlndXJlW25vZXhlY10gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3NzXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYjVhMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zcy5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MzljN2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zcy5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrLmluYwppbmRleCA0MzkxYjMyLi45NGY2ZmI4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nkay5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGsuaW5jCkBAIC0xLDcgKzEsNyBAQAogaW5oZXJpdCBjcm9zc3NkawogCiBERVBFTkRTID0gImdvLW5hdGl2ZSB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1nY2MtY3Jvc3NzZGsgdmlydHVhbC9uYXRpdmVzZGstJHtUQVJHRVRfUFJFRklYfWNvbXBpbGVybGlicyB2aXJ0dWFsLyR7VEFSR0VUX1BSRUZJWH1iaW51dGlscy1jcm9zc3NkayIKLVBOID0gImdvLWNyb3Nzc2RrLSR7VEFSR0VUX0FSQ0h9IgorUE4gPSAiZ28tY3Jvc3NzZGstJHtTREtfU1lTfSIKIFBST1ZJREVTID0gInZpcnR1YWwvJHtUQVJHRVRfUFJFRklYfWdvLWNyb3Nzc2RrIgogCiBleHBvcnQgR09IT1NUT1MgPSAiJHtCVUlMRF9HT09TfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLWNyb3Nzc2RrXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTdjOGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1jcm9zc3Nka18xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhYzYyOWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tY3Jvc3NzZGtfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSBnby1jcm9zc3Nkay5pbmMKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi0KLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7VEFSR0VUX1BSRUZJWH1nY2MgJHtUQVJHRVRfQ0NfQVJDSH0gLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSIKLWV4cG9ydCBDWFhfRk9SX1RBUkdFVCA9ICIke1RBUkdFVF9QUkVGSVh9ZysrICR7VEFSR0VUX0NDX0FSQ0h9IC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0iCi1leHBvcnQgR09fSU5TVEFMTCA9ICJjbWQiCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlleHBvcnQgR09CSU49IiR7Qn0vYmluIgotCWV4cG9ydCBUTVBESVI9IiRHT1RNUERJUiIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJmM2MwZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLW5hdGl2ZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSAke1BOfS5pbmMKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tbmF0aXZlXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYyMWUxZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby1uYXRpdmVfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1yZXF1aXJlICR7UE59LmluYwotcmVxdWlyZSBnby0ke1BWfS5pbmMKLQotR09NQUtFQVJHUyA9ICItLWhvc3Qtb25seSAtLW5vLWJhbm5lciIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS4xMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2I2OGI0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjEyLmJiCkBAIC0wLDAgKzEsMiBAQAorcmVxdWlyZSBnby0ke1BWfS5pbmMKK3JlcXVpcmUgZ28tcnVudGltZS5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXJ1bnRpbWVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1Mjc5ZWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tcnVudGltZV8xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1yZXF1aXJlIGdvLSR7UFZ9LmluYwotcmVxdWlyZSBnby1ydW50aW1lLmluYwotCi1leHBvcnQgR09fVEFSR0VUX0lOU1RBTEwgPSAic3RkIgotZXhwb3J0IENDX0ZPUl9UQVJHRVQgPSAiJHtDQ30iCi1leHBvcnQgQ1hYX0ZPUl9UQVJHRVQgPSAiJHtDWFh9IgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCUNHT19DRkxBR1M9IiR7QlVJTERfQ0ZMQUdTfSIgQ0dPX0xERkxBR1M9IiR7QlVJTERfTERGTEFHU30iIC4vbWFrZS5iYXNoIC0taG9zdC1vbmx5Ci0JY3AgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9L2dvX2Jvb3RzdHJhcCAke0J9Ci0Jcm0gLXJmICR7Qn0vcGtnLyR7VEFSR0VUX0dPVFVQTEV9Ci0JLi9tYWtlLmJhc2ggLS10YXJnZXQtb25seQotCWlmIFsgLW4gIiR7R09fRFlOTElOS30iIF07IHRoZW4KLQkJY3AgJHtCfS9nb19ib290c3RyYXAgJHtCfS9wa2cvdG9vbC8ke0JVSUxEX0dPVFVQTEV9Ci0JCUdPX0ZMQUdTPSItYnVpbGRtb2RlPXNoYXJlZCIgR09fTERGTEFHUz0iLWV4dGxkZmxhZ3MgXCIke0xERkxBR1N9XCIiIC4vbWFrZS5iYXNoIC0tdGFyZ2V0LW9ubHkKLQlmaQotCWNkICR7Qn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nby10YXJnZXQuaW5jCmluZGV4IGMyMjlhYjIuLjM3OWY4N2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvLXRhcmdldC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ28tdGFyZ2V0LmluYwpAQCAtNDAsNyArNDAsNyBAQAogCWZvciBmIGluICR7Qn0vJHtHT19CVUlMRF9CSU5ESVJ9Lyo7IGRvCiAJCW5hbWU9YGJhc2VuYW1lICRmYAogCQlpbnN0YWxsIC1tIDA3NTUgJGYgJHtEfSR7bGliZGlyfS9nby9iaW4vCi0JCWxuIC1zZiAuLi8ke0JBU0VMSUJ9L2dvL2Jpbi8kbmFtZSAke0R9JHtiaW5kaXJ9LworCQlsbiAtc2YgLi4vJHtiYXNlbGlifS9nby9iaW4vJG5hbWUgJHtEfSR7YmluZGlyfS8KIAlkb25lCiB9CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyY2RiMDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9nby9nb18xLjEyLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgZ28tJHtQVn0uaW5jCityZXF1aXJlIGdvLXRhcmdldC5pbmMKKworZXhwb3J0IEdPQlVJTERNT0RFPSIiCisKKyMgQWRkIHBpZSB0byBHT0JVSUxETU9ERSB0byBzYXRpc2Z5ICJ0ZXh0cmVsIiBRQSBjaGVja2luZywgYnV0IG1pcHMKKyMgZG9lc24ndCBzdXBwb3J0IC1idWlsZG1vZGU9cGllLCBzbyBza2lwIHRoZSBRQSBjaGVja2luZyBmb3IgbWlwcyBhbmQgaXRzCisjIHZhcmlhbnRzLgorcHl0aG9uKCkgeworICAgIGlmICdtaXBzJyBpbiBkLmdldFZhcignVEFSR0VUX0FSQ0gnKToKKyAgICAgICAgZC5hcHBlbmRWYXIoJ0lOU0FORV9TS0lQXyVzJyAlIGQuZ2V0VmFyKCdQTicpLCAiIHRleHRyZWwiKQorICAgIGVsc2U6CisgICAgICAgIGQuc2V0VmFyKCdHT0JVSUxETU9ERScsICdwaWUnKQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvZ28vZ29fMS45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjNlYTBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2dvL2dvXzEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLXJlcXVpcmUgZ28tJHtQVn0uaW5jCi1yZXF1aXJlIGdvLXRhcmdldC5pbmMKLQotZXhwb3J0IEdPX1RBUkdFVF9JTlNUQUxMID0gImNtZCIKLWV4cG9ydCBHT19GTEFHUyA9ICItYSIKLWV4cG9ydCBDQ19GT1JfVEFSR0VUID0gIiR7Q0N9IgotZXhwb3J0IENYWF9GT1JfVEFSR0VUID0gIiR7Q1hYfSIKLWV4cG9ydCBHT0JVSUxETU9ERT0iIgotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBHT0JJTj0iJHtCfS9iaW4iCi0JZXhwb3J0IFRNUERJUj0iJEdPVE1QRElSIgotCWV4cG9ydCBDQz0kQlVJTERfQ0MKLQotCWNkIHNyYwotCS4vbWFrZS5iYXNoCi0JY2QgJHtCfQotfQotCi0jIEFkZCBwaWUgdG8gR09CVUlMRE1PREUgdG8gc2F0aXNmeSAidGV4dHJlbCIgUUEgY2hlY2tpbmcsIGJ1dCBtaXBzCi0jIGRvZXNuJ3Qgc3VwcG9ydCAtYnVpbGRtb2RlPXBpZSwgc28gc2tpcCB0aGUgUUEgY2hlY2tpbmcgZm9yIG1pcHMgYW5kIGl0cwotIyB2YXJpYW50cy4KLXB5dGhvbigpIHsKLSAgICBpZiAnbWlwcycgaW4gZC5nZXRWYXIoJ1RBUkdFVF9BUkNIJyk6Ci0gICAgICAgIGQuYXBwZW5kVmFyKCdJTlNBTkVfU0tJUF8lcycgJSBkLmdldFZhcignUE4nKSwgIiB0ZXh0cmVsIikKLSAgICBlbHNlOgotICAgICAgICBkLnNldFZhcignR09CVUlMRE1PREUnLCAncGllJykKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2MtZW52LnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKaW5kZXggOTkwZDJmYi4uMGRjY2M0MSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1lbnYuc2gKQEAgLTM4LDExICszOCwxMSBAQAogICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1mbm8tZGlhZ25vc3RpY3Mtc2hvdy1jYXJldCIKICAgICBmaQogICAgIGV4cG9ydCBJQ0VDQ19QQVRIIElDRUNDX0NBUkVUX1dPUktBUk9VTkQKLSAgICBleHBvcnQgSUNFQ0NfVkVSU0lPTj0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvaWNlY3JlYW0vQFRPT0xDSEFJTl9FTlZAIgorICAgIGV4cG9ydCBJQ0VDQ19WRVJTSU9OPSIkKGVjaG8gIiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlLyR7VEFSR0VUX1BSRUZJWH1pY2VjcmVhbS9AVE9PTENIQUlOX0VOVkAiIHwgc2VkICJzLEBUQVJHRVRfUFJFRklYQCwkVEFSR0VUX1BSRUZJWCxnIikiCiAgICAgZXhwb3J0IElDRUNDPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1nY2MpIgogICAgIGV4cG9ydCBJQ0VDWFg9IiQod2hpY2ggJHtDUk9TU19DT01QSUxFfWcrKykiCiAgICAgZXhwb3J0IElDRUFTPSIkKHdoaWNoICR7Q1JPU1NfQ09NUElMRX1hcykiCi0gICAgZXhwb3J0IFBBVEg9IiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvdXNyL3NoYXJlL2ljZWNyZWFtL2JpbjokUEFUSCIKKyAgICBleHBvcnQgUEFUSD0iJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3Ivc2hhcmUvJHtUQVJHRVRfUFJFRklYfWljZWNyZWFtL2JpbjokUEFUSCIKIGVsc2UKICAgICBlY2hvICJJY2VjYyBub3QgZm91bmQuIERpc2FibGluZyBkaXN0cmlidXRlZCBjb21waWxpbmciCiBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy10b29sY2hhaW4vaWNlY2Mtc2V0dXAuc2gKaW5kZXggMjUyNTBiNy4uZmJkOWYwMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL2ljZWNjLXRvb2xjaGFpbi9pY2VjYy1zZXR1cC5zaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vaWNlY2MtdG9vbGNoYWluL2ljZWNjLXNldHVwLnNoCkBAIC0zMiw3ICszMiw3IEBACiBpY2VjYy1jcmVhdGUtZW52ICRJQ0VDQyAkSUNFQ1hYICRJQ0VBUyAkSUNFQ0NfVkVSU0lPTiB8fCBleGl0ICQ/CiAKICMgQ3JlYXRlIHN5bWJvbGljIGxpbmtzCi1kPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9pY2VjcmVhbS9iaW4iCitkPSIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS8ke1RBUkdFVF9QUkVGSVh9aWNlY3JlYW0vYmluIgogbWtkaXIgLXAgIiRkIgotbG4gLXMgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKLWxuIC1zICIkSUNFQ0NfUEFUSCIgIiRkLyR7Q1JPU1NfQ09NUElMRX1nKysiCitsbiAtc2YgIiRJQ0VDQ19QQVRIIiAiJGQvJHtDUk9TU19DT01QSUxFfWdjYyIKK2xuIC1zZiAiJElDRUNDX1BBVEgiICIkZC8ke0NST1NTX0NPTVBJTEV9ZysrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvaWNlY2MtdG9vbGNoYWluL25hdGl2ZXNkay1pY2VjYy10b29sY2hhaW5fMC4xLmJiCmluZGV4IDlkMjc1MGUuLjMwNGFkN2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2ljZWNjLXRvb2xjaGFpbi9uYXRpdmVzZGstaWNlY2MtdG9vbGNoYWluXzAuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9pY2VjYy10b29sY2hhaW4vbmF0aXZlc2RrLWljZWNjLXRvb2xjaGFpbl8wLjEuYmIKQEAgLTEzLDcgKzEzLDcgQEAKIAogaW5oZXJpdCBuYXRpdmVzZGsKIAotRU5WX05BTUU9IiR7RElTVFJPfS0ke1RDTElCQ30tJHtTREtfQVJDSH0tJHtUVU5FX1BLR0FSQ0h9LSR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKK0VOVl9OQU1FPSIke0RJU1RST30tJHtUQ0xJQkN9LSR7U0RLX0FSQ0h9LUBUQVJHRVRfUFJFRklYQCR7RElTVFJPX1ZFUlNJT059LnRhci5neiIKIAogZG9fY29tcGlsZSgpIHsKIH0KQEAgLTI0LDEyICsyNCwxMiBAQAogICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9pY2VjYy1lbnYuc2ggJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC8KICAgICBzZWQgLWkgJHtEfSR7U0RLUEFUSE5BVElWRX0vZW52aXJvbm1lbnQtc2V0dXAuZC9pY2VjYy1lbnYuc2ggXAotICAgICAgICAtZSAicyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZyIKKyAgICAgICAgLWUgJ3MsQFRPT0xDSEFJTl9FTlZALCR7RU5WX05BTUV9LGcnCiAKICAgICBpbnN0YWxsIC1kICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC8KICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pY2VjYy1zZXR1cC5zaCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCiAgICAgc2VkIC1pICR7RH0ke1NES1BBVEhOQVRJVkV9L3Bvc3QtcmVsb2NhdGUtc2V0dXAuZC9pY2VjYy1zZXR1cC5zaCBcCi0gICAgICAgIC1lICJzLEBUT09MQ0hBSU5fRU5WQCwke0VOVl9OQU1FfSxnIgorICAgICAgICAtZSAncyxAVE9PTENIQUlOX0VOVkAsJHtFTlZfTkFNRX0sZycKIH0KIAogUEFDS0FHRVMgPSAiJHtQTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOTAyNjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wcy8wMDAxLUFkZC1jcmMzMi5jLXRvLXNvdXJjZXMtbGlzdC5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitGcm9tIDgzNDA3YWE1MGUwNmQ5NjdkMGExMDk1YTE0MGJkN2IwZTVkNTFkMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTM6MDk6MDUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGNyYzMyLmMgdG8gc291cmNlcyBsaXN0CisKK090aGVyd2lzZSwgdGhlcmUgaXMgYSBtaXNzaW5nIHN5bWJvbCBydW50aW1lIGVycm9yIHVuZGVyIG11c2wgQyBsaWJyYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQgfCA0ICsrLS0KKyBsaWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jICAgICAgICB8IDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL0NNYWtlTGlzdHMudHh0IGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IDZlZDI1YmIuLmMxNWM4YjIgMTAwNjQ0CistLS0gYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9DTWFrZUxpc3RzLnR4dAorKysrIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC05LDEzICs5LDEzIEBAIHNldCAocHljb21wc19TUkNESVIgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQorIHNldCAocHljb21wc19TUkMgcHljb21wcy5jIHB5Y29tcHNfc2VxdWVuY2UuYworICAgICAgcHljb21wc19lbnZzLmMgcHljb21wc19jYXRlZ29yaWVzLmMgcHljb21wc19ncm91cHMuYworICAgICAgcHljb21wc19naWRzLmMgcHljb21wc191dGlscy5jIHB5Y29tcHNfZGljdC5jIHB5Y29tcHNfbWRpY3QuYworLSAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jKQorKyAgICAgcHljb21wc19oYXNoLmMgcHljb21wc19leGMuYyBweWNvbXBzX2xidy5jIGNyYzMyLmMpCisgCisgc2V0IChweWNvbXBzX0hFQURFUlMgcHljb21wc18yM21hY3Jvcy5oIHB5Y29tcHNfc2VxdWVuY2UuaAorICAgICAgcHljb21wc19lbnZzLmggcHljb21wc19jYXRlZ29yaWVzLmggcHljb21wc19ncm91cHMuaAorICAgICAgcHljb21wc19naWRzLmggcHljb21wc191dGlscy5oIHB5Y29tcHNfZGljdC5oIHB5Y29tcHNfbWRpY3QuaAorICAgICAgcHljb21wc19oYXNoLmggcHljb21wc19leGMuaCBweWNvbXBzX2xidy5oCistICAgICBweWNvbXBzX3R5cGVzLmgpCisrICAgICBweWNvbXBzX3R5cGVzLmggY3JjMzIuaCkKKyAKKyAjc2V0KFRFU1RfRklMRVMgLi4vX19pbml0X18ucHkgX190ZXN0LnB5IHRlc3RfbWVyZ2VfY29tcHMucHkgdGVzdF9saWJjb21wcy5weQorICMgICAgICAgICAgICAgICB1dGVzdC5weSkKK2RpZmYgLS1naXQgYS9saWJjb21wcy9zcmMvcHl0aG9uL3NyYy9jcmMzMi5jIGIvbGliY29tcHMvc3JjL3B5dGhvbi9zcmMvY3JjMzIuYworaW5kZXggZDhmNWUzNC4uZjI2NjA2NyAxMDA2NDQKKy0tLSBhL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKKysrKyBiL2xpYmNvbXBzL3NyYy9weXRob24vc3JjL2NyYzMyLmMKK0BAIC00MSw3ICs0MSw3IEBACisgICovCisgCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorLSNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KKysjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgc3RhdGljIHVpbnQzMl90IGNyYzMyX3RhYltdID0geworIAkweDAwMDAwMDAwLCAweDc3MDczMDk2LCAweGVlMGU2MTJjLCAweDk5MDk1MWJhLCAweDA3NmRjNDE5LCAweDcwNmFmNDhmLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliY29tcHMvbGliY29tcHNfZ2l0LmJiCmluZGV4IGU2OWJmNjcuLmZmNjgyMDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmNvbXBzL2xpYmNvbXBzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJjb21wcy9saWJjb21wc19naXQuYmIKQEAgLTYsMTAgKzYsMTEgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LXNldC1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1weXRob24ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMi1TZXQtbGlicmFyeS1pbnN0YWxsYXRpb24tcGF0aC1jb3JyZWN0bHkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLV9fY29tcHNfb2JqbXJ0cmVlX2FsbC1zdGF0aWMtaW5saW5lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWNyYzMyLmMtdG8tc291cmNlcy1saXN0LnBhdGNoIFwKICAgICAgICAgICAgIgogCi1QViA9ICIwLjEuOCtnaXQke1NSQ1BWfSIKLVNSQ1JFViA9ICIwMWE0NzU5ODk0Y2NjZmY2NGQyNTYxNjE0YTU4MjgxYWRmNWNlODU5IgorUFYgPSAiMC4xLjEwIgorU1JDUkVWID0gIjg2YTgyZmNkMTU1YzI3MDkyMzQwZDE1YTM0ZjVjNzVjNGRhODgyNDMiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMS1BZGQtV0lUSF9URVNUUy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjODEzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtQWRkLVdJVEhfVEVTVFMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gMGQwMTU1YzRkZDZjMGIzMzA1ZWEyYWIwZTEwYjBmODRkMDI0YTZlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCA2IE5vdiAyMDE4IDEzOjU0OjQzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXSVRIX1RFU1RTIG9wdGlvbgorCitUaGlzIG1ha2VzIGEgZGVwZW5kZW5jeSBvbiBjcHB1bml0IG9wdGlvbmFsLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBDTWFrZUxpc3RzLnR4dCAgICAgICAgICAgICAgIHwgMyArKysKKyBweXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0IHwgMiArKworIDIgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCBiNzNhMDNkNy4uYTllMDIwMGYgMTAwNjQ0CistLS0gYS9DTWFrZUxpc3RzLnR4dAorKysrIGIvQ01ha2VMaXN0cy50eHQKK0BAIC0zNiw2ICszNiw3IEBAIE9QVElPTihXSVRIX01BTiAiRW5hYmxlcyBoYXdrZXkgbWFuIHBhZ2UgZ2VuZXJhdGlvbiIgT04pCisgT1BUSU9OKFdJVEhfSFRNTCAiRW5hYmxlcyBoYXdrZXkgSFRNTCBnZW5lcmF0aW9uIiBPTikKKyAKKyBPUFRJT04oV0lUSF9CSU5ESU5HUyAiRW5hYmxlcyBweXRob24vU1dJRyBiaW5kaW5ncyIgT04pCisrT1BUSU9OKFdJVEhfVEVTVFMgIkVuYWJsZXMgdW5pdCB0ZXN0cyIgT04pCisgCisgT1BUSU9OIChFTkFCTEVfU09MVl9VUlBNUkVPUkRFUiAiQnVpbGQgd2l0aCBzdXBwb3J0IGZvciBVUlBNLWxpa2Ugc29sdXRpb24gcmVvcmRlcmluZz8iIE9GRikKKyBvcHRpb24gKEVOQUJMRV9SSFNNX1NVUFBPUlQgIkJ1aWxkIHdpdGggUmVkIEhhdCBTdWJzY3JpcHRpb24gTWFuYWdlciBzdXBwb3J0PyIgT0ZGKQorQEAgLTEyMiw4ICsxMjMsMTAgQEAgSUYgKFdJVEhfQklORElOR1MpCisgIyBBRERfU1VCRElSRUNUT1JZIChiaW5kaW5ncy9wZXJsKQorIEFERF9TVUJESVJFQ1RPUlkgKGJpbmRpbmdzL3B5dGhvbikKKyBFTkRJRigpCisrSUYgKFdJVEhfVEVTVFMpCisgRU5BQkxFX1RFU1RJTkcoKQorIEFERF9TVUJESVJFQ1RPUlkgKHRlc3RzKQorK0VORElGKCkKKyBJRiAoV0lUSF9CSU5ESU5HUykKKyBBRERfU1VCRElSRUNUT1JZIChweXRob24vaGF3a2V5KQorIEFERF9TVUJESVJFQ1RPUlkgKGRvY3MvaGF3a2V5KQorZGlmZiAtLWdpdCBhL3B5dGhvbi9oYXdrZXkvQ01ha2VMaXN0cy50eHQgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitpbmRleCAzYzBiM2MwYy4uMzE0NjZlZDkgMTAwNjQ0CistLS0gYS9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CisrKysgYi9weXRob24vaGF3a2V5L0NNYWtlTGlzdHMudHh0CitAQCAtNDksNCArNDksNiBAQCBUQVJHRVRfTElOS19MSUJSQVJJRVMoX2hhd2tleW1vZHVsZSAke1BZVEhPTl9MSUJSQVJZfSkKKyBJTlNUQUxMKEZJTEVTIF9faW5pdF9fLnB5IERFU1RJTkFUSU9OICR7UFlUSE9OX0lOU1RBTExfRElSfS9oYXdrZXkpCisgSU5TVEFMTChUQVJHRVRTIF9oYXdrZXltb2R1bGUgTElCUkFSWSBERVNUSU5BVElPTiAke1BZVEhPTl9JTlNUQUxMX0RJUn0vaGF3a2V5KQorIAorK0lGIChXSVRIX1RFU1RTKQorIEFERF9TVUJESVJFQ1RPUlkodGVzdHMpCisrRU5ESUYoKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAppbmRleCBjYmQwMzYyLi4yNDZkYjM0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMmJmMDY2NjU0NDI5M2RjZmFjMmY2N2I2NzhlMjQzNTNhY2RjZDRlNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYzEzOWE2YzkyOWNmZjkzZGJiOWI4Mjc5ZTk3MjYzZmM5ZTA1NTcyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVHVlLCA3IEZlYiAyMDE3IDEyOjE2OjAzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBHZXQgcGFyYW1ldGVycyBmb3IgYm90aCBsaWJzb2x2IGFuZCBsaWJzb2x2ZXh0IChsaWJkbmYgaXMKK1N1YmplY3Q6IFtQQVRDSF0gR2V0IHBhcmFtZXRlcnMgZm9yIGJvdGggbGlic29sdiBhbmQgbGlic29sdmV4dCAobGliZG5mIGlzCiAKICB1c2luZyBib3RoKQogCkBAIC0xMywxOCArMTMsMTUgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IGNhMjgwZjMuLjZhYjk4MjcgMTAwNjQ0CitpbmRleCBjZDkxZjA4Li42NDIyNTM0IDEwMDY0NAogLS0tIGEvQ01ha2VMaXN0cy50eHQKICsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtMjksNyArMjksNyBAQCBmaW5kX3BhY2thZ2UgKFBrZ0NvbmZpZyBSRVFVSVJFRCkKLSBTRVQgKENNQUtFX01PRFVMRV9QQVRIICR7Q01BS0VfU09VUkNFX0RJUn0vY21ha2UvbW9kdWxlcykKK0BAIC00Niw3ICs0Niw3IEBAIGVuZGlmKEFQUExFKQogIFBLR19DSEVDS19NT0RVTEVTKEdMSUIgZ2lvLXVuaXgtMi4wPj0yLjQ2LjAgUkVRVUlSRUQpCisgcGtnX2NoZWNrX21vZHVsZXMoU01BUlRDT0xTIFJFUVVJUkVEIHNtYXJ0Y29scykKICBGSU5EX0xJQlJBUlkgKFJQTURCX0xJQlJBUlkgTkFNRVMgcnBtZGIpCiAtUEtHX0NIRUNLX01PRFVMRVMgKExJQlNPTFYgUkVRVUlSRUQgbGlic29sdikKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2IGxpYnNvbHZleHQpCiAgc2V0KExJQlNPTFZfTElCUkFSWSAke0xJQlNPTFZfTElCUkFSSUVTfSkKICBpZiAoRU5BQkxFX1JIU01fU1VQUE9SVCkKLSAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbSkKLS0tIAotMi4xNC4yCi0KKyAgICAgcGtnX2NoZWNrX21vZHVsZXMgKFJIU00gUkVRVUlSRUQgbGlicmhzbT49MC4wLjMpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDEtaW5jbHVkZS1taXNzaW5nLXN0cmluZy1hbmQtZXJybm8uaC1oZWFkZXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmRlNzg0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaApAQCAtMCwwICsxLDY1IEBACitGcm9tIGNjYzg5ZmYwYzFmOGU1NWE0YTIyNDQ0ZDA1MTkyNTQwOGYyNjVkZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAxMDozMjoxMSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBpbmNsdWRlIG1pc3NpbmcgPHN0cmluZz4gYW5kIGVycm5vLmggaGVhZGVycworCitUaGlzIGlzIHVuZWFydGhlZCB3aGVuIGNvbXBpbGluZyB3aXRoIGNsYW5nL2xpYmMrKworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzY3N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAgICAgICAgICAgICAgfCAxICsKKyBsaWJkbmYvbW9kdWxlL21vZHVsZW1kL01vZHVsZVByb2ZpbGUuaHBwIHwgMSArCisgbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCAgICAgICAgICAgICAgICB8IDEgKworIGxpYmRuZi91dGlscy9zbWFydGNvbHMvQ2VsbC5ocHAgICAgICAgICAgfCAxICsKKyA0IGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliZG5mL2NvbmYvQ29uZmlnUGFyc2VyLmhwcCBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK2luZGV4IDk3ZjI1NTAwLi4yYTM4NTFmYSAxMDA2NDQKKy0tLSBhL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKKysrKyBiL2xpYmRuZi9jb25mL0NvbmZpZ1BhcnNlci5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgI2luY2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8c3RkZXhjZXB0PgorKyNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgbmFtZXNwYWNlIGxpYmRuZiB7CitkaWZmIC0tZ2l0IGEvbGliZG5mL21vZHVsZS9tb2R1bGVtZC9Nb2R1bGVQcm9maWxlLmhwcCBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK2luZGV4IGFiMDE4ZGViLi44ZDk5NmZmNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKKysrKyBiL2xpYmRuZi9tb2R1bGUvbW9kdWxlbWQvTW9kdWxlUHJvZmlsZS5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgCisgCisgI2luY2x1ZGUgPG1lbW9yeT4KKysjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1ZGUgPG1vZHVsZW1kL21vZHVsZW1kLmg+CitkaWZmIC0tZ2l0IGEvbGliZG5mL3NhY2svY2hhbmdlbG9nLmhwcCBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK2luZGV4IGEzZDNmYzQ0Li5kODMwYzQxNCAxMDA2NDQKKy0tLSBhL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKKysrKyBiL2xpYmRuZi9zYWNrL2NoYW5nZWxvZy5ocHAKK0BAIC0yMyw2ICsyMyw3IEBACisgI2RlZmluZSBfX0NIQU5HRUxPR19IUFAKKyAKKyAjaW5jbHVkZSA8Y3RpbWU+CisrI2luY2x1ZGUgPHN0cmluZz4KKyAKKyBuYW1lc3BhY2UgbGliZG5mIHsKKyAKK2RpZmYgLS1naXQgYS9saWJkbmYvdXRpbHMvc21hcnRjb2xzL0NlbGwuaHBwIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAoraW5kZXggMmU4MTFkZWUuLmI5MGYwMDUwIDEwMDY0NAorLS0tIGEvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorKysrIGIvbGliZG5mL3V0aWxzL3NtYXJ0Y29scy9DZWxsLmhwcAorQEAgLTIyLDYgKzIyLDcgQEAKKyAjZGVmaW5lIExJQkRORl9DRUxMX0hQUAorIAorICNpbmNsdWRlIDxsaWJzbWFydGNvbHMvbGlic21hcnRjb2xzLmg+CisrI2luY2x1ZGUgPGNlcnJubz4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDItUHJlZml4LXN5c3Jvb3QtcGF0aC10by1pbnRyb3NwZWN0aW9uLXRvb2xzLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZWNjM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSBjODIxMWFkOTljY2FhNGFmNGE3NWUwYmE2Mzk1MjcyNjdmY2ZkNjllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjE3OjE5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi80XSBQcmVmaXggc3lzcm9vdCBwYXRoIHRvIGludHJvc3BlY3Rpb24gdG9vbHMgcGF0aC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJkbmYvcHVsbC8zMTJdCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLS0tLQotIGxpYmRuZi9DTWFrZUxpc3RzLnR4dCB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJkbmYvQ01ha2VMaXN0cy50eHQgYi9saWJkbmYvQ01ha2VMaXN0cy50eHQKLWluZGV4IDYzZjA3YmYuLjgzNzc5MmIgMTAwNjQ0Ci0tLS0gYS9saWJkbmYvQ01ha2VMaXN0cy50eHQKLSsrKyBiL2xpYmRuZi9DTWFrZUxpc3RzLnR4dAotQEAgLTEzMyw3ICsxMzMsNyBAQCBpZiAoR09CSkVDVF9JTlRST1NQRUNUSU9OX0ZPVU5EKQotICAgICAgICAgc2V0KEdJUl9UWVBFTElCICIke0dJUl9QUkVGSVh9LnR5cGVsaWIiKQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9YTUx9Ci0tICAgICAgICAgICAgQ09NTUFORCBlbnYgQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSsgICAgICAgICAgICBDT01NQU5EIGVudiBDRkxBR1M9JHtDTUFLRV9DX0ZMQUdTfSAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfU0NBTk5FUn0KLSAgICAgICAgICAgICAgICAgICAgIC0tbmFtZXNwYWNlPURuZgotICAgICAgICAgICAgICAgICAgICAgLS1uc3ZlcnNpb249JHtETkZfU09fVkVSU0lPTn0uMAotICAgICAgICAgICAgICAgICAgICAgLS1saWJyYXJ5LXBhdGg9JHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9Ci1AQCAtMTUzLDcgKzE1Myw3IEBAIGlmIChHT0JKRUNUX0lOVFJPU1BFQ1RJT05fRk9VTkQpCi0gICAgICAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9KQotIAotICAgICAgICAgYWRkX2N1c3RvbV9jb21tYW5kKE9VVFBVVCAke0dJUl9UWVBFTElCfQotLSAgICAgICAgICAgIENPTU1BTkQgJHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0rICAgICAgICAgICAgQ09NTUFORCAkRU5We1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9JHtHT0JKRUNUX0lOVFJPU1BFQ1RJT05fMS4wX0dfSVJfQ09NUElMRVJ9Ci0gICAgICAgICAgICAgICAgICAgICAtbyAke0dJUl9UWVBFTElCfQotICAgICAgICAgICAgICAgICAgICAgJHtHSVJfWE1MfQotICAgICAgICAgICAgIERFUEVORFMgJHtHSVJfWE1MfQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwMy1TZXQtdGhlLWxpYnJhcnktaW5zdGFsbGF0aW9uLWRpcmVjdG9yeS1jb3JyZWN0bHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMjY0MDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZi8wMDAzLVNldC10aGUtbGlicmFyeS1pbnN0YWxsYXRpb24tZGlyZWN0b3J5LWNvcnJlY3RseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZyb20gOGQyOTg3OWZlMzYwNmM3ODc2OWMxYmNkZGRmMGJjZmM3MTkxYzcxMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMDowMSArMDIwMAotU3ViamVjdDogW1BBVENIIDMvNF0gU2V0IHRoZSBsaWJyYXJ5IGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgY29ycmVjdGx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZi9wdWxsLzMxMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotLS0tCi0gQ01ha2VMaXN0cy50eHQgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCBkMzVmMGQ3Li44ZWRiNjI3IDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlzdHMudHh0Ci1AQCAtNjIsNyArNjIsOSBAQCBBRERfREVGSU5JVElPTlMoLURQQUNLQUdFX1ZFUlNJT049XFwiJHtMSUJETkZfVkVSU0lPTn1cXCIpCi0gSUYgKENNQUtFX1NJWkVPRl9WT0lEX1AgTUFUQ0hFUyAiOCIpCi0gICBTRVQgKExJQl9TVUZGSVggIjY0IikKLSBFTkRJRiAoQ01BS0VfU0laRU9GX1ZPSURfUCBNQVRDSEVTICI4IikKLS1TRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbGliJHtMSUJfU1VGRklYfSIpCi0rI1NFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9saWIke0xJQl9TVUZGSVh9IikKLStTRVQgKExJQl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0iKQotKwotIAotIEFERF9TVUJESVJFQ1RPUlkgKGxpYmRuZikKLSBFTkFCTEVfVEVTVElORygpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCmluZGV4IDZjZjQ4YTQuLjgwYjFlZDcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmYvMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSBiY2VhNWM1MDYzYTJkNWYwN2RiZTZmNDBhZWUzMDM3MGZjNGJhNjU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyYmNkMGI5ZjYzMTBiYWNkYzU1NGUwNzdlODUzMTlhNWU5MGU1Y2UwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjI0OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTZXQgbGlic29sdiB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnIChjbWFrZSdzIG93biBtb2R1bGUKK1N1YmplY3Q6IFtQQVRDSF0gU2V0IGxpYnNvbHYgdmFyaWFibGVzIHdpdGggcGtnLWNvbmZpZyAoY21ha2UncyBvd24gbW9kdWxlCiAKICBkb2Vzbid0IHdvcmsgcHJvcGVybHkpLgogCkBAIC0xMywxOSArMTMsMTYgQEAKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA4ODc1YmJmLi5jYTI4MGYzIDEwMDY0NAoraW5kZXggMGI0MDVjYi4uY2Q5MWYwOCAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTI5LDcgKzI5LDggQEAgZmluZF9wYWNrYWdlIChQa2dDb25maWcgUkVRVUlSRUQpCi0gU0VUIChDTUFLRV9NT0RVTEVfUEFUSCAke0NNQUtFX1NPVVJDRV9ESVJ9L2NtYWtlL21vZHVsZXMpCitAQCAtNDYsNyArNDYsOCBAQCBlbmRpZihBUFBMRSkKICBQS0dfQ0hFQ0tfTU9EVUxFUyhHTElCIGdpby11bml4LTIuMD49Mi40Ni4wIFJFUVVJUkVEKQorIHBrZ19jaGVja19tb2R1bGVzKFNNQVJUQ09MUyBSRVFVSVJFRCBzbWFydGNvbHMpCiAgRklORF9MSUJSQVJZIChSUE1EQl9MSUJSQVJZIE5BTUVTIHJwbWRiKQotLWZpbmRfcGFja2FnZSAoTGliU29sdiAwLjYuMjEgUkVRVUlSRUQgQ09NUE9ORU5UUyBleHQpCistZmluZF9wYWNrYWdlIChMaWJTb2x2IDAuNi4zMCBSRVFVSVJFRCBDT01QT05FTlRTIGV4dCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyAoTElCU09MViBSRVFVSVJFRCBsaWJzb2x2KQogK3NldChMSUJTT0xWX0xJQlJBUlkgJHtMSUJTT0xWX0xJQlJBUklFU30pCiAgaWYgKEVOQUJMRV9SSFNNX1NVUFBPUlQpCi0gICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20pCisgICAgIHBrZ19jaGVja19tb2R1bGVzIChSSFNNIFJFUVVJUkVEIGxpYnJoc20+PTAuMC4zKQogICAgICBpbmNsdWRlX2RpcmVjdG9yaWVzICgke1JIU01fSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xNC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYmRuZi9saWJkbmZfMC4xMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmYzFkNmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjExLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgcHJvdmlkaW5nIHNpbXBsaWZpZWQgQyBhbmQgUHl0aG9uIEFQSSB0byBsaWJzb2x2IgotTElDRU5TRSA9ICJMR1BMdjIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vcnBtLXNvZnR3YXJlLW1hbmFnZW1lbnQvbGliZG5mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRmluZEd0a0RvYy5jbWFrZS1kcm9wLXRoZS1yZXF1aXJlbWVudC1mb3ItR1RLRE9DX1NDQS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLVByZWZpeC1zeXNyb290LXBhdGgtdG8taW50cm9zcGVjdGlvbi10b29scy1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtU2V0LXRoZS1saWJyYXJ5LWluc3RhbGxhdGlvbi1kaXJlY3RvcnktY29ycmVjdGx5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtU2V0LWxpYnNvbHYtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1jbWFrZS1zLW93bi1tby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUdldC1wYXJhbWV0ZXJzLWZvci1ib3RoLWxpYnNvbHYtYW5kLWxpYnNvbHZleHQtbGliZG4ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ1JFViA9ICI2MGY5NzliZDhkYjY1MTIyOWM1NTljMTQxMmYxZWI4ODAyNTcxMjdkIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYnNvbHYgbGliY2hlY2sgbGlicmVwbyBycG0gZ3RrLWRvYyIKLQotaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCi0gICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCi0gICAgICAgICAgICAgICAgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfR0lSPU9GRiIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURXSVRIX0dJUj1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJkbmYvbGliZG5mXzAuMjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzIyNDdjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGliZG5mL2xpYmRuZl8wLjI2LjAuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IHByb3ZpZGluZyBzaW1wbGlmaWVkIEMgYW5kIFB5dGhvbiBBUEkgdG8gbGlic29sdiIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L2xpYmRuZiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpbmRHdGtEb2MuY21ha2UtZHJvcC10aGUtcmVxdWlyZW1lbnQtZm9yLUdUS0RPQ19TQ0EucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtbGlic29sdi12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLWNtYWtlLXMtb3duLW1vLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtR2V0LXBhcmFtZXRlcnMtZm9yLWJvdGgtbGlic29sdi1hbmQtbGlic29sdmV4dC1saWJkbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1XSVRIX1RFU1RTLW9wdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbWlzc2luZy1zdHJpbmctYW5kLWVycm5vLmgtaGVhZGVycy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDUkVWID0gImJkMjMyMDRhYTgzZDEwZTNkMjkzYTlmMmQ0OTZjYmE2MDcwZjZhNGQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgbGlic29sdiBsaWJjaGVjayBsaWJyZXBvIHJwbSBndGstZG9jIGxpYm1vZHVsZW1kIGpzb24tYyBzd2lnLW5hdGl2ZSIKKworaW5oZXJpdCBndGstZG9jIGdvYmplY3QtaW50cm9zcGVjdGlvbiBjbWFrZSBwa2djb25maWcgZGlzdHV0aWxzMy1iYXNlCisKK0VYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EV0lUSF9NQU49T0ZGIC1EUFlUSE9OX0RFU0lSRUQ9MyBcCisgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURXSVRIX0dJUj1PTicsICctRFdJVEhfR0lSPU9GRicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAtRFdJVEhfVEVTVFM9T0ZGIFwKKyAgICAgICAgICAgICAgICAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1EV0lUSF9HSVI9T0ZGIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtRFdJVEhfR0lSPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTk4YzE3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMS1zcGVjX3RtcGwuc2gtdXNlLWJpbi1zaC1ub3QtdXNyLWJpbi1zaC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitGcm9tIDc0ZWE2YTY2NWQwZjM0MTdlNzVmMWQzZDAyZjI3YTEyZjEyOGVjNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNiBOb3YgMjAxOCAxMzo0MToyOSArMDEwMAorU3ViamVjdDogW1BBVENIXSBzcGVjX3RtcGwuc2g6IHVzZSAvYmluL3NoLCBub3QgL3Vzci9iaW4vc2gKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgc3BlY190bXBsLnNoIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3BlY190bXBsLnNoIGIvc3BlY190bXBsLnNoCitpbmRleCAxNGU4OTVhLi5mYzgwZmM2IDEwMDc1NQorLS0tIGEvc3BlY190bXBsLnNoCisrKysgYi9zcGVjX3RtcGwuc2gKK0BAIC0xLDQgKzEsNCBAQAorLSMhL3Vzci9iaW4vc2gKKysjIS9iaW4vc2gKKyAKKyB2ZXJzaW9uPSQxCisgbGlibW9kdWxlbWRfdjFfdmVyc2lvbj0kMgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlibW9kdWxlbWQvbGlibW9kdWxlbWQvMDAwMi1tb2R1bGVtZC12MS1tZXNvbi5idWlsZC1kby1ub3QtZ2VuZXJhdGUtZ2lyLW9yLWd0a2RvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZTYyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZC8wMDAyLW1vZHVsZW1kLXYxLW1lc29uLmJ1aWxkLWRvLW5vdC1nZW5lcmF0ZS1naXItb3ItZ3RrZG8ucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSBiNzdjOWMzZDA3NDMwYjAxNGIyZDFiZmY0MjAyN2Y0ODNjODFmMTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDYgTm92IDIwMTggMTM6NDM6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gbW9kdWxlbWQvdlsxMl0vbWVzb24uYnVpbGQ6IGRvIG5vdCBnZW5lcmF0ZSBndGtkb2Mgb3IgcHl0aG9uCisgYmluZGluZ3MKKworQWxsIG9mIHRoZXNlIHJlYWxseSBuZWVkIGEgY29uZmlndXJhdGlvbiBvcHRpb24uCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBtZXNvbi5idWlsZCAgICAgICAgICAgICB8IDMgKy0tCisgbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgfCA4IC0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCitpbmRleCAyMjhiZDM0Li5hMWU2MGJiIDEwMDY0NAorLS0tIGEvbWVzb24uYnVpbGQKKysrKyBiL21lc29uLmJ1aWxkCitAQCAtNTIsNyArNTIsNiBAQCBnbm9tZSA9IGltcG9ydCgnZ25vbWUnKQorIHBrZyA9IGltcG9ydCgncGtnY29uZmlnJykKKyBnb2JqZWN0ID0gZGVwZW5kZW5jeSgnZ29iamVjdC0yLjAnKQorIHlhbWwgPSBkZXBlbmRlbmN5KCd5YW1sLTAuMScpCistZ3RrZG9jID0gZGVwZW5kZW5jeSgnZ3RrLWRvYycpCisgCisgc2ggPSBmaW5kX3Byb2dyYW0oJ3NoJykKKyBzZWQgPSBmaW5kX3Byb2dyYW0oJ3NlZCcpCitAQCAtMTEwLDQgKzEwOSw0IEBAIGNvbmZpZ3VyZV9maWxlKAorICkKKyAKKyBzdWJkaXIoJ21vZHVsZW1kJykKKy1zdWJkaXIoJ2JpbmRpbmdzL3B5dGhvbicpCisrCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjEvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAoraW5kZXggNzRkYjg5YS4uNGQ1NGU2OSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YxL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92MS9tZXNvbi5idWlsZAorQEAgLTM0MSwxMSArMzQxLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTEuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMS4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YxJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjEtZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCitkaWZmIC0tZ2l0IGEvbW9kdWxlbWQvdjIvbWVzb24uYnVpbGQgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAoraW5kZXggN2I5NGUwYy4uYzVmNzJiOSAxMDA2NDQKKy0tLSBhL21vZHVsZW1kL3YyL21lc29uLmJ1aWxkCisrKysgYi9tb2R1bGVtZC92Mi9tZXNvbi5idWlsZAorQEAgLTUzMCwxMSArNTMwLDMgQEAgY29uZmlndXJlX2ZpbGUoCisgICBjb25maWd1cmF0aW9uIDogeGNkYXRhCisgKQorIAorLWdub21lLmd0a2RvYygKKy0gICAgJ21vZHVsZW1kLTIuMCcsCistICAgIGluc3RhbGxfZGlyOiAnbW9kdWxlbWQtMi4wJywKKy0gICAgc3JjX2RpciA6ICcuL21vZHVsZW1kL3YyJywKKy0gICAgbWFpbl94bWwgOiAnbW9kdWxlbWQtdjItZG9jcy54bWwnLAorLSAgICBpbnN0YWxsIDogdHJ1ZSwKKy0pCistCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJtb2R1bGVtZC9saWJtb2R1bGVtZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdlOTIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYm1vZHVsZW1kL2xpYm1vZHVsZW1kX2dpdC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIkMgTGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIG1vZHVsZSBtZXRhZGF0YSBmaWxlcyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjVhMzkyN2JmZjNlZTRmNWIyMWJjYjBlZDNmY2Q2YmIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9mZWRvcmEtbW9kdWxhcml0eS9saWJtb2R1bGVtZDtwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXNwZWNfdG1wbC5zaC11c2UtYmluLXNoLW5vdC11c3ItYmluLXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbW9kdWxlbWQtdjEtbWVzb24uYnVpbGQtZG8tbm90LWdlbmVyYXRlLWdpci1vci1ndGtkby5wYXRjaCBcCisgICAgICAgICAgICIKKworUFYgPSAiMi4xLjAiCitTUkNSRVYgPSAiMDcyZTZlZTc5MWZlNzgyMmE2ZDQyM2JkYWM3ZTRhNWNiYjExOGJjZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBtZXNvbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworRVhUUkFfT0VNRVNPTiA9ICItRGRldmVsb3Blcl9idWlsZD1mYWxzZSAtRGJ1aWxkX2FwaV92MT10cnVlIC1EYnVpbGRfYXBpX3YyPWZhbHNlIgorCitERVBFTkRTICs9ICJnbGliLTIuMCBsaWJ5YW1sIGdsaWItMi4wLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj1mYWxzZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRHNraXBfaW50cm9zcGVjdGlvbj10cnVlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2gKaW5kZXggZDY5ZGViNS4uYjYxZjBjOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDItRG8tbm90LXRyeS10by1vYnRhaW4tUFlUSE9OX0lOU1RBTExfRElSLWJ5LXJ1bm5pbmctcC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwMi1Eby1ub3QtdHJ5LXRvLW9idGFpbi1QWVRIT05fSU5TVEFMTF9ESVItYnktcnVubmluZy1wLnBhdGNoCkBAIC0xLDggKzEsNyBAQAotRnJvbSA1YjY4NDlkOWQ3ZTAzMGMzYTUyMWI1MjQ1ZDg2Zjg1M2IwMjcxYTYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiMDhhM2I3MWU3MTZkZDA0ODVlZjUxMDM2ZDMyZTRjMzA0ZmI0ZTY3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDMwIERlYyAyMDE2IDE4OjA1OjM2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBEbyBub3QgdHJ5IHRvIG9idGFpbiBQWVRIT05fSU5TVEFMTF9ESVIgYnkgcnVubmluZwotIHB5dGhvbi4KK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHRyeSB0byBvYnRhaW4gUFlUSE9OX0lOU1RBTExfRElSIGJ5IHJ1bm5pbmcgcHl0aG9uLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KQEAgLTEzLDEyICsxMiwxMCBAQAogIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0IGIvbGlicmVwby9weXRob24vcHl0aG9uMi9DTWFrZUxpc3RzLnR4dAotaW5kZXggNWZmYmQ2Mi4uOTBkM2MyMiAxMDA2NDQKK2luZGV4IGEwZjFmOWEuLjE2NjUwNzkgMTAwNjQ0CiAtLS0gYS9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0CiArKysgYi9saWJyZXBvL3B5dGhvbi9weXRob24yL0NNYWtlTGlzdHMudHh0Ci1AQCAtMSwxMSArMSwxMSBAQAotIEZJTkRfUEFDS0FHRSAoUHl0aG9uTGlicyAyICkKLSBGSU5EX1BBQ0tBR0UgKFB5dGhvbkludGVycCAyIFJFUVVJUkVEKQorQEAgLTEsOSArMSw5IEBACiAtRVhFQ1VURV9QUk9DRVNTKENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gLWMgIgogLWZyb20gc3lzIGltcG9ydCBzdGRvdXQKIC1mcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCkBAIC0zNSwxMyArMzIsMTAgQEAKICAKICBNRVNTQUdFKFNUQVRVUyAiUHl0aG9uIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCiBkaWZmIC0tZ2l0IGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dCBiL2xpYnJlcG8vcHl0aG9uL3B5dGhvbjMvQ01ha2VMaXN0cy50eHQKLWluZGV4IDQ3NTU5ZjcuLmIzOWFkYzIgMTAwNjQ0CitpbmRleCA1MmJhNDRlLi5kYTUxZTEwIDEwMDY0NAogLS0tIGEvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAogKysrIGIvbGlicmVwby9weXRob24vcHl0aG9uMy9DTWFrZUxpc3RzLnR4dAotQEAgLTEwLDEyICsxMCwxMiBAQCBtZXNzYWdlKCItLS0gJHtQWVRIT05fSU5DTFVERV9ESVJ9IikKLSAKLSBGSU5EX1BBQ0tBR0UoUHl0aG9uTGlicyAzLjApCi0gRklORF9QQUNLQUdFKFB5dGhvbkludGVycCAzLjAgUkVRVUlSRUQpCitAQCAtMSw5ICsxLDkgQEAKIC1FWEVDVVRFX1BST0NFU1MoQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAtYyAiCiAtZnJvbSBzeXMgaW1wb3J0IHN0ZG91dAogLWZyb20gZGlzdHV0aWxzIGltcG9ydCBzeXNjb25maWcKQEAgLTU3LDYgKzUxLDMgQEAKICBJTkNMVURFX0RJUkVDVE9SSUVTICgke1BZVEhPTl9JTkNMVURFX1BBVEh9KQogIAogIE1FU1NBR0UoU1RBVFVTICJQeXRob24zIGluc3RhbGwgZGlyIGlzICR7UFlUSE9OX0lOU1RBTExfRElSfSIpCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvLzAwMDQtU2V0LWdwZ21lLXZhcmlhYmxlcy13aXRoLXBrZy1jb25maWctbm90LXdpdGgtY21ha2UtbS5wYXRjaAppbmRleCBmN2Q3YWIzLi43MzkwMmU1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnJlcG8vbGlicmVwby8wMDA0LVNldC1ncGdtZS12YXJpYWJsZXMtd2l0aC1wa2ctY29uZmlnLW5vdC13aXRoLWNtYWtlLW0ucGF0Y2gKQEAgLTEsMjkgKzEsMjcgQEAKLUZyb20gYTM2YmU4MTkyNjE1ZTJhMWZiNWE1ODU2ZDQ0NTY1Mjc3ZjE1NTgzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjVhMWRmZTRjODdjMjI4MTY1YmMyNWU3ZmU0NjQxMjBkODEzOWEzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogRnJpLCAzMCBEZWMgMjAxNiAxODoyMzoyNyArMDIwMAotU3ViamVjdDogW1BBVENIIDQvNF0gU2V0IGdwZ21lIHZhcmlhYmxlcyB3aXRoIHBrZy1jb25maWcsIG5vdCB3aXRoIGNtYWtlCi0gbW9kdWxlICh3aGljaCBkb2Vzbid0IHdvcmsgcHJvcGVybHkpCitTdWJqZWN0OiBbUEFUQ0hdIFNldCBncGdtZSB2YXJpYWJsZXMgd2l0aCBwa2ctY29uZmlnLCBub3Qgd2l0aCBjbWFrZSBtb2R1bGUKKyAod2hpY2ggZG9lc24ndCB3b3JrIHByb3Blcmx5KQogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2dwZ21lIHVwc3RyZWFtIGRvZXMgbm90IGhhdmUgcGtnLWNvbmZpZyBzdXBwb3J0IGFuZCBpcyBub3QgaW50ZXJlc3RlZCBpbiBpdF0KIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCiAtLS0KICBDTWFrZUxpc3RzLnR4dCB8IDMgKystCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAotaW5kZXggZWYwN2QyZC4uZjFmYTA5YiAxMDA2NDQKK2luZGV4IGU5NDlkYmUuLmM5NTRiMmUgMTAwNjQ0CiAtLS0gYS9DTWFrZUxpc3RzLnR4dAogKysrIGIvQ01ha2VMaXN0cy50eHQKIEBAIC0zMSw3ICszMSw4IEBAIFBLR19DSEVDS19NT0RVTEVTKEdMSUIyIGdsaWItMi4wIFJFUVVJUkVEKQogIFBLR19TRUFSQ0hfTU9EVUxFKExJQkNSWVBUTyBSRVFVSVJFRCBsaWJjcnlwdG8gb3BlbnNzbCkKLSBGSU5EX1BBQ0tBR0UoRVhQQVQgUkVRVUlSRUQpCisgUEtHX0NIRUNLX01PRFVMRVMoTElCWE1MMiBsaWJ4bWwtMi4wIFJFUVVJUkVEKQogIEZJTkRfUEFDS0FHRShDVVJMIFJFUVVJUkVEKQogLUZJTkRfUEFDS0FHRShHcGdtZSBSRVFVSVJFRCkKICtQS0dfQ0hFQ0tfTU9EVUxFUyhHUEdNRSBncGdtZSBSRVFVSVJFRCkKICtzZXQoR1BHTUVfVkFOSUxMQV9MSUJSQVJJRVMgJHtHUEdNRV9MSUJSQVJJRVN9KQotIEZJTkRfUEFDS0FHRShYYXR0ciBSRVFVSVJFRCkKICAKLSBJTkNMVURFX0RJUkVDVE9SSUVTKCR7R0xJQjJfSU5DTFVERV9ESVJTfSkKLS0tIAotMi4xMS4wCi0KKyAKKyBJRiAoV0lUSF9aQ0hVTkspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS44LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1Njk4ODUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNSRVYgPSAiN2I5YjdiZjM4OGYzZjA1OTUyOWM2ZjUwYzQwYjMwOTE5ZmVmMzBmOSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotREVQRU5EUyA9ICJjdXJsIGV4cGF0IGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSIKLQotaW5oZXJpdCBjbWFrZSBkaXN0dXRpbHMzLWJhc2UgcGtnY29uZmlnCi0KLUVYVFJBX09FQ01BS0UgPSAiIC1EUFlUSE9OX0lOU1RBTExfRElSPSR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9IC1EUFlUSE9OX0RFU0lSRUQ9MyAtREVOQUJMRV9URVNUUz1PRkYgLURFTkFCTEVfRE9DUz1PRkYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlicmVwby9saWJyZXBvXzEuOS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZDZjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJyZXBvL2xpYnJlcG9fMS45LjQuYmIKQEAgLTAsMCArMSwyMSBAQAorU1VNTUFSWSA9ICIgQSBsaWJyYXJ5IHByb3ZpZGluZyBDIGFuZCBQeXRob24gKGxpYmNVUkwgbGlrZSkgQVBJIGZvciBkb3dubG9hZGluZyBsaW51eCByZXBvc2l0b3J5IG1ldGFkYXRhIGFuZCBwYWNrYWdlcy4iCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9saWJyZXBvLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8tb2J0YWluLVBZVEhPTl9JTlNUQUxMX0RJUi1ieS1ydW5uaW5nLXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1TZXQtZ3BnbWUtdmFyaWFibGVzLXdpdGgtcGtnLWNvbmZpZy1ub3Qtd2l0aC1jbWFrZS1tLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNSRVYgPSAiOTI4YzJkOWM2NmYwZDEwNDc3YjhjOWQxMTkyNzg1Yjg4ZTJiMTE1NSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EUyA9ICJjdXJsIGdsaWItMi4wIG9wZW5zc2wgYXR0ciBncGdtZSBsaWJ4bWwyIgorCitpbmhlcml0IGNtYWtlIGRpc3R1dGlsczMtYmFzZSBwa2djb25maWcKKworRVhUUkFfT0VDTUFLRSA9ICIgLURQWVRIT05fSU5TVEFMTF9ESVI9JHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0gLURQWVRIT05fREVTSVJFRD0zIC1ERU5BQkxFX1RFU1RTPU9GRiAtREVOQUJMRV9ET0NTPU9GRiAtRFdJVEhfWkNIVU5LPU9GRiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGlidG9vbC9saWJ0b29sLTIuNC42LmluYwppbmRleCBmMzA3YTEwLi44ZTE3YjU2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wtMi40LjYuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC0yLjQuNi5pbmMKQEAgLTIwLDYgKzIwLDcgQEAKICAgICAgICAgICAgZmlsZTovL25vaGFyZGNvZGVwYXRocy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly91bndpbmQtb3B0LXBhcnNpbmcucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUZpeC1zdXBwb3J0LWZvci1OSU9TMi1wcm9jZXNzb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoIFwKICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICJhZGRmNDRiNjQ2ZGRiNGUzOTE5ODA1YWE4OGZhN2M1ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xpYnRvb2wvbGlidG9vbC8wMDAxLWxpYnRvb2wtQ2hlY2stZm9yLXN0YXRpYy1saWJzLWZvci1pbnRlcm5hbC1jb21waWxlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjN2MzOWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9saWJ0b29sL2xpYnRvb2wvMDAwMS1saWJ0b29sLUNoZWNrLWZvci1zdGF0aWMtbGlicy1mb3ItaW50ZXJuYWwtY29tcGlsZXItLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKK0Zyb20gNDBhMmRhNzVlNmQ5NWNjN2M0OThlYmRhOTVhYjE5YWUwZGIyZWJmYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDI2IEphbiAyMDE5IDEyOjU0OjI2IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYnRvb2w6IENoZWNrIGZvciBzdGF0aWMgbGlicyBmb3IgaW50ZXJuYWwgY29tcGlsZXIKKyBsaWJyYXJpZXMKKworTGlidG9vbCBjaGVja3Mgb25seSBmb3IgbGlicmFyaWVzIGxpbmtlZCBhcyAtbCogd2hlbiB0cnlpbmcgdG8KK2ZpbmQgaW50ZXJuYWwgY29tcGlsZXIgbGlicmFyaWVzLiBDbGFuZywgaG93ZXZlciB1c2VzIHRoZSBhYnNvbHV0ZQorcGF0aCB0byBsaW5rIGl0cyBpbnRlcm5hbCBsaWJyYXJpZXMgZS5nLiBjb21waWxlcl9ydC4gVGhpcyBwYXRjaAoraGFuZGxlcyBjbGFuZydzIHN0YXRpY2FsbHkgbGlua2VkIGxpYnJhcmllcyB3aGVuIGZpbmRpbmcgaW50ZXJuYWwKK2NvbXBpbGVyIGxpYnJhcmllcy4KKworaHR0cHM6Ly9jcmJ1Zy5jb20vNzQ5MjYzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2RlYmJ1Z3MuZ251Lm9yZy9jZ2kvYnVncmVwb3J0LmNnaT9idWc9Mjc4NjZdCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBtNC9saWJ0b29sLm00IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbTQvbGlidG9vbC5tNCBiL200L2xpYnRvb2wubTQKK2luZGV4IGQwMzg5YTAuLjk2MTljNTcgMTAwNjQ0CistLS0gYS9tNC9saWJ0b29sLm00CisrKysgYi9tNC9saWJ0b29sLm00CitAQCAtNzUzNiw3ICs3NTM2LDcgQEAgaWYgQUNfVFJZX0VWQUwoYWNfY29tcGlsZSk7IHRoZW4KKyAgIGZvciBwIGluIGBldmFsICIkb3V0cHV0X3ZlcmJvc2VfbGlua19jbWQiYDsgZG8KKyAgICAgY2FzZSAkcHJldiRwIGluCisgCistICAgIC1MKiB8IC1SKiB8IC1sKikKKysgICAgLUwqIHwgLVIqIHwgLWwqIHwgKi9saWJjbGFuZ19ydC4qLmEpCisgICAgICAgICMgU29tZSBjb21waWxlcnMgcGxhY2Ugc3BhY2UgYmV0d2VlbiAiLXtMLFJ9IiBhbmQgdGhlIHBhdGguCisgICAgICAgICMgUmVtb3ZlIHRoZSBzcGFjZS4KKyAgICAgICAgaWYgdGVzdCB4LUwgPSAiJHAiIHx8CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtLzAwMDEtbGx2bS1UYXJnZXRMaWJyYXJ5SW5mby1VbmRlZmluZS1saWJjLWZ1bmN0aW9ucy1pZi10aC5wYXRjaAppbmRleCAyMDk3NjRjLi42ZGJiY2VkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAxLWxsdm0tVGFyZ2V0TGlicmFyeUluZm8tVW5kZWZpbmUtbGliYy1mdW5jdGlvbnMtaWYtdGgucGF0Y2gKQEAgLTEsMjQgKzEsMjIgQEAKLUZyb20gOTY1NThjNGYyNWQ1MTMyOTM2MDE0ZjZmMmQ2MjUyY2ZkZmRmNDc4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOTA1Y2FjODkzNGZiMTdlMjA0MTZhNGRmNzEyYTU2NmU3NTc0NzFhMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBTYXQsIDIxIE1heSAyMDE2IDAwOjMzOjIwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBsbHZtOiBUYXJnZXRMaWJyYXJ5SW5mbzogVW5kZWZpbmUgbGliYyBmdW5jdGlvbnMgaWYgdGhleQotIGFyZSBtYWNyb3MKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIGxsdm06IFRhcmdldExpYnJhcnlJbmZvOiBVbmRlZmluZSBsaWJjIGZ1bmN0aW9ucyBpZiB0aGV5IGFyZSBtYWNyb3MKIAogbXVzbCBkZWZpbmVzIHNvbWUgZnVuY3Rpb25zIGFzIG1hY3JvcyBhbmQgbm90IGlubGluZSBmdW5jdGlvbnMKIGlmIHRoaXMgaXMgdGhlIGNhc2UgdGhlbiBtYWtlIHN1cmUgdG8gdW5kZWZpbmUgdGhlbQogCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiAtLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCiAgaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZiB8IDIxICsrKysrKysrKysrKysrKysrKysrKwogIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9pbmNsdWRlL2xsdm0vQW5hbHlzaXMvVGFyZ2V0TGlicmFyeUluZm8uZGVmIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotaW5kZXggYTQ2MWVkODEzYjkuLmY5ZmQ5ZmFlZWUwIDEwMDY0NAoraW5kZXggNTE4YTg1ZWUxYTAuLjZiNGVhZDRlZmM2IDEwMDY0NAogLS0tIGEvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgogKysrIGIvaW5jbHVkZS9sbHZtL0FuYWx5c2lzL1RhcmdldExpYnJhcnlJbmZvLmRlZgotQEAgLTY2NSw2ICs2NjUsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQorQEAgLTczMSw2ICs3MzEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm1vZGwiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChmb3BlbikKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW4iKQogIC8vLyBGSUxFICpmb3BlbjY0KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjb25zdCBjaGFyICpvcGVudHlwZSkKQEAgLTI3LDggKzI1LDggQEAKICsjZW5kaWYKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZm9wZW42NCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZm9wZW42NCIpCi0gLy8vIGludCBmcHJpbnRmKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pOwotQEAgLTcwMCw2ICs3MDMsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQorIC8vLyBpbnQgZm9yaygpOworQEAgLTc3OCw2ICs3ODEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNlZWsiKQogIC8vLyBpbnQgZnNlZWtvKEZJTEUgKnN0cmVhbSwgb2ZmX3Qgb2Zmc2V0LCBpbnQgd2hlbmNlKTsKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvKQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc2Vla28iKQpAQCAtMzgsNyArMzYsNyBAQAogIC8vLyBpbnQgZnNlZWtvNjQoRklMRSAqc3RyZWFtLCBvZmY2NF90IG9mZnNldCwgaW50IHdoZW5jZSkKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoZnNlZWtvNjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZWVrbzY0IikKLUBAIC03MTAsNiArNzE2LDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzZXRwb3MiKQorQEAgLTc4OCw2ICs3OTQsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnNldHBvcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmc3RhdCIpCiAgLy8vIGludCBmc3RhdDY0KGludCBmaWxlZGVzLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpCkBAIC00OCw3ICs0Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZzdGF0NjQpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImZzdGF0NjQiKQogIC8vLyBpbnQgZnN0YXR2ZnMoaW50IGZpbGRlcywgc3RydWN0IHN0YXR2ZnMgKmJ1Zik7Ci1AQCAtNzI1LDYgKzczNCw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCitAQCAtODAzLDYgKzgxMiw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbCIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbykKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgiZnRlbGxvIikKICAvLy8gb2ZmNjRfdCBmdGVsbG82NChGSUxFICpzdHJlYW0pCkBAIC01OCw3ICs1Niw3IEBACiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKGZ0ZWxsbzY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJmdGVsbG82NCIpCiAgLy8vIGludCBmdHJ5bG9ja2ZpbGUoRklMRSAqZmlsZSk7Ci1AQCAtODQ1LDYgKzg1Nyw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsb2dsIikKK0BAIC05MjksNiArOTQxLDkgQEAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoImxvZ2wiKQogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgibHN0YXQiKQogIC8vLyBpbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOwpAQCAtNjgsNyArNjYsNyBAQAogIFRMSV9ERUZJTkVfRU5VTV9JTlRFUk5BTChsc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJsc3RhdDY0IikKICAvLy8gdm9pZCAqbWFsbG9jKHNpemVfdCBzaXplKTsKLUBAIC0xMDY0LDYgKzEwNzksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKK0BAIC0xMTU0LDYgKzExNjksOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3NjYW5mIikKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdCkKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgic3RhdCIpCiAgLy8vIGludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKQEAgLTc4LDcgKzc2LDcgQEAKICBUTElfREVGSU5FX0VOVU1fSU5URVJOQUwoc3RhdDY0KQogIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJzdGF0NjQiKQogIC8vLyBpbnQgc3RhdHZmcyhjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdHZmcyAqYnVmKTsKLUBAIC0xMTkzLDYgKzEyMTEsOSBAQCBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidGltZXMiKQorQEAgLTEyODMsNiArMTMwMSw5IEBAIFRMSV9ERUZJTkVfU1RSSU5HX0lOVEVSTkFMKCJ0aW1lcyIpCiAgVExJX0RFRklORV9FTlVNX0lOVEVSTkFMKHRtcGZpbGUpCiAgVExJX0RFRklORV9TVFJJTkdfSU5URVJOQUwoInRtcGZpbGUiKQogIC8vLyBGSUxFICp0bXBmaWxlNjQodm9pZCkKQEAgLTg5LDUgKzg3LDUgQEAKICBUTElfREVGSU5FX1NUUklOR19JTlRFUk5BTCgidG1wZmlsZTY0IikKICAvLy8gaW50IHRvYXNjaWkoaW50IGMpOwogLS0gCi0yLjE2LjEKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm0vMDAwMi1sbHZtLWFsbG93LWVudi1vdmVycmlkZS1vZi1leGUtcGF0aC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCmluZGV4IDZhOTI4MzMuLjEzNjliY2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bS8wMDAyLWxsdm0tYWxsb3ctZW52LW92ZXJyaWRlLW9mLWV4ZS1wYXRoLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBhZWNjZjE2ZWFjY2RkODBlNGQ1ZWNhYTUxNjczY2U0YjJiYWMxMTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAwNTcwZmUwMmMwNzI0NGE4NzI0YzFlNmMwNDM3Zjg5M2M4YWE4ZTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBEYXRlOiBGcmksIDE5IE1heSAyMDE3IDAwOjIyOjU3IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0ggMi8yXSBsbHZtOiBhbGxvdyBlbnYgb3ZlcnJpZGUgb2YgZXhlIHBhdGgKQEAgLTE2LDE2ICsxNiwxNiBAQAogU2lnbmVkLW9mZi1ieTogTWFydGluIEtlbGx5IDxta2VsbHlAeGV2by5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogLS0tCi0gdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwIHwgMTcgKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHRvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAgYi90b29scy9sbHZtLWNvbmZpZy9sbHZtLWNvbmZpZy5jcHAKLWluZGV4IDA4YjA5NmFmYjA1Li4zNjBjYzVhYmY0ZSAxMDA2NDQKK2luZGV4IGJlYzg5ZmVmOThjLi45MWI0ZDZlNGM0MyAxMDA2NDQKIC0tLSBhL3Rvb2xzL2xsdm0tY29uZmlnL2xsdm0tY29uZmlnLmNwcAogKysrIGIvdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCi1AQCAtMjI1LDYgKzIyNSwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCitAQCAtMjI2LDYgKzIyNiwxMyBAQCBUeXBpY2FsIGNvbXBvbmVudHM6XG5cCiAgCi0gLy8vIFxicmllZiBDb21wdXRlIHRoZSBwYXRoIHRvIHRoZSBtYWluIGV4ZWN1dGFibGUuCisgLy8vIENvbXB1dGUgdGhlIHBhdGggdG8gdGhlIG1haW4gZXhlY3V0YWJsZS4KICBzdGQ6OnN0cmluZyBHZXRFeGVjdXRhYmxlUGF0aChjb25zdCBjaGFyICpBcmd2MCkgewogKyAgLy8gSGFjayBmb3IgWW9jdG86IHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHJvb3QgcGF0aCB3aGVuIHdlIGFyZSB1c2luZwogKyAgLy8gbGx2bS1jb25maWcgZnJvbSB3aXRoaW4gYSB0YXJnZXQgc3lzcm9vdC4KQEAgLTM3LDcgKzM3LDI1IEBACiAgICAvLyBUaGlzIGp1c3QgbmVlZHMgdG8gYmUgc29tZSBzeW1ib2wgaW4gdGhlIGJpbmFyeTsgQysrIGRvZXNuJ3QKICAgIC8vIGFsbG93IHRha2luZyB0aGUgYWRkcmVzcyBvZiA6Om1haW4gaG93ZXZlci4KICAgIHZvaWQgKlAgPSAodm9pZCAqKShpbnRwdHJfdClHZXRFeGVjdXRhYmxlUGF0aDsKLUBAIC0zMDYsMTIgKzMxMywyMCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKK0BAIC0yODQsNyArMjkxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAvLyBiaW4gZGlyKS4KKyAgIHN5czo6ZnM6Om1ha2VfYWJzb2x1dGUoQ3VycmVudFBhdGgpOworICAgQ3VycmVudEV4ZWNQcmVmaXggPQorLSAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChDdXJyZW50UGF0aCkpLnN0cigpOworKyAgICAgIHN5czo6cGF0aDo6cGFyZW50X3BhdGgoc3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpOworIAorICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBpbnNpZGUgYSBkZXZlbG9wbWVudCB0cmVlIGJ5IGNvbXBhcmluZyB0byBwb3NzaWJsZQorICAgLy8gbG9jYXRpb25zIChwcmVmaXggc3R5bGUgb3IgQ01ha2Ugc3R5bGUpLgorQEAgLTI5Myw3ICszMDAsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CisgICB9IGVsc2UgaWYgKHN5czo6ZnM6OmVxdWl2YWxlbnQoQ3VycmVudEV4ZWNQcmVmaXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2JpbiIpKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHdpbmUoTExWTV9PQkpfUk9PVCkgKyAiL2Jpbi9sbHZtOC4wLjAiKSkgeworICAgICBJc0luRGV2ZWxvcG1lbnRUcmVlID0gdHJ1ZTsKKyAgICAgRGV2ZWxvcG1lbnRUcmVlTGF5b3V0ID0gQ01ha2VCdWlsZE1vZGVTdHlsZTsKKyAgICAgQWN0aXZlT2JqUm9vdCA9IExMVk1fT0JKX1JPT1Q7CitAQCAtMzA3LDM3ICszMTQsNDUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVQcmVmaXgsIEFjdGl2ZUJpbkRpciwgQWN0aXZlSW5jbHVkZURpciwgQWN0aXZlTGliRGlyLAogICAgICAgICAgICAgICAgQWN0aXZlQ01ha2VEaXI7CiAgICBzdGQ6OnN0cmluZyBBY3RpdmVJbmNsdWRlT3B0aW9uOwpAQCAtNDUsMTEgKzYzLDEyIEBACiArICAvLyBsbHZtLWNvbmZpZyBmcm9tIHdpdGhpbiBhIHRhcmdldCBzeXNyb290LgogKyAgc3RkOjpzdHJpbmcgTXVsdGlsaWJkaXIgPSBzdGQ6OmdldGVudigiWU9DVE9fQUxURVJOQVRFX01VTFRJTElCX05BTUUiKTsKICsgIGlmIChNdWx0aWxpYmRpci5lbXB0eSgpKSB7Ci0rICAgIE11bHRpbGliZGlyID0gIi9saWIiIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgTXVsdGlsaWJkaXIgPSAiL2xpYi9sbHZtOC4wLjAiIExMVk1fTElCRElSX1NVRkZJWDsKICsgIH0KICsKICAgIGlmIChJc0luRGV2ZWxvcG1lbnRUcmVlKSB7Ci0gICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CistICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZSI7CisrICAgIEFjdGl2ZUluY2x1ZGVEaXIgPSBzdGQ6OnN0cmluZyhMTFZNX1NSQ19ST09UKSArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBBY3RpdmVQcmVmaXggPSBDdXJyZW50RXhlY1ByZWZpeDsKICAKICAgICAgLy8gQ01ha2Ugb3JnYW5pemVzIHRoZSBwcm9kdWN0cyBkaWZmZXJlbnRseSB0aGFuIGEgbm9ybWFsIHByZWZpeCBzdHlsZQpAQCAtNTcsOCArNzYsMzEgQEAKICsKICAgICAgc3dpdGNoIChEZXZlbG9wbWVudFRyZWVMYXlvdXQpIHsKICAgICAgY2FzZSBDTWFrZVN0eWxlOgotICAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7Ci1AQCAtMzM2LDcgKzM1MSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2JpbiI7CistICAgICAgQWN0aXZlTGliRGlyID0gQWN0aXZlT2JqUm9vdCArICIvbGliIiArIExMVk1fTElCRElSX1NVRkZJWDsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wIjsKKysgICAgICBBY3RpdmVMaWJEaXIgPSBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWDsKKyAgICAgICBBY3RpdmVDTWFrZURpciA9IEFjdGl2ZUxpYkRpciArICIvY21ha2UvbGx2bSI7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ01ha2VCdWlsZE1vZGVTdHlsZToKKyAgICAgICBBY3RpdmVQcmVmaXggPSBBY3RpdmVPYmpSb290OworLSAgICAgIEFjdGl2ZUJpbkRpciA9IEFjdGl2ZU9ialJvb3QgKyAiL2Jpbi8iICsgYnVpbGRfbW9kZTsKKysgICAgICBBY3RpdmVCaW5EaXIgPSBBY3RpdmVPYmpSb290ICsgIi9iaW4vbGx2bTguMC4wLyIgKyBidWlsZF9tb2RlOworICAgICAgIEFjdGl2ZUxpYkRpciA9CistICAgICAgICAgIEFjdGl2ZU9ialJvb3QgKyAiL2xpYiIgKyBMTFZNX0xJQkRJUl9TVUZGSVggKyAiLyIgKyBidWlsZF9tb2RlOworKyAgICAgICAgICBBY3RpdmVPYmpSb290ICsgIi9saWIvbGx2bTguMC4wIiArIExMVk1fTElCRElSX1NVRkZJWCArICIvIiArIGJ1aWxkX21vZGU7CisgICAgICAgQWN0aXZlQ01ha2VEaXIgPSBBY3RpdmVMaWJEaXIgKyAiL2NtYWtlL2xsdm0iOworICAgICAgIGJyZWFrOworICAgICB9CisgCisgICAgIC8vIFdlIG5lZWQgdG8gaW5jbHVkZSBmaWxlcyBmcm9tIGJvdGggdGhlIHNvdXJjZSBhbmQgb2JqZWN0IHRyZWVzLgorICAgICBBY3RpdmVJbmNsdWRlT3B0aW9uID0KKy0gICAgICAgICgiLUkiICsgQWN0aXZlSW5jbHVkZURpciArICIgIiArICItSSIgKyBBY3RpdmVPYmpSb290ICsgIi9pbmNsdWRlIik7CisrICAgICAgICAoIi1JIiArIEFjdGl2ZUluY2x1ZGVEaXIgKyAiICIgKyAiLUkiICsgQWN0aXZlT2JqUm9vdCArICIvaW5jbHVkZS9sbHZtOC4wLjAiKTsKKyAgIH0gZWxzZSB7CisgICAgIEFjdGl2ZVByZWZpeCA9IEN1cnJlbnRFeGVjUHJlZml4OworLSAgICBBY3RpdmVJbmNsdWRlRGlyID0gQWN0aXZlUHJlZml4ICsgIi9pbmNsdWRlIjsKKysgICAgQWN0aXZlSW5jbHVkZURpciA9IEFjdGl2ZVByZWZpeCArICIvaW5jbHVkZS9sbHZtOC4wLjAiOwogICAgICBTbWFsbFN0cmluZzwyNTY+IHBhdGgoU3RyaW5nUmVmKExMVk1fVE9PTFNfSU5TVEFMTF9ESVIpKTsKICAgICAgc3lzOjpmczo6bWFrZV9hYnNvbHV0ZShBY3RpdmVQcmVmaXgsIHBhdGgpOwogICAgICBBY3RpdmVCaW5EaXIgPSBwYXRoLnN0cigpOwpAQCAtNjgsNSArMTEwLDUgQEAKICAgICAgQWN0aXZlSW5jbHVkZU9wdGlvbiA9ICItSSIgKyBBY3RpdmVJbmNsdWRlRGlyOwogICAgfQogLS0gCi0yLjE4LjAKKzIuMjAuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbGx2bS9sbHZtX2dpdC5iYgppbmRleCA3Mjc4NzYzLi4wMDY3NjM1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9sbHZtL2xsdm1fZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL2xsdm0vbGx2bV9naXQuYmIKQEAgLTYsNDEgKzYsNDYgQEAKIExJQ0VOU0UgPSAiTkNTQSIKIFNFQ1RJT04gPSAiZGV2ZWwiCiAKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1lODI1ZTAxN2VkYzM1Y2ZkNThlMjYxMTZlNTI1MTc3MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UuVFhUO21kNT1jNmI3NjZhNGU4NWRkMjgzMDFlZWVkNTRhNjY4NDY0OCIKIAogREVQRU5EUyA9ICJsaWJmZmkgbGlieG1sMiB6bGliIG5pbmphLW5hdGl2ZSBsbHZtLW5hdGl2ZSIKIAogUkRFUEVORFNfJHtQTn1fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgbmN1cnNlcy10ZXJtaW5mbyIKIAotaW5oZXJpdCBwZXJsbmF0aXZlIHB5dGhvbm5hdGl2ZSBjbWFrZSBwa2djb25maWcKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnCiAKIFBST1ZJREVTICs9ICJsbHZtJHtQVn0iCiAKIExMVk1fUkVMRUFTRSA9ICIke1BWfSIKIExMVk1fRElSID0gImxsdm0ke0xMVk1fUkVMRUFTRX0iCiAKLVNSQ1JFViA9ICI1MTM2ZGY0ZDA4OWEwODZiNzBkNDUyMTYwYWQ1NDUxODYxMjY5NDk4IgotUFYgPSAiNi4wIgotQlJBTkNIID0gInJlbGVhc2VfNjAiCi1QQVRDSF9WRVJTSU9OID0gIjEiCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS1taXJyb3IvbGx2bS5naXQ7YnJhbmNoPSR7QlJBTkNIfTtwcm90b2NvbD1odHRwIFwKK1NSQ1JFViA9ICJkMjI5OGU3NDIzNTU5OGYxNTU5NGZlMmM5OWJiYWM4NzBhNTA3YzU5IgorCitCUkFOQ0ggPSAicmVsZWFzZS8ke01BSk9SX1ZFUlNJT059LngiCitNQUpPUl9WRVJTSU9OID0gIjgiCitNSU5PUl9WRVJTSU9OID0gIjAiCitQQVRDSF9WRVJTSU9OID0gIjAiCitTT0xJQlZFUiA9ICIxIgorUFYgPSAiJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0iCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QuZ2l0O2JyYW5jaD0ke0JSQU5DSH0gXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1sbHZtLVRhcmdldExpYnJhcnlJbmZvLVVuZGVmaW5lLWxpYmMtZnVuY3Rpb25zLWlmLXRoLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItbGx2bS1hbGxvdy1lbnYtb3ZlcnJpZGUtb2YtZXhlLXBhdGgucGF0Y2ggXAogICAgICAgICAgICIKLVVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKLVMgPSAiJHtXT1JLRElSfS9naXQiCisKK1MgPSAiJHtXT1JLRElSfS9naXQvbGx2bSIKIAogTExWTV9JTlNUQUxMX0RJUiA9ICIke1dPUktESVJ9L2xsdm0taW5zdGFsbCIKKwogZGVmIGdldF9sbHZtX2FyY2goYmIsIGQsIGFyY2hfdmFyKToKICAgICBpbXBvcnQgcmUKICAgICBhID0gZC5nZXRWYXIoYXJjaF92YXIpCi0gICAgaWYgICByZS5tYXRjaCgnKGkuODZ8YXRobG9ufHg4Ni42NCkkJywgYSk6ICAgICAgICAgcmV0dXJuICdYODYnCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYXJtZWIkJywgYSk6ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCi0gICAgZWxpZiByZS5tYXRjaCgnYWFyY2g2NCQnLCBhKTogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBQXJjaDY0JwotICAgIGVsaWYgcmUubWF0Y2goJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKLSAgICBlbGlmIHJlLm1hdGNoKCdtaXBzKGlzYXwpKDMyfDY0fCkocjZ8KShlbHwpJCcsIGEpOiByZXR1cm4gJ01pcHMnCi0gICAgZWxpZiByZS5tYXRjaCgncChwY3xvd2VycGMpKHw2NCknLCBhKTogICAgICAgICAgICAgcmV0dXJuICdQb3dlclBDJworICAgIGlmICAgcmUubWF0Y2gocicoaS44NnxhdGhsb258eDg2LjY0KSQnLCBhKTogICAgICAgICByZXR1cm4gJ1g4NicKKyAgICBlbGlmIHJlLm1hdGNoKHInYXJtJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICdBUk0nCisgICAgZWxpZiByZS5tYXRjaChyJ2FybWViJCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnQVJNJworICAgIGVsaWYgcmUubWF0Y2gocidhYXJjaDY0JCcsIGEpOiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ0FBcmNoNjQnCisgICAgZWxpZiByZS5tYXRjaChyJ2FhcmNoNjRfYmUkJywgYSk6ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQUFyY2g2NCcKKyAgICBlbGlmIHJlLm1hdGNoKHInbWlwcyhpc2F8KSgzMnw2NHwpKHI2fCkoZWx8KSQnLCBhKTogcmV0dXJuICdNaXBzJworICAgIGVsaWYgcmUubWF0Y2gocidwKHBjfG93ZXJwYykofDY0KScsIGEpOiAgICAgICAgICAgICByZXR1cm4gJ1Bvd2VyUEMnCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiQ2Fubm90IG1hcCAnJXMnIHRvIGEgc3VwcG9ydGVkIExMVk0gYXJjaGl0ZWN0dXJlIiAlIGEpCiAKQEAgLTYxLDkgKzY2LDEyIEBACiAgICAgICAgICAgICAgICAgICAtRExMVk1fQklORElOR1NfTElTVD0nJyBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fTElOS19MTFZNX0RZTElCPU9OIFwKICAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfRkZJPU9OIFwKKyAgICAgICAgICAgICAgICAgIC1ETExWTV9FTkFCTEVfUlRUST1PTiBcCiAgICAgICAgICAgICAgICAgICAtREZGSV9JTkNMVURFX0RJUj0kKHBrZy1jb25maWcgLS12YXJpYWJsZT1pbmNsdWRlZGlyIGxpYmZmaSkgXAogICAgICAgICAgICAgICAgICAgLURMTFZNX09QVElNSVpFRF9UQUJMRUdFTj1PTiBcCiAgICAgICAgICAgICAgICAgICAtRExMVk1fVEFSR0VUU19UT19CVUlMRD0nJHtMTFZNX1RBUkdFVFN9JyBcCisgICAgICAgICAgICAgICAgICAtRExMVk1fVEVNUE9SQVJJTFlfQUxMT1dfT0xEX1RPT0xDSEFJTj1PTiBcCisgICAgICAgICAgICAgICAgICAtRFBZVEhPTl9FWEVDVVRBQkxFPSR7SE9TVFRPT0xTX0RJUn0vcHl0aG9uMiBcCiAgICAgICAgICAgICAgICAgICAtRyBOaW5qYSIKIAogRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKQEAgLTc4LDYgKzg2LDggQEAKICAgICAgICAgICAgICAgICAgIC1ETExWTV9DT05GSUdfUEFUSD0ke1NUQUdJTkdfQklORElSX05BVElWRX0vbGx2bS1jb25maWcke1BWfSBcCiAgICAgICAgICAgICAgICAgICIKIAorQ1hYRkxBR1NfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjID0gIiAtbWxvbmdjYWxsIgorCiBkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKICMgRml4IHBhdGhzIGluIGxsdm0tY29uZmlnCiAJc2VkIC1pICJzfHN5czo6cGF0aDo6cGFyZW50X3BhdGgoQ3VycmVudFBhdGgpKVwuc3RyKCl8c3lzOjpwYXRoOjpwYXJlbnRfcGF0aChzeXM6OnBhdGg6OnBhcmVudF9wYXRoKEN1cnJlbnRQYXRoKSkpLnN0cigpfGciICR7U30vdG9vbHMvbGx2bS1jb25maWcvbGx2bS1jb25maWcuY3BwCkBAIC0xMTcsNzEgKzEyNyw1NCBAQAogCSMgUmVtb3ZlIHVubmVjZXNzYXJ5IGNtYWtlIGZpbGVzCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vY21ha2UKIAotCWxuIC1zICR7TExWTV9ESVJ9L2xpYkxMVk0tJHtQVn0ke1NPTElCU0RFVn0gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7UFZ9JHtTT0xJQlNERVZ9CisJbG4gLXMgJHtMTFZNX0RJUn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9ICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke01BSk9SX1ZFUlNJT059JHtTT0xJQlNERVZ9CiAKIAkjIFdlJ2xsIGhhdmUgdG8gZGVsZXRlIHRoZSBsaWJMTFZNLnNvIGR1ZSB0byBtdWx0aXBsZSByZWFzb25zLi4uCiAJcm0gLXJmICR7RH0ke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTExWTS5zbwogCXJtIC1yZiAke0R9JHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxUTy5zbwogfQorCiBkb19pbnN0YWxsX2NsYXNzLW5hdGl2ZSgpIHsKIAlpbnN0YWxsIC1EIC1tIDA3NTUgJHtCfS9iaW4vbGx2bS10YmxnZW4gJHtEfSR7YmluZGlyfS9sbHZtLXRibGdlbiR7UFZ9CiAJaW5zdGFsbCAtRCAtbSAwNzU1ICR7Qn0vYmluL2xsdm0tY29uZmlnICR7RH0ke2JpbmRpcn0vbGx2bS1jb25maWcke1BWfQotCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7UFZ9LnNvICR7RH0ke2xpYmRpcn0vbGliTExWTS0ke1BWfS5zbworCWluc3RhbGwgLUQgLW0gMDc1NSAke0J9L2xpYi9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gJHtEfSR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28KIH0KIAotUEFDS0FHRVMgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyIKLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi1BTExPV19FTVBUWV8ke1BOfS1zdGF0aWNkZXYgPSAiMSIKLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiA9ICIiCi1GSUxFU18ke1BOfS1kYmcgPSAiIFwKLSAgICAke2JpbmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0J1Z3BvaW50UGFzc2VzLnNvIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL0xMVk1IZWxsby5zbyBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9Ly5kZWJ1Zy9saWJMVE8uc28qIFwKLSAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vLmRlYnVnL2xsdm0tY29uZmlnIFwKLSAgICAvdXNyL3NyYy9kZWJ1ZyBcCi0iCitQQUNLQUdFUyA9KyAiJHtQTn0tYnVncG9pbnRwYXNzZXMgJHtQTn0tbGx2bWhlbGxvICR7UE59LWxpYmxsdm0gJHtQTn0tbGlib3B0cmVtYXJrcyAke1BOfS1saWJsdG8iCiAKLUZJTEVTXyR7UE59LWRldiA9ICIgXAotICAgICR7YmluZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtpbmNsdWRlZGlyfS8ke0xMVk1fRElSfSBcCi0gICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKLSIKLQotUlJFQ09NTUVORFNfJHtQTn0tZGV2ICs9ICIke1BOfS1idWdwb2ludHBhc3NlcyAke1BOfS1sbHZtaGVsbG8iCitSUkVDT01NRU5EU18ke1BOfS1kZXYgKz0gIiR7UE59LWJ1Z3BvaW50cGFzc2VzICR7UE59LWxsdm1oZWxsbyAke1BOfS1saWJvcHRyZW1hcmtzIgogCiBGSUxFU18ke1BOfS1idWdwb2ludHBhc3NlcyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0J1Z3BvaW50UGFzc2VzLnNvIFwKICIKLUZJTEVTXyR7UE59ICs9ICJcCisKK0ZJTEVTXyR7UE59LWxpYmxsdm0gPSAiXAorICAgICR7bGliZGlyfS8ke0xMVk1fRElSfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorICAgICR7bGliZGlyfS9saWJMTFZNLSR7TUFKT1JfVkVSU0lPTn0uc28gXAorIgorCitGSUxFU18ke1BOfS1saWJsdG8gKz0gIlwKICAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliTFRPLnNvLiogXAogIgogCitGSUxFU18ke1BOfS1saWJvcHRyZW1hcmtzICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYk9wdFJlbWFya3Muc28uKiBcCisiCisKIEZJTEVTXyR7UE59LWxsdm1oZWxsbyA9ICJcCiAgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L0xMVk1IZWxsby5zbyBcCiAiCiAKLVBBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tLiokIgotTk9BVVRPUEFDS0FHRURFQlVHID0gIjEiCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xsdm0tY29uZmlnIFwKKyAgICAke2xpYmRpcn0vJHtMTFZNX0RJUn0vbGliT3B0UmVtYXJrcy5zbyBcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9L2xpYkxMVk0tJHtNQUpPUl9WRVJTSU9OfS4ke01JTk9SX1ZFUlNJT059LiR7UEFUQ0hfVkVSU0lPTn0uc28gXAorIgogCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bS0ke0xMVk1fUkVMRUFTRX0uJHtQQVRDSF9WRVJTSU9OfSArPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJsbHZtJHtMTFZNX1JFTEVBU0V9LWxsdm0tJHtMTFZNX1JFTEVBU0V9ICs9ICJkZXYtc28iCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmxsdm0ke0xMVk1fUkVMRUFTRX0tbGx2bSArPSAiZGV2LXNvIgorRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICJcCisgICAgJHtsaWJkaXJ9LyR7TExWTV9ESVJ9LyouYSBcCisiCiAKLXB5dGhvbiBsbHZtX3BvcHVsYXRlX3BhY2thZ2VzKCkgewotICAgIGxpYmRpciA9IGJiLmRhdGEuZXhwYW5kKCcke2xpYmRpcn0nLCBkKQotICAgIGxpYmxsdm1fbGliZGlyID0gYmIuZGF0YS5leHBhbmQoJyR7bGliZGlyfS8ke0xMVk1fRElSfScsIGQpCi0gICAgc3BsaXRfZGJnX3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIrJy8uZGVidWcnLCAnXmxpYiguKilcLnNvJCcsICdsaWJsbHZtJHtMTFZNX1JFTEVBU0V9LSVzLWRiZycsICdTcGxpdCBkZWJ1ZyBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSkKLSAgICBzcGxpdF9wYWNrYWdlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ15saWIoLiopXC5zbyQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcycsICdTcGxpdCBwYWNrYWdlIGZvciAlcycsIGFsbG93X2RpcnM9VHJ1ZSwgYWxsb3dfbGlua3M9VHJ1ZSwgcmVjdXJzaXZlPVRydWUpCi0gICAgc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzID0gZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlibGx2bV9saWJkaXIsICdebGliKC4qKVwuYSQnLCAnbGlibGx2bSR7TExWTV9SRUxFQVNFfS0lcy1zdGF0aWNkZXYnLCAnU3BsaXQgc3RhdGljZGV2IHBhY2thZ2UgZm9yICVzJywgYWxsb3dfZGlycz1UcnVlKQotICAgIGlmIHNwbGl0X3BhY2thZ2VzOgotICAgICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4sICcgJysnICcuam9pbihzcGxpdF9wYWNrYWdlcykpCi0gICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcG4gKyAnLWRiZycsICcgJysnICcuam9pbihzcGxpdF9kYmdfcGFja2FnZXMpKQotICAgICAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHBuICsgJy1zdGF0aWNkZXYnLCAnICcrJyAnLmpvaW4oc3BsaXRfc3RhdGljZGV2X3BhY2thZ2VzKSkKLX0KLQotUEFDS0FHRVNQTElURlVOQ1NfcHJlcGVuZCA9ICJsbHZtX3BvcHVsYXRlX3BhY2thZ2VzICIKK0lOU0FORV9TS0lQXyR7UE59LWxpYmxsdm0gKz0gImRldi1zbyIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24uaW5jCmluZGV4IDYxYjIzOTEuLjJkMThmNzIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi5pbmMKQEAgLTksMTcgKzksMjAgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUxpbmtlci1ydWxlcy1tb3ZlLWNyb3NzX2FyZ3MtaW4tZnJvbnQtb2Ytb3V0cHV0X2FyZ3MucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1uYXRpdmVfYmluZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2dpLWZsYWdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2d0a2RvYy1mbGFncy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1ycGF0aC1oYW5kbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtd2luZG93cy1zcGxpdC1XSU5EUkVTLWVudi12YXJpYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL21hbnktY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtbGliZGlyLnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkyZDhhZmQ5MjE3NTEyNjFlMzYxNTE2NDM0NjRlZmQzMzk0MTYyZjY5ZWZiZThjZDUzZTBhNjZiMWNmMzk1ZWIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMzFiZGEzNTE5ZDhjMGViMzQzODI2NzI2OGE3ODA4NWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWY5ZjE0MzI2ZWMxZTMwZDNiYTFhMjZkZjBmOTI4MjZlZGU1YTc5MjU1YWQ3MjNhZjc4YTI2OTFjMzcxMDlmZCIKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMjY3YjA4NzEyNjYwNTYxODRjNDg0NzkyNTcyYzY4MiIKIAogU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCi0gICAgZmlsZTovLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBcCiAiCiAKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9yZWxlYXNlcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1NYWtlLUNQVS1mYW1pbHktd2FybmluZ3MtZmF0YWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJjM2Y1YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gMmRiODI5ZDg2NWJiNjQ2NGFjMTVkYmI0YTU4YzlhNjc1ZTI5Njg2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBUdWUsIDMgSnVsIDIwMTggMTM6NTk6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZSBDUFUgZmFtaWx5IHdhcm5pbmdzIGZhdGFsCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgNiArKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDJjY2QzMWUuLjVmY2Y5ZGYgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMjY1LDkgKzI2NSw3IEBAIGRlZiBkZXRlY3RfY3B1X2ZhbWlseShjb21waWxlcnMpOgorICAgICAjIGJlbG93LgorIAorICAgICBpZiB0cmlhbCBub3QgaW4ga25vd25fY3B1X2ZhbWlsaWVzOgorLSAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgeyFyfSwgcGxlYXNlIHJlcG9ydCB0aGlzIGF0ICcKKy0gICAgICAgICAgICAgICAgICAgICAnaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldyB3aXRoIHRoZScKKy0gICAgICAgICAgICAgICAgICAgICAnb3V0cHV0IG9mIGB1bmFtZSAtYWAgYW5kIGBjYXQgL3Byb2MvY3B1aW5mb2AnLmZvcm1hdCh0cmlhbCkpCisrICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignVW5rbm93biBDUFUgZmFtaWx5ICVzLCBzZWUgaHR0cHM6Ly93aWtpLnlvY3RvcHJvamVjdC5vcmcvd2lraS9NZXNvbi9Vbmtub3duQ1BVIGZvciBkaXJlY3Rpb25zLicgJSB0cmlhbCkKKyAKKyAgICAgcmV0dXJuIHRyaWFsCisgCitAQCAtMTIzMiw3ICsxMjMwLDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgCisgICAgICAgICBjcHVfZmFtaWx5ID0gbGl0ZXJhbFsnY3B1X2ZhbWlseSddCisgICAgICAgICBpZiBjcHVfZmFtaWx5IG5vdCBpbiBrbm93bl9jcHVfZmFtaWxpZXM6CistICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHBsZWFzZSByZXBvcnQgdGhpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9pc3N1ZXMvbmV3JyAlIGNwdV9mYW1pbHkpCisrICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgY3B1X2ZhbWlseSkKKyAKKyAgICAgICAgIGVuZGlhbiA9IGxpdGVyYWxbJ2VuZGlhbiddCisgICAgICAgICBpZiBlbmRpYW4gbm90IGluICgnbGl0dGxlJywgJ2JpZycpOgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YmUxMDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gZDgwZDAyYTNjYTZlMjFmYTNkMDU1Yzg4YzA1MjM0YzJlYjRkYjEyOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgotRGF0ZTogVGh1LCAyNiBKdWwgMjAxOCAxNjozMjo0OSArMDIwMAotU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IGJ1aWxkaW5nIGFsbGFyY2ggcmVjaXBlcyBhZ2FpbgotCi1UaGlzIHJlZ2lzdGVycyAiYWxsYXJjaCIgYXMgYSBrbm93biBDUFUgZmFtaWx5LgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIHNwZWNpZmljXQotU2lnbmVkLW9mZi1ieTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwZXRlci5ramVsbGVyc3RlZHRAYXhpcy5jb20+Ci0tLS0KLSBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLUluZGV4OiBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1lc29uLTAuNDcuMi5vcmlnL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBtZXNvbi0wLjQ3LjIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotQEAgLTc1LDYgKzc1LDcgQEAgZnJvbSAuY29tcGlsZXJzIGltcG9ydCAoCi0gYnVpbGRfZmlsZW5hbWUgPSAnbWVzb24uYnVpbGQnCi0gCi0ga25vd25fY3B1X2ZhbWlsaWVzID0gKAotKyAgICAnYWxsYXJjaCcsCi0gICAgICdhYXJjaDY0JywKLSAgICAgJ2FybScsCi0gICAgICdlMmsnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1ndGtkb2MtZml4LWlzc3Vlcy10aGF0LWFyaXNlLXdoZW4tY3Jvc3MtY29tcGlsaW5nLnBhdGNoCmluZGV4IDdmZmQ2YzUuLjExZmQ5ZWQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtZ3RrZG9jLWZpeC1pc3N1ZXMtdGhhdC1hcmlzZS13aGVuLWNyb3NzLWNvbXBpbGluZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLWd0a2RvYy1maXgtaXNzdWVzLXRoYXQtYXJpc2Utd2hlbi1jcm9zcy1jb21waWxpbmcucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDNhYzRlNThjNTQ5NGJkN2U2MDNhMzI1YjViNWMyYjgwNzU4NDlmZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFhZmJmNWNjZmY1NmU1ODIyMjljOGY2NzNmNTBhZWRmMmIyNDExN2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIERhdGU6IEZyaSwgNCBBdWcgMjAxNyAxNjoxNjo0MSArMDMwMAogU3ViamVjdDogW1BBVENIXSBndGtkb2M6IGZpeCBpc3N1ZXMgdGhhdCBhcmlzZSB3aGVuIGNyb3NzLWNvbXBpbGluZwpAQCAtMTYsNzAgKzE2LDIxIEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5ICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKy0tLQotIG1lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkgfCAgOSArKysrKysrLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCisgbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKysrCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxLi43MjdlYjZhIDEwMDY0NAoraW5kZXggYmY0OTc3MC4uN2M1YTM2MyAxMDA2NDQKIC0tLSBhL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1AQCAtNzkyLDYgKzc5MiwxMCBAQCBUaGlzIHdpbGwgYmVjb21lIGEgaGFyZCBlcnJvciBpbiB0aGUgZnV0dXJlLicnJykKK0BAIC05NzIsNiArOTcyLDEwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQogICAgICAgICAgICAgICAgICAnLS1tb2RlPScgKyBtb2RlXQogICAgICAgICAgaWYgbmFtZXNwYWNlOgogICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5hbWVzcGFjZT0nICsgbmFtZXNwYWNlKQogKyAgICAgICAgZ3RrZG9jX2V4ZV93cmFwcGVyID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQoJ2d0a2RvY19leGVfd3JhcHBlcicsIE5vbmUpCiArICAgICAgICBpZiBndGtkb2NfZXhlX3dyYXBwZXIgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZ3RrZG9jLWV4ZS13cmFwcGVyPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCisrICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tcnVuPScgKyBndGtkb2NfZXhlX3dyYXBwZXIpCiArCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLWh0bWxhcmdzPScsICdodG1sX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5hcmdzPScsICdzY2FuX2FyZ3MnLCBrd2FyZ3MpCiAgICAgICAgICBhcmdzICs9IHNlbGYuX3VucGFja19hcmdzKCctLXNjYW5vYmpzYXJncz0nLCAnc2Nhbm9ianNfYXJncycsIGt3YXJncykKLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL3NjcmlwdHMvZ3RrZG9jaGVscGVyLnB5IGIvbWVzb25idWlsZC9zY3JpcHRzL2d0a2RvY2hlbHBlci5weQotaW5kZXggOTQ4ZGM1YS4uOWM1YmQxOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLSsrKyBiL21lc29uYnVpbGQvc2NyaXB0cy9ndGtkb2NoZWxwZXIucHkKLUBAIC00NSw2ICs0NSw3IEBAIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taWdub3JlLWhlYWRlcnMnLCBkZXN0PSdpZ25vcmVfaGVhZGVycycsIGRlZmF1bHQ9JycpCi0gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1uYW1lc3BhY2UnLCBkZXN0PSduYW1lc3BhY2UnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tbW9kZScsIGRlc3Q9J21vZGUnLCBkZWZhdWx0PScnKQotIHBhcnNlci5hZGRfYXJndW1lbnQoJy0taW5zdGFsbGRpcicsIGRlc3Q9J2luc3RhbGxfZGlyJykKLStwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWd0a2RvYy1leGUtd3JhcHBlcicsIGRlc3Q9J2d0a2RvY19leGVfd3JhcHBlcicpCi0gCi0gZGVmIGd0a2RvY19ydW5fY2hlY2soY21kLCBjd2QsIGxpYnJhcnlfcGF0aHM9Tm9uZSk6Ci0gICAgIGlmIGxpYnJhcnlfcGF0aHMgaXMgTm9uZToKLUBAIC02NCw3ICs2NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotICAgICAjIFRoaXMgcHJlc2VydmVzIHRoZSBvcmRlciBvZiBtZXNzYWdlcy4KLSAgICAgcCwgb3V0ID0gUG9wZW5fc2FmZShjbWQsIGN3ZD1jd2QsIGVudj1lbnYsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVClbMDoyXQotICAgICBpZiBwLnJldHVybmNvZGUgIT0gMDoKLS0gICAgICAgIGVycl9tc2cgPSBbInshcn0gZmFpbGVkIHdpdGggc3RhdHVzIHs6ZH0iLmZvcm1hdChjbWRbMF0sIHAucmV0dXJuY29kZSldCi0rICAgICAgICBlcnJfbXNnID0gWyJ7IXJ9IGZhaWxlZCB3aXRoIHN0YXR1cyB7OmR9Ii5mb3JtYXQoY21kLCBwLnJldHVybmNvZGUpXQotICAgICAgICAgaWYgb3V0OgotICAgICAgICAgICAgIGVycl9tc2cuYXBwZW5kKG91dCkKLSAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKCdcbicuam9pbihlcnJfbXNnKSkKLUBAIC03NCw3ICs3NSw3IEBAIGRlZiBndGtkb2NfcnVuX2NoZWNrKGNtZCwgY3dkLCBsaWJyYXJ5X3BhdGhzPU5vbmUpOgotIGRlZiBidWlsZF9ndGtkb2Moc291cmNlX3Jvb3QsIGJ1aWxkX3Jvb3QsIGRvY19zdWJkaXIsIHNyY19zdWJkaXJzLAotICAgICAgICAgICAgICAgICAgbWFpbl9maWxlLCBtb2R1bGUsCi0gICAgICAgICAgICAgICAgICBodG1sX2FyZ3MsIHNjYW5fYXJncywgZml4eHJlZl9hcmdzLCBta2RiX2FyZ3MsCi0tICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgbGQsIGNjLCBsZGZsYWdzLCBjZmxhZ3MsCi0rICAgICAgICAgICAgICAgICBnb2JqZWN0X3R5cGVzZmlsZSwgc2Nhbm9ianNfYXJncywgZ3RrZG9jX2V4ZV93cmFwcGVyLCBsZCwgY2MsIGxkZmxhZ3MsIGNmbGFncywKLSAgICAgICAgICAgICAgICAgIGh0bWxfYXNzZXRzLCBjb250ZW50X2ZpbGVzLCBpZ25vcmVfaGVhZGVycywgbmFtZXNwYWNlLAotICAgICAgICAgICAgICAgICAgZXhwYW5kX2NvbnRlbnRfZmlsZXMsIG1vZGUpOgotICAgICBwcmludCgiQnVpbGRpbmcgZG9jdW1lbnRhdGlvbiBmb3IgJXMiICUgbW9kdWxlKQotQEAgLTEzNSw2ICsxMzYsOSBAQCBkZWYgYnVpbGRfZ3RrZG9jKHNvdXJjZV9yb290LCBidWlsZF9yb290LCBkb2Nfc3ViZGlyLCBzcmNfc3ViZGlycywKLSAgICAgaWYgZ29iamVjdF90eXBlc2ZpbGU6Ci0gICAgICAgICBzY2Fub2Jqc19jbWQgPSBbJ2d0a2RvYy1zY2FuZ29iaiddICsgc2Nhbm9ianNfYXJncyArIFsnLS10eXBlcz0nICsgZ29iamVjdF90eXBlc2ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JyArIG1vZHVsZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXJ1bj0nICsgZ3RrZG9jX2V4ZV93cmFwcGVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbGQ9JyArIGxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2ZsYWdzPScgKyBjZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1sZGZsYWdzPScgKyBsZGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2M9JyArIGNjLAotQEAgLTIzOCw2ICsyNDIsNyBAQCBkZWYgcnVuKGFyZ3MpOgotICAgICAgICAgbWtkYmFyZ3MsCi0gICAgICAgICBvcHRpb25zLmdvYmplY3RfdHlwZXNmaWxlLAotICAgICAgICAgc2Nhbm9ianNhcmdzLAotKyAgICAgICAgb3B0aW9ucy5ndGtkb2NfZXhlX3dyYXBwZXIsCi0gICAgICAgICBvcHRpb25zLmxkLAotICAgICAgICAgb3B0aW9ucy5jYywKLSAgICAgICAgIG9wdGlvbnMubGRmbGFncywKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1tb2R1bGVzLXdpbmRvd3Mtc3BsaXQtV0lORFJFUy1lbnYtdmFyaWFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzMzNGU2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtbW9kdWxlcy13aW5kb3dzLXNwbGl0LVdJTkRSRVMtZW52LXZhcmlhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNTI5M2QwZjUwNjdiMmFlZWZlOWNlM2MxNzVjOTcyZGUzNjc1ODliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAxMyBGZWIgMjAxOSAxNzo0Mzo1NCArMDEwMAorU3ViamVjdDogW1BBVENIXSBtb2R1bGVzL3dpbmRvd3M6IHNwbGl0IFdJTkRSRVMgZW52IHZhcmlhYmxlCisKK0FzIGl0IG1heSBjb250YWluIG5vdCBqdXN0IHRoZSBiaW5hcnksIGJ1dCBhbHNvIHRoZSBhcmd1bWVudHMgdG8gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uYnVpbGQvbW9kdWxlcy93aW5kb3dzLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK2luZGV4IGQxODVkODkuLmRiYWViOWIgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvd2luZG93cy5weQorKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3dpbmRvd3MucHkKK0BAIC01Niw3ICs1Niw3IEBAIGNsYXNzIFdpbmRvd3NNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKKyAgICAgICAgICAgICBpZiAnV0lORFJFUycgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICAgIyBQaWNrLXVwIGVudiB2YXIgV0lORFJFUyBpZiBzZXQuIFRoaXMgaXMgb2Z0ZW4gdXNlZCBmb3IKKyAgICAgICAgICAgICAgICAgIyBzcGVjaWZ5aW5nIGFuIGFyY2gtc3BlY2lmaWMgd2luZHJlcy4KKy0gICAgICAgICAgICAgICAgcmVzY29tcCA9IEV4dGVybmFsUHJvZ3JhbSgnd2luZHJlcycsIGNvbW1hbmQ9b3MuZW52aXJvbi5nZXQoJ1dJTkRSRVMnKSwgc2lsZW50PVRydWUpCisrICAgICAgICAgICAgICAgIHJlc2NvbXAgPSBFeHRlcm5hbFByb2dyYW0oJ3dpbmRyZXMnLCBjb21tYW5kPW9zLmVudmlyb24uZ2V0KCdXSU5EUkVTJykuc3BsaXQoKSwgc2lsZW50PVRydWUpCisgCisgICAgICAgICBpZiBub3QgcmVzY29tcCBvciBub3QgcmVzY29tcC5mb3VuZCgpOgorICAgICAgICAgICAgICMgVGFrZSB3aW5kcmVzIGZyb20gdGhlIGNvbmZpZyBmaWxlIGFmdGVyIHRoZSBlbnZpcm9ubWVudCwgd2hpY2ggaXMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDEtcHl0aG9uLW1vZHVsZS1kby1ub3QtbWFuaXB1bGF0ZS10aGUtZW52aXJvbm1lbnQtd2hlbi5wYXRjaAppbmRleCA2MDcyOTg1Li5iZjcxNWQxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAxLXB5dGhvbi1tb2R1bGUtZG8tbm90LW1hbmlwdWxhdGUtdGhlLWVudmlyb25tZW50LXdoZW4ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMS1weXRob24tbW9kdWxlLWRvLW5vdC1tYW5pcHVsYXRlLXRoZS1lbnZpcm9ubWVudC13aGVuLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0NTQyNmYwNjY4OWE1MjBmYzQ3ZjgxZWUyOWI0OWQ1MDlmMTFiYTU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzY2IyYzgxMWRjNmQ0ODkwMzQyYWZhNWI3MDljZDMwY2Y3YjhmM2NhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE5IE5vdiAyMDE4IDE0OjI0OjI2ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbiBtb2R1bGU6IGRvIG5vdCBtYW5pcHVsYXRlIHRoZSBlbnZpcm9ubWVudCB3aGVuIGNhbGxpbmcKQEAgLTYsMzggKzYsMzggQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQogU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKIC0tLQotIG1lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkgfCAxNCAtLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNCBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvcHl0aG9uLnB5IHwgMTIgLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weSBiL21lc29uYnVpbGQvbW9kdWxlcy9weXRob24ucHkKLWluZGV4IDExOTVkOGEuLmRmODFkYTQgMTAwNjQ0CitpbmRleCA5Y2ZiZDZmLi4zZmY2ODdhIDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQogKysrIGIvbWVzb25idWlsZC9tb2R1bGVzL3B5dGhvbi5weQotQEAgLTY3LDI2ICs2NywxMiBAQCBjbGFzcyBQeXRob25EZXBlbmRlbmN5KEV4dGVybmFsRGVwZW5kZW5jeSk6Ci0gICAgICAgICBpZiBEZXBlbmRlbmN5TWV0aG9kcy5QS0dDT05GSUcgaW4gc2VsZi5tZXRob2RzIGFuZCBub3QgcHl0aG9uX2hvbGRlci5pc19weXB5OgotICAgICAgICAgICAgIHBrZ192ZXJzaW9uID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMRFZFUlNJT04nKSBvciBzZWxmLnZlcnNpb24KLSAgICAgICAgICAgICBwa2dfbGliZGlyID0gc2VsZi52YXJpYWJsZXMuZ2V0KCdMSUJQQycpCi0tICAgICAgICAgICAgb2xkX3BrZ19saWJkaXIgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJR19MSUJESVInKQotLSAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQotLQotLSAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX1BBVEgnLCBOb25lKQotLQotLSAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBwa2dfbGliZGlyCitAQCAtNzUsMTEgKzc1LDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICBvbGRfcGtnX2xpYmRpciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX0xJQkRJUicpCisgICAgICAgICAgICAgICAgIG9sZF9wa2dfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnKQogIAotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgc2VsZi5wa2dkZXAgPSBQa2dDb25maWdEZXBlbmRlbmN5KCdweXRob24te30nLmZvcm1hdChwa2dfdmVyc2lvbiksIGVudmlyb25tZW50LCBrd2FyZ3MpCi0gICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgICAgICAgcGFzcwotIAotLSAgICAgICAgICAgIGlmIG9sZF9wa2dfcGF0aCBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICAgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBvbGRfcGtnX3BhdGgKKy0gICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfUEFUSCcsIE5vbmUpCiAtCi0tICAgICAgICAgICAgaWYgb2xkX3BrZ19saWJkaXIgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKCdQS0dfQ09ORklHX0xJQkRJUicsIE5vbmUpCistICAgICAgICAgICAgICAgIGlmIHBrZ19saWJkaXI6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX0xJQkRJUiddID0gcGtnX2xpYmRpcgorLQorICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICBzZWxmLnBrZ2RlcCA9IFBrZ0NvbmZpZ0RlcGVuZGVuY3koJ3B5dGhvbi17fScuZm9ybWF0KHBrZ192ZXJzaW9uKSwgZW52aXJvbm1lbnQsIGt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgIG1sb2cuZGVidWcoJ0ZvdW5kICJweXRob24te30iIHZpYSBwa2djb25maWcgbG9va3VwIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCitAQCAtODgsMTMgKzgzLDYgQEAgY2xhc3MgUHl0aG9uRGVwZW5kZW5jeShFeHRlcm5hbERlcGVuZGVuY3kpOgorICAgICAgICAgICAgICAgICAgICAgbWxvZy5kZWJ1ZygnInB5dGhvbi17fSIgY291bGQgbm90IGJlIGZvdW5kIGluIExJQlBDICh7fSknLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgICAgICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKGUpCiAgCi0gICAgICAgICBpZiBzZWxmLnBrZ2RlcCBhbmQgc2VsZi5wa2dkZXAuZm91bmQoKToKLSAgICAgICAgICAgICBzZWxmLmNvbXBpbGVfYXJncyA9IHNlbGYucGtnZGVwLmdldF9jb21waWxlX2FyZ3MoKQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX3BhdGggaXMgbm90IE5vbmU6CistICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IG9sZF9wa2dfcGF0aAorLQorLSAgICAgICAgICAgICAgICBpZiBvbGRfcGtnX2xpYmRpciBpcyBub3QgTm9uZToKKy0gICAgICAgICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfTElCRElSJ10gPSBvbGRfcGtnX2xpYmRpcgorLSAgICAgICAgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1BLR19DT05GSUdfTElCRElSJywgTm9uZSkKKyAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICBtbG9nLmRlYnVnKCcicHl0aG9uLXt9IiBjb3VsZCBub3QgYmUgZm91bmQgaW4gTElCUEMgKHt9KSwgdGhpcyBpcyBsaWtlbHkgZHVlIHRvIGEgcmVsb2NhdGVkIHB5dGhvbiBpbnN0YWxsYXRpb24nLmZvcm1hdChwa2dfdmVyc2lvbiwgcGtnX2xpYmRpcikpCisgCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLU1ha2UtQ1BVLWZhbWlseS13YXJuaW5ncy1mYXRhbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYTU2YTZhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItTWFrZS1DUFUtZmFtaWx5LXdhcm5pbmdzLWZhdGFsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSAyZTg1NTNmYzAxZTYyZWJjNGZhYTI0MGJmMjA5ODRhOGEwYWM3Mzg3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMyBKdWwgMjAxOCAxMzo1OTowOSArMDEwMAotU3ViamVjdDogW1BBVENIXSBNYWtlIENQVSBmYW1pbHkgd2FybmluZ3MgZmF0YWwKLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRSBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLS0tLQotIG1lc29uYnVpbGQvZW52aXJvbm1lbnQucHkgfCA2ICsrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQotaW5kZXggZDI5YTc3Zi4uMjY3YWNmOSAxMDA2NDQKLS0tLSBhL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLSsrKyBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKLUBAIC0yMzksOSArMjM5LDcgQEAgZGVmIGRldGVjdF9jcHVfZmFtaWx5KGNvbXBpbGVycyk6Ci0gICAgICAgICByZXR1cm4gJ3g4Nl82NCcKLSAKLSAgICAgaWYgdHJpYWwgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5IHshcn0sIHBsZWFzZSByZXBvcnQgdGhpcyBhdCAnCi0tICAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL2lzc3Vlcy9uZXcgd2l0aCB0aGUnCi0tICAgICAgICAgICAgICAgICAgICAgJ291dHB1dCBvZiBgdW5hbWUgLWFgIGFuZCBgY2F0IC9wcm9jL2NwdWluZm9gJy5mb3JtYXQodHJpYWwpKQotKyAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ1Vua25vd24gQ1BVIGZhbWlseSAlcywgc2VlIGh0dHBzOi8vd2lraS55b2N0b3Byb2plY3Qub3JnL3dpa2kvTWVzb24vVW5rbm93bkNQVSBmb3IgZGlyZWN0aW9ucy4nICUgdHJpYWwpCi0gCi0gICAgIHJldHVybiB0cmlhbAotIAotQEAgLTEwMTQsNyArMTAxMiw3IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgotICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRW52aXJvbm1lbnRFeGNlcHRpb24oJ01hbGZvcm1lZCB2YWx1ZSBpbiBjcm9zcyBmaWxlIHZhcmlhYmxlICVzLicgJSBlbnRyeSkKLSAKLSAgICAgICAgICAgICAgICAgaWYgZW50cnkgPT0gJ2NwdV9mYW1pbHknIGFuZCByZXMgbm90IGluIGtub3duX2NwdV9mYW1pbGllczoKLS0gICAgICAgICAgICAgICAgICAgIG1sb2cud2FybmluZygnVW5rbm93biBDUFUgZmFtaWx5ICVzLCBwbGVhc2UgcmVwb3J0IHRoaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzL25ldycgJSB2YWx1ZSkKLSsgICAgICAgICAgICAgICAgICAgIHJhaXNlIEVudmlyb25tZW50RXhjZXB0aW9uKCdVbmtub3duIENQVSBmYW1pbHkgJXMsIHNlZSBodHRwczovL3dpa2kueW9jdG9wcm9qZWN0Lm9yZy93aWtpL01lc29uL1Vua25vd25DUFUgZm9yIGRpcmVjdGlvbnMuJyAlIHZhbHVlKQotIAotICAgICAgICAgICAgICAgICBpZiBzZWxmLm9rX3R5cGUocmVzKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdW2VudHJ5XSA9IHJlcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1TdXBwb3J0LWJ1aWxkaW5nLWFsbGFyY2gtcmVjaXBlcy1hZ2Fpbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODE1NDhjZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItU3VwcG9ydC1idWlsZGluZy1hbGxhcmNoLXJlY2lwZXMtYWdhaW4ucGF0Y2gKQEAgLTAsMCArMSwyNiBAQAorRnJvbSBmODQxOWQ1ZjI3OWYxZmI5YjVlN2VlYWQ0ZjE1NzliY2U3Y2IwZTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CitEYXRlOiBUaHUsIDI2IEp1bCAyMDE4IDE2OjMyOjQ5ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFN1cHBvcnQgYnVpbGRpbmcgYWxsYXJjaCByZWNpcGVzIGFnYWluCisKK1RoaXMgcmVnaXN0ZXJzICJhbGxhcmNoIiBhcyBhIGtub3duIENQVSBmYW1pbHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Ugc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBLamVsbGVyc3RlZHQgPHBldGVyLmtqZWxsZXJzdGVkdEBheGlzLmNvbT4KKworLS0tCisgbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IDVmY2Y5ZGYuLmI0ZmMwZGMgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtNzIsNiArNzIsNyBAQCBmcm9tIC5jb21waWxlcnMgaW1wb3J0ICgKKyBidWlsZF9maWxlbmFtZSA9ICdtZXNvbi5idWlsZCcKKyAKKyBrbm93bl9jcHVfZmFtaWxpZXMgPSAoCisrICAgICdhbGxhcmNoJywKKyAgICAgJ2FhcmNoNjQnLAorICAgICAnYXJjJywKKyAgICAgJ2FybScsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWVudmlyb25tZW50LnB5LWRldGVjdC13aW5kb3dzLWFsc28taWYtdGhlLXN5c3RlbS1zdHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJlNWQ2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZW52aXJvbm1lbnQucHktZGV0ZWN0LXdpbmRvd3MtYWxzby1pZi10aGUtc3lzdGVtLXN0ci5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDdiZjRjMmMwMmViN2ZlMWJmMjRiMjNlM2JhMmQ3ZGYzNjQ5NWUwYWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTMgRmViIDIwMTkgMTc6NDU6MDkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZW52aXJvbm1lbnQucHk6IGRldGVjdCB3aW5kb3dzIGFsc28gaWYgdGhlIHN5c3RlbSBzdHJpbmcKKyBjb250YWlucyAnbWluZ3cnCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weSBiL21lc29uYnVpbGQvZW52aXJvbm1lbnQucHkKK2luZGV4IGI0ZmMwZGMuLjg0NTA3N2UgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CisrKysgYi9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5CitAQCAtMTI0Nyw3ICsxMjQ3LDcgQEAgY2xhc3MgTWFjaGluZUluZm86CisgICAgICAgICAiIiIKKyAgICAgICAgIE1hY2hpbmUgaXMgd2luZG93cz8KKyAgICAgICAgICIiIgorLSAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJworKyAgICAgICAgcmV0dXJuIHNlbGYuc3lzdGVtID09ICd3aW5kb3dzJyBvciAnbWluZ3cnIGluIHNlbGYuc3lzdGVtCisgCisgICAgIGRlZiBpc19jeWd3aW4oc2VsZik6CisgICAgICAgICAiIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uLzAwMDItZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRldGVybWluZS1nLWlyLXNjYW5uZXItYW5kLWctaS5wYXRjaAppbmRleCBmMzIyNjdkLi42MWIyNmJiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi8wMDAyLWdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXRlcm1pbmUtZy1pci1zY2FubmVyLWFuZC1nLWkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vMDAwMi1nb2JqZWN0LWludHJvc3BlY3Rpb24tZGV0ZXJtaW5lLWctaXItc2Nhbm5lci1hbmQtZy1pLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwYjg2MGNiOGEyMmFlODc2YjYwODg5MzlkYmFiY2EyMTZiYzI5NDMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5Y2NhZWQzODA3ODAxNzhjNGRhYjNhNjgxZjY1MmFjN2NkMjc0NTJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDQgQXVnIDIwMTcgMTY6MTg6NDcgKzAzMDAKIFN1YmplY3Q6IFtQQVRDSF0gZ29iamVjdC1pbnRyb3NwZWN0aW9uOiBkZXRlcm1pbmUgZy1pci1zY2FubmVyIGFuZApAQCAtMTIsMjggKzEyLDI5IEBACiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KIAogLS0tCi0gbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBtZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgfCA2ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLWluZGV4IGIyOWJhYjkuLmRjNGM0MDEgMTAwNjQ0CitpbmRleCA3YzVhMzYzLi4wMDAyNDk4IDEwMDY0NAogLS0tIGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5CiArKysgYi9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLUBAIC0zOTMsOCArMzkzLDYgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignR2lyIHRha2VzIG9uZSBhcmd1bWVudCcpCitAQCAtNzQ0LDE1ICs3NDQsMTUgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKICAgICAgICAgIGlmIGt3YXJncy5nZXQoJ2luc3RhbGxfZGlyJyk6CiAgICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2luc3RhbGxfZGlyIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCBnZW5lcmF0ZV9naXIoKSwgc2VlICJpbnN0YWxsX2Rpcl9naXIiIGFuZCAiaW5zdGFsbF9kaXJfdHlwZWxpYiInKQorIAogLSAgICAgICAgZ2lzY2FubmVyID0gc2VsZi5pbnRlcnByZXRlci5maW5kX3Byb2dyYW1faW1wbCgnZy1pci1zY2FubmVyJykKIC0gICAgICAgIGdpY29tcGlsZXIgPSBzZWxmLmludGVycHJldGVyLmZpbmRfcHJvZ3JhbV9pbXBsKCdnLWlyLWNvbXBpbGVyJykKLSAgICAgICAgIGdpcnRhcmdldCA9IGFyZ3NbMF0KLSAgICAgICAgIHdoaWxlIGhhc2F0dHIoZ2lydGFyZ2V0LCAnaGVsZF9vYmplY3QnKToKLSAgICAgICAgICAgICBnaXJ0YXJnZXQgPSBnaXJ0YXJnZXQuaGVsZF9vYmplY3QKLUBAIC00MDUsNiArNDAzLDggQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgICAgICAgICAgc2VsZi5naXJfZGVwID0gUGtnQ29uZmlnRGVwZW5kZW5jeSgnZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuZW52aXJvbm1lbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyduYXRpdmUnOiBUcnVlfSkKLSsgICAgICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCi0rICAgICAgICAgICAgZ2ljb21waWxlciA9IG9zLmVudmlyb25bJ1BLR19DT05GSUdfU1lTUk9PVF9ESVInXSArIHNlbGYuZ2lyX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdnX2lyX2NvbXBpbGVyJywge30pCi0gICAgICAgICAgICAgcGtnYXJncyA9IHNlbGYuZ2lyX2RlcC5nZXRfY29tcGlsZV9hcmdzKCkKLSAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ2dvYmplY3QtaW50cm9zcGVjdGlvbiBkZXBlbmRlbmN5IHdhcyBub3QgZm91bmQsIGdpciBjYW5ub3QgYmUgZ2VuZXJhdGVkLicpCistCisgICAgICAgICBnaXJ0YXJnZXRzID0gW3NlbGYuX3Vud3JhcF9naXJfdGFyZ2V0KGFyZywgc3RhdGUpIGZvciBhcmcgaW4gYXJnc10KKyAKKyAgICAgICAgIGlmIGxlbihnaXJ0YXJnZXRzKSA+IDEgYW5kIGFueShbaXNpbnN0YW5jZShlbCwgYnVpbGQuRXhlY3V0YWJsZSkgZm9yIGVsIGluIGdpcnRhcmdldHNdKToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignZ2VuZXJhdGVfZ2lyIG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBhcmd1bWVudCB3aGVuIG9uZSBvZiB0aGUgYXJndW1lbnRzIGlzIGFuIGV4ZWN1dGFibGUnKQorIAorICAgICAgICAgc2VsZi5naXJfZGVwLCBwa2dhcmdzID0gc2VsZi5fZ2V0X2dpcl9kZXAoc3RhdGUpCisrICAgICAgICBnaXNjYW5uZXIgPSBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1NZU1JPT1RfRElSJ10gKyBzZWxmLmdpcl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnZ19pcl9zY2FubmVyJywge30pCisrICAgICAgICBnaWNvbXBpbGVyID0gb3MuZW52aXJvblsnUEtHX0NPTkZJR19TWVNST09UX0RJUiddICsgc2VsZi5naXJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2dfaXJfY29tcGlsZXInLCB7fSkKKysKKyAKKyAgICAgICAgIG5zID0ga3dhcmdzLnBvcCgnbmFtZXNwYWNlJykKKyAgICAgICAgIG5zdmVyc2lvbiA9IGt3YXJncy5wb3AoJ25zdmVyc2lvbicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1saWJkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM5NWZkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2Nyb3NzLWxpYmRpci5wYXRjaApAQCAtMCwwICsxLDM1IEBACitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGNlMjRmMGQ2YTliZTIyYmE2MWQ4MGNkMjU0ZTA0MDlkZTJlYWZmZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKdXNzaSBQYWtrYW5lbiA8anBha2thbmVAZ21haWwuY29tPgorRGF0ZTogVGh1LCAyNyBEZWMgMjAxOCAyMzo0MzozNSArMDIwMAorU3ViamVjdDogW1BBVENIXSBEZWZhdWx0IGxpYmRpciBpcyAibGliIiB3aGVuIGNyb3NzIGNvbXBpbGluZy4gQ2xvc2VzICMyNTM1LgorCistLS0KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggZmY4MTA2ODMuLjllZTIzYTY5IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTI5OCw2ICsyOTgsNyBAQCBjbGFzcyBDb3JlRGF0YToKKyAgICAgICAgICMgT25seSB0byBwcmludCBhIHdhcm5pbmcgaWYgaXQgY2hhbmdlcyBiZXR3ZWVuIE1lc29uIGludm9jYXRpb25zLgorICAgICAgICAgc2VsZi5wa2djb25mX2VudnZhciA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHX1BBVEgnLCAnJykKKyAgICAgICAgIHNlbGYuY29uZmlnX2ZpbGVzID0gc2VsZi5fX2xvYWRfY29uZmlnX2ZpbGVzKG9wdGlvbnMubmF0aXZlX2ZpbGUpCisrICAgICAgICBzZWxmLmxpYmRpcl9jcm9zc19maXh1cCgpCisgCisgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgZGVmIF9fbG9hZF9jb25maWdfZmlsZXMoZmlsZW5hbWVzKToKK0BAIC0zMDksNiArMzEwLDEzIEBAIGNsYXNzIENvcmVEYXRhOgorICAgICAgICAgICAgICAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lc10KKyAgICAgICAgIHJldHVybiBmaWxlbmFtZXMKKyAKKysgICAgZGVmIGxpYmRpcl9jcm9zc19maXh1cChzZWxmKToKKysgICAgICAgICMgQnkgZGVmYXVsdCBzZXQgbGliZGlyIHRvICJsaWIiIHdoZW4gY3Jvc3MgY29tcGlsaW5nIHNpbmNlCisrICAgICAgICAjIGdldHRpbmcgdGhlICJzeXN0ZW0gZGVmYXVsdCIgaXMgYWx3YXlzIHdyb25nIG9uIG11bHRpYXJjaAorKyAgICAgICAgIyBwbGF0Zm9ybXMgYXMgaXQgZ2V0cyBhIHZhbHVlIGxpa2UgbGliL3g4Nl82NC1saW51eC1nbnUuCisrICAgICAgICBpZiBzZWxmLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuYnVpbHRpbnNbJ2xpYmRpciddLnZhbHVlID0gJ2xpYicKKysKKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vY3Jvc3MtcHJvcC1kZWZhdWx0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MjM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9jcm9zcy1wcm9wLWRlZmF1bHQucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorbWVzb24uYnVpbGQgZmlsZXMgdGhhdCB1c2UgY2MucnVuKCkgaW4gbmF0aXZlIGJ1aWxkcyBjYW4gc2lsZW50bHkgZmFsbGJhY2sgdG8KK21lc29uLmdldF9jcm9zc19wcm9wZXJ0eSgpIGluIGNyb3NzIGJ1aWxkcyB3aXRob3V0IGFuIGV4ZS13cmFwcGVyLCBidXQgdGhlcmUncworbm8gd2F5IHRvIGtub3cgdGhhdCB0aGlzIGlzIGhhcHBlbmluZy4KKworQXMgdGhlIGRlZmF1bHRzIG1heSBiZSBwZXNzaW1pc3RpYyAoZm9yIGV4YW1wbGUsIGRpc2FibGluZyB0aGUgc3VwcG9ydCBmb3IgYQorZmVhdHVyZSB0aGF0IHNob3VsZCBiZSBlbmFibGVkKSBlbWl0IGEgd2FybmluZyB3aGVuIHRoZSBkZWZhdWx0IGlzIHVzZWQsIHNvIHRoYXQKK3RoZSByZWNpcGUgY2FuIGV4cGxpY2l0bHkgc2V0IHRoZSBjcm9zcyBwcm9wZXJ0eSBhcyByZWxldmFudC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9tZXNvbmJ1aWxkL21lc29uL3B1bGwvNTA3MV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2ludGVycHJldGVyLnB5IGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQoraW5kZXggM2MzY2ZhZTAuLjEwZTc0MWFlIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorKysrIGIvbWVzb25idWlsZC9pbnRlcnByZXRlci5weQorQEAgLTE4OTAsNiArMTg5MCw3IEBAIGNsYXNzIE1lc29uTWFpbihJbnRlcnByZXRlck9iamVjdCk6CisgICAgICAgICAgICAgcmV0dXJuIHByb3BzW3Byb3BuYW1lXQorICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICBpZiBsZW4oYXJncykgPT0gMjoKKysgICAgICAgICAgICAgICAgbWxvZy53YXJuaW5nKCdDcm9zcyBwcm9wZXJ0eSAlcyBpcyB1c2luZyBkZWZhdWx0IHZhbHVlICVzJyAlIChwcm9wbmFtZSwgYXJnc1sxXSkpCisgICAgICAgICAgICAgICAgIHJldHVybiBhcmdzWzFdCisgICAgICAgICAgICAgcmFpc2UgSW50ZXJwcmV0ZXJFeGNlcHRpb24oJ1Vua25vd24gY3Jvc3MgcHJvcGVydHk6ICVzLicgJSBwcm9wbmFtZSkKKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL2dpLWZsYWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNGMyOTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ2ktZmxhZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1QYXNzIHRoZSBjb3JyZWN0IGNmbGFncy9sZGZsYWdzIHRvIHRoZSBnb2JqZWN0LWludHJvc3BlY3Rpb24gdG9vbHMuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCBjYjY5NjQxZS4uYmI0NDQ5YTAgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTU3OSw3ICs1NzksMTAgQEAgY2xhc3MgR25vbWVNb2R1bGUoRXh0ZW5zaW9uTW9kdWxlKToKLSAgICAgICAgIGV4dGVybmFsX2xkZmxhZ3MgKz0gbGlzdChkZXBfZXh0ZXJuYWxfbGRmbGFncykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWJlZ2luJ10KLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBjZmxhZ3MKLS0gICAgICAgIHNjYW5fY29tbWFuZCArPSBzdGF0ZS5lbnZpcm9ubWVudC5jb3JlZGF0YS5nZXRfZXh0ZXJuYWxfYXJncyhsYW5nKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfYXJncycsICIiKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzY2FuX2NvbW1hbmQgKz0gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MobGFuZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tY2ZsYWdzLWVuZCddCi0gICAgICAgICAjIG5lZWQgdG8gcHV0IG91ciBvdXRwdXQgZGlyZWN0b3J5IGZpcnN0IGFzIHdlIG5lZWQgdG8gdXNlIHRoZQotICAgICAgICAgIyBnZW5lcmF0ZWQgbGlicmFyaWVzIGluc3RlYWQgb2YgYW55IHBvc3NpYmx5IGluc3RhbGxlZCBzeXN0ZW0vcHJlZml4Ci1AQCAtNjE0LDcgKzYxNCwxMiBAQCBjbGFzcyBHbm9tZU1vZHVsZShFeHRlbnNpb25Nb2R1bGUpOgotICAgICAgICAgICAgICAgICBzY2FuX2NvbW1hbmQuYXBwZW5kKCctTCcgKyBkKQotICAgICAgICAgICAgIHNjYW5fY29tbWFuZCArPSBbJy0tbGlicmFyeScsIGxpYm5hbWVdCi0gCi0tICAgICAgICBmb3IgbGlua19hcmcgaW4gc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncyhsYW5nKToKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgbGlua19hcmdzID0gc3RhdGUuZW52aXJvbm1lbnQuY3Jvc3NfaW5mby5jb25maWdbInByb3BlcnRpZXMiXS5nZXQobGFuZyArICdfbGlua19hcmdzJywgIiIpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxpbmtfYXJncyA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MobGFuZykKLSsKLSsgICAgICAgIGZvciBsaW5rX2FyZyBpbiBsaW5rX2FyZ3M6Ci0gICAgICAgICAgICAgaWYgbGlua19hcmcuc3RhcnRzd2l0aCgnLUwnKToKLSAgICAgICAgICAgICAgICAgc2Nhbl9jb21tYW5kLmFwcGVuZChsaW5rX2FyZykKLSAgICAgICAgIHNjYW5fY29tbWFuZCArPSBsaXN0KGV4dGVybmFsX2xkZmxhZ3MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9ndGtkb2MtZmxhZ3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjZjM0ODkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vZ3RrZG9jLWZsYWdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRW5zdXJlIHRoYXQgaW4gYSBjcm9zcyBjb21waWxlIG9ubHkgdGhlIHRhcmdldCBmbGFncyBhcmUgcGFzc2VkIHRvIGd0ay1kb2MsIGFuZAotbm90IHRoZSBuYXRpdmUgZmxhZ3MuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbi9wdWxsLzQyNjFdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1kaWZmIC0tZ2l0IGEvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5IGIvbWVzb25idWlsZC9tb2R1bGVzL2dub21lLnB5Ci1pbmRleCA0YWYzMzMwNC4uODc1MWY1M2MgMTAwNjQ0Ci0tLS0gYS9tZXNvbmJ1aWxkL21vZHVsZXMvZ25vbWUucHkKLSsrKyBiL21lc29uYnVpbGQvbW9kdWxlcy9nbm9tZS5weQotQEAgLTg1MSwxNyArODUxLDMwIEBAIFRoaXMgd2lsbCBiZWNvbWUgYSBoYXJkIGVycm9yIGluIHRoZSBmdXR1cmUuJycnKQotICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGluY2QuaGVsZF9vYmplY3QsIChzdHIsIGJ1aWxkLkluY2x1ZGVEaXJzKSk6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIE1lc29uRXhjZXB0aW9uKAotICAgICAgICAgICAgICAgICAgICAgJ0dpciBpbmNsdWRlIGRpcnMgc2hvdWxkIGJlIGluY2x1ZGVfZGlyZWN0b3JpZXMoKS4nKQotKwotICAgICAgICAgY2ZsYWdzLnVwZGF0ZShnZXRfaW5jbHVkZV9hcmdzKGluY19kaXJzKSkKLS0gICAgICAgIGNmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2FyZ3MoJ2MnKSkKLSsgICAgICAgIGlmIHN0YXRlLmVudmlyb25tZW50LmlzX2Nyb3NzX2J1aWxkKCk6Ci0rICAgICAgICAgICAgY2ZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19hcmdzJywgIiIpKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9hcmdzKCdjJykpCi0rCi0gICAgICAgICBsZGZsYWdzID0gT3JkZXJlZFNldCgpCi0gICAgICAgICBsZGZsYWdzLnVwZGF0ZShpbnRlcm5hbF9sZGZsYWdzKQotLSAgICAgICAgbGRmbGFncy51cGRhdGUoc3RhdGUuZW52aXJvbm1lbnQuY29yZWRhdGEuZ2V0X2V4dGVybmFsX2xpbmtfYXJncygnYycpKQotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBsZGZsYWdzLnVwZGF0ZShzdGF0ZS5lbnZpcm9ubWVudC5jcm9zc19pbmZvLmNvbmZpZ1sicHJvcGVydGllcyJdLmdldCgnY19saW5rX2FyZ3MnLCAiIikpCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxkZmxhZ3MudXBkYXRlKHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmdldF9leHRlcm5hbF9saW5rX2FyZ3MoJ2MnKSkKLSAgICAgICAgIGxkZmxhZ3MudXBkYXRlKGV4dGVybmFsX2xkZmxhZ3MpCi0rCi0gICAgICAgICBpZiBjZmxhZ3M6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2ZsYWdzPSVzJyAlICcgJy5qb2luKGNmbGFncyldCi0gICAgICAgICBpZiBsZGZsYWdzOgotICAgICAgICAgICAgIGFyZ3MgKz0gWyctLWxkZmxhZ3M9JXMnICUgJyAnLmpvaW4obGRmbGFncyldCi0tICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotKwotKyAgICAgICAgaWYgc3RhdGUuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNyb3NzX2NvbXBpbGVycy5nZXQoJ2MnKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjb21waWxlciA9IHN0YXRlLmVudmlyb25tZW50LmNvcmVkYXRhLmNvbXBpbGVycy5nZXQoJ2MnKQotICAgICAgICAgaWYgY29tcGlsZXI6Ci0gICAgICAgICAgICAgYXJncyArPSBbJy0tY2M9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2V4ZWxpc3QoKSldCi0gICAgICAgICAgICAgYXJncyArPSBbJy0tbGQ9JXMnICUgJyAnLmpvaW4oY29tcGlsZXIuZ2V0X2xpbmtlcl9leGVsaXN0KCkpXQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWFueS1jcm9zcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA0YzI4YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21hbnktY3Jvc3MucGF0Y2gKQEAgLTAsMCArMSwyMDcgQEAKK21lc29uYnVpbGQ6IGFsbG93IG11bHRpcGxlIC0tY3Jvc3MtZmlsZSBvcHRpb25zCisKK0p1c3QgbGlrZSAtLW5hdGl2ZS1maWxlLCBhbGxvdyBtdWx0aXBsZSAtLWNyb3NzLWZpbGUgb3B0aW9ucy4gIFRoaXMgaXMgbW9zdGx5Cit1bmlmeWluZyB0aGUgbG9naWMgYmV0d2VlbiBjcm9zc19maWxlcyBhbmQgY29uZmlnX2ZpbGVzLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFt3aWxsIGJlIGluIDAuNTAuMV0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkgYi9tZXNvbmJ1aWxkL2JhY2tlbmQvYmFja2VuZHMucHkKK2luZGV4IDQwNDAyNTEzLi40YjliY2I1OSAxMDA2NDQKKy0tLSBhL21lc29uYnVpbGQvYmFja2VuZC9iYWNrZW5kcy5weQorKysrIGIvbWVzb25idWlsZC9iYWNrZW5kL2JhY2tlbmRzLnB5CitAQCAtNzI2LDggKzcyNiw3IEBAIGNsYXNzIEJhY2tlbmQ6CisgICAgICAgICBkZXBzID0gW29zLnBhdGguam9pbihzZWxmLmJ1aWxkX3RvX3NyYywgZGYpCisgICAgICAgICAgICAgICAgIGZvciBkZiBpbiBzZWxmLmludGVycHJldGVyLmdldF9idWlsZF9kZWZfZmlsZXMoKV0KKyAgICAgICAgIGlmIHNlbGYuZW52aXJvbm1lbnQuaXNfY3Jvc3NfYnVpbGQoKToKKy0gICAgICAgICAgICBkZXBzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90b19zcmMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZW52aXJvbm1lbnQuY29yZWRhdGEuY3Jvc3NfZmlsZSkpCisrICAgICAgICAgICAgZGVwcy5leHRlbmQoc2VsZi5lbnZpcm9ubWVudC5jb3JlZGF0YS5jcm9zc19maWxlcykKKyAgICAgICAgIGRlcHMuYXBwZW5kKCdtZXNvbi1wcml2YXRlL2NvcmVkYXRhLmRhdCcpCisgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oc2VsZi5lbnZpcm9ubWVudC5nZXRfc291cmNlX2RpcigpLCAnbWVzb25fb3B0aW9ucy50eHQnKSk6CisgICAgICAgICAgICAgZGVwcy5hcHBlbmQob3MucGF0aC5qb2luKHNlbGYuYnVpbGRfdG9fc3JjLCAnbWVzb25fb3B0aW9ucy50eHQnKSkKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2NvcmVkYXRhLnB5IGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQoraW5kZXggYzNmNWE3NDUuLmZmODEwNjgzIDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9jb3JlZGF0YS5weQorKysrIGIvbWVzb25idWlsZC9jb3JlZGF0YS5weQorQEAgLTIwMSw4ICsyMDEsOCBAQCBjbGFzcyBVc2VyRmVhdHVyZU9wdGlvbihVc2VyQ29tYm9PcHRpb24pOgorICAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUgPT0gJ2F1dG8nCisgCisgCistZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorLSAgICAiIiJMb2FkIG5hdGl2ZSBmaWxlcy4iIiIKKytkZWYgbG9hZF9jb25maWdzKGZpbGVuYW1lcywgc3ViZGlyKToKKysgICAgIiIiTG9hZCBjb25maWd1cmF0aW9uIGZpbGVzIGZyb20gYSBuYW1lZCBzdWJkaXJlY3RvcnkuIiIiCisgICAgIGRlZiBnZW4oKToKKyAgICAgICAgIGZvciBmIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICBmID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmKSkKK0BAIC0yMTUsNyArMjE1LDcgQEAgZGVmIGxvYWRfY29uZmlncyhmaWxlbmFtZXMpOgorICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0hPTUUnLCBvcy5wYXRoLmV4cGFuZHVzZXIoJ34vLmxvY2FsL3NoYXJlJykpLAorICAgICAgICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorICAgICAgICAgICAgICAgICBmb3IgcGF0aCBpbiBwYXRoczoKKy0gICAgICAgICAgICAgICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5qb2luKHBhdGgsICdtZXNvbicsICduYXRpdmUnLCBmKQorKyAgICAgICAgICAgICAgICAgICAgcGF0aF90b190cnkgPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ21lc29uJywgc3ViZGlyLCBmKQorICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHBhdGhfdG9fdHJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKK0BAIC0yOTEsNyArMjkxLDcgQEAgY2xhc3MgQ29yZURhdGE6CisgICAgICAgICBzZWxmLmNvbXBpbGVyX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5iYXNlX29wdGlvbnMgPSB7fQorICAgICAgICAgc2VsZi5leHRlcm5hbF9wcmVwcm9jZXNzX2FyZ3MgPSB7fSAjIENQUEZMQUdTIG9ubHkKKy0gICAgICAgIHNlbGYuY3Jvc3NfZmlsZSA9IHNlbGYuX19sb2FkX2Nyb3NzX2ZpbGUob3B0aW9ucy5jcm9zc19maWxlKQorKyAgICAgICAgc2VsZi5jcm9zc19maWxlcyA9IHNlbGYuX19sb2FkX2NvbmZpZ19maWxlcyhvcHRpb25zLmNyb3NzX2ZpbGUpCisgICAgICAgICBzZWxmLmNvbXBpbGVycyA9IE9yZGVyZWREaWN0KCkKKyAgICAgICAgIHNlbGYuY3Jvc3NfY29tcGlsZXJzID0gT3JkZXJlZERpY3QoKQorICAgICAgICAgc2VsZi5kZXBzID0gT3JkZXJlZERpY3QoKQorQEAgLTMwMSw1MiArMzAxLDE0IEBAIGNsYXNzIENvcmVEYXRhOgorIAorICAgICBAc3RhdGljbWV0aG9kCisgICAgIGRlZiBfX2xvYWRfY29uZmlnX2ZpbGVzKGZpbGVuYW1lcyk6CisrICAgICAgICAjIE5lZWQgdG8gdHJ5IGFuZCBtYWtlIHRoZSBwYXNzZWQgZmlsZW5hbWVzIGFic29sdXRlIGJlY2F1c2Ugd2hlbiB0aGUKKysgICAgICAgICMgZmlsZXMgYXJlIHBhcnNlZCBsYXRlciB3ZSdsbCBoYXZlIGNoZGlyKClkLgorICAgICAgICAgaWYgbm90IGZpbGVuYW1lczoKKyAgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgIGZpbGVuYW1lcyA9IFtvcy5wYXRoLmFic3BhdGgob3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdXNlcihmKSkpCisgICAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gZmlsZW5hbWVzXQorICAgICAgICAgcmV0dXJuIGZpbGVuYW1lcworIAorLSAgICBAc3RhdGljbWV0aG9kCistICAgIGRlZiBfX2xvYWRfY3Jvc3NfZmlsZShmaWxlbmFtZSk6CistICAgICAgICAiIiJUcnkgdG8gbG9hZCB0aGUgY3Jvc3MgZmlsZS4KKy0KKy0gICAgICAgIElmIHRoZSBmaWxlbmFtZSBpcyBOb25lIHJldHVybiBOb25lLiBJZiB0aGUgZmlsZW5hbWUgaXMgYW4gYWJzb2x1dGUKKy0gICAgICAgIChhZnRlciByZXNvbHZpbmcgdmFyaWFibGVzIGFuZCB+KSwgcmV0dXJuIHRoYXQgYWJzb2x1dGUgcGF0aC4gTmV4dCwKKy0gICAgICAgIGNoZWNrIGlmIHRoZSBmaWxlIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHNvdXJjZSBkaXIuIElmIHRoZSBwYXRoCistICAgICAgICBzdGlsbCBpc24ndCByZXNvbHZlZCBkbyB0aGUgZm9sbG93aW5nOgorLSAgICAgICAgICAgIFdpbmRvd3M6CistICAgICAgICAgICAgICAgIC0gRXJyb3IKKy0gICAgICAgICAgICAqOgorLSAgICAgICAgICAgICAgICAtICRYREdfREFUQV9IT01FL21lc29uL2Nyb3NzIChvciB+Ly5sb2NhbC9zaGFyZS9tZXNvbi9jcm9zcyBpZgorLSAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCkKKy0gICAgICAgICAgICAgICAgLSAkWERHX0RBVEFfRElSUy9tZXNvbi9jcm9zcyAob3IKKy0gICAgICAgICAgICAgICAgICAvdXNyL2xvY2FsL3NoYXJlL21lc29uL2Nyb3NzOi91c3Ivc2hhcmUvbWVzb24vY3Jvc3MgaWYgdW5kZWZpbmVkKQorLSAgICAgICAgICAgICAgICAtIEVycm9yCistCistICAgICAgICBOb24tV2luZG93cyBmb2xsb3dzIHRoZSBMaW51eCBwYXRoIGFuZCB3aWxsIGhvbm9yIFhER18qIGlmIHNldC4gVGhpcworLSAgICAgICAgc2ltcGxpZmllcyB0aGUgaW1wbGVtZW50YXRpb24gc29tZXdoYXQuCistICAgICAgICAiIiIKKy0gICAgICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6CistICAgICAgICAgICAgcmV0dXJuIE5vbmUKKy0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguZXhwYW5kdmFycyhmaWxlbmFtZSkpCistICAgICAgICBpZiBvcy5wYXRoLmlzYWJzKGZpbGVuYW1lKToKKy0gICAgICAgICAgICByZXR1cm4gZmlsZW5hbWUKKy0gICAgICAgIHBhdGhfdG9fdHJ5ID0gb3MucGF0aC5hYnNwYXRoKGZpbGVuYW1lKQorLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgIHJldHVybiBwYXRoX3RvX3RyeQorLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICd3aW4zMic6CistICAgICAgICAgICAgcGF0aHMgPSBbCistICAgICAgICAgICAgICAgIG9zLmVudmlyb24uZ2V0KCdYREdfREFUQV9IT01FJywgb3MucGF0aC5leHBhbmR1c2VyKCd+Ly5sb2NhbC9zaGFyZScpKSwKKy0gICAgICAgICAgICBdICsgb3MuZW52aXJvbi5nZXQoJ1hER19EQVRBX0RJUlMnLCAnL3Vzci9sb2NhbC9zaGFyZTovdXNyL3NoYXJlJykuc3BsaXQoJzonKQorLSAgICAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgorLSAgICAgICAgICAgICAgICBwYXRoX3RvX3RyeSA9IG9zLnBhdGguam9pbihwYXRoLCAnbWVzb24nLCAnY3Jvc3MnLCBmaWxlbmFtZSkKKy0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aF90b190cnkpOgorLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhdGhfdG9fdHJ5CistICAgICAgICAgICAgcmFpc2UgTWVzb25FeGNlcHRpb24oJ0Nhbm5vdCBmaW5kIHNwZWNpZmllZCBjcm9zcyBmaWxlOiAnICsgZmlsZW5hbWUpCistCistICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbignQ2Fubm90IGZpbmQgc3BlY2lmaWVkIGNyb3NzIGZpbGU6ICcgKyBmaWxlbmFtZSkKKy0KKyAgICAgZGVmIHNhbml0aXplX3ByZWZpeChzZWxmLCBwcmVmaXgpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMocHJlZml4KToKKyAgICAgICAgICAgICByYWlzZSBNZXNvbkV4Y2VwdGlvbigncHJlZml4IHZhbHVlIHshcn0gbXVzdCBiZSBhbiBhYnNvbHV0ZSBwYXRoJworQEAgLTU1OCw4ICs1MjAsOCBAQCBkZWYgcmVhZF9jbWRfbGluZV9maWxlKGJ1aWxkX2Rpciwgb3B0aW9ucyk6CisgICAgIG9wdGlvbnMuY21kX2xpbmVfb3B0aW9ucyA9IGQKKyAKKyAgICAgcHJvcGVydGllcyA9IGNvbmZpZ1sncHJvcGVydGllcyddCistICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZSBpcyBOb25lOgorLSAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gcHJvcGVydGllcy5nZXQoJ2Nyb3NzX2ZpbGUnLCBOb25lKQorKyAgICBpZiBub3Qgb3B0aW9ucy5jcm9zc19maWxlOgorKyAgICAgICAgb3B0aW9ucy5jcm9zc19maWxlID0gYXN0LmxpdGVyYWxfZXZhbChwcm9wZXJ0aWVzLmdldCgnY3Jvc3NfZmlsZScsICdbXScpKQorICAgICBpZiBub3Qgb3B0aW9ucy5uYXRpdmVfZmlsZToKKyAgICAgICAgICMgVGhpcyB3aWxsIGJlIGEgc3RyaW5nIGluIHRoZSBmb3JtOiAiWydmaXJzdCcsICdzZWNvbmQnLCAuLi5dIiwgdXNlCisgICAgICAgICAjIGxpdGVyYWxfZXZhbCB0byBnZXQgaXQgaW50byB0aGUgbGlzdCBvZiBzdHJpbmdzLgorQEAgLTU3MCw3ICs1MzIsNyBAQCBkZWYgd3JpdGVfY21kX2xpbmVfZmlsZShidWlsZF9kaXIsIG9wdGlvbnMpOgorICAgICBjb25maWcgPSBDbWRMaW5lRmlsZVBhcnNlcigpCisgCisgICAgIHByb3BlcnRpZXMgPSB7fQorLSAgICBpZiBvcHRpb25zLmNyb3NzX2ZpbGUgaXMgbm90IE5vbmU6CisrICAgIGlmIG9wdGlvbnMuY3Jvc3NfZmlsZToKKyAgICAgICAgIHByb3BlcnRpZXNbJ2Nyb3NzX2ZpbGUnXSA9IG9wdGlvbnMuY3Jvc3NfZmlsZQorICAgICBpZiBvcHRpb25zLm5hdGl2ZV9maWxlOgorICAgICAgICAgcHJvcGVydGllc1snbmF0aXZlX2ZpbGUnXSA9IG9wdGlvbnMubmF0aXZlX2ZpbGUKK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL2Vudmlyb25tZW50LnB5IGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQoraW5kZXggNmQ4NmRhZjkuLjQwNmFiOGI4IDEwMDY0NAorLS0tIGEvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorKysrIGIvbWVzb25idWlsZC9lbnZpcm9ubWVudC5weQorQEAgLTM1NSw4ICszNTUsOCBAQCBjbGFzcyBFbnZpcm9ubWVudDoKKyAgICAgICAgIHNlbGYubWFjaGluZXMgPSBNYWNoaW5lSW5mb3MoKQorICAgICAgICAgIyBXaWxsIGJlIGZ1bGx5IGluaXRpYWxpemVkIGxhdGVyIHVzaW5nIGNvbXBpbGVycyBsYXRlci4KKyAgICAgICAgIHNlbGYubWFjaGluZXMuZGV0ZWN0X2J1aWxkKCkKKy0gICAgICAgIGlmIHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZToKKy0gICAgICAgICAgICBzZWxmLmNyb3NzX2luZm8gPSBDcm9zc0J1aWxkSW5mbyhzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGUpCisrICAgICAgICBpZiBzZWxmLmNvcmVkYXRhLmNyb3NzX2ZpbGVzOgorKyAgICAgICAgICAgIHNlbGYuY3Jvc3NfaW5mbyA9IENyb3NzQnVpbGRJbmZvKHNlbGYuY29yZWRhdGEuY3Jvc3NfZmlsZXMpCisgICAgICAgICAgICAgaWYgJ2V4ZV93cmFwcGVyJyBpbiBzZWxmLmNyb3NzX2luZm8uY29uZmlnWydiaW5hcmllcyddOgorICAgICAgICAgICAgICAgICBmcm9tIC5kZXBlbmRlbmNpZXMgaW1wb3J0IEV4dGVybmFsUHJvZ3JhbQorICAgICAgICAgICAgICAgICBzZWxmLmV4ZV93cmFwcGVyID0gRXh0ZXJuYWxQcm9ncmFtLmZyb21fYmluX2xpc3QoCitAQCAtMzczLDcgKzM3Myw3IEBAIGNsYXNzIEVudmlyb25tZW50OgorIAorICAgICAgICAgaWYgc2VsZi5jb3JlZGF0YS5jb25maWdfZmlsZXM6CisgICAgICAgICAgICAgc2VsZi5jb25maWdfaW5mbyA9IGNvcmVkYXRhLkNvbmZpZ0RhdGEoCistICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcykpCisrICAgICAgICAgICAgICAgIGNvcmVkYXRhLmxvYWRfY29uZmlncyhzZWxmLmNvcmVkYXRhLmNvbmZpZ19maWxlcywgJ25hdGl2ZScpKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmNvbmZpZ19pbmZvID0gY29yZWRhdGEuQ29uZmlnRGF0YSgpCisgCitAQCAtMTExMywxMyArMTExMyw4IEBAIGNsYXNzIENyb3NzQnVpbGRJbmZvOgorICAgICBkZWYgb2tfdHlwZShzZWxmLCBpKToKKyAgICAgICAgIHJldHVybiBpc2luc3RhbmNlKGksIChzdHIsIGludCwgYm9vbCkpCisgCistICAgIGRlZiBwYXJzZV9kYXRhZmlsZShzZWxmLCBmaWxlbmFtZSk6CistICAgICAgICBjb25maWcgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyJykgYXMgZjoKKy0gICAgICAgICAgICAgICAgY29uZmlnLnJlYWRfZmlsZShmLCBmaWxlbmFtZSkKKy0gICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKy0gICAgICAgICAgICByYWlzZSBFbnZpcm9ubWVudEV4Y2VwdGlvbignRmlsZSBub3QgZm91bmQ6ICVzLicgJSBmaWxlbmFtZSkKKysgICAgZGVmIHBhcnNlX2RhdGFmaWxlKHNlbGYsIGZpbGVuYW1lcyk6CisrICAgICAgICBjb25maWcgPSBjb3JlZGF0YS5sb2FkX2NvbmZpZ3MoZmlsZW5hbWVzLCAnY3Jvc3MnKQorICAgICAgICAgIyBUaGlzIGlzIGEgYml0IGhhY2tpc2ggYXQgdGhlIG1vbWVudC4KKyAgICAgICAgIGZvciBzIGluIGNvbmZpZy5zZWN0aW9ucygpOgorICAgICAgICAgICAgIHNlbGYuY29uZmlnW3NdID0ge30KK2RpZmYgLS1naXQgYS9tZXNvbmJ1aWxkL21zZXR1cC5weSBiL21lc29uYnVpbGQvbXNldHVwLnB5CitpbmRleCA1NmEwZTlhNy4uZjBhMWFlMTkgMTAwNjQ0CistLS0gYS9tZXNvbmJ1aWxkL21zZXR1cC5weQorKysrIGIvbWVzb25idWlsZC9tc2V0dXAucHkKK0BAIC0yNyw3ICsyNyw5IEBAIGZyb20gLm1lc29ubGliIGltcG9ydCBNZXNvbkV4Y2VwdGlvbgorIAorIGRlZiBhZGRfYXJndW1lbnRzKHBhcnNlcik6CisgICAgIGNvcmVkYXRhLnJlZ2lzdGVyX2J1aWx0aW5fYXJndW1lbnRzKHBhcnNlcikKKy0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1jcm9zcy1maWxlJywgZGVmYXVsdD1Ob25lLAorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNyb3NzLWZpbGUnLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9W10sCisrICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdhcHBlbmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0ZpbGUgZGVzY3JpYmluZyBjcm9zcyBjb21waWxhdGlvbiBlbnZpcm9ubWVudC4nKQorICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW5hdGl2ZS1maWxlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PVtdLAorZGlmZiAtLWdpdCBhL3J1bl91bml0dGVzdHMucHkgYi9ydW5fdW5pdHRlc3RzLnB5CitpbmRleCBlNjg3NGIyNS4uMWQyNDcyOTEgMTAwNzU1CistLS0gYS9ydW5fdW5pdHRlc3RzLnB5CisrKysgYi9ydW5fdW5pdHRlc3RzLnB5CitAQCAtNTI5LDcgKzUyOSw3IEBAIGNsYXNzIEludGVybmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmZsdXNoKCkKKyAgICAgICAgIGNvbmZpZ2ZpbGUuY2xvc2UoKQorLSAgICAgICAgZGV0ZWN0ZWRfdmFsdWUgPSBtZXNvbmJ1aWxkLmVudmlyb25tZW50LkNyb3NzQnVpbGRJbmZvKGNvbmZpZ2ZpbGUubmFtZSkubmVlZF9leGVfd3JhcHBlcigpCisrICAgICAgICBkZXRlY3RlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIGRlc2lyZWRfdmFsdWUgPSBub3QgZGV0ZWN0ZWRfdmFsdWUKK0BAIC01NDEsNyArNTQxLDcgQEAgY2xhc3MgSW50ZXJuYWxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICBjb25maWdmaWxlbmFtZSA9IGNvbmZpZ2ZpbGUubmFtZQorICAgICAgICAgY29uZmlnLndyaXRlKGNvbmZpZ2ZpbGUpCisgICAgICAgICBjb25maWdmaWxlLmNsb3NlKCkKKy0gICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oY29uZmlnZmlsZS5uYW1lKS5uZWVkX2V4ZV93cmFwcGVyKCkKKysgICAgICAgIGZvcmNlZF92YWx1ZSA9IG1lc29uYnVpbGQuZW52aXJvbm1lbnQuQ3Jvc3NCdWlsZEluZm8oKGNvbmZpZ2ZpbGUubmFtZSwpKS5uZWVkX2V4ZV93cmFwcGVyKCkKKyAgICAgICAgIG9zLnVubGluayhjb25maWdmaWxlbmFtZSkKKyAKKyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9yY2VkX3ZhbHVlLCBkZXNpcmVkX3ZhbHVlKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24tc2V0dXAucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQppbmRleCBhOTc0OWVhLi44MDhlMmEwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi1zZXR1cC5weQpAQCAtMSw2MiArMSwzMSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogCiBpbXBvcnQgb3MKK2ltcG9ydCBzdHJpbmcKIGltcG9ydCBzeXMKIAotZGVmIGJhaWwobXNnKToKLSAgICBwcmludChtc2csIGZpbGU9c3lzLnN0ZGVycikKLSAgICBzeXMuZXhpdCgxKQorY2xhc3MgVGVtcGxhdGUoc3RyaW5nLlRlbXBsYXRlKToKKyAgICBkZWxpbWl0ZXIgPSAiQCIKIAotX01BUktFUiA9ICdAQCcKLWRlZiB0cmFuc2Zvcm1fbGluZShsaW5lKToKLSAgICAjIFN1YnN0aXR1dGUgYW55IHNwZWNpYWwgbWFya2VycyBvZiB0aGlzIGZvcm06Ci0gICAgIyBAQEVOVkBACi0gICAgIyB3aXRoIHRoZSB2YWx1ZSBvZiBFTlYsIHNwbGl0IGludG8gbWVzb24gYXJyYXkgc3ludGF4LgotICAgIHN0YXJ0ID0gbGluZS5maW5kKF9NQVJLRVIpCi0gICAgaWYgc3RhcnQgPT0gLTE6Ci0gICAgICAgIHJldHVybiBsaW5lCitjbGFzcyBFbnZpcm9uKCk6CisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgorICAgICAgICB2YWwgPSBvcy5lbnZpcm9uW25hbWVdCisgICAgICAgIHZhbCA9IFsiJyVzJyIgJSB4IGZvciB4IGluIHZhbC5zcGxpdCgpXQorICAgICAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQorICAgICAgICB2YWwgPSAnWyVzXScgJSB2YWwKKyAgICAgICAgcmV0dXJuIHZhbAogCi0gICAgZW5kID0gbGluZS5yZmluZChfTUFSS0VSKQotICAgIGlmIGVuZCA9PSBzdGFydDoKLSAgICAgICAgcmV0dXJuIGxpbmUKLQotICAgICMgTG9va3VwIHZhbHVlIG9mIHRoZSBlbnYgdmFyLgotICAgIHZhciA9IGxpbmVbc3RhcnQrbGVuKF9NQVJLRVIpOmVuZF0KLSAgICB0cnk6Ci0gICAgICAgIHZhbCA9IG9zLmVudmlyb25bdmFyXQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgYmFpbCgnY2Fubm90IGdlbmVyYXRlIG1lc29uLmNyb3NzOyBlbnYgdmFyICVzIG5vdCBzZXQnICUgdmFyKQotCi0gICAgIyBUcmFuc2Zvcm0gaW50byBtZXNvbiBhcnJheS4KLSAgICB2YWwgPSBbIiclcyciICUgeCBmb3IgeCBpbiB2YWwuc3BsaXQoKV0KLSAgICB2YWwgPSAnLCAnLmpvaW4odmFsKQotICAgIHZhbCA9ICdbJXNdJyAlIHZhbAotCi0gICAgYmVmb3JlID0gbGluZVs6c3RhcnRdCi0gICAgYWZ0ZXIgPSBsaW5lW2VuZCtsZW4oX01BUktFUik6XQotCi0gICAgcmV0dXJuICclcyVzJXMnICUgKGJlZm9yZSwgdmFsLCBhZnRlcikKLQotIyBNYWtlIHN1cmUgdGhpcyBpcyByZWFsbHkgYW4gU0RLIGV4dHJhY3Rpb24gZW52aXJvbm1lbnQuCiB0cnk6CiAgICAgc3lzcm9vdCA9IG9zLmVudmlyb25bJ09FQ09SRV9OQVRJVkVfU1lTUk9PVCddCiBleGNlcHQgS2V5RXJyb3I6Ci0gICAgYmFpbCgnT0VDT1JFX05BVElWRV9TWVNST09UIGVudiB2YXIgbXVzdCBiZSBzZXQnKQorICAgIHByaW50KCJOb3QgaW4gZW52aXJvbm1lbnQgc2V0dXAsIGJhaWxpbmciKQorICAgIHN5cy5leGl0KDEpCiAKLWNyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcycpCi10bXBfY3Jvc3NfZmlsZSA9ICclcy50bXAnICUgY3Jvc3NfZmlsZQordGVtcGxhdGVfZmlsZSA9IG9zLnBhdGguam9pbihzeXNyb290LCAndXNyL3NoYXJlL21lc29uL21lc29uLmNyb3NzLnRlbXBsYXRlJykKK2Nyb3NzX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3lzcm9vdCwgJ3Vzci9zaGFyZS9tZXNvbi8lc21lc29uLmNyb3NzJyAlIG9zLmVudmlyb25bIlRBUkdFVF9QUkVGSVgiXSkKIAotIyBSZWFkIHRocm91Z2ggYW5kIHRyYW5zZm9ybSB0aGUgY3VycmVudCBtZXNvbi5jcm9zcy4KLWxpbmVzID0gW10KLXdpdGggb3Blbihjcm9zc19maWxlLCAncicpIGFzIGY6Ci0gICAgZm9yIGxpbmUgaW4gZjoKLSAgICAgICAgbGluZXMuYXBwZW5kKHRyYW5zZm9ybV9saW5lKGxpbmUpKQotCi0jIFdyaXRlIHRoZSB0cmFuc2Zvcm1lZCByZXN1bHQgdG8gYSB0bXAgZmlsZSBhbmQgYXRvbWljYWxseSByZW5hbWUgaXQuIEluIGNhc2UKLSMgd2UgY3Jhc2ggZHVyaW5nIHRoZSBmaWxlIHdyaXRlLCB3ZSBkb24ndCB3YW50IGFuIGludmFsaWQgbWVzb24uY3Jvc3MgZmlsZS4KLXdpdGggb3Blbih0bXBfY3Jvc3NfZmlsZSwgJ3cnKSBhcyBmOgotICAgIGZvciBsaW5lIGluIGxpbmVzOgotICAgICAgICBmLndyaXRlKGxpbmUpCi0gICAgZi5mbHVzaCgpCi0gICAgb3MuZmRhdGFzeW5jKGYuZmlsZW5vKCkpCi1vcy5yZW5hbWUodG1wX2Nyb3NzX2ZpbGUsIGNyb3NzX2ZpbGUpCit3aXRoIG9wZW4odGVtcGxhdGVfZmlsZSkgYXMgaW5fZmlsZToKKyAgICB0ZW1wbGF0ZSA9IGluX2ZpbGUucmVhZCgpCisgICAgb3V0cHV0ID0gVGVtcGxhdGUodGVtcGxhdGUpLnN1YnN0aXR1dGUoRW52aXJvbigpKQorICAgIHdpdGggb3Blbihjcm9zc19maWxlLCAidyIpIGFzIG91dF9maWxlOgorICAgICAgICBvdXRfZmlsZS53cml0ZShvdXRwdXQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb24vbWVzb24td3JhcHBlcgppbmRleCBiMmUwMGRhLi5kNGZmZTYwIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbi9tZXNvbi13cmFwcGVyCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uL21lc29uLXdyYXBwZXIKQEAgLTEwLDUgKzEwLDUgQEAKIHVuc2V0IENDIENYWCBDUFAgTEQgQVIgTk0gU1RSSVAKIAogZXhlYyAiJE9FQ09SRV9OQVRJVkVfU1lTUk9PVC91c3IvYmluL21lc29uLnJlYWwiIFwKLSAgICAgLS1jcm9zcy1maWxlICIkT0VDT1JFX05BVElWRV9TWVNST09UL3Vzci9zaGFyZS9tZXNvbi9tZXNvbi5jcm9zcyIgXAorICAgICAtLWNyb3NzLWZpbGUgIiR7T0VDT1JFX05BVElWRV9TWVNST09UfS91c3Ivc2hhcmUvbWVzb24vJHtUQVJHRVRfUFJFRklYfW1lc29uLmNyb3NzIiBcCiAgICAgICIkQCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL21lc29uXzAuNDcuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk3ZmExNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ3LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbWVzb25fMC40OS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlOWI5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tZXNvbi9tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw0IEBACitpbmNsdWRlIG1lc29uLmluYworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ3LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUzNTAzYWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDcuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLWluY2x1ZGUgbWVzb24uaW5jCi0KLWluaGVyaXQgbmF0aXZlc2RrCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9tZXNvbi1zZXR1cC5weSBcCi0gICAgICAgICAgICBmaWxlOi8vbWVzb24td3JhcHBlciIKLQotZGVmIG1lc29uX2FycmF5KHZhciwgZCk6Ci0gICAgcmV0dXJuICInLCAnIi5qb2luKGQuZ2V0VmFyKHZhcikuc3BsaXQoKSkuam9pbigoIiciLCAiJyIpKQotCi0jIGJvdGggYXJlIHJlcXVpcmVkIGJ1dCBub3QgdXNlZCBieSBtZXNvbgotTUVTT05fU0RLX0VORElBTiA9ICJib2d1cy1lbmRpYW4iCi1NRVNPTl9UQVJHRVRfRU5ESUFOID0gImJvZ3VzLWVuZGlhbiIKLQotTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgotTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKLU1FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgotTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCi0KLSMgVGhpcyBsb2dpYyBpcyBzaW1pbGFyIGJ1dCBub3QgaWRlbnRpY2FsIHRvIHRoYXQgaW4gbWVzb24uYmJjbGFzcywgc2luY2UgaXQncwotIyBnZW5lcmF0aW5nIGZvciBhbiBTREsgcmF0aGVyIHRoYW4gYSBjcm9zcy1jb21waWxlLiBJbXBvcnRhbnQgZGlmZmVyZW5jZXMgYXJlOgotIyAtIFdlIGNhbid0IHNldCB2YXJzIGxpa2UgQ0MsIENYWCwgZXRjLiB5ZXQgYmVjYXVzZSB0aGV5IHdpbGwgYmUgZmlsbGVkIGluIHdpdGgKLSMgICByZWFsIHBhdGhzIGJ5IG1lc29uLXNldHVwLnNoIHdoZW4gdGhlIFNESyBpcyBleHRyYWN0ZWQuCi0jIC0gU29tZSBvdmVycmlkZXMgYXJlbid0IG5lZWRlZCwgc2luY2UgdGhlIFNESyBpbmplY3RzIHBhdGhzIHRoYXQgdGFrZSBjYXJlIG9mCi0jICAgdGhlbS4KLWFkZHRhc2sgd3JpdGVfY29uZmlnIGJlZm9yZSBkb19pbnN0YWxsCi1kb193cml0ZV9jb25maWdbdmFyZGVwc10gKz0gIk1FU09OX0NfQVJHUyBNRVNPTl9DUFBfQVJHUyBNRVNPTl9MSU5LX0FSR1MgQ0MgQ1hYIExEIEFSIE5NIFNUUklQIFJFQURFTEYiCi1kb193cml0ZV9jb25maWcoKSB7Ci0gICAgIyBUaGlzIG5lZWRzIHRvIGJlIFB5IHRvIHNwbGl0IHRoZSBhcmdzIGludG8gc2luZ2xlLWVsZW1lbnQgbGlzdHMKLSAgICBjYXQgPiR7V09SS0RJUn0vbWVzb24uY3Jvc3MgPDxFT0YKLVtiaW5hcmllc10KLWMgPSBAQENDQEAKLWNwcCA9IEBAQ1hYQEAKLWFyID0gQEBBUkBACi1ubSA9IEBATk1AQAotbGQgPSBAQExEQEAKLXN0cmlwID0gQEBTVFJJUEBACi1wa2djb25maWcgPSAncGtnLWNvbmZpZycKLQotW3Byb3BlcnRpZXNdCi1uZWVkc19leGVfd3JhcHBlciA9IHRydWUKLWNfYXJncyA9IEBAQ0ZMQUdTQEAKLWNfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLWNwcF9hcmdzID0gQEBDUFBGTEFHU0BACi1jcHBfbGlua19hcmdzID0gQEBMREZMQUdTQEAKLQotW2hvc3RfbWFjaGluZV0KLXN5c3RlbSA9ICcke1NES19PU30nCi1jcHVfZmFtaWx5ID0gJyR7U0RLX0FSQ0h9JwotY3B1ID0gJyR7U0RLX0FSQ0h9JwotZW5kaWFuID0gJyR7TUVTT05fU0RLX0VORElBTn0nCi1FT0YKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9tZXNvbgotICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L21lc29uLmNyb3NzICR7RH0ke2RhdGFkaXJ9L21lc29uLwotCi0gICAgaW5zdGFsbCAtZCAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi1zZXR1cC5weSAke0R9JHtTREtQQVRITkFUSVZFfS9wb3N0LXJlbG9jYXRlLXNldHVwLmQvCi0KLSAgICAjIFdlIG5lZWQgdG8gd3JhcCB0aGUgcmVhbCBtZXNvbiB3aXRoIGEgdGhpbiBlbnYgc2V0dXAgd3JhcHBlci4KLSAgICBtdiAke0R9JHtiaW5kaXJ9L21lc29uICR7RH0ke2JpbmRpcn0vbWVzb24ucmVhbAotICAgIGluc3RhbGwgLW0gMDc1NSAke1dPUktESVJ9L21lc29uLXdyYXBwZXIgJHtEfSR7YmluZGlyfS9tZXNvbgotfQotCi1SREVQRU5EU18ke1BOfSArPSAiXAotICAgIG5hdGl2ZXNkay1uaW5qYSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtY29yZSBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbWlzYyBcCi0gICAgbmF0aXZlc2RrLXB5dGhvbjMtbW9kdWxlcyBcCi0gICAgIgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9tZXNvbiAke1NES1BBVEhOQVRJVkV9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWVzb24vbmF0aXZlc2RrLW1lc29uXzAuNDkuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU0OTM1NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL21lc29uL25hdGl2ZXNkay1tZXNvbl8wLjQ5LjIuYmIKQEAgLTAsMCArMSw3MSBAQAoraW5jbHVkZSBtZXNvbi5pbmMKKworaW5oZXJpdCBuYXRpdmVzZGsKK2luaGVyaXQgc2l0ZWluZm8KKworU1JDX1VSSSArPSAiZmlsZTovL21lc29uLXNldHVwLnB5IFwKKyAgICAgICAgICAgIGZpbGU6Ly9tZXNvbi13cmFwcGVyIgorCitkZWYgbWVzb25fZW5kaWFuKHByZWZpeCwgZCk6CisgICAgYXJjaCwgb3MgPSBkLmdldFZhcihwcmVmaXggKyAiX0FSQ0giKSwgZC5nZXRWYXIocHJlZml4ICsgIl9PUyIpCisgICAgc2l0ZWRhdGEgPSBzaXRlaW5mb19kYXRhX2Zvcl9tYWNoaW5lKGFyY2gsIG9zLCBkKQorICAgIGlmICJlbmRpYW4tbGl0dGxlIiBpbiBzaXRlZGF0YToKKyAgICAgICAgcmV0dXJuICJsaXR0bGUiCisgICAgZWxpZiAiZW5kaWFuLWJpZyIgaW4gc2l0ZWRhdGE6CisgICAgICAgIHJldHVybiAiYmlnIgorICAgIGVsc2U6CisgICAgICAgIGJiLmZhdGFsKCJDYW5ub3QgZGV0ZXJtaW5lIGVuZGlhbmlzbSBmb3IgJXMtJXMiICUgKGFyY2gsIG9zKSkKKworTUVTT05fVE9PTENIQUlOX0FSR1MgPSAiJHtCVUlMRFNES19DQ19BUkNIfSR7VE9PTENIQUlOX09QVElPTlN9IgorTUVTT05fQ19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ0ZMQUdTfSIKK01FU09OX0NQUF9BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfQ1hYRkxBR1N9IgorTUVTT05fTElOS19BUkdTID0gIiR7TUVTT05fVE9PTENIQUlOX0FSR1N9ICR7QlVJTERTREtfTERGTEFHU30iCisKKyMgVGhlIGNyb3NzIGZpbGUgbG9naWMgaXMgc2ltaWxhciBidXQgbm90IGlkZW50aWNhbCB0byB0aGF0IGluIG1lc29uLmJiY2xhc3MsCisjIHNpbmNlIGl0J3MgZ2VuZXJhdGluZyBmb3IgYW4gU0RLIHJhdGhlciB0aGFuIGEgY3Jvc3MtY29tcGlsZS4gSW1wb3J0YW50CisjIGRpZmZlcmVuY2VzIGFyZToKKyMgLSBXZSBjYW4ndCBzZXQgdmFycyBsaWtlIENDLCBDWFgsIGV0Yy4geWV0IGJlY2F1c2UgdGhleSB3aWxsIGJlIGZpbGxlZCBpbiB3aXRoCisjICAgcmVhbCBwYXRocyBieSBtZXNvbi1zZXR1cC5zaCB3aGVuIHRoZSBTREsgaXMgZXh0cmFjdGVkLgorIyAtIFNvbWUgb3ZlcnJpZGVzIGFyZW4ndCBuZWVkZWQsIHNpbmNlIHRoZSBTREsgaW5qZWN0cyBwYXRocyB0aGF0IHRha2UgY2FyZSBvZgorIyAgIHRoZW0uCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L21lc29uCisgICAgY2F0ID4ke0R9JHtkYXRhZGlyfS9tZXNvbi9tZXNvbi5jcm9zcy50ZW1wbGF0ZSA8PEVPRgorW2JpbmFyaWVzXQorYyA9IEBDQworY3BwID0gQENYWAorYXIgPSBAQVIKK25tID0gQE5NCitsZCA9IEBMRAorc3RyaXAgPSBAU1RSSVAKK3BrZ2NvbmZpZyA9ICdwa2ctY29uZmlnJworCitbcHJvcGVydGllc10KK25lZWRzX2V4ZV93cmFwcGVyID0gdHJ1ZQorY19hcmdzID0gQENGTEFHUworY19saW5rX2FyZ3MgPSBATERGTEFHUworY3BwX2FyZ3MgPSBAQ1BQRkxBR1MKK2NwcF9saW5rX2FyZ3MgPSBATERGTEFHUworCitbaG9zdF9tYWNoaW5lXQorc3lzdGVtID0gJyR7U0RLX09TfScKK2NwdV9mYW1pbHkgPSAnJHtTREtfQVJDSH0nCitjcHUgPSAnJHtTREtfQVJDSH0nCitlbmRpYW4gPSAnJHtAbWVzb25fZW5kaWFuKCJTREsiLCBkKX0nCitFT0YKKworICAgIGluc3RhbGwgLWQgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbWVzb24tc2V0dXAucHkgJHtEfSR7U0RLUEFUSE5BVElWRX0vcG9zdC1yZWxvY2F0ZS1zZXR1cC5kLworCisgICAgIyBXZSBuZWVkIHRvIHdyYXAgdGhlIHJlYWwgbWVzb24gd2l0aCBhIHRoaW4gZW52IHNldHVwIHdyYXBwZXIuCisgICAgbXYgJHtEfSR7YmluZGlyfS9tZXNvbiAke0R9JHtiaW5kaXJ9L21lc29uLnJlYWwKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9tZXNvbi13cmFwcGVyICR7RH0ke2JpbmRpcn0vbWVzb24KK30KKworUkRFUEVORFNfJHtQTn0gKz0gIlwKKyAgICBuYXRpdmVzZGstbmluamEgXAorICAgIG5hdGl2ZXNkay1weXRob24zIFwKKyAgICBuYXRpdmVzZGstcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L21lc29uICR7U0RLUEFUSE5BVElWRX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExNjE0NzYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKLURFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKLUhPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MTEyM1QxNTIwMTFaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKLQlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCi0JZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAotCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCi0JZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKLQlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCi0JZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjM5YjA4YTE3MzQ1NGU1MjEwYWIzZjU5OGU5NDE3OWJmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZmMGNmMjRhZGUxM2ZmZjc2ZTk0M2MwMDM0MTNkODVjM2U0OTdjOTg0Yzk1YzFlY2VhMWM5NzMxY2E4NmYxM2MiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQotCi1TID0gIiR7V09SS0RJUn0vbWtsaWJzIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbWtsaWJzL21rbGlicy1uYXRpdmVfMC4xLjQ0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3ODRhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ta2xpYnMvbWtsaWJzLW5hdGl2ZV8wLjEuNDQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJTaGFyZWQgbGlicmFyeSBvcHRpbWlzYXRpb24gdG9vbCIKK0RFU0NSSVBUSU9OID0gIm1rbGlicyBwcm9kdWNlcyBjdXQtZG93biBzaGFyZWQgbGlicmFyaWVzIHRoYXQgY29udGFpbiBvbmx5IHRoZSByb3V0aW5lcyByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc2V0IG9mIGV4ZWN1dGFibGVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGF1bmNocGFkLm5ldC9ta2xpYnMiCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT05OGQzMTAzN2IxM2Q4OTZlMzM4OTA3MzhlZjAxYWY2NCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE4MDgyOFQyMTQxMDJaL3Bvb2wvbWFpbi9tL21rbGlicy9ta2xpYnNfJHtQVn0udGFyLnh6IFwKKwlmaWxlOi8vYWNfaW5pdF9maXgucGF0Y2hcCisJZmlsZTovL2ZpeF9TVFRfR05VX0lGVU5DLnBhdGNoXAorCWZpbGU6Ly9zeXNyb290ZWQtbGRzby5wYXRjaCBcCisJZmlsZTovL2F2b2lkLWZhaWx1cmUtb24tc3ltYm9sLXByb3ZpZGVkLWJ5LWFwcGxpY2F0aW9uLnBhdGNoIFwKKwlmaWxlOi8vc2hvdy1HTlUtdW5pcXVlLXN5bWJvbHMtYXMtcHJvdmlkZWQtc3ltYm9scy5wYXRjaCBcCisJZmlsZTovL2ZpeF9jcm9zc19jb21waWxlLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZiNmVlYjliNDAxNmM2YTczMTdhY2MyOGM4OWUzMmNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZjBiNmJkMzVlNWI2ZmM1OGQ4YjY4ODI3ZmJhZTJmZjZiN2UyMGRkMmIyMzhjY2I5YjQ5ZDg0NzIyMDY2YzIiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbS9ta2xpYnMvIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IG5hdGl2ZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRkL210ZC11dGlsc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgppbmRleCBmNTNjNmMxLi45ZmZhYzJlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdGQvbXRkLXV0aWxzX2dpdC5iYgpAQCAtNyw3ICs3LDcgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAotREVQRU5EUyA9ICJ6bGliIGx6byBlMmZzcHJvZ3MgdXRpbC1saW51eCIKK0RFUEVORFMgPSAiemxpYiBlMmZzcHJvZ3MgdXRpbC1saW51eCIKIFJERVBFTkRTX210ZC11dGlscy10ZXN0cyArPSAiYmFzaCIKIAogUFYgPSAiMi4wLjIrJHtTUkNQVn0iCkBAIC0yNSw4ICsyNSw5IEBACiAjIHhhdHRyIHN1cHBvcnQgY3JlYXRlcyBhbiBhZGRpdGlvbmFsIGNvbXBpbGUtdGltZSBkZXBlbmRlbmN5IG9uIGFjbCBiZWNhdXNlCiAjIHRoZSBzeXMvYWNsLmggaGVhZGVyIGlzIG5lZWRlZC4gbGliYWNsIGlzIG5vdCBuZWVkZWQgYW5kIHRodXMgZW5hYmxpbmcgeGF0dHIKICMgcmVnYXJkbGVzcyB3aGV0aGVyIGFjbCBpcyBlbmFibGVkIG9yIGRpc2FibGVkIGluIHRoZSBkaXN0cm8gc2hvdWxkIGJlIG9rYXkuCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeGF0dHJdID0gIiwsYWNsLCIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsIGQpfSBsem8iCitQQUNLQUdFQ09ORklHW2x6b10gPSAiLS13aXRoLWx6bywtLXdpdGhvdXQtbHpvLGx6byIKK1BBQ0tBR0VDT05GSUdbeGF0dHJdID0gIi0td2l0aC14YXR0ciwtLXdpdGhvdXQteGF0dHIsYWNsIgogCiBDUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29scy9kaXNhYmxlLWhhcmRjb2RlZC1jb25maWdzLnBhdGNoCmluZGV4IDAxNDU1ZjEuLjQ2NGNjYzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHMvZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzL2Rpc2FibGUtaGFyZGNvZGVkLWNvbmZpZ3MucGF0Y2gKQEAgLTEsMTIgKzEsMjEgQEAKLURpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgorRnJvbSA1YzI0MzU2NzYyYmM0Mjc0ZDNjYTQ5MzBiMGJjNzc1NGY0ZmZkMTliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBUdWUsIDEzIEp1biAyMDE3IDE0OjU1OjUyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGVkIHJlYWRpbmcgaG9zdCBjb25maWdzLgogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW25hdGl2ZV0KIAogU2lnbmVkLW9mZi1ieTogRWQgQmFydG9zaCA8ZWQuYmFydG9zaEBsaW51eC5pbnRlbC5jb20+CiAKLS0tLSBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jLm9yaWcJMjAxNy0wNi0xMyAxMjoyNzozOC42NDQwMDAwMDAgKzAzMDAKLSsrKyBtdG9vbHMtNC4wLjE4L2NvbmZpZy5jCTIwMTctMDYtMTMgMTI6Mjg6NDcuNTc2MDAwMDAwICswMzAwCi1AQCAtNzAxLDE0ICs3MDEsNiBAQAorLS0tCisgY29uZmlnLmMgfCA4IC0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWcuYyBiL2NvbmZpZy5jCitpbmRleCBmMDg2ODgzLi4xYzNmOWJkIDEwMDY0NAorLS0tIGEvY29uZmlnLmMKKysrKyBiL2NvbmZpZy5jCitAQCAtNzAxLDE0ICs3MDEsNiBAQCB2b2lkIHJlYWRfY29uZmlnKHZvaWQpCiAgCW1lbWNweShkZXZpY2VzLCBjb25zdF9kZXZpY2VzLAogIAkgICAgICAgbnJfY29uc3RfZGV2aWNlcypzaXplb2Yoc3RydWN0IGRldmljZSkpOwogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MzMWFjYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9tdG9vbHMvbXRvb2xzXzQuMC4xOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLVNVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgotREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCi1TRUNUSU9OID0gIm9wdGlvbmFsIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1ERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgotCi1SREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKLVJSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAotCWdsaWJjLWdjb252LWlibTQzNyBcCi0JZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKLQlnbGliYy1nY29udi1pYm03NzUgXAotCWdsaWJjLWdjb252LWlibTg1MSBcCi0JZ2xpYmMtZ2NvbnYtaWJtODUyIFwKLQlnbGliYy1nY29udi1pYm04NTUgXAotCWdsaWJjLWdjb252LWlibTg1NyBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYwIFwKLQlnbGliYy1nY29udi1pYm04NjEgXAotCWdsaWJjLWdjb252LWlibTg2MiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODYzIFwKLQlnbGliYy1nY29udi1pYm04NjUgXAotCWdsaWJjLWdjb252LWlibTg2NiBcCi0JZ2xpYmMtZ2NvbnYtaWJtODY5IFwKLQkiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTIzNjQ2NjE3NTQ2YmY2YWQ1NmYwNjFkOGIyODNjODUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTllOWNmODA4ODUzOTljNGYyMjllNWQ4N2U0OWMwYzJiZmVlYzA0NGUxMzg2ZDU5ZmNkMGIwYWVhZDZiMmY4NSIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXgiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLVBBQ0tBR0VDT05GSUdbbGliYnNkXSA9ICJhY19jdl9saWJfYnNkX21haW49eWVzLGFjX2N2X2xpYl9ic2RfbWFpbj1ubyxsaWJic2QiCi0KLWRvX2luc3RhbGxfcHJlcGVuZCAoKSB7Ci0gICAgIyBDcmVhdGUgYmluZGlyIHRvIGZpeCBwYXJhbGxlbCBpbnN0YWxsYXRpb24gaXNzdWVzCi0gICAgbWtkaXIgLXAgJHtEfS8ke2JpbmRpcn0KLSAgICBta2RpciAtcCAke0R9LyR7ZGF0YWRpcn0KLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbXRvb2xzL210b29sc180LjAuMTkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1OWQ5MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL210b29scy9tdG9vbHNfNC4wLjE5LmJiCkBAIC0wLDAgKzEsNTMgQEAKK1NVTU1BUlkgPSAiVXRpbGl0aWVzIHRvIGFjY2VzcyBNUy1ET1MgZGlza3Mgd2l0aG91dCBtb3VudGluZyB0aGVtIgorREVTQ1JJUFRJT04gPSAiTXRvb2xzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgdG8gYWNjZXNzIE1TLURPUyBkaXNrcyBmcm9tIEdOVSBhbmQgVW5peCB3aXRob3V0IG1vdW50aW5nIHRoZW0uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL210b29scy8iCitTRUNUSU9OID0gIm9wdGlvbmFsIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYmljb252IgorCitSREVQRU5EU18ke1BOfV9saWJjLWdsaWJjID0gImdsaWJjLWdjb252LWlibTg1MCIKK1JSRUNPTU1FTkRTXyR7UE59X2xpYmMtZ2xpYmMgPSAiXAorCWdsaWJjLWdjb252LWlibTQzNyBcCisJZ2xpYmMtZ2NvbnYtaWJtNzM3IFwKKwlnbGliYy1nY29udi1pYm03NzUgXAorCWdsaWJjLWdjb252LWlibTg1MSBcCisJZ2xpYmMtZ2NvbnYtaWJtODUyIFwKKwlnbGliYy1nY29udi1pYm04NTUgXAorCWdsaWJjLWdjb252LWlibTg1NyBcCisJZ2xpYmMtZ2NvbnYtaWJtODYwIFwKKwlnbGliYy1nY29udi1pYm04NjEgXAorCWdsaWJjLWdjb252LWlibTg2MiBcCisJZ2xpYmMtZ2NvbnYtaWJtODYzIFwKKwlnbGliYy1nY29udi1pYm04NjUgXAorCWdsaWJjLWdjb252LWlibTg2NiBcCisJZ2xpYmMtZ2NvbnYtaWJtODY5IFwKKwkiCitTUkNfVVJJW21kNXN1bV0gPSAiZjc1MDI0NmE2NWVlNmY5ZDJlODJkMTBiMDNhMGFhYWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWJjMTk3MTk5ZWExYzJjMzE3ZjU5Nzg3OTQ4NmVlYjgxN2YzMTk5YjUyNmQ5NGNjNjg0MTYyNDc2OGQ5MTBkZiIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L210b29scy9tdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9tdG9vbHMtbWFrZWluZm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbm8teDExLmdwbHYzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQ29udGludWUtZXZlbi1pZi1mcy1zaXplLWlzLW5vdC1kaXZpc2libGUtYnktc2VjdG9ycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1MT0NLX05CLXRvLXVzZS1ibG9ja2luZy1yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2NsYW5nX1VOVVNFRC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vZGlzYWJsZS1oYXJkY29kZWQtY29uZmlncy5wYXRjaCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC14IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2xpYmJzZF0gPSAiYWNfY3ZfbGliX2JzZF9tYWluPXllcyxhY19jdl9saWJfYnNkX21haW49bm8sbGliYnNkIgorCitkb19pbnN0YWxsX3ByZXBlbmQgKCkgeworICAgICMgQ3JlYXRlIGJpbmRpciB0byBmaXggcGFyYWxsZWwgaW5zdGFsbGF0aW9uIGlzc3VlcworICAgIG1rZGlyIC1wICR7RH0vJHtiaW5kaXJ9CisgICAgbWtkaXIgLXAgJHtEfS8ke2RhdGFkaXJ9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1WZXJpZnktdGhhdC13ZS1hcmUtbm90LXJlYWRpbmctcGFzdC1lbmQtb2YtYS1idWZmZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1NmEwOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotRnJvbSBjNTc4NWZkZjFkNjYwZWFlZmI5NzExMjg0NDE0MjYyZDBjZmU4ODQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWRhbSBNYWplciA8YW1hamVyQHN1c2UuZGU+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjQ4OjE3ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIFZlcmlmeSB0aGF0IHdlIGFyZSBub3QgcmVhZGluZyBwYXN0IGVuZCBvZiBhIGJ1ZmZlcgotCi1TaW1wbGUgcmVwcm9kdWNlciBpcyBqdXN0LAotCi0gICAgcmV0ICZkOmVwCi0KLXdoaWNoIHRyaWdnZXJzIGEgYnVmZmVyIG92ZXJyZWFkIGR1ZSB0byBwYXJzaW5nIG9mIGFuIGludmFsaWQKLXNlZ21lbnQgb3ZlcnJpZGUuCi0KLVNpZ25lZC1vZmYtYnk6IEFkYW0gTWFqZXIgPGFtYWplckBzdXNlLmRlPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ3XQotQ1ZFOiBDVkUtMjAxOC04ODgzCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpbmNsdWRlL29wZmxhZ3MuaCB8IDIgKy0KLSBpbmNsdWRlL3RhYmxlcy5oICB8IDEgKwotIHg4Ni9yZWdzLnBsICAgICAgIHwgMyArKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3BmbGFncy5oIGIvaW5jbHVkZS9vcGZsYWdzLmgKLWluZGV4IGVmMjgzOGMxLi44ZDRiNmIxZSAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvb3BmbGFncy5oCi0rKysgYi9pbmNsdWRlL29wZmxhZ3MuaAotQEAgLTE2Niw3ICsxNjYsNyBAQAotICNkZWZpbmUgUkVHX0NMQVNTX0JORCAgICAgICAgICAgR0VOX1JFR19DTEFTUyg5KQotIAotICNkZWZpbmUgaXNfY2xhc3MoY2xhc3MsIG9wKSAgICAgICAgICghKChvcGZsYWdzX3QpKGNsYXNzKSAmIH4ob3BmbGFnc190KShvcCkpKQotLSNkZWZpbmUgaXNfcmVnX2NsYXNzKGNsYXNzLCByZWcpICAgIGlzX2NsYXNzKChjbGFzcyksIG5hc21fcmVnX2ZsYWdzWyhyZWcpXSkKLSsjZGVmaW5lIGlzX3JlZ19jbGFzcyhjbGFzcywgcmVnKSAgICBpc19jbGFzcygoY2xhc3MpLCAoKHJlZykgPCBuYXNtX3JlZ19mbGFnc19zaXplID8gbmFzbV9yZWdfZmxhZ3NbKHJlZyldIDogMCkpCi0gCi0gI2RlZmluZSBJU19TUkVHKHJlZykgICAgICAgICAgICAgICAgaXNfcmVnX2NsYXNzKFJFR19TUkVHLCAocmVnKSkKLSAjZGVmaW5lIElTX0ZTR1MocmVnKSAgICAgICAgICAgICAgICBpc19yZWdfY2xhc3MoUkVHX0ZTR1MsIChyZWcpKQotZGlmZiAtLWdpdCBhL2luY2x1ZGUvdGFibGVzLmggYi9pbmNsdWRlL3RhYmxlcy5oCi1pbmRleCAyNGE2NjVlMi4uNDU4NzUyY2UgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3RhYmxlcy5oCi0rKysgYi9pbmNsdWRlL3RhYmxlcy5oCi1AQCAtNjQsNiArNjQsNyBAQCBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IG5hc21fcmVnX25hbWVzW107Ci0gdHlwZWRlZiB1aW50NjRfdCBvcGZsYWdzX3Q7Ci0gdHlwZWRlZiB1aW50MTZfdCAgZGVjb2ZsYWdzX3Q7Ci0gZXh0ZXJuIGNvbnN0IG9wZmxhZ3NfdCBuYXNtX3JlZ19mbGFnc1tdOwotK2V4dGVybiBjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZTsKLSAvKiByZWd2YWxzLmMgKi8KLSBleHRlcm4gY29uc3QgaW50IG5hc21fcmVndmFsc1tdOwotIAotZGlmZiAtLWdpdCBhL3g4Ni9yZWdzLnBsIGIveDg2L3JlZ3MucGwKLWluZGV4IDNhMWI1NmY1Li5jYjVjZWE2OCAxMDA3NTUKLS0tLSBhL3g4Ni9yZWdzLnBsCi0rKysgYi94ODYvcmVncy5wbAotQEAgLTE1OCw3ICsxNTgsOCBAQCBpZiAoICRmbXQgZXEgJ2gnICkgewotIAlwcmludGYgIiAgICAlLTE1cyAvKiAlLTVzICovXG4iLAotIAkJJHJlZ3N7JHJlZ30uJywnLCAkcmVnOwotICAgICB9Ci0tICAgIHByaW50ICJ9O1xuIjsKLSsgICAgcHJpbnQgIn07XG5cbiI7Ci0rICAgIHByaW50ICJjb25zdCBzaXplX3QgbmFzbV9yZWdfZmxhZ3Nfc2l6ZSA9IHNpemVvZihuYXNtX3JlZ19mbGFncykgLyBzaXplb2Yob3BmbGFnc190KTtcbiI7Ci0gfSBlbHNpZiAoICRmbXQgZXEgJ3ZjJyApIHsKLSAgICAgIyBPdXRwdXQgcmVndmFscy5jCi0gICAgIHByaW50ICIvKiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tICRmaWxlIC0gZG8gbm90IGVkaXQgKi9cblxuIjsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc21saWItRHJvcC1wdXJlLWZ1bmN0aW9uLWF0dHJpYnV0ZS1mcm9tLXNlZ19pbml0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmFlM2E5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDc3YzNhNzcyMTBkOGNhOGI5NGU5OTljNzExMTU2ZTk4NGE4ZGM3MzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMSBNYXIgMjAxOCAxMTowNTozMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBhc21saWI6IERyb3AgcHVyZSBmdW5jdGlvbiBhdHRyaWJ1dGUgZnJvbSBzZWdfaW5pdAotCi1zZWdfaW5pdCByZXR1cm5zIHZvaWQsIHNvIGl0IGlzIGltcHVyZSBmdW5jdGlvbgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotCi0gaW5jbHVkZS9uYXNtbGliLmggfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL25hc21saWIuaCBiL2luY2x1ZGUvbmFzbWxpYi5oCi1pbmRleCA3OWU4NjZiLi5iODBiN2UyIDEwMDY0NAotLS0tIGEvaW5jbHVkZS9uYXNtbGliLmgKLSsrKyBiL2luY2x1ZGUvbmFzbWxpYi5oCi1AQCAtMTkxLDcgKzE5MSw3IEBAIGludDY0X3QgcmVhZHN0cm51bShjaGFyICpzdHIsIGludCBsZW5ndGgsIGJvb2wgKndhcm4pOwotICAqIHNlZ19pbml0OiBJbml0aWFsaXNlIHRoZSBzZWdtZW50LW51bWJlciBhbGxvY2F0b3IuCi0gICogc2VnX2FsbG9jOiBhbGxvY2F0ZSBhIGhpdGhlcnRvIHVudXNlZCBzZWdtZW50IG51bWJlci4KLSAgKi8KLS12b2lkIHB1cmVfZnVuYyBzZWdfaW5pdCh2b2lkKTsKLSt2b2lkIHNlZ19pbml0KHZvaWQpOwotIGludDMyX3QgcHVyZV9mdW5jIHNlZ19hbGxvYyh2b2lkKTsKLSAKLSAvKgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtYXNzZW1ibGUtQ2hlY2stZ2xvYmFsLWxpbmUtbGltaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgyZDRjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gN2E0NmQ2YjllM2ExZDhhMGFiMGQ4MTZlZjFiZjE5NGFkMjg1ZTA4MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJDaGFuZyBTLiBCYWUiIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1EYXRlOiBGcmksIDE3IEF1ZyAyMDE4IDE0OjI2OjAzICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGFzc2VtYmxlOiBDaGVjayBnbG9iYWwgbGluZSBsaW1pdAotCi1XaXRob3V0IHRoZSBsaW1pdCwgdGhlIHdoaWxlIGxvb3Agb3BlbnMgdG8gc2VtaS1pbmZpbml0ZQotdGhhdCB3aWxsIGV4aGF1c3RpdmVseSBjb25zdW1lIHRoZSBoZWFwIHNwYWNlLiBBbHNvLCB0aGUKLWluZGV4IHZhbHVlIGdldHMgaW50byB0aGUgZ2FyYmFnZS4KLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDc0Ci0KLVJlcG9ydGVkLWJ5IDogRG9uZ2xpYW5nIE11IDxtdWRvbmdsaWFuZ2FiY2RAZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQ2hhbmcgUy4gQmFlIDxjaGFuZy5zZW9rLmJhZUBpbnRlbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDeXJpbGwgR29yY3Vub3YgPGdvcmN1bm92QGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBmcm9tIHVwc3RyZWFtIFtodHRwOi8vcmVwby5vci5jei9uYXNtLmdpdF0KLUNWRTogQ1ZFLTIwMTgtMTAzMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9uYXNtLmMgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9hc20vbmFzbS5jIGIvYXNtL25hc20uYwotaW5kZXggODQ5N2VjOS4uODFmNmNlZSAxMDA2NDQKLS0tLSBhL2FzbS9uYXNtLmMKLSsrKyBiL2FzbS9uYXNtLmMKLUBAIC05OSw2ICs5OSw4IEBAIHN0YXRpYyBjaGFyIG91dG5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgY2hhciBsaXN0bmFtZVtGSUxFTkFNRV9NQVhdOwotIHN0YXRpYyBjaGFyIGVycm5hbWVbRklMRU5BTUVfTUFYXTsKLSBzdGF0aWMgaW50IGdsb2JhbGxpbmVubzsgICAgICAgIC8qIGZvciBmb3J3YXJkLXJlZmVyZW5jZSB0cmFja2luZyAqLwotKyNkZWZpbmUgR0xPQkFMTElORU5PX01BWCAgICBJTlQzMl9NQVgKLSsKLSAvKiBzdGF0aWMgaW50IHBhc3MgPSAwOyAqLwotIGNvbnN0IHN0cnVjdCBvZm10ICpvZm10ID0gJk9GX0RFRkFVTFQ7Ci0gY29uc3Qgc3RydWN0IG9mbXRfYWxpYXMgKm9mbXRfYWxpYXMgPSBOVUxMOwotQEAgLTEzNjAsNyArMTM2MiwxMCBAQCBzdGF0aWMgdm9pZCBhc3NlbWJsZV9maWxlKGNoYXIgKmZuYW1lLCBTdHJMaXN0ICoqZGVwZW5kX3B0cikKLSAgICAgICAgIGxvY2F0aW9uLm9mZnNldCA9IG9mZnMgPSBnZXRfY3Vycl9vZmZzKCk7Ci0gCi0gICAgICAgICB3aGlsZSAoKGxpbmUgPSBwcmVwcm9jLT5nZXRsaW5lKCkpKSB7Ci0tICAgICAgICAgICAgZ2xvYmFsbGluZW5vKys7Ci0rICAgICAgICAgICAgaWYgKGdsb2JhbGxpbmVubysrID09IEdMT0JBTExJTkVOT19NQVgpCi0rICAgICAgICAgICAgICAgIG5hc21fZXJyb3IoRVJSX0ZBVEFMLAotKyAgICAgICAgICAgICAgICAgICAgIm92ZXJhbGwgbGluZSBudW1iZXIgcmVhY2hlcyB0aGUgbWF4aW11bSAlZFxuIiwKLSsgICAgICAgICAgICAgICAgICAgIEdMT0JBTExJTkVOT19NQVgpOwotIAotICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgICogSGVyZSB3ZSBwYXJzZSBvdXIgZGlyZWN0aXZlczsgdGhpcyBpcyBub3QgaGFuZGxlZCBieSB0aGUKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWV2YWwtRWxpbWluYXRlLWRpdmlzaW9uLWJ5LXplcm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZjMzMyNDkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNCBPY3QgMjAxOCAwMToyNjoxOSArMDMwMAotU3ViamVjdDogW1BBVENIXSBldmFsOiBFbGltaW5hdGUgZGl2aXNpb24gYnkgemVybwotCi1XaGVuIGRvaW5nIGRpdmlzaW9uIHdlIHNob3VsZCBkZXRlY3QgaWYgdGhlIHZhbHVlIHdlJ3JlCi1kaXZpZGVkIGJ5IGlzIG5vdCB6ZXJvLiBJbnN0ZWFkIG9mIGlzX3Vua25vd24oKSBoZWxwZXIKLXdlIHNob3VsZCB1c2UgaXNfanVzdF91bmtub3duKCkuCi0KLWh0dHBzOi8vYnVnemlsbGEubmFzbS51cy9zaG93X2J1Zy5jZ2k/aWQ9MzM5MjUxNQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDczCi0KLVJlcG9ydGVkLWJ5OiBKdW4gPGp4eDEzQHBzdS5lZHU+Ci1SZXBvcnRlZC1ieTogc3R1YXJ0bHkgPHNpdHVsaW5neXVuQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEN5cmlsbCBHb3JjdW5vdiA8Z29yY3Vub3ZAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vbmV0d2lkZS1hc3NlbWJsZXIvbmFzbS9jb21taXQvY2VlYzBkODE4Nzk4YWVhYTc1ZWQ0OTA3ZTYxMzViMDI0N2VkNDZiMi5wYXRjaF0KLUNWRTogQ1ZFLTIwMTgtMTAwMTYKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gYXNtL2V2YWwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2FzbS9ldmFsLmMgYi9hc20vZXZhbC5jCi1pbmRleCAxYTY2ODBmLi43ZTcyN2E0IDEwMDY0NAotLS0tIGEvYXNtL2V2YWwuYwotKysrIGIvYXNtL2V2YWwuYwotQEAgLTU4MCw3ICs1ODAsNyBAQCBzdGF0aWMgZXhwciAqZXhwcjUoaW50IGNyaXRpY2FsKQotICAgICAgICAgICAgICAgICAgICIgc2NhbGFyIHZhbHVlcyIpOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgfQotLSAgICAgICAgaWYgKGogIT0gJyonICYmICFpc191bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSsgICAgICAgIGlmIChqICE9ICcqJyAmJiAhaXNfanVzdF91bmtub3duKGYpICYmIHJlbG9jX3ZhbHVlKGYpID09IDApIHsKLSAgICAgICAgICAgICBuYXNtX2Vycm9yKEVSUl9OT05GQVRBTCwgImRpdmlzaW9uIGJ5IHplcm8iKTsKLSAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgIH0KLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjNzA2YzMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtLzAwMDEtZml4LUNWRS0yMDE4LTg4ODIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIDMzNDM4MDM3ZTAwZWM3NTBiZmYwMjA1NzhiMWE1YjZmNzVmNjA1NTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZGFtIE1hamVyIDxhbWFqZXJAc3VzZS5kZT4KLURhdGU6IEZyaSwgMTcgQXVnIDIwMTggMTQ6NDE6MDIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IENWRS0yMDE4LTg4ODIKLQotaHR0cHM6Ly9idWd6aWxsYS5uYXNtLnVzL3Nob3dfYnVnLmNnaT9pZD0zMzkyNDQ1Ci0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI0NDVdCi1DVkU6IENWRS0yMDE4LTg4ODIKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGFzbS9mbG9hdC5jIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2FzbS9mbG9hdC5jIGIvYXNtL2Zsb2F0LmMKLWluZGV4IGRjZjY5ZmVhLi4yOTY1ZDNkYiAxMDA2NDQKLS0tLSBhL2FzbS9mbG9hdC5jCi0rKysgYi9hc20vZmxvYXQuYwotQEAgLTYwOCw2ICs2MDgsOCBAQCBzdGF0aWMgdm9pZCBpZWVlX3NocihmcF9saW1iICptYW50LCBpbnQgaSkKLSAgICAgICAgIGlmIChvZmZzKQotICAgICAgICAgICAgIGZvciAoaiA9IE1BTlRfTElNQlMtMTsgaiA+PSBvZmZzOyBqLS0pCi0gICAgICAgICAgICAgICAgIG1hbnRbal0gPSBtYW50W2otb2Zmc107Ci0rICAgIH0gZWxzZSBpZiAoTUFOVF9MSU1CUy0xLW9mZnMgPCAwKSB7Ci0rICAgICAgICBqID0gTUFOVF9MSU1CUy0xOwotICAgICB9IGVsc2UgewotICAgICAgICAgbiA9IG1hbnRbTUFOVF9MSU1CUy0xLW9mZnNdID4+IHNyOwotICAgICAgICAgZm9yIChqID0gTUFOVF9MSU1CUy0xOyBqID4gb2Zmczsgai0tKSB7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc20vMDAwMS1wcmVwcm9jLXBhcnNlX3NpemUtQ2hlY2stZm9yLXN0cmluZy1wcm92aWRlZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTIxZmQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbS8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBhMmY0MzMzMWE4NTNiN2NjNDQ5Y2FlMzM2MWVlMWZiNTRjN2ZhZDhkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI5IFNlcCAyMDE4IDE0OjMwOjE0ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHByZXByb2M6IHBhcnNlX3NpemUgLS0gQ2hlY2sgZm9yIHN0cmluZyBwcm92aWRlZAotCi1JbiBjYXNlIGlmIHRoZSBzdHJpbmcgaXMgbmlsIHdlIHdpbGwgaGF2ZSBzaWdzZWd2LgotCi1odHRwczovL2J1Z3ppbGxhLm5hc20udXMvc2hvd19idWcuY2dpP2lkPTMzOTI1MDcKLQotU2lnbmVkLW9mZi1ieTogQ3lyaWxsIEdvcmN1bm92IDxnb3JjdW5vdkBnbWFpbC5jb20+Ci0KLUNWRTogQ1ZFLTIwMTgtMTAwMDY2NwotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotaHR0cHM6Ly9yZXBvLm9yLmN6L25hc20vbmFzbS5naXQvY29tbWl0L2M3MTNiNWY5OTRjZjdiMjkxNjRjM2I2ODM4YjkxZjA0OTk1OTE0MzQKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYXNtL3ByZXByb2MuYyB8IDMgKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXNtL3ByZXByb2MuYyBiL2FzbS9wcmVwcm9jLmMKLWluZGV4IDQ3NTkyNmQuLjFkNzcwYTUgMTAwNjQ0Ci0tLS0gYS9hc20vcHJlcHJvYy5jCi0rKysgYi9hc20vcHJlcHJvYy5jCi1AQCAtMjIxNiw4ICsyMjE2LDcgQEAgc3RhdGljIGludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0cikgewotICAgICAgICAgeyAiYnl0ZSIsICJkd29yZCIsICJvd29yZCIsICJxd29yZCIsICJ0d29yZCIsICJ3b3JkIiwgInl3b3JkIiB9OwotICAgICBzdGF0aWMgY29uc3QgaW50IHNpemVzW10gPQotICAgICAgICAgeyAwLCAxLCA0LCAxNiwgOCwgMTAsIDIsIDMyIH07Ci0tCi0tICAgIHJldHVybiBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV07Ci0rICAgIHJldHVybiBzdHIgPyBzaXplc1tic2lpKHN0ciwgc2l6ZV9uYW1lcywgQVJSQVlfU0laRShzaXplX25hbWVzKSkrMV0gOiAwOwotIH0KLSAKLSAvKgotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xMy4wMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTRjNTU0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25hc20vbmFzbV8yLjEzLjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWFzbWxpYi1Ecm9wLXB1cmUtZnVuY3Rpb24tYXR0cmlidXRlLWZyb20tc2VnX2luaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hc3NlbWJsZS1DaGVjay1nbG9iYWwtbGluZS1saW1pdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1DVkUtMjAxOC04ODgyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVmVyaWZ5LXRoYXQtd2UtYXJlLW5vdC1yZWFkaW5nLXBhc3QtZW5kLW9mLWEtYnVmZmVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZXZhbC1FbGltaW5hdGUtZGl2aXNpb24tYnktemVyby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXByZXByb2MtcGFyc2Vfc2l6ZS1DaGVjay1mb3Itc3RyaW5nLXByb3ZpZGVkLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGM1ODFkNDgyZjM5ZDUxMTE4NzljYTk2MDE5MzhmNzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjNlYzg2NDc3YWQzZjBmNjI5MjMyNWZkODllMWQ5M2FlYTJlMmZkNDkwMDcwODYzZjE3ZDQ4ZjdjZDM4NzAxMSIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlpZiBbIC1mICR7U30vYWNsb2NhbC5tNCBdICYmIFsgISAtZiAke1N9L2FjaW5jbHVkZS5tNCBdOyB0aGVuCi0JCW12ICR7U30vYWNsb2NhbC5tNCAke1N9L2FjaW5jbHVkZS5tNAotCWZpCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHttYW5kaXJ9L21hbjEKLQotCW9lX3J1bm1ha2UgJ0lOU1RBTExST09UPSR7RH0nIGluc3RhbGwKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCi0KLURFUEVORFMgPSAiZ3JvZmYtbmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uYXNtL25hc21fMi4xNC4wMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lY2VjNzhkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmFzbS9uYXNtXzIuMTQuMDIuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJHZW5lcmFsLXB1cnBvc2UgeDg2IGFzc2VtYmxlciIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTkwOTA0NDg2ZjhmYmYxODYxY2Y0Mjc1MmUxYTM5ZWZlIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLyR7UFZ9L25hc20tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjNmNDg5YWE0OGFkMmFhMWY5NjdkYzVlMjkzYmJkMDZmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM0ZmQyNmM3MGEyNzdhOWZkZDU0Y2I1ZWNmMzg5YmFkZWRhZjQ4MDQ3YjI2OWQxMDA4ZmJjODE5YjI0ZTgwYmMiCisKKyMgYnJva2Vuc2VwIHNpbmNlIHRoaXMgdXNlcyBhdXRvY29uZiBidXQgbm90IGF1dG9tYWtlCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1leGNsdWRlPWFjbG9jYWwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitERVBFTkRTID0gImdyb2ZmLW5hdGl2ZSIKKworQ1ZFX1BST0RVQ1QgPSAibmV0d2lkZV9hc3NlbWJsZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphL2ZpeC1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0M2Q0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYS9maXgtbXVzbC5wYXRjaApAQCAtMCwwICsxLDM5IEBACisyZmY1NGFkNzQ3OGE5MGJkNzVjOTFlNDM0MjM2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1ha2Vwb3N0IDxtYWtlcG9zdEBmaXJlbWFpbC5jYz4KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMDM6MTM6MTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIHN0X210aW0gaWYgc3RfbXRpbWUgaXMgbWFjcm8sIGZpeCAjMTUxMAorCitJbiBQT1NJWC4xLTIwMDgsIHN5c19zdGF0IGhhcyBhIHN0X210aW0gbWVtYmVyIGFuZCBhIHN0X210aW1lIGJhY2t3YXJkCitjb21wYXRpYmlsaXR5IG1hY3JvLiBTaG91bGQgaGVscCBhdm9pZCBoYXJkY29kaW5nIHBsYXRmb3JtIGRldGVjdGlvbi4KKy0tLQorIHNyYy9kaXNrX2ludGVyZmFjZS5jYyB8IDE0ICsrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGlza19pbnRlcmZhY2UuY2MgYi9zcmMvZGlza19pbnRlcmZhY2UuY2MKK2luZGV4IGQ0YzJmYjA4Ny4uZGMyOTdjNDQ5IDEwMDY0NAorLS0tIHNyYy9kaXNrX2ludGVyZmFjZS5jYworKysrIC9zcmMvZGlza19pbnRlcmZhY2UuY2MKK0BAIC0yMDIsMTkgKzIwMiwxMyBAQCBUaW1lU3RhbXAgUmVhbERpc2tJbnRlcmZhY2U6OlN0YXQoY29uc3Qgc3RyaW5nJiBwYXRoLCBzdHJpbmcqIGVycikgY29uc3QgeworICAgLy8gdGhhdCBpdCBkb2Vzbid0IGV4aXN0LgorICAgaWYgKHN0LnN0X210aW1lID09IDApCisgICAgIHJldHVybiAxOworLSNpZiBkZWZpbmVkKF9fQVBQTEVfXykgJiYgIWRlZmluZWQoX1BPU0lYX0NfU09VUkNFKQorKyNpZiBkZWZpbmVkKF9BSVgpCisrICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbWUgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltZV9uOworKyNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorICAgcmV0dXJuICgoaW50NjRfdClzdC5zdF9tdGltZXNwZWMudHZfc2VjICogMTAwMDAwMDAwMExMICsKKyAgICAgICAgICAgc3Quc3RfbXRpbWVzcGVjLnR2X25zZWMpOworLSNlbGlmIChfUE9TSVhfQ19TT1VSQ0UgPj0gMjAwODA5TCB8fCBfWE9QRU5fU09VUkNFID49IDcwMCB8fCBkZWZpbmVkKF9CU0RfU09VUkNFKSB8fCBkZWZpbmVkKF9TVklEX1NPVVJDRSkgfHwgXAorLSAgICAgICBkZWZpbmVkKF9fQklPTklDX18pIHx8IChkZWZpbmVkIChfX1NWUjQpICYmIGRlZmluZWQgKF9fc3VuKSkgfHwgZGVmaW5lZChfX0ZyZWVCU0RfXykpCistICAvLyBGb3IgZ2xpYmMsIHNlZSAiVGltZXN0YW1wIGZpbGVzIiBpbiB0aGUgTm90ZXMgb2YgaHR0cDovL3d3dy5rZXJuZWwub3JnL2RvYy9tYW4tcGFnZXMvb25saW5lL3BhZ2VzL21hbjIvc3RhdC4yLmh0bWwKKy0gIC8vIG5ld2xpYiwgdUNsaWJjIGFuZCBtdXNsIGZvbGxvdyB0aGUga2VybmVsIChvciBDeWd3aW4pIGhlYWRlcnMgYW5kIGRlZmluZSB0aGUgcmlnaHQgbWFjcm8gdmFsdWVzIGFib3ZlLgorLSAgLy8gRm9yIGJzZCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2QvYmxvYi9tYXN0ZXIvc3lzL3N5cy9zdGF0LmggYW5kIHNpbWlsYXIKKy0gIC8vIEZvciBiaW9uaWMsIEMgYW5kIFBPU0lYIEFQSSBpcyBhbHdheXMgZW5hYmxlZC4KKy0gIC8vIEZvciBzb2xhcmlzLCBzZWUgaHR0cHM6Ly9kb2NzLm9yYWNsZS5jb20vY2QvRTg4MzUzXzAxL2h0bWwvRTM3ODQxL3N0YXQtMi5odG1sLgorKyNlbGlmIGRlZmluZWQoc3RfbXRpbWUpIC8vIEEgbWFjcm8sIHNvIHdlJ3JlIGxpa2VseSBvbiBtb2Rlcm4gUE9TSVguCisgICByZXR1cm4gKGludDY0X3Qpc3Quc3RfbXRpbS50dl9zZWMgKiAxMDAwMDAwMDAwTEwgKyBzdC5zdF9tdGltLnR2X25zZWM7CistI2VsaWYgZGVmaW5lZChfQUlYKQorLSAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVfbjsKKyAjZWxzZQorICAgcmV0dXJuIChpbnQ2NF90KXN0LnN0X210aW1lICogMTAwMDAwMDAwMExMICsgc3Quc3RfbXRpbWVuc2VjOworICNlbmRpZgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZmY2ZlZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9uaW5qYS9uaW5qYV8xLjguMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgotTElDRU5TRSA9ICJBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCi0KLURFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgotCi1TUkNSRVYgPSAiMjUzZTk0YzFmYTUxMTcwNGJhZWI2MWNmNjk5OTViYmYwOWJhNDM1ZSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj4uKikiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWRvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCi0KLWRvX2NvbXBpbGVfY2xhc3MtbmF0aXZlKCkgewotCS4vY29uZmlndXJlLnB5IC0tYm9vdHN0cmFwCi19Ci0KLWRvX2NvbXBpbGUoKSB7Ci0JLi9jb25maWd1cmUucHkKLQluaW5qYQotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLUQgLW0gMDc1NSAgJHtTfS9uaW5qYSAke0R9JHtiaW5kaXJ9L25pbmphCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvbmluamEvbmluamFfMS45LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWIwNjMyOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL25pbmphL25pbmphXzEuOS4wLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiTmluamEgaXMgYSBzbWFsbCBidWlsZCBzeXN0ZW0gd2l0aCBhIGZvY3VzIG9uIHNwZWVkLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYXJ0aW5lLmdpdGh1Yi5jb20vbmluamEvIgorTElDRU5TRSA9ICJBcGFjaGUtMi4wIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTgxNTg2YTY0YWQ0ZTQ3NmM3OTFjZGE3ZTJmMmM1MmUiCisKK0RFUEVORFMgPSAicmUyYy1uYXRpdmUgbmluamEtbmF0aXZlIgorCitTUkNSRVYgPSAiYjI1YzA4YmRhNDk0OTE5MmM2OWNlYTRjZWUwNTc4ODczNDFhMmZmYyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL25pbmphLWJ1aWxkL25pbmphLmdpdDticmFuY2g9cmVsZWFzZSBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtbXVzbC5wYXRjaCBcCisiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+LiopIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitkb19jb25maWd1cmVbbm9leGVjXSA9ICIxIgorCitkb19jb21waWxlX2NsYXNzLW5hdGl2ZSgpIHsKKwkuL2NvbmZpZ3VyZS5weSAtLWJvb3RzdHJhcAorfQorCitkb19jb21waWxlKCkgeworCS4vY29uZmlndXJlLnB5CisJbmluamEKK30KKworZG9faW5zdGFsbCgpIHsKKwlpbnN0YWxsIC1EIC1tIDA3NTUgICR7U30vbmluamEgJHtEfSR7YmluZGlyfS9uaW5qYQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtT25seS11c2Utc29ydC1uYW1lLW9uLXZlcnNpb25zLW9mLXRhci13aGljaC1zdXBwb3J0LS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmI3Y2E3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Pbmx5LXVzZS1zb3J0LW5hbWUtb24tdmVyc2lvbnMtb2YtdGFyLXdoaWNoLXN1cHBvcnQtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotRnJvbSBlZjVkYjA2MmI3ZDI1ZTYwNzBhY2M2OTIyZWE0OGY1MDQ5MTMxM2I1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotRGF0ZTogTW9uLCAyNiBGZWIgMjAxOCAwOTo0Mjo1NiAtMDgwMAotU3ViamVjdDogW1BBVENIIDEvMl0gT25seSB1c2UgLS1zb3J0PW5hbWUgb24gdmVyc2lvbnMgb2YgdGFyIHdoaWNoIHN1cHBvcnQgaXQuCi0gVGhpcyBmaXhlcyBjb21wYXRpYmlsaXR5IHdpdGggYnNkdGFyIGFuZCBvbGQgdmVyc2lvbnMgb2YgR05VIHRhciAoZS5nLgotIFJIRUw2KS4KLQotU2lnbmVkLW9mZi1ieTogTWljaGFlbCBIYW5zZW4gPG1pY2hhZWwuai5oYW5zZW5AaHAuY29tPgotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotLS0tCi0gb3BrZy1idWlsZCB8IDExICsrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjMyLDYgKzIzMiwxMSBAQCBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0gZmkKLSAKLSt0c29ydGFyZ3M9Ci0raWYgdGFyIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLS1zb3J0PSIgPiAvZGV2L251bGw7IHRoZW4KLSsJdHNvcnRhcmdzPSItLXNvcnQ9bmFtZSIKLStmaQotKwotIHNoaWZ0ICQoKCRPUFRJTkQgLSAxKSkKLSAKLSAjIGNvbnRpbnVlIG9uIHRvIHByb2Nlc3MgYWRkaXRpb25hbCBhcmd1bWVudHMKLUBAIC0yODAsOCArMjg1LDggQEAgbWtkaXIgJHRtcF9kaXIKLSBidWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAtLXNvcnQ9bmFtZSAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgLS1zb3J0PW5hbWUgLS1tdGltZT0kYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC4gfCBnemlwICR6aXBhcmdzID4gJHRtcF9kaXIvY29udHJvbC50YXIuZ3ogKQotKyggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMjk2LDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jIC0tc29ydD1uYW1lIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0rICAoIGNkICR0bXBfZGlyICYmIHRhciAtYyAkdHNvcnRhcmdzIC0tbXRpbWU9JGJ1aWxkX2RhdGUgJHRhcmZvcm1hdCAuL2RlYmlhbi1iaW5hcnkgLi9jb250cm9sLnRhci5neiAuL2RhdGEudGFyLiRjZXh0IHwgZ3ppcCAkemlwYXJncyA+ICRwa2dfZmlsZSApCi0gZmkKLSAKLSBybSAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS1Td2l0Y2gtYWxsLXNjcmlwdHMtdG8tdXNlLVB5dGhvbi0zLngucGF0Y2gKaW5kZXggYzM2YWUyZi4uNjkxZWQ1MCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtU3dpdGNoLWFsbC1zY3JpcHRzLXRvLXVzZS1QeXRob24tMy54LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaApAQCAtNjQsOCArNjQsOSBAQAogQEAgLTEsNCArMSw0IEBACiAtIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCiArIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorICIiIgorICAgIFV0aWxpdHkgdG8gY3JlYXRlIG9wa2cgY29tcGF0aWJsZSBpbmRleGVzCisgIiIiCiAgCiBkaWZmIC0tZ2l0IGEvb3BrZy1zaG93LWRlcHMgYi9vcGtnLXNob3ctZGVwcwogaW5kZXggMTUzZjIxZS4uNGUxOGI0ZiAxMDA3NTUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDEtb3BrZy1idWlsZC1kby1ub3Qtc2V0LW10aW1lLW9uLWRhdGEudGFyLlgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMwNThjNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gNDJhZmMxZjY1MmQyOGRjZTNjNWI5OTE1ZDBjZDMwODdhMTQ0ZTQ0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+CitEYXRlOiBNb24sIDE4IEZlYiAyMDE5IDExOjI1OjQzIC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIG9wa2ctYnVpbGQ6IGRvIG5vdCBzZXQgbXRpbWUgb24gZGF0YS50YXIuWAorCitPcGtnIHNob3VsZCBtYWtlIHN1cmUgdGhlIGJpbmFyaWVzIGl0IGNyZWF0ZXMgYXJlIGNyZWF0ZWQgaW4gYQorcmVwb2R1Y2liZSB3YXksIGJ1dCBpdCBzaG91bGRuJ3QgbW9kaWZ5IHRoZSBtdGltZSBvZiB0aGUgYmluYXJpZXMgaXQKK2NvbnN1bWVzLiBEb2luZyBzbyBoYXMgc2lkZSBlZmZlY3RzLCBmb3IgZXhtYXBsZSwgUHl0aG9uIHB5YyBmaWxlcyBhcmUKK2ludmFsaWRhdGVkLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorLS0tCisgb3BrZy1idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCitpbmRleCAxMzc4MmVlLi4zNjNjZDAxIDEwMDc1NQorLS0tIGEvb3BrZy1idWlsZAorKysrIGIvb3BrZy1idWlsZAorQEAgLTMwMSw3ICszMDEsNyBAQCBidWlsZF9kYXRlPSIke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iCisgCisgKCBjZCAkcGtnX2Rpci8kQ09OVFJPTCAmJiBmaW5kIC4gLXR5cGUgZiA+ICR0bXBfZGlyL2NvbnRyb2xfbGlzdCApCisgKCBjZCAkcGtnX2RpciAmJiBmaW5kIC4gLXBhdGggLi8kQ09OVFJPTCAtcHJ1bmUgLW8gLXByaW50ID4gJHRtcF9kaXIvZmlsZV9saXN0ICkKKy0oIGNkICRwa2dfZGlyICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1uby1yZWN1cnNpb24gLS1tdGltZT1AJGJ1aWxkX2RhdGUgLWMgJHRhcmZvcm1hdCAtVCAkdG1wX2Rpci9maWxlX2xpc3QgfCAkY29tcHJlc3NvciAkY29tcHJlc3NvcmFyZ3MgPiAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCApCisrKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbm8tcmVjdXJzaW9uIC1jICR0YXJmb3JtYXQgLVQgJHRtcF9kaXIvZmlsZV9saXN0IHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQorICggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW5vLXJlY3Vyc2lvbiAtLW10aW1lPUAkYnVpbGRfZGF0ZSAtYyAkdGFyZm9ybWF0IC1UICR0bXBfZGlyL2NvbnRyb2xfbGlzdCB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCisgcm0gJHRtcF9kaXIvZmlsZV9saXN0Cisgcm0gJHRtcF9kaXIvY29udHJvbF9saXN0CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGM0ODhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAxLXVwZGF0ZS1hbHRlcm5hdGl2ZXMtRml4LWxpbmstcmVsb2NhdGlvbi1zdXBwb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotRnJvbSAxODU2MmNjYWU2OTk2NDMxZDM3NzY3NjUzYjA2MWQ0ZTllMWI5NDI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBNYXVubyA8bmlrby5tYXVub0Bpa2kuZmk+Ci1EYXRlOiBTdW4sIDExIE5vdiAyMDE4IDE1OjUwOjIyICswMjAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gdXBkYXRlLWFsdGVybmF0aXZlczogRml4IGxpbmsgcmVsb2NhdGlvbiBzdXBwb3J0Ci0KLUNvbW1pdCBmY2IyNjMzOTAwMDAyMWViOWJiNzExYWEyNjQyNDdhZWJjZmRkNGFlIHdoaWNoIGFkZGVkIERlYmlhbi1zdHlsZQotc3VwcG9ydCBmb3IgbGluayByZWxvY2F0aW9uIHRyaWVzIHRvIHJlbG9jYXRlIHN5bWJvbGljIGxpbmsgb24gaG9zdCBPUywKLXJlc3VsdGluZyBpbiBmb2xsb3dpbmctbGlrZSBlcnJvciB3aGVuIHR3byBhbHRlcm5hdGl2ZSBwYWNrYWdlcyBoYXZlCi1zeW1ib2xpYyBsaW5rIHNvdXJjZSBsb2NhdGVkIGluIGRpZmZlcmVudCBkaXJlY3RvcmllcyAoL2Jpbi9yZXYgLT4KLS9iaW4vYnVzeWJveC5ub3N1aWQgYW5kIC91c3IvYmluL3JldiAtPiAvdXNyL2Jpbi9yZXYudXRpbC1saW51eCk6Ci0KLSAgdXBkYXRlLWFsdGVybmF0aXZlczogcmVuYW1pbmcgcmV2IGxpbmsgZnJvbSAvYmluL3JldiB0byAvdXNyL2Jpbi9yZXYKLSAgbXY6IGNhbm5vdCBzdGF0ICcvYmluL3Jldic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotRml4IHRoZSBpc3N1ZSBieSBwcmVmaXhpbmcgJ29saW5rJyBhbmQgJ2xpbmsnIHZhcmlhYmxlIHJlZmVyZW5jZXMgd2l0aAotcGF0aCB0byB0YXJnZXRlZCByb290IGZpbGVzeXN0ZW0ncyByb290IGRpcmVjdG9yeS4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW29wa2ctdXRpbHNdCi0KLVNpZ25lZC1vZmYtYnk6IE5pa28gTWF1bm8gPG5pa28ubWF1bm9AaWtpLmZpPgotLS0tCi0gdXBkYXRlLWFsdGVybmF0aXZlcyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3VwZGF0ZS1hbHRlcm5hdGl2ZXMgYi91cGRhdGUtYWx0ZXJuYXRpdmVzCi1pbmRleCA4OWE0NDBiLi5kNGZhN2ViIDEwMDY0NAotLS0tIGEvdXBkYXRlLWFsdGVybmF0aXZlcwotKysrIGIvdXBkYXRlLWFsdGVybmF0aXZlcwotQEAgLTU4LDcgKzU4LDcgQEAgcmVnaXN0ZXJfYWx0KCkgewotIAkJCWxvY2FsIGxpbmtfc3RyPWBlY2hvICRsaW5rIHwgcHJvdGVjdF9zbGFzaGVzYAotIAkJCXNlZCAtZSAiMXMvLiovJGxpbmtfc3RyLyIgJGFkLyRuYW1lID4gJGFkLyRuYW1lLm5ldwotIAkJCW12ICRhZC8kbmFtZS5uZXcgJGFkLyRuYW1lCi0tCQkJbXYgJG9saW5rICRsaW5rCi0rCQkJbXYgJE9QS0dfT0ZGTElORV9ST09UJG9saW5rICRPUEtHX09GRkxJTkVfUk9PVCRsaW5rCi0gCQlmaQotIAllbHNlCi0gCQllY2hvICIkbGluayIgPiAiJGFkLyRuYW1lIgotLS0gCi0yLjE5LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy8wMDAyLW9wa2ctYnVpbGQtVXNlLWxvY2FsLXRpbWUtZm9yLWJ1aWxkX2RhdGUtc2luY2Utb3BrZy0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUzMzg5MTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzLzAwMDItb3BrZy1idWlsZC1Vc2UtbG9jYWwtdGltZS1mb3ItYnVpbGRfZGF0ZS1zaW5jZS1vcGtnLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLUZyb20gNTcyNzgyNmI1MWNmOTlmZWFmZjM0ODNhOWRmOGFmMjA0M2U3ZWZjMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLURhdGU6IE1vbiwgMjYgRmViIDIwMTggMTA6MTc6MDEgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIG9wa2ctYnVpbGQ6IFVzZSBsb2NhbCB0aW1lIGZvciBidWlsZF9kYXRlLCBzaW5jZSBvcGtnCi0gZXh0cmFjdHMgZmlsZXMgYXNzdW1pbmcgbG9jYWwgdGltZSByYXRoZXIgdGhhbiBVVEMuIEFsc28gaW5jcmVhc2UgcmVzb2x1dGlvbgotIG9mIGJ1aWxkIGRhdGUgZG93biB0byB0aGUgc2Vjb25kLCByYXRoZXIgdGhhbiBjbGFtcGluZyB0byBtaWRuaWdodCBvZiB0aGUKLSBjdXJyZW50IGRhdGUuCi0KLVNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSGFuc2VuIDxtaWNoYWVsLmouaGFuc2VuQGhwLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBkZWwgQ2FzdGlsbG8gPGFsZWphbmRyby5kZWxjYXN0aWxsb0BuaS5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLS0tLQotIG9wa2ctYnVpbGQgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotSW5kZXg6IG9wa2ctdXRpbHMtMC4zLjYvb3BrZy1idWlsZAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG9wa2ctdXRpbHMtMC4zLjYub3JpZy9vcGtnLWJ1aWxkCi0rKysgb3BrZy11dGlscy0wLjMuNi9vcGtnLWJ1aWxkCi1AQCAtMjgyLDExICsyODIsMTEgQEAgZmkKLSB0bXBfZGlyPSRkZXN0X2Rpci9JUEtHX0JVSUxELiQkCi0gbWtkaXIgJHRtcF9kaXIKLSAKLS1idWlsZF9kYXRlPSIkKGRhdGUgLS11dGMgLS1kYXRlPSJAJHtTT1VSQ0VfREFURV9FUE9DSDotJChkYXRlICslcyl9IiArJVktJW0tJWQpIgotK2J1aWxkX2RhdGU9IiQoZGF0ZSAtLWRhdGU9IkAke1NPVVJDRV9EQVRFX0VQT0NIOi0kKGRhdGUgKyVzKX0iICIrJVktJW0tJWQgJUg6JU06JVMiKSIKLSAKLSBlY2hvICRDT05UUk9MID4gJHRtcF9kaXIvdGFyWAotLSggY2QgJHBrZ19kaXIgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1YICR0bXBfZGlyL3RhclggLWMgJHRhcmZvcm1hdCAuIHwgJGNvbXByZXNzb3IgJGNvbXByZXNzb3JhcmdzID4gJHRtcF9kaXIvZGF0YS50YXIuJGNleHQgKQotLSggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSRidWlsZF9kYXRlIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLSsoIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0gcm0gJHRtcF9kaXIvdGFyWAotIAotIGVjaG8gIjIuMCIgPiAkdG1wX2Rpci9kZWJpYW4tYmluYXJ5Ci1AQCAtMzAxLDcgKzMwMSw3IEBAIHJtIC1mICRwa2dfZmlsZQotIGlmIFsgIiRvdXRlciIgPSAiYXIiIF0gOyB0aGVuCi0gICAoIGNkICR0bXBfZGlyICYmIGFyIC1jcmYgJHBrZ19maWxlIC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgKQotIGVsc2UKLS0gICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0kYnVpbGRfZGF0ZSAkdGFyZm9ybWF0IC4vZGViaWFuLWJpbmFyeSAuL2NvbnRyb2wudGFyLmd6IC4vZGF0YS50YXIuJGNleHQgfCBnemlwICR6aXBhcmdzID4gJHBrZ19maWxlICkKLSsgICggY2QgJHRtcF9kaXIgJiYgdGFyIC1jICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiICR0YXJmb3JtYXQgLi9kZWJpYW4tYmluYXJ5IC4vY29udHJvbC50YXIuZ3ogLi9kYXRhLnRhci4kY2V4dCB8IGd6aXAgJHppcGFyZ3MgPiAkcGtnX2ZpbGUgKQotIGZpCi0gCi0gcm0gJHRtcF9kaXIvZGViaWFuLWJpbmFyeSAkdG1wX2Rpci9kYXRhLnRhci4kY2V4dCAkdG1wX2Rpci9jb250cm9sLnRhci5negpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzL3BpZ3oucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ0MzNlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvcGlnei5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gYWIxNDM2OTI3YjQ3YmFkY2QyMTlhNWYwNzVkZmM4NDgwMjBlMDYxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgQ3Jvd2UgPG1hY0BtY3Jvd2UuY29tPgotRGF0ZTogVGh1LCA0IE9jdCAyMDE4IDE3OjU0OjE5ICswMTAwCi1TdWJqZWN0OiBbb3BrZy11dGlscyBQQVRDSF0gb3BrZy1idWlsZDogQWRkIHN1cHBvcnQgZm9yIGV4cGxpY2l0IHVzZSBvZiBwaWd6Ci1Ubzogb3BrZy1kZXZlbEBnb29nbGVncm91cHMuY29tLAotICAgIHlvY3RvQHlvY3RvcHJvamVjdC5vcmcKLQotb2UtY29yZSBoYXMgc3RvcHBlZFsxXSBpbnN0YWxsaW5nIHBpZ3ogYXMgZ3ppcC4gVGhpcyBtZWFucyB0aGF0IGluCi1vcmRlciB0byBwZXJzdWFkZSBvcGtnLWJ1aWxkIHRvIHVzZSBwaWd6IGl0IG11c3QgYmUgc3BlY2lmaWVkCi1leHBsaWNpdGx5LiBMZXQncyB0ZWFjaCBvcGtnLWJ1aWxkIHRvIGRlYWwgd2l0aCBiZWluZyBwYXNzZWQgcGlneiBhcyBhCi1jb21wcmVzc29yLgotCi1XZSBjYW4ndCBjb21iaW5lIHRoZSBjaGVjayBmb3Igd2hldGhlciAtVCBpcyByZXF1aXJlZCB3aXRoIHRoZSBvbmUgZm9yCi1nemlwIGJlY2F1c2Ugb3BrZy1idWlsZCBuZWVkcyB0byBjYWxsICRjb21wcmVzc29yIGFuZCBnemlwIHNlcGFyYXRlbHkKLXRvIGNvbnN0cnVjdCB0aGUgcGFja2FnZS4KLQotWzFdIGh0dHA6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL3BpcGVybWFpbC9vcGVuZW1iZWRkZWQtY29tbWl0cy8yMDE4LUZlYnJ1YXJ5LzIxODc2Ny5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtvcGtnLWRldmVsQGdvb2dsZWdyb3Vwcy5jb20gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8jIXRvcGljL29wa2ctZGV2ZWwvRTBXVk9oaks2MXddCi1TaWduZWQtb2ZmLWJ5OiBNaWtlIENyb3dlIDxtYWNAbWNyb3dlLmNvbT4KLS0tLQotIG9wa2ctYnVpbGQgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCA5M2E3OTU2Li5mODQwM2VhIDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTE3MCw3ICsxNzAsNyBAQCBmaQotIAotIGNvbXByZXNzb3JfZXh0KCkgewotICAgICBjYXNlICQxIGluCi0tCWd6aXApCi0rCWd6aXB8cGlneikKLSAJICAgIGVjaG8gZ3oKLSAJICAgIDs7Ci0gCWJ6aXAyKQotQEAgLTIzMiw2ICsyMzIsMTAgQEAgaWYgWyAkY29tcHJlc3NvciA9ICJnemlwIiBdIDsgdGhlbgotIAljb21wcmVzc29yYXJncz0kemlwYXJncwotIGVsaWYgWyAkY29tcHJlc3NvciA9ICJ4eiIgXSA7IHRoZW4KLSAJY29tcHJlc3NvcmFyZ3M9Ii0tdGhyZWFkcyAwIgotK2VsaWYgWyAkY29tcHJlc3NvciA9ICJwaWd6IiBdIDsgdGhlbgotKwlpZiAkY29tcHJlc3NvciAtLWhlbHAgMj4mMSB8IGdyZXAgLS0gIi1UIiA+IC9kZXYvbnVsbDsgdGhlbgotKwkJY29tcHJlc3NvcmFyZ3M9Ii05blQiCi0rCWZpCi0gZmkKLSAKLSB0c29ydGFyZ3M9Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGFyX2lnbm9yZV9lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkODkzMWIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90YXJfaWdub3JlX2Vycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotSWYgYSB0aGUgbnVtYmVyIG9mIGhhcmQgbGlua3MgZGVjcmVhc2VzIG9yIGluY3JlYXNlcyB3aGlsZSBjcmVhdGluZwotdGhlIHRhciBmaWxlcyB1c2VkIGZvciBhbiBpcGsgcGFja2FnZSwgdGFyIGZhaWxzIHdpdGggZXJyb3IgY29kZSAxOgotCi18IERFQlVHOiBFeGVjdXRpbmcgcHl0aG9uIGZ1bmN0aW9uIGRvX3BhY2thZ2VfaXBrCi18IHRhcjogLi91c3Ivc3JjL2RlYnVnL2dwZXJmLzMuMC40LXIwL2dwZXJmLTMuMC40L3NyYy9tYWluLmNjOiBmaWxlIGNoYW5nZWQgYXMgd2UgcmVhZCBpdAotTk9URTogcmVjaXBlIGdwZXJmLTMuMC40LXIwOiB0YXNrIGRvX3BhY2thZ2Vfd3JpdGVfaXBrOiBGYWlsZWQKLUVSUk9SOiBUYXNrIDY1MzkgKHJlY2lwZXMtZXh0ZW5kZWQvZ3BlcmYvZ3BlcmZfMy4wLjQuYmIsIGRvX3BhY2thZ2Vfd3JpdGVfaXBrKSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJzEnCi0KLQotV2UgZGV0ZWN0IGlmIHRoZSBlcnJvciBjb2RlIHByb2R1Y2VkIGJ5IHRhciBpcyAxIGFuZCBpbiB0aGlzIGNhc2UgaWdub3JlIGl0LgotCi1UaGlzIGEgc2ltaWxhciBiZWhhdmlvciB0byB0aGUgb25lIG9uIGRwa2c6Ci1odHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9wb2t5L2NvbW1pdC8/aWQ9NDA3MzE5NDI1MTVlYzhkODBjNzI3YWQ1NjExNzQ5ODZkNGYwNTgxOAotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIEhlcm5hbmRleiA8YWxlamFuZHJvLmhlcm5hbmRlekBsaW51eC5pbnRlbC5jb20+Ci0KLQotSW5kZXg6IGdpdC9vcGtnLWJ1aWxkCi0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9vcGtnLWJ1aWxkCi0rKysgZ2l0L29wa2ctYnVpbGQKLUBAIC0yODUsOCArMjg1LDIxIEBAIG1rZGlyICR0bXBfZGlyCi0gYnVpbGRfZGF0ZT0iJChkYXRlIC0tZGF0ZT0iQCR7U09VUkNFX0RBVEVfRVBPQ0g6LSQoZGF0ZSArJXMpfSIgIislWS0lbS0lZCAlSDolTTolUyIpIgotIAotIGVjaG8gJENPTlRST0wgPiAkdG1wX2Rpci90YXJYCi0tKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkKLS0oIGNkICRwa2dfZGlyLyRDT05UUk9MICYmIHRhciAkb2dhcmdzICR0c29ydGFyZ3MgLS1tdGltZT0iJGJ1aWxkX2RhdGUiIC1jICR0YXJmb3JtYXQgLiB8IGd6aXAgJHppcGFyZ3MgPiAkdG1wX2Rpci9jb250cm9sLnRhci5neiApCi0rCi0rCi0rIyBJZ25vcmUgZXJyb3IgY29kZSAxLCBjYXVzZWQgYnkgbW9kaWZ5aW5nIHRoZSBudW1iZXIgb2YgaGFyZCBsaW5rcyB3aGlsZSBjcmVhdGluZyB0aGUgdGFyIGZpbGUKLStyYz0wCi0rKCBjZCAkcGtnX2RpciAmJiB0YXIgJG9nYXJncyAkdHNvcnRhcmdzIC0tbXRpbWU9IiRidWlsZF9kYXRlIiAtWCAkdG1wX2Rpci90YXJYIC1jICR0YXJmb3JtYXQgLiB8ICRjb21wcmVzc29yICRjb21wcmVzc29yYXJncyA+ICR0bXBfZGlyL2RhdGEudGFyLiRjZXh0ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjIAotK2ZpCi0rCi0rcmM9MAotKyggY2QgJHBrZ19kaXIvJENPTlRST0wgJiYgdGFyICRvZ2FyZ3MgJHRzb3J0YXJncyAtLW10aW1lPSIkYnVpbGRfZGF0ZSIgLWMgJHRhcmZvcm1hdCAuIHwgZ3ppcCAkemlwYXJncyA+ICR0bXBfZGlyL2NvbnRyb2wudGFyLmd6ICkgfHwgcmM9JD8KLStpZiBbICRyYyAtbmUgMSBdICYmIFsgJHJjIC1uZSAwIF07IHRoZW4KLSsgICAgICAgIGV4aXQgJHJjCi0rZmkKLSsKLSBybSAkdG1wX2Rpci90YXJYCi0gCi0gZWNobyAiMi4wIiA+ICR0bXBfZGlyL2RlYmlhbi1iaW5hcnkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2ctdXRpbHMvb3BrZy11dGlscy90aHJlYWRlZC14ei5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTNhNDlmOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHMvdGhyZWFkZWQteHoucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1QYXNzIC0tdGhyZWFkcz0wIHRvIHh6IHNvIHRoYXQgaXQgd2lsbCB1c2UgYXMgbWFueSB0aHJlYWRzIGFzIHRoZXJlIGFyZSBjb3JlcyB0byBjb21wcmVzcyB0aGUgcGFja2FnZXMuICBUaGlzIG1ha2VzIHFlbXUncyBkb19wYWNrYWdlX2lwayBydW4gaW4gMzRzIGluc3RlYWQgb2YgMjc1cyBvbiBteSBtYWNoaW5lLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgKHVnbHkgYnV0IHdvcmtzLCBkaXNjdXNzaW5nIHdpdGggdXBzdHJlYW0gbm93KQotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotZGlmZiAtLWdpdCBhL29wa2ctYnVpbGQgYi9vcGtnLWJ1aWxkCi1pbmRleCAwMDUwYzJiLi45M2E3OTU2IDEwMDc1NQotLS0tIGEvb3BrZy1idWlsZAotKysrIGIvb3BrZy1idWlsZAotQEAgLTIzMCw2ICsyMzAsOCBAQCBpZiBnemlwIC0taGVscCAyPiYxIHwgZ3JlcCAtLSAiLVQiID4gL2Rldi9udWxsOyB0aGVuCi0gZmkKLSBpZiBbICRjb21wcmVzc29yID0gImd6aXAiIF0gOyB0aGVuCi0gCWNvbXByZXNzb3JhcmdzPSR6aXBhcmdzCi0rZWxpZiBbICRjb21wcmVzc29yID0gInh6IiBdIDsgdGhlbgotKwljb21wcmVzc29yYXJncz0iLS10aHJlYWRzIDAiCi0gZmkKLSAKLSB0c29ydGFyZ3M9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC4zLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjNDE3NzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgotU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCi1TRUNUSU9OID0gImJhc2UiCi1IT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgotUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU9ubHktdXNlLXNvcnQtbmFtZS1vbi12ZXJzaW9ucy1vZi10YXItd2hpY2gtc3VwcG9ydC0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1vcGtnLWJ1aWxkLVVzZS1sb2NhbC10aW1lLWZvci1idWlsZF9kYXRlLXNpbmNlLW9wa2ctLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3RocmVhZGVkLXh6LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3BpZ3oucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11cGRhdGUtYWx0ZXJuYXRpdmVzLUZpeC1saW5rLXJlbG9jYXRpb24tc3VwcG9ydC5wYXRjaCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly90YXJfaWdub3JlX2Vycm9yLnBhdGNoIgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL29wa2ctdXRpbHMvcmVmcy8iCi0KLQotU1JDX1VSSVttZDVzdW1dID0gIjM5MWMxYzgwYWNhMjY5NjEzNzVkZDIyZTFkMmQwY2JmIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2YjNmNGRkMWMxZWY2NWY1MTlkNGNkZGZiMzVlYmVhNDFhZThhZjk4OWFlYTI2OTlhMzk3ODM1OThjMzM3NjkiCi0KLVRBUkdFVF9DQ19BUkNIICs9ICIke0xERkxBR1N9IgotCi0jIEZvciBuYXRpdmUgYnVpbGRzIHdlIHVzZSB0aGUgaG9zdCBQeXRob24KLVBZVEhPTlJERVBTID0gInB5dGhvbjMgcHl0aG9uMy1zaGVsbCBweXRob24zLWlvIHB5dGhvbjMtbWF0aCBweXRob24zLWNyeXB0IHB5dGhvbjMtbG9nZ2luZyBweXRob24zLWZjbnRsIHB5dGhvbjMtcGlja2xlIHB5dGhvbjMtY29tcHJlc3Npb24gcHl0aG9uMy1zdHJpbmdvbGQiCi1QWVRIT05SREVQU19jbGFzcy1uYXRpdmUgPSAiIgotCi1QQUNLQUdFQ09ORklHID0gInB5dGhvbiB1cGRhdGUtYWx0ZXJuYXRpdmVzIgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIiwsLCR7UFlUSE9OUkRFUFN9IgotUEFDS0FHRUNPTkZJR1t1cGRhdGUtYWx0ZXJuYXRpdmVzXSA9ICIsLCwiCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBQUkVGSVg9JHtwcmVmaXh9IERFU1RESVI9JHtEfSBpbnN0YWxsCi0JaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd1cGRhdGUtYWx0ZXJuYXRpdmVzJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJcm0gLWYgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIKLQlmaQotCi0gICAgaWYgISAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24nLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBncmVwIC1sWiAiL3Vzci9iaW4vZW52LipweXRob24iICR7RH0ke2JpbmRpcn0vKiB8IHhhcmdzIC0wIHJtCi0gICAgZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCWlmIFsgLWUgIiR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyIgXTsgdGhlbgotCQlzZWQgLWkgJHtEfSR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIC1lICdzLC91c3IvYmluLCR7YmluZGlyfSxnOyBzLC91c3IvbGliLCR7bm9uYXJjaF9saWJkaXJ9LGcnCi0JZmkKLX0KLQotIyBUaGVzZSBhcmUgZW1wdHkgYW5kIHdpbGwgcHVsbCBweXRob24zLWRldiBpbnRvIGltYWdlcyB3aGVyZSBpdCB3b3VsZG4ndAotIyBoYXZlIGJlZW4gb3RoZXJ3aXNlLCBzbyBkb24ndCBnZW5lcmF0ZSB0aGVtLgotUEFDS0FHRVNfcmVtb3ZlID0gIiR7UE59LWRldiAke1BOfS1zdGF0aWNkZXYiCi0KLVBBQ0tBR0VTID0rICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2ciCi1GSUxFU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiJHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCi1SUFJPVklERVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMgdXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi1SUkVQTEFDRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgotUkNPTkZMSUNUU191cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAidXBkYXRlLWFsdGVybmF0aXZlcy1jd29ydGgiCi0KLXBrZ19wb3N0cm1fdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnKCkgewotCXJtIC1yZiAkRCR7bm9uYXJjaF9saWJkaXJ9L29wa2cvYWx0ZXJuYXRpdmVzCi0Jcm1kaXIgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnIHx8IHRydWUKLX0KLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1DTEVBTkJST0tFTiA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy11dGlscy9vcGtnLXV0aWxzXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhM2UwNmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnLXV0aWxzL29wa2ctdXRpbHNfMC40LjAuYmIKQEAgLTAsMCArMSw2NCBAQAorU1VNTUFSWSA9ICJBZGRpdGlvbmFsIHV0aWxpdGllcyBmb3IgdGhlIG9wa2cgcGFja2FnZSBtYW5hZ2VyIgorU1VNTUFSWV91cGRhdGUtYWx0ZXJuYXRpdmVzLW9wa2cgPSAiVXRpbGl0eSBmb3IgbWFuYWdpbmcgdGhlIGFsdGVybmF0aXZlcyBzeXN0ZW0iCitTRUNUSU9OID0gImJhc2UiCitIT01FUEFHRSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9vcGtnLnB5O2JlZ2lubGluZT0yO2VuZGxpbmU9MTg7bWQ1PTYzY2U5ZTZiY2M0NDUxODFjZDllNGJhZjRiNGNjYzM1IgorUFJPVklERVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3VwZGF0ZS1hbHRlcm5hdGl2ZXMnLCAndmlydHVhbC91cGRhdGUtYWx0ZXJuYXRpdmVzJywgJycsIGQpfSIKKworU1JDX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS8ke0JQTn0vc25hcHNob3QvJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1hbGwtc2NyaXB0cy10by11c2UtUHl0aG9uLTMueC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wa2ctYnVpbGQtZG8tbm90LXNldC1tdGltZS1vbi1kYXRhLnRhci5YLnBhdGNoIFwKKyIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvY2dpdC9jZ2l0LmNnaS9vcGtnLXV0aWxzL3JlZnMvIgorCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZTFjMmVhZTk2MjM5NTIwYThlYjNkMDUzNzI3NzNlYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4MTUzZjRlNWRhZGRlNDIyZDM1ZmVhZjg2YmY1OTUyNjZhZjlkMDAzNzM4OWJjNDE4ZmE4N2ZlYjA0MzdlZmIzIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworIyBGb3IgbmF0aXZlIGJ1aWxkcyB3ZSB1c2UgdGhlIGhvc3QgUHl0aG9uCitQWVRIT05SREVQUyA9ICJweXRob24zIHB5dGhvbjMtc2hlbGwgcHl0aG9uMy1pbyBweXRob24zLW1hdGggcHl0aG9uMy1jcnlwdCBweXRob24zLWxvZ2dpbmcgcHl0aG9uMy1mY250bCBweXRob24zLXBpY2tsZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtc3RyaW5nb2xkIgorUFlUSE9OUkRFUFNfY2xhc3MtbmF0aXZlID0gIiIKKworUEFDS0FHRUNPTkZJRyA9ICJweXRob24gdXBkYXRlLWFsdGVybmF0aXZlcyIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICIsLCwke1BZVEhPTlJERVBTfSIKK1BBQ0tBR0VDT05GSUdbdXBkYXRlLWFsdGVybmF0aXZlc10gPSAiLCwsIgorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgUFJFRklYPSR7cHJlZml4fSBERVNURElSPSR7RH0gaW5zdGFsbAorCWlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndXBkYXRlLWFsdGVybmF0aXZlcycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCXJtIC1mICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiCisJZmkKKworICAgIGlmICEgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgZ3JlcCAtbFogIi91c3IvYmluL2Vudi4qcHl0aG9uIiAke0R9JHtiaW5kaXJ9LyogfCB4YXJncyAtMCBybQorICAgIGZpCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKwlpZiBbIC1lICIke0R9JHtiaW5kaXJ9L3VwZGF0ZS1hbHRlcm5hdGl2ZXMiIF07IHRoZW4KKwkJc2VkIC1pICR7RH0ke2JpbmRpcn0vdXBkYXRlLWFsdGVybmF0aXZlcyAtZSAncywvdXNyL2Jpbiwke2JpbmRpcn0sZzsgcywvdXNyL2xpYiwke25vbmFyY2hfbGliZGlyfSxnJworCWZpCit9CisKKyMgVGhlc2UgYXJlIGVtcHR5IGFuZCB3aWxsIHB1bGwgcHl0aG9uMy1kZXYgaW50byBpbWFnZXMgd2hlcmUgaXQgd291bGRuJ3QKKyMgaGF2ZSBiZWVuIG90aGVyd2lzZSwgc28gZG9uJ3QgZ2VuZXJhdGUgdGhlbS4KK1BBQ0tBR0VTX3JlbW92ZSA9ICIke1BOfS1kZXYgJHtQTn0tc3RhdGljZGV2IgorCitQQUNLQUdFUyA9KyAidXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnIgorRklMRVNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gIiR7YmluZGlyfS91cGRhdGUtYWx0ZXJuYXRpdmVzIgorUlBST1ZJREVTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorUlJFUExBQ0VTX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZyA9ICJ1cGRhdGUtYWx0ZXJuYXRpdmVzLWN3b3J0aCIKK1JDT05GTElDVFNfdXBkYXRlLWFsdGVybmF0aXZlcy1vcGtnID0gInVwZGF0ZS1hbHRlcm5hdGl2ZXMtY3dvcnRoIgorCitwa2dfcG9zdHJtX3VwZGF0ZS1hbHRlcm5hdGl2ZXMtb3BrZygpIHsKKwlybSAtcmYgJEQke25vbmFyY2hfbGliZGlyfS9vcGtnL2FsdGVybmF0aXZlcworCXJtZGlyICREJHtub25hcmNoX2xpYmRpcn0vb3BrZyB8fCB0cnVlCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZy8wMDAxLWxpYm9wa2ctYWRkLWFkZC1pZ25vcmUtcmVjb21tZW5kcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZDFiM2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1saWJvcGtnLWFkZC1hZGQtaWdub3JlLXJlY29tbWVuZHMtb3B0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjU5IEBACitGcm9tIDY0YWE5ODY0NmExN2MyOTliZjM3YWYyOTc1Yjk4ZGFmNWQ3ZDMwYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorRGF0ZTogVGh1LCAzMSBKYW4gMjAxOSAxODoxNjowOCAtMDYwMAorU3ViamVjdDogW1BBVENIXSBsaWJvcGtnOiBhZGQgLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgb3B0aW9uCisKK0FkZCBvcHRpb24gdG8gaWdub3JlIHNwZWNpZmljIHJlY29tbWVuZGVkIHBhY2thZ2VzLiBPbiB0aGUgbGlic29sdgorYmFja2VkLCB0aGlzIGZlYXR1cmUgd2lsbCBvbmx5IHdvcmsgb24gbGlic29sdiB2ZXJzaW9uID4gMC43LjIgWzFdLgorCitbMV0gaHR0cHM6Ly91cmxkZWZlbnNlLnByb29mcG9pbnQuY29tL3YyL3VybD91PWh0dHBzLTNBX19naXRodWIuY29tX29wZW5TVVNFX2xpYnNvbHZfaXNzdWVzXzI1NCZkPUR3SUJhUSZjPUlfMFl3b0t5N3o1TE1UVmR5TzZZQ2lFMnV6STFqalpadUlQZWxjU2ppeEEmcj13TmNyTDJha1JuNmpmeGhIYUthdlVySkJfQzlKQU1YdHluakxkOFp6Z1hRJm09R09iTkh6RkpwV3BmX1ByaXBJcmYtSzJSaHNrdFlkQVVFaWVBSmV4WE9LdyZzPTNHLW1lQ2hVcUNsRmdnRlBxc3JBeElaQmZMblJLSUhtNjJVdXkxWDZuUVEmZT0KKworU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAorLS0tCisgbGlib3BrZy9vcGtnX2NvbmYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKworIGxpYm9wa2cvb3BrZ19jb25mLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKKyAuLi4vc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jICAgfCAgMyArLQorIGxpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYyB8IDIxICsrKysrKy0KKyBtYW4vb3BrZy4xLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArCisgc3JjL29wa2cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysKKyB0ZXN0cy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkgICAgICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKworIDggZmlsZXMgY2hhbmdlZCwgOTcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA3NTUgdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKKworZGlmZiAtLWdpdCBhL2xpYm9wa2cvb3BrZ19jb25mLmMgYi9saWJvcGtnL29wa2dfY29uZi5jCitpbmRleCAwNjg4MGExLi5mMjMzMGNkIDEwMDY0NAorLS0tIGEvbGlib3BrZy9vcGtnX2NvbmYuYworKysrIGIvbGlib3BrZy9vcGtnX2NvbmYuYworQEAgLTU5Nyw2ICs1OTcsNyBAQCBpbnQgb3BrZ19jb25mX2luaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+dG1wX2Rlc3RfbGlzdCk7CisgICAgIG52X3BhaXJfbGlzdF9pbml0KCZvcGtnX2NvbmZpZy0+YXJjaF9saXN0KTsKKyAgICAgc3RyX2xpc3RfaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2luaXQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0KTsKKyAKKyAgICAgcmV0dXJuIDA7CisgfQorQEAgLTkzOCw2ICs5MzksNyBAQCB2b2lkIG9wa2dfY29uZl9kZWluaXQodm9pZCkKKyAgICAgcGtnX2Rlc3RfbGlzdF9kZWluaXQoJm9wa2dfY29uZmlnLT5wa2dfZGVzdF9saXN0KTsKKyAgICAgbnZfcGFpcl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmFyY2hfbGlzdCk7CisgICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmV4Y2x1ZGVfbGlzdCk7CisrICAgIHN0cl9saXN0X2RlaW5pdCgmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QpOworIAorICAgICBpZiAob3BrZ19jb25maWctPnZlcmJvc2l0eSA+PSBERUJVRykgeworICAgICAgICAgaGFzaF9wcmludF9zdGF0cygmb3BrZ19jb25maWctPnBrZ19oYXNoKTsKK2RpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfY29uZi5oIGIvbGlib3BrZy9vcGtnX2NvbmYuaAoraW5kZXggZWI1NmEyOS4uMzE2YzUwMCAxMDA2NDQKKy0tLSBhL2xpYm9wa2cvb3BrZ19jb25mLmgKKysrKyBiL2xpYm9wa2cvb3BrZ19jb25mLmgKK0BAIC02MSw2ICs2MSw3IEBAIHR5cGVkZWYgc3RydWN0IG9wa2dfY29uZiB7CisgICAgIHBrZ19kZXN0X2xpc3RfdCB0bXBfZGVzdF9saXN0OworICAgICBudl9wYWlyX2xpc3RfdCBhcmNoX2xpc3Q7CisgICAgIHN0cl9saXN0X3QgZXhjbHVkZV9saXN0OworKyAgICBzdHJfbGlzdF90IGlnbm9yZV9yZWNvbW1lbmRzX2xpc3Q7CisgCisgICAgIGludCByZXN0cmljdF90b19kZWZhdWx0X2Rlc3Q7CisgICAgIHBrZ19kZXN0X3QgKmRlZmF1bHRfZGVzdDsKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvaW50ZXJuYWwvcGtnX2RlcGVuZHNfaW50ZXJuYWwuYyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitpbmRleCBjZDU2ZDg0Li41ZGVlZTcwIDEwMDY0NAorLS0tIGEvbGlib3BrZy9zb2x2ZXJzL2ludGVybmFsL3BrZ19kZXBlbmRzX2ludGVybmFsLmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9pbnRlcm5hbC9wa2dfZGVwZW5kc19pbnRlcm5hbC5jCitAQCAtMjI4LDcgKzIyOCw4IEBAIGludCBwa2dfaGFzaF9mZXRjaF91bnNhdGlzZmllZF9kZXBlbmRlbmNpZXMocGtnX3QgKnBrZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgY29tcG91bmRfZGVwZW5kLT50eXBlID09IFNVR0dFU1QpCisgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKHNhdGlzZnlpbmdfcGtnLT5zdGF0ZV93YW50ID09IFNXX0RFSU5TVEFMTAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzYXRpc2Z5aW5nX3BrZy0+c3RhdGVfd2FudCA9PSBTV19QVVJHRQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBvcGtnX2NvbmZpZy0+bm9faW5zdGFsbF9yZWNvbW1lbmRzKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgb3BrZ19jb25maWctPm5vX2luc3RhbGxfcmVjb21tZW5kcworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBzdHJfbGlzdF9jb250YWlucygmb3BrZ19jb25maWctPmlnbm9yZV9yZWNvbW1lbmRzX2xpc3QsIHNhdGlzZnlpbmdfcGtnLT5uYW1lKSk7CisgICAgICAgICAgICAgICAgIGlmIChpZ25vcmUpIHsKKyAgICAgICAgICAgICAgICAgICAgIG9wa2dfbXNnKE5PVElDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczogaWdub3JpbmcgcmVjb21tZW5kYXRpb24gZm9yICIKK2RpZmYgLS1naXQgYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMgYi9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKK2luZGV4IDJiMjdlM2EuLjQwM2UwN2IgMTAwNjQ0CistLS0gYS9saWJvcGtnL3NvbHZlcnMvbGlic29sdi9vcGtnX3NvbHZlcl9saWJzb2x2LmMKKysrKyBiL2xpYm9wa2cvc29sdmVycy9saWJzb2x2L29wa2dfc29sdmVyX2xpYnNvbHYuYworQEAgLTQ4NCw2ICs0ODQsNyBAQCBzdGF0aWMgdm9pZCBwa2cyc29sdmFibGUocGtnX3QgKnBrZywgU29sdmFibGUgKnNvbHZhYmxlX291dCkKKyBzdGF0aWMgdm9pZCBwb3B1bGF0ZV9pbnN0YWxsZWRfcmVwbyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworKyAgICBJZCB3aGF0OworIAorICAgICBwa2dfdmVjX3QgKmluc3RhbGxlZF9wa2dzID0gcGtnX3ZlY19hbGxvYygpOworIAorQEAgLTUwNyw2ICs1MDgsMTUgQEAgc3RhdGljIHZvaWQgcG9wdWxhdGVfaW5zdGFsbGVkX3JlcG8obGlic29sdl9zb2x2ZXJfdCAqbGlic29sdl9zb2x2ZXIpCisgICAgICAgICAvKiBzZXQgc29sdmFibGUgYXR0cmlidXRlcyAqLworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSBwYWNrYWdlIGlzIG5vdCBhdXRvaW5zdGFsbGVkLCBtYXJrIGl0IGFzIHVzZXIgaW5zdGFsbGVkICovCisgICAgICAgICBpZiAoIXBrZy0+YXV0b19pbnN0YWxsZWQpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitAQCAtNTM5LDcgKzU0OSw3IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyB7CisgICAgIGludCBpOworICAgICBTb2x2YWJsZSAqc29sdmFibGU7CistICAgIElkIHNvbHZhYmxlX2lkOworKyAgICBJZCBzb2x2YWJsZV9pZCwgd2hhdDsKKyAKKyAgICAgcGtnX3ZlY190ICphdmFpbGFibGVfcGtncyA9IHBrZ192ZWNfYWxsb2MoKTsKKyAKK0BAIC02MDgsNiArNjE4LDE1IEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlX2F2YWlsYWJsZV9yZXBvcyhsaWJzb2x2X3NvbHZlcl90ICpsaWJzb2x2X3NvbHZlcikKKyAgICAgICAgIHNvbHZhYmxlID0gcG9vbF9pZDJzb2x2YWJsZShsaWJzb2x2X3NvbHZlci0+cG9vbCwgc29sdmFibGVfaWQpOworICAgICAgICAgcGtnMnNvbHZhYmxlKHBrZywgc29sdmFibGUpOworIAorKyAgICAgICAgLyogaWYgdGhlIHBhY2thZ2UgaXMgaW4gaWdub3JlLXJlY29tbWVuZHMtbGlzdCwgZGlzZmF2b3IgaW5zdGFsbGF0aW9uICovCisrICAgICAgICBpZiAoc3RyX2xpc3RfY29udGFpbnMoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBwa2ctPm5hbWUpKSB7CisrICAgICAgICAgICAgb3BrZ19tZXNzYWdlKE5PVElDRSwgIkRpc2Zhdm9yIHBhY2thZ2U6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBwa2ctPm5hbWUpOworKyAgICAgICAgICAgIHdoYXQgPSBwb29sX3N0cjJpZChsaWJzb2x2X3NvbHZlci0+cG9vbCwgcGtnLT5uYW1lLCAxKTsKKysgICAgICAgICAgICBxdWV1ZV9wdXNoMigmbGlic29sdl9zb2x2ZXItPnNvbHZlcl9qb2JzLCBTT0xWRVJfU09MVkFCTEVfTkFNRQorKyAgICAgICAgICAgICAgICAgICAgICAgIHwgU09MVkVSX0RJU0ZBVk9SLCB3aGF0KTsKKysgICAgICAgIH0KKysKKyAgICAgICAgIC8qIGlmIHRoZSAtLWZvcmNlLWRlcGVuZHMgb3B0aW9uIGlzIHNwZWNpZmllZCBtYWtlIGRlcGVuZGVuY2llcyB3ZWFrICovCisgICAgICAgICBpZiAob3BrZ19jb25maWctPmZvcmNlX2RlcGVuZHMpCisgICAgICAgICAgICAgcXVldWVfcHVzaDIoJmxpYnNvbHZfc29sdmVyLT5zb2x2ZXJfam9icywgU09MVkVSX1NPTFZBQkxFCitkaWZmIC0tZ2l0IGEvbWFuL29wa2cuMS5pbiBiL21hbi9vcGtnLjEuaW4KK2luZGV4IDI3ZmE5YzEuLmYxOTJjM2IgMTAwNjQ0CistLS0gYS9tYW4vb3BrZy4xLmluCisrKysgYi9tYW4vb3BrZy4xLmluCitAQCAtMTYyLDYgKzE2Miw5IEBAIHByaW9yaXR5IFxmSXByaW9cZlAuIExvd2VyIHByaW9yaXRpZXMgdGFrZSBwcmVjZWRlbmNlLgorIFxmQlwtLWFkZC1leGNsdWRlIDxcZkluYW1lXGZQPlxmUgorIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsCisgLlRQCisrXGZCXC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxcZkluYW1lXGZQPlxmUgorK1JlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgaWdub3JlZCBhcyBhIHJlY29tZW5kZWUKKysuVFAKKyBcZkJcLS1wcmVmZXItYXJjaC10by12ZXJzaW9uXGZSCisgVXNlIHRoZSBhcmNoaXRlY3R1cmUgcHJpb3JpdHkgcGFja2FnZSByYXRoZXIgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24KKyBvbmUgaWYgbW9yZSB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuCitkaWZmIC0tZ2l0IGEvc3JjL29wa2cuYyBiL3NyYy9vcGtnLmMKK2luZGV4IDY1MGUyNzguLjNjOTNhM2IgMTAwNjQ0CistLS0gYS9zcmMvb3BrZy5jCisrKysgYi9zcmMvb3BrZy5jCitAQCAtNTEsNiArNTEsNyBAQCBlbnVtIHsKKyAgICAgQVJHU19PUFRfQUREX0RFU1QsCisgICAgIEFSR1NfT1BUX1NJWkUsCisgICAgIEFSR1NfT1BUX0FERF9FWENMVURFLAorKyAgICBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFMsCisgICAgIEFSR1NfT1BUX05PQUNUSU9OLAorICAgICBBUkdTX09QVF9ET1dOTE9BRF9PTkxZLAorICAgICBBUkdTX09QVF9OT0RFUFMsCitAQCAtMTEyLDYgKzExMyw3IEBAIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworICAgICB7ImFkZC1kZXN0IiwgMSwgMCwgQVJHU19PUFRfQUREX0RFU1R9LAorICAgICB7InNpemUiLCAwLCAwLCBBUkdTX09QVF9TSVpFfSwKKyAgICAgeyJhZGQtZXhjbHVkZSIsIDEsIDAsIEFSR1NfT1BUX0FERF9FWENMVURFfSwKKysgICAgeyJhZGQtaWdub3JlLXJlY29tbWVuZHMiLCAxLCAwLCBBUkdTX09QVF9BRERfSUdOT1JFX1JFQ09NTUVORFN9LAorICAgICB7InRlc3QiLCAwLCAwLCBBUkdTX09QVF9OT0FDVElPTn0sCisgICAgIHsidG1wLWRpciIsIDEsIDAsICd0J30sCisgICAgIHsidG1wX2RpciIsIDEsIDAsICd0J30sCitAQCAtMjM0LDYgKzIzNiw5IEBAIHN0YXRpYyBpbnQgYXJnc19wYXJzZShpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgICAgY2FzZSBBUkdTX09QVF9BRERfRVhDTFVERToKKyAgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5leGNsdWRlX2xpc3QsIG9wdGFyZyk7CisgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEFSR1NfT1BUX0FERF9JR05PUkVfUkVDT01NRU5EUzoKKysgICAgICAgICAgICBzdHJfbGlzdF9hcHBlbmQoJm9wa2dfY29uZmlnLT5pZ25vcmVfcmVjb21tZW5kc19saXN0LCBvcHRhcmcpOworKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgY2FzZSBBUkdTX09QVF9TSVpFOgorICAgICAgICAgICAgIG9wa2dfY29uZmlnLT5zaXplID0gMTsKKyAgICAgICAgICAgICBicmVhazsKK0BAIC0zNDMsNiArMzQ4LDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UoKQorICAgICBwcmludGYoIlx0LS1hZGQtZGVzdCA8bmFtZT46PHBhdGg+ICAgICAgICBSZWdpc3RlciBkZXN0aW5hdGlvbiB3aXRoIGdpdmVuIHBhdGhcbiIpOworICAgICBwcmludGYoIlx0LS1hZGQtYXJjaCA8YXJjaD46PHByaW8+ICAgICAgICBSZWdpc3RlciBhcmNoaXRlY3R1cmUgd2l0aCBnaXZlbiBwcmlvcml0eVxuIik7CisgICAgIHByaW50ZigiXHQtLWFkZC1leGNsdWRlIDxuYW1lPiAgICAgICAgICAgIFJlZ2lzdGVyIHBhY2thZ2UgdG8gYmUgZXhjbHVkZWQgZnJvbSBpbnN0YWxsXG4iKTsKKysgICAgcHJpbnRmKCJcdC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIDxuYW1lPiAgUmVnaXN0ZXIgcGFja2FnZSB0byBiZSBpZ25vcmVkIGFzIGEgcmVjb21lbmRlZVxuIik7CisgICAgIHByaW50ZigiXHQtLXByZWZlci1hcmNoLXRvLXZlcnNpb24gICAgICAgIFVzZSB0aGUgYXJjaGl0ZWN0dXJlIHByaW9yaXR5IHBhY2thZ2UgcmF0aGVyXG4iKTsKKyAgICAgcHJpbnRmKCJcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhbiB0aGUgaGlnaGVyIHZlcnNpb24gb25lIGlmIG1vcmVcbiIpOworICAgICBwcmludGYoIlx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGFuIG9uZSBjYW5kaWRhdGUgaXMgZm91bmQuXG4iKTsKK2RpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZSBiL3Rlc3RzL01ha2VmaWxlCitpbmRleCA4ZTViZTA4Li43OTk4MTZkIDEwMDY0NAorLS0tIGEvdGVzdHMvTWFrZWZpbGUKKysrKyBiL3Rlc3RzL01ha2VmaWxlCitAQCAtNDIsNiArNDIsNyBAQCBSRUdSRVNTSU9OX1RFU1RTIDo9IGNvcmUvMDFfaW5zdGFsbC5weSBcCisgCQkgICAgY29yZS80MF9hcmNoLnB5IFwKKyAJCSAgICBjb3JlLzQxX2luZm9fZmllbGRzLnB5IFwKKyAJCSAgICBjb3JlLzQyX2luZm9fZGVzY3JpcHRpb24ucHkgXAorKwkJICAgIGNvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5IFwKKyAJCSAgICByZWdyZXNzL2lzc3VlMjYucHkgXAorIAkJICAgIHJlZ3Jlc3MvaXNzdWUzMS5weSBcCisgCQkgICAgcmVncmVzcy9pc3N1ZTMyLnB5IFwKK2RpZmYgLS1naXQgYS90ZXN0cy9jb3JlLzQzX2FkZF9pZ25vcmVfcmVjb21tZW5kcy5weSBiL3Rlc3RzL2NvcmUvNDNfYWRkX2lnbm9yZV9yZWNvbW1lbmRzLnB5CituZXcgZmlsZSBtb2RlIDEwMDc1NQoraW5kZXggMDAwMDAwMC4uN2RhMDA5NgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvY29yZS80M19hZGRfaWdub3JlX3JlY29tbWVuZHMucHkKK0BAIC0wLDAgKzEsNjIgQEAKKysjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMworKyMKKysjIENyZWF0ZSBwYWNrYWdlICdhJyAoMS4wKSB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIEluc3RhbGwgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnLgorKyMgQ2hlY2sgdGhhdCBvbmx5ICdhJyAoMS4wKSBpcyBpbnN0YWxsZWQuCisrIyBDcmVhdGUgcGFja2FnZSAnYicgd2hpY2ggRGVwZW5kcyBvbiAnYycuCisrIyBJbnN0YWxsICdhJyAmICdiJywgd2l0aCAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcyAnYycuCisrIyBWZXJpZnkgdGhhdCAnYScsJ2InICYgJ2MnIGFyZSBpbnN0YWxsZWQuCisrIyBVbmluc3RhbGwgJ2InICYgJ2MnLgorKyMgQ3JlYXRlIHBhY2thZ2UgJ2EnICgyLjApLCB3aGljaCBSZWNvbW1lbmRzICdjJy4KKysjIFVwZ3JhZGUgJ2EnIHdpdGggLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgJ2MnCisrIyBWZXJpZnkgdGhhdCBvbmx5ICdhJyAoMi4wKSBpcyBpbnN0YWxsZWQKKysjCisrCisraW1wb3J0IG9zCisraW1wb3J0IG9waywgY2ZnLCBvcGtnY2wKKysKKytvcGsucmVncmVzc19pbml0KCkKKytvID0gb3BrLk9wa0dyb3VwKCkKKysKKytvLmFkZChQYWNrYWdlPSdhJywgUmVjb21tZW5kcz0nYycsIFZlcnNpb249JzEuMCcpCisrby5hZGQoUGFja2FnZT0nYicsIERlcGVuZHM9J2MnKQorK28uYWRkKFBhY2thZ2U9J2MnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC5pbnN0YWxsKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdhJyBpbnN0YWxsZWQgYnV0IHJlcG9ydHMgYXMgbm90IGluc3RhbGxlZC4iKQorKworK2lmIG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLnhmYWlsKCJbbGlic29sdjwwLjcuM10gUGFja2FnZSAnYycgc2hvdWxkIG5vdCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlIGl0IHdhcyBpbiAtLWFkZC1pZ25vcmUtcmVjb21tZW5kcy4iKQorKworK29wa2djbC5yZW1vdmUoJ2EnKQorK29wa2djbC5pbnN0YWxsKCdhIGInLCAnLS1hZGQtaWdub3JlLXJlY29tbWVuZHMgYycpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2EnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2EnIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2InKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2InIGluc3RhbGxlZCBidXQgcmVwb3J0cyBhcyBub3QgaW5zdGFsbGVkLiIpCisrCisraWYgbm90IG9wa2djbC5pc19pbnN0YWxsZWQoJ2MnKToKKysJb3BrLmZhaWwoIlBhY2thZ2UgJ2MnIHNob3VsZCBoYXZlIGJlZW4gaW5zdGFsbGVkIHNpbmNlICdiJyBkZXBlbmRzIG9uIGl0LiIpCisrCisrb3BrZ2NsLnJlbW92ZSgnYiBjJywgJy0tZm9yY2UtZGVwZW5kcycpCisrby5hZGQoUGFja2FnZT0nYScsIFJlY29tbWVuZHM9J2MnLCBWZXJzaW9uPScyLjAnKQorK28ud3JpdGVfb3BrKCkKKytvLndyaXRlX2xpc3QoKQorKworK29wa2djbC51cGRhdGUoKQorKworK29wa2djbC51cGdyYWRlKCdhJywgJy0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzIGMnKQorKworK2lmIG5vdCBvcGtnY2wuaXNfaW5zdGFsbGVkKCdhJywgJzIuMCcpOgorKwlvcGsuZmFpbCgiUGFja2FnZSAnYSAoMi4wKScgaW5zdGFsbGVkIGJ1dCByZXBvcnRzIGFzIG5vdCBpbnN0YWxsZWQuIikKKysKKytpZiBvcGtnY2wuaXNfaW5zdGFsbGVkKCdjJyk6CisrCW9way5mYWlsKCJQYWNrYWdlICdjJyBzaG91bGQgbm90IGhhdmUgYmVlbiBpbnN0YWxsZWQgc2luY2UgaXQgd2FzIGluIC0tYWRkLWlnbm9yZS1yZWNvbW1lbmRzLiIpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2cvMDAwMS1yZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzLXVzZS1zdHJpY3QtbWF0Y2hpbmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjMTYwMjkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnLzAwMDEtcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cy11c2Utc3RyaWN0LW1hdGNoaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotRnJvbSA1NWM0YWQ2NjZlNzYyODFiZGQwZGI1NWZhNmY0YWIyNzQ0ZmVhN2U0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLURhdGU6IFR1ZSwgNCBTZXAgMjAxOCAxODowNjowMCAtMDUwMAotU3ViamVjdDogW1BBVENIXSByZW1vdmVfbWFpbnRhaW5lcl9zY3JpcHRzOiB1c2Ugc3RyaWN0IG1hdGNoaW5nCi0KLVRoZSBmdW5jdGlvbiBpcyB1c2luZyBhIGdsb2IgdG8gc2VsZWN0IHdoaWNoIG1ldGFkYXRhIGZpbGVzIG5lZWRzIHRvIGJlCi1kZWxldGVkIGR1cmluZyBwYWNrYWdlIHJlbW92YWwsIG9uIHRoZSBpbmZvX2Rpci4gSG93ZXZlciwgdGhlIGdsb2IgbWF5Ci1tYXRjaCBtZXRhZGF0YSBmaWxlcyBmcm9tIHBhY2thZ2VzIHdpdGggc2ltaWxhciBuYW1lcy4gRm9yIGV4YW1wbGUsCi1kdXJpbmcgcmVtb3ZhbCBvZiBwYWNrYWdlIGdsaWJjLWJpbmFyeS1sb2NhbGVkYXRhLWRlLWF0LCB0aGUgY3VycmVudAotbG9naWMgd2FzIGFsc28gcmVtb3ZpbmcgdGhlIG1ldGFkYXRhIGZvcgotZ2xpYmMtYmluYXJ5LWxvY2FsZWRhdGEtZGUtYXQuaXNvLTg4NTktMS4gQWRkIGNoZWNrIGZvciBhbiBleGFjdCBtYXRjaAotYmVmb3JlIGRlbGV0aW9uLgotCi1GaXhlcyBidWd6aWxsYTogMTI5MDUKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZm9ydW0vIyF0b3BpYy9vcGtnLWRldmVsL0ZyNDBZdDBOQm5vXQotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KLS0tLQotIGxpYm9wa2cvb3BrZ19yZW1vdmUuYyB8IDE0ICsrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMgYi9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLWluZGV4IDgyMTI1ZmEuLjM5MzY2MjggMTAwNjQ0Ci0tLS0gYS9saWJvcGtnL29wa2dfcmVtb3ZlLmMKLSsrKyBiL2xpYm9wa2cvb3BrZ19yZW1vdmUuYwotQEAgLTEzNyw3ICsxMzcsNyBAQCB2b2lkIHJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMocGtnX3QgKiBwa2cpCi0gewotICAgICB1bnNpZ25lZCBpbnQgaTsKLSAgICAgaW50IGVycjsKLS0gICAgY2hhciAqZ2xvYnBhdHRlcm47Ci0rICAgIGNoYXIgKmdsb2JwYXR0ZXJuLCAqZmlsZW5hbWUsICpsYXN0ZG90OwotICAgICBnbG9iX3QgZ2xvYmJ1ZjsKLSAKLSAgICAgaWYgKG9wa2dfY29uZmlnLT5ub2FjdGlvbikKLUBAIC0xNTEsOCArMTUxLDE2IEBAIHZvaWQgcmVtb3ZlX21haW50YWluZXJfc2NyaXB0cyhwa2dfdCAqIHBrZykKLSAgICAgICAgIHJldHVybjsKLSAKLSAgICAgZm9yIChpID0gMDsgaSA8IGdsb2JidWYuZ2xfcGF0aGM7IGkrKykgewotLSAgICAgICAgb3BrZ19tc2coSU5GTywgIkRlbGV0aW5nICVzLlxuIiwgZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0tICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICBmaWxlbmFtZSA9IHhzdHJkdXAoYmFzZW5hbWUoZ2xvYmJ1Zi5nbF9wYXRodltpXSkpOwotKyAgICAgICAgbGFzdGRvdCA9IHN0cnJjaHIoZmlsZW5hbWUsICcuJyk7Ci0rICAgICAgICAqbGFzdGRvdCA9ICdcMCc7Ci0rICAgICAgICAvLyBPbmx5IGRlbGV0ZSBmaWxlcyB0aGF0IG1hdGNoIHRoZSBwYWNrYWdlIG5hbWUgKHRoZSBnbG9iIG1heSBtYXRjaCBmaWxlcwotKyAgICAgICAgLy8gd2l0aCBzaW1pbGFyIG5hbWVzKQotKyAgICAgICAgaWYgKCFzdHJjbXAoZmlsZW5hbWUsIHBrZy0+bmFtZSkpIHsKLSsgICAgICAgICAgICBvcGtnX21zZyhJTkZPLCAiRGVsZXRpbmcgJXMuXG4iLCBnbG9iYnVmLmdsX3BhdGh2W2ldKTsKLSsgICAgICAgICAgICB1bmxpbmsoZ2xvYmJ1Zi5nbF9wYXRodltpXSk7Ci0rICAgICAgICB9Ci0rICAgICAgICBmcmVlKGZpbGVuYW1lKTsKLSAgICAgfQotICAgICBnbG9iZnJlZSgmZ2xvYmJ1Zik7Ci0gfQotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWJkNThiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL29wa2cvb3BrZ18wLjMuNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLVNVTU1BUlkgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIiCi1TVU1NQVJZX2xpYm9wa2cgPSAiT3BlbiBQYWNrYWdlIE1hbmFnZXIgbGlicmFyeSIKLVNFQ1RJT04gPSAiYmFzZSIKLUhPTUVQQUdFID0gImh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9vcGtnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvaXNzdWVzL2xpc3QiCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9vcGtnLmM7YmVnaW5saW5lPTI7ZW5kbGluZT0yMTttZDU9OTA0MzVhNTE5YzZlYTY5ZWYyMmU0YTg4YmNjNTJmYTAiCi0KLURFUEVORFMgPSAibGliYXJjaGl2ZSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vb3BrZy5jb25mIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3BrZ19jb25mLWNyZWF0ZS1vcGtnLmxvY2staW4tcnVuLWluc3RlYWQtb2YtdmFyLXJ1bi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXJlbW92ZV9tYWludGFpbmVyX3NjcmlwdHMtdXNlLXN0cmljdC1tYXRjaGluZy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3OWUwNDMwN2Y2ZjU0ZGI0MzFjMjUxNzcyZDdkOTg3YyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjA3ZjBlNjFiZThjZjhhM2JiZDBkMmRjY2Q5ZWM5ZTliNmMyMWRkNDMwN2I2NzFjNjAwZDZlZWFmODRkMzBiIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAotCi10YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKLU9QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgotCi1QQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKLQotUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKLVBBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgotUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgotUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCi1QQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCi0KLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZwotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgotCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCi0KLQkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQotCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZwotfQotCi1SREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCi1SREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKLVJSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKLVJDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgotUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKLQotUEFDS0FHRVMgPSsgImxpYm9wa2ciCi0KLUZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLUNPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3BrZy9vcGtnXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMzI5ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcGtnL29wa2dfMC40LjAuYmIKQEAgLTAsMCArMSw2MiBAQAorU1VNTUFSWSA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciIKK1NVTU1BUllfbGlib3BrZyA9ICJPcGVuIFBhY2thZ2UgTWFuYWdlciBsaWJyYXJ5IgorU0VDVElPTiA9ICJiYXNlIgorSE9NRVBBR0UgPSAiaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL29wa2cvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vY29kZS5nb29nbGUuY29tL3Avb3BrZy9pc3N1ZXMvbGlzdCIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL29wa2cuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTIxO21kNT05MDQzNWE1MTljNmVhNjllZjIyZTRhODhiY2M1MmZhMCIKKworREVQRU5EUyA9ICJsaWJhcmNoaXZlIgorCitQRSA9ICIxIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNlcy8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9vcGtnLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1vcGtnX2NvbmYtY3JlYXRlLW9wa2cubG9jay1pbi1ydW4taW5zdGVhZC1vZi12YXItcnVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlib3BrZy1hZGQtYWRkLWlnbm9yZS1yZWNvbW1lbmRzLW9wdGlvbi5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZTUxZDk1ZmVlNTk5YmI0ZGNlMDg0NTM1MjkxNThmNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNmMwMDUxNWQ4YTJhZDhmNjc0MmE4ZTczODMwMzE1ZDE5ODNlZDA0NTljYmE3N2M0ZDY1NmNmYzllN2ZlNmZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgc3lzdGVtZAorCit0YXJnZXRfbG9jYWxzdGF0ZWRpciA6PSAiJHtsb2NhbHN0YXRlZGlyfSIKK09QS0dMSUJESVIgPSAiJHt0YXJnZXRfbG9jYWxzdGF0ZWRpcn0vbGliIgorCitQQUNLQUdFQ09ORklHID8/PSAibGlic29sdiIKKworUEFDS0FHRUNPTkZJR1tncGddID0gIi0tZW5hYmxlLWdwZywtLWRpc2FibGUtZ3BnLGdwZ21lIGxpYmdwZy1lcnJvcixnbnVwZyIKK1BBQ0tBR0VDT05GSUdbY3VybF0gPSAiLS1lbmFibGUtY3VybCwtLWRpc2FibGUtY3VybCxjdXJsIgorUEFDS0FHRUNPTkZJR1tzc2wtY3VybF0gPSAiLS1lbmFibGUtc3NsLWN1cmwsLS1kaXNhYmxlLXNzbC1jdXJsLGN1cmwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzaGEyNTZdID0gIi0tZW5hYmxlLXNoYTI1NiwtLWRpc2FibGUtc2hhMjU2IgorUEFDS0FHRUNPTkZJR1twYXRoZmluZGVyXSA9ICItLWVuYWJsZS1wYXRoZmluZGVyLC0tZGlzYWJsZS1wYXRoZmluZGVyLHBhdGhmaW5kZXIiCitQQUNLQUdFQ09ORklHW2xpYnNvbHZdID0gIi0td2l0aC1saWJzb2x2LC0td2l0aG91dC1saWJzb2x2LGxpYnNvbHYiCisKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1sb2NhbHN0YXRlZGlyPS8ke0Bvcy5wYXRoLnJlbHBhdGgoJyR7bG9jYWxzdGF0ZWRpcn0nLCAnJHtTVEFHSU5HX0RJUl9OQVRJVkV9Jyl9IC0tc3lzY29uZmRpcj0vJHtAb3MucGF0aC5yZWxwYXRoKCcke3N5c2NvbmZkaXJ9JywgJyR7U1RBR0lOR19ESVJfTkFUSVZFfScpfSIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vb3BrZworCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L29wa2cuY29uZiAke0R9JHtzeXNjb25mZGlyfS9vcGtnL29wa2cuY29uZgorCWVjaG8gIm9wdGlvbiBsaXN0c19kaXIgJHtPUEtHTElCRElSfS9vcGtnL2xpc3RzIiA+PiR7RH0ke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mCisKKwkjIFdlIG5lZWQgdG8gY3JlYXRlIHRoZSBsb2NrIGRpcmVjdG9yeQorCWluc3RhbGwgLWQgJHtEfSR7T1BLR0xJQkRJUn0vb3BrZworfQorCitSREVQRU5EU18ke1BOfSA9ICIke1ZJUlRVQUwtUlVOVElNRV91cGRhdGUtYWx0ZXJuYXRpdmVzfSBvcGtnLWFyY2gtY29uZmlnIGxpYmFyY2hpdmUiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKK1JSRVBMQUNFU18ke1BOfSA9ICJvcGtnLW5vZ3BnIG9wa2ctY29sbGF0ZXJhbCIKK1JDT05GTElDVFNfJHtQTn0gPSAib3BrZy1jb2xsYXRlcmFsIgorUlBST1ZJREVTXyR7UE59ID0gIm9wa2ctY29sbGF0ZXJhbCIKKworUEFDS0FHRVMgPSsgImxpYm9wa2ciCisKK0ZJTEVTX2xpYm9wa2cgPSAiJHtsaWJkaXJ9Lyouc28uKiAke09QS0dMSUJESVJ9L29wa2cvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L29wa2cvb3BrZy5jb25mIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvb3JjL29yY18wLjQuMjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgppbmRleCA0MTVkZTY0Li4wM2NkZGFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9vcmMvb3JjXzAuNC4yOC5iYgpAQCAtMTksNyArMTksNyBAQAogCiBweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CiAgICAgbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ09SQyAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKIH0KIAogZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLUV4dFV0aWxzLU1ha2VNYWtlci1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctYmluYXJ5LW0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q1YzA3OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaApAQCAtMCwwICsxLDI2IEBACitGcm9tIDJmNzRhODk5NDc0ZjQyOGE0YTUzNjhhOTRhY2NmODAxYzVmOTdhZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNCBKdW4gMjAxOCAxODozMzo1MCArMDMwMAorU3ViamVjdDogW1BBVENIXSBFeHRVdGlscy1NYWtlTWFrZXI6IGFkZCAkKExERkxBR1MpIHdoZW4gbGlua2luZyBiaW5hcnkKKyBtb2R1bGVzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQoraW5kZXggZmU1M2JlMS4uMjQ5YzA0OCAxMDA2NDQKKy0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCisrKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorQEAgLTEwNTAsNyArMTA1MCw3IEBAIHN1YiB4c19tYWtlX2R5bmFtaWNfbGliIHsKKyAgICAgfQorIAorICAgICBwdXNoIEBtLCBzcHJpbnRmIDw8J01BS0UnLCAkbGRfcnVuX3BhdGhfc2hlbGwsICRsZHJ1biwgJGRsc3ltc19hcmcsICRsZGZyb20sICRzZWxmLT54c19vYmpfb3B0KCckQCcpLCAkbGlicywgJGV4cG9ydGxpc3Q7CistCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoT1RIRVJMREZMQUdTKSAlcyAkKE1ZRVhUTElCKSBcCisrCSVzJChMRCkgJXMgJChMRERMRkxBR1MpICVzICVzICQoTERGTEFHUykgJChPVEhFUkxERkxBR1MpICVzICQoTVlFWFRMSUIpIFwKKyAJICAkKFBFUkxfQVJDSElWRSkgJXMgJChQRVJMX0FSQ0hJVkVfQUZURVIpICVzIFwKKyAJICAkKElOU1RfRFlOQU1JQ19GSVgpCisgCSQoQ0hNT0QpICQoUEVSTV9SV1gpICRACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ4ZWMxZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtU29tZWhvdy10aGlzLW1vZHVsZS1icmVha3MtdGhyb3VnaC10aGUtcGVybC13cmFwcGVyLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGU4ZTA5NWI5YzcxYzU4ZjgxOTdkNjMxNTM1OTQ0NmI2YjA4NGNiMmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxNDo1ODo0MiArMDMwMAorU3ViamVjdDogW1BBVENIXSBTb21laG93IHRoaXMgbW9kdWxlIGJyZWFrcyB0aHJvdWdoIHRoZSBwZXJsIHdyYXBwZXIgYW5kCisgZGVjbGFyZXMgcGVybCBiaW5hcnkgdG8gYmUgJ3BlcmwucmVhbCcuIFRoaXMgcGF0Y2ggZm9yY2VzIGl0IGJhY2sgdG8gcGVybC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK2luZGV4IDk0OGM0NzYuLmY1Mzc1MjYgMTAwNjQ0CistLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQorKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KK0BAIC0xMTEwLDYgKzExMTAsOSBAQCBXQVJOSU5HCisgICAgIH0KKyAKKyAgICAgZm9yZWFjaCBteSAkbmFtZSAoQCRuYW1lcyl7CisrICAgICAgICAjIEdldHRpbmcgTWFrZU1ha2VyLnBtIHVzZSBwZXJsIHdyYXBwZXIgaW5zdGVhZCBvZiAncGVybC5yZWFsJyBkaXJlY3RseQorKyAgICAgICAgJG5hbWUgPX4gcy9wZXJsXC5yZWFsL3BlcmwvIGlmICgkbmFtZSA9fiAvcGVybFwucmVhbC8pOworKworICAgICAgICAgbXkgKCRhYnMsICR1c2VfZGlyKTsKKyAgICAgICAgIGlmICgkc2VsZi0+ZmlsZV9uYW1lX2lzX2Fic29sdXRlKCRuYW1lKSkgeyAgICAgIyAvZm9vL2JhcgorICAgICAgICAgICAgICRhYnMgPSAkbmFtZTsKK0BAIC0yMDA2LDYgKzIwMDksNyBAQCBzdWIgaW5pdF9QRVJMIHsKKyAKKyAgICAgJHNlbGYtPntQRVJMfSB8fD0KKyAgICAgICAgICRzZWxmLT5maW5kX3BlcmwoNS4wLCBcQHBlcmxzLCBcQGRlZnBhdGgsICRWZXJib3NlICk7CisrICAgIAorIAorICAgICBteSAkcGVybCA9ICRzZWxmLT57UEVSTH07CisgICAgICRwZXJsID1+IHMvXiIvLzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjBmYzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1jb25maWd1cmVfcGF0aC5zaC1kby1ub3QtaGFyZGNvZGUtcHJlZml4LWxpYi1hcy1saWJyLnBhdGNoCkBAIC0wLDAgKzEsNjkgQEAKK0Zyb20gMTljMTk4N2I0NTU5OThkMjk1OWE1ZmRmM2QxZWQ5MTFkMzVlNzBmMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyIEphbiAyMDE5IDE3OjU1OjM1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZV9wYXRoLnNoOiBkbyBub3QgaGFyZGNvZGUgJHByZWZpeC9saWIgYXMgbGlicmFyeQorIHBhdGgKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgY25mL2NvbmZpZ3VyZV9hcmdzLnNoIHwgIDIgKy0KKyBjbmYvY29uZmlndXJlX3BhdGguc2ggfCAxMSArKysrKystLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoIGIvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCitpbmRleCAyOWNhNGY1Li4zMjk3ZmIzIDEwMDY0NAorLS0tIGEvY25mL2NvbmZpZ3VyZV9hcmdzLnNoCisrKysgYi9jbmYvY29uZmlndXJlX2FyZ3Muc2gKK0BAIC0xNTUsNyArMTU1LDcgQEAgd2hpbGUgWyAkaSAtbGUgJCMgLW8gLW4gIiRuIiBdOyBkbworIAkJaGVscCkgbW9kZT0iaGVscCIgOzsKKyAJCXJlZ2VufHJlZ2VuZXJhdGUpIG1vZGU9InJlZ2VuIiA7OworIAkJa2VlcGxvZykgZGVmdXNlciAiJGEiIDEgOzsKKy0JCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyKQlkZWZ1c2VyICRhICIkdiIgOzsKKysJCXByZWZpeHxodG1sWzEzXWRpcnxsaWJzZGlyfGxpYmRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQltYW5bMTNdZGlyfG90aGVybGlic2RpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlcHJlZml4fHNpdGVodG1sWzEzXWRpcikJZGVmdXNlciAkYSAiJHYiIDs7CisgCQlzaXRlbWFuWzEzXWRpcnx2ZW5kb3JtYW5bMTNdZGlyKWRlZnVzZXIgJGEgIiR2IiA7OworZGlmZiAtLWdpdCBhL2NuZi9jb25maWd1cmVfcGF0aC5zaCBiL2NuZi9jb25maWd1cmVfcGF0aC5zaAoraW5kZXggZmU3ZWFjNy4uYmNiYThiOCAxMDA2NDQKKy0tLSBhL2NuZi9jb25maWd1cmVfcGF0aC5zaAorKysrIGIvY25mL2NvbmZpZ3VyZV9wYXRoLnNoCitAQCAtMzAsNiArMzAsNyBAQCBkZWZpbnN0KCkgeworIAlkZWZpbmUgIiQxIiAiJGluc3RhbGxwYXRoJHYiCisgfQorIAorK2RlZmluZSBsaWJkaXIgIiRwcmVmaXgvbGliIgorIGRlZmluZSBzaGFyZWRpciAiJHByZWZpeC9zaGFyZSIKKyBkZWZpbmUgaHRtbDFkaXIgIiRzaGFyZWRpci9kb2MvJHBlcmxuYW1lL2h0bWwiCisgZGVmaW5lIGh0bWwzZGlyICIkc2hhcmVkaXIvZG9jLyRwZXJsbmFtZS9odG1sIgorQEAgLTM4LDE2ICszOSwxNiBAQCBkZWZpbmUgbWFuMWV4dCAiMSIKKyBkZWZpbmUgbWFuM2RpciAiJHNoYXJlZGlyL21hbi9tYW4zIgorIGRlZmluZSBtYW4zZXh0ICIzIgorIGRlZmluZSBiaW4gIiRwcmVmaXgvYmluIgorLWRlZmluZSBsaWIgIiRwcmVmaXgvbGliIgorK2RlZmluZSBsaWIgIiRsaWJkaXIiCisgZGVmaW5lIHNjcmlwdGRpciAiJHByZWZpeC9iaW4iCisgZGVmaW5lIGxpYnNkaXJzICcgJworLWRlZnJlbCBwcml2bGliICIkcHJlZml4L2xpYi8kcGFja2FnZS8kdmVyc2lvbiIKKy1kZWZyZWwgYXJjaGxpYiAiJHByZWZpeC9saWIvJHBhY2thZ2UvJHZlcnNpb24vJGFyY2huYW1lIgorK2RlZnJlbCBwcml2bGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uIgorK2RlZnJlbCBhcmNobGliICIkbGliZGlyLyRwYWNrYWdlLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyBkZWZpbmUgcGVybHBhdGggIiRwcmVmaXgvYmluLyRwZXJsbmFtZSIKKyBkZWZpbmUgZF9hcmNobGliICdkZWZpbmUnCisgCisgZGVmaW5lIHNpdGViaW4JIiRwcmVmaXgvYmluIgorLWRlZnJlbCBzaXRlbGliX3N0ZW0gIiRwcmVmaXgvbGliLyRwYWNrYWdlL3NpdGVfcGVybCIKKytkZWZyZWwgc2l0ZWxpYl9zdGVtICIkbGliZGlyLyRwYWNrYWdlL3NpdGVfcGVybCIKKyBkZWZpbmUgc2l0ZWxpYiAiJHNpdGVsaWJfc3RlbS8kdmVyc2lvbiIKKyBkZWZpbmUgc2l0ZWFyY2ggIiRzaXRlbGliX3N0ZW0vJHZlcnNpb24vJGFyY2huYW1lIgorIGRlZmluZSBzaXRlcHJlZml4ICIkcHJlZml4IgorQEAgLTE0NSw3ICsxNDYsNyBAQCB2ZW5kb3J0ZXN0KCkgeworIH0KKyAKKyB2ZW5kb3JwYXRoIHZlbmRvcmJpbiAiJHZlbmRvcnByZWZpeC9iaW4iCistdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJHZlbmRvcnByZWZpeC9saWIvJHBhY2thZ2UvdmVuZG9yX3BlcmwiCisrdmVuZG9ycGF0aCB2ZW5kb3JsaWJfc3RlbSAiJGxpYmRpci8kcGFja2FnZS92ZW5kb3JfcGVybCIKKyB2ZW5kb3JwYXRoIHZlbmRvcmxpYiAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uIgorIHZlbmRvcnBhdGggdmVuZG9yYXJjaCAiJHZlbmRvcmxpYl9zdGVtLyR2ZXJzaW9uLyRhcmNobmFtZSIKKyB2ZW5kb3JwYXRoIHZlbmRvcnNjcmlwdCAiJHZlbmRvcnByZWZpeC9iaW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy8wMDAxLWNvbmZpZ3VyZV90b29sLnNoLWRvLW5vdC1xdW90ZS10aGUtYXJndW1lbnQtdG8tY29tbWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFhZWFhMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtY29uZmlndXJlX3Rvb2wuc2gtZG8tbm90LXF1b3RlLXRoZS1hcmd1bWVudC10by1jb21tYS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGcm9tIGE2NjgxMWM0ODdlY2Y4YmE4NzI0ODc5YzI1M2JiMTBkZmE4MmFlYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMSBKdW4gMjAxOCAxOTo1NzozMiArMDMwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmVfdG9vbC5zaDogZG8gbm90IHF1b3RlIHRoZSBhcmd1bWVudCB0byAnY29tbWFuZCcKKworQXMgaXQgc2VlbXMgdG8gYnJlYWsgdGhpbmdzIGlmIHRoZSBhcmd1bWVudCBoYXMgc3BhY2VzIGFuZCBhcmd1bWVudHMgaW4gaXQuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBjbmYvY29uZmlndXJlX3Rvb2wuc2ggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jbmYvY29uZmlndXJlX3Rvb2wuc2ggYi9jbmYvY29uZmlndXJlX3Rvb2wuc2gKK2luZGV4IDMyMjAxYzAuLjQ2MWJjNjggMTAwNjQ0CistLS0gYS9jbmYvY29uZmlndXJlX3Rvb2wuc2gKKysrKyBiL2NuZi9jb25maWd1cmVfdG9vbC5zaAorQEAgLTIsNyArMiw3IEBACisgCisgdHJ5cHJvZygpIHsKKyAJbG9nICJ0cnlpbmcgJDE9JDIiCistCWlmIGNvbW1hbmQgLXYgIiQyIiAxPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorKwlpZiBjb21tYW5kIC12ICQyIDE+L2Rldi9udWxsIDI+L2Rldi9udWxsOyB0aGVuCisgCQlkZWZpbmUgIiQxIiAiJDIiCisgCQlyZXN1bHQgIiQyIgorIAkJcmV0dXJuIDAKKy0tIAorMi4xNy4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzLzAwMDEtcGVybC1jcm9zcy1hZGQtTERGTEFHUy13aGVuLWxpbmtpbmctbGlicGVybC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzk4NTAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK0Zyb20gZjgyNGNiZWM5YWM4ZjExM2E0YWUzNWQ1N2JkMTg2MjVkNDE1YTcxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyNyBOb3YgMjAxOCAxNTozNzo0MCArMDEwMAorU3ViamVjdDogW1BBVENIXSBwZXJsLWNyb3NzOiBhZGQgTERGTEFHUyB3aGVuIGxpbmtpbmcgbGlicGVybAorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCAwMTY0NGNkLi5iZTgxMWE3IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtMTgwLDcgKzE4MCw3IEBAIGVuZGlmCisgCisgaWZlcSAoJCh1c2VzaHJwbGliKSx0cnVlKQorICQoTElCUEVSTCk6CistCSQoQ0MpICQoTERETEZMQUdTKSAtbyAkQCAkKGZpbHRlciAlJG8sJF4pICQoTElCUykKKysJJChDQykgJChMREZMQUdTKSAkKExERExGTEFHUykgLW8gJEAgJChmaWx0ZXIgJSRvLCReKSAkKExJQlMpCisgZWxzZQorICQoTElCUEVSTCk6CisgCSQoQVIpIGNydSAkQCAkKGZpbHRlciAlJG8sJF4pCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2Vycm5vX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvZXJybm9fdmVyLmRpZmYKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXJybm9fdmVyLmRpZmYKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL2Vycm5vX3Zlci5kaWZmCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL25hdGl2ZS1wZXJsaW5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZTFhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9uYXRpdmUtcGVybGluYy5wYXRjaApAQCAtMCwwICsxLDI3IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCisrKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xNTk3LDYgKzE1OTcsMTkgQEAKKyAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OworIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07CisgCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKKysJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQorKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCisrICAgICAgICB7CisrICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICB9CisrICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKKysgICAgICAgIHsKKysgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OworKyAgICAgICAgfQorIAlteSAkcGVybF9oOworIAorIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmYyM2VlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2gKQEAgLTAsMCArMSw0OCBAQAorVGhpcyBwYXRjaCBpcyB1c2VkIGZvciBwZXJsLW5hdGl2ZSBvbmx5LiBJdCBlbmFibGVzIHRoZSBzd2l0Y2hpbmcgb2YKK2NvbmZpZ3VyYXRpb24gZmlsZXMgYmV0d2VlbiBDb25maWdfaGVhdnkucGwgYW5kCitDb25maWdfaGVhdnktdGFyZ2V0LnBsIGJ5IHNldHRpbmcgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcworUEVSTENPTkZJR1RBUkdFVCAtIHRoZSBsYXRlciBjb250YWluaW5nIHNldHRpbmdzIGZvciB0aGUgdGFyZ2V0IHdoaWxlCit0aGUgZm9ybWVyIGNvbnRhaW5zIHRob3NlIGZvciB0aGUgaG9zdC4gVGhpcyB3aWxsIGFsbG93IGNwYW4uYmJjbGFzcwordG8gdXNlIHRoZSBzZXR0aW5ncyBhcHByb3ByaWF0ZSBmb3IgdGhlIG5hdGl2ZSBhbmQvb3IgdGFyZ2V0IGJ1aWxkcworYXMgcmVxdWlyZWQuIFRoaXMgYWxzbyBkaXNhYmxlcyB0aGUgdXNlIG9mIHRoZSBjYWNoZSBzaW5jZSB0aGUgY2FjaGVkCit2YWx1ZXMgd291bGQgYmUgdmFsaWQgZm9yIHRoZSBob3N0IG9ubHkuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbmF0aXZlXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKK0luZGV4OiBwZXJsLTUuMTQuMi9jb25maWdwbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBlcmwtNS4xNC4yLm9yaWcvY29uZmlncG0KKysrKyBwZXJsLTUuMTQuMi9jb25maWdwbQorQEAgLTY1OCw3ICs2NTgsNyBAQCBzdWIgRkVUQ0ggeworICAgICBteSgkc2VsZiwgJGtleSkgPSBAXzsKKyAKKyAgICAgIyBjaGVjayBmb3IgY2FjaGVkIHZhbHVlICh3aGljaCBtYXkgYmUgdW5kZWYgc28gd2UgdXNlIGV4aXN0cyBub3QgZGVmaW5lZCkKKy0gICAgcmV0dXJuIGV4aXN0cyAkc2VsZi0+eyRrZXl9ID8gJHNlbGYtPnska2V5fSA6ICRzZWxmLT5mZXRjaF9zdHJpbmcoJGtleSk7CisrICAgIHJldHVybiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOworIH0KKyAKKyBFTkRPRkVORAorQEAgLTgxNiw3ICs4MTYsMjEgQEAgJGNvbmZpZ190eHQgLj0gc3ByaW50ZiA8PCdFTkRPRlRJRScsICRmYQorIHN1YiBERVNUUk9ZIHsgfQorIAorIHN1YiBBVVRPTE9BRCB7CistICAgIHJlcXVpcmUgJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIG15ICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS5wbCc7CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gYW5kICRFTlZ7UEVSTENPTkZJR1RBUkdFVH0gZXEgInllcyIpCisrICAgIHsKKysgICAgICAgICRjZmdmaWxlID0gJ0NvbmZpZ19oZWF2eS10YXJnZXQucGwnOworKyAgICB9CisrICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKKysgICAgeworKyAgICAgICAgcHVzaCBASU5DLCAkRU5We1BFUkxfQVJDSExJQn07CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICAgICAgcG9wIEBJTkM7CisrICAgIH0KKysgICAgZWxzZQorKyAgICB7CisrICAgICAgICByZXF1aXJlICRjZmdmaWxlOworKyAgICB9CisgICAgIGdvdG8gXCZsYXVuY2hlciB1bmxlc3MgJENvbmZpZzo6QVVUT0xPQUQgPX4gL2xhdW5jaGVyJC87CisgICAgIGRpZSAiJkNvbmZpZzo6QVVUT0xPQUQgZmFpbGVkIG9uICRDb25maWc6OkFVVE9MT0FEIjsKKyB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L2ZpbGVzL3BlcmwtZHlubG9hZGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiYjgzMmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLWR5bmxvYWRlci5wYXRjaApAQCAtMCwwICsxLDM4IEBACitVcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCisKK0FsbG93IHRoZSBsb2NhdGlvbiB0aGF0IC5zbyBmaWxlcyBhcmUgc2VhcmNoZWQgZm9yIGZvciBkeW5hbWljCitsb2FkaW5nIHRvIGJlIGNoYW5nZWQgdmlhIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLiBUaGlzIGlzIHRvIGFsbG93Cit1cyB0byBsb2FkIC5zbydzIGZyb20gdGhlIGhvc3Qgc3lzdGVtIHdoaWxlIGJ1aWxkaW5nIGZvciB0aGUgdGFyZ2V0CitzeXN0ZW0uCisKK1VwZGF0ZSBieSBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzA0LzIxCisKK0luZGV4OiBwZXJsLTUuMjQuMS9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gcGVybC01LjI0LjEub3JpZy9kaXN0L1hTTG9hZGVyL1hTTG9hZGVyX3BtLlBMCisrKysgcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAorQEAgLTUyLDYgKzUyLDI0IEBAIHN1YiBsb2FkIHsKKyAgICAgbXkgKCRjYWxsZXIsICRtb2RsaWJuYW1lKSA9IGNhbGxlcigpOworICAgICBteSAkbW9kdWxlID0gJGNhbGxlcjsKKyAKKysgICAgIyBPRTogQWxsb3cgZW52IHRvIGZvcm0gZHluYW1pYyBsb2FkZXIgdG8gbG9vayBpbiBhIGRpZmZlcmVudCBwbGFjZQorKyAgICAjIFRoaXMgaXMgc28gaXQgZmluZHMgdGhlIGhvc3QgLnNvIGZpbGVzLCBub3QgdGhlIHRhcmdldHMKKysgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMSE9TVExJQn0pCisrICAgIHsKKysgICAgICAgIG15ICRob3N0bGliID0gJEVOVntQRVJMSE9TVExJQn07CisrICAgICAgICBteSAkaG9zdGFyY2hsaWIgPSAkRU5We1BFUkxIT1NUQVJDSExJQn07CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBJTjogJG1vZGxpYm5hbWVcbiI7CisrICAgICAgICAoJHAxLCAkcDIsICRwMywgJHA0LCAkcDUsICRwNiwgJHA3KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybDVcL1swLTlcLl0qXC8pPykoKFteXC9dKilcLyk/KC4qKSQvOworKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogcDE6ICRwMSAgcDM6ICRwMyAgcDU6ICRwNSBwNzogJHA3XG4iOworKyAgICAgICAgaWYgKCAkcDEgbmUgIiIgKSB7CisrICAgICAgICAgICAgJG1vZGxpYm5hbWUgPSAkaG9zdGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBpZiAoICRwNiBuZSAiIiApIHsKKysgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0YXJjaGxpYi4kcDc7CisrICAgICAgICB9CisrICAgICAgICBwcmludCBTVERFUlIgIioqKiBNb2R1bGUgbmFtZSBPVVQ6ICRtb2RsaWJuYW1lXG4iOworKyAgICB9CisrCisgICAgIGlmIChAXykgeworICAgICAgICAgJG1vZHVsZSA9ICRfWzBdOworICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTNiYmM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcGVybC1yZGVwZW5kcy50eHQKQEAgLTAsMCArMSw0Mjk2IEBACitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hbnlkYm0tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYW55ZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLW5ldC1waW5nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1jcGFuICs9ICJwZXJsLW1vZHVsZS11c2VyLXB3ZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLWNwYW4gKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtY3BhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlICs9ICJwZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtYXJjaGl2ZS10YXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtaW8temxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyY2hpdmUtdGFyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hcmNoaXZlLXRhciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWFyeWJhc2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGUtaGFuZGxlcnMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXR0cmlidXRlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdHRyaWJ1dGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF0dHJpYnV0ZXMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZhdGFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtaGludHMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLWxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXNraXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtc2tpcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1hdXRvc3BsaXQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWF1dG9zcGxpdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1jb25jaXNlICs9ICJwZXJsLW1vZHVsZS1iLW9wLXByaXZhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLWZlYXR1cmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWNvbmNpc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItY29uY2lzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLWRlYnVnICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1kZWJ1ZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmVuY2htYXJrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJlbmNobWFyayArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ2ludCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlnbnVtICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdudW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ251bSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnaW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdyYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iaWdyYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYmxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWItc2hvd2xleCArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1iLXRlcnNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi1zaG93bGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXRlcnNlICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtYi1jb25jaXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi10ZXJzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtYi14cmVmICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1iLXhyZWYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWJ5dGVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcy1oZWF2eSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2hhcm5hbWVzICs9ICJwZXJsLW1vZHVsZS1yZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtLWNoYXJuYW1lcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jaGFybmFtZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtYnl0ZXMgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1ieXRlcyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb21wcmVzcy16bGliICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbmZpZy1wZXJsLXYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29uc3RhbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNvcmVsaXN0ICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtY29yZWxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY29yZWxpc3QgKz0gInBlcmwtbW9kdWxlLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1jb3JlbGlzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1iIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1kaXJoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtbmV0LXBpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtc2FmZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXRlcm0tcmVhZGxpbmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jcGFuICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3BhbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWNwYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtY3dkICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1jd2QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWN3ZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYXRhLWR1bXBlciArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kYm0tZmlsdGVyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGJtLWZpbHRlci11dGY4ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRiICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXByZWNhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRlcHJlY2F0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wZWVrICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRldmVsLXBlZWsgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAicGVybC1tb2R1bGUtc2VsZmxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpYWdub3N0aWNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWFnbm9zdGljcyArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtZmlsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1tZDUgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LW1kNSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWRpZ2VzdC1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1kaWdlc3Qtc2hhICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWRpZ2VzdC1zaGEgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZGlnZXN0LXNoYSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1keW5hbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ieXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtYnl0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24taHogKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbi1oeiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNuICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY24taHoiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1jbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtY24gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1ndWVzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtZW5jb2RlLWpwLWgyeiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1qcC1qaXM3IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtanAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWpwICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyLTIwMjIta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUta3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLWtyICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1jamtjb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLW1pbWUtbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUtY29uZmlnbG9jYWwtcG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdHcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXR3ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS10dyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGUtdW5pY29kZS11dGY3ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVuY29kaW5nICs9ICJwZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZW5nbGlzaCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWVudiArPSAicGVybC1tb2R1bGUtdGllLWFycmF5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXJybm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHBvcnRlciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1vczIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1iY2MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1nY2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gInBlcmwtbW9kdWxlLWdldG9wdC1sb25nIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtcHJveHlzdWJzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LXN0ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZGF0YS1kdW1wZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvbXBhcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWNvcHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtZW5jb2RlLWFsaWFzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAicGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3BhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtcGF0aCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1lbWJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbWtzeW1saXN0cyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtYXV0b3NwbGl0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1jcGFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1kYXRhLWR1bXBlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tZGFyd2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWRvcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tcW54ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAicGVybC1tb2R1bGUtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS11d2luICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gInBlcmwtbW9kdWxlLWZpbGUtZmluZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS11bml4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbW0iCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1teSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYWNrbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtZXZhbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb3VudGxpbmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLWlucHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1hdXRvZGllLWhpbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLWF1dG9kaWUtdXRpbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZhdGFsICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1mYXRhbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXRpZS1yZWZoYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmF0YWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmNudGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZjbnRsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpZWxkcyArPSAicGVybC1tb2R1bGUtaGFzaC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmllbGRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gInBlcmwtbW9kdWxlLXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlY2FjaGUgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVjYWNoZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29tcGFyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb21wYXJlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtY29weSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1jb3B5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtY29weSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWZpbGVoYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1pcGMtY21kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1mZXRjaCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmV0Y2ggKz0gInBlcmwtbW9kdWxlLWxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2siCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZldGNoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1maW5kICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZmluZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWZpbmQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2IiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLWdsb2IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1nbG9iICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGVoYW5kbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlaGFuZGxlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1jd2QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1wYXRoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXBhdGggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtc3RhdCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXN0YXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS1zdGF0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZXJybm8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsZS10ZW1wICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWxlLXRlbXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbGUtdGVtcCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZmluZGJpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1maW5kYmluICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXBvZC11c2FnZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWdldG9wdC1sb25nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1nZXRvcHQtc3RkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWhhc2gtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1oYXNoLXV0aWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaGFzaC11dGlsICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmdpbmZvICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtZGV0ZWN0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaTE4bi1sYW5ndGFncyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gInBlcmwtbW9kdWxlLWVuY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1kaXIgKz0gInBlcmwtbW9kdWxlLWZpbGUtc3RhdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtaW8tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWRpciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZGlyICs9ICJwZXJsLW1vZHVsZS10aWUtaGFzaCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1maWxlICs9ICJwZXJsLW1vZHVsZS1pby1zZWVrYWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLWhhbmRsZSArPSAicGVybC1tb2R1bGUtaW8iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXNlbGVjdHNhdmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8taGFuZGxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tcGlwZSArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1waXBlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1wb2xsICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXBvbGwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlZWthYmxlICs9ICJwZXJsLW1vZHVsZS1pby1oYW5kbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zZWVrYWJsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC1pcCArPSAicGVybC1tb2R1bGUtc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc2VsZWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0ICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQtaW5ldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1pby1maWxlICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtYnl0ZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIgIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICJwZXJsLW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gInBlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0ICIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1ieXRlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAicGVybC1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaW8temxpYiArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlvLXpsaWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1jbWQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1sb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcGFyYW1zLWNoZWNrIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtY21kICs9ICJwZXJsLW1vZHVsZS10aW1lLWhpcmVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLWNtZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1tc2cgKz0gInBlcmwtbW9kdWxlLWlwYy1zeXN2IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW1zZyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjIgKz0gInBlcmwtbW9kdWxlLWlwYy1vcGVuMyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtb3BlbjMgKz0gInBlcmwtbW9kdWxlLWZjbnRsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1pby1waXBlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLW9wZW4zICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1vcGVuMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXNoYXJlZG1lbSArPSAicGVybC1tb2R1bGUtaXBjLXN5c3YiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS1keW5hbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtaXBjLXN5c3YgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWlwYy1zeXN2ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWJ5dGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLWpzb24tcHAtYm9vbGVhbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1qc29uLXBwICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWpzb24tcHAgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtanNvbi1wcCArPSAicGVybC1tb2R1bGUtc3VicyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxlc3MgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGliICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1saWIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbGlzdC11dGlsLXhzICs9ICJwZXJsLW1vZHVsZS1saXN0LXV0aWwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1saXN0LXV0aWwteHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxpc3QtdXRpbC14cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWRlZCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLWNvcmVsaXN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtbG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvYWQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2FkICs9ICJwZXJsLW1vZHVsZS12ZXJzaW9uIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9hZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LWNvZGVzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tcmV0aXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLXJldGlyZWQgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyArPSAicGVybC1tb2R1bGUtdXRmOCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS11dGY4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY291bnRyeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1jdXJyZW5jeSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtaWYiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbGFuZ3VhZ2UgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtbWFrZXRleHQtZ3V0cyArPSAicGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICJwZXJsLW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1pZiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2RlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1sb2NhbGUtc2NyaXB0ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAicGVybC1tb2R1bGUtb3ZlcmxvYWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1mYXN0Y2FsYyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQtbGliICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC1saWIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW1hdGgtYmlnZmxvYXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1tYXRoLWJpZ2ludCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtYmlncmF0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtY29tcGxleCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1hdGgtdHJpZyArPSAicGVybC1tb2R1bGUtbWF0aC1jb21wbGV4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWF0aC10cmlnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplLWFueWRibS1maWxlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tZW1vaXplICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWVtb2l6ZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXNkYm0tZmlsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1lbW9pemUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLXN0b3JhYmxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtYmFzZTY0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1iYXNlNjQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1taW1lLWJhc2U2NCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW1ybyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1tcm8gKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY21kICs9ICJwZXJsLW1vZHVsZS1lcnJubyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jbWQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWNtZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtY29uZmlnICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1jb25maWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1uZXQtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWRvbWFpbiArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZG9tYWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtYSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1hICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLWVycm5vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1lICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtaSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwLWwgKz0gInBlcmwtbW9kdWxlLW5ldC1mdHAtaSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cC1sICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtbmV0LWNtZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1mdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtZnRwLWEiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtZnRwICs9ICJwZXJsLW1vZHVsZS10aW1lLWxvY2FsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWZ0cCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtaG9zdGVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbmV0ZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtZmlsZWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1uZXRyYyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5ldHJjICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LW5udHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtbm50cCArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1ubnRwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1maWxlaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLWlvLXNvY2tldC1pbmV0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBpbmcgKz0gInBlcmwtbW9kdWxlLXNvY2tldCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1waW5nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcGluZyArPSAicGVybC1tb2R1bGUtdGltZS1oaXJlcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1wb3AzICs9ICJwZXJsLW1vZHVsZS1uZXQtbmV0cmMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcG9wMyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXBvcDMgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc2VydmVudCArPSAicGVybC1tb2R1bGUtY2xhc3Mtc3RydWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtaW8tc29ja2V0LWlwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW1pbWUtYmFzZTY0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLW5ldC1jbWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC1zbXRwICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtc210cCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXNtdHAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtbmV0LXRpbWUgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1pby1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtbmV0LWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5ldC10aW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXQtdGltZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1uZXh0ICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW5leHQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW9rICs9ICJwZXJsLW1vZHVsZS10ZXN0LW1vcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3Bjb2RlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGNvZGUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3BlbiArPSAicGVybC1tb2R1bGUtZW5jb2RpbmciCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcGVuICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW8gKz0gInBlcmwtbW9kdWxlLWIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1vcHMgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkaW5nICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtb3ZlcmxvYWQgKz0gInBlcmwtbW9kdWxlLW1ybyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLW92ZXJsb2FkICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmFtcy1jaGVjayArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBhcmVudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGFyZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGZhcSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby1lbmNvZGluZyArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tbW1hcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLW1tYXAgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcGVybGlvLXNjYWxhciArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBlcmxpby12aWEtcXVvdGVkcHJpbnQgKz0gInBlcmwtbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wZXJsaW8tdmlhLXF1b3RlZHByaW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZXNjYXBlcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLWN3ZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1maW5kICs9ICJwZXJsLW1vZHVsZS1maWxlLWZpbmQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZmluZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLWZpbmQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtZnVuY3Rpb25zICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1tYW4gKz0gInBlcmwtbW9kdWxlLXN1YnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLW1hbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBhcnNldXRpbHMgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWJhc2V0byArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLWdldG9wdHNvbyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS1maWxlLXRlbXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYyArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtcG9kLWNoZWNrZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvY2hlY2tlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1pby1zZWxlY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAicGVybC1tb2R1bGUtaXBjLW9wZW4zIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS1wb2QtbWFuIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAicGVybC1tb2R1bGUtcG9kLW1hbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcG9kICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvcnRmICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGVybSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXBhcmVudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtcGVybGRvYy10b3htbCArPSAicGVybC1tb2R1bGUtcGFyZW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAicGVybC1tb2R1bGUtcG9kLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2VsZWN0ICs9ICJwZXJsLW1vZHVsZS1wb2QtcGFyc2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNlbGVjdCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZGVidWcgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICJwZXJsLW1vZHVsZS10ZXh0LXdyYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWxpbmtzZWN0aW9uICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLWVzY2FwZXMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHJvZ3Jlc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAicGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJ0b2tlbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtY3dkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHRjb250ZW50ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAicGVybC1tb2R1bGUtdGV4dC13cmFwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGUgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1lbmNvZGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS1wb2Qtc2ltcGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXBvZC10ZXh0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtcG9kLXRleHQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtZW5jb2RlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXBvZC1zaW1wbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQgKz0gInBlcmwtbW9kdWxlLXZhcnMiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS1wb2QtdGV4dCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtdGVybS1jYXAiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb2QtdXNhZ2UgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvZC11c2FnZSArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXBvc2l4ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1wb3NpeCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXRlcm0tY2FwIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtcmUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2FmZSArPSAicGVybC1tb2R1bGUtYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLW9wY29kZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNhZmUgKz0gInBlcmwtbW9kdWxlLXV0ZjgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZGJtLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc2RibS1maWxlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNkYm0tZmlsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWFyY2gtZGljdCArPSAicGVybC1tb2R1bGUtZmVhdHVyZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlYXJjaC1kaWN0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zZWxmbG9hZGVyICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNlbGZsb2FkZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXNvY2tldCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zb2NrZXQgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc29ydCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3RvcmFibGUgKz0gInBlcmwtbW9kdWxlLWlvLWZpbGUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdG9yYWJsZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zdWItdXRpbCArPSAicGVybC1tb2R1bGUtbGlzdC11dGlsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3ViLXV0aWwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN1Yi11dGlsICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1ob3N0bmFtZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZHluYWxvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtZmNudGwiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1maWxlLWJhc2VuYW1lIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtcG9zaXgiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zb2NrZXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS1zeXMtaG9zdG5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtc3lzLXN5c2xvZyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS1zeXMtc3lzbG9nICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXN5cy1zeXNsb2cgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWJhc2UgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1iYXNlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtZmlsZS1wYXRoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXBvc2l4IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICJwZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtZm9ybWF0dGVyLXNlc3Npb24gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MtZW52ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRhcC1vYmplY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gInBlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1maWxlLXBhdGgiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtaGFybmVzcyArPSAicGVybC1tb2R1bGUtaW8taGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1vYmplY3QgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICJwZXJsLW1vZHVsZS1iZW5jaG1hcmsiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItYWdncmVnYXRvciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLWZpbGUtYmFzZW5hbWUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gInBlcmwtbW9kdWxlLWlvLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLWlvLXNlbGVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlciArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWJhaWxvdXQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4iCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdW5rbm93biArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3Itc3RyZWFtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAicGVybC1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcmF3dGFwICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gInBlcmwtbW9kdWxlLWJhc2UiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtY29uc3RhbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXdyaXRlciArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlcm0tY2FwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLWNvbXBsZXRlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICJwZXJsLW1vZHVsZS10ZXJtLWNhcCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci1mb3JtYXR0ZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLWRhdGEtZHVtcGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItZm9ybWF0dGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3Rlci1jb2xvciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1idWlsZGVyLXRvZG9kaWFnICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItdG9kb2RpYWcgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1iYXNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1jb25maWciCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1oYXJuZXNzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gInBlcmwtbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtaGFybmVzcyArPSAicGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtbW9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1tb3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtZmlsZS10ZW1wIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC1zaW1wbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXItbW9kdWxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGVzdC1idWlsZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlcnVubmVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LWJ1aWxkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXN0LXRlc3RlciArPSAicGVybC1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRlc3QtdGVzdGVyICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gInBlcmwtbW9kdWxlLXNlbGZsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtcGFyc2V3b3JkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtdGFicyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC10YWJzICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtcmUiCitSREVQRU5EU19wZXJsLW1vZHVsZS10ZXh0LXdyYXAgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRleHQtd3JhcCArPSAicGVybC1tb2R1bGUtdGV4dC10YWJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS12YXJzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGV4dC13cmFwICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtY29uZmlnIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkICs9ICJwZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtcXVldWUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAicGVybC1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGhyZWFkcyArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtYXJyYXkgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1mY250bCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1wb3NpeCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1maWxlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFuZGxlICs9ICJwZXJsLW1vZHVsZS10aWUtc3RkaGFuZGxlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLWhhbmRsZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1oYXNoLW5hbWVkY2FwdHVyZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtaGFzaCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtbWVtb2l6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLW1lbW9pemUgKz0gInBlcmwtbW9kdWxlLXRpZS1oYXNoIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXJlZmhhc2ggKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1vdmVybG9hZCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1yZWZoYXNoICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdGllLWhhc2giCitSREVQRU5EU19wZXJsLW1vZHVsZS10aWUtcmVmaGFzaCArPSAicGVybC1tb2R1bGUtdmFycyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zY2FsYXIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAicGVybC1tb2R1bGUtdGllLWhhbmRsZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpZS1zdWJzdHJoYXNoICs9ICJwZXJsLW1vZHVsZS1pbnRlZ2VyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1nbXRpbWUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtZ210aW1lICs9ICJwZXJsLW1vZHVsZS10aW1lLXRtIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1oaXJlcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWhpcmVzICs9ICJwZXJsLW1vZHVsZS14c2xvYWRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtbG9jYWwgKz0gInBlcmwtbW9kdWxlLWNvbnN0YW50IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbCArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1wYXJlbnQiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1sb2NhbHRpbWUgKz0gInBlcmwtbW9kdWxlLXRpbWUtdG0iCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXBpZWNlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtaW50ZWdlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1waWVjZSArPSAicGVybC1tb2R1bGUtdGltZS1sb2NhbCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtcGllY2UgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXNlY29uZHMgKz0gInBlcmwtbW9kdWxlLW92ZXJsb2FkIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdGltZS1zZWNvbmRzICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS10aW1lLXRtICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWJpZzUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWdiMjMxMiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1nYjIzMTIgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWtvcmVhbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1waW55aW4gKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstcGlueWluICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICJwZXJsLW1vZHVsZS1zdHJpY3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXN0cm9rZSArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXpodXlpbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWxvY2FsZSArPSAicGVybC1tb2R1bGUtYmFzZSIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS1jb25zdGFudCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICJwZXJsLW1vZHVsZS13YXJuaW5ncyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAicGVybC1tb2R1bGUteHNsb2FkZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtZXhwb3J0ZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gInBlcmwtbW9kdWxlLXhzbG9hZGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWNoYXJuYW1lcyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVuaWNvZGUtdWNkICs9ICJwZXJsLW1vZHVsZS1mZWF0dXJlIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWlmIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLWludGVnZXIiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdW5pY29kZS11Y2QgKz0gInBlcmwtbW9kdWxlLXV0ZjgtaGVhdnkiCitSREVQRU5EU19wZXJsLW1vZHVsZS11bmljb2RlLXVjZCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCitSREVQRU5EU19wZXJsLW1vZHVsZS11c2VyLWdyZW50ICs9ICJwZXJsLW1vZHVsZS1leHBvcnRlciIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItZ3JlbnQgKz0gInBlcmwtbW9kdWxlLXN0cmljdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNsYXNzLXN0cnVjdCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWNvbmZpZyIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXVzZXItcHdlbnQgKz0gInBlcmwtbW9kdWxlLWV4cG9ydGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdXNlci1wd2VudCArPSAicGVybC1tb2R1bGUtd2FybmluZ3MiCitSREVQRU5EU19wZXJsLW1vZHVsZS11dGY4ICs9ICJwZXJsLW1vZHVsZS11dGY4LWhlYXZ5IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbiArPSAicGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCIKK1JERVBFTkRTX3BlcmwtbW9kdWxlLXZlcnNpb24gKz0gInBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorUkRFUEVORFNfcGVybC1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAicGVybC1tb2R1bGUtc3RyaWN0IgorUkRFUEVORFNfcGVybC1tb2R1bGUteHNsb2FkZXIgKz0gInBlcmwtbW9kdWxlLWR5bmFsb2FkZXIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvZmlsZXMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcnVuLXB0ZXN0CnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsLXNhbml0eS9maWxlcy9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybC1wdGVzdC5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRkOWI3ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmwtcHRlc3QuaW5jCkBAIC0wLDAgKzEsNTcgQEAKK2luaGVyaXQgcHRlc3QKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICIKK2RvX2luc3RhbGxfcHRlc3QgKCkgeworCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9CisJc2VkIC1lICJzOlwvdXNyXC9sb2NhbDoke2JpbmRpcn06ZyIgLWkgY3Bhbi92ZXJzaW9uL3QvKgorCXNlZCAtZSAiczpcL29wdDpcL3VzcjoiIC1pIFBvcnRpbmcvYWRkLXBhY2thZ2UucGwKKwlzZWQgLWUgInM6XC9sb2NhbFwvZ251XC86XC86IiAtaSBoaW50cy9jeHV4LnNoCisJdGFyIC1jIC0tZXhjbHVkZT10cnkgLS1leGNsdWRlPWEub3V0IC0tZXhjbHVkZT0nKi5vJyAtLWV4Y2x1ZGU9bGlicGVybC5zbyogLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAorCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKKwkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKKwkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCisJICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAorCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAorCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQorCisJbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAorCisJIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KKwlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAorCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAorCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCisJICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCisJICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKKwkgICAgICAgLWUgInMsJHtEfSwsZyIgXAorCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAorCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAorCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCisJICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCisJICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAorCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAorCSAgICAgICAge30gKworCisJICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KKwkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKK30KKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7CisgICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCisgICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCisgICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCisgICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKKyAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksIHInLipcLnQoKScsCisgICAgICAgICAgICAnJHtQTn0tcHRlc3QlcycsICclcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUpCit9CisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICIke1BOfS1tb2R1bGVzICR7UE59LWRvYyBzZWQiCisKKyMgVGhlIHBlcmwtcHRlc3QgcGFja2FnZSBjb250YWlucyBQZXJsIGludGVybmFsIG1vZHVsZXMgYW5kIGdlbmVyYXRpbmcgZmlsZQorIyBkZXBlbmRlbmNpZXMgZm9yIGl0IGNhdXNlcyBwcm9ibGVtcy4KK1NLSVBfRklMRURFUFNfJHtQTn0tcHRlc3QgPSAnMScKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC1zYW5pdHkvcGVybF81LjI4LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM5NDhhNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3Blcmwtc2FuaXR5L3BlcmxfNS4yOC4xLmJiCkBAIC0wLDAgKzEsMzA0IEBACitTVU1NQVJZID0gIlBlcmwgc2NyaXB0aW5nIGxhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wZXJsLm9yZy8iCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJBcnRpc3RpYy0xLjAgfCBHUEwtMS4wKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlpbmc7bWQ1PTViMTIyYTM2ZDBmNmRjNTUyNzlhMGViYzY5ZjNjNjBiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0FydGlzdGljO21kNT03MWE0ZDVkOWFjYzE4YzA5NTJhNmRmMjIxOGJiNjhkYSBcCisgICAgICAgICAgICAgICAgICAgICIKKworCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvcGVybC0ke1BWfS50YXIuZ3o7bmFtZT1wZXJsIFwKKyAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Fyc3YvcGVybC1jcm9zcy9yZWxlYXNlcy9kb3dubG9hZC8xLjIuMi9wZXJsLWNyb3NzLTEuMi4yLnRhci5nejtuYW1lPXBlcmwtY3Jvc3MgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1yZGVwZW5kcy50eHQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmVfdG9vbC5zaC1kby1ub3QtcXVvdGUtdGhlLWFyZ3VtZW50LXRvLWNvbW1hLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTWFrZU1ha2VyLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1iaW5hcnktbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVNvbWVob3ctdGhpcy1tb2R1bGUtYnJlYWtzLXRocm91Z2gtdGhlLXBlcmwtd3JhcHBlci0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZXJybm9fdmVyLmRpZmYgXAorICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wZXJsLWNyb3NzLWFkZC1MREZMQUdTLXdoZW4tbGlua2luZy1saWJwZXJsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BlcmwtZHlubG9hZGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlX3BhdGguc2gtZG8tbm90LWhhcmRjb2RlLXByZWZpeC1saWItYXMtbGlici5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgXAorICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAorIgorCitTUkNfVVJJW3BlcmwubWQ1c3VtXSA9ICI4MzgxOThjNDNkNGYzOWQ3YWY3OTdlMmY1OWMyYmVlNSIKK1NSQ19VUklbcGVybC5zaGEyNTZzdW1dID0gIjNlYmY4NWZlNjVkZjJlZTE2NWIyMjU5NjU0MGI3ZDVkNDJmODRkNGI3MmQ4NDgzNGY3NGUyZTBiODk1NmMzNDciCitTUkNfVVJJW3BlcmwtY3Jvc3MubWQ1c3VtXSA9ICI5YTZjMDU0OTdiZGRlOWEzMTA2ZTNiZTkyNDZmNGRhMSIKK1NSQ19VUklbcGVybC1jcm9zcy5zaGEyNTZzdW1dID0gImU2OTg3ODM4ZjI3ZDhjZDMzNjhlYTY4ZmM1NmE2OGNjNTIzNzE1MDU5NTA5MjdiOGI3YzVjYjc2ZTNhOTRjYWEiCisKK1BSID0gInIxIgorCitTID0gIiR7V09SS0RJUn0vcGVybC0ke1BWfSIKKworaW5oZXJpdCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KKworREVQRU5EUyArPSAiZGIgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCisKK1BFUkxfTElCX1ZFUiA9ICIke0AnLicuam9pbihkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzA6Ml0pfS4wIgorCitkb191bnBhY2tfYXBwZW5kKCkgeworICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygnZG9fY29weV9wZXJsY3Jvc3MnLCBkKQorfQorCitkb19jb3B5X3Blcmxjcm9zcygpIHsKKyAgICBjcCAtcmYgJHtXT1JLRElSfS9wZXJsLWNyb3NzKi8qICR7U30KK30KKworZG9fY29uZmlndXJlX2NsYXNzLXRhcmdldCgpIHsKKyAgICAuL2NvbmZpZ3VyZSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtsaWJkaXJ9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICNwZXJsLmMgdXNlcyBhbiBBUkNITElCX0VYUCBkZWZpbmUgdG8gZ2VuZXJhdGUgY29tcGlsZS10aW1lIGNvZGUgdGhhdAorICAgICNhZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQorICAgICNuZXcgcGVybCBpbnRlcnByZXRlci4KKworICAgICNCZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAorICAgICNwb3NzaWJsZSB0byB1c2UgRXh0VXRpbHM6OkVtYmVkIGluIHRoZSB0YXJnZXQgYnVpbGQgKHRoZSB0ZW1wb3JhcnkKKyAgICAjdmFsdWUgaW4gY29uZmlnLnNoIGdldHMgcmUtc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcpLCB0aGUKKyAgICAjQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgorICAgICNpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBleHBlY3RlZCB2ZXJzaW9uIChpLmUuIGJlY2F1c2VzIGl0J3MgaW4gdGhlCisgICAgI2dlbmVyYXRlZCBjb25maWcuaCwgaXQgZG9lc24ndCBnZXQgc3RyaXBwZWQgb3V0IGR1cmluZyBwYWNrYWdpbmcgbGlrZQorICAgICN0aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCisKKyAgICBzZWQgLWkgLWUgInMsJHtTVEFHSU5HX0xJQkRJUn0sJHtsaWJkaXJ9LGciIGNvbmZpZy5oCit9CisKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtLXRhcmdldD0ke1RBUkdFVF9TWVN9IFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtRGFyY2hsaWJleHA9JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgKKworICAgICMgU2VlIHRoZSBjb21tZW50IGFib3ZlCisgICAgc2VkIC1pIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBjb25maWcuaAorfQorCitkb19jb25maWd1cmVfY2xhc3MtbmF0aXZlKCkgeworICAgIC4vY29uZmlndXJlIC0tcHJlZml4PSR7cHJlZml4fSBcCisgICAgLURiaW49JHtiaW5kaXJ9L3BlcmwtbmF0aXZlIFwKKyAgICAtRHVzZXNocnBsaWIgXAorICAgIC1Ec29uYW1lPWxpYnBlcmwuc28uNSBcCisgICAgLUR2ZW5kb3JwcmVmaXg9JHtwcmVmaXh9IFwKKyAgICAtVWlfeGxvY2FsZQorfQorCitkb19jb21waWxlKCkgeworICAgIG9lX3J1bm1ha2UKK30KKworZG9faW5zdGFsbCgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNQorICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIFNhdmUgbmF0aXZlIGNvbmZpZworICAgIGluc3RhbGwgY29uZmlnLnNoICR7RH0ke2xpYmRpcn0vcGVybDUKKyAgICBpbnN0YWxsIGxpYi9Db25maWcucG0gJHtEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8KKyAgICBpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvCisKKyAgICAjIEZpeCB1cCBzaGFyZWQgbGlicmFyeQorICAgIHJtICR7RH0vJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRS9saWJwZXJsLnNvCisgICAgbG4gLXNmIC4uLy4uLy4uLy4uL2xpYnBlcmwuc28uJHtQRVJMX0xJQl9WRVJ9ICQoZWNobyAke0R9LyR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NPUkUpL2xpYnBlcmwuc28KK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICMgVGhpcyBpcyB1c2VkIHRvIHN1YnN0aXR1dGUgdGFyZ2V0IGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIG5hdGl2ZSBwZXJsIHZpYSBwZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorICAgIGxuIC1zIENvbmZpZ19oZWF2eS5wbCAke0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKKworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisgICAgIyBUaGlzIGlzIHVzZWQgdG8gc3Vic3RpdHV0ZSB0YXJnZXQgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgbmF0aXZlIHBlcmwgdmlhIHBlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCisgICAgbG4gLXMgQ29uZmlnX2hlYXZ5LnBsICR7RH0ke2xpYmRpcn0vcGVybDUvJHtQVn0vJHtUQVJHRVRfQVJDSH0tbGludXgvQ29uZmlnX2hlYXZ5LXRhcmdldC5wbAorCisgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKKyAgICAgICAgUEVSTDVMSUI9JyRQRVJMNUxJQjokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsNS92ZW5kb3JfcGVybC8ke1BWfTokT0VDT1JFX05BVElWRV9TWVNST09ULyR7bGliZGlyX25hdGl2ZXNka30vcGVybDUvJHtQVn0nCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBUaG9zZSB3cmFwcGVycyBtZWFuIHRoYXQgcGVybCBpbnN0YWxsZWQgZnJvbSBzc3RhdGUgKHdoaWNoIG1heSBjaGFuZ2UKKyAgICAjIHBhdGggbG9jYXRpb24pIHdvcmtzIGFuZCB0aGF0IGluIHRoZSBuYXRpdmVzZGsgY2FzZSwgdGhlIFNESyBjYW4gYmUKKyAgICAjIGluc3RhbGxlZCB0byBhIGRpZmZlcmVudCBsb2NhdGlvbiBmcm9tIHRoZSBvbmUgaXQgd2FzIGJ1aWx0IGZvci4KKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3BlcmwtbmF0aXZlL3BlcmwgUEVSTDVMSUI9JyRQRVJMNUxJQjoke1NUQUdJTkdfTElCRElSfS9wZXJsNS9zaXRlX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybDUvJHtQVn0nCisKKyAgICAjIFVzZSAvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybCBmb3IgdGhlIHBlcmwgc2NyaXB0LgorICAgIGZvciBmIGluIGBncmVwIC1JbCAnIyEgKiR7YmluZGlyfS9wZXJsJyAke0R9LyR7YmluZGlyfS8qYDsgZG8KKyAgICAgICAgICAgIHNlZCAtaSAtZSAnc3wke2JpbmRpcn0vcGVybHwvdXNyL2Jpbi9lbnYgbmF0aXZlcGVybHwnICRmCisgICAgZG9uZQorfQorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgorCitwZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisgICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCisgICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCisgICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKKyAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCisgICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAorICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKKyAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAorICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKKyAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCisgICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvY29uZmlnLmggXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9DT1JFL3BlcmwuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NPUkUvcHAuaCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyR7VEFSR0VUX0FSQ0h9LWxpbnV4L0NvbmZpZy5wb2QgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS8ke1RBUkdFVF9BUkNIfS1saW51eC9Db25maWdfaGVhdnkucGwgXAorICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsNS8ke1BWfS9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0ZpbGVDYWNoZS5wbSBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3BvZC8qLnBvZCBcCisgICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaAorfQorCityZXF1aXJlIHBlcmwtcHRlc3QuaW5jCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsLnJlYWwgJHtiaW5kaXJ9L3Blcmwke1BWfSAke2xpYmRpcn0vbGlicGVybC5zbyogXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vQ29uZmlnLnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qL0NvbmZpZ19oZWF2eS10YXJnZXQucGwgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L2NvbmZpZy5zaCBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vc3RyaWN0LnBtIFwKKyAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS93YXJuaW5ncy5wbSBcCisgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vd2FybmluZ3MgXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3ZhcnMucG0gXAorICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1L3NpdGVfcGVybCBcCisgICAgICAgICAgICAgICAiCitSUFJPVklERVNfJHtQTn0gKz0gInBlcmwtbW9kdWxlLXN0cmljdCBwZXJsLW1vZHVsZS12YXJzIHBlcmwtbW9kdWxlLWNvbmZpZyBwZXJsLW1vZHVsZS13YXJuaW5ncyBcCisgICAgICAgICAgICAgICAgICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgorCitGSUxFU18ke1BOfS1zdGF0aWNkZXZfYXBwZW5kID0gIiAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi9DT1JFL2xpYnBlcmwuYSIKKworRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovQ09SRSIKKworRklMRVNfJHtQTn0tZG9jX2FwcGVuZCA9ICIgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L1VuaWNvZGUvQ29sbGF0ZS8qLnR4dCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8ucGFja2xpc3QgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0V4dFV0aWxzL3hzdWJwcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vRW5jb2RlL2VuY29kZS5oIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiCitQQUNLQUdFUyArPSAiJHtQTn0tbWlzYyIKKworRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vKiIKKworUEFDS0FHRVMgKz0gIiR7UE59LXBvZCIKKworRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsNS8ke1BWfS9wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLnBvZCBcCisgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9LyovKi5wb2QgXAorICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNS8ke1BWfS8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybDUvJHtQVn0vKi8qLyovKi5wb2QgXCAKKyAgICAgICAgICAgICAgICAgICIKKworUEFDS0FHRVMgKz0gIiR7UE59LW1vZHVsZS1jcGFuICR7UE59LW1vZHVsZS11bmljb3JlIgorCitGSUxFU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L0NQQU4gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9L3VuaWNvcmUiCisKKyMgQ3JlYXRlIGEgcGVybC1tb2R1bGVzIHBhY2thZ2UgcmVjb21tZW5kaW5nIGFsbCB0aGUgb3RoZXIgcGVybAorIyBwYWNrYWdlcyAoYWN0dWFsbHkgdGhlIG5vbiBtb2R1bGVzIHBhY2thZ2VzIGFuZCBub3QgY3JlYXRlZCB0b28pCitBTExPV19FTVBUWV8ke1BOfS1tb2R1bGVzID0gIjEiCitQQUNLQUdFUyArPSAiJHtQTn0tbW9kdWxlcyAiCisKK1BBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCisKK3B5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKKyAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3Blcmw1LyR7UFZ9JykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInLiovYXV0by8oW14uXSopL1teL10qXC4oc298bGR8aXh8YWwpJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dKilcLnBtJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJ01vZHVsZS8oW15cL10qKVwucG0nLCAnJHtQTn0tbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsIHInTW9kdWxlLyhbXlwvXSopLy4qJywgJyR7UE59LW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCByJy4qbGludXgvKFteXC9dLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgcicoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC8pW15cL10pLiopXC4ocG18cGx8ZTJ4KScsICcke1BOfS1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQorCisgICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCisgICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQorICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KKyAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKKyAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCisKKyAgICAjIFJlYWQgdGhlIHByZS1nZW5lcmF0ZWQgZGVwZW5kZW5jeSBmaWxlLCBhbmQgdXNlIGl0IHRvIHNldCBtb2R1bGUgZGVwZW5kZWNpZXMKKyAgICBmb3IgbGluZSBpbiBvcGVuKGQuZXhwYW5kKCIke1dPUktESVJ9IikgKyAnL3BlcmwtcmRlcGVuZHMudHh0JykucmVhZGxpbmVzKCk6CisgICAgICAgIHNwbGl0bGluZSA9IGxpbmUuc3BsaXQoKQorICAgICAgICBtb2R1bGUgPSBzcGxpdGxpbmVbMF0ucmVwbGFjZSgiUkRFUEVORFNfcGVybCIsICJSREVQRU5EU18ke1BOfSIpCisgICAgICAgIGRlcGVuZHMgPSBzcGxpdGxpbmVbMl0uc3RyaXAoJyInKS5yZXBsYWNlKCJwZXJsLW1vZHVsZSIsICIke1BOfS1tb2R1bGUiKQorICAgICAgICBkLmFwcGVuZFZhcihkLmV4cGFuZChtb2R1bGUpLCAiICIgKyBkZXBlbmRzKQorfQorCitQQUNLQUdFU19EWU5BTUlDX2NsYXNzLXRhcmdldCArPSAiXnBlcmwtbW9kdWxlLS4qIgorUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgKz0gIl5uYXRpdmVzZGstcGVybC1tb2R1bGUtLioiCisKK1JERVBFTkRTXyR7UE59LW1pc2MgKz0gInBlcmwgcGVybC1tb2R1bGVzIgorUkRFUEVORFNfJHtQTn0tcG9kICs9ICJwZXJsIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCisKK2RvX2NyZWF0ZV9yZGVwZW5kc19pbmMoKSB7CisgICAgY2QgJHtXT1JLRElSfQorICAgIGNhdCA8PCdFT1BSRUFNQkxFJyA+ICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5pbmMKKworIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCitSREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgorCisjIEdlbmVyYXRlZCBkZXBlbmRzIGxpc3QgYmV5b25kIHRoaXMgbGluZQorRU9QUkVBTUJMRQorICAgIHRlc3QgLWUgcGFja2FnZXMtc3BsaXQubmV3ICYmIHJtIC1yZiBwYWNrYWdlcy1zcGxpdC5uZXcKKyAgICBjcCAtciBwYWNrYWdlcy1zcGxpdCBwYWNrYWdlcy1zcGxpdC5uZXcgJiYgY2QgcGFja2FnZXMtc3BsaXQubmV3CisgICAgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKKyAgICBlZ3JlcCAtciAiXlxzKihcPHVzZSAuKnxcPHJlcXVpcmUgLiopOz8iIHBlcmwtbW9kdWxlLSogLS1pbmNsdWRlPSIqLnBtIiB8IFwKKyAgICBzZWQgInMvXC8uKlwucG06ICovICs9IC9nO3MvW1wiXCddLy9nO3MvOy4qL1wiL2c7cy8rPSAuKlwocmVxdWlyZVx8dXNlXClcPiAqLys9IFwicGVybC1tb2R1bGUtL2c7cy9DUEFOUExVUzo6LiovY3BhbnBsdXMvZztzL0NQQU46Oi4qL2NwYW4vZztzLzo6Ly0vZztzLyBbXitcIl0uKi8vZztzL18vLS9nO3MvXC5wbFwiJC9cIi87cy9cIlw/XCQvXCIvO3MvKC8vOyIgfCB0ciBbOnVwcGVyOl0gWzpsb3dlcjpdIHwgXAorICAgIGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nfCBcCisgICAgZ3JlcCAtdiAtZSAiXC12bXNcLSIgLWUgbW9kdWxlLTUgLWUgIl4kIiAtZSAiXFwkIiAtZSB5b3VyIC1lIHRrIC1lIGF1dG9wZXJsIC1lIGh0bWwgLWUgaHR0cCAtZSBwYXJzZS1jcGFuIC1lIHBlcmwtb3N0eXBlIC1lIG5kYm0tZmlsZSAtZSBtb2R1bGUtbWFjIC1lIGZjZ2kgLWUgbHdwIC1lIGRiZCAtZSBkYml4IHwgXAorICAgIHNvcnQgLXUgfCBcCisgICAgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgfCBcCisgICAgZWdyZXAgLXd2ICc9Pnxtb2R1bGUtYXxtb2R1bGUtYXBhY2hlLj98bW9kdWxlLWFwcnxtb2R1bGUtYXV0aGVuLXNhc2x8bW9kdWxlLWItYXNtZGF0YXxtb2R1bGUtY29udmVydC1lYmNkaWN8bW9kdWxlLWRldmVsLXNpemV8bW9kdWxlLWRpZ2VzdC1wZXJsLW1kNXxtb2R1bGUtZHVtcHZhbHVlfG1vZHVsZS1leHR1dGlscy1jb25zdGFudC1hYWFyZ2g1Nmhhc2h8bW9kdWxlLWV4dHV0aWxzLXhzc3ltc2V0fG1vZHVsZS1maWxlLWJzZGdsb2J8bW9kdWxlLWZvcnxtb2R1bGUtaXR8bW9kdWxlLWlvLXNvY2tldC1pbmV0Nnxtb2R1bGUtaW8tc29ja2V0LXNzbHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRlc3QyfG1vZHVsZS10ZXh0LXVuaWRlY29kZXxtb2R1bGUtdW5pY29yZXxtb2R1bGUtd2luMzJ8b2JqZWN0c1xzbG9hZHxzeXNjYWxsLnBofHN5c3RlbWluZm8ucGh8JXMnIHwgXAorICAgIGVncmVwIC13diAnPT58bW9kdWxlLWFsZ29yaXRobS1kaWZmfG1vZHVsZS1jYXJwfG1vZHVsZS1jPGV4dHV0aWxzLW1tLXVuaXg+fG1vZHVsZS1lbmNvZGUtaGFuZXh0cmF8bW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci12ZXJzaW9uLXJlZ2V4fG1vZHVsZS1maWxlLXNwZWN8bW9kdWxlLWlvLWNvbXByZXNzLWx6bWF8bW9kdWxlLWxvY2FsZS1tYWtldGV4dC1sZXhpY29ufG1vZHVsZS1sb2ctYWdlbnR8bW9kdWxlLW1ldGEtbm90YXRpb258bW9kdWxlLW5ldC1sb2NhbGNmZ3xtb2R1bGUtbmV0LXBpbmctZXh0ZXJuYWx8bW9kdWxlLWItZGVwYXJzZXxtb2R1bGUtc2NhbGFyLXV0aWx8bW9kdWxlLXNvbWUtbW9kdWxlfG1vZHVsZS1zeW1ib2x8bW9kdWxlLXVyaXxtb2R1bGUtd2luMzJhcGktZmlsZScgPj4gJHtXT1JLRElSfS9wZXJsLXJkZXBlbmRzLmdlbmVyYXRlZAorICAgIGNwICR7V09SS0RJUn0vcGVybC1yZGVwZW5kcy5nZW5lcmF0ZWQgJHtUSElTRElSfS9maWxlcy9wZXJsLXJkZXBlbmRzLnR4dAorfQorCisjIGJpdGJha2UgcGVybCAtYyBjcmVhdGVfcmRlcGVuZHNfaW5jCithZGR0YXNrIGRvX2NyZWF0ZV9yZGVwZW5kc19pbmMKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJwZXJsX3N5c3Jvb3RfY3JlYXRlX3dyYXBwZXIiCisKK3Blcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciAoKSB7CisgICAgICAgbWtkaXIgLXAgJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9CisgICAgICAgIyBDcmVhdGUgYSB3cmFwcGVyIHRoYXQgL3Vzci9iaW4vZW52IHBlcmwgd2lsbCB1c2UgdG8gZ2V0IHBlcmwtbmF0aXZlLgorICAgICAgICMgVGhpcyBNVVNUIGxpdmUgaW4gdGhlIG5vcm1hbCBiaW5kaXIuCisgICAgICAgY2F0ID4gJHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L25hdGl2ZXBlcmwgPDwgRU9GCisjIS9iaW4vc2gKK3JlYWxwYXRoPVxgcmVhZGxpbmsgLWZuIFwkMFxgCitleGVjIFxgZGlybmFtZSBcJHJlYWxwYXRoXGAvcGVybC1uYXRpdmUvcGVybCAiXCRAIgorRU9GCisgICAgICAgY2htb2QgMDc1NSAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorICAgICAgIGNhdCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vbmF0aXZlcGVybAorfQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjQyYjQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvbGliZXJyb3ItcGVybF8wLjE3MDI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgotREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAotRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKLVNlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAotZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgotCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04ZjM0OTlkMDllZTc0YTA1MGMwMzE5MzkxZmY5ZDEwMCIKLQotREVQRU5EUyArPSAicGVybCIKLQotU1JDX1VSSSA9ICJodHRwOi8vY3Bhbi5tZXRhY3Bhbi5vcmcvYXV0aG9ycy9pZC9TL1NIL1NITE9NSUYvRXJyb3ItJHtQVn0udGFyLmd6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGRjZDk0NjQwZjYxN2RmMDJiNmQ2YzFlNGU5MjAxOGMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzc1OTBhOTYyY2Q3M2FlMDM0NzBlMWZmMTY0NTlhNmNiYzUyNzNmYzU3NjI2Yjg5ODFkYWI5YzI0MzMxNTVkOSIKLQotUyA9ICIke1dPUktESVJ9L0Vycm9yLSR7UFZ9IgotCi1pbmhlcml0IGNwYW4gcHRlc3QtcGVybAotCi1kb19jb21waWxlKCkgewotCWV4cG9ydCBMSUJDPSIkKGZpbmQgJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9LyAtbmFtZSAnbGliYy0qLnNvJykiCi0JY3Bhbl9kb19jb21waWxlCi19Ci0KLWRvX2luc3RhbGxfcHJlcGVuZCgpIHsKLQkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KLQlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Ci19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL2xpYmVycm9yLXBlcmxfMC4xNzAyNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjFmNmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9saWJlcnJvci1wZXJsXzAuMTcwMjcuYmIKQEAgLTAsMCArMSw0NyBAQAorU1VNTUFSWSA9ICJFcnJvciAtIEVycm9yL2V4Y2VwdGlvbiBoYW5kbGluZyBpbiBhbiBPTy1pc2ggd2F5IgorREVTQ1JJUFRJT04gPSAiVGhlIEVycm9yIHBhY2thZ2UgcHJvdmlkZXMgdHdvIGludGVyZmFjZXMuIEZpcnN0bHkgXAorRXJyb3IgcHJvdmlkZXMgYSBwcm9jZWR1cmFsIGludGVyZmFjZSB0byBleGNlcHRpb24gaGFuZGxpbmcuIFwKK1NlY29uZGx5IEVycm9yIGlzIGEgYmFzZSBjbGFzcyBmb3IgZXJyb3JzL2V4Y2VwdGlvbnMgdGhhdCBjYW4gXAorZWl0aGVyIGJlIHRocm93biwgZm9yIHN1YnNlcXVlbnQgY2F0Y2gsIG9yIGNhbiBzaW1wbHkgYmUgcmVjb3JkZWQuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL3NobG9taWYvcGVybC1lcnJvci5wbSIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiQXJ0aXN0aWMtMS4wIHwgR1BMLTEuMCsiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThmMzQ5OWQwOWVlNzRhMDUwYzAzMTkzOTFmZjlkMTAwIgorCitERVBFTkRTICs9ICJwZXJsIgorCitSREVQRU5EU18ke1BOfSArPSAiIFwKKyAgICBwZXJsLW1vZHVsZS1jYXJwIFwKKyAgICBwZXJsLW1vZHVsZS1leHBvcnRlciBcCisgICAgcGVybC1tb2R1bGUtc2NhbGFyLXV0aWwgXAorICAgIHBlcmwtbW9kdWxlLW92ZXJsb2FkIFwKKyAgICBwZXJsLW1vZHVsZS1zdHJpY3QgXAorICAgIHBlcmwtbW9kdWxlLXZhcnMgXAorICAgIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKKyIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiBcCisgICAgcGVybC1tb2R1bGUtYmFzZSBcCisgICAgcGVybC1tb2R1bGUtZmlsZS1zcGVjIFwKKyAgICBwZXJsLW1vZHVsZS1pby1oYW5kbGUgXAorICAgIHBlcmwtbW9kdWxlLWlwYy1vcGVuMyBcCisgICAgcGVybC1tb2R1bGUtbGliIFwKKyAgICBwZXJsLW1vZHVsZS10ZXN0LW1vcmUgXAorIgorCitTUkNfVVJJID0gImh0dHA6Ly9jcGFuLm1ldGFjcGFuLm9yZy9hdXRob3JzL2lkL1MvU0gvU0hMT01JRi9FcnJvci0ke1BWfS50YXIuZ3oiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0ZWY5YjI4OTBmYjE0NGQ4MDQ1MjdiYTMyNTczZGQ1NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwN2IyYWM4Mjc1ZGZhMDQxNDQ3NDVhNmMxOTAwYTU5NjI4MGY4NjJiOTdkMjJiYWIwYzVjZTAyNjgyZWJkM2JlIgorCitTID0gIiR7V09SS0RJUn0vRXJyb3ItJHtQVn0iCisKK2luaGVyaXQgY3BhbiBwdGVzdC1wZXJsCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwkjIHRlc3QgcmVxdWlyZXMgIi1UIiAodGFpbnQpIGNvbW1hbmQgbGluZSBvcHRpb24KKwlybSAtcmYgJHtCfS90L3BvZC1jb3ZlcmFnZS50Cit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtbmF0aXZlXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODFkM2ZkNDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLW5hdGl2ZV81LjI0LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNDAgKzAsMCBAQAotcmVxdWlyZSBwZXJsLmluYwotCi0jIFdlIG5lZWQgZ251Z3JlcCAoZm9yIC1JKQotREVQRU5EUyA9ICJkYi1uYXRpdmUgZ3JlcC1uYXRpdmUgZ2RibS1uYXRpdmUgemxpYi1uYXRpdmUiCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi1TUkNfVVJJICs9ICJcCi0gICAgICAgICAgIGZpbGU6Ly9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1jb25maWdwbS1zd2l0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLW5vcGFja2xpc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbmF0aXZlLXBlcmxpbmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTU1fVW5peC5wbS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWJpYW4vZXJybm9fdmVyLmRpZmYgXAotICAgICAgICAgICBmaWxlOi8vZHluYWxvYWRlcmhhY2sucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcGVybC1QYXRoVG9vbHMtZG9uLXQtZmlsdGVyLW91dC1ibGliLWZyb20tSU5DLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wZXJsLTUuMjYuMS1ndWFyZF9vbGRfbGliY3J5cHRfZml4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRXh0VXRpbHMtTU1fVW5peC5wbS1maXgtcmFjZS1pc3N1ZXMucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA0NjIyYmM0ZDM5NDFkYzdlYjU3MWM1MmI3YzAyOTkzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdmMDgwMjg3ZmY2NDc1MDI3MDY4OTg0M2FlOTQ1ZjAyMTU5YTMzY2I4ZjJmYzkxMDI0OGMxNWJlZmJhNWRiODQiCi0KLWluaGVyaXQgbmF0aXZlCi0KLU5BVElWRV9QQUNLQUdFX1BBVEhfU1VGRklYID0gIi8ke1BOfSIKLQotZXhwb3J0IExEPSIke0NDTER9IgotCi1kb19jb25maWd1cmUgKCkgewotCS4vQ29uZmlndXJlIFwKLQkJLURjYz0iJHtDQ30iIFwKLQkJLURjZmxhZ3M9IiR7Q0ZMQUdTfSIgXAotCQktRGxkZmxhZ3M9IiR7TERGTEFHU30iIFwKLQkJLURsZGRsZmxhZ3M9IiR7TERGTEFHU30gLXNoYXJlZCIgXAotCQktRGNmX2J5PSJPcGVuIEVtYmVkZGVkIiBcCi0JCS1EcHJlZml4PSR7cHJlZml4fSBcCi0JCS1EdmVuZG9ycHJlZml4PSR7cHJlZml4fSBcCi0JCS1Ec2l0ZXByZWZpeD0ke3ByZWZpeH0gXAotCQlcCi0JCS1EYmluPSR7U1RBR0lOR19CSU5ESVJ9LyR7UE59IFwKLQkJLURwcml2bGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvJHtQVn0gXAotCQktRGFyY2hsaWI9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfSBcCi0JCS1EdmVuZG9ybGliPSR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn0gXAotCQktRHZlbmRvcmFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC92ZW5kb3JfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWxpYj0ke1NUQUdJTkdfTElCRElSfS9wZXJsL3NpdGVfcGVybC8ke1BWfSBcCi0JCS1Ec2l0ZWFyY2g9JHtTVEFHSU5HX0xJQkRJUn0vcGVybC9zaXRlX3BlcmwvJHtQVn0gXAotCQlcCi0JCS1EdXNlc2hycGxpYiBcCi0JCS1EdXNldGhyZWFkcyBcCi0JCS1EdXNlaXRocmVhZHMgXAotCQktRHVzZWxhcmdlZmlsZXMgXAotCQktRG5vZXh0ZW5zaW9ucz1PREJNX0ZpbGUgXAotCQktVWRfZG9zdWlkIFwKLQkJLVVpX2RiIFwKLQkJLVVpX25kYm0gXAotCQktVWlfZ2RibSBcCi0JCS1VaV9nZGJtX25kYm0gXAotCQktVWlfZ2RibW5kYm0gXAotCQktRGlfc2hhZG93IFwKLQkJLURpX3N5c2xvZyBcCi0JCS1EdXNlcGVybGlvIFwKLQkJLURtYW4zZXh0PTNwbSBcCi0JCS1Ec2VkPS9iaW4vc2VkIFwKLQkJLVVhZnMgXAotCQktVWRfY3NoIFwKLQkJLVV1c2VzZmlvIFwKLQkJLVV1c2VubSAtZGVzCi19Ci0KLWRvX2luc3RhbGwgKCkgewotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbAotCi0JIyBXZSBuZWVkIGEgaG9zdHBlcmwgbGluayBmb3IgYnVpbGRpbmcgcGVybAotCWxuIC1zZiBwZXJsJHtQVn0gJHtEfSR7YmluZGlyfS9ob3N0cGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0ke2xpYmRpcn0vcGVybDUKLQotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUgXAotCSAgICAgICAgICAgJHtEfSR7ZGF0YWRpcn0vcGVybC8ke1BWfS9FeHRVdGlscwotCi0JIyBTYXZlIG5hdGl2ZSBjb25maWcgCi0JaW5zdGFsbCBjb25maWcuc2ggJHtEfSR7bGliZGlyfS9wZXJsCi0JaW5zdGFsbCBsaWIvQ29uZmlnLnBtICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS8KLQlpbnN0YWxsIGxpYi9FeHRVdGlscy90eXBlbWFwICR7RH0ke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy8KLQotCSMgcGVybCBzaGFyZWQgbGlicmFyeSBoZWFkZXJzCi0JIyByZWZlcmVuY2UgcGVybCA1LjIwLjAtMSBpbiBkZWJpYW46Ci0JIyBodHRwczovL3BhY2thZ2VzLmRlYmlhbi5vcmcvZXhwZXJpbWVudGFsL2kzODYvcGVybC9maWxlbGlzdAotCWZvciBpIGluIGF2LmggYml0Y291bnQuaCBjaGFyY2xhc3NfaW52bGlzdHMuaCBjb25maWcuaCBjb3AuaCBjdi5oIGRvc2lzaC5oIFwKLQkJZW1iZWQuaCBlbWJlZHZhci5oIEVYVEVSTi5oIGZha2VzZGlvLmggZmVhdHVyZS5oIGZvcm0uaCBnaXRfdmVyc2lvbi5oIFwKLQkJZ3YuaCBoYW5keS5oIGh2X2Z1bmMuaCBodi5oIGlubGluZS5oIElOVEVSTi5oIGludHJwdmFyLmggaXBlcmxzeXMuaCBcCi0JCWtleXdvcmRzLmggbDFfY2hhcl9jbGFzc190YWIuaCBtYWxsb2NfY3RsLmggbWV0YWNvbmZpZy5oIG1nX2RhdGEuaCBcCi0JCW1nLmggbWdfcmF3LmggbWdfdnRhYmxlLmggbXlkdHJhY2UuaCBub3N0ZGlvLmggb3Bjb2RlLmggb3AuaCBcCi0JCW9wbmFtZXMuaCBvcF9yZWdfY29tbW9uLmggb3ZlcmxvYWQuaCBwYWQuaCBwYXJzZXIuaCBwYXRjaGxldmVsLmggXAotCQlwZXJsYXBpLmggcGVybC5oIHBlcmxpby5oIHBlcmxpb2wuaCBwZXJsc2Rpby5oIHBlcmx2YXJzLmggcGVybHkuaCBcCi0JCXBwLmggcHBfcHJvdG8uaCBwcm90by5oIHJlZW50ci5oIHJlZ2NoYXJjbGFzcy5oIHJlZ2NvbXAuaCByZWdleHAuaCBcCi0JCXJlZ25vZGVzLmggc2NvcGUuaCBzdi5oIHRocmVhZC5oIHRpbWU2NF9jb25maWcuaCB0aW1lNjQuaCB1Y29uZmlnLmggXAotCQl1bmljb2RlX2NvbnN0YW50cy5oIHVuaXhpc2guaCB1dGY4LmggdXRmZWJjZGljLmggdXRpbC5oIHV1ZG1hcC5oIFwKLQkJdnV0aWwuaCB3YXJuaW5ncy5oIFhTVUIuaAotCWRvCi0JCWluc3RhbGwgJGkgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUKLQlkb25lCi0KLQkjIFRob3NlIHdyYXBwZXJzIG1lYW4gdGhhdCBwZXJsIGluc3RhbGxlZCBmcm9tIHNzdGF0ZSAod2hpY2ggbWF5IGNoYW5nZQotCSMgcGF0aCBsb2NhdGlvbikgd29ya3MgYW5kIHRoYXQgaW4gdGhlIG5hdGl2ZXNkayBjYXNlLCB0aGUgU0RLIGNhbiBiZQotCSMgaW5zdGFsbGVkIHRvIGEgZGlmZmVyZW50IGxvY2F0aW9uIGZyb20gdGhlIG9uZSBpdCB3YXMgYnVpbHQgZm9yLgotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vcGVybCBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3Blcmwke1BWfSBQRVJMNUxJQj0nJFBFUkw1TElCOiR7U1RBR0lOR19MSUJESVJ9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiR7U1RBR0lOR19MSUJESVJ9L3BlcmwvdmVuZG9yX3BlcmwvJHtQVn06JHtTVEFHSU5HX0xJQkRJUn0vcGVybC8ke1BWfScKLQotCSMgVXNlIC91c3IvYmluL2VudiBuYXRpdmVwZXJsIGZvciB0aGUgcGVybCBzY3JpcHQuCi0JZm9yIGYgaW4gYGdyZXAgLUlsICcjISAqJHtiaW5kaXJ9L3BlcmwnICR7RH0vJHtiaW5kaXJ9LypgOyBkbwotCQlzZWQgLWkgLWUgJ3N8JHtiaW5kaXJ9L3Blcmx8L3Vzci9iaW4vZW52IG5hdGl2ZXBlcmx8JyAkZgotCWRvbmUKLQotCSMgVGhlIHBhY2tsaXN0IGlzIGxhcmdlIHdpdGggaGFyZGNvZGVkIHBhdGhzIG1lYW5pbmcgaXQgbmVlZHMgcmVsb2NhdGluZwotCSMgc28ganVzdCByZW1vdmUgaXQuCi0Jcm0gJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9Ly5wYWNrbGlzdAotfQotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfc3lzcm9vdF9jcmVhdGVfd3JhcHBlciIKLQotcGVybF9zeXNyb290X2NyZWF0ZV93cmFwcGVyICgpIHsKLQlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KLQkjIENyZWF0ZSBhIHdyYXBwZXIgdGhhdCAvdXNyL2Jpbi9lbnYgcGVybCB3aWxsIHVzZSB0byBnZXQgcGVybC1uYXRpdmUuCi0JIyBUaGlzIE1VU1QgbGl2ZSBpbiB0aGUgbm9ybWFsIGJpbmRpci4KLQljYXQgPiAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0vLi4vbmF0aXZlcGVybCA8PCBFT0YKLSMhL2Jpbi9zaAotcmVhbHBhdGg9XGByZWFkbGluayAtZm4gXCQwXGAKLWV4ZWMgXGBkaXJuYW1lIFwkcmVhbHBhdGhcYC9wZXJsLW5hdGl2ZS9wZXJsICJcJEAiCi1FT0YKLQljaG1vZCAwNzU1ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi0JY2F0ICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS8uLi9uYXRpdmVwZXJsCi19Ci0KLSMgRml4IHRoZSBwYXRoIGluIHNzdGF0ZQotU1NUQVRFX1NDQU5fRklMRVMgKz0gIioucG0gKi5wb2QgKi5oICoucGwgKi5zaCIKLQotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmUgPSAiXnBlcmwtbW9kdWxlLS4qbmF0aXZlJCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcHRlc3QuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDQ2NDQ4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1wdGVzdC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1pbmhlcml0IHB0ZXN0Ci0KLVNSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAiCi1kb19pbnN0YWxsX3B0ZXN0ICgpIHsKLQlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfQotCXNlZCAtZSAiczpcL3VzclwvbG9jYWw6JHtiaW5kaXJ9OmciIC1pIGNwYW4vdmVyc2lvbi90LyoKLQlzZWQgLWUgInM6XC9vcHQ6XC91c3I6IiAtaSBQb3J0aW5nL2FkZC1wYWNrYWdlLnBsCi0Jc2VkIC1lICJzOlwvbG9jYWxcL2dudVwvOlwvOiIgLWkgaGludHMvY3h1eC5zaAotCXRhciAtYyAtLWV4Y2x1ZGU9JyoubycgLS1leGNsdWRlPWxpYnBlcmwuc28gLS1leGNsdWRlPU1ha2VmaWxlIC0tZXhjbHVkZT1tYWtlZmlsZSAtLWV4Y2x1ZGU9aG9zdHBlcmwgXAotCSAgICAtLWV4Y2x1ZGU9Y3lnd2luIC0tZXhjbHVkZT1vczIgLS1leGNsdWRlPWRqZ3BwIC0tZXhjbHVkZT1xbnggLS1leGNsdWRlPXN5bWJpYW4gLS1leGNsdWRlPWhhaWt1IFwKLQkgICAgLS1leGNsdWRlPXZtcyAtLWV4Y2x1ZGU9dm9zIC0tZXhjbHVkZT1OZXRXYXJlIC0tZXhjbHVkZT1hbWlnYW9zNCAgLS1leGNsdWRlPWJ1aWxkY3VzdG9taXplLnBsIFwKLQkgICAgLS1leGNsdWRlPSd3aW4zMi9jb25maWcuKicgLS1leGNsdWRlPXBsYW45IC0tZXhjbHVkZT1SRUFETUUucGxhbjkgLS1leGNsdWRlPXBlcmxwbGFuOS5wb2QgLS1leGNsdWRlPUNvbmZpZ3VyZSBcCi0JICAgIC0tZXhjbHVkZT12ZXJ5Y2xlYW4uc2ggLS1leGNsdWRlPXJlYWxjbGVhbi5zaCAgLS1leGNsdWRlPWdldGlvY3Rsc2l6ZXMgXAotCSAgICAtLWV4Y2x1ZGU9ZGxfYWl4LnhzIC0tZXhjbHVkZT1zZGJtLjMgLS1leGNsdWRlPSdjZmxhZ3MuU0gnIC0tZXhjbHVkZT1tYWtlZmlsZS5vbGQgXAotCQktLWV4Y2x1ZGU9bWluaXBlcmwgLS1leGNsdWRlPWdlbmVyYXRlX3V1ZG1hcCAtLWV4Y2x1ZGU9cGF0Y2hlcyAqIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXggKQotCi0JbG4gLXNmICR7YmluZGlyfS9wZXJsICR7RH0ke1BURVNUX1BBVEh9L3QvcGVybAotCi0JIyBSZW1vdmUgYnVpbGQgaG9zdCByZWZlcmVuY2VzIGZyb20gdmFyaW91cyBzY2F0dGVyZWQgZmlsZXMuLi4KLQlmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgXAotCSAgICAgXCggLW5hbWUgJyouUEwnIC1vIC1uYW1lICdteWNvbmZpZycgLW8gLW5hbWUgJ2NmbGFncycgLW8gLW5hbWUgJyoucGwnIC1vIC1uYW1lICcqLnNoJyAtbyAtbmFtZSAnKi5wbScgXAotCSAgICAgLW8gLW5hbWUgJ2gyeHMnIC1vIC1uYW1lICdoMnBoJyBcCi0JICAgICAtbyAtbmFtZSAnKi5oJyAtbyAtbmFtZSAnY29uZmlnLnNoLSonIC1vIC1uYW1lICdwb2QybWFuJyAgLW8gLW5hbWUgJ3BvZDJ0ZXh0JyBcKSBcCi0JICAgIC10eXBlIGYgLWV4ZWMgc2VkIC1pIFwKLQkgICAgICAgLWUgInMsJHtEfSwsZyIgXAotCSAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotCSAgICAgICAtZSAicywtaXN5c3RlbSR7U1RBR0lOR19JTkNESVJ9ICwsZyIgXAotCSAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS8sJHtiaW5kaXJ9LyxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJ9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19JTkNESVJ9LCR7aW5jbHVkZWRpcn0sZyIgXAotCSAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vLCxnIiBcCi0JICAgICAgIC1lICJzLCR7U1RBR0lOR19CSU5ESVJfVE9PTENIQUlOfS8ke1RBUkdFVF9QUkVGSVh9LCR7YmluZGlyfSxnIiBcCi0JICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCSAgICAgICAge30gKwotCi0JICMgUmVtb3ZlIGEgdXNlbGVzcyB0aW1lc3RhbXAuLi4KLQkgc2VkIC1pIC1lICcvQXV0b2dlbmVyYXRlZCBzdGFydGluZyBvbi9kJyAke0R9JHtQVEVTVF9QQVRIfS9saWIvdW5pY29yZS9ta3RhYmxlcy5sc3QKLX0KLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7Ci0gICAgIyBQdXQgYWxsICoudCBmaWxlcyBmcm9tIHRoZSBsaWIgZGlyIGluIHRoZSBwdGVzdCBwYWNrYWdlCi0gICAgIyBkb19zcGxpdF9wYWNrYWdlcyByZXF1aXJlcyBhIHBhaXIgb2YgKCkgaW4gdGhlIHJlZ2V4LCBidXQgd2UgaGF2ZSBub3RoaW5nCi0gICAgIyB0byBtYXRjaCwgc28gdXNlIGFuIGVtcHR5IHBhaXIuCi0gICAgaWYgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsIFRydWUsIEZhbHNlLCBkKToKLSAgICAgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZC5leHBhbmQoJyR7bGliZGlyfS9wZXJsLyR7UFZ9JyksICcuKlwudCgpJywKLSAgICAgICAgICAgICcke1BOfS1wdGVzdCVzJywgJyVzJywgcmVjdXJzaXZlPVRydWUsIG1hdGNoX3BhdGg9VHJ1ZSkKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIiR7UE59LW1vZHVsZXMgJHtQTn0tZG9jICR7UE59LW1pc2Mgc2VkIgotCi0jIFRoZSBwZXJsLXB0ZXN0IHBhY2thZ2UgY29udGFpbnMgUGVybCBpbnRlcm5hbCBtb2R1bGVzIGFuZCBnZW5lcmF0aW5nIGZpbGUKLSMgZGVwZW5kZW5jaWVzIGZvciBpdCBjYXVzZXMgcHJvYmxlbXMuCi1TS0lQX0ZJTEVERVBTXyR7UE59LXB0ZXN0ID0gJzEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwtcmRlcGVuZHNfNS4yNC40LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMGUzYzA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC1yZGVwZW5kc181LjI0LjQuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMjU3NSArMCwwIEBACi0jIFRvIGNyZWF0ZS91cGRhdGUgdGhlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jIHVzZSB0aGlzIHBpZWNlIG9mIHVnbHkgc2NyaXB0IChtb2RpZmllZCBmb3IgeW91ciBhcmNoL3BhdGhzIGV0Yyk6Ci0KLSNqaWFob25neHU6NS4yMC4wLXIxJCBwd2QKLSMvaG9tZS9qaWFob25neHUveW9jdG8vYnVpbGQtMjAxNDA2MTgtcGVybC90bXAvd29yay9pNTg2LXBva3ktbGludXgvcGVybC81LjIwLjAtcjEKLQotIzEgY3AgLXIgcGFja2FnZXMtc3BsaXQgcGFja2FnZXMtc3BsaXQubmV3ICYmIGNkIHBhY2thZ2VzLXNwbGl0Lm5ldwotIzIgZmluZCAuIC1uYW1lIFwqLnBtIHwgeGFyZ3Mgc2VkIC1pICcvXj1oZWFkLywvXj1jdXQvZCcKLSMzIGVncmVwIC1yICJeXHMqKFw8dXNlIC4qfFw8cmVxdWlyZSAuKik7PyIgcGVybC1tb2R1bGUtKiAtLWluY2x1ZGU9IioucG0iIAotI3wgc2VkICJzL1wvLipcLnBtOiAqLyArPSAvZztzL1tcIlwnXS8vZztzLzsuKi9cIi9nO3MvKz0gLipcKHJlcXVpcmVcfHVzZVwpXD4gKi8rPSBcInBlcmwtbW9kdWxlLS9nO3MvQ1BBTlBMVVM6Oi4qL2NwYW5wbHVzL2c7cy9DUEFOOjouKi9jcGFuL2c7cy86Oi8tL2c7cy8gW14rXCJdLiovL2c7cy9fLy0vZztzL1wucGxcIiQvXCIvO3MvXCJcP1wkL1wiLztzLygvLzsiIHwgdHIgWzp1cHBlcjpdIFs6bG93ZXI6XSAKLSN8IGF3ayAne2lmICgkMyAhPSAiXHgyMiIkMSJceDIyIil7IHByaW50ICQwfX0nCi0jfCBncmVwIC12IC1lICJcLXZtc1wtIiAtZSBtb2R1bGUtNSAtZSAiXiQiIC1lICJcXCQiIC1lIHlvdXIgLWUgdGsgLWUgYXV0b3BlcmwgLWUgaHRtbCAtZSBodHRwIC1lIHBhcnNlLWNwYW4gLWUgcGVybC1vc3R5cGUgLWUgbmRibS1maWxlIC1lIG1vZHVsZS1tYWMgLWUgZmNnaSAtZSBsd3AgLWUgZGJkIC1lIGRiaXggCi0jfCBzb3J0IC11IAotI3wgc2VkICdzL14vUkRFUEVORFNfLztzL3BlcmwtbW9kdWxlLS8ke1BOfS1tb2R1bGUtL2c7cy9tb2R1bGUtXChtb2R1bGUtXCkvXDEvZztzL1wobW9kdWxlLWxvYWRcKS1jb25kaXRpb25hbC9cMS9nO3MvZW5jb2RlLWNvbmZpZ2xvY2FsLyYtcG0vOycgCi0jfCBlZ3JlcCAtd3YgJz0+fG1vZHVsZS1hfG1vZHVsZS1hcGFjaGUuP3xtb2R1bGUtYXByfG1vZHVsZS1hdXRoZW4tc2FzbHxtb2R1bGUtYi1hc21kYXRhfG1vZHVsZS1jb252ZXJ0LWViY2RpY3xtb2R1bGUtZGV2ZWwtc2l6ZXxtb2R1bGUtZGlnZXN0LXBlcmwtbWQ1fG1vZHVsZS1kdW1wdmFsdWV8bW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWFhYXJnaDU2aGFzaHxtb2R1bGUtZXh0dXRpbHMteHNzeW1zZXR8bW9kdWxlLWZpbGUtYnNkZ2xvYnxtb2R1bGUtZm9yfG1vZHVsZS1pdHxtb2R1bGUtaW8tc3RyaW5nfG1vZHVsZS1pcGMtc3lzdGVtLXNpbXBsZXxtb2R1bGUtbGV4aWNhbHxtb2R1bGUtbG9jYWwtbGlifG1ldGFkYXRhfG1vZHVsZS1tb2RwZXJsLXV0aWx8bW9kdWxlLXBsdWdnYWJsZS1vYmplY3R8bW9kdWxlLXRlc3QtYnVpbGRlci1pby1zY2FsYXJ8bW9kdWxlLXRleHQtdW5pZGVjb2RlfG1vZHVsZS13aW4zMnxvYmplY3RzXHNsb2FkfHN5c2NhbGwucGh8c3lzdGVtaW5mby5waHwlcycgPiAvdG1wL3BlcmwtcmRlcGVuZHMKLQotUkRFUEVORFNfcGVybC1taXNjICs9ICJwZXJsIHBlcmwtbW9kdWxlcyIKLVJERVBFTkRTXyR7UE59LXBvZCArPSAicGVybCIKLQotIyBTb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHRoYXQgdGhlIGFib3ZlIGRvZXNuJ3QgbWFuYWdlIHRvIGZpZ3VyZSBvdXQKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXF1ZXVlICs9ICIke1BOfS1tb2R1bGUtYXR0cmlidXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nIgotCi0jIERlcGVuZHMgbGlzdAotIyBjb3B5IGNvbnRlbnRzIG9mIC90bXAvcGVybC1yZGVwZW5kcyBpbiB0aGlzIGZpbGUKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3BhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtc3RkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtaWYiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1jcGFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXBwLXByb3ZlLXN0YXRlLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFwcC1wcm92ZS1zdGF0ZS1yZXN1bHQtdGVzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcHAtcHJvdmUtc3RhdGUtcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXItY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1hcmNoaXZlLXRhci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJjaGl2ZS10YXIgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWFyY2hpdmUtdGFyICs9ICIke1BOfS1tb2R1bGUtaW8temxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hcmNoaXZlLXRhciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXJ5YmFzZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZS1oYW5kbGVycyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlLWhhbmRsZXJzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXR0cmlidXRlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF0dHJpYnV0ZXMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLWZhdGFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24gKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtZXhjZXB0aW9uLXN5c3RlbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWV4Y2VwdGlvbi1zeXN0ZW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLWhpbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS1saWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtc2NvcGUtZ3VhcmRzdGFjayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNjb3BlLWd1YXJkc3RhY2sgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXNraXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS1za2lwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b2RpZS11dGlsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1zY29wZS1ndWFyZHN0YWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvZGllLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1hdXRvbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG9zcGxpdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYXV0b3NwbGl0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWF1dG91c2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS1iLW9wLXByaXZhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1jb25jaXNlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItY29uY2lzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWNvbmNpc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVidWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLWRlcGFyc2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItZGVwYXJzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1kZXBhcnNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmVuY2htYXJrICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iZW5jaG1hcmsgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnaW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlnbnVtICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ251bSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdudW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ibGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWJsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYmxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtYi1jb25jaXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItc2hvd2xleCArPSAiJHtQTn0tbW9kdWxlLWItdGVyc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi1zaG93bGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWItdGVyc2UgKz0gIiR7UE59LW1vZHVsZS1iLWNvbmNpc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYi10ZXJzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWIteHJlZiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1iLXhyZWYgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtYnl0ZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcy1oZWF2eSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1ieXRlcyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycC1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNhcnAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2FycCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS0tY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS0tY2hhcm5hbWVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNoYXJuYW1lcyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY2hhcm5hbWVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jaGFybmFtZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb21wcmVzcy16bGliICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29tcHJlc3MtemxpYiArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbXByZXNzLXpsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLWV4dGVuc2lvbnMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctZXh0ZW5zaW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uZmlnLXBlcmwtdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb25maWctcGVybC12ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1saXN0LXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS1jb3JlbGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jb3JlbGlzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY29yZWxpc3QgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNvcmVsaXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZGlyaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYW5pZmVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtbGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtcGluZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zYWZlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRlcm0tcmVhZGxpbmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3BhbiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jcGFuICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS10aW1lLWxvY2FsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWNwYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWN3ZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtY3dkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1jd2QgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWItZGVwYXJzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYXRhLWR1bXBlciArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItaW50MzIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGJtLWZpbHRlci1pbnQzMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItbnVsbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLW51bGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRibS1maWx0ZXItdXRmOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYm0tZmlsdGVyLXV0ZjggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRlcHJlY2F0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXByZWNhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wZWVrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcGVlayArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRldmVsLXBwcG9ydCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1wcHBvcnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGV2ZWwtcHBwb3J0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kZXZlbC1zZWxmc3R1YmJlciArPSAiJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlhZ25vc3RpY3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpYWdub3N0aWNzICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWFnbm9zdGljcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZGlnZXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1maWxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LWZpbGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1tZDUgKz0gIiR7UE59LW1vZHVsZS1kaWdlc3QtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LW1kNSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3QtbWQ1ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWRpZ2VzdC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWRpZ2VzdC1zaGEgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlnZXN0LXNoYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaWdlc3Qtc2hhICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZGlyaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1kaXJoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZHluYWxvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWFsaWFzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ieXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWJ5dGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY2prY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuLWh6ICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24taHogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbi1oeiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtY24gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY24taHoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jbiArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lYmNkaWMgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZWJjZGljICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWViY2RpYyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kZXIgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3NtMDMzOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWdzbTAzMzggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1nc20wMzM4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWd1ZXNzICs9ICIke1BOfS1tb2R1bGUtcGFyZW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1ndWVzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtZ3Vlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtaDJ6ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnogKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1qaXM3ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAtamlzNyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1qcC1oMnoiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtanAgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWpwLWppczciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1qcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rci0yMDIyLWtyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1rciArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUta3ItMjAyMi1rciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUta3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLWtyICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlLWNqa2NvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXItaXNvLTIwMjItanAgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyLWlzby0yMDIyLWpwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlci1pc28tMjAyMi1qcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLWhlYWRlciArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLW1pbWUtaGVhZGVyICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1oZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtbWltZS1uYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1taW1lLW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1hbGlhcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLWVuY29kZS1jb25maWdsb2NhbC1wbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtZW5jb2RpbmciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS1zeW1ib2wgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXN5bWJvbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS10dyArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdHcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXR3ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGUtdW5pY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kZS11bmljb2RlLXV0ZjcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RlLXVuaWNvZGUtdXRmNyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmNvZGluZy13YXJuaW5ncyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5jb2Rpbmctd2FybmluZ3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbmdsaXNoICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZW5nbGlzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1lbnYgKz0gIiR7UE59LW1vZHVsZS10aWUtYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWVycm5vICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXJybm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXhwZXJpbWVudGFsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS1mZWF0dXJlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBlcmltZW50YWwgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cGVyaW1lbnRhbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHBvcnRlci1oZWF2eSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyLWhlYXZ5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4cG9ydGVyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXItaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFpeCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYWl4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1haXggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWFuZHJvaWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tYW5kcm9pZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1hbmRyb2lkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGFyd2luICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS1kZWMtb3NmICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLWRlYy1vc2YgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tZGVjLW9zZiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tb3MyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdW5peCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS11bml4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0tdm1zICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS12bXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzLWJjYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtZ2NjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cy1tc3ZjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MtbXN2YyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNidWlsZGVyLXBsYXRmb3JtLXdpbmRvd3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLWlvLWZpbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY2J1aWxkZXItcGxhdGZvcm0td2luZG93cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jYnVpbGRlci1wbGF0Zm9ybS13aW5kb3dzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQtbW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZC1tbSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kLW1tICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvcHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbW1hbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29tbWFuZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb21tYW5kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtd3JhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXByb3h5c3VicyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1wcm94eXN1YnMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC11dGlscyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXV0aWxzICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC14cyArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1jb25zdGFudC1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWNvbnN0YW50LXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQtdXRpbHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtY29uc3RhbnQteHMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtZW1iZWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkICs9ICIke1BOfS1tb2R1bGUtZ2V0b3B0LXN0ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1lbWJlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZGF0YS1kdW1wZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGxlZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtYXV0b3NwbGl0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtY29weSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtaW5zdGFsbCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1pbnN0YWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWluc3RhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWxpYmxpc3Qta2lkICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0LWtpZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUtYWxpYXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWxvY2FsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1iIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFuaWZlc3QgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1hbmlmZXN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWluaXBlcmwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1taW5pcGVybCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLWVtYmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1pbmlwZXJsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWtib290c3RyYXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta2Jvb3RzdHJhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1rc3ltbGlzdHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1ta3N5bWxpc3RzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1haXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFpeCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1hdXRvc3BsaXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1jcGFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWRhdGEtZHVtcGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1maW5kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55ICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1iZW9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWJlb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYmVvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tY3lnd2luICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kYXJ3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWRhcndpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tZG9zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1kb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbWFjb3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW53NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tbnc1ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1udzUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tb3MyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1saWJsaXN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1xbnggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXFueCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1kaXJoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tYWtlbWFrZXItY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS1hbnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdW5peCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXggKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1tbS11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXV3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbGlibGlzdC1raWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1ha2VtYWtlci1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tYW55IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZtcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWZpbmQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXZvcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0tdm9zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLWFueSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0td2luMzIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1tbS13aW45NSArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjMyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW1tLXdpbjk1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLW15ICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtbXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFja2xpc3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhY2tsaXN0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLWV2YWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY291bnRsaW5lcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1ldmFsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzLXV0aWxpdGllcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXBhcnNleHMtdXRpbGl0aWVzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy11dGlsaXRpZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdGVzdGxpYiArPSAiJHtQTn0tbW9kdWxlLWxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10ZXN0bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXRlc3RsaWIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtaW5wdXRtYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1vdXRwdXRtYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtb3V0cHV0bWFwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy1wYXJzZXhzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtcGFyc2V4cy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy1pbnB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLW91dHB1dG1hcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcyArPSAiJHtQTn0tbW9kdWxlLWV4dHV0aWxzLXR5cGVtYXBzLXR5cGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZXh0dXRpbHMtdHlwZW1hcHMtdHlwZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1leHR1dGlscy10eXBlbWFwcy10eXBlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1hdXRvZGllIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1leGNlcHRpb24tc3lzdGVtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtYXV0b2RpZS1oaW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWF1dG9kaWUtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmF0YWwgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mYXRhbCArPSAiJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZhdGFsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmNudGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1mY250bCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZlYXR1cmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWVsZHMgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmllbGRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpZWxkcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS1yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVjYWNoZSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlY2FjaGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWNhY2hlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29tcGFyZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvbXBhcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtY29weSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWNvcHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1jb3B5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1kb3NnbG9iICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZG9zZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWRvc2dsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1jb3B5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtaXBjLWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtbG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZldGNoICs9ICIke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmV0Y2ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1mZXRjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1maW5kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1nbG9ibWFwcGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYm1hcHBlciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtZ2xvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLWdsb2IgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXBhdGggKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1wYXRoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWFtaWdhb3MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtYW1pZ2FvcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1jeWd3aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWN5Z3dpbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWVwb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtZXBvYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1tYWMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW1hYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1vczIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLW9zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXggKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy11bml4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtdW5peCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXNwZWMtdm1zICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy12bXMgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLWN3ZCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXVuaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zcGVjLXdpbjMyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy13aW4zMiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtc3RhdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS1zdGF0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXN0YXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWN3ZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXBhdGgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWxlLXRlbXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsZS10ZW1wICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZmlsdGVyLXV0aWwtY2FsbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maWx0ZXItdXRpbC1jYWxsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbHRlci11dGlsLWNhbGwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWZpbmRiaW4gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1maW5kYmluICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtZ2V0b3B0LWxvbmcgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtbG9uZyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtcG9kLXVzYWdlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWdldG9wdC1sb25nICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1nZXRvcHQtc3RkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsLWZpZWxkaGFzaCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbC1maWVsZGhhc2ggKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaGFzaC11dGlsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1oYXNoLXV0aWwtZmllbGRoYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWhhc2gtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1oYXNoLXV0aWwgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5naW5mbyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ2luZm8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCArPSAiJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncy1kZXRlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MtbGlzdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWxpc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWkxOG4tbGFuZ3RhZ3MgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LWJ6aXAyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWlkZW50aXR5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1maWxlLWdsb2JtYXBwZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24gKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJ6aXAyICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1iemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWRlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1kZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1hZGFwdGVyLWRlZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtZ3ppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1nemlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXJhd2RlZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1yYXdkZWZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYWRhcHRlci1kZWZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtcmF3ZGVmbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemlwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXpsaWItZXh0cmEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1maWxlLXN0YXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1kaXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZGlyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWRpciArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tZmlsZSArPSAiJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zZWxlY3RzYXZlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8taGFuZGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pbyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8gKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcGlwZSArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1waXBlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBpcGUgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXBvbGwgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tcG9sbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc2Vla2FibGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWVrYWJsZSArPSAiJHtQTn0tbW9kdWxlLWZjbnRsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlZWthYmxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaW5ldCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1pby1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWluZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQtaXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1lcnJubyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0ICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pbmV0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tc29ja2V0LXVuaXggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXNvY2tldC11bml4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctYnppcDIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLXppcC1jb25zdGFudHMgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pZGVudGl0eSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbXByZXNzLXJhdy16bGliIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hZGFwdGVyLWluZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnlpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtYnl0ZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYW55dW5jb21wcmVzcyArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFueXVuY29tcHJlc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1hbnl1bmNvbXByZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY2FycCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1iYXNlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYnVuemlwMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItYnVuemlwMiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1idW56aXAyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0ICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWJ1bnppcDIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy1iYXNlLWNvbW1vbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWd6aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtZ3VuemlwICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1leHRyYSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWd1bnppcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1ndW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1ieXRlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWluZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtYmFzZS1jb21tb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tY29tcHJlc3MtemxpYi1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtaW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1pbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtY29tcHJlc3MtcmF3LXpsaWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy1yYXdpbmZsYXRlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtcmF3aW5mbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1jb21wcmVzcy1yYXctemxpYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyICIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXVuemlwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLWNvbXByZXNzLWJhc2UtY29tbW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16aXAtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1jb21wcmVzcy16bGliLWV4dHJhIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLWFkYXB0ZXItaWRlbnRpdHkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtYWRhcHRlci1pbmZsYXRlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1pby11bmNvbXByZXNzLXJhd2luZmxhdGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8tdW5jb21wcmVzcy11bnppcCArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QgIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXVuY29tcHJlc3MtdW56aXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pby16bGliICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlvLXpsaWIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaW8temxpYiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtZXh0dXRpbHMtbWFrZW1ha2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWlvLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1jbWQgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLWNtZCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdGltZS1oaXJlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtY21kICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtbXNnICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1tc2cgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMiArPSAiJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLW9wZW4zICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1pby1waXBlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1vcGVuMyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtb3BlbjMgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLWNsYXNzLXN0cnVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtaXBjLXN5c3YiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS1pcGMtc3lzdiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc2hhcmVkbWVtICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zaGFyZWRtZW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWlwYy1zeXN2ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtaXBjLXN5c3YgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1pcGMtc3lzdiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcC1ib29sZWFuICs9ICIke1BOfS1tb2R1bGUtanNvbi1wcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwLWJvb2xlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLWJ5dGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWpzb24tcHAgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtanNvbi1wcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1qc29uLXBwICs9ICIke1BOfS1tb2R1bGUtc3VicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpYiArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbGlzdC11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxpc3QtdXRpbC14cyArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1saXN0LXV0aWwteHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZGVkICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtY29yZWxpc3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLWxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9hZCArPSAiJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2FkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS12ZXJzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY291bnRyeSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb3VudHJ5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvdW50cnktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LWNvZGVzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeS1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jdXJyZW5jeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY3VycmVuY3ktcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWN1cnJlbmN5LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdleHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2V4dC1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZXh0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXV0ZjgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0tY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1jb25zdGFudHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmdmYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ2ZhbS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5nZmFtLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UtcmV0aXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3VhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd1YWdlLXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndWFnZS1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItY29kZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXIgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1sYW5ndmFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWxhbmd2YXItcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtbGFuZ3Zhci1yZXRpcmVkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtY29uc3RhbnRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LWNvZGVzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtY29kZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLWNvbnN0YW50cyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1jb2RlcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0ICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdC1yZXRpcmVkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvZGVzLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY29kZXMtc2NyaXB0LXJldGlyZWQgKz0gIiR7UE59LW1vZHVsZS11dGY4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb2Rlcy1zY3JpcHQtcmV0aXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1jb3VudHJ5ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWNvdW50cnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtY3VycmVuY3kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWN1cnJlbmN5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLWxhbmd1YWdlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1sYW5ndWFnZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1ndXRzICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0ICs9ICIke1BOfS1tb2R1bGUtaTE4bi1sYW5ndGFncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pMThuLWxhbmd0YWdzLWRldGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUtbWFrZXRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1tYWtldGV4dC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLWxvY2FsZS1zY3JpcHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbG9jYWxlLXNjcmlwdCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2Zsb2F0LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjZW11ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWNhbGNlbXUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtY2FsYyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC1jYWxjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LWZhc3RjYWxjICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtZmFzdGNhbGMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnZmxvYXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdpbnQtdHJhY2UgKz0gIiR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ2ludC10cmFjZSArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50LXRyYWNlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtbWF0aC1iaWdmbG9hdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWJpZ3JhdCArPSAiJHtQTn0tbW9kdWxlLW1hdGgtYmlnaW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtYmlncmF0ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1iaWdyYXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLWNvbXBsZXggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWF0aC1jb21wbGV4ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1hdGgtdHJpZyArPSAiJHtQTn0tbW9kdWxlLW1hdGgtY29tcGxleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tYXRoLXRyaWcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1hbnlkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZS1leHBpcmVmaWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLWV4cGlyZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWVtb2l6ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXNkYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXNkYm0tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZW1vaXplLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtc3RvcmFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWV0YS1ub3RhdGlvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1tZXRhLW5vdGF0aW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLWJhc2U2NCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1taW1lLXF1b3RlZHByaW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbWltZS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbXJvICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW1ybyArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtZXJybm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jbWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNtZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY21kICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1jb25maWcgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtY29uZmlnICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZG9tYWluICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1kb21haW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWRvbWFpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtYSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWEgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1hICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLWVycm5vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZGF0YWNvbm4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1kYXRhY29ubiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtZSArPSAiJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1lICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1pICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWRhdGFjb25uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtaSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwLWwgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cC1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAtbCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtZnRwLWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtZnRwICs9ICIke1BOfS1tb2R1bGUtc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1mdHAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWZ0cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ob3N0ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LWhvc3RlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRlbnQgKz0gIiR7UE59LW1vZHVsZS1zb2NrZXQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldGVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbmV0cmMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5ldHJjICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1uZXRyYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLW5ldC1jbWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LW5udHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1ubnRwICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtbm50cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1waW5nICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLWZpbGVoYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcGluZyArPSAiJHtQTn0tbW9kdWxlLXRpbWUtaGlyZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBpbmcgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLWlvLXNvY2tldC1pcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW1pbWUtYmFzZTY0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wb3AzICs9ICIke1BOfS1tb2R1bGUtbmV0LWNtZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcG9wMyArPSAiJHtQTn0tbW9kdWxlLW5ldC1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1uZXQtbmV0cmMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXBvcDMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtcHJvdG9lbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXByb3RvZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1wcm90b2VudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNlcnZlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc2VydmVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0LWlwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbWltZS1iYXNlNjQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtbmV0LXNtdHAgKz0gIiR7UE59LW1vZHVsZS1uZXQtY21kIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC1zbXRwICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtc210cCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc2VsZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtaW8tc29ja2V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5ldC10aW1lICs9ICIke1BOfS1tb2R1bGUtbmV0LWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXQtdGltZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW5leHQgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1uZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9kYm0tZmlsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vayArPSAiJHtQTn0tbW9kdWxlLXRlc3QtbW9yZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcGNvZGUgKz0gIiR7UE59LW1vZHVsZS1zdWJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wY29kZSArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3BlbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kaW5nIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW9wZW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtYiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vcHMgKz0gIiR7UE59LW1vZHVsZS1vcGNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWRpbmcgKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZC1udW1iZXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLW92ZXJsb2FkaW5nICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1tcm8iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtb3ZlcmxvYWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1vdmVybG9hZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBhcmFtcy1jaGVjayArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtbG9jYWxlLW1ha2V0ZXh0LXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJhbXMtY2hlY2sgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyYW1zLWNoZWNrICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wYXJlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGFyZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsZmFxICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxmYXEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tZW5jb2RpbmcgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLWVuY29kaW5nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLW1tYXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tbW1hcCArPSAiJHtQTn0tbW9kdWxlLXhzbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBlcmxpby1zY2FsYXIgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wZXJsaW8tdmlhICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLW1pbWUtcXVvdGVkcHJpbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcGVybGlvLXZpYS1xdW90ZWRwcmludCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZXNjYXBlcyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1jd2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZpbmQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtZmluZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtZmluZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWZ1bmN0aW9ucyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1mdW5jdGlvbnMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLWlucHV0b2JqZWN0cyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtaW5wdXRvYmplY3RzICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtbWFuICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXN1YnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLW1hbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VsaW5rICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZWxpbmsgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1pbnB1dG9iamVjdHMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wYXJzZXV0aWxzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGFyc2V1dGlscyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjLWZ1bmN0aW9ucyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtYmFzZXRvICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1iYXNldG8gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy1nZXRvcHRzb28gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1lbmNvZGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMtZnVuY3Rpb25zIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtZmlsZS10ZW1wIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtZ2V0b3B0c29vIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvYW5zaSArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9hbnNpICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2Fuc2kgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2QtY2hlY2tlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b2NoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b21hbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYy1mdW5jdGlvbnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1oYW5kbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pby1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1pcGMtb3BlbjMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1wb2QtbWFuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9tYW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbWFuICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ucm9mZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtcG9kLW1hbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b25yb2ZmICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvbnJvZmYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3BvZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9wb2QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXBhcmVudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3J0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG9ydGYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXJtICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3Rlcm0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGVybGRvYy10b3RleHQgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRvdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG90ZXh0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1wYXJlbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBlcmxkb2MtdG94bWwgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wZXJsZG9jLXRveG1sICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXBsYWludGV4dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtcGxhaW50ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1wbGFpbnRleHQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1wb2QtcGFyc2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zZWxlY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNlbGVjdCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3ggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ibGFja2JveCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWNoZWNrZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1jaGVja2VyICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtY2hlY2tlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kZWJ1ZyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWRlYnVnICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3RleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN0ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtZHVtcGFzeG1sICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWR1bXBhc3htbCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1kdW1wYXN4bWwgKz0gIiR7UE59LW1vZHVsZS10ZXh0LXdyYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLWJsYWNrYm94IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1saW5rc2VjdGlvbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLW1ldGhvZHkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1tZXRob2R5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtcG9kLWVzY2FwZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtYmxhY2tib3giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbGlua3NlY3Rpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXByb2dyZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcmVuZHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyZW5kdG9rZW4gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VyICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJlbmR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXJzdGFydHRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXB1bGxwYXJzZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRva2VuIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnN0YXJ0dG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2Vyc3RhcnR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydGV4dHRva2VuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlcnRleHR0b2tlbiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1wdWxscGFyc2VydG9rZW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1ydGYgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcnRmICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtcHVsbHBhcnNlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXJ0ZiArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zZWFyY2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtY3dkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2VhcmNoICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNlYXJjaCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS1zaW1wbGV0cmVlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtc2ltcGxldHJlZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXNpbXBsZXRyZWUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dGNvbnRlbnQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0Y29udGVudCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtbWV0aG9keSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRleHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdGV4dC13cmFwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10aWVkb3V0ZmggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdGllZG91dGZoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZWR1bWIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVkdW1iICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS10cmFuc2NvZGVzbWFydCArPSAiJHtQTn0tbW9kdWxlLWVuY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtcG9kLXNpbXBsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXRyYW5zY29kZXNtYXJ0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUtdHJhbnNjb2Rlc21hcnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUteG1sb3V0c3RyZWFtICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlLXhtbG91dHN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLXBvZC1zaW1wbGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXNpbXBsZS14bWxvdXRzdHJlYW0gKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LWNvbG9yICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1jb2xvciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtcG9kLXRleHQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtb3ZlcnN0cmlrZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC1vdmVyc3RyaWtlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZW5jb2RlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQgKz0gIiR7UE59LW1vZHVsZS1wb2Qtc2ltcGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC10ZXh0LXRlcm1jYXAgKz0gIiR7UE59LW1vZHVsZS1wb2QtdGV4dCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdGV4dC10ZXJtY2FwICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXRleHQtdGVybWNhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvZC11c2FnZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtc3BlYyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb2QtdXNhZ2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9kLXVzYWdlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUtZmNudGwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcG9zaXggKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1wb3NpeCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXBvc2l4ICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtcmUgKz0gIiR7UE59LW1vZHVsZS10ZXJtLWNhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLW9wY29kZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2FmZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zYWZlICs9ICIke1BOfS1tb2R1bGUtdXRmOCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWxpc3QtdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZGJtLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhc2giCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2RibS1maWxlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWFyY2gtZGljdCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VhcmNoLWRpY3QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZWN0c2F2ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGVjdHNhdmVyICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zZWxmbG9hZGVyICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNlbGZsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2VsZmxvYWRlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc2lndHJhcCArPSAiJHtQTn0tbW9kdWxlLXN5bWJvbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXNvY2tldCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb2NrZXQgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zb3J0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN0b3JhYmxlICs9ICIke1BOfS1tb2R1bGUtaW8tZmlsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdG9yYWJsZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3RvcmFibGUgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zdWItdXRpbCArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtbGlzdC11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN1Yi11dGlsICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3ltYm9sICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1wb3NpeCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLWhvc3RuYW1lICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtZmlsZS1iYXNlbmFtZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXNvY2tldCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS1zeXMtaG9zdG5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtc3lzLXN5c2xvZyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXN5cy1zeXNsb2cgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS1zeXMtc3lzbG9nICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1iYXNlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWJhc2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWJhc2UgKz0gIiR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItYmFzZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWZpbGUtcGF0aCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtcGFyYWxsZWxzZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1wYXJhbGxlbHNlc3Npb24gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlLXBhcmFsbGVsc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1jb25zb2xlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItY29uc29sZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWNvbnNvbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtcG9zaXgiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItZmlsZS1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtZm9ybWF0dGVyLWZpbGUtc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWZvcm1hdHRlci1zZXNzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1mb3JtYXR0ZXItc2Vzc2lvbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS10YXAtb2JqZWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzLWVudiArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcy1lbnYgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1wYXRoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLW9iamVjdCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtb2JqZWN0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1iZW5jaG1hcmsiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWFnZ3JlZ2F0b3IgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItZ3JhbW1hciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1ncmFtbWFyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci15YW1saXNoLXJlYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1maWxlLWJhc2VuYW1lIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1wcm9jZXNzICs9ICIke1BOfS1tb2R1bGUtaW8taGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXByb2Nlc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1tdWx0aXBsZXhlciArPSAiJHtQTn0tbW9kdWxlLWlvLXNlbGVjdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLW11bHRpcGxleGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItbXVsdGlwbGV4ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWdyYW1tYXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtYmFpbG91dCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtY29tbWVudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1jb21tZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1iYWlsb3V0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LWNvbW1lbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtcGxhbiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQtdGVzdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0ZmFjdG9yeSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHRmYWN0b3J5ICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQteWFtbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdGZhY3RvcnkgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdCArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1yZXN1bHQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wbGFuICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXBsYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXByYWdtYSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC1wcmFnbWEgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXRlc3QgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC11bmtub3duICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXVua25vd24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXZlcnNpb24gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXJlc3VsdC15YW1sICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItcmVzdWx0LXlhbWwgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyLWpvYiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1qb2IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXIgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc2NoZWR1bGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zY2hlZHVsZXItc3Bpbm5lciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNjaGVkdWxlci1zcGlubmVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1leGVjdXRhYmxlICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWV4ZWN1dGFibGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZXhlY3V0YWJsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1maWxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvcmZhY3RvcnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWZpbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yLXN0cmVhbSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItZmlsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1pdGVyYXRvci1zdHJlYW0iCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLWhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlciArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3IiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsICs9ICIke1BOfS1tb2R1bGUtY29uc3RhbnQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXBlcmwgKz0gIiR7UE59LW1vZHVsZS10YXAtcGFyc2VyLWl0ZXJhdG9yZmFjdG9yeSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItcHJvY2VzcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZWhhbmRsZXItcGVybCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3ItYXJyYXkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2VoYW5kbGVyLXJhd3RhcCArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItaXRlcmF0b3JmYWN0b3J5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1yYXd0YXAgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWJhc2UiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXNvdXJjZSArPSAiJHtQTn0tbW9kdWxlLWZpbGUtYmFzZW5hbWUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1zb3VyY2UgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtcmVhZGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC1yZWFkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10YXAtcGFyc2VyLXlhbWxpc2gtd3JpdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXIteWFtbGlzaC13cml0ZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1hbnNpY29sb3IgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWFuc2ljb2xvciArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY2FwICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLWNhcCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1jb21wbGV0ZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlcm0tY29tcGxldGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVybS1yZWFkbGluZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXJtLXJlYWRsaW5lICs9ICIke1BOfS1tb2R1bGUtdGVybS1jYXAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci1tb2R1bGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyICs9ICIke1BOfS1tb2R1bGUtcGVybGlvIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXIgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyLWNvbG9yICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXItY29sb3IgKz0gIiR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWJ1aWxkZXItdGVzdGVyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlci10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1zeW1ib2wiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1iYXNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLWhhcm5lc3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1oYXJuZXNzICs9ICIke1BOfS1tb2R1bGUtdGFwLXBhcnNlci1hZ2dyZWdhdG9yIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRhcC1wYXJzZXItc291cmNlaGFuZGxlci1wZXJsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtaGFybmVzcyArPSAiJHtQTn0tbW9kdWxlLXRleHQtcGFyc2V3b3JkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LWhhcm5lc3MgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC1tb3JlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LW1vcmUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdCArPSAiJHtQTn0tbW9kdWxlLWZpbGUtdGVtcCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3Qtc2ltcGxlICs9ICIke1BOfS1tb2R1bGUtdGVzdC1idWlsZGVyLW1vZHVsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1jYXB0dXJlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItY2FwdHVyZXJ1bm5lciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXItZGVsZWdhdGUgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWRlbGVnYXRlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtYnVpbGRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXRlc3QtdGVzdGVyLWNhcHR1cmVydW5uZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGVzdC10ZXN0ZXIgKz0gIiR7UE59LW1vZHVsZS10ZXN0LXRlc3Rlci1kZWxlZ2F0ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXN0LXRlc3RlciArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1hYmJyZXYgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LWJhbGFuY2VkICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zZWxmbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtYmFsYW5jZWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1iYWxhbmNlZCArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC1wYXJzZXdvcmRzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXBhcnNld29yZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC10YWJzICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtdGFicyArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGV4dC13cmFwICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXRleHQtdGFicyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10ZXh0LXdyYXAgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRleHQtd3JhcCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzLXJlZ2lzdGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXNjYWxhci11dGlsIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZC1xdWV1ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtcXVldWUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtc2NhbGFyLXV0aWwiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWQtc2VtYXBob3JlICs9ICIke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkLXNlbWFwaG9yZSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcyArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMgKz0gIiR7UE59LW1vZHVsZS14c2xvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGhyZWFkcy1zaGFyZWQgKz0gIiR7UE59LW1vZHVsZS1zY2FsYXItdXRpbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aHJlYWRzLXNoYXJlZCArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRocmVhZHMtc2hhcmVkICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtYXJyYXkgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWFycmF5ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWZpbGUgKz0gIiR7UE59LW1vZHVsZS1mY250bCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtZmlsZSArPSAiJHtQTn0tbW9kdWxlLXBvc2l4IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1maWxlICs9ICIke1BOfS1tb2R1bGUtc3ltYm9sIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYW5kbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncy1yZWdpc3RlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtaGFzaC1uYW1lZGNhcHR1cmUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2gtbmFtZWRjYXB0dXJlICs9ICIke1BOfS1tb2R1bGUteHNsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLWhhc2ggKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1oYXNoICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLW1lbW9pemUgKz0gIiR7UE59LW1vZHVsZS10aWUtaGFzaCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1jb25maWciCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXJlZmhhc2ggKz0gIiR7UE59LW1vZHVsZS1vdmVybG9hZCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtcmVmaGFzaCArPSAiJHtQTn0tbW9kdWxlLXRpZS1oYXNoIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpZS1yZWZoYXNoICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc2NhbGFyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN0ZGhhbmRsZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdGllLWhhbmRsZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3RkaGFuZGxlICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aWUtc3Vic3RyaGFzaCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGllLXN1YnN0cmhhc2ggKz0gIiR7UE59LW1vZHVsZS1pbnRlZ2VyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1nbXRpbWUgKz0gIiR7UE59LW1vZHVsZS10aW1lLXRtIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtZ210aW1lICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZHluYWxvYWRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWhpcmVzICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1oaXJlcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtY29uZmlnIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWwgKz0gIiR7UE59LW1vZHVsZS1jb25zdGFudCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1sb2NhbCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtbG9jYWx0aW1lICs9ICIke1BOfS1tb2R1bGUtdGltZS10bSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLWxvY2FsdGltZSArPSAiJHtQTn0tbW9kdWxlLXZhcnMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtcGllY2UgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtaW50ZWdlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtb3ZlcmxvYWQiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdGltZS1waWVjZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1sb2NhbCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXBpZWNlICs9ICIke1BOfS1tb2R1bGUtdGltZS1zZWNvbmRzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLWV4cG9ydGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLW92ZXJsb2FkIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtc2Vjb25kcyArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS10aW1lLXRtICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXRpbWUtdG0gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1iaWc1ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstYmlnNSArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstZ2IyMzEyICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1qaXN4MDIwOCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLWppc3gwMjA4ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay1rb3JlYW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtY2prLXBpbnlpbiArPSAiJHtQTn0tbW9kdWxlLXdhcm5pbmdzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1jamstc3Ryb2tlICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlLWNqay16aHV5aW4gKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtYmFzZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUtbG9jYWxlICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZS1sb2NhbGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWNvbnN0YW50IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLWR5bmFsb2FkZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1jb2xsYXRlICs9ICIke1BOfS1tb2R1bGUtZmlsZS1zcGVjIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtY29sbGF0ZSArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLWNvbGxhdGUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtbm9ybWFsaXplICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS1ub3JtYWxpemUgKz0gIiR7UE59LW1vZHVsZS13YXJuaW5ncyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1jaGFybmFtZXMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWZlYXR1cmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1maWxlLXNwZWMiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1pZiIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS1zdHJpY3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11bmljb2RlLW5vcm1hbGl6ZSIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11bmljb2RlLXVjZCArPSAiJHtQTn0tbW9kdWxlLXVuaWNvcmUiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29kZS11Y2QgKz0gIiR7UE59LW1vZHVsZS11dGY4LWhlYXZ5IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVuaWNvZGUtdWNkICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pY29yZSArPSAiJHtQTn0tbW9kdWxlLWludGVnZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdW5pdmVyc2FsICs9ICIke1BOfS1tb2R1bGUtY2FycCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtY2xhc3Mtc3RydWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS1leHBvcnRlciIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLWdyZW50ICs9ICIke1BOfS1tb2R1bGUtc3RyaWN0IgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItZ3JlbnQgKz0gIiR7UE59LW1vZHVsZS12YXJzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jYXJwIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlLXVzZXItcHdlbnQgKz0gIiR7UE59LW1vZHVsZS1jbGFzcy1zdHJ1Y3QiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLWNvbmZpZyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtZXhwb3J0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXNlci1wd2VudCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS11c2VyLXB3ZW50ICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdXRmOCArPSAiJHtQTn0tbW9kdWxlLXV0ZjgtaGVhdnkiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbiArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uICs9ICIke1BOfS1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUtdmVyc2lvbi1yZWdleCArPSAiJHtQTn0tbW9kdWxlLXN0cmljdCIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS12ZXJzaW9uLXJlZ2V4ICs9ICIke1BOfS1tb2R1bGUtdmFycyIKLVJERVBFTkRTXyR7UE59LW1vZHVsZS14c2xvYWRlciArPSAiJHtQTn0tbW9kdWxlLWNhcnAiCi1SREVQRU5EU18ke1BOfS1tb2R1bGUteHNsb2FkZXIgKz0gIiR7UE59LW1vZHVsZS1keW5hbG9hZGVyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC5pbmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMzMTNhOTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLmluYworKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLVNVTU1BUlkgPSAiUGVybCBzY3JpcHRpbmcgbGFuZ3VhZ2UiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnBlcmwub3JnLyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1MSUNFTlNFID0gIkFydGlzdGljLTEuMCB8IEdQTC0xLjArIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weWluZzttZDU9NWIxMjJhMzZkMGY2ZGM1NTI3OWEwZWJjNjlmM2M2MGIgXAotCQkgICAgZmlsZTovL0FydGlzdGljO21kNT0yZTZmZDI0NzUzMzVhZjg5MjQ5NGZlMWY3MzI3YmFmMyIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmNwYW4ub3JnL3NyYy81LjAvJHtCUH0udGFyLnh6IgotCi1pbmhlcml0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUNvbmZpZ3VyZS1SZW1vdmUtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmctZm9yLW5hdGl2ZS0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0YTA1ZDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtQ29uZmlndXJlLVJlbW92ZS1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy1mb3ItbmF0aXZlLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Tb21lIGRpc3RyaWJ1dGlvbnMgKGxpa2Ugb3BlbnN1c2U0MjEpIHN1cHBvcnRlZCBieSB0aGUgcHJvamVjdAotY29tZXMgd2l0aCBvbGRlciBnY2MgcmVsZWFzZXMsIC1mc3RhY2stcHJvdGVjdG9yPXN0cm9uZyBpcyBzdXBwb3J0ZWQKLWJ5IEdDQz49NC45LgotCi1UaGlzIGNhdXNlcyBhIGJ1aWxkIGZhaWx1cmUgd2hlbiBpbnN0YWxsIHBlcmwtbmF0aXZlIGZyb20gYSBzc3RhdGUgdGhhdAotY29tZXMgZnJvbSBhIG1hY2hpbmUgc3VwcG9ydGluZyAtZnN0YWNrLXByb3RlY3Rvcj1zdHJvbmcgWzFdLgotCi1TbyBkaXNhYmxlIHVzYWdlIG9mIHRoaXMgZmxhZyBpbiBwZXJsLW5hdGl2ZSBidWlsZHMsIHRoaXMgcGF0Y2ggY291bGQKLWJlIHJlbW92ZWQgd2hlbiBhbGwgc3VwcG9ydGVkIGRpc3Ryb3MgY29tZXMgd2l0aCBHQ0M+PTQuOS4KLQotW1lPQ1RPICMxMDMzOF0KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1bMV0gaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzEwOTU4OS8KLQotU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+Ci0tLS0KLSBDb25maWd1cmUgfCA1NCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IGVmYmRjZmQuLmQ1YmQ5OGMgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTU0NjgsMzAgKzU0NjgsNiBAQCBkZWZhdWx0fHJlY29tbWVuZGVkKQotIAkJZXZhbCAkY2hlY2tjY2ZsYWcKLSAJCTs7Ci0gCWVzYWMKLS0KLS0JIyBvbiB4ODZfNjQgKGF0IGxlYXN0KSB3ZSByZXF1aXJlIGFuIGV4dHJhIGxpYnJhcnkgKGxpYnNzcCkgaW4gdGhlCi0tCSMgbGluayBjb21tYW5kIGxpbmUuIFRoaXMgbGlicmFyeSBpcyBub3QgbmFtZWQsIHNvIEkgaW5mZXIgdGhhdCBpdCBpcwotLQkjIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCB0aGF0IG1heSBjaGFuZ2UuIEhlbmNlIHRoZSBzYWZlc3QgYXBwcm9hY2gKLS0JIyBpcyB0byBhZGQgdGhlIGZsYWcgdG8gdGhlIGZsYWdzIHBhc3NlZCB0byB0aGUgY29tcGlsZXIgYXQgbGluayB0aW1lLAotLQkjIGFzIHRoYXQgd2F5IHRoZSBjb21waWxlciBjYW4gZG8gdGhlIHJpZ2h0IGltcGxlbWVudGF0aW9uIGRlcGVuZGFudAotLQkjIHRoaW5nLiAoTldDKQotLQljYXNlICIkb3NuYW1lIiBpbgotLQlhbWlnYW9zKSA7OyAjIC1mc3RhY2stcHJvdGVjdG9yIGJ1aWxkcyBidXQgZG9lc24ndCB3b3JrCi0tCSopCWNhc2UgIiRnY2N2ZXJzaW9uIiBpbgotLQkJPyopCXNldCBzdGFjay1wcm90ZWN0b3Itc3Ryb25nIC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZwotLQkJCWV2YWwgJGNoZWNrY2NmbGFnCi0tCQkJY2FzZSAiJGRmbHQiIGluCi0tCQkJKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopIDs7ICMgSXQgZ290IGFkZGVkLgotLQkJCSopICMgVHJ5IHRoZSBwbGFpbi9vbGRlciAtZnN0YWNrLXByb3RlY3Rvci4KLS0JCQkgICBzZXQgc3RhY2stcHJvdGVjdG9yIC1mc3RhY2stcHJvdGVjdG9yCi0tCQkJICAgZXZhbCAkY2hlY2tjY2ZsYWcKLS0JCQkgICA7OwotLQkJCWVzYWMKLS0JCQk7OwotLQkJZXNhYwotLQkJOzsKLS0JZXNhYwotLQk7OwotIGVzYWMKLSAKLSBjYXNlICIkbWlwc190eXBlIiBpbgotQEAgLTU2MzQsMjEgKzU2MTAsNiBAQCBjYXNlICIkbGRmbGFncyIgaW4KLSAJOzsKLSAqKSBkZmx0PSIkbGRmbGFncyI7OwotIGVzYWMKLS0jIFNlZSBub3RlIGFib3ZlIGFib3V0IC1mc3RhY2stcHJvdGVjdG9yCi0tY2FzZSAiJGNjZmxhZ3MiIGluCi0tKi1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyopCi0tCWNhc2UgIiRkZmx0IiBpbgotLQkqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JKikgZGZsdD0iJGRmbHQgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIiA7OwotLQllc2FjCi0tCTs7Ci0tKi1mc3RhY2stcHJvdGVjdG9yKikKLS0JY2FzZSAiJGRmbHQiIGluCi0tCSotZnN0YWNrLXByb3RlY3RvciopIDs7ICMgRG9uJ3QgYWRkIGl0IGFnYWluCi0tCSopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yIiA7OwotLQllc2FjCi0tCTs7Ci0tZXNhYwotIAotIDogVHJ5IHRvIGd1ZXNzIGFkZGl0aW9uYWwgZmxhZ3MgdG8gcGljayB1cCBsb2NhbCBsaWJyYXJpZXMuCi0gZm9yIHRoaXNsaWJkaXIgaW4gJGxpYnB0aDsgZG8KLUBAIC04NTcxLDIxICs4NTMyLDYgQEAgRU9NCi0gCSAgICAnJ3wnICcpIGRmbHQ9J25vbmUnIDs7Ci0gCWVzYWMKLSAKLS0JY2FzZSAiJGxkZmxhZ3MiIGluCi0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nKikKLS0JCWNhc2UgIiRkZmx0IiBpbgotLQkJICAgICotZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcqKSA7OyAjIERvbid0IGFkZCBpdCBhZ2FpbgotLQkJICAgICopIGRmbHQ9IiRkZmx0IC1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZyIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCSAgICAqLWZzdGFjay1wcm90ZWN0b3IqKQotLQkJY2FzZSAiJGRmbHQiIGluCi0tCQkgICAgKi1mc3RhY2stcHJvdGVjdG9yKikgOzsgIyBEb24ndCBhZGQgaXQgYWdhaW4KLS0JCSAgICAqKSBkZmx0PSIkZGZsdCAtZnN0YWNrLXByb3RlY3RvciIgOzsKLS0JCWVzYWMKLS0JCTs7Ci0tCWVzYWMKLS0KLSAJcnA9IkFueSBzcGVjaWFsIGZsYWdzIHRvIHBhc3MgdG8gJGxkIHRvIGNyZWF0ZSBhIGR5bmFtaWNhbGx5IGxvYWRlZCBsaWJyYXJ5PyIKLSAJLiAuL215cmVhZAotIAljYXNlICIkYW5zIiBpbgotLS0gCi0yLjEuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDNmYmJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC8wMDAxLUV4dFV0aWxzLU1NX1VuaXgucG0tZml4LXJhY2UtaXNzdWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSA0MDcwMmFiZjMxNTZmYTkyZWY3MGVlNWQ0NDVmZTUyZGQ2Y2ZiYzdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDIwIFNlcCAyMDE4IDE4OjQ4OjQ4ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIEV4dFV0aWxzL01NX1VuaXgucG06IGZpeCByYWNlIGlzc3VlcwotCi1GaXhlZCBhIHJhY2UgaXNzdWUgd2hlbiBjb21waWxlIGxpYmh0bWwtcGFyc2VyLXBlcmwgYW5kIG90aGVycyB3aG8gdXNlIE1ha2VNYWtlcjoKLVtzbmlwXQotY2htb2QgNzU1IGJsaWIvYXJjaC9hdXRvL0hUTUwvUGFyc2VyL1BhcnNlci5zbyAKLWNobW9kIDY0NCAiUGFyc2VyLmJzIgotW3NuaXBdCi0KLVRoZSBydWxlIElOU1RfRFlOQU1JQyByZW1vdmVzICcuYnMnIGZpbGUgd2hpY2ggYXJlIGdlbmVyYXRlZCBieSBCT09UU1RSQVAsIGJ1dAotdGhlIGhhdmUgbm8gZGVwZW5kZW5jaWVzLCBzbyB0aGVyZSBpcyBhIHJhY2UgaXNzdWU6Ci0KLUJPT1RTVFJBUDoKLSAgICB0b3VjaCBmb28uYnMKLSAgICBjaG1vZCA3NTUgZm9vLmJzCi0KLUlOU1RfRFlOQU1JQzoKLSAgICBybSAtZnIgZm9vLmJzCi0KLVRoZSBlcnJvciB3b3VsZCBoYXBwZW4gd2hlbiBJTlNUX0RZTkFNSUMgcmVtb3ZlcyBmb28uYnMgYWZ0ZXIgQk9PVFNUUkFQIHRvdWNoZWQKLWl0IGJ1dCBiZWZvcmUgY2htb2Qgb24gaXQuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9QZXJsLVRvb2xjaGFpbi1HYW5nL0V4dFV0aWxzLU1ha2VNYWtlci9jb21taXQvNDRlOTVlNzE3MzcyYWJlMmIwYTZlZTU1ZGU0YjY4Njc2MGI2NTM2MF0KLQotTm90ZSwgVGhpcyBpcyBub3QgYSByZWFsIGJhY2twb3J0LCB1cHN0cmVhbSBoYXMgdG90YWxseSByZWZhY3RvcmVkIGl0IGluIG9uZQotcGF0Y2gsIHBsZWFzZSBzZWUgdGhlIGxpbmsgYWJvdmUsIGl0J3Mgbm90IGEgZ29vZCBpZGVhIHRvIGJhY2twb3J0IHN1Y2ggYSBiaWcKLXBhdGNoLCBJIGp1c3QgcmVmZXJyZWQgaXQgdG8gZml4IHRoZSBwcm9ibGVtIGluIGEgc2ltcGxlIHdheS4gSSBtYXJrIGl0IGFzCi1iYWNrcG9ydCBpcyBiZWNhdXNlIHdlIGNhbiBkcm9wIHRoZSBwYXRjaCBhZnRlciB1cGdyYWRlIHBlcmwgdG8gNS4yNiBvciA1LjI4LgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggOTVkOTc2MS4uOWNhYmUyZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTkzMyw3ICs5MzMsNyBAQCBPVEhFUkxERkxBR1MgPSAnLiRsZF9vcHQuJG90aGVybGRmbGFncy4nCi0gSU5TVF9EWU5BTUlDX0RFUCA9ICcuJGluc3RfZHluYW1pY19kZXAuJwotIElOU1RfRFlOQU1JQ19GSVggPSAnLiRsZF9maXguJwotIAotLSQoSU5TVF9EWU5BTUlDKTogJChPQkpFQ1QpICQoTVlFWFRMSUIpICQoSU5TVF9BUkNIQVVUT0RJUikkKERGU0VQKS5leGlzdHMgJChFWFBPUlRfTElTVCkgJChQRVJMX0FSQ0hJVkVERVApICQoUEVSTF9BUkNISVZFX0FGVEVSKSAkKElOU1RfRFlOQU1JQ19ERVApCi0rJChJTlNUX0RZTkFNSUMpOiAkKE9CSkVDVCkgJChNWUVYVExJQikgJChJTlNUX0FSQ0hBVVRPRElSKSQoREZTRVApLmV4aXN0cyAkKEVYUE9SVF9MSVNUKSAkKFBFUkxfQVJDSElWRURFUCkgJChQRVJMX0FSQ0hJVkVfQUZURVIpICQoSU5TVF9EWU5BTUlDX0RFUCkgJChCT09UU1RSQVApCi0gJyk7Ci0gICAgIGlmICgkYXJtYXliZSBuZSAnOicpewotIAkkbGRmcm9tID0gJ3RtcCQoTElCX0VYVCknOwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsLzAwMDEtU2tpcC12YXJpb3VzLXRlc3RzLWlmLVBFUkxfQlVJTERfUEFDS0FHSU5HLWlzLXNldC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzVkYjFiNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTI2ICswLDAgQEAKLUZyb20gYmE2NzMzMjE2MjAyNTIzYTk1YjBiN2VlMmU1MzRiOGUzMGI2ZDdkZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBPY3QgMjAxNyAxNjoyNzo1MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBTa2lwIHZhcmlvdXMgdGVzdHMgaWYgUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0Ci0KLVRoZXNlIGFyZSB0ZXN0cyB3aGljaCB0ZW5kIG5vdCB0byBiZSB1c2VmdWwgZm9yIGRvd25zdHJlYW0gcGFja2FnZXJzCi0KLXQvcG9ydGluZy9jdXN0b21pemVkLnQgY2hhbmdlIG9yaWdpbmFsbHkgZnJvbSBUb2RkIFJpbmFsZG8KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9iYTY3MzMyMTYyMDI1MjNhOTViMGI3ZWUyZTUzNGI4ZTMwYjZkN2RmXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gSU5TVEFMTCAgICAgICAgICAgICAgICB8ICAzICsrLQotIE1BTklGRVNUICAgICAgICAgICAgICAgfCAgMSArCi0gUEFDS0FHSU5HICAgICAgICAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIHJlZ2VuL2xpYl9jbGVhbnVwLnBsICAgfCAgNSArKysrKwotIHQvcG9ydGluZy9jdXN0b21pemVkLnQgfCAgMSArCi0gdC90ZXN0LnBsICAgICAgICAgICAgICB8ICAzICsrKwotIDYgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBQQUNLQUdJTkcKLQotZGlmZiAtLWdpdCBhL0lOU1RBTEwgYi9JTlNUQUxMCi1pbmRleCA2MzZmNGJkNTJmLi4xMjg1ZmM2OWEyIDEwMDY0NAotLS0tIGEvSU5TVEFMTAotKysrIGIvSU5TVEFMTAotQEAgLTI3MTQsNCArMjcxNCw1IEBAIFRoaXMgZG9jdW1lbnQgaXMgcGFydCBvZiB0aGUgUGVybCBwYWNrYWdlIGFuZCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKLSB0aGUgc2FtZSB0ZXJtcyBhcyBwZXJsIGl0c2VsZiwgd2l0aCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgcmVxdWVzdDoKLSBJZiB5b3UgYXJlIGRpc3RyaWJ1dGluZyBhIG1vZGlmaWVkIHZlcnNpb24gb2YgcGVybCAocGVyaGFwcyBhcyBwYXJ0IG9mCi0gYSBsYXJnZXIgcGFja2FnZSkgcGxlYXNlIEI8ZG8+IG1vZGlmeSB0aGVzZSBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zCi0tYW5kIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIHRvIG1hdGNoIHlvdXIgZGlzdHJpYnV0aW9uLgotK2FuZCB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiB0byBtYXRjaCB5b3VyIGRpc3RyaWJ1dGlvbi4gQWRkaXRpb25hbAotK2luZm9ybWF0aW9uIGZvciBwYWNrYWdlcnMgaXMgaW4gRjxQQUNLQUdJTkc+LgotZGlmZiAtLWdpdCBhL01BTklGRVNUIGIvTUFOSUZFU1QKLWluZGV4IGIzMjA3MDMwYTkuLjMyZGU4MjRjYTEgMTAwNjQ0Ci0tLS0gYS9NQU5JRkVTVAotKysrIGIvTUFOSUZFU1QKLUBAIC00OTMyLDYgKzQ5MzIsNyBAQCBvczIvcGVybHJleHguYwkJCVN1cHBvcnQgcGVybCBpbnRlcnByZXRlciBlbWJlZGRlZCBpbiBSRVhYCi0gb3MyL3BlcmxyZXh4LmNtZAkJVGVzdCBwZXJsIGludGVycHJldGVyIGVtYmVkZGVkIGluIFJFWFgKLSBvdmVybG9hZC5oCQkJZ2VuZXJhdGVkIG92ZXJsb2FkIGVudW0gKHB1YmxpYykKLSBvdmVybG9hZC5pbmMJCQlnZW5lcmF0ZWQgb3ZlcmxvYWQgbmFtZSB0YWJsZSAoaW1wbGVtZW50YXRpb24pCi0rUEFDS0FHSU5HCQkJbm90ZXMgYW5kIGJlc3QgcHJhY3RpY2UgZm9yIHBhY2thZ2luZyBwZXJsIDUKLSBwYWNrc2l6ZXRhYmxlcy5pbmMJCVRoZSBnZW5lcmF0ZWQgcGFja3Byb3BzIGFycmF5IHVzZWQgaW4gcHBfcGFjay5jCi0gcGFkLmMJCQkJU2NyYXRjaHBhZCBmdW5jdGlvbnMKLSBwYWQuaAkJCQlTY3JhdGNocGFkIGhlYWRlcnMKLWRpZmYgLS1naXQgYS9QQUNLQUdJTkcgYi9QQUNLQUdJTkcKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4wYzY5Yjg3YmE2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9QQUNLQUdJTkcKLUBAIC0wLDAgKzEsMzAgQEAKLStJZiB5b3UgcmVhZCB0aGlzIGZpbGUgX2FzX2lzXywganVzdCBpZ25vcmUgdGhlIGZ1bm55IGNoYXJhY3RlcnMgeW91Ci0rc2VlLiAgSXQgaXMgd3JpdHRlbiBpbiB0aGUgUE9EIGZvcm1hdCAoc2VlIHBvZC9wZXJscG9kLnBvZCkgd2hpY2ggaXMKLStzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gYmUgcmVhZGFibGUgYXMgaXMuCi0rCi0rPWhlYWQxIE5BTUUKLSsKLStQQUNLQUdJTkcgLSBub3RlcyBhbmQgYmVzdCBwcmFjdGljZSBmb3IgcGFja2FnaW5nIHBlcmwgNQotKwotKz1oZWFkMSBTWU5PUFNJUwotKwotK1RoaXMgZG9jdW1lbnQgaXMgYWltZWQgYXQgYW55b25lIHdobyBpcyBwcm9kdWNpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YKLStwZXJsIGZvciBkaXN0cmlidXRpb24gdG8gb3RoZXIgdXNlcnMuIEl0IGlzIGludGVuZGVkIGFzIGEgY29sbGVjdGlvbgotK29mIHVzZWZ1bCB0aXBzLCBhZHZpY2UgYW5kIGJlc3QgcHJhY3RpY2UsIHJhdGhlciB0aGFuIGJlaW5nIGEgY29tcGxldGUKLStwYWNrYWdpbmcgbWFudWFsLiBUaGUgc3RhcnRpbmcgcG9pbnQgZm9yIGluc3RhbGxpbmcgcGVybCByZW1haW5zCi0rRjxJTlNUQUxMPi4KLSsKLSs9aGVhZDEgQ3VzdG9taXppbmcgdGVzdCBydW5uaW5nCi0rCi0rQSBzbWFsbCBudW1iZXIgb2YgcG9ydGluZyB0ZXN0cyAodGhvc2UgaW4gdC9wb3J0aW5nKSBhcmUgbm90IHdlbGwgc3VpdGVkCi0rdG8gdHlwaWNhbCBkaXN0cmlidXRpb24gcGFja2FnaW5nIHNjZW5hcmlvcy4gRm9yIGV4YW1wbGUsIHRoZXkgYXNzdW1lCi0rdGhleSBhcmUgd29ya2luZyBpbiBhIGdpdCBjbG9uZSBvZiB0aGUgdXBzdHJlYW0gUGVybCByZXBvc2l0b3J5LCBvcgotK2VuZm9yY2UgcnVsZXMgd2hpY2ggYXJlIG5vdCByZWxldmFudCB0byBkb3duc3RyZWFtIHBhY2thZ2Vycy4gVGhlc2UgY2FuCi0rYmUgc2tpcHBlZCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBQRVJMX0JVSUxEX1BBQ0tBR0lORy4KLStBIGNvbXBsZXRlIGxpc3Qgb2YgdGVzdHMgd2hpY2ggdGhpcyBhcHBsaWVkIHRvIGNhbiBiZSBmb3VuZCBieSBzZWFyY2hpbmcKLSt0aGUgY29kZWJhc2UgZm9yIHRoaXMgc3RyaW5nLgotKwotK0FuIGFsdGVybmF0aXZlIHN0cmF0ZWd5IHdvdWxkIGJlIHRvIHNraXAgYWxsIHBvcnRpbmcgdGVzdHMsIGJ1dCBtYW55IG9mCi0rdGhlbSBhcmUgdXNlZnVsIGlmIGFkZGl0aW9uYWwgcGF0Y2hlcyBtaWdodCBiZSBhcHBsaWVkLgotKwotKz1jdXQKLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCA1ZTQwYjQwNWE0Li42Y2FmNzRhNTYzIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTY0LDYgKzE2NCwxMSBAQCBpZiAoJFRBUCAmJiAhLWQgJy5naXQnICYmICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIGV4aXQgMDsKLSB9Ci0gCi0raWYgKCRFTlZ7J1BFUkxfQlVJTERfUEFDS0FHSU5HJ30pIHsKLSsgICAgcHJpbnQgIm9rICMgc2tpcCBleHBsaWNpdGx5IGRpc2FibGVkIGdpdCB0ZXN0cyBieSBQRVJMX0JVSUxEX1BBQ0tBR0lOR1xuIjsKLSsgICAgZXhpdCAwOwotK30KLSsKLSAkZmggPSBvcGVuX25ldygnbGliLy5naXRpZ25vcmUnLCAnPicsCi0gICAgICAgICAgICAgICAgeyBieSA9PiAkMCwKLSAgICAgICAgICAgICAgICAgIGZyb20gPT4gJ01BTklGRVNUIGFuZCBwYXJzaW5nIGZpbGVzIGluIGNwYW4vIGRpc3QvIGFuZCBleHQvJ30pOwotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiMTAwLi41YzM3MzkxOThjIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEzLDYgKzEzLDcgQEAgQkVHSU4gewotICAgICBASU5DID0gcXcobGliIFBvcnRpbmcgdCk7Ci0gICAgIHJlcXVpcmUgJ3Rlc3QucGwnOwotICAgICBza2lwX2FsbCgicHJlLWNvbXB1dGVkIFNIQTEgd29uJ3QgbWF0Y2ggdW5kZXIgRUJDRElDIikgaWYgJDo6SVNfRUJDRElDOwotKyAgICBza2lwX2FsbCgiVGhpcyBkaXN0cm8gbWF5IGhhdmUgbW9kaWZpZWQgc29tZSBmaWxlcyBpbiBjcGFuLy4gU2tpcHBpbmcgdmFsaWRhdGlvbi4iKSBpZiAkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9OwotIH0KLSAKLSB1c2Ugc3RyaWN0OwotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggNzllNmUyNWU5NS4uMTc4MmRjZjczYyAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMjEyLDYgKzIxMiw5IEBAIHN1YiBmaW5kX2dpdF9vcl9za2lwIHsKLSAgICAgfSBlbHNlIHsKLSAJJHJlYXNvbiA9ICdub3QgYmVpbmcgcnVuIGZyb20gYSBnaXQgY2hlY2tvdXQnOwotICAgICB9Ci0rICAgIGlmICgkRU5WeydQRVJMX0JVSUxEX1BBQ0tBR0lORyd9KSB7Ci0rCSRyZWFzb24gPSAnUEVSTF9CVUlMRF9QQUNLQUdJTkcgaXMgc2V0JzsKLSsgICAgfQotICAgICBza2lwX2FsbCgkcmVhc29uKSBpZiAkX1swXSAmJiAkX1swXSBlcSAnYWxsJzsKLSAgICAgc2tpcCgkcmVhc29uLCBAXyk7Ci0gfQotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL0NWRS0yMDE4LTEyMDE1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzNkZWFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9DVkUtMjAxOC0xMjAxNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9QZXRyPTIwUD1DMz1BRHNhPUM1PTk5Pz0gPHBwaXNhckByZWRoYXQuY29tPgotRGF0ZTogRnJpLCA4IEp1biAyMDE4IDExOjQ1OjQwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0gUmVtb3ZlIGV4aXN0aW5nIGZpbGVzIGJlZm9yZSBvdmVyd3JpdGluZyB0aGVtCi0KLUFyY2hpdmUgc2hvdWxkIGV4dHJhY3Qgb25seSB0aGUgbGF0ZXN0IHNhbWUtbmFtZWQgZW50cnkuCi1FeHRyYWN0ZWQgcmVndWxhciBmaWxlIHNob3VsZCBub3QgYmUgd3JpdHRlbnQgaW50byBleGlzdGluZyBibG9jawotZGV2aWNlIChvciBhbnkgb3RoZXIgb25lKS4KLQotaHR0cHM6Ly9ydC5jcGFuLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNTUyMwotCi1DVkU6IENWRS0yMDE4LTEyMDE1Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGh1Yi5jb20vamliL2FyY2hpdmUtdGFyLW5ldy9jb21taXQvYWU2NTY1MWVhYjA1M2ZjNmRjNDU5MGRiYjg2M2EyNjgyMTVjMWZjNV0KLQotU2lnbmVkLW9mZi1ieTogQ2hyaXMgJ0JpbkdPcycgV2lsbGlhbXMgPGNocmlzQGJpbmdvc25ldC5jby51az4KLVNpZ25lZC1vZmYtYnk6IEphZ2FkZWVzaCBLcmlzaG5hbmphbmFwcGEgPGprcmlzaG5hbmphbmFwcGFAbXZpc3RhLmNvbT4KLS0tLQotIGxpYi9BcmNoaXZlL1Rhci5wbSB8IDE0ICsrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vQXJjaGl2ZS1UYXIvbGliL0FyY2hpdmUvVGFyLnBtIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLWluZGV4IDYyNDQzNjkuLmE4Mzk3NWYgMTAwNjQ0Ci0tLS0gYS9jcGFuL0FyY2hpdmUtVGFyL2xpYi9BcmNoaXZlL1Rhci5wbQotKysrIGIvY3Bhbi9BcmNoaXZlLVRhci9saWIvQXJjaGl2ZS9UYXIucG0KLUBAIC04NDUsNiArODQ1LDIwIEBAIHN1YiBfZXh0cmFjdF9maWxlIHsKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotKyAgICAjIyMgSWYgYSBmaWxlIHN5c3RlbSBhbHJlYWR5IGNvbnRhaW5zIGEgYmxvY2sgZGV2aWNlIHdpdGggdGhlIHNhbWUgbmFtZSBhcwotKyAgICAjIyMgdGhlIGJlaW5nIGV4dHJhY3RlZCByZWd1bGFyIGZpbGUsIHdlIHdvdWxkIHdyaXRlIHRoZSBmaWxlJ3MgY29udGVudAotKyAgICAjIyMgdG8gdGhlIGJsb2NrIGRldmljZS4gU28gcmVtb3ZlIHRoZSBleGlzdGluZyBmaWxlIChibG9jayBkZXZpY2UpIG5vdy4KLSsgICAgIyMjIElmIGFuIGFyY2hpdmUgY29udGFpbnMgbXVsdGlwbGUgc2FtZS1uYW1lZCBlbnRyaWVzLCB0aGUgbGFzdCBvbmUKLSsgICAgIyMjIHNob3VsZCByZXBsYWNlIHRoZSBwcmV2aW91cyBvbmVzLiBTbyByZW1vdmUgdGhlIG9sZCBmaWxlIG5vdy4KLSsgICAgIyMjIElmIHRoZSBvbGQgZW50cnkgaXMgYSBzeW1saW5rIHRvIGEgZmlsZSBvdXRzaWRlIG9mIHRoZSBDV0QsIHRoZSBuZXcKLSsgICAgIyMjIGVudHJ5IHdvdWxkIGNyZWF0ZSBhIGZpbGUgdGhlcmUuIFRoaXMgaXMgQ1ZFLTIwMTgtMTIwMTUKLSsgICAgIyMjIDxodHRwczovL3J0LmNwYW4ub3JnL1RpY2tldC9EaXNwbGF5Lmh0bWw/aWQ9MTI1NTIzPi4KLSsgICAgaWYgKC1sICRmdWxsIHx8IC1lIF8pIHsKLSsJaWYgKCF1bmxpbmsgJGZ1bGwpIHsKLSsJICAgICRzZWxmLT5fZXJyb3IoIHFxW0NvdWxkIG5vdCByZW1vdmUgb2xkIGZpbGUgJyRmdWxsJzogJCFdICk7Ci0rCSAgICByZXR1cm47Ci0rCX0KLSsgICAgfQotICAgICBpZiggbGVuZ3RoICRlbnRyeS0+dHlwZSAmJiAkZW50cnktPmlzX2ZpbGUgKSB7Ci0gICAgICAgICBteSAkZmggPSBJTzo6RmlsZS0+bmV3OwotICAgICAgICAgJGZoLT5vcGVuKCAnPicgLiAkZnVsbCApIG9yICgKLS0tIAotMi4xMy4zCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvQ29uZmlndXJlLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjI1YjBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9Db25maWd1cmUtbXVsdGlsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6UGVuZGluZwotCi1JbmRleDogcGVybC01LjEyLjMvQ29uZmlndXJlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjEyLjMub3JpZy9Db25maWd1cmUKLSsrKyBwZXJsLTUuMTIuMy9Db25maWd1cmUKLUBAIC0xMzE2LDggKzEzMTYsOSBAQCBsb2NsaWJwdGg9Ii91c3IvbG9jYWwvbGliIC9vcHQvbG9jYWwvbGliCi0gbG9jbGlicHRoPSIkbG9jbGlicHRoIC9vcHQvZ251L2xpYiAvdXNyL0dOVS9saWIgL29wdC9HTlUvbGliIgotIAotIDogZ2VuZXJhbCBsb29raW5nIHBhdGggZm9yIGxvY2F0aW5nIGxpYnJhcmllcwotLWdsaWJwdGg9Ii9saWIgL3Vzci9saWIgJHhsaWJwdGgiCi0rZ2xpYnB0aD0iL2xpYiAvdXNyL2xpYiAvbGliNjQgL3Vzci9saWI2NCAkeGxpYnB0aCIKLSBnbGlicHRoPSIkZ2xpYnB0aCAvdXNyL2Njcy9saWIgL3Vzci91Y2JsaWIgL3Vzci9sb2NhbC9saWIiCi0rdGVzdCAtZiAvdXNyL2xpYi8qLWxpbnV4LWdudS9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3IvbGliLyotbGludXgtZ251ICRnbGlicHRoIgotIHRlc3QgLWYgL3Vzci9zaGxpYi9saWJjLnNvICYmIGdsaWJwdGg9Ii91c3Ivc2hsaWIgJGdsaWJwdGgiCi0gdGVzdCAtZiAvc2hsaWIvbGliYy5zbyAgICAgJiYgZ2xpYnB0aD0iL3NobGliICRnbGlicHRoIgotIHRlc3QgLWQgL3Vzci9saWI2NCAgICAgICAgICYmIGdsaWJwdGg9IiRnbGlicHRoIC9saWI2NCAvdXNyL2xpYjY0IC91c3IvbG9jYWwvbGliNjQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTU1fVW5peC5wbS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjkyY2NiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NTV9Vbml4LnBtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOlBlbmRpbmcKLQotVGhlIHBlcmwtbmF0aXZlIHNob3VsZCBiZSByZWxvY2F0YWJsZSB3aGlsZSByZS11c2Ugc3N0YXRlLWNhY2hlIGZyb20KLWFub3RoZXIgYnVpbGQsIGVzcGVjaWFsbHkgdGhlIG9yaWdpbmFsIGJ1aWxkIHdhcyByZW5hbWVkL3JlbW92ZWQuCi0KLVRvIGdldCB0aGUgTWFrZU1ha2VyLnBtIHdvcmtzIGluIHRoaXMgY2FzZSwgd2UgbmVlZCBwZXJsIHdyYXBwZXIgaGVyZQotaW5zdGVhZCBvZiByZWFsIHBlcmwgYmluYXJ5LgotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbS5vcmlnCTIwMTEtMDgtMTIgMTY6MDc6MzAuMDAwMDAwMDAwICswODAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAxMS0wOC0xMiAxNjowODo1Ni4wMDAwMDAwMDAgKzA4MDAKLUBAIC0xMDE5LDYgKzEwMTksOSBAQAotICAgICB9Ci0gCi0gICAgIGZvcmVhY2ggbXkgJG5hbWUgKEAkbmFtZXMpewotKyAgICAgICAgIyBHZXR0aW5nIE1ha2VNYWtlci5wbSB1c2UgcGVybCB3cmFwcGVyIGluc3RlYWQgb2YgJ3BlcmwucmVhbCcgZGlyZWN0bHkKLSsgICAgICAgICRuYW1lID1+IHMvcGVybFwucmVhbC9wZXJsLyBpZiAoJG5hbWUgPX4gL3BlcmxcLnJlYWwvKTsKLSsKLSAgICAgICAgIGZvcmVhY2ggbXkgJGRpciAoQCRkaXJzKXsKLSAgICAgICAgICAgICBuZXh0IHVubGVzcyBkZWZpbmVkICRkaXI7ICMgJHNlbGYtPntQRVJMX1NSQ30gbWF5IGJlIHVuZGVmaW5lZAotICAgICAgICAgICAgIG15ICgkYWJzLCAkdmFsKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5TSC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTRjMzQyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvTWFrZWZpbGUuU0gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzODMgKzAsMCBAQAotRnJvbSA0ZGQ5ZjNmODFkOGM4MWM5NmZmMWVhMDg5MGVhNTU2ODVmMjhiN2U5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxIEp1bCAyMDE0IDE1OjUxOjUzICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggMjgvNDldIHBlcmwsIHBlcmwtbmF0aXZlLCBwZXJsLXB0ZXN0OiB1cGdyYWRlIGZyb20gNS4xNC4zIHRvCi0gNS4yMC4wCi0KLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBNYWtlZmlsZS5TSCB8IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgNzkgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC40Lm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuNC9NYWtlZmlsZS5TSAotQEAgLTQ4LDEwICs0OCwxMCBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCSNjYXNlICIkTERfTElCUkFSWV9QQVRIIiBpbgotKwkjJycpICBsZGxpYnB0aD0iTERfTElCUkFSWV9QQVRIPWAgcXVvdGUgIiRwd2QiIGAiIDs7Ci0rCSMqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotKwkjZXNhYwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTEzMSwxMCArMTMxLDExIEBAIHRydWUpCi0gCSAgICAqKQotIAkJZXZhbCAibGRsaWJwdGh2YWw9XCJcJCRsZGxpYnB0aG5hbWVcIiIKLSAKLS0JCWNhc2UgIiRsZGxpYnB0aHZhbCIgaW4KLS0JCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLS0JCSopICAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkbGRsaWJwdGh2YWwiIGAiIDs7Ci0tCQllc2FjCi0rIyBXZSBjb21waWxlIGluIHRoZSBsaWJyYXJ5IHBhdGggaW4gT0UgZnJvbSBjcm9zcy1jb21waWxlLCBzbyBsZXRzIG5vdCBkbyB0aGlzCi0rIwkJY2FzZSAiJGxkbGlicHRodmFsIiBpbgotKyMJCScnKSAgbGRsaWJwdGg9IiRsZGxpYnB0aG5hbWU9YCBxdW90ZSAiJHB3ZCIgYCIgOzsKLSsjCQkqKSAgIGxkbGlicHRoPSIkbGRsaWJwdGhuYW1lPWAgcXVvdGUgIiRwd2QiIGA6YCBxdW90ZSAiJGxkbGlicHRodmFsIiBgIiA7OwotKyMJCWVzYWMKLSAKLSAJCTs7Ci0gCSAgICBlc2FjCi1AQCAtMTUwLDE4ICsxNTEsNyBAQCB0cnVlKQotIAkgICAgIyBJTlNUQUxMIGZpbGUsIHVuZGVyICJCdWlsZGluZyBhIHNoYXJlZCBwZXJsIGxpYnJhcnkiLgotIAkgICAgIyBJZiB0aGVyZSBpcyBubyBwcmUtZXhpc3RpbmcgJGxpYnBlcmwsIHdlIGRvbid0IG5lZWQKLSAJICAgICMgdG8gZG8gYW55dGhpbmcgZnVydGhlci4KLS0JICAgIGlmIHRlc3QgLWYgJGFyY2hsaWIvQ09SRS8kbGlicGVybDsgdGhlbgotLQkJcm0gLWYgcHJlbG9hZAotLQkJY2F0IDw8J0VPVCcgPiBwcmVsb2FkCi0tIyEgL2Jpbi9zaAotLWxpYj0kMQotLXNoaWZ0Ci0tdGVzdCAtciAkbGliICYmIGV4cG9ydCBMRF9QUkVMT0FEPSIkbGliICRMRF9QUkVMT0FEIgotLWV4ZWMgIiRAIgotLUVPVAotLQkJY2htb2QgNzU1IHByZWxvYWQKLS0JCWxkbGlicHRoPSIkbGRsaWJwdGggYHB3ZGAvcHJlbG9hZCBgcHdkYC8kbGlicGVybCIKLS0JICAgIGZpCi0rCSAgICBlY2hvIGxpbnV4IGxpYnJhcmllcyBvdmVyd3JpdHRlbiBieSBjcm9zcy1jb21waWxlIHBhdGNoZXMKLSAJICAgIDs7Ci0gCW9zMzkwKQl0ZXN0IC1mIC9iaW4vZW52ICYmIGxkbGlicHRoPSIvYmluL2VudiAkbGRsaWJwdGgiCi0gCQk7OwotQEAgLTU5NiwxMyArNTg2LDIzIEBAIHNwbGludGZpbGVzID0gJChjMSkKLSAJQGVjaG8gYCQoQ0NDTURTUkMpYCAtUyAkKi5jCi0gCUBgJChDQ0NNRFNSQylgIC1TICQqLmMKLSAKLS1hbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0tCUBlY2hvICIgIjsKLS0JQGVjaG8gIglFdmVyeXRoaW5nIGlzIHVwIHRvIGRhdGUuIFR5cGUgJyQoTUFLRSkgdGVzdCcgdG8gcnVuIHRlc3Qgc3VpdGUuIgotLQotLSQoTUFOSUZFU1RfU1JUKToJTUFOSUZFU1QgJChQRVJMX0VYRSkKLS0JQCQoUlVOX1BFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgfHwgKGVjaG8gIldBUk5JTkc6IHJlLXNvcnRpbmcgTUFOSUZFU1QiOyBcCi0tCSAgICAkKFJVTl9QRVJMKSBQb3J0aW5nL21hbmlzb3J0IC1xIC1vIE1BTklGRVNUOyBzaCAtYyB0cnVlKQotKyNhbGw6ICQoRklSU1RNQUtFRklMRSkgJChNSU5JUEVSTF9FWEUpICQoZ2VuZXJhdGVkX3BvZHMpICQocHJpdmF0ZSkgJCh1bmlkYXRhZmlsZXMpICQocHVibGljKSAkKGR5bmFtaWNfZXh0KSAkKG5vbnhzX2V4dCkgZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rIwlAZWNobyAiICI7Ci0rIwlAZWNobyAiCUV2ZXJ5dGhpbmcgaXMgdXAgdG8gZGF0ZS4gVHlwZSAnJChNQUtFKSB0ZXN0JyB0byBydW4gdGVzdCBzdWl0ZS4iCi0rCi0rYWxsOiAkKEZJUlNUTUFLRUZJTEUpICQoTUlOSVBFUkxfRVhFKSBtaW5pcGVybCAkKHVuaWRhdGFmaWxlcykKLSsKLSttb3JlOiAkKGdlbmVyYXRlZF9wb2RzKSAkKHByaXZhdGUpICQocHVibGljKQotKwotK21vcmUyOiAkKGR5bmFtaWNfZXh0KQotKwotK21vcmUzOiAkKG5vbnhzX2V4dCkKLSsKLSttb3JlNDogZXh0cmFzLm1ha2UgJChNQU5JRkVTVF9TUlQpCi0rCi0rJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVAotKwlAJChNSU5JUEVSTCkgUG9ydGluZy9tYW5pc29ydCAtcSB8fCAoZWNobyAiV0FSTklORzogcmUtc29ydGluZyBNQU5JRkVTVCI7IFwKLSsJICAgICQoTUlOSVBFUkwpIFBvcnRpbmcvbWFuaXNvcnQgLXEgLW8gTUFOSUZFU1Q7IHNoIC1jIHRydWUpCi0gCUB0b3VjaCAkKE1BTklGRVNUX1NSVCkKLSAKLSAuUEhPTlk6IGFsbCB1dGlsaXRpZXMKLUBAIC02MTEsNyArNjExLDcgQEAgJChNQU5JRkVTVF9TUlQpOglNQU5JRkVTVCAkKFBFUkxfRVhFKQotICMgYnkgbWFrZV9wYXRjaG51bS5wbC4KLSBnaXRfdmVyc2lvbi5oOiBsaWIvQ29uZmlnX2dpdC5wbAotIAotLWxpYi9Db25maWdfZ2l0LnBsOiAkKE1JTklQRVJMX0VYRSkgbWFrZV9wYXRjaG51bS5wbAotK2xpYi9Db25maWdfZ2l0LnBsOiBtYWtlX3BhdGNobnVtLnBsCi0gCSQoTUlOSVBFUkwpIG1ha2VfcGF0Y2hudW0ucGwKLSAKLSAjIG1ha2Ugc3VyZSB0aGF0IHdlIHJlY29tcGlsZSBwZXJsLmMgaWYgdGhlIGdpdCB2ZXJzaW9uIGNoYW5nZXMKLUBAIC02MjQsNyArNjI0LDcgQEAgcGVybCQoT0JKX0VYVCk6IGdpdF92ZXJzaW9uLmgKLSAjIGxvYWRpbmcsIHdlIG5lZWQgdG8gYnVpbGQgcGVybCBmaXJzdC4KLSBjYXNlICIkdXNlZGwkc3RhdGljX2N3ZCIgaW4KLSBkZWZpbmV1bmRlZikKLS0gICAgdXRpbF9kZXBzPSckKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgbGliL2F1dG8vQ3dkL0N3ZCQoRExTVUZGSVgpIEZPUkNFJwotKyAgICB1dGlsX2RlcHM9JyQoQ09ORklHUE0pIGxpYi9hdXRvL0N3ZC9Dd2QkKERMU1VGRklYKSBGT1JDRScKLSAgICAgOzsKLSBkZWZpbmVkZWZpbmUpCi0gICAgIHV0aWxfZGVwcz0nJChQRVJMX0VYRSkgJChDT05GSUdQTSkgRk9SQ0UnCi1AQCAtNjM0LDcgKzYzNCw3IEBAIGRlZmluZWRlZmluZSkKLSBlc2FjCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdXRpbHMvTWFrZWZpbGU6IFwkKE1JTklQRVJMX0VYRSkgXCQoQ09ORklHUE0pIHV0aWxzL01ha2VmaWxlLlBMCi0rdXRpbHMvTWFrZWZpbGU6IFwkKENPTkZJR1BNKSB1dGlscy9NYWtlZmlsZS5QTAotIAlcJChNSU5JUEVSTCkgLUlsaWIgdXRpbHMvTWFrZWZpbGUuUEwKLSAKLSB1dGlsaXRpZXM6CXV0aWxzL01ha2VmaWxlICR1dGlsX2RlcHMKLUBAIC03NDMsNyArNzQzLDcgQEAgZXh0LmxpYnM6ICQoc3RhdGljX2V4dCkKLSA7OwotICopCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0tcGVybG1haW4uYzogJChNSU5JUEVSTF9FWEUpIGV4dC9FeHRVdGlscy1NaW5pcGVybC9wbV90b19ibGliCi0rcGVybG1haW4uYzogZXh0L0V4dFV0aWxzLU1pbmlwZXJsL2xpYi9FeHRVdGlscy9NaW5pcGVybC5wbQotIAkkKE1JTklQRVJMKSAtSWxpYiAtTUV4dFV0aWxzOjpNaW5pcGVybCAtZSAnd3JpdGVtYWluKFwicGVybG1haW4uYyIsIEBBUkdWKScgRHluYUxvYWRlciAkKHN0YXRpY19leHQpCi0gCi0gIyBUaGUgZmlsZSBleHQubGlicyBpcyBhIGxpc3Qgb2YgbGlicmFyaWVzIHRoYXQgbXVzdCBiZSBsaW5rZWQgaW4KLUBAIC04MDYsNyArODA2LDcgQEAgUEVSTEVYUE9SVAkJPSBwZXJsLmV4cAotIAk7OwotIAllc2FjCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXBlcmwuZXhwOiAkKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsICQoQ09ORklHUE0pICQoU1lNKSAkKFNZTUgpCi0rcGVybC5leHA6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkKLSAJLi8kKE1JTklQRVJMRVhQKSBtYWtlZGVmLnBsIC0tc29ydC1mb2xkIFBMQVRGT1JNPWFpeCBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybC5leHAKLSAKLSAhTk8hU1VCUyEKLUBAIC04MTUsNyArODE1LDcgQEAgb3MyKQotIAkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBNSU5JUEVSTEVYUAkJPSBtaW5pcGVybAotIAotLXBlcmw1LmRlZjogJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCAkKENPTkZJR1BNKSAkKFNZTSkgJChTWU1IKSBtaW5pcGVybC5tYXAKLStwZXJsNS5kZWY6IG1ha2VkZWYucGwgJChDT05GSUdQTSkgJChTWU0pICQoU1lNSCkgbWluaXBlcmwubWFwCi0gCS4vJChNSU5JUEVSTEVYUCkgbWFrZWRlZi5wbCBQTEFURk9STT1vczIgLURQRVJMX0RMTD0kKFBFUkxfRExMKSBDQ19GTEFHUz0iJChPUFRJTUlaRSkiID4gcGVybDUuZGVmCi0gCi0gIU5PIVNVQlMhCi1AQCAtODc4LDcgKzg3OCw3IEBAICQoTElCUEVSTCk6ICQmICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0EKLSAJdHJ1ZSkKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIAlybSAtZiAkQAotLQkkKExEKSAtbyAkQCAkKFNIUlBMREZMQUdTKSAkKHBlcmxsaWJfb2JqcykgJChEWU5BTE9BREVSKSAkKGxpYnMpCi0rCSQoTEQpIC1vICRAICQoU0hSUExERkxBR1MpICQocGVybGxpYl9vYmpzKSAkKERZTkFMT0FERVIpICQobGlicykgLVdsLC1zb25hbWUsbGlicGVybC5zby41Ci0gIU5PIVNVQlMhCi0gCQljYXNlICIkb3NuYW1lIiBpbgotIAkJYWl4KQotQEAgLTkzNiwxNSArOTM2LDE5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmoKLSAJCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogJCYgJChtaW5pcGVybF9vYmpzKQotIAkkKENDKSAtbyAkKE1JTklQRVJMX0VYRSkgJChDTERGTEFHUykgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQk7OwotIAluZXh0NCopCi0gCQkkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2Jqcykgd3JpdGUgICAgbGRjdXN0b21pemUucGwKLS0JJChDQykgLW8gJChNSU5JUEVSTF9FWEUpICQobWluaXBlcmxfb2JqcyAgICBsaWJzKQotLQkkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUICAgIF9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0rCSQoQ0MpIC1vICQoTUlOSVBFUkxfRVhFKSAkKG1pbmlwZXJsX29ianMgICBsaWJzKQotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1QgICAgX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgICAgCi0gIU5PIVNVQlMhCi0gCQk7OwotQEAgLTk2Niw3ICs5NzAsOSBAQCBsaWIvYnVpbGRjdXN0b21pemUucGw6ICQmICQobWluaXBlcmxfb2JqCi0gCS1Acm0gLWYgbWluaXBlcmwueG9rCi0gCSQoQ0MpICQoQ0xERkxBR1MpICQoTkFNRVNQQUNFRkxBR1MpIC1vICQoTUlOSVBFUkxfRVhFKSBcCi0gCSAgICAkKG1pbmlwZXJsX29ianMpICQobGlicykKLS0JJChMRExJQlBUSCkgLi9taW5pcGVybCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJIyQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSAJJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwKLSAhTk8hU1VCUyEKLSAJCTs7Ci1AQCAtOTc3LDcgKzk4Myw5IEBAIGxpYi9idWlsZGN1c3RvbWl6ZS5wbDogXCQmIFwkKG1pbmlwZXJsX28KLSAJLUBybSAtZiBtaW5pcGVybC54b2sKLSAJLUBybSBcJChNSU5JUEVSTF9FWEUpCi0gCVwkKExOUykgXCQoSE9TVF9QRVJMKSBcJChNSU5JUEVSTF9FWEUpCi0tCVwkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotKwltdiAtZiBtaW5pcGVybCBtaW5pcGVybC10YXJnZXQKLSsJbG4gLXMgaG9zdHBlcmwgbWluaXBlcmwKLSsJI1wkKExETElCUFRIKSAuL21pbmlwZXJsXCQoSE9TVF9FWEVfRVhUKSAtdyAtSWxpYiAtSWRpc3QvRXhwb3J0ZXIvbGliIC1NRXhwb3J0ZXIgLWUgJzw/PicgfHwgc2ggLWMgJ2VjaG8gPiYyIEZhaWxlZCB0byBidWlsZCBtaW5pcGVybC4gIFBsZWFzZSBydW4gbWFrZSBtaW5pdGVzdDsgZXhpdCAxJwotIAlcJChNSU5JUEVSTCkgLWYgd3JpdGVfYnVpbGRjdXN0b21pemUucGwgJ29zbmFtZScgIiRvc25hbWUiCi0gIUdST0shVEhJUyEKLSAJCWVsc2UKLUBAIC05ODYsNyArOTk0LDkgQEAgbGliL2J1aWxkY3VzdG9taXplLnBsOiAkJiAkKG1pbmlwZXJsX29iagotIAktQHJtIC1mIG1pbmlwZXJsLnhvawotIAkkKENDKSAkKENMREZMQUdTKSAtbyAkKE1JTklQRVJMX0VYRSkgXAotIAkgICAgJChtaW5pcGVybF9vYmpzKSAkKGxpYnMpCi0tCSQoTERMSUJQVEgpIC4vbWluaXBlcmwkKEhPU1RfRVhFX0VYVCkgLXcgLUlsaWIgLUlkaXN0L0V4cG9ydGVyL2xpYiAtTUV4cG9ydGVyIC1lICc8Pz4nIHx8IHNoIC1jICdlY2hvID4mMiBGYWlsZWQgdG8gYnVpbGQgbWluaXBlcmwuICBQbGVhc2UgcnVuIG1ha2UgbWluaXRlc3Q7IGV4aXQgMScKLSsJbXYgLWYgbWluaXBlcmwgbWluaXBlcmwtdGFyZ2V0Ci0rCWxuIC1zIGhvc3RwZXJsIG1pbmlwZXJsCi0rCSMkKExETElCUFRIKSAuL21pbmlwZXJsJChIT1NUX0VYRV9FWFQpIC13IC1JbGliIC1JZGlzdC9FeHBvcnRlci9saWIgLU1FeHBvcnRlciAtZSAnPD8+JyB8fCBzaCAtYyAnZWNobyA+JjIgRmFpbGVkIHRvIGJ1aWxkIG1pbmlwZXJsLiAgUGxlYXNlIHJ1biBtYWtlIG1pbml0ZXN0OyBleGl0IDEnCi0gCSQoTUlOSVBFUkwpIC1mIHdyaXRlX2J1aWxkY3VzdG9taXplLnBsCi0gIU5PIVNVQlMhCi0gCQlmaQotQEAgLTEwMzYsNyArMTA0Niw3IEBAIGNhc2UgIiR7b3NuYW1lfSIgaW4KLSBjYXRhbW91bnQpCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0gLlBIT05ZOiBtYWtlcHBwb3J0Ci0tbWFrZXBwcG9ydDogXCQoTUlOSVBFUkxfRVhFKSBcJChDT05GSUdQTSkKLSttYWtlcHBwb3J0OiBcJChDT05GSUdQTSkKLSAJLUBmb3IgZiBpbiBNYWtlZmlsZS5QTCBQUFBvcnRfcG0uUEwgUFBQb3J0X3hzLlBMIHBwcG9ydF9oLlBMOyBkbyBcCi0gCShjZCBleHQvRGV2ZWwtUFBQb3J0ICYmIGBwd2RgL3J1bi5zaCAuLi8uLi8kKE1JTklQRVJMX0VYRSkgLUkuLi8uLi9saWIgXCRcJGYpOyBcCi0gCWRvbmUKLUBAIC0xMDQ2LDcgKzEwNTYsNyBAQCBtYWtlcHBwb3J0OiBcJChNSU5JUEVSTF9FWEUpIFwkKENPTkZJR1BNCi0gKikKLSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLSAuUEhPTlk6IG1ha2VwcHBvcnQKLS1tYWtlcHBwb3J0OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChub254c19leHQpCi0rbWFrZXBwcG9ydDogJChDT05GSUdQTSkgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIG1rcHBwb3J0Ci0gCi0gIU5PIVNVQlMhCi1AQCAtMTA1NiwxNiArMTA2NiwxNiBAQCBlc2FjCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gCi0gLlBIT05ZOiBwcmVwbGlicmFyeQotLXByZXBsaWJyYXJ5OiAkKE1JTklQRVJMX0VYRSkgJChDT05GSUdQTSkgJChQUkVQTElCUkFSWV9MSUJQRVJMKQotK3ByZXBsaWJyYXJ5OiAkKENPTkZJR1BNKSAkKFBSRVBMSUJSQVJZX0xJQlBFUkwpCi0gCi0gJChDT05GSUdQTV9GUk9NX0NPTkZJR19TSCk6ICQoQ09ORklHUE9EKQotIAotLSQoQ09ORklHUE9EKTogY29uZmlnLnNoICQoTUlOSVBFUkxfRVhFKSBjb25maWdwbSBQb3J0aW5nL0dsb3NzYXJ5IGxpYi9Db25maWdfZ2l0LnBsCi0rJChDT05GSUdQT0QpOiBjb25maWcuc2ggY29uZmlncG0gUG9ydGluZy9HbG9zc2FyeSBsaWIvQ29uZmlnX2dpdC5wbAotIAkkKE1JTklQRVJMKSBjb25maWdwbQotIAotIHVuaWRhdGFmaWxlcyAkKHVuaWRhdGFmaWxlcykgcG9kL3Blcmx1bmlwcm9wcy5wb2Q6IHVuaS5kYXRhCi0gCi0tdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaWIvdW5pY29yZS9ta3RhYmxlcyAkKG5vbnhzX2V4dCkKLSt1bmkuZGF0YTogJChDT05GSUdQTSkgbGliL3VuaWNvcmUvbWt0YWJsZXMgJChub254c19leHQpCi0gCSQoTUlOSVBFUkwpIGxpYi91bmljb3JlL21rdGFibGVzIC1DIGxpYi91bmljb3JlIC1QIHBvZCAtbWFrZXRlc3QgLW1ha2VsaXN0IC1wCi0gIwlDb21tZW50ZWQgb3V0IHNvIGFsd2F5cyBydW5zLCBta3RhYmxlcyBsb29rcyBhdCBmYXIgbW9yZSBmaWxlcyB0aGFuIHdlCi0gIwljYW4gaW4gdGhpcyBtYWtlZmlsZSB0byBkZWNpZGUgaWYgbmVlZHMgdG8gcnVuIG9yIG5vdAotQEAgLTEwNzQsMTIgKzEwODQsMTIgQEAgdW5pLmRhdGE6ICQoTUlOSVBFUkxfRVhFKSAkKENPTkZJR1BNKSBsaQotICMgJChQRVJMX0VYRSkgYW5kIGV4dCBiZWNhdXNlIHBvZF9saWIucGwgbmVlZHMgRGlnZXN0OjpNRDUKLSAjIEJ1dCBhbHNvIHRoaXMgZW5zdXJlcyB0aGF0IGFsbCBleHRlbnNpb25zIGFyZSBidWlsdCBiZWZvcmUgd2UgdHJ5IHRvIHNjYW4KLSAjIHRoZW0sIHdoaWNoIHBpY2tzIHVwIERldmVsOjpQUFBvcnQncyBkb2N1bWVudGF0aW9uLgotLXBvZC9wZXJsdG9jLnBvZDogJChwZXJsdG9jX3BvZF9wcmVyZXFzKSAgJChQRVJMX0VYRSkgJChleHQpIHBvZC9idWlsZHRvYwotLQkkKFJVTl9QRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLStwb2QvcGVybHRvYy5wb2Q6ICQocGVybHRvY19wb2RfcHJlcmVxcykgJChleHQpIHBvZC9idWlsZHRvYwotKwkkKE1JTklQRVJMKSAtZiBwb2QvYnVpbGR0b2MgLXEKLSAKLSBwb2QvcGVybGFwaS5wb2Q6IHBvZC9wZXJsaW50ZXJuLnBvZAotIAotLXBvZC9wZXJsaW50ZXJuLnBvZDogJChNSU5JUEVSTF9FWEUpIGF1dG9kb2MucGwgZW1iZWQuZm5jCi0rcG9kL3BlcmxpbnRlcm4ucG9kOiBhdXRvZG9jLnBsIGVtYmVkLmZuYwotIAkkKE1JTklQRVJMKSBhdXRvZG9jLnBsCi0gCi0gcG9kL3Blcmxtb2RsaWIucG9kOiAkKE1JTklQRVJMX0VYRSkgcG9kL3Blcmxtb2RsaWIuUEwgTUFOSUZFU1QKLUBAIC0xMDg5LDcgKzEwOTksNyBAQCBwb2QvcGVybDUyNDRkZWx0YS5wb2Q6IHBvZC9wZXJsZGVsdGEucG9kCi0gCSQoUk1TKSBwb2QvcGVybDUyNDRkZWx0YS5wb2QKLSAJJChMTlMpIHBlcmxkZWx0YS5wb2QgcG9kL3Blcmw1MjQ0ZGVsdGEucG9kCi0gCi0tZXh0cmEucG9kczogJChNSU5JUEVSTF9FWEUpCi0rZXh0cmEucG9kczoKLSAJLUB0ZXN0ICEgLWYgZXh0cmEucG9kcyB8fCBybSAtZiBgY2F0IGV4dHJhLnBvZHNgCi0gCS1Acm0gLWYgZXh0cmEucG9kcwotIAktQGZvciB4IGluIGBncmVwIC1sICdePVthLXpdJyBSRUFETUUuKiB8IGdyZXAgLXYgUkVBRE1FLnZtc2AgOyBkbyBcCi1AQCAtMTEzMyw4ICsxMTQzLDcgQEAgRU9UCi0gICAgICAgICAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8RU9UCi0gCi0gaW5zdGFsbF8kbmFtZSBpbnN0YWxsLSRuYW1lOiBcJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsIGFsbCBpbnN0YWxsbWFuCi0tCVwkKFJVTl9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzIFwkKElOU1RBTExGTEFHUykgXCQoU1RSSVBGTEFHUykKLS0JXCQoUlVOX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPVwkKERFU1RESVIpICRmbGFncwotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9XCQoREVTVERJUikgJGZsYWdzICBcJChJTlNUQUxMRkxBR1MpIFwkKFNUUklQRkxBR1MpCi0gRU9UCi0gICAgIGZpCi0gCi1AQCAtMTE0NCwxMSArMTE1Myw3IEBAIGRvbmUKLSBpZiB0ZXN0ICJYJGhvc3RwZXJsIiAhPSBYOyB0aGVuCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoSE9TVF9QRVJMKSBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotLQktQHRlc3QgISAtcyBleHRyYXMubHN0IHx8ICQoTUFLRSkgZXh0cmFzLmluc3RhbGwKLS0KLS1pbnN0YWxsLm1hbjoJYWxsIGluc3RhbGxtYW4KLS0JJChIT1NUX1BFUkwpIGluc3RhbGxtYW4gLS1kZXN0ZGlyPSQoREVTVERJUikgJChJTlNUQUxMRkxBR1MpCi0rCS4vaG9zdHBlcmwgLUlmYWtlX2NvbmZpZ19saWJyYXJ5IC1JbGliIC1NQ29uZmlnIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0gCi0gIyBYWFggRXhwZXJpbWVudGFsLiBIYXJkd2lyZWQgdmFsdWVzLCBidXQgdXNlZnVsIGZvciB0ZXN0aW5nLgotICMgRXZlbnR1YWxseSBDb25maWd1cmUgY291bGQgYXNrIGZvciBzb21lIG9mIHRoZXNlIHZhbHVlcy4KLUBAIC0xMTY2LDI0ICsxMTcxLDggQEAgaW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLSBlbHNlCi0gCSRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotIGluc3RhbGwucGVybDoJJChJTlNUQUxMX0RFUEVOREVOQ0UpIGluc3RhbGxwZXJsCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxwZXJsIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKSAkKFNUUklQRkxBR1MpCi0tCS1AdGVzdCAhIC1zIGV4dHJhcy5sc3QgfHwgUEFUSD0iYHB3ZGA6XCR7UEFUSH0iIFBFUkw1TElCPSJgcHdkYC9saWIiIFwkKFJVTl9QRVJMKSAtSWxpYiAtTUNQQU4gLWUgJ0BBUkdWJiZpbnN0YWxsKEBBUkdWKScgYGNhdCBleHRyYXMubHN0YAotLQotLWluc3RhbGwubWFuOglhbGwgaW5zdGFsbG1hbgotLQkkKFJVTl9QRVJMKSBpbnN0YWxsbWFuIC0tZGVzdGRpcj0kKERFU1RESVIpICQoSU5TVEFMTEZMQUdTKQotKwkuL2hvc3RwZXJsIC1JZmFrZV9jb25maWdfbGlicmFyeSAtSWxpYiAtTUNvbmZpZyBpbnN0YWxscGVybCAtLWRlc3RkaXI9JChERVNURElSKSAkKElOU1RBTExGTEFHUykgJChTVFJJUEZMQUdTKQotIAotLSMgWFhYIEV4cGVyaW1lbnRhbC4gSGFyZHdpcmVkIHZhbHVlcywgYnV0IHVzZWZ1bCBmb3IgdGVzdGluZy4KLS0jIEV2ZW50dWFsbHkgQ29uZmlndXJlIGNvdWxkIGFzayBmb3Igc29tZSBvZiB0aGVzZSB2YWx1ZXMuCi0taW5zdGFsbC5odG1sOiBhbGwgaW5zdGFsbGh0bWwKLS0JLUB0ZXN0IC1mIFJFQURNRS52bXMgJiYgY2Qgdm1zICYmICQoTE5TKSAuLi9SRUFETUUudm1zIFJFQURNRV92bXMucG9kICYmIGNkIC4uCi0tCSQoUlVOX1BFUkwpIGluc3RhbGxodG1sICAgXAotLSAgICAgIC0tcG9kcm9vdD0uIC0tcG9kcGF0aD0uIC0tcmVjdXJzZSAgXAotLSAgICAgIC0taHRtbGRpcj0kKHByaXZsaWIpL2h0bWwgICBcCi0tICAgICAgLS1odG1scm9vdD0kKHByaXZsaWIpL2h0bWwgIFwKLS0gICAgICAtLXNwbGl0aGVhZD1wb2QvcGVybGlwYyAgICAgXAotLSAgICAgIC0tc3BsaXRpdGVtPXBvZC9wZXJsZnVuYyAgICBcCi0tICAgICAgLS1pZ25vcmU9UG9ydGluZy9NYWludGFpbmVycy5wbSxQb3J0aW5nL3B1bXBraW4ucG9kLFBvcnRpbmcvcmVwb3NpdG9yeS5wb2QgXAotLSAgICAgIC0tdmVyYm9zZQotICFOTyFTVUJTIQotIGZpCi0gCi1AQCAtMTI3NSwxMyArMTI2NCwxMyBAQCBtYW5pY2hlY2s6CUZPUkNFCi0gIwotICMgRHluYUxvYWRlciBtYXkgYmUgbmVlZGVkIGZvciBleHRlbnNpb25zIHRoYXQgdXNlIE1ha2VmaWxlLlBMLgotIAotLSQoRFlOQUxPQURFUik6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgRk9SQ0UgJChub254c19leHQpCi0rJChEWU5BTE9BREVSKTogbGliL2J1aWxkY3VzdG9taXplLnBsIHByZXBsaWJyYXJ5IEZPUkNFICQobm9ueHNfZXh0KQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkQCAkKE1BS0VfRVhUX0FSR1MpIE1BS0U9IiQoTUFLRSkiIExJQlBFUkxfQT0kKExJQlBFUkwpIExJTktUWVBFPXN0YXRpYyAkKFNUQVRJQ19MREZMQUdTKQotIAotLWRfZHVtbXkgJChkeW5hbWljX2V4dCk6CSQoTUlOSVBFUkxfRVhFKSBsaWIvYnVpbGRjdXN0b21pemUucGwgcHJlcGxpYnJhcnkgbWFrZXBwcG9ydCAkKERZTkFMT0FERVIpIEZPUkNFICQoUEVSTEVYUE9SVCkgJChMSUJQRVJMKQotK2RfZHVtbXkgJChkeW5hbWljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UgJChQRVJMRVhQT1JUKSAkKExJQlBFUkwpCi0gCSQoTUlOSVBFUkwpIG1ha2VfZXh0LnBsICRAICQoTUFLRV9FWFRfQVJHUykgTUFLRT0iJChNQUtFKSIgTElCUEVSTF9BPSQoTElCUEVSTCkgTElOS1RZUEU9ZHluYW1pYwotIAotLXNfZHVtbXkgJChzdGF0aWNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLStzX2R1bW15ICQoc3RhdGljX2V4dCk6CWxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBtYWtlcHBwb3J0ICQoRFlOQUxPQURFUikgRk9SQ0UKLSAJJChNSU5JUEVSTCkgbWFrZV9leHQucGwgJEAgJChNQUtFX0VYVF9BUkdTKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1zdGF0aWMgJChTVEFUSUNfTERGTEFHUykKLSAKLSBuX2R1bW15ICQobm9ueHNfZXh0KToJJChNSU5JUEVSTF9FWEUpIGxpYi9idWlsZGN1c3RvbWl6ZS5wbCBwcmVwbGlicmFyeSBGT1JDRQotQEAgLTE0NzksMTQgKzE0NjgsMTQgQEAgdGVzdF9wcmVwX3ByZTogcHJlcGxpYnJhcnkgdXRpbGl0aWVzICQobgotIAotIGNhc2UgIiR0YXJnZXRob3N0IiBpbgotICcnKSAkc3BpdHNoZWxsID4+JE1ha2VmaWxlIDw8JyFOTyFTVUJTIScKLS10ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlICQoTUlOSVBFUkxfRVhFKSAkKHVuaWRhdGFmaWxlcykgJChQRVJMX0VYRSkgXAotK3Rlc3RfcHJlcCB0ZXN0LXByZXA6IHRlc3RfcHJlcF9wcmUgJCh1bmlkYXRhZmlsZXMpICQoUEVSTF9FWEUpIFwKLSAJJChkeW5hbWljX2V4dCkgJChURVNUX1BFUkxfRExMKSBydW50ZXN0cyAkKGdlbmVyYXRlZF9wb2RzKQotIAljZCB0ICYmIChybSAtZiAkKFBFUkxfRVhFKTsgJChMTlMpIC4uLyQoUEVSTF9FWEUpICQoUEVSTF9FWEUpKQotIAotICFOTyFTVUJTIQotIDs7Ci0gKikgJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCFHUk9LIVRISVMhCi0tdGVzdF9wcmVwIHRlc3QtcHJlcDogdGVzdF9wcmVwX3ByZSBcJChNSU5JUEVSTF9FWEUpIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSt0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKHVuaWRhdGFmaWxlcykgXCQoUEVSTF9FWEUpIFwKLSAJXCQoZHluYW1pY19leHQpIFwkKFRFU1RfUEVSTF9ETEwpIHJ1bnRlc3RzIFwKLSAJXCQoZ2VuZXJhdGVkX3BvZHMpCi0gCSR0byBsaWJwZXJsLioKLUBAIC0xNTM5LDcgKzE1MjgsNyBAQCB0ZXN0X3ByZXAgdGVzdC1wcmVwOiB0ZXN0X3ByZXBfcHJlIFwkKE1JCi0gZXNhYwotIAotICRzcGl0c2hlbGwgPj4kTWFrZWZpbGUgPDwnIU5PIVNVQlMhJwotLXRlc3RfcHJlcF9yZW9ubHk6ICQoTUlOSVBFUkxfRVhFKSAkKFBFUkxfRVhFKSAkKGR5bmFtaWNfZXh0X3JlKSAkKFRFU1RfUEVSTF9ETEwpCi0rdGVzdF9wcmVwX3Jlb25seTogJChQRVJMX0VYRSkgJChkeW5hbWljX2V4dF9yZSkgJChURVNUX1BFUkxfRExMKQotIAkkKE1JTklQRVJMKSBtYWtlX2V4dC5wbCAkKGR5bmFtaWNfZXh0X3JlKSBNQUtFPSIkKE1BS0UpIiBMSUJQRVJMX0E9JChMSUJQRVJMKSBMSU5LVFlQRT1keW5hbWljCi0gCWNkIHQgJiYgKHJtIC1mICQoUEVSTF9FWEUpOyAkKExOUykgLi4vJChQRVJMX0VYRSkgJChQRVJMX0VYRSkpCi0gIU5PIVNVQlMhCi1AQCAtMTYwMCw3ICsxNTg5LDcgQEAgbWluaXRlc3RfcHJlcDoKLSAKLSBNSU5JVEVTVF9URVNUUyA9IGJhc2UvKi50IGNvbXAvKi50IGNtZC8qLnQgcnVuLyoudCBpby8qLnQgcmUvKi50IG9wYmFzaWMvKi50IG9wLyoudCB1bmkvKi50IHBlcmYvKi50Ci0gCi0tbWluaXRlc3Q6ICQoTUlOSVBFUkxfRVhFKSBtaW5pdGVzdF9wcmVwCi0rbWluaXRlc3Q6IG1pbml0ZXN0X3ByZXAKLSAJLSBjZCB0ICYmICQoUlVOX1BFUkwpIFRFU1QgJChNSU5JVEVTVF9URVNUUykgPCQoZGV2dHR5KQotIAotIG1pbml0ZXN0LW5vdHR5IG1pbml0ZXN0X25vdHR5OiAkKE1JTklQRVJMX0VYRSkgbWluaXRlc3RfcHJlcApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL01ha2VmaWxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NThlMmUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9NYWtlZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGVybC01LjE0LjIub3JpZy9Dcm9zcy9NYWtlZmlsZQotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL01ha2VmaWxlCi1AQCAtMSw2ICsxLDcgQEAKLSAjIyBUb3BsZXZlbCBNYWtlZmlsZSBmb3IgY3Jvc3MtY29tcGlsYXRpb24gb2YgcGVybAotIAotLWV4cG9ydCBUT1BESVI9JHtzaGVsbCBwd2R9Ci0rb3ZlcnJpZGUgVE9QRElSPSR7c2hlbGwgcHdkfQotK2V4cG9ydCBUT1BESVIKLSBpbmNsdWRlICQoVE9QRElSKS9jb25maWcKLSBleHBvcnQgQ0ZMQUdTCi0gZXhwb3J0IFNZUz0kKEFSQ0gpLSQoT1MpCi1AQCAtMTAsNyArMTEsNyBAQCBleHBvcnQgT1BUSU1JWkFUSU9OID0gLU8yCi0gCi0gZXhwb3J0IENDID0gJChDUk9TUylnY2MKLSBleHBvcnQgQ1hYID0gJChDUk9TUylnKysKLS1leHBvcnQgTEQgPSAkKENST1NTKWxkCi0rZXhwb3J0IExEID0gJChDQykKLSBleHBvcnQgU1RSSVAgPSAkKENST1NTKXN0cmlwCi0gZXhwb3J0IEFSID0gJChDUk9TUylhcgotIGV4cG9ydCBSQU5MSUIgPSAkKENST1NTKXJhbmxpYgotQEAgLTMyLDE3ICszMyw2IEBAIENGTEFHUys9JChGVUxMX09QVElNSVpBVElPTikKLSBhbGw6Ci0gCUBlY2hvIFBsZWFzZSByZWFkIHRoZSBSRUFETUUgZmlsZSBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZS4KLSAKLS1nZW5fcGF0Y2g6Ci0tCWRpZmYgLUJidXIgLi4vTWFrZWZpbGUuU0ggTWFrZWZpbGUuU0ggPiBNYWtlZmlsZS5TSC5wYXRjaAotLQlkaWZmIC1CYnVyIC4uL2luc3RhbGxwZXJsIGluc3RhbGxwZXJsID4gaW5zdGFsbHBlcmwucGF0Y2gKLS0KLS1wYXRjaDoKLS0JY2QgLi4gOyBpZiBbICEgLWUgLi9DUk9TU19QQVRDSEVEIF0gOyB0aGVuIFwKLS0JCXBhdGNoIC1wMSA8IENyb3NzL01ha2VmaWxlLlNILnBhdGNoOyBcCi0tCQlwYXRjaCAtcDEgPCBDcm9zcy9pbnN0YWxscGVybC5wYXRjaCA7IG12IGluc3RhbGxwZXJsIGluc3RhbGxwZXJsLXBhdGNoZWQ7IFwKLS0JCXNlZCAtZSAncy9YWFNUUklQWFgvJChTWVMpLycgaW5zdGFsbHBlcmwtcGF0Y2hlZCA+IGluc3RhbGxwZXJsOyBcCi0tCQl0b3VjaCBDUk9TU19QQVRDSEVEIDsgZmkKLS0KLSBwZXJsOgotIAlAZWNobyBQZXJsIGNyb3NzLWJ1aWxkIGRpcmVjdG9yeSBpcyAkKFRPUERJUikKLSAJQGVjaG8gVGFyZ2V0IGFyY2ggaXMgJChTWVMpCi1AQCAtNTIsMTEgKzQyLDExIEBAIHBlcmw6Ci0gCSQoVE9QRElSKS9nZW5lcmF0ZV9jb25maWdfc2ggY29uZmlnLnNoLSQoU1lTKSA+ICQoVE9QRElSKS8uLi9jb25maWcuc2gKLSAJY2QgJChUT1BESVIpLy4uIDsgLi9Db25maWd1cmUgLVMgOyBtYWtlIGRlcGVuZCA7IG1ha2UgOyBtYWtlIG1vcmUKLSAJY2QgJChUT1BESVIpLy4uIDsgbWtkaXIgLXAgZmFrZV9jb25maWdfbGlicmFyeSA7IGNwIGxpYi9Db25maWcucG0gbGliL0NvbmZpZ19oZWF2eS5wbCBmYWtlX2NvbmZpZ19saWJyYXJ5Ci0tCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49L3Vzci9iaW4vcGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotLQljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmUzICJQRVJMUlVOPS91c3IvYmluL3BlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLS0JY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlNCAiUEVSTFJVTj0vdXNyL2Jpbi9wZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0rCWNkICQoVE9QRElSKS8uLiA7ICQoTUFLRSkgbW9yZTIgIlBFUkxSVU49aG9zdHBlcmwgLUkkKFRPUERJUikvLi4vZmFrZV9jb25maWdfbGlicmFyeSAtTUNvbmZpZyIKLSsJY2QgJChUT1BESVIpLy4uIDsgJChNQUtFKSBtb3JlMyAiUEVSTFJVTj1ob3N0cGVybCAtSSQoVE9QRElSKS8uLi9mYWtlX2NvbmZpZ19saWJyYXJ5IC1NQ29uZmlnIgotKwljZCAkKFRPUERJUikvLi4gOyAkKE1BS0UpIG1vcmU0ICJQRVJMUlVOPWhvc3RwZXJsIC1JJChUT1BESVIpLy4uL2Zha2VfY29uZmlnX2xpYnJhcnkgLU1Db25maWciCi0gCWNkICQoVE9QRElSKS8uLiA7IHJtIC1yZiBpbnN0YWxsX21lX2hlcmUKLS0JY2QgJChUT1BESVIpLy4uIDsgbWFrZSBpbnN0YWxsLXN0cmlwCi0rIwljZCAkKFRPUERJUikvLi4gOyBtYWtlIGluc3RhbGwtc3RyaXAKLSAJY2QgJChUT1BESVIpLy4uIDsgc2ggLXggQ3Jvc3Mvd2FycAotIAotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxYjU4MzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNDkgKzAsMCBAQAotIyEvYmluL3NoCi0jCi0jIFRoaXMgZmlsZSB3YXMgcHJvZHVjZWQgYnkgcnVubmluZyB0aGUgQ29uZmlndXJlIHNjcmlwdC4gSXQgaG9sZHMgYWxsIHRoZQotIyBkZWZpbml0aW9ucyBmaWd1cmVkIG91dCBieSBDb25maWd1cmUuIFNob3VsZCB5b3UgbW9kaWZ5IG9uZSBvZiB0aGVzZSB2YWx1ZXMsCi0jIGRvIG5vdCBmb3JnZXQgdG8gcHJvcGFnYXRlIHlvdXIgY2hhbmdlcyBieSBydW5uaW5nICJDb25maWd1cmUgLWRlciIuIFlvdSBtYXkKLSMgaW5zdGVhZCBjaG9vc2UgdG8gcnVuIGVhY2ggb2YgdGhlIC5TSCBmaWxlcyBieSB5b3Vyc2VsZiwgb3IgIkNvbmZpZ3VyZSAtUyIuCi0jCi0KLSMgUGFja2FnZSBuYW1lICAgICAgOiBwZXJsNQotIyBTb3VyY2UgZGlyZWN0b3J5ICA6IC4KLSMgQ29uZmlndXJhdGlvbiB0aW1lOiBGcmkgTWF5ICA2IDIwOjEzOjQ2IFBEVCAyMDE2Ci0jIENvbmZpZ3VyZWQgYnkgICAgIDogT3BlbiBFbWJlZGRlZAotIyBUYXJnZXQgc3lzdGVtICAgICA6IGxpbnV4IHFlbXV4ODYtNjQgMy4xOS41LXlvY3RvLXN0YW5kYXJkICMxIHNtcCBwcmVlbXB0IHR1ZSBqdW4gMTYgMDA6Mjg6MTcgcGR0IDIwMTUgeDg2XzY0IGdudWxpbnV4Ci0KLTogQ29uZmlndXJlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCi1jb25maWdfYXJnMD0nQ29uZmlndXJlJwotY29uZmlnX2FyZ3M9Jy1kZXMgLURvcHRpbWl6ZT0tTzIgLURteWhvc3RuYW1lPWxvY2FsaG9zdCAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCAtRGNjPWdjYyAtRGNmX2J5PU9wZW4gRW1iZWRkZWQgLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCAtRHByZWZpeD1ARVhFQ1BSRUZJWEAgLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAIC1Ec2l0ZXByZWZpeD1ARVhFQ1BSRUZJWEAgLURvdGhlcmxpYmRpcnM9QExJQkRJUkAvcGVybC81LjI0LjQgLUR1c2VzaHJwbGliIC1EdXNldGhyZWFkcyAtRHVzZWl0aHJlYWRzIC1EdXNlbGFyZ2VmaWxlcyAtVWRfZG9zdWlkIC1EZF9zZW1jdGxfc2VtdW4gLVVpX2RiIC1VaV9uZGJtIC1VaV9nZGJtIC1EaV9zaGFkb3cgLURpX3N5c2xvZyAtRG1hbjNleHQ9M3BtIC1EdXNlcGVybGlvIC1EaW5zdGFsbHVzcmJpbnBlcmwgLVViaW5jb21wYXQ1MDA1IC1VdmVyc2lvbm9ubHkgLURwYWdlcj1AVVNSQklOQC9sZXNzIC1pc3InCi1jb25maWdfYXJnYz0yOAotY29uZmlnX2FyZzE9Jy1kZXMnCi1jb25maWdfYXJnMj0nLURvcHRpbWl6ZT0tTzInCi1jb25maWdfYXJnMz0nLURteWhvc3RuYW1lPWxvY2FsaG9zdCcKLWNvbmZpZ19hcmc0PSctRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCcKLWNvbmZpZ19hcmc1PSctRGNjPWdjYycKLWNvbmZpZ19hcmc2PSctRGNmX2J5PU9wZW4gRW1iZWRkZWQnCi1jb25maWdfYXJnNz0nLURpbnN0YWxscHJlZml4PUBFWEVDUFJFRklYQCcKLWNvbmZpZ19hcmc4PSctRHByZWZpeD1ARVhFQ1BSRUZJWEAnCi1jb25maWdfYXJnOT0nLUR2ZW5kb3JwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzEwPSctRHNpdGVwcmVmaXg9QEVYRUNQUkVGSVhAJwotY29uZmlnX2FyZzExPSctRG90aGVybGliZGlycz1ATElCRElSQC9wZXJsLzUuMjQuNCcKLWNvbmZpZ19hcmcxMj0nLUR1c2VzaHJwbGliJwotY29uZmlnX2FyZzEzPSctRHVzZXRocmVhZHMnCi1jb25maWdfYXJnMTQ9Jy1EdXNlaXRocmVhZHMnCi1jb25maWdfYXJnMTU9Jy1EdXNlbGFyZ2VmaWxlcycKLWNvbmZpZ19hcmcxNj0nLVVkX2Rvc3VpZCcKLWNvbmZpZ19hcmcxNz0nLURkX3NlbWN0bF9zZW11bicKLWNvbmZpZ19hcmcxOD0nLVVpX2RiJwotY29uZmlnX2FyZzE5PSctVWlfbmRibScKLWNvbmZpZ19hcmcyMD0nLVVpX2dkYm0nCi1jb25maWdfYXJnMjE9Jy1EaV9zaGFkb3cnCi1jb25maWdfYXJnMjI9Jy1EaV9zeXNsb2cnCi1jb25maWdfYXJnMjM9Jy1EbWFuM2V4dD0zcG0nCi1jb25maWdfYXJnMjQ9Jy1EdXNlcGVybGlvJwotY29uZmlnX2FyZzI1PSctRGluc3RhbGx1c3JiaW5wZXJsJwotY29uZmlnX2FyZzI2PSctVWJpbmNvbXBhdDUwMDUnCi1jb25maWdfYXJnMjc9Jy1VdmVyc2lvbm9ubHknCi1jb25maWdfYXJnMjg9Jy1EcGFnZXI9QFVTUkJJTkAvbGVzcyAtaXNyJwotCi1BdXRob3I9JycKLURhdGU9JycKLUhlYWRlcj0nJwotSWQ9JycKLUxvY2tlcj0nJwotTG9nPScnCi1SQ1NmaWxlPScnCi1SZXZpc2lvbj0nJwotU291cmNlPScnCi1TdGF0ZT0nJwotX2E9Jy5hJwotX2V4ZT0nJwotX289Jy5vJwotYWZzPSdmYWxzZScKLWFmc3Jvb3Q9Jy9hZnMnCi1hbGlnbmJ5dGVzPSc4JwotYW5zaTJrbnI9JycKLWFwaG9zdG5hbWU9JycKLWFwaV9yZXZpc2lvbj0nNScKLWFwaV9zdWJ2ZXJzaW9uPSc0JwotYXBpX3ZlcnNpb249JzI0JwotYXBpX3ZlcnNpb25zdHJpbmc9JzUuMjQuNCcKLWFyPSdhcicKLWFyY2hsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobGliZXhwPSdAU1RBR0lOR0RJUkBATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotYXJjaGxpYl9leHA9J0BMSUJESVJAL3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1hcmNobmFtZTY0PScnCi1hcmNobmFtZT0nQEFSQ0hALXRocmVhZC1tdWx0aScKLWFyY2hvYmpzPScnCi1hc2N0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19CX1NCJwotYXdrPSdhd2snCi1iYXNlcmV2PSc1LjAnCi1iYXNoPScnCi1iaW49J0BVU1JCSU5AJwotYmluX0VMRj0nZGVmaW5lJwotYmluZXhwPSdAVVNSQklOQCcKLWJpc29uPSdiaXNvbicKLWJ5YWNjPSdieWFjYycKLWM9JycKLWNhc3RmbGFncz0nMCcKLWNhdD0nY2F0JwotY2M9J2djYycKLWNjY2RsZmxhZ3M9Jy1mUElDJwotY2NkbGZsYWdzPSctV2wsLUUgLVdsLC1ycGF0aCxATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpL0NPUkUnCi1jY2ZsYWdzPSctRF9SRUVOVFJBTlQgLURfR05VX1NPVVJDRSAtZndyYXB2IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1waXBlIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCAtRF9GT1JUSUZZX1NPVVJDRT0yJwotY2NmbGFnc191c2VsYXJnZWZpbGVzPSctRF9MQVJHRUZJTEVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQnCi1jY25hbWU9J2djYycKLWNjc3ltYm9scz0nJwotY2N2ZXJzaW9uPScnCi1jZl9ieT0nT3BlbiBFbWJlZGRlZCcKLWNmX2VtYWlsPSdPcGVuIEVtYmVkZGVkQGxvY2FsaG9zdC5sb2NhbGRvbWFpbicKLWNmX3RpbWU9J0ZyaSBNYXkgIDYgMjA6MTM6NDYgUERUIDIwMTYnCi1jaGFyYml0cz0nOCcKLWNoYXJzaXplPScxJwotY2hncnA9JycKLWNobW9kPSdjaG1vZCcKLWNob3duPScnCi1jbG9ja3R5cGU9J2Nsb2NrX3QnCi1jb21tPSdjb21tJwotY29tcHJlc3M9JycKLWNvbnRhaW5zPSdncmVwJwotY3A9J2NwJwotY3Bpbz0nJwotY3BwPSdjcHAnCi1jcHBfc3R1ZmY9JzQyJwotY3BwY2NzeW1ib2xzPScnCi1jcHBmbGFncz0nLURfUkVFTlRSQU5UIC1EX0dOVV9TT1VSQ0UgLWZ3cmFwdiAtZm5vLXN0cmljdC1hbGlhc2luZyAtcGlwZScKLWNwcGxhc3Q9Jy0nCi1jcHBtaW51cz0nLScKLWNwcHJ1bj0nZ2NjICAtRScKLWNwcHN0ZGluPSdnY2MgIC1FJwotY3J5cHRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfQ0NTJwotY3J5cHRsaWI9JycKLWNzaD0nY3NoJwotY3Rlcm1pZF9yX3Byb3RvPScwJwotY3RpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0JfU0InCi1kX0djb252ZXJ0PSdnY3Z0KCh4KSwobiksKGIpKScKLWRfUFJJRVVsZGJsPSdkZWZpbmUnCi1kX1BSSUZVbGRibD0nZGVmaW5lJwotZF9QUklHVWxkYmw9J2RlZmluZScKLWRfUFJJWFU2ND0nZGVmaW5lJwotZF9QUklkNjQ9J2RlZmluZScKLWRfUFJJZWxkYmw9J2RlZmluZScKLWRfUFJJZmxkYmw9J2RlZmluZScKLWRfUFJJZ2xkYmw9J2RlZmluZScKLWRfUFJJaTY0PSdkZWZpbmUnCi1kX1BSSW82ND0nZGVmaW5lJwotZF9QUkl1NjQ9J2RlZmluZScKLWRfUFJJeDY0PSdkZWZpbmUnCi1kX1NDTmZsZGJsPSdkZWZpbmUnCi1kX19md2Fsaz0ndW5kZWYnCi1kX2FjY2Vzcz0nZGVmaW5lJwotZF9hY2Nlc3N4PSd1bmRlZicKLWRfYWNvc2g9J2RlZmluZScKLWRfYWludGw9J3VuZGVmJwotZF9hbGFybT0nZGVmaW5lJwotZF9hcmNobGliPSdkZWZpbmUnCi1kX2FzY3RpbWU2ND0ndW5kZWYnCi1kX2FzY3RpbWVfcj0nZGVmaW5lJwotZF9hc2luaD0nZGVmaW5lJwotZF9hdGFuaD0nZGVmaW5lJwotZF9hdG9sZj0ndW5kZWYnCi1kX2F0b2xsPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9kZXByZWNhdGVkPSdkZWZpbmUnCi1kX2F0dHJpYnV0ZV9mb3JtYXQ9J2RlZmluZScKLWRfYXR0cmlidXRlX21hbGxvYz0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9ubnVsbD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfbm9yZXR1cm49J2RlZmluZScKLWRfYXR0cmlidXRlX3B1cmU9J2RlZmluZScKLWRfYXR0cmlidXRlX3VudXNlZD0nZGVmaW5lJwotZF9hdHRyaWJ1dGVfd2Fybl91bnVzZWRfcmVzdWx0PSdkZWZpbmUnCi1kX2JhY2t0cmFjZT0nZGVmaW5lJwotZF9iY21wPSdkZWZpbmUnCi1kX2Jjb3B5PSdkZWZpbmUnCi1kX2JzZD0ndW5kZWYnCi1kX2JzZGdldHBncnA9J3VuZGVmJwotZF9ic2RzZXRwZ3JwPSd1bmRlZicKLWRfYnVpbHRpbl9jaG9vc2VfZXhwcj0nZGVmaW5lJwotZF9idWlsdGluX2V4cGVjdD0nZGVmaW5lJwotZF9iemVybz0nZGVmaW5lJwotZF9jOTlfdmFyaWFkaWNfbWFjcm9zPSdkZWZpbmUnCi1kX2Nhc3RpMzI9J2RlZmluZScKLWRfY2FzdG5lZz0nZGVmaW5lJwotZF9jYnJ0PSdkZWZpbmUnCi1kX2NoYXJ2c3ByPSd1bmRlZicKLWRfY2hvd249J2RlZmluZScKLWRfY2hyb290PSdkZWZpbmUnCi1kX2Noc2l6ZT0ndW5kZWYnCi1kX2NsYXNzPSd1bmRlZicKLWRfY2xlYXJlbnY9J2RlZmluZScKLWRfY2xvc2VkaXI9J2RlZmluZScKLWRfY21zZ2hkcl9zPSdkZWZpbmUnCi1kX2NvbnN0PSdkZWZpbmUnCi1kX2NvcHlzaWduPSdkZWZpbmUnCi1kX2NvcHlzaWdubD0nZGVmaW5lJwotZF9jcGx1c3BsdXM9J3VuZGVmJwotZF9jcnlwdD0nZGVmaW5lJwotZF9jcnlwdF9yPSdkZWZpbmUnCi1kX2NzaD0ndW5kZWYnCi1kX2N0ZXJtaWQ9J2RlZmluZScKLWRfY3Rlcm1pZF9yPSd1bmRlZicKLWRfY3RpbWU2ND0ndW5kZWYnCi1kX2N0aW1lX3I9J2RlZmluZScKLWRfY3VzZXJpZD0nZGVmaW5lJwotZF9kYmxfZGlnPSdkZWZpbmUnCi1kX2RibWluaXRwcm90bz0nZGVmaW5lJwotZF9kaWZmdGltZTY0PSd1bmRlZicKLWRfZGlmZnRpbWU9J2RlZmluZScKLWRfZGlyX2RkX2ZkPSd1bmRlZicKLWRfZGlyZmQ9J2RlZmluZScKLWRfZGlybmFtbGVuPSd1bmRlZicKLWRfZGxhZGRyPSdkZWZpbmUnCi1kX2RsZXJyb3I9J2RlZmluZScKLWRfZGxvcGVuPSdkZWZpbmUnCi1kX2Rsc3ltdW49J3VuZGVmJwotZF9kb3N1aWQ9J3VuZGVmJwotZF9kcmFuZDQ4X3I9J2RlZmluZScKLWRfZHJhbmQ0OHByb3RvPSdkZWZpbmUnCi1kX2R1cDI9J2RlZmluZScKLWRfZWFjY2Vzcz0nZGVmaW5lJwotZF9lbmRncmVudD0nZGVmaW5lJwotZF9lbmRncmVudF9yPSd1bmRlZicKLWRfZW5kaGVudD0nZGVmaW5lJwotZF9lbmRob3N0ZW50X3I9J3VuZGVmJwotZF9lbmRuZW50PSdkZWZpbmUnCi1kX2VuZG5ldGVudF9yPSd1bmRlZicKLWRfZW5kcGVudD0nZGVmaW5lJwotZF9lbmRwcm90b2VudF9yPSd1bmRlZicKLWRfZW5kcHdlbnQ9J2RlZmluZScKLWRfZW5kcHdlbnRfcj0ndW5kZWYnCi1kX2VuZHNlbnQ9J2RlZmluZScKLWRfZW5kc2VydmVudF9yPSd1bmRlZicKLWRfZW9mbmJsaz0nZGVmaW5lJwotZF9lcmY9J2RlZmluZScKLWRfZXJmYz0nZGVmaW5lJwotZF9ldW5pY2U9J3VuZGVmJwotZF9leHAyPSdkZWZpbmUnCi1kX2V4cG0xPSdkZWZpbmUnCi1kX2Zhc3RzdGRpbz0ndW5kZWYnCi1kX2ZjaGRpcj0nZGVmaW5lJwotZF9mY2htb2Q9J2RlZmluZScKLWRfZmNob3duPSdkZWZpbmUnCi1kX2ZjbnRsPSdkZWZpbmUnCi1kX2ZjbnRsX2Nhbl9sb2NrPSdkZWZpbmUnCi1kX2ZkX21hY3Jvcz0nZGVmaW5lJwotZF9mZF9zZXQ9J2RlZmluZScKLWRfZmRpbT0nZGVmaW5lJwotZF9mZHNfYml0cz0nZGVmaW5lJwotZF9mZWdldHJvdW5kPSdkZWZpbmUnCi1kX2ZnZXRwb3M9J2RlZmluZScKLWRfZmluaXRlPSdkZWZpbmUnCi1kX2Zpbml0ZWw9J2RlZmluZScKLWRfZmxleGZuYW09J2RlZmluZScKLWRfZmxvY2s9J2RlZmluZScKLWRfZmxvY2twcm90bz0nZGVmaW5lJwotZF9mbWE9J2RlZmluZScKLWRfZm1heD0nZGVmaW5lJwotZF9mbWluPSdkZWZpbmUnCi1kX2Zvcms9J2RlZmluZScKLWRfZnBfY2xhc3M9J3VuZGVmJwotZF9mcF9jbGFzc2lmeT0ndW5kZWYnCi1kX2ZwX2NsYXNzbD0ndW5kZWYnCi1kX2ZwYXRoY29uZj0nZGVmaW5lJwotZF9mcGNsYXNzPSd1bmRlZicKLWRfZnBjbGFzc2lmeT0nZGVmaW5lJwotZF9mcGNsYXNzbD0ndW5kZWYnCi1kX2ZwZ2V0cm91bmQ9J3VuZGVmJwotZF9mcG9zNjRfdD0ndW5kZWYnCi1kX2ZyZXhwbD0nZGVmaW5lJwotZF9mc19kYXRhX3M9J3VuZGVmJwotZF9mc2Vla289J2RlZmluZScKLWRfZnNldHBvcz0nZGVmaW5lJwotZF9mc3RhdGZzPSdkZWZpbmUnCi1kX2ZzdGF0dmZzPSdkZWZpbmUnCi1kX2ZzeW5jPSdkZWZpbmUnCi1kX2Z0ZWxsbz0nZGVmaW5lJwotZF9mdGltZT0ndW5kZWYnCi1kX2Z1dGltZXM9J2RlZmluZScKLWRfZ2RibV9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfZ2RibW5kYm1faF91c2VzX3Byb3RvdHlwZXM9J2RlZmluZScKLWRfZ2V0YWRkcmluZm89J2RlZmluZScKLWRfZ2V0Y3dkPSdkZWZpbmUnCi1kX2dldGVzcHduYW09J3VuZGVmJwotZF9nZXRmc3N0YXQ9J3VuZGVmJwotZF9nZXRncmVudD0nZGVmaW5lJwotZF9nZXRncmVudF9yPSdkZWZpbmUnCi1kX2dldGdyZ2lkX3I9J2RlZmluZScKLWRfZ2V0Z3JuYW1fcj0nZGVmaW5lJwotZF9nZXRncnBzPSdkZWZpbmUnCi1kX2dldGhieWFkZHI9J2RlZmluZScKLWRfZ2V0aGJ5bmFtZT0nZGVmaW5lJwotZF9nZXRoZW50PSdkZWZpbmUnCi1kX2dldGhuYW1lPSdkZWZpbmUnCi1kX2dldGhvc3RieWFkZHJfcj0nZGVmaW5lJwotZF9nZXRob3N0YnluYW1lX3I9J2RlZmluZScKLWRfZ2V0aG9zdGVudF9yPSdkZWZpbmUnCi1kX2dldGhvc3Rwcm90b3M9J2RlZmluZScKLWRfZ2V0aXRpbWVyPSdkZWZpbmUnCi1kX2dldGxvZ2luPSdkZWZpbmUnCi1kX2dldGxvZ2luX3I9J2RlZmluZScKLWRfZ2V0bW50PSd1bmRlZicKLWRfZ2V0bW50ZW50PSdkZWZpbmUnCi1kX2dldG5hbWVpbmZvPSdkZWZpbmUnCi1kX2dldG5ieWFkZHI9J2RlZmluZScKLWRfZ2V0bmJ5bmFtZT0nZGVmaW5lJwotZF9nZXRuZW50PSdkZWZpbmUnCi1kX2dldG5ldGJ5YWRkcl9yPSdkZWZpbmUnCi1kX2dldG5ldGJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldG5ldGVudF9yPSdkZWZpbmUnCi1kX2dldG5ldHByb3Rvcz0nZGVmaW5lJwotZF9nZXRwYWdzej0nZGVmaW5lJwotZF9nZXRwYnluYW1lPSdkZWZpbmUnCi1kX2dldHBieW51bWJlcj0nZGVmaW5lJwotZF9nZXRwZW50PSdkZWZpbmUnCi1kX2dldHBnaWQ9J2RlZmluZScKLWRfZ2V0cGdycDI9J3VuZGVmJwotZF9nZXRwZ3JwPSdkZWZpbmUnCi1kX2dldHBwaWQ9J2RlZmluZScKLWRfZ2V0cHJpb3I9J2RlZmluZScKLWRfZ2V0cHJvdG9ieW5hbWVfcj0nZGVmaW5lJwotZF9nZXRwcm90b2J5bnVtYmVyX3I9J2RlZmluZScKLWRfZ2V0cHJvdG9lbnRfcj0nZGVmaW5lJwotZF9nZXRwcm90b3Byb3Rvcz0nZGVmaW5lJwotZF9nZXRwcnB3bmFtPSd1bmRlZicKLWRfZ2V0cHdlbnQ9J2RlZmluZScKLWRfZ2V0cHdlbnRfcj0nZGVmaW5lJwotZF9nZXRwd25hbV9yPSdkZWZpbmUnCi1kX2dldHB3dWlkX3I9J2RlZmluZScKLWRfZ2V0c2J5bmFtZT0nZGVmaW5lJwotZF9nZXRzYnlwb3J0PSdkZWZpbmUnCi1kX2dldHNlbnQ9J2RlZmluZScKLWRfZ2V0c2VydmJ5bmFtZV9yPSdkZWZpbmUnCi1kX2dldHNlcnZieXBvcnRfcj0nZGVmaW5lJwotZF9nZXRzZXJ2ZW50X3I9J2RlZmluZScKLWRfZ2V0c2VydnByb3Rvcz0nZGVmaW5lJwotZF9nZXRzcG5hbT0nZGVmaW5lJwotZF9nZXRzcG5hbV9yPSdkZWZpbmUnCi1kX2dldHRpbWVvZD0nZGVmaW5lJwotZF9nbXRpbWU2ND0ndW5kZWYnCi1kX2dtdGltZV9yPSdkZWZpbmUnCi1kX2dudWxpYmM9J2RlZmluZScKLWRfZ3JwYXNzd2Q9J2RlZmluZScKLWRfaGFzbW50b3B0PSdkZWZpbmUnCi1kX2h0b25sPSdkZWZpbmUnCi1kX2h5cG90PSdkZWZpbmUnCi1kX2lsb2diPSdkZWZpbmUnCi1kX2lsb2dibD0nZGVmaW5lJwotZF9pbmNfdmVyc2lvbl9saXN0PSd1bmRlZicKLWRfaW5kZXg9J3VuZGVmJwotZF9pbmV0YXRvbj0nZGVmaW5lJwotZF9pbmV0bnRvcD0nZGVmaW5lJwotZF9pbmV0cHRvbj0nZGVmaW5lJwotZF9pbnQ2NF90PSdkZWZpbmUnCi1kX2lwX21yZXE9J2RlZmluZScKLWRfaXBfbXJlcV9zb3VyY2U9J2RlZmluZScKLWRfaXB2Nl9tcmVxPSdkZWZpbmUnCi1kX2lwdjZfbXJlcV9zb3VyY2U9J3VuZGVmJwotZF9pc2FzY2lpPSdkZWZpbmUnCi1kX2lzYmxhbms9J2RlZmluZScKLWRfaXNmaW5pdGU9J2RlZmluZScKLWRfaXNmaW5pdGVsPSd1bmRlZicKLWRfaXNpbmY9J2RlZmluZScKLWRfaXNpbmZsPSdkZWZpbmUnCi1kX2lzbGVzcz0ndW5kZWYnCi1kX2lzbmFuPSdkZWZpbmUnCi1kX2lzbmFubD0nZGVmaW5lJwotZF9pc25vcm1hbD0nZGVmaW5lJwotZF9qMD0nZGVmaW5lJwotZF9qMGw9J2RlZmluZScKLWRfa2lsbHBnPSdkZWZpbmUnCi1kX2xjX21vbmV0YXJ5XzIwMDg9J2RlZmluZScKLWRfbGNob3duPSdkZWZpbmUnCi1kX2xkYmxfZGlnPSdkZWZpbmUnCi1kX2xkZXhwbD0nZGVmaW5lJwotZF9sZ2FtbWE9J2RlZmluZScKLWRfbGdhbW1hX3I9J2RlZmluZScKLWRfbGlibV9saWJfdmVyc2lvbj0ndW5kZWYnCi1kX2xpYm5hbWVfdW5pcXVlPSd1bmRlZicKLWRfbGluaz0nZGVmaW5lJwotZF9sbHJpbnQ9J2RlZmluZScKLWRfbGxyaW50bD0nZGVmaW5lJwotZF9sbHJvdW5kPSdkZWZpbmUnCi1kX2xscm91bmRsPSdkZWZpbmUnCi1kX2xvY2FsdGltZTY0PSd1bmRlZicKLWRfbG9jYWx0aW1lX3I9J2RlZmluZScKLWRfbG9jYWx0aW1lX3JfbmVlZHNfdHpzZXQ9J2RlZmluZScKLWRfbG9jY29udj0nZGVmaW5lJwotZF9sb2NrZj0nZGVmaW5lJwotZF9sb2cxcD0nZGVmaW5lJwotZF9sb2cyPSdkZWZpbmUnCi1kX2xvZ2I9J2RlZmluZScKLWRfbG9uZ2RibD0nZGVmaW5lJwotZF9sb25nbG9uZz0nZGVmaW5lJwotZF9scmludD0nZGVmaW5lJwotZF9scmludGw9J2RlZmluZScKLWRfbHJvdW5kPSdkZWZpbmUnCi1kX2xyb3VuZGw9J2RlZmluZScKLWRfbHNlZWtwcm90bz0nZGVmaW5lJwotZF9sc3RhdD0nZGVmaW5lJwotZF9tYWR2aXNlPSdkZWZpbmUnCi1kX21hbGxvY19nb29kX3NpemU9J3VuZGVmJwotZF9tYWxsb2Nfc2l6ZT0ndW5kZWYnCi1kX21ibGVuPSdkZWZpbmUnCi1kX21ic3Rvd2NzPSdkZWZpbmUnCi1kX21idG93Yz0nZGVmaW5lJwotZF9tZW1jaHI9J2RlZmluZScKLWRfbWVtY21wPSdkZWZpbmUnCi1kX21lbWNweT0nZGVmaW5lJwotZF9tZW1tb3ZlPSdkZWZpbmUnCi1kX21lbXNldD0nZGVmaW5lJwotZF9ta2Rpcj0nZGVmaW5lJwotZF9ta2R0ZW1wPSdkZWZpbmUnCi1kX21rZmlmbz0nZGVmaW5lJwotZF9ta3N0ZW1wPSdkZWZpbmUnCi1kX21rc3RlbXBzPSdkZWZpbmUnCi1kX21rdGltZTY0PSd1bmRlZicKLWRfbWt0aW1lPSdkZWZpbmUnCi1kX21tYXA9J2RlZmluZScKLWRfbW9kZmw9J2RlZmluZScKLWRfbW9kZmxfcG93MzJfYnVnPSd1bmRlZicKLWRfbW9kZmxwcm90bz0nZGVmaW5lJwotZF9tcHJvdGVjdD0nZGVmaW5lJwotZF9tc2c9J2RlZmluZScKLWRfbXNnX2N0cnVuYz0nZGVmaW5lJwotZF9tc2dfZG9udHJvdXRlPSdkZWZpbmUnCi1kX21zZ19vb2I9J2RlZmluZScKLWRfbXNnX3BlZWs9J2RlZmluZScKLWRfbXNnX3Byb3h5PSdkZWZpbmUnCi1kX21zZ2N0bD0nZGVmaW5lJwotZF9tc2dnZXQ9J2RlZmluZScKLWRfbXNnaGRyX3M9J2RlZmluZScKLWRfbXNncmN2PSdkZWZpbmUnCi1kX21zZ3NuZD0nZGVmaW5lJwotZF9tc3luYz0nZGVmaW5lJwotZF9tdW5tYXA9J2RlZmluZScKLWRfbXltYWxsb2M9J3VuZGVmJwotZF9uYW49J2RlZmluZScKLWRfbmRibT0nZGVmaW5lJwotZF9uZGJtX2hfdXNlc19wcm90b3R5cGVzPSd1bmRlZicKLWRfbmVhcmJ5aW50PSdkZWZpbmUnCi1kX25leHRhZnRlcj0nZGVmaW5lJwotZF9uZXh0dG93YXJkPSdkZWZpbmUnCi1kX25pY2U9J2RlZmluZScKLWRfbmxfbGFuZ2luZm89J2RlZmluZScKLWRfbnZfcHJlc2VydmVzX3V2PSd1bmRlZicKLWRfbnZfemVyb19pc19hbGxiaXRzX3plcm89J2RlZmluZScKLWRfb2ZmNjRfdD0nZGVmaW5lJwotZF9vbGRfcHRocmVhZF9jcmVhdGVfam9pbmFibGU9J3VuZGVmJwotZF9vbGRwdGhyZWFkcz0ndW5kZWYnCi1kX29sZHNvY2s9J3VuZGVmJwotZF9vcGVuMz0nZGVmaW5lJwotZF9wYXRoY29uZj0nZGVmaW5lJwotZF9wYXVzZT0nZGVmaW5lJwotZF9wZXJsX290aGVybGliZGlycz0nZGVmaW5lJwotZF9waG9zdG5hbWU9J3VuZGVmJwotZF9waXBlPSdkZWZpbmUnCi1kX3BvbGw9J2RlZmluZScKLWRfcG9ydGFibGU9J2RlZmluZScKLWRfcHJjdGw9J2RlZmluZScKLWRfcHJjdGxfc2V0X25hbWU9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSd1bmRlZicKLWRfcHJvY3NlbGZleGU9J2RlZmluZScKLWRfcHNldWRvZm9yaz0ndW5kZWYnCi1kX3B0aHJlYWRfYXRmb3JrPSdkZWZpbmUnCi1kX3B0aHJlYWRfYXR0cl9zZXRzY29wZT0nZGVmaW5lJwotZF9wdGhyZWFkX3lpZWxkPSdkZWZpbmUnCi1kX3B0cmRpZmZfdD0nZGVmaW5lJwotZF9wd2FnZT0ndW5kZWYnCi1kX3B3Y2hhbmdlPSd1bmRlZicKLWRfcHdjbGFzcz0ndW5kZWYnCi1kX3B3Y29tbWVudD0ndW5kZWYnCi1kX3B3ZXhwaXJlPSd1bmRlZicKLWRfcHdnZWNvcz0nZGVmaW5lJwotZF9wd3Bhc3N3ZD0nZGVmaW5lJwotZF9wd3F1b3RhPSd1bmRlZicKLWRfcWdjdnQ9J2RlZmluZScKLWRfcXVhZD0nZGVmaW5lJwotZF9yYW5kb21fcj0nZGVmaW5lJwotZF9yZV9jb21wPSd1bmRlZicKLWRfcmVhZGRpcjY0X3I9J2RlZmluZScKLWRfcmVhZGRpcj0nZGVmaW5lJwotZF9yZWFkZGlyX3I9J2RlZmluZScKLWRfcmVhZGxpbms9J2RlZmluZScKLWRfcmVhZHY9J2RlZmluZScKLWRfcmVjdm1zZz0nZGVmaW5lJwotZF9yZWdjbXA9J3VuZGVmJwotZF9yZWdjb21wPSdkZWZpbmUnCi1kX3JlbWFpbmRlcj0nZGVmaW5lJwotZF9yZW1xdW89J2RlZmluZScKLWRfcmVuYW1lPSdkZWZpbmUnCi1kX3Jld2luZGRpcj0nZGVmaW5lJwotZF9yaW50PSdkZWZpbmUnCi1kX3JtZGlyPSdkZWZpbmUnCi1kX3JvdW5kPSdkZWZpbmUnCi1kX3NhZmViY3B5PSd1bmRlZicKLWRfc2FmZW1jcHk9J3VuZGVmJwotZF9zYW5lbWNtcD0nZGVmaW5lJwotZF9zYnJrcHJvdG89J2RlZmluZScKLWRfc2NhbGJuPSdkZWZpbmUnCi1kX3NjYWxibmw9J2RlZmluZScKLWRfc2NoZWRfeWllbGQ9J2RlZmluZScKLWRfc2NtX3JpZ2h0cz0nZGVmaW5lJwotZF9zZWVrZGlyPSdkZWZpbmUnCi1kX3NlbGVjdD0nZGVmaW5lJwotZF9zZW09J2RlZmluZScKLWRfc2VtY3RsPSdkZWZpbmUnCi1kX3NlbWN0bF9zZW1pZF9kcz0nZGVmaW5lJwotZF9zZW1jdGxfc2VtdW49J2RlZmluZScKLWRfc2VtZ2V0PSdkZWZpbmUnCi1kX3NlbW9wPSdkZWZpbmUnCi1kX3NlbmRtc2c9J2RlZmluZScKLWRfc2V0ZWdpZD0nZGVmaW5lJwotZF9zZXRldWlkPSdkZWZpbmUnCi1kX3NldGdyZW50PSdkZWZpbmUnCi1kX3NldGdyZW50X3I9J3VuZGVmJwotZF9zZXRncnBzPSdkZWZpbmUnCi1kX3NldGhlbnQ9J2RlZmluZScKLWRfc2V0aG9zdGVudF9yPSd1bmRlZicKLWRfc2V0aXRpbWVyPSdkZWZpbmUnCi1kX3NldGxpbmVidWY9J2RlZmluZScKLWRfc2V0bG9jYWxlPSdkZWZpbmUnCi1kX3NldGxvY2FsZV9yPSd1bmRlZicKLWRfc2V0bmVudD0nZGVmaW5lJwotZF9zZXRuZXRlbnRfcj0ndW5kZWYnCi1kX3NldHBlbnQ9J2RlZmluZScKLWRfc2V0cGdpZD0nZGVmaW5lJwotZF9zZXRwZ3JwMj0ndW5kZWYnCi1kX3NldHBncnA9J2RlZmluZScKLWRfc2V0cHJpb3I9J2RlZmluZScKLWRfc2V0cHJvY3RpdGxlPSd1bmRlZicKLWRfc2V0cHJvdG9lbnRfcj0ndW5kZWYnCi1kX3NldHB3ZW50PSdkZWZpbmUnCi1kX3NldHB3ZW50X3I9J3VuZGVmJwotZF9zZXRyZWdpZD0nZGVmaW5lJwotZF9zZXRyZXNnaWQ9J2RlZmluZScKLWRfc2V0cmVzdWlkPSdkZWZpbmUnCi1kX3NldHJldWlkPSdkZWZpbmUnCi1kX3NldHJnaWQ9J3VuZGVmJwotZF9zZXRydWlkPSd1bmRlZicKLWRfc2V0c2VudD0nZGVmaW5lJwotZF9zZXRzZXJ2ZW50X3I9J3VuZGVmJwotZF9zZXRzaWQ9J2RlZmluZScKLWRfc2V0dmJ1Zj0nZGVmaW5lJwotZF9zaG09J2RlZmluZScKLWRfc2htYXQ9J2RlZmluZScKLWRfc2htYXRwcm90b3R5cGU9J2RlZmluZScKLWRfc2htY3RsPSdkZWZpbmUnCi1kX3NobWR0PSdkZWZpbmUnCi1kX3NobWdldD0nZGVmaW5lJwotZF9zaWdhY3Rpb249J2RlZmluZScKLWRfc2lnbmJpdD0nZGVmaW5lJwotZF9zaWdwcm9jbWFzaz0nZGVmaW5lJwotZF9zaWdzZXRqbXA9J2RlZmluZScKLWRfc2luNl9zY29wZV9pZD0nZGVmaW5lJwotZF9zaXRlYXJjaD0nZGVmaW5lJwotZF9zbnByaW50Zj0nZGVmaW5lJwotZF9zb2NrYWRkcl9pbjY9J2RlZmluZScKLWRfc29ja2FkZHJfc2FfbGVuPSd1bmRlZicKLWRfc29ja2F0bWFyaz0nZGVmaW5lJwotZF9zb2NrYXRtYXJrcHJvdG89J2RlZmluZScKLWRfc29ja2V0PSdkZWZpbmUnCi1kX3NvY2tsZW5fdD0nZGVmaW5lJwotZF9zb2NrcGFpcj0nZGVmaW5lJwotZF9zb2NrczVfaW5pdD0ndW5kZWYnCi1kX3NwcmludGZfcmV0dXJuc19zdHJsZW49J2RlZmluZScKLWRfc3FydGw9J2RlZmluZScKLWRfc3JhbmQ0OF9yPSdkZWZpbmUnCi1kX3NyYW5kb21fcj0nZGVmaW5lJwotZF9zcmVzZ3Byb3RvPSdkZWZpbmUnCi1kX3NyZXN1cHJvdG89J2RlZmluZScKLWRfc3RhdD0nZGVmaW5lJwotZF9zdGF0Ymxrcz0nZGVmaW5lJwotZF9zdGF0ZnNfZl9mbGFncz0nZGVmaW5lJwotZF9zdGF0ZnNfcz0nZGVmaW5lJwotZF9zdGF0aWNfaW5saW5lPSdkZWZpbmUnCi1kX3N0YXR2ZnM9J2RlZmluZScKLWRfc3RkaW9fY250X2x2YWw9J3VuZGVmJwotZF9zdGRpb19wdHJfbHZhbD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX25vY2hhbmdlX2NudD0ndW5kZWYnCi1kX3N0ZGlvX3B0cl9sdmFsX3NldHNfY250PSd1bmRlZicKLWRfc3RkaW9fc3RyZWFtX2FycmF5PSd1bmRlZicKLWRfc3RkaW9iYXNlPSd1bmRlZicKLWRfc3Rkc3RkaW89J3VuZGVmJwotZF9zdHJjaHI9J2RlZmluZScKLWRfc3RyY29sbD0nZGVmaW5lJwotZF9zdHJjdGNweT0nZGVmaW5lJwotZF9zdHJlcnJtPSdzdHJlcnJvcihlKScKLWRfc3RyZXJyb3I9J2RlZmluZScKLWRfc3RyZXJyb3Jfcj0nZGVmaW5lJwotZF9zdHJmdGltZT0nZGVmaW5lJwotZF9zdHJsY2F0PSd1bmRlZicKLWRfc3RybGNweT0ndW5kZWYnCi1kX3N0cnRvZD0nZGVmaW5lJwotZF9zdHJ0b2w9J2RlZmluZScKLWRfc3RydG9sZD0nZGVmaW5lJwotZF9zdHJ0b2xsPSdkZWZpbmUnCi1kX3N0cnRvcT0nZGVmaW5lJwotZF9zdHJ0b3VsPSdkZWZpbmUnCi1kX3N0cnRvdWxsPSdkZWZpbmUnCi1kX3N0cnRvdXE9J2RlZmluZScKLWRfc3RyeGZybT0nZGVmaW5lJwotZF9zdWlkc2FmZT0ndW5kZWYnCi1kX3N5bWxpbms9J2RlZmluZScKLWRfc3lzY2FsbD0nZGVmaW5lJwotZF9zeXNjYWxscHJvdG89J2RlZmluZScKLWRfc3lzY29uZj0nZGVmaW5lJwotZF9zeXNlcm5sc3Q9JycKLWRfc3lzZXJybHN0PSdkZWZpbmUnCi1kX3N5c3RlbT0nZGVmaW5lJwotZF90Y2dldHBncnA9J2RlZmluZScKLWRfdGNzZXRwZ3JwPSdkZWZpbmUnCi1kX3RlbGxkaXI9J2RlZmluZScKLWRfdGVsbGRpcnByb3RvPSdkZWZpbmUnCi1kX3RnYW1tYT0nZGVmaW5lJwotZF90aW1lPSdkZWZpbmUnCi1kX3RpbWVnbT0nZGVmaW5lJwotZF90aW1lcz0nZGVmaW5lJwotZF90bV90bV9nbXRvZmY9J2RlZmluZScKLWRfdG1fdG1fem9uZT0nZGVmaW5lJwotZF90bXBuYW1fcj0nZGVmaW5lJwotZF90cnVuYz0nZGVmaW5lJwotZF90cnVuY2F0ZT0nZGVmaW5lJwotZF90cnVuY2w9J2RlZmluZScKLWRfdHR5bmFtZV9yPSdkZWZpbmUnCi1kX3R6bmFtZT0nZGVmaW5lJwotZF91MzJhbGlnbj0nZGVmaW5lJwotZF91YWxhcm09J2RlZmluZScKLWRfdW1hc2s9J2RlZmluZScKLWRfdW5hbWU9J2RlZmluZScKLWRfdW5pb25fc2VtdW49J3VuZGVmJwotZF91bm9yZGVyZWQ9J3VuZGVmJwotZF91bnNldGVudj0nZGVmaW5lJwotZF91c2xlZXA9J2RlZmluZScKLWRfdXNsZWVwcHJvdG89J2RlZmluZScKLWRfdXN0YXQ9J2RlZmluZScKLWRfdmVuZG9yYXJjaD0nZGVmaW5lJwotZF92ZW5kb3JiaW49J2RlZmluZScKLWRfdmVuZG9ybGliPSdkZWZpbmUnCi1kX3ZlbmRvcnNjcmlwdD0nZGVmaW5lJwotZF92Zm9yaz0ndW5kZWYnCi1kX3ZvaWRfY2xvc2VkaXI9J3VuZGVmJwotZF92b2lkc2lnPSdkZWZpbmUnCi1kX3ZvaWR0dHk9JycKLWRfdm9sYXRpbGU9J2RlZmluZScKLWRfdnByaW50Zj0nZGVmaW5lJwotZF92c25wcmludGY9J2RlZmluZScKLWRfd2FpdDQ9J2RlZmluZScKLWRfd2FpdHBpZD0nZGVmaW5lJwotZF93Y3NjbXA9J2RlZmluZScKLWRfd2NzdG9tYnM9J2RlZmluZScKLWRfd2NzeGZybT0nZGVmaW5lJwotZF93Y3RvbWI9J2RlZmluZScKLWRfd3JpdGV2PSdkZWZpbmUnCi1kX3hlbml4PSd1bmRlZicKLWRhdGU9J2RhdGUnCi1kYl9oYXNodHlwZT0ndV9pbnQzMl90JwotZGJfcHJlZml4dHlwZT0nc2l6ZV90JwotZGJfdmVyc2lvbl9tYWpvcj0nJwotZGJfdmVyc2lvbl9taW5vcj0nJwotZGJfdmVyc2lvbl9wYXRjaD0nJwotZGlyZW50cnl0eXBlPSdzdHJ1Y3QgZGlyZW50JwotZGxleHQ9J3NvJwotZGxzcmM9J2RsX2Rsb3Blbi54cycKLWRvdWJsZWluZmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGYwLCAweDdmJwotZG91Ymxla2luZD0nMycKLWRvdWJsZW1hbnRiaXRzPSc1MicKLWRvdWJsZW5hbmJ5dGVzPScweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweGY4LCAweGZmJwotZG91Ymxlc2l6ZT0nOCcKLWRyYW5kMDE9J1BlcmxfZHJhbmQ0OCgpJwotZHJhbmQ0OF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TVCcKLWR0cmFjZT0nJwotZHRyYWNlb2JqZWN0PScnCi1keW5hbWljX2V4dD0nQiBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ3dkIERhdGEvRHVtcGVyIERldmVsL1BQUG9ydCBEZXZlbC9QZWVrIERpZ2VzdC9NRDUgRGlnZXN0L1NIQSBFbmNvZGUgRmNudGwgRmlsZS9Eb3NHbG9iIEZpbGUvR2xvYiBGaWx0ZXIvVXRpbC9DYWxsIEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vTGFuZ2luZm8gSU8gSVBDL1N5c1YgTGlzdC9VdGlsIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE5EQk1fRmlsZSBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBlcmxJTy9lbmNvZGluZyBQZXJsSU8vbW1hcCBQZXJsSU8vc2NhbGFyIFBlcmxJTy92aWEgU0RCTV9GaWxlIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUaWUvSGFzaC9OYW1lZENhcHR1cmUgVGltZS9IaVJlcyBUaW1lL1BpZWNlIFVuaWNvZGUvQ29sbGF0ZSBYUy9BUEl0ZXN0IFhTL1R5cGVtYXAgYXJ5YmFzZSBhdHRyaWJ1dGVzIG1ybyByZSB0aHJlYWRzIHRocmVhZHMvc2hhcmVkJwotZWFnYWluPSdFQUdBSU4nCi1lYmNkaWM9J3VuZGVmJwotZWNobz0nZWNobycKLWVncmVwPSdlZ3JlcCcKLWVtYWNzPScnCi1lbmRncmVudF9yX3Byb3RvPScwJwotZW5kaG9zdGVudF9yX3Byb3RvPScwJwotZW5kbmV0ZW50X3JfcHJvdG89JzAnCi1lbmRwcm90b2VudF9yX3Byb3RvPScwJwotZW5kcHdlbnRfcl9wcm90bz0nMCcKLWVuZHNlcnZlbnRfcl9wcm90bz0nMCcKLWV1bmljZWZpeD0nOicKLWV4ZV9leHQ9JycKLWV4cHI9J2V4cHInCi1leHRlbnNpb25zPSdCIENvbXByZXNzL1Jhdy9CemlwMiBDb21wcmVzcy9SYXcvWmxpYiBDd2QgRGF0YS9EdW1wZXIgRGV2ZWwvUFBQb3J0IERldmVsL1BlZWsgRGlnZXN0L01ENSBEaWdlc3QvU0hBIEVuY29kZSBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9HbG9iIEZpbHRlci9VdGlsL0NhbGwgSGFzaC9VdGlsIEhhc2gvVXRpbC9GaWVsZEhhc2ggSTE4Ti9MYW5naW5mbyBJTyBJUEMvU3lzViBMaXN0L1V0aWwgTUlNRS9CYXNlNjQgTWF0aC9CaWdJbnQvRmFzdENhbGMgTkRCTV9GaWxlIE9EQk1fRmlsZSBPcGNvZGUgUE9TSVggUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBTREJNX0ZpbGUgU29ja2V0IFN0b3JhYmxlIFN5cy9Ib3N0bmFtZSBTeXMvU3lzbG9nIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaW1lL0hpUmVzIFRpbWUvUGllY2UgVW5pY29kZS9Db2xsYXRlIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBhcnliYXNlIGF0dHJpYnV0ZXMgbXJvIHJlIHRocmVhZHMgdGhyZWFkcy9zaGFyZWQgQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQi9EZWJ1ZyBDUEFOIENQQU4vTWV0YSBDUEFOL01ldGEvUmVxdWlyZW1lbnRzIENQQU4vTWV0YS9ZQU1MIENhcnAgQ29uZmlnL1BlcmwvViBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRHVtcHZhbHVlIEVudiBFcnJubyBFeHBvcnRlciBFeHRVdGlscy9DQnVpbGRlciBFeHRVdGlscy9Db21tYW5kIEV4dFV0aWxzL0NvbnN0YW50IEV4dFV0aWxzL0luc3RhbGwgRXh0VXRpbHMvTWFrZU1ha2VyIEV4dFV0aWxzL01hbmlmZXN0IEV4dFV0aWxzL01pbmlwZXJsIEV4dFV0aWxzL1BhcnNlWFMgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9QYXRoIEZpbGUvVGVtcCBGaWxlQ2FjaGUgRmlsdGVyL1NpbXBsZSBHZXRvcHQvTG9uZyBIVFRQL1RpbnkgSTE4Ti9Db2xsYXRlIEkxOE4vTGFuZ1RhZ3MgSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSlNPTi9QUCBMb2NhbGUvQ29kZXMgTG9jYWxlL01ha2V0ZXh0IExvY2FsZS9NYWtldGV4dC9TaW1wbGUgTWF0aC9CaWdJbnQgTWF0aC9CaWdSYXQgTWF0aC9Db21wbGV4IE1lbW9pemUgTW9kdWxlL0NvcmVMaXN0IE1vZHVsZS9Mb2FkIE1vZHVsZS9Mb2FkL0NvbmRpdGlvbmFsIE1vZHVsZS9Mb2FkZWQgTW9kdWxlL01ldGFkYXRhIE5FWFQgTmV0L1BpbmcgUGFyYW1zL0NoZWNrIFBhcnNlL0NQQU4vTWV0YSBQZXJsL09TVHlwZSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTYWZlIFNlYXJjaC9EaWN0IFNlbGZMb2FkZXIgVGVybS9BTlNJQ29sb3IgVGVybS9DYXAgVGVybS9Db21wbGV0ZSBUZXJtL1JlYWRMaW5lIFRlc3QgVGVzdC9IYXJuZXNzIFRlc3QvU2ltcGxlIFRleHQvQWJicmV2IFRleHQvQmFsYW5jZWQgVGV4dC9QYXJzZVdvcmRzIFRleHQvVGFicyBUaHJlYWQvUXVldWUgVGhyZWFkL1NlbWFwaG9yZSBUaWUvRmlsZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0xvY2FsIFVuaWNvZGUvTm9ybWFsaXplIFhTTG9hZGVyIGF1dG9kaWUgYXV0b3VzZSBiYXNlIGJpZ251bSBjb25zdGFudCBlbmNvZGluZy93YXJuaW5ncyBleHBlcmltZW50YWwgaWYgbGliIGxpYm5ldCBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgdmVyc2lvbicKLWV4dGVybl9DPSdleHRlcm4nCi1leHRyYXM9JycKLWZmbHVzaE5VTEw9J2RlZmluZScKLWZmbHVzaGFsbD0ndW5kZWYnCi1maW5kPScnCi1maXJzdG1ha2VmaWxlPSdtYWtlZmlsZScKLWZsZXg9JycKLWZwb3NzaXplPScxNicKLWZwb3N0eXBlPSdmcG9zX3QnCi1mcmVldHlwZT0ndm9pZCcKLWZyb209JzonCi1mdWxsX2FyPSdhcicKLWZ1bGxfY3NoPSdjc2gnCi1mdWxsX3NlZD0nc2VkJwotZ2NjYW5zaXBlZGFudGljPScnCi1nY2Nvc2FuZHZlcnM9JycKLWdjY3ZlcnNpb249JzQuOS4yJwotZ2V0Z3JlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldGdyZ2lkX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTQldSJwotZ2V0Z3JuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1nZXRob3N0YnlhZGRyX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RzSVNCV1JFJwotZ2V0aG9zdGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRob3N0ZW50X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1NCV1JFJwotZ2V0bG9naW5fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQlcnCi1nZXRuZXRieWFkZHJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfdUlTQldSRScKLWdldG5ldGJ5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUkUnCi1nZXRuZXRlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUkUnCi1nZXRwcm90b2J5bmFtZV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9DU0JXUicKLWdldHByb3RvYnludW1iZXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSVNCV1InCi1nZXRwcm90b2VudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0cHdlbnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfU0JXUicKLWdldHB3bmFtX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NTQldSJwotZ2V0cHd1aWRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNCV1InCi1nZXRzZXJ2YnluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0NDU0JXUicKLWdldHNlcnZieXBvcnRfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfSUNTQldSJwotZ2V0c2VydmVudF9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9TQldSJwotZ2V0c3BuYW1fcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfQ1NCV1InCi1naWRmb3JtYXQ9JyJ1IicKLWdpZHNpZ249JzEnCi1naWRzaXplPSc0JwotZ2lkdHlwZT0nZ2lkX3QnCi1nbGlicHRoPSdARVhFQ1BSRUZJWEAvc2hsaWIgIEBCQVNFTElCRElSQCBATElCRElSQCBATElCRElSQC8zODYgQEJBU0VMSUJESVJAMzg2IEBFWEVDUFJFRklYQC9jY3NAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL3VjYmxpYiBARVhFQ1BSRUZJWEAvbG9jYWxAQkFTRUxJQkRJUkAgQEJBU0VMSUJESVJAIEBMSUJESVJAIEBFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAnCi1nbWFrZT0nZ21ha2UnCi1nbXRpbWVfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX1NfVFMnCi1nbnVsaWJjX3ZlcnNpb249JzIuMjEnCi1ncmVwPSdncmVwJwotZ3JvdXBjYXQ9J2NhdCAvZXRjL2dyb3VwJwotZ3JvdXBzdHlwZT0nZ2lkX3QnCi1nemlwPSdnemlwJwotaF9mY250bD0nZmFsc2UnCi1oX3N5c2ZpbGU9J3RydWUnCi1oaW50PSdyZWNvbW1lbmRlZCcKLWhvc3RjYXQ9J2NhdCAvZXRjL2hvc3RzJwotaG9zdGdlbmVyYXRlPScnCi1ob3N0b3NuYW1lPScnCi1ob3N0cGVybD0nJwotaHRtbDFkaXI9JyAnCi1odG1sMWRpcmV4cD0nJwotaHRtbDNkaXI9JyAnCi1odG1sM2RpcmV4cD0nJwotaTE2c2l6ZT0nMicKLWkxNnR5cGU9J3Nob3J0JwotaTMyc2l6ZT0nNCcKLWkzMnR5cGU9J2ludCcKLWk2NHNpemU9JzgnCi1pNjR0eXBlPSdsb25nJwotaThzaXplPScxJwotaTh0eXBlPSdzaWduZWQgY2hhcicKLWlfYXJwYWluZXQ9J2RlZmluZScKLWlfYXNzZXJ0PSdkZWZpbmUnCi1pX2JmZD0nZGVmaW5lJwotaV9ic2Rpb2N0bD0nJwotaV9jcnlwdD0nZGVmaW5lJwotaV9kYj0ndW5kZWYnCi1pX2RibT0nZGVmaW5lJwotaV9kaXJlbnQ9J2RlZmluZScKLWlfZGxmY249J2RlZmluZScKLWlfZXhlY2luZm89J2RlZmluZScKLWlfZmNudGw9J3VuZGVmJwotaV9mZW52PSdkZWZpbmUnCi1pX2Zsb2F0PSdkZWZpbmUnCi1pX2ZwPSd1bmRlZicKLWlfZnBfY2xhc3M9J3VuZGVmJwotaV9nZGJtPSd1bmRlZicKLWlfZ2RibV9uZGJtPSd1bmRlZicKLWlfZ2RibW5kYm09J2RlZmluZScKLWlfZ3JwPSdkZWZpbmUnCi1pX2llZWVmcD0ndW5kZWYnCi1pX2ludHR5cGVzPSdkZWZpbmUnCi1pX2xhbmdpbmZvPSdkZWZpbmUnCi1pX2xpYnV0aWw9J3VuZGVmJwotaV9saW1pdHM9J2RlZmluZScKLWlfbG9jYWxlPSdkZWZpbmUnCi1pX21hY2hjdGhyPSd1bmRlZicKLWlfbWFsbG9jPSdkZWZpbmUnCi1pX21hbGxvY21hbGxvYz0ndW5kZWYnCi1pX21hdGg9J2RlZmluZScKLWlfbWVtb3J5PSd1bmRlZicKLWlfbW50ZW50PSdkZWZpbmUnCi1pX25kYm09J3VuZGVmJwotaV9uZXRkYj0nZGVmaW5lJwotaV9uZXRlcnJubz0ndW5kZWYnCi1pX25ldGluZXR0Y3A9J2RlZmluZScKLWlfbmlpbj0nZGVmaW5lJwotaV9wb2xsPSdkZWZpbmUnCi1pX3Byb3Q9J3VuZGVmJwotaV9wdGhyZWFkPSdkZWZpbmUnCi1pX3B3ZD0nZGVmaW5lJwotaV9xdWFkbWF0aD0ndW5kZWYnCi1pX3JwY3N2Y2RibT0ndW5kZWYnCi1pX3NndHR5PSd1bmRlZicKLWlfc2hhZG93PSdkZWZpbmUnCi1pX3NvY2tzPSd1bmRlZicKLWlfc3RkYXJnPSdkZWZpbmUnCi1pX3N0ZGJvb2w9J2RlZmluZScKLWlfc3RkZGVmPSdkZWZpbmUnCi1pX3N0ZGludD0nZGVmaW5lJwotaV9zdGRsaWI9J2RlZmluZScKLWlfc3RyaW5nPSdkZWZpbmUnCi1pX3N1bm1hdGg9J3VuZGVmJwotaV9zeXNhY2Nlc3M9J3VuZGVmJwotaV9zeXNkaXI9J2RlZmluZScKLWlfc3lzZmlsZT0nZGVmaW5lJwotaV9zeXNmaWxpbz0ndW5kZWYnCi1pX3N5c2luPSd1bmRlZicKLWlfc3lzaW9jdGw9J2RlZmluZScKLWlfc3lzbG9nPSdkZWZpbmUnCi1pX3N5c21tYW49J2RlZmluZScKLWlfc3lzbW9kZT0ndW5kZWYnCi1pX3N5c21vdW50PSdkZWZpbmUnCi1pX3N5c25kaXI9J3VuZGVmJwotaV9zeXNwYXJhbT0nZGVmaW5lJwotaV9zeXNwb2xsPSdkZWZpbmUnCi1pX3N5c3Jlc3JjPSdkZWZpbmUnCi1pX3N5c3NlY3J0PSd1bmRlZicKLWlfc3lzc2VsY3Q9J2RlZmluZScKLWlfc3lzc29ja2lvPSd1bmRlZicKLWlfc3lzc3RhdD0nZGVmaW5lJwotaV9zeXNzdGF0ZnM9J2RlZmluZScKLWlfc3lzc3RhdHZmcz0nZGVmaW5lJwotaV9zeXN0aW1lPSdkZWZpbmUnCi1pX3N5c3RpbWVrPSd1bmRlZicKLWlfc3lzdGltZXM9J2RlZmluZScKLWlfc3lzdHlwZXM9J2RlZmluZScKLWlfc3lzdWlvPSdkZWZpbmUnCi1pX3N5c3VuPSdkZWZpbmUnCi1pX3N5c3V0c25hbWU9J2RlZmluZScKLWlfc3lzdmZzPSdkZWZpbmUnCi1pX3N5c3dhaXQ9J2RlZmluZScKLWlfdGVybWlvPSd1bmRlZicKLWlfdGVybWlvcz0nZGVmaW5lJwotaV90aW1lPSdkZWZpbmUnCi1pX3VuaXN0ZD0nZGVmaW5lJwotaV91c3RhdD0nZGVmaW5lJwotaV91dGltZT0nZGVmaW5lJwotaV92YWx1ZXM9J2RlZmluZScKLWlfdmFyYXJncz0ndW5kZWYnCi1pX3Zhcmhkcj0nc3RkYXJnLmgnCi1pX3Zmb3JrPSd1bmRlZicKLWlnbm9yZV92ZXJzaW9uZWRfc29saWJzPSd5JwotaW5jX3ZlcnNpb25fbGlzdD0nICcKLWluY192ZXJzaW9uX2xpc3RfaW5pdD0nMCcKLWluY3BhdGg9JycKLWluZXdzPScnCi1pbml0aWFsaW5zdGFsbGxvY2F0aW9uPSdAVVNSQklOQCcKLWluc3RhbGxhcmNobGliPSdATElCRElSQC9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotaW5zdGFsbGJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsaHRtbDFkaXI9JycKLWluc3RhbGxodG1sM2Rpcj0nJwotaW5zdGFsbG1hbjFkaXI9JycKLWluc3RhbGxtYW4zZGlyPScnCi1pbnN0YWxscHJlZml4PSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1pbnN0YWxscHJpdmxpYj0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1pbnN0YWxsc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzaXRlYXJjaD0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsc2l0ZWJpbj0nQFVTUkJJTkAnCi1pbnN0YWxsc2l0ZWh0bWwxZGlyPScnCi1pbnN0YWxsc2l0ZWh0bWwzZGlyPScnCi1pbnN0YWxsc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40JwotaW5zdGFsbHNpdGVtYW4xZGlyPScnCi1pbnN0YWxsc2l0ZW1hbjNkaXI9JycKLWluc3RhbGxzaXRlc2NyaXB0PSdAVVNSQklOQCcKLWluc3RhbGxzdHlsZT0nbGliL3BlcmwnCi1pbnN0YWxsdXNyYmlucGVybD0nZGVmaW5lJwotaW5zdGFsbHZlbmRvcmFyY2g9J0BMSUJESVJAL3BlcmwvdmVuZG9yX3BlcmwvNS4yNC40L0BBUkNIQC10aHJlYWQtbXVsdGknCi1pbnN0YWxsdmVuZG9yYmluPSdAVVNSQklOQCcKLWluc3RhbGx2ZW5kb3JodG1sMWRpcj0nJwotaW5zdGFsbHZlbmRvcmh0bWwzZGlyPScnCi1pbnN0YWxsdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLWluc3RhbGx2ZW5kb3JtYW4xZGlyPScnCi1pbnN0YWxsdmVuZG9ybWFuM2Rpcj0nJwotaW5zdGFsbHZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi1pbnRzaXplPSc0JwotaXNzeW1saW5rPSd0ZXN0IC1oJwotaXZkZm9ybWF0PScibGQiJwotaXZzaXplPSc4JwotaXZ0eXBlPSdsb25nJwota25vd25fZXh0ZW5zaW9ucz0nQXJjaGl2ZS9UYXIgQXR0cmlidXRlL0hhbmRsZXJzIEF1dG9Mb2FkZXIgQiBCL0RlYnVnIENQQU4gQ1BBTi9NZXRhIENQQU4vTWV0YS9SZXF1aXJlbWVudHMgQ1BBTi9NZXRhL1lBTUwgQ2FycCBDb21wcmVzcy9SYXcvQnppcDIgQ29tcHJlc3MvUmF3L1psaWIgQ29uZmlnL1BlcmwvViBDd2QgREJfRmlsZSBEYXRhL0R1bXBlciBEZXZlbC9QUFBvcnQgRGV2ZWwvUGVlayBEZXZlbC9TZWxmU3R1YmJlciBEaWdlc3QgRGlnZXN0L01ENSBEaWdlc3QvU0hBIER1bXB2YWx1ZSBFbmNvZGUgRW52IEVycm5vIEV4cG9ydGVyIEV4dFV0aWxzL0NCdWlsZGVyIEV4dFV0aWxzL0NvbW1hbmQgRXh0VXRpbHMvQ29uc3RhbnQgRXh0VXRpbHMvSW5zdGFsbCBFeHRVdGlscy9NYWtlTWFrZXIgRXh0VXRpbHMvTWFuaWZlc3QgRXh0VXRpbHMvTWluaXBlcmwgRXh0VXRpbHMvUGFyc2VYUyBGY250bCBGaWxlL0Rvc0dsb2IgRmlsZS9GZXRjaCBGaWxlL0ZpbmQgRmlsZS9HbG9iIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgRmlsdGVyL1V0aWwvQ2FsbCBHREJNX0ZpbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEhhc2gvVXRpbCBIYXNoL1V0aWwvRmllbGRIYXNoIEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIEkxOE4vTGFuZ2luZm8gSU8gSU8vQ29tcHJlc3MgSU8vU29ja2V0L0lQIElPL1psaWIgSVBDL0NtZCBJUEMvT3BlbjMgSVBDL1N5c1YgSlNPTi9QUCBMaXN0L1V0aWwgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1JTUUvQmFzZTY0IE1hdGgvQmlnSW50IE1hdGgvQmlnSW50L0Zhc3RDYWxjIE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBOREJNX0ZpbGUgTkVYVCBOZXQvUGluZyBPREJNX0ZpbGUgT3Bjb2RlIFBPU0lYIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL2VuY29kaW5nIFBlcmxJTy9tbWFwIFBlcmxJTy9zY2FsYXIgUGVybElPL3ZpYSBQZXJsSU8vdmlhL1F1b3RlZFByaW50IFBvZC9DaGVja2VyIFBvZC9Fc2NhcGVzIFBvZC9GdW5jdGlvbnMgUG9kL0h0bWwgUG9kL1BhcnNlciBQb2QvUGVybGRvYyBQb2QvU2ltcGxlIFBvZC9Vc2FnZSBTREJNX0ZpbGUgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFNvY2tldCBTdG9yYWJsZSBTeXMvSG9zdG5hbWUgU3lzL1N5c2xvZyBUZXJtL0FOU0lDb2xvciBUZXJtL0NhcCBUZXJtL0NvbXBsZXRlIFRlcm0vUmVhZExpbmUgVGVzdCBUZXN0L0hhcm5lc3MgVGVzdC9TaW1wbGUgVGV4dC9BYmJyZXYgVGV4dC9CYWxhbmNlZCBUZXh0L1BhcnNlV29yZHMgVGV4dC9UYWJzIFRocmVhZC9RdWV1ZSBUaHJlYWQvU2VtYXBob3JlIFRpZS9GaWxlIFRpZS9IYXNoL05hbWVkQ2FwdHVyZSBUaWUvTWVtb2l6ZSBUaWUvUmVmSGFzaCBUaW1lL0hpUmVzIFRpbWUvTG9jYWwgVGltZS9QaWVjZSBVbmljb2RlL0NvbGxhdGUgVW5pY29kZS9Ob3JtYWxpemUgVk1TL0RDTHN5bSBWTVMvRmlsZXNwZWMgVk1TL1N0ZGlvIFdpbjMyIFdpbjMyQVBJL0ZpbGUgV2luMzJDT1JFIFhTL0FQSXRlc3QgWFMvVHlwZW1hcCBYU0xvYWRlciBhcnliYXNlIGF0dHJpYnV0ZXMgYXV0b2RpZSBhdXRvdXNlIGJhc2UgYmlnbnVtIGNvbnN0YW50IGVuY29kaW5nL3dhcm5pbmdzIGV4cGVyaW1lbnRhbCBpZiBsaWIgbGlibmV0IG1ybyBwYXJlbnQgcGVybGZhcSBwb2RsYXRvcnMgcmUgdGhyZWFkcyB0aHJlYWRzL3NoYXJlZCB2ZXJzaW9uICcKLWtzaD0nJwotbGQ9J2djYycKLWxkX2Nhbl9zY3JpcHQ9J2RlZmluZScKLWxkZGxmbGFncz0nLXNoYXJlZCAtTzInCi1sZGZsYWdzPScnCi1sZGZsYWdzX3VzZWxhcmdlZmlsZXM9JycKLWxkbGlicHRobmFtZT0nTERfTElCUkFSWV9QQVRIJwotbGVzcz0nbGVzcycKLWxpYl9leHQ9Jy5hJwotbGliYz0nbGliYy0yLjIxLnNvJwotbGlicGVybD0nbGlicGVybC5zbycKLWxpYnB0aD0nQExJQkRJUkAgQEJBU0VMSUJESVJAJwotbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZ2RibSAtbGRiIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYyAtbGdkYm1fY29tcGF0JwotbGlic2RpcnM9JyBATElCRElSQCcKLWxpYnNmaWxlcz0nIGxpYnB0aHJlYWQuc28gbGlibnNsLnNvIGxpYmdkYm0uc28gbGliZGIuc28gbGliZGwuc28gbGlibS5zbyBsaWJjcnlwdC5zbyBsaWJ1dGlsLnNvIGxpYmMuc28gbGliZ2RibV9jb21wYXQuc28nCi1saWJzZm91bmQ9JyBATElCRElSQC9saWJwdGhyZWFkLnNvIEBMSUJESVJAL2xpYm5zbC5zbyBATElCRElSQC9saWJnZGJtLnNvIEBMSUJESVJAL2xpYmRiLnNvIEBMSUJESVJAL2xpYmRsLnNvIEBMSUJESVJAL2xpYm0uc28gQExJQkRJUkAvbGliY3J5cHQuc28gQExJQkRJUkAvbGlidXRpbC5zbyBATElCRElSQC9saWJjLnNvIEBMSUJESVJAL2xpYmdkYm1fY29tcGF0LnNvJwotbGlic3BhdGg9JyBATElCRElSQCBAQkFTRUxJQkRJUkAnCi1saWJzd2FudGVkPSdjbCBwdGhyZWFkIHNvY2tldCBpbmV0IG5zbCBubSBnZGJtIGRibSBkYiBtYWxsb2MgZGwgbGQgc3VuIG0gY3J5cHQgc2VjIHV0aWwgYyBjcG9zaXggcG9zaXggdWNiIEJTRCBnZGJtX2NvbXBhdCcKLWxpYnN3YW50ZWRfdXNlbGFyZ2VmaWxlcz0nJwotbGluZT0nJwotbGludD0nJwotbGtmbGFncz0nJwotbG49J2xuJwotbG5zPScvYmluL2xuIC1zJwotbG9jYWx0aW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19TX1RTJwotbG9jaW5jcHRoPSdARVhFQ1BSRUZJWEAvbG9jYWwvaW5jbHVkZSAvb3B0L2xvY2FsL2luY2x1ZGUgQEVYRUNQUkVGSVhAL2dudS9pbmNsdWRlIC9vcHQvZ251L2luY2x1ZGUgQEVYRUNQUkVGSVhAL0dOVS9pbmNsdWRlIC9vcHQvR05VL2luY2x1ZGUnCi1sb2NsaWJwdGg9J0BFWEVDUFJFRklYQC9sb2NhbEBCQVNFTElCRElSQCAvb3B0L2xvY2FsQEJBU0VMSUJESVJAIEBFWEVDUFJFRklYQC9nbnVAQkFTRUxJQkRJUkAgL29wdC9nbnVAQkFTRUxJQkRJUkAgQEVYRUNQUkVGSVhAL0dOVUBCQVNFTElCRElSQCAvb3B0L0dOVUBCQVNFTElCRElSQCcKLWxvbmdkYmxpbmZieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg4MCwgMHhmZiwgMHg3ZiwgMHgwMCwgMHgwMCcKLWxvbmdkYmxraW5kPSczJwotbG9uZ2RibG1hbnRiaXRzPSc2NCcKLWxvbmdkYmxuYW5ieXRlcz0nMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhjMCwgMHhmZiwgMHhmZiwgMHgzMiwgMHhmNycKLWxvbmdkYmxzaXplPScxNicKLWxvbmdsb25nc2l6ZT0nOCcKLWxvbmdzaXplPSc4JwotbHA9JycKLWxwcj0nJwotbHM9J2xzJwotbHNlZWtzaXplPSc4JwotbHNlZWt0eXBlPSdvZmZfdCcKLW1haWw9JycKLW1haWx4PScnCi1tYWtlPSdtYWtlJwotbWFrZV9zZXRfbWFrZT0nIycKLW1hbGxvY29iaj0nJwotbWFsbG9jc3JjPScnCi1tYWxsb2N0eXBlPSd2b2lkIConCi1tYW4xZGlyPScgJwotbWFuMWRpcmV4cD0nJwotbWFuMWV4dD0nMCcKLW1hbjNkaXI9JyAnCi1tYW4zZGlyZXhwPScnCi1tYW4zZXh0PScwJwotbWlwc190eXBlPScnCi1taXN0cnVzdG5tPScnCi1ta2Rpcj0nbWtkaXInCi1tbWFwdHlwZT0ndm9pZCAqJwotbW9kZXR5cGU9J21vZGVfdCcKLW1vcmU9J21vcmUnCi1tdWx0aWFyY2g9J3VuZGVmJwotbXY9JycKLW15YXJjaG5hbWU9J0BBUkNIQCcKLW15ZG9tYWluPScubG9jYWxkb21haW4nCi1teWhvc3RuYW1lPSdsb2NhbGhvc3QnCi1teXVuYW1lPSdsaW51eCBxZW11eDg2LTY0IDMuMTkuNS15b2N0by1zdGFuZGFyZCAjMSBzbXAgcHJlZW1wdCB0dWUganVuIDE2IDAwOjI4OjE3IHBkdCAyMDE1IHg4Nl82NCBnbnVsaW51eCAnCi1uPSctbicKLW5lZWRfdmFfY29weT0nZGVmaW5lJwotbmV0ZGJfaGxlbl90eXBlPSdzaXplX3QnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW5ldGRiX25hbWVfdHlwZT0nY29uc3QgY2hhciAqJwotbmV0ZGJfbmV0X3R5cGU9J2luX2FkZHJfdCcKLW5tPSdubScKLW5tX29wdD0nJwotbm1fc29fb3B0PSctLWR5bmFtaWMnCi1ub254c19leHQ9J0FyY2hpdmUvVGFyIEF0dHJpYnV0ZS9IYW5kbGVycyBBdXRvTG9hZGVyIEIvRGVidWcgQ1BBTiBDUEFOL01ldGEgQ1BBTi9NZXRhL1JlcXVpcmVtZW50cyBDUEFOL01ldGEvWUFNTCBDYXJwIENvbmZpZy9QZXJsL1YgRGV2ZWwvU2VsZlN0dWJiZXIgRGlnZXN0IER1bXB2YWx1ZSBFbnYgRXJybm8gRXhwb3J0ZXIgRXh0VXRpbHMvQ0J1aWxkZXIgRXh0VXRpbHMvQ29tbWFuZCBFeHRVdGlscy9Db25zdGFudCBFeHRVdGlscy9JbnN0YWxsIEV4dFV0aWxzL01ha2VNYWtlciBFeHRVdGlscy9NYW5pZmVzdCBFeHRVdGlscy9NaW5pcGVybCBFeHRVdGlscy9QYXJzZVhTIEZpbGUvRmV0Y2ggRmlsZS9GaW5kIEZpbGUvUGF0aCBGaWxlL1RlbXAgRmlsZUNhY2hlIEZpbHRlci9TaW1wbGUgR2V0b3B0L0xvbmcgSFRUUC9UaW55IEkxOE4vQ29sbGF0ZSBJMThOL0xhbmdUYWdzIElPL0NvbXByZXNzIElPL1NvY2tldC9JUCBJTy9abGliIElQQy9DbWQgSVBDL09wZW4zIEpTT04vUFAgTG9jYWxlL0NvZGVzIExvY2FsZS9NYWtldGV4dCBMb2NhbGUvTWFrZXRleHQvU2ltcGxlIE1hdGgvQmlnSW50IE1hdGgvQmlnUmF0IE1hdGgvQ29tcGxleCBNZW1vaXplIE1vZHVsZS9Db3JlTGlzdCBNb2R1bGUvTG9hZCBNb2R1bGUvTG9hZC9Db25kaXRpb25hbCBNb2R1bGUvTG9hZGVkIE1vZHVsZS9NZXRhZGF0YSBORVhUIE5ldC9QaW5nIFBhcmFtcy9DaGVjayBQYXJzZS9DUEFOL01ldGEgUGVybC9PU1R5cGUgUGVybElPL3ZpYS9RdW90ZWRQcmludCBQb2QvQ2hlY2tlciBQb2QvRXNjYXBlcyBQb2QvRnVuY3Rpb25zIFBvZC9IdG1sIFBvZC9QYXJzZXIgUG9kL1Blcmxkb2MgUG9kL1NpbXBsZSBQb2QvVXNhZ2UgU2FmZSBTZWFyY2gvRGljdCBTZWxmTG9hZGVyIFRlcm0vQU5TSUNvbG9yIFRlcm0vQ2FwIFRlcm0vQ29tcGxldGUgVGVybS9SZWFkTGluZSBUZXN0IFRlc3QvSGFybmVzcyBUZXN0L1NpbXBsZSBUZXh0L0FiYnJldiBUZXh0L0JhbGFuY2VkIFRleHQvUGFyc2VXb3JkcyBUZXh0L1RhYnMgVGhyZWFkL1F1ZXVlIFRocmVhZC9TZW1hcGhvcmUgVGllL0ZpbGUgVGllL01lbW9pemUgVGllL1JlZkhhc2ggVGltZS9Mb2NhbCBVbmljb2RlL05vcm1hbGl6ZSBYU0xvYWRlciBhdXRvZGllIGF1dG91c2UgYmFzZSBiaWdudW0gY29uc3RhbnQgZW5jb2Rpbmcvd2FybmluZ3MgZXhwZXJpbWVudGFsIGlmIGxpYiBsaWJuZXQgcGFyZW50IHBlcmxmYXEgcG9kbGF0b3JzIHZlcnNpb24nCi1ucm9mZj0nbnJvZmYnCi1udkVVZm9ybWF0PSciRSInCi1udkZVZm9ybWF0PSciRiInCi1udkdVZm9ybWF0PSciRyInCi1udl9vdmVyZmxvd3NfaW50ZWdlcnNfYXQ9JzI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjI1Ni4wKjIuMCoyLjAqMi4wKjIuMCoyLjAnCi1udl9wcmVzZXJ2ZXNfdXZfYml0cz0nNTMnCi1udmVmb3JtYXQ9JyJlIicKLW52ZmZvcm1hdD0nImYiJwotbnZnZm9ybWF0PSciZyInCi1udm1hbnRiaXRzPSc1MicKLW52c2l6ZT0nOCcKLW52dHlwZT0nZG91YmxlJwotb19ub25ibG9jaz0nT19OT05CTE9DSycKLW9ial9leHQ9Jy5vJwotb2xkX3B0aHJlYWRfY3JlYXRlX2pvaW5hYmxlPScnCi1vcHRpbWl6ZT0nLU8yJwotb3JkZXJsaWI9J2ZhbHNlJwotb3NuYW1lPSdsaW51eCcKLW9zdmVycz0nMy4xOS41LXlvY3RvLXN0YW5kYXJkJwotb3RoZXJsaWJkaXJzPSdATElCRElSQC9wZXJsLzUuMjQuNCcKLXBhY2thZ2U9J3BlcmwnCi1wYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotcGFzc2NhdD0nY2F0IC9ldGMvcGFzc3dkJwotcGF0Y2hsZXZlbD0nMjQnCi1wYXRoX3NlcD0nOicKLXBlcmw1PSdAVVNSQklOQC9wZXJsJwotcGVybD0ncGVybCcKLXBlcmxfcGF0Y2hsZXZlbD0nJwotcGVybF9zdGF0aWNfaW5saW5lPSdzdGF0aWMgX19pbmxpbmVfXycKLXBlcmxhZG1pbj0ncm9vdEBsb2NhbGhvc3QnCi1wZXJsbGlicz0nLWxwdGhyZWFkIC1sbnNsIC1sZGwgLWxtIC1sY3J5cHQgLWx1dGlsIC1sYycKLXBlcmxwYXRoPSdAVVNSQklOQC9wZXJsJwotcGc9J3BnJwotcGhvc3RuYW1lPScnCi1waWR0eXBlPSdwaWRfdCcKLXBsaWJwdGg9J0BMSUJESVJAIEBCQVNFTElCRElSQCcKLXBtYWtlPScnCi1wcj0nJwotcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1wcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXByaXZsaWI9J0BMSUJESVJAL3BlcmwvNS4yNC40JwotcHJpdmxpYmV4cD0nQExJQkRJUkAvcGVybC81LjI0LjQnCi1wcm9jc2VsZmV4ZT0nIi9wcm9jL3NlbGYvZXhlIicKLXByb3RvdHlwZT0nZGVmaW5lJwotcHRyc2l6ZT0nOCcKLXF1YWRraW5kPScyJwotcXVhZHR5cGU9J2xvbmcnCi1yYW5kYml0cz0nNDgnCi1yYW5kZnVuYz0nUGVybF9kcmFuZDQ4JwotcmFuZG9tX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1N0JwotcmFuZHNlZWR0eXBlPSdVMzInCi1yYW5saWI9JzonCi1yZF9ub2RhdGE9Jy0xJwotcmVhZGRpcjY0X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX1RTUicKLXJlYWRkaXJfcl9wcm90bz0nUkVFTlRSQU5UX1BST1RPX0lfVFNSJwotcmV2aXNpb249JzUnCi1ybT0ncm0nCi1ybV90cnk9Jy9iaW4vcm0gLWYgdHJ5IHRyeSBhLm91dCAub3V0IHRyeS5bY2hvXSB0cnkuLm8gY29yZSBjb3JlLnRyeSogdHJ5LmNvcmUqJwotcm1haWw9JycKLXJ1bj0nJwotcnVubm09J2ZhbHNlJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJRVVsZGJsPSciTEUiJwotc1BSSUZVbGRibD0nIkxGIicKLXNQUklHVWxkYmw9JyJMRyInCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJZWxkYmw9JyJMZSInCi1zUFJJZmxkYmw9JyJMZiInCi1zUFJJZ2xkYmw9JyJMZyInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc1NDTmZsZGJsPSciTGYiJwotc2NoZWRfeWllbGQ9J3NjaGVkX3lpZWxkKCknCi1zY3JpcHRkaXI9J0BVU1JCSU5AJwotc2NyaXB0ZGlyZXhwPSdAVVNSQklOQCcKLXNlZD0nc2VkJwotc2VlZGZ1bmM9J1BlcmxfZHJhbmQ0OF9pbml0Jwotc2VsZWN0bWluYml0cz0nNjQnCi1zZWxlY3R0eXBlPSdmZF9zZXQgKicKLXNlbmRtYWlsPScnCi1zZXRncmVudF9yX3Byb3RvPScwJwotc2V0aG9zdGVudF9yX3Byb3RvPScwJwotc2V0bG9jYWxlX3JfcHJvdG89JzAnCi1zZXRuZXRlbnRfcl9wcm90bz0nMCcKLXNldHByb3RvZW50X3JfcHJvdG89JzAnCi1zZXRwd2VudF9yX3Byb3RvPScwJwotc2V0c2VydmVudF9yX3Byb3RvPScwJwotc2g9Jy9iaW4vc2gnCi1zaGFyPScnCi1zaGFycGJhbmc9JyMhJwotc2htYXR0eXBlPSd2b2lkIConCi1zaG9ydHNpemU9JzInCi1zaHJwZW52PScnCi1zaHNoYXJwPSd0cnVlJwotc2lnX2NvdW50PSc2NScKLXNpZ19uYW1lPSdaRVJPIEhVUCBJTlQgUVVJVCBJTEwgVFJBUCBBQlJUIEJVUyBGUEUgS0lMTCBVU1IxIFNFR1YgVVNSMiBQSVBFIEFMUk0gVEVSTSBTVEtGTFQgQ0hMRCBDT05UIFNUT1AgVFNUUCBUVElOIFRUT1UgVVJHIFhDUFUgWEZTWiBWVEFMUk0gUFJPRiBXSU5DSCBJTyBQV1IgU1lTIE5VTTMyIE5VTTMzIFJUTUlOIE5VTTM1IE5VTTM2IE5VTTM3IE5VTTM4IE5VTTM5IE5VTTQwIE5VTTQxIE5VTTQyIE5VTTQzIE5VTTQ0IE5VTTQ1IE5VTTQ2IE5VTTQ3IE5VTTQ4IE5VTTQ5IE5VTTUwIE5VTTUxIE5VTTUyIE5VTTUzIE5VTTU0IE5VTTU1IE5VTTU2IE5VTTU3IE5VTTU4IE5VTTU5IE5VTTYwIE5VTTYxIE5VTTYyIE5VTTYzIFJUTUFYIElPVCBDTEQgUE9MTCBVTlVTRUQgJwotc2lnX25hbWVfaW5pdD0nIlpFUk8iLCAiSFVQIiwgIklOVCIsICJRVUlUIiwgIklMTCIsICJUUkFQIiwgIkFCUlQiLCAiQlVTIiwgIkZQRSIsICJLSUxMIiwgIlVTUjEiLCAiU0VHViIsICJVU1IyIiwgIlBJUEUiLCAiQUxSTSIsICJURVJNIiwgIlNUS0ZMVCIsICJDSExEIiwgIkNPTlQiLCAiU1RPUCIsICJUU1RQIiwgIlRUSU4iLCAiVFRPVSIsICJVUkciLCAiWENQVSIsICJYRlNaIiwgIlZUQUxSTSIsICJQUk9GIiwgIldJTkNIIiwgIklPIiwgIlBXUiIsICJTWVMiLCAiTlVNMzIiLCAiTlVNMzMiLCAiUlRNSU4iLCAiTlVNMzUiLCAiTlVNMzYiLCAiTlVNMzciLCAiTlVNMzgiLCAiTlVNMzkiLCAiTlVNNDAiLCAiTlVNNDEiLCAiTlVNNDIiLCAiTlVNNDMiLCAiTlVNNDQiLCAiTlVNNDUiLCAiTlVNNDYiLCAiTlVNNDciLCAiTlVNNDgiLCAiTlVNNDkiLCAiTlVNNTAiLCAiTlVNNTEiLCAiTlVNNTIiLCAiTlVNNTMiLCAiTlVNNTQiLCAiTlVNNTUiLCAiTlVNNTYiLCAiTlVNNTciLCAiTlVNNTgiLCAiTlVNNTkiLCAiTlVNNjAiLCAiTlVNNjEiLCAiTlVNNjIiLCAiTlVNNjMiLCAiUlRNQVgiLCAiSU9UIiwgIkNMRCIsICJQT0xMIiwgIlVOVVNFRCIsIDAnCi1zaWdfbnVtPScwIDEgMiAzIDQgNSA2IDcgOCA5IDEwIDExIDEyIDEzIDE0IDE1IDE2IDE3IDE4IDE5IDIwIDIxIDIyIDIzIDI0IDI1IDI2IDI3IDI4IDI5IDMwIDMxIDMyIDMzIDM0IDM1IDM2IDM3IDM4IDM5IDQwIDQxIDQyIDQzIDQ0IDQ1IDQ2IDQ3IDQ4IDQ5IDUwIDUxIDUyIDUzIDU0IDU1IDU2IDU3IDU4IDU5IDYwIDYxIDYyIDYzIDY0IDYgMTcgMjkgMzEgJwotc2lnX251bV9pbml0PScwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LCA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsIDQ4LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDU3LCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzLCA2NCwgNiwgMTcsIDI5LCAzMSwgMCcKLXNpZ19zaXplPSc2OScKLXNpZ25hbF90PSd2b2lkJwotc2l0ZWFyY2g9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWFyY2hleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotc2l0ZWJpbj0nQFVTUkJJTkAnCi1zaXRlYmluZXhwPSdAVVNSQklOQCcKLXNpdGVodG1sMWRpcj0nJwotc2l0ZWh0bWwxZGlyZXhwPScnCi1zaXRlaHRtbDNkaXI9JycKLXNpdGVodG1sM2RpcmV4cD0nJwotc2l0ZWxpYj0nQExJQkRJUkAvcGVybC9zaXRlX3BlcmwvNS4yNC40Jwotc2l0ZWxpYl9zdGVtPSdATElCRElSQC9wZXJsL3NpdGVfcGVybCcKLXNpdGVsaWJleHA9J0BMSUJESVJAL3Blcmwvc2l0ZV9wZXJsLzUuMjQuNCcKLXNpdGVtYW4xZGlyPScnCi1zaXRlbWFuMWRpcmV4cD0nJwotc2l0ZW1hbjNkaXI9JycKLXNpdGVtYW4zZGlyZXhwPScnCi1zaXRlcHJlZml4PSdARVhFQ1BSRUZJWEAnCi1zaXRlcHJlZml4ZXhwPSdARVhFQ1BSRUZJWEAnCi1zaXRlc2NyaXB0PSdAVVNSQklOQCcKLXNpdGVzY3JpcHRleHA9J0BVU1JCSU5AJwotc2l6ZXNpemU9JzgnCi1zaXpldHlwZT0nc2l6ZV90Jwotc2xlZXA9JycKLXNtYWlsPScnCi1zbz0nc28nCi1zb2NrZXRoZHI9JycKLXNvY2tldGxpYj0nJwotc29ja3NpemV0eXBlPSdzb2NrbGVuX3QnCi1zb3J0PSdzb3J0Jwotc3BhY2thZ2U9J1Blcmw1Jwotc3BpdHNoZWxsPSdjYXQnCi1zcmFuZDQ4X3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0xTJwotc3JhbmRvbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fSV9UUycKLXNyYz0nLicKLXNzaXpldHlwZT0nc3NpemVfdCcKLXN0X2lub19zaWduPScxJwotc3RfaW5vX3NpemU9JzgnCi1zdGFydHBlcmw9JyMhQFVTUkJJTkAvcGVybCcKLXN0YXJ0c2g9JyMhL2Jpbi9zaCcKLXN0YXRpY19leHQ9JyAnCi1zdGRjaGFyPSdjaGFyJwotc3RkaW9fYmFzZT0nKChmcCktPl9JT19yZWFkX2Jhc2UpJwotc3RkaW9fYnVmc2l6PScoKGZwKS0+X0lPX3JlYWRfZW5kIC0gKGZwKS0+X0lPX3JlYWRfYmFzZSknCi1zdGRpb19jbnQ9JygoZnApLT5fSU9fcmVhZF9lbmQgLSAoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fZmlsYnVmPScnCi1zdGRpb19wdHI9JygoZnApLT5fSU9fcmVhZF9wdHIpJwotc3RkaW9fc3RyZWFtX2FycmF5PScnCi1zdHJlcnJvcl9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9JQlcnCi1zdHJpbmdzPSdASU5DTFVERURJUkAvc3RyaW5nLmgnCi1zdWJtaXQ9JycKLXN1YnZlcnNpb249JzQnCi1zeXNtYW49J0BFWEVDUFJFRklYQC9zaGFyZS9tYW4vbWFuMScKLXN5c3Jvb3Q9JycKLXRhaWw9JycKLXRhcj0nJwotdGFyZ2V0YXJjaD0nJwotdGFyZ2V0ZGlyPScnCi10YXJnZXRlbnY9JycKLXRhcmdldGhvc3Q9JycKLXRhcmdldG1rZGlyPScnCi10YXJnZXRwb3J0PScnCi10YXJnZXRzaD0nL2Jpbi9zaCcKLXRibD0nJwotdGVlPScnCi10ZXN0PSd0ZXN0JwotdGltZWluY2w9J0BJTkNMVURFRElSQC9zeXMvdGltZS5oIEBJTkNMVURFRElSQC90aW1lLmggJwotdGltZXR5cGU9J3RpbWVfdCcKLXRtcG5hbV9yX3Byb3RvPSdSRUVOVFJBTlRfUFJPVE9fQl9CJwotdG89JzonCi10b3VjaD0ndG91Y2gnCi10cj0ndHInCi10cm5sPSdcbicKLXRyb2ZmPScnCi10dHluYW1lX3JfcHJvdG89J1JFRU5UUkFOVF9QUk9UT19JX0lCVycKLXUxNnNpemU9JzInCi11MTZ0eXBlPSd1bnNpZ25lZCBzaG9ydCcKLXUzMnNpemU9JzQnCi11MzJ0eXBlPSd1bnNpZ25lZCBpbnQnCi11NjRzaXplPSc4JwotdTY0dHlwZT0ndW5zaWduZWQgbG9uZycKLXU4c2l6ZT0nMScKLXU4dHlwZT0ndW5zaWduZWQgY2hhcicKLXVpZGZvcm1hdD0nInUiJwotdWlkc2lnbj0nMScKLXVpZHNpemU9JzQnCi11aWR0eXBlPSd1aWRfdCcKLXVuYW1lPSd1bmFtZScKLXVuaXE9J3VuaXEnCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11c2U1MDA1dGhyZWFkcz0ndW5kZWYnCi11c2U2NGJpdGFsbD0ndW5kZWYnCi11c2U2NGJpdGludD0ndW5kZWYnCi11c2VjYmFja3RyYWNlPSd1bmRlZicKLXVzZWNyb3NzY29tcGlsZT0nZGVmaW5lJwotdXNlZGV2ZWw9J3VuZGVmJwotdXNlZGw9J2RlZmluZScKLXVzZWR0cmFjZT0ndW5kZWYnCi11c2VmYXN0c3RkaW89J3VuZGVmJwotdXNlaXRocmVhZHM9J2RlZmluZScKLXVzZWtlcm5wcm9jcGF0aG5hbWU9J3VuZGVmJwotdXNlbGFyZ2VmaWxlcz0nZGVmaW5lJwotdXNlbG9uZ2RvdWJsZT0ndW5kZWYnCi11c2VtYWxsb2N3cmFwPSdkZWZpbmUnCi11c2Vtb3JlYml0cz0ndW5kZWYnCi11c2VtdWx0aXBsaWNpdHk9J2RlZmluZScKLXVzZW15bWFsbG9jPSduJwotdXNlbm09J2ZhbHNlJwotdXNlbnNnZXRleGVjdXRhYmxlcGF0aD0ndW5kZWYnCi11c2VvcGNvZGU9J3RydWUnCi11c2VwZXJsaW89J2RlZmluZScKLXVzZXBvc2l4PSd0cnVlJwotdXNlcXVhZG1hdGg9J3VuZGVmJwotdXNlcmVlbnRyYW50PSd1bmRlZicKLXVzZXJlbG9jYXRhYmxlaW5jPSd1bmRlZicKLXVzZXNocnBsaWI9J3RydWUnCi11c2VzaXRlY3VzdG9taXplPSd1bmRlZicKLXVzZXNvY2tzPSd1bmRlZicKLXVzZXRocmVhZHM9J2RlZmluZScKLXVzZXZlbmRvcnByZWZpeD0nZGVmaW5lJwotdXNldmVyc2lvbmVkYXJjaG5hbWU9J3VuZGVmJwotdXNldmZvcms9J2ZhbHNlJwotdXNyaW5jPSdASU5DTFVERURJUkAnCi11dW5hbWU9JycKLXV2WFVmb3JtYXQ9JyJsWCInCi11dm9mb3JtYXQ9JyJsbyInCi11dnNpemU9JzgnCi11dnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11dnVmb3JtYXQ9JyJsdSInCi11dnhmb3JtYXQ9JyJseCInCi12YXByb3RvPSdkZWZpbmUnCi12ZW5kb3JhcmNoPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNC9AQVJDSEAtdGhyZWFkLW11bHRpJwotdmVuZG9yYXJjaGV4cD0nQExJQkRJUkAvcGVybC92ZW5kb3JfcGVybC81LjI0LjQvQEFSQ0hALXRocmVhZC1tdWx0aScKLXZlbmRvcmJpbj0nQFVTUkJJTkAnCi12ZW5kb3JiaW5leHA9J0BVU1JCSU5AJwotdmVuZG9yaHRtbDFkaXI9JyAnCi12ZW5kb3JodG1sMWRpcmV4cD0nJwotdmVuZG9yaHRtbDNkaXI9JyAnCi12ZW5kb3JodG1sM2RpcmV4cD0nJwotdmVuZG9ybGliPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcmxpYl9zdGVtPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsJwotdmVuZG9ybGliZXhwPSdATElCRElSQC9wZXJsL3ZlbmRvcl9wZXJsLzUuMjQuNCcKLXZlbmRvcm1hbjFkaXI9JyAnCi12ZW5kb3JtYW4xZGlyZXhwPScnCi12ZW5kb3JtYW4zZGlyPScgJwotdmVuZG9ybWFuM2RpcmV4cD0nJwotdmVuZG9ycHJlZml4PSdARVhFQ1BSRUZJWEAnCi12ZW5kb3JwcmVmaXhleHA9J0BFWEVDUFJFRklYQCcKLXZlbmRvcnNjcmlwdD0nQFVTUkJJTkAnCi12ZW5kb3JzY3JpcHRleHA9J0BVU1JCSU5AJwotdmVyc2lvbj0nNS4yNC40JwotdmVyc2lvbl9wYXRjaGxldmVsX3N0cmluZz0ndmVyc2lvbiAyNCBzdWJ2ZXJzaW9uIDQnCi12ZXJzaW9ub25seT0ndW5kZWYnCi12aT0nJwoteGxpYnB0aD0nQExJQkRJUkAvMzg2IEBCQVNFTElCRElSQDM4NicKLXlhY2M9J3lhY2MnCi15YWNjZmxhZ3M9JycKLXpjYXQ9JycKLXppcD0nemlwJwotUEVSTF9SRVZJU0lPTj01Ci1QRVJMX1ZFUlNJT049MjQKLVBFUkxfU1VCVkVSU0lPTj00Ci1QRVJMX0FQSV9SRVZJU0lPTj01Ci1QRVJMX0FQSV9WRVJTSU9OPTI0Ci1QRVJMX0FQSV9TVUJWRVJTSU9OPTQKLVBFUkxfUEFUQ0hMRVZFTD0nJwotUEVSTF9DT05GSUdfU0g9dHJ1ZQotOiBWYXJpYWJsZXMgcHJvcGFnYXRlZCBmcm9tIHByZXZpb3VzIGNvbmZpZy5zaCBmaWxlLgotbGliZGJfbmVlZHNfcHRocmVhZD0nTicKLQotIyBmb3IgVGltZS1IaVJlcwotZF9jbG9ja19uYW5vc2xlZXA9J2RlZmluZScKLWRfY2xvY2tfZ2V0dGltZT0nZGVmaW5lJwotZF9jbG9ja19nZXRyZXM9J2RlZmluZScKLWRfY2xvY2s9J2RlZmluZScKLWRfbmFub3NsZWVwPSdkZWZpbmUnCi0KLSMgZm9yIFNpZ25pbmZvCi1kX3NpZ2luZm9fc2lfZXJybm89J2RlZmluZScKLWRfc2lnaW5mb19zaV9waWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV91aWQ9J2RlZmluZScKLWRfc2lnaW5mb19zaV9hZGRyPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfc3RhdHVzPSdkZWZpbmUnCi1kX3NpZ2luZm9fc2lfYmFuZD0nZGVmaW5lJwotZF9zaWdpbmZvX3NpX3ZhbHVlPSdkZWZpbmUnCi0KLSMgZG9uJ3Qgc3VwcG9ydCBmZGNsb3NlCi1kX2ZkY2xvc2U9J3VuZGVmJwotCi0jIHN1cHBvcnQgbWVtbWVtCi1kX21lbW1lbT0nZGVmaW5lJwotCi0jIGZvciBsb2NhbGUKLWRfbmV3bG9jYWxlPSdkZWZpbmUnCi1kX2ZyZWVsb2NhbGU9J2RlZmluZScKLWRfdXNlbG9jYWxlPSdkZWZpbmUnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1OWEwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotYWxpZ25ieXRlcz0nNCcKLWNmX3RpbWU9J1RodSBEZWMgMjMgMDM6NTc6NTEgVVRDIDIwMTAnCi1jcHBzeW1ib2xzPSdfRklMRV9PRkZTRVRfQklUUz02NCBfR05VX1NPVVJDRT0xIF9MQVJHRUZJTEU2NF9TT1VSQ0U9MSBfTEFSR0VGSUxFX1NPVVJDRT0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MiBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfMT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzI9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF80PTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfOD0xIF9fR0xJQkNfTUlOT1JfXz0xMiBfX0dMSUJDX189MiBfX0dOVUNfR05VX0lOTElORV9fPTEgX19HTlVDX01JTk9SX189NSBfX0dOVUNfUEFUQ0hMRVZFTF9fPTEgX19HTlVDX189NCBfX0dOVV9MSUJSQVJZX189NiBfX0dYWF9BQklfVkVSU0lPTj0xMDAyIF9fSU5UMTZfQyhjKT1jIF9fSU5UMTZfTUFYX189MzI3NjcgX19JTlQxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVDMyX0MoYyk9YyBfX0lOVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlQzMl9UWVBFX189aW50IF9fSU5UNjRfQyhjKT1jTEwgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlQ2NF9UWVBFX189bG9uZ1wgbG9uZ1wgaW50IF9fSU5UOF9DKGMpPWMgX19JTlQ4X01BWF9fPTEyNyBfX0lOVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVE1BWF9DKGMpPWNMTCBfX0lOVE1BWF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UUFRSX1RZUEVfXz1pbnQgX19JTlRfRkFTVDE2X01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDE2X1RZUEVfXz1pbnQgX19JTlRfRkFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfRkFTVDMyX1RZUEVfXz1pbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9GQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIGludCBfX0lOVF9GQVNUOF9NQVhfXz0xMjcgX19JTlRfRkFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9MRUFTVDE2X01BWF9fPTMyNzY3IF9fSU5UX0xFQVNUMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlRfTEVBU1QzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UX0xFQVNUMzJfVFlQRV9fPWludCBfX0lOVF9MRUFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMTCBfX0lOVF9MRUFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCBpbnQgX19JTlRfTEVBU1Q4X01BWF9fPTEyNyBfX0lOVF9MRUFTVDhfVFlQRV9fPXNpZ25lZFwgY2hhciBfX0lOVF9NQVhfXz0yMTQ3NDgzNjQ3IF9fTERCTF9ERU5PUk1fTUlOX189My42NDUxOTk1MzE4ODI0NzQ2MDI1M2UtNDk1MUwgX19MREJMX0RJR19fPTE4IF9fTERCTF9FUFNJTE9OX189MS4wODQyMDIxNzI0ODU1MDQ0MzQwMWUtMTlMIF9fTERCTF9IQVNfREVOT1JNX189MSBfX0xEQkxfSEFTX0lORklOSVRZX189MSBfX0xEQkxfSEFTX1FVSUVUX05BTl9fPTEgX19MREJMX01BTlRfRElHX189NjQgX19MREJMX01BWF8xMF9FWFBfXz00OTMyIF9fTERCTF9NQVhfRVhQX189MTYzODQgX19MREJMX01BWF9fPTEuMTg5NzMxNDk1MzU3MjMxNzY1MDJlKzQ5MzJMIF9fTERCTF9NSU5fMTBfRVhQX189KC00OTMxKSBfX0xEQkxfTUlOX0VYUF9fPSgtMTYzODEpIF9fTERCTF9NSU5fXz0zLjM2MjEwMzE0MzExMjA5MzUwNjI2ZS00OTMyTCBfX0xPTkdfTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TEwgX19MT05HX01BWF9fPTIxNDc0ODM2NDdMIF9fUFJBR01BX1JFREVGSU5FX0VYVE5BTUU9MSBfX1BUUkRJRkZfTUFYX189MjE0NzQ4MzY0NyBfX1BUUkRJRkZfVFlQRV9fPWludCBfX1JFR0lTVEVSX1BSRUZJWF9fPSBfX1NDSEFSX01BWF9fPTEyNyBfX1NIUlRfTUFYX189MzI3NjcgX19TSUdfQVRPTUlDX01BWF9fPTIxNDc0ODM2NDcgX19TSUdfQVRPTUlDX01JTl9fPSgtMjE0NzQ4MzY0N1wgLVwgMSkgX19TSUdfQVRPTUlDX1RZUEVfXz1pbnQgX19TSVpFT0ZfRE9VQkxFX189OCBfX1NJWkVPRl9GTE9BVF9fPTQgX19TSVpFT0ZfSU5UX189NCBfX1NJWkVPRl9MT05HX0RPVUJMRV9fPTEyIF9fU0laRU9GX0xPTkdfTE9OR19fPTggX19TSVpFT0ZfTE9OR19fPTQgX19TSVpFT0ZfUE9JTlRFUl9fPTQgX19TSVpFT0ZfUFRSRElGRl9UX189NCBfX1NJWkVPRl9TSE9SVF9fPTIgX19TSVpFT0ZfU0laRV9UX189NCBfX1NJWkVPRl9XQ0hBUl9UX189NCBfX1NJWkVPRl9XSU5UX1RfXz00IF9fU0laRV9NQVhfXz00Mjk0OTY3Mjk1VSBfX1NJWkVfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19TVERDX0hPU1RFRF9fPTEgX19TVERDX189MSBfX1VJTlQxNl9DKGMpPWMgX19VSU5UMTZfTUFYX189NjU1MzUgX19VSU5UMTZfVFlQRV9fPXNob3J0XCB1bnNpZ25lZFwgaW50IF9fVUlOVDMyX0MoYyk9Y1UgX19VSU5UMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UNjRfQyhjKT1jVUxMIF9fVUlOVDY0X01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTEwgX19VSU5UTUFYX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUxMIF9fVUlOVE1BWF9UWVBFX189bG9uZ1wgbG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRQVFJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UUFRSX1RZUEVfXz11bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0ZBU1QxNl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlRfRkFTVDMyX01BWF9fPTQyOTQ5NjcyOTVVIF9fVUlOVF9GQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0ZBU1Q2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCBsb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTEwgX19VSU5UX0xFQVNUNjRfVFlQRV9fPWxvbmdcIGxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUOF9NQVhfXz0yNTUgX19VSU5UX0xFQVNUOF9UWVBFX189dW5zaWduZWRcIGNoYXIgX19VU0VSX0xBQkVMX1BSRUZJWF9fPSBfX1VTRV9CU0Q9MSBfX1VTRV9GSUxFX09GRlNFVDY0PTEgX19VU0VfR05VPTEgX19VU0VfTEFSR0VGSUxFNjQ9MSBfX1VTRV9MQVJHRUZJTEU9MSBfX1VTRV9NSVNDPTEgX19VU0VfUE9TSVgxOTkzMDk9MSBfX1VTRV9QT1NJWDE5OTUwNj0xIF9fVVNFX1BPU0lYMj0xIF9fVVNFX1BPU0lYPTEgX19VU0VfUkVFTlRSQU5UPTEgX19VU0VfU1ZJRD0xIF9fVVNFX1VOSVg5OD0xIF9fVVNFX1hPUEVOPTEgX19VU0VfWE9QRU5fRVhURU5ERUQ9MSBfX1ZFUlNJT05fXz0iNC41LjEiIF9fV0NIQVJfTUFYX189MjE0NzQ4MzY0N0wgX19XQ0hBUl9NSU5fXz0oLTIxNDc0ODM2NDdMXCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1sb25nXCBpbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19nbnVfbGludXhfXz0xIF9faTM4Nj0xIF9faTM4Nl9fPTEgX19pNTg2PTEgX19pNTg2X189MSBfX2xpbnV4PTEgX19saW51eF9fPTEgX19wZW50aXVtPTEgX19wZW50aXVtX189MSBfX3R1bmVfaTU4Nl9fPTEgX190dW5lX3BlbnRpdW1fXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgaTM4Nj0xIGxpbnV4PTEgdW5peD0xJwotZF9udl9wcmVzZXJ2ZXNfdXY9J2RlZmluZScKLWRfcHJpbnRmX2Zvcm1hdF9udWxsPSdkZWZpbmUnCi1kX3UzMmFsaWduPSd1bmRlZicKLWdpZGZvcm1hdD0nImx1IicKLWkzMnR5cGU9J2xvbmcnCi1pNjR0eXBlPSdsb25nIGxvbmcnCi1pdnNpemU9JzQnCi1sb25nZGJsc2l6ZT0nMTInCi1sb25nc2l6ZT0nNCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgcHJlZW1wdCBtb24gZGVjIDIwIDE0OjIxOjI3IHBzdCAyMDEwIGk2ODYgZ251bGludXggJwotbmVlZF92YV9jb3B5PSd1bmRlZicKLW5ldGRiX2hvc3RfdHlwZT0nY29uc3Qgdm9pZCAqJwotbnZfcHJlc2VydmVzX3V2X2JpdHM9JzMyJwotcHRyc2l6ZT0nNCcKLXF1YWRraW5kPSczJwotcXVhZHR5cGU9J2xvbmcgbG9uZycKLXNHTVRJTUVfbWF4PScyMTQ3NDgzNjQ3Jwotc0dNVElNRV9taW49Jy0yMTQ3NDgzNjQ4Jwotc0xPQ0FMVElNRV9tYXg9JzIxNDc0ODM2NDcnCi1zTE9DQUxUSU1FX21pbj0nLTIxNDc0ODM2NDgnCi1zUFJJWFU2ND0nIkxYIicKLXNQUklkNjQ9JyJMZCInCi1zUFJJaTY0PSciTGkiJwotc1BSSW82ND0nIkxvIicKLXNQUkl1NjQ9JyJMdSInCi1zUFJJeDY0PSciTHgiJwotc2VsZWN0bWluYml0cz0nMzInCi1zaXplc2l6ZT0nNCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11NjR0eXBlPSd1bnNpZ25lZCBsb25nIGxvbmcnCi11aWRmb3JtYXQ9JyJsdSInCi11cXVhZHR5cGU9J3Vuc2lnbmVkIGxvbmcgbG9uZycKLXVzZTY0Yml0YWxsPSd1bmRlZicKLXVzZTY0Yml0aW50PSd1bmRlZicKLXV2c2l6ZT0nNCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWJlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNTlhOWFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtMzItYmUKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1ieXRlb3JkZXI9JzQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC0zMi1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTBlNDIyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTMyLWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY5MjlkM2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWFsaWduYnl0ZXM9JzgnCi1jZl90aW1lPSdUaHUgRGVjIDIzIDAyOjA2OjQyIFVUQyAyMDEwJwotY3Bwc3ltYm9scz0nX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgX0dOVV9TT1VSQ0U9MSBfTEFSR0VGSUxFNjRfU09VUkNFPTEgX0xBUkdFRklMRV9TT1VSQ0U9MSBfTFA2ND0xIF9QT1NJWF9DX1NPVVJDRT0yMDA4MDlMIF9QT1NJWF9TT1VSQ0U9MSBfUkVFTlRSQU5UPTEgX1hPUEVOX1NPVVJDRT03MDAgX1hPUEVOX1NPVVJDRV9FWFRFTkRFRD0xIF9fQklHR0VTVF9BTElHTk1FTlRfXz0xNiBfX0NIQVIxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19DSEFSMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19DSEFSX0JJVF9fPTggX19EQkxfREVOT1JNX01JTl9fPSgoZG91YmxlKTQuOTQwNjU2NDU4NDEyNDY1NDQxNzdlLTMyNEwpIF9fREJMX0RJR19fPTE1IF9fREJMX0VQU0lMT05fXz0oKGRvdWJsZSkyLjIyMDQ0NjA0OTI1MDMxMzA4MDg1ZS0xNkwpIF9fREJMX0hBU19ERU5PUk1fXz0xIF9fREJMX0hBU19JTkZJTklUWV9fPTEgX19EQkxfSEFTX1FVSUVUX05BTl9fPTEgX19EQkxfTUFOVF9ESUdfXz01MyBfX0RCTF9NQVhfMTBfRVhQX189MzA4IF9fREJMX01BWF9FWFBfXz0xMDI0IF9fREJMX01BWF9fPSgoZG91YmxlKTEuNzk3NjkzMTM0ODYyMzE1NzA4MTVlKzMwOEwpIF9fREJMX01JTl8xMF9FWFBfXz0oLTMwNykgX19EQkxfTUlOX0VYUF9fPSgtMTAyMSkgX19EQkxfTUlOX189KChkb3VibGUpMi4yMjUwNzM4NTg1MDcyMDEzODMwOWUtMzA4TCkgX19ERUMxMjhfRVBTSUxPTl9fPTFFLTMzREwgX19ERUMxMjhfTUFOVF9ESUdfXz0zNCBfX0RFQzEyOF9NQVhfRVhQX189NjE0NSBfX0RFQzEyOF9NQVhfXz05Ljk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OUU2MTQ0REwgX19ERUMxMjhfTUlOX0VYUF9fPSgtNjE0MikgX19ERUMxMjhfTUlOX189MUUtNjE0M0RMIF9fREVDMTI4X1NVQk5PUk1BTF9NSU5fXz0wLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMUUtNjE0M0RMIF9fREVDMzJfRVBTSUxPTl9fPTFFLTZERiBfX0RFQzMyX01BTlRfRElHX189NyBfX0RFQzMyX01BWF9FWFBfXz05NyBfX0RFQzMyX01BWF9fPTkuOTk5OTk5RTk2REYgX19ERUMzMl9NSU5fRVhQX189KC05NCkgX19ERUMzMl9NSU5fXz0xRS05NURGIF9fREVDMzJfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAxRS05NURGIF9fREVDNjRfRVBTSUxPTl9fPTFFLTE1REQgX19ERUM2NF9NQU5UX0RJR19fPTE2IF9fREVDNjRfTUFYX0VYUF9fPTM4NSBfX0RFQzY0X01BWF9fPTkuOTk5OTk5OTk5OTk5OTk5RTM4NEREIF9fREVDNjRfTUlOX0VYUF9fPSgtMzgyKSBfX0RFQzY0X01JTl9fPTFFLTM4M0REIF9fREVDNjRfU1VCTk9STUFMX01JTl9fPTAuMDAwMDAwMDAwMDAwMDAxRS0zODNERCBfX0RFQ0lNQUxfQklEX0ZPUk1BVF9fPTEgX19ERUNJTUFMX0RJR19fPTIxIF9fREVDX0VWQUxfTUVUSE9EX189MiBfX0VMRl9fPTEgX19GSU5JVEVfTUFUSF9PTkxZX189MCBfX0ZMVF9ERU5PUk1fTUlOX189MS40MDEyOTg0NjQzMjQ4MTcwNzA5MmUtNDVGIF9fRkxUX0RJR19fPTYgX19GTFRfRVBTSUxPTl9fPTEuMTkyMDkyODk1NTA3ODEyNTAwMDBlLTdGIF9fRkxUX0VWQUxfTUVUSE9EX189MCBfX0ZMVF9IQVNfREVOT1JNX189MSBfX0ZMVF9IQVNfSU5GSU5JVFlfXz0xIF9fRkxUX0hBU19RVUlFVF9OQU5fXz0xIF9fRkxUX01BTlRfRElHX189MjQgX19GTFRfTUFYXzEwX0VYUF9fPTM4IF9fRkxUX01BWF9FWFBfXz0xMjggX19GTFRfTUFYX189My40MDI4MjM0NjYzODUyODg1OTgxMmUrMzhGIF9fRkxUX01JTl8xMF9FWFBfXz0oLTM3KSBfX0ZMVF9NSU5fRVhQX189KC0xMjUpIF9fRkxUX01JTl9fPTEuMTc1NDk0MzUwODIyMjg3NTA3OTdlLTM4RiBfX0ZMVF9SQURJWF9fPTIgX19HQ0NfSEFWRV9EV0FSRjJfQ0ZJX0FTTT0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzE9MSBfX0dDQ19IQVZFX1NZTkNfQ09NUEFSRV9BTkRfU1dBUF8yPTEgX19HQ0NfSEFWRV9TWU5DX0NPTVBBUkVfQU5EX1NXQVBfND0xIF9fR0NDX0hBVkVfU1lOQ19DT01QQVJFX0FORF9TV0FQXzg9MSBfX0dMSUJDX01JTk9SX189MTIgX19HTElCQ19fPTIgX19HTlVDX0dOVV9JTkxJTkVfXz0xIF9fR05VQ19NSU5PUl9fPTUgX19HTlVDX1BBVENITEVWRUxfXz0xIF9fR05VQ19fPTQgX19HTlVfTElCUkFSWV9fPTYgX19HWFhfQUJJX1ZFUlNJT049MTAwMiBfX0lOVDE2X0MoYyk9YyBfX0lOVDE2X01BWF9fPTMyNzY3IF9fSU5UMTZfVFlQRV9fPXNob3J0XCBpbnQgX19JTlQzMl9DKGMpPWMgX19JTlQzMl9NQVhfXz0yMTQ3NDgzNjQ3IF9fSU5UMzJfVFlQRV9fPWludCBfX0lOVDY0X0MoYyk9Y0wgX19JTlQ2NF9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVDY0X1RZUEVfXz1sb25nXCBpbnQgX19JTlQ4X0MoYyk9YyBfX0lOVDhfTUFYX189MTI3IF9fSU5UOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UTUFYX0MoYyk9Y0wgX19JTlRNQVhfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRNQVhfVFlQRV9fPWxvbmdcIGludCBfX0lOVFBUUl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVFBUUl9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1QxNl9NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0lOVF9GQVNUMTZfVFlQRV9fPWxvbmdcIGludCBfX0lOVF9GQVNUMzJfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfRkFTVDMyX1RZUEVfXz1sb25nXCBpbnQgX19JTlRfRkFTVDY0X01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fSU5UX0ZBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0ZBU1Q4X01BWF9fPTEyNyBfX0lOVF9GQVNUOF9UWVBFX189c2lnbmVkXCBjaGFyIF9fSU5UX0xFQVNUMTZfTUFYX189MzI3NjcgX19JTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIGludCBfX0lOVF9MRUFTVDMyX01BWF9fPTIxNDc0ODM2NDcgX19JTlRfTEVBU1QzMl9UWVBFX189aW50IF9fSU5UX0xFQVNUNjRfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0wgX19JTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgaW50IF9fSU5UX0xFQVNUOF9NQVhfXz0xMjcgX19JTlRfTEVBU1Q4X1RZUEVfXz1zaWduZWRcIGNoYXIgX19JTlRfTUFYX189MjE0NzQ4MzY0NyBfX0xEQkxfREVOT1JNX01JTl9fPTMuNjQ1MTk5NTMxODgyNDc0NjAyNTNlLTQ5NTFMIF9fTERCTF9ESUdfXz0xOCBfX0xEQkxfRVBTSUxPTl9fPTEuMDg0MjAyMTcyNDg1NTA0NDM0MDFlLTE5TCBfX0xEQkxfSEFTX0RFTk9STV9fPTEgX19MREJMX0hBU19JTkZJTklUWV9fPTEgX19MREJMX0hBU19RVUlFVF9OQU5fXz0xIF9fTERCTF9NQU5UX0RJR19fPTY0IF9fTERCTF9NQVhfMTBfRVhQX189NDkzMiBfX0xEQkxfTUFYX0VYUF9fPTE2Mzg0IF9fTERCTF9NQVhfXz0xLjE4OTczMTQ5NTM1NzIzMTc2NTAyZSs0OTMyTCBfX0xEQkxfTUlOXzEwX0VYUF9fPSgtNDkzMSkgX19MREJMX01JTl9FWFBfXz0oLTE2MzgxKSBfX0xEQkxfTUlOX189My4zNjIxMDMxNDMxMTIwOTM1MDYyNmUtNDkzMkwgX19MT05HX0xPTkdfTUFYX189OTIyMzM3MjAzNjg1NDc3NTgwN0xMIF9fTE9OR19NQVhfXz05MjIzMzcyMDM2ODU0Nzc1ODA3TCBfX0xQNjRfXz0xIF9fTU1YX189MSBfX1BSQUdNQV9SRURFRklORV9FWFROQU1FPTEgX19QVFJESUZGX01BWF9fPTkyMjMzNzIwMzY4NTQ3NzU4MDdMIF9fUFRSRElGRl9UWVBFX189bG9uZ1wgaW50IF9fUkVHSVNURVJfUFJFRklYX189IF9fU0NIQVJfTUFYX189MTI3IF9fU0hSVF9NQVhfXz0zMjc2NyBfX1NJR19BVE9NSUNfTUFYX189MjE0NzQ4MzY0NyBfX1NJR19BVE9NSUNfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1NJR19BVE9NSUNfVFlQRV9fPWludCBfX1NJWkVPRl9ET1VCTEVfXz04IF9fU0laRU9GX0ZMT0FUX189NCBfX1NJWkVPRl9JTlRfXz00IF9fU0laRU9GX0xPTkdfRE9VQkxFX189MTYgX19TSVpFT0ZfTE9OR19MT05HX189OCBfX1NJWkVPRl9MT05HX189OCBfX1NJWkVPRl9QT0lOVEVSX189OCBfX1NJWkVPRl9QVFJESUZGX1RfXz04IF9fU0laRU9GX1NIT1JUX189MiBfX1NJWkVPRl9TSVpFX1RfXz04IF9fU0laRU9GX1dDSEFSX1RfXz00IF9fU0laRU9GX1dJTlRfVF9fPTQgX19TSVpFX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19TSVpFX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fU1NFMl9NQVRIX189MSBfX1NTRTJfXz0xIF9fU1NFX01BVEhfXz0xIF9fU1NFX189MSBfX1NURENfSE9TVEVEX189MSBfX1NURENfXz0xIF9fVUlOVDE2X0MoYyk9YyBfX1VJTlQxNl9NQVhfXz02NTUzNSBfX1VJTlQxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UMzJfQyhjKT1jVSBfX1VJTlQzMl9NQVhfXz00Mjk0OTY3Mjk1VSBfX1VJTlQzMl9UWVBFX189dW5zaWduZWRcIGludCBfX1VJTlQ2NF9DKGMpPWNVTCBfX1VJTlQ2NF9NQVhfXz0xODQ0Njc0NDA3MzcwOTU1MTYxNVVMIF9fVUlOVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVDhfQyhjKT1jIF9fVUlOVDhfTUFYX189MjU1IF9fVUlOVDhfVFlQRV9fPXVuc2lnbmVkXCBjaGFyIF9fVUlOVE1BWF9DKGMpPWNVTCBfX1VJTlRNQVhfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRNQVhfVFlQRV9fPWxvbmdcIHVuc2lnbmVkXCBpbnQgX19VSU5UUFRSX01BWF9fPTE4NDQ2NzQ0MDczNzA5NTUxNjE1VUwgX19VSU5UUFRSX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMTZfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDE2X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUMzJfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDMyX1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfRkFTVDY0X1RZUEVfXz1sb25nXCB1bnNpZ25lZFwgaW50IF9fVUlOVF9GQVNUOF9NQVhfXz0yNTUgX19VSU5UX0ZBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VJTlRfTEVBU1QxNl9NQVhfXz02NTUzNSBfX1VJTlRfTEVBU1QxNl9UWVBFX189c2hvcnRcIHVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUMzJfTUFYX189NDI5NDk2NzI5NVUgX19VSU5UX0xFQVNUMzJfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19VSU5UX0xFQVNUNjRfTUFYX189MTg0NDY3NDQwNzM3MDk1NTE2MTVVTCBfX1VJTlRfTEVBU1Q2NF9UWVBFX189bG9uZ1wgdW5zaWduZWRcIGludCBfX1VJTlRfTEVBU1Q4X01BWF9fPTI1NSBfX1VJTlRfTEVBU1Q4X1RZUEVfXz11bnNpZ25lZFwgY2hhciBfX1VTRVJfTEFCRUxfUFJFRklYX189IF9fVVNFX0JTRD0xIF9fVVNFX0ZJTEVfT0ZGU0VUNjQ9MSBfX1VTRV9HTlU9MSBfX1VTRV9MQVJHRUZJTEU2ND0xIF9fVVNFX0xBUkdFRklMRT0xIF9fVVNFX01JU0M9MSBfX1VTRV9QT1NJWDE5OTMwOT0xIF9fVVNFX1BPU0lYMTk5NTA2PTEgX19VU0VfUE9TSVgyPTEgX19VU0VfUE9TSVg9MSBfX1VTRV9SRUVOVFJBTlQ9MSBfX1VTRV9TVklEPTEgX19VU0VfVU5JWDk4PTEgX19VU0VfWE9QRU49MSBfX1VTRV9YT1BFTl9FWFRFTkRFRD0xIF9fVkVSU0lPTl9fPSI0LjUuMSIgX19XQ0hBUl9NQVhfXz0yMTQ3NDgzNjQ3IF9fV0NIQVJfTUlOX189KC0yMTQ3NDgzNjQ3XCAtXCAxKSBfX1dDSEFSX1RZUEVfXz1pbnQgX19XSU5UX01BWF9fPTQyOTQ5NjcyOTVVIF9fV0lOVF9NSU5fXz0wVSBfX1dJTlRfVFlQRV9fPXVuc2lnbmVkXCBpbnQgX19hbWQ2ND0xIF9fYW1kNjRfXz0xIF9fZ251X2xpbnV4X189MSBfX2s4PTEgX19rOF9fPTEgX19saW51eD0xIF9fbGludXhfXz0xIF9fdW5peD0xIF9fdW5peF9fPTEgX194ODZfNjQ9MSBfX3g4Nl82NF9fPTEgbGludXg9MSB1bml4PTEnCi1kX252X3ByZXNlcnZlc191dj0ndW5kZWYnCi1kX3ByaW50Zl9mb3JtYXRfbnVsbD0ndW5kZWYnCi1kX3UzMmFsaWduPSdkZWZpbmUnCi1naWRmb3JtYXQ9JyJ1IicKLWkzMnR5cGU9J2ludCcKLWk2NHR5cGU9J2xvbmcnCi1pdnNpemU9JzgnCi1sb25nZGJsc2l6ZT0nMTYnCi1sb25nc2l6ZT0nOCcKLW15dW5hbWU9J2xpbnV4IHFlbXV4ODYtNjQgMi42LjM3LXJjNS15b2N0by1zdGFuZGFyZCsgIzEgc21wIHByZWVtcHQgbW9uIGRlYyAyMCAxNzoxOTo1MCBwc3QgMjAxMCB4ODZfNjQgZ251bGludXggJwotbmVlZF92YV9jb3B5PSdkZWZpbmUnCi1uZXRkYl9ob3N0X3R5cGU9J2NoYXIgKicKLW52X3ByZXNlcnZlc191dl9iaXRzPSc1MycKLXB0cnNpemU9JzgnCi1xdWFka2luZD0nMicKLXF1YWR0eXBlPSdsb25nJwotc0dNVElNRV9tYXg9JzY3NzY4MDM2MTkxNjc2Nzk5Jwotc0dNVElNRV9taW49Jy02MjE2NzIxOTIwMCcKLXNMT0NBTFRJTUVfbWF4PSc2Nzc2ODAzNjE5MTY3Njc5OScKLXNMT0NBTFRJTUVfbWluPSctNjIxNjcyMTkyMDAnCi1zUFJJWFU2ND0nImxYIicKLXNQUklkNjQ9JyJsZCInCi1zUFJJaTY0PScibGkiJwotc1BSSW82ND0nImxvIicKLXNQUkl1NjQ9JyJsdSInCi1zUFJJeDY0PScibHgiJwotc2VsZWN0bWluYml0cz0nNjQnCi1zaXplc2l6ZT0nOCcKLXUzMnR5cGU9J3Vuc2lnbmVkIGludCcKLXU2NHR5cGU9J3Vuc2lnbmVkIGxvbmcnCi11aWRmb3JtYXQ9JyJ1IicKLXVxdWFkdHlwZT0ndW5zaWduZWQgbG9uZycKLXVzZTY0Yml0YWxsPSdkZWZpbmUnCi11c2U2NGJpdGludD0nZGVmaW5lJwotdXZzaXplPSc4JwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jb25maWcuc2gtNjQtYmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwOGNlM2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1iZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLWJ5dGVvcmRlcj0nODc2NTQzMjEnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2NvbmZpZy5zaC02NC1sZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc3ZDJhOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY29uZmlnLnNoLTY0LWxlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYnl0ZW9yZGVyPScxMjM0NTY3OCcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvY3Jvc3MtZ2VuZXJhdGVfdXVkbWFwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzM2UyMjIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9jcm9zcy1nZW5lcmF0ZV91dWRtYXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvTWFrZWZpbGUuU0gKLSsrKyBwZXJsLTUuMjQuMS9NYWtlZmlsZS5TSAotQEAgLTcxMCw3ICs3MTAsNyBAQCBiaXRjb3VudC5oOiBnZW5lcmF0ZV91dWRtYXBcJChIT1NUX0VYRV9FCi0gCi0gJHNwaXRzaGVsbCA+PiRNYWtlZmlsZSA8PCchTk8hU1VCUyEnCi0gZ2VuZXJhdGVfdXVkbWFwJChIT1NUX0VYRV9FWFQpOiBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpCi0tCSQoQ0MpIC1vIGdlbmVyYXRlX3V1ZG1hcCQoRVhFX0VYVCkgJChMREZMQUdTKSBnZW5lcmF0ZV91dWRtYXAkKE9CSl9FWFQpICQobGlicykKLSsJJChCVUlMRF9DQykgLW8gZ2VuZXJhdGVfdXVkbWFwJChFWEVfRVhUKSBnZW5lcmF0ZV91dWRtYXAuYwotIAotICFOTyFTVUJTIQotIDs7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW4tbWlzc2luZy1zaXRlLWRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTk3NzAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotRnJvbSBkMzNkNDY5NjMwMzVlZjcyNjE0NGRjNjZiZTJhZTljMDBhZWMwMzMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCAxNiBPY3QgMjAxMiAyMzowNzo1NiArMDMwMAotU3ViamVjdDogRml4IENQQU46OkZpcnN0VGltZSBkZWZhdWx0cyB3aXRoIG5vbmV4aXN0aW5nIHNpdGUgZGlycyBpZiBhIHBhcmVudAotIGlzIHdyaXRhYmxlCi0KLVRoZSBzaXRlIGRpcmVjdG9yaWVzIGRvIG5vdCBleGlzdCBvbiBhIHR5cGljYWwgRGViaWFuIHN5c3RlbS4gIFRoZSBidWlsZAotc3lzdGVtcyB3aWxsIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LCBzbyB0aGVyZSdzIG5vIG5lZWQgZm9yIGEgcHJvbXB0Ci1zdWdnZXN0aW5nIGxvY2FsOjpsaWIgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIHBhcmVudCBkaXJlY3RvcnkgaXMgd3JpdGFibGUuCi0KLUFsc28sIHdyaXRhYmlsaXR5IG9mIHRoZSBjb3JlIGRpcmVjdG9yaWVzIGlzIG5vdCBpbnRlcmVzdGluZyBhcyB3ZQotZXhwbGljaXRseSB0ZWxsIENQQU4gbm90IHRvIHRvdWNoIHRob3NlIHdpdGggSU5TVEFMTERJUlM9c2l0ZS4KLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82ODg4NDIKLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuLW1pc3Npbmctc2l0ZS1kaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0gYi9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtCi1pbmRleCAzMzA1NGNkLi43YjBiZWNmIDEwMDY0NAotLS0tIGEvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotKysrIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotQEAgLTIwNTcsMTEgKzIwNTcsMzQgQEAgc3ViIF9wcmludF91cmxsaXN0IHsKLSAgICAgfTsKLSB9Ci0gCi0rIyBEZWJpYW4gbW9kaWZpY2F0aW9uOiByZXR1cm4gdHJ1ZSBpZiB0aGlzIGRpcmVjdG9yeQotKyMgb3IgdGhlIGZpcnN0IGV4aXN0aW5nIG9uZSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rc3ViIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQgewotKyAgICBteSAoJGRpcikgPSBAXzsKLSsgICAgbXkgQHBhcnRzID0gRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGRpcik7Ci0rICAgIHdoaWxlIChAcGFydHMpIHsKLSsgICAgICAgIG15ICRjdXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoQHBhcnRzKTsKLSsgICAgICAgIHJldHVybiAxIGlmIC13ICRjdXI7Ci0rICAgICAgICByZXR1cm4gMCBpZiAtZSBfOwotKyAgICAgICAgcG9wIEBwYXJ0czsKLSsgICAgfQotKyAgICByZXR1cm4gMDsKLSt9Ci0rCi0rIyBEZWJpYW4gc3BlY2lmaWMgbW9kaWZpY2F0aW9uOiB0aGUgc2l0ZSBkaXJlY3RvcmllcyBkb24ndCBuZWNlc3NhcmlseQotKyMgZXhpc3Qgb24gdGhlIHN5c3RlbSwgYnV0IHRoZSBidWlsZCBzeXN0ZW1zIGNyZWF0ZSB0aGVtIHdoZW4gbmVjZXNzYXJ5LAotKyMgc28gcmV0dXJuIHRydWUgaWYgdGhlIGZpcnN0IGV4aXN0aW5nIGRpcmVjdG9yeSB1cHdhcmRzIGlzIHdyaXRhYmxlCi0rIwotKyMgRnVydGhlcm1vcmUsIG9uIERlYmlhbiwgb25seSB0ZXN0IHRoZSBzaXRlIGRpcmVjdG9yaWVzCi0rIyAoaW5zdGFsbHNpdGUqLCBleHBhbmRlZCB0byAvdXNyL2xvY2FsL3tzaGFyZSxsaWJ9L3BlcmwpLAotKyMgbm90IHRoZSBjb3JlIG9uZXMgCi0rIyAoaW5zdGFsbCpsaWIsIGV4cGFuZGVkIHRvIC91c3Ive3NoYXJlLGxpYn0vcGVybCkuCi0rIyBXZSBwYXNzIElOU1RBTExESVJTPXNpdGUgYnkgZGVmYXVsdCB0byBrZWVwIENQQU4gZnJvbSB0b3VjaGluZwotKyMgdGhlIGNvcmUgZGlyZWN0b3JpZXMuCi0rCi0gc3ViIF9jYW5fd3JpdGVfdG9fbGliZGlycyB7Ci0tICAgIHJldHVybiAtdyAkQ29uZmlne2luc3RhbGxwcml2bGlifQotLSAgICAgICAgJiYgLXcgJENvbmZpZ3tpbnN0YWxsYXJjaGxpYn0KLS0gICAgICAgICYmIC13ICRDb25maWd7aW5zdGFsbHNpdGVsaWJ9Ci0tICAgICAgICAmJiAtdyAkQ29uZmlne2luc3RhbGxzaXRlYXJjaH0KLSsgICAgcmV0dXJuIF9jYW5fd3JpdGVfdG9fdGhpc19vcl9wYXJlbnQoJENvbmZpZ3tpbnN0YWxsc2l0ZWxpYn0pCi0rICAgICAgICAmJiBfY2FuX3dyaXRlX3RvX3RoaXNfb3JfcGFyZW50KCRDb25maWd7aW5zdGFsbHNpdGVhcmNofSkKLSB9Ci0gCi0gc3ViIF91c2luZ19pbnN0YWxsYmFzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2NwYW5fZGVmaW5zdGFsbGRpcnMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzJmMTQ5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vY3Bhbl9kZWZpbnN0YWxsZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA1ZmYxZjIxNDg0YWFiNjhlZmUzMjFmZjRiYTVkMzU5MjhmNzJhZjk2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFByb3ZpZGUgYSBzZW5zaWJsZSBJTlNUQUxMRElSUyBkZWZhdWx0IGZvciBtb2R1bGVzIGluc3RhbGxlZCBmcm9tCi0gQ1BBTi4KLQotU29tZSBtb2R1bGVzIHdoaWNoIGFyZSBpbmNsdWRlZCBpbiBjb3JlIHNldCBJTlNUQUxMRElSUyA9PiAncGVybCcKLWV4cGxpY2l0bHkgaW4gTWFrZWZpbGUuUEwgb3IgQnVpbGQuUEwuICBUaGlzIG1ha2VzIHNlbnNlIGZvciB0aGUgbm9ybWFsIEBJTkMKLW9yZGVyaW5nLCBidXQgbm90IG91cnMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRmlyc3RUaW1lLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0ZpcnN0VGltZS5wbQotaW5kZXggOTE4ZTAwOS4uMzMwNTRjZCAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9GaXJzdFRpbWUucG0KLUBAIC0xMDI0LDcgKzEwMjQsNyBAQCBzdWIgaW5pdCB7Ci0gICAgIG15X3Byb21wdF9sb29wKHByZWZlcl9pbnN0YWxsZXIgPT4gJ01CJywgJG1hdGNoZXIsICdNQnxFVU1NfFJBTkQnKTsKLSAKLSAgICAgaWYgKCEkbWF0Y2hlciBvciAnbWFrZXBsX2FyZyBtYWtlX2FyZycgPX4gLyRtYXRjaGVyLykgewotLSAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiIiwgJG1hdGNoZXIpOwotKyAgICAgICAgbXlfZGZsdF9wcm9tcHQobWFrZXBsX2FyZyA9PiAiSU5TVEFMTERJUlM9c2l0ZSIsICRtYXRjaGVyKTsKLSAgICAgICAgIG15X2RmbHRfcHJvbXB0KG1ha2VfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gICAgICAgICBpZiAoICRDUEFOOjpDb25maWctPnttYWtlcGxfYXJnfSA9fiAvTElCUz18SU5DPS8gKSB7Ci0gICAgICAgICAgICAgJENQQU46OkZyb250ZW5kLT5teXdhcm4oCi1AQCAtMTA1Niw3ICsxMDU2LDcgQEAgc3ViIGluaXQgewotICAgICBteV9kZmx0X3Byb21wdChtYWtlX2luc3RhbGxfYXJnID0+ICRDUEFOOjpDb25maWctPnttYWtlX2FyZ30gfHwgIiIsCi0gICAgICAgICAgICAgICAgICAgICRtYXRjaGVyKTsKLSAKLS0gICAgbXlfZGZsdF9wcm9tcHQobWJ1aWxkcGxfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0rICAgIG15X2RmbHRfcHJvbXB0KG1idWlsZHBsX2FyZyA9PiAiLS1pbnN0YWxsZGlycyBzaXRlIiwgJG1hdGNoZXIpOwotICAgICBteV9kZmx0X3Byb21wdChtYnVpbGRfYXJnID0+ICIiLCAkbWF0Y2hlcik7Ci0gCi0gICAgIGlmIChleGlzdHMgJENQQU46OkhhbmRsZUNvbmZpZzo6a2V5c3ttYnVpbGRfaW5zdGFsbF9idWlsZF9jb21tYW5kfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kYl9maWxlX3Zlci5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODYxNjUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMDE0MjFmOGE4MGQ1YzYyMzk1OTY5NWJhMmI4MTY3ZjMwMTEyZDMzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxNiBEZWMgMjAwNSAwMTozMjoxNCArMTEwMAotU3ViamVjdDogUmVtb3ZlIG92ZXJseSByZXN0cmljdGl2ZSBEQl9GaWxlIHZlcnNpb24gY2hlY2suCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvMzQwMDQ3Ci0KLVBhY2thZ2UgZGVwZW5kZW5jaWVzIGVuc3VyZSB0aGUgY29ycmVjdCBsaWJyYXJ5IGlzIGxpbmtlZCBhdCBydW4tdGltZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2RiX2ZpbGVfdmVyLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYyB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0RCX0ZpbGUvdmVyc2lvbi5jIGIvY3Bhbi9EQl9GaWxlL3ZlcnNpb24uYwotaW5kZXggZTAxZjZmNi4uNTQ0ZTZlZSAxMDA2NDQKLS0tLSBhL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLSsrKyBiL2NwYW4vREJfRmlsZS92ZXJzaW9uLmMKLUBAIC00OCw2ICs0OCw3IEBAIF9fZ2V0QmVya2VsZXlEQkluZm8oKQotIAotICAgICAodm9pZClkYl92ZXJzaW9uKCZNYWpvciwgJk1pbm9yLCAmUGF0Y2gpIDsKLSAKLSsjaWZuZGVmIERFQklBTgotICAgICAvKiBDaGVjayB0aGF0IHRoZSB2ZXJzaW9ucyBvZiBkYi5oIGFuZCBsaWJkYi5hIGFyZSB0aGUgc2FtZSAqLwotICAgICBpZiAoTWFqb3IgIT0gREJfVkVSU0lPTl9NQUpPUiB8fCBNaW5vciAhPSBEQl9WRVJTSU9OX01JTk9SICkKLSAJCS8qIHx8IFBhdGNoICE9IERCX1ZFUlNJT05fUEFUQ0gpICovCi1AQCAtNTUsNiArNTYsNyBAQCBfX2dldEJlcmtlbGV5REJJbmZvKCkKLSAJY3JvYWsoIlxuREJfRmlsZSB3YXMgYnVpbGQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkLFxuYnV0IHlvdSBhcmUgYXR0ZW1wdGluZyB0byBydW4gaXQgd2l0aCBsaWJkYiB2ZXJzaW9uICVkLiVkLiVkXG4iLAotIAkJREJfVkVSU0lPTl9NQUpPUiwgREJfVkVSU0lPTl9NSU5PUiwgREJfVkVSU0lPTl9QQVRDSCwgCi0gCQlNYWpvciwgTWlub3IsIFBhdGNoKSA7Ci0rI2VuZGlmIC8qIERFQklBTiAqLwotICAgICAKLSAgICAgLyogY2hlY2sgdGhhdCBsaWJkYiBpcyByZWNlbnQgZW5vdWdoICAtLSB3ZSBuZWVkIDIuMy40IG9yIGdyZWF0ZXIgKi8KLSAgICAgaWYgKE1ham9yID09IDIgJiYgKE1pbm9yIDwgMyB8fCAoTWlub3IgPT0gIDMgJiYgUGF0Y2ggPCA0KSkpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzJhYzRhMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RlcHJlY2F0ZS13aXRoLWFwdC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotRnJvbSBkZWY0YWEzODE3Zjk4YWFlNjI1ZTYwMWI3OTFlZjA2ODI3NmYwNWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRG9taW5pYyBIYXJncmVhdmVzIDxkb21AZWFydGgubGk+Ci1EYXRlOiBNb24sIDE3IE1heSAyMDEwIDEzOjIzOjA3ICswMzAwCi1TdWJqZWN0OiBQb2ludCB1c2VycyB0byBEZWJpYW4gcGFja2FnZXMgb2YgZGVwcmVjYXRlZCBjb3JlIG1vZHVsZXMKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy83NDc2MjgKLQotU2V2ZXJhbCBtb2R1bGVzIGFyZSBiZWluZyBkZXByZWNhdGVkIHdpdGggcGVybCA1LjIwLgotVG8gZ2V0IGEgY2xlYW4gdHJhbnNpdGlvbiwgcGVybC9wZXJsLW1vZHVsZXMgaXMgZ29pbmcgdG8gcmVjb21tZW5kIHRoZQotc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mIHRoZXNlIGZvciBvbmUgcmVsZWFzZSBjeWNsZSBzbyB0aGF0IHRoZXkgd2lsbCBiZQotcHVsbGVkIGluIGJ5IGRlZmF1bHQgb24gdXBncmFkZXMuIFRoaXMgaXMgdGFraW5nIHBsYWNlIGZvciBwZXJsIDUuMjAvamVzc2llLgotCi1Ib3dldmVyLCBvbiBzeXN0ZW1zIGNvbmZpZ3VyZWQgdG8gaWdub3JlIHJlY29tbWVuZGF0aW9ucyB0aGUgZGVwcmVjYXRpb24KLXdhcm5pbmdzIHdpbGwgc3RpbGwgYmUgdXNlZnVsLCBzbyBtb2RpZnkgdGhlbSBzbGlnaHRseSB0byBwb2ludCB0byB0aGUKLXNlcGFyYXRlIHBhY2thZ2VzIGluc3RlYWQuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kZXByZWNhdGUtd2l0aC1hcHQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBsaWIvZGVwcmVjYXRlLnBtIHwgMTUgKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9kZXByZWNhdGUucG0gYi9saWIvZGVwcmVjYXRlLnBtCi1pbmRleCA0N2JjMTEyLi5iMGM2MWRmIDEwMDY0NAotLS0tIGEvbGliL2RlcHJlY2F0ZS5wbQotKysrIGIvbGliL2RlcHJlY2F0ZS5wbQotQEAgLTcsNiArNywxMyBAQCBvdXIgJFZFUlNJT04gPSAwLjAzOwotIG91ciAlQ29uZmlnOwotIHVubGVzcyAoJUNvbmZpZykgeyByZXF1aXJlIENvbmZpZzsgKkNvbmZpZyA9IFwlQ29uZmlnOjpDb25maWc7IH0KLSAKLSsjIERlYmlhbi1zcGVjaWZpYyBjaGFuZ2U6IHJlY29tbWVuZCB0aGUgc2VwYXJhdGUgRGViaWFuIHBhY2thZ2VzIG9mCi0rIyBkZXByZWNhdGVkIG1vZHVsZXMgd2hlcmUgYXZhaWxhYmxlCi0rCi0rb3VyICVERUJJQU5fUEFDS0FHRVMgPSAoCi0rICAgICMgTm9uZSBmb3IgdGhlIHBlcmwgNS4yMiBjeWNsZQotKyk7Ci0rCi0gIyBUaGlzIGlzbid0IGEgcHVibGljIEFQSS4gSXQncyBpbnRlcm5hbCB0byBjb2RlIG1haW50YWluZWQgYnkgdGhlIHBlcmwtcG9ydGVycwotICMgSWYgeW91IHdvdWxkIGxpa2UgaXQgdG8gYmUgYSBwdWJsaWMgQVBJLCBwbGVhc2Ugc2VuZCBhIHBhdGNoIHdpdGgKLSAjIGRvY3VtZW50YXRpb24gYW5kIHRlc3RzLiBVbnRpbCB0aGVuLCBpdCBtYXkgY2hhbmdlIHdpdGhvdXQgd2FybmluZy4KLUBAIC01OCw5ICs2NSwxNSBAQCBFT00KLSAJaWYgKGRlZmluZWQgJGNhbGxlcnNfYml0bWFzawotIAkgICAgJiYgKHZlYygkY2FsbGVyc19iaXRtYXNrLCAkd2FybmluZ3M6Ok9mZnNldHN7ZGVwcmVjYXRlZH0sIDEpCi0gCQl8fCB2ZWMoJGNhbGxlcnNfYml0bWFzaywgJHdhcm5pbmdzOjpPZmZzZXRze2FsbH0sIDEpKSkgewotLQkgICAgd2FybiA8PCJFT00iOwotKwkJaWYgKG15ICRkZWIgPSAkREVCSUFOX1BBQ0tBR0VTeyRwYWNrYWdlfSkgewotKwkJICAgIHdhcm4gPDwiRU9NIjsKLSskcGFja2FnZSB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgUGVybCBjb3JlIGRpc3RyaWJ1dGlvbiBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBQbGVhc2UgaW5zdGFsbCB0aGUgc2VwYXJhdGUgJGRlYiBwYWNrYWdlLiBJdCBpcyBiZWluZyB1c2VkIGF0ICRjYWxsX2ZpbGUsIGxpbmUgJGNhbGxfbGluZS4KLStFT00KLSsJCX0gZWxzZSB7Ci0rCQkgICAgd2FybiA8PCJFT00iOwotICRwYWNrYWdlIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBQZXJsIGNvcmUgZGlzdHJpYnV0aW9uIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2UuIFBsZWFzZSBpbnN0YWxsIGl0IGZyb20gQ1BBTi4gSXQgaXMgYmVpbmcgdXNlZCBhdCAkY2FsbF9maWxlLCBsaW5lICRjYWxsX2xpbmUuCi0gRU9NCi0rCQl9Ci0gCX0KLSAgICAgfQotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZG9jX2luZm8uZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDY2MmVjZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2RvY19pbmZvLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGUxOGY4MWU2OWM1NWQ2OThhYmQyOTNlNzEwNjNkNmI2YjI3NWNjMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFJlcGxhY2UgZ2VuZXJpYyBtYW4oMSkgaW5zdHJ1Y3Rpb25zIHdpdGggRGViaWFuLXNwZWNpZmljIGluZm9ybWF0aW9uLgotCi1JbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG5lZWRzIHRvIGluc3RhbGwgdGhlIHBlcmwtZG9jIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9kb2NfaW5mby5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHBvZC9wZXJsLnBvZCB8IDEyICsrKysrKysrKystLQotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcG9kL3BlcmwucG9kIGIvcG9kL3BlcmwucG9kCi1pbmRleCAzNjRlOTU3Li5mOTdlMTAzIDEwMDY0NAotLS0tIGEvcG9kL3BlcmwucG9kCi0rKysgYi9wb2QvcGVybC5wb2QKLUBAIC0yOTEsOCArMjkxLDE2IEBAIGF1eCBjMnBoIGgycGggaDJ4cyBwZXJsYnVnIHBsMnBtIHBvZDJodG1sIHBvZDJtYW4gc3BsYWluIHhzdWJwcAotIAotID1mb3IgYnVpbGR0b2MgX19FTkRfXwotIAotLU9uIGEgVW5peC1saWtlIHN5c3RlbSwgdGhlc2UgZG9jdW1lbnRhdGlvbiBmaWxlcyB3aWxsIHVzdWFsbHkgYWxzbyBiZQotLWF2YWlsYWJsZSBhcyBtYW5wYWdlcyBmb3IgdXNlIHdpdGggdGhlIEY8bWFuPiBwcm9ncmFtLgotK09uIERlYmlhbiBzeXN0ZW1zLCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBCPHBlcmwtZG9jPiBwYWNrYWdlIHdoaWNoCi0rY29udGFpbnMgdGhlIG1ham9yaXR5IG9mIHRoZSBzdGFuZGFyZCBQZXJsIGRvY3VtZW50YXRpb24gYW5kIHRoZQotK0Y8cGVybGRvYz4gcHJvZ3JhbS4KLSsKLStFeHRlbnNpdmUgYWRkaXRpb25hbCBkb2N1bWVudGF0aW9uIGZvciBQZXJsIG1vZHVsZXMgaXMgYXZhaWxhYmxlLCBib3RoCi0rdGhvc2UgZGlzdHJpYnV0ZWQgd2l0aCBQZXJsIGFuZCB0aGlyZC1wYXJ0eSBtb2R1bGVzIHdoaWNoIGFyZSBwYWNrYWdlZAotK29yIGxvY2FsbHkgaW5zdGFsbGVkLgotKwotK1lvdSBzaG91bGQgYmUgYWJsZSB0byB2aWV3IFBlcmwncyBkb2N1bWVudGF0aW9uIHdpdGggeW91ciBtYW4oMSkKLStwcm9ncmFtIG9yIHBlcmxkb2MoMSkuCi0gCi0gU29tZSBkb2N1bWVudGF0aW9uIGlzIG5vdCBhdmFpbGFibGUgYXMgbWFuIHBhZ2VzLCBzbyBpZiBhCi0gY3Jvc3MtcmVmZXJlbmNlIGlzIG5vdCBmb3VuZCBieSBtYW4sIHRyeSBpdCB3aXRoIEw8cGVybGRvYz4uICBQZXJsZG9jIGNhbgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9lbmMyeHNfaW5jLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiZDU4Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2VuYzJ4c19pbmMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gN2ZlNTlhM2QwNjAxYzZkODYzNGVhZTRmOTlkYWUzMDI0Y2QwMmE5MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogVHVlLCA4IE1hciAyMDA1IDE5OjMwOjM4ICsxMTAwCi1TdWJqZWN0OiBUd2VhayBlbmMyeHMgdG8gZm9sbG93IHN5bWxpbmtzIGFuZCBpZ25vcmUgbWlzc2luZyBASU5DIGRpcmVjdG9yaWVzLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzI5MDMzNgotCi0tIGlnbm9yZSBtaXNzaW5nIGRpcmVjdG9yaWVzLAotLSBmb2xsb3cgc3ltbGlua3MgKC91c3Ivc2hhcmUvcGVybC81LjggLT4gNS44LjQpLgotLSBmaWx0ZXIgIi4iIG91dCB3aGVuIHJ1bm5pbmcgImVuYzJ4cyAtQyIsIGl0J3MgdW5uZWNlc3NhcnkgYW5kIGNhdXNlcwotICBpc3N1ZXMgd2l0aCBmb2xsb3cgPT4gMSAoc2VlICM2MDM2ODYgYW5kIFtydC5jcGFuLm9yZyAjNjQ1ODVdKQotCi1QYXRjaC1OYW1lOiBkZWJpYW4vZW5jMnhzX2luYy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRW5jb2RlL2Jpbi9lbmMyeHMgfCA4ICsrKystLS0tCi0gdC9wb3J0aW5nL2N1c3RvbWl6ZWQudCB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0VuY29kZS9iaW4vZW5jMnhzIGIvY3Bhbi9FbmNvZGUvYmluL2VuYzJ4cwotaW5kZXggMTlmMmIyYi4uNGQ2NGUzOCAxMDA2NDQKLS0tLSBhL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLSsrKyBiL2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMKLUBAIC05NDQsMTEgKzk0NCwxMSBAQCB1c2UgdmFycyBxdygKLSBzdWIgZmluZF9lMnh7Ci0gICAgIGV2YWwgeyByZXF1aXJlIEZpbGU6OkZpbmQ7IH07Ci0gICAgIG15IChAaW5jLCAlZTJ4X2Rpcik7Ci0tICAgIGZvciBteSAkaW5jIChASU5DKXsKLSsgICAgZm9yIG15ICRpbmMgKGdyZXAgLWQsIEBJTkMpewotICAgICBwdXNoIEBpbmMsICRpbmMgdW5sZXNzICRpbmMgZXEgJy4nOyAjc2tpcCBjdXJyZW50IGRpcgotICAgICB9Ci0gICAgIEZpbGU6OkZpbmQ6OmZpbmQoCi0tICAgICAgICAgc3ViIHsKLSsgICAgICAgICB7IHdhbnRlZCA9PiBzdWIgewotICAgICAgICAgIG15ICgkZGV2LCRpbm8sJG1vZGUsJG5saW5rLCR1aWQsJGdpZCwkcmRldiwkc2l6ZSwKLSAgICAgICAgICAgICAgJGF0aW1lLCRtdGltZSwkY3RpbWUsJGJsa3NpemUsJGJsb2NrcykKLSAgICAgICAgICAgICAgPSBsc3RhdCgkXykgb3IgcmV0dXJuOwotQEAgLTk1OCw3ICs5NTgsNyBAQCBzdWIgZmluZF9lMnh7Ci0gICAgICAgICAgICAgICRlMnhfZGlyeyRGaWxlOjpGaW5kOjpkaXJ9IHx8PSAkbXRpbWU7Ci0gICAgICAgICAgfQotICAgICAgICAgIHJldHVybjsKLS0gICAgICAgICB9LCBAaW5jKTsKLSsgICAgICAgICB9LCBmb2xsb3cgPT4gMX0sIEBpbmMpOwotICAgICB3YXJuIGpvaW4oIlxuIiwga2V5cyAlZTJ4X2RpciksICJcbiI7Ci0gICAgIGZvciBteSAkZCAoc29ydCB7JGUyeF9kaXJ7JGF9IDw9PiAkZTJ4X2RpcnskYn19IGtleXMgJWUyeF9kaXIpewotICAgICAkX0UyWCA9ICRkOwotQEAgLTEwMjUsNyArMTAyNSw3IEBAIHN1YiBtYWtlX2NvbmZpZ2xvY2FsX3BtIHsKLSAJICAgICRMb2NhbE1vZHskZW5jfSB8fD0gJG1vZDsKLSAJfQotICAgICB9OwotLSAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZH0sIEBJTkMpOwotKyAgICBGaWxlOjpGaW5kOjpmaW5kKHt3YW50ZWQgPT4gJHdhbnRlZCwgZm9sbG93ID0+IDF9LCBncmVwIC1kICYmICEvXlwuLywgQElOQyk7Ci0gICAgICRfTW9kTGluZXMgPSAiIjsKLSAgICAgZm9yIG15ICRlbmMgKCBzb3J0IGtleXMgJUxvY2FsTW9kICkgewotICAgICAgICAgJF9Nb2RMaW5lcyAuPQotZGlmZiAtLWdpdCBhL3QvcG9ydGluZy9jdXN0b21pemVkLnQgYi90L3BvcnRpbmcvY3VzdG9taXplZC50Ci1pbmRleCA0NWZjYWZiLi4zYmQ2YWRiIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotKysrIGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQudAotQEAgLTEwMSw4ICsxMDEsMTEgQEAgZm9yZWFjaCBteSAkbW9kdWxlICggc29ydCBrZXlzICVNb2R1bGVzICkgewotICAgICAgIHByaW50ICRkYXRhX2ZoIGpvaW4oJyAnLCAkbW9kdWxlLCAkZmlsZSwgJGlkKSwgIlxuIjsKLSAgICAgICBuZXh0OwotICAgICB9Ci0rU0tJUDogewotKyAgICBza2lwKCIkZmlsZSBtb2RpZmllZCBmb3IgRGViaWFuIiwgMSkgaWYgJGZpbGUgZXEgJ2NwYW4vRW5jb2RlL2Jpbi9lbmMyeHMnOwotICAgICBteSAkc2hvdWxkX2JlID0gJGN1c3RvbWlzZWR7ICRtb2R1bGUgfS0+eyAkZmlsZSB9OwotICAgICBpcyggJGlkLCAkc2hvdWxkX2JlLCAiU0hBIGZvciAkZmlsZSBtYXRjaGVzIHN0YXNoZWQgU0hBIiApOwotK30KLSAgIH0KLSB9Ci0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDIzMDM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZXh0dXRpbHNfc2V0X2xpYnBlcmxfcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRnJvbSA0MzEyNzUwNzhiMDQ5MGQyZTA5MjQ0MmQ5NTgyYmUwNmJiOTViMzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotRGF0ZTogU2F0LCAxMCBNYXkgMjAxNCAyMzozNDoxNCArMDMwMAotU3ViamVjdDogRVU6TU06IHNldCBsb2NhdGlvbiBvZiBsaWJwZXJsLmEgdW5kZXIgL3Vzci9saWIKLQotVGhlIERlYmlhbiBwYWNrYWdpbmcgbW92ZXMgbGlicGVybC5hIGEgY291cGxlIG9mIGxldmVscyB1cCBmcm9tIHRoZQotQ09SRSBkaXJlY3RvcnkgdG8gbWF0Y2ggb3RoZXIgc3RhdGljIGxpYnJhcmllcy4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2V4dHV0aWxzX3NldF9saWJwZXJsX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSBwcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDVmMWI4N2YuLjU3MGE2MzEgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNTA1LDcgKzI1MDUsNyBAQCBNQVBfUFJFTElCUyAgID0gJENvbmZpZ3twZXJsbGlic30gJENvbmZpZ3tjcnlwdGxpYn0KLSAJKCRscGVybCA9ICRsaWJwZXJsKSA9fiBzL1wkXChBXCkvJHNlbGYtPntMSUJfRVhUfS87Ci0gICAgIH0KLSAgICAgdW5sZXNzICgkbGlicGVybCAmJiAtZiAkbHBlcmwpIHsgIyBJbHlhJ3MgY29kZS4uLgotLQlteSAkZGlyID0gJHNlbGYtPntQRVJMX1NSQ30gfHwgIiRzZWxmLT57UEVSTF9BUkNITElCfS9DT1JFIjsKLSsJbXkgJGRpciA9ICRzZWxmLT57UEVSTF9TUkN9IHx8ICIkc2VsZi0+e1BFUkxfQVJDSExJQn0vLi4vLi4iOwotIAkkZGlyID0gIiRzZWxmLT57UEVSTF9BUkNITElCfS8uLiIgaWYgJHNlbGYtPntVTklOU1RBTExFRF9QRVJMfTsKLSAJJGxpYnBlcmwgfHw9ICJsaWJwZXJsJHNlbGYtPntMSUJfRVhUfSI7Ci0gCSRsaWJwZXJsICAgPSAiJGRpci8kbGlicGVybCI7Ci1kaWZmIC0tZ2l0IGEvcHAuYyBiL3BwLmMKLWluZGV4IDQyZjE1NmEuLjc3YzEyNzkgMTAwNjQ0Ci0tLS0gYS9wcC5jCi0rKysgYi9wcC5jCi1AQCAtMSw0ICsxLDQgQEAKLS0vKiAgICBwcC5jCi0rIC8qICAgIHBwLmMKLSAgKgotICAqICAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKLSAgKiAgICAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IGJ5IExhcnJ5IFdhbGwgYW5kIG90aGVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9mYWtlcm9vdC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGYzNGQxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmFrZXJvb3QuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gMjdhZTdiMTgwNzhkODAxYTJjOTQzYWE2ZGUyZjdlOTgwODE3NzI1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogUG9zdHBvbmUgTERfTElCUkFSWV9QQVRIIGV2YWx1YXRpb24gdG8gdGhlIGJpbmFyeSB0YXJnZXRzLgotCi1Nb2RpZnkgdGhlIHNldHRpbmcgb2YgTERfTElCUkFSWV9QQVRIIHRvIGFwcGVuZCBwcmUtZXhpc3RpbmcgdmFsdWVzIGF0IHRoZQotdGltZSB0aGUgcnVsZSBpcyBldmFsdWF0ZWQgcmF0aGVyIHRoYW4gd2hlbiB0aGUgTWFrZWZpbGUgaXMgY3JlYXRlZC4KLQotVGhpcyBpcyByZXF1aXJlZCB3aGVuIGJ1aWxkaW5nIHBhY2thZ2VzIHdpdGggZHBrZy1idWlsZHBhY2thZ2UgYW5kIGZha2Vyb290LAotc2luY2UgZmFrZXJvb3QgKHdoaWNoIG5vdyBzZXRzIExEX0xJQlJBUllfUEFUSCkgaXMgbm90IHVzZWQgZm9yIHRoZSAiYnVpbGQiCi1ydWxlIHdoZXJlIHRoZSBNYWtlZmlsZSBpcyBjcmVhdGVkLCBidXQgaXMgZm9yIHRoZSBjbGVhbi9iaW5hcnkqIHRhcmdldHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9mYWtlcm9vdC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIE1ha2VmaWxlLlNIIHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLlNIIGIvTWFrZWZpbGUuU0gKLWluZGV4IDAzNGQ4MTIuLjA0ZGQ3ZDUgMTAwNzU1Ci0tLS0gYS9NYWtlZmlsZS5TSAotKysrIGIvTWFrZWZpbGUuU0gKLUBAIC0zOSwxMCArMzksNyBAQCBjYXNlICIkdXNlc2hycGxpYiIgaW4KLSB0cnVlKQotIAkjIFByZWZpeCBhbGwgcnVucyBvZiAnbWluaXBlcmwnIGFuZCAncGVybCcgd2l0aAotIAkjICRsZGxpYnB0aCBzbyB0aGF0IC4vcGVybCBmaW5kcyAqdGhpcyogc2hhcmVkIGxpYnBlcmwuCi0tCWNhc2UgIiRMRF9MSUJSQVJZX1BBVEgiIGluCi0tCScnKSAgbGRsaWJwdGg9IkxEX0xJQlJBUllfUEFUSD1gIHF1b3RlICIkcHdkIiBgIiA7OwotLQkqKSAgIGxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYDpgIHF1b3RlICIkTERfTElCUkFSWV9QQVRIIiBgIiA7OwotLQllc2FjCi0rCWxkbGlicHRoPSJMRF9MSUJSQVJZX1BBVEg9YCBxdW90ZSAiJHB3ZCIgYCInJCR7TERfTElCUkFSWV9QQVRIOis6fSQkTERfTElCUkFSWV9QQVRIJwotIAotIAlwbGRsZmxhZ3M9IiRjY2NkbGZsYWdzIgotIAlzdGF0aWNfbGRmbGFncz0nJwotQEAgLTExMyw3ICsxMTAsNyBAQCB0cnVlKQotIAkgICAgOzsKLSAJZXNhYwotIAljYXNlICIkbGRsaWJwdGhuYW1lIiBpbgotLQknJykgOzsKLSsJJyd8TERfTElCUkFSWV9QQVRIKSA7OwotIAkqKQotIAkgICAgY2FzZSAiJG9zbmFtZSIgaW4KLSAJICAgIG9zMikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgyNzA5MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpbmRfaHRtbDJ0ZXh0LmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1Gcm9tIGM4MWRiZGVkZmY5ZTliNGZiNzVhYzAyOGFhNzE4ODM4YzAyOTJkMmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZWFzIE1hcnNjaGtlIDxhbmRyZWFzLm1hcnNjaGtlQGdvb2dsZW1haWwuY29tPgotRGF0ZTogU2F0LCAxNyBTZXAgMjAxMSAxMTozODo0MiArMDEwMAotU3ViamVjdDogQ29uZmlndXJlIENQQU46OkRpc3RyaWJ1dGlvbiB3aXRoIGNvcnJlY3QgbmFtZSBvZiBodG1sMnRleHQKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy82NDA0NzkKLVBhdGNoLU5hbWU6IGRlYmlhbi9maW5kX2h0bWwydGV4dC5kaWZmCi0KLUlmIHlvdSB1c2UgY3BhbiBmcm9tIERlYmlhbiB5b3UgdXN1YWxseSB3aW5kIHVwIHRyeWluZyB0byByZWFkIG9ubGluZQotZG9jdW1lbnRhdGlvbiB0aHJvdWdoIGl0LiBVbmZvcnR1bmF0ZWx5IGNwYW4gY2FuJ3QgZmluZCB0aGUKLWh0bWwydGV4dC5wbCBzY3JpcHQgZXZlbiB0aG91Z2ggaXQgaXMgaW5zdGFsbGVkIHVzaW5nIHRoZSBEZWJpYW4KLXBhY2thZ2UgJ2h0bWwydGV4dCcuCi0KLVBsZWFzZSBzZWUgdGhlIGF0dGFjaGVkIHBhdGNoIGZvciBhIHF1aWNrIGZpeCBvZiB0aGlzIGlzc3VlLgotCi1bTWFpbnRhaW5lcidzIG5vdGU6IGh0bWwydGV4dCBpbiBEZWJpYW4gaXMgbm90IHRoZSBzYW1lIGltcGxlbWVudGF0aW9uCi1hcyB0aGUgaHRtbDJ0ZXh0LnBsIHdoaWNoIGlzIGV4cGVjdGVkLCBidXQgc2hvdWxkIHByb3ZpZGUgc2ltaWxhcgotZnVuY3Rpb25hbGl0eV0uCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0gfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0NQQU4vbGliL0NQQU4vRGlzdHJpYnV0aW9uLnBtIGIvY3Bhbi9DUEFOL2xpYi9DUEFOL0Rpc3RyaWJ1dGlvbi5wbQotaW5kZXggMDkyYjc4MS4uNWMyYmFlMSAxMDA2NDQKLS0tLSBhL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLSsrKyBiL2NwYW4vQ1BBTi9saWIvQ1BBTi9EaXN0cmlidXRpb24ucG0KLUBAIC00MDk5LDcgKzQwOTksNyBAQCBzdWIgX2Rpc3BsYXlfdXJsIHsKLSAgICAgICBpZiAkQ1BBTjo6REVCVUc7Ci0gCi0gICAgICMgc2hvdWxkIHdlIGRlZmluZSBpdCBpbiB0aGUgY29uZmlnIGluc3RlYWQ/Ci0tICAgIG15ICRodG1sX2NvbnZlcnRlciA9ICJodG1sMnRleHQucGwiOwotKyAgICBteSAkaHRtbF9jb252ZXJ0ZXIgPSAiaHRtbDJ0ZXh0IjsKLSAKLSAgICAgbXkgJHdlYl9icm93c2VyID0gJENQQU46OkNvbmZpZy0+eydseW54J30gfHwgdW5kZWY7Ci0gICAgIG15ICR3ZWJfYnJvd3Nlcl9vdXQgPSAkd2ViX2Jyb3dzZXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvZG9jdW1lbnRfbWFrZW1ha2VyX2NjZmxhZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjNkOTI1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDlmYWY2ZGNjM2E1YzQxNTQ0ODRkODEyZWIzY2MzZGQ3OGIzNTU2M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBNb24sIDMwIE1heSAyMDExIDIyOjU0OjI0ICswMzAwCi1TdWJqZWN0OiBEb2N1bWVudCB0aGF0IENDRkxBR1Mgc2hvdWxkIGluY2x1ZGUgJENvbmZpZ3tjY2ZsYWdzfQotCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Njg2MTMKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNjI4NTIyCi0KLUNvbXBpbGluZyBYUyBleHRlbnNpb25zIHdpdGhvdXQgJENvbmZpZ3tjY2ZsYWdzfSBjYW4gYnJlYWsgdGhlCi1iaW5hcnkgaW50ZXJmYWNlIG9uIHNvbWUgcGxhdGZvcm1zLgotCi1QYXRjaC1OYW1lOiBmaXhlcy9kb2N1bWVudF9tYWtlbWFrZXJfY2NmbGFncy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWFrZU1ha2VyLnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbQotaW5kZXggZmU5NWIyNy4uOTA0MDNlOCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0KLUBAIC0xNzc0LDYgKzE3NzQsMTAgQEAgY3VycmVudGx5IHVzZWQgYnkgTWFrZU1ha2VyIGJ1dCBtYXkgYmUgaGFuZHkgaW4gTWFrZWZpbGUuUExzLgotIFN0cmluZyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIGNvbXBpbGVyIGNhbGwgY29tbWFuZCBsaW5lIGJldHdlZW4KLSB0aGUgYXJndW1lbnRzIElOQyBhbmQgT1BUSU1JWkUuCi0gCi0rVGhlIGRlZmF1bHQgdmFsdWUgaXMgdGFrZW4gZnJvbSAkQ29uZmlne2NjZmxhZ3N9LiBXaGVuIG92ZXJyaWRpbmcKLStDQ0ZMQUdTLCBtYWtlIHN1cmUgdG8gaW5jbHVkZSB0aGUgJENvbmZpZ3tjY2ZsYWdzfSBzZXR0aW5ncyB0byBhdm9pZAotK2JpbmFyeSBpbmNvbXBhdGliaWxpdGllcy4KLSsKLSA9aXRlbSBDT05GSUcKLSAKLSBBcnJheXJlZi4gRS5nLiBbcXcoYXJjaG5hbWUgbWFuZXh0KV0gZGVmaW5lcyBBUkNITkFNRSAmIE1BTkVYVCBmcm9tCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5YjM2ZjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9tZW1vaXplX3N0b3JhYmxlX25zdG9yZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTExICswLDAgQEAKLUZyb20gNTVkNDMwZWIwMmZjMTE2NTgxODQ3MzA0Y2EyMDMyMTY4Nzk3ODI2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvbmF0aGFuIE5pZWRlciA8anJuaWVkZXJAZ21haWwuY29tPgotRGF0ZTogRnJpLCAyNyBKdWwgMjAxMiAxMDozNTowNyAtMDUwMAotU3ViamVjdDogTWVtb2l6ZTo6U3RvcmFibGU6IHJlc3BlY3QgJ25zdG9yZScgb3B0aW9uIG5vdCByZXNwZWN0ZWQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotTWVtb2l6ZSgzcGVybCkgc2F5czoKLQotICAgICAgICAgICAgICAgIHRpZSBteSAlY2FjaGUgPT4gJ01lbW9pemU6OlN0b3JhYmxlJywgJGZpbGVuYW1lLCAnbnN0b3JlJzsKLSAgICAgICAgICAgICAgICBtZW1vaXplICdmdW5jdGlvbicsIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXTsKLQotICAgICAgICBJbmNsdWRlIHRoZSDigJhuc3RvcmXigJkgb3B0aW9uIHRvIGhhdmUgdGhlICJTdG9yYWJsZSIgZGF0YWJhc2UKLSAgICAgICAgd3JpdHRlbiBpbiDigJhuZXR3b3JrIG9yZGVy4oCZLiAgKFNlZSBTdG9yYWJsZSBmb3IgbW9yZSBkZXRhaWxzCi0gICAgICAgIGFib3V0IHRoaXMuKQotCi1JbiBmYWN0IHRoZSAibnN0b3JlIiBvcHRpb24gZG9lcyBubyBzdWNoIHRoaW5nLiAgT3B0aW9uIHBhcnNpbmcgbG9va3MKLWxpa2UgdGhpczoKLQotICAgICAgICBAb3B0aW9uc3tAX30gPSAoKTsKLQotJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30gaXMgYWNjb3JkaW5nbHkgc2V0IHRvIHVuZGVmLiAgTGF0ZXIKLU1lbW9pemU6OlN0b3JhYmxlIGNoZWNrcyBpZiB0aGUgb3B0aW9uIGlzIHRydWUsIGFuZCBzaW5jZSB1bmRlZiBpcwotbm90IHRydWUsIHRoZSAiZWxzZSIgYnJhbmNoIGlzIGFsd2F5cyB0YWtlbi4KLQotICAgICAgICBpZiAoJHNlbGYtPntPUFRJT05TfXsnbnN0b3JlJ30pIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBTdG9yYWJsZTo6c3RvcmUoJHNlbGYtPntIfSwgJHNlbGYtPntGSUxFTkFNRX0pOwotICAgICAgICB9Ci0KLUNvcnJlY3RpbmcgdGhlIGNvbmRpdGlvbiB0byAoZXhpc3RzICRzZWxmLT57T1BUSU9OU317J25zdG9yZSd9KSBmaXhlcwotaXQuCi0KLU5vdGljZWQgYmVjYXVzZSBnaXQtc3ZuLCB3aGljaCB1c2VzIHRoZSAnbnN0b3JlJyBvcHRpb24gZm9yIGl0cwotb24tZGlzayBjYWNoZXMsIHdhcyBwcm9kdWNpbmcKLQotICAgICAgICBCeXRlIG9yZGVyIGlzIG5vdCBjb21wYXRpYmxlIGF0IC4uLy4uL2xpYi9TdG9yYWJsZS5wbQotCi13aGVuIHJ1biB1c2luZyBhIHBlcmwgd2l0aCBhIGRpZmZlcmVudCBpbnRlZ2VyIHNpemUgKGFuZCBoZW5jZQotYnl0ZW9yZGVyKS4KLQotUmVwb3J0ZWQgYnkgVGltIFJldG91dCAoUlQjNzc3OTApCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTg3NjUwCi1CdWc6IGh0dHBzOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9Nzc3OTAKLUZvcndhcmRlZDogaHR0cHM6Ly9ydC5jcGFuLm9yZy9QdWJsaWMvQnVnL0Rpc3BsYXkuaHRtbD9pZD03Nzc5MAotUGF0Y2gtTmFtZTogZml4ZXMvbWVtb2l6ZV9zdG9yYWJsZV9uc3RvcmUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSB8ICAyICstCi0gY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgICAgfCAyNCArKysrKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL01lbW9pemUvTWVtb2l6ZS9TdG9yYWJsZS5wbSBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1pbmRleCAxMzE0Nzk3Li44Nzg3NmYyIDEwMDY0NAotLS0tIGEvY3Bhbi9NZW1vaXplL01lbW9pemUvU3RvcmFibGUucG0KLSsrKyBiL2NwYW4vTWVtb2l6ZS9NZW1vaXplL1N0b3JhYmxlLnBtCi1AQCAtNTUsNyArNTUsNyBAQCBzdWIgREVTVFJPWSB7Ci0gICByZXF1aXJlIENhcnAgaWYgJFZlcmJvc2U7Ci0gICBteSAkc2VsZj0gc2hpZnQ7Ci0gICBwcmludCBTVERFUlIgIk1lbW9pemU6OlN0b3JhYmxlOjpERVNUUk9ZKEBfKVxuIiBpZiAkVmVyYm9zZTsKLS0gIGlmICgkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotKyAgaWYgKGV4aXN0cyAkc2VsZi0+e09QVElPTlN9eyduc3RvcmUnfSkgewotICAgICBTdG9yYWJsZTo6bnN0b3JlKCRzZWxmLT57SH0sICRzZWxmLT57RklMRU5BTUV9KTsKLSAgIH0gZWxzZSB7Ci0gICAgIFN0b3JhYmxlOjpzdG9yZSgkc2VsZi0+e0h9LCAkc2VsZi0+e0ZJTEVOQU1FfSk7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9NZW1vaXplL3QvdGllX3N0b3JhYmxlLnQgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotaW5kZXggZGUzYjhkYy4uYTYyNDIzOCAxMDA2NDQKLS0tLSBhL2NwYW4vTWVtb2l6ZS90L3RpZV9zdG9yYWJsZS50Ci0rKysgYi9jcGFuL01lbW9pemUvdC90aWVfc3RvcmFibGUudAotQEAgLTMxLDE4ICszMSwzNCBAQCBpZiAoJEApIHsKLSAgIGV4aXQgMDsKLSB9Ci0gCi0tcHJpbnQgIjEuLjRcbiI7Ci0rcHJpbnQgIjEuLjlcbiI7Ci0gCi0gJGZpbGUgPSAic3RvcmFibGUkJCI7Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0gdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCAxKTsgICMgVGVzdCAxLi40Ci0gMSB3aGlsZSB1bmxpbmsgJGZpbGU7Ci0rdHJ5b3V0KCdNZW1vaXplOjpTdG9yYWJsZScsICRmaWxlLCA1LCAnbnN0b3JlJyk7ICAjIFRlc3QgNS4uOAotK2Fzc2VydF9uZXRvcmRlcigkZmlsZSwgOSk7ICAjIFRlc3QgOQotKzEgd2hpbGUgdW5saW5rICRmaWxlOwotKwotKwotK3N1YiBhc3NlcnRfbmV0b3JkZXIgewotKyAgbXkgKCRmaWxlLCAkdGVzdG5vKSA9IEBfOwotKwotKyAgbXkgJG5ldG9yZGVyID0gU3RvcmFibGU6OmZpbGVfbWFnaWMoJGZpbGUpLT57J25ldG9yZGVyJ307Ci0rICBwcmludCAoJG5ldG9yZGVyID8gIm9rICR0ZXN0bm9cbiIgOiAibm90IG9rICR0ZXN0bm9cbiIpOwotK30KLSAKLSBzdWIgdHJ5b3V0IHsKLS0gIG15ICgkdGllcGFjaywgJGZpbGUsICR0ZXN0bm8pID0gQF87Ci0rICBteSAoJHRpZXBhY2ssICRmaWxlLCAkdGVzdG5vLCAkb3B0aW9uKSA9IEBfOwotIAotLSAgdGllIG15ICVjYWNoZSA9PiAkdGllcGFjaywgJGZpbGUKLS0gICAgb3IgZGllICQhOwotKyAgaWYgKGRlZmluZWQgJG9wdGlvbikgewotKyAgICB0aWUgbXkgJWNhY2hlID0+ICR0aWVwYWNrLCAkZmlsZSwgJG9wdGlvbgotKyAgICAgIG9yIGRpZSAkITsKLSsgIH0gZWxzZSB7Ci0rICAgIHRpZSBteSAlY2FjaGUgPT4gJHRpZXBhY2ssICRmaWxlCi0rICAgICAgb3IgZGllICQhOwotKyAgfQotIAotICAgbWVtb2l6ZSAnYzUnLCAKLSAgIFNDQUxBUl9DQUNIRSA9PiBbSEFTSCA9PiBcJWNhY2hlXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmY2Y3ZmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9uZXRfc210cF9kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1Gcm9tIGZhMDg1ZmVkZDljNDA2ZWRjZDRhMWEyNTZjMDI1ZDVmZjdmNmM2ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFRodSwgMjAgU2VwIDIwMDcgMTk6NDc6MTQgKzEwMDAKLVN1YmplY3Q6IERvY3VtZW50IHRoZSBOZXQ6OlNNVFAgJ1BvcnQnIG9wdGlvbgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEwMDE5NQotQnVnOiBodHRwOi8vcnQuY3Bhbi5vcmcvUHVibGljL0J1Zy9EaXNwbGF5Lmh0bWw/aWQ9MzYwMzgKLQotUGF0Y2gtTmFtZTogZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvU01UUC5wbSB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi1pbmRleCBhZmQwMTdhLi42YWU3ZDllIDEwMDY0NAotLS0tIGEvY3Bhbi9saWJuZXQvbGliL05ldC9TTVRQLnBtCi0rKysgYi9jcGFuL2xpYm5ldC9saWIvTmV0L1NNVFAucG0KLUBAIC03MzgsNiArNzM4LDcgQEAgTmV0OjpTTVRQIHdpbGwgYXR0ZW1wdCB0byBleHRyYWN0IHRoZSBhZGRyZXNzIGZyb20gdGhlIHZhbHVlIHBhc3NlZC4KLSAKLSBCPERlYnVnPiAtIEVuYWJsZSBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KLSAKLStCPFBvcnQ+IC0gU2VsZWN0IGEgcG9ydCBvbiB0aGUgcmVtb3RlIGhvc3QgdG8gY29ubmVjdCB0byAoZGVmYXVsdCBpcyAyNSkKLSAKLSBFeGFtcGxlOgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wZXJsLUNubi5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmRmNDFiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcGVybC1Dbm4uZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLUZyb20gMGVjZjgzZjI1OWRiMDljYjM4Y2IzN2M5YjIyZTcyYmUxODVhZmE4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEh1Z28gdmFuIGRlciBTYW5kZW4gPGh2QGNyeXB0Lm9yZz4KLURhdGU6IFRodSwgMTEgSnVuIDIwMTUgMTI6MjU6NDAgKzAxMDAKLVN1YmplY3Q6IGZpeCAtQ25uIHBhcnNpbmcKLQotQ29tbWl0IDIyZmYzMTMwNjggZm9yIFtwZXJsICMxMjM4MTRdIGluYWR2ZXJ0ZW50bHkgY2hhbmdlZCB0aGUgbG9naWMgd2hlbgotcGFyc2luZyBhIG51bWVyaWMgcGFyYW1ldGVyIHRvIHRoZSAtQyBvcHRpb24sIHN1Y2ggdGhhdCB0aGUgc3VjY2Vzc2Z1bGx5Ci1wYXJzZWQgbnVtYmVyIHdhcyBub3Qgc2F2ZWQgYXMgdGhlIG9wdGlvbiB2YWx1ZSBpZiBpdCBwYXJzZWQgdG8gdGhlIGVuZAotb2YgdGhlIGFyZ3VtZW50LgotCi1CdWc6IGh0dHBzOi8vcnQucGVybC5vcmcvVGlja2V0L0Rpc3BsYXkuaHRtbD9pZD0xMjUzODEKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4ODYzNgotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL3Blcmw1LmdpdC5wZXJsLm9yZy9wZXJsLmdpdC9jb21taXQvODlkODRmZjk2NQotUGF0Y2gtTmFtZTogZml4ZXMvcGVybC1Dbm4uZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9zd2l0Y2hDLnQgfCAgNyArKysrKystCi0gdXRpbC5jICAgICAgICAgIHwgMTcgKysrKysrKystLS0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoQy50IGIvdC9ydW4vc3dpdGNoQy50Ci1pbmRleCBmNmFhODY4Li40ZjYzYzNiIDEwMDY0NAotLS0tIGEvdC9ydW4vc3dpdGNoQy50Ci0rKysgYi90L3J1bi9zd2l0Y2hDLnQKLUBAIC0xMSw3ICsxMSw3IEBAIEJFR0lOIHsKLSAgICAgc2tpcF9hbGxfaWZfbWluaXBlcmwoJy1DIGFuZCAkRU5We1BFUkxfVU5JQ09ERX0gYXJlIGRpc2FibGVkIG9uIG1pbmlwZXJsJyk7Ci0gfQotIAotLXBsYW4odGVzdHMgPT4gMTMpOwotK3BsYW4odGVzdHMgPT4gMTQpOwotIAotIG15ICRyOwotIAotQEAgLTI1LDYgKzI1LDExIEBAICRyID0gcnVucGVybCggc3dpdGNoZXMgPT4gWyAnLUNPJywgJy13JyBdLAotICAgICAgICAgICAgICAgc3RkZXJyICAgPT4gMSApOwotIGxpa2UoICRyLCBxci9eJGIoPzpccj9cbik/JC9zLCAnLUNPOiBubyB3YXJuaW5nIG9uIFVURi04IG91dHB1dCcgKTsKLSAKLSskciA9IHJ1bnBlcmwoIHN3aXRjaGVzID0+IFsgJy1DMicsICctdycgXSwKLSsJICAgICAgcHJvZyAgICAgPT4gJ3ByaW50IGNocigyNTYpJywKLSsgICAgICAgICAgICAgIHN0ZGVyciAgID0+IDEgKTsKLStsaWtlKCAkciwgcXIvXiRiKD86XHI/XG4pPyQvcywgJy1DMjogbm8gd2FybmluZyBvbiBVVEYtOCBvdXRwdXQnICk7Ci0rCi0gU0tJUDogewotICAgICBpZiAoZXhpc3RzICRFTlZ7UEVSTF9VTklDT0RFfSAmJgotIAkoJEVOVntQRVJMX1VOSUNPREV9IGVxICIiIHx8ICRFTlZ7UEVSTF9VTklDT0RFfSA9fiAvW1NPXS8pKSB7Ci1kaWZmIC0tZ2l0IGEvdXRpbC5jIGIvdXRpbC5jCi1pbmRleCA4Y2Y2MmY1Li5lZTIzMzE0IDEwMDY0NAotLS0tIGEvdXRpbC5jCi0rKysgYi91dGlsLmMKLUBAIC00NDIwLDE2ICs0NDIwLDE1IEBAIFBlcmxfcGFyc2VfdW5pY29kZV9vcHRzKHBUSFhfIGNvbnN0IGNoYXIgKipwb3B0KQotICAgICAgICBpZiAoaXNESUdJVCgqcCkpIHsKLSAgICAgICAgICAgICBjb25zdCBjaGFyKiBlbmRwdHI7Ci0gICAgICAgICAgICAgVVYgdXY7Ci0tICAgICAgICAgICAgaWYgKGdyb2tfYXRvVVYocCwgJnV2LCAmZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiB1diA8PSBVMzJfTUFYCi0tICAgICAgICAgICAgICAgICYmIChwID0gZW5kcHRyKQotLSAgICAgICAgICAgICAgICAmJiAqcCAmJiAqcCAhPSAnXG4nICYmICpwICE9ICdccicKLS0gICAgICAgICAgICApIHsKLSsgICAgICAgICAgICBpZiAoZ3Jva19hdG9VVihwLCAmdXYsICZlbmRwdHIpICYmIHV2IDw9IFUzMl9NQVgpIHsKLSAgICAgICAgICAgICAgICAgb3B0ID0gKFUzMil1djsKLS0gICAgICAgICAgICAgICAgaWYgKGlzU1BBQ0UoKnApKQotLSAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLS0gICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICAgICAgUGVybF9jcm9hayhhVEhYXyAiVW5rbm93biBVbmljb2RlIG9wdGlvbiBsZXR0ZXIgJyVjJyIsICpwKTsKLSsgICAgICAgICAgICAgICAgcCA9IGVuZHB0cjsKLSsgICAgICAgICAgICAgICAgaWYgKHAgJiYgKnAgJiYgKnAgIT0gJ1xuJyAmJiAqcCAhPSAnXHInKSB7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAoaXNTUEFDRSgqcCkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byB0aGVfZW5kX29mX3RoZV9vcHRzX3BhcnNlcjsKLSsgICAgICAgICAgICAgICAgICAgIGVsc2UKLSsgICAgICAgICAgICAgICAgICAgICAgICBQZXJsX2Nyb2FrKGFUSFhfICJVbmtub3duIFVuaWNvZGUgb3B0aW9uIGxldHRlciAnJWMnIiwgKnApOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICAgICAgZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZF9tYW5fcmVwcm9kdWNpYmxlX2RhdGUuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMjM1NzNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTcxICswLDAgQEAKLUZyb20gOTA1N2FkYzEwNmQ2YmJlZjUzYzllNzA2NTIzY2Q5NGYxYTdhMDhkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDMwIEF1ZyAyMDE0IDE1OjEwOjQxIC0wNzAwCi1TdWJqZWN0OiBTdXBwb3J0IFBPRF9NQU5fREFURSBpbiBQb2Q6Ok1hbiBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLQotSG9ub3IgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSBhbmQgdXNlIGl0cyBjb250ZW50cywgaWYKLXNldCwgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIGlmIHRoZSBkYXRlIG9wdGlvbiBpcyBub3QKLXNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dCBmaWxlLiAgVGhpcyBpcyBwcmltYXJpbHkKLXVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlIGJ1aWxkcyBvZiB0aGUgc2FtZSBvdXRwdXQgZmlsZSBnaXZlbiB0aGUKLXNhbWUgc291Y2UgYW5kIFBvZDo6TWFuIHZlcnNpb24sIGV2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZQotY29uc2lzdGVudC4gIFRoYW5rcywgTmlrbyBUeW5pLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzc1OTQwNQotT3JpZ2luOiB1cHN0cmVhbQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kX21hbl9yZXByb2R1Y2libGVfZGF0ZS5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtICB8IDY5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCB8IDI5ICsrKysrKysrKysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1pbmRleCA3MmNhOWZmLi4wNTM2NjYyIDEwMDY0NAotLS0tIGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLSsrKyBiL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi1AQCAtODc2LDI1ICs4NzYsNDIgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gfQotIAotICMgRGV0ZXJtaW5lIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBhbmQgcmV0dXJuIHRoYXQsIHByb3Blcmx5IGZvcm1hdHRlZCBpbiBJU08KLS0jIGZvcm1hdC4gIElmIHdlIGNhbid0IGdldCB0aGUgbW9kaWZpY2F0aW9uIGRhdGUgb2YgdGhlIGlucHV0LCBpbnN0ZWFkIHVzZSB0aGUKLS0jIGN1cnJlbnQgdGltZS4gIFBvZDo6U2ltcGxlIHJldHVybnMgYSBjb21wbGV0ZWx5IHVudXNlZnVsIHN0cmluZ2lmaWVkIGZpbGUKLS0jIGhhbmRsZSBhcyB0aGUgc291cmNlX2ZpbGVuYW1lIGZvciBpbnB1dCBmcm9tIGEgZmlsZSBoYW5kbGUsIHNvIHdlIGhhdmUgdG8KLS0jIGRlYWwgd2l0aCB0aGF0IGFzIHdlbGwuCi0rIyBmb3JtYXQuCi0rIwotKyMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgdGhhdCBvdmVycmlkZXMgYW55dGhpbmcgZWxzZS4gIFRoaXMgY2FuIGJlIHVzZWQgZm9yCi0rIyByZXByb2R1Y2libGUgZ2VuZXJhdGlvbiBvZiB0aGUgc2FtZSBmaWxlIGV2ZW4gaWYgdGhlIGlucHV0IGZpbGUgdGltZXN0YW1wcwotKyMgYXJlIHVucHJlZGljdGFibGUgb3IgdGhlIFBPRCBjb21zIGZyb20gc3RhbmRhcmQgaW5wdXQuCi0rIwotKyMgT3RoZXJ3aXNlLCB1c2UgdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBpZiB3ZSBjYW4gc3RhdCBpdC4gIEJlCi0rIyBhd2FyZSB0aGF0IFBvZDo6U2ltcGxlIHJldHVybnMgdGhlIHN0cmluZ2lmaWNhdGlvbiBvZiB0aGUgZmlsZSBoYW5kbGUgYXMKLSsjIHNvdXJjZV9maWxlbmFtZSBmb3IgaW5wdXQgZnJvbSBhIGZpbGUgaGFuZGxlLCBzbyB3ZSdsbCBzdGF0IHNvbWUgcmFuZG9tIHJlZgotKyMgc3RyaW5nIGluIHRoYXQgY2FzZS4gIElmIHRoYXQgZmFpbHMsIGluc3RlYWQgdXNlIHRoZSBjdXJyZW50IHRpbWUuCi0rIwotKyMgJHNlbGYgLSBQb2Q6Ok1hbiBvYmplY3QsIHVzZWQgdG8gZ2V0IHRoZSBzb3VyY2UgZmlsZQotKyMKLSsjIFJldHVybnM6IFlZWVktTU0tREQgZGF0ZSBzdWl0YWJsZSBmb3IgdGhlIGxlZnQtaGFuZCBmb290ZXIKLSBzdWIgZGV2aXNlX2RhdGUgewotICAgICBteSAoJHNlbGYpID0gQF87Ci0rCi0rICAgICMgSWYgUE9EX01BTl9EQVRFIGlzIHNldCwgYWx3YXlzIHVzZSBpdC4KLSsgICAgaWYgKCRFTlZ7UE9EX01BTl9EQVRFfSkgewotKyAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSsgICAgfQotKwotKyAgICAjIE90aGVyd2lzZSwgZ2V0IHRoZSBpbnB1dCBmaWxlbmFtZSBhbmQgdHJ5IHRvIHN0YXQgaXQuICBJZiB0aGF0IGZhaWxzLAotKyAgICAjIHVzZSB0aGUgY3VycmVudCB0aW1lLgotICAgICBteSAkaW5wdXQgPSAkc2VsZi0+c291cmNlX2ZpbGVuYW1lOwotICAgICBteSAkdGltZTsKLSAgICAgaWYgKCRpbnB1dCkgewotLSAgICAgICAgJHRpbWUgPSAoc3RhdCAkaW5wdXQpWzldIHx8IHRpbWU7Ci0rICAgICAgICAkdGltZSA9IChzdGF0KCRpbnB1dCkpWzldIHx8IHRpbWUoKTsKLSAgICAgfSBlbHNlIHsKLS0gICAgICAgICR0aW1lID0gdGltZTsKLSsgICAgICAgICR0aW1lID0gdGltZSgpOwotICAgICB9Ci0gCi0tICAgICMgQ2FuJ3QgdXNlIFBPU0lYOjpzdHJmdGltZSgpLCB3aGljaCB1c2VzIEZjbnRsLCBiZWNhdXNlIE1ha2VNYWtlcgotLSAgICAjIHVzZXMgdGhpcyBhbmQgaXQgaGFzIHRvIHdvcmsgaW4gdGhlIGNvcmUgd2hpY2ggY2FuJ3QgbG9hZCBkeW5hbWljCi0tICAgICMgbGlicmFyaWVzLgotLSAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAobG9jYWx0aW1lICR0aW1lKVs1LDQsM107Ci0tICAgIHJldHVybiBzcHJpbnRmICgiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotKyAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotKyAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIAotICMgUHJpbnQgb3V0IHRoZSBwcmVhbWJsZSBhbmQgdGhlIHRpdGxlLiAgVGhlIG1lYW5pbmcgb2YgdGhlIGFyZ3VtZW50cyB0byAuVEgKLUBAIC0xNjMyLDYgKzE2NDksMTUgQEAgYXJndW1lbnQuCi0gU2V0cyB0aGUgY2VudGVyZWQgcGFnZSBoZWFkZXIgdG8gdXNlIGluc3RlYWQgb2YgIlVzZXIgQ29udHJpYnV0ZWQgUGVybAotIERvY3VtZW50YXRpb24iLgotIAotKz1pdGVtIGRhdGUKLSsKLStTZXRzIHRoZSBsZWZ0LWhhbmQgZm9vdGVyLiAgSWYgdGhpcyBvcHRpb24gaXMgbm90IHNldCwgdGhlIGNvbnRlbnRzIG9mIHRoZQotK2Vudmlyb25tZW50IHZhcmlhYmxlIFBPRF9NQU5fREFURSwgaWYgc2V0LCB3aWxsIGJlIHVzZWQuICBGYWlsaW5nIHRoYXQsCi0rdGhlIG1vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgdGltZQotK2lmIHN0YXQoKSBjYW4ndCBmaW5kIHRoYXQgZmlsZSAod2hpY2ggd2lsbCBiZSB0aGUgY2FzZSBpZiB0aGUgaW5wdXQgaXMKLStmcm9tIEM8U1RESU4+KS4gIElmIG9idGFpbmVkIGZyb20gdGhlIGZpbGUgbW9kaWZpY2F0aW9uIGRhdGUgb3IgdGhlCi0rY3VycmVudCB0aW1lLCBoZSBkYXRlIHdpbGwgYmUgZm9ybWF0dGVkIGFzIEM8WVlZWS1NTS1ERD4uCi0rCi0gPWl0ZW0gZXJyb3JzCi0gCi0gSG93IHRvIHJlcG9ydCBlcnJvcnMuICBDPGRpZT4gc2F5cyB0byB0aHJvdyBhbiBleGNlcHRpb24gb24gYW55IFBPRAotQEAgLTE2NDIsMTMgKzE2NjgsNiBAQCBQT0QgZXJyb3JzIGVudGlyZWx5LCBhcyBtdWNoIGFzIHBvc3NpYmxlLgotIAotIFRoZSBkZWZhdWx0IGlzIEM8cG9kPi4KLSAKLS09aXRlbSBkYXRlCi0tCi0tU2V0cyB0aGUgbGVmdC1oYW5kIGZvb3Rlci4gIEJ5IGRlZmF1bHQsIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQKLS1maWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHRoZQotLWNhc2UgaWYgdGhlIGlucHV0IGlzIGZyb20gQzxTVERJTj4pLCBhbmQgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMKLS1DPFlZWVktTU0tREQ+LgotLQotID1pdGVtIGZpeGVkCi0gCi0gVGhlIGZpeGVkLXdpZHRoIGZvbnQgdG8gdXNlIGZvciB2ZXJiYXRpbSB0ZXh0IGFuZCBjb2RlLiAgRGVmYXVsdHMgdG8KLUBAIC0xODEwLDYgKzE4MjksMjAgQEAgb3B0aW9uIHdhcyBzZXQgdG8gQzxkaWU+LgotIAotID1iYWNrCi0gCi0rPWhlYWQxIEVOVklST05NRU5UCi0rCi0rPW92ZXIgNAotKwotKz1pdGVtIFBPRF9NQU5fREFURQotKwotK0lmIHNldCwgdGhpcyB3aWxsIGJlIHVzZWQgYXMgdGhlIHZhbHVlIG9mIHRoZSBsZWZ0LWhhbmQgZm9vdGVyIHVubGVzcyB0aGUKLStDPGRhdGU+IG9wdGlvbiBpcyBleHBsaWNpdGx5IHNldCwgb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIG9mIHRoZSBpbnB1dAotK2ZpbGUgb3IgdGhlIGN1cnJlbnQgdGltZS4gIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWZ1bCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlCi0rYnVpbGRzIG9mIHRoZSBzYW1lIG91dHB1dCBmaWxlIGdpdmVuIHRoZSBzYW1lIHNvdWNlIGFuZCBQb2Q6Ok1hbiB2ZXJzaW9uLAotK2V2ZW4gd2hlbiBmaWxlIHRpbWVzdGFtcHMgbWF5IG5vdCBiZSBjb25zaXN0ZW50LgotKwotKz1iYWNrCi0rCi0gPWhlYWQxIEJVR1MKLSAKLSBFbmNvZGluZyBoYW5kbGluZyBhc3N1bWVzIHRoYXQgUGVybElPIGlzIGF2YWlsYWJsZSBhbmQgZG9lcyBub3Qgd29yawotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggM2NjZTlmNS4uYzYxMGRkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMSwxNSArMSwyOCBAQAotLSMhL3Vzci9iaW4vcGVybCAtdwotLQotLSMgSW4gb3JkZXIgZm9yIE1ha2VNYWtlciB0byBidWlsZCBpbiB0aGUgY29yZSwgbm90aGluZyBjYW4gdXNlCi0tIyBGY250bCB3aGljaCBpbmNsdWRlcyBQT1NJWC4gIGRldmlzZV9kYXRlKCkncyB1c2Ugb2Ygc3RyZnRpbWUoKQotLSMgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cyB0aGF0IGl0J3MgaWRlbnRpY2FsLgotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIEluIG9yZGVyIGZvciBNYWtlTWFrZXIgdG8gYnVpbGQgaW4gdGhlIGNvcmUsIG5vdGhpbmcgY2FuIHVzZSBGY250bCB3aGljaAotKyMgaW5jbHVkZXMgUE9TSVguICBkZXZpc2VfZGF0ZSgpJ3MgdXNlIG9mIHN0cmZ0aW1lKCkgd2FzIHJlcGxhY2VkLiAgVGhpcyB0ZXN0cwotKyMgdGhhdCBpdCdzIGlkZW50aWNhbC4gIEl0IGFsc28gdGVzdHMgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgUE9EX01BTl9EQVRFCi0rIyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLSAKLSt1c2UgNS4wMDY7Ci0gdXNlIHN0cmljdDsKLS0KLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAxOwotK3VzZSB3YXJuaW5nczsKLSAKLSB1c2UgUG9kOjpNYW47Ci0gdXNlIFBPU0lYIHF3KHN0cmZ0aW1lKTsKLSAKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAyOwotKwotKyMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSsjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotIG15ICRwYXJzZXIgPSBQb2Q6Ok1hbi0+bmV3OwotLWlzICRwYXJzZXItPmRldmlzZV9kYXRlLCBzdHJmdGltZSgiJVktJW0tJWQiLCBsb2NhbHRpbWUpOwotK2lzKAotKyAgICAkcGFyc2VyLT5kZXZpc2VfZGF0ZSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgbG9jYWx0aW1lKCkpLAotKyAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSspOwotKwotKyMgU2V0IHRoZSBvdmVycmlkZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgZW5zdXJlIHRoYXQgaXQncyBob25vcmVkLgotK2xvY2FsICRFTlZ7UE9EX01BTl9EQVRFfSA9ICcyMDE0LTAxLTAxJzsKLStpcygkcGFyc2VyLT5kZXZpc2VfZGF0ZSwgJzIwMTQtMDEtMDEnLCAnZGV2aXNlX2RhdGUgaG9ub3JzIFBPRF9NQU5fREFURScpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tZW1wdHktZGF0ZS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGUyOWI4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gMTgzYmI0YWY3YWQ4NjJhMmNmMzFkMGRjYjNkZDQ1YzEwMGY3Njc3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogV2VkLCAxNSBBcHIgMjAxNSAyMjoyMToyNSAtMDcwMAotU3ViamVjdDogU3VwcG9ydCBhbiBlbXB0eSBQT0RfTUFOX0RBVEUgZW52aXJvbm1lbnQgdmFyaWFibGUKLQotT25lIG1heSB3YW50IHRvIHNldCB0aGlzIHRvIGFuIGVtcHR5IHN0cmluZy4gIEhhbmRsZSB0aGF0IGNvcnJlY3RseS4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWUwZTlmY2I1M2U4ZmM5NTRiMmIxOTU1Mzg1ZWVhMThjMjdmODY5YWYKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLWVtcHR5LWRhdGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgfCAyICstCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50IHwgNiArKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLWluZGV4IDM2NTg5MmUuLjg5OTdhMTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotKysrIGIvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0KLUBAIC04OTQsNyArODk0LDcgQEAgc3ViIGRldmlzZV9kYXRlIHsKLSAgICAgbXkgKCRzZWxmKSA9IEBfOwotIAotICAgICAjIElmIFBPRF9NQU5fREFURSBpcyBzZXQsIGFsd2F5cyB1c2UgaXQuCi0tICAgIGlmICgkRU5We1BPRF9NQU5fREFURX0pIHsKLSsgICAgaWYgKGRlZmluZWQoJEVOVntQT0RfTUFOX0RBVEV9KSkgewotICAgICAgICAgcmV0dXJuICRFTlZ7UE9EX01BTl9EQVRFfTsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotaW5kZXggOWRhOWQxYi4uMjcyNzFkOSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtZGF0ZS50Ci1AQCAtMTIsNyArMTIsNyBAQCB1c2Ugd2FybmluZ3M7Ci0gdXNlIFBvZDo6TWFuOwotIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7Ci0gCi0tdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiAzOwotIAotICMgQ2hlY2sgdGhhdCB0aGUgcmVzdWx0cyBvZiBkZXZpY2VfZGF0ZSBtYXRjaGVzIHN0cmZ0aW1lLiAgVGhlcmUgaXMgbm8gaW5wdXQKLSAjIGZpbGUgbmFtZSwgc28gdGhpcyB3aWxsIHVzZSB0aGUgY3VycmVudCB0aW1lLgotQEAgLTI2LDMgKzI2LDcgQEAgaXMoCi0gIyBTZXQgdGhlIG92ZXJyaWRlIGVudmlyb25tZW50IHZhcmlhYmxlIGFuZCBlbnN1cmUgdGhhdCBpdCdzIGhvbm9yZWQuCi0gbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gJzIwMTQtMDEtMDEnOwotIGlzKCRwYXJzZXItPmRldmlzZV9kYXRlLCAnMjAxNC0wMS0wMScsICdkZXZpc2VfZGF0ZSBob25vcnMgUE9EX01BTl9EQVRFJyk7Ci0rCi0rIyBDaGVjayB0aGF0IGFuIGVtcHR5IGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGhvbm9yZWQuCi0rbG9jYWwgJEVOVntQT0RfTUFOX0RBVEV9ID0gcXt9OwotK2lzKCRwYXJzZXItPmRldmlzZV9kYXRlLCBxe30sICdkZXZpc2VfZGF0ZSBob25vcnMgZW1wdHkgUE9EX01BTl9EQVRFJyk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi1waXBlLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ4ODU4ZDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tcGlwZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLUZyb20gNzY3MWQxMDFiYWE3NWQ3YTc5YmZiZDhjNzVjMTU5NWZiYjNmNTNiYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJ1c3MgQWxsYmVyeSA8cnJhQGNwYW4ub3JnPgotRGF0ZTogU2F0LCA3IEZlYiAyMDE1IDE5OjAzOjM0IC0wODAwCi1TdWJqZWN0OiBCZXR0ZXIgZXJyb3JzIGZvciBtYW4gcGFnZXMgZnJvbSBzdGFuZGFyZCBpbnB1dAotCi1bUG9kOjpNYW5dIEF0dGVtcHQgdG8gZGV0ZWN0IGlmIHRoZSBpbnB1dCBjYW1lIGZyb20gYSBwaXBlIGFuZAotdGhlcmVmb3JlIGhhcyBhIGNvbXBsZXRlbHkgdW5oZWxwZnVsIChhbmQgbm9ucmVwcm9kdWNpYmxlKSBzb3VyY2UgZmlsZQotbmFtZSwgYW5kIGRpYWdub3NlIHRoaXMgYXMgYW4gZXJyb3IuICBEb2N1bWVudCB0aGF0IHRoZSBuYW1lIG9wdGlvbgotKC0tbmFtZSB0byBwb2QybWFuKSBpcyByZXF1aXJlZCB3aGVuIHByb2Nlc3NpbmcgUE9EIHNvdXJjZSBmcm9tCi1zdGFuZGFyZCBpbnB1dC4gIChEZWJpYW4gQnVnIzc3NzQwNSkKLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPWQ5ODg3MmU0NmM5Mzg2MWI3YWJhMTQ5NDllMTI1ODcxMjA4N2RjNTUKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc3NzQwNQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXBpcGUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAxNSArKysrKysrKysrKysrKysKLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAgNCArKysrCi0gY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudCAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA3NTUgY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggODk5N2ExNS4uOTY5ZWFmZiAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTgyOCw2ICs4MjgsMTcgQEAgc3ViIGRldmlzZV90aXRsZSB7Ci0gICAgICRzZWN0aW9uID0gMyBpZiAoISQkc2VsZntzZWN0aW9ufSAmJiAkbmFtZSA9fiAvXC5wbVx6L2kpOwotICAgICAkbmFtZSA9fiBzL1wucChvZHxbbG1dKVx6Ly9pOwotIAotKyAgICAjIElmIFBvZDo6UGFyc2VyIGdhdmUgdXMgYW4gSU86OkZpbGUgcmVmZXJlbmNlIGFzIHRoZSBzb3VyY2UgZmlsZSBuYW1lLAotKyAgICAjIGNvbnZlcnQgdGhhdCB0byB0aGUgZW1wdHkgc3RyaW5nIGFzIHdlbGwuICBUaGVuLCBpZiB3ZSBkb24ndCBoYXZlIGEKLSsgICAgIyB2YWxpZCBuYW1lLCBlbWl0IGEgd2FybmluZyBhbmQgY29udmVydCBpdCB0byBTVERJTi4KLSsgICAgaWYgKCRuYW1lID1+IC9eSU86OkZpbGUoPzo9XHcrKVwoMHhbXGRhLWZdK1wpJC9pKSB7Ci0rICAgICAgICAkbmFtZSA9ICcnOwotKyAgICB9Ci0rICAgIGlmICgkbmFtZSBlcSAnJykgewotKyAgICAgICAgJHNlbGYtPndoaW5lICgxLCAnTm8gbmFtZSBnaXZlbiBmb3IgZG9jdW1lbnQnKTsKLSsgICAgICAgICRuYW1lID0gJ1NURElOJzsKLSsgICAgfQotKwotICAgICAjIElmIHRoZSBzZWN0aW9uIGlzbid0IDMsIHRoZW4gdGhlIG5hbWUgZGVmYXVsdHMgdG8ganVzdCB0aGUgYmFzZW5hbWUgb2YKLSAgICAgIyB0aGUgZmlsZS4gIE90aGVyd2lzZSwgYXNzdW1lIHdlJ3JlIGRlYWxpbmcgd2l0aCBhIG1vZHVsZS4gIFdlIHdhbnQgdG8KLSAgICAgIyBmaWd1cmUgb3V0IHRoZSBmdWxsIG1vZHVsZSBuYW1lIGZyb20gdGhlIHBhdGggdG8gdGhlIGZpbGUsIGJ1dCB3ZSBkb24ndAotQEAgLTE3MDUsNiArMTcxNiwxMCBAQCBtb2R1bGUgcGF0aC4gIElmIGl0IGlzLCBhIHBhdGggbGlrZSBDPC4uLi9saWIvUG9kL01hbi5wbT4gaXMgY29udmVydGVkIGludG8KLSBhIG5hbWUgbGlrZSBDPFBvZDo6TWFuPi4gIFRoaXMgb3B0aW9uLCBpZiBnaXZlbiwgb3ZlcnJpZGVzIGFueSBhdXRvbWF0aWMKLSBkZXRlcm1pbmF0aW9uIG9mIHRoZSBuYW1lLgotIAotK0lmIGdlbmVyYXRpbmcgYSBtYW51YWwgcGFnZSBmcm9tIHN0YW5kYXJkIGlucHV0LCB0aGlzIG9wdGlvbiBpcyByZXF1aXJlZCwKLStzaW5jZSB0aGVyZSdzIG90aGVyd2lzZSBubyB3YXkgZm9yIFBvZDo6TWFuIHRvIGtub3cgd2hhdCB0byB1c2UgZm9yIHRoZQotK21hbnVhbCBwYWdlIG5hbWUuCi0rCi0gPWl0ZW0gbm91cmxzCi0gCi0gTm9ybWFsbHksIExaPD48PiBmb3JtYXR0aW5nIGNvZGVzIHdpdGggYSBVUkwgYnV0IGFuY2hvciB0ZXh0IGFyZSBmb3JtYXR0ZWQKLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgYi9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLWluZGV4IDM4Njk1ZjguLjQzZTM1ZGYgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotQEAgLTIzNiw2ICsyMzYsMTAgQEAgTm90ZSB0aGF0IHRoaXMgb3B0aW9uIGlzIHByb2JhYmx5IG5vdCB1c2VmdWwgd2hlbiBjb252ZXJ0aW5nIG11bHRpcGxlIFBPRAotIGZpbGVzIGF0IG9uY2UuICBUaGUgY29udmVudGlvbiBmb3IgVW5peCBtYW4gcGFnZXMgZm9yIGNvbW1hbmRzIGlzIGZvciB0aGUKLSBtYW4gcGFnZSB0aXRsZSB0byBiZSBpbiBhbGwtdXBwZXJjYXNlIGV2ZW4gaWYgdGhlIGNvbW1hbmQgaXNuJ3QuCi0gCi0rV2hlbiBjb252ZXJ0aW5nIFBPRCBzb3VyY2UgZnJvbSBzdGFuZGFyZCBpbnB1dCwgdGhpcyBvcHRpb24gaXMgcmVxdWlyZWQsCi0rc2luY2UgdGhlcmUncyBvdGhlcndpc2Ugbm8gd2F5IHRvIGtub3cgd2hhdCB0byB1c2UgYXMgdGhlIG5hbWUgb2YgdGhlCi0rbWFudWFsIHBhZ2UuCi0rCi0gPWl0ZW0gQjwtLW5vdXJscz4KLSAKLSBOb3JtYWxseSwgTFo8Pjw+IGZvcm1hdHRpbmcgY29kZXMgd2l0aCBhIFVSTCBidXQgYW5jaG9yIHRleHQgYXJlIGZvcm1hdHRlZAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLXRpdGxlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS10aXRsZS50Ci1uZXcgZmlsZSBtb2RlIDEwMDc1NQotaW5kZXggMDAwMDAwMC4uODYzOTQ0MQotLS0tIC9kZXYvbnVsbAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvdC9kZXZpc2UtdGl0bGUudAotQEAgLTAsMCArMSwzMiBAQAotKyMhL3Vzci9iaW4vcGVybAotKyMKLSsjIFRlc3RzIGZvciB0aGUgYXV0b21hdGljIGRldGVybWluYXRpb24gb2YgdGhlIG1hbnVhbCBwYWdlIHRpdGxlIGlmIG5vdAotKyMgc3BlY2lmaWVkIHZpYSBvcHRpb25zIHRvIHBvZDJtYW4gb3IgdGhlIFBvZDo6TWFuIGNvbnN0cnVjdG9yLgotKwotK3VzZSA1LjAwNjsKLSt1c2Ugc3RyaWN0OwotK3VzZSB3YXJuaW5nczsKLSsKLSt1c2UgRmlsZTo6U3BlYzsKLSt1c2UgSU86OkZpbGU7Ci0rdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMzsKLSsKLStCRUdJTiB7Ci0rICAgIHVzZV9vaygnUG9kOjpNYW4nKTsKLSt9Ci0rCi0rIyBDcmVhdGUgYSBwYXJzZXIgYW5kIHNldCBpdCB1cCB3aXRoIGFuIGlucHV0IHNvdXJjZS4gIFRoZXJlIGlzbid0IGEgd2F5IHRvIGRvCi0rIyB0aGlzIGluIFBvZDo6U2ltcGxlIHdpdGhvdXQgYWN0dWFsbHkgcGFyc2luZyB0aGUgZG9jdW1lbnQsIHNvIHNlbmQgdGhlCi0rIyBvdXRwdXQgdG8gYSBzdHJpbmcgdGhhdCB3ZSdsbCBpZ25vcmUuCi0rbXkgJHBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoJ3QnLCAnZGF0YScsICdiYXNpYy5wb2QnKTsKLStteSAkaGFuZGxlID0gSU86OkZpbGUtPm5ldygkcGF0aCwgJ3InKTsKLStteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldyhlcnJvcnMgPT4gJ3BvZCcpOwotK215ICRvdXRwdXQ7Ci0rJHBhcnNlci0+b3V0cHV0X3N0cmluZyhcJG91dHB1dCk7Ci0rJHBhcnNlci0+cGFyc2VfZmlsZSgkaGFuZGxlKTsKLSsKLSsjIENoZWNrIHRoZSByZXN1bHRzIG9mIGRldmlzZV90aXRsZSBmb3IgdGhpcy4gIFdlIHNob3VsZCBnZXQgYmFjayBTVERJTiwgYW5kCi0rIyB3ZSBzaG91bGQgaGF2ZSByZXBvcnRlZCBhbiBlcnJvci4KLStteSAoJG5hbWUsICRzZWN0aW9uKSA9ICRwYXJzZXItPmRldmlzZV90aXRsZTsKLStpcygkbmFtZSwgJ1NURElOJywgJ2RldmlzZV90aXRsZSB1c2VzIFNURElOIGZvciBmaWxlIGhhbmRsZSBpbnB1dCcpOwotK29rKCRwYXJzZXItPmVycm9yc19zZWVuLCAnLi4uYW5kIGVycm9ycyB3ZXJlIHNlZW4nKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMtZG9jcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNmFlNDA5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vZml4ZXMvcG9kbWFuLXV0Yy1kb2NzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIDYxOTg4NTZiNTMyM2Q2MjA0MDk0MjkzZjAxYjg5MDQ3MjYxOGYxODIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4KLURhdGU6IFdlZCwgMTUgQXByIDIwMTUgMjA6NDk6MDcgLTA3MDAKLVN1YmplY3Q6IERvY3VtZW50YXRpb24gYW5kIHRlc3Qgc3VpdGUgdXBkYXRlcyBmb3IgVVRDIGZpeAotCi1VcGRhdGUgdGhlIFBvZDo6TWFuIGFuZCBwb2QybWFuIGRvY3VtZW50YXRpb24gYW5kIHRoZSB0ZXN0IHN1aXRlCi1mb3IgdGhlIG5ldyBVVEMtYmFzZWQgZGVmYXVsdCBwYWdlIGZvb3RlciwgYW5kIGFkZCBhIENoYW5nZXMKLWVudHJ5LgotCi0oYmFja3BvcnRlZCB0byBQZXJsIDUuMjAuMiBieSBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+KQotCi1PcmlnaW46IHVwc3RyZWFtLCBodHRwOi8vZ2l0LmV5cmllLm9yZy8/cD1wZXJsL3BvZGxhdG9ycy5naXQ7YT1jb21taXRkaWZmO2g9NTJkYjkzYmY4MGU0YTA2Zjg0OTdlNGViYWRlMDUwNmI2ZWUwZTcwZAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgwMjU5Ci1QYXRjaC1OYW1lOiBmaXhlcy9wb2RtYW4tdXRjLWRvY3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbSAgICAgfCAgNiArKysrKy0KLSBjcGFuL3BvZGxhdG9ycy9zY3JpcHRzL3BvZDJtYW4uUEwgfCAxMSArKysrKystLS0tLQotIGNwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudCAgICB8ICAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggYzNiYTIwMS4uMzY1ODkyZSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw2ICs5MTAsOCBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0rICAgICMgVXNlIGdtdGltZSBpbnN0ZWFkIG9mIGxvY2FsdGltZSBzbyB0aGF0IHRoZSBnZW5lcmF0ZWQgbWFuIHBhZ2UgZG9lcyBub3QKLSsgICAgIyBkZXBlbmQgb24gdGhlIGxvY2FsIHRpbWUgem9uZSBzZXR0aW5nIGFuZCBpcyBtb3JlIHJlcHJvZHVjaWJsZQotICAgICBteSAoJHllYXIsICRtb250aCwgJGRheSkgPSAoZ210aW1lKCR0aW1lKSlbNSw0LDNdOwotICAgICByZXR1cm4gc3ByaW50ZigiJTA0ZC0lMDJkLSUwMmQiLCAkeWVhciArIDE5MDAsICRtb250aCArIDEsICRkYXkpOwotIH0KLUBAIC0xNjU2LDcgKzE2NTgsOSBAQCBlbnZpcm9ubWVudCB2YXJpYWJsZSBQT0RfTUFOX0RBVEUsIGlmIHNldCwgd2lsbCBiZSB1c2VkLiAgRmFpbGluZyB0aGF0LAotIHRoZSBtb2RpZmljYXRpb24gZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IHRpbWUKLSBpZiBzdGF0KCkgY2FuJ3QgZmluZCB0aGF0IGZpbGUgKHdoaWNoIHdpbGwgYmUgdGhlIGNhc2UgaWYgdGhlIGlucHV0IGlzCi0gZnJvbSBDPFNURElOPikuICBJZiBvYnRhaW5lZCBmcm9tIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiBkYXRlIG9yIHRoZQotLWN1cnJlbnQgdGltZSwgaGUgZGF0ZSB3aWxsIGJlIGZvcm1hdHRlZCBhcyBDPFlZWVktTU0tREQ+LgotK2N1cnJlbnQgdGltZSwgdGhlIGRhdGUgd2lsbCBiZSBmb3JtYXR0ZWQgYXMgQzxZWVlZLU1NLUREPiBhbmQgd2lsbCBiZSBiYXNlZAotK29uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0IHdpbGwgYmUgcmVwcm9kdWNpYmxlIHJlZ2FyZGxlc3Mgb2YgbG9jYWwgdGltZQotK3pvbmUpLgotIAotID1pdGVtIGVycm9ycwotIAotZGlmZiAtLWdpdCBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBiL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotaW5kZXggNmFmMzQ3NC4uMzg2OTVmOCAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTAotKysrIGIvY3Bhbi9wb2RsYXRvcnMvc2NyaXB0cy9wb2QybWFuLlBMCi1AQCAtMTc0LDkgKzE3NCwxMCBAQCBDb250cmlidXRlZCBQZXJsIERvY3VtZW50YXRpb24iLCBidXQgYWxzbyBzZWUgQjwtLW9mZmljaWFsPiBiZWxvdy4KLSAKLSA9aXRlbSBCPC1kPiBJPHN0cmluZz4sIEI8LS1kYXRlPj1JPHN0cmluZz4KLSAKLS1TZXQgdGhlIGxlZnQtaGFuZCBmb290ZXIgc3RyaW5nIHRvIHRoaXMgdmFsdWUuICBCeSBkZWZhdWx0LCB0aGUgbW9kaWZpY2F0aW9uCi0tZGF0ZSBvZiB0aGUgaW5wdXQgZmlsZSB3aWxsIGJlIHVzZWQsIG9yIHRoZSBjdXJyZW50IGRhdGUgaWYgaW5wdXQgY29tZXMgZnJvbQotLUM8U1RESU4+LgotK1NldCB0aGUgbGVmdC1oYW5kIGZvb3RlciBzdHJpbmcgdG8gdGhpcyB2YWx1ZS4gIEJ5IGRlZmF1bHQsIHRoZQotK21vZGlmaWNhdGlvbiBkYXRlIG9mIHRoZSBpbnB1dCBmaWxlIHdpbGwgYmUgdXNlZCwgb3IgdGhlIGN1cnJlbnQgZGF0ZSBpZgotK2lucHV0IGNvbWVzIGZyb20gQzxTVERJTj4sIGFuZCB3aWxsIGJlIGJhc2VkIG9uIFVUQyAoc28gdGhhdCB0aGUgb3V0cHV0Ci0rd2lsbCBiZSByZXByb2R1Y2libGUgcmVnYXJkbGVzcyBvZiBsb2NhbCB0aW1lIHpvbmUpLgotIAotID1pdGVtIEI8LWVycm9ycz49STxzdHlsZT4KLSAKLUBAIC0zODMsOCArMzg0LDggQEAgQjxwb2QybWFuPiBieSBMYXJyeSBXYWxsIGFuZCBUb20gQ2hyaXN0aWFuc2VuLgotIAotID1oZWFkMSBDT1BZUklHSFQgQU5EIExJQ0VOU0UKLSAKLS1Db3B5cmlnaHQgMTk5OSwgMjAwMCwgMjAwMSwgMjAwNCwgMjAwNiwgMjAwOCwgMjAxMCwgMjAxMiwgMjAxMyBSdXNzCi0tQWxsYmVyeSA8cnJhQHN0YW5mb3JkLmVkdT4uCi0rQ29weXJpZ2h0IDE5OTksIDIwMDAsIDIwMDEsIDIwMDQsIDIwMDYsIDIwMDgsIDIwMTAsIDIwMTIsIDIwMTMsIDIwMTQsCi0rMjAxNSBSdXNzIEFsbGJlcnkgPHJyYUBjcGFuLm9yZz4uCi0gCi0gVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBtYXkgcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSB1bmRlciB0aGUgc2FtZSB0ZXJtcyBhcyBQZXJsIGl0c2VsZi4KLWRpZmYgLS1naXQgYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQgYi9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLWluZGV4IGM2MTBkZDkuLjlkYTlkMWIgMTAwNjQ0Ci0tLS0gYS9jcGFuL3BvZGxhdG9ycy90L2RldmlzZS1kYXRlLnQKLSsrKyBiL2NwYW4vcG9kbGF0b3JzL3QvZGV2aXNlLWRhdGUudAotQEAgLTE5LDcgKzE5LDcgQEAgdXNlIFRlc3Q6Ok1vcmUgdGVzdHMgPT4gMjsKLSBteSAkcGFyc2VyID0gUG9kOjpNYW4tPm5ldzsKLSBpcygKLSAgICAgJHBhcnNlci0+ZGV2aXNlX2RhdGUsCi0tICAgIHN0cmZ0aW1lKCclWS0lbS0lZCcsIGxvY2FsdGltZSgpKSwKLSsgICAgc3RyZnRpbWUoJyVZLSVtLSVkJywgZ210aW1lKCkpLAotICAgICAnZGV2aXNlX2RhdGUgbWF0Y2hlcyBzdHJmdGltZScKLSApOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9wb2RtYW4tdXRjLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZiN2MyMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3BvZG1hbi11dGMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gYzc5Njc3NWNkYmQyY2NlMDZhY2JiN2FjMzU1MTg3ZDQwNjMwMTdhMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExhbWIgPGxhbWJ5QGRlYmlhbi5vcmc+Ci1EYXRlOiBXZWQsIDE1IEFwciAyMDE1IDIwOjQyOjUzIC0wNzAwCi1TdWJqZWN0OiBNYWtlIHRoZSBlbWJlZGRlZCBkYXRlIGZyb20gUG9kOjpNYW4gcmVwcm9kdWNpYmxlCi0KLVdoaWxlIHdvcmtpbmcgb24gdGhlICJyZXByb2R1Y2libGUgYnVpbGRzIiBlZmZvcnQsIHdlIGhhdmUgbm90aWNlZAotdGhhdCBQb2Q6Ok1hbiBnZW5lcmF0ZXMgb3V0cHV0IHRoYXQgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAotdGltZXpvbmUuCi0KLVRoZSBhdHRhY2hlZCBwYXRjaCBmaXhlcyB0aGlzIGJ5IHVzaW5nIEdNVCAoflVUQykgZGF0ZXMgaW5zdGVhZC4KLQotKGJhY2twb3J0ZWQgdG8gUGVybCA1LjIwLjIgYnkgTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPikKLQotT3JpZ2luOiB1cHN0cmVhbSwgaHR0cDovL2dpdC5leXJpZS5vcmcvP3A9cGVybC9wb2RsYXRvcnMuZ2l0O2E9Y29tbWl0ZGlmZjtoPTkxM2ZiYjJiZDJjZTA3MWUyMDEyODYyOTMwMmFlMjg1MjU1NGNhZDQKLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc4MDI1OQotUGF0Y2gtTmFtZTogZml4ZXMvcG9kbWFuLXV0Yy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9wb2RsYXRvcnMvbGliL1BvZC9NYW4ucG0gYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotaW5kZXggMDUzNjY2Mi4uYzNiYTIwMSAxMDA2NDQKLS0tLSBhL2NwYW4vcG9kbGF0b3JzL2xpYi9Qb2QvTWFuLnBtCi0rKysgYi9jcGFuL3BvZGxhdG9ycy9saWIvUG9kL01hbi5wbQotQEAgLTkxMCw3ICs5MTAsNyBAQCBzdWIgZGV2aXNlX2RhdGUgewotIAotICAgICAjIENhbid0IHVzZSBQT1NJWDo6c3RyZnRpbWUoKSwgd2hpY2ggdXNlcyBGY250bCwgYmVjYXVzZSBNYWtlTWFrZXIgdXNlcwotICAgICAjIHRoaXMgYW5kIGl0IGhhcyB0byB3b3JrIGluIHRoZSBjb3JlIHdoaWNoIGNhbid0IGxvYWQgZHluYW1pYyBsaWJyYXJpZXMuCi0tICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChsb2NhbHRpbWUoJHRpbWUpKVs1LDQsM107Ci0rICAgIG15ICgkeWVhciwgJG1vbnRoLCAkZGF5KSA9IChnbXRpbWUoJHRpbWUpKVs1LDQsM107Ci0gICAgIHJldHVybiBzcHJpbnRmKCIlMDRkLSUwMmQtJTAyZCIsICR5ZWFyICsgMTkwMCwgJG1vbnRoICsgMSwgJGRheSk7Ci0gfQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9maXhlcy9yZXNwZWN0X3VtYXNrLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzg2NjNmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDE1NCArMCwwIEBACi1Gcm9tIGQ5ZDUzNWVmOTdmNTdhZjZlOTcyODA3NTk0NGMzM2YzYjBiNTM3MmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogUmVzcGVjdCB1bWFzayBkdXJpbmcgaW5zdGFsbGF0aW9uCi0KLVRoaXMgaXMgbmVlZGVkIHRvIHNhdGlzZnkgRGViaWFuIHBvbGljeSByZWdhcmRpbmcgZ3JvdXAtd3JpdGFibGUKLXNpdGUgZGlyZWN0b3JpZXMuCi0KLVBhdGNoLU5hbWU6IGZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLUluc3RhbGwvbGliL0V4dFV0aWxzL0luc3RhbGwucG0gICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbSBiL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotaW5kZXggMWU4YWM0Yy4uM2U3OTEyMSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtSW5zdGFsbC9saWIvRXh0VXRpbHMvSW5zdGFsbC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1JbnN0YWxsL2xpYi9FeHRVdGlscy9JbnN0YWxsLnBtCi1AQCAtNDUxLDcgKzQ1MSw3IEBAIHN1YiBfY2FuX3dyaXRlX2RpciB7Ci0gCi0gPXBvZAotIAotLT1pdGVtIF9ta3BhdGgoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bikKLSs9aXRlbSBfbWtwYXRoKCRkaXIsJHNob3csJHZlcmJvc2UsJGRyeV9ydW4pCi0gCi0gV3JhcHBlciBhcm91bmQgRmlsZTo6UGF0aDo6bWtwYXRoKCkgdG8gaGFuZGxlIGVycm9ycy4KLSAKLUBAIC00NjgsMTMgKzQ2OCwxMyBAQCB3cml0YWJsZS4KLSA9Y3V0Ci0gCi0gc3ViIF9ta3BhdGggewotLSAgICBteSAoJGRpciwkc2hvdywkbW9kZSwkdmVyYm9zZSwkZHJ5X3J1bik9QF87Ci0rICAgIG15ICgkZGlyLCRzaG93LCR2ZXJib3NlLCRkcnlfcnVuKT1AXzsKLSAgICAgaWYgKCAkdmVyYm9zZSAmJiAkdmVyYm9zZSA+IDEgJiYgISAtZCAkZGlyKSB7Ci0gICAgICAgICAkc2hvdz0gMTsKLS0gICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkLCUjbylcbiIsICRkaXIsICRzaG93LCAkbW9kZTsKLSsgICAgICAgIHByaW50ZiAibWtwYXRoKCVzLCVkKVxuIiwgJGRpciwgJHNob3c7Ci0gICAgIH0KLSAgICAgaWYgKCEkZHJ5X3J1bikgewotLSAgICAgICAgaWYgKCAhIGV2YWwgeyBGaWxlOjpQYXRoOjpta3BhdGgoJGRpciwkc2hvdywkbW9kZSk7IDEgfSApIHsKLSsgICAgICAgIGlmICggISBldmFsIHsgRmlsZTo6UGF0aDo6bWtwYXRoKCRkaXIsJHNob3cpOyAxIH0gKSB7Ci0gICAgICAgICAgICAgX2Nob2tlKCJDYW4ndCBjcmVhdGUgJyRkaXInIiwiJEAiKTsKLSAgICAgICAgIH0KLSAKLUBAIC03ODMsNyArNzgzLDcgQEAgc3ViIGluc3RhbGwgeyAjWFhYIE9TLVNQRUNJRklDCi0gICAgICAgICBfY2hkaXIoJGN3ZCk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkdGFyZ2V0ZGlyIChzb3J0IGtleXMgJWNoZWNrX2RpcnMpIHsKLS0gICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgIH0KLSAgICAgZm9yZWFjaCBteSAkZm91bmQgKEBmb3VuZF9maWxlcykgewotICAgICAgICAgbXkgKCRkaWZmLCAkZmZkLCAkb3JpZ2ZpbGUsICRtb2RlLCAkc2l6ZSwgJGF0aW1lLCAkbXRpbWUsCi1AQCAtNzk3LDcgKzc5Nyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotICAgICAgICAgICAgICAgICAgICAgJHRhcmdldGZpbGU9IF91bmxpbmtfb3JfcmVuYW1lKCAkdGFyZ2V0ZmlsZSwgJ3RyeWhhcmQnLCAnaW5zdGFsbCcgKQotICAgICAgICAgICAgICAgICAgICAgICAgIHVubGVzcyAkZHJ5X3J1bjsKLSAgICAgICAgICAgICAgICAgfSBlbHNpZiAoICEgLWQgJHRhcmdldGRpciApIHsKLS0gICAgICAgICAgICAgICAgICAgIF9ta3BhdGgoICR0YXJnZXRkaXIsIDAsIDA3NTUsICR2ZXJib3NlLCAkZHJ5X3J1biApOwotKyAgICAgICAgICAgICAgICAgICAgX21rcGF0aCggJHRhcmdldGRpciwgMCwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgcHJpbnQgIkluc3RhbGxpbmcgJHRhcmdldGZpbGVcbiI7Ci0gCi1AQCAtODM3LDcgKzgzNyw3IEBAIHN1YiBpbnN0YWxsIHsgI1hYWCBPUy1TUEVDSUZJQwotIAotICAgICBpZiAoJHBhY2t7J3dyaXRlJ30pIHsKLSAgICAgICAgICRkaXIgPSBpbnN0YWxsX3Jvb3RlZF9kaXIoZGlybmFtZSgkcGFja3snd3JpdGUnfSkpOwotLSAgICAgICAgX21rcGF0aCggJGRpciwgMCwgMDc1NSwgJHZlcmJvc2UsICRkcnlfcnVuICk7Ci0rICAgICAgICBfbWtwYXRoKCAkZGlyLCAwLCAkdmVyYm9zZSwgJGRyeV9ydW4gKTsKLSAgICAgICAgIHByaW50ICJXcml0aW5nICRwYWNreyd3cml0ZSd9XG4iIGlmICR2ZXJib3NlOwotICAgICAgICAgJHBhY2tsaXN0LT53cml0ZShpbnN0YWxsX3Jvb3RlZF9maWxlKCRwYWNreyd3cml0ZSd9KSkgdW5sZXNzICRkcnlfcnVuOwotICAgICB9Ci1AQCAtMTE4MCw3ICsxMTgwLDcgQEAgZW52aXJvbm1lbnQgdmFyaWFibGUgd2lsbCBzaWxlbmNlIHRoaXMgb3V0cHV0LgotIHN1YiBwbV90b19ibGliIHsKLSAgICAgbXkoJGZyb210bywkYXV0b2RpciwkcG1fZmlsdGVyKSA9IEBfOwotIAotLSAgICBfbWtwYXRoKCRhdXRvZGlyLDAsMDc1NSk7Ci0rICAgIF9ta3BhdGgoJGF1dG9kaXIsMCk7Ci0gICAgIHdoaWxlKG15KCRmcm9tLCAkdG8pID0gZWFjaCAlJGZyb210bykgewotICAgICAgICAgaWYoIC1mICR0byAmJiAtcyAkZnJvbSA9PSAtcyAkdG8gJiYgLU0gJHRvIDwgLU0gJGZyb20gKSB7Ci0gICAgICAgICAgICAgcHJpbnQgIlNraXAgJHRvICh1bmNoYW5nZWQpXG4iIHVubGVzcyAkSU5TVEFMTF9RVUlFVDsKLUBAIC0xMjAzLDcgKzEyMDMsNyBAQCBzdWIgcG1fdG9fYmxpYiB7Ci0gICAgICAgICAgICAgIyB3ZSB3b250IHRyeSBoYXJkIGhlcmUuIGl0cyB0b28gbGlrZWx5IHRvIG1lc3MgdGhpbmdzIHVwLgotICAgICAgICAgICAgIGZvcmNldW5saW5rKCR0byk7Ci0gICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgIF9ta3BhdGgoZGlybmFtZSgkdG8pLDAsMDc1NSk7Ci0rICAgICAgICAgICAgX21rcGF0aChkaXJuYW1lKCR0byksMCk7Ci0gICAgICAgICB9Ci0gICAgICAgICBpZiAoJG5lZWRfZmlsdGVyaW5nKSB7Ci0gICAgICAgICAgICAgcnVuX2ZpbHRlcigkcG1fZmlsdGVyLCAkZnJvbSwgJHRvKTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCBmNjMxNDVjLi4xOTdmMTAyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMjExOCw3ICsyMTE4LDcgQEAgZG9jX19pbnN0YWxsIDogZG9jX3NpdGVfaW5zdGFsbAotIAkkKE5PRUNITykgJChFQ0hPKSBJTlNUQUxMRElSUyBub3QgZGVmaW5lZCwgZGVmYXVsdGluZyB0byBJTlNUQUxMRElSUz1zaXRlCi0gCi0gcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKE1PRF9JTlNUQUxMKSBcCi0rCSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotIAotICAgICBwdXNoIEBtLAotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotQEAgLTIxNTYsNyArMjE1Niw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSAJCSJ9LiRzZWxmLT5jYXRkaXIoJyQoUEVSTF9BUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJykucXsiCi0gCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSsJJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotIH07Ci0gICAgIHB1c2ggQG0sCi0gcXsJCXJlYWQgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi1AQCAtMjE4OCw4ICsyMTg4LDggQEAgZG9jX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotICAgICBwdXNoIEBtLCBxewotIGRvY19wZXJsX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExQUklWTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotKwktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKERPQ19JTlNUQUxMKSBcCi0gCQkiTW9kdWxlIiAiJChOQU1FKSIgXAotIAkJImluc3RhbGxlZCBpbnRvIiAkKElOU1RBTExTSVRFTElCKSBcCi0gCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLUBAIC0yMjEwLDggKzIyMTAsOCBAQCBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSAkKERPQ19JTlNUQUxMKSBcCi0rCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFZFTkRPUkxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2luc3Rtb2RzaF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZTFmZDY5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vaW5zdG1vZHNoX2RvYy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSAyNjIwOWI1NTIwMWExYjJkMjUyNTJhYzNiNDI1YmM0OTA4MTI5OWRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IERlYmlhbiBwb2xpY3kgZG9lc24ndCBpbnN0YWxsIC5wYWNrbGlzdCBmaWxlcyBmb3IgY29yZSBvciB2ZW5kb3IuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaCB8IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2Jpbi9pbnN0bW9kc2ggYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9iaW4vaW5zdG1vZHNoCi1pbmRleCA4YjlhYTk1Li5lNTUxNDM0IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvYmluL2luc3Rtb2RzaAotQEAgLTE4LDkgKzE4LDExIEBAIGluc3Rtb2RzaCAtIEEgc2hlbGwgdG8gZXhhbWluZSBpbnN0YWxsZWQgbW9kdWxlcwotIAotID1oZWFkMSBERVNDUklQVElPTgotIAotLUEgbGl0dGxlIGludGVyZmFjZSB0byBFeHRVdGlsczo6SW5zdGFsbGVkIHRvIGV4YW1pbmUgaW5zdGFsbGVkIG1vZHVsZXMsCi0rQSBsaXR0bGUgaW50ZXJmYWNlIHRvIEV4dFV0aWxzOjpJbnN0YWxsZWQgdG8gZXhhbWluZSBsb2NhbGx5KiBpbnN0YWxsZWQgbW9kdWxlcywKLSB2YWxpZGF0ZSB5b3VyIHBhY2tsaXN0cyBhbmQgZXZlbiBjcmVhdGUgYSB0YXJiYWxsIGZyb20gYW4gaW5zdGFsbGVkIG1vZHVsZS4KLSAKLSsqT24gRGViaWFuIHN5c3RlbSwgQjxjb3JlPiBhbmQgQjx2ZW5kb3I+IG1vZHVsZXMgYXJlIG1hbmFnZWQgYnkgQzxkcGtnPi4KLSsKLSA9aGVhZDEgU0VFIEFMU08KLSAKLSBFeHRVdGlsczo6SW5zdGFsbGVkCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xkX3J1bl9wYXRoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZmMGIyODcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9sZF9ydW5fcGF0aC5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSA1M2NlNjkwODU5MTgyMzJhMWI3ZTI2ZTc3NjJjMWIyZjcwYjFlYjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDE4IE1hciAyMDA1IDIyOjIyOjI1ICsxMTAwCi1TdWJqZWN0OiBSZW1vdmUgc3RhbmRhcmQgbGlicyBmcm9tIExEX1JVTl9QQVRIIGFzIHBlciBEZWJpYW4gcG9saWN5LgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vbGRfcnVuX3BhdGguZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0gfCAzICsrKwotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotaW5kZXggMzdiY2ZkNC4uYmQ2NmU2NSAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtCi1AQCAtNTYsNiArNTYsOSBAQCBzdWIgX3VuaXhfb3MyX2V4dCB7Ci0gICAgIG15ICggJHB3ZCApICAgPSBjd2QoKTsgICAgIyBmcm9tIEN3ZC5wbQotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSsgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0rCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKLSAgICAgICAgIG15ICggJGN1c3RvbV9uYW1lICkgPSAnJzsKLSAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNTM0NzQyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlibmV0X2NvbmZpZ19wYXRoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1Gcm9tIGE3ZjZkNDUzZTYwMjU2ZDMyOTQ2OWE3NWI2NDJjY2E4NTRjZWJlYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogU2V0IGxvY2F0aW9uIG9mIGxpYm5ldC5jZmcgdG8gL2V0Yy9wZXJsL05ldCBhcyAvdXNyIG1heSBub3QgYmUKLSB3cml0YWJsZS4KLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYm5ldF9jb25maWdfcGF0aC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIHwgNyArKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vbGlibmV0L2xpYi9OZXQvQ29uZmlnLnBtIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLWluZGV4IDk1M2E4MjYuLjYxYmExMmEgMTAwNjQ0Ci0tLS0gYS9jcGFuL2xpYm5ldC9saWIvTmV0L0NvbmZpZy5wbQotKysrIGIvY3Bhbi9saWJuZXQvbGliL05ldC9Db25maWcucG0KLUBAIC02OCw5ICs2OCw4IEBAIG15ICVuYyA9ICgKLSBUUllfSU5URVJORVRfQ09ORklHCi0gfQotIAotLW15ICRmaWxlID0gX19GSUxFX187Ci0rbXkgJGZpbGUgPSAnL2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnJzsKLSBteSAkcmVmOwotLSRmaWxlID1+IHMvQ29uZmlnLnBtL2xpYm5ldC5jZmcvOwotIGlmICgtZiAkZmlsZSkgewotICAgJHJlZiA9IGV2YWwgeyBsb2NhbCAkU0lHe19fRElFX199OyBkbyAkZmlsZSB9OwotICAgaWYgKHJlZigkcmVmKSBlcSAnSEFTSCcpIHsKLUBAIC0xNDIsOCArMTQxLDggQEAgTmV0OjpDb25maWcgLSBMb2NhbCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIGxpYm5ldAotIEM8TmV0OjpDb25maWc+IGhvbGRzIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIG1vZHVsZXMgaW4gdGhlIGxpYm5ldAotIGRpc3RyaWJ1dGlvbi4gRHVyaW5nIGluc3RhbGxhdGlvbiB5b3Ugd2lsbCBiZSBhc2tlZCBmb3IgdGhlc2UgdmFsdWVzLgotIAotLVRoZSBjb25maWd1cmF0aW9uIGRhdGEgaXMgaGVsZCBnbG9iYWxseSBpbiBhIGZpbGUgaW4gdGhlIHBlcmwgaW5zdGFsbGF0aW9uCi0tdHJlZSwgYnV0IGEgdXNlciBtYXkgb3ZlcnJpZGUgYW55IG9mIHRoZXNlIHZhbHVlcyBieSBwcm92aWRpbmcgdGhlaXIgb3duLiBUaGlzCi0rVGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBpcyBoZWxkIGdsb2JhbGx5IGluIEM8L2V0Yy9wZXJsL05ldC9saWJuZXQuY2ZnPiwKLStidXQgYSB1c2VyIG1heSBvdmVycmlkZSBhbnkgb2YgdGhlc2UgdmFsdWVzIGJ5IHByb3ZpZGluZyB0aGVpciBvd24uIFRoaXMKLSBjYW4gYmUgZG9uZSBieSBoYXZpbmcgYSBDPC5saWJuZXRyYz4gZmlsZSBpbiB0aGVpciBob21lIGRpcmVjdG9yeS4gVGhpcyBmaWxlCi0gc2hvdWxkIHJldHVybiBhIHJlZmVyZW5jZSB0byBhIEhBU0ggY29udGFpbmluZyB0aGUga2V5cyBkZXNjcmliZWQgYmVsb3cuCi0gRm9yIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbGlicGVybF9lbWJlZF9kb2MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNkYzBkMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIGZiOGJkYmI0YmY1NjM4MmRlMDk5ZTYyYzI1NjQyODZiOWRmZGE0NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogTm90ZSB0aGF0IGxpYnBlcmwtZGV2IHBhY2thZ2UgaXMgcmVxdWlyZWQgZm9yIGVtYmVkZGVkIGxpbmtpbmcKLQotQnVnLURlYmlhbjogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy8xODY3NzgKLQotUGF0Y2gtTmFtZTogZGViaWFuL2xpYnBlcmxfZW1iZWRfZG9jLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL0V4dFV0aWxzL0VtYmVkLnBtIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWIvRXh0VXRpbHMvRW1iZWQucG0gYi9saWIvRXh0VXRpbHMvRW1iZWQucG0KLWluZGV4IDNmOTgzYzEuLjBlYzhhNjcgMTAwNjQ0Ci0tLS0gYS9saWIvRXh0VXRpbHMvRW1iZWQucG0KLSsrKyBiL2xpYi9FeHRVdGlscy9FbWJlZC5wbQotQEAgLTI5Niw2ICsyOTYsOSBAQCBhbmQgZXh0ZW5zaW9ucyBpbiB5b3VyIEMvQysrIGFwcGxpY2F0aW9ucy4KLSBUeXBpY2FsbHksIGFuIGFwcGxpY2F0aW9uIEY8TWFrZWZpbGU+IHdpbGwgaW52b2tlIEM8RXh0VXRpbHM6OkVtYmVkPgotIGZ1bmN0aW9ucyB3aGlsZSBidWlsZGluZyB5b3VyIGFwcGxpY2F0aW9uLiAgCi0gCi0rTm90ZSB0aGF0IG9uIERlYmlhbiBzeXN0ZW1zIHRoZSBCPGxpYnBlcmwtZGV2PiBwYWNrYWdlIGlzIHJlcXVpcmVkIGZvcgotK2NvbXBpbGluZyBhcHBsaWNhdGlvbnMgd2hpY2ggZW1iZWQgYW4gaW50ZXJwcmV0ZXIuCi0rCi0gPWhlYWQxIEBFWFBPUlQKLSAKLSBDPEV4dFV0aWxzOjpFbWJlZD4gZXhwb3J0cyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2NmMTI0Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL2xvY2FsZS1yb2J1c3RuZXNzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIDI4OWVhZjg3ZjhkZTRkOWViZmQ2NjFkNGU0Mjk5YzI5NTI0MzUyNDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDEwIEFwciAyMDE1IDEwOjE5OjUxICswMzAwCi1TdWJqZWN0OiBNYWtlIHQvcnVuL2xvY2FsZS50IHN1cnZpdmUgbWlzc2luZyBsb2NhbGVzIG1hc2tlZCBieSBMQ19BTEwKLQotSWYgTENfQUxMIGlzIHNldCB0byBhIHZhbGlkIGxvY2FsZSBidXQgYW5vdGhlciBMQ18qIHNldHRpbmcgbGlrZSBMQ19DVFlQRQotaXNuJ3QsIHQvcnVuL2xvY2FsZS50IHdvdWxkIGZhaWwgYmVjYXVzZSBpdCBleHBsaWNpdGx5IHVuc2V0cyBMQ19BTEwsCi11bm1hc2tpbmcgdGhlIHByb2JsZW0gdW5kZXJuZWF0aC4gQWxsIHRoZSBvdGhlciB0ZXN0cyBzdXJ2aXZlIHN1Y2gKLWEgc2NlbmFyaW8uCi0KLVdoaWxlIHRoaXMgaXMgY2xlYXJseSBhbiBlcnJvciBpbiB0aGUgYnVpbGQgZW52aXJvbm1lbnQsIGl0J3MgZWFzeSB0byBtYWtlCi10aGUgdGVzdCBtb3JlIHJvYnVzdCBieSBmaXJzdCBjbGVhcmluZyBhbGwgdGhlIGxvY2FsZSByZWxldmFudCB2YXJpYWJsZXMuCi0KLUJ1ZzogaHR0cHM6Ly9ydC5wZXJsLm9yZy9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTEyNDMxMAotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzgyMDY4Ci1QYXRjaC1OYW1lOiBkZWJpYW4vbG9jYWxlLXJvYnVzdG5lc3MuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3J1bi9sb2NhbGUudCB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90L3J1bi9sb2NhbGUudCBiL3QvcnVuL2xvY2FsZS50Ci1pbmRleCBiZDFhMDM0Li4yMTA1MzM5IDEwMDY0NAotLS0tIGEvdC9ydW4vbG9jYWxlLnQKLSsrKyBiL3QvcnVuL2xvY2FsZS50Ci1AQCAtMjcsNiArMjcsOSBAQCBteSBAbG9jYWxlcyA9IGV2YWwgeyBmaW5kX2xvY2FsZXMoIFsgJkxDX0FMTCwgJkxDX0NUWVBFLCAmTENfTlVNRVJJQyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfTsKLSBza2lwX2FsbCgibm8gbG9jYWxlcyBhdmFpbGFibGUiKSB1bmxlc3MgQGxvY2FsZXM7Ci0gCi0rIyByZXNldCB0aGUgbG9jYWxlIGVudmlyb25tZW50Ci0rbG9jYWwgQEVOVnsnTEFORycsIChncmVwIC9eTENfLywga2V5cyAlRU5WKX07Ci0rCi0gcGxhbiB0ZXN0cyA9PiAmbGFzdDsKLSAKLSBteSAkbm9uX0NfbG9jYWxlOwotQEAgLTU4LDkgKzYxLDYgQEAgRU9GCi0gU0tJUDogewotICAgICBza2lwKCJXaW5kb3dzIHN0b3JlcyBsb2NhbGUgZGVmYXVsdHMgaW4gdGhlIHJlZ2lzdHJ5IiwgMSApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgJF5PIGVxICdNU1dpbjMyJzsKLS0gICAgbG9jYWwgJEVOVntMQ19OVU1FUklDfTsgIyBTbyBub3QgdGFrZW4gYXMgYSBkZWZhdWx0Ci0tICAgIGxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotLSAgICBsb2NhbCAkRU5We0xBTkd9OyAgICMgU28gbm90IHRha2VuIGFzIGEgZGVmYXVsdAotICAgICBmcmVzaF9wZXJsX2lzKCJmb3IgKHF3KEBsb2NhbGVzKSkge1xuIiAuIDw8J0VPRicsCi0gICAgICAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotICAgICAgICAgdXNlIGxvY2FsZTsKLUBAIC0zNDgsNyArMzQ4LDYgQEAgRU9GCi0gCi0gICAgIHsKLSAJbG9jYWwgJEVOVntMQ19OVU1FUklDfSA9ICRkaWZmZXJlbnQ7Ci0tCWxvY2FsICRFTlZ7TENfQUxMfTsgIyBzbyBpdCBuZXZlciBvdmVycmlkZXMgTENfTlVNRVJJQwotIAlmcmVzaF9wZXJsX2lzKDw8IkVPRiIsCi0gCSAgICB1c2UgUE9TSVggcXcobG9jYWxlX2gpOwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tYWtlbWFrZXItcGFzdGhydS5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZjA3MTgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gNTkzZGQ1MmY1MzViMWY0MzlkZmQwYWZlNTIyMTFhZTg5NjBlOTgwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjQgQXVnIDIwMTQgMTI6NTY6MTEgLTA3MDAKLVN1YmplY3Q6IFBhc3MgTEQgc2V0dGluZ3MgdGhyb3VnaCB0byBzdWJkaXJlY3RvcmllcwotCi1bcnQuY3Bhbi5vcmcgIzI4NjMyXSBmaXhlZCBtb3N0IGlzc3VlcyB3aXRoIHBhc3NpbmcgTEQgZG93biB0bwotc3ViZGlyZWN0b3J5IE1ha2VmaWxlLlBMIGZpbGVzLiBIb3dldmVyLCB0aGVyZSBhcmUgc29tZSBkaXN0cmlidXRpb25zCi0oaW5jbHVkaW5nIFd4LCBQYXI6OlBhY2tlciwgYW5kIFZlcmlsb2ctUGVybCkgdGhhdCBleHBsaWNpdGx5IHNldAotTEQuIFRob3NlIHN0aWxsIGNhbid0IGJlIG92ZXJyaWRkZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lLiBBZGRpbmcgTEQgdG8KLXRoZSBQQVNUSFJVIGxpc3QgZml4ZXMgdGhpcy4KLQotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvNzU4NDcxCi1QYXRjaC1OYW1lOiBkZWJpYW4vbWFrZW1ha2VyLXBhc3RocnUuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IDRhOGUxNGMuLjU0OGQ5OGUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yNzkzLDcgKzI3OTMsNyBAQCBzdWIgcGFzdGhydSB7Ci0gICAgIG15KCRzZXApID0gJElze1ZNU30gPyAnLCcgOiAnJzsKLSAgICAgJHNlcCAuPSAiXFxcblx0IjsKLSAKLS0gICAgZm9yZWFjaCBteSAka2V5IChxdyhMSUIgTElCUEVSTF9BIExJTktUWVBFIE9QVElNSVpFCi0rICAgIGZvcmVhY2ggbXkgJGtleSAocXcoTElCIExJQlBFUkxfQSBMSU5LVFlQRSBPUFRJTUlaRSBMRAotICAgICAgICAgICAgICAgICAgICAgIFBSRUZJWCBJTlNUQUxMX0JBU0UpCi0gICAgICAgICAgICAgICAgICApCi0gICAgIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbWFrZW1ha2VyX2N1c3RvbWl6ZWQuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDg3MGI2MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL21ha2VtYWtlcl9jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIDYzNDQ0OTA2NmE5YzgxMGU4MTUwNjQyNWQyY2E5MjViMmZkNzJhYjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEb21pbmljIEhhcmdyZWF2ZXMgPGRvbUBlYXJ0aC5saT4KLURhdGU6IFNhdCwgMjMgTWF5IDIwMTUgMjE6MTU6MDYgKzAyMDAKLVN1YmplY3Q6IFVwZGF0ZSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgZm9yIGZpbGVzIHBhdGNoZWQgaW4gRGViaWFuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tYWtlbWFrZXJfY3VzdG9taXplZC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvcG9ydGluZy9jdXN0b21pemVkLmRhdCB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0IGIvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci1pbmRleCA3ZGYzOThkLi5mODU3YmQyIDEwMDY0NAotLS0tIGEvdC9wb3J0aW5nL2N1c3RvbWl6ZWQuZGF0Ci0rKysgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLUBAIC0xLDcgKzEsNyBAQAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0NvbW1hbmQvTU0ucG0gN2Y0ZGZkMGZlODg0YmQ0MjQxMmJjZjA0Y2E4MGVmOTdiMzljMWQ1NAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QucG0gYmVmMDk5OTg4YjE1ZmIwYjJhMWY1YWM0OGMwMWFmMWY3ZjM2ZDMyOQotLUV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDgxNjhlMThmMGUzY2UzZWNlNGJiN2U3YzcyZDU3ZWMwN2M2N2M0MDIKLS1FeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gNzExNWU5N2E1MzU1OWNiM2VjMDYxZGQ2ZjdmMzQ0ZTUyMjcyNGM0YQotK0V4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIDM0OTNhZTZmOTMyNjRlOTY3ZjU4ZGVkYWEzZGJmM2RiY2IyNDk4NTMKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIucG0gM2Q3YWJkNjc0YjE1ZWQzMjNmNzQzNTk0ZWYwYmQwOWRiNzZiMWFlZQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9Db25maWcucG0gZjhkYjhkNDI0NWJmMDY4NGI4MjEwYzgxMWY1MGQ3Y2ZiMWEyN2Q3OAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01ha2VNYWtlci9GQVEucG9kIDc1N2JmZmI0Nzg1NzUyMTMxMWY4ZjNiZGU0M2ViZTE2NWY4ZDUxOTEKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NYWtlTWFrZXIvTG9jYWxlLnBtIDgyYmUwNjg1MWRlYjg0YzY0MTlhZDAwM2NlOWI2ZDE5NTdmMzk1ZjMKLUBAIC0xMyw3ICsxMyw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01rYm9vdHN0cmFwLnBtIDU4ODcyZDY2Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTWtzeW1saXN0cy5wbSBhYjgwMDI5YWIxNmQzOGQ0ZjJlNDFkYzg4ZDJjZWI5ZjM3OTBlNDc3Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU0ucG0gNDUzZTBhYmJjNGJiMzhkYjRjMDgyMGFkNWM0ODQ2ZjMxM2I2NjI5MQotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FJWC5wbSBjMWIxYmFiZGE4ZjQzYWU3YTJjYWJhMWNiNGY3MGY5MmFmNWEwZTM0Ci0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtIDZmOTBkOTRhZDNlN2FhMDA0NWEzYjFhMTBhMWJiMTgzOTFmODlmNTcKLStFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gMjFiZGU1MzI5MGJmMWE0ZGE0NDU3MjkwYjY1YmQxYjBjYTZmMWQxNgotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0JlT1MucG0gY2FiMmIzY2UwOGI3MWE0Y2U4OWFhNjMwZjIzNmViMDhiODUyNDM5ZAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0N5Z3dpbi5wbSA2MWZjZWQwZmFmNTE4YmY4N2MyNjVmY2I1MWVkMzMwYmEzNTQ2MjNmCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fRGFyd2luLnBtIGFlMGVmNTFhN2I2ZGQwYjA1YWE2MWM3NzlkZjcxNjdkZGE1ZjUxMTkKLUBAIC0yMiw3ICsyMiw3IEBAIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX01hY09TLnBtIDA1NDQzMDFmNzEyCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fTlc1LnBtIDQzMzEzNWVlY2I4NWI0YjFkOTBkMzAyNzQzMmYzMjk0MzZjNzg0NDcKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9PUzIucG0gMWZiYjU2MDViZmI0N2ZlZWU0MDgzZmViYThhYTg1ZTY1OTYyOGY3MAotIEV4dFV0aWxzOjpNYWtlTWFrZXIgY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1FOWC5wbSA1YjY2ZDFmNDg1YTYwMzRkOTZmYzI0YmExNjY1YjFiYWQ5ZTQ0N2YxCi0tRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSA4Y2VmOTlhOWJkMzcwZWNmZDA3ZGRiMGVmYmRjYmI0MTAxMjU1ZTQ1Ci0rRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBjNDU1YzkxNWZiN2RjM2VlYjEyMDBlZDFjZDE5MDQ4ZTZmMjFlNmIxCi0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVVdJTi5wbSA5Mzk1NzJmZGUzZDU5YmE3N2MyZTY3N2ZlMmRmMmJlZDRiZWQ1ODk4Ci0gRXh0VXRpbHM6Ok1ha2VNYWtlciBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVk1TLnBtIDA5YzIwNDliZmQyNWI3MzVlMmE1YmNmNTZhNmNmZjdiNDgyN2Y5YzgKLSBFeHRVdGlsczo6TWFrZU1ha2VyIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9WT1MucG0gZDY1ZDYzZjgyMTdhNTVjMzZmNjJlMjQ5ODE0OTg4OTc0ZjU5M2M3OQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbW9kX3BhdGhzLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMjI0ODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9tb2RfcGF0aHMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIDZjNmNmMTRlMjA0ZjNjMDMxMzcyYmZkOTYwNGFkNTI0ZDU2OTExODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgMTggTWFyIDIwMDUgMjI6MjI6MjUgKzExMDAKLVN1YmplY3Q6IFR3ZWFrIEBJTkMgb3JkZXJpbmcgZm9yIERlYmlhbgotCi1PdXIgb3JkZXIgaXM6Ci0KLSAgICBldGMgKGZvciBjb25maWcgZmlsZXMpCi0gICAgc2l0ZSAoNS44LjEpCi0gICAgdmVuZG9yIChhbGwpCi0gICAgY29yZSAoNS44LjEpCi0gICAgc2l0ZSAodmVyc2lvbi1pbmRlcCkKLSAgICBzaXRlIChwcmUtNS44LjEpCi0KLVRoZSByYXRpb25hbGUgYmVpbmcgdGhhdCBhbiBhZG1pbiAodmlhIHNpdGUpLCBvciBtb2R1bGUgcGFja2FnZXIKLSh2ZW5kb3IpIGNhbiBjaG9zZSB0byBzaGFkb3cgY29yZSBtb2R1bGVzIHdoZW4gdGhlcmUgaXMgYSBuZXdlcgotdmVyc2lvbiB0aGFuIGlzIGluY2x1ZGVkIGluIGNvcmUuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9tb2RfcGF0aHMuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBwZXJsLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3BlcmwuYyBiL3BlcmwuYwotaW5kZXggMDg2NjQ1Yi4uZTY0ZjFmNCAxMDA2NDQKLS0tLSBhL3BlcmwuYwotKysrIGIvcGVybC5jCi1AQCAtNDM3Myw2ICs0MzczLDExIEBAIFNfaW5pdF9wZXJsbGliKHBUSFgpCi0gCQkgICAgICBJTkNQVVNIX0FERF9TVUJfRElSU3xJTkNQVVNIX0NBTl9SRUxPQ0FURSk7Ci0gI2VuZGlmCi0gCi0rI2lmZGVmIERFQklBTgotKyAgICAvKiBmb3IgY29uZmlndXJhdGlvbiB3aGVyZSAvdXNyIGlzIG1vdW50ZWQgcm8gKENQQU46OkNvbmZpZywgTmV0OjpDb25maWcpICovCi0rICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIFNUUl9XSVRIX0xFTigiL2V0Yy9wZXJsIiksIDB4MCk7Ci0rI2VuZGlmCi0rCi0gI2lmZGVmIFNJVEVBUkNIX0VYUAotICAgICAvKiBzaXRlYXJjaCBpcyBhbHdheXMgcmVsYXRpdmUgdG8gc2l0ZWxpYiBvbiBXaW5kb3dzIGZvcgotICAgICAgKiBETEwtYmFzZWQgcGF0aCBpbnR1aXRpb24gdG8gd29yayBjb3JyZWN0bHkgKi8KLUBAIC00NDkwLDYgKzQ0OTUsNTkgQEAgU19pbml0X3BlcmxsaWIocFRIWCkKLSAJCSAgICAgIElOQ1BVU0hfQUREX09MRF9WRVJTfElOQ1BVU0hfQ0FOX1JFTE9DQVRFKTsKLSAjZW5kaWYKLSAKLSsjaWZkZWYgREVCSUFOCi0rICAgIC8qIE5vbi12ZXJzaW9uZWQgc2l0ZSBkaXJlY3RvcnkgZm9yIGxvY2FsIG1vZHVsZXMgYW5kIGZvcgotKyAgICAgICBjb21wYXRhYmlsaXR5IHdpdGggdGhlIHByZXZpb3VzIHBhY2thZ2VzJyBzaXRlIGRpcnMgKi8KLSsgICAgU19pbmNwdXNoX3VzZV9zZXAoYVRIWF8gU1RSX1dJVEhfTEVOKCIvdXNyL2xvY2FsL2xpYi9zaXRlX3BlcmwiKSwKLSsJCSAgICAgIElOQ1BVU0hfQUREX1NVQl9ESVJTKTsKLSsKLSsjaWZkZWYgUEVSTF9JTkNfVkVSU0lPTl9MSVNUCi0rICAgIHsKLSsJc3RydWN0IHN0YXQgczsKLSsKLSsJLyogYWRkIHNtYWxsIGJ1ZmZlciBpbiBjYXNlIG9sZCB2ZXJzaW9ucyBhcmUgbG9uZ2VyIHRoYW4gdGhlCi0rCSAgIGN1cnJlbnQgdmVyc2lvbiAqLwotKwljaGFyIHNpdGVhcmNoW3NpemVvZihTSVRFQVJDSF9FWFApKzE2XSA9IFNJVEVBUkNIX0VYUDsKLSsJY2hhciBzaXRlbGliW3NpemVvZihTSVRFTElCX0VYUCkrMTZdID0gU0lURUxJQl9FWFA7Ci0rCWNoYXIgY29uc3QgKnZlcnNbXSA9IHsgUEVSTF9JTkNfVkVSU0lPTl9MSVNUIH07Ci0rCWNoYXIgY29uc3QgKipwOwotKwotKwljaGFyICphcmNoX3ZlcnMgPSBzdHJyY2hyKHNpdGVhcmNoLCAnLycpOwotKwljaGFyICpsaWJfdmVycyA9IHN0cnJjaHIoc2l0ZWxpYiwgJy8nKTsKLSsKLSsJaWYgKGFyY2hfdmVycyAmJiBpc2RpZ2l0KCorK2FyY2hfdmVycykpCi0rCSAgICAqYXJjaF92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgYXJjaF92ZXJzID0gMDsKLSsKLSsJaWYgKGxpYl92ZXJzICYmIGlzZGlnaXQoKisrbGliX3ZlcnMpKQotKwkgICAgKmxpYl92ZXJzID0gMDsKLSsJZWxzZQotKwkgICAgbGliX3ZlcnMgPSAwOwotKwotKwkvKiB0aGVyZSBpcyBzb21lIGR1cGxpY2F0aW9uIGhlcmUgYXMgaW5jcHVzaCBkb2VzIHNvbWV0aGluZwotKwkgICBzaW1pbGFyIGludGVybmFsbHksIGJ1dCByZXF1aXJlZCBhcyBzaXRlYXJjaCBpcyBub3QgYQotKwkgICBzdWJkaXJlY3Rvcnkgb2Ygc2l0ZWxpYiAqLwotKwlmb3IgKHAgPSB2ZXJzOyAqcDsgcCsrKQotKwl7Ci0rCSAgICBpZiAoYXJjaF92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGFyY2hfdmVycywgKnApOwotKwkJaWYgKFBlcmxMSU9fc3RhdChzaXRlYXJjaCwgJnMpID49IDAgJiYgU19JU0RJUihzLnN0X21vZGUpKQotKwkJICAgIFNfaW5jcHVzaF91c2Vfc2VwKGFUSFhfIHNpdGVhcmNoLCBzdHJsZW4oc2l0ZWFyY2gpLCAweDApOwotKwkgICAgfQotKwotKwkgICAgaWYgKGxpYl92ZXJzKQotKwkgICAgewotKwkJc3RyY3B5KGxpYl92ZXJzLCAqcCk7Ci0rCQlpZiAoUGVybExJT19zdGF0KHNpdGVsaWIsICZzKSA+PSAwICYmIFNfSVNESVIocy5zdF9tb2RlKSkKLSsJCSAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBzaXRlbGliLCBzdHJsZW4oc2l0ZWxpYiksIDB4MCk7Ci0rCSAgICB9Ci0rCX0KLSsgICAgfQotKyNlbmRpZgotKyNlbmRpZgotKwotICNpZmRlZiBQRVJMX09USEVSTElCRElSUwotICAgICBTX2luY3B1c2hfdXNlX3NlcChhVEhYXyBTVFJfV0lUSF9MRU4oUEVSTF9PVEhFUkxJQkRJUlMpLAotIAkJICAgICAgSU5DUFVTSF9BRERfT0xEX1ZFUlN8SU5DUFVTSF9BRERfQVJDSE9OTFlfU1VCX0RJUlMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NDg0YmVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi1Gcm9tIDI0MGYyZjRhZWIzODUwYmMwYzUzNzBiOWZiYzM5MDk1NzNiZWQ5YjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRG9uJ3QgaW5zdGFsbCAucGFja2xpc3Qgb3IgcGVybGxvY2FsLnBvZCBmb3IgcGVybCBvciB2ZW5kb3IKLQotUGF0Y2gtTmFtZTogZGViaWFuL25vX3BhY2tsaXN0X3Blcmxsb2NhbC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgMzUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggNTcwYTYzMS4uMzkxZGMyMiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMjIsMTEgKzIxMjIsNiBAQCBwdXJlX3BlcmxfaW5zdGFsbCA6OiBhbGwKLSB9OwotIAotICAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tCQl3cml0ZSAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLX0gdW5sZXNzICRzZWxmLT57Tk9fUEFDS0xJU1R9OwotLQotLSAgICBwdXNoIEBtLAotIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAJCSIkKElOU1RfQVJDSExJQikiICIkKERFU1RJTlNUQUxMQVJDSExJQikiIFwKLSAJCSIkKElOU1RfQklOKSIgIiQoREVTVElOU1RBTExCSU4pIiBcCi1AQCAtMjE1OCwxMCArMjE1Myw2IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMU0lURUxJQikiIFwKLSBwdXJlX3ZlbmRvcl9pbnN0YWxsIDo6IGFsbAotIAkkKE5PRUNITykgdW1hc2sgMDIyOyAkKE1PRF9JTlNUQUxMKSBcCi0gfTsKLS0gICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChWRU5ET1JBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS0JCXdyaXRlICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMVkVORE9SQVJDSCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IiBcCi0tfSB1bmxlc3MgJHNlbGYtPntOT19QQUNLTElTVH07Ci0gCi0gICAgIHB1c2ggQG0sCi0gcXsJCSIkKElOU1RfTElCKSIgIiQoREVTVElOU1RBTExWRU5ET1JMSUIpIiBcCi1AQCAtMjE4NywzNyArMjE3OCwxOSBAQCBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0gCi0gICAgIHB1c2ggQG0sIHF7Ci0gZG9jX3BlcmxfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMUFJJVkxJQikgXAotLQkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0tCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0tCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2Nfc2l0ZV9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pIHVtYXNrIDAyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTFNJVEVBUkNIKSIKLSAJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChET0NfSU5TVEFMTCkgXAotIAkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLSAJCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMU0lURUxJQikgXAotIAkJTElOS1RZUEUgIiQoTElOS1RZUEUpIiBcCi0gCQlWRVJTSU9OICIkKFZFUlNJT04pIiBcCi0gCQlFWEVfRklMRVMgIiQoRVhFX0ZJTEVTKSIgXAotLQkJPj4gIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSsJCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMU0lURUFSQ0gpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pIHVtYXNrIDAyMjsgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wYXRjaGxldmVsLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQwNWFlNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BhdGNobGV2ZWwuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYjUxN2M1ZTE1ZDA4NzFlMzZkMGYxMTg3NjYxZmUxZGQyOGRkZjgyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMTUgTWF5IDIwMTEgMTk6MzU6NTggKzAzMDAKLVN1YmplY3Q6IExpc3QgcGFja2FnZWQgcGF0Y2hlcyBpbiBwYXRjaGxldmVsLmgKLQotT3JpZ2luOiB2ZW5kb3IKLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTY3NDg5Ci0KLVRoZSBsaXN0IG9mIHBhY2thZ2VkIHBhdGNoZXMgaXMgaW4gcGF0Y2hsZXZlbC1kZWJpYW4uaCwgd2hpY2ggaXMgZ2VuZXJhdGVkCi1mcm9tIHRoZSBkZWJpYW4vcGF0Y2hlcy8gZGlyZWN0b3J5IHdoZW4gYnVpbGRpbmcgdGhlIHBhY2thZ2UuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wYXRjaGxldmVsLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcGF0Y2hsZXZlbC5oIHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9wYXRjaGxldmVsLmggYi9wYXRjaGxldmVsLmgKLWluZGV4IGEwYWQ3OGIuLjAxMzY3YjcgMTAwNjQ0Ci0tLS0gYS9wYXRjaGxldmVsLmgKLSsrKyBiL3BhdGNobGV2ZWwuaAotQEAgLTEzNyw2ICsxMzcsOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxvY2FsX3BhdGNoZXNbXSA9IHsKLSAJLCJ1bmNvbW1pdHRlZC1jaGFuZ2VzIgotICNlbmRpZgotIAlQRVJMX0dJVF9VTlBVU0hFRF9DT01NSVRTICAgIAkvKiBkbyBub3QgcmVtb3ZlIHRoaXMgbGluZSAqLwotKyNpZmRlZiBERUJJQU4KLSsjaW5jbHVkZSAicGF0Y2hsZXZlbC1kZWJpYW4uaCIKLSsjZW5kaWYKLSAJLE5VTEwKLSB9OwotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYxNjI1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3Blcmw1ZGIteC10ZXJtaW5hbC1lbXVsYXRvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYzk5YzYxZThmODYzYTUwOGEwNzkzMTY4MDExYzk4ZGM3NGFiYmQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWMgSGFyZ3JlYXZlcyA8ZG9tQGVhcnRoLmxpPgotRGF0ZTogU2F0LCAxNCBBcHIgMjAxMiAxMTozNDowNSArMDEwMAotU3ViamVjdDogSW52b2tlIHgtdGVybWluYWwtZW11bGF0b3IgcmF0aGVyIHRoYW4geHRlcm0gaW4gcGVybDVkYi5wbAotCi1JbiBEZWJpYW4gc3lzdGVtcywgeHRlcm0gbWlnaHQgbm90IGV4aXN0IG9yIG1pZ2h0IG5vdCBiZSB0aGUgcHJlZmVycmVkCi10ZXJtaW5hbCBlbXVsYXRvci4gVXNlIHgtdGVybWluYWwtZW11bGF0b3IgaW5zdGVhZAotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzY2ODQ5MAotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2gKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGliL3Blcmw1ZGIucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9saWIvcGVybDVkYi5wbCBiL2xpYi9wZXJsNWRiLnBsCi1pbmRleCA3ZTcxOTRlLi5jNDY2YmYzIDEwMDY0NAotLS0tIGEvbGliL3Blcmw1ZGIucGwKLSsrKyBiL2xpYi9wZXJsNWRiLnBsCi1AQCAtNjk2MCw3ICs2OTYwLDcgQEAgcHJvcGVybHkgc2V0IHVwLgotIHN1YiB4dGVybV9nZXRfZm9ya19UVFkgewotICAgICAoIG15ICRuYW1lID0gJDAgKSA9fiBzLF4uKlsvXFxdLCxzOwotICAgICBvcGVuIFhULAotLXFxWzM+JjEgeHRlcm0gLXRpdGxlICJEYXVnaHRlciBQZXJsIGRlYnVnZ2VyICRwaWRzICRuYW1lIiAtZSBzaCAtYyAndHR5IDE+JjM7XAotK3FxWzM+JjEgeC10ZXJtaW5hbC1lbXVsYXRvciAtVCAiRGF1Z2h0ZXIgUGVybCBkZWJ1Z2dlciAkcGlkcyAkbmFtZSIgLWUgc2ggLWMgJ3R0eSAxPiYzO1wKLSAgc2xlZXAgMTAwMDAwMDAnIHxdOwotIAotICAgICAjIEdldCB0aGUgb3V0cHV0IGZyb20gJ3R0eScgYW5kIGNsZWFuIGl0IHVwIGEgbGl0dGxlLgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wZXJsaXZwLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWM3NDEzYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BlcmxpdnAuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gZmJmYmViN2E2OTBkNzAzYTNjZGM1NmY5MjNlODllYjdiNzk5N2QzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4KLURhdGU6IEZyaSwgOSBKYW4gMjAwOSAxODo1NDo0NyArMDIwMAotU3ViamVjdDogTWFrZSBwZXJsaXZwIHNraXAgaW5jbHVkZSBkaXJlY3RvcmllcyBpbiAvdXNyL2xvY2FsCi0KLUJ1Zy1EZWJpYW46IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTEwODk1Ci0KLU9uIFNhdCwgSmFuIDEwLCAyMDA5IGF0IDEyOjM3OjE4QU0gKzExMDAsIEJyZW5kYW4gTydEZWEgd3JvdGU6Ci0+IE9uIFdlZCwgSmFuIDcsIDIwMDkgYXQgMTI6MjEgQU0sIE5pa28gVHluaSA8bnR5bmlAZGViaWFuLm9yZz4gd3JvdGU6Ci0KLT4gPiBXZSBjb3VsZCBjcmVhdGUgdGhlIGRpcmVjdG9yaWVzIGluIGEgcG9zdGluc3Qgc2NyaXB0LCBidXQgSSdtIG5vdCBzdXJlCi0+ID4gSSBzZWUgdGhlIHBvaW50LiBUaGV5IHdpbGwgYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gaW5zdGFsbGluZwotPiA+IENQQU4gbW9kdWxlcy4KLT4KLT4gVGhlIGRpcmVjdG9yaWVzIGFyZSBpbnRlbnRpb25hbGx5IG5vdCBjcmVhdGVkLCBhcyB0aGlzIHdheSB0aGV5IGFyZQotPiBleGNsdWRlZCBmcm9tIHRoZSBzZWFyY2ggcGF0aCBhdCBzdGFydC11cCwgc2F2aW5nIGEgYnVuY2ggb2Ygd2FzdGVkCi0+IHN0YXRzIGF0IHVzZS9yZXF1aXJlIHRpbWUgaW4gdGhlIGNvbW1vbiBjYXNlIHRoYXQgdGhlIHVzZXIgaGFzIG5vdAotPiBpbnN0YWxsZWQgYW55IGxvY2FsIHBhY2thZ2VzLiAgQXMgTmlrbyBwb2ludHMgb3V0LCB0aGV5IHdpbGwgYmUKLT4gY3JlYXRlZCBhcyByZXF1aXJlZC4KLQotU2lnbmVkLW9mZi1ieTogTmlrbyBUeW5pIDxudHluaUBkZWJpYW4ub3JnPgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vcGVybGl2cC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHV0aWxzL3BlcmxpdnAuUEwgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL3V0aWxzL3BlcmxpdnAuUEwgYi91dGlscy9wZXJsaXZwLlBMCi1pbmRleCBjMmYwYTExLi5jYzQ5Zjk2IDEwMDY0NAotLS0tIGEvdXRpbHMvcGVybGl2cC5QTAotKysrIGIvdXRpbHMvcGVybGl2cC5QTAotQEAgLTE1Myw2ICsxNTMsNyBAQCBteSAkSU5DX3RvdGFsID0gMDsKLSBteSAkSU5DX3RoZXJlID0gMDsKLSBmb3JlYWNoIChASU5DKSB7Ci0gICAgIG5leHQgaWYgJF8gZXEgJy4nOyAjIHNraXAgLWQgdGVzdCBoZXJlCi0rICAgIG5leHQgaWYgbXwvdXNyL2xvY2FsfDsgIyBub3Qgc2hpcHBlZCBvbiBEZWJpYW4KLSAgICAgaWYgKC1kICRfKSB7Ci0gICAgICAgICBwcmludCAiIyMgUGVybCBcQElOQyBkaXJlY3RvcnkgJyRfJyBleGlzdHMuXG4iIGlmICRvcHR7J3YnfTsKLSAgICAgICAgICRJTkNfdGhlcmUrKzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BvZDJtYW4tY3VzdG9taXplZC5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzA3NTYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcG9kMm1hbi1jdXN0b21pemVkLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Gcm9tIDI3YTQ5NTJjMmU1MzE5NDdkYzlmMmYwMmUyMDYzZDExN2UyZTY5OWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE4IEFwciAyMDE1IDE3OjM5OjMyICswMzAwCi1TdWJqZWN0OiBVcGRhdGUgcG9ydGluZy9jdXN0b21pemVkLmRhdCBmb3IgcG9kMm1hbiBtb2RpZmljYXRpb25zCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wb2QybWFuLWN1c3RvbWl6ZWQuZGlmZgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQgYi90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLWluZGV4IDBlZWQ5ZjcuLjdkZjM5OGQgMTAwNjQ0Ci0tLS0gYS90L3BvcnRpbmcvY3VzdG9taXplZC5kYXQKLSsrKyBiL3QvcG9ydGluZy9jdXN0b21pemVkLmRhdAotQEAgLTQyLDcgKzQyLDcgQEAgV2luMzJBUEk6OkZpbGUgY3Bhbi9XaW4zMkFQSS1GaWxlL01ha2VmaWxlLlBMIDYwNWQwYWVlMzFhZWJlODRhOTk0MDhmOWFiNWY2NDRkYjUKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdC9maWxlLnQgMTI0ZTY0YWE3N2U3NTUyMzVlYjI5NzY0NGE4N2ZhYzUzODhkM2Q3OAotIFdpbjMyQVBJOjpGaWxlIGNwYW4vV2luMzJBUEktRmlsZS90L3RpZS50IDcxMmVhN2VkZDBjYzgwNWNlMWMwYjgxNzJjMDFiMDNkZDE5YjU4M2QKLSBXaW4zMkFQSTo6RmlsZSBjcGFuL1dpbjMyQVBJLUZpbGUvdHlwZW1hcCAyNGJmZjA4OGJhYmVhZGFjMDg3M2U4ZGYzOTBkMTY2NmQ5ZDlkYjRhCi0tcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCBmODFhY2Y1M2YzZmY0NmNkY2M1ZWJkZDY2MWM1ZDEzZWIzNWQyMGQ2Ci0rcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMm1hbi5QTCA3NjFmMzVkM2ZjZjkxYzFiYzJmOWUwMjRhOWZhNWM2MmZkM2ZjMzM4Ci0gcG9kbGF0b3JzIGNwYW4vcG9kbGF0b3JzL3NjcmlwdHMvcG9kMnRleHQuUEwgYjQ2OTNmY2ZlNGEwYTFiMzhhMjE1Y2ZiODk4NWE2NWQ1ZDAyNWQ2OQotIHZlcnNpb24gY3Bhbi92ZXJzaW9uL2xpYi92ZXJzaW9uLnBtIGQwOTIzYjg5NWQ1N2YxZDY2OWFlMzZmY2Y4NWM4N2IxNmRiMzQxZDEKLSB2ZXJzaW9uIHZ1dGlsLmMgNjY4ZjE3Y2E0M2UyNTI3NjQ1Njc0ZDI5YmE3NzJiODYzMzBkNTY2MwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjgxYzNlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1Gcm9tIDkxNDk0OGYwMjZlZmNlMDJjZjBhYmZmOGIwMzEyYWFhZDk2NTkyZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBCcmVuZGFuIE8nRGVhIDxib2RAZGViaWFuLm9yZz4KLURhdGU6IFR1ZSwgOCBNYXIgMjAwNSAxOTozMDozOCArMTEwMAotU3ViamVjdDogRmlkZGxlIHdpdGggKlBSRUZJWCBhbmQgdmFyaWFibGVzIHdyaXR0ZW4gdG8gdGhlIG1ha2VmaWxlCi0KLUZpZGRsZSB3aXRoICpQUkVGSVggYW5kIHZhcmlhYmxlcyB3cml0dGVuIHRvIHRoZSBtYWtlZmlsZSBzbyB0aGF0Ci1pbnN0YWxsIGRpcmVjdG9yaWVzIG1heSBiZSBjaGFuZ2VkIHdoZW4gbWFrZSBpcyBydW4gYnkgcGFzc2luZwotUFJFRklYPSB0byB0aGUgIm1ha2UgaW5zdGFsbCIgY29tbWFuZCAodXNlZCB3aGVuIHBhY2thZ2luZwotbW9kdWxlcykuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcmVmaXhfY2hhbmdlcy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0gIHwgMTIgKysrKysrLS0tLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gfCAgMyArLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudCAgICAgICAgICAgICAgICB8ICA0ICstLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQgICAgICAgICB8IDEwICsrKysrLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX0FueS5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9BbnkucG0KLWluZGV4IDRjMDAxMjkuLjFlYTIwMzUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fQW55LnBtCi1AQCAtOTAyLDggKzkwMiw2IEBAIGFsbCBQT0QgZmlsZXMgaW4gTUFOMVBPRFMgYW5kIE1BTjNQT0RTLgotIHN1YiBtYW5pZnlwb2RzX3RhcmdldCB7Ci0gICAgIG15KCRzZWxmKSA9IHNoaWZ0OwotIAotLSAgICBteSAkbWFuMXBvZHMgICAgICA9ICcnOwotLSAgICBteSAkbWFuM3BvZHMgICAgICA9ICcnOwotICAgICBteSAkZGVwZW5kZW5jaWVzICA9ICcnOwotIAotICAgICAjIHBvcHVsYXRlIG1hblhwb2RzICYgZGVwZW5kZW5jaWVzOgotQEAgLTkxOSw3ICs5MTcsNyBAQCBFTkQKLSAgICAgZm9yZWFjaCBteSAkc2VjdGlvbiAocXcoMSAzKSkgewotICAgICAgICAgbXkgJHBvZHMgPSAkc2VsZi0+eyJNQU4ke3NlY3Rpb259UE9EUyJ9OwotICAgICAgICAgbXkgJHAybSA9IHNwcmludGYgPDxDTUQsICRdID4gNS4wMDggPyAiIC11IiA6ICIiOwotLQlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj0kc2VjdGlvbiAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotKwlcJChOT0VDSE8pIFwkKFBPRDJNQU4pIC0tc2VjdGlvbj1cJChNQU4ke3NlY3Rpb259RVhUKSAtLXBlcm1fcnc9XCQoUEVSTV9SVyklcwotIENNRAotICAgICAgICAgcHVzaCBAbWFuX2NtZHMsICRzZWxmLT5zcGxpdF9jb21tYW5kKCRwMm0sIG1hcCB7KCRfLCRwb2RzLT57JF99KX0gc29ydCBrZXlzICUkcG9kcyk7Ci0gICAgIH0KLUBAIC0xODc1LDkgKzE4NzMsMTEgQEAgc3ViIGluaXRfSU5TVEFMTF9mcm9tX1BSRUZJWCB7Ci0gICAgICAgICAkc2VsZi0+e1NJVEVQUkVGSVh9ICAgfHw9ICRzcHJlZml4OwotICAgICAgICAgJHNlbGYtPntWRU5ET1JQUkVGSVh9IHx8PSAkdnByZWZpeDsKLSAKLS0gICAgICAgICMgTG90cyBvZiBNTSBleHRlbnNpb24gYXV0aG9ycyBsaWtlIHRvIHVzZSAkKFBSRUZJWCkgc28gd2UKLS0gICAgICAgICMgcHV0IHNvbWV0aGluZyBzZW5zaWJsZSBpbiB0aGVyZSBubyBtYXR0ZXIgd2hhdC4KLS0gICAgICAgICRzZWxmLT57UFJFRklYfSA9ICckKCcudWMgJHNlbGYtPntJTlNUQUxMRElSU30uJ1BSRUZJWCknOwotKwlteSAkcCA9ICRzZWxmLT57UFJFRklYfSA9ICRzZWxmLT57UEVSTFBSRUZJWH07Ci0rCWZvciBteSAkdCAocXcvUEVSTCBTSVRFIFZFTkRPUi8pCi0rCXsKLSsJICAgICRzZWxmLT57IiR7dH1QUkVGSVgifSA9fiBzIV5cUSRwXEUoPz0vfCQpIVwkKFBSRUZJWCkhOwotKwl9Ci0gICAgIH0KLSAKLSAgICAgbXkgJGFyY2ggICAgPSAkQ29uZmlne2FyY2huYW1lfTsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1pbmRleCAzOTFkYzIyLi40YThlMTRjIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi1AQCAtMzA3Nyw4ICszMDc3LDcgQEAgc3ViIHByZWZpeGlmeSB7Ci0gICAgIHdhcm4gIiAgcHJlZml4aWZ5ICR2YXIgPT4gJHBhdGhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAgICAgd2FybiAiICAgIGZyb20gJHNwcmVmaXggdG8gJHJwcmVmaXhcbiIgaWYgJFZlcmJvc2UgPj0gMjsKLSAKLS0gICAgaWYoICRzZWxmLT57QVJHU317UFJFRklYfSAmJgotLSAgICAgICAgJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgKQotKyAgICBpZiggJHBhdGggIX4gc3teXFEkc3ByZWZpeFxFXGJ9eyRycHJlZml4fXMgJiYgJHNlbGYtPntBUkdTfXtQUkVGSVh9ICkKLSAgICAgewotIAotICAgICAgICAgd2FybiAiICAgIGNhbm5vdCBwcmVmaXgsIHVzaW5nIGRlZmF1bHQuXG4iIGlmICRWZXJib3NlID49IDI7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNULnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotaW5kZXggOTEwNThiYi4uZTM5OWNlZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1QudAotQEAgLTY1LDkgKzY1LDcgQEAgaXNhX29rKCAkbW0sICdFeHRVdGlsczo6TWFrZU1ha2VyJyApOwotIGlzKCAkbW0tPntOQU1FfSwgJ0JpZzo6RHVtbXknLCAgJ05BTUUnICk7Ci0gaXMoICRtbS0+e1ZFUlNJT059LCAwLjAxLCAgICAgICAgICAgICdWRVJTSU9OJyApOwotIAotLW15ICRjb25maWdfcHJlZml4ID0gJENvbmZpZ3tpbnN0YWxscHJlZml4ZXhwfSB8fCAkQ29uZmlne2luc3RhbGxwcmVmaXh9IHx8Ci0tICAgICAgICAgICAgICAgICAgICAkQ29uZmlne3ByZWZpeGV4cH0gICAgICAgIHx8ICRDb25maWd7cHJlZml4fTsKLS1pcyggJG1tLT57UEVSTFBSRUZJWH0sICRjb25maWdfcHJlZml4LCAgICdQRVJMUFJFRklYJyApOwotK2lzKCAkbW0tPntQRVJMUFJFRklYfSwgJyQoUFJFRklYKScsICAgJ1BFUkxQUkVGSVgnICk7Ci0gCi0gaXMoICEhJG1tLT57UEVSTF9DT1JFfSwgISEkRU5We1BFUkxfQ09SRX0sICdQRVJMX0NPUkUnICk7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci1pbmRleCBlOGRlN2M2Li4zZmIzZjEyIDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUX1BSRUZJWC50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RfUFJFRklYLnQKLUBAIC0xMCw3ICsxMCw3IEBAIEJFR0lOIHsKLSB9Ci0gCi0gdXNlIHN0cmljdDsKLS11c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA1MjsKLSt1c2UgVGVzdDo6TW9yZSB0ZXN0cyA9PiA0NzsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6QkZEOwotIHVzZSBFeHRVdGlsczo6TWFrZU1ha2VyOwotQEAgLTYyLDE2ICs2MiwxNiBAQCBsaWtlKCAkc3Rkb3V0LT5yZWFkLCBxcnsKLSAgICAgICAgICAgICAgICAgICAgICAgICAoPzpXcml0aW5nXCBNWU1FVEEueW1sXCBhbmRcIE1ZTUVUQS5qc29uXG4pPwotIH14ICk7Ci0gCi0taXMoICRtbS0+e1BSRUZJWH0sICckKFNJVEVQUkVGSVgpJywgJ1BSRUZJWCBzZXQgYmFzZWQgb24gSU5TVEFMTERJUlMnICk7Ci0rI2lzKCAkbW0tPntQUkVGSVh9LCAnJChTSVRFUFJFRklYKScsICdQUkVGSVggc2V0IGJhc2VkIG9uIElOU1RBTExESVJTJyApOwotIAotIGlzYV9vayggJG1tLCAnRXh0VXRpbHM6Ok1ha2VNYWtlcicgKTsKLSAKLSBpcyggJG1tLT57TkFNRX0sICdCaWc6OkR1bW15JywgICdOQU1FJyApOwotIGlzKCAkbW0tPntWRVJTSU9OfSwgMC4wMSwgICAgICAgICAgICAnVkVSU0lPTicgKTsKLSAKLS1mb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotLSAgICB1bmxpa2UoICRtbS0+eyRwcmVmaXh9LCBxci9cJFwoUFJFRklYXCkvICk7Ci0tfQotKyNmb3JlYWNoIG15ICRwcmVmaXggKHF3KFBSRUZJWCBQRVJMUFJFRklYIFNJVEVQUkVGSVggVkVORE9SUFJFRklYKSkgewotKyMgICAgdW5saWtlKCAkbW0tPnskcHJlZml4fSwgcXIvXCRcKFBSRUZJWFwpLyApOwotKyN9Ci0gCi0gCi0gbXkgJFBSRUZJWCA9IEZpbGU6OlNwZWMtPmNhdGRpcignZm9vJywgJ2JhcicpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJlZDUyYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3BydW5lX2xpYnMuZGlmZgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gYzQ1MzhmOTY2YzQ5ZTM1NjU5OTM1OGRlZjdkMWZlYmY2MWJjYTIxZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEJyZW5kYW4gTydEZWEgPGJvZEBkZWJpYW4ub3JnPgotRGF0ZTogRnJpLCAxOCBNYXIgMjAwNSAyMjoyMjoyNSArMTEwMAotU3ViamVjdDogW1BBVENIIDE1LzQ5XSBQcnVuZSB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgd2FudGVkIHRvIHdoYXQgd2UgYWN0dWFsbHkKLSBuZWVkLgotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzEyODM1NQotCi1XZSB3YW50IHRvIGtlZXAgdGhlIGRlcGVuZGVuY2llcyBvbiBwZXJsLWJhc2UgYXMgc21hbGwgYXMgcG9zc2libGUsCi1hbmQgc29tZSBvZiB0aGUgb3JpZ2luYWwgbGlzdCBtYXkgYmUgcHJlc2VudCBvbiBidWlsZGRzIChzZWUgQnVnIzEyODM1NSkuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9wcnVuZV9saWJzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gQ29uZmlndXJlIHwgNSArKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9Db25maWd1cmUgYi9Db25maWd1cmUKLWluZGV4IDVhMzUzZDYuLmEwMGRmNjQgMTAwNzU1Ci0tLS0gYS9Db25maWd1cmUKLSsrKyBiL0NvbmZpZ3VyZQotQEAgLTE0NzksOCArMTQ3OSw3IEBAIGFyY2huYW1lPScnCi0gdXNlcmVlbnRyYW50PSd1bmRlZicKLSA6IExpc3Qgb2YgbGlicmFyaWVzIHdlIHdhbnQuCi0gOiBJZiBhbnlvbmUgbmVlZHMgZXh0cmEgLWx4eHgsIHB1dCB0aG9zZSBpbiBhIGhpbnQgZmlsZS4KLS1saWJzd2FudGVkPSJjbCBwdGhyZWFkIHNvY2tldCBiaW5kIGluZXQgbnNsIG5kYm0gZ2RibSBkYm0gZGIgbWFsbG9jIGRsIGxkIgotLWxpYnN3YW50ZWQ9IiRsaWJzd2FudGVkIHN1biBtIGNyeXB0IHNlYyB1dGlsIGMgY3Bvc2l4IHBvc2l4IHVjYiBic2QgQlNEIgotK2xpYnN3YW50ZWQ9J2dkYm0gZ2RibV9jb21wYXQgZGIgZGwgbSBjIGNyeXB0JwotIDogV2UgcHJvYmFibHkgd2FudCB0byBzZWFyY2ggL3Vzci9zaGxpYiBiZWZvcmUgbW9zdCBvdGhlciBsaWJyYXJpZXMuCi0gOiBUaGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgbGliL0V4dFV0aWxzL01ha2VNYWtlci5wbSByb3V0aW5lIGV4dGxpYmxpc3QuCi0gZ2xpYnB0aD1gZWNobyAiICRnbGlicHRoICIgfCBzZWQgLWUgJ3MhIC91c3Ivc2hsaWIgISAhJ2AKLUBAIC0yNDAwNyw3ICsyNDAwNiw3IEBAIHN1bm9zKlg0KikKLSAgICAgOzsKLSAqKSBjYXNlICIkdXNlZGwiIGluCi0gICAgICRkZWZpbmV8dHJ1ZXxbeVldKikKLS0JICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxuZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibSBAIEAnIC1lICdzQCAtbGdkYm1fY29tcGF0IEAgQCcgLWUgJ3NAIC1sZGJtIEAgQCcgLWUgJ3NAIC1sZGIgQCBAJ2AKLSsJICAgIHNldCBYIGBlY2hvICIgJGxpYnMgIiB8IHNlZCAtZSAnc0AgLWxnZGJtIEAgQCcgLWUgJ3NAIC1sZ2RibV9jb21wYXQgQCBAJyAtZSAnc0AgLWxkYiBAIEAnYAotIAkgICAgc2hpZnQKLSAJICAgIHBlcmxsaWJzPSIkKiIKLSAJICAgIDs7Ci0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkOWE3YzQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9yZWdlbi1za2lwLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9tIGNiM2U5OGUxN2E2NjY4OTYxNTBiMTA5Njk0ZTllYjkyNzg2MjA4NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTYXQsIDE3IE1heSAyMDE0IDE0OjU3OjAxICswMzAwCi1TdWJqZWN0OiBTa2lwIGEgcmVnZW5lcmF0aW9uIGNoZWNrIGluIHVucmVsYXRlZCBnaXQgcmVwb3NpdG9yaWVzCi0KLUlmIHRoZSB0ZXN0IGlzIHJ1biBpbiBhIGdpdCByZXBvc2l0b3J5IHdpdGhvdXQgbGliLy5naXRpZ25vcmUsCi1mb3IgaW5zdGFuY2UgYmVjYXVzZSB0aGUgcmVwb3NpdG9yeSBvbmx5IGltcG9ydGVkIHRoZSBQZXJsIHRhcmJhbGwsCi10aGUgcmVnZW5lcmF0aW9uIGNoZWNrIGlzIGJyb2tlbiBiZWNhdXNlIGxpYi8uZ2l0aWdub3JlIGlzIG1pc3NpbmcuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9yZWdlbi1za2lwLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gcmVnZW4vbGliX2NsZWFudXAucGwgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9yZWdlbi9saWJfY2xlYW51cC5wbCBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1pbmRleCBjOWQ2ZTQzLi5mZWNlMWVkIDEwMDY0NAotLS0tIGEvcmVnZW4vbGliX2NsZWFudXAucGwKLSsrKyBiL3JlZ2VuL2xpYl9jbGVhbnVwLnBsCi1AQCAtMTU5LDcgKzE1OSw3IEBAIGZvcmVhY2ggKCd3aW4zMi9NYWtlZmlsZScsICd3aW4zMi9tYWtlZmlsZS5taycpIHsKLSB9Ci0gCi0gIyBUaGlzIG11c3QgY29tZSBsYXN0IGFzIGl0IGNhbiBleGl0IGVhcmx5OgotLWlmICgkVEFQICYmICEtZCAnLmdpdCcgJiYgIS1mICdsaWIvLmdpdGlnbm9yZScpIHsKLStpZiAoJFRBUCAmJiAhLWQgJy5naXQnIHx8ICEtZiAnbGliLy5naXRpZ25vcmUnKSB7Ci0gICAgIHByaW50ICJvayAjIHNraXAgbm90IGJlaW5nIHJ1biBmcm9tIGEgZ2l0IGNoZWNrb3V0LCBoZW5jZSBubyBsaWIvLmdpdGlnbm9yZVxuIjsKLSAgICAgZXhpdCAwOwotIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiMzc0NTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi9za2lwLWtmcmVlYnNkLWNyYXNoLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDQyODUzYWY2NWEyODA2NmIxMTlkMjNkOTZlOTY0ZTk0YjU1YTg1NDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDUgQXVnIDIwMTEgMTA6NTA6MTggKzAzMDAKLVN1YmplY3Q6IFNraXAgYSBjcmFzaGluZyB0ZXN0IGNhc2UgaW4gdC9vcC90aHJlYWRzLnQgb24gR05VL2tGcmVlQlNECi0KLUJ1ZzogaHR0cDovL3J0LnBlcmwub3JnL3J0My9UaWNrZXQvRGlzcGxheS5odG1sP2lkPTk2MjcyCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzYyODQ5MwotCi1UaGUgY3Jhc2ggaXMgbm90IGEgcmVncmVzc2lvbiBpbiA1LjE0LCBpdCBqdXN0IGdldHMgdHJpZ2dlcmVkIHRoZXJlIGJ5Ci1hIG5ldyB1bnJlbGF0ZWQgdGVzdCBjYXNlLgotCi1Ta2lwIHRoZSB0ZXN0IHVudGlsIHRoZSBjdWxwcml0IGlzIGZvdW5kLgotCi1QYXRjaC1OYW1lOiBkZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvb3AvdGhyZWFkcy50IHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvdC9vcC90aHJlYWRzLnQgYi90L29wL3RocmVhZHMudAotaW5kZXggZTc2Yzk1Ni4uYmVjMjEwYiAxMDA2NDQKLS0tLSBhL3Qvb3AvdGhyZWFkcy50Ci0rKysgYi90L29wL3RocmVhZHMudAotQEAgLTM3Niw2ICszNzYsOSBAQCBFT0YKLSB9Ci0gCi0gCi0rU0tJUDogewotKyAgICBza2lwICJbcGVybCAjOTYyNzJdIGF2b2lkIGNyYXNoIG9uIEdOVS9rRnJlZUJTRCIsIDEKLSsgICAgICAgIGlmICReTyBlcSAnZ251a2ZyZWVic2QnOwotICMgW3BlcmwgIzc4NDk0XSBQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGJsb2NrIHdoZW4gY2xvc2VkCi0gewotICAgbXkgJHBlcmwgPSB3aGljaF9wZXJsOwotQEAgLTM4NCw2ICszODcsNyBAQCBFT0YKLSAgIHRocmVhZHMtPmNyZWF0ZShzdWIgeyB9KS0+am9pbjsKLSAgIG9rKDEsICJQaXBlcyBzaGFyZWQgYmV0d2VlbiB0aHJlYWRzIGRvIG5vdCBibG9jayB3aGVuIGNsb3NlZCIpOwotIH0KLSt9Ci0gCi0gIyBbcGVybCAjMTA1MjA4XSBUeXBlZ2xvYiBjbG9uZXMgc2hvdWxkIG5vdCBiZSBjbG9uZWQgYWdhaW4gZHVyaW5nIGEgam9pbgotIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc2tpcC11cHN0cmVhbS1naXQtdGVzdHMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc5ZjRhYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1Gcm9tIGFlOWI2NDVkNmRhMjk5MGZkMDU1MzY4ZWNhMmM2N2M0NDk0NzRlMzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBGcmksIDIyIEFwciAyMDExIDExOjE1OjMyICswMzAwCi1TdWJqZWN0OiBTa2lwIHRlc3RzIHNwZWNpZmljIHRvIHRoZSB1cHN0cmVhbSBHaXQgcmVwb3NpdG9yeQotCi1UaGVzZSB0ZXN0cyBmYWlsIGlmIHJ1biBmcm9tIGEgZGlmZmVyZW50IGdpdCByZXBvc2l0b3J5IHRoYW4KLXVwc3RyZWFtLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBuZWVkbGVzc2x5IGZvciBkb3duc3RyZWFtIHBhY2thZ2Vycy4KLQotU2tpcCB0aGUgdGVzdHMgYWx0b2dldGhlciBldmVuIGlmIHRoZSAuZ2l0IGRpcmVjdG9yeSBleGlzdHMuCi0KLVBhdGNoLU5hbWU6IGRlYmlhbi9za2lwLXVwc3RyZWFtLWdpdC10ZXN0cy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIHQvdGVzdC5wbCB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3QvdGVzdC5wbCBiL3QvdGVzdC5wbAotaW5kZXggY2RhMzg0MC4uYWY1NzlhMiAxMDA2NDQKLS0tLSBhL3QvdGVzdC5wbAotKysrIGIvdC90ZXN0LnBsCi1AQCAtMTc0LDcgKzE3NCw3IEBAIHN1YiBza2lwX2FsbF93aXRob3V0X3VuaWNvZGVfdGFibGVzIHsgIyAoYnV0IG9ubHkgdW5kZXIgbWluaXBlcmwpCi0gCi0gc3ViIGZpbmRfZ2l0X29yX3NraXAgewotICAgICBteSAoJHNvdXJjZV9kaXIsICRyZWFzb24pOwotLSAgICBpZiAoLWQgJy5naXQnKSB7Ci0rICAgIGlmICgtZCAnLmdpdCcgJiYgISAtZCAnZGViaWFuJykgewotIAkkc291cmNlX2RpciA9ICcuJzsKLSAgICAgfSBlbHNpZiAoLWwgJ01BTklGRVNUJyAmJiAtbCAnQVVUSE9SUycpIHsKLSAJbXkgJHdoZXJlID0gcmVhZGxpbmsgJ01BTklGRVNUJzsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9kZWJpYW4vc3F1ZWxjaC1sb2NhbGUtd2FybmluZ3MuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDk2NGU0OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi1Gcm9tIDQ4N2E2ZDZhZGEwYjA4ZTZhNzI3NjUyMGViYzYxY2Q4NTEwMDVlN2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBOaWtvIFR5bmkgPG50eW5pQGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDMgT2N0IDIwMTAgMjE6MzY6MTcgKzAzMDAKLVN1YmplY3Q6IFNxdWVsY2ggbG9jYWxlIHdhcm5pbmdzIGluIERlYmlhbiBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cwotCi1CdWctRGViaWFuOiBodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2NAotCi1UaGUgc3lzdGVtIGxvY2FsZXMgYXJlIHJhdGhlciBmcmVxdWVudGx5IG91dCBvZiBzeW5jIHdpdGggdGhlIEMgbGlicmFyeQotZHVyaW5nIHBhY2thZ2UgdXBncmFkZXMsIGNhdXNpbmcgYSBodWdlIGFtb3VudCBvZiB1c2VsZXNzIFBlcmwgbG9jYWxlCi13YXJuaW5ncy4gU3F1ZWxjaCB0aGVtIHdoZW4gcnVubmluZyBwYWNrYWdlIG1haW50YWluZXIgc2NyaXB0cywgZGV0ZWN0ZWQKLWJ5IHRoZSBEUEtHX1JVTk5JTkdfVkVSU0lPTiBlbnZpcm9ubWVudCB2YXJpYWJsZS4KLQotQW55IHJlYWwgbG9jYWxlIHByb2JsZW0gd2lsbCBzaG93IHVwIGFmdGVyIHRoZSBzeXN0ZW0gdXBncmFkZSB0b28sIGFuZAotdGhlIHdhcm5pbmcgd2lsbCBiZSB0cmlnZ2VyZWQgbm9ybWFsbHkgYWdhaW4gYXQgdGhhdCBwb2ludC4KLQotUGF0Y2gtTmFtZTogZGViaWFuL3NxdWVsY2gtbG9jYWxlLXdhcm5pbmdzLmRpZmYKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbG9jYWxlLmMgICAgICAgICAgIHwgNSArKysrLQotIHBvZC9wZXJsbG9jYWxlLnBvZCB8IDggKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xvY2FsZS5jIGIvbG9jYWxlLmMKLWluZGV4IDdhNGE0MTguLmZkZjkxMWQgMTAwNjQ0Ci0tLS0gYS9sb2NhbGUuYwotKysrIGIvbG9jYWxlLmMKLUBAIC02NzQsNyArNjc0LDEwIEBAIFBlcmxfaW5pdF9pMThubDEwbihwVEhYXyBpbnQgcHJpbnR3YXJuKQotIAotICAgICBjb25zdCBib29sIGxvY3dhcm4gPSAocHJpbnR3YXJuID4gMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKHByaW50d2FybgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICghIGJhZF9sYW5nX3VzZV9vbmNlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWJpYW4gc3BlY2lmaWMgY2hhbmdlIC0gc2VlIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvNTA4NzY0ICovCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCFQZXJsRW52X2dldGVudigiRFBLR19SVU5OSU5HX1ZFUlNJT04iKSkgJiYKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoISBiYWRfbGFuZ191c2Vfb25jZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZGlzYWxsb3cgd2l0aCAiIiBvciAiMCIgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqYmFkX2xhbmdfdXNlX29uY2UKLWRpZmYgLS1naXQgYS9wb2QvcGVybGxvY2FsZS5wb2QgYi9wb2QvcGVybGxvY2FsZS5wb2QKLWluZGV4IDcwMWI0MjIuLjU4Y2FiYWYgMTAwNjQ0Ci0tLS0gYS9wb2QvcGVybGxvY2FsZS5wb2QKLSsrKyBiL3BvZC9wZXJsbG9jYWxlLnBvZAotQEAgLTEyMTcsNiArMTIxNywxNCBAQCBCPE5PVEU+OiBDPFBFUkxfQkFETEFORz4gb25seSBnaXZlcyB5b3UgYSB3YXkgdG8gaGlkZSB0aGUgd2FybmluZyBtZXNzYWdlLgotIFRoZSBtZXNzYWdlIHRlbGxzIGFib3V0IHNvbWUgcHJvYmxlbSBpbiB5b3VyIHN5c3RlbSdzIGxvY2FsZSBzdXBwb3J0LAotIGFuZCB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIHdoYXQgdGhlIHByb2JsZW0gaXMuCi0gCi0rPWl0ZW0gRFBLR19SVU5OSU5HX1ZFUlNJT04KLSsKLStPbiBEZWJpYW4gc3lzdGVtcywgaWYgdGhlIERQS0dfUlVOTklOR19WRVJTSU9OIGVudmlyb25tZW50IHZhcmlhYmxlIGlzCi0rc2V0ICh0byBhbnkgdmFsdWUpLCB0aGUgbG9jYWxlIGZhaWx1cmUgd2FybmluZ3Mgd2lsbCBiZSBzdXBwcmVzc2VkIGp1c3QKLStsaWtlIHdpdGggYSB6ZXJvIFBFUkxfQkFETEFORyBzZXR0aW5nLiBUaGlzIGlzIGRvbmUgdG8gYXZvaWQgZmxvb2RzCi0rb2Ygc3B1cmlvdXMgd2FybmluZ3MgZHVyaW5nIHN5c3RlbSB1cGdyYWRlcy4KLStTZWUgTDxodHRwOi8vYnVncy5kZWJpYW4ub3JnLzUwODc2ND4uCi0rCi0gPWJhY2sKLSAKLSBUaGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgbm90IHNwZWNpZmljIHRvIFBlcmw6IFRoZXkgYXJlCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWIzNzNiMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSA1OTFjMWY5YjdkNDc1NWJmYzU5ZDk2NjViYWIxZjJjYTQxMGRlNzY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJlbmRhbiBPJ0RlYSA8Ym9kQGRlYmlhbi5vcmc+Ci1EYXRlOiBUdWUsIDggTWFyIDIwMDUgMTk6MzA6MzggKzExMDAKLVN1YmplY3Q6IFNldCB1bWFzayBhcHByb3Byb2F0ZWx5IGZvciBzaXRlIGluc3RhbGwgZGlyZWN0b3JpZXMKLQotUG9saWN5IHJlcXVpcmVzIGdyb3VwIHdyaXRhYmxlIHNpdGUgZGlyZWN0b3JpZXMKLQotUGF0Y2gtTmFtZTogZGViaWFuL3dyaXRhYmxlX3NpdGVfZGlycy5kaWZmCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0gYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotaW5kZXggMTk3ZjEwMi4uNWYxYjg3ZiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCi0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotQEAgLTIxMzgsNyArMjEzOCw3IEBAIHF7CQkiJChJTlNUX0xJQikiICIkKERFU1RJTlNUQUxMUFJJVkxJQikiIFwKLSAKLSAKLSBwdXJlX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pIHVtYXNrIDAyMjsgJChNT0RfSU5TVEFMTCkgXAotKwkkKE5PRUNITykgdW1hc2sgMDI7ICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotICAgICBwdXNoIEBtLAotIHF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFNJVEVBUkNIRVhQKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLUBAIC0yMTk5LDggKzIxOTksOCBAQCBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotIAotIGRvY19zaXRlX2luc3RhbGwgOjogYWxsCi0gCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgdW1hc2sgMDIyOyAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLS0JLSQoTk9FQ0hPKSB1bWFzayAwMjI7ICQoRE9DX0lOU1RBTEwpIFwKLSsJLSQoTk9FQ0hPKSB1bWFzayAwMjsgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0rCS0kKE5PRUNITykgdW1hc2sgMDI7ICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2R5bmFsb2FkZXJoYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTlmMDdjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9keW5hbG9hZGVyaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gMmUwY2U1ZDI3ZTcwZGVmZDY2YWNlMDY2MWFmN2MyNGRhYWUzNGY4YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJpY2hhcmQgUHVyZGllIDxyaWNoYXJkLnB1cmRpZUBsaW51eGZvdW5kYXRpb24ub3JnPgotRGF0ZTogU2F0LCAxOSBKYW4gMjAxMyAyMzo0OToyNCArMDAwMAotU3ViamVjdDogW1BBVENIIDcvOF0gcGVybDogQWRkIGR5YW5sb2FkZXIgYnVpbGQgaGFjawotCi1IYWNrIHRoZSBkeW5hbWljIG1vZHVsZSBsb2FkZXIgc28gdGhhdCB3ZSB1c2UgbmF0aXZlIG1vZHVsZXMgc2luY2Ugd2UgY2FuJ3QgbG9hZAotdGhlIHRhcmdldCBvbmVzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLQotUlAKLTIwMTMvMDEvMTMKLQotLS0tCi0gZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTCB8IDQgKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2V4dC9EeW5hTG9hZGVyL0R5bmFMb2FkZXJfcG0uUEwgYi9leHQvRHluYUxvYWRlci9EeW5hTG9hZGVyX3BtLlBMCi1pbmRleCBlODI4ZjM1Li40MDIxNTU5IDEwMDY0NAotLS0tIGEvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotKysrIGIvZXh0L0R5bmFMb2FkZXIvRHluYUxvYWRlcl9wbS5QTAotQEAgLTM0Myw2ICszNDMsMTAgQEAgc3ViIGJvb3RzdHJhcCB7Ci0gICAgIGZvcmVhY2ggKEBJTkMpIHsKLSAJPDwkXk8tZXEtVk1TPj5jaG9wKCRfID0gVk1TOjpGaWxlc3BlYzo6dW5peHBhdGgoJF8pKTs8PC8kXk8tZXEtVk1TPj4KLSAJICAgICRkaXIgPSAiJF8vYXV0by8kbW9kcG5hbWUiOwotKwotKwlpZiAoZGVmaW5lZCAkRU5We1BFUkxfTElCfSBhbmQgZGVmaW5lZCAkRU5We1BFUkxIT1NUTElCfSkgewotKwkgICAgJGRpciA9fiBzLyRFTlZ7UEVSTF9MSUJ9LyRFTlZ7UEVSTEhPU1RMSUJ9L2c7Ci0rCX0KLSAJCi0gCW5leHQgdW5sZXNzIC1kICRkaXI7ICMgc2tpcCBvdmVyIHVuaW50ZXJlc3RpbmcgZGlyZWN0b3JpZXMKLSAJCi0tLSAKLTIuMS40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS1oaW50cy1saW51eC5wbC1saW5rLWxpYmdkYm1fY29tcGF0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OTRlZjcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGJhNGVkMGI1YjdiYWFkNTM1M2MxZTY1YjY1NWY0MWQ0NWUwMWM5OTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMjIgSnVuIDIwMTUgMjA6MDA6MTEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbDogbGluayBsaWJnZGJtX2NvbXBhdAotCi1GaXhlZCBmb3IgdGVzdCBjYXNlIC4uL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQ6Ci1vayAxIC0gdXNlIE9EQk1fRmlsZTsKLW9rIDIgLSB1c2UgRmNudGw7Ci0uL3Blcmw6IHN5bWJvbCBsb29rdXAgZXJyb3I6IC91c3IvbGliL3BlcmwvNS4yMi4wL2F1dG8vT0RCTV9GaWxlL09EQk1fRmlsZS5zbzogdW5kZWZpbmVkIHN5bWJvbDogZGJtaW5pdAotCi1UaGUgY2hlY2tpbmcgImlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nIiBkb2Vzbid0IHdvcmsgd2hlbiBjcm9zcwotYnVpbGQsIHNvIGFsd2F5cyBsaW5rIGxpYmdkYm1fY29tcGF0LCBzaW5jZSBwZXJsIGRlcGVuZHMgb24gZ2RibSBhbmQgd2UKLWFsd2F5cyBoYXZlIGxpYmdkYm1fY29tcGF0LgotCi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbCB8ICAgIDYgLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL2hpbnRzL2xpbnV4LnBsIGIvZXh0L09EQk1fRmlsZS9oaW50cy9saW51eC5wbAotaW5kZXggMjA0YmJhMC4uOTI3MWI0NSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLSsrKyBiL2V4dC9PREJNX0ZpbGUvaGludHMvbGludXgucGwKLUBAIC0xLDggKzEsMiBAQAotICMgdXNlcyBHREJNIGRibSBjb21wYXRpYmlsaXR5IGZlYXR1cmUgLSBhdCBsZWFzdCBvbiBTdVNFIDguMAotLSRzZWxmLT57TElCU30gPSBbJy1sZ2RibSddOwotLQotLSMgRGViaWFuL1VidW50dSBoYXZlIGxpYmdkYm1fY29tcGF0LnNvIGJ1dCBub3QgdGhpcyBmaWxlLAotLSMgc28gbGlua2luZyBtYXkgZmFpbAotLWZvcmVhY2ggKHNwbGl0IC8gLywgJENvbmZpZ3tsaWJwdGh9KSB7Ci0tICAgICRzZWxmLT57TElCU30tPlswXSAuPSAnIC1sZ2RibV9jb21wYXQnIGlmIC1lICRfLicvbGliZ2RibV9jb21wYXQuc28nOwotLX0KLSskc2VsZi0+e0xJQlN9ID0gWyctbGdkYm0gLWxnZGJtX2NvbXBhdCddOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2V4dC1PREJNX0ZpbGUtdC1vZGJtLnQtZml4LXRoZS1wYXRoLW9mLWRibXRfY29tbW9uLnAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjg1YjUwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gYjg0MmUxZGU3Nzk4YTFmN2RmNzcwYmIzZjE4NWFkMzM1NmU0OTBlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyMiBKdW4gMjAxNSAyMDowNjo1NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBleHQvT0RCTV9GaWxlL3Qvb2RibS50OiBmaXggdGhlICBwYXRoIG9mIGRibXRfY29tbW9uLnBsCi0KLUl0IHNob3VsZCBiZSBsaWIvZGJtdF9jb21tb24ucGwgd2hlbiBydW4gYnkgcnVuLXB0ZXN0LgotCi1GaXhlZDoKLUNhbid0IGxvY2F0ZSAuLi8uLi90L2xpYi9kYm10X2NvbW1vbi5wbCBpbiBASU5DCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLS0tLQotIGV4dC9PREJNX0ZpbGUvdC9vZGJtLnQgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9leHQvT0RCTV9GaWxlL3Qvb2RibS50IGIvZXh0L09EQk1fRmlsZS90L29kYm0udAotaW5kZXggMDc5YjlmMS4uMjUwYjk5MSAxMDA2NDQKLS0tLSBhL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLSsrKyBiL2V4dC9PREJNX0ZpbGUvdC9vZGJtLnQKLUBAIC0yLDcgKzIsNyBAQAotIAotIG91ciAkREJNX0NsYXNzID0gJ09EQk1fRmlsZSc7Ci0gCi0tcmVxdWlyZSAnLi4vLi4vdC9saWIvZGJtdF9jb21tb24ucGwnOwotK3JlcXVpcmUgJ2xpYi9kYm10X2NvbW1vbi5wbCc7Ci0gCi0gaWYgKCReTyBlcSAnaHB1eCcpIHsKLSAgICAgcHJpbnQgPDxFT007Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2ZpeF9iYWRfcnBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDllZmNiZS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZml4X2JhZF9ycGF0aC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci0yMDExLzA3LzAxCi0KLUZpeCB0aGVzZSBQYWNrYWdlIFFBIHdhcm5pbmdzIGJlZm9yZSB0aGV5IGFyZSBjb252ZXJ0ZWQgaW50byBmZXRhbCBlcnJvcnM6Ci0KLVdBUk5JTkc6IFFBIElzc3VlOiBwYWNrYWdlIHBlcmwtbW9kdWxlLWNvbXByZXNzIGNvbnRhaW5zIGJhZCBSUEFUSCAvYnVpbGRfZGlzay9wb2t5X2J1aWxkL2J1aWxkMC90bXAvc3lzcm9vdHMvcWVtdXg4Ni91c3IvbGliIGluIGZpbGUgL2J1aWxkX2Rpc2svcG9reV9idWlsZC9idWlsZDAvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3BlcmwtNS4xMi4zLXIxL3BhY2thZ2VzLXNwbGl0L3BlcmwtbW9kdWxlLWNvbXByZXNzL3Vzci9saWIvcGVybC81LjEyLjMvYXV0by9Db21wcmVzcy9SYXcvWmxpYi9abGliLnNvCi0KLVRoaXMgZml4ZXMgdGhpcyB3YXJuaW5nIGZvciBwZXJsIHJlY2lwZSBhcyB3ZWxsIGFzIGxpYnhtbC1wYXJzZXItcGVybCByZWNpcGUuIAotSXQgaXMgYSBmaXggdG8gTWFrZU1ha2VyIHdpdGhpbiBwZXJsLCBzbyBhbGwgc3VjaCBwZXJsIHJlY2lwZXMgd2lsbCBnZXQgCi1maXhlZCB3aXRoIHRoaXMgcGVybCBmaXguCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTGlibGlzdC9LaWQucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotKysrIHBlcmwtNS4yNC4xL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotQEAgLTU3LDYgKzU3LDcgQEAgc3ViIF91bml4X29zMl9leHQgewotICAgICBteSAoICRmb3VuZCApID0gMDsKLSAKLSAgICAgIyBEZWJpYW4tc3BlY2lmaWM6IGRvbid0IHVzZSBMRF9SVU5fUEFUSCBmb3Igc3RhbmRhcmQgZGlycwotKyAgICBwdXNoKEBsaWJwYXRoLCAiU1lTUk9PVExJQiIpOwotICAgICAkbGRfcnVuX3BhdGhfc2VlbnskX30rKyBmb3IgQGxpYnBhdGg7Ci0gCi0gICAgIGZvcmVhY2ggbXkgJHRoaXNsaWIgKCBzcGxpdCAnICcsICRwb3RlbnRpYWxfbGlicyApIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9nZW5lcmF0ZS1zaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdmNmU2OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvZ2VuZXJhdGUtc2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVVzZSB0aGUgbGQgZmxhZ3MgZnJvbSB0aGUgc3VwcGxpZWQgY29uZmlndXJhdGlvbiBmaWxlLiBGb3Igc2ggd2UgbmVlZCB0aGUKLWZsYWdzIHRoYXQgc3BlY2lmeSB0byBidWlsZCBQSUMgY29kZSBzbyB0aGF0IHRoZSBzaGFyZWQgbGlicmFyaWVzIHdvcmsuCi0KLUluZGV4OiBwZXJsLTUuMTQuMi9Dcm9zcy9nZW5lcmF0ZV9jb25maWdfc2gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEwLTEyLTMwIDA0OjA3OjE0LjAwMDAwMDAwMCArMDIwMAotKysrIHBlcmwtNS4xNC4yL0Nyb3NzL2dlbmVyYXRlX2NvbmZpZ19zaAkyMDEyLTExLTIyIDE1OjU4OjQ5Ljg1Mjg1MjgwNSArMDIwMAotQEAgLTE5LDEwICsxOSwxMCBAQAotICRjYWxsYmFja3MtPnsnYXInfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkFSIiwgImFybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2FyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotICRjYWxsYmFja3MtPnsnY2MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkNDIiwgImFybS1saW51eC1nY2MiXV07Ci0tJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotLSRjYWxsYmFja3MtPnsnY2NmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1mbm8tc3RyaWN0LWFsaWFzaW5nIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLS0kY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIi1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSsjJGNhbGxiYWNrcy0+eydjY2NkbGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDRkxBR1MiLCAiIl1dOwotKyMkY2FsbGJhY2tzLT57J2NjZGxmbGFncyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiQ0ZMQUdTIiwgIiJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzX2luc2VydCwgWyJDRkxBR1MiLCAiLWZuby1zdHJpY3QtYWxpYXNpbmcgLURfR05VX1NPVVJDRSAtRFRIUkVBRFNfSEFWRV9QSURTIC1EX0xBUkdFRklMRV9TT1VSQ0UgLURfRklMRV9PRkZTRVRfQklUUz02NCJdXTsKLSskY2FsbGJhY2tzLT57J2NjZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0LCBbIkNGTEFHUyIsICItRF9HTlVfU09VUkNFIC1EVEhSRUFEU19IQVZFX1BJRFMgLURfTEFSR0VGSUxFX1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0Il1dOwotICRjYWxsYmFja3MtPnsnY2NuYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQyIsICJhcm0tbGludXgtZ2NjIl1dOwotICRjYWxsYmFja3MtPnsnY3BwJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1AiLCAiYXJtLWxpbnV4LWNwcCJdXTsKLSAkY2FsbGJhY2tzLT57J2NwcGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJDQ1BGTEFHUyIsICItZm5vLXN0cmljdC1hbGlhc2luZyJdXTsKLUBAIC0zMCw2ICszMCw3IEBACi0gJGNhbGxiYWNrcy0+eydjcHBzdGRpbid9ID0gW1wmc2ltcGxlX3Byb2Nlc3NfYXBwZW5kLCBbIkNDIiwgImFybS1saW51eC1nY2MgLUUiLCAiLUUiXV07Ci0gJGNhbGxiYWNrcy0+eydmdWxsX2FyJ30gPSBbXCZiYWNrdGljaywgWyJBUiIsICJ3aGljaCAkRU5We0FSfSIsICIvdXNyL2xvY2FsL2FybS8yLjk1LjMvYmluL2FybS1saW51eC1hciJdXTsKLSAkY2FsbGJhY2tzLT57J2xkJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMRCIsICJhcm0tbGludXgtbGQiXV07Ci0rJGNhbGxiYWNrcy0+eydsZGRsZmxhZ3MnfSA9IFtcJnNpbXBsZV9wcm9jZXNzLCBbIkxERExGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydsZGZsYWdzJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJMREZMQUdTIiwgIiJdXTsKLSAkY2FsbGJhY2tzLT57J2xkZmxhZ3NfdXNlbGFyZ2VmaWxlcyd9ID0gW1wmc2ltcGxlX3Byb2Nlc3MsIFsiTERGTEFHUyIsICIiXV07Ci0gJGNhbGxiYWNrcy0+eydteWFyY2huYW1lJ30gPSBbXCZzaW1wbGVfcHJvY2VzcywgWyJTWVMiLCAiYXJtdjRsLWxpbnV4Il1dOwotQEAgLTEwNSw2ICsxMDYsMjMgQEAKLSAKLSB9Ci0gCi0rIyBJbnNlcnQgZW52IHZhciBpbnRvIHRoZSB2YXJpYWJsZXMgdmFsdWUKLStzdWIgc2ltcGxlX3Byb2Nlc3NfaW5zZXJ0IHsKLSsJbXkgJGtleSA9IHNoaWZ0OwotKwlteSAkdmFsdWUgPSBzaGlmdDsKLSsJbXkgJGVudnZhciA9ICRjYWxsYmFja3MtPnska2V5fS0+WzFdWzBdOwotKwotKwlpZiAoJEVOVnskZW52dmFyfSkgewotKwkJIyBTdHJpcCBxdW90ZXMgZnJvbSB2YWx1ZQotKwkJJHZhbHVlID1+IHMvXlwnLy87Ci0rCQkkdmFsdWUgPX4gcy9cJyQvLzsKLSsJCSMgUmVtb3ZlIC1JL3Vzci9sb2NhbC8uLi4gZnJvbSB0aGUgdmFsdWUKLSsJCSR2YWx1ZSA9fiBzI1xXLUkvdXNyL2xvY2FsL1x3K1xXIyAjZzsKLSsJCSMgUHJlcGVuZCBlbnYgdmFyIChPRSBzZXR0aW5nKSB0byB2YWx1ZQotKwkJcHJpbnQoIiRrZXk9XCckRU5WeyRlbnZ2YXJ9ICR2YWx1ZVwnXG4iKTsKLSsJfQotK30KLSsKLSBzdWIgbGlicmFyeV9tdW5nZSB7Ci0gCW15ICRrZXkgPSBzaGlmdDsKLSAJbXkgJHZhbHVlID0gc2hpZnQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvaW5zdGFsbHBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmZDFmNTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2luc3RhbGxwZXJsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1JbmRleDogcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2luc3RhbGxwZXJsCi0rKysgcGVybC01LjI0LjEvaW5zdGFsbHBlcmwKLUBAIC0yLDggKzIsOCBAQAotIAotIEJFR0lOIHsKLSAgICAgY2hkaXIgJy4uJyBpZiAhLWQgJ2xpYicgYW5kIC1kICcuLi9saWInOwotLSAgICBASU5DID0gJ2xpYic7Ci0tICAgICRFTlZ7UEVSTDVMSUJ9ID0gJ2xpYic7Ci0rIyAgICBASU5DID0gJ2xpYic7Ci0rIyAgICAkRU5We1BFUkw1TElCfSA9ICdsaWInOwotIAotICAgICAjIFRoaXMgbmVlZHMgdG8gYmUgYXQgQkVHSU4gdGltZSwgYmVmb3JlIGFueSB1c2Ugb2YgQ29uZmlnCi0gICAgICMgaW5zdGFsbF9saWIgaXRzZWxmIGxvYWRzIGFuZCBpbXBvcnRzIENvbmZpZyBpbnRvIG1haW46OgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL2xldGdjYy1maW5kLWVycm5vLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTYxZTRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9sZXRnY2MtZmluZC1lcnJuby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotVGhpcyByZW1vdmVzIGFsbCB0aGUgbG9naWMgdGhhdCBwZXJsIHVzZXMgdG8gbG9jYXRlIGFuIGFwcHJvcHJpYXRlCi1lcnJuby5oIGZvciB0aGUgdGFyZ2V0LiBJbnN0ZWFkIHdlIHNpbXBsZSBjcmVhdGUgYSBmaWxlIHRoYXQgZG9lcwotCi0gICNpbmNsdWRlICJlcnJuby5oIgotCi1hbmQgdXNlIHRoYXQgYXMgdGhlIGZpbGUgdG8gcGFyc2UuIFRoaXMgaXMgbmVlZGVkIHdoZW4gdXNpbmcgYW4KLWV4dGVybmFsIHRvb2xjaGFpbiBzaW5jZSBwZXJsIHdpbGwgc2VhcmNoIGluICR7U1RBR0lOR19JTkNESVJ9IGZvcgotZXJybm8uaCAod2hlbiB1c2luZyBnY2MpIGFuZCB0aGF0IGlzbid0IHdoZXJlIGl0J3MgbG9jYXRlZCAtIGl0cwotd2hlcmV2ZXIgdGhlIGV4dGVybmFsIHRvb2xjaGFpbiBrZWVwcyBpdCdzIGhlYWRlcnMuCi0KLUluZGV4OiBwZXJsLTUuMTIuMy9leHQvRXJybm8vRXJybm9fcG0uUEwKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIHBlcmwtNS4xMi4zL2V4dC9FcnJuby9FcnJub19wbS5QTAotQEAgLTE3LDggKzE3LDE4IEBAIHVubGluayAiRXJybm8udG1wIiBpZiAtZiAiRXJybm8udG1wIjsKLSBvcGVuIE9VVCwgIj5FcnJuby50bXAiIG9yIGRpZSAiQ2Fubm90IG9wZW4gRXJybm8udG1wOiAkISI7Ci0gc2VsZWN0IE9VVDsKLSBteSAkZmlsZTsKLS1teSBAZmlsZXMgPSBnZXRfZmlsZXMoKTsKLS1pZiAoJENvbmZpZ3tnY2N2ZXJzaW9ufSBuZSAnJyAmJiAkXk8gZXEgJ01TV2luMzInKSB7Ci0rI215IEBmaWxlcyA9IGdldF9maWxlcygpOwotK215IEBmaWxlcyA9ICgiZXJybm8uaCIpOwotKwotK2lmICgxKSB7Ci0rICAgIG9wZW4gSU5DUywgJz5pbmNsdWRlcy5jJyBvcgotKwlkaWUgIkNhbm5vdCBvcGVuIGluY2x1ZGVzLmMiOwotKyAgICBwcmludCBJTkNTIHFxWyNpbmNsdWRlICJlcnJuby5oIlxuXTsKLSsgICAgY2xvc2UgSU5DUzsKLSsgICAgcHJvY2Vzc19maWxlKCdpbmNsdWRlcy5jJyk7Ci0rICAgIHVubGluayAnaW5jbHVkZXMuYyc7Ci0rfQotK2Vsc2lmICgkQ29uZmlne2djY3ZlcnNpb259IG5lICcnICYmICReTyBlcSAnTVNXaW4zMicpIHsKLSAgICAgIyBNaW5HVyBjb21wbGFpbnMgIndhcm5pbmc6ICNwcmFnbWEgc3lzdGVtX2hlYWRlciBpZ25vcmVkIG91dHNpZGUgaW5jbHVkZQotICAgICAjIGZpbGUiIGlmIHRoZSBoZWFkZXIgZmlsZXMgYXJlIHByb2Nlc3NlZCBpbmRpdmlkdWFsbHksIHNvIGluY2x1ZGUgdGhlbQotICAgICAjIGFsbCBpbiAuYyBmaWxlIGFuZCBwcm9jZXNzIHRoYXQgaW5zdGVhZC4KLUBAIC01Myw3ICs2Myw3IEBAIHN1YiBwcm9jZXNzX2ZpbGUgewotICAgICAgICAgY2hvbXAoJGZpbGUgPSBgY3lncGF0aCAtdyAiJGZpbGUiYCk7Ci0gICAgIH0KLSAKLS0gICAgcmV0dXJuIHVubGVzcyBkZWZpbmVkICRmaWxlIGFuZCAtZiAkZmlsZTsKLSsjICAgIHJldHVybiB1bmxlc3MgZGVmaW5lZCAkZmlsZSBhbmQgLWYgJGZpbGU7Ci0gIyAgICB3YXJuICJQcm9jZXNzaW5nICRmaWxlXG4iOwotIAotICAgICBsb2NhbCAqRkg7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvbWFrZV9leHQucGwtZml4LXJlZ2VuZXJhdGUtbWFrZWZpbGUtZmFpbGVkLXdoaWxlLWNjLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmM1OTc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotbWFrZV9leHQucGw6IGZpeCByZWdlbmVyYXRlIG1ha2VmaWxlIGZhaWxlZCB3aGlsZSAkY2MgY2hhbmdlZAotCi1XaGlsZSAkY2MgY2hhbmdlZCwgdGhlIGV4aXN0YW5jZSBvZiAneGRlZmluZScgY2F1c2VkIG1ha2VmaWxlCi1yZWdlbmVyYXRpb24gZmFpbGVkLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gbWFrZV9leHQucGwgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvbWFrZV9leHQucGwKLSsrKyBwZXJsLTUuMjQuMS9tYWtlX2V4dC5wbAotQEAgLTMzNSw2ICszMzUsMTAgQEAgc3ViIGJ1aWxkX2V4dGVuc2lvbiB7Ci0gICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyBub24tQ3Jvc3MgbWFrZWZpbGVcbiI7Ci0gICAgICAgICAgICAgICAgIGNsb3NlICRtZmggb3IgZGllICJjbG9zZSAkbWFrZWZpbGU6ICQhIjsKLSAgICAgICAgICAgICAgICAgX3VubGluaygkbWFrZWZpbGUpOwotKyAgICAgICAgICAgICAgICBpZigtZSAneGRlZmluZScpIHsKLSsgICAgICAgICAgICAgICAgICAgIHByaW50ICJEZWxldGluZyB4ZGVmaW5lIGZvciByZWdlbmVyYXRlIG1ha2VmaWxlXG4iOwotKyAgICAgICAgICAgICAgICAgICAgX3VubGluaygneGRlZmluZScpOwotKyAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1ub3BhY2tsaXN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDgyZGNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtbm9wYWNrbGlzdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtkZWJpYW4gcGF0Y2hdCi0KLVBhcnQgb2YgNTJfZGViaWFuX2V4dHV0aWxzX2hhY2tzLnBhdGNoIGp1c3QgdG8gZXhjbHVkZSB0aGUgaW5zdGFsbGF0aW9uIG9mIC5wYWNrbGlzdCBmaWxlcwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbSB8ICAgMzUgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLWluZGV4IGY2MzE0NWMuLmE1ODk3MTAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci9saWIvRXh0VXRpbHMvTU1fVW5peC5wbQotKysrIGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLUBAIC0yMTIyLDExICsyMTIyLDYgQEAgcHVyZV9wZXJsX2luc3RhbGwgOjogYWxsCi0gfTsKLSAKLSAgICAgcHVzaCBAbSwKLS1xewkJcmVhZCAifS4kc2VsZi0+Y2F0ZmlsZSgnJChQRVJMX0FSQ0hMSUIpJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExBUkNITElCKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLS0KLS0gICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFBSSVZMSUIpIiBcCi0gCQkiJChJTlNUX0FSQ0hMSUIpIiAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIiBcCi0gCQkiJChJTlNUX0JJTikiICIkKERFU1RJTlNUQUxMQklOKSIgXAotQEAgLTIxNTgsMTAgKzIxNTMsNiBAQCBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFNJVEVMSUIpIiBcCi0gcHVyZV92ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAJJChOT0VDSE8pICQoTU9EX0lOU1RBTEwpIFwKLSB9OwotLSAgICBwdXNoIEBtLAotLXF7CQlyZWFkICJ9LiRzZWxmLT5jYXRmaWxlKCckKFZFTkRPUkFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIgXAotLQkJd3JpdGUgIn0uJHNlbGYtPmNhdGZpbGUoJyQoREVTVElOU1RBTExWRU5ET1JBUkNIKScsJ2F1dG8nLCckKEZVTExFWFQpJywnLnBhY2tsaXN0JykucXsiIFwKLS19IHVubGVzcyAkc2VsZi0+e05PX1BBQ0tMSVNUfTsKLSAKLSAgICAgcHVzaCBAbSwKLSBxewkJIiQoSU5TVF9MSUIpIiAiJChERVNUSU5TVEFMTFZFTkRPUkxJQikiIFwKLUBAIC0yMTg3LDM3ICsyMTc4LDE5IEBAIGRvY192ZW5kb3JfaW5zdGFsbCA6OiBhbGwKLSAKLSAgICAgcHVzaCBAbSwgcXsKLSBkb2NfcGVybF9pbnN0YWxsIDo6IGFsbAotLQkkKE5PRUNITykgJChFQ0hPKSBBcHBlbmRpbmcgaW5zdGFsbGF0aW9uIGluZm8gdG8gIiQoREVTVElOU1RBTExBUkNITElCKS9wZXJsbG9jYWwucG9kIgotLQktJChOT0VDSE8pICQoTUtQQVRIKSAiJChERVNUSU5TVEFMTEFSQ0hMSUIpIgotLQktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLS0JCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0tCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFBSSVZMSUIpIFwKLS0JCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotLQkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotLQkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0gCi0gZG9jX3NpdGVfaW5zdGFsbCA6OiBhbGwKLS0JJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMQVJDSExJQikvcGVybGxvY2FsLnBvZCIKLS0JLSQoTk9FQ0hPKSAkKE1LUEFUSCkgIiQoREVTVElOU1RBTExBUkNITElCKSIKLSsJJChOT0VDSE8pICQoRUNITykgQXBwZW5kaW5nIGluc3RhbGxhdGlvbiBpbmZvIHRvICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpL3Blcmxsb2NhbC5wb2QiCi0rCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMU0lURUFSQ0gpIgotIAktJChOT0VDSE8pICQoRE9DX0lOU1RBTEwpIFwKLSAJCSJNb2R1bGUiICIkKE5BTUUpIiBcCi0gCQkiaW5zdGFsbGVkIGludG8iICQoSU5TVEFMTFNJVEVMSUIpIFwKLSAJCUxJTktUWVBFICIkKExJTktUWVBFKSIgXAotIAkJVkVSU0lPTiAiJChWRVJTSU9OKSIgXAotIAkJRVhFX0ZJTEVTICIkKEVYRV9GSUxFUykiIFwKLS0JCT4+ICJ9LiRzZWxmLT5jYXRmaWxlKCckKERFU1RJTlNUQUxMQVJDSExJQiknLCdwZXJsbG9jYWwucG9kJykucXsiCi0rCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTFNJVEVBUkNIKScsJ3Blcmxsb2NhbC5wb2QnKS5xeyIKLSAKLSBkb2NfdmVuZG9yX2luc3RhbGwgOjogYWxsCi0tCSQoTk9FQ0hPKSAkKEVDSE8pIEFwcGVuZGluZyBpbnN0YWxsYXRpb24gaW5mbyB0byAiJChERVNUSU5TVEFMTEFSQ0hMSUIpL3Blcmxsb2NhbC5wb2QiCi0tCS0kKE5PRUNITykgJChNS1BBVEgpICIkKERFU1RJTlNUQUxMQVJDSExJQikiCi0tCS0kKE5PRUNITykgJChET0NfSU5TVEFMTCkgXAotLQkJIk1vZHVsZSIgIiQoTkFNRSkiIFwKLS0JCSJpbnN0YWxsZWQgaW50byIgJChJTlNUQUxMVkVORE9STElCKSBcCi0tCQlMSU5LVFlQRSAiJChMSU5LVFlQRSkiIFwKLS0JCVZFUlNJT04gIiQoVkVSU0lPTikiIFwKLS0JCUVYRV9GSUxFUyAiJChFWEVfRklMRVMpIiBcCi0tCQk+PiAifS4kc2VsZi0+Y2F0ZmlsZSgnJChERVNUSU5TVEFMTEFSQ0hMSUIpJywncGVybGxvY2FsLnBvZCcpLnF7IgotIAotIH0gdW5sZXNzICRzZWxmLT57Tk9fUEVSTExPQ0FMfTsKLSAKLUBAIC0yMjI2LDEzICsyMTk5LDExIEBAIHVuaW5zdGFsbCA6OiB1bmluc3RhbGxfZnJvbV8kKElOU1RBTExESVJTKWRpcnMKLSAJJChOT0VDSE8pICQoTk9PUCkKLSAKLSB1bmluc3RhbGxfZnJvbV9wZXJsZGlycyA6OgotLQkkKE5PRUNITykgJChVTklOU1RBTEwpICJ9LiRzZWxmLT5jYXRmaWxlKCckKFBFUkxfQVJDSExJQiknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIAotIHVuaW5zdGFsbF9mcm9tX3NpdGVkaXJzIDo6Ci0gCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoU0lURUFSQ0hFWFApJywnYXV0bycsJyQoRlVMTEVYVCknLCcucGFja2xpc3QnKS5xeyIKLSAKLSB1bmluc3RhbGxfZnJvbV92ZW5kb3JkaXJzIDo6Ci0tCSQoTk9FQ0hPKSAkKFVOSU5TVEFMTCkgIn0uJHNlbGYtPmNhdGZpbGUoJyQoVkVORE9SQVJDSEVYUCknLCdhdXRvJywnJChGVUxMRVhUKScsJy5wYWNrbGlzdCcpLnF7IgotIH07Ci0gCi0gICAgIGpvaW4oIiIsQG0pOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL25hdGl2ZS1wZXJsaW5jLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGJiMWY2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9uYXRpdmUtcGVybGluYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotSW5kZXg6IHBlcmwtNS44LjgvbGliL0V4dFV0aWxzL01NX1VuaXgucG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTIuMy5vcmlnL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9NTV9Vbml4LnBtCTIwMDgtMTAtMzEgMjI6MDE6MzUuMDAwMDAwMDAwICswMDAwCi0rKysgcGVybC01LjEyLjMvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvbGliL0V4dFV0aWxzL01NX1VuaXgucG0JMjAwOC0xMC0zMSAyMjowMTozNS4wMDAwMDAwMDAgKzAwMDAKLUBAIC0xNTk3LDYgKzE1OTcsMTkgQEAKLSAJJHNlbGYtPntQRVJMX0xJQn0gICAgIHx8PSAkQ29uZmlne3ByaXZsaWJleHB9OwotIAkkc2VsZi0+e1BFUkxfQVJDSExJQn0gfHw9ICRDb25maWd7YXJjaGxpYmV4cH07Ci0gCSRzZWxmLT57UEVSTF9JTkN9ICAgICA9ICRzZWxmLT5jYXRkaXIoIiRzZWxmLT57UEVSTF9BUkNITElCfSIsIkNPUkUiKTsgIyB3aWxkIGd1ZXNzIGZvciBub3cKLSsJIyBDaGVjayBmb3IgZW52aXJvbm1lbnQgb3ZlcnJpZGUgc28gd2UnbGwgZmluZCB0aGUgaGVhZGVycyBpbiB0aGUgY29ycmVjdCBwbGFjZQotKyAgICAgICAgaWYgKGRlZmluZWQgJEVOVntQRVJMX0xJQn0pCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgJHNlbGYtPntQRVJMX0xJQn0gPSAkRU5We1BFUkxfTElCfTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTF9BUkNITElCfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfQVJDSExJQn0gPSAkRU5We1BFUkxfQVJDSExJQn07Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfSU5DfSkKLSsgICAgICAgIHsKLSsgICAgICAgICAgICAkc2VsZi0+e1BFUkxfSU5DfSA9ICRFTlZ7UEVSTF9JTkN9OwotKyAgICAgICAgfQotIAlteSAkcGVybF9oOwotIAotIAlpZiAobm90IC1mICgkcGVybF9oID0gJHNlbGYtPmNhdGZpbGUoJHNlbGYtPntQRVJMX0lOQ30sInBlcmwuaCIpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmYzZDZkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC01LjI2LjEtZ3VhcmRfb2xkX2xpYmNyeXB0X2ZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLWNvbW1pdCAxM2U3MGIzOTdkY2IwZDFiZjRhODY5YjY3MGYwNDFjMWQ3YjczMGQwCi1BdXRob3I6IEJq4Lij4LiWcm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qub3JnPgotRGF0ZTogICBTYXQgSmFuIDIwIDIwOjIyOjUzIDIwMTggKzAxMDAKLQotICAgIHBwOiBHdWFyZCBmaXggZm9yIHJlYWxseSBvbGQgYnVnIGluIGdsaWJjIGxpYmNyeXB0Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+Ci0KLWRpZmYgLS1naXQgYS9wcC5jIGIvcHAuYwotaW5kZXggZDUwYWQ3ZGRiZi4uNjUxMGM3YjE1YyAxMDA2NDQKLS0tLSBhL3BwLmMKLSsrKyBiL3BwLmMKLUBAIC0zNjUwLDggKzM2NTAsMTIgQEAgUFAocHBfY3J5cHQpCi0gI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fRU1YX18pCi0gCWlmIChQTF9yZWVudHJhbnRfYnVmZmVyLT5fY3J5cHRfc3RydWN0X2J1ZmZlcikgewotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmluaXRpYWxpemVkID0gMDsKLS0JICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZyAqLwotKyNpZiAoZGVmaW5lZChfX0dMSUJDX18pICYmIF9fR0xJQkNfXyA9PSAyKSAmJiBcCi0rICAgIChkZWZpbmVkKF9fR0xJQkNfTUlOT1JfXykgJiYgX19HTElCQ19NSU5PUl9fID49IDIgJiYgX19HTElCQ19NSU5PUl9fIDwgNCkKLSsJICAgIC8qIHdvcmsgYXJvdW5kIGdsaWJjLTIuMi41IGJ1ZywgaGFzIGJlZW4gZml4ZWQgYXQgc29tZQotKwkgICAgICogdGltZSBpbiBnbGliYy0yLjMuWCAqLwotIAkgICAgUExfcmVlbnRyYW50X2J1ZmZlci0+X2NyeXB0X3N0cnVjdF9idWZmZXItPmN1cnJlbnRfc2FsdGJpdHMgPSAwOwotKyNlbmRpZgotIAl9Ci0gI2VuZGlmCi0gICAgIH0KLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdkZDkwNDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtUGF0aFRvb2xzLWRvbi10LWZpbHRlci1vdXQtYmxpYi1mcm9tLUlOQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gOTBjMjUyY2VjYzM4YWVkNWQ1ZmFlZGIzMDQ4NWRkNmVlZTJlNTRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMSBGZWIgMjAxNSAxNToxNDo0MCArMDgwMAotU3ViamVjdDogW1BBVENIXSBwZXJsIC8gUGF0aFRvb2xzOiBkb24ndCBmaWx0ZXIgb3V0IGJsaWIgZnJvbSBASU5DCi0KLUlmICRUT1BESVIgaW5jbHVkZXMgdGhlIHN0cmluZyAiYmxpYiIsIGZpbHRlciBpdCBvdXQgZnJvbSBASU5DIG1heSBlbXB0eQotdGhlIEBJTkMgYW5kIGNhdXNlIGJ1aWxkIGVycm9ycyBsaWtlOgotCi0gIENhbid0IGxvY2F0ZSBFeHRVdGlscy9NYWtlTWFrZXIucG0gaW4gQElOQyBcCi0gICh5b3UgbWF5IG5lZWQgdG8gaW5zdGFsbCB0aGUgRXh0VXRpbHM6Ok1ha2VNYWtlciBtb2R1bGUpIFwKLSAgKEBJTkMgY29udGFpbnM6IC4pIGF0IE1ha2VmaWxlLlBMCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGRpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIHwgMyAtLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Rpc3QvUGF0aFRvb2xzL01ha2VmaWxlLlBMIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLWluZGV4IDFiMjFkZTQuLmY1NjJjYjIgMTAwNjQ0Ci0tLS0gYS9kaXN0L1BhdGhUb29scy9NYWtlZmlsZS5QTAotKysrIGIvZGlzdC9QYXRoVG9vbHMvTWFrZWZpbGUuUEwKLUBAIC0xLDYgKzEsMyBAQAotLQotLUJFR0lOIHsgQElOQyA9IGdyZXAgeyEvYmxpYi99IEBJTkMgfQotLQotIHJlcXVpcmUgNS4wMDU7Ci0gdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gV3JpdGVNYWtlZmlsZQotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1hcmNobGliLWV4cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzN2JmNTIzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWFyY2hsaWItZXhwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcGVybDogYWRkIGFyY2hsaWJfZXhwIHZhcmlhYmxlIHVzZWQgdG8gZ2VuZXJhdGUgQVJDSExJQl9FWFAgaW4gY29uZmlnLmgKLSAgICAKLXBlcmwuYyB1c2VzIGFuIEFSQ0hMSUJfRVhQIGRlZmluZSB0byBnZW5lcmF0ZSBjb21waWxlLXRpbWUgY29kZSB0aGF0Ci1hZGRzIHRoZSBhcmNobGliZXhwIHBhdGggdG8gQElOQyBkdXJpbmcgcnVuLXRpbWUgaW5pdGlhbGl6YXRpb24gb2YgYQotbmV3IHBlcmwgaW50ZXJwcmV0ZXIuCi0gICAgCi1CZWNhdXNlIHdlJ3ZlIGNoYW5nZWQgdGhpcyB2YWx1ZSBpbiBhIHRlbXBvcmFyeSB3YXkgdG8gbWFrZSBpdAotcG9zc2libGUgdG8gdXNlIEV4dFV0aWxzOjpFbWJlZCBpbiB0aGUgdGFyZ2V0IGJ1aWxkICh0aGUgdGVtcG9yYXJ5Ci12YWx1ZSBpbiBjb25maWcuc2ggZ2V0cyByZS1zdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyksIHRoZQotQVJDSExJQl9FWFAgdmFsdWUgdGhhdCBnZXRzIGdlbmVyYXRlZCBzdGlsbCB1c2VzIHRoZSB0ZW1wb3JhcnkgdmVyc2lvbgotaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgZXhwZWN0ZWQgdmVyc2lvbiAoaS5lLiBiZWNhdXNlcyBpdCdzIGluIHRoZQotZ2VuZXJhdGVkIGNvbmZpZy5oLCBpdCBkb2Vzbid0IGdldCBzdHJpcHBlZCBvdXQgZHVyaW5nIHBhY2thZ2luZyBsaWtlCi10aGUgb3RoZXJzIGluIGNvbmZpZy5zaCkuCi0KLVRoaXMgY3JlYXRlcyBhbiB1bm1vZGlmaWVkIHZlcnNpb24gY2FsbGVkIGFyY2hsaWJfZXhwIHRoYXQgZ2V0cyB1c2VkCi1ieSBhIG1vZGlmaWVkIGNvbmZpZ19oLlNIIHRvIGdldCB0aGUgY29ycmVjdCB2YWx1ZSBpbnRvIGNvbmZpZy5oCi0gICAgCi1UaGlzIHBhdGNoIHVzZXMgYW4gdW5tb2RpZmllZCB2ZXJzaW9uIG9mIGFyY2hsaWJleHAgY2FsbGVkCi1hcmNobGliX2V4cCwgaW50cm9kdWNlZCB0byBjb25maWcuc2gsIHdoaWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlCi1jb3JyZWN0IHZhbHVlIG9mIEFSQ0hMSUJfRVhQIGludG8gY29uZmlnLmgKLSAgCi1TZWUgWU9DVE8gIzMwOTkgZm9yIG1vcmUgaW5mby4KLQotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBUb20gWmFudXNzaSA8dG9tLnphbnVzc2lAaW50ZWwuY29tPgotCi1JbmRleDogcGVybC01LjI0LjEvY29uZmlnX2guU0gKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMjQuMS5vcmlnL2NvbmZpZ19oLlNICi0rKysgcGVybC01LjI0LjEvY29uZmlnX2guU0gKLUBAIC0xNDM0LDcgKzE0MzQsNyBAQCBzZWQgPDwhR1JPSyFUSElTISA+JENPTkZJR19IIC1lICdzIV4jdW5kCi0gICoJaW4gcHJvZ3JhbXMgdGhhdCBhcmUgbm90IHByZXBhcmVkIHRvIGRlYWwgd2l0aCB+IGV4cGFuc2lvbiBhdCBydW4tdGltZS4KLSAgKi8KLSAjJGRfYXJjaGxpYiBBUkNITElCICIkYXJjaGxpYiIJCS8qKi8KLS0jJGRfYXJjaGxpYiBBUkNITElCX0VYUCAiJGFyY2hsaWJleHAiCQkvKiovCi0rIyRkX2FyY2hsaWIgQVJDSExJQl9FWFAgIiRhcmNobGliX2V4cCIJCS8qKi8KLSAKLSAvKiBCSU46Ci0gICoJVGhpcyBzeW1ib2wgaG9sZHMgdGhlIHBhdGggb2YgdGhlIGJpbiBkaXJlY3Rvcnkgd2hlcmUgdGhlIHBhY2thZ2Ugd2lsbApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlncG0tc3dpdGNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNmNjMTVjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3BtLXN3aXRjaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czpJbmFwcHJvcHJpYXRlIFtuYXRpdmVdCi0KLVRoaXMgcGF0Y2ggaXMgdXNlZCBmb3IgcGVybC1uYXRpdmUgb25seS4gSXQgZW5hYmxlcyB0aGUgc3dpdGNoaW5nIG9mCi1jb25maWd1cmF0aW9uIGZpbGVzIGJldHdlZW4gQ29uZmlnX2hlYXZ5LnBsIGFuZAotQ29uZmlnX2hlYXZ5LXRhcmdldC5wbCBieSBzZXR0aW5nIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKLVBFUkxDT05GSUdUQVJHRVQgLSB0aGUgbGF0ZXIgY29udGFpbmluZyBzZXR0aW5ncyBmb3IgdGhlIHRhcmdldCB3aGlsZQotdGhlIGZvcm1lciBjb250YWlucyB0aG9zZSBmb3IgdGhlIGhvc3QuIFRoaXMgd2lsbCBhbGxvdyBjcGFuLmJiY2xhc3MKLXRvIHVzZSB0aGUgc2V0dGluZ3MgYXBwcm9wcmlhdGUgZm9yIHRoZSBuYXRpdmUgYW5kL29yIHRhcmdldCBidWlsZHMKLWFzIHJlcXVpcmVkLiBUaGlzIGFsc28gZGlzYWJsZXMgdGhlIHVzZSBvZiB0aGUgY2FjaGUgc2luY2UgdGhlIGNhY2hlZAotdmFsdWVzIHdvdWxkIGJlIHZhbGlkIGZvciB0aGUgaG9zdCBvbmx5LgotCi1JbmRleDogcGVybC01LjE0LjIvY29uZmlncG0KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBwZXJsLTUuMTQuMi5vcmlnL2NvbmZpZ3BtCi0rKysgcGVybC01LjE0LjIvY29uZmlncG0KLUBAIC02NTgsNyArNjU4LDcgQEAgc3ViIEZFVENIIHsKLSAgICAgbXkoJHNlbGYsICRrZXkpID0gQF87Ci0gCi0gICAgICMgY2hlY2sgZm9yIGNhY2hlZCB2YWx1ZSAod2hpY2ggbWF5IGJlIHVuZGVmIHNvIHdlIHVzZSBleGlzdHMgbm90IGRlZmluZWQpCi0tICAgIHJldHVybiBleGlzdHMgJHNlbGYtPnska2V5fSA/ICRzZWxmLT57JGtleX0gOiAkc2VsZi0+ZmV0Y2hfc3RyaW5nKCRrZXkpOwotKyAgICByZXR1cm4gJHNlbGYtPmZldGNoX3N0cmluZygka2V5KTsKLSB9Ci0gCi0gRU5ET0ZFTkQKLUBAIC04MTYsNyArODE2LDIxIEBAICRjb25maWdfdHh0IC49IHNwcmludGYgPDwnRU5ET0ZUSUUnLCAkZmEKLSBzdWIgREVTVFJPWSB7IH0KLSAKLSBzdWIgQVVUT0xPQUQgewotLSAgICByZXF1aXJlICdDb25maWdfaGVhdnkucGwnOwotKyAgICBteSAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnkucGwnOwotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGFuZCAkRU5We1BFUkxDT05GSUdUQVJHRVR9IGVxICJ5ZXMiKQotKyAgICB7Ci0rICAgICAgICAkY2ZnZmlsZSA9ICdDb25maWdfaGVhdnktdGFyZ2V0LnBsJzsKLSsgICAgfQotKyAgICBpZiAoZGVmaW5lZCAkRU5We1BFUkxfQVJDSExJQn0pCi0rICAgIHsKLSsgICAgICAgIHB1c2ggQElOQywgJEVOVntQRVJMX0FSQ0hMSUJ9OwotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgICAgIHBvcCBASU5DOwotKyAgICB9Ci0rICAgIGVsc2UKLSsgICAgewotKyAgICAgICAgcmVxdWlyZSAkY2ZnZmlsZTsKLSsgICAgfQotICAgICBnb3RvIFwmbGF1bmNoZXIgdW5sZXNzICRDb25maWc6OkFVVE9MT0FEID1+IC9sYXVuY2hlciQvOwotICAgICBkaWUgIiZDb25maWc6OkFVVE9MT0FEIGZhaWxlZCBvbiAkQ29uZmlnOjpBVVRPTE9BRCI7Ci0gfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtY29uZmlndXJlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAyNWU3ZjhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWNvbmZpZ3VyZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLSMhIC9iaW4vc2gKLQotIwotIyBHZW5lcmF0ZSB0aGUgY29tbW9uIHBlcmwgY29uZmlndXJhdGlvbgotIyBOZWVkcyB0byBiZSBydW4gb24gYSBob3N0IHRoYXQgbWF0Y2hlcyB0aGUgYml0c2l6ZSBvZiB0aGUgdGFyZ2V0IHBsYXRmb3JtCi0jCi0KLWVjaG8gc2ggQ29uZmlndXJlIC1kZXMgXAotICAgICAgICAtRG9wdGltaXplPS1PMiBcCi0gICAgICAgIC1EbXlob3N0bmFtZT1sb2NhbGhvc3QgXAotICAgICAgICAtRHBlcmxhZG1pbj1yb290QGxvY2FsaG9zdCBcCi0gICAgICAgIC1EY2M9Z2NjIFwKLSAgICAgICAgLURjZl9ieT0nT3BlbiBFbWJlZGRlZCcgXAotICAgICAgICAtRGluc3RhbGxwcmVmaXg9QERFU1RESVJAIFwKLSAgICAgICAgLURwcmVmaXg9L3VzciBcCi0gICAgICAgIC1EdmVuZG9ycHJlZml4PS91c3IgXAotICAgICAgICAtRHNpdGVwcmVmaXg9L3VzciBcCi0gICAgICAgIC1Eb3RoZXJsaWJkaXJzPS91c3IvbGliL3Blcmw1LzUuMjIuMSBcCi0gICAgICAgIC1EdXNlc2hycGxpYiBcCi0gICAgICAgIC1EdXNldGhyZWFkcyBcCi0gICAgICAgIC1EdXNlaXRocmVhZHMgXAotICAgICAgICAtRHVzZWxhcmdlZmlsZXMgXAotICAgICAgICAtVWRfZG9zdWlkIFwKLSAgICAgICAgLURkX3NlbWN0bF9zZW11biBcCi0gICAgICAgIC1VaV9kYiBcCi0gICAgICAgIC1VaV9uZGJtIFwKLSAgICAgICAgLVVpX2dkYm0gXAotICAgICAgICAtRGlfc2hhZG93IFwKLSAgICAgICAgLURpX3N5c2xvZyBcCi0gICAgICAgIC1EbWFuM2V4dD0zcG0gXAotICAgICAgICAtRHVzZXBlcmxpbyBcCi0gICAgICAgIC1EaW5zdGFsbHVzcmJpbnBlcmwgXAotICAgICAgICAtVWJpbmNvbXBhdDUwMDUgXAotICAgICAgICAtVXZlcnNpb25vbmx5IFwKLSAgICAgICAgLURwYWdlcj0nL3Vzci9iaW4vbGVzcyAtaXNyJwotCi1jcCAtZiBjb25maWcuc2ggY29uZmlnLnNoLkNPTU1PTgotCi1UQVJHRVRPUz0kKGdyZXAgbXlhcmNobmFtZSBjb25maWcuc2guQ09NTU9OIHwgc2VkICJzIy4qJ1woLipcKScuKiNcMSMiKQotCi1zZWQgLXIgLWkgY29uZmlnLnNoLkNPTU1PTiBcCi0JLWUgInMjKGluc3RhbGwuKj0nKSgvdXNyKS9sb2NhbCguKicpI1wxQERFU1RESVJAXDJcMyNnIiBcCi0JLWUgJ3MjJyRUQVJHRVRPUycjQEFSQ0hAI2cnCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1keW5sb2FkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NzIwNjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZHlubG9hZGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1BbGxvdyB0aGUgbG9jYXRpb24gdGhhdCAuc28gZmlsZXMgYXJlIHNlYXJjaGVkIGZvciBmb3IgZHluYW1pYwotbG9hZGluZyB0byBiZSBjaGFuZ2VkIHZpYSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS4gVGhpcyBpcyB0byBhbGxvdwotdXMgdG8gbG9hZCAuc28ncyBmcm9tIHRoZSBob3N0IHN5c3RlbSB3aGlsZSBidWlsZGluZyBmb3IgdGhlIHRhcmdldAotc3lzdGVtLgotCi1VcGRhdGUgYnkgTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4gMjAxMS8wNC8yMQotCi1JbmRleDogcGVybC01LjI0LjEvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHBlcmwtNS4yNC4xLm9yaWcvZGlzdC9YU0xvYWRlci9YU0xvYWRlcl9wbS5QTAotKysrIHBlcmwtNS4yNC4xL2Rpc3QvWFNMb2FkZXIvWFNMb2FkZXJfcG0uUEwKLUBAIC01Miw2ICs1MiwyMCBAQCBzdWIgbG9hZCB7Ci0gICAgIG15ICgkY2FsbGVyLCAkbW9kbGlibmFtZSkgPSBjYWxsZXIoKTsKLSAgICAgbXkgJG1vZHVsZSA9ICRjYWxsZXI7Ci0gCi0rICAgICMgT0U6IEFsbG93IGVudiB0byBmb3JtIGR5bmFtaWMgbG9hZGVyIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgcGxhY2UKLSsgICAgIyBUaGlzIGlzIHNvIGl0IGZpbmRzIHRoZSBob3N0IC5zbyBmaWxlcywgbm90IHRoZSB0YXJnZXRzCi0rICAgIGlmIChkZWZpbmVkICRFTlZ7UEVSTEhPU1RMSUJ9KQotKyAgICB7Ci0rICAgICAgICBteSAkaG9zdGxpYiA9ICRFTlZ7UEVSTEhPU1RMSUJ9OwotKyAgICAgICAgcHJpbnQgU1RERVJSICIqKiogTW9kdWxlIG5hbWUgSU46ICRtb2RsaWJuYW1lXG4iOwotKyAgICAgICAgKCRwMSwgJHAyLCAkcDMsICRwNCwgJHA1KSA9ICRtb2RsaWJuYW1lID1+IG0vKF4oLipsaWJcdypcLyk/KSgocGVybFwvWzAtOVwuXSpcLyk/KSguKikkLzsKLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIHAxOiAkcDEgIHAzOiAkcDMgIHA1OiAkcDVcbiI7Ci0rICAgICAgICBpZiAoICRwMSBuZSAiIiApIHsKLSsgICAgICAgICAgICAkbW9kbGlibmFtZSA9ICRob3N0bGliLiRwNTsKLSsgICAgICAgIH0KLSsgICAgICAgIHByaW50IFNUREVSUiAiKioqIE1vZHVsZSBuYW1lIE9VVDogJG1vZGxpYm5hbWVcbiI7Ci0rICAgIH0KLSsKLSAgICAgaWYgKEBfKSB7Ci0gICAgICAgICAkbW9kdWxlID0gJF9bMF07Ci0gICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczNzlkOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3BlcmwtZXJybm8tZ2VuZXJhdGlvbi1nY2M1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOkluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1UaGUgdXBzdHJlYW0gY29kZSBhc3N1bWVzIHRoYXQgdGhlIGNvbXBpbGVyIHZlcnNpb24gdXNlZCB0byBjb21waWxlciBtaW5pcGVybC9wZXJsLW5hdGl2ZQotaXMgdGhlIHNhbWUgYXMgdGhlIG9uZSBiZWluZyB1c2VkIHRvIGJ1aWxkIHRoZSBwZXJsIGJpbmFyeS4gU2luY2UgbW9zdCBwZW9wbGUgYXJlIG5vdCBydW5uaW5nCi1zeXN0ZW1zIHdpdGggZ2NjIDUsIGl0IGlzIHVubGlrZWx5IHRoYXQgaXQgd2lsbCB3b3JrIG9uIGFueSBzdXBwb3J0ZWQgaG9zdC4gU3dpdGNoIG91dCBnY2N2ZXJzaW9uCi1mb3IgdGhlIHZlcnNpb24gZXh0cmFjdGVkIGZyb20gJENDIC0tdmVyc2lvbi4KLQotSmVyZW15IFB1aGxtYW4gPGpwdWhsbWFuQG12aXN0YS5jb20+Ci0KLUZpeCBzcGFjZXMgaW4gYnJhY2tldHMgd2hpbGUgcnVubmluZyAkQ0MgLS12ZXJzaW9uCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBleHQvRXJybm8vRXJybm9fcG0uUEwgfCA2ICsrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2V4dC9FcnJuby9FcnJub19wbS5QTCBiL2V4dC9FcnJuby9FcnJub19wbS5QTAotaW5kZXggMWZkMjlkMC4uNzk3NmVhMiAxMDA2NDQKLS0tLSBhL2V4dC9FcnJuby9FcnJub19wbS5QTAotKysrIGIvZXh0L0Vycm5vL0Vycm5vX3BtLlBMCi1AQCAtMjI0LDkgKzIyNCwxMyBAQCBzdWIgd3JpdGVfZXJybm9fcG0gewotIAotICAgICB7CSMgQmVPUyAoc3VwcG9ydCBub3cgcmVtb3ZlZCkgZGlkIG5vdCBlbnRlciB0aGlzIGJsb2NrCi0gICAgICMgaW52b2tlIENQUCBhbmQgcmVhZCB0aGUgb3V0cHV0Ci0rICAgICAgICBteSAkY29tcGlsZXIgPSAkRU5WeydDQyd9OwotKyAgICAgICAgbXkgJGNvbXBpbGVyX291dCA9IGAkY29tcGlsZXIgLS12ZXJzaW9uYDsKLSsgICAgICAgICRjb21waWxlcl9vdXQgPX4gcy9cKC4qXCkvOy87Ci0rICAgICAgICBteSBAY29tcGlsZXJfdmVyc2lvbiA9IHNwbGl0IC8gLywkY29tcGlsZXJfb3V0OyAKLSAKLSAJbXkgJGluaGliaXRfbGluZW1hcmtlcnMgPSAnJzsKLS0JaWYgKCRDb25maWd7Z2NjdmVyc2lvbn0gPX4gL1xBKFxkKylcLi8gYW5kICQxID49IDUpIHsKLSsJaWYgKEBjb21waWxlcl92ZXJzaW9uWzJdID1+IC9cQShcZCspXC4vIGFuZCAkMSA+PSA1KSB7Ci0gCSAgICAjIEdDQyA1LjAgaW50ZXJsZWF2ZXMgZXhwYW5kZWQgbWFjcm9zIHdpdGggbGluZSBudW1iZXJzIGJyZWFraW5nCi0gCSAgICAjIGVhY2ggbGluZSBpbnRvIG11bHRpcGxlIGxpbmVzLiBSVCMxMjM3ODQKLSAJICAgICRpbmhpYml0X2xpbmVtYXJrZXJzID0gJyAtUCc7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZTk0NmRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLWZpeC1jb25mbGljdC1iZXR3ZWVuLXNraXBfYWxsLWFuZC1FTkQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODEgKzAsMCBAQAotU29tZSBQZXJsIHRlc3RzIGZhaWwgd2hlbiBydW4gb24gYSBjcm9zcy1jb21waWxlZCB0YXJnZXQgbWFjaGluZS4gQXBwbHkKLWEgc2xpZ2h0bHkgdHdlYWtlZCB1cHN0cmVhbSBwYXRjaCB0byBmaXggdGhlIHByb2JsZW1zLiBOb3RlczoKLSAgICAxLiBhcyBvZiAyIEp1biAyMDE2LCB0aGUgb3JpZ2luYWwgcGF0Y2ggaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY3VycmVudAotICAgICAgIEVVTU0gcmVsZWFzZXMsIGJ1dCBoYXMgbm90IG1hZGUgaXQgaW50byBwZXJsIGNvcmUgeWV0LgotICAgIDIuIHdoZW4gdGhlIGJhc2UgcGVybCBwYWNrYWdlIGlzIHVwZ3JhZGVkIGluIFlvY3RvLCB0aGlzIHBhdGNoIG1heSBuZWVkCi0gICAgICAgdG8gYmUgcmVwbGFjZWQgYnkgdGhlIG9yaWdpbmFsIHVwc3RyZWFtIHZlcnNpb24gdG8gY29ycmVjdGx5IGFwcGx5Ci0gICAgICAgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBFeHRVdGlscy1NYWtlTWFrZXIgYXQgdGhhdCB0aW1lLgotCi1bWU9DVE8gIzg2NTZdCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogQmlsbCBSYW5kbGUgPHdpbGxpYW0uYy5yYW5kbGVAaW50ZWwuY29tPgotCi1Gcm9tIDRhMDdhM2JkMTgzNjM5ODYxMTJjZjJiMzlkZWMzYzI5ODUzNTNmZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLURhdGU6IE1vbiwgMjIgRGVjIDIwMTQgMTk6MDQ6MzQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNvbmZsaWN0IGJldHdlZW4gc2tpcF9hbGwgYW5kIEVORCBzZWN0aW9uCi0KLXNpbmNlIHRoZSBjb21taXQgNDMwZGU3ODE4MDlhNmJlM2JjZDI1YTM0OWRjNDBjZTU0NDA1YWI1MwotdGhlIHRlc3Qgc3VpdGUgZmFpbHMgaW4gY3Jvc3MtY29tcGlsIGVudmlyb25tZW50IChwZXJsLTUuMjEuNiAmIHBlcmwtNS4yMS43KQotbGlrZSB0aGlzIDoKLQotICAgICQgLi9wZXJsIGhhcm5lc3MgLXYgLi4vY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotICAgIC4uL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgLi4KLSAgICAxLi4wICMgU0tJUCBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotICAgIG9rIDEgLSBjaGRpciB1cGRpcgotICAgIG9rIDIgLSB0ZWFyZG93bgotICAgICMgTG9va3MgbGlrZSB5b3UgcGxhbm5lZCAwIHRlc3RzIGJ1dCByYW4gMi4KLSAgICBza2lwcGVkOiBjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZQotCi10aGlzIGNvbW1pdCByZXN0b3JlcyB0aGUgaW1wbGljaXQgY2FsbCBvZiBwbGFuKCkgYXQgaW1wb3J0IHRpbWUgb2YgVGVzdDo6TW9yZQotCi1TaWduZWQtb2ZmLWJ5OiBGcmFuY29pcyBQZXJyYWQgPGZyYW5jb2lzLnBlcnJhZEBnYWR6Lm9yZz4KLS0tLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQgICAgIHwgNyArKysrLS0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9QTF9GSUxFUy50ICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgICAgICAgICAgICB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50ICAgICAgICAgICAgIHwgNiArKystLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udCB8IDQgKystLQotIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50ICAgICAgIHwgNCArKy0tCi0gY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCAgICAgICAgICAgfCA0ICsrLS0KLSBjcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50ICB8IDQgKystLQotIDggZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L0lOU1RBTExfQkFTRS50IGIvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9JTlNUQUxMX0JBU0UudAotaW5kZXggZjI3YjYyYy4uM2JiYjNhNiAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvSU5TVEFMTF9CQVNFLnQKLUBAIC0xNSwxMiArMTUsMTMgQEAgJENMRUFOVVAgJiY9IDE7ICMgc28gYWx3YXlzIDEgb3IgbnVtZXJpY2FsbHkgMAotIAotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpCRkQ7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIENvbmZpZzsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKHRlc3RzID0+IDMgKyAkQ0xFQU5VUCArIEBJTlNURElSUyAqICgxNSArICRDTEVBTlVQKSk7Ci0rICAgIDogKCk7Ci0rcGxhbiB0ZXN0cyA9PiAzICsgJENMRUFOVVAgKyBASU5TVERJUlMgKiAoMTUgKyAkQ0xFQU5VUCk7Ci0gCi0gbXkgJElzX1ZNUyA9ICReTyBlcSAnVk1TJzsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLWluZGV4IDA3NzlkYmIuLjg1ZDUzYTUgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L1BMX0ZJTEVTLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvUExfRklMRVMudAotQEAgLTExLDkgKzExLDkgQEAgdXNlIEZpbGU6OlRlbXAgcXdbdGVtcGRpcl07Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OlBMX0ZJTEVTOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiA5KTsKLSAKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLWluZGV4IDNkZDY2YWQuLmVkZGYyZTkgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2Jhc2ljLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvYmFzaWMudAotQEAgLTIwLDkgKzIwLDkgQEAgdXNlIHV0Zjg7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAodGVzdHMgPT4gMTcxKTsKLSB1c2UgRmlsZTo6RmluZDsKLWRpZmYgLS1naXQgYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L2VjaG8udCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1pbmRleCA3ODliODVmLi5jNDNiYzQ3IDEwMDY0NAotLS0tIGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9lY2hvLnQKLSsrKyBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvZWNoby50Ci1AQCAtMTQsMTEgKzE0LDExIEBAIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBGaWxlOjpUZW1wOwotIHVzZSBDd2QgJ2Fic19wYXRoJzsKLSAKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0tICAgIDogKCk7Ci0rICAgIDogKHRlc3RzID0+IDE4KTsKLSAKLSAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNldHVwCi0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9taW5fcGVybF92ZXJzaW9uLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotaW5kZXggYzVkNzhkNi4uMmVmMTE4ZCAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvbWluX3BlcmxfdmVyc2lvbi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L21pbl9wZXJsX3ZlcnNpb24udAotQEAgLTEzLDkgKzEzLDkgQEAgdXNlIFRpZU91dDsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6TVBWOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAzNik7Ci0gdXNlIEZpbGU6OlBhdGg7Ci1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9wbV90b19ibGliLnQgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotaW5kZXggZjFlMzQ4ZS4uZWJmYTI2YyAxMDA2NDQKLS0tLSBhL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcG1fdG9fYmxpYi50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3BtX3RvX2JsaWIudAotQEAgLTEyLDkgKzEyLDkgQEAgdXNlIEV4dFV0aWxzOjpNYWtlTWFrZXI7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6VXRpbHM7Ci0gdXNlIE1ha2VNYWtlcjo6VGVzdDo6U2V0dXA6OkJGRDsKLSB1c2UgQ29uZmlnOwotLXVzZSBUZXN0OjpNb3JlOwotIHVzZSBFeHRVdGlsczo6TU07Ci0tcGxhbiAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSt1c2UgVGVzdDo6TW9yZQotKyAgICAhTU0tPmNhbl9ydW4obWFrZSgpKSAmJiAkRU5We1BFUkxfQ09SRX0gJiYgJENvbmZpZ3sndXNlY3Jvc3Njb21waWxlJ30KLSAgICAgPyAoc2tpcF9hbGwgPT4gImNyb3NzLWNvbXBpbGluZyBhbmQgbWFrZSBub3QgYXZhaWxhYmxlIikKLSAgICAgOiAnbm9fcGxhbic7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9yZWN1cnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3QvcmVjdXJzLnQKLWluZGV4IDg0YzA5YTIuLjY2MWUwZGIgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3JlY3Vycy50Ci1AQCAtMTQsOSArMTQsOSBAQCB1c2UgRmlsZTo6VGVtcCBxd1t0ZW1wZGlyXTsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpVdGlsczsKLSB1c2UgTWFrZU1ha2VyOjpUZXN0OjpTZXR1cDo6UmVjdXJzOwotIHVzZSBDb25maWc7Ci0tdXNlIFRlc3Q6Ok1vcmU7Ci0gdXNlIEV4dFV0aWxzOjpNTTsKLS1wbGFuICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotK3VzZSBUZXN0OjpNb3JlCi0rICAgICFNTS0+Y2FuX3J1bihtYWtlKCkpICYmICRFTlZ7UEVSTF9DT1JFfSAmJiAkQ29uZmlneyd1c2Vjcm9zc2NvbXBpbGUnfQotICAgICA/IChza2lwX2FsbCA9PiAiY3Jvc3MtY29tcGlsaW5nIGFuZCBtYWtlIG5vdCBhdmFpbGFibGUiKQotICAgICA6ICh0ZXN0cyA9PiAyNik7Ci0gCi1kaWZmIC0tZ2l0IGEvY3Bhbi9FeHRVdGlscy1NYWtlTWFrZXIvdC9zZXZlcmFsX2F1dGhvcnMudCBiL2NwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL3Qvc2V2ZXJhbF9hdXRob3JzLnQKLWluZGV4IDFhNzVhM2UuLjg2OWU5ZjAgMTAwNjQ0Ci0tLS0gYS9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci0rKysgYi9jcGFuL0V4dFV0aWxzLU1ha2VNYWtlci90L3NldmVyYWxfYXV0aG9ycy50Ci1AQCAtMTMsOSArMTMsOSBAQCB1c2UgVGllT3V0OwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlV0aWxzOwotIHVzZSBNYWtlTWFrZXI6OlRlc3Q6OlNldHVwOjpTQVM7Ci0gdXNlIENvbmZpZzsKLS11c2UgVGVzdDo6TW9yZTsKLSB1c2UgRXh0VXRpbHM6Ok1NOwotLXBsYW4gIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0rdXNlIFRlc3Q6Ok1vcmUKLSsgICAgIU1NLT5jYW5fcnVuKG1ha2UoKSkgJiYgJEVOVntQRVJMX0NPUkV9ICYmICRDb25maWd7J3VzZWNyb3NzY29tcGlsZSd9Ci0gICAgID8gKHNraXBfYWxsID0+ICJjcm9zcy1jb21waWxpbmcgYW5kIG1ha2Ugbm90IGF2YWlsYWJsZSIpCi0gICAgIDogKHRlc3RzID0+IDIwKTsKLSB1c2UgRmlsZTo6UGF0aDsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvcGVybC1tb3JlY29uZmlnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWNlODVhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC9wZXJsLW1vcmVjb25maWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6SW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCi0KLVdlIG5lZWQgbGQgaW4gdGhlIGZha2UgY29uZmlnIGxpYnJhcnksIGJ1dCBpdCdzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LiBTbwotZXhwYW5kIHRoZSBudW1iZXIgb2YgaXRlbXMgaW5jbHVkZWQuIFdoaWxlIHRoaXMgd29ya3MgaXQgaW5kaWNhdGVzIHRoYXQgdGhlCi1yZXN0IG9mIHRoZSBjb25maWcgaXRlbXMgYXJlIG5vdCBiZWluZyBwaWNrZWQgdXAgYW5kL29yIGFyZSBiZWluZyBwaWNrZWQgdXAKLWZyb20gdGhlIGhvc3QuIE1vcmUgaW52ZXN0aWdhdGlvbiBuZWVkZWQuCi0KLS0tLSBwZXJsLTUuOC44L2NvbmZpZ3BtCTIwMDcvMDQvMjAgMDk6NDg6MDUJMS4xCi0rKysgcGVybC01LjguOC9jb25maWdwbQkyMDA3LzA0LzIwIDA5OjU3OjEyCi1AQCAtMiw3ICsyLDcgQEAKLSB1c2Ugc3RyaWN0OwotIHVzZSB2YXJzIHF3KCVDb25maWcgJENvbmZpZ19TSF9leHBhbmRlZCk7Ci0gCi0tbXkgJGhvd19tYW55X2NvbW1vbiA9IDIyOwotK215ICRob3dfbWFueV9jb21tb24gPSA1MDsKLSAKLSAjIGNvbW1vbmx5IHVzZWQgbmFtZXMgdG8gcHJlY2FjaGUgKGFuZCBoZW5jZSBsb29rdXAgZmFzdGVzdCkKLSBteSAlQ29tbW9uOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90LXJ1bi1zd2l0Y2hlcy50LXBlcmw1LXBlcmwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzZmRmNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gMTU2MTU0OWVhMzZlMzdjYzI1NzA2ZjA5NGExOTVkZTQ5MjhmNDIxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCAxOSBKdW4gMjAxNSAwMToyMzo0NiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB0L3J1bi9zd2l0Y2hlcy50OiBwZXJsNSAtPiBwZXJsCi0KLVdlIGNhbGwgaXQgcGVybCByYXRoZXIgdGhhbiBwZXJsNSBpbiBvZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0L3J1bi9zd2l0Y2hlcy50IHwgICAgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdC9ydW4vc3dpdGNoZXMudCBiL3QvcnVuL3N3aXRjaGVzLnQKLWluZGV4IDc4OTE1ZTAuLmU5ZTRiNDUgMTAwNjQ0Ci0tLS0gYS90L3J1bi9zd2l0Y2hlcy50Ci0rKysgYi90L3J1bi9zd2l0Y2hlcy50Ci1AQCAtMjY5LDcgKzI2OSw3IEBAIGlzIHJ1bnBlcmwoc3RkZXJyID0+IDEsIHByb2cgPT4gJyMhcGVybCAtTScpLAotICAgICAgICAgICAnLVYgZ2VuZXJhdGVzIDIwKyBsaW5lcycgKTsKLSAKLSAgICAgbGlrZSggcnVucGVybCggc3dpdGNoZXMgPT4gWyctViddICksCi0tCSAgcXIvXEFTdW1tYXJ5IG9mIG15IHBlcmw1IC4qY29uZmlndXJhdGlvbjovLAotKwkgIHFyL1xBU3VtbWFyeSBvZiBteSBwZXJsIC4qY29uZmlndXJhdGlvbjovLAotICAgICAgICAgICAnLVYgbG9va3Mgb2theScgKTsKLSAKLSAgICAgIyBsb29rdXAgYSBrbm93biBjb25maWcgdmFyCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzgyOTNjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmwvdGVzdC9kaXN0LXRocmVhZHMtdC1qb2luLnQtYWRqdXN0LXBzLW9wdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLWRpc3QvdGhyZWFkcy90L2pvaW4udDogYWRqdXN0IHBzIG9wdGlvbgotCi1UaGUgcHMncyBvcHRpb24gJy1mJyBpcyBub3Qgc3VwcG9ydGVkIGJ5IGJ1c3lib3ggaW4gb2UuCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gZGlzdC90aHJlYWRzL3Qvam9pbi50IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGlzdC90aHJlYWRzL3Qvam9pbi50IGIvZGlzdC90aHJlYWRzL3Qvam9pbi50Ci0tLS0gYS9kaXN0L3RocmVhZHMvdC9qb2luLnQKLSsrKyBiL2Rpc3QvdGhyZWFkcy90L2pvaW4udAotQEAgLTExOCw3ICsxMTgsNyBAQCBpZiAoJF5PIGVxICdsaW51eCcpIHsKLSAgICAgICAgICAgICAgICAgIH0pLT5qb2luOwotICAgICAjcHJpbnQgIiMgbWFpbnRocmVhZDogXCQwID0gJDBcbiI7Ci0gICAgICNwcmludCAiIyBwaWQgPSAkJFxuIjsKLS0gICAgaWYgKG9wZW4gUFMsICJwcyAtZiB8IikgeyAjIE5vdGU6IG11c3Qgd29yayBpbiAoYWxsKSBzeXN0ZW1zLgotKyAgICBpZiAob3BlbiBQUywgInBzIHwiKSB7ICMgTm90ZTogbXVzdCB3b3JrIGluIChhbGwpIHN5c3RlbXMuCi0gICAgICAgICBteSAoJHNhd3BpZCwgJHNhd2V4ZSk7Ci0gICAgICAgICB3aGlsZSAoPFBTPikgewotICAgICAgICAgICAgIGNob21wOwotQEAgLTEzNSwxMCArMTM1LDEwIEBAIGlmICgkXk8gZXEgJ2xpbnV4JykgewotICAgICAgICAgaWYgKCRzYXdwaWQpIHsKLSAgICAgICAgICAgICBvaygkc2F3cGlkICYmICRzYXdleGUsICdhbHRlcmluZyAkMCBpcyBlZmZlY3RpdmUnKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0tICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIC1mIHwnIik7Ci0rICAgICAgICAgICAgc2tpcCgiXCQwIGNoZWNrOiBkaWQgbm90IHNlZSBwaWQgJCQgaW4gJ3BzIHwnIik7Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSB7Ci0tICAgICAgICBza2lwKCJcJDAgY2hlY2s6IG9wZW5pbmcgJ3BzIC1mIHwnIGZhaWxlZDogJCEiKTsKLSsgICAgICAgIHNraXAoIlwkMCBjaGVjazogb3BlbmluZyAncHMgfCcgZmFpbGVkOiAkISIpOwotICAgICB9Ci0gfSBlbHNlIHsKLSAgICAgc2tpcCgiXCQwIGNoZWNrOiBvbmx5IG9uIExpbnV4Iik7Ci0tLSAKLTEuOC4xLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BlcmwvcGVybC90ZXN0L2V4dC1EeW5hTG9hZGVyLXQtRHluYUxvYWRlci50LWZpeC1jYWxsaW5nLWRsX2ZpbmRmaWwucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlNTc3ZmUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLWV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50OiBmaXggY2FsbGluZyBkbF9maW5kZmlsZSgpIGZhaWxlZAotCi1Vc2UgJyRDb25maWd7bGliY30nIGFzIHRoZSBsaWJjIGZpbGUgbmFtZQotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKLVNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLS0tLQotIGV4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L0R5bmFMb2FkZXIvdC9EeW5hTG9hZGVyLnQgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotaW5kZXggYWRlMWY4ZS4uMzU2N2FmZSAxMDA2NDQKLS0tLSBhL2V4dC9EeW5hTG9hZGVyL3QvRHluYUxvYWRlci50Ci0rKysgYi9leHQvRHluYUxvYWRlci90L0R5bmFMb2FkZXIudAotQEAgLTEwNiw3ICsxMDYsNyBAQCBvayggZGVmaW5lZCAkZGxlcnIsICJkbF9lcnJvcigpIHJldHVybmluZyBhbiBlcnJvciBtZXNzYWdlOiAnJGRsZXJyJyIgKTsKLSAjIC4uLiBkbF9maW5kZmlsZSgpCi0gU0tJUDogewotICAgICBteSBAZmlsZXMgPSAoKTsKLS0gICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCJjIikgfTsKLSsgICAgZXZhbCB7IEBmaWxlcyA9IER5bmFMb2FkZXI6OmRsX2ZpbmRmaWxlKCRDb25maWd7bGliY30pIH07Ci0gICAgIGlzKCAkQCwgJycsICJjYWxsaW5nIGRsX2ZpbmRmaWxlKCkiICk7Ci0gICAgICMgU29tZSBwbGF0Zm9ybXMgYXJlIGtub3duIHRvIG5vdCBoYXZlIGEgImxpYmMiCi0gICAgICMgKG5vdCBhdCBsZWFzdCBieSB0aGF0IG5hbWUpIHRoYXQgdGhlIGRsX2ZpbmRmaWxlKCkKLS0tIAotMS44LjEuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGVybC9wZXJsXzUuMjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY0NDk3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wZXJsL3BlcmxfNS4yNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUzICswLDAgQEAKLXJlcXVpcmUgcGVybC5pbmMKLQotIyBXZSBuZWVkIGdudWdyZXAgKGZvciAtSSkKLURFUEVORFMgPSAiZGIgZ3JlcC1uYXRpdmUgZ2RibSB6bGliIHZpcnR1YWwvY3J5cHQiCi0KLSMgUGljayB1cCBwYXRjaGVzIGZyb20gZGViaWFuCi0jIGh0dHA6Ly9mdHAuZGUuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL3AvcGVybC9wZXJsXzUuMjIuMC0xLmRlYmlhbi50YXIueHoKLVNSQ19VUkkgKz0gIiBcCi0JZmlsZTovL2RlYmlhbi9jcGFuX2RlZmluc3RhbGxkaXJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZGJfZmlsZV92ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9kb2NfaW5mby5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2VuYzJ4c19pbmMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9lcnJub192ZXIuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJwZXJsX2VtYmVkX2RvYy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL3Jlc3BlY3RfdW1hc2suZGlmZiBcCi0JZmlsZTovL2RlYmlhbi93cml0YWJsZV9zaXRlX2RpcnMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9leHR1dGlsc19zZXRfbGlicGVybF9wYXRoLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbm9fcGFja2xpc3RfcGVybGxvY2FsLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcHJlZml4X2NoYW5nZXMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9pbnN0bW9kc2hfZG9jLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vbGRfcnVuX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9saWJuZXRfY29uZmlnX3BhdGguZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9tb2RfcGF0aHMuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wcnVuZV9saWJzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZml4ZXMvbmV0X3NtdHBfZG9jcy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3BlcmxpdnAuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9zcXVlbGNoLWxvY2FsZS13YXJuaW5ncy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL3NraXAtdXBzdHJlYW0tZ2l0LXRlc3RzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vc2tpcC1rZnJlZWJzZC1jcmFzaC5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL2RvY3VtZW50X21ha2VtYWtlcl9jY2ZsYWdzLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vZmluZF9odG1sMnRleHQuZGlmZiBcCi0JZmlsZTovL2RlYmlhbi9wZXJsNWRiLXgtdGVybWluYWwtZW11bGF0b3IucGF0Y2ggXAotCWZpbGU6Ly9kZWJpYW4vY3Bhbi1taXNzaW5nLXNpdGUtZGlycy5kaWZmIFwKLQlmaWxlOi8vZGViaWFuL2ZpeGVzL21lbW9pemVfc3RvcmFibGVfbnN0b3JlLmRpZmYgXAotCWZpbGU6Ly9kZWJpYW4vcmVnZW4tc2tpcC5kaWZmIFwKLSIKLQotU1JDX1VSSSArPSAiIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL01ha2VmaWxlLlNILnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2luc3RhbGxwZXJsLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtYXJjaGxpYi1leHAucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1keW5sb2FkZXIucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1tb3JlY29uZmlnLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2xldGdjYy1maW5kLWVycm5vLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2dlbmVyYXRlLXNoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL25hdGl2ZS1wZXJsaW5jLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2Nyb3NzLWdlbmVyYXRlX3V1ZG1hcC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9maXhfYmFkX3JwYXRoLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2R5bmFsb2FkZXJoYWNrLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaCBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtMzIgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTMyLWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC0zMi1iZSBcCi0gICAgICAgIGZpbGU6Ly9jb25maWcuc2gtNjQgXAotICAgICAgICBmaWxlOi8vY29uZmlnLnNoLTY0LWxlIFwKLSAgICAgICAgZmlsZTovL2NvbmZpZy5zaC02NC1iZSBcCi0gICAgICAgIGZpbGU6Ly9tYWtlX2V4dC5wbC1maXgtcmVnZW5lcmF0ZS1tYWtlZmlsZS1mYWlsZWQtd2hpbGUtY2MtLnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3QtcnVuLXN3aXRjaGVzLnQtcGVybDUtcGVybC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9leHQtT0RCTV9GaWxlLWhpbnRzLWxpbnV4LnBsLWxpbmstbGliZ2RibV9jb21wYXQucGF0Y2ggXAotICAgICAgICBmaWxlOi8vZXh0LU9EQk1fRmlsZS10LW9kYm0udC1maXgtdGhlLXBhdGgtb2YtZGJtdF9jb21tb24ucC5wYXRjaCBcCi0gICAgICAgIGZpbGU6Ly9wZXJsLVBhdGhUb29scy1kb24tdC1maWx0ZXItb3V0LWJsaWItZnJvbS1JTkMucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1lcnJuby1nZW5lcmF0aW9uLWdjYzUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vcGVybC1maXgtY29uZmxpY3QtYmV0d2Vlbi1za2lwX2FsbC1hbmQtRU5ELnBhdGNoIFwKLSAgICAgICAgZmlsZTovL3BlcmwtNS4yNi4xLWd1YXJkX29sZF9saWJjcnlwdF9maXgucGF0Y2ggXAotICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTIwMTUucGF0Y2ggXAotICAgICAgICBmaWxlOi8vMDAwMS1FeHRVdGlscy1NTV9Vbml4LnBtLWZpeC1yYWNlLWlzc3Vlcy5wYXRjaCBcCi0iCi0KLSMgRml4IHRlc3QgY2FzZSBpc3N1ZXMKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZGlzdC10aHJlYWRzLXQtam9pbi50LWFkanVzdC1wcy1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Rlc3QvZXh0LUR5bmFMb2FkZXItdC1EeW5hTG9hZGVyLnQtZml4LWNhbGxpbmctZGxfZmluZGZpbC5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS1Ta2lwLXZhcmlvdXMtdGVzdHMtaWYtUEVSTF9CVUlMRF9QQUNLQUdJTkctaXMtc2V0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDQ2MjJiYzRkMzk0MWRjN2ViNTcxYzUyYjdjMDI5OTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2YwODAyODdmZjY0NzUwMjcwNjg5ODQzYWU5NDVmMDIxNTlhMzNjYjhmMmZjOTEwMjQ4YzE1YmVmYmE1ZGI4NCIKLQotaW5oZXJpdCBwZXJsbmF0aXZlIHNpdGVpbmZvCi0KLSMgV2hlcmUgdG8gZmluZCB0aGUgbmF0aXZlIHBlcmwKLUhPU1RQRVJMID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0KLSMgV2hlcmUgdG8gZmluZCAuc28gZmlsZXMgLSB1c2UgdGhlIC1uYXRpdmUgdmVyc2lvbnMgbm90IHRob3NlIGZyb20gdGhlIHRhcmdldCBidWlsZAotZXhwb3J0IFBFUkxIT1NUTElCID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsLyR7UFZ9LyIKLQotIyBXaGVyZSB0byBmaW5kIHBlcmwgQElOQy8jaW5jbHVkZSBmaWxlcwotIyAtIHVzZSB0aGUgLW5hdGl2ZSB2ZXJzaW9ucyBub3QgdGhvc2UgZnJvbSB0aGUgdGFyZ2V0IGJ1aWxkCi1leHBvcnQgUEVSTF9MSUIgPSAiJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3BlcmwtbmF0aXZlL3BlcmwvJHtQVn0vIgotZXhwb3J0IFBFUkxfQVJDSExJQiA9ICIke1NUQUdJTkdfTElCRElSX05BVElWRX0vcGVybC1uYXRpdmUvcGVybC8ke1BWfS8iCi0KLUVYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgotCi0jIExERkxBR1MgZm9yIHNoYXJlZCBsaWJyYXJpZXMKLWV4cG9ydCBMRERMRkxBR1MgPSAiJHtMREZMQUdTfSAtc2hhcmVkIgotCi1MREZMQUdTX2FwcGVuZCA9ICIgLWZzdGFjay1wcm90ZWN0b3IiCi0KLSMgV2UncmUgYWxtb3N0IERlYmlhbiwgYXJlbid0IHdlPwotQ0ZMQUdTICs9ICItRERFQklBTiIKLQotZG9fY29uZmlndXJlKCkgewotICAgICAgICAjIE1ha2UgaG9zdHBlcmwgaW4gYnVpbGQgZGlyZWN0b3J5IGJlIHRoZSBuYXRpdmUgcGVybAotICAgICAgICBsbiAtc2YgJHtIT1NUUEVSTH0gaG9zdHBlcmwKLQotCWlmIFsgLW4gIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgLWEgLWUgIiR7Q09ORklHVVJFU1RBTVBGSUxFfSIgXTsgdGhlbgotCQlpZiBbICJgY2F0ICR7Q09ORklHVVJFU1RBTVBGSUxFfWAiICE9ICIke0JCX1RBU0tIQVNIfSIgLWEgLWUgTWFrZWZpbGUgXTsgdGhlbgotCQkJJHtNQUtFfSBjbGVhbgotCQlmaQotCQlmaW5kICR7U30gLW5hbWUgKi5zbyAtZGVsZXRlCi0JZmkKLQlpZiBbIC1uICIke0NPTkZJR1VSRVNUQU1QRklMRX0iIF07IHRoZW4KLQkJZWNobyAke0JCX1RBU0tIQVNIfSA+ICR7Q09ORklHVVJFU1RBTVBGSUxFfQotCWZpCi0KLSAgICAgICAgIyBEbyBvdXIgd29yayBpbiB0aGUgY3Jvc3Mgc3ViZGlyCi0gICAgICAgIGNkIENyb3NzCi0KLSAgICAgICAgIyBHZW5lcmF0ZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHJtIC1mIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZm9yIGkgaW4gJHtXT1JLRElSfS9jb25maWcuc2ggXAotICAgICAgICAgICAgICAgICAke1dPUktESVJ9L2NvbmZpZy5zaC0ke1NJVEVJTkZPX0JJVFN9IFwKLSAgICAgICAgICAgICAgICAgJHtXT1JLRElSfS9jb25maWcuc2gtJHtTSVRFSU5GT19CSVRTfS0ke1NJVEVJTkZPX0VORElBTk5FU1N9OyBkbwotICAgICAgICAgICAgY2F0ICRpID4+IGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZG9uZQotCi0gICAgICAgICMgRml4dXBzIGZvciBtdXNsCi0gICAgICAgIGlmIFsgIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbCIgLW8gIiR7VEFSR0VUX09TfSIgPSAibGludXgtbXVzbGVhYmkiIC1vICIke1RBUkdFVF9PU30iID0gImxpbnV4LW11c2x4MzIiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBzZWQgLWkgLWUgInMsXChkX2xpYm1fbGliX3ZlcnNpb249XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9fcHRyX2x2YWxfc2V0c19jbnQ9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGRfc3RkaW9iYXNlPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX3N0ZHN0ZGlvPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2dldG5ldGJ5bmFtZV9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChkX2Zpbml0ZWw9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnluYW1lX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHB3ZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHNlcnZlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0aG9zdGVudF9yPVwpJ2RlZmluZScsXDEndW5kZWYnLGciIFwKLSAgICAgICAgICAgICAgICAgICAgICAgLWUgInMsXChnZXRuZXRlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0bmV0YnlhZGRyX3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvZW50X3I9XCknZGVmaW5lJyxcMSd1bmRlZicsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicyxcKGdldHByb3RvYnludW1iZXJfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoZ2V0Z3JlbnRfcj1cKSdkZWZpbmUnLFwxJ3VuZGVmJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaV9mY250bD1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0gICAgICAgICAgICAgICAgICAgICAgIC1lICJzLFwoaF9mY250bD1cKSdmYWxzZScsXDEndHJ1ZScsZyIgXAotICAgICAgICAgICAgICAgICAgICAgICAtZSAicywtZnN0YWNrLXByb3RlY3RvciwtZm5vLXN0YWNrLXByb3RlY3RvcixnIiBcCi0gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLSAgICAgICAgZmkKLQotICAgICAgICAjIFVwZGF0ZSBzb21lIHBhdGhzIGluIHRoZSBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAncyxAQVJDSEAtdGhyZWFkLW11bHRpLCxnJyBcCi0gICAgICAgICAgICAgICAtZSAncyxAQVJDSEAsJHtUQVJHRVRfQVJDSH0tJHtUQVJHRVRfT1N9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICdzLEBTVEFHSU5HRElSQCwke1NUQUdJTkdfRElSX0hPU1R9LGcnIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBJTkNMVURFRElSQCwke1NUQUdJTkdfSU5DRElSfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicyxATElCRElSQCwke2xpYmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsQEJBU0VMSUJESVJALCR7YmFzZV9saWJkaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLEBFWEVDUFJFRklYQCwke2V4ZWNfcHJlZml4fSxnIiBcCi0gICAgICAgICAgICAgICAtZSAncyxAVVNSQklOQCwke2JpbmRpcn0sZycgXAotICAgICAgICAgICAgICAgLWUgInMsLWxuc2wsLGciIFwKLSAgICAgICAgICAgIGNvbmZpZy5zaC0ke1RBUkdFVF9BUkNIfS0ke1RBUkdFVF9PU30KLQotCWNhc2UgIiR7VEFSR0VUX0FSQ0h9IiBpbgotCQl4ODZfNjQgfCBwb3dlcnBjIHwgczM5MCkKLQkJCXNlZCAtaSAtZSAicyxcKG5lZWRfdmFfY29weT1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQkJYXJtKQotCQkJc2VkIC1pIC1lICJzLFwoZF91MzJhbGlnbj1cKSd1bmRlZicsXDEnZGVmaW5lJyxnIiBcCi0JCQkJY29uZmlnLnNoLSR7VEFSR0VUX0FSQ0h9LSR7VEFSR0VUX09TfQotCQkJOzsKLQllc2FjCi0gICAgICAgICMgVGhlc2UgYXJlIHN0cmV3biBhbGwgb3ZlciB0aGUgc291cmNlIHRyZWUKLSAgICAgICAgZm9yIGZvbyBpbiBgZ3JlcCAtSSAtLWV4Y2x1ZGU9IioucGF0Y2giIC0tZXhjbHVkZT0iKi5kaWZmIiAtLWV4Y2x1ZGU9IioucG9kIiAtLWV4Y2x1ZGU9IlJFQURNRSoiIC0tZXhjbHVkZT0iR2xvc3NhcnkiIC1tMSAiL3Vzci9pbmNsdWRlLy4qXC5oIiAke1N9LyogLXIgLWxgICR7U30vdXRpbHMvaDJ4cy5QTCA7IGRvCi0gICAgICAgICAgICBlY2hvIEZpeGluZzogJGZvbwotICAgICAgICAgICAgc2VkIC1lICdzfFwoWyAiXidcJydJXVwrXCkvdXNyL2luY2x1ZGUvfFwxJHtTVEFHSU5HX0lOQ0RJUn0vfGcnIC1pICRmb28KLSAgICAgICAgZG9uZQotCi0gICAgICAgIHJtIC1mIGNvbmZpZwotICAgICAgICBlY2hvICJBUkNIID0gJHtUQVJHRVRfQVJDSH0iID4gY29uZmlnCi0gICAgICAgIGVjaG8gIk9TID0gJHtUQVJHRVRfT1N9IiA+PiBjb25maWcKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICAgICAgIyBGaXggdG8gYXZvaWQgcmVjdXJzaXZlIHN1YnN0aXR1dGlvbiBvZiBwYXRoCi0gICAgICAgIHNlZCAtaSAtZSAnc3woQGxpYnBhdGgsICIuKiJ8KEBsaWJwYXRoLCAiJHtTVEFHSU5HX0xJQkRJUn0ifGcnIGNwYW4vRXh0VXRpbHMtTWFrZU1ha2VyL2xpYi9FeHRVdGlscy9MaWJsaXN0L0tpZC5wbQotCi0gICAgICAgIGNkIENyb3NzCi0gICAgICAgIG9lX3J1bm1ha2UgcGVybCBMRD0iJHtDQ0xEfSIKLX0KLQotZG9fY29tcGlsZV9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICAgICAjIFJlbW92ZSBidWlsZCBob3N0IHJlZmVyZW5jZXMgZnJvbSBudW1lcm91cyBjb21tZW50cy4uLgotICAgICAgICBmaW5kICIke1N9L2NwYW4vRW5jb2RlIiAtdHlwZSBmIFwKLSAgICAgICAgICAgIFwoIC1uYW1lICcqLmV4aCcgLW8gLW5hbWUgJyouYycgLW8gLW5hbWUgJyouaCcgXClcCi0gICAgICAgICAgICAtZXhlYyBzZWQgLWkgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyB7fSArCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgJHtTfS9wZXJsLmggJHtTfS9wcC5oCi0gICAgICAgIHNlZCAtaSAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX0vdXNyL2Jpbi9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0ucmVhbDovdXNyL2Jpbi9wZXJsJHtQVn06ZycgIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9Db21wcmVzcy1SYXctQnppcDIvY29uc3RhbnRzLmggXAotICAgICAgICAgICAgJHtTfS9jcGFuL0NvbXByZXNzLVJhdy1abGliL2NvbnN0YW50cy5oIFwKLSAgICAgICAgICAgICR7U30vY3Bhbi9JUEMtU3lzVi9jb25zdC1jLmluYyBcCi0gICAgICAgICAgICAke1N9L2Rpc3QvVGltZS1IaVJlcy9jb25zdC1jLmluYwotfQotCi1kb19pbnN0YWxsKCkgewotCSNleHBvcnQgaG9zdHBlcmw9IiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wZXJsLW5hdGl2ZS9wZXJsJHtQVn0iCi0Jb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfQotICAgICAgICAjIEFkZCBwZXJsIHBvaW50aW5nIGF0IGN1cnJlbnQgdmVyc2lvbgotICAgICAgICBsbiAtc2YgcGVybCR7UFZ9ICR7RH0ke2JpbmRpcn0vcGVybAotCi0gICAgICAgIGxuIC1zZiBwZXJsICR7RH0vJHtsaWJkaXJ9L3Blcmw1Ci0KLSAgICAgICAgIyBSZW1vdmUgdW53YW50ZWQgZmlsZSBhbmQgZW1wdHkgZGlyZWN0b3JpZXMKLSAgICAgICAgcm0gLWYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS8ucGFja2xpc3QKLQlybWRpciAke0R9LyR7bGliZGlyfS9wZXJsL3NpdGVfcGVybC8ke1BWfQotCXJtZGlyICR7RH0vJHtsaWJkaXJ9L3Blcmwvc2l0ZV9wZXJsCi0KLSAgICAgICAgIyBGaXggdXAgc2hhcmVkIGxpYnJhcnkKLSAgICAgICAgbXYgJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28gJHtEfS8ke2xpYmRpcn0vbGlicGVybC5zby4ke1BWfQotICAgICAgICBsbiAtc2YgbGlicGVybC5zby4ke1BWfSAke0R9LyR7bGliZGlyfS9saWJwZXJsLnNvLjUKLSAgICAgICAgbG4gLXNmIC4uLy4uLy4uL2xpYnBlcmwuc28uJHtQVn0gJHtEfS8ke2xpYmRpcn0vcGVybC8ke1BWfS9DT1JFL2xpYnBlcmwuc28KLQotICAgICAgICAjIHRhcmdldCBjb25maWcsIHVzZWQgYnkgY3Bhbi5iYmNsYXNzIHRvIGV4dHJhY3QgdmVyc2lvbiBpbmZvcm1hdGlvbgotICAgICAgICBpbnN0YWxsIGNvbmZpZy5zaCAke0R9JHtsaWJkaXJ9L3BlcmwKLQotICAgICAgICBsbiAtcyBDb25maWdfaGVhdnkucGwgJHtEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NvbmZpZ19oZWF2eS10YXJnZXQucGwKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrICgpIHsKLSAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR7YmluZGlyfS9wZXJsIFwKLSAgICAgICAgICAgIFBFUkw1TElCPSckUEVSTDVMSUI6JE9FQ09SRV9OQVRJVkVfU1lTUk9PVC8ke2xpYmRpcl9uYXRpdmVzZGt9L3Blcmwvc2l0ZV9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsL3ZlbmRvcl9wZXJsLyR7UFZ9OiRPRUNPUkVfTkFUSVZFX1NZU1JPT1QvJHtsaWJkaXJfbmF0aXZlc2RrfS9wZXJsLyR7UFZ9JwotfQotCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInBlcmxfcGFja2FnZV9wcmVwcm9jZXNzIgotCi1wZXJsX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7Ci0gICAgICAgICMgRml4IHVwIGluc3RhbGxlZCBjb25maWd1cmF0aW9uCi0gICAgICAgIHNlZCAtaSAtZSAicywke0R9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke0RFQlVHX1BSRUZJWF9NQVB9LCxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9IT1NUfSwsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsLWlzeXN0ZW0ke1NUQUdJTkdfSU5DRElSfSAsLGciIFwKLSAgICAgICAgICAgICAgIC1lICJzLCR7U1RBR0lOR19MSUJESVJ9LCR7bGliZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSfSwke2JpbmRpcn0sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0lOQ0RJUn0sJHtpbmNsdWRlZGlyfSxnIiBcCi0gICAgICAgICAgICAgICAtZSAicywke1NUQUdJTkdfQklORElSX05BVElWRX0vcGVybC1uYXRpdmUvLCR7YmluZGlyfS8sZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LywsZyIgXAotICAgICAgICAgICAgICAgLWUgInMsJHtTVEFHSU5HX0JJTkRJUl9UT09MQ0hBSU59LyR7VEFSR0VUX1BSRUZJWH0sJHtiaW5kaXJ9LGciIFwKLSAgICAgICAgICAgICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1R9OjpnJyBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L2gyeHMgXAotICAgICAgICAgICAgJHtQS0dEfSR7YmluZGlyfS9oMnBoIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMm1hbiBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZDJ0ZXh0IFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kMnVzYWdlIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2JpbmRpcn0vcG9kY2hlY2tlciBcCi0gICAgICAgICAgICAke1BLR0R9JHtiaW5kaXJ9L3BvZHNlbGVjdCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9jb25maWcuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRS9wZXJsLmggXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0NPUkUvcHAuaCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWcucG9kIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnkucGwgXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL0xpYmxpc3QvS2lkLnBtIFwKLSAgICAgICAgICAgICR7UEtHRH0ke2xpYmRpcn0vcGVybC8ke1BWfS9GaWxlQ2FjaGUucG0gXAotICAgICAgICAgICAgJHtQS0dEfSR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZC8qLnBvZCBcCi0gICAgICAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoCi19Ci0KLVBBQ0tBR0VTID0gInBlcmwtZGJnIHBlcmwgcGVybC1taXNjIHBlcmwtZGV2IHBlcmwtcG9kIHBlcmwtZG9jIHBlcmwtbGliIFwKLSAgICAgICAgICAgIHBlcmwtbW9kdWxlLWNwYW4gcGVybC1tb2R1bGUtY3BhbnBsdXMgcGVybC1tb2R1bGUtdW5pY29yZSIKLUZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wZXJsICR7YmluZGlyfS9wZXJsJHtQVn0gXAotICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnLnBtIFwKLSAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3N0cmljdC5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncy5wbSBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS93YXJuaW5ncyBcCi0gICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS92YXJzLnBtIFwKLSAgICAgICAgICAgICAgIgotRklMRVNfJHtQTn1fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtiaW5kaXJ9L3BlcmwucmVhbCIKLVJQUk9WSURFU18ke1BOfSArPSAicGVybC1tb2R1bGUtc3RyaWN0IHBlcmwtbW9kdWxlLXZhcnMgcGVybC1tb2R1bGUtY29uZmlnIHBlcmwtbW9kdWxlLXdhcm5pbmdzIFwKLSAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtd2FybmluZ3MtcmVnaXN0ZXIiCi1GSUxFU18ke1BOfS1kZXYgPSAiJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ09SRSIKLUZJTEVTXyR7UE59LWxpYiA9ICIke2xpYmRpcn0vbGlicGVybC5zbyogXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsNSBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvY29uZmlnLnNoIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2dpdC5wbCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ29uZmlnX2hlYXZ5LnBsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9Db25maWdfaGVhdnktdGFyZ2V0LnBsIgotRklMRVNfJHtQTn0tcG9kID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L3BvZCBcCi0JCSAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyoucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS8qLyovKi5wb2QgIgotRklMRVNfcGVybC1taXNjID0gIiR7YmluZGlyfS8qIgotRklMRVNfJHtQTn0tZG9jID0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi50eHQgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9LyovKi8qLnR4dCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vYXV0by9YUy9UeXBlbWFwIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2Fzc2VtYmxlIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9CL2NjX2hhcm5lc3MgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvZGlzYXNzZW1ibGUgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0IvbWFrZWxpYmxpbmtzIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DR0kvZWcgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4vUEFVU0UyMDAzLnB1YiBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi9TSUdOQVRVUkUgXAotCQkgICAke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUy9TaGVsbC9EZWZhdWx0L1BsdWdpbnMvSE9XVE8ucG9kIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FbmNvZGUvZW5jb2RlLmggXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL01BTklGRVNULlNLSVAgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L0V4dFV0aWxzL05PVEVTIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9FeHRVdGlscy9QQVRDSElORyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvdHlwZW1hcCBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMveHN1YnBwIFwKLQkJICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vRXh0VXRpbHMvQ2hhbmdlc19FVS1JbnN0YWxsIFwKLSAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGVybC8ke1BWfS9OZXQvKi5lZyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcyBcCi0gICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vdW5pY29yZS9ta3RhYmxlcy5sc3QgXAotICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wZXJsLyR7UFZ9L3VuaWNvcmUvdmVyc2lvbiAiCi0KLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW4gKz0gIiR7bGliZGlyfS9wZXJsLyR7UFZ9L0NQQU4gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTi5wbSIKLUZJTEVTX3BlcmwtbW9kdWxlLWNwYW5wbHVzICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS9DUEFOUExVUyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BlcmwvJHtQVn0vQ1BBTlBMVVMucG0iCi1GSUxFU19wZXJsLW1vZHVsZS11bmljb3JlICs9ICIke2xpYmRpcn0vcGVybC8ke1BWfS91bmljb3JlIgotCi0jIENyZWF0ZSBhIHBlcmwtbW9kdWxlcyBwYWNrYWdlIHJlY29tbWVuZGluZyBhbGwgdGhlIG90aGVyIHBlcmwKLSMgcGFja2FnZXMgKGFjdHVhbGx5IHRoZSBub24gbW9kdWxlcyBwYWNrYWdlcyBhbmQgbm90IGNyZWF0ZWQgdG9vKQotQUxMT1dfRU1QVFlfcGVybC1tb2R1bGVzID0gIjEiCi1QQUNLQUdFU19hcHBlbmQgPSAiIHBlcmwtbW9kdWxlcyAiCi0KLVBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAic3BsaXRfcGVybF9wYWNrYWdlcyAiCi0KLXB5dGhvbiBzcGxpdF9wZXJsX3BhY2thZ2VzICgpIHsKLSAgICBsaWJkaXIgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L3BlcmwvJHtQVn0nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpYmRpciwgJ2F1dG8vKFteLl0qKS9bXi9dKlwuKHNvfGxkfGl4fGFsKScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopXC5wbScsICdwZXJsLW1vZHVsZS0lcycsICdwZXJsIG1vZHVsZSAlcycsIHJlY3Vyc2l2ZT1UcnVlLCBhbGxvd19kaXJzPUZhbHNlLCBtYXRjaF9wYXRoPVRydWUsIHByZXBlbmQ9RmFsc2UpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGliZGlyLCAnTW9kdWxlLyhbXlwvXSopLy4qJywgJ3BlcmwtbW9kdWxlLSVzJywgJ3BlcmwgbW9kdWxlICVzJywgcmVjdXJzaXZlPVRydWUsIGFsbG93X2RpcnM9RmFsc2UsIG1hdGNoX3BhdGg9VHJ1ZSwgcHJlcGVuZD1GYWxzZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBsaWJkaXIsICcoXig/IShDUEFOXC98Q1BBTlBMVVNcL3xNb2R1bGVcL3x1bmljb3JlXC98YXV0b1wvKVteXC9dKS4qKVwuKHBtfHBsfGUyeCknLCAncGVybC1tb2R1bGUtJXMnLCAncGVybCBtb2R1bGUgJXMnLCByZWN1cnNpdmU9VHJ1ZSwgYWxsb3dfZGlycz1GYWxzZSwgbWF0Y2hfcGF0aD1UcnVlLCBwcmVwZW5kPUZhbHNlKQotCi0gICAgIyBwZXJsLW1vZHVsZXMgc2hvdWxkIHJlY29tbWVuZCBldmVyeSBwZXJsIG1vZHVsZSwgYW5kIG9ubHkgdGhlCi0gICAgIyBtb2R1bGVzLiBEb24ndCBhdHRlbXB0IHRvIHVzZSB0aGUgcmVzdWx0IG9mIGRvX3NwbGl0X3BhY2thZ2VzKCkgYXMgc29tZQotICAgICMgbW9kdWxlcyBhcmUgbWFudWFsbHkgc3BsaXQgKGVnLiBwZXJsLW1vZHVsZS11bmljb3JlKS4KLSAgICBwYWNrYWdlcyA9IGZpbHRlcihsYW1iZGEgcDogJ3BlcmwtbW9kdWxlLScgaW4gcCwgZC5nZXRWYXIoJ1BBQ0tBR0VTJykuc3BsaXQoKSkKLSAgICBkLnNldFZhcihkLmV4cGFuZCgiUlJFQ09NTUVORFNfJHtQTn0tbW9kdWxlcyIpLCAnICcuam9pbihwYWNrYWdlcykpCi19Ci0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5wZXJsLW1vZHVsZS0uKig/PCFcLW5hdGl2ZSkkIgotUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmVzZGsgPSAiXm5hdGl2ZXNkay1wZXJsLW1vZHVsZS0uKiIKLQotUlBST1ZJREVTX3BlcmwtbGliID0gInBlcmwtbGliIgotCi1yZXF1aXJlIHBlcmwtcmRlcGVuZHNfJHtQVn0uaW5jCi1yZXF1aXJlIHBlcmwtcHRlc3QuaW5jCi0KLVNTVEFURV9TQ0FOX0ZJTEVTICs9ICIqLnBtICoucG9kICouaCAqLnBsICouc2giCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MTU0NzhkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjUuMy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVNVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgotREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAotZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKLWZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKLWNvbXBhdGliaWxpdHkuIgotSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKLVNFQ1RJT04gPSAiZGV2ZWwiCi1QUk9WSURFUyArPSAicGtnY29uZmlnIgotUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCi1ERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCi0KLSMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKLSMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCi1MSUNFTlNFID0gInBrZ2NvbmYiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKLQotU1JDX1VSSSA9ICJcCi0gICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKLSAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAotICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAotIgotU1JDX1VSSVttZDVzdW1dID0gImMyMTc0M2JjYTE0Yzg4MmMwZjI4Mjc0NjE2OGE1ZWRjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzNDY4MzA4NTUzYzk0Mzg5ZGFkZmQxMGM0ZDEwNjcyNjkwNTJiNTM2NDI3NmE5ZDI0YTY0M2M4ODQ4NWY3MTUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi0KLUVYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCi0gICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgotICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7Ci0gICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCi0gICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KLSAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCi0gICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQotICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKLSAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAotICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKLSAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCi19Ci0KLSMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKLSMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQotIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCi1SUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKLQotIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKLUZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKLQotQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7Ci0gICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgotICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgotICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCi0gICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCi0gICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCi0gICBmaQotfQotCi1TU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmYvcGtnY29uZl8xLjYuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDUyODc1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZi9wa2djb25mXzEuNi4wLmJiCkBAIC0wLDAgKzEsNjkgQEAKK1NVTU1BUlkgPSAicGtnY29uZiBwcm92aWRlcyBjb21waWxlciBhbmQgbGlua2VyIGNvbmZpZ3VyYXRpb24gZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIgorREVTQ1JJUFRJT04gPSAicGtnY29uZiBpcyBhIHByb2dyYW0gd2hpY2ggaGVscHMgdG8gY29uZmlndXJlIGNvbXBpbGVyIGFuZCBsaW5rZXIgXAorZmxhZ3MgZm9yIGRldmVsb3BtZW50IGZyYW1ld29ya3MuIEl0IGlzIHNpbWlsYXIgdG8gcGtnLWNvbmZpZyBmcm9tIFwKK2ZyZWVkZXNrdG9wLm9yZywgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB3aGlsZSBhbHNvIG1haW50YWluaW5nIFwKK2NvbXBhdGliaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3BrZ2NvbmYub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vcGtnY29uZi9wa2djb25mL2lzc3VlcyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitQUk9WSURFUyArPSAicGtnY29uZmlnIgorUlBST1ZJREVTXyR7UE59ICs9ICJwa2djb25maWciCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKKyMgVGhlIHBrZ2NvbmYgbGljZW5zZSBzZWVtcyB0byBiZSBmdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byBCU0QtMi1DbGF1c2Ugb3IKKyMgSVNDLCBidXQgaGFzIGRpZmZlcmVudCB3b3JkaW5nLCBzbyBuZWVkcyBpdHMgb3duIG5hbWUuCitMSUNFTlNFID0gInBrZ2NvbmYiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMjE0MjIyZWMxYTgyMGJkNmNjNzUxNjdhNTY5MjVlMCIKKworU1JDX1VSSSA9ICJcCisgICAgaHR0cHM6Ly9kaXN0ZmlsZXMuZGVyZWZlcmVuY2VkLm9yZy9wa2djb25mL3BrZ2NvbmYtJHtQVn0udGFyLnh6IFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy13cmFwcGVyIFwKKyAgICBmaWxlOi8vcGtnLWNvbmZpZy1uYXRpdmUuaW4gXAorICAgIGZpbGU6Ly9wa2ctY29uZmlnLWVzZGsuaW4gXAorIgorU1JDX1VSSVttZDVzdW1dID0gIjBjOTM0OTJkN2YwMDFlNTE3NWIwMzQ3YjU0NzJlODZkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYxMzVhM2FiYjU3NjY3MmJhNTRhODk5ODYwNDQyYmExODUwNjNmMGY5MGRhZTU4OTJmNjRmN2JhZThlMWVjZTUiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLXBrZy1jb25maWctZGlyPScke2xpYmRpcn0vcGtnY29uZmlnOiR7ZGF0YWRpcn0vcGtnY29uZmlnJyIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworICAgICMgSW5zdGFsbCBhIHdyYXBwZXIgd2hpY2ggZGVhbHMsIGFzIG11Y2ggYXMgcG9zc2libGUgd2l0aCBwa2djb25mIHZzCisgICAgIyBwa2ctY29uZmlnIGNvbXBhdGliaWxpdHkgaXNzdWVzLgorICAgIGluc3RhbGwgLW0gMDc1NSAiJHtXT1JLRElSfS9wa2ctY29uZmlnLXdyYXBwZXIiICIke0R9JHtiaW5kaXJ9L3BrZy1jb25maWciCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSAoKSB7CisgICAgIyBJbnN0YWxsIGEgcGtnLWNvbmZpZy1uYXRpdmUgd3JhcHBlciB0aGF0IHdpbGwgdXNlIHRoZSBuYXRpdmUgc3lzcm9vdCBpbnN0ZWFkCisgICAgIyBvZiB0aGUgTUFDSElORSBzeXNyb290LCBmb3IgdXNpbmcgcGtnLWNvbmZpZyB3aGVuIGJ1aWxkaW5nIG5hdGl2ZSB0b29scy4KKyAgICBzZWQgLWUgInN8QFBBVEhfTkFUSVZFQHwke1BLR19DT05GSUdfUEFUSH18IiBcCisgICAgICAgIDwgJHtXT1JLRElSfS9wa2ctY29uZmlnLW5hdGl2ZS5pbiA+ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1uYXRpdmUgJHtEfSR7YmluZGlyfS9wa2ctY29uZmlnLW5hdGl2ZQorICAgIHNlZCAtZSAic3xAUEFUSF9OQVRJVkVAfCR7UEtHX0NPTkZJR19QQVRIfXwiIFwKKyAgICAgICAgLWUgInN8QExJQkRJUl9OQVRJVkVAfCR7UEtHX0NPTkZJR19MSUJESVJ9fCIgXAorICAgICAgICA8ICR7V09SS0RJUn0vcGtnLWNvbmZpZy1lc2RrLmluID4gJHtCfS9wa2ctY29uZmlnLWVzZGsKKyAgICBpbnN0YWxsIC1tNzU1ICR7Qn0vcGtnLWNvbmZpZy1lc2RrICR7RH0ke2JpbmRpcn0vcGtnLWNvbmZpZy1lc2RrCit9CisKKyMgV2hlbiB1c2luZyB0aGUgUlBNIGdlbmVyYXRlZCBhdXRvbWF0aWMgcGFja2FnZSBkZXBlbmRlbmNpZXMsIHNvbWUgcGFja2FnZXMKKyMgd2lsbCBlbmQgdXAgcmVxdWlyaW5nICdwa2djb25maWcocGtnLWNvbmZpZyknLiAgQWxsb3cgdGhpcyBiZWhhdmlvciBieQorIyBzcGVjaWZ5aW5nIGFuIGFwcHJvcHJpYXRlIHByb3ZpZGUuCitSUFJPVklERVNfJHtQTn0gKz0gInBrZ2NvbmZpZyhwa2ctY29uZmlnKSIKKworIyBJbmNsdWRlIHBrZy5tNCBpbiB0aGUgbWFpbiBwYWNrYWdlLCBsZWF2aW5nIGxpYnBrZ2NvbmYgZGV2IGZpbGVzIGluIC1kZXYKK0ZJTEVTXyR7UE59LWRldl9yZW1vdmUgPSAiJHtkYXRhZGlyfS9hY2xvY2FsIgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vYWNsb2NhbCIKKworQkJDTEFTU0VYVEVORCArPSAibmF0aXZlIG5hdGl2ZXNkayIKKworcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayAoKSB7CisgICBpZiBbICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgLWEgIiR7V0lUSElOX0VYVF9TREt9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgIHBrZ2NvbmZkaXI9IiR7U1NUQVRFX0lOU1RESVJ9L3JlY2lwZS1zeXNyb290LW5hdGl2ZS8ke2JpbmRpcl9uYXRpdmV9IgorICAgICAgIG12ICRwa2djb25mZGlyL3BrZy1jb25maWcgJHBrZ2NvbmZkaXIvcGtnLWNvbmZpZy5yZWFsCisgICAgICAgbG5yICRwa2djb25mZGlyL3BrZy1jb25maWctZXNkayAkcGtnY29uZmRpci9wa2ctY29uZmlnCisgICAgICAgc2VkIC1pIC1lICJzfF5wa2ctY29uZmlnfHBrZy1jb25maWcucmVhbHwiICRwa2djb25mZGlyL3BrZy1jb25maWctbmF0aXZlCisgICBmaQorfQorCitTU1RBVEVQT1NUVU5QQUNLRlVOQ1NfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgcGtnY29uZl9zc3RhdGVfZml4dXBfZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4gYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wa2djb25maWcvcGtnY29uZmlnL3BrZy1jb25maWctbmF0aXZlLmluCmluZGV4IDVlNDRiYjQuLmE5MzI0ZGUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BrZ2NvbmZpZy9wa2djb25maWcvcGtnLWNvbmZpZy1uYXRpdmUuaW4KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcGtnY29uZmlnL3BrZ2NvbmZpZy9wa2ctY29uZmlnLW5hdGl2ZS5pbgpAQCAtMSw3ICsxLDcgQEAKICMhIC9iaW4vc2gKIAotUEtHX0NPTkZJR19QQVRIPSJAUEFUSF9OQVRJVkVAIgotUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKK2V4cG9ydCBQS0dfQ09ORklHX1BBVEg9IkBQQVRIX05BVElWRUAiCitleHBvcnQgUEtHX0NPTkZJR19MSUJESVI9IkBMSUJESVJfTkFUSVZFQCIKIHVuc2V0IFBLR19DT05GSUdfU1lTUk9PVF9ESVIKIAogcGtnLWNvbmZpZyAiJEAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9wc2V1ZG8vcHNldWRvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCmluZGV4IGNkYzJhNTguLjhiMDU3MzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9wc2V1ZG8uaW5jCkBAIC0xNyw3ICsxNyw3IEBACiAKIE1BS0VPUFRTID0gIiIKIAotaW5oZXJpdCBzaXRlaW5mbworaW5oZXJpdCBzaXRlaW5mbyBwa2djb25maWcKIAogZG9fY29uZmlndXJlICgpIHsKIAk6CkBAIC0zMCwxMCArMzAsMjMgQEAKIAogIyBDb21waWxlIGZvciB0aGUgbG9jYWwgbWFjaGluZSBhcmNoLi4uCiBkb19jb21waWxlICgpIHsKKyAgICAgICAgU1FMSVRFX0xEQUREPSckKFNRTElURSkvJChTUUxJVEVfTElCKS9saWJzcWxpdGUzLmEnCisJZm9yIHNxbGl0ZV9saW5rX29wdCBpbiAkKHBrZy1jb25maWcgc3FsaXRlMyAtLWxpYnMgLS1zdGF0aWMpCisJZG8KKwkgICAgY2FzZSAiJHNxbGl0ZV9saW5rX29wdCIgaW4KKwkgICAgLWxzcWxpdGUzKQorCQk7OworCSAgICAtbCopCisJCVNRTElURV9MREFERD0iJHtTUUxJVEVfTERBRER9ICR7c3FsaXRlX2xpbmtfb3B0fSIKKwkJOzsKKwkgICAgKikKKwkJOzsKKwkgICAgZXNhYworCWRvbmUKIAlpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgotCSAgJHtTfS9jb25maWd1cmUgJHtQU0VVRE9fRVhUUkFfT1BUU30gLS1wcmVmaXg9JHtwcmVmaXh9IC0tbGliZGlyPSR7cHJlZml4fS9saWIvcHNldWRvL2xpYiR7U0lURUlORk9fQklUU30gLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliJHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3FsaXRlLWxpYj0ke2Jhc2VsaWJ9IC0td2l0aC1zcWxpdGU9JHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtleGVjX3ByZWZpeH0gLS1jZmxhZ3M9IiR7Q0ZMQUdTfSIgLS1iaXRzPSR7U0lURUlORk9fQklUU30gLS13aXRoLXN0YXRpYy1zcWxpdGU9IiRTUUxJVEVfTERBREQiIC0td2l0aG91dC1ycGF0aAogCWVsc2UKLQkgICR7U30vY29uZmlndXJlICR7UFNFVURPX0VYVFJBX09QVFN9IC0tcHJlZml4PSR7cHJlZml4fSAtLWxpYmRpcj0ke3ByZWZpeH0vbGliL3BzZXVkby9saWIgLS13aXRoLXNxbGl0ZS1saWI9JHtiYXNlbGlifSAtLXdpdGgtc3FsaXRlPSR7U1RBR0lOR19ESVJfVEFSR0VUfSR7ZXhlY19wcmVmaXh9IC0tY2ZsYWdzPSIke0NGTEFHU30iIC0tYml0cz0ke1NJVEVJTkZPX0JJVFN9IC0tZW5hYmxlLXN0YXRpYy1zcWxpdGUgLS13aXRob3V0LXJwYXRoCisJICAke1N9L2NvbmZpZ3VyZSAke1BTRVVET19FWFRSQV9PUFRTfSAtLXByZWZpeD0ke3ByZWZpeH0gLS1saWJkaXI9JHtwcmVmaXh9L2xpYi9wc2V1ZG8vbGliIC0td2l0aC1zcWxpdGUtbGliPSR7YmFzZWxpYn0gLS13aXRoLXNxbGl0ZT0ke1NUQUdJTkdfRElSX1RBUkdFVH0ke2V4ZWNfcHJlZml4fSAtLWNmbGFncz0iJHtDRkxBR1N9IiAtLWJpdHM9JHtTSVRFSU5GT19CSVRTfSAtLXdpdGgtc3RhdGljLXNxbGl0ZT0iJFNRTElURV9MREFERCIgLS13aXRob3V0LXJwYXRoCiAJZmkKIAlvZV9ydW5tYWtlICR7TUFLRU9QVFN9CiB9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vZmlsZXMvMDAwMS1jb25kaXRpb25hbGx5LWRvLW5vdC1mZXRjaC1jb2RlLWJ5LWVhc3lfaW5zdGFsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCmluZGV4IDRiMTc5MjEuLjE2OWQxYjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9maWxlcy8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwMTk0MjJkMTljNjQwMWZhOGY0NWIxMzExZWNkMzFiYjA4N2M4MDlkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1YmJhNGY1N2YwNDgwMTZhYTkyY2U1OTA5ZTllMzcyZGI2MTk1NTRlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxNyBKdWwgMjAxOCAxMDoxMzozOCArMDgwMAogU3ViamVjdDogW1BBVENIXSBjb25kaXRpb25hbGx5IGRvIG5vdCBmZXRjaCBjb2RlIGJ5IGVhc3lfaW5zdGFsbApAQCAtOSwxNSArOSwxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZSBzcGVjaWZpY10KIAogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBzZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5IHwgNSArKysrKwogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKIAogZGlmZiAtLWdpdCBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkgYi9zZXR1cHRvb2xzL2NvbW1hbmQvZWFzeV9pbnN0YWxsLnB5Ci1pbmRleCA4NWVlNDBmLi43ZWI5ZDJhIDEwMDc1NQoraW5kZXggMDU1MDhjZS4uOTQ1ZTExOCAxMDA3NTUKIC0tLSBhL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKICsrKyBiL3NldHVwdG9vbHMvY29tbWFuZC9lYXN5X2luc3RhbGwucHkKLUBAIC02MzcsNiArNjM3LDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKK0BAIC02NDAsNiArNjQwLDExIEBAIGNsYXNzIGVhc3lfaW5zdGFsbChDb21tYW5kKToKICAgICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyh0bXBkaXIpIGFuZCBybXRyZWUocm10cmVlX3NhZmUodG1wZGlyKSkKICAKICAgICAgZGVmIGVhc3lfaW5zdGFsbChzZWxmLCBzcGVjLCBkZXBzPUZhbHNlKToKQEAgLTI5LDYgKzMwLDMgQEAKICAgICAgICAgIGlmIG5vdCBzZWxmLmVkaXRhYmxlOgogICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9zaXRlX3B5KCkKICAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1hc3luYy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwppbmRleCA2NjY0YWIwLi4xMzliZjJjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWFzeW5jLmluYwpAQCAtMTEsNCArMTEsNCBAQAogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXRocmVhZGluZyIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLWdpdC5pbmMKaW5kZXggN2NjZjE2OC4uZjk3M2U5ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0LmluYwpAQCAtMjksNCArMjksNCBAQAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS11bml4YWRtaW4gXAogICAgICAgICAgICAgICAgICAgIGdpdCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tZ2l0ZGIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKaW5kZXggNzg5YWI5NS4uNjMzNzUyZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1naXRkYi5pbmMKQEAgLTgsOCArOCw4IEBACiAKIFBZUElfUEFDS0FHRSA9ICJnaXRkYjIiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTIxZjU3OTVhMjA0ZjdhZmVjYjBhNzJmZmY2NjkzMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiYjRjODViOGE1ODUzMWM1MTM3M2M4OWY5MjE2M2I5MmYzMGY4MTM2OTYwNWE2N2NkNTJkMWZjMjEyNDZjMDQ0IgorU1JDX1VSSVttZDVzdW1dID0gIjk0ZTU5ZTVmYjAwOTYwNTQxZjZlMTM3YjE0NTZhYjBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjgzMzYxMTMxYTE4MzY2NjFhMTU1MTcyOTMyYTEzYzA4YmRhMmRiMzY3NGU0Y2FhMzIzNjhhYTZlYjAyZjM4YzIiCiAKIERFUEVORFMgPSAiJHtQWVRIT05fUE59LWFzeW5jICR7UFlUSE9OX1BOfS1zZXR1cHRvb2xzLW5hdGl2ZSAke1BZVEhPTl9QTn0tc21tYXAiCiAKQEAgLTIxLDQgKzIxLDQgQEAKICAgICAgICAgICAgICAgICAgICAke1BZVEhPTl9QTn0tc2hlbGwgXAogICAgICAgICAgICAgICAgICAgICR7UFlUSE9OX1BOfS1zbW1hcCBcCiAiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODk4MTg5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmUvMDAwMS1weXRob24tbmF0aXZlLWZpeC1vbmUtZG9fcG9wdWxhdGVfc3lzcm9vdC13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gMTIyOTI0NDRlMWIzNjYyYjk5NGJjMjIzZDkyYjgzMzhmYjA4OTVmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBUaHUsIDI1IE9jdCAyMDE4IDA3OjMyOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbi1uYXRpdmU6IGZpeCBvbmUgZG9fcG9wdWxhdGVfc3lzcm9vdCB3YXJuaW5nCisKK0ZpeCBiZWxvdyB3YXJuaW5nOgorV0FSTklORzogU2tpcHBpbmcgUlBBVEggL3Vzci9saWI2NCBhcyBpcyBhIHN0YW5kYXJkIHNlYXJjaCBwYXRoIGZvcgord29yay94ODZfNjQtbGludXgvcHl0aG9uLW5hdGl2ZS8yLjcuMTUtcjEuMS9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvCit1c3IvbGliL3B5dGhvbjIuNy9saWItZHlubG9hZC9fYnNkZGIuc28KKworc2V0dXAucHkgd2lsbCBjaGVjayBkYi5oIHVuZGVyIGluY2x1ZGVfZGlycywgZm9yIG5hdGl2ZSBidWlsZCwKKy91c3IvbGliNjQgd2lsbCBiZSBpbnNlcnQgdG8gcG9zdGlvbiAwIG9mIGluY2x1ZGVfZGlycywgc28KK2l0J3MgcHJpb3JpdHkgaXMgaGlnaGVyIHRoZW4gb3VyIHN5c3Jvb3QsIGNhdXNlIGRiLmggc3lzcm9vdAoraXMgaWdub3JlZCwgYW5kIHJwYXRoIHNldCB0byAvdXNyL2xpYjY0LiBhbmQgdGhpcyBjYXVzZSB3YXJuaW5nCit3aGVuIGRvX3BvcHVsYXRlX3N5c3Jvb3QuIHVzZSBhcHBlbmQgdG8gZml4IGl0LgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLXNwZWNpZmljXQorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc2V0dXAucHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA3YmYxM2VkLi42YzBmMjliIDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNDAsNyArNDAsNyBAQCBkZWYgYWRkX2Rpcl90b19saXN0KGRpcmxpc3QsIGRpcik6CisgICAgIDEpICdkaXInIGlzIG5vdCBhbHJlYWR5IGluICdkaXJsaXN0JworICAgICAyKSAnZGlyJyBhY3R1YWxseSBleGlzdHMsIGFuZCBpcyBhIGRpcmVjdG9yeS4iIiIKKyAgICAgaWYgZGlyIGlzIG5vdCBOb25lIGFuZCBvcy5wYXRoLmlzZGlyKGRpcikgYW5kIGRpciBub3QgaW4gZGlybGlzdDoKKy0gICAgICAgIGRpcmxpc3QuaW5zZXJ0KDAsIGRpcikKKysgICAgICAgIGRpcmxpc3QuYXBwZW5kKGRpcikKKworIGRlZiBtYWNvc3hfc2RrX3Jvb3QoKToKKyAgICAgIiIiCistLSAKKzIuMTguMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLW5hdGl2ZV8yLjcuMTUuYmIKaW5kZXggOWQwZmUzYi4uMjZkNjdkZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1uYXRpdmVfMi43LjE1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tbmF0aXZlXzIuNy4xNS5iYgpAQCAtMTYsNiArMTYsOCBAQAogICAgICAgICAgICAgZmlsZTovL2J1aWxkZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9wYXJhbGxlbC1tYWtlaW5zdC1jcmVhdGUtYmluZGlyLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9yZXZlcnRfdXNlX29mX3N5c2NvbmZpZ2RhdGEucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDEtcHl0aG9uLW5hdGl2ZS1maXgtb25lLWRvX3BvcHVsYXRlX3N5c3Jvb3Qtd2FybmluZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS0yLjctYnBvLTM0NjIzLVVzZS1YTUxfU2V0SGFzaFNhbHQtaW4tX2VsZW1lbnR0cmVlLUdILnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vUHl0aG9uLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1wYnIuaW5jCmluZGV4IDVhMjk1YzUuLjBlNjQ1MDEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tcGJyLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXBici5pbmMKQEAgLTUsOSArNSw2IEBACiBMSUNFTlNFID0gIkFwYWNoZS0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0xZGVjZTc4MjFiZjNmZDcwZmUxMzA5ZWFhMzdkNTJhMiIKIAotU1JDX1VSSVttZDVzdW1dID0gIjY2MTk3ODA4OTZjYTgxYzdjZDE5YzZlMmY0MzliNmM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFiOGJlNTBkOTM4YzliYjc1ZDBlYWY3ZWRhMTExZWVjMWJmNmRjODhhNjJhNjQxMmUzM2JmMDc3NDU3ZTBmNDUiCi0KIGluaGVyaXQgcHlwaQogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LXBpcCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHMuaW5jCmluZGV4IDMxNWJhMzEuLjkwOTJkN2EgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29scy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zZXR1cHRvb2xzLmluYwpAQCAtMTAsOCArMTAsOCBAQAogCiBTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGU6Ly8wMDAxLWNvbmRpdGlvbmFsbHktZG8tbm90LWZldGNoLWNvZGUtYnktZWFzeV9pbnN0YWxsLnBhdGNoIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiMjYwNjMwYWUxYTY0YmFmYTM5ZGNjNTM0MDRkNjM4MjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDEyYWRiOGUyNWZiZmQ2NGM2NTJlOTllN2JhYjU4Nzk5YTNhYWYwNWQzOWFiMzg1NjFmNjkxOTBhOTA5MDE1ZiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MTI2OTdhNWJjOTc1Y2Y0NzlkNDg3Y2Q2ODIwNmMyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZTRlZWM5MDMzN2U4NDlhZGU3MTAzNzIzYjlhOTk2MzFjMWYwZDE5OTkwZDZlODQxMmRjNDJmNWFlOGIzMDRkIgogCiBERVBFTkRTICs9ICIke1BZVEhPTl9QTn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2V0dXB0b29sc180MC4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNldHVwdG9vbHNfNDAuOC4wLmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNpeC5pbmMKaW5kZXggYzc3NDk4NC4uYzcwNmRjYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi1zaXguaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc2l4LmluYwpAQCAtMiwxMCArMiwxMCBAQAogSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9zaXgvIgogU0VDVElPTiA9ICJkZXZlbC9weXRob24iCiBMSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTM1Y2VjNWJmMDRkZDA4MjBkMGExODUzM2VhN2M3NzRhIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ODNlMGY2MjJiZDVhYzdkNTc1ZGJkODNkMDk0ZDY5YjUiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJkMTI3ODlmOWJhZjdlOWZiMjUyNGMwYzY0ZjE3NzNmOCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3MGU4YTc3YmVlZDQ1NjJlN2YxNGZlMjNhNzg2YjU0ZjYyOTZlMzQzNDRjMjNiYzQyZjA3YjE1MDE4ZmY5OGU5IgorU1JDX1VSSVttZDVzdW1dID0gIjlhZTVkMWZlZWQ4YzAyMTVmNGFlNGFkY2Q5MjA3ZmNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQxNmEwMTQxZWMxYTE4NDA1Y2Q0Y2U4YjQ2MTMxMDFkYTc1ZGEwZTlhN2FlYzViZGQ0ZmE4MDRkMGUwZWJhNzMiCiAKIGluaGVyaXQgcHlwaQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLXNtbWFwLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCmluZGV4IDU1YWE1MTYuLjFhMjI1OWUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24tc21tYXAuaW5jCkBAIC05LDEwICs5LDEyIEBACiAKIGluaGVyaXQgcHlwaQogCi1TUkNfVVJJW21kNXN1bV0gPSAiZDc5MzJkNWFjZTIwNmJmNGFlMTUxOThjZjM2ZmI2YWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUyYjYyYjQ5N2JkNWYwYWZlYmMwMDJlZGE0ZDkwZGY5ZDIwOWMzMGVmMjU3ZTg2NzNjOTBhNmI1YzExOWQ2MiIKK1BZUElfUEFDS0FHRSA9ICJzbW1hcDIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYzU5YTk4NWJlNWFhNjQ1YzRjNWE0ZTA2M2E0MGRkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyOWE5ZmZhMDQ5N2U3ZjJiZTk0Y2EwZWQxY2ExYWEzY2Q0Y2YyNWExZjZiNGY1Zjg3Zjc0YjQ2ZWQ5MWQ2MDlhIgogCiBSREVQRU5EU18ke1BOfSArPSAiJHtQWVRIT05fUE59LWNvZGVjcyBcCiAgICAgICAgICAgICAgICAgICAgJHtQWVRIT05fUE59LW1tYXAgXAogIgotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vMDAwMS1weXRob24yLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNGY4MjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uLzAwMDEtcHl0aG9uMi11c2UtY2NfYmFzZW5hbWUtdG8tcmVwbGFjZS1DQy1mb3ItY2hlY2tpbmctYy5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorRnJvbSAzZjQ5YmU4MWUzMWMxNjQ2NTRhZWIxMGI2NWViYWRlOTgyY2EyZWQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjIgT2N0IDIwMTggMTU6MjQ6NDggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gcHl0aG9uMjogdXNlIGNjX2Jhc2VuYW1lIHRvIHJlcGxhY2UgQ0MgZm9yIGNoZWNraW5nIGNvbXBpbGVyCisKK1doZW4gd29ya2luZyBwYXRoIGNvbnRhaW5zICJjbGFuZyIvImdjYyIvImljYyIsIGl0IG1pZ2h0IGJlIHBhcnQgb2YgJENDCitiZWNhdXNlIG9mIHRoZSAiLS1zeXNyb290IiBwYXJhbWV0ZXIuIFRoYXQgY291bGQgY2F1c2UganVkZ2VtZW50IGVycm9yCithYm91dCBjbGFuZy9nY2MvaWNjIGNvbXBpbGVycy4gZS5nLgorV2hlbiAiaWNjIiBpcyBjb250YWluZGVkIGluIHdvcmtpbmcgcGF0aCwgYmVsb3cgZXJyb3JzIGFyZSByZXBvcnRlZCB3aGVuCitjb21waWxpbmcgcHl0aG9uOgoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiBzdHJpY3Q6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3g4Nl82NC13cnMtbGludXgtZ2NjOiBlcnJvcjogdW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1mcC1tb2RlbCcKKworSGVyZSB1c2UgY2NfYmFzZW5hbWUgdG8gcmVwbGFjZSBDQyBmb3IgY2hlY2tpbmcgY29tcGlsZXIgdG8gYXZvaWQgc3VjaAora2luZCBvZiBpc3N1ZS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KKworUGF0Y2ggb3JpZ25hbGx5IGZyb20gTGkgWmhvdSwgSSBqdXN0IHJld29yayBpdCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTggKysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGIxYzk0MC4uZGZjZDg5YSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjg0LDcgKzY4NCw3IEBAIEFDX01TR19SRVNVTFQoJHdpdGhfY3h4X21haW4pCisgcHJlc2V0X2N4eD0iJENYWCIKKyBpZiB0ZXN0IC16ICIkQ1hYIgorIHRoZW4KKy0gICAgICAgIGNhc2UgIiRDQyIgaW4KKysgICAgICAgIGNhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAgICAgICAgIGdjYykgICAgQUNfUEFUSF9UT09MKENYWCwgW2crK10sIFtnKytdLCBbbm90Zm91bmRdKSA7OworICAgICAgICAgY2MpICAgICBBQ19QQVRIX1RPT0woQ1hYLCBbYysrXSwgW2MrK10sIFtub3Rmb3VuZF0pIDs7CisgICAgICAgICBlc2FjCitAQCAtNzU3LDE0ICs3NTcsMTQgQEAgcm1kaXIgQ2FzZVNlbnNpdGl2ZVRlc3REaXIKKyAKKyBjYXNlICRNQUNIREVQIGluCisgYnNkb3MqKQorLSAgICBjYXNlICRDQyBpbgorKyAgICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBnY2MpIENDPSIkQ0MgLURfSEFWRV9CU0RJIjs7CisgICAgIGVzYWM7OworIGVzYWMKKyAKKyBjYXNlICRhY19zeXNfc3lzdGVtIGluCisgaHAqfEhQKikKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgY2N8Ki9jYykgQ0M9IiRDQyAtQWUiOzsKKyAgICAgZXNhYzs7CisgU3VuT1MqKQorQEAgLTEwODQsNyArMTA4NCw3IEBAIHRoZW4KKyAgICAgICAgIGZpCisgCisgICAgICAgICAjIENsYW5nIGFsc28gbmVlZHMgLWZ3cmFwdgorLSAgICAgICAgY2FzZSAkQ0MgaW4KKysgICAgICAgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICAgICAgICAgKmNsYW5nKikgV1JBUD0iLWZ3cmFwdiIKKyAgICAgICAgICAgICA7OworICAgICAgICAgZXNhYworQEAgLTEzMDQsNyArMTMwNCw3IEBAIHllcykKKyBlc2FjCisgCisgIyBJQ0MgbmVlZHMgLWZwLW1vZGVsIHN0cmljdCBvciBmbG9hdHMgYmVoYXZlIGJhZGx5CistY2FzZSAiJENDIiBpbgorK2Nhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAqaWNjKikKKyAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWZwLW1vZGVsIHN0cmljdCIKKyAgICAgOzsKK0BAIC0xNDQzLDcgKzE0NDMsNyBAQCBlbHNlCisgZmldLAorIFtBQ19NU0dfUkVTVUxUKG5vKV0pCisgaWYgdGVzdCAiJFB5X0xUTyIgPSAndHJ1ZScgOyB0aGVuCistICBjYXNlICRDQyBpbgorKyAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgKmNsYW5nKikKKyAgICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgICBMVE9GTEFHUz0iLWZsdG8iCitAQCAtMTUwOCw3ICsxNTA4LDcgQEAgdGhlbgorICAgZmkKKyBmaQorIExMVk1fUFJPRl9FUlI9bm8KKy1jYXNlICRDQyBpbgorK2Nhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAqY2xhbmcqKQorICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgUEdPX1BST0ZfR0VOX0ZMQUc9Ii1mcHJvZmlsZS1pbnN0ci1nZW5lcmF0ZSIKK0BAIC0yMzIyLDcgKzIzMjIsNyBAQCB0aGVuCisgCQl0aGVuIENDU0hBUkVEPSItZlBJQyIKKyAJCWVsc2UgQ0NTSEFSRUQ9Ii1LcGljIC1iZWxmIgorIAkJZmk7OworLQlJUklYKi82KikgIGNhc2UgJENDIGluCisrCUlSSVgqLzYqKSAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAJCSAgICpnY2MqKSBDQ1NIQVJFRD0iLXNoYXJlZCI7OworIAkJICAgKikgQ0NTSEFSRUQ9IiI7OworIAkJICAgZXNhYzs7CitAQCAtMjM2Niw3ICsyMzY2LDcgQEAgdGhlbgorIAkJdGhlbgorIAkJCUxJTktGT1JTSEFSRUQ9Ii1XbCwtLWV4cG9ydC1keW5hbWljIgorIAkJZmk7OworLQlTdW5PUy81KikgY2FzZSAkQ0MgaW4KKysJU3VuT1MvNSopIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgCQkgICpnY2MqKQorIAkJICAgIGlmICRDQyAtWGxpbmtlciAtLWhlbHAgMj4mMSB8IGdyZXAgZXhwb3J0LWR5bmFtaWMgPi9kZXYvbnVsbAorIAkJICAgIHRoZW4KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9jcmVhdGVfbWFuaWZlc3QyLnB5CmluZGV4IGI2NzQ4NjUuLjM0NjU5NTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vY3JlYXRlX21hbmlmZXN0Mi5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uL2NyZWF0ZV9tYW5pZmVzdDIucHkKQEAgLTIwOSw3ICsyMDksMTMgQEAKIAogICAgICAgICAgICAgaW5Gb2xkZXJzPUZhbHNlCiAgICAgICAgICAgICBmb3IgZm9sZGVyIGluIGFsbGZvbGRlcnM6Ci0gICAgICAgICAgICAgICAgaWYgZm9sZGVyIGluIGl0ZW06CisgICAgICAgICAgICAgICAgIyBUaGUgbW9kdWxlIGNvdWxkIGhhdmUgYSBkaXJlY3RvcnkgbmFtZWQgYWZ0ZXIgaXQsIGUuZy4geG1sLCBpZiB3ZSB0YWtlIG91dCB0aGUgZmlsZW5hbWUgZnJvbSB0aGUgcGF0aAorICAgICAgICAgICAgICAgICMgd2UnbGwgZW5kIHVwIHdpdGggJHtsaWJkaXJ9LCBhbmQgd2Ugd2FudCAke2xpYmRpcn0veG1sCisgICAgICAgICAgICAgICAgaWYgaXNGb2xkZXIoaXRlbSk6CisgICAgICAgICAgICAgICAgICAgIGNoZWNrX3BhdGggPSBpdGVtCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tfcGF0aCA9IG9zLnBhdGguZGlybmFtZShpdGVtKQorICAgICAgICAgICAgICAgIGlmIGZvbGRlciBpbiBjaGVja19wYXRoIDoKICAgICAgICAgICAgICAgICAgICAgaW5Gb2xkZXJzID0gVHJ1ZSAjIERpZCB3ZSBmaW5kIGEgZm9sZGVyPwogICAgICAgICAgICAgICAgICAgICBmb2xkZXJGb3VuZCA9IEZhbHNlICMgU2Vjb25kIGZsYWcgdG8gYnJlYWsgaW5uZXIgZm9yCiAgICAgICAgICAgICAgICAgICAgICMgTG9vcCBvbmx5IHRocm91Z2ggcGFja2FnZXMgd2hpY2ggY29udGFpbiBmb2xkZXJzCkBAIC0yNjIsMTYgKzI2OCwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3X21hbmlmZXN0W2tleV1bJ3JkZXBlbmRzJ10uYXBwZW5kKG5ld2tleSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgIyBEZWJ1ZwotICAgICAgICAgICAgICAgICAgICAgIHByaW50KCdBZGRpbmcgJXMgdG8gJXMgRklMRVMnICUgKGl0ZW0sIGtleSkpCi0gICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgICBuZXdfbWFuaWZlc3Rba2V5XVsnZmlsZXMnXS5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtLmVuZHN3aXRoKCcqJyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgICBpZiBpdGVtIG5vdCBpbiBhbGxmaWxlczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsZmlsZXMuYXBwZW5kKGl0ZW0pCi0gICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0ZWQuYXBwZW5kKGl0ZW0pCisgICAgICAgICAgICAgICAgICAgICAgICAjIERlYnVnCisgICAgICAgICAgICAgICAgICAgICAgICBwcmludCgnQWRkaW5nICVzIHRvICVzIEZJTEVTJyAlIChpdGVtLCBrZXkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIyBTaW5jZSBpdCB3YXNudCBmb3VuZCBvbiBhbm90aGVyIHBhY2thZ2UsIGl0cyBub3QgYW4gUkRFUCwgc28gYWRkIGl0IHRvIEZJTEVTIGZvciB0aGlzIHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG5ld19tYW5pZmVzdFtrZXldWydmaWxlcyddLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXRlbS5lbmRzd2l0aCgnKicpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGRjYXJkcy5hcHBlbmQoaXRlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0gbm90IGluIGFsbGZpbGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsbGZpbGVzLmFwcGVuZChpdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRlZC5hcHBlbmQoaXRlbSkKIAogcHJpbnQgKCdUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSByZXBlYXRlZCAoY29udGFpbmVkIGluIG1vcmUgdGhhbiBvbmUgcGFja2FnZSksIHBsZWFzZSBjaGVjayB3aGljaCBwYWNrYWdlIHNob3VsZCBnZXQgaXQ6JykKIHByaW50IChyZXBlYXRlZCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcHl0aG9uMi1tYW5pZmVzdC5qc29uIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KaW5kZXggYzA5MmU2OS4uZWI1MmU4NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9weXRob24yLW1hbmlmZXN0Lmpzb24KQEAgLTEwOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sIAogICAgICAgICAiZmlsZXMiOiBbCi0gICAgICAgICAgICAiJHtiaW5kaXJ9LzJ0bzMiLCAKKyAgICAgICAgICAgICIke2JpbmRpcn0vMnRvMyoiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvbGliMnRvMyIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTA1Niw2ICsxMDU2LDcgQEAKICAgICAgICAgICAgICJjb3JlIgogICAgICAgICBdLCAKICAgICAgICAgImZpbGVzIjogWworICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL190a2ludGVyLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L2xpYi10ayIKICAgICAgICAgXQogICAgIH0sIApAQCAtMTEyMSw3ICsxMTIyLDggQEAKICAgICAgICAgXSwgCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uMi43L0RvY1hNTFJQQ1NlcnZlci5weSIsIAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IgorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24yLjcvU2ltcGxlWE1MUlBDU2VydmVyLnB5IiwgCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy94bWxycGNsaWIucHkiCiAgICAgICAgIF0KICAgICB9LCAKICAgICAiemxpYiI6IHsKQEAgLTExMzMsNCArMTEzNSw0IEBACiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbjIuNy9saWItZHlubG9hZC96bGliLnNvIgogICAgICAgICBdCiAgICAgfQotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24vcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKaW5kZXggODMyNTUxYS4uMTNkZmM5OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbi9ydW4tcHRlc3QKQEAgLTEsMyArMSwzIEBACiAjIS9iaW4vc2gKIAotcHl0aG9uIC1tIHRlc3QucmVncnRlc3QgLXYgfCBzZWQgLWUgJy9cLlwuXC4gb2svIHMvXi9QQVNTOiAvZycgLWUgJy9cLlwuXC4gW0VSUk9SfEZBSUxdLyBzL14vRkFJTDogL2cnIC1lICcvXC5cLlwuIHNraXBwZWQvIHMvXi9TS0lQOiAvZycgLWUgJ3MvIFwuXC5cLiBvay8vZycgLWUgJ3MvIFwuXC5cLiBFUlJPUi8vZycgLWUgJ3MvIFwuXC5cLiBGQUlMLy9nJyAtZSAncy8gXC5cLlwuIHNraXBwZWQvL2cnCitweXRob24gLW10ZXN0IC1XIHwgc2VkIC1lICcvXC5cLlwuIG9rLyBzL14vUEFTUzogL2cnIC1lICcvXC5cLlwuIFtFUlJPUnxGQUlMXS8gcy9eL0ZBSUw6IC9nJyAtZSAnL1wuXC5cLiBza2lwcGVkLyBzL14vU0tJUDogL2cnIC1lICdzLyBcLlwuXC4gb2svL2cnIC1lICdzLyBcLlwuXC4gRVJST1IvL2cnIC1lICdzLyBcLlwuXC4gRkFJTC8vZycgLWUgJ3MvIFwuXC5cLiBza2lwcGVkLy9nJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1naXRkYl8yLjAuNS5iYgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtZ2l0ZGJfMi4wLjQuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLWdpdGRiXzIuMC41LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1uYXRpdmVfMy41LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3YmM0ZjMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtbmF0aXZlXzMuNS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYwotCi1ESVNUUk9fU1JDX1VSSSA/PSAiZmlsZTovL3NpdGVjdXN0b21pemUucHkiCi1ESVNUUk9fU1JDX1VSSV9saW51eHN0ZGJhc2UgPSAiIgotU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKLWZpbGU6Ly8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2ggXAotZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAotZmlsZTovLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggXAotZmlsZTovLzA4MC1kaXN0dXRpbHMtZG9udF9hZGp1c3RfZmlsZXMucGF0Y2ggXAotZmlsZTovLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBcCi1maWxlOi8vMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2ggXAotZmlsZTovL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2ggXAotZmlsZTovLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaCBcCi1maWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWgycHktRml4LWlzc3VlLTEzMDMyLXdoZXJlLWl0LWZhaWxzLXdpdGgtVW5pY29kZURlY28ucGF0Y2ggXAotZmlsZTovL3N5c3Jvb3QtaW5jbHVkZS1oZWFkZXJzLnBhdGNoIFwKLWZpbGU6Ly91bml4Y2NvbXBpbGVyLnBhdGNoIFwKLSR7RElTVFJPX1NSQ19VUkl9IFwKLWZpbGU6Ly9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggXAotZmlsZTovL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBcCi1maWxlOi8vMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoIFwKLWZpbGU6Ly9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2ggXAotZmlsZTovL3JlZ2VuLWFsbC5wYXRjaCBcCi1maWxlOi8vMDAwMS1Jc3N1ZS0yODA0My1TU0xDb250ZXh0LWhhcy1pbXByb3ZlZC1kZWZhdWx0LXNldHRpbmdzLnBhdGNoIFwKLWZpbGU6Ly8wMDAyLWJwby0yOTEzNi1BZGQtVExTLTEuMy1jaXBoZXItc3VpdGVzLWFuZC1PUF9OT19UTFN2MV8ucGF0Y2ggXAotZmlsZTovLzAwMDMtYnBvLTMyOTQ3LUZpeGVzLWZvci1UTFMtMS4zLWFuZC1PcGVuU1NMLTEuMS4xLUdILTg3Ni5wYXRjaCBcCi1maWxlOi8vMDAwNC1icG8tMzM1NzAtVExTLTEuMy1jaXBoZXJzLWZvci1PcGVuU1NMLTEuMS4xLUdILTY5NzYucGF0Y2ggXAotZmlsZTovLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaCBcCi0iCi0KLUVYVFJBTkFUSVZFUEFUSCArPSAiYnppcDItbmF0aXZlIgotREVQRU5EUyA9ICJvcGVuc3NsLW5hdGl2ZSBiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUgemxpYi1uYXRpdmUgcmVhZGxpbmUtbmF0aXZlIHNxbGl0ZTMtbmF0aXZlIGdkYm0tbmF0aXZlIgotCi1pbmhlcml0IG5hdGl2ZQotCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWJpbmRpcj0ke2JpbmRpcn0vJHtQTn0gLS13aXRob3V0LWVuc3VyZXBpcCIKLQotRVhUUkFfT0VNQUtFID0gJ1wKLSAgTElCQz0iIiBcCi0gIFNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSBcCi0gIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfSBcCi0gIExJQj0ke2Jhc2VsaWJ9IFwKLSAgQVJDSD0ke1RBUkdFVF9BUkNIfSBcCi0nCi0KLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0JYXV0b3JlY29uZiAtLXZlcmJvc2UgLS1pbnN0YWxsIC0tZm9yY2UgLS1leGNsdWRlPWF1dG9wb2ludCAuLi9QeXRob24tJHtQVn0vTW9kdWxlcy9fY3R5cGVzL2xpYmZmaQotCXNlZCAtaSAtZSAncywjZGVmaW5lIEhBVkVfR0VUUkFORE9NIDEsL1wqICN1bmRlZiBIQVZFX0dFVFJBTkRPTSBcKi8sJyAke0J9L3B5Y29uZmlnLmgKLX0KLQotIyBSZWdlbmVyYXRlIGFsbCBvZiB0aGUgZ2VuZXJhdGVkIGZpbGVzCi0jIFRoaXMgZW5zdXJlcyB0aGF0IHBnZW4gYW5kIGZyaWVuZHMgZ2V0IGNyZWF0ZWQgZHVyaW5nIHRoZSBjb21waWxlIHBoYXNlCi0jCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgIyBBc3N1bWluZyBodHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTMzMDgwIGhhcyBiZWVuIGFkZHJlc3NlZCBpbiBNYWtlZmlsZS4KLSAgICBvZV9ydW5tYWtlIHJlZ2VuLWFsbAotfQotCi1kb19pbnN0YWxsKCkgewotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQlpZiBbIC1lICR7V09SS0RJUn0vc2l0ZWN1c3RvbWl6ZS5weSBdOyB0aGVuCi0JCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3NpdGVjdXN0b21pemUucHkgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfQotCWZpCi0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LyR7UE59Ci0JaW5zdGFsbCAtbSAwNzU1IFBhcnNlci9wZ2VuICR7RH0ke2JpbmRpcn0vJHtQTn0KLQotCSMgTWFrZSBzdXJlIHdlIHVzZSAvdXNyL2Jpbi9lbnYgcHl0aG9uCi0JZm9yIFBZVEhTQ1JJUFQgaW4gYGdyZXAgLXJJbCAke2JpbmRpcn0vJHtQTn0vcHl0aG9uICR7RH0ke2JpbmRpcn0vJHtQTn1gOyBkbwotCQlzZWQgLWkgLWUgJzFzfF4jIS4qfCMhL3Vzci9iaW4vZW52IHB5dGhvbjN8JyAkUFlUSFNDUklQVAotCWRvbmUKLQotICAgICAgICAjIEFkZCBhIHN5bWxpbmsgdG8gdGhlIG5hdGl2ZSBQeXRob24gc28gdGhhdCBzY3JpcHRzIGNhbiBqdXN0IGludm9rZQotICAgICAgICAjICJuYXRpdmVweXRob24iIGFuZCBnZXQgdGhlIHJpZ2h0IG9uZSB3aXRob3V0IG5lZWRpbmcgYWJzb2x1dGUgcGF0aHMKLSAgICAgICAgIyAodGhlc2Ugb2Z0ZW4gZW5kIHVwIHRvbyBsb25nIGZvciB0aGUgIyEgcGFyc2VyIGluIHRoZSBrZXJuZWwgYXMgdGhlCi0gICAgICAgICMgYnVmZmVyIGlzIDEyOCBieXRlcyBsb25nKS4KLSAgICAgICAgbG4gLXMgcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyAke0R9JHtiaW5kaXJ9L25hdGl2ZXB5dGhvbjMKLX0KLQotcHl0aG9uKCl7Ci0KLSAgICAjIFJlYWQgSlNPTiBtYW5pZmVzdAotICAgIGltcG9ydCBqc29uCi0gICAgcHl0aG9uZGlyID0gZC5nZXRWYXIoJ1RISVNESVInKQotICAgIHdpdGggb3BlbihweXRob25kaXIrJy9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbicpIGFzIG1hbmlmZXN0X2ZpbGU6Ci0gICAgICAgIHB5dGhvbl9tYW5pZmVzdD1qc29uLmxvYWQobWFuaWZlc3RfZmlsZSkKLQotICAgIHJwcm92aWRlcyA9IGQuZ2V0VmFyKCdSUFJPVklERVMnKS5zcGxpdCgpCi0KLSAgICAjIEhhcmRjb2RlZCBzaW5jZSBpdCBjYW50IGJlIHB5dGhvbjMtbmF0aXZlLWZvbywgc2hvdWxkIGJlIHB5dGhvbjMtZm9vLW5hdGl2ZQotICAgIHBuID0gJ3B5dGhvbjMnCi0KLSAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKLSAgICAgICAgcHlwYWNrYWdlID0gcG4gKyAnLScgKyBrZXkgKyAnLW5hdGl2ZScKLSAgICAgICAgaWYgcHlwYWNrYWdlIG5vdCBpbiBycHJvdmlkZXM6Ci0gICAgICAgICAgICAgIHJwcm92aWRlcy5hcHBlbmQocHlwYWNrYWdlKQotCi0gICAgZC5zZXRWYXIoJ1JQUk9WSURFUycsICcgJy5qb2luKHJwcm92aWRlcykpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNC4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3ZTczNjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGJyXzQuMi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1pbmhlcml0IHNldHVwdG9vbHMzCi1yZXF1aXJlIHB5dGhvbi1wYnIuaW5jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1wYnJfNS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JhMWQwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBicl81LjEuMi5iYgpAQCAtMCwwICsxLDUgQEAKK2luaGVyaXQgc2V0dXB0b29sczMKK3JlcXVpcmUgcHl0aG9uLXBici5pbmMKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZWE1NTY3ODM0NWJkNzdiNGZmNWIyZWJiNzI5ZmQ2ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNzE3NTczMzUxY2ZlMDlmNDlkZjYxOTA2Y2QyNzJhYmFhNzU5YjNlOTE3NDQzOTZiODA0OTY1ZmY3YmZmMzhiIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmNkYjgwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXBpcF8xOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUHlQQSByZWNvbW1lbmRlZCB0b29sIGZvciBpbnN0YWxsaW5nIFB5dGhvbiBwYWNrYWdlcyIKLUhPTUVQQUdFID0gImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3B5cGkvcGlwIgotU0VDVElPTiA9ICJkZXZlbC9weXRob24iCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT01OTNjNmNkOWQ2MzkzMDcyMjY5NzhjYmNhZTYxYWQ0YiIKLQotREVQRU5EUyArPSAicHl0aG9uMyBweXRob24zLXNldHVwdG9vbHMtbmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTJmNzVjZWIyMWU5NmMyNThmMjg5ODU5YTI5OTZiNjAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTBlMTE2NDVlZTM3YzkwYjQwYzQ2ZDYwNzA3MGM0ZmQ1ODNlMmNkNDYyMzFiMWMwNmUzODljNWU4MTRlZWQ3NiIKLQotaW5oZXJpdCBweXBpIGRpc3R1dGlsczMKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBJbnN0YWxsIGFzIHBpcDMgYW5kIGxlYXZlIHBpcDIgYXMgZGVmYXVsdAotICAgIHJtICR7RH0vJHtiaW5kaXJ9L3BpcAotfQotCi1SREVQRU5EU18ke1BOfSA9ICJcCi0gIHB5dGhvbjMtY29tcGlsZSBcCi0gIHB5dGhvbjMtaW8gXAotICBweXRob24zLWh0bWwgXAotICBweXRob24zLWpzb24gXAotICBweXRob24zLW5ldHNlcnZlciBcCi0gIHB5dGhvbjMtc2V0dXB0b29scyBcCi0gIHB5dGhvbjMtdW5peGFkbWluIFwKLSAgcHl0aG9uMy14bWxycGMgXAotIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1waXBfMTkuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODFhNjBjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtcGlwXzE5LjAuMi5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRoZSBQeVBBIHJlY29tbWVuZGVkIHRvb2wgZm9yIGluc3RhbGxpbmcgUHl0aG9uIHBhY2thZ2VzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9waXAiCitTRUNUSU9OID0gImRldmVsL3B5dGhvbiIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PThiYTA2ZDUyOWM5NTUwNDhlNWRkZDdjNDU0NTllYjJlIgorCitERVBFTkRTICs9ICJweXRob24zIHB5dGhvbjMtc2V0dXB0b29scy1uYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MjZmZDllYzFlNmVhOTU2YjM1NzFlYmZiNDJjZjgzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmODUxMTMzZjhiNTgyODNmYTUwZDhjNzg2NzVlYjg4ZDRmZjRjZGUyOWI2YzQxMjA1Y2Q5MzhiMDYzMzhlMGU1IgorCitpbmhlcml0IHB5cGkgZGlzdHV0aWxzMworCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIEluc3RhbGwgYXMgcGlwMyBhbmQgbGVhdmUgcGlwMiBhcyBkZWZhdWx0CisgICAgcm0gJHtEfS8ke2JpbmRpcn0vcGlwCit9CisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgcHl0aG9uMy1jb21waWxlIFwKKyAgcHl0aG9uMy1pbyBcCisgIHB5dGhvbjMtaHRtbCBcCisgIHB5dGhvbjMtanNvbiBcCisgIHB5dGhvbjMtbmV0c2VydmVyIFwKKyAgcHl0aG9uMy1zZXR1cHRvb2xzIFwKKyAgcHl0aG9uMy11bml4YWRtaW4gXAorICBweXRob24zLXhtbHJwYyBcCisiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2V0dXB0b29sc180MC44LjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNldHVwdG9vbHNfNDAuMC4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zZXR1cHRvb2xzXzQwLjguMC5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc2l4XzEuMTEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjExLjAuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNpeF8xLjEyLjAuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMtc21tYXBfMi4wLjUuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLXNtbWFwXzAuOS4wLmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy1zbW1hcF8yLjAuNS5iYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTY1YjNmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYworKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVGhlIFB5dGhvbiBQcm9ncmFtbWluZyBMYW5ndWFnZSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZyIKLUxJQ0VOU0UgPSAiUFNGdjIiCi1TRUNUSU9OID0gImRldmVsL3B5dGhvbiIKLQotIyBUT0RPIFJlbW92ZSB0aGlzIHdoZW4gd2UgdXBncmFkZQotSU5DX1BSID0gInIxIgotUFIgPSAiJHtJTkNfUFJ9LjAiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWI2ZWM1MTViMjI2MThmNTVmYTA3Mjc2Yjg5N2JhY2VhIgotCi0jIFRPRE8gY29uc29saWRhdGUgcGF0Y2ggc2V0Ci1TUkNfVVJJW21kNXN1bV0gPSAiZjVhOTlmNzY1ZTc2NTMzNmEzZWJiYjJhMjRjYTJiZTMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjU1Y2RlMDRmNTIxZjI3M2M3Y2JhMDg5MTI5MjFjYzU2NDJjZmMxNWNhN2IyMmQ1ODI5ZjBhZmY0MzcxMTU1ZiIKLQotIyBleGNsdWRlIHByZS1yZWxlYXNlcyBmb3IgYm90aCBweXRob24gMi54IGFuZCAzLngKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIltQcF15dGhvbi0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgotCi1DVkVfUFJPRFVDVCA9ICJweXRob24iCi0KLVBZVEhPTl9NQUpNSU4gPSAiMy41IgotUFlUSE9OX0JJTkFCSSA9ICIke1BZVEhPTl9NQUpNSU59bSIKLQotUyA9ICIke1dPUktESVJ9L1B5dGhvbi0ke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgYmx1ZXRvb3RoIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAtLXdpdGgtdGhyZWFkcyBcCi0gIC0td2l0aC1weW1hbGxvYyBcCi0gIC0td2l0aG91dC1jeHgtbWFpbiBcCi0gIC0td2l0aC1zaWduYWwtbW9kdWxlIFwKLSAgLS1lbmFibGUtc2hhcmVkIFwKLSAgLS1lbmFibGUtaXB2Nj0ke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAneWVzJywgJ25vJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tibHVldG9vdGhdID0gIixhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vIGFjX2N2X2hlYWRlcl9ibHVldG9vdGhfaD1ubywke0JMVUVafSIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9L2luc3RhbGw6aW5zdGFsbDpnJyBcCi0JCS1lICdzOiR7SE9TVFRPT0xTX0RJUn0vbWtkaXI6bWtkaXI6ZycgXAotCQkke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5Ci19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC1hZGQtdXNyLWxpYi10ZXJtY2FwLXRvLWxpbmtlci1mbGFncy10by1hdm9pZC0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlmMjc5YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LWFkZC11c3ItbGliLXRlcm1jYXAtdG8tbGlua2VyLWZsYWdzLXRvLWF2b2lkLS5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9tIDIzMjk0YzZiYTY4OTYxMTU4MjgyOTNmZGI3ZTY3YjQ3YjM4YmE2NzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjUgSmFuIDIwMTkgMTk6MDQ6MTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGFkZCAvdXNyL2xpYi90ZXJtY2FwIHRvIGxpbmtlciBmbGFncyB0byBhdm9pZCBob3N0CisgY29udGFtaW5hdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lLWNvcmUgc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgc2V0dXAucHkgfCAxIC0KKyAxIGZpbGUgY2hhbmdlZCwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggYjQzNTdlMy4uZmJlYzAwZCAxMDA2NDQKKy0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTg1Niw3ICs4NTYsNiBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVybWNhcCcpOgorICAgICAgICAgICAgICAgICByZWFkbGluZV9saWJzLmFwcGVuZCgndGVybWNhcCcpCisgICAgICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbigncmVhZGxpbmUnLCBbJ3JlYWRsaW5lLmMnXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlfZGlycz1bJy91c3IvbGliL3Rlcm1jYXAnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2xpbmtfYXJncz1yZWFkbGluZV9leHRyYV9saW5rX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9cmVhZGxpbmVfbGlicykgKQorICAgICAgICAgZWxzZToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1hcy1sb2NhdGlvbi1mb3Itc2l0ZS1wYWNrYWdlcy1hbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1hcy1sb2NhdGlvbi1mb3Itc2l0ZS1wYWNrYWdlcy1hbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjFmNTJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Eby1ub3QtaGFyZGNvZGUtbGliLWFzLWxvY2F0aW9uLWZvci1zaXRlLXBhY2thZ2VzLWFuLnBhdGNoCkBAIC0wLDAgKzEsMTk2IEBACitGcm9tIDBmYmRhZDFlYWY1NDFhOGU5MmJlODFmMzk1MTRjZDI0OWIzYjA4MDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBGZWIgMjAxOSAxNTo1MjowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgaGFyZGNvZGUgImxpYiIgYXMgbG9jYXRpb24gZm9yIG1vZHVsZXMsIHNpdGUtcGFja2FnZXMKKyBhbmQgbGliLWR5bmxvYWQKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIEluY2x1ZGUvcHl0aG9ucnVuLmggIHwgIDIgKysKKyBMaWIvc2l0ZS5weSAgICAgICAgICB8ICA0ICsrLS0KKyBNYWtlZmlsZS5wcmUuaW4gICAgICB8ICA1ICsrKy0tCisgTW9kdWxlcy9nZXRwYXRoLmMgICAgfCAxOCArKysrKysrKysrKystLS0tLS0KKyBQeXRob24vZ2V0cGxhdGZvcm0uYyB8IDEwICsrKysrKysrKysKKyBQeXRob24vc3lzbW9kdWxlLmMgICB8ICAyICsrCisgNiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHl0aG9ucnVuLmggYi9JbmNsdWRlL3B5dGhvbnJ1bi5oCitpbmRleCA2ZjBjNmZjLi4wYTE3ZWRkIDEwMDY0NAorLS0tIGEvSW5jbHVkZS9weXRob25ydW4uaAorKysrIGIvSW5jbHVkZS9weXRob25ydW4uaAorQEAgLTcsNiArNyw4IEBACisgZXh0ZXJuICJDIiB7CisgI2VuZGlmCisgCisrUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X0dldExpYih2b2lkKTsKKysKKyAjaWZuZGVmIFB5X0xJTUlURURfQVBJCisgUHlBUElfRlVOQyhpbnQpIFB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzKGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOworIFB5QVBJX0ZVTkMoaW50KSBQeVJ1bl9BbnlGaWxlRmxhZ3MoRklMRSAqLCBjb25zdCBjaGFyICosIFB5Q29tcGlsZXJGbGFncyAqKTsKK2RpZmYgLS1naXQgYS9MaWIvc2l0ZS5weSBiL0xpYi9zaXRlLnB5CitpbmRleCBmZmQxMzJiLi5iNTVmNmQ4IDEwMDY0NAorLS0tIGEvTGliL3NpdGUucHkKKysrKyBiL0xpYi9zaXRlLnB5CitAQCAtMzM0LDEyICszMzQsMTIgQEAgZGVmIGdldHNpdGVwYWNrYWdlcyhwcmVmaXhlcz1Ob25lKToKKyAgICAgICAgIHNlZW4uYWRkKHByZWZpeCkKKyAKKyAgICAgICAgIGlmIG9zLnNlcCA9PSAnLyc6CistICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCAibGliIiwKKysgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsIHN5cy5saWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24lZC4lZCIgJSBzeXMudmVyc2lvbl9pbmZvWzoyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpdGUtcGFja2FnZXMiKSkKKyAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChwcmVmaXgpCistICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCAibGliIiwgInNpdGUtcGFja2FnZXMiKSkKKysgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsIHN5cy5saWIsICJzaXRlLXBhY2thZ2VzIikpCisgICAgIHJldHVybiBzaXRlcGFja2FnZXMKKyAKKyBkZWYgYWRkc2l0ZXBhY2thZ2VzKGtub3duX3BhdGhzLCBwcmVmaXhlcz1Ob25lKToKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KK2luZGV4IDZlODFiMmYuLjY3MWEyMGUgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5wcmUuaW4KKysrKyBiL01ha2VmaWxlLnByZS5pbgorQEAgLTE0Miw3ICsxNDIsNyBAQCBMSUJESVI9CQlAbGliZGlyQAorIE1BTkRJUj0JCUBtYW5kaXJACisgSU5DTFVERURJUj0JQGluY2x1ZGVkaXJACisgQ09ORklOQ0xVREVESVI9CSQoZXhlY19wcmVmaXgpL2luY2x1ZGUKKy1TQ1JJUFRESVI9CSQocHJlZml4KS9saWIKKytTQ1JJUFRESVI9CUBsaWJkaXJACisgQUJJRkxBR1M9CUBBQklGTEFHU0AKKyAKKyAjIERldGFpbGVkIGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzCitAQCAtNzY4LDYgKzc2OCw3IEBAIE1vZHVsZXMvZ2V0cGF0aC5vOiAkKHNyY2RpcikvTW9kdWxlcy9nZXRwYXRoLmMgTWFrZWZpbGUKKyAJCS1ERVhFQ19QUkVGSVg9JyIkKGV4ZWNfcHJlZml4KSInIFwKKyAJCS1EVkVSU0lPTj0nIiQoVkVSU0lPTikiJyBcCisgCQktRFZQQVRIPSciJChWUEFUSCkiJyBcCisrCQktRExJQj0nIiQoTElCKSInIFwKKyAJCS1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL2dldHBhdGguYworIAorIFByb2dyYW1zL3B5dGhvbi5vOiAkKHNyY2RpcikvUHJvZ3JhbXMvcHl0aG9uLmMKK0BAIC04NTYsNyArODU3LDcgQEAgcmVnZW4tb3Bjb2RlOgorIFB5dGhvbi9jb21waWxlLm8gUHl0aG9uL3N5bXRhYmxlLm8gUHl0aG9uL2FzdF91bnBhcnNlLm8gUHl0aG9uL2FzdC5vOiAkKHNyY2RpcikvSW5jbHVkZS9ncmFtaW5pdC5oICQoc3JjZGlyKS9JbmNsdWRlL1B5dGhvbi1hc3QuaAorIAorIFB5dGhvbi9nZXRwbGF0Zm9ybS5vOiAkKHNyY2RpcikvUHl0aG9uL2dldHBsYXRmb3JtLmMKKy0JCSQoQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1EUExBVEZPUk09JyIkKE1BQ0hERVApIicgLW8gJEAgJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCisrCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1ETElCPSciJChMSUIpIicgLW8gJEAgJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCisgCisgUHl0aG9uL2ltcG9ydGRsLm86ICQoc3JjZGlyKS9QeXRob24vaW1wb3J0ZGwuYworIAkJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLUkkKERMSU5DTERJUikgLW8gJEAgJChzcmNkaXIpL1B5dGhvbi9pbXBvcnRkbC5jCitkaWZmIC0tZ2l0IGEvTW9kdWxlcy9nZXRwYXRoLmMgYi9Nb2R1bGVzL2dldHBhdGguYworaW5kZXggZTZhM2U4ZS4uMGM2MmFmNiAxMDA2NDQKKy0tLSBhL01vZHVsZXMvZ2V0cGF0aC5jCisrKysgYi9Nb2R1bGVzL2dldHBhdGguYworQEAgLTEyMyw2ICsxMjMsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CisgICAgIHdjaGFyX3QgKmV4ZWNfcHJlZml4OyAgICAgICAgICAgICAgLyogRVhFQ19QUkVGSVggZGVmaW5lICovCisgCisgICAgIHdjaGFyX3QgKmxpYl9weXRob247ICAgICAgICAgICAgICAgLyogImxpYi9weXRob25YLlkiICovCisrICAgIHdjaGFyX3QgKm11bHRpbGliX3B5dGhvbjsgICAgICAgICAgICAgICAvKiAibGliW3N1ZmZpeF0vcHl0aG9uWC5ZIiAqLworICAgICB3Y2hhcl90IGFyZ3YwX3BhdGhbTUFYUEFUSExFTisxXTsKKyAgICAgd2NoYXJfdCB6aXBfcGF0aFtNQVhQQVRITEVOKzFdOyAgICAvKiAiLi4uL2xpYi9weXRob25YWS56aXAiICovCisgCitAQCAtMzE0LDcgKzMxNSw3IEBAIHNlYXJjaF9mb3JfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICAgICAgaWYgKGRlbGltKSB7CisgICAgICAgICAgICAgKmRlbGltID0gTCdcMCc7CisgICAgICAgICB9CistICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgICAgICBqb2lucGF0aChwcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKHByZWZpeCwgTEFORE1BUkspOworICAgICAgICAgcmV0dXJuIDE7CisgICAgIH0KK0BAIC0zNDMsNyArMzQ0LDcgQEAgc2VhcmNoX2Zvcl9wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgIGNvcHlfYWJzb2x1dGUocHJlZml4LCBjYWxjdWxhdGUtPmFyZ3YwX3BhdGgsIE1BWFBBVEhMRU4rMSk7CisgICAgIGRvIHsKKyAgICAgICAgIG4gPSB3Y3NsZW4ocHJlZml4KTsKKy0gICAgICAgIGpvaW5wYXRoKHByZWZpeCwgY2FsY3VsYXRlLT5saWJfcHl0aG9uKTsKKysgICAgICAgIGpvaW5wYXRoKHByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICAgICAgam9pbnBhdGgocHJlZml4LCBMQU5ETUFSSyk7CisgICAgICAgICBpZiAoaXNtb2R1bGUocHJlZml4KSkgeworICAgICAgICAgICAgIHJldHVybiAxOworQEAgLTM1NSw3ICszNTYsNyBAQCBzZWFyY2hfZm9yX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgLyogTG9vayBhdCBjb25maWd1cmUncyBQUkVGSVggKi8KKyAgICAgd2NzbmNweShwcmVmaXgsIGNhbGN1bGF0ZS0+cHJlZml4LCBNQVhQQVRITEVOKTsKKyAgICAgcHJlZml4W01BWFBBVEhMRU5dID0gTCdcMCc7CistICAgIGpvaW5wYXRoKHByZWZpeCwgY2FsY3VsYXRlLT5saWJfcHl0aG9uKTsKKysgICAgam9pbnBhdGgocHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgIGpvaW5wYXRoKHByZWZpeCwgTEFORE1BUkspOworICAgICBpZiAoaXNtb2R1bGUocHJlZml4KSkgeworICAgICAgICAgcmV0dXJuIDE7CitAQCAtNDI3LDcgKzQyOCw3IEBAIHNlYXJjaF9mb3JfZXhlY19wcmVmaXgoY29uc3QgX1B5Q29yZUNvbmZpZyAqY29yZV9jb25maWcsCisgICAgICAgICAgICAgd2NzbmNweShleGVjX3ByZWZpeCwgY29yZV9jb25maWctPmhvbWUsIE1BWFBBVEhMRU4pOworICAgICAgICAgfQorICAgICAgICAgZXhlY19wcmVmaXhbTUFYUEFUSExFTl0gPSBMJ1wwJzsKKy0gICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmxpYl9weXRob24pOworKyAgICAgICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIGNhbGN1bGF0ZS0+bXVsdGlsaWJfcHl0aG9uKTsKKyAgICAgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBMImxpYi1keW5sb2FkIik7CisgICAgICAgICByZXR1cm4gMTsKKyAgICAgfQorQEAgLTQ2NCw3ICs0NjUsNyBAQCBzZWFyY2hfZm9yX2V4ZWNfcHJlZml4KGNvbnN0IF9QeUNvcmVDb25maWcgKmNvcmVfY29uZmlnLAorICAgICBjb3B5X2Fic29sdXRlKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmFyZ3YwX3BhdGgsIE1BWFBBVEhMRU4rMSk7CisgICAgIGRvIHsKKyAgICAgICAgIG4gPSB3Y3NsZW4oZXhlY19wcmVmaXgpOworLSAgICAgICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgICAgICBqb2lucGF0aChleGVjX3ByZWZpeCwgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICAgICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIEwibGliLWR5bmxvYWQiKTsKKyAgICAgICAgIGlmIChpc2RpcihleGVjX3ByZWZpeCkpIHsKKyAgICAgICAgICAgICByZXR1cm4gMTsKK0BAIC00NzYsNyArNDc3LDcgQEAgc2VhcmNoX2Zvcl9leGVjX3ByZWZpeChjb25zdCBfUHlDb3JlQ29uZmlnICpjb3JlX2NvbmZpZywKKyAgICAgLyogTG9vayBhdCBjb25maWd1cmUncyBFWEVDX1BSRUZJWCAqLworICAgICB3Y3NuY3B5KGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPmV4ZWNfcHJlZml4LCBNQVhQQVRITEVOKTsKKyAgICAgZXhlY19wcmVmaXhbTUFYUEFUSExFTl0gPSBMJ1wwJzsKKy0gICAgam9pbnBhdGgoZXhlY19wcmVmaXgsIGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbik7CisgICAgIGpvaW5wYXRoKGV4ZWNfcHJlZml4LCBMImxpYi1keW5sb2FkIik7CisgICAgIGlmIChpc2RpcihleGVjX3ByZWZpeCkpIHsKKyAgICAgICAgIHJldHVybiAxOworQEAgLTg3MSw2ICs4NzIsMTAgQEAgY2FsY3VsYXRlX2luaXQoUHlDYWxjdWxhdGVQYXRoICpjYWxjdWxhdGUsCisgICAgIGlmICghY2FsY3VsYXRlLT5saWJfcHl0aG9uKSB7CisgICAgICAgICByZXR1cm4gREVDT0RFX0xPQ0FMRV9FUlIoIkVYRUNfUFJFRklYIGRlZmluZSIsIGxlbik7CisgICAgIH0KKysgICAgY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24gPSBQeV9EZWNvZGVMb2NhbGUoTElCICIvcHl0aG9uIiBWRVJTSU9OLCAmbGVuKTsKKysgICAgaWYgKCFjYWxjdWxhdGUtPm11bHRpbGliX3B5dGhvbikgeworKyAgICAgICAgcmV0dXJuIERFQ09ERV9MT0NBTEVfRVJSKCJFWEVDX1BSRUZJWCBkZWZpbmUiLCBsZW4pOworKyAgICB9CisgICAgIHJldHVybiBfUHlfSU5JVF9PSygpOworIH0KKyAKK0BAIC04ODIsNiArODg3LDcgQEAgY2FsY3VsYXRlX2ZyZWUoUHlDYWxjdWxhdGVQYXRoICpjYWxjdWxhdGUpCisgICAgIFB5TWVtX1Jhd0ZyZWUoY2FsY3VsYXRlLT5wcmVmaXgpOworICAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+ZXhlY19wcmVmaXgpOworICAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+bGliX3B5dGhvbik7CisrICAgIFB5TWVtX1Jhd0ZyZWUoY2FsY3VsYXRlLT5tdWx0aWxpYl9weXRob24pOworICAgICBQeU1lbV9SYXdGcmVlKGNhbGN1bGF0ZS0+cGF0aF9lbnYpOworIH0KKyAKK2RpZmYgLS1naXQgYS9QeXRob24vZ2V0cGxhdGZvcm0uYyBiL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCitpbmRleCA4MWEwZjdhLi5kNTUzOTZiIDEwMDY0NAorLS0tIGEvUHl0aG9uL2dldHBsYXRmb3JtLmMKKysrKyBiL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCitAQCAtMTAsMyArMTAsMTMgQEAgUHlfR2V0UGxhdGZvcm0odm9pZCkKKyB7CisgICAgIHJldHVybiBQTEFURk9STTsKKyB9CisrCisrI2lmbmRlZiBMSUIKKysjZGVmaW5lIExJQiAibGliIgorKyNlbmRpZgorKworK2NvbnN0IGNoYXIgKgorK1B5X0dldExpYih2b2lkKQorK3sKKysJcmV0dXJuIExJQjsKKyt9CitkaWZmIC0tZ2l0IGEvUHl0aG9uL3N5c21vZHVsZS5jIGIvUHl0aG9uL3N5c21vZHVsZS5jCitpbmRleCBlZmU1YjI5Li5kZTc3YjE3IDEwMDY0NAorLS0tIGEvUHl0aG9uL3N5c21vZHVsZS5jCisrKysgYi9QeXRob24vc3lzbW9kdWxlLmMKK0BAIC0yMzE5LDYgKzIzMTksOCBAQCBfUHlTeXNfQmVnaW5Jbml0KFB5T2JqZWN0ICoqc3lzbW9kKQorICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldENvcHlyaWdodCgpKSk7CisgICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoInBsYXRmb3JtIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRQbGF0Zm9ybSgpKSk7CisrICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImxpYiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0TGliKCkpKTsKKyAgICAgU0VUX1NZU19GUk9NX1NUUklORygibWF4c2l6ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlMb25nX0Zyb21Tc2l6ZV90KFBZX1NTSVpFX1RfTUFYKSk7CisgICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImZsb2F0X2luZm8iLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoCmluZGV4IDhlYTNmMDMuLjgzZmQ1MmQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtRG8tbm90LXVzZS10aGUtc2hlbGwtdmVyc2lvbi1vZi1weXRob24tY29uZmlnLXRoYXQtdy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLURvLW5vdC11c2UtdGhlLXNoZWxsLXZlcnNpb24tb2YtcHl0aG9uLWNvbmZpZy10aGF0LXcucGF0Y2gKQEAgLTEsNiArMSw2IEBACi1Gcm9tIDA0ZGY5NTkzNjVlMmI1NGQ3NTAzZWRmMGU1NTM0ZmYwOTQyODRmMmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDE0ODg2MWZhMTZmMmFhYWNkNTE4NzcwZjMzN2VhNTRiNTE4MmY5ODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjMgT2N0IDIwMTUgMTI6MjU6MDkgKzAzMDAKK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMTU6MDM6MDEgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gRG8gbm90IHVzZSB0aGUgc2hlbGwgdmVyc2lvbiBvZiBweXRob24tY29uZmlnIHRoYXQgd2FzCiAgaW50cm9kdWNlZCBpbiAzLjQKIApAQCAtMTQsMjUgKzE0LDIyIEBACiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlLnByZS5pbiBiL01ha2VmaWxlLnByZS5pbgotaW5kZXggMjM2ZjAwNS4uNWM0MzM3ZiAxMDA2NDQKK2luZGV4IDJkMmUxMWYuLmNjMTk5NDIgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5wcmUuaW4KICsrKyBiL01ha2VmaWxlLnByZS5pbgotQEAgLTEzNDgsMTIgKzEzNDgsOSBAQCBweXRob24tY29uZmlnOiAkKHNyY2RpcikvTWlzYy9weXRob24tY29uZmlnLmluIE1pc2MvcHl0aG9uLWNvbmZpZy5zaAorQEAgLTE0MzEsMTIgKzE0MzEsOSBAQCBweXRob24tY29uZmlnOiAkKHNyY2RpcikvTWlzYy9weXRob24tY29uZmlnLmluIE1pc2MvcHl0aG9uLWNvbmZpZy5zaAogIAlzZWQgLWUgInMsQEVYRU5BTUVALCQoQklORElSKS9weXRob24kKExEVkVSU0lPTikkKEVYRSksIiA8ICQoc3JjZGlyKS9NaXNjL3B5dGhvbi1jb25maWcuaW4gPnB5dGhvbi1jb25maWcucHkKLSAJIyBSZXBsYWNlIG1ha2VmaWxlIGNvbXBhdC4gdmFyaWFibGUgcmVmZXJlbmNlcyB3aXRoIHNoZWxsIHNjcmlwdCBjb21wYXQuIG9uZXM7ICQoVkFSKSAtPiAke1ZBUn0KKyAJQCAjIFJlcGxhY2UgbWFrZWZpbGUgY29tcGF0LiB2YXJpYWJsZSByZWZlcmVuY2VzIHdpdGggc2hlbGwgc2NyaXB0IGNvbXBhdC4gb25lczsgJChWQVIpIC0+ICR7VkFSfQogIAlMQ19BTEw9QyBzZWQgLWUgJ3MsXCQkKFwoW0EtWmEtejAtOV9dKlwpKSxcJCRce1wxXH0sZycgPCBNaXNjL3B5dGhvbi1jb25maWcuc2ggPnB5dGhvbi1jb25maWcKLS0JIyBPbiBEYXJ3aW4sIGFsd2F5cyB1c2UgdGhlIHB5dGhvbiB2ZXJzaW9uIG9mIHRoZSBzY3JpcHQsIHRoZSBzaGVsbAotLQkjIHZlcnNpb24gZG9lc24ndCB1c2UgdGhlIGNvbXBpbGVyIGN1c3RvbWl6YXRpb25zIHRoYXQgYXJlIHByb3ZpZGVkCi0tCSMgaW4gcHl0aG9uIChfb3N4X3N1cHBvcnQucHkpLgotLQlpZiB0ZXN0IGB1bmFtZSAtc2AgPSBEYXJ3aW47IHRoZW4gXAorLQlAICMgT24gRGFyd2luLCBhbHdheXMgdXNlIHRoZSBweXRob24gdmVyc2lvbiBvZiB0aGUgc2NyaXB0LCB0aGUgc2hlbGwKKy0JQCAjIHZlcnNpb24gZG9lc24ndCB1c2UgdGhlIGNvbXBpbGVyIGN1c3RvbWl6YXRpb25zIHRoYXQgYXJlIHByb3ZpZGVkCistCUAgIyBpbiBweXRob24gKF9vc3hfc3VwcG9ydC5weSkuCistCUBpZiB0ZXN0IGB1bmFtZSAtc2AgPSBEYXJ3aW47IHRoZW4gXAogLQkJY3AgcHl0aG9uLWNvbmZpZy5weSBweXRob24tY29uZmlnOyBcCiAtCWZpCi0rCSMgSW4gT3BlbkVtYmVkZGVkLCBhbHdheXMgdXNlIHRoZSBweXRob24gdmVyc2lvbiBvZiB0aGUgc2NyaXB0LCB0aGUgc2hlbGwKLSsJIyB2ZXJzaW9uIGlzIGJyb2tlbiBpbiBtdWx0aXBsZSB3YXlzLCBhbmQgZG9lc24ndCByZXR1cm4gY29ycmVjdCBkaXJlY3RvcmllcworKwlAICAjIEluIE9wZW5FbWJlZGRlZCwgYWx3YXlzIHVzZSB0aGUgcHl0aG9uIHZlcnNpb24gb2YgdGhlIHNjcmlwdCwgdGhlIHNoZWxsCisrCUAgICMgdmVyc2lvbiBpcyBicm9rZW4gaW4gbXVsdGlwbGUgd2F5cywgYW5kIGRvZXNuJ3QgcmV0dXJuIGNvcnJlY3QgZGlyZWN0b3JpZXMKICsJY3AgcHl0aG9uLWNvbmZpZy5weSBweXRob24tY29uZmlnCiAgCiAgCiAgIyBJbnN0YWxsIHRoZSBpbmNsdWRlIGZpbGVzCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLUlzc3VlLTIxMjcyLVVzZS1fc3lzY29uZmlnZGF0YS5weS10by1pbml0aWFsaXplLWRpc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLUlzc3VlLTIxMjcyLVVzZS1fc3lzY29uZmlnZGF0YS5weS10by1pbml0aWFsaXplLWRpc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxYzkyZTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yMTI3Mi1Vc2UtX3N5c2NvbmZpZ2RhdGEucHktdG8taW5pdGlhbGl6ZS1kaXN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotRnJvbSBiY2RkYmY0MGM3ZjFiODAzMzYyNjhjZGRkYWNjMTczNjlmYjBjY2VhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTGliaW4gRGFuZyA8bGliaW4uZGFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogVHVlLCAxMSBBcHIgMjAxNyAxNDoxMjoxNSArMDgwMAotU3ViamVjdDogW1BBVENIXSBJc3N1ZSAjMjEyNzI6IFVzZSBfc3lzY29uZmlnZGF0YS5weSB0byBpbml0aWFsaXplCi0gZGlzdHV0aWxzLnN5c2NvbmZpZwotCi1CYWNrcG9ydCB1cHN0cmVhbSBjb21taXQKLWh0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9jb21taXQvNDA5NDgyMjUxYjA2ZmU3NWM0ZWU1NmU4NWZmYmI0YjIzZDkzNDE1OQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IExpIFpob3UgPGxpLnpob3VAd2luZHJpdmVyLmNvbT4KLS0tLQotIExpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IHwgMzUgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IGIvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLWluZGV4IDZkNWNmZDAuLjk5MjVkMjQgMTAwNjQ0Ci0tLS0gYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQotKysrIGIvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLUBAIC00MjQsMzggKzQyNCwxMSBAQCBfY29uZmlnX3ZhcnMgPSBOb25lCi0gCi0gZGVmIF9pbml0X3Bvc2l4KCk6Ci0gICAgICIiIkluaXRpYWxpemUgdGhlIG1vZHVsZSBhcyBhcHByb3ByaWF0ZSBmb3IgUE9TSVggc3lzdGVtcy4iIiIKLS0gICAgZyA9IHt9Ci0tICAgICMgbG9hZCB0aGUgaW5zdGFsbGVkIE1ha2VmaWxlOgotLSAgICB0cnk6Ci0tICAgICAgICBmaWxlbmFtZSA9IGdldF9tYWtlZmlsZV9maWxlbmFtZSgpCi0tICAgICAgICBwYXJzZV9tYWtlZmlsZShmaWxlbmFtZSwgZykKLS0gICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgotLSAgICAgICAgbXlfbXNnID0gImludmFsaWQgUHl0aG9uIGluc3RhbGxhdGlvbjogdW5hYmxlIHRvIG9wZW4gJXMiICUgZmlsZW5hbWUKLS0gICAgICAgIGlmIGhhc2F0dHIobXNnLCAic3RyZXJyb3IiKToKLS0gICAgICAgICAgICBteV9tc2cgPSBteV9tc2cgKyAiICglcykiICUgbXNnLnN0cmVycm9yCi0tCi0tICAgICAgICByYWlzZSBEaXN0dXRpbHNQbGF0Zm9ybUVycm9yKG15X21zZykKLS0KLS0gICAgIyBsb2FkIHRoZSBpbnN0YWxsZWQgcHljb25maWcuaDoKLS0gICAgdHJ5OgotLSAgICAgICAgZmlsZW5hbWUgPSBnZXRfY29uZmlnX2hfZmlsZW5hbWUoKQotLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lKSBhcyBmaWxlOgotLSAgICAgICAgICAgIHBhcnNlX2NvbmZpZ19oKGZpbGUsIGcpCi0tICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKLS0gICAgICAgIG15X21zZyA9ICJpbnZhbGlkIFB5dGhvbiBpbnN0YWxsYXRpb246IHVuYWJsZSB0byBvcGVuICVzIiAlIGZpbGVuYW1lCi0tICAgICAgICBpZiBoYXNhdHRyKG1zZywgInN0cmVycm9yIik6Ci0tICAgICAgICAgICAgbXlfbXNnID0gbXlfbXNnICsgIiAoJXMpIiAlIG1zZy5zdHJlcnJvcgotLQotLSAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcihteV9tc2cpCi0tCi0tICAgICMgT24gQUlYLCB0aGVyZSBhcmUgd3JvbmcgcGF0aHMgdG8gdGhlIGxpbmtlciBzY3JpcHRzIGluIHRoZSBNYWtlZmlsZQotLSAgICAjIC0tIHRoZXNlIHBhdGhzIGFyZSByZWxhdGl2ZSB0byB0aGUgUHl0aG9uIHNvdXJjZSwgYnV0IHdoZW4gaW5zdGFsbGVkCi0tICAgICMgdGhlIHNjcmlwdHMgYXJlIGluIGFub3RoZXIgZGlyZWN0b3J5LgotLSAgICBpZiBweXRob25fYnVpbGQ6Ci0tICAgICAgICBnWydMRFNIQVJFRCddID0gZ1snQkxEU0hBUkVEJ10KLS0KLSsgICAgIyBfc3lzY29uZmlnZGF0YSBpcyBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZSwgc2VlIHRoZSBzeXNjb25maWcgbW9kdWxlCi0rICAgIGZyb20gX3N5c2NvbmZpZ2RhdGEgaW1wb3J0IGJ1aWxkX3RpbWVfdmFycwotICAgICBnbG9iYWwgX2NvbmZpZ192YXJzCi0tICAgIF9jb25maWdfdmFycyA9IGcKLSsgICAgX2NvbmZpZ192YXJzID0ge30KLSsgICAgX2NvbmZpZ192YXJzLnVwZGF0ZShidWlsZF90aW1lX3ZhcnMpCi0gCi0gCi0gZGVmIF9pbml0X250KCk6Ci0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yODA0My1TU0xDb250ZXh0LWhhcy1pbXByb3ZlZC1kZWZhdWx0LXNldHRpbmdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1Jc3N1ZS0yODA0My1TU0xDb250ZXh0LWhhcy1pbXByb3ZlZC1kZWZhdWx0LXNldHRpbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMjFiNGFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3MiArMCwwIEBACi1Gcm9tIDc1OGU3NDYzYzEwNGY3MWI4MTBjODU4ODE2Njc0N2VlYWI2MTQ4ZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFNhdCwgMTAgU2VwIDIwMTYgMjI6NDM6NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzRdIElzc3VlIDI4MDQzOiBTU0xDb250ZXh0IGhhcyBpbXByb3ZlZCBkZWZhdWx0IHNldHRpbmdzCi0KLVRoZSBvcHRpb25zIE9QX05PX0NPTVBSRVNTSU9OLCBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIE9QX1NJTkdMRV9ESF9VU0UsIE9QX1NJTkdMRV9FQ0RIX1VTRSwgT1BfTk9fU1NMdjIgKGV4Y2VwdCBmb3IgUFJPVE9DT0xfU1NMdjIpLCBhbmQgT1BfTk9fU1NMdjMgKGV4Y2VwdCBmb3IgUFJPVE9DT0xfU1NMdjMpIGFyZSBzZXQgYnkgZGVmYXVsdC4gVGhlIGluaXRpYWwgY2lwaGVyIHN1aXRlIGxpc3QgY29udGFpbnMgb25seSBISUdIIGNpcGhlcnMsIG5vIE5VTEwgY2lwaGVycyBhbmQgTUQ1IGNpcGhlcnMgKGV4Y2VwdCBmb3IgUFJPVE9DT0xfU1NMdjIpLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1baHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL2NvbW1pdC8zNThjZmQ0MjZjY2MwZmNkNmE3OTQwZDMwNjYwMjEzOGU3NjQyMGFlXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gRG9jL2xpYnJhcnkvc3NsLnJzdCAgfCAgOSArKysrKystCi0gTGliL3NzbC5weSAgICAgICAgICAgfCAzMCArKysrKy0tLS0tLS0tLS0tLS0tLS0KLSBMaWIvdGVzdC90ZXN0X3NzbC5weSB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gTW9kdWxlcy9fc3NsLmMgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrKysrCi0gNCBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCA1NCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1pbmRleCBhMmYwMDgzNDZiLi4xNGYyZDY4MjE3IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotQEAgLTExNTEsNyArMTE1MSwxNCBAQCB0byBzcGVlZCB1cCByZXBlYXRlZCBjb25uZWN0aW9ucyBmcm9tIHRoZSBzYW1lIGNsaWVudHMuCi0gCi0gICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjUuMwotIAotLSAgICAgIDpkYXRhOmBQUk9UT0NPTF9UTFNgIGlzIHRoZSBkZWZhdWx0IHZhbHVlLgotKyAgICAgIFRoZSBjb250ZXh0IGlzIGNyZWF0ZWQgd2l0aCBzZWN1cmUgZGVmYXVsdCB2YWx1ZXMuIFRoZSBvcHRpb25zCi0rICAgICAgOmRhdGE6YE9QX05PX0NPTVBSRVNTSU9OYCwgOmRhdGE6YE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRWAsCi0rICAgICAgOmRhdGE6YE9QX1NJTkdMRV9ESF9VU0VgLCA6ZGF0YTpgT1BfU0lOR0xFX0VDREhfVVNFYCwKLSsgICAgICA6ZGF0YTpgT1BfTk9fU1NMdjJgIChleGNlcHQgZm9yIDpkYXRhOmBQUk9UT0NPTF9TU0x2MmApLAotKyAgICAgIGFuZCA6ZGF0YTpgT1BfTk9fU1NMdjNgIChleGNlcHQgZm9yIDpkYXRhOmBQUk9UT0NPTF9TU0x2M2ApIGFyZQotKyAgICAgIHNldCBieSBkZWZhdWx0LiBUaGUgaW5pdGlhbCBjaXBoZXIgc3VpdGUgbGlzdCBjb250YWlucyBvbmx5IGBgSElHSGBgCi0rICAgICAgY2lwaGVycywgbm8gYGBOVUxMYGAgY2lwaGVycyBhbmQgbm8gYGBNRDVgYCBjaXBoZXJzIChleGNlcHQgZm9yCi0rICAgICAgOmRhdGE6YFBST1RPQ09MX1NTTHYyYCkuCi0gCi0gCi0gOmNsYXNzOmBTU0xDb250ZXh0YCBvYmplY3RzIGhhdmUgdGhlIGZvbGxvd2luZyBtZXRob2RzIGFuZCBhdHRyaWJ1dGVzOgotZGlmZiAtLWdpdCBhL0xpYi9zc2wucHkgYi9MaWIvc3NsLnB5Ci1pbmRleCBlMTkxMzkwNGYzLi40ZDMwMmE3OGZhIDEwMDY0NAotLS0tIGEvTGliL3NzbC5weQotKysrIGIvTGliL3NzbC5weQotQEAgLTQ0NiwzMiArNDQ2LDE2IEBAIGRlZiBjcmVhdGVfZGVmYXVsdF9jb250ZXh0KHB1cnBvc2U9UHVycG9zZS5TRVJWRVJfQVVUSCwgKiwgY2FmaWxlPU5vbmUsCi0gICAgIGlmIG5vdCBpc2luc3RhbmNlKHB1cnBvc2UsIF9BU04xT2JqZWN0KToKLSAgICAgICAgIHJhaXNlIFR5cGVFcnJvcihwdXJwb3NlKQotIAotKyAgICAjIFNTTENvbnRleHQgc2V0cyBPUF9OT19TU0x2MiwgT1BfTk9fU1NMdjMsIE9QX05PX0NPTVBSRVNTSU9OLAotKyAgICAjIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgT1BfU0lOR0xFX0RIX1VTRSBhbmQgT1BfU0lOR0xFX0VDREhfVVNFCi0rICAgICMgYnkgZGVmYXVsdC4KLSAgICAgY29udGV4dCA9IFNTTENvbnRleHQoUFJPVE9DT0xfVExTKQotIAotLSAgICAjIFNTTHYyIGNvbnNpZGVyZWQgaGFybWZ1bC4KLS0gICAgY29udGV4dC5vcHRpb25zIHw9IE9QX05PX1NTTHYyCi0tCi0tICAgICMgU1NMdjMgaGFzIHByb2JsZW1hdGljIHNlY3VyaXR5IGFuZCBpcyBvbmx5IHJlcXVpcmVkIGZvciByZWFsbHkgb2xkCi0tICAgICMgY2xpZW50cyBzdWNoIGFzIElFNiBvbiBXaW5kb3dzIFhQCi0tICAgIGNvbnRleHQub3B0aW9ucyB8PSBPUF9OT19TU0x2MwotLQotLSAgICAjIGRpc2FibGUgY29tcHJlc3Npb24gdG8gcHJldmVudCBDUklNRSBhdHRhY2tzIChPcGVuU1NMIDEuMCspCi0tICAgIGNvbnRleHQub3B0aW9ucyB8PSBnZXRhdHRyKF9zc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApCi0tCi0gICAgIGlmIHB1cnBvc2UgPT0gUHVycG9zZS5TRVJWRVJfQVVUSDoKLSAgICAgICAgICMgdmVyaWZ5IGNlcnRzIGFuZCBob3N0IG5hbWUgaW4gY2xpZW50IG1vZGUKLSAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBDRVJUX1JFUVVJUkVECi0gICAgICAgICBjb250ZXh0LmNoZWNrX2hvc3RuYW1lID0gVHJ1ZQotICAgICBlbGlmIHB1cnBvc2UgPT0gUHVycG9zZS5DTElFTlRfQVVUSDoKLS0gICAgICAgICMgUHJlZmVyIHRoZSBzZXJ2ZXIncyBjaXBoZXJzIGJ5IGRlZmF1bHQgc28gdGhhdCB3ZSBnZXQgc3Ryb25nZXIKLS0gICAgICAgICMgZW5jcnlwdGlvbgotLSAgICAgICAgY29udGV4dC5vcHRpb25zIHw9IGdldGF0dHIoX3NzbCwgIk9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSIsIDApCi0tCi0tICAgICAgICAjIFVzZSBzaW5nbGUgdXNlIGtleXMgaW4gb3JkZXIgdG8gaW1wcm92ZSBmb3J3YXJkIHNlY3JlY3kKLS0gICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBnZXRhdHRyKF9zc2wsICJPUF9TSU5HTEVfREhfVVNFIiwgMCkKLS0gICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBnZXRhdHRyKF9zc2wsICJPUF9TSU5HTEVfRUNESF9VU0UiLCAwKQotLQotLSAgICAgICAgIyBkaXNhbGxvdyBjaXBoZXJzIHdpdGgga25vd24gdnVsbmVyYWJpbGl0aWVzCi0gICAgICAgICBjb250ZXh0LnNldF9jaXBoZXJzKF9SRVNUUklDVEVEX1NFUlZFUl9DSVBIRVJTKQotIAotICAgICBpZiBjYWZpbGUgb3IgY2FwYXRoIG9yIGNhZGF0YToKLUBAIC00OTcsMTIgKzQ4MSwxMCBAQCBkZWYgX2NyZWF0ZV91bnZlcmlmaWVkX2NvbnRleHQocHJvdG9jb2w9UFJPVE9DT0xfVExTLCAqLCBjZXJ0X3JlcXM9Tm9uZSwKLSAgICAgaWYgbm90IGlzaW5zdGFuY2UocHVycG9zZSwgX0FTTjFPYmplY3QpOgotICAgICAgICAgcmFpc2UgVHlwZUVycm9yKHB1cnBvc2UpCi0gCi0rICAgICMgU1NMQ29udGV4dCBzZXRzIE9QX05PX1NTTHYyLCBPUF9OT19TU0x2MywgT1BfTk9fQ09NUFJFU1NJT04sCi0rICAgICMgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFLCBPUF9TSU5HTEVfREhfVVNFIGFuZCBPUF9TSU5HTEVfRUNESF9VU0UKLSsgICAgIyBieSBkZWZhdWx0LgotICAgICBjb250ZXh0ID0gU1NMQ29udGV4dChwcm90b2NvbCkKLS0gICAgIyBTU0x2MiBjb25zaWRlcmVkIGhhcm1mdWwuCi0tICAgIGNvbnRleHQub3B0aW9ucyB8PSBPUF9OT19TU0x2MgotLSAgICAjIFNTTHYzIGhhcyBwcm9ibGVtYXRpYyBzZWN1cml0eSBhbmQgaXMgb25seSByZXF1aXJlZCBmb3IgcmVhbGx5IG9sZAotLSAgICAjIGNsaWVudHMgc3VjaCBhcyBJRTYgb24gV2luZG93cyBYUAotLSAgICBjb250ZXh0Lm9wdGlvbnMgfD0gT1BfTk9fU1NMdjMKLSAKLSAgICAgaWYgY2VydF9yZXFzIGlzIG5vdCBOb25lOgotICAgICAgICAgY29udGV4dC52ZXJpZnlfbW9kZSA9IGNlcnRfcmVxcwotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLWluZGV4IGZmYjczMTRmNTcuLmY5MWFmN2JkMDUgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X3NzbC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLUBAIC03Myw2ICs3MywxMiBAQCBOVUxMQllURUNFUlQgPSBkYXRhX2ZpbGUoIm51bGxieXRlY2VydC5wZW0iKQotIERIRklMRSA9IGRhdGFfZmlsZSgiZGgxMDI0LnBlbSIpCi0gQllURVNfREhGSUxFID0gb3MuZnNlbmNvZGUoREhGSUxFKQotIAotKyMgTm90IGRlZmluZWQgaW4gYWxsIHZlcnNpb25zIG9mIE9wZW5TU0wKLStPUF9OT19DT01QUkVTU0lPTiA9IGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKQotK09QX1NJTkdMRV9ESF9VU0UgPSBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9ESF9VU0UiLCAwKQotK09QX1NJTkdMRV9FQ0RIX1VTRSA9IGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgMCkKLStPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgPSBnZXRhdHRyKHNzbCwgIk9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSIsIDApCi0rCi0gCi0gZGVmIGhhbmRsZV9lcnJvcihwcmVmaXgpOgotICAgICBleGNfZm9ybWF0ID0gJyAnLmpvaW4odHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb24oKnN5cy5leGNfaW5mbygpKSkKLUBAIC04MzksOCArODQ1LDkgQEAgY2xhc3MgQ29udGV4dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAgICAgICMgT1BfQUxMIHwgT1BfTk9fU1NMdjIgfCBPUF9OT19TU0x2MyBpcyB0aGUgZGVmYXVsdCB2YWx1ZQotICAgICAgICAgZGVmYXVsdCA9IChzc2wuT1BfQUxMIHwgc3NsLk9QX05PX1NTTHYyIHwgc3NsLk9QX05PX1NTTHYzKQotLSAgICAgICAgaWYgbm90IElTX0xJQlJFU1NMIGFuZCBzc2wuT1BFTlNTTF9WRVJTSU9OX0lORk8gPj0gKDEsIDEsIDApOgotLSAgICAgICAgICAgIGRlZmF1bHQgfD0gc3NsLk9QX05PX0NPTVBSRVNTSU9OCi0rICAgICAgICAjIFNTTENvbnRleHQgYWxzbyBlbmFibGVzIHRoZXNlIGJ5IGRlZmF1bHQKLSsgICAgICAgIGRlZmF1bHQgfD0gKE9QX05PX0NPTVBSRVNTSU9OIHwgT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIHwKLSsgICAgICAgICAgICAgICAgICAgIE9QX1NJTkdMRV9ESF9VU0UgfCBPUF9TSU5HTEVfRUNESF9VU0UpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHQsIGN0eC5vcHRpb25zKQotICAgICAgICAgY3R4Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHQgfCBzc2wuT1BfTk9fVExTdjEsIGN0eC5vcHRpb25zKQotQEAgLTEyMDUsMTYgKzEyMTIsMjkgQEAgY2xhc3MgQ29udGV4dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgICAgICBzdGF0c1sieDUwOSJdICs9IDEKLSAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5jZXJ0X3N0b3JlX3N0YXRzKCksIHN0YXRzKQotIAotKyAgICBkZWYgX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoc2VsZiwgY3R4KToKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLSsgICAgICAgIGlmIE9QX05PX0NPTVBSRVNTSU9OICE9IDA6Ci0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIE9QX05PX0NPTVBSRVNTSU9OLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BfTk9fQ09NUFJFU1NJT04pCi0rICAgICAgICBpZiBPUF9TSU5HTEVfREhfVVNFICE9IDA6Ci0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIE9QX1NJTkdMRV9ESF9VU0UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUF9TSU5HTEVfREhfVVNFKQotKyAgICAgICAgaWYgT1BfU0lOR0xFX0VDREhfVVNFICE9IDA6Ci0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIE9QX1NJTkdMRV9FQ0RIX1VTRSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9QX1NJTkdMRV9FQ0RIX1VTRSkKLSsgICAgICAgIGlmIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSAhPSAwOgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UpCi0rCi0gICAgIGRlZiB0ZXN0X2NyZWF0ZV9kZWZhdWx0X2NvbnRleHQoc2VsZik6Ci0gICAgICAgICBjdHggPSBzc2wuY3JlYXRlX2RlZmF1bHRfY29udGV4dCgpCi0rCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1NTTHYyMykKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnZlcmlmeV9tb2RlLCBzc2wuQ0VSVF9SRVFVSVJFRCkKLSAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjdHguY2hlY2tfaG9zdG5hbWUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotLSAgICAgICAgICAgIGN0eC5vcHRpb25zICYgZ2V0YXR0cihzc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApLAotLSAgICAgICAgICAgIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICkKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotKwotIAotICAgICAgICAgd2l0aCBvcGVuKFNJR05JTkdfQ0EpIGFzIGY6Ci0gICAgICAgICAgICAgY2FkYXRhID0gZi5yZWFkKCkKLUBAIC0xMjIyLDQwICsxMjQyLDI0IEBAIGNsYXNzIENvbnRleHRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWRhdGE9Y2FkYXRhKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfUkVRVUlSRUQpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotLSAgICAgICAgICAgIGN0eC5vcHRpb25zICYgZ2V0YXR0cihzc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApLAotLSAgICAgICAgICAgIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICkKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICAgICAgY3R4ID0gc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoc3NsLlB1cnBvc2UuQ0xJRU5UX0FVVEgpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1NTTHYyMykKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnZlcmlmeV9tb2RlLCBzc2wuQ0VSVF9OT05FKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLS0gICAgICAgICAgICBjdHgub3B0aW9ucyAmIGdldGF0dHIoc3NsLCAiT1BfTk9fQ09NUFJFU1NJT04iLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX05PX0NPTVBSRVNTSU9OIiwgMCksCi0tICAgICAgICApCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotLSAgICAgICAgICAgIGN0eC5vcHRpb25zICYgZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfREhfVVNFIiwgMCksCi0tICAgICAgICAgICAgZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfREhfVVNFIiwgMCksCi0tICAgICAgICApCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotLSAgICAgICAgICAgIGN0eC5vcHRpb25zICYgZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfRUNESF9VU0UiLCAwKSwKLS0gICAgICAgICAgICBnZXRhdHRyKHNzbCwgIk9QX1NJTkdMRV9FQ0RIX1VTRSIsIDApLAotLSAgICAgICAgKQotKyAgICAgICAgc2VsZi5fYXNzZXJ0X2NvbnRleHRfb3B0aW9ucyhjdHgpCi0gCi0gICAgIGRlZiB0ZXN0X19jcmVhdGVfc3RkbGliX2NvbnRleHQoc2VsZik6Ci0gICAgICAgICBjdHggPSBzc2wuX2NyZWF0ZV9zdGRsaWJfY29udGV4dCgpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5wcm90b2NvbCwgc3NsLlBST1RPQ09MX1NTTHYyMykKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnZlcmlmeV9tb2RlLCBzc2wuQ0VSVF9OT05FKQotICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjdHguY2hlY2tfaG9zdG5hbWUpCi0tICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC5vcHRpb25zICYgc3NsLk9QX05PX1NTTHYyLCBzc2wuT1BfTk9fU1NMdjIpCi0rICAgICAgICBzZWxmLl9hc3NlcnRfY29udGV4dF9vcHRpb25zKGN0eCkKLSAKLSAgICAgICAgIGN0eCA9IHNzbC5fY3JlYXRlX3N0ZGxpYl9jb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICAgICAgY3R4ID0gc3NsLl9jcmVhdGVfc3RkbGliX2NvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydF9yZXFzPXNzbC5DRVJUX1JFUVVJUkVELAotQEAgLTEyNjMsMTIgKzEyNjcsMTIgQEAgY2xhc3MgQ29udGV4dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4LnByb3RvY29sLCBzc2wuUFJPVE9DT0xfVExTdjEpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfUkVRVUlSRUQpCi0gICAgICAgICBzZWxmLmFzc2VydFRydWUoY3R4LmNoZWNrX2hvc3RuYW1lKQotLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgub3B0aW9ucyAmIHNzbC5PUF9OT19TU0x2Miwgc3NsLk9QX05PX1NTTHYyKQotKyAgICAgICAgc2VsZi5fYXNzZXJ0X2NvbnRleHRfb3B0aW9ucyhjdHgpCi0gCi0gICAgICAgICBjdHggPSBzc2wuX2NyZWF0ZV9zdGRsaWJfY29udGV4dChwdXJwb3NlPXNzbC5QdXJwb3NlLkNMSUVOVF9BVVRIKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjdHgucHJvdG9jb2wsIHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN0eC52ZXJpZnlfbW9kZSwgc3NsLkNFUlRfTk9ORSkKLS0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3R4Lm9wdGlvbnMgJiBzc2wuT1BfTk9fU1NMdjIsIHNzbC5PUF9OT19TU0x2MikKLSsgICAgICAgIHNlbGYuX2Fzc2VydF9jb250ZXh0X29wdGlvbnMoY3R4KQotIAotICAgICBkZWYgdGVzdF9jaGVja19ob3N0bmFtZShzZWxmKToKLSAgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKLWRpZmYgLS1naXQgYS9Nb2R1bGVzL19zc2wuYyBiL01vZHVsZXMvX3NzbC5jCi1pbmRleCA4NjQ4MjY3N2FlLi4wZDVjMTIxZDJjIDEwMDY0NAotLS0tIGEvTW9kdWxlcy9fc3NsLmMKLSsrKyBiL01vZHVsZXMvX3NzbC5jCi1AQCAtMjMzMCw2ICsyMzMwLDcgQEAgX3NzbF9fU1NMQ29udGV4dF9pbXBsKFB5VHlwZU9iamVjdCAqdHlwZSwgaW50IHByb3RvX3ZlcnNpb24pCi0gICAgIFB5U1NMQ29udGV4dCAqc2VsZjsKLSAgICAgbG9uZyBvcHRpb25zOwotICAgICBTU0xfQ1RYICpjdHggPSBOVUxMOwotKyAgICBpbnQgcmVzdWx0OwotICNpZiBkZWZpbmVkKFNTTF9NT0RFX1JFTEVBU0VfQlVGRkVSUykKLSAgICAgdW5zaWduZWQgbG9uZyBsaWJ2ZXI7Ci0gI2VuZGlmCi1AQCAtMjM5Myw4ICsyMzk0LDM4IEBAIF9zc2xfX1NTTENvbnRleHRfaW1wbChQeVR5cGVPYmplY3QgKnR5cGUsIGludCBwcm90b192ZXJzaW9uKQotICAgICAgICAgb3B0aW9ucyB8PSBTU0xfT1BfTk9fU1NMdjI7Ci0gICAgIGlmIChwcm90b192ZXJzaW9uICE9IFBZX1NTTF9WRVJTSU9OX1NTTDMpCi0gICAgICAgICBvcHRpb25zIHw9IFNTTF9PUF9OT19TU0x2MzsKLSsgICAgLyogTWluaW1hbCBzZWN1cml0eSBmbGFncyBmb3Igc2VydmVyIGFuZCBjbGllbnQgc2lkZSBjb250ZXh0LgotKyAgICAgKiBDbGllbnQgc29ja2V0cyBpZ25vcmUgc2VydmVyLXNpZGUgcGFyYW1ldGVycy4gKi8KLSsjaWZkZWYgU1NMX09QX05PX0NPTVBSRVNTSU9OCi0rICAgIG9wdGlvbnMgfD0gU1NMX09QX05PX0NPTVBSRVNTSU9OOwotKyNlbmRpZgotKyNpZmRlZiBTU0xfT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFCi0rICAgIG9wdGlvbnMgfD0gU1NMX09QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRTsKLSsjZW5kaWYKLSsjaWZkZWYgU1NMX09QX1NJTkdMRV9ESF9VU0UKLSsgICAgb3B0aW9ucyB8PSBTU0xfT1BfU0lOR0xFX0RIX1VTRTsKLSsjZW5kaWYKLSsjaWZkZWYgU1NMX09QX1NJTkdMRV9FQ0RIX1VTRQotKyAgICBvcHRpb25zIHw9IFNTTF9PUF9TSU5HTEVfRUNESF9VU0U7Ci0rI2VuZGlmCi0gICAgIFNTTF9DVFhfc2V0X29wdGlvbnMoc2VsZi0+Y3R4LCBvcHRpb25zKTsKLSAKLSsgICAgLyogQSBiYXJlIG1pbmltdW0gY2lwaGVyIGxpc3Qgd2l0aG91dCBjb21wbGV0bHkgYnJva2VuIGNpcGhlciBzdWl0ZXMuCi0rICAgICAqIEl0J3MgZmFyIGZyb20gcGVyZmVjdCBidXQgZ2l2ZXMgdXNlcnMgYSBiZXR0ZXIgaGVhZCBzdGFydC4gKi8KLSsgICAgaWYgKHByb3RvX3ZlcnNpb24gIT0gUFlfU1NMX1ZFUlNJT05fU1NMMikgewotKyAgICAgICAgcmVzdWx0ID0gU1NMX0NUWF9zZXRfY2lwaGVyX2xpc3QoY3R4LCAiSElHSDohYU5VTEw6IWVOVUxMOiFNRDUiKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIC8qIFNTTHYyIG5lZWRzIE1ENSAqLwotKyAgICAgICAgcmVzdWx0ID0gU1NMX0NUWF9zZXRfY2lwaGVyX2xpc3QoY3R4LCAiSElHSDohYU5VTEw6IWVOVUxMIik7Ci0rICAgIH0KLSsgICAgaWYgKHJlc3VsdCA9PSAwKSB7Ci0rICAgICAgICBQeV9ERUNSRUYoc2VsZik7Ci0rICAgICAgICBFUlJfY2xlYXJfZXJyb3IoKTsKLSsgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeVNTTEVycm9yT2JqZWN0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICJObyBjaXBoZXIgY2FuIGJlIHNlbGVjdGVkLiIpOwotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSAjaWYgZGVmaW5lZChTU0xfTU9ERV9SRUxFQVNFX0JVRkZFUlMpCi0gICAgIC8qIFNldCBTU0xfTU9ERV9SRUxFQVNFX0JVRkZFUlMuIFRoaXMgcG90ZW50aWFsbHkgZ3JlYXRseSByZWR1Y2VzIG1lbW9yeQotICAgICAgICB1c2FnZSBmb3Igbm8gY29zdCBhdCBhbGwuIEhvd2V2ZXIsIGRvbid0IGRvIHRoaXMgZm9yIE9wZW5TU0wgdmVyc2lvbnMKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtTWFrZWZpbGUucHJlLXVzZS1xZW11LXdyYXBwZXItd2hlbi1nYXRoZXJpbmctcHJvZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTc3MzVmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1NYWtlZmlsZS5wcmUtdXNlLXFlbXUtd3JhcHBlci13aGVuLWdhdGhlcmluZy1wcm9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20gY2Y2YTkxMDA5MDI0ODRlNGQwMjhlZTg4NzQyZGQyNDg3YjAxNGE5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAxMjo0MTowNCArMDEwMAorU3ViamVjdDogW1BBVENIXSBNYWtlZmlsZS5wcmU6IHVzZSBxZW11IHdyYXBwZXIgd2hlbiBnYXRoZXJpbmcgcHJvZmlsZSBkYXRhCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb2UtY29yZSBzcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgTWFrZWZpbGUucHJlLmluIHwgMyArLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KK2luZGV4IGEzYTAyYTcuLmQ1NTAzZGQgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5wcmUuaW4KKysrKyBiL01ha2VmaWxlLnByZS5pbgorQEAgLTUwNyw4ICs1MDcsNyBAQCBidWlsZF9hbGxfZ2VuZXJhdGVfcHJvZmlsZToKKyAJJChNQUtFKSBAREVGX01BS0VfUlVMRUAgQ0ZMQUdTX05PRElTVD0iJChDRkxBR1NfTk9ESVNUKSAkKFBHT19QUk9GX0dFTl9GTEFHKSIgTERGTEFHU19OT0RJU1Q9IiQoTERGTEFHU19OT0RJU1QpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIiBMSUJTPSIkKExJQlMpIgorIAorIHJ1bl9wcm9maWxlX3Rhc2s6CistCUAgIyBGSVhNRTogY2FuJ3QgcnVuIGZvciBhIGNyb3NzIGJ1aWxkCistCSQoTExWTV9QUk9GX0ZJTEUpICQoUlVOU0hBUkVEKSAuLyQoQlVJTERQWVRIT04pICQoUFJPRklMRV9UQVNLKSB8fCB0cnVlCisrCS4vcGdvLXdyYXBwZXIgLi9weXRob24gLW0gdGVzdC5yZWdydGVzdCAtLXBnbyB0ZXN0X2dyYW1tYXIgdGVzdF9vcGNvZGVzIHRlc3RfZGljdCB0ZXN0X2J1aWx0aW4gdGVzdF9leGNlcHRpb25zIHRlc3RfdHlwZXMgdGVzdF9zdXBwb3J0IHx8IHRydWUKKyAKKyBidWlsZF9hbGxfbWVyZ2VfcHJvZmlsZToKKyAJJChMTFZNX1BST0ZfTUVSR0VSKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1kaXN0dXRpbHMtc3lzY29uZmlnLWFwcGVuZC1TVEFHSU5HX0xJQkRJUi1weXRob24tc3lzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1kaXN0dXRpbHMtc3lzY29uZmlnLWFwcGVuZC1TVEFHSU5HX0xJQkRJUi1weXRob24tc3lzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwODMzNDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLWRpc3R1dGlscy1zeXNjb25maWctYXBwZW5kLVNUQUdJTkdfTElCRElSLXB5dGhvbi1zeXMucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSA0ODY1NjE1YTJiYzJiNzhjNzM5ZTRjMzNmNTM2NzEyYzdmOWFmMDYxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMxIEphbiAyMDE5IDE2OjQ2OjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGRpc3R1dGlscy9zeXNjb25maWc6IGFwcGVuZAorIFNUQUdJTkdfTElCRElSL3B5dGhvbi1zeXNjb25maWdkYXRhIHRvIHN5cy5wYXRoCisKK1NvIHRoYXQgdGFyZ2V0IGNvbmZpZ3VyYXRpb24gY2FuIGJlIHVzZWQgd2hlbiBydW5uaW5nIG5hdGl2ZSBweXRob24KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIExpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IHwgMiArKworIExpYi9zeXNjb25maWcucHkgICAgICAgICAgIHwgMiArKworIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CitpbmRleCBlMDdhNmM4Li42YjhjMTI5IDEwMDY0NAorLS0tIGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKKysrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CitAQCAtNDIxLDYgKzQyMSw4IEBAIGRlZiBfaW5pdF9wb3NpeCgpOgorICAgICAgICAgcGxhdGZvcm09c3lzLnBsYXRmb3JtLAorICAgICAgICAgbXVsdGlhcmNoPWdldGF0dHIoc3lzLmltcGxlbWVudGF0aW9uLCAnX211bHRpYXJjaCcsICcnKSwKKyAgICAgKSkKKysgICAgaWYgJ1NUQUdJTkdfTElCRElSJyBpbiBvcy5lbnZpcm9uOgorKyAgICAgICAgc3lzLnBhdGguYXBwZW5kKG9zLmVudmlyb25bJ1NUQUdJTkdfTElCRElSJ10rJy9weXRob24tc3lzY29uZmlnZGF0YScpCisgICAgIF90ZW1wID0gX19pbXBvcnRfXyhuYW1lLCBnbG9iYWxzKCksIGxvY2FscygpLCBbJ2J1aWxkX3RpbWVfdmFycyddLCAwKQorICAgICBidWlsZF90aW1lX3ZhcnMgPSBfdGVtcC5idWlsZF90aW1lX3ZhcnMKKyAgICAgZ2xvYmFsIF9jb25maWdfdmFycworZGlmZiAtLWdpdCBhL0xpYi9zeXNjb25maWcucHkgYi9MaWIvc3lzY29uZmlnLnB5CitpbmRleCA5ZWU0ZDMxLi5lNTg2YWJkIDEwMDY0NAorLS0tIGEvTGliL3N5c2NvbmZpZy5weQorKysrIGIvTGliL3N5c2NvbmZpZy5weQorQEAgLTQxMiw2ICs0MTIsOCBAQCBkZWYgX2luaXRfcG9zaXgodmFycyk6CisgICAgICIiIkluaXRpYWxpemUgdGhlIG1vZHVsZSBhcyBhcHByb3ByaWF0ZSBmb3IgUE9TSVggc3lzdGVtcy4iIiIKKyAgICAgIyBfc3lzY29uZmlnZGF0YSBpcyBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZSwgc2VlIF9nZW5lcmF0ZV9wb3NpeF92YXJzKCkKKyAgICAgbmFtZSA9IF9nZXRfc3lzY29uZmlnZGF0YV9uYW1lKCkKKysgICAgaWYgJ1NUQUdJTkdfTElCRElSJyBpbiBvcy5lbnZpcm9uOgorKyAgICAgICAgc3lzLnBhdGguYXBwZW5kKG9zLmVudmlyb25bJ1NUQUdJTkdfTElCRElSJ10rJy9weXRob24tc3lzY29uZmlnZGF0YScpCisgICAgIF90ZW1wID0gX19pbXBvcnRfXyhuYW1lLCBnbG9iYWxzKCksIGxvY2FscygpLCBbJ2J1aWxkX3RpbWVfdmFycyddLCAwKQorICAgICBidWlsZF90aW1lX3ZhcnMgPSBfdGVtcC5idWlsZF90aW1lX3ZhcnMKKyAgICAgdmFycy51cGRhdGUoYnVpbGRfdGltZV92YXJzKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1oMnB5LUZpeC1pc3N1ZS0xMzAzMi13aGVyZS1pdC1mYWlscy13aXRoLVVuaWNvZGVEZWNvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1oMnB5LUZpeC1pc3N1ZS0xMzAzMi13aGVyZS1pdC1mYWlscy13aXRoLVVuaWNvZGVEZWNvLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZDZiMjRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gMmY1YTRjNzA4ZDkwZmE4ZGIyMWY0NDZhZTg3OWNmZjc5Mzg3NDQ4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDIwIE1heSAyMDEzIDIxOjAzOjE2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGgycHk6IEZpeCBpc3N1ZSAxMzAzMiB3aGVyZSBpdCBmYWlscyB3aXRoIFVuaWNvZGVEZWNvZGVFcnJvcgotCi11c2UgdXRmLTggdG8gb3BlbiB0aGUgZmlsZXMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSBUb29scy9zY3JpcHRzL2gycHkucHkgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9oMnB5LnB5IGIvVG9vbHMvc2NyaXB0cy9oMnB5LnB5Ci1pbmRleCA0Zjg3MWQ5Li5hNTNmYmUwIDEwMDc1NQotLS0tIGEvVG9vbHMvc2NyaXB0cy9oMnB5LnB5Ci0rKysgYi9Ub29scy9zY3JpcHRzL2gycHkucHkKLUBAIC02OSwxMyArNjksMTMgQEAgZGVmIG1haW4oKToKLSAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCcjIEdlbmVyYXRlZCBieSBoMnB5IGZyb20gc3RkaW5cbicpCi0gICAgICAgICAgICAgcHJvY2VzcyhzeXMuc3RkaW4sIHN5cy5zdGRvdXQpCi0gICAgICAgICBlbHNlOgotLSAgICAgICAgICAgIGZwID0gb3BlbihmaWxlbmFtZSwgJ3InKQotKyAgICAgICAgICAgIGZwID0gb3BlbihmaWxlbmFtZSwgJ3InLCBlbmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgIG91dGZpbGUgPSBvcy5wYXRoLmJhc2VuYW1lKGZpbGVuYW1lKQotICAgICAgICAgICAgIGkgPSBvdXRmaWxlLnJmaW5kKCcuJykKLSAgICAgICAgICAgICBpZiBpID4gMDogb3V0ZmlsZSA9IG91dGZpbGVbOmldCi0gICAgICAgICAgICAgbW9kbmFtZSA9IG91dGZpbGUudXBwZXIoKQotICAgICAgICAgICAgIG91dGZpbGUgPSBtb2RuYW1lICsgJy5weScKLS0gICAgICAgICAgICBvdXRmcCA9IG9wZW4ob3V0ZmlsZSwgJ3cnKQotKyAgICAgICAgICAgIG91dGZwID0gb3BlbihvdXRmaWxlLCAndycsIGVuY29kaW5nPSd1dGYtOCcpCi0gICAgICAgICAgICAgb3V0ZnAud3JpdGUoJyMgR2VuZXJhdGVkIGJ5IGgycHkgZnJvbSAlc1xuJyAlIGZpbGVuYW1lKQotICAgICAgICAgICAgIGZpbGVkaWN0ID0ge30KLSAgICAgICAgICAgICBmb3IgZGlyIGluIHNlYXJjaGRpcnM6Ci0tLSAKLTEuOC4xLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMS1weXRob24zLXVzZS1jY19iYXNlbmFtZS10by1yZXBsYWNlLUNDLWZvci1jaGVja2luZy1jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3MzU5NTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAxLXB5dGhvbjMtdXNlLWNjX2Jhc2VuYW1lLXRvLXJlcGxhY2UtQ0MtZm9yLWNoZWNraW5nLWMucGF0Y2gKQEAgLTAsMCArMSwxMjAgQEAKK0Zyb20gMjY0NTMxN2ZlZjA5YWZlMzFiMDFiYjJjMWQ0ZmU1YjlhZmRiYjExYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjE5OjUxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbjM6IHVzZSBjY19iYXNlbmFtZSB0byByZXBsYWNlIENDIGZvciBjaGVja2luZyBjb21waWxlcgorCitXaGVuIHdvcmtpbmcgcGF0aCBjb250YWlucyAiY2xhbmciLyJnY2MiLyJpY2MiLCBpdCBtaWdodCBiZSBwYXJ0IG9mICRDQworYmVjYXVzZSBvZiB0aGUgIi0tc3lzcm9vdCIgcGFyYW1ldGVyLiBUaGF0IGNvdWxkIGNhdXNlIGp1ZGdlbWVudCBlcnJvcgorYWJvdXQgY2xhbmcvZ2NjL2ljYyBjb21waWxlcnMuIGUuZy4KK1doZW4gImljYyIgaXMgY29udGFpbmRlZCBpbiB3b3JraW5nIHBhdGgsIGJlbG93IGVycm9ycyBhcmUgcmVwb3J0ZWQgd2hlbgorY29tcGlsaW5nIHB5dGhvbjM6Cit4ODZfNjQtd3JzLWxpbnV4LWdjYzogZXJyb3I6IHN0cmljdDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoreDg2XzY0LXdycy1saW51eC1nY2M6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLWZwLW1vZGVsJworCitIZXJlIHVzZSBjY19iYXNlbmFtZSB0byByZXBsYWNlIENDIGZvciBjaGVja2luZyBjb21waWxlciB0byBhdm9pZCBzdWNoCitraW5kIG9mIGlzc3VlLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogTGkgWmhvdSA8bGkuemhvdUB3aW5kcml2ZXIuY29tPgorCitwYXRjaCBvcmlnaW5hbGx5IGZyb20gTGkgWmhvdSwgSSBqdXN0IHJld29yayBpdCB0byBuZXcgdmVyc2lvbgorCitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTkgKysrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBhN2RlOTAxLi40YTM2ODFmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01NCw2ICs1NCw3IEBAIEFDX0NPTkZJR19IRUFERVIocHljb25maWcuaCkKKyBBQ19DQU5PTklDQUxfSE9TVAorIEFDX1NVQlNUKGJ1aWxkKQorIEFDX1NVQlNUKGhvc3QpCisrTFRfSU5JVAorIAorICMgcHlidWlsZGRpci50eHQgd2lsbCBiZSBjcmVhdGVkIGJ5IC0tZ2VuZXJhdGUtcG9zaXgtdmFycyBpbiB0aGUgTWFrZWZpbGUKKyBybSAtZiBweWJ1aWxkZGlyLnR4dAorQEAgLTY5NSw3ICs2OTYsNyBAQCBBQ19NU0dfUkVTVUxUKCR3aXRoX2N4eF9tYWluKQorIHByZXNldF9jeHg9IiRDWFgiCisgaWYgdGVzdCAteiAiJENYWCIKKyB0aGVuCistICAgICAgICBjYXNlICIkQ0MiIGluCisrICAgICAgICBjYXNlICIkY2NfYmFzZW5hbWUiIGluCisgICAgICAgICBnY2MpICAgIEFDX1BBVEhfVE9PTChDWFgsIFtnKytdLCBbZysrXSwgW25vdGZvdW5kXSkgOzsKKyAgICAgICAgIGNjKSAgICAgQUNfUEFUSF9UT09MKENYWCwgW2MrK10sIFtjKytdLCBbbm90Zm91bmRdKSA7OworICAgICAgICAgY2xhbmd8Ki9jbGFuZykgICAgIEFDX1BBVEhfVE9PTChDWFgsIFtjbGFuZysrXSwgW2NsYW5nKytdLCBbbm90Zm91bmRdKSA7OworQEAgLTk3OSw3ICs5ODAsNyBAQCBybWRpciBDYXNlU2Vuc2l0aXZlVGVzdERpcgorIAorIGNhc2UgJGFjX3N5c19zeXN0ZW0gaW4KKyBocCp8SFAqKQorLSAgICBjYXNlICRDQyBpbgorKyAgICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICBjY3wqL2NjKSBDQz0iJENDIC1BZSI7OworICAgICBlc2FjOzsKKyBlc2FjCitAQCAtMTMzNiw3ICsxMzM3LDcgQEAgZWxzZQorIGZpXSwKKyBbQUNfTVNHX1JFU1VMVChubyldKQorIGlmIHRlc3QgIiRQeV9MVE8iID0gJ3RydWUnIDsgdGhlbgorLSAgY2FzZSAkQ0MgaW4KKysgIGNhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAgICpjbGFuZyopCisgICAgICAgQUNfU1VCU1QoTExWTV9BUikKKyAgICAgICBBQ19QQVRIX1RBUkdFVF9UT09MKExMVk1fQVIsIGxsdm0tYXIsICcnLCAke2xsdm1fcGF0aH0pCitAQCAtMTQyNiw3ICsxNDI3LDcgQEAgdGhlbgorICAgZmkKKyBmaQorIExMVk1fUFJPRl9FUlI9bm8KKy1jYXNlICRDQyBpbgorK2Nhc2UgJGNjX2Jhc2VuYW1lIGluCisgICAqY2xhbmcqKQorICAgICAjIEFueSBjaGFuZ2VzIG1hZGUgaGVyZSBzaG91bGQgYmUgcmVmbGVjdGVkIGluIHRoZSBHQ0MrRGFyd2luIGNhc2UgYmVsb3cKKyAgICAgUEdPX1BST0ZfR0VOX0ZMQUc9Ii1mcHJvZmlsZS1pbnN0ci1nZW5lcmF0ZSIKK0BAIC0xNTAwLDcgKzE1MDEsNyBAQCB0aGVuCisgICAgICAgICAgICBXUkFQPSItZndyYXB2IgorICAgICAgICAgZmkKKyAKKy0gICAgICAgIGNhc2UgJENDIGluCisrICAgICAgICBjYXNlICRjY19iYXNlbmFtZSBpbgorICAgICAgICAgICAgICpjbGFuZyopCisgICAgICAgICAgICAgICAgIGNjX2lzX2NsYW5nPTEKKyAgICAgICAgICAgICAgICAgOzsKK0BAIC0xNjIzLDcgKzE2MjQsNyBAQCB5ZXMpCisgCisgICAgICMgSUNDIGRvZXNuJ3QgcmVjb2duaXplIHRoZSBvcHRpb24sIGJ1dCBvbmx5IGVtaXRzIGEgd2FybmluZworICAgICAjIyBYWFggZG9lcyBpdCBlbWl0IGFuIHVudXNlZCByZXN1bHQgd2FybmluZyBhbmQgY2FuIGl0IGJlIGRpc2FibGVkPworLSAgICBjYXNlICIkQ0MiIGluCisrICAgIGNhc2UgIiRjY19iYXNlbmFtZSIgaW4KKyAgICAgKmljYyopCisgICAgIGFjX2N2X2Rpc2FibGVfdW51c2VkX3Jlc3VsdF93YXJuaW5nPW5vCisgICAgIDs7CitAQCAtMTk2NSw3ICsxOTY2LDcgQEAgeWVzKQorIGVzYWMKKyAKKyAjIElDQyBuZWVkcyAtZnAtbW9kZWwgc3RyaWN0IG9yIGZsb2F0cyBiZWhhdmUgYmFkbHkKKy1jYXNlICIkQ0MiIGluCisrY2FzZSAiJGNjX2Jhc2VuYW1lIiBpbgorICppY2MqKQorICAgICBDRkxBR1NfTk9ESVNUPSIkQ0ZMQUdTX05PRElTVCAtZnAtbW9kZWwgc3RyaWN0IgorICAgICA7OworQEAgLTI3MjcsNyArMjcyOCw3IEBAIHRoZW4KKyAJCXRoZW4KKyAJCQlMSU5LRk9SU0hBUkVEPSItV2wsLS1leHBvcnQtZHluYW1pYyIKKyAJCWZpOzsKKy0JU3VuT1MvNSopIGNhc2UgJENDIGluCisrCVN1bk9TLzUqKSBjYXNlICRjY19iYXNlbmFtZSBpbgorIAkJICAqZ2NjKikKKyAJCSAgICBpZiAkQ0MgLVhsaW5rZXIgLS1oZWxwIDI+JjEgfCBncmVwIGV4cG9ydC1keW5hbWljID4vZGV2L251bGwKKyAJCSAgICB0aGVuCitAQCAtNTQyOSw3ICs1NDMwLDcgQEAgaWYgdGVzdCAiJGhhdmVfZ2NjX2FzbV9mb3JfeDg3IiA9IHllczsgdGhlbgorICAgICAjIFNvbWUgdmVyc2lvbnMgb2YgZ2NjIG1pc2NvbXBpbGUgaW5saW5lIGFzbToKKyAgICAgIyBodHRwOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTQ2NDkxCisgICAgICMgaHR0cDovL2djYy5nbnUub3JnL21sL2djYy8yMDEwLTExL21zZzAwMzY2Lmh0bWwKKy0gICAgY2FzZSAkQ0MgaW4KKysgICAgY2FzZSAkY2NfYmFzZW5hbWUgaW4KKyAgICAgICAgICpnY2MqKQorICAgICAgICAgICAgIEFDX01TR19DSEVDS0lORyhmb3IgZ2NjIGlwYS1wdXJlLWNvbnN0IGJ1ZykKKyAgICAgICAgICAgICBzYXZlZF9jZmxhZ3M9IiRDRkxBR1MiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLURvbi10LWRvLXJ1bnRpbWUtdGVzdC10by1nZXQtZmxvYXQtYnl0ZS1vcmRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItRG9uLXQtZG8tcnVudGltZS10ZXN0LXRvLWdldC1mbG9hdC1ieXRlLW9yZGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3MjFlN2MKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAyLURvbi10LWRvLXJ1bnRpbWUtdGVzdC10by1nZXQtZmxvYXQtYnl0ZS1vcmRlci5wYXRjaApAQCAtMCwwICsxLDE5OSBAQAorRnJvbSBmYTk2YTdmZDE5ZTE3YjljNmI0ZGQwMWMzYzM3NzRmYjM4MmRkZGM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IFdlZCwgNSBTZXAgMjAxOCAxMTo0NTo1MiArMDEwMAorU3ViamVjdDogW1BBVENIXSBEb24ndCBkbyBydW50aW1lIHRlc3QgdG8gZ2V0IGZsb2F0IGJ5dGUgb3JkZXIKKworUHl0aG9uIHVzZXMgQUNfUlVOX0lGRUxTRSB0byBkZXRlcm1pbmUgdGhlIGJ5dGUgb3JkZXIgZm9yIGZsb2F0cyBhbmQgZG91YmxlcywKK2FuZCBmYWxscyBiYWNrIG9udG8gIkkgZG9uJ3Qga25vdyIgaWYgaXQgY2FuJ3QgcnVuIGNvZGUuICBUaGlzIHJlc3VsdHMgaW4KK2NyaXBwbGVkIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgaW4gUHl0aG9uLCBhbmQgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgZmFpbC4KKworSW5zdGVhZCBvZiBydW5uaW5nIGNvZGUsIHRha2UgYSBtYWNybyBmcm9tIGF1dG9jb25mLWFyY2hpdmUgd2hpY2ggY29tcGlsZXMgQword2l0aCBhIHNwZWNpYWwgZG91YmxlIGluIHdoaWNoIGhhcyBhbiBBU0NJSSByZXByZXNlbnRhdGlvbiwgYW5kIHRoZW4gZ3JlcHMgdGhlCitiaW5hcnkgdG8gaWRlbnRpZnkgdGhlIGZvcm1hdC4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vYnVncy5weXRob24ub3JnL2lzc3VlMzQ1ODVdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgfCA3MiArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBtNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNCB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNGEzNjgxZi4uNGFiMTlhNiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDMyOCw3NyArNDMyOCwxOSBAQCBmaQorICMgKiBDaGVjayBmb3IgdmFyaW91cyBwcm9wZXJ0aWVzIG9mIGZsb2F0aW5nIHBvaW50ICoKKyAjICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgCistQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgQyBkb3VibGVzIGFyZSBsaXR0bGUtZW5kaWFuIElFRUUgNzU0IGJpbmFyeTY0KQorLUFDX0NBQ0hFX1ZBTChhY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZSwgWworLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCistI2luY2x1ZGUgPHN0cmluZy5oPgorLWludCBtYWluKCkgeworLSAgICBkb3VibGUgeCA9IDkwMDYxMDQwNzE4MzI1ODEuMDsKKy0gICAgaWYgKG1lbWNtcCgmeCwgIlx4MDVceDA0XHgwM1x4MDJceDAxXHhmZlx4M2ZceDQzIiwgOCkgPT0gMCkKKy0gICAgICAgIHJldHVybiAwOworLSAgICBlbHNlCistICAgICAgICByZXR1cm4gMTsKKy19CistXV0pXSwKKy1bYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGU9eWVzXSwKKy1bYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGU9bm9dLAorLVthY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZT1ub10pXSkKKy1BQ19NU0dfUkVTVUxUKCRhY19jdl9saXR0bGVfZW5kaWFuX2RvdWJsZSkKKy1pZiB0ZXN0ICIkYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUiID0geWVzCistdGhlbgorLSAgQUNfREVGSU5FKERPVUJMRV9JU19MSVRUTEVfRU5ESUFOX0lFRUU3NTQsIDEsCistICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAorLSAgIHdpdGggdGhlIGxlYXN0IHNpZ25pZmljYW50IGJ5dGUgZmlyc3RdKQorLWZpCistCistQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgQyBkb3VibGVzIGFyZSBiaWctZW5kaWFuIElFRUUgNzU0IGJpbmFyeTY0KQorLUFDX0NBQ0hFX1ZBTChhY19jdl9iaWdfZW5kaWFuX2RvdWJsZSwgWworLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbCistI2luY2x1ZGUgPHN0cmluZy5oPgorLWludCBtYWluKCkgeworLSAgICBkb3VibGUgeCA9IDkwMDYxMDQwNzE4MzI1ODEuMDsKKy0gICAgaWYgKG1lbWNtcCgmeCwgIlx4NDNceDNmXHhmZlx4MDFceDAyXHgwM1x4MDRceDA1IiwgOCkgPT0gMCkKKy0gICAgICAgIHJldHVybiAwOworLSAgICBlbHNlCistICAgICAgICByZXR1cm4gMTsKKy19CistXV0pXSwKKy1bYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGU9eWVzXSwKKy1bYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGU9bm9dLAorLVthY19jdl9iaWdfZW5kaWFuX2RvdWJsZT1ub10pXSkKKy1BQ19NU0dfUkVTVUxUKCRhY19jdl9iaWdfZW5kaWFuX2RvdWJsZSkKKy1pZiB0ZXN0ICIkYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUiID0geWVzCisrQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU4KKytpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gInllcyIKKyB0aGVuCisgICBBQ19ERUZJTkUoRE9VQkxFX0lTX0JJR19FTkRJQU5fSUVFRTc1NCwgMSwKKyAgIFtEZWZpbmUgaWYgQyBkb3VibGVzIGFyZSA2NC1iaXQgSUVFRSA3NTQgYmluYXJ5IGZvcm1hdCwgc3RvcmVkCisgICAgd2l0aCB0aGUgbW9zdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKKy1maQorLQorLSMgU29tZSBBUk0gcGxhdGZvcm1zIHVzZSBhIG1peGVkLWVuZGlhbiByZXByZXNlbnRhdGlvbiBmb3IgZG91Ymxlcy4KKy0jIFdoaWxlIFB5dGhvbiBkb2Vzbid0IGN1cnJlbnRseSBoYXZlIGZ1bGwgc3VwcG9ydCBmb3IgdGhlc2UgcGxhdGZvcm1zCistIyAoc2VlIGUuZy4sIGlzc3VlIDE3NjI1NjEpLCB3ZSBjYW4gYXQgbGVhc3QgbWFrZSBzdXJlIHRoYXQgZmxvYXQgPC0+IHN0cmluZworLSMgY29udmVyc2lvbnMgd29yay4KKy1BQ19NU0dfQ0hFQ0tJTkcod2hldGhlciBDIGRvdWJsZXMgYXJlIEFSTSBtaXhlZC1lbmRpYW4gSUVFRSA3NTQgYmluYXJ5NjQpCistQUNfQ0FDSEVfVkFMKGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUsIFsKKy1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworLSNpbmNsdWRlIDxzdHJpbmcuaD4KKy1pbnQgbWFpbigpIHsKKy0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7CistICAgIGlmIChtZW1jbXAoJngsICJceDAxXHhmZlx4M2ZceDQzXHgwNVx4MDRceDAzXHgwMiIsIDgpID09IDApCistICAgICAgICByZXR1cm4gMDsKKy0gICAgZWxzZQorLSAgICAgICAgcmV0dXJuIDE7CistfQorLV1dKV0sCistW2FjX2N2X21peGVkX2VuZGlhbl9kb3VibGU9eWVzXSwKKy1bYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZT1ub10sCistW2FjX2N2X21peGVkX2VuZGlhbl9kb3VibGU9bm9dKV0pCistQUNfTVNHX1JFU1VMVCgkYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZSkKKy1pZiB0ZXN0ICIkYWNfY3ZfbWl4ZWRfZW5kaWFuX2RvdWJsZSIgPSB5ZXMKKytlbGlmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSAibm8iCisgdGhlbgorLSAgQUNfREVGSU5FKERPVUJMRV9JU19BUk1fTUlYRURfRU5ESUFOX0lFRUU3NTQsIDEsCisrICBBQ19ERUZJTkUoRE9VQkxFX0lTX0xJVFRMRV9FTkRJQU5fSUVFRTc1NCwgMSwKKyAgIFtEZWZpbmUgaWYgQyBkb3VibGVzIGFyZSA2NC1iaXQgSUVFRSA3NTQgYmluYXJ5IGZvcm1hdCwgc3RvcmVkCistICAgaW4gQVJNIG1peGVkLWVuZGlhbiBvcmRlciAoYnl0ZSBvcmRlciA0NTY3MDEyMyldKQorKyAgIHdpdGggdGhlIGxlYXN0IHNpZ25pZmljYW50IGJ5dGUgZmlyc3RdKQorK2Vsc2UKKysgIEFDX01TR19FUlJPUihbQ2Fubm90IGlkZW50aWZ5IGZsb2F0aW5nIHBvaW50IGJ5dGUgb3JkZXJdKQorIGZpCisgCisgIyBUaGUgc2hvcnQgZmxvYXQgcmVwciBpbnRyb2R1Y2VkIGluIFB5dGhvbiAzLjEgcmVxdWlyZXMgdGhlCitkaWZmIC0tZ2l0IGEvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQgYi9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjIxNmI5MGQKKy0tLSAvZGV2L251bGwKKysrKyBiL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00CitAQCAtMCwwICsxLDgzIEBACisrIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisrIyAgaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9hdXRvY29uZi1hcmNoaXZlL2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLmh0bWwKKysjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKysjCisrIyBTWU5PUFNJUworKyMKKysjICAgQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU4oW0FDVElPTi1JRi1UUlVFXSwgW0FDVElPTi1JRi1GQUxTRV0sIFtBQ1RJT04tSUYtVU5LTk9XTl0pCisrIworKyMgREVTQ1JJUFRJT04KKysjCisrIyAgIENoZWNrcyB0aGUgb3JkZXJpbmcgb2Ygd29yZHMgd2l0aGluIGEgbXVsdGktd29yZCBmbG9hdC4gVGhpcyBjaGVjayBpcworKyMgICBuZWNlc3NhcnkgYmVjYXVzZSBvbiBzb21lIHN5c3RlbXMgKGUuZy4gY2VydGFpbiBBUk0gc3lzdGVtcyksIHRoZSBmbG9hdAorKyMgICB3b3JkIG9yZGVyaW5nIGNhbiBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgYnl0ZSBvcmRlcmluZy4gSW4gYSBtdWx0aS13b3JkCisrIyAgIGZsb2F0IGNvbnRleHQsICJiaWctZW5kaWFuIiBpbXBsaWVzIHRoYXQgdGhlIHdvcmQgY29udGFpbmluZyB0aGUgc2lnbgorKyMgICBiaXQgaXMgZm91bmQgaW4gdGhlIG1lbW9yeSBsb2NhdGlvbiB3aXRoIHRoZSBsb3dlc3QgYWRkcmVzcy4gVGhpcworKyMgICBpbXBsZW1lbnRhdGlvbiB3YXMgaW5zcGlyZWQgYnkgdGhlIEFDX0NfQklHRU5ESUFOIG1hY3JvIGluIGF1dG9jb25mLgorKyMKKysjICAgVGhlIGVuZGlhbm5lc3MgaXMgZGV0ZWN0ZWQgYnkgZmlyc3QgY29tcGlsaW5nIEMgY29kZSB0aGF0IGNvbnRhaW5zIGEKKysjICAgc3BlY2lhbCBkb3VibGUgZmxvYXQgdmFsdWUsIHRoZW4gZ3JlcHBpbmcgdGhlIHJlc3VsdGluZyBvYmplY3QgZmlsZSBmb3IKKysjICAgY2VydGFpbiBzdHJpbmdzIG9mIEFTQ0lJIHZhbHVlcy4gVGhlIGRvdWJsZSBpcyBzcGVjaWFsbHkgY3JhZnRlZCB0byBoYXZlCisrIyAgIGEgYmluYXJ5IHJlcHJlc2VudGF0aW9uIHRoYXQgY29ycmVzcG9uZHMgd2l0aCBhIHNpbXBsZSBzdHJpbmcuIEluIHRoaXMKKysjICAgaW1wbGVtZW50YXRpb24sIHRoZSBzdHJpbmcgIm5vb25zZWVzIiB3YXMgc2VsZWN0ZWQgYmVjYXVzZSB0aGUKKysjICAgaW5kaXZpZHVhbCB3b3JkIHZhbHVlcyAoIm5vb24iIGFuZCAic2VlcyIpIGFyZSBwYWxpbmRyb21lcywgdGh1cyBtYWtpbmcKKysjICAgdGhpcyB0ZXN0IGJ5dGUtb3JkZXIgYWdub3N0aWMuIElmIGdyZXAgZmluZHMgdGhlIHN0cmluZyAibm9vbnNlZXMiIGluCisrIyAgIHRoZSBvYmplY3QgZmlsZSwgdGhlIHRhcmdldCBwbGF0Zm9ybSBzdG9yZXMgZmxvYXQgd29yZHMgaW4gYmlnLWVuZGlhbgorKyMgICBvcmRlci4gSWYgZ3JlcCBmaW5kcyAic2Vlc25vb24iLCBmbG9hdCB3b3JkcyBhcmUgaW4gbGl0dGxlLWVuZGlhbiBvcmRlci4KKysjICAgSWYgbmVpdGhlciB2YWx1ZSBpcyBmb3VuZCwgdGhlIHVzZXIgaXMgaW5zdHJ1Y3RlZCB0byBzcGVjaWZ5IHRoZQorKyMgICBvcmRlcmluZy4KKysjCisrIyBMSUNFTlNFCisrIworKyMgICBDb3B5cmlnaHQgKGMpIDIwMDggRGFuaWVsIEFtZWxhbmcgPGRhbkBhbWVsYW5nLm5ldD4KKysjCisrIyAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZQorKyMgICBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodCBub3RpY2UKKysjICAgYW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuIFRoaXMgZmlsZSBpcyBvZmZlcmVkIGFzLWlzLCB3aXRob3V0IGFueQorKyMgICB3YXJyYW50eS4KKysKKysjc2VyaWFsIDExCisrCisrQUNfREVGVU4oW0FYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOXSwKKysgIFtBQ19DQUNIRV9DSEVDSyh3aGV0aGVyIGZsb2F0IHdvcmQgb3JkZXJpbmcgaXMgYmlnZW5kaWFuLAorKyAgICAgICAgICAgICAgICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLCBbCisrCisrYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49dW5rbm93bgorK0FDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworKworK2RvdWJsZSBkID0gOTA5MDQyMzQ5NjcwMzY4MTAzMzc0NzA0Nzg5MDU1MDUwMTE0NzYyMTE2OTI3MzU2MTU2MzIwMTQ3OTcxMjA4NDQwNTM0ODg4NjU4MTY2OTUyNzM3MjM0NjkwOTc4NTgwNTYyNTc1MTcwMjAxOTEyNDc0ODc0Mjk1MTY5MzIxMzA1MDM1NjA2NTAwMDIzMjc1NjQ1MTc1NzA3Nzg0ODAyMzY3MjQ1MjUxNDA1MjAxMjEzNzE3MzkyMDE0OTY1NDAxMzI2NDAxMDk5Nzc3Nzk0MjA1NjU3NzY1Njg5NDI1OTIuMDsKKysKKytdXSldLCBbCisrCisraWYgZ3JlcCBub29uc2VlcyBjb25mdGVzdC4kYWNfb2JqZXh0ID4vZGV2L251bGwgOyB0aGVuCisrICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbj15ZXMKKytmaQorK2lmIGdyZXAgc2Vlc25vb24gY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgorKyAgaWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9IHVua25vd247IHRoZW4KKysgICAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49bm8KKysgIGVsc2UKKysgICAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49dW5rbm93bgorKyAgZmkKKytmaQorKworK10pXSkKKysKKytjYXNlICRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiBpbgorKyAgeWVzKQorKyAgICBtNF9kZWZhdWx0KFskMV0sCisrICAgICAgW0FDX0RFRklORShbRkxPQVRfV09SRFNfQklHRU5ESUFOXSwgMSwKKysgICAgICAgICAgICAgICAgIFtEZWZpbmUgdG8gMSBpZiB5b3VyIHN5c3RlbSBzdG9yZXMgd29yZHMgd2l0aGluIGZsb2F0cworKyAgICAgICAgICAgICAgICAgIHdpdGggdGhlIG1vc3Qgc2lnbmlmaWNhbnQgd29yZCBmaXJzdF0pXSkgOzsKKysgIG5vKQorKyAgICAkMiA7OworKyAgKikKKysgICAgbTRfZGVmYXVsdChbJDNdLAorKyAgICAgIFtBQ19NU0dfRVJST1IoWworKworK1Vua25vd24gZmxvYXQgd29yZCBvcmRlcmluZy4gWW91IG5lZWQgdG8gbWFudWFsbHkgcHJlc2V0CisrYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49bm8gKG9yIHllcykgYWNjb3JkaW5nIHRvIHlvdXIgc3lzdGVtLgorKworKyAgICBdKV0pIDs7CisrZXNhYworKworK10pIyBBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1NYWtlZmlsZS1hZGQtdGFyZ2V0LXRvLXNwbGl0LXByb2ZpbGUtZ2VuZXJhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJiNGJhMzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1NYWtlZmlsZS1hZGQtdGFyZ2V0LXRvLXNwbGl0LXByb2ZpbGUtZ2VuZXJhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gOTg1ODZkNmRjNTk4ZTQwYjhiODIxYjBkZGU1NzU5OWUxODhhN2NhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci1EYXRlOiBUdWUsIDcgQXVnIDIwMTggMTY6NDM6MTcgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIE1ha2VmaWxlOiBhZGQgdGFyZ2V0IHRvIHNwbGl0IHByb2ZpbGUgZ2VuZXJhdGlvbgotCi1XZSBkb24ndCB3YW50IHRvIGhhdmUgcHJvZmlsZSB0YXNrIGludm9rZWQgZnJvbSBoZXJlIGFuZCB3YW50IHRvIHVzZQotcWVtdS11c2VyIGluc3RlYWQuIFNwbGl0IHRoZSBwcm9maWxlLW9wdCB0YXNrIHNvIHFlbXUgY2FuIGJlIGludm9rZWQKLW9uY2UgYmluYXJpZXMgaGF2ZSBiZWVuIGJ1aWx0IHdpdGggaW5zdHJ1bWVudGF0aW9uIGFuZCB0aGVuIHdlIGNhbiBnbwotYWhlYWQgYW5kIGJ1aWxkIGFnYWluIHVzaW5nIHRoZSBwcm9maWxlIGRhdGEgZ2VuZXJhdGVkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FLXNwZWNpZmljXQotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgotLS0tCi0gTWFrZWZpbGUucHJlLmluIHwgNiArKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCi1pbmRleCA4NGJjM2ZmLi4wMTdhMmM0IDEwMDY0NAotLS0tIGEvTWFrZWZpbGUucHJlLmluCi0rKysgYi9NYWtlZmlsZS5wcmUuaW4KLUBAIC00NjksMTMgKzQ2OSwxMiBAQCBwcm9maWxlLW9wdDoKLSAJJChNQUtFKSBwcm9maWxlLXJlbW92YWwKLSAJJChNQUtFKSBidWlsZF9hbGxfZ2VuZXJhdGVfcHJvZmlsZQotIAkkKE1BS0UpIHByb2ZpbGUtcmVtb3ZhbAotLQlAZWNobyAiUnVubmluZyBjb2RlIHRvIGdlbmVyYXRlIHByb2ZpbGUgZGF0YSAodGhpcyBjYW4gdGFrZSBhIHdoaWxlKToiCi0tCSQoTUFLRSkgcnVuX3Byb2ZpbGVfdGFzawotLQkkKE1BS0UpIGJ1aWxkX2FsbF9tZXJnZV9wcm9maWxlCi0rCi0rY2xlYW5fYW5kX3VzZV9wcm9maWxlOgotIAlAZWNobyAiUmVidWlsZGluZyB3aXRoIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXphdGlvbnM6IgotIAkkKE1BS0UpIGNsZWFuCi0gCSQoTUFLRSkgYnVpbGRfYWxsX3VzZV9wcm9maWxlCi0gCSQoTUFLRSkgcHJvZmlsZS1yZW1vdmFsCi0gCi0gYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGU6Ci0gCSQoTUFLRSkgQERFRl9NQUtFX1JVTEVAIENGTEFHU19OT0RJU1Q9IiQoQ0ZMQUdTKSAkKEVYVFJBX0NGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTERGTEFHUz0iJChMREZMQUdTKSAkKFBHT19QUk9GX0dFTl9GTEFHKSBATFRPRkxBR1NAIiBMSUJTPSIkKExJQlMpIgotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1icG8tMjkxMzYtQWRkLVRMUy0xLjMtY2lwaGVyLXN1aXRlcy1hbmQtT1BfTk9fVExTdjFfLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMi1icG8tMjkxMzYtQWRkLVRMUy0xLjMtY2lwaGVyLXN1aXRlcy1hbmQtT1BfTk9fVExTdjFfLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDhjYWQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDItYnBvLTI5MTM2LUFkZC1UTFMtMS4zLWNpcGhlci1zdWl0ZXMtYW5kLU9QX05PX1RMU3YxXy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyNyArMCwwIEBACi1Gcm9tIGU5NTBlYTY4ZGFiMDA2OTQ0YWYxOTRjOTkxMGI4ZjIzNDFkMTQzN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLURhdGU6IFRodSwgNyBTZXAgMjAxNyAyMDoyMzo1MiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBicG8tMjkxMzY6IEFkZCBUTFMgMS4zIGNpcGhlciBzdWl0ZXMgYW5kIE9QX05PX1RMU3YxXzMKLSAoR0gtMTM2MykgKCMzNDQ0KQotCi0qIGJwby0yOTEzNjogQWRkIFRMUyAxLjMgc3VwcG9ydAotCi1UTFMgMS4zIGludHJvZHVjZXMgYSBuZXcsIGRpc3RpbmN0IHNldCBvZiBjaXBoZXIgc3VpdGVzLiBUaGUgVExTIDEuMwotY2lwaGVyIHN1aXRlcyBkb24ndCBvdmVybGFwIHdpdGggY2lwaGVyIHN1aXRlcyBmcm9tIFRMUyAxLjIgYW5kIGVhcmxpZXIuCi1TaW5jZSBQeXRob24gc2V0cyBpdHMgb3duIHNldCBvZiBwZXJtaXR0ZWQgY2lwaGVycywgVExTIDEuMyBoYW5kc2hha2UKLXdpbGwgZmFpbCBhcyBzb29uIGFzIE9wZW5TU0wgMS4xLjEgaXMgcmVsZWFzZWQuIExldCdzIGVuYWJsZSB0aGUgY29tbW9uCi1BRVMtR0NNIGFuZCBDaGFDaGEyMCBzdWl0ZXMuCi0KLUFkZGl0aW9uYWxseSB0aGUgZmxhZyBPUF9OT19UTFN2MV8zIGlzIGFkZGVkLiBJdCBkZWZhdWx0cyB0byAwIChubyBvcCkgd2l0aAotT3BlblNTTCBwcmlvciB0byAxLjEuMS4gVGhpcyBhbGxvd3MgYXBwbGljYXRpb25zIHRvIG9wdC1vdXQgZnJvbSBUTFMgMS4zCi1ub3cuCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPi4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGNiNWI2OGFiZGViMWIxZDU2YzU4MWQ1YjRkNjQ3MDE4NzAzZDYxZTMpCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0L2NiNWI2OGFiZGViMWIxZDU2YzU4MWQ1YjRkNjQ3MDE4NzAzZDYxZTNdCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBEb2MvbGlicmFyeS9zc2wucnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKwotIExpYi9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysrLQotIC4uLi8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0ICB8ICAxICsKLSBNb2R1bGVzL19zc2wuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTctMDktMDQtMTYtMzktNDkuYnBvLTI5MTM2LnZTbjFvUi5yc3QKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1pbmRleCAxNGYyZDY4MjE3Li4yOWM1ZTk0Y2Y2IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotQEAgLTI4NSw2ICsyODUsMTEgQEAgcHVycG9zZXMuCi0gCi0gICAgICAzREVTIHdhcyBkcm9wcGVkIGZyb20gdGhlIGRlZmF1bHQgY2lwaGVyIHN0cmluZy4KLSAKLSsgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNwotKwotKyAgICAgVExTIDEuMyBjaXBoZXIgc3VpdGVzIFRMU19BRVNfMTI4X0dDTV9TSEEyNTYsIFRMU19BRVNfMjU2X0dDTV9TSEEzODQsCi0rICAgICBhbmQgVExTX0NIQUNIQTIwX1BPTFkxMzA1X1NIQTI1NiB3ZXJlIGFkZGVkIHRvIHRoZSBkZWZhdWx0IGNpcGhlciBzdHJpbmcuCi0rCi0gCi0gUmFuZG9tIGdlbmVyYXRpb24KLSBeXl5eXl5eXl5eXl5eXl5eXgotQEAgLTcxOSw2ICs3MjQsMTYgQEAgQ29uc3RhbnRzCi0gCi0gICAgLi4gdmVyc2lvbmFkZGVkOjogMy40Ci0gCi0rLi4gZGF0YTo6IE9QX05PX1RMU3YxXzMKLSsKLSsgICBQcmV2ZW50cyBhIFRMU3YxLjMgY29ubmVjdGlvbi4gVGhpcyBvcHRpb24gaXMgb25seSBhcHBsaWNhYmxlIGluIGNvbmp1bmN0aW9uCi0rICAgd2l0aCA6Y29uc3Q6YFBST1RPQ09MX1RMU2AuIEl0IHByZXZlbnRzIHRoZSBwZWVycyBmcm9tIGNob29zaW5nIFRMU3YxLjMgYXMKLSsgICB0aGUgcHJvdG9jb2wgdmVyc2lvbi4gVExTIDEuMyBpcyBhdmFpbGFibGUgd2l0aCBPcGVuU1NMIDEuMS4xIG9yIGxhdGVyLgotKyAgIFdoZW4gUHl0aG9uIGhhcyBiZWVuIGNvbXBpbGVkIGFnYWluc3QgYW4gb2xkZXIgdmVyc2lvbiBvZiBPcGVuU1NMLCB0aGUKLSsgICBmbGFnIGRlZmF1bHRzIHRvICowKi4KLSsKLSsgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjcKLSsKLSAuLiBkYXRhOjogT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFCi0gCi0gICAgVXNlIHRoZSBzZXJ2ZXIncyBjaXBoZXIgb3JkZXJpbmcgcHJlZmVyZW5jZSwgcmF0aGVyIHRoYW4gdGhlIGNsaWVudCdzLgotQEAgLTc4Myw2ICs3OTgsMTIgQEAgQ29uc3RhbnRzCi0gCi0gICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCi0gCi0rLi4gZGF0YTo6IEhBU19UTFN2MV8zCi0rCi0rICAgV2hldGhlciB0aGUgT3BlblNTTCBsaWJyYXJ5IGhhcyBidWlsdC1pbiBzdXBwb3J0IGZvciB0aGUgVExTIDEuMyBwcm90b2NvbC4KLSsKLSsgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjcKLSsKLSAuLiBkYXRhOjogQ0hBTk5FTF9CSU5ESU5HX1RZUEVTCi0gCi0gICAgTGlzdCBvZiBzdXBwb3J0ZWQgVExTIGNoYW5uZWwgYmluZGluZyB0eXBlcy4gIFN0cmluZ3MgaW4gdGhpcyBsaXN0Ci1kaWZmIC0tZ2l0IGEvTGliL3NzbC5weSBiL0xpYi9zc2wucHkKLWluZGV4IDRkMzAyYTc4ZmEuLmYyMzNlNzJlMWYgMTAwNjQ0Ci0tLS0gYS9MaWIvc3NsLnB5Ci0rKysgYi9MaWIvc3NsLnB5Ci1AQCAtMTIyLDYgKzEyMiw3IEBAIF9pbXBvcnRfc3ltYm9scygnT1BfJykKLSBfaW1wb3J0X3N5bWJvbHMoJ0FMRVJUX0RFU0NSSVBUSU9OXycpCi0gX2ltcG9ydF9zeW1ib2xzKCdTU0xfRVJST1JfJykKLSBfaW1wb3J0X3N5bWJvbHMoJ1ZFUklGWV8nKQotK2Zyb20gX3NzbCBpbXBvcnQgSEFTX1NOSSwgSEFTX0VDREgsIEhBU19OUE4sIEhBU19BTFBOLCBIQVNfVExTdjFfMwotIAotIGZyb20gX3NzbCBpbXBvcnQgSEFTX1NOSSwgSEFTX0VDREgsIEhBU19OUE4sIEhBU19BTFBOCi0gCi1AQCAtMTYyLDYgKzE2Myw3IEBAIGVsc2U6Ci0gIyAoT3BlblNTTCdzIGRlZmF1bHQgc2V0dGluZyBpcyAnREVGQVVMVDohYU5VTEw6IWVOVUxMJykKLSAjIEVuYWJsZSBhIGJldHRlciBzZXQgb2YgY2lwaGVycyBieSBkZWZhdWx0Ci0gIyBUaGlzIGxpc3QgaGFzIGJlZW4gZXhwbGljaXRseSBjaG9zZW4gdG86Ci0rIyAgICogVExTIDEuMyBDaGFDaGEyMCBhbmQgQUVTLUdDTSBjaXBoZXIgc3VpdGVzCi0gIyAgICogUHJlZmVyIGNpcGhlciBzdWl0ZXMgdGhhdCBvZmZlciBwZXJmZWN0IGZvcndhcmQgc2VjcmVjeSAoREhFL0VDREhFKQotICMgICAqIFByZWZlciBFQ0RIRSBvdmVyIERIRSBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCi0gIyAgICogUHJlZmVyIEFFQUQgb3ZlciBDQkMgZm9yIGJldHRlciBwZXJmb3JtYW5jZSBhbmQgc2VjdXJpdHkKLUBAIC0xNzMsNiArMTc1LDggQEAgZWxzZToKLSAjICAgKiBEaXNhYmxlIE5VTEwgYXV0aGVudGljYXRpb24sIE5VTEwgZW5jcnlwdGlvbiwgM0RFUyBhbmQgTUQ1IE1BQ3MKLSAjICAgICBmb3Igc2VjdXJpdHkgcmVhc29ucwotIF9ERUZBVUxUX0NJUEhFUlMgPSAoCi0rICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQ6VExTMTMtQ0hBQ0hBMjAtUE9MWTEzMDUtU0hBMjU2OicKLSsgICAgJ1RMUzEzLUFFUy0xMjgtR0NNLVNIQTI1NjonCi0gICAgICdFQ0RIK0FFU0dDTTpFQ0RIK0NIQUNIQTIwOkRIK0FFU0dDTTpESCtDSEFDSEEyMDpFQ0RIK0FFUzI1NjpESCtBRVMyNTY6JwotICAgICAnRUNESCtBRVMxMjg6REgrQUVTOkVDREgrSElHSDpESCtISUdIOlJTQStBRVNHQ006UlNBK0FFUzpSU0ErSElHSDonCi0gICAgICchYU5VTEw6IWVOVUxMOiFNRDU6ITNERVMnCi1AQCAtMTgwLDYgKzE4NCw3IEBAIF9ERUZBVUxUX0NJUEhFUlMgPSAoCi0gCi0gIyBSZXN0cmljdGVkIGFuZCBtb3JlIHNlY3VyZSBjaXBoZXJzIGZvciB0aGUgc2VydmVyIHNpZGUKLSAjIFRoaXMgbGlzdCBoYXMgYmVlbiBleHBsaWNpdGx5IGNob3NlbiB0bzoKLSsjICAgKiBUTFMgMS4zIENoYUNoYTIwIGFuZCBBRVMtR0NNIGNpcGhlciBzdWl0ZXMKLSAjICAgKiBQcmVmZXIgY2lwaGVyIHN1aXRlcyB0aGF0IG9mZmVyIHBlcmZlY3QgZm9yd2FyZCBzZWNyZWN5IChESEUvRUNESEUpCi0gIyAgICogUHJlZmVyIEVDREhFIG92ZXIgREhFIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UKLSAjICAgKiBQcmVmZXIgQUVBRCBvdmVyIENCQyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlIGFuZCBzZWN1cml0eQotQEAgLTE5MCw2ICsxOTUsOCBAQCBfREVGQVVMVF9DSVBIRVJTID0gKAotICMgICAqIERpc2FibGUgTlVMTCBhdXRoZW50aWNhdGlvbiwgTlVMTCBlbmNyeXB0aW9uLCBNRDUgTUFDcywgRFNTLCBSQzQsIGFuZAotICMgICAgIDNERVMgZm9yIHNlY3VyaXR5IHJlYXNvbnMKLSBfUkVTVFJJQ1RFRF9TRVJWRVJfQ0lQSEVSUyA9ICgKLSsgICAgJ1RMUzEzLUFFUy0yNTYtR0NNLVNIQTM4NDpUTFMxMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTY6JwotKyAgICAnVExTMTMtQUVTLTEyOC1HQ00tU0hBMjU2OicKLSAgICAgJ0VDREgrQUVTR0NNOkVDREgrQ0hBQ0hBMjA6REgrQUVTR0NNOkRIK0NIQUNIQTIwOkVDREgrQUVTMjU2OkRIK0FFUzI1NjonCi0gICAgICdFQ0RIK0FFUzEyODpESCtBRVM6RUNESCtISUdIOkRIK0hJR0g6UlNBK0FFU0dDTTpSU0ErQUVTOlJTQStISUdIOicKLSAgICAgJyFhTlVMTDohZU5VTEw6IU1ENTohRFNTOiFSQzQ6ITNERVMnCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zc2wucHkgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotaW5kZXggZjkxYWY3YmQwNS4uMWFjYzEyZWMyZCAxMDA2NDQKLS0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3NzbC5weQotQEAgLTE1MCw2ICsxNTAsMTMgQEAgY2xhc3MgQmFzaWNTb2NrZXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgc3NsLk9QX05PX0NPTVBSRVNTSU9OCi0gICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfU05JLCB7VHJ1ZSwgRmFsc2V9KQotICAgICAgICAgc2VsZi5hc3NlcnRJbihzc2wuSEFTX0VDREgsIHtUcnVlLCBGYWxzZX0pCi0rICAgICAgICBzc2wuT1BfTk9fU1NMdjIKLSsgICAgICAgIHNzbC5PUF9OT19TU0x2MwotKyAgICAgICAgc3NsLk9QX05PX1RMU3YxCi0rICAgICAgICBzc2wuT1BfTk9fVExTdjFfMwotKyAgICBpZiBzc2wuT1BFTlNTTF9WRVJTSU9OX0lORk8gPj0gKDEsIDAsIDEpOgotKyAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8xCi0rICAgICAgICAgICAgc3NsLk9QX05PX1RMU3YxXzIKLSAKLSAgICAgZGVmIHRlc3Rfc3RyX2Zvcl9lbnVtcyhzZWxmKToKLSAgICAgICAgICMgTWFrZSBzdXJlIHRoYXQgdGhlIFBST1RPQ09MXyogY29uc3RhbnRzIGhhdmUgZW51bS1saWtlIHN0cmluZwotQEAgLTMwMjgsMTIgKzMwMzUsMzMgQEAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy52ZXJzaW9uKCksICdUTFN2MScpCi0gICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocy52ZXJzaW9uKCksIE5vbmUpCi0gCi0rICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzc2wuSEFTX1RMU3YxXzMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdCByZXF1aXJlcyBUTFN2MS4zIGVuYWJsZWQgT3BlblNTTCIpCi0rICAgICAgICBkZWYgdGVzdF90bHMxXzMoc2VsZik6Ci0rICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFMpCi0rICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCi0rICAgICAgICAgICAgIyBkaXNhYmxlIGFsbCBidXQgVExTIDEuMwotKyAgICAgICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSAoCi0rICAgICAgICAgICAgICAgIHNzbC5PUF9OT19UTFN2MSB8IHNzbC5PUF9OT19UTFN2MV8xIHwgc3NsLk9QX05PX1RMU3YxXzIKLSsgICAgICAgICAgICApCi0rICAgICAgICAgICAgd2l0aCBUaHJlYWRlZEVjaG9TZXJ2ZXIoY29udGV4dD1jb250ZXh0KSBhcyBzZXJ2ZXI6Ci0rICAgICAgICAgICAgICAgIHdpdGggY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpIGFzIHM6Ci0rICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocy5jaXBoZXIoKVswXSwgWwotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMjU2LUdDTS1TSEEzODQnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1DSEFDSEEyMC1QT0xZMTMwNS1TSEEyNTYnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFMxMy1BRVMtMTI4LUdDTS1TSEEyNTYnLAotKyAgICAgICAgICAgICAgICAgICAgXSkKLSsKLSAgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfRUNESCwgInRlc3QgcmVxdWlyZXMgRUNESC1lbmFibGVkIE9wZW5TU0wiKQotICAgICAgICAgZGVmIHRlc3RfZGVmYXVsdF9lY2RoX2N1cnZlKHNlbGYpOgotICAgICAgICAgICAgICMgSXNzdWUgIzIxMDE1OiBlbGxpcHRpYyBjdXJ2ZS1iYXNlZCBEaWZmaWUgSGVsbG1hbiBrZXkgZXhjaGFuZ2UKLSAgICAgICAgICAgICAjIHNob3VsZCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgb24gU1NMIGNvbnRleHRzLgotICAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQotKyAgICAgICAgICAgICMgVExTdjEuMyBkZWZhdWx0cyB0byBQRlMga2V5IGFncmVlbWVudCBhbmQgbm8gbG9uZ2VyIGhhcyBLRUEgaW4KLSsgICAgICAgICAgICAjIGNpcGhlciBuYW1lLgotKyAgICAgICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBzc2wuT1BfTk9fVExTdjFfMwotICAgICAgICAgICAgICMgUHJpb3IgdG8gT3BlblNTTCAxLjAuMCwgRUNESCBjaXBoZXJzIGhhdmUgdG8gYmUgZW5hYmxlZAotICAgICAgICAgICAgICMgZXhwbGljaXRseSB1c2luZyB0aGUgJ0VDQ2RyYWZ0JyBjaXBoZXIgYWxpYXMuICBPdGhlcndpc2UsCi0gICAgICAgICAgICAgIyBvdXIgZGVmYXVsdCBjaXBoZXIgbGlzdCBzaG91bGQgcHJlZmVyIEVDREgtYmFzZWQgY2lwaGVycwotQEAgLTMzOTQsNyArMzQyMiw2IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgcy5zZW5kZmlsZShmaWxlKQotICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5yZWN2KDEwMjQpLCBURVNUX0RBVEEpCi0gCi0tCi0gZGVmIHRlc3RfbWFpbih2ZXJib3NlPUZhbHNlKToKLSAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi1kaWZmIC0tZ2l0IGEvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTctMDktMDQtMTYtMzktNDkuYnBvLTI5MTM2LnZTbjFvUi5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxNy0wOS0wNC0xNi0zOS00OS5icG8tMjkxMzYudlNuMW9SLnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLmU3Njk5N2VmODMKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE3LTA5LTA0LTE2LTM5LTQ5LmJwby0yOTEzNi52U24xb1IucnN0Ci1AQCAtMCwwICsxIEBACi0rQWRkIFRMUyAxLjMgY2lwaGVyIHN1aXRlcyBhbmQgT1BfTk9fVExTdjFfMy4KLWRpZmYgLS1naXQgYS9Nb2R1bGVzL19zc2wuYyBiL01vZHVsZXMvX3NzbC5jCi1pbmRleCAwZDVjMTIxZDJjLi5jNzFkODk2MDdjIDEwMDY0NAotLS0tIGEvTW9kdWxlcy9fc3NsLmMKLSsrKyBiL01vZHVsZXMvX3NzbC5jCi1AQCAtNDg0Miw2ICs0ODQyLDExIEBAIFB5SW5pdF9fc3NsKHZvaWQpCi0gI2lmIEhBVkVfVExTdjFfMgotICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMSIsIFNTTF9PUF9OT19UTFN2MV8xKTsKLSAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX1RMU3YxXzIiLCBTU0xfT1BfTk9fVExTdjFfMik7Ci0rI2VuZGlmCi0rI2lmZGVmIFNTTF9PUF9OT19UTFN2MV8zCi0rICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19UTFN2MV8zIiwgU1NMX09QX05PX1RMU3YxXzMpOwotKyNlbHNlCi0rICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19UTFN2MV8zIiwgMCk7Ci0gI2VuZGlmCi0gICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTU0xfT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFKTsKLUBAIC00ODkwLDYgKzQ4OTUsMTQgQEAgUHlJbml0X19zc2wodm9pZCkKLSAgICAgUHlfSU5DUkVGKHIpOwotICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19BTFBOIiwgcik7Ci0gCi0rI2lmIGRlZmluZWQoVExTMV8zX1ZFUlNJT04pICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTMV8zKQotKyAgICByID0gUHlfVHJ1ZTsKLSsjZWxzZQotKyAgICByID0gUHlfRmFsc2U7Ci0rI2VuZGlmCi0rICAgIFB5X0lOQ1JFRihyKTsKLSsgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfVExTdjFfMyIsIHIpOwotKwotICAgICAvKiBNYXBwaW5ncyBmb3IgZXJyb3IgY29kZXMgKi8KLSAgICAgZXJyX2NvZGVzX3RvX25hbWVzID0gUHlEaWN0X05ldygpOwotICAgICBlcnJfbmFtZXNfdG9fY29kZXMgPSBQeURpY3RfTmV3KCk7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLWJwby0zMjk0Ny1GaXhlcy1mb3ItVExTLTEuMy1hbmQtT3BlblNTTC0xLjEuMS1HSC04NzYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLWJwby0zMjk0Ny1GaXhlcy1mb3ItVExTLTEuMy1hbmQtT3BlblNTTC0xLjEuMS1HSC04NzYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU2ZDU5MWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwMy1icG8tMzI5NDctRml4ZXMtZm9yLVRMUy0xLjMtYW5kLU9wZW5TU0wtMS4xLjEtR0gtODc2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTczICswLDAgQEAKLUZyb20gMTcwYTYxNDkwNGZlYmQxNGZmNmNmZDdhNzVjOWJjY2MxMTRiMzk0OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotRGF0ZTogVHVlLCAxNCBBdWcgMjAxOCAxNjo1NjozMiArMDIwMAotU3ViamVjdDogW1BBVENIXSBicG8tMzI5NDc6IEZpeGVzIGZvciBUTFMgMS4zIGFuZCBPcGVuU1NMIDEuMS4xIChHSC04NzYxKQotCi1CYWNrcG9ydCBvZiBUTFMgMS4zIHJlbGF0ZWQgZml4ZXMgZnJvbSAzLjcuCi0KLU1pc2MgZml4ZXMgYW5kIHdvcmthcm91bmRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggT3BlblNTTCAxLjEuMSBmcm9tIGdpdAotbWFzdGVyIGFuZCBUTFMgMS4zIHN1cHBvcnQuIFdpdGggT3BlblNTTCAxLjEuMSwgUHl0aG9uIG5lZ290aWF0ZXMgVExTIDEuMyBieQotZGVmYXVsdC4gU29tZSB0ZXN0IGNhc2VzIG9ubHkgYXBwbHkgdG8gVExTIDEuMi4KLQotT3BlblNTTCAxLjEuMSBoYXMgYWRkZWQgYSBuZXcgb3B0aW9uIE9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIGZvciBUTFMKLTEuMy4gVGhlIGZlYXR1cmUgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBtYXhpbXVtIGNvbXBhdGliaWxpdHkgd2l0aAotYnJva2VuIG1pZGRsZSBib3hlcy4gVXNlcnMgc2hvdWxkIGJlIGFibGUgdG8gZGlzYWJsZSB0aGUgaGFjayBhbmQgQ1B5dGhvbidzIHRlc3Qgc3VpdGUgbmVlZHMKLWl0IHRvIHZlcmlmeSBkZWZhdWx0IG9wdGlvbnMKLQotU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzJhNGVlOGFhMDFkNjFiNmE5YzhlOWM2NWMyMTFlNjFiZGI0NzE4MjZdCi0KLVNpZ25lZC1vZmYtYnk6IEFudWogTWl0dGFsIDxhbnVqLm1pdHRhbEBpbnRlbC5jb20+Ci0tLS0KLSBEb2MvbGlicmFyeS9zc2wucnN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysrKysKLSBMaWIvdGVzdC90ZXN0X2FzeW5jaW8vdGVzdF9ldmVudHMucHkgICAgICAgICAgfCAgNiArKystCi0gTGliL3Rlc3QvdGVzdF9zc2wucHkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrLS0tLQotIC4uLi8yMDE4LTA4LTE0LTA4LTU3LTAxLmJwby0zMjk0Ny5tcVN0VlcucnN0ICB8ICAyICsrCi0gTW9kdWxlcy9fc3NsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrCi0gNSBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdAotCi1kaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3NsLnJzdCBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKLWluZGV4IDI5YzVlOTRjZjYuLmY2M2EzZGVlYzUgMTAwNjQ0Ci0tLS0gYS9Eb2MvbGlicmFyeS9zc2wucnN0Ci0rKysgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1AQCAtNzU3LDYgKzc1NywxNSBAQCBDb25zdGFudHMKLSAKLSAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKLSAKLSsuLiBkYXRhOjogT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQKLSsKLSsgICBTZW5kIGR1bW15IENoYW5nZSBDaXBoZXIgU3BlYyAoQ0NTKSBtZXNzYWdlcyBpbiBUTFMgMS4zIGhhbmRzaGFrZSB0byBtYWtlCi0rICAgYSBUTFMgMS4zIGNvbm5lY3Rpb24gbG9vayBtb3JlIGxpa2UgYSBUTFMgMS4yIGNvbm5lY3Rpb24uCi0rCi0rICAgVGhpcyBvcHRpb24gaXMgb25seSBhdmFpbGFibGUgd2l0aCBPcGVuU1NMIDEuMS4xIGFuZCBsYXRlci4KLSsKLSsgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjYuNwotKwotIC4uIGRhdGE6OiBPUF9OT19DT01QUkVTU0lPTgotIAotICAgIERpc2FibGUgY29tcHJlc3Npb24gb24gdGhlIFNTTCBjaGFubmVsLiAgVGhpcyBpcyB1c2VmdWwgaWYgdGhlIGFwcGxpY2F0aW9uCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5IGIvTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5Ci1pbmRleCA0OTJhODRhMjMxLi42ZjIwODQ3NGI5IDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9hc3luY2lvL3Rlc3RfZXZlbnRzLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X2FzeW5jaW8vdGVzdF9ldmVudHMucHkKLUBAIC0xMTY5LDcgKzExNjksMTEgQEAgY2xhc3MgRXZlbnRMb29wVGVzdHNNaXhpbjoKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9vcC5ydW5fdW50aWxfY29tcGxldGUoZl9jKQotIAotICAgICAgICAgIyBjbG9zZSBjb25uZWN0aW9uCi0tICAgICAgICBwcm90by50cmFuc3BvcnQuY2xvc2UoKQotKyAgICAgICAgIyB0cmFuc3BvcnQgbWF5IGJlIE5vbmUgd2l0aCBUTFMgMS4zLCBiZWNhdXNlIGNvbm5lY3Rpb24gaXMKLSsgICAgICAgICMgaW50ZXJydXB0ZWQsIHNlcnZlciBpcyB1bmFibGUgdG8gc2VuZCBzZXNzaW9uIHRpY2tldHMsIGFuZAotKyAgICAgICAgIyB0cmFuc3BvcnQgaXMgY2xvc2VkLgotKyAgICAgICAgaWYgcHJvdG8udHJhbnNwb3J0IGlzIG5vdCBOb25lOgotKyAgICAgICAgICAgIHByb3RvLnRyYW5zcG9ydC5jbG9zZSgpCi0gICAgICAgICBzZXJ2ZXIuY2xvc2UoKQotIAotICAgICBkZWYgdGVzdF9sZWdhY3lfY3JlYXRlX3NlcnZlcl9zc2xfbWF0Y2hfZmFpbGVkKHNlbGYpOgotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLWluZGV4IDFhY2MxMmVjMmQuLmEyZTFkMzJhNjIgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X3NzbC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLUBAIC03OCw2ICs3OCw3IEBAIE9QX05PX0NPTVBSRVNTSU9OID0gZ2V0YXR0cihzc2wsICJPUF9OT19DT01QUkVTU0lPTiIsIDApCi0gT1BfU0lOR0xFX0RIX1VTRSA9IGdldGF0dHIoc3NsLCAiT1BfU0lOR0xFX0RIX1VTRSIsIDApCi0gT1BfU0lOR0xFX0VDREhfVVNFID0gZ2V0YXR0cihzc2wsICJPUF9TSU5HTEVfRUNESF9VU0UiLCAwKQotIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSA9IGdldGF0dHIoc3NsLCAiT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFIiwgMCkKLStPUF9FTkFCTEVfTUlERExFQk9YX0NPTVBBVCA9IGdldGF0dHIoc3NsLCAiT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQiLCAwKQotIAotIAotIGRlZiBoYW5kbGVfZXJyb3IocHJlZml4KToKLUBAIC0xNTUsOCArMTU2LDggQEAgY2xhc3MgQmFzaWNTb2NrZXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICBzc2wuT1BfTk9fVExTdjEKLSAgICAgICAgIHNzbC5PUF9OT19UTFN2MV8zCi0gICAgIGlmIHNzbC5PUEVOU1NMX1ZFUlNJT05fSU5GTyA+PSAoMSwgMCwgMSk6Ci0tICAgICAgICAgICAgc3NsLk9QX05PX1RMU3YxXzEKLS0gICAgICAgICAgICBzc2wuT1BfTk9fVExTdjFfMgotKyAgICAgICAgc3NsLk9QX05PX1RMU3YxXzEKLSsgICAgICAgIHNzbC5PUF9OT19UTFN2MV8yCi0gCi0gICAgIGRlZiB0ZXN0X3N0cl9mb3JfZW51bXMoc2VsZik6Ci0gICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IHRoZSBQUk9UT0NPTF8qIGNvbnN0YW50cyBoYXZlIGVudW0tbGlrZSBzdHJpbmcKLUBAIC04NTQsNyArODU1LDggQEAgY2xhc3MgQ29udGV4dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgIGRlZmF1bHQgPSAoc3NsLk9QX0FMTCB8IHNzbC5PUF9OT19TU0x2MiB8IHNzbC5PUF9OT19TU0x2MykKLSAgICAgICAgICMgU1NMQ29udGV4dCBhbHNvIGVuYWJsZXMgdGhlc2UgYnkgZGVmYXVsdAotICAgICAgICAgZGVmYXVsdCB8PSAoT1BfTk9fQ09NUFJFU1NJT04gfCBPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UgfAotLSAgICAgICAgICAgICAgICAgICAgT1BfU0lOR0xFX0RIX1VTRSB8IE9QX1NJTkdMRV9FQ0RIX1VTRSkKLSsgICAgICAgICAgICAgICAgICAgIE9QX1NJTkdMRV9ESF9VU0UgfCBPUF9TSU5HTEVfRUNESF9VU0UgfAotKyAgICAgICAgICAgICAgICAgICAgT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHQsIGN0eC5vcHRpb25zKQotICAgICAgICAgY3R4Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1RMU3YxCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHQgfCBzc2wuT1BfTk9fVExTdjEsIGN0eC5vcHRpb25zKQotQEAgLTE4NjAsMTEgKzE4NjIsMjYgQEAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNvY2ssIHNlcnZlcl9zaWRlPVRydWUpCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zZWxlY3RlZF9ucG5fcHJvdG9jb2xzLmFwcGVuZChzZWxmLnNzbGNvbm4uc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkpCi0gICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5zZWxlY3RlZF9hbHBuX3Byb3RvY29scy5hcHBlbmQoc2VsZi5zc2xjb25uLnNlbGVjdGVkX2FscG5fcHJvdG9jb2woKSkKLS0gICAgICAgICAgICAgICAgZXhjZXB0IChzc2wuU1NMRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yKSBhcyBlOgotKyAgICAgICAgICAgICAgICBleGNlcHQgKENvbm5lY3Rpb25SZXNldEVycm9yLCBCcm9rZW5QaXBlRXJyb3IpIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgICAjIFdlIHRyZWF0IENvbm5lY3Rpb25SZXNldEVycm9yIGFzIHRob3VnaCBpdCB3ZXJlIGFuCi0gICAgICAgICAgICAgICAgICAgICAjIFNTTEVycm9yIC0gT3BlblNTTCBvbiBVYnVudHUgYWJydXB0bHkgY2xvc2VzIHRoZQotICAgICAgICAgICAgICAgICAgICAgIyBjb25uZWN0aW9uIHdoZW4gYXNrZWQgdG8gdXNlIGFuIHVuc3VwcG9ydGVkIHByb3RvY29sLgotICAgICAgICAgICAgICAgICAgICAgIwotKyAgICAgICAgICAgICAgICAgICAgIyBCcm9rZW5QaXBlRXJyb3IgaXMgcmFpc2VkIGluIFRMUyAxLjMgbW9kZSwgd2hlbiBPcGVuU1NMCi0rICAgICAgICAgICAgICAgICAgICAjIHRyaWVzIHRvIHNlbmQgc2Vzc2lvbiB0aWNrZXRzIGFmdGVyIGhhbmRzaGFrZS4KLSsgICAgICAgICAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9pc3N1ZXMvNjM0MgotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuY29ubl9lcnJvcnMuYXBwZW5kKHN0cihlKSkKLSsgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc2VydmVyLmNoYXR0eToKLSsgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVfZXJyb3IoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbiBzZXJ2ZXI6ICBiYWQgY29ubmVjdGlvbiBhdHRlbXB0IGZyb20gIiArIHJlcHIoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZHIpICsgIjpcbiIpCi0rICAgICAgICAgICAgICAgICAgICBzZWxmLnJ1bm5pbmcgPSBGYWxzZQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCi0rICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSsgICAgICAgICAgICAgICAgZXhjZXB0IChzc2wuU1NMRXJyb3IsIE9TRXJyb3IpIGFzIGU6Ci0rICAgICAgICAgICAgICAgICAgICAjIE9TRXJyb3IgbWF5IG9jY3VyIHdpdGggd3JvbmcgcHJvdG9jb2xzLCBlLmcuIGJvdGgKLSsgICAgICAgICAgICAgICAgICAgICMgc2lkZXMgdXNlIFBST1RPQ09MX1RMU19TRVJWRVIuCi0rICAgICAgICAgICAgICAgICAgICAjCi0gICAgICAgICAgICAgICAgICAgICAjIFhYWCBWYXJpb3VzIGVycm9ycyBjYW4gaGF2ZSBoYXBwZW5lZCBoZXJlLCBmb3IgZXhhbXBsZQotICAgICAgICAgICAgICAgICAgICAgIyBhIG1pc21hdGNoaW5nIHByb3RvY29sIHZlcnNpb24sIGFuIGludmFsaWQgY2VydGlmaWNhdGUsCi0gICAgICAgICAgICAgICAgICAgICAjIG9yIGEgbG93LWxldmVsIGJ1Zy4gVGhpcyBzaG91bGQgYmUgbWFkZSBtb3JlIGRpc2NyaW1pbmF0aW5nLgotQEAgLTI5NzQsNyArMjk5MSw3IEBAIGVsc2U6Ci0gICAgICAgICAgICAgICAgICMgQmxvY2sgb24gdGhlIGFjY2VwdCBhbmQgd2FpdCBvbiB0aGUgY29ubmVjdGlvbiB0byBjbG9zZS4KLSAgICAgICAgICAgICAgICAgZXZ0LnNldCgpCi0gICAgICAgICAgICAgICAgIHJlbW90ZSwgcGVlciA9IHNlcnZlci5hY2NlcHQoKQotLSAgICAgICAgICAgICAgICByZW1vdGUucmVjdigxKQotKyAgICAgICAgICAgICAgICByZW1vdGUuc2VuZChyZW1vdGUucmVjdig0KSkKLSAKLSAgICAgICAgICAgICB0ID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VydmUpCi0gICAgICAgICAgICAgdC5zdGFydCgpCi1AQCAtMjk4Miw2ICsyOTk5LDggQEAgZWxzZToKLSAgICAgICAgICAgICBldnQud2FpdCgpCi0gICAgICAgICAgICAgY2xpZW50ID0gY29udGV4dC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCkpCi0gICAgICAgICAgICAgY2xpZW50LmNvbm5lY3QoKGhvc3QsIHBvcnQpKQotKyAgICAgICAgICAgIGNsaWVudC5zZW5kKGInZGF0YScpCi0rICAgICAgICAgICAgY2xpZW50LnJlY3YoKQotICAgICAgICAgICAgIGNsaWVudF9hZGRyID0gY2xpZW50LmdldHNvY2tuYW1lKCkKLSAgICAgICAgICAgICBjbGllbnQuY2xvc2UoKQotICAgICAgICAgICAgIHQuam9pbigpCi1kaWZmIC0tZ2l0IGEvTWlzYy9ORVdTLmQvbmV4dC9MaWJyYXJ5LzIwMTgtMDgtMTQtMDgtNTctMDEuYnBvLTMyOTQ3Lm1xU3RWVy5yc3QgYi9NaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxOC0wOC0xNC0wOC01Ny0wMS5icG8tMzI5NDcubXFTdFZXLnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjI4ZGUzNjBjMzYKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQvTGlicmFyeS8yMDE4LTA4LTE0LTA4LTU3LTAxLmJwby0zMjk0Ny5tcVN0VlcucnN0Ci1AQCAtMCwwICsxLDIgQEAKLStBZGQgT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQgYW5kIHRlc3Qgd29ya2Fyb3VuZCBmb3IgVExTdjEuMyBmb3IgZnV0dXJlCi0rY29tcGF0aWJpbGl0eSB3aXRoIE9wZW5TU0wgMS4xLjEuCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3NsLmMgYi9Nb2R1bGVzL19zc2wuYwotaW5kZXggYzcxZDg5NjA3Yy4uZWIxMjNhODdiYSAxMDA2NDQKLS0tLSBhL01vZHVsZXMvX3NzbC5jCi0rKysgYi9Nb2R1bGVzL19zc2wuYwotQEAgLTQ4NTgsNiArNDg1OCwxMCBAQCBQeUluaXRfX3NzbCh2b2lkKQotICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fQ09NUFJFU1NJT04iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTU0xfT1BfTk9fQ09NUFJFU1NJT04pOwotICNlbmRpZgotKyNpZmRlZiBTU0xfT1BfRU5BQkxFX01JRERMRUJPWF9DT01QQVQKLSsgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX09QX0VOQUJMRV9NSURETEVCT1hfQ09NUEFUKTsKLSsjZW5kaWYKLSAKLSAjaWYgSEFWRV9TTkkKLSAgICAgciA9IFB5X1RydWU7Ci0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLXNldHVwLnB5LXBhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMDAzLXNldHVwLnB5LXBhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjlkNWJjOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDMtc2V0dXAucHktcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaApAQCAtMCwwICsxLDgwIEBACitGcm9tIGI4ODFhNzlhZGNkNGFlNWFjOGZlNGY0OWQwZmM3N2M0N2Y3Nzc5MTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDQgQXVnIDIwMTcgMTE6MTY6MTQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2V0dXAucHk6IHBhc3MgbWlzc2luZyBsaWJyYXJpZXMgdG8gRXh0ZW5zaW9uIGZvcgorIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUKKworSW4gdGhlIGZvbGxvd2luZyBjb21taXQ6CisuLi4KK2NvbW1pdCBlNzExY2FmYWIxM2VmYzljMWZlNmM1Y2Q3NTgyNjQwMTQ0NWViNTg1CitBdXRob3I6IEJlbmphbWluIFBldGVyc29uIDxiZW5qYW1pbkBweXRob24ub3JnPgorRGF0ZTogICBXZWQgSnVuIDExIDE2OjQ0OjA0IDIwMDggKzAwMDAKKworICAgIE1lcmdlZCByZXZpc2lvbnMgNjQxMDQsNjQxMTcgdmlhIHN2bm1lcmdlIGZyb20KKyAgICBzdm4rc3NoOi8vcHl0aG9uZGV2QHN2bi5weXRob24ub3JnL3B5dGhvbi90cnVuaworLi4uCisoc2VlIGRpZmYgaW4gc2V0dXAucHkpCitJdCBhc3NpZ25lZCBsaWJyYXJpZXMgZm9yIG11bHRpcHJvY2Vzc2luZyBtb2R1bGUgYWNjb3JkaW5nCit0aGUgaG9zdF9wbGF0Zm9ybSwgYnV0IG5vdCBwYXNzIGl0IHRvIEV4dGVuc2lvbi4KKworSW4gZ2xpYmMsIHRoZSBmb2xsb3dpbmcgY29tbWl0IGNhdXNlZCB0d28gZGVmaW5pdGlvbiBvZgorc2VtX2dldHZhbHVlIGFyZSBkaWZmZXJlbnQuCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC8/cD1nbGliYy5naXQ7YT1jb21taXQ7aD0wNDJlMTUyMWM3OTRhOTQ1ZWRjNDNiNWJmYTdlNjlhZDcwNDIwNTI0Cisoc2VlIGRpZmYgaW4gbnB0bC9zZW1fZ2V0dmFsdWUuYyBmb3IgZGV0YWlsKQorYF9fbmV3X3NlbV9nZXR2YWx1ZScgaXMgdGhlIGxhdGVzdCBzZW1fZ2V0dmFsdWVAQEdMSUJDXzIuMQorYW5kIGBfX29sZF9zZW1fZ2V0dmFsdWUnIGlzIHRvIGNvbXBhdCB0aGUgb2xkIHZlcnNpb24KK3NlbV9nZXR2YWx1ZUBHTElCQ18yLjAuCisKK1RvIGJ1aWxkIHB5dGhvbiBmb3IgZW1iZWRkZWQgTGludXggc3lzdGVtczoKK2h0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZy9kb2NzLzIuMy4xL3lvY3RvLXByb2plY3QtcXMveW9jdG8tcHJvamVjdC1xcy5odG1sCitJZiBub3QgZXhwbGljaXRseSBsaW5rIHRvIGxpYnJhcnkgcHRocmVhZCAoLWxwdGhyZWFkKSwgaXQgd2lsbAorbG9hZCBnbGliYydzIHNlbV9nZXR2YWx1ZSByYW5kb21seSBhdCBydW50aW1lLgorCitTdWNoIGFzIGJ1aWxkIHB5dGhvbiBvbiBsaW51eCB4ODZfNjQgaG9zdCBhbmQgcnVuIHRoZSBweXRob24KK29uIGxpbnV4IHg4Nl8zMiB0YXJnZXQuIElmIG5vdCBsaW5rIGxpYnJhcnkgcHRocmVhZCwgaXQgY2F1c2VkCittdWx0aXByb2Nlc3NpbmcgYm91bmRlZCBzZW1hcGhvcmUgY291bGQgbm90IHdvcmsgY29ycmVjdGx5LgorLi4uCis+Pj4gaW1wb3J0IG11bHRpcHJvY2Vzc2luZworPj4+IHBvb2xfc2VtYSA9IG11bHRpcHJvY2Vzc2luZy5Cb3VuZGVkU2VtYXBob3JlKHZhbHVlPTEpCis+Pj4gcG9vbF9zZW1hLmFjcXVpcmUoKQorVHJ1ZQorPj4+IHBvb2xfc2VtYS5yZWxlYXNlKCkKK1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KK1ZhbHVlRXJyb3I6IHNlbWFwaG9yZSBvciBsb2NrIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzCisuLi4KKworQW5kIHRoZSBzZW1hcGhvcmUgaXNzdWUgYWxzbyBjYXVzZWQgbXVsdGlwcm9jZXNzaW5nLlF1ZXVlKCkucHV0KCkgaHVuZy4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9wdWxsLzI5OTldCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIHNldHVwLnB5IHwgNyArKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NldHVwLnB5IGIvc2V0dXAucHkKK2luZGV4IGI3YTM2YTYuLjY1OGVhZDMgMTAwNjQ0CistLS0gYS9zZXR1cC5weQorKysrIGIvc2V0dXAucHkKK0BAIC0xNTg0LDggKzE1ODQsMTAgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgorICAgICAgICAgZWxpZiBob3N0X3BsYXRmb3JtLnN0YXJ0c3dpdGgoJ25ldGJzZCcpOgorICAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQorICAgICAgICAgICAgIGxpYnJhcmllcyA9IFtdCistCistICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBMaW51eCBhbmQgb3RoZXIgdW5pY2VzCisrICAgICAgICBlbGlmIGhvc3RfcGxhdGZvcm0uc3RhcnRzd2l0aCgoJ2xpbnV4JykpOgorKyAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQorKyAgICAgICAgICAgIGxpYnJhcmllcyA9IFsncHRocmVhZCddCisrICAgICAgICBlbHNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBPdGhlciB1bmljZXMKKyAgICAgICAgICAgICBtYWNyb3MgPSBkaWN0KCkKKyAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbJ3J0J10KKyAKK0BAIC0xNjAzLDYgKzE2MDUsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CisgCisgICAgICAgICBleHRzLmFwcGVuZCAoIEV4dGVuc2lvbignX211bHRpcHJvY2Vzc2luZycsIG11bHRpcHJvY2Vzc2luZ19zcmNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lX21hY3Jvcz1saXN0KG1hY3Jvcy5pdGVtcygpKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJyYXJpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnM9WyJNb2R1bGVzL19tdWx0aXByb2Nlc3NpbmciXSkpCisgICAgICAgICAjIEVuZCBtdWx0aXByb2Nlc3NpbmcKKyAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwNC1icG8tMzM1NzAtVExTLTEuMy1jaXBoZXJzLWZvci1PcGVuU1NMLTEuMS4xLUdILTY5NzYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5N2Q1NTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwNC1icG8tMzM1NzAtVExTLTEuMy1jaXBoZXJzLWZvci1PcGVuU1NMLTEuMS4xLUdILTY5NzYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTAgKzAsMCBAQAotRnJvbSAwYzkzNTQzNjJiZmE1ZjkwZmJlYThmZjgyMzdhMWYxZjVkYmE2ODZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXN0aWFuIEhlaW1lcyA8Y2hyaXN0aWFuQHB5dGhvbi5vcmc+Ci1EYXRlOiBXZWQsIDEyIFNlcCAyMDE4IDE1OjIwOjMxICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJwby0zMzU3MDogVExTIDEuMyBjaXBoZXJzIGZvciBPcGVuU1NMIDEuMS4xIChHSC02OTc2KQotCi1DaGFuZ2UgVExTIDEuMyBjaXBoZXIgc3VpdGUgc2V0dGluZ3MgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBPcGVuU1NMCi0xLjEuMS1wcmU2IGFuZCBuZXdlci4gT3BlblNTTCAxLjEuMSB3aWxsIGhhdmUgVExTIDEuMyBjaXBlcnMgZW5hYmxlZCBieQotZGVmYXVsdC4KLQotQWxzbyB1cGRhdGUgbXVsdGlzc2x0ZXN0cyBhbmQgVHJhdmlzIGNvbmZpZyB0byB0ZXN0IHdpdGggbGF0ZXN0IE9wZW5TU0wuCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZThlYjZjYjc5MjBkZWQ2NmFiYzVkMjg0MzE5YTg1MzliZGMyYmFlMykKLQotQ28tYXV0aG9yZWQtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vcHl0aG9uL2NweXRob24vY29tbWl0LzNlNjMwYzU0MWIzNWM5NmJmZTU2MTkxNjUyNTVlNTU5ZjU3N2VlNzFdCi0KLVR3ZWFrZWQgcGF0Y2ggdG8gbm90IHRha2UgY2hhbmdlcyBmb3IgbXVsdGlzc2x0ZXN0cyBhbmQgVHJhdmlzIGNvbmZpZy4KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIExpYi90ZXN0L3Rlc3Rfc3NsLnB5IHwgNTEgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1pbmRleCBhMmUxZDMyYTYyLi5jNDg0ZWFkNWZmIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKLSsrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5Ci1AQCAtMzAyNCwxNyArMzAyNCwyMSBAQCBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgc29jay5kb19oYW5kc2hha2UoKQotICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRU5PVENPTk4pCi0gCi0tICAgICAgICBkZWYgdGVzdF9kZWZhdWx0X2NpcGhlcnMoc2VsZik6Ci0tICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCi0tICAgICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICAjIEZvcmNlIGEgc2V0IG9mIHdlYWsgY2lwaGVycyBvbiBvdXIgY2xpZW50IGNvbnRleHQKLS0gICAgICAgICAgICAgICAgY29udGV4dC5zZXRfY2lwaGVycygiREVTIikKLS0gICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yOgotLSAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJubyBERVMgY2lwaGVyIGF2YWlsYWJsZSIpCi0tICAgICAgICAgICAgd2l0aCBUaHJlYWRlZEVjaG9TZXJ2ZXIoQ0VSVEZJTEUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c3NsLlBST1RPQ09MX1NTTHYyMywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UpIGFzIHNlcnZlcjoKLS0gICAgICAgICAgICAgICAgd2l0aCBjb250ZXh0LndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSkgYXMgczoKLSsgICAgICAgIGRlZiB0ZXN0X25vX3NoYXJlZF9jaXBoZXJzKHNlbGYpOgotKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKLSsgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oU0lHTkVEX0NFUlRGSUxFKQotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKLSsgICAgICAgICAgICBjbGllbnRfY29udGV4dC52ZXJpZnlfbW9kZSA9IHNzbC5DRVJUX1JFUVVJUkVECi0rICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuY2hlY2tfaG9zdG5hbWUgPSBUcnVlCi0rCi0rICAgICAgICAgICAgY2xpZW50X2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzEyOCIpCi0rICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X2NpcGhlcnMoIkFFUzI1NiIpCi0rICAgICAgICAgICAgIyBPcGVuU1NMIGVuYWJsZXMgYWxsIFRMUyAxLjMgY2lwaGVycywgZW5mb3JjZSBUTFMgMS4yIGZvciB0ZXN0Ci0rICAgICAgICAgICAgY2xpZW50X2NvbnRleHQub3B0aW9ucyB8PSBzc2wuT1BfTk9fVExTdjFfMwotKyAgICAgICAgICAgIHdpdGggVGhyZWFkZWRFY2hvU2VydmVyKGNvbnRleHQ9c2VydmVyX2NvbnRleHQpIGFzIHNlcnZlcjoKLSsgICAgICAgICAgICAgICAgd2l0aCBjbGllbnRfY29udGV4dC53cmFwX3NvY2tldCgKLSsgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuc29ja2V0KCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lPSJsb2NhbGhvc3QiKSBhcyBzOgotICAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKToKLSAgICAgICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKLSAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJubyBzaGFyZWQgY2lwaGVyIiwgc3RyKHNlcnZlci5jb25uX2Vycm9yc1swXSkpCi1AQCAtMzA2Nyw5ICszMDcxLDkgQEAgZWxzZToKLSAgICAgICAgICAgICAgICAgd2l0aCBjb250ZXh0LndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSkgYXMgczoKLSAgICAgICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQotICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzLmNpcGhlcigpWzBdLCBbCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RMUzEzLUFFUy0yNTYtR0NNLVNIQTM4NCcsCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RMUzEzLUNIQUNIQTIwLVBPTFkxMzA1LVNIQTI1NicsCi0tICAgICAgICAgICAgICAgICAgICAgICAgJ1RMUzEzLUFFUy0xMjgtR0NNLVNIQTI1NicsCi0rICAgICAgICAgICAgICAgICAgICAgICAgJ1RMU19BRVNfMjU2X0dDTV9TSEEzODQnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICdUTFNfQ0hBQ0hBMjBfUE9MWTEzMDVfU0hBMjU2JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAnVExTX0FFU18xMjhfR0NNX1NIQTI1NicsCi0gICAgICAgICAgICAgICAgICAgICBdKQotIAotICAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3NsLkhBU19FQ0RILCAidGVzdCByZXF1aXJlcyBFQ0RILWVuYWJsZWQgT3BlblNTTCIpCi1AQCAtMzM5MSwyMiArMzM5NSwxOSBAQCBlbHNlOgotICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQotICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKLSAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoU0lHTklOR19DQSkKLS0gICAgICAgICAgICBpZiBzc2wuT1BFTlNTTF9WRVJTSU9OX0lORk8gPj0gKDEsIDAsIDIpOgotLSAgICAgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMTI4OkFFUzI1NiIpCi0tICAgICAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMyNTYiKQotLSAgICAgICAgICAgICAgICBhbGcxID0gIkFFUzI1NiIKLS0gICAgICAgICAgICAgICAgYWxnMiA9ICJBRVMtMjU2IgotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVM6M0RFUyIpCi0tICAgICAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9jaXBoZXJzKCIzREVTIikKLS0gICAgICAgICAgICAgICAgYWxnMSA9ICIzREVTIgotLSAgICAgICAgICAgICAgICBhbGcyID0gIkRFUy1DQkMzIgotKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0LnNldF9jaXBoZXJzKCJBRVMxMjg6QUVTMjU2IikKLSsgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dC5zZXRfY2lwaGVycygiQUVTMjU2IikKLSsgICAgICAgICAgICBleHBlY3RlZF9hbGdzID0gWwotKyAgICAgICAgICAgICAgICAiQUVTMjU2IiwgIkFFUy0yNTYiLAotKyAgICAgICAgICAgICAgICAgIyBUTFMgMS4zIGNpcGhlcnMgYXJlIGFsd2F5cyBlbmFibGVkCi0rICAgICAgICAgICAgICAgICAiVExTX0NIQUNIQTIwIiwgIlRMU19BRVMiLAotKyAgICAgICAgICAgIF0KLSAKLSAgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQpCi0gICAgICAgICAgICAgY2lwaGVycyA9IHN0YXRzWydzZXJ2ZXJfc2hhcmVkX2NpcGhlcnMnXVswXQotICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oY2lwaGVycyksIDApCi0gICAgICAgICAgICAgZm9yIG5hbWUsIHRsc192ZXJzaW9uLCBiaXRzIGluIGNpcGhlcnM6Ci0tICAgICAgICAgICAgICAgIGlmIG5vdCBhbGcxIGluIG5hbWUuc3BsaXQoIi0iKSBhbmQgYWxnMiBub3QgaW4gbmFtZToKLSsgICAgICAgICAgICAgICAgaWYgbm90IGFueSAoYWxnIGluIG5hbWUgZm9yIGFsZyBpbiBleHBlY3RlZF9hbGdzKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbChuYW1lKQotIAotICAgICAgICAgZGVmIHRlc3RfcmVhZF93cml0ZV9hZnRlcl9jbG9zZV9yYWlzZXNfdmFsdWVycm9yKHNlbGYpOgotLS0gCi0yLjE3LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwNS1icG8tMzA3MTQtQUxQTi1jaGFuZ2VzLWZvci1PcGVuU1NMLTEuMS4wZi0yMzA1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDAwNS1icG8tMzA3MTQtQUxQTi1jaGFuZ2VzLWZvci1PcGVuU1NMLTEuMS4wZi0yMzA1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNjA5ODQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAwMDUtYnBvLTMwNzE0LUFMUE4tY2hhbmdlcy1mb3ItT3BlblNTTC0xLjEuMGYtMjMwNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAKLUZyb20gN2I0MGNiNzI5M2NiMTRlNWM3YzhlZDEyM2VmYWY5YWNiMzNlZGFlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotRGF0ZTogVHVlLCAxNSBBdWcgMjAxNyAxMDozMzo0MyArMDIwMAotU3ViamVjdDogW1BBVENIXSBicG8tMzA3MTQ6IEFMUE4gY2hhbmdlcyBmb3IgT3BlblNTTCAxLjEuMGYgKCMyMzA1KQotCi1PcGVuU1NMIDEuMS4wIHRvIDEuMS4wZSBhYm9ydGVkIHRoZSBoYW5kc2hha2Ugd2hlbiBzZXJ2ZXIgYW5kIGNsaWVudAotY291bGQgbm90IGFncmVlIG9uIGEgcHJvdG9jb2wgdXNpbmcgQUxQTi4gT3BlblNTTCAxLjEuMGYgY2hhbmdlZCB0aGF0LgotVGhlIG1vc3QgcmVjZW50IHZlcnNpb24gbm93IGJlaGF2ZXMgbGlrZSBPcGVuU1NMIDEuMC4yIGFnYWluLiBUaGUgQUxQTgotY2FsbGJhY2sgY2FuIHByZXRlbmQgdG8gbm90IGJlZW4gc2V0LgotCi1TZWUgaHR0cHM6Ly9naXRodWIuY29tL29wZW5zc2wvb3BlbnNzbC9wdWxsLzMxNTggZm9yIG1vcmUgZGV0YWlscwotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotW2h0dHBzOi8vZ2l0aHViLmNvbS9weXRob24vY3B5dGhvbi9jb21taXQvN2I0MGNiNzI5M2NiMTRlNWM3YzhlZDEyM2VmYWY5YWNiMzNlZGFlMl0KLQotU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KLS0tLQotIERvYy9saWJyYXJ5L3NzbC5yc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDUgKysrLS0KLSBMaWIvdGVzdC90ZXN0X3NzbC5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKy0tCi0gLi4uL25leHQvVGVzdHMvMjAxNy0wNy0yNS0xNS0yNy00NC5icG8tMzA3MTUuU3A3YlRGLnJzdCAgICAgIHwgMiArKwotIDMgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTctMDctMjUtMTUtMjctNDQuYnBvLTMwNzE1LlNwN2JURi5yc3QKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NzbC5yc3QgYi9Eb2MvbGlicmFyeS9zc2wucnN0Ci1pbmRleCA3MjlhMjM5YTFiLi4wYTA5ZTdlOWQ0IDEwMDY0NAotLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvc3NsLnJzdAotQEAgLTE0NDcsOCArMTQ0Nyw5IEBAIHRvIHNwZWVkIHVwIHJlcGVhdGVkIGNvbm5lY3Rpb25zIGZyb20gdGhlIHNhbWUgY2xpZW50cy4KLSAgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGlmIDpkYXRhOmBIQVNfQUxQTmAgaXMKLSAgICBGYWxzZS4KLSAKLS0gICBPcGVuU1NMIDEuMS4wKyB3aWxsIGFib3J0IHRoZSBoYW5kc2hha2UgYW5kIHJhaXNlIDpleGM6YFNTTEVycm9yYCB3aGVuCi0tICAgYm90aCBzaWRlcyBzdXBwb3J0IEFMUE4gYnV0IGNhbm5vdCBhZ3JlZSBvbiBhIHByb3RvY29sLgotKyAgIE9wZW5TU0wgMS4xLjAgdG8gMS4xLjBlIHdpbGwgYWJvcnQgdGhlIGhhbmRzaGFrZSBhbmQgcmFpc2UgOmV4YzpgU1NMRXJyb3JgCi0rICAgd2hlbiBib3RoIHNpZGVzIHN1cHBvcnQgQUxQTiBidXQgY2Fubm90IGFncmVlIG9uIGEgcHJvdG9jb2wuIDEuMS4wZisKLSsgICBiZWhhdmVzIGxpa2UgMS4wLjIsIDptZXRoOmBTU0xTb2NrZXQuc2VsZWN0ZWRfYWxwbl9wcm90b2NvbGAgcmV0dXJucyBOb25lLgotIAotICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNQotIAotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLWluZGV4IGQ5NjBkODIwNjUuLjEwNGI3ZjM3N2EgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X3NzbC5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKLUBAIC0zMjY4LDggKzMyNjgsOSBAQCBpZiBfaGF2ZV90aHJlYWRzOgotICAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgICBzdGF0cyA9IGUKLSAKLS0gICAgICAgICAgICAgICAgaWYgZXhwZWN0ZWQgaXMgTm9uZSBhbmQgSVNfT1BFTlNTTF8xXzE6Ci0tICAgICAgICAgICAgICAgICAgICAjIE9wZW5TU0wgMS4xLjAgcmFpc2VzIGhhbmRzaGFrZSBlcnJvcgotKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWQgaXMgTm9uZSBhbmQgSVNfT1BFTlNTTF8xXzEKLSsgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPIDwgKDEsIDEsIDAsIDYpKToKLSsgICAgICAgICAgICAgICAgICAgICMgT3BlblNTTCAxLjEuMCB0byAxLjEuMGUgcmFpc2VzIGhhbmRzaGFrZSBlcnJvcgotICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN0YXRzLCBzc2wuU1NMRXJyb3IpCi0gICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBtc2cgPSAiZmFpbGVkIHRyeWluZyAlcyAocykgYW5kICVzIChjKS5cbiIgXAotZGlmZiAtLWdpdCBhL01pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAxNy0wNy0yNS0xNS0yNy00NC5icG8tMzA3MTUuU3A3YlRGLnJzdCBiL01pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAxNy0wNy0yNS0xNS0yNy00NC5icG8tMzA3MTUuU3A3YlRGLnJzdAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAuLjg4Mzk0ZTU4NWMKLS0tLSAvZGV2L251bGwKLSsrKyBiL01pc2MvTkVXUy5kL25leHQvVGVzdHMvMjAxNy0wNy0yNS0xNS0yNy00NC5icG8tMzA3MTUuU3A3YlRGLnJzdAotQEAgLTAsMCArMSwyIEBACi0rQWRkcmVzcyBBTFBOIGNhbGxiYWNrIGNoYW5nZXMgZm9yIE9wZW5TU0wgMS4xLjBmLiBUaGUgbGF0ZXN0IHZlcnNpb24gYmVoYXZlcwotK2xpa2UgT3BlblNTTCAxLjAuMiBhbmQgbm8gbG9uZ2VyIGFib3J0cyBoYW5kc2hha2UuCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMy1maXgtdGtpbnRlci1kZXRlY3Rpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wMy1maXgtdGtpbnRlci1kZXRlY3Rpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkZGZkMmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMtZml4LXRraW50ZXItZGV0ZWN0aW9uLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtlbWJlZGRlZCBzcGVjaWZpY10KLQotIyBXZSBuZWVkIHRvIHN1cHBseSBTVEFHSU5HX0lOQ0RJUiBoZXJlLCBvdGhlcndpc2UgdGhlIFRrIGhlYWRlcnMKLSMgd2lsbCBub3QgYmUgZm91bmQuCi0jIFNpZ25lZC1PZmY6IE1pY2hhZWwgJ01pY2tleScgTGF1ZXIgPG1pY2tleUB2YW5pbGxlLmRlPgotCi1JbmRleDogUHl0aG9uLTMuMy4wcmMyL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4wcmMyLm9yaWcvc2V0dXAucHkJMjAxMi0wOS0yMCAxNToyNDoxNC4wMDkxMjQwMDMgLTA3MDAKLSsrKyBQeXRob24tMy4zLjByYzIvc2V0dXAucHkJMjAxMi0wOS0yMCAxNToyNTowOC40NDkxMjQ5NjMgLTA3MDAKLUBAIC0xNjIwLDcgKzE2MjAsNyBAQAotICAgICAgICAgICAgICAgICBkb3R2ZXJzaW9uID0gZG90dmVyc2lvbls6LTFdICsgJy4nICsgZG90dmVyc2lvblstMV0KLSAgICAgICAgICAgICB0Y2xfaW5jbHVkZV9zdWIgPSBbXQotICAgICAgICAgICAgIHRrX2luY2x1ZGVfc3ViID0gW10KLS0gICAgICAgICAgICBmb3IgZGlyIGluIGluY19kaXJzOgotKyAgICAgICAgICAgIGZvciBkaXIgaW4gW29zLmdldGVudigiU1RBR0lOR19JTkNESVIiKV06Ci0gICAgICAgICAgICAgICAgIHRjbF9pbmNsdWRlX3N1YiArPSBbZGlyICsgb3Muc2VwICsgInRjbCIgKyBkb3R2ZXJzaW9uXQotICAgICAgICAgICAgICAgICB0a19pbmNsdWRlX3N1YiArPSBbZGlyICsgb3Muc2VwICsgInRrIiArIGRvdHZlcnNpb25dCi0gICAgICAgICAgICAgdGtfaW5jbHVkZV9zdWIgKz0gdGNsX2luY2x1ZGVfc3ViCi1AQCAtMTYzOSwyMiArMTYzOSw2IEBACi0gICAgICAgICAgICAgaWYgZGlyIG5vdCBpbiBpbmNsdWRlX2RpcnM6Ci0gICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycy5hcHBlbmQoZGlyKQotIAotLSAgICAgICAgIyBDaGVjayBmb3IgdmFyaW91cyBwbGF0Zm9ybS1zcGVjaWZpYyBkaXJlY3RvcmllcwotLSAgICAgICAgaWYgaG9zdF9wbGF0Zm9ybSA9PSAnc3Vub3M1JzoKLS0gICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKCcvdXNyL29wZW53aW4vaW5jbHVkZScpCi0tICAgICAgICAgICAgYWRkZWRfbGliX2RpcnMuYXBwZW5kKCcvdXNyL29wZW53aW4vbGliJykKLS0gICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoJy91c3IvWDExUjYvaW5jbHVkZScpOgotLSAgICAgICAgICAgIGluY2x1ZGVfZGlycy5hcHBlbmQoJy91c3IvWDExUjYvaW5jbHVkZScpCi0tICAgICAgICAgICAgYWRkZWRfbGliX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI2L2xpYjY0JykKLS0gICAgICAgICAgICBhZGRlZF9saWJfZGlycy5hcHBlbmQoJy91c3IvWDExUjYvbGliJykKLS0gICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoJy91c3IvWDExUjUvaW5jbHVkZScpOgotLSAgICAgICAgICAgIGluY2x1ZGVfZGlycy5hcHBlbmQoJy91c3IvWDExUjUvaW5jbHVkZScpCi0tICAgICAgICAgICAgYWRkZWRfbGliX2RpcnMuYXBwZW5kKCcvdXNyL1gxMVI1L2xpYicpCi0tICAgICAgICBlbHNlOgotLSAgICAgICAgICAgICMgQXNzdW1lIGRlZmF1bHQgbG9jYXRpb24gZm9yIFgxMQotLSAgICAgICAgICAgIGluY2x1ZGVfZGlycy5hcHBlbmQoJy91c3IvWDExL2luY2x1ZGUnKQotLSAgICAgICAgICAgIGFkZGVkX2xpYl9kaXJzLmFwcGVuZCgnL3Vzci9YMTEvbGliJykKLS0KLSAgICAgICAgICMgSWYgQ3lnd2luLCB0aGVuIHZlcmlmeSB0aGF0IFggaXMgaW5zdGFsbGVkIGJlZm9yZSBwcm9jZWVkaW5nCi0gICAgICAgICBpZiBob3N0X3BsYXRmb3JtID09ICdjeWd3aW4nOgotICAgICAgICAgICAgIHgxMV9pbmMgPSBmaW5kX2ZpbGUoJ1gxMS9YbGliLmgnLCBbXSwgaW5jbHVkZV9kaXJzKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMwLWZpeHVwLWluY2x1ZGUtZGlycy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiZWFjN2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMDMwLWZpeHVwLWluY2x1ZGUtZGlycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLURvIG5vdCBoYXJkY29kZSAvdXNyIGludG8gaW5jbHVkZSBwYXRocyB3aGVuIGNyb3NzIGNvbXBpbGluZwotCi0tS2hlbQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLSAKLS0tLQotIHNldHVwLnB5IHwgICAxNSArKy0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKLQotSW5kZXg6IFB5dGhvbi0zLjMuMi9zZXR1cC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMi5vcmlnL3NldHVwLnB5Ci0rKysgUHl0aG9uLTMuMy4yL3NldHVwLnB5Ci1AQCAtNDQ0LDcgKzQ0NCw4IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgb25seSBjaGFuZ2UgdGhpcyBmb3IgY3Jvc3MgYnVpbGRzIGZvciAzLjMsIGlzc3VlcyBvbiBNYWdlaWEKLSAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLSAgICAgICAgICAgICBzZWxmLmFkZF9nY2NfcGF0aHMoKQotLSAgICAgICAgc2VsZi5hZGRfbXVsdGlhcmNoX3BhdGhzKCkKLSsgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgc2VsZi5hZGRfbXVsdGlhcmNoX3BhdGhzKCkKLSAKLSAgICAgICAgICMgQWRkIHBhdGhzIHNwZWNpZmllZCBpbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIExERkxBR1MgYW5kCi0gICAgICAgICAjIENQUEZMQUdTIGZvciBoZWFkZXIgYW5kIGxpYnJhcnkgZmlsZXMuCi1AQCAtNDgwLDcgKzQ4MSw3IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICAgICAgICAgICAgIGZvciBkaXJlY3RvcnkgaW4gcmV2ZXJzZWQob3B0aW9ucy5kaXJzKToKLSAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3QoZGlyX2xpc3QsIGRpcmVjdG9yeSkKLSAKLS0gICAgICAgIGlmIG9zLnBhdGgubm9ybXBhdGgoc3lzLmJhc2VfcHJlZml4KSAhPSAnL3VzcicgXAotKyAgICAgICAgaWYgbm90IGNyb3NzX2NvbXBpbGluZyBhbmQgb3MucGF0aC5ub3JtcGF0aChzeXMuYmFzZV9wcmVmaXgpICE9ICcvdXNyJyBcCi0gICAgICAgICAgICAgICAgIGFuZCBub3Qgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQWVRIT05GUkFNRVdPUksnKToKLSAgICAgICAgICAgICAjIE9TWCBub3RlOiBEb24ndCBhZGQgTElCRElSIGFuZCBJTkNMVURFRElSIHRvIGJ1aWxkaW5nIGEgZnJhbWV3b3JrCi0gICAgICAgICAgICAgIyAoUFlUSE9ORlJBTUVXT1JLIGlzIHNldCkgdG8gYXZvaWQgIyBsaW5raW5nIHByb2JsZW1zIHdoZW4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzA4MC1kaXN0dXRpbHMtZG9udF9hZGp1c3RfZmlsZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8wODAtZGlzdHV0aWxzLWRvbnRfYWRqdXN0X2ZpbGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTY0MTlhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzA4MC1kaXN0dXRpbHMtZG9udF9hZGp1c3RfZmlsZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi1kbyBub3QgImFkanVzdCIgcHl0aG9uIGZpbGVzIGJlZm9yZSBjb3B5aW5nCi0KLS1LaGVtCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQtU3BlY2lmaWNdCi0KLS0tLQotIExpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9zY3JpcHRzLnB5IHwgICA0MyArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKLQotLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX3NjcmlwdHMucHkKLSsrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9zY3JpcHRzLnB5Ci1AQCAtNTEsMTAgKzUxLDcgQEAgY2xhc3MgYnVpbGRfc2NyaXB0cyhDb21tYW5kKToKLSAKLSAKLSAgICAgZGVmIGNvcHlfc2NyaXB0cyhzZWxmKToKLS0gICAgICAgICIiIkNvcHkgZWFjaCBzY3JpcHQgbGlzdGVkIGluICdzZWxmLnNjcmlwdHMnOyBpZiBpdCdzIG1hcmtlZCBhcyBhCi0tICAgICAgICBQeXRob24gc2NyaXB0IGluIHRoZSBVbml4IHdheSAoZmlyc3QgbGluZSBtYXRjaGVzICdmaXJzdF9saW5lX3JlJywKLS0gICAgICAgIGllLiBzdGFydHMgd2l0aCAiXCMhIiBhbmQgY29udGFpbnMgInB5dGhvbiIpLCB0aGVuIGFkanVzdCB0aGUgZmlyc3QKLS0gICAgICAgIGxpbmUgdG8gcmVmZXIgdG8gdGhlIGN1cnJlbnQgUHl0aG9uIGludGVycHJldGVyIGFzIHdlIGNvcHkuCi0rICAgICAgICAiIiJDb3B5IGVhY2ggc2NyaXB0IGxpc3RlZCBpbiAnc2VsZi5zY3JpcHRzJwotICAgICAgICAgIiIiCi0gICAgICAgICBzZWxmLm1rcGF0aChzZWxmLmJ1aWxkX2RpcikKLSAgICAgICAgIG91dGZpbGVzID0gW10KLUBAIC03OCw2NCArNzUsMTAgQEAgY2xhc3MgYnVpbGRfc2NyaXB0cyhDb21tYW5kKToKLSAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuZHJ5X3J1bjoKLSAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgIGYgPSBOb25lCi0tICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgZW5jb2RpbmcsIGxpbmVzID0gdG9rZW5pemUuZGV0ZWN0X2VuY29kaW5nKGYucmVhZGxpbmUpCi0tICAgICAgICAgICAgICAgIGYuc2VlaygwKQotLSAgICAgICAgICAgICAgICBmaXJzdF9saW5lID0gZi5yZWFkbGluZSgpCi0tICAgICAgICAgICAgICAgIGlmIG5vdCBmaXJzdF9saW5lOgotLSAgICAgICAgICAgICAgICAgICAgc2VsZi53YXJuKCIlcyBpcyBhbiBlbXB0eSBmaWxlIChza2lwcGluZykiICUgc2NyaXB0KQotLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLS0KLS0gICAgICAgICAgICAgICAgbWF0Y2ggPSBmaXJzdF9saW5lX3JlLm1hdGNoKGZpcnN0X2xpbmUpCi0tICAgICAgICAgICAgICAgIGlmIG1hdGNoOgotLSAgICAgICAgICAgICAgICAgICAgYWRqdXN0ID0gVHJ1ZQotLSAgICAgICAgICAgICAgICAgICAgcG9zdF9pbnRlcnAgPSBtYXRjaC5ncm91cCgxKSBvciBiJycKLS0KLS0gICAgICAgICAgICBpZiBhZGp1c3Q6Ci0tICAgICAgICAgICAgICAgIGxvZy5pbmZvKCJjb3B5aW5nIGFuZCBhZGp1c3RpbmcgJXMgLT4gJXMiLCBzY3JpcHQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfZGlyKQotLSAgICAgICAgICAgICAgICB1cGRhdGVkX2ZpbGVzLmFwcGVuZChvdXRmaWxlKQotLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgotLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IHN5c2NvbmZpZy5weXRob25fYnVpbGQ6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZSA9IHNlbGYuZXhlY3V0YWJsZQotLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gb3MucGF0aC5qb2luKAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkJJTkRJUiIpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24lcyVzIiAlIChzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIlZFUlNJT04iKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJFWEUiKSkpCi0tICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gb3MuZnNlbmNvZGUoZXhlY3V0YWJsZSkKLS0gICAgICAgICAgICAgICAgICAgIHNoZWJhbmcgPSBiIiMhIiArIGV4ZWN1dGFibGUgKyBwb3N0X2ludGVycCArIGIiXG4iCi0tICAgICAgICAgICAgICAgICAgICAjIFB5dGhvbiBwYXJzZXIgc3RhcnRzIHRvIHJlYWQgYSBzY3JpcHQgdXNpbmcgVVRGLTggdW50aWwKLS0gICAgICAgICAgICAgICAgICAgICMgaXQgZ2V0cyBhICNjb2Rpbmc6eHh4IGNvb2tpZS4gVGhlIHNoZWJhbmcgaGFzIHRvIGJlIHRoZQotLSAgICAgICAgICAgICAgICAgICAgIyBmaXJzdCBsaW5lIG9mIGEgZmlsZSwgdGhlICNjb2Rpbmc6eHh4IGNvb2tpZSBjYW5ub3QgYmUKLS0gICAgICAgICAgICAgICAgICAgICMgd3JpdHRlbiBiZWZvcmUuIFNvIHRoZSBzaGViYW5nIGhhcyB0byBiZSBkZWNvZGFibGUgZnJvbQotLSAgICAgICAgICAgICAgICAgICAgIyBVVEYtOC4KLS0gICAgICAgICAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAgICAgICAgICAgICAgICBzaGViYW5nLmRlY29kZSgndXRmLTgnKQotLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKLS0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIHNoZWJhbmcgKHshcn0pIGlzIG5vdCBkZWNvZGFibGUgIgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSB1dGYtOCIuZm9ybWF0KHNoZWJhbmcpKQotLSAgICAgICAgICAgICAgICAgICAgIyBJZiB0aGUgc2NyaXB0IGlzIGVuY29kZWQgdG8gYSBjdXN0b20gZW5jb2RpbmcgKHVzZSBhCi0tICAgICAgICAgICAgICAgICAgICAjICNjb2Rpbmc6eHh4IGNvb2tpZSksIHRoZSBzaGViYW5nIGhhcyB0byBiZSBkZWNvZGFibGUgZnJvbQotLSAgICAgICAgICAgICAgICAgICAgIyB0aGUgc2NyaXB0IGVuY29kaW5nIHRvby4KLS0gICAgICAgICAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAgICAgICAgICAgICAgICBzaGViYW5nLmRlY29kZShlbmNvZGluZykKLS0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBzaGViYW5nICh7IXJ9KSBpcyBub3QgZGVjb2RhYmxlICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20gdGhlIHNjcmlwdCBlbmNvZGluZyAoe30pIgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHNoZWJhbmcsIGVuY29kaW5nKSkKLS0gICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihvdXRmaWxlLCAid2IiKSBhcyBvdXRmOgotLSAgICAgICAgICAgICAgICAgICAgICAgIG91dGYud3JpdGUoc2hlYmFuZykKLS0gICAgICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlbGluZXMoZi5yZWFkbGluZXMoKSkKLS0gICAgICAgICAgICAgICAgaWYgZjoKLS0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGlmIGY6Ci0rICAgICAgICAgICAgaWYgZjoKLSAgICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotLSAgICAgICAgICAgICAgICB1cGRhdGVkX2ZpbGVzLmFwcGVuZChvdXRmaWxlKQotLSAgICAgICAgICAgICAgICBzZWxmLmNvcHlfZmlsZShzY3JpcHQsIG91dGZpbGUpCi0rICAgICAgICAgICAgdXBkYXRlZF9maWxlcy5hcHBlbmQob3V0ZmlsZSkKLSsgICAgICAgICAgICBzZWxmLmNvcHlfZmlsZShzY3JpcHQsIG91dGZpbGUpCi0gCi0gICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6Ci0gICAgICAgICAgICAgZm9yIGZpbGUgaW4gb3V0ZmlsZXM6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2gKaW5kZXggYzUzZWMwYy4uZGNjMDkzMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTItZGlzdHV0aWxzLXByZWZpeC1pcy1pbnNpZGUtc3RhZ2luZy1hcmVhLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEyLWRpc3R1dGlscy1wcmVmaXgtaXMtaW5zaWRlLXN0YWdpbmctYXJlYS5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gNzYzMGFiMjI1Nzg3NDZkM2Q3OTBkMDU5OGMwZDI3OWNmN2FmZWQ5NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTM5Nzk3OWVlNDQ1ZmY2ODI2YWE1NDY5NTExZTAwMzUzOWY3N2JiMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUdWUsIDE0IE1heSAyMDEzIDE1OjAwOjI2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEvMjBdIHB5dGhvbjM6IEFkZCB0YXJnZXQgYW5kIG5hdGl2ZSByZWNpcGVzCitTdWJqZWN0OiBbUEFUQ0hdIHB5dGhvbjM6IEFkZCB0YXJnZXQgYW5kIG5hdGl2ZSByZWNpcGVzCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCiAKQEAgLTE4LDcgKzE4LDcgQEAKICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkgYi9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQotaW5kZXggNTczNzI0ZC4uMzkwYzQ4NSAxMDA2NDQKK2luZGV4IDZiOGMxMjkuLjNjYTdmNzkgMTAwNjQ0CiAtLS0gYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weQogKysrIGIvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKIEBAIC04NCw3ICs4NCw5IEBAIGRlZiBnZXRfcHl0aG9uX2luYyhwbGF0X3NwZWNpZmljPTAsIHByZWZpeD1Ob25lKToKQEAgLTMyLDcgKzMyLDcgQEAKICAgICAgICAgIHByZWZpeCA9IHBsYXRfc3BlY2lmaWMgYW5kIEJBU0VfRVhFQ19QUkVGSVggb3IgQkFTRV9QUkVGSVgKICAgICAgaWYgb3MubmFtZSA9PSAicG9zaXgiOgogICAgICAgICAgaWYgcHl0aG9uX2J1aWxkOgotQEAgLTEyNSw2ICsxMjcsMTAgQEAgZGVmIGdldF9weXRob25fbGliKHBsYXRfc3BlY2lmaWM9MCwgc3RhbmRhcmRfbGliPTAsIHByZWZpeD1Ob25lKToKK0BAIC0xMjIsNiArMTI0LDEwIEBAIGRlZiBnZXRfcHl0aG9uX2xpYihwbGF0X3NwZWNpZmljPTAsIHN0YW5kYXJkX2xpYj0wLCBwcmVmaXg9Tm9uZSk6CiAgICAgIElmICdwcmVmaXgnIGlzIHN1cHBsaWVkLCB1c2UgaXQgaW5zdGVhZCBvZiBzeXMuYmFzZV9wcmVmaXggb3IKICAgICAgc3lzLmJhc2VfZXhlY19wcmVmaXggLS0gaS5lLiwgaWdub3JlICdwbGF0X3NwZWNpZmljJy4KICAgICAgIiIiCkBAIC00Myw3ICs0Myw3IEBACiAgICAgIGlmIHByZWZpeCBpcyBOb25lOgogICAgICAgICAgaWYgc3RhbmRhcmRfbGliOgogICAgICAgICAgICAgIHByZWZpeCA9IHBsYXRfc3BlY2lmaWMgYW5kIEJBU0VfRVhFQ19QUkVGSVggb3IgQkFTRV9QUkVGSVgKLUBAIC0xMzMsNyArMTM5LDcgQEAgZGVmIGdldF9weXRob25fbGliKHBsYXRfc3BlY2lmaWM9MCwgc3RhbmRhcmRfbGliPTAsIHByZWZpeD1Ob25lKToKK0BAIC0xMzAsNyArMTM2LDcgQEAgZGVmIGdldF9weXRob25fbGliKHBsYXRfc3BlY2lmaWM9MCwgc3RhbmRhcmRfbGliPTAsIHByZWZpeD1Ob25lKToKICAKICAgICAgaWYgb3MubmFtZSA9PSAicG9zaXgiOgogICAgICAgICAgbGlicHl0aG9uID0gb3MucGF0aC5qb2luKHByZWZpeCwKQEAgLTUyLDYgKzUyLDMgQEAKICAgICAgICAgIGlmIHN0YW5kYXJkX2xpYjoKICAgICAgICAgICAgICByZXR1cm4gbGlicHl0aG9uCiAgICAgICAgICBlbHNlOgotLS0gCi0yLjguMC5yYzMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTMwLXJlYWRsaW5lLXNldHVwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTMwLXJlYWRsaW5lLXNldHVwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODA1NjUyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLXBhY2thZ2UgcHl0aG9uLXJlYWRsaW5lCi0KLS1LaGVtCi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbRW1iZWRkZWQgU3BlY2lmaWNdCi0KLS0tLSBhL3NldHVwLnB5Ci0rKysgYi9zZXR1cC5weQotQEAgLTY2Niw0NSArNjY2LDcgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyByZWFkbGluZQotICAgICAgICAgZG9fcmVhZGxpbmUgPSBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAncmVhZGxpbmUnKQotICAgICAgICAgcmVhZGxpbmVfdGVybWNhcF9saWJyYXJ5ID0gIiIKLS0gICAgICAgIGN1cnNlc19saWJyYXJ5ID0gIiIKLS0gICAgICAgICMgQ2Fubm90IHVzZSBvcy5wb3BlbiBoZXJlIGluIHB5M2suCi0tICAgICAgICB0bXBmaWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfdGVtcCwgJ3JlYWRsaW5lX3Rlcm1jYXBfbGliJykKLS0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzZWxmLmJ1aWxkX3RlbXApOgotLSAgICAgICAgICAgIG9zLm1ha2VkaXJzKHNlbGYuYnVpbGRfdGVtcCkKLS0gICAgICAgICMgRGV0ZXJtaW5lIGlmIHJlYWRsaW5lIGlzIGFscmVhZHkgbGlua2VkIGFnYWluc3QgY3Vyc2VzIG9yIHRpbmZvLgotLSAgICAgICAgaWYgZG9fcmVhZGxpbmU6Ci0tICAgICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotLSAgICAgICAgICAgICAgICByZXQgPSBvcy5zeXN0ZW0oIiVzIC1kICVzIHwgZ3JlcCAnKE5FRURFRCknID4gJXMiIFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUkVBREVMRicpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9fcmVhZGxpbmUsIHRtcGZpbGUpKQotLSAgICAgICAgICAgIGVsaWYgZmluZF9leGVjdXRhYmxlKCdsZGQnKToKLS0gICAgICAgICAgICAgICAgcmV0ID0gb3Muc3lzdGVtKCJsZGQgJXMgPiAlcyIgJSAoZG9fcmVhZGxpbmUsIHRtcGZpbGUpKQotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIHJldCA9IDI1NgotLSAgICAgICAgICAgIGlmIHJldCA+PiA4ID09IDA6Ci0tICAgICAgICAgICAgICAgIHdpdGggb3Blbih0bXBmaWxlKSBhcyBmcDoKLS0gICAgICAgICAgICAgICAgICAgIGZvciBsbiBpbiBmcDoKLS0gICAgICAgICAgICAgICAgICAgICAgICBpZiAnY3Vyc2VzJyBpbiBsbjoKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGxpbmVfdGVybWNhcF9saWJyYXJ5ID0gcmUuc3ViKAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcicuKmxpYihuP2N1cnNlc3c/KVwuc28uKicsIHInXDEnLCBsbgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnJzdHJpcCgpCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0tICAgICAgICAgICAgICAgICAgICAgICAgIyB0ZXJtY2FwIGludGVyZmFjZSBzcGxpdCBvdXQgZnJvbSBuY3Vyc2VzCi0tICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ3RpbmZvJyBpbiBsbjoKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGxpbmVfdGVybWNhcF9saWJyYXJ5ID0gJ3RpbmZvJwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawotLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHRtcGZpbGUpOgotLSAgICAgICAgICAgICAgICBvcy51bmxpbmsodG1wZmlsZSkKLS0gICAgICAgICMgSXNzdWUgNzM4NDogSWYgcmVhZGxpbmUgaXMgYWxyZWFkeSBsaW5rZWQgYWdhaW5zdCBjdXJzZXMsCi0tICAgICAgICAjIHVzZSB0aGUgc2FtZSBsaWJyYXJ5IGZvciB0aGUgcmVhZGxpbmUgYW5kIGN1cnNlcyBtb2R1bGVzLgotLSAgICAgICAgaWYgJ2N1cnNlcycgaW4gcmVhZGxpbmVfdGVybWNhcF9saWJyYXJ5OgotLSAgICAgICAgICAgIGN1cnNlc19saWJyYXJ5ID0gcmVhZGxpbmVfdGVybWNhcF9saWJyYXJ5Ci0tICAgICAgICBlbGlmIHNlbGYuY29tcGlsZXIuZmluZF9saWJyYXJ5X2ZpbGUobGliX2RpcnMsICduY3Vyc2VzdycpOgotLSAgICAgICAgICAgIGN1cnNlc19saWJyYXJ5ID0gJ25jdXJzZXN3JwotLSAgICAgICAgZWxpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnbmN1cnNlcycpOgotLSAgICAgICAgICAgIGN1cnNlc19saWJyYXJ5ID0gJ25jdXJzZXMnCi0tICAgICAgICBlbGlmIHNlbGYuY29tcGlsZXIuZmluZF9saWJyYXJ5X2ZpbGUobGliX2RpcnMsICdjdXJzZXMnKToKLS0gICAgICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICdjdXJzZXMnCi0rICAgICAgICBjdXJzZXNfbGlicmFyeSA9ICJuY3Vyc2VzIgotIAotICAgICAgICAgaWYgaG9zdF9wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLSAgICAgICAgICAgICBvc19yZWxlYXNlID0gaW50KG9zLnVuYW1lKClbMl0uc3BsaXQoJy4nKVswXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLzE1MC1maXgtc2V0dXB0ZXJtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ZDdjNzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1GaXggd2FybmluZyB3aXRoIG5ld2VyIGNvbXBpbGVyCi0KLS1LaGVtCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gYS9Nb2R1bGVzL19jdXJzZXNtb2R1bGUuYwotKysrIGIvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKLUBAIC0xMTYsNyArMTE2LDcgQEAgY2hhciAqUHlDdXJzZXNWZXJzaW9uID0gIjIuMiI7Ci0gICAgICNkZWZpbmVzIG1hbnkgY29tbW9uIHN5bWJvbHMgKHN1Y2ggYXMgImxpbmVzIikgd2hpY2ggYnJlYWtzIHRoZQotICAgICBjdXJzZXMgbW9kdWxlIGluIG90aGVyIHdheXMuICBTbyB0aGUgY29kZSB3aWxsIGp1c3Qgc3BlY2lmeQotICAgICBleHBsaWNpdCBwcm90b3R5cGVzIGhlcmUuICovCi0tZXh0ZXJuIGludCBzZXR1cHRlcm0oY2hhciAqLGludCxpbnQgKik7Ci0rLy9leHRlcm4gaW50IHNldHVwdGVybShjaGFyICosaW50LGludCAqKTsKLSAjaWZkZWYgX19zZ2kKLSAjaW5jbHVkZSA8dGVybS5oPgotICNlbmRpZgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvVXNlLWNvcnJlY3QtQ0ZMQUdTLWZvci1leHRlbnNpb25zLXdoZW4tY3Jvc3MtY29tcGlsaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNzRlZjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvVXNlLWNvcnJlY3QtQ0ZMQUdTLWZvci1leHRlbnNpb25zLXdoZW4tY3Jvc3MtY29tcGlsaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLUZyb20gN2ZkMTIxYmI3ZDZjMjVjMmUwYTFjMzFjZjc2ZmI5YmQ0YTk3OTRkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmt1cyBMZWh0b25lbiA8bWFya3VzLmxlaHRvbmVuQGxpbnV4LmludGVsLmNvbT4KLURhdGU6IFR1ZSwgMTQgQXVnIDIwMTggMTQ6MTE6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIFVzZSBjb3JyZWN0IENGTEFHUyBmb3IgZXh0ZW5zaW9ucyB3aGVuIGNyb3NzLWNvbXBpbGluZwotCi1UYWtlIFBZX0NGTEFHU19OT0RJU1QgaW50byBhY2NvdW50LCBsaWtlIGluIG5hdGl2ZSBidWlsZC4gVGhpcyBpcyBuZWVkZWQKLWluIG9yZGVyIHRvIHRvIHByb2ZpbGUtb3B0aW1pemVkIGJ1aWxkLiBBbHNvLCBwYXNzIEVYVFJBX0NGTEFHUyB0bwotcHJvZmlsZS1vcHRpbWl6ZWQgYnVpbGQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrdXMgTGVodG9uZW4gPG1hcmt1cy5sZWh0b25lbkBsaW51eC5pbnRlbC5jb20+Ci0tLS0KLSBNYWtlZmlsZS5wcmUuaW4gfCA0ICsrLS0KLSBzZXR1cC5weSAgICAgICAgfCAzICsrLQotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCi1pbmRleCBlMmQ1ZDNkLi44NGJjM2ZmIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUucHJlLmluCi0rKysgYi9NYWtlZmlsZS5wcmUuaW4KLUBAIC00NzgsNyArNDc4LDcgQEAgcHJvZmlsZS1vcHQ6Ci0gCSQoTUFLRSkgcHJvZmlsZS1yZW1vdmFsCi0gCi0gYnVpbGRfYWxsX2dlbmVyYXRlX3Byb2ZpbGU6Ci0tCSQoTUFLRSkgQERFRl9NQUtFX1JVTEVAIENGTEFHU19OT0RJU1Q9IiQoQ0ZMQUdTKSAkKFBHT19QUk9GX0dFTl9GTEFHKSBATFRPRkxBR1NAIiBMREZMQUdTPSIkKExERkxBR1MpICQoUEdPX1BST0ZfR0VOX0ZMQUcpIEBMVE9GTEFHU0AiIExJQlM9IiQoTElCUykiCi0rCSQoTUFLRSkgQERFRl9NQUtFX1JVTEVAIENGTEFHU19OT0RJU1Q9IiQoQ0ZMQUdTKSAkKEVYVFJBX0NGTEFHUykgJChQR09fUFJPRl9HRU5fRkxBRykgQExUT0ZMQUdTQCIgTERGTEFHUz0iJChMREZMQUdTKSAkKFBHT19QUk9GX0dFTl9GTEFHKSBATFRPRkxBR1NAIiBMSUJTPSIkKExJQlMpIgotIAotIHJ1bl9wcm9maWxlX3Rhc2s6Ci0gCTogIyBGSVhNRTogY2FuJ3QgcnVuIGZvciBhIGNyb3NzIGJ1aWxkCi1AQCAtNDg4LDcgKzQ4OCw3IEBAIGJ1aWxkX2FsbF9tZXJnZV9wcm9maWxlOgotIAkkKExMVk1fUFJPRl9NRVJHRVIpCi0gCi0gYnVpbGRfYWxsX3VzZV9wcm9maWxlOgotLQkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChQR09fUFJPRl9VU0VfRkxBRykgQExUT0ZMQUdTQCIgTERGTEFHUz0iJChMREZMQUdTKSBATFRPRkxBR1NAIgotKwkkKE1BS0UpIEBERUZfTUFLRV9SVUxFQCBDRkxBR1NfTk9ESVNUPSIkKENGTEFHUykgJChFWFRSQV9DRkxBR1MpICQoUEdPX1BST0ZfVVNFX0ZMQUcpIEBMVE9GTEFHU0AiIExERkxBR1M9IiQoTERGTEFHUykgQExUT0ZMQUdTQCIKLSAKLSAjIENvbXBpbGUgYW5kIHJ1biB3aXRoIGdjb3YKLSAuUEhPTlk9Y292ZXJhZ2UgY292ZXJhZ2UtbGNvdiBjb3ZlcmFnZS1yZXBvcnQKLWRpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5Ci1pbmRleCBhZGQzMzQ2Li42NWU4M2IxIDEwMDY0NAotLS0tIGEvc2V0dXAucHkKLSsrKyBiL3NldHVwLnB5Ci1AQCAtMjYzLDcgKzI2Myw4IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICMgY29tcGlsZXJzCi0gICAgICAgICBpZiBjb21waWxlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0tICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gKG9zLmVudmlyb24uZ2V0KCdDQ1NIQVJFRCcpIG9yICcnLCBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJykgb3IgJycpCi0rICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gKG9zLmVudmlyb24uZ2V0KCdDQ1NIQVJFRCcpIG9yICcnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpIG9yICcnKSArICcgJyArIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUFlfQ0ZMQUdTX05PRElTVCcpKQotICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygnQ0NTSEFSRUQnLCdDRkxBR1MnKQotICAgICAgICAgICAgIGFyZ3NbJ2NvbXBpbGVyX3NvJ10gPSBjb21waWxlciArICcgJyArIGNjc2hhcmVkICsgJyAnICsgY2ZsYWdzCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9hdm9pZC1uY3Vyc2Vzdy1pbmNsdWRlLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9hdm9pZC1uY3Vyc2Vzdy1pbmNsdWRlLXBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOWFlNTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVdlIHNob3VsZCBtYWtlIHN1cmUgdGhhdCBzeXNyb290IGlzIHVzZWQgYnkgZ2NjIGluc3RlYWQgb2YgYXNzdW1pbmcKLWhhcmRjb2RlZCBsb2NhdGlvbnMgZm9yIGluY2x1ZGUgcGF0aHMKLQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1JbmRleDogUHl0aG9uLTMuNC4yL2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjQuMi5vcmlnL2NvbmZpZ3VyZS5hYwotKysrIFB5dGhvbi0zLjQuMi9jb25maWd1cmUuYWMKLUBAIC00NDM0LDcgKzQ0MzQsNyBAQCBmaQotIAotICMgZmlyc3QgY3Vyc2VzIGhlYWRlciBjaGVjawotIGFjX3NhdmVfY3BwZmxhZ3M9IiRDUFBGTEFHUyIKLS1DUFBGTEFHUz0iJENQUEZMQUdTIC1JL3Vzci9pbmNsdWRlL25jdXJzZXN3IgotK0NQUEZMQUdTPSIkQ1BQRkxBR1MgLUk9L3Vzci9pbmNsdWRlL25jdXJzZXN3IgotIAotIEFDX0NIRUNLX0hFQURFUlMoY3Vyc2VzLmggbmN1cnNlcy5oKQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoCmluZGV4IGEzY2M0OGMuLjI0ZTY3YjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gKQEAgLTEsMTcgKzEsMjQgQEAKLV90a2ludGVyIG1vZHVsZSBuZWVkcyB0ayBtb2R1bGUgYWxvbmcgd2l0aCB0Y2wuIHRrIGlzIG5vdCB5ZXQgaW50ZWdyYXRlZAotaW4geW9jdG8gc28gd2Ugc2tpcCB0aGUgY2hlY2sgZm9yIHRoaXMgbW9kdWxlLgotQXZvaWQgYSB3YXJuaW5nIGJ5IG5vdCBhZGRpbmcgdGhpcyBtb2R1bGUgdG8gbWlzc2luZyB2YXJpYWJsZS4KK0Zyb20gZmVhZDQ4YzhiNTAxYThkN2MzZGIyMWRmMmU1OTlmOTBmMzhmMTFkMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlaSBHaGVyemFuIDxhbmRyZWlAZ2hlcnphbi5ybz4KK0RhdGU6IE1vbiwgMjggSmFuIDIwMTkgMTU6NTc6NTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gX3RraW50ZXIgbW9kdWxlIG5lZWRzIHRrIG1vZHVsZSBhbG9uZyB3aXRoIHRjbC4gdGsgaXMgbm90IHlldAorIGludGVncmF0ZWQgaW4geW9jdG8gc28gd2Ugc2tpcCB0aGUgY2hlY2sgZm9yIHRoaXMgbW9kdWxlLiBBdm9pZCBhIHdhcm5pbmcgYnkKKyBub3QgYWRkaW5nIHRoaXMgbW9kdWxlIHRvIG1pc3NpbmcgdmFyaWFibGUuCiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZGlzdHJpYnV0aW9uXQogCiBBbHNvIHNpbXBseSBkaXNhYmxlIHRoZSB0ayBtb2R1bGUgc2luY2UgaXRzIG5vdCBpbiBERVBFTkRTLgogU2lnbmVkLW9mZi1ieTogQW5kcmVpIEdoZXJ6YW4gPGFuZHJlaUBnaGVyemFuLnJvPgogCi1JbmRleDogUHl0aG9uLTMuNS4zL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS4zLm9yaWcvc2V0dXAucHkKLSsrKyBQeXRob24tMy41LjMvc2V0dXAucHkKLUBAIC0xNTU4LDEwICsxNTU4LDEyIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKKy0tLQorIHNldHVwLnB5IHwgOCArKysrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCBmYmVjMDBkLi5iN2EzNmE2IDEwMDY0NAorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtMTYyMywxMCArMTYyMywxMiBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6CiAgICAgICAgICBzZWxmLmV4dGVuc2lvbnMuZXh0ZW5kKGV4dHMpCiAgCiAgICAgICAgICAjIENhbGwgdGhlIG1ldGhvZCBmb3IgZGV0ZWN0aW5nIHdoZXRoZXIgX3RraW50ZXIgY2FuIGJlIGNvbXBpbGVkCkBAIC0yNSw1ICszMiw1IEBACiArICAgICAgICAjaWYgJ190a2ludGVyJyBub3QgaW4gW2UubmFtZSBmb3IgZSBpbiBzZWxmLmV4dGVuc2lvbnNdOgogKyAgICAgICAgIyAgICBtaXNzaW5nLmFwcGVuZCgnX3RraW50ZXInKQogIAotICMjICAgICAgICAgIyBVbmNvbW1lbnQgdGhlc2UgbGluZXMgaWYgeW91IHdhbnQgdG8gcGxheSB3aXRoIHh4bW9kdWxlLmMKLSAjIyAgICAgICAgIGV4dCA9IEV4dGVuc2lvbigneHgnLCBbJ3h4bW9kdWxlLmMnXSkKKyAgICAgICAgICMgQnVpbGQgdGhlIF91dWlkIG1vZHVsZSBpZiBwb3NzaWJsZQorICAgICAgICAgdXVpZF9pbmNzID0gZmluZF9maWxlKCJ1dWlkLmgiLCBpbmNfZGlycywgWyIvdXNyL2luY2x1ZGUvdXVpZCJdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2dpX3B5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2dpX3B5LnBhdGNoCmluZGV4IGRlNTA0ZjkuLjZjNGJhNTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NnaV9weS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jZ2lfcHkucGF0Y2gKQEAgLTEsMTEgKzEsMjAgQEAKLUxpYi9jZ2kucHk6IFVwZGF0ZSB0aGUgc2NyaXB0IGFzIG1lbnRpb25lZCBpbiB0aGUgY29tbWVudAorRnJvbSA2MjMzNjI4NWNiYTM4MDE3YjM1Y2I3NjFjMDNmMGM3ZTgwYTY3MWEzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBIYXRsZSA8bWFyay5oYXRsZUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAyMSBTZXAgMjAxMSAyMDo1NTozMyAtMDUwMAorU3ViamVjdDogW1BBVENIXSBMaWIvY2dpLnB5OiBVcGRhdGUgdGhlIHNjcmlwdCBhcyBtZW50aW9uZWQgaW4gdGhlIGNvbW1lbnQKIAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXN0cmlidXRpb25dCiAKIFNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KIAotLS0tIFB5dGhvbi0yLjYuNi9MaWIvY2dpLnB5Lm9yaWcJMjAxMC0wOC0wMSAyMjoxNDoyNy4wMDAwMDAwMDAgLTA1MDAKLSsrKyBQeXRob24tMi42LjYvTGliL2NnaS5weQkyMDExLTA5LTIxIDE1OjI4OjQwLjQ3ODIwODYzMSAtMDUwMAorLS0tCisgTGliL2NnaS5weSB8IDExICstLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0xpYi9jZ2kucHkgYi9MaWIvY2dpLnB5CitpbmRleCA4Y2Y2Njg3Li4wOTRjN2I0IDEwMDc1NQorLS0tIGEvTGliL2NnaS5weQorKysrIGIvTGliL2NnaS5weQogQEAgLTEsMTMgKzEsNCBAQAogLSMhIC91c3IvbG9jYWwvYmluL3B5dGhvbgogLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2hlY2tfYnVpbGRfY29tcGxldGVuZXNzLnB5IGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY2hlY2tfYnVpbGRfY29tcGxldGVuZXNzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmExZWFjZTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jaGVja19idWlsZF9jb21wbGV0ZW5lc3MucHkKQEAgLTAsMCArMSwxNyBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworaW1wb3J0IHN5cworbG9nZmlsZSA9IG9wZW4oc3lzLmFyZ3ZbMV0pLnJlYWQoKQorCituZWNlc3NhcnlfYml0cyA9IGxvZ2ZpbGUuZmluZCgiVGhlIG5lY2Vzc2FyeSBiaXRzIHRvIGJ1aWxkIHRoZXNlIG9wdGlvbmFsIG1vZHVsZXMgd2VyZSBub3QgZm91bmQiKQordG9fZmluZF9iaXRzID0gbG9nZmlsZS5maW5kKCJUbyBmaW5kIHRoZSBuZWNlc3NhcnkgYml0cywgbG9vayBpbiBzZXR1cC5weSBpbiBkZXRlY3RfbW9kdWxlcygpIGZvciB0aGUgbW9kdWxlJ3MgbmFtZS4iKQoraWYgbmVjZXNzYXJ5X2JpdHMgIT0gLTE6CisgICAgcHJpbnQoIiVzIiAlKGxvZ2ZpbGVbbmVjZXNzYXJ5X2JpdHM6dG9fZmluZF9iaXRzXSkpCisKK2ZhaWxlZF90b19idWlsZCA9IGxvZ2ZpbGUuZmluZCgiRmFpbGVkIHRvIGJ1aWxkIHRoZXNlIG1vZHVsZXM6IikKK2lmIGZhaWxlZF90b19idWlsZCAhPSAtMToKKyAgICBmYWlsZWRfdG9fYnVpbGRfZW5kID0gbG9nZmlsZS5maW5kKCJcblxuIiwgZmFpbGVkX3RvX2J1aWxkKQorICAgIHByaW50KCIlcyIgJShsb2dmaWxlW2ZhaWxlZF90b19idWlsZDpmYWlsZWRfdG9fYnVpbGRfZW5kXSkpCisKK2lmIG5lY2Vzc2FyeV9iaXRzICE9IC0xIG9yIGZhaWxlZF90b19idWlsZCAhPSAtMToKKyAgICBzeXMuZXhpdCgxKQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jb25maWd1cmUuYWMtZml4LUxJQlBMLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY29uZmlndXJlLmFjLWZpeC1MSUJQTC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcyMTRmOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jb25maWd1cmUuYWMtZml4LUxJQlBMLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotRnJvbSA3YzRmOGQ4NzQ3M2Q2MjM4YzEyMGVjNjAzMWI1OGY4M2ExN2EzOWE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDI4IERlYyAyMDE1IDIyOjUyOjA2IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogZml4IExJQlBMCi0KLVVzZSBMSUJESVIgcmF0aGVyIHRoYW4gcHJlZml4L2xpYiwgc28gdGhhdCBpdCB3b3VsZCB3b3JrIHdoZW4gbGliNjQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNjNhZWY4ZS4uYWVmYjI3ZiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDM2Niw3ICs0MzY2LDcgQEAgQUNfTVNHX1JFU1VMVCgkTERWRVJTSU9OKQotIAotIGRubCBkZWZpbmUgTElCUEwgYWZ0ZXIgQUJJRkxBR1MgYW5kIExEVkVSU0lPTiBpcyBkZWZpbmVkLgotIEFDX1NVQlNUKFBZX0VOQUJMRV9TSEFSRUQpCi0tTElCUEw9JyQocHJlZml4KSciL2xpYi9weXRob24ke1ZFUlNJT059L2NvbmZpZy0ke0xEVkVSU0lPTn0iCi0rTElCUEw9JyQoTElCRElSKSciL3B5dGhvbiR7VkVSU0lPTn0vY29uZmlnLSR7TERWRVJTSU9OfSIKLSBBQ19TVUJTVChMSUJQTCkKLSAKLSAjIENoZWNrIHdoZXRoZXIgcmlnaHQgc2hpZnRpbmcgYSBuZWdhdGl2ZSBpbnRlZ2VyIGV4dGVuZHMgdGhlIHNpZ24gYml0Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY3JlYXRlX21hbmlmZXN0My5weSBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2NyZWF0ZV9tYW5pZmVzdDMucHkKaW5kZXggZmRkYjIzYy4uNGRhMDJhMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvY3JlYXRlX21hbmlmZXN0My5weQorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9jcmVhdGVfbWFuaWZlc3QzLnB5CkBAIC0yMiw3ICsyMiw3IEBACiAjCiAjCiAjIFRoaXMgd2F5IHdlIHdpbGwgY3JlYXRlIGEgbmV3IG1hbmlmZXN0IGZyb20gdGhlIGRhdGEgc3RydWN0dXJlIHRoYXQgd2FzIGJ1aWx0IGR1cmluZwotIyB0aGlzIHByb2Nlc3MsIG9udCB0aGlzIG5ldyBtYW5pZmVzdCBlYWNoIHBhY2thZ2Ugd2lsbCBjb250YWluIHNwZWNpZmljYWxseSBvbmx5CisjIHRoaXMgcHJvY2Vzcywgb24gdGhpcyBuZXcgbWFuaWZlc3QgZWFjaCBwYWNrYWdlIHdpbGwgY29udGFpbiBzcGVjaWZpY2FsbHkgb25seQogIyB3aGF0IGl0IG5lZWRzIHRvIHJ1bi4KICMKICMgVGhlcmUgYXJlIHNvbWUgY2F2ZWF0cyB3aGljaCB3ZSB0cnkgdG8gZGVhbCB3aXRoLCBzdWNoIGFzIHJlcGVhdGVkIGZpbGVzIG9uIGRpZmZlcmVudApAQCAtMzYsNyArMzYsNyBAQAogIyBUaGEgbWV0aG9kIHRvIGhhbmRsZSBjYWNoZWQgZmlsZXMgZG9lcyBub3Qgd29yayB3aGVuIGEgbW9kdWxlIGluY2x1ZGVzIGEgZm9sZGVyIHdoaWNoCiAjIGl0c2VsZiBjb250YWlucyB0aGUgcHljYWNoZSBmb2xkZXIsIGdsYWRseSB0aGlzIGlzIGFsbW9zdCBuZXZlciB0aGUgY2FzZS4KICMKLSMgQXV0aG9yOiBBbGVqYW5kcm8gRW5lZGlubyBIZXJuYW5kZXogU2FtYW5pZWdvICJhZWhzMjkiIDxhZWhzMjlAZ21haWwuY29tPgorIyBBdXRob3I6IEFsZWphbmRybyBFbmVkaW5vIEhlcm5hbmRleiBTYW1hbmllZ28gImFlaHMyOSIgPGFlaHMyOSBhdCBnbWFpbCBkb3QgY29tPgogCiAKIGltcG9ydCBzeXMKQEAgLTc4LDkgKzc4LDIxIEBACiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuIEZhbHNlCiAKK2RlZiBwcmVwZW5kX2NvbW1lbnRzKGNvbW1lbnRzLCBqc29uX21hbmlmZXN0KToKKyAgICB3aXRoIG9wZW4oanNvbl9tYW5pZmVzdCwgJ3IrJykgYXMgbWFuaWZlc3Q6CisgICAgICAgIGpzb25fY29udGVudHMgPSBtYW5pZmVzdC5yZWFkKCkKKyAgICAgICAgbWFuaWZlc3Quc2VlaygwLCAwKQorICAgICAgICBtYW5pZmVzdC53cml0ZShjb21tZW50cyArIGpzb25fY29udGVudHMpCisKICMgUmVhZCBleGlzdGluZyBKU09OIG1hbmlmZXN0CiB3aXRoIG9wZW4oJ3B5dGhvbjMtbWFuaWZlc3QuanNvbicpIGFzIG1hbmlmZXN0OgotICAgIG9sZF9tYW5pZmVzdCA9IGpzb24ubG9hZChtYW5pZmVzdCwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCisgICAgIyBUaGUgSlNPTiBmb3JtYXQgZG9lc24ndCBhbGxvdyBjb21tZW50cyBzbyB3ZSBoYWNrIHRoZSBjYWxsIHRvIGtlZXAgdGhlIGNvbW1lbnRzIHVzaW5nIGEgbWFya2VyCisgICAgbWFuaWZlc3Rfc3RyID0gIG1hbmlmZXN0LnJlYWQoKQorICAgIGpzb25fc3RhcnQgPSBtYW5pZmVzdF9zdHIuZmluZCgnIyBFT0MnKSArIDYgIyBFT0MgKyBcbgorICAgIG1hbmlmZXN0LnNlZWsoMCkKKyAgICBjb21tZW50cyA9IG1hbmlmZXN0LnJlYWQoanNvbl9zdGFydCkKKyAgICBtYW5pZmVzdF9zdHIgPSBtYW5pZmVzdC5yZWFkKCkKKyAgICBvbGRfbWFuaWZlc3QgPSBqc29uLmxvYWRzKG1hbmlmZXN0X3N0ciwgb2JqZWN0X3BhaXJzX2hvb2s9Y29sbGVjdGlvbnMuT3JkZXJlZERpY3QpCiAKICMKICMgRmlyc3QgcGFzcyB0byBnZXQgY29yZS1wYWNrYWdlIGZ1bmN0aW9uYWxpdHksIGJlY2F1c2Ugd2UgYmFzZSBldmVyeXRoaW5nIG9uIHRoZSBmYWN0IHRoYXQgY29yZSBpcyBhY3R1YWxseSB3b3JraW5nCkBAIC0yOTgsNyArMzEwLDEzIEBACiAgICAgICAgICAgICBweW1vZHVsZV9kZXAgPSBweW1vZHVsZV9kZXAucmVwbGFjZShweXZlcnNpb24sJyR7UFlUSE9OX01BSk1JTn0nKQogICAgICAgICAgICAgaW5Gb2xkZXJzID0gRmFsc2UKICAgICAgICAgICAgIGZvciBmb2xkZXIgaW4gYWxsZm9sZGVyczoKLSAgICAgICAgICAgICAgICBpZiBmb2xkZXIgaW4gcHltb2R1bGVfZGVwOgorICAgICAgICAgICAgICAgICMgVGhlIG1vZHVsZSBjb3VsZCBoYXZlIGEgZGlyZWN0b3J5IG5hbWVkIGFmdGVyIGl0LCBlLmcuIHhtbCwgaWYgd2UgdGFrZSBvdXQgdGhlIGZpbGVuYW1lIGZyb20gdGhlIHBhdGgKKyAgICAgICAgICAgICAgICAjIHdlJ2xsIGVuZCB1cCB3aXRoICR7bGliZGlyfSwgYW5kIHdlIHdhbnQgJHtsaWJkaXJ9L3htbAorICAgICAgICAgICAgICAgIGlmIGlzRm9sZGVyKHB5bW9kdWxlX2RlcCk6CisgICAgICAgICAgICAgICAgICAgIGNoZWNrX3BhdGggPSBweW1vZHVsZV9kZXAKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBjaGVja19wYXRoID0gb3MucGF0aC5kaXJuYW1lKHB5bW9kdWxlX2RlcCkKKyAgICAgICAgICAgICAgICBpZiBmb2xkZXIgaW4gY2hlY2tfcGF0aCA6CiAgICAgICAgICAgICAgICAgICAgIGluRm9sZGVycyA9IFRydWUgIyBEaWQgd2UgZmluZCBhIGZvbGRlcj8KICAgICAgICAgICAgICAgICAgICAgZm9sZGVyRm91bmQgPSBGYWxzZSAjIFNlY29uZCBmbGFnIHRvIGJyZWFrIGlubmVyIGZvcgogICAgICAgICAgICAgICAgICAgICAjIExvb3Agb25seSB0aHJvdWdoIHBhY2thZ2VzIHdoaWNoIGNvbnRhaW4gZm9sZGVycwpAQCAtNDAyLDYgKzQyMCw4IEBACiAgICAganNvbi5kdW1wKG5ld19tYW5pZmVzdCxvdXRmaWxlLCBpbmRlbnQ9NCkKICAgICBvdXRmaWxlLndyaXRlKCdcbicpCiAKK3ByZXBlbmRfY29tbWVudHMoY29tbWVudHMsJ3B5dGhvbjMtbWFuaWZlc3QuanNvbi5uZXcnKQorCiBpZiAocmVwZWF0ZWQpOgogICAgIGVycm9yX21zZyA9ICdcblxuRVJST1I6XG4nCiAgICAgZXJyb3JfbXNnICs9ICdUaGUgZm9sbG93aW5nIGZpbGVzIGFyZSByZXBlYXRlZCAoY29udGFpbmVkIGluIG1vcmUgdGhhbiBvbmUgcGFja2FnZSksXG4nCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9maXhfZm9yX3VzaW5nX2RpZmZlcmVudF9saWJkaXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9maXhfZm9yX3VzaW5nX2RpZmZlcmVudF9saWJkaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2MTA1NjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvZml4X2Zvcl91c2luZ19kaWZmZXJlbnRfbGliZGlyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtFbWJlZGRlZCBzcGVjaWZpY10KLQotVGhpcyBwYXRjaCBmaXhlcyBpc3N1aW5nIHdpdGggZGlmZmVyZW50IGxpYmRpciBsaWtlIGxpYjY0LgotVGhpcyBwYXRjaCBtYWtlcyB0aGUgbmF0aXZlIHB5dGhvbiBiaW5hcnkgbW9kdWxlcyBmaW5kYWJsZQotaW4gdGhlIGluc3RhbGwgcHJvY2VzcyBvZiB0aGUgaG9zdCBweXRob24uCi0KLVNpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+Ci1EYXRlOiAyMDEyLzAzLzE0Ci0KLVVwZGF0ZWQgZm9yIHB5dGhvbiAyLjcuMwotU2lnbmVkLW9mZi1ieTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KLURhdGU6IDIwMTIvMDUvMDEKLQotSW5kZXg6IFB5dGhvbi0zLjMuMHJjMi9MaWIvc3lzY29uZmlnLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4wcmMyLm9yaWcvTGliL3N5c2NvbmZpZy5weQkyMDEyLTA5LTIwIDIyOjUwOjExLjAwMDAwMDAwMCAtMDcwMAotKysrIFB5dGhvbi0zLjMuMHJjMi9MaWIvc3lzY29uZmlnLnB5CTIwMTItMDktMjAgMjI6NTM6MDEuNTYxMTIzMzk2IC0wNzAwCi1AQCAtMjEsOSArMjEsOSBAQAotIAotIF9JTlNUQUxMX1NDSEVNRVMgPSB7Ci0gICAgICdwb3NpeF9wcmVmaXgnOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3tpbnN0YWxsZWRfYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSsgICAgICAgICdzdGRsaWInOiAne2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAncGxhdHN0ZGxpYic6ICd7cGxhdGJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdwdXJlbGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAncGxhdGxpYic6ICd7cGxhdGJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdpbmNsdWRlJzoKLSAgICAgICAgICAgICAne2luc3RhbGxlZF9iYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fXthYmlmbGFnc30nLAotQEAgLTgzLDcgKzgzLDcgQEAKLSAgICAgJ3Bvc2l4X3VzZXInOiB7Ci0gICAgICAgICAnc3RkbGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgICdwbGF0c3RkbGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLS0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ3BsYXRsaWInOiAne3VzZXJiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICAnaW5jbHVkZSc6ICd7dXNlcmJhc2V9L2luY2x1ZGUvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgICdzY3JpcHRzJzogJ3t1c2VyYmFzZX0vYmluJywKLUluZGV4OiBQeXRob24tMy4zLjByYzIvTWFrZWZpbGUucHJlLmluCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4wcmMyLm9yaWcvTWFrZWZpbGUucHJlLmluCTIwMTItMDktMjAgMjI6NTA6MTEuMDAwMDAwMDAwIC0wNzAwCi0rKysgUHl0aG9uLTMuMy4wcmMyL01ha2VmaWxlLnByZS5pbgkyMDEyLTA5LTIwIDIyOjUwOjU0LjI0NTEyMzk5NyAtMDcwMAotQEAgLTEwODAsOSArMTA4MCw5IEBACi0gCQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL01vZHVsZXMveHhtb2R1bGUuYyBcCi0gCQkJJChERVNURElSKSQoTElCREVTVCkvZGlzdHV0aWxzL3Rlc3RzIDsgXAotIAlmaQotLQktUFlUSE9OUEFUSD0kKERFU1RESVIpJChMSUJERVNUKSAkKFJVTlNIQVJFRCkgXAotKwktUFlUSE9OUEFUSD0kKERFU1RESVIpJChMSUJERVNUKToke0NST1NTUFlUSE9OUEFUSH0gJChSVU5TSEFSRUQpIFwKLSAJCSQoUFlUSE9OX0ZPUl9CVUlMRCkgLW0gbGliMnRvMy5wZ2VuMi5kcml2ZXIgJChERVNURElSKSQoTElCREVTVCkvbGliMnRvMy9HcmFtbWFyLnR4dAotLQktUFlUSE9OUEFUSD0kKERFU1RESVIpJChMSUJERVNUKSAkKFJVTlNIQVJFRCkgXAotKwktUFlUSE9OUEFUSD0kKERFU1RESVIpJChMSUJERVNUKToke0NST1NTUFlUSE9OUEFUSH0gJChSVU5TSEFSRUQpIFwKLSAJCSQoUFlUSE9OX0ZPUl9CVUlMRCkgLW0gbGliMnRvMy5wZ2VuMi5kcml2ZXIgJChERVNURElSKSQoTElCREVTVCkvbGliMnRvMy9QYXR0ZXJuR3JhbW1hci50eHQKLSAKLSAjIENyZWF0ZSB0aGUgUExBVERJUiBzb3VyY2UgZGlyZWN0b3J5LCBpZiBvbmUgd2Fzbid0IGRpc3RyaWJ1dGVkLi4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2Zsb2F0LWVuZGlhbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2Zsb2F0LWVuZGlhbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmJhM2Y1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mbG9hdC1lbmRpYW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTIgKzAsMCBAQAotUHl0aG9uIHVzZXMgQUNfUlVOX0lGRUxTRSB0byBkZXRlcm1pbmUgdGhlIGJ5dGUgb3JkZXIgZm9yIGZsb2F0cyBhbmQgZG91YmxlcywKLWFuZCBmYWxscyBiYWNrIG9udG8gIkkgZG9uJ3Qga25vdyIgaWYgaXQgY2FuJ3QgcnVuIGNvZGUuICBUaGlzIHJlc3VsdHMgaW4KLWNyaXBwbGVkIGZsb2F0aW5nIHBvaW50IG51bWJlcnMgaW4gUHl0aG9uLCBhbmQgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgZmFpbC4KLQotSW5zdGVhZCBvZiBydW5uaW5nIGNvZGUsIHRha2UgYSBtYWNybyBmcm9tIGF1dG9jb25mLWFyY2hpdmUgd2hpY2ggY29tcGlsZXMgQwotd2l0aCBhIHNwZWNpYWwgZG91YmxlIGluIHdoaWNoIGhhcyBhbiBBU0NJSSByZXByZXNlbnRhdGlvbiwgYW5kIHRoZW4gZ3JlcHMgdGhlCi1iaW5hcnkgdG8gaWRlbnRpZnkgdGhlIGZvcm1hdC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vYnVncy5weXRob24ub3JnL2lzc3VlMzQ1ODVdCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDUwZGYyYTRjM2E2NWVkMDYzMjJiZTdjMjZkNDJiMDZjZTgxNzMwYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogV2VkLCA1IFNlcCAyMDE4IDExOjQ1OjUyICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIERvbid0IGRvIHJ1bnRpbWUgdGVzdCB0byBnZXQgZmxvYXQgYnl0ZSBvcmRlcgotCi0tLS0KLSBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICB8IDc0ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQgfCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYzliNzU1ZjBmNC4uMTIxNTk2OTg3MSAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtOSw2ICs5LDggQEAgQUNfUFJFUkVRKDIuNjUpCi0gCi0gQUNfSU5JVChweXRob24sIFBZVEhPTl9WRVJTSU9OLCBodHRwczovL2J1Z3MucHl0aG9uLm9yZy8pCi0gCi0rQUNfQ09ORklHX01BQ1JPX0RJUihtNCkKLSsKLSBBQ19TVUJTVChCQVNFQ1BQRkxBR1MpCi0gaWYgdGVzdCAiJHNyY2RpciIgIT0gLiAtYSAiJHNyY2RpciIgIT0gIiQocHdkKSI7IHRoZW4KLSAgICAgIyBJZiB3ZSdyZSBidWlsZGluZyBvdXQtb2YtdHJlZSwgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIGZvbGxvd2luZwotQEAgLTQxMjgsNzcgKzQxMzAsMTkgQEAgZmkKLSAjICogQ2hlY2sgZm9yIHZhcmlvdXMgcHJvcGVydGllcyBvZiBmbG9hdGluZyBwb2ludCAqCi0gIyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotIAotLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgbGl0dGxlLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKLS1BQ19DQUNIRV9WQUwoYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUsIFsKLS1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwotLSNpbmNsdWRlIDxzdHJpbmcuaD4KLS1pbnQgbWFpbigpIHsKLS0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7Ci0tICAgIGlmIChtZW1jbXAoJngsICJceDA1XHgwNFx4MDNceDAyXHgwMVx4ZmZceDNmXHg0MyIsIDgpID09IDApCi0tICAgICAgICByZXR1cm4gMDsKLS0gICAgZWxzZQotLSAgICAgICAgcmV0dXJuIDE7Ci0tfQotLV1dKV0sCi0tW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPXllc10sCi0tW2FjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlPW5vXSwKLS1bYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGU9bm9dKV0pCi0tQUNfTVNHX1JFU1VMVCgkYWNfY3ZfbGl0dGxlX2VuZGlhbl9kb3VibGUpCi0taWYgdGVzdCAiJGFjX2N2X2xpdHRsZV9lbmRpYW5fZG91YmxlIiA9IHllcwotLXRoZW4KLS0gIEFDX0RFRklORShET1VCTEVfSVNfTElUVExFX0VORElBTl9JRUVFNzU0LCAxLAotLSAgW0RlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQKLS0gICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKLS1maQotLQotLUFDX01TR19DSEVDS0lORyh3aGV0aGVyIEMgZG91YmxlcyBhcmUgYmlnLWVuZGlhbiBJRUVFIDc1NCBiaW5hcnk2NCkKLS1BQ19DQUNIRV9WQUwoYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUsIFsKLS1BQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWwotLSNpbmNsdWRlIDxzdHJpbmcuaD4KLS1pbnQgbWFpbigpIHsKLS0gICAgZG91YmxlIHggPSA5MDA2MTA0MDcxODMyNTgxLjA7Ci0tICAgIGlmIChtZW1jbXAoJngsICJceDQzXHgzZlx4ZmZceDAxXHgwMlx4MDNceDA0XHgwNSIsIDgpID09IDApCi0tICAgICAgICByZXR1cm4gMDsKLS0gICAgZWxzZQotLSAgICAgICAgcmV0dXJuIDE7Ci0tfQotLV1dKV0sCi0tW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPXllc10sCi0tW2FjX2N2X2JpZ19lbmRpYW5fZG91YmxlPW5vXSwKLS1bYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGU9bm9dKV0pCi0tQUNfTVNHX1JFU1VMVCgkYWNfY3ZfYmlnX2VuZGlhbl9kb3VibGUpCi0taWYgdGVzdCAiJGFjX2N2X2JpZ19lbmRpYW5fZG91YmxlIiA9IHllcwotK0FYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOCi0raWYgdGVzdCAiJGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuIiA9ICJ5ZXMiCi0gdGhlbgotICAgQUNfREVGSU5FKERPVUJMRV9JU19CSUdfRU5ESUFOX0lFRUU3NTQsIDEsCi0gICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAotICAgIHdpdGggdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdF0pCi0tZmkKLS0KLS0jIFNvbWUgQVJNIHBsYXRmb3JtcyB1c2UgYSBtaXhlZC1lbmRpYW4gcmVwcmVzZW50YXRpb24gZm9yIGRvdWJsZXMuCi0tIyBXaGlsZSBQeXRob24gZG9lc24ndCBjdXJyZW50bHkgaGF2ZSBmdWxsIHN1cHBvcnQgZm9yIHRoZXNlIHBsYXRmb3JtcwotLSMgKHNlZSBlLmcuLCBpc3N1ZSAxNzYyNTYxKSwgd2UgY2FuIGF0IGxlYXN0IG1ha2Ugc3VyZSB0aGF0IGZsb2F0IDwtPiBzdHJpbmcKLS0jIGNvbnZlcnNpb25zIHdvcmsuCi0tQUNfTVNHX0NIRUNLSU5HKHdoZXRoZXIgQyBkb3VibGVzIGFyZSBBUk0gbWl4ZWQtZW5kaWFuIElFRUUgNzU0IGJpbmFyeTY0KQotLUFDX0NBQ0hFX1ZBTChhY19jdl9taXhlZF9lbmRpYW5fZG91YmxlLCBbCi0tQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLS0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0taW50IG1haW4oKSB7Ci0tICAgIGRvdWJsZSB4ID0gOTAwNjEwNDA3MTgzMjU4MS4wOwotLSAgICBpZiAobWVtY21wKCZ4LCAiXHgwMVx4ZmZceDNmXHg0M1x4MDVceDA0XHgwM1x4MDIiLCA4KSA9PSAwKQotLSAgICAgICAgcmV0dXJuIDA7Ci0tICAgIGVsc2UKLS0gICAgICAgIHJldHVybiAxOwotLX0KLS1dXSldLAotLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPXllc10sCi0tW2FjX2N2X21peGVkX2VuZGlhbl9kb3VibGU9bm9dLAotLVthY19jdl9taXhlZF9lbmRpYW5fZG91YmxlPW5vXSldKQotLUFDX01TR19SRVNVTFQoJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUpCi0taWYgdGVzdCAiJGFjX2N2X21peGVkX2VuZGlhbl9kb3VibGUiID0geWVzCi0rZWxpZiB0ZXN0ICIkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4iID0gIm5vIgotIHRoZW4KLS0gIEFDX0RFRklORShET1VCTEVfSVNfQVJNX01JWEVEX0VORElBTl9JRUVFNzU0LCAxLAotKyAgQUNfREVGSU5FKERPVUJMRV9JU19MSVRUTEVfRU5ESUFOX0lFRUU3NTQsIDEsCi0gICBbRGVmaW5lIGlmIEMgZG91YmxlcyBhcmUgNjQtYml0IElFRUUgNzU0IGJpbmFyeSBmb3JtYXQsIHN0b3JlZAotLSAgIGluIEFSTSBtaXhlZC1lbmRpYW4gb3JkZXIgKGJ5dGUgb3JkZXIgNDU2NzAxMjMpXSkKLSsgICB3aXRoIHRoZSBsZWFzdCBzaWduaWZpY2FudCBieXRlIGZpcnN0XSkKLStlbHNlCi0rICBBQ19NU0dfRVJST1IoW0Nhbm5vdCBpZGVudGlmeSBmbG9hdGluZyBwb2ludCBieXRlIG9yZGVyXSkKLSBmaQotIAotICMgVGhlIHNob3J0IGZsb2F0IHJlcHIgaW50cm9kdWNlZCBpbiBQeXRob24gMy4xIHJlcXVpcmVzIHRoZQotZGlmZiAtLWdpdCBhL200L2F4X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuLm00IGIvbTQvYXhfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4ubTQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi4yMTZiOTBkODAzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9tNC9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5tNAotQEAgLTAsMCArMSw4MyBAQAotKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyMgIGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbi5odG1sCi0rIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0rIwotKyMgU1lOT1BTSVMKLSsjCi0rIyAgIEFYX0NfRkxPQVRfV09SRFNfQklHRU5ESUFOKFtBQ1RJT04tSUYtVFJVRV0sIFtBQ1RJT04tSUYtRkFMU0VdLCBbQUNUSU9OLUlGLVVOS05PV05dKQotKyMKLSsjIERFU0NSSVBUSU9OCi0rIwotKyMgICBDaGVja3MgdGhlIG9yZGVyaW5nIG9mIHdvcmRzIHdpdGhpbiBhIG11bHRpLXdvcmQgZmxvYXQuIFRoaXMgY2hlY2sgaXMKLSsjICAgbmVjZXNzYXJ5IGJlY2F1c2Ugb24gc29tZSBzeXN0ZW1zIChlLmcuIGNlcnRhaW4gQVJNIHN5c3RlbXMpLCB0aGUgZmxvYXQKLSsjICAgd29yZCBvcmRlcmluZyBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlIGJ5dGUgb3JkZXJpbmcuIEluIGEgbXVsdGktd29yZAotKyMgICBmbG9hdCBjb250ZXh0LCAiYmlnLWVuZGlhbiIgaW1wbGllcyB0aGF0IHRoZSB3b3JkIGNvbnRhaW5pbmcgdGhlIHNpZ24KLSsjICAgYml0IGlzIGZvdW5kIGluIHRoZSBtZW1vcnkgbG9jYXRpb24gd2l0aCB0aGUgbG93ZXN0IGFkZHJlc3MuIFRoaXMKLSsjICAgaW1wbGVtZW50YXRpb24gd2FzIGluc3BpcmVkIGJ5IHRoZSBBQ19DX0JJR0VORElBTiBtYWNybyBpbiBhdXRvY29uZi4KLSsjCi0rIyAgIFRoZSBlbmRpYW5uZXNzIGlzIGRldGVjdGVkIGJ5IGZpcnN0IGNvbXBpbGluZyBDIGNvZGUgdGhhdCBjb250YWlucyBhCi0rIyAgIHNwZWNpYWwgZG91YmxlIGZsb2F0IHZhbHVlLCB0aGVuIGdyZXBwaW5nIHRoZSByZXN1bHRpbmcgb2JqZWN0IGZpbGUgZm9yCi0rIyAgIGNlcnRhaW4gc3RyaW5ncyBvZiBBU0NJSSB2YWx1ZXMuIFRoZSBkb3VibGUgaXMgc3BlY2lhbGx5IGNyYWZ0ZWQgdG8gaGF2ZQotKyMgICBhIGJpbmFyeSByZXByZXNlbnRhdGlvbiB0aGF0IGNvcnJlc3BvbmRzIHdpdGggYSBzaW1wbGUgc3RyaW5nLiBJbiB0aGlzCi0rIyAgIGltcGxlbWVudGF0aW9uLCB0aGUgc3RyaW5nICJub29uc2VlcyIgd2FzIHNlbGVjdGVkIGJlY2F1c2UgdGhlCi0rIyAgIGluZGl2aWR1YWwgd29yZCB2YWx1ZXMgKCJub29uIiBhbmQgInNlZXMiKSBhcmUgcGFsaW5kcm9tZXMsIHRodXMgbWFraW5nCi0rIyAgIHRoaXMgdGVzdCBieXRlLW9yZGVyIGFnbm9zdGljLiBJZiBncmVwIGZpbmRzIHRoZSBzdHJpbmcgIm5vb25zZWVzIiBpbgotKyMgICB0aGUgb2JqZWN0IGZpbGUsIHRoZSB0YXJnZXQgcGxhdGZvcm0gc3RvcmVzIGZsb2F0IHdvcmRzIGluIGJpZy1lbmRpYW4KLSsjICAgb3JkZXIuIElmIGdyZXAgZmluZHMgInNlZXNub29uIiwgZmxvYXQgd29yZHMgYXJlIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuCi0rIyAgIElmIG5laXRoZXIgdmFsdWUgaXMgZm91bmQsIHRoZSB1c2VyIGlzIGluc3RydWN0ZWQgdG8gc3BlY2lmeSB0aGUKLSsjICAgb3JkZXJpbmcuCi0rIwotKyMgTElDRU5TRQotKyMKLSsjICAgQ29weXJpZ2h0IChjKSAyMDA4IERhbmllbCBBbWVsYW5nIDxkYW5AYW1lbGFuZy5uZXQ+Ci0rIwotKyMgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBhcmUKLSsjICAgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlCi0rIyAgIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywgd2l0aG91dCBhbnkKLSsjICAgd2FycmFudHkuCi0rCi0rI3NlcmlhbCAxMQotKwotK0FDX0RFRlVOKFtBWF9DX0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sCi0rICBbQUNfQ0FDSEVfQ0hFQ0sod2hldGhlciBmbG9hdCB3b3JkIG9yZGVyaW5nIGlzIGJpZ2VuZGlhbiwKLSsgICAgICAgICAgICAgICAgICBheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiwgWwotKwotK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KLStBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sKLSsKLStkb3VibGUgZCA9IDkwOTA0MjM0OTY3MDM2ODEwMzM3NDcwNDc4OTA1NTA1MDExNDc2MjExNjkyNzM1NjE1NjMyMDE0Nzk3MTIwODQ0MDUzNDg4ODY1ODE2Njk1MjczNzIzNDY5MDk3ODU4MDU2MjU3NTE3MDIwMTkxMjQ3NDg3NDI5NTE2OTMyMTMwNTAzNTYwNjUwMDAyMzI3NTY0NTE3NTcwNzc4NDgwMjM2NzI0NTI1MTQwNTIwMTIxMzcxNzM5MjAxNDk2NTQwMTMyNjQwMTA5OTc3Nzc5NDIwNTY1Nzc2NTY4OTQyNTkyLjA7Ci0rCi0rXV0pXSwgWwotKwotK2lmIGdyZXAgbm9vbnNlZXMgY29uZnRlc3QuJGFjX29iamV4dCA+L2Rldi9udWxsIDsgdGhlbgotKyAgYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW49eWVzCi0rZmkKLStpZiBncmVwIHNlZXNub29uIGNvbmZ0ZXN0LiRhY19vYmpleHQgPi9kZXYvbnVsbCA7IHRoZW4KLSsgIGlmIHRlc3QgIiRheF9jdl9jX2Zsb2F0X3dvcmRzX2JpZ2VuZGlhbiIgPSB1bmtub3duOyB0aGVuCi0rICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vCi0rICBlbHNlCi0rICAgIGF4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPXVua25vd24KLSsgIGZpCi0rZmkKLSsKLStdKV0pCi0rCi0rY2FzZSAkYXhfY3ZfY19mbG9hdF93b3Jkc19iaWdlbmRpYW4gaW4KLSsgIHllcykKLSsgICAgbTRfZGVmYXVsdChbJDFdLAotKyAgICAgIFtBQ19ERUZJTkUoW0ZMT0FUX1dPUkRTX0JJR0VORElBTl0sIDEsCi0rICAgICAgICAgICAgICAgICBbRGVmaW5lIHRvIDEgaWYgeW91ciBzeXN0ZW0gc3RvcmVzIHdvcmRzIHdpdGhpbiBmbG9hdHMKLSsgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBtb3N0IHNpZ25pZmljYW50IHdvcmQgZmlyc3RdKV0pIDs7Ci0rICBubykKLSsgICAgJDIgOzsKLSsgICopCi0rICAgIG00X2RlZmF1bHQoWyQzXSwKLSsgICAgICBbQUNfTVNHX0VSUk9SKFsKLSsKLStVbmtub3duIGZsb2F0IHdvcmQgb3JkZXJpbmcuIFlvdSBuZWVkIHRvIG1hbnVhbGx5IHByZXNldAotK2F4X2N2X2NfZmxvYXRfd29yZHNfYmlnZW5kaWFuPW5vIChvciB5ZXMpIGFjY29yZGluZyB0byB5b3VyIHN5c3RlbS4KLSsKLSsgICAgXSldKSA7OwotK2VzYWMKLSsKLStdKSMgQVhfQ19GTE9BVF9XT1JEU19CSUdFTkRJQU4KLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2Z0cGxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL2Z0cGxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDljNWIyNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9mdHBsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIGNhYmU5MTZkYzY5NDk5N2Q0ODkyYjU4OTg2ZTczYTcxM2Q1YTJmOGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiTWlzcyBJc2xpbmd0b24gKGJvdCkiCi0gPDMxNDg4OTA5K21pc3MtaXNsaW5ndG9uQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLURhdGU6IFRodSwgMTYgQXVnIDIwMTggMTU6Mzg6MDMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gWzMuNl0gYnBvLTM0MzkxOiBGaXggZnRwbGliIHRlc3QgZm9yIFRMUyAxLjMgKEdILTg3ODcpCi0gKCM4NzkwKQotCi1SZWFkIGZyb20gZGF0YSBzb2NrZXQgdG8gYXZvaWQgIltTU0xdIHNodXRkb3duIHdoaWxlIGluIGluaXQiIGV4Y2VwdGlvbgotZHVyaW5nIHNodXRkb3duIG9mIHRoZSBkdW1teSBzZXJ2ZXIuCi0KLVNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBweXRob24ub3JnPgotCi0KLTwhLS0gaXNzdWUtbnVtYmVyOiBbYnBvLTM0MzkxXShodHRwczovL3d3dy5idWdzLnB5dGhvbi5vcmcvaXNzdWUzNDM5MSkgLS0+Ci1odHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTM0MzkxCi08IS0tIC9pc3N1ZS1udW1iZXIgLS0+Ci0oY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxNTkwYzM5MzM2MGRmMDU5MTYwMTQ1ZTc0NzU3NTQ0MjdiZmM2NjgwKQotCi0KLUNvLWF1dGhvcmVkLWJ5OiBDaHJpc3RpYW4gSGVpbWVzIDxjaHJpc3RpYW5AcHl0aG9uLm9yZz4KLS0tLQotIExpYi90ZXN0L3Rlc3RfZnRwbGliLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDUgKysrKysKLSBNaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTgtMDgtMTYtMTgtNDgtNDcuYnBvLTM0MzkxLm91TmZ4Qy5yc3QgfCAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L1Rlc3RzLzIwMTgtMDgtMTYtMTgtNDgtNDcuYnBvLTM0MzkxLm91TmZ4Qy5yc3QKLQotZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKLWluZGV4IDQ0ZGQ3M2FlY2EuLjRmZjJmNzFhZmIgMTAwNjQ0Ci0tLS0gYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQotKysrIGIvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkKLUBAIC04NzYsMTggKzg3NiwyMyBAQCBjbGFzcyBUZXN0VExTX0ZUUENsYXNzKFRlc3RDYXNlKToKLSAgICAgICAgICMgY2xlYXIgdGV4dAotICAgICAgICAgd2l0aCBzZWxmLmNsaWVudC50cmFuc2ZlcmNtZCgnbGlzdCcpIGFzIHNvY2s6Ci0gICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKHNvY2ssIHNzbC5TU0xTb2NrZXQpCi0rICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLnJlY3YoMTAyNCksIExJU1RfREFUQS5lbmNvZGUoJ2FzY2lpJykpCi0gICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2xpZW50LnZvaWRyZXNwKCksICIyMjYgdHJhbnNmZXIgY29tcGxldGUiKQotIAotICAgICAgICAgIyBzZWN1cmVkLCBhZnRlciBQUk9UIFAKLSAgICAgICAgIHNlbGYuY2xpZW50LnByb3RfcCgpCi0gICAgICAgICB3aXRoIHNlbGYuY2xpZW50LnRyYW5zZmVyY21kKCdsaXN0JykgYXMgc29jazoKLSAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc29jaywgc3NsLlNTTFNvY2tldCkKLSsgICAgICAgICAgICAjIGNvbnN1bWUgZnJvbSBTU0wgc29ja2V0IHRvIGZpbmFsaXplIGhhbmRzaGFrZSBhbmQgYXZvaWQKLSsgICAgICAgICAgICAjICJTU0xFcnJvciBbU1NMXSBzaHV0ZG93biB3aGlsZSBpbiBpbml0IgotKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29jay5yZWN2KDEwMjQpLCBMSVNUX0RBVEEuZW5jb2RlKCdhc2NpaScpKQotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNsaWVudC52b2lkcmVzcCgpLCAiMjI2IHRyYW5zZmVyIGNvbXBsZXRlIikKLSAKLSAgICAgICAgICMgUFJPVCBDIGlzIGlzc3VlZCwgdGhlIGNvbm5lY3Rpb24gbXVzdCBiZSBpbiBjbGVhcnRleHQgYWdhaW4KLSAgICAgICAgIHNlbGYuY2xpZW50LnByb3RfYygpCi0gICAgICAgICB3aXRoIHNlbGYuY2xpZW50LnRyYW5zZmVyY21kKCdsaXN0JykgYXMgc29jazoKLSAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2Uoc29jaywgc3NsLlNTTFNvY2tldCkKLSsgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2sucmVjdigxMDI0KSwgTElTVF9EQVRBLmVuY29kZSgnYXNjaWknKSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jbGllbnQudm9pZHJlc3AoKSwgIjIyNiB0cmFuc2ZlciBjb21wbGV0ZSIpCi0gCi0gICAgIGRlZiB0ZXN0X2xvZ2luKHNlbGYpOgotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvaG9zdF9pbmNsdWRlX2NvbnRhbWluYXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ob3N0X2luY2x1ZGVfY29udGFtaW5hdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWYyMDU0ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ob3N0X2luY2x1ZGVfY29udGFtaW5hdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLXdoZW4gYnVpbGRpbmcgcHl0aG9uIGZvciBxZW11eDg2LTY0IG9uIHVidW50dSAxMS4xMC82NGJpdAotaXQgZ3JvcGVzIGludG8gaG9zdCBpbmNsdWRlcyBhbmQgdGhlbiBtaXhlcyB0aGVtIHdpdGggY3Jvc3MKLWluY2x1ZGVzIGFuZCBhcyBhIHJlc3VsdCBzb21lIG1vZHVsZXMgZmFpbCB0byBjb21waWxlIGFuZCBsaW5rCi1vbmUgb2YgdGhlIG1vZHVsZXMgaXMgcHl0aG9uLWVsZW1lbnR0cmVlIHdoaWNoIGlzIHRoZW4gbm90Ci1mb3VuZCBkdXJpbmcgaW1hZ2UgY3JlYXRpb24KLQotUHJvYmxlIGlzIHRoYXQgc2V0dXAucHkgdHJpZXMgdG8gYWRkIG5hdGl2ZSBpbmNsdWRlcyB0aGF0IG5ld2VyCi11YnVudHUgaGFzIGludHJvZHVjZWQgZm9yIG11bHRpYXJjaCBzdXBwb3J0LiBCdXQgdGhhdCBzaG91bGQKLW9ubHkgaGFwcGVuIGZvciBuYXRpdmUgYnVpbGRzIGFuZCBub3QgY3Jvc3MgYnVpbGRpbmcgcHl0aG9uCi1zbyB3ZSBhZGQgYSBjaGVjayBoZXJlLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLUluZGV4OiBQeXRob24tMy4zLjByYzIvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy4zLjByYzIub3JpZy9zZXR1cC5weQkyMDEyLTA5LTIwIDIxOjU0OjUwLjAwMDAwMDAwMCAtMDcwMAotKysrIFB5dGhvbi0zLjMuMHJjMi9zZXR1cC5weQkyMDEyLTA5LTIwIDIxOjU3OjM1LjAyOTEyMzg1OCAtMDcwMAotQEAgLTQwMiw2ICs0MDIsOSBAQAotIAotICAgICAgICAgaWYgbm90IGZpbmRfZXhlY3V0YWJsZSgnZHBrZy1hcmNoaXRlY3R1cmUnKToKLSAgICAgICAgICAgICByZXR1cm4KLSsgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLSsgICAgICAgICAgICByZXR1cm4KLSsKLSAgICAgICAgIG9wdCA9ICcnCi0gICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0gICAgICAgICAgICAgb3B0ID0gJy10JyArIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignSE9TVF9HTlVfVFlQRScpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcGFzcy1taXNzaW5nLWxpYnJhcmllcy10by1FeHRlbnNpb24tZm9yLW11bC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMzYWY2Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotRnJvbSBhNzg0YjcwZDQ3YmEyMTA0YWZiY2ZkODA1ZTJhNjZjZGMyMTA5ZWM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotRGF0ZTogRnJpLCA0IEF1ZyAyMDE3IDExOjE2OjE0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNldHVwLnB5OiBwYXNzIG1pc3NpbmcgbGlicmFyaWVzIHRvIEV4dGVuc2lvbiBmb3IgbXVsdGlwcm9jZXNzaW5nIG1vZHVsZQotCi1JbiB0aGUgZm9sbG93aW5nIGNvbW1pdDoKLS4uLgotY29tbWl0IGU3MTFjYWZhYjEzZWZjOWMxZmU2YzVjZDc1ODI2NDAxNDQ1ZWI1ODUKLUF1dGhvcjogQmVuamFtaW4gUGV0ZXJzb24gPGJlbmphbWluQHB5dGhvbi5vcmc+Ci1EYXRlOiAgIFdlZCBKdW4gMTEgMTY6NDQ6MDQgMjAwOCArMDAwMAotCi0gICAgTWVyZ2VkIHJldmlzaW9ucyA2NDEwNCw2NDExNyB2aWEgc3ZubWVyZ2UgZnJvbQotICAgIHN2bitzc2g6Ly9weXRob25kZXZAc3ZuLnB5dGhvbi5vcmcvcHl0aG9uL3RydW5rCi0uLi4KLShzZWUgZGlmZiBpbiBzZXR1cC5weSkKLUl0IGFzc2lnbmVkIGxpYnJhcmllcyBmb3IgbXVsdGlwcm9jZXNzaW5nIG1vZHVsZSBhY2NvcmRpbmcKLXRoZSBob3N0X3BsYXRmb3JtLCBidXQgbm90IHBhc3MgaXQgdG8gRXh0ZW5zaW9uLgotCi1JbiBnbGliYywgdGhlIGZvbGxvd2luZyBjb21taXQgY2F1c2VkIHR3byBkZWZpbml0aW9uIG9mCi1zZW1fZ2V0dmFsdWUgYXJlIGRpZmZlcmVudC4KLWh0dHBzOi8vc291cmNld2FyZS5vcmcvZ2l0Lz9wPWdsaWJjLmdpdDthPWNvbW1pdDtoPTA0MmUxNTIxYzc5NGE5NDVlZGM0M2I1YmZhN2U2OWFkNzA0MjA1MjQKLShzZWUgZGlmZiBpbiBucHRsL3NlbV9nZXR2YWx1ZS5jIGZvciBkZXRhaWwpCi1gX19uZXdfc2VtX2dldHZhbHVlJyBpcyB0aGUgbGF0ZXN0IHNlbV9nZXR2YWx1ZUBAR0xJQkNfMi4xCi1hbmQgYF9fb2xkX3NlbV9nZXR2YWx1ZScgaXMgdG8gY29tcGF0IHRoZSBvbGQgdmVyc2lvbgotc2VtX2dldHZhbHVlQEdMSUJDXzIuMC4KLQotVG8gYnVpbGQgcHl0aG9uIGZvciBlbWJlZGRlZCBMaW51eCBzeXN0ZW1zOgotaHR0cDovL3d3dy55b2N0b3Byb2plY3Qub3JnL2RvY3MvMi4zLjEveW9jdG8tcHJvamVjdC1xcy95b2N0by1wcm9qZWN0LXFzLmh0bWwKLUlmIG5vdCBleHBsaWNpdGx5IGxpbmsgdG8gbGlicmFyeSBwdGhyZWFkICgtbHB0aHJlYWQpLCBpdCB3aWxsCi1sb2FkIGdsaWJjJ3Mgc2VtX2dldHZhbHVlIHJhbmRvbWx5IGF0IHJ1bnRpbWUuCi0KLVN1Y2ggYXMgYnVpbGQgcHl0aG9uIG9uIGxpbnV4IHg4Nl82NCBob3N0IGFuZCBydW4gdGhlIHB5dGhvbgotb24gbGludXggeDg2XzMyIHRhcmdldC4gSWYgbm90IGxpbmsgbGlicmFyeSBwdGhyZWFkLCBpdCBjYXVzZWQKLW11bHRpcHJvY2Vzc2luZyBib3VuZGVkIHNlbWFwaG9yZSBjb3VsZCBub3Qgd29yayBjb3JyZWN0bHkuCi0uLi4KLT4+PiBpbXBvcnQgbXVsdGlwcm9jZXNzaW5nCi0+Pj4gcG9vbF9zZW1hID0gbXVsdGlwcm9jZXNzaW5nLkJvdW5kZWRTZW1hcGhvcmUodmFsdWU9MSkKLT4+PiBwb29sX3NlbWEuYWNxdWlyZSgpCi1UcnVlCi0+Pj4gcG9vbF9zZW1hLnJlbGVhc2UoKQotVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgotVmFsdWVFcnJvcjogc2VtYXBob3JlIG9yIGxvY2sgcmVsZWFzZWQgdG9vIG1hbnkgdGltZXMKLS4uLgotCi1BbmQgdGhlIHNlbWFwaG9yZSBpc3N1ZSBhbHNvIGNhdXNlZCBtdWx0aXByb2Nlc3NpbmcuUXVldWUoKS5wdXQoKSBodW5nLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL3B5dGhvbi9jcHl0aG9uL3B1bGwvMjk5OV0KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc2V0dXAucHkgfCA3ICsrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQotaW5kZXggNGYwZjUyMi4uZDA1NzA3ZCAxMDA2NDQKLS0tLSBhL3NldHVwLnB5Ci0rKysgYi9zZXR1cC5weQotQEAgLTE2MDYsOCArMTYwNiwxMCBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICBlbGlmIGhvc3RfcGxhdGZvcm0uc3RhcnRzd2l0aCgnbmV0YnNkJyk6Ci0gICAgICAgICAgICAgbWFjcm9zID0gZGljdCgpCi0gICAgICAgICAgICAgbGlicmFyaWVzID0gW10KLS0KLS0gICAgICAgIGVsc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIExpbnV4IGFuZCBvdGhlciB1bmljZXMKLSsgICAgICAgIGVsaWYgaG9zdF9wbGF0Zm9ybS5zdGFydHN3aXRoKCgnbGludXgnKSk6Ci0rICAgICAgICAgICAgbWFjcm9zID0gZGljdCgpCi0rICAgICAgICAgICAgbGlicmFyaWVzID0gWydwdGhyZWFkJ10KLSsgICAgICAgIGVsc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIE90aGVyIHVuaWNlcwotICAgICAgICAgICAgIG1hY3JvcyA9IGRpY3QoKQotICAgICAgICAgICAgIGxpYnJhcmllcyA9IFsncnQnXQotIAotQEAgLTE2MjYsNiArMTYyOCw3IEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgIGlmIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignV0lUSF9USFJFQUQnKToKLSAgICAgICAgICAgICBleHRzLmFwcGVuZCAoIEV4dGVuc2lvbignX211bHRpcHJvY2Vzc2luZycsIG11bHRpcHJvY2Vzc2luZ19zcmNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZV9tYWNyb3M9bGlzdChtYWNyb3MuaXRlbXMoKSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPWxpYnJhcmllcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnM9WyJNb2R1bGVzL19tdWx0aXByb2Nlc3NpbmciXSkpCi0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKCdfbXVsdGlwcm9jZXNzaW5nJykKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uLTMuMy1tdWx0aWxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbi0zLjMtbXVsdGlsaWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjMzVkYzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uLTMuMy1tdWx0aWxpYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2MyArMCwwIEBACi1Gcm9tIDUxZmU2ZjIyZDBiYTExMzY3NGZiMzU4YmQxMWQ3NWZlNjU5YmQyNmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxNCBNYXkgMjAxMyAxNTowMDoyNiAtMDcwMAotU3ViamVjdDogW1BBVENIIDAxLzEzXSBnZXQgdGhlIHN5cy5saWIgZnJvbSBweXRob24gaXRzZWxmIGFuZCBkbyBub3QgdXNlCi0gaGFyZGNvZGVkIHZhbHVlIG9mICdsaWInCi0KLTAyLzIwMTUgUmViYXNlZCBmb3IgMy40LjIKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIEhlcm5hbmRleiA8YWxlamFuZHJvLmhlcm5hbmRlekBsaW51eC5pbnRlbC5jb20+Ci0KLS0tLQotIEluY2x1ZGUvcHl0aG9ucnVuLmggICAgICAgICAgICAgIHwgIDMgKysrCi0gTGliL2Rpc3R1dGlscy9jb21tYW5kL2luc3RhbGwucHkgfCAgNCArKystCi0gTGliL3B5ZG9jLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQotIExpYi9zaXRlLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQotIExpYi9zeXNjb25maWcucHkgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCi0gTGliL3RyYWNlLnB5ICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCi0gTWFrZWZpbGUucHJlLmluICAgICAgICAgICAgICAgICAgfCAgNyArKysrKy0tCi0gTW9kdWxlcy9nZXRwYXRoLmMgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKystCi0gUHl0aG9uL2dldHBsYXRmb3JtLmMgICAgICAgICAgICAgfCAyMCArKysrKysrKysrKysrKysrKysrKwotIFB5dGhvbi9zeXNtb2R1bGUuYyAgICAgICAgICAgICAgIHwgIDQgKysrKwotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzZXR1cC5weSAgICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKystLS0tLQotIDEyIGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQotCi1JbmRleDogUHl0aG9uLTMuNS40L0luY2x1ZGUvcHl0aG9ucnVuLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9JbmNsdWRlL3B5dGhvbnJ1bi5oCi0rKysgUHl0aG9uLTMuNS40L0luY2x1ZGUvcHl0aG9ucnVuLmgKLUBAIC0yMyw2ICsyMyw5IEBAIHR5cGVkZWYgc3RydWN0IHsKLSB9IFB5Q29tcGlsZXJGbGFnczsKLSAjZW5kaWYKLSAKLStQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0QXJjaCh2b2lkKTsKLStQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0TGliKHZvaWQpOwotKwotICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLSBQeUFQSV9GVU5DKGludCkgUHlSdW5fU2ltcGxlU3RyaW5nRmxhZ3MoY29uc3QgY2hhciAqLCBQeUNvbXBpbGVyRmxhZ3MgKik7Ci0gUHlBUElfRlVOQyhpbnQpIFB5UnVuX0FueUZpbGVGbGFncyhGSUxFICosIGNvbnN0IGNoYXIgKiwgUHlDb21waWxlckZsYWdzICopOwotSW5kZXg6IFB5dGhvbi0zLjUuNC9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5Ci0rKysgUHl0aG9uLTMuNS40L0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5Ci1AQCAtMTksNiArMTksOCBAQCBmcm9tIHNpdGUgaW1wb3J0IFVTRVJfQkFTRQotIGZyb20gc2l0ZSBpbXBvcnQgVVNFUl9TSVRFCi0gSEFTX1VTRVJfU0lURSA9IFRydWUKLSAKLStsaWJuYW1lID0gc3lzLmxpYgotKwotIFdJTkRPV1NfU0NIRU1FID0gewotICAgICAncHVyZWxpYic6ICckYmFzZS9MaWIvc2l0ZS1wYWNrYWdlcycsCi0gICAgICdwbGF0bGliJzogJyRiYXNlL0xpYi9zaXRlLXBhY2thZ2VzJywKLUBAIC0yOSw4ICszMSw4IEBAIFdJTkRPV1NfU0NIRU1FID0gewotIAotIElOU1RBTExfU0NIRU1FUyA9IHsKLSAgICAgJ3VuaXhfcHJlZml4JzogewotLSAgICAgICAgJ3B1cmVsaWInOiAnJGJhc2UvbGliL3B5dGhvbiRweV92ZXJzaW9uX3Nob3J0L3NpdGUtcGFja2FnZXMnLAotLSAgICAgICAgJ3BsYXRsaWInOiAnJHBsYXRiYXNlL2xpYi9weXRob24kcHlfdmVyc2lvbl9zaG9ydC9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdwdXJlbGliJzogJyRwbGF0YmFzZS8nK2xpYm5hbWUrJy9weXRob24kcHlfdmVyc2lvbl9zaG9ydC9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdwbGF0bGliJzogJyRwbGF0YmFzZS8nK2xpYm5hbWUrJy9weXRob24kcHlfdmVyc2lvbl9zaG9ydC9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdoZWFkZXJzJzogJyRiYXNlL2luY2x1ZGUvcHl0aG9uJHB5X3ZlcnNpb25fc2hvcnQkYWJpZmxhZ3MvJGRpc3RfbmFtZScsCi0gICAgICAgICAnc2NyaXB0cyc6ICckYmFzZS9iaW4nLAotICAgICAgICAgJ2RhdGEnICAgOiAnJGJhc2UnLAotSW5kZXg6IFB5dGhvbi0zLjUuNC9MaWIvcHlkb2MucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9MaWIvcHlkb2MucHkKLSsrKyBQeXRob24tMy41LjQvTGliL3B5ZG9jLnB5Ci1AQCAtMzg5LDcgKzM4OSw3IEBAIGNsYXNzIERvYzoKLSAgICAgZG9jbW9kdWxlID0gZG9jY2xhc3MgPSBkb2Nyb3V0aW5lID0gZG9jb3RoZXIgPSBkb2Nwcm9wZXJ0eSA9IGRvY2RhdGEgPSBmYWlsCi0gCi0gICAgIGRlZiBnZXRkb2Nsb2Moc2VsZiwgb2JqZWN0LAotLSAgICAgICAgICAgICAgICAgIGJhc2VkaXI9b3MucGF0aC5qb2luKHN5cy5iYXNlX2V4ZWNfcHJlZml4LCAibGliIiwKLSsgICAgICAgICAgICAgICAgICBiYXNlZGlyPW9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJWQuJWQiICUgIHN5cy52ZXJzaW9uX2luZm9bOjJdKSk6Ci0gICAgICAgICAiIiJSZXR1cm4gdGhlIGxvY2F0aW9uIG9mIG1vZHVsZSBkb2NzIG9yIE5vbmUiIiIKLSAKLUluZGV4OiBQeXRob24tMy41LjQvTGliL3NpdGUucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9MaWIvc2l0ZS5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvc2l0ZS5weQotQEAgLTMwMywxMiArMzAzLDEyIEBAIGRlZiBnZXRzaXRlcGFja2FnZXMocHJlZml4ZXM9Tm9uZSk6Ci0gICAgICAgICBzZWVuLmFkZChwcmVmaXgpCi0gCi0gICAgICAgICBpZiBvcy5zZXAgPT0gJy8nOgotLSAgICAgICAgICAgIHNpdGVwYWNrYWdlcy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgImxpYiIsCi0rICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBzeXMubGliLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uIiArIHN5cy52ZXJzaW9uWzozXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNpdGUtcGFja2FnZXMiKSkKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChwcmVmaXgpCi0tICAgICAgICAgICAgc2l0ZXBhY2thZ2VzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCAibGliIiwgInNpdGUtcGFja2FnZXMiKSkKLSsgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsIHN5cy5saWIsICJzaXRlLXBhY2thZ2VzIikpCi0gICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gImRhcndpbiI6Ci0gICAgICAgICAgICAgIyBmb3IgZnJhbWV3b3JrIGJ1aWxkcyAqb25seSogd2UgYWRkIHRoZSBzdGFuZGFyZCBBcHBsZQotICAgICAgICAgICAgICMgbG9jYXRpb25zLgotSW5kZXg6IFB5dGhvbi0zLjUuNC9MaWIvc3lzY29uZmlnLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3N5c2NvbmZpZy5weQotKysrIFB5dGhvbi0zLjUuNC9MaWIvc3lzY29uZmlnLnB5Ci1AQCAtMjAsMTAgKzIwLDEwIEBAIF9fYWxsX18gPSBbCi0gCi0gX0lOU1RBTExfU0NIRU1FUyA9IHsKLSAgICAgJ3Bvc2l4X3ByZWZpeCc6IHsKLS0gICAgICAgICdzdGRsaWInOiAne2luc3RhbGxlZF9iYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLS0gICAgICAgICdwbGF0c3RkbGliJzogJ3twbGF0YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLS0gICAgICAgICdwbGF0bGliJzogJ3twbGF0YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdzdGRsaWInOiAne2luc3RhbGxlZF9iYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3BsYXRzdGRsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotKyAgICAgICAgJ3B1cmVsaWInOiAne3BsYXRiYXNlfS8nK3N5cy5saWIrJy9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0rICAgICAgICAncGxhdGxpYic6ICd7cGxhdGJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgICdpbmNsdWRlJzoKLSAgICAgICAgICAgICAne2luc3RhbGxlZF9iYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fXthYmlmbGFnc30nLAotICAgICAgICAgJ3BsYXRpbmNsdWRlJzoKLUBAIC0zMiwxMCArMzIsMTAgQEAgX0lOU1RBTExfU0NIRU1FUyA9IHsKLSAgICAgICAgICdkYXRhJzogJ3tiYXNlfScsCi0gICAgICAgICB9LAotICAgICAncG9zaXhfaG9tZSc6IHsKLS0gICAgICAgICdzdGRsaWInOiAne2luc3RhbGxlZF9iYXNlfS9saWIvcHl0aG9uJywKLS0gICAgICAgICdwbGF0c3RkbGliJzogJ3tiYXNlfS9saWIvcHl0aG9uJywKLS0gICAgICAgICdwdXJlbGliJzogJ3tiYXNlfS9saWIvcHl0aG9uJywKLS0gICAgICAgICdwbGF0bGliJzogJ3tiYXNlfS9saWIvcHl0aG9uJywKLSsgICAgICAgICdzdGRsaWInOiAne2luc3RhbGxlZF9iYXNlfS8nK3N5cy5saWIrJy9weXRob24nLAotKyAgICAgICAgJ3BsYXRzdGRsaWInOiAne2Jhc2V9Lycrc3lzLmxpYisnL3B5dGhvbicsCi0rICAgICAgICAncHVyZWxpYic6ICd7YmFzZX0vJytzeXMubGliKycvcHl0aG9uJywKLSsgICAgICAgICdwbGF0bGliJzogJ3tiYXNlfS8nK3N5cy5saWIrJy9weXRob24nLAotICAgICAgICAgJ2luY2x1ZGUnOiAne2luc3RhbGxlZF9iYXNlfS9pbmNsdWRlL3B5dGhvbicsCi0gICAgICAgICAncGxhdGluY2x1ZGUnOiAne2luc3RhbGxlZF9iYXNlfS9pbmNsdWRlL3B5dGhvbicsCi0gICAgICAgICAnc2NyaXB0cyc6ICd7YmFzZX0vYmluJywKLUBAIC02MSwxMCArNjEsMTAgQEAgX0lOU1RBTExfU0NIRU1FUyA9IHsKLSAgICAgICAgICdkYXRhJzogJ3t1c2VyYmFzZX0nLAotICAgICAgICAgfSwKLSAgICAgJ3Bvc2l4X3VzZXInOiB7Ci0tICAgICAgICAnc3RkbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0tICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotLSAgICAgICAgJ3B1cmVsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotLSAgICAgICAgJ3BsYXRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotKyAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0rICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0rICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9Lycrc3lzLmxpYisnL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSsgICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vJytzeXMubGliKycvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAgJ2luY2x1ZGUnOiAne3VzZXJiYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L2JpbicsCi0gICAgICAgICAnZGF0YSc6ICd7dXNlcmJhc2V9JywKLUluZGV4OiBQeXRob24tMy41LjQvTGliL3RyYWNlLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvTGliL3RyYWNlLnB5Ci0rKysgUHl0aG9uLTMuNS40L0xpYi90cmFjZS5weQotQEAgLTc0OSwxMCArNzQ5LDEwIEBAIGRlZiBtYWluKGFyZ3Y9Tm9uZSk6Ci0gICAgICAgICAgICAgICAgICMgc2hvdWxkIEkgYWxzbyBjYWxsIGV4cGFuZHVzZXI/IChhZnRlciBhbGwsIGNvdWxkIHVzZSAkSE9NRSkKLSAKLSAgICAgICAgICAgICAgICAgcyA9IHMucmVwbGFjZSgiJHByZWZpeCIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHN5cy5iYXNlX3ByZWZpeCwgImxpYiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHN5cy5iYXNlX3ByZWZpeCwgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInB5dGhvbiIgKyBzeXMudmVyc2lvbls6M10pKQotICAgICAgICAgICAgICAgICBzID0gcy5yZXBsYWNlKCIkZXhlY19wcmVmaXgiLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihzeXMuYmFzZV9leGVjX3ByZWZpeCwgImxpYiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHN5cy5iYXNlX2V4ZWNfcHJlZml4LCBzeXMubGliLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uIiArIHN5cy52ZXJzaW9uWzozXSkpCi0gICAgICAgICAgICAgICAgIHMgPSBvcy5wYXRoLm5vcm1wYXRoKHMpCi0gICAgICAgICAgICAgICAgIGlnbm9yZV9kaXJzLmFwcGVuZChzKQotSW5kZXg6IFB5dGhvbi0zLjUuNC9NYWtlZmlsZS5wcmUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9NYWtlZmlsZS5wcmUuaW4KLSsrKyBQeXRob24tMy41LjQvTWFrZWZpbGUucHJlLmluCi1AQCAtMTA5LDYgKzEwOSw4IEBAIENGTEFHU19BTElBU0lORz1AQ0ZMQUdTX0FMSUFTSU5HQAotIAotICMgTWFjaGluZS1kZXBlbmRlbnQgc3ViZGlyZWN0b3JpZXMKLSBNQUNIREVQPQlATUFDSERFUEAKLStMSUI9CQlATElCQAotK0FSQ0g9CQlAQVJDSEAKLSAKLSAjIE11bHRpYXJjaCBkaXJlY3RvcnkgKG1heSBiZSBlbXB0eSkKLSBNVUxUSUFSQ0g9CUBNVUxUSUFSQ0hACi1AQCAtMTI4LDcgKzEzMCw3IEBAIExJQkRJUj0JCUBsaWJkaXJACi0gTUFORElSPQkJQG1hbmRpckAKLSBJTkNMVURFRElSPQlAaW5jbHVkZWRpckAKLSBDT05GSU5DTFVERURJUj0JJChleGVjX3ByZWZpeCkvaW5jbHVkZQotLVNDUklQVERJUj0JJChwcmVmaXgpL2xpYgotK1NDUklQVERJUj0JQGxpYmRpckAKLSBBQklGTEFHUz0JQEFCSUZMQUdTQAotIAotICMgRGV0YWlsZWQgZGVzdGluYXRpb24gZGlyZWN0b3JpZXMKLUBAIC03MzEsNiArNzMzLDcgQEAgTW9kdWxlcy9nZXRwYXRoLm86ICQoc3JjZGlyKS9Nb2R1bGVzL2dldAotIAkJLURFWEVDX1BSRUZJWD0nIiQoZXhlY19wcmVmaXgpIicgXAotIAkJLURWRVJTSU9OPSciJChWRVJTSU9OKSInIFwKLSAJCS1EVlBBVEg9JyIkKFZQQVRIKSInIFwKLSsJCS1EQVJDSD0nIiQoQVJDSCkiJyAtRExJQj0nIiQoTElCKSInIFwKLSAJCS1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL2dldHBhdGguYwotIAotIFByb2dyYW1zL3B5dGhvbi5vOiAkKHNyY2RpcikvUHJvZ3JhbXMvcHl0aG9uLmMKLUBAIC04MTMsNyArODE2LDcgQEAgcmVnZW4tb3Bjb2RlOgotIFB5dGhvbi9jb21waWxlLm8gUHl0aG9uL3N5bXRhYmxlLm8gUHl0aG9uL2FzdC5vOiAkKHNyY2RpcikvSW5jbHVkZS9ncmFtaW5pdC5oICQoc3JjZGlyKS9JbmNsdWRlL1B5dGhvbi1hc3QuaAotIAotIFB5dGhvbi9nZXRwbGF0Zm9ybS5vOiAkKHNyY2RpcikvUHl0aG9uL2dldHBsYXRmb3JtLmMKLS0JCSQoQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1EUExBVEZPUk09JyIkKE1BQ0hERVApIicgLW8gJEAgJChzcmNkaXIpL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCi0rCQkkKENDKSAtYyAkKFBZX0NPUkVfQ0ZMQUdTKSAtRFBMQVRGT1JNPSciJChNQUNIREVQKSInIC1EQVJDSD0nIiQoQVJDSCkiJyAtRExJQj0nIiQoTElCKSInIC1vICRAICQoc3JjZGlyKS9QeXRob24vZ2V0cGxhdGZvcm0uYwotIAotIFB5dGhvbi9pbXBvcnRkbC5vOiAkKHNyY2RpcikvUHl0aG9uL2ltcG9ydGRsLmMKLSAJCSQoQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1JJChETElOQ0xESVIpIC1vICRAICQoc3JjZGlyKS9QeXRob24vaW1wb3J0ZGwuYwotSW5kZXg6IFB5dGhvbi0zLjUuNC9Nb2R1bGVzL2dldHBhdGguYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL01vZHVsZXMvZ2V0cGF0aC5jCi0rKysgUHl0aG9uLTMuNS40L01vZHVsZXMvZ2V0cGF0aC5jCi1AQCAtMTA1LDYgKzEwNSwxMyBAQAotICNlcnJvciAiUFJFRklYLCBFWEVDX1BSRUZJWCwgVkVSU0lPTiwgYW5kIFZQQVRIIG11c3QgYmUgY29uc3RhbnQgZGVmaW5lZCIKLSAjZW5kaWYKLSAKLSsjZGVmaW5lIExJQl9QWVRIT04gTElCICIvcHl0aG9uIiBWRVJTSU9OCi0rCi0rI2lmbmRlZiBQWVRIT05QQVRICi0rI2RlZmluZSBQWVRIT05QQVRIIFBSRUZJWCAiLyIgTElCX1BZVEhPTiAiOiIgXAotKyAgICAgICAgRVhFQ19QUkVGSVggIi8iIExJQl9QWVRIT04gIi9saWItZHlubG9hZCIKLSsjZW5kaWYKLSsKLSAjaWZuZGVmIExBTkRNQVJLCi0gI2RlZmluZSBMQU5ETUFSSyBMIm9zLnB5IgotICNlbmRpZgotQEAgLTExMyw2ICsxMjAsNyBAQCBzdGF0aWMgd2NoYXJfdCBwcmVmaXhbTUFYUEFUSExFTisxXTsKLSBzdGF0aWMgd2NoYXJfdCBleGVjX3ByZWZpeFtNQVhQQVRITEVOKzFdOwotIHN0YXRpYyB3Y2hhcl90IHByb2dwYXRoW01BWFBBVEhMRU4rMV07Ci0gc3RhdGljIHdjaGFyX3QgKm1vZHVsZV9zZWFyY2hfcGF0aCA9IE5VTEw7Ci0rc3RhdGljIHdjaGFyX3QgKmxpYl9weXRob24gPSBMIiIgTElCX1BZVEhPTjsKLSAKLSAvKiBHZXQgZmlsZSBzdGF0dXMuIEVuY29kZSB0aGUgcGF0aCB0byB0aGUgbG9jYWxlIGVuY29kaW5nLiAqLwotIAotQEAgLTQ5NCw3ICs1MDIsNyBAQCBjYWxjdWxhdGVfcGF0aCh2b2lkKQotICAgICBfcHl0aG9ucGF0aCA9IFB5X0RlY29kZUxvY2FsZShQWVRIT05QQVRILCBOVUxMKTsKLSAgICAgX3ByZWZpeCA9IFB5X0RlY29kZUxvY2FsZShQUkVGSVgsIE5VTEwpOwotICAgICBfZXhlY19wcmVmaXggPSBQeV9EZWNvZGVMb2NhbGUoRVhFQ19QUkVGSVgsIE5VTEwpOwotLSAgICBsaWJfcHl0aG9uID0gUHlfRGVjb2RlTG9jYWxlKCJsaWIvcHl0aG9uIiBWRVJTSU9OLCBOVUxMKTsKLSsgICAgbGliX3B5dGhvbiA9IFB5X0RlY29kZUxvY2FsZShMSUJfUFlUSE9OLCBOVUxMKTsKLSAKLSAgICAgaWYgKCFfcHl0aG9ucGF0aCB8fCAhX3ByZWZpeCB8fCAhX2V4ZWNfcHJlZml4IHx8ICFsaWJfcHl0aG9uKSB7Ci0gICAgICAgICBQeV9GYXRhbEVycm9yKAotSW5kZXg6IFB5dGhvbi0zLjUuNC9QeXRob24vZ2V0cGxhdGZvcm0uYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuNC5vcmlnL1B5dGhvbi9nZXRwbGF0Zm9ybS5jCi0rKysgUHl0aG9uLTMuNS40L1B5dGhvbi9nZXRwbGF0Zm9ybS5jCi1AQCAtMTAsMyArMTAsMjMgQEAgUHlfR2V0UGxhdGZvcm0odm9pZCkKLSB7Ci0gCXJldHVybiBQTEFURk9STTsKLSB9Ci0rCi0rI2lmbmRlZiBBUkNICi0rI2RlZmluZSBBUkNIICJ1bmtub3duIgotKyNlbmRpZgotKwotK2NvbnN0IGNoYXIgKgotK1B5X0dldEFyY2godm9pZCkKLSt7Ci0rCXJldHVybiBBUkNIOwotK30KLSsKLSsjaWZuZGVmIExJQgotKyNkZWZpbmUgTElCICJsaWIiCi0rI2VuZGlmCi0rCi0rY29uc3QgY2hhciAqCi0rUHlfR2V0TGliKHZvaWQpCi0rewotKwlyZXR1cm4gTElCOwotK30KLUluZGV4OiBQeXRob24tMy41LjQvUHl0aG9uL3N5c21vZHVsZS5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS40Lm9yaWcvUHl0aG9uL3N5c21vZHVsZS5jCi0rKysgUHl0aG9uLTMuNS40L1B5dGhvbi9zeXNtb2R1bGUuYwotQEAgLTE4MjcsNiArMTgyNywxMCBAQCBfUHlTeXNfSW5pdCh2b2lkKQotICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldENvcHlyaWdodCgpKSk7Ci0gICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoInBsYXRmb3JtIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZyhQeV9HZXRQbGF0Zm9ybSgpKSk7Ci0rICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImFyY2giLAotKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldEFyY2goKSkpOwotKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJsaWIiLAotKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X0dldExpYigpKSk7Ci0gICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImV4ZWN1dGFibGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0dldFByb2dyYW1GdWxsUGF0aCgpLCAtMSkpOwotSW5kZXg6IFB5dGhvbi0zLjUuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9jb25maWd1cmUuYWMKLSsrKyBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi1AQCAtODg1LDYgKzg4NSw0MSBAQCBQTEFURElSPXBsYXQtJE1BQ0hERVAKLSBBQ19TVUJTVChQTEFURElSKQotIEFDX1NVQlNUKFBMQVRGT1JNX1RSSVBMRVQpCi0gCi0rQUNfU1VCU1QoQVJDSCkKLStBQ19NU0dfQ0hFQ0tJTkcoQVJDSCkKLStBUkNIPWB1bmFtZSAtbWAKLStjYXNlICRBUkNIIGluCi0raT84NikgQVJDSD1pMzg2OzsKLStlc2FjCi0rQUNfTVNHX1JFU1VMVCgkQVJDSCkKLSsKLStBQ19TVUJTVChMSUIpCi0rQUNfTVNHX0NIRUNLSU5HKExJQikKLStjYXNlICRhY19zeXNfc3lzdGVtIGluCi0rTGludXgqKQotKyAgIyBUZXN0IGlmIHRoZSBjb21waWxlciBpcyA2NGJpdAotKyAgZWNobyAnaW50IGk7JyA+IGNvbmZ0ZXN0LiRhY19leHQKLSsgIHB5dGhvbl9jdl9jY182NGJpdF9vdXRwdXQ9bm8KLSsgIGlmIEFDX1RSWV9FVkFMKGFjX2NvbXBpbGUpOyB0aGVuCi0rICAgIGNhc2UgYC91c3IvYmluL2ZpbGUgY29uZnRlc3QuJGFjX29iamV4dGAgaW4KLSsgICAgKiJFTEYgNjQiKikKLSsgICAgICBweXRob25fY3ZfY2NfNjRiaXRfb3V0cHV0PXllcwotKyAgICAgIDs7Ci0rICAgIGVzYWMKLSsgIGZpCi0rICBybSAtcmYgY29uZnRlc3QqCi0rICA7OwotK2VzYWMKLSsKLStjYXNlICRBUkNIOiRweXRob25fY3ZfY2NfNjRiaXRfb3V0cHV0IGluCi0rcHBjNjQ6eWVzIHwgcG93ZXJwYzY0OnllcyB8IHMzOTB4OnllcyB8IHNwYXJjNjQ6eWVzIHwgeDg2XzY0OnllcykKLSsgIExJQj0ibGliNjQiCi0rICA7OwotKyo6KikKLSsgIExJQj0ibGliIgotKyAgOzsKLStlc2FjCi0rQUNfTVNHX1JFU1VMVCgkTElCKQotIAotIEFDX01TR19DSEVDS0lORyhbZm9yIC1XbCwtLW5vLWFzLW5lZWRlZF0pCi0gc2F2ZV9MREZMQUdTPSIkTERGTEFHUyIKLUluZGV4OiBQeXRob24tMy41LjQvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9zZXR1cC5weQotKysrIFB5dGhvbi0zLjUuNC9zZXR1cC5weQotQEAgLTQ5NCw3ICs0OTQsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIGRpcmVjdG9yaWVzIChpLmUuICcuJyBhbmQgJ0luY2x1ZGUnKSBtdXN0IGJlIGZpcnN0LiAgU2VlIGlzc3VlCi0gICAgICAgICAjIDEwNTIwLgotICAgICAgICAgaWYgbm90IGNyb3NzX2NvbXBpbGluZzoKLS0gICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMsICcvdXNyL2xvY2FsL2xpYicpCi0rICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzLCBvcy5wYXRoLmpvaW4oJy91c3IvbG9jYWwnLCBzeXMubGliKSkKLSAgICAgICAgICAgICBhZGRfZGlyX3RvX2xpc3Qoc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMsICcvdXNyL2xvY2FsL2luY2x1ZGUnKQotICAgICAgICAgIyBvbmx5IGNoYW5nZSB0aGlzIGZvciBjcm9zcyBidWlsZHMgZm9yIDMuMywgaXNzdWVzIG9uIE1hZ2VpYQotICAgICAgICAgaWYgY3Jvc3NfY29tcGlsaW5nOgotQEAgLTU1Miw4ICs1NTIsNyBAQCBjbGFzcyBQeUJ1aWxkRXh0KGJ1aWxkX2V4dCk6Ci0gICAgICAgICAjIGJlIGFzc3VtZWQgdGhhdCBubyBhZGRpdGlvbmFsIC1JLC1MIGRpcmVjdGl2ZXMgYXJlIG5lZWRlZC4KLSAgICAgICAgIGlmIG5vdCBjcm9zc19jb21waWxpbmc6Ci0gICAgICAgICAgICAgbGliX2RpcnMgPSBzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycyArIFsKLS0gICAgICAgICAgICAgICAgJy9saWI2NCcsICcvdXNyL2xpYjY0JywKLS0gICAgICAgICAgICAgICAgJy9saWInLCAnL3Vzci9saWInLAotKyAgICAgICAgICAgICAgICAnLycgKyBzeXMubGliLCAnL3Vzci8nICsgc3lzLmxpYiwKLSAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgIGluY19kaXJzID0gc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMgKyBbJy91c3IvaW5jbHVkZSddCi0gICAgICAgICBlbHNlOgotQEAgLTc0NSwxMSArNzQ0LDExIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICAgICBlbGlmIGN1cnNlc19saWJyYXJ5OgotICAgICAgICAgICAgICAgICByZWFkbGluZV9saWJzLmFwcGVuZChjdXJzZXNfbGlicmFyeSkKLSAgICAgICAgICAgICBlbGlmIHNlbGYuY29tcGlsZXIuZmluZF9saWJyYXJ5X2ZpbGUobGliX2RpcnMgKwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWycvdXNyL2xpYi90ZXJtY2FwJ10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJy91c3IvJytzeXMubGliKycvdGVybWNhcCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlcm1jYXAnKToKLSAgICAgICAgICAgICAgICAgcmVhZGxpbmVfbGlicy5hcHBlbmQoJ3Rlcm1jYXAnKQotICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ3JlYWRsaW5lJywgWydyZWFkbGluZS5jJ10sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9WycvdXNyL2xpYi90ZXJtY2FwJ10sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9WycvdXNyLycrc3lzLmxpYisnL3Rlcm1jYXAnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2xpbmtfYXJncz1yZWFkbGluZV9leHRyYV9saW5rX2FyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9cmVhZGxpbmVfbGlicykgKQotICAgICAgICAgZWxzZToKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbgppbmRleCA1MzI5YmY3Li4wYTRhYjJjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy1tYW5pZmVzdC5qc29uCkBAIC0xLDMgKzEsOTMgQEAKKyMgRE8gTk9UIChlbnRpcmVseSkgbW9kaWZ5IHRoaXMgZmlsZSBtYW51YWxseSwgcGxlYXNlIHJlYWQuCisjCisjIElNUE9SVEFOVCBOT1RFOgorIyBQbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGNyZWF0ZV9tYW5pZmVzdCB0YXNrIHJlbGllcyBvbiB0aGUgZmFjdCB0aGUgdGhlCisjIHRhcmdldCBhbmQgbmF0aXZlIFB5dGhvbiBwYWNrYWdlcyBhcmUgdGhlIHNhbWUsIGFuZCBpdCBhbHNvIG5lZWRzIHRvIGJlIGV4ZWN1dGVkCisjIHdpdGggYSBmdWxseSB3b3JraW5nIG5hdGl2ZSBwYWNrYWdlICh3aXRoIGFsbCB0aGUgUEFDS0FHRUNPTkZJR3MgZW5hYmxlZCBhbmQgYWxsCisjIGFuZCBhbGwgdGhlIG1vZHVsZXMgc2hvdWxkIGJlIHdvcmtpbmcsIGNoZWNrIGxvZy5kb19jb21waWxlKSwgb3RoZXJ3aXNlIHRoZSBzY3JpcHQKKyMgd2lsbCBmYWlsIHRvIGZpbmQgZGVwZW5kZW5jaWVzIGNvcnJlY3RseSwgdGhpcyBub3RlIGlzIHZhbGlkIGVpdGhlciBpZiB5b3UgYXJlCisjIHVwZ3JhZGluZyB0byBhIG5ldyBQeXRob24gdmVyc2lvbiBvciBhZGRpbmcgYSBuZXcgcGFja2FnZS4KKyMKKyMKKyMgSWYgeW91IGFyZSBhZGRpbmcgYSBuZXcgcGFja2FnZSBwbGVhc2UgZm9sbG93IHRoZSBuZXh0IHN0ZXBzOgorIyAgICAgSG93IHRvIGFkZCBhIG5ldyBwYWNrYWdlOgorIyAgICAgLSBJZiBhIHVzZXIgd2FudHMgdG8gYWRkIGEgbmV3IHBhY2thZ2UgYWxsIHRoYXQgaGFzIHRvIGJlIGRvbmUgaXM6CisjICAgICBNb2RpZnkgdGhlIHB5dGhvbjMtbWFuaWZlc3QuanNvbiBmaWxlLCBhbmQgYWRkIHRoZSByZXF1aXJlZCBmaWxlKHMpIHRvIHRoZSBGSUxFUyBsaXN0LAorIyAgICAgZmlsbCB1cCB0aGUgU1VNTUFSWSBzZWN0aW9uIGFzIHdlbGwsIHRoZSBzY3JpcHQgc2hvdWxkIGhhbmRsZSBhbGwgdGhlIHJlc3QuCisjCisjICAgICBSZWFsIGV4YW1wbGU6CisjICAgICBXZSB3YW50IHRvIGFkZCBhIHdlYiBicm93c2VyIHBhY2thZ2UsIGluY2x1ZGluZyB0aGUgZmlsZSB3ZWJicm93c2VyLnB5CisjICAgICB3aGljaCBhdCB0aGUgbW9tZW50IGlzIG9uIHB5dGhvbjMtbWlzYy4KKyMgICAgICJ3ZWJicm93c2VyIjogeworIyAgICAgICAgICJmaWxlcyI6IFsiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvd2ViYnJvd3Nlci5weSJdLAorIyAgICAgICAgICJyZGVwZW5kcyI6IFtdLAorIyAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBXZWIgQnJvd3NlciBzdXBwb3J0In0KKyMKKyMgICAgICogTm90ZSB0aGF0IHRoZSByZGVwZW5kcyBmaWVsZCB3YXMgbGVmdCBlbXB0eQorIworIyAgICAgV2UgcnVuICQgYml0YmFrZSBweXRob24zIC1jIGNyZWF0ZV9tYW5pZmVzdCBhbmQgdGhlIHJlc3VsdGluZyBtYW5pZmVzdAorIyAgICAgc2hvdWxkIGJlIGNvbXBsZXRlZCBhZnRlciBhIGZldyBzZWNvbmRzLCBzaG93aW5nIHNvbWV0aGluZyBsaWtlOgorIyAgICAgIndlYmJyb3dzZXIiOiB7CisjICAgICAgICAgImZpbGVzIjogWyIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS93ZWJicm93c2VyLnB5Il0sCisjICAgICAgICAgInJkZXBlbmRzIjogWyJjb3JlIiwiZmNudGwiLCJpbyIsInBpY2tsZSIsInNoZWxsIiwic3VicHJvY2VzcyJdLAorIyAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBXZWIgQnJvd3NlciBzdXBwb3J0In0KKyMKKyMKKyMgSWYgeW91IGFyZSB1cGdyYWRpbmcgUHl0aG9uIHRvIGEgbmV3IHZlcnNpb24gcGxlYXNlIGZvbGxvdyB0aGUgbmV4dCBzdGVwczoKKyMgICAgIEFmdGVyIGVhY2ggUHl0aG9uIHVwZ3JhZGUsIHRoZSBjcmVhdGVfbWFuaWZlc3QgdGFzayBzaG91bGQgYmUgZXhlY3V0ZWQsIGJlY2F1c2Ugd2UKKyMgICAgIGRvbid0IGNvbnRyb2wgd2hhdCBjaGFuZ2VzIG9uIHVwc3RyZWFtIFB5dGhvbiwgc28sIHNvbWUgbW9kdWxlIGRlcGVuZGVuY3kKKyMgICAgIG1pZ2h0IGhhdmUgY2hhbmdlZCB3aXRob3V0IHVzIHJlYWxpemluZyBpdCwgYSBjZXJ0YWluIG1vZHVsZSBjYW4gZWl0aGVyIGhhdmUKKyMgICAgIG1vcmUgb3IgbGVzcyBkZXBlbmRlbmNpZXMsIG9yIGNvdWxkIGJlIGRlcGVuZGluZyBvbiBhIG5ldyBmaWxlIHRoYXQgd2FzIGp1c3QKKyMgICAgIGNyZWF0ZWQgb24gdGhlIG5ldyByZWxlYXNlIGFuZCBmb3Igb2J2aW91cyByZWFzb25zIHdlIHdvdWxkbid0IGhhdmUgaXQgb24gb3VyCisjICAgICBvbGQgbWFuaWZlc3QsIGFsbCBvZiB0aGVzZSBpc3N1ZXMgd291bGQgY2F1c2UgcnVudGltZSBlcnJvcnMgb24gb3VyIHN5c3RlbS4KKyMKKyMgICAgIC0gVXBncmFkZSBib3RoIHRoZSBuYXRpdmUgYW5kIHRhcmdldCBQeXRob24gcGFja2FnZXMgdG8gYSBuZXcgdmVyc2lvbgorIyAgICAgLSBSdW4gdGhlIGNyZWF0ZV9tYW5pZmVzdCB0YXNrIGZvciB0aGUgdGFyZ2V0IFB5dGhvbiBwYWNrYWdlIGFzIGl0cyBzaG93biBiZWxvdzoKKyMKKyMgICAgICQgYml0YmFrZSBweXRob24zIC1jIGNyZWF0ZV9tYW5pZmVzdAorIworIyAgICAgVGhpcyB3aWxsIGF1dG9tYXRpY2FsbHkgcmVwbGFjZSB5b3VyIG1hbmlmZXN0IGZpbGUgbG9jYXRlZCB1bmRlciB0aGUgUHl0aG9uIGRpcmVjdG9yeQorIyAgICAgd2l0aCBhbiBuZXcgb25lLCB3aGljaCBjb250YWlucyB0aGUgbmV3IGRlcGVuZGVuY2llcyAoaWYgYW55KS4KKyMKKyMgICAgIFNldmVyYWwgdGhpbmdzIGNvdWxkIGhhdmUgZ29uZSB3cm9uZyBoZXJlLCBJIHdpbGwgdHJ5IHRvIGV4cGxhaW4gYSBmZXc6CisjCisjICAgICBhKSBBIG5ldyBmaWxlIHdhcyBpbnRyb2R1Y2VkIG9uIHRoaXMgcmVsZWFzZSwgZS5nLiBzaGEzKi5zbzoKKyMgICAgICAgIFRoZSB0YXNrIHdpbGwgY2hlY2sgd2hhdCBpdHMgbmVlZGVkIHRvIGltcG9ydCBldmVyeSBtb2R1bGUsIG1vcmUgdGhhbiBvbmUgbW9kdWxlIHdvdWxkCisjICAgICAgICB3b3VsZCBwcm9iYWJseSBkZXBlbmQgb24gc2hhMyouc28sIGFsdGhvdWdoIG9ubHkgb25lIG1vZHVsZSBzaG91bGQgY29udGFpbiBpdC4KKyMKKyMgICAgICAgIEFmdGVyIHJ1bm5pbmcgdGhlIHRhc2ssIHRoZSBuZXcgbWFuaWZlc3Qgd2lsbCBoYXZlIHRoZSBzaGEzKi5zbyBmaWxlIG9uIG1vcmUgdGhhbiBvbmUKKyMgICAgICAgIG1vZHVsZSwgeW91IG5lZWQgdG8gbWFudWFsbHkgZGVjaWRlIHdoaWNoIG9uZSBvZiB0aGVtIHNob3VsZCBnZXQgaXQgYW5kIGRlbGV0ZSBpdCBmcm9tCisjICAgICAgICB0aGUgb3RoZXJzLCBmb3IgZXhhbXBsZSBzaGEzKi5zbyBzaG91bGQgbGlrZWx5IGJlIG9uICR7UE59LWNyeXB0LgorIyAgICAgICAgT25jZSB5b3UgaGF2ZSBkZWxldGVkIGZyb20gdGhlIG90aGVycyB5b3UgbmVlZCB0byBydW4gdGhlIGNyZWF0ZV9tYW5pZmVzdCB0YXNrIGFnYWluLAorIyAgICAgICAgdGhpcyB3aWxsIHBvcHVsYXRlIHRoZSBvdGhlciBtb2R1bGUncyByZGVwZW5kcyBmaWVsZHMsIHdpdGggJHtQTn0tY3J5cHQgYW5kIHlvdSBzaG91bGQgYmUKKyMgICAgICAgIGdvb2QgdG8gZ28uCisjCisjICAgICBiKSBUaGUgbmF0aXZlIHBhY2thZ2Ugd2Fzbid0IGJ1aWx0IGNvcnJlY3RseSBhbmQgaXRzIG1pc3NpbmcgYSBjZXJ0YWluIG1vZHVsZToKKyMgICAgICAgIEFzIG1lbnRpb25lZCBiZWZvcmUsIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUgbmF0aXZlIHBhY2thZ2Ugd2FzIGJ1aWx0IHdpdGggYWxsIHRoZSBtb2R1bGVzCisjICAgICAgICBiZWNhdXNlIGl0IGlzIHVzZWQgYXMgYmFzZSB0byBidWlsZCB0aGUgbWFuaWZlc3QgZmlsZSwgeW91IG5lZWQgdG8gbWFudWFsbHkgY2hlY2sgbG9nLmRvX2NvbXBpbGUKKyMgICAgICAgIHNpbmNlIGl0IHdvbid0IGVycm9yIG91dCB0aGUgY29tcGlsZSBmdW5jdGlvbiBpZiBpdHMgb25seSBtaXNzaW5nIGEgY291cGxlIG9mIG1vZHVsZXMuCisjCisjICAgICAgICBlLmcuIG1pc3NpbmcgdGhlIF91dWlkIG1vZHVsZSwgbG9nLmRvX2NvbXBpbGUgd291bGQgc2hvdyB0aGUgZm9sbG93aW5nOgorIyAgICAgICAgUHl0aG9uIGJ1aWxkIGZpbmlzaGVkIHN1Y2Nlc3NmdWxseSEKKyMgICAgICAgIFRoZSBuZWNlc3NhcnkgYml0cyB0byBidWlsZCB0aGVzZSBvcHRpb25hbCBtb2R1bGVzIHdlcmUgbm90IGZvdW5kOgorIyAgICAgICAgX3V1aWQKKyMKKyMgICAgICAgIFdoYXQgd2lsbCBoYXBwZW4gaGVyZSBpcyB0aGF0IHRoZSBuZXcgbWFuaWZlc3Qgd291bGQgbm90IGJlIGF3YXJlIHRoYXQgdGhlIF91dWlkIG1vZHVsZSBleGlzdHMsIHNvCisjICAgICAgICBub3Qgb25seSB3ZSB3b24ndCBrbm93IG9mIGFueSBkZXBlbmRlbmNpZXMgdG8gaXQsIGJ1dCBhbHNvLCB0aGUgX3V1aWQqIGZpbGVzIHdpbGwgYmUgcGFja2FnZWQgb24KKyMgICAgICAgIHRoZSBtaXNjIHBhY2thZ2UgKHdoaWNoIGlzIHdoZXJlIGFueSBmaWxlIHRoYXQgZG9lc24ndCBiZWxvbmcgYW55d2hlcmUgZWxzZSBlbmRzIHVwKS4KKyMKKyMgICAgICAgIFRoaXMgd2lsbCBldmVudHVhbGx5IGNhdXNlIHJ1bnRpbWUgZXJyb3JzIG9uIG91ciBzeXN0ZW0gaWYgd2UgZG9uJ3QgaW5jbHVkZSB0aGUgbWlzYyBwYWNrYWdlIG9uCisjICAgICAgICBvbiBvdXIgaW1hZ2UsIGJlY2F1c2UgdGhlIF91dWlkIGZpbGVzIHdpbGwgYmUgbWlzc2luZy4KKyMgICAgICAgIElmIHdlIGJ1aWxkIHRoZSBfdXVpZCBtb2R1bGUgY29ycmVjdGx5IGFuZCBydW4gdGhlIGNyZWF0ZV9tYW5pZmVzdCB0YXNrIHRoZSBfdXVpZCBmaWxlcyB3aWxsIGJlCisjICAgICAgICBkZXRlY3RlZCBjb3JyZWN0bHkgYWxvbmcgd2l0aCBpdHMgZGVwZW5kZW5jaWVzLCBhbmQgd2Ugd2lsbCBnZXQgYSB3b3JraW5nIG1hbmlmZXN0LgorIworIyAgICAgICAgVGhpcyBpcyB0aGUgcmVhc29uIHdoeSBpdCBpcyBpbXBvcnRhbnQgdG8gbWFrZSBzdXJlIHdlIGhhdmUgYSBmdWxseSB3b3JraW5nIG5hdGl2ZSBidWlsZCwKKyMgICAgICAgIHNvIHdlIGNhbiBhdm9pZCB0aGVzZSBlcnJvcnMuCisjCisjCisjCisjIERPIE5PVCBNT0RJRlkgVEhFIE5FWFQgTElORSEsIElUIElTIFVTRUQgQVMgQSBNQVJLRVIgRk9SIFRIRSBBQ1RVQUwgSlNPTiBNQU5JRkVTVAorIyBFT0MKIHsKICAgICAidGVzdHMiOiB7CiAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiB0ZXN0IHN1aXRlIiwKQEAgLTE5LDcgKzEwOSw3IEBACiAgICAgICAgICAgICAiY29yZSIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwotICAgICAgICAgICAgIiR7YmluZGlyfS8ydG8zLSoiLAorICAgICAgICAgICAgIiR7YmluZGlyfS8ydG8zKiIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliMnRvMyIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFtdCkBAIC0yNywyNCArMTE3LDE4IEBACiAgICAgImFzeW5jaW8iOiB7CiAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBBc3luY2hyb25vdXMgSS8iLAogICAgICAgICAicmRlcGVuZHMiOiBbCi0gICAgICAgICAgICAiY29tcHJlc3Npb24iLAogICAgICAgICAgICAgImNvcmUiLAotICAgICAgICAgICAgImNyeXB0IiwKICAgICAgICAgICAgICJpbyIsCiAgICAgICAgICAgICAibG9nZ2luZyIsCi0gICAgICAgICAgICAibWF0aCIsCi0gICAgICAgICAgICAibXVsdGlwcm9jZXNzaW5nIiwKICAgICAgICAgICAgICJuZXRjbGllbnQiLAotICAgICAgICAgICAgInBpY2tsZSIsCi0gICAgICAgICAgICAic2hlbGwiLAotICAgICAgICAgICAgInN0cmluZ29sZCIsCi0gICAgICAgICAgICAidGhyZWFkaW5nIiwKLSAgICAgICAgICAgICJ1bml4YWRtaW4iCisgICAgICAgICAgICAibnVtYmVycyIsCisgICAgICAgICAgICAic3RyaW5nb2xkIgogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYXN5bmNpbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uY3VycmVudCIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uY3VycmVudC9mdXR1cmVzIgorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmN1cnJlbnQvZnV0dXJlcyIsCisgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2FzeW5jaW8uKi5zbyIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFtdCiAgICAgfSwKQEAgLTg0LDE5ICsxNjgsNyBAQAogICAgICJjb21waWxlIjogewogICAgICAgICAic3VtbWFyeSI6ICJQeXRob24gYnl0ZWNvZGUgY29tcGlsYXRpb24gc3VwcG9ydCIsCiAgICAgICAgICJyZGVwZW5kcyI6IFsKLSAgICAgICAgICAgICJhc3luY2lvIiwKLSAgICAgICAgICAgICJjb21wcmVzc2lvbiIsCi0gICAgICAgICAgICAiY29yZSIsCi0gICAgICAgICAgICAiY3J5cHQiLAotICAgICAgICAgICAgImlvIiwKLSAgICAgICAgICAgICJsb2dnaW5nIiwKLSAgICAgICAgICAgICJtYXRoIiwKLSAgICAgICAgICAgICJtdWx0aXByb2Nlc3NpbmciLAotICAgICAgICAgICAgInBpY2tsZSIsCi0gICAgICAgICAgICAic2hlbGwiLAotICAgICAgICAgICAgInN0cmluZ29sZCIsCi0gICAgICAgICAgICAidGhyZWFkaW5nIiwKLSAgICAgICAgICAgICJ1bml4YWRtaW4iCisgICAgICAgICAgICAiY29yZSIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbXBpbGVhbGwucHkiLApAQCAtMTQwLDYgKzIxMiw3IEBACiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2JpbmRpcn0vcHl0aG9uKlshLWNvbmZpZ10iLAogICAgICAgICAgICAgIiR7aW5jbHVkZWRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS9weWNvbmZpZyouaCIsCisgICAgICAgICAgICAiJHtwcmVmaXh9L2xpYi9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZyovKlshLmFdIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9Vc2VyRGljdC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vVXNlckxpc3QucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L1VzZXJTdHJpbmcucHkiLApAQCAtMTQ5LDcgKzIyMiw3IEBACiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX2NvbGxlY3Rpb25zX2FiYy5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX21hcmt1cGJhc2UucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zaXRlYnVpbHRpbnMucHkiLAotICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5IiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YSoucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L193ZWFrcmVmc2V0LnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9hYmMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2FyZ3BhcnNlLnB5IiwKQEAgLTMyMyw5ICszOTYsMTMgQEAKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NyeXB0LnB5IiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9oYXNobGliLnB5IiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fYmxha2UyLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19jcnlwdC4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9faGFzaGxpYi4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fc2hhMjU2Liouc28iLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19zaGEzLiouc28iLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19zaGExLiouc28iLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19tZDUuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX3NoYTUxMi4qLnNvIgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogWwpAQCAtNDE1LDkgKzQ5Miw3IEBACiAgICAgICAgICAgICAiJHtsaWJkaXJ9LyoubGEiLAogICAgICAgICAgICAgIiR7bGliZGlyfS8qLm8iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9saWIqJHtTT0xJQlNERVZ9IiwKLSAgICAgICAgICAgICIke2xpYmRpcn0vcGtnY29uZmlnIiwKLSAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcqL01ha2VmaWxlIiwKLSAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcqL01ha2VmaWxlL19fcHljYWNoZV9fIgorICAgICAgICAgICAgIiR7bGliZGlyfS9wa2djb25maWciCiAgICAgICAgIF0sCiAgICAgICAgICJyZGVwZW5kcyI6IFsKICAgICAgICAgICAgICJjb3JlIgpAQCAtNzMwLDcgKzgwNSw5IEBACiAgICAgIm11bHRpcHJvY2Vzc2luZyI6IHsKICAgICAgICAgInN1bW1hcnkiOiAiUHl0aG9uIG11bHRpcHJvY2Vzc2luZyBzdXBwb3J0IiwKICAgICAgICAgInJkZXBlbmRzIjogWwotICAgICAgICAgICAgImNvcmUiCisgICAgICAgICAgICAiY29yZSIsCisgICAgICAgICAgICAiaW8iLAorICAgICAgICAgICAgInBpY2tsZSIKICAgICAgICAgXSwKICAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL19tdWx0aXByb2Nlc3NpbmcuKi5zbyIsCkBAIC03NDEsMTggKzgxOCwxNCBAQAogICAgICJuZXRjbGllbnQiOiB7CiAgICAgICAgICJzdW1tYXJ5IjogIlB5dGhvbiBJbnRlcm5ldCBQcm90b2NvbCBjbGllbnRzIiwKICAgICAgICAgInJkZXBlbmRzIjogWwotICAgICAgICAgICAgImNvbXByZXNzaW9uIiwKICAgICAgICAgICAgICJjb3JlIiwKICAgICAgICAgICAgICJjcnlwdCIsCi0gICAgICAgICAgICAiY3R5cGVzIiwKICAgICAgICAgICAgICJkYXRldGltZSIsCiAgICAgICAgICAgICAiZW1haWwiLAogICAgICAgICAgICAgImlvIiwKICAgICAgICAgICAgICJtYXRoIiwKICAgICAgICAgICAgICJtaW1lIiwKLSAgICAgICAgICAgICJzaGVsbCIsCi0gICAgICAgICAgICAic3RyaW5nb2xkIiwKLSAgICAgICAgICAgICJ1bml4YWRtaW4iCisgICAgICAgICAgICAic3RyaW5nb2xkIgogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vYmFzZTY0LnB5IiwKQEAgLTc2MCw2ICs4MzMsNyBAQAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2htYWMucHkiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2h0dHAiLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2h0dHAvX19weWNhY2hlX18iLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkL191dWlkLiouc28iLAogICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L21pbWV0eXBlcy5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbm50cGxpYi5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vcG9wbGliLnB5IiwKQEAgLTgxNCwxMyArODg4LDE2IEBACiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fcHlkZWNpbWFsLnB5IiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb250ZXh0dmFycy5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vZGVjaW1hbC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vZnJhY3Rpb25zLnB5IiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fY29udGV4dHZhcnMuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbGliLWR5bmxvYWQvX2RlY2ltYWwuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vbnVtYmVycy5weSIKICAgICAgICAgXSwKICAgICAgICAgImNhY2hlZCI6IFsKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fX3B5Y2FjaGVfXy9fcHlkZWNpbWFsLioucHljIiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fX3B5Y2FjaGVfXy9jb250ZXh0dmFycy4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vZGVjaW1hbC4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vZnJhY3Rpb25zLioucHljIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fX3B5Y2FjaGVfXy9udW1iZXJzLioucHljIgpAQCAtMTA0NCwxMyArMTEyMSwxMiBAQAogICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX2R1bW15X3RocmVhZC5weSIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3RocmVhZGluZ19sb2NhbC5weSIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vZHVtbXlfdGhyZWFkaW5nLnB5IiwKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fcXVldWUuKi5zbyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vcXVldWUucHkiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vX2R1bW15X3RocmVhZC4qLnB5YyIsCiAgICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vX3RocmVhZGluZ19sb2NhbC4qLnB5YyIsCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX19weWNhY2hlX18vZHVtbXlfdGhyZWFkaW5nLioucHljIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fX3B5Y2FjaGVfXy9xdWV1ZS4qLnB5YyIKICAgICAgICAgXQogICAgIH0sCkBAIC0xMDYwLDYgKzExMzYsNyBAQAogICAgICAgICAgICAgImNvcmUiCiAgICAgICAgIF0sCiAgICAgICAgICJmaWxlcyI6IFsKKyAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9saWItZHlubG9hZC9fdGtpbnRlci4qLnNvIiwKICAgICAgICAgICAgICIke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS90a2ludGVyIgogICAgICAgICBdLAogICAgICAgICAiY2FjaGVkIjogW10KQEAgLTExMTksOCArMTE5Niw4IEBACiAgICAgICAgICAgICAidW5peGFkbWluIgogICAgICAgICBdLAogICAgICAgICAiZmlsZXMiOiBbCi0gICAgICAgICAgICAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vdmVudiIsCi0gICAgICAgICAgICAiJHtiaW5kaXJ9L3B5dmVudioiCisgICAgICAgICAgICAiJHtiaW5kaXJ9L3B5dmVudioiLAorICAgICAgICAgICAgIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L3ZlbnYiCiAgICAgICAgIF0sCiAgICAgICAgICJjYWNoZWQiOiBbXQogICAgIH0sCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLXVzZS1DUk9TU1BZVEhPTlBBVEgtZm9yLVBZVEhPTl9GT1JfQlVJTEQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9weXRob24zLXVzZS1DUk9TU1BZVEhPTlBBVEgtZm9yLVBZVEhPTl9GT1JfQlVJTEQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0ZjhiZDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcHl0aG9uMy11c2UtQ1JPU1NQWVRIT05QQVRILWZvci1QWVRIT05fRk9SX0JVSUxELnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSA1M2VkMjE2ZDdiZjcwZGQyYTkyNTQzMmI2ODA1YTcwMWU1ZmMzZTBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IE1vbiwgMTcgTm92IDIwMTQgMDY6NDQ6NDcgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gcHl0aG9uMyB1c2UgQ1JPU1NQWVRIT05QQVRIIGZvciBQWVRIT05fRk9SX0JVSUxECi0KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQ3Jvc3MgY29tcGlsZSBzcGVjaWZpY10KLQotU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotSW5kZXg6IFB5dGhvbi0zLjUuNC9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMy41LjQub3JpZy9jb25maWd1cmUuYWMKLSsrKyBQeXRob24tMy41LjQvY29uZmlndXJlLmFjCi1AQCAtNzMsNyArNzMsNyBAQCBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgotIAkgICAgQUNfTVNHX0VSUk9SKFtweXRob24kUEFDS0FHRV9WRVJTSU9OIGludGVycHJldGVyIG5vdCBmb3VuZF0pCi0gCWZpCi0gICAgICAgICBBQ19NU0dfUkVTVUxUKCRpbnRlcnApCi0tCVBZVEhPTl9GT1JfQlVJTEQ9J19QWVRIT05fUFJPSkVDVF9CQVNFPSQoYWJzX2J1aWxkZGlyKSBfUFlUSE9OX0hPU1RfUExBVEZPUk09JChfUFlUSE9OX0hPU1RfUExBVEZPUk0pIFBZVEhPTlBBVEg9JChzaGVsbCB0ZXN0IC1mIHB5YnVpbGRkaXIudHh0ICYmIGVjaG8gJChhYnNfYnVpbGRkaXIpL2BjYXQgcHlidWlsZGRpci50eHRgOikkKHNyY2RpcikvTGliOiQoc3JjZGlyKS9MaWIvJChQTEFURElSKSAnJGludGVycAotKwlQWVRIT05fRk9SX0JVSUxEPSdfUFlUSE9OX1BST0pFQ1RfQkFTRT0kKGFic19idWlsZGRpcikgX1BZVEhPTl9IT1NUX1BMQVRGT1JNPSQoX1BZVEhPTl9IT1NUX1BMQVRGT1JNKSBQWVRIT05QQVRIPSQoQ1JPU1NQWVRIT05QQVRIKSAnJGludGVycAotICAgICBmaQotIGVsaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSBtYXliZTsgdGhlbgotICAgICBBQ19NU0dfRVJST1IoW0Nyb3NzIGNvbXBpbGluZyByZXF1aXJlZCAtLWhvc3Q9SE9TVC1UVVBMRSBhbmQgLS1idWlsZD1BUkNIXSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3JlZ2VuLWFsbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3JlZ2VuLWFsbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZiOWQ5ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9yZWdlbi1hbGwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1weXRob24zLW5hdGl2ZTogcnVuIHJlZ2VuLWltcG9ydGxpYiB0YXJnZXQgY29ycmVjdGx5Ci0KLXJlZ2VuLWltcG9ydGxpYiBkZXBlbmRzIG9uIG90aGVyIHJlZ2VuLSB0YXJnZXRzLCBzbyB3ZSBtdXN0IGJlIHN1cmUgdG8KLXJ1biBpdCBhZnRlciAobW9zdCBvZikgdGhlIG90aGVycy4gIEluIHJlYWxpdHksIHdlIGRvIG5vdCBuZWVkIHRvIHJ1biBpdAotYXQgYWxsIHNpbmNlICJtYWtlIiB3aWxsIGludm9rZSBpdCwgaWYgbmVjZXNzYXJ5LiAgV2UgZG8gbm90IHdhbnQgdG8KLXJlbHkgb24gdGhhdCwgdGhvdWdoLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgotCi0KLQotLS0tIGEvTWFrZWZpbGUucHJlLmluCi0rKysgYi9NYWtlZmlsZS5wcmUuaW4KLUBAIC03MDksNyArNzA5LDggQEAgcmVnZW4taW1wb3J0bGliOiBQcm9ncmFtcy9fZnJlZXplX2ltcG9ydAotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAjIFJlZ2VuZXJhdGUgYWxsIGdlbmVyYXRlZCBmaWxlcwotIAotLXJlZ2VuLWFsbDogcmVnZW4tb3Bjb2RlIHJlZ2VuLW9wY29kZS10YXJnZXRzIHJlZ2VuLXR5cGVzbG90cyByZWdlbi1ncmFtbWFyIHJlZ2VuLWFzdCByZWdlbi1pbXBvcnRsaWIKLStyZWdlbi1hbGw6IHJlZ2VuLW9wY29kZSByZWdlbi1vcGNvZGUtdGFyZ2V0cyByZWdlbi10eXBlc2xvdHMgcmVnZW4tZ3JhbW1hciByZWdlbi1hc3QKLSsJJChNQUtFKSByZWdlbi1pbXBvcnRsaWIKLSAKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIyBTcGVjaWFsIHJ1bGVzIGZvciBvYmplY3QgZmlsZXMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3J1bi1wdGVzdAppbmRleCAzODYzYzZkLi4yMGM5Mjc0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9ydW4tcHRlc3QKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvcnVuLXB0ZXN0CkBAIC0xLDMgKzEsMyBAQAogIyEvYmluL3NoCiAKLXB5dGhvbjMgLW0gdGVzdCAtdiB8IHNlZCAtZSAnL1wuXC5cLiBvay8gcy9eL1BBU1M6IC9nJyAtZSAnL1wuXC5cLiBbRVJST1J8RkFJTF0vIHMvXi9GQUlMOiAvZycgLWUgJy9cLlwuXC4gc2tpcHBlZC8gcy9eL1NLSVA6IC9nJyAtZSAncy8gXC5cLlwuIG9rLy9nJyAtZSAncy8gXC5cLlwuIEVSUk9SLy9nJyAtZSAncy8gXC5cLlwuIEZBSUwvL2cnIC1lICdzLyBcLlwuXC4gc2tpcHBlZC8vZycKK3B5dGhvbjMgLW0gdGVzdCAtVyB8IHNlZCAtZSAnL1wuXC5cLiBvay8gcy9eL1BBU1M6IC9nJyAtZSAnL1wuXC5cLiBbRVJST1J8RkFJTF0vIHMvXi9GQUlMOiAvZycgLWUgJy9cLlwuXC4gc2tpcHBlZC8gcy9eL1NLSVA6IC9nJyAtZSAncy8gXC5cLlwuIG9rLy9nJyAtZSAncy8gXC5cLlwuIEVSUk9SLy9nJyAtZSAncy8gXC5cLlwuIEZBSUwvL2cnIC1lICdzLyBcLlwuXC4gc2tpcHBlZC8vZycKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NldHVwLnB5LWNoZWNrLWNyb3NzX2NvbXBpbGluZy13aGVuLWdldC1GTEFHUy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmMyZTEyZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cC5weS1jaGVjay1jcm9zc19jb21waWxpbmctd2hlbi1nZXQtRkxBR1MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi1Gcm9tIDhkYWQ4MTBmM2EzZDA3M2YwOWFkNzJlMWEzZWUwYTg5NWVhYjJjYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFN1biwgMTggSmFuIDIwMTUgMTk6MDU6MzYgLTA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2V0dXAucHk6Y2hlY2sgY3Jvc3NfY29tcGlsaW5nIHdoZW4gZ2V0IEZMQUdTCi0KLUZpeGVkIHdoZW4gY29tcGlsZSB0YXJnZXQgcHl0aG5vbjM6Ci1nY2MgLWlzeXN0ZW0vcGF0aC90by9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2luY2x1ZGUgXAotICAgIC1MPS9wYXRoL3RvL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliCi0KLVRoaXMgaXMgaW5jb3JyZWN0LCB0aGUgbmF0aXZlIHN5c3Jvb3Qgc2hvdWxkIG5vdCBiZSB1c2VkIGJ5IHRhcmdldAotcHl0aG9uMy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gc2V0dXAucHkgfCAgIDEwICsrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQotaW5kZXggZTgzMzljZC4uODNmZDMxZiAxMDA2NDQKLS0tLSBhL3NldHVwLnB5Ci0rKysgYi9zZXR1cC5weQotQEAgLTIzOCw3ICsyMzgsMTAgQEAgY2xhc3MgUHlCdWlsZEV4dChidWlsZF9leHQpOgotICAgICAgICAgIyB1bmZvcnR1bmF0ZWx5LCBkaXN0dXRpbHMgZG9lc24ndCBsZXQgdXMgcHJvdmlkZSBzZXBhcmF0ZSBDIGFuZCBDKysKLSAgICAgICAgICMgY29tcGlsZXJzCi0gICAgICAgICBpZiBjb21waWxlciBpcyBub3QgTm9uZToKLS0gICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0NDU0hBUkVEJywnQ0ZMQUdTJykKLSsgICAgICAgICAgICBpZiBjcm9zc19jb21waWxpbmc6Ci0rICAgICAgICAgICAgICAgIChjY3NoYXJlZCxjZmxhZ3MpID0gKG9zLmVudmlyb24uZ2V0KCdDQ1NIQVJFRCcpIG9yICcnLCBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJykgb3IgJycpCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgKGNjc2hhcmVkLGNmbGFncykgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQ1NIQVJFRCcsJ0NGTEFHUycpCi0gICAgICAgICAgICAgYXJnc1snY29tcGlsZXJfc28nXSA9IGNvbXBpbGVyICsgJyAnICsgY2NzaGFyZWQgKyAnICcgKyBjZmxhZ3MKLSAgICAgICAgIHNlbGYuY29tcGlsZXIuc2V0X2V4ZWN1dGFibGVzKCoqYXJncykKLSAKLUBAIC00NTcsNyArNDYwLDEwIEBAIGNsYXNzIFB5QnVpbGRFeHQoYnVpbGRfZXh0KToKLSAgICAgICAgICAgICAgICAgKCdMREZMQUdTJywgJy1SJywgc2VsZi5jb21waWxlci5ydW50aW1lX2xpYnJhcnlfZGlycyksCi0gICAgICAgICAgICAgICAgICgnTERGTEFHUycsICctTCcsIHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzKSwKLSAgICAgICAgICAgICAgICAgKCdDUFBGTEFHUycsICctSScsIHNlbGYuY29tcGlsZXIuaW5jbHVkZV9kaXJzKSk6Ci0tICAgICAgICAgICAgZW52X3ZhbCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcihlbnZfdmFyKQotKyAgICAgICAgICAgIGlmIGNyb3NzX2NvbXBpbGluZzoKLSsgICAgICAgICAgICAgICAgZW52X3ZhbCA9IG9zLmVudmlyb24uZ2V0KGVudl92YXIpCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgZW52X3ZhbCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcihlbnZfdmFyKQotICAgICAgICAgICAgIGlmIGVudl92YWw6Ci0gICAgICAgICAgICAgICAgICMgVG8gcHJldmVudCBvcHRwYXJzZSBmcm9tIHJhaXNpbmcgYW4gZXhjZXB0aW9uIGFib3V0IGFueQotICAgICAgICAgICAgICAgICAjIG9wdGlvbnMgaW4gZW52X3ZhbCB0aGF0IGl0IGRvZXNuJ3Qga25vdyBhYm91dCB3ZSBzdHJpcCBvdXQKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zZXR1cHR3ZWFrcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NldHVwdHdlYWtzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTkxYjE5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NldHVwdHdlYWtzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotVGhpcyBwYXRjaCByZW1vdmVzIHZhcmlvdXMgd2F5cyBuYXRpdmUgc3lzdGVtIG9wdGlvbnMgY2FuIHBhc3MgaW50byB0aGUgcHl0aG9uIAotY29tcGlsYXRpb24gYW5kIHNvbWVob3cgYnJlYWsgQyBtb2R1bGVzLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW09FIFNwZWNpZmljXQotCi1SUCAyMDEyLzA0LzIzCi0KLUluZGV4OiBQeXRob24tMi43LjIvc2V0dXAucHkKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBQeXRob24tMi43LjIub3JpZy9zZXR1cC5weQkyMDEyLTA0LTIzIDIwOjAzOjQ3LjI5NTU4MjU1MyArMDAwMAotKysrIFB5dGhvbi0yLjcuMi9zZXR1cC5weQkyMDEyLTA0LTIzIDIwOjAzOjE1LjAwMDAwMDAwMCArMDAwMAotQEAgLTIzMSw3ICsyMzEsMTMgQEAKLSAgICAgICAgICMgY29tcGlsZXJzCi0gICAgICAgICBpZiBjb21waWxlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAoY2NzaGFyZWQsY2ZsYWdzKSA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoJ0NDU0hBUkVEJywnQ0ZMQUdTJykKLS0gICAgICAgICAgICBhcmdzWydjb21waWxlcl9zbyddID0gY29tcGlsZXIgKyAnICcgKyBjY3NoYXJlZCArICcgJyArIGNmbGFncwotKyAgICAgICAgICAgICMgTmVlZCB0byBmaWx0ZXIgb3V0IC1pc3lzcm9vdCBmcm9tIHRoZSBmbGFncy4gSWRlYWxseSBzaG91bGQgCi0rICAgICAgICAgICAgIyBmaWd1cmUgb3V0IHRhcmdldCBmbGFncyBoZXJlLgotKyAgICAgICAgICAgIGZsYWdzID0gW10KLSsgICAgICAgICAgICBmb3IgZiBpbiBjZmxhZ3Muc3BsaXQoKToKLSsgICAgICAgICAgICAgICAgaWYgbm90IGYuc3RhcnRzd2l0aCgiLWlzeXN0ZW0iKToKLSsgICAgICAgICAgICAgICAgICAgIGZsYWdzLmFwcGVuZChmKQotKyAgICAgICAgICAgIGFyZ3NbJ2NvbXBpbGVyX3NvJ10gPSBjb21waWxlciArICcgJyArIGNjc2hhcmVkICsgJyAnICsgJyAnLmpvaW4oZmxhZ3MpCi0gICAgICAgICBzZWxmLmNvbXBpbGVyLnNldF9leGVjdXRhYmxlcygqKmFyZ3MpCi0gCi0gICAgICAgICBidWlsZF9leHQuYnVpbGRfZXh0ZW5zaW9ucyhzZWxmKQotQEAgLTM5Myw3ICszOTksNiBAQAotICAgICAgICAgIyBpbnRvIGNvbmZpZ3VyZSBhbmQgc3RvcmVkIGluIHRoZSBNYWtlZmlsZSAoaXNzdWUgZm91bmQgb24gT1MgWCAxMC4zKS4KLSAgICAgICAgIGZvciBlbnZfdmFyLCBhcmdfbmFtZSwgZGlyX2xpc3QgaW4gKAotICAgICAgICAgICAgICAgICAoJ0xERkxBR1MnLCAnLVInLCBzZWxmLmNvbXBpbGVyLnJ1bnRpbWVfbGlicmFyeV9kaXJzKSwKLS0gICAgICAgICAgICAgICAgKCdMREZMQUdTJywgJy1MJywgc2VsZi5jb21waWxlci5saWJyYXJ5X2RpcnMpLAotICAgICAgICAgICAgICAgICAoJ0NQUEZMQUdTJywgJy1JJywgc2VsZi5jb21waWxlci5pbmNsdWRlX2RpcnMpKToKLSAgICAgICAgICAgICBlbnZfdmFsID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKGVudl92YXIpCi0gICAgICAgICAgICAgaWYgZW52X3ZhbDoKLUBAIC00MTksMTYgKzQyNCwxNiBAQAotICAgICAgICAgICAgICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiByZXZlcnNlZChvcHRpb25zLmRpcnMpOgotICAgICAgICAgICAgICAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChkaXJfbGlzdCwgZGlyZWN0b3J5KQotIAotLSAgICAgICAgaWYgb3MucGF0aC5ub3JtcGF0aChzeXMucHJlZml4KSAhPSAnL3VzcicgXAotLSAgICAgICAgICAgICAgICBhbmQgbm90IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUFlUSE9ORlJBTUVXT1JLJyk6Ci0rIyAgICAgICAgaWYgb3MucGF0aC5ub3JtcGF0aChzeXMucHJlZml4KSAhPSAnL3VzcicgXAotKyMgICAgICAgICAgICAgICAgYW5kIG5vdCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BZVEhPTkZSQU1FV09SSycpOgotICAgICAgICAgICAgICMgT1NYIG5vdGU6IERvbid0IGFkZCBMSUJESVIgYW5kIElOQ0xVREVESVIgdG8gYnVpbGRpbmcgYSBmcmFtZXdvcmsKLSAgICAgICAgICAgICAjIChQWVRIT05GUkFNRVdPUksgaXMgc2V0KSB0byBhdm9pZCAjIGxpbmtpbmcgcHJvYmxlbXMgd2hlbgotICAgICAgICAgICAgICMgYnVpbGRpbmcgYSBmcmFtZXdvcmsgd2l0aCBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlcyB0aGFuCi0gICAgICAgICAgICAgIyB0aGUgb25lIHRoYXQgaXMgY3VycmVudGx5IGluc3RhbGxlZCAoaXNzdWUgIzc0NzMpCi0tICAgICAgICAgICAgYWRkX2Rpcl90b19saXN0KHNlbGYuY29tcGlsZXIubGlicmFyeV9kaXJzLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkxJQkRJUiIpKQotLSAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmluY2x1ZGVfZGlycywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJJTkNMVURFRElSIikpCi0rIyAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmxpYnJhcnlfZGlycywKLSsjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiTElCRElSIikpCi0rIyAgICAgICAgICAgIGFkZF9kaXJfdG9fbGlzdChzZWxmLmNvbXBpbGVyLmluY2x1ZGVfZGlycywKLSsjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiSU5DTFVERURJUiIpKQotIAotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIGhhdmVfdW5pY29kZSA9IHVuaWNvZGUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NpZ25hbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NpZ25hbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTM0YTA5Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaWduYWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDQzMTUzODlkZjNjNGU4YzFmOTRhMThhYjExYTRiMjM0NzYyMTMyYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvaW5lIFBpdHJvdSA8cGl0cm91QGZyZWUuZnI+Ci1EYXRlOiBNb24sIDIzIEFwciAyMDE4IDIyOjIyOjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFszLjZdIGJwby0zMzMyOTogRml4IG11bHRpcHJvY2Vzc2luZyByZWdyZXNzaW9uIG9uIG5ld2VyCi0gZ2xpYmNzIChHSC02NTc1KSAoR0gtNjU4MikKLQotU3RhcnRpbmcgd2l0aCBnbGliYyAyLjI3LjkwMDAteHh4LCBzaWdhZGRzZXQoKSBjYW4gcmV0dXJuIEVJTlZBTCBmb3Igc29tZQotcmVzZXJ2ZWQgc2lnbmFsIG51bWJlcnMgYmV0d2VlbiAxIGFuZCBOU0lHLiAgVGhlIGByYW5nZSgxLCBOU0lHKWAgaWRpb20KLWlzIGNvbW1vbmx5IHVzZWQgdG8gc2VsZWN0IGFsbCBzaWduYWxzIGZvciBibG9ja2luZyB3aXRoIGBwdGhyZWFkX3NpZ21hc2tgLgotU28gd2UgaWdub3JlIHRoZSBzaWdhZGRzZXQoKSByZXR1cm4gdmFsdWUgdW50aWwgd2UgZXhwb3NlIHNpZ2ZpbGxzZXQoKQotdG8gcHJvdmlkZSBhIGJldHRlciBpZGlvbS4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI1MDM4ZWNmYjY2NWJlZjY0MWFiZjhjYjYxYWZmZjc1MDViMGUwMDgpCi0tLS0KLSAuLi4vbmV4dC9MaWJyYXJ5LzIwMTgtMDQtMjMtMTMtMjEtMzkuYnBvLTMzMzI5LmxRLUVvZC5yc3QgIHwgIDEgKwotIE1vZHVsZXMvc2lnbmFsbW9kdWxlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKy0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBNaXNjL05FV1MuZC9uZXh0L0xpYnJhcnkvMjAxOC0wNC0yMy0xMy0yMS0zOS5icG8tMzMzMjkubFEtRW9kLnJzdAotCi1kaWZmIC0tZ2l0IGEvTW9kdWxlcy9zaWduYWxtb2R1bGUuYyBiL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKLWluZGV4IGUwZDA2YjQzNGQuLjEzOGU3NGU4YTkgMTAwNjQ0Ci0tLS0gYS9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCi0rKysgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCi1AQCAtNzQ0LDcgKzc0NCw2IEBAIGl0ZXJhYmxlX3RvX3NpZ3NldChQeU9iamVjdCAqaXRlcmFibGUsIHNpZ3NldF90ICptYXNrKQotICAgICBpbnQgcmVzdWx0ID0gLTE7Ci0gICAgIFB5T2JqZWN0ICppdGVyYXRvciwgKml0ZW07Ci0gICAgIGxvbmcgc2lnbnVtOwotLSAgICBpbnQgZXJyOwotIAotICAgICBzaWdlbXB0eXNldChtYXNrKTsKLSAKLUBAIC03NjYsMTEgKzc2NSwxNCBAQCBpdGVyYWJsZV90b19zaWdzZXQoUHlPYmplY3QgKml0ZXJhYmxlLCBzaWdzZXRfdCAqbWFzaykKLSAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKLSAgICAgICAgIGlmIChzaWdudW0gPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICBnb3RvIGVycm9yOwotLSAgICAgICAgaWYgKDAgPCBzaWdudW0gJiYgc2lnbnVtIDwgTlNJRykKLS0gICAgICAgICAgICBlcnIgPSBzaWdhZGRzZXQobWFzaywgKGludClzaWdudW0pOwotLSAgICAgICAgZWxzZQotLSAgICAgICAgICAgIGVyciA9IDE7Ci0tICAgICAgICBpZiAoZXJyKSB7Ci0rICAgICAgICBpZiAoMCA8IHNpZ251bSAmJiBzaWdudW0gPCBOU0lHKSB7Ci0rICAgICAgICAgICAgLyogYnBvLTMzMzI5OiBpZ25vcmUgc2lnYWRkc2V0KCkgcmV0dXJuIHZhbHVlIGFzIGl0IGNhbiBmYWlsCi0rICAgICAgICAgICAgICogZm9yIHNvbWUgcmVzZXJ2ZWQgc2lnbmFscywgYnV0IHdlIHdhbnQgdGhlIGByYW5nZSgxLCBOU0lHKWAKLSsgICAgICAgICAgICAgKiBpZGlvbSB0byBhbGxvdyBzZWxlY3RpbmcgYWxsIHZhbGlkIHNpZ25hbHMuCi0rICAgICAgICAgICAgICovCi0rICAgICAgICAgICAgKHZvaWQpIHNpZ2FkZHNldChtYXNrLCAoaW50KXNpZ251bSk7Ci0rICAgICAgICB9Ci0rICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZ25hbCBudW1iZXIgJWxkIG91dCBvZiByYW5nZSIsIHNpZ251bSk7Ci0gICAgICAgICAgICAgZ290byBlcnJvcjsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NpdGVjdXN0b21pemUucHkgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zaXRlY3VzdG9taXplLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzhiNWUyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3NpdGVjdXN0b21pemUucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0jIE9wZW5FbWJlZGRlZCBzaXRlY3VzdG9taXplLnB5IChDKSAyMDAyLTIwMDggTWljaGFlbCAnTWlja2V5JyBMYXVlciA8bWxhdWVyQHZhbmlsbGUtbWVkaWEuZGU+Ci0jIEdQTHYyIG9yIGxhdGVyCi0jIFZlcnNpb246IDIwMDgxMTIzCi0jIEZlYXR1cmVzOgotIyAqIHNldCBwcm9wZXIgZGVmYXVsdCBlbmNvZGluZwotIyAqIGVuYWJsZSByZWFkbGluZSBjb21wbGV0aW9uIGluIHRoZSBpbnRlcmFjdGl2ZSBpbnRlcnByZXRlcgotIyAqIGxvYWQgY29tbWFuZCBsaW5lIGhpc3Rvcnkgb24gc3RhcnR1cAotIyAqIHNhdmUgY29tbWFuZCBsaW5lIGhpc3Rvcnkgb24gZXhpdCAKLQotaW1wb3J0IG9zCi0KLWRlZiBfX2V4aXRoYW5kbGVyKCk6Ci0gICAgdHJ5OgotICAgICAgICByZWFkbGluZS53cml0ZV9oaXN0b3J5X2ZpbGUoICIlcy8ucHl0aG9uLWhpc3RvcnkiICUgb3MuZ2V0ZW52KCAiSE9NRSIsICIvdG1wIiApICkKLSAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgcGFzcwotCi1kZWYgX19yZWdpc3RlckV4aXRIYW5kbGVyKCk6Ci0gICAgaW1wb3J0IGF0ZXhpdAotICAgIGF0ZXhpdC5yZWdpc3RlciggX19leGl0aGFuZGxlciApCi0KLWRlZiBfX2VuYWJsZVJlYWRsaW5lU3VwcG9ydCgpOgotICAgIHJlYWRsaW5lLnNldF9oaXN0b3J5X2xlbmd0aCggMTAwMCApCi0gICAgcmVhZGxpbmUucGFyc2VfYW5kX2JpbmQoICJ0YWI6IGNvbXBsZXRlIiApCi0gICAgdHJ5OgotICAgICAgICByZWFkbGluZS5yZWFkX2hpc3RvcnlfZmlsZSggIiVzLy5weXRob24taGlzdG9yeSIgJSBvcy5nZXRlbnYoICJIT01FIiwgIi90bXAiICkgKQotICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAgICBwYXNzCi0KLWltcG9ydCBzeXMKLXRyeToKLSAgICBpbXBvcnQgcmxjb21wbGV0ZXIsIHJlYWRsaW5lCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKLSAgICBfX3JlZ2lzdGVyRXhpdEhhbmRsZXIoKQotICAgIF9fZW5hYmxlUmVhZGxpbmVTdXBwb3J0KCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N1cHBvcnRfU09VUkNFX0RBVEVfRVBPQ0hfaW5fcHlfY29tcGlsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N1cHBvcnRfU09VUkNFX0RBVEVfRVBPQ0hfaW5fcHlfY29tcGlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlY2FiOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zdXBwb3J0X1NPVVJDRV9EQVRFX0VQT0NIX2luX3B5X2NvbXBpbGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi1UaGUgY29tcGlsZWQgLnB5YyBmaWxlcyBjb250YWluIHRpbWUgc3RhbXAgY29ycmVzcG9uZGluZyB0byB0aGUgY29tcGlsZSB0aW1lLgotVGhpcyBwcmV2ZW50cyBiaW5hcnkgcmVwcm9kdWNpYmlsaXR5LiBUaGlzIHBhdGNoIGFsbG93cyB0byBhY2hpZXZlIGJpbmFyeQotcmVwcm9kdWNpYmlsaXR5IGJ5IG92ZXJyaWRpbmcgdGhlIGJ1aWxkIHRpbWUgc3RhbXAgYnkgdGhlIHZhbHVlIAotZXhwb3J0ZWQgdmlhIFNPVVJDRV9EQVRFX0VQT0NILiAKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKdXJvIEJ5c3RyaWNreSA8anVyby5ieXN0cmlja3lAaW50ZWwuY29tPgotCi0KLUZyb20gYWVhYjQ4ODYzMGZkYjFiNTZhOGQwYjBjMTNmYTg4NzA2YjJhZmU5YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJCZXJuaGFyZCBNLiBXaWVkZW1hbm4iIDxid2llZGVtYW5uQHN1c2UuZGU+Ci1EYXRlOiBTYXQsIDI1IEZlYiAyMDE3IDA2OjQyOjI4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJwby0yOTcwODogc3VwcG9ydCBTT1VSQ0VfREFURV9FUE9DSCBlbnYgdmFyIGluIHB5X2NvbXBpbGUKLQotdG8gYWxsb3cgZm9yIHJlcHJvZHVjaWJsZSBidWlsZHMgb2YgcHl0aG9uIHBhY2thZ2VzCi0KLVNlZSBodHRwczovL3JlcHJvZHVjaWJsZS1idWlsZHMub3JnLyBmb3Igd2h5IHRoaXMgaXMgZ29vZAotYW5kIGh0dHBzOi8vcmVwcm9kdWNpYmxlLWJ1aWxkcy5vcmcvc3BlY3Mvc291cmNlLWRhdGUtZXBvY2gvCi1mb3IgdGhlIGRlZmluaXRpb24gb2YgdGhpcyB2YXJpYWJsZS4KLQotQmFja2dyb3VuZDoKLUluIHNvbWUgZGlzdHJpYnV0aW9ucyBsaWtlIG9wZW5TVVNFLCBiaW5hcnkgcnBtcyBjb250YWluIHByZWNvbXBpbGVkIC5weWMgZmlsZXMuCi0KLUFuZCBwYWNrYWdlcyBsaWtlIGFtcXAgb3IgdHdpc3RlZCBkeW5hbWljYWxseSBnZW5lcmF0ZSAucHkgZmlsZXMgYXQgYnVpbGQgdGltZQotc28gdGhvc2UgaGF2ZSB0aGUgY3VycmVudCB0aW1lIGFuZCB0aGF0IHRpbWVzdGFtcCBnZXRzIGVtYmVkZGVkCi1pbnRvIHRoZSAucHljIGZpbGUgaGVhZGVyLgotV2hlbiB3ZSB0aGVuIGFkYXB0IGZpbGUgdGltZXN0YW1wcyBpbiBycG1zIHRvIGJlIGNvbnN0YW50LAotdGhlIHRpbWVzdGFtcCBpbiB0aGUgLnB5YyBoZWFkZXIgd2lsbCBubyBtb3JlIG1hdGNoCi10aGUgLnB5IHRpbWVzdGFtcCBpbiB0aGUgZmlsZXN5c3RlbS4KLVRoZSBzb2Z0d2FyZSB3aWxsIHN0aWxsIHdvcmssIGJ1dCBpdCB3aWxsIG5vdCB1c2UgdGhlIC5weWMgZmlsZSBhcyBpdCBzaG91bGQuCi0tLS0KLSBEb2MvbGlicmFyeS9weV9jb21waWxlLnJzdCAgfCAgNCArKysrCi0gTGliL3B5X2NvbXBpbGUucHkgICAgICAgICAgIHwgIDQgKysrKwotIExpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weSB8IDE5ICsrKysrKysrKysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0IGIvRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QKLWluZGV4IDBhZjhmYjEuLjg0MWYzZTggMTAwNjQ0Ci0tLS0gYS9Eb2MvbGlicmFyeS9weV9jb21waWxlLnJzdAotKysrIGIvRG9jL2xpYnJhcnkvcHlfY29tcGlsZS5yc3QKLUBAIC01Myw2ICs1MywxMCBAQCBieXRlLWNvZGUgY2FjaGUgZmlsZXMgaW4gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZS4KLSAgICA6ZnVuYzpgY29tcGlsZWAgZnVuY3Rpb24uICBUaGUgZGVmYXVsdCBvZiBgYC0xYGAgc2VsZWN0cyB0aGUgb3B0aW1pemF0aW9uCi0gICAgbGV2ZWwgb2YgdGhlIGN1cnJlbnQgaW50ZXJwcmV0ZXIuCi0gCi0rICAgSWYgdGhlIFNPVVJDRV9EQVRFX0VQT0NIIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwgdGhlIC5weSBmaWxlIG10aW1lCi0rICAgYW5kIHRpbWVzdGFtcCBlbnRyeSBpbiAucHljIGZpbGUgaGVhZGVyLCB3aWxsIGJlIGxpbWl0ZWQgdG8gdGhpcyB2YWx1ZS4KLSsgICBTZWUgaHR0cHM6Ly9yZXByb2R1Y2libGUtYnVpbGRzLm9yZy9zcGVjcy9zb3VyY2UtZGF0ZS1lcG9jaC8gZm9yIG1vcmUgaW5mby4KLSsKLSAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgotICAgICAgIENoYW5nZWQgZGVmYXVsdCB2YWx1ZSBvZiAqY2ZpbGUqIHRvIGJlIDpQRVA6YDMxNDdgLWNvbXBsaWFudC4gIFByZXZpb3VzCi0gICAgICAgZGVmYXVsdCB3YXMgKmZpbGUqICsgYGAnYydgYCAoYGAnbydgYCBpZiBvcHRpbWl6YXRpb24gd2FzIGVuYWJsZWQpLgotZGlmZiAtLWdpdCBhL0xpYi9weV9jb21waWxlLnB5IGIvTGliL3B5X2NvbXBpbGUucHkKLWluZGV4IDExYzViNTAuLjYyZGNkYzcgMTAwNjQ0Ci0tLS0gYS9MaWIvcHlfY29tcGlsZS5weQotKysrIGIvTGliL3B5X2NvbXBpbGUucHkKLUBAIC0xMzcsNiArMTM3LDEwIEBAIGRlZiBjb21waWxlKGZpbGUsIGNmaWxlPU5vbmUsIGRmaWxlPU5vbmUsIGRvcmFpc2U9RmFsc2UsIG9wdGltaXplPS0xKToKLSAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKLSAgICAgICAgIHBhc3MKLSAgICAgc291cmNlX3N0YXRzID0gbG9hZGVyLnBhdGhfc3RhdHMoZmlsZSkKLSsgICAgc2RlID0gb3MuZW52aXJvbi5nZXQoJ1NPVVJDRV9EQVRFX0VQT0NIJykKLSsgICAgaWYgc2RlIGFuZCBzb3VyY2Vfc3RhdHNbJ210aW1lJ10gPiBpbnQoc2RlKToKLSsgICAgICAgIHNvdXJjZV9zdGF0c1snbXRpbWUnXSA9IGludChzZGUpCi0rICAgICAgICBvcy51dGltZShmaWxlLCAoc291cmNlX3N0YXRzWydtdGltZSddLCBzb3VyY2Vfc3RhdHNbJ210aW1lJ10pKQotICAgICBieXRlY29kZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwX2V4dGVybmFsLl9jb2RlX3RvX2J5dGVjb2RlKAotICAgICAgICAgICAgIGNvZGUsIHNvdXJjZV9zdGF0c1snbXRpbWUnXSwgc291cmNlX3N0YXRzWydzaXplJ10pCi0gICAgIG1vZGUgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcF9leHRlcm5hbC5fY2FsY19tb2RlKGZpbGUpCi1kaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5Ci1pbmRleCA0YTZjYWE1Li4zZDA5OTYzIDEwMDY0NAotLS0tIGEvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5Ci0rKysgYi9MaWIvdGVzdC90ZXN0X3B5X2NvbXBpbGUucHkKLUBAIC05OCw2ICs5OCwyNSBAQCBkZWYgdGVzdF9iYWRfY29kaW5nKHNlbGYpOgotICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cygKLSAgICAgICAgICAgICBpbXBvcnRsaWIudXRpbC5jYWNoZV9mcm9tX3NvdXJjZShiYWRfY29kaW5nKSkpCi0gCi0rICAgIGRlZiB0ZXN0X3NvdXJjZV9kYXRlX2Vwb2NoKHNlbGYpOgotKyAgICAgICAgdGVzdHRpbWUgPSAxMjM0NTY3ODkKLSsgICAgICAgIG9yaWdfc2RlID0gb3MuZ2V0ZW52KCJTT1VSQ0VfREFURV9FUE9DSCIpCi0rICAgICAgICBvcy5lbnZpcm9uWyJTT1VSQ0VfREFURV9FUE9DSCJdID0gc3RyKHRlc3R0aW1lKQotKyAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKHNlbGYuc291cmNlX3BhdGgsIHNlbGYucHljX3BhdGgpCi0rICAgICAgICBpZiBvcmlnX3NkZToKLSsgICAgICAgICAgICBvcy5lbnZpcm9uWyJTT1VSQ0VfREFURV9FUE9DSCJdID0gb3JpZ19zZGUKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bIlNPVVJDRV9EQVRFX0VQT0NIIl0KLSsgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhzZWxmLnB5Y19wYXRoKSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoc2VsZi5jYWNoZV9wYXRoKSkKLSsgICAgICAgIHN0YXRpbmZvID0gb3Muc3RhdChzZWxmLnNvdXJjZV9wYXRoKQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0aW5mby5zdF9tdGltZSwgdGVzdHRpbWUpCi0rICAgICAgICBmID0gb3BlbihzZWxmLnB5Y19wYXRoLCAicmIiKQotKyAgICAgICAgZi5yZWFkKDQpCi0rICAgICAgICB0aW1lYnl0ZXMgPSBmLnJlYWQoNCkgIyByZWFkIHRpbWVzdGFtcCBmcm9tIHB5YyBoZWFkZXIKLSsgICAgICAgIGYuY2xvc2UoKQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0aW1lYnl0ZXMsICh0ZXN0dGltZSkudG9fYnl0ZXMoNCwgJ2xpdHRsZScpKQotKwotICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+IDAsICd0ZXN0IGRvZXMgbm90IHdvcmsgd2l0aCAtTycpCi0gICAgIGRlZiB0ZXN0X2RvdWJsZV9kb3Rfbm9fY2xvYmJlcihzZWxmKToKLSAgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIyOTY2CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNjb25maWcucHktYWRkLV9QWVRIT05fUFJPSkVDVF9TUkMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4OWQ5YTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvc3lzY29uZmlnLnB5LWFkZC1fUFlUSE9OX1BST0pFQ1RfU1JDLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotRnJvbSBmYzkzYjNjYzIzYjRmOTY5OGFlOTJhNDI5ODZkYmIwMmI2ZjE5NTg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTdW4sIDE4IEphbiAyMDE1IDA2OjI5OjUwIC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN5c2NvbmZpZy5weTogYWRkIF9QWVRIT05fUFJPSkVDVF9TUkMKLQotcHl0aG9uMyBoYXMgaW50cm9kdWNlZCBfUFlUSE9OX1BST0pFQ1RfQkFTRSB3aGljaCBpcyB1c2VkIGZvciBzZXBhcmF0ZSBCCi1hbmQgUywgYnV0IGl0IGRvZXNuJ3Qgd29yayB3aGVuIGNvbXBpbGUgTW9kdWxlcywgdGhlIHRhcmdldCBweXRob24zIHJ1bnMKLXB5dGhvbjMtbmF0aXZlJ3Mgc3lzY29uZmlnIHRvIGdldCBzcmNkaXIgd2hpY2ggaXMgdGhlIG5hdGl2ZSdzLCB0aGVyZQotd291bGQgYmUgZXJyb3JzIHdoZW4gbmF0aXZlJ3Mgc3JjZGlyIGhhcyBiZWVuIHJlbW92ZWQsIGFkZAotX1BZVEhPTl9QUk9KRUNUX1NSQyB0byBmaXggdGhlIHByb2JsZW0uCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIExpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5IHwgICAgNSArKysrLQotIExpYi9zeXNjb25maWcucHkgICAgICAgICAgIHwgICAgNSArKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1JbmRleDogUHl0aG9uLTMuNS4zL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuNS4zLm9yaWcvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLSsrKyBQeXRob24tMy41LjMvTGliL2Rpc3R1dGlscy9zeXNjb25maWcucHkKLUBAIC00OTgsNyArNDk4LDEwIEBAIGRlZiBnZXRfY29uZmlnX3ZhcnMoKmFyZ3MpOgotICAgICAgICAgICAgIF9jb25maWdfdmFyc1snU08nXSA9IFNPCi0gCi0gICAgICAgICAjIEFsd2F5cyBjb252ZXJ0IHNyY2RpciB0byBhbiBhYnNvbHV0ZSBwYXRoCi0tICAgICAgICBzcmNkaXIgPSBfY29uZmlnX3ZhcnMuZ2V0KCdzcmNkaXInLCBwcm9qZWN0X2Jhc2UpCi0rICAgICAgICBpZiAiX1BZVEhPTl9QUk9KRUNUX1NSQyIgaW4gb3MuZW52aXJvbjoKLSsgICAgICAgICAgICBzcmNkaXIgPSBvcy5wYXRoLmFic3BhdGgob3MuZW52aXJvblsiX1BZVEhPTl9QUk9KRUNUX1NSQyJdKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzcmNkaXIgPSBfY29uZmlnX3ZhcnMuZ2V0KCdzcmNkaXInLCBwcm9qZWN0X2Jhc2UpCi0gICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6Ci0gICAgICAgICAgICAgaWYgcHl0aG9uX2J1aWxkOgotICAgICAgICAgICAgICAgICAjIElmIHNyY2RpciBpcyBhIHJlbGF0aXZlIHBhdGggKHR5cGljYWxseSAnLicgb3IgJy4uJykKLUluZGV4OiBQeXRob24tMy41LjMvTGliL3N5c2NvbmZpZy5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjUuMy5vcmlnL0xpYi9zeXNjb25maWcucHkKLSsrKyBQeXRob24tMy41LjMvTGliL3N5c2NvbmZpZy5weQotQEAgLTU0NCw3ICs1NDQsMTAgQEAgZGVmIGdldF9jb25maWdfdmFycygqYXJncyk6Ci0gICAgICAgICBfQ09ORklHX1ZBUlNbJ3VzZXJiYXNlJ10gPSBfZ2V0dXNlcmJhc2UoKQotIAotICAgICAgICAgIyBBbHdheXMgY29udmVydCBzcmNkaXIgdG8gYW4gYWJzb2x1dGUgcGF0aAotLSAgICAgICAgc3JjZGlyID0gX0NPTkZJR19WQVJTLmdldCgnc3JjZGlyJywgX1BST0pFQ1RfQkFTRSkKLSsgICAgICAgIGlmICJfUFlUSE9OX1BST0pFQ1RfU1JDIiBpbiBvcy5lbnZpcm9uOgotKyAgICAgICAgICAgIHNyY2RpciA9IG9zLnBhdGguYWJzcGF0aChvcy5lbnZpcm9uWyJfUFlUSE9OX1BST0pFQ1RfU1JDIl0pCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIHNyY2RpciA9IF9DT05GSUdfVkFSUy5nZXQoJ3NyY2RpcicsIF9QUk9KRUNUX0JBU0UpCi0gICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6Ci0gICAgICAgICAgICAgaWYgX1BZVEhPTl9CVUlMRDoKLSAgICAgICAgICAgICAgICAgIyBJZiBzcmNkaXIgaXMgYSByZWxhdGl2ZSBwYXRoICh0eXBpY2FsbHkgJy4nIG9yICcuLicpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N5c3Jvb3QtaW5jbHVkZS1oZWFkZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODViNTU2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3N5c3Jvb3QtaW5jbHVkZS1oZWFkZXJzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRG9udCBzZWFyY2ggaGFyZGNvZGVkIHBhdGhzLCB3ZSBtaWdodCBiZSBkb2luZyBhIGNyb3NzLWJ1aWxkCi1Vc2UgJz0nIGluLWZyb250IHRvIGxldCBjb21waWxlciBhcHBlbmQgc3lzcm9vdCwgaWYgaXQgY2FuCi0KLVNob3VsZCBmaXggdGhpbmdzIGxpa2UKLQotY29uZmlndXJlOjY5NzI6IGFybS1hbmdzdHJvbS1saW51eC1nbnVlYWJpLWdjYyAgLW1hcmNoPWFybXY3LWEgLW10aHVtYi1pbnRlcndvcmsgLW1mbG9hdC1hYmk9aGFyZCAtbWZwdT1uZW9uIC1tdHVuZT1jb3J0ZXgtYTggLUROREVCVUcgLWZuby1pbmxpbmUgLURfX1NPRlRGUF9fIC0tc3lzcm9vdD0vYnVpbGQvdjIwMTMuMDYvYnVpbGQvdG1wLWFuZ3N0cm9tX3YyMDEzXzA2LWVnbGliYy9zeXNyb290cy9iZWFnbGVib25lIC1jIC1PMiAtcGlwZSAtZyAtZmVsaW1pbmF0ZS11bnVzZWQtZGVidWctdHlwZXMgIC1JL3Vzci9pbmNsdWRlL25jdXJzZXN3IGNvbmZ0ZXN0LmMgPiY1Ci1jYzE6IHdhcm5pbmc6IGluY2x1ZGUgbG9jYXRpb24gIi91c3IvaW5jbHVkZS9uY3Vyc2VzdyIgaXMgdW5zYWZlIGZvciBjcm9zcy1jb21waWxhdGlvbiBbLVdwb2lzb24tc3lzdGVtLWRpcmVjdG9yaWVzXQotCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotCi1JbmRleDogUHl0aG9uLTMuMy4yL3NldHVwLnB5Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gUHl0aG9uLTMuMy4yLm9yaWcvc2V0dXAucHkJMjAxMy0wNy0zMCAwMTozMDo0OC4wMDAwMDAwMDAgLTA3MDAKLSsrKyBQeXRob24tMy4zLjIvc2V0dXAucHkJMjAxMy0wNy0zMCAwMTo0MToxMS42OTc4NjI3MjMgLTA3MDAKLUBAIC0xMjEwLDcgKzEyMTAsNyBAQAotICAgICAgICAgcGFuZWxfbGlicmFyeSA9ICdwYW5lbCcKLSAgICAgICAgIGlmIGN1cnNlc19saWJyYXJ5ID09ICduY3Vyc2Vzdyc6Ci0gICAgICAgICAgICAgY3Vyc2VzX2RlZmluZXMuYXBwZW5kKCgnSEFWRV9OQ1VSU0VTVycsICcxJykpCi0tICAgICAgICAgICAgY3Vyc2VzX2luY2x1ZGVzLmFwcGVuZCgnL3Vzci9pbmNsdWRlL25jdXJzZXN3JykKLSsgICAgICAgICAgICBjdXJzZXNfaW5jbHVkZXMuYXBwZW5kKCc9L3Vzci9pbmNsdWRlL25jdXJzZXN3JykKLSAgICAgICAgICAgICAjIEJ1ZyAxNDY0MDU2OiBJZiBfY3Vyc2VzLnNvIGxpbmtzIHdpdGggbmN1cnNlc3csCi0gICAgICAgICAgICAgIyBfY3Vyc2VzX3BhbmVsLnNvIG11c3QgbGluayB3aXRoIHBhbmVsdy4KLSAgICAgICAgICAgICBwYW5lbF9saWJyYXJ5ID0gJ3BhbmVsdycKLUBAIC0xODE5LDcgKzE4MTksNyBAQAotICAgICAgICAgaWYgaG9zdF9wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLSAgICAgICAgICAgICAjIE9TIFggMTAuNSBjb21lcyB3aXRoIGxpYmZmaS5keWxpYjsgdGhlIGluY2x1ZGUgZmlsZXMgYXJlCi0gICAgICAgICAgICAgIyBpbiAvdXNyL2luY2x1ZGUvZmZpCi0tICAgICAgICAgICAgaW5jX2RpcnMuYXBwZW5kKCcvdXNyL2luY2x1ZGUvZmZpJykKLSsgICAgICAgICAgICBpbmNfZGlycy5hcHBlbmQoJz0vdXNyL2luY2x1ZGUvZmZpJykKLSAKLSAgICAgICAgIGZmaV9pbmMgPSBbc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJMSUJGRklfSU5DTFVERURJUiIpXQotICAgICAgICAgaWYgbm90IGZmaV9pbmMgb3IgZmZpX2luY1swXSA9PSAnJzoKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3R3ZWFrLU1VTFRJQVJDSC1mb3ItcG93ZXJwYy1saW51eC1nbnVzcGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uMy90d2Vhay1NVUxUSUFSQ0gtZm9yLXBvd2VycGMtbGludXgtZ251c3BlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZDAzNzI3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3R3ZWFrLU1VTFRJQVJDSC1mb3ItcG93ZXJwYy1saW51eC1nbnVzcGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi1Gcm9tIDVkNjUwOTMxMzE5OGVjOWI2ODZjYWQ1MGIwMDIyMTJlNDM0NDAwNGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDExIE1hciAyMDE2IDAxOjE1OjQ1IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5hYzogdHdlYWsgTVVMVElBUkNIIGZvciBwb3dlcnBjLWxpbnV4LWdudXNwZQotCi1Gb3IgcDEwMjJkcyBic3AsIHRoZSBNVUxUSUFSQ0ggaXMgcG93ZXJwYy1saW51eC1nbnVzcGV2MSBhbmQKLXB5dGhvbjMgZGlkIG5vdCByZWNvZ25pemUgdGhlIGV4dHJhICd2MScgd2hpY2ggY2F1c2VkIHB5dGhvbjMKLWNvbmZpZ3VyZSBlcnJvciBmb3IgdGhlIHBsYXRmb3JtIHRyaXBsZXQuCi0KLVE6V2h5IFB5dGhvbjMgY2hlY2sgcGxhdGZvcm0gdHJpcGxldD8KLQotQTpVbmRlciBMaW51eCwgR05VL0tGcmVlQlNEIGFuZCB0aGUgSHVyZCwgQyBleHRlbnNpb25zIG5vdyBpbmNsdWRlCi10aGUgYXJjaGl0ZWN0dXJlIHRyaXBsZXQgaW4gdGhlIGV4dGVuc2lvbiBuYW1lLCB0byBtYWtlIGl0IGVhc3kgdG8KLXRlc3QgYnVpbGRzIGZvciBkaWZmZXJlbnQgQUJJcyBpbiB0aGUgc2FtZSB3b3JraW5nIHRyZWUuCi0KLUhlcmUgaXMgdGhlIGdlbmVyYXRlZCAgQyBleHRlbnNpb25zIHdoaWNoIHRha2UgcGxhdGZvcm0gdHJpcGxldCBpbnRvIGFjY291bnQuCi0uLi4KLXxpbWFnZS91c3IvbGliL3B5dGhvbjMuNS9saWItZHlubG9hZC9fZGF0ZXRpbWUuY3B5dGhvbi0zNW0tcG93ZXJwYy1saW51eC1nbnVzcGUuc28KLS4uLgotCi1odHRwczovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTIyOTgwCi1odHRwczovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0zMTQ5LwotaHR0cHM6Ly9idWdzLnB5dGhvbi5vcmcvcmV2aWV3LzIyOTgwL3BhdGNoLzE0NTkzLzU0ODA4Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCA3ICsrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDllYjNkMjIuLmMzNGE5YTAgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTcyNCw2ICs3MjQsMTMgQEAgZmkKLSAKLSAKLSBNVUxUSUFSQ0g9JCgkQ0MgLS1wcmludC1tdWx0aWFyY2ggMj4vZGV2L251bGwpCi0rCi0rIyBUd2VhayBNVUxUSUFSQ0gKLStpZiB0ZXN0IHgkTVVMVElBUkNIID0geHBvd2VycGMtbGludXgtZ251c3BldjEKLSt0aGVuCi0rCU1VTFRJQVJDSD0icG93ZXJwYy1saW51eC1nbnVzcGUiCi0rZmkKLSsKLSBBQ19TVUJTVChNVUxUSUFSQ0gpCi0gCi0gQUNfTVNHX0NIRUNLSU5HKFtmb3IgdGhlIHBsYXRmb3JtIHRyaXBsZXQgYmFzZWQgb24gY29tcGlsZXIgY2hhcmFjdGVyaXN0aWNzXSkKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvdW5peGNjb21waWxlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zL3VuaXhjY29tcGlsZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlMmIxZDEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjMvdW5peGNjb21waWxlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1UaGUgQ0MgdmFyaWFibGUsc29tZXRpbWVzIGxpa2U6Ing4Nl82NC1wb2t5LWxpbnV4LWdjYyAgIC1tNjQgLS1zeXNyb290PS8ke1RNUERJUn0vc3lzcm9vdHMvcWVtdXg4Ni02NCIsIGNvbnRhaW5zIG9wdGlvbiBpbmZvcm1hdGlvbi4gCi1UaGlzIHdpbGwgbGVhZCB0byB3cm9uZyBjb21waWxlciBuYW1lICJxZW11eDg2LTY0IiByYXRoZXIgdGhhbiAieDg2XzY0LXBva3ktbGludXgtZ2NjIiB3aGVuIHB5dGhvbiBmaW5kaW5nIHRoZSBjb21waWxlciBuYW1lLgotCi1TZWNvbmRseSBhZGQgLUw9PHBhdGg+IHRoaXMgd2F5IGxpbmtlciB3aWxsIGJlIGFibGUgdG8gcmVzb2x2ZSAvdXNyL2xpYiB3LnIudCBzeXNyb290IGFuZCBub3QKLXVzZSBoYXJkY29kZWQgL3Vzci9saWIgdG8gbG9vayBmb3IgbGlicyB3aGljaCBpcyB3cm9uZyBpbiBjcm9zcyBjb21waWxlIGVudmlyb25tZW50IGFuZCB0aGlzIHdpbGwgd29yawotb2sgb24gbmF0aXZlIHN5c3RlbXMgdG9vIHNpbmNlIHN5c3Jvb3QgZm9yIG5hdGl2ZSBjb21waWxlcnMgaXMgLwotCi1TaWduZWQtb2ZmLWJ5OiBNZWkgTGVpIDxsZWkubWVpQGludGVsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1JbmRleDogUHl0aG9uLTMuMy4yL0xpYi9kaXN0dXRpbHMvdW5peGNjb21waWxlci5weQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIFB5dGhvbi0zLjMuMi5vcmlnL0xpYi9kaXN0dXRpbHMvdW5peGNjb21waWxlci5weQkyMDEzLTA1LTE1IDA5OjMyOjU0LjAwMDAwMDAwMCAtMDcwMAotKysrIFB5dGhvbi0zLjMuMi9MaWIvZGlzdHV0aWxzL3VuaXhjY29tcGlsZXIucHkJMjAxMy0wOC0wMSAwMDo1ODoxOC42MjkwNTYyODYgLTA3MDAKLUBAIC0yMDIsNyArMjAyLDkgQEAKLSAgICAgIyBjY29tcGlsZXIucHkuCi0gCi0gICAgIGRlZiBsaWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKLS0gICAgICAgIHJldHVybiAiLUwiICsgZGlyCi0rICAgICAgICBpZiBkaXIuc3RhcnRzd2l0aCgiLyIpOgotKyAgICAgICAgICAgIHJldHVybiAiLUw9IiArIGRpcgotKyAgICAgICAgcmV0dXJuICItTCIgKyBkaXIKLSAKLSAgICAgZGVmIF9pc19nY2Moc2VsZiwgY29tcGlsZXJfbmFtZSk6Ci0gICAgICAgICByZXR1cm4gImdjYyIgaW4gY29tcGlsZXJfbmFtZSBvciAiZysrIiBpbiBjb21waWxlcl9uYW1lCi1AQCAtMjIxLDcgKzIyMSw3IEBACi0gICAgICAgICAjIHRoaXMgdGltZSwgdGhlcmUncyBubyB3YXkgdG8gZGV0ZXJtaW5lIHRoaXMgaW5mb3JtYXRpb24gZnJvbQotICAgICAgICAgIyB0aGUgY29uZmlndXJhdGlvbiBkYXRhIHN0b3JlZCBpbiB0aGUgUHl0aG9uIGluc3RhbGxhdGlvbiwgc28KLSAgICAgICAgICMgd2UgdXNlIHRoaXMgaGFjay4KLS0gICAgICAgIGNvbXBpbGVyID0gb3MucGF0aC5iYXNlbmFtZShzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoIkNDIikpCi0rICAgICAgICBjb21waWxlciA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQ0MiKQotICAgICAgICAgaWYgc3lzLnBsYXRmb3JtWzo2XSA9PSAiZGFyd2luIjoKLSAgICAgICAgICAgICAjIE1hY09TWCdzIGxpbmtlciBkb2Vzbid0IHVuZGVyc3RhbmQgdGhlIC1SIGZsYWcgYXQgYWxsCi0gICAgICAgICAgICAgcmV0dXJuICItTCIgKyBkaXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy41LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjYjY1MDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbjNfMy41LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMjcgKzAsMCBAQAotcmVxdWlyZSByZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zLmluYwotCi1ERVBFTkRTID0gInB5dGhvbjMtbmF0aXZlIGxpYmZmaSBiemlwMiBnZGJtIG9wZW5zc2wgXAotICAgICAgICAgICBzcWxpdGUzIHpsaWIgdmlydHVhbC9saWJpbnRsIHh6IHFlbXUtbmF0aXZlIFwKLSAgICAgICAgICAgcWVtdS1oZWxwZXItbmF0aXZlIHZpcnR1YWwvY3J5cHQiCi0KLURJU1RST19TUkNfVVJJID89ICJmaWxlOi8vc2l0ZWN1c3RvbWl6ZS5weSIKLURJU1RST19TUkNfVVJJX2xpbnV4c3RkYmFzZSA9ICIiCi1TUkNfVVJJID0gImh0dHA6Ly93d3cucHl0aG9uLm9yZy9mdHAvcHl0aG9uLyR7UFZ9L1B5dGhvbi0ke1BWfS50YXIueHogXAotZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAotZmlsZTovLzAzMC1maXh1cC1pbmNsdWRlLWRpcnMucGF0Y2ggXAotZmlsZTovLzEzMC1yZWFkbGluZS1zZXR1cC5wYXRjaCBcCi1maWxlOi8vMTUwLWZpeC1zZXR1cHRlcm0ucGF0Y2ggXAotZmlsZTovLzAwMDEtaDJweS1GaXgtaXNzdWUtMTMwMzItd2hlcmUtaXQtZmFpbHMtd2l0aC1Vbmljb2RlRGVjby5wYXRjaCBcCi1maWxlOi8vdHdlYWstTVVMVElBUkNILWZvci1wb3dlcnBjLWxpbnV4LWdudXNwZS5wYXRjaCBcCi1maWxlOi8vc3VwcG9ydF9TT1VSQ0VfREFURV9FUE9DSF9pbl9weV9jb21waWxlLnBhdGNoIFwKLSR7RElTVFJPX1NSQ19VUkl9IFwKLSIKLQotU1JDX1VSSSArPSAiXAotICAgICAgICAgICAgZmlsZTovLzAzLWZpeC10a2ludGVyLWRldGVjdGlvbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYXZvaWRfd2FybmluZ19hYm91dF90a2ludGVyLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9jZ2lfcHkucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2hvc3RfaW5jbHVkZV9jb250YW1pbmF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9weXRob24tMy4zLW11bHRpbGliLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9zeXNyb290LWluY2x1ZGUtaGVhZGVycy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vdW5peGNjb21waWxlci5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vYXZvaWQtbmN1cnNlc3ctaW5jbHVkZS1wYXRoLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9weXRob24zLXVzZS1DUk9TU1BZVEhPTlBBVEgtZm9yLVBZVEhPTl9GT1JfQlVJTEQucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3N5c2NvbmZpZy5weS1hZGQtX1BZVEhPTl9QUk9KRUNUX1NSQy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vc2V0dXAucHktY2hlY2stY3Jvc3NfY29tcGlsaW5nLXdoZW4tZ2V0LUZMQUdTLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuYWMtZml4LUxJQlBMLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUlzc3VlLTIxMjcyLVVzZS1fc3lzY29uZmlnZGF0YS5weS10by1pbml0aWFsaXplLWRpc3QucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3Bhc3MtbWlzc2luZy1saWJyYXJpZXMtdG8tRXh0ZW5zaW9uLWZvci1tdWwucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL1VzZS1jb3JyZWN0LUNGTEFHUy1mb3ItZXh0ZW5zaW9ucy13aGVuLWNyb3NzLWNvbXBpbGkucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDItTWFrZWZpbGUtYWRkLXRhcmdldC10by1zcGxpdC1wcm9maWxlLWdlbmVyYXRpb24ucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2Zsb2F0LWVuZGlhbi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vZnRwbGliLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9zaWduYWwucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtSXNzdWUtMjgwNDMtU1NMQ29udGV4dC1oYXMtaW1wcm92ZWQtZGVmYXVsdC1zZXR0aW5ncy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMi1icG8tMjkxMzYtQWRkLVRMUy0xLjMtY2lwaGVyLXN1aXRlcy1hbmQtT1BfTk9fVExTdjFfLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDAzLWJwby0zMjk0Ny1GaXhlcy1mb3ItVExTLTEuMy1hbmQtT3BlblNTTC0xLjEuMS1HSC04NzYucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovLzAwMDQtYnBvLTMzNTcwLVRMUy0xLjMtY2lwaGVycy1mb3ItT3BlblNTTC0xLjEuMS1HSC02OTc2LnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly8wMDA1LWJwby0zMDcxNC1BTFBOLWNoYW5nZXMtZm9yLU9wZW5TU0wtMS4xLjBmLTIzMDUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgICIKLQotaW5oZXJpdCBtdWx0aWxpYl9oZWFkZXIgcHl0aG9uM25hdGl2ZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIHFlbXUgcHRlc3QKLQotTVVMVElMSUJfU1VGRklYID0gIiR7QGQuZ2V0VmFyKCdiYXNlX2xpYmRpcicsMSkuc3BsaXQoJy8nKVstMV19IgotCi1BTFRFUk5BVElWRV8ke1BOfS1kZXYgPSAicHl0aG9uLWNvbmZpZyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtweXRob24tY29uZmlnXSA9ICIke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWciCi1BTFRFUk5BVElWRV9UQVJHRVRbcHl0aG9uLWNvbmZpZ10gPSAiJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnLSR7TVVMVElMSUJfU1VGRklYfSIKLQotQ09ORklHVVJFT1BUUyArPSAiIC0td2l0aC1zeXN0ZW0tZmZpICIKLQotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgPSAiYWNfY3ZfaGF2ZV9jaGZsYWdzPW5vIFwKLSAgICAgICAgICAgICAgICBhY19jdl9oYXZlX2xjaGZsYWdzPW5vIFwKLSAgICAgICAgICAgICAgICBhY19jdl9oYXZlX2xvbmdfbG9uZ19mb3JtYXQ9eWVzIFwKLSAgICAgICAgICAgICAgICBhY19jdl9idWdneV9nZXRhZGRyaW5mbz1ubyBcCi0gICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0bXg9eWVzIFwKLSAgICAgICAgICAgICAgICBhY19jdl9maWxlX19kZXZfcHRjPW5vIFwKLSIKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIi1ETkRFQlVHIC1mbm8taW5saW5lIgotU0RLX0NDX0FSQ0ggKz0gIi1ETkRFQlVHIC1mbm8taW5saW5lIgotRVhUUkFfT0VNQUtFICs9ICJDUk9TU19DT01QSUxFPXllcyIKLUVYVFJBX09FQ09ORiArPSAiQ1JPU1NQWVRIT05QQVRIPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkLyAtLXdpdGhvdXQtZW5zdXJlcGlwIgotCi1QWVRIT04zX1BST0ZJTEVfVEFTSyA/PSAiLi9weXRob24gLW0gdGVzdC5yZWdydGVzdCAtLXBnbyB0ZXN0X2dyYW1tYXIgdGVzdF9vcGNvZGVzIHRlc3RfZGljdCB0ZXN0X2J1aWx0aW4gdGVzdF9leGNlcHRpb25zIHRlc3RfdHlwZXMgdGVzdF9zdXBwb3J0IHx8IHRydWUiCi0KLWV4cG9ydCBDUk9TU19DT01QSUxFID0gIiR7VEFSR0VUX1BSRUZJWH0iCi1leHBvcnQgQ0NTSEFSRUQgPSAiLWZQSUMiCi0KLSMgRml4IGNyb3NzIGNvbXBpbGF0aW9uIG9mIGRpZmZlcmVudCBtb2R1bGVzCi1leHBvcnQgQ1JPU1NQWVRIT05QQVRIID0gIiR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkLzoke0J9L2J1aWxkL2xpYi5saW51eC0ke1RBUkdFVF9BUkNIfS0ke1BZVEhPTl9NQUpNSU59OiR7U30vTGliOiR7U30vTGliL3BsYXQtbGludXgiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJyZWFkbGluZSAke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICdxZW11LXVzZXJtb2RlJywgJ3BnbycsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICIsLHJlYWRsaW5lIgotIyBVc2UgcHJvZmlsZSBndWlkZWQgb3B0aW1pc2F0aW9uIGJ5IHJ1bm5pbmcgUHlCZW5jaCBpbnNpZGUgcWVtdS11c2VyCi1QQUNLQUdFQ09ORklHW3Bnb10gPSAiLS1lbmFibGUtb3B0aW1pemF0aW9ucyIKLQotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLQlybSAtZiAke1N9L01ha2VmaWxlLm9yaWcKLX0KLQotcnVuX21ha2UoKSB7Ci0Jb2VfcnVubWFrZSBQR0VOPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24zLW5hdGl2ZS9wZ2VuIFwKLQkJSE9TVFBZVEhPTj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyBcCi0JCVNUQUdJTkdfTElCRElSPSR7U1RBR0lOR19MSUJESVJ9IFwKLQkJU1RBR0lOR19JTkNESVI9JHtTVEFHSU5HX0lOQ0RJUn0gXAotCQlTVEFHSU5HX0JBU0VMSUJESVI9JHtTVEFHSU5HX0JBU0VMSUJESVJ9IFwKLQkJTElCPSR7YmFzZWxpYn0gXAotCQlBUkNIPSR7VEFSR0VUX0FSQ0h9IFwKLQkJT1BUPSIke0NGTEFHU30iIFwKLQkJIiRAIgotfQotCi1kb19jb21waWxlKCkgewotCSMgcmVnZW5lcmF0ZSBwbGF0Zm9ybSBzcGVjaWZpYyBmaWxlcywgYmVjYXVzZSB0aGV5IGRlcGVuZCBvbiBzeXN0ZW0gaGVhZGVycwotCWNkICR7U30vTGliL3BsYXQtbGludXgqCi0JaW5jbHVkZT0ke1NUQUdJTkdfSU5DRElSfSAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyBcCi0JCSR7U30vVG9vbHMvc2NyaXB0cy9oMnB5LnB5IC1pICcodV9sb25nKScgXAotCQkke1NUQUdJTkdfSU5DRElSfS9kbGZjbi5oIFwKLQkJJHtTVEFHSU5HX0lOQ0RJUn0vbGludXgvY2Ryb20uaCBcCi0JCSR7U1RBR0lOR19JTkNESVJ9L25ldGluZXQvaW4uaCBcCi0JCSR7U1RBR0lOR19JTkNESVJ9L3N5cy90eXBlcy5oCi0Jc2VkIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnIC1pICoucHkKLQljZCAtCi0KLQkjIHJlbW92ZSBhbnkgYm9ndXMgTERfTElCUkFSWV9QQVRICi0Jc2VkIC1pIC1lIHMsUlVOU0hBUkVEPS4qLFJVTlNIQVJFRD0sIE1ha2VmaWxlCi0KLQlpZiBbICEgLWYgTWFrZWZpbGUub3JpZyBdOyB0aGVuCi0JCWluc3RhbGwgLW0gMDY0NCBNYWtlZmlsZSBNYWtlZmlsZS5vcmlnCi0JZmkKLQlzZWQgLWkgLWUgJ3MsXkNPTkZJR1VSRV9MREZMQUdTPS4qLENPTkZJR1VSRV9MREZMQUdTPS1MLiAtTCR7U1RBR0lOR19MSUJESVJ9LGcnIFwKLQkJLWUgJ3MsbGliZGlyPSR7bGliZGlyfSxsaWJkaXI9JHtTVEFHSU5HX0xJQkRJUn0sZycgXAotCQktZSAncyxsaWJleGVjZGlyPSR7bGliZXhlY2Rpcn0sbGliZXhlY2Rpcj0ke1NUQUdJTkdfRElSX0hPU1R9JHtsaWJleGVjZGlyfSxnJyBcCi0JCS1lICdzLF5MSUJESVI9LiosTElCRElSPSR7U1RBR0lOR19MSUJESVJ9LGcnIFwKLQkJLWUgJ3MsaW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9LGluY2x1ZGVkaXI9JHtTVEFHSU5HX0lOQ0RJUn0sZycgXAotCQktZSAncyxeSU5DTFVERURJUj0uKixJTkNMVURFPSR7U1RBR0lOR19JTkNESVJ9LGcnIFwKLQkJLWUgJ3MsXkNPTkZJTkNMVURFRElSPS4qLENPTkZJTkNMVURFPSR7U1RBR0lOR19JTkNESVJ9LGcnIFwKLQkJTWFrZWZpbGUKLQkjIHNhdmUgY29weSBvZiBpdCBub3csIGJlY2F1c2UgaWYgd2UgZG8gaXQgaW4gZG9faW5zdGFsbCBhbmQgCi0JIyB0aGVuIGNhbGwgZG9faW5zdGFsbCB0d2ljZSB3ZSBnZXQgTWFrZWZpbGUub3JpZyA9PSBNYWtlZmlsZS5zeXNyb290Ci0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlIE1ha2VmaWxlLnN5c3Jvb3QKLQotCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BnbycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JCXJ1bl9tYWtlIHByb2ZpbGUtb3B0Ci0JCXFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9JywgWycke0J9JywgJyR7U1RBR0lOR19ESVJfVEFSR0VUfS8ke2Jhc2VfbGliZGlyfSddKX0iCi0JCWNhdCA+cGdvLXdyYXBwZXIgPDxFT0YKLSMhL2Jpbi9zaAotY2QgJHtCfQotJHFlbXVfYmluYXJ5ICJcJEAiCi1FT0YKLQkJY2htb2QgK3ggcGdvLXdyYXBwZXIKLQkJYmJub3RlIEdhdGhlcmluZyBwcm9maWxpbmcgZGF0YQotCQkuL3Bnby13cmFwcGVyICR7UFlUSE9OM19QUk9GSUxFX1RBU0t9Ci0JCWJibm90ZSBQcm9maWxpbmcgZGF0YSBnYXRoZXJlZCwgcmVidWlsZGluZwotCQlydW5fbWFrZSBjbGVhbl9hbmRfdXNlX3Byb2ZpbGUKLQllbHNlCi0JCXJ1bl9tYWtlIGxpYnB5dGhvbjMuc28KLQkJcnVuX21ha2UKLQlmaQotfQotCi1kb19pbnN0YWxsKCkgewotCSMgbWFrZSBpbnN0YWxsIG5lZWRzIHRoZSBvcmlnaW5hbCBNYWtlZmlsZSwgb3Igb3RoZXJ3aXNlIHRoZSBpbmNsdWVzIHdvdWxkCi0JIyBnbyB0byAke0R9JHtTVEFHSU5HLi4ufS8uLi4KLQlpbnN0YWxsIC1tIDA2NDQgTWFrZWZpbGUub3JpZyBNYWtlZmlsZQotCi0JaW5zdGFsbCAtZCAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZwotCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZwotCi0JIyByZXJ1biB0aGUgYnVpbGQgb25jZSBhZ2FpbiB3aXRoIG9yaWdpbmFsIG1ha2VmaWxlIHRoaXMgdGltZQotCSMgcnVuIGluc3RhbGwgaW4gYSBzZXBhcmF0ZSBzdGVwIHRvIGF2b2lkIGNvbXBpbGUvaW5zdGFsbCByYWNlCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGdvJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJcnVuX21ha2UgREVTVERJUj0ke0R9IExJQkRJUj0ke2xpYmRpcn0gYnVpbGRfYWxsX3VzZV9wcm9maWxlCi0JZWxzZQotCQlydW5fbWFrZSBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfQotCWZpCi0KLQlydW5fbWFrZSBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfSBpbnN0YWxsCi0KLQkjIGF2b2lkIGNvbmZsaWN0IHdpdGggMnRvMyBmcm9tIFB5dGhvbiAyCi0Jcm0gLWYgJHtEfS8ke2JpbmRpcn0vMnRvMwotCi0JaW5zdGFsbCAtbSAwNjQ0IE1ha2VmaWxlLnN5c3Jvb3QgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcvTWFrZWZpbGUKLQlpbnN0YWxsIC1tIDA2NDQgTWFrZWZpbGUuc3lzcm9vdCAke0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9NQUpNSU59JHtQWVRIT05fQUJJfS9NYWtlZmlsZQotCi0JaWYgWyAtZSAke1dPUktESVJ9L3NpdGVjdXN0b21pemUucHkgXTsgdGhlbgotCQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zaXRlY3VzdG9taXplLnB5ICR7RH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0KLQlmaQotCi0Jb2VfbXVsdGlsaWJfaGVhZGVyIHB5dGhvbiR7UFlUSE9OX0JJTkFCSX0vcHljb25maWcuaAotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgKCkgewotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfSBQWVRIT05IT01FPScke3ByZWZpeH0nIFRFUk1JTkZPX0RJUlM9JyR7c3lzY29uZmRpcn0vdGVybWluZm86L2V0Yy90ZXJtaW5mbzovdXNyL3NoYXJlL3Rlcm1pbmZvOi91c3Ivc2hhcmUvbWlzYy90ZXJtaW5mbzovbGliL3Rlcm1pbmZvJyBQWVRIT05OT1VTRVJTSVRFPScxJwotfQotCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiTWFrZWZpbGUiCi1QQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInB5X3BhY2thZ2VfcHJlcHJvY2VzcyIKLQotcHlfcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKLQkjIGNvcHkgYmFjayB0aGUgb2xkIE1ha2VmaWxlIHRvIGZpeCB0YXJnZXQgcGFja2FnZQotCWluc3RhbGwgLW0gMDY0NCAke0J9L01ha2VmaWxlLm9yaWcgJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcvTWFrZWZpbGUKLQlpbnN0YWxsIC1tIDA2NDQgJHtCfS9NYWtlZmlsZS5vcmlnICR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX01BSk1JTn0ke1BZVEhPTl9BQkl9L01ha2VmaWxlCi0JIyBSZW1vdmUgcmVmZXJlbmNlcyB0byBidWlsZG1hY2hpbmUgcGF0aHMgaW4gdGFyZ2V0IE1ha2VmaWxlIGFuZCBfc3lzY29uZmlnZGF0YQotCXNlZCAtaSAtZSAnczotLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9OjpnJyAtZSBzOictLXdpdGgtbGlidG9vbC1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSc6OmcgXAotCQktZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JCS1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JCS1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCQktZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCQktZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKLQkJJHtQS0dEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWcvTWFrZWZpbGUgXAotCQkke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2NvbmZpZy0ke1BZVEhPTl9NQUpNSU59JHtQWVRIT05fQUJJfS9NYWtlZmlsZSBcCi0JCSR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEucHkgXAotCQkke1BLR0R9LyR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZwotCi0JIyBSZWNvbXBpbGUgX3N5c2NvbmZpZ2RhdGEgYWZ0ZXIgbW9kaWZ5aW5nIGl0Ci0JY2QgJHtQS0dEfQotCSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS8ke1BZVEhPTl9QTn0tbmF0aXZlLyR7UFlUSE9OX1BOfSBcCi0JICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCcuLyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhLnB5JykiCi0JJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9LyR7UFlUSE9OX1BOfS1uYXRpdmUvJHtQWVRIT05fUE59IFwKLQkgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJy4vJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vX3N5c2NvbmZpZ2RhdGEucHknLCBvcHRpbWl6ZT0xKSIKLQkke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQWVRIT05fUE59LW5hdGl2ZS8ke1BZVEhPTl9QTn0gXAotCSAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnLi8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9fc3lzY29uZmlnZGF0YS5weScsIG9wdGltaXplPTIpIgotCWNkIC0KLQotCW12ICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnLSR7TVVMVElMSUJfU1VGRklYfQotfQotCi1QQUNLQUdFU19yZW1vdmUgPSAiJHtQTn0iCi0KLSMgbWFudWFsIGRlcGVuZGVuY3kgYWRkaXRpb25zCi1SUFJPVklERVNfJHtQTn0tbW9kdWxlcyA9ICIke1BOfSIKLVJSRUNPTU1FTkRTXyR7UE59LWNvcmVfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgbmF0aXZlc2RrLXB5dGhvbjMtbW9kdWxlcyIKLVJSRUNPTU1FTkRTXyR7UE59LWNyeXB0ID0gIm9wZW5zc2wgY2EtY2VydGlmaWNhdGVzIgotCi1GSUxFU18ke1BOfS0ydG8zICs9ICIke2JpbmRpcn0vMnRvMy0ke1BZVEhPTl9NQUpNSU59IgotRklMRVNfJHtQTn0tcHlkb2MgKz0gIiR7YmluZGlyfS9weWRvYyR7UFlUSE9OX01BSk1JTn0gJHtiaW5kaXJ9L3B5ZG9jMyIKLUZJTEVTXyR7UE59LWlkbGUgKz0gIiR7YmluZGlyfS9pZGxlMyAke2JpbmRpcn0vaWRsZSR7UFlUSE9OX01BSk1JTn0iCi0KLSMgcHJvdmlkZSBweXRob24tcHl2ZW52IGZyb20gcHl0aG9uMy12ZW52Ci1SUFJPVklERVNfJHtQTn0tdmVudiArPSAiJHtQTn0tcHl2ZW52IgotCi0jIHBhY2thZ2UgbGlicHl0aG9uMwotUEFDS0FHRVMgPSsgImxpYnB5dGhvbjMgbGlicHl0aG9uMy1zdGF0aWNkZXYiCi1GSUxFU19saWJweXRob24zID0gIiR7bGliZGlyfS9saWJweXRob24qLnNvLioiCi1GSUxFU19saWJweXRob24zLXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0vY29uZmlnLSR7UFlUSE9OX0JJTkFCSX0vbGlicHl0aG9uJHtQWVRIT05fQklOQUJJfS5hIgotSU5TQU5FX1NLSVBfJHtQTn0tZGV2ICs9ICJkZXYtZWxmIgotCi0jIGNhdGNoIGFsbCB0aGUgcmVzdCAodW5zb3J0ZWQpCi1QQUNLQUdFUyArPSAiJHtQTn0tbWlzYyIKLVJERVBFTkRTXyR7UE59LW1pc2MgKz0gIiR7UE59LWNvcmUgJHtQTn0tZW1haWwgJHtQTn0tY29kZWNzIgotUkRFUEVORFNfJHtQTn0tbW9kdWxlcyArPSAiJHtQTn0tbWlzYyIKLUZJTEVTXyR7UE59LW1pc2MgPSAiJHtsaWJkaXJ9L3B5dGhvbiR7UFlUSE9OX01BSk1JTn0iCi0KLSMgY2F0Y2ggbWFucGFnZQotUEFDS0FHRVMgKz0gIiR7UE59LW1hbiIKLUZJTEVTXyR7UE59LW1hbiA9ICIke2RhdGFkaXJ9L21hbiIKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiJHtQTn0tbW9kdWxlcyAke1BOfS10ZXN0cyB1bnppcCBiemlwMiIKLQotUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCi0KLSMgV2Ugd2FudCBieXRlY29kZSBwcmVjb21waWxlZCAucHkgZmlsZXMgKC5weWMncykgYnkgZGVmYXVsdAotIyBidXQgdGhlIHVzZXIgbWF5IHNldCBpdCBvbiB0aGVpciBvd24gY29uZgotSU5DTFVERV9QWUNTID89ICIxIgotCi1weXRob24oKXsKLSAgICBpbXBvcnQgY29sbGVjdGlvbnMsIGpzb24KLQotICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdUSElTRElSJyksICdweXRob24zJywgJ3B5dGhvbjMtbWFuaWZlc3QuanNvbicpCi0gICAgIyBUaGlzIHB5dGhvbiBjaGFuZ2VzIHRoZSBkYXRhc3RvcmUgYmFzZWQgb24gdGhlIGNvbnRlbnRzIG9mIGEgZmlsZSwgc28gbWFyawotICAgICMgdGhhdCBkZXBlbmRlbmN5LgotICAgIGJiLnBhcnNlLm1hcmtfZGVwZW5kZW5jeShkLCBmaWxlbmFtZSkKLQotICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgbWFuaWZlc3RfZmlsZToKLSAgICAgICAgcHl0aG9uX21hbmlmZXN0PWpzb24ubG9hZChtYW5pZmVzdF9maWxlLCBvYmplY3RfcGFpcnNfaG9vaz1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdCkKLQotICAgIGluY2x1ZGVfcHljcyA9IGQuZ2V0VmFyKCdJTkNMVURFX1BZQ1MnKQotCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCi0gICAgcG4gPSBkLmdldFZhcignUE4nKQotCi0gICAgbmV3cGFja2FnZXM9W10KLSAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKLSAgICAgICAgcHlwYWNrYWdlPSBwbiArICctJyArIGtleQotCi0gICAgICAgIGlmIHB5cGFja2FnZSBub3QgaW4gcGFja2FnZXM6Ci0gICAgICAgICAgICAjIFdlIG5lZWQgdG8gcHJlcGVuZCwgb3RoZXJ3aXNlIHB5dGhvbi1taXNjIGdldHMgZXZlcnl0aGluZwotICAgICAgICAgICAgIyBzbyB3ZSB1c2UgYSBuZXcgdmFyaWFibGUKLSAgICAgICAgICAgIG5ld3BhY2thZ2VzLmFwcGVuZChweXBhY2thZ2UpCi0KLSAgICAgICAgIyAiQnVpbGQiIHB5dGhvbidzIG1hbmlmZXN0IEZJTEVTLCBSREVQRU5EUyBhbmQgU1VNTUFSWQotICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJycpCi0gICAgICAgIGZvciB2YWx1ZSBpbiBweXRob25fbWFuaWZlc3Rba2V5XVsnZmlsZXMnXToKLSAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFU18nICsgcHlwYWNrYWdlLCAnICcgKyB2YWx1ZSkKLQotICAgICAgICAjIEFkZCBjYWNoZWQgZmlsZXMKLSAgICAgICAgaWYgaW5jbHVkZV9weWNzID09ICcxJzoKLSAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBweXRob25fbWFuaWZlc3Rba2V5XVsnY2FjaGVkJ106Ci0gICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFU18nICsgcHlwYWNrYWdlLCAnICcgKyB2YWx1ZSkKLQotICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ3JkZXBlbmRzJ106Ci0gICAgICAgICAgICAjIE1ha2UgaXQgd29yayB3aXRoIG9yIHdpdGhvdXQgJFBOCi0gICAgICAgICAgICBpZiAnJHtQTn0nIGluIHZhbHVlOgotICAgICAgICAgICAgICAgIHZhbHVlPXZhbHVlLnNwbGl0KCctJylbMV0KLSAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcHlwYWNrYWdlLCAnICcgKyBwbiArICctJyArIHZhbHVlKQotICAgICAgICBkLnNldFZhcignU1VNTUFSWV8nICsgcHlwYWNrYWdlLCBweXRob25fbWFuaWZlc3Rba2V5XVsnc3VtbWFyeSddKQotCi0gICAgIyBQcmVwZW5kaW5nIHNvIHRvIGF2b2lkIHB5dGhvbi1taXNjIGdldHRpbmcgZXZlcnl0aGluZwotICAgIHBhY2thZ2VzID0gbmV3cGFja2FnZXMgKyBwYWNrYWdlcwotICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKLSAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJHtQTn0tbW9kdWxlcycsICcxJykKLX0KLQotIyBGaWxlcyBuZWVkZWQgdG8gY3JlYXRlIGEgbmV3IG1hbmlmZXN0Ci1TUkNfVVJJICs9ICJmaWxlOi8vY3JlYXRlX21hbmlmZXN0My5weSBmaWxlOi8vZ2V0X21vZHVsZV9kZXBzMy5weSBmaWxlOi8vcHl0aG9uMy1tYW5pZmVzdC5qc29uIgotCi1kb19jcmVhdGVfbWFuaWZlc3QoKSB7Ci0gICAgIyBUaGlzIHRhc2sgc2hvdWxkIGJlIHJ1biB3aXRoIGV2ZXJ5IG5ldyByZWxlYXNlIG9mIFB5dGhvbi4KLSAgICAjIFdlIG11c3QgZW5zdXJlIHRoYXQgUEFDS0FHRUNPTkZJRyBlbmFibGVzIGV2ZXJ5dGhpbmcgd2hlbiBjcmVhdGluZwotICAgICMgYSBuZXcgbWFuaWZlc3QsIHRoaXMgaXMgdG8gYmFzZSBvdXIgbmV3IG1hbmlmZXN0IG9uIGEgY29tcGxldGUKLSAgICAjIG5hdGl2ZSBweXRob24gYnVpbGQsIGNvbnRhaW5pbmcgYWxsIGRlcGVuZGVuY2llcywgb3RoZXJ3aXNlIHRoZSB0YXNrCi0gICAgIyB3b250IGJlIGFibGUgdG8gZmluZCB0aGUgcmVxdWlyZWQgZmlsZXMuCi0gICAgIyBlLmcuIEJlcmtlbGV5REIgaXMgYW4gb3B0aW9uYWwgYnVpbGQgZGVwZW5kZW5jeSBzbyBpdCBtYXkgb3IgbWF5IG5vdAotICAgICMgYmUgcHJlc2VudCwgd2UgbXVzdCBlbnN1cmUgaXQgaXMuCi0KLSAgICBjZCAke1dPUktESVJ9Ci0gICAgIyBUaGlzIG5lZWRzIHRvIGJlIGV4ZWN1dGVkIGJ5IHB5dGhvbi1uYXRpdmUgYW5kIE5PVCBieSBIT1NUJ3MgcHl0aG9uCi0gICAgbmF0aXZlcHl0aG9uMyBjcmVhdGVfbWFuaWZlc3QzLnB5ICR7UFlUSE9OX01BSk1JTn0KLSAgICBjcCBweXRob24zLW1hbmlmZXN0Lmpzb24ubmV3ICR7VEhJU0RJUn0vcHl0aG9uMy9weXRob24zLW1hbmlmZXN0Lmpzb24KLX0KLQotIyBiaXRiYWtlIHB5dGhvbiAtYyBjcmVhdGVfbWFuaWZlc3QKLWFkZHRhc2sgZG9fY3JlYXRlX21hbmlmZXN0Ci0KLSMgTWFrZSBzdXJlIHdlIGhhdmUgbmF0aXZlIHB5dGhvbiByZWFkeSB3aGVuIHdlIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdAotZG9fY3JlYXRlX21hbmlmZXN0W2RlcGVuZHNdICs9ICJweXRob24zOmRvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QiCi1kb19jcmVhdGVfbWFuaWZlc3RbZGVwZW5kc10gKz0gInB5dGhvbjM6ZG9fcGF0Y2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjcuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3B5dGhvbi9weXRob24zXzMuNy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNjRiYzgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uM18zLjcuMi5iYgpAQCAtMCwwICsxLDI5MCBAQAorU1VNTUFSWSA9ICJUaGUgUHl0aG9uIFByb2dyYW1taW5nIExhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5weXRob24ub3JnIgorTElDRU5TRSA9ICJQU0Z2MiIKK1NFQ1RJT04gPSAiZGV2ZWwvcHl0aG9uIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1mMjU3Y2MxNGY4MTY4NTY5MTY1MmEzZDNlMWI1ZDc1NCIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZnRwL3B5dGhvbi8ke1BWfS9QeXRob24tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9jcmVhdGVfbWFuaWZlc3QzLnB5IFwKKyAgICAgICAgICAgZmlsZTovL2dldF9tb2R1bGVfZGVwczMucHkgXAorICAgICAgICAgICBmaWxlOi8vcHl0aG9uMy1tYW5pZmVzdC5qc29uIFwKKyAgICAgICAgICAgZmlsZTovL2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weSBcCisgICAgICAgICAgIGZpbGU6Ly9jZ2lfcHkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYWRkLXVzci1saWItdGVybWNhcC10by1saW5rZXItZmxhZ3MtdG8tYXZvaWQtLnBhdGNoIFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAnJywgJ2ZpbGU6Ly9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2gnLCBkKX0gXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtdXNlLXRoZS1zaGVsbC12ZXJzaW9uLW9mLXB5dGhvbi1jb25maWctdGhhdC13LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3B5dGhvbi1jb25maWcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlZmlsZS5wcmUtdXNlLXFlbXUtd3JhcHBlci13aGVuLWdhdGhlcmluZy1wcm9maWxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1hcy1sb2NhdGlvbi1mb3Itc2l0ZS1wYWNrYWdlcy1hbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXB5dGhvbjMtdXNlLWNjX2Jhc2VuYW1lLXRvLXJlcGxhY2UtQ0MtZm9yLWNoZWNraW5nLWMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Eb24tdC1kby1ydW50aW1lLXRlc3QtdG8tZ2V0LWZsb2F0LWJ5dGUtb3JkZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1zZXR1cC5weS1wYXNzLW1pc3NpbmctbGlicmFyaWVzLXRvLUV4dGVuc2lvbi1mb3ItbXVsLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZGlzdHV0aWxzLXN5c2NvbmZpZy1hcHBlbmQtU1RBR0lOR19MSUJESVItcHl0aG9uLXN5cy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8xMi1kaXN0dXRpbHMtcHJlZml4LWlzLWluc2lkZS1zdGFnaW5nLWFyZWEucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZjZlYzM2MDExODA4MjA1YmVkYTIzOWM3MmY5NDdjYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkODNmZThjZTUxYjFiYjQ4YmJjZjA1NTBmZDI2NWI5YTc1Y2RmZGZhOTNmOTE2ZjllNzAwYWVmODQ0NGJmMWJiIgorCisjIGV4Y2x1ZGUgcHJlLXJlbGVhc2VzIGZvciBib3RoIHB5dGhvbiAyLnggYW5kIDMueAorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiW1BwXXl0aG9uLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCisKK0NWRV9QUk9EVUNUID0gInB5dGhvbiIKKworUFlUSE9OX01BSk1JTiA9ICIzLjciCitQWVRIT05fQklOQUJJID0gIiR7UFlUSE9OX01BSk1JTn1tIgorCitTID0gIiR7V09SS0RJUn0vUHl0aG9uLSR7UFZ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBxZW11IHB0ZXN0IG11bHRpbGliX2hlYWRlciB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK01VTFRJTElCX1NVRkZJWCA9ICIke0BkLmdldFZhcignYmFzZV9saWJkaXInLDEpLnNwbGl0KCcvJylbLTFdfSIKKworQUxURVJOQVRJVkVfJHtQTn0tZGV2ID0gInB5dGhvbi1jb25maWciCitBTFRFUk5BVElWRV9MSU5LX05BTUVbcHl0aG9uLWNvbmZpZ10gPSAiJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnIgorQUxURVJOQVRJVkVfVEFSR0VUW3B5dGhvbi1jb25maWddID0gIiR7YmluZGlyfS9weXRob24ke1BZVEhPTl9CSU5BQkl9LWNvbmZpZy0ke01VTFRJTElCX1NVRkZJWH0iCisKKworREVQRU5EUyA9ICJiemlwMi1yZXBsYWNlbWVudC1uYXRpdmUgbGliZmZpIGJ6aXAyIGdkYm0gb3BlbnNzbCBzcWxpdGUzIHpsaWIgdmlydHVhbC9saWJpbnRsIHh6IHZpcnR1YWwvY3J5cHQgdXRpbC1saW51eCBsaWJ0aXJwYyBsaWJuc2wyIgorREVQRU5EU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBweXRob24zLW5hdGl2ZSIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgcHl0aG9uMy1uYXRpdmUiCisKK0VYVFJBX09FQ09ORiA9ICIgLS13aXRob3V0LWVuc3VyZXBpcCAtLWVuYWJsZS1zaGFyZWQiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1iaW5kaXI9JHtiaW5kaXJ9LyR7UE59IgorCisKK0VYVFJBTkFUSVZFUEFUSCArPSAicHl0aG9uMy1uYXRpdmUiCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gIiBcCisgICAgICAgICAgICAgICAgYWNfY3ZfZmlsZV9fZGV2X3B0bXg9eWVzIFwKKyAgICAgICAgICAgICAgICBhY19jdl9maWxlX19kZXZfcHRjPW5vIFwKKyAgICAgICAgICAgICAgICBhY19jdl93b3JraW5nX3R6c2V0PXllcyBcCisiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID8/PSAicmVhZGxpbmUgJHtAYmIudXRpbHMuY29udGFpbnMoJ01BQ0hJTkVfRkVBVFVSRVMnLCAncWVtdS11c2VybW9kZScsICdwZ28nLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz89ICJyZWFkbGluZSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID8/PSAicmVhZGxpbmUiCitQQUNLQUdFQ09ORklHW3JlYWRsaW5lXSA9ICIsLHJlYWRsaW5lIgorIyBVc2UgcHJvZmlsZSBndWlkZWQgb3B0aW1pc2F0aW9uIGJ5IHJ1bm5pbmcgUHlCZW5jaCBpbnNpZGUgcWVtdS11c2VyCitQQUNLQUdFQ09ORklHW3Bnb10gPSAiLS1lbmFibGUtb3B0aW1pemF0aW9ucywscWVtdS1uYXRpdmUiCitQQUNLQUdFQ09ORklHW3RrXSA9ICIsLHRrIgorCitDUFBGTEFHU19hcHBlbmQgPSAiIC1JJHtTVEFHSU5HX0lOQ0RJUn0vbmN1cnNlc3cgLUkke1NUQUdJTkdfSU5DRElSfS91dWlkIgorCitFWFRSQV9PRU1BS0UgPSAnXAorICBTVEFHSU5HX0xJQkRJUj0ke1NUQUdJTkdfTElCRElSfSBcCisgIFNUQUdJTkdfSU5DRElSPSR7U1RBR0lOR19JTkNESVJ9IFwKKyAgTElCPSR7YmFzZWxpYn0gXAorJworCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0KCkgeworICAgICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BnbycsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgICAgICAgICAgcWVtdV9iaW5hcnk9IiR7QHFlbXVfd3JhcHBlcl9jbWRsaW5lKGQsICcke1NUQUdJTkdfRElSX1RBUkdFVH0nLCBbJyR7Qn0nLCAnJHtTVEFHSU5HX0RJUl9UQVJHRVR9LyR7YmFzZV9saWJkaXJ9J10pfSIKKyAgICAgICAgICAgICAgICBjYXQgPnBnby13cmFwcGVyIDw8RU9GCisjIS9iaW4vc2gKK2NkICR7Qn0KKyRxZW11X2JpbmFyeSAiXCRAIgorRU9GCisgICAgICAgICAgICAgICAgY2htb2QgK3ggcGdvLXdyYXBwZXIKKyAgICAgICAgZmkKK30KKworZG9faW5zdGFsbF9wcmVwZW5kKCkgeworICAgICAgICAke1dPUktESVJ9L2NoZWNrX2J1aWxkX2NvbXBsZXRlbmVzcy5weSAke1R9L2xvZy5kb19jb21waWxlCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICAgb2VfbXVsdGlsaWJfaGVhZGVyIHB5dGhvbiR7UFlUSE9OX0JJTkFCSX0vcHljb25maWcuaAorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgICAgICMgTWFrZSBzdXJlIHdlIHVzZSAvdXNyL2Jpbi9lbnYgcHl0aG9uCisgICAgICAgIGZvciBQWVRIU0NSSVBUIGluIGBncmVwIC1ySWwgJHtiaW5kaXJ9LyR7UE59L3B5dGhvbiAke0R9JHtiaW5kaXJ9LyR7UE59YDsgZG8KKyAgICAgICAgICAgICAgICBzZWQgLWkgLWUgJzFzfF4jIS4qfCMhL3Vzci9iaW4vZW52IHB5dGhvbjN8JyAkUFlUSFNDUklQVAorICAgICAgICBkb25lCisgICAgICAgICMgQWRkIGEgc3ltbGluayB0byB0aGUgbmF0aXZlIFB5dGhvbiBzbyB0aGF0IHNjcmlwdHMgY2FuIGp1c3QgaW52b2tlCisgICAgICAgICMgIm5hdGl2ZXB5dGhvbiIgYW5kIGdldCB0aGUgcmlnaHQgb25lIHdpdGhvdXQgbmVlZGluZyBhYnNvbHV0ZSBwYXRocworICAgICAgICAjICh0aGVzZSBvZnRlbiBlbmQgdXAgdG9vIGxvbmcgZm9yIHRoZSAjISBwYXJzZXIgaW4gdGhlIGtlcm5lbCBhcyB0aGUKKyAgICAgICAgIyBidWZmZXIgaXMgMTI4IGJ5dGVzIGxvbmcpLgorICAgICAgICBsbiAtcyBweXRob24zLW5hdGl2ZS9weXRob24zICR7RH0ke2JpbmRpcn0vbmF0aXZlcHl0aG9uMworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAgICAgbWtkaXIgLXAgJHtEfSR7bGliZGlyfS9weXRob24tc3lzY29uZmlnZGF0YQorICAgICAgICBzeXNjb25maWdmaWxlPWBmaW5kICR7RH0gLW5hbWUgX3N5c2NvbmZpZyoucHlgCisgICAgICAgIGNwICRzeXNjb25maWdmaWxlICR7RH0ke2xpYmRpcn0vcHl0aG9uLXN5c2NvbmZpZ2RhdGEvX3N5c2NvbmZpZ2RhdGEucHkKKworICAgICAgICBzZWQgLWkgIFwKKyAgICAgICAgICAgICAgICAtZSAicyxeICdMSUJESVInLiosICdMSUJESVInOiAnJHtTVEFHSU5HX0xJQkRJUn0nXCwsZyIgXAorICAgICAgICAgICAgICAgIC1lICJzLF4gJ0lOQ0xVREVESVInLiosICdJTkNMVURFRElSJzogJyR7U1RBR0lOR19JTkNESVJ9J1wsLGciIFwKKyAgICAgICAgICAgICAgICAtZSAicyxeICdDT05GSU5DTFVERURJUicuKiwgJ0NPTkZJTkNMVURFRElSJzogJyR7U1RBR0lOR19JTkNESVJ9J1wsLGciIFwKKyAgICAgICAgICAgICAgICAtZSAiL14gJ0lOQ0xESVJTVE9NQUtFJy97TjsgcywvdXNyL2luY2x1ZGUsJHtTVEFHSU5HX0lOQ0RJUn0sZ30iIFwKKyAgICAgICAgICAgICAgICAtZSAiL14gJ0lOQ0xVREVQWScvcywvdXNyL2luY2x1ZGUsJHtTVEFHSU5HX0lOQ0RJUn0sZyIgXAorICAgICAgICAgICAgICAgICR7RH0ke2xpYmRpcn0vcHl0aG9uLXN5c2NvbmZpZ2RhdGEvX3N5c2NvbmZpZ2RhdGEucHkKK30KKworU1NUQVRFX1NDQU5fRklMRVMgKz0gIk1ha2VmaWxlIF9zeXNjb25maWdkYXRhLnB5IgorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJweV9wYWNrYWdlX3ByZXByb2Nlc3MiCisKK3B5X3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisgICAgICAgICMgUmVtb3ZlIHJlZmVyZW5jZXMgdG8gYnVpbGRtYWNoaW5lIHBhdGhzIGluIHRhcmdldCBNYWtlZmlsZSBhbmQgX3N5c2NvbmZpZ2RhdGEKKyAgICAgICAgc2VkIC1pIC1lICdzOi0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH06OmcnIC1lIHM6Jy0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9Jzo6ZyBcCisgICAgICAgICAgICAgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorICAgICAgICAgICAgICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCisgICAgICAgICAgICAgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVH06OmcnIFwKKyAgICAgICAgICAgICAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKKyAgICAgICAgICAgICAgICAke1BLR0R9LyR7cHJlZml4fS9saWIvcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fTUFKTUlOfSR7UFlUSE9OX0FCSX0qL01ha2VmaWxlIFwKKyAgICAgICAgICAgICAgICAke1BLR0R9LyR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L19zeXNjb25maWdkYXRhKi5weSBcCisgICAgICAgICAgICAgICAgJHtQS0dEfS8ke2JpbmRpcn0vcHl0aG9uJHtQWVRIT05fQklOQUJJfS1jb25maWcKKworICAgICAgICAjIFJlY29tcGlsZSBfc3lzY29uZmlnZGF0YSBhZnRlciBtb2RpZnlpbmcgaXQKKyAgICAgICAgY2QgJHtQS0dEfQorICAgICAgICBzeXNjb25maWdmaWxlPWBmaW5kIC4gLW5hbWUgX3N5c2NvbmZpZ2RhdGFfKi5weWAKKyAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3B5dGhvbjMtbmF0aXZlL3B5dGhvbjMgXAorICAgICAgICAgICAgIC1jICJmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGU7IGNvbXBpbGUoJyRzeXNjb25maWdmaWxlJykiCisgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9weXRob24zLW5hdGl2ZS9weXRob24zIFwKKyAgICAgICAgICAgICAtYyAiZnJvbSBweV9jb21waWxlIGltcG9ydCBjb21waWxlOyBjb21waWxlKCckc3lzY29uZmlnZmlsZScsIG9wdGltaXplPTEpIgorICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vcHl0aG9uMy1uYXRpdmUvcHl0aG9uMyBcCisgICAgICAgICAgICAgLWMgImZyb20gcHlfY29tcGlsZSBpbXBvcnQgY29tcGlsZTsgY29tcGlsZSgnJHN5c2NvbmZpZ2ZpbGUnLCBvcHRpbWl6ZT0yKSIKKyAgICAgICAgY2QgLQorCisgICAgICAgIG12ICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnICR7UEtHRH0vJHtiaW5kaXJ9L3B5dGhvbiR7UFlUSE9OX0JJTkFCSX0tY29uZmlnLSR7TVVMVElMSUJfU1VGRklYfQorICAgICAgICAKKyAgICAgICAgI1JlbW92ZSB0aGUgdW5uZWVkZWQgY29weSBvZiB0YXJnZXQgc3lzY29uZmlnIGRhdGEKKyAgICAgICAgcm0gLXJmICR7UEtHRH0vJHtsaWJkaXJ9L3B5dGhvbi1zeXNjb25maWdkYXRhCit9CisKKyMgV2Ugd2FudCBieXRlY29kZSBwcmVjb21waWxlZCAucHkgZmlsZXMgKC5weWMncykgYnkgZGVmYXVsdAorIyBidXQgdGhlIHVzZXIgbWF5IHNldCBpdCBvbiB0aGVpciBvd24gY29uZgorSU5DTFVERV9QWUNTID89ICIxIgorCitweXRob24oKXsKKyAgICBpbXBvcnQgY29sbGVjdGlvbnMsIGpzb24KKworICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKGQuZ2V0VmFyKCdUSElTRElSJyksICdweXRob24zJywgJ3B5dGhvbjMtbWFuaWZlc3QuanNvbicpCisgICAgIyBUaGlzIHB5dGhvbiBjaGFuZ2VzIHRoZSBkYXRhc3RvcmUgYmFzZWQgb24gdGhlIGNvbnRlbnRzIG9mIGEgZmlsZSwgc28gbWFyaworICAgICMgdGhhdCBkZXBlbmRlbmN5LgorICAgIGJiLnBhcnNlLm1hcmtfZGVwZW5kZW5jeShkLCBmaWxlbmFtZSkKKworICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgbWFuaWZlc3RfZmlsZToKKyAgICAgICAgbWFuaWZlc3Rfc3RyID0gIG1hbmlmZXN0X2ZpbGUucmVhZCgpCisgICAgICAgIGpzb25fc3RhcnQgPSBtYW5pZmVzdF9zdHIuZmluZCgnIyBFT0MnKSArIDYKKyAgICAgICAgbWFuaWZlc3RfZmlsZS5zZWVrKGpzb25fc3RhcnQpCisgICAgICAgIG1hbmlmZXN0X3N0ciA9IG1hbmlmZXN0X2ZpbGUucmVhZCgpCisgICAgICAgIHB5dGhvbl9tYW5pZmVzdCA9IGpzb24ubG9hZHMobWFuaWZlc3Rfc3RyLCBvYmplY3RfcGFpcnNfaG9vaz1jb2xsZWN0aW9ucy5PcmRlcmVkRGljdCkKKworICAgICMgRmlyc3Qgc2V0IFJQUk9WSURFUyBmb3IgLW5hdGl2ZSBjYXNlCisgICAgIyBIYXJkY29kZWQgc2luY2UgaXQgY2FudCBiZSBweXRob24zLW5hdGl2ZS1mb28sIHNob3VsZCBiZSBweXRob24zLWZvby1uYXRpdmUKKyAgICBwbiA9ICdweXRob24zJworICAgIHJwcm92aWRlcyA9IGQuZ2V0VmFyKCdSUFJPVklERVMnKS5zcGxpdCgpCisKKyAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKKyAgICAgICAgcHlwYWNrYWdlID0gcG4gKyAnLScgKyBrZXkgKyAnLW5hdGl2ZScKKyAgICAgICAgaWYgcHlwYWNrYWdlIG5vdCBpbiBycHJvdmlkZXM6CisgICAgICAgICAgICAgIHJwcm92aWRlcy5hcHBlbmQocHlwYWNrYWdlKQorCisgICAgZC5zZXRWYXIoJ1JQUk9WSURFU19jbGFzcy1uYXRpdmUnLCAnICcuam9pbihycHJvdmlkZXMpKQorCisgICAgIyBUaGVuIHdvcmsgb24gdGhlIHRhcmdldAorICAgIGluY2x1ZGVfcHljcyA9IGQuZ2V0VmFyKCdJTkNMVURFX1BZQ1MnKQorCisgICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCisgICAgcG4gPSBkLmdldFZhcignUE4nKQorCisgICAgbmV3cGFja2FnZXM9W10KKyAgICBmb3Iga2V5IGluIHB5dGhvbl9tYW5pZmVzdDoKKyAgICAgICAgcHlwYWNrYWdlPSBwbiArICctJyArIGtleQorCisgICAgICAgIGlmIHB5cGFja2FnZSBub3QgaW4gcGFja2FnZXM6CisgICAgICAgICAgICAjIFdlIG5lZWQgdG8gcHJlcGVuZCwgb3RoZXJ3aXNlIHB5dGhvbi1taXNjIGdldHMgZXZlcnl0aGluZworICAgICAgICAgICAgIyBzbyB3ZSB1c2UgYSBuZXcgdmFyaWFibGUKKyAgICAgICAgICAgIG5ld3BhY2thZ2VzLmFwcGVuZChweXBhY2thZ2UpCisKKyAgICAgICAgIyAiQnVpbGQiIHB5dGhvbidzIG1hbmlmZXN0IEZJTEVTLCBSREVQRU5EUyBhbmQgU1VNTUFSWQorICAgICAgICBkLnNldFZhcignRklMRVNfJyArIHB5cGFja2FnZSwgJycpCisgICAgICAgIGZvciB2YWx1ZSBpbiBweXRob25fbWFuaWZlc3Rba2V5XVsnZmlsZXMnXToKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFU18nICsgcHlwYWNrYWdlLCAnICcgKyB2YWx1ZSkKKworICAgICAgICAjIEFkZCBjYWNoZWQgZmlsZXMKKyAgICAgICAgaWYgaW5jbHVkZV9weWNzID09ICcxJzoKKyAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBweXRob25fbWFuaWZlc3Rba2V5XVsnY2FjaGVkJ106CisgICAgICAgICAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdGSUxFU18nICsgcHlwYWNrYWdlLCAnICcgKyB2YWx1ZSkKKworICAgICAgICBmb3IgdmFsdWUgaW4gcHl0aG9uX21hbmlmZXN0W2tleV1bJ3JkZXBlbmRzJ106CisgICAgICAgICAgICAjIE1ha2UgaXQgd29yayB3aXRoIG9yIHdpdGhvdXQgJFBOCisgICAgICAgICAgICBpZiAnJHtQTn0nIGluIHZhbHVlOgorICAgICAgICAgICAgICAgIHZhbHVlPXZhbHVlLnNwbGl0KCctJylbMV0KKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgcHlwYWNrYWdlLCAnICcgKyBwbiArICctJyArIHZhbHVlKQorICAgICAgICBkLnNldFZhcignU1VNTUFSWV8nICsgcHlwYWNrYWdlLCBweXRob25fbWFuaWZlc3Rba2V5XVsnc3VtbWFyeSddKQorCisgICAgIyBQcmVwZW5kaW5nIHNvIHRvIGF2b2lkIHB5dGhvbi1taXNjIGdldHRpbmcgZXZlcnl0aGluZworICAgIHBhY2thZ2VzID0gbmV3cGFja2FnZXMgKyBwYWNrYWdlcworICAgIGQuc2V0VmFyKCdQQUNLQUdFUycsICcgJy5qb2luKHBhY2thZ2VzKSkKKyAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJHtQTn0tbW9kdWxlcycsICcxJykKK30KKworIyBGaWxlcyBuZWVkZWQgdG8gY3JlYXRlIGEgbmV3IG1hbmlmZXN0CisKK2RvX2NyZWF0ZV9tYW5pZmVzdCgpIHsKKyAgICAjIFRoaXMgdGFzayBzaG91bGQgYmUgcnVuIHdpdGggZXZlcnkgbmV3IHJlbGVhc2Ugb2YgUHl0aG9uLgorICAgICMgV2UgbXVzdCBlbnN1cmUgdGhhdCBQQUNLQUdFQ09ORklHIGVuYWJsZXMgZXZlcnl0aGluZyB3aGVuIGNyZWF0aW5nCisgICAgIyBhIG5ldyBtYW5pZmVzdCwgdGhpcyBpcyB0byBiYXNlIG91ciBuZXcgbWFuaWZlc3Qgb24gYSBjb21wbGV0ZQorICAgICMgbmF0aXZlIHB5dGhvbiBidWlsZCwgY29udGFpbmluZyBhbGwgZGVwZW5kZW5jaWVzLCBvdGhlcndpc2UgdGhlIHRhc2sKKyAgICAjIHdvbnQgYmUgYWJsZSB0byBmaW5kIHRoZSByZXF1aXJlZCBmaWxlcy4KKyAgICAjIGUuZy4gQmVya2VsZXlEQiBpcyBhbiBvcHRpb25hbCBidWlsZCBkZXBlbmRlbmN5IHNvIGl0IG1heSBvciBtYXkgbm90CisgICAgIyBiZSBwcmVzZW50LCB3ZSBtdXN0IGVuc3VyZSBpdCBpcy4KKworICAgIGNkICR7V09SS0RJUn0KKyAgICAjIFRoaXMgbmVlZHMgdG8gYmUgZXhlY3V0ZWQgYnkgcHl0aG9uLW5hdGl2ZSBhbmQgTk9UIGJ5IEhPU1QncyBweXRob24KKyAgICBuYXRpdmVweXRob24zIGNyZWF0ZV9tYW5pZmVzdDMucHkgJHtQWVRIT05fTUFKTUlOfQorICAgIGNwIHB5dGhvbjMtbWFuaWZlc3QuanNvbi5uZXcgJHtUSElTRElSfS9weXRob24zL3B5dGhvbjMtbWFuaWZlc3QuanNvbgorfQorCisjIGJpdGJha2UgcHl0aG9uIC1jIGNyZWF0ZV9tYW5pZmVzdAorYWRkdGFzayBkb19jcmVhdGVfbWFuaWZlc3QKKworIyBNYWtlIHN1cmUgd2UgaGF2ZSBuYXRpdmUgcHl0aG9uIHJlYWR5IHdoZW4gd2UgY3JlYXRlIGEgbmV3IG1hbmlmZXN0Citkb19jcmVhdGVfbWFuaWZlc3RbZGVwZW5kc10gKz0gIiR7UE59OmRvX3ByZXBhcmVfcmVjaXBlX3N5c3Jvb3QiCitkb19jcmVhdGVfbWFuaWZlc3RbZGVwZW5kc10gKz0gIiR7UE59OmRvX3BhdGNoIgorCisjIG1hbnVhbCBkZXBlbmRlbmN5IGFkZGl0aW9ucworUlBST1ZJREVTXyR7UE59LW1vZHVsZXMgPSAiJHtQTn0iCitSUkVDT01NRU5EU18ke1BOfS1jb3JlX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIG5hdGl2ZXNkay1weXRob24zLW1vZHVsZXMiCitSUkVDT01NRU5EU18ke1BOfS1jcnlwdF9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBvcGVuc3NsIGNhLWNlcnRpZmljYXRlcyIKK1JSRUNPTU1FTkRTXyR7UE59LWNyeXB0X2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIG9wZW5zc2wgY2EtY2VydGlmaWNhdGVzIgorCitGSUxFU18ke1BOfS1weWRvYyArPSAiJHtiaW5kaXJ9L3B5ZG9jJHtQWVRIT05fTUFKTUlOfSAke2JpbmRpcn0vcHlkb2MzIgorRklMRVNfJHtQTn0taWRsZSArPSAiJHtiaW5kaXJ9L2lkbGUzICR7YmluZGlyfS9pZGxlJHtQWVRIT05fTUFKTUlOfSIKKworIyBwcm92aWRlIHB5dGhvbi1weXZlbnYgZnJvbSBweXRob24zLXZlbnYKK1JQUk9WSURFU18ke1BOfS12ZW52ICs9ICJweXRob24zLXB5dmVudiIKKworIyBwYWNrYWdlIGxpYnB5dGhvbjMKK1BBQ0tBR0VTID0rICJsaWJweXRob24zIGxpYnB5dGhvbjMtc3RhdGljZGV2IgorRklMRVNfbGlicHl0aG9uMyA9ICIke2xpYmRpcn0vbGlicHl0aG9uKi5zby4qIgorRklMRVNfbGlicHl0aG9uMy1zdGF0aWNkZXYgKz0gIiR7cHJlZml4fS9saWIvcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9jb25maWctJHtQWVRIT05fQklOQUJJfS0qL2xpYnB5dGhvbiR7UFlUSE9OX0JJTkFCSX0uYSIKK0lOU0FORV9TS0lQXyR7UE59LWRldiArPSAiZGV2LWVsZiIKKworIyBjYXRjaCBhbGwgdGhlIHJlc3QgKHVuc29ydGVkKQorUEFDS0FHRVMgKz0gIiR7UE59LW1pc2MiCitSREVQRU5EU18ke1BOfS1taXNjICs9ICJweXRob24zLWNvcmUgcHl0aG9uMy1lbWFpbCBweXRob24zLWNvZGVjcyIKK1JERVBFTkRTXyR7UE59LW1vZHVsZXNfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgcHl0aG9uMy1taXNjIgorUkRFUEVORFNfJHtQTn0tbW9kdWxlc19hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBweXRob24zLW1pc2MiCitGSUxFU18ke1BOfS1taXNjID0gIiR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59ICR7bGliZGlyfS9weXRob24ke1BZVEhPTl9NQUpNSU59L2xpYi1keW5sb2FkIgorCisjIGNhdGNoIG1hbnBhZ2UKK1BBQ0tBR0VTICs9ICIke1BOfS1tYW4iCitGSUxFU18ke1BOfS1tYW4gPSAiJHtkYXRhZGlyfS9tYW4iCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiR7UE59LW1vZHVsZXMgJHtQTn0tdGVzdHMgdW56aXAgYnppcDIgbGliZ2NjIHR6ZGF0YS1ldXJvcGUgY29yZXV0aWxzIgorUkRFUEVORFNfJHtQTn0tdGtpbnRlciArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAndGsnLCAndGsnLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcHl0aG9uL3B5dGhvbl8yLjcuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uXzIuNy4xNS5iYgppbmRleCBjMjJjNzYyLi5jNDU5YWYwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uXzIuNy4xNS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9weXRob24vcHl0aG9uXzIuNy4xNS5iYgpAQCAtMjEsNyArMjEsNyBAQAogICBmaWxlOi8vc2V0dXB0d2Vha3MucGF0Y2ggXAogICBmaWxlOi8vY2hlY2staWYtdGFyZ2V0LWlzLTY0Yi1ub3QtaG9zdC5wYXRjaCBcCiAgIGZpbGU6Ly9zZWFyY2hfZGJfaF9pbl9pbmNfZGlyc19hbmRfYXZvaWRfd2FybmluZy5wYXRjaCBcCi0gIGZpbGU6Ly9hdm9pZF93YXJuaW5nX2Fib3V0X3RraW50ZXIucGF0Y2ggXAorICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0aycsICcnLCAnZmlsZTovL2F2b2lkX3dhcm5pbmdfYWJvdXRfdGtpbnRlci5wYXRjaCcsIGQpfSBcCiAgIGZpbGU6Ly9hdm9pZF93YXJuaW5nX2Zvcl9zdW5vc19zcGVjaWZpY19tb2R1bGUucGF0Y2ggXAogICBmaWxlOi8vcHl0aG9uLTIuNy4zLXJlbW92ZS1ic2RiLXJwYXRoLnBhdGNoIFwKICAgZmlsZTovL3J1bi1wdGVzdCBcCkBAIC0zMyw2ICszMyw3IEBACiAgIGZpbGU6Ly9mbG9hdC1lbmRpYW4ucGF0Y2ggXAogICBmaWxlOi8vMDAwMS1jbG9zZXMtYnBvLTM0NTQwLUNvbnZlcnQtc2h1dGlsLl9jYWxsX2V4dGVybmFsX3ppcC10LnBhdGNoIFwKICAgZmlsZTovLzAwMDEtMi43LWJwby0zNDYyMy1Vc2UtWE1MX1NldEhhc2hTYWx0LWluLV9lbGVtZW50dHJlZS1HSC5wYXRjaCBcCisgIGZpbGU6Ly8wMDAxLXB5dGhvbjItdXNlLWNjX2Jhc2VuYW1lLXRvLXJlcGxhY2UtQ0MtZm9yLWNoZWNraW5nLWMucGF0Y2ggXAogIgogCiBTID0gIiR7V09SS0RJUn0vUHl0aG9uLSR7UFZ9IgpAQCAtNDEsMTAgKzQyLDExIEBACiAKIENPTkZJR1VSRU9QVFMgKz0gIiAtLXdpdGgtc3lzdGVtLWZmaSAiCiAKLUVYVFJBX09FQ09ORiArPSAiYWNfY3ZfZmlsZV9fZGV2X3B0bXg9eWVzIGFjX2N2X2ZpbGVfX2Rldl9wdGM9bm8iCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X2ZpbGVfX2Rldl9wdG14PXllcyBhY19jdl9maWxlX19kZXZfcHRjPW5vIGFjX2N2X3dvcmtpbmdfdHpzZXQ9eWVzIgogCiBQQUNLQUdFQ09ORklHID8/PSAiYmRiIgogUEFDS0FHRUNPTkZJR1tiZGJdID0gIiwsZGIiCitQQUNLQUdFQ09ORklHW3RrXSA9ICIsLHRrIgogCiBkb19jb25maWd1cmVfYXBwZW5kKCkgewogCXJtIC1mICR7U30vTWFrZWZpbGUub3JpZwpAQCAtMTI5LDYgKzEzMSw5IEBACiAgICAgaWYgWyAteiAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ2JkYicsIGQpfSIgXTsgdGhlbgogICAgICAgICBybSAtcmYgJHtEfS8ke2xpYmRpcn0vcHl0aG9uJHtQWVRIT05fTUFKTUlOfS9ic2RkYgogICAgIGZpCisKKyAgICAjIFB5dGhvbiAzLnggdmVyc2lvbiBvZiAydG8zIGlzIG5vdyB0aGUgZGVmYXVsdAorICAgIG12ICR7RH0vJHtiaW5kaXJ9LzJ0bzMgJHtEfS8ke2JpbmRpcn0vMnRvMy0ke1BZVEhPTl9NQUpNSU59CiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayAoKSB7CkBAIC0xNzEsOCArMTc2LDggQEAKIFJERVBFTkRTXyR7UE59LW1vZHVsZXMgKz0gIiR7UE59LW1pc2MiCiAKICMgcHRlc3QKLVJERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiR7UE59LW1vZHVsZXMgJHtQTn0tdGVzdHMgdW56aXAiCi0KK1JERVBFTkRTXyR7UE59LXB0ZXN0ID0gIiR7UE59LW1vZHVsZXMgJHtQTn0tdGVzdHMgdW56aXAgdHpkYXRhLWV1cm9wZSBjb3JldXRpbHMiCitSREVQRU5EU18ke1BOfS10a2ludGVyICs9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd0aycsICd0aycsICcnLCBkKX0iCiAjIGNhdGNoIG1hbnBhZ2UKIFBBQ0tBR0VTICs9ICIke1BOfS1tYW4iCiBGSUxFU18ke1BOfS1tYW4gPSAiJHtkYXRhZGlyfS9tYW4iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtaGVscGVyLW5hdGl2ZV8xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtaGVscGVyLW5hdGl2ZV8xLjAuYmIKaW5kZXggZDg2YjE1NS4uZDlkOWRhMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LWhlbHBlci1uYXRpdmVfMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1oZWxwZXItbmF0aXZlXzEuMC5iYgpAQCAtMSw2ICsxLDYgQEAKIFNVTU1BUlkgPSAiSGVscGVyIHV0aWxpdGllcyBuZWVkZWQgYnkgdGhlIHJ1bnFlbXUgc2NyaXB0IgogTElDRU5TRSA9ICJHUEx2MiIKLVJERVBFTkRTXyR7UE59ID0gInFlbXUtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAicWVtdS1zeXN0ZW0tbmF0aXZlIgogUFIgPSAicjEiCiAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7V09SS0RJUn0vdHVuY3RsLmM7ZW5kbGluZT00O21kNT1mZjNhMDk5OTZiYzVmZmY2YmM1ZDRlMGI0YzI4Zjk5OSIKQEAgLTIwLDUgKzIwLDUgQEAKIAlpbnN0YWxsIHR1bmN0bCAke0R9JHtiaW5kaXJ9LwogfQogCi1ERVBFTkRTICs9ICJxZW11LW5hdGl2ZSIKK0RFUEVORFMgKz0gInFlbXUtc3lzdGVtLW5hdGl2ZSIKIGFkZHRhc2sgYWRkdG9fcmVjaXBlX3N5c3Jvb3QgYWZ0ZXIgZG9fcG9wdWxhdGVfc3lzcm9vdCBiZWZvcmUgZG9fYnVpbGQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmUuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM3M2FkOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmUuaW5jCkBAIC0wLDAgKzEsMTcgQEAKK2luaGVyaXQgbmF0aXZlCisKK3JlcXVpcmUgcWVtdS5pbmMKKworU1JDX1VSSV9hcHBlbmQgPSAiIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDEzLWNwdXMuYy1BZGQtZXJyb3ItbWVzc2FnZXMtd2hlbi1xZW1pX2NwdV9raWNrX3RocmVhZC0ucGF0Y2ggXAorICAgICAgICAgICAgIgorRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS1weXRob249cHl0aG9uMi43IgorCitFWFRSQV9PRU1BS0VfYXBwZW5kID0gIiBMRD0nJHtMRH0nIEFSPScke0FSfScgT0JKQ09QWT0nJHtPQkpDT1BZfScgTERGTEFHUz0nJHtMREZMQUdTfSciCisKK0xERkxBR1NfYXBwZW5kID0gIiAtZnVzZS1sZD1iZmQiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdndGsrJywgJ21ha2VfcWVtdV93cmFwcGVyJywgJycsIGQpfQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LW5hdGl2ZV8zLjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmVfMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhhY2ZmOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS1uYXRpdmVfMy4xLjAuYmIKQEAgLTAsMCArMSw5IEBACitCUE4gPSAicWVtdSIKKworREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgemxpYi1uYXRpdmUiCisKK3JlcXVpcmUgcWVtdS1uYXRpdmUuaW5jCisKK0VYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tdGFyZ2V0LWxpc3Q9JHtAZ2V0X3FlbXVfdXNlcm1vZGVfdGFyZ2V0X2xpc3QoZCl9IC0tZGlzYWJsZS10b29scyAtLWRpc2FibGUtYmxvYnMgLS1kaXNhYmxlLWd1ZXN0LWFnZW50IgorCitQQUNLQUdFQ09ORklHID8/PSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXN5c3RlbS1uYXRpdmVfMy4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtc3lzdGVtLW5hdGl2ZV8zLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmY1MjhiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXN5c3RlbS1uYXRpdmVfMy4xLjAuYmIKQEAgLTAsMCArMSwyMyBAQAorQlBOID0gInFlbXUiCisKK3JlcXVpcmUgcWVtdS1uYXRpdmUuaW5jCisKKyMgQXMgc29tZSBvZiB0aGUgZmlsZXMgaW5zdGFsbGVkIGJ5IHFlbXUtbmF0aXZlIGFuZCBxZW11LXN5c3RlbS1uYXRpdmUgCisjIGFyZSB0aGUgc2FtZSwgd2UgZGVwZW5kIG9uIHFlbXUtbmF0aXZlIHRvIGdldCB0aGUgZnVsbCBpbnN0YWxsYXRpb24gc2V0CisjIGFuZCBhdm9pZCBmaWxlIGNsYXNoZXMKK0RFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIHpsaWItbmF0aXZlIHBpeG1hbi1uYXRpdmUgcWVtdS1uYXRpdmUiCisKK0VYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tdGFyZ2V0LWxpc3Q9JHtAZ2V0X3FlbXVfc3lzdGVtX3RhcmdldF9saXN0KGQpfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImZkdCBhbHNhIGt2bSIKKworIyBIYW5kbGUgZGlzdHJvcyBzdWNoIGFzIENlbnRPUyA1IDMyLWJpdCB0aGF0IGRvIG5vdCBoYXZlIGt2bSBzdXBwb3J0CitQQUNLQUdFQ09ORklHX3JlbW92ZSA9ICIke0Ana3ZtJyBpZiBub3Qgb3MucGF0aC5leGlzdHMoJy91c3IvaW5jbHVkZS9saW51eC9rdm0uaCcpIGVsc2UgJyd9IgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vcG93ZXJwY19yb20uYmluICR7RH0ke2RhdGFkaXJ9L3FlbXUKKworICAgICMgVGhlIGZvbGxvd2luZyBpcyBhbHNvIGluc3RhbGxlZCBieSBxZW11LW5hdGl2ZQorICAgIHJtIC1mICR7RH0ke2RhdGFkaXJ9L3FlbXUvdHJhY2UtZXZlbnRzLWFsbAorICAgIHJtIC1yZiAke0R9JHtkYXRhZGlyfS9xZW11L2tleW1hcHMKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS10YXJnZXRzLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS10YXJnZXRzLmluYwppbmRleCA4MTA0MDFkLi41NTBkNmYwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUtdGFyZ2V0cy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LXRhcmdldHMuaW5jCkBAIC0xLDYgKzEsNyBAQAotIyBwb3NzaWJsZSBhcmNoIHZhbHVlcyBhcmUgYXJtIGFhcmNoNjQgbWlwcyBtaXBzZWwgbWlwczY0IG1pcHM2NGVsIHBwYyBwcGM2NCBwcGM2NGFiaTMyCi0jIHBwY2VtYiBhcm1lYiBhbHBoYSBzcGFyYzMycGx1cyBpMzg2IHg4Nl82NCBjcmlzIG02OGsgbWljcm9ibGF6ZSBzcGFyYyBzcGFyYzMyCi0jIHNwYXJjMzJwbHVzCisjIHBvc3NpYmxlIGFyY2ggdmFsdWVzIGFyZToKKyMgICAgYWFyY2g2NCBhcm0gYXJtZWIgYWxwaGEgY3JpcyBpMzg2IHg4Nl82NCBtNjhrIG1pY3JvYmxhemUKKyMgICAgbWlwcyBtaXBzZWwgbWlwczY0IG1pcHM2NGVsIHBwYyBwcGM2NCBwcGM2NGFiaTMyIHBwY2VtYgorIyAgICByaXNjdjMyIHJpc2N2NjQgc3BhcmMgc3BhcmMzMiBzcGFyYzMycGx1cwogCiBkZWYgZ2V0X3FlbXVfdGFyZ2V0X2xpc3QoZCk6CiAgICAgaW1wb3J0IGJiCkBAIC0yMCwzICsyMSw4IEBACiAgICAgICAgIHJldHVybiBzb2Z0bW11b25seSArICcnLmpvaW4oW2FyY2ggKyAiLXNvZnRtbXUiICsgIiwiIGZvciBhcmNoIGluIGFyY2hzXSkucnN0cmlwKCcsJykKICAgICByZXR1cm4gc29mdG1tdW9ubHkgKyBsaW51eHVzZXJvbmx5ICsgJycuam9pbihbYXJjaCArICItbGludXgtdXNlciIgKyAiLCIgKyBhcmNoICsgIi1zb2Z0bW11IiArICIsIiBmb3IgYXJjaCBpbiBhcmNoc10pLnJzdHJpcCgnLCcpCiAKK2RlZiBnZXRfcWVtdV91c2VybW9kZV90YXJnZXRfbGlzdChkKToKKyAgICByZXR1cm4gIiwiLmpvaW4oZmlsdGVyKGxhbWJkYSBpOiAiLWxpbnV4LXVzZXIiIGluIGksIGdldF9xZW11X3RhcmdldF9saXN0KGQpLnNwbGl0KCcsJykpKQorCitkZWYgZ2V0X3FlbXVfc3lzdGVtX3RhcmdldF9saXN0KGQpOgorICAgIHJldHVybiAiLCIuam9pbihmaWx0ZXIobGFtYmRhIGk6ICItbGludXgtdXNlciIgbm90IGluIGksIGdldF9xZW11X3RhcmdldF9saXN0KGQpLnNwbGl0KCcsJykpKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS5pbmMKaW5kZXggYjA1YzFjZS4uZTUwM2FhOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUuaW5jCkBAIC0xLDEyICsxLDY2IEBACiBTVU1NQVJZID0gIkZhc3Qgb3BlbiBzb3VyY2UgcHJvY2Vzc29yIGVtdWxhdG9yIgogSE9NRVBBR0UgPSAiaHR0cDovL3FlbXUub3JnIgogTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgotREVQRU5EUyA9ICJnbGliLTIuMCB6bGliIHBpeG1hbiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLXRhcmdldCArPSAiYmFzaCIKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCBtYWtlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NDFjMjhkMmNmODZlMTVhMzdmYTQ3ZTE1YTcyZmJhYyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjtlbmRsaW5lPTI0O21kNT1jMDRkZWY3YWUzODg1MGU3ZDNlZjU0ODU4ODE1OTkxMyIKKworU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLnFlbXUub3JnLyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcG93ZXJwY19yb20uYmluIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtbWlzc2luZy1YMTEtaW5jbHVkZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWVnbC1oZWFkbGVzcy1hZGQtZWdsX2NyZWF0ZV9jb250ZXh0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTQtZml4LUNWRS0yMDE4LTE2ODcyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTUtZml4LUNWRS0yMDE4LTIwMTI0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtZml4LUNWRS0yMDE4LTIwMTI1LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTctZml4LUNWRS0yMDE4LTIwMTI2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTgtZml4LUNWRS0yMDE4LTIwMTkxLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTM4MTIucGF0Y2ggXAorICAgICAgICAgICAiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJxZW11LSg/UDxwdmVyPlxkKyhcLlxkKykrKVwudGFyIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZmI2ODdjZTBiMDJkM2JmNDMyN2UzNmQzYjk5NDI3YTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmEwNTA4ZGYwNzlhMGEzM2MyNDg3Y2E5MzZhNTZjMTIxMjJmMTA1YjhhOTZhNDQzNzQ3MDRiZWY2YzY5YWJmYyIKKworQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNobjMyID0gIm51bGwiCitDT01QQVRJQkxFX0hPU1RfbWlwc2FyY2huNjQgPSAibnVsbCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBQcmV2ZW50IFFBIHdhcm5pbmdzIGFib3V0IGluc3RhbGxlZCAke2xvY2Fsc3RhdGVkaXJ9L3J1bgorICAgIGlmIFsgLWQgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuIF07IHRoZW4gcm1kaXIgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vcnVuOyBmaQorfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW1ha2UgYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJY3AgLXJMICR7Qn0vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0KKwlmaW5kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzIC10eXBlIGYgLW5hbWUgIiouW1NzaGNvZF0iIHwgeGFyZ3MgLWkgcm0gLXJmIHt9CisKKwljcCAke1N9L3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKwkjIERvbid0IGNoZWNrIHRoZSBmaWxlIGdlbnJlYXRlZCBieSBjb25maWd1cmUKKwlzZWQgLWkgLWUgJy93aWxkY2FyZCBjb25maWctaG9zdC5tYWsvZCcgXAorCSAgICAgICAtZSAnJCB7L2VuZGlmL2R9JyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlCit9CisKIAogcmVxdWlyZSBxZW11LXRhcmdldHMuaW5jCi1pbmhlcml0IHBrZ2NvbmZpZyBibHVldG9vdGgKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKK2luaGVyaXQgcGtnY29uZmlnIGJsdWV0b290aCBwdGVzdAogCiAjIFFFTVVfVEFSR0VUUyBpcyBvdmVycmlkYWJsZSB2YXJpYWJsZQogUUVNVV9UQVJHRVRTID89ICJhcm0gYWFyY2g2NCBpMzg2IG1pcHMgbWlwc2VsIG1pcHM2NCBtaXBzNjRlbCBwcGMgcmlzY3YzMiByaXNjdjY0IHNoNCB4ODZfNjQiCkBAIC0yNSwxNSArNzksOSBAQAogICAgIC0td2l0aC1jb25mc3VmZml4PS8ke0JQTn0gXAogICAgIC0tZGlzYWJsZS1zdHJpcCBcCiAgICAgLS1kaXNhYmxlLXdlcnJvciBcCi0gICAgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV90YXJnZXRfbGlzdChkKX0gXAogICAgIC0tZXh0cmEtY2ZsYWdzPScke0NGTEFHU30nIFwKICAgICAke1BBQ0tBR0VDT05GSUdfQ09ORkFSR1N9IFwKICAgICAiCi1FWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1weXRob249cHl0aG9uMi43IgotCi1FWFRSQV9PRU1BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgTEQ9JyR7TER9JyBBUj0nJHtBUn0nIE9CSkNPUFk9JyR7T0JKQ09QWX0nIExERkxBR1M9JyR7TERGTEFHU30nIgotCi1MREZMQUdTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC1mdXNlLWxkPWJmZCIKIAogZXhwb3J0IExJQlRPT0w9IiR7SE9TVF9TWVN9LWxpYnRvb2wiCiAKQEAgLTcwLDE5ICsxMTgsMjAgQEAKIH0KICMgRU5EIG9mIHFlbXUtbWlwcyB3b3JrYXJvdW5kCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIgXAotICAgIGZkdCBzZGwga3ZtIFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIHhlbicsIGQpfSBcCi0iCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA/Pz0gImZkdCBhbHNhIGt2bSIKLVBBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID8/PSAiZmR0IHNkbCBrdm0iCittYWtlX3FlbXVfd3JhcHBlcigpIHsKKyAgICAgICAgZ2RrX3BpeGJ1Zl9tb2R1bGVfZmlsZT1gcGtnLWNvbmZpZyAtLXZhcmlhYmxlPWdka19waXhidWZfY2FjaGVfZmlsZSBnZGstcGl4YnVmLTIuMGAKIAotIyBIYW5kbGUgZGlzdHJvcyBzdWNoIGFzIENlbnRPUyA1IDMyLWJpdCB0aGF0IGRvIG5vdCBoYXZlIGt2bSBzdXBwb3J0Ci1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZV9yZW1vdmUgPSAiJHtAJ2t2bScgaWYgbm90IG9zLnBhdGguZXhpc3RzKCcvdXNyL2luY2x1ZGUvbGludXgva3ZtLmgnKSBlbHNlICcnfSIKKyAgICAgICAgZm9yIHRvb2wgaW4gYGxzICR7RH0ke2JpbmRpcn0vcWVtdS1zeXN0ZW0tKmA7IGRvCisgICAgICAgICAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHRvb2wgXAorICAgICAgICAgICAgICAgICAgICAgICAgR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0kZ2RrX3BpeGJ1Zl9tb2R1bGVfZmlsZSBcCisgICAgICAgICAgICAgICAgICAgICAgICBGT05UQ09ORklHX1BBVEg9L2V0Yy9mb250cyBcCisgICAgICAgICAgICAgICAgICAgICAgICBHVEtfVEhFTUU9QWR3YWl0YQorICAgICAgICBkb25lCit9CiAKLSMgRGlzYWJsZSBrdm0gb24gdGFyZ2V0cyB0aGF0IGRvIG5vdCBzdXBwb3J0IGl0Ci1QQUNLQUdFQ09ORklHX3JlbW92ZV9kYXJ3aW4gPSAia3ZtIgotUEFDS0FHRUNPTkZJR19yZW1vdmVfbWluZ3czMiA9ICJrdm0iCisjIERpc2FibGUga3ZtL3ZpcmdsL21lc2Egb24gdGFyZ2V0cyB0aGF0IGRvIG5vdCBzdXBwb3J0IGl0CitQQUNLQUdFQ09ORklHX3JlbW92ZV9kYXJ3aW4gPSAia3ZtIHZpcmdscmVuZGVyZXIgZ2x4IGd0aysiCitQQUNLQUdFQ09ORklHX3JlbW92ZV9taW5ndzMyID0gImt2bSB2aXJnbHJlbmRlcmVyIGdseCBndGsrIgogCiBQQUNLQUdFQ09ORklHW3NkbF0gPSAiLS1lbmFibGUtc2RsIC0td2l0aC1zZGxhYmk9Mi4wLC0tZGlzYWJsZS1zZGwsbGlic2RsMiIKIFBBQ0tBR0VDT05GSUdbdmlydGZzXSA9ICItLWVuYWJsZS12aXJ0ZnMgLS1lbmFibGUtYXR0ciwtLWRpc2FibGUtdmlydGZzLGxpYmNhcCBhdHRyLCIKQEAgLTk1LDcgKzE0NCw3IEBACiBQQUNLQUdFQ09ORklHW2xpYmN1cmxdID0gIi0tZW5hYmxlLWN1cmwsLS1kaXNhYmxlLWN1cmwsbGliY3VybCwiCiBQQUNLQUdFQ09ORklHW25zc10gPSAiLS1lbmFibGUtc21hcnRjYXJkLC0tZGlzYWJsZS1zbWFydGNhcmQsbnNzLCIKIFBBQ0tBR0VDT05GSUdbY3Vyc2VzXSA9ICItLWVuYWJsZS1jdXJzZXMsLS1kaXNhYmxlLWN1cnNlcyxuY3Vyc2VzLCIKLVBBQ0tBR0VDT05GSUdbZ3RrK10gPSAiLS1lbmFibGUtZ3RrIC0td2l0aC1ndGthYmk9My4wIC0tZW5hYmxlLXZ0ZSwtLWRpc2FibGUtZ3RrIC0tZGlzYWJsZS12dGUsZ3RrKzMgdnRlIgorUEFDS0FHRUNPTkZJR1tndGsrXSA9ICItLWVuYWJsZS1ndGsgLS1lbmFibGUtdnRlLC0tZGlzYWJsZS1ndGsgLS1kaXNhYmxlLXZ0ZSxndGsrMyB2dGUgZ2V0dGV4dC1uYXRpdmUiCiBQQUNLQUdFQ09ORklHW2xpYmNhcC1uZ10gPSAiLS1lbmFibGUtY2FwLW5nLC0tZGlzYWJsZS1jYXAtbmcsbGliY2FwLW5nLCIKIFBBQ0tBR0VDT05GSUdbc3NoMl0gPSAiLS1lbmFibGUtbGlic3NoMiwtLWRpc2FibGUtbGlic3NoMixsaWJzc2gyLCIKIFBBQ0tBR0VDT05GSUdbZ2NyeXB0XSA9ICItLWVuYWJsZS1nY3J5cHQsLS1kaXNhYmxlLWdjcnlwdCxsaWJnY3J5cHQsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtQWRkLWEtbWlzc2luZy1YMTEtaW5jbHVkZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLUFkZC1hLW1pc3NpbmctWDExLWluY2x1ZGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkyOTM2ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLUFkZC1hLW1pc3NpbmctWDExLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorRnJvbSBlYjFhMjE1YTRmODZkZGU0NDkzYzNlMjJhZDlmNmQ2OTg4NTA5MTVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIwIERlYyAyMDE4IDE4OjA2OjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGVnbC1oZWxwZXJzLmg6IGRvIG5vdCBkZXBlbmQgb24gWDExIFdpbmRvdyB0eXBlLCB1c2UKKyBFR0xOYXRpdmVXaW5kb3dUeXBlCisKK0l0IHdhcyBhc3N1bWVkIHRoYXQgbWVzYSBwcm92aWRlcyB0aGUgbmVjZXNzYXJ5IFgxMSBpbmNsdWRlcywKK2J1dCBpdCBpcyBub3QgYWx3YXlzIHRoZSBjYXNlLCBhcyBpdCBjYW4gYmUgY29uZmlndXJlZCB3aXRob3V0IHgxMSBzdXBwb3J0LgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cDovL2xpc3RzLm5vbmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxOS0wMS9tc2cwMzcwNi5odG1sXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CisKKy0tLQorIGluY2x1ZGUvdWkvZWdsLWhlbHBlcnMuaCB8IDIgKy0KKyB1aS9lZ2wtaGVscGVycy5jICAgICAgICAgfCA0ICsrLS0KKyB1aS9ndGstZWdsLmMgICAgICAgICAgICAgfCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3VpL2VnbC1oZWxwZXJzLmggYi9pbmNsdWRlL3VpL2VnbC1oZWxwZXJzLmgKK2luZGV4IDlkYjcyOTNiLi4zZmM2NTZhNyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvdWkvZWdsLWhlbHBlcnMuaAorKysrIGIvaW5jbHVkZS91aS9lZ2wtaGVscGVycy5oCitAQCAtNDMsNyArNDMsNyBAQCB2b2lkIGVnbF9kbWFidWZfcmVsZWFzZV90ZXh0dXJlKFFlbXVEbWFCdWYgKmRtYWJ1Zik7CisgCisgI2VuZGlmCisgCistRUdMU3VyZmFjZSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKEVHTENvbnRleHQgZWN0eCwgV2luZG93IHdpbik7CisrRUdMU3VyZmFjZSBxZW11X2VnbF9pbml0X3N1cmZhY2VfeDExKEVHTENvbnRleHQgZWN0eCwgRUdMTmF0aXZlV2luZG93VHlwZSB3aW4pOworIAorIGludCBxZW11X2VnbF9pbml0X2RweV94MTEoRUdMTmF0aXZlRGlzcGxheVR5cGUgZHB5LCBEaXNwbGF5R0xNb2RlIG1vZGUpOworIGludCBxZW11X2VnbF9pbml0X2RweV9tZXNhKEVHTE5hdGl2ZURpc3BsYXlUeXBlIGRweSwgRGlzcGxheUdMTW9kZSBtb2RlKTsKK2RpZmYgLS1naXQgYS91aS9lZ2wtaGVscGVycy5jIGIvdWkvZWdsLWhlbHBlcnMuYworaW5kZXggNGY0NzUxNDIuLjVlMTE1YjNmIDEwMDY0NAorLS0tIGEvdWkvZWdsLWhlbHBlcnMuYworKysrIGIvdWkvZWdsLWhlbHBlcnMuYworQEAgLTI3MywxNCArMjczLDE0IEBAIHZvaWQgZWdsX2RtYWJ1Zl9yZWxlYXNlX3RleHR1cmUoUWVtdURtYUJ1ZiAqZG1hYnVmKQorIAorIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKyAKKy1FR0xTdXJmYWNlIHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEoRUdMQ29udGV4dCBlY3R4LCBXaW5kb3cgd2luKQorK0VHTFN1cmZhY2UgcWVtdV9lZ2xfaW5pdF9zdXJmYWNlX3gxMShFR0xDb250ZXh0IGVjdHgsIEVHTE5hdGl2ZVdpbmRvd1R5cGUgd2luKQorIHsKKyAgICAgRUdMU3VyZmFjZSBlc3VyZmFjZTsKKyAgICAgRUdMQm9vbGVhbiBiOworIAorICAgICBlc3VyZmFjZSA9IGVnbENyZWF0ZVdpbmRvd1N1cmZhY2UocWVtdV9lZ2xfZGlzcGxheSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHFlbXVfZWdsX2NvbmZpZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChFR0xOYXRpdmVXaW5kb3dUeXBlKXdpbiwgTlVMTCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW4sIE5VTEwpOworICAgICBpZiAoZXN1cmZhY2UgPT0gRUdMX05PX1NVUkZBQ0UpIHsKKyAgICAgICAgIGVycm9yX3JlcG9ydCgiZWdsOiBlZ2xDcmVhdGVXaW5kb3dTdXJmYWNlIGZhaWxlZCIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitkaWZmIC0tZ2l0IGEvdWkvZ3RrLWVnbC5jIGIvdWkvZ3RrLWVnbC5jCitpbmRleCA1NDIwYzIzNi4uMWY5NDExNjIgMTAwNjQ0CistLS0gYS91aS9ndGstZWdsLmMKKysrKyBiL3VpL2d0ay1lZ2wuYworQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBnZF9lZ2xfaW5pdChWaXJ0dWFsQ29uc29sZSAqdmMpCisgICAgIH0KKyAKKyAgICAgdmMtPmdmeC5lY3R4ID0gcWVtdV9lZ2xfaW5pdF9jdHgoKTsKKy0gICAgdmMtPmdmeC5lc3VyZmFjZSA9IHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEodmMtPmdmeC5lY3R4LCB4MTFfd2luZG93KTsKKysgICAgdmMtPmdmeC5lc3VyZmFjZSA9IHFlbXVfZWdsX2luaXRfc3VyZmFjZV94MTEodmMtPmdmeC5lY3R4LCAoRUdMTmF0aXZlV2luZG93VHlwZSl4MTFfd2luZG93KTsKKyAKKyAgICAgYXNzZXJ0KHZjLT5nZnguZXN1cmZhY2UpOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLWVnbC1oZWFkbGVzcy1hZGQtZWdsX2NyZWF0ZV9jb250ZXh0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtZWdsLWhlYWRsZXNzLWFkZC1lZ2xfY3JlYXRlX2NvbnRleHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkzMjZjMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAxLWVnbC1oZWFkbGVzcy1hZGQtZWdsX2NyZWF0ZV9jb250ZXh0LnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gOTUyZTVkNTg0ZjVhYWJlNDEyOThjMjc4MDY1ZmU2MjhmM2Y3YWE3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAyOSBOb3YgMjAxOCAxMzozNTowMiArMDEwMAorU3ViamVjdDogW1BBVENIXSBlZ2wtaGVhZGxlc3M6IGFkZCBlZ2xfY3JlYXRlX2NvbnRleHQKKworV2UgbXVzdCBzZXQgdGhlIGNvcnJlY3QgY29udGV4dCAodmlhIGVnbE1ha2VDdXJyZW50KSBiZWZvcmUKK2NhbGxpbmcgcWVtdV9lZ2xfY3JlYXRlX2NvbnRleHQsIHNvIHdlIG5lZWQgYSB0aGluIHdyYXBwZXIgYW5kIGNhbid0Citob29rIHFlbXVfZWdsX2NyZWF0ZV9jb250ZXh0IGRpcmVjdGx5IGFzIC0+ZHB5X2dsX2N0eF9jcmVhdGUgY2FsbGJhY2suCisKK1JlcG9ydGVkLWJ5OiBGcmVkZXJpayBDYXJsaWVyIDxmcmVkZXJpay5jYXJsaWVyQHF1YW1vdGlvbi5tb2JpPgorU2lnbmVkLW9mZi1ieTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CitNZXNzYWdlLWlkOiAyMDE4MTEyOTEyMzUwMi4zMDEyOS0xLWtyYXhlbEByZWRoYXQuY29tCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0O2g9OTUyZTVkNTg0ZjVhYWJlNDEyOThjMjc4MDY1ZmU2MjhmM2Y3YWE3YV0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgdWkvZWdsLWhlYWRsZXNzLmMgfCAxMCArKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdWkvZWdsLWhlYWRsZXNzLmMgYi91aS9lZ2wtaGVhZGxlc3MuYworaW5kZXggNGNmM2JiYzBlNC4uNTE5ZTdiYWQzMiAxMDA2NDQKKy0tLSBhL3VpL2VnbC1oZWFkbGVzcy5jCisrKysgYi91aS9lZ2wtaGVhZGxlc3MuYworQEAgLTM4LDYgKzM4LDE0IEBAIHN0YXRpYyB2b2lkIGVnbF9nZnhfc3dpdGNoKERpc3BsYXlDaGFuZ2VMaXN0ZW5lciAqZGNsLAorICAgICBlZHB5LT5kcyA9IG5ld19zdXJmYWNlOworIH0KKyAKKytzdGF0aWMgUUVNVUdMQ29udGV4dCBlZ2xfY3JlYXRlX2NvbnRleHQoRGlzcGxheUNoYW5nZUxpc3RlbmVyICpkY2wsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFFTVVHTFBhcmFtcyAqcGFyYW1zKQorK3sKKysgICAgZWdsTWFrZUN1cnJlbnQocWVtdV9lZ2xfZGlzcGxheSwgRUdMX05PX1NVUkZBQ0UsIEVHTF9OT19TVVJGQUNFLAorKyAgICAgICAgICAgICAgICAgICBxZW11X2VnbF9ybl9jdHgpOworKyAgICByZXR1cm4gcWVtdV9lZ2xfY3JlYXRlX2NvbnRleHQoZGNsLCBwYXJhbXMpOworK30KKysKKyBzdGF0aWMgdm9pZCBlZ2xfc2Nhbm91dF9kaXNhYmxlKERpc3BsYXlDaGFuZ2VMaXN0ZW5lciAqZGNsKQorIHsKKyAgICAgZWdsX2RweSAqZWRweSA9IGNvbnRhaW5lcl9vZihkY2wsIGVnbF9kcHksIGRjbCk7CitAQCAtMTUwLDcgKzE1OCw3IEBAIHN0YXRpYyBjb25zdCBEaXNwbGF5Q2hhbmdlTGlzdGVuZXJPcHMgZWdsX29wcyA9IHsKKyAgICAgLmRweV9nZnhfdXBkYXRlICAgICAgICAgID0gZWdsX2dmeF91cGRhdGUsCisgICAgIC5kcHlfZ2Z4X3N3aXRjaCAgICAgICAgICA9IGVnbF9nZnhfc3dpdGNoLAorIAorLSAgICAuZHB5X2dsX2N0eF9jcmVhdGUgICAgICAgPSBxZW11X2VnbF9jcmVhdGVfY29udGV4dCwKKysgICAgLmRweV9nbF9jdHhfY3JlYXRlICAgICAgID0gZWdsX2NyZWF0ZV9jb250ZXh0LAorICAgICAuZHB5X2dsX2N0eF9kZXN0cm95ICAgICAgPSBxZW11X2VnbF9kZXN0cm95X2NvbnRleHQsCisgICAgIC5kcHlfZ2xfY3R4X21ha2VfY3VycmVudCA9IHFlbXVfZWdsX21ha2VfY29udGV4dF9jdXJyZW50LAorICAgICAuZHB5X2dsX2N0eF9nZXRfY3VycmVudCAgPSBxZW11X2VnbF9nZXRfY3VycmVudF9jb250ZXh0LAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1zZGwuYy1hbGxvdy11c2VyLXRvLWRpc2FibGUtcG9pbnRlci1ncmFicy5wYXRjaAppbmRleCBiOGE5MjA2Li41YjlhMWY5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1zZGwuYy1hbGxvdy11c2VyLXRvLWRpc2FibGUtcG9pbnRlci1ncmFicy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMS1zZGwuYy1hbGxvdy11c2VyLXRvLWRpc2FibGUtcG9pbnRlci1ncmFicy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMThmYjQ1YzM0YTQ3M2M0YmEyNDdiYjgyYmNlYTk0YjdjM2JhNDkzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYzUzZGRiNWFjYmVlNTZkYjY0MjNmMzY5YjlmOWE5YjYyNTAxYjRhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBXZWQsIDE4IFNlcCAyMDEzIDE0OjA0OjU0ICswMTAwCiBTdWJqZWN0OiBbUEFUQ0hdIHNkbC5jOiBhbGxvdyB1c2VyIHRvIGRpc2FibGUgcG9pbnRlciBncmFicwpAQCAtMjEsMTUgKzIxLDE2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KKwogLS0tCiAgdWkvc2RsLmMgfCAxMyArKysrKysrKysrKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS91aS9zZGwuYyBiL3VpL3NkbC5jCi1pbmRleCBhNWZkNTAzYzI1Li5hYjhkMWIxZWIxIDEwMDY0NAoraW5kZXggMTkwYjE2ZjUuLmFhODk0NzFkIDEwMDY0NAogLS0tIGEvdWkvc2RsLmMKICsrKyBiL3VpL3NkbC5jCi1AQCAtNjgsNiArNjgsMTEgQEAgc3RhdGljIGludCBpZGxlX2NvdW50ZXI7CitAQCAtNjksNiArNjksMTEgQEAgc3RhdGljIGludCBpZGxlX2NvdW50ZXI7CiAgc3RhdGljIGNvbnN0IGd1aW50MTYgKmtleWNvZGVfbWFwOwogIHN0YXRpYyBzaXplX3Qga2V5Y29kZV9tYXBsZW47CiAgCkBAIC00MSw3ICs0Miw3IEBACiAgI2RlZmluZSBTRExfUkVGUkVTSF9JTlRFUlZBTF9CVVNZIDEwCiAgI2RlZmluZSBTRExfTUFYX0lETEVfQ09VTlQgKDIgKiBHVUlfUkVGUkVTSF9JTlRFUlZBTF9ERUZBVUxUIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyBTRExfUkVGUkVTSF9JTlRFUlZBTF9CVVNZICsgMSkKLUBAIC0zOTgsMTQgKzQwMywxNiBAQCBzdGF0aWMgdm9pZCBzZGxfZ3JhYl9zdGFydCh2b2lkKQorQEAgLTM5OSwxNCArNDA0LDE2IEBAIHN0YXRpYyB2b2lkIHNkbF9ncmFiX3N0YXJ0KHZvaWQpCiAgICAgICAgICB9CiAgICAgIH0gZWxzZQogICAgICAgICAgc2RsX2hpZGVfY3Vyc29yKCk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDItcWVtdS1BZGQtbWlzc2luZy13YWNvbS1ISUQtZGVzY3JpcHRvci5wYXRjaAppbmRleCA5MGU0YjgwLi40ZGUyNjg4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAyLXFlbXUtQWRkLW1pc3Npbmctd2Fjb20tSElELWRlc2NyaXB0b3IucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQxNjAzZjc0NWNhYWVjZGM3YzlkNzYwZmI3ZDJkZjAxY2NjNjAxMjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdhYzNjODRmMjg4NjY0OTFjNThjYzBmNTJhMjVhNzA2OTQ5YzhlZjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KIERhdGU6IFRodSwgMjcgTm92IDIwMTQgMTQ6MDQ6MjkgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSF0gcWVtdTogQWRkIG1pc3Npbmcgd2Fjb20gSElEIGRlc2NyaXB0b3IKQEAgLTEzLDEyICsxMywxMyBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAogMjAxNC8xMS8yNworCiAtLS0KICBody91c2IvZGV2LXdhY29tLmMgfCA5NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAgMSBmaWxlIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2h3L3VzYi9kZXYtd2Fjb20uYyBiL2h3L3VzYi9kZXYtd2Fjb20uYwotaW5kZXggYmY3MDAxMzA1OS4uMmY2ZTEyOTczMiAxMDA2NDQKK2luZGV4IGFjMGJjODNiLi42ZjliMjJkNCAxMDA2NDQKIC0tLSBhL2h3L3VzYi9kZXYtd2Fjb20uYwogKysrIGIvaHcvdXNiL2Rldi13YWNvbS5jCiBAQCAtNzIsNiArNzIsODkgQEAgc3RhdGljIGNvbnN0IFVTQkRlc2NTdHJpbmdzIGRlc2Nfc3RyaW5ncyA9IHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwMy1BZGQtc3VicGFja2FnZS1wdGVzdC13aGljaC1ydW5zLWFsbC11bml0LXRlc3QtY2FzZXMtLnBhdGNoCmluZGV4IDBkNDMyNzEuLjY2OGZjNDYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDAzLUFkZC1zdWJwYWNrYWdlLXB0ZXN0LXdoaWNoLXJ1bnMtYWxsLXVuaXQtdGVzdC1jYXNlcy0ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYTlhNjY5NDQ4YmE2ZjFiMjk1NDI3ZTI3MWQ5OWY2MTczNmZjNTE4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYWFjODgzNGJmZDViNzllNzI0ZjI1OTM4OTU4NDdiNTA5NjhhMTIyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1cm8gQnlzdHJpY2t5IDxqdXJvLmJ5c3RyaWNreUBpbnRlbC5jb20+CiBEYXRlOiBUaHUsIDMxIEF1ZyAyMDE3IDExOjA2OjU2IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFkZCBzdWJwYWNrYWdlIC1wdGVzdCB3aGljaCBydW5zIGFsbCB1bml0IHRlc3QgY2FzZXMgZm9yCkBAIC05LDE1ICs5LDE2IEBACiBTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIAogU2lnbmVkLW9mZi1ieTogSnVybyBCeXN0cmlja3kgPGp1cm8uYnlzdHJpY2t5QGludGVsLmNvbT4KKwogLS0tCiAgdGVzdHMvTWFrZWZpbGUuaW5jbHVkZSB8IDggKysrKysrKysKICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlIGIvdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQotaW5kZXggM2I5YTVlMzFhMi4uZGZiY2Q3MjhkNyAxMDA2NDQKK2luZGV4IGZiMGI0NDljLi5hZmVkYWJkNCAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUKICsrKyBiL3Rlc3RzL01ha2VmaWxlLmluY2x1ZGUKLUBAIC05NzIsNCArOTcyLDEyIEBAIGFsbDogJChRRU1VX0lPVEVTVFNfSEVMUEVSUy15KQorQEAgLTk2Nyw0ICs5NjcsMTIgQEAgYWxsOiAkKFFFTVVfSU9URVNUU19IRUxQRVJTLXkpCiAgLWluY2x1ZGUgJCh3aWxkY2FyZCB0ZXN0cy8qLmQpCiAgLWluY2x1ZGUgJCh3aWxkY2FyZCB0ZXN0cy9saWJxb3MvKi5kKQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA0LXFlbXUtQWRkLWFkZGl0aW9uLWVudmlyb25tZW50LXNwYWNlLXRvLWJvb3QtbG9hZGVyLXEucGF0Y2gKaW5kZXggNTE1MmRjYS4uYjRkNGM1OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDQtcWVtdS1BZGQtYWRkaXRpb24tZW52aXJvbm1lbnQtc3BhY2UtdG8tYm9vdC1sb2FkZXItcS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBkZDQ0MDRhMzM0YTU0NWU5YmVhZmExYjFlNDFiM2E4ZjM1ZWYzMWE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAzZGU3YTU2MzUwOTNjMzFkY2I5NjBjZTlkZmYyN2RhNjI5Yjg1ZDRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSmFzb24gV2Vzc2VsIDxqYXNvbi53ZXNzZWxAd2luZHJpdmVyLmNvbT4KIERhdGU6IEZyaSwgMjggTWFyIDIwMTQgMTc6NDI6NDMgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gcWVtdTogQWRkIGFkZGl0aW9uIGVudmlyb25tZW50IHNwYWNlIHRvIGJvb3QgbG9hZGVyCkBAIC0xMywxMiArMTMsMTMgQEAKIAogU2lnbmVkLW9mZi1ieTogSmFzb24gV2Vzc2VsIDxqYXNvbi53ZXNzZWxAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IFJveSBMaSA8cm9uZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KKwogLS0tCiAgaHcvbWlwcy9taXBzX21hbHRhLmMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9ody9taXBzL21pcHNfbWFsdGEuYyBiL2h3L21pcHMvbWlwc19tYWx0YS5jCi1pbmRleCBmNjUxM2E0ZmQ1Li5kNWVmYWZiMWU4IDEwMDY0NAoraW5kZXggYzFjZjBmZTEuLmRlY2ZmZDJmIDEwMDY0NAogLS0tIGEvaHcvbWlwcy9taXBzX21hbHRhLmMKICsrKyBiL2h3L21pcHMvbWlwc19tYWx0YS5jCiBAQCAtNjIsNyArNjIsNyBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoCmluZGV4IDcwYmFmMGYuLmYwY2Y4MTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA1LXFlbXUtZGlzYWJsZS1WYWxncmluZC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNS1xZW11LWRpc2FibGUtVmFsZ3JpbmQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDQ0NzViM2Q5NzM3MWU1ODg1NDAzMzM5ODhhOTdkN2RmM2VjMmM2NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDMyZThhOTRiNmFlNjY0ZDliNTY4OWUxOWQ0OTVlMzA0YzBmNDE5NTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAyMCBPY3QgMjAxNSAyMjoxOTowOCArMDEwMAogU3ViamVjdDogW1BBVENIXSBxZW11OiBkaXNhYmxlIFZhbGdyaW5kCkBAIC03LDE1ICs3LDE2IEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQogU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKwogLS0tCiAgY29uZmlndXJlIHwgOSAtLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggMGExOWIwMzNiYy4uNjllMDVmYjZjMCAxMDA3NTUKK2luZGV4IDBhM2M2YTcyLi4wNjllMGRhYSAxMDA3NTUKIC0tLSBhL2NvbmZpZ3VyZQogKysrIGIvY29uZmlndXJlCi1AQCAtNDg5NSwxNSArNDg5NSw2IEBAIGZpCitAQCAtNTA0NCwxNSArNTA0NCw2IEBAIGZpCiAgIyBjaGVjayBpZiB3ZSBoYXZlIHZhbGdyaW5kL3ZhbGdyaW5kLmgKICAKICB2YWxncmluZF9oPW5vCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNi1xZW11LUxpbWl0LXBhdGhzLXNlYXJjaGVkLWR1cmluZy11c2VyLW1vZGUtZW11bGF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaAppbmRleCBhOWQ3OThjLi40YjJmMDEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNi1xZW11LUxpbWl0LXBhdGhzLXNlYXJjaGVkLWR1cmluZy11c2VyLW1vZGUtZW11bGF0aW9uLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA2LXFlbXUtTGltaXQtcGF0aHMtc2VhcmNoZWQtZHVyaW5nLXVzZXItbW9kZS1lbXVsYXRpb24ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGM1MzJiY2RhZTgyNTliMGY3MTcyM2NkYTMzMWRlZDRkYmIwZmE5MDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDAyZjgwZWU4MTY4MWI2MzA3YTgwMzIxMjhhMDc2ODYxODM2NjIyNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KIERhdGU6IFdlZCwgOSBNYXIgMjAxNiAyMjo0OTowMiArMDAwMAogU3ViamVjdDogW1BBVENIXSBxZW11OiBMaW1pdCBwYXRocyBzZWFyY2hlZCBkdXJpbmcgdXNlciBtb2RlIGVtdWxhdGlvbgpAQCAtMTksMTIgKzE5LDEzIEBACiBSUAogMjAxNi8zLzkKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworCiAtLS0KICB1dGlsL3BhdGguYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvdXRpbC9wYXRoLmMgYi91dGlsL3BhdGguYwotaW5kZXggN2Y5ZmMyNzJmYi4uYTQxNmNkNGFjMiAxMDA2NDQKK2luZGV4IDdmOWZjMjcyLi5hNDE2Y2Q0YSAxMDA2NDQKIC0tLSBhL3V0aWwvcGF0aC5jCiArKysgYi91dGlsL3BhdGguYwogQEAgLTE1LDYgKzE1LDcgQEAgc3RydWN0IHBhdGhlbGVtCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDctcWVtdS1uYXRpdmUtc2V0LWxkLmJmZC1maXgtY2ZsYWdzLWFuZC1zZXQtc29tZS1lbnZpci5wYXRjaAppbmRleCAxMjQ1NmJiLi40MTYzZTUxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwNy1xZW11LW5hdGl2ZS1zZXQtbGQuYmZkLWZpeC1jZmxhZ3MtYW5kLXNldC1zb21lLWVudmlyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2gKQEAgLTEsMTggKzEsMTkgQEAKLUZyb20gMmQyOWQ1MmI2Zjc1NTc1OGNmY2E2YWYwYmNmZDc4MDkxZTE2YTdiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNzRiY2UzNWI3MWY0NzMzYzEzZTk2Zjk2ZTI1OTU2ZmY5NDNmYWUyMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFN0ZXBoZW4gQXJub2xkIDxzYXJub2xkQHZjdGxhYnMuY29tPgogRGF0ZTogU3VuLCAxMiBKdW4gMjAxNiAxODowOTo1NiAtMDcwMAogU3ViamVjdDogW1BBVENIXSBxZW11LW5hdGl2ZTogc2V0IGxkLmJmZCwgZml4IGNmbGFncywgYW5kIHNldCBzb21lIGVudmlyb25tZW50CiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworCiAtLS0KICBjb25maWd1cmUgfCA0IC0tLS0KICAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggNjllMDVmYjZjMC4uMTJmYzNkOGJkYyAxMDA3NTUKK2luZGV4IDA2OWUwZGFhLi41Yjk3ZjNjMSAxMDA3NTUKIC0tLSBhL2NvbmZpZ3VyZQogKysrIGIvY29uZmlndXJlCi1AQCAtNTQxMywxMCArNTQxMyw2IEBAIHdyaXRlX2Nfc2tlbGV0b24KK0BAIC01NjIyLDEwICs1NjIyLDYgQEAgd3JpdGVfY19za2VsZXRvbgogIGlmIHRlc3QgIiRnY292IiA9ICJ5ZXMiIDsgdGhlbgogICAgQ0ZMQUdTPSItZnByb2ZpbGUtYXJjcyAtZnRlc3QtY292ZXJhZ2UgLWcgJENGTEFHUyIKICAgIExERkxBR1M9Ii1mcHJvZmlsZS1hcmNzIC1mdGVzdC1jb3ZlcmFnZSAkTERGTEFHUyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA4LWNoYXJkZXYtY29ubmVjdC1zb2NrZXQtdG8tYS1zcGF3bmVkLWNvbW1hbmQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoCmluZGV4IDJhZmU0ZTkuLmU1YTJkNGEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA4LWNoYXJkZXYtY29ubmVjdC1zb2NrZXQtdG8tYS1zcGF3bmVkLWNvbW1hbmQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMDgtY2hhcmRldi1jb25uZWN0LXNvY2tldC10by1hLXNwYXduZWQtY29tbWFuZC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMjBhMDliYjE4OTA3ZTY3NTY1YzU0ZmM1MDVhNzQxY2JiZWY1M2Y3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOWMxZTk3NjI5MGU4N2E4M2FiMWJmZTM4ZWI3ZmYzNTIxZmYwZDY4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAeGlsaW54LmNvbT4KIERhdGU6IFRodSwgMjEgRGVjIDIwMTcgMTE6MzU6MTYgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gY2hhcmRldjogY29ubmVjdCBzb2NrZXQgdG8gYSBzcGF3bmVkIGNvbW1hbmQKQEAgLTQ0LDYgKzQ0LDcgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IFBhdHJpY2sgT2hseSA8cGF0cmljay5vaGx5QGludGVsLmNvbT4KKwogLS0tCiAgY2hhcmRldi9jaGFyLXNvY2tldC5jIHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogIGNoYXJkZXYvY2hhci5jICAgICAgICB8ICAgMyArKwpAQCAtNTEsMTAgKzUyLDEwIEBACiAgMyBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvY2hhcmRldi9jaGFyLXNvY2tldC5jIGIvY2hhcmRldi9jaGFyLXNvY2tldC5jCi1pbmRleCAxNTllNjljM2IxLi44NDc3OGNmMzFhIDEwMDY0NAoraW5kZXggZWFhOGU4YjYuLjk1OWVkMTgzIDEwMDY0NAogLS0tIGEvY2hhcmRldi9jaGFyLXNvY2tldC5jCiArKysgYi9jaGFyZGV2L2NoYXItc29ja2V0LmMKLUBAIC05MzQsNiArOTM0LDY4IEBAIHN0YXRpYyBnYm9vbGVhbiBzb2NrZXRfcmVjb25uZWN0X3RpbWVvdXQoZ3BvaW50ZXIgb3BhcXVlKQorQEAgLTk4Nyw2ICs5ODcsNjggQEAgc3RhdGljIGdib29sZWFuIHNvY2tldF9yZWNvbm5lY3RfdGltZW91dChncG9pbnRlciBvcGFxdWUpCiAgICAgIHJldHVybiBmYWxzZTsKICB9CiAgCkBAIC0xMjMsNyArMTI0LDcgQEAKICBzdGF0aWMgdm9pZCBxbXBfY2hhcmRldl9vcGVuX3NvY2tldChDaGFyZGV2ICpjaHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcmRldkJhY2tlbmQgKmJhY2tlbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqYmVfb3BlbmVkLAotQEAgLTk0MSw2ICsxMDAzLDkgQEAgc3RhdGljIHZvaWQgcW1wX2NoYXJkZXZfb3Blbl9zb2NrZXQoQ2hhcmRldiAqY2hyLAorQEAgLTk5NCw2ICsxMDU2LDkgQEAgc3RhdGljIHZvaWQgcW1wX2NoYXJkZXZfb3Blbl9zb2NrZXQoQ2hhcmRldiAqY2hyLAogIHsKICAgICAgU29ja2V0Q2hhcmRldiAqcyA9IFNPQ0tFVF9DSEFSREVWKGNocik7CiAgICAgIENoYXJkZXZTb2NrZXQgKnNvY2sgPSBiYWNrZW5kLT51LnNvY2tldC5kYXRhOwpAQCAtMTMzLDcgKzEzNCw3IEBACiAgICAgIGJvb2wgZG9fbm9kZWxheSAgICAgPSBzb2NrLT5oYXNfbm9kZWxheSA/IHNvY2stPm5vZGVsYXkgOiBmYWxzZTsKICAgICAgYm9vbCBpc19saXN0ZW4gICAgICA9IHNvY2stPmhhc19zZXJ2ZXIgID8gc29jay0+c2VydmVyICA6IHRydWU7CiAgICAgIGJvb2wgaXNfdGVsbmV0ICAgICAgPSBzb2NrLT5oYXNfdGVsbmV0ICA/IHNvY2stPnRlbG5ldCAgOiBmYWxzZTsKLUBAIC0xMDA4LDYgKzEwNzMsMTQgQEAgc3RhdGljIHZvaWQgcW1wX2NoYXJkZXZfb3Blbl9zb2NrZXQoQ2hhcmRldiAqY2hyLAorQEAgLTEwNzIsNiArMTEzNywxNCBAQCBzdGF0aWMgdm9pZCBxbXBfY2hhcmRldl9vcGVuX3NvY2tldChDaGFyZGV2ICpjaHIsCiAgICAgICAgICBzLT5yZWNvbm5lY3RfdGltZSA9IHJlY29ubmVjdDsKICAgICAgfQogIApAQCAtMTQ1LDEwICsxNDYsMTAgQEAKICsgICAgICAgICpiZV9vcGVuZWQgPSB0cnVlOwogKyAgICB9IGVsc2UKICsjZW5kaWYKLSAgICAgLyogSWYgcmVjb25uZWN0X3RpbWUgaXMgc2V0LCB3aWxsIGRvIHRoYXQgaW4gY2hyX21hY2hpbmVfZG9uZS4gKi8KLSAgICAgaWYgKCFzLT5yZWNvbm5lY3RfdGltZSkgewotICAgICAgICAgaWYgKHMtPmlzX2xpc3RlbikgewotQEAgLTEwNjUsOSArMTEzOCwyNiBAQCBzdGF0aWMgdm9pZCBxZW11X2Nocl9wYXJzZV9zb2NrZXQoUWVtdU9wdHMgKm9wdHMsIENoYXJkZXZCYWNrZW5kICpiYWNrZW5kLAorICAgICBpZiAocy0+cmVjb25uZWN0X3RpbWUpIHsKKyAgICAgICAgIHRjcF9jaHJfY29ubmVjdF9hc3luYyhjaHIpOworICAgICB9IGVsc2UgeworQEAgLTExMzEsOSArMTIwNCwyNiBAQCBzdGF0aWMgdm9pZCBxZW11X2Nocl9wYXJzZV9zb2NrZXQoUWVtdU9wdHMgKm9wdHMsIENoYXJkZXZCYWNrZW5kICpiYWNrZW5kLAogICAgICBjb25zdCBjaGFyICpwb3J0ID0gcWVtdV9vcHRfZ2V0KG9wdHMsICJwb3J0Iik7CiAgICAgIGNvbnN0IGNoYXIgKmZkID0gcWVtdV9vcHRfZ2V0KG9wdHMsICJmZCIpOwogICAgICBjb25zdCBjaGFyICp0bHNfY3JlZHMgPSBxZW11X29wdF9nZXQob3B0cywgInRscy1jcmVkcyIpOwpAQCAtMTc1LDcgKzE3Niw3IEBACiAgICAgIGlmICgoISFwYXRoICsgISFmZCArICEhaG9zdCkgIT0gMSkgewogICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLAogICAgICAgICAgICAgICAgICAgICAiRXhhY3RseSBvbmUgb2YgJ3BhdGgnLCAnZmQnIG9yICdob3N0JyByZXF1aXJlZCIpOwotQEAgLTExMTIsMTIgKzEyMDIsMjQgQEAgc3RhdGljIHZvaWQgcWVtdV9jaHJfcGFyc2Vfc29ja2V0KFFlbXVPcHRzICpvcHRzLCBDaGFyZGV2QmFja2VuZCAqYmFja2VuZCwKK0BAIC0xMTgwLDEyICsxMjcwLDI0IEBAIHN0YXRpYyB2b2lkIHFlbXVfY2hyX3BhcnNlX3NvY2tldChRZW11T3B0cyAqb3B0cywgQ2hhcmRldkJhY2tlbmQgKmJhY2tlbmQsCiAgICAgIHNvY2stPnJlY29ubmVjdCA9IHJlY29ubmVjdDsKICAgICAgc29jay0+dGxzX2NyZWRzID0gZ19zdHJkdXAodGxzX2NyZWRzKTsKICAKQEAgLTIwMSwxMCArMjAyLDEwIEBACiAgICAgICAgICBhZGRyLT50eXBlID0gU09DS0VUX0FERFJFU1NfTEVHQUNZX0tJTkRfSU5FVDsKICAgICAgICAgIGFkZHItPnUuaW5ldC5kYXRhID0gZ19uZXcoSW5ldFNvY2tldEFkZHJlc3MsIDEpOwogZGlmZiAtLWdpdCBhL2NoYXJkZXYvY2hhci5jIGIvY2hhcmRldi9jaGFyLmMKLWluZGV4IDc2ZDg2NmU2ZmUuLjk3NDdkNTFkN2MgMTAwNjQ0CitpbmRleCAxNTJkZGU1My4uNjJkNWI1NzggMTAwNjQ0CiAtLS0gYS9jaGFyZGV2L2NoYXIuYwogKysrIGIvY2hhcmRldi9jaGFyLmMKLUBAIC03OTIsNiArNzkyLDkgQEAgUWVtdU9wdHNMaXN0IHFlbXVfY2hhcmRldl9vcHRzID0geworQEAgLTgxOCw2ICs4MTgsOSBAQCBRZW11T3B0c0xpc3QgcWVtdV9jaGFyZGV2X29wdHMgPSB7CiAgICAgICAgICB9LHsKICAgICAgICAgICAgICAubmFtZSA9ICJwYXRoIiwKICAgICAgICAgICAgICAudHlwZSA9IFFFTVVfT1BUX1NUUklORywKQEAgLTIxNSwxMCArMjE2LDEwIEBACiAgICAgICAgICAgICAgLm5hbWUgPSAiaG9zdCIsCiAgICAgICAgICAgICAgLnR5cGUgPSBRRU1VX09QVF9TVFJJTkcsCiBkaWZmIC0tZ2l0IGEvcWFwaS9jaGFyLmpzb24gYi9xYXBpL2NoYXIuanNvbgotaW5kZXggYWUxOWRjZDFlZC4uNmRlMGYyOWJjZCAxMDA2NDQKK2luZGV4IDc5YmFjNTk4Li45N2JkMTYxYSAxMDA2NDQKIC0tLSBhL3FhcGkvY2hhci5qc29uCiArKysgYi9xYXBpL2NoYXIuanNvbgotQEAgLTI0MSw2ICsyNDEsMTAgQEAKK0BAIC0yNDIsNiArMjQyLDEwIEBACiAgIwogICMgQGFkZHI6IHNvY2tldCBhZGRyZXNzIHRvIGxpc3RlbiBvbiAoc2VydmVyPXRydWUpCiAgIyAgICAgICAgb3IgY29ubmVjdCB0byAoc2VydmVyPWZhbHNlKQpAQCAtMjI5LDcgKzIzMCw3IEBACiAgIyBAdGxzLWNyZWRzOiB0aGUgSUQgb2YgdGhlIFRMUyBjcmVkZW50aWFscyBvYmplY3QgKHNpbmNlIDIuNikKICAjIEBzZXJ2ZXI6IGNyZWF0ZSBzZXJ2ZXIgc29ja2V0IChkZWZhdWx0OiB0cnVlKQogICMgQHdhaXQ6IHdhaXQgZm9yIGluY29taW5nIGNvbm5lY3Rpb24gb24gc2VydmVyCi1AQCAtMjU4LDYgKzI2Miw3IEBACitAQCAtMjYxLDYgKzI2NSw3IEBACiAgIyBTaW5jZTogMS40CiAgIyMKICB7ICdzdHJ1Y3QnOiAnQ2hhcmRldlNvY2tldCcsICdkYXRhJzogeyAnYWRkcicgICAgICAgOiAnU29ja2V0QWRkcmVzc0xlZ2FjeScsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAwOS1hcGljLWZpeHVwLWZhbGx0aHJvdWdoLXRvLVBJQy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoCmluZGV4IDU5NjlkOTMuLjFkM2EyYjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDA5LWFwaWMtZml4dXAtZmFsbHRocm91Z2gtdG8tUElDLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA1MDQ2YzIxZWZkYmM3NDEzY2RkZDVjNWRiZDllMWQ1MzI1OGQzZThjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA0ODI5ZGExMzE5OTY1NDhkYzg2Nzc1YjhiOTdhMjljNDM2ZjNkMTMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogTWFyayBBc3NlbHN0aW5lIDxtYXJrLmFzc2Vsc3RpbmVAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMjYgRmViIDIwMTMgMTE6NDM6MjggLTA1MDAKIFN1YmplY3Q6IFtQQVRDSF0gYXBpYzogZml4dXAgZmFsbHRocm91Z2ggdG8gUElDCkBAIC0yNCwxMiArMjQsMTMgQEAKIFNpZ25lZC1vZmYtYnk6IE1hcmsgQXNzZWxzdGluZSA8bWFyay5hc3NlbHN0aW5lQHdpbmRyaXZlci5jb20+CiBVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTMtMDQvbXNnMDA4NzguaHRtbF0KIFNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CisKIC0tLQogIGh3L2ludGMvYXBpYy5jIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvaHcvaW50Yy9hcGljLmMgYi9ody9pbnRjL2FwaWMuYwotaW5kZXggNmZkYTUyYjg2Yy4uY2Q3MjkxOTYyZCAxMDA2NDQKK2luZGV4IDk3ZmZkZDgyLi5lZjIzNDMwZSAxMDA2NDQKIC0tLSBhL2h3L2ludGMvYXBpYy5jCiArKysgYi9ody9pbnRjL2FwaWMuYwogQEAgLTYwMyw3ICs2MDMsNyBAQCBpbnQgYXBpY19hY2NlcHRfcGljX2ludHIoRGV2aWNlU3RhdGUgKmRldikKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEwLWxpbnV4LXVzZXItRml4LXdlYmtpdGd0ay1oYW5ncy1vbi0zMi1iaXQteDg2LXRhcmdldC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEwLWxpbnV4LXVzZXItRml4LXdlYmtpdGd0ay1oYW5ncy1vbi0zMi1iaXQteDg2LXRhcmdldC5wYXRjaAppbmRleCBlMTEwZjYzLi5jMGQ3OTE0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTAtbGludXgtdXNlci1GaXgtd2Via2l0Z3RrLWhhbmdzLW9uLTMyLWJpdC14ODYtdGFyZ2V0LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAzY2Q5MmM3YTg4NWU0OTk3ZWY2ODQzMzEzMjk4YzFkNzQ4ZDZjYTM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiY2UyNWM5Y2RhNzM1Njk5NjM2MTVmZmQzMWVkOTQ5Y2JlM2EzNzgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxpc3RhaXIgRnJhbmNpcyA8YWxpc3RhaXIuZnJhbmNpc0B4aWxpbnguY29tPgogRGF0ZTogV2VkLCAxNyBKYW4gMjAxOCAxMDo1MTo0OSAtMDgwMAogU3ViamVjdDogW1BBVENIXSBsaW51eC11c2VyOiBGaXggd2Via2l0Z3RrIGhhbmdzIG9uIDMyLWJpdCB4ODYgdGFyZ2V0CkBAIC0xMywxNSArMTMsMTYgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAxOC0wMS9tc2cwNDE4NS5odG1sCiBTaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHhpbGlueC5jb20+CisKIC0tLQogIGxpbnV4LXVzZXIvbWFpbi5jIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9tYWluLmMgYi9saW51eC11c2VyL21haW4uYwotaW5kZXggODkwN2E4NDExNC4uZWE0MmM0MzYxMCAxMDA2NDQKK2luZGV4IDkyM2NiYjc1Li5mZTBiOWZmNCAxMDA2NDQKIC0tLSBhL2xpbnV4LXVzZXIvbWFpbi5jCiArKysgYi9saW51eC11c2VyL21haW4uYwotQEAgLTc5LDcgKzc5LDcgQEAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorQEAgLTY5LDcgKzY5LDcgQEAgaW50IGhhdmVfZ3Vlc3RfYmFzZTsKICAgICAgICAoVEFSR0VUX0xPTkdfQklUUyA9PSAzMiB8fCBkZWZpbmVkKFRBUkdFVF9BQkkzMikpCiAgLyogVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHBsYWNlcyB3aGVyZSB3ZSBhc3NpZ24gcmVzZXJ2ZWRfdmEgdG8gYSB2YXJpYWJsZQogICAgIG9mIHR5cGUgYWJpX3Vsb25nIGFuZCBleHBlY3QgaXQgdG8gZml0LiAgQXZvaWQgdGhlIGxhc3QgcGFnZS4gICovCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTEtUmV2ZXJ0LWxpbnV4LXVzZXItZml4LW1tYXAtbXVubWFwLW1wcm90ZWN0LW1yZW1hcC1zaC5wYXRjaAppbmRleCA0MTYyNmViLi4wNjZlYTc4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDExLVJldmVydC1saW51eC11c2VyLWZpeC1tbWFwLW11bm1hcC1tcHJvdGVjdC1tcmVtYXAtc2gucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDNlZDI2YmUyMDkxNDM2Mjk2OTMzZWQyMTQ2ZjcyNjljNzkxYzdiZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDQ5NjIzMTc3NGY4YmMxN2VjZmFmNTQzYTY2MDNlM2NhZDNmM2Y3NGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBNYXJ0aW4gSmFuc2EgPG1hcnRpbi5qYW5zYUBsZ2UuY29tPgogRGF0ZTogRnJpLCAxIEp1biAyMDE4IDA4OjQxOjA3ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCAibGludXgtdXNlcjogZml4IG1tYXAvbXVubWFwL21wcm90ZWN0L21yZW1hcC9zaG1hdCIKQEAgLTE0LDYgKzE0LDcgQEAKIFRoaXMgcmV2ZXJ0cyBjb21taXQgZWJmOWEzNjMwYzkxMWQwY2ZjOWMyMGY3Y2FmZTliYTRmODhjZjU4My4KIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKIC0tLQogIGluY2x1ZGUvZXhlYy9jcHUtYWxsLmggIHwgIDYgKy0tLS0tCiAgaW5jbHVkZS9leGVjL2NwdV9sZHN0LmggfCAxNiArKysrKysrKystLS0tLS0tCkBAIC0yMiwxMCArMjMsMTAgQEAKICA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9leGVjL2NwdS1hbGwuaCBiL2luY2x1ZGUvZXhlYy9jcHUtYWxsLmgKLWluZGV4IGY0ZmE5NGU5NjYuLjBiMTQxNjgzZjAgMTAwNjQ0CitpbmRleCAxMTdkMmZiYi4uOTA1NThjMTQgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2V4ZWMvY3B1LWFsbC5oCiArKysgYi9pbmNsdWRlL2V4ZWMvY3B1LWFsbC5oCi1AQCAtMTU5LDEyICsxNTksOCBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyBndWVzdF9iYXNlOworQEAgLTE2MywxMiArMTYzLDggQEAgZXh0ZXJuIHVuc2lnbmVkIGxvbmcgZ3Vlc3RfYmFzZTsKICBleHRlcm4gaW50IGhhdmVfZ3Vlc3RfYmFzZTsKICBleHRlcm4gdW5zaWduZWQgbG9uZyByZXNlcnZlZF92YTsKICAKQEAgLTQwLDEyICs0MSwxMiBAQAogIAogICNpbmNsdWRlICJleGVjL2h3YWRkci5oIgogZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlYy9jcHVfbGRzdC5oIGIvaW5jbHVkZS9leGVjL2NwdV9sZHN0LmgKLWluZGV4IDVkZThjOGE1YWYuLjE5MWYyZTk2MmEgMTAwNjQ0CitpbmRleCA5NTkwNjg0OS4uZWQxN2IzZjYgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL2V4ZWMvY3B1X2xkc3QuaAogKysrIGIvaW5jbHVkZS9leGVjL2NwdV9sZHN0LmgKLUBAIC01MSwxMyArNTEsMTUgQEAKK0BAIC02MiwxMyArNjIsMTUgQEAgdHlwZWRlZiB1aW50NjRfdCBhYmlfcHRyOwogIC8qIEFsbCBkaXJlY3QgdXNlcyBvZiBnMmggYW5kIGgyZyBuZWVkIHRvIGdvIGF3YXkgZm9yIHVzZXJtb2RlIHNvZnRtbXUuICAqLwotICNkZWZpbmUgZzJoKHgpICgodm9pZCAqKSgodW5zaWduZWQgbG9uZykodGFyZ2V0X3Vsb25nKSh4KSArIGd1ZXN0X2Jhc2UpKQorICNkZWZpbmUgZzJoKHgpICgodm9pZCAqKSgodW5zaWduZWQgbG9uZykoYWJpX3B0cikoeCkgKyBndWVzdF9iYXNlKSkKICAKIC0jZGVmaW5lIGd1ZXN0X2FkZHJfdmFsaWQoeCkgKCh4KSA8PSBHVUVTVF9BRERSX01BWCkKIC0jZGVmaW5lIGgyZ192YWxpZCh4KSBndWVzdF9hZGRyX3ZhbGlkKCh1bnNpZ25lZCBsb25nKSh4KSAtIGd1ZXN0X2Jhc2UpCkBAIC02NywxMCArNjgsMTAgQEAKICAjZGVmaW5lIGgyZ19ub2NoZWNrKHgpICh7IFwKICAgICAgdW5zaWduZWQgbG9uZyBfX3JldCA9ICh1bnNpZ25lZCBsb25nKSh4KSAtIGd1ZXN0X2Jhc2U7IFwKIGRpZmYgLS1naXQgYS9saW51eC11c2VyL21tYXAuYyBiL2xpbnV4LXVzZXIvbW1hcC5jCi1pbmRleCA5MTY4YTIwNTFjLi5kZTg1NjY5YWFiIDEwMDY0NAoraW5kZXggNDFlMDk4M2MuLmQwZWUxYzUzIDEwMDY0NAogLS0tIGEvbGludXgtdXNlci9tbWFwLmMKICsrKyBiL2xpbnV4LXVzZXIvbW1hcC5jCi1AQCAtODAsNyArODAsNyBAQCBpbnQgdGFyZ2V0X21wcm90ZWN0KGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QpCitAQCAtNzksNyArNzksNyBAQCBpbnQgdGFyZ2V0X21wcm90ZWN0KGFiaV91bG9uZyBzdGFydCwgYWJpX3Vsb25nIGxlbiwgaW50IHByb3QpCiAgICAgICAgICByZXR1cm4gLVRBUkdFVF9FSU5WQUw7CiAgICAgIGxlbiA9IFRBUkdFVF9QQUdFX0FMSUdOKGxlbik7CiAgICAgIGVuZCA9IHN0YXJ0ICsgbGVuOwpAQCAtNzksNyArODAsNyBAQAogICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRU5PTUVNOwogICAgICB9CiAgICAgIHByb3QgJj0gUFJPVF9SRUFEIHwgUFJPVF9XUklURSB8IFBST1RfRVhFQzsKLUBAIC00ODIsOCArNDgyLDggQEAgYWJpX2xvbmcgdGFyZ2V0X21tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuLCBpbnQgcHJvdCwKK0BAIC00OTAsOCArNDkwLDggQEAgYWJpX2xvbmcgdGFyZ2V0X21tYXAoYWJpX3Vsb25nIHN0YXJ0LCBhYmlfdWxvbmcgbGVuLCBpbnQgcHJvdCwKICAJICogSXQgY2FuIGZhaWwgb25seSBvbiA2NC1iaXQgaG9zdCB3aXRoIDMyLWJpdCB0YXJnZXQuCiAgCSAqIE9uIGFueSBvdGhlciB0YXJnZXQvaG9zdCBob3N0IG1tYXAoKSBoYW5kbGVzIHRoaXMgZXJyb3IgY29ycmVjdGx5LgogIAkgKi8KQEAgLTkwLDcgKzkxLDcgQEAKICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgICB9CiAgCi1AQCAtNjIzLDEwICs2MjMsOCBAQCBpbnQgdGFyZ2V0X211bm1hcChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4pCitAQCAtNjMxLDEwICs2MzEsOCBAQCBpbnQgdGFyZ2V0X211bm1hcChhYmlfdWxvbmcgc3RhcnQsIGFiaV91bG9uZyBsZW4pCiAgICAgIGlmIChzdGFydCAmIH5UQVJHRVRfUEFHRV9NQVNLKQogICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRUlOVkFMOwogICAgICBsZW4gPSBUQVJHRVRfUEFHRV9BTElHTihsZW4pOwpAQCAtMTAyLDcgKzEwMyw3IEBACiAgICAgIG1tYXBfbG9jaygpOwogICAgICBlbmQgPSBzdGFydCArIGxlbjsKICAgICAgcmVhbF9zdGFydCA9IHN0YXJ0ICYgcWVtdV9ob3N0X3BhZ2VfbWFzazsKLUBAIC02ODEsMTMgKzY3OSw2IEBAIGFiaV9sb25nIHRhcmdldF9tcmVtYXAoYWJpX3Vsb25nIG9sZF9hZGRyLCBhYmlfdWxvbmcgb2xkX3NpemUsCitAQCAtNjg5LDEzICs2ODcsNiBAQCBhYmlfbG9uZyB0YXJnZXRfbXJlbWFwKGFiaV91bG9uZyBvbGRfYWRkciwgYWJpX3Vsb25nIG9sZF9zaXplLAogICAgICBpbnQgcHJvdDsKICAgICAgdm9pZCAqaG9zdF9hZGRyOwogIApAQCAtMTE3LDEwICsxMTgsMTAgQEAKICAKICAgICAgaWYgKGZsYWdzICYgTVJFTUFQX0ZJWEVEKSB7CiBkaWZmIC0tZ2l0IGEvbGludXgtdXNlci9zeXNjYWxsLmMgYi9saW51eC11c2VyL3N5c2NhbGwuYwotaW5kZXggNjQzYjg4MzNkZS4uMjcxZjIxNTE0NyAxMDA2NDQKK2luZGV4IDI4MDEzN2RhLi5lZmRkMDAwNiAxMDA2NDQKIC0tLSBhL2xpbnV4LXVzZXIvc3lzY2FsbC5jCiArKysgYi9saW51eC11c2VyL3N5c2NhbGwuYwotQEAgLTQ5MTksOSArNDkxOSw2IEBAIHN0YXRpYyBpbmxpbmUgYWJpX3Vsb25nIGRvX3NobWF0KENQVUFyY2hTdGF0ZSAqY3B1X2VudiwKK0BAIC0zODE4LDkgKzM4MTgsNiBAQCBzdGF0aWMgaW5saW5lIGFiaV91bG9uZyBkb19zaG1hdChDUFVBcmNoU3RhdGUgKmNwdV9lbnYsCiAgICAgICAgICAgICAgcmV0dXJuIC1UQVJHRVRfRUlOVkFMOwogICAgICAgICAgfQogICAgICB9CkBAIC0xMzAsNyArMTMxLDcgQEAKICAKICAgICAgbW1hcF9sb2NrKCk7CiAgCi1AQCAtNzQ5Nyw3ICs3NDk0LDcgQEAgc3RhdGljIGludCBvcGVuX3NlbGZfbWFwcyh2b2lkICpjcHVfZW52LCBpbnQgZmQpCitAQCAtNjU4Miw3ICs2NTc5LDcgQEAgc3RhdGljIGludCBvcGVuX3NlbGZfbWFwcyh2b2lkICpjcHVfZW52LCBpbnQgZmQpCiAgICAgICAgICB9CiAgICAgICAgICBpZiAoaDJnX3ZhbGlkKG1pbikpIHsKICAgICAgICAgICAgICBpbnQgZmxhZ3MgPSBwYWdlX2dldF9mbGFncyhoMmcobWluKSk7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCmluZGV4IGFhMjRmNzIuLjljYmU4MzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEyLWZpeC1saWJjYXAtaGVhZGVyLWlzc3VlLW9uLXNvbWUtZGlzdHJvLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBiYjllNDhlMzMxZWVlMDZkN2JhYzFkY2U4MDljNzAxOTFkMWEzYjRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBkM2UwYjhkYWM3YzJlYjIwZDdmY2ZmNzQ3YmM5OGI5ODFmNDM5OGVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAxMiBNYXIgMjAxMyAwOTo1NDowNiArMDgwMAogU3ViamVjdDogW1BBVENIXSBmaXggbGliY2FwIGhlYWRlciBpc3N1ZSBvbiBzb21lIGRpc3RybwpAQCAtNTQsMTIgKzU0LDEzIEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorCiAtLS0KICBmc2Rldi92aXJ0ZnMtcHJveHktaGVscGVyLmMgfCA3ICsrKysrLS0KICAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jIGIvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jCi1pbmRleCA2ZjEzMmM1ZmYxLi44MzI5OTUwYzI2IDEwMDY0NAoraW5kZXggNmYxMzJjNWYuLjgzMjk5NTBjIDEwMDY0NAogLS0tIGEvZnNkZXYvdmlydGZzLXByb3h5LWhlbHBlci5jCiArKysgYi9mc2Rldi92aXJ0ZnMtcHJveHktaGVscGVyLmMKIEBAIC0xMyw3ICsxMyw2IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTMtY3B1cy5jLUFkZC1lcnJvci1tZXNzYWdlcy13aGVuLXFlbWlfY3B1X2tpY2tfdGhyZWFkLS5wYXRjaAppbmRleCA4YTkxNDFhLi4yN2U1MDhjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDEzLWNwdXMuYy1BZGQtZXJyb3ItbWVzc2FnZXMtd2hlbi1xZW1pX2NwdV9raWNrX3RocmVhZC0ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGVkYzhkYmE3NGM3YTRhMjEyMWQ3NmM5ODJiZTAwNzQxODNiZjA4MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDg2MWM1MjJkZjc3OTFkN2U5Mzc0M2Q1NjQxZjNlZjJhNWEzYzQ2MzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CiBEYXRlOiBXZWQsIDEyIEF1ZyAyMDE1IDE1OjExOjMwIC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNwdXMuYzogQWRkIGVycm9yIG1lc3NhZ2VzIHdoZW4gcWVtaV9jcHVfa2lja190aHJlYWQgZmFpbHMuCkBAIC0xMiw2ICsxMiw3IEBACiAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQogU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKIC0tLQogIGNwdXMuYyAgICAgICAgIHwgIDUgKysrKysKICBjdXN0b21fZGVidWcuaCB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwpAQCAtMTksMTAgKzIwLDEwIEBACiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGN1c3RvbV9kZWJ1Zy5oCiAKIGRpZmYgLS1naXQgYS9jcHVzLmMgYi9jcHVzLmMKLWluZGV4IDM4ZWJhOGJmZjMuLmI4NGE2MGE0ZjMgMTAwNjQ0CitpbmRleCAwZGRlZWVmYy4uNGYzYTU2MjQgMTAwNjQ0CiAtLS0gYS9jcHVzLmMKICsrKyBiL2NwdXMuYwotQEAgLTE2OTAsNiArMTY5MCw4IEBAIHN0YXRpYyB2b2lkICpxZW11X3RjZ19jcHVfdGhyZWFkX2ZuKHZvaWQgKmFyZykKK0BAIC0xNzY4LDYgKzE3NjgsOCBAQCBzdGF0aWMgdm9pZCAqcWVtdV90Y2dfY3B1X3RocmVhZF9mbih2b2lkICphcmcpCiAgICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTMxLDcgKzMyLDcgQEAKICBzdGF0aWMgdm9pZCBxZW11X2NwdV9raWNrX3RocmVhZChDUFVTdGF0ZSAqY3B1KQogIHsKICAjaWZuZGVmIF9XSU4zMgotQEAgLTE3MDIsNiArMTcwNCw5IEBAIHN0YXRpYyB2b2lkIHFlbXVfY3B1X2tpY2tfdGhyZWFkKENQVVN0YXRlICpjcHUpCitAQCAtMTc4MCw2ICsxNzgyLDkgQEAgc3RhdGljIHZvaWQgcWVtdV9jcHVfa2lja190aHJlYWQoQ1BVU3RhdGUgKmNwdSkKICAgICAgZXJyID0gcHRocmVhZF9raWxsKGNwdS0+dGhyZWFkLT50aHJlYWQsIFNJR19JUEkpOwogICAgICBpZiAoZXJyKSB7CiAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInFlbXU6JXM6ICVzIiwgX19mdW5jX18sIHN0cmVycm9yKGVycikpOwpAQCAtNDMsNyArNDQsNyBAQAogICNlbHNlIC8qIF9XSU4zMiAqLwogZGlmZiAtLWdpdCBhL2N1c3RvbV9kZWJ1Zy5oIGIvY3VzdG9tX2RlYnVnLmgKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwLi5mMDI5ZTQ1NTQ3CitpbmRleCAwMDAwMDAwMC4uZjAyOWU0NTUKIC0tLSAvZGV2L251bGwKICsrKyBiL2N1c3RvbV9kZWJ1Zy5oCiBAQCAtMCwwICsxLDI0IEBACmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNC1maXgtQ1ZFLTIwMTgtMTY4NzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEyYWExNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE0LWZpeC1DVkUtMjAxOC0xNjg3Mi5wYXRjaApAQCAtMCwwICsxLDg1IEBACitDVkU6IENWRS0yMDE4LTE2ODcyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPWJhYjlkZjM1XQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBiYWI5ZGYzNWNlNzNkMWM4ZTE5YTM3ZTI3Mzc3MTdlYTFjOTg0ZGMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDEzOjI1OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHVzYi1tdHA6IHVzZSBPX05PRk9MTE9XIGFuZCBPX0NMT0VYRUMuCisKK09wZW4gZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHdpdGggT19OT0ZPTExPVyB0byBhdm9pZCBzeW1saW5rcyBhdHRhY2tzLgorV2hpbGUgYmVpbmcgYXQgaXQgYWxzbyBhZGQgT19DTE9FWEVDLgorCit1c2ItbXRwIG9ubHkgaGFuZGxlcyByZWd1bGFyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBhbmQgaWdub3JlcworZXZlcnl0aGluZyBlbHNlLCBzbyB1c2VycyBzaG91bGQgbm90IHNlZSBhIGRpZmZlcmVuY2UuCisKK0JlY2F1c2UgcWVtdSBpZ25vcmVzIHN5bWxpbmtzLCBjYXJyeWluZyBvdXQgYSBzdWNjZXNzZnVsIHN5bWxpbmsgYXR0YWNrCityZXF1aXJlcyBzd2FwcGluZyBhbiBleGlzdGluZyBmaWxlIG9yIGRpcmVjdG9yeSBiZWxvdyByb290ZGlyIGZvciBhCitzeW1saW5rIGFuZCB3aW5uaW5nIHRoZSByYWNlIGFnYWluc3QgdGhlIGlub3RpZnkgbm90aWZpY2F0aW9uIHRvIHFlbXUuCisKK0ZpeGVzOiBDVkUtMjAxOC0xNjg3MgorQ2M6IFByYXNhZCBKIFBhbmRpdCA8cHBhbmRpdEByZWRoYXQuY29tPgorQ2M6IEJhbmRhbiBEYXMgPGJzZEByZWRoYXQuY29tPgorUmVwb3J0ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1NpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK01lc3NhZ2UtaWQ6IDIwMTgxMjEzMTIyNTExLjEzODUzLTEta3JheGVsQHJlZGhhdC5jb20KKy0tLQorIGh3L3VzYi9kZXYtbXRwLmMgfCAxMyArKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3VzYi9kZXYtbXRwLmMgYi9ody91c2IvZGV2LW10cC5jCitpbmRleCAxMDBiNzE3MWY0Li4zNmM0M2I4YzIwIDEwMDY0NAorLS0tIGEvaHcvdXNiL2Rldi1tdHAuYworKysrIGIvaHcvdXNiL2Rldi1tdHAuYworQEAgLTY1MywxMyArNjUzLDE4IEBAIHN0YXRpYyB2b2lkIHVzYl9tdHBfb2JqZWN0X3JlYWRkaXIoTVRQU3RhdGUgKnMsIE1UUE9iamVjdCAqbykKKyB7CisgICAgIHN0cnVjdCBkaXJlbnQgKmVudHJ5OworICAgICBESVIgKmRpcjsKKysgICAgaW50IGZkOworIAorICAgICBpZiAoby0+aGF2ZV9jaGlsZHJlbikgeworICAgICAgICAgcmV0dXJuOworICAgICB9CisgICAgIG8tPmhhdmVfY2hpbGRyZW4gPSB0cnVlOworIAorLSAgICBkaXIgPSBvcGVuZGlyKG8tPnBhdGgpOworKyAgICBmZCA9IG9wZW4oby0+cGF0aCwgT19ESVJFQ1RPUlkgfCBPX0NMT0VYRUMgfCBPX05PRk9MTE9XKTsKKysgICAgaWYgKGZkIDwgMCkgeworKyAgICAgICAgcmV0dXJuOworKyAgICB9CisrICAgIGRpciA9IGZkb3BlbmRpcihmZCk7CisgICAgIGlmICghZGlyKSB7CisgICAgICAgICByZXR1cm47CisgICAgIH0KK0BAIC0xMDA3LDcgKzEwMTIsNyBAQCBzdGF0aWMgTVRQRGF0YSAqdXNiX210cF9nZXRfb2JqZWN0KE1UUFN0YXRlICpzLCBNVFBDb250cm9sICpjLAorIAorICAgICB0cmFjZV91c2JfbXRwX29wX2dldF9vYmplY3Qocy0+ZGV2LmFkZHIsIG8tPmhhbmRsZSwgby0+cGF0aCk7CisgCistICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSk7CisrICAgIGQtPmZkID0gb3BlbihvLT5wYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyB8IE9fTk9GT0xMT1cpOworICAgICBpZiAoZC0+ZmQgPT0gLTEpIHsKKyAgICAgICAgIHVzYl9tdHBfZGF0YV9mcmVlKGQpOworICAgICAgICAgcmV0dXJuIE5VTEw7CitAQCAtMTAzMSw3ICsxMDM2LDcgQEAgc3RhdGljIE1UUERhdGEgKnVzYl9tdHBfZ2V0X3BhcnRpYWxfb2JqZWN0KE1UUFN0YXRlICpzLCBNVFBDb250cm9sICpjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjLT5hcmd2WzFdLCBjLT5hcmd2WzJdKTsKKyAKKyAgICAgZCA9IHVzYl9tdHBfZGF0YV9hbGxvYyhjKTsKKy0gICAgZC0+ZmQgPSBvcGVuKG8tPnBhdGgsIE9fUkRPTkxZKTsKKysgICAgZC0+ZmQgPSBvcGVuKG8tPnBhdGgsIE9fUkRPTkxZIHwgT19DTE9FWEVDIHwgT19OT0ZPTExPVyk7CisgICAgIGlmIChkLT5mZCA9PSAtMSkgeworICAgICAgICAgdXNiX210cF9kYXRhX2ZyZWUoZCk7CisgICAgICAgICByZXR1cm4gTlVMTDsKK0BAIC0xNjU4LDcgKzE2NjMsNyBAQCBzdGF0aWMgdm9pZCB1c2JfbXRwX3dyaXRlX2RhdGEoTVRQU3RhdGUgKnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCk7CisgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgfQorLSAgICAgICAgZC0+ZmQgPSBvcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX1dST05MWSwgbWFzayk7CisrICAgICAgICBkLT5mZCA9IG9wZW4ocGF0aCwgT19DUkVBVCB8IE9fV1JPTkxZIHwgT19DTE9FWEVDIHwgT19OT0ZPTExPVywgbWFzayk7CisgICAgICAgICBpZiAoZC0+ZmQgPT0gLTEpIHsKKyAgICAgICAgICAgICB1c2JfbXRwX3F1ZXVlX3Jlc3VsdChzLCBSRVNfU1RPUkVfRlVMTCwgZC0+dHJhbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNS1maXgtQ1ZFLTIwMTgtMjAxMjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg1YjgxOQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE1LWZpeC1DVkUtMjAxOC0yMDEyNC5wYXRjaApAQCAtMCwwICsxLDYwIEBACitDVkU6IENWRS0yMDE4LTIwMTI0CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTBlNjgzNzNdCisKK0JhY2twb3J0IHBhdGNoIHRvIGZpeCBDVkUtMjAxOC0yMDEyNC4gVXBkYXRlIGNvbnRleHQgYW5kIHN0YXkgd2l0aCBjdXJyZW50CitmdW5jdGlvbiBjb21wX2hhbmRsZXIoKSB3aGljaCBoYXMgYmVlbiByZXBsYWNlZCB3aXRoIGNvbXBsZXRlX3dvcmsoKSBpbiBsYXRlc3QKK2dpdCByZXBvLgorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSAwZTY4MzczY2MyYjNhMDYzY2UwNjdiYzBjYzNlZGFmMzcwNzUyODkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDAxOjAwOjM0ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHJkbWE6IGNoZWNrIG51bV9zZ2UgZG9lcyBub3QgZXhjZWVkIE1BWF9TR0UKKworcmRtYSBiYWNrLWVuZCBoYXMgc2NhdHRlci9nYXRoZXIgYXJyYXkgaWJ2X3NnZVtNQVhfU0dFPTRdIHNldAordG8gaGF2ZSA0IGVsZW1lbnRzLiBBIGd1ZXN0IGNvdWxkIHNlbmQgYSAnUHZyZG1hU3FXcWUnIHJpbmcgZWxlbWVudAord2l0aCAnbnVtX3NnZScgc2V0IHRvID4gTUFYX1NHRSwgd2hpY2ggbWF5IGxlYWQgdG8gT09CIGFjY2VzcyBpc3N1ZS4KK0FkZCBjaGVjayB0byBhdm9pZCBpdC4KKworUmVwb3J0ZWQtYnk6IFNhYXIgQW1hciA8c2FhcmFtYXI1QGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorUmV2aWV3ZWQtYnk6IFl1dmFsIFNoYWlhIDx5dXZhbC5zaGFpYUBvcmFjbGUuY29tPgorU2lnbmVkLW9mZi1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CistLS0KKyBody9yZG1hL3JkbWFfYmFja2VuZC5jIHwgMTIgKysrKysrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvcmRtYV9iYWNrZW5kLmMgYi9ody9yZG1hL3JkbWFfYmFja2VuZC5jCitpbmRleCBkN2E0YmJkOS4uN2Y4MDI4ZjggMTAwNjQ0CistLS0gYS9ody9yZG1hL3JkbWFfYmFja2VuZC5jCisrKysgYi9ody9yZG1hL3JkbWFfYmFja2VuZC5jCitAQCAtMzExLDkgKzMxMSw5IEBAIHZvaWQgcmRtYV9iYWNrZW5kX3Bvc3Rfc2VuZChSZG1hQmFja2VuZERldiAqYmFja2VuZF9kZXYsCisgICAgIH0KKyAKKyAgICAgcHJfZGJnKCJudW1fc2dlPSVkXG4iLCBudW1fc2dlKTsKKy0gICAgaWYgKCFudW1fc2dlKSB7CistICAgICAgICBwcl9kYmcoIm51bV9zZ2U9MFxuIik7CistICAgICAgICBjb21wX2hhbmRsZXIoSUJWX1dDX0dFTkVSQUxfRVJSLCBWRU5ET1JfRVJSX05PX1NHRSwgY3R4KTsKKysgICAgaWYgKCFudW1fc2dlIHx8IG51bV9zZ2UgPiBNQVhfU0dFKSB7CisrICAgICAgICBwcl9kYmcoImludmFsaWQgbnVtX3NnZT0lZFxuIiwgbnVtX3NnZSk7CisrICAgICAgICBjb21wX2hhbmRsZXIoSUJWX1dDX0dFTkVSQUxfRVJSLCBWRU5ET1JfRVJSX05PX1NHRSwgY3R4KTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAorQEAgLTM5MCw5ICszOTAsOSBAQCB2b2lkIHJkbWFfYmFja2VuZF9wb3N0X3JlY3YoUmRtYUJhY2tlbmREZXYgKmJhY2tlbmRfZGV2LAorICAgICB9CisgCisgICAgIHByX2RiZygibnVtX3NnZT0lZFxuIiwgbnVtX3NnZSk7CistICAgIGlmICghbnVtX3NnZSkgeworLSAgICAgICAgcHJfZGJnKCJudW1fc2dlPTBcbiIpOworLSAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisrICAgIGlmICghbnVtX3NnZSB8fCBudW1fc2dlID4gTUFYX1NHRSkgeworKyAgICAgICAgcHJfZGJnKCJpbnZhbGlkIG51bV9zZ2U9JWRcbiIsIG51bV9zZ2UpOworKyAgICAgICAgY29tcF9oYW5kbGVyKElCVl9XQ19HRU5FUkFMX0VSUiwgVkVORE9SX0VSUl9OT19TR0UsIGN0eCk7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE2LWZpeC1DVkUtMjAxOC0yMDEyNS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjU1OWM4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTYtZml4LUNWRS0yMDE4LTIwMTI1LnBhdGNoCkBAIC0wLDAgKzEsNTQgQEAKK0NWRTogQ1ZFLTIwMTgtMjAxMjUKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0O2g9MmM4NThjZV0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gMmM4NThjZTVkYThhZTY2ODljNzUxODJiNzNiYzQ1NWEyOTFjYWQ0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozNiArMDUzMAorU3ViamVjdDogW1BBVENIXSBwdnJkbWE6IGNoZWNrIG51bWJlciBvZiBwYWdlcyB3aGVuIGNyZWF0aW5nIHJpbmdzCisKK1doZW4gY3JlYXRpbmcgQ1EvUVAgcmluZ3MsIGFuIG9iamVjdCBjYW4gaGF2ZSB1cCB0bworUFZSRE1BX01BWF9GQVNUX1JFR19QQUdFUyA4IHBhZ2VzLiBDaGVjayAnbnBhZ2VzJyBwYXJhbWV0ZXIKK3RvIGF2b2lkIGV4Y2Vzc2l2ZSBtZW1vcnkgYWxsb2NhdGlvbiBvciBhIG51bGwgZGVyZWZlcmVuY2UuCisKK1JlcG9ydGVkLWJ5OiBMaSBRaWFuZyA8bGlxM2VhQDE2My5jb20+CitTaWduZWQtb2ZmLWJ5OiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK1Jldmlld2VkLWJ5OiBZdXZhbCBTaGFpYSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorLS0tCisgaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIHwgMTEgKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitpbmRleCAzYjk0NTQ1NzYxLi5mMjM2YWM0Nzk1IDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCisrKysgYi9ody9yZG1hL3Ztdy9wdnJkbWFfY21kLmMKK0BAIC0yNTksNiArMjU5LDExIEBAIHN0YXRpYyBpbnQgY3JlYXRlX2NxX3JpbmcoUENJRGV2aWNlICpwY2lfZGV2ICwgUHZyZG1hUmluZyAqKnJpbmcsCisgICAgIGludCByYyA9IC1FSU5WQUw7CisgICAgIGNoYXIgcmluZ19uYW1lW01BWF9SSU5HX05BTUVfU1pdOworIAorKyAgICBpZiAoIW5jaHVua3MgfHwgbmNodW5rcyA+IFBWUkRNQV9NQVhfRkFTVF9SRUdfUEFHRVMpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBuY2h1bmtzOiAlZFxuIiwgbmNodW5rcyk7CisrICAgICAgICByZXR1cm4gcmM7CisrICAgIH0KKysKKyAgICAgcHJfZGJnKCJwZGlyX2RtYT0weCVsbHhcbiIsIChsb25nIGxvbmcgdW5zaWduZWQgaW50KXBkaXJfZG1hKTsKKyAgICAgZGlyID0gcmRtYV9wY2lfZG1hX21hcChwY2lfZGV2LCBwZGlyX2RtYSwgVEFSR0VUX1BBR0VfU0laRSk7CisgICAgIGlmICghZGlyKSB7CitAQCAtMzcyLDYgKzM3NywxMiBAQCBzdGF0aWMgaW50IGNyZWF0ZV9xcF9yaW5ncyhQQ0lEZXZpY2UgKnBjaV9kZXYsIHVpbnQ2NF90IHBkaXJfZG1hLAorICAgICBjaGFyIHJpbmdfbmFtZVtNQVhfUklOR19OQU1FX1NaXTsKKyAgICAgdWludDMyX3Qgd3FlX3N6OworIAorKyAgICBpZiAoIXNwYWdlcyB8fCBzcGFnZXMgPiBQVlJETUFfTUFYX0ZBU1RfUkVHX1BBR0VTCisrICAgICAgICB8fCAhcnBhZ2VzIHx8IHJwYWdlcyA+IFBWUkRNQV9NQVhfRkFTVF9SRUdfUEFHRVMpIHsKKysgICAgICAgIHByX2RiZygiaW52YWxpZCBwYWdlczogJWQsICVkXG4iLCBzcGFnZXMsIHJwYWdlcyk7CisrICAgICAgICByZXR1cm4gcmM7CisrICAgIH0KKysKKyAgICAgcHJfZGJnKCJwZGlyX2RtYT0weCVsbHhcbiIsIChsb25nIGxvbmcgdW5zaWduZWQgaW50KXBkaXJfZG1hKTsKKyAgICAgZGlyID0gcmRtYV9wY2lfZG1hX21hcChwY2lfZGV2LCBwZGlyX2RtYSwgVEFSR0VUX1BBR0VfU0laRSk7CisgICAgIGlmICghZGlyKSB7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxNy1maXgtQ1ZFLTIwMTgtMjAxMjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODMyOWYyYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE3LWZpeC1DVkUtMjAxOC0yMDEyNi5wYXRjaApAQCAtMCwwICsxLDExMyBAQAorQ1ZFOiBDVkUtMjAxOC0yMDEyNgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD01MDlmNTdjXQorCitCYWNrcG9ydCBhbmQgcmViYXNlIHBhdGNoIHRvIGZpeCBDVkUtMjAxOC0yMDEyNi4KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK0Zyb20gNTA5ZjU3Yzk4ZTc1MzY5MDViYjQ5MDIzNjNkMGNiYTY2Y2U3ZTA4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFByYXNhZCBKIFBhbmRpdCA8cGpwQGZlZG9yYXByb2plY3Qub3JnPgorRGF0ZTogVGh1LCAxMyBEZWMgMjAxOCAwMTowMDozNyArMDUzMAorU3ViamVjdDogW1BBVENIXSBwdnJkbWE6IHJlbGVhc2UgcmluZyBvYmplY3QgaW4gY2FzZSBvZiBhbiBlcnJvcgorCitjcmVhdGVfY3EgYW5kIGNyZWF0ZV9xcCByb3V0aW5lcyBhbGxvY2F0ZSByaW5nIG9iamVjdCwgYnV0IGl0J3MKK25vdCByZWxlYXNlZCBpbiBjYXNlIG9mIGFuIGVycm9yLCBsZWFkaW5nIHRvIG1lbW9yeSBsZWFrYWdlLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogWXV2YWwgU2hhaWEgPHl1dmFsLnNoYWlhQG9yYWNsZS5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9jbWQuYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCitpbmRleCA0ZmFlYjIxLi45YjY3OTZmIDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX2NtZC5jCisrKysgYi9ody9yZG1hL3Ztdy9wdnJkbWFfY21kLmMKK0BAIC0zMTAsNiArMzEwLDE0IEBAIG91dDoKKyAgICAgcmV0dXJuIHJjOworIH0KKyAKKytzdGF0aWMgdm9pZCBkZXN0cm95X2NxX3JpbmcoUHZyZG1hUmluZyAqcmluZykKKyt7CisrICAgIHB2cmRtYV9yaW5nX2ZyZWUocmluZyk7CisrICAgIC8qIHJpbmdfc3RhdGUgd2FzIGluIHNsb3QgMSwgbm90IDAgc28gbmVlZCB0byBqdW1wIGJhY2sgKi8KKysgICAgcmRtYV9wY2lfZG1hX3VubWFwKHJpbmctPmRldiwgLS1yaW5nLT5yaW5nX3N0YXRlLCBUQVJHRVRfUEFHRV9TSVpFKTsKKysgICAgZ19mcmVlKHJpbmcpOworK30KKysKKyBzdGF0aWMgaW50IGNyZWF0ZV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgICAgICAgICAgICAgICAgICB1bmlvbiBwdnJkbWFfY21kX3Jlc3AgKnJzcCkKKyB7CitAQCAtMzMzLDYgKzM0MSwxMCBAQCBzdGF0aWMgaW50IGNyZWF0ZV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAKKyAgICAgcmVzcC0+aGRyLmVyciA9IHJkbWFfcm1fYWxsb2NfY3EoJmRldi0+cmRtYV9kZXZfcmVzLCAmZGV2LT5iYWNrZW5kX2RldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kLT5jcWUsICZyZXNwLT5jcV9oYW5kbGUsIHJpbmcpOworKyAgICBpZiAocmVzcC0+aGRyLmVycikgeworKyAgICAgICAgZGVzdHJveV9jcV9yaW5nKHJpbmcpOworKyAgICB9CisrCisgICAgIHJlc3AtPmNxZSA9IGNtZC0+Y3FlOworIAorIG91dDoKK0BAIC0zNTYsMTAgKzM2OCw3IEBAIHN0YXRpYyBpbnQgZGVzdHJveV9jcShQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgfQorIAorICAgICByaW5nID0gKFB2cmRtYVJpbmcgKiljcS0+b3BhcXVlOworLSAgICBwdnJkbWFfcmluZ19mcmVlKHJpbmcpOworLSAgICAvKiByaW5nX3N0YXRlIHdhcyBpbiBzbG90IDEsIG5vdCAwIHNvIG5lZWQgdG8ganVtcCBiYWNrICovCistICAgIHJkbWFfcGNpX2RtYV91bm1hcChQQ0lfREVWSUNFKGRldiksIC0tcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CistICAgIGdfZnJlZShyaW5nKTsKKysgICAgZGVzdHJveV9jcV9yaW5nKHJpbmcpOworIAorICAgICByZG1hX3JtX2RlYWxsb2NfY3EoJmRldi0+cmRtYV9kZXZfcmVzLCBjbWQtPmNxX2hhbmRsZSk7CisgCitAQCAtNDUxLDYgKzQ2MCwxNyBAQCBvdXQ6CisgICAgIHJldHVybiByYzsKKyB9CisgCisrc3RhdGljIHZvaWQgZGVzdHJveV9xcF9yaW5ncyhQdnJkbWFSaW5nICpyaW5nKQorK3sKKysgICAgcHJfZGJnKCJzcmluZz0lcFxuIiwgJnJpbmdbMF0pOworKyAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzBdKTsKKysgICAgcHJfZGJnKCJycmluZz0lcFxuIiwgJnJpbmdbMV0pOworKyAgICBwdnJkbWFfcmluZ19mcmVlKCZyaW5nWzFdKTsKKysKKysgICAgcmRtYV9wY2lfZG1hX3VubWFwKHJpbmctPmRldiwgcmluZy0+cmluZ19zdGF0ZSwgVEFSR0VUX1BBR0VfU0laRSk7CisrICAgIGdfZnJlZShyaW5nKTsKKyt9CisrCisgc3RhdGljIGludCBjcmVhdGVfcXAoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgdW5pb24gcHZyZG1hX2NtZF9yZXNwICpyc3ApCisgeworQEAgLTQ4Miw2ICs1MDIsMTEgQEAgc3RhdGljIGludCBjcmVhdGVfcXAoUFZSRE1BRGV2ICpkZXYsIHVuaW9uIHB2cmRtYV9jbWRfcmVxICpyZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC0+bWF4X3JlY3Zfd3IsIGNtZC0+bWF4X3JlY3Zfc2dlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQtPnJlY3ZfY3FfaGFuZGxlLCByaW5ncywgJnJlc3AtPnFwbik7CisgCisrICAgIGlmIChyZXNwLT5oZHIuZXJyKSB7CisrICAgICAgICBkZXN0cm95X3FwX3JpbmdzKHJpbmdzKTsKKysgICAgICAgIHJldHVybiByZXNwLT5oZHIuZXJyOworKyAgICB9CisrCisgICAgIHJlc3AtPm1heF9zZW5kX3dyID0gY21kLT5tYXhfc2VuZF93cjsKKyAgICAgcmVzcC0+bWF4X3JlY3Zfd3IgPSBjbWQtPm1heF9yZWN2X3dyOworICAgICByZXNwLT5tYXhfc2VuZF9zZ2UgPSBjbWQtPm1heF9zZW5kX3NnZTsKK0BAIC01NTUsMTMgKzU4MCw3IEBAIHN0YXRpYyBpbnQgZGVzdHJveV9xcChQVlJETUFEZXYgKmRldiwgdW5pb24gcHZyZG1hX2NtZF9yZXEgKnJlcSwKKyAgICAgcmRtYV9ybV9kZWFsbG9jX3FwKCZkZXYtPnJkbWFfZGV2X3JlcywgY21kLT5xcF9oYW5kbGUpOworIAorICAgICByaW5nID0gKFB2cmRtYVJpbmcgKilxcC0+b3BhcXVlOworLSAgICBwcl9kYmcoInNyaW5nPSVwXG4iLCAmcmluZ1swXSk7CistICAgIHB2cmRtYV9yaW5nX2ZyZWUoJnJpbmdbMF0pOworLSAgICBwcl9kYmcoInJyaW5nPSVwXG4iLCAmcmluZ1sxXSk7CistICAgIHB2cmRtYV9yaW5nX2ZyZWUoJnJpbmdbMV0pOworLQorLSAgICByZG1hX3BjaV9kbWFfdW5tYXAoUENJX0RFVklDRShkZXYpLCByaW5nLT5yaW5nX3N0YXRlLCBUQVJHRVRfUEFHRV9TSVpFKTsKKy0gICAgZ19mcmVlKHJpbmcpOworKyAgICBkZXN0cm95X3FwX3JpbmdzKHJpbmcpOworIAorICAgICByZXR1cm4gMDsKKyB9CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOC1maXgtQ1ZFLTIwMTgtMjAxOTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY4ZmYwNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS8wMDE4LWZpeC1DVkUtMjAxOC0yMDE5MS5wYXRjaApAQCAtMCwwICsxLDQ3IEBACitDVkU6IENWRS0yMDE4LTIwMTkxCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdC5xZW11Lm9yZy8/cD1xZW11LmdpdDthPWNvbW1pdDtoPTJhYTg2NDVdCisKK1NpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorCitGcm9tIDJhYTg2NDU2ZmI5MzhhMTFmMmI3YmQ1N2M4NjQzYzIxMzIxODY4MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK0RhdGU6IFRodSwgMTMgRGVjIDIwMTggMDE6MDA6MzUgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSF0gcHZyZG1hOiBhZGQgdWFyX3JlYWQgcm91dGluZQorCitEZWZpbmUgc2tlbGV0b24gJ3Vhcl9yZWFkJyByb3V0aW5lLiBBdm9pZCBOVUxMIGRlcmVmZXJlbmNlLgorCitSZXBvcnRlZC1ieTogTGkgUWlhbmcgPGxpcTNlYUAxNjMuY29tPgorU2lnbmVkLW9mZi1ieTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitSZXZpZXdlZC1ieTogTWFyY2VsIEFwZmVsYmF1bSA8bWFyY2VsLmFwZmVsYmF1bUBnbWFpbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXJjZWwgQXBmZWxiYXVtIDxtYXJjZWwuYXBmZWxiYXVtQGdtYWlsLmNvbT4KKy0tLQorIGh3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMgfCA2ICsrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9tYWluLmMgYi9ody9yZG1hL3Ztdy9wdnJkbWFfbWFpbi5jCitpbmRleCA2NGRlMTZmYjUyLi44MzhhZDhhOTQ5IDEwMDY0NAorLS0tIGEvaHcvcmRtYS92bXcvcHZyZG1hX21haW4uYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX21haW4uYworQEAgLTQ0OCw2ICs0NDgsMTEgQEAgc3RhdGljIGNvbnN0IE1lbW9yeVJlZ2lvbk9wcyByZWdzX29wcyA9IHsKKyAgICAgfSwKKyB9OworIAorK3N0YXRpYyB1aW50NjRfdCB1YXJfcmVhZCh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1bnNpZ25lZCBzaXplKQorK3sKKysgICAgcmV0dXJuIDB4ZmZmZmZmZmY7CisrfQorKworIHN0YXRpYyB2b2lkIHVhcl93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLCB1aW50NjRfdCB2YWwsIHVuc2lnbmVkIHNpemUpCisgeworICAgICBQVlJETUFEZXYgKmRldiA9IG9wYXF1ZTsKK0BAIC00ODksNiArNDk0LDcgQEAgc3RhdGljIHZvaWQgdWFyX3dyaXRlKHZvaWQgKm9wYXF1ZSwgaHdhZGRyIGFkZHIsIHVpbnQ2NF90IHZhbCwgdW5zaWduZWQgc2l6ZSkKKyB9CisgCisgc3RhdGljIGNvbnN0IE1lbW9yeVJlZ2lvbk9wcyB1YXJfb3BzID0geworKyAgICAucmVhZCA9IHVhcl9yZWFkLAorICAgICAud3JpdGUgPSB1YXJfd3JpdGUsCisgICAgIC5lbmRpYW5uZXNzID0gREVWSUNFX0xJVFRMRV9FTkRJQU4sCisgICAgIC5pbXBsID0geworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11LzAwMTktZml4LUNWRS0yMDE4LTIwMjE2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMmJhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvMDAxOS1maXgtQ1ZFLTIwMTgtMjAyMTYucGF0Y2gKQEAgLTAsMCArMSw4NSBAQAorQ1ZFOiBDVkUtMjAxOC0yMDIxNgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD1mMWUyZTM4XQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworRnJvbSBmMWUyZTM4ZWUwMTM2Yjc3MTBhMmNhYTM0NzA0OTgxOGFmZDU3YTFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUHJhc2FkIEogUGFuZGl0IDxwanBAZmVkb3JhcHJvamVjdC5vcmc+CitEYXRlOiBUaHUsIDEzIERlYyAyMDE4IDAxOjAwOjM5ICswNTMwCitTdWJqZWN0OiBbUEFUQ0hdIHB2cmRtYTogY2hlY2sgcmV0dXJuIHZhbHVlIGZyb20gcHZyZG1hX2lkeF9yaW5nX2hhc18gcm91dGluZXMKKworcHZyZG1hX2lkeF9yaW5nX2hhc19bZGF0YS9zcGFjZV0gcm91dGluZXMgYWxzbyByZXR1cm4gaW52YWxpZAoraW5kZXggUFZSRE1BX0lOVkFMSURfSURYWz0tMV0sIGlmIHJpbmcgaGFzIG5vIGRhdGEvc3BhY2UuIENoZWNrCityZXR1cm4gdmFsdWUgZnJvbSB0aGVzZSByb3V0aW5lcyB0byBhdm9pZCBwbGF1c2libGUgaW5maW5pdGUgbG9vcHMuCisKK1JlcG9ydGVkLWJ5OiBMaSBRaWFuZyA8bGlxM2VhQDE2My5jb20+CitTaWduZWQtb2ZmLWJ5OiBQcmFzYWQgSiBQYW5kaXQgPHBqcEBmZWRvcmFwcm9qZWN0Lm9yZz4KK1Jldmlld2VkLWJ5OiBZdXZhbCBTaGFpYSA8eXV2YWwuc2hhaWFAb3JhY2xlLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hcmNlbCBBcGZlbGJhdW0gPG1hcmNlbC5hcGZlbGJhdW1AZ21haWwuY29tPgorLS0tCisgaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMgfCAyOSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3JkbWEvdm13L3B2cmRtYV9kZXZfcmluZy5jIGIvaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMKK2luZGV4IDAxMjQ3ZmMwNDEuLmU4ZTViNTAyZjYgMTAwNjQ0CistLS0gYS9ody9yZG1hL3Ztdy9wdnJkbWFfZGV2X3JpbmcuYworKysrIGIvaHcvcmRtYS92bXcvcHZyZG1hX2Rldl9yaW5nLmMKK0BAIC03MywyMyArNzMsMTYgQEAgb3V0OgorIAorIHZvaWQgKnB2cmRtYV9yaW5nX25leHRfZWxlbV9yZWFkKFB2cmRtYVJpbmcgKnJpbmcpCisgeworKyAgICBpbnQgZTsKKyAgICAgdW5zaWduZWQgaW50IGlkeCA9IDAsIG9mZnNldDsKKyAKKy0gICAgLyoKKy0gICAgcHJfZGJnKCIlczogdD0lZCwgaD0lZFxuIiwgcmluZy0+bmFtZSwgcmluZy0+cmluZ19zdGF0ZS0+cHJvZF90YWlsLAorLSAgICAgICAgICAgcmluZy0+cmluZ19zdGF0ZS0+Y29uc19oZWFkKTsKKy0gICAgKi8KKy0KKy0gICAgaWYgKCFwdnJkbWFfaWR4X3JpbmdfaGFzX2RhdGEocmluZy0+cmluZ19zdGF0ZSwgcmluZy0+bWF4X2VsZW1zLCAmaWR4KSkgeworKyAgICBlID0gcHZyZG1hX2lkeF9yaW5nX2hhc19kYXRhKHJpbmctPnJpbmdfc3RhdGUsIHJpbmctPm1heF9lbGVtcywgJmlkeCk7CisrICAgIGlmIChlIDw9IDApIHsKKyAgICAgICAgIHByX2RiZygiTm8gbW9yZSBkYXRhIGluIHJpbmdcbiIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKKyAgICAgb2Zmc2V0ID0gaWR4ICogcmluZy0+ZWxlbV9zejsKKy0gICAgLyoKKy0gICAgcHJfZGJnKCJpZHg9JWRcbiIsIGlkeCk7CistICAgIHByX2RiZygib2Zmc2V0PSVkXG4iLCBvZmZzZXQpOworLSAgICAqLworICAgICByZXR1cm4gcmluZy0+cGFnZXNbb2Zmc2V0IC8gVEFSR0VUX1BBR0VfU0laRV0gKyAob2Zmc2V0ICUgVEFSR0VUX1BBR0VfU0laRSk7CisgfQorIAorQEAgLTEwNSwyMCArOTgsMjAgQEAgdm9pZCBwdnJkbWFfcmluZ19yZWFkX2luYyhQdnJkbWFSaW5nICpyaW5nKQorIAorIHZvaWQgKnB2cmRtYV9yaW5nX25leHRfZWxlbV93cml0ZShQdnJkbWFSaW5nICpyaW5nKQorIHsKKy0gICAgdW5zaWduZWQgaW50IGlkeCwgb2Zmc2V0LCB0YWlsOworKyAgICBpbnQgaWR4OworKyAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB0YWlsOworIAorLSAgICAvKgorLSAgICBwcl9kYmcoIiVzOiB0PSVkLCBoPSVkXG4iLCByaW5nLT5uYW1lLCByaW5nLT5yaW5nX3N0YXRlLT5wcm9kX3RhaWwsCistICAgICAgICAgICByaW5nLT5yaW5nX3N0YXRlLT5jb25zX2hlYWQpOworLSAgICAqLworLQorLSAgICBpZiAoIXB2cmRtYV9pZHhfcmluZ19oYXNfc3BhY2UocmluZy0+cmluZ19zdGF0ZSwgcmluZy0+bWF4X2VsZW1zLCAmdGFpbCkpIHsKKysgICAgaWR4ID0gcHZyZG1hX2lkeF9yaW5nX2hhc19zcGFjZShyaW5nLT5yaW5nX3N0YXRlLCByaW5nLT5tYXhfZWxlbXMsICZ0YWlsKTsKKysgICAgaWYgKGlkeCA8PSAwKSB7CisgICAgICAgICBwcl9kYmcoIkNRIGlzIGZ1bGxcbiIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKKyAgICAgaWR4ID0gcHZyZG1hX2lkeCgmcmluZy0+cmluZ19zdGF0ZS0+cHJvZF90YWlsLCByaW5nLT5tYXhfZWxlbXMpOworLSAgICAvKiBUT0RPOiB0YWlsID09IGlkeCAqLworKyAgICBpZiAoaWR4IDwgMCB8fCB0YWlsICE9IGlkeCkgeworKyAgICAgICAgcHJfZGJnKCJpbnZhbGlkIGlkeFxuIik7CisrICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQorIAorICAgICBvZmZzZXQgPSBpZHggKiByaW5nLT5lbGVtX3N6OworICAgICByZXR1cm4gcmluZy0+cGFnZXNbb2Zmc2V0IC8gVEFSR0VUX1BBR0VfU0laRV0gKyAob2Zmc2V0ICUgVEFSR0VUX1BBR0VfU0laRSk7CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTA4MzkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXUvQ1ZFLTIwMTgtMTA4MzkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlMWU0NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTEwODM5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotRnJvbSBmZGM4OWU5MGZhYzQwYzVjYTI2ODY3MzNkZjE3YjY0MjNmYjhkOGZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSmFzb24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMzAgTWF5IDIwMTggMTM6MDg6MTUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmUyMDAwOiBmaXggcG9zc2libGUgb3V0IG9mIGJvdW5kIGFjY2VzcyBpbiBuZTIwMDBfcmVjZWl2ZQotCi1JbiBuZTIwMDBfcmVjZWl2ZSgpLCB3ZSB0cnkgdG8gYXNzaWduIHNpemVfIHRvIHNpemUgd2hpY2ggY29udmVydHMKLWZyb20gc2l6ZV90IHRvIGludGVnZXIuIFRoaXMgd2lsbCBjYXVzZSB0cm91YmxlcyB3aGVuIHNpemVfIGlzIGdyZWF0ZXIKLUlOVF9NQVgsIHRoaXMgd2lsbCBsZWFkIGEgbmVnYXRpdmUgdmFsdWUgaW4gc2l6ZSBhbmQgaXQgY2FuIHRoZW4gcGFzcwotdGhlIGNoZWNrIG9mIHNpemUgPCBNSU5fQlVGX1NJWkUgd2hpY2ggbWF5IGxlYWQgb3V0IG9mIGJvdW5kIGFjY2VzcyBvZgotZm9yIGJvdGggYnVmIGFuZCBidWYxLgotCi1GaXhpbmcgYnkgY29udmVydGluZyB0aGUgdHlwZSBvZiBzaXplIHRvIHNpemVfdC4KLQotQ0M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKLVJlcG9ydGVkLWJ5OiBEYW5pZWwgU2hhcGlyYSA8ZGFuaWVsQHR3aXN0bG9jay5jb20+Ci1SZXZpZXdlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0LnFlbXUub3JnLz9wPXFlbXUuZ2l0O2E9Y29tbWl0ZGlmZgotO2g9ZmRjODllOTBmYWM0MGM1Y2EyNjg2NzMzZGYxN2I2NDIzZmI4ZDhmYiNwYXRjaDFdCi0KLUNWRTogQ1ZFLTIwMTgtMTA4MzkKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9uZTIwMDAuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody9uZXQvbmUyMDAwLmMgYi9ody9uZXQvbmUyMDAwLmMKLWluZGV4IDA3ZDc5ZTMuLjg2OTUxOGUgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvbmUyMDAwLmMKLSsrKyBiL2h3L25ldC9uZTIwMDAuYwotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IG5lMjAwMF9idWZmZXJfZnVsbChORTIwMDBTdGF0ZSAqcykKLSBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gewotICAgICBORTIwMDBTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICB1aW50OF90ICpwOwotICAgICB1bnNpZ25lZCBpbnQgdG90YWxfbGVuLCBuZXh0LCBhdmFpbCwgbGVuLCBpbmRleCwgbWNhc3RfaWR4OwotICAgICB1aW50OF90IGJ1ZjFbNjBdOwotQEAgLTE4Miw3ICsxODIsNyBAQCBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gICAgICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYgfTsKLSAKLSAjaWYgZGVmaW5lZChERUJVR19ORTIwMDApCi0tICAgIHByaW50ZigiTkUyMDAwOiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIGlmIChzLT5jbWQgJiBFODM5MF9TVE9QIHx8IG5lMjAwMF9idWZmZXJfZnVsbChzKSkKLS0tIAotMS44LjMuMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE1NzQ2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE1NzQ2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjYxZWEwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNTc0Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLUZyb20gOWFjZjRjNjRkZDQ1NjBiZDI2ODAwNmQ3MzU2Yzc0NTVmYWI3ZTViMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDYgU2VwIDIwMTggMTQ6NTI6MTIgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2VjY29tcDogc2V0IHRoZSBzZWNjb21wIGZpbHRlciB0byBhbGwgdGhyZWFkcwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1XaGVuIHVzaW5nICItc2VjY29tcCBvbiIsIHRoZSBzZWNjb21wIHBvbGljeSBpcyBvbmx5IGFwcGxpZWQgdG8gdGhlCi1tYWluIHRocmVhZCwgdGhlIHZjcHUgd29ya2VyIHRocmVhZCBhbmQgb3RoZXIgd29ya2VyIHRocmVhZHMgY3JlYXRlZAotYWZ0ZXIgc2VjY29tcCBwb2xpY3kgaXMgYXBwbGllZDsgdGhlIHNlY2NvbXAgcG9saWN5IGlzIG5vdCBhcHBsaWVkIHRvCi1lLmcuIHRoZSBSQ1UgdGhyZWFkIGJlY2F1c2UgaXQgaXMgY3JlYXRlZCBiZWZvcmUgdGhlIHNlY2NvbXAgcG9saWN5IGlzCi1hcHBsaWVkIGFuZCBTRUNDT01QX0ZJTFRFUl9GTEFHX1RTWU5DIGlzbid0IHVzZWQuCi0KLVRoaXMgY2FuIGJlIHZlcmlmaWVkIHdpdGgKLWZvciB0YXNrIGluIC9wcm9jL2BwaWRvZiBxZW11YC90YXNrLyo7IGRvIGNhdCAkdGFzay9zdGF0dXMgfCBncmVwIFNlY2MgOyBkb25lCi1TZWNjb21wOgkyCi1TZWNjb21wOgkwCi1TZWNjb21wOgkwCi1TZWNjb21wOgkyCi1TZWNjb21wOgkyCi1TZWNjb21wOgkyCi0KLVN0YXJ0aW5nIHdpdGggbGlic2VjY29tcCAyLjIuMCBhbmQga2VybmVsID49IDMuMTcsIHdlIGNhbiB1c2UKLXNlY2NvbXBfYXR0cl9zZXQoY3R4LCA+IFNDTVBfRkxUQVRSX0NUTF9UU1lOQywgMSkgdG8gdXBkYXRlIHRoZSBwb2xpY3kKLW9uIGFsbCB0aHJlYWRzLgotCi1saWJzZWNjb21wIHJlcXVpcmVtZW50IHdhcyBidW1wZWQgdG8gMi4yLjAgaW4gcHJldmlvdXMgcGF0Y2guCi1saWJzZWNjb21wIHNob3VsZCBmYWlsIHRvIHNldCB0aGUgZmlsdGVyIGlmIGl0IGNhbid0IGhvbm91cgotU0NNUF9GTFRBVFJfQ1RMX1RTWU5DICh1bnRlc3RlZCksIGFuZCB0aHVzIC1zYW5kYm94IHdpbGwgbm93IGZhaWwgb24KLWtlcm5lbCA8IDMuMTcuCi0KLVNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVhdUByZWRoYXQuY29tPgotQWNrZWQtYnk6IEVkdWFyZG8gT3R1Ym8gPG90dWJvQHJlZGhhdC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cHM6Ly9naXRodWIuY29tL3FlbXUvcWVtdS9jb21taXQvCi03MGRmYWJlYWE3OWJhNGQ3YTNiNjk5YWJlMWEwNDdjODAxMmRiMTE0I2RpZmYtMTgxMDZkM2I0N2EyZDI0OWY5ZDQxZTc3MmI3ZGIyMmRdCi0KLUNWRTogQ1ZFLTIwMTgtMTU3NDYKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIHFlbXUtc2VjY29tcC5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3FlbXUtc2VjY29tcC5jIGIvcWVtdS1zZWNjb21wLmMKLWluZGV4IDljZDhlYjkuLmJhNTUwMGEgMTAwNjQ0Ci0tLS0gYS9xZW11LXNlY2NvbXAuYwotKysrIGIvcWVtdS1zZWNjb21wLmMKLUBAIC0xMjAsNiArMTIwLDExIEBAIHN0YXRpYyBpbnQgc2VjY29tcF9zdGFydCh1aW50MzJfdCBzZWNjb21wX29wdHMpCi0gICAgICAgICBnb3RvIHNlY2NvbXBfcmV0dXJuOwotICAgICB9Ci0gCi0rICAgIHJjID0gc2VjY29tcF9hdHRyX3NldChjdHgsIFNDTVBfRkxUQVRSX0NUTF9UU1lOQywgMSk7Ci0rICAgIGlmIChyYyAhPSAwKSB7Ci0rICAgICAgICBnb3RvIHNlY2NvbXBfcmV0dXJuOwotKyAgICB9Ci0rCi0gICAgIGZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGJsYWNrbGlzdCk7IGkrKykgewotICAgICAgICAgaWYgKCEoc2VjY29tcF9vcHRzICYgYmxhY2tsaXN0W2ldLnNldCkpIHsKLSAgICAgICAgICAgICBjb250aW51ZTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTU4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjQwZmYyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk1OC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUZyb20gMDZlODhjYTc4ZDA1NmVhNGRlODg1ZTNhMTQ5NjgwNTE3OWRjNDdiYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjMzOjA0ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIG5lMjAwMDogZml4IHBvc3NpYmxlIG91dCBvZiBib3VuZCBhY2Nlc3MgaW4gbmUyMDAwX3JlY2VpdmUKLQotSW4gbmUyMDAwX3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzCi1mcm9tIHNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3Mgb2YKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBhZGRyZXNzQGhpZGRlbgotUmVwb3J0ZWQtYnk6IERhbmllbCBTaGFwaXJhIDxhZGRyZXNzQGhpZGRlbj4KLVJldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPGFkZHJlc3NAaGlkZGVuPgotU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8YWRkcmVzc0BoaWRkZW4+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE4LTA5L21zZzAzMjczLmh0bWxdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NTgKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9uZTIwMDAuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ody9uZXQvbmUyMDAwLmMgYi9ody9uZXQvbmUyMDAwLmMKLWluZGV4IDA3ZDc5ZTMuLjg2OTUxOGUgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvbmUyMDAwLmMKLSsrKyBiL2h3L25ldC9uZTIwMDAuYwotQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50IG5lMjAwMF9idWZmZXJfZnVsbChORTIwMDBTdGF0ZSAqcykKLSBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gewotICAgICBORTIwMDBTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICB1aW50OF90ICpwOwotICAgICB1bnNpZ25lZCBpbnQgdG90YWxfbGVuLCBuZXh0LCBhdmFpbCwgbGVuLCBpbmRleCwgbWNhc3RfaWR4OwotICAgICB1aW50OF90IGJ1ZjFbNjBdOwotQEAgLTE4Miw3ICsxODIsNyBAQCBzc2l6ZV90IG5lMjAwMF9yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZV8pCi0gICAgICAgICB7IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYgfTsKLSAKLSAjaWYgZGVmaW5lZChERUJVR19ORTIwMDApCi0tICAgIHByaW50ZigiTkUyMDAwOiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBwcmludGYoIk5FMjAwMDogcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIGlmIChzLT5jbWQgJiBFODM5MF9TVE9QIHx8IG5lMjAwMF9idWZmZXJfZnVsbChzKSkKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4OGJmZDgxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2Mi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLUZyb20gMjBhYmU0NDNhZDk0NjRiMThhYzQ5NGY3MWY3ZDUzZjE5ZWUzNzQ4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjM4OjA4ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJ0bDgxMzk6IGZpeCBwb3NzaWJsZSBvdXQgb2YgYm91bmQgYWNjZXNzCi0KLUluIHJ0bDgxMzlfZG9fcmVjZWl2ZSgpLCB3ZSB0cnkgdG8gYXNzaWduIHNpemVfIHRvIHNpemUgd2hpY2ggY29udmVydHMKLWZyb20gc2l6ZV90IHRvIGludGVnZXIuIFRoaXMgd2lsbCBjYXVzZSB0cm91YmxlcyB3aGVuIHNpemVfIGlzIGdyZWF0ZXIKLUlOVF9NQVgsIHRoaXMgd2lsbCBsZWFkIGEgbmVnYXRpdmUgdmFsdWUgaW4gc2l6ZSBhbmQgaXQgY2FuIHRoZW4gcGFzcwotdGhlIGNoZWNrIG9mIHNpemUgPCBNSU5fQlVGX1NJWkUgd2hpY2ggbWF5IGxlYWQgb3V0IG9mIGJvdW5kIGFjY2VzcyBvZgotZm9yIGJvdGggYnVmIGFuZCBidWYxLgotCi1GaXhpbmcgYnkgY29udmVydGluZyB0aGUgdHlwZSBvZiBzaXplIHRvIHNpemVfdC4KLQotQ0M6IGFkZHJlc3NAaGlkZGVuCi1SZXBvcnRlZC1ieTogRGFuaWVsIFNoYXBpcmEgPGFkZHJlc3NAaGlkZGVuPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8YWRkcmVzc0BoaWRkZW4+Ci1TaWduZWQtb2ZmLWJ5OiBKYXNvbiBXYW5nIDxhZGRyZXNzQGhpZGRlbj4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9xZW11LWRldmVsLzIwMTgtMDkvbXNnMDMyNjkuaHRtbF0KLQotQ1ZFOiBDVkUtMjAxOC0xNzk2MgotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gaHcvbmV0L3J0bDgxMzkuYyB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaHcvbmV0L3J0bDgxMzkuYyBiL2h3L25ldC9ydGw4MTM5LmMKLWluZGV4IDQ2ZGFhMTYuLjIzNDJhMDkgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvcnRsODEzOS5jCi0rKysgYi9ody9uZXQvcnRsODEzOS5jCi1AQCAtODE3LDcgKzgxNyw3IEBAIHN0YXRpYyBzc2l6ZV90IHJ0bDgxMzlfZG9fcmVjZWl2ZShOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90Ci0gICAgIFJUTDgxMzlTdGF0ZSAqcyA9IHFlbXVfZ2V0X25pY19vcGFxdWUobmMpOwotICAgICBQQ0lEZXZpY2UgKmQgPSBQQ0lfREVWSUNFKHMpOwotICAgICAvKiBzaXplIGlzIHRoZSBsZW5ndGggb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8gdGhlIGRyaXZlciAqLwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotICAgICBjb25zdCB1aW50OF90ICpkb3QxcV9idWYgPSBOVUxMOwotIAotICAgICB1aW50MzJfdCBwYWNrZXRfaGVhZGVyID0gMDsKLUBAIC04MjYsNyArODI2LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAgICAgc3RhdGljIGNvbnN0IHVpbnQ4X3QgYnJvYWRjYXN0X21hY2FkZHJbNl0gPQotICAgICAgICAgeyAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmLCAweGZmIH07Ci0gCi0tICAgIERQUklOVEYoIj4+PiByZWNlaXZlZCBsZW49JWRcbiIsIHNpemUpOwotKyAgICBEUFJJTlRGKCI+Pj4gcmVjZWl2ZWQgbGVuPSV6dVxuIiwgc2l6ZSk7Ci0gCi0gICAgIC8qIHRlc3QgaWYgYm9hcmQgY2xvY2sgaXMgc3RvcHBlZCAqLwotICAgICBpZiAoIXMtPmNsb2NrX2VuYWJsZWQpCi1AQCAtMTAzNSw3ICsxMDM1LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAKLSAgICAgICAgIGlmIChzaXplKzQgPiByeF9zcGFjZSkKLSAgICAgICAgIHsKLS0gICAgICAgICAgICBEUFJJTlRGKCJDKyBSeCBtb2RlIDogZGVzY3JpcHRvciAlZCBzaXplICVkIHJlY2VpdmVkICVkICsgNFxuIiwKLSsgICAgICAgICAgICBEUFJJTlRGKCJDKyBSeCBtb2RlIDogZGVzY3JpcHRvciAlZCBzaXplICVkIHJlY2VpdmVkICV6dSArIDRcbiIsCi0gICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IsIHJ4X3NwYWNlLCBzaXplKTsKLSAKLSAgICAgICAgICAgICBzLT5JbnRyU3RhdHVzIHw9IFJ4T3ZlcmZsb3c7Ci1AQCAtMTE0OCw3ICsxMTQ4LDcgQEAgc3RhdGljIHNzaXplX3QgcnRsODEzOV9kb19yZWNlaXZlKE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QKLSAgICAgICAgIGlmIChhdmFpbCAhPSAwICYmIFJYX0FMSUdOKHNpemUgKyA4KSA+PSBhdmFpbCkKLSAgICAgICAgIHsKLSAgICAgICAgICAgICBEUFJJTlRGKCJyeCBvdmVyZmxvdzogcnggYnVmZmVyIGxlbmd0aCAlZCBoZWFkIDB4JTA0eCAiCi0tICAgICAgICAgICAgICAgICJyZWFkIDB4JTA0eCA9PT0gYXZhaWxhYmxlIDB4JTA0eCBuZWVkIDB4JTA0eFxuIiwKLSsgICAgICAgICAgICAgICAgInJlYWQgMHglMDR4ID09PSBhdmFpbGFibGUgMHglMDR4IG5lZWQgMHglMDR6eFxuIiwKLSAgICAgICAgICAgICAgICAgcy0+UnhCdWZmZXJTaXplLCBzLT5SeEJ1ZkFkZHIsIHMtPlJ4QnVmUHRyLCBhdmFpbCwgc2l6ZSArIDgpOwotIAotICAgICAgICAgICAgIHMtPkludHJTdGF0dXMgfD0gUnhPdmVyZmxvdzsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE4LTE3OTYzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTRjZGM4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOC0xNzk2My5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLUZyb20gZTVmZjcyYTgwMDVkZDFkOWMwZjYzZjhhOWNjNDI5OGRmNWJiNzU1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBNb24sIDE1IE9jdCAyMDE4IDE2OjM5OjQ2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIHBjbmV0OiBmaXggcG9zc2libGUgYnVmZmVyIG92ZXJmbG93Ci0KLUluIHBjbmV0X3JlY2VpdmUoKSwgd2UgdHJ5IHRvIGFzc2lnbiBzaXplXyB0byBzaXplIHdoaWNoIGNvbnZlcnRzIGZyb20KLXNpemVfdCB0byBpbnRlZ2VyLiBUaGlzIHdpbGwgY2F1c2UgdHJvdWJsZXMgd2hlbiBzaXplXyBpcyBncmVhdGVyCi1JTlRfTUFYLCB0aGlzIHdpbGwgbGVhZCBhIG5lZ2F0aXZlIHZhbHVlIGluIHNpemUgYW5kIGl0IGNhbiB0aGVuIHBhc3MKLXRoZSBjaGVjayBvZiBzaXplIDwgTUlOX0JVRl9TSVpFIHdoaWNoIG1heSBsZWFkIG91dCBvZiBib3VuZCBhY2Nlc3MKLWZvciBib3RoIGJ1ZiBhbmQgYnVmMS4KLQotRml4aW5nIGJ5IGNvbnZlcnRpbmcgdGhlIHR5cGUgb2Ygc2l6ZSB0byBzaXplX3QuCi0KLUNDOiBhZGRyZXNzQGhpZGRlbgotUmVwb3J0ZWQtYnk6IERhbmllbCBTaGFwaXJhIDxhZGRyZXNzQGhpZGRlbj4KLVJldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPGFkZHJlc3NAaGlkZGVuPgotU2lnbmVkLW9mZi1ieTogSmFzb24gV2FuZyA8YWRkcmVzc0BoaWRkZW4+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvcWVtdS1kZXZlbC8yMDE4LTA5L21zZzAzMjY4Lmh0bWxdCi0KLUNWRTogQ1ZFLTIwMTgtMTc5NjMKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGh3L25ldC9wY25ldC5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2h3L25ldC9wY25ldC5jIGIvaHcvbmV0L3BjbmV0LmMKLWluZGV4IDBjNDQ1NTQuLmQ5YmEwNGIgMTAwNjQ0Ci0tLS0gYS9ody9uZXQvcGNuZXQuYwotKysrIGIvaHcvbmV0L3BjbmV0LmMKLUBAIC05ODgsMTQgKzk4OCwxNCBAQCBzc2l6ZV90IHBjbmV0X3JlY2VpdmUoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplXykKLSAgICAgdWludDhfdCBidWYxWzYwXTsKLSAgICAgaW50IHJlbWFpbmluZzsKLSAgICAgaW50IGNyY19lcnIgPSAwOwotLSAgICBpbnQgc2l6ZSA9IHNpemVfOwotKyAgICBzaXplX3Qgc2l6ZSA9IHNpemVfOwotIAotICAgICBpZiAoQ1NSX0RSWChzKSB8fCBDU1JfU1RPUChzKSB8fCBDU1JfU1BORChzKSB8fCAhc2l6ZSB8fAotICAgICAgICAgKENTUl9MT09QKHMpICYmICFzLT5sb29wdGVzdCkpIHsKLSAgICAgICAgIHJldHVybiAtMTsKLSAgICAgfQotICNpZmRlZiBQQ05FVF9ERUJVRwotLSAgICBwcmludGYoInBjbmV0X3JlY2VpdmUgc2l6ZT0lZFxuIiwgc2l6ZSk7Ci0rICAgIHByaW50ZigicGNuZXRfcmVjZWl2ZSBzaXplPSV6dVxuIiwgc2l6ZSk7Ci0gI2VuZGlmCi0gCi0gICAgIC8qIGlmIHRvbyBzbWFsbCBidWZmZXIsIHRoZW4gZXhwYW5kIGl0ICovCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOS0zODEyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11L0NWRS0yMDE5LTM4MTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RlNTg4MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdS9DVkUtMjAxOS0zODEyLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK1FFTVUsIHRocm91Z2ggdmVyc2lvbiAyLjEwIGFuZCB0aHJvdWdoIHZlcnNpb24gMy4xLjAsIGlzIHZ1bG5lcmFibGUgdG8gYW4KK291dC1vZi1ib3VuZHMgcmVhZCBvZiB1cCB0byAxMjggYnl0ZXMgaW4gdGhlIGh3L2kyYy9pMmMtZGRjLmM6aTJjX2RkYygpCitmdW5jdGlvbi4gQSBsb2NhbCBhdHRhY2tlciB3aXRoIHBlcm1pc3Npb24gdG8gZXhlY3V0ZSBpMmMgY29tbWFuZHMgY291bGQgZXhwbG9pdAordGhpcyB0byByZWFkIHN0YWNrIG1lbW9yeSBvZiB0aGUgcWVtdSBwcm9jZXNzIG9uIHRoZSBob3N0LgorCitDVkU6IENWRS0yMDE5LTM4MTIKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gYjA1YjI2Nzg0MDUxNTczMGRiZjY3NTM0OTVkNWI3YmQ4YjA0YWQxYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDExOjIzOjAxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGkyYy1kZGM6IGZpeCBvb2IgcmVhZAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitTdWdnZXN0ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1NpZ25lZC1vZmYtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgSGFuc2VsbWFubiA8cHVibGljQGhhbnNtaS5jaD4KK1Jldmlld2VkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+CitNZXNzYWdlLWlkOiAyMDE5MDEwODEwMjMwMS4xOTU3LTEta3JheGVsQHJlZGhhdC5jb20KKy0tLQorIGh3L2kyYy9pMmMtZGRjLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ody9pMmMvaTJjLWRkYy5jIGIvaHcvaTJjL2kyYy1kZGMuYworaW5kZXggYmUzNGZlMDcyY2YuLjBhMDM2N2ZmMzhmIDEwMDY0NAorLS0tIGEvaHcvaTJjL2kyYy1kZGMuYworKysrIGIvaHcvaTJjL2kyYy1kZGMuYworQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIGludCBpMmNfZGRjX3J4KEkyQ1NsYXZlICppMmMpCisgICAgIEkyQ0REQ1N0YXRlICpzID0gSTJDRERDKGkyYyk7CisgCisgICAgIGludCB2YWx1ZTsKKy0gICAgdmFsdWUgPSBzLT5lZGlkX2Jsb2Jbcy0+cmVnXTsKKysgICAgdmFsdWUgPSBzLT5lZGlkX2Jsb2Jbcy0+cmVnICUgc2l6ZW9mKHMtPmVkaWRfYmxvYildOworICAgICBzLT5yZWcrKzsKKyAgICAgcmV0dXJuIHZhbHVlOworIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3FlbXUvcWVtdV8zLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc2NTQ4Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4wLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1yZXF1aXJlIHFlbXUuaW5jCi0KLWluaGVyaXQgcHRlc3QKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYmFzaCBtYWtlIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00NDFjMjhkMmNmODZlMTVhMzdmYTQ3ZTE1YTcyZmJhYyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjtlbmRsaW5lPTI0O21kNT1jMDRkZWY3YWUzODg1MGU3ZDNlZjU0ODU4ODE1OTkxMyIKLQotU1JDX1VSSSA9ICJodHRwczovL2Rvd25sb2FkLnFlbXUub3JnLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vcG93ZXJwY19yb20uYmluIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc2RsLmMtYWxsb3ctdXNlci10by1kaXNhYmxlLXBvaW50ZXItZ3JhYnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1xZW11LUFkZC1taXNzaW5nLXdhY29tLUhJRC1kZXNjcmlwdG9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQWRkLXN1YnBhY2thZ2UtcHRlc3Qtd2hpY2gtcnVucy1hbGwtdW5pdC10ZXN0LWNhc2VzLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1xZW11LUFkZC1hZGRpdGlvbi1lbnZpcm9ubWVudC1zcGFjZS10by1ib290LWxvYWRlci1xLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtcWVtdS1kaXNhYmxlLVZhbGdyaW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtcWVtdS1MaW1pdC1wYXRocy1zZWFyY2hlZC1kdXJpbmctdXNlci1tb2RlLWVtdWxhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LXFlbXUtbmF0aXZlLXNldC1sZC5iZmQtZml4LWNmbGFncy1hbmQtc2V0LXNvbWUtZW52aXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1jaGFyZGV2LWNvbm5lY3Qtc29ja2V0LXRvLWEtc3Bhd25lZC1jb21tYW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktYXBpYy1maXh1cC1mYWxsdGhyb3VnaC10by1QSUMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMC1saW51eC11c2VyLUZpeC13ZWJraXRndGstaGFuZ3Mtb24tMzItYml0LXg4Ni10YXJnZXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAxMS1SZXZlcnQtbGludXgtdXNlci1maXgtbW1hcC1tdW5tYXAtbXByb3RlY3QtbXJlbWFwLXNoLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE1NzQ2LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTU4LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTYyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE3OTYzLnBhdGNoIFwKLSAgICAgICAgICAgIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicWVtdS0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMi1maXgtbGliY2FwLWhlYWRlci1pc3N1ZS1vbi1zb21lLWRpc3Ryby5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAxMy1jcHVzLmMtQWRkLWVycm9yLW1lc3NhZ2VzLXdoZW4tcWVtaV9jcHVfa2lja190aHJlYWQtLnBhdGNoIFwKLSAgICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjZhNWM4ZGY1ODM0MDZlYTI0ZWYyNWIyMzljMzI0M2UwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkN2FmNjRmZThiZDVlYTVjM2JkZjE3MTMxYThiODU4NDkxYmNjZTFlZTM4Mzk0MjVhNmQ5MWZiODIxYjU3MTMiCi0KLUNPTVBBVElCTEVfSE9TVF9taXBzYXJjaG4zMiA9ICJudWxsIgotQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNobjY0ID0gIm51bGwiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgUHJldmVudCBRQSB3YXJuaW5ncyBhYm91dCBpbnN0YWxsZWQgJHtsb2NhbHN0YXRlZGlyfS9ydW4KLSAgICBpZiBbIC1kICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1biBdOyB0aGVuIHJtZGlyICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L3J1bjsgZmkKLSAgICBpbnN0YWxsIC1EbSAwNzU1ICR7V09SS0RJUn0vcG93ZXJwY19yb20uYmluICR7RH0ke2RhdGFkaXJ9L3FlbXUKLX0KLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQltYWtlIGJ1aWxkdGVzdC1URVNUUwotfQotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCWNwIC1yTCAke0J9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Ci0JZmluZCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cyAtdHlwZSBmIC1uYW1lICIqLltTc2hjb2RdIiB8IHhhcmdzIC1pIHJtIC1yZiB7fQotCi0JY3AgJHtTfS90ZXN0cy9NYWtlZmlsZS5pbmNsdWRlICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0JIyBEb24ndCBjaGVjayB0aGUgZmlsZSBnZW5yZWF0ZWQgYnkgY29uZmlndXJlCi0Jc2VkIC1pIC1lICcvd2lsZGNhcmQgY29uZmlnLWhvc3QubWFrL2QnIFwKLQkgICAgICAgLWUgJyQgey9lbmRpZi9kfScgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvTWFrZWZpbGUuaW5jbHVkZQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11XzMuMS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0ZDhiZWUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXVfMy4xLjAuYmIKQEAgLTAsMCArMSwyMiBAQAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCisKK3JlcXVpcmUgcWVtdS5pbmMKKworREVQRU5EUyA9ICJnbGliLTIuMCB6bGliIHBpeG1hbiIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ICs9ICJiYXNoIgorCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV90YXJnZXRfbGlzdChkKX0iCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLS10YXJnZXQtbGlzdD0ke0BnZXRfcWVtdV90YXJnZXRfbGlzdChkKX0iCisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3RrKycsICdtYWtlX3FlbXVfd3JhcHBlcicsICcnLCBkKX0KK30KKworUEFDS0FHRUNPTkZJRyA/Pz0gIiBcCisgICAgZmR0IHNkbCBrdm0gXAorICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2Fsc2EgeGVuJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID8/PSAiZmR0IHNkbCBrdm0iCisKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcWVtdS9xZW11d3JhcHBlci1jcm9zc18xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgppbmRleCA0YWFkYTUyLi5hMDQ0OGExIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xZW11L3FlbXV3cmFwcGVyLWNyb3NzXzEuMC5iYgpAQCAtMjAsOCArMjAsOSBAQAogIyEvYmluL3NoCiBzZXQgLXgKIAotaWYgWyAke0BiYi51dGlscy5jb250YWlucygnTUFDSElORV9GRUFUVVJFUycsICdxZW11LXVzZXJtb2RlJywgJ1RydWUnLCAnRmFsc2UnLCBkKX0gPSBGYWxzZSBdOyB0aGVuCi0gICAgICAgIGVjaG8gInFlbXV3cmFwcGVyOiBxZW11IHVzZXJtb2RlIGlzIG5vdCBzdXBwb3J0ZWQiCitpZiBbICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ3FlbXUtdXNlcm1vZGUnLCAnVHJ1ZScsICdGYWxzZScsIGQpfSA9IEZhbHNlIC1hICIke1BOfSIgIT0gIm5hdGl2ZXNkay1xZW11d3JhcHBlci1jcm9zcyIgXTsgdGhlbgorCWVjaG8gInFlbXV3cmFwcGVyOiBxZW11IHVzZXJtb2RlIGlzIG5vdCBzdXBwb3J0ZWQiCisJZXhpdCAxCiBmaQogCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZS5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmUuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNzA2NzA0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZS5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1SREVQRU5EU18ke1BOfSA9ICJkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIGJ6aXAyLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKLQotSU5ISUJJVF9BVVRPVE9PTFNfREVQUyA9ICIxIgotCi1pbmhlcml0IG5hdGl2ZQotCi1QQVRDSFRPT0wgPSAicGF0Y2giCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWRpc2FibGUtbmxzIgotCi1kb19jb25maWd1cmUgKCkgewotCW9lX3J1bmNvbmYKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCSMgRHVtbXkgcXVpbHRyYyBmaWxlIGZvciBwYXRjaC5iYmNsYXNzCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS8KLQl0b3VjaCAke0R9JHtzeXNjb25mZGlyfS9xdWlsdHJjCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC1uYXRpdmVfMC42NS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCmluZGV4IDZiYzdkY2QuLjIyMzc0NDIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LW5hdGl2ZV8wLjY1LmJiCkBAIC0xLDIgKzEsMiBAQAogcmVxdWlyZSBxdWlsdC5pbmMKLXJlcXVpcmUgcXVpbHQtbmF0aXZlLmluYworaW5oZXJpdCBuYXRpdmUKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0LmluYwppbmRleCA0OGVkOWJhLi4xNTBkZjNkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdC5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHQuaW5jCkBAIC0xMSwxNCArMTEsMjEgQEAKICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtQWxsb3ctZGlmZmVyZW50LW91dHB1dC1mcm9tLW12LnBhdGNoIFwKICIKIAorU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBmaWxlOi8vZ251X3BhdGNoX3Rlc3RfZml4X3RhcmdldC5wYXRjaCIKKwogU1JDX1VSSVttZDVzdW1dID0gImM2N2JhMDIyOGY1YjdiOGJiZTQ2OTQ3NDY2MWY5MmQ2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImY2Y2JjNzg4ZTVjYmJiMzgxYTNjNmVhYjViOWVmY2U2N2M3NzZhODY2MmE3Nzk1Yzc0MzJmZDI3YWEwOTY4MTkiCiAKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwdGVzdAogCitJTkhJQklUX0FVVE9UT09MU19ERVBTX2NsYXNzLW5hdGl2ZSA9ICIxIgorUEFUQ0hUT09MX2NsYXNzLW5hdGl2ZSA9ICJwYXRjaCIKKwogQ0xFQU5CUk9LRU4gPSAiMSIKIAogRVhUUkFfT0VDT05GID0gIi0td2l0aC1wZXJsPScke1VTUkJJTlBBVEh9L2VudiBwZXJsJyAtLXdpdGgtcGF0Y2g9cGF0Y2giCitFWFRSQV9PRUNPTkZfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgLS1kaXNhYmxlLW5scyIKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgogCiBDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9CQVNIPS9iaW4vYmFzaCIKIApAQCAtMzMsNiArNDAsMTAgQEAKIAlzZWQgLWUgJ3MsXkNPTVBBVF9TWU1MSU5LUy4qOj0uKixDT01QQVRfU1lNTElOS1MJOj0sJyAtaSAke1N9L01ha2VmaWxlCiB9CiAKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmUgKCkgeworICAgIG9lX3J1bmNvbmYKK30KKwogIyBxdWlsdCBNYWtlZmlsZXMgaW5zdGFsbCB0byBCVUlMRF9ST09UIGluc3RlYWQgb2YgREVTVERJUgogZG9faW5zdGFsbCAoKSB7CiAJb2VfcnVubWFrZSAnQlVJTERfUk9PVD0ke0R9JyBpbnN0YWxsCkBAIC00MCw2ICs1MSwxMiBAQAogCXJtIC1yZiAke0R9LyR7ZGF0YWRpcn0vZW1hY3MKIH0KIAorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICAjIER1bW15IHF1aWx0cmMgZmlsZSBmb3IgcGF0Y2guYmJjbGFzcworICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vCisgICAgdG91Y2ggJHtEfSR7c3lzY29uZmRpcn0vcXVpbHRyYworfQorCiBkb19jb21waWxlX3B0ZXN0KCkgewogCW9lX3J1bm1ha2UgYmluL3BhdGNoLXdyYXBwZXIgdGVzdC8uZGVwZW5kCiB9CkBAIC02MSw3ICs3OCw5IEBACiBGSUxFU18ke1BOfS1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcXVpbHQuMSAke2RvY2Rpcn0vJHtCUE59IgogRklMRVNfZ3VhcmRzLWRvYyA9ICIke21hbmRpcn0vbWFuMS9ndWFyZHMuMSIKIAotUkRFUEVORFNfJHtQTn0gPSAiYmFzaCIKK1JERVBFTkRTXyR7UE59ID0gImJhc2ggcGF0Y2ggZGlmZnN0YXQgYnppcDIgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJkaWZmc3RhdC1uYXRpdmUgcGF0Y2gtbmF0aXZlIGJ6aXAyLW5hdGl2ZSIKKwogUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAibWFrZSBmaWxlIHNlZCBnYXdrIGRpZmZ1dGlscyBmaW5kdXRpbHMgZWQgcGVybCBcCiAgICAgICAgICAgICAgICAgICAgICAgICBwZXJsLW1vZHVsZS1maWxlaGFuZGxlIHBlcmwtbW9kdWxlLWdldG9wdC1zdGQgXAogICAgICAgICAgICAgICAgICAgICAgICAgcGVybC1tb2R1bGUtcG9zaXggcGVybC1tb2R1bGUtZmlsZS10ZW1wIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0XzAuNjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9xdWlsdC9xdWlsdF8wLjY1LmJiCmluZGV4IDViZjgxOGQuLmZmOTcyNjUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3F1aWx0L3F1aWx0XzAuNjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcXVpbHQvcXVpbHRfMC42NS5iYgpAQCAtMSw4ICsxLDIgQEAKIHJlcXVpcmUgcXVpbHQuaW5jCiBpbmhlcml0IGdldHRleHQKLQotU1JDX1VSSSArPSAiZmlsZTovL2dudV9wYXRjaF90ZXN0X2ZpeF90YXJnZXQucGF0Y2giCi0KLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgotCi1SREVQRU5EU18ke1BOfSArPSAicGF0Y2ggZGlmZnN0YXQgYnppcDIgdXRpbC1saW51eCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9maWxlcy8wMDE2LXJwbXNjcmlwdC5jLWNoYW5nZS1sb2dnaW5nLWxldmVsLWFyb3VuZC1zY3JpcHRsZXRzLXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vZmlsZXMvMDAxNi1ycG1zY3JpcHQuYy1jaGFuZ2UtbG9nZ2luZy1sZXZlbC1hcm91bmQtc2NyaXB0bGV0cy10LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzZTk4NTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vZmlsZXMvMDAxNi1ycG1zY3JpcHQuYy1jaGFuZ2UtbG9nZ2luZy1sZXZlbC1hcm91bmQtc2NyaXB0bGV0cy10LnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0Zyb20gOTg5ZTQyNWQ0MTY0NzRjMTkxYjAyMGQwODI1ODk1ZTNkZjRiZDAzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxMCBKYW4gMjAxOSAxODoxNDoxOCArMDEwMAorU3ViamVjdDogW1BBVENIXSBycG1zY3JpcHQuYzogY2hhbmdlIGxvZ2dpbmcgbGV2ZWwgYXJvdW5kIHNjcmlwdGxldHMgdG8gSU5GTworIGZyb20gREVCVUcKKworVGhhdCB3YXkgd2UgY2FuIGRlYnVnIHNjcmlwdGxldCBmYWlsdXJlcyB3aXRob3V0IHdyaXRpbmcgbG90cyBvZgoraXJyZWxldmFudCBub2lzZSB0byByb290ZnMgbG9ncy4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtvZS1jb3JlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBsaWIvcnBtc2NyaXB0LmMgfCA4ICsrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9ycG1zY3JpcHQuYyBiL2xpYi9ycG1zY3JpcHQuYworaW5kZXggMmIwZTQzODYyLi5lMzE5NjczZjEgMTAwNjQ0CistLS0gYS9saWIvcnBtc2NyaXB0LmMKKysrKyBiL2xpYi9ycG1zY3JpcHQuYworQEAgLTIyNiw3ICsyMjYsNyBAQCBzdGF0aWMgY2hhciAqIHdyaXRlU2NyaXB0KGNvbnN0IGNoYXIgKmNtZCwgY29uc3QgY2hhciAqc2NyaXB0KQorICAgICBpZiAoRmVycm9yKGZkKSkKKyAJZ290byBleGl0OworIAorLSAgICBpZiAocnBtSXNEZWJ1ZygpICYmIChyc3RyZXEoY21kLCAiL2Jpbi9zaCIpIHx8IHJzdHJlcShjbWQsICIvYmluL2Jhc2giKSkpIHsKKysgICAgaWYgKHJwbUlzVmVyYm9zZSgpICYmIChyc3RyZXEoY21kLCAiL2Jpbi9zaCIpIHx8IHJzdHJlcShjbWQsICIvYmluL2Jhc2giKSkpIHsKKyAJc3RhdGljIGNvbnN0IGNoYXIgc2V0X3hbXSA9ICJzZXQgLXhcbiI7CisgCS8qIEFzc3VtZSBmYWlsdXJlcyB3aWxsIGJlIGNhdWdodCBieSB0aGUgd3JpdGUgYmVsb3cgKi8KKyAJRndyaXRlKHNldF94LCBzaXplb2Yoc2V0X3hbMF0pLCBzaXplb2Yoc2V0X3gpLTEsIGZkKTsKK0BAIC0yNTgsNyArMjU4LDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAgICAgY2hhciAqbWxpbmUgPSBOVUxMOworICAgICBycG1SQyByYyA9IFJQTVJDX0ZBSUw7CisgCistICAgIHJwbWxvZyhSUE1MT0dfREVCVUcsICIlczogc2NyaXB0bGV0IHN0YXJ0XG4iLCBzbmFtZSk7CisrICAgIHJwbWxvZyhSUE1MT0dfSU5GTywgIiVzOiBzY3JpcHRsZXQgc3RhcnRcbiIsIHNuYW1lKTsKKyAKKyAgICAgaWYgKHNjcmlwdCkgeworIAlmbiA9IHdyaXRlU2NyaXB0KCphcmd2cFswXSwgc2NyaXB0KTsKK0BAIC0zMTAsNyArMzEwLDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAJCXNuYW1lLCBzdHJlcnJvcihlcnJubykpOworIAlnb3RvIGV4aXQ7CisgICAgIH0gZWxzZSBpZiAocGlkID09IDApIHsvKiBDaGlsZCAqLworLQlycG1sb2coUlBNTE9HX0RFQlVHLCAiJXM6IGV4ZWN2KCVzKSBwaWQgJWRcbiIsCisrCXJwbWxvZyhSUE1MT0dfSU5GTywgIiVzOiBleGVjdiglcykgcGlkICVkXG4iLAorIAkgICAgICAgc25hbWUsICphcmd2cFswXSwgKHVuc2lnbmVkKWdldHBpZCgpKTsKKyAKKyAJZmNsb3NlKGluKTsKK0BAIC0zNTMsNyArMzUzLDcgQEAgc3RhdGljIHJwbVJDIHJ1bkV4dFNjcmlwdChycG1QbHVnaW5zIHBsdWdpbnMsIEFSR1ZfY29uc3RfdCBwcmVmaXhlcywKKyAJcmVhcGVkID0gd2FpdHBpZChwaWQsICZzdGF0dXMsIDApOworICAgICB9IHdoaWxlIChyZWFwZWQgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpOworIAorLSAgICBycG1sb2coUlBNTE9HX0RFQlVHLCAiJXM6IHdhaXRwaWQoJWQpIHJjICVkIHN0YXR1cyAleFxuIiwKKysgICAgcnBtbG9nKFJQTUxPR19JTkZPLCAiJXM6IHdhaXRwaWQoJWQpIHJjICVkIHN0YXR1cyAleFxuIiwKKyAJICAgc25hbWUsICh1bnNpZ25lZClwaWQsICh1bnNpZ25lZClyZWFwZWQsIHN0YXR1cyk7CisgCisgICAgIGlmIChyZWFwZWQgPCAwKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ycG0vcnBtXzQuMTQuMi4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjNmNDI2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuMS5iYgpAQCAtMCwwICsxLDE1MiBAQAorU1VNTUFSWSA9ICJUaGUgUlBNIHBhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0iCitERVNDUklQVElPTiA9ICJUaGUgUlBNIFBhY2thZ2UgTWFuYWdlciAoUlBNKSBpcyBhIHBvd2VyZnVsIGNvbW1hbmQgbGluZSBkcml2ZW4gXAorcGFja2FnZSBtYW5hZ2VtZW50IHN5c3RlbSBjYXBhYmxlIG9mIGluc3RhbGxpbmcsIHVuaW5zdGFsbGluZywgXAordmVyaWZ5aW5nLCBxdWVyeWluZywgYW5kIHVwZGF0aW5nIHNvZnR3YXJlIHBhY2thZ2VzLiBFYWNoIHNvZnR3YXJlIFwKK3BhY2thZ2UgY29uc2lzdHMgb2YgYW4gYXJjaGl2ZSBvZiBmaWxlcyBhbG9uZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IFwKK3RoZSBwYWNrYWdlIGxpa2UgaXRzIHZlcnNpb24sIGEgZGVzY3JpcHRpb24sIGV0Yy4iCisKK1NVTU1BUllfJHtQTn0tZGV2ID0gIkRldmVsb3BtZW50IGZpbGVzIGZvciBtYW5pcHVsYXRpbmcgUlBNIHBhY2thZ2VzIgorREVTQ1JJUFRJT05fJHtQTn0tZGV2ID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgUlBNIEMgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzLiBUaGVzZSBcCitkZXZlbG9wbWVudCBmaWxlcyB3aWxsIHNpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIHdyaXRpbmcgcHJvZ3JhbXMgdGhhdCBcCittYW5pcHVsYXRlIFJQTSBwYWNrYWdlcyBhbmQgZGF0YWJhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW50ZW5kZWQgdG8gXAorc2ltcGxpZnkgdGhlIHByb2Nlc3Mgb2YgY3JlYXRpbmcgZ3JhcGhpY2FsIHBhY2thZ2UgbWFuYWdlcnMgb3IgYW55IFwKK290aGVyIHRvb2xzIHRoYXQgbmVlZCBhbiBpbnRpbWF0ZSBrbm93bGVkZ2Ugb2YgUlBNIHBhY2thZ2VzIGluIG9yZGVyIFwKK3RvIGZ1bmN0aW9uLiIKKworU1VNTUFSWV9weXRob24zLXJwbSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGFwcHMgd2hpY2ggd2lsbCBtYW51cHVsYXRlIFJQTSBwYWNrYWdlcyIKK0RFU0NSSVBUSU9OX3B5dGhvbjMtcnBtID0gIlRoZSBweXRob24zLXJwbSBwYWNrYWdlIGNvbnRhaW5zIGEgbW9kdWxlIHRoYXQgcGVybWl0cyBhcHBsaWNhdGlvbnMgXAord3JpdHRlbiBpbiB0aGUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdlIHRvIHVzZSB0aGUgaW50ZXJmYWNlIFwKK3N1cHBsaWVkIGJ5IHRoZSBSUE0gUGFja2FnZSBNYW5hZ2VyIGxpYnJhcmllcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cucnBtLm9yZyIKKworIyBsaWJyYXJpZXMgYXJlIGFsc28gTEdQTCAtIGhvdyB0byBleHByZXNzIHRoaXM/CitMSUNFTlNFID0gIkdQTC0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGJmMDE3YzBmZDE5MjBlNjE1OGEzMzNhY2FiZmQ0YSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L3JwbTticmFuY2g9cnBtLTQuMTQueCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtYW4tdW5zYXRpc2ZpYWJsZS1kZXBlbmRlbmN5LXdoZW4tYnVpbGRpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVhZC1jb25maWctZmlsZXMtZnJvbS1IT01FLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1jcm9zcy1pbnN0YWxsaW5nLWV4ZWN1dGUtcGFja2FnZS1zY3JpcHRsZXRzLXdpdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1yZXNldC10aGUtUEFUSC1lbnZpcm9ubWVudC12YXJpYWJsZS1iZWZvcmUtcnUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtc3VwcG9ydC1mb3ItcHJlZml4aW5nLWV0Yy1mcm9tLVJQTV9FVENDT05GSUdESVItLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1ycG0tYXMtdGhlLWluc3RhbGxhdGlvbi1wYXRoLWZvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtY29sb3Itc2V0dGluZy1mb3ItbWlwczY0X24zMi1iaW5hcmllcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDExLURvLW5vdC1yZXF1aXJlLXRoYXQtRUxGLWJpbmFyaWVzLWFyZS1leGVjdXRhYmxlLXRvLWIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1TcGxpdC1iaW5hcnktcGFja2FnZS1idWlsZGluZy1pbnRvLWEtc2VwYXJhdGUtZnVuY3RpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItUnVuLWJpbmFyeS1wYWNrYWdlLWNyZWF0aW9uLXZpYS10aHJlYWQtcG9vbHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1ycG1zdHJwb29sLmMtbWFrZS1vcGVyYXRpb25zLW92ZXItc3RyaW5nLXBvb2xzLXRocmVhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtcGFjay5jLXJlbW92ZS1zdGF0aWMtbG9jYWwtdmFyaWFibGVzLWZyb20tYnVpbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBlcmwtZGlzYWJsZS1hdXRvLXJlcXMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1ycG0tcnBtaW8uYy1yZXN0cmljdC12aXJ0dWFsLW1lbW9yeS11c2FnZS1pZi1saW1pdC1zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMTYtcnBtc2NyaXB0LmMtY2hhbmdlLWxvZ2dpbmctbGV2ZWwtYXJvdW5kLXNjcmlwdGxldHMtdC5wYXRjaCBcCisgICAgICAgICAgICIKKworUEUgPSAiMSIKK1NSQ1JFViA9ICI0YTk0NDAwMDYzOTg2NDY1ODNmMGQ5YWUxODM3ZGFkMjg3NTAxM2FhIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitERVBFTkRTID0gIm5zcyBsaWJhcmNoaXZlIGRiIGZpbGUgcG9wdCB4eiBiemlwMiBkYnVzIGVsZnV0aWxzIHB5dGhvbjMiCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIGJ6aXAyLXJlcGxhY2VtZW50LW5hdGl2ZSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgcHl0aG9uM25hdGl2ZQorZXhwb3J0IFBZVEhPTl9BQkkKKworIyBPRS1jb3JlIHBhdGNoZXMgYXV0b3JlY29uZiB0byBhZGRpdGlvbmFsbHkgcnVuIGdudS1jb25maWdpemUsIHdoaWNoIGZhaWxzIHdpdGggdGhpcyByZWNpcGUKK0VYVFJBX0FVVE9SRUNPTkZfYXBwZW5kID0gIiAtLWV4Y2x1ZGU9Z251LWNvbmZpZ2l6ZSIKKworRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS13aXRob3V0LWx1YSAtLWVuYWJsZS1weXRob24iCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLW5scyIKKworIyAtLXN5c2NvbmZkaXIgcHJldmVudHMgcnBtIGZyb20gYXR0ZW1wdGluZyB0byBhY2Nlc3MgbWFjaGluZS1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGluIHN5c3Jvb3QvZXRjOyB3ZSBuZWVkIHRvIGhhdmUgaXQgaW4gcm9vdGZzCisjCisjIC0tbG9jYWxzdGF0ZWRpciBwcmV2ZW50cyBycG0gZnJvbSB3cml0aW5nIGl0cyBkYXRhYmFzZSB0byBuYXRpdmUgc3lzcm9vdCB3aGVuIGJ1aWxkaW5nIGltYWdlcworIworIyBEaXNhYmxlIGRidXMgZm9yIG5hdGl2ZSwgc28gdGhhdCBycG0gZG9lc24ndCBhdHRlbXB0IHRvIGluaGliaXQgc2h1dGRvd24gdmlhIHNlc3Npb24gZGJ1cyBldmVuIHdoZW4gcGx1Z2lucyBzdXBwb3J0IGlzIGVuYWJsZWQuCisjIEFsc28gZGlzYWJsZSBwbHVnaW5zIGJ5IGRlZmF1bHQgZm9yIG5hdGl2ZS4KK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKK0VYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAtLXN5c2NvbmZkaXI9L2V0YyAtLWxvY2Fsc3RhdGVkaXI9L3ZhciAtLWRpc2FibGUtcGx1Z2lucyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tpbWFldm1dID0gIi0td2l0aC1pbWFldm0sLGltYS1ldm0tdXRpbHMiCisKK0FTTkVFREVEID0gIiIKKworIyBEaXJlY3QgcnBtLW5hdGl2ZSB0byByZWFkIGNvbmZpZ3VyYXRpb24gZnJvbSBvdXIgc3lzcm9vdCwgbm90IHRoZSBvbmUgaXQgd2FzIGNvbXBpbGVkIGluCisjIGxpYm1hZ2ljIGFsc28gaGFzIHN5c3Jvb3QgcGF0aCBjb250YW1pbmF0aW9uLCBzbyBvdmVycmlkZSBpdAorCitXUkFQUEVSX1RPT0xTID0gIiBcCisgICAke2JpbmRpcn0vcnBtIFwKKyAgICR7YmluZGlyfS9ycG0yYXJjaGl2ZSBcCisgICAke2JpbmRpcn0vcnBtMmNwaW8gXAorICAgJHtiaW5kaXJ9L3JwbWJ1aWxkIFwKKyAgICR7YmluZGlyfS9ycG1kYiBcCisgICAke2JpbmRpcn0vcnBtZ3JhcGggXAorICAgJHtiaW5kaXJ9L3JwbWtleXMgXAorICAgJHtiaW5kaXJ9L3JwbXNpZ24gXAorICAgJHtiaW5kaXJ9L3JwbXNwZWMgXAorICAgJHtsaWJkaXJ9L3JwbS9ycG1kZXBzIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbworICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9ycG0gXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX0VUQ0NPTkZJR0RJUj0ke1NUQUdJTkdfRElSX05BVElWRX0gXAorICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9JHtTVEFHSU5HX0RJUl9OQVRJVkV9JHtkYXRhZGlyX25hdGl2ZX0vbWlzYy9tYWdpYy5tZ2MgXAorICAgICAgICAgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCisgICAgICAgIGRvbmUKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgICAgICBmb3IgdG9vbCBpbiAke1dSQVBQRVJfVE9PTFN9OyBkbworICAgICAgICAgICAgICAgIGNyZWF0ZV93cmFwcGVyICR7RH0kdG9vbCBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fQ09ORklHRElSPSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignbGliZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L3JwbSBcCisgICAgICAgICAgICAgICAgICAgICAgICBSUE1fRVRDQ09ORklHRElSPSckJ3tSUE1fRVRDQ09ORklHRElSLSdgZGlybmFtZSAkJydyZWFscGF0aGAnLyR7QG9zLnBhdGgucmVscGF0aChkLmdldFZhcignc3lzY29uZmRpcicpLCBkLmdldFZhcignYmluZGlyJykpfS8uLn0gXAorICAgICAgICAgICAgICAgICAgICAgICAgTUFHSUM9J2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdkYXRhZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9L21pc2MvbWFnaWMubWdjIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9OT19DSFJPT1RfRk9SX1NDUklQVFM9MQorICAgICAgICBkb25lCisKKyAgICAgICAgcm0gLXJmICR7RH0vdmFyCit9CisKKyMgUnBtJ3MgbWFrZSBpbnN0YWxsIGNyZWF0ZXMgdmFyL3RtcCB3aGljaCBjbGFzaGVzIHdpdGggYmFzZS1maWxlcyBwYWNrYWdpbmcKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBybSAtcmYgJHtEfS92YXIKK30KKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCXNlZCAtaSAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorCSAgICAke0R9LyR7bGliZGlyfS9ycG0vbWFjcm9zCisKKwlzZWQgLWkgLWUgJ3N8L3Vzci9iaW4vcHl0aG9ufCR7VVNSQklOUEFUSH0vZW52ICR7UFlUSE9OX1BOfXwnIFwKKwkgICAgJHtEfSR7bGliZGlyfS9ycG0vcHl0aG9uZGlzdGRlcHMucHkgXAorCSAgICAke0R9JHtsaWJkaXJ9L3JwbS9weXRob24tbWFjcm8taGVscGVyCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vcnBtLXBsdWdpbnMvKi5zbyBcCisgICAgICAgICAgICAgICAiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3JwbS1wbHVnaW5zLyoubGEgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VTICs9ICJweXRob24zLXJwbSIKK1BST1ZJREVTICs9ICJweXRob24zLXJwbSIKK0ZJTEVTX3B5dGhvbjMtcnBtID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L3JwbS8qIgorCisjIHJwbSA1Lnggd2FzIHBhY2thZ2luZyB0aGUgcnBtIGJ1aWxkIHRvb2xzIHNlcGFyYXRlbHkKK1JQUk9WSURFU18ke1BOfSArPSAicnBtLWJ1aWxkIgorCitSREVQRU5EU18ke1BOfSA9ICJiYXNoIHBlcmwgcHl0aG9uMy1jb3JlIgorCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gInJwbV9wYWNrYWdlX3ByZXByb2Nlc3MiCisKKyMgRG8gbm90IHNwZWNpZnkgYSBzeXNyb290IHdoZW4gY29tcGlsaW5nIG9uIGEgdGFyZ2V0LgorcnBtX3BhY2thZ2VfcHJlcHJvY2VzcyAoKSB7CisJc2VkIC1pIC1lICdzOi0tc3lzcm9vdFteIF0qOjpnJyBcCisJICAgICR7UEtHRH0vJHtsaWJkaXJ9L3JwbS9tYWNyb3MKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3JwbS9ycG1fNC4xNC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1ZWYzZjQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnBtL3JwbV80LjE0LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTEgKzAsMCBAQAotU1VNTUFSWSA9ICJUaGUgUlBNIHBhY2thZ2UgbWFuYWdlbWVudCBzeXN0ZW0iCi1ERVNDUklQVElPTiA9ICJUaGUgUlBNIFBhY2thZ2UgTWFuYWdlciAoUlBNKSBpcyBhIHBvd2VyZnVsIGNvbW1hbmQgbGluZSBkcml2ZW4gXAotcGFja2FnZSBtYW5hZ2VtZW50IHN5c3RlbSBjYXBhYmxlIG9mIGluc3RhbGxpbmcsIHVuaW5zdGFsbGluZywgXAotdmVyaWZ5aW5nLCBxdWVyeWluZywgYW5kIHVwZGF0aW5nIHNvZnR3YXJlIHBhY2thZ2VzLiBFYWNoIHNvZnR3YXJlIFwKLXBhY2thZ2UgY29uc2lzdHMgb2YgYW4gYXJjaGl2ZSBvZiBmaWxlcyBhbG9uZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IFwKLXRoZSBwYWNrYWdlIGxpa2UgaXRzIHZlcnNpb24sIGEgZGVzY3JpcHRpb24sIGV0Yy4iCi0KLVNVTU1BUllfJHtQTn0tZGV2ID0gIkRldmVsb3BtZW50IGZpbGVzIGZvciBtYW5pcHVsYXRpbmcgUlBNIHBhY2thZ2VzIgotREVTQ1JJUFRJT05fJHtQTn0tZGV2ID0gIlRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgUlBNIEMgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzLiBUaGVzZSBcCi1kZXZlbG9wbWVudCBmaWxlcyB3aWxsIHNpbXBsaWZ5IHRoZSBwcm9jZXNzIG9mIHdyaXRpbmcgcHJvZ3JhbXMgdGhhdCBcCi1tYW5pcHVsYXRlIFJQTSBwYWNrYWdlcyBhbmQgZGF0YWJhc2VzLiBUaGVzZSBmaWxlcyBhcmUgaW50ZW5kZWQgdG8gXAotc2ltcGxpZnkgdGhlIHByb2Nlc3Mgb2YgY3JlYXRpbmcgZ3JhcGhpY2FsIHBhY2thZ2UgbWFuYWdlcnMgb3IgYW55IFwKLW90aGVyIHRvb2xzIHRoYXQgbmVlZCBhbiBpbnRpbWF0ZSBrbm93bGVkZ2Ugb2YgUlBNIHBhY2thZ2VzIGluIG9yZGVyIFwKLXRvIGZ1bmN0aW9uLiIKLQotU1VNTUFSWV9weXRob24zLXJwbSA9ICJQeXRob24gYmluZGluZ3MgZm9yIGFwcHMgd2hpY2ggd2lsbCBtYW51cHVsYXRlIFJQTSBwYWNrYWdlcyIKLURFU0NSSVBUSU9OX3B5dGhvbjMtcnBtID0gIlRoZSBweXRob24zLXJwbSBwYWNrYWdlIGNvbnRhaW5zIGEgbW9kdWxlIHRoYXQgcGVybWl0cyBhcHBsaWNhdGlvbnMgXAotd3JpdHRlbiBpbiB0aGUgUHl0aG9uIHByb2dyYW1taW5nIGxhbmd1YWdlIHRvIHVzZSB0aGUgaW50ZXJmYWNlIFwKLXN1cHBsaWVkIGJ5IHRoZSBSUE0gUGFja2FnZSBNYW5hZ2VyIGxpYnJhcmllcy4iCi0KLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucnBtLm9yZyIKLQotIyBsaWJyYXJpZXMgYXJlIGFsc28gTEdQTCAtIGhvdyB0byBleHByZXNzIHRoaXM/Ci1MSUNFTlNFID0gIkdQTC0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGJmMDE3YzBmZDE5MjBlNjE1OGEzMzNhY2FiZmQ0YSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3JwbS1zb2Z0d2FyZS1tYW5hZ2VtZW50L3JwbTticmFuY2g9cnBtLTQuMTQueCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1hZGQtYW4tdW5zYXRpc2ZpYWJsZS1kZXBlbmRlbmN5LXdoZW4tYnVpbGRpbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtcmVhZC1jb25maWctZmlsZXMtZnJvbS1IT01FLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1jcm9zcy1pbnN0YWxsaW5nLWV4ZWN1dGUtcGFja2FnZS1zY3JpcHRsZXRzLXdpdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLURvLW5vdC1yZXNldC10aGUtUEFUSC1lbnZpcm9ubWVudC12YXJpYWJsZS1iZWZvcmUtcnUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtc3VwcG9ydC1mb3ItcHJlZml4aW5nLWV0Yy1mcm9tLVJQTV9FVENDT05GSUdESVItLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWhhcmRjb2RlLWxpYi1ycG0tYXMtdGhlLWluc3RhbGxhdGlvbi1wYXRoLWZvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wtQy1saWJyYXJ5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWRkLWEtY29sb3Itc2V0dGluZy1mb3ItbWlwczY0X24zMi1iaW5hcmllcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLURvLW5vdC1yZXF1aXJlLXRoYXQtRUxGLWJpbmFyaWVzLWFyZS1leGVjdXRhYmxlLXRvLWIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1TcGxpdC1iaW5hcnktcGFja2FnZS1idWlsZGluZy1pbnRvLWEtc2VwYXJhdGUtZnVuY3RpLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItUnVuLWJpbmFyeS1wYWNrYWdlLWNyZWF0aW9uLXZpYS10aHJlYWQtcG9vbHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1ycG1zdHJwb29sLmMtbWFrZS1vcGVyYXRpb25zLW92ZXItc3RyaW5nLXBvb2xzLXRocmVhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtcGFjay5jLXJlbW92ZS1zdGF0aWMtbG9jYWwtdmFyaWFibGVzLWZyb20tYnVpbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXBlcmwtZGlzYWJsZS1hdXRvLXJlcXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1ycG0tcnBtaW8uYy1yZXN0cmljdC12aXJ0dWFsLW1lbW9yeS11c2FnZS1pZi1saW1pdC1zLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1QRSA9ICIxIgotU1JDUkVWID0gIjc1M2Y2OTQxZGMzMmU5NDA0N2I3Y2ZlNzEzZGRkNjA0YTgxMGI0ZGIiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLURFUEVORFMgPSAibnNzIGxpYmFyY2hpdmUgZGIgZmlsZSBwb3B0IHh6IGJ6aXAyIGRidXMgZWxmdXRpbHMgcHl0aG9uMyIKLURFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUgYnppcDItcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBweXRob24zbmF0aXZlCi1leHBvcnQgUFlUSE9OX0FCSQotCi0jIE9FLWNvcmUgcGF0Y2hlcyBhdXRvcmVjb25mIHRvIGFkZGl0aW9uYWxseSBydW4gZ251LWNvbmZpZ2l6ZSwgd2hpY2ggZmFpbHMgd2l0aCB0aGlzIHJlY2lwZQotRVhUUkFfQVVUT1JFQ09ORl9hcHBlbmQgPSAiIC0tZXhjbHVkZT1nbnUtY29uZmlnaXplIgotCi1FWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLXdpdGhvdXQtbHVhIC0tZW5hYmxlLXB5dGhvbiIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtbmxzIgotCi0jIC0tc3lzY29uZmRpciBwcmV2ZW50cyBycG0gZnJvbSBhdHRlbXB0aW5nIHRvIGFjY2VzcyBtYWNoaW5lLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gaW4gc3lzcm9vdC9ldGM7IHdlIG5lZWQgdG8gaGF2ZSBpdCBpbiByb290ZnMKLSMKLSMgLS1sb2NhbHN0YXRlZGlyIHByZXZlbnRzIHJwbSBmcm9tIHdyaXRpbmcgaXRzIGRhdGFiYXNlIHRvIG5hdGl2ZSBzeXNyb290IHdoZW4gYnVpbGRpbmcgaW1hZ2VzCi0jCi0jIERpc2FibGUgZGJ1cyBmb3IgbmF0aXZlLCBzbyB0aGF0IHJwbSBkb2Vzbid0IGF0dGVtcHQgdG8gaW5oaWJpdCBzaHV0ZG93biB2aWEgc2Vzc2lvbiBkYnVzIGV2ZW4gd2hlbiBwbHVnaW5zIHN1cHBvcnQgaXMgZW5hYmxlZC4KLSMgQWxzbyBkaXNhYmxlIHBsdWdpbnMgYnkgZGVmYXVsdCBmb3IgbmF0aXZlLgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIC0tc3lzY29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyIC0tZGlzYWJsZS1wbHVnaW5zIgotRVhUUkFfT0VDT05GX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiIC0tc3lzY29uZmRpcj0vZXRjIC0tbG9jYWxzdGF0ZWRpcj0vdmFyIC0tZGlzYWJsZS1wbHVnaW5zIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2ltYWV2bV0gPSAiLS13aXRoLWltYWV2bSwsaW1hLWV2bS11dGlscyIKLQotQVNORUVERUQgPSAiIgotCi0jIERpcmVjdCBycG0tbmF0aXZlIHRvIHJlYWQgY29uZmlndXJhdGlvbiBmcm9tIG91ciBzeXNyb290LCBub3QgdGhlIG9uZSBpdCB3YXMgY29tcGlsZWQgaW4KLSMgbGlibWFnaWMgYWxzbyBoYXMgc3lzcm9vdCBwYXRoIGNvbnRhbWluYXRpb24sIHNvIG92ZXJyaWRlIGl0Ci0KLVdSQVBQRVJfVE9PTFMgPSAiIFwKLSAgICR7YmluZGlyfS9ycG0gXAotICAgJHtiaW5kaXJ9L3JwbTJhcmNoaXZlIFwKLSAgICR7YmluZGlyfS9ycG0yY3BpbyBcCi0gICAke2JpbmRpcn0vcnBtYnVpbGQgXAotICAgJHtiaW5kaXJ9L3JwbWRiIFwKLSAgICR7YmluZGlyfS9ycG1ncmFwaCBcCi0gICAke2JpbmRpcn0vcnBta2V5cyBcCi0gICAke2JpbmRpcn0vcnBtc2lnbiBcCi0gICAke2JpbmRpcn0vcnBtc3BlYyBcCi0gICAke2xpYmRpcn0vcnBtL3JwbWRlcHMgXAotIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgICAgIGZvciB0b29sIGluICR7V1JBUFBFUl9UT09MU307IGRvCi0gICAgICAgICAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR0b29sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L3JwbSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fRVRDQ09ORklHRElSPSR7U1RBR0lOR19ESVJfTkFUSVZFfSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBNQUdJQz0ke1NUQUdJTkdfRElSX05BVElWRX0ke2RhdGFkaXJfbmF0aXZlfS9taXNjL21hZ2ljLm1nYyBcCi0gICAgICAgICAgICAgICAgICAgICAgICBSUE1fTk9fQ0hST09UX0ZPUl9TQ1JJUFRTPTEKLSAgICAgICAgZG9uZQotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7Ci0gICAgICAgIGZvciB0b29sIGluICR7V1JBUFBFUl9UT09MU307IGRvCi0gICAgICAgICAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfSR0b29sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9DT05GSUdESVI9J2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdsaWJkaXInKSwgZC5nZXRWYXIoJ2JpbmRpcicpKX0vcnBtIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIFJQTV9FVENDT05GSUdESVI9JyQne1JQTV9FVENDT05GSUdESVItJ2BkaXJuYW1lICQnJ3JlYWxwYXRoYCcvJHtAb3MucGF0aC5yZWxwYXRoKGQuZ2V0VmFyKCdzeXNjb25mZGlyJyksIGQuZ2V0VmFyKCdiaW5kaXInKSl9Ly4ufSBcCi0gICAgICAgICAgICAgICAgICAgICAgICBNQUdJQz0nYGRpcm5hbWUgJCcncmVhbHBhdGhgJy8ke0Bvcy5wYXRoLnJlbHBhdGgoZC5nZXRWYXIoJ2RhdGFkaXInKSwgZC5nZXRWYXIoJ2JpbmRpcicpKX0vbWlzYy9tYWdpYy5tZ2MgXAotICAgICAgICAgICAgICAgICAgICAgICAgUlBNX05PX0NIUk9PVF9GT1JfU0NSSVBUUz0xCi0gICAgICAgIGRvbmUKLQotICAgICAgICBybSAtcmYgJHtEfS92YXIKLX0KLQotIyBScG0ncyBtYWtlIGluc3RhbGwgY3JlYXRlcyB2YXIvdG1wIHdoaWNoIGNsYXNoZXMgd2l0aCBiYXNlLWZpbGVzIHBhY2thZ2luZwotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgIHJtIC1yZiAke0R9L3ZhcgotfQotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0Jc2VkIC1pIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgICR7RH0vJHtsaWJkaXJ9L3JwbS9tYWNyb3MKLQotCXNlZCAtaSAtZSAnc3wvdXNyL2Jpbi9weXRob258JHtVU1JCSU5QQVRIfS9lbnYgJHtQWVRIT05fUE59fCcgXAotCSAgICAke0R9JHtsaWJkaXJ9L3JwbS9weXRob25kaXN0ZGVwcy5weSBcCi0JICAgICR7RH0ke2xpYmRpcn0vcnBtL3B5dGhvbi1tYWNyby1oZWxwZXIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9ycG0tcGx1Z2lucy8qLnNvIFwKLSAgICAgICAgICAgICAgICIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vcnBtLXBsdWdpbnMvKi5sYSBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotUEFDS0FHRVMgKz0gInB5dGhvbjMtcnBtIgotUFJPVklERVMgKz0gInB5dGhvbjMtcnBtIgotRklMRVNfcHl0aG9uMy1ycG0gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vcnBtLyoiCi0KLSMgcnBtIDUueCB3YXMgcGFja2FnaW5nIHRoZSBycG0gYnVpbGQgdG9vbHMgc2VwYXJhdGVseQotUlBST1ZJREVTXyR7UE59ICs9ICJycG0tYnVpbGQiCi0KLVJERVBFTkRTXyR7UE59ID0gImJhc2ggcGVybCBweXRob24zLWNvcmUiCi0KLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAicnBtX3BhY2thZ2VfcHJlcHJvY2VzcyIKLQotIyBEbyBub3Qgc3BlY2lmeSBhIHN5c3Jvb3Qgd2hlbiBjb21waWxpbmcgb24gYSB0YXJnZXQuCi1ycG1fcGFja2FnZV9wcmVwcm9jZXNzICgpIHsKLQlzZWQgLWkgLWUgJ3M6LS1zeXNyb290W14gXSo6OmcnIFwKLQkgICAgJHtQS0dEfS8ke2xpYmRpcn0vcnBtL21hY3JvcwotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieS5pbmMKaW5kZXggNWE1YmVmMi4uZWFmNWQxMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkuaW5jCkBAIC0xNSw3ICsxNSw3IEBACiAiCiAKIERFUEVORFMgPSAicnVieS1uYXRpdmUgemxpYiBvcGVuc3NsIHRjbCBsaWJ5YW1sIGdkYm0gcmVhZGxpbmUiCi1ERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJvcGVuc3NsLW5hdGl2ZSBsaWJ5YW1sLW5hdGl2ZSIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gIm9wZW5zc2wtbmF0aXZlIGxpYnlhbWwtbmF0aXZlIHJlYWRsaW5lLW5hdGl2ZSIKIAogU0hSVF9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKIFNSQ19VUkkgPSAiaHR0cDovL2NhY2hlLnJ1YnktbGFuZy5vcmcvcHViL3J1YnkvJHtTSFJUX1ZFUn0vcnVieS0ke1BWfS50YXIuZ3ogXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5L0NWRS0yMDE4LTEwMDAwNzMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkvQ1ZFLTIwMTgtMTAwMDA3My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjJmYTFiNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnkvQ1ZFLTIwMTgtMTAwMDA3My5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZyb20gMWI5MzFmYzAzYjgxOWI5YTAyMTRiZTNlYWNhODQ0ZWY1MzQxNzVlMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpvbmF0aGFuIENsYXVkaXVzIDxqY2xhdWRpdXNAbW96aWxsYS5jb20+Ci1EYXRlOiBXZWQsIDcgRmViIDIwMTggMjM6NTQ6NTIgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gTm9uLXdvcmtpbmcgcGF0Y2ggZm9yIGRlZHVjaW5nIHN5bWxpbmtlZCBiYXNlLWRpcnMKLQotLS0tCi1DVkU6IENWRS0yMDE4LTEwMDAwNzMKLQotRml4ZWQgaW4gcnVieSAyLjcuNi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0aHViLmNvbS9ydWJ5Z2Vtcy9ydWJ5Z2Vtcy9jb21taXQvMWI5MzFmYy4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgotCi0tLS0KLSBsaWIvcnVieWdlbXMvcGFja2FnZS5yYiB8ICAgIDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9saWIvcnVieWdlbXMvcGFja2FnZS5yYiBiL2xpYi9ydWJ5Z2Vtcy9wYWNrYWdlLnJiCi1pbmRleCBkZWRlOTU5Li5jYjljNzRhIDEwMDY0NAotLS0tIGEvbGliL3J1YnlnZW1zL3BhY2thZ2UucmIKLSsrKyBiL2xpYi9ydWJ5Z2Vtcy9wYWNrYWdlLnJiCi1AQCAtNDIxLDYgKzQyMSw4IEBAIEVPTQotICAgICBkZXN0aW5hdGlvbl9kaXIgPSBGaWxlLmV4cGFuZF9wYXRoIGRlc3RpbmF0aW9uX2RpcgotIAotICAgICBkZXN0aW5hdGlvbiA9IEZpbGUuam9pbiBkZXN0aW5hdGlvbl9kaXIsIGZpbGVuYW1lCi0rICAgIGRlc3RpbmF0aW9uID0gRmlsZS5yZWFscGF0aCBkZXN0aW5hdGlvbiBpZgotKyAgICAgIEZpbGUucmVzcG9uZF90bz8gOnJlYWxwYXRoCi0gICAgIGRlc3RpbmF0aW9uID0gRmlsZS5leHBhbmRfcGF0aCBkZXN0aW5hdGlvbgotIAotICAgICByYWlzZSBHZW06OlBhY2thZ2U6OlBhdGhFcnJvci5uZXcoZGVzdGluYXRpb24sIGRlc3RpbmF0aW9uX2RpcikgdW5sZXNzCi0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5XzIuNS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvcnVieS9ydWJ5XzIuNS4zLmJiCmluZGV4IGU5ZjA0NTMuLjNmYjQyN2UgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3J1YnkvcnVieV8yLjUuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9ydWJ5L3J1YnlfMi41LjMuYmIKQEAgLTMsNyArMyw2IEBACiBTUkNfVVJJICs9ICIgXAogICAgICAgICAgICBmaWxlOi8vcnVieS1DVkUtMjAxNy05MjI2LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3J1YnktQ1ZFLTIwMTctOTIyOC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwMDczLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMjBjODViNjc4NDZkNDk2MjJlZjNiMjQyMzA4MDNmZWYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zcXVhc2hmcy10b29scy9zcXVhc2hmcy10b29sc19naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zcXVhc2hmcy10b29scy9zcXVhc2hmcy10b29sc19naXQuYmIKaW5kZXggMmY0MTI2My4uZTg3MWYxYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3F1YXNoZnMtdG9vbHMvc3F1YXNoZnMtdG9vbHNfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3NxdWFzaGZzLXRvb2xzL3NxdWFzaGZzLXRvb2xzX2dpdC5iYgpAQCAtMiwxNiArMiwxMiBAQAogIyBhbmQgSSBkb24ndCB0aGluayB0aGUga2VybmVsIHN1cHBvcnRzIGl0IGFueSBtb3JlLgogU1VNTUFSWSA9ICJUb29scyBmb3IgbWFuaXB1bGF0aW5nIFNxdWFzaEZTIGZpbGVzeXN0ZW1zIgogU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEwtMiAmIFBEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vLi4vLi4vN3pDLnR4dDtiZWdpbmxpbmU9MTI7ZW5kbGluZT0xNjttZDU9MjA1NmNkNmQ5MTllYmMzODA3NjAyMTQzYzc0NDlhN2MgXAotIgotREVQRU5EUyA9ICJhdHRyIHpsaWIgeHogbHpvIGx6NCIKK0xJQ0VOU0UgPSAiR1BMLTIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKIAogUFYgPSAiNC4zK2dpdHIke1NSQ1BWfSIKIFNSQ1JFViA9ICI5YzFkYjZkMTNhNTFhMmUwMDlmMDAyN2VmMzM2Y2UwMzYyNGVhYzBkIgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3Bsb3VnaGVyL3NxdWFzaGZzLXRvb2xzLmdpdDtwcm90b2NvbD1odHRwcyBcCi0gICAgICAgICAgIGh0dHA6Ly9kb3dubG9hZHMuc291cmNlZm9yZ2UubmV0L3NldmVuemlwL2x6bWE0NjUudGFyLmJ6MjtuYW1lPWx6bWEgXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1ta3NxdWFzaGZzLmMtZ2V0LWlubGluZS1mdW5jdGlvbnMtd29yay13aXRoLUM5OS5wYXRjaDtzdHJpcGxldmVsPTIgXAogICAgICAgICAgICBmaWxlOi8vc3F1YXNoZnMtdG9vbHMtNC4zLXN5c21hY3Jvcy5wYXRjaDtzdHJpcGxldmVsPTIgXAogICAgICAgICAgICBmaWxlOi8vZml4LWNvbXBhdC5wYXRjaCBcCkBAIC0yMywxNCArMTksMjAgQEAKIAogUyA9ICIke1dPUktESVJ9L2dpdC9zcXVhc2hmcy10b29scyIKIAotIyBFWFRSQV9PRU1BS0UgaXMgdHlwaWNhbGx5OiAtZSBNQUtFRkxBR1M9Ci0jIHRoZSAtZSBjYXVzZXMgcHJvYmxlbXMgYXMgQ0ZMQUdTIGlzIG1vZGlmaWVkIGluIHRoZSBNYWtlZmlsZSwgc28KLSMgd2UgcmVkZWZpbmUgRVhUUkFfT0VNQUtFIGhlcmUKLUVYVFJBX09FTUFLRSA9ICJNQUtFRkxBR1M9IExaTUFfU1VQUE9SVD0xIExaTUFfRElSPS4uLy4uIFhaX1NVUFBPUlQ9MSBMWk9fU1VQUE9SVD0xIExaNF9TVVBQT1JUPTEiCitFWFRSQV9PRU1BS0UgPSAiJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImd6aXAgeHogbHpvIGx6NCBsem1hIHhhdHRyIgorUEFDS0FHRUNPTkZJR1tnemlwXSA9ICJHWklQX1NVUFBPUlQ9MSxHWklQX1NVUFBPUlQ9MCx6bGliIgorUEFDS0FHRUNPTkZJR1t4el0gPSAiWFpfU1VQUE9SVD0xLFhaX1NVUFBPUlQ9MCx4eiIKK1BBQ0tBR0VDT05GSUdbbHpvXSA9ICJMWk9fU1VQUE9SVD0xLExaT19TVVBQT1JUPTAsbHpvIgorUEFDS0FHRUNPTkZJR1tsejRdID0gIkxaNF9TVVBQT1JUPTEsTFo0X1NVUFBPUlQ9MCxsejQiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIkxaTUFfWFpfU1VQUE9SVD0xLExaTUFfWFpfU1VQUE9SVD0wLHh6IgorUEFDS0FHRUNPTkZJR1t4YXR0cl0gPSAiWEFUVFJfU1VQUE9SVD0xLFhBVFRSX1NVUFBPUlQ9MCxhdHRyIgogCiBkb19jb21waWxlKCkgewogCW9lX3J1bm1ha2UgbWtzcXVhc2hmcyB1bnNxdWFzaGZzCiB9CisKIGRvX2luc3RhbGwgKCkgewogCWluc3RhbGwgLWQgJHtEfSR7c2JpbmRpcn0KIAlpbnN0YWxsIC1tIDA3NTUgbWtzcXVhc2hmcyAke0R9JHtzYmluZGlyfS8KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1GaXgtYnVpbGQtd2hlbi11c2luZy1ub24tZ2xpYmMtbGliYy1pbXBsZW1lbnRhdGlvbi1vLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKaW5kZXggN2Y1OTIxMC4uZGFhZmNlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLUZpeC1idWlsZC13aGVuLXVzaW5nLW5vbi1nbGliYy1saWJjLWltcGxlbWVudGF0aW9uLW8ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDFmMGMyMmI3OTA0NWNmY2RjOTc2NjQzZjM4M2MxZDA5NTg5ZDMwODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGFmMWZkY2U3OGJmZjQzNDNmM2M4NGVhMTE4YWJkYzNjNzM5ZmM2NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogU2F0LCAzMCBBcHIgMjAxNiAxNjoyMzo1NiArMDAwMAogU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgd2hlbiB1c2luZyBub24tZ2xpYmMgbGliYyBpbXBsZW1lbnRhdGlvbiBvbiBwcGMKQEAgLTgsMTUgKzgsMTYgQEAKIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCiAtLS0KICBwdHJhY2UuaCB8IDggKysrKysrKy0KICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9wdHJhY2UuaCBiL3B0cmFjZS5oCi1pbmRleCBkOGFmOTc2Li40OTc4YTY5IDEwMDY0NAoraW5kZXggODlkNGI5NS4uYjNmNDViYiAxMDA2NDQKIC0tLSBhL3B0cmFjZS5oCiArKysgYi9wdHJhY2UuaAotQEAgLTUyLDcgKzUyLDEzIEBAIGV4dGVybiBsb25nIHB0cmFjZShpbnQsIGludCwgY2hhciAqLCBsb25nKTsKK0BAIC0zMCw3ICszMCwxMyBAQAogICMgZGVmaW5lIHB0cmFjZV9wZWVrc2lnaW5mb19hcmdzIFhYWF9wdHJhY2VfcGVla3NpZ2luZm9fYXJncwogICNlbmRpZgogIApAQCAtMzEsNiArMzIsMyBAQAogIAogICNpZmRlZiBIQVZFX1NUUlVDVF9JQTY0X0ZQUkVHCiAgIyB1bmRlZiBpYTY0X2ZwcmVnCi0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaAppbmRleCA0ZjEzNzA2Li41MmQyY2RjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtY2Fwcy1hYmJyZXYuYXdrLWZpeC1nYXdrLXMtcGF0aC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gODM3NTc1MjNjNTA3NDhlYTg0NWMxZTIyMGIxYzNiMjA4MGQzY2M0OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZDIyNWFhYTg4NDFmNDdiYThhYTdiMzUzYjBhYzMwMjhkNTkxM2VmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogRGF0ZTogVGh1LCA5IEZlYiAyMDE3IDAxOjI3OjQ5IC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIGNhcHMtYWJicmV2LmF3azogZml4IGdhd2sncyBwYXRoCkBAIC04LDYgKzgsNyBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorCiAtLS0KICB0ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrICB8IDIgKy0KICB0ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3ayB8IDIgKy0KQEAgLTE1LDcgKzE2LDcgQEAKICAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sgYi90ZXN0cy1tMzIvY2Fwcy1hYmJyZXYuYXdrCi1pbmRleCA4NmRlN2YyLi4wNTM1Y2FjIDEwMDY0NAoraW5kZXggYzAwMDIzYi4uYTU2Y2Q1NiAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sKICsrKyBiL3Rlc3RzLW0zMi9jYXBzLWFiYnJldi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMjUsNyArMjYsNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sgYi90ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3awotaW5kZXggODZkZTdmMi4uMDUzNWNhYyAxMDA2NDQKK2luZGV4IGMwMDAyM2IuLmE1NmNkNTYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL2NhcHMtYWJicmV2LmF3awogKysrIGIvdGVzdHMtbXgzMi9jYXBzLWFiYnJldi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMzUsNyArMzYsNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrIGIvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrCi1pbmRleCA4NmRlN2YyLi4wNTM1Y2FjIDEwMDY0NAoraW5kZXggYzAwMDIzYi4uYTU2Y2Q1NiAxMDA2NDQKIC0tLSBhL3Rlc3RzL2NhcHMtYWJicmV2LmF3awogKysrIGIvdGVzdHMvY2Fwcy1hYmJyZXYuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTQ0LDYgKzQ1LDMgQEAKICAjCiAgIyBUaGlzIGZpbGUgaXMgcGFydCBvZiBjYXBzIHN0cmFjZSB0ZXN0LgogICMKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvMDAwMS1taXBzLW8zMi1maXgtYnVpbGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZGNjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK0Zyb20gMmM4YjZkZTkxMzk3MzI3NGU4Nzc2Mzk2NThlOWU3MjczYTAxMmFkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJEbWl0cnkgVi4gTGV2aW4iIDxsZHZAYWx0bGludXgub3JnPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDE5OjIzOjQ0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1pcHMgbzMyOiBmaXggYnVpbGQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitDb21taXQgOTE3YzJjY2YzYTY3ICJSZWZhY3RvciBzdGFjayBwb2ludGVycyIgbW92ZWQgbWlwc19SRUdfKiBtYWNyb3MKK2Zyb20gbGludXgvbWlwcy9hcmNoX3JlZ3MuaCB0byBsaW51eC9taXBzL2FyY2hfcmVncy5jIGJlY2F1c2UgdGhlc2UKK21hY3JvcyBhcmUgbm8gbG9uZ2VyIHVzZWQgb3V0c2lkZSBzeXNjYWxsLmMgb3IgZmlsZXMgaW5jbHVkZWQgYnkKK3N5c2NhbGwuYywgYnV0IHRoaXMgY2F1c2VkIGEgYnVpbGQgcmVncmVzc2lvbiBvbiBtaXBzIG8zMiBiZWNhdXNlCitkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKCkgdXNlcyBtaXBzX1JFR19TUCBwcmlvciB0byBpdHMgZGVmaW5pdGlvbi4KKworKiBzeXNjYWxsLmMgKGRlY29kZV9zeXNjYWxsX3N1YmNhbGwpOiBNb3ZlIC4uLgorKiBsaW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYzogLi4uIGhlcmUuCisKK1JlcG9ydGVkLWJ5OiBCYXJ1Y2ggU2lhY2ggPGJhcnVjaEB0a29zLmNvLmlsPgorRml4ZXM6IHY0LjI2fjYxICJSZWZhY3RvciBzdGFjayBwb2ludGVycyIKKy0tLQorIGxpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzeXNjYWxsLmMgICAgICAgICAgICAgICAgICAgICB8IDI3ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYyBiL2xpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCitpbmRleCAzODdhYTg1Mi4uZTI4ODlmOTggMTAwNjQ0CistLS0gYS9saW51eC9taXBzL2dldF9zeXNjYWxsX2FyZ3MuYworKysrIGIvbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMKK0BAIC0zNywzICszNywyOSBAQCBhcmNoX2dldF9zeXNjYWxsX2FyZ3Moc3RydWN0IHRjYiAqdGNwKQorICNlbmRpZgorIAlyZXR1cm4gMTsKKyB9CisrCisrI2lmZGVmIFNZU19zeXNjYWxsX3N1YmNhbGwKKytzdGF0aWMgdm9pZAorK2RlY29kZV9zeXNjYWxsX3N1YmNhbGwoc3RydWN0IHRjYiAqdGNwKQorK3sKKysJaWYgKCFzY25vX2lzX3ZhbGlkKHRjcC0+dV9hcmdbMF0pKQorKwkJcmV0dXJuOworKwl0Y3AtPnNjbm8gPSB0Y3AtPnVfYXJnWzBdOworKwl0Y3AtPnF1YWxfZmxnID0gcXVhbF9mbGFncyh0Y3AtPnNjbm8pOworKwl0Y3AtPnNfZW50ID0gJnN5c2VudFt0Y3AtPnNjbm9dOworKwltZW1tb3ZlKCZ0Y3AtPnVfYXJnWzBdLCAmdGNwLT51X2FyZ1sxXSwKKysJCXNpemVvZih0Y3AtPnVfYXJnKSAtIHNpemVvZih0Y3AtPnVfYXJnWzBdKSk7CisrCS8qCisrCSAqIEZldGNoaW5nIHRoZSBsYXN0IGFyZyBvZiA3LWFyZyBzeXNjYWxscyAoZmFkdmlzZTY0XzY0CisrCSAqIGFuZCBzeW5jX2ZpbGVfcmFuZ2UpIHJlcXVpcmVzIGFkZGl0aW9uYWwgY29kZSwKKysJICogc2VlIGxpbnV4L21pcHMvZ2V0X3N5c2NhbGxfYXJncy5jCisrCSAqLworKwlpZiAodGNwLT5zX2VudC0+bmFyZ3MgPT0gTUFYX0FSR1MpIHsKKysJCWlmICh1bW92ZW4odGNwLAorKwkJCSAgIG1pcHNfUkVHX1NQICsgTUFYX0FSR1MgKiBzaXplb2YodGNwLT51X2FyZ1swXSksCisrCQkJICAgc2l6ZW9mKHRjcC0+dV9hcmdbMF0pLAorKwkJCSAgICZ0Y3AtPnVfYXJnW01BWF9BUkdTIC0gMV0pIDwgMCkKKysJCXRjcC0+dV9hcmdbTUFYX0FSR1MgLSAxXSA9IDA7CisrCX0KKyt9CisrI2VuZGlmIC8qIFNZU19zeXNjYWxsX3N1YmNhbGwgKi8KK2RpZmYgLS1naXQgYS9zeXNjYWxsLmMgYi9zeXNjYWxsLmMKK2luZGV4IGQ3OGY1MWRkLi41MWZjYzcyMSAxMDA2NDQKKy0tLSBhL3N5c2NhbGwuYworKysrIGIvc3lzY2FsbC5jCitAQCAtMzQ5LDMxICszNDksOCBAQCBkZWNvZGVfaXBjX3N1YmNhbGwoc3RydWN0IHRjYiAqdGNwKQorICNlbmRpZiAvKiBTWVNfaXBjX3N1YmNhbGwgKi8KKyAKKyAjaWZkZWYgU1lTX3N5c2NhbGxfc3ViY2FsbAorLXN0YXRpYyB2b2lkCistZGVjb2RlX3N5c2NhbGxfc3ViY2FsbChzdHJ1Y3QgdGNiICp0Y3ApCisteworLQlpZiAoIXNjbm9faXNfdmFsaWQodGNwLT51X2FyZ1swXSkpCistCQlyZXR1cm47CistCXRjcC0+c2NubyA9IHRjcC0+dV9hcmdbMF07CistCXRjcC0+cXVhbF9mbGcgPSBxdWFsX2ZsYWdzKHRjcC0+c2Nubyk7CistCXRjcC0+c19lbnQgPSAmc3lzZW50W3RjcC0+c2Nub107CistCW1lbW1vdmUoJnRjcC0+dV9hcmdbMF0sICZ0Y3AtPnVfYXJnWzFdLAorLQkJc2l6ZW9mKHRjcC0+dV9hcmcpIC0gc2l6ZW9mKHRjcC0+dV9hcmdbMF0pKTsKKy0jIGlmZGVmIExJTlVYX01JUFNPMzIKKy0JLyoKKy0JICogRmV0Y2hpbmcgdGhlIGxhc3QgYXJnIG9mIDctYXJnIHN5c2NhbGxzIChmYWR2aXNlNjRfNjQKKy0JICogYW5kIHN5bmNfZmlsZV9yYW5nZSkgcmVxdWlyZXMgYWRkaXRpb25hbCBjb2RlLAorLQkgKiBzZWUgbGludXgvbWlwcy9nZXRfc3lzY2FsbF9hcmdzLmMKKy0JICovCistCWlmICh0Y3AtPnNfZW50LT5uYXJncyA9PSBNQVhfQVJHUykgeworLQkJaWYgKHVtb3Zlbih0Y3AsCistCQkJICAgbWlwc19SRUdfU1AgKyBNQVhfQVJHUyAqIHNpemVvZih0Y3AtPnVfYXJnWzBdKSwKKy0JCQkgICBzaXplb2YodGNwLT51X2FyZ1swXSksCistCQkJICAgJnRjcC0+dV9hcmdbTUFYX0FSR1MgLSAxXSkgPCAwKQorLQkJdGNwLT51X2FyZ1tNQVhfQVJHUyAtIDFdID0gMDsKKy0JfQorLSMgZW5kaWYgLyogTElOVVhfTUlQU08zMiAqLworLX0KKysvKiBUaGUgaW1wbGVtZW50YXRpb24gaXMgYXJjaGl0ZWN0dXJlIHNwZWNpZmljLiAgKi8KKytzdGF0aWMgdm9pZCBkZWNvZGVfc3lzY2FsbF9zdWJjYWxsKHN0cnVjdCB0Y2IgKik7CisgI2VuZGlmIC8qIFNZU19zeXNjYWxsX3N1YmNhbGwgKi8KKyAKKyBzdGF0aWMgdm9pZAorLS0gCisyLjE3LjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS8wMDAxLXRlc3RzLXNpZ2FjdGlvbi1DaGVjay1mb3ItbWlwcy1hbmQtYWxwaGEtYmVmb3JlLXVzaW4ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaAppbmRleCA1MjA5NmIyLi5iZWNlZTc5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlLzAwMDEtdGVzdHMtc2lnYWN0aW9uLUNoZWNrLWZvci1taXBzLWFuZC1hbHBoYS1iZWZvcmUtdXNpbi5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOWYzZmQzODhhZTdjNDY0MjBiY2NiYTQwNTQ2ODY5MGVkNDZkNjY5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gODc5YWU3MWM0NzJjZTUyMmYxYjM1MTRkMmFiZjZhZDQ5YjRhY2MwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IFNlcCAyMDE3IDIyOjUxOjMyIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIHRlc3RzL3NpZ2FjdGlvbjogQ2hlY2sgZm9yIG1pcHMgYW5kIGFscGhhIGJlZm9yZSB1c2luZwpAQCAtMTIsMTggKzEyLDE4IEBACiB8IC4uLy4uL3N0cmFjZS00LjE4L3Rlc3RzL3NpZ2FjdGlvbi5jOjE3NzozNjogZXJyb3I6ICdzdHJ1Y3Rfc2V0X3NhIHtha2Egc3RydWN0IHNldF9zYX0nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3Jlc3RvcmVyJwogfCAgIyBkZWZpbmUgU0FfUkVTVE9SRVJfQVJHUyAsIG5ld19hY3QtPnJlc3RvcmVyCiAKLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAorLS0tCiAgdGVzdHMvc2lnYWN0aW9uLmMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0cy9zaWdhY3Rpb24uYyBiL3Rlc3RzL3NpZ2FjdGlvbi5jCi1pbmRleCA3YjQ2OTQ0Li5mNDZjZGE3IDEwMDY0NAoraW5kZXggOTViZTE5Ny4uNTQ4MTlmOSAxMDA2NDQKIC0tLSBhL3Rlc3RzL3NpZ2FjdGlvbi5jCiArKysgYi90ZXN0cy9zaWdhY3Rpb24uYwotQEAgLTE3MCw3ICsxNzAsNyBAQCBtYWluKHZvaWQpCitAQCAtMTU2LDcgKzE1Niw3IEBAIG1haW4odm9pZCkKICAJc2lnZGVsc2V0KG1hc2subGliYywgU0lHSFVQKTsKICAKICAJbWVtY3B5KG5ld19hY3QtPm1hc2ssIG1hc2sub2xkLCBzaXplb2YobWFzay5vbGQpKTsKQEAgLTMyLDYgKzMyLDMgQEAKICAJbmV3X2FjdC0+ZmxhZ3MgPSBTQV9SRVNUT1JFUjsKICAJbmV3X2FjdC0+cmVzdG9yZXIgPSAodW5zaWduZWQgbG9uZykgMHhkZWFkZmFjZWNhZmVmMDBkVUxMOwogICMgZGVmaW5lIFNBX1JFU1RPUkVSX0ZNVCAiLCBzYV9mbGFncz1TQV9SRVNUT1JFUiwgc2FfcmVzdG9yZXI9JSNseCIKLS0tIAotMi4xNC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvTWFrZWZpbGUtcHRlc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL01ha2VmaWxlLXB0ZXN0LnBhdGNoCmluZGV4IDQ2MGI2ZTIuLjA4ZmE1YzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvTWFrZWZpbGUtcHRlc3QucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9NYWtlZmlsZS1wdGVzdC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMjA3ZmM3ODE0YmJlYjAyNDEzODIzMjkyMTVkMjFmZDNiNTcwNjZmOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWY1MDQwYjRmMTUwMDZhMjJhYzYzYTNiYWNmY2VhYzM2ZmZjMjA0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEdhYnJpZWwgQmFyYnUgPGdhYnJpZWwuYmFyYnVAZW5lYS5jb20+CiBEYXRlOiBUaHUsIDI1IEp1bCAyMDEzIDE1OjI4OjMzICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIHN0cmFjZTogQWRkIHB0ZXN0CkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQotaW5kZXggYTJmMzk1MC4uNGZhOTdlMiAxMDA2NDQKK2luZGV4IDgyNWM5ODkuLjQ2MjNjNDggMTAwNjQ0CiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQogKysrIGIvdGVzdHMvTWFrZWZpbGUuYW0KLUBAIC0zNCw2ICszNCw3IEBAIFNJWkVPRl9MT05HID0gQFNJWkVPRl9MT05HQAorQEAgLTE0LDYgKzE0LDcgQEAgU0laRU9GX0xPTkcgPSBAU0laRU9GX0xPTkdACiAgTVBFUlNfTkFNRSA9CiAgTVBFUlNfQ0NfRkxBR1MgPQogIEFSQ0hfTUZMQUdTID0KQEAgLTI1LDcgKzI1LDcgQEAKICBBTV9DRkxBR1MgPSAkKFdBUk5fQ0ZMQUdTKQogIEFNX0NQUEZMQUdTID0gJChBUkNIX01GTEFHUykgXAogIAkgICAgICAtSSQoYnVpbGRkaXIpIFwKLUBAIC00OTAsMyArNDkxLDIxIEBAIEJVSUxUX1NPVVJDRVMgPSBrc3lzZW50LmgKK0BAIC00NzcsMyArNDc4LDIxIEBAIEJVSUxUX1NPVVJDRVMgPSBrc3lzZW50LmgKICBDTEVBTkZJTEVTID0ga3N5c2VudC5oCiAgCiAgaW5jbHVkZSAuLi9zY25vLmFtCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL2Rpc2FibGUtZ2l0LXZlcnNpb24tZ2VuLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaAppbmRleCA5ZTVlYzExLi5kNjM1NGJmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL2Rpc2FibGUtZ2l0LXZlcnNpb24tZ2VuLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvZGlzYWJsZS1naXQtdmVyc2lvbi1nZW4ucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGJlZTA2ODA3NTQ3MzA0OTg0ODVlMjRkZDAzNzMwMzMxOGM2ODkxNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGVkMzBhNGZjNGRjMjY0Y2U1ZjU4ODE0NjJlMDNhZTEzYzkyMWJmZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgogRGF0ZTogTW9uLCAxOCBKYW4gMjAxNiAxMzozMzo1MCAtMDgwMAogU3ViamVjdDogW1BBVENIXSBzdHJhY2U6IHJlbW92ZSBuZWVkIGZvciBzY3JpcHRzCkBAIC0xNiwxMCArMTYsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhZDFkMDBmLi45NmZhMjA1IDEwMDY0NAoraW5kZXggODA0NWViZC4uNDMxOTcwOSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMzIsMTIgKzMyLDEyIEBACitAQCAtMTIsMTIgKzEyLDEyIEBACiAgCiAgQUNfUFJFUkVRKDIuNTcpCiAgQUNfSU5JVChbc3RyYWNlXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbWlwcy1TSUdFTVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21pcHMtU0lHRU1ULnBhdGNoCmluZGV4IGIyNDM3OGIuLjBkMzE5MmIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvbWlwcy1TSUdFTVQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9taXBzLVNJR0VNVC5wYXRjaApAQCAtMSwzICsxLDggQEAKK0Zyb20gMjBjMTg0YTdhYjNmYjdiZTY3ZmI3NjI2YzQxMWU3NTZlYTYxZDJmNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTdW4sIDcgQXVnIDIwMTYgMjM6NDc6NTcgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3RyYWNlOiBGaXggYnVpbGQgd2l0aCBtaXBzL21pcHM2NCBvbiBtdXNsCisKIFNJR0VNVCBpcyBub3QgZGVmaW5lZCBldmVyeXdoZXJlIGUuZyBtdXNsIGRvZXMKIG5vdCBkZWZpbmUgaXQuIFRoZXJlZm9yZSBjaGVjayBpdCBiZWluZyBkZWZpbmVkCiBiZWZvcmUgdXNpbmcgaXQuCkBAIC04LDExICsxMywxNSBAQAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCi1JbmRleDogc3RyYWNlLTQuMTMvdGVzdHMvc2lnbmFsMm5hbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN0cmFjZS00LjEzLm9yaWcvdGVzdHMvc2lnbmFsMm5hbWUuYwotKysrIHN0cmFjZS00LjEzL3Rlc3RzL3NpZ25hbDJuYW1lLmMKLUBAIC00Miw3ICs0Miw5IEBAIHNpZ25hbDJuYW1lKGludCBzaWcpCistLS0KKyB0ZXN0cy9zaWduYWwybmFtZS5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3NpZ25hbDJuYW1lLmMgYi90ZXN0cy9zaWduYWwybmFtZS5jCitpbmRleCAxZDhlN2M1Li42NzIyYWExIDEwMDY0NAorLS0tIGEvdGVzdHMvc2lnbmFsMm5hbWUuYworKysrIGIvdGVzdHMvc2lnbmFsMm5hbWUuYworQEAgLTQ5LDcgKzQ5LDkgQEAgc2lnbmFsMm5hbWUoaW50IHNpZykKICAJQ0FTRShTSUdFTVQpOwogIAlDQVNFKFNJR0xPU1QpOwogICNlbGlmIGRlZmluZWQgTUlQUwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaAppbmRleCAzZDQ5MTNkLi5hOWJkOTAwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL21vcmUtcm9idXN0LXRlc3QtZm9yLW0zMi1teDMyLWNvbXBpbGUtc3VwcG9ydC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMTU0YWY1MGVkN2VkOGI5MTgzOGQ3MTMwNTJlYmYyOWIwYjE0Zjc2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gY2M5NzMwN2U4ZTM5YTgxOTk5YzZhMzY1ZDA1NzQ4N2EwMmU2MTI4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IEphbiAyMDE2IDExOjAwOjAwIC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIG1wZXJzLm00OiBtb3JlIHJvYnVzdCB0ZXN0IGZvciAtbTMyLy1teDMyIGNvbXBpbGUgc3VwcG9ydApAQCAtMTgsMTUgKzE4LDE2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogQW5kcmUgTWNDdXJkeSA8YXJtY2N1cmR5QGdtYWlsLmNvbT4KKwogLS0tCiAgbTQvbXBlcnMubTQgfCAyICsrCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQogCi1JbmRleDogc3RyYWNlLTQuMjIvbTQvbXBlcnMubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzdHJhY2UtNC4yMi5vcmlnL200L21wZXJzLm00Ci0rKysgc3RyYWNlLTQuMjIvbTQvbXBlcnMubTQKLUBAIC0xMDgsNiArMTA4LDcgQEAgY2FzZSAiJGFyY2giIGluCitkaWZmIC0tZ2l0IGEvbTQvbXBlcnMubTQgYi9tNC9tcGVycy5tNAoraW5kZXggMTM3MjVkNy4uZDg1NzhlYSAxMDA2NDQKKy0tLSBhL200L21wZXJzLm00CisrKysgYi9tNC9tcGVycy5tNAorQEAgLTg4LDYgKzg4LDcgQEAgY2FzZSAiJGFyY2giIGluCiAgCUNGTEFHUz0iJENGTEFHUyBNUEVSU19DRkxBR1MgJElGTEFHIgogIAlBQ19DQUNIRV9DSEVDSyhbZm9yIG1wZXJzX25hbWUgcGVyc29uYWxpdHkgY29tcGlsZSBzdXBwb3J0XSwgW3N0X2N2X2NjXSwKICAJCVtBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1sjaW5jbHVkZSA8c3RkaW50Lmg+CkBAIC0zNCw3ICszNSw3IEBACiAgCQkJCQkJICAgICBpbnQgbWFpbigpe3JldHVybiAwO31dXSldLAogIAkJCQkgICBbc3RfY3ZfY2M9eWVzXSwKICAJCQkJICAgW3N0X2N2X2NjPW5vXSldKQotQEAgLTExNSw2ICsxMTYsNyBAQCBjYXNlICIkYXJjaCIgaW4KK0BAIC05NSw2ICs5Niw3IEBAIGNhc2UgIiRhcmNoIiBpbgogIAkJQUNfQ0FDSEVfQ0hFQ0soW2ZvciBtcGVyc19uYW1lIHBlcnNvbmFsaXR5IHJ1bnRpbWUgc3VwcG9ydF0sCiAgCQkJW3N0X2N2X3J1bnRpbWVdLAogIAkJCVtBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWyNpbmNsdWRlIDxzdGRpbnQuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdHJhY2Uvc3RyYWNlL3VwZGF0ZS1nYXdrLXBhdGhzLnBhdGNoCmluZGV4IGY2ZmZhOGUuLjcwNzcwNDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2UvdXBkYXRlLWdhd2stcGF0aHMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZS91cGRhdGUtZ2F3ay1wYXRocy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gMzgzNjUxOGM0NmJkNWJiM2U3MTM3MWIxYjE4Mjc0YmYyZDQ4NzEzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjBkN2ViZjQ4NDQxZTBiMDkwYzNlNjA1M2I4Yzg0NWQwYTRhM2IxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFuZHJlIE1jQ3VyZHkgPGFybWNjdXJkeUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDE4IEphbiAyMDE2IDExOjAxOjAwIC0wODAwCiBTdWJqZWN0OiBbUEFUQ0hdIHVwZGF0ZSBnYXdrIHBhdGhzLCAvYmluL2dhd2sgLT4gL3Vzci9iaW4vZ2F3awpAQCAtMTEsNiArMTEsNyBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQogCiBTaWduZWQtb2ZmLWJ5OiBBbmRyZSBNY0N1cmR5IDxhcm1jY3VyZHlAZ21haWwuY29tPgorCiAtLS0KICBtcGVycy5hd2sgICAgICAgICAgICAgICAgICAgfCAyICstCiAgdGVzdHMtbTMyL2NhcHMuYXdrICAgICAgICAgIHwgMiArLQpAQCAtMjUsNyArMjYsNyBAQAogIDEwIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbXBlcnMuYXdrIGIvbXBlcnMuYXdrCi1pbmRleCBmZTU0NzYzLi5iNTIzOGE4IDEwMDY0NAoraW5kZXggMTdmOGYyYi4uZDY5ZGNkNSAxMDA2NDQKIC0tLSBhL21wZXJzLmF3awogKysrIGIvbXBlcnMuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTM1LDcgKzM2LDcgQEAKICAjIENvcHlyaWdodCAoYykgMjAxNSBFbHZpcmEgS2hhYmlyb3ZhIDxsaW5lcHJpbnRlcjBAZ21haWwuY29tPgogICMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMTYgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9jYXBzLmF3ayBiL3Rlc3RzLW0zMi9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1tMzIvY2Fwcy5hd2sKICsrKyBiL3Rlc3RzLW0zMi9jYXBzLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC00NSwxNyArNDYsMTcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzLW0zMi9tYXRjaC5hd2sgYi90ZXN0cy1tMzIvbWF0Y2guYXdrCi1pbmRleCBhYmZiYWU5Li5mMjc0MGJmIDEwMDY0NAoraW5kZXggZDkxYzUxOC4uZWU1ZDkwOCAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9tYXRjaC5hd2sKICsrKyBiL3Rlc3RzLW0zMi9tYXRjaC5hd2sKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9nYXdrCiArIyEvdXNyL2Jpbi9nYXdrCiAgIwotICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGRpZmYgLS1naXQgYS90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3ayBiL3Rlc3RzLW0zMi9ydF9zaWdhY3Rpb24uYXdrCi1pbmRleCA5YzNhOWVkLi44NDE0MjQzIDEwMDY0NAoraW5kZXggODFkZDgxMy4uOWNkOTU0OSAxMDA2NDQKIC0tLSBhL3Rlc3RzLW0zMi9ydF9zaWdhY3Rpb24uYXdrCiArKysgYi90ZXN0cy1tMzIvcnRfc2lnYWN0aW9uLmF3awogQEAgLTEsNCArMSw0IEBACkBAIC02NSw3ICs2Niw3IEBACiAgIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CiAgIyBDb3B5cmlnaHQgKGMpIDIwMTYgRWx2aXJhIEtoYWJpcm92YSA8bGluZXByaW50ZXIwQGdtYWlsLmNvbT4KIGRpZmYgLS1naXQgYS90ZXN0cy1teDMyL2NhcHMuYXdrIGIvdGVzdHMtbXgzMi9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL2NhcHMuYXdrCiArKysgYi90ZXN0cy1teDMyL2NhcHMuYXdrCiBAQCAtMSw0ICsxLDQgQEAKQEAgLTc1LDE3ICs3NiwxNyBAQAogICMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgY2FwcyBzdHJhY2UgdGVzdC4KICAjCiBkaWZmIC0tZ2l0IGEvdGVzdHMtbXgzMi9tYXRjaC5hd2sgYi90ZXN0cy1teDMyL21hdGNoLmF3awotaW5kZXggYWJmYmFlOS4uZjI3NDBiZiAxMDA2NDQKK2luZGV4IGQ5MWM1MTguLmVlNWQ5MDggMTAwNjQ0CiAtLS0gYS90ZXN0cy1teDMyL21hdGNoLmF3awogKysrIGIvdGVzdHMtbXgzMi9tYXRjaC5hd2sKIEBAIC0xLDQgKzEsNCBAQAogLSMhL2Jpbi9nYXdrCiArIyEvdXNyL2Jpbi9nYXdrCiAgIwotICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgorICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTggRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGRpZmYgLS1naXQgYS90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sgYi90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sKLWluZGV4IDljM2E5ZWQuLjg0MTQyNDMgMTAwNjQ0CitpbmRleCA4MWRkODEzLi45Y2Q5NTQ5IDEwMDY0NAogLS0tIGEvdGVzdHMtbXgzMi9ydF9zaWdhY3Rpb24uYXdrCiArKysgYi90ZXN0cy1teDMyL3J0X3NpZ2FjdGlvbi5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtOTUsNyArOTYsNyBAQAogICMgQ29weXJpZ2h0IChjKSAyMDE0LTIwMTUgRG1pdHJ5IFYuIExldmluIDxsZHZAYWx0bGludXgub3JnPgogICMgQ29weXJpZ2h0IChjKSAyMDE2IEVsdmlyYSBLaGFiaXJvdmEgPGxpbmVwcmludGVyMEBnbWFpbC5jb20+CiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2Fwcy5hd2sgYi90ZXN0cy9jYXBzLmF3awotaW5kZXggYzZlMzFlZi4uNWVmYzZjYyAxMDA2NDQKK2luZGV4IDk0MTU2NGEuLjBiY2MzZmYgMTAwNjQ0CiAtLS0gYS90ZXN0cy9jYXBzLmF3awogKysrIGIvdGVzdHMvY2Fwcy5hd2sKIEBAIC0xLDQgKzEsNCBAQApAQCAtMTA1LDE3ICsxMDYsMTcgQEAKICAjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGNhcHMgc3RyYWNlIHRlc3QuCiAgIwogZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGNoLmF3ayBiL3Rlc3RzL21hdGNoLmF3awotaW5kZXggYWJmYmFlOS4uZjI3NDBiZiAxMDA2NDQKK2luZGV4IGQ5MWM1MTguLmVlNWQ5MDggMTAwNjQ0CiAtLS0gYS90ZXN0cy9tYXRjaC5hd2sKICsrKyBiL3Rlc3RzL21hdGNoLmF3awogQEAgLTEsNCArMSw0IEBACiAtIyEvYmluL2dhd2sKICsjIS91c3IvYmluL2dhd2sKICAjCi0gIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxNSBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CisgIyBDb3B5cmlnaHQgKGMpIDIwMTQtMjAxOCBEbWl0cnkgVi4gTGV2aW4gPGxkdkBhbHRsaW51eC5vcmc+CiAgIyBBbGwgcmlnaHRzIHJlc2VydmVkLgogZGlmZiAtLWdpdCBhL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sgYi90ZXN0cy9ydF9zaWdhY3Rpb24uYXdrCi1pbmRleCA5YzNhOWVkLi44NDE0MjQzIDEwMDY0NAoraW5kZXggODFkZDgxMy4uOWNkOTU0OSAxMDA2NDQKIC0tLSBhL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sKICsrKyBiL3Rlc3RzL3J0X3NpZ2FjdGlvbi5hd2sKIEBAIC0xLDQgKzEsNCBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZTQwYTA2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLVNVTU1BUlkgPSAiU3lzdGVtIGNhbGwgdHJhY2luZyB0b29sIgotSE9NRVBBR0UgPSAiaHR0cDovL3N0cmFjZS5pbyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmRkYjkxNzM0YjljNzA1ZjNlODczNjJlOTdlNWY2NGIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9zdHJhY2UuaW8vZmlsZXMvJHtQVn0vc3RyYWNlLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtcHRlc3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdoZW4tdXNpbmctbm9uLWdsaWJjLWxpYmMtaW1wbGVtZW50YXRpb24tby5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9taXBzLVNJR0VNVC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0cy1zaWdhY3Rpb24tQ2hlY2stZm9yLW1pcHMtYW5kLWFscGhhLWJlZm9yZS11c2luLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjg3ODAxMzY4NDljODVhY2Y3NmFkM2E1MjJhYTQ0NjJhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFmNGU1OWZjMWVkZmEyYmZiNGFkZjJhNzQ4NjIzZGMyNWIxMDVlYzc5NzEzZGQ4NDQwNDE5OWY5MWIwYjA2MzQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IGJsdWV0b290aAotCi1QQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gIlwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICdibHVleicsICcnLCBkKX0gXAotIgotCi1QQUNLQUdFQ09ORklHW2JsdWV6XSA9ICJhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPXllcyxhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vLCR7QkxVRVp9IgotUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCi0KLUVYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbXBlcnM9bm8iCi0KLUNGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRHNpZ2NvbnRleHRfc3RydWN0PXNpZ2NvbnRleHQiCi0KLVRFU1RESVIgPSAidGVzdHMiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCSMgV2UgZG9uJ3Qgc2hpcCBzdHJhY2UtZ3JhcGggaGVyZSBiZWNhdXNlIGl0IG5lZWRzIHBlcmwKLQlybSAke0R9JHtiaW5kaXJ9L3N0cmFjZS1ncmFwaAotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotCW9lX3J1bm1ha2UgLUMgJHtURVNURElSfSBidWlsZHRlc3QtVEVTVFMKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gaW5zdGFsbC1wdGVzdCBCVUlMRERJUj0ke0J9IERFU1RESVI9JHtEfSR7UFRFU1RfUEFUSH0gVEVTVERJUj0ke1RFU1RESVJ9Ci0JaW5zdGFsbCAtbSA3NTUgJHtTfS90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgLW0gNjQ0ICR7Qn0vY29uZmlnLmggJHtEfSR7UFRFU1RfUEFUSH0KLQlzZWQgLWkgLWUgJy9ec3JjL3Mvc3RyYWNlLipbMS05XS9wdGVzdC8nIFwKLQkgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgXAotCSAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0JICAgIC1lICdzOiR7SE9TVFRPT0xTX0RJUn0vOjpnJyBcCi0JICAgIC1lICdzOiR7UkVDSVBFX1NZU1JPT1RfTkFUSVZFfTo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UfTo6ZycgXAotCSAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKLQkgICAgLWUgJy9eREVCX0NIQU5HRUxPR1RJTUUvZCcgXAotCSAgICAtZSAnL15SUE1fQ0hBTkdFTE9HVElNRS9kJyBcCi0JJHtEfS8ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgY29yZXV0aWxzIGdyZXAgZ2F3ayBzZWQiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotVE9PTENIQUlOID0gImdjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N0cmFjZS9zdHJhY2VfNC4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGY5MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3RyYWNlL3N0cmFjZV80LjI2LmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiU3lzdGVtIGNhbGwgdHJhY2luZyB0b29sIgorSE9NRVBBR0UgPSAiaHR0cDovL3N0cmFjZS5pbyIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiTEdQTC0yLjErICYgR1BMLTIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWM4NGQxYzZlNDhlNzk2MWNjZDJjZDJhZTMyZjdiZjEiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9zdHJhY2UuaW8vZmlsZXMvJHtQVn0vc3RyYWNlLSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWdpdC12ZXJzaW9uLWdlbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tb3JlLXJvYnVzdC10ZXN0LWZvci1tMzItbXgzMi1jb21waWxlLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vdXBkYXRlLWdhd2stcGF0aHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUtcHRlc3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdoZW4tdXNpbmctbm9uLWdsaWJjLWxpYmMtaW1wbGVtZW50YXRpb24tby5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9taXBzLVNJR0VNVC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhcHMtYWJicmV2LmF3ay1maXgtZ2F3ay1zLXBhdGgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0cy1zaWdhY3Rpb24tQ2hlY2stZm9yLW1pcHMtYW5kLWFscGhhLWJlZm9yZS11c2luLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWlwcy1vMzItZml4LWJ1aWxkLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImRhYTUxYWNjMGM3YzY5NjIyMWVjMDNjZjBiMzBhN2FmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjNGQyZmZlZWY0ZjdkMWNkYzcxMDYyY2E3OGQxMTMwZWI1MmY5NDdjMmZjYTgyZjU5ZjZhMTE4M2JmYTFlMWMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IGJsdWV0b290aAorCitQQUNLQUdFQ09ORklHX2NsYXNzLXRhcmdldCA/Pz0gIlwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2JsdWV0b290aCcsICdibHVleicsICcnLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW2JsdWV6XSA9ICJhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPXllcyxhY19jdl9oZWFkZXJfYmx1ZXRvb3RoX2JsdWV0b290aF9oPW5vLCR7QkxVRVp9IgorUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbXBlcnM9bm8iCisKK0NGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtRHNpZ2NvbnRleHRfc3RydWN0PXNpZ2NvbnRleHQiCisKK1RFU1RESVIgPSAidGVzdHMiCitQVEVTVF9CVUlMRF9IT1NUX1BBVFRFUk4gPSAiXihERUJfQ0hBTkdFTE9HVElNRXxSUE1fQ0hBTkdFTE9HVElNRXxXQVJOX0NGTEFHU19GT1JfQlVJTER8TERGTEFHU19GT1JfQlVJTEQpIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIFdlIGRvbid0IHNoaXAgc3RyYWNlLWdyYXBoIGhlcmUgYmVjYXVzZSBpdCBuZWVkcyBwZXJsCisJcm0gJHtEfSR7YmluZGlyfS9zdHJhY2UtZ3JhcGgKK30KKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIC1DICR7VEVTVERJUn0gYnVpbGR0ZXN0LVRFU1RTCit9CisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJb2VfcnVubWFrZSAtQyAke1RFU1RESVJ9IGluc3RhbGwtcHRlc3QgQlVJTERESVI9JHtCfSBERVNURElSPSR7RH0ke1BURVNUX1BBVEh9IFRFU1RESVI9JHtURVNURElSfQorCWluc3RhbGwgLW0gNzU1ICR7U30vdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0KKwlpbnN0YWxsIC1tIDY0NCAke0J9L2NvbmZpZy5oICR7RH0ke1BURVNUX1BBVEh9CisgICAgICAgIHNlZCAtaSAtZSAnL15zcmMvcy9zdHJhY2UuKlsxLTldL3B0ZXN0LycgJHtEfS8ke1BURVNUX1BBVEh9LyR7VEVTVERJUn0vTWFrZWZpbGUKK30KKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgY29yZXV0aWxzIGdyZXAgZ2F3ayBzZWQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorVE9PTENIQUlOID0gImdjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbi9zZXJmLm00LVJlZ2V4LW1vZGlmaWVkLXRvLWFsbG93LUQtaW4tcGF0aHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zdWJ2ZXJzaW9uL3N1YnZlcnNpb24vc2VyZi5tNC1SZWdleC1tb2RpZmllZC10by1hbGxvdy1ELWluLXBhdGhzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmVkM2NmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbi9zZXJmLm00LVJlZ2V4LW1vZGlmaWVkLXRvLWFsbG93LUQtaW4tcGF0aHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIGYxYjZlNDlmMTJhMThlYWJlODhlYjczMmI1NzhhMTYyODFkMDk0OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3NlIExhbWVnbyA8am9zZS5hLmxhbWVnb0BsaW51eC5pbnRlbC5jb20+Ci1EYXRlOiBUaHUsIDIgSnVsIDIwMTUgMTE6Mzc6NDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gc2VyZi5tNDogUmVnZXggbW9kaWZpZWQgdG8gYWxsb3cgJy1EJyBpbiBwYXRocwotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkCi0KLVRoZSBwYXRjaCBpcyBtZXJnZWQgYnkgc3VidmVyc2lvbiB1cHN0cmVhbSB3aXRoIHJlcGxhY2luZyAnW1s6c3BhY2U6XV0nIHdpdGggJyAnLgotCi1odHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjL3N1YnZlcnNpb24vdHJ1bmsvYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQ/cjE9MTU5NDE1NiZyMj0xNjg5ODI0ICAKLQotU2lnbmVkLW9mZi1ieTogSm9zZSBMYW1lZ28gPGpvc2UuYS5sYW1lZ29AbGludXguaW50ZWwuY29tPgotLS0tCi0gYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9idWlsZC9hYy1tYWNyb3Mvc2VyZi5tNCBiL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00Ci1pbmRleCBhZTExZTc1Li5mZjhjYmFlIDEwMDY0NAotLS0tIGEvYnVpbGQvYWMtbWFjcm9zL3NlcmYubTQKLSsrKyBiL2J1aWxkL2FjLW1hY3Jvcy9zZXJmLm00Ci1AQCAtMTY4LDcgKzE2OCw3IEBACi0gICAgICAgICBpZiAkUEtHX0NPTkZJRyAkc2VyZl9wY19hcmcgLS1hdGxlYXN0LXZlcnNpb249JHNlcmZfY2hlY2tfdmVyc2lvbjsgdGhlbgotICAgICAgICAgICBBQ19NU0dfUkVTVUxUKFt5ZXNdKQotICAgICAgICAgICBzZXJmX2ZvdW5kPXllcwotLSAgICAgICAgICBTVk5fU0VSRl9JTkNMVURFUz1bYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWNmbGFncyB8ICRTRUQgLWUgJ3MvLURbXiBdKi8vZydgXQotKyAgICAgICAgICBTVk5fU0VSRl9JTkNMVURFUz1bYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWNmbGFncyB8ICRTRUQgLWUgJ3MvIC1EW14gXSovL2cnIC1lICdzL14tRFteIF0qLy9nJ2BdCi0gICAgICAgICAgIFNWTl9TRVJGX0xJQlM9YCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWxpYnMtb25seS1sYCAKLSAgICAgICAgICAgZG5sIGRvbid0IHVzZSAtLWxpYnMtb25seS1MIGJlY2F1c2UgdGhlbiB3ZSBtaWdodCBtaXNzIHNvbWUgb3B0aW9ucwotICAgICAgICAgICBMREZMQUdTPVsiJExERkxBR1MgYCRQS0dfQ09ORklHICRzZXJmX3BjX2FyZyAtLWxpYnMgfCAkU0VEIC1lICdzLy1sW14gXSovL2cnYCJdCi0tLSAKLTEuOC40LjUKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjEwLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQyYzI1NjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLVNVTU1BUlkgPSAiU3VidmVyc2lvbiAoc3ZuKSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIGNsaWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly9zdWJ2ZXJzaW9uLmFwYWNoZS5vcmciCi1TRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKLUxJQ0VOU0UgPSAiQXBhY2hlLTIgJiBNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT04MzIwNmYzOTgxOWU3YTRkZmNhMmZmN2MxOTBmNmNlMCIKLQotREVQRU5EUyA9ICJhcHItdXRpbCBzZXJmIHNxbGl0ZTMgZmlsZSBsejQiCi1ERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGZpbGUtcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1TUkNfVVJJID0gIiR7QVBBQ0hFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfbWFjb3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtbGlidG9vbC1uYW1lLWluLWNvbmZpZ3VyZS5hYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9zZXJmbWFjcm8ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMTI2ODQ3ZjllOGNiOGVkMGI5MGE2YTE4YjIwMzMwOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2YyM2YzYWJiODM3ZGVhMDU4NWE2YjBlYmQ3MGU4MGUwMWY5NWJkZGVmN2MxYWEwOTdjMThlM2VhYTZiNTg0IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dAotCi1QQUNLQUdFQ09ORklHID89ICIiCi0KLVBBQ0tBR0VDT05GSUdbc2FzbF0gPSAiLS13aXRoLXNhc2wsLS13aXRob3V0LXNhc2wsY3lydXMtc2FzbCIKLVBBQ0tBR0VDT05GSUdbZ25vbWUta2V5cmluZ10gPSAiLS13aXRoLWdub21lLWtleXJpbmcsLS13aXRob3V0LWdub21lLWtleXJpbmcsZ2xpYi0yLjAgZ25vbWUta2V5cmluZyIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRoLWFwcj0ke1NUQUdJTkdfQklORElSX0NST1NTfSBcCi0gICAgLS13aXRoLWFwci11dGlsPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKLSAgICAtLXdpdGhvdXQtYXB4cyBcCi0gICAgLS13aXRob3V0LWJlcmtlbGV5LWRiIFwKLSAgICAtLXdpdGhvdXQtc3dpZyBcCi0gICAgLS1kaXNhYmxlLWtleWNoYWluIFwKLSAgICAtLXdpdGgtdXRmOHByb2M9aW50ZXJuYWwgXAotICAgIGFjX2N2X3BhdGhfUlVCWT1ub25lIFwKLSIKLQotYWNwYXRocyA9ICItSSBidWlsZC8gLUkgYnVpbGQvYWMtbWFjcm9zLyIKLQotQ1BQRkxBR1MgKz0gIi1QIgotQlVJTERfQ1BQRkxBR1MgKz0gIi1QIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0Jcm0gLWYgJHtTfS9saWJ0b29sCi0Jcm0gLWYgJHtTfS9idWlsZC9saWJ0b29sLm00ICR7U30vYnVpbGQvbHRtYWluLnNoICR7U30vYnVpbGQvbHRvcHRpb25zLm00ICR7U30vYnVpbGQvbHRzdWdhci5tNCAke1N9L2J1aWxkL2x0dmVyc2lvbi5tNCAke1N9L2J1aWxkL2x0fm9ic29sZXRlLm00Ci0Jcm0gLWYgJHtTfS9hY2xvY2FsLm00Ci0Jc2VkIC1pIC1lICdzOndpdGhfc2FzbD0iL3Vzci9sb2NhbCI6d2l0aF9zYXNsPSIke1NUQUdJTkdfRElSfSI6JyAke1N9L2J1aWxkL2FjLW1hY3Jvcy9zYXNsLm00Ci19Ci0KLSN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfbG9jYWwvbGlic3ZuX3JhX2xvY2FsLTEubGEnIGhhcyBub3QgYmVlbiBpbnN0YWxsZWQgaW4gYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliJ3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCAvdXNyL2Jpbi9sZDogY2Fubm90IGZpbmQgLWxzdm5fZGVsdGEtMXwgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfc3ZuL2xpYnN2bl9yYV9zdm4tMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JhX3NlcmYvbGlic3ZuX3JhX3NlcmYtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCi0jfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogZXJyb3I6IHJlbGluayBgbGlic3ZuX3JhX3NlcmYtMS5sYScgd2l0aCB0aGUgYWJvdmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdAotI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAuLi8uLi9zdWJ2ZXJzaW9uL2xpYnN2bl9yZXBvcy9saWJzdm5fcmVwb3MtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInCi0jfCAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9zdWJ2ZXJzaW9uLTEuOC45L2J1aWxkLW91dHB1dHMubWs6MTA5MDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwtc2VyZi1saWInIGZhaWxlZAotI3wgbWFrZTogKioqIFtpbnN0YWxsLXNlcmYtbGliXSBFcnJvciAxCi1QQVJBTExFTF9NQUtFSU5TVCA9ICIiCi0KLVJERVBFTkRTXyR7UE59ID0gInNlcmYiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3VidmVyc2lvbi9zdWJ2ZXJzaW9uXzEuMTEuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjExLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFiYWM3NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N1YnZlcnNpb24vc3VidmVyc2lvbl8xLjExLjEuYmIKQEAgLTAsMCArMSw1OCBAQAorU1VNTUFSWSA9ICJTdWJ2ZXJzaW9uIChzdm4pIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gY2xpZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3N1YnZlcnNpb24uYXBhY2hlLm9yZyIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorTElDRU5TRSA9ICJBcGFjaGUtMiAmIE1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTgzMjA2ZjM5ODE5ZTdhNGRmY2EyZmY3YzE5MGY2Y2UwIgorCitERVBFTkRTID0gImFwci11dGlsIHNlcmYgc3FsaXRlMyBmaWxlIGx6NCIKK0RFUEVORFNfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZS1yZXBsYWNlbWVudC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtBUEFDSEVfTUlSUk9SfS8ke0JQTn0vJHtCUE59LSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZV9tYWNvcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1saWJ0b29sLW5hbWUtaW4tY29uZmlndXJlLmFjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NlcmZtYWNyby5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjU3OTdiZjcwMWQyZDg2OGZhOTY0YzdiYmM0OTMxMjY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjllZmQyNzUwY2E0ZDcyZWM5MDM0MzFhMjRiOWM3MzJiNmNiYjg0YWFkOWI3NTYzZjU5ZGQ5NmRlYTViZTYwYmIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKKworUEFDS0FHRUNPTkZJR1tzYXNsXSA9ICItLXdpdGgtc2FzbCwtLXdpdGhvdXQtc2FzbCxjeXJ1cy1zYXNsIgorUEFDS0FHRUNPTkZJR1tnbm9tZS1rZXlyaW5nXSA9ICItLXdpdGgtZ25vbWUta2V5cmluZywtLXdpdGhvdXQtZ25vbWUta2V5cmluZyxnbGliLTIuMCBnbm9tZS1rZXlyaW5nIgorCitFWFRSQV9PRUNPTkYgPSAiIFwKKyAgICAtLXdpdGgtYXByPSR7U1RBR0lOR19CSU5ESVJfQ1JPU1N9IFwKKyAgICAtLXdpdGgtYXByLXV0aWw9JHtTVEFHSU5HX0JJTkRJUl9DUk9TU30gXAorICAgIC0td2l0aG91dC1hcHhzIFwKKyAgICAtLXdpdGhvdXQtYmVya2VsZXktZGIgXAorICAgIC0td2l0aG91dC1zd2lnIFwKKyAgICAtLWRpc2FibGUta2V5Y2hhaW4gXAorICAgIC0td2l0aC11dGY4cHJvYz1pbnRlcm5hbCBcCisgICAgYWNfY3ZfcGF0aF9SVUJZPW5vbmUgXAorIgorCithY3BhdGhzID0gIi1JIGJ1aWxkLyAtSSBidWlsZC9hYy1tYWNyb3MvIgorCitDUFBGTEFHUyArPSAiLVAiCitCVUlMRF9DUFBGTEFHUyArPSAiLVAiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKKwlybSAtZiAke1N9L2xpYnRvb2wKKwlybSAtZiAke1N9L2J1aWxkL2xpYnRvb2wubTQgJHtTfS9idWlsZC9sdG1haW4uc2ggJHtTfS9idWlsZC9sdG9wdGlvbnMubTQgJHtTfS9idWlsZC9sdHN1Z2FyLm00ICR7U30vYnVpbGQvbHR2ZXJzaW9uLm00ICR7U30vYnVpbGQvbHR+b2Jzb2xldGUubTQKKwlybSAtZiAke1N9L2FjbG9jYWwubTQKKwlzZWQgLWkgLWUgJ3M6d2l0aF9zYXNsPSIvdXNyL2xvY2FsIjp3aXRoX3Nhc2w9IiR7U1RBR0lOR19ESVJ9IjonICR7U30vYnVpbGQvYWMtbWFjcm9zL3Nhc2wubTQKK30KKworI3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yYV9sb2NhbC9saWJzdm5fcmFfbG9jYWwtMS5sYScgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBpbiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9saWInfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL2J1aWxkL3N1YnZlcnNpb24vbGlic3ZuX3JlcG9zL2xpYnN2bl9yZXBvcy0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYid8IC91c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbHN2bl9kZWx0YS0xfCBjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1c3wgeDg2XzY0LWxpbnV4LWxpYnRvb2w6IGluc3RhbGw6IHdhcm5pbmc6IGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC93b3JrL3g4Nl82NC1saW51eC9zdWJ2ZXJzaW9uLW5hdGl2ZS8xLjguOS1yMC9idWlsZC9zdWJ2ZXJzaW9uL2xpYnN2bl9yYV9zdm4vbGlic3ZuX3JhX3N2bi0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYid8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiB3YXJuaW5nOiBgL2hvbWUvcG9reWJ1aWxkL3lvY3RvLWF1dG9idWlsZGVyL3lvY3RvLXdvcmtlci9uaWdodGx5LXFhLWxvZ3JvdGF0ZS9idWlsZC9idWlsZC90bXAvd29yay94ODZfNjQtbGludXgvc3VidmVyc2lvbi1uYXRpdmUvMS44LjktcjAvYnVpbGQvc3VidmVyc2lvbi9saWJzdm5fcmFfc2VyZi9saWJzdm5fcmFfc2VyZi0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYicKKyN8IHg4Nl82NC1saW51eC1saWJ0b29sOiBpbnN0YWxsOiBlcnJvcjogcmVsaW5rIGBsaWJzdm5fcmFfc2VyZi0xLmxhJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0CisjfCB4ODZfNjQtbGludXgtbGlidG9vbDogaW5zdGFsbDogd2FybmluZzogYC4uLy4uL3N1YnZlcnNpb24vbGlic3ZuX3JlcG9zL2xpYnN2bl9yZXBvcy0xLmxhJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIGAvaG9tZS9wb2t5YnVpbGQveW9jdG8tYXV0b2J1aWxkZXIveW9jdG8td29ya2VyL25pZ2h0bHktcWEtbG9ncm90YXRlL2J1aWxkL2J1aWxkL3RtcC9zeXNyb290cy94ODZfNjQtbGludXgvdXNyL2xpYicKKyN8IC9ob21lL3Bva3lidWlsZC95b2N0by1hdXRvYnVpbGRlci95b2N0by13b3JrZXIvbmlnaHRseS1xYS1sb2dyb3RhdGUvYnVpbGQvYnVpbGQvdG1wL3dvcmsveDg2XzY0LWxpbnV4L3N1YnZlcnNpb24tbmF0aXZlLzEuOC45LXIwL3N1YnZlcnNpb24tMS44LjkvYnVpbGQtb3V0cHV0cy5tazoxMDkwOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbC1zZXJmLWxpYicgZmFpbGVkCisjfCBtYWtlOiAqKiogW2luc3RhbGwtc2VyZi1saWJdIEVycm9yIDEKK1BBUkFMTEVMX01BS0VJTlNUID0gIiIKKworUkRFUEVORFNfJHtQTn0gPSAic2VyZiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnLmluYwppbmRleCBhZWM1NDQ5Li4wMGI5YzViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZy5pbmMKQEAgLTcsNyArNyw3IEBACiAKIFNFQ1RJT04gPSAiZGV2ZWwiCiAKLURFUEVORFMgPSAibGlicGNyZSIKK0RFUEVORFMgPSAibGlicGNyZSBiaXNvbi1uYXRpdmUiCiAKIFNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IgogCkBAIC0zOCwxNCArMzgsMTQgQEAKICAgICAtLXdpdGhvdXQtdGNsIFwKICIKIAorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgVG9vbHMvY29uZmlnIgorCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKLWRvX2NvbmZpZ3VyZSgpIHsKLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5ndWVzcyAke1N9L1Rvb2xzL2NvbmZpZwotICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLnN1YiAke1N9L1Rvb2xzL2NvbmZpZwotICAgIGluc3RhbGwgLW0gMDc1NSAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2dudS1jb25maWcvY29uZmlnLmd1ZXNzICR7U30KLSAgICBpbnN0YWxsIC1tIDA3NTUgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9nbnUtY29uZmlnL2NvbmZpZy5zdWIgJHtTfQotICAgIG9lX3J1bmNvbmYKKyMgbmVjZXNzYXJ5IHRvZ2V0aGVyIHdpdGggYmlzb24gZGVwZW5kZW5jeSB1bnRpbCBhIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIGFmdGVyCisjIDMuMC4xMiBpbmNsdWRlcyAwMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2gKK2RvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7CisgICAgbWtkaXIgLXAgJHtCfS9Tb3VyY2UvQ1BhcnNlCiB9CiAKIGRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZy8wMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcvMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZWQ3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWcvMDAwMS1GaXgtZ2VuZXJhdGVkLWNvZGUtZm9yLWNvbnN0YW50LWV4cHJlc3Npb25zLWNvbnRhaW5pLnBhdGNoCkBAIC0wLDAgKzEsMTc5IEBACitGcm9tIDkwYmExNzRmY2VhMTYxOGFmNTdhYTU5NDE5OTU0MWQ0N2E4OWI3ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXaWxsaWFtIFMgRnVsdG9uIDx3c2ZAZnVsdG9uZGVzaWducy5jby51az4KK0RhdGU6IFN1biwgMTcgU2VwIDIwMTcgMTk6MDI6NTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAxLzJdIEZpeCBnZW5lcmF0ZWQgY29kZSBmb3IgY29uc3RhbnQgZXhwcmVzc2lvbnMgY29udGFpbmluZworIHdjaGFyX3QgTCBsaXRlcmFscy4KKworU3VjaCBhczoKKyAgIyBkZWZpbmUgX19XQ0hBUl9NQVggICAgKDB4N2ZmZmZmZmYgKyBMJ1wwJykKKworUmVwb3J0ZWQgb24gc3dpZy11c2VyIG1haWxpbmcgbGlzdC4KKy0tLQorIENIQU5HRVMuY3VycmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA1ICsrKysrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcyB8IDMgKystCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4xLmQgICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZCAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjEuZCAgICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kICAgICAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwICAgICB8IDIgKysKKyBFeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAgIHwgMiArKworIEV4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAgICAgfCAyICsrCisgRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pICAgICAgICAgICAgICAgICB8IDMgKysrCisgU291cmNlL0NQYXJzZS9wYXJzZXIueSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyAxMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitbaHR0cHM6Ly9naXRodWIuY29tL3N3aWcvc3dpZy9jb21taXQvOTBiYTE3NGZjZWExNjE4YWY1N2FhNTk0MTk5NTQxZDQ3YTg5YjdmNl0KK1NpZ25lZC1vZmYtYnk6IEx1Y2EgQm9jY2Fzc2kgPGx1Y2EuYm9jY2Fzc2lAbWljcm9zb2Z0LmNvbT4KKworZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuY3MgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLmNzCitpbmRleCA3NmM2ODRkLi4xYzI4ZTQ5IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcworKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5jcworQEAgLTYxLDcgKzYxLDggQEAgcHVibGljIGNsYXNzIHJ1bm1lIHsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfTEFORC5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfTE9SLkdldFR5cGUoKSApOworICAgICBhc3NlcnQoIHR5cGVvZihkb3VibGUpID09IHByZXByb2NfY29uc3RhbnRzX2MuRVhQUl9DT05ESVRJT05BTC5HZXRUeXBlKCkgKTsKKy0KKysgICAgYXNzZXJ0KCB0eXBlb2YoaW50KSA9PSBwcmVwcm9jX2NvbnN0YW50c19jLkVYUFJfV0NIQVJfTUFYLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzX2MuRVhQUl9XQ0hBUl9NSU4uR2V0VHlwZSgpICk7CisgICB9CisgICBzdGF0aWMgdm9pZCBhc3NlcnQoYm9vbCBhc3NlcnRpb24pIHsKKyAgICAgaWYgKCFhc3NlcnRpb24pCitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9jc2hhcnAvcHJlcHJvY19jb25zdGFudHNfcnVubWUuY3MgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5jcworaW5kZXggOWZhZTU5MS4uNmIwMmUzMCAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvY3NoYXJwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLmNzCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2NzaGFycC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5jcworQEAgLTYwLDYgKzYwLDggQEAgcHVibGljIGNsYXNzIHJ1bm1lIHsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoYm9vbCkgPT0gcHJlcHJvY19jb25zdGFudHMuRVhQUl9MQU5ELkdldFR5cGUoKSApOworICAgICBhc3NlcnQoIHR5cGVvZihib29sKSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUi5HZXRUeXBlKCkgKTsKKyAgICAgYXNzZXJ0KCB0eXBlb2YoZG91YmxlKSA9PSBwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUFYLkdldFR5cGUoKSApOworKyAgICBhc3NlcnQoIHR5cGVvZihpbnQpID09IHByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOLkdldFR5cGUoKSApOworIAorICAgfQorICAgc3RhdGljIHZvaWQgYXNzZXJ0KGJvb2wgYXNzZXJ0aW9uKSB7CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kCitpbmRleCBkODQ2YzcxLi4yYjM0OWFmIDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMS5kCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS4xLmQKK0BAIC02MSw0ICs2MSw2IEBAIHZvaWQgbWFpbigpIHsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX0xBTkQoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX0xPUigpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhkb3VibGUgPT0gdHlwZW9mKEVYUFJfQ09ORElUSU9OQUwoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01BWCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUlOKCkpKSk7CisgfQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZAoraW5kZXggOWJkYmI5My4uMWJhYzUyNSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLjIuZAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUuMi5kCitAQCAtNjEsNCArNjEsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MQU5EKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9MT1IoKSkpKTsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoZG91YmxlID09IHR5cGVvZihFWFBSX0NPTkRJVElPTkFMKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NQVgoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01JTigpKSkpOworIH0KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMS5kIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjEuZAoraW5kZXggMDA5NDA1Zi4uZjc0M2Y0OCAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4xLmQKK0BAIC02MCw0ICs2MCw2IEBAIHZvaWQgbWFpbigpIHsKKyAgIHN0YXRpYyBhc3NlcnQoaXMoYm9vbCA9PSB0eXBlb2YoRVhQUl9MQU5EKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGJvb2wgPT0gdHlwZW9mKEVYUFJfTE9SKCkpKSk7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGRvdWJsZSA9PSB0eXBlb2YoRVhQUl9DT05ESVRJT05BTCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUFYKCkpKSk7CisrICBzdGF0aWMgYXNzZXJ0KGlzKGludCA9PSB0eXBlb2YoRVhQUl9XQ0hBUl9NSU4oKSkpKTsKKyB9CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9kL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLjIuZCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvZC9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS4yLmQKK2luZGV4IDJkOTJlZjAuLjBkOTZjMzcgMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL2QvcHJlcHJvY19jb25zdGFudHNfcnVubWUuMi5kCitAQCAtNjAsNCArNjAsNiBAQCB2b2lkIG1haW4oKSB7CisgICBzdGF0aWMgYXNzZXJ0KGlzKGJvb2wgPT0gdHlwZW9mKEVYUFJfTEFORCgpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhib29sID09IHR5cGVvZihFWFBSX0xPUigpKSkpOworICAgc3RhdGljIGFzc2VydChpcyhkb3VibGUgPT0gdHlwZW9mKEVYUFJfQ09ORElUSU9OQUwoKSkpKTsKKysgIHN0YXRpYyBhc3NlcnQoaXMoaW50ID09IHR5cGVvZihFWFBSX1dDSEFSX01BWCgpKSkpOworKyAgc3RhdGljIGFzc2VydChpcyhpbnQgPT0gdHlwZW9mKEVYUFJfV0NIQVJfTUlOKCkpKSk7CisgfQorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKK2luZGV4IGFmOWI3NmUuLmU1OWZlMTggMTAwNjQ0CistLS0gYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocC9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfY19ydW5tZS5waHAKK0BAIC02Miw1ICs2Miw3IEBAIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9MQU5EKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MQU5EIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX0xPUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTE9SIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX0NPTkRJVElPTkFMKSwgImRvdWJsZSIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX1dDSEFSX01BWCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUFYIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX1dDSEFSX01JTiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyA/PgorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAoraW5kZXggNWM5MTE5Yi4uOGUxMTdlYSAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwL3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHAvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwCitAQCAtNjEsNSArNjEsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9PUiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLgorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xBTkQpLCAiYm9vbGVhbiIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xBTkQgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xPUiksICJib29sZWFuIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTE9SIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfV0NIQVJfTUFYKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NQVggaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworK2NoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX1dDSEFSX01JTiksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfV0NIQVJfTUlOIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKyAKKyA/PgorZGlmZiAtLWdpdCBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocCBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAoraW5kZXggMWVhMDE5NS4uZDk3OGZhYiAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19jX3J1bm1lLnBocAorKysrIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX2NfcnVubWUucGhwCitAQCAtNjIsNSArNjIsNyBAQCBjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50c19jOjpFWFBSX09SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzX2M6OkVYUFJfTEFORCksICJpbnRlZ2VyIiwgInByZXByb2NfY29uc3RhbnRzLkVYUFJfTEFORCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9MT1IpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0xPUiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9DT05ESVRJT05BTCksICJkb3VibGUiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9DT05ESVRJT05BTCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NQVgpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHNfYzo6RVhQUl9XQ0hBUl9NSU4pLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01JTiBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisgCisgPz4KK2RpZmYgLS1naXQgYS9FeGFtcGxlcy90ZXN0LXN1aXRlL3BocDUvcHJlcHJvY19jb25zdGFudHNfcnVubWUucGhwIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9waHA1L3ByZXByb2NfY29uc3RhbnRzX3J1bm1lLnBocAoraW5kZXggZmI5ZWU0Zi4uNzUyNzAyNiAxMDA2NDQKKy0tLSBhL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKKysrKyBiL0V4YW1wbGVzL3Rlc3Qtc3VpdGUvcGhwNS9wcmVwcm9jX2NvbnN0YW50c19ydW5tZS5waHAKK0BAIC03MCw1ICs3MCw3IEBAIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0xBTkQpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50CisgY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfTE9SKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9MT1IgaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIAorIGNoZWNrOjplcXVhbChnZXR0eXBlKHByZXByb2NfY29uc3RhbnRzOjpFWFBSX0NPTkRJVElPTkFMKSwgImRvdWJsZSIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX0NPTkRJVElPTkFMIGhhcyB1bmV4cGVjdGVkIHR5cGUiKTsKKytjaGVjazo6ZXF1YWwoZ2V0dHlwZShwcmVwcm9jX2NvbnN0YW50czo6RVhQUl9XQ0hBUl9NQVgpLCAiaW50ZWdlciIsICJwcmVwcm9jX2NvbnN0YW50cy5FWFBSX1dDSEFSX01BWCBoYXMgdW5leHBlY3RlZCB0eXBlIik7CisrY2hlY2s6OmVxdWFsKGdldHR5cGUocHJlcHJvY19jb25zdGFudHM6OkVYUFJfV0NIQVJfTUlOKSwgImludGVnZXIiLCAicHJlcHJvY19jb25zdGFudHMuRVhQUl9XQ0hBUl9NSU4gaGFzIHVuZXhwZWN0ZWQgdHlwZSIpOworIAorID8+CitkaWZmIC0tZ2l0IGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pIGIvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pCitpbmRleCAzYTk5OWFkLi4xNmI0NGM5IDEwMDY0NAorLS0tIGEvRXhhbXBsZXMvdGVzdC1zdWl0ZS9wcmVwcm9jX2NvbnN0YW50cy5pCisrKysgYi9FeGFtcGxlcy90ZXN0LXN1aXRlL3ByZXByb2NfY29uc3RhbnRzLmkKK0BAIC04Nyw2ICs4Nyw5IEBACisgI2RlZmluZSBFWFBSX0xPUiAgICAgICAgIDB4RkYgfHwgMQorICNkZWZpbmUgRVhQUl9DT05ESVRJT05BTCB0cnVlID8gMiA6IDIuMgorIAorKyNkZWZpbmUgRVhQUl9XQ0hBUl9NQVggICAoMHg3ZmZmZmZmZiArIEwnXDAnKQorKyNkZWZpbmUgRVhQUl9XQ0hBUl9NSU4gICAoLUVYUFJfV0NIQVJfTUFYIC0gMSkKKysKKyAjZGVmaW5lIEVYUFJfQ0hBUl9DT01QT1VORF9BREQgJ0EnICsgMTIKKyAjZGVmaW5lIEVYUFJfQ0hBUl9DT01QT1VORF9MU0hJRlQgJ0InIDw8IDYKKyAjZGVmaW5lIEhfU1VQUFJFU1NfU0NBTElOR19NQUdJQyAoKCdzJzw8MjQpIHwgKCd1Jzw8MTYpIHwgKCdwJzw8OCkgfCAncCcpCitkaWZmIC0tZ2l0IGEvU291cmNlL0NQYXJzZS9wYXJzZXIueSBiL1NvdXJjZS9DUGFyc2UvcGFyc2VyLnkKK2luZGV4IDJlOTJjZDAuLjI3M2RhZGIgMTAwNjQ0CistLS0gYS9Tb3VyY2UvQ1BhcnNlL3BhcnNlci55CisrKysgYi9Tb3VyY2UvQ1BhcnNlL3BhcnNlci55CitAQCAtMTk0LDcgKzE5NCw3IEBAIGludCBTV0lHX2NwYXJzZV90ZW1wbGF0ZV9yZWR1Y2UoaW50IHRyZWR1Y2UpIHsKKyAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworIAorIHN0YXRpYyBpbnQgcHJvbW90ZV90eXBlKGludCB0KSB7CistICBpZiAodCA8PSBUX1VDSEFSIHx8IHQgPT0gVF9DSEFSKSByZXR1cm4gVF9JTlQ7CisrICBpZiAodCA8PSBUX1VDSEFSIHx8IHQgPT0gVF9DSEFSIHx8IHQgPT0gVF9XQ0hBUikgcmV0dXJuIFRfSU5UOworICAgcmV0dXJuIHQ7CisgfQorIAorLS0gCisyLjkuNQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWdfMy4wLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3dpZy9zd2lnXzMuMC4xMi5iYgppbmRleCBmZTlkMDc0Li40NTAyNmM5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zd2lnL3N3aWdfMy4wLjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N3aWcvc3dpZ18zLjAuMTIuYmIKQEAgLTUsNiArNSw3IEBACiAgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtTm9kZS03LngtYWthLVY4LTUuMi1zdXBwb3J0LnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9zd2lnLTMuMC4xMi1Db3Zlcml0eS1maXgtaXNzdWUtcmVwb3J0ZWQtZm9yLVNXSUdfUHl0aG9uX0ZpeE1ldGhvLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9QeXRob24tRml4LW5ldy1HQ0M4LXdhcm5pbmdzLWluLWdlbmVyYXRlZC1jb2RlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1nZW5lcmF0ZWQtY29kZS1mb3ItY29uc3RhbnQtZXhwcmVzc2lvbnMtY29udGFpbmkucGF0Y2ggXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiODIxMzNkZmE3YmJhNzVmZjlhZDk4YTcwNDZiZTY4N2MiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2NmOWY0NDdhZTdlZDFjNTE3MjJlZmM0NWU3ZjE0NDE4ZDE1ZDdhMWUxNDNhYzlmMDlhNjY4OTk5ZjRmYzk0ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMDEtaW5zdGFsbC1kb24tdC1pbnN0YWxsLW9ic29sZXRlLWZpbGUtY29tMzIubGQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDAxLWluc3RhbGwtZG9uLXQtaW5zdGFsbC1vYnNvbGV0ZS1maWxlLWNvbTMyLmxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmZDdmNDEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDAxLWluc3RhbGwtZG9uLXQtaW5zdGFsbC1vYnNvbGV0ZS1maWxlLWNvbTMyLmxkLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gYmY2ZGI1YjQ4ZWMyNWY4MzkzOWYxZmRlYmI1OTAyOGJjM2M0MGIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJILiBQZXRlciBBbnZpbiAoSW50ZWwpIiA8aHBhQHp5dG9yLmNvbT4KK0RhdGU6IFdlZCwgNiBGZWIgMjAxOSAxMTozMDo1MSAtMDgwMAorU3ViamVjdDogW1BBVENIXSBpbnN0YWxsOiBkb24ndCBpbnN0YWxsIG9ic29sZXRlIGZpbGUgY29tMzIubGQKKworY29tMzIubGQgaGFzIGJlZW4gb2Jzb2xldGUgZm9yIGEgbG9uZyB0aW1lLCBhbmQgaGFzIGJlZW4gcmVtb3ZlZCBub3c7Citkb24ndCBpbnN0YWxsIGl0IGVpdGhlci4KKworUmVwb3J0ZWQtYnk6IEpvYWtpbSBUamVybmx1bmQgPEpvYWtpbS5UamVybmx1bmRAaW5maW5lcmEuY29tPgorU2lnbmVkLW9mZi1ieTogSC4gUGV0ZXIgQW52aW4gKEludGVsKSA8aHBhQHp5dG9yLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIGNvbTMyL2xpYi9NYWtlZmlsZSB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb20zMi9saWIvTWFrZWZpbGUgYi9jb20zMi9saWIvTWFrZWZpbGUKK2luZGV4IDc0ZmZmMTQ5Li42YTkzMTQ5MiAxMDA2NDQKKy0tLSBhL2NvbTMyL2xpYi9NYWtlZmlsZQorKysrIGIvY29tMzIvbGliL01ha2VmaWxlCitAQCAtMTEzLDcgKzExMyw2IEBAIHNwb3RsZXNzOiBjbGVhbgorIAorIGluc3RhbGw6IGFsbAorIAlta2RpciAtbSA3NTUgLXAgJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKQorLQlpbnN0YWxsIC1tIDY0NCAkKFNSQykvY29tMzIubGQgJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKQorIAktcm0gLXJmICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikvaW5jbHVkZQorIAljcCAtciAkKFNSQykvLi4vaW5jbHVkZSAkKElOU1RBTExST09UKSQoQ09NMzJESVIpCisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2gKaW5kZXggMjQwMGM5OC4uZjFkMDFmYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMDgtbGliaW5zdGFsbGVyLXN5c2xpbnV4ZXh0LWltcGxlbWVudC1zeXNsaW51eF9wYXRjaF9iby5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUZyb20gNzhkNzZiODdhNGI4NTVlNmI2NjFhZTQ1NzI4M2E2M2YzODVjMDRjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZWZjZTg3ZTVhYjk4NjY0YzU3ZTVmNGUzOTU1YTJmMzc0N2RmNTczNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogRGF0ZTogRnJpLCAyIEphbiAyMDE1IDEyOjI2OjQ2ICswODAwCi1TdWJqZWN0OiBbUEFUQ0ggOC85XSBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQ6IGltcGxlbWVudAotIHN5c2xpbnV4X3BhdGNoX2Jvb3RzZWN0KCkKK1N1YmplY3Q6IFtQQVRDSF0gbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0OiBpbXBsZW1lbnQgc3lzbGludXhfcGF0Y2hfYm9vdHNlY3QoKQogCiBNb3ZlIHRoZSByZWxhdGVkIGZyb20gZXh0bGludXgvbWFpbi5jIHRvIGxpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jLCB0aGUKIHN5c2xpbnV4X3BhdGNoX2Jvb3RzZWN0KCkgYXJlIHVzZWQgYnkgYm90aCBleHRsaW51eC9tYWluLmMgYW5kCkBAIC0xMiwxNyArMTEsMjEgQEAKIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiBUZXN0ZWQtYnk6IER1IERvbHBoZXIgPGRvbHBoZXIuZHVAaW50ZWwuY29tPgorCitFZGl0ZWQgdG8gaW5jbHVkZSBzeXNtYWNyb3MuaAorCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgogLS0tCiAgZXh0bGludXgvTWFrZWZpbGUgICAgICAgICAgfCAgIDMgKy0KLSBleHRsaW51eC9tYWluLmMgICAgICAgICAgICB8IDE2NyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGxpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jIHwgMTcwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMTc1IGluc2VydGlvbnMoKyksIDE2NSBkZWxldGlvbnMoLSkKKyBleHRsaW51eC9tYWluLmMgICAgICAgICAgICB8IDE2NyArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBsaWJpbnN0YWxsZXIvc3lzbGludXhleHQuYyB8IDE3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKSwgMTY1IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvZXh0bGludXgvTWFrZWZpbGUgYi9leHRsaW51eC9NYWtlZmlsZQotaW5kZXggMDJkMWRiNS4uOTBkZDkyZiAxMDA2NDQKK2luZGV4IDE3MjFlZTU0Li42MmE0OTcyOCAxMDA2NDQKIC0tLSBhL2V4dGxpbnV4L01ha2VmaWxlCiArKysgYi9leHRsaW51eC9NYWtlZmlsZQotQEAgLTMxLDcgKzMxLDggQEAgU1JDUyAgICAgPSBtYWluLmMgXAorQEAgLTMyLDcgKzMyLDggQEAgU1JDUyAgICAgPSBtYWluLmMgXAogIAkgICAuLi9saWJpbnN0YWxsZXIvYWR2aW8uYyBcCiAgCSAgIC4uL2xpYmluc3RhbGxlci9ib290c2VjdF9iaW4uYyBcCiAgCSAgIC4uL2xpYmluc3RhbGxlci9sZGxpbnV4YzMyX2Jpbi5jIFwKQEAgLTMzLDEwICszNiwxMCBAQAogIAogIC5TVUZGSVhFUzogLmMgLm8gLmkgLnMgLlMKIGRpZmYgLS1naXQgYS9leHRsaW51eC9tYWluLmMgYi9leHRsaW51eC9tYWluLmMKLWluZGV4IDA5NzQwYmQuLjZmZTAyNmUgMTAwNjQ0CitpbmRleCBlYmZmN2VhZS4uOWFkZDUwZmIgMTAwNjQ0CiAtLS0gYS9leHRsaW51eC9tYWluLmMKICsrKyBiL2V4dGxpbnV4L21haW4uYwotQEAgLTYwLDYgKzYwLDcgQEAKK0BAIC02Miw2ICs2Miw3IEBACiAgI2luY2x1ZGUgInNldGFkdi5oIgogICNpbmNsdWRlICJzeXNseG9wdC5oIiAvKiB1bmlmaWVkIG9wdGlvbnMgKi8KICAjaW5jbHVkZSAibW91bnRpbmZvLmgiCkBAIC00NCw3ICs0Nyw3IEBACiAgCiAgI2lmZGVmIERFQlVHCiAgIyBkZWZpbmUgZHByaW50ZiBwcmludGYKLUBAIC02NywxMCArNjgsNiBAQAorQEAgLTY5LDEwICs3MCw2IEBACiAgIyBkZWZpbmUgZHByaW50ZiguLi4pICgodm9pZCkwKQogICNlbmRpZgogIApAQCAtNTUsMTAgKzU4LDExIEBACiAgLyogU2luY2Ugd2UgaGF2ZSB1bnVzZWQgMjA0OCBieXRlcyBpbiB0aGUgcHJpbWFyeSBBRyBvZiBhbiBYRlMgcGFydGl0aW9uLAogICAqIHdlIHdpbGwgdXNlIHRoZSBmaXJzdCAwfjUxMiBieXRlcyBzdGFydGluZyBmcm9tIDIwNDggZm9yIHRoZSBTeXNsaW51eAogICAqIGJvb3Qgc2VjdG9yLgotQEAgLTkyLDEzNiArODksNiBAQCBzdGF0aWMgY2hhciBzdWJ2b2xbQlRSRlNfU1VCVk9MX01BWF07CitAQCAtOTMsMTM2ICs5MCw2IEBAIHN0YXRpYyBjaGFyIHN1YnZvbFtCVFJGU19TVUJWT0xfTUFYXTsKKyAjZGVmaW5lIEJUUkZTX0FEVl9PRkZTRVQgKEJUUkZTX0JPT1RfQVJFQV9BX09GRlNFVCArIEJUUkZTX0JPT1RfQVJFQV9BX1NJWkUgXAogIAkJCSAgLSAyKkFEVl9TSVpFKQogIAotIC8qCistLyoKIC0gKiBHZXQgdGhlIHNpemUgb2YgYSBibG9jayBkZXZpY2UKIC0gKi8KIC1zdGF0aWMgdWludDY0X3QgZ2V0X3NpemUoaW50IGRldmZkKQpAQCAtMTg4LDExICsxOTIsMTAgQEAKIC0gICAgcmV0dXJuIHJ2OwogLX0KIC0KLS0vKgorIC8qCiAgICogUXVlcnkgdGhlIGRldmljZSBnZW9tZXRyeSBhbmQgcHV0IGl0IGludG8gdGhlIGJvb3Qgc2VjdG9yLgogICAqIE1hcCB0aGUgZmlsZSBhbmQgcHV0IHRoZSBtYXAgaW4gdGhlIGJvb3Qgc2VjdG9yIGFuZCBmaWxlLgotICAqIFN0aWNrIHRoZSAiY3VycmVudCBkaXJlY3RvcnkiIGlub2RlIG51bWJlciBpbnRvIHRoZSBmaWxlLgotQEAgLTIzMSwxMSArOTgsOCBAQCBvazoKK0BAIC0yMzMsMTEgKzEwMCw4IEBAIG9rOgogIHN0YXRpYyBpbnQgcGF0Y2hfZmlsZV9hbmRfYm9vdGJsb2NrKGludCBmZCwgY29uc3QgY2hhciAqZGlyLCBpbnQgZGV2ZmQpCiAgewogICAgICBzdHJ1Y3Qgc3RhdCBkaXJzdCwgeGRzdDsKQEAgLTIwNCw3ICsyMDcsNyBAQAogICAgICBjaGFyICpkaXJwYXRoLCAqc3VicGF0aCwgKnhkaXJwYXRoOwogICAgICBpbnQgcnY7CiAgCi1AQCAtMjc5LDMzICsxNDMsOCBAQCBzdGF0aWMgaW50IHBhdGNoX2ZpbGVfYW5kX2Jvb3RibG9jayhpbnQgZmQsIGNvbnN0IGNoYXIgKmRpciwgaW50IGRldmZkKQorQEAgLTI4MSwzMyArMTQ1LDggQEAgc3RhdGljIGludCBwYXRjaF9maWxlX2FuZF9ib290YmxvY2soaW50IGZkLCBjb25zdCBjaGFyICpkaXIsIGludCBkZXZmZCkKICAgICAgLyogTm93IHN1YnBhdGggc2hvdWxkIGNvbnRhaW4gdGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGZzIGJhc2UgKi8KICAgICAgZHByaW50Zigic3VicGF0aCA9ICVzXG4iLCBzdWJwYXRoKTsKICAKQEAgLTI0MSwxNCArMjQ0LDE1IEBACiAgICAgIC8qIENvbnN0cnVjdCB0aGUgYm9vdCBmaWxlIG1hcCAqLwogIAogZGlmZiAtLWdpdCBhL2xpYmluc3RhbGxlci9zeXNsaW51eGV4dC5jIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMKLWluZGV4IGJiNTRjZWYuLjVhNDQyM2IgMTAwNjQ0CitpbmRleCBiYjU0Y2VmYy4uOWFlODI4ODQgMTAwNjQ0CiAtLS0gYS9saWJpbnN0YWxsZXIvc3lzbGludXhleHQuYwogKysrIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMKLUBAIC0xLDcgKzEsMTc3IEBACitAQCAtMSw3ICsxLDE3OCBAQAogICNkZWZpbmUgX0dOVV9TT1VSQ0UKICAKICsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisrI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KICsjaW5jbHVkZSA8Z2V0b3B0Lmg+CiArI2luY2x1ZGUgPGV4dDJmcy9leHQyZnMuaD4KICsKQEAgLTQyMyw1ICs0MjcsNSBAQAogIH0KICAKIC0tIAotMS45LjEKKzIuMTcuMQogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDEwLWdjYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC8wMDEwLWdjYzQ2LWNvbXBhdGliaWxpdHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyNzkyNTguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMC1nY2M0Ni1jb21wYXRpYmlsaXR5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotZG9uJ3QgYnJlYWsgd2l0aCBvbGQgY29tcGlsZXJzIGFuZCAtREdOVV9FRklfVVNFX01TX0FCSQotSXQncyBlbnRpcmVseSBsZWdpdGltYXRlIHRvIHJlcXVlc3QgR05VX0VGSV9VU0VfTVNfQUJJIGV2ZW4gaWYgdGhlIGN1cnJlbnQKLWNvbXBpbGVyIGRvZXNuJ3Qgc3VwcG9ydCBpdCwgYW5kIGdudS1lZmkgc2hvdWxkIHRyYW5zcGFyZW50bHkgZmFsbCBiYWNrIHRvCi11c2luZyBsZWdhY3kgdGVjaG5pcXVlcyB0byBzZXQgdGhlIGNhbGxpbmcgY29udmVudGlvbi4gIFdlIGRvbid0IGdldCB0eXBlCi1jaGVja2luZywgYnV0IGF0IGxlYXN0IGl0IHdpbGwgc3RpbGwgY29tcGlsZS4KLQotQWRhcHRlZCBmcm9tIGdudS1lZmkKLQotQXV0aG9yOiBTdGV2ZSBMYW5nYXNlayA8c3RldmUubGFuZ2FzZWtAdWJ1bnR1LmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1JbmRleDogc3lzbGludXgtNi4wMy9lZmk2NC9pbmNsdWRlL2VmaS94ODZfNjQvZWZpYmluZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gc3lzbGludXgtNi4wMy5vcmlnL2VmaTY0L2luY2x1ZGUvZWZpL3g4Nl82NC9lZmliaW5kLmgKLSsrKyBzeXNsaW51eC02LjAzL2VmaTY0L2luY2x1ZGUvZWZpL3g4Nl82NC9lZmliaW5kLmgKLUBAIC0yNSw4ICsyNSw2IEBAIFJldmlzaW9uIEhpc3RvcnkKLSAjaWYgZGVmaW5lZChHTlVfRUZJX1VTRV9NU19BQkkpCi0gICAgICNpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAoX19HTlVDX18gPiA0IHx8IChfX0dOVUNfXyA9PSA0ICYmIF9fR05VQ19NSU5PUl9fID49IDcpKQotICAgICAgICAgI2RlZmluZSBIQVZFX1VTRV9NU19BQkkgMQotLSAgICAjZWxzZQotLSAgICAgICAgI2Vycm9yIENvbXBpbGVyIGlzIHRvbyBvbGQgZm9yIEdOVV9FRklfVVNFX01TX0FCSQotICAgICAjZW5kaWYKLSAjZW5kaWYKLSAKLUluZGV4OiBzeXNsaW51eC02LjAzL2dudS1lZmkvZ251LWVmaS0zLjAvaW5jL3g4Nl82NC9lZmliaW5kLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvZ251LWVmaS9nbnUtZWZpLTMuMC9pbmMveDg2XzY0L2VmaWJpbmQuaAotKysrIHN5c2xpbnV4LTYuMDMvZ251LWVmaS9nbnUtZWZpLTMuMC9pbmMveDg2XzY0L2VmaWJpbmQuaAotQEAgLTI1LDggKzI1LDYgQEAgUmV2aXNpb24gSGlzdG9yeQotICNpZiBkZWZpbmVkKEdOVV9FRklfVVNFX01TX0FCSSkKLSAgICAgI2lmIGRlZmluZWQoX19HTlVDX18pICYmIChfX0dOVUNfXyA+IDQgfHwgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gNykpCi0gICAgICAgICAjZGVmaW5lIEhBVkVfVVNFX01TX0FCSSAxCi0tICAgICNlbHNlCi0tICAgICAgICAjZXJyb3IgQ29tcGlsZXIgaXMgdG9vIG9sZCBmb3IgR05VX0VGSV9VU0VfTVNfQUJJCi0gICAgICNlbmRpZgotICNlbmRpZgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMS1tay1NTUQtZG9lcy1ub3QtdGFrZS1hbnktYXJndW1lbnRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvMDAxMS1tay1NTUQtZG9lcy1ub3QtdGFrZS1hbnktYXJndW1lbnRzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDNjMWNjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4LzAwMTEtbWstTU1ELWRvZXMtbm90LXRha2UtYW55LWFyZ3VtZW50cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLUZyb20gMGYzZDgzYzI1NDkxOTUxZjFmYTg0Yzc5NTczNThlZjNkMWJjZDhhOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDkgU2VwIDIwMTUgMTc6Mzk6MjIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gbWs6IC1NTUQgZG9lcyBub3QgdGFrZSBhbnkgYXJndW1lbnRzCi0KLVNwZWNpZnkgLVdwIGZvciBlYWNoIG9wdGlvbiwgY2xhbmcgc2VlbXMgdG8gbm90IGFjY2VwdAotLVdwLC14LHksLWEsYgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotIG1rL3N5c2xpbnV4Lm1rIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotSW5kZXg6IHN5c2xpbnV4LTYuMDMvbWsvc3lzbGludXgubWsKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBzeXNsaW51eC02LjAzLm9yaWcvbWsvc3lzbGludXgubWsKLSsrKyBzeXNsaW51eC02LjAzL21rL3N5c2xpbnV4Lm1rCi1AQCAtODIsMTEgKzgyLDExIEBAIEFSQ0ggPz0gJChzdHJpcCAkKFNVQkFSQ0gpKQotIEdDQ1dBUk4gID0gLVcgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAkKERFQlVHT1BUKQotIAotICMgQ29tbW9uIHN0YW56YSB0byBtYWtlIGdjYyBnZW5lcmF0ZSAuKi5kIGRlcGVuZGVuY3kgZmlsZXMKLS1NQUtFREVQUyA9IC1XcCwtTVQsJEAsLU1ELCQoZGlyICRAKS4kKG5vdGRpciAkQCkuZAotK01BS0VERVBTID0gLU1UICRAIC1NRAotIAotICMgRGVwZW5kZW5jaWVzIHRoYXQgZXhjbHVkZSBzeXN0ZW0gaGVhZGVyczsgdXNlIHdoZW5ldmVyIHdlIHVzZQotICMgaGVhZGVyIGZpbGVzIGZyb20gdGhlIHBsYXRmb3JtLgotLVVNQUtFREVQUyA9IC1XcCwtTVQsJEAsLU1NRCwkKGRpciAkQCkuJChub3RkaXIgJEApLmQKLStVTUFLRURFUFMgPSAtTVQgJEAgLU1NRAotIAotICMgSXRlbXMgdGhhdCBhcmUgb25seSBhcHByb3ByaWF0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQ7IHRoaXMgZmlsZSBpcwotICMgcmVtb3ZlZCB3aGVuIHRhcmJhbGxzIGFyZSBnZW5lcmF0ZWQuCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC02LjAzLXN5c21hY3Jvcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LTYuMDMtc3lzbWFjcm9zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2U0NmRhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LTYuMDMtc3lzbWFjcm9zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotaHR0cHM6Ly9idWdzLmdlbnRvby5vcmcvNTc5OTI4Ci0KLUZyb20gZDg0ZGIzNGRiZTM5ZDU1YjRkN2U4Njg3NjRjMDU2Njg5YWEwNzkzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KLURhdGU6IFR1ZSwgMTkgQXByIDIwMTYgMDE6NTY6NDEgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gZXh0bGludXg6IHB1bGwgaW4gc3lzL3N5c21hY3Jvcy5oIGZvciBtYWpvci9taW5vci9tYWtlZGV2Ci0KLVRoZXNlIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBzeXMvc3lzbWFjcm9zLmgsIHNvIGFkZCB0aGUgaW5jbHVkZSB0bwotbWFpbi5jLiAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgY29ycmVjdGx5IGluIG1vdW50aW5mby5jLiAgT3RoZXJ3aXNlCi13ZSBnZXQgYnVpbGQgZmFpbHVyZXMgbGlrZToKLQotbWFpbi5vOiBJbiBmdW5jdGlvbiAnZmluZF9kZXZpY2Vfc3lzZnMnOgotZXh0bGludXgvbWFpbi5jOjExMzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gJ21pbm9yJwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KLVNpZ25lZC1vZmYtYnk6IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KLQotVGhlIGZpcnN0IHBhcnQgd2Fzbid0IGVub3VnaCBpbiBPRSBidWlsZCwgSSBoYWQgdG8gYWRkIHRoZSBzYW1lIGZvciBzeXNsaW51eGV4dC5jLgotLS0tCi0gZXh0bGludXgvbWFpbi5jIHwgMSArCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCi0KLWRpZmYgLS1naXQgYS9leHRsaW51eC9tYWluLmMgYi9leHRsaW51eC9tYWluLmMKLWluZGV4IGE3ZWJkNDkuLmViZmY3ZWEgMTAwNjQ0Ci0tLS0gYS9leHRsaW51eC9tYWluLmMKLSsrKyBiL2V4dGxpbnV4L21haW4uYwotQEAgLTM4LDYgKzM4LDcgQEAKLSAjaW5jbHVkZSA8c3lzZXhpdHMuaD4KLSAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Ci0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0rI2luY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4KLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9tb3VudC5oPgotICNpbmNsdWRlIDxzeXMvdmZzLmg+Ci0tLS0gYS9saWJpbnN0YWxsZXIvc3lzbGludXhleHQuYwkyMDE3LTAyLTIyIDIwOjE3OjA1LjMzNjg2OTE4MSArMDEwMAotKysrIGIvbGliaW5zdGFsbGVyL3N5c2xpbnV4ZXh0LmMJMjAxNy0wMi0yMiAyMDoxNjo0Ny41MDA4Njg3NTEgKzAxMDAKLUBAIC0yLDYgKzIsNyBAQAotIAotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotICNpbmNsdWRlIDxnZXRvcHQuaD4KLSAjaW5jbHVkZSA8ZXh0MmZzL2V4dDJmcy5oPgotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXgvc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTJiMWU4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWZpeC1wYXJhbGxlbC1idWlsZGluZy1pc3N1ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLXN5c2xpbnV4LW5hdGl2ZTogZml4IHBhcmFsbGVsIGJ1aWxkaW5nIGlzc3VlCi0KLVRoZXJlIG1pZ2h0IGJlIGFuIGVycm9yIHdoZW4gcGFyYWxsZWwgYnVpbGQ6Ci0KLVtzbmlwXQotY3A6IGNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5IGB0bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zaGFyZS8KLXN5c2xpbnV4L2NvbTMyL2luY2x1ZGUvZ3BsaW5jbHVkZSc6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLW1ha2VbNF06ICoqKiBbaW5zdGFsbF0gRXJyb3IgMQotbWFrZVszXTogKioqIFtncGxsaWJdIEVycm9yIDIKLVtzbmlwXQotCi1UaGlzIGlzIGEgcG90ZW50aWFsIGlzc3VlLiBJbiAke1N9L2NvbTMyL2dwbGxpYi9NYWtlZmlsZSBmaWxlLAotaW5zdGFsbCB0YXJnZXQgd2FudHMgdG8gY29weSAkKFNSQykvLi4vZ3BsaW5jbHVkZSB0bwotJChJTlNUQUxMUk9PVCkkKENPTTMyRElSKS9pbmNsdWRlLyBkaXJlY3RvcnksIGJ1dCBpbiAke1N9L2NvbTMyL2xpYi9NYWtlZmlsZQotZmlsZSwgdGhlIGluc3RhbGwgdGFyZ2V0IHdpbGwgcmVtb3ZlICQoSU5TVEFMTFJPT1QpJChDT00zMkRJUikvaW5jbHVkZQotZGlyZWN0b3J5LiBXZSBuZWVkIHRvIGRvIGNvbTMyL2xpYiBmaXJzdC4KLQotVGhlIHBhdGNoIG1ha2UgY29tMzIvZ3BsbGliIGRlcGVuZHMgb24gY29tMzIvbGliIHRvIGZpeCB0aGlzIGlzc3VlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogQ2hvbmcgTHUgPENob25nLkx1QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb20zMi9NYWtlZmlsZSB8ICAgIDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1JbmRleDogc3lzbGludXgtNi4wMy9jb20zMi9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN5c2xpbnV4LTYuMDMub3JpZy9jb20zMi9NYWtlZmlsZQotKysrIHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLUBAIC0yMSwzICsyMSw0IEBAIHJvc2g6IGxpYiBsaWJ1dGlsCi0gc2FtcGxlczogbGlidXRpbCBlbGZsaW5rL2xkbGludXgKLSBzeXNkdW1wOiBsaWIgbGlidXRpbCBsaWJ1cGxvYWQgZ3BsbGliCi0gbHVhL3NyYzogY21lbnUgbW9kdWxlcwotK2dwbGxpYjogbGliCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eC9zeXNsaW51eC1saWJ1cGxvYWQtZGVwZW5kLWxpYi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2YmE5NmFlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4L3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSA0OTBmYzNiYmQ2NWMyYzI1MmMxZmRmM2RhMGZhYzk4OThhYTllZWE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBGcmksIDE1IEF1ZyAyMDE0IDIxOjA5OjE2IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNvbTMyL01ha2VmaWxlOiBmaXggcGFyYWxsZWwgaXNzdWUKLQotRml4ZWQ6Ci1jcCAtciBzeXNsaW51eC02LjAxL2NvbTMyL2xpYnVwbG9hZC8qLmggaW1hZ2UvdXNyL3NoYXJlL3N5c2xpbnV4L2NvbTMyL2luY2x1ZGUvCi1bc25pcF0KLXJtIC1yZiBpbWFnZS91c3Ivc2hhcmUvc3lzbGludXgvY29tMzIvaW5jbHVkZQotW3NuaXBdCi1jcDogY2Fubm90IGNyZWF0ZSByZWd1bGFyIGZpbGUgYGltYWdlL3Vzci9zaGFyZS9zeXNsaW51eC9jb20zMi9pbmNsdWRlL3NlcmlhbC5oJzogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQotCi1UaGUgY3AgaXMgaGFwcGVuZWQgaW4gdGhlICJsaWJ1cGxvYWQiIGRpciwgd2hpbGUgInJtIC1mciIgaXMgaGFwcGVuZCBpbgotImxpYiIgZGlyLCBsZXQgImxpYnVwbG9hZCIgZGVwZW5kICJsaWIiIHdpbGwgZml4IHRoZSBwcm9ibGVtLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjb20zMi9NYWtlZmlsZSB8ICAgIDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1JbmRleDogc3lzbGludXgtNi4wMy9jb20zMi9NYWtlZmlsZQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHN5c2xpbnV4LTYuMDMub3JpZy9jb20zMi9NYWtlZmlsZQotKysrIHN5c2xpbnV4LTYuMDMvY29tMzIvTWFrZWZpbGUKLUBAIC0yMiwzICsyMiw0IEBAIHNhbXBsZXM6IGxpYnV0aWwgZWxmbGluay9sZGxpbnV4Ci0gc3lzZHVtcDogbGliIGxpYnV0aWwgbGlidXBsb2FkIGdwbGxpYgotIGx1YS9zcmM6IGNtZW51IG1vZHVsZXMKLSBncGxsaWI6IGxpYgotK2xpYnVwbG9hZDogbGliCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjAzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjhiMTA5NC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy9zeXNsaW51eC9zeXNsaW51eF82LjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotU1VNTUFSWSA9ICJNdWx0aS1wdXJwb3NlIGxpbnV4IGJvb3Rsb2FkZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnN5c2xpbnV4Lm9yZy8iCi1MSUNFTlNFID0gIkdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA2MzZlNzNmZjAyMTVlOGQ2NzJkYzRjMzJjMzE3YmIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL1JFQURNRTtiZWdpbmxpbmU9MzU7ZW5kbGluZT00MTttZDU9NTU4ZjJjNzFjYjFmYjliYTUxMWNjZDQ4NThlNDhlOGEiCi0KLSMgSWYgeW91IHJlYWxseSB3YW50IHRvIHJ1biBzeXNsaW51eCwgeW91IG5lZWQgbXRvb2xzLiAgV2UganVzdCB3YW50IHRoZQotIyBsZGxpbnV4Liogc3R1ZmYgZm9yIG5vdywgc28gc2tpcCBtdG9vbHMtbmF0aXZlCi1ERVBFTkRTID0gIm5hc20tbmF0aXZlIHV0aWwtbGludXggZTJmc3Byb2dzIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMvYm9vdC9zeXNsaW51eC9zeXNsaW51eC0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtZml4LXBhcmFsbGVsLWJ1aWxkaW5nLWlzc3VlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LWxpYnVwbG9hZC1kZXBlbmQtbGliLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3N5c2xpbnV4LXJlbW92ZS1jbGVhbi1zY3JpcHQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1saW51eC1zeXNsaW51eC1zdXBwb3J0LWV4dDItMy00LWRldmljZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1vcGVuX2V4dDJfZnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaW5zdGFsbF90b19leHQyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtbGludXgtc3lzbGludXgtYWRkLWV4dF9maWxlX3JlYWQtYW5kLWV4dF9maWxlX3dyaXRlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtbGludXgtc3lzbGludXgtaW1wbGVtZW50LWhhbmRsZV9hZHZfb25fZXh0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtbGludXgtc3lzbGludXgtaW1wbGVtZW50LXdyaXRlX3RvX2V4dC1hbmQtYWRkLXN5c2xpbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA3LWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1leHRfY29uc3RydWN0X3NlY3RtYXBfZnMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOC1saWJpbnN0YWxsZXItc3lzbGludXhleHQtaW1wbGVtZW50LXN5c2xpbnV4X3BhdGNoX2JvLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDktbGludXgtc3lzbGludXgtaW1wbGVtZW50LWluc3RhbGxfYm9vdGJsb2NrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAtZ2NjNDYtY29tcGF0aWJpbGl0eS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDExLW1rLU1NRC1kb2VzLW5vdC10YWtlLWFueS1hcmd1bWVudHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtNi4wMy1zeXNtYWNyb3MucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5MmEyNTNkZjkyMTFlOWMyMDE3Mjc5NmVjZjM4OGYxMyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyNmQzOTg2ZDJiZWExMDlkNWRjMGU0ZjhjNDgyMmE0NTkyNzZjZjAyMTEyNWU4YzlmMjNjM2NjYTVkOGM4NTBlIgotCi1DT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NHxpLjg2KS4qLShsaW51eHxmcmVlYnNkLiopJwotIyBEb24ndCBsZXQgdGhlIHNhbml0eSBjaGVja2VyIHRyaXAgb24gdGhlIDMyIGJpdCByZWFsIG1vZGUgQklPUyBiaW5hcmllcwotSU5TQU5FX1NLSVBfJHtQTn0tbWlzYyA9ICJhcmNoIgotSU5TQU5FX1NLSVBfJHtQTn0tY2hhaW4gPSAiYXJjaCIKLQotRVhUUkFfT0VNQUtFID0gIiBcCi0JQklORElSPSR7YmluZGlyfSBTQklORElSPSR7c2JpbmRpcn0gTElCRElSPSR7bGliZGlyfSBcCi0JREFUQURJUj0ke2RhdGFkaXJ9IE1BTkRJUj0ke21hbmRpcn0gSU5DRElSPSR7aW5jbHVkZWRpcn0gXAotIgotCi1kb19jb25maWd1cmUoKSB7Ci0JIyBkcm9wIHdpbjMyIHRhcmdldHMgb3IgYnVpbGQgZmFpbHMKLQlzZWQgLWUgJ3Msd2luMzIvXFMqLCxnJyAtaSBNYWtlZmlsZQotCi0JIyBjbGVhbiBpbnN0YWxsZXIgZXhlY3V0YWJsZXMgaW5jbHVkZWQgaW4gc291cmNlIHRhcmJhbGwKLQlvZV9ydW5tYWtlIGNsZWFuIGZpcm13YXJlPSJlZmkzMiIgRUZJSU5DPSIke2luY2x1ZGVkaXJ9IgotCSMgTk9URTogVGhlcmUgaXMgYSB0ZW1wb3Jhcnkgd29yayBhcm91bmQgYWJvdmUgdG8gc3BlY2lmeQotCSMJdGhlIGVmaTMyIGFzIHRoZSBmaXJtd2FyZSBlbHNlIHRoZSBwcmUtYnVpbHQgYmlvcwotCSMJZmlsZXMgZ2V0IGVyYXNlZCBjb250cmFyeSB0byB0aGUgZG9jL2Rpc3RpYi50eHQKLQkjCUluIHRoZSBmdXR1cmUgdGhpcyBzaG91bGQgYmUgImJpb3MiIGFuZCBub3QgImVmaTMyIi4KLX0KLQotZG9fY29tcGlsZSgpIHsKLQkjIE1ha2Ugc3VyZSB0aGUgcmVjb21waWxlIGlzIE9LLgotCSMgVGhvdWdoIHRoZSAke0J9IHNob3VsZCBhbHdheXMgZXhpc3QsIHN0aWxsIGNoZWNrIGl0IGJlZm9yZSBmaW5kIGFuZCBybS4KLQlbIC1kICIke0J9IiBdICYmIGZpbmQgJHtCfSAtbmFtZSAnLiouZCcgLXR5cGUgZiAtZXhlYyBybSAtZiB7fSBcOwotCi0JIyBSZWJ1aWxkIG9ubHkgdGhlIGluc3RhbGxlcjsga2VlcCBwcmVjb21waWxlZCBib290bG9hZGVycwotCSMgYXMgcGVyIGF1dGhvcidzIHJlcXVlc3QgKGRvYy9kaXN0cmliLnR4dCkKLQlvZV9ydW5tYWtlIENDPSIke0NDfSAke0NGTEFHU30iIExEPSIke0xEfSIgTERGTEFHUz0iJHtMREZMQUdTfSIgZmlybXdhcmU9ImJpb3MiIGluc3RhbGxlcgotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIgTEQ9IiR7TER9IiBpbnN0YWxsIElOU1RBTExST09UPSIke0R9IiBmaXJtd2FyZT0iYmlvcyIKLQotCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5zeXMgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA2NDQgJHtTfS9iaW9zL2NvcmUvbGRsaW51eC5ic3MgJHtEfSR7ZGF0YWRpcn0vc3lzbGludXgvCi0JaW5zdGFsbCAtbSA3NTUgJHtTfS9iaW9zL2xpbnV4L3N5c2xpbnV4LW5vbXRvb2xzICR7RH0ke2JpbmRpcn0vCi19Ci0KLVBBQ0tBR0VTICs9ICIke1BOfS1ub210b29scyAke1BOfS1leHRsaW51eCAke1BOfS1tYnIgJHtQTn0tY2hhaW4gJHtQTn0tcHhlbGludXggJHtQTn0taXNvbGludXggJHtQTn0tbWlzYyIKLQotUkRFUEVORFNfJHtQTn0gKz0gIm10b29scyIKLVJERVBFTkRTXyR7UE59LW5vbXRvb2xzICs9ICJsaWJleHQyZnMiCi1SREVQRU5EU18ke1BOfS1taXNjICs9ICJwZXJsIgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vc3lzbGludXgiCi1GSUxFU18ke1BOfS1ub210b29scyA9ICIke2JpbmRpcn0vc3lzbGludXgtbm9tdG9vbHMiCi1GSUxFU18ke1BOfS1leHRsaW51eCA9ICIke3NiaW5kaXJ9L2V4dGxpbnV4IgotRklMRVNfJHtQTn0tbWJyID0gIiR7ZGF0YWRpcn0vJHtCUE59L21ici5iaW4iCi1GSUxFU18ke1BOfS1jaGFpbiA9ICIke2RhdGFkaXJ9LyR7QlBOfS9jaGFpbi5jMzIiCi1GSUxFU18ke1BOfS1pc29saW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9pc29saW51eC5iaW4iCi1GSUxFU18ke1BOfS1weGVsaW51eCA9ICIke2RhdGFkaXJ9LyR7QlBOfS9weGVsaW51eC4wIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9saWIqJHtTT0xJQlN9ICR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2luY2x1ZGUgJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvY29tMzIubGQiCi1GSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSAke2xpYmRpcn0vJHtCUE59L2NvbTMyL2xpYiouYSIKLUZJTEVTXyR7UE59LW1pc2MgPSAiJHtkYXRhZGlyfS8ke0JQTn0vKiAke2xpYmRpcn0vJHtCUE59LyogJHtiaW5kaXJ9LyoiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDQtcHJlMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3N5c2xpbnV4L3N5c2xpbnV4XzYuMDQtcHJlMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2U1ZDU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvc3lzbGludXgvc3lzbGludXhfNi4wNC1wcmUyLmJiCkBAIC0wLDAgKzEsOTEgQEAKK1NVTU1BUlkgPSAiTXVsdGktcHVycG9zZSBsaW51eCBib290bG9hZGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNsaW51eC5vcmcvIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9SRUFETUU7YmVnaW5saW5lPTM1O2VuZGxpbmU9NDE7bWQ1PTU1OGYyYzcxY2IxZmI5YmE1MTFjY2Q0ODU4ZTQ4ZThhIgorCisjIElmIHlvdSByZWFsbHkgd2FudCB0byBydW4gc3lzbGludXgsIHlvdSBuZWVkIG10b29scy4gIFdlIGp1c3Qgd2FudCB0aGUKKyMgbGRsaW51eC4qIHN0dWZmIGZvciBub3csIHNvIHNraXAgbXRvb2xzLW5hdGl2ZQorREVQRU5EUyA9ICJuYXNtLW5hdGl2ZSB1dGlsLWxpbnV4IGUyZnNwcm9ncyIKK1BWID0gIjYuMDQtcHJlMiIKKworU1JDX1VSSSA9ICJodHRwczovL3d3dy56eXRvci5jb20vcHViL3N5c2xpbnV4L1Rlc3RpbmcvNi4wNC9zeXNsaW51eC0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vc3lzbGludXgtcmVtb3ZlLWNsZWFuLXNjcmlwdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxpbnV4LXN5c2xpbnV4LXN1cHBvcnQtZXh0Mi0zLTQtZGV2aWNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItbGludXgtc3lzbGludXgtaW1wbGVtZW50LW9wZW5fZXh0Ml9mcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLWxpbnV4LXN5c2xpbnV4LWltcGxlbWVudC1pbnN0YWxsX3RvX2V4dDIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1saW51eC1zeXNsaW51eC1hZGQtZXh0X2ZpbGVfcmVhZC1hbmQtZXh0X2ZpbGVfd3JpdGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaGFuZGxlX2Fkdl9vbl9leHQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtd3JpdGVfdG9fZXh0LWFuZC1hZGQtc3lzbGluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDctbGludXgtc3lzbGludXgtaW1wbGVtZW50LWV4dF9jb25zdHJ1Y3Rfc2VjdG1hcF9mcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA4LWxpYmluc3RhbGxlci1zeXNsaW51eGV4dC1pbXBsZW1lbnQtc3lzbGludXhfcGF0Y2hfYm8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOS1saW51eC1zeXNsaW51eC1pbXBsZW1lbnQtaW5zdGFsbF9ib290YmxvY2sucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbnN0YWxsLWRvbi10LWluc3RhbGwtb2Jzb2xldGUtZmlsZS1jb20zMi5sZC5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjJiMzFjNzhmMDg3Zjk5MTc5ZmViMzU3ZGEzMTJkN2VjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ0NDFhNWQ1OTNmODViYjZlOGQ1NzhjZjY2NTNmYjRlYzMwZjllOGY0YTIzMTVhM2Q4ZjJkMGE4YjNmYWRmOTQiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3d3dy56eXRvci5jb20vcHViL3N5c2xpbnV4LyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInN5c2xpbnV4LSg/UDxwdmVyPi4rKVwudGFyIgorVVBTVFJFQU1fVkVSU0lPTl9VTktOT1dOID0gIjEiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODYpLiotKGxpbnV4fGZyZWVic2QuKiknCisjIERvbid0IGxldCB0aGUgc2FuaXR5IGNoZWNrZXIgdHJpcCBvbiB0aGUgMzIgYml0IHJlYWwgbW9kZSBCSU9TIGJpbmFyaWVzCitJTlNBTkVfU0tJUF8ke1BOfS1taXNjID0gImFyY2giCitJTlNBTkVfU0tJUF8ke1BOfS1jaGFpbiA9ICJhcmNoIgorCitFWFRSQV9PRU1BS0UgPSAiIFwKKwlCSU5ESVI9JHtiaW5kaXJ9IFNCSU5ESVI9JHtzYmluZGlyfSBMSUJESVI9JHtsaWJkaXJ9IFwKKwlEQVRBRElSPSR7ZGF0YWRpcn0gTUFORElSPSR7bWFuZGlyfSBJTkNESVI9JHtpbmNsdWRlZGlyfSBcCisiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwkjIGRyb3Agd2luMzIgdGFyZ2V0cyBvciBidWlsZCBmYWlscworCXNlZCAtZSAncyx3aW4zMi9cUyosLGcnIC1pIE1ha2VmaWxlCisKKwkjIGNsZWFuIGluc3RhbGxlciBleGVjdXRhYmxlcyBpbmNsdWRlZCBpbiBzb3VyY2UgdGFyYmFsbAorCW9lX3J1bm1ha2UgY2xlYW4gZmlybXdhcmU9ImVmaTMyIiBFRklJTkM9IiR7aW5jbHVkZWRpcn0iCisJIyBOT1RFOiBUaGVyZSBpcyBhIHRlbXBvcmFyeSB3b3JrIGFyb3VuZCBhYm92ZSB0byBzcGVjaWZ5CisJIwl0aGUgZWZpMzIgYXMgdGhlIGZpcm13YXJlIGVsc2UgdGhlIHByZS1idWlsdCBiaW9zCisJIwlmaWxlcyBnZXQgZXJhc2VkIGNvbnRyYXJ5IHRvIHRoZSBkb2MvZGlzdGliLnR4dAorCSMJSW4gdGhlIGZ1dHVyZSB0aGlzIHNob3VsZCBiZSAiYmlvcyIgYW5kIG5vdCAiZWZpMzIiLgorfQorCitkb19jb21waWxlKCkgeworCSMgTWFrZSBzdXJlIHRoZSByZWNvbXBpbGUgaXMgT0suCisJIyBUaG91Z2ggdGhlICR7Qn0gc2hvdWxkIGFsd2F5cyBleGlzdCwgc3RpbGwgY2hlY2sgaXQgYmVmb3JlIGZpbmQgYW5kIHJtLgorCVsgLWQgIiR7Qn0iIF0gJiYgZmluZCAke0J9IC1uYW1lICcuKi5kJyAtdHlwZSBmIC1leGVjIHJtIC1mIHt9IFw7CisKKwkjIFJlYnVpbGQgb25seSB0aGUgaW5zdGFsbGVyOyBrZWVwIHByZWNvbXBpbGVkIGJvb3Rsb2FkZXJzCisJIyBhcyBwZXIgYXV0aG9yJ3MgcmVxdWVzdCAoZG9jL2Rpc3RyaWIudHh0KQorCW9lX3J1bm1ha2UgQ0M9IiR7Q0N9ICR7Q0ZMQUdTfSIgTEQ9IiR7TER9IiBMREZMQUdTPSIke0xERkxBR1N9IiBmaXJtd2FyZT0iYmlvcyIgaW5zdGFsbGVyCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSBDQz0iJHtDQ30gJHtDRkxBR1N9IiBMRD0iJHtMRH0iIGZpcm13YXJlPSJiaW9zIiBpbnN0YWxsIElOU1RBTExST09UPSIke0R9IgorCisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDY0NCAke1N9L2Jpb3MvY29yZS9sZGxpbnV4LnN5cyAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDY0NCAke1N9L2Jpb3MvY29yZS9sZGxpbnV4LmJzcyAke0R9JHtkYXRhZGlyfS9zeXNsaW51eC8KKwlpbnN0YWxsIC1tIDc1NSAke1N9L2Jpb3MvbGludXgvc3lzbGludXgtbm9tdG9vbHMgJHtEfSR7YmluZGlyfS8KK30KKworUEFDS0FHRVMgKz0gIiR7UE59LW5vbXRvb2xzICR7UE59LWV4dGxpbnV4ICR7UE59LW1iciAke1BOfS1jaGFpbiAke1BOfS1weGVsaW51eCAke1BOfS1pc29saW51eCAke1BOfS1taXNjIgorCitSREVQRU5EU18ke1BOfSArPSAibXRvb2xzIgorUkRFUEVORFNfJHtQTn0tbm9tdG9vbHMgKz0gImxpYmV4dDJmcyIKK1JERVBFTkRTXyR7UE59LW1pc2MgKz0gInBlcmwiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9zeXNsaW51eCIKK0ZJTEVTXyR7UE59LW5vbXRvb2xzID0gIiR7YmluZGlyfS9zeXNsaW51eC1ub210b29scyIKK0ZJTEVTXyR7UE59LWV4dGxpbnV4ID0gIiR7c2JpbmRpcn0vZXh0bGludXgiCitGSUxFU18ke1BOfS1tYnIgPSAiJHtkYXRhZGlyfS8ke0JQTn0vbWJyLmJpbiIKK0ZJTEVTXyR7UE59LWNoYWluID0gIiR7ZGF0YWRpcn0vJHtCUE59L2NoYWluLmMzMiIKK0ZJTEVTXyR7UE59LWlzb2xpbnV4ID0gIiR7ZGF0YWRpcn0vJHtCUE59L2lzb2xpbnV4LmJpbiIKK0ZJTEVTXyR7UE59LXB4ZWxpbnV4ID0gIiR7ZGF0YWRpcn0vJHtCUE59L3B4ZWxpbnV4LjAiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7ZGF0YWRpcn0vJHtCUE59L2NvbTMyL2xpYioke1NPTElCU30gJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvaW5jbHVkZSAke2RhdGFkaXJ9LyR7QlBOfS9jb20zMi9jb20zMi5sZCIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtkYXRhZGlyfS8ke0JQTn0vY29tMzIvbGliKi5hICR7bGliZGlyfS8ke0JQTn0vY29tMzIvbGliKi5hIgorRklMRVNfJHtQTn0tbWlzYyA9ICIke2RhdGFkaXJ9LyR7QlBOfS8qICR7bGliZGlyfS8ke0JQTn0vKiAke2JpbmRpcn0vKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNmLWFnZW50L3RjZi1hZ2VudF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgppbmRleCBkOTAxYzE4Li5iNGJkNGNhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2YtYWdlbnQvdGNmLWFnZW50X2dpdC5iYgpAQCAtNDEsNiArNDEsNyBAQAogCiAjIFRoZXNlIGZlYXR1cmVzIGRvbid0IGNvbXBpbGUgZm9yIHNldmVyYWwgY2FzZXMuCiAjCitDRkxBR1NfYXBwZW5kX2FyYyA9ICIgJHtMQ0xfU1RPUF9TRVJWSUNFU30iCiBDRkxBR1NfYXBwZW5kX21pcHMgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgogQ0ZMQUdTX2FwcGVuZF9taXBzNjQgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgogQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiICR7TENMX1NUT1BfU0VSVklDRVN9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsL3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbC9ydW4tcHRlc3QKaW5kZXggZGFkYmE2NS4uMjJiYjY5YSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsL3J1bi1wdGVzdAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2wvcnVuLXB0ZXN0CkBAIC0xLDggKzEsMTMgQEAKICMhL2Jpbi9zaAogCi1mb3IgaSBpbiBgbHMgdGVzdHMvKi50ZXN0IHxhd2sgLUYvICd7cHJpbnQgJDJ9J2A7IFwKLSAgICBkbyBUQ0xfTElCUkFSWT1saWJyYXJ5IC4vdGNsdGVzdCB0ZXN0cy9hbGwudGNsIC1maWxlICRpID4kaS50bXAgMj4mMTsgXAotICAgIGdyZXAgLXEgIl5GaWxlcyB3aXRoIGZhaWxpbmcgdGVzdHM6IiAkaS50bXA7IFwKLSAgICBpZiBbICQ/IC1lcSAwIF07IHRoZW4gZWNobyAiRkFJTDogJGkiOyBcCi0gICAgZWxzZSBlY2hvICJQQVNTOiAkaSI7IHJtIC1mICRpLnRtcDsgZmk7IFwKK2ZvciBpIGluIGBscyB0ZXN0cy8qLnRlc3QgfCBhd2sgLUYvICd7cHJpbnQgJDJ9J2A7IGRvCisgICAgVENMX0xJQlJBUlk9bGlicmFyeSAuL3RjbHRlc3QgdGVzdHMvYWxsLnRjbCAtZmlsZSAkaSA+JGkubG9nIDI+JjEKKyAgICBncmVwIC1xICJeRmlsZXMgd2l0aCBmYWlsaW5nIHRlc3RzOiIgJGkubG9nCisgICAgaWYgWyAkPyAtZXEgMCBdOyB0aGVuCisgICAgICAgIGVjaG8gIkZBSUw6ICRpIgorICAgICAgICBjYXQgJGkubG9nCisgICAgZWxzZQorICAgICAgICBlY2hvICJQQVNTOiAkaSIKKyAgICBmaQorICAgIHJtIC1mICRpLmxvZwogZG9uZQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi44LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmUyZTg5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3RjbHRrL3RjbF84LjYuOC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi1TVU1NQVJZID0gIlRvb2wgQ29tbWFuZCBMYW5ndWFnZSIKLUhPTUVQQUdFID0gImh0dHA6Ly90Y2wuc291cmNlZm9yZ2UubmV0IgotU0VDVElPTiA9ICJkZXZlbC90Y2x0ayIKLQotIyBodHRwOi8vd3d3LnRjbC50ay9zb2Z0d2FyZS90Y2x0ay9saWNlbnNlLmh0bWwKLUxJQ0VOU0UgPSAidGNsICYgQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi9jb21wYXQvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi9saWJyYXJ5L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vbWFjb3N4L2xpY2Vuc2UudGVybXM7bWQ1PTA1OGY2MjI5Nzk4MjgxYmJjYWM0MjM5Yzc4OGNmYTM4IFwKLSAgICBmaWxlOi8vLi4vdGVzdHMvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotICAgIGZpbGU6Ly8uLi93aW4vbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAotIgotCi1ERVBFTkRTID0gInRjbC1uYXRpdmUgemxpYiIKLQotQkFTRV9TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS90Y2wvJHtCUE59JHtQVn0tc3JjLnRhci5neiBcCi0gICAgICAgICAgICAgICAgZmlsZTovL3RjbC1hZGQtc29uYW1lLnBhdGNoIgotU1JDX1VSSSA9ICIke0JBU0VfU1JDX1VSSX0gXAotICAgICAgICAgICBmaWxlOi8vZml4X25vbl9uYXRpdmVfYnVpbGRfaXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4X2lzc3VlX3dpdGhfb2xkX2Rpc3Ryb19nbGliYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ub19wYWNrYWdlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly90Y2wtcmVtb3ZlLWhhcmRjb2RlZC1pbnN0YWxsLXBhdGgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vYWx0ZXItaW5jbHVkZWRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotIgotU1JDX1VSSVttZDVzdW1dID0gIjgxNjU2ZDMzNjdhZjAzMmUwYWU2MTU3ZWZmMTM0Zjg5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM0M2NiMGMxNTE4Y2U0MmIwMGU3YzhmNmVhZGRkNTE5NWM1M2E5OGY5NGFkYzcxNzIzNGE2NWNiY2ZkM2Y5NmEiCi0KLVNSQ19VUklfY2xhc3MtbmF0aXZlID0gIiR7QkFTRV9TUkNfVVJJfSIKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfSR7UFZ9L3VuaXgiCi0KLVZFUiA9ICIke1BWfSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgYmluY29uZmlnCi0KLUVYVFJBX09FQ09ORiA9ICItLWVuYWJsZS10aHJlYWRzIC0tZGlzYWJsZS1ycGF0aCAtLWxpYmRpcj0ke2xpYmRpcn0iCi0KLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQllY2hvID4gJHtTfS8uLi9jb21wYXQvZml4c3RydG9kLmMKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgaW5zdGFsbC1wcml2YXRlLWhlYWRlcnMKLQlsbiAtc2YgLi90Y2xzaCR7VkVSfSAke0R9JHtiaW5kaXJ9L3RjbHNoCi0JbG4gLXNmIHRjbHNoOC42ICR7RH0ke2JpbmRpcn0vdGNsc2gke1ZFUn0KLQlzZWQgLWkgInM7LUwke0J9Oy1MJHtTVEFHSU5HX0xJQkRJUn07ZyIgdGNsQ29uZmlnLnNoCi0Jc2VkIC1pICJzOycke1dPUktESVJ9Oycke1NUQUdJTkdfSU5DRElSfTtnIiB0Y2xDb25maWcuc2gKLQlpbnN0YWxsIC1kICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9Ci0JaW5zdGFsbCAtbSAwNzU1IHRjbENvbmZpZy5zaCAke0R9JHtiaW5kaXJfY3Jvc3NzY3JpcHRzfQotCWluc3RhbGwgLW0gMDc1NSB0Y2xDb25maWcuc2ggJHtEfSR7bGliZGlyfQotCWZvciBkaXIgaW4gY29tcGF0IGdlbmVyaWMgdW5peDsgZG8KLQkJaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpcgotCQlpbnN0YWxsIC1tIDA2NDQgJHtTfS8uLi8kZGlyLyouaCAke0R9JHtpbmNsdWRlZGlyfS8ke0JQTn0ke1ZFUn0vJGRpci8KLQlkb25lCi19Ci0KLVNZU1JPT1RfRElSUyArPSAiJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfSIKLQotUEFDS0FHRVMgPSsgInRjbC1saWIiCi1GSUxFU190Y2wtbGliID0gIiR7bGliZGlyfS9saWJ0Y2w4LjYuc28uKiIKLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdGNsJHtWRVJ9ICR7bGliZGlyfS90Y2w4LjYgJHtsaWJkaXJ9L3RjbDgiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS90Y2xDb25maWcuc2ggJHtsaWJkaXJ9L3RjbG9vQ29uZmlnLnNoIgotCi0jIGlzbid0IGdldHRpbmcgcGlja2VkIHVwIGJ5IHNobGlicyBjb2RlCi1SREVQRU5EU18ke1BOfSArPSAidGNsLWxpYiIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAibGliZ2NjIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWRvX2NvbXBpbGVfcHRlc3QoKSB7Ci0Jb2VfcnVubWFrZSB0Y2x0ZXN0Ci19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JY3AgJHtCfS90Y2x0ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgJHtTfS8uLi9saWJyYXJ5ICR7RH0ke1BURVNUX1BBVEh9Ci0JY3AgLXIgJHtTfS8uLi90ZXN0cyAke0R9JHtQVEVTVF9QQVRIfQotfQotCi0jIEZpeCBzb21lIHBhdGhzIHRoYXQgbWlnaHQgYmUgdXNlZCBieSBUY2wgZXh0ZW5zaW9ucwotQklOQ09ORklHX0dMT0IgPSAiKkNvbmZpZy5zaCIKLQotIyBGaXggdGhlIHBhdGggaW4gc3N0YXRlCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiKkNvbmZpZy5zaCIKLQotIyBDbGVhbnVwIGhvc3QgcGF0aCBmcm9tICR7bGliZGlyfS90Y2xDb25maWcuc2ggYW5kIHJlbW92ZSB0aGUKLSMgJHtiaW5kaXJfY3Jvc3NzY3JpcHRzfS90Y2xDb25maWcuc2ggZnJvbSB0YXJnZXQKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAidGNsX3BhY2thZ2VfcHJlcHJvY2VzcyIKLXRjbF9wYWNrYWdlX3ByZXByb2Nlc3MoKSB7Ci0Jc2VkIC1pIC1lICJzOyR7REVCVUdfUFJFRklYX01BUH07O2ciIFwKLQkgICAgICAgLWUgInM7LUwke1NUQUdJTkdfTElCRElSfTstTCR7bGliZGlyfTtnIiBcCi0JICAgICAgIC1lICJzOyR7U1RBR0lOR19JTkNESVJ9OyR7aW5jbHVkZWRpcn07ZyIgXAotCSAgICAgICAtZSAiczstLXN5c3Jvb3Q9JHtSRUNJUEVfU1lTUk9PVH07O2ciIFwKLQkgICAgICAgJHtQS0dEfSR7bGliZGlyfS90Y2xDb25maWcuc2gKLQotCXJtIC1mICR7UEtHRH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaAotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdGNsdGsvdGNsXzguNi45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmMzc3ODEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy90Y2x0ay90Y2xfOC42LjkuYmIKQEAgLTAsMCArMSwxMDEgQEAKK1NVTU1BUlkgPSAiVG9vbCBDb21tYW5kIExhbmd1YWdlIgorSE9NRVBBR0UgPSAiaHR0cDovL3RjbC5zb3VyY2Vmb3JnZS5uZXQiCitTRUNUSU9OID0gImRldmVsL3RjbHRrIgorCisjIGh0dHA6Ly93d3cudGNsLnRrL3NvZnR3YXJlL3RjbHRrL2xpY2Vuc2UuaHRtbAorTElDRU5TRSA9ICJ0Y2wgJiBCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL2NvbXBhdC9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL2xpYnJhcnkvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi9tYWNvc3gvbGljZW5zZS50ZXJtczttZDU9MDU4ZjYyMjk3OTgyODFiYmNhYzQyMzljNzg4Y2ZhMzggXAorICAgIGZpbGU6Ly8uLi90ZXN0cy9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisgICAgZmlsZTovLy4uL3dpbi9saWNlbnNlLnRlcm1zO21kNT0wNThmNjIyOTc5ODI4MWJiY2FjNDIzOWM3ODhjZmEzOCBcCisiCisKK0RFUEVORFMgPSAidGNsLW5hdGl2ZSB6bGliIgorCitCQVNFX1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3RjbC8ke0JQTn0ke1BWfS1zcmMudGFyLmd6IFwKKyAgICAgICAgICAgICAgICBmaWxlOi8vdGNsLWFkZC1zb25hbWUucGF0Y2giCitTUkNfVVJJID0gIiR7QkFTRV9TUkNfVVJJfSBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfbm9uX25hdGl2ZV9idWlsZF9pc3N1ZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXhfaXNzdWVfd2l0aF9vbGRfZGlzdHJvX2dsaWJjLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25vX3BhY2thZ2VzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3RjbC1yZW1vdmUtaGFyZGNvZGVkLWluc3RhbGwtcGF0aC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9hbHRlci1pbmNsdWRlZGlyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiYWEwYTEyMWQ5NWEwZTdiNzNhMDM2ZjI2MDI4NTM4ZDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWQwY2QyZGUyYzg3YjliYTgwODZiNDM5NTdhMGRlM2ViMmViNTY1YzcxNTlkNWY1M2NjYmJhM2ZlYjkxNWY0ZSIKKworU1JDX1VSSV9jbGFzcy1uYXRpdmUgPSAiJHtCQVNFX1NSQ19VUkl9IgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59JHtQVn0vdW5peCIKKworVkVSID0gIiR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBiaW5jb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRocmVhZHMgLS1kaXNhYmxlLXJwYXRoIC0tbGliZGlyPSR7bGliZGlyfSIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCWVjaG8gPiAke1N9Ly4uL2NvbXBhdC9maXhzdHJ0b2QuYworfQorCitkb19pbnN0YWxsKCkgeworCWF1dG90b29sc19kb19pbnN0YWxsCisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsLXByaXZhdGUtaGVhZGVycworCWxuIC1zZiAuL3RjbHNoJHtWRVJ9ICR7RH0ke2JpbmRpcn0vdGNsc2gKKwlsbiAtc2YgdGNsc2g4LjYgJHtEfSR7YmluZGlyfS90Y2xzaCR7VkVSfQorCXNlZCAtaSAiczstTCR7Qn07LUwke1NUQUdJTkdfTElCRElSfTtnIiB0Y2xDb25maWcuc2gKKwlzZWQgLWkgInM7JyR7V09SS0RJUn07JyR7U1RBR0lOR19JTkNESVJ9O2ciIHRjbENvbmZpZy5zaAorCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30KKwlpbnN0YWxsIC1tIDA3NTUgdGNsQ29uZmlnLnNoICR7RH0ke2JpbmRpcl9jcm9zc3NjcmlwdHN9CisJaW5zdGFsbCAtbSAwNzU1IHRjbENvbmZpZy5zaCAke0R9JHtsaWJkaXJ9CisJZm9yIGRpciBpbiBjb21wYXQgZ2VuZXJpYyB1bml4OyBkbworCQlpbnN0YWxsIC1kICR7RH0ke2luY2x1ZGVkaXJ9LyR7QlBOfSR7VkVSfS8kZGlyCisJCWluc3RhbGwgLW0gMDY0NCAke1N9Ly4uLyRkaXIvKi5oICR7RH0ke2luY2x1ZGVkaXJ9LyR7QlBOfSR7VkVSfS8kZGlyLworCWRvbmUKK30KKworU1lTUk9PVF9ESVJTICs9ICIke2JpbmRpcl9jcm9zc3NjcmlwdHN9IgorCitQQUNLQUdFUyA9KyAidGNsLWxpYiIKK0ZJTEVTX3RjbC1saWIgPSAiJHtsaWJkaXJ9L2xpYnRjbDguNi5zby4qIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS90Y2wke1ZFUn0gJHtsaWJkaXJ9L3RjbDguNiAke2xpYmRpcn0vdGNsOCIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3RjbENvbmZpZy5zaCAke2xpYmRpcn0vdGNsb29Db25maWcuc2giCisKKyMgaXNuJ3QgZ2V0dGluZyBwaWNrZWQgdXAgYnkgc2hsaWJzIGNvZGUKK1JERVBFTkRTXyR7UE59ICs9ICJ0Y2wtbGliIgorUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJsaWJnY2MiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKwlvZV9ydW5tYWtlIHRjbHRlc3QKK30KKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwljcCAke0J9L3RjbHRlc3QgJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9Ly4uL2xpYnJhcnkgJHtEfSR7UFRFU1RfUEFUSH0KKwljcCAtciAke1N9Ly4uL3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9Cit9CisKKyMgRml4IHNvbWUgcGF0aHMgdGhhdCBtaWdodCBiZSB1c2VkIGJ5IFRjbCBleHRlbnNpb25zCitCSU5DT05GSUdfR0xPQiA9ICIqQ29uZmlnLnNoIgorCisjIEZpeCB0aGUgcGF0aCBpbiBzc3RhdGUKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICIqQ29uZmlnLnNoIgorCisjIENsZWFudXAgaG9zdCBwYXRoIGZyb20gJHtsaWJkaXJ9L3RjbENvbmZpZy5zaCBhbmQgcmVtb3ZlIHRoZQorIyAke2JpbmRpcl9jcm9zc3NjcmlwdHN9L3RjbENvbmZpZy5zaCBmcm9tIHRhcmdldAorUEFDS0FHRV9QUkVQUk9DRVNTX0ZVTkNTICs9ICJ0Y2xfcGFja2FnZV9wcmVwcm9jZXNzIgordGNsX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKKwlzZWQgLWkgLWUgInM7JHtERUJVR19QUkVGSVhfTUFQfTs7ZyIgXAorCSAgICAgICAtZSAiczstTCR7U1RBR0lOR19MSUJESVJ9Oy1MJHtsaWJkaXJ9O2ciIFwKKwkgICAgICAgLWUgInM7JHtTVEFHSU5HX0lOQ0RJUn07JHtpbmNsdWRlZGlyfTtnIiBcCisJICAgICAgIC1lICJzOy0tc3lzcm9vdD0ke1JFQ0lQRV9TWVNST09UfTs7ZyIgXAorCSAgICAgICAke1BLR0R9JHtsaWJkaXJ9L3RjbENvbmZpZy5zaAorCisJcm0gLWYgJHtQS0dEfSR7YmluZGlyX2Nyb3Nzc2NyaXB0c30vdGNsQ29uZmlnLnNoCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGEvZGlzYWJsZS1ncmFwaHZpei5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCmluZGV4IDQ3NzUwNGQuLmU1MjFiYzggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYS9kaXNhYmxlLWdyYXBodml6LnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA1N2Y2YjY2MWQ3ODY1ZThjZWNkMTdiZTM2ZmFiNjhmN2Y4NDQ3OTk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiMjcyM2ZmMThiNzBjNjdjOGE3ZmFiNTM3NWE3ZjNjNDQyZDQ5NzkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgogRGF0ZTogV2VkLCA2IFNlcCAyMDE3IDE4OjUyOjU1ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIGxpYnZhbGFkb2M6IEFsbG93IGRpc2FibGluZyB0aGUgZ3JhcGh2aXogZGVwZW5kZW5jeSBvZgpAQCAtMTAsMTAgKzEwLDEwIEBACiBVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbYnVnemlsbGEgbGluayBhYm92ZV0KIAogLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICB8IDYwICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCi0gbGlidmFsYWRvYy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysrKysrLS0tLQotIGxpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhICAgICAgfCAgOCArKysrKwotIGxpYnZhbGFkb2MvaHRtbC9odG1sbWFya3Vwd3JpdGVyLnZhbGEgfCAgNCArKysKKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNjAgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgbGlidmFsYWRvYy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysrLS0tCisgbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEgICAgICB8ICA4ICsrKysKKyBsaWJ2YWxhZG9jL2h0bWwvaHRtbG1hcmt1cHdyaXRlci52YWxhIHwgIDQgKysKICA0IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCkBAIC04OCwxMCArODgsMTAgQEAKICAKICBBQ19QQVRIX1BST0coW1hTTFRQUk9DXSwgW3hzbHRwcm9jXSwgOikKIGRpZmYgLS1naXQgYS9saWJ2YWxhZG9jL01ha2VmaWxlLmFtIGIvbGlidmFsYWRvYy9NYWtlZmlsZS5hbQotaW5kZXggMzg0MjkyZi4uY2NlNTBkOCAxMDA2NDQKK2luZGV4IGYzZjc5MGUuLjNjNWRjNGMgMTAwNjQ0CiAtLS0gYS9saWJ2YWxhZG9jL01ha2VmaWxlLmFtCiArKysgYi9saWJ2YWxhZG9jL01ha2VmaWxlLmFtCi1AQCAtMTI2LDEwICsxMjYsNiBAQCBsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTID0gXAorQEAgLTEyOCwxMCArMTI4LDYgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKICAJY29udGVudC90YWJsZXJvdy52YWxhIFwKICAJY29udGVudC90YWdsZXQudmFsYSBcCiAgCWNvbnRlbnQvdGV4dC52YWxhIFwKQEAgLTEwMiw3ICsxMDIsNyBAQAogIAlwYXJzZXIvbWFueXJ1bGUudmFsYSBcCiAgCXBhcnNlci9vbmVvZnJ1bGUudmFsYSBcCiAgCXBhcnNlci9vcHRpb25hbHJ1bGUudmFsYSBcCi1AQCAtMTU2LDEzICsxNTIsMjQgQEAgbGlidmFsYWRvY19sYV9WQUxBU09VUkNFUyA9IFwKK0BAIC0xNTgsMTMgKzE1NCwyNCBAQCBsaWJ2YWxhZG9jX2xhX1ZBTEFTT1VSQ0VTID0gXAogIAloaWdobGlnaHRlci9jb2RldG9rZW4udmFsYSBcCiAgCWhpZ2hsaWdodGVyL2hpZ2hsaWdodGVyLnZhbGEgXAogIAlodG1sL2Jhc2ljZG9jbGV0LnZhbGEgXApAQCAtMTI4LDE4ICsxMjgsMjAgQEAKICBsaWJ2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQF9sYV9TT1VSQ0VTID0gXAogIAlsaWJ2YWxhZG9jLnZhbGEuc3RhbXAgXAogIAkkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVM6LnZhbGE9LmMpIFwKLUBAIC0xODIsOSArMTg5LDkgQEAgbGlidmFsYWRvYy52YWxhLnN0YW1wOiAkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMpCitAQCAtMTg0LDExICsxOTEsMTEgQEAgbGlidmFsYWRvYy52YWxhLnN0YW1wOiAkKGxpYnZhbGFkb2NfbGFfVkFMQVNPVVJDRVMpCiAgCQktLWxpYnJhcnkgdmFsYWRvYyBcCiAgCQktLXZhcGkgdmFsYWRvY0BQQUNLQUdFX1NVRkZJWEAudmFwaSBcCiAgCQktLXZhcGlkaXIgJCh0b3Bfc3JjZGlyKS92YXBpIC0tcGtnIGdtb2R1bGUtMi4wIFwKIC0JCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL3ZhcGkgLS1wa2cgbGliZ3ZjIFwKICAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2dlZSAtLXBrZyBnZWUgXAogIAkJLS12YXBpZGlyICQodG9wX3NyY2RpcikvdmFsYSAtLXBrZyB2YWxhIFwKKyAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2Njb2RlIC0tcGtnIGNjb2RlIFwKKyAJCS0tdmFwaWRpciAkKHRvcF9zcmNkaXIpL2NvZGVnZW4gLS1wa2cgY29kZWdlbiBcCiArCQkkKExJQkdWQ19QS0cpIFwKICAJCS0tcGtnIGNvbmZpZyBcCiAgCQkkKGZpbHRlciAlLnZhbGEgJS5jLCReKQogIAl0b3VjaCAkQAotQEAgLTIxMSw2ICsyMTgsOSBAQCBub2Rpc3RfcGtnY29uZmlnX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5wYworQEAgLTIxNyw2ICsyMjQsOSBAQCBub2Rpc3RfcGtnY29uZmlnX0RBVEEgPSB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5wYwogIAogIHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALnBjOiB2YWxhZG9jLnBjCiAgCWNwICQ8ICRACkBAIC0xNDksNyArMTUxLDcgQEAKICAKICB2YXBpZGlyID0gJChkYXRhZGlyKS92YWxhL3ZhcGkKICBkaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALnZhcGkKLUBAIC0yMTgsNiArMjI4LDkgQEAgbm9kaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALmRlcHMKK0BAIC0yMjQsNiArMjM0LDkgQEAgbm9kaXN0X3ZhcGlfREFUQSA9IHZhbGFkb2NAUEFDS0FHRV9TVUZGSVhALmRlcHMKICAKICB2YWxhZG9jQFBBQ0tBR0VfU1VGRklYQC5kZXBzOiB2YWxhZG9jLmRlcHMKICAJY3AgJDwgJEAKQEAgLTE2MCw3ICsxNjIsNyBAQAogIEVYVFJBX0RJU1QgPSBcCiAgCSQobGlidmFsYWRvY19sYV9WQUxBU09VUkNFUykgXAogZGlmZiAtLWdpdCBhL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhIGIvbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEKLWluZGV4IDM3YzczMWMuLmUwMzI2ZWYgMTAwNjQ0CitpbmRleCAxOTJlNDg4Li5lYzA5NjAyIDEwMDY0NAogLS0tIGEvbGlidmFsYWRvYy9odG1sL2Jhc2ljZG9jbGV0LnZhbGEKICsrKyBiL2xpYnZhbGFkb2MvaHRtbC9iYXNpY2RvY2xldC52YWxhCiBAQCAtNDYsNyArNDYsMTEgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgewpAQCAtMTg1LDcgKzE4Nyw3IEBACiAgCX0KICAKICAKLUBAIC0xMDI1LDYgKzEwMzEsNyBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVmFsYWRvYy5IdG1sLkJhc2ljRG9jbGV0IDogQXBpLlZpc2l0b3IsIERvY2xldCB7CitAQCAtMTAyNiw2ICsxMDMyLDcgQEAgcHVibGljIGFic3RyYWN0IGNsYXNzIFZhbGFkb2MuSHRtbC5CYXNpY0RvY2xldCA6IEFwaS5WaXNpdG9yLCBEb2NsZXQgewogIAl9CiAgCiAgCXByb3RlY3RlZCB2b2lkIHdyaXRlX2ltYWdlX2Jsb2NrIChBcGkuTm9kZSBlbGVtZW50KSB7CkBAIC0xOTMsNyArMTk1LDcgQEAKICAJCWlmIChlbGVtZW50IGlzIENsYXNzIHx8IGVsZW1lbnQgaXMgSW50ZXJmYWNlIHx8IGVsZW1lbnQgaXMgU3RydWN0KSB7CiAgCQkJdW5vd25lZCBzdHJpbmcgZm9ybWF0ID0gKHNldHRpbmdzLnVzZV9zdmdfaW1hZ2VzID8gInN2ZyIgOiAicG5nIik7CiAgCQkJdmFyIGNoYXJ0ID0gbmV3IENoYXJ0cy5IaWVyYXJjaHkgKGltYWdlX2ZhY3RvcnksIGVsZW1lbnQpOwotQEAgLTEwNDQsNiArMTA1MSw3IEBAIHB1YmxpYyBhYnN0cmFjdCBjbGFzcyBWYWxhZG9jLkh0bWwuQmFzaWNEb2NsZXQgOiBBcGkuVmlzaXRvciwgRG9jbGV0IHsKK0BAIC0xMDQ1LDYgKzEwNTIsNyBAQCBwdWJsaWMgYWJzdHJhY3QgY2xhc3MgVmFsYWRvYy5IdG1sLkJhc2ljRG9jbGV0IDogQXBpLlZpc2l0b3IsIERvY2xldCB7CiAgCQkJCQkJCQkJICAgdGhpcy5nZXRfaW1nX3BhdGhfaHRtbCAoZWxlbWVudCwgZm9ybWF0KX0pOwogIAkJCXdyaXRlci5hZGRfdXNlbWFwIChjaGFydCk7CiAgCQl9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmIwMmUwYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxhL3ZhbGFfMC40Mi4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLVNSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1naXQtdmVyc2lvbi1nZW4tZG9uLXQtYXBwZW5kLWRpcnR5LWlmLXdlLXJlLW5vdC1pbi1nLnBhdGNoIFwKLSAgICAgICAgICAgICBmaWxlOi8vMDAwMS12YXBpZ2VuLm00LXVzZS1QS0dfQ09ORklHX1NZU1JPT1RfRElSLnBhdGNoIFwKLQkgICAgIGZpbGU6Ly9kaXNhYmxlLWdyYXBodml6LnBhdGNoIFwKLQkgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtdmFsYWRvYy5wYXRjaCBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhYTZlYjgwOTdkMjViNTg0N2FkM2ZhYjM0YzBmZjg2NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2MmE1NTk4NmRhMjNjZjNhYWFmZDc2MjRjMzJkYjJhMWFmMTFjODQxOWUwYmIwNzUxNzI3ZDEwZjFmN2FiN2JlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsYS92YWxhXzAuNDIuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVhMTc2NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGEvdmFsYV8wLjQyLjUuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSAke0JQTn0uaW5jCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1naXQtdmVyc2lvbi1nZW4tZG9uLXQtYXBwZW5kLWRpcnR5LWlmLXdlLXJlLW5vdC1pbi1nLnBhdGNoIFwKKyAgICAgICAgICAgICBmaWxlOi8vMDAwMS12YXBpZ2VuLm00LXVzZS1QS0dfQ09ORklHX1NZU1JPT1RfRElSLnBhdGNoIFwKKwkgICAgIGZpbGU6Ly9kaXNhYmxlLWdyYXBodml6LnBhdGNoIFwKKwkgICAgIGZpbGU6Ly8wMDAxLURpc2FibGUtdmFsYWRvYy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMjA0ZWI0ZmEyMTA5OTVlNzMxZTJhOWEwMWM4Yzc3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzMzYjRhYmMwNTczZDM2NDc4MWJiZmU1NGExNjY4ZWQzNDk1NjkwMmU0NzExOTFhMzFjZjA1ZGM4N2M2ZTEyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1GaXgtZGVwZW5kZW5jaWVzLWJldHdlZW4tbGliY29yZWdyaW5kLS5hLWFuZC1tX21haW4uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1GaXgtZGVwZW5kZW5jaWVzLWJldHdlZW4tbGliY29yZWdyaW5kLS5hLWFuZC1tX21haW4uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZGYxYzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUZpeC1kZXBlbmRlbmNpZXMtYmV0d2Vlbi1saWJjb3JlZ3JpbmQtLmEtYW5kLW1fbWFpbi4ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSA3ODIwZmMyNjhmYWU0MzUzMTE4YjYzNTVmMWQ0YjllMWI3ZWVlYmVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUGhpbGlwcGUgV2Fyb3F1aWVycyA8cGhpbGlwcGUud2Fyb3F1aWVyc0Bza3luZXQuYmU+CitEYXRlOiBTdW4sIDI4IE9jdCAyMDE4IDE4OjM1OjExICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCBkZXBlbmRlbmNpZXMgYmV0d2VlbiBsaWJjb3JlZ3JpbmQqLmEgYW5kCisgKm1fbWFpbi5vLyptX2xpYmNzZXRqbXAubworCitUaGUgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IGNvcmVncmluZCBsaWJyYXJpZXMgbXVzdCBiZSB1cGRhdGVkCit3aGVuIG1fbWFpbi5jIG9yIG1fbGliY3NldGptcC5jIGFyZSBjaGFuZ2VkLgorCitBIGRlcGVuZGVuY3kgd2FzIG1pc3NpbmcgYmV0d2VlbiBsaWJjb3JlZ3JpbmQqLmEgYW5kIGxpYm5vbHRvX2NvcmVncmluZCouYSwKK2FuZCBzbyB0b29scyB3ZXJlIG5vdCByZWxpbmtlZCB3aGVuIG1fbWFpbi5jIG9yIG1fbGliY3NldGptcC5jIHdlcmUKK2NoYW5nZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbZ2l0Oi8vc291cmNld2FyZS5vcmcvZ2l0L3ZhbGdyaW5kLmdpdCA3ODIwZmMyNjhmYWU0MzUzMTE4YjYzNTVmMWQ0YjllMWI3ZWVlYmVjXQorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvcmVncmluZC9NYWtlZmlsZS5hbSB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvcmVncmluZC9NYWtlZmlsZS5hbSBiL2NvcmVncmluZC9NYWtlZmlsZS5hbQoraW5kZXggOTE0YTI3MC4uOGRlMTk5NiAxMDA2NDQKKy0tLSBhL2NvcmVncmluZC9NYWtlZmlsZS5hbQorKysrIGIvY29yZWdyaW5kL01ha2VmaWxlLmFtCitAQCAtNTExLDYgKzUxMSw4IEBAIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfUFJJQF9AVkdDT05GX09TQF9hX0NGTEFHUyArPSBcCisgZW5kaWYKKyBsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1BSSUBfQFZHQ09ORl9PU0BfYV9MSUJBREQgPSBcCisgICAgICQobGlibm9sdG9fY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9QUklAX0BWR0NPTkZfT1NAX2FfT0JKRUNUUykKKytsaWJjb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1BSSUBfQFZHQ09ORl9PU0BfYV9ERVBFTkRFTkNJRVMgPSBcCisrICAgIGxpYm5vbHRvX2NvcmVncmluZC1AVkdDT05GX0FSQ0hfUFJJQC1AVkdDT05GX09TQC5hCisgCisgaWYgVkdDT05GX0hBVkVfUExBVEZPUk1fU0VDCisgbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9TRUNAX0BWR0NPTkZfT1NAX2FfU09VUkNFUyA9IFwKK0BAIC01MzEsNiArNTMzLDggQEAgbGliY29yZWdyaW5kX0BWR0NPTkZfQVJDSF9TRUNAX0BWR0NPTkZfT1NAX2FfQ0ZMQUdTICs9IFwKKyBlbmRpZgorIGxpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX0xJQkFERCA9IFwKKyAgICAgJChsaWJub2x0b19jb3JlZ3JpbmRfQFZHQ09ORl9BUkNIX1NFQ0BfQFZHQ09ORl9PU0BfYV9PQkpFQ1RTKQorK2xpYmNvcmVncmluZF9AVkdDT05GX0FSQ0hfU0VDQF9AVkdDT05GX09TQF9hX0RFUEVOREVOQ0lFUyA9IFwKKysgICAgbGlibm9sdG9fY29yZWdyaW5kLUBWR0NPTkZfQVJDSF9TRUNALUBWR0NPTkZfT1NALmEKKyBlbmRpZgorIAorICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSAKKzIuMTAuMgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLUd1YXJkLWFnYWluc3QtX19HTElCQ19QUkVSRVEtZm9yLW11c2wtbGliYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCmluZGV4IDNlZmU2NWEuLjgxYWIyOWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtR3VhcmQtYWdhaW5zdC1fX0dMSUJDX1BSRVJFUS1mb3ItbXVzbC1saWJjLnBhdGNoCkBAIC0zLDcgKzMsNyBAQAogRGF0ZTogRnJpLCAxOSBPY3QgMjAxOCAxMDozMToxMiAtMDQwMAogU3ViamVjdDogW1BBVENIXSBHdWFyZCBhZ2FpbnN0IF9fR0xJQkNfUFJFUkVRIGZvciBtdXNsIGxpYmMKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTYyCiAKIFNpZ25lZC1vZmYtYnk6IFJhbmR5IE1hY0xlb2QgPFJhbmR5Lk1hY0xlb2RAd2luZHJpdmVyLmNvbT4KIC0tLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoCmluZGV4IDQ1ZTVlYTMuLjhkMmNhNTcgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kLzAwMDEtTWFrZS1sb2NhbC1mdW5jdGlvbnMtc3RhdGljLXRvLWF2b2lkLWFzc2VtYmxlci1lcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLU1ha2UtbG9jYWwtZnVuY3Rpb25zLXN0YXRpYy10by1hdm9pZC1hc3NlbWJsZXItZXJyb3IucGF0Y2gKQEAgLTE4LDcgKzE4LDcgQEAKIC90bXAvY2NlMjJpaXcuczo5MTU6IEVycm9yOiBzeW1ib2wgYGV4aXRfMCcgaXMgYWxyZWFkeSBkZWZpbmVkCiAvdG1wL2NjZTIyaWl3LnM6OTE3OiBFcnJvcjogc3ltYm9sIGBleGl0JyBpcyBhbHJlYWR5IGRlZmluZWQKIAotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBodHRwczovL2J1Z3Mua2RlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAwMTY0CiAKIFNpZ25lZC1vZmYtYnk6IFJhbmR5IE1hY0xlb2QgPFJhbmR5Lk1hY0xlb2RAd2luZHJpdmVyLmNvbT4KIC0tLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS10ZXN0cy1hbWQ2NC1Eby1ub3QtY2xvYmJlci1yc3AtcmVnaXN0ZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZC8wMDAxLXRlc3RzLWFtZDY0LURvLW5vdC1jbG9iYmVyLXJzcC1yZWdpc3Rlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTdmODAzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmQvMDAwMS10ZXN0cy1hbWQ2NC1Eby1ub3QtY2xvYmJlci1yc3AtcmVnaXN0ZXIucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA4YzFlYmI1NjRmNWVjYTJiYWVlZGMyN2E3MDMyMDA3ODZkMWFiYjBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjIgRGVjIDIwMTggMTU6Mjg6NDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdHMvYW1kNjQ6IERvIG5vdCBjbG9iYmVyICVyc3AgcmVnaXN0ZXIKKworVGhpcyBpcyBzZWVuIHdpdGggZ2NjLTkuMCBjb21waWxlciBub3cgd2hpY2ggaXMgZml4IHRoYXQgZ2NjIGNvbW11bml0eQorZGlkIHJlY2VudGx5CitodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD01MjgxMworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcuY2dpP2lkPTQwMjQ4MF0KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIG5vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMgfCA1ICsrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL25vbmUvdGVzdHMvYW1kNjQtbGludXgvYnVnMzQ1ODg3LmMgYi9ub25lL3Rlc3RzL2FtZDY0LWxpbnV4L2J1ZzM0NTg4Ny5jCitpbmRleCAwZjkyMzdkLi40YjA3ZmUxIDEwMDY0NAorLS0tIGEvbm9uZS90ZXN0cy9hbWQ2NC1saW51eC9idWczNDU4ODcuYworKysrIGIvbm9uZS90ZXN0cy9hbWQ2NC1saW51eC9idWczNDU4ODcuYworQEAgLTIwLDEzICsyMCwxNCBAQCBzdGF0aWMgdm9pZCBpbm5lcih2b2lkKQorICAgICAgICJtb3ZxICQweDEwZCwgJSVyMTRcbiIKKyAgICAgICAibW92cSAkMHgxMGUsICUlcjE1XG4iCisgICAgICAgLy8gbm90ICVyYnAgYXMgbWRiIGlzIHRoZW4gbm90IGFibGUgdG8gcmVjb25zdHJ1Y3Qgc3RhY2sgdHJhY2UKKy0gICAgICAibW92cSAkMHgxMGYsICUlcnNwXG4iCisrICAgICAgLy8gbm90ICVyc3Agc2luY2UgZ2NjIGlnbm9yZXMgaXQgYW5kIHNpbmNlIGdjYyA+PSA5LjAgZXJyb3JzIGFib3V0IGl0CisrICAgICAgLy8gc2VlIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTUyODEzCisgICAgICAgIm1vdnEgJDB4MTIzNCwgKCUlcmF4KVxuIiAgLy8gc2hvdWxkIGNhdXNlIFNFR1YgaGVyZQorICAgICAgICJ1ZDIiICAgICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZCBuZXZlciBnZXQgaGVyZQorICAgICAgIDogLy8gbm8gb3V0cHV0IHJlZ2lzdGVycworICAgICAgIDogLy8gbm8gaW5wdXQgcmVnaXN0ZXJzCisgICAgICAgOiAibWVtb3J5IiwgIiVyYXgiLCAiJXJieCIsICIlcmN4IiwgIiVyZHgiLCAiJXJzaSIsICIlcmRpIiwKKy0gICAgICAgICIlcjgiLCAiJXI5IiwgIiVyMTAiLCAiJXIxMSIsICIlcjEyIiwgIiVyMTMiLCAiJXIxNCIsICIlcjE1IiwgIiVyc3AiKTsKKysgICAgICAgICIlcjgiLCAiJXI5IiwgIiVyMTAiLCAiJXIxMSIsICIlcjEyIiwgIiVyMTMiLCAiJXIxNCIsICIlcjE1Iik7CisgfQorIAorIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kXzMuMTQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3ZhbGdyaW5kL3ZhbGdyaW5kXzMuMTQuMC5iYgppbmRleCA1MGY4MjIxLi5kYjFiZDlmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy92YWxncmluZC92YWxncmluZF8zLjE0LjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMvdmFsZ3JpbmQvdmFsZ3JpbmRfMy4xNC4wLmJiCkBAIC0zNiw2ICszNiw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1vcGNvZGUtbm90LXN1cHBvcnRlZC1vbi1taXBzMzItbGludXgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1HdWFyZC1hZ2FpbnN0LV9fR0xJQkNfUFJFUkVRLWZvci1tdXNsLWxpYmMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1NYWtlLWxvY2FsLWZ1bmN0aW9ucy1zdGF0aWMtdG8tYXZvaWQtYXNzZW1ibGVyLWVycm9yLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtYW1kNjQtRG8tbm90LWNsb2JiZXItcnNwLXJlZ2lzdGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWRlcGVuZGVuY2llcy1iZXR3ZWVuLWxpYmNvcmVncmluZC0uYS1hbmQtbV9tYWluLi5wYXRjaCBcCiAgICAgICAgICAgICIKIFNSQ19VUklbbWQ1c3VtXSA9ICI3NDE3NTQyNmFmYTI4MDE4NGI2MjU5MWI1OGM2NzFiMyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIwMzdjMTFiZmVmZDQ3N2NjNmU5ZWJlOGYxOTNiYjIzN2ZlMzk3ZjdjZTc5MWI0YTRjZTNmYTFjNmE1MjBiYWE1IgpAQCAtNTYsNiArNTgsOSBAQAogQ09NUEFUSUJMRV9IT1NUX21pcHNhcmNocjYgPSAnbnVsbCcKIENPTVBBVElCTEVfSE9TVF9saW51eC1nbnVuMzIgPSAnbnVsbCcKIAorIyBEaXNhYmxlIGZvciBwb3dlcnBjNjQgd2l0aCBtdXNsCitDT01QQVRJQkxFX0hPU1RfbGliYy1tdXNsX3Bvd2VycGM2NCA9ICdudWxsJworCiBpbmhlcml0IGF1dG90b29scyBwdGVzdCBtdWx0aWxpYl9oZWFkZXIKIAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXRscyAtLXdpdGhvdXQtbXBpY2MiCkBAIC02Myw3ICs2OCw2IEBACiAKICMgdmFsZ3JpbmQgY2hlY2tzIGhvc3RfY3B1ICJhcm12NyopIiwgc28gd2UgbmVlZCB0byBvdmVyLXJpZGUgdGhlIGF1dG90b29scy5iYmNsYXNzIGRlZmF1bHQgLS1ob3N0IG9wdGlvbgogRVhUUkFfT0VDT05GX2FwcGVuZF9hcm0gPSAiIC0taG9zdD1hcm12NyR7SE9TVF9WRU5ET1J9LSR7SE9TVF9PU30iCi1UQVJHRVRfQ0NfQVJDSF9yZW1vdmVfYXJtID0gIiR7QGdldF9tY3B1KGQpfSIKIAogRVhUUkFfT0VNQUtFID0gIi13IgogCkBAIC03NSwxNCArNzksNiBAQAogIyB3aGljaCBmaXhlcyBidWlsZCBwYXRoIGlzc3VlIGluIERXQVJGLgogU0VMRUNURURfT1BUSU1JWkFUSU9OID0gIiR7REVCVUdfRkxBR1N9IgogCi1kZWYgZ2V0X21jcHUoZCk6Ci0gICAgZm9yIGFyZyBpbiAoZC5nZXRWYXIoJ1RVTkVfQ0NBUkdTJykgb3IgJycpLnNwbGl0KCk6Ci0gICAgICAgIGlmIGFyZy5zdGFydHN3aXRoKCctbWNwdT0nKToKLSAgICAgICAgICAgIHJldHVybiBhcmcKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgcmV0dXJuICIiCi0KIGRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKICAgICBybSAtcmYgJHtTfS9jb25maWcuaAogICAgIHNlZCAtaSAtZSAnczokKGFic190b3BfYnVpbGRkaXIpOiQocGtnbGliZGlyKS9wdGVzdDpnJyAke1N9L25vbmUvdGVzdHMvTWFrZWZpbGUuYW0KQEAgLTk0LDggKzkwLDYgQEAKICAgICBvZV9tdWx0aWxpYl9oZWFkZXIgdmFsZ3JpbmQvY29uZmlnLmgKIH0KIAotVFVORSA9ICIke0BzdHJpcF9tY3B1KGQpfSIKLQogVkFMR1JJTkRBUkNIID89ICIke1RBUkdFVF9BUkNIfSIKIFZBTEdSSU5EQVJDSF9hYXJjaDY0ID0gImFybTY0IgogVkFMR1JJTkRBUkNIX3g4Ni02NCA9ICJhbWQ2NCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL2ZpbGVzL2NhdGFsb2cueG1sIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8vZmlsZXMvY2F0YWxvZy54bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiODgzM2QuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8vZmlsZXMvY2F0YWxvZy54bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTwhRE9DVFlQRSBjYXRhbG9nIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBFbnRpdHkgUmVzb2x1dGlvbiBYTUwgQ2F0YWxvZyBWMS4wLy9FTiIgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvY29tbWl0dGVlcy9lbnRpdHkvcmVsZWFzZS8xLjAvY2F0YWxvZy5kdGQiPgotPGNhdGFsb2cgeG1sbnM9InVybjpvYXNpczpuYW1lczp0YzplbnRpdHk6eG1sbnM6eG1sOmNhdGFsb2ciPgotPGRlbGVnYXRlU3lzdGVtIHN5c3RlbUlkU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLm9yZy94bWwvIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9FTEVNRU5UUyBEb2NCb29rIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBYTUwgRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5OTAzMTUiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgQ0FMUyBUYWJsZSBNb2RlbCBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTEVNRU5UUyBEb2NCayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgRG9jQm9vayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0VOVElUSUVTIERvY0Jvb2siIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9FTlRJVElFUyBEb2NCayBYTUwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vTm9ybWFuIFdhbHNoLy9EVEQgRG9jQmsgWE1MIiBjYXRhbG9nPSIuL2RvY2Jvb2steG1sLnhtbCIvPgotPGRlbGVnYXRlUHVibGljIHB1YmxpY0lkU3RhcnRTdHJpbmc9Ii0vL05vcm1hbCBXYWxzaC8vRXhjaGFuZ2UgVGFibGUgTW9kZWwgMTk5NjA0MzAiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC8iIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVQdWJsaWMgcHVibGljSWRTdGFydFN0cmluZz0iLS8vT0FTSVMvL0RURCBEb2NCb29rIENBTFMgVGFibGUgTW9kZWwiIGNhdGFsb2c9Ii4vZG9jYm9vay14bWwueG1sIi8+Ci08ZGVsZWdhdGVVUkkgdXJpU3RhcnRTdHJpbmc9Imh0dHA6Ly9kb2Nib29rLnNvdXJjZWZvcmdlLm5ldC9yZWxlYXNlL3hzbC8iIGNhdGFsb2c9Ii4vZG9jYm9vay14c2wueG1sIi8+Ci08ZGVsZWdhdGVTeXN0ZW0gc3lzdGVtSWRTdGFydFN0cmluZz0iaHR0cDovL2RvY2Jvb2suc291cmNlZm9yZ2UubmV0L3JlbGVhc2UveHNsLyIgY2F0YWxvZz0iLi9kb2Nib29rLXhzbC54bWwiLz4KLTwvY2F0YWxvZz4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL3htbHRvXzAuMC4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWRldnRvb2xzL3htbHRvL3htbHRvXzAuMC4yOC5iYgppbmRleCA2MjE2ZDc3Li5kZjc5OGRmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1kZXZ0b29scy94bWx0by94bWx0b18wLjAuMjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZGV2dG9vbHMveG1sdG8veG1sdG9fMC4wLjI4LmJiCkBAIC03LDIyICs3LDIzIEBACiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9yZWxlYXNlcy5wYWd1cmUub3JnL3htbHRvL3htbHRvLSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuaW4tZHJvcC10aGUtdGVzdC1vZi14bWxsaW50LWFuZC14c2x0cHJvYy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9jYXRhbG9nLnhtbCBcCiAiCiBTUkNfVVJJW21kNXN1bV0gPSAiYTFmZWZhZDlkODM0OTlhMTU1NzY3NjhmNjBmODQ3YzYiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmY5ODZiN2M5YTBlOWFjNjcyODE0NzY2OGU3NzZkNDA1NDY1Mjg0ZTEzYzc0ZDQxNDZjOWNiYzUxZmQ4YWFkMyIKIAogaW5oZXJpdCBhdXRvdG9vbHMKLVJERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJsaWJ4c2x0LW5hdGl2ZSIKIAotIyB4bWx0byBuZWVkcyBnZXRvcHQveG1sbGludC94c2x0cHJvYy9iYXNoL3RhaWwgYXQgcnVudGltZQorREVQRU5EUyA9ICJsaWJ4bWwyLW5hdGl2ZSIKKwogUkRFUEVORFNfJHtQTn0gPSAiZG9jYm9vay14bWwtZHRkNCBcCiAgICAgICAgICAgICAgICAgICBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cyBcCiAgICAgICAgICAgICAgICAgICB1dGlsLWxpbnV4IFwKICAgICAgICAgICAgICAgICAgIGxpYnhtbDIgXAorICAgICAgICAgICAgICAgICAgbGlieHNsdCBcCiAgICAgICAgICAgICAgICAgICBiYXNoIFwKICIKIFJERVBFTkRTXyR7UE59X2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAgICAgICAgICAgICAgIGxpYnhtbDItdXRpbHMgXAogICAgICAgICAgICAgICAgICAgbGlieHNsdC1iaW4gXAogICAgICAgICAgICAgICAgICAgY29yZXV0aWxzIFwKICIKQEAgLTMyLDEwICszMyw4IEBACiAKIEVYVFJBX09FQ09ORl9hcHBlbmQgPSAiIEJBU0g9L2Jpbi9iYXNoIEdDUD0vYmluL2NwIFhNTExJTlQ9eG1sbGludCBYU0xUUFJPQz14c2x0cHJvYyIKIAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS94bWwvCi0gICAgaW5zdGFsbCAtbSA3NTUgICR7V09SS0RJUn0vY2F0YWxvZy54bWwgJHtEfSR7c3lzY29uZmRpcn0veG1sL2NhdGFsb2cueG1sCi0gICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0veG1sdG8gWE1MX0NBVEFMT0dfRklMRVM9JHtzeXNjb25mZGlyfS94bWwvY2F0YWxvZy54bWwKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICBjcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L3htbHRvIFhNTF9DQVRBTE9HX0ZJTEVTPSR7c3lzY29uZmRpcn0veG1sL2NhdGFsb2cKIH0KIAogZG9fcG9wdWxhdGVfc3lzcm9vdFtyZGVwdGFza10gPSAiZG9fcG9wdWxhdGVfc3lzcm9vdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jL2F1dG8tY2F0YWxvZ3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvYy9hdXRvLWNhdGFsb2dzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMTcwZGIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hc2NpaWRvYy9hc2NpaWRvYy9hdXRvLWNhdGFsb2dzLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0lmIFNHTUxfQ0FUQUxPR19GSUxFUyBpcyBpbiB0aGUgZW52aXJvbm1lbnQsIHBhc3MgLS1jYXRhbG9ncyB0byB4bWxsaW50IGFuZAoreHNsdHByb2MuIEFsc28gcGFzcyAtLW5vbmV0IHRvIHhzbHRwcm9jIHRvIGRldGVjdCBmdXR1cmUgbWlzc2luZyBzdHlsZXNoZWV0Citwcm9ibGVtcy4KKworQW4gZWFybGllciB2ZXJzaW9uIG9mIHRoaXMgcGF0Y2ggd2FzIGZpbGVkIHVwc3RyZWFtIGF0CitodHRwczovL2dpdGh1Yi5jb20vYXNjaWlkb2MvYXNjaWlkb2MtcHkzL2lzc3Vlcy82MSBzbyBkZXBlbmRpbmcgb24gaG93IHRoYXQgZ29lcwordGhpcyBjb3VsZCBnZXQgbWVyZ2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9hMngucHkgYi9hMngucHkKK2luZGV4IDJkNzY5OWEuLjU4MmQ4MDkgMTAwNzU1CistLS0gYS9hMngucHkKKysrKyBiL2EyeC5weQorQEAgLTU3LDYgKzU3LDEwIEBAIExZTlhfT1BUUyA9ICctZHVtcCcKKyBXM01fT1BUUyA9ICctZHVtcCAtY29scyA3MCAtVCB0ZXh0L2h0bWwgLW5vLWdyYXBoJworIFhTTFRQUk9DX09QVFMgPSAnJworIAorK2lmICJTR01MX0NBVEFMT0dfRklMRVMiIGluIG9zLmVudmlyb246CisrICBYTUxMSU5UICs9ICIgLS1jYXRhbG9ncyIKKysgIFhTTFRQUk9DICs9ICIgLS1jYXRhbG9ncyIKKysKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgIyBFbmQgb2YgY29uZmlndXJhdGlvbiBmaWxlIHBhcmFtZXRlcnMuCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTI5OCw3ICszMDIsNyBAQCBkZWYgZXhlY194c2x0cHJvYyh4c2xfZmlsZSwgeG1sX2ZpbGUsIGRzdF9kaXIsIG9wdHMgPSAnJyk6CisgICAgIGN3ZCA9IG9zLmdldGN3ZCgpCisgICAgIHNoZWxsX2NkKGRzdF9kaXIpCisgICAgIHRyeToKKy0gICAgICAgIHNoZWxsKCciJXMiICVzICIlcyIgIiVzIicgJSAoWFNMVFBST0MsIG9wdHMsIHhzbF9maWxlLCB4bWxfZmlsZSkpCisrICAgICAgICBzaGVsbCgnJXMgJXMgIiVzIiAiJXMiJyAlIChYU0xUUFJPQywgb3B0cywgeHNsX2ZpbGUsIHhtbF9maWxlKSkKKyAgICAgZmluYWxseToKKyAgICAgICAgIHNoZWxsX2NkKGN3ZCkKKyAKK0BAIC00ODMsNyArNDg3LDcgQEAgY2xhc3MgQTJYKEF0dHJEaWN0KToKKyAgICAgICAgICAgICBzZWxmLmFzY2lpZG9jX29wdHMgKz0gJyAtLWRvY3R5cGUgJXMnICUgc2VsZi5kb2N0eXBlCisgICAgICAgICBmb3IgYXR0ciBpbiBzZWxmLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICAgc2VsZi5hc2NpaWRvY19vcHRzICs9ICcgLS1hdHRyaWJ1dGUgIiVzIicgJSBhdHRyCistIyAgICAgICAgc2VsZi54c2x0cHJvY19vcHRzICs9ICcgLS1ub25ldCcKKysgICAgICAgIHNlbGYueHNsdHByb2Nfb3B0cyArPSAnIC0tbm9uZXQnCisgICAgICAgICBpZiBzZWxmLnZlcmJvc2U6CisgICAgICAgICAgICAgc2VsZi5hc2NpaWRvY19vcHRzICs9ICcgLS12ZXJib3NlJworICAgICAgICAgICAgIHNlbGYuZGJsYXRleF9vcHRzICs9ICcgLVYnCitAQCAtNjM0LDcgKzYzOCw3IEBAIGNsYXNzIEEyWChBdHRyRGljdCk6CisgICAgICAgICBzaGVsbCgnIiVzIiAtLWJhY2tlbmQgZG9jYm9vayAtYSAiYTJ4LWZvcm1hdD0lcyIgJXMgLS1vdXQtZmlsZSAiJXMiICIlcyInICUKKyAgICAgICAgICAgICAgKHNlbGYuYXNjaWlkb2MsIHNlbGYuZm9ybWF0LCBzZWxmLmFzY2lpZG9jX29wdHMsIGRvY2Jvb2tfZmlsZSwgc2VsZi5hc2NpaWRvY19maWxlKSkKKyAgICAgICAgIGlmIG5vdCBzZWxmLm5vX3htbGxpbnQgYW5kIFhNTExJTlQ6CistICAgICAgICAgICAgc2hlbGwoJyIlcyIgLS1ub25ldCAtLW5vb3V0IC0tdmFsaWQgIiVzIicgJSAoWE1MTElOVCwgZG9jYm9va19maWxlKSkKKysgICAgICAgICAgICBzaGVsbCgnJXMgLS1ub25ldCAtLW5vb3V0IC0tdmFsaWQgIiVzIicgJSAoWE1MTElOVCwgZG9jYm9va19maWxlKSkKKyAKKyAgICAgZGVmIHRvX3hodG1sKHNlbGYpOgorICAgICAgICAgc2VsZi50b19kb2Nib29rKCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKaW5kZXggMzgxNjRkNS4uNzUxYmYwZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIKQEAgLTgsMTcgKzgsMjUgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjYTQzY2JjODQyYzIzMzZlODM1OTI2YzIxNjZjMjhiIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlSSUdIVDttZDU9MDI5YWQ1NDI4YmE1ZWZhMjAxNzZiMzk2MjIyZDQwNjkiCiAKLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy5zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdC8ke0JQTn0vJHtCUE59LyR7UFZ9LyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICJjNTkwMThmMTA1YmU4ZDAyMjcxNGI4MjZiMGJlMTMwYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3OGRiOWQwNTY3YzhhYjY1NzBhNmVmZjdmZmRmODRlYWRkOTFmMmRmYzBhOTJhMmQwMTA1ZDMyM2NhYjRlMWYwIgorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2FzY2lpZG9jL2FzY2lpZG9jLXB5Mztwcm90b2NvbD1odHRwcyBcCisgICAgICAgICAgIGZpbGU6Ly9hdXRvLWNhdGFsb2dzLnBhdGNoIgorU1JDUkVWID0gIjYxOGY2ZTZmNmI1NThlZDFlNWYyNTg4Y2Q2MGE1YTZiNGY4ODFjYTAiCitQViAuPSAiK3B5My1naXQke1NSQ1BWfSIKIAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2FzY2lpZG9jL2ZpbGVzLyIKK0RFUEVORFMgPSAibGlieG1sMi1uYXRpdmUgbGlieHNsdC1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgogCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCisjIFRlbGwgeG1sbGludCB3aGVyZSB0byBmaW5kIHRoZSBEb2NCb29rIFhNTCBjYXRhbG9ndWUsIGJlY2F1c2UgcmlnaHQgbm93IGl0CisjIG9wZW5zIC9ldGMveG1sL2NhdGFsb2cgb24gdGhlIGhvc3QuIERlcGVuZHMgb24gYXV0by1jYXRhbG9ncy5wYXRjaAorZXhwb3J0IFNHTUxfQ0FUQUxPR19GSUxFUz0iZmlsZTovLyR7U1RBR0lOR19FVENESVJfTkFUSVZFfS94bWwvY2F0YWxvZyIKKworIyBOb3QgdXNpbmcgYXV0b21ha2UKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAotCi1leHBvcnQgREVTVERJUiA9ICIke0R9IgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAiZG9jYm9vay14bWwtZHRkNC1uYXRpdmUiCi1SREVQRU5EU18ke1BOfSArPSAicHl0aG9uIiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCiBDTEVBTkJST0tFTiA9ICIxIgorCisjIHRhcmdldCBhbmQgbmF0aXZlc2RrIG5lZWRzIHB5dGhvbjMsIGJ1dCBmb3IgbmF0aXZlIHdlIGNhbiB1c2UgdGhlIGhvc3QuCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMyIKK1JERVBFTkRTX3JlbW92ZV9jbGFzcy1uYXRpdmUgPSAicHl0aG9uMyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoCmluZGV4IDEwMGY4ODkuLjMwZDIzMjQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdC9maXhfcGFyYWxsZWxfYnVpbGRfZXJyb3IucGF0Y2gKQEAgLTEsMyArMSw4IEBACitGcm9tIDI0ZWYyYTY1NDRmOWM3ZWMwMWJjN2FlNzNkZmZhMjk3NGExZTI1MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDUgRGVjIDIwMTggMDk6NDY6MjIgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IHBhcmFsbGVsIGJ1aWxkIGVycm9yCisKIG1ha2UgLWogd2FzIGZhaWxpbmcgc29tZXRpbWVzYSBsaWtlIHRoaXMKIHwgY2NhY2hlIGk1ODYtcG9reS1saW51eC1nY2MgLW1hcmNoPWk1ODYgLS1zeXNyb290PS9ob21lL25pdGluL2J1aWxkL2J1aWxkMC90bXAvc3lzcm9vdHMvaTU4Ni1wb2t5LWxpbnV4IC1JLiAtZmV4cGVuc2l2ZS1vcHRpbWl6YXRpb25zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1mcmVuYW1lLXJlZ2lzdGVycyAtTzIgLWdnZGIgLWZlbGltaW5hdGUtdW51c2VkLWRlYnVnLXR5cGVzIC1vIGF0ZCBhdGQubyBkYWVtb24ubyAgLWxmbCAgLWxwYW0gLVdsLC1PMSAtV2wsLS1hcy1uZWVkZWQKIHwgcGFyc2V0aW1lLmw6NToxOTogZmF0YWwgZXJyb3I6IHkudGFiLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQEAgLTEyLDI0ICsxNywyNCBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiAKIFNpZ25lZC1vZmYtYnk6IFNjb3R0IEdhcm1hbiA8c2NvdHQuYS5nYXJtYW5AaW50ZWwuY29tPgotCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CiAtLS0KICBNYWtlZmlsZS5pbiB8IDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCi1pbmRleCBkZDNjMmY4Li43ODk3ZTQ1IDEwMDY0NAoraW5kZXggNGMxMTkxMy4uMThlY2MyMyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluCiArKysgYi9NYWtlZmlsZS5pbgotQEAgLTgyLDYgKzgyLDggQEAgeS50YWIuYyB5LnRhYi5oOiBwYXJzZXRpbWUueQorQEAgLTgzLDYgKzgzLDggQEAgeS50YWIuYyB5LnRhYi5oOiBwYXJzZXRpbWUueQogIGxleC55eS5jOiBwYXJzZXRpbWUubAogIAkkKExFWCkgLWkgcGFyc2V0aW1lLmwKICAKICtwYXJzZXRpbWUubDogeS50YWIuaAogKwogIGF0ZC5zZXJ2aWNlOiBhdGQuc2VydmljZS5pbgotIAlzZWQgLWUgJ3MhW0Bdc2JpbmRpcltAXSEkKHNiaW5kaXIpIWcnIDwgJDwgPiAkQAorIAljYXQgJDwgfCBzZWQgLWUgJ3MhW0Bdc2JpbmRpcltAXSEkKHNiaW5kaXIpIWcnIHwgc2VkIC1lICdzIVtAXWF0am9iZGlyW0BdISQoYXRqb2JkaXIpIWcnID4gJEAKICAKIC0tIAotMS45LjEKKzIuNy40CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L3BhbS5jb25mLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKaW5kZXggYjVjZWI5YS4uYzlmMzM3ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvcGFtLmNvbmYucGF0Y2gKQEAgLTEsMjcgKzEsMzUgQEAKK0Zyb20gOGM4YTBiNmJhMTk5MzI3ZDJlYWZlZmQ2NjExMzUzZTFjNDgzYTg1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgNSBEZWMgMjAxOCAxMDowMDozNiArMDgwMAorU3ViamVjdDogW1BBVENIXSBmaXggcGFtLmNvbmYKKwogb2UgZG9lc24ndCBzdXBwb3J0ICJAaW5jbHVkZSIsIHVzZSB0aGUgY29uY3JldGUgZGlyZWN0aXZlIGluc3RlYWQuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCiBTaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLUluZGV4OiBhdC0zLjEuMTUvcGFtLmNvbmYKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhdC0zLjEuMTUub3JpZy9wYW0uY29uZgotKysrIGF0LTMuMS4xNS9wYW0uY29uZgotQEAgLTEsMTAgKzEsMTEgQEAKLSAjCitTaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CistLS0KKyBwYW0uY29uZiB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BhbS5jb25mIGIvcGFtLmNvbmYKK2luZGV4IDM2NzRjMGEuLjJmOGQ1ODYgMTAwNjQ0CistLS0gYS9wYW0uY29uZgorKysrIGIvcGFtLmNvbmYKK0BAIC0yLDkgKzIsOSBAQAogICMgVGhlIFBBTSBjb25maWd1cmF0aW9uIGZpbGUgZm9yIHRoZSBhdCBkYWVtb24KICAjCi0rIAotK2F1dGggICAgcmVxdWlyZWQgICAgcGFtX2Vudi5zbwotK2F1dGggICAgaW5jbHVkZSAgICAgY29tbW9uLWF1dGgKLSthY2NvdW50IGluY2x1ZGUgICAgIGNvbW1vbi1hY2NvdW50Ci0rc2Vzc2lvbiBpbmNsdWRlICAgICBjb21tb24tc2Vzc2lvbi1ub25pbnRlcmFjdGl2ZQotK3Nlc3Npb24gcmVxdWlyZWQgICAgcGFtX2xpbWl0cy5zbwotK3Nlc3Npb24gcmVxdWlyZWQgICAgcGFtX2xvZ2ludWlkLnNvCiAgCi0tYXV0aAlyZXF1aXJlZAlwYW1fZW52LnNvCiAtQGluY2x1ZGUgY29tbW9uLWF1dGgKIC1AaW5jbHVkZSBjb21tb24tYWNjb3VudAotLXNlc3Npb24gICAgcmVxdWlyZWQgICBwYW1fbG9naW51aWQuc28KKythdXRoICAgICAgIGluY2x1ZGUgICAgY29tbW9uLWF1dGgKKythY291bnQgICAgIGluY2x1ZGUgICAgY29tbW9uLWFjY291bnQKKyBzZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xvZ2ludWlkLnNvCiAtQGluY2x1ZGUgY29tbW9uLXNlc3Npb24tbm9uaW50ZXJhY3RpdmUKLS1zZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xpbWl0cy5zbworK3Nlc3Npb24gICAgaW5jbHVkZSAgICBjb21tb24tc2Vzc2lvbi1ub25pbnRlcmFjdGl2ZQorIHNlc3Npb24gICAgcmVxdWlyZWQgICBwYW1fbGltaXRzLnNvCisgYXV0aAlyZXF1aXJlZAlwYW1fZW52LnNvIHVzZXJfcmVhZGVudj0xCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjc2ZTgzZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1TVU1NQVJZID0gIkRlbGF5ZWQgam9iIGV4ZWN1dGlvbiBhbmQgYmF0Y2ggcHJvY2Vzc2luZyIKLUhPTUVQQUdFID0gImh0dHA6Ly9ibG9nLmNhbGhhcml6LmNvbS8iCi1ERVNDUklQVElPTiA9ICJBdCBhbGxvd3MgZm9yIGNvbW1hbmRzIHRvIGJlIHJ1biBhdCBhIHBhcnRpY3VsYXIgdGltZS4gIEJhdGNoIHdpbGwgZXhlY3V0ZSBjb21tYW5kcyB3aGVuIFwKLXRoZSBzeXN0ZW0gbG9hZCBsZXZlbHMgZHJvcCB0byBhIHBhcnRpY3VsYXIgbGV2ZWwuIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00MzI1YWZkMzk2ZmViY2I2NTljMzZiNDk1MzMxMzVkNCIKLURFUEVORFMgPSAiZmxleCBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgotCi1QQUNLQUdFQ09ORklHID89ICJcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzZWxpbnV4JywgJ3NlbGludXgnLCAnJywgZCl9IFwKLSIKLQotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLXdpdGgtc2VsaW51eCwtLXdpdGhvdXQtc2VsaW51eCxsaWJzZWxpbnV4LCIKLQotUkRFUEVORFNfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fREVQU30nLCAnJywgZCl9IFwKLSIKLQotUEFNX0RFUFMgPSAibGlicGFtIGxpYnBhbS1ydW50aW1lIHBhbS1wbHVnaW4tZW52IHBhbS1wbHVnaW4tbGltaXRzIgotCi1SQ09ORkxJQ1RTXyR7UE59ID0gImF0ZCIKLVJSRVBMQUNFU18ke1BOfSA9ICJhdGQiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vYS8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKLSAgICBmaWxlOi8vZml4X3BhcmFsbGVsX2J1aWxkX2Vycm9yLnBhdGNoIFwKLSAgICBmaWxlOi8vcG9zaXh0bS5jIFwKLSAgICBmaWxlOi8vcG9zaXh0bS5oIFwKLSAgICBmaWxlOi8vZmlsZV9yZXBsYWNlbWVudF93aXRoX2dwbHYyLnBhdGNoIFwKLSAgICBmaWxlOi8vYXRkLmluaXQgXAotICAgIGZpbGU6Ly9hdGQuc2VydmljZSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKLSAgICBmaWxlOi8vbWFrZWZpbGUtZml4LXBhcmFsbGVsLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1yZW1vdmUtZ2xpYmMtYXNzdW1wdGlvbi5wYXRjaCBcCi0gICAgIgotCi1QQU1fU1JDX1VSSSA9ICJmaWxlOi8vcGFtLmNvbmYucGF0Y2ggXAotICAgICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hZGQtZW5hYmxlLXBhbS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImU3YmQ3Yjc4NWIyY2JiMTdlMTMzZDZiZGMwZmIwOTllIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4NzE5MjNjYWI3MzA1MGI5OGFjZTAyMDY2NGViMmRkYzFlNjY5ZTQxNjZiNWFiYjY0ZDg2NGQwMmZjZWZhYjkiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vYS9hdC8iCi0KLUVYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9TRU5ETUFJTD0vYmluL3RydWUgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtZGFlbW9uX3VzZXJuYW1lPXJvb3QgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtZGFlbW9uX2dyb3VwbmFtZT1yb290IFwKLSAgICAgICAgICAgICAgICAgLS13aXRoLWpvYmRpcj0vdmFyL3Nwb29sL2F0L2pvYnMgXAotICAgICAgICAgICAgICAgICAtLXdpdGgtYXRzcG9vbD0vdmFyL3Nwb29sL2F0L3Nwb29sIFwKLSAgICAgICAgICAgICAgICAgYWNfY3ZfaGVhZGVyX3NlY3VyaXR5X3BhbV9hcHBsX2g9JHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAneWVzJywgJ25vJywgZCl9ICIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHN5c3RlbWQgdXBkYXRlLXJjLmQKLQotSU5JVFNDUklQVF9OQU1FID0gImF0ZCIKLUlOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiYXRkLnNlcnZpY2UiCi0KLWNvcHlfc291cmNlcygpIHsKLQljcCAtZiAke1dPUktESVJ9L3Bvc2l4dG0uW2NoXSAke1N9Ci19Ci1kb19wYXRjaFtwb3N0ZnVuY3NdICs9ICJjb3B5X3NvdXJjZXMiCi0KLWRvX2luc3RhbGwgKCkgewotCW9lX3J1bm1ha2UgLWUgIklST09UPSR7RH0iIGluc3RhbGwKLQotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNzU1ICAgICR7V09SS0RJUn0vYXRkLmluaXQJCSR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9hdGQKLQotCSMgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZXMKLQlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vYXRkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vYXRkLnNlcnZpY2UKLQotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1EIC1tIDA2NDQgJHtXT1JLRElSfS8ke0JQfS9wYW0uY29uZiAke0R9JHtzeXNjb25mZGlyfS9wYW0uZC9hdGQKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NDg4MmQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdC9hdF8zLjEuMjMuYmIKQEAgLTAsMCArMSw3OCBAQAorU1VNTUFSWSA9ICJEZWxheWVkIGpvYiBleGVjdXRpb24gYW5kIGJhdGNoIHByb2Nlc3NpbmciCitIT01FUEFHRSA9ICJodHRwOi8vYmxvZy5jYWxoYXJpei5jb20vIgorREVTQ1JJUFRJT04gPSAiQXQgYWxsb3dzIGZvciBjb21tYW5kcyB0byBiZSBydW4gYXQgYSBwYXJ0aWN1bGFyIHRpbWUuICBCYXRjaCB3aWxsIGV4ZWN1dGUgY29tbWFuZHMgd2hlbiBcCit0aGUgc3lzdGVtIGxvYWQgbGV2ZWxzIGRyb3AgdG8gYSBwYXJ0aWN1bGFyIGxldmVsLiIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDMyNWFmZDM5NmZlYmNiNjU5YzM2YjQ5NTMzMTM1ZDQiCitERVBFTkRTID0gImZsZXggZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnbGlicGFtJywgJycsIGQpfSIKKworUEFDS0FHRUNPTkZJRyA/PSAiXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc2VsaW51eCcsICdzZWxpbnV4JywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLS13aXRoLXNlbGludXgsLS13aXRob3V0LXNlbGludXgsbGlic2VsaW51eCwiCisKK1JERVBFTkRTXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX0RFUFN9JywgJycsIGQpfSBcCisiCisKK1BBTV9ERVBTID0gImxpYnBhbSBsaWJwYW0tcnVudGltZSBwYW0tcGx1Z2luLWVudiBwYW0tcGx1Z2luLWxpbWl0cyIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJhdGQiCitSUkVQTEFDRVNfJHtQTn0gPSAiYXRkIgorCitTUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwODI1VDA5MDI0OFovcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCisgICAgZmlsZTovL2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaCBcCisgICAgZmlsZTovL3Bvc2l4dG0uYyBcCisgICAgZmlsZTovL3Bvc2l4dG0uaCBcCisgICAgZmlsZTovL2ZpbGVfcmVwbGFjZW1lbnRfd2l0aF9ncGx2Mi5wYXRjaCBcCisgICAgZmlsZTovL2F0ZC5pbml0IFwKKyAgICBmaWxlOi8vYXRkLnNlcnZpY2UgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCisgICAgZmlsZTovL21ha2VmaWxlLWZpeC1wYXJhbGxlbC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtcmVtb3ZlLWdsaWJjLWFzc3VtcHRpb24ucGF0Y2ggXAorICAgICIKKworUEFNX1NSQ19VUkkgPSAiZmlsZTovL3BhbS5jb25mLnBhdGNoIFwKKyAgICAgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUtYWRkLWVuYWJsZS1wYW0ucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxY2VjOTQ1NTA2YjVkZGYxZDc3NmM5MmMzMTVmYzU4MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5NzQ1MGFhOTU0YWFhOGE3MDIxOGNjOGU2MWEzM2RmOWZlZTlmODY1MjdlOWY4NjFkZTMwMmZiN2EzYzgxNzEwIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2EvYXQvIgorCitFWFRSQV9PRUNPTkYgKz0gImFjX2N2X3BhdGhfU0VORE1BSUw9L2Jpbi90cnVlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl91c2VybmFtZT1yb290IFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWRhZW1vbl9ncm91cG5hbWU9cm9vdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1qb2JkaXI9L3Zhci9zcG9vbC9hdC9qb2JzIFwKKyAgICAgICAgICAgICAgICAgLS13aXRoLWF0c3Bvb2w9L3Zhci9zcG9vbC9hdC9zcG9vbCBcCisgICAgICAgICAgICAgICAgIGFjX2N2X2hlYWRlcl9zZWN1cml0eV9wYW1fYXBwbF9oPSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3llcycsICdubycsIGQpfSAiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kIHVwZGF0ZS1yYy5kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJhdGQiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyIKKworU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImF0ZC5zZXJ2aWNlIgorCitjb3B5X3NvdXJjZXMoKSB7CisJY3AgLWYgJHtXT1JLRElSfS9wb3NpeHRtLltjaF0gJHtTfQorfQorZG9fcGF0Y2hbcG9zdGZ1bmNzXSArPSAiY29weV9zb3VyY2VzIgorCitkb19pbnN0YWxsICgpIHsKKwlvZV9ydW5tYWtlIC1lICJJUk9PVD0ke0R9IiBpbnN0YWxsCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCWluc3RhbGwgLW0gMDc1NSAgICAke1dPUktESVJ9L2F0ZC5pbml0CQkke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvYXRkCisKKwkjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGVzCisJaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2F0ZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2F0ZC5zZXJ2aWNlCisKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KKwkJaW5zdGFsbCAtRCAtbSAwNjQ0ICR7V09SS0RJUn0vJHtCUH0vcGFtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvYXRkCisJZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sLzAwMDQtZml4LWZ0YmZzLWdsaWJjLTIuMjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjViY2E2NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0Rlc2NyaXB0aW9uOiBGaXggRlRCRlMgd2l0aCBnbGliYyAyLjI4CitBdXRob3I6IEFkcmlhbiBCdW5rIDxidW5rQGRlYmlhbi5vcmc+CitCdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy85MTcwNTUKKworVGhpcyBwYXRjaCBpcyB0YWtlbiBmcm9tCitodHRwOi8vZnRwLmRlYmlhbi5vcmcvZGViaWFuL3Bvb2wvbWFpbi9iL2Jsa3Rvb2wvYmxrdG9vbF80LTcuMS5kZWJpYW4udGFyLnh6CisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdXBzdHJlYW0gaXMgZGVhZF0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tIGJsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYworKysrIGJsa3Rvb2wtNC9ibGt0b29sLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzeXMvc3RhdC5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKysjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgorICNpbmNsdWRlIDxmY250bC5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxnZXRvcHQuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbC9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sL2Jsa3Rvb2wtZ251bGliLW1ha2VkZXYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlZWE2MDguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sL2Jsa3Rvb2wtZ251bGliLW1ha2VkZXYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1pbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+IGZvciBtYWpvci9taW5vciBkZWZpbnRpb25zCi0KLUZpeGVzCi0KLXwgLi4vYmxrdG9vbC00Lm9yaWcvYmxrdG9vbC5jOiBJbiBmdW5jdGlvbiAnZGV0ZWN0X2Rldl9jbGFzcyc6Ci18IC4uL2Jsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYzoyOTU6MTA6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWpvcicgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCi18ICAgc3dpdGNoIChtYWpvcihzdF9yZGV2KSkgewotfCAgICAgICAgICAgXn5+fn4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotSW5kZXg6IGJsa3Rvb2wtNC5vcmlnL2Jsa3Rvb2wuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGJsa3Rvb2wtNC5vcmlnLm9yaWcvYmxrdG9vbC5jCi0rKysgYmxrdG9vbC00Lm9yaWcvYmxrdG9vbC5jCi1AQCAtMjcsNiArMjcsNyBAQAotICNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgotICNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgotICNpbmNsdWRlIDxzY3NpL3Njc2kuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotICNpbmNsdWRlICJibGt0b29sLmgiCi0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYyZWFhNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuMS5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIlR1bmUgbG93LWxldmVsIGJsb2NrIGRldmljZSBwYXJhbWV0ZXJzIgorREVTQ1JJUFRJT04gPSAiYmxrdG9vbCBpcyB1c2VkIGZvciBxdWVyeWluZyBhbmQvb3IgY2hhbmdpbmcgc2V0dGluZ3MgXAorb2YgYSBibG9jayBkZXZpY2UuIEl0IGlzIGxpa2UgaGRwYXJtIGJ1dCBhIG1vcmUgZ2VuZXJhbCB0b29sLCBhcyBpdCBcCit3b3JrcyBvbiBTQ1NJLCBJREUgYW5kIFNBVEEgZGV2aWNlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMuZGViaWFuLm9yZy91bnN0YWJsZS9hZG1pbi9ibGt0b29sIgorTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLmM7YmVnaW5saW5lPTc7ZW5kbGluZT04O21kNT1hNWU3OThlYTk4ZmQ1MDk3MjA4ODk2OGExNWU1ZjM3MyIKKworREVQRU5EUyA9ICJnbGliLTIuMCIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9iLyR7QlBOfS8ke0JQTn1fNC5vcmlnLnRhci5nejtuYW1lPXRhcmJhbGwgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdHlwb3MtaW4tbWFucGFnZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1zdHJpbmctZXJyb3IucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtMy1kLWFyZ3VtZW50LWZvci1CTEtST1NFVC1pdC1tdXN0LWJlLWNvbnN0LWludC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWZpeC1mdGJmcy1nbGliYy0yLjI4LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjYyZWRjMDljOTkwODEwN2U2OTM5MWM4N2Y0ZjNmZDQwIgorU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYjFlNmQ1OTEyNTQ2ZDJhNGI3MDRlYzY1YzJiOTY2NGFhM2I0NjYzZTdkODAwZTA2ODAzMzMwMzM1YTJjYjc2NCIKKworIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAorIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+KChcZCtcLiopKyktKChcZCtcLiopKykpXC4oZGlmZnxkZWJpYW5cLnRhcilcLihnenx4eikiCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tNC5vcmlnIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTZmN2VlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1TVU1NQVJZID0gIlR1bmUgbG93LWxldmVsIGJsb2NrIGRldmljZSBwYXJhbWV0ZXJzIgotREVTQ1JJUFRJT04gPSAiYmxrdG9vbCBpcyB1c2VkIGZvciBxdWVyeWluZyBhbmQvb3IgY2hhbmdpbmcgc2V0dGluZ3MgXAotb2YgYSBibG9jayBkZXZpY2UuIEl0IGlzIGxpa2UgaGRwYXJtIGJ1dCBhIG1vcmUgZ2VuZXJhbCB0b29sLCBhcyBpdCBcCi13b3JrcyBvbiBTQ1NJLCBJREUgYW5kIFNBVEEgZGV2aWNlcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vcGFja2FnZXMuZGViaWFuLm9yZy91bnN0YWJsZS9hZG1pbi9ibGt0b29sIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLmM7YmVnaW5saW5lPTc7ZW5kbGluZT04O21kNT1hNWU3OThlYTk4ZmQ1MDk3MjA4ODk2OGExNWU1ZjM3MyIKLQotREVQRU5EUyA9ICJnbGliLTIuMCIKLQotU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE2MDcyOFQwNDM0NDNaL3Bvb2wvbWFpbi9iLyR7QlBOfS8ke0JQTn1fNC5vcmlnLnRhci5nejtuYW1lPXRhcmJhbGwgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtdHlwb3MtaW4tbWFucGFnZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWZpeC1zdHJpbmctZXJyb3IucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXgtMy1kLWFyZ3VtZW50LWZvci1CTEtST1NFVC1pdC1tdXN0LWJlLWNvbnN0LWludC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ibGt0b29sLWdudWxpYi1tYWtlZGV2LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjYyZWRjMDljOTkwODEwN2U2OTM5MWM4N2Y0ZjNmZDQwIgotU1JDX1VSSVt0YXJiYWxsLnNoYTI1NnN1bV0gPSAiYjFlNmQ1OTEyNTQ2ZDJhNGI3MDRlYzY1YzJiOTY2NGFhM2I0NjYzZTdkODAwZTA2ODAzMzMwMzM1YTJjYjc2NCIKLQotIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAotIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+KChcZCtcLiopKyktKChcZCtcLiopKykpXC4oZGlmZnxkZWJpYW5cLnRhcilcLihnenx4eikiCi0KLVMgPSAiJHtXT1JLRElSfS8ke0JQTn0tNC5vcmlnIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKaW5kZXggMDI1ZjQ1Yy4uN2QwNGUzMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKQEAgLTI5LDcgKzI5LDcgQEAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgcHRlc3QgcmVsYXRpdmVfc3ltbGlua3MKIAogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotQUxURVJOQVRJVkVfJHtQTn0gPSAiYnVuemlwMiBiemNhdCIKK0FMVEVSTkFUSVZFXyR7UE59ID0gImJ1bnppcDIgYnpjYXQgYnppcDIiCiAKICNpbnN0YWxsIGJpbmFyaWVzIHRvIGJ6aXAyLW5hdGl2ZSB1bmRlciBzeXNyb290IGZvciByZXBsYWNlbWVudC1uYXRpdmUKIEVYVFJBX09FQ09ORl9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtLWJpbmRpcj0ke1NUQUdJTkdfQklORElSX05BVElWRX0vJHtQTn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW8tMi4xMi8wMDAxLUZpeC1zZWdmYXVsdC13aXRoLWFwcGVuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCmluZGV4IDIwNDNjODkuLmVjOGIzMDMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpby0yLjEyLzAwMDEtRml4LXNlZ2ZhdWx0LXdpdGgtYXBwZW5kLnBhdGNoCkBAIC0xLDg3ICsxLDUxIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbYnVncy1jcGlvXQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAogU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIAotRnJvbSAzZjBiZDVhNDBhZDBjZWFlZTc4Yzc0YTUyYTcxNjZlZDdmMDhkYjgxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGF2ZWwgUmFpc2t1cCA8cHJhaXNrdXBAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjkgTm92IDIwMTggMDc6MDM6NDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IHNlZ2ZhdWx0IHdpdGggLS1hcHBlbmQKK0Zyb20gMzJkOTVmZTBjOTBjNTkzNTJhMGNlMzEwMmZjOTg2NmNiZmIwZjYyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNlcmdleSBQb3pueWFrb2ZmIDxncmF5QGdudS5vcmc+CitEYXRlOiBTYXQsIDEgRGVjIDIwMTggMTE6NDA6MDIgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHNpZ2ZhdWx0IHdoZW4gYXBwZW5kaW5nIHRvIGFyY2hpdmUKIAotVGhlIC0tYXBwZW5kIG1vZGUgY29tYmluZXMgYm90aCBwcm9jZXNzX2NvcHlfaW4oKSBhbmQKLXByb2Nlc3NfY29weV9vdXQoKSBtZXRob2RzLCBlYWNoIG9mIHRoZW0gd29ya2luZyB3aXRoIGRpZmZlcmVudAotKGxvY2FsKSBmaWxlX2hkci0+Y19uYW1lIGJ1ZmZlcnMuICBTbyBlbnN1cmUgdGhhdAotY3Bpb19zZXRfY19uYW1lKCkgaXNuJ3QgdXNpbmcgdGhlIHNhbWUgc3RhdGljIHZhcmlhYmxlIGZvcgotbWFpbnRhaW5pbmcgbGVuZ3RoIG9mIGRpZmZlcmVudCBidWZmZXJzLgorQnVnIHJlcG9ydGVkIGJ5IFJvc3MgQnVydG9uLiBTZWUKKzxodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYnVnLWNwaW8vMjAxOC0xMS9tc2cwMDAwMC5odG1sPgogCi1Db21wbGVtZW50cyBkMzZlYzVmNGU5MzEzMGVmYjI0ZmI5LiAgVGhhbmtzIHRvIFJvc3MgQnVydG9uLgotCi0qIHNyYy9jb3B5aW4uYyAocHJvY2Vzc19jb3B5X2luKTogQWx3YXlzIGluaXRpYWxpemUgZmlsZV9oZHIuCi0qIHNyYy9jb3B5b3V0LmMgKHByb2Nlc3NfY29weV9vdXQpOiBMaWtld2lzZS4KLSogc3JjL2NwaW9oZHIuaCAoY3Bpb19maWxlX3N0YXQpOiBBZGQgY19uYW1lX2J1ZmxlbiB2YXJpYWJsZS4KLSogc3JjL3V0aWwuYyAoY3Bpb19zZXRfY19uYW1lKTogVXNlIGZpbGVfaGRyLT5jX25hbWVfYnVmbGVuLgorKiBzcmMvdXRpbC5jOiBLZWVwIHN0YXRpYyBjb3B5IG9mIHRoZSBidWZmZXIgcG9pbnRlcjsgYWx3YXlzCithc3NpZ24gaXQgdG8gZmlsZV9oZHItPmNfbmFtZS4gVXNlIHgycmVhbGxvYyBmb3IgbWVtb3J5IG1hbmFnZW1lbnQuCiAtLS0KLSBzcmMvY29weWluLmMgIHwgMSArCi0gc3JjL2NvcHlvdXQuYyB8IDEgKwotIHNyYy9jcGlvaGRyLmggfCAxICsKLSBzcmMvdXRpbC5jICAgIHwgMyArKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIHNyYy91dGlsLmMgfCAxNyArKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcHlpbi5jIGIvc3JjL2NvcHlpbi5jCi1pbmRleCBiYTg4N2FlLi43NjdjMmY4IDEwMDY0NAotLS0tIGEvc3JjL2NvcHlpbi5jCi0rKysgYi9zcmMvY29weWluLmMKLUBAIC0xMjEzLDYgKzEyMTMsNyBAQCBwcm9jZXNzX2NvcHlfaW4gKCkKLSAKLSAgIG5ld2Rpcl91bWFzayA9IHVtYXNrICgwKTsgICAgIC8qIFJlc2V0IHVtYXNrIHRvIHByZXNlcnZlIG1vZGVzIG9mCi0gCQkJCSAgIGNyZWF0ZWQgZmlsZXMgICovCi0rICBtZW1zZXQgKCZmaWxlX2hkciwgMCwgc2l6ZW9mIChzdHJ1Y3QgY3Bpb19maWxlX3N0YXQpKTsKLSAgIAotICAgLyogSW5pdGlhbGl6ZSB0aGUgY29weSBpbi4gICovCi0gICBpZiAocGF0dGVybl9maWxlX25hbWUpCi1kaWZmIC0tZ2l0IGEvc3JjL2NvcHlvdXQuYyBiL3NyYy9jb3B5b3V0LmMKLWluZGV4IDc1MzJkYWMuLmZiODkwY2IgMTAwNjQ0Ci0tLS0gYS9zcmMvY29weW91dC5jCi0rKysgYi9zcmMvY29weW91dC5jCi1AQCAtNTk0LDYgKzU5NCw3IEBAIHByb2Nlc3NfY29weV9vdXQgKCkKLSAKLSAgIC8qIEluaXRpYWxpemUgdGhlIGNvcHkgb3V0LiAgKi8KLSAgIGRzX2luaXQgKCZpbnB1dF9uYW1lLCAxMjgpOwotKyAgbWVtc2V0ICgmZmlsZV9oZHIsIDAsIHNpemVvZiAoc3RydWN0IGNwaW9fZmlsZV9zdGF0KSk7Ci0gICBmaWxlX2hkci5jX21hZ2ljID0gMDcwNzA3OwotIAotICAgLyogQ2hlY2sgd2hldGhlciB0aGUgb3V0cHV0IGZpbGUgbWlnaHQgYmUgYSB0YXBlLiAgKi8KLWRpZmYgLS1naXQgYS9zcmMvY3Bpb2hkci5oIGIvc3JjL2NwaW9oZHIuaAotaW5kZXggNTg4MTM1Yi4uY2Y2NGYzZSAxMDA2NDQKLS0tLSBhL3NyYy9jcGlvaGRyLmgKLSsrKyBiL3NyYy9jcGlvaGRyLmgKLUBAIC0xMjcsNiArMTI3LDcgQEAgc3RydWN0IGNwaW9fZmlsZV9zdGF0IC8qIEludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGEgQ1BJTyBoZWFkZXIgKi8KLSAgIHVpbnQzMl90IGNfY2hrc3VtOwotICAgY2hhciAqY19uYW1lOwotICAgY2hhciAqY190YXJfbGlua25hbWU7Ci0rICBzaXplX3QgY19uYW1lX2J1ZmxlbjsKLSB9OwotIAotIHZvaWQgY3Bpb19zZXRfY19uYW1lKHN0cnVjdCBjcGlvX2ZpbGVfc3RhdCAqZmlsZV9oZHIsIGNoYXIgKm5hbWUpOwogZGlmZiAtLWdpdCBhL3NyYy91dGlsLmMgYi9zcmMvdXRpbC5jCi1pbmRleCAxMDQ4NmRjLi4xMjU2NDY5IDEwMDY0NAoraW5kZXggMTA0ODZkYy4uNGU0OTEyNCAxMDA2NDQKIC0tLSBhL3NyYy91dGlsLmMKICsrKyBiL3NyYy91dGlsLmMKLUBAIC0xNDEzLDcgKzE0MTMsNyBAQCBzZXRfZmlsZV90aW1lcyAoaW50IGZkLAorQEAgLTE0MTMsMjIgKzE0MTMsMTMgQEAgc2V0X2ZpbGVfdGltZXMgKGludCBmZCwKICB2b2lkCiAgY3Bpb19zZXRfY19uYW1lIChzdHJ1Y3QgY3Bpb19maWxlX3N0YXQgKmZpbGVfaGRyLCBjaGFyICpuYW1lKQogIHsKLS0gIHN0YXRpYyBzaXplX3QgYnVmbGVuID0gMDsKLSsgIHNpemVfdCBidWZsZW4gPSBmaWxlX2hkci0+Y19uYW1lX2J1ZmxlbjsKKysgIHN0YXRpYyBjaGFyICpidWYgPSBOVUxMOworICAgc3RhdGljIHNpemVfdCBidWZsZW4gPSAwOwogICAgc2l6ZV90IGxlbiA9IHN0cmxlbiAobmFtZSkgKyAxOwogIAotICAgaWYgKGJ1ZmxlbiA9PSAwKQotQEAgLTE0MzAsNiArMTQzMCw3IEBAIGNwaW9fc2V0X2NfbmFtZSAoc3RydWN0IGNwaW9fZmlsZV9zdGF0ICpmaWxlX2hkciwgY2hhciAqbmFtZSkKLSAgICAgfQotIAorLSAgaWYgKGJ1ZmxlbiA9PSAwKQorLSAgICB7CistICAgICAgYnVmbGVuID0gbGVuOworLSAgICAgIGlmIChidWZsZW4gPCAzMikKKy0gICAgICAgIGJ1ZmxlbiA9IDMyOworLSAgICAgIGZpbGVfaGRyLT5jX25hbWUgPSB4bWFsbG9jIChidWZsZW4pOworLSAgICB9CistICBlbHNlIGlmIChidWZsZW4gPCBsZW4pCistICAgIHsKKy0gICAgICBidWZsZW4gPSBsZW47CistICAgICAgZmlsZV9oZHItPmNfbmFtZSA9IHhyZWFsbG9jIChmaWxlX2hkci0+Y19uYW1lLCBidWZsZW4pOworLSAgICB9CistCisrICB3aGlsZSAoYnVmbGVuIDwgbGVuKQorKyAgICBidWYgPSB4MnJlYWxsb2MgKGJ1ZiwgJmJ1Zmxlbik7CisrICBmaWxlX2hkci0+Y19uYW1lID0gYnVmOwogICAgZmlsZV9oZHItPmNfbmFtZXNpemUgPSBsZW47Ci0rICBmaWxlX2hkci0+Y19uYW1lX2J1ZmxlbiA9IGJ1ZmxlbjsKICAgIG1lbW1vdmUgKGZpbGVfaGRyLT5jX25hbWUsIG5hbWUsIGxlbik7CiAgfQotIAogLS0gCi0yLjExLjAKKzIuMTguMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fMi4xMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCmluZGV4IDZiYTgzMzcuLmNiODQ1YzMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb18yLjEyLmJiCkBAIC0yNyw2ICsyNyw5IEBACiAgICAgICAgIG12ICIke0R9JHtiaW5kaXJ9L2NwaW8iICIke0R9JHtiYXNlX2JpbmRpcn0vY3BpbyIKICAgICAgICAgcm1kaXIgJHtEfSR7YmluZGlyfS8KICAgICBmaQorCisgICAgIyBBdm9pZCBjb25mbGljdHMgd2l0aCB0aGUgdmVyc2lvbiBmcm9tIHRhcgorICAgIG12ICIke0R9JHttYW5kaXJ9L21hbjgvcm10LjgiICIke0R9JHttYW5kaXJ9L21hbjgvcm10LWNwaW8uOCIKIH0KIAogUEFDS0FHRVMgPSsgIiR7UE59LXJtdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMuaW5jCmluZGV4IGMxNDJhNGQuLjUwMTBmMDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzLmluYwpAQCAtMjksNyArMjksNyBAQAogICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbSBzeXN0ZW1kJywgZCl9IgogUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS1lbmFibGUtYXZhaGksLS1kaXNhYmxlLWF2YWhpLGF2YWhpIgogUEFDS0FHRUNPTkZJR1thY2xdID0gIi0tZW5hYmxlLWFjbCwtLWRpc2FibGUtYWNsLGFjbCIKLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0sIC0tZGlzYWJsZS1wYW0sIGxpYnBhbSIKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICItLWVuYWJsZS1wYW0gLS13aXRoLXBhbS1tb2R1bGU9dW5peCwgLS1kaXNhYmxlLXBhbSwgbGlicGFtIgogUEFDS0FHRUNPTkZJR1tzeXN0ZW1kXSA9ICItLXdpdGgtc3lzdGVtZD0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9LC0td2l0aG91dC1zeXN0ZW1kLHN5c3RlbWQiCiBQQUNLQUdFQ09ORklHW3hpbmV0ZF0gPSAiLS13aXRoLXhpbmV0ZD0ke3N5c2NvbmZkaXJ9L3hpbmV0ZC5kLC0td2l0aG91dC14aW5ldGQseGluZXRkIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMvMDAwMS1kb24tdC10cnktdG8tcnVuLWdlbmVyYXRlZC1iaW5hcmllcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCmluZGV4IGRiMDEzY2YuLmQ2YTY5ZjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoCkBAIC0xLDIwICsxLDIxIEBACi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2VtYmVkZGVkIHNwZWNpZmljXQotCi1Gcm9tIDkwMDY5NTg2MTY3YjkzMGJlZmNlNzMwM2FlYTU3MDc4ZjA0YjRlZDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDFmYjA3MTYyYTllZDE4N2NjY2YwNmUzNGM5YmY4NDFkMTVjNmU2NGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgogRGF0ZTogU3VuLCAzMCBKYW4gMjAxMSAxNjozNzoyNyArMDEwMAogU3ViamVjdDogW1BBVENIXSBkb24ndCB0cnkgdG8gcnVuIGdlbmVyYXRlZCBiaW5hcmllcwogCi1TaWduZWQtb2ZmLWJ5OiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgotLS0tCi0gcHBkYy9NYWtlZmlsZSB8ICAgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbZW1iZWRkZWQgc3BlY2lmaWNdCiAKLUluZGV4OiBjdXBzLTIuMi42L3BwZGMvTWFrZWZpbGUKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjdXBzLTIuMi42Lm9yaWcvcHBkYy9NYWtlZmlsZQotKysrIGN1cHMtMi4yLjYvcHBkYy9NYWtlZmlsZQotQEAgLTIyOCw4ICsyMjgsOCBAQCBnZW5zdHJpbmdzOgkJZ2Vuc3RyaW5ncy5vIGxpYmN1cHNwcGRjLmEKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CisKKy0tLQorIHBwZGMvTWFrZWZpbGUgfCAzMiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3BwZGMvTWFrZWZpbGUgYi9wcGRjL01ha2VmaWxlCitpbmRleCBlNTYzOTg4Li45NzNkZDNmIDEwMDY0NAorLS0tIGEvcHBkYy9NYWtlZmlsZQorKysrIGIvcHBkYy9NYWtlZmlsZQorQEAgLTE4OSw4ICsxODksOCBAQCBnZW5zdHJpbmdzOgkJZ2Vuc3RyaW5ncy5vIGxpYmN1cHNwcGRjLmEgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpIFwKICAJJChMRF9DWFgpICQoQVJDSEZMQUdTKSAkKExERkxBR1MpIC1vIGdlbnN0cmluZ3MgZ2Vuc3RyaW5ncy5vIFwKICAJCWxpYmN1cHNwcGRjLmEgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpICQoTElCR1NTQVBJKSAkKFNTTExJQlMpIFwKICAJCSQoRE5TU0RMSUJTKSAkKENPTU1PTkxJQlMpICQoTElCWikKQEAgLTI1LDEwICsyNiwxMCBAQAogIAogIAogICMKLUBAIC0yNDYsOSArMjQ2LDkgQEAgcHBkYy1zdGF0aWM6CQlwcGRjLm8gbGliY3Vwc3BwZGMuYSAuLi9jdQotIAkkKExEX0NYWCkgJChBUkNIRkxBR1MpICQoTERGTEFHUykgLW8gcHBkYy1zdGF0aWMgcHBkYy5vIGxpYmN1cHNwcGRjLmEgXAorQEAgLTIwOSw5ICsyMDksOSBAQCBwcGRjLXN0YXRpYzoJCXBwZGMubyBsaWJjdXBzcHBkYy5hIC4uL2N1cHMvJChMSUJDVVBTU1RBVElDKSBmb28uZHJ2IGZvby1mci5wbwogIAkJLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpICQoTElCR1NTQVBJKSAkKFNTTExJQlMpICQoRE5TU0RMSUJTKSBcCiAgCQkkKENPTU1PTkxJQlMpICQoTElCWikKKyAJJChDT0RFX1NJR04pIC1zICIkKENPREVfU0lHTl9JREVOVElUWSkiICRACiAtCWVjaG8gVGVzdGluZyBQUEQgY29tcGlsZXIuLi4KIC0JLi9wcGRjLXN0YXRpYyAtbCBlbixmciAtSSAuLi9kYXRhIGZvby5kcnYKIC0JLi9wcGRjLXN0YXRpYyAtbCBlbixmciAteiAtSSAuLi9kYXRhIGZvby5kcnYKQEAgLTM4LDEwICszOSwxMCBAQAogIAogIAogICMKLUBAIC0yNzQsMTcgKzI3NCwxNyBAQCBwcGRpLXN0YXRpYzoJCXBwZGMtc3RhdGljIHBwZGkubyBsaWJjdXBzCi0gCSQoTERfQ1hYKSAkKEFSQ0hGTEFHUykgJChMREZMQUdTKSAtbyBwcGRpLXN0YXRpYyBwcGRpLm8gbGliY3Vwc3BwZGMuYSBcCitAQCAtMjQwLDE3ICsyNDAsMTcgQEAgcHBkaS1zdGF0aWM6CQlwcGRjLXN0YXRpYyBwcGRpLm8gbGliY3Vwc3BwZGMuYSAgLi4vY3Vwcy8kKExJQkNVUFNTVEFUSUMpCiAgCQkuLi9jdXBzLyQoTElCQ1VQU1NUQVRJQykgJChMSUJHU1NBUEkpICQoU1NMTElCUykgJChETlNTRExJQlMpIFwKICAJCSQoQ09NTU9OTElCUykgJChMSUJaKQorIAkkKENPREVfU0lHTikgLXMgIiQoQ09ERV9TSUdOX0lERU5USVRZKSIgJEAKIC0JZWNobyBUZXN0aW5nIFBQRCBpbXBvcnRlci4uLgogLQkkKFJNKSAtciBwcGQgcHBkMiBzYW1wbGUtaW1wb3J0LmRydgogLQkuL3BwZGMtc3RhdGljIC1sIGVuIC1JIC4uL2RhdGEgc2FtcGxlLmRydgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDkwYzg0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwc18yLjIuMTAuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGN1cHMuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1mMjEyYjQzMzhkYjBkYThjYjg5MmU5NGJmMjk0OTQ2MCIKKworU1JDX1VSSVttZDVzdW1dID0gIjNkMjJkNzQ3NDAzZWM1ZGNkMGI2NmQxMzMyNTY0ODE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3YzhiMmIzYmI3ZmU4YjVmYmZmZmMzMDdmMmM4MTdiMmQ3ZWM2N2I2NTdmMjYxYTFkZDFjNjFhYjgxMjA1YmIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4yLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRlMWJkODQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMi44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1yZXF1aXJlIGN1cHMuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT1mMjEyYjQzMzhkYjBkYThjYjg5MmU5NGJmMjk0OTQ2MCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjMzMTUwZDA4OTkzYTA0YzhlMjIxNzZlOTM4MDVhMDUxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5NjhmYzFkMjZmYzQ4NzI3NTA4ZGIxYzEzODBlMzZjNjY5NGFiOTAxNzdmZDY5MjBhZWM1ZjZjYzczYWY5ZTQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmExYTRiYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSBiOTU2NWRjMmZlMGM0ZjdkYWFlYzkxYjdlODNiYzczMTNkZWUyZjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTMgQXByIDIwMTUgMTc6MDI6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gVW5zZXQgbmVlZF9jaGFyc2V0X2FsaWFzIHdoZW4gYnVpbGRpbmcgZm9yIG11c2wKLQotbG9jYWxjaGFyc2V0IHVzZXMgYWNfY3ZfZ251X2xpYnJhcnlfMl8xIGZyb20gZ2xpYmMyMS5tNAotd2hpY2ggYWN0dWFsbHkgc2hvdWRsIGJlIGZpeGVkIGluIGdudWxpYiBhbmQgdGhlbiBhbGwgZG93bnN0cmVhbQotcHJvamVjdHMgd2lsbCBnZXQgaXQgZXZlbnR1YWxseS4gRm9yIG5vdyB3ZSBhcHBseSB0aGUgZml4IHRvCi1jb3JldXRpbHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWIvZ251bGliLm1rIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliL2dudWxpYi5tayBiL2xpYi9nbnVsaWIubWsKLWluZGV4IGUxZDc0ZGIuLmMwZTkyZGQgMTAwNjQ0Ci0tLS0gYS9saWIvZ251bGliLm1rCi0rKysgYi9saWIvZ251bGliLm1rCi1AQCAtMTg4Miw3ICsxODgyLDcgQEAgaW5zdGFsbC1leGVjLWxvY2FsY2hhcnNldDogYWxsLWxvY2FsCi0gCSAgY2FzZSAnJChob3N0X29zKScgaW4gXAotIAkgICAgZGFyd2luWzU2XSopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXAotLQkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikgXAotKwkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKiB8IGxpbnV4LW11c2wqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz1mYWxzZSA7OyBcCi0gCSAgICAqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42LzAwMDEtZXhwbGljaXRseS1kaXNhYmxlLXJlcGxhY2luZy1nZXRvcHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MWY4N2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjYvMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVN1YmplY3Q6IGV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0Ci0KLUV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0IHRvIGF2b2lkIGNvbXBpbGF0aW9uIGVycm9yIGxpa2UgYmVsb3cuCi0KLSAgeHN0cnRvbC1lcnJvci5jOjg0OjI2OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUgJ3N0cnVjdCBycGxfb3B0aW9uJwotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCi1TaWduZWQtb2ZmLWJ5OiBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBtNC9nZXRvcHQubTQgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbTQvZ2V0b3B0Lm00IGIvbTQvZ2V0b3B0Lm00Ci1pbmRleCAzZWJjN2I3Li44OTM0NDI2IDEwMDY0NAotLS0tIGEvbTQvZ2V0b3B0Lm00Ci0rKysgYi9tNC9nZXRvcHQubTQKLUBAIC0yMiw4ICsyMiw4IEBAIEFDX0RFRlVOKFtnbF9GVU5DX0dFVE9QVF9QT1NJWF0sCi0gICAgIGZpCi0gICBdKQotICAgaWYgdGVzdCAkUkVQTEFDRV9HRVRPUFQgPSAxOyB0aGVuCi0tICAgIGRubCBBcnJhbmdlIGZvciBnZXRvcHQuaCB0byBiZSBjcmVhdGVkLgotLSAgICBnbF9HRVRPUFRfU1VCU1RJVFVURV9IRUFERVIKLSsgICAgZG5sIEV4cGxpY2l0bHkgZGlzYWJsZSByZXBsYWNpbmcgZ2V0b3B0Ci0rICAgIDoKLSAgIGZpCi0gXSkKLSAKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy42L3J1bi1wdGVzdCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNi9ydW4tcHRlc3QKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMvcnVuLXB0ZXN0CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmE4OTdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCIKLQotcmVxdWlyZSBkaWZmdXRpbHMuaW5jCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9kaWZmdXRpbHMvZGlmZnV0aWxzLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0iCi1TUkNfVVJJX2FwcGVuZF9saWJjLWdsaWJjID0gIiBmaWxlOi8vMDAwMS1leHBsaWNpdGx5LWRpc2FibGUtcmVwbGFjaW5nLWdldG9wdC5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA3Y2YyODY2NzJjZWQyNmZiYTU0Y2QwMzEzYmRjMDcxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MjFlOGJkZDRiNTczOTE4YzgxNDVmN2FlNjE4MTdkMWJlOWRlYjRjOGQyMzI4YTY1Y2VhOGUxMWQ3ODNiZDYiCi0KLUVYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9QUl9QUk9HUkFNPSR7YmluZGlyfS9wciAtLXdpdGhvdXQtbGlic2lnc2Vndi1wcmVmaXgiCi0KLSMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCi1hY3BhdGhzID0gIi1JIC4vbTQiCi0KLWluaGVyaXQgcHRlc3QKLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCi0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JdD0ke0R9JHtQVEVTVF9QQVRIfQotCWluc3RhbGwgLUQgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHQvYnVpbGQtYXV4L3Rlc3QtZHJpdmVyCi0JY3AgLXIgJHtTfS90ZXN0cyAkdC8KLQlpbnN0YWxsICR7Qn0vdGVzdHMvTWFrZWZpbGUgJHQvdGVzdHMvCi0Jc2VkIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCi0JICAgIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnIFwKLQkgICAgLWUgJ3N8YmFzaHxzaHwnIFwKLQkgICAgLWUgJ3N8XnRvcF9zcmNkaXIgPSBcKC4qXCl8dG9wX3NyY2RpciA9IC4uXC98JyBcCi0JICAgIC1lICdzfF5zcmNkaXIgPSBcKC4qXCl8c3JjZGlyID0gLnwnIFwKLQkgICAgLWUgJ3N8ImAkKGJ1aWx0X3Byb2dyYW1zKWAifGRpZmZ8JyBcCi0JICAgIC1lICdzfGdhd2t8YXdrfGcnIFwKLQkgICAgLWkgJHQvdGVzdHMvTWFrZWZpbGUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RhZWVlMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy43LmJiCkBAIC0wLDAgKzEsMzkgQEAKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK3JlcXVpcmUgZGlmZnV0aWxzLmluYworCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZGlmZnV0aWxzL2RpZmZ1dGlscy0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ4MjRhZGMwZTk1ZGJiZjExZGZiZGZhYWQ2YTFlNDYxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzYTdhNjIyMWMzZGM5MTYwODVmMGQyMDVhYmY2YjhlMWJhNDQzZDRkZDk2NTExOGRhMzY0YTFkYzFjYjNhMjYiCisKK0VYVFJBX09FQ09ORiArPSAiYWNfY3ZfcGF0aF9QUl9QUk9HUkFNPSR7YmluZGlyfS9wciAtLXdpdGhvdXQtbGlic2lnc2Vndi1wcmVmaXgiCisKKyMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCithY3BhdGhzID0gIi1JIC4vbTQiCisKK2luaGVyaXQgcHRlc3QKKworUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UiCisKK2RvX2luc3RhbGxfcHRlc3QoKSB7CisJdD0ke0R9JHtQVEVTVF9QQVRIfQorCWluc3RhbGwgLUQgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHQvYnVpbGQtYXV4L3Rlc3QtZHJpdmVyCisJY3AgLXIgJHtTfS90ZXN0cyAkdC8KKwlpbnN0YWxsICR7Qn0vdGVzdHMvTWFrZWZpbGUgJHQvdGVzdHMvCisJc2VkIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKKwkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAorCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKKwkgICAgLWUgJ3M6JHtCQVNFX1dPUktESVJ9LyR7TVVMVElNQUNIX1RBUkdFVF9TWVN9OjpnJyBcCisJICAgIC1lICdzfF5NYWtlZmlsZTp8X01ha2VmaWxlOnwnIFwKKwkgICAgLWUgJ3N8YmFzaHxzaHwnIFwKKwkgICAgLWUgJ3N8XnRvcF9zcmNkaXIgPSBcKC4qXCl8dG9wX3NyY2RpciA9IC4uXC98JyBcCisJICAgIC1lICdzfF5zcmNkaXIgPSBcKC4qXCl8c3JjZGlyID0gLnwnIFwKKwkgICAgLWUgJ3N8ImAkKGJ1aWx0X3Byb2dyYW1zKWAifGRpZmZ8JyBcCisJICAgIC1lICdzfGdhd2t8YXdrfGcnIFwKKwkgICAgLWkgJHQvdGVzdHMvTWFrZWZpbGUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTQuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTQuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODdkMDNiMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9lZC9lZF8xLjE0LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1TVU1NQVJZID0gIkxpbmUtb3JpZW50ZWQgdGV4dCBlZGl0b3IiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZWQvIgotCi1MSUNFTlNFID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTBjNzA1MWFlZjkyMTlkYzcyMzdmMjA2YzVjNDE3OWE3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2VkLmg7ZW5kbGluZT0yMDttZDU9NGUzNmI3YTQwZTEzN2Y0MmFlZTcxODE2NTU5MGQxMjUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWFpbi5jO2VuZGxpbmU9MTc7bWQ1PWM1YjhmNzhmMTE1ZGYxODdhZjc2ODY4YTJhZWFkMTZhIgotCi1TRUNUSU9OID0gImJhc2UiCi0KLSMgTFNCIHN0YXRlcyB0aGF0IGVkIHNob3VsZCBiZSBpbiAvYmluLwotYmluZGlyID0gIiR7YmFzZV9iaW5kaXJ9IgotCi0jIFVwc3RyZWFtIHJlZ3VsYXJseSByZW1vdmVzIHByZXZpb3VzIHJlbGVhc2VzIGZyb20gaHR0cHM6Ly9mdHAuZ251Lm9yZy9nbnUvZWQvCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZWQvJHtCUH0udGFyLmx6IgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7R05VX01JUlJPUn0vZWQvIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjczZDA0Nzc4YjJhNTFmN2MzY2JmY2QyMDAxODc2YmYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjU3OTYyYmE5MzBkNzBkMDJmYzcxZDZiZTVjNWYyMzQ2YjE2OTkyYTQ1NWFiOWM0M2JlNzA2MWRlYzk4MTBkYiIKLQotRVhUUkFfT0VNQUtFID0gIi1lIE1BS0VGTEFHUz0iCi0KLWluaGVyaXQgdGV4aW5mbwotCi1kb19jb25maWd1cmUoKSB7Ci0JJHtTfS9jb25maWd1cmUKLX0KLQotZG9faW5zdGFsbCgpIHsKLQlvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLQkjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgotCWlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgotCQlybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZWQvZWRfMS4xNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc5MzEwMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2VkL2VkXzEuMTUuYmIKQEAgLTAsMCArMSwzNiBAQAorU1VNTUFSWSA9ICJMaW5lLW9yaWVudGVkIHRleHQgZWRpdG9yIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VkLyIKKworTElDRU5TRSA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYzcwNTFhZWY5MjE5ZGM3MjM3ZjIwNmM1YzQxNzlhNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9lZC5oO2VuZGxpbmU9MjA7bWQ1PThhZjhlN2RjNzI3NWRjYTA1Y2U2YzllN2VjZTdhZWM4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21haW4uYztlbmRsaW5lPTE3O21kNT1kNGRkNmE2MmM1MDI3MTIzNThjYTE4NTUxZjk3ODc4MSBcCisgICAgICAgICAgICAgICAgICAgICIKKworU0VDVElPTiA9ICJiYXNlIgorCisjIExTQiBzdGF0ZXMgdGhhdCBlZCBzaG91bGQgYmUgaW4gL2Jpbi8KK2JpbmRpciA9ICIke2Jhc2VfYmluZGlyfSIKKworIyBVcHN0cmVhbSByZWd1bGFybHkgcmVtb3ZlcyBwcmV2aW91cyByZWxlYXNlcyBmcm9tIGh0dHBzOi8vZnRwLmdudS5vcmcvZ251L2VkLworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyR7QlB9LnRhci5seiIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0dOVV9NSVJST1J9L2VkLyIKKworU1JDX1VSSVttZDVzdW1dID0gImQzYWFlYjVlYjAzMjE0Mjk0OGQ3YTJmOThhMjQ4OTliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkNDQ4OWMwYWQ3YTEwOGM1MTQyNjJkYTI4ZTZjMmE0MjY5NDZmYjQwOGEzOTc3ZWYxZWQzNDMwOGJkZmQxNzQiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IgorCitpbmhlcml0IHRleGluZm8KKworZG9fY29uZmlndXJlKCkgeworCSR7U30vY29uZmlndXJlCit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyBpbnN0YWxsCisJIyBJbmZvIGRpciBsaXN0aW5nIGlzbid0IGludGVyZXN0aW5nIGF0IHRoaXMgcG9pbnQgc28gcmVtb3ZlIGl0IGlmIGl0IGV4aXN0cy4KKwlpZiBbIC1lICIke0R9JHtpbmZvZGlyfS9kaXIiIF07IHRoZW4KKwkJcm0gLWYgJHtEfSR7aW5mb2Rpcn0vZGlyCisJZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHNfNC42LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzXzQuNi4wLmJiCmluZGV4IDVlNGNhOTQuLjNiNjJlZDkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHNfNC42LjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZmluZHV0aWxzL2ZpbmR1dGlsc180LjYuMC5iYgpAQCAtMTYsNiArMTYsNiBAQAogU1JDX1VSSVtzaGEyNTZzdW1dID0gImRlZDRjOWY3MzczMWNkNDhmZWMzYjZiZGFjY2NlODk2NDczYjZkOGUzMzdlOTYxMmUxNmNmMTQzMWJiMTE2OWQiCiAKICMgaHR0cDovL3NhdmFubmFoLmdudS5vcmcvYnVncy8/MjcyOTkKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xpYmMtcG9zaXgtY2xhbmctd2NoYXInLCAnZ2xfY3ZfZnVuY193Y3dpZHRoX3dvcmtzPXllcycsICcnLCBkKX0iCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiZ2xfY3ZfZnVuY193Y3dpZHRoX3dvcmtzPXllcyIKIAogRVhUUkFfT0VDT05GICs9ICJhY19jdl9wYXRoX1NPUlQ9JHtiaW5kaXJ9L3NvcnQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyYzFhZGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAxLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTc3ICswLDAgQEAKLUZyb20gYzhjNzc2OTAxOTliNjc3ZjcwMDkzODI0MzgyZjA4ODFlNjQzZTE3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBXZWQsIDUgRGVjIDIwMTggMTI6MjI6MTMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzddIFNhbml0aXplIG9wIHN0YWNrIGZvciBlcnJvciBjb25kaXRpb25zCi0KLVdlIHNhdmUgdGhlIHN0YWNrcyB0byBhbiBhcnJheSBhbmQgc3RvcmUgdGhlIGFycmF5IGZvciB0aGUgZXJyb3IgaGFuZGxlciB0bwotYWNjZXNzLgotCi1Gb3IgU0FGRVIsIHdlIHRyYXZlcnNlIHRoZSBhcnJheSwgYW5kIGRlZXAgY29weSBhbnkgb3AgYXJyYXlzIChwcm9jZWR1cmVzKS4gQXMKLXdlIG1ha2UgdGhlc2UgY29waWVzLCB3ZSBjaGVjayBmb3Igb3BlcmF0b3JzIHRoYXQgZG8gKm5vdCogZXhpc3QgaW4gc3lzdGVtZGljdCwKLXdoZW4gd2UgZmluZCBvbmUsIHdlIHJlcGxhY2UgdGhlIG9wZXJhdG9yIHdpdGggYSBuYW1lIG9iamVjdCAob2YgdGhlIGZvcm0KLSIvLS1vcG5hbWUtLSIpLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwc2kvaW50Lm1hayAgfCAgMyArLQotIHBzaS9pbnRlcnAuYyB8ICA4ICsrKysrKwotIHBzaS9pc3RhY2suYyB8IDc4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBwc2kvaXN0YWNrLmggfCAgMyArKwotIDQgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvcHNpL2ludC5tYWsgYi9wc2kvaW50Lm1hawotaW5kZXggNmFiNWJmMC4uNmIzNDljYiAxMDA2NDQKLS0tLSBhL3BzaS9pbnQubWFrCi0rKysgYi9wc2kvaW50Lm1hawotQEAgLTIwNCw3ICsyMDQsOCBAQCAkKFBTT0JKKWlwYXJhbS4kKE9CSikgOiAkKFBTU1JDKWlwYXJhbS5jICQoR0gpXAotICQoUFNPQkopaXN0YWNrLiQoT0JKKSA6ICQoUFNTUkMpaXN0YWNrLmMgJChHSCkgJChtZW1vcnlfX2gpXAotICAkKGllcnJvcnNfaCkgJChnc3N0cnVjdF9oKSAkKGdzdXRpbF9oKVwKLSAgJChpYWxsb2NfaCkgJChpc3RhY2tfaCkgJChpc3RrcGFybV9oKSAkKGlzdHJ1Y3RfaCkgJChpdXRpbF9oKSAkKGl2bXNwYWNlX2gpXAotLSAkKHN0b3JlX2gpICQoSU5UX01BSykgJChNQUtFRElSUykKLSsgJChzdG9yZV9oKSAkKGljc3RhdGVfaCkgJChpbmFtZV9oKSAkKGRzdGFja19oKSAkKGlkaWN0X2gpIFwKLSsgJChJTlRfTUFLKSAkKE1BS0VESVJTKQotIAkkKFBTQ0MpICQoUFNPXylpc3RhY2suJChPQkopICQoQ18pICQoUFNTUkMpaXN0YWNrLmMKLSAKLSAkKFBTT0JKKWl1dGlsLiQoT0JKKSA6ICQoUFNTUkMpaXV0aWwuYyAkKEdIKSAkKG1hdGhfX2gpICQobWVtb3J5X19oKSAkKHN0cmluZ19faClcCi1kaWZmIC0tZ2l0IGEvcHNpL2ludGVycC5jIGIvcHNpL2ludGVycC5jCi1pbmRleCA2ZGMwZGRhLi5hYTU3NzljIDEwMDY0NAotLS0tIGEvcHNpL2ludGVycC5jCi0rKysgYi9wc2kvaW50ZXJwLmMKLUBAIC03NjEsNiArNzYxLDcgQEAgY29weV9zdGFjayhpX2N0eF90ICppX2N0eF9wLCBjb25zdCByZWZfc3RhY2tfdCAqIHBzdGFjaywgaW50IHNraXAsIHJlZiAqIGFycikKLSAgICAgdWludCBzaXplID0gcmVmX3N0YWNrX2NvdW50KHBzdGFjaykgLSBza2lwOwotICAgICB1aW50IHNhdmVfc3BhY2UgPSBpYWxsb2Nfc3BhY2UoaWRtZW1vcnkpOwotICAgICBpbnQgY29kZSwgaTsKLSsgICAgcmVmICpzYWZldHksICpzYWZlOwotIAotICAgICBpZiAoc2l6ZSA+IDY1NTM1KQotICAgICAgICAgc2l6ZSA9IDY1NTM1OwotQEAgLTc3OCw2ICs3NzksMTMgQEAgY29weV9zdGFjayhpX2N0eF90ICppX2N0eF9wLCBjb25zdCByZWZfc3RhY2tfdCAqIHBzdGFjaywgaW50IHNraXAsIHJlZiAqIGFycikKLSAgICAgICAgICAgICAgICAgbWFrZV9udWxsKCZhcnItPnZhbHVlLnJlZnNbaV0pOwotICAgICAgICAgfQotICAgICB9Ci0rICAgIGlmIChwc3RhY2sgPT0gJm9fc3RhY2sgJiYgZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAiU0FGRVRZIiwgJnNhZmV0eSkgPiAwICYmCi0rICAgICAgICBkaWN0X2ZpbmRfc3RyaW5nKHNhZmV0eSwgInNhZmUiLCAmc2FmZSkgPiAwICYmIHJfaGFzX3R5cGUoc2FmZSwgdF9ib29sZWFuKSAmJgotKyAgICAgICAgc2FmZS0+dmFsdWUuYm9vbHZhbCA9PSB0cnVlKSB7Ci0rICAgICAgICBjb2RlID0gcmVmX3N0YWNrX2FycmF5X3Nhbml0aXplKGlfY3R4X3AsIGFyciwgYXJyKTsKLSsgICAgICAgIGlmIChjb2RlIDwgMCkKLSsgICAgICAgICAgICByZXR1cm4gY29kZTsKLSsgICAgfQotICAgICBpYWxsb2Nfc2V0X3NwYWNlKGlkbWVtb3J5LCBzYXZlX3NwYWNlKTsKLSAgICAgcmV0dXJuIGNvZGU7Ci0gfQotZGlmZiAtLWdpdCBhL3BzaS9pc3RhY2suYyBiL3BzaS9pc3RhY2suYwotaW5kZXggOGZlMTUxZi4uZjFhM2U1MSAxMDA2NDQKLS0tLSBhL3BzaS9pc3RhY2suYwotKysrIGIvcHNpL2lzdGFjay5jCi1AQCAtMjcsNiArMjcsMTAgQEAKLSAjaW5jbHVkZSAiaXV0aWwuaCIKLSAjaW5jbHVkZSAiaXZtc3BhY2UuaCIJCS8qIGZvciBsb2NhbC9nbG9iYWwgdGVzdCAqLwotICNpbmNsdWRlICJzdG9yZS5oIgotKyNpbmNsdWRlICJpY3N0YXRlLmgiCi0rI2luY2x1ZGUgImluYW1lLmgiCi0rI2luY2x1ZGUgImRzdGFjay5oIgotKyNpbmNsdWRlICJpZGljdC5oIgotIAotIC8qIEZvcndhcmQgcmVmZXJlbmNlcyAqLwotIHN0YXRpYyB2b2lkIGluaXRfYmxvY2socmVmX3N0YWNrX3QgKnBzdGFjaywgY29uc3QgcmVmICpwYmxvY2tfYXJyYXksCi1AQCAtMjk0LDYgKzI5OCw4MCBAQCByZWZfc3RhY2tfc3RvcmVfY2hlY2soY29uc3QgcmVmX3N0YWNrX3QgKnBzdGFjaywgcmVmICpwYXJyYXksIHVpbnQgY291bnQsCi0gICAgIHJldHVybiAwOwotIH0KLSAKLStpbnQKLStyZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUoaV9jdHhfdCAqaV9jdHhfcCwgcmVmICpzYXJyLCByZWYgKmRhcnIpCi0rewotKyAgICBpbnQgaSwgY29kZTsKLSsgICAgcmVmIG9iaiwgYXJyMjsKLSsgICAgcmVmICpwb2JqMjsKLSsgICAgZ3NfbWVtb3J5X3QgKm1lbSA9IChnc19tZW1vcnlfdCAqKWlkbWVtb3J5LT5jdXJyZW50OwotKwotKyAgICBpZiAoIXJfaXNfYXJyYXkoc2FycikgfHwgIXJfaGFzX3R5cGUoZGFyciwgdF9hcnJheSkpCi0rICAgICAgICByZXR1cm5fZXJyb3IoZ3NfZXJyb3JfdHlwZWNoZWNrKTsKLSsKLSsgICAgZm9yIChpID0gMDsgaSA8IHJfc2l6ZShzYXJyKTsgaSsrKSB7Ci0rICAgICAgICBjb2RlID0gYXJyYXlfZ2V0KG1lbSwgc2FyciwgaSwgJm9iaik7Ci0rICAgICAgICBpZiAoY29kZSA8IDApCi0rICAgICAgICAgICAgbWFrZV9udWxsKCZvYmopOwotKyAgICAgICAgc3dpdGNoKHJfdHlwZSgmb2JqKSkgewotKyAgICAgICAgICBjYXNlIHRfb3BlcmF0b3I6Ci0rICAgICAgICAgIHsKLSsgICAgICAgICAgICBpbnQgaW5kZXggPSBvcF9pbmRleCgmb2JqKTsKLSsKLSsgICAgICAgICAgICBpZiAoaW5kZXggPiAwICYmIGluZGV4IDwgb3BfZGVmX2NvdW50KSB7Ci0rICAgICAgICAgICAgICAgIGNvbnN0IGJ5dGUgKmRhdGEgPSAoY29uc3QgYnl0ZSAqKShvcF9pbmRleF9kZWYoaW5kZXgpLT5vbmFtZSArIDEpOwotKyAgICAgICAgICAgICAgICBpZiAoZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAoY29uc3QgY2hhciAqKWRhdGEsICZwb2JqMikgPD0gMCkgewotKyAgICAgICAgICAgICAgICAgICAgYnl0ZSAqcyA9IGdzX2FsbG9jX2J5dGVzKG1lbSwgc3RybGVuKChjaGFyICopZGF0YSkgKyA1LCAicmVmX3N0YWNrX2FycmF5X3Nhbml0aXplIik7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAocykgewotKyAgICAgICAgICAgICAgICAgICAgICAgIHNbMF0gPSAgJ1wwJzsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzLCAiLS0iKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzICsgMiwgKGNoYXIgKilkYXRhKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBzdHJjcHkoKGNoYXIgKilzICsgc3RybGVuKChjaGFyICopZGF0YSkgKyAyLCAiLS0iKTsKLSsgICAgICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgICAgIHMgPSAoYnl0ZSAqKWRhdGE7Ci0rICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgICAgICBjb2RlID0gbmFtZV9yZWYoaW1lbW9yeSwgcywgc3RybGVuKChjaGFyICopcyksICZvYmosIDEpOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGUgPCAwKSBtYWtlX251bGwoJm9iaik7Ci0rICAgICAgICAgICAgICAgICAgICBpZiAocyAhPSBkYXRhKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGdzX2ZyZWVfb2JqZWN0KG1lbSwgcywgInJlZl9zdGFja19hcnJheV9zYW5pdGl6ZSIpOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICBtYWtlX251bGwoJm9iaik7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHJlZl9hc3NpZ24oZGFyci0+dmFsdWUucmVmcyArIGksICZvYmopOwotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICB9Ci0rICAgICAgICAgIGNhc2UgdF9hcnJheToKLSsgICAgICAgICAgY2FzZSB0X3Nob3J0YXJyYXk6Ci0rICAgICAgICAgIGNhc2UgdF9taXhlZGFycmF5OgotKyAgICAgICAgICB7Ci0rICAgICAgICAgICAgaW50IGF0dHJzID0gcl90eXBlX2F0dHJzKCZvYmopICYgKGFfd3JpdGUgfCBhX3JlYWQgfCBhX2V4ZWN1dGUgfCBhX2V4ZWN1dGFibGUpOwotKyAgICAgICAgICAgIC8qIFdlIG9ubHkgd2FudCB0byBjb3B5IGV4ZWN1dGFibGUgYXJyYXlzICovCi0rICAgICAgICAgICAgaWYgKGF0dHJzICYgKGFfZXhlY3V0ZSB8IGFfZXhlY3V0YWJsZSkpIHsKLSsgICAgICAgICAgICAgICAgY29kZSA9IGlhbGxvY19yZWZfYXJyYXkoJmFycjIsIGF0dHJzLCByX3NpemUoJm9iaiksICJyZWZfc3RhY2tfYXJyYXlfc2FuaXRpemUiKTsKLSsgICAgICAgICAgICAgICAgaWYgKGNvZGUgPCAwKSB7Ci0rICAgICAgICAgICAgICAgICAgICBtYWtlX251bGwoJmFycjIpOwotKyAgICAgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgICAgIGVsc2UgewotKyAgICAgICAgICAgICAgICAgICAgY29kZSA9IHJlZl9zdGFja19hcnJheV9zYW5pdGl6ZShpX2N0eF9wLCAmb2JqLCAmYXJyMik7Ci0rICAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJmFycjIpOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBlbHNlIHsKLSsgICAgICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJm9iaik7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgICB9Ci0rICAgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgcmVmX2Fzc2lnbihkYXJyLT52YWx1ZS5yZWZzICsgaSwgJm9iaik7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgcmV0dXJuIDA7Ci0rfQotKwotKwotIC8qCi0gICogU3RvcmUgdGhlIHRvcCAnY291bnQnIGVsZW1lbnRzIG9mIGEgc3RhY2ssIHN0YXJ0aW5nICdza2lwJyBlbGVtZW50cyBiZWxvdwotICAqIHRoZSB0b3AsIGludG8gYW4gYXJyYXksIHdpdGggb3Igd2l0aG91dCBzdG9yZS91bmRvIGNoZWNraW5nLiAgYWdlPS0xIGZvcgotZGlmZiAtLWdpdCBhL3BzaS9pc3RhY2suaCBiL3BzaS9pc3RhY2suaAotaW5kZXggMDUxZGNiZS4uNTRiZTQwNSAxMDA2NDQKLS0tLSBhL3BzaS9pc3RhY2suaAotKysrIGIvcHNpL2lzdGFjay5oCi1AQCAtMTI5LDYgKzEyOSw5IEBAIGludCByZWZfc3RhY2tfc3RvcmUoY29uc3QgcmVmX3N0YWNrX3QgKnBzdGFjaywgcmVmICpwYXJyYXksIHVpbnQgY291bnQsCi0gICAgICAgICAgICAgICAgICAgICB1aW50IHNraXAsIGludCBhZ2UsIGJvb2wgY2hlY2ssCi0gICAgICAgICAgICAgICAgICAgICBnc19kdWFsX21lbW9yeV90ICppZG1lbSwgY2xpZW50X25hbWVfdCBjbmFtZSk7Ci0gCi0raW50Ci0rcmVmX3N0YWNrX2FycmF5X3Nhbml0aXplKGlfY3R4X3QgKmlfY3R4X3AsIHJlZiAqc2FyciwgcmVmICpkYXJyKTsKLSsKLSAvKgotICAqIFBvcCB0aGUgdG9wIE4gZWxlbWVudHMgb2ZmIGEgc3RhY2suCi0gICogVGhlIG51bWJlciBtdXN0IG5vdCBleGNlZWQgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB1c2UuCi0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk3Yzc0ZTcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQyICswLDAgQEAKLUZyb20gMjAwMDFkMmJkZjNjYzYwZTc2MjQxYTZhZTcyYjFkZjAxYzU0MjRjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBUaHUsIDEzIERlYyAyMDE4IDE1OjI4OjM0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMi83XSBBbnkgdHJhbnNpZW50IHByb2NlZHVyZXMgdGhhdCBjYWxsIC5mb3JjZSogb3BlcmF0b3JzCi0KLShpLmUuIGZvciBjb25kaXRpb25hbHMgb3IgbG9vcHMpIG1ha2UgdGhlbSBleGVjdXRlb25seS4KLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19kaXNrbi5wcyB8ICAyICstCi0gUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzICB8ICA0ICsrLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2ZudGVtLnBzIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfZm9udHMucHMgfCAxMiArKysrKystLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfbGV2Mi5wcyAgfCAxMSArKysrKystLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcGRmd3IucHMgfCAgMiArLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAgNCArKy0tCi0gUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcyB8ICAyICstCi0gUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcyB8IDEzICsrKysrKysrLS0tLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzIHwgMTYgKysrKysrKysrLS0tLS0tLQotIFJlc291cmNlL0luaXQvcGRmX2ZvbnQucHMgfCAgNiArKystLS0KLSBSZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvcGRmX29wcy5wcyAgfCAgNyArKysrLS0tCi0gMTQgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2Rpc2tuLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kaXNrbi5wcwotaW5kZXggZmQ2OTRiYy4uOGJmMjA1NCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfZGlza24ucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZGlza24ucHMKLUBAIC01MSw3ICs1MSw3IEBAIHN5c3RlbWRpY3QgYmVnaW4KLSAgICAgbWFyayA1IDEgcm9sbCBdIG1hcmsgZXhjaCB7IHsgfSBmb3JhbGwgfSBmb3JhbGwgXQotICAgICAvL3N5c3RlbWRpY3QgLy5zZWFyY2hhYmxlZGV2cyAyIGluZGV4IC5mb3JjZXB1dAotICAgICBleGNoIC5zZXRnbG9iYWwKLS0gIH0KLSsgIH0gZXhlY3V0ZW9ubHkKLSAgIGlmCi0gfSAuYmluZCBleGVjdXRlb25seSBvZGVmICUgbXVzdCBiZSBib3VuZCBhbmQgaGlkZGVuIGZvciAuZm9yY2VwdXQKLSAKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IGVjNWRiNjEuLjRmYWUyODMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTc4LDcgKzc4LDcgQEAgbGV2ZWwyZGljdCBiZWdpbgotICAgIC5jdXJyZW50Z2xvYmFsCi0gICAgIHsJCSUgQ3VycmVudCBtb2RlIGlzIGdsb2JhbDsgZGVsZXRlIGZyb20gbG9jYWwgZGlyZWN0b3J5IHRvby4KLSAgICAgICAvL3N5c3RlbWRpY3QgL0xvY2FsRm9udERpcmVjdG9yeSAua25vd25nZXQKLS0gICAgICAgeyAxIGluZGV4IC5mb3JjZXVuZGVmIH0JCSUgTG9jYWxGb250RGlyZWN0b3J5IGlzIHJlYWRvbmx5Ci0rICAgICAgIHsgMSBpbmRleCAuZm9yY2V1bmRlZiB9IGV4ZWN1dGVvbmx5CQklIExvY2FsRm9udERpcmVjdG9yeSBpcyByZWFkb25seQotICAgICAgIGlmCi0gICAgIH0KLSAgICAgewkJJSBDdXJyZW50IG1vZGUgaXMgbG9jYWw7IGlmIHRoZXJlIHdhcyBhIHNoYWRvd2VkIGdsb2JhbAotQEAgLTEyNiw3ICsxMjYsNyBAQCBsZXZlbDJkaWN0IGJlZ2luCi0gICAgICAgICAgIH0KLSAgICAgICAgICBpZmVsc2UKLSAgICAgICAgfSBmb3JhbGwKLS0gICAgICBwb3AgY291bnR0b21hcmsgMiBpZGl2IHsgLmZvcmNldW5kZWYgfSByZXBlYXQgcG9wCQklIHJlYWRvbmx5Ci0rICAgICAgcG9wIGNvdW50dG9tYXJrIDIgaWRpdiB7IC5mb3JjZXVuZGVmIH0gZXhlY3V0ZW9ubHkgcmVwZWF0IHBvcAkJJSByZWFkb25seQotICAgICB9Ci0gICAgaWYKLSAgICAvL1NoYXJlZEZvbnREaXJlY3RvcnkgZXhjaCAuZm9yY2Vjb3B5bmV3IHBvcAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm50ZW0ucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZudGVtLnBzCi1pbmRleCBjMWY3NjUxLi42ZWI2NzJhIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mbnRlbS5wcwotQEAgLTQwMSwxMiArNDAxLDEyIEBAIGN1cnJlbnRkaWN0IGVuZCBkZWYKLSAgICAgICAuZm9yY2VwdXQgJSBGb250SW5mbyBjYW4gYmUgcmVhZC1vbmx5LgotICAgICAgIHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBib29sIDxmb250PgotICAgICAgIGV4aXQKLS0gICAgfSBpZgotKyAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgIGR1cCAvRm9udEluZm8gZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGJvb2wgPGZvbnQ+IDxGST4KLSAgICAgL0dseXBoTmFtZXMyVW5pY29kZSAvVW5pY29kZSAvRGVjb2RpbmcgZmluZHJlc291cmNlCi0gICAgIC5mb3JjZXB1dCAlIEZvbnRJbmZvIGNhbiBiZSByZWFkLW9ubHkuCi0gICAgIGV4aXQKLS0gIH0gbG9vcAotKyAgfSBleGVjdXRlb25seSBsb29wCi0gICBleGNoIHNldGdsb2JhbAotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZiAlIG11c3QgYmUgYm91bmQgYW5kIGhpZGRlbiBmb3IgLmZvcmNlcHV0Ci0gCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLWluZGV4IDgwM2ZhY2EuLjI5MGRhMGMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1AQCAtMzc0LDcgKzM3NCw3IEBAIEZPTlRQQVRIIGxlbmd0aCAwIGVxIHsgKCVFTkQgRk9OVFBBVEgpIC5za2lwZW9mIH0gaWYKLSAvLnNldG5hdGl2ZWZvbnRtYXBidWlsdCB7ICUgc2V0IHdoZXRoZXIgd2UndmUgYmVlbiBydW4KLSAgIGR1cCB0eXBlIC9ib29sZWFudHlwZSBlcSB7Ci0gICAgICAgc3lzdGVtZGljdCBleGNoIC8ubmF0aXZlZm9udG1hcGJ1aWx0IGV4Y2ggLmZvcmNlcHV0Ci0tICB9Ci0rICB9IGV4ZWN1dGVvbmx5Ci0gICB7cG9wfQotICAgaWZlbHNlCi0gfSAuYmluZCBleGVjdXRlb25seSBvZGVmCi1AQCAtMTAwNywxMSArMTAwNywxMSBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSB7IDIgaW5kZXggZ2NoZWNrIGN1cnJlbnRnbG9iYWwKLSAgIDIgY29weSBlcSB7Ci0gICAgIHBvcCBwb3AgLmZvcmNlcHV0Ci0tICB9IHsKLSsgIH0gZXhlY3V0ZW9ubHkgewotICAgICA1IDEgcm9sbCBzZXRnbG9iYWwKLSAgICAgZHVwIGxlbmd0aCBzdHJpbmcgY29weQotICAgICAuZm9yY2VwdXQgc2V0Z2xvYmFsCi0tICB9IGlmZWxzZQotKyAgfSBleGVjdXRlb25seSBpZmVsc2UKLSB9IC5iaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5mb3JjZXB1dAotIAotICUgQXR0ZW1wdCB0byBsb2FkIGEgZm9udCBmcm9tIGEgZmlsZS4KLUBAIC0xMDg0LDcgKzEwODQsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgIC5Gb250RGlyZWN0b3J5IDMgaW5kZXggLmZvcmNldW5kZWYJCSUgcmVhZG9ubHkKLSAgICAgICAgICAgIDEgaW5kZXggKHIpIGZpbGUgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5IGV4Y2gKLSAgICAgICAgICAgIC8uc2V0Z2xvYmFsIC5zeXN0ZW12YXIgZXhlYwotLSAgICAgICAgIH0KLSsgICAgICAgICB9IGV4ZWN1dGVvbmx5Ci0gICAgICAgICAgeyAubG9hZGZvbnQgLkZvbnREaXJlY3RvcnkKLSAgICAgICAgICB9Ci0gICAgICAgICBpZmVsc2UKLUBAIC0xMTA1LDcgKzExMDUsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgIGR1cCAzIGluZGV4IC5mb250a25vd25nZXQKLSAgICAgICAgICB7IGR1cCAvUGF0aExvYWQgNCBpbmRleCAucHV0Z3N0cmluZ2NvcHkKLSAgICAgICAgICAgIDQgMSByb2xsIHBvcCBwb3AgcG9wIC8vdHJ1ZSBleGl0Ci0tICAgICAgICAgfSBpZgotKyAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAKLSAgICAgICAgICAgICAgICAgJSBNYXliZSB0aGUgZmlsZSBoYWQgYSBkaWZmZXJlbnQgRm9udE5hbWUuCi0gICAgICAgICAgICAgICAgICUgU2VlIGlmIHdlIGNhbiBnZXQgYSBGb250TmFtZSBmcm9tIHRoZSBmaWxlLCBhbmQgaWYgc28sCi1AQCAtMTEzNCw3ICsxMTM0LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICBpZmVsc2UgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgZXhjaCBwb3AgLy90cnVlIGV4aXQKLSAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogZm9udGRpY3QKLS0gICAgICAgICAgICB9Ci0rICAgICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgICAgaWYgcG9wICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGgKLSAgICAgICAgICB9Ci0gICAgICAgICBpZiBwb3AgcG9wICAlIFN0YWNrOiBvcmlnZm9udG5hbWUKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLWluZGV4IGQ3MzMxMjQuLjU2YzBiZDIgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotQEAgLTIzNTcsNyArMjM1Nyw3IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgICAgICAgJSBVcGRhdGUgdGhlIGNvcHkgb2YgdGhlIHVzZXIgcGFyYW1ldGVycy4KLSAgIG1hcmsgLmN1cnJlbnR1c2VycGFyYW1zIGNvdW50dG9tYXJrIDIgaWRpdiB7Ci0gICAgIHVzZXJwYXJhbXMgMyAxIHJvbGwgLmZvcmNlcHV0CSUgdXNlcnBhcmFtcyBpcyByZWFkLW9ubHkKLS0gIH0gcmVwZWF0IHBvcAotKyAgfSBleGVjdXRlb25seSByZXBlYXQgcG9wCi0gICAgICAgICAlIFR1cm4gb24gaWRpb20gcmVjb2duaXRpb24sIGlmIGF2YWlsYWJsZS4KLSAgIGN1cnJlbnR1c2VycGFyYW1zIC9JZGlvbVJlY29nbml0aW9uIGtub3duIHsKLSAgICAgL0lkaW9tUmVjb2duaXRpb24gLy90cnVlIC5kZWZpbmVwc3VzZXJwYXJhbQotQEAgLTIzNzYsNyArMjM3Niw3IEBAIFNBRkVSIHsgLnNldHNhZmVnbG9iYWwgfSBpZgotICAgICAgICAgJSBSZW1vdmUgcmVhbCBzeXN0ZW0gcGFyYW1zIGZyb20gcHNzeXN0ZW1wYXJhbXMuCi0gICBtYXJrIC5jdXJyZW50c3lzdGVtcGFyYW1zIGNvdW50dG9tYXJrIDIgaWRpdiB7Ci0gICAgIHBvcCBwc3N5c3RlbXBhcmFtcyBleGNoIC5mb3JjZXVuZGVmCi0tICB9IHJlcGVhdCBwb3AKLSsgIH0gZXhlY3V0ZW9ubHkgcmVwZWF0IHBvcAotIH0gaWYKLSAKLSAlIFNldCB1cCBBbGlnblRvUGl4ZWxzIDoKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLWluZGV4IDQ0ZmU2MTkuLjBmMGQ1NzMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGV2Mi5wcwotQEAgLTE1NCw3ICsxNTQsOCBAQCBlbmQKLSAgICAgICAlIHByb3RlY3QgdG9wIGxldmVsIG9mIHBhcmFtZXRlcnMgdGhhdCB3ZSBjb3BpZWQKLSAgICAgICBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9zdHJpbmd0eXBlIGVxIG9yIHsgcmVhZG9ubHkgfSBpZgotICAgICAgIC91c2VycGFyYW1zIC5zeXN0ZW12YXIgMyAxIHJvbGwgLmZvcmNlcHV0ICAlIHVzZXJwYXJhbXMgaXMgcmVhZC1vbmx5Ci0tICAgIH0gewotKyAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgIHsKLSAgICAgICBwb3AgcG9wCi0gICAgIH0gaWZlbHNlCi0gICB9IGZvcmFsbAotQEAgLTIyNCw3ICsyMjUsNyBAQCBlbmQKLSAgICAgICAgICAlIHByb3RlY3QgdG9wIGxldmVsIHBhcmFtZXRlcnMgdGhhdCB3ZSBjb3BpZWQKLSAgICAgICAgICBkdXAgdHlwZSBkdXAgL2FycmF5dHlwZSBlcSBleGNoIC9zdHJpbmd0eXBlIGVxIG9yIHsgcmVhZG9ubHkgfSBpZgotICAgICAgICAgIC8vcHNzeXN0ZW1wYXJhbXMgMyAxIHJvbGwgLmZvcmNlcHV0CSUgcHNzeXN0ZW1wYXJhbXMgaXMgcmVhZC1vbmx5Ci0tICAgICAgIH0KLSsgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICB7IHBvcCBwb3AKLSAgICAgICAgfQotICAgICAgIGlmZWxzZQotQEAgLTkzNCw3ICs5MzUsNyBAQCBtYXJrCi0gICBkdXAgL1BhaW50UHJvYyBnZXQKLSAgIDEgaW5kZXggL0ltcGxlbWVudGF0aW9uIGtub3duIG5vdCB7Ci0gICAgIDEgaW5kZXggZHVwIC9JbXBsZW1lbnRhdGlvbiAvL251bGwgLmZvcmNlcHV0IHJlYWRvbmx5IHBvcAotLSAgfSBpZgotKyAgfSBleGVjdXRlb25seSBpZgotICAgZXhlYwotIH0uYmluZCBvZGVmCi0gCi1AQCAtOTU4LDcgKzk1OSw3IEBAIG1hcmsKLSAgIGR1cCAvUGFpbnRQcm9jIGdldAotICAgMSBpbmRleCAvSW1wbGVtZW50YXRpb24ga25vd24gbm90IHsKLSAgICAgMSBpbmRleCBkdXAgL0ltcGxlbWVudGF0aW9uIC8vbnVsbCAuZm9yY2VwdXQgcmVhZG9ubHkgcG9wCi0tICB9IGlmCi0rICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAvVU5ST0xMRk9STVMgd2hlcmUgey9VTlJPTExGT1JNUyBnZXR9e2ZhbHNlfWlmZWxzZSBub3QKLSAgICUlIFtDVE1dIDw8Rm9ybT4+IFBhaW50UHJvYyAuYmVnaW5mb3JtIC0KLSAgIHsKLUBAIC0xMDA1LDcgKzEwMDYsNyBAQCBtYXJrCi0gICAgICAgICAlJSBGb3JtIGRpY3Rpb2FucnkgdXNpbmcgdGhlIC9JbXBsZW1lbnRhdGlvbiBrZXkpLgotICAgICAgICAgMSBkaWN0IGR1cCAvRm9ybUlEIDQgLTEgcm9sbCBwdXQKLSAgICAgICAgIDEgaW5kZXggZXhjaCAvSW1wbGVtZW50YXRpb24gZXhjaCAuZm9yY2VwdXQgcmVhZG9ubHkgcG9wCi0tICAgICAgfQotKyAgICAgIH0gZXhlY3V0ZW9ubHkKLSAgICAgICBpZmVsc2UKLSAgICAgfQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19wZGZ3ci5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcGRmd3IucHMKLWluZGV4IDU4ZTc1ZDMuLmI0MjUxMDMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3BkZndyLnBzCi1AQCAtNjUwLDcgKzY1MCw3IEBAIGN1cnJlbnRkaWN0IC8ucGRmbWFya3BhcmFtcyAudW5kZWYKLSAgICAgICAgICAgICB9IGlmZWxzZQotICAgICAgICAgICB9IGJpbmQgLm1ha2VvcGVyYXRvciAuZm9yY2VwdXQKLSAgICAgICAgICAgc3lzdGVtZGljdCAvLnBkZl9ob29rZWRfRFNDX0NyZWF0b3IgLy90cnVlIC5mb3JjZXB1dAotLSAgICAgICAgfSBpZgotKyAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgcG9wCi0gICAgICAgfSBpZgotICAgICB9IHsKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCA4ZWI4YmIwLi5kOWIzNDU5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtMTUyLDcgKzE1Miw3IEBAIHNldGdsb2JhbAotICAgICAgICAgICAgICAgICAlIHVzZSAuZm9yY2VwdXQgLyAuZm9yY2VkZWYgbGF0ZXIgdG8gcmVwbGFjZSB0aGUgZHVtbXksCi0gICAgICAgICAgICAgICAgICUgZW1wdHkgLkluc3RhbmNlcyBkaWN0aW9uYXJ5IHdpdGggdGhlIHJlYWwgb25lIGxhdGVyLgotICAgICAgICAgICByZWFkb25seQotLSAgICAgICAgfSB7Ci0rICAgICAgICB9ewotICAgICAgICAgICAvZGVmaW5lcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvcgotICAgICAgICAgfSBpZmVsc2UKLSB9IGJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotQEAgLTQyNCw3ICs0MjQsNyBAQCBzdGF0dXMgewotICAgICAgICAgICAgICAgICAgICAgICAgICUgQXMgbm90ZWQgYWJvdmUsIENhdGVnb3J5IGRpY3Rpb25hcmllcyBhcmUgcmVhZC1vbmx5LAotICAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlZGVmIGhlcmUuCi0gICAgICAgICAgICAgICAgICAgLy5JbnN0YW5jZXMgMSBpbmRleCAuZm9yY2VkZWYJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotLSAgICAgICAgICAgICAgICB9IGlmCi0rICAgICAgICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgIHsgLkxvY2FsSW5zdGFuY2VzIGR1cCAvLy5lbXB0eWRpY3QgZXEKLSAgICAgICAgICAgICAgICAgIHsgcG9wIDMgZGljdCBsb2NhbGluc3RhbmNlZGljdCBDYXRlZ29yeSAyIGluZGV4IHB1dAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3Nfc2V0cGQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3NldHBkLnBzCi1pbmRleCBlMjI1OTdlLi43ODc1ZDFmIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19zZXRwZC5wcwotQEAgLTYzNCw3ICs2MzQsNyBAQCBOT01FRElBQVRUUlMgewotICAgU0VUUERERUJVRyB7IChSb2xsaW5nIGJhY2suKSA9IHBzdGFjayBmbHVzaCB9IGlmCi0gICAzIGluZGV4IDIgaW5kZXggMyAtMSByb2xsIC5mb3JjZXB1dAotICAgNCBpbmRleCAxIGluZGV4IC5rbm93bmdldAotLSAgeyA0IGluZGV4IDMgMSByb2xsIC5mb3JjZXB1dCB9Ci0rICB7IDQgaW5kZXggMyAxIHJvbGwgLmZvcmNlcHV0IH0gZXhlY3V0ZW9ubHkKLSAgIHsgMyBpbmRleCBleGNoIC51bmRlZiB9Ci0gICBpZmVsc2UKLSB9IGJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvcGRmX2Jhc2UucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9iYXNlLnBzCi1pbmRleCBiNDVlOTgwLi43MzEyNzI5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9wZGZfYmFzZS5wcwotQEAgLTEzMCwyNiArMTMwLDI5IEBAIGN1cnJlbnRkaWN0IC9udW0tY2hhcnMtZGljdCAudW5kZWYKLSAKLSAvLnBkZmV4ZWN0b2tlbiB7CQklIDxjb3VudD4gPG9wZGljdD4gPGV4ZWN0b2tlbj4gLnBkZmV4ZWN0b2tlbiA/Ci0gICBQREZERUJVRyB7Ci0tICAgIHBkZmRpY3QgL1BERlNURVBjb3VudCBrbm93biBub3QgeyBwZGZkaWN0IC9QREZTVEVQY291bnQgMSAuZm9yY2VwdXQgfSBpZgotKyAgICBwZGZkaWN0IC9QREZTVEVQY291bnQga25vd24gbm90IHsgcGRmZGljdCAvUERGU1RFUGNvdW50IDEgLmZvcmNlcHV0IH0gZXhlY3V0ZW9ubHkgaWYKLSAgICAgUERGU1RFUCB7Ci0gICAgICAgcGRmZGljdCAvUERGdG9rZW5jb3VudCAyIGNvcHkgLmtub3duZ2V0IHsgMSBhZGQgfSB7IDEgfSBpZmVsc2UgLmZvcmNlcHV0Ci0gICAgICAgUERGU1RFUGNvdW50IDEgZ3QgewotICAgICAgICAgcGRmZGljdCAvUERGU1RFUGNvdW50IFBERlNURVBjb3VudCAxIHN1YiAuZm9yY2VwdXQKLS0gICAgICB9IHsKLSsgICAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgICAgewotICAgICAgICAgZHVwID09b25seQotICAgICAgICAgKCAgICBzdGVwICMgKSBwcmludCBQREZ0b2tlbmNvdW50ID1vbmx5Ci0gICAgICAgICAoID8gKSBwcmludCBmbHVzaCAxIC8vZmFsc2UgLm91dHB1dHBhZ2UKLSAgICAgICAgICglc3RkaW4pIChyKSBmaWxlIDI1NSBzdHJpbmcgcmVhZGxpbmUgewotICAgICAgICAgICB0b2tlbiB7Ci0gICAgICAgICAgICAgZXhjaCBwb3AgcGRmZGljdCAvUERGU1RFUGNvdW50IDMgLTEgcm9sbCAuZm9yY2VwdXQKLS0gICAgICAgICAgfSB7Ci0rICAgICAgICAgIH0gZXhlY3V0ZW9ubHkKLSsgICAgICAgICAgewotICAgICAgICAgICAgIHBkZmRpY3QgL1BERlNURVBjb3VudCAxIC5mb3JjZXB1dAotLSAgICAgICAgICB9IGlmZWxzZSAlIHRva2VuCi0rICAgICAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlICUgdG9rZW4KLSAgICAgICAgIH0gewotICAgICAgICAgICBwb3AgL1BERlNURVAgLy9mYWxzZSBkZWYJICUgRU9GIG9uIHN0ZGluCi0gICAgICAgICB9IGlmZWxzZSAlIHJlYWRsaW5lCi0gICAgICAgfSBpZmVsc2UgJSBQREZTVEVQY291bnQgPiAxCi0tICAgIH0gewotKyAgICB9IGV4ZWN1dGVvbmx5Ci0rICAgIHsKLSAgICAgICBkdXAgPT1vbmx5ICgpID0gZmx1c2gKLSAgICAgfSBpZmVsc2UgJSBQREZTVEVQCi0gICB9IGlmICUgUERGREVCVUcKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9kcmF3LnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfZHJhdy5wcwotaW5kZXggNmIwYmE5My4uNDBjNmFjOCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX2RyYXcucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX2RyYXcucHMKLUBAIC0xMTE4LDE0ICsxMTE4LDE0IEBAIGN1cnJlbnRkaWN0IGVuZCByZWFkb25seSBkZWYKLSAgICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgICB9IGlmZWxzZQotKyAgICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgICB9Ci0gICAgICAgewotICAgICAgICAgY3VycmVudGdsb2JhbCBwZGZkaWN0IGdjaGVjayAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgICBwZGZmb3JtYXRlcnJvcgotLSAgICAgIH0gaWZlbHNlCi0rICAgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgICAgICBlbmQKLSAgICAgfSBpZmVsc2UKLSAgIH0gbG9vcAotQEAgLTExNDEsMTQgKzExNDEsMTQgQEAgY3VycmVudGRpY3QgZW5kIHJlYWRvbmx5IGRlZgotICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotICAgICAgICAgLnNldGdsb2JhbAotICAgICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgICB9IGlmZWxzZQotKyAgICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICAgIH0KLSAgICAgewotICAgICAgIGN1cnJlbnRnbG9iYWwgcGRmZGljdCBnY2hlY2sgLnNldGdsb2JhbAotICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAuc2V0Z2xvYmFsCi0gICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgfSBpZmVsc2UKLSsgICAgfSBleGVjdXRlb25seSBpZmVsc2UKLSAgIH0gaWYKLSAgIHBvcAotIAotQEAgLTIzNTAsOSArMjM1MCwxMCBAQCBjdXJyZW50ZGljdCAvbGFzdC1kaXRjaC1icGMtY3NwIHVuZGVmCi0gL0luY3JlbWVudEFwcGVhcmFuY2VOdW1iZXIgewotICAgcGRmZGljdCAvQXBwZWFyYW5jZU51bWJlciAua25vd25nZXQgewotICAgICAxIGFkZCBwZGZkaWN0IC9BcHBlYXJhbmNlTnVtYmVyIDMgLTEgcm9sbCAuZm9yY2VwdXQKLS0gIH17Ci0rICB9IGV4ZWN1dGVvbmx5Ci0rICB7Ci0gICAgIHBkZmRpY3QgL0FwcGVhcmFuY2VOdW1iZXIgMCAuZm9yY2VwdXQKLS0gIH0gaWZlbHNlCi0rICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotIH1iaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLSAvTWFrZUFwcGVhcmFuY2VOYW1lIHsKLUBAIC0yNTEwLDcgKzI1MTEsOCBAQCBjdXJyZW50ZGljdCAvbGFzdC1kaXRjaC1icGMtY3NwIHVuZGVmCi0gICAgICUlIHdhbnQgdG8gcHJlc2VydmUgaXQuCi0gICAgIHBkZmRpY3QgLy5QcmVzZXJ2ZVBERkZvcm0gZmFsc2UgLmZvcmNlcHV0Ci0gICAgIC9xIGN2eCAvZXhlY2Zvcm0gY3Z4IDUgLTIgcm9sbAotLSAgfXsKLSsgIH0gZXhlY3V0ZW9ubHkKLSsgIHsKLSAgICAgL3EgY3Z4IC9QREZleGVjZm9ybSBjdnggNSAtMiByb2xsCi0gICB9IGlmZWxzZQotIAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvcGRmX2ZvbnQucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9mb250LnBzCi1pbmRleCBiZWE5ZWE5Li40Y2Q2MmI5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9wZGZfZm9udC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9wZGZfZm9udC5wcwotQEAgLTcxNCw3ICs3MTQsNyBAQCBjdXJyZW50ZGljdCBlbmQgcmVhZG9ubHkgZGVmCi0gICAgIHBvcCBwb3AgcG9wCi0gICAgIGN1cnJlbnRkaWN0IC8uc3RhY2tkZXB0aCAuZm9yY2V1bmRlZgotICAgICBjdXJyZW50ZGljdCAvLmRzdGFja2RlcHRoIC5mb3JjZXVuZGVmCi0tICB9Ci0rICB9IGV4ZWN1dGVvbmx5Ci0gICB7cG9wIHBvcCBwb3B9Ci0gICBpZmVsc2UKLSAKLUBAIC0xMjMyLDcgKzEyMzIsNyBAQCBjdXJyZW50ZGljdCAvZWV4ZWNfcGRmX3BhcmFtX2RpY3QgLnVuZGVmCi0gICAgICAgICAgICAgICAgIChcbiAgICoqKiogV2FybmluZzogVHlwZSAzIGdseXBoIGhhcyB1bmJhbGFuY2VkIHEvUSBvcGVyYXRvcnMgXCh0b28gbWFueSBxJ3NcKVxuICAgICAgICAgICAgICAgT3V0cHV0IG1heSBiZSBpbmNvcnJlY3QuXG4pCi0gICAgICAgICAgICAgICAgIHBkZmZvcm1hdHdhcm5pbmcKLSAgICAgICAgICAgICAgICAgcGRmZGljdCAvLlFxd2FybmluZ19pc3N1ZWQgLy90cnVlIC5mb3JjZXB1dAotLSAgICAgICAgICAgICAgfSBpZgotKyAgICAgICAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgICAgICAgUQotICAgICAgICAgICAgIH0gcmVwZWF0Ci0gICAgICAgICAgICAgUQotQEAgLTIwMTYsNyArMjAxNiw3IEBAIGN1cnJlbnRkaWN0IC9DTWFwX3JlYWRfZGljdCB1bmRlZgotICAgICAgICAgICAgICAgL0NJREZhbGxCYWNrIC9DSURGb250IGZpbmRyZXNvdXJjZQotICAgICAgICAgICAgIH0gaWYKLSAgICAgICAgICAgICBleGl0Ci0tICAgICAgICAgIH0gaWYKLSsgICAgICAgICAgfSBleGVjdXRlb25seSBpZgotICAgICAgICAgfSBpZgotICAgICAgIH0gaWYKLSAKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9tYWluLnBzIGIvUmVzb3VyY2UvSW5pdC9wZGZfbWFpbi5wcwotaW5kZXggMDBkYTQ3YS4uMzdlNjliMyAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvcGRmX21haW4ucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX21haW4ucHMKLUBAIC0yNzAxLDE0ICsyNzAxLDE0IEBAIGN1cnJlbnRkaWN0IC9QREYyUFNfbWF0cml4X2tleSB1bmRlZgotICAgICAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgICAgcGRmZm9ybWF0ZXJyb3IKLS0gICAgICAgIH0gaWZlbHNlCi0rICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICAgIH0KLSAgICAgICB7Ci0gICAgICAgICBjdXJyZW50Z2xvYmFsIHBkZmRpY3QgZ2NoZWNrIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgfSBpZmVsc2UKLSsgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICB9IGlmCi0gICB9IGlmCi0gICBwb3AKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMgYi9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMKLWluZGV4IDg2NzJkNjEuLmFhMDk2NDEgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L3BkZl9vcHMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvcGRmX29wcy5wcwotQEAgLTE4NCwxNCArMTg0LDE0IEBAIGN1cnJlbnRkaWN0IC9ncHV0X2Fsd2F5c19hbGxvdyAudW5kZWYKLSAgICAgICAgIHBkZmRpY3QgLy5RcXdhcm5pbmdfaXNzdWVkIC8vdHJ1ZSAuZm9yY2VwdXQKLSAgICAgICAgIC5zZXRnbG9iYWwKLSAgICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgICAgfSBpZmVsc2UKLSsgICAgICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotICAgICB9Ci0gICAgIHsKLSAgICAgICBjdXJyZW50Z2xvYmFsIHBkZmRpY3QgZ2NoZWNrIC5zZXRnbG9iYWwKLSAgICAgICBwZGZkaWN0IC8uUXF3YXJuaW5nX2lzc3VlZCAvL3RydWUgLmZvcmNlcHV0Ci0gICAgICAgLnNldGdsb2JhbAotICAgICAgIHBkZmZvcm1hdGVycm9yCi0tICAgIH0gaWZlbHNlCi0rICAgIH0gZXhlY3V0ZW9ubHkgaWZlbHNlCi0gICB9IGlmCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLUBAIC00MzksNyArNDM5LDggQEAgY3VycmVudGRpY3QgL2dwdXRfYWx3YXlzX2FsbG93IC51bmRlZgotICAgZHVwIHR5cGUgL2Jvb2xlYW50eXBlIGVxIHsKLSAgICAgLmN1cnJlbnRTTWFzayB0eXBlIC9kaWN0dHlwZSBlcSB7Ci0gICAgICAgLmN1cnJlbnRTTWFzayAvUHJvY2Vzc2VkIDIgaW5kZXggLmZvcmNlcHV0Ci0tICAgIH0gewotKyAgfSBleGVjdXRlb25seQotKyAgewotICAgICAgIC5zZXRTTWFzawotICAgfWlmZWxzZQotICAgfXsKLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDJiMWRjOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDYwYjc3YjhiZjhiNmU0ZDMwNTE5YzQ3NzI0NjMxMDEyYjUzMGNmMGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogU2F0LCAxNSBEZWMgMjAxOCAwOTowODozMiArMDAwMAotU3ViamVjdDogW1BBVENIIDMvN10gQnVnNzAwMzE3OiBGaXggbG9naWMgZm9yIGFuIG9sZGVyIGNoYW5nZQotCi1Vbmxpa2UgYWxtb3N0IGV2ZXJ5IG90aGVyIGZ1bmN0aW9uIGluIGdzLCBkaWN0X2ZpbmRfc3RyaW5nKCkgcmV0dXJucyAxIG9uCi1zdWNjZXNzIDAgb3IgPDAgb24gZmFpbHVyZS4gVGhlIGxvZ2ljIGZvciB0aGlzIGNhc2Ugd2FzIHdyb25nLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBwc2kvaW50ZXJwLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9wc2kvaW50ZXJwLmMgYi9wc2kvaW50ZXJwLmMKLWluZGV4IGFhNTc3OWMuLmY2YzQ1YmIgMTAwNjQ0Ci0tLS0gYS9wc2kvaW50ZXJwLmMKLSsrKyBiL3BzaS9pbnRlcnAuYwotQEAgLTcwMyw3ICs3MDMsNyBAQCBhZ2FpbjoKLSAgICAgICAgICAgICAgICAgICogaS5lLiBpdCdzIGFuIGludGVybmFsIG9wZXJhdG9yIHdlIGhhdmUgaGlkZGVuCi0gICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgICAgICBjb2RlID0gZGljdF9maW5kX3N0cmluZyhzeXN0ZW1kaWN0LCAoY29uc3QgY2hhciAqKWJ1ZnB0ciwgJnRvYmopOwotLSAgICAgICAgICAgICAgICBpZiAoY29kZSA8IDApIHsKLSsgICAgICAgICAgICAgICAgaWYgKGNvZGUgPD0gMCkgewotICAgICAgICAgICAgICAgICAgICAgYnVmWzBdID0gYnVmWzFdID0gYnVmW3JsZW4gKyAyXSA9IGJ1ZltybGVuICsgM10gPSAnLSc7Ci0gICAgICAgICAgICAgICAgICAgICBybGVuICs9IDQ7Ci0gICAgICAgICAgICAgICAgICAgICBidWZwdHIgPSBidWY7Ci0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjMTU0NTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM2ICswLDAgQEAKLUZyb20gZDczOTU2NTUzNGU5NTVjNDMzNjczMWU0ZWE0ZWViYzg5NWMwOWM1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBUdWUsIDE4IERlYyAyMDE4IDEwOjQyOjEwICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNC83XSBIYXJkZW4gc29tZSB1c2VzIG9mIC5mb3JjZSogb3BlcmF0b3JzCi0KLWJ5IGFkZGluZyBhIGZldyBpbW1lZGlhdGUgZXZhbHV0aW9ucwotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgIDQgKystLQotIFJlc291cmNlL0luaXQvZ3NfZm9udHMucHMgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfaW5pdC5wcyAgfCAgNiArKystLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzIGIvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi1pbmRleCA0ZmFlMjgzLi5iNzVlYTE0IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19kcHMxLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLUBAIC03NCw3ICs3NCw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgfSBvZGVmCi0gJSB1bmRlZmluZWZvbnQgaGFzIHRvIHRha2UgbG9jYWwvZ2xvYmFsIFZNIGludG8gYWNjb3VudC4KLSAvdW5kZWZpbmVmb250CQklIDxmb250bmFtZT4gdW5kZWZpbmVmb250IC0KLS0geyAuRm9udERpcmVjdG9yeSAxIC5hcmdpbmRleCAuZm9yY2V1bmRlZgklIEZvbnREaXJlY3RvcnkgaXMgcmVhZG9ubHkKLSsgeyAvLy5Gb250RGlyZWN0b3J5IDEgLmFyZ2luZGV4IC5mb3JjZXVuZGVmCSUgRm9udERpcmVjdG9yeSBpcyByZWFkb25seQotICAgIC5jdXJyZW50Z2xvYmFsCi0gICAgIHsJCSUgQ3VycmVudCBtb2RlIGlzIGdsb2JhbDsgZGVsZXRlIGZyb20gbG9jYWwgZGlyZWN0b3J5IHRvby4KLSAgICAgICAvL3N5c3RlbWRpY3QgL0xvY2FsRm9udERpcmVjdG9yeSAua25vd25nZXQKLUBAIC04NSw3ICs4NSw3IEBAIGxldmVsMmRpY3QgYmVnaW4KLSAgICAgICAgICAgICAgICAgJSBkZWZpbml0aW9uLCBjb3B5IGl0IGludG8gdGhlIGxvY2FsIGRpcmVjdG9yeS4KLSAgICAgICAvL3N5c3RlbWRpY3QgL1NoYXJlZEZvbnREaXJlY3RvcnkgLmtub3duZ2V0Ci0gICAgICAgIHsgMSBpbmRleCAua25vd25nZXQKLS0gICAgICAgICAgeyAuRm9udERpcmVjdG9yeSAyIGluZGV4IDMgLTEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSB9ICUgcmVhZG9ubHkKLSsgICAgICAgICAgeyAvLy5Gb250RGlyZWN0b3J5IDIgaW5kZXggMyAtMSByb2xsIHsgcHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlIH0gJSByZWFkb25seQotICAgICAgICAgIGlmCi0gICAgICAgIH0KLSAgICAgICBpZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1pbmRleCAyOTBkYTBjLi5jMTNhMmZjIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcwotQEAgLTUxNiw3ICs1MTYsNyBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgICAgICBpZgotICAgICB9Ci0gICAgaWYKLS0gICBkdXAgLkZvbnREaXJlY3RvcnkgNCAtMiByb2xsIHsgLmdyb3dwdXQgfSBzeXN0ZW1kaWN0IC9zdXBlcmV4ZWMga25vd24gey8vc3VwZXJleGVjfXsxMTgzNjE1ODY5IGludGVybmFsZGljdCAvc3VwZXJleGVjIGdldCBleGVjfSBpZmVsc2UJJSByZWFkb25seQotKyAgIGR1cCAvLy5Gb250RGlyZWN0b3J5IDQgLTIgcm9sbCB7IC5ncm93cHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlCSUgcmVhZG9ubHkKLSAgICAgICAgICAgICAgICAgJSBJZiB0aGUgZm9udCBvcmlnaW5hdGVkIGFzIGEgcmVzb3VyY2UsIHJlZ2lzdGVyIGl0LgotICAgIGN1cnJlbnRmaWxlIC5jdXJyZW50cmVzb3VyY2VmaWxlIGVxIHsgZHVwIC5yZWdpc3RlcmZvbnQgfSBpZgotICAgIHJlYWRvbmx5Ci1AQCAtOTQzLDcgKzk0Myw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICUgVHJ5IHRvIGZpbmQgYSBmb250IHVzaW5nIG9ubHkgdGhlIHByZXNlbnQgY29udGVudHMgb2YgRm9udG1hcC4KLSAvLnRyeWZpbmRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWZpbmRmb250IDxmb250PiB0cnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCBmYWxzZQotLSAgLkZvbnREaXJlY3RvcnkgMSBpbmRleCAuZm9udGtub3duZ2V0Ci0rICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmZvbnRrbm93bmdldAotICAgICB7ICAgICAgICAgICAgICAgICAgICUgQWxyZWFkeSBsb2FkZWQKLSAgICAgICBleGNoIHBvcCAvL3RydWUKLSAgICAgfQotQEAgLTk3NSw3ICs5NzUsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0gICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0tICAgICAgICAgICAgICAgICAuRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotKyAgICAgICAgICAgICAgICAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLy90cnVlIGV4aXQgfQotICAgICAgICAgICAgICAgICAgaWYKLSAgICAgICAgICAgICAgICB9Ci1AQCAtMTA4MSwxMSArMTA4MSwxMSBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICAgICAgICAgJSBiZWNhdXNlIGl0J3MgZGlmZmVyZW50IGRlcGVuZGluZyBvbiBsYW5ndWFnZSBsZXZlbC4KLSAgICAgICAgICAgIC5jdXJyZW50Z2xvYmFsIGV4Y2ggLy5zZXRnbG9iYWwgLnN5c3RlbXZhciBleGVjCi0gICAgICAgICAgICAgICAgICUgUmVtb3ZlIHRoZSBmYWtlIGRlZmluaXRpb24sIGlmIGFueS4KLS0gICAgICAgICAgIC5Gb250RGlyZWN0b3J5IDMgaW5kZXggLmZvcmNldW5kZWYJCSUgcmVhZG9ubHkKLS0gICAgICAgICAgIDEgaW5kZXggKHIpIGZpbGUgLmxvYWRmb250IC5Gb250RGlyZWN0b3J5IGV4Y2gKLSsgICAgICAgICAgIC8vLkZvbnREaXJlY3RvcnkgMyBpbmRleCAuZm9yY2V1bmRlZgkJJSByZWFkb25seQotKyAgICAgICAgICAgMSBpbmRleCAocikgZmlsZSAubG9hZGZvbnQgLy8uRm9udERpcmVjdG9yeSBleGNoCi0gICAgICAgICAgICAvLnNldGdsb2JhbCAuc3lzdGVtdmFyIGV4ZWMKLSAgICAgICAgICB9IGV4ZWN1dGVvbmx5Ci0tICAgICAgICAgeyAubG9hZGZvbnQgLkZvbnREaXJlY3RvcnkKLSsgICAgICAgICB7IC5sb2FkZm9udCAvLy5Gb250RGlyZWN0b3J5Ci0gICAgICAgICAgfQotICAgICAgICAgaWZlbHNlCi0gICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRuYW1lIGZvbnRmaWxlbmFtZSBmb250ZGlyZWN0b3J5Ci1AQCAtMTExOSw4ICsxMTE5LDggQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IGZpbGVmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgMyAtMSByb2xsIHBvcAotICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZmlsZWZvbnRuYW1lIGZvbnRkaWN0Ci0tICAgICAgICAgICAgICBkdXAgL0ZvbnROYW1lIGdldCBkdXAgRm9udERpcmVjdG9yeSBleGNoIC5mb3JjZXVuZGVmCi0tICAgICAgICAgICAgICBHbG9iYWxGb250RGlyZWN0b3J5IGV4Y2ggLmZvcmNldW5kZWYKLSsgICAgICAgICAgICAgIGR1cCAvRm9udE5hbWUgZ2V0IGR1cCAvLy5Gb250RGlyZWN0b3J5IGV4Y2ggLmZvcmNldW5kZWYKLSsgICAgICAgICAgICAgIC9HbG9iYWxGb250RGlyZWN0b3J5IC5zeXN0ZW12YXIgZXhjaCAuZm9yY2V1bmRlZgotICAgICAgICAgICAgICAgZHVwIGxlbmd0aCBkaWN0IC5jb3B5ZGljdCBkdXAgMyBpbmRleCAvRm9udE5hbWUgZXhjaCBwdXQKLSAgICAgICAgICAgICAgIDIgaW5kZXggZXhjaCBkZWZpbmVmb250Ci0gICAgICAgICAgICAgICBleGNoCi1AQCAtMTE3NiwxMCArMTE3NiwxMCBAQCBjdXJyZW50ZGljdCAvLnB1dGdzdHJpbmdjb3B5IC51bmRlZgotICAgICAgIHsKLSAgICAgICAgIHsKLSAgICAgICAgICAgcG9wIGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIHsgY3ZuIH0gaWYKLS0gICAgICAgICAgLkZvbnREaXJlY3RvcnkgMSBpbmRleCBrbm93biBub3QgewotKyAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXgga25vd24gbm90IHsKLSAgICAgICAgICAgICAyIGRpY3QgZHVwIC9Gb250TmFtZSAzIGluZGV4IHB1dAotICAgICAgICAgICAgIGR1cCAvRm9udFR5cGUgMSBwdXQKLS0gICAgICAgICAgICAuRm9udERpcmVjdG9yeSAzIDEgcm9sbCB7IHB1dCB9IHN5c3RlbWRpY3QgL3N1cGVyZXhlYyBrbm93biB7Ly9zdXBlcmV4ZWN9ezExODM2MTU4NjkgaW50ZXJuYWxkaWN0IC9zdXBlcmV4ZWMgZ2V0IGV4ZWN9IGlmZWxzZSAgICUgcmVhZG9ubHkKLSsgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDMgMSByb2xsIHsgcHV0IH0gc3lzdGVtZGljdCAvc3VwZXJleGVjIGtub3duIHsvL3N1cGVyZXhlY317MTE4MzYxNTg2OSBpbnRlcm5hbGRpY3QgL3N1cGVyZXhlYyBnZXQgZXhlY30gaWZlbHNlICAgJSByZWFkb25seQotICAgICAgICAgICB9IHsKLSAgICAgICAgICAgICBwb3AKLSAgICAgICAgICAgfSBpZmVsc2UKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLWluZGV4IDU2YzBiZDIuLmQ5YTA4MjkgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2luaXQucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotQEAgLTExNjgsOCArMTE2OCw4IEBAIGVycm9yZGljdCAvdW5rbm93bmVycm9yIC51bmRlZgotICAgICB9aWZlbHNlCi0gICB9Zm9yYWxsCi0gICBub2FjY2VzcyBwb3AKLS0gIHN5c3RlbWRpY3QgLy5zZXRzYWZlZXJyb3JzIC5mb3JjZXVuZGVmCi0tICBzeXN0ZW1kaWN0IC8uU0FGRVJFUlJPUkxJU1QgLmZvcmNldW5kZWYKLSsgIC8vc3lzdGVtZGljdCAvLnNldHNhZmVlcnJvcnMgLmZvcmNldW5kZWYKLSsgIC8vc3lzdGVtZGljdCAvLlNBRkVSRVJST1JMSVNUIC5mb3JjZXVuZGVmCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLSAKLSBTQUZFUkVSUk9SUyB7LnNldHNhZmVyZXJyb3JzfSBpZgotQEAgLTIxMTQsNyArMjExNCw3IEBAIGN1cnJlbnRkaWN0IC90ZW1wZmlsZXBhdGhzIHVuZGVmCi0gCi0gLy5sb2Nrc2FmZSB7Ci0gICAubG9ja3NhZmVfdXNlcnBhcmFtcwotLSAgc3lzdGVtZGljdCAvZ2V0ZW52IHtwb3AgLy9mYWxzZX0gLmZvcmNlcHV0Ci0rICAvL3N5c3RlbWRpY3QgL2dldGVudiB7cG9wIC8vZmFsc2V9IC5mb3JjZXB1dAotICAgJSBzZXRwYWdlZGV2aWNlIGhhcyB0aGUgc2lkZSBlZmZlY3Qgb2YgY2xlYXJpbmcgdGhlIHBhZ2UsIGJ1dAotICAgJSB3ZSB3aWxsIGp1c3QgZG9jdW1lbnQgdGhhdC4gVXNpbmcgc2V0cGFnZWRldmljZSBrZWVwcyB0aGUgZGV2aWNlCi0gICAlIHByb3BlcnRpZXMgYW5kIHBhZ2VkZXZpY2UgLkxvY2tTYWZldHlQYXJhbXMgaW4gYWdyZWVtZW50IGV2ZW4KLS0tIAotMi4xOC4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI3MGJiYS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTAgKzAsMCBAQAotRnJvbSAxZTgzMGNhZmE1NmM2ZTNlMWIwOGQyNDZlYWY1NDk2ZmU4MWEwMDMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmFuY3kgRHVyZ2luIDxuYW5jeS5kdXJnaW5AYXJ0aWZleC5jb20+Ci1EYXRlOiBUdWUsIDI3IE5vdiAyMDE4IDEyOjM2OjE0IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0ggNS83XSBVbmRlZiBhIGJ1bmNoIG9mIGludGVybmFsIHRoaW5ncyBpbiBnc19yZXMucHMKLQotQ1ZFOiBDVkUtMjAxOS02MTE2Ci1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXQ6Ly9naXQuZ2hvc3RzY3JpcHQuY29tL2dob3N0cGRsLmdpdF0KLQotU2lnbmVkLW9mZi1ieTogT3ZpZGl1IFBhbmFpdCA8b3ZpZGl1LnBhbmFpdEB3aW5kcml2ZXIuY29tPgotLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgICB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcmVzbXAucHMgfCAgNCArLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotaW5kZXggZDliMzQ1OS4uMThkNTQ1MiAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcwotQEAgLTE5Nyw3ICsxOTcsNyBAQCBzZXRnbG9iYWwKLSAvLmZpbmRyZXNvdXJjZSB7CQklIDxrZXk+IDxjYXRlZ29yeT4gZmluZHJlc291cmNlIDxpbnN0YW5jZT4KLSAgICAgICAgIDIgY29weSBkdXAgL0NhdGVnb3J5IGVxCi0gICAgICAgICAgIHsgcG9wIC8vQ2F0ZWdvcnkgMCBnZXQgYmVnaW4gfSB7IC5maW5kY2F0ZWdvcnkgfSBpZmVsc2UKLS0gICAgICAgIC9GaW5kUmVzb3VyY2UgLnJlc291cmNlZXhlYyBleGNoIHBvcCBleGNoIHBvcAotKyAgICAgICAgL0ZpbmRSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYyBleGNoIHBvcCBleGNoIHBvcAotIH0gYmluZAotIGVuZAkJJSAuSW5zdGFuY2VzIG9mIENhdGVnb3J5Ci0gZGVmCi1AQCAtMjIzLDcgKzIyMyw3IEBAIGRlZgotICAgICAgICAgICAgIG5vdCB7IC9kZWZpbmVyZXNvdXJjZSBjdnggL3R5cGVjaGVjayBzaWduYWxvcGVycm9yIH0gaWYKLSAgICAgICAgICAgfSBpZgotICAgICAgICAgfSBpZgotLSAgICAgICAgL0RlZmluZVJlc291cmNlIC5yZXNvdXJjZWV4ZWMKLSsgICAgICAgIC9EZWZpbmVSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYwotICAgICAgICAgNCAxIHJvbGwgcG9wIHBvcCBwb3AKLSAgICAgfSAuZXJyb3JleGVjCi0gfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYKLUBAIC0yNTIsNyArMjUyLDcgQEAgZGVmCi0gICAgICAgJSB3aXRob3V0IHRoZSBjaGVjay4KLSAgICAgICAvcmVzb3VyY2VzdGF0dXMgY3Z4IC90eXBlY2hlY2sgc2lnbmFsZXJyb3IKLSAgICAgfSBpZgotLSAgICAyIGNvcHkgLmZpbmRjYXRlZ29yeSAvUmVzb3VyY2VTdGF0dXMgLnJlc291cmNlZXhlYwotKyAgICAyIGNvcHkgLmZpbmRjYXRlZ29yeSAvUmVzb3VyY2VTdGF0dXMgLy8ucmVzb3VyY2VleGVjIGV4ZWMKLSAgICAgeyA0IDIgcm9sbCBwb3AgcG9wIC8vdHJ1ZSB9IHsgcG9wIHBvcCAvL2ZhbHNlIH0gaWZlbHNlCi0gICB9IHN0b3BwZWQgewotICAgICAlIEFsdGhvdWdoIHJlc291cmNlc3RhdHVzIGlzIGFuIG9wZXJhdG9yLCBBZG9iZSB1c2VzIGV4ZWN1dGFibGUgbmFtZQotQEAgLTI2Niw3ICsyNjYsNyBAQCBkZWYKLSAgIH0gaWYKLSAgIDEgLmFyZ2luZGV4IDEgaW5kZXgJCSUgY2F0Y2ggc3RhY2t1bmRlcmZsb3cKLSAKLS0gIHsgLmZpbmRjYXRlZ29yeSAvVW5kZWZpbmVSZXNvdXJjZSAucmVzb3VyY2VleGVjIHBvcCBwb3AKLSsgIHsgLmZpbmRjYXRlZ29yeSAvVW5kZWZpbmVSZXNvdXJjZSAvLy5yZXNvdXJjZWV4ZWMgZXhlYyBwb3AgcG9wCi0gICB9IHN0b3BwZWQgewotICAgICAlIEFsdGhvdWdoIHVuZGVmaW5lcmVzb3VyY2UgaXMgYW4gb3BlcmF0b3IsIEFkb2JlIHVzZXMgZXhlY3V0YWJsZSBuYW1lCi0gICAgICUgaGVyZSBidXQgdXNlcyBvcGVyYXRvciBmb3IgdGhlIGVycm9ycyBhYm92ZS4gQ0VUIDIzLTMzCi1AQCAtMzE1LDEwICszMTUsMTAgQEAgY3VycmVudGRpY3QgL3Bzc3lzdGVtcGFyYW1zIGtub3duIG5vdCB7Ci0gICAvcHNzeXN0ZW1wYXJhbXMgMTAgZGljdCByZWFkb25seSBkZWYKLSB9IGlmCi0gcHNzeXN0ZW1wYXJhbXMgYmVnaW4KLS0gIC5kZWZhdWx0X3Jlc291cmNlX2RpcgotLSAgL0ZvbnRSZXNvdXJjZURpciAoRm9udCkgLnJlc291cmNlX2Rpcl9uYW1lCi0rICAvLy5kZWZhdWx0X3Jlc291cmNlX2RpciBleGVjCi0rICAvRm9udFJlc291cmNlRGlyIChGb250KSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0gICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAvR2VuZXJpY1Jlc291cmNlRGlyICgpIC5yZXNvdXJjZV9kaXJfbmFtZQotKyAgL0dlbmVyaWNSZXNvdXJjZURpciAoKSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0gICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gICBwb3AgJSAuZGVmYXVsdF9yZXNvdXJjZV9kaXIKLSAgIC9HZW5lcmljUmVzb3VyY2VQYXRoU2VwCi1AQCAtMzg3LDEzICszODcsMTMgQEAgc3RhdHVzIHsKLSB9IGJpbmQgZGVmCi0gLy5sb2NhbHJlc291cmNlZm9yYWxsIHsJCSUgPGtleT4gPHZhbHVlPiA8YXJncz4gLmxvY2Fscidmb3JhbGwgLQotICAgZXhjaCBwb3AKLS0gIDIgY29weSAwIGdldCAuc3RyaW5nbWF0Y2ggeyAuZW51bWVyYXRlcmVzb3VyY2UgfSB7IHBvcCBwb3AgfSBpZmVsc2UKLSsgIDIgY29weSAwIGdldCAuc3RyaW5nbWF0Y2ggeyAvLy5lbnVtZXJhdGVyZXNvdXJjZSBleGVjIH0geyBwb3AgcG9wIH0gaWZlbHNlCi0gfSBiaW5kIGRlZgotIC8uZ2xvYmFscmVzb3VyY2Vmb3JhbGwgewklIDxrZXk+IDx2YWx1ZT4gPGFyZ3M+IC5nbG9iYWxyJ2ZvcmFsbCAtCi0gICBleGNoIHBvcAotICAgMiBjb3B5IDAgZ2V0IC5zdHJpbmdtYXRjaCB7Ci0gICAgIGR1cCAzIGdldCBiZWdpbiAuTG9jYWxJbnN0YW5jZXMgZW5kIDIgaW5kZXgga25vd24gbm90IHsKLS0gICAgICAuZW51bWVyYXRlcmVzb3VyY2UKLSsgICAgICAvLy5lbnVtZXJhdGVyZXNvdXJjZSBleGVjCi0gICAgIH0gewotICAgICAgIHBvcCBwb3AKLSAgICAgfSBpZmVsc2UKLUBAIC00MDgsNyArNDA4LDcgQEAgc3RhdHVzIHsKLSAgIDMgaW5kZXgga25vd24gewotICAgICBwb3AgcG9wIHBvcAotICAgfSB7Ci0tICAgIDIgaW5kZXgga25vd24geyBwb3AgcG9wIH0geyAuZW51bWVyYXRlcmVzb3VyY2UgfSBpZmVsc2UKLSsgICAgMiBpbmRleCBrbm93biB7IHBvcCBwb3AgfSB7IC8vLmVudW1lcmF0ZXJlc291cmNlIGV4ZWMgfSBpZmVsc2UKLSAgIH0gaWZlbHNlCi0gfSBiaW5kIGRlZgotIAotQEAgLTQ2OCwxOSArNDY4LDE5IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICUgLmtub3duZ2V0IGRvZXNuJ3QgZmFpbCBvbiBudWxsCi0gICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC90eXBlY2hlY2sgc2lnbmFsb3BlcnJvcgotICAgICAgICAgfSBpZgotLSAgICAgICAgZHVwIC5nZXR2bWluc3RhbmNlIHsKLSsgICAgICAgIGR1cCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgewotICAgICAgICAgICBleGNoIHBvcCAwIGdldAotICAgICAgICAgfSB7Ci0gICAgICAgICAgIGR1cCBSZXNvdXJjZVN0YXR1cyB7Ci0gICAgICAgICAgICAgcG9wIDEgZ3QgewotLSAgICAgICAgICAgICAgLkRvTG9hZFJlc291cmNlIC5nZXR2bWluc3RhbmNlIG5vdCB7Ci0tICAgICAgICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC51bmRlZmluZWRyZXNvdXJjZQotKyAgICAgICAgICAgICAgLkRvTG9hZFJlc291cmNlIC8vLmdldHZtaW5zdGFuY2UgZXhlYyBub3QgewotKyAgICAgICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjCi0gICAgICAgICAgICAgICB9IGlmIDAgZ2V0Ci0gICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAuR2V0SW5zdGFuY2UgcG9wIDAgZ2V0Ci0gICAgICAgICAgICAgfSBpZmVsc2UKLSAgICAgICAgICAgfSB7Ci0tICAgICAgICAgICAvZmluZHJlc291cmNlIGN2eCAudW5kZWZpbmVkcmVzb3VyY2UKLSsgICAgICAgICAgIC9maW5kcmVzb3VyY2UgY3Z4IC8vLnVuZGVmaW5lZHJlc291cmNlIGV4ZWMKLSAgICAgICAgICAgfSBpZmVsc2UKLSAgICAgICAgIH0gaWZlbHNlCi0gfSBiaW5kIGV4ZWN1dGVvbmx5Ci1AQCAtNjIxLDcgKzYyMSw3IEBAIHN0YXR1cyB7Ci0gICAgIC5jdXJyZW50Z2xvYmFsIG5vdCAuc2V0Z2xvYmFsCi0gICAgIHZtc3RhdHVzIHBvcCBleGNoIHBvcCBhZGQKLSAgIH0gcmVwZWF0Ci0tfSBiaW5kIGRlZgotK30gYmluZCBleGVjdXRlb25seSBvZGVmCi0gLy5Eb0xvYWRSZXNvdXJjZSB7Ci0gICAgICAgICAgICAgICAgICUgLkxvYWRSZXNvdXJjZSBtYXkgcHVzaCBlbnRyaWVzIG9uIHRoZSBvcGVyYW5kIHN0YWNrLgotICAgICAgICAgICAgICAgICAlIEl0IGlzIGFuIHVuZG9jdW1lbnRlZCBmZWF0dXJlIG9mIEFkb2JlIGltcGxlbWVudGF0aW9ucywKLUBAIC02MzMsOCArNjMzLDggQEAgc3RhdHVzIHsKLSAgICAgICAgIHsuTG9hZFJlc291cmNlfSA0IDEgcm9sbCA0IC5leGVjbgotICAgICAgICAgICAgICAgICAlIFN0YWNrOiAuLi4gY291bnQga2V5IG1lbXVzZWQKLSAgICAgICAgIC52bXVzZWQgZXhjaCBzdWIKLS0gICAgICAgIDEgaW5kZXggLmdldHZtaW5zdGFuY2Ugbm90IHsKLS0gICAgICAgICAgcG9wIGR1cCAudW5kZWZpbmVkcmVzb3VyY2UJJSBkaWRuJ3QgbG9hZAotKyAgICAgICAgMSBpbmRleCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgbm90IHsKLSsgICAgICAgICAgcG9wIGR1cCAvLy51bmRlZmluZWRyZXNvdXJjZSBleGVjCSUgZGlkbid0IGxvYWQKLSAgICAgICAgIH0gaWYKLSAgICAgICAgIGR1cCAxIDEgcHV0Ci0gICAgICAgICAyIDMgLTEgcm9sbCBwdXQKLUBAIC02NDgsNyArNjQ4LDcgQEAgc3RhdHVzIHsKLSAgICAgICAgICAgICAgIHsgLy90cnVlIHNldGdsb2JhbCB7IC5ydW5yZXNvdXJjZSB9IHN0b3BwZWQgLy9mYWxzZSBzZXRnbG9iYWwgeyBzdG9wIH0gaWYgfQotICAgICAgICAgICAgICBpZmVsc2UKLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgIHsgZHVwIC51bmRlZmluZWRyZXNvdXJjZQotKyAgICAgICAgICAgeyBkdXAgLy8udW5kZWZpbmVkcmVzb3VyY2UgZXhlYwotICAgICAgICAgICAgfQotICAgICAgICAgIGlmZWxzZQotICAgICAgICAgfSBiaW5kCi1AQCAtNzU4LDcgKzc1OCw3IEBAIGNvdW50dG9tYXJrIDIgaWRpdgotICAgIC9GaW5kUmVzb3VyY2UKLSAgICAgICAgIHsgLkluc3RhbmNlcyAxIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgeyBleGNoIHBvcCB9Ci0tICAgICAgICAgICB7IC9maW5kcmVzb3VyY2UgY3Z4IC51bmRlZmluZWRyZXNvdXJjZSB9Ci0rICAgICAgICAgICB7IC9maW5kcmVzb3VyY2UgY3Z4IC8vLnVuZGVmaW5lZHJlc291cmNlIGV4ZWMgfQotICAgICAgICAgICBpZmVsc2UKLSAgICAgICAgIH0gYmluZCBleGVjdXRlb25seQotICAgIC9SZXNvdXJjZVN0YXR1cwotQEAgLTg2Miw3ICs4NjIsNyBAQCB1c2VyZGljdCAvLmxvY2FsY3NkZWZhdWx0cyAvL2ZhbHNlIHB1dAotICAgMiBjb3B5IC9HZW5lcmljIC9DYXRlZ29yeSBmaW5kcmVzb3VyY2UgL0RlZmluZVJlc291cmNlIGdldCBleGVjCi0gICBleGNoIHBvcAotICAgZXhjaCAvLy5kZWZhdWx0Y3NuYW1lcyBleGNoIC5rbm93bmdldCB7Ci0tICAgIDEgaW5kZXggLmRlZmluZWRlZmF1bHRjcwotKyAgICAxIGluZGV4IC8vLmRlZmluZWRlZmF1bHRjcyBleGVjCi0gICAgIGN1cnJlbnRnbG9iYWwgbm90IHsgLnVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vdHJ1ZSBwdXQgfSBpZgotICAgfSBpZgotIH0gYmluZCBleGVjdXRlb25seQotQEAgLTg3MiwxMyArODcyLDEzIEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAvLy5kZWZhdWx0Y3NuYW1lcyAxIGluZGV4IC5rbm93bmdldCB7Ci0gICAgICAgICAlIFN0YWNrOiByZXNuYW1lIGluZGV4Ci0gICAgIGN1cnJlbnRnbG9iYWwgewotLSAgICAgIC51bmRlZmluZWRlZmF1bHRjcyBwb3AKLSsgICAgICAvLy51bmRlZmluZWRlZmF1bHRjcyBleGVjIHBvcAotICAgICB9IHsKLSAgICAgICAgICUgV2UgcmVtb3ZlZCB0aGUgbG9jYWwgZGVmaW5pdGlvbiwgYnV0IHRoZXJlIG1pZ2h0IGJlIGEgZ2xvYmFsIG9uZS4KLSAgICAgICBleGNoIC5HZXRJbnN0YW5jZSB7Ci0tICAgICAgICAwIGdldCAuZGVmaW5lZGVmYXVsdGNzCi0rICAgICAgICAwIGdldCAvLy5kZWZpbmVkZWZhdWx0Y3MgZXhlYwotICAgICAgIH0gewotLSAgICAgICAgLnVuZGVmaW5lZGVmYXVsdGNzCi0rICAgICAgICAvLy51bmRlZmluZWRlZmF1bHRjcyBleGVjCi0gICAgICAgfSBpZmVsc2UKLSAgICAgICAgICUgUmVjb21wdXRlIC5sb2NhbGNzZGVmYXVsdHMgYnkgc2Nhbm5pbmcuICBUaGlzIGlzIHJhcmVseSBuZWVkZWQuCi0gICAgICAgLnVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgLy8uZGVmYXVsdGNzbmFtZXMgewotQEAgLTk5Nyw3ICs5OTcsNyBAQCBjdXJyZW50ZGljdCAvLmZvbnRzdGF0dXNhdXggLnVuZGVmCi0gICAgICAgICAgIC9HZW5lcmljIC9DYXRlZ29yeSBmaW5kcmVzb3VyY2UgL1VuZGVmaW5lUmVzb3VyY2UgZ2V0IGV4ZWMKLSAgICAgICAgIH0gYmluZCBleGVjdXRlb25seQotIC9GaW5kUmVzb3VyY2UgewotLSAgICAgICAgZHVwIC5nZXR2bWluc3RhbmNlIHsKLSsgICAgICAgIGR1cCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgewotICAgICAgICAgICBleGNoIHBvcCAwIGdldAotICAgICAgICAgfSB7Ci0gICAgICAgICAgIGR1cCBSZXNvdXJjZVN0YXR1cyB7Ci1AQCAtMTAyNCw3ICsxMDI0LDcgQEAgY3VycmVudGRpY3QgLy5mb250c3RhdHVzYXV4IC51bmRlZgotICAgICAgICAgICAgICAgICAlIHN0YWNrOiBuYW1lIGZvbnQgdm11c2VkCi0gICAgICAgICAgICAgICAgICUgZmluZGZvbnQgaGFzIHRoZSBwcmVyb2dhdGl2ZSBvZiBub3QgY2FsbGluZyBkZWZpbmVmb250Ci0gICAgICAgICAgICAgICAgICUgaW4gY2VydGFpbiBvYnNjdXJlIGNhc2VzIG9mIGZvbnQgc3Vic3RpdHV0aW9uLgotLSAgICAgICAgMiBpbmRleCAuZ2V0dm1pbnN0YW5jZSB7Ci0rICAgICAgICAyIGluZGV4IC8vLmdldHZtaW5zdGFuY2UgZXhlYyB7Ci0gICAgICAgICAgIGR1cCAxIDEgcHV0Ci0gICAgICAgICAgIDIgMyAtMSByb2xsIHB1dAotICAgICAgICAgfSB7Ci1AQCAtMTE1OSwzICsxMTU5LDI1IEBAIGVuZAkJCQklIGxldmVsMmRpY3QKLSAKLSAlJSBSZXBsYWNlIDEgKGdzX3Jlc21wLnBzKQotIChnc19yZXNtcC5wcykgIGR1cCBydW5saWJmaWxlIFZNREVCVUcKLSsKLStbCi0rICAgIC8uZGVmYXVsdF9yZXNvdXJjZV9kaXIKLSsgICAgLy5yZXNvdXJjZV9kaXJfbmFtZQotK10KLSt7c3lzdGVtZGljdCBleGNoIC5mb3JjZXVuZGVmfSBmb3JhbGwKLSsKLStbCi0rICAgIC8uZGVmaW5lZGVmYXVsdGNzCi0rICAgIC8udW5kZWZpbmVkZWZhdWx0Y3MKLSsgICAgLy5kZWZhdWx0Y3NuYW1lcwotKyAgICAvLmVudW1lcmF0ZXJlc291cmNlCi0rICAgIC8uZXh0ZXJuYWxyZXNvdXJjZWZvcmFsbAotKyAgICAvLmdldHZtaW5zdGFuY2UKLSsgICAgLy5nbG9iYWxyZXNvdXJjZWZvcmFsbAotKyAgICAvLmxvY2FscmVzb3VyY2Vmb3JhbGwKLSsgICAgL3Jlc291cmNlZm9yYWxsMQotKyAgICAvLnJlc291cmNlZXhlYwotKyAgICAvLnVuZGVmaW5lZHJlc291cmNlCi0rICAgIC8udm11c2VkCi0rXQotK3tsZXZlbDJkaWN0IGV4Y2ggLmZvcmNldW5kZWZ9IGZvcmFsbAotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfcmVzbXAucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3Jlc21wLnBzCi1pbmRleCA5YmI0MjYzLi5jYjk0OGQxIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXNtcC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19yZXNtcC5wcwotQEAgLTIzMCw3ICsyMzAsNyBAQCBjdXJyZW50cGFja2luZyAvL2ZhbHNlIHNldHBhY2tpbmcKLSAgICAgICB9IHsKLSAgICAgICAgIGR1cCBkdXAgLm1hcCBleGNoIC5rbm93bmdldCB7ICAgICAgJSAvTmFtZSAvTmFtZSA8PHJlY29yZD4+Ci0gICAgICAgICAgIGR1cCBkdXAgL1JlY29yZFZpcnR1YWxNZXRob2RzIGdldCAvSXNBY3RpdmUgZ2V0IGV4ZWMgewotLSAgICAgICAgICAgIDEgaW5kZXggLmdldHZtaW5zdGFuY2UgeyAgICAgICAlIC9OYW1lIC9OYW1lIDw8cmVjb3JkPj4gaG9sZGVyCi0rICAgICAgICAgICAgMSBpbmRleCAvLy5nZXR2bWluc3RhbmNlIGV4ZWMgeyAgICAgICAlIC9OYW1lIC9OYW1lIDw8cmVjb3JkPj4gaG9sZGVyCi0gICAgICAgICAgICAgICAxIGdldCAxIGVxCi0gICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAvL3RydWUKLUBAIC0yNDIsNyArMjQyLDcgQEAgY3VycmVudHBhY2tpbmcgLy9mYWxzZSBzZXRwYWNraW5nCi0gICAgICAgICAgICAgRGVmaW5lUmVzb3VyY2UgZXhlYyAgICAgICAgICAgICUgc2l6ZSBiU3RhdHVzSXMxIC9OYW1lIEluc3RhbmNlCi0gICAgICAgICAgICAgJSBNYWtlIFJlc291cmNlU3RhdHVzIHRvIHJldHVybiBjb3JyZWN0IHZhbHVlcyBmb3IgdGhpcyBpbnN0YW5jZSA6Ci0gICAgICAgICAgICAgJSBIYWNrOiB3ZSByZXBsYWNlIHN0YXR1cyB2YWx1ZXMgaW4gdGhlIGluc3RhbmNlIGhvbGRlciA6Ci0tICAgICAgICAgICAgZXhjaCAuZ2V0dm1pbnN0YW5jZSBwb3AgICAgICAgICUgc2l6ZSBiU3RhdHVzSXMxIEluc3RhbmNlIGhvbGRlcgotKyAgICAgICAgICAgIGV4Y2ggLy8uZ2V0dm1pbnN0YW5jZSBleGVjIHBvcCAgICAgICAgJSBzaXplIGJTdGF0dXNJczEgSW5zdGFuY2UgaG9sZGVyCi0gICAgICAgICAgICAgZHVwIDUgLTEgcm9sbCAyIGV4Y2ggcHV0ICAgICAgICUgYlN0YXR1c0lzMSBJbnN0YW5jZSBob2xkZXIKLSAgICAgICAgICAgICAzIDIgcm9sbCB7ICAgICAgICAgICAgICAgICAgICAgJSBJbnN0YW5jZSBob2xkZXIKLSAgICAgICAgICAgICAgIDEgMSBwdXQgICAgICAgICAgICAgICAgICAgICAgJSBJbnN0YW5jZQotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OWU2NDBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5NiArMCwwIEBACi1Gcm9tIDk3ZjkwNTJjZTQ5ZTY4NDRiMDZhNDlmZjllNGI4ZmMxZWFmNmJkMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogV2VkLCA5IEphbiAyMDE5IDE0OjI0OjA3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNi83XSBVbmRlZmluZSBhIGJ1bmNoIG9mIGdzX2ZvbnRzLnBzIHNwZWNpZmljIHByb2NzCi0KLUFsc28gcmVvcmRlciBhbmQgYWRkIHNvbWUgaW1tZWRpYXRlIGV2YWx1YXRpb24sIHNvIGl0IHN0aWxsIHdvcmtzIHdpdGggdGhlCi11bmRlZmluaW5nLgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgICAzICstCi0gUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyB8IDI3NSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAgIDcgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDE1NyBpbnNlcnRpb25zKCspLCAxMjggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IGI3NWVhMTQuLjg3MDBjOGMgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTY3LDcgKzY3LDggQEAgbGV2ZWwyZGljdCBiZWdpbgotIAotIC9zZWxlY3Rmb250CQklIDxmb250bmFtZT4gPHNpemU+IHNlbGVjdGZvbnQgLQotICB7Ci0tICAgeyAxIC5hcmdpbmRleCBmaW5kZm9udAotKyAgIHsKLSsgICAgIDEgLmFyZ2luZGV4IGZpbmRmb250Ci0gICAgICAxIGluZGV4IGR1cCB0eXBlIC9hcnJheXR5cGUgZXEgeyBtYWtlZm9udCB9IHsgc2NhbGVmb250IH0gaWZlbHNlCi0gICAgICBzZXRmb250IHBvcCBwb3AKLSAgICB9IHN0b3BwZWQgeyAvc2VsZWN0Zm9udCAuc3lzdGVtdmFyICRlcnJvciAvZXJyb3JuYW1lIGdldCBzaWduYWxlcnJvciB9IGlmCi1kaWZmIC0tZ2l0IGEvUmVzb3VyY2UvSW5pdC9nc19mb250cy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfZm9udHMucHMKLWluZGV4IGMxM2EyZmMuLjA1NjIyMzUgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi0rKysgYi9SZXNvdXJjZS9Jbml0L2dzX2ZvbnRzLnBzCi1AQCAtMTAwLDcgKzEwMCw3IEBAIHVzZXJkaWN0IC8ubmF0aXZlRm9udG1hcCAuRm9udERpcmVjdG9yeSBtYXhsZW5ndGggZGljdCBwdXQKLSAgICAgICAgeyAyIGluZGV4IHRva2VuIG5vdAotICAgICAgICAgICB7IChGb250bWFwIGVudHJ5IGZvciApIHByaW50IDEgaW5kZXggPW9ubHkKLSAgICAgICAgICAgICAoIGVuZHMgcHJlbWF0dXJlbHkhICBHaXZpbmcgdXAuKSA9IGZsdXNoCi0tICAgICAgICAgICAgey5sb2FkRm9udG1hcH0gMCBnZXQgMSAucXVpdAotKyAgICAgICAgICAgIHsvLy5sb2FkRm9udG1hcCBleGVjfSAwIGdldCAxIC5xdWl0Ci0gICAgICAgICAgIH0gaWYKLSAgICAgICAgICBkdXAgLzsgZXEgeyBwb3AgMyBpbmRleCAzIDEgcm9sbCAuZ3Jvd3B1dCBleGl0IH0gaWYKLSAgICAgICAgICBwb3AKLUBAIC0yMDIsNiArMjAyLDE0IEBAIE5PRk9OVFBBVEggeyAvRk9OVFBBVEggKCkgZGVmIH0gaWYKLSAgeyBwb3AgfQotICB7IC9GT05UUEFUSCAoR1NfRk9OVFBBVEgpIGdldGVudiBub3QgeyAoKSB9IGlmIGRlZiB9Ci0gaWZlbHNlCi0rCi0rJSBUaGUgZm9sbG93aW5nIGFyZSBkdW1teSBkZWZpbml0aW9ucyB0aGF0LCBpZiB3ZSBoYXZlIGEgRk9OVFBBVEgsIHdpbGwKLSslIGJlIHJlcGxhY2VkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4KLSslIFRoZXkgYXJlIGhlcmUgc28gaW1tZWRpYXRlbHkgZXZhdWxhdGlvbiB3aWxsIHdvcmssIGFuZCBhbGxvdyB0aGVtIHRvCi0rJSB1bmRlZmluZWQgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZS4KLSsvLnNjYW5mb250YmVnaW57fSBiaW5kIGRlZgotKy8uc2NhbmZvbnRkaXIge30gYmluZCBkZWYKLSsKLSBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gL0ZPTlRQQVRIIFsgRk9OVFBBVEggLnBhdGhsaXN0IF0gZGVmCi0gCi1AQCAtMjQyLDEyICsyNTAsMTIgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotIC8uc2NhbmZvbnRiZWdpbgotICB7ICAgICAgJSBDb25zdHJ1Y3QgdGhlIHRhYmxlIG9mIGFsbCBmaWxlIG5hbWVzIGFscmVhZHkgaW4gRm9udG1hcC4KLSAgICBjdXJyZW50Z2xvYmFsIC8vdHJ1ZSBzZXRnbG9iYWwKLS0gICAuc2NhbmZvbnRkaWN0IGR1cCBtYXhsZW5ndGggRm9udG1hcCBsZW5ndGggMiBhZGQgLm1heCAuc2V0bWF4bGVuZ3RoCi0rICAgLy8uc2NhbmZvbnRkaWN0IGR1cCBtYXhsZW5ndGggRm9udG1hcCBsZW5ndGggMiBhZGQgLm1heCAuc2V0bWF4bGVuZ3RoCi0gICAgRm9udG1hcAotICAgICB7IGV4Y2ggcG9wCi0gICAgICAgIHsgZHVwIHR5cGUgL3N0cmluZ3R5cGUgZXEKLS0gICAgICAgICAgeyAuc3BsaXRmaWxlbmFtZSBwb3AgLmZvbnR0ZW1wc3RyaW5nIGNvcHkgLmxvd2Vyc3RyaW5nIGN2bgotLSAgICAgICAgICAgIC5zY2FuZm9udGRpY3QgZXhjaCAvL3RydWUgcHV0Ci0rICAgICAgICAgIHsgLy8uc3BsaXRmaWxlbmFtZSBleGVjIHBvcCAvLy5mb250dGVtcHN0cmluZyBjb3B5IC8vLmxvd2Vyc3RyaW5nIGV4ZWMgY3ZuCi0rICAgICAgICAgICAgLy8uc2NhbmZvbnRkaWN0IGV4Y2ggLy90cnVlIHB1dAotICAgICAgICAgICB9Ci0gICAgICAgICAgIHsgcG9wCi0gICAgICAgICAgIH0KLUBAIC0yODAsOSArMjg4LDkgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgL3R4dCAvL3RydWUKLSAuZGljdHRvbWFyayBkZWYKLSAvLnNjYW4xZm9udHN0cmluZyA4MTkyIHN0cmluZyBkZWYKLS0lICUlQmVnaW5Gb250OiBpcyBub3QgcGVyIEFkb2JlIGRvY3VtZW50YXRpb24sIGJ1dCBhIGZldyBmb250cyBoYXZlIGl0LgotKyUgQmVnaW5Gb250OiBpcyBub3QgcGVyIEFkb2JlIGRvY3VtZW50YXRpb24sIGJ1dCBhIGZldyBmb250cyBoYXZlIGl0LgotIC8uc2NhbmZvbnRoZWFkZXJzIFsoJSFQUy1BZG9iZSopICglIUZvbnRUeXBlKikgKCUlQmVnaW5Gb250OiopXSBkZWYKLS0wIC5zY2FuZm9udGhlYWRlcnMgeyBsZW5ndGggLm1heCB9IGZvcmFsbCA2IGFkZCAlIGV4dHJhIGZvciBQRkIgaGVhZGVyCi0rMCAvLy5zY2FuZm9udGhlYWRlcnMgeyBsZW5ndGggLm1heCB9IGZvcmFsbCA2IGFkZCAlIGV4dHJhIGZvciBQRkIgaGVhZGVyCi0gLy5zY2FuMWZvbnRmaXJzdCBleGNoIHN0cmluZyBkZWYKLSAvLnNjYW5mb250ZGlyICAgICAgICAgICAlIDxkaXJuYW1lPiAuc2NhbmZvbnRkaXIgLQotICB7IGN1cnJlbnRnbG9iYWwgZXhjaCAvL3RydWUgc2V0Z2xvYmFsCi1AQCAtMjkxLDEwICsyOTksMTAgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgIDAgMCAwIDQgLTEgcm9sbCAgICAgICUgZm91bmQgc2Nhbm5lZCBmaWxlcwotICAgICB7ICAgICAgICAgICAlIHN0YWNrOiA8Zm9udGNvdW50PiA8c2NhbmNvdW50PiA8ZmlsZWNvdW50PiA8ZmlsZW5hbWU+Ci0gICAgICAgZXhjaCAxIGFkZCBleGNoICAgICAgICAgICAgICAgICAgICUgaW5jcmVtZW50IGZpbGVjb3VudAotLSAgICAgIGR1cCAuc3BsaXRmaWxlbmFtZSAuZm9udHRlbXBzdHJpbmcgY29weSAubG93ZXJzdHJpbmcKLSsgICAgICBkdXAgLy8uc3BsaXRmaWxlbmFtZSBleGVjIC8vLmZvbnR0ZW1wc3RyaW5nIGNvcHkgLy8ubG93ZXJzdHJpbmcgZXhlYwotICAgICAgICAgICAgICAgICAlIHN0YWNrOiA8Zm9udGNvdW50PiA8c2NhbmNvdW50PiA8ZmlsZWNvdW50KzE+IDxmaWxlbmFtZT4KLSAgICAgICAgICAgICAgICAgJSAgICAgICA8QkFTRT4gPGV4dD4KLS0gICAgICAuc2NhbmZvbnRza2lwIGV4Y2gga25vd24gZXhjaCAuc2NhbmZvbnRkaWN0IGV4Y2gga25vd24gb3IKLSsgICAgICAvLy5zY2FuZm9udHNraXAgZXhjaCBrbm93biBleGNoIC8vLnNjYW5mb250ZGljdCBleGNoIGtub3duIG9yCi0gICAgICAgIHsgcG9wCi0gICAgICAgICAgICAgICAgICUgc3RhY2s6IDxmb250Y291bnQ+IDxzY2FuY291bnQ+IDxmaWxlY291bnQrMT4KLSAgICAgICAgfQotQEAgLTMwOSw3ICszMTcsNyBAQCBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gICAgICAgICAgICAgICAgICUgT24gc29tZSBwbGF0Zm9ybXMsIHRoZSBmaWxlIG9wZXJhdG9yIHdpbGwgb3BlbiBkaXJlY3RvcmllcywKLSAgICAgICAgICAgICAgICAgJSBidXQgYW4gZXJyb3Igd2lsbCBvY2N1ciBpZiB3ZSB0cnkgdG8gcmVhZCBmcm9tIG9uZS4KLSAgICAgICAgICAgICAgICAgJSBIYW5kbGUgdGhpcyBwb3NzaWJpbGl0eSBoZXJlLgotLSAgICAgICAgICAgIGR1cCAuc2NhbjFmb250Zmlyc3QgeyByZWFkc3RyaW5nIH0gLmludGVybmFsc3RvcHBlZAotKyAgICAgICAgICAgIGR1cCAvLy5zY2FuMWZvbnRmaXJzdCB7IHJlYWRzdHJpbmcgfSAuaW50ZXJuYWxzdG9wcGVkCi0gICAgICAgICAgICAgIHsgcG9wIHBvcCAoKSB9Ci0gICAgICAgICAgICAgIHsgcG9wIH0KLSAgICAgICAgICAgICBpZmVsc2UKLUBAIC0zMjIsNyArMzMwLDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICAgICB7IGR1cCBsZW5ndGggNiBzdWIgNiBleGNoIGdldGludGVydmFsIH0KLSAgICAgICAgICBpZgotICAgICAgICAgICAgICAgICAlIENoZWNrIGZvciBmb250IGZpbGUgaGVhZGVycy4KLS0gICAgICAgICAvL2ZhbHNlIC5zY2FuZm9udGhlYWRlcnMKLSsgICAgICAgICAvL2ZhbHNlIC8vLnNjYW5mb250aGVhZGVycwotICAgICAgICAgICB7IDIgaW5kZXggZXhjaCAuc3RyaW5nbWF0Y2ggb3IKLSAgICAgICAgICAgfQotICAgICAgICAgIGZvcmFsbCBleGNoIHBvcAotQEAgLTMzNSw3ICszNDMsNyBAQCBGT05UUEFUSCBsZW5ndGggMCBlcSB7ICglRU5EIEZPTlRQQVRIKSAuc2tpcGVvZiB9IGlmCi0gICAgICAgICAgICAgICAgIHsgZXhjaCBjb3B5c3RyaW5nIGV4Y2gKLSAgICAgICAgICAgICAgICAgICBERUJVRyB7ICggKSBwcmludCBkdXAgPW9ubHkgZmx1c2ggfSBpZgotICAgICAgICAgICAgICAgICAgIDEgaW5kZXggLmRlZmluZW5hdGl2ZWZvbnRtYXAKLS0gICAgICAgICAgICAgICAgICAuc3BsaXRmaWxlbmFtZSBwb3AgLy90cnVlIC5zY2FuZm9udGRpY3QgMyAxIHJvbGwgLmdyb3dwdXQKLSsgICAgICAgICAgICAgICAgICAvLy5zcGxpdGZpbGVuYW1lIGV4ZWMgcG9wIC8vdHJ1ZSAvLy5zY2FuZm9udGRpY3QgMyAxIHJvbGwgLmdyb3dwdXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIEluY3JlbWVudCBmb250Y291bnQuCi0gICAgICAgICAgICAgICAgICAgMyAtMSByb2xsIDEgYWRkIDMgMSByb2xsCi0gICAgICAgICAgICAgICAgIH0KLUBAIC0zNTIsNyArMzYwLDcgQEAgRk9OVFBBVEggbGVuZ3RoIDAgZXEgeyAoJUVORCBGT05UUEFUSCkgLnNraXBlb2YgfSBpZgotICAgICAgICB9Ci0gICAgICAgaWZlbHNlCi0gICAgIH0KLS0gICAuc2NhbjFmb250c3RyaW5nIGZpbGVuYW1lZm9yYWxsCi0rICAgLy8uc2NhbjFmb250c3RyaW5nIGZpbGVuYW1lZm9yYWxsCi0gICAgUVVJRVQKLSAgICAgeyBwb3AgcG9wIHBvcCB9Ci0gICAgIHsgKCApIHByaW50ID1vbmx5ICggZmlsZXMsICkgcHJpbnQgPW9ubHkgKCBzY2FubmVkLCApIHByaW50Ci1AQCAtNDIyLDcgKzQzMCw2IEBAIHN5c3RlbWRpY3QgL05PTkFUSVZFRk9OVE1BUCBrbm93biAuc2V0bmF0aXZlZm9udG1hcGJ1aWx0Ci0gICAgIC8vdHJ1ZSAuc2V0bmF0aXZlZm9udG1hcGJ1aWx0Ci0gICB9IGlmZWxzZQotIH0gYmluZCBkZWYKLS1jdXJyZW50ZGljdCAvLnNldG5hdGl2ZWZvbnRtYXBidWlsdCAuZm9yY2V1bmRlZgotIAotICUgQ3JlYXRlIHRoZSBkaWN0aW9uYXJ5IHRoYXQgcmVnaXN0ZXJzIHRoZSAuYnVpbGRmb250IHByb2NlZHVyZQotICUgKGNhbGxlZCBieSBkZWZpbmVmb250KSBmb3IgZWFjaCBGb250VHlwZS4KLUBAIC01MjYsNyArNTMzLDggQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gJSBXZSB1c2UgdGhpcyBvbmx5IGZvciBleHBsaWNpdGx5IGFsaWFzZWQgZm9udHMsIG5vdCBzdWJzdGl0dXRlZCBmb250czoKLSAlIHdlIHRoaW5rIHRoaXMgbWF0Y2hlcyB0aGUgb2JzZXJ2ZWQgYmVoYXZpb3Igb2YgQWRvYmUgaW50ZXJwcmV0ZXJzLgotIC8uYWxpYXNmb250ICAgICAgICAgICAgICUgPG5hbWU+IDxmb250PiAuYWxpYXNmb250IDxuZXdGb250PgotLSB7IC5jdXJyZW50Z2xvYmFsIDMgMSByb2xsIGR1cCAuZ2NoZWNrIC5zZXRnbG9iYWwKLSsgewotKyAgIGN1cnJlbnRnbG9iYWwgMyAxIHJvbGwgZHVwIGdjaGVjayBzZXRnbG9iYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgPGJvb2w+IDxuYW1lPiA8Zm9udD4KLSAgICBkdXAgbGVuZ3RoIDIgYWRkIGRpY3QgICAgICUgPGJvb2w+IDxuYW1lPiA8Zm9udD4gPGRpY3Q+Ci0gICAgZHVwIDMgLTEgcm9sbCAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGRpY3Q+IDxkaWN0PiA8Zm9udD4KLUBAIC01NDEsNyArNTQ5LDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgICAgICAgICAgICUgd2hvc2UgRm9udE5hbWUgaXMgYSBsb2NhbCBub24tc3RyaW5nLCBpZiBzb21lb25lIHBhc3NlZCBhCi0gICAgICAgICAgICAgICAgICUgZ2FyYmFnZSB2YWx1ZSB0byBmaW5kZm9udC4gIEluIHRoaXMgY2FzZSwganVzdCBkb24ndAotICAgICAgICAgICAgICAgICAlIGNhbGwgZGVmaW5lZm9udCBhdCBhbGwuCi0tICAgMiBpbmRleCBkdXAgdHlwZSAvc3RyaW5ndHlwZSBlcSBleGNoIC5nY2hlY2sgb3IgMSBpbmRleCAuZ2NoZWNrIG5vdCBvcgotKyAgICAyIGluZGV4IGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIGV4Y2ggZ2NoZWNrIG9yIDEgaW5kZXggZ2NoZWNrIG5vdCBvcgotICAgICB7IHBvcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgPGJvb2w+IDxuYW1lPiA8ZGljdD4KLSAgICAgICAxIGluZGV4IGR1cCB0eXBlIC9zdHJpbmd0eXBlIGVxIHsgY3ZuIH0gaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIDxib29sPiA8bmFtZT4gPGRpY3Q+IDxuYW1lMT4KLUBAIC01NjYsMTAgKzU3NCwxMSBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgICAgICAgICAgICAgICAgJSBEb24ndCBiaW5kIGluIGRlZmluZWZvbnQsIHNpbmNlIExldmVsIDIgcmVkZWZpbmVzIGl0LgotICAgICAgIC9kZWZpbmVmb250IC5zeXN0ZW12YXIgZXhlYwotICAgICB9Ci0tICAgIHsgL2ZpbmRmb250IGN2eCB7LmNvbXBsZXRlZm9udH0gLmVycm9yZXhlYyBwb3AgZXhjaCBwb3AKLSsgICAgewotKyAgICAgIC9maW5kZm9udCBjdnggey5jb21wbGV0ZWZvbnR9IC8vLmVycm9yZXhlYyBleGVjIHBvcCBleGNoIHBvcAotICAgICB9Ci0gICAgaWZlbHNlCi0tICAgZXhjaCAuc2V0Z2xvYmFsCi0rICAgZXhjaCBzZXRnbG9iYWwKLSAgfSBvZGVmICAgICAgICAgJSBzbyBmaW5kZm9udCB3aWxsIGJpbmQgaXQKLSAKLSAlIERlZmluZSAubG9hZGZvbnRmaWxlIGZvciBsb2FkaW5nIGEgZm9udC4gIElmIHdlIHJlY29nbml6ZSBUeXBlIDEgYW5kL29yCi1AQCAtNjY5LDEwICs2NzgsMTkgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICBbKENuKSA0XSBbKENvbmQpIDRdIFsoTmFycm93KSA0XSBbKFBrZykgNF0gWyhDb21wcikgNF0KLSAgIFsoU2VyaWYpIDhdIFsoU2FucykgLThdCi0gXSByZWFkb25seSBkZWYKLSsKLSsvLmZvbnRuYW1lc3RyaW5nIHsgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAuZm9udG5hbWVzdHJpbmcgPHN0cmluZ3xuYW1lPgotKyAgZHVwIHR5cGUgZHVwIC9uYW1ldHlwZSBlcSB7Ci0rICAgIHBvcCAubmFtZXN0cmluZwotKyAgfSB7Ci0rICAgIC9zdHJpbmd0eXBlIG5lIHsgcG9wICgpIH0gaWYKLSsgIH0gaWZlbHNlCi0rfSBiaW5kIGRlZgotKwotIC8uZm9udG5hbWVwcm9wZXJ0aWVzIHsgICAgICAgICAgJSA8aW50PiA8c3RyaW5nfG5hbWU+IC5mb250bmFtZXByb3BlcnRpZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgICA8aW50Jz4KLS0gIC5mb250bmFtZXN0cmluZwotLSAgLnN1YnN0aXR1dGVwcm9wZXJ0aWVzIHsKLSsgIC8vLmZvbnRuYW1lc3RyaW5nIGV4ZWMKLSsgIC8vLnN1YnN0aXR1dGVwcm9wZXJ0aWVzIHsKLSAgICAgMiBjb3B5IDAgZ2V0IHNlYXJjaCB7Ci0gICAgICAgcG9wIHBvcCBwb3AgZHVwIGxlbmd0aCAxIHN1YiAxIGV4Y2ggZ2V0aW50ZXJ2YWwgMyAtMSByb2xsIGV4Y2ggewotICAgICAgICAgZHVwIDAgZ2UgeyBvciB9IHsgbmVnIG5vdCBhbmQgfSBpZmVsc2UKLUBAIC03MTAsMTMgKzcyOCw3IEBAIGJ1aWxkZm9udGRpY3QgMyAvLmJ1aWxkZm9udDMgY3Z4IHB1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSA8b3RoZXI+IC5uYW1ldG9zdHJpbmcgPG90aGVyPgotICAgZHVwIHR5cGUgL25hbWV0eXBlIGVxIHsgLm5hbWVzdHJpbmcgfSBpZgotIH0gYmluZCBkZWYKLS0vLmZvbnRuYW1lc3RyaW5nIHsgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAuZm9udG5hbWVzdHJpbmcgPHN0cmluZ3xuYW1lPgotLSAgZHVwIHR5cGUgZHVwIC9uYW1ldHlwZSBlcSB7Ci0tICAgIHBvcCAubmFtZXN0cmluZwotLSAgfSB7Ci0tICAgIC9zdHJpbmd0eXBlIG5lIHsgcG9wICgpIH0gaWYKLS0gIH0gaWZlbHNlCi0tfSBiaW5kIGRlZgotKwotIC8uc3Vic3RpdHV0ZWZvbnRuYW1lIHsgICAgICAgICAgJSA8Zm9udG5hbWU+IDxwcm9wZXJ0aWVzPiAuc3Vic3RpdHV0ZWZvbnRuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlICAgPGFsdG5hbWV8bnVsbD4KLSAgICAgICAgICUgTG9vayBmb3IgcHJvcGVydGllcyBhbmQvb3IgYSBmYWNlIG5hbWUgaW4gdGhlIGZvbnQgbmFtZS4KLUBAIC03MjQsNyArNzM2LDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAgICAgICAlIGJhc2UgZm9udDsgb3RoZXJ3aXNlLCB1c2UgdGhlIGRlZmF1bHQgZm9udC4KLSAgICAgICAgICUgTm90ZSB0aGF0IHRoZSAic3Vic3RpdHV0ZWQiIGZvbnQgbmFtZSBtYXkgYmUgdGhlIHNhbWUgYXMKLSAgICAgICAgICUgdGhlIHJlcXVlc3RlZCBvbmU7IHRoZSBjYWxsZXIgbXVzdCBjaGVjayB0aGlzLgotLSAgZXhjaCAuZm9udG5hbWVzdHJpbmcgewotKyAgZXhjaCAvLy5mb250bmFtZXN0cmluZyBleGVjIHsKLSAgICAgZGVmYXVsdGZvbnRuYW1lIC9IZWx2ZXRpY2EtT2JsaXF1ZSAvSGVsdmV0aWNhLUJvbGQgL0hlbHZldGljYS1Cb2xkT2JsaXF1ZQotICAgICAvSGVsdmV0aWNhLU5hcnJvdyAvSGVsdmV0aWNhLU5hcnJvdy1PYmxpcXVlCi0gICAgIC9IZWx2ZXRpY2EtTmFycm93LUJvbGQgL0hlbHZldGljYS1OYXJyb3ctQm9sZE9ibGlxdWUKLUBAIC03MzQsMTIgKzc0NiwxMiBAQCBidWlsZGZvbnRkaWN0IDMgLy5idWlsZGZvbnQzIGN2eCBwdXQKLSAgIH0gMyAxIHJvbGwKLSAgICAgICAgICUgU3RhY2s6IGZhY2VsaXN0IHByb3BlcnRpZXMgZm9udG5hbWUKLSAgICAgICAgICUgTG9vayBmb3IgYSBmYWNlIG5hbWUuCi0tICAuc3Vic3RpdHV0ZWZhY2VzIHsKLSsgIC8vLnN1YnN0aXR1dGVmYWNlcyB7Ci0gICAgIDIgY29weSAwIGdldCBzZWFyY2ggewotICAgICAgIHBvcCBwb3AgcG9wCi0gICAgICAgICAlIFN0YWNrOiBmYWNlbGlzdCBwcm9wZXJ0aWVzIGZvbnRuYW1lIFsocGF0dGVybikgZmFtaWx5IHByb3BlcnRpZXNdCi0gICAgICAgZHVwIDIgZ2V0IDQgLTEgcm9sbCBvciAzIDEgcm9sbAotLSAgICAgIDEgZ2V0IC5zdWJzdGl0dXRlZmFtaWxpZXMgZXhjaCBnZXQKLSsgICAgICAxIGdldCAvLy5zdWJzdGl0dXRlZmFtaWxpZXMgZXhjaCBnZXQKLSAgICAgICA0IC0xIHJvbGwgcG9wIDMgMSByb2xsCi0gICAgIH0gewotICAgICAgIHBvcCBwb3AKLUBAIC03NDgsNyArNzYwLDcgQEAgYnVpbGRmb250ZGljdCAzIC8uYnVpbGRmb250MyBjdnggcHV0Ci0gICAxIGluZGV4IGxlbmd0aCBtb2QgZ2V0IGV4ZWMKLSB9IGJpbmQgZGVmCi0gLy5zdWJzdGl0dXRlZm9udCB7ICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnN1YnN0aXR1dGVmb250IDxhbHRuYW1lPgotLSAgZHVwIDAgZXhjaCAuZm9udG5hbWVwcm9wZXJ0aWVzIC5zdWJzdGl0dXRlZm9udG5hbWUKLSsgIGR1cCAwIGV4Y2ggLy8uZm9udG5hbWVwcm9wZXJ0aWVzIGV4ZWMgLnN1YnN0aXR1dGVmb250bmFtZQotICAgICAgICAgJSBPbmx5IGFjY2VwdCBmb250cyBrbm93biBpbiB0aGUgRm9udG1hcC4KLSAgICBGb250bWFwIDEgaW5kZXgga25vd24gbm90Ci0gICAgewotQEAgLTgxNCw3ICs4MjYsNyBAQCBGQUtFRk9OVFMgbm90IHsgKCVFTkQgRkFLRUZPTlRTKSAuc2tpcGVvZiB9IGlmCi0gICBjb3VudHRvbWFyayAxIHN1YiB7IC5hbGlhc2ZvbnQgfSByZXBlYXQgZW5kCi0gICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiBtYXJrIDxmb250PgotICAgZXhjaCBwb3AgZXhjaCBwb3AKLS19IG9kZWYKLSt9IGJpbmQgb2RlZgotIC9maW5kZm9udCB7Ci0gICAuZmluZGZvbnQKLSB9IGJpbmQgZGVmCi1AQCAtODYwLDcgKzg3Miw3IEBAIEZBS0VGT05UUyBub3QgeyAoJUVORCBGQUtFRk9OVFMpIC5za2lwZW9mIH0gaWYKLSAgICAgICB9IHsKLSAgICAgICAgIGR1cCAuc3Vic3RpdHV0ZWZvbnQKLSAgICAgICAgIDIgY29weSBlcSB7IHBvcCBkZWZhdWx0Zm9udG5hbWUgfSBpZgotLSAgICAgICAgLmNoZWNrYWxpYXMKLSsgICAgICAgIC8vLmNoZWNrYWxpYXMgZXhlYwotICAgICAgICAgUVVJRVQgbm90IHsKLSAgICAgICAgICAgU0hPUlRFUlJPUlMgewotICAgICAgICAgICAgICglJVspIHByaW50IDEgaW5kZXggPW9ubHkKLUBAIC04ODYsOCArODk4LDggQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAvL251bGwgMCAxIEZPTlRQQVRIIGxlbmd0aCAxIHN1YiB7Ci0gICAgIEZPTlRQQVRIIDEgaW5kZXggZ2V0IC8vbnVsbCBuZSB7IGV4Y2ggcG9wIGV4aXQgfSBpZiBwb3AKLSAgIH0gZm9yIGR1cCAvL251bGwgbmUgewotLSAgICBkdXAgMCBlcSB7IC5zY2FuZm9udGJlZ2luIH0gaWYKLS0gICAgRk9OVFBBVEggMSBpbmRleCBnZXQgLnNjYW5mb250ZGlyCi0rICAgIGR1cCAwIGVxIHsgLy8uc2NhbmZvbnRiZWdpbiBleGVjfSBpZgotKyAgICBGT05UUEFUSCAxIGluZGV4IGdldCAvLy5zY2FuZm9udGRpciBleGVjCi0gICAgIEZPTlRQQVRIIGV4Y2ggLy9udWxsIHB1dCAvL3RydWUKLSAgIH0gewotICAgICBwb3AgLy9mYWxzZQotQEAgLTg5NywxMSArOTA5LDEwIEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICUgc2Nhbm5pbmcgb2YgRk9OVFBBVEguCi0gLy5kb2ZpbmRmb250IHsgICAlICBtYXJrIDxmb250bmFtZT4gLmRvZmluZGZvbnQgJSBtYXJrIDxhbGlhcz4gLi4uIDxmb250PgotICAgLnRyeWZpbmRmb250IG5vdCB7Ci0tCi0gICAgICAgICAgICAgICAgICAgICAgICAgJSBXZSBkaWRuJ3QgZmluZCB0aGUgZm9udC4gIElmIHdlIGhhdmVuJ3Qgc2Nhbm5lZAotICAgICAgICAgICAgICAgICAgICAgICAgICUgYWxsIHRoZSBkaXJlY3RvcmllcyBpbiBGT05UUEFUSCwgc2NhbiB0aGUgbmV4dCBvbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIG5vdyBhbmQgbG9vayBmb3IgdGhlIGZvbnQgYWdhaW4uCi0tICAgIC5zY2FubmV4dGZvbnRkaXIgewotKyAgICAvLy5zY2FubmV4dGZvbnRkaXIgZXhlYyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFydCBvdmVyIHdpdGggYW4gZW1wdHkgYWxpYXMgbGlzdC4KLSAgICAgICBjb3VudHRvbWFyayAxIHN1YiB7IHBvcCB9IHJlcGVhdCAgICAlIG1hcmsgPGZvbnRuYW1lPgotICAgICAgIC5kb2ZpbmRmb250Ci1AQCAtOTI3LDYgKzkzOCw3IEBAICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgeyB9IHB1dAotICAgICAgICAgfSBpZgotICAgICAgICAgICAgICAgICAgICAgICAgICUgU3Vic3RpdHV0ZSBmb3IgdGhlIGZvbnQuICBEb24ndCBhbGlhcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAlIFNhbWUgc3RhY2sgYXMgYXQgdGhlIGJlZ2lubmluZyBvZiAuZG9maW5kZm9udC4KLSsKLSAgICAgICAgICRlcnJvciAvU3Vic3RpdHV0ZUZvbnQgZ2V0IGV4ZWMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAlIGlnb3JtOiBJIGd1ZXNzIHRoZSBzdXJyb3VuZGluZyBjb2RlIGFzc3VtZXMgdGhhdCAuc3Rkc3Vic3Rmb250Ci1AQCAtOTM1LDcyICs5NDcsMTEgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICUgdXNlZCBpbiAuZG9maW5kZm9udCBhbmQgdGhyb3VnaCAuc3Rkc3Vic3Rmb250Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICUganVzdCB0byByZXByZXNlbnQgYSBzaW1wbGUgaXRlcmF0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAlIHdoaWNoIGFjY3VtdWxhdGVzIHRoZSBhbGlhc2VzIGFmdGVyIHRoZSBtYXJrLgotLSAgICAgICAgLnN0ZHN1YnN0Zm9udAotKyAgICAgICAgLy8uc3Rkc3Vic3Rmb250IGV4ZWMKLSAgICAgICB9IGlmZWxzZQotICAgICB9IGlmZWxzZQotICAgfSBpZgotIH0gYmluZCBkZWYKLS0lIFRyeSB0byBmaW5kIGEgZm9udCB1c2luZyBvbmx5IHRoZSBwcmVzZW50IGNvbnRlbnRzIG9mIEZvbnRtYXAuCi0tLy50cnlmaW5kZm9udCB7ICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCA8Zm9udD4gdHJ1ZQotLSAgICAgICAgICAgICAgICAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5ZmluZGZvbnQgZmFsc2UKLS0gIC8vLkZvbnREaXJlY3RvcnkgMSBpbmRleCAuZm9udGtub3duZ2V0Ci0tICAgIHsgICAgICAgICAgICAgICAgICAgJSBBbHJlYWR5IGxvYWRlZAotLSAgICAgIGV4Y2ggcG9wIC8vdHJ1ZQotLSAgICB9Ci0tICAgIHsKLS0gICAgICAgZHVwIEZvbnRtYXAgZXhjaCAua25vd25nZXQKLS0gICAgICAgeyAvL3RydWUgLy90cnVlIH0KLS0gICAgICAgeyAgICAgICAgICAgICAgICAlIFVua25vd24gZm9udCBuYW1lLiAgTG9vayBmb3IgYSBmaWxlIHdpdGggdGhlCi0tICAgICAgICAgICAgICAgICAgICAgICAgJSBzYW1lIG5hbWUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotLSAgICAgICAgIGR1cCAudHJ5bG9hZGZvbnQKLS0gICAgICAgICB7IGV4Y2ggcG9wIC8vdHJ1ZSAvL2ZhbHNlIH0KLS0gICAgICAgICB7Ci0tICAgICAgICAgICAlIGlmIHdlIGNhbid0IGxvYWQgYnkgbmFtZSBjaGVjayB0aGUgbmF0aXZlIGZvbnQgbWFwCi0tICAgICAgICAgICBkdXAgLm5hdGl2ZUZvbnRtYXAgZXhjaCAua25vd25nZXQKLS0gICAgICAgICAgIHsgLy90cnVlIC8vdHJ1ZSB9Ci0tICAgICAgICAgICB7IC8vZmFsc2UgLy9mYWxzZSB9IGlmZWxzZQotLSAgICAgICAgIH0gaWZlbHNlCi0tICAgICAgIH0gaWZlbHNlCi0tCi0tICAgICAgIHsgICAgICAgICAgICAgICAgJSBUcnkgZWFjaCBlbGVtZW50IG9mIHRoZSBGb250bWFwIGluIHR1cm4uCi0tICAgICAgICAgcG9wCi0tICAgICAgICAgLy9mYWxzZSBleGNoICAgJSAoaW4gY2FzZSB3ZSBleGhhdXN0IHRoZSBsaXN0KQotLSAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRuYW1lIGZhbHNlIGZvbnRtYXBsaXN0Ci0tICAgICAgICAgeyBleGNoIHBvcAotLSAgICAgICAgICAgZHVwIHR5cGUgL25hbWV0eXBlIGVxCi0tICAgICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAlIEZvbnQgYWxpYXMKLS0gICAgICAgICAgICAgIC5jaGVja2FsaWFzIC50cnlmaW5kZm9udCBleGl0Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgICAgIHsgZHVwIGR1cCB0eXBlIGR1cCAvYXJyYXl0eXBlIGVxIGV4Y2ggL3BhY2tlZGFycmF5dHlwZSBlcSBvciBleGNoIHhjaGVjayBhbmQKLS0gICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0tICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0tICAgICAgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmtub3duZ2V0Ci0tICAgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgZXhpdCB9Ci0tICAgICAgICAgICAgICAgICBpZgotLSAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCBmaWxlIG5hbWUKLS0gICAgICAgICAgICAgICAgIC8vdHJ1ZSAubG9hZGZvbnRsb29wIHsgLy90cnVlIGV4aXQgfSBpZgotLSAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgIGlmZWxzZQotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgIGlmZWxzZSAvL2ZhbHNlCi0tICAgICAgICAgfQotLSAgICAgICAgIGZvcmFsbAotLSAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnQgdHJ1ZSAtb3ItIGZvbnRuYW1lIGZhbHNlCi0tICAgICAgICAgeyAvL3RydWUKLS0gICAgICAgICB9Ci0tICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAlIE5vbmUgb2YgdGhlIEZvbnRtYXAgZW50cmllcyB3b3JrZWQuCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIFRyeSBsb2FkaW5nIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotLSAgICAgICAgICAgLnRyeWxvYWRmb250Ci0tICAgICAgICAgfQotLSAgICAgICAgaWZlbHNlCi0tICAgICAgIH0KLS0gICAgICBpZgotLSAgICB9Ci0tICAgaWZlbHNlCi0tIH0gYmluZCBkZWYKLSAKLSAlIGFueSB1c2VyIG9mIC5wdXRnc3RyaW5nY29weSBtdXN0IHVzZSBiaW5kIGFuZCBleGVjdXRlb25seQotIC8ucHV0Z3N0cmluZ2NvcHkgICUgICA8ZGljdD4gPG5hbWU+IDxzdHJpbmc+IC5wdXRnc3RyaW5nY29weSAtCi1AQCAtMTAxNCwyNSArOTY1LDYgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICB9IGV4ZWN1dGVvbmx5IGlmZWxzZQotIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZiAlIG11c3QgYmUgYm91bmQgYW5kIGhpZGRlbiBmb3IgLmZvcmNlcHV0Ci0gCi0tJSBBdHRlbXB0IHRvIGxvYWQgYSBmb250IGZyb20gYSBmaWxlLgotLS8udHJ5bG9hZGZvbnQgeyAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5bG9hZGZvbnQgPGZvbnQ+IHRydWUKLS0gICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IGZhbHNlCi0tICBkdXAgLm5hbWV0b3N0cmluZwotLSAgICAgICAgICAgICAgICAlIEhhY2s6IGNoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIHJlc291cmNlIG1hY2hpbmVyeS4KLS0gIC8uZ2VuZXJpY3JmbiB3aGVyZSB7Ci0tICAgIHBvcAotLSAgICBwb3AgZHVwIC5mb250dGVtcHN0cmluZyAvRm9udFJlc291cmNlRGlyIGdldHN5c3RlbXBhcmFtIC5nZW5lcmljcmZuCi0tICAgIHsvL2ZhbHNlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmIHsKLS0gICAgICAvL3RydWUKLS0gICAgfSB7Ci0tICAgICAgZHVwIC5uYW1ldG9zdHJpbmcKLS0gICAgICB7Ly90cnVlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmCi0tICAgIH0gaWZlbHNlCi0tICB9IHsKLS0gICAgey8vdHJ1ZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZgotLSAgfSBpZmVsc2UKLS19IGJpbmQgZGVmCi0tCi0gLy5sb2FkZm9udGxvb3AgeyAgICAgICAgJSA8Zm9udG5hbWU+IDxmaWxlbmFtZT4gPGxpYmZsYWc+IC5sb2FkZm9udGxvb3AKLSAgICAgICAgICAgICAgICAgICAgICAgICAlICAgPGZvbnQ+IHRydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAlIC1vci0KLUBAIC0xMTAyLDcgKzEwMzQsNyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAgICAgICAgICB9IGlmCi0gCi0gICAgICAgICAgICAgICAgICUgQ2hlY2sgdG8gbWFrZSBzdXJlIHRoZSBmb250IHdhcyBhY3R1YWxseSBsb2FkZWQuCi0tICAgICAgICBkdXAgMyBpbmRleCAuZm9udGtub3duZ2V0Ci0rICAgICAgICBkdXAgMyBpbmRleCAvLy5mb250a25vd25nZXQgZXhlYwotICAgICAgICAgIHsgZHVwIC9QYXRoTG9hZCA0IGluZGV4IC5wdXRnc3RyaW5nY29weQotICAgICAgICAgICAgNCAxIHJvbGwgcG9wIHBvcCBwb3AgLy90cnVlIGV4aXQKLSAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi1AQCAtMTExMyw3ICsxMDQ1LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICBleGNoIGR1cCAgICAgICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGggcGF0aAotICAgICAgICAgKHIpIGZpbGUgLmZpbmRmb250bmFtZQotICAgICAgICAgIHsgICAgICAgICAgICAlIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoIGZpbGVmb250bmFtZQotLSAgICAgICAgICAgMiBpbmRleCAxIGluZGV4IC5mb250a25vd25nZXQKLSsgICAgICAgICAgIDIgaW5kZXggMSBpbmRleCAvLy5mb250a25vd25nZXQgZXhlYwotICAgICAgICAgICAgIHsgICAlIFllcy4gIFN0YWNrOiBvcmlnZm9udG5hbWUgZm9udGRpcmVjdG9yeSBwYXRoIGZpbGVmb250bmFtZSBmb250ZGljdAotICAgICAgICAgICAgICAgZHVwIDQgLTEgcm9sbCAvUGF0aExvYWQgZXhjaCAucHV0Z3N0cmluZ2NvcHkKLSAgICAgICAgICAgICAgICAgICAgICAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lIGZvbnRkaXJlY3RvcnkgZmlsZWZvbnRuYW1lIGZvbnRkaWN0Ci1AQCAtMTEzNiw3ICsxMDY4LDcgQEAgJGVycm9yIC9TdWJzdGl0dXRlRm9udCB7IH0gcHV0Ci0gICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnRkaWN0Ci0gICAgICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgICAgaWYgcG9wICUgU3RhY2s6IG9yaWdmb250bmFtZSBmb250ZGlyZWN0b3J5IHBhdGgKLS0gICAgICAgICB9Ci0rICAgICAgICAgfSBleGVjdXRlb25seQotICAgICAgICAgaWYgcG9wIHBvcCAgJSBTdGFjazogb3JpZ2ZvbnRuYW1lCi0gCi0gICAgICAgICAgICAgICAgICUgVGhlIGZvbnQgZGVmaW5pdGVseSBkaWQgbm90IGxvYWQgY29ycmVjdGx5LgotQEAgLTExNTAsNyArMTA4Miw4NyBAQCAkZXJyb3IgL1N1YnN0aXR1dGVGb250IHsgfSBwdXQKLSAKLSAgfSBiaW5kIGV4ZWN1dGVvbmx5IG9kZWYgJSBtdXN0IGJlIGJvdW5kIGFuZCBoaWRkZW4gZm9yIC5wdXRnc3RyaW5nY29weQotIAotLWN1cnJlbnRkaWN0IC8ucHV0Z3N0cmluZ2NvcHkgLnVuZGVmCi0rJSBBdHRlbXB0IHRvIGxvYWQgYSBmb250IGZyb20gYSBmaWxlLgotKy8udHJ5bG9hZGZvbnQgeyAgICAgICAgICUgPGZvbnRuYW1lPiAudHJ5bG9hZGZvbnQgPGZvbnQ+IHRydWUKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWxvYWRmb250IGZhbHNlCi0rICBkdXAgLy8ubmFtZXRvc3RyaW5nIGV4ZWMKLSsgICAgICAgICAgICAgICAgJSBIYWNrOiBjaGVjayBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSByZXNvdXJjZSBtYWNoaW5lcnkuCi0rICAvLmdlbmVyaWNyZm4gd2hlcmUgewotKyAgICBwb3AKLSsgICAgcG9wIGR1cCAvLy5mb250dGVtcHN0cmluZyAvRm9udFJlc291cmNlRGlyIGdldHN5c3RlbXBhcmFtIC5nZW5lcmljcmZuCi0rICAgIHsvL2ZhbHNlIC5sb2FkZm9udGxvb3B9IC5pbnRlcm5hbHN0b3BwZWQgey8vZmFsc2V9IGlmIHsKLSsgICAgICAvL3RydWUKLSsgICAgfSB7Ci0rICAgICAgZHVwIC8vLm5hbWV0b3N0cmluZyBleGVjCi0rICAgICAgey8vdHJ1ZSAubG9hZGZvbnRsb29wfSAuaW50ZXJuYWxzdG9wcGVkIHsvL2ZhbHNlfSBpZgotKyAgICB9IGlmZWxzZQotKyAgfSB7Ci0rICAgIHsvL3RydWUgLmxvYWRmb250bG9vcH0gLmludGVybmFsc3RvcHBlZCB7Ly9mYWxzZX0gaWYKLSsgIH0gaWZlbHNlCi0rfSBiaW5kIGRlZgotKwotKyUgVHJ5IHRvIGZpbmQgYSBmb250IHVzaW5nIG9ubHkgdGhlIHByZXNlbnQgY29udGVudHMgb2YgRm9udG1hcC4KLSsvLnRyeWZpbmRmb250IHsgICAgICAgICAlIDxmb250bmFtZT4gLnRyeWZpbmRmb250IDxmb250PiB0cnVlCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSA8Zm9udG5hbWU+IC50cnlmaW5kZm9udCBmYWxzZQotKyAgLy8uRm9udERpcmVjdG9yeSAxIGluZGV4IC8vLmZvbnRrbm93bmdldCBleGVjCi0rICAgIHsgICAgICAgICAgICAgICAgICAgJSBBbHJlYWR5IGxvYWRlZAotKyAgICAgIGV4Y2ggcG9wIC8vdHJ1ZQotKyAgICB9Ci0rICAgIHsKLSsgICAgICAgZHVwIEZvbnRtYXAgZXhjaCAua25vd25nZXQKLSsgICAgICAgeyAvL3RydWUgLy90cnVlIH0KLSsgICAgICAgeyAgICAgICAgICAgICAgICAlIFVua25vd24gZm9udCBuYW1lLiAgTG9vayBmb3IgYSBmaWxlIHdpdGggdGhlCi0rICAgICAgICAgICAgICAgICAgICAgICAgJSBzYW1lIG5hbWUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotKyAgICAgICAgIGR1cCAvLy50cnlsb2FkZm9udCBleGVjCi0rICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgLy9mYWxzZSB9Ci0rICAgICAgICAgewotKyAgICAgICAgICAgJSBpZiB3ZSBjYW4ndCBsb2FkIGJ5IG5hbWUgY2hlY2sgdGhlIG5hdGl2ZSBmb250IG1hcAotKyAgICAgICAgICAgZHVwIC5uYXRpdmVGb250bWFwIGV4Y2ggLmtub3duZ2V0Ci0rICAgICAgICAgICB7IC8vdHJ1ZSAvL3RydWUgfQotKyAgICAgICAgICAgeyAvL2ZhbHNlIC8vZmFsc2UgfSBpZmVsc2UKLSsgICAgICAgICB9IGlmZWxzZQotKyAgICAgICB9IGlmZWxzZQotKwotKyAgICAgICB7ICAgICAgICAgICAgICAgICUgVHJ5IGVhY2ggZWxlbWVudCBvZiB0aGUgRm9udG1hcCBpbiB0dXJuLgotKyAgICAgICAgIHBvcAotKyAgICAgICAgIC8vZmFsc2UgZXhjaCAgICUgKGluIGNhc2Ugd2UgZXhoYXVzdCB0aGUgbGlzdCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAlIFN0YWNrOiBmb250bmFtZSBmYWxzZSBmb250bWFwbGlzdAotKyAgICAgICAgIHsgZXhjaCBwb3AKLSsgICAgICAgICAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcQotKyAgICAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgJSBGb250IGFsaWFzCi0rICAgICAgICAgICAgICAvLy5jaGVja2FsaWFzIGV4ZWMKLSsgICAgICAgICAgICAgIC50cnlmaW5kZm9udCBleGl0Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHsgZHVwIGR1cCB0eXBlIGR1cCAvYXJyYXl0eXBlIGVxIGV4Y2ggL3BhY2tlZGFycmF5dHlwZSBlcSBvciBleGNoIHhjaGVjayBhbmQKLSsgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCB3aXRoIGEgcHJvY2VkdXJhbCBkZWZpbml0aW9uCi0rICAgICAgICAgICAgICAgICBleGVjICAgICAgICAgICAlIFRoZSBwcm9jZWR1cmUgd2lsbCBsb2FkIHRoZSBmb250LgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBDaGVjayB0byBtYWtlIHN1cmUgdGhpcyByZWFsbHkgaGFwcGVuZWQuCi0rICAgICAgICAgICAgICAgICAvLy5Gb250RGlyZWN0b3J5IDEgaW5kZXggLmtub3duZ2V0Ci0rICAgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvL3RydWUgZXhpdCB9Ci0rICAgICAgICAgICAgICAgICBpZgotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICB7ICAgICAgICAgICAgICAgICUgRm9udCBmaWxlIG5hbWUKLSsgICAgICAgICAgICAgICAgIC8vdHJ1ZSAubG9hZGZvbnRsb29wIHsgLy90cnVlIGV4aXQgfSBpZgotKyAgICAgICAgICAgICAgIH0KLSsgICAgICAgICAgICAgIGlmZWxzZQotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgIGlmZWxzZSAvL2ZhbHNlCi0rICAgICAgICAgfQotKyAgICAgICAgIGZvcmFsbAotKyAgICAgICAgICAgICAgICAgICAgICAgICUgU3RhY2s6IGZvbnQgdHJ1ZSAtb3ItIGZvbnRuYW1lIGZhbHNlCi0rICAgICAgICAgeyAvL3RydWUKLSsgICAgICAgICB9Ci0rICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAlIE5vbmUgb2YgdGhlIEZvbnRtYXAgZW50cmllcyB3b3JrZWQuCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIFRyeSBsb2FkaW5nIGEgZmlsZSB3aXRoIHRoZSBzYW1lIG5hbWUKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgYXMgdGhlIHJlcXVlc3RlZCBmb250LgotKyAgICAgICAgICAgLy8udHJ5bG9hZGZvbnQgZXhlYwotKyAgICAgICAgIH0KLSsgICAgICAgIGlmZWxzZQotKyAgICAgICB9Ci0rICAgICAgaWYKLSsgICAgfQotKyAgIGlmZWxzZQotKyB9IGJpbmQgZGVmCi0gCi0gJSBEZWZpbmUgYSBwcm9jZWR1cmUgdG8gbG9hZCBhbGwga25vd24gZm9udHMuCi0gJSBUaGlzIGlzbid0IGxpa2VseSB0byBiZSB2ZXJ5IHVzZWZ1bC4KLUBAIC0xMTkyLDkgKzEyMDQsOSBAQCBGQUtFRk9OVFMgeyBleGNoIH0gaWYgcG9wIGRlZiAgICUgZG9uJ3QgYmluZCwgLmN1cnJlbnQvc2V0Z2xvYmFsIGdldCByZWRlZmluZWQKLSAvLmxvYWRpbml0aWFsZm9udHMKLSAgeyBOT0ZPTlRNQVAgbm90Ci0gICAgIHsgL0ZPTlRNQVAgd2hlcmUKLS0gICAgICAgICAgeyBwb3AgWyBGT05UTUFQIC5wYXRobGlzdCBdCi0rICAgICAgICAgIHsgcG9wIFsgRk9OVE1BUCAvLy5wYXRobGlzdCBleGVjXQotICAgICAgICAgICAgICB7IGR1cCBWTURFQlVHIGZpbmRsaWJmaWxlCi0tICAgICAgICAgICAgICAgIHsgZXhjaCBwb3AgLmxvYWRGb250bWFwIH0KLSsgICAgICAgICAgICAgICAgeyBleGNoIHBvcCAvLy5sb2FkRm9udG1hcCBleGVjIH0KLSAgICAgICAgICAgICAgICAgeyAvdW5kZWZpbmVkZmlsZW5hbWUgc2lnbmFsZXJyb3IgfQotICAgICAgICAgICAgICAgIGlmZWxzZQotICAgICAgICAgICAgICB9Ci1AQCAtMTIwOCw3ICsxMjIwLDcgQEAgRkFLRUZPTlRTIHsgZXhjaCB9IGlmIHBvcCBkZWYgICAlIGRvbid0IGJpbmQsIC5jdXJyZW50L3NldGdsb2JhbCBnZXQgcmVkZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgIHBvcCBwb3AKLSAgICAgICAgICAgICAgICAgICAgZGVmYXVsdGZvbnRtYXBfY29udGVudCB7IC5kZWZpbmVmb250bWFwIH0gZm9yYWxsCi0gICAgICAgICAgICAgICAgICB9IHsKLS0gICAgICAgICAgICAgICAgICAgLmxvYWRGb250bWFwCi0rICAgICAgICAgICAgICAgICAgIC8vLmxvYWRGb250bWFwIGV4ZWMKLSAgICAgICAgICAgICAgICAgIH0gaWZlbHNlCi0gICAgICAgICAgICAgICAgfSB7Ci0gICAgICAgICAgICAgICAgICBwb3AgcG9wCi1AQCAtMTI3MiwzICsxMjg0LDE4IEBAIEZBS0VGT05UUyB7IGV4Y2ggfSBpZiBwb3AgZGVmICAgJSBkb24ndCBiaW5kLCAuY3VycmVudC9zZXRnbG9iYWwgZ2V0IHJlZGVmaW5lZAotICB7IC5tYWtlbW9kaWZpZWRmb250Ci0gICAgZHVwIC9Gb250TmFtZSBnZXQgZXhjaCBkZWZpbmVmb250IHBvcAotICB9IGJpbmQgZGVmCi0rCi0rJSBVbmRlZiB0aGVzZSwgbm90IG5lZWRlZCBvdXRzaWRlIHRoaXMgZmlsZQotK1sKLSsgJSAvLmZvbnR0ZW1wc3RyaW5nIC8uc2Nhbm5leHRmb250ZGlyIC0gYXJlIGFsc28gdXNlZCBpbiBnc19yZXMucHMsIHNvIGFyZSB1bmRlZmluZWQgdGhlcmUKLSsgJSAvLmZvbnRuYW1lcHJvcGVydGllcyAtIGlzIHVzZWQgaW4gcGRmX2ZvbnQucHMKLSsgJSAvLnNjYW5mb250aGVhZGVycyAtIHVzZWQgaW4gZ3NfY2ZmLnBzLCBnc190dGYucHMKLSsgLy5sb2FkZm9udGxvb3AgLy50cnlsb2FkZm9udCAvLmZpbmRmb250IC8ucGF0aGxpc3QgLy5sb2FkRm9udG1hcCAvLmxvd2Vyc3RyaW5nCi0rIC8uc3BsaXRmaWxlbmFtZSAvLnNjYW5mb250ZGljdCAvLnNjYW5mb250YmVnaW4KLSsgLy5zY2FuZm9udHNraXAgLy5zY2FuMWZvbnRzdHJpbmcKLSsgLy5zY2FuMWZvbnRmaXJzdCAvLnNjYW5mb250ZGlyCi0rIC8uc2V0bmF0aXZlZm9udG1hcGJ1aWx0IC8uYWxpYXNmb250Ci0rIC8uc2V0bG9hZGluZ2ZvbnQgLy5zdWJzdGl0dXRlZmFjZXMgLy5zdWJzdGl0dXRlcHJvcGVydGllcyAvLnN1YnN0aXR1dGVmYW1pbGllcwotKyAvLm5hbWV0b3N0cmluZyAvLmZvbnRuYW1lc3RyaW5nIC8uY2hlY2thbGlhcyAvLmZvbnRrbm93bmdldCAvLnN0ZHN1YnN0Zm9udAotKyAvLnB1dGdzdHJpbmdjb3B5Ci0rXSB7c3lzdGVtZGljdCBleGNoIC5mb3JjZXVuZGVmfSBmb3JhbGwKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCAxOGQ1NDUyLi5iMDE2MTEzIDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtOTYxLDcgKzk2MSw3IEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAgIGR1cCB0eXBlIC9uYW1ldHlwZSBlcSB7IC5uYW1lc3RyaW5nIH0gaWYKLSAgICAgZHVwIHR5cGUgL3N0cmluZ3R5cGUgbmUgeyAvL2ZhbHNlIGV4aXQgfSBpZgotICAgICAgICAgICAgICAgICAlIENoZWNrIHRoZSByZXNvdXJjZSBkaXJlY3RvcnkuCi0tICAgIGR1cCAuZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotKyAgICBkdXAgLy8uZm9udHRlbXBzdHJpbmcgL0ZvbnRSZXNvdXJjZURpciBnZXRzeXN0ZW1wYXJhbSAuZ2VuZXJpY3JmbgotICAgICBzdGF0dXMgewotICAgICAgIHBvcCBwb3AgcG9wIHBvcCAvL3RydWUgZXhpdAotICAgICB9IGlmCi1AQCAtOTY5LDcgKzk2OSw3IEBAIHVzZXJkaWN0IC8ubG9jYWxjc2RlZmF1bHRzIC8vZmFsc2UgcHV0Ci0gICAgICAgICAgICAgICAgICUgYXMgdGhlIGZvbnQuCi0gICAgIGZpbmRsaWJmaWxlIHsgY2xvc2VmaWxlIC8vdHJ1ZSBleGl0IH0gaWYKLSAgICAgICAgICAgICAgICAgJSBTY2FuIGEgRk9OVFBBVEggZGlyZWN0b3J5IGFuZCB0cnkgYWdhaW4uCi0tICAgIC5zY2FubmV4dGZvbnRkaXIgbm90IHsgLy9mYWxzZSBleGl0IH0gaWYKLSsgICAgLy8uc2Nhbm5leHRmb250ZGlyIGV4ZWMgbm90IHsgLy9mYWxzZSBleGl0IH0gaWYKLSAgIH0gbG9vcAotIH0gYmluZCBkZWYKLSAKLUBAIC0xMDA4LDcgKzEwMDgsNyBAQCBjdXJyZW50ZGljdCAvLmZvbnRzdGF0dXNhdXggLnVuZGVmCi0gICAgICAgICB9IGlmZWxzZQotIH0gYmluZCBleGVjdXRlb25seQotIC9SZXNvdXJjZUZvckFsbCB7Ci0tICAgICAgICB7IC5zY2FubmV4dGZvbnRkaXIgbm90IHsgZXhpdCB9IGlmIH0gbG9vcAotKyAgICAgICAgeyAvLy5zY2FubmV4dGZvbnRkaXIgZXhlYyBub3QgeyBleGl0IH0gaWYgfSBsb29wCi0gICAgICAgICAvR2VuZXJpYyAvQ2F0ZWdvcnkgZmluZHJlc291cmNlIC9SZXNvdXJjZUZvckFsbCBnZXQgZXhlYwotIH0gYmluZCBleGVjdXRlb25seQotIC8uUmVzb3VyY2VGaWxlU3RhdHVzIHsKLUBAIC0xMTYzLDYgKzExNjMsNyBAQCBlbmQJCQkJJSBsZXZlbDJkaWN0Ci0gWwotICAgICAvLmRlZmF1bHRfcmVzb3VyY2VfZGlyCi0gICAgIC8ucmVzb3VyY2VfZGlyX25hbWUKLSsgICAgLy5mb250dGVtcHN0cmluZyAvLnNjYW5uZXh0Zm9udGRpciAlIGZyb20gZ3NfZm9udHMucHMKLSBdCi0ge3N5c3RlbWRpY3QgZXhjaCAuZm9yY2V1bmRlZn0gZm9yYWxsCi0gCi0tLSAKLTIuMTguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMWY4MzkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvQ1ZFLTIwMTktNjExNi0wMDA3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQ2ICswLDAgQEAKLUZyb20gNWM0OWVmZTI0ZGRhMGYyZGJkMmEwOWI5MTU5ZTY4M2NjZTk5YjZkOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBGcmksIDExIEphbiAyMDE5IDEzOjM2OjM2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggNy83XSBSZW1vdmUgLmZvcmNlZGVmLCBhbmQgaGFyZGVuIC5mb3JjZSogb3BzIG1vcmUKLQotUmVtb3ZlIC5mb3JjZWRlZiBhbmQgcmVwbGFjZSBhbGwgdXNlcyB3aXRoIGEgZGlyZWN0IGNhbGwgdG8gLmZvcmNlcHV0IGluc3RlYWQuCi0KLUVuc3VyZSBldmVyeSBwcm9jZWR1cmUgKG5hbWVkIGFuZCB0cmFzaWVudCkgdGhhdCBjYWxscyAuZm9yY2VwdXQgaXMKLWV4ZWN1dGVvbmx5LgotCi1DVkU6IENWRS0yMDE5LTYxMTYKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2dpdDovL2dpdC5naG9zdHNjcmlwdC5jb20vZ2hvc3RwZGwuZ2l0XQotCi1TaWduZWQtb2ZmLWJ5OiBPdmlkaXUgUGFuYWl0IDxvdmlkaXUucGFuYWl0QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgIHwgMTUgKysrKysrKy0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzICB8IDI4ICsrKysrKysrLS0tLS0tLS0tLS0tLQotIFJlc291cmNlL0luaXQvZ3NfbGV2Mi5wcyAgfCA1MSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBSZXNvdXJjZS9Jbml0L2dzX2xsMy5wcyAgIHwgIDUgKystLQotIFJlc291cmNlL0luaXQvZ3NfcmVzLnBzICAgfCAyOSArKysrKysrKysrKy0tLS0tLS0tLS0tCi0gUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcyB8ICA0ICstLQotIDYgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLWluZGV4IDg3MDBjOGMuLjNkMmNmN2EgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2RwczEucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfZHBzMS5wcwotQEAgLTMzLDE0ICszMywxNyBAQCBzeXN0ZW1kaWN0IGJlZ2luCi0gCi0gL1NoYXJlZEZvbnREaXJlY3RvcnkgLkZvbnREaXJlY3RvcnkgLmdjaGVjawotICB7IC5jdXJyZW50Z2xvYmFsIC8vZmFsc2UgLnNldGdsb2JhbAotKyAgIGN1cnJlbnRkaWN0Ci0gICAgL0xvY2FsRm9udERpcmVjdG9yeSAuRm9udERpcmVjdG9yeSBkdXAgbWF4bGVuZ3RoIGRpY3QgY29weQotLSAgIC5mb3JjZWRlZgklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsgICAuZm9yY2VwdXQJJSBMb2NhbEZvbnREaXJlY3RvcnkgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0gICAgLnNldGdsb2JhbCAuRm9udERpcmVjdG9yeQotLSB9Ci0tIHsgL0xvY2FsRm9udERpcmVjdG9yeSAuRm9udERpcmVjdG9yeQotLSAgIC5mb3JjZWRlZgklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsgfSBleGVjdXRlb25seQotKyB7Ci0rICAgY3VycmVudGRpY3QKLSsgICAvTG9jYWxGb250RGlyZWN0b3J5IC5Gb250RGlyZWN0b3J5Ci0rICAgLmZvcmNlcHV0CSUgTG9jYWxGb250RGlyZWN0b3J5IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotICAgIDUwIGRpY3QKLS0gfQotKyB9ZXhlY3V0ZW9ubHkKLSBpZmVsc2UgZGVmCi0gCi0gZW5kCQkJCSUgc3lzdGVtZGljdAotQEAgLTU1LDcgKzU4LDcgQEAgbGV2ZWwyZGljdCBiZWdpbgotICAgICB7IC8vU2hhcmVkRm9udERpcmVjdG9yeSB9Ci0gICAgIHsgL0xvY2FsRm9udERpcmVjdG9yeSAuc3lzdGVtdmFyIH0JJSBjYW4ndCBlbWJlZCByZWYgdG8gbG9jYWwgVk0KLSAgICBpZmVsc2UgLmZvcmNlcHV0IHBvcAklIExvY2FsRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLS0gfSAuYmluZCBvZGVmCi0rIH0gLmJpbmQgZXhlY3V0ZW9ubHkgb2RlZgotICUgRG9uJ3QganVzdCBjb3B5IChsb2FkKSB0aGUgZGVmaW5pdGlvbiBvZiAuc2V0Z2xvYmFsOgotICUgaXQgZ2V0cyByZWRlZmluZWQgZm9yIExMMy4KLSAvc2V0c2hhcmVkIHsgLy5zZXRnbG9iYWwgLnN5c3RlbXZhciBleGVjIH0gb2RlZgotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcyBiL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotaW5kZXggZDlhMDgyOS4uNDViZWJmNCAxMDA2NDQKLS0tLSBhL1Jlc291cmNlL0luaXQvZ3NfaW5pdC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19pbml0LnBzCi1AQCAtNTQsNyArNTQsNyBAQCBzeXN0ZW1kaWN0IGV4Y2gKLSAgICBkdXAgL3VzZXJkaWN0Ci0gICAgY3VycmVudGRpY3QgZHVwIDIwMCAuc2V0bWF4bGVuZ3RoCQklIHVzZXJkaWN0Ci0gICAgLmZvcmNlcHV0CQkJJSB1c2VyZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLS0gfQotKyB9IGV4ZWN1dGVvbmx5Ci0gaWYgYmVnaW4KLSAKLSAlIERlZmluZSBkdW1teSBsb2NhbC9nbG9iYWwgb3BlcmF0b3JzIGlmIG5lZWRlZC4KLUBAIC0yOTksMTMgKzI5OSw2IEBAIFFVSUVUIG5vdCB7IHByaW50Z3JlZXRpbmcgZmx1c2ggfSBpZgotICAgMSBpbmRleCBleGNoIC5tYWtlb3BlcmF0b3IgZGVmCi0gfSAuYmluZCBkZWYKLSAKLS0lIERlZmluZSBhIHNwZWNpYWwgdmVyc2lvbiBvZiBkZWYgZm9yIHN0b3JpbmcgbG9jYWwgb2JqZWN0cyBpbnRvIGdsb2JhbAotLSUgZGljdGlvbmFyaWVzLiAgTGlrZSAuZm9yY2VwdXQsIHRoaXMgZXhpc3RzIG9ubHkgZHVyaW5nIGluaXRpYWxpemF0aW9uLgotLS8uZm9yY2VkZWYgewkJJSA8a2V5PiA8dmFsdWU+IC5mb3JjZWRlZiAtCi0tICAxIC5hcmdpbmRleCBwb3AJJSBjaGVjayAjIG9mIGFyZ3MKLS0gIGN1cnJlbnRkaWN0IDMgMSByb2xsIC5mb3JjZXB1dAotLX0gLmJpbmQgb2RlZgotLQotICUgRGVmaW5lIHByb2NlZHVyZXMgZm9yIGFjY2Vzc2luZyB2YXJpYWJsZXMgaW4gc3lzdGVtZGljdCBhbmQgdXNlcmRpY3QKLSAlIHJlZ2FyZGxlc3Mgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBkaWN0aW9uYXJ5IHN0YWNrLgotIC8uc3lzdGVtdmFyIHsJCSUgPG5hbWU+IC5zeXN0ZW12YXIgPHZhbHVlPgotQEAgLTM0Nyw3ICszNDAsNyBAQCBERUxBWUJJTkQKLSAgICAgICAgfQotICAgICAgIGlmZWxzZQotICAgICB9IC5iaW5kIGRlZgotLX0gaWYKLSt9IGV4ZWN1dGVvbmx5IGlmCi0gCi0gJSoqKioqKioqKioqKioqKiogQkFDS1dBUkQgQ09NUEFUSUJJTElUWSAqKioqKioqKioqKioqKioqCi0gL2h3c2l6ZWRpY3QgbWFyayAvSFdTaXplIC8vbnVsbCAuZGljdHRvbWFyayByZWFkb25seSBkZWYKLUBAIC02NTUsNyArNjQ4LDcgQEAgY3VycmVudGRpY3QgLy50eXBlbmFtZXMgLnVuZGVmCi0gICAgICAgL2lmZWxzZSAuc3lzdGVtdmFyCi0gICAgIF0gY3Z4IGV4ZWN1dGVvbmx5Ci0gICBleGNoIC5zZXRnbG9iYWwKLS19IG9kZWYKLSt9IGV4ZWN1dGVvbmx5IG9kZWYKLSBzeXN0ZW1kaWN0IC9pbnRlcm5hbGRpY3QgZHVwIC5tYWtlaW50ZXJuYWxkaWN0IC5tYWtlb3BlcmF0b3IKLSAuZm9yY2VwdXQJCSUgcHJvYyBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLUBAIC0xMDkzLDcgKzEwODYsNyBAQCBkZWYKLSAKLSAlIERlZmluZSAkZXJyb3IuICBUaGlzIG11c3QgYmUgaW4gbG9jYWwgVk0uCi0gLmN1cnJlbnRnbG9iYWwgLy9mYWxzZSAuc2V0Z2xvYmFsCi0tLyRlcnJvciA0MCBkaWN0IC5mb3JjZWRlZgklICRlcnJvciBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCAvJGVycm9yIDQwIGRpY3QgLmZvcmNlcHV0CSUgJGVycm9yIGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotICAgICAgICAgICAgICAgICAlIG5ld2Vycm9yLCBlcnJvcm5hbWUsIGNvbW1hbmQsIGVycm9yaW5mbywKLSAgICAgICAgICAgICAgICAgJSBvc3RhY2ssIGVzdGFjaywgZHN0YWNrLCByZWNvcmRzdGFja3MsCi0gICAgICAgICAgICAgICAgICUgYmluYXJ5LCBnbG9iYWxtb2RlLAotQEAgLTExMTIsOCArMTEwNSw4IEBAIGVuZAotICUgRGVmaW5lIGVycm9yZGljdCBzaW1pbGFybHkuICBJdCBoYXMgb25lIGVudHJ5IHBlciBlcnJvciBuYW1lLAotICUgICBwbHVzIGhhbmRsZWVycm9yLiAgSG93ZXZlciwgc29tZSBhc3RvbmlzaGluZ2x5IGJhZGx5IHdyaXR0ZW4gUG9zdFNjcmlwdAotICUgICBmaWxlcyByZXF1aXJlIGl0IHRvIGhhdmUgYXQgbGVhc3Qgb25lIGVtcHR5IHNsb3QuCi0tL2Vycm9yZGljdCBFcnJvck5hbWVzIGxlbmd0aCAzIGFkZCBkaWN0Ci0tLmZvcmNlZGVmCQklIGVycm9yZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCAvZXJyb3JkaWN0IEVycm9yTmFtZXMgbGVuZ3RoIDMgYWRkIGRpY3QKLSsuZm9yY2VwdXQJCSUgZXJyb3JkaWN0IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotIC5zZXRnbG9iYWwJCSUgYmFjayB0byBnbG9iYWwgVk0KLSAlICBnc2Vycm9yZGljdCBjb250YWlucyBhbGwgdGhlIGRlZmF1bHQgZXJyb3IgaGFuZGxpbmcgbWV0aG9kcywgYnV0IHVubGlrZQotICUgIGVycm9yZGljdCBpdCBpcyBub2FjY2VzcyBhZnRlciBjcmVhdGlvbiAoYWxzbyBpdCBpcyBpbiBnbG9iYWwgVk0pLgotQEAgLTEyNzMsOCArMTI2Niw5IEBAIGVuZAotIChFTkQgUFJPQ1MpIFZNREVCVUcKLSAKLSAlIERlZmluZSB0aGUgZm9udCBkaXJlY3RvcnkuCi0rY3VycmVudGRpY3QKLSAvRm9udERpcmVjdG9yeSAvL2ZhbHNlIC5zZXRnbG9iYWwgMTAwIGRpY3QgLy90cnVlIC5zZXRnbG9iYWwKLS0uZm9yY2VkZWYJCSUgRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSsuZm9yY2VwdXQJCSUgRm9udERpcmVjdG9yeSBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLSAlIERlZmluZSB0aGUgZW5jb2RpbmcgZGljdGlvbmFyeS4KLSAvRW5jb2RpbmdEaXJlY3RvcnkgMTYgZGljdCBkZWYJJSBlbm91Z2ggZm9yIExldmVsIDIgKyBQREYgc3RhbmRhcmQgZW5jb2RpbmdzCi1AQCAtMjMzMyw3ICsyMzI3LDYgQEAgU0FGRVIgeyAuc2V0c2FmZWdsb2JhbCB9IGlmCi0gICAvL3N5c3RlbWRpY3QgL1VuZGVmaW5lUG9zdFNjcmlwdE9wZXJhdG9ycyBnZXQgZXhlYwotICAgLy9zeXN0ZW1kaWN0IC9VbmRlZmluZVBERk9wZXJhdG9ycyBnZXQgZXhlYwotICAgLy9zeXN0ZW1kaWN0IC8uZm9yY2Vjb3B5bmV3IC5mb3JjZXVuZGVmCSUgcmVtb3ZlIHRlbXB0YXRpb24KLS0gIC8vc3lzdGVtZGljdCAvLmZvcmNlZGVmIC5mb3JjZXVuZGVmCQklIGRpdHRvCi0gICAvL3N5c3RlbWRpY3QgLy5mb3JjZXB1dCAuZm9yY2V1bmRlZgkJJSBkaXR0bwotICAgLy9zeXN0ZW1kaWN0IC8udW5kZWYgLmZvcmNldW5kZWYJCSAgICAlIGRpdHRvCi0gICAvL3N5c3RlbWRpY3QgLy5mb3JjZXVuZGVmIC5mb3JjZXVuZGVmCQklIGRpdHRvCi1AQCAtMjM2OCw5ICsyMzYxLDkgQEAgU0FGRVIgeyAuc2V0c2FmZWdsb2JhbCB9IGlmCi0gICAgICAgICAlIChhbmQsIGlmIGltcGxlbWVudGVkLCBjb250ZXh0IHN3aXRjaGluZykuCi0gICAuY3VycmVudGdsb2JhbCAvL2ZhbHNlIC5zZXRnbG9iYWwKLSAgICAgIG1hcmsgdXNlcnBhcmFtcyB7IH0gZm9yYWxsIC5kaWN0dG9tYXJrIHJlYWRvbmx5Ci0tICAgICAvdXNlcnBhcmFtcyBleGNoIC5mb3JjZWRlZgkJJSBzeXN0ZW1kaWN0IGlzIHJlYWQtb25seQotKyAgICAgY3VycmVudGRpY3QgZXhjaCAvdXNlcnBhcmFtcyBleGNoIC5mb3JjZXB1dAkJJSBzeXN0ZW1kaWN0IGlzIHJlYWQtb25seQotICAgLnNldGdsb2JhbAotLX0gaWYKLSt9IGV4ZWN1dGVvbmx5IGlmCi0gLy5jdXJyZW50c3lzdGVtcGFyYW1zIHdoZXJlIHsKLSAgIHBvcAotICAgICAgICAgJSBSZW1vdmUgcmVhbCBzeXN0ZW0gcGFyYW1zIGZyb20gcHNzeXN0ZW1wYXJhbXMuCi1AQCAtMjQ1OCw3ICsyNDUxLDYgQEAgZW5kCi0gREVMQVlCSU5EIG5vdCB7Ci0gICBzeXN0ZW1kaWN0IC8uYmluZG5vdyAudW5kZWYgICAgICAgJSBXZSBvbmx5IG5lZWQgdGhpcyBmb3IgREVMQVlCSU5ECi0gICBzeXN0ZW1kaWN0IC8uZm9yY2Vjb3B5bmV3IC51bmRlZgklIHJlbW92ZSB0ZW1wdGF0aW9uCi0tICBzeXN0ZW1kaWN0IC8uZm9yY2VkZWYgLnVuZGVmCQklIGRpdHRvCi0gICBzeXN0ZW1kaWN0IC8uZm9yY2VwdXQgLnVuZGVmCQklIGRpdHRvCi0gICBzeXN0ZW1kaWN0IC8uZm9yY2V1bmRlZiAudW5kZWYJJSBkaXR0bwotIH0gaWYKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMgYi9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLWluZGV4IDBmMGQ1NzMuLjljMGMzYTYgMTAwNjQ0Ci0tLS0gYS9SZXNvdXJjZS9Jbml0L2dzX2xldjIucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGV2Mi5wcwotQEAgLTMwNCwzMSArMzA0LDMwIEBAIGVuZAotICAgICBwc3VzZXJwYXJhbXMgZXhjaCAvLmNoZWNrRmlsZVBlcm1pdHBhcmFtcyBsb2FkIHB1dAotICAgLnNldGdsb2JhbAotIAotLXBzc3lzdGVtcGFyYW1zIGJlZ2luCi0tICAvQ3VyRGlzcGxheUxpc3QgMCAuZm9yY2VkZWYKLS0gIC9DdXJGb3JtQ2FjaGUgMCAuZm9yY2VkZWYKLS0gIC9DdXJJbnB1dERldmljZSAoKSAuZm9yY2VkZWYKLS0gIC9DdXJPdXRsaW5lQ2FjaGUgMCAuZm9yY2VkZWYKLS0gIC9DdXJPdXRwdXREZXZpY2UgKCkgLmZvcmNlZGVmCi0tICAvQ3VyUGF0dGVybkNhY2hlIDAgLmZvcmNlZGVmCi0tICAvQ3VyVVBhdGhDYWNoZSAwIC5mb3JjZWRlZgotLSAgL0N1clNjcmVlblN0b3JhZ2UgMCAuZm9yY2VkZWYKLS0gIC9DdXJTb3VyY2VMaXN0IDAgLmZvcmNlZGVmCi0tICAvRG9QcmludEVycm9ycyAvL2ZhbHNlIC5mb3JjZWRlZgotLSAgL0pvYlRpbWVvdXQgMCAuZm9yY2VkZWYKLS0gIC9MaWNlbnNlSUQgKExOLTAwMSkgLmZvcmNlZGVmICAgICAlIGJvZ3VzCi0tICAvTWF4RGlzcGxheUxpc3QgMTQwMDAwIC5mb3JjZWRlZgotLSAgL01heEZvcm1DYWNoZSAxMDAwMDAgLmZvcmNlZGVmCi0tICAvTWF4SW1hZ2VCdWZmZXIgNTI0Mjg4IC5mb3JjZWRlZgotLSAgL01heE91dGxpbmVDYWNoZSA2NTAwMCAuZm9yY2VkZWYKLS0gIC9NYXhQYXR0ZXJuQ2FjaGUgMTAwMDAwIC5mb3JjZWRlZgotLSAgL01heFVQYXRoQ2FjaGUgMzAwMDAwIC5mb3JjZWRlZgotLSAgL01heFNjcmVlblN0b3JhZ2UgODQwMDAgLmZvcmNlZGVmCi0tICAvTWF4U291cmNlTGlzdCAyNTAwMCAuZm9yY2VkZWYKLS0gIC9QcmludGVyTmFtZSBwcm9kdWN0IC5mb3JjZWRlZgotLSAgL1JhbVNpemUgNDE5NDMwNCAuZm9yY2VkZWYKLS0gIC9XYWl0VGltZW91dCA0MCAuZm9yY2VkZWYKLS1lbmQKLStwc3N5c3RlbXBhcmFtcwotK2R1cCAvQ3VyRGlzcGxheUxpc3QgMCAuZm9yY2VwdXQKLStkdXAgL0N1ckZvcm1DYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VySW5wdXREZXZpY2UgKCkgLmZvcmNlcHV0Ci0rZHVwIC9DdXJPdXRsaW5lQ2FjaGUgMCAuZm9yY2VwdXQKLStkdXAgL0N1ck91dHB1dERldmljZSAoKSAuZm9yY2VwdXQKLStkdXAgL0N1clBhdHRlcm5DYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyVVBhdGhDYWNoZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyU2NyZWVuU3RvcmFnZSAwIC5mb3JjZXB1dAotK2R1cCAvQ3VyU291cmNlTGlzdCAwIC5mb3JjZXB1dAotK2R1cCAvRG9QcmludEVycm9ycyAvL2ZhbHNlIC5mb3JjZXB1dAotK2R1cCAvSm9iVGltZW91dCAwIC5mb3JjZXB1dAotK2R1cCAvTGljZW5zZUlEIChMTi0wMDEpIC5mb3JjZXB1dCAgICAgJSBib2d1cwotK2R1cCAvTWF4RGlzcGxheUxpc3QgMTQwMDAwIC5mb3JjZXB1dAotK2R1cCAvTWF4Rm9ybUNhY2hlIDEwMDAwMCAuZm9yY2VwdXQKLStkdXAgL01heEltYWdlQnVmZmVyIDUyNDI4OCAuZm9yY2VwdXQKLStkdXAgL01heE91dGxpbmVDYWNoZSA2NTAwMCAuZm9yY2VwdXQKLStkdXAgL01heFBhdHRlcm5DYWNoZSAxMDAwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhVUGF0aENhY2hlIDMwMDAwMCAuZm9yY2VwdXQKLStkdXAgL01heFNjcmVlblN0b3JhZ2UgODQwMDAgLmZvcmNlcHV0Ci0rZHVwIC9NYXhTb3VyY2VMaXN0IDI1MDAwIC5mb3JjZXB1dAotK2R1cCAvUHJpbnRlck5hbWUgcHJvZHVjdCAuZm9yY2VwdXQKLStkdXAgL1JhbVNpemUgNDE5NDMwNCAuZm9yY2VwdXQKLSsgICAgL1dhaXRUaW1lb3V0IDQwIC5mb3JjZXB1dAotIAotICUgRGVmaW5lIHRoZSBwcm9jZWR1cmVzIGZvciBoYW5kbGluZyBjb21tZW50IHNjYW5uaW5nLiAgVGhlIG5hbWVzCi0gJSAlUHJvY2Vzc0NvbW1lbnQgYW5kICVQcm9jZXNzRFNDQ29tbWVudCBhcmUga25vd24gdG8gdGhlIGludGVycHJldGVyLgotQEAgLTcxMCw3ICs3MDksNyBAQCBwb3AJCSUgY3VycmVudHN5c3RlbXBhcmFtcwotIC9zdGF0dXNkaWN0IGN1cnJlbnRkaWN0IGRlZgotIAotIGN1cnJlbnRkaWN0IGVuZAotLS9zdGF0dXNkaWN0IGV4Y2ggLmZvcmNlZGVmCSUgc3RhdHVzZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLStjdXJyZW50ZGljdCBleGNoIC9zdGF0dXNkaWN0IGV4Y2ggLmZvcmNlcHV0CSUgc3RhdHVzZGljdCBpcyBsb2NhbCwgc3lzdGVtZGljdCBpcyBnbG9iYWwKLSAKLSAlIFRoZSBmb2xsb3dpbmcgY29tcGF0aWJpbGl0eSBvcGVyYXRvcnMgYXJlIGluIHN5c3RlbWRpY3QuICBUaGV5IGFyZQotICUgZGVmaW5lZCBoZXJlLCByYXRoZXIgdGhhbiBpbiBnc19pbml0LnBzLCBiZWNhdXNlIHRoZXkgcmVxdWlyZSB0aGUKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX2xsMy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfbGwzLnBzCi1pbmRleCBjODY3MjFmLi44ODFhZjQ0IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19sbDMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfbGwzLnBzCi1AQCAtNTIxLDkgKzUyMSw4IEBAIGVuZAotICUgRGVmaW5lIGFkZGl0aW9uYWwgdXNlciBhbmQgc3lzdGVtIHBhcmFtZXRlcnMuCi0gL0hhbGZ0b25lTW9kZSAwIC5kZWZpbmVwc3VzZXJwYXJhbQotIC9NYXhTdXBlclNjcmVlbiAxMDE2IC5kZWZpbmVwc3VzZXJwYXJhbQotLXBzc3lzdGVtcGFyYW1zIGJlZ2luCQklIHJlYWQtb25seSwgc28gdXNlIC5mb3JjZWRlZgotLSAgL01heERpc3BsYXlBbmRTb3VyY2VMaXN0IDE2MDAwMCAuZm9yY2VkZWYKLS1lbmQKLSslIHJlYWQtb25seSwgc28gdXNlIC5mb3JjZXB1dAotK3Bzc3lzdGVtcGFyYW1zICAvTWF4RGlzcGxheUFuZFNvdXJjZUxpc3QgMTYwMDAwIC5mb3JjZXB1dAotIAotICUgRGVmaW5lIHRoZSBJZGlvbVNldCByZXNvdXJjZSBjYXRlZ29yeS4KLSB7IC9JZGlvbVNldCB9IHsKLWRpZmYgLS1naXQgYS9SZXNvdXJjZS9Jbml0L2dzX3Jlcy5wcyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1pbmRleCBiMDE2MTEzLi44OWMwZWQ2IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19yZXMucHMKLSsrKyBiL1Jlc291cmNlL0luaXQvZ3NfcmVzLnBzCi1AQCAtNDEsMTAgKzQxLDEwIEBAIGxldmVsMmRpY3QgYmVnaW4KLSAlIEhvd2V2ZXIsIEVkIFRhZnQgb2YgQWRvYmUgc2F5cyB0aGVpciBpbnRlcnByZXRlcnMgZG9uJ3QgaW1wbGVtZW50IHRoaXMKLSAlIGVpdGhlciwgc28gd2UgYXJlbid0IGdvaW5nIHRvIHdvcnJ5IGFib3V0IGl0IGZvciBhIHdoaWxlLgotIAotLWN1cnJlbnRnbG9iYWwgLy9mYWxzZSBzZXRnbG9iYWwgc3lzdGVtZGljdCBiZWdpbgotLSAgL2xvY2FsaW5zdGFuY2VkaWN0IDUgZGljdAotLSAgLmZvcmNlZGVmCSUgbG9jYWxpbnN0YW5jZWRpY3QgaXMgbG9jYWwsIHN5c3RlbWRpY3QgaXMgZ2xvYmFsCi0tZW5kIC8vdHJ1ZSBzZXRnbG9iYWwKLStjdXJyZW50Z2xvYmFsIC8vZmFsc2Ugc2V0Z2xvYmFsCi0rICBzeXN0ZW1kaWN0IC9sb2NhbGluc3RhbmNlZGljdCA1IGRpY3QKLSsgIC5mb3JjZXB1dAklIGxvY2FsaW5zdGFuY2VkaWN0IGlzIGxvY2FsLCBzeXN0ZW1kaWN0IGlzIGdsb2JhbAotKy8vdHJ1ZSBzZXRnbG9iYWwKLSAvLmVtcHR5ZGljdCAwIGRpY3QgcmVhZG9ubHkgZGVmCi0gc2V0Z2xvYmFsCi0gCi1AQCAtMTQ5LDcgKzE0OSw3IEBAIHNldGdsb2JhbAotICAgICAgICAgICBkdXAgWyBleGNoIDAgLTEgXSBleGNoCi0gICAgICAgICAgIC5JbnN0YW5jZXMgNCAyIHJvbGwgcHV0Ci0gICAgICAgICAgICAgICAgICUgTWFrZSB0aGUgQ2F0ZWdvcnkgZGljdGlvbmFyeSByZWFkLW9ubHkuICBXZSB3aWxsIGhhdmUgdG8KLS0gICAgICAgICAgICAgICAgJSB1c2UgLmZvcmNlcHV0IC8gLmZvcmNlZGVmIGxhdGVyIHRvIHJlcGxhY2UgdGhlIGR1bW15LAotKyAgICAgICAgICAgICAgICAlIHVzZSAuZm9yY2VwdXQgLyAuZm9yY2VwdXQgbGF0ZXIgdG8gcmVwbGFjZSB0aGUgZHVtbXksCi0gICAgICAgICAgICAgICAgICUgZW1wdHkgLkluc3RhbmNlcyBkaWN0aW9uYXJ5IHdpdGggdGhlIHJlYWwgb25lIGxhdGVyLgotICAgICAgICAgICByZWFkb25seQotICAgICAgICAgfXsKLUBAIC0zMDQsNyArMzA0LDggQEAgc3lzdGVtZGljdCBiZWdpbgotICAgICAgZHVwICgpIG5lIHsKLSAgICAgIC5maWxlX25hbWVfZGlyZWN0b3J5X3NlcGFyYXRvciBjb25jYXRzdHJpbmdzCi0gICAgIH0gaWYKLS0gICAgMiBpbmRleCBleGNoIC8vZmFsc2UgLmZpbGVfbmFtZV9jb21iaW5lIG5vdCB7Ci0rICAgIDIgaW5kZXggZXhjaCAvL2ZhbHNlCi0rICAgIC5maWxlX25hbWVfY29tYmluZSBub3QgewotICAgICAgIChFcnJvcjogLmRlZmF1bHRfcmVzb3VyY2VfZGlyIHJldHVybmVkICkgcHJpbnQgZXhjaCBwcmludCAoIHRoYXQgY2FuJ3QgY29tYmluZSB3aXRoICkgcHJpbnQgPQotICAgICAgIC8uZGVmYXVsdF9yZXNvdXJjZV9kaXIgY3Z4IC9jb25maWd1cmF0aW9uZXJyb3Igc2lnbmFsZXJyb3IKLSAgICAgfSBpZgotQEAgLTMxNywxNCArMzE4LDE0IEBAIGN1cnJlbnRkaWN0IC9wc3N5c3RlbXBhcmFtcyBrbm93biBub3QgewotIHBzc3lzdGVtcGFyYW1zIGJlZ2luCi0gICAvLy5kZWZhdWx0X3Jlc291cmNlX2RpciBleGVjCi0gICAvRm9udFJlc291cmNlRGlyIChGb250KSAvLy5yZXNvdXJjZV9kaXJfbmFtZSBleGVjCi0tICAgICByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0rICAgICByZWFkb25seSBjdXJyZW50ZGljdCAzIDEgcm9sbCAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gICAvR2VuZXJpY1Jlc291cmNlRGlyICgpIC8vLnJlc291cmNlX2Rpcl9uYW1lIGV4ZWMKLS0gICAgIHJlYWRvbmx5IC5mb3JjZWRlZgklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgICAgIHJlYWRvbmx5IGN1cnJlbnRkaWN0IDMgMSByb2xsIC5mb3JjZXB1dAklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSAgIHBvcCAlIC5kZWZhdWx0X3Jlc291cmNlX2RpcgotICAgL0dlbmVyaWNSZXNvdXJjZVBhdGhTZXAKLS0gICAgICAgIC5maWxlX25hbWVfc2VwYXJhdG9yIHJlYWRvbmx5IC5mb3JjZWRlZgkJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAoJWRpc2tGb250UmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlL0ZvbnQvKSByZWFkb25seSAuZm9yY2VkZWYJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0tICAoJWRpc2tHZW5lcmljUmVzb3VyY2VEaXIpIGN2biAoL1Jlc291cmNlLykgcmVhZG9ubHkgLmZvcmNlZGVmCSUgcHNzeXMncGFyYW1zIGlzIHItbwotKyAgICAgICAgLmZpbGVfbmFtZV9zZXBhcmF0b3IgcmVhZG9ubHkgY3VycmVudGRpY3QgMyAxIHJvbGwgLmZvcmNlcHV0CQklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgIGN1cnJlbnRkaWN0ICglZGlza0ZvbnRSZXNvdXJjZURpcikgY3ZuICgvUmVzb3VyY2UvRm9udC8pIHJlYWRvbmx5IC5mb3JjZXB1dAklIHBzc3lzJ3BhcmFtcyBpcyByLW8KLSsgIGN1cnJlbnRkaWN0ICglZGlza0dlbmVyaWNSZXNvdXJjZURpcikgY3ZuICgvUmVzb3VyY2UvKSByZWFkb25seSAuZm9yY2VwdXQJJSBwc3N5cydwYXJhbXMgaXMgci1vCi0gZW5kCi0gZW5kCi0gCi1AQCAtNDIyLDggKzQyMyw4IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICAgICAgIC5JbnN0YW5jZXMgZHVwIC8vLmVtcHR5ZGljdCBlcSB7Ci0gICAgICAgICAgICAgICAgICAgcG9wIDMgZGljdAotICAgICAgICAgICAgICAgICAgICAgICAgICUgQXMgbm90ZWQgYWJvdmUsIENhdGVnb3J5IGRpY3Rpb25hcmllcyBhcmUgcmVhZC1vbmx5LAotLSAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlZGVmIGhlcmUuCi0tICAgICAgICAgICAgICAgICAgLy5JbnN0YW5jZXMgMSBpbmRleCAuZm9yY2VkZWYJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotKyAgICAgICAgICAgICAgICAgICAgICAgICUgc28gd2UgaGF2ZSB0byB1c2UgLmZvcmNlcHV0IGhlcmUuCi0rICAgICAgICAgICAgICAgICAgY3VycmVudGRpY3QgLy5JbnN0YW5jZXMgMiBpbmRleCAuZm9yY2VwdXQJJSBDYXRlZ29yeSBkaWN0IGlzIHJlYWQtb25seQotICAgICAgICAgICAgICAgICB9IGV4ZWN1dGVvbmx5IGlmCi0gICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICB7IC5Mb2NhbEluc3RhbmNlcyBkdXAgLy8uZW1wdHlkaWN0IGVxCi1AQCAtNDQxLDcgKzQ0Miw3IEBAIHN0YXR1cyB7Ci0gICAgICAgICAgICB7IC9kZWZpbmVyZXNvdXJjZSBjdnggL3R5cGVjaGVjayBzaWduYWxvcGVycm9yCi0gICAgICAgICAgICB9Ci0gICAgICAgICBpZmVsc2UKLS19IC5iaW5kIGV4ZWN1dGVvbmx5IC5tYWtlb3BlcmF0b3IJCSUgZXhlY3V0ZW9ubHkgdG8gcHJldmVudCBhY2Nlc3MgdG8gLmZvcmNlZGVmCi0rfSAuYmluZCBleGVjdXRlb25seSAubWFrZW9wZXJhdG9yCQklIGV4ZWN1dGVvbmx5IHRvIHByZXZlbnQgYWNjZXNzIHRvIC5mb3JjZXB1dAotIC9VbmRlZmluZVJlc291cmNlCi0gICAgICAgICB7ICB7IGR1cCAyIGluZGV4IC5rbm93bmdldAotICAgICAgICAgICAgICAgeyBkdXAgMSBnZXQgMSBnZQotZGlmZiAtLWdpdCBhL1Jlc291cmNlL0luaXQvZ3Nfc3RhdGQucHMgYi9SZXNvdXJjZS9Jbml0L2dzX3N0YXRkLnBzCi1pbmRleCAyMGQ0Yzk2Li5iNmE3NjU5IDEwMDY0NAotLS0tIGEvUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcwotKysrIGIvUmVzb3VyY2UvSW5pdC9nc19zdGF0ZC5wcwotQEAgLTIxLDEwICsyMSwxMCBAQCBzeXN0ZW1kaWN0IGJlZ2luCi0gICAgICAgICAlIFdlIG1ha2Ugc3RhdHVzZGljdCBhIGxpdHRsZSBsYXJnZXIgZm9yIExldmVsIDIgc3R1ZmYuCi0gICAgICAgICAlIE5vdGUgdGhhdCBpdCBtdXN0IGJlIGFsbG9jYXRlZCBpbiBsb2NhbCBWTS4KLSAgLmN1cnJlbnRnbG9iYWwgLy9mYWxzZSAuc2V0Z2xvYmFsCi0tIC9zdGF0dXNkaWN0IDkxIGRpY3QgLmZvcmNlZGVmCQklIHN0YXR1c2RpY3QgaXMgbG9jYWwsIHN5cydkaWN0IGdsb2JhbAotKyBjdXJyZW50ZGljdCAvc3RhdHVzZGljdCA5MSBkaWN0IC5mb3JjZXB1dAkJJSBzdGF0dXNkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSAgICAgICAgICUgVG8gc3VwcG9ydCB0aGUgTGV2ZWwgMiBqb2IgY29udHJvbCBmZWF0dXJlcywKLSAgICAgICAgICUgc2VydmVyZGljdCBtdXN0IGFsc28gYmUgaW4gbG9jYWwgVk0uCi0tIC9zZXJ2ZXJkaWN0IDEwIGRpY3QgLmZvcmNlZGVmCQklIHNlcnZlcmRpY3QgaXMgbG9jYWwsIHN5cydkaWN0IGdsb2JhbAotKyBjdXJyZW50ZGljdCAvc2VydmVyZGljdCAxMCBkaWN0IC5mb3JjZXB1dAkJJSBzZXJ2ZXJkaWN0IGlzIGxvY2FsLCBzeXMnZGljdCBnbG9iYWwKLSAgLnNldGdsb2JhbAotIGVuZAotIAotLS0gCi0yLjE4LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMjYuYmIKaW5kZXggYWQ0YzVlMS4uNWNhOTc4ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4yNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdF85LjI2LmJiCkBAIC0zMiwxMyArMzIsNiBAQAogICAgICAgICAgICBmaWxlOi8vZ2hvc3RzY3JpcHQtOS4wMi1nZW5hcmNoLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL29iamFyY2guaCBcCiAgICAgICAgICAgIGZpbGU6Ly9jdXBzLW5vLWdjcnlwdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDAyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktNjExNi0wMDA1LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTYxMTYtMDAwNi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02MTE2LTAwMDcucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFNSQ19VUklfY2xhc3MtbmF0aXZlID0gIiR7U1JDX1VSSV9CQVNFfSBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTFhNGJhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotRnJvbSBiOTU2NWRjMmZlMGM0ZjdkYWFlYzkxYjdlODNiYzczMTNkZWUyZjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgMTMgQXByIDIwMTUgMTc6MDI6MTMgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gVW5zZXQgbmVlZF9jaGFyc2V0X2FsaWFzIHdoZW4gYnVpbGRpbmcgZm9yIG11c2wKLQotbG9jYWxjaGFyc2V0IHVzZXMgYWNfY3ZfZ251X2xpYnJhcnlfMl8xIGZyb20gZ2xpYmMyMS5tNAotd2hpY2ggYWN0dWFsbHkgc2hvdWRsIGJlIGZpeGVkIGluIGdudWxpYiBhbmQgdGhlbiBhbGwgZG93bnN0cmVhbQotcHJvamVjdHMgd2lsbCBnZXQgaXQgZXZlbnR1YWxseS4gRm9yIG5vdyB3ZSBhcHBseSB0aGUgZml4IHRvCi1jb3JldXRpbHMKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBsaWIvZ251bGliLm1rIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliL2dudWxpYi5tayBiL2xpYi9nbnVsaWIubWsKLWluZGV4IGUxZDc0ZGIuLmMwZTkyZGQgMTAwNjQ0Ci0tLS0gYS9saWIvZ251bGliLm1rCi0rKysgYi9saWIvZ251bGliLm1rCi1AQCAtMTg4Miw3ICsxODgyLDcgQEAgaW5zdGFsbC1leGVjLWxvY2FsY2hhcnNldDogYWxsLWxvY2FsCi0gCSAgY2FzZSAnJChob3N0X29zKScgaW4gXAotIAkgICAgZGFyd2luWzU2XSopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXAotLQkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikgXAotKwkgICAgZGFyd2luKiB8IGN5Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKiB8IGxpbnV4LW11c2wqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz1mYWxzZSA7OyBcCi0gCSAgICAqKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxODEwZGMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLVNVTU1BUlkgPSAiR05VIGdyZXAgdXRpbGl0eSIKLUhPTUVQQUdFID0gImh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL3Byb2plY3RzL2dyZXAvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vc2F2YW5uYWguZ251Lm9yZy9idWdzLz9ncm91cD1ncmVwIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTgwMDZkOWM4MTQyNzdjMWJmYzRjYTIyYWY5NGI1OWVlIgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3JlcC9ncmVwLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmZWNhN2IzZTdjN2Y0YWFiMmI0MmVjYmZjNTEzYjA3MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjYyNWM3YWIzYmIzZWU3NTdiMzkyNmE1Y2ZhOGQ5ZTFjMzk5MWFkMjQ3MDdhODNkZGU4YTVlZjJiZjdhMDdlIgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gcGtnY29uZmlnCi0KLSMgRml4ICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvciB3aGVuIGxlbihUTVBESVIpID0gNDEwCi1hY3BhdGhzID0gIi1JIC4vbTQiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQlybSAtZiAke1N9L200L2luaXQubTQKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLQlpZiBbICIke2Jhc2VfYmluZGlyfSIgIT0gIiR7YmluZGlyfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1kICR7RH0ke2Jhc2VfYmluZGlyfQotCQltdiAke0R9JHtiaW5kaXJ9L2dyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2dyZXAKLQkJbXYgJHtEfSR7YmluZGlyfS9lZ3JlcCAke0R9JHtiYXNlX2JpbmRpcn0vZWdyZXAKLQkJbXYgJHtEfSR7YmluZGlyfS9mZ3JlcCAke0R9JHtiYXNlX2JpbmRpcn0vZmdyZXAKLQkJcm1kaXIgJHtEfSR7YmluZGlyfS8KLQlmaQotfQotCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInBjcmUiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0tZW5hYmxlLXBlcmwtcmVnZXhwLC0tZGlzYWJsZS1wZXJsLXJlZ2V4cCxsaWJwY3JlIgotCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gImdyZXAgZWdyZXAgZmdyZXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZ3JlcF0gPSAiJHtiYXNlX2JpbmRpcn0vZ3JlcCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtlZ3JlcF0gPSAiJHtiYXNlX2JpbmRpcn0vZWdyZXAiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbZmdyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2ZncmVwIgotCi1leHBvcnQgQ09ORklHX1NIRUxMPSIvYmluL3NoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzMuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA0YTNlYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8zLjMuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJHTlUgZ3JlcCB1dGlsaXR5IgorSE9NRVBBR0UgPSAiaHR0cDovL3NhdmFubmFoLmdudS5vcmcvcHJvamVjdHMvZ3JlcC8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9zYXZhbm5haC5nbnUub3JnL2J1Z3MvP2dyb3VwPWdyZXAiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWViYmQzZTM0MjM3YWYyNmRhNWRjMDhhNGU0NDA0NjQiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9ncmVwL2dyZXAtJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDVkMDcxOGExYjdjYzcwNmE0YmRmODExNTM2M2YxZWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjk2MDU0MWM0OTk2MTllZmQ2YWZlMWZhNzk1NDAyZTQ3MzNjOGUxMWViZjlmYWZjY2MwYmI0YmNjZGM1YjUxNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIHBrZ2NvbmZpZworCisjIEZpeCAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBsZW4oVE1QRElSKSA9IDQxMAorYWNwYXRocyA9ICItSSAuL200IgorCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJcm0gLWYgJHtTfS9tNC9pbml0Lm00Cit9CisKK2RvX2luc3RhbGwgKCkgeworCWF1dG90b29sc19kb19pbnN0YWxsCisJaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KKwkJaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKwkJbXYgJHtEfSR7YmluZGlyfS9ncmVwICR7RH0ke2Jhc2VfYmluZGlyfS9ncmVwCisJCW12ICR7RH0ke2JpbmRpcn0vZWdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2VncmVwCisJCW12ICR7RH0ke2JpbmRpcn0vZmdyZXAgJHtEfSR7YmFzZV9iaW5kaXJ9L2ZncmVwCisJCXJtZGlyICR7RH0ke2JpbmRpcn0vCisJZmkKK30KKworaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwY3JlIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wZXJsLXJlZ2V4cCwtLWRpc2FibGUtcGVybC1yZWdleHAsbGlicGNyZSIKKworQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJncmVwIGVncmVwIGZncmVwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2dyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2dyZXAiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbZWdyZXBdID0gIiR7YmFzZV9iaW5kaXJ9L2VncmVwIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2ZncmVwXSA9ICIke2Jhc2VfYmluZGlyfS9mZ3JlcCIKKworZXhwb3J0IENPTkZJR19TSEVMTD0iL2Jpbi9zaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvd3JvbmctcGF0aC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS4xMC93cm9uZy1wYXRoLWZpeC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS93cm9uZy1wYXRoLWZpeC5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuMTAvd3JvbmctcGF0aC1maXgucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjkvZ251bGliLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS9nbnVsaWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzY2RkNzIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuOS9nbnVsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODkgKzAsMCBAQAotRnJvbSAxODMxNjI4YzA2MzBhZTk2YTQzNTg2YjJhMjVjYTUxY2JkYmEzZTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUGF1bCBFZ2dlcnQgPGFkZHJlc3NAaGlkZGVuPgotRGF0ZTogTW9uLCA1IE1hciAyMDE4IDEwOjU2OjI5IC0wODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZmbHVzaDogYWRqdXN0IHRvIGdsaWJjIDIuMjggbGliaW8uaCByZW1vdmFsCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVByb2JsZW0gcmVwb3J0ZWQgYnkgRGFuaWVsIFAuIEJlcnJhbmfDqSBpbjoKLWh0dHBzOi8vbGlzdHMuZ251Lm9yZy9yL2J1Zy1nbnVsaWIvMjAxOC0wMy9tc2cwMDAwMC5odG1sCi0qIGxpYi9mYnVmbW9kZS5jIChmYnVmbW9kZSk6Ci0qIGxpYi9mZmx1c2guYyAoY2xlYXJfdW5nZXRjX2J1ZmZlcl9wcmVzZXJ2aW5nX3Bvc2l0aW9uKQotKGRpc2FibGVfc2Vla19vcHRpbWl6YXRpb24sIHJwbF9mZmx1c2gpOgotKiBsaWIvZnBlbmRpbmcuYyAoX19mcGVuZGluZyk6Ci0qIGxpYi9mcHVyZ2UuYyAoZnB1cmdlKToKLSogbGliL2ZyZWFkYWJsZS5jIChmcmVhZGFibGUpOgotKiBsaWIvZnJlYWRhaGVhZC5jIChmcmVhZGFoZWFkKToKLSogbGliL2ZyZWFkaW5nLmMgKGZyZWFkaW5nKToKLSogbGliL2ZyZWFkcHRyLmMgKGZyZWFkcHRyKToKLSogbGliL2ZyZWFkc2Vlay5jIChmcmVhZHB0cmluYyk6Ci0qIGxpYi9mc2Vla28uYyAoZnNlZWtvKToKLSogbGliL2ZzZXRlcnIuYyAoZnNldGVycik6Ci0qIGxpYi9md3JpdGFibGUuYyAoZndyaXRhYmxlKToKLSogbGliL2Z3cml0aW5nLmMgKGZ3cml0aW5nKToKLUNoZWNrIF9JT19FT0ZfU0VFTiBpbnN0ZWFkIG9mIF9JT19mdHJ5bG9ja2ZpbGUuCi0qIGxpYi9zdGRpby1pbXBsLmggKF9JT19JTl9CQUNLVVApIFtfSU9fRU9GX1NFRU5dOgotRGVmaW5lIGlmIG5vdCBhbHJlYWR5IGRlZmluZWQuCi0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0gQ2hhbmdlTG9nICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysrKysrKysrCi0gbGliL2ZidWZtb2RlLmMgICB8ICAyICstCi0gbGliL2ZmbHVzaC5jICAgICB8ICA2ICsrKy0tLQotIGxpYi9mcGVuZGluZy5jICAgfCAgMiArLQotIGxpYi9mcHVyZ2UuYyAgICAgfCAgMiArLQotIGxpYi9mcmVhZGFibGUuYyAgfCAgMiArLQotIGxpYi9mcmVhZGFoZWFkLmMgfCAgMiArLQotIGxpYi9mcmVhZGluZy5jICAgfCAgMiArLQotIGxpYi9mcmVhZHB0ci5jICAgfCAgMiArLQotIGxpYi9mcmVhZHNlZWsuYyAgfCAgMiArLQotIGxpYi9mc2Vla28uYyAgICAgfCAgNCArKy0tCi0gbGliL2ZzZXRlcnIuYyAgICB8ICAyICstCi0gbGliL2Z3cml0YWJsZS5jICB8ICAyICstCi0gbGliL2Z3cml0aW5nLmMgICB8ICAyICstCi0gbGliL3N0ZGlvLWltcGwuaCB8ICA2ICsrKysrKwotIDE1IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1JbmRleDogZ3ppcC0xLjkvQ2hhbmdlTG9nCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9DaGFuZ2VMb2cKLSsrKyBnemlwLTEuOS9DaGFuZ2VMb2cKLUBAIC0xLDMgKzEsMjYgQEAKLSsyMDE4LTAzLTA1ICBQYXVsIEVnZ2VydCAgPGFkZHJlc3NAaGlkZGVuPgotKwotKwlmZmx1c2g6IGFkanVzdCB0byBnbGliYyAyLjI4IGxpYmlvLmggcmVtb3ZhbAotKwlQcm9ibGVtIHJlcG9ydGVkIGJ5IERhbmllbCBQLiBCZXJyYW5nw6kgaW46Ci0rCWh0dHBzOi8vbGlzdHMuZ251Lm9yZy9yL2J1Zy1nbnVsaWIvMjAxOC0wMy9tc2cwMDAwMC5odG1sCi0rCSogbGliL2ZidWZtb2RlLmMgKGZidWZtb2RlKToKLSsJKiBsaWIvZmZsdXNoLmMgKGNsZWFyX3VuZ2V0Y19idWZmZXJfcHJlc2VydmluZ19wb3NpdGlvbikKLSsJKGRpc2FibGVfc2Vla19vcHRpbWl6YXRpb24sIHJwbF9mZmx1c2gpOgotKwkqIGxpYi9mcGVuZGluZy5jIChfX2ZwZW5kaW5nKToKLSsJKiBsaWIvZnB1cmdlLmMgKGZwdXJnZSk6Ci0rCSogbGliL2ZyZWFkYWJsZS5jIChmcmVhZGFibGUpOgotKwkqIGxpYi9mcmVhZGFoZWFkLmMgKGZyZWFkYWhlYWQpOgotKwkqIGxpYi9mcmVhZGluZy5jIChmcmVhZGluZyk6Ci0rCSogbGliL2ZyZWFkcHRyLmMgKGZyZWFkcHRyKToKLSsJKiBsaWIvZnJlYWRzZWVrLmMgKGZyZWFkcHRyaW5jKToKLSsJKiBsaWIvZnNlZWtvLmMgKGZzZWVrbyk6Ci0rCSogbGliL2ZzZXRlcnIuYyAoZnNldGVycik6Ci0rCSogbGliL2Z3cml0YWJsZS5jIChmd3JpdGFibGUpOgotKwkqIGxpYi9md3JpdGluZy5jIChmd3JpdGluZyk6Ci0rCUNoZWNrIF9JT19FT0ZfU0VFTiBpbnN0ZWFkIG9mIF9JT19mdHJ5bG9ja2ZpbGUuCi0rCSogbGliL3N0ZGlvLWltcGwuaCAoX0lPX0lOX0JBQ0tVUCkgW19JT19FT0ZfU0VFTl06Ci0rCURlZmluZSBpZiBub3QgYWxyZWFkeSBkZWZpbmVkLgotKwotIDIwMTgtMDEtMDcgIEppbSBNZXllcmluZyAgPG1leWVyaW5nQGZiLmNvbT4KLSAKLSAJdmVyc2lvbiAxLjkKLUluZGV4OiBnemlwLTEuOS9saWIvZmZsdXNoLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mZmx1c2guYwotKysrIGd6aXAtMS45L2xpYi9mZmx1c2guYwotQEAgLTMzLDcgKzMzLDcgQEAKLSAjdW5kZWYgZmZsdXNoCi0gCi0gCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAKLSAvKiBDbGVhciB0aGUgc3RyZWFtJ3MgdW5nZXRjIGJ1ZmZlciwgcHJlc2VydmluZyB0aGUgdmFsdWUgb2YgZnRlbGxvIChmcCkuICAqLwotIHN0YXRpYyB2b2lkCi1AQCAtNzIsNyArNzIsNyBAQCBjbGVhcl91bmdldGNfYnVmZmVyIChGSUxFICpmcCkKLSAKLSAjZW5kaWYKLSAKLS0jaWYgISAoZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8pCi0rI2lmICEgKGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8pCi0gCi0gIyBpZiAoZGVmaW5lZCBfX3NmZXJyb3IgfHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIHx8IGRlZmluZWQgX19BTkRST0lEX18pICYmIGRlZmluZWQgX19TTlBUCi0gLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hYyBPUyBYLCBDeWd3aW4sIE1pbml4IDMsIEFuZHJvaWQgKi8KLUBAIC0xNDgsNyArMTQ4LDcgQEAgcnBsX2ZmbHVzaCAoRklMRSAqc3RyZWFtKQotICAgaWYgKHN0cmVhbSA9PSBOVUxMIHx8ICEgZnJlYWRpbmcgKHN0cmVhbSkpCi0gICAgIHJldHVybiBmZmx1c2ggKHN0cmVhbSk7Ci0gCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAKLSAgIGNsZWFyX3VuZ2V0Y19idWZmZXJfcHJlc2VydmluZ19wb3NpdGlvbiAoc3RyZWFtKTsKLSAKLUluZGV4OiBnemlwLTEuOS9saWIvZnB1cmdlLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mcHVyZ2UuYwotKysrIGd6aXAtMS45L2xpYi9mcHVyZ2UuYwotQEAgLTYyLDcgKzYyLDcgQEAgZnB1cmdlIChGSUxFICpmcCkKLSAgIC8qIE1vc3Qgc3lzdGVtcyBwcm92aWRlIEZJTEUgYXMgYSBzdHJ1Y3QgYW5kIHRoZSBuZWNlc3NhcnkgYml0bWFzayBpbgotICAgICAgPHN0ZGlvLmg+LCBiZWNhdXNlIHRoZXkgbmVlZCBpdCBmb3IgaW1wbGVtZW50aW5nIGdldGMoKSBhbmQgcHV0YygpIGFzCi0gICAgICBmYXN0IG1hY3Jvcy4gICovCi0tIyBpZiBkZWZpbmVkIF9JT19mdHJ5bG9ja2ZpbGUgfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotKyMgaWYgZGVmaW5lZCBfSU9fRU9GX1NFRU4gfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotICAgZnAtPl9JT19yZWFkX2VuZCA9IGZwLT5fSU9fcmVhZF9wdHI7Ci0gICBmcC0+X0lPX3dyaXRlX3B0ciA9IGZwLT5fSU9fd3JpdGVfYmFzZTsKLSAgIC8qIEF2b2lkIG1lbW9yeSBsZWFrIHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIHVuZ2V0YyBidWZmZXIuICAqLwotSW5kZXg6IGd6aXAtMS45L2xpYi9mcmVhZGluZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnJlYWRpbmcuYwotKysrIGd6aXAtMS45L2xpYi9mcmVhZGluZy5jCi1AQCAtMzEsNyArMzEsNyBAQCBmcmVhZGluZyAoRklMRSAqZnApCi0gICAvKiBNb3N0IHN5c3RlbXMgcHJvdmlkZSBGSUxFIGFzIGEgc3RydWN0IGFuZCB0aGUgbmVjZXNzYXJ5IGJpdG1hc2sgaW4KLSAgICAgIDxzdGRpby5oPiwgYmVjYXVzZSB0aGV5IG5lZWQgaXQgZm9yIGltcGxlbWVudGluZyBnZXRjKCkgYW5kIHB1dGMoKSBhcwotICAgICAgZmFzdCBtYWNyb3MuICAqLwotLSMgaWYgZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSsjIGlmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIHJldHVybiAoKGZwLT5fZmxhZ3MgJiBfSU9fTk9fV1JJVEVTKSAhPSAwCi0gICAgICAgICAgIHx8ICgoZnAtPl9mbGFncyAmIChfSU9fTk9fUkVBRFMgfCBfSU9fQ1VSUkVOVExZX1BVVFRJTkcpKSA9PSAwCi0gICAgICAgICAgICAgICAmJiBmcC0+X0lPX3JlYWRfYmFzZSAhPSBOVUxMKSk7Ci1JbmRleDogZ3ppcC0xLjkvbGliL2ZzZWVrby5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ3ppcC0xLjkub3JpZy9saWIvZnNlZWtvLmMKLSsrKyBnemlwLTEuOS9saWIvZnNlZWtvLmMKLUBAIC00Nyw3ICs0Nyw3IEBAIGZzZWVrbyAoRklMRSAqZnAsIG9mZl90IG9mZnNldCwgaW50IHdoZW4KLSAjZW5kaWYKLSAKLSAgIC8qIFRoZXNlIHRlc3RzIGFyZSBiYXNlZCBvbiBmcHVyZ2UuYy4gICovCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIGlmIChmcC0+X0lPX3JlYWRfZW5kID09IGZwLT5fSU9fcmVhZF9wdHIKLSAgICAgICAmJiBmcC0+X0lPX3dyaXRlX3B0ciA9PSBmcC0+X0lPX3dyaXRlX2Jhc2UKLSAgICAgICAmJiBmcC0+X0lPX3NhdmVfYmFzZSA9PSBOVUxMKQotQEAgLTEyMyw3ICsxMjMsNyBAQCBmc2Vla28gKEZJTEUgKmZwLCBvZmZfdCBvZmZzZXQsIGludCB3aGVuCi0gICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgIH0KLSAKLS0jaWYgZGVmaW5lZCBfSU9fZnRyeWxvY2tmaWxlIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSsjaWYgZGVmaW5lZCBfSU9fRU9GX1NFRU4gfHwgX19HTlVfTElCUkFSWV9fID09IDEgLyogR05VIGxpYmMsIEJlT1MsIEhhaWt1LCBMaW51eCBsaWJjNSAqLwotICAgICAgIGZwLT5fZmxhZ3MgJj0gfl9JT19FT0ZfU0VFTjsKLSAgICAgICBmcC0+X29mZnNldCA9IHBvczsKLSAjZWxpZiBkZWZpbmVkIF9fc2ZlcnJvciB8fCBkZWZpbmVkIF9fRHJhZ29uRmx5X18gfHwgZGVmaW5lZCBfX0FORFJPSURfXwotSW5kZXg6IGd6aXAtMS45L2xpYi9mc2V0ZXJyLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9mc2V0ZXJyLmMKLSsrKyBnemlwLTEuOS9saWIvZnNldGVyci5jCi1AQCAtMjksNyArMjksNyBAQCBmc2V0ZXJyIChGSUxFICpmcCkKLSAgIC8qIE1vc3Qgc3lzdGVtcyBwcm92aWRlIEZJTEUgYXMgYSBzdHJ1Y3QgYW5kIHRoZSBuZWNlc3NhcnkgYml0bWFzayBpbgotICAgICAgPHN0ZGlvLmg+LCBiZWNhdXNlIHRoZXkgbmVlZCBpdCBmb3IgaW1wbGVtZW50aW5nIGdldGMoKSBhbmQgcHV0YygpIGFzCi0gICAgICBmYXN0IG1hY3Jvcy4gICovCi0tI2lmIGRlZmluZWQgX0lPX2Z0cnlsb2NrZmlsZSB8fCBfX0dOVV9MSUJSQVJZX18gPT0gMSAvKiBHTlUgbGliYywgQmVPUywgSGFpa3UsIExpbnV4IGxpYmM1ICovCi0rI2lmIGRlZmluZWQgX0lPX0VPRl9TRUVOIHx8IF9fR05VX0xJQlJBUllfXyA9PSAxIC8qIEdOVSBsaWJjLCBCZU9TLCBIYWlrdSwgTGludXggbGliYzUgKi8KLSAgIGZwLT5fZmxhZ3MgfD0gX0lPX0VSUl9TRUVOOwotICNlbGlmIGRlZmluZWQgX19zZmVycm9yIHx8IGRlZmluZWQgX19EcmFnb25GbHlfXyB8fCBkZWZpbmVkIF9fQU5EUk9JRF9fCi0gICAvKiBGcmVlQlNELCBOZXRCU0QsIE9wZW5CU0QsIERyYWdvbkZseSwgTWFjIE9TIFgsIEN5Z3dpbiwgTWluaXggMywgQW5kcm9pZCAqLwotSW5kZXg6IGd6aXAtMS45L2xpYi9zdGRpby1pbXBsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnemlwLTEuOS5vcmlnL2xpYi9zdGRpby1pbXBsLmgKLSsrKyBnemlwLTEuOS9saWIvc3RkaW8taW1wbC5oCi1AQCAtMTgsNiArMTgsMTIgQEAKLSAgICB0aGUgc2FtZSBpbXBsZW1lbnRhdGlvbiBvZiBzdGRpbyBleHRlbnNpb24gQVBJLCBleGNlcHQgdGhhdCBzb21lIGZpZWxkcwotICAgIGhhdmUgZGlmZmVyZW50IG5hbWluZyBjb252ZW50aW9ucywgb3IgdGhlaXIgYWNjZXNzIHJlcXVpcmVzIHNvbWUgY2FzdHMuICAqLwotIAotKy8qIEdsaWJjIDIuMjggbWFkZSBfSU9fSU5fQkFDS1VQIHByaXZhdGUuICBGb3Igbm93LCB3b3JrIGFyb3VuZCB0aGlzCi0rICAgcHJvYmxlbSBieSBkZWZpbmluZyBpdCBvdXJzZWx2ZXMuICBGSVhNRTogRG8gbm90IHJlbHkgb24gZ2xpYmMKLSsgICBpbnRlcm5hbHMuICAqLwotKyNpZiAhZGVmaW5lZCBfSU9fSU5fQkFDS1VQICYmIGRlZmluZWQgX0lPX0VPRl9TRUVOCi0rIyBkZWZpbmUgX0lPX0lOX0JBQ0tVUCAweDEwMAotKyNlbmRpZgotIAotIC8qIEJTRCBzdGRpbyBkZXJpdmVkIGltcGxlbWVudGF0aW9ucy4gICovCi0gCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcF8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZGU5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS4xMC5iYgpAQCAtMCwwICsxLDM4IEBACityZXF1aXJlIGd6aXAuaW5jCisKK0xJQ0VOU0UgPSAiR1BMdjMrIgorCitTUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ3ppcC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAiCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGZpbGU6Ly93cm9uZy1wYXRoLWZpeC5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3ppcC5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjA7bWQ1PTZlNDdjYWFhNjMwZTBjOGJmOWYxYmM4ZDk0YThlZDBlIgorCitQUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBnemlwLXJlcGxhY2VtZW50LW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK2luaGVyaXQgcHRlc3QKKworZG9faW5zdGFsbF9wdGVzdCgpIHsKKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvYnVpbGQtYXV4CisJY3AgJHtTfS9idWlsZC1hdXgvdGVzdC1kcml2ZXIgJHtEfSR7UFRFU1RfUEFUSH0vc3JjL2J1aWxkLWF1eC8KKwlta2RpciAtcCAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMKKwljcCAtciAke1N9L3Rlc3RzLyogJHtEfSR7UFRFU1RfUEFUSH0vc3JjL3Rlc3RzCisJc2VkIC1lICdzL15hYnNfc3JjZGlyID0gLi4qL2Fic19zcmNkaXIgPSBcLlwuLycgXAorICAgICAgICAgICAgLWUgJ3MvXnRvcF9zcmNkaXIgPSAuLiovdG9wX3NyY2RpciA9IFwuXC4vJyBcCisgICAgICAgICAgICAtZSAncy9eR1JFUCA9IC4uKi9HUkVQID0gZ3JlcC8nICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzL15BV0sgPSAuLiovQVdLID0gYXdrLycgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgLWUgJ3MvXnNyY2RpciA9IC4uKi9zcmNkaXIgPSBcLi8nICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAncy9eTWFrZWZpbGU6IC4uKi9NYWtlZmlsZTogLycgICAgICAgICAgIFwKKyAgICAgICAgICAgIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnICAgXAorICAgICAgICAgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAorICAgICAgICAgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAtZSAnczoke0JBU0VfV09SS0RJUn0vJHtNVUxUSU1BQ0hfVEFSR0VUX1NZU306OmcnIFwKKyAgICAgICAgICAgICR7Qn0vdGVzdHMvTWFrZWZpbGUgPiAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMvTWFrZWZpbGUKK30KKworU1JDX1VSSVttZDVzdW1dID0gImNmOWVlNTFhZmYxNjdmZjY5ODQ0ZDVkN2Q3MWM4YjIwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5MWY3NDQzMGJmN2JjMjA0MDJlMWY2NTdkMGIyNTJjYjgwYWE2NmJhMzMzYTI1NzA0NTEyYWYzNDY2MzNjNjgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTlmNjU4Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcmVxdWlyZSBnemlwLmluYwotCi1MSUNFTlNFID0gIkdQTHYzKyIKLQotU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2d6aXAvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9nbnVsaWIucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgZmlsZTovL3dyb25nLXBhdGgtZml4LnBhdGNoIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nemlwLmg7YmVnaW5saW5lPTg7ZW5kbGluZT0yMDttZDU9NmU0N2NhYWE2MzBlMGM4YmY5ZjFiYzhkOTRhOGVkMGUiCi0KLVBST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIGd6aXAtcmVwbGFjZW1lbnQtbmF0aXZlIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotaW5oZXJpdCBwdGVzdAotCi1kb19pbnN0YWxsX3B0ZXN0KCkgewotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L3NyYy9idWlsZC1hdXgKLQljcCAke1N9L2J1aWxkLWF1eC90ZXN0LWRyaXZlciAke0R9JHtQVEVTVF9QQVRIfS9zcmMvYnVpbGQtYXV4LwotCW1rZGlyIC1wICR7RH0ke1BURVNUX1BBVEh9L3NyYy90ZXN0cwotCWNwIC1yICR7U30vdGVzdHMvKiAke0R9JHtQVEVTVF9QQVRIfS9zcmMvdGVzdHMKLQlzZWQgLWUgJ3MvXmFic19zcmNkaXIgPSAuLiovYWJzX3NyY2RpciA9IFwuXC4vJyBcCi0gICAgICAgICAgICAtZSAncy9edG9wX3NyY2RpciA9IC4uKi90b3Bfc3JjZGlyID0gXC5cLi8nIFwKLSAgICAgICAgICAgIC1lICdzL15HUkVQID0gLi4qL0dSRVAgPSBncmVwLycgICAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MvXkFXSyA9IC4uKi9BV0sgPSBhd2svJyAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAtZSAncy9ec3JjZGlyID0gLi4qL3NyY2RpciA9IFwuLycgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzL15NYWtlZmlsZTogLi4qL01ha2VmaWxlOiAvJyAgICAgICAgICAgXAotICAgICAgICAgICAgLWUgJ3MsLS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfSwsZycgICBcCi0gICAgICAgICAgICAtZSAnc3wke0RFQlVHX1BSRUZJWF9NQVB9fHxnJyBcCi0gICAgICAgICAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIC1lICdzOiR7QkFTRV9XT1JLRElSfS8ke01VTFRJTUFDSF9UQVJHRVRfU1lTfTo6ZycgXAotICAgICAgICAgICAgJHtCfS90ZXN0cy9NYWtlZmlsZSA+ICR7RH0ke1BURVNUX1BBVEh9L3NyYy90ZXN0cy9NYWtlZmlsZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiOTI5ZDZhNmI4MzJmNzViMjhlM2VlZWFmYjMwYzFkOWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWQyZDNhMzQzMmVmMzJmMjRjZGIwNjBkMjc4ODM0NTA3YjQ4MWE3NWFkZWNhMTg4NTBjNzM1OTJmNzc4ZjZhZCIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU2LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzkzMmFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2hkcGFybS9oZHBhcm1fOS41Ni5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLVNVTU1BUlkgPSAiVXRpbGl0eSBmb3Igdmlld2luZy9tYW5pcHVsYXRpbmcgSURFIGRpc2sgZHJpdmUvZHJpdmVyIHBhcmFtZXRlcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2hkcGFybS8iCi1ERVNDUklQVElPTiA9ICJoZHBhcm0gaXMgYSBMaW51eCBzaGVsbCB1dGlsaXR5IGZvciB2aWV3aW5nIFwKLWFuZCBtYW5pcHVsYXRpbmcgdmFyaW91cyBJREUgZHJpdmUgYW5kIGRyaXZlciBwYXJhbWV0ZXJzLiIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLQotTElDRU5TRSA9ICJCU0QgJiBHUEx2MiIKLUxJQ0VOU0VfJHtQTn0gPSAiQlNEIgotTElDRU5TRV8ke1BOfS1kYmcgPSAiQlNEIgotTElDRU5TRV93aXBlciA9ICJHUEx2MiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PTQ5NWQwM2U1MGRjNmM4OWQ2YTMwMTA3YWIwZGY1YjAzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWE4MmQ3YmEzYWRlOWU4ZWM5MDI3NDlkYjk4YzU5MmYzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dpcGVyL0dQTHYyLnR4dDttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd2lwZXIvd2lwZXIuc2g7YmVnaW5saW5lPTc7ZW5kbGluZT0zMTttZDU9YjdiYzY0MmFkZGMxNTJlYTMwNzUwNWJmMWEyOTZmMDkiCi0KLQotUEFDS0FHRVMgPSsgIndpcGVyIgotCi1GSUxFU193aXBlciA9ICIke2JpbmRpcn0vd2lwZXIuc2giCi0KLVJERVBFTkRTX3dpcGVyID0gImJhc2ggZ2F3ayBjb3JldXRpbHMiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2hkcGFybS8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vd2lwZXIuc2gtZml4LXN0YXQtcGF0aC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzkwMDYwOGUzMjgzNGY2NWQyNjU0ZmRiNjk2ZTcxYTAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmZmOWVkNjk1ZjEwMTczOTZlZWM0MTAxZjk5MGYxMTRiN2IwZTBhMDRjNWFhNjM2OWMwMzk0MDUzZDE2ZTRkYSIKLQotRVhUUkFfT0VNQUtFID0gJ1NUUklQPSJlY2hvIiBMREZMQUdTPSIke0xERkxBR1N9IicKLQotaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCi0KLUFMVEVSTkFUSVZFXyR7UE59ID0gImhkcGFybSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtoZHBhcm1dID0gIiR7YmFzZV9zYmluZGlyfS9oZHBhcm0iCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCi0KLWRvX2luc3RhbGwgKCkgewotCWluc3RhbGwgLWQgJHtEfS8ke2Jhc2Vfc2JpbmRpcn0gJHtEfS8ke21hbmRpcn0vbWFuOCAke0R9LyR7YmluZGlyfQotCW9lX3J1bm1ha2UgJ0RFU1RESVI9JHtEfScgJ3NiaW5kaXI9JHtiYXNlX3NiaW5kaXJ9JyBpbnN0YWxsCi0JY3AgJHtTfS93aXBlci93aXBlci5zaCAke0R9LyR7YmluZGlyfQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjU4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0N2RlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNTguYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJVdGlsaXR5IGZvciB2aWV3aW5nL21hbmlwdWxhdGluZyBJREUgZGlzayBkcml2ZS9kcml2ZXIgcGFyYW1ldGVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvaGRwYXJtLyIKK0RFU0NSSVBUSU9OID0gImhkcGFybSBpcyBhIExpbnV4IHNoZWxsIHV0aWxpdHkgZm9yIHZpZXdpbmcgXAorYW5kIG1hbmlwdWxhdGluZyB2YXJpb3VzIElERSBkcml2ZSBhbmQgZHJpdmVyIHBhcmFtZXRlcnMuIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyIgorTElDRU5TRV8ke1BOfSA9ICJCU0QiCitMSUNFTlNFXyR7UE59LWRiZyA9ICJCU0QiCitMSUNFTlNFX3dpcGVyID0gIkdQTHYyIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLlRYVDttZDU9NDk1ZDAzZTUwZGM2Yzg5ZDZhMzAxMDdhYjBkZjViMDMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGViaWFuL2NvcHlyaWdodDttZDU9YTgyZDdiYTNhZGU5ZThlYzkwMjc0OWRiOThjNTkyZjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd2lwZXIvR1BMdjIudHh0O21kNT1mY2IwMmRjNTUyYTA0MWRlZTI3ZTRiODVjNzM5NjA2NyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly93aXBlci93aXBlci5zaDtiZWdpbmxpbmU9NztlbmRsaW5lPTMxO21kNT1iN2JjNjQyYWRkYzE1MmVhMzA3NTA1YmYxYTI5NmYwOSIKKworCitQQUNLQUdFUyA9KyAid2lwZXIiCisKK0ZJTEVTX3dpcGVyID0gIiR7YmluZGlyfS93aXBlci5zaCIKKworUkRFUEVORFNfd2lwZXIgPSAiYmFzaCBnYXdrIGNvcmV1dGlscyIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaGRwYXJtLyR7QlB9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly93aXBlci5zaC1maXgtc3RhdC1wYXRoLnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjUyYzQ5Y2YwOTZhNjQ2ODNjMDVmNTRiNGZhNDY3OSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YWU3OGU4ODNmM2NlMDcxZDMyZWUwZjFiOWEyODQ1YTYzNGZjNGRkOTRhNDM0ZTY1M2ZkYmVmNTUxYzVlMTBmIgorCitFWFRSQV9PRU1BS0UgPSAnU1RSSVA9ImVjaG8iIExERkxBR1M9IiR7TERGTEFHU30iJworCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworQUxURVJOQVRJVkVfJHtQTn0gPSAiaGRwYXJtIgorQUxURVJOQVRJVkVfTElOS19OQU1FW2hkcGFybV0gPSAiJHtiYXNlX3NiaW5kaXJ9L2hkcGFybSIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7YmFzZV9zYmluZGlyfSAke0R9LyR7bWFuZGlyfS9tYW44ICR7RH0vJHtiaW5kaXJ9CisJb2VfcnVubWFrZSAnREVTVERJUj0ke0R9JyAnc2JpbmRpcj0ke2Jhc2Vfc2JpbmRpcn0nIGluc3RhbGwKKwljcCAke1N9L3dpcGVyL3dpcGVyLnNoICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2Uta2VybmVsLWRldi5iYgppbmRleCBhNDBiM2FhLi40ZDE2ZGExIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLWtlcm5lbC1kZXYuYmIKQEAgLTExLDYgKzExLDcgQEAKIENPUkVfSU1BR0VfRVhUUkFfSU5TVEFMTCArPSAiJHtLRVJORUxfREVWX01PRFVMRX0gXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0tFUk5FTF9ERVZfVVRJTFN9IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtLRVJORUxfREVWX1RPT0xTfSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbXRhcCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIgogCiAjIFdlIG5lZWQgZXh0cmEgc3BhY2UgZm9yIHRoaW5ncyBsaWtlIGtlcm5lbCBidWlsZHMsIGV0Yy4KQEAgLTE4LDMgKzE5LDUgQEAKIAogIyBMZXQncyBkZWZpbmUgb3VyIG93biBzdWJzZXQgdG8gdGVzdCwgd2UgY2FuIGxhdGVyIGFkZCBhIG9uLXRhcmdldCBrZXJuZWwgYnVpbGQgZXZlbiEKIERFRkFVTFRfVEVTVF9TVUlURVMgPSAicGluZyBzc2ggZGYgY29ubm1hbiBzeXNsb2cgc2NwIGRhdGUgcGFyc2Vsb2dzIgorCitJTUFHRV9GRUFUVVJFUyArPSAidG9vbHMtcHJvZmlsZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2lwdGFibGVzL2lwdGFibGVzXzEuNi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKaW5kZXggZTAwODI0Zi4uYTU3Y2FjMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaXB0YWJsZXMvaXB0YWJsZXNfMS42LjIuYmIKQEAgLTM5LDcgKzM5LDcgQEAKIFBBQ0tBR0VTX0RZTkFNSUMgKz0gIl4ke1BOfS1tb2R1bGUtLioiCiAKIHB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgIG1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9L3h0YWJsZXMnLCAnbGliKC4qKVwuc28kJywgJyR7UE59LW1vZHVsZS0lcycsICcke1BOfSBtb2R1bGUgJXMnLCBleHRyYV9kZXBlbmRzPScnKQorICAgIG1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9L3h0YWJsZXMnLCByJ2xpYiguKilcLnNvJCcsICcke1BOfS1tb2R1bGUtJXMnLCAnJHtQTn0gbW9kdWxlICVzJywgZXh0cmFfZGVwZW5kcz0nJykKICAgICBpZiBtb2R1bGVzOgogICAgICAgICBtZXRhcGtnID0gZC5nZXRWYXIoJ1BOJykgKyAnLW1vZHVsZXMnCiAgICAgICAgIGQuYXBwZW5kVmFyKCdSREVQRU5EU18nICsgbWV0YXBrZywgJyAnICsgJyAnLmpvaW4obW9kdWxlcykpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzUzMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA3YjEyMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sZXNzL2xlc3NfNTMwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotU1VNTUFSWSA9ICJUZXh0IGZpbGUgdmlld2VyIHNpbWlsYXIgdG8gbW9yZSIKLURFU0NSSVBUSU9OID0gIkxlc3MgaXMgYSBwcm9ncmFtIHNpbWlsYXIgdG8gbW9yZSwgaS5lLiBhIHRlcm1pbmFsIFwKLWJhc2VkIHByb2dyYW0gZm9yIHZpZXdpbmcgdGV4dCBmaWxlcyBhbmQgdGhlIG91dHB1dCBmcm9tIG90aGVyIFwKLXByb2dyYW1zLiBMZXNzIG9mZmVycyBtYW55IGZlYXR1cmVzIGJleW9uZCB0aG9zZSB0aGF0IG1vcmUgZG9lcy4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS8iCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi0KLSMgKEdQTHYyKyAoPDwgNDE4KSwgR1BMdjMrICg+PSA0MTgpKSB8IGxlc3MKLSMgSW5jbHVkaW5nIGVtYWlsIGF1dGhvciBnaXZpbmcgcGVybWlzc2luZyB0byB1c2UgQlNECi0jCi0jIEZyb206IE1hcmsgTnVkZWxtYW4gPG1hcmtuQGdyZWVud29vZHNvZnR3YXJlLmNvbT4KLSMgVG86IEVsaXphYmV0aCBGbGFuYWdhbiA8ZWxpemFiZXRoLmZsYW5hZ2FuQGludGVsLmNvbQotIyBEYXRlOiAxMi8xOS8xMQotIwotIyBIaSBFbGl6YWJldGgsCi0jIFVzaW5nIGEgZ2VuZXJpYyBCU0QgbGljZW5zZSBmb3IgbGVzcyBpcyBmaW5lIHdpdGggbWUuCi0jIFRoYW5rcywKLSMKLSMgLS1NYXJrCi0jCi0KLUxJQ0VOU0UgPSAiR1BMdjMrIHwgQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9MmVmM2U0YjhkYWZjODU2MTJiYzUyNTRiODA4MWUyMzQiCi1ERVBFTkRTID0gIm5jdXJzZXMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotCSAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmEzOWJjY2Y0MjBjOTQ2YjBmZDdmZmM2NDk2MTMxNWIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTAzZjkxYWIwYWY0ODQ2ZjM0ZjA0NDRhYjcxYzRiMjg2MTIzZjAwNDRhNDk2NGYxYWU3ODE0ODZjNjE3ZjJlMiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tL2xlc3MvZG93bmxvYWQuaHRtbCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcwotCi1kb19pbnN0YWxsICgpIHsKLSAgICAgICAgb2VfcnVubWFrZSAnYmluZGlyPSR7RH0ke2JpbmRpcn0nICdtYW5kaXI9JHtEfSR7bWFuZGlyfScgaW5zdGFsbAotfQotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJsZXNzIgotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGVzcy9sZXNzXzU1MC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181NTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIxNjE4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xlc3MvbGVzc181NTAuYmIKQEAgLTAsMCArMSw0MyBAQAorU1VNTUFSWSA9ICJUZXh0IGZpbGUgdmlld2VyIHNpbWlsYXIgdG8gbW9yZSIKK0RFU0NSSVBUSU9OID0gIkxlc3MgaXMgYSBwcm9ncmFtIHNpbWlsYXIgdG8gbW9yZSwgaS5lLiBhIHRlcm1pbmFsIFwKK2Jhc2VkIHByb2dyYW0gZm9yIHZpZXdpbmcgdGV4dCBmaWxlcyBhbmQgdGhlIG91dHB1dCBmcm9tIG90aGVyIFwKK3Byb2dyYW1zLiBMZXNzIG9mZmVycyBtYW55IGZlYXR1cmVzIGJleW9uZCB0aG9zZSB0aGF0IG1vcmUgZG9lcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmdyZWVud29vZHNvZnR3YXJlLmNvbS8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCisKKyMgKEdQTHYyKyAoPDwgNDE4KSwgR1BMdjMrICg+PSA0MTgpKSB8IGxlc3MKKyMgSW5jbHVkaW5nIGVtYWlsIGF1dGhvciBnaXZpbmcgcGVybWlzc2luZyB0byB1c2UgQlNECisjCisjIEZyb206IE1hcmsgTnVkZWxtYW4gPG1hcmtuQGdyZWVud29vZHNvZnR3YXJlLmNvbT4KKyMgVG86IEVsaXphYmV0aCBGbGFuYWdhbiA8ZWxpemFiZXRoLmZsYW5hZ2FuQGludGVsLmNvbQorIyBEYXRlOiAxMi8xOS8xMQorIworIyBIaSBFbGl6YWJldGgsCisjIFVzaW5nIGEgZ2VuZXJpYyBCU0QgbGljZW5zZSBmb3IgbGVzcyBpcyBmaW5lIHdpdGggbWUuCisjIFRoYW5rcywKKyMKKyMgLS1NYXJrCisjCisKK0xJQ0VOU0UgPSAiR1BMdjMrIHwgQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9YmEwMWQwY2FiN2Y2MmY3ZjIyMDRjNzc4MGZmNmE4N2QgXAorICAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTID0gIm5jdXJzZXMiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5ncmVlbndvb2Rzb2Z0d2FyZS5jb20vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorCSAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGNhZmY4OGUzNGFmZmY1MTJiNjYzZDdjNjkwYmQyY2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmE1MzYzOWYwOGQ3ZWQwNWI2ZTEwNGI4MmMzMjE5M2Y3OWFjMDFhM2VkZGIyMGUxMTRlMWMyNjE5NDhiZDU3YiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuZ3JlZW53b29kc29mdHdhcmUuY29tL2xlc3MvZG93bmxvYWQuaHRtbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcworCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgb2VfcnVubWFrZSAnYmluZGlyPSR7RH0ke2JpbmRpcn0nICdtYW5kaXI9JHtEfSR7bWFuZGlyfScgaW5zdGFsbAorfQorCitBTFRFUk5BVElWRV8ke1BOfSA9ICJsZXNzIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3Ny5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTYzODM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzcucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODc3CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDAyMWVmYTUyMmFkNzI5ZmYwZjU4MDZjNGNlNTNlNGE2Y2MxZGFhMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgMjAgTm92IDIwMTggMTc6NTY6MjkgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gQXZvaWQgYSBkb3VibGUtZnJlZSB3aGVuIGEgd2luZG93IHNpemUgb2YgMCBpcyBzcGVjaWZpZWQKKworbmV3X3NpemUgY2FuIGJlIDAgd2l0aCBhIG1hbGljaW91cyBvciBjb3JydXB0ZWQgUkFSIGFyY2hpdmUuCisKK3JlYWxsb2MoYXJlYSwgMCkgaXMgZXF1aXZhbGVudCB0byBmcmVlKGFyZWEpLCBzbyB0aGUgcmVnaW9uIHdvdWxkCitiZSBmcmVlKClkIGhlcmUgYW5kIHRoZSBmcmVlKClkIGFnYWluIGluIHRoZSBjbGVhbnVwIGZ1bmN0aW9uLgorCitGb3VuZCB3aXRoIGEgc2V0dXAgcnVubmluZyBBRkwsIGFmbC1yYiwgYW5kIHFzeW0uCistLS0KKyBsaWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYyB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCitpbmRleCAyMzQ1MjIyMi4uNmY0MTljMjcgMTAwNjQ0CistLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworKysrIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKK0BAIC0yMzAwLDYgKzIzMDAsMTEgQEAgcGFyc2VfY29kZXMoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSkKKyAgICAgICBuZXdfc2l6ZSA9IERJQ1RJT05BUllfTUFYX1NJWkU7CisgICAgIGVsc2UKKyAgICAgICBuZXdfc2l6ZSA9IHJhcl9mbHMoKHVuc2lnbmVkIGludClyYXItPnVucF9zaXplKSA8PCAxOworKyAgICBpZiAobmV3X3NpemUgPT0gMCkgeworKyAgICAgIGFyY2hpdmVfc2V0X2Vycm9yKCZhLT5hcmNoaXZlLCBBUkNISVZFX0VSUk5PX0ZJTEVfRk9STUFULAorKyAgICAgICAgICAgICAgICAgICAgICAgICJaZXJvIHdpbmRvdyBzaXplIGlzIGludmFsaWQuIik7CisrICAgICAgcmV0dXJuIChBUkNISVZFX0ZBVEFMKTsKKysgICAgfQorICAgICBuZXdfd2luZG93ID0gcmVhbGxvYyhyYXItPmx6c3Mud2luZG93LCBuZXdfc2l6ZSk7CisgICAgIGlmIChuZXdfd2luZG93ID09IE5VTEwpIHsKKyAgICAgICBhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgRU5PTUVNLAorLS0gCisyLjIwLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg3OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDY4ZmQzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2gKQEAgLTAsMCArMSw3OSBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODc4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGJmY2ZlNmYwNGVkMjBkYjI1MDRkYjhhMjU0ZDFmNDBhMWQ4NGViMjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgNCBEZWMgMjAxOCAwMDo1NToyMiArMTEwMAorU3ViamVjdDogW1BBVENIXSByYXI6IGZpbGUgc3BsaXQgYWNyb3NzIG11bHRpLXBhcnQgYXJjaGl2ZXMgbXVzdCBtYXRjaAorCitGdXp6aW5nIHVuY292ZXJlZCBzb21lIFVBRiBhbmQgbWVtb3J5IG92ZXJydW4gYnVncyB3aGVyZSBhIGZpbGUgaW4gYQorc2luZ2xlIGZpbGUgYXJjaGl2ZSByZXBvcnRlZCB0aGF0IGl0IHdhcyBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUKK3ZvbHVtZXMuIFRoaXMgd2FzIGNhdXNlZCBieSBwcG1kNyBvcGVyYXRpb25zIGNhbGxpbmcKK3Jhcl9icl9maWxsdXAuIFRoaXMgd291bGQgaW52b2tlIHJhcl9yZWFkX2FoZWFkLCB3aGljaCB3b3VsZCBpbiBzb21lCitzaXR1YXRpb25zIGludm9rZSBhcmNoaXZlX3JlYWRfZm9ybWF0X3Jhcl9yZWFkX2hlYWRlci4gIFRoYXQgd291bGQKK2NoZWNrIHRoZSBuZXcgZmlsZSBuYW1lIGFnYWluc3QgdGhlIG9sZCBmaWxlIG5hbWUsIGFuZCBpZiB0aGV5IGRpZG4ndAorbWF0Y2ggdXAgaXQgd291bGQgZnJlZSB0aGUgcHBtZDcgYnVmZmVyIGFuZCBhbGxvY2F0ZSBhIG5ldworb25lLiBIb3dldmVyLCBiZWNhdXNlIHRoZSBwcG1kNyBkZWNvZGVyIHdhc24ndCBhY3R1YWxseSBkb25lIHdpdGggdGhlCitidWZmZXIsIGl0IHdvdWxkIGNvbnRpbnVlIHRvIHVzZWQgdGhlIGZyZWVkIGJ1ZmZlci4gQm90aCByZWFkcyBhbmQKK3dyaXRlcyB0byB0aGUgZnJlZWQgcmVnaW9uIGNhbiBiZSBvYnNlcnZlZC4KKworVGhpcyBpcyBxdWl0ZSB0cmlja3kgdG8gc29sdmU6IG9uY2UgdGhlIGJ1ZmZlciBoYXMgYmVlbiBmcmVlZCBpdCBpcwordG9vIGxhdGUsIGFzIHRoZSBwcG1kNyBkZWNvZGVyIGZ1bmN0aW9ucyBhbG1vc3QgdW5pdmVyc2FsbHkgYXNzdW1lCitzdWNjZXNzIC0gdGhlcmUncyBubyB3YXkgZm9yIHBwbWRfcmVhZCB0byBzaWduYWwgZXJyb3IsIG5vciBhcmUgdGhlcmUKK2dvb2Qgd2F5cyBmb3IgZnVuY3Rpb25zIGxpa2UgUmFuZ2VfTm9ybWFsaXNlIHRvIHByb3BhZ2F0ZSB0aGVtLiBTbyB3ZQorY2FuJ3QgZGV0ZWN0IGFmdGVyIHRoZSBmYWN0IHRoYXQgd2UncmUgaW4gYW4gaW52YWxpZCBzdGF0ZSAtIGUuZy4gYnkKK2NoZWNraW5nIHJhci0+Y3Vyc29yLCB3ZSBoYXZlIHRvIHByZXZlbnQgb3Vyc2VsdmVzIGZyb20gZXZlciBlbmRpbmcgdXAKK3RoZXJlLiBTbywgd2hlbiB3ZSBhcmUgaW4gdGhlIGRhbmdlcm91cyBwYXJ0IG9yIHJhcl9yZWFkX2FoZWFkIHRoYXQKK2Fzc3VtZXMgYSB2YWxpZCBzcGxpdCwgd2Ugc2V0IGEgZmxhZyBmb3JjZSByZWFkX2hlYWRlciB0byBlaXRoZXIgZ28KK2Rvd24gdGhlIHBhdGggZm9yIHNwbGl0IGZpbGVzIG9yIGJhaWwuIFRoaXMgbWVhbnMgdGhhdCB0aGUgcHBtZDcKK2RlY29kZXIga2VlcHMgYSB2YWxpZCBidWZmZXIgYW5kIGp1c3QgcnVucyBvdXQgb2YgZGF0YS4KKworRm91bmQgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIEFGTCwgYWZsLXJiIGFuZCBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMgfCA5ICsrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfcmFyLmMKK2luZGV4IDZmNDE5YzI3Li5hOGNjNWM5NCAxMDA2NDQKKy0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3Jhci5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9yYXIuYworQEAgLTI1OCw2ICsyNTgsNyBAQCBzdHJ1Y3QgcmFyCisgICBzdHJ1Y3QgZGF0YV9ibG9ja19vZmZzZXRzICpkYm87CisgICB1bnNpZ25lZCBpbnQgY3Vyc29yOworICAgdW5zaWduZWQgaW50IG5vZGVzOworKyAgY2hhciBmaWxlbmFtZV9tdXN0X21hdGNoOworIAorICAgLyogTFpTUyBtZW1iZXJzICovCisgICBzdHJ1Y3QgaHVmZm1hbl9jb2RlIG1haW5jb2RlOworQEAgLTE1NjAsNiArMTU2MSwxMiBAQCByZWFkX2hlYWRlcihzdHJ1Y3QgYXJjaGl2ZV9yZWFkICphLCBzdHJ1Y3QgYXJjaGl2ZV9lbnRyeSAqZW50cnksCisgICAgIH0KKyAgICAgcmV0dXJuIHJldDsKKyAgIH0KKysgIGVsc2UgaWYgKHJhci0+ZmlsZW5hbWVfbXVzdF9tYXRjaCkKKysgIHsKKysgICAgYXJjaGl2ZV9zZXRfZXJyb3IoJmEtPmFyY2hpdmUsIEFSQ0hJVkVfRVJSTk9fRklMRV9GT1JNQVQsCisrICAgICAgIk1pc21hdGNoIG9mIGZpbGUgcGFydHMgc3BsaXQgYWNyb3NzIG11bHRpLXZvbHVtZSBhcmNoaXZlIik7CisrICAgIHJldHVybiAoQVJDSElWRV9GQVRBTCk7CisrICB9CisgCisgICByYXItPmZpbGVuYW1lX3NhdmUgPSAoY2hhciopcmVhbGxvYyhyYXItPmZpbGVuYW1lX3NhdmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZV9zaXplICsgMSk7CitAQCAtMjkzMywxMiArMjk0MCwxNCBAQCByYXJfcmVhZF9haGVhZChzdHJ1Y3QgYXJjaGl2ZV9yZWFkICphLCBzaXplX3QgbWluLCBzc2l6ZV90ICphdmFpbCkKKyAgICAgZWxzZSBpZiAoKmF2YWlsID09IDAgJiYgcmFyLT5tYWluX2ZsYWdzICYgTUhEX1ZPTFVNRSAmJgorICAgICAgIHJhci0+ZmlsZV9mbGFncyAmIEZIRF9TUExJVF9BRlRFUikKKyAgICAgeworKyAgICAgIHJhci0+ZmlsZW5hbWVfbXVzdF9tYXRjaCA9IDE7CisgICAgICAgcmV0ID0gYXJjaGl2ZV9yZWFkX2Zvcm1hdF9yYXJfcmVhZF9oZWFkZXIoYSwgYS0+ZW50cnkpOworICAgICAgIGlmIChyZXQgPT0gKEFSQ0hJVkVfRU9GKSkKKyAgICAgICB7CisgICAgICAgICByYXItPmhhc19lbmRhcmNfaGVhZGVyID0gMTsKKyAgICAgICAgIHJldCA9IGFyY2hpdmVfcmVhZF9mb3JtYXRfcmFyX3JlYWRfaGVhZGVyKGEsIGEtPmVudHJ5KTsKKyAgICAgICB9CisrICAgICAgcmFyLT5maWxlbmFtZV9tdXN0X21hdGNoID0gMDsKKyAgICAgICBpZiAocmV0ICE9IChBUkNISVZFX09LKSkKKyAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgIHJldHVybiByYXJfcmVhZF9haGVhZChhLCBtaW4sIGF2YWlsKTsKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4NzkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYyNTkzMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOC0xMDAwODc5LnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0NWRTogQ1ZFLTIwMTgtMTAwMDg3OQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAxNWJmNDRmZDJjMWFkMGUzZmQ4NzA0OGIzZmNjOTBjNGRjZmYxMTc1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDQgRGVjIDIwMTggMTQ6Mjk6NDIgKzExMDAKK1N1YmplY3Q6IFtQQVRDSF0gU2tpcCAwLWxlbmd0aCBBQ0wgZmllbGRzCisKK0N1cnJlbnRseSwgaXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGFuIGFyY2hpdmUgdGhhdCBjcmFzaGVzIGJzZHRhcgord2l0aCBhIG1hbGZvcm1lZCBBQ0w6CisKK1Byb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KK2FyY2hpdmVfYWNsX2Zyb21fdGV4dF9sIChhY2w9PG9wdGltaXNlZCBvdXQ+LCB0ZXh0PTB4N2UyZTkyICIiLCB3YW50X3R5cGU9PG9wdGltaXNlZCBvdXQ+LCBzYz08b3B0aW1pc2VkIG91dD4pIGF0IGxpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYzoxNzI2CisxNzI2CQkJCXN3aXRjaCAoKnMpIHsKKyhnZGIpIHAgbgorJDEgPSAxCisoZ2RiKSBwIGZpZWxkW25dCiskMiA9IHtzdGFydCA9IDB4MCwgZW5kID0gMHgwfQorCitTdG9wIHRoaXMgYnkgY2hlY2tpbmcgdGhhdCB0aGUgbGVuZ3RoIGlzIG5vdCB6ZXJvIGJlZm9yZSBiZWdpbm5pbmcKK3RoZSBzd2l0Y2ggc3RhdGVtZW50LgorCitJIGFtIHByZXR0eSBzdXJlIHRoaXMgaXMgdGhlIGJ1ZyBtZW50aW9uZWQgaW4gdGhlIHFzeW0gcGFwZXIgWzFdLAorYW5kIEkgd2FzIGFibGUgdG8gcmVwbGljYXRlIGl0IHdpdGggYSBxc3ltICsgQUZMICsgYWZsLXJiIHNldHVwLgorCitbMV0gaHR0cHM6Ly93d3cudXNlbml4Lm9yZy9jb25mZXJlbmNlL3VzZW5peHNlY3VyaXR5MTgvcHJlc2VudGF0aW9uL3l1bgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX2FjbC5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9hY2wuYworaW5kZXggNTEyYmVlZTEuLjdiZWVlZTg2IDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX2FjbC5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfYWNsLmMKK0BAIC0xNzIzLDYgKzE3MjMsMTEgQEAgYXJjaGl2ZV9hY2xfZnJvbV90ZXh0X2woc3RydWN0IGFyY2hpdmVfYWNsICphY2wsIGNvbnN0IGNoYXIgKnRleHQsCisgCQkJc3QgPSBmaWVsZFtuXS5zdGFydCArIDE7CisgCQkJbGVuID0gZmllbGRbbl0uZW5kIC0gZmllbGRbbl0uc3RhcnQ7CisgCisrCQkJaWYgKGxlbiA9PSAwKSB7CisrCQkJCXJldCA9IEFSQ0hJVkVfV0FSTjsKKysJCQkJY29udGludWU7CisrCQkJfQorKworIAkJCXN3aXRjaCAoKnMpIHsKKyAJCQljYXNlICd1JzoKKyAJCQkJaWYgKGxlbiA9PSAxIHx8IChsZW4gPT0gNAorLS0gCisyLjIwLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4ODAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTgtMTAwMDg4MC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzI2NGExCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE4LTEwMDA4ODAucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorQ1ZFOiBDVkUtMjAxOC0xMDAwODgwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDljODRiNzQyNjY2MGMwOWMxOGNjMzQ5ZjZkNzBiNWY4MTY4YjU2ODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgNCBEZWMgMjAxOCAxNjozMzo0MiArMTEwMAorU3ViamVjdDogW1BBVENIXSB3YXJjOiBjb25zdW1lIGRhdGEgb25jZSByZWFkCisKK1RoZSB3YXJjIGRlY29kZXIgb25seSB1c2VkIHJlYWQgYWhlYWQsIGl0IHdvdWxkbid0IGFjdHVhbGx5IGNvbnN1bWUKK2RhdGEgdGhhdCBoYWQgcHJldmlvdXNseSBiZWVuIHByaW50ZWQuIFRoaXMgbWVhbnMgdGhhdCBpZiB5b3Ugc3BlY2lmeQorYW4gaW52YWxpZCBjb250ZW50IGxlbmd0aCwgaXQgd2lsbCBqdXN0IHJlcHJpbnQgdGhlIHNhbWUgZGF0YSBvdmVyCithbmQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB1bnRpbCBpdCBoaXRzIHRoZSBkZXNpcmVkIGxlbmd0aC4KKworVGhpcyBtZWFucyB0aGF0IGEgV0FSQyByZXNvdXJjZSB3aXRoIGUuZy4KK0NvbnRlbnQtTGVuZ3RoOiA2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjUKK2J1dCBvbmx5IGEgZmV3IGh1bmRyZWQgYnl0ZXMgb2YgZGF0YSwgY2F1c2VzIGEgcXVhc2ktaW5maW5pdGUgbG9vcC4KKworQ29uc3VtZSBkYXRhIGluIHN1YnNlcXVlbnQgY2FsbHMgdG8gX3dhcmNfcmVhZC4KKworRm91bmQgd2l0aCBhbiBBRkwgKyBhZmwtcmIgKyBxc3ltIHNldHVwLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfd2FyYy5jIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0X3dhcmMuYworaW5kZXggZTg3NTM4NTMuLmU4ZmM4NDI4IDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfd2FyYy5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF93YXJjLmMKK0BAIC0zODYsNiArMzg2LDExIEBAIF93YXJjX3JlYWQoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgY29uc3Qgdm9pZCAqKmJ1Ziwgc2l6ZV90ICpic3osIGludDY0X3QgKm9mZikKKyAJCXJldHVybiAoQVJDSElWRV9FT0YpOworIAl9CisgCisrCWlmICh3LT51bmNvbnN1bWVkKSB7CisrCQlfX2FyY2hpdmVfcmVhZF9jb25zdW1lKGEsIHctPnVuY29uc3VtZWQpOworKwkJdy0+dW5jb25zdW1lZCA9IDBVOworKwl9CisrCisgCXJhYiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIDFVLCAmbnJkKTsKKyAJaWYgKG5yZCA8IDApIHsKKyAJCSpic3ogPSAwVTsKKy0tIAorMi4yMC4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMTkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2YzOTg5MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9DVkUtMjAxOS0xMDAwMDE5LnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK0NWRTogQ1ZFLTIwMTktMTAwMDAxOQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSA2NWEyM2Y1ZGJlZTQ0OTcwNjRlOWJiNDY3ZjgxMTM4YTYyYjBkYWUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGFuaWVsIEF4dGVucyA8ZGphQGF4dGVucy5uZXQ+CitEYXRlOiBUdWUsIDEgSmFuIDIwMTkgMTY6MDE6NDAgKzExMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIDd6aXA6IGZpeCBjcmFzaCB3aGVuIHBhcnNpbmcgY2VydGFpbiBhcmNoaXZlcworCitGdXp6aW5nIHdpdGggQ1JDcyBkaXNhYmxlZCByZXZlYWxlZCB0aGF0IGEgY2FsbCB0byBnZXRfdW5jb21wcmVzc2VkX2RhdGEoKQord291bGQgc29tZXRpbWVzIGZhaWwgdG8gcmV0dXJuIGF0IGxlYXN0ICdtaW5pbXVtJyBieXRlcy4gVGhpcyBjYW4gY2F1c2UKK3RoZSBjcmMzMigpIGludm9jYXRpb24gaW4gaGVhZGVyX2J5dGVzIHRvIHJlYWQgb2ZmIGludG8gaW52YWxpZCBtZW1vcnkuCisKK0Egc3BlY2lhbGx5IGNyYWZ0ZWQgYXJjaGl2ZSBjYW4gdXNlIHRoaXMgdG8gY2F1c2UgYSBjcmFzaC4KKworQW4gQVNBTiB0cmFjZSBpcyBiZWxvdywgYnV0IEFTQU4gaXMgbm90IHJlcXVpcmVkIC0gYW4gdW5pbnN0cnVtZW50ZWQKK2JpbmFyeSB3aWxsIGFsc28gY3Jhc2guCisKKz09NzcxOT09RVJST1I6IEFkZHJlc3NTYW5pdGl6ZXI6IFNFR1Ygb24gdW5rbm93biBhZGRyZXNzIDB4NjMxMDAwMDQwMDAwIChwYyAweDdmYmRiM2IzZWMxZCBicCAweDdmZmU3N2E1MTMxMCBzcCAweDdmZmU3N2E1MTE1MCBUMCkKKz09NzcxOT09VGhlIHNpZ25hbCBpcyBjYXVzZWQgYnkgYSBSRUFEIG1lbW9yeSBhY2Nlc3MuCisgICAgIzAgMHg3ZmJkYjNiM2VjMWMgaW4gY3JjMzJfeiAoL2xpYi94ODZfNjQtbGludXgtZ251L2xpYnouc28uMSsweDJjMWMpCisgICAgIzEgMHg4NGY1ZWIgaW4gaGVhZGVyX2J5dGVzICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODRmNWViKQorICAgICMyIDB4ODU2MTU2IGluIHJlYWRfSGVhZGVyICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODU2MTU2KQorICAgICMzIDB4ODRlMTM0IGluIHNsdXJwX2NlbnRyYWxfZGlyZWN0b3J5ICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4ODRlMTM0KQorICAgICM0IDB4ODQ5NjkwIGluIGFyY2hpdmVfcmVhZF9mb3JtYXRfN3ppcF9yZWFkX2hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDg0OTY5MCkKKyAgICAjNSAweDU3MTNiNyBpbiBfYXJjaGl2ZV9yZWFkX25leHRfaGVhZGVyMiAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDU3MTNiNykKKyAgICAjNiAweDU3MGU2MyBpbiBfYXJjaGl2ZV9yZWFkX25leHRfaGVhZGVyICgvdG1wL2xpYmFyY2hpdmUvYnNkdGFyKzB4NTcwZTYzKQorICAgICM3IDB4NmYwOGJkIGluIGFyY2hpdmVfcmVhZF9uZXh0X2hlYWRlciAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDZmMDhiZCkKKyAgICAjOCAweDUyMzczZiBpbiByZWFkX2FyY2hpdmUgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg1MjM3M2YpCisgICAgIzkgMHg1MjU3YmUgaW4gdGFyX21vZGVfeCAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDUyNTdiZSkKKyAgICAjMTAgMHg1MWRhZWIgaW4gbWFpbiAoL3RtcC9saWJhcmNoaXZlL2JzZHRhcisweDUxZGFlYikKKyAgICAjMTEgMHg3ZmJkYjI3Y2FiOTYgaW4gX19saWJjX3N0YXJ0X21haW4gL2J1aWxkL2dsaWJjLU9Uc0VMNS9nbGliYy0yLjI3L2NzdS8uLi9jc3UvbGliYy1zdGFydC5jOjMxMAorICAgICMxMiAweDQxZGQwOSBpbiBfc3RhcnQgKC90bXAvbGliYXJjaGl2ZS9ic2R0YXIrMHg0MWRkMDkpCisKK1RoaXMgd2FzIHByaW1hcmx5IGRvbmUgd2l0aCBhZmwgYW5kIEZhaXJGdXp6LiBTb21lIGVhcmx5IGNvcnB1cyBlbnRyaWVzCittYXkgaGF2ZSBiZWVuIGdlbmVyYXRlZCBieSBxc3ltLgorLS0tCisgbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfN3ppcC5jIHwgOCArLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYworaW5kZXggYmNjYmY4OTY2Li5iNmQxNTA1ZDMgMTAwNjQ0CistLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF83emlwLmMKKysrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV9yZWFkX3N1cHBvcnRfZm9ybWF0Xzd6aXAuYworQEAgLTI5NjQsMTMgKzI5NjQsNyBAQCBnZXRfdW5jb21wcmVzc2VkX2RhdGEoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgY29uc3Qgdm9pZCAqKmJ1ZmYsIHNpemVfdCBzaXplLAorIAlpZiAoemlwLT5jb2RlYyA9PSBfN1pfQ09QWSAmJiB6aXAtPmNvZGVjMiA9PSAodW5zaWduZWQgbG9uZyktMSkgeworIAkJLyogQ29weSBtb2RlLiAqLworIAorLQkJLyoKKy0JCSAqIE5vdGU6ICcxJyBoZXJlIGlzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLgorLQkJICogUmVjYWxsIHRoYXQgdGhlIGRlY29tcHJlc3Npb24gbGF5ZXIgcmV0dXJucyBhIGNvdW50IG9mCistCQkgKiBhdmFpbGFibGUgYnl0ZXM7IGFza2luZyBmb3IgbW9yZSB0aGFuIHRoYXQgZm9yY2VzIHRoZQorLQkJICogZGVjb21wcmVzc29yIHRvIGNvbWJpbmUgcmVhZHMgYnkgY29weWluZyBkYXRhLgorLQkJICovCistCQkqYnVmZiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIDEsICZieXRlc19hdmFpbCk7CisrCQkqYnVmZiA9IF9fYXJjaGl2ZV9yZWFkX2FoZWFkKGEsIG1pbmltdW0sICZieXRlc19hdmFpbCk7CisgCQlpZiAoYnl0ZXNfYXZhaWwgPD0gMCkgeworIAkJCWFyY2hpdmVfc2V0X2Vycm9yKCZhLT5hcmNoaXZlLAorIAkJCSAgICBBUkNISVZFX0VSUk5PX0ZJTEVfRk9STUFULApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvQ1ZFLTIwMTktMTAwMDAyMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWE3NmZkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL0NWRS0yMDE5LTEwMDAwMjAucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorQ1ZFOiBDVkUtMjAxOS0xMDAwMDIwCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDgzMTJlYWE1NzYwMTRjZDliOTY1MDEyYWY1MWJjMWY5NjdiMTI0MjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEYW5pZWwgQXh0ZW5zIDxkamFAYXh0ZW5zLm5ldD4KK0RhdGU6IFR1ZSwgMSBKYW4gMjAxOSAxNzoxMDo0OSArMTEwMAorU3ViamVjdDogW1BBVENIIDEvMl0gaXNvOTY2MDogRmFpbCB3aGVuIGV4cGVjdGVkIFJvY2tyaWRnZSBleHRlbnNpb25zIGlzCisgbWlzc2luZworCitBIGNvcnJ1cHRlZCBvciBtYWxpY2lvdXMgSVNPOTY2MCBpbWFnZSBjYW4gY2F1c2UgcmVhZF9DRSgpIHRvIGxvb3AKK2ZvcmV2ZXIuCisKK3JlYWRfQ0UoKSBjYWxscyBwYXJzZV9yb2NrcmlkZ2UoKSwgZXhwZWN0aW5nIGEgUm9ja3JpZGdlIGV4dGVuc2lvbgordG8gYmUgcmVhZC4gSG93ZXZlciwgcGFyc2Vfcm9ja3JpZGdlKCkgaXMgc3RydWN0dXJlZCBhcyBhIHdoaWxlCitsb29wIHN0YXJ0aW5nIHdpdGggYSBzYW5pdHkgY2hlY2ssIGFuZCBpZiB0aGUgc2FuaXR5IGNoZWNrIGZhaWxzCitiZWZvcmUgdGhlIGxvb3AgaGFzIHJ1biwgdGhlIGZ1bmN0aW9uIHJldHVybnMgQVJDSElWRV9PSyB3aXRob3V0CithZHZhbmNpbmcgdGhlIHBvc2l0aW9uIGluIHRoZSBmaWxlLiBUaGlzIGNhdXNlcyByZWFkX0NFKCkgdG8gcmV0cnkKK2luZGVmaW5pdGVseS4KKworTWFrZSBwYXJzZV9yb2NrcmlkZ2UoKSByZXR1cm4gQVJDSElWRV9XQVJOIGlmIGl0IGRpZG4ndCByZWFkIGFuCitleHRlbnNpb24uIEFzIHNvbWVvbmUgd2l0aCBubyByZWFsIGtub3dsZWRnZSBvZiB0aGUgZm9ybWF0LCB0aGlzCitzZWVtcyBtb3JlIGFwdCB0aGFuIEFSQ0hJVkVfRkFUQUwsIGJ1dCBib3RoIHRoZSBjYWxsLXNpdGVzIGVzY2FsYXRlCitpdCB0byBhIGZhdGFsIGVycm9yIGltbWVkaWF0ZWx5IGFueXdheS4KKworRm91bmQgd2l0aCBhIGNvbWJpbmF0aW9uIG9mIEFGTCwgYWZsLXJiIChGYWlyRnV6eikgYW5kIHFzeW0uCistLS0KKyBsaWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMgfCAxMSArKysrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMKK2luZGV4IDI4YWNmZWZiYi4uYmFkOGYxZGZlIDEwMDY0NAorLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlX3JlYWRfc3VwcG9ydF9mb3JtYXRfaXNvOTY2MC5jCisrKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfcmVhZF9zdXBwb3J0X2Zvcm1hdF9pc285NjYwLmMKK0BAIC0yMTAyLDYgKzIxMDIsNyBAQCBwYXJzZV9yb2NrcmlkZ2Uoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc3RydWN0IGZpbGVfaW5mbyAqZmlsZSwKKyAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCwgY29uc3QgdW5zaWduZWQgY2hhciAqZW5kKQorIHsKKyAJc3RydWN0IGlzbzk2NjAgKmlzbzk2NjA7CisrCWludCBlbnRyeV9zZWVuID0gMDsKKyAKKyAJaXNvOTY2MCA9IChzdHJ1Y3QgaXNvOTY2MCAqKShhLT5mb3JtYXQtPmRhdGEpOworIAorQEAgLTIyNTcsOCArMjI1OCwxNiBAQCBwYXJzZV9yb2NrcmlkZ2Uoc3RydWN0IGFyY2hpdmVfcmVhZCAqYSwgc3RydWN0IGZpbGVfaW5mbyAqZmlsZSwKKyAJCX0KKyAKKyAJCXAgKz0gcFsyXTsKKysJCWVudHJ5X3NlZW4gPSAxOworKwl9CisrCisrCWlmIChlbnRyeV9zZWVuKQorKwkJcmV0dXJuIChBUkNISVZFX09LKTsKKysJZWxzZSB7CisrCQlhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgQVJDSElWRV9FUlJOT19GSUxFX0ZPUk1BVCwKKysJCQkJICAiVHJpZWQgdG8gcGFyc2UgUm9ja3JpZGdlIGV4dGVuc2lvbnMsIGJ1dCBub25lIGZvdW5kIik7CisrCQlyZXR1cm4gKEFSQ0hJVkVfV0FSTik7CisgCX0KKy0JcmV0dXJuIChBUkNISVZFX09LKTsKKyB9CisgCisgc3RhdGljIGludAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4zLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4zLjMuYmIKaW5kZXggNDZhM2Q0My4uYWY1Y2E2NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMy4zLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZV8zLjMuMy5iYgpAQCAtMzQsNiArMzQsMTIgQEAKIFNSQ19VUkkgPSAiaHR0cDovL2xpYmFyY2hpdmUub3JnL2Rvd25sb2Fkcy9saWJhcmNoaXZlLSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9ub24tcmVjdXJzaXZlLWV4dHJhY3QtYW5kLWxpc3QucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vYnVnMTA2Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwODc3LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwMDA4NzgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTAwMDg3OS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xMDAwODgwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTEwMDAwMTkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTktMTAwMDAyMC5wYXRjaCBcCiAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0MDM4ZTM2NmNhNWI2NTlkYWUzZWZjYzc0NGU3MjEyMCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0Y2M5ZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlicGlwZWxpbmUvbGlicGlwZWxpbmVfMS41LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1TVU1NQVJZID0gInBpcGVsaW5lIG1hbmlwdWxhdGlvbiBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIEMgbGlicmFyeSBmb3Igc2V0dGluZyB1cCBhbmQgcnVubmluZyBwaXBlbGluZXMgb2YgcHJvY2Vzc2VzLCBcCi13aXRob3V0IG5lZWRpbmcgdG8gaW52b2x2ZSBzaGVsbCBjb21tYW5kLWxpbmUgcGFyc2luZyB3aGljaCBpcyBvZnRlbiBcCi1lcnJvci1wcm9uZSBhbmQgaW5zZWN1cmUuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpYnBpcGVsaW5lLm5vbmdudS5vcmcvIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1TUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbGlicGlwZWxpbmUvbGlicGlwZWxpbmUtJHtQVn0udGFyLmd6IgotU1JDX1VSSVttZDVzdW1dID0gImI3NDM3YTUwMjAxOTBjZmE4NGYwOWM0MTJkYjM4OTAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBkNzJlMTJlNGYyYWZmZjY3ZmQ3YjlkZjBhMjRkN2JhNDJiNWE3YzkyMTFhYzViM2RjY2NjNWNkOGIyODZmMmIiCi0KLWluaGVyaXQgcGtnY29uZmlnIGF1dG90b29scwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnBpcGVsaW5lL2xpYnBpcGVsaW5lXzEuNS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ODAyMDcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJwaXBlbGluZS9saWJwaXBlbGluZV8xLjUuMS5iYgpAQCAtMCwwICsxLDE1IEBACitTVU1NQVJZID0gInBpcGVsaW5lIG1hbmlwdWxhdGlvbiBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhpcyBpcyBhIEMgbGlicmFyeSBmb3Igc2V0dGluZyB1cCBhbmQgcnVubmluZyBwaXBlbGluZXMgb2YgcHJvY2Vzc2VzLCBcCit3aXRob3V0IG5lZWRpbmcgdG8gaW52b2x2ZSBzaGVsbCBjb21tYW5kLWxpbmUgcGFyc2luZyB3aGljaCBpcyBvZnRlbiBcCitlcnJvci1wcm9uZSBhbmQgaW5zZWN1cmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL2xpYnBpcGVsaW5lLm5vbmdudS5vcmcvIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbGlicGlwZWxpbmUvbGlicGlwZWxpbmUtJHtQVn0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjRjOGZlNmNkODU0MjJiYWFmZDZlMDYwZjg5NmM2MWJjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2MzM3MDZiN2Q4NDVmMDhiNDJiYzY2ZGRiZTg0NWQ1N2U3MjZiZjg5Mjk4ZTJjZWUyOWYwOTU3N2UyZjkwMmYiCisKK2luaGVyaXQgcGtnY29uZmlnIGF1dG90b29scworCithY3BhdGhzID0gIi1JICR7U30vZ2wvbTQgLUkgJHtTfS9tNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTVjYjYwZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTEgKzAsMCBAQAotRnJvbSA0N2M2ZjFiNDMzMmE5ZTQ5MzVjNDhjY2E4MjY3ODZhNmI4ZmU2ZjU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP05lYWw9MjBHb21wYT0yMD0yOD1FMz04Mz04Qj1FMz04Mz1CQz1FMz04Mz1BQj1FMz04Mz1CQj89Ci0gPT9VVEYtOD9xPz1FMz04Mj1CMz1FMz04Mj05OT1FMz04Mz1CMz1FMz04Mz04Rj1FMz04Mj05QT0yOT89Ci0gPG5nb21wYTEzQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTEgTm92IDIwMTUgMjA6MzI6MTcgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAxLzJdIEFkZCBmYWxsYmFjayBmb3BlbmNvb2tpZSgpIGltcGxlbWVudGF0aW9uCi0KLUluIGVudmlyb25tZW50cyB3aGVyZSBuZWl0aGVyIGZvcGVuY29va2llKCkgbm9yIGZ1bm9wZW4oKQotYXJlIGltcGxlbWVudGVkLCB3ZSBuZWVkIHRvIHByb3ZpZGUgYSBzdWl0YWJsZSBpbXBsZW1lbnRhdGlvbgotb2YgZm9wZW5jb29raWUoKSB0aGF0IHdlIGNhbiB1c2UuCi0KLUFsZXggS2FuYXZpbjogcmViYXNlZCBDTWFrZUxpc3RzLnR4dCBjaGFuZ2UgdG8gYXBwbHkgdG8gbGF0ZXN0IHVwc3RyZWFtIGNvZGUuCi0KLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9wdWxsLzExMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSBleHQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICB8ICAgNyArKwotIGV4dC9zb2x2X3hmb3Blbi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICstLQotIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIHwgIDI4ICsrKysrKysrCi0gNCBmaWxlcyBjaGFuZ2VkLCAxNjQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLQotZGlmZiAtLWdpdCBhL2V4dC9DTWFrZUxpc3RzLnR4dCBiL2V4dC9DTWFrZUxpc3RzLnR4dAotaW5kZXggYjg5MTdhMi4uZmFjNmMzMiAxMDA2NDQKLS0tLSBhL2V4dC9DTWFrZUxpc3RzLnR4dAotKysrIGIvZXh0L0NNYWtlTGlzdHMudHh0Ci1AQCAtNCw2ICs0LDEzIEBAIFNFVCAobGlic29sdmV4dF9TUkNTCi0gU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMKLSAgICAgdG9vbHNfdXRpbC5oIHNvbHZfeGZvcGVuLmggdGVzdGNhc2UuaCkKLSAKLStJRiAoTk9UIEhBVkVfRk9QRU5DT09LSUUgQU5EIE5PVCBIQVZFX0ZVTk9QRU4pCi0rICAgIFNFVCAobGlic29sdmV4dF9TUkNTICR7bGlic29sdmV4dF9TUkNTfQotKyAgICAgICAgc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYykKLSsgICAgU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMgJHtsaWJzb2x2ZXh0X0hFQURFUlN9Ci0rICAgICAgICBzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oKQotK0VORElGIChOT1QgSEFWRV9GT1BFTkNPT0tJRSBBTkQgTk9UIEhBVkVfRlVOT1BFTikKLSsKLSBJRiAoRU5BQkxFX1JQTURCIE9SIEVOQUJMRV9SUE1QS0cpCi0gICAgIFNFVCAobGlic29sdmV4dF9TUkNTICR7bGlic29sdmV4dF9TUkNTfQotICAgICAgICAgcG9vbF9maWxlY29uZmxpY3RzLmMgcmVwb19ycG1kYi5jKQotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbi5jIGIvZXh0L3NvbHZfeGZvcGVuLmMKLWluZGV4IDJjNjRiYjYuLmViM2EzYWQgMTAwNjQ0Ci0tLS0gYS9leHQvc29sdl94Zm9wZW4uYwotKysrIGIvZXh0L3NvbHZfeGZvcGVuLmMKLUBAIC0xMiw2ICsxMiwxMCBAQAotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLSAKLSsjaWYgIWRlZmluZWQoSEFWRV9GVU5PUEVOKSAmJiAhZGVmaW5lZChIQVZFX0ZPUEVOQ09PS0lFKQotKyNpbmNsdWRlICJzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIgotKyNlbmRpZgotKwotICNpbmNsdWRlICJzb2x2X3hmb3Blbi5oIgotICNpbmNsdWRlICJ1dGlsLmgiCi0gCi1AQCAtMjEsNyArMjUsNyBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gCXNzaXplX3QgKCpjd3JpdGUpKHZvaWQgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpLAotIAlpbnQgKCpjY2xvc2UpKHZvaWQgKikpCi0gewotLSNpZmRlZiBIQVZFX0ZVTk9QRU4KLSsjaWYgZGVmaW5lZChIQVZFX0ZVTk9QRU4pICYmICFkZWZpbmVkKEhBVkVfRk9QRU5DT09LSUUpCi0gICBpZiAoIWNvb2tpZSkKLSAgICAgcmV0dXJuIDA7Ci0gICByZXR1cm4gZnVub3Blbihjb29raWUsCi1AQCAtMzAsNyArMzQsNyBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gICAgICAgKGZwb3NfdCAoKikodm9pZCAqLCBmcG9zX3QsIGludCkpTlVMTCwJCQkJCS8qIHNlZWtmbiAqLwotICAgICAgIGNjbG9zZQotICAgICAgICk7Ci0tI2VsaWYgZGVmaW5lZChIQVZFX0ZPUEVOQ09PS0lFKQotKyNlbHNlCi0gICBjb29raWVfaW9fZnVuY3Rpb25zX3QgY2lvOwotIAotICAgaWYgKCFjb29raWUpCi1AQCAtNDIsOCArNDYsNiBAQCBzdGF0aWMgRklMRSAqY29va2llb3Blbih2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsCi0gICAgIGNpby53cml0ZSA9IGN3cml0ZTsKLSAgIGNpby5jbG9zZSA9IGNjbG9zZTsKLSAgIHJldHVybiAgZm9wZW5jb29raWUoY29va2llLCAqbW9kZSA9PSAndycgPyAidyIgOiAiciIsIGNpbyk7Ci0tI2Vsc2UKLS0jIGVycm9yIE5lZWQgdG8gaW1wbGVtZW50IGN1c3RvbSBJL08KLSAjZW5kaWYKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjBjZTI1NzEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCi1AQCAtMCwwICsxLDEyMyBAQAotKy8qIAotKyAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYwotKyAqCXRoYXQgbGFja3MgaXQuCi0rICoJCi0rICoJQXV0aG9yOiB6aGFzaGEKLSsgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0rICoJCi0rICoJVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgbGljZW5zZSwgcmVhZCBMSUNFTlNFLkJTRAotKyAqCWZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgotKyAqCi0rICovCi0rCi0rI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKLSsjaW5jbHVkZSA8cHRocmVhZC5oPgotKyNpbmNsdWRlIDxzdGRpby5oPgotKyNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2luY2x1ZGUgPGZjbnRsLmg+Ci0rI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNsdWRlICJzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIgotKwotK2V4dGVybiBpbnQgcGlwZTIoaW50WzJdLCBpbnQpOwotKwotK3N0cnVjdCBjdHggewotKyAgICBpbnQgZmQ7Ci0rICAgIHZvaWQgKmNvb2tpZTsKLSsgICAgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpbzsKLSsgICAgY2hhciBidWZbMTAyNF07Ci0rfTsKLSsKLStzdGF0aWMgdm9pZCAqcHJveHkodm9pZCAqYXJnKQotK3sKLSsgICAgc3RydWN0IGN0eCAqY3R4ID0gYXJnOwotKyAgICBzc2l6ZV90IHI7Ci0rICAgIHNpemVfdCBuOwotKwotKyAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFkX3NlbGYoKSk7Ci0rCi0rICAgIHdoaWxlICgxKSB7Ci0rICAgICAgICByID0gY3R4LT5pby5yZWFkID8KLSsgICAgICAgICAgICAoY3R4LT5pby5yZWFkKShjdHgtPmNvb2tpZSwgY3R4LT5idWYsIHNpemVvZihjdHgtPmJ1ZikpIDoKLSsgICAgICAgICAgICByZWFkKGN0eC0+ZmQsIGN0eC0+YnVmLCBzaXplb2YoY3R4LT5idWYpKTsKLSsgICAgICAgIGlmIChyIDwgMCkgewotKyAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQotKyAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgfQotKyAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQotKwotKyAgICAgICAgd2hpbGUgKG4gPiAwKSB7Ci0rICAgICAgICAgICAgciA9IGN0eC0+aW8ud3JpdGUgPwotKyAgICAgICAgICAgICAgICAoY3R4LT5pby53cml0ZSkoY3R4LT5jb29raWUsIGN0eC0+YnVmICsgKChzaXplX3QpciAtIG4pLCBuKSA6Ci0rICAgICAgICAgICAgICAgIHdyaXRlKGN0eC0+ZmQsIGN0eC0+YnVmICsgKChzaXplX3QpciAtIG4pLCBuKTsKLSsgICAgICAgICAgICBpZiAociA8IDApIHsKLSsgICAgICAgICAgICAgICAgaWYgKGVycm5vICE9IEVJTlRSKSB7IGJyZWFrOyB9Ci0rICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBpZiAociA9PSAwKSB7IGJyZWFrOyB9Ci0rCi0rICAgICAgICAgICAgbiAtPSAoc2l6ZV90KXI7Ci0rICAgICAgICB9Ci0rICAgICAgICBpZiAobiA+IDApIHsgYnJlYWs7IH0KLSsgICAgfQotKwotKyAgICBpZiAoY3R4LT5pby5jbG9zZSkgeyAoY3R4LT5pby5jbG9zZSkoY3R4LT5jb29raWUpOyB9Ci0rICAgIGNsb3NlKGN0eC0+ZmQpOwotKyAgICByZXR1cm4gTlVMTDsKLSt9Ci0rCi0rRklMRSAqZm9wZW5jb29raWUodm9pZCAqY29va2llLCBjb25zdCBjaGFyICptb2RlLCBzdHJ1Y3QgY29va2llX2lvX2Z1bmN0aW9uc190IGlvKQotK3sKLSsgICAgc3RydWN0IGN0eCAqY3R4ID0gTlVMTDsKLSsgICAgaW50IHJkID0gMCwgd3IgPSAwOwotKyAgICBpbnQgcFsyXSA9IHsgLTEsIC0xIH07Ci0rICAgIEZJTEUgKmYgPSBOVUxMOwotKyAgICBwdGhyZWFkX3QgZHVtbXk7Ci0rCi0rICAgIHN3aXRjaCAobW9kZVswXSkgewotKyAgICAgICAgY2FzZSAnYSc6Ci0rICAgICAgICBjYXNlICdyJzogcmQgPSAxOyBicmVhazsKLSsgICAgICAgIGNhc2UgJ3cnOiB3ciA9IDE7IGJyZWFrOwotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICBzd2l0Y2ggKG1vZGVbMV0pIHsKLSsgICAgICAgIGNhc2UgJ1wwJzogYnJlYWs7Ci0rICAgICAgICBjYXNlICcrJzoKLSsgICAgICAgICAgICBpZiAobW9kZVsyXSA9PSAnXDAnKSB7Ci0rICAgICAgICAgICAgICAgIGVycm5vID0gRU5PVFNVUDsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKLSsgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKyAgICBpZiAoaW8uc2VlaykgewotKyAgICAgICAgZXJybm8gPSBFTk9UU1VQOwotKyAgICAgICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSsgICAgY3R4ID0gbWFsbG9jKHNpemVvZigqY3R4KSk7Ci0rICAgIGlmICghY3R4KSB7IHJldHVybiBOVUxMOyB9Ci0rICAgIGlmIChwaXBlMihwLCBPX0NMT0VYRUMpICE9IDApIHsgZ290byBlcnI7IH0KLSsgICAgaWYgKChmID0gZmRvcGVuKHBbd3JdLCBtb2RlKSkgPT0gTlVMTCkgeyBnb3RvIGVycjsgfQotKyAgICBwW3dyXSA9IC0xOwotKyAgICBjdHgtPmZkID0gcFtyZF07Ci0rICAgIGN0eC0+Y29va2llID0gY29va2llOwotKyAgICBjdHgtPmlvLnJlYWQgPSByZCA/IGlvLnJlYWQgOiBOVUxMOwotKyAgICBjdHgtPmlvLndyaXRlID0gd3IgPyBpby53cml0ZSA6IE5VTEw7Ci0rICAgIGN0eC0+aW8uc2VlayA9IE5VTEw7Ci0rICAgIGN0eC0+aW8uY2xvc2UgPSBpby5jbG9zZTsKLSsgICAgaWYgKHB0aHJlYWRfY3JlYXRlKCZkdW1teSwgTlVMTCwgcHJveHksIGN0eCkgIT0gMCkgeyBnb3RvIGVycjsgfQotKwotKyAgICByZXR1cm4gZjsKLSsKLStlcnI6Ci0rICAgIGlmIChwWzBdID49IDApIHsgY2xvc2UocFswXSk7IH0KLSsgICAgaWYgKHBbMV0gPj0gMCkgeyBjbG9zZShwWzFdKTsgfQotKyAgICBpZiAoZikgeyBmY2xvc2UoZik7IH0KLSsgICAgZnJlZShjdHgpOwotKyAgICByZXR1cm4gTlVMTDsKLSt9Ci1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmggYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjZhN2JmZWUKLS0tLSAvZGV2L251bGwKLSsrKyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCi1AQCAtMCwwICsxLDI4IEBACi0rLyogCi0rICoJUHJvdmlkZXMgYSB2ZXJ5IGxpbWl0ZWQgZm9wZW5jb29raWUoKSBmb3IgZW52aXJvbm1lbnRzIHdpdGggYSBsaWJjCi0rICoJdGhhdCBsYWNrcyBpdC4KLSsgKgkKLSsgKglBdXRob3I6IHpoYXNoYQotKyAqCU1vZGlmaWVkIGZvciBsaWJzb2x2IGJ5IE5lYWwgR29tcGEKLSsgKgkKLSsgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECi0rICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCi0rICoJCi0rICovCi0rCi0rI2lmbmRlZiBTT0xWX1hGT1BFTl9GQUxMQkFDS19GT1BFTkNPT0tJRV9ICi0rI2RlZmluZSBTT0xWX1hGT1BFTl9GQUxMQkFDS19GT1BFTkNPT0tJRV9ICi0rCi0rI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHN0ZGludC5oPgotKwotK3R5cGVkZWYgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCB7Ci0rICAgIHNzaXplX3QgKCpyZWFkKSh2b2lkICosIGNoYXIgKiwgc2l6ZV90KTsKLSsgICAgc3NpemVfdCAoKndyaXRlKSh2b2lkICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKLSsgICAgaW50ICgqc2Vlaykodm9pZCAqLCBvZmY2NF90LCBpbnQpOwotKyAgICBpbnQgKCpjbG9zZSkodm9pZCAqKTsKLSt9IGNvb2tpZV9pb19mdW5jdGlvbnNfdDsKLSsKLStGSUxFICpmb3BlbmNvb2tpZSh2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgaW8pOwotKwotKyNlbmRpZgotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1idWlsZC11c2UtR05VSW5zdGFsbERpcnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVlZjE1MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLWJ1aWxkLXVzZS1HTlVJbnN0YWxsRGlycy5wYXRjaApAQCAtMCwwICsxLDE4OCBAQAorQmFja3BvcnQgYSBwYXRjaCBmcm9tIHVwc3RyZWFtIHRvIHVzZSBHTlVJbnN0YWxsRGlycyBpbnN0ZWFkIG9mCitoYW5kLWNvZGVkIHBhdGggbG9naWMsIHNvIHdlIGhhdmUgcHJvcGVyIGNvbnRyb2wgb3ZlciB3aGVyZSBmaWxlcyBlbmQgdXAuCisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gYjZjOWRmNGM2ODY5NzVjZTUwMDlkMDlkYWM3MDZhNGU4M2YwMmEzMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorRGF0ZTogTW9uLCAyIEp1bCAyMDE4IDEyOjU2OjQxICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGJ1aWxkOiB1c2UgR05VSW5zdGFsbERpcnMKKworRml4ZXM6ICMxMjgKK1NpZ25lZC1vZmYtYnk6IElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorLS0tCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICB8IDM0ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBSRUFETUUgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBkb2MvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDQgKystLQorIGV4YW1wbGVzL3NvbHYvQ01ha2VMaXN0cy50eHQgfCAgMiArLQorIGV4dC9DTWFrZUxpc3RzLnR4dCAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGxpYnNvbHYucGMuaW4gICAgICAgICAgICAgICAgfCAgNCArKy0tCisgbGlic29sdmV4dC5wYy5pbiAgICAgICAgICAgICB8ICA0ICsrLS0KKyBzcmMvQ01ha2VMaXN0cy50eHQgICAgICAgICAgIHwgIDggKysrKy0tLS0KKyB0b29scy9DTWFrZUxpc3RzLnR4dCAgICAgICAgIHwgIDMgKy0tCisgOSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IDFkZWVmNTdkLi43ZTlmZmE5YiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNiArMSw2IEBACisgUFJPSkVDVCAobGlic29sdikKKyAKKy1DTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuNCkKKytDTUFLRV9NSU5JTVVNX1JFUVVJUkVEIChWRVJTSU9OIDIuOC41KQorIAorIE9QVElPTiAoRU5BQkxFX1NUQVRJQyAiQnVpbGQgYSBzdGF0aWMgdmVyc2lvbiBvZiB0aGUgbGlicmFyaWVzPyIgT0ZGKQorIE9QVElPTiAoRElTQUJMRV9TSEFSRUQgIkRvIG5vdCBidWlsZCBhIHNoYXJlZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJpZXM/IiBPRkYpCitAQCAtMzgsMzQgKzM4LDE0IEBAIE9QVElPTiAoRU5BQkxFX1pDSFVOS19DT01QUkVTU0lPTiAiQnVpbGQgd2l0aCB6Y2h1bmsgY29tcHJlc3Npb24gc3VwcG9ydD8iIE9GRikKKyBPUFRJT04gKFdJVEhfU1lTVEVNX1pDSFVOSyAiVXNlIHN5c3RlbSB6Y2h1bmsgbGlicmFyeT8iIE9GRikKKyBPUFRJT04gKFdJVEhfTElCWE1MMiAgIkJ1aWxkIHdpdGggbGlieG1sMiBpbnN0ZWFkIG9mIGxpYmV4cGF0PyIgT0ZGKQorIAorLSMgTGlicmFyeQorLUlGIChERUZJTkVEIExJQikKKy0gIFNFVCAoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0xJQn0iKQorLUVMU0UgKERFRklORUQgIExJQikKKy0gIElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQorLSAgICBTRVQgKExJQl9TVUZGSVggIjY0IikKKy0gIEVORElGIChDTUFLRV9TSVpFT0ZfVk9JRF9QIE1BVENIRVMgIjgiKQorLSAgU0VUIChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2xpYiR7TElCX1NVRkZJWH0iKQorLUVORElGIChERUZJTkVEICBMSUIpCistTUVTU0FHRSAoU1RBVFVTICJMaWJyYXJpZXMgd2lsbCBiZSBpbnN0YWxsZWQgaW4gJHtMSUJfSU5TVEFMTF9ESVJ9IikKKy0jIExpYnJhcnkKKy1JRiAoREVGSU5FRCBJTkNMVURFKQorLSAgU0VUIChJTkNMVURFX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS8ke0lOQ0xVREV9IikKKy1lbHNlIChERUZJTkVEIElOQ0xVREUpCistICBTRVQgKElOQ0xVREVfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2luY2x1ZGUiKQorLUVORElGIChERUZJTkVEICBJTkNMVURFKQorLU1FU1NBR0UgKFNUQVRVUyAiSGVhZGVyIGZpbGVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7SU5DTFVERV9JTlNUQUxMX0RJUn0iKQorLVNFVCAoQklOX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4iKQorLUlGIChOT1QgTUFOX0lOU1RBTExfRElSKQorLVNFVCAoTUFOX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iKQorLUlGIChJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIgIEFORCBOT1QgSVNfRElSRUNUT1JZICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iKQorLSAgU0VUIChNQU5fSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIpCistRU5ESUYgKElTX0RJUkVDVE9SWSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbWFuIiAgQU5EIE5PVCBJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L3NoYXJlL21hbiIpCistRU5ESUYgKE5PVCBNQU5fSU5TVEFMTF9ESVIpCistTUVTU0FHRShTVEFUVVMgIk1hbiBwYWdlcyB3aWxsIGJlIGluc3RhbGxlZCBpbiAke01BTl9JTlNUQUxMX0RJUn0iKQorK2luY2x1ZGUgKEdOVUluc3RhbGxEaXJzKQorK21lc3NhZ2UgKFNUQVRVUyAiTGlicmFyaWVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0iKQorK21lc3NhZ2UgKFNUQVRVUyAiSGVhZGVyIGZpbGVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0lOQ0xVREVESVJ9IikKKyttZXNzYWdlIChTVEFUVVMgIkJpbmFyaWVzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX0JJTkRJUn0iKQorK21lc3NhZ2UgKFNUQVRVUyAiTWFuIHBhZ2VzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7Q01BS0VfSU5TVEFMTF9GVUxMX01BTkRJUn0iKQorIAorIElGIChOT1QgUEtHQ09ORklHX0lOU1RBTExfRElSKQorLSAgU0VUIChQS0dDT05GSUdfSU5TVEFMTF9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9L3BrZ2NvbmZpZykKKysgIFNFVCAoUEtHQ09ORklHX0lOU1RBTExfRElSICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9L3BrZ2NvbmZpZykKKyBFTkRJRiAoTk9UIFBLR0NPTkZJR19JTlNUQUxMX0RJUikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICMgQ09ORklHVVJBVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCitkaWZmIC0tZ2l0IGEvZG9jL0NNYWtlTGlzdHMudHh0IGIvZG9jL0NNYWtlTGlzdHMudHh0CitpbmRleCA2NjAxMWI0OC4uZWQzODI3NGUgMTAwNjQ0CistLS0gYS9kb2MvQ01ha2VMaXN0cy50eHQKKysrKyBiL2RvYy9DTWFrZUxpc3RzLnR4dAorQEAgLTQ4LDggKzQ4LDggQEAgU1RSSU5HKFJFR0VYIFJFUExBQ0UgIihbXjtdKykiICJnZW4vXFwxIiBsaWJzb2x2X01BTlBBR0VTMyAiJHtsaWJzb2x2X01BTlBBR0VTM30KKyAKKyBJTlNUQUxMKEZJTEVTCisgICAgICR7bGlic29sdl9NQU5QQUdFUzN9CistICAgIERFU1RJTkFUSU9OICIke01BTl9JTlNUQUxMX0RJUn0vbWFuMyIpCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTUFORElSfS9tYW4zIikKKyAKKyBJTlNUQUxMKEZJTEVTCisgICAgICR7bGlic29sdl9NQU5QQUdFUzF9CistICAgIERFU1RJTkFUSU9OICIke01BTl9JTlNUQUxMX0RJUn0vbWFuMSIpCisrICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfTUFORElSfS9tYW4xIikKK2RpZmYgLS1naXQgYS9leGFtcGxlcy9zb2x2L0NNYWtlTGlzdHMudHh0IGIvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNDFmNDVmNzQuLjBmM2JkNDc3IDEwMDY0NAorLS0tIGEvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAorKysrIGIvZXhhbXBsZXMvc29sdi9DTWFrZUxpc3RzLnR4dAorQEAgLTI1LDUgKzI1LDUgQEAgVEFSR0VUX0xJTktfTElCUkFSSUVTIChzb2x2IGxpYnNvbHZleHQgbGlic29sdiAke1NZU1RFTV9MSUJSQVJJRVN9KQorIAorIElOU1RBTEwoVEFSR0VUUworICAgICBzb2x2CistICAgIERFU1RJTkFUSU9OICR7QklOX0lOU1RBTExfRElSfSkKKysgICAgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0JJTkRJUn0pCisgCitkaWZmIC0tZ2l0IGEvZXh0L0NNYWtlTGlzdHMudHh0IGIvZXh0L0NNYWtlTGlzdHMudHh0CitpbmRleCBlZGMyYjlmOS4uNmRkMjhiMWEgMTAwNjQ0CistLS0gYS9leHQvQ01ha2VMaXN0cy50eHQKKysrKyBiL2V4dC9DTWFrZUxpc3RzLnR4dAorQEAgLTE0NSwxNCArMTQ1LDE0IEBAIEVORElGIChESVNBQkxFX1NIQVJFRCkKKyAKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2ZXh0IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIFNPVkVSU0lPTiAke0xJQlNPTFZFWFRfU09WRVJTSU9OfSkKKy1TRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dCBQUk9QRVJUSUVTIElOU1RBTExfTkFNRV9ESVIgJHtMSUJfSU5TVEFMTF9ESVJ9KQorK1NFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2ZXh0IFBST1BFUlRJRVMgSU5TVEFMTF9OQU1FX0RJUiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyAKKy1JTlNUQUxMIChGSUxFUyAke2xpYnNvbHZleHRfSEVBREVSU30gREVTVElOQVRJT04gIiR7SU5DTFVERV9JTlNUQUxMX0RJUn0vc29sdiIpCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2ZXh0IExJQlJBUlkgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IFJVTlRJTUUgREVTVElOQVRJT04gYmluKQorK0lOU1RBTEwgKEZJTEVTICR7bGlic29sdmV4dF9IRUFERVJTfSBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9L3NvbHYiKQorK0lOU1RBTEwgKFRBUkdFVFMgbGlic29sdmV4dCBMSUJSQVJZIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gUlVOVElNRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfQklORElSfSkKKyAKKyBJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorIEFERF9MSUJSQVJZIChsaWJzb2x2ZXh0X3N0YXRpYyBTVEFUSUMgJHtsaWJzb2x2ZXh0X1NSQ1N9KQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2ZXh0X3N0YXRpYyBQUk9QRVJUSUVTIE9VVFBVVF9OQU1FICJzb2x2ZXh0IikKKyBTRVRfVEFSR0VUX1BST1BFUlRJRVMobGlic29sdmV4dF9zdGF0aWMgUFJPUEVSVElFUyBTT1ZFUlNJT04gJHtMSUJTT0xWRVhUX1NPVkVSU0lPTn0pCistSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2ZXh0X3N0YXRpYyBMSUJSQVJZIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7TElCX0lOU1RBTExfRElSfSkKKytJTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZleHRfc3RhdGljIExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSkKKyBFTkRJRiAoRU5BQkxFX1NUQVRJQyBBTkQgTk9UIERJU0FCTEVfU0hBUkVEKQorZGlmZiAtLWdpdCBhL2xpYnNvbHYucGMuaW4gYi9saWJzb2x2LnBjLmluCitpbmRleCA0MGE4NjIzMC4uNzY2MTQ2YzUgMTAwNjQ0CistLS0gYS9saWJzb2x2LnBjLmluCisrKysgYi9saWJzb2x2LnBjLmluCitAQCAtMSw1ICsxLDUgQEAKKy1saWJkaXI9QExJQl9JTlNUQUxMX0RJUkAKKy1pbmNsdWRlZGlyPUBJTkNMVURFX0lOU1RBTExfRElSQAorK2xpYmRpcj1AQ01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUkAKKytpbmNsdWRlZGlyPUBDTUFLRV9JTlNUQUxMX0ZVTExfSU5DTFVERURJUkAKKyAKKyBOYW1lOiBsaWJzb2x2CisgRGVzY3JpcHRpb246IExpYnJhcnkgZm9yIHNvbHZpbmcgcGFja2FnZXMKK2RpZmYgLS1naXQgYS9saWJzb2x2ZXh0LnBjLmluIGIvbGlic29sdmV4dC5wYy5pbgoraW5kZXggZDQ4YjZmYWIuLmQwMDc4NDYxIDEwMDY0NAorLS0tIGEvbGlic29sdmV4dC5wYy5pbgorKysrIGIvbGlic29sdmV4dC5wYy5pbgorQEAgLTEsNSArMSw1IEBACistbGliZGlyPUBMSUJfSU5TVEFMTF9ESVJACistaW5jbHVkZWRpcj1ASU5DTFVERV9JTlNUQUxMX0RJUkAKKytsaWJkaXI9QENNQUtFX0lOU1RBTExfRlVMTF9MSUJESVJACisraW5jbHVkZWRpcj1AQ01BS0VfSU5TVEFMTF9GVUxMX0lOQ0xVREVESVJACisgCisgTmFtZTogbGlic29sdmV4dAorIERlc2NyaXB0aW9uOiBMaWJyYXJ5IGZvciByZWFkaW5nIHJlcG9zaXRvcmllcworZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAoraW5kZXggMmUzMjk2OGUuLjAzZWE5MTE5IDEwMDY0NAorLS0tIGEvc3JjL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKK0BAIC00MiwxNCArNDIsMTQgQEAgRU5ESUYgKERJU0FCTEVfU0hBUkVEKQorIAorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgT1VUUFVUX05BTUUgInNvbHYiKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgU09WRVJTSU9OICR7TElCU09MVl9TT1ZFUlNJT059KQorLVNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2IFBST1BFUlRJRVMgSU5TVEFMTF9OQU1FX0RJUiAke0xJQl9JTlNUQUxMX0RJUn0pCisrU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHYgUFJPUEVSVElFUyBJTlNUQUxMX05BTUVfRElSICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9KQorIAorLUlOU1RBTEwgKEZJTEVTICR7bGlic29sdl9IRUFERVJTfSBERVNUSU5BVElPTiAiJHtJTkNMVURFX0lOU1RBTExfRElSfS9zb2x2IikKKy1JTlNUQUxMIChUQVJHRVRTIGxpYnNvbHYgTElCUkFSWSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0gUlVOVElNRSBERVNUSU5BVElPTiBiaW4pCisrSU5TVEFMTCAoRklMRVMgJHtsaWJzb2x2X0hFQURFUlN9IERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vc29sdiIpCisrSU5TVEFMTCAoVEFSR0VUUyBsaWJzb2x2IExJQlJBUlkgREVTVElOQVRJT04gJHtDTUFLRV9JTlNUQUxMX0xJQkRJUn0gQVJDSElWRSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSBSVU5USU1FIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorIAorIElGIChFTkFCTEVfU1RBVElDIEFORCBOT1QgRElTQUJMRV9TSEFSRUQpCisgQUREX0xJQlJBUlkgKGxpYnNvbHZfc3RhdGljIFNUQVRJQyAke2xpYnNvbHZfU1JDU30pCisgU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGxpYnNvbHZfc3RhdGljIFBST1BFUlRJRVMgT1VUUFVUX05BTUUgInNvbHYiKQorIFNFVF9UQVJHRVRfUFJPUEVSVElFUyhsaWJzb2x2X3N0YXRpYyBQUk9QRVJUSUVTIFNPVkVSU0lPTiAke0xJQlNPTFZfU09WRVJTSU9OfSkKKy1JTlNUQUxMIChUQVJHRVRTIGxpYnNvbHZfc3RhdGljIExJQlJBUlkgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9IEFSQ0hJVkUgREVTVElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9KQorK0lOU1RBTEwgKFRBUkdFVFMgbGlic29sdl9zdGF0aWMgTElCUkFSWSBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfTElCRElSfSBBUkNISVZFIERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9MSUJESVJ9KQorIEVORElGIChFTkFCTEVfU1RBVElDIEFORCBOT1QgRElTQUJMRV9TSEFSRUQpCitkaWZmIC0tZ2l0IGEvdG9vbHMvQ01ha2VMaXN0cy50eHQgYi90b29scy9DTWFrZUxpc3RzLnR4dAoraW5kZXggODAyZGM1MDAuLjBkNjc3ZjY5IDEwMDY0NAorLS0tIGEvdG9vbHMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rvb2xzL0NNYWtlTGlzdHMudHh0CitAQCAtMTEwLDUgKzExMCw0IEBAIFRBUkdFVF9MSU5LX0xJQlJBUklFUyAodGVzdHNvbHYgbGlic29sdmV4dCBsaWJzb2x2ICR7U1lTVEVNX0xJQlJBUklFU30pCisgQUREX0VYRUNVVEFCTEUgKHJlcG8yc29sdiByZXBvMnNvbHYuYyApCisgVEFSR0VUX0xJTktfTElCUkFSSUVTIChyZXBvMnNvbHYgdG9vbHN0dWZmIGxpYnNvbHZleHQgbGlic29sdiAke1NZU1RFTV9MSUJSQVJJRVN9KQorIAorLUlOU1RBTEwgKFRBUkdFVFMgJHt0b29sc19saXN0fSBERVNUSU5BVElPTiAke0JJTl9JTlNUQUxMX0RJUn0pCistCisrSU5TVEFMTCAoVEFSR0VUUyAke3Rvb2xzX2xpc3R9IERFU1RJTkFUSU9OICR7Q01BS0VfSU5TVEFMTF9CSU5ESVJ9KQorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtc29sdmVyX3NvbHZlLW9ubHktZGlzZmF2b3ItcmVjb21tZW5kcy1pZi10aGVyZS1hcmUtYS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5NjEzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLXNvbHZlcl9zb2x2ZS1vbmx5LWRpc2Zhdm9yLXJlY29tbWVuZHMtaWYtdGhlcmUtYXJlLWEucGF0Y2gKQEAgLTAsMCArMSwzMyBAQAorRnJvbSAxOWQ3Y2M4N2FkYmE5MmQzMWQ1ZmFmZGY3ZGIwMDkyMGQyNGE5NmE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxlamFuZHJvIGRlbCBDYXN0aWxsbyA8YWxlamFuZHJvLmRlbGNhc3RpbGxvQG5pLmNvbT4KK0RhdGU6IFdlZCwgNiBGZWIgMjAxOSAxMzoyNDowNCAtMDYwMAorU3ViamVjdDogW1BBVENIXSBzb2x2ZXJfc29sdmU6IG9ubHkgZGlzZmF2b3IgcmVjb21tZW5kcyBpZiB0aGVyZSBhcmUgYW55CisKK0luIGEgcmVwbyB0aGF0IGhhdmUgcGtnICdhJyBhbmQgJ2InIGF2YWlsYWJsZSwgYW5kICdiJyBpcyBkaXNmYXZvcmVkLAorYnV0ICdhJyBkb2Vzbid0IHJlY29tbWVuZCAnYicsIGxpYnNvbHYgc2VnZmF1bHRzIG9uCitzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzLCBzaW5jZSBzb2x2LT5yZWNvbW1lbmRzcnVsZXEgaXMgbnVsbC4gT25seQorY2FsbCBzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzIGlmIHRoZXJlIGFyZSByZWNvbW1lbmRzIHJ1bGVzLgorCitTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gZGVsIENhc3RpbGxvIDxhbGVqYW5kcm8uZGVsY2FzdGlsbG9AbmkuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkCistLS0KKyBzcmMvc29sdmVyLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc29sdmVyLmMgYi9zcmMvc29sdmVyLmMKK2luZGV4IGE4MDA5MGQxOS4uYWQ3ODMyN2E4IDEwMDY0NAorLS0tIGEvc3JjL3NvbHZlci5jCisrKysgYi9zcmMvc29sdmVyLmMKK0BAIC0zOTIwLDcgKzM5MjAsNyBAQCBzb2x2ZXJfc29sdmUoU29sdmVyICpzb2x2LCBRdWV1ZSAqam9iKQorICAgZWxzZQorICAgICBzb2x2LT55dW1vYnNydWxlcyA9IHNvbHYtPnl1bW9ic3J1bGVzX2VuZCA9IHNvbHYtPm5ydWxlczsKKyAKKy0gIGlmIChzb2x2LT5oYXZlZGlzZmF2b3JlZCAmJiBzb2x2LT5zdHJvbmdyZWNvbW1lbmRzKQorKyAgaWYgKHNvbHYtPmhhdmVkaXNmYXZvcmVkICYmIHNvbHYtPnN0cm9uZ3JlY29tbWVuZHMgJiYgc29sdi0+cmVjb21tZW5kc3J1bGVxKQorICAgICBzb2x2ZXJfYWRkcmVjb21tZW5kc3J1bGVzKHNvbHYpOworICAgZWxzZQorICAgICBzb2x2LT5yZWNvbW1lbmRzcnVsZXMgPSBzb2x2LT5yZWNvbW1lbmRzcnVsZXNfZW5kID0gc29sdi0+bnJ1bGVzOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMi1GaXhlcy10by1pbnRlcm5hbC1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTNiOGNjOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMi1GaXhlcy10by1pbnRlcm5hbC1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1Gcm9tIDg0ZTEyYmY3ZWNlNDkwNzNjNTU5ZGZkNTgwMDUxMzJhNjA5OWE5NjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/TmVhbD0yMEdvbXBhPTIwPTI4PUUzPTgzPThCPUUzPTgzPUJDPUUzPTgzPUFCPUUzPTgzPUJCPz0KLSA9P1VURi04P3E/PUUzPTgyPUIzPUUzPTgyPTk5PUUzPTgzPUIzPUUzPTgzPThGPUUzPTgyPTlBPTI5Pz0KLSA8bmdvbXBhMTNAZ21haWwuY29tPgotRGF0ZTogTW9uLCAyMyBOb3YgMjAxNSAxODoxOTo0MSAtMDUwMAotU3ViamVjdDogW1BBVENIIDIvMl0gRml4ZXMgdG8gaW50ZXJuYWwgZm9wZW5jb29raWUoKSBpbXBsZW1lbnRhdGlvbgotCi1DcmVkaXRzIHRvIHRoZSBmaXhlcyBnbyB0byBuc3ogb24gI211c2wgb24gRnJlZW5vZGUsCi13aG8gZ2xvcmlvdXNseSBmaXhlZCB0aGUgaW1wbGVtZW50YXRpb24gc3VjaCB0aGF0Ci10aGUgdGVzdHMgYWxsIHBhc3MuCi0KLVVwc3RyZWFtLVN0YXR1czogRGVuaWVkIFtodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9wdWxsLzExMl0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYyB8IDE5ICsrKysrKysrKystLS0tLS0tLS0KLSBleHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCB8IDEwICsrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotaW5kZXggMGNlMjU3MS4uODk0MjZhOSAxMDA2NDQKLS0tLSBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCi0rKysgYi9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYwotQEAgLTEsMTAgKzEsMTAgQEAKLS0vKiAKLSsvKgotICAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYwotICAqCXRoYXQgbGFja3MgaXQuCi0tICoJCi0tICoJQXV0aG9yOiB6aGFzaGEKLSsgKgotKyAqCUF1dGhvcnM6IHpoYXNoYSAmIG5zegotICAqCU1vZGlmaWVkIGZvciBsaWJzb2x2IGJ5IE5lYWwgR29tcGEKLS0gKgkKLSsgKgotICAqCVRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNEIGxpY2Vuc2UsIHJlYWQgTElDRU5TRS5CU0QKLSAgKglmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KLSAgKgotQEAgLTMzLDcgKzMzLDcgQEAgc3RhdGljIHZvaWQgKnByb3h5KHZvaWQgKmFyZykKLSB7Ci0gICAgIHN0cnVjdCBjdHggKmN0eCA9IGFyZzsKLSAgICAgc3NpemVfdCByOwotLSAgICBzaXplX3QgbjsKLSsgICAgc2l6ZV90IG4sIGs7Ci0gCi0gICAgIHB0aHJlYWRfZGV0YWNoKHB0aHJlYWRfc2VsZigpKTsKLSAKLUBAIC00NywxNyArNDcsMTggQEAgc3RhdGljIHZvaWQgKnByb3h5KHZvaWQgKmFyZykKLSAgICAgICAgIH0KLSAgICAgICAgIGlmIChyID09IDApIHsgYnJlYWs7IH0KLSAKLSsgICAgICAgIG4gPSByLCBrID0gMDsKLSAgICAgICAgIHdoaWxlIChuID4gMCkgewotICAgICAgICAgICAgIHIgPSBjdHgtPmlvLndyaXRlID8KLS0gICAgICAgICAgICAgICAgKGN0eC0+aW8ud3JpdGUpKGN0eC0+Y29va2llLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbikgOgotLSAgICAgICAgICAgICAgICB3cml0ZShjdHgtPmZkLCBjdHgtPmJ1ZiArICgoc2l6ZV90KXIgLSBuKSwgbik7Ci0rICAgICAgICAgICAgICAgIChjdHgtPmlvLndyaXRlKShjdHgtPmNvb2tpZSwgY3R4LT5idWYgKyBrLCBuKSA6Ci0rICAgICAgICAgICAgICAgIHdyaXRlKGN0eC0+ZmQsIGN0eC0+YnVmICsgaywgbik7Ci0gICAgICAgICAgICAgaWYgKHIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQotICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQotIAotLSAgICAgICAgICAgIG4gLT0gKHNpemVfdClyOwotKyAgICAgICAgICAgIG4gLT0gciwgayArPSByOwotICAgICAgICAgfQotICAgICAgICAgaWYgKG4gPiAwKSB7IGJyZWFrOyB9Ci0gICAgIH0KLUBAIC03Nyw4ICs3OCw4IEBAIEZJTEUgKmZvcGVuY29va2llKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpCi0gCi0gICAgIHN3aXRjaCAobW9kZVswXSkgewotICAgICAgICAgY2FzZSAnYSc6Ci0tICAgICAgICBjYXNlICdyJzogcmQgPSAxOyBicmVhazsKLSAgICAgICAgIGNhc2UgJ3cnOiB3ciA9IDE7IGJyZWFrOwotKyAgICAgICAgY2FzZSAncic6IHJkID0gMTsgYnJlYWs7Ci0gICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotZGlmZiAtLWdpdCBhL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLWluZGV4IDZhN2JmZWUuLjcyMjNlM2YgMTAwNjQ0Ci0tLS0gYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaAotKysrIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKLUBAIC0xLDEzICsxLDEzIEBACi0tLyogCi0rLyoKLSAgKglQcm92aWRlcyBhIHZlcnkgbGltaXRlZCBmb3BlbmNvb2tpZSgpIGZvciBlbnZpcm9ubWVudHMgd2l0aCBhIGxpYmMKLSAgKgl0aGF0IGxhY2tzIGl0LgotLSAqCQotLSAqCUF1dGhvcjogemhhc2hhCi0rICoKLSsgKglBdXRob3JzOiB6aGFzaGEgJiBuc3oKLSAgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCi0tICoJCi0rICoKLSAgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECi0gICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCi0tICoJCi0rICoKLSAgKi8KLSAKLSAjaWZuZGVmIFNPTFZfWEZPUEVOX0ZBTExCQUNLX0ZPUEVOQ09PS0lFX0gKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNi4zNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjYuMzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyZGZjNWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNi4zNS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3Igc29sdmluZyBwYWNrYWdlcyBhbmQgcmVhZGluZyByZXBvc2l0b3JpZXMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdiIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvaXNzdWVzIgotU0VDVElPTiA9ICJkZXZlbCIKLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5CU0Q7bWQ1PTYyMjcyYmQxMWM5NzM5NmQ0YWFmMWM0MWJjMTFmN2Q4IgotCi1ERVBFTkRTID0gImV4cGF0IHpsaWIiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2LmdpdCIKLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDEtQWRkLWZhbGxiYWNrLWZvcGVuY29va2llLWltcGxlbWVudGF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDItRml4ZXMtdG8taW50ZXJuYWwtZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNSRVYgPSAiMzhjNTM3NGQ0NzEyNjY3YjBiNmFkYTRiZjc4ZGRiYjM0MzA5NWQwYyIKLVVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBjbWFrZQotCi1QQUNLQUdFQ09ORklHID8/PSAicnBtIgotUEFDS0FHRUNPTkZJR1tycG1dID0gIi1ERU5BQkxFX1JQTU1EPU9OIC1ERU5BQkxFX1JQTURCPU9OLCxycG0iCi0KLUVYVFJBX09FQ01BS0UgPSAiLURMSUI9JHtiYXNlbGlifSAtRE1VTFRJX1NFTUFOVElDUz1PTiAtREVOQUJMRV9DT01QTEVYX0RFUFM9T04iCi0KLVBBQ0tBR0VTID0rICIke1BOfS10b29scyAke1BOfWV4dCIKLQotRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU18ke1BOfWV4dCA9ICIke2xpYmRpcn0vJHtQTn1leHQuc28uKiIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNy4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2XzAuNy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwYzhkYmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfMC43LjMuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBzb2x2aW5nIHBhY2thZ2VzIGFuZCByZWFkaW5nIHJlcG9zaXRvcmllcyIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvbGlic29sdi9pc3N1ZXMiCitTRUNUSU9OID0gImRldmVsIgorTElDRU5TRSA9ICJCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLkJTRDttZDU9NjIyNzJiZDExYzk3Mzk2ZDRhYWYxYzQxYmMxMWY3ZDgiCisKK0RFUEVORFMgPSAiZXhwYXQgemxpYiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtc29sdmVyX3NvbHZlLW9ubHktZGlzZmF2b3ItcmVjb21tZW5kcy1pZi10aGVyZS1hcmUtYS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkLXVzZS1HTlVJbnN0YWxsRGlycy5wYXRjaCBcCisiCisKK1NSQ1JFViA9ICJkYzdkMGYxYzMxMTNmMmM4MjE3NTYzMTY2OTA2YmVmM2ViNWQxZWUxIgorVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGNtYWtlCisKK1BBQ0tBR0VDT05GSUcgPz89ICJycG0iCitQQUNLQUdFQ09ORklHW3JwbV0gPSAiLURFTkFCTEVfUlBNTUQ9T04gLURFTkFCTEVfUlBNREI9T04sLHJwbSIKKworRVhUUkFfT0VDTUFLRSA9ICItRE1VTFRJX1NFTUFOVElDUz1PTiAtREVOQUJMRV9DT01QTEVYX0RFUFM9T04iCisKK1BBQ0tBR0VTID0rICIke1BOfS10b29scyAke1BOfWV4dCIKKworRklMRVNfJHtQTn0tdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU18ke1BOfWV4dCA9ICIke2xpYmRpcn0vJHtQTn1leHQuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidGlycGMvbGlidGlycGNfMS4wLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgppbmRleCAxN2JjMDM4Li5mOTc4YzhjIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ0aXJwYy9saWJ0aXJwY18xLjAuMy5iYgpAQCAtMTMsNyArMTMsOCBAQAogICAgICAgICAgICBmaWxlOi8vbGlidGlycGMtMS4wLjQtcmMxLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL211c2wucGF0Y2ggXAogICAgICAgICAgICAiCi0KK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJ0aXJwYy9maWxlcy9saWJ0aXJwYy8iCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykvIgogU1JDX1VSSVttZDVzdW1dID0gImY4NDAzYTEwNjk1MzQ4ODU0ZTcxZDUyNWM0ZGI1OTMxIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg2YzNhNzhmYzFiZGRlZmE5NjExMWRkMjMzMTI0YzcwM2IyMmE3ODg4NDIwM2M1NWMzZTA2YjNiZTZhMGZkNWUiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL2xpZ2h0dHBkIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKaW5kZXggYmY4OWE2MC4uODJmYmFhNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQKQEAgLTQsNyArNCw3IEBACiBEQUVNT049L3Vzci9zYmluL2xpZ2h0dHBkCiBOQU1FPWxpZ2h0dHBkCiBERVNDPSJMaWdodHRwZCBXZWIgU2VydmVyIgotT1BUUz0iLWYgL2V0Yy9saWdodHRwZC5jb25mIgorT1BUUz0iLWYgL2V0Yy9saWdodHRwZC9saWdodHRwZC5jb25mIgogCiBjYXNlICIkMSIgaW4KICAgc3RhcnQpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC9saWdodHRwZC5zZXJ2aWNlIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvbGlnaHR0cGQuc2VydmljZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZhOTA3YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC9saWdodHRwZC5zZXJ2aWNlCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotW1VuaXRdCi1EZXNjcmlwdGlvbj1MaWdodG5pbmcgRmFzdCBXZWJzZXJ2ZXIgV2l0aCBMaWdodCBTeXN0ZW0gUmVxdWlyZW1lbnRzCi1BZnRlcj1uZXR3b3JrLnRhcmdldAotCi1bU2VydmljZV0KLUV4ZWNTdGFydFByZT1AU0JJTkRJUkAvbGlnaHR0cGQgLXQgLWYgQFNZU0NPTkZESVJAL2xpZ2h0dHBkLmNvbmYKLUV4ZWNTdGFydD1AU0JJTkRJUkAvbGlnaHR0cGQgLUQgLWYgQFNZU0NPTkZESVJAL2xpZ2h0dHBkLmNvbmYKLUV4ZWNSZWxvYWQ9QEJBU0VfQklORElSQC9raWxsIC1IVVAgJE1BSU5QSUQKLQotW0luc3RhbGxdCi1XYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYyOGZkMmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsODUgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWdodHdlaWdodCBoaWdoLXBlcmZvcm1hbmNlIHdlYiBzZXJ2ZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpZ2h0dHBkLm5ldC8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9yZWRtaW5lLmxpZ2h0dHBkLm5ldC9wcm9qZWN0cy9saWdodHRwZC9pc3N1ZXMiCi0KLUxJQ0VOU0UgPSAiQlNEIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTRkYWM1YzZhYjE2OWFhMjEyZmViNTAyODg1M2E1NzkiCi0KLVNFQ1RJT04gPSAibmV0IgotUkRFUEVORFNfJHtQTn0gPSAibGlnaHR0cGQtbW9kdWxlLWRpcmxpc3RpbmcgXAotICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLWluZGV4ZmlsZSBcCi0gICAgICAgICAgICAgICAgICBsaWdodHRwZC1tb2R1bGUtc3RhdGljZmlsZSIKLVJSRUNPTU1FTkRTXyR7UE59ID0gImxpZ2h0dHBkLW1vZHVsZS1hY2Nlc3MgXAotICAgICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLWFjY2Vzc2xvZyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQubGlnaHR0cGQubmV0L2xpZ2h0dHBkL3JlbGVhc2VzLTEuNC54L2xpZ2h0dHBkLSR7UFZ9LnRhci54eiBcCi0gICAgICAgIGZpbGU6Ly9pbmRleC5odG1sLmxpZ2h0dHBkIFwKLSAgICAgICAgZmlsZTovL2xpZ2h0dHBkLmNvbmYgXAotICAgICAgICBmaWxlOi8vbGlnaHR0cGQgXAotICAgICAgICBmaWxlOi8vbGlnaHR0cGQuc2VydmljZSBcCi0gICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2ggXAotICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTY4YzE5NjAxYWYzMzJmYTNjNWYxNzQyNDVmNTliZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIyYWY5ZmRiMjY1ZDFmMDI1YmZhNjM0ZTEzNzcwMjM5NzEyZWNiZDU4NWU0OTc1YjgyMjZlZGYxZGY3NGU5YzgyIgotCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbnNzbCBwY3JlIHpsaWIgXAotICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneGF0dHInLCAnYXR0cicsICcnLCBkKX0gXAotIgotCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYiCi1QQUNLQUdFQ09ORklHW21tYXBdID0gIi0tZW5hYmxlLW1tYXAsLS1kaXNhYmxlLW1tYXAiCi1QQUNLQUdFQ09ORklHW2xpYmV2XSA9ICItLXdpdGgtbGliZXYsLS13aXRob3V0LWxpYmV2LGxpYmV2IgotUEFDS0FHRUNPTkZJR1tteXNxbF0gPSAiLS13aXRoLW15c3FsLC0td2l0aG91dC1teXNxbCxtYXJpYWRiIgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLXdpdGgtbGRhcCwtLXdpdGhvdXQtbGRhcCxvcGVubGRhcCIKLVBBQ0tBR0VDT05GSUdbYXR0cl0gPSAiLS13aXRoLWF0dHIsLS13aXRob3V0LWF0dHIsYXR0ciIKLVBBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0td2l0aC12YWxncmluZCwtLXdpdGhvdXQtdmFsZ3JpbmQsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLC0td2l0aG91dC1vcGVuc3NsLG9wZW5zc2wiCi1QQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1rcmI1LC0td2l0aG91dC1rcmI1LGtyYjUiCi1QQUNLQUdFQ09ORklHW3BjcmVdID0gIi0td2l0aC1wY3JlLC0td2l0aG91dC1wY3JlLGxpYnBjcmUiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliLC0td2l0aG91dC16bGliLHpsaWIiCi1QQUNLQUdFQ09ORklHW2J6aXAyXSA9ICItLXdpdGgtYnppcDIsLS13aXRob3V0LWJ6aXAyLGJ6aXAyIgotUEFDS0FHRUNPTkZJR1tmYW1dID0gIi0td2l0aC1mYW0sLS13aXRob3V0LWZhbSxnYW1pbiIKLVBBQ0tBR0VDT05GSUdbd2ViZGF2LXByb3BzXSA9ICItLXdpdGgtd2ViZGF2LXByb3BzLC0td2l0aG91dC13ZWJkYXYtcHJvcHMsbGlieG1sMiBzcWxpdGUzIgotUEFDS0FHRUNPTkZJR1t3ZWJkYXYtbG9ja3NdID0gIi0td2l0aC13ZWJkYXYtbG9ja3MsLS13aXRob3V0LXdlYmRhdi1sb2Nrcyx1dGlsLWxpbnV4IgotUEFDS0FHRUNPTkZJR1tnZGJtXSA9ICItLXdpdGgtZ2RibSwtLXdpdGhvdXQtZ2RibSxnZGJtIgotUEFDS0FHRUNPTkZJR1ttZW1jYWNoZV0gPSAiLS13aXRoLW1lbWNhY2hlZCwtLXdpdGhvdXQtbWVtY2FjaGVkLGxpYm1lbWNhY2hlZCIKLVBBQ0tBR0VDT05GSUdbbHVhXSA9ICItLXdpdGgtbHVhLC0td2l0aG91dC1sdWEsbHVhNS4xIgotCi1FWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWxmcyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVwZGF0ZS1yYy5kIGdldHRleHQgc3lzdGVtZAotCi1JTklUU0NSSVBUX05BTUUgPSAibGlnaHR0cGQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJkZWZhdWx0cyA3MCIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImxpZ2h0dHBkLnNlcnZpY2UiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCWluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkLmQgJHtEfS93d3cvcGFnZXMvZGF2Ci0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vbGlnaHR0cGQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbGlnaHR0cGQuY29uZiAke0R9JHtzeXNjb25mZGlyfQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2luZGV4Lmh0bWwubGlnaHR0cGQgJHtEfS93d3cvcGFnZXMvaW5kZXguaHRtbAotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2xpZ2h0dHBkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLQlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAotCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCi0JCS1lICdzLEBCQVNFX0JJTkRJUkAsJHtiYXNlX2JpbmRpcn0sZycgXAotCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9saWdodHRwZC5zZXJ2aWNlCi0JI0ZvciBGSFMgY29tcGxpYW5jZSwgY3JlYXRlIHN5bWJvbGljIGxpbmtzIHRvIC92YXIvbG9nIGFuZCAvdmFyL3RtcCBmb3IgbG9ncyBhbmQgdGVtcG9yYXJ5IGRhdGEKLQlsbiAtc2YgJHtsb2NhbHN0YXRlZGlyfS9sb2cgJHtEfS93d3cvbG9ncwotCWxuIC1zZiAke2xvY2Fsc3RhdGVkaXJ9L3RtcCAke0R9L3d3dy92YXIKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0gL3d3dyIKLQotQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vbGlnaHR0cGQuY29uZiIKLQotUEFDS0FHRVNfRFlOQU1JQyArPSAiXmxpZ2h0dHBkLW1vZHVsZS0uKiIKLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIGxpZ2h0dHBkX2xpYmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxpZ2h0dHBkX2xpYmRpciwgJ15tb2RfKC4qKVwuc28kJywgJ2xpZ2h0dHBkLW1vZHVsZS0lcycsICdMaWdodHRwZCBtb2R1bGUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41My5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC41My5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGIzNTBmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGRfMS40LjUzLmJiCkBAIC0wLDAgKzEsODQgQEAKK1NVTU1BUlkgPSAiTGlnaHR3ZWlnaHQgaGlnaC1wZXJmb3JtYW5jZSB3ZWIgc2VydmVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWdodHRwZC5uZXQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vcmVkbWluZS5saWdodHRwZC5uZXQvcHJvamVjdHMvbGlnaHR0cGQvaXNzdWVzIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU0ZGFjNWM2YWIxNjlhYTIxMmZlYjUwMjg4NTNhNTc5IgorCitTRUNUSU9OID0gIm5ldCIKK1JERVBFTkRTXyR7UE59ID0gImxpZ2h0dHBkLW1vZHVsZS1kaXJsaXN0aW5nIFwKKyAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1pbmRleGZpbGUgXAorICAgICAgICAgICAgICAgICAgbGlnaHR0cGQtbW9kdWxlLXN0YXRpY2ZpbGUiCitSUkVDT01NRU5EU18ke1BOfSA9ICJsaWdodHRwZC1tb2R1bGUtYWNjZXNzIFwKKyAgICAgICAgICAgICAgICAgICAgIGxpZ2h0dHBkLW1vZHVsZS1hY2Nlc3Nsb2ciCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmxpZ2h0dHBkLm5ldC9saWdodHRwZC9yZWxlYXNlcy0xLjQueC9saWdodHRwZC0ke1BWfS50YXIueHogXAorICAgICAgICBmaWxlOi8vaW5kZXguaHRtbC5saWdodHRwZCBcCisgICAgICAgIGZpbGU6Ly9saWdodHRwZC5jb25mIFwKKyAgICAgICAgZmlsZTovL2xpZ2h0dHBkIFwKKyAgICAgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLXBjcmUtZGVwZW5kZW5jeS1pbnN0ZWFkLW9mLWNvbmZpZy5wYXRjaCBcCisgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImY5MzQzNmQ4ZDQwMGIyYjBlMjZlZTRiY2M2MGI5YWM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNiZGZjZTFjZjNlOTY1MGE1NTZhOGMyNmZiMTUzNDJjNTcxN2M2M2Y1MzBjNTQ2OTNkYjYzMmIwMzcxZGNiNzgiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIHBjcmUgemxpYiBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4YXR0cicsICdhdHRyJywgJycsIGQpfSBcCisiCisKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiIKK1BBQ0tBR0VDT05GSUdbbW1hcF0gPSAiLS1lbmFibGUtbW1hcCwtLWRpc2FibGUtbW1hcCIKK1BBQ0tBR0VDT05GSUdbbGliZXZdID0gIi0td2l0aC1saWJldiwtLXdpdGhvdXQtbGliZXYsbGliZXYiCitQQUNLQUdFQ09ORklHW215c3FsXSA9ICItLXdpdGgtbXlzcWwsLS13aXRob3V0LW15c3FsLG1hcmlhZGIiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0td2l0aC1sZGFwLC0td2l0aG91dC1sZGFwLG9wZW5sZGFwIgorUEFDS0FHRUNPTkZJR1thdHRyXSA9ICItLXdpdGgtYXR0ciwtLXdpdGhvdXQtYXR0cixhdHRyIgorUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS13aXRoLXZhbGdyaW5kLC0td2l0aG91dC12YWxncmluZCx2YWxncmluZCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLW9wZW5zc2wsLS13aXRob3V0LW9wZW5zc2wsb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLS13aXRoLWtyYjUsLS13aXRob3V0LWtyYjUsa3JiNSIKK1BBQ0tBR0VDT05GSUdbcGNyZV0gPSAiLS13aXRoLXBjcmUsLS13aXRob3V0LXBjcmUsbGlicGNyZSIKK1BBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS13aXRoLXpsaWIsLS13aXRob3V0LXpsaWIsemxpYiIKK1BBQ0tBR0VDT05GSUdbYnppcDJdID0gIi0td2l0aC1iemlwMiwtLXdpdGhvdXQtYnppcDIsYnppcDIiCitQQUNLQUdFQ09ORklHW2ZhbV0gPSAiLS13aXRoLWZhbSwtLXdpdGhvdXQtZmFtLGdhbWluIgorUEFDS0FHRUNPTkZJR1t3ZWJkYXYtcHJvcHNdID0gIi0td2l0aC13ZWJkYXYtcHJvcHMsLS13aXRob3V0LXdlYmRhdi1wcm9wcyxsaWJ4bWwyIHNxbGl0ZTMiCitQQUNLQUdFQ09ORklHW3dlYmRhdi1sb2Nrc10gPSAiLS13aXRoLXdlYmRhdi1sb2NrcywtLXdpdGhvdXQtd2ViZGF2LWxvY2tzLHV0aWwtbGludXgiCitQQUNLQUdFQ09ORklHW2dkYm1dID0gIi0td2l0aC1nZGJtLC0td2l0aG91dC1nZGJtLGdkYm0iCitQQUNLQUdFQ09ORklHW21lbWNhY2hlXSA9ICItLXdpdGgtbWVtY2FjaGVkLC0td2l0aG91dC1tZW1jYWNoZWQsbGlibWVtY2FjaGVkIgorUEFDS0FHRUNPTkZJR1tsdWFdID0gIi0td2l0aC1sdWEsLS13aXRob3V0LWx1YSxsdWE1LjEiCisKK0VYVFJBX09FQ09ORiArPSAiLS1lbmFibGUtbGZzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBkYXRlLXJjLmQgZ2V0dGV4dCBzeXN0ZW1kCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJsaWdodHRwZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gImRlZmF1bHRzIDcwIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibGlnaHR0cGQuc2VydmljZSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQgJHtEfSR7c3lzY29uZmRpcn0vbGlnaHR0cGQgJHtEfSR7c3lzY29uZmRpcn0vbGlnaHR0cGQuZCAke0R9L3d3dy9wYWdlcy9kYXYKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9saWdodHRwZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9saWdodHRwZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9L2xpZ2h0dHBkCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vaW5kZXguaHRtbC5saWdodHRwZCAke0R9L3d3dy9wYWdlcy9pbmRleC5odG1sCisKKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7U30vZG9jL3N5c3RlbWQvbGlnaHR0cGQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorCXNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyBcCisJCS1lICdzLEBTWVNDT05GRElSQCwke3N5c2NvbmZkaXJ9LGcnIFwKKwkJLWUgJ3MsQEJBU0VfQklORElSQCwke2Jhc2VfYmluZGlyfSxnJyBcCisJCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL2xpZ2h0dHBkLnNlcnZpY2UKKwkjRm9yIEZIUyBjb21wbGlhbmNlLCBjcmVhdGUgc3ltYm9saWMgbGlua3MgdG8gL3Zhci9sb2cgYW5kIC92YXIvdG1wIGZvciBsb2dzIGFuZCB0ZW1wb3JhcnkgZGF0YQorCWxuIC1zZiAke2xvY2Fsc3RhdGVkaXJ9L2xvZyAke0R9L3d3dy9sb2dzCisJbG4gLXNmICR7bG9jYWxzdGF0ZWRpcn0vdG1wICR7RH0vd3d3L3ZhcgorfQorCitGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfSAvd3d3IgorCitDT05GRklMRVNfJHtQTn0gPSAiJHtzeXNjb25mZGlyfS9saWdodHRwZC9saWdodHRwZC5jb25mIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebGlnaHR0cGQtbW9kdWxlLS4qIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgbGlnaHR0cGRfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfScpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgbGlnaHR0cGRfbGliZGlyLCByJ15tb2RfKC4qKVwuc28kJywgJ2xpZ2h0dHBkLW1vZHVsZS0lcycsICdMaWdodHRwZCBtb2R1bGUgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKaW5kZXggMDRjYjU4OC4uNzk4MDViNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDUxN2NiZmY2NmM4YmRiZjQ1NWJjM2I3YzFhODVhNGY5OTBkMGY5YTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGM2Mzc5NDhlYmFiNWFmZjU2NDE3MDBjNWNmNjEzMzIxY2EwYTZlNmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KIERhdGU6IFR1ZSwgMTcgRmViIDIwMTUgMjE6MDg6MDcgLTA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWN0IGFzIHRoZSAibXYiIGNvbW1hbmQgd2hlbiByb3RhdGUgbG9nCkBAIC0xMCwxNCArMTAsMTQgQEAKIAogU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsb2dyb3RhdGUuYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCisgbG9ncm90YXRlLmMgfCA3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2xvZ3JvdGF0ZS5jIGIvbG9ncm90YXRlLmMKLWluZGV4IDRhZDU4ZDQuLmJhMDU4ODQgMTAwNjQ0CitpbmRleCA1NGRhYzkwLi5iZjNlYzIzIDEwMDY0NAogLS0tIGEvbG9ncm90YXRlLmMKICsrKyBiL2xvZ3JvdGF0ZS5jCi1AQCAtMTMxNSw2ICsxMzE1LDU0IEBAIHN0YXRpYyBpbnQgZmluZE5lZWRSb3RhdGluZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLCBpbnQgZm9yY2UpCitAQCAtMTM2MCw2ICsxMzYwLDUzIEBAIHN0YXRpYyBpbnQgZmluZE5lZWRSb3RhdGluZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLCBpbnQgZm9yY2UpCiAgICAgIHJldHVybiAwOwogIH0KICAKQEAgLTY4LDg0ICs2OCw4MyBAQAogKyAgICByZXR1cm4gMTsKICt9CiArCi0rCi0gc3RhdGljIGludCBwcmVyb3RhdGVTaW5nbGVMb2coc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGxvZ051bSwKLSAJCQkgICAgICBzdHJ1Y3QgbG9nU3RhdGUgKnN0YXRlLCBzdHJ1Y3QgbG9nTmFtZXMgKnJvdE5hbWVzKQotIHsKLUBAIC0xNjc0LDE1ICsxNzIyLDE1IEBAIHN0YXRpYyBpbnQgcHJlcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCi0gCQl9CisgLyogZmluZCB0aGUgcm90YXRlZCBmaWxlIHdpdGggdGhlIGhpZ2hlc3QgaW5kZXggKi8KKyBzdGF0aWMgaW50IGZpbmRMYXN0Um90YXRlZChjb25zdCBzdHJ1Y3QgbG9nTmFtZXMgKnJvdE5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmZpbGVleHQsIGNvbnN0IGNoYXIgKmNvbXBleHQpCitAQCAtMTgwMCwxNSArMTg0NywxNSBAQCBzdGF0aWMgaW50IHByZXJvdGF0ZVNpbmdsZUxvZyhzdHJ1Y3QgbG9nSW5mbyAqbG9nLCBpbnQgbG9nTnVtLAorICAgICAgICAgICAgIH0KICAKLSAJICAgIG1lc3NhZ2UoTUVTU19ERUJVRywKLS0JCSAgICAicmVuYW1pbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKLSsJCSAgICAibW92aW5nICVzIHRvICVzIChyb3RhdGVjb3VudCAlZCwgbG9nc3RhcnQgJWQsIGkgJWQpLCBcbiIsCi0gCQkgICAgb2xkTmFtZSwgbmV3TmFtZSwgcm90YXRlQ291bnQsIGxvZ1N0YXJ0LCBpKTsKKyAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsCistICAgICAgICAgICAgICAgICAgICAicmVuYW1pbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKKysgICAgICAgICAgICAgICAgICAgICJtb3ZpbmcgJXMgdG8gJXMgKHJvdGF0ZWNvdW50ICVkLCBsb2dzdGFydCAlZCwgaSAlZCksIFxuIiwKKyAgICAgICAgICAgICAgICAgICAgIG9sZE5hbWUsIG5ld05hbWUsIHJvdGF0ZUNvdW50LCBsb2dTdGFydCwgaSk7CiAgCi0tCSAgICBpZiAoIWRlYnVnICYmIHJlbmFtZShvbGROYW1lLCBuZXdOYW1lKSkgewotKwkgICAgaWYgKCFkZWJ1ZyAmJiBtdkZpbGUob2xkTmFtZSwgbmV3TmFtZSwgbG9nLCBwcmV2X2FjbCkpIHsKLSAJCWlmIChlcnJubyA9PSBFTk9FTlQpIHsKLSAJCSAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJvbGQgbG9nICVzIGRvZXMgbm90IGV4aXN0XG4iLAotIAkJCSAgICBvbGROYW1lKTsKLSAJCX0gZWxzZSB7Ci0tCQkgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgJXMgdG8gJXM6ICVzXG4iLAotKwkJICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIG1vdmluZyAlcyB0byAlczogJXNcbiIsCi0gCQkJICAgIG9sZE5hbWUsIG5ld05hbWUsIHN0cmVycm9yKGVycm5vKSk7Ci0gCQkgICAgaGFzRXJyb3JzID0gMTsKLSAJCX0KLUBAIC0xNzY3LDIxICsxODE1LDIxIEBAIHN0YXRpYyBpbnQgcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCi0gCQkJCXJldHVybiAxOwotIAkJCX0KKy0gICAgICAgICAgICBpZiAoIWRlYnVnICYmIHJlbmFtZShvbGROYW1lLCBuZXdOYW1lKSkgeworKyAgICAgICAgICAgIGlmICghZGVidWcgJiYgbXZGaWxlKG9sZE5hbWUsIG5ld05hbWUsIGxvZywgcHJldl9hY2wpKSB7CisgICAgICAgICAgICAgICAgIGlmIChlcnJubyA9PSBFTk9FTlQpIHsKKyAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19ERUJVRywgIm9sZCBsb2cgJXMgZG9lcyBub3QgZXhpc3RcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9sZE5hbWUpOworICAgICAgICAgICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgJXMgdG8gJXM6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgbW92aW5nICVzIHRvICVzOiAlc1xuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkTmFtZSwgbmV3TmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IDE7CisgICAgICAgICAgICAgICAgIH0KK0BAIC0xODkxLDIxICsxOTM4LDIxIEBAIHN0YXRpYyBpbnQgcm90YXRlU2luZ2xlTG9nKHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBsb2dOdW0sCisgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgICAgICAgfQogIAotLQkJCW1lc3NhZ2UoTUVTU19ERUJVRywgInJlbmFtaW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0rCQkJbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0gCQkJCXRtcEZpbGVuYW1lKTsKLS0JCQlpZiAoIWRlYnVnICYmICFoYXNFcnJvcnMgJiYgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUpKSB7Ci0tCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIHJlbmFtZSAlcyB0byAlczogJXNcbiIsCi0rCQkJaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0rCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZmFpbGVkIHRvIG1vdmUgJXMgdG8gJXM6ICVzXG4iLAotIAkJCQlsb2ctPmZpbGVzW2xvZ051bV0sIHRtcEZpbGVuYW1lLAotIAkJCQlzdHJlcnJvcihlcnJubykpOwotIAkJCQloYXNFcnJvcnMgPSAxOwotIAkJCX0KLSAJCX0KLSAJCWVsc2UgewotLQkJCW1lc3NhZ2UoTUVTU19ERUJVRywgInJlbmFtaW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0rCQkJbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCi0gCQkJCXJvdE5hbWVzLT5maW5hbE5hbWUpOwotIAkJCWlmICghZGVidWcgJiYgIWhhc0Vycm9ycyAmJgotLQkJCXJlbmFtZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUpKSB7Ci0tCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byByZW5hbWUgJXMgdG8gJXM6ICVzXG4iLAotKwkJCW12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0rCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byBtb3ZlICVzIHRvICVzOiAlc1xuIiwKLSAJCQkJCWxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSwKLSAJCQkJCXN0cmVycm9yKGVycm5vKSk7Ci0gCQkJCQloYXNFcnJvcnMgPSAxOwotQEAgLTIxNzAsNyArMjIxOCw3IEBAIHN0YXRpYyBpbnQgcm90YXRlTG9nU2V0KHN0cnVjdCBsb2dJbmZvICpsb2csIGludCBmb3JjZSkKKy0gICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAicmVuYW1pbmcgJXMgdG8gJXNcbiIsIGxvZy0+ZmlsZXNbbG9nTnVtXSwKKysgICAgICAgICAgICAgICAgbWVzc2FnZShNRVNTX0RFQlVHLCAibW92aW5nICVzIHRvICVzXG4iLCBsb2ctPmZpbGVzW2xvZ051bV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgdG1wRmlsZW5hbWUpOworLSAgICAgICAgICAgICAgICBpZiAoIWRlYnVnICYmICFoYXNFcnJvcnMgJiYgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUpKSB7CistICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gcmVuYW1lICVzIHRvICVzOiAlc1xuIiwKKysgICAgICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7CisrICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gbW92ZSAlcyB0byAlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy0+ZmlsZXNbbG9nTnVtXSwgdG1wRmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMgPSAxOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGVsc2UgeworLSAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJyZW5hbWluZyAlcyB0byAlc1xuIiwgbG9nLT5maWxlc1tsb2dOdW1dLAorKyAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfREVCVUcsICJtb3ZpbmcgJXMgdG8gJXNcbiIsIGxvZy0+ZmlsZXNbbG9nTnVtXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByb3ROYW1lcy0+ZmluYWxOYW1lKTsKKyAgICAgICAgICAgICAgICAgaWYgKCFkZWJ1ZyAmJiAhaGFzRXJyb3JzICYmCistICAgICAgICAgICAgICAgICAgICAgICAgcmVuYW1lKGxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSkpIHsKKy0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImZhaWxlZCB0byByZW5hbWUgJXMgdG8gJXM6ICVzXG4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgIG12RmlsZShsb2ctPmZpbGVzW2xvZ051bV0sIHJvdE5hbWVzLT5maW5hbE5hbWUsIGxvZywgcHJldl9hY2wpKSB7CisrICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsICJmYWlsZWQgdG8gbW92ZSAlcyB0byAlczogJXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy0+ZmlsZXNbbG9nTnVtXSwgcm90TmFtZXMtPmZpbmFsTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgICAgICAgICAgIGhhc0Vycm9ycyA9IDE7CitAQCAtMjI5Nyw3ICsyMzQ0LDcgQEAgc3RhdGljIGludCByb3RhdGVMb2dTZXQoc3RydWN0IGxvZ0luZm8gKmxvZywgaW50IGZvcmNlKQogICAgICByZXR1cm4gaGFzRXJyb3JzOwogIH0KICAKIC1zdGF0aWMgaW50IHdyaXRlU3RhdGUoY29uc3QgY2hhciAqc3RhdGVGaWxlbmFtZSkKICtzdGF0aWMgaW50IHdyaXRlU3RhdGUoc3RydWN0IGxvZ0luZm8gKmxvZywgY2hhciAqc3RhdGVGaWxlbmFtZSkKICB7Ci0gCXN0cnVjdCBsb2dTdGF0ZSAqcDsKLSAJRklMRSAqZjsKLUBAIC0yMzIyLDcgKzIzNzAsNyBAQCBzdGF0aWMgaW50IHdyaXRlU3RhdGUoY29uc3QgY2hhciAqc3RhdGVGaWxlbmFtZSkKLSAJCWZjbG9zZShmKTsKKyAgICAgc3RydWN0IGxvZ1N0YXRlICpwOworICAgICBGSUxFICpmOworQEAgLTI0NjAsNyArMjUwNyw3IEBAIHN0YXRpYyBpbnQgd3JpdGVTdGF0ZShjb25zdCBjaGFyICpzdGF0ZUZpbGVuYW1lKQorICAgICAgICAgZmNsb3NlKGYpOwogIAotIAlpZiAoZXJyb3IgPT0gMCkgewotLQkJaWYgKHJlbmFtZSh0bXBGaWxlbmFtZSwgc3RhdGVGaWxlbmFtZSkpIHsKLSsJCWlmIChtdkZpbGUodG1wRmlsZW5hbWUsIHN0YXRlRmlsZW5hbWUsIGxvZywgcHJldl9hY2wpKSB7Ci0gCQkJdW5saW5rKHRtcEZpbGVuYW1lKTsKLSAJCQllcnJvciA9IDE7Ci0gCQkJbWVzc2FnZShNRVNTX0VSUk9SLCAiZXJyb3IgcmVuYW1pbmcgdGVtcCBzdGF0ZSBmaWxlICVzXG4iLAotQEAgLTI2NDgsNyArMjY5Niw3IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICoqYXJndikKLSAJCXJjIHw9IHJvdGF0ZUxvZ1NldChsb2csIGZvcmNlKTsKKyAgICAgaWYgKGVycm9yID09IDApIHsKKy0gICAgICAgIGlmIChyZW5hbWUodG1wRmlsZW5hbWUsIHN0YXRlRmlsZW5hbWUpKSB7CisrICAgICAgICBpZiAobXZGaWxlKHRtcEZpbGVuYW1lLCBzdGF0ZUZpbGVuYW1lLCBsb2csIHByZXZfYWNsKSkgeworICAgICAgICAgICAgIHVubGluayh0bXBGaWxlbmFtZSk7CisgICAgICAgICAgICAgZXJyb3IgPSAxOworICAgICAgICAgICAgIG1lc3NhZ2UoTUVTU19FUlJPUiwgImVycm9yIHJlbmFtaW5nIHRlbXAgc3RhdGUgZmlsZSAlc1xuIiwKK0BAIC0yODA1LDcgKzI4NTIsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqKmFyZ3YpCisgICAgICAgICByYyB8PSByb3RhdGVMb2dTZXQobG9nLCBmb3JjZSk7CiAgCi0gCWlmICghZGVidWcpCi0tCQlyYyB8PSB3cml0ZVN0YXRlKHN0YXRlRmlsZSk7Ci0rCQlyYyB8PSB3cml0ZVN0YXRlKGxvZywgc3RhdGVGaWxlKTsKKyAgICAgaWYgKCFkZWJ1ZykKKy0gICAgICAgIHJjIHw9IHdyaXRlU3RhdGUoc3RhdGVGaWxlKTsKKysgICAgICAgIHJjIHw9IHdyaXRlU3RhdGUobG9nLCBzdGF0ZUZpbGUpOwogIAotIAlyZXR1cm4gKHJjICE9IDApOworICAgICByZXR1cm4gKHJjICE9IDApOwogIH0KIC0tIAotMS44LjMuMQorMi4xOC4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlL2Rpc2FibGUtY2hlY2stZGlmZmVyZW50LWZpbGVzeXN0ZW1zLnBhdGNoCmluZGV4IDc5M2Q3MDIuLjk2ZmYwOTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZS9kaXNhYmxlLWNoZWNrLWRpZmZlcmVudC1maWxlc3lzdGVtcy5wYXRjaApAQCAtMSw0ICsxLDcgQEAKLURpc2FibGUgdGhlIGNoZWNrIGZvciBkaWZmZXJlbnQgZmlsZXN5c3RlbXMKK0Zyb20gZTQ3Nzk2YzhlODI3MGEzZDE0ZjBiMDZhZjhhOWU5MTZjMjIyNTUxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCA4IEphbiAyMDE5IDA2OjI3OjA2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIERpc2FibGUgdGhlIGNoZWNrIGZvciBkaWZmZXJlbnQgZmlsZXN5c3RlbXMKIAogVGhlIGxvZ3JvdGF0ZSBzdXBwb3J0cyByb3RhdGUgbG9nIGFjcm9zcyBkaWZmZXJlbnQgZmlsZXN5c3RlbXMgbm93LCBzbwogZGlzYWJsZSB0aGUgY2hlY2sgZm9yIGRpZmZlcmVudCBmaWxlc3lzdGVtcy4KQEAgLTcsMjYgKzEwLDI5IEBACiAKIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgogLS0tCi0gY29uZmlnLmMgfCAgICA5IC0tLS0tLS0tLQorIGNvbmZpZy5jIHwgOSAtLS0tLS0tLS0KICAxIGZpbGUgY2hhbmdlZCwgOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZy5jIGIvY29uZmlnLmMKLWluZGV4IGRiYmY1NjMuLjY0ZTY2ZjYgMTAwNjQ0CitpbmRleCA2MzNiODQzLi45OWE0YTNiIDEwMDY0NAogLS0tIGEvY29uZmlnLmMKICsrKyBiL2NvbmZpZy5jCi1AQCAtMTQ5MywxNSArMTQ5Myw2IEBAIHN0YXRpYyBpbnQgcmVhZENvbmZpZ0ZpbGUoY29uc3QgY2hhciAqY29uZmlnRmlsZSwgc3RydWN0IGxvZ0luZm8gKmRlZkNvbmZpZykKLSAJCQkJCQkJZ290byBlcnJvcjsKLSAJCQkJCQl9Ci0gCQkJCQl9CitAQCAtMTc2NSwxNSArMTc2NSw2IEBAIGR1cGVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KIC0KLS0JCQkJCWlmIChzYi5zdF9kZXYgIT0gc2IyLnN0X2RldgotLQkJCQkJCSYmICEobmV3bG9nLT5mbGFncyAmIChMT0dfRkxBR19DT1BZVFJVTkNBVEUgfCBMT0dfRkxBR19DT1BZIHwgTE9HX0ZMQUdfVE1QRklMRU5BTUUpKSkgewotLQkJCQkJCW1lc3NhZ2UoTUVTU19FUlJPUiwKLS0JCQkJCQkJIiVzOiVkIG9sZGRpciAlcyBhbmQgbG9nIGZpbGUgJXMgIgotLQkJCQkJCQkiYXJlIG9uIGRpZmZlcmVudCBkZXZpY2VzXG4iLCBjb25maWdGaWxlLAotLQkJCQkJCQlsaW5lTnVtLCBuZXdsb2ctPm9sZERpciwgbmV3bG9nLT5maWxlc1tpXSk7Ci0tCQkJCQkJZ290byBlcnJvcjsKLS0JCQkJCX0KLSAJCQkJfQotIAkJCX0KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNiLnN0X2RldiAhPSBzYjIuc3RfZGV2CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIShuZXdsb2ctPmZsYWdzICYgKExPR19GTEFHX0NPUFlUUlVOQ0FURSB8IExPR19GTEFHX0NPUFkgfCBMT0dfRkxBR19UTVBGSUxFTkFNRSkpKSB7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlKE1FU1NfRVJST1IsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlczolZCBvbGRkaXIgJXMgYW5kIGxvZyBmaWxlICVzICIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZSBvbiBkaWZmZXJlbnQgZGV2aWNlc1xuIiwgY29uZmlnRmlsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bSwgbmV3bG9nLT5vbGREaXIsIG5ld2xvZy0+ZmlsZXNbaV0pOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIH0KICAKKy0tIAorMi4xOC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xvZ3JvdGF0ZS9sb2dyb3RhdGVfMy4xNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE0LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYzY4YWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi1TVU1NQVJZID0gIlJvdGF0ZXMsIGNvbXByZXNzZXMsIHJlbW92ZXMgYW5kIG1haWxzIHN5c3RlbSBsb2cgZmlsZXMiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vbG9ncm90YXRlL2xvZ3JvdGF0ZS9pc3N1ZXMiCi1MSUNFTlNFID0gIkdQTHYyIgotCi0jIFRPRE86IERvY3VtZW50IGNvcmV1dGlscyBkZXBlbmRlbmN5LiBXaHkgbm90IFJERVBFTkRTPyBXaHkgbm90IGJ1c3lib3g/Ci0KLURFUEVORFM9ImNvcmV1dGlscyBwb3B0IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotIyBXaGVuIHVwZGF0aW5nIGxvZ3JvdGF0ZSB0byBsYXRlc3QgdXBzdHJlYW0sIFNSQ19VUkkgc2hvdWxkIHBvaW50IHRvCi0jIGEgcHJvcGVyIHJlbGVhc2UgdGFyYmFsbCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9sb2dyb3RhdGUvbG9ncm90YXRlL3JlbGVhc2VzCi0jIGFuZCB3ZSBoYXZlIHRvIHRha2UgdGhlIHNuYXBzaG90IGZvciBub3cgYmVjYXVzZSB0aGVyZSBpcyBubyBzdWNoCi0jIHRhcmJhbGwgYXZhaWxhYmxlIGZvciAzLjkuMS4KLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfS0ke1BWfSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibG9ncm90YXRlLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IFwKLSAgICAgICAgICAgIGZpbGU6Ly9hY3QtYXMtbXYtd2hlbi1yb3RhdGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL3VwZGF0ZS10aGUtbWFudWFsLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNoZWNrLWRpZmZlcmVudC1maWxlc3lzdGVtcy5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIxYzBmNmU2ZTQ5MGM0YmNhYzBhMWU3N2FkMTMxMDY4MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzAzYmRjMGUyZGYzYjMyMmY5ZGZmMGFhZmM5OWFhOTE3MmM5ZTRhY2FlMjhiN2M5MjRjYzdkNGU1YjI5ZDU1IgotCi1QQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wgc2VsaW51eCcsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1thY2xdID0gIiwsYWNsIgotUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICIsLGxpYnNlbGludXgiCi0KLUNPTkZGSUxFU18ke1BOfSArPSAiJHtsb2NhbHN0YXRlZGlyfS9saWIvbG9ncm90YXRlLnN0YXR1cyBcCi0gICAgICAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmNvbmYgXAotICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2J0bXAgXAotICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL3d0bXAiCi0KLSMgSWYgUlBNX09QVF9GTEFHUyBpcyB1bnNldCwgaXQgYWRkcyAtZyBpdHNlbGYgcmF0aGVyIHRoYW4gb2JleWluZyBvdXIKLSMgb3B0aW1pemF0aW9uIHZhcmlhYmxlcywgc28gdXNlIGl0IHJhdGhlciB0aGFuIEVYVFJBX0NGTEFHUy4KLUVYVFJBX09FTUFLRSA9ICJcCi0gICAgTEZTPSBcCi0gICAgT1NfTkFNRT0nJHtPU19OQU1FfScgXAotICAgICdDQz0ke0NDfScgXAotICAgICdSUE1fT1BUX0ZMQUdTPSR7Q0ZMQUdTfScgXAotICAgICdFWFRSQV9MREZMQUdTPSR7TERGTEFHU30nIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdhY2wnLCAnV0lUSF9BQ0w9eWVzJywgJycsIGQpfSBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc2VsaW51eCcsICdXSVRIX1NFTElOVVg9eWVzJywgJycsIGQpfSBcCi0iCi0KLSMgT1NfTkFNRSBpbiB0aGUgbWFrZWZpbGUgZGVmYXVsdHMgdG8gYHVuYW1lIC1zYC4gVGhlIGJlaGF2aW9yIGZvcgotIyBmcmVlYnNkL25ldGJzZCBpcyBxdWVzdGlvbmFibGUsIHNvIGxlYXZlIGl0IGFzIExpbnV4LCB3aGljaCBvbmx5IHNldHMKLSMgSU5TVEFMTD1pbnN0YWxsIGFuZCBCQVNFRElSPS91c3IuCi1PU19OQU1FID0gIkxpbnV4IgotCi1pbmhlcml0IGF1dG90b29scyBzeXN0ZW1kCi0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJcCi0gICAgJHtCUE59LnNlcnZpY2UgXAotICAgICR7QlBOfS50aW1lciBcCi0iCi0KLUxPR1JPVEFURV9PUFRJT05TID89ICIiCi0KLUxPR1JPVEFURV9TWVNURU1EX1RJTUVSX0JBU0lTID89ICJkYWlseSIKLUxPR1JPVEFURV9TWVNURU1EX1RJTUVSX0FDQ1VSQUNZID89ICIxMmgiCi1MT0dST1RBVEVfU1lTVEVNRF9USU1FUl9QRVJTSVNURU5UID89ICJ0cnVlIgotCi1kb19pbnN0YWxsKCl7Ci0gICAgb2VfcnVubWFrZSBpbnN0YWxsIERFU1RESVI9JHtEfSBQUkVGSVg9JHtEfSBNQU5ESVI9JHttYW5kaXJ9Ci0gICAgbWtkaXIgLXAgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQKLSAgICBta2RpciAtcCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIKLSAgICBpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS1kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5jb25mCi0gICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy9idG1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL2J0bXAKLSAgICBpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2V4YW1wbGVzL3d0bXAgJHtEfSR7c3lzY29uZmRpcn0vbG9ncm90YXRlLmQvd3RtcAotICAgIHRvdWNoICR7RH0ke2xvY2Fsc3RhdGVkaXJ9L2xpYi9sb2dyb3RhdGUuc3RhdHVzCi0KLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9Ci0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS5zZXJ2aWNlCi0gICAgICAgIGluc3RhbGwgLW0gMDY0NCAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS50aW1lciAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUudGltZXIKLSAgICAgICAgWyAteiAiJHtMT0dST1RBVEVfT1BUSU9OU30iIF0gfHwKLSAgICAgICAgICAgIHNlZCAtcmkgXAotICAgICAgICAgICAgICAgIC1lICdzfChFeGVjU3RhcnQ9LiovbG9ncm90YXRlLiopJHxcMSAke0xPR1JPVEFURV9PUFRJT05TfXxnJyBcCi0gICAgICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnNlcnZpY2UKLSAgICAgICAgc2VkIC1yaSBcCi0gICAgICAgICAgICAtZSAnc3woT25DYWxlbmRhcj0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9CQVNJU318ZycgXAotICAgICAgICAgICAgLWUgJ3N8KEFjY3VyYWN5U2VjPSkuKiR8XDEke0xPR1JPVEFURV9TWVNURU1EX1RJTUVSX0FDQ1VSQUNZfXxnJyBcCi0gICAgICAgICAgICAtZSAnc3woUGVyc2lzdGVudD0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9QRVJTSVNURU5UfXxnJyBcCi0gICAgICAgICAgICAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUudGltZXIKLSAgICBmaQotCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkKLSAgICAgICAgaW5zdGFsbCAtcCAtbSAwNzU1ICR7U30vZXhhbXBsZXMvbG9ncm90YXRlLmNyb24gJHtEfSR7c3lzY29uZmRpcn0vY3Jvbi5kYWlseS9sb2dyb3RhdGUKLSAgICBmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE1LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sb2dyb3RhdGUvbG9ncm90YXRlXzMuMTUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjNkYTJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbG9ncm90YXRlL2xvZ3JvdGF0ZV8zLjE1LjAuYmIKQEAgLTAsMCArMSw5OSBAQAorU1VNTUFSWSA9ICJSb3RhdGVzLCBjb21wcmVzc2VzLCByZW1vdmVzIGFuZCBtYWlscyBzeXN0ZW0gbG9nIGZpbGVzIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2xvZ3JvdGF0ZS9sb2dyb3RhdGUvaXNzdWVzIgorTElDRU5TRSA9ICJHUEx2MiIKKworIyBUT0RPOiBEb2N1bWVudCBjb3JldXRpbHMgZGVwZW5kZW5jeS4gV2h5IG5vdCBSREVQRU5EUz8gV2h5IG5vdCBidXN5Ym94PworCitERVBFTkRTPSJjb3JldXRpbHMgcG9wdCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKKyMgV2hlbiB1cGRhdGluZyBsb2dyb3RhdGUgdG8gbGF0ZXN0IHVwc3RyZWFtLCBTUkNfVVJJIHNob3VsZCBwb2ludCB0bworIyBhIHByb3BlciByZWxlYXNlIHRhcmJhbGwgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbG9ncm90YXRlL2xvZ3JvdGF0ZS9yZWxlYXNlcworIyBhbmQgd2UgaGF2ZSB0byB0YWtlIHRoZSBzbmFwc2hvdCBmb3Igbm93IGJlY2F1c2UgdGhlcmUgaXMgbm8gc3VjaAorIyB0YXJiYWxsIGF2YWlsYWJsZSBmb3IgMy45LjEuCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tJHtQVn0iCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxvZ3JvdGF0ZS0oP1A8cHZlcj5cZCsoXC5cZCspKykudGFyIgorCitTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS8ke0JQTn0vJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiBcCisgICAgICAgICAgICBmaWxlOi8vYWN0LWFzLW12LXdoZW4tcm90YXRlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly91cGRhdGUtdGhlLW1hbnVhbC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay1kaWZmZXJlbnQtZmlsZXN5c3RlbXMucGF0Y2ggXAorICAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMzIwMDQ2ZjBiOWZjMzgzMzdlODgyN2Q0YzVhODY2YTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzEzNjEyYzQ3NzZhMzA1MzkzNDU0Yzg3NGVmNTkwZDhhY2Y4NGM5ZmZhNjQ4NzE3NzMxZGZlOTAyMjg0ZmY4ZiIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsIHNlbGludXgnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICIsLGFjbCIKK1BBQ0tBR0VDT05GSUdbc2VsaW51eF0gPSAiLCxsaWJzZWxpbnV4IgorCitDT05GRklMRVNfJHtQTn0gKz0gIiR7bG9jYWxzdGF0ZWRpcn0vbGliL2xvZ3JvdGF0ZS5zdGF0dXMgXAorICAgICAgICAgICAgICAgICAgICAke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5jb25mIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wIFwKKyAgICAgICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC93dG1wIgorCisjIElmIFJQTV9PUFRfRkxBR1MgaXMgdW5zZXQsIGl0IGFkZHMgLWcgaXRzZWxmIHJhdGhlciB0aGFuIG9iZXlpbmcgb3VyCisjIG9wdGltaXphdGlvbiB2YXJpYWJsZXMsIHNvIHVzZSBpdCByYXRoZXIgdGhhbiBFWFRSQV9DRkxBR1MuCitFWFRSQV9PRU1BS0UgPSAiXAorICAgIExGUz0gXAorICAgIE9TX05BTUU9JyR7T1NfTkFNRX0nIFwKKyAgICAnQ0M9JHtDQ30nIFwKKyAgICAnUlBNX09QVF9GTEFHUz0ke0NGTEFHU30nIFwKKyAgICAnRVhUUkFfTERGTEFHUz0ke0xERkxBR1N9JyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYWNsJywgJ1dJVEhfQUNMPXllcycsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NlbGludXgnLCAnV0lUSF9TRUxJTlVYPXllcycsICcnLCBkKX0gXAorIgorCisjIE9TX05BTUUgaW4gdGhlIG1ha2VmaWxlIGRlZmF1bHRzIHRvIGB1bmFtZSAtc2AuIFRoZSBiZWhhdmlvciBmb3IKKyMgZnJlZWJzZC9uZXRic2QgaXMgcXVlc3Rpb25hYmxlLCBzbyBsZWF2ZSBpdCBhcyBMaW51eCwgd2hpY2ggb25seSBzZXRzCisjIElOU1RBTEw9aW5zdGFsbCBhbmQgQkFTRURJUj0vdXNyLgorT1NfTkFNRSA9ICJMaW51eCIKKworaW5oZXJpdCBhdXRvdG9vbHMgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiXAorICAgICR7QlBOfS5zZXJ2aWNlIFwKKyAgICAke0JQTn0udGltZXIgXAorIgorCitMT0dST1RBVEVfT1BUSU9OUyA/PSAiIgorCitMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9CQVNJUyA/PSAiZGFpbHkiCitMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWSA/PSAiMTJoIgorTE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVCA/PSAidHJ1ZSIKKworZG9faW5zdGFsbCgpeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBERVNURElSPSR7RH0gUFJFRklYPSR7RH0gTUFORElSPSR7bWFuZGlyfQorICAgIG1rZGlyIC1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kCisgICAgbWtkaXIgLXAgJHtEfSR7bG9jYWxzdGF0ZWRpcn0vbGliCisgICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuY29uZiAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuY29uZgorICAgIGluc3RhbGwgLXAgLW0gNjQ0ICR7U30vZXhhbXBsZXMvYnRtcCAke0R9JHtzeXNjb25mZGlyfS9sb2dyb3RhdGUuZC9idG1wCisgICAgaW5zdGFsbCAtcCAtbSA2NDQgJHtTfS9leGFtcGxlcy93dG1wICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ3JvdGF0ZS5kL3d0bXAKKyAgICB0b3VjaCAke0R9JHtsb2NhbHN0YXRlZGlyfS9saWIvbG9ncm90YXRlLnN0YXR1cworCisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUuc2VydmljZSAke0R9JHtzeXN0ZW1kX3N5c3RlbV91bml0ZGlyfS9sb2dyb3RhdGUuc2VydmljZQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9leGFtcGxlcy9sb2dyb3RhdGUudGltZXIgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCisgICAgICAgIFsgLXogIiR7TE9HUk9UQVRFX09QVElPTlN9IiBdIHx8CisgICAgICAgICAgICBzZWQgLXJpIFwKKyAgICAgICAgICAgICAgICAtZSAnc3woRXhlY1N0YXJ0PS4qL2xvZ3JvdGF0ZS4qKSR8XDEgJHtMT0dST1RBVEVfT1BUSU9OU318ZycgXAorICAgICAgICAgICAgICAgICR7RH0ke3N5c3RlbWRfc3lzdGVtX3VuaXRkaXJ9L2xvZ3JvdGF0ZS5zZXJ2aWNlCisgICAgICAgIHNlZCAtcmkgXAorICAgICAgICAgICAgLWUgJ3N8KE9uQ2FsZW5kYXI9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfQkFTSVN9fGcnIFwKKyAgICAgICAgICAgIC1lICdzfChBY2N1cmFjeVNlYz0pLiokfFwxJHtMT0dST1RBVEVfU1lTVEVNRF9USU1FUl9BQ0NVUkFDWX18ZycgXAorICAgICAgICAgICAgLWUgJ3N8KFBlcnNpc3RlbnQ9KS4qJHxcMSR7TE9HUk9UQVRFX1NZU1RFTURfVElNRVJfUEVSU0lTVEVOVH18ZycgXAorICAgICAgICAgICAgJHtEfSR7c3lzdGVtZF9zeXN0ZW1fdW5pdGRpcn0vbG9ncm90YXRlLnRpbWVyCisgICAgZmkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdmluaXQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICBta2RpciAtcCAke0R9JHtzeXNjb25mZGlyfS9jcm9uLmRhaWx5CisgICAgICAgIGluc3RhbGwgLXAgLW0gMDc1NSAke1N9L2V4YW1wbGVzL2xvZ3JvdGF0ZS5jcm9uICR7RH0ke3N5c2NvbmZkaXJ9L2Nyb24uZGFpbHkvbG9ncm90YXRlCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1tbWFwMTUtbWlwczY0LXJldHVybi1FSU5WQUwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGViYTI3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1tbWFwMTUtbWlwczY0LXJldHVybi1FSU5WQUwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGI5MDk4MDViNGZjMWI3MmUwY2UyOTlhZmI0YWJjMDI3MjBlZTgxZGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMiBTZXAgMjAxOCAxNDoyNDozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSBtbWFwMTU6IG1pcHM2NCByZXR1cm4gRUlOVkFMCi0KLUluIG1pcHM2NCBrZXJuZWwsIHN5c3RlbSBjaGVjayB0aGUgYWRkciB0aGF0IHBhc3NlZCB0byBtbWFwOgotCi0gICAgaWYgKFRBU0tfU0laRSAtIGxlbiA8IGFkZHIpCi0gICAgICAgIHJldHVybiAtRUlOVkFMOwotCi1MaW5rOiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvYmxvYi9tYXN0ZXIvYXJjaC9taXBzL21tL21tYXAuYyNMNzEKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwL3B1bGwvMzk0XQotCi1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9tbWFwL21tYXAxNS5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYwotaW5kZXggZWZmMjdkNi4uYTEwYjVjNyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvbW1hcC9tbWFwMTUuYwotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9tbWFwL21tYXAxNS5jCi1AQCAtODEsOSArODEsMTQgQEAgaW50IG1haW4oaW50IGFjLCBjaGFyICoqYXYpCi0gCQl9Ci0gCi0gCQlpZiAoZXJybm8gIT0gRU5PTUVNKSB7Ci0rI2lmZGVmIF9fbWlwc19fCi0rCQkJdHN0X3Jlc20oVFBBU1MgfCBURVJSTk8sICJtbWFwIGludG8gaGlnaCByZWdpb24gIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgYXMgZXhwZWN0ZWQiKTsgICAgICAgICAgICAgICAgICAgICAgICAKLSsjZWxzZQotIAkJCXRzdF9yZXNtKFRGQUlMIHwgVEVSUk5PLCAibW1hcCBpbnRvIGhpZ2ggcmVnaW9uICIKLSAJCQkJICJmYWlsZWQgdW5leHBlY3RlZGx5IC0gZXhwZWN0ICIKLSAJCQkJICJlcnJubz1FTk9NRU0sIGdvdCIpOwotKyNlbmRpZgotIAkJfSBlbHNlIHsKLSAJCQl0c3RfcmVzbShUUEFTUyB8IFRFUlJOTywgIm1tYXAgaW50byBoaWdoIHJlZ2lvbiAiCi0gCQkJCSAiZmFpbGVkIGFzIGV4cGVjdGVkIik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW5ldG5zX2hlbHBlci5zaC11c2UtcGluZy02LXdoZW4tcGluZzYtaXMtbm90LWF2YWxpYWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTdhMGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW5ldG5zX2hlbHBlci5zaC11c2UtcGluZy02LXdoZW4tcGluZzYtaXMtbm90LWF2YWxpYWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDc2ZDgzNDNhZDMwMGY2NTA3MjMzYWJjZGY5NzYyOTI5MGUzNTg0OGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBMZWkgWWFuZyA8TGVpLllhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjkgQXVnIDIwMTggMTE6NTE6MjQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gbmV0bnNfaGVscGVyLnNoOiB1c2UgJ3BpbmcgLTYnIHdoZW4gcGluZzYgaXMgbm90IGF2YWxpYWJsZQotCi1waW5nNiBoYXMgYmVlbiBtZXJnZWQgaW50byBwaW5nIHNpbmNlIDIwMTUgYnkgdXNpbmcgInBpbmcgLTYiCi1pbiBzb21lIGRpc3RyaWJ1dGlvbnMgKGUuZy4gT3BlbkVtYmVkZGVkKSB0aGV5IGRyb3BwZWQgcGluZzYgY29tcGxldGVseQotdGhpcyBwYXRjaCB3aWxsIGxldCBib3RoICJwaW5nIC02IiBhbmQgcGluZzYgd29yay4KLQotW3B2b3JlbDogY2hhbmdlIHdhcyBkb25lIGluIHMyMDE1MDgxNToKLWViYWQzNWYgKCJwaW5nOiBtZXJnZSBgcGluZzZgIGNvbW1hbmQgaW50byBgcGluZ2AiKSwKLWJlZm9yZSB0aGF0IHJlbGVhc2Ugc3dpdGNoICctNicgZGlkbid0IGV4aXN0LgotVXBzdHJlYW0gbGVhdmVzIHBpbmc2IHN5bWxpbmsgdG8gZGlzdHJpYnV0aW9ucy5dCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9jb21taXQvNzZkODM0M2FkMzAwZjY1MDcyMzNhYmNkZjk3NjI5MjkwZTM1ODQ4YV0KLQotU2lnbmVkLW9mZi1ieTogTGVpIFlhbmcgPExlaS5ZYW5nQHdpbmRyaXZlci5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBQZXRyIFZvcmVsIDxwdm9yZWxAc3VzZS5jej4KLVNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHRlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2ggfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2NvbnRhaW5lcnMvbmV0bnMvbmV0bnNfaGVscGVyLnNoIGIvdGVzdGNhc2VzL2tlcm5lbC9jb250YWluZXJzL25ldG5zL25ldG5zX2hlbHBlci5zaAotaW5kZXggNmFlYTEwYi4uYTlkMDQ1OSAxMDA3NTUKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2gKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvY29udGFpbmVycy9uZXRucy9uZXRuc19oZWxwZXIuc2gKLUBAIC0xNjgsNyArMTY4LDEyIEBAIG5ldG5zX3NldHVwKCkKLSAJaXB2NikKLSAJCUlGQ09ORl9JTjZfQVJHPSJpbmV0NiBhZGQiCi0gCQlJUDA9JDY7IElQMT0kNzsKLS0JCXRwaW5nPSJwaW5nNiI7IE5FVE1BU0s9NjQKLSsJCWlmIHdoaWNoIHBpbmc2ID4vZGV2L251bGwgMj4mMTsgdGhlbgotKwkJICAgIHRwaW5nPSJwaW5nNiIKLSsJCWVsc2UKLSsJCSAgICB0cGluZz0icGluZyAtNiIKLSsJCWZpCi0rCQlORVRNQVNLPTY0Ci0gCQk7OwotIAkqKQotIAkJdHN0X2Jya20gVEJST0sgInNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGFuIGlwIHZlcnNpb24gKGlwdjR8aXB2NikiCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoCmluZGV4IDRkNzcxYzAuLjg0NzM2MDUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS1vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS1tbWFwMjQtMi1SZWxheC1jb25kaXRpb24tYS1iaXQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaApAQCAtNDMsOCArNDMsOCBAQAogKyAqIDMuIFNob3VsZCBnZXQgRU5PTUVNIG9yIEVJTlZBTC4KICAgKi8KICAKLSAjZGVmaW5lIF9YT1BFTl9TT1VSQ0UgNjAwCi1AQCAtOTMsOCArOTMsOCBAQCBpbnQgbWFpbih2b2lkKQorICNpbmNsdWRlIDxzdGRpby5oPgorQEAgLTkyLDggKzkyLDggQEAgaW50IG1haW4odm9pZCkKICAJICAgICAgICh1bnNpZ25lZCBsb25nKWxlbik7CiAgCXBhID0gbW1hcChhZGRyLCBsZW4sIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9GSVhFRCB8IE1BUF9TSEFSRUQsIGZkLAogIAkJICAwKTsKQEAgLTU1LDcgKzU1LDcgQEAKICAJCWV4aXQoUFRTX1BBU1MpOwogIAl9CiAgCi1AQCAtMTAzLDYgKzEwMyw2IEBAIGludCBtYWluKHZvaWQpCitAQCAtMTAyLDYgKzEwMiw2IEBAIGludCBtYWluKHZvaWQpCiAgCWVsc2UKICAJCW11bm1hcChwYSwgbGVuKTsKICAJY2xvc2UoZmQpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc2lnd2FpdGluZm8wMS1yZWNlbnQtZ2xpYmMtY2FsbHMtc3lzY2FsbC1kaXJlY3RseS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzQxMmM4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc2lnd2FpdGluZm8wMS1yZWNlbnQtZ2xpYmMtY2FsbHMtc3lzY2FsbC1kaXJlY3RseS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLUZyb20gYmI5NzdjYTA3MTZhZTk4ZjEwMTAyYzcxMjJmZTE1YmMwZGRiNTM1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJIb25nemhpLlNvbmciIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjAgU2VwIDIwMTggMjE6NDk6MDIgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gc2lnd2FpdGluZm8wMTogcmVjZW50IGdsaWJjIGNhbGxzIHN5c2NhbGwgZGlyZWN0bHkKLQotZ2xpYmMgY29tbWl0Ci0gIDhiMGU3OTVhYWE0NCAoIlNpbXBsaWZ5IExpbnV4IHNpZ3t0aW1lZH13YWl0e2luZm99IGltcGxlbWVudGF0aW9ucyIpCi1jaGFuZ2VkIHNpZ3dhaXRpbmZvIHRvIGNhbGwgc2lndGltZWR3YWl0LCB3aGljaCBjYWxscyBydF9zaWd0aW1lZHdhaXQKLXN5c2NhbGwgZGlyZWN0bHkuCi0KLVNvLCBhbiBpbnZhbGlkIHBvaW50ZXIgbm8gbG9uZ2VyIGNyYXNoZXMgY2hpbGQgcHJvY2VzcyBhbmQgdGVzdAotcmVwb3J0cyBmYWlsdXJlLiBGaXggaXQgYnkgYWNjZXB0aW5nIGVpdGhlciBjcmFzaCBvciBFRkFVTFQuCi0KLVNpZ25lZC1vZmYtYnk6IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9saXN0cy5saW51eC5pdC9waXBlcm1haWwvbHRwLzIwMTgtU2VwdGVtYmVyLzAwOTMzOC5odG1sXQotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpLlNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gLi4uL2tlcm5lbC9zeXNjYWxscy9zaWd3YWl0aW5mby9zaWd3YWl0aW5mbzAxLmMgICAgfCAzMCArKysrKysrKysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnd2FpdGluZm8vc2lnd2FpdGluZm8wMS5jCi1pbmRleCA5NWE5NDM2YTQuLjhmYThhYzM0YiAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnd2FpdGluZm8vc2lnd2FpdGluZm8wMS5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ3dhaXRpbmZvL3NpZ3dhaXRpbmZvMDEuYwotQEAgLTM3MSwxOSArMzcxLDQxIEBAIHZvaWQgdGVzdF9iYWRfYWRkcmVzczIoc3dpX2Z1bmMgc2lnd2FpdGluZm8sIGludCBzaWdubykKLSAJCXRzdF9icmttKFRCUk9LIHwgVEVSUk5PLCBOVUxMLCAiZm9yaygpIGZhaWxlZCIpOwotIAljYXNlIDA6Ci0gCQlzaWduYWwoU0lHU0VHViwgU0lHX0RGTCk7Ci0rCi0rICAgICAgIC8qCi0rICAgICAgICAqIGRlcGVuZGluZyBvbiBnbGliYyBpbXBsZW1lbnRhdGlvbiB3ZSBzaG91bGQKLSsgICAgICAgICogZWl0aGVyIGNyYXNoIG9yIGdldCBFRkFVTFQKLSsgICAgICAgICovCi0gCQlURVNUKHNpZ3dhaXRpbmZvKCh2b2lkICopMSwgTlVMTCwgTlVMTCkpOwotIAotLQkJX2V4aXQoMCk7Ci0rICAgICAgIGlmIChURVNUX1JFVFVSTiA9PSAtMSAmJiBURVNUX0VSUk5PID09IEVGQVVMVCkKLSsgICAgICAgICAgIF9leGl0KDApOwotKwotKyAgICAgICB0c3RfcmVzbShUSU5GTywgInN3aV9mdW5jIHJldHVybmVkOiAlbGQsIGVycm5vOiAlZCIsCi0rICAgICAgICAgICBURVNUX1JFVFVSTiwgVEVTVF9FUlJOTyk7Ci0rICAgICAgIF9leGl0KDEpOwotKwotIAkJYnJlYWs7Ci0gCWRlZmF1bHQ6Ci0gCQlicmVhazsKLSAJfQotIAotIAlTVUNDRUVEX09SX0RJRSh3YWl0cGlkLCAid2FpdHBpZCBmYWlsZWQiLCBwaWQsICZzdGF0dXMsIDApOwotLQlpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSAmJiBXVEVSTVNJRyhzdGF0dXMpID09IFNJR1NFR1YpCi0rCi0rICAgaWYgKChXSUZTSUdOQUxFRChzdGF0dXMpICYmIFdURVJNU0lHKHN0YXR1cykgPT0gU0lHU0VHVikKLSsgICAgICAgfHwgKFdJRkVYSVRFRChzdGF0dXMpICYmIFdFWElUU1RBVFVTKHN0YXR1cykgPT0gMCkpIHsKLSAJCXRzdF9yZXNtKFRQQVNTLCAiVGVzdCBwYXNzZWQiKTsKLS0JZWxzZQotLQkJdHN0X3Jlc20oVEZBSUwsICJVbnJlY29nbmlzZWQgY2hpbGQgZXhpdCBjb2RlIik7Ci0rICAgICAgIHJldHVybjsKLSsgICB9Ci0rCi0rICAgaWYgKFdJRkVYSVRFRChzdGF0dXMpKSB7Ci0rICAgICAgIHRzdF9yZXNtKFRGQUlMLCAiVW5yZWNvZ25pc2VkIGNoaWxkIGV4aXQgY29kZTogJWQiLAotKyAgICAgICAgICAgV0VYSVRTVEFUVVMoc3RhdHVzKSk7Ci0rICAgfQotKyAgIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKSB7Ci0rICAgICAgIHRzdF9yZXNtKFRGQUlMLCAiVW5yZWNvZ25pc2VkIGNoaWxkIHRlcm1zaWc6ICVkIiwKLSsgICAgICAgICAgIFdURVJNU0lHKHN0YXR1cykpOwotKyAgIH0KLSB9Ci0gCi0gdm9pZCB0ZXN0X2JhZF9hZGRyZXNzMyhzd2lfZnVuYyBzaWd3YWl0aW5mbywgaW50IHNpZ25vKQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAxLXN5c2NhbGxzLWZjbnRsLW1ha2UtT0ZELWNvbW1hbmQtdXNlLWZjbnRsNjQtc3lzY2FsbC0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc1NTU5Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4NCArMCwwIEBACi1Gcm9tIDhkZTAzZWExMjAwNDgwYjkyMmQ1YmEwNWI2OWRjOTRkYjYwNDk2ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiAiSG9uZ3poaS5Tb25nIiA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBTYXQsIDE1IFNlcCAyMDE4IDIyOjM5OjMyIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN5c2NhbGxzL2ZjbnRsOiBtYWtlIE9GRCBjb21tYW5kIHVzZSBmY250bDY0KCkgc3lzY2FsbCBvbgotIDMyLWJpdAotCi1UbyBjb3BlIHdpdGggZ2xpYmMgY29tbWl0OgotICAwNmFiNzE5ZDMwYjAgKCJGaXggTGludXggZmNudGwgT0ZEIGxvY2tzIGZvciBub24tTEZTIGFyY2hpdGVjdHVyZXMKLShCWiMyMDI1MSkiKQotCi1XSVA6IFN0aWxsIG5lZWQgdG8gdGVzdCB0aGlzIHdpdGggbmV3IGdsaWJjLgotICAgICBUZXN0IHdpdGggb2xkIGdsaWJjIGxvb2sgT0sgc28gZmFyLgotCi1TaWduZWQtb2ZmLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotICAgIEJhY2twb3J0ZWQgZnJvbSB1cHN0cmVhbSBtYWlsbGlzdAotICAgIGh0dHBzOi8vbGlzdHMubGludXguaXQvcGlwZXJtYWlsL2x0cC8yMDE4LVNlcHRlbWJlci8wMDkzNzAuaHRtbAotCi1TaWduZWQtb2ZmLWJ5OiBIb25nemhpIFNvbmcgPGhvbmd6aGkuc29uZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM0LmMgICAgICB8IDEyICsrKysrKystLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYyAgICAgIHwgMjMgKysrKysrKysrKysrKy0tLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaCB8IDMyICsrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA1OCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsX2NvbW1vbi5oCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzQuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jCi1pbmRleCBhYTI5Y2Y5Li4xMDlmODM0IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM0LmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNC5jCi1AQCAtMjgsNiArMjgsNyBAQAotICNpbmNsdWRlICJsYXBpL2ZjbnRsLmgiCi0gI2luY2x1ZGUgInRzdF9zYWZlX3B0aHJlYWQuaCIKLSAjaW5jbHVkZSAidHN0X3Rlc3QuaCIKLSsjaW5jbHVkZSAiZmNudGxfY29tbW9uLmgiCi0gCi0gc3RhdGljIGludCB0aHJlYWRfY250OwotIHN0YXRpYyBjb25zdCBpbnQgbWF4X3RocmVhZF9jbnQgPSAzMjsKLUBAIC02OCw3ICs2OSwxMiBAQCB2b2lkICp0aHJlYWRfZm5fMDEodm9pZCAqYXJnKQotIAotIAltZW1zZXQoYnVmLCAoaW50cHRyX3QpYXJnLCB3cml0ZV9zaXplKTsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSAwLAotIAkJLmxfbGVuICAgID0gMSwKLUBAIC03NiwxMyArODIsMTMgQEAgdm9pZCAqdGhyZWFkX2ZuXzAxKHZvaWQgKmFyZykKLSAKLSAJZm9yIChpID0gMDsgaSA8IHdyaXRlc19udW07ICsraSkgewotIAkJbGNrLmxfdHlwZSA9IEZfV1JMQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQlTQUZFX0xTRUVLKGZkLCAwLCBTRUVLX0VORCk7Ci0gCQlTQUZFX1dSSVRFKDEsIGZkLCBidWYsIHdyaXRlX3NpemUpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfVU5MQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQlzY2hlZF95aWVsZCgpOwotIAl9Ci1kaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bDM2LmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYwotaW5kZXggMzI0NmQxMy4uZjI2M2I2YiAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGwzNi5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsMzYuYwotQEAgLTU3LDYgKzU3LDcgQEAKLSAjaW5jbHVkZSAibGFwaS9mY250bC5oIgotICNpbmNsdWRlICJ0c3Rfc2FmZV9wdGhyZWFkLmgiCi0gI2luY2x1ZGUgInRzdF90ZXN0LmgiCi0rI2luY2x1ZGUgImZjbnRsX2NvbW1vbi5oIgotIAotIHN0YXRpYyBpbnQgdGhyZWFkX2NudDsKLSBzdGF0aWMgaW50IGZhaWxfZmxhZyA9IDA7Ci1AQCAtODcsNyArODgsMTIgQEAgc3RhdGljIHZvaWQgKmZuX29mZF93KHZvaWQgKmFyZykKLSAJaW50IGZkID0gU0FGRV9PUEVOKGZuYW1lLCBPX1JEV1IpOwotIAlsb25nIHd0ID0gcGEtPmNudDsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSBwYS0+b2Zmc2V0LAotIAkJLmxfbGVuICAgID0gcGEtPmxlbmd0aCwKLUBAIC05OSwxMyArMTA1LDEzIEBAIHN0YXRpYyB2b2lkICpmbl9vZmRfdyh2b2lkICphcmcpCi0gCQltZW1zZXQoYnVmLCB3dCwgcGEtPmxlbmd0aCk7Ci0gCi0gCQlsY2subF90eXBlID0gRl9XUkxDSzsKLS0JCVNBRkVfRkNOVEwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSAKLSAJCVNBRkVfTFNFRUsoZmQsIHBhLT5vZmZzZXQsIFNFRUtfU0VUKTsKLSAJCVNBRkVfV1JJVEUoMSwgZmQsIGJ1ZiwgcGEtPmxlbmd0aCk7Ci0gCi0gCQlsY2subF90eXBlID0gRl9VTkxDSzsKLS0JCVNBRkVfRkNOVEwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEtXLCAmbGNrKTsKLSAKLSAJCXd0Kys7Ci0gCQlpZiAod3QgPj0gMjU1KQotQEAgLTE2Niw3ICsxNzIsMTIgQEAgc3RhdGljIHZvaWQgKmZuX29mZF9yKHZvaWQgKmFyZykKLSAJaW50IGk7Ci0gCWludCBmZCA9IFNBRkVfT1BFTihmbmFtZSwgT19SRFdSKTsKLSAKLS0Jc3RydWN0IGZsb2NrNjQgbGNrID0gewotKyAgICAvKiBzZWUgZXhwbGFuYXRpb24gaW4gZmNudGxfY29tbW9uLmggKi8KLSsgICAgI2lmZGVmIFVTRV9TVFJVQ1RfRkxPQ0sKLSsgICAgICAgIHN0cnVjdCBmbG9jayBsY2sgPSB7Ci0rICAgICNlbHNlCi0rICAgICAgICBzdHJ1Y3QgZmxvY2s2NCBsY2sgPSB7Ci0rICAgICNlbmRpZgotIAkJLmxfd2hlbmNlID0gU0VFS19TRVQsCi0gCQkubF9zdGFydCAgPSBwYS0+b2Zmc2V0LAotIAkJLmxfbGVuICAgID0gcGEtPmxlbmd0aCwKLUBAIC0xNzgsNyArMTg5LDcgQEAgc3RhdGljIHZvaWQgKmZuX29mZF9yKHZvaWQgKmFyZykKLSAJCW1lbXNldChidWYsIDAsIHBhLT5sZW5ndGgpOwotIAotIAkJbGNrLmxfdHlwZSA9IEZfUkRMQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMS1csICZsY2spOwotKyAgICAgICAgbXlfZmNudGwoZmQsIEZfT0ZEX1NFVExLVywgJmxjayk7Ci0gCi0gCQkvKiBybG9jayBhY3F1aXJlZCAqLwotIAkJU0FGRV9MU0VFSyhmZCwgcGEtPm9mZnNldCwgU0VFS19TRVQpOwotQEAgLTIwOSw3ICsyMjAsNyBAQCBzdGF0aWMgdm9pZCAqZm5fb2ZkX3Iodm9pZCAqYXJnKQotIAkJfQotIAotIAkJbGNrLmxfdHlwZSA9IEZfVU5MQ0s7Ci0tCQlTQUZFX0ZDTlRMKGZkLCBGX09GRF9TRVRMSywgJmxjayk7Ci0rICAgICAgICBteV9mY250bChmZCwgRl9PRkRfU0VUTEssICZsY2spOwotIAotIAkJc2NoZWRfeWllbGQoKTsKLSAJfQotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZmNudGwvZmNudGxfY29tbW9uLmggYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2ZjbnRsL2ZjbnRsX2NvbW1vbi5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uM2ZlMzk5YgotLS0tIC9kZXYvbnVsbAotKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9mY250bC9mY250bF9jb21tb24uaAotQEAgLTAsMCArMSwzMiBAQAotKyNpbmNsdWRlICJsYXBpL3N5c2NhbGxzLmgiCi0rCi0rLyoKLSsgKiBnbGliYyBjb21taXQ6Ci0rICogICAwNmFiNzE5ZDMwYjAgKCJGaXggTGludXggZmNudGwgT0ZEIGxvY2tzIGZvciBub24tTEZTIGFyY2hpdGVjdHVyZXMgKEJaIzIwMjUxKSIpCi0rICogY2hhbmdlZCBiZWhhdmlvciBvZiBhcmcgcGFyYW1ldGVyIGZvciBPRkQgY29tbWFuZHMuIEl0IGlzIG5vCi0rICogbG9uZ2VyIHBhc3NpbmcgYXJnIGRpcmVjdGx5IHRvIHN5c2NhbGwsIGJ1dCBleHBlY3RzIGl0IHRvIGJlCi0rICogJ3N0cnVjdCBmbG9jaycuCi0rICoKLSsgKiBPbiA2NC1iaXQgb3IgX0ZJTEVfT0ZGU0VUX0JJVFMgPT0gNjQgd2UgY2FuIHVzZSBmY250bCgpIGFuZAotKyAqIHN0cnVjdCBmbG9jayB3aXRoIGFueSBnbGliYyB2ZXJzaW9uLiBzdHJ1Y3QgZmxvY2sgYW5kIGZsb2NrNjQKLSsgKiBzaG91bGQgYmUgaWRlbnRpY2FsLgotKyAqCi0rICogT24gMzItYml0LCBvbGRlciBnbGliYyB3b3VsZCBwYXNzIGFyZyBkaXJlY3RseSwgcmVjZW50IG9uZSB0cmVhdHMKLSsgKiBpdCBhcyAnc3RydWN0IGZsb2NrJyBhbmQgY29udmVydHMgaXQgdG8gJ3N0cnVjdCBmbG9jazY0Jy4KLSsgKiBTbywgZm9yIDMyLWJpdCB3ZSB1c2UgZmNudGw2NCBzeXNjYWxsIGRpcmVjdGx5IHdpdGggc3RydWN0IGZsb2NrNjQuCi0rICovCi0rI2lmIF9fV09SRFNJWkUgPT0gNjQgfHwgX0ZJTEVfT0ZGU0VUX0JJVFMgPT0gNjQKLSsjZGVmaW5lIFVTRV9TVFJVQ1RfRkxPQ0sKLStzdGF0aWMgaW50IG15X2ZjbnRsKGludCBmZCwgaW50IGNtZCwgdm9pZCAqbGNrKQotK3sKLSsgICAgICAgIHJldHVybiBTQUZFX0ZDTlRMKGZkLCBjbWQsIGxjayk7Ci0rfQotKyNlbHNlCi0rc3RhdGljIGludCBteV9mY250bChpbnQgZmQsIGludCBjbWQsIHZvaWQgKmxjaykKLSt7Ci0rICAgICAgICBpbnQgcmV0ID0gdHN0X3N5c2NhbGwoX19OUl9mY250bDY0LCBmZCwgY21kLCBsY2spOwotKyAgICAgICAgaWYgKHJldCA9PSAtMSkKLSsgICAgICAgICAgICAgICAgdHN0X2JyayhUQlJPS3xURVJSTk8sICJmY250bDY0Iik7Ci0rICAgICAgICByZXR1cm4gcmV0OwotK30KLSsjZW5kaWYKLS0tIAotMi44LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA0LWJ1aWxkLUFkZC1vcHRpb24tdG8tc2VsZWN0LWxpYmMtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaAppbmRleCAyZGYzODU1Li4zYzY2Yzk0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaApAQCAtNDIsNyArNDIsNyBAQAogaW5kZXggNTBhMTJmYS4uNGYxOTg3ZiAxMDA2NDQKIC0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvTWFrZWZpbGUKICsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvTWFrZWZpbGUKLUBAIC00OCwxMyArNDgsMTYgQEAgU1VCRElSUwkJCSs9IGNvbm5lY3RvcnMgXAorQEAgLTQ5LDEyICs0OSwxNSBAQCBTVUJESVJTCQkJKz0gY29ubmVjdG9ycyBcCiAgCQkJICAgbG9nZ2luZyBcCiAgCQkJICAgbWVtIFwKICAJCQkgICBudW1hIFwKQEAgLTUxLDcgKzUxLDYgQEAKICAJCQkgICBzZWN1cml0eSBcCiAgCQkJICAgdGltZXJzIFwKICAJCQkgICB0cmFjaW5nIFwKLSAJCQkgICBtb2R1bGUgXAogIAogK2lmbmVxICgkKExJQkMpLG11c2wpCiArU1VCRElSUwkJCSs9IHB0eQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaAppbmRleCAyZjRjYTYzLi42ZTZkYmYzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDctZml4LV9fV09SRFNJWkUtdW5kZWNsYXJlZC13aGVuLWJ1aWxkaW5nLXdpdGgtbXVzbC5wYXRjaApAQCAtMTYsNyArMTYsNyBAQAogaW5kZXggYjM2NzY0ZDgzLi5jYzZmMWI1NTEgMTAwNjQ0CiAtLS0gYS9pbmNsdWRlL29sZC90ZXN0LmgKICsrKyBiL2luY2x1ZGUvb2xkL3Rlc3QuaAotQEAgLTQ0LDYgKzQ0LDkgQEAKK0BAIC0xNyw2ICsxNyw5IEBACiAgI2luY2x1ZGUgPHN0cmluZy5oPgogICNpbmNsdWRlIDxzdGRsaWIuaD4KICAjaW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2gKaW5kZXggNDI4YWMzMC4uNzMxMWVlMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDA4LUNoZWNrLWlmLV9fR0xJQkNfUFJFUkVRLWlzLWRlZmluZWQtYmVmb3JlLXVzaW5nLWl0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwOC1DaGVjay1pZi1fX0dMSUJDX1BSRVJFUS1pcy1kZWZpbmVkLWJlZm9yZS11c2luZy1pdC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYTNjYmVlMzFkYWFlMjQ2NmJjOGRjYWMzNmIzM2EwMTM1MjY5MzM0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZmMyYjQ3YWQ5NzlhODdiZmJkMTFhZWVhM2Y2N2MyNmU3ZmIzOWUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDcgSmFuIDIwMTYgMTk6NDA6MDggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8yNl0gQ2hlY2sgaWYgX19HTElCQ19QUkVSRVEgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKK1N1YmplY3Q6IFtQQVRDSF0gQ2hlY2sgaWYgX19HTElCQ19QUkVSRVEgaXMgZGVmaW5lZCBiZWZvcmUgdXNpbmcgaXQKIAogX19HTElCQ19QUkVSRVEgaXMgc3BlY2lmaWMgdG8gZ2xpYmMgc28gaXQgc2hvdWxkIGJlIGNoZWNrZWQgaWYgaXQgaXMKIGRlZmluZWQgb3Igbm90LgpAQCAtMTAsMTMgKzEwLDEyIEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYyAgICAgfCAgOSArKysrLQotIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMgICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrLQotIC4uLi9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorIC4uLi9rZXJuZWwvc3lzY2FsbHMvYWNjZXB0NC9hY2NlcHQ0XzAxLmMgICAgICB8ICA5ICsrKysrKy0KKyAuLi4vc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jICAgfCAyNiArKysrKysrKysrKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2FjY2VwdDQvYWNjZXB0NF8wMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwotaW5kZXggNjA3MmJmYS4uMmIwOTBjYiAxMDA2NDQKK2luZGV4IGRlYzRlZjkzYi4uYzVkNzRiMDdmIDEwMDY0NAogLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9hY2NlcHQ0L2FjY2VwdDRfMDEuYwogQEAgLTY0LDYgKzY0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW51cCh2b2lkKQpAQCAtNTksMTMxICs1OCw4IEBACiAgI2Vsc2UKICAJYWNjZXB0ZmQgPSBhY2NlcHQ0KGxmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZjbGFkZHIsICZhZGRybGVuLAogIAkJCSAgIGNsb3Nlb25leGVjX2ZsYWcgfCBub25ibG9ja19mbGFnKTsKLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2dldGNwdS9nZXRjcHUwMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9nZXRjcHUvZ2V0Y3B1MDEuYwotaW5kZXggYzkyNzUxMi4uOTIxYjEwNyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvZ2V0Y3B1L2dldGNwdTAxLmMKLUBAIC02Miw2ICs2Miw3IEBACi0gI2luY2x1ZGUgPGRpcmVudC5oPgotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLDYpCi0gI2lmIGRlZmluZWQoX194ODZfNjRfXykKLSAjaW5jbHVkZSA8dXRtcHguaD4KLUBAIC03NSwxMCArNzYsMTcgQEAgaW50IHN5c19zdXBwb3J0ID0gMDsKLSAjZWxzZQotIGludCBzeXNfc3VwcG9ydCA9IDA7Ci0gI2VuZGlmCi0rI2Vsc2UKLStpbnQgc3lzX3N1cHBvcnQgPSAwOwotKyNlbmRpZgotIAotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaWYgIShfX0dMSUJDX1BSRVJFUSgyLCA3KSkKLSAjZGVmaW5lIENQVV9GUkVFKHB0cikgZnJlZShwdHIpCi0gI2VuZGlmCi0rI2Vsc2UKLSsjZGVmaW5lIENQVV9GUkVFKHB0cikgZnJlZShwdHIpCi0rI2VuZGlmCi0gCi0gdm9pZCBjbGVhbnVwKHZvaWQpOwotIHZvaWQgc2V0dXAodm9pZCk7Ci1AQCAtMTY0LDcgKzE3MiwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBnZXRjcHUodW5zaWduZWQgKmNwdV9pZCwgdW5zaWduZWQgKm5vZGVfaWQsCi0gewotICNpZiBkZWZpbmVkKF9faTM4Nl9fKQotIAlyZXR1cm4gc3lzY2FsbCgzMTgsIGNwdV9pZCwgbm9kZV9pZCwgY2FjaGVfc3RydWN0KTsKLS0jZWxpZiBfX0dMSUJDX1BSRVJFUSgyLDYpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pCi0rI2lmIF9fR0xJQkNfUFJFUkVRKDIsNikKLSsJKmNwdV9pZCA9IHNjaGVkX2dldGNwdSgpOwotKyNlbmRpZgotKyNlbHNlCi0gCSpjcHVfaWQgPSBzY2hlZF9nZXRjcHUoKTsKLSAjZW5kaWYKLSAJcmV0dXJuIDA7Ci1AQCAtMTkxLDE1ICsyMDMsMjAgQEAgdW5zaWduZWQgaW50IHNldF9jcHVfYWZmaW5pdHkodm9pZCkKLSAJY3B1X3NldF90ICpzZXQ7Ci0gCXNpemVfdCBzaXplOwotIAlpbnQgbnJjcHVzID0gMTAyNDsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCi0gI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCi0gcmVhbGxvYzoKLSAJc2V0ID0gQ1BVX0FMTE9DKG5yY3B1cyk7Ci0gI2Vsc2UKLSAJc2V0ID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKLSAjZW5kaWYKLSsjZWxzZQotKwlzZXQgPSBtYWxsb2Moc2l6ZW9mKGNwdV9zZXRfdCkpOwotKyNlbmRpZgotIAlpZiAoc2V0ID09IE5VTEwpIHsKLSAJCXRzdF9icmttKFRGQUlMLCBOVUxMLCAiQ1BVX0FMTE9DOmVycm5vOiVkIiwgZXJybm8pOwotIAl9Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIAlzaXplID0gQ1BVX0FMTE9DX1NJWkUobnJjcHVzKTsKLSAJQ1BVX1pFUk9fUyhzaXplLCBzZXQpOwotQEAgLTIwNyw4ICsyMjQsMTMgQEAgcmVhbGxvYzoKLSAJc2l6ZSA9IHNpemVvZihjcHVfc2V0X3QpOwotIAlDUFVfWkVSTyhzZXQpOwotICNlbmRpZgotKyNlbHNlCi0rCXNpemUgPSBzaXplb2YoY3B1X3NldF90KTsKLSsJQ1BVX1pFUk8oc2V0KTsKLSsjZW5kaWYKLSAJaWYgKHNjaGVkX2dldGFmZmluaXR5KDAsIHNpemUsIHNldCkgPCAwKSB7Ci0gCQlDUFVfRlJFRShzZXQpOwotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKLSAjaWYgX19HTElCQ19QUkVSRVEoMiwgNykKLSAJCWlmIChlcnJubyA9PSBFSU5WQUwgJiYgbnJjcHVzIDwgKDEwMjQgPDwgOCkpIHsKLSAJCQlucmNwdXMgPSBucmNwdXMgPDwgMjsKLUBAIC0yMjAsMTAgKzI0MiwxNyBAQCByZWFsbG9jOgotIAkJCQkgIk5SX0NQVVMgb2YgdGhlIGtlcm5lbCBpcyBtb3JlIHRoYW4gMTAyNCwgc28gd2UnZCBiZXR0ZXIgdXNlIGEgbmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotIAkJZWxzZQotICNlbmRpZgotKyNlbHNlCi0rCQlpZiAoZXJybm8gPT0gRUlOVkFMKQotKwkJCXRzdF9yZXNtKFRGQUlMLAotKwkJCQkgIk5SX0NQVVMgb2YgdGhlIGtlcm5lbCBpcyBtb3JlIHRoYW4gMTAyNCwgc28gd2UnZCBiZXR0ZXIgdXNlIGEgbmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotKwkJZWxzZQotKyNlbmRpZgotIAkJCXRzdF9yZXNtKFRGQUlMLCAic2NoZWRfZ2V0YWZmaW5pdHk6ZXJybm86JWQiLCBlcnJubyk7Ci0gCQl0c3RfZXhpdCgpOwotIAl9Ci0gCWNwdV9tYXggPSBtYXhfY3B1aWQoc2l6ZSwgc2V0KTsKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCi0gI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCi0gCUNQVV9aRVJPX1Moc2l6ZSwgc2V0KTsKLSAJQ1BVX1NFVF9TKGNwdV9tYXgsIHNpemUsIHNldCk7Ci1AQCAtMjMxLDYgKzI2MCwxMCBAQCByZWFsbG9jOgotIAlDUFVfWkVSTyhzZXQpOwotIAlDUFVfU0VUKGNwdV9tYXgsIHNldCk7Ci0gI2VuZGlmCi0rI2Vsc2UKLSsJQ1BVX1pFUk8oc2V0KTsKLSsJQ1BVX1NFVChjcHVfbWF4LCBzZXQpOwotKyNlbmRpZgotIAlpZiAoc2NoZWRfc2V0YWZmaW5pdHkoMCwgc2l6ZSwgc2V0KSA8IDApIHsKLSAJCUNQVV9GUkVFKHNldCk7Ci0gCQl0c3RfYnJrbShURkFJTCwgTlVMTCwgInNjaGVkX3NldGFmZmluaXR5OmVycm5vOiVkIiwgZXJybm8pOwotQEAgLTI0NywxMSArMjgwLDE1IEBAIHVuc2lnbmVkIGludCBtYXhfY3B1aWQoc2l6ZV90IHNpemUsIGNwdV9zZXRfdCAqIHNldCkKLSB7Ci0gCXVuc2lnbmVkIGludCBpbmRleCwgbWF4ID0gMDsKLSAJZm9yIChpbmRleCA9IDA7IGluZGV4IDwgc2l6ZSAqIEJJVFNfUEVSX0JZVEU7IGluZGV4KyspCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQotICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQotIAkJaWYgKENQVV9JU1NFVF9TKGluZGV4LCBzaXplLCBzZXQpKQotICNlbHNlCi0gCQlpZiAoQ1BVX0lTU0VUKGluZGV4LCBzZXQpKQotICNlbmRpZgotKyNlbHNlCi0rCQlpZiAoQ1BVX0lTU0VUKGluZGV4LCBzZXQpKQotKyNlbmRpZgotIAkJCW1heCA9IGluZGV4OwotIAlyZXR1cm4gbWF4OwotIH0KIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2NoZWRfZ2V0YWZmaW5pdHkvc2NoZWRfZ2V0YWZmaW5pdHkwMS5jCi1pbmRleCA5ZDZhODFhLi40ZWQxM2IyIDEwMDY0NAoraW5kZXggMDJmMDRiOTA5Li5kOTA2ZDdlMDkgMTAwNjQ0CiAtLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NjaGVkX2dldGFmZmluaXR5L3NjaGVkX2dldGFmZmluaXR5MDEuYwogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zY2hlZF9nZXRhZmZpbml0eS9zY2hlZF9nZXRhZmZpbml0eTAxLmMKIEBAIC02Nyw5ICs2NywxMSBAQCBkbyB7IFwKQEAgLTE5OCw3ICs3NCw3IEBACiAgCiAgaW50IG1haW4oaW50IGFjLCBjaGFyICoqYXYpCiAgewotQEAgLTk2LDE0ICs5OCwxOSBAQCBzdGF0aWMgdm9pZCBkb190ZXN0KHZvaWQpCitAQCAtOTYsMTcgKzk4LDI2IEBAIHN0YXRpYyB2b2lkIGRvX3Rlc3Qodm9pZCkKICAJcGlkX3QgdW51c2VkX3BpZDsKICAJdW5zaWduZWQgbGVuOwogIApAQCAtMjA2LDI3ICs4MiwyNiBAQAogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIHJlYWxsb2M6CiAgCW1hc2sgPSBDUFVfQUxMT0MobnJjcHVzKTsKLSAjZWxzZQotIAltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKLSAjZW5kaWYKICsjZWxzZQogKwltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKICsjZW5kaWYKKyAjZWxzZQorIAltYXNrID0gbWFsbG9jKHNpemVvZihjcHVfc2V0X3QpKTsKKyAjZW5kaWYKICAJaWYgKG1hc2sgPT0gTlVMTCkKICAJCXRzdF9icmttKFRGQUlMIHwgVFRFUlJOTywgY2xlYW51cCwgImZhaWwgdG8gZ2V0IGVub3VnaCBtZW1vcnkiKTsKICsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCiAgI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCiAgCWxlbiA9IENQVV9BTExPQ19TSVpFKG5yY3B1cyk7CiAgCUNQVV9aRVJPX1MobGVuLCBtYXNrKTsKLUBAIC0xMTEsMTAgKzExOCwxNSBAQCByZWFsbG9jOgotIAlsZW4gPSBzaXplb2YoY3B1X3NldF90KTsKLSAJQ1BVX1pFUk8obWFzayk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJbGVuID0gc2l6ZW9mKGNwdV9zZXRfdCk7CiArCUNQVV9aRVJPKG1hc2spOwogKyNlbmRpZgotIAkvKiBwb3NpdGl2ZSB0ZXN0ICovCisgI2Vsc2UKKyAJbGVuID0gc2l6ZW9mKGNwdV9zZXRfdCk7CisgCUNQVV9aRVJPKG1hc2spOworQEAgLTExNSwxMSArMTI2LDE4IEBAIHJlYWxsb2M6CiAgCVRFU1Qoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgbGVuLCBtYXNrKSk7CiAgCWlmIChURVNUX1JFVFVSTiA9PSAtMSkgewogIAkJQ1BVX0ZSRUUobWFzayk7CkBAIC0yMzQsNTAgKzEwOSw0MyBAQAogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAkJaWYgKGVycm5vID09IEVJTlZBTCAmJiBucmNwdXMgPCAoMTAyNCA8PCA4KSkgewogIAkJCW5yY3B1cyA9IG5yY3B1cyA8PCAyOwotQEAgLTEyNiwxNyArMTM4LDI3IEBAIHJlYWxsb2M6Ci0gCQkJCSAibmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwotIAkJZWxzZQotICNlbmRpZgorIAkJCWdvdG8gcmVhbGxvYzsKKyAJCX0KICsjZWxzZQogKwkJaWYgKGVycm5vID09IEVJTlZBTCkKICsJCQl0c3RfcmVzbShURkFJTCwgIk5SX0NQVVMgPiAxMDI0LCB3ZSdkIGJldHRlciB1c2UgYSAiCiArCQkJCSAibmV3ZXIgZ2xpYmMoPj0gMi43KSIpOwogKwkJZWxzZQogKyNlbmRpZgotIAkJCXRzdF9yZXNtKFRGQUlMIHwgVFRFUlJOTywgImZhaWwgdG8gZ2V0IGNwdSBhZmZpbml0eSIpOwotIAkJY2xlYW51cCgpOwotIAl9IGVsc2UgeworICNlbHNlCisgCQlpZiAoZXJybm8gPT0gRUlOVkFMKQorIAkJCXRzdF9yZXNtKFRGQUlMLCAiTlJfQ1BVUyA+IDEwMjQsIHdlJ2QgYmV0dGVyIHVzZSBhICIKK0BAIC0xMzIsOCArMTUwLDEyIEBAIHJlYWxsb2M6CiAgCQl0c3RfcmVzbShUSU5GTywgImNwdXNldHNpemUgaXMgJWQiLCBsZW4pOwogIAkJdHN0X3Jlc20oVElORk8sICJtYXNrLl9fYml0c1swXSA9ICVsdSAiLCBtYXNrLT5fX2JpdHNbMF0pOwogIAkJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKSB7CiArI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiBkZWZpbmVkKF9fR0xJQkNfUFJFUkVRKQogICNpZiBfX0dMSUJDX1BSRVJFUSgyLCA3KQogIAkJCVRFU1QoQ1BVX0lTU0VUX1MoaSwgbGVuLCBtYXNrKSk7Ci0gI2Vsc2UKLSAJCQlURVNUKENQVV9JU1NFVChpLCBtYXNrKSk7Ci0gI2VuZGlmCiArI2Vsc2UKICsJCQlURVNUKENQVV9JU1NFVChpLCBtYXNrKSk7CiArI2VuZGlmCi0gCQkJaWYgKFRFU1RfUkVUVVJOICE9IC0xKQotIAkJCQl0c3RfcmVzbShUUEFTUywgInNjaGVkX2dldGFmZmluaXR5KCkgc3VjY2VlZCwgIgotIAkJCQkJICJ0aGlzIHByb2Nlc3MgJWQgaXMgcnVubmluZyAiCi1AQCAtMTQ0LDExICsxNjYsMTUgQEAgcmVhbGxvYzoKKyAjZWxzZQorIAkJCVRFU1QoQ1BVX0lTU0VUKGksIG1hc2spKTsKKyAjZW5kaWYKK0BAIC0xNDQsOCArMTY2LDEyIEBAIHJlYWxsb2M6CiAgCQl9CiAgCX0KICAKICsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCiAgI2lmIF9fR0xJQkNfUFJFUkVRKDIsIDcpCiAgCUNQVV9aRVJPX1MobGVuLCBtYXNrKTsKLSAjZWxzZQotIAlDUFVfWkVSTyhtYXNrKTsKLSAjZW5kaWYKICsjZWxzZQogKwlDUFVfWkVSTyhtYXNrKTsKICsjZW5kaWYKLSAJLyogbmVnYXRpdmUgdGVzdHMgKi8KLSAJUVVJQ0tfVEVTVChzY2hlZF9nZXRhZmZpbml0eSgwLCBsZW4sIChjcHVfc2V0X3QgKikgLSAxKSk7Ci0gCVFVSUNLX1RFU1Qoc2NoZWRfZ2V0YWZmaW5pdHkoMCwgMCwgbWFzaykpOworICNlbHNlCisgCUNQVV9aRVJPKG1hc2spOworICNlbmRpZgogLS0gCi0xLjkuMQorMi4xNy4xCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaAppbmRleCA3MWUzMmE1Li42NjVkYTNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM1LWZpeC10ZXN0X3Byb2Nfa2lsbC1oYW5nLnBhdGNoCkBAIC0xOSw3ICsxOSw3IEBACiBpbmRleCBiNzg1ZmUzLi4yOTE4Y2M1IDEwMDc1NQogLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9tZW1jZy9mdW5jdGlvbmFsL21lbWNnX2xpYi5zaAogKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9jb250cm9sbGVycy9tZW1jZy9mdW5jdGlvbmFsL21lbWNnX2xpYi5zaAotQEAgLTI4Myw2ICsyODMsNyBAQCB0ZXN0X3Byb2Nfa2lsbCgpCitAQCAtMjkxLDYgKzI5MSw3IEBAIHRlc3RfcHJvY19raWxsKCkKICAJcGlkPSQhCiAgCVRTVF9DSEVDS1BPSU5UX1dBSVQgMAogIAllY2hvICRwaWQgPiB0YXNrcwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2gKaW5kZXggZTdjOTI3ZS4uZWM1ZTJlZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMzktY29tbWFuZHMtYXIwMS1GaXgtZm9yLXRlc3QtaW4tZGV0ZXJtaW5pc3RpYy1tb2RlLnBhdGNoCkBAIC0yMSwxNiArMjEsMTggQEAKICAxIGZpbGUgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMvY29tbWFuZHMvYXIvYXIwMSBiL3Rlc3RjYXNlcy9jb21tYW5kcy9hci9hcjAxCi1pbmRleCBkZGFiMmUwLi5kNjg4Zjc2IDEwMDY0NAoraW5kZXggYmUxMDVmNmRhLi44MTNhNTFkOWMgMTAwNjQ0CiAtLS0gYS90ZXN0Y2FzZXMvY29tbWFuZHMvYXIvYXIwMQogKysrIGIvdGVzdGNhc2VzL2NvbW1hbmRzL2FyL2FyMDEKLUBAIC0yMywxNCArMjMsMjYgQEAKLSAjIFRoaXMgaXMgYSBiYXNpYyBhciBjb21tYW5kIHRlc3QuCitAQCAtMjQsMTYgKzI0LDI4IEBACiAgIworIEFSPSIke0FSOj1hcn0iCiAgVFNUX0NOVD0xNwogK1RTVF9TRVRVUD1zZXR1cAogIFRTVF9URVNURlVOQz10ZXN0CiAgVFNUX05FRURTX1RNUERJUj0xCisgVFNUX05FRURTX0NNRFM9IiRBUiIKKyAKICAuIHRzdF90ZXN0LnNoCiAgCiArc2V0dXAoKQpAQCAtNTMsNyArNTUsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTQ3LDkgKzU5LDkgQEAgdGVzdDEoKQorQEAgLTUwLDkgKzYyLDkgQEAgdGVzdDEoKQogIAogIHRlc3QyKCkKICB7CkBAIC02Niw3ICs2OCw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTQuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTY2LDggKzc4LDggQEAgdGVzdDIoKQorQEAgLTY5LDggKzgxLDggQEAgdGVzdDIoKQogIAogIHRlc3QzKCkKICB7CkBAIC03Nyw3ICs3OSw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtODQsOSArOTYsOSBAQCB0ZXN0MygpCitAQCAtODcsOSArOTksOSBAQCB0ZXN0MygpCiAgCiAgdGVzdDQoKQogIHsKQEAgLTkwLDcgKzkyLDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0xMDMsNyArMTE1LDcgQEAgdGVzdDQoKQorQEAgLTEwNiw3ICsxMTgsNyBAQCB0ZXN0NCgpCiAgCiAgdGVzdDUoKQogIHsKQEAgLTk5LDcgKzEwMSw3IEBACiAgCiAgCWlmIFsgLXMgYXIub3V0IF07IHRoZW4KICAJCXRzdF9yZXMgVEZBSUwgImFyIHByb2R1Y2VkIG91dHB1dCB1bmV4cGVjdGVkbHkgKC1jKSIKLUBAIC0xMTcsNyArMTI5LDcgQEAgdGVzdDUoKQorQEAgLTEyMCw3ICsxMzIsNyBAQCB0ZXN0NSgpCiAgCiAgdGVzdDYoKQogIHsKQEAgLTEwOCw3ICsxMTAsNyBAQAogIAogIAlpZiBbIC1zIGFyLm91dCBdOyB0aGVuCiAgCQl0c3RfcmVzIFRGQUlMICJhciBwcm9kdWNlZCBvdXRwdXQgdW5leHBlY3RlZGx5ICgtcWMpIgotQEAgLTEzMSw5ICsxNDMsOSBAQCB0ZXN0NigpCitAQCAtMTM0LDkgKzE0Niw5IEBAIHRlc3Q2KCkKICAKICB0ZXN0NygpCiAgewpAQCAtMTIxLDcgKzEyMyw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTE1MCw5ICsxNjIsOSBAQCB0ZXN0NygpCitAQCAtMTUzLDkgKzE2NSw5IEBAIHRlc3Q3KCkKICAKICB0ZXN0OCgpCiAgewpAQCAtMTM0LDcgKzEzNiw3IEBACiAgCVJPRCBhciAtdCBsaWIuYSBcPiBhci5vdXQKICAKICAJcHJpbnRmICJmaWxlMS5pblxuZmlsZTIuaW5cbmZpbGUzLmluXG4iID4gYXIuZXhwCi1AQCAtMTY5LDggKzE4MSw4IEBAIHRlc3Q4KCkKK0BAIC0xNzIsOCArMTg0LDggQEAgdGVzdDgoKQogIAogIHRlc3Q5KCkKICB7CkBAIC0xNDUsNyArMTQ3LDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0xODcsOSArMTk5LDkgQEAgdGVzdDkoKQorQEAgLTE5MCw5ICsyMDIsOSBAQCB0ZXN0OSgpCiAgCiAgdGVzdDEwKCkKICB7CkBAIC0xNTgsNyArMTYwLDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbiIgPiBhci5leHAKLUBAIC0yMDYsOSArMjE4LDkgQEAgdGVzdDEwKCkKK0BAIC0yMDksOSArMjIxLDkgQEAgdGVzdDEwKCkKICAKICB0ZXN0MTEoKQogIHsKQEAgLTE3MSw3ICsxNzMsNyBAQAogIAlST0QgYXIgLXQgbGliLmEgXD4gYXIub3V0CiAgCiAgCXByaW50ZiAiZmlsZTEuaW5cbmZpbGUyLmluXG5maWxlMy5pblxuIiA+IGFyLmV4cAotQEAgLTIyNSw5ICsyMzcsOSBAQCB0ZXN0MTEoKQorQEAgLTIyOCw5ICsyNDAsOSBAQCB0ZXN0MTEoKQogIAogIHRlc3QxMigpCiAgewpAQCAtMTg0LDcgKzE4Niw3IEBACiAgCiAgCXByaW50ZiAiVGhpcyBpcyBmaWxlIG9uZVxuVGhpcyBpcyBmaWxlIHR3b1xuVGhpcyBpcyBmaWxlIHRocmVlXG4iID4gYXIuZXhwCiAgCi1AQCAtMjQ0LDkgKzI1Niw5IEBAIHRlc3QxMigpCitAQCAtMjQ3LDkgKzI1OSw5IEBAIHRlc3QxMigpCiAgdGVzdDEzKCkKICB7CiAgCkBAIC0xOTcsNyArMTk5LDcgQEAKICAJUk9EIGFyIC10IGxpYi5hIFw+IGFyLm91dAogIAogIAlwcmludGYgImZpbGUxLmluXG5maWxlMi5pblxuZmlsZTMuaW5cbmZpbGU0LmluXG4iID4gYXIuZXhwCi1AQCAtMjY0LDE0ICsyNzYsMTQgQEAgdGVzdDEzKCkKK0BAIC0yNjcsMTQgKzI3OSwxNCBAQCB0ZXN0MTMoKQogIHRlc3QxNCgpCiAgewogIAlST0QgdG91Y2ggZmlsZTAuaW4KQEAgLTIxNCw3ICsyMTYsNyBAQAogIAogIAlmaWxlMF9tdGltZTI9JChhciAtdHYgbGliLmEgfCBncmVwIGZpbGUwLmluKQogIAlmaWxlMV9tdGltZTI9JChhciAtdHYgbGliLmEgfCBncmVwIGZpbGUxLmluKQotQEAgLTI5Myw3ICszMDUsNyBAQCB0ZXN0MTQoKQorQEAgLTI5Niw3ICszMDgsNyBAQCB0ZXN0MTQoKQogIAogIHRlc3QxNSgpCiAgewpAQCAtMjIzLDcgKzIyNSw3IEBACiAgCVJPRCBhciAtdHYgbGliLmEgXD4gYXIub3V0CiAgCiAgCWlmIGdyZXAgLXEgJ1tyd3gtXVx7OVx9IFswLTldLiovWzAtOV0uKlxzKlswLTldLiouKmZpbGUxLmluJyBhci5vdXQ7IHRoZW4KLUBAIC0zMDgsOSArMzIwLDkgQEAgdGVzdDE1KCkKK0BAIC0zMTEsOSArMzIzLDkgQEAgdGVzdDE1KCkKICAKICB0ZXN0MTYoKQogIHsKQEAgLTIzNiw3ICsyMzgsNyBAQAogIAogIAlwcmludGYgInggLSBmaWxlMS5pblxueCAtIGZpbGUyLmluXG54IC0gZmlsZTMuaW5cbiIgPiBhci5leHAKICAKLUBAIC0zMzIsOCArMzQ0LDggQEAgdGVzdDE2KCkKK0BAIC0zMzUsOCArMzQ3LDggQEAgdGVzdDE2KCkKICAKICB0ZXN0MTcoKQogIHsKQEAgLTI0OCw1ICsyNTAsNSBAQAogIAlwcmludGYgInggLSBmaWxlMi5pblxuIiA+IGFyLmV4cAogIAogLS0gCi0yLjcuNAorMi4xOS4wLnJjMgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDAtcmVhZF9hbGwtRGVmaW5lLUZOTV9FWFRNQVRDSC1pZi1ub3QtYWxyZWFkeS1saWtlLXVuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMjQ1YTg5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAyMzUxODUwOGRlMzA3NzkwMjMxZDE2YWYzMDcyOTFmMWI0NWU5MDNhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMEQ9QzM9QURhej89IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgotRGF0ZTogVHVlLCA1IEp1biAyMDE4IDE1OjM2OjMwIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJlYWRfYWxsOiBEZWZpbmUgRk5NX0VYVE1BVENIIGlmIG5vdCBhbHJlYWR5IChsaWtlIHVuZGVyCi0gbXVzbCkuCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVdpdGggbXVzbCwgRk5NX0VYVE1BVENIIGlzIG5vdCBkZWZpbmVkOgotfCByZWFkX2FsbC5jOiBJbiBmdW5jdGlvbiAncmVhZF90ZXN0JzoKLXwgcmVhZF9hbGwuYzoyMDE6NDE6IGVycm9yOiAnRk5NX0VYVE1BVENIJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnRk5NX05PTUFUQ0gnPwotfCAgIGlmIChleGNsdWRlICYmICFmbm1hdGNoKGV4Y2x1ZGUsIHBhdGgsIEZOTV9FWFRNQVRDSCkpIHsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KLXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTk1fTk9NQVRDSAotfCByZWFkX2FsbC5jOjIwMTo0MTogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLXwgPGJ1aWx0aW4+OiByZWNpcGUgZm9yIHRhcmdldCAncmVhZF9hbGwnIGZhaWxlZAotfCBtYWtlWzRdOiAqKiogW3JlYWRfYWxsXSBFcnJvciAxCi0KLVNpZ25lZC1vZmYtYnk6IERhbmllbCBEw61heiA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMgYi90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMKLWluZGV4IGE4ZTE2MTEuLmU5ZmY0N2EgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL2ZzL3JlYWRfYWxsL3JlYWRfYWxsLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvcmVhZF9hbGwvcmVhZF9hbGwuYwotQEAgLTU5LDYgKzU5LDEwIEBACi0gI2RlZmluZSBNQVhfUEFUSCA0MDk2Ci0gI2RlZmluZSBNQVhfRElTUExBWSA0MAotIAotKyNpZiAhZGVmaW5lZChGTk1fRVhUTUFUQ0gpCi0rI2RlZmluZSBGTk1fRVhUTUFUQ0ggMAotKyNlbmRpZgotKwotIHN0cnVjdCBxdWV1ZSB7Ci0gCXNlbV90IHNlbTsKLSAJaW50IGZyb250OwotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MS1jdmUtMjAxNy01NjY5LXNobWF0LWZvci0wLW9yLVBBR0VTSVpFLXdpdGgtUk5ELWZsYWctLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDJkMmNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0MS1jdmUtMjAxNy01NjY5LXNobWF0LWZvci0wLW9yLVBBR0VTSVpFLXdpdGgtUk5ELWZsYWctLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotRnJvbSBiNzY3YjczZWYwMjdiYThkMzVmMjk3YzdkMzY1OTI2NWFjODA0MjViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUmFmYWVsIERhdmlkIFRpbm9jbyA8cmFmYWVsLnRpbm9jb0BjYW5vbmljYWwuY29tPgotRGF0ZTogV2VkLCAzMCBNYXkgMjAxOCAwOToxNDozNCAtMDMwMAotU3ViamVjdDogW1BBVENIXSBjdmUtMjAxNy01NjY5OiBzaG1hdCgpIGZvciAwIChvciA8UEFHRVNJWkUgd2l0aCBSTkQgZmxhZykgaGFzCi0gdG8gZmFpbCB3aXRoIFJFTUFQcwotCi1GaXhlczogaHR0cHM6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAvaXNzdWVzLzMxOQotCi1BY2NvcmRpbmcgdG8gdXBzdHJlYW0gdGhyZWFkIChodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC81LzI4LzIwNTYpLAotY3ZlLTIwMTctNTY2OSBuZWVkcyB0byBhZGRyZXNzIHRoZSAibmV3IiB3YXkgb2YgaGFuZGxpbmcgbmlsIGFkZHJlc3NlcwotZm9yIHNobWF0KCkgd2hlbiB1c2VkIHdpdGggTUFQX0ZJWEVEIG9yIFNITV9SRU1BUCBmbGFncy4KLQotLSBtYXBwaW5nIG5pbC1wYWdlIGlzIE9LIG9uIGxvd2VyIGFkZHJlc3NlcyB3aXRoIE1BUF9GSVhFRCAob3IgZWxzZSBYMTEgaXMgYnJva2VuKQotLSBtYXBwaW5nIG5pbC1wYWdlIGlzIE5PVCBPSyB3aXRoIFNITV9SRU1BUCBvbiBsb3dlciBhZGRyZXNzZXMKLQotQWRkcmVzc2VzIERhdmlkbG9ociBCdWVzbydzIGNvbW1lbnRzL2NoYW5nZXM6Ci0KLWNvbW1pdCA4Zjg5YzAwN2I2ZGUKLUF1dGhvcjogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0Z29sYWJzLm5ldD4KLURhdGU6ICAgRnJpIE1heSAyNSAxNDo0NzozMCAyMDE4IC0wNzAwCi0KLSAgICBpcGMvc2htOiBmaXggc2htYXQoKSBuaWwgYWRkcmVzcyBhZnRlciByb3VuZC1kb3duIHdoZW4gcmVtYXBwaW5nCi0KLWNvbW1pdCBhNzNhYjI0NGYwZGEKLUF1dGhvcjogRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHN0Z29sYWJzLm5ldD4KLURhdGU6ICAgRnJpIE1heSAyNSAxNDo0NzoyNyAyMDE4IC0wNzAwCi0KLSAgICBSZXZlcnQgImlwYy9zaG06IEZpeCBzaG1hdCBtbWFwIG5pbC1wYWdlIHByb3RlY3Rpb24iCi0KLUZvciBwcmV2aW91c2x5IHRlc3QsIGFuZCBub3cgYnJva2VuLCBtYWRlIGJhc2VkIG9uOgotCi1jb21taXQgOTVlOTFiODMxZjg3Ci1BdXRob3I6IERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBzdGdvbGFicy5uZXQ+Ci1EYXRlOiAgIE1vbiBGZWIgMjcgMTQ6Mjg6MjQgMjAxNyAtMDgwMAotCi0gICAgaXBjL3NobTogRml4IHNobWF0IG1tYXAgbmlsLXBhZ2UgcHJvdGVjdGlvbgotCi1TaWduZWQtb2ZmLWJ5OiBSYWZhZWwgRGF2aWQgVGlub2NvIDxyYWZhZWwudGlub2NvQGxpbmFyby5vcmc+Ci1UZXN0ZWQtYnk6IE5hcmVzaCBLYW1ib2p1IDxuYXJlc2gua2FtYm9qdUBsaW5hcm8ub3JnPgotUmV2aWV3ZWQtYnk6IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9wdWxsLzMyNF0KLUNWRTogQ1ZFLTIwMTctNTY2OQotU2lnbmVkLW9mZi1ieTogUmFmYWVsIERhdmlkIFRpbm9jbyA8cmFmYWVsLnRpbm9jb0BsaW5hcm8ub3JnPgotLS0tCi0gdGVzdGNhc2VzL2N2ZS9jdmUtMjAxNy01NjY5LmMgfCAyMCArKysrKysrKysrKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMvY3ZlL2N2ZS0yMDE3LTU2NjkuYyBiL3Rlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jCi1pbmRleCAxY2E1OTgzLi4wODM0NjI2IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2N2ZS9jdmUtMjAxNy01NjY5LmMKLSsrKyBiL3Rlc3RjYXNlcy9jdmUvY3ZlLTIwMTctNTY2OS5jCi1AQCAtMjgsNyArMjgsMjAgQEAKLSAgKiBpcyBqdXN0IHRvIHNlZSBpZiB3ZSBnZXQgYW4gYWNjZXNzIGVycm9yIG9yIHNvbWUgb3RoZXIgdW5leHBlY3RlZCBiZWhhdmlvdXIuCi0gICoKLSAgKiBTZWUgY29tbWl0IDk1ZTkxYjgzMWYgKGlwYy9zaG06IEZpeCBzaG1hdCBtbWFwIG5pbC1wYWdlIHByb3RlY3Rpb24pCi0rICoKLSsgKiBUaGUgY29tbWl0IGFib3ZlIGRpc2FsbG93ZWQgU0hNX1JORCBtYXBzIHRvIHplcm8gKGFuZCByb3VuZGVkKSBlbnRpcmVseSBhbmQKLSsgKiB0aGF0IGJyb2tlIHVzZXJsYW5kIGZvciBjYXNlcyBsaWtlIFhvcmcuIE5ldyBiZWhhdmlvciBkaXNhbGxvd3MgUkVNQVBzIHRvCi0rICogbG93ZXIgYWRkcmVzc2VzICgwPD1QQUdFU0laRSkuCi0rICoKLSsgKiBTZWUgY29tbWl0IGE3M2FiMjQ0ZjBkYSAoUmV2ZXJ0ICJpcGMvc2htOiBGaXggc2htYXQgbW1hcCBuaWwtcGFnZSBwcm90ZWN0Li4uKQotKyAqIFNlZSBjb21taXQgOGY4OWMwMDdiNmRlIChpcGMvc2htOiBmaXggc2htYXQoKSBuaWwgYWRkcmVzcyBhZnRlciByb3VuZC1kb3cuLi4pCi0rICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC10ZXN0LXByb2plY3QvbHRwL2lzc3Vlcy8zMTkKLSsgKgotKyAqIFRoaXMgdGVzdCBuZWVkcyByb290IHBlcm1pc3Npb25zIG9yIGVsc2Ugc2VjdXJpdHlfbW1hcF9hZGRyKCksIGZyb20KLSsgKiBnZXRfdW5tYXBwZWRfYXJlYSgpLCB3aWxsIGNhdXNlIHBlcm1pc3Npb24gZXJyb3JzIHdoZW4gdHJ5aW5nIHRvIG1tYXAgbG93ZXIKLSsgKiBhZGRyZXNzZXMuCi0gICovCi0rCi0gI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotICNpbmNsdWRlIDxzeXMvaXBjLmg+Ci0gI2luY2x1ZGUgPHN5cy9zaG0uaD4KLUBAIC02MCw3ICs3MywxMSBAQCBzdGF0aWMgdm9pZCBjbGVhbnVwKHZvaWQpCi0gc3RhdGljIHZvaWQgcnVuKHZvaWQpCi0gewotIAl0c3RfcmVzKFRJTkZPLCAiQXR0ZW1wdGluZyB0byBhdHRhY2ggc2hhcmVkIG1lbW9yeSB0byBudWxsIHBhZ2UiKTsKLS0Jc2htX2FkZHIgPSBzaG1hdChzaG1faWQsICgodm9pZCAqKTEpLCBTSE1fUk5EKTsKLSsJLyoKLSsJICogc2htYXQoKSBmb3IgMCAob3IgPCBQQUdFU0laRSB3aXRoIFJORCBmbGFnKSBoYXMgdG8gZmFpbCB3aXRoIFJFTUFQcwotKwkgKiBodHRwczovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC9pc3N1ZXMvMzE5Ci0rCSAqLwotKwlzaG1fYWRkciA9IHNobWF0KHNobV9pZCwgKCh2b2lkICopMSksIFNITV9STkQgfCBTSE1fUkVNQVApOwotIAlpZiAoc2htX2FkZHIgPT0gKHZvaWQgKiktMSkgewotIAkJc2htX2FkZHIgPSBOVUxMOwotIAkJaWYgKGVycm5vID09IEVJTlZBTCkgewotQEAgLTg5LDYgKzEwNiw3IEBAIHN0YXRpYyB2b2lkIHJ1bih2b2lkKQotIH0KLSAKLSBzdGF0aWMgc3RydWN0IHRzdF90ZXN0IHRlc3QgPSB7Ci0rCS5uZWVkc19yb290ID0gMSwKLSAJLnNldHVwID0gc2V0dXAsCi0gCS5jbGVhbnVwID0gY2xlYW51cCwKLSAJLnRlc3RfYWxsID0gcnVuLAotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDItZnMtZnRlc3QtZnRlc3QwNi5jLUZpeC10b28tc21hbGwtbmFtZS1zdHJpbmctYW5kLXJlbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0Mi1mcy1mdGVzdC1mdGVzdDA2LmMtRml4LXRvby1zbWFsbC1uYW1lLXN0cmluZy1hbmQtcmVsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDdkOThlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDA0Mi1mcy1mdGVzdC1mdGVzdDA2LmMtRml4LXRvby1zbWFsbC1uYW1lLXN0cmluZy1hbmQtcmVsLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBiYWVlZjAyNmY4MGUxOWE2MzRhNDA5NmU5NzI4NjQxOWFjYTFjZjY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMjMgQXVnIDIwMTggMDA6MjI6MDQgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gZnMvZnRlc3QvZnRlc3QwNi5jOiBGaXggdG9vIHNtYWxsIG5hbWUgc3RyaW5nIGFuZCByZWxhdGVkCi0gZmFpbHVyZQotCi1UaGUgbmFtZSBzdHJpbmcgaXMgdG9vIHNtYWxsIHRvIGNvbnRhaW4gbm9ybWFsIGZ1bGwgcGF0aCBuYW1lcyBhbmQgY2F1c2VzCi10aGUgZm9sbG93aW5nIGZhaWx1cmUuCi0KLSJmdGVzdDA2ICAgICAyICBURkFJTCAgOiAgZnRlc3QwNi5jOjIyMzogQ2FuJ3QgY2hkaXIoKTogZXJybm89RU5PRU5UKDIpOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbHRwLWxpc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0XQotCi1TaWduZWQtb2ZmLWJ5OiBIZSBaaGUgPHpoZS5oZUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdGNhc2VzL2tlcm5lbC9mcy9mdGVzdC9mdGVzdDA2LmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL2ZzL2Z0ZXN0L2Z0ZXN0MDYuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jCi1pbmRleCAyY2E3Yzg4Li5iNDM0MDY3IDEwMDY0NAotLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9mcy9mdGVzdC9mdGVzdDA2LmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvZnMvZnRlc3QvZnRlc3QwNi5jCi1AQCAtMTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBjaGFyICpmc3R5cDsKLSBpbnQgbWFpbihpbnQgYWMsIGNoYXIgKmF2W10pCi0gewotIAlpbnQgcGlkLCBjaGlsZCwgc3RhdHVzLCBjb3VudCwgaywgajsKLS0JY2hhciBuYW1lWzNdOwotKwljaGFyIG5hbWVbTUFYUEFUSExFTl07Ci0gCi0gCWludCBsYzsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDQzLW9wZW4tY3JlYXQtc2tpcC1TX0lTR0lELWNoZWNrLW9uLWZpbGVzLWNyZWF0ZWQtYnktbm8ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDMtb3Blbi1jcmVhdC1za2lwLVNfSVNHSUQtY2hlY2stb24tZmlsZXMtY3JlYXRlZC1ieS1uby5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM2MWZjYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwNDMtb3Blbi1jcmVhdC1za2lwLVNfSVNHSUQtY2hlY2stb24tZmlsZXMtY3JlYXRlZC1ieS1uby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLUZyb20gM2M4N2VmMjk2MWRlZGIxMGQxZjY3NGM2YTUzMGUwMGRiYWI4ZWMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEphbiBTdGFuY2VrIDxqc3RhbmNla0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAxNyBKdWwgMjAxOCAxMDoyNjozOSArMDIwMAotU3ViamVjdDogW1BBVENIXSBvcGVufGNyZWF0OiBza2lwIFNfSVNHSUQgY2hlY2sgb24gZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAKLSBtZW1iZXJzCi0KLTBmYTNlY2Q4Nzg0OCAoIkZpeCB1cCBub24tZGlyZWN0b3J5IGNyZWF0aW9uIGluIFNHSUQgZGlyZWN0b3JpZXMiKQotZml4ZXMgcHJvYmxlbSBkZXNjcmliZWQgaW4gQ1ZFLTIwMTgtMTM0MDUuIFRoaXMgY29tbWl0IGlzIGdldHRpbmcKLWJhY2twb3J0ZWQgdG8gb2xkZXIgc3RyZWFtcyBhcyB3ZWxsLgotCi1UaGlzIHBhdGNoIHJlbW92ZXMgU19JU0dJRCBjaGVjayBmb3IgZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycwotaW4gTFRQIHRlc3RzIGNyZWF0MDggYW5kIG9wZW4xMC4KLQotT25jZSAwZmEzZWNkODc4NDggd2lsbCBiZSBpbiBub24tcmMga2VybmVsLCB3ZSBjb3VsZCBhZGQgYSBuZXcgdGVzdAotZm9yIHRoaXMgQ1ZFIHRoYXQgd291bGQgYmUgbGltaXRlZCB0byA0LjE4KyBrZXJuZWxzLgotCi1TaWduZWQtb2ZmLWJ5OiBKYW4gU3RhbmNlayA8anN0YW5jZWtAcmVkaGF0LmNvbT4KLUFja2VkLWJ5OiBDeXJpbCBIcnViaXMgPGNocnViaXNAc3VzZS5jej4KLVJldmlld2VkLWJ5OiBOYXJlc2ggS2FtYm9qdSA8bmFyZXNoLmthbWJvanVAbGluYXJvLm9yZz4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotWyBnaXQ6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAuZ2l0Ci0gIDNjODdlZjI5NjFkZWRiMTBkMWY2NzRjNmE1MzBlMDBkYmFiOGVjMWIKLSAgIm9wZW58Y3JlYXQ6IHNraXAgU19JU0dJRCBjaGVjayBvbiBmaWxlcyBjcmVhdGVkIGJ5IG5vbi1ncm91cCBtZW1iZXJzIiBdCi0KLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYyB8IDEzICsrKysrKy0tLS0tLS0KLSB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMgICB8IDEyICsrKysrLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvY3JlYXQvY3JlYXQwOC5jCi1pbmRleCA1MGYyYjM5OTMuLmQyMjU1OGFjMyAxMDA2NDQKLS0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvY3JlYXQvY3JlYXQwOC5jCi0rKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL2NyZWF0L2NyZWF0MDguYwotQEAgLTM2MSwxMyArMzYxLDEyIEBAIGludCBtYWluKGludCBhYywgY2hhciAqKmF2KQotIAkJCWxvY2FsX2ZsYWcgPSBGQUlMRUQ7Ci0gCQl9Ci0gCi0tCQkvKiBWZXJpZnkgbW9kZXMgKi8KLS0JCWlmICghKGJ1Zi5zdF9tb2RlICYgU19JU0dJRCkpIHsKLS0JCQl0c3RfcmVzbShURkFJTCwKLS0JCQkJICIlczogSW5jb3JyZWN0IG1vZGVzLCBzZXRnaWQgYml0IHNob3VsZCBiZSBzZXQiLAotLQkJCQkgc2V0Z2lkX0IpOwotLQkJCWxvY2FsX2ZsYWcgPSBGQUlMRUQ7Ci0tCQl9Ci0rCQkvKgotKwkJICogU2tpcCBTX0lTR0lEIGNoZWNrCi0rCQkgKiAwZmEzZWNkODc4NDggKCJGaXggdXAgbm9uLWRpcmVjdG9yeSBjcmVhdGlvbiBpbiBTR0lEIGRpcmVjdG9yaWVzIikKLSsJCSAqIGNsZWFycyBTX0lTR0lEIGZvciBmaWxlcyBjcmVhdGVkIGJ5IG5vbi1ncm91cCBtZW1iZXJzCi0rCQkgKi8KLSsKLSAJCWNsb3NlKGZkKTsKLSAKLSAJCWlmIChsb2NhbF9mbGFnID09IFBBU1NFRCkgewotZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYwotaW5kZXggNjEzZjIyODhmLi4xNGZlZWM5ZTEgMTAwNjQ0Ci0tLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL29wZW4vb3BlbjEwLmMKLSsrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvb3Blbi9vcGVuMTAuYwotQEAgLTM0NSwxMyArMzQ1LDExIEBAIGludCBtYWluKGludCBhYywgY2hhciAqYXZbXSkKLSAJCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotIAkJfQotIAotLQkJLyogVmVyaWZ5IG1vZGVzICovCi0tCQlpZiAoIShidWYuc3RfbW9kZSAmIFNfSVNHSUQpKSB7Ci0tCQkJdHN0X3Jlc20oVEZBSUwsCi0tCQkJCSAiJXM6IEluY29ycmVjdCBtb2Rlcywgc2V0Z2lkIGJpdCBub3Qgc2V0IiwKLS0JCQkJIHNldGdpZF9CKTsKLS0JCQlsb2NhbF9mbGFnID0gRkFJTEVEOwotLQkJfQotKwkJLyoKLSsJCSAqIFNraXAgU19JU0dJRCBjaGVjawotKwkJICogMGZhM2VjZDg3ODQ4ICgiRml4IHVwIG5vbi1kaXJlY3RvcnkgY3JlYXRpb24gaW4gU0dJRCBkaXJlY3RvcmllcyIpCi0rCQkgKiBjbGVhcnMgU19JU0dJRCBmb3IgZmlsZXMgY3JlYXRlZCBieSBub24tZ3JvdXAgbWVtYmVycwotKwkJICovCi0gCi0gCQlpZiAobG9jYWxfZmxhZyA9PSBQQVNTRUQpIHsKLSAJCQl0c3RfcmVzbShUUEFTUywgIlRlc3QgcGFzc2VkIGluIGJsb2NrMi4iKTsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvZGVmaW5lLXNpZ3J0bWluLWFuZC1zaWdydG1heC1mb3ItbXVzbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzI0NDYzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9kZWZpbmUtc2lncnRtaW4tYW5kLXNpZ3J0bWF4LWZvci1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTE0IEBACitGcm9tIDM0YjkxZWRjNzA3MDlmMzJiNDRmNmIzYTMyYzhmMThkYjM5M2UzNmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/RGFuaWVsPTIwRD1DMz1BRGF6Pz0gPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDA4OjA3OjI3IC0wNjAwCitTdWJqZWN0OiBbUEFUQ0hdIERlZmluZSBfX1NJR1JUTUlOIGFuZCBfX1NJR1JUTUFYIGZvciBNVVNMCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1NvbWUgbGliYyBpbXBsZW1lbnRhdGlvbnMgbWlnaHQgZGlmZmVyIGluIHRoZSBkZWZpbml0aW9ucyB0aGV5CitpbmNsdWRlLiBFeGVtcGxpIGdyYXRpYTogTVVTTCBkb2VzIG5vdCBkZWZpbmUgX19TSUdSVE1BWCBub3IKK19fU0lHUlRNSU4uCisKK1RoZXNlIHR3byB0ZXN0cyBmYWlsIHRvIGJ1aWxkIGJlY2F1c2Ugb2YgdGhlIG1pc3NpbmcKK2RlZmluaXRpb25zOgorICB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3B0cmFjZS9wdHJhY2UwNS5jCisgIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworCitPdXQgb2YgcHJlY2F1dGlvbiwgdGhlc2UgdHdvIGFsc28gaW5jbHVkZSB0aGlzIGhlYWRlcjoKKyAgbGliL3RzdF9zaWcuYworICB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHA6Ly9saXN0cy5saW51eC5pdC9waXBlcm1haWwvbHRwLzIwMTktRmVicnVhcnkvMDEwOTE2Lmh0bWxdCisKK1NpZ25lZC1vZmYtYnk6IERhbmllbCBEw61heiA8ZGFuaWVsLmRpYXpAbGluYXJvLm9yZz4KKy0tLQorIGluY2x1ZGUvbGFwaS9zaWduYWwuaCAgICAgICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysKKyBsaWIvdHN0X3NpZy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYyAgIHwgIDEgKworIC4uLi9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jICB8ICAxICsKKyB0ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMgfCAgMSArCisgNSBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvbGFwaS9zaWduYWwuaAorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9sYXBpL3NpZ25hbC5oIGIvaW5jbHVkZS9sYXBpL3NpZ25hbC5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi5kMjI5NjVhOTQKKy0tLSAvZGV2L251bGwKKysrKyBiL2luY2x1ZGUvbGFwaS9zaWduYWwuaAorQEAgLTAsMCArMSwyNCBAQAorKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisrLyoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMTkgTGluYXJvIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrICogQXV0aG9yOiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CisrICovCisrCisrI2lmbmRlZiBMQVBJX1NJR05BTF9ICisrI2RlZmluZSBMQVBJX1NJR05BTF9ICisrCisrI2luY2x1ZGUgPHNpZ25hbC5oPgorKworKy8qCisrICogU29tZSBsaWJjIGltcGxlbWVudGF0aW9ucyBtaWdodCBkaWZmZXIgaW4gdGhlIGRlZmluaXRpb25zIHRoZXkgaW5jbHVkZS4gVGhpcworKyAqIGNvdmVycyB0aG9zZSBkaWZmZXJlbmNlcyBmb3IgYWxsIHRlc3RzIHRvIHN1Y2Nlc3NmdWxseSBidWlsZC4KKysgKi8KKysKKysjaWZuZGVmIF9fU0lHUlRNSU4KKysjIGRlZmluZSBfX1NJR1JUTUlOIDMyCisrI2VuZGlmCisrI2lmbmRlZiBfX1NJR1JUTUFYCisrIyBkZWZpbmUgX19TSUdSVE1BWCAoX05TSUcgLSAxKQorKyNlbmRpZgorKworKyNlbmRpZgorZGlmZiAtLWdpdCBhL2xpYi90c3Rfc2lnLmMgYi9saWIvdHN0X3NpZy5jCitpbmRleCAzNjU2NWUxM2QuLjZkNzdhZWFmZCAxMDA2NDQKKy0tLSBhL2xpYi90c3Rfc2lnLmMKKysrKyBiL2xpYi90c3Rfc2lnLmMKK0BAIC03Miw2ICs3Miw3IEBACisgI2luY2x1ZGUgPHNpZ25hbC5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSAidGVzdC5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorICNkZWZpbmUgTUFYTUVTRyAxNTAJCS8qIHNpemUgb2YgbWVzZyBzdHJpbmcgc2VudCB0byB0c3RfcmVzICovCisgCitkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvcHRyYWNlL3B0cmFjZTA1LmMKK2luZGV4IDQyMDMzMDAyOS4uNTRjZmE0ZDdiIDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYworKysrIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9wdHJhY2UvcHRyYWNlMDUuYworQEAgLTM4LDYgKzM4LDcgQEAKKyAjaW5jbHVkZSAicHRyYWNlLmgiCisgCisgI2luY2x1ZGUgInRlc3QuaCIKKysjaW5jbHVkZSAibGFwaS9zaWduYWwuaCIKKyAKKyBjaGFyICpUQ0lEID0gInB0cmFjZTA1IjsKKyBpbnQgVFNUX1RPVEFMID0gMDsKK2RpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKK2luZGV4IGYxN2E5YWFlNi4uZTU3N2NmMjI3IDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9ydF9zaWdzdXNwZW5kL3J0X3NpZ3N1c3BlbmQwMS5jCisrKysgYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3J0X3NpZ3N1c3BlbmQvcnRfc2lnc3VzcGVuZDAxLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgI2luY2x1ZGUgInRzdF90ZXN0LmgiCisgI2luY2x1ZGUgImxhcGkvc3lzY2FsbHMuaCIKKyAjaW5jbHVkZSAibGFwaS9zYWZlX3J0X3NpZ25hbC5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorIHN0YXRpYyB2b2lkIHNpZ19oYW5kbGVyKGludCBzaWcpCisgeworZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworaW5kZXggZDFkNGIwYjA2Li5iNzYzMTQyZGYgMTAwNjQ0CistLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NpZ2hvbGQvc2lnaG9sZDAyLmMKKysrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2lnaG9sZC9zaWdob2xkMDIuYworQEAgLTQ5LDYgKzQ5LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSAidGVzdC5oIgorICNpbmNsdWRlICJzYWZlX21hY3Jvcy5oIgorKyNpbmNsdWRlICJsYXBpL3NpZ25hbC5oIgorIAorIC8qIF9YT1BFTl9TT1VSQ0UgZGlzYWJsZXMgTlNJRyAqLworICNpZm5kZWYgTlNJRworLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC9zZXRyZWdpZDAxLXNlY3VyaXR5LXN0cmluZy1mb3JtYXR0aW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NDQ5MTQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwL3NldHJlZ2lkMDEtc2VjdXJpdHktc3RyaW5nLWZvcm1hdHRpbmcucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorRnJvbSA0MzBlMDVjMjE2OWVkMTVhYWE2ZDdmOTQ1OWVkZDYwNzYwM2NlZTAyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMEQ9QzM9QURhej89IDxkYW5pZWwuZGlhekBsaW5hcm8ub3JnPgorRGF0ZTogTW9uLCAyNSBGZWIgMjAxOSAxMDo0NDozMyAtMDYwMAorU3ViamVjdDogW1BBVENIXSBzZXRyZWdpZDAxOiBGaXggc2VjdXJpdHkgd2FybmluZyBmb3Igc3RyaW5nIGZvcm1hdHRpbmcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworR0NDIDguMi4wIGNvbXBsYWlucyB3aXRoIHRoZSBmb2xsb3dpbmc6CisgIHNldHJlZ2lkMDEuYzogSW4gZnVuY3Rpb24gJ3J1bic6CisgIHNldHJlZ2lkMDEuYzo0NzozOiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KKyAgICAgdHN0X3JlcyhURkFJTCB8IFRURVJSTk8sIHRjLT5tc2cpOworICAgICBefn5+fn5+CitiZWNhdXNlIHRoZXJlIGlzIG5vIHN0cmluZyBmb3JtYXR0aW5nIGluIHRoZSBtZXNzYWdlLiBUaGlzIGNhbgorYmUgc2VlbiB3aXRoIENGTEFHUyBzZXQgdG86CisgIC1XZm9ybWF0IC1XZm9ybWF0LXNlY3VyaXR5IC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5CithcyBZb2N0byBQcm9qZWN0J3MgUG9reSBkb2VzLCBlLmcuOgorICBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjMwMDQzLworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs0NmUxZWRhNTVmMTg4ODEwZTZiZjNhOTM5YjkyZDYwNDMyMTgwN2FlXQorCitTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgRMOtYXogPGRhbmllbC5kaWF6QGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogRW5qaSBDb29wZXIgPHlhbmV1cmFiZXlhQGdtYWlsLmNvbT4KKy0tLQorIHRlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zZXRyZWdpZC9zZXRyZWdpZDAxLmMKK2luZGV4IGYyZTQxZTEzNC4uOGM5ZTExOTE4IDEwMDY0NAorLS0tIGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zZXRyZWdpZC9zZXRyZWdpZDAxLmMKKysrKyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0cmVnaWQvc2V0cmVnaWQwMS5jCitAQCAtNDQsOSArNDQsOSBAQCBzdGF0aWMgdm9pZCBydW4odW5zaWduZWQgaW50IG4pCisgCVRFU1QoU0VUUkVHSUQoKnRjLT5hcmcxLCAqdGMtPmFyZzIpKTsKKyAKKyAJaWYgKFRTVF9SRVQgPT0gLTEpCistCQl0c3RfcmVzKFRGQUlMIHwgVFRFUlJOTywgdGMtPm1zZyk7CisrCQl0c3RfcmVzKFRGQUlMIHwgVFRFUlJOTywgIiVzIiwgdGMtPm1zZyk7CisgCWVsc2UKKy0JCXRzdF9yZXMoVFBBU1MsIHRjLT5tc2cpOworKwkJdHN0X3JlcyhUUEFTUywgIiVzIiwgdGMtPm1zZyk7CisgfQorIAorIHN0YXRpYyB2b2lkIHNldHVwKHZvaWQpCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTgwNTE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE4MDUxNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmY4NWJlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTgwNTE1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTI3ICswLDAgQEAKLVNVTU1BUlkgPSAiTGludXggVGVzdCBQcm9qZWN0IgotREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGpvaW50IHByb2plY3Qgd2l0aCBTR0ksIElCTSwgT1NETCwgYW5kIEJ1bGwgd2l0aCBhIGdvYWwgdG8gZGVsaXZlciB0ZXN0IHN1aXRlcyB0byB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IHRoYXQgdmFsaWRhdGUgdGhlIHJlbGlhYmlsaXR5LCByb2J1c3RuZXNzLCBhbmQgc3RhYmlsaXR5IG9mIExpbnV4LiBUaGUgTGludXggVGVzdCBQcm9qZWN0IGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyBmb3IgdGVzdGluZyB0aGUgTGludXgga2VybmVsIGFuZCByZWxhdGVkIGZlYXR1cmVzLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9sdHAuc291cmNlZm9yZ2UubmV0IgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MiAmIEdQTHYyKyAmIExHUEx2MisgJiBMR1BMdjIuMSsgJiBCU0QtMi1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gIlwKLSAgICBmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvQ09QWUlORzttZDU9MDYzNmU3M2ZmMDIxNWU4ZDY3MmRjNGMzMmMzMTdiYjMgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2NvbnRyb2xsZXJzL2ZyZWV6ZXIvcnVuX2ZyZWV6ZXIuc2g7YmVnaW5saW5lPTU7ZW5kbGluZT0xNzttZDU9ODZhNjFkMmMwNDJkNTk4MzZmZmIzNTNhMjE0NTY0OTggXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvbWVtb3J5X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMva2VybmVsL2hvdHBsdWcvY3B1X2hvdHBsdWcvQ09QWUlORzttZDU9ZTA0YTJlNTQyYjJiODYyOWJmOWNkMmJhMjliMGZlNDEgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvQ09QWUlORzttZDU9NDhiMWM1ZWM2MzNlM2UzMGVjMmNmODg0YWU2OTk5NDcgXAotICAgIGZpbGU6Ly90ZXN0Y2FzZXMvcmVhbHRpbWUvQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UgXAotICAgIGZpbGU6Ly90b29scy9wb3VuZGVyMjEvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAotICAgIGZpbGU6Ly91dGlscy9iZW5jaG1hcmsva2VybmJlbmNoLTAuNDIvQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAotICAgIGZpbGU6Ly91dGlscy9mZnNiLTYuMC1yYzIvQ09QWUlORzttZDU9YzQ2MDgyMTY3YTMxNGQ3ODVkMDEyYTI0NDc0OGQ4MDMgXAotIgotCi1ERVBFTkRTID0gImF0dHIgbGliYWlvIGxpYmNhcCBhY2wgb3BlbnNzbCB6aXAtbmF0aXZlIgotREVQRU5EU19hcHBlbmRfbGliYy1tdXNsID0gIiBmdHMgIgotRVhUUkFfT0VNQUtFX2FwcGVuZF9saWJjLW11c2wgPSAiIExJQkM9bXVzbCAiCi0KLSMgc2luY2UgbHRwIGNvbnRhaW5zIHg4Ni02NCBhc3NlbWJsZXIgd2hpY2ggdXNlcyB0aGUgZnJhbWUtcG9pbnRlciByZWdpc3RlciwKLSMgc2V0IC1mb21pdC1mcmFtZS1wb2ludGVyIHg4Ni02NCB0byBoYW5kbGUgY2FzZXMgd2hlcmUgb3B0aW1pc2F0aW9uCi0jIGlzIHNldCB0byAtTzAgb3IgZnJhbWUgcG9pbnRlcnMgaGF2ZSBiZWVuIGVuYWJsZWQgYnkgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIKLSMgZWFybGllciBpbiBDRkxBR1MsIGV0Yy4KLUNGTEFHU19hcHBlbmRfeDg2LTY0ID0gIiAtZm9taXQtZnJhbWUtcG9pbnRlciIKLQotQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAiIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIgotQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICIgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18iCi1TUkNSRVYgPSAiOTZjYmY0ODMxM2FmYTY1ZWY0ZDY5M2QzNDQxY2JmZDYwYThkOWIyNyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL2xpbnV4LXRlc3QtcHJvamVjdC9sdHAuZ2l0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbW1hcDE1LW1pcHM2NC1yZXR1cm4tRUlOVkFMLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtYnVpbGQtQWRkLW9wdGlvbi10by1zZWxlY3QtbGliYy1pbXBsZW1lbnRhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LWtlcm5lbC1jb250cm9sbGVycy1MaW5rLXdpdGgtbGliZnRzLWV4cGxpY2l0bHktb24tbXUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1maXgtX19XT1JEU0laRS11bmRlY2xhcmVkLXdoZW4tYnVpbGRpbmctd2l0aC1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtQ2hlY2staWYtX19HTElCQ19QUkVSRVEtaXMtZGVmaW5lZC1iZWZvcmUtdXNpbmctaXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwOS1maXgtcmVkZWZpbml0aW9uLW9mLXN0cnVjdC1tc2didWYtZXJyb3ItYnVpbGRpbmctd2l0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTgtZ3VhcmQtbWFsbG9jb3B0LXdpdGgtX19HTElCQ19fLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMjAtZ2V0ZGVudHMtZGVmaW5lLWdldGRlbnRzLWdldGRlbnRzNjQtb25seS1mb3ItZ2xpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMS1EZWZpbmUtX0dOVV9TT1VSQ0UtZm9yLU1SRU1BUF9NQVlNT1ZFLWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyMy1wdHJhY2UtVXNlLWludC1pbnN0ZWFkLW9mLWVudW0tX19wdHJhY2VfcmVxdWVzdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI0LXJ0X3NpZ2FjdGlvbi1ydF9zaWdwcm9jbWFyay1EZWZpbmUtX0dOVV9TT1VSQ0UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAyNi1jcmFzaDAxLURlZmluZS1fR05VX1NPVVJDRS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDI4LXJ0X3NpZ2FjdGlvbi5oLVVzZS1zaWdoYW5kbGVyX3QtaW5zdGVhZC1vZi1fX3NpZ2hhbmQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNC1wZXJpb2RpY19vdXRwdXQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzNS1maXgtdGVzdF9wcm9jX2tpbGwtaGFuZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDM2LXRlc3RjYXNlcy1uZXR3b3JrLW5mc3Y0LWFjbC1hY2wxLmMtU2VjdXJpdHktZml4LW9uLXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAzOS1jb21tYW5kcy1hcjAxLUZpeC1mb3ItdGVzdC1pbi1kZXRlcm1pbmlzdGljLW1vZGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0MC1yZWFkX2FsbC1EZWZpbmUtRk5NX0VYVE1BVENILWlmLW5vdC1hbHJlYWR5LWxpa2UtdW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwNDEtY3ZlLTIwMTctNTY2OS1zaG1hdC1mb3ItMC1vci1QQUdFU0laRS13aXRoLVJORC1mbGFnLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDQyLWZzLWZ0ZXN0LWZ0ZXN0MDYuYy1GaXgtdG9vLXNtYWxsLW5hbWUtc3RyaW5nLWFuZC1yZWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDA0My1vcGVuLWNyZWF0LXNraXAtU19JU0dJRC1jaGVjay1vbi1maWxlcy1jcmVhdGVkLWJ5LW5vLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtc3lzY2FsbHMtZmNudGwtbWFrZS1PRkQtY29tbWFuZC11c2UtZmNudGw2NC1zeXNjYWxsLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXNpZ3dhaXRpbmZvMDEtcmVjZW50LWdsaWJjLWNhbGxzLXN5c2NhbGwtZGlyZWN0bHkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1uZXRuc19oZWxwZXIuc2gtdXNlLXBpbmctNi13aGVuLXBpbmc2LWlzLW5vdC1hdmFsaWFiLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtb3Blbl9wb3NpeF90ZXN0c3VpdGUtbW1hcDI0LTItUmVsYXgtY29uZGl0aW9uLWEtYml0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1pbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLWV4cG9ydCBwcmVmaXggPSAiL29wdC9sdHAiCi1leHBvcnQgZXhlY19wcmVmaXggPSAiL29wdC9sdHAiCi0KLVBBQ0tBR0VDT05GSUdbbnVtYV0gPSAiLS13aXRoLW51bWEsIC0td2l0aG91dC1udW1hLCBudW1hY3RsLCIKLUVYVFJBX0FVVE9SRUNPTkYgKz0gIi1JICR7U30vdGVzdGNhc2VzL3JlYWx0aW1lL200IgotRVhUUkFfT0VDT05GID0gIiAtLXdpdGgtcG93ZXItbWFuYWdlbWVudC10ZXN0c3VpdGUgLS13aXRoLXJlYWx0aW1lLXRlc3RzdWl0ZSAtLXdpdGgtb3Blbi1wb3NpeC10ZXN0c3VpdGUgIgotIyBsdHAgbmV0d29yay9ycGMgdGVzdCBjYXNlcyBmdGJmcyB3aGVuIGxpYnRpcnBjIGlzIGZvdW5kCi1FWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQtdGlycGMgIgotCi1kb19pbnN0YWxsKCl7Ci0gICAgaW5zdGFsbCAtZCAke0R9L29wdC9sdHAvCi0gICAgb2VfcnVubWFrZSBERVNURElSPSR7RH0gU0tJUF9JRENIRUNLPTEgaW5zdGFsbAotCi0gICAgIyBmaXh1cCBub3QgZGVwbG95IFNUUGZhaWx1cmVfcmVwb3J0LnBsIHRvIGF2b2lkIGNvbmZ1c2luZyBhYm91dCBpdCBmYWlscyB0byBydW4KLSAgICAjIGFzIGl0IGxhY2tzIGRlcGVuZGVuY3kgb24gc29tZSBwZXJsIG1vdWRsZSBzdWNoIGFzIExXUDo6U2ltcGxlCi0gICAgIyBBbmQgdGhpcyBzY3JpcHQgcHJldmlvdXNseSB3b3JrcyBhcyBhIHRvb2wgZm9yIGFuYWx5emluZyBmYWlsdXJlcyBmcm9tIExUUAotICAgICMgcnVucyBvbiB0aGUgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtIChTVFApIGFuZCBpdCBtYWlubHkgYWNjZXNzZXMKLSAgICAjIGh0dHA6Ly9raGFjay5vc2RsLm9yZyB0byByZXRyaWV2ZSBsdHAgdGVzdCByZXN1bHRzIHJ1biBvbgotICAgICMgT1NETCdzIFNjYWxlYWJsZSBUZXN0IFBsYXRmb3JtLCBidXQgbm93IGh0dHA6Ly9raGFjay5vc2RsLm9yZyB1bmFjY2Vzc2libGUKLSAgICBybSAtcmYgJHtEfS9vcHQvbHRwL2Jpbi9TVFBmYWlsdXJlX3JlcG9ydC5wbAotCi0gICAgIyBDb3B5IFBPU0lYIHRlc3Qgc3VpdGUgaW50byAke0R9L29wdC9sdHAvdGVzdGNhc2VzIGJ5IG1hbnVhbAotICAgIGNwIC1yIHRlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZSAke0R9L29wdC9sdHAvdGVzdGNhc2VzCi19Ci0KLVJERVBFTkRTXyR7UE59ID0gIlwKLSAgICBhY2wgXAotICAgIGF0IFwKLSAgICBhdHRyIFwKLSAgICBiYXNoIFwKLSAgICBjcGlvIFwKLSAgICBjcm9uaWUgXAotICAgIGN1cmwgXAotICAgIGUyZnNwcm9ncy1ta2UyZnMgXAotICAgIGV4cGVjdCBcCi0gICAgZ2F3ayBcCi0gICAgZ3ppcCBcCi0gICAgaXByb3V0ZTIgXAotICAgIGxkZCBcCi0gICAgbGliYWlvIFwKLSAgICBsb2dyb3RhdGUgXAotICAgIHBlcmwgXAotICAgIHB5dGhvbi1jb3JlIFwKLSAgICBwcm9jcHMgXAotICAgIHVuemlwIFwKLSAgICB1dGlsLWxpbnV4IFwKLSAgICB3aGljaCBcCi0gICAgdGFyIFwKLSIKLQotRklMRVNfJHtQTn0gKz0gIi9vcHQvbHRwLyogL29wdC9sdHAvcnVudGVzdC8qIC9vcHQvbHRwL3NjZW5hcmlvX2dyb3Vwcy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyovYmluLyogL29wdC9sdHAvdGVzdHNjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvY29uZm9ybWFuY2UvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvRG9jdW1lbnRhdGlvbi8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9mdW5jdGlvbmFsLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2luY2x1ZGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc2NyaXB0cy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9zdHJlc3MvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvdG9vbHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvZGF0YS9ubTAxL2xpYi5hIC9vcHQvbHRwL2xpYi9saWJtZW0uYSIKLQotIyBBdm9pZCBzdHJpcHBpbmcgc29tZSBnZW5lcmF0ZWQgYmluYXJpZXMgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlIGx0cCB0ZXN0cyBzdWNoIGFzIGxkZDAxICYgbm0wMSBmYWlsCi1JTkhJQklUX1BBQ0tBR0VfU1RSSVBfRklMRVMgPSAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9ubTAxIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbGRkMDEiCi1JTlNBTkVfU0tJUF8ke1BOfSArPSAiYWxyZWFkeS1zdHJpcHBlZCBzdGF0aWNkZXYiCi0KLSMgQXZvaWQgZmlsZSBkZXBlbmRlbmN5IHNjYW5zLCBhcyBMVFAgY2hlY2tzIGZvciB0aGluZ3MgdGhhdCBtYXkgb3IgbWF5IG5vdAotIyBleGlzdCBvbiB0aGUgcnVubmluZyBzeXN0ZW0uICBGb3IgaW5zdGFuY2UgaXQgaGFzIHNwZWNpZmljIGNoZWNrcyBmb3IKLSMgY3NoIGFuZCBrc2ggd2hpY2ggYXJlIG5vdCB0eXBpY2FsbHkgcGFydCBvZiBPcGVuRW1iZWRkZWQgc3lzdGVtcyAoYnV0Ci0jIGNhbiBiZSBhZGRlZCB2aWEgYWRkaXRpb25hbCBsYXllcnMuKQotU0tJUF9GSUxFREVQU18ke1BOfSA9ICcxJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE5MDExNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxOTAxMTUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGRmOTdlMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxOTAxMTUuYmIKQEAgLTAsMCArMSwxMjIgQEAKK1NVTU1BUlkgPSAiTGludXggVGVzdCBQcm9qZWN0IgorREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IFRlc3QgUHJvamVjdCBpcyBhIGpvaW50IHByb2plY3Qgd2l0aCBTR0ksIElCTSwgT1NETCwgYW5kIEJ1bGwgd2l0aCBhIGdvYWwgdG8gZGVsaXZlciB0ZXN0IHN1aXRlcyB0byB0aGUgb3BlbiBzb3VyY2UgY29tbXVuaXR5IHRoYXQgdmFsaWRhdGUgdGhlIHJlbGlhYmlsaXR5LCByb2J1c3RuZXNzLCBhbmQgc3RhYmlsaXR5IG9mIExpbnV4LiBUaGUgTGludXggVGVzdCBQcm9qZWN0IGlzIGEgY29sbGVjdGlvbiBvZiB0b29scyBmb3IgdGVzdGluZyB0aGUgTGludXgga2VybmVsIGFuZCByZWxhdGVkIGZlYXR1cmVzLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vbGludXgtdGVzdC1wcm9qZWN0LmdpdGh1Yi5pby8iCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyKyAmIExHUEx2Mi4xKyAmIEJTRC0yLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiXAorICAgIGZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvZnJlZXplci9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvY29udHJvbGxlcnMvZnJlZXplci9ydW5fZnJlZXplci5zaDtiZWdpbmxpbmU9NTtlbmRsaW5lPTE3O21kNT04NmE2MWQyYzA0MmQ1OTgzNmZmYjM1M2EyMTQ1NjQ5OCBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvaG90cGx1Zy9tZW1vcnlfaG90cGx1Zy9DT1BZSU5HO21kNT1lMDRhMmU1NDJiMmI4NjI5YmY5Y2QyYmEyOWIwZmU0MSBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9rZXJuZWwvaG90cGx1Zy9jcHVfaG90cGx1Zy9DT1BZSU5HO21kNT1lMDRhMmU1NDJiMmI4NjI5YmY5Y2QyYmEyOWIwZmU0MSBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9DT1BZSU5HO21kNT00OGIxYzVlYzYzM2UzZTMwZWMyY2Y4ODRhZTY5OTk0NyBcCisgICAgZmlsZTovL3Rlc3RjYXNlcy9yZWFsdGltZS9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCisgICAgZmlsZTovL3V0aWxzL2JlbmNobWFyay9rZXJuYmVuY2gtMC40Mi9DT1BZSU5HO21kNT05NGQ1NWQ1MTJhOWJhMzZjYWE5YjdkZjA3OWJhZTE5ZiBcCisgICAgZmlsZTovL3V0aWxzL2Zmc2ItNi4wLXJjMi9DT1BZSU5HO21kNT1jNDYwODIxNjdhMzE0ZDc4NWQwMTJhMjQ0NzQ4ZDgwMyBcCisiCisKK0RFUEVORFMgPSAiYXR0ciBsaWJhaW8gbGliY2FwIGFjbCBvcGVuc3NsIHppcC1uYXRpdmUiCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGZ0cyAiCitFWFRSQV9PRU1BS0VfYXBwZW5kX2xpYmMtbXVzbCA9ICIgTElCQz1tdXNsICIKKworIyBzaW5jZSBsdHAgY29udGFpbnMgeDg2LTY0IGFzc2VtYmxlciB3aGljaCB1c2VzIHRoZSBmcmFtZS1wb2ludGVyIHJlZ2lzdGVyLAorIyBzZXQgLWZvbWl0LWZyYW1lLXBvaW50ZXIgeDg2LTY0IHRvIGhhbmRsZSBjYXNlcyB3aGVyZSBvcHRpbWlzYXRpb24KKyMgaXMgc2V0IHRvIC1PMCBvciBmcmFtZSBwb2ludGVycyBoYXZlIGJlZW4gZW5hYmxlZCBieSAtZm5vLW9taXQtZnJhbWUtcG9pbnRlcgorIyBlYXJsaWVyIGluIENGTEFHUywgZXRjLgorQ0ZMQUdTX2FwcGVuZF94ODYtNjQgPSAiIC1mb21pdC1mcmFtZS1wb2ludGVyIgorCitDRkxBR1NfYXBwZW5kX3Bvd2VycGM2NCA9ICIgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18iCitDRkxBR1NfYXBwZW5kX21pcHNhcmNobjY0ID0gIiAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyIKK1NSQ1JFViA9ICJhNmE1Y2FlZjEzNjMyZTY2OWRkYTI3YjA0NjE3MjZlYmE1NDZhMmYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbGludXgtdGVzdC1wcm9qZWN0L2x0cC5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1idWlsZC1BZGQtb3B0aW9uLXRvLXNlbGVjdC1saWJjLWltcGxlbWVudGF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUta2VybmVsLWNvbnRyb2xsZXJzLUxpbmstd2l0aC1saWJmdHMtZXhwbGljaXRseS1vbi1tdS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LWZpeC1fX1dPUkRTSVpFLXVuZGVjbGFyZWQtd2hlbi1idWlsZGluZy13aXRoLW11c2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwOC1DaGVjay1pZi1fX0dMSUJDX1BSRVJFUS1pcy1kZWZpbmVkLWJlZm9yZS11c2luZy1pdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LWZpeC1yZWRlZmluaXRpb24tb2Ytc3RydWN0LW1zZ2J1Zi1lcnJvci1idWlsZGluZy13aXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxOC1ndWFyZC1tYWxsb2NvcHQtd2l0aC1fX0dMSUJDX18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAyMC1nZXRkZW50cy1kZWZpbmUtZ2V0ZGVudHMtZ2V0ZGVudHM2NC1vbmx5LWZvci1nbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIxLURlZmluZS1fR05VX1NPVVJDRS1mb3ItTVJFTUFQX01BWU1PVkUtZGVmaW5pdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDIzLXB0cmFjZS1Vc2UtaW50LWluc3RlYWQtb2YtZW51bS1fX3B0cmFjZV9yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjQtcnRfc2lnYWN0aW9uLXJ0X3NpZ3Byb2NtYXJrLURlZmluZS1fR05VX1NPVVJDRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDI2LWNyYXNoMDEtRGVmaW5lLV9HTlVfU09VUkNFLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMjgtcnRfc2lnYWN0aW9uLmgtVXNlLXNpZ2hhbmRsZXJfdC1pbnN0ZWFkLW9mLV9fc2lnaGFuZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM0LXBlcmlvZGljX291dHB1dC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM1LWZpeC10ZXN0X3Byb2Nfa2lsbC1oYW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMzYtdGVzdGNhc2VzLW5ldHdvcmstbmZzdjQtYWNsLWFjbDEuYy1TZWN1cml0eS1maXgtb24tcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDM5LWNvbW1hbmRzLWFyMDEtRml4LWZvci10ZXN0LWluLWRldGVybWluaXN0aWMtbW9kZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW9wZW5fcG9zaXhfdGVzdHN1aXRlLW1tYXAyNC0yLVJlbGF4LWNvbmRpdGlvbi1hLWJpdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kZWZpbmUtc2lncnRtaW4tYW5kLXNpZ3J0bWF4LWZvci1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NldHJlZ2lkMDEtc2VjdXJpdHktc3RyaW5nLWZvcm1hdHRpbmcucGF0Y2ggXAorICAgICAgICAgICAiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcAorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZXhwb3J0IHByZWZpeCA9ICIvb3B0L2x0cCIKK2V4cG9ydCBleGVjX3ByZWZpeCA9ICIvb3B0L2x0cCIKKworUEFDS0FHRUNPTkZJR1tudW1hXSA9ICItLXdpdGgtbnVtYSwgLS13aXRob3V0LW51bWEsIG51bWFjdGwsIgorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgJHtTfS90ZXN0Y2FzZXMvcmVhbHRpbWUvbTQiCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC1wb3dlci1tYW5hZ2VtZW50LXRlc3RzdWl0ZSAtLXdpdGgtcmVhbHRpbWUtdGVzdHN1aXRlIC0td2l0aC1vcGVuLXBvc2l4LXRlc3RzdWl0ZSAiCisjIGx0cCBuZXR3b3JrL3JwYyB0ZXN0IGNhc2VzIGZ0YmZzIHdoZW4gbGlidGlycGMgaXMgZm91bmQKK0VYVFJBX09FQ09ORiArPSAiIC0td2l0aG91dC10aXJwYyAiCisKK2RvX2luc3RhbGwoKXsKKyAgICBpbnN0YWxsIC1kICR7RH0vb3B0L2x0cC8KKyAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBTS0lQX0lEQ0hFQ0s9MSBpbnN0YWxsCisKKyAgICAjIGZpeHVwIG5vdCBkZXBsb3kgU1RQZmFpbHVyZV9yZXBvcnQucGwgdG8gYXZvaWQgY29uZnVzaW5nIGFib3V0IGl0IGZhaWxzIHRvIHJ1bgorICAgICMgYXMgaXQgbGFja3MgZGVwZW5kZW5jeSBvbiBzb21lIHBlcmwgbW91ZGxlIHN1Y2ggYXMgTFdQOjpTaW1wbGUKKyAgICAjIEFuZCB0aGlzIHNjcmlwdCBwcmV2aW91c2x5IHdvcmtzIGFzIGEgdG9vbCBmb3IgYW5hbHl6aW5nIGZhaWx1cmVzIGZyb20gTFRQCisgICAgIyBydW5zIG9uIHRoZSBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0gKFNUUCkgYW5kIGl0IG1haW5seSBhY2Nlc3NlcworICAgICMgaHR0cDovL2toYWNrLm9zZGwub3JnIHRvIHJldHJpZXZlIGx0cCB0ZXN0IHJlc3VsdHMgcnVuIG9uCisgICAgIyBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0sIGJ1dCBub3cgaHR0cDovL2toYWNrLm9zZGwub3JnIHVuYWNjZXNzaWJsZQorICAgIHJtIC1yZiAke0R9L29wdC9sdHAvYmluL1NUUGZhaWx1cmVfcmVwb3J0LnBsCisKKyAgICAjIENvcHkgUE9TSVggdGVzdCBzdWl0ZSBpbnRvICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMgYnkgbWFudWFsCisgICAgY3AgLXIgdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMKK30KKworUkRFUEVORFNfJHtQTn0gPSAiXAorICAgIGFjbCBcCisgICAgYXQgXAorICAgIGF0dHIgXAorICAgIGJhc2ggXAorICAgIGNwaW8gXAorICAgIGNyb25pZSBcCisgICAgY3VybCBcCisgICAgZTJmc3Byb2dzLW1rZTJmcyBcCisgICAgZXhwZWN0IFwKKyAgICBmaWxlIFwKKyAgICBnYXdrIFwKKyAgICBnemlwIFwKKyAgICBpcHJvdXRlMiBcCisgICAgbGRkIFwKKyAgICBsaWJhaW8gXAorICAgIGxvZ3JvdGF0ZSBcCisgICAgcGVybCBcCisgICAgcHl0aG9uLWNvcmUgXAorICAgIHByb2NwcyBcCisgICAgcXVvdGEgXAorICAgIHVuemlwIFwKKyAgICB1dGlsLWxpbnV4IFwKKyAgICB3aGljaCBcCisgICAgdGFyIFwKKyIKKworRklMRVNfJHtQTn0gKz0gIi9vcHQvbHRwLyogL29wdC9sdHAvcnVudGVzdC8qIC9vcHQvbHRwL3NjZW5hcmlvX2dyb3Vwcy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vKiAvb3B0L2x0cC90ZXN0Y2FzZXMvYmluLyovYmluLyogL29wdC9sdHAvdGVzdHNjcmlwdHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvY29uZm9ybWFuY2UvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvRG9jdW1lbnRhdGlvbi8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9mdW5jdGlvbmFsLyogL29wdC9sdHAvdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlL2luY2x1ZGUvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvc2NyaXB0cy8qIC9vcHQvbHRwL3Rlc3RjYXNlcy9vcGVuX3Bvc2l4X3Rlc3RzdWl0ZS9zdHJlc3MvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvb3Blbl9wb3NpeF90ZXN0c3VpdGUvdG9vbHMvKiAvb3B0L2x0cC90ZXN0Y2FzZXMvZGF0YS9ubTAxL2xpYi5hIC9vcHQvbHRwL2xpYi9saWJtZW0uYSIKKworIyBBdm9pZCBzdHJpcHBpbmcgc29tZSBnZW5lcmF0ZWQgYmluYXJpZXMgb3RoZXJ3aXNlIHNvbWUgb2YgdGhlIGx0cCB0ZXN0cyBzdWNoIGFzIGxkZDAxICYgbm0wMSBmYWlsCitJTkhJQklUX1BBQ0tBR0VfU1RSSVBfRklMRVMgPSAiL29wdC9sdHAvdGVzdGNhc2VzL2Jpbi9ubTAxIC9vcHQvbHRwL3Rlc3RjYXNlcy9iaW4vbGRkMDEiCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiYWxyZWFkeS1zdHJpcHBlZCBzdGF0aWNkZXYiCisKKyMgQXZvaWQgZmlsZSBkZXBlbmRlbmN5IHNjYW5zLCBhcyBMVFAgY2hlY2tzIGZvciB0aGluZ3MgdGhhdCBtYXkgb3IgbWF5IG5vdAorIyBleGlzdCBvbiB0aGUgcnVubmluZyBzeXN0ZW0uICBGb3IgaW5zdGFuY2UgaXQgaGFzIHNwZWNpZmljIGNoZWNrcyBmb3IKKyMgY3NoIGFuZCBrc2ggd2hpY2ggYXJlIG5vdCB0eXBpY2FsbHkgcGFydCBvZiBPcGVuRW1iZWRkZWQgc3lzdGVtcyAoYnV0CisjIGNhbiBiZSBhZGRlZCB2aWEgYWRkaXRpb25hbCBsYXllcnMuKQorU0tJUF9GSUxFREVQU18ke1BOfSA9ICcxJwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHppcC9semlwXzEuMjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFmYzJhMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLVNVTU1BUlkgPSAiTG9zc2xlc3MgZGF0YSBjb21wcmVzc29yIGJhc2VkIG9uIHRoZSBMWk1BIGFsZ29yaXRobSIKLUhPTUVQQUdFID0gImh0dHA6Ly9semlwLm5vbmdudS5vcmcvbHppcC5odG1sIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NmQ2ZTMwMGZmZDhmYjlkMThiZDliMTM2YTliYmExMyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kZWNvZGVyLmNjO2JlZ2lubGluZT0zO2VuZGxpbmU9MTY7bWQ1PWRiMDlmZTNmOTU3M2Y5NGQwMDc2ZjdmMDc5NTllNmUxIgotCi1TUkNfVVJJID0gIiR7U0FWQU5OQUhfR05VX01JUlJPUn0vbHppcC9semlwLSR7UFZ9LnRhci5neiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjIxYzE1MTdkYTJhY2U5Njg5ZmQ5NTM5MTg2NjBiM2MzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM5M2I4MWE1YTc3ODhlZjU4MTI0MjNkMzExMzQ1YmE1ZDNiZDRmNWViZjFmNjkzOTExZTNhMTM1NTNjMTI5MGMiCi0KLUNPTkZJR1VSRU9QVFMgPSAiXAotICAgICctLXNyY2Rpcj0ke1N9JyBcCi0gICAgJy0tcHJlZml4PSR7cHJlZml4fScgXAotICAgICctLWV4ZWMtcHJlZml4PSR7ZXhlY19wcmVmaXh9JyBcCi0gICAgJy0tYmluZGlyPSR7YmluZGlyfScgXAotICAgICctLWRhdGFkaXI9JHtkYXRhZGlyfScgXAotICAgICctLWluZm9kaXI9JHtpbmZvZGlyfScgXAotICAgICctLXN5c2NvbmZkaXI9JHtzeXNjb25mZGlyfScgXAotICAgICdDWFg9JHtDWFh9JyBcCi0gICAgJ0NQUEZMQUdTPSR7Q1BQRkxBR1N9JyBcCi0gICAgJ0NYWEZMQUdTPSR7Q1hYRkxBR1N9JyBcCi0gICAgJ0xERkxBR1M9JHtMREZMQUdTfScgXAotIgotRVhUUkFfT0VNQUtFID0gIiIKLQotQiA9ICIke1N9L29iaiIKLWRvX2NvbmZpZ3VyZSAoKSB7Ci0gICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQotfQotCi1kb19pbnN0YWxsICgpIHsKLSAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKLSAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgotICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgotICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKLSAgICBmaQotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x6aXAvbHppcF8xLjIxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiM2QyYTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9semlwL2x6aXBfMS4yMS5iYgpAQCAtMCwwICsxLDQxIEBACitTVU1NQVJZID0gIkxvc3NsZXNzIGRhdGEgY29tcHJlc3NvciBiYXNlZCBvbiB0aGUgTFpNQSBhbGdvcml0aG0iCitIT01FUEFHRSA9ICJodHRwOi8vbHppcC5ub25nbnUub3JnL2x6aXAuaHRtbCIKK1NFQ1RJT04gPSAiY29uc29sZS91dGlscyIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzZkNmUzMDBmZmQ4ZmI5ZDE4YmQ5YjEzNmE5YmJhMTMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZGVjb2Rlci5jYztiZWdpbmxpbmU9MztlbmRsaW5lPTE2O21kNT1kYjA5ZmUzZjk1NzNmOTRkMDA3NmY3ZjA3OTU5ZTZlMSIKKworU1JDX1VSSSA9ICIke1NBVkFOTkFIX0dOVV9NSVJST1J9L2x6aXAvbHppcC0ke1BWfS50YXIuZ3oiCitTUkNfVVJJW21kNXN1bV0gPSAiYzAwNjE3MzBkMDE3ZWE1OTNhMDkzMDhlZGM1NDcxMjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTQ4YjUwMzlkMzE2NGQ2NzA3OTFmOWM1ZGJhYTgzMmJmMmRmMDgwY2IxZmJiNGYzM2FhN2IzMzAwYjY3MGQ4YiIKKworQiA9ICIke1dPUktESVJ9L2J1aWxkIgorZG9fY29uZmlndXJlW2NsZWFuZGlyc10gPSAiJHtCfSIKKworQ09ORklHVVJFT1BUUyA9ICJcCisgICAgJy0tc3JjZGlyPSR7U30nIFwKKyAgICAnLS1wcmVmaXg9JHtwcmVmaXh9JyBcCisgICAgJy0tZXhlYy1wcmVmaXg9JHtleGVjX3ByZWZpeH0nIFwKKyAgICAnLS1iaW5kaXI9JHtiaW5kaXJ9JyBcCisgICAgJy0tZGF0YWRpcj0ke2RhdGFkaXJ9JyBcCisgICAgJy0taW5mb2Rpcj0ke2luZm9kaXJ9JyBcCisgICAgJy0tc3lzY29uZmRpcj0ke3N5c2NvbmZkaXJ9JyBcCisgICAgJ0NYWD0ke0NYWH0nIFwKKyAgICAnQ1BQRkxBR1M9JHtDUFBGTEFHU30nIFwKKyAgICAnQ1hYRkxBR1M9JHtDWFhGTEFHU30nIFwKKyAgICAnTERGTEFHUz0ke0xERkxBR1N9JyBcCisiCisKK2RvX2NvbmZpZ3VyZSAoKSB7CisgICAgJHtTfS9jb25maWd1cmUgJHtDT05GSUdVUkVPUFRTfQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICBvZV9ydW5tYWtlICdERVNURElSPSR7RH0nIGluc3RhbGwKKyAgICAjIEluZm8gZGlyIGxpc3RpbmcgaXNuJ3QgaW50ZXJlc3RpbmcgYXQgdGhpcyBwb2ludCBzbyByZW1vdmUgaXQgaWYgaXQgZXhpc3RzLgorICAgIGlmIFsgLWUgIiR7RH0ke2luZm9kaXJ9L2RpciIgXTsgdGhlbgorICAgICAgICBybSAtZiAke0R9JHtpbmZvZGlyfS9kaXIKKyAgICBmaQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2Q4ZDI3Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotU1VNTUFSWSA9ICJBbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RhbmRhcmQgVW5peCBkb2N1bWVudGF0aW9uIHN5c3RlbSBhY2Nlc3NlZCB1c2luZyB0aGUgbWFuIGNvbW1hbmQiCi1IT01FUEFHRSA9ICJodHRwOi8vbWFuLWRiLm5vbmdudS5vcmcvIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jcy9DT1BZSU5HLkxJQjttZDU9YTZmODllMjEwMGQ5YjZjZGZmY2VhNGYzOThlMzczNDMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZG9jcy9DT1BZSU5HO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSIKLQotU1JDX1VSSSA9ICIke1NBVkFOTkFIX05PTkdOVV9NSVJST1J9L21hbi1kYi9tYW4tZGItJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzk5X21hbmRiIFwKLSAgICAgICAgICAgZmlsZTovL21hbl9kYi5jb25mLWF2b2lkLW11bHRpbGliLWluc3RhbGwtZmlsZS1jb25mbGljdC5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZjMwNTVlMThmZGQxY2U1Y2JiZGIzMDQwMzk5MWVjNyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OTMyYTFjYTM2NmUxZWM2MWEzZWNlMWEzYWZhMGU5MmYyZmRjMTI1YjYxZDIzNmYyMGNjNmZmOWQ4MGNjNGFjIgotCi1ERVBFTkRTID0gImxpYnBpcGVsaW5lIGdkYm0gZ3JvZmYtbmF0aXZlIGJhc2UtcGFzc3dkIgotUkRFUEVORFNfJHtQTn0gKz0gImJhc2UtcGFzc3dkIgotCi0jIHwgL3Vzci9zcmMvZGVidWcvbWFuLWRiLzIuOC4wLXIwL21hbi1kYi0yLjguMC9zcmMvd2hhdGlzLmM6OTM5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfbmxfbXNnX2NhdF9jbnRyJwotVVNFX05MU19saWJjLW11c2wgPSAibm8iCi0KLWluaGVyaXQgZ2V0dGV4dCBwa2djb25maWcgYXV0b3Rvb2xzCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtcGFnZXI9bGVzcyIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0JICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X21hbmRiICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCi0JZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgewotICAgICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS9saWIvdG1wZmlsZXMuZCIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbWFuLWRiL2xpYm1hbi5zbyAke2xpYmRpcn0vJHtCUE59L2xpYm1hbmRiLnNvIgotCi1SREVQRU5EU18ke1BOfSArPSAiZ3JvZmYiCi1SUkVDT01NRU5EU18ke1BOfSArPSAibGVzcyIKLVJQUk9WSURFU18ke1BOfSArPSAiIG1hbiIKLQotZGVmIGNvbXByZXNzX3BrZyhkKToKLSAgICBpZiBiYi51dGlscy5jb250YWlucygiSU5IRVJJVCIsICJjb21wcmVzc19kb2MiLCBUcnVlLCBGYWxzZSwgZCk6Ci0gICAgICAgICBjb21wcmVzcyA9IGQuZ2V0VmFyKCJET0NfQ09NUFJFU1MiKQotICAgICAgICAgaWYgY29tcHJlc3MgPT0gImd6IjoKLSAgICAgICAgICAgICByZXR1cm4gImd6aXAiCi0gICAgICAgICBlbGlmIGNvbXByZXNzID09ICJiejIiOgotICAgICAgICAgICAgIHJldHVybiAiYnppcDIiCi0gICAgICAgICBlbGlmIGNvbXByZXNzID09ICJ4eiI6Ci0gICAgICAgICAgICAgcmV0dXJuICJ4eiIKLSAgICByZXR1cm4gIiIKLQotUkRFUEVORFNfJHtQTn0gKz0gIiR7QGNvbXByZXNzX3BrZyhkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tZGIvbWFuLWRiXzIuOC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTM2NDY1Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLWRiL21hbi1kYl8yLjguNC5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIkFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdGFuZGFyZCBVbml4IGRvY3VtZW50YXRpb24gc3lzdGVtIGFjY2Vzc2VkIHVzaW5nIHRoZSBtYW4gY29tbWFuZCIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYW4tZGIubm9uZ251Lm9yZy8iCitMSUNFTlNFID0gIkxHUEx2Mi4xICYgR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL0NPUFlJTkcuTElCO21kNT1hNmY4OWUyMTAwZDliNmNkZmZjZWE0ZjM5OGUzNzM0MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2NzL0NPUFlJTkc7bWQ1PWViNzIzYjYxNTM5ZmVlZjAxM2RlNDc2ZTY4YjVjNTBhIgorCitTUkNfVVJJID0gIiR7U0FWQU5OQUhfTk9OR05VX01JUlJPUn0vbWFuLWRiL21hbi1kYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vOTlfbWFuZGIgXAorICAgICAgICAgICBmaWxlOi8vbWFuX2RiLmNvbmYtYXZvaWQtbXVsdGlsaWItaW5zdGFsbC1maWxlLWNvbmZsaWN0LnBhdGNoIgorU1JDX1VSSVttZDVzdW1dID0gImFiNDFkYjU1MWY1MDBlNGE1OTViMTEyMDNiODZjNjdhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjEwM2MxODVmOWQ4MjY5YjllZTNiOGE0Y2IyNzkxMmIzYWEzOTNlOTUyNzMxZWY5NmZlZGM4ODA3MjM0NzJiYzMiCisKK0RFUEVORFMgPSAibGlicGlwZWxpbmUgZ2RibSBncm9mZi1uYXRpdmUgYmFzZS1wYXNzd2QiCitSREVQRU5EU18ke1BOfSArPSAiYmFzZS1wYXNzd2QiCisKKyMgfCAvdXNyL3NyYy9kZWJ1Zy9tYW4tZGIvMi44LjAtcjAvbWFuLWRiLTIuOC4wL3NyYy93aGF0aXMuYzo5Mzk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9ubF9tc2dfY2F0X2NudHInCitVU0VfTkxTX2xpYmMtbXVzbCA9ICJubyIKKworaW5oZXJpdCBnZXR0ZXh0IHBrZ2NvbmZpZyBhdXRvdG9vbHMKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1wYWdlcj1sZXNzIgorRVhUUkFfQVVUT1JFQ09ORiArPSAiLUkgJHtTfS9nbC9tNCIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJICAgICAgICBpbnN0YWxsIC1kICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCisJCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9Lzk5X21hbmRiICR7RH0vZXRjL2RlZmF1bHQvdm9sYXRpbGVzCisJZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgeworICAgICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2NoYXJzZXQuYWxpYXMKK30KKworRklMRVNfJHtQTn0gKz0gIiR7cHJlZml4fS9saWIvdG1wZmlsZXMuZCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vbWFuLWRiL2xpYm1hbi5zbyAke2xpYmRpcn0vJHtCUE59L2xpYm1hbmRiLnNvIgorCitSREVQRU5EU18ke1BOfSArPSAiZ3JvZmYiCitSUkVDT01NRU5EU18ke1BOfSArPSAibGVzcyIKK1JQUk9WSURFU18ke1BOfSArPSAiIG1hbiIKKworZGVmIGNvbXByZXNzX3BrZyhkKToKKyAgICBpZiBiYi51dGlscy5jb250YWlucygiSU5IRVJJVCIsICJjb21wcmVzc19kb2MiLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgICBjb21wcmVzcyA9IGQuZ2V0VmFyKCJET0NfQ09NUFJFU1MiKQorICAgICAgICAgaWYgY29tcHJlc3MgPT0gImd6IjoKKyAgICAgICAgICAgICByZXR1cm4gImd6aXAiCisgICAgICAgICBlbGlmIGNvbXByZXNzID09ICJiejIiOgorICAgICAgICAgICAgIHJldHVybiAiYnppcDIiCisgICAgICAgICBlbGlmIGNvbXByZXNzID09ICJ4eiI6CisgICAgICAgICAgICAgcmV0dXJuICJ4eiIKKyAgICByZXR1cm4gIiIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7QGNvbXByZXNzX3BrZyhkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMTYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMTYuYmIKaW5kZXggYTY0NTg3Yy4uMWYxNGM4OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjE2LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21hbi1wYWdlcy9tYW4tcGFnZXNfNC4xNi5iYgpAQCAtMzEsNiArMzEsNyBAQAogaW5oZXJpdCB1cGRhdGUtYWx0ZXJuYXRpdmVzCiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKLUFMVEVSTkFUSVZFXyR7UE59ID0gInBhc3N3ZC41IGdldHNwbmFtLjMiCitBTFRFUk5BVElWRV8ke1BOfSA9ICJwYXNzd2QuNSBnZXRzcG5hbS4zIGNyeXB0LjMiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbcGFzc3dkLjVdID0gIiR7bWFuZGlyfS9tYW41L3Bhc3N3ZC41IgogQUxURVJOQVRJVkVfTElOS19OQU1FW2dldHNwbmFtLjNdID0gIiR7bWFuZGlyfS9tYW4zL2dldHNwbmFtLjMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbY3J5cHQuM10gPSAiJHttYW5kaXJ9L21hbjMvY3J5cHQuMyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzZhNDUwMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1TVU1NQVJZID0gIk1pZG5pZ2h0IENvbW1hbmRlciBpcyBhbiBuY3Vyc2VzIGJhc2VkIGZpbGUgbWFuYWdlciIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy8iCi1MSUNFTlNFID0gIkdQTHYzIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcwYmJhZmUzNjBlNzNmOTg0MGJkNzk4MTYyMWY5YzIiCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1ERVBFTkRTID0gIm5jdXJzZXMgZ2xpYi0yLjAgdXRpbC1saW51eCIKLVJERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5taWRuaWdodC1jb21tYW5kZXIub3JnL2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1jLXJlcGxhY2UtcGVybC13LXdpdGgtdXNlLXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjYzZDJiOTBlMjE5OGVlNzlkMDhlYjRhODk4OTIyMGUyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI1MWQ5ZjBlZjkzMDllZjNlZWEwZmRjNGMxMmI4YjYxMTQ5ZTUwNTZiZWYxYjJkZTJjY2M3ZjAxNWQ5NzM0NDQiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCi0KLSMKLSMgQm90aCBTYW1iYSAoc21iKSBhbmQgc2Z0cCByZXF1aXJlIHBhY2thZ2UgZGVsaXZlcmVkIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQKLSMKLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtdmZzLXNtYiwtLWRpc2FibGUtdmZzLXNtYixzYW1iYSwiCi1QQUNLQUdFQ09ORklHW3NmdHBdID0gIi0tZW5hYmxlLXZmcy1zZnRwLC0tZGlzYWJsZS12ZnMtc2Z0cCxsaWJzc2gyLCIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zY3JlZW49bmN1cnNlcyAtLXdpdGhvdXQtZ3BtLW1vdXNlIC0td2l0aG91dC14IgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jpbi9lbnYgcGVybCciCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLQlzZWQgLWkgLWUgJzFzLCMhLipwZXJsLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qCi0gICAgICAgIAotICAgICAgICBybSAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3MzKyAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VjMTU0MQotfQotCi1QQUNLQUdFUyA9KyAiJHtCUE59LWhlbHBlcnMtcGVybCAke0JQTn0taGVscGVycyAke0JQTn0tZmlzaCIKLQotU1VNTUFSWV8ke0JQTn0taGVscGVycy1wZXJsID0gIk1pZG5pZ2h0IENvbW1hbmRlciBQZXJsLWJhc2VkIGhlbHBlciBzY3JpcHRzIgotRklMRVNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICIke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvYSsgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2FwdCsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJhIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYmQgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2Rwa2crIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL21haWxmcyAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcGF0Y2hmcyBcIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcnBtcysgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VsaWIgXCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3V6aXAiCi1SREVQRU5EU18ke0JQTn0taGVscGVycy1wZXJsID0gInBlcmwiCi0KLVNVTU1BUllfJHtCUE59LWhlbHBlcnMgPSAiTWlkbmlnaHQgQ29tbWFuZGVyIHNoZWxsIGhlbHBlciBzY3JpcHRzIgotRklMRVNfJHtCUE59LWhlbHBlcnMgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kLyogJHtsaWJleGVjZGlyfS9tYy9leHQuZC8qIgotCi1TVU1NQVJZXyR7QlBOfS1maXNoID0gIk1pZG5pZ2h0IENvbW1hbmRlciBGaXNoIHNjcmlwdHMiCi1GSUxFU18ke0JQTn0tZmlzaCA9ICIke2xpYmV4ZWNkaXJ9L21jL2Zpc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYy9tY180LjguMjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY0ZWZmYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4yMi5iYgpAQCAtMCwwICsxLDQ5IEBACitTVU1NQVJZID0gIk1pZG5pZ2h0IENvbW1hbmRlciBpcyBhbiBuY3Vyc2VzIGJhc2VkIGZpbGUgbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubWlkbmlnaHQtY29tbWFuZGVyLm9yZy8iCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcwYmJhZmUzNjBlNzNmOTg0MGJkNzk4MTYyMWY5YzIiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitERVBFTkRTID0gIm5jdXJzZXMgZ2xpYi0yLjAgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59ID0gIm5jdXJzZXMtdGVybWluZm8iCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5taWRuaWdodC1jb21tYW5kZXIub3JnL2Rvd25sb2Fkcy8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1jLXJlcGxhY2UtcGVybC13LXdpdGgtdXNlLXdhcm5pbmdzLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjI5OTgzYTIxNWM5NjAzMGYwNmQ1YjExMjA4OGVjNWRjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhkOWYxYzc1MzY5OTY3YWRmZDMxN2EwNWZlZjk4NjE0NDRlZDA0OWIwMzNlNGRlYmFlYWFmYzZkZjIxOGI0MzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKKyMKKyMgQm90aCBTYW1iYSAoc21iKSBhbmQgc2Z0cCByZXF1aXJlIHBhY2thZ2UgZGVsaXZlcmVkIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQKKyMKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3NtYl0gPSAiLS1lbmFibGUtdmZzLXNtYiwtLWRpc2FibGUtdmZzLXNtYixzYW1iYSwiCitQQUNLQUdFQ09ORklHW3NmdHBdID0gIi0tZW5hYmxlLXZmcy1zZnRwLC0tZGlzYWJsZS12ZnMtc2Z0cCxsaWJzc2gyLCIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1zY3JlZW49bmN1cnNlcyAtLXdpdGhvdXQtZ3BtLW1vdXNlIC0td2l0aG91dC14IgorCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jpbi9lbnYgcGVybCciCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlzZWQgLWkgLWUgJzFzLCMhLipwZXJsLCMhJHtiaW5kaXJ9L2VudiBwZXJsLCcgJHtEfSR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC8qCisgICAgICAgIAorICAgICAgICBybSAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3MzKyAke0R9JHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VjMTU0MQorfQorCitQQUNLQUdFUyA9KyAiJHtCUE59LWhlbHBlcnMtcGVybCAke0JQTn0taGVscGVycyAke0JQTn0tZmlzaCIKKworU1VNTUFSWV8ke0JQTn0taGVscGVycy1wZXJsID0gIk1pZG5pZ2h0IENvbW1hbmRlciBQZXJsLWJhc2VkIGhlbHBlciBzY3JpcHRzIgorRklMRVNfJHtCUE59LWhlbHBlcnMtcGVybCA9ICIke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvYSsgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2FwdCsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvZGViICR7bGliZXhlY2Rpcn0vbWMvZXh0ZnMuZC9kZWJhIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2RlYmQgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL2Rwa2crIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL21haWxmcyAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcGF0Y2hmcyBcIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmV4ZWNkaXJ9L21jL2V4dGZzLmQvcnBtcysgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3VsaWIgXCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kL3V6aXAiCitSREVQRU5EU18ke0JQTn0taGVscGVycy1wZXJsID0gInBlcmwiCisKK1NVTU1BUllfJHtCUE59LWhlbHBlcnMgPSAiTWlkbmlnaHQgQ29tbWFuZGVyIHNoZWxsIGhlbHBlciBzY3JpcHRzIgorRklMRVNfJHtCUE59LWhlbHBlcnMgPSAiJHtsaWJleGVjZGlyfS9tYy9leHRmcy5kLyogJHtsaWJleGVjZGlyfS9tYy9leHQuZC8qIgorCitTVU1NQVJZXyR7QlBOfS1maXNoID0gIk1pZG5pZ2h0IENvbW1hbmRlciBGaXNoIHNjcmlwdHMiCitGSUxFU18ke0JQTn0tZmlzaCA9ICIke2xpYmV4ZWNkaXJ9L21jL2Zpc2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUNvbXB1dGUtYWJzLWRpZmYtaW4tYS1zdGFuZGFyZC1jb21wbGlhbnQtd2F5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDNhNTliCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGIyNzNlODkyYmQ2YWFhZmU0NDhmODQzNTZhYmI3OGE2ZDQ2M2U3ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogRnJpLCA3IERlYyAyMDE4IDE3OjIyOjM5IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIENvbXB1dGUgYWJzIGRpZmYgaW4gYSBzdGFuZGFyZCBjb21wbGlhbnQgd2F5CisKK1RoaXMgbWFrZSBpdCBhIGJpdCBsZXNzIGltcGxlbWVudGF0aW9uIGRlZmluZWQgYW5kIHNpbGVuY2VzIGNsYW5nCit3YXJuaW5nIC1XYWJzb2x1dGUtdmFsdWUKKworfCBzdXBlci1pbnRlbC5jOjI4MjI6MjA6IGVycm9yOiB0YWtpbmcgdGhlIGFic29sdXRlIHZhbHVlIG9mIHVuc2lnbmVkIHR5cGUgJ3Vuc2kKK2duZWQgbG9uZyBsb25nJyBoYXMgbm8gZWZmZWN0IFstV2Vycm9yLC1XYWJzb2x1dGUtdmFsdWVdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3VwZXItaW50ZWwuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCitpbmRleCA2NDM4OTg3Li4xMGQ3MjE4IDEwMDY0NAorLS0tIGEvc3VwZXItaW50ZWwuYworKysrIGIvc3VwZXItaW50ZWwuYworQEAgLTI4MTksNyArMjgxOSw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcgY2FsY19jb21wb25lbnRfc2l6ZShzdHJ1Y3QgaW1zbV9tYXAgKm1hcCwKKyAJICogMjA0OCBibG9ja3MgcGVyIGVhY2ggZGV2aWNlLiBJZiB0aGUgZGlmZmVyZW5jZSBpcyBoaWdoZXIgaXQgbWVhbnMKKyAJICogdGhhdCBhcnJheSBzaXplIHdhcyBleHBhbmRlZCBhbmQgbnVtX2RhdGFfc3RyaXBlcyB3YXMgbm90IHVwZGF0ZWQuCisgCSAqLworLQlpZiAoKHVuc2lnbmVkIGludClhYnMoY2FsY19kZXZfc2l6ZSAtIGRldl9zaXplKSA+CisrCWlmICgodW5zaWduZWQgaW50KWFicygoaW50KWNhbGNfZGV2X3NpemUgLSAoaW50KWRldl9zaXplKSA+CisgCSAgICAoMSA8PCBTRUNUX1BFUl9NQl9TSElGVCkgKiBtZW1iZXJfZGlza3MpIHsKKyAJCWNvbXBvbmVudF9zaXplID0gZGV2X3NpemUgLyBtZW1iZXJfZGlza3M7CisgCQlkcHJpbnRmKCJJbnZhbGlkIG51bV9kYXRhX3N0cmlwZXMgaW4gbWV0YWRhdGE7IGV4cGVjdGVkPSVsbHUsIGZvdW5kPSVsbHVcbiIsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLURpc2FibGUtZ2NjOC13YXJuaW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Mzk2NTJjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUyICswLDAgQEAKLUZyb20gYjgzMjE4ZGUyNjIzYzBiYmU5YWYzNTVhODFhZTgzODVkN2YzMGNmYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDkgTWF5IDIwMTggMTI6NTY6NDEgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSF0gRGlzYWJsZSBnY2M4IHdhcm5pbmdzCi0KLVRoaXMgaXMgbmVlZGVkIHVudGlsCi1odHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE1NTM5NTgKLQotRml4IHN1cGVyMC5jIGlzc3VlIHdoaWNoIGlzIHRyaWdnZXJlZCBvbmx5IGluIERFQlVHX0JVSUxEIHdpdGggLU8xIChvciBhbnkKLWNvbmZpZ3VyYXRpb24gd2l0aG91dCAtZnRyZWUtdnJwIG9yIHdpdGggLWZuby10cmVlLXZycCkKLQotc3VwZXIwLmM6IEluIGZ1bmN0aW9uICdleGFtaW5lX3N1cGVyMCc6Ci1zdXBlcjAuYzoyMzg6MzI6IGVycm9yOiAnc25wcmludGYnIG91dHB1dCBtYXkgYmUgdHJ1bmNhdGVkIGJlZm9yZSB0aGUgbGFzdCBmb3JtYXQgY2hhcmFjdGVyIFstV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPV0KLSAgIHNucHJpbnRmKG5iLCBzaXplb2YobmIpLCAiJTRkIiwgZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtXb3JrYXJvdW5kXQotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi0tLS0KLSBNb25pdG9yLmMgICAgIHwgNCArKystCi0gbWRvcGVuLmMgICAgICB8IDQgKysrKwotIHN1cGVyLWRkZi5jICAgfCA0ICsrKysKLSBzdXBlci1pbnRlbC5jIHwgNiArKysrKysKLSBzdXBlcjEuYyAgICAgIHwgNSArKysrKwotIHN1cGVyMC5jICAgICAgfCAyICstCi0gNiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zdXBlcjAuYyBiL3N1cGVyMC5jCi1pbmRleCBmNWI0NTA3Li4yNjRiNTk4IDEwMDY0NAotLS0tIGEvc3VwZXIwLmMKLSsrKyBiL3N1cGVyMC5jCi1AQCAtMjMxLDcgKzIzMSw3IEBACi0gCSAgICAgZCsrKSB7Ci0gCQltZHBfZGlza190ICpkcDsKLSAJCWNoYXIgKmR2OwotLQkJY2hhciBuYlsxMV07Ci0rCQljaGFyIG5iWzEyXTsKLSAJCWludCB3b25seSwgZmFpbGZhc3Q7Ci0gCQlpZiAoZD49MCkgZHAgPSAmc2ItPmRpc2tzW2RdOwotIAkJZWxzZSBkcCA9ICZzYi0+dGhpc19kaXNrOwotZGlmZiAtLWdpdCBhL01vbml0b3IuYyBiL01vbml0b3IuYwotaW5kZXggODAyYTlkOS4uMjNiMjQ2YiAxMDA2NDQKLS0tLSBhL01vbml0b3IuYwotKysrIGIvTW9uaXRvci5jCi1AQCAtNDQxLDcgKzQ0MSw4IEBAIHN0YXRpYyB2b2lkIGFsZXJ0KGNoYXIgKmV2ZW50LCBjaGFyICpkZXYsIGNoYXIgKmRpc2MsIHN0cnVjdCBhbGVydF9pbmZvICppbmZvKQotIAkJCSAgICAgICBldmVudCwgZGV2KTsKLSAJfQotIH0KLS0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LXRydW5jYXRpb24iCi0gc3RhdGljIGludCBjaGVja19hcnJheShzdHJ1Y3Qgc3RhdGUgKnN0LCBzdHJ1Y3QgbWRzdGF0X2VudCAqbWRzdGF0LAotIAkJICAgICAgIGludCB0ZXN0LCBzdHJ1Y3QgYWxlcnRfaW5mbyAqYWluZm8sCi0gCQkgICAgICAgaW50IGluY3JlbWVudHMsIGNoYXIgKnByZWZlcikKLUBAIC02ODMsNiArNjg0LDcgQEAgc3RhdGljIGludCBjaGVja19hcnJheShzdHJ1Y3Qgc3RhdGUgKnN0LCBzdHJ1Y3QgbWRzdGF0X2VudCAqbWRzdGF0LAotIAkJcmV0dXJuIDE7Ci0gCXJldHVybiAwOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIHN0YXRpYyBpbnQgYWRkX25ld19hcnJheXMoc3RydWN0IG1kc3RhdF9lbnQgKm1kc3RhdCwgc3RydWN0IHN0YXRlICoqc3RhdGVsaXN0LAotIAkJCSAgaW50IHRlc3QsIHN0cnVjdCBhbGVydF9pbmZvICppbmZvKQotZGlmZiAtLWdpdCBhL21kb3Blbi5jIGIvbWRvcGVuLmMKLWluZGV4IDY4NWNhMzIuLjQwNmFiYTQgMTAwNjQ0Ci0tLS0gYS9tZG9wZW4uYwotKysrIGIvbWRvcGVuLmMKLUBAIC0yNiw2ICsyNiw5IEBACi0gI2luY2x1ZGUgIm1kX3AuaCIKLSAjaW5jbHVkZSA8Y3R5cGUuaD4KLSAKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZm9ybWF0LXRydW5jYXRpb24iCi0rCi0gdm9pZCBtYWtlX3BhcnRzKGNoYXIgKmRldiwgaW50IGNudCkKLSB7Ci0gCS8qIG1ha2UgJ2NudCcgcGFydGl0aW9uIGRldmljZXMgZm9yICdkZXYnCi1AQCAtOTksNiArMTAyLDcgQEAgdm9pZCBtYWtlX3BhcnRzKGNoYXIgKmRldiwgaW50IGNudCkKLSAJfQotIAlmcmVlKG5hbWUpOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIC8qCi0gICogV2UgbmVlZCBhIG5ldyBtZCBkZXZpY2UgdG8gYXNzZW1ibGUvYnVpbGQvY3JlYXRlIGFuIGFycmF5LgotZGlmZiAtLWdpdCBhL3N1cGVyLWRkZi5jIGIvc3VwZXItZGRmLmMKLWluZGV4IDE3MDdhZDEuLmUwOGQyODkgMTAwNjQ0Ci0tLS0gYS9zdXBlci1kZGYuYwotKysrIGIvc3VwZXItZGRmLmMKLUBAIC0yODQ2LDYgKzI4NDYsOSBAQCBzdGF0aWMgdm9pZCBfc2V0X2NvbmZpZ19zaXplKHN0cnVjdCBwaHlzX2Rpc2tfZW50cnkgKnBkZSwgY29uc3Qgc3RydWN0IGRsICpkbCkKLSAJCSh1bnNpZ25lZCBsb25nIGxvbmcpY2ZzLCAodW5zaWduZWQgbG9uZyBsb25nKShkbC0+c2l6ZS1jZnMpKTsKLSB9Ci0gCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC1vdmVyZmxvdyIKLSsKLSAvKiBBZGQgYSBkZXZpY2UgdG8gYSBjb250YWluZXIsIGVpdGhlciB3aGlsZSBjcmVhdGluZyBpdCBvciB3aGlsZQotICAqIGV4cGFuZGluZyBhIHByZS1leGlzdGluZyBjb250YWluZXIKLSAgKi8KLUBAIC0yOTgxLDYgKzI5ODQsNyBAQCBzdGF0aWMgaW50IGFkZF90b19zdXBlcl9kZGYoc3RydWN0IHN1cGVydHlwZSAqc3QsCi0gCi0gCXJldHVybiAwOwotIH0KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAotIAotIHN0YXRpYyBpbnQgcmVtb3ZlX2Zyb21fc3VwZXJfZGRmKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBtZHVfZGlza19pbmZvX3QgKmRrKQotIHsKLWRpZmYgLS1naXQgYS9zdXBlci1pbnRlbC5jIGIvc3VwZXItaW50ZWwuYwotaW5kZXggMDBhMjkyNS4uNDRmYmVhZCAxMDA2NDQKLS0tLSBhL3N1cGVyLWludGVsLmMKLSsrKyBiL3N1cGVyLWludGVsLmMKLUBAIC0yOTgsNiArMjk4LDExIEBAIHN0cnVjdCBtZF9saXN0IHsKLSB9OwotIAotICNkZWZpbmUgcHJfdnJiKGZtdCwgYXJnLi4uKSAodm9pZCkgKHZlcmJvc2UgJiYgcHJfZXJyKGZtdCwgIyNhcmcpKQotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyMgaWYgX19HTlVDX18gPT0gOAotKyMgcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKLSsjIGVuZGlmCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2Zvcm1hdC10cnVuY2F0aW9uIgotIAotIHN0YXRpYyBfX3U4IG1pZ3JfdHlwZShzdHJ1Y3QgaW1zbV9kZXYgKmRldikKLSB7Ci1AQCAtMTE2MTgsMyArMTE2MjMsNCBAQCBzdHJ1Y3Qgc3VwZXJzd2l0Y2ggc3VwZXJfaW1zbSA9IHsKLSAJLmdldF9iYWRfYmxvY2tzICAgPSBpbXNtX2dldF9iYWRibG9ja3MsCi0gI2VuZGlmIC8qIE1EQVNTRU1CTEUgKi8KLSB9OwotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi1kaWZmIC0tZ2l0IGEvc3VwZXIxLmMgYi9zdXBlcjEuYwotaW5kZXggODdhNzRjYi4uNzFjNTE1ZiAxMDA2NDQKLS0tLSBhL3N1cGVyMS5jCi0rKysgYi9zdXBlcjEuYwotQEAgLTEwOTEsNiArMTA5MSwxMCBAQCBzdGF0aWMgc3RydWN0IG1kaW5mbyAqY29udGFpbmVyX2NvbnRlbnQxKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpzdWJhcnJheSkKLSAJcmV0dXJuIGluZm87Ci0gfQotIAotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotKyMgaWYgX19HTlVDX18gPT0gOAotKyMgcHJhZ21hIEdDQyBkaWFnbm9zdGljIGlnbm9yZWQgIi1Xc3RyaW5nb3AtdHJ1bmNhdGlvbiIKLSsjZW5kaWYKLSBzdGF0aWMgaW50IHVwZGF0ZV9zdXBlcjEoc3RydWN0IHN1cGVydHlwZSAqc3QsIHN0cnVjdCBtZGluZm8gKmluZm8sCi0gCQkJIGNoYXIgKnVwZGF0ZSwKLSAJCQkgY2hhciAqZGV2bmFtZSwgaW50IHZlcmJvc2UsCi1AQCAtMTQ3Myw2ICsxNDc3LDcgQEAgc3RhdGljIGludCBpbml0X3N1cGVyMShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgbWR1X2FycmF5X2luZm9fdCAqaW5mbywKLSAKLSAJcmV0dXJuIDE7Ci0gfQotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0gCi0gc3RydWN0IGRldmluZm8gewotIAlpbnQgZmQ7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCmluZGV4IGE4OTE2MTQuLjI5OGYyNzYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAxZjViYWYzYWQ5NWFlNGMzOWVmZTRkOGFkOGIyZTY0MmIzYTM1MWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBhOTE2NmJmNDIyZGExMDAxYmFjOWNjODE5Mzg2YmYzOWI3Y2QxYjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIERhdGU6IFR1ZSwgOSBGZWIgMjAxNiAxMTo0NDowMSArMDIwMAogU3ViamVjdDogW1BBVENIXSBGaXggdGhlIHBhdGggb2YgY29yb3N5bmMgYW5kIGRsbSBoZWFkZXIgZmlsZXMgY2hlY2sKQEAgLTksMjggKzksMTggQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbWW9jdG8gc3BlY2lmaWNdCiAKIFNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgotLS0tCi1tZGFkbSBvbmx5IHdvcmtzIHdpdGggY29yb3N5bmMgMi54IHdoaWNoIHByb3ZpZGVzIGhlYWRlciBmaWxlIGNvcm9zeW5jL2NtYXAuaC4KLUlmIGJ1aWxkIG1kYWRtIHdpdGggY29yb3N5bmMgMS54LCBpdCBmYWlscyB3aXRoOgogCi18IG1lbWJlci5jOjEyOjI3OiBmYXRhbCBlcnJvcjogY29yb3N5bmMvY21hcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci18ICAjaW5jbHVkZSA8Y29yb3N5bmMvY21hcC5oPgotfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi0KLUJ1aWxkIHdpdGggY29yb3N5bmMgb25seSBoZWFkZXIgZmlsZSBjb3Jvc3luYy9jbWFwLmggZXhpc3RzLgotCi1TaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIC0tLQogIE1ha2VmaWxlIHwgNCArKy0tCiAgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IGZkNzljZmIuLjM0MTUwYTkgMTAwNjQ0CitpbmRleCAyNzY3YWM2Li40NmJmNTdiIDEwMDY0NAogLS0tIGEvTWFrZWZpbGUKICsrKyBiL01ha2VmaWxlCi1AQCAtODAsOCArODAsOCBAQCBNRE1PTl9ESVIgPSAkKFJVTl9ESVIpCi0gRkFJTEVEX1NMT1RTX0RJUiA9ICQoUlVOX0RJUikvZmFpbGVkLXNsb3RzCitAQCAtOTEsOCArOTEsOCBAQCBGQUlMRURfU0xPVFNfRElSID0gJChSVU5fRElSKS9mYWlsZWQtc2xvdHMKICBTWVNURU1EX0RJUj0vbGliL3N5c3RlbWQvc3lzdGVtCisgTElCX0RJUj0vdXNyL2xpYmV4ZWMvbWRhZG0KICAKIC1DT1JPU1lOQzo9JChzaGVsbCBbIC1kIC91c3IvaW5jbHVkZS9jb3Jvc3luYyBdIHx8IGVjaG8gLUROT19DT1JPU1lOQykKIC1ETE06PSQoc2hlbGwgWyAtZiAvdXNyL2luY2x1ZGUvbGliZGxtLmggXSB8fCBlY2hvIC1ETk9fRExNKQpAQCAtMzksNiArMjksMyBAQAogIAogIERJUkZMQUdTID0gLURNQVBfRElSPVwiJChNQVBfRElSKVwiIC1ETUFQX0ZJTEU9XCIkKE1BUF9GSUxFKVwiCiAgRElSRkxBR1MgKz0gLURNRE1PTl9ESVI9XCIkKE1ETU9OX0RJUilcIgotLS0gCi0yLjQuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2gKaW5kZXggYTRiN2I4YS4uMTJiZjZhNSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtVXNlLUNDLXRvLWNoZWNrLWZvci1pbXBsaWNpdC1mYWxsdGhyb3VnaC13YXJuaW5nLXN1cC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYTEyOWVlNmQ4MGYzYjJjZGEwZDgyN2MzNWZhODFhNTE3Y2Y2ZDUwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzdjMzVmOTRkOWQ5NWRiZDJiNWY4YTkxOWY1NDc4YmU1MTQ1MzU5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBGcmksIDEzIE9jdCAyMDE3IDEwOjI3OjM0IC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIFVzZSBDQyB0byBjaGVjayBmb3IgaW1wbGljaXQtZmFsbHRocm91Z2ggd2FybmluZyBzdXBwb3J0CkBAIC04LDE2ICs4LDE2IEBACiBjcm9zcyBjb21waWxlIHVzZWQgZm9yIGNvbXBpbGluZyBtZGFkbSBpcyA8IHZlcnNpb24gNwogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQogIE1ha2VmaWxlIHwgMiArLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQotaW5kZXggZDIwN2VlNC4uOTcxZjI1NSAxMDA2NDQKK2luZGV4IDQ2YmY1N2IuLmEwNzU5MTIgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZQogKysrIGIvTWFrZWZpbGUKLUBAIC00OCw3ICs0OCw3IEBAIGlmZGVmIFdBUk5fVU5VU0VECitAQCAtNTMsNyArNTMsNyBAQCBpZmRlZiBXQVJOX1VOVVNFRAogIENXRkxBR1MgKz0gLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLU8zCiAgZW5kaWYKICAKQEAgLTI2LDYgKzI2LDMgQEAKICBpZm5lcSAiJChGQUxMVEhST1VHSCkiICAiMCIKICBDV0ZMQUdTICs9IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9MAogIGVuZGlmCi0tLSAKLTIuMTQuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLWZpeC1nY2MtOC1mb3JtYXQtdHJ1bmNhdGlvbi13YXJuaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTljOGNjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1maXgtZ2NjLTgtZm9ybWF0LXRydW5jYXRpb24td2FybmluZy5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDMxNThkMzc4OGMyZTBmYjc1YWNlMmM4OTg0MGJkOGE5NzdmYjRjYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE0IERlYyAyMDE4IDE1OjEyOjMxICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBnY2MtOCBmb3JtYXQtdHJ1bmNhdGlvbiB3YXJuaW5nCisKK1doaWxlIGNvbXBpbGluZyB3aXRoIGAtV2Vycm9yPWZvcm1hdC10cnVuY2F0aW9uPScsIGl0IGZhaWxlZAorW3NuaXBdCit8c3VwZXIwLmM6MjM2OjMyOiBlcnJvcjogJ3NucHJpbnRmJyBvdXRwdXQgbWF5IGJlIHRydW5jYXRlZAorYmVmb3JlIHRoZSBsYXN0IGZvcm1hdCBjaGFyYWN0ZXIgWy1XZXJyb3I9Zm9ybWF0LXRydW5jYXRpb249XQorfCAgIHNucHJpbnRmKG5iLCBzaXplb2YobmIpLCAiJTRkIiwgZCk7Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCit8c3VwZXIwLmM6MjM2OjM6IG5vdGU6ICdzbnByaW50Zicgb3V0cHV0IGJldHdlZW4gNSBhbmQgMTIgYnl0ZXMKK2ludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDExCit8ICAgc25wcmludGYobmIsIHNpemVvZihuYiksICIlNGQiLCBkKTsKK1tzbmlwXQorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRodWIuY29tL25laWxicm93bi9tZGFkbS9wdWxsLzM0XQorCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBzdXBlcjAuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKK2luZGV4IDc1NmNhYjUuLjEyYzI4ZGEgMTAwNjQ0CistLS0gYS9zdXBlcjAuYworKysrIGIvc3VwZXIwLmMKK0BAIC0yMjksNyArMjI5LDcgQEAgc3RhdGljIHZvaWQgZXhhbWluZV9zdXBlcjAoc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKmhvbWVob3N0KQorIAkgICAgIGQrKykgeworIAkJbWRwX2Rpc2tfdCAqZHA7CisgCQljaGFyICpkdjsKKy0JCWNoYXIgbmJbMTFdOworKwkJY2hhciBuYlsxMl07CisgCQlpbnQgd29ubHksIGZhaWxmYXN0OworIAkJaWYgKGQ+PTApIGRwID0gJnNiLT5kaXNrc1tkXTsKKyAJCWVsc2UgZHAgPSAmc2ItPnRoaXNfZGlzazsKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW50aW9ucy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtaW5jbHVkZS1zeXMtc3lzbWFjcm9zLmgtZm9yLW1ham9yLW1pbm9yLWRlZmludGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZDY0YWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1pbmNsdWRlLXN5cy1zeXNtYWNyb3MuaC1mb3ItbWFqb3ItbWlub3ItZGVmaW50aW9ucy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLUZyb20gOTQzNjE2ZTVkZmZiNzlmMzA3ZTRiZDliMjQ5ZDMxNjIxMjk5ODc1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDE4IERlYyAyMDE2IDA4OjMwOjUxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGluY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4gZm9yIG1ham9yL21pbm9yIGRlZmludGlvbnMKLQotZ2xpYmMgMi4yNSBpcyB3YXJuaW5nIGFib3V0IGl0IGlmIGFwcGxpY2F0aW9ucyBkZXBlbmQgb24KLXN5cy90eXBlcy5oIGZvciB0aGVzZSBtYWNyb3MsIGl0IGV4cGVjdHMgdG8gYmUgaW5jbHVkZWQKLWZyb20gPHN5cy9zeXNtYWNyb3MuaD4KLQotRml4ZXMKLXwgR3Jvdy5jOjM1MzQ6MTM6IGVycm9yOiBJbiB0aGUgR05VIEMgTGlicmFyeSwgIm1pbm9yIiBpcyBkZWZpbmVkCi18ICBieSA8c3lzL3N5c21hY3Jvcy5oPi4gRm9yIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSwgaXQgaXMKLXwgIGN1cnJlbnRseSBkZWZpbmVkIGJ5IDxzeXMvdHlwZXMuaD4gYXMgd2VsbCwgYnV0IHdlIHBsYW4gdG8KLXwgIHJlbW92ZSB0aGlzIHNvb24uIFRvIHVzZSAibWlub3IiLCBpbmNsdWRlIDxzeXMvc3lzbWFjcm9zLmg+Ci18ICBkaXJlY3RseS4gSWYgeW91IGRpZCBub3QgaW50ZW5kIHRvIHVzZSBhIHN5c3RlbS1kZWZpbmVkIG1hY3JvCi18ICAibWlub3IiLCB5b3Ugc2hvdWxkIHVuZGVmaW5lIGl0IGFmdGVyIGluY2x1ZGluZyA8c3lzL3R5cGVzLmg+LiBbLVdlcnJvcl0KLXwgUXVlcnkuYzogSW4gZnVuY3Rpb24gJ1F1ZXJ5JzoKLXwgUXVlcnkuYzoxMDU6MTM6IGVycm9yOiBJbiB0aGUgR05VIEMgTGlicmFyeSwgIm1ha2VkZXYiIGlzIGRlZmluZWQKLXwgIGJ5IDxzeXMvc3lzbWFjcm9zLmg+LiBGb3IgaGlzdG9yaWNhbCBjb21wYXRpYmlsaXR5LCBpdCBpcwotfCAgY3VycmVudGx5IGRlZmluZWQgYnkgPHN5cy90eXBlcy5oPiBhcyB3ZWxsLCBidXQgd2UgcGxhbiB0bwotfCAgcmVtb3ZlIHRoaXMgc29vbi4gVG8gdXNlICJtYWtlZGV2IiwgaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotfCAgZGlyZWN0bHkuIElmIHlvdSBkaWQgbm90IGludGVuZCB0byB1c2UgYSBzeXN0ZW0tZGVmaW5lZCBtYWNybwotfCAgIm1ha2VkZXYiLCB5b3Ugc2hvdWxkIHVuZGVmaW5lIGl0IGFmdGVyIGluY2x1ZGluZyA8c3lzL3R5cGVzLmg+LiBbLVdlcnJvcl0KLXwgICAgICAgICAgIG1ha2VkZXYoKHVuc2lnbmVkKWRpc2MubWFqb3IsKHVuc2lnbmVkKWRpc2MubWlub3IpID09IHN0Yi5zdF9yZGV2KQotfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gbWRhZG0uaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvbWRhZG0uaCBiL21kYWRtLmgKLWluZGV4IDhjOGY0ZDEuLjNjZTEzYjUgMTAwNzU1Ci0tLS0gYS9tZGFkbS5oCi0rKysgYi9tZGFkbS5oCi1AQCAtMzQsNiArMzQsNyBAQCBleHRlcm4gX19vZmY2NF90IGxzZWVrNjQgX19QICgoaW50IF9fZmQsIF9fb2ZmNjRfdCBfX29mZnNldCwgaW50IF9fd2hlbmNlKSk7Ci0gI2VuZGlmCi0gCi0gI2luY2x1ZGUJPHN5cy90eXBlcy5oPgotKyNpbmNsdWRlCTxzeXMvc3lzbWFjcm9zLmg+Ci0gI2luY2x1ZGUJPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUJPHN0ZGludC5oPgotICNpbmNsdWRlCTxzdGRsaWIuaD4KLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS1BZGQtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTAtaW4tTWFrZWZpbGUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLUFkZC1XaW1wbGljaXQtZmFsbHRocm91Z2gtMC1pbi1NYWtlZmlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2UxNTE3MC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLUFkZC1XaW1wbGljaXQtZmFsbHRocm91Z2gtMC1pbi1NYWtlZmlsZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gYWEwOWFmMGZlMmVjMDczN2ZhMDRmZmQwMDk1NzUzMjY4NGUyNTdiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNyBNYXIgMjAxNyAxOTo1NTo0MiArMDgwMAotU3ViamVjdDogW1BBVENIIDEvNV0gbWRhZG06IEFkZCBXaW1wbGljaXQtZmFsbHRocm91Z2g9MCBpbiBNYWtlZmlsZQotCi1UaGVyZSBhcmUgbWFueSBlcnJvcnMgbGlrZSAnZXJyb3I6IHRoaXMgc3RhdGVtZW50IG1heSBmYWxsIHRocm91Z2gnLgotQnV0IHRoZSBsb2dpYyBpcyByaWdodC4gU28gYWRkIHRoZSBmbGFnIFdpbXBsaWNpdC1mYWxsdGhyb3VnaD0wCi10byBkaXNhYmxlIHRoZSBlcnJvciBtZXNzYWdlcy4gVGhlIG1ldGhvZCBJIHVzZSBpcyBmcm9tCi1odHRwczovL2djYy5nbnUub3JnL29ubGluZWRvY3MvZ2NjL1dhcm5pbmctT3B0aW9ucy5odG1sCi0jaW5kZXgtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTM3NQotCi1TaWduZWQtb2ZmLWJ5OiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLVNpZ25lZC1vZmYtYnk6IEplcyBTb3JlbnNlbiA8SmVzLlNvcmVuc2VuQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotIE1ha2VmaWxlIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKLWluZGV4IDBmMzA3ZWMuLmUxYTcwNTggMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZQotKysrIGIvTWFrZWZpbGUKLUBAIC00OCw2ICs0OCwxMSBAQCBpZmRlZiBXQVJOX1VOVVNFRAotIENXRkxBR1MgKz0gLVdwLC1EX0ZPUlRJRllfU09VUkNFPTIgLU8zCi0gZW5kaWYKLSAKLStGQUxMVEhST1VHSCA6PSAkKHNoZWxsIGdjYyAtdiAtLWhlbHAgMj4mMSB8IGdyZXAgImltcGxpY2l0LWZhbGx0aHJvdWdoIiB8IHdjIC1sKQotK2lmbmVxICIkKEZBTExUSFJPVUdIKSIgICIwIgotK0NXRkxBR1MgKz0gLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD0wCi0rZW5kaWYKLSsKLSBpZmRlZiBERUJJQU4KLSBDUFBGTEFHUyArPSAtRERFQklBTgotIGVuZGlmCi0tLSAKLTIuMTIuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLWdjYzgtbWF5YmUtdW5pbml0aWFsaXplZC1mb3JtYXQtb3ZlcmZsb3ctd2FybmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM3ZjgzYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0tZ2NjOC1tYXliZS11bmluaXRpYWxpemVkLWZvcm1hdC1vdmVyZmxvdy13YXJuaS5wYXRjaApAQCAtMCwwICsxLDYwIEBACitGcm9tIGJmNDU3YTgzODM0OTMyYmEwNmRlMzUyOGI4Nzc5YTAyM2U3M2ZhN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVHVlLCAxMiBNYXIgMjAxOSAxNjoxNzoyOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBtZGFkbTogZ2NjOCBtYXliZS11bmluaXRpYWxpemVkL2Zvcm1hdC1vdmVyZmxvdyB3YXJuaW5nCisKK3doaWxlIGNvbXBpbGVkIHdpdGggLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkLy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PSwKK2l0IGZhaWxlZAorCitbc25pcF0KK3wgSW5jcmVtZW50YWwuYzogSW4gZnVuY3Rpb24gJ0luY3JlbWVudGFsX2NvbnRhaW5lcic6Cit8IEluY3JlbWVudGFsLmM6MTU5MzozOiBlcnJvcjogJ21kZmQnIG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbiBbLVdlcnJvcj1tYXliZS11bmluaXRpYWxpemVkXQorfCBjbG9zZShtZGZkKTsKK3wgXn5+fn5+fn5+fn4KKworW3NuaXBdCitzdXBlci1pbnRlbC5jOiBJbiBmdW5jdGlvbiAnYXBwbHlfdGFrZW92ZXJfdXBkYXRlJzoKK3wgc3VwZXItaW50ZWwuYzo5NjE1OjE1OiBlcnJvcjogJyVkJyBkaXJlY3RpdmUgd3JpdGluZyBiZXR3ZWVuIDEgYW5kIDExIGJ5dGVzIGludG8gYSByZWdpb24gb2Ygc2l6ZSA3IFstV2Vycm9yPWZvcm1hdC1vdmVyZmxvdz1dCit8ICIgTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7Cit8IF5+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbmVpbGJyb3duL21kYWRtL3B1bGwvMzZdCisKK1NpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CistLS0KKyBJbmNyZW1lbnRhbC5jIHwgMiArLQorIHN1cGVyLWludGVsLmMgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL0luY3JlbWVudGFsLmMgYi9JbmNyZW1lbnRhbC5jCitpbmRleCBhNGZmN2Q0Li5iNjY3ODY4IDEwMDY0NAorLS0tIGEvSW5jcmVtZW50YWwuYworKysrIGIvSW5jcmVtZW50YWwuYworQEAgLTE1MDAsNyArMTUwMCw3IEBAIHN0YXRpYyBpbnQgSW5jcmVtZW50YWxfY29udGFpbmVyKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBjaGFyICpkZXZuYW1lLAorIAkJcmV0dXJuIDA7CisgCX0KKyAJZm9yIChyYSA9IGxpc3QgOyByYSA7IHJhID0gcmEtPm5leHQpIHsKKy0JCWludCBtZGZkOworKwkJaW50IG1kZmQgPSAwOworIAkJY2hhciBjaG9zZW5fbmFtZVsxMDI0XTsKKyAJCXN0cnVjdCBtYXBfZW50ICptcDsKKyAJCXN0cnVjdCBtZGRldl9pZGVudCAqbWF0Y2ggPSBOVUxMOworZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCitpbmRleCAxMGQ3MjE4Li5jMzc0MWVhIDEwMDY0NAorLS0tIGEvc3VwZXItaW50ZWwuYworKysrIGIvc3VwZXItaW50ZWwuYworQEAgLTk2MTIsOSArOTYxMiw5IEBAIHN0YXRpYyBpbnQgYXBwbHlfdGFrZW92ZXJfdXBkYXRlKHN0cnVjdCBpbXNtX3VwZGF0ZV90YWtlb3ZlciAqdSwKKyAJCQlkdS0+bWFqb3IgPSAwOworIAkJCWR1LT5pbmRleCA9IChpICogMikgKyAxOworIAkJCXNwcmludGYoKGNoYXIgKilkdS0+ZGlzay5zZXJpYWwsCistCQkJCSIgTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7CisrCQkJCSIgTUlTU0lOR18laHUiLCBkdS0+aW5kZXgpOworIAkJCXNwcmludGYoKGNoYXIgKilkdS0+c2VyaWFsLAorLQkJCQkiTUlTU0lOR18lZCIsIGR1LT5pbmRleCk7CisrCQkJCSJNSVNTSU5HXyVodSIsIGR1LT5pbmRleCk7CisgCQkJZHUtPm5leHQgPSBzdXBlci0+bWlzc2luZzsKKyAJCQlzdXBlci0+bWlzc2luZyA9IGR1OworIAkJfQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCmluZGV4IDRjZjgwOTIuLmExZTdlNTkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA2ZDM2OWU4ZjIyNjU5NDYzMmNlNDI2MDEyOTUwOWRhZjcwMzBkZTBhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBiNDMxY2I0ZTFlZDA2MDEyMmZhMzAwZGMwMDA4Zjc0MDgwZDM4ZjczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IE1vbiwgOSBNYXkgMjAxNiAyMjowMzo1NyArMDAwMAogU3ViamVjdDogW1BBVENIXSBtZGFkbS5oOiBVbmRlZmluZSBkcHJpbnRmIGJlZm9yZSByZWRlZmluaW5nCkBAIC0xNCwxNyArMTQsMTYgQEAKIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaDoxNDU6MTI6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQogCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQorLS0tCiAgbWRhZG0uaCB8IDIgKysKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9tZGFkbS5oIGIvbWRhZG0uaAotaW5kZXggMjMwZTYwZi4uOGM4ZjRkMSAxMDA3NTUKK2luZGV4IDM4N2U2ODEuLmJiOTQzYmYgMTAwNjQ0CiAtLS0gYS9tZGFkbS5oCiArKysgYi9tZGFkbS5oCi1AQCAtMTU1NCwxMSArMTU1NCwxMyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKnRvX3N1YmFycmF5KHN0cnVjdCBtZHN0YXRfZW50ICplbnQsIGNoYXIgKmNvbnRhaW5lcikKK0BAIC0xNjQ5LDExICsxNjQ5LDEzIEBAIHN0YXRpYyBpbmxpbmUgY2hhciAqdG9fc3ViYXJyYXkoc3RydWN0IG1kc3RhdF9lbnQgKmVudCwgY2hhciAqY29udGFpbmVyKQogIH0KICAKICAjaWZkZWYgREVCVUcKQEAgLTM4LDYgKzM3LDMgQEAKICAjZGVmaW5lIGRwcmludGYoZm10LCBhcmcuLi4pIFwKICAgICAgICAgICh7IGlmICgwKSBmcHJpbnRmKHN0ZGVyciwgIiVzOiAlczogIiBmbXQsIE5hbWUsIF9fZnVuY19fLCAjI2FyZyk7IDA7IH0pCiAgI2RlZmluZSBkcHJpbnRmX2NvbnQoZm10LCBhcmcuLi4pIFwKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS11c2UtbWVtbW92ZS1pbnN0ZWFkLW9mLW1lbWNweS1vbi1vdmVybGFwcGluZy1yZWdpb24ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLXVzZS1tZW1tb3ZlLWluc3RlYWQtb2YtbWVtY3B5LW9uLW92ZXJsYXBwaW5nLXJlZ2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQzNTFiNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLXVzZS1tZW1tb3ZlLWluc3RlYWQtb2YtbWVtY3B5LW9uLW92ZXJsYXBwaW5nLXJlZ2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gYWIxOGYwNGNmODllZjRlODUyMWM4MWM1MDQ3N2UxMzYzYjJkMzMzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDI4IEFwciAyMDE4IDA5OjQ2OjEyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIHVzZSBtZW1tb3ZlIGluc3RlYWQgb2YgbWVtY3B5IG9uIG92ZXJsYXBwaW5nIHJlZ2lvbgotCi1GaXhlcwotc3VwZXIwLmM6NTI2OjM6IGVycm9yOiAnbWVtY3B5JyBhY2Nlc3NpbmcgMzkzNiBieXRlcyBhdCBvZmZzZXRzIDE1NiBhbmQgMTYwIG92ZXJsYXBzIDM5MzIgYnl0ZXMgYXQgb2Zmc2V0IDE2MCBbLVdlcnJvcj1yZXN0cmljdF0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBzdXBlcjAuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKLWluZGV4IGY1YjQ1MDcuLjI2NGI1OTggMTAwNjQ0Ci0tLS0gYS9zdXBlcjAuYwotKysrIGIvc3VwZXIwLmMKLUBAIC01MjMsNyArNTIzLDcgQEAgc3RhdGljIGludCB1cGRhdGVfc3VwZXIwKHN0cnVjdCBzdXBlcnR5cGUgKnN0LCBzdHJ1Y3QgbWRpbmZvICppbmZvLAotIAkJICogdXAgNCBieXRlcyBiZWZvcmUgY29udGludWluZwotIAkJICovCi0gCQlfX3UzMiAqc2IzMiA9IChfX3UzMiopc2I7Ci0tCQltZW1jcHkoc2IzMitNRF9TQl9HRU5FUklDX0NPTlNUQU5UX1dPUkRTKzcsCi0rCQltZW1tb3ZlKHNiMzIrTURfU0JfR0VORVJJQ19DT05TVEFOVF9XT1JEUys3LAotIAkJICAgICAgIHNiMzIrTURfU0JfR0VORVJJQ19DT05TVEFOVF9XT1JEUys3KzEsCi0gCQkgICAgICAgKE1EX1NCX1dPUkRTIC0gKE1EX1NCX0dFTkVSSUNfQ09OU1RBTlRfV09SRFMrNysxKSkqNCk7Ci0gCQlpZiAodmVyYm9zZSA+PSAwKQotLS0gCi0yLjE3LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMi1tZGFkbS1TcGVjaWZ5LWVub3VnaC1sZW5ndGgtd2hlbi13cml0ZS10by1idWZmZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAyLW1kYWRtLVNwZWNpZnktZW5vdWdoLWxlbmd0aC13aGVuLXdyaXRlLXRvLWJ1ZmZlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2JjZTA1My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAyLW1kYWRtLVNwZWNpZnktZW5vdWdoLWxlbmd0aC13aGVuLXdyaXRlLXRvLWJ1ZmZlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc1ICswLDAgQEAKLUZyb20gYmI0ZGYyNzMwNDFiYTIwNjAwOGJkYjBhZGE3NWNjZDk3YzI5ZjYyMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxNyBNYXIgMjAxNyAxOTo1NTo0MyArMDgwMAotU3ViamVjdDogW1BBVENIIDIvNV0gbWRhZG06IFNwZWNpZnkgZW5vdWdoIGxlbmd0aCB3aGVuIHdyaXRlIHRvIGJ1ZmZlcgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1JbiBEZXRhaWwuYyB0aGUgYnVmZmVyIHBhdGggaW4gZnVuY3Rpb24gRGV0YWlsIGlzIGRlZmluZWQgYXMgcGF0aFsyMDBdLAotaW4gZmFjdCB0aGUgbWF4IGxlbnRoIG9mIGNvbnRlbnQgd2hpY2ggbmVlZHMgdG8gd3JpdGUgdG8gdGhlIGJ1ZmZlciBpcwotMjg3LiBCZWNhdXNlIHRoZSBsZW5ndGggb2YgZG5hbWUgb2Ygc3RydWN0IGRpcmVudCBpcyAyNTUuCi1EdXJpbmcgYnVpbGRpbmcgaXQgcmVwb3J0cyBlcnJvcjoKLWVycm9yOiDigJglc+KAmSBkaXJlY3RpdmUgd3JpdGluZyB1cCB0byAyNTUgYnl0ZXMgaW50byBhIHJlZ2lvbiBvZiBzaXplIDE4OQotWy1XZXJyb3I9Zm9ybWF0LW92ZXJmbG93PV0KLQotSW4gZnVuY3Rpb24gZXhhbWluZV9zdXBlcjAgdGhlcmUgaXMgYSBidWZmZXIgbmIgd2l0aCBsZW5ndGggNS4KLUJ1dCBpdCBuZWVkIHRvIHNob3cgYSBpbnQgdHlwZSBhcmd1bWVudC4gVGhlIGxlbmdodCBvZiBtYXgKLW51bWJlciBvZiBpbnQgaXMgMTAuIFNvIHRoZSBidWZmZXIgbGVuZ3RoIHNob3VsZCBiZSAxMS4KLQotSW4gaHVtYW5fc2l6ZSBmdW5jdGlvbiB0aGUgbGVuZ3RoIG9mIGJ1ZiBpcyAzMC4gRHVyaW5nIGJ1aWxkaW5nCi10aGVyZSBpcyBhIGVycm9yOgotb3V0cHV0IGJldHdlZW4gMjAgYW5kIDQ3IGJ5dGVzIGludG8gYSBkZXN0aW5hdGlvbiBvZiBzaXplIDMwLgotQ2hhbmdlIHRoZSBsZW5ndGggdG8gNDcuCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gRGV0YWlsLmMgfCAyICstCi0gc3VwZXIwLmMgfCAyICstCi0gdXRpbC5jICAgfCAyICstCi0gMyBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9EZXRhaWwuYyBiL0RldGFpbC5jCi1pbmRleCA1MDliMGQ0Li5jYjMzNzk0IDEwMDY0NAotLS0tIGEvRGV0YWlsLmMKLSsrKyBiL0RldGFpbC5jCi1AQCAtNTc1LDcgKzU3NSw3IEBAIFRoaXMgaXMgcHJldHR5IGJvcmluZwotIAkJCXByaW50ZigiICBNZW1iZXIgQXJyYXlzIDoiKTsKLSAKLSAJCQl3aGlsZSAoZGlyICYmIChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgewotLQkJCQljaGFyIHBhdGhbMjAwXTsKLSsJCQkJY2hhciBwYXRoWzI4N107Ci0gCQkJCWNoYXIgdmJ1ZlsxMDI0XTsKLSAJCQkJaW50IG5sZW4gPSBzdHJsZW4oc3JhLT5zeXNfbmFtZSk7Ci0gCQkJCWRldl90IGRldmlkOwotZGlmZiAtLWdpdCBhL3N1cGVyMC5jIGIvc3VwZXIwLmMKLWluZGV4IDkzOGNmZDkuLmY1YjQ1MDcgMTAwNjQ0Ci0tLS0gYS9zdXBlcjAuYwotKysrIGIvc3VwZXIwLmMKLUBAIC0yMzEsNyArMjMxLDcgQEAgc3RhdGljIHZvaWQgZXhhbWluZV9zdXBlcjAoc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKmhvbWVob3N0KQotIAkgICAgIGQrKykgewotIAkJbWRwX2Rpc2tfdCAqZHA7Ci0gCQljaGFyICpkdjsKLS0JCWNoYXIgbmJbNV07Ci0rCQljaGFyIG5iWzExXTsKLSAJCWludCB3b25seSwgZmFpbGZhc3Q7Ci0gCQlpZiAoZD49MCkgZHAgPSAmc2ItPmRpc2tzW2RdOwotIAkJZWxzZSBkcCA9ICZzYi0+dGhpc19kaXNrOwotZGlmZiAtLWdpdCBhL3V0aWwuYyBiL3V0aWwuYwotaW5kZXggZjEwMDk3Mi4uMzJiZDkwOSAxMDA2NDQKLS0tLSBhL3V0aWwuYwotKysrIGIvdXRpbC5jCi1AQCAtODExLDcgKzgxMSw3IEBAIHVuc2lnbmVkIGxvbmcgY2FsY19jc3VtKHZvaWQgKnN1cGVyLCBpbnQgYnl0ZXMpCi0gI2lmbmRlZiBNREFTU0VNQkxFCi0gY2hhciAqaHVtYW5fc2l6ZShsb25nIGxvbmcgYnl0ZXMpCi0gewotLQlzdGF0aWMgY2hhciBidWZbMzBdOwotKwlzdGF0aWMgY2hhciBidWZbNDddOwotIAotIAkvKiBXZSBjb252ZXJ0IGJ5dGVzIHRvIGVpdGhlciBjZW50aS1Ne2VnYSxpYml9Ynl0ZXMgb3IKLSAJICogY2VudGktR3tpZ2ksaWJpfWJ5dGVzLCB3aXRoIGFwcHJvcHJpYXRlIHJvdW5kaW5nLAotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMy1SZXBsYWNlLXNucHJpbnRmLXdpdGgtc3RybmNweS1hdC1zb21lLXBsYWNlcy10by1hdm9pLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMy1SZXBsYWNlLXNucHJpbnRmLXdpdGgtc3RybmNweS1hdC1zb21lLXBsYWNlcy10by1hdm9pLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkY2VjODRmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gYmM4N2FmMTMxNDMyNWIwMGM2YWMwMDJhNjBhMmIwZjBjYWE4MWUzNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotRGF0ZTogU2F0LCAxOCBNYXIgMjAxNyAxMDozMzo0NCArMDgwMAotU3ViamVjdDogW1BBVENIIDMvNV0gUmVwbGFjZSBzbnByaW50ZiB3aXRoIHN0cm5jcHkgYXQgc29tZSBwbGFjZXMgdG8gYXZvaWQKLSB0cnVuY2F0aW9uCi0KLUluIGdjYzcgdGhlcmUgYXJlIHNvbWUgYnVpbGRpbmcgZXJyb3JzIGxpa2U6Ci1kaXJlY3RpdmUgb3V0cHV0IG1heSBiZSB0cnVuY2F0ZWQgd3JpdGluZyB1cCB0byAzMSBieXRlcyBpbnRvIGEgcmVnaW9uIG9mIHNpemUgMjQKLXNucHJpbnRmKHN0ciwgTVBCX1NJR19MRU4sICVzLCBtcGItPnNpZyk7Ci0KLUl0IGp1c3QgbmVlZCB0byBjb3B5IG9uZSBzdHJpbmcgdG8gdGFyZ2V0LiBTbyB1c2Ugc3RybmNweSB0byByZXBsYWNlIGl0LgotCi1Gb3IgdGhpcyBsaW5lIGNvZGU6IHNucHJpbnRmKHN0ciwgTVBCX1NJR19MRU4sICVzLCBtcGItPnNpZyk7Ci1CZWNhdXNlIG1wYi0+c2lnIGhhcyB0aGUgY29udGVudCBvZiB2ZXJzaW9uIGFmdGVyIG1hZ2ljLCBzbwotaXQncyBiZXR0ZXIgdG8gdXNlIHN0cm5jcHkgdG8gcmVwbGFjZSBzbnByaW50ZiB0b28uCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gc3VwZXItaW50ZWwuYyB8IDkgKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA1N2M3ZTc1Li41NDk5MDk4IDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTE4MTEsNyArMTgxMSw4IEBAIHN0YXRpYyB2b2lkIGV4YW1pbmVfc3VwZXJfaW1zbShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgY2hhciAqaG9tZWhvc3QpCi0gCV9fdTMyIHJlc2VydmVkID0gaW1zbV9yZXNlcnZlZF9zZWN0b3JzKHN1cGVyLCBzdXBlci0+ZGlza3MpOwotIAlzdHJ1Y3QgZGwgKmRsOwotIAotLQlzbnByaW50ZihzdHIsIE1QQl9TSUdfTEVOLCAiJXMiLCBtcGItPnNpZyk7Ci0rCXN0cm5jcHkoc3RyLCAoY2hhciAqKW1wYi0+c2lnLCBNUEJfU0lHX0xFTik7Ci0rCXN0cltNUEJfU0lHX0xFTi0xXSA9ICdcMCc7Ci0gCXByaW50ZigiICAgICAgICAgIE1hZ2ljIDogJXNcbiIsIHN0cik7Ci0gCXNucHJpbnRmKHN0ciwgc3RybGVuKE1QQl9WRVJTSU9OX1JBSUQwKSwgIiVzIiwgZ2V0X2ltc21fdmVyc2lvbihtcGIpKTsKLSAJcHJpbnRmKCIgICAgICAgIFZlcnNpb24gOiAlc1xuIiwgZ2V0X2ltc21fdmVyc2lvbihtcGIpKTsKLUBAIC03MTQyLDE0ICs3MTQzLDE2IEBAIHN0YXRpYyBpbnQgdXBkYXRlX3N1YmFycmF5X2ltc20oc3RydWN0IHN1cGVydHlwZSAqc3QsIGNoYXIgKnN1YmFycmF5LAotIAotIAkJCXUtPnR5cGUgPSB1cGRhdGVfcmVuYW1lX2FycmF5OwotIAkJCXUtPmRldl9pZHggPSB2b2w7Ci0tCQkJc25wcmludGYoKGNoYXIgKikgdS0+bmFtZSwgTUFYX1JBSURfU0VSSUFMX0xFTiwgIiVzIiwgbmFtZSk7Ci0rCQkJc3RybmNweSgoY2hhciAqKSB1LT5uYW1lLCBuYW1lLCBNQVhfUkFJRF9TRVJJQUxfTEVOKTsKLSsJCQl1LT5uYW1lW01BWF9SQUlEX1NFUklBTF9MRU4tMV0gPSAnXDAnOwotIAkJCWFwcGVuZF9tZXRhZGF0YV91cGRhdGUoc3QsIHUsIHNpemVvZigqdSkpOwotIAkJfSBlbHNlIHsKLSAJCQlzdHJ1Y3QgaW1zbV9kZXYgKmRldjsKLSAJCQlpbnQgaTsKLSAKLSAJCQlkZXYgPSBnZXRfaW1zbV9kZXYoc3VwZXIsIHZvbCk7Ci0tCQkJc25wcmludGYoKGNoYXIgKikgZGV2LT52b2x1bWUsIE1BWF9SQUlEX1NFUklBTF9MRU4sICIlcyIsIG5hbWUpOwotKwkJCXN0cm5jcHkoKGNoYXIgKikgZGV2LT52b2x1bWUsIG5hbWUsIE1BWF9SQUlEX1NFUklBTF9MRU4pOwotKwkJCWRldi0+dm9sdW1lW01BWF9SQUlEX1NFUklBTF9MRU4tMV0gPSAnXDAnOwotIAkJCWZvciAoaSA9IDA7IGkgPCBtcGItPm51bV9yYWlkX2RldnM7IGkrKykgewotIAkJCQlkZXYgPSBnZXRfaW1zbV9kZXYoc3VwZXIsIGkpOwotIAkJCQloYW5kbGVfbWlzc2luZyhzdXBlciwgZGV2KTsKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDQtbWRhZG0tRm9yY2VkLXR5cGUtY29udmVyc2lvbi10by1hdm9pZC10cnVuY2F0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwNC1tZGFkbS1Gb3JjZWQtdHlwZS1jb252ZXJzaW9uLXRvLWF2b2lkLXRydW5jYXRpb24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk0ZmRlNDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwNC1tZGFkbS1Gb3JjZWQtdHlwZS1jb252ZXJzaW9uLXRvLWF2b2lkLXRydW5jYXRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDVkYTg4OTAzMmUyZDk5NzUxZWQ5ZmU2MDAxNjE0NmU5YWU4MTE0Y2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KLURhdGU6IFNhdCwgMTggTWFyIDIwMTcgMTA6MzM6NDUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA0LzVdIG1kYWRtOiBGb3JjZWQgdHlwZSBjb252ZXJzaW9uIHRvIGF2b2lkIHRydW5jYXRpb24KLQotR2NjIHJlcG9ydHMgaXQgbmVlZHMgMTkgYnl0ZXMgdG8gcmlnaHQgdG8gZGlzay0+c2VyaWFsLiBCZWNhdXNlIHRoZQotdHlwZSBvZiBhcmd1bWVudCBpIGlzIGludC4gQnV0IHRoZSBtZWFuaW5nIG9mIGkgaXMgZmFpbGVkIGRpc2sKLW51bWJlci4gU28gaXQgZG9lc24ndCBuZWVkIHRvIHVzZSAxOSBieXRlcy4gIEp1c3QgYWRkIGEgdHlwZQotY29udmVyc2lvbiB0byBhdm9pZCB0aGlzIGJ1aWxkaW5nIGVycm9yCi0KLVNpZ25lZC1vZmYtYnk6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogSmVzIFNvcmVuc2VuIDxKZXMuU29yZW5zZW5AZ21haWwuY29tPgotLS0tCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0gc3VwZXItaW50ZWwuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA1NDk5MDk4Li40ZTQ2NmZmIDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTUyMjgsNyArNTIyOCw3IEBAIHN0YXRpYyBpbnQgaW5pdF9zdXBlcl9pbXNtX3ZvbHVtZShzdHJ1Y3Qgc3VwZXJ0eXBlICpzdCwgbWR1X2FycmF5X2luZm9fdCAqaW5mbywKLSAJCQlkaXNrLT5zdGF0dXMgPSBDT05GSUdVUkVEX0RJU0sgfCBGQUlMRURfRElTSzsKLSAJCQlkaXNrLT5zY3NpX2lkID0gX19jcHVfdG9fbGUzMih+KF9fdTMyKTApOwotIAkJCXNucHJpbnRmKChjaGFyICopIGRpc2stPnNlcmlhbCwgTUFYX1JBSURfU0VSSUFMX0xFTiwKLS0JCQkJICJtaXNzaW5nOiVkIiwgaSk7Ci0rCQkJCSAibWlzc2luZzolZCIsIChfX3U4KWkpOwotIAkJfQotIAkJZmluZF9taXNzaW5nKHN1cGVyKTsKLSAJfSBlbHNlIHsKLS0tIAotMi4xMi4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDUtQWRkLWEtY29tbWVudC10by1pbmRpY2F0ZS12YWxpZC1mYWxsdGhyb3VnaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDUtQWRkLWEtY29tbWVudC10by1pbmRpY2F0ZS12YWxpZC1mYWxsdGhyb3VnaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Q5ZDNiOS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjggKzAsMCBAQAotRnJvbSAwOTAxNDIzM2JmMTA5MDBmN2JkODM5MGIzYjY0ZmY4MmJjYTQ1MjIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMTkgQXByIDIwMTcgMTI6MDQ6MTUgLTA3MDAKLVN1YmplY3Q6IFtQQVRDSCA1LzVdIEFkZCBhIGNvbW1lbnQgdG8gaW5kaWNhdGUgdmFsaWQgZmFsbHRocm91Z2gKLQotZ2NjNyB3YXJucyBhYm91dCBjb2RlIHdpdGggZmFsbHRocm91Z2hzLCB0aGlzIHBhdGNoIGFkZHMKLXRoZSBjb21tZW50IHRvIGluZGljYXRlIGEgdmFsaWQgZmFsbHRocm91Z2gsIGhlbHBzIGdjYzcKLWNvbXBpbGVyIHdhcm5pbmdzCi0KLVRoaXMgd29ya3MgaW4gY3Jvc3MgYW5kIG5hdGl2ZSBjb21waWxhdGlvbiBjYXNlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi0KLSBHcm93LmMgICAgICAgIHwgNCArKysrCi0gYml0bWFwLmMgICAgICB8IDggKysrKysrKysKLSBtZGFkbS5jICAgICAgIHwgMiArKwotIHN1cGVyLWludGVsLmMgfCAxICsKLSB1dGlsLmMgICAgICAgIHwgMSArCi0gNSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9Hcm93LmMgYi9Hcm93LmMKLWluZGV4IDQ1NWM1ZjkuLjI3YzczYjEgMTAwNzU1Ci0tLS0gYS9Hcm93LmMKLSsrKyBiL0dyb3cuYwotQEAgLTEyNTcsNiArMTI1Nyw3IEBAIGNoYXIgKmFuYWx5c2VfY2hhbmdlKGNoYXIgKmRldm5hbWUsIHN0cnVjdCBtZGluZm8gKmluZm8sIHN0cnVjdCByZXNoYXBlICpyZSkKLSAJCXN3aXRjaCAoaW5mby0+bmV3X2xldmVsKSB7Ci0gCQljYXNlIDQ6Ci0gCQkJZGVsdGFfcGFyaXR5ID0gMTsKLSsJCQkvKiBmYWxsdGhyb3VnaCAqLwotIAkJY2FzZSAwOgotIAkJCXJlLT5sZXZlbCA9IDQ7Ci0gCQkJcmUtPmJlZm9yZS5sYXlvdXQgPSAwOwotQEAgLTEyODQsMTAgKzEyODUsMTIgQEAgY2hhciAqYW5hbHlzZV9jaGFuZ2UoY2hhciAqZGV2bmFtZSwgc3RydWN0IG1kaW5mbyAqaW5mbywgc3RydWN0IHJlc2hhcGUgKnJlKQotIAotIAljYXNlIDQ6Ci0gCQlpbmZvLT5hcnJheS5sYXlvdXQgPSBBTEdPUklUSE1fUEFSSVRZX047Ci0rCQkvKiBmYWxsdGhyb3VnaCAqLwotIAljYXNlIDU6Ci0gCQlzd2l0Y2ggKGluZm8tPm5ld19sZXZlbCkgewotIAkJY2FzZSAwOgotIAkJCWRlbHRhX3Bhcml0eSA9IC0xOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDQ6Ci0gCQkJcmUtPmxldmVsID0gaW5mby0+YXJyYXkubGV2ZWw7Ci0gCQkJcmUtPmJlZm9yZS5kYXRhX2Rpc2tzID0gaW5mby0+YXJyYXkucmFpZF9kaXNrcyAtIDE7Ci1AQCAtMTM0Myw2ICsxMzQ2LDcgQEAgY2hhciAqYW5hbHlzZV9jaGFuZ2UoY2hhciAqZGV2bmFtZSwgc3RydWN0IG1kaW5mbyAqaW5mbywgc3RydWN0IHJlc2hhcGUgKnJlKQotIAkJY2FzZSA0OgotIAkJY2FzZSA1OgotIAkJCWRlbHRhX3Bhcml0eSA9IC0xOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIDY6Ci0gCQkJcmUtPmxldmVsID0gNjsKLSAJCQlyZS0+YmVmb3JlLmRhdGFfZGlza3MgPSBpbmZvLT5hcnJheS5yYWlkX2Rpc2tzIC0gMjsKLWRpZmYgLS1naXQgYS9iaXRtYXAuYyBiL2JpdG1hcC5jCi1pbmRleCBjY2VkZmQzLi5hNmZmMDkxIDEwMDY0NAotLS0tIGEvYml0bWFwLmMKLSsrKyBiL2JpdG1hcC5jCi1AQCAtODIsMTMgKzgyLDIxIEBAIHN0YXRpYyBpbmxpbmUgaW50IGNvdW50X2RpcnR5X2JpdHNfYnl0ZShjaGFyIGJ5dGUsIGludCBudW1fYml0cykKLSAKLSAJc3dpdGNoIChudW1fYml0cykgeyAvKiBmYWxsIHRocm91Z2guLi4gKi8KLSAJCWNhc2UgODoJaWYgKGJ5dGUgJiAxMjgpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNzoJaWYgKGJ5dGUgJiAgNjQpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNjoJaWYgKGJ5dGUgJiAgMzIpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNToJaWYgKGJ5dGUgJiAgMTYpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgNDoJaWYgKGJ5dGUgJiAgIDgpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMzogaWYgKGJ5dGUgJiAgIDQpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMjoJaWYgKGJ5dGUgJiAgIDIpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgMToJaWYgKGJ5dGUgJiAgIDEpIG51bSsrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWRlZmF1bHQ6IGJyZWFrOwotIAl9Ci0gCi1kaWZmIC0tZ2l0IGEvbWRhZG0uYyBiL21kYWRtLmMKLWluZGV4IGMzYTI2NWIuLjJkMDZkM2IgMTAwNjQ0Ci0tLS0gYS9tZGFkbS5jCi0rKysgYi9tZGFkbS5jCi1AQCAtMTQ4LDYgKzE0OCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCQkJICAgIG1vZGUgPT0gQ1JFQVRFIHx8IG1vZGUgPT0gR1JPVyB8fAotIAkJCSAgICBtb2RlID09IElOQ1JFTUVOVEFMIHx8IG1vZGUgPT0gTUFOQUdFKQotIAkJCQlicmVhazsgLyogYiBtZWFucyBiaXRtYXAgKi8KLSsJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIEJyaWVmOgotIAkJCWMuYnJpZWYgPSAxOwotIAkJCWNvbnRpbnVlOwotQEAgLTgyOCw2ICs4MjksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQotIAotIAkJY2FzZSBPKElOQ1JFTUVOVEFMLE5vRGVncmFkZWQpOgotIAkJCXByX2VycigiLS1uby1kZWdyYWRlZCBpcyBkZXByZWNhdGVkIGluIEluY3JlbWVudGFsIG1vZGVcbiIpOwotKwkJCS8qIGZhbGx0aHJvdWdoICovCi0gCQljYXNlIE8oQVNTRU1CTEUsTm9EZWdyYWRlZCk6IC8qIC0tbm8tZGVncmFkZWQgKi8KLSAJCQljLnJ1bnN0b3AgPSAtMTsgLyogLS1zdG9wIGlzbid0IGFsbG93ZWQgZm9yIC0tYXNzZW1ibGUsCi0gCQkJCQkgKiBzbyB3ZSBvdmVybG9hZCBzbGlnaHRseSAqLwotZGlmZiAtLWdpdCBhL3N1cGVyLWludGVsLmMgYi9zdXBlci1pbnRlbC5jCi1pbmRleCA0ZTQ2NmZmLi4wMGEyOTI1IDEwMDY0NAotLS0tIGEvc3VwZXItaW50ZWwuYwotKysrIGIvc3VwZXItaW50ZWwuYwotQEAgLTMyNzEsNiArMzI3MSw3IEBAIHN0YXRpYyB2b2lkIGdldGluZm9fc3VwZXJfaW1zbV92b2x1bWUoc3RydWN0IHN1cGVydHlwZSAqc3QsIHN0cnVjdCBtZGluZm8gKmluZm8sCi0gCQkJCQkJPDwgU0VDVF9QRVJfTUJfU0hJRlQ7Ci0gCQkJfQotIAkJfQotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWNhc2UgTUlHUl9WRVJJRlk6Ci0gCQkJLyogd2UgY291bGQgZW11bGF0ZSB0aGUgY2hlY2twb2ludGluZyBvZgotIAkJCSAqICdzeW5jX2FjdGlvbj1jaGVjaycgbWlncmF0aW9ucywgYnV0IGZvciBub3cKLWRpZmYgLS1naXQgYS91dGlsLmMgYi91dGlsLmMKLWluZGV4IDMyYmQ5MDkuLmYyYTRkMTkgMTAwNjQ0Ci0tLS0gYS91dGlsLmMKLSsrKyBiL3V0aWwuYwotQEAgLTMzNSw2ICszMzUsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgcGFyc2Vfc2l6ZShjaGFyICpzaXplKQotIAkJc3dpdGNoICgqYykgewotIAkJY2FzZSAnSyc6Ci0gCQkJYysrOwotKwkJLyogZmFsbHRocm91Z2ggKi8KLSAJCWRlZmF1bHQ6Ci0gCQkJcyAqPSAyOwotIAkJCWJyZWFrOwotLS0gCi0yLjEyLjIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvZ2NjLTQuOS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL2djYy00LjkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmMjEzOTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvZ2NjLTQuOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLXN1cGVyLWludGVsLmM6NTA2MzoyOiBlcnJvcjogcmlnaHQtaGFuZCBvcGVyYW5kIG9mIGNvbW1hIGV4cHJlc3Npb24gaGFzIG5vIGVmZmVjdCBbLVdlcnJvcj11bnVzZWQtdmFsdWVdCi0gIHNucHJpbnRmKChjaGFyICopIHNwYXJlLT5zaWcsIE1BWF9TSUdOQVRVUkVfTEVOR1RILAotICBeCi1jYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotbWFrZTogKioqIFtzdXBlci1pbnRlbC5vXSBFcnJvciAxCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotSW5kZXg6IG1kYWRtLTQuMC9zdXBlci1pbnRlbC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbWRhZG0tNC4wLm9yaWcvc3VwZXItaW50ZWwuYwotKysrIG1kYWRtLTQuMC9zdXBlci1pbnRlbC5jCi1AQCAtNTcyNSw3ICs1NzI1LDcgQEAgc3RhdGljIGludCB3cml0ZV9zdXBlcl9pbXNtX3NwYXJlcyhzdHJ1YwotIAlzcGFyZS0+Y2FjaGVfc2l6ZSA9IG1wYi0+Y2FjaGVfc2l6ZTsKLSAJc3BhcmUtPnB3cl9jeWNsZV9jb3VudCA9IF9fY3B1X3RvX2xlMzIoMSk7Ci0gCi0tCXNucHJpbnRmKChjaGFyICopIHNwYXJlLT5zaWcsIE1BWF9TSUdOQVRVUkVfTEVOR1RILAotKwkodm9pZClzbnByaW50ZigoY2hhciAqKSBzcGFyZS0+c2lnLCBNQVhfU0lHTkFUVVJFX0xFTkdUSCwKLSAJCSBNUEJfU0lHTkFUVVJFIE1QQl9WRVJTSU9OX1JBSUQwKTsKLSAKLSAJZm9yIChkID0gc3VwZXItPmRpc2tzOyBkOyBkID0gZC0+bmV4dCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaAppbmRleCAwMGU2NjU3Li43YTJjODg4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaApAQCAtMSwzICsxLDExIEBACitGcm9tIGUzN2Y3ZjZhMGYxZWYxYjU5NDU3NGQxMWE4YjkwYjhjODYxZDA0N2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBTdW4sIDE1IE1hciAyMDE1IDA5OjAyOjE0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIG1kYWRtOiBGaXggYnVpbGQgaW4geDMyIEFCSQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCiBXaGVuIHRyeSB0byBwcmludCB0aW1lX3QgdmFsdWVzIGFzIGEgbG9uZyBpbnQgaXQgY2F1c2VzIGFuIGVycm9yIGJlY2F1c2UgdGltZV90CiBkYXRhIHR5cGUgaW4geDMyIEFCSSBpcyBsb25nIGxvbmcgaW50LgogCkBAIC01LDExICsxMywxNSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBBbsOtYmFsIExpbcOzbiA8YW5pYmFsLmxpbW9uQGxpbnV4LmludGVsLmNvbT4KIAotSW5kZXg6IG1kYWRtLTQuMC9tb25pdG9yLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBtZGFkbS00LjAub3JpZy9tb25pdG9yLmMKLSsrKyBtZGFkbS00LjAvbW9uaXRvci5jCi1AQCAtNDQ1LDkgKzQ0NSwxMiBAQCBzdGF0aWMgaW50IHJlYWRfYW5kX2FjdChzdHJ1Y3QgYWN0aXZlX2FyCistLS0KKyBtb25pdG9yLmMgfCA1ICsrKystCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9uaXRvci5jIGIvbW9uaXRvci5jCitpbmRleCA4MTUzN2VkLi43YzMzMzgyIDEwMDY0NAorLS0tIGEvbW9uaXRvci5jCisrKysgYi9tb25pdG9yLmMKK0BAIC00NDUsOSArNDQ1LDEyIEBAIHN0YXRpYyBpbnQgcmVhZF9hbmRfYWN0KHN0cnVjdCBhY3RpdmVfYXJyYXkgKmEsIGZkX3NldCAqZmRzKQogIAkJaWYgKEZEX0lTU0VUKG1kaS0+YmJfZmQsIGZkcykpCiAgCQkJY2hlY2tfZm9yX2NsZWFyZWRfYmIoYSwgbWRpKTsKICAJfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLWZpeC1wdGVzdC1idWlsZC1lcnJvcnMucGF0Y2gKaW5kZXggMjY3YzAwNy4uOGUyYThhOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS1maXgtcHRlc3QtYnVpbGQtZXJyb3JzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNjU4OThiOWRhODJkZjk0ZTFiYWU3OTM3ZTQxNWE3ZWI4MDM1NWQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5MTFmNmVhOWJlMGMzMzQ4ODVhZWZmNjY4NTNiMTExY2JkNDA2NmRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTAgRmViIDIwMTYgMTc6Mjg6MDUgKzAyMDAKIFN1YmplY3Q6IFtQQVRDSF0gbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycwpAQCAtMTYsMTUgKzE2LDE2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+CisKIC0tLQogIHJlc3RyaXBlLmMgfCA2ICsrKysrLQogIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3Jlc3RyaXBlLmMgYi9yZXN0cmlwZS5jCi1pbmRleCA1NmRjYTczLi5kMjRiMmI0IDEwMDY0NAoraW5kZXggMzFiMDdlOC4uNTkyYmE1ZCAxMDA2NDQKIC0tLSBhL3Jlc3RyaXBlLmMKICsrKyBiL3Jlc3RyaXBlLmMKLUBAIC04NDIsMTAgKzg0MiwxNCBAQCBpbnQgdGVzdF9zdHJpcGVzKGludCAqc291cmNlLCB1bnNpZ25lZCBsb25nIGxvbmcgKm9mZnNldHMsCitAQCAtODY0LDEwICs4NjQsMTQgQEAgaW50IHRlc3Rfc3RyaXBlcyhpbnQgKnNvdXJjZSwgdW5zaWduZWQgbG9uZyBsb25nICpvZmZzZXRzLAogIAogIAl3aGlsZSAobGVuZ3RoID4gMCkgewogIAkJaW50IGRpc2s7CkBAIC00MCw2ICs0MSwzIEBACiAgCQl9CiAgCQlmb3IgKGkgPSAwIDsgaSA8IGRhdGFfZGlza3MgOyBpKyspIHsKICAJCQlpbnQgZGlzayA9IGdlb19tYXAoaSwgc3RhcnQvY2h1bmtfc2l6ZSwgcmFpZF9kaXNrcywKLS0tIAotMi40LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTU1YWU0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL21kYWRtXzQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkzICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbCBmb3IgbWFuYWdpbmcgc29mdHdhcmUgUkFJRCB1bmRlciBMaW51eCIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvcmFpZC9tZGFkbS8iCi0KLSMgU29tZSBmaWxlcyBhcmUgR1BMdjIrIHdoaWxlIG90aGVycyBhcmUgR1BMdjIuCi1MSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWRtb24uYztiZWdpbmxpbmU9NDtlbmRsaW5lPTE4O21kNT1hZjdkODQ0NGQ5YzRkM2U1YzdjYWFjMGQ5ZDM0MDM5ZCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tZGFkbS5oO2JlZ2xpbmxuZT00O2VuZGxpbmU9MjI7bWQ1PTQ2MmJjOTkzNmFjMGQzZGExMTAxOTFhM2Y5OTk0MTYxIgotCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9yYWlkL21kYWRtLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vZ2NjLTQuOS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGFkbS0zLjMuMl94MzJfYWJpX3RpbWVfdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9tZGFkbS1maXgtcHRlc3QtYnVpbGQtZXJyb3JzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtc3lzLXN5c21hY3Jvcy5oLWZvci1tYWpvci1taW5vci1kZWZpbnRpb25zLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbWRhZG0tQWRkLVdpbXBsaWNpdC1mYWxsdGhyb3VnaC0wLWluLU1ha2VmaWxlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItbWRhZG0tU3BlY2lmeS1lbm91Z2gtbGVuZ3RoLXdoZW4td3JpdGUtdG8tYnVmZmVyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtUmVwbGFjZS1zbnByaW50Zi13aXRoLXN0cm5jcHktYXQtc29tZS1wbGFjZXMtdG8tYXZvaS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LW1kYWRtLUZvcmNlZC10eXBlLWNvbnZlcnNpb24tdG8tYXZvaWQtdHJ1bmNhdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LUFkZC1hLWNvbW1lbnQtdG8taW5kaWNhdGUtdmFsaWQtZmFsbHRocm91Z2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Vc2UtQ0MtdG8tY2hlY2stZm9yLWltcGxpY2l0LWZhbGx0aHJvdWdoLXdhcm5pbmctc3VwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtdXNlLW1lbW1vdmUtaW5zdGVhZC1vZi1tZW1jcHktb24tb3ZlcmxhcHBpbmctcmVnaW9uLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1nY2M4LXdhcm5pbmdzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL21kYWRtLmluaXQgXAotICAgICAgICAgICBmaWxlOi8vbWRtb25pdG9yLnNlcnZpY2UgXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiMmNiNGZlZmZlYTkxNjdiYTcxYjVmMzQ2YTBjMGE0MGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWQ2YWU3ZjI0Y2VkM2EwZmE3YjU2MTNiMzJmNGE1ODliYjQ4ODFlMzk0NmE1YTJjMzcyNDA1NjI1NGFkYTNhOSIKLQotQ0ZMQUdTICs9ICItZm5vLXN0cmljdC1hbGlhc2luZyIKLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBzeXN0ZW1kCi0KLUVYVFJBX09FTUFLRSA9ICdDSEVDS19SVU5fRElSPTAgQ1hGTEFHUz0iJHtDRkxBR1N9IicKLSMgUFBDNjQgYW5kIE1JUFM2NCB1c2VzIGxvbmcgbG9uZyBmb3IgdTY0IGluIHRoZSBrZXJuZWwsIGJ1dCBwb3dlcnBjJ3MgYXNtL3R5cGVzLmgKLSMgcHJldmVudHMgNjQtYml0IHVzZXJsYW5kIGZyb20gc2VlaW5nIHRoaXMgZGVmaW5pdGlvbiwgaW5zdGVhZCBkZWZhdWx0aW5nCi0jIHRvIHU2NCA9PSBsb25nIGluIHVzZXJzcGFjZS4gRGVmaW5lIF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXyB0byBnZXQKLSMgaW50LWxsNjQuaCBpbmNsdWRlZAotQ0ZMQUdTX2FwcGVuZF9wb3dlcnBjNjQgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJwotQ0ZMQUdTX2FwcGVuZF9taXBzYXJjaG42NCA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCi1DRkxBR1NfYXBwZW5kX21pcHNhcmNobjMyID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKLQotZG9fY29tcGlsZSgpIHsKLQkjIFBvaW50IHRvIHJpZ2h0IHNiaW5kaXIKLQlzZWQgLWkgLWUgInM7QklORElSICA9IC9zYmluO0JJTkRJUiA9ICRiYXNlX3NiaW5kaXI7IiAtZSAicztVREVWRElSID0gL2xpYjtVREVWRElSID0gJG5vbmFyY2hfYmFzZV9saWJkaXI7IiAke1N9L01ha2VmaWxlCi0Jb2VfcnVubWFrZSBTWVNST09UPSIke1NUQUdJTkdfRElSX1RBUkdFVH0iCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JZXhwb3J0IFNUUklQPSIiCi0JYXV0b3Rvb2xzX2RvX2luc3RhbGwKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tZGFkbS5jb25mLWV4YW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vbWRhZG0uY29uZgotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9zeXN0ZW1kL21kbW9uaXRvci5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAotICAgIGluc3RhbGwgLW0gNzU1ICR7V09SS0RJUn0vbWRhZG0uaW5pdCAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvbWRtb25pdG9yCi19Ci0KLVNZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJtZG1vbml0b3Iuc2VydmljZSIKLVNZU1RFTURfQVVUT19FTkFCTEUgPSAiZGlzYWJsZSIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLQlvZV9ydW5tYWtlIHRlc3QKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQljcCAtUiAtLW5vLWRlcmVmZXJlbmNlIC0tcHJlc2VydmU9bW9kZSxsaW5rcyAtdiAke1N9L3Rlc3RzICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzCi0JY3AgJHtTfS90ZXN0ICR7RH0ke1BURVNUX1BBVEh9Ci0Jc2VkIC1lICdzIXNsZWVwIDAuKiFzbGVlcCAxIWc7IHMhL3Zhci90bXAhLyFnJyAtaSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0Ci0JbG4gLXMgJHtiYXNlX3NiaW5kaXJ9L21kYWRtICR7RH0ke1BURVNUX1BBVEh9L21kYWRtCi0JZm9yIHByZyBpbiB0ZXN0X3N0cmlwZSBzd2FwX3N1cGVyIHJhaWQ2Y2hlY2sKLQlkbwotCQlpbnN0YWxsIC1EIC1tIDc1NSAkcHJnICR7RH0ke1BURVNUX1BBVEh9LwotCWRvbmUKLX0KLQotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gImJhc2giCi1SUkVDT01NRU5EU18ke1BOfS1wdGVzdCArPSAiIFwKLSAgICBjb3JldXRpbHMgXAotICAgIHV0aWwtbGludXggXAotICAgIGtlcm5lbC1tb2R1bGUtbG9vcCBcCi0gICAga2VybmVsLW1vZHVsZS1saW5lYXIgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDAgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEgXAotICAgIGtlcm5lbC1tb2R1bGUtcmFpZDEwIFwKLSAgICBrZXJuZWwtbW9kdWxlLXJhaWQ0NTYgXAotIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NjJhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV80LjEuYmIKQEAgLTAsMCArMSw5MiBAQAorU1VNTUFSWSA9ICJUb29sIGZvciBtYW5hZ2luZyBzb2Z0d2FyZSBSQUlEIHVuZGVyIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy9yYWlkL21kYWRtLyIKKworIyBTb21lIGZpbGVzIGFyZSBHUEx2Misgd2hpbGUgb3RoZXJzIGFyZSBHUEx2Mi4KK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tZG1vbi5jO2JlZ2lubGluZT00O2VuZGxpbmU9MTg7bWQ1PWFmN2Q4NDQ0ZDljNGQzZTVjN2NhYWMwZDlkMzQwMzlkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL21kYWRtLmg7YmVnbGlubG5lPTQ7ZW5kbGluZT0yMjttZDU9NDYyYmM5OTM2YWMwZDNkYTExMDE5MWEzZjk5OTQxNjEiCisKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L3V0aWxzL3JhaWQvbWRhZG0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vbWRhZG0tMy4zLjJfeDMyX2FiaV90aW1lX3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbWRhZG0tZml4LXB0ZXN0LWJ1aWxkLWVycm9ycy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1kYWRtLmgtVW5kZWZpbmUtZHByaW50Zi1iZWZvcmUtcmVkZWZpbmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC10aGUtcGF0aC1vZi1jb3Jvc3luYy1hbmQtZGxtLWhlYWRlci1maWxlcy1jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1DQy10by1jaGVjay1mb3ItaW1wbGljaXQtZmFsbHRocm91Z2gtd2FybmluZy1zdXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Db21wdXRlLWFicy1kaWZmLWluLWEtc3RhbmRhcmQtY29tcGxpYW50LXdheS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1nY2MtOC1mb3JtYXQtdHJ1bmNhdGlvbi13YXJuaW5nLnBhdGNoIFwKKwkgICBmaWxlOi8vbWRhZG0uaW5pdCBcCisJICAgZmlsZTovL21kbW9uaXRvci5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbWRhZG0tZ2NjOC1tYXliZS11bmluaXRpYWxpemVkLWZvcm1hdC1vdmVyZmxvdy13YXJuaS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWJmMzY1MWJkNzNhMDZjNDEzYTJmOTY0ZjI5OTU5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhYjc2ODg4NDI5MDhkMzU4M2E3MDRkNDkxOTU2ZjMxMzI0YzNhNWZjOWY2YTA0NjUzY2I3NWQxOWYxOTM0ZjRhIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcHRlc3Qgc3lzdGVtZAorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAibWRtb25pdG9yLnNlcnZpY2UgbWRtb25ALnNlcnZpY2UiCitTWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCisKK0NGTEFHU19hcHBlbmRfdG9vbGNoYWluLWNsYW5nID0gIiAtV25vLWVycm9yPWFkZHJlc3Mtb2YtcGFja2VkLW1lbWJlciIKKworIyBQUEM2NCBhbmQgTUlQUzY0IHVzZXMgbG9uZyBsb25nIGZvciB1NjQgaW4gdGhlIGtlcm5lbCwgYnV0IHBvd2VycGMncyBhc20vdHlwZXMuaAorIyBwcmV2ZW50cyA2NC1iaXQgdXNlcmxhbmQgZnJvbSBzZWVpbmcgdGhpcyBkZWZpbml0aW9uLCBpbnN0ZWFkIGRlZmF1bHRpbmcKKyMgdG8gdTY0ID09IGxvbmcgaW4gdXNlcnNwYWNlLiBEZWZpbmUgX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fIHRvIGdldAorIyBpbnQtbGw2NC5oIGluY2x1ZGVkCitDRkxBR1NfYXBwZW5kX3Bvd2VycGM2NCA9ICcgLURfX1NBTkVfVVNFUlNQQUNFX1RZUEVTX18nCitDRkxBR1NfYXBwZW5kX21pcHNhcmNobjY0ID0gJyAtRF9fU0FORV9VU0VSU1BBQ0VfVFlQRVNfXycKK0NGTEFHU19hcHBlbmRfbWlwc2FyY2huMzIgPSAnIC1EX19TQU5FX1VTRVJTUEFDRV9UWVBFU19fJworCitFWFRSQV9PRU1BS0UgPSAnQ0hFQ0tfUlVOX0RJUj0wIENYRkxBR1M9IiR7Q0ZMQUdTfSInCisKK0RFQlVHX09QVElNSVpBVElPTl9hcHBlbmQgPSAiIC1Xbm8tZXJyb3IiCisKK2RvX2NvbXBpbGUoKSB7CisJIyBQb2ludCB0byByaWdodCBzYmluZGlyCisJc2VkIC1pIC1lICJzO0JJTkRJUiAgPSAvc2JpbjtCSU5ESVIgPSAkYmFzZV9zYmluZGlyOyIgLWUgInM7VURFVkRJUiA9IC9saWI7VURFVkRJUiA9ICRub25hcmNoX2Jhc2VfbGliZGlyOyIgJHtTfS9NYWtlZmlsZQorCW9lX3J1bm1ha2UgU1lTUk9PVD0iJHtTVEFHSU5HX0RJUl9UQVJHRVR9IgorfQorCitkb19pbnN0YWxsKCkgeworCWV4cG9ydCBTVFJJUD0iIgorCWF1dG90b29sc19kb19pbnN0YWxsCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXNjb25mZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtTfS9tZGFkbS5jb25mLWV4YW1wbGUgJHtEfSR7c3lzY29uZmRpcn0vbWRhZG0uY29uZgorICAgICAgICBpbnN0YWxsIC1kICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1dPUktESVJ9L21kbW9uaXRvci5zZXJ2aWNlICR7RH0vJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDY0NCAke1N9L3N5c3RlbWQvbWRtb25ALnNlcnZpY2UgJHtEfS8ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgICAgIGluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZAorICAgICAgICBpbnN0YWxsIC1tIDc1NSAke1dPUktESVJ9L21kYWRtLmluaXQgJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL21kbW9uaXRvcgorfQorCitkb19jb21waWxlX3B0ZXN0KCkgeworCW9lX3J1bm1ha2UgdGVzdAorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCWNwIC1SIC0tbm8tZGVyZWZlcmVuY2UgLS1wcmVzZXJ2ZT1tb2RlLGxpbmtzIC12ICR7U30vdGVzdHMgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMKKwljcCAke1N9L3Rlc3QgJHtEfSR7UFRFU1RfUEFUSH0KKwlzZWQgLWUgJ3Mhc2xlZXAgMC4qIXNsZWVwIDEhZzsgcyEvdmFyL3RtcCEvIWcnIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKKwlsbiAtcyAke2Jhc2Vfc2JpbmRpcn0vbWRhZG0gJHtEfSR7UFRFU1RfUEFUSH0vbWRhZG0KKwlmb3IgcHJnIGluIHRlc3Rfc3RyaXBlIHN3YXBfc3VwZXIgcmFpZDZjaGVjaworCWRvCisJCWluc3RhbGwgLUQgLW0gNzU1ICRwcmcgJHtEfSR7UFRFU1RfUEFUSH0vCisJZG9uZQorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiYmFzaCIKK1JSRUNPTU1FTkRTXyR7UE59LXB0ZXN0ICs9ICIgXAorICAgIGNvcmV1dGlscyBcCisgICAgdXRpbC1saW51eCBcCisgICAga2VybmVsLW1vZHVsZS1sb29wIFwKKyAgICBrZXJuZWwtbW9kdWxlLWxpbmVhciBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMCBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMSBcCisgICAga2VybmVsLW1vZHVsZS1yYWlkMTAgXAorICAgIGtlcm5lbC1tb2R1bGUtcmFpZDQ1NiBcCisiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWJhc2UtdXRpbHMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjExZTBjYQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtYmFzZS11dGlscy5iYgpAQCAtMCwwICsxLDU3IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxOSBLb25zdWxrbyBHcm91cAorIworCitTVU1NQVJZID0gIkZ1bGwtZmVhdHVyZWQgc2V0IG9mIGJhc2UgdXRpbHMiCitERVNDUklQVElPTiA9ICJQYWNrYWdlIGdyb3VwIGJyaW5naW5nIGluIHBhY2thZ2VzIG5lZWRlZCB0byBwcm92aWRlIG11Y2ggb2YgdGhlIGJhc2UgdXRpbHMgdHlwZSBmdW5jdGlvbmFsaXR5IGZvdW5kIGluIGJ1c3lib3giCisKK2luaGVyaXQgcGFja2FnZWdyb3VwCisKK1ZJUlRVQUwtUlVOVElNRV92aW0gPz0gInZpbS10aW55IgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgYmFzZS1wYXNzd2QgXAorICAgIGJhc2ggXAorICAgIGJpbmQtdXRpbHMgXAorICAgIGJ6aXAyIFwKKyAgICBjb3JldXRpbHMgXAorICAgIGNwaW8gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAic3lzdGVtZCIsICIiLCAiZGViaWFudXRpbHMtcnVuLXBhcnRzIiwgZCl9IFwKKyAgICBkaGNwLWNsaWVudCBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJzeXN0ZW1kIiwgIiIsICJkaGNwLXNlcnZlciIsIGQpfSBcCisgICAgZGlmZnV0aWxzIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImRwa2ctc3RhcnQtc3RvcCIsIGQpfSBcCisgICAgZTJmc3Byb2dzIFwKKyAgICBlZCBcCisgICAgZmlsZSBcCisgICAgZmluZHV0aWxzIFwKKyAgICBnYXdrIFwKKyAgICBncmVwIFwKKyAgICBnemlwIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiRElTVFJPX0ZFQVRVUkVTIiwgInN5c3RlbWQiLCAiIiwgImlmdXBkb3duIiwgZCl9IFwKKyAgICBpbmV0dXRpbHMgXAorICAgIGluZXR1dGlscy1waW5nIFwKKyAgICBpbmV0dXRpbHMtdGVsbmV0IFwKKyAgICBpbmV0dXRpbHMtdGZ0cCBcCisgICAgaW5ldHV0aWxzLXRyYWNlcm91dGUgXAorICAgIGlwcm91dGUyIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygiTUFDSElORV9GRUFUVVJFUyIsICJrZXlib2FyZCIsICJrYmQiLCAiIiwgZCl9IFwKKyAgICBrbW9kIFwKKyAgICBsZXNzIFwKKyAgICBuY3Vyc2VzLXRvb2xzIFwKKyAgICBuZXQtdG9vbHMgXAorICAgIHBhcnRlZCBcCisgICAgcGF0Y2ggXAorICAgIHByb2NwcyBcCisgICAgcHNtaXNjIFwKKyAgICBzZWQgXAorICAgIHNoYWRvdy1iYXNlIFwKKyAgICB0YXIgXAorICAgIHRpbWUgXAorICAgIHVuemlwIFwKKyAgICB1dGlsLWxpbnV4IFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV92aW19IFwKKyAgICB3Z2V0IFwKKyAgICB3aGljaCBcCisgICAgeHogXAorICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiCmluZGV4IGNjMTI0MTAuLmMxMjRlM2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbV8xLjMuMC5iYgpAQCAtMTIyLDcgKzEyMiw3IEBACiAgICAgcGFtX2ZpbHRlcmRpciA9IGQuZXhwYW5kKCcke2Jhc2VfbGliZGlyfS9zZWN1cml0eS9wYW1fZmlsdGVyJykKICAgICBwYW1fcGtnbmFtZSA9IG1scHJlZml4ICsgJ3BhbS1wbHVnaW4lcycKIAotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBhbV9saWJkaXIsICdecGFtKC4qKVwuc28kJywgcGFtX3BrZ25hbWUsCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGFtX2xpYmRpciwgcidecGFtKC4qKVwuc28kJywgcGFtX3BrZ25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgJ1BBTSBwbHVnaW4gZm9yICVzJywgaG9vaz1wYW1fcGx1Z2luX2hvb2ssIGV4dHJhX2RlcGVuZHM9JycpCiAgICAgcGFtX3BsdWdpbl9hcHBlbmRfZmlsZSgnJXNwYW0tcGx1Z2luLXVuaXgnICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAndW5peF9jaGtwd2QnKQogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi11bml4JyAlIG1scHJlZml4LCBwYW1fc2JpbmRpciwgJ3VuaXhfdXBkYXRlJykKQEAgLTEzMSw3ICsxMzEsNyBAQAogICAgIHBhbV9wbHVnaW5fYXBwZW5kX2ZpbGUoJyVzcGFtLXBsdWdpbi10aW1lc3RhbXAnICUgbWxwcmVmaXgsIHBhbV9zYmluZGlyLCAncGFtX3RpbWVzdGFtcF9jaGVjaycpCiAgICAgcGFtX3BsdWdpbl9hcHBlbmRfZmlsZSgnJXNwYW0tcGx1Z2luLW1raG9tZWRpcicgJSBtbHByZWZpeCwgcGFtX3NiaW5kaXIsICdta2hvbWVkaXJfaGVscGVyJykKICAgICBwYW1fcGx1Z2luX2FwcGVuZF9maWxlKCclc3BhbS1wbHVnaW4tY29uc29sZScgJSBtbHByZWZpeCwgcGFtX3NiaW5kaXIsICdwYW1fY29uc29sZV9hcHBseScpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGFtX2ZpbHRlcmRpciwgJ14oLiopJCcsICdwYW0tZmlsdGVyLSVzJywgJ1BBTSBmaWx0ZXIgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwYW1fZmlsdGVyZGlyLCByJ14oLiopJCcsICdwYW0tZmlsdGVyLSVzJywgJ1BBTSBmaWx0ZXIgZm9yICVzJywgZXh0cmFfZGVwZW5kcz0nJykKIH0KIAogZG9faW5zdGFsbCgpIHsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLW5hbWVzcGFjZXN1cHBvcnQtcGVybF8xLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKaW5kZXggZmE5Zjk5NS4uNTdjNDA3ZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtbmFtZXNwYWNlc3VwcG9ydC1wZXJsXzEuMTIuYmIKQEAgLTIzLDUgKzIzLDUgQEAKIAogUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gInBlcmwtbW9kdWxlLXRlc3QtbW9yZSIKIAotQkJDTEFTU0VYVEVORD0ibmF0aXZlIgorQkJDTEFTU0VYVEVORD0ibmF0aXZlIG5hdGl2ZXNkayIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LWJhc2UtcGVybF8xLjA5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LWJhc2UtcGVybF8xLjA5LmJiCmluZGV4IGIzZTAxZTkuLjM3M2I1MjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1iYXNlLXBlcmxfMS4wOS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtYmFzZS1wZXJsXzEuMDkuYmIKQEAgLTIxLDQgKzIxLDQgQEAKIAogaW5oZXJpdCBjcGFuIHB0ZXN0LXBlcmwKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtcGVybF8xLjAwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGVybC9saWJ4bWwtc2F4LXBlcmxfMS4wMC5iYgppbmRleCAxNDE4MzBlLi5lY2NkMGFkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wZXJsL2xpYnhtbC1zYXgtcGVybF8xLjAwLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BlcmwvbGlieG1sLXNheC1wZXJsXzEuMDAuYmIKQEAgLTI5LDQgKzI5LDQgQEAKIAljaG93biAtUiByb290OnJvb3QgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdGZpbGVzCiB9CiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy8wMDAxLVVzZS1VSU5UUFRSX01BWC1pbnN0ZWFkLW9mLV9fV09SRFNJWkUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaAppbmRleCBiNTdhMDA2Li5jYTEzYmRiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNWRjODcyYmIyZmJhNjQyMWNiOGUxZWU1NzhmN2JkNGFhZWQ1NWY2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTE1ZmNmMWRhZmYxOGFhMmYyZTEzMGQ2MzcwNGYwNDAzMTg3OGRiMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBUaHUsIDI0IE1hciAyMDE2IDE1OjQ2OjE0ICswMDAwCiBTdWJqZWN0OiBbUEFUQ0hdIFVzZSBVSU5UUFRSX01BWCBpbnN0ZWFkIG9mIF9fV09SRFNJWkUKQEAgLTcsMTQgKzcsMTMgQEAKIHB0X3JlZ3Mgc3RydWN0IGZyb20ga2VybmVsIEFQSXMgaW4gYXNtL3B0cmFjZS5oCiAKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCistLS0KICBzcmMvcGVla2ZkLmMgfCAxMyArKysrKysrKy0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL3NyYy9wZWVrZmQuYyBiL3NyYy9wZWVrZmQuYwotaW5kZXggY2JhMjEzMC4uMGQzOTg3OCAxMDA2NDQKK2luZGV4IDVhYTk5MGEuLjdlOGUzZmMgMTAwNjQ0CiAtLS0gYS9zcmMvcGVla2ZkLmMKICsrKyBiL3NyYy9wZWVrZmQuYwogQEAgLTMwLDggKzMwLDExIEBACkBAIC0yOCw4ICsyNyw4IEBACiArI2luY2x1ZGUgPHN0ZGludC5oPgogICNpbmNsdWRlIDxnZXRvcHQuaD4KICAjaW5jbHVkZSA8Y3R5cGUuaD4KLSAKLUBAIC0yMjgsMTEgKzIzMSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgI2luY2x1ZGUgPGRpcmVudC5oPgorQEAgLTI2NiwxMSArMjY5LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCWlmIChXSUZTVE9QUEVEKHN0YXR1cykpIHsKICAjaWZkZWYgUFBDCiAgCQkJc3RydWN0IHB0X3JlZ3MgcmVnczsKQEAgLTQ2LDYgKzQ1LDMgQEAKICAjZWxpZiBkZWZpbmVkKEFSTSkKICAJCQlzdHJ1Y3QgcHRfcmVncyByZWdzOwogIAkJCXB0cmFjZShQVFJBQ0VfR0VUUkVHUywgcGlkLCAwLCAmcmVncyk7Ci0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjA3YzlkYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIHBzbWlzYy5pbmMKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuY29tL3BzbWlzYy9wc21pc2MuZ2l0O3Byb3RvY29sPWh0dHBzIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaCBcCi0JICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLXNyYy1kaXJlY3RvcnktYmVmb3JlLWF0dGVtcHRpbmctdC5wYXRjaMKgXAotICAgICAgICAgICAiCi1TUkNSRVYgPSAiYmQ5NTJiMzA2M2YyNDY2ZWNhYjRlYzA5MzAyNmNmMGM0Y2UzNzNjNyIKLVMgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjXzIzLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhlMGE0NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2NfMjMuMi5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIHBzbWlzYy5pbmMKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wNjM2ZTczZmYwMjE1ZThkNjcyZGM0YzMyYzMxN2JiMyIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuY29tL3BzbWlzYy9wc21pc2MuZ2l0O3Byb3RvY29sPWh0dHBzIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVVJTlRQVFJfTUFYLWluc3RlYWQtb2YtX19XT1JEU0laRS5wYXRjaCBcCisJICAgZmlsZTovLzAwMDEtTWFrZWZpbGUuYW0tY3JlYXRlLXNyYy1kaXJlY3RvcnktYmVmb3JlLWF0dGVtcHRpbmctdC5wYXRjaMKgXAorICAgICAgICAgICAiCitTUkNSRVYgPSAiNDRlYWI5YTNhNjMzOTRlYWU2Yjc5YTdlZjBhMDQyZjU3ZTBjOGE4ZiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvMDAwMS1ycGNiaW5kLXBhaXItYWxsLXN2Y19nZXRhcmdzLWNhbGxzLXdpdGgtc3ZjX2ZyZWVhcmdzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY3YWFlZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvMDAwMS1ycGNiaW5kLXBhaXItYWxsLXN2Y19nZXRhcmdzLWNhbGxzLXdpdGgtc3ZjX2ZyZWVhcmdzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICswLDAgQEAKLUZyb20gN2VhMzZlZWVjZTU2YjU5Zjk4ZTQ2OTkzNGU0YzIwYjRkYTA0MzM0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvcmFuIE1vcHBlcnQgPGRtb3BwZXJ0QHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDExIE1heSAyMDE3IDExOjQyOjU0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHJwY2JpbmQ6IHBhaXIgYWxsIHN2Y19nZXRhcmdzKCkgY2FsbHMgd2l0aCBzdmNfZnJlZWFyZ3MoKSB0bwotIGF2b2lkIG1lbW9yeSBsZWFrCi0KLVRoaXMgcGF0Y2ggaXMgdG8gYWRkcmVzcyBDVkUtMjAxNy04Nzc5ICJycGNib21iIiBpbiBycGNiaW5kLCBkaXNjdXNzZWQKLWF0IFsxXSwgWzJdLCBbM10uICBUaGUgbGFzdCBsaW5rIHN1Z2dlc3RzIHRoaXMgaXNzdWUgaXMgYWN0dWFsbHkgYSBidWcKLWluIHJwY2JpbmQsIHdoaWNoIGxlZCBtZSBoZXJlLgotCi1UaGUgbGVhayBjYXVzZWQgYnkgdGhlIHJlcHJvZHVjZXIgYXQgWzRdIGFwcGVhcnMgdG8gY29tZSBmcm9tCi1ycGNiX3NlcnZpY2VfNCgpLCBpbiB0aGUgY2FzZSB3aGVyZSBzdmNfZ2V0YXJncygpIHJldHVybnMgZmFsc2UgYW5kIHRoZQotZnVuY3Rpb24gaGFkIGFuIGVhcmx5IHJldHVybiwgcmF0aGVyIHRoYW4gcGFzc2luZyB0aHJvdWdoIHRoZSBjbGVhbnVwCi1wYXRoIGF0IGRvbmU6LCBhcyB3b3VsZCBvdGhlcndpc2Ugb2NjdXIuCi0KLUl0IGFsc28gYWRkcmVzc2VzIGEgY291cGxlIG9mIG90aGVyIGxvY2F0aW9ucyB3aGVyZSB0aGUgc2FtZSBmYXVsdCBzZWVtcwotdG8gZXhpc3QsIHRob3VnaCBJIGhhdmVuJ3QgYmVlbiBhYmxlIHRvIGV4ZXJjaXNlIHRob3NlLiAgSSBob3BlIHNvbWVvbmUKLW1vcmUgaW50aW1hdGUgd2l0aCBycGMoMykgY2FuIGNvbmZpcm0gbXkgdW5kZXJzdGFuZGluZyBpcyBjb3JyZWN0LCBhbmQKLXRoYXQgSSBoYXZlbid0IGludHJvZHVjZWQgYW55IG5ldyBidWdzLgotCi1XaXRob3V0IHRoaXMgcGF0Y2gsIHVzaW5nIHRoZSByZXByb2R1Y2VyIChhbmQgdmFyaWFudHMpIHJlcGVhdGVkbHkKLWFnYWluc3QgcnBjYmluZCB3aXRoIGEgbnVtQnl0ZXMgYXJndW1lbnQgb2YgMV8wMDBfMDAwXzAwMCwgL3Byb2MvJChwaWRvZgotcnBjYmluZCkvc3RhdHVzIHJlcG9ydHMgVm1TaXplIGluY3JlYXNlIG9mIDk3NjU2NCBrQiBlYWNoIGNhbGwsIGFuZAotVm1SU1MgaW5jcmVhc2Ugb2YgYXJvdW5kIDI2MCBrQiBldmVyeSAzMyBjYWxscyAtIHRoZSBzcGVjaWZpYyBudW1iZXJzCi1hcmUgcHJvYmFibHkgYW4gYXJ0aWZhY3Qgb2YgbXkgcmhlbC9nbGliYyB2ZXJzaW9uLiAgV2l0aCB0aGUgcGF0Y2gsCi10aGVyZSBpcyBhIHNtYWxsICh+NTAga0IpIFZtU2l6ZSBpbmNyZWFzZSB3aXRoIHRoZSBmaXJzdCBtZXNzYWdlLCBidXQKLXRoZXJlYWZ0ZXIgYm90aCBWbVNpemUgYW5kIFZtUlNTIHJlbWFpbiBzdGVhZHkuCi0KLVsxXTogaHR0cDovL3NlY2xpc3RzLm9yZy9vc3Mtc2VjLzIwMTcvcTIvMjA5Ci1bMl06IGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODEyNAotWzNdOiBodHRwczovL3NvdXJjZXdhcmUub3JnL21sL2xpYmMtYWxwaGEvMjAxNy0wNS9tc2cwMDEyOS5odG1sCi1bNF06IGh0dHBzOi8vZ2l0aHViLmNvbS9ndWlkb3ZyYW5rZW4vcnBjYm9tYi8KLQotCi1DVkU6IENWRS0yMDE3LTg3NzkKLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogRmFuIFhpbiA8ZmFuLnhpbkBqcC5mdWppdHN1LmNvbT4KLS0tLQotIHNyYy9wbWFwX3N2Yy5jICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQotIHNyYy9ycGNiX3N2Yy5jICAgICB8ICAyICstCi0gc3JjL3JwY2Jfc3ZjXzQuYyAgIHwgIDIgKy0KLSBzcmMvcnBjYl9zdmNfY29tLmMgfCAgOCArKysrKysrKwotIDQgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvcG1hcF9zdmMuYyBiL3NyYy9wbWFwX3N2Yy5jCi1pbmRleCA0Yzc0NGZlLi5lOTI2Y2RjIDEwMDY0NAotLS0tIGEvc3JjL3BtYXBfc3ZjLmMKLSsrKyBiL3NyYy9wbWFwX3N2Yy5jCi1AQCAtMTc1LDYgKzE3NSw3IEBAIHBtYXBwcm9jX2NoYW5nZShzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0LCB1bnNpZ25lZCBsb25nCi0gCWxvbmcgYW5zOwotIAl1aWRfdCB1aWQ7Ci0gCWNoYXIgdWlkYnVmWzMyXTsKLSsJaW50IHJjID0gVFJVRTsKLSAKLSAJLyoKLSAJICogQ2FuJ3QgdXNlIGdldHB3bmFtIGhlcmUuIFdlIG1pZ2h0IGVuZCB1cCBjYWxsaW5nIG91cnNlbHZlcwotQEAgLTE5NCw3ICsxOTUsOCBAQCBwbWFwcHJvY19jaGFuZ2Uoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCwgdW5zaWduZWQgbG9uZwotIAotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKSZyZWcpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gI2lmZGVmIFJQQ0JJTkRfREVCVUcKLSAJaWYgKGRlYnVnZ2luZykKLUBAIC0yMDUsNyArMjA3LDggQEAgcG1hcHByb2NfY2hhbmdlKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQsIHVuc2lnbmVkIGxvbmcKLSAKLSAJaWYgKCFjaGVja19hY2Nlc3MoeHBydCwgb3AsIHJlZy5wbV9wcm9nLCBQTUFQVkVSUykpIHsKLSAJCXN2Y2Vycl93ZWFrYXV0aCh4cHJ0KTsKLS0JCXJldHVybiAoRkFMU0UpOwotKwkJcmMgPSAoRkFMU0UpOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCXJwY2JyZWcucl9wcm9nID0gcmVnLnBtX3Byb2c7Ci1AQCAtMjU4LDcgKzI2MSwxNiBAQCBkb25lX2NoYW5nZToKLSAJCXJwY2JzX3NldChSUENCVkVSU18yX1NUQVQsIGFucyk7Ci0gCWVsc2UKLSAJCXJwY2JzX3Vuc2V0KFJQQ0JWRVJTXzJfU1RBVCwgYW5zKTsKLS0JcmV0dXJuIChUUlVFKTsKLStkb25lOgotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotKwkJaWYgKGRlYnVnZ2luZykgewotKwkJCS8qKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsqLwotKwkJCWlmIChkb2Fib3J0KSB7Ci0rCQkJCXJwY2JpbmRfYWJvcnQoKTsKLSsJCQl9Ci0rCQl9Ci0rCX0KLSsJcmV0dXJuIChyYyk7Ci0gfQotIAotIC8qIEFSR1NVU0VEICovCi1AQCAtMjcyLDE1ICsyODQsMTggQEAgcG1hcHByb2NfZ2V0cG9ydChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0KQotICNpZmRlZiBSUENCSU5EX0RFQlVHCi0gCWNoYXIgKnVhZGRyOwotICNlbmRpZgotKwlpbnQgcmMgPSBUUlVFOwotIAotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKSZyZWcpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCWlmICghY2hlY2tfYWNjZXNzKHhwcnQsIFBNQVBQUk9DX0dFVFBPUlQsIHJlZy5wbV9wcm9nLCBQTUFQVkVSUykpIHsKLSAJCXN2Y2Vycl93ZWFrYXV0aCh4cHJ0KTsKLS0JCXJldHVybiBGQUxTRTsKLSsJCXJjID0gRkFMU0U7Ci0rCQlnb3RvIGRvbmU7Ci0gCX0KLSAKLSAjaWZkZWYgUlBDQklORF9ERUJVRwotQEAgLTMzMCwyMSArMzQ1LDM0IEBAIHBtYXBwcm9jX2dldHBvcnQoc3RydWN0IHN2Y19yZXEgKnJxc3RwIC8qX191bnVzZWQqLywgU1ZDWFBSVCAqeHBydCkKLSAJCXBtYXBfaXBwcm90Mm5ldGlkKHJlZy5wbV9wcm90KSA/OiAiPHVua25vd24+IiwKLSAJCXBvcnQgPyB1ZHB0cmFucyA6ICIiKTsKLSAKLS0JcmV0dXJuIChUUlVFKTsKLStkb25lOgotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKikmcmVnKSkgewotKwkJaWYgKGRlYnVnZ2luZykgewotKwkJCS8qICh2b2lkKSB4bG9nKExPR19ERUJVRywgInVuYWJsZSB0byBmcmVlIGFyZ3VtZW50c1xuIik7Ki8KLSsJCQlpZiAoZG9hYm9ydCkgewotKwkJCQlycGNiaW5kX2Fib3J0KCk7Ci0rCQkJfQotKwkJfQotKwl9Ci0rCXJldHVybiAocmMpOwotIH0KLSAKLSAvKiBBUkdTVVNFRCAqLwotIHN0YXRpYyBib29sX3QKLSBwbWFwcHJvY19kdW1wKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fdW51c2VkKi8sIFNWQ1hQUlQgKnhwcnQpCi0gewotKwlpbnQgcmMgPSBUUlVFOwotKwotIAlpZiAoIXN2Y19nZXRhcmdzKHhwcnQsICh4ZHJwcm9jX3QpeGRyX3ZvaWQsIE5VTEwpKSB7Ci0gCQlzdmNlcnJfZGVjb2RlKHhwcnQpOwotLQkJcmV0dXJuIChGQUxTRSk7Ci0rCQlyYyA9IEZBTFNFOwotKwkJZ290byBkb25lOwotIAl9Ci0gCi0gCWlmICghY2hlY2tfYWNjZXNzKHhwcnQsIFBNQVBQUk9DX0RVTVAsIDAsIFBNQVBWRVJTKSkgewotIAkJc3ZjZXJyX3dlYWthdXRoKHhwcnQpOwotLQkJcmV0dXJuIEZBTFNFOwotKwkJcmMgPSBGQUxTRTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAkKLSAJaWYgKCghc3ZjX3NlbmRyZXBseSh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcGxpc3RfcHRyLAotQEAgLTM1NCw3ICszODIsMTcgQEAgcG1hcHByb2NfZHVtcChzdHJ1Y3Qgc3ZjX3JlcSAqcnFzdHAgLypfX3VudXNlZCovLCBTVkNYUFJUICp4cHJ0KQotIAkJCXJwY2JpbmRfYWJvcnQoKTsKLSAJCX0KLSAJfQotLQlyZXR1cm4gKFRSVUUpOwotKwotK2RvbmU6Ci0rCWlmICghc3ZjX2ZyZWVhcmdzKHhwcnQsICh4ZHJwcm9jX3QpIHhkcl9wbWFwLCAoY2hhciAqKU5VTEwpKSB7Ci0rCQlpZiAoZGVidWdnaW5nKSB7Ci0rCQkJLyoodm9pZCkgeGxvZyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNcbiIpOyovCi0rCQkJaWYgKGRvYWJvcnQpIHsKLSsJCQkJcnBjYmluZF9hYm9ydCgpOwotKwkJCX0KLSsJCX0KLSsJfQotKwlyZXR1cm4gKHJjKTsKLSB9Ci0gCi0gaW50IHBtYXBfbmV0aWQyaXBwcm90KGNvbnN0IGNoYXIgKm5ldGlkKQotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Yy5jIGIvc3JjL3JwY2Jfc3ZjLmMKLWluZGV4IDcwOWUzZmIuLjA5MWY1MzAgMTAwNjQ0Ci0tLS0gYS9zcmMvcnBjYl9zdmMuYwotKysrIGIvc3JjL3JwY2Jfc3ZjLmMKLUBAIC0xNjYsNyArMTY2LDcgQEAgcnBjYl9zZXJ2aWNlXzMoc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3ApCi0gCQlzdmNlcnJfZGVjb2RlKHRyYW5zcCk7Ci0gCQlpZiAoZGVidWdnaW5nKQotIAkJCSh2b2lkKSB4bG9nKExPR19ERUJVRywgInJwY2JpbmQ6IGNvdWxkIG5vdCBkZWNvZGUiKTsKLS0JCXJldHVybjsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAocnFzdHAtPnJxX3Byb2MgPT0gUlBDQlBST0NfU0VUCi1kaWZmIC0tZ2l0IGEvc3JjL3JwY2Jfc3ZjXzQuYyBiL3NyYy9ycGNiX3N2Y180LmMKLWluZGV4IDUwOTQ4NzkuLmVlYmJiYmUgMTAwNjQ0Ci0tLS0gYS9zcmMvcnBjYl9zdmNfNC5jCi0rKysgYi9zcmMvcnBjYl9zdmNfNC5jCi1AQCAtMjE4LDcgKzIxOCw3IEBAIHJwY2Jfc2VydmljZV80KHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwKQotIAkJc3ZjZXJyX2RlY29kZSh0cmFuc3ApOwotIAkJaWYgKGRlYnVnZ2luZykKLSAJCQkodm9pZCkgeGxvZyhMT0dfREVCVUcsICJycGNiaW5kOiBjb3VsZCBub3QgZGVjb2RlXG4iKTsKLS0JCXJldHVybjsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAlpZiAocnFzdHAtPnJxX3Byb2MgPT0gUlBDQlBST0NfU0VUCi1kaWZmIC0tZ2l0IGEvc3JjL3JwY2Jfc3ZjX2NvbS5jIGIvc3JjL3JwY2Jfc3ZjX2NvbS5jCi1pbmRleCA1ODYyYzI2Li5jYjYzYWZkIDEwMDY0NAotLS0tIGEvc3JjL3JwY2Jfc3ZjX2NvbS5jCi0rKysgYi9zcmMvcnBjYl9zdmNfY29tLmMKLUBAIC05MjcsNiArOTI3LDE0IEBAIGVycm9yOgotIAlpZiAoY2FsbF9tc2cucm1feGlkICE9IDApCi0gCQkodm9pZCkgZnJlZV9zbG90X2J5X3hpZChjYWxsX21zZy5ybV94aWQpOwotIG91dDoKLSsJaWYgKCFzdmNfZnJlZWFyZ3ModHJhbnNwLCAoeGRycHJvY190KSB4ZHJfcm10Y2FsbF9hcmdzLCAoY2hhciAqKSAmYSkpIHsKLSsJCWlmIChkZWJ1Z2dpbmcpIHsKLSsJCQkodm9pZCkgeGxvZyhMT0dfREVCVUcsICJ1bmFibGUgdG8gZnJlZSBhcmd1bWVudHNcbiIpOwotKwkJCWlmIChkb2Fib3J0KSB7Ci0rCQkJCXJwY2JpbmRfYWJvcnQoKTsKLSsJCQl9Ci0rCQl9Ci0rCX0KLSAJaWYgKGxvY2FsX3VhZGRyKQotIAkJZnJlZShsb2NhbF91YWRkcik7Ci0gCWlmIChidWZfYWxsb2MpCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcG1hcHByb2NfZHVtcC1GaXhlZC10eXBvLWluLW1lbW9yeS1sZWFrLXBhdGNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzIzZWUwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGM0OWE3ZWE2MzllYjcwMDgyM2UxNzRmZDYwNWJiYmUxODNlMjI5YWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTcgTWF5IDIwMTcgMTA6NTI6MjUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gcG1hcHByb2NfZHVtcDogRml4ZWQgdHlwbyBpbiBtZW1vcnkgbGVhayBwYXRjaAotCi1jb21taXQgN2VhMzZlZWUgaW50cm9kdWNlIGEgdHlwbyB0aGF0IGNhdXNlZAotTklTIChha2EgeXBiaW5kKSB0byBmYWlsLgotCi1TaWduZWQtb2ZmLWJ5OiBTdGV2ZSBEaWNrc29uIDxzdGV2ZWRAcmVkaGF0LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1TaWduZWQtb2ZmLWJ5OiBKYWNraWUgSHVhbmcgPGphY2tpZS5odWFuZ0B3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3BtYXBfc3ZjLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiBycGNiaW5kLTAuMi40L3NyYy9wbWFwX3N2Yy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcnBjYmluZC0wLjIuNC5vcmlnL3NyYy9wbWFwX3N2Yy5jCi0rKysgcnBjYmluZC0wLjIuNC9zcmMvcG1hcF9zdmMuYwotQEAgLTM4NCw3ICszODQsNyBAQCBwbWFwcHJvY19kdW1wKHN0cnVjdCBzdmNfcmVxICpycXN0cCAvKl9fCi0gCX0KLSAKLSBkb25lOgotLQlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfcG1hcCwgKGNoYXIgKilOVUxMKSkgewotKwlpZiAoIXN2Y19mcmVlYXJncyh4cHJ0LCAoeGRycHJvY190KSB4ZHJfdm9pZCwgKGNoYXIgKilOVUxMKSkgewotIAkJaWYgKGRlYnVnZ2luZykgewotIAkJCS8qKHZvaWQpIHhsb2coTE9HX0RFQlVHLCAidW5hYmxlIHRvIGZyZWUgYXJndW1lbnRzXG4iKTsqLwotIAkJCWlmIChkb2Fib3J0KSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ycGNiaW5kL3JwY2JpbmQvcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9ycGNicHJvY19jYWxsaXRfY29tLVN0b3AtZnJlZWluZy1hLXN0YXRpYy1wb2ludGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTAwMGQwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZC9ycGNicHJvY19jYWxsaXRfY29tLVN0b3AtZnJlZWluZy1hLXN0YXRpYy1wb2ludGVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAwICswLDAgQEAKLUZyb20gN2M3NTkwYWQ1MzZjMGUyNGJlZjc5MGNiMWU2NTcwMmZjNTRkYjU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXZlIERpY2tzb24gPHN0ZXZlZEByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAzMCBNYXkgMjAxNyAxMToyNzoyMiAtMDQwMAotU3ViamVjdDogW1BBVENIXSBycGNicHJvY19jYWxsaXRfY29tOiBTdG9wIGZyZWVpbmcgYSBzdGF0aWMgcG9pbnRlcgotCi1jb21taXQgN2VhMzZlZSBpbnRyb2R1Y2VkIGEgc3ZjX2ZyZWVhcmdzKCkgY2FsbAotdGhhdCBlbmRlZCB1cCBmcmVlaW5nIHN0YXRpYyBwb2ludGVyLgotCi1JdCB0dXJucyBvdXQgdGhlIGFsbG9jYXRpb25zIGZvciB0aGUgcm10X2FyZ3MKLWlzIG5vdCBuZWNlc3NhcnkgLiBUaGUgeGRyIHJvdXRpbmVzICh4ZHJfYnl0ZXMpIHdpbGwKLWhhbmRsZSB0aGUgbWVtb3J5IG1hbmFnZW1lbnQgYW5kIHRoZSBsYXJnZXN0Ci1wb3NzaWJsZSBtZXNzYWdlIHNpemUgaXMgVURQTVNHU0laRSAoZHVlIHRvIFVEUCBvbmx5KQotd2hpY2ggaXMgc21hbGxlciB0aGFuIFJQQ19CVUZfTUFYCi0KLVNpZ25lZC1vZmYtYnk6IFN0ZXZlIERpY2tzb24gPHN0ZXZlZEByZWRoYXQuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLVNpZ25lZC1vZmYtYnk6IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBzcmMvcnBjYl9zdmNfY29tLmMgfCAzOSArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9ycGNiX3N2Y19jb20uYyBiL3NyYy9ycGNiX3N2Y19jb20uYwotaW5kZXggY2I2M2FmZC4uMWZjMjIyOSAxMDA2NDQKLS0tLSBhL3NyYy9ycGNiX3N2Y19jb20uYwotKysrIGIvc3JjL3JwY2Jfc3ZjX2NvbS5jCi1AQCAtNjEyLDkgKzYxMiw5IEBAIHJwY2Jwcm9jX2NhbGxpdF9jb20oc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3AsCi0gCXN0cnVjdCBuZXRjb25maWcgKm5jb25mOwotIAlzdHJ1Y3QgbmV0YnVmICpjYWxsZXI7Ci0gCXN0cnVjdCByX3JtdGNhbGxfYXJncyBhOwotLQljaGFyICpidWZfYWxsb2MgPSBOVUxMLCAqb3V0YnVmcDsKLSsJY2hhciAqb3V0YnVmcDsKLSAJY2hhciAqb3V0YnVmX2FsbG9jID0gTlVMTDsKLS0JY2hhciBidWZbUlBDX0JVRl9NQVhdLCBvdXRidWZbUlBDX0JVRl9NQVhdOwotKwljaGFyICBvdXRidWZbUlBDX0JVRl9NQVhdOwotIAlzdHJ1Y3QgbmV0YnVmICpuYSA9IChzdHJ1Y3QgbmV0YnVmICopIE5VTEw7Ci0gCXN0cnVjdCBycGNfbXNnIGNhbGxfbXNnOwotIAlpbnQgb3V0bGVuOwotQEAgLTYzNSwzNiArNjM1LDEwIEBAIHJwY2Jwcm9jX2NhbGxpdF9jb20oc3RydWN0IHN2Y19yZXEgKnJxc3RwLCBTVkNYUFJUICp0cmFuc3AsCi0gCX0KLSAJaWYgKHNpLnNpX3NvY2t0eXBlICE9IFNPQ0tfREdSQU0pCi0gCQlyZXR1cm47CS8qIE9ubHkgZGF0YWdyYW0gdHlwZSBhY2NlcHRlZCAqLwotLQlzZW5kc3ogPSBfX3JwY19nZXRfdF9zaXplKHNpLnNpX2FmLCBzaS5zaV9wcm90bywgVURQTVNHU0laRSk7Ci0tCWlmIChzZW5kc3ogPT0gMCkgewkvKiBkYXRhIHRyYW5zZmVyIG5vdCBzdXBwb3J0ZWQgKi8KLS0JCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotLQkJCXN2Y2Vycl9zeXN0ZW1lcnIodHJhbnNwKTsKLS0JCXJldHVybjsKLS0JfQotLQkvKgotLQkgKiBTaG91bGQgYmUgbXVsdGlwbGUgb2YgNCBmb3IgWERSLgotLQkgKi8KLS0Jc2VuZHN6ID0gKChzZW5kc3ogKyAzKSAvIDQpICogNDsKLS0JaWYgKHNlbmRzeiA+IFJQQ19CVUZfTUFYKSB7Ci0tI2lmZGVmCW5vdHlldAotLQkJYnVmX2FsbG9jID0gYWxsb2NhKHNlbmRzeik7CQkvKiBub3QgaW4gSURSMj8gKi8KLS0jZWxzZQotLQkJYnVmX2FsbG9jID0gbWFsbG9jKHNlbmRzeik7Ci0tI2VuZGlmCS8qIG5vdHlldCAqLwotLQkJaWYgKGJ1Zl9hbGxvYyA9PSBOVUxMKSB7Ci0tCQkJaWYgKGRlYnVnZ2luZykKLS0JCQkJeGxvZyhMT0dfREVCVUcsCi0tCQkJCQkicnBjYnByb2NfY2FsbGl0X2NvbTogIE5vIE1lbW9yeSFcbiIpOwotLQkJCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotLQkJCQlzdmNlcnJfc3lzdGVtZXJyKHRyYW5zcCk7Ci0tCQkJcmV0dXJuOwotLQkJfQotLQkJYS5ybXRfYXJncy5hcmdzID0gYnVmX2FsbG9jOwotLQl9IGVsc2UgewotLQkJYS5ybXRfYXJncy5hcmdzID0gYnVmOwotLQl9Ci0rCXNlbmRzeiA9IFVEUE1TR1NJWkU7Ci0gCi0gCWNhbGxfbXNnLnJtX3hpZCA9IDA7CS8qIEZvciBlcnJvciBjaGVja2luZyBwdXJwb3NlcyAqLwotKwltZW1zZXQoJmEsIDAsIHNpemVvZihhKSk7IC8qIFplcm8gb3V0IHRoZSBpbnB1dCBidWZmZXIgKi8KLSAJaWYgKCFzdmNfZ2V0YXJncyh0cmFuc3AsICh4ZHJwcm9jX3QpIHhkcl9ybXRjYWxsX2FyZ3MsIChjaGFyICopICZhKSkgewotIAkJaWYgKHJlcGx5X3R5cGUgPT0gUlBDQlBST0NfSU5ESVJFQ1QpCi0gCQkJc3ZjZXJyX2RlY29kZSh0cmFuc3ApOwotQEAgLTcwNCw3ICs2NzgsOCBAQCBycGNicHJvY19jYWxsaXRfY29tKHN0cnVjdCBzdmNfcmVxICpycXN0cCwgU1ZDWFBSVCAqdHJhbnNwLAotIAlpZiAocmJsID09IChycGNibGlzdF9wdHIpTlVMTCkgewotICNpZmRlZiBSUENCSU5EX0RFQlVHCi0gCQlpZiAoZGVidWdnaW5nKQotLQkJCXhsb2coTE9HX0RFQlVHLCAibm90IGZvdW5kXG4iKTsKLSsJCQl4bG9nKExPR19ERUJVRywgInByb2cgJWx1IHZlcnMgJWx1OiBub3QgZm91bmRcbiIsIAotKwkJCQlhLnJtdF9wcm9nLCBhLnJtdF92ZXJzKTsKLSAjZW5kaWYKLSAJCWlmIChyZXBseV90eXBlID09IFJQQ0JQUk9DX0lORElSRUNUKQotIAkJCXN2Y2Vycl9ub3Byb2codHJhbnNwKTsKLUBAIC05MzcsOCArOTEyLDYgQEAgb3V0OgotIAl9Ci0gCWlmIChsb2NhbF91YWRkcikKLSAJCWZyZWUobG9jYWxfdWFkZHIpOwotLQlpZiAoYnVmX2FsbG9jKQotLQkJZnJlZShidWZfYWxsb2MpOwotIAlpZiAob3V0YnVmX2FsbG9jKQotIAkJZnJlZShvdXRidWZfYWxsb2MpOwotIAlpZiAobmEpIHsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzAuMi40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzAuMi40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzY3NzRjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8wLjIuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLVNVTU1BUlkgPSAiVW5pdmVyc2FsIEFkZHJlc3NlcyB0byBSUEMgUHJvZ3JhbSBOdW1iZXIgTWFwcGVyIgotREVTQ1JJUFRJT04gPSAiVGhlIHJwY2JpbmQgdXRpbGl0eSBpcyBhIHNlcnZlciB0aGF0IGNvbnZlcnRzIFJQQyBcCi0gICAgICAgICAgICAgICBwcm9ncmFtIG51bWJlcnMgaW50byB1bml2ZXJzYWwgYWRkcmVzc2VzLiIKLVNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgotSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9ycGNiaW5kLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD0yMDEyMzcmYXRpZD05NzY3NTEiCi1ERVBFTkRTID0gImxpYnRpcnBjIHF1b3RhIgotCi1MSUNFTlNFID0gIkJTRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI0NjQ4NmU0YzRhNDE2NjAyNjkzYTcxMWJiNWJmYTM5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9ycGNpbmZvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNzttZDU9ZjhhOGNkMmNiMjVhYzVhYTE2NzY3MzY0ZmIwZTNjMjQiCi0KLVNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3JwY2JpbmQvcnBjYmluZC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2luaXQuZCBcCi0gICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zb2NrZXQgXAotICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zZXJ2aWNlIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcnBjYmluZC1wYWlyLWFsbC1zdmNfZ2V0YXJncy1jYWxscy13aXRoLXN2Y19mcmVlYXJncy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wbWFwcHJvY19kdW1wLUZpeGVkLXR5cG8taW4tbWVtb3J5LWxlYWstcGF0Y2gucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnBjYnByb2NfY2FsbGl0X2NvbS1TdG9wLWZyZWVpbmctYS1zdGF0aWMtcG9pbnRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kX2FkZF9vcHRpb25fdG9fZml4X3BvcnRfbnVtYmVyLnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiY2YxMGNkNDFlZDgyMjhmYzU0YzMxNjE5MWMxZjA3ZmUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDc0YTlhNTMwZGM3YzExZTBkOTA1YWE1OWJjYjA4NDdjMDA5MzEzZjAyZTk4ZDNkNzk4YWE5NTY4ZjQxNGM2NiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdXBkYXRlLXJjLmQgc3lzdGVtZCBwa2djb25maWcKLQotUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyIKLVBBQ0tBR0VDT05GSUdbdGNwLXdyYXBwZXJzXSA9ICItLWVuYWJsZS1saWJ3cmFwLC0tZGlzYWJsZS1saWJ3cmFwLHRjcC13cmFwcGVycyIKLQotSU5JVFNDUklQVF9OQU1FID0gInJwY2JpbmQiCi1JTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAxMiAyIDMgNCA1IC4gc3RvcCA2MCAwIDEgNiAuIgotCi1TWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicnBjYmluZC5zZXJ2aWNlIgotCi1pbmhlcml0IHVzZXJhZGQKLQotVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKLVVTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1uby1jcmVhdGUtaG9tZSAtLWhvbWUtZGlyIC8gXAotICAgICAgICAgICAgICAgICAgICAgICAtLXNoZWxsIC9iaW4vZmFsc2UgLS11c2VyLWdyb3VwIHJwYyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCi1QQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtc3lzdGVtZHN5c3RlbXVuaXRkaXIsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtZCBcCi0iCi0KLUVYVFJBX09FQ09ORiArPSAiIC0tZW5hYmxlLXdhcm1zdGFydHMgLS13aXRoLXJwY3VzZXI9cnBjIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JbXYgJHtEfSR7YmluZGlyfSAke0R9JHtzYmluZGlyfQotCi0JaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKLQlzZWQgLWUgJ3MsL2V0Yy8sJHtzeXNjb25mZGlyfS8sZycgXAotCQktZSAncywvc2Jpbi8sJHtzYmluZGlyfS8sZycgXAotCQkke1dPUktESVJ9L2luaXQuZCA+ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ycGNiaW5kCi0JY2htb2QgMDc1NSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcnBjYmluZAotCi0JaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vcnBjYmluZC5jb25mICR7RH0ke3N5c2NvbmZkaXJ9Ci0JaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQotCWluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L3JwY2JpbmQuc29ja2V0ICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcnBjYmluZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0Jc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnIFwKLQkJLWUgJ3MsQFNZU0NPTkZESVJALCR7c3lzY29uZmRpcn0sZycgXAotCQkke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ycGNiaW5kLnNlcnZpY2UKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8xLjIuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3JwY2JpbmQvcnBjYmluZF8xLjIuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yzk2YWNhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcnBjYmluZC9ycGNiaW5kXzEuMi41LmJiCkBAIC0wLDAgKzEsNjEgQEAKK1NVTU1BUlkgPSAiVW5pdmVyc2FsIEFkZHJlc3NlcyB0byBSUEMgUHJvZ3JhbSBOdW1iZXIgTWFwcGVyIgorREVTQ1JJUFRJT04gPSAiVGhlIHJwY2JpbmQgdXRpbGl0eSBpcyBhIHNlcnZlciB0aGF0IGNvbnZlcnRzIFJQQyBcCisgICAgICAgICAgICAgICBwcm9ncmFtIG51bWJlcnMgaW50byB1bml2ZXJzYWwgYWRkcmVzc2VzLiIKK1NFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgorSE9NRVBBR0UgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9ycGNiaW5kLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD0yMDEyMzcmYXRpZD05NzY3NTEiCitERVBFTkRTID0gImxpYnRpcnBjIHF1b3RhIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI0NjQ4NmU0YzRhNDE2NjAyNjkzYTcxMWJiNWJmYTM5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9ycGNpbmZvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yNzttZDU9ZjhhOGNkMmNiMjVhYzVhYTE2NzY3MzY0ZmIwZTNjMjQiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3JwY2JpbmQvcnBjYmluZC0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQuZCBcCisgICAgICAgICAgIGZpbGU6Ly9ycGNiaW5kLmNvbmYgXAorICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zb2NrZXQgXAorICAgICAgICAgICBmaWxlOi8vcnBjYmluZC5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3JwY2JpbmRfYWRkX29wdGlvbl90b19maXhfcG9ydF9udW1iZXIucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZDQ2ZjA5YjljMGZhMmQ0OTAxNWY2NDMxYmM1ZWE3YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2UzNjA2ODM5NjNiMzVjMTljNDNmMGVlMmM3ZjE4YWE1YjgxZWY0MWMzZmRiZDE1ZmZjYjAwYjhiZmZkYTdhIgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAidGNwLXdyYXBwZXJzIgorUEFDS0FHRUNPTkZJR1t0Y3Atd3JhcHBlcnNdID0gIi0tZW5hYmxlLWxpYndyYXAsLS1kaXNhYmxlLWxpYndyYXAsdGNwLXdyYXBwZXJzIgorCitJTklUU0NSSVBUX05BTUUgPSAicnBjYmluZCIKK0lOSVRTQ1JJUFRfUEFSQU1TID0gInN0YXJ0IDEyIDIgMyA0IDUgLiBzdG9wIDYwIDAgMSA2IC4iCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJycGNiaW5kLnNlcnZpY2UiCisKK2luaGVyaXQgdXNlcmFkZAorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorVVNFUkFERF9QQVJBTV8ke1BOfSA9ICItLXN5c3RlbSAtLW5vLWNyZWF0ZS1ob21lIC0taG9tZS1kaXIgLyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tc2hlbGwgL2Jpbi9mYWxzZSAtLXVzZXItZ3JvdXAgcnBjIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsIGQpfSIKK1BBQ0tBR0VDT05GSUdbc3lzdGVtZF0gPSAiLS13aXRoLXN5c3RlbWRzeXN0ZW11bml0ZGlyPSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0vLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIC0td2l0aG91dC1zeXN0ZW1kc3lzdGVtdW5pdGRpciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBzeXN0ZW1kIFwKKyIKKworRVhUUkFfT0VDT05GICs9ICIgLS1lbmFibGUtd2FybXN0YXJ0cyAtLXdpdGgtcnBjdXNlcj1ycGMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZAorCXNlZCAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LyxnJyBcCisJCS1lICdzLC9zYmluLywke3NiaW5kaXJ9LyxnJyBcCisJCSR7V09SS0RJUn0vaW5pdC5kID4gJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kL3JwY2JpbmQKKwljaG1vZCAwNzU1ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ycGNiaW5kCisKKwlpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9ycGNiaW5kLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0KKwlpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vcnBjYmluZC5zb2NrZXQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ycGNiaW5kLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKwlzZWQgLWkgLWUgJ3MsQFNCSU5ESVJALCR7c2JpbmRpcn0sZycgXAorCQktZSAncyxAU1lTQ09ORkRJUkAsJHtzeXNjb25mZGlyfSxnJyBcCisJCSR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JwY2JpbmQuc2VydmljZQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzLzAwMDEtdXNlcmFkZC1jb3B5LWV4dGVuZGVkLWF0dHJpYnV0ZXMtb2YtaG9tZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQtY29weS1leHRlbmRlZC1hdHRyaWJ1dGVzLW9mLWhvbWUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3NGIzYTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzLzAwMDEtdXNlcmFkZC1jb3B5LWV4dGVuZGVkLWF0dHJpYnV0ZXMtb2YtaG9tZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLVN1YmplY3Q6IFtQQVRDSF0gdXNlcmFkZDogY29weSBleHRlbmRlZCBhdHRyaWJ1dGVzIG9mIGhvbWUKLQotVGhlIEhvbWUgZGlyZWN0b3J5IHdhc24ndCBnZXR0aW5nIHRoZSBleHRlbmRlZCBhdHRyaWJ1dGVzCi1vZiAvZXRjL3NrZWwuIFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCBpc3N1ZSBhbmQgYWRkcyB0aGUgY29weQotb2YgdGhlIGV4dGVuZGVkIGF0dHJpYnV0ZXMgb2YgdGhlIHJvb3Qgb2YgdGhlIGhvbWUgZGlyZWN0b3J5LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogSm9zw6kgQm9sbG8gPGpvc2UuYm9sbG9AaW90LmJ6aD4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy91c2VyYWRkLmMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy91c2VyYWRkLmMgYi9zcmMvdXNlcmFkZC5jCi1pbmRleCBlNzIxZTUyLi5jNzRlNDkxIDEwMDY0NAotLS0tIGEvc3JjL3VzZXJhZGQuYwotKysrIGIvc3JjL3VzZXJhZGQuYwotQEAgLTU0LDYgKzU0LDkgQEAKLSAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KLSAjaW5jbHVkZSA8dGltZS5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSsjaWZkZWYgV0lUSF9BVFRSCi0rI2luY2x1ZGUgPGF0dHIvbGliYXR0ci5oPgotKyNlbmRpZgotICNpbmNsdWRlICJjaGtuYW1lLmgiCi0gI2luY2x1ZGUgImRlZmluZXMuaCIKLSAjaW5jbHVkZSAiZmFpbGxvZy5oIgotQEAgLTIwNDIsNiArMjA0NSw5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9ob21lICh2b2lkKQotIAkJKHZvaWQpIGNob3duIChwcmVmaXhfdXNlcl9ob21lLCB1c2VyX2lkLCB1c2VyX2dpZCk7Ci0gCQljaG1vZCAocHJlZml4X3VzZXJfaG9tZSwKLSAJCSAgICAgICAwNzc3ICYgfmdldGRlZl9udW0gKCJVTUFTSyIsIEdFVERFRl9ERUZBVUxUX1VNQVNLKSk7Ci0rI2lmZGVmIFdJVEhfQVRUUgotKwkgICAgICAgICAgICAgICBhdHRyX2NvcHlfZmlsZSAoZGVmX3RlbXBsYXRlLCB1c2VyX2hvbWUsIE5VTEwsIE5VTEwpOwotKyNlbmRpZgotIAkJaG9tZV9hZGRlZCA9IHRydWU7Ci0gI2lmZGVmIFdJVEhfQVVESVQKLSAJCWF1ZGl0X2xvZ2dlciAoQVVESVRfQUREX1VTRVIsIFByb2csCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvMDAwMS11c2VyYWRkLmMtY3JlYXRlLXBhcmVudC1kaXJlY3Rvcmllcy13aGVuLW5lY2Vzc2FyeS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCmluZGV4IDcwMjQxMzYuLmZhYTZmNjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9maWxlcy8wMDAxLXVzZXJhZGQuYy1jcmVhdGUtcGFyZW50LWRpcmVjdG9yaWVzLXdoZW4tbmVjZXNzYXJ5LnBhdGNoCkBAIC00LDExICs0LDExIEBACiAKIFNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KIC0tLQotIHNyYy91c2VyYWRkLmMgfCA4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKKyBzcmMvdXNlcmFkZC5jIHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9zcmMvdXNlcmFkZC5jIGIvc3JjL3VzZXJhZGQuYwotaW5kZXggNzIxNGU3Mi4uM2FhZjQ1YyAxMDA2NDQKK2luZGV4IDAwYTNjMzAuLjllY2JiNTggMTAwNjQ0CiAtLS0gYS9zcmMvdXNlcmFkZC5jCiArKysgYi9zcmMvdXNlcmFkZC5jCiBAQCAtMjAyMSw2ICsyMDIxLDM1IEBAIHN0YXRpYyB2b2lkIHVzcl91cGRhdGUgKHZvaWQpCkBAIC00Nyw3ICs0Nyw3IEBACiAgICogY3JlYXRlX2hvbWUgLSBjcmVhdGUgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeQogICAqCiAgICoJY3JlYXRlX2hvbWUoKSBjcmVhdGVzIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgaWYgaXQgZG9lcyBub3QKLUBAIC0yMDM4LDQyICsyMDY3LDM5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9ob21lICh2b2lkKQorQEAgLTIwMzgsMzkgKzIwNjcsMzYgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2hvbWUgKHZvaWQpCiAgCQkJZmFpbF9leGl0IChFX0hPTUVESVIpOwogIAkJfQogICNlbmRpZgpAQCAtNzQsMTYgKzc0LDEyIEBACiAtCQkodm9pZCkgY2hvd24gKHByZWZpeF91c2VyX2hvbWUsIHVzZXJfaWQsIHVzZXJfZ2lkKTsKIC0JCWNobW9kIChwcmVmaXhfdXNlcl9ob21lLAogLQkJICAgICAgIDA3NzcgJiB+Z2V0ZGVmX251bSAoIlVNQVNLIiwgR0VUREVGX0RFRkFVTFRfVU1BU0spKTsKKy0JCWhvbWVfYWRkZWQgPSB0cnVlOwogKwkJZmFpbF9leGl0IChFX0hPTUVESVIpOwogKwl9CiArCSh2b2lkKSBjaG93biAocHJlZml4X3VzZXJfaG9tZSwgdXNlcl9pZCwgdXNlcl9naWQpOwogKwljaG1vZCAocHJlZml4X3VzZXJfaG9tZSwKICsJICAgICAgIDA3NzcgJiB+Z2V0ZGVmX251bSAoIlVNQVNLIiwgR0VUREVGX0RFRkFVTFRfVU1BU0spKTsKLSAjaWZkZWYgV0lUSF9BVFRSCi0tCSAgICAgICAgICAgICAgIGF0dHJfY29weV9maWxlIChkZWZfdGVtcGxhdGUsIHVzZXJfaG9tZSwgTlVMTCwgTlVMTCk7Ci0rCWF0dHJfY29weV9maWxlIChkZWZfdGVtcGxhdGUsIHVzZXJfaG9tZSwgTlVMTCwgTlVMTCk7Ci0gI2VuZGlmCi0tCQlob21lX2FkZGVkID0gdHJ1ZTsKICsJaG9tZV9hZGRlZCA9IHRydWU7CiAgI2lmZGVmIFdJVEhfQVVESVQKIC0JCWF1ZGl0X2xvZ2dlciAoQVVESVRfQUREX1VTRVIsIFByb2csCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCmluZGV4IDA5YzM3ZWYuLjRkZTIxYWMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCkBAIC0xMSw3ICsxMSw2IEBACiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3NoYWRvdy1tYWludC9zaGFkb3cvcmVsZWFzZXMiCiBTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9zaGFkb3ctbWFpbnQvc2hhZG93L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9zaGFkb3ctNC4xLjMtZG90cy1pbi11c2VybmFtZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS11c2VyYWRkLWNvcHktZXh0ZW5kZWQtYXR0cmlidXRlcy1vZi1ob21lLnBhdGNoIFwKICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncGFtJywgJyR7UEFNX1NSQ19VUkl9JywgJycsIGQpfSBcCiAgICAgICAgICAgICIKIApAQCAtNTcsNyArNTYsNyBAQAogTlNDRE9QVCA9ICIiCiBOU0NET1BUX2NsYXNzLW5hdGl2ZSA9ICItLXdpdGhvdXQtbnNjZCIKIE5TQ0RPUFRfY2xhc3MtbmF0aXZlc2RrID0gIi0td2l0aG91dC1uc2NkIgotTlNDRE9QVF9saWJjLWdsaWJjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnbGliYy1zcGF3bicsICctLXdpdGgtbnNjZCcsICctLXdpdGhvdXQtbnNjZCcsIGQpfSIKK05TQ0RPUFRfbGliYy1nbGliYyA9ICItLXdpdGgtbnNjZCIKICAgICAgICAgICAKIFBBTV9QTFVHSU5TID0gImxpYnBhbS1ydW50aW1lIFwKICAgICAgICAgICAgICAgIHBhbS1wbHVnaW4tZmFpbGRlbGF5IFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3dfNC42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKaW5kZXggNTY3NWNiOC4uYzk3NTM5NSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvd180LjYuYmIKQEAgLTIsNyArMiw3IEBACiAKICMgQnVpbGQgZmFsc2VseSBhc3N1bWVzIHRoYXQgaWYgLS1lbmFibGUtbGlicGFtIGlzIHNldCwgd2UgZG9uJ3QgbmVlZCB0byBsaW5rIGFnYWluc3QKICMgbGliY3J5cHQuIFRoaXMgYnJlYWtzIGNoc2guCi1CVUlMRF9MREZMQUdTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsaWJjLWNyeXB0JywgICctbGNyeXB0JywgJycsIGQpLCAnJywgZCl9IgorQlVJTERfTERGTEFHU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctbGNyeXB0JywgJycsIGQpfSIKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG8uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvLmluYwppbmRleCA2OWRjY2RlLi45MGYyMDM5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkby5pbmMKQEAgLTQsOCArNCw4IEBACiBCVUdUUkFDS0VSID0gImh0dHA6Ly93d3cuc3Vkby53cy9idWdzLyIKIFNFQ1RJT04gPSAiYWRtaW4iCiBMSUNFTlNFID0gIklTQyAmIEJTRCAmIFpsaWIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2MvTElDRU5TRTttZDU9Y2M0YmYyMzY2YjA1OWM5NTk4ZTM5NDdmODg1OTMxZWMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGx1Z2lucy9zdWRvZXJzL3JlZGJsYWNrLmM7YmVnaW5saW5lPTE7ZW5kbGluZT00MTttZDU9ODA1NzgyYTg0NjY5NzU3MTZmODM3NmIyYmU5YWVkZGUgXAorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZG9jL0xJQ0VOU0U7bWQ1PTZjNzZiNzM2MDNhYzc3NjNhYjA1MTZlYmZiZTY3YjQyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BsdWdpbnMvc3Vkb2Vycy9yZWRibGFjay5jO2JlZ2lubGluZT0xO2VuZGxpbmU9NDY7bWQ1PTRhMTYyZmMwNGI4NmIwM2Y1NjMyMTgwZmU2MDc2Y2RhIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL3JlYWxsb2NhcnJheS5jO2JlZ2lubGluZT0zO2VuZGxpbmU9MTY7bWQ1PTg1YjA5MDViNzk1ZDRkNThiZjJlMDA2MzU2NDllZWM2IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2ZubWF0Y2guYztiZWdpbmxpbmU9MztlbmRsaW5lPTI3O21kNT02N2Y4M2VlOWJkNDU2NTU3Mzk3MDgyZjhmMWJlMGVmZCBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9nZXRjd2QuYztiZWdpbmxpbmU9NTtlbmRsaW5lPTI3O21kNT00NDlhZjRjYzU3ZmM3ZDQ2ZjQyMDkwNjA4YmEzZTY4MSBcCkBAIC0xMyw2ICsxMyw5IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9zbnByaW50Zi5jO2JlZ2lubGluZT02O2VuZGxpbmU9MzQ7bWQ1PWM4MmMxYjNhNWMzMmUwODU0NWM5ZWM1ZDcxZTQxZTUwIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvc3Vkb19xdWV1ZS5oO2JlZ2lubGluZT01O2VuZGxpbmU9Mjc7bWQ1PTQ0OWFmNGNjNTdmYzdkNDZmNDIwOTA2MDhiYTNlNjgxIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2luZXRfcHRvbi5jO2JlZ2lubGluZT0zO2VuZGxpbmU9MTc7bWQ1PTM5NzBhYjA1MThhYjc5Y2JkMGJhZmI2OTdmMTBiMzNhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi91dGlsL2FyYzRyYW5kb20uYztiZWdpbmxpbmU9MztlbmRsaW5lPTIwO21kNT0xNWJkYzg5YzFiMDAzZmE0ZDczNTNlNjI5NmViZmQ2OCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9hcmM0cmFuZG9tX3VuaWZvcm0uYztiZWdpbmxpbmU9MztlbmRsaW5lPTE3O21kNT0zMWU2MzBhYzgxNGQ2OTJmZDBhYjdhOTQyNjU5YjQ2ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvdXRpbC9nZXRlbnRyb3B5LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0xOTttZDU9OWYxYTI3NWVjZDQ0Y2MyNjRhMmE0ZDVlMDZhNzUyOTIgXAogICAgICAgICAgICAgICAgICAgICAiCiAKIGluaGVyaXQgYXV0b3Rvb2xzCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjIzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4yMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2UzMmJkMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjIzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotcmVxdWlyZSBzdWRvLmluYwotCi1TUkNfVVJJID0gImh0dHA6Ly9mdHAuc3Vkby53cy9zdWRvL2Rpc3Qvc3Vkby0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLXN5cy10eXBlcy5oLWZvci1pZF90LWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVBBTV9TUkNfVVJJID0gImZpbGU6Ly9zdWRvLnBhbSIKLQotU1JDX1VSSVttZDVzdW1dID0gImVhNDQ0ZDc0N2ZlYjFkZWNmZWJkZmZkMGIzOGIwNzM5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ4NjNkMjliNmZjODdiYzc4NGEzMjIzMzUwZTJiMjhhMmZmMmM0NzM4ZjBmYjhmMWM5MmJiMzhjMzAxN2U2NzkiCi0KLURFUEVORFMgKz0gIiB2aXJ0dWFsL2NyeXB0ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xpYnBhbScsICcnLCBkKX0iCi1SREVQRU5EU18ke1BOfSArPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ3BhbS1wbHVnaW4tbGltaXRzIHBhbS1wbHVnaW4ta2V5aW5pdCcsICcnLCBkKX0iCi0KLUVYVFJBX09FQ09ORiArPSAiIFwKLSAgICAgICAgICAgICBhY19jdl90eXBlX3JzaXplX3Q9bm8gXAotICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJy0td2l0aC1wYW0nLCAnLS13aXRob3V0LXBhbScsIGQpfSBcCi0gICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN0ZW1kJywgJy0tZW5hYmxlLXRtcGZpbGVzLmQ9JHtsaWJkaXJ9L3RtcGZpbGVzLmQnLCAnLS1kaXNhYmxlLXRtcGZpbGVzLmQnLCBkKX0gXAotICAgICAgICAgICAgICIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCWlmIFsgIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsIGQpfSIgXTsgdGhlbgotCQlpbnN0YWxsIC1EIC1tIDY0NCAke1dPUktESVJ9L3N1ZG8ucGFtICR7RH0vJHtzeXNjb25mZGlyfS9wYW0uZC9zdWRvCi0JCWlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3BhbS13aGVlbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9IDsgdGhlbgotCQkJZWNobyAnYXV0aCAgICAgICByZXF1aXJlZCAgICAgcGFtX3doZWVsLnNvIHVzZV91aWQnID4+JHtEfSR7c3lzY29uZmRpcn0vcGFtLmQvc3VkbwotCQkJc2VkIC1pICdzLyMgXCgld2hlZWwgQUxMPShBTEwpIEFMTFwpL1wxLycgJHtEfSR7c3lzY29uZmRpcn0vc3Vkb2VycwotCQlmaQotCWZpCi0KLQljaG1vZCA0MTExICR7RH0ke2JpbmRpcn0vc3VkbwotCWNobW9kIDA0NDAgJHtEfSR7c3lzY29uZmRpcn0vc3Vkb2VycwotCi0JIyBFeHBsaWNpdGx5IHJlbW92ZSB0aGUgL3J1biBkaXJlY3RvcnkgdG8gYXZvaWQgUUEgZXJyb3IKLQlybWRpciAtcCAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAke0R9L3J1bi9zdWRvCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdG1wZmlsZXMuZCIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJleGVjZGlyfS8ke0JQTn0vbGliKiR7U09MSUJTREVWfSAke2xpYmV4ZWNkaXJ9LyR7QlBOfS8qLmxhIFwKLSAgICAgICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9saWIqJHtTT0xJQlNERVZ9ICR7bGliZXhlY2Rpcn0vKi5sYSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkb18xLjguMjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMzQzOTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjI3LmJiCkBAIC0wLDAgKzEsNDAgQEAKK3JlcXVpcmUgc3Vkby5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLnN1ZG8ud3Mvc3Vkby9kaXN0L3N1ZG8tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCAnJHtQQU1fU1JDX1VSSX0nLCAnJywgZCl9IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1zeXMtdHlwZXMuaC1mb3ItaWRfdC1kZWZpbml0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitQQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3Vkby5wYW0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNWMxODRiMTNiNmI1ZGUzMmFmNjMwYWYyZmQwMTNmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YmViNjhiOTQ0NzFlZjU2ZDhhMTAzNmRiY2RjMDlhN2I1OGE5NDlhNjhmZmNlNDhiODNmODM3ZGQzM2UyZWMwIgorCitERVBFTkRTICs9ICIgdmlydHVhbC9jcnlwdCAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgorUkRFUEVORFNfJHtQTn0gKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWxpbWl0cyBwYW0tcGx1Z2luLWtleWluaXQnLCAnJywgZCl9IgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgICAgICAgICAgYWNfY3ZfdHlwZV9yc2l6ZV90PW5vIFwKKyAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICctLXdpdGgtcGFtJywgJy0td2l0aG91dC1wYW0nLCBkKX0gXAorICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICctLWVuYWJsZS10bXBmaWxlcy5kPSR7bGliZGlyfS90bXBmaWxlcy5kJywgJy0tZGlzYWJsZS10bXBmaWxlcy5kJywgZCl9IFwKKyAgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpZiBbICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwYW0nLCBkKX0iIF07IHRoZW4KKwkJaW5zdGFsbCAtRCAtbSA2NDQgJHtXT1JLRElSfS9zdWRvLnBhbSAke0R9LyR7c3lzY29uZmRpcn0vcGFtLmQvc3VkbworCQlpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdwYW0td2hlZWwnLCAndHJ1ZScsICdmYWxzZScsIGQpfSA7IHRoZW4KKwkJCWVjaG8gJ2F1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV93aGVlbC5zbyB1c2VfdWlkJyA+PiR7RH0ke3N5c2NvbmZkaXJ9L3BhbS5kL3N1ZG8KKwkJCXNlZCAtaSAncy8jIFwoJXdoZWVsIEFMTD0oQUxMKSBBTExcKS9cMS8nICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKKwkJZmkKKwlmaQorCisJY2htb2QgNDExMSAke0R9JHtiaW5kaXJ9L3N1ZG8KKwljaG1vZCAwNDQwICR7RH0ke3N5c2NvbmZkaXJ9L3N1ZG9lcnMKKworCSMgRXhwbGljaXRseSByZW1vdmUgdGhlIC9ydW4gZGlyZWN0b3J5IHRvIGF2b2lkIFFBIGVycm9yCisJcm1kaXIgLXAgLS1pZ25vcmUtZmFpbC1vbi1ub24tZW1wdHkgJHtEfS9ydW4vc3VkbworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3RtcGZpbGVzLmQiCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZXhlY2Rpcn0vJHtCUE59L2xpYioke1NPTElCU0RFVn0gJHtsaWJleGVjZGlyfS8ke0JQTn0vKi5sYSBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZXhlY2Rpcn0vbGliKiR7U09MSUJTREVWfSAke2xpYmV4ZWNkaXJ9LyoubGEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMKaW5kZXggZjE1MWRkOC4uNzQ5MDI2ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lza2xvZ2Qvc3lza2xvZ2QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYwpAQCAtMTMsNyArMTMsNyBAQAogCiBpbmhlcml0IHVwZGF0ZS1yYy5kIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgc3lzdGVtZAogCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuaW5mb2Ryb20ub3JnL3Byb2plY3RzL3N5c2tsb2dkL2Rvd25sb2FkL3N5c2tsb2dkLSR7UFZ9LnRhci5neiBcCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdHJvZ2xvYml0L3N5c2tsb2dkLmdpdDtub2JyYW5jaD0xIFwKICAgICAgICAgICAgZmlsZTovL25vLXN0cmlwLWluc3RhbGwucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LXByb2JsZW1zLXRoYXQtY2F1c2VzLWEtc2VnbWVudGF0aW9uLWZhdWx0LXVuZGVyLS5wYXRjaCBcCkBAIC0yNCw2ICsyNCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9rbG9nZC5zZXJ2aWNlIFwKICAgICAgICAgICAgZmlsZTovL3RtcGZpbGVzLnN5c2tsb2dkLmNvbmYgXAogICAgICAgICAgICAiCitTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBTUkNfVVJJX2FwcGVuZF9lNTAwdjIgPSAiIGZpbGU6Ly9uby12ZWN0b3JpemF0aW9uLnBhdGNoIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZF8xLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCmluZGV4IDk3NWVjYzIuLjg4YmNmZDkgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkXzEuNS4xLmJiCkBAIC0xLDQgKzEsMyBAQAogcmVxdWlyZSBzeXNrbG9nZC5pbmMKIAotU1JDX1VSSVttZDVzdW1dID0gImM3MDU5OWFiMGQwMzdmZGU3MjRmNzIxMGMyYzhkN2Y4IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxNjZjMTg1YWUyM2M5MmU4YjlmZWVlNjZhNmUzZDBiYzk0NGJmNjczMTEyZjUzZTNlY2Y2MmUwOGNlN2MyMDEiCitTUkNSRVYgPSAiOTMwYTJiMWMwZDE1YjE0MzA5YTQ5ZjE0ZTNmMzBlOTA1NDU2YWY0ZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS43LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTEuNy40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOWI5MTMwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS43LjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLXJlcXVpcmUgc3lzc3RhdC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTIzYTc0YjNmNGNhZjk2MTYyMzA3ODlkOTQyMTdhY2IiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjQyMWY5NThkYjgwZTY3YTI3ZWRhMWZmNmI4ZWJjZGViIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImE5NjI2NWEyMjc4NGMyOTg4ODY2OWY5NjFhMDg5Njg0MWQxNzc4NTNmOGYwNTdlZmUwNjNlODkxOTYyYjkwOTAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXRfMTIuMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzEyLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGFmM2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzEyLjEuMy5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgc3lzc3RhdC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTIzYTc0YjNmNGNhZjk2MTYyMzA3ODlkOTQyMTdhY2IiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjBmOWI3M2Y2MGFiYTZmZDQ5ZGUzNDZiYzM4NDkwMmMzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1NDk4YmY4Mjc1NWJhOWZlZDNlN2RmNjFmZDI2ZjhmNTBkZDNlN2IzYjIyOWM3MzEwMjlhNGM4YWI1MWExYWEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJkMjRmNDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhcl8xLjMwLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzAgKzAsMCBAQAotU1VNTUFSWSA9ICJHTlUgZmlsZSBhcmNoaXZpbmcgcHJvZ3JhbSIKLURFU0NSSVBUSU9OID0gIkdOVSB0YXIgc2F2ZXMgbWFueSBmaWxlcyB0b2dldGhlciBpbnRvIGEgc2luZ2xlIHRhcGUgXAotb3IgZGlzayBhcmNoaXZlLCBhbmQgY2FuIHJlc3RvcmUgaW5kaXZpZHVhbCBmaWxlcyBmcm9tIHRoZSBhcmNoaXZlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS90YXIvIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgotCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vdGFyL3Rhci0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1nZXRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL211c2xfZGlyZW50LnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjg0MDRlNGMxZmM1YTMwMDAyMjhhYjJiOGFkNjc0YTY1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg3NTkyYjg2Y2IwMzdjNTU0Mzc1ZjU4NjhiZGQzY2M1Nzc0OGFlZjM4ZDZjYjc0MWM4MTA2NWYwYmVhYzYzYjciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbwotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhY2wnLCBkKX0iCi0KLVBBQ0tBR0VDT05GSUdbYWNsXSA9ICItLXdpdGgtcG9zaXgtYWNscywtLXdpdGhvdXQtcG9zaXgtYWNscyxhY2wiCi0KLUVYVFJBX09FQ09ORiArPSAiREVGQVVMVF9STVRfRElSPSR7YmFzZV9zYmluZGlyfSIKLQotIyBMZXQgYWNsb2NhbCB1c2UgdGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSBtNCBmaWxlIHJhdGhlciB0aGFuIHRoZQotIyBhYnNvbHV0ZSBzaW5jZSB0YXIgaGFzIGEgbG90IG9mIG00IGZpbGVzLCBvdGhlcndpc2UgdGhlcmUgbWlnaHQKLSMgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yIHdoZW4gaXQgaXMgYnVpbHQgaW4gYSBsb25nL2RlZXAKLSMgZGlyZWN0b3J5LgotYWNwYXRocyA9ICItSSAuL200IgotCi1kb19pbnN0YWxsICgpIHsKLSAgICBhdXRvdG9vbHNfZG9faW5zdGFsbAotICAgIGxuIC1zIHRhciAke0R9JHtiaW5kaXJ9L2d0YXIKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9Ci0gICAgICAgIG12ICR7RH0ke2JpbmRpcn0vdGFyICR7RH0ke2Jhc2VfYmluZGlyfS90YXIKLSAgICAgICAgbXYgJHtEfSR7YmluZGlyfS9ndGFyICR7RH0ke2Jhc2VfYmluZGlyfS9ndGFyCi0gICAgICAgIHJtZGlyICR7RH0ke2JpbmRpcn0vCi0gICAgZmkKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgewotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcwotICAgIHJtZGlyICR7RH0ke2xpYmRpcn0KLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LXJtdCIKLQotRklMRVNfJHtQTn0tcm10ID0gIiR7YmFzZV9zYmluZGlyfS9ybXQqIgotCi1pbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgotCi1BTFRFUk5BVElWRV8ke1BOfSA9ICJ0YXIiCi1BTFRFUk5BVElWRV8ke1BOfS1ybXQgPSAicm10IgotQUxURVJOQVRJVkVfJHtQTn1fY2xhc3MtbmF0aXZlc2RrID0gIiIKLUFMVEVSTkFUSVZFXyR7UE59LXJtdF9jbGFzcy1uYXRpdmVzZGsgPSAiIgotCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdGFyXSA9ICIke2Jhc2VfYmluZGlyfS90YXIiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcm10XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcm10IgotCi1QUk9WSURFU19hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiB0YXItcmVwbGFjZW1lbnQtbmF0aXZlIgotTkFUSVZFX1BBQ0tBR0VfUEFUSF9TVUZGSVggPSAiLyR7UE59IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMzEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc4NTA0MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXJfMS4zMS5iYgpAQCAtMCwwICsxLDY1IEBACitTVU1NQVJZID0gIkdOVSBmaWxlIGFyY2hpdmluZyBwcm9ncmFtIgorREVTQ1JJUFRJT04gPSAiR05VIHRhciBzYXZlcyBtYW55IGZpbGVzIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgdGFwZSBcCitvciBkaXNrIGFyY2hpdmUsIGFuZCBjYW4gcmVzdG9yZSBpbmRpdmlkdWFsIGZpbGVzIGZyb20gdGhlIGFyY2hpdmUuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL3Rhci8iCitTRUNUSU9OID0gImJhc2UiCitMSUNFTlNFID0gIkdQTHYzIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS90YXIvdGFyLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLWdldHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbXVzbF9kaXJlbnQucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzdhZmEzNWI2OTZjOGQ3NjAzMzFmYTBlMTJjMmZhYzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTc3YmQ0NDYzZWVhMTAzYmRmYzY2MmZjMzg1Nzg5ZTIyMjhkYmViMzk5YTFkMGI5ODU3MWVkOWNlMDQ0Zjc2MyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2FjbCcsIGQpfSIKKworUEFDS0FHRUNPTkZJR1thY2xdID0gIi0td2l0aC1wb3NpeC1hY2xzLC0td2l0aG91dC1wb3NpeC1hY2xzLGFjbCIKKworRVhUUkFfT0VDT05GICs9ICJERUZBVUxUX1JNVF9ESVI9JHtiYXNlX3NiaW5kaXJ9IgorCisjIExldCBhY2xvY2FsIHVzZSB0aGUgcmVsYXRpdmUgcGF0aCBmb3IgdGhlIG00IGZpbGUgcmF0aGVyIHRoYW4gdGhlCisjIGFic29sdXRlIHNpbmNlIHRhciBoYXMgYSBsb3Qgb2YgbTQgZmlsZXMsIG90aGVyd2lzZSB0aGVyZSBtaWdodAorIyBiZSBhbiAiQXJndW1lbnQgbGlzdCB0b28gbG9uZyIgZXJyb3Igd2hlbiBpdCBpcyBidWlsdCBpbiBhIGxvbmcvZGVlcAorIyBkaXJlY3RvcnkuCithY3BhdGhzID0gIi1JIC4vbTQiCisKK2RvX2luc3RhbGwgKCkgeworICAgIGF1dG90b29sc19kb19pbnN0YWxsCisgICAgbG4gLXMgdGFyICR7RH0ke2JpbmRpcn0vZ3RhcgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisgICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KKyAgICAgICAgbXYgJHtEfSR7YmluZGlyfS90YXIgJHtEfSR7YmFzZV9iaW5kaXJ9L3RhcgorICAgICAgICBtdiAke0R9JHtiaW5kaXJ9L2d0YXIgJHtEfSR7YmFzZV9iaW5kaXJ9L2d0YXIKKyAgICAgICAgcm1kaXIgJHtEfSR7YmluZGlyfS8KKyAgICBmaQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tcm10IgorCitGSUxFU18ke1BOfS1ybXQgPSAiJHtiYXNlX3NiaW5kaXJ9L3JtdCoiCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCisKK0FMVEVSTkFUSVZFXyR7UE59ID0gInRhciIKK0FMVEVSTkFUSVZFXyR7UE59LXJtdCA9ICJybXQiCitBTFRFUk5BVElWRV8ke1BOfV9jbGFzcy1uYXRpdmVzZGsgPSAiIgorQUxURVJOQVRJVkVfJHtQTn0tcm10X2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt0YXJdID0gIiR7YmFzZV9iaW5kaXJ9L3RhciIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtybXRdID0gIiR7YmFzZV9zYmluZGlyfS9ybXQiCisKK1BST1ZJREVTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIHRhci1yZXBsYWNlbWVudC1uYXRpdmUiCitOQVRJVkVfUEFDS0FHRV9QQVRIX1NVRkZJWCA9ICIvJHtQTn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3RpbWV6b25lLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3RpbWV6b25lLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWRlMDA3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdGltZXpvbmUuaW5jCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVGltZXpvbmUgZGF0YSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcyIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiUEQgJiBCU0QgJiBCU0QtMy1DbGF1c2UiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKKworUFYgPSAiMjAxOWEiCisKK1NSQ19VUkkgPSIgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpjb2RlJHtQVn0udGFyLmd6O25hbWU9dHpjb2RlIFwKKyAgICAgICAgICAgaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzL3JlcG9zaXRvcnkvcmVsZWFzZXMvdHpkYXRhJHtQVn0udGFyLmd6O25hbWU9dHpkYXRhIFwKKyAgICAgICAgICAgIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzIgorCitTUkNfVVJJW3R6Y29kZS5tZDVzdW1dID0gIjI3NTg1YTIwYmM1NDAxMzI0ZjQyYzhkZWI2ZTQ2NzdmIgorU1JDX1VSSVt0emNvZGUuc2hhMjU2c3VtXSA9ICI4NzM5ZjE2MmJjMzBjZGZiNDgyNDM1Njk3Zjk2OTI1M2FiZWE0OTU5NTU0MWEwYWZkNWY0NDNmYmFlNDMzZmY1IgorU1JDX1VSSVt0emRhdGEubWQ1c3VtXSA9ICIyODhmN2IxZTQzMDE4YzYzM2RhMTA4ZjEzYjI3Y2Y5MSIKK1NSQ19VUklbdHpkYXRhLnNoYTI1NnN1bV0gPSAiOTAzNjZkZGY0YWEwM2UzN2ExNmNkNDkyNTVhZjc3ZjgwMTgyMjMxMGIyMTNmMTk1ZTIyMDZlYWQ0OGM1OTc3MiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3RpbWV6b25lL3R6Y29kZS1uYXRpdmUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emNvZGUtbmF0aXZlLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUzNTgyYmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emNvZGUtbmF0aXZlLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgdGltZXpvbmUuaW5jCisKKyMKK1NVTU1BUlkgPSAidHpjb2RlLCB0aW1lem9uZSB6b25laW5mbyB1dGlscyAtLSB6aWMsIHpkdW1wLCB0enNlbGVjdCIKKworUyA9ICIke1dPUktESVJ9IgorCitpbmhlcml0IG5hdGl2ZQorCitFWFRSQV9PRU1BS0UgKz0gImNjPScke0NDfSciCisKK2RvX2luc3RhbGwgKCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgLW0gNzU1IHppYyAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB6ZHVtcCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB0enNlbGVjdCAke0R9JHtiaW5kaXJ9LworfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpkYXRhLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGltZXpvbmUvdHpkYXRhLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZmUzNjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90aW1lem9uZS90emRhdGEuYmIKQEAgLTAsMCArMSwyMDkgQEAKK3JlcXVpcmUgdGltZXpvbmUuaW5jCisKK0RFUEVORFMgPSAidHpjb2RlLW5hdGl2ZSIKKworaW5oZXJpdCBhbGxhcmNoCisKK1JDT05GTElDVFNfJHtQTn0gPSAidGltZXpvbmVzIHRpbWV6b25lLWFmcmljYSB0aW1lem9uZS1hbWVyaWNhIHRpbWV6b25lLWFudGFyY3RpY2EgXAorICAgICAgICAgICAgIHRpbWV6b25lLWFyY3RpYyB0aW1lem9uZS1hc2lhIHRpbWV6b25lLWF0bGFudGljIFwKKyAgICAgICAgICAgICB0aW1lem9uZS1hdXN0cmFsaWEgdGltZXpvbmUtZXVyb3BlIHRpbWV6b25lLWluZGlhbiBcCisgICAgICAgICAgICAgdGltZXpvbmUtaXNvMzE2Ni50YWIgdGltZXpvbmUtcGFjaWZpYyB0aW1lem9uZS16b25lLnRhYiIKKworUyA9ICIke1dPUktESVJ9IgorCitERUZBVUxUX1RJTUVaT05FID89ICJVbml2ZXJzYWwiCitJTlNUQUxMX1RJTUVaT05FX0ZJTEUgPz0gIjEiCisKK1RaT05FUz0gImFmcmljYSBhbnRhcmN0aWNhIGFzaWEgYXVzdHJhbGFzaWEgZXVyb3BlIG5vcnRoYW1lcmljYSBzb3V0aGFtZXJpY2EgIFwKKyAgICAgICAgIGZhY3RvcnkgZXRjZXRlcmEgYmFja3dhcmQgc3lzdGVtdiBcCisgICAgICAgICIKKyMgcGFjaWZpY25ldyAKKworZG9fY29tcGlsZSAoKSB7CisgICAgICAgIGZvciB6b25lIGluICR7VFpPTkVTfTsgZG8gXAorICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mbyAtTCAvZGV2L251bGwgXAorICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCisgICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvL3Bvc2l4IC1MIC9kZXYvbnVsbCBcCisgICAgICAgICAgICAgICAgLXkgJHtTfS95ZWFyaXN0eXBlLnNoICR7U30vJHt6b25lfSA7IFwKKyAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8vcmlnaHQgLUwgJHtTfS9sZWFwc2Vjb25kcyBcCisgICAgICAgICAgICAgICAgLXkgJHtTfS95ZWFyaXN0eXBlLnNoICR7U30vJHt6b25lfSA7IFwKKyAgICAgICAgZG9uZQorfQorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9LyRleGVjX3ByZWZpeCAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFBSICR7U30vJGV4ZWNfcHJlZml4ICR7RH0vCisgICAgICAgICMgbGliYyBpcyByZW1vdmluZyB6b25laW5mbyBmaWxlcyBmcm9tIHBhY2thZ2UKKyAgICAgICAgY3AgLXBQICIke1N9L3pvbmUudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFAgIiR7U30vem9uZTE5NzAudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbworICAgICAgICBjcCAtcFAgIiR7U30vaXNvMzE2Ni50YWIiICR7RH0ke2RhdGFkaXJ9L3pvbmVpbmZvCisKKyAgICAgICAgIyBJbnN0YWxsIGRlZmF1bHQgdGltZXpvbmUKKyAgICAgICAgaWYgWyAtZSAke0R9JHtkYXRhZGlyfS96b25laW5mby8ke0RFRkFVTFRfVElNRVpPTkV9IF07IHRoZW4KKyAgICAgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0KKyAgICAgICAgICAgIGlmIFsgIiR7SU5TVEFMTF9USU1FWk9ORV9GSUxFfSIgPSAiMSIgXTsgdGhlbgorICAgICAgICAgICAgICAgIGVjaG8gJHtERUZBVUxUX1RJTUVaT05FfSA+ICR7RH0ke3N5c2NvbmZkaXJ9L3RpbWV6b25lCisgICAgICAgICAgICBmaQorICAgICAgICAgICAgbG4gLXMgJHtkYXRhZGlyfS96b25laW5mby8ke0RFRkFVTFRfVElNRVpPTkV9ICR7RH0ke3N5c2NvbmZkaXJ9L2xvY2FsdGltZQorICAgICAgICBlbHNlCisgICAgICAgICAgICBiYmVycm9yICJERUZBVUxUX1RJTUVaT05FIGlzIHNldCB0byBhbiBpbnZhbGlkIHZhbHVlLiIKKyAgICAgICAgICAgIGV4aXQgMQorICAgICAgICBmaQorCisgICAgICAgIGNob3duIC1SIHJvb3Q6cm9vdCAke0R9Cit9CisKK3BrZ19wb3N0aW5zdF8ke1BOfSAoKSB7CisJZXRjX2x0PSIkRCR7c3lzY29uZmRpcn0vbG9jYWx0aW1lIgorCXNyYz0iJEQke3N5c2NvbmZkaXJ9L3RpbWV6b25lIgorCisJaWYgWyAtZSAke3NyY30gXSA7IHRoZW4KKwkJdHo9JChzZWQgLWUgJ3M6Iy4qOjonIC1lICdzOltbOnNwYWNlOl1dKjo6ZycgLWUgJy9eJC9kJyAiJHtzcmN9IikKKwlmaQorCQorCWlmIFsgLXogIiR7dHp9IiBdIDsgdGhlbgorCQlleGl0IDAKKwlmaQorCQorCWlmIFsgISAtZSAiJEQke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IiBdIDsgdGhlbgorCQllY2hvICJZb3UgaGF2ZSBhbiBpbnZhbGlkIFRJTUVaT05FIHNldHRpbmcgaW4gJHtzcmN9IgorCQllY2hvICJZb3VyICR7ZXRjX2x0fSBoYXMgYmVlbiByZXNldCB0byBVbml2ZXJzYWw7IGVuam95ISIKKwkJdHo9IlVuaXZlcnNhbCIKKwkJZWNobyAiVXBkYXRpbmcgJHtldGNfbHR9IHdpdGggJEQke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IgorCQlpZiBbIC1MICR7ZXRjX2x0fSBdIDsgdGhlbgorCQkJcm0gLWYgIiR7ZXRjX2x0fSIKKwkJZmkKKwkJbG4gLXMgIiR7ZGF0YWRpcn0vem9uZWluZm8vJHt0en0iICIke2V0Y19sdH0iCisJZmkKK30KKworIyBQYWNrYWdlcyBwcmltYXJpbHkgb3JnYW5pemVkIGJ5IGRpcmVjdG9yeSB3aXRoIGEgbWFqb3IgY2l0eQorIyBpbiBtb3N0IHRpbWUgem9uZXMgaW4gdGhlIGJhc2UgcGFja2FnZQorCitUWl9QQUNLQUdFUyA9ICIgXAorICAgIHR6ZGF0YS1jb3JlIHR6ZGF0YS1taXNjIHR6ZGF0YS1wb3NpeCB0emRhdGEtcmlnaHQgdHpkYXRhLWFmcmljYSBcCisgICAgdHpkYXRhLWFtZXJpY2FzIHR6ZGF0YS1hbnRhcmN0aWNhIHR6ZGF0YS1hcmN0aWMgdHpkYXRhLWFzaWEgXAorICAgIHR6ZGF0YS1hdGxhbnRpYyB0emRhdGEtYXVzdHJhbGlhIHR6ZGF0YS1ldXJvcGUgdHpkYXRhLXBhY2lmaWMiCitQQUNLQUdFUyA9ICIke1RaX1BBQ0tBR0VTfSAke1BOfSIKKworRklMRVNfdHpkYXRhLWFmcmljYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BZnJpY2EvKiIKK1JQUk9WSURFU190emRhdGEtYWZyaWNhID0gInR6ZGF0YS1hZnJpY2EiCisKK0ZJTEVTX3R6ZGF0YS1hbWVyaWNhcyArPSAiJHtkYXRhZGlyfS96b25laW5mby9BbWVyaWNhLyogIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VTLyogICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQnJhemlsLyogICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9DYW5hZGEvKiAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01leGljby8qICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQ2hpbGUvKiIKK1JQUk9WSURFU190emRhdGEtYW1lcmljYXMgPSAidHpkYXRhLWFtZXJpY2FzIgorCitGSUxFU190emRhdGEtYW50YXJjdGljYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BbnRhcmN0aWNhLyoiCitSUFJPVklERVNfdHpkYXRhLWFudGFyY3RpY2EgPSAidHpkYXRhLWFudGFyY3RpY2EiCisKK0ZJTEVTX3R6ZGF0YS1hcmN0aWMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXJjdGljLyoiCitSUFJPVklERVNfdHpkYXRhLWFyY3RpYyA9ICJ0emRhdGEtYXJjdGljIgorCitGSUxFU190emRhdGEtYXNpYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9Bc2lhLyogICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0luZGlhbi8qICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTWlkZWFzdC8qIgorUlBST1ZJREVTX3R6ZGF0YS1hc2lhID0gInR6ZGF0YS1hc2lhIgorCitGSUxFU190emRhdGEtYXRsYW50aWMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXRsYW50aWMvKiIKK1JQUk9WSURFU190emRhdGEtYXRsYW50aWMgPSAidHpkYXRhLWF0bGFudGljIgorCitGSUxFU190emRhdGEtYXVzdHJhbGlhICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS8qIgorUlBST1ZJREVTX3R6ZGF0YS1hdXN0cmFsaWEgPSAidHpkYXRhLWF1c3RyYWxpYSIKKworRklMRVNfdHpkYXRhLWV1cm9wZSArPSAiJHtkYXRhZGlyfS96b25laW5mby9FdXJvcGUvKiIKK1JQUk9WSURFU190emRhdGEtZXVyb3BlID0gInR6ZGF0YS1ldXJvcGUiCisKK0ZJTEVTX3R6ZGF0YS1wYWNpZmljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvKiIKK1JQUk9WSURFU190emRhdGEtcGFjaWZpYyA9ICJ0emRhdGEtcGFjaWZpYyIKKworRklMRVNfdHpkYXRhLXBvc2l4ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL3Bvc2l4LyoiCitSUFJPVklERVNfdHpkYXRhLXBvc2l4ID0gInR6ZGF0YS1wb3NpeCIKKworRklMRVNfdHpkYXRhLXJpZ2h0ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL3JpZ2h0LyoiCitSUFJPVklERVNfdHpkYXRhLXJpZ2h0ID0gInR6ZGF0YS1yaWdodCIKKworRklMRVNfdHpkYXRhLW1pc2MgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQ3ViYSAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWd5cHQgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWlyZSAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRmFjdG9yeSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vR0ItRWlyZSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSG9uZ2tvbmcgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSWNlbGFuZCAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXJhbiAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXNyYWVsICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFtYWljYSAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFwYW4gICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vS3dhamFsZWluICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTGlieWEgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTmF2YWpvICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9sYW5kICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9ydHVnYWwgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vU2luZ2Fwb3JlICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vVHVya2V5IgorUlBST1ZJREVTX3R6ZGF0YS1taXNjID0gInR6ZGF0YS1taXNjIgorCitGSUxFU190emRhdGEtY29yZSArPSAiIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvSG9ub2x1bHUgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQW5jaG9yYWdlICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTG9zX0FuZ2VsZXMgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvRGVudmVyICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2hpY2FnbyAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTmV3X1lvcmsgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2FyYWNhcyAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvU2FvX1BhdWxvICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Mb25kb24gICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9QYXJpcyAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FmcmljYS9DYWlybyAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Nb3Njb3cgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRHViYWkgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvS2FyYWNoaSAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRGhha2EgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvQmFuZ2tvayAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvSG9uZ19Lb25nICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvVG9reW8gICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9EYXJ3aW4gICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9BZGVsYWlkZSAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9CcmlzYmFuZSAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9TeWRuZXkgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvTm91bWVhICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NTVDZDRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVDVFRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCswICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVC0wICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVDAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dyZWVud2ljaCAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hTVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01FVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVDdNRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aLUNIQVQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BSQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BTVDhQRFQgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPSyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VDVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VUQyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VuaXZlcnNhbCAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1ctU1UgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1dFVCAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1p1bHUgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUudGFiICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUxOTcwLnRhYiAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL2lzbzMxNjYudGFiICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V0Yy8qIgorCitDT05GRklMRVNfdHpkYXRhLWNvcmUgKz0gIiR7QCAiJHtzeXNjb25mZGlyfS90aW1lem9uZSIgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcignSU5TVEFMTF9USU1FWk9ORV9GSUxFJykpIGVsc2UgIiIgfSIKK0NPTkZGSUxFU190emRhdGEtY29yZSArPSAiJHtzeXNjb25mZGlyfS9sb2NhbHRpbWUiCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitSREVQRU5EU18ke1BOfSA9ICIke1RaX1BBQ0tBR0VTfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6Y29kZS90emNvZGUtbmF0aXZlXzIwMThpLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpjb2RlL3R6Y29kZS1uYXRpdmVfMjAxOGkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwNTYzNzAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpjb2RlL3R6Y29kZS1uYXRpdmVfMjAxOGkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi0jIG5vdGUgdGhhdCB3ZSBhbGxvdyBmb3IgdXMgdG8gdXNlIGRhdGEgbGF0ZXIgdGhhbiBvdXIgY29kZSB2ZXJzaW9uCi0jCi1TVU1NQVJZID0gInR6Y29kZSwgdGltZXpvbmUgem9uZWluZm8gdXRpbHMgLS0gemljLCB6ZHVtcCwgdHpzZWxlY3QiCi1MSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKLQotU1JDX1VSSSA9IiBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emNvZGUke1BWfS50YXIuZ3o7bmFtZT10emNvZGUgXAotICAgICAgICAgICBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emRhdGEke1BWfS50YXIuZ3o7bmFtZT10emRhdGEgXAotICAgICAgICAgICAiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCi0KLVNSQ19VUklbdHpjb2RlLm1kNXN1bV0gPSAiNmE2ZDk4YmU4ZmEyZmEzNDg1ZTI1MzQzZTc5MTg4YjQiCi1TUkNfVVJJW3R6Y29kZS5zaGEyNTZzdW1dID0gImFhYWNkYjg3NmNhNmZiOWQ1OGUyNDRiNDYyY2JjNzU3OGE0OTZiMWIxMDk5NDM4MWI0YjMyYjlmMmRlZDMyZGMiCi1TUkNfVVJJW3R6ZGF0YS5tZDVzdW1dID0gImIzZjBhMWE3ODk0ODBhMDM2ZTU4NDY2Y2QwNzAyNDc3IgotU1JDX1VSSVt0emRhdGEuc2hhMjU2c3VtXSA9ICI4MmM0NWVmODRjYTNiYzAxZDBhNGEzOTdiYThhZGViOGY3ZjE5OWM2NTUwNzQwNTg3YzZhYzVhNzEwOGMwMGQ5IgotCi1TID0gIiR7V09SS0RJUn0iCi0KLWluaGVyaXQgbmF0aXZlCi0KLUVYVFJBX09FTUFLRSArPSAiY2M9JyR7Q0N9JyIKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAtbSA3NTUgemljICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHpkdW1wICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHR6c2VsZWN0ICR7RH0ke2JpbmRpcn0vCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emRhdGEvdHpkYXRhXzIwMThpLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE4aS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDQ4MmU4OS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emRhdGEvdHpkYXRhXzIwMThpLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjE1ICswLDAgQEAKLVNVTU1BUlkgPSAiVGltZXpvbmUgZGF0YSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcyIKLVNFQ1RJT04gPSAiYmFzZSIKLUxJQ0VOU0UgPSAiUEQgJiBCU0QgJiBCU0QtMy1DbGF1c2UiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1jNjc5YzlkNmIwMmJjMjc1N2IzZWFmOGY1M2M0M2ZiYSIKLQotREVQRU5EUyA9ICJ0emNvZGUtbmF0aXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6ZGF0YSR7UFZ9LnRhci5nejtuYW1lPXR6ZGF0YSIKLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCi0KLVNSQ19VUklbdHpkYXRhLm1kNXN1bV0gPSAiYjNmMGExYTc4OTQ4MGEwMzZlNTg0NjZjZDA3MDI0NzciCi1TUkNfVVJJW3R6ZGF0YS5zaGEyNTZzdW1dID0gIjgyYzQ1ZWY4NGNhM2JjMDFkMGE0YTM5N2JhOGFkZWI4ZjdmMTk5YzY1NTA3NDA1ODdjNmFjNWE3MTA4YzAwZDkiCi0KLWluaGVyaXQgYWxsYXJjaAotCi1SQ09ORkxJQ1RTXyR7UE59ID0gInRpbWV6b25lcyB0aW1lem9uZS1hZnJpY2EgdGltZXpvbmUtYW1lcmljYSB0aW1lem9uZS1hbnRhcmN0aWNhIFwKLSAgICAgICAgICAgICB0aW1lem9uZS1hcmN0aWMgdGltZXpvbmUtYXNpYSB0aW1lem9uZS1hdGxhbnRpYyBcCi0gICAgICAgICAgICAgdGltZXpvbmUtYXVzdHJhbGlhIHRpbWV6b25lLWV1cm9wZSB0aW1lem9uZS1pbmRpYW4gXAotICAgICAgICAgICAgIHRpbWV6b25lLWlzbzMxNjYudGFiIHRpbWV6b25lLXBhY2lmaWMgdGltZXpvbmUtem9uZS50YWIiCi0KLVMgPSAiJHtXT1JLRElSfSIKLQotREVGQVVMVF9USU1FWk9ORSA/PSAiVW5pdmVyc2FsIgotSU5TVEFMTF9USU1FWk9ORV9GSUxFID89ICIxIgotCi1UWk9ORVM9ICJhZnJpY2EgYW50YXJjdGljYSBhc2lhIGF1c3RyYWxhc2lhIGV1cm9wZSBub3J0aGFtZXJpY2Egc291dGhhbWVyaWNhICBcCi0gICAgICAgICBmYWN0b3J5IGV0Y2V0ZXJhIGJhY2t3YXJkIHN5c3RlbXYgXAotICAgICAgICAiCi0jIHBhY2lmaWNuZXcgCi0KLWRvX2NvbXBpbGUgKCkgewotICAgICAgICBmb3Igem9uZSBpbiAke1RaT05FU307IGRvIFwKLSAgICAgICAgICAgICR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS96aWMgLWQgJHtXT1JLRElSfSR7ZGF0YWRpcn0vem9uZWluZm8gLUwgL2Rldi9udWxsIFwKLSAgICAgICAgICAgICAgICAteSAke1N9L3llYXJpc3R5cGUuc2ggJHtTfS8ke3pvbmV9IDsgXAotICAgICAgICAgICAgJHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9L3ppYyAtZCAke1dPUktESVJ9JHtkYXRhZGlyfS96b25laW5mby9wb3NpeCAtTCAvZGV2L251bGwgXAotICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCi0gICAgICAgICAgICAke1NUQUdJTkdfQklORElSX05BVElWRX0vemljIC1kICR7V09SS0RJUn0ke2RhdGFkaXJ9L3pvbmVpbmZvL3JpZ2h0IC1MICR7U30vbGVhcHNlY29uZHMgXAotICAgICAgICAgICAgICAgIC15ICR7U30veWVhcmlzdHlwZS5zaCAke1N9LyR7em9uZX0gOyBcCi0gICAgICAgIGRvbmUKLX0KLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfS8kZXhlY19wcmVmaXggJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQUiAke1N9LyRleGVjX3ByZWZpeCAke0R9LwotICAgICAgICAjIGxpYmMgaXMgcmVtb3Zpbmcgem9uZWluZm8gZmlsZXMgZnJvbSBwYWNrYWdlCi0gICAgICAgIGNwIC1wUCAiJHtTfS96b25lLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQICIke1N9L3pvbmUxOTcwLnRhYiIgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8KLSAgICAgICAgY3AgLXBQICIke1N9L2lzbzMxNjYudGFiIiAke0R9JHtkYXRhZGlyfS96b25laW5mbwotCi0gICAgICAgICMgSW5zdGFsbCBkZWZhdWx0IHRpbWV6b25lCi0gICAgICAgIGlmIFsgLWUgJHtEfSR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSBdOyB0aGVuCi0gICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0gICAgICAgICAgICBpZiBbICIke0lOU1RBTExfVElNRVpPTkVfRklMRX0iID0gIjEiIF07IHRoZW4KLSAgICAgICAgICAgICAgICBlY2hvICR7REVGQVVMVF9USU1FWk9ORX0gPiAke0R9JHtzeXNjb25mZGlyfS90aW1lem9uZQotICAgICAgICAgICAgZmkKLSAgICAgICAgICAgIGxuIC1zICR7ZGF0YWRpcn0vem9uZWluZm8vJHtERUZBVUxUX1RJTUVaT05FfSAke0R9JHtzeXNjb25mZGlyfS9sb2NhbHRpbWUKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYmJlcnJvciAiREVGQVVMVF9USU1FWk9ORSBpcyBzZXQgdG8gYW4gaW52YWxpZCB2YWx1ZS4iCi0gICAgICAgICAgICBleGl0IDEKLSAgICAgICAgZmkKLQotICAgICAgICBjaG93biAtUiByb290OnJvb3QgJHtEfQotfQotCi1wa2dfcG9zdGluc3RfJHtQTn0gKCkgewotCWV0Y19sdD0iJEQke3N5c2NvbmZkaXJ9L2xvY2FsdGltZSIKLQlzcmM9IiREJHtzeXNjb25mZGlyfS90aW1lem9uZSIKLQotCWlmIFsgLWUgJHtzcmN9IF0gOyB0aGVuCi0JCXR6PSQoc2VkIC1lICdzOiMuKjo6JyAtZSAnczpbWzpzcGFjZTpdXSo6OmcnIC1lICcvXiQvZCcgIiR7c3JjfSIpCi0JZmkKLQkKLQlpZiBbIC16ICIke3R6fSIgXSA7IHRoZW4KLQkJZXhpdCAwCi0JZmkKLQkKLQlpZiBbICEgLWUgIiREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIgXSA7IHRoZW4KLQkJZWNobyAiWW91IGhhdmUgYW4gaW52YWxpZCBUSU1FWk9ORSBzZXR0aW5nIGluICR7c3JjfSIKLQkJZWNobyAiWW91ciAke2V0Y19sdH0gaGFzIGJlZW4gcmVzZXQgdG8gVW5pdmVyc2FsOyBlbmpveSEiCi0JCXR6PSJVbml2ZXJzYWwiCi0JCWVjaG8gIlVwZGF0aW5nICR7ZXRjX2x0fSB3aXRoICREJHtkYXRhZGlyfS96b25laW5mby8ke3R6fSIKLQkJaWYgWyAtTCAke2V0Y19sdH0gXSA7IHRoZW4KLQkJCXJtIC1mICIke2V0Y19sdH0iCi0JCWZpCi0JCWxuIC1zICIke2RhdGFkaXJ9L3pvbmVpbmZvLyR7dHp9IiAiJHtldGNfbHR9IgotCWZpCi19Ci0KLSMgUGFja2FnZXMgcHJpbWFyaWx5IG9yZ2FuaXplZCBieSBkaXJlY3Rvcnkgd2l0aCBhIG1ham9yIGNpdHkKLSMgaW4gbW9zdCB0aW1lIHpvbmVzIGluIHRoZSBiYXNlIHBhY2thZ2UKLQotUEFDS0FHRVMgPSAidHpkYXRhIHR6ZGF0YS1taXNjIHR6ZGF0YS1wb3NpeCB0emRhdGEtcmlnaHQgdHpkYXRhLWFmcmljYSBcCi0gICAgdHpkYXRhLWFtZXJpY2FzIHR6ZGF0YS1hbnRhcmN0aWNhIHR6ZGF0YS1hcmN0aWMgdHpkYXRhLWFzaWEgXAotICAgIHR6ZGF0YS1hdGxhbnRpYyB0emRhdGEtYXVzdHJhbGlhIHR6ZGF0YS1ldXJvcGUgdHpkYXRhLXBhY2lmaWMiCi0KLUZJTEVTX3R6ZGF0YS1hZnJpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQWZyaWNhLyoiCi1SUFJPVklERVNfdHpkYXRhLWFmcmljYSA9ICJ0emRhdGEtYWZyaWNhIgotCi1GSUxFU190emRhdGEtYW1lcmljYXMgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW1lcmljYS8qICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9VUy8qICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0JyYXppbC8qICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vQ2FuYWRhLyogICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9NZXhpY28vKiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NoaWxlLyoiCi1SUFJPVklERVNfdHpkYXRhLWFtZXJpY2FzID0gInR6ZGF0YS1hbWVyaWNhcyIKLQotRklMRVNfdHpkYXRhLWFudGFyY3RpY2EgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQW50YXJjdGljYS8qIgotUlBST1ZJREVTX3R6ZGF0YS1hbnRhcmN0aWNhID0gInR6ZGF0YS1hbnRhcmN0aWNhIgotCi1GSUxFU190emRhdGEtYXJjdGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0FyY3RpYy8qIgotUlBST1ZJREVTX3R6ZGF0YS1hcmN0aWMgPSAidHpkYXRhLWFyY3RpYyIKLQotRklMRVNfdHpkYXRhLWFzaWEgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQXNpYS8qICAgICAgICBcCi0gICAgICAgICAgICAgICAgJHtkYXRhZGlyfS96b25laW5mby9JbmRpYW4vKiAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01pZGVhc3QvKiIKLVJQUk9WSURFU190emRhdGEtYXNpYSA9ICJ0emRhdGEtYXNpYSIKLQotRklMRVNfdHpkYXRhLWF0bGFudGljICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL0F0bGFudGljLyoiCi1SUFJPVklERVNfdHpkYXRhLWF0bGFudGljID0gInR6ZGF0YS1hdGxhbnRpYyIKLQotRklMRVNfdHpkYXRhLWF1c3RyYWxpYSArPSAiJHtkYXRhZGlyfS96b25laW5mby9BdXN0cmFsaWEvKiIKLVJQUk9WSURFU190emRhdGEtYXVzdHJhbGlhID0gInR6ZGF0YS1hdXN0cmFsaWEiCi0KLUZJTEVTX3R6ZGF0YS1ldXJvcGUgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vRXVyb3BlLyoiCi1SUFJPVklERVNfdHpkYXRhLWV1cm9wZSA9ICJ0emRhdGEtZXVyb3BlIgotCi1GSUxFU190emRhdGEtcGFjaWZpYyArPSAiJHtkYXRhZGlyfS96b25laW5mby9QYWNpZmljLyoiCi1SUFJPVklERVNfdHpkYXRhLXBhY2lmaWMgPSAidHpkYXRhLXBhY2lmaWMiCi0KLUZJTEVTX3R6ZGF0YS1wb3NpeCArPSAiJHtkYXRhZGlyfS96b25laW5mby9wb3NpeC8qIgotUlBST1ZJREVTX3R6ZGF0YS1wb3NpeCA9ICJ0emRhdGEtcG9zaXgiCi0KLUZJTEVTX3R6ZGF0YS1yaWdodCArPSAiJHtkYXRhZGlyfS96b25laW5mby9yaWdodC8qIgotUlBST1ZJREVTX3R6ZGF0YS1yaWdodCA9ICJ0emRhdGEtcmlnaHQiCi0KLQotRklMRVNfdHpkYXRhLW1pc2MgKz0gIiR7ZGF0YWRpcn0vem9uZWluZm8vQ3ViYSAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWd5cHQgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRWlyZSAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vRmFjdG9yeSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vR0ItRWlyZSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSG9uZ2tvbmcgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSWNlbGFuZCAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXJhbiAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSXNyYWVsICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFtYWljYSAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vSmFwYW4gICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vS3dhamFsZWluICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTGlieWEgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vTmF2YWpvICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9sYW5kICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vUG9ydHVnYWwgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vU2luZ2Fwb3JlICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vem9uZWluZm8vVHVya2V5IgotUlBST1ZJREVTX3R6ZGF0YS1taXNjID0gInR6ZGF0YS1taXNjIgotCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvSG9ub2x1bHUgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQW5jaG9yYWdlICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTG9zX0FuZ2VsZXMgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvRGVudmVyICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2hpY2FnbyAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvTmV3X1lvcmsgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvQ2FyYWNhcyAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FtZXJpY2EvU2FvX1BhdWxvICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Mb25kb24gICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9QYXJpcyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FmcmljYS9DYWlybyAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V1cm9wZS9Nb3Njb3cgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRHViYWkgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvS2FyYWNoaSAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvRGhha2EgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvQmFuZ2tvayAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvSG9uZ19Lb25nICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0FzaWEvVG9reW8gICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9EYXJ3aW4gICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9BZGVsYWlkZSAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9CcmlzYmFuZSAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0F1c3RyYWxpYS9TeWRuZXkgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BhY2lmaWMvTm91bWVhICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0NTVDZDRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0VTVDVFRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dCICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVCswICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVC0wICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dNVDAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0dyZWVud2ljaCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0hTVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01FVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL01TVDdNRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL05aLUNIQVQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BSQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1BTVDhQRFQgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1JPSyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VDVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VUQyAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1VuaXZlcnNhbCAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1ctU1UgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1dFVCAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL1p1bHUgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUudGFiICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL3pvbmUxOTcwLnRhYiAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL2lzbzMxNjYudGFiICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3pvbmVpbmZvL0V0Yy8qIgotCi1DT05GRklMRVNfJHtQTn0gKz0gIiR7QCAiJHtzeXNjb25mZGlyfS90aW1lem9uZSIgaWYgYmIudXRpbHMudG9fYm9vbGVhbihkLmdldFZhcignSU5TVEFMTF9USU1FWk9ORV9GSUxFJykpIGVsc2UgIiIgfSIKLUNPTkZGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfS9sb2NhbHRpbWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYwppbmRleCAzY2ZmNjU2Li4wN2U4ZDhlIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldC5pbmMKQEAgLTMsMTIgKzMsMTEgQEAKIFNFQ1RJT04gPSAiY29uc29sZS9uZXR3b3JrIgogTElDRU5TRSA9ICJHUEx2MyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM2Nzg5NTdiMGM4ZTk2NGFhNmM3MGZkNzc2NDFhNzFlIgotREVQRU5EUyA9ICJnbnV0bHMgemxpYiBsaWJwY3JlIgogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKIAotRVhUUkFfT0VDT05GID0gIi0td2l0aC1zc2w9Z251dGxzIC0tZGlzYWJsZS1ycGF0aCAtLWRpc2FibGUtaXJpIFwKLSAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGliZ251dGxzLXByZWZpeCBhY19jdl9oZWFkZXJfdXVpZF91dWlkX2g9bm8iCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LWxpYmdudXRscy1wcmVmaXggLS13aXRob3V0LWxpYnNzbC1wcmVmaXggXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGF0aCIKIAogRVhUUkFfT0VNQUtFICs9ICdUT09MQ0hBSU5fT1BUSU9OUz0iJHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKICAgICAgICAgICAgICAgICAgREVCVUdfUFJFRklYX01BUD0iJHtERUJVR19QUkVGSVhfTUFQfSInCkBAIC0yMSw5ICsyMCwxNyBAQAogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2xpYnV1aWRdID0gIi0td2l0aC1saWJ1dWlkLCAtLXdpdGhvdXQtbGlidXVpZCx1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJRyA/Pz0gImdudXRscyBwY3JlIHpsaWIgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCitQQUNLQUdFQ09ORklHW2FyZXNdID0gIi0td2l0aC1jYXJlcywtLXdpdGhvdXQtY2FyZXMsYy1hcmVzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1zc2w9Z251dGxzLCxnbnV0bHMiCiBQQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgorUEFDS0FHRUNPTkZJR1tpcmldID0gIi0tZW5hYmxlLWlyaSwtLWRpc2FibGUtaXJpLGxpYmlkbjIiCitQQUNLQUdFQ09ORklHW2xpYnBzbF0gPSAiLS13aXRoLWxpYnBzbCwtLXdpdGhvdXQtbGlicHNsLGxpYnBzbCIKK1BBQ0tBR0VDT05GSUdbbGlidXVpZF0gPSAiLS13aXRoLWxpYnV1aWQsLS13aXRob3V0LWxpYnV1aWQsdXRpbC1saW51eCIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS13aXRoLXNzbD1vcGVuc3NsLCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1twY3JlXSA9ICItLWVuYWJsZS1wY3JlLC0tZGlzYWJsZS1wY3JlLGxpYnBjcmUiCitQQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliLC0td2l0aG91dC16bGliLHpsaWIiCiAKICMgTGV0IGFjbG9jYWwgdXNlIHRoZSByZWxhdGl2ZSBwYXRoIGZvciB0aGUgbTQgZmlsZSByYXRoZXIgdGhhbgogIyBhYnNvbHV0ZSwgb3RoZXJ3aXNlIHRoZXJlIG1pZ2h0IGJlIGFuICJBcmd1bWVudCBsaXN0IHRvbyBsb25nIiBlcnJvcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzYzZmNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gYjk1NjVkYzJmZTBjNGY3ZGFhZWM5MWI3ZTgzYmM3MzEzZGVlMmY0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEzIEFwciAyMDE1IDE3OjAyOjEzIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIFVuc2V0IG5lZWRfY2hhcnNldF9hbGlhcyB3aGVuIGJ1aWxkaW5nIGZvciBtdXNsCi0KLWxvY2FsY2hhcnNldCB1c2VzIGFjX2N2X2dudV9saWJyYXJ5XzJfMSBmcm9tIGdsaWJjMjEubTQKLXdoaWNoIGFjdHVhbGx5IHNob3VkbCBiZSBmaXhlZCBpbiBnbnVsaWIgYW5kIHRoZW4gYWxsIGRvd25zdHJlYW0KLXByb2plY3RzIHdpbGwgZ2V0IGl0IGV2ZW50dWFsbHkuIEZvciBub3cgd2UgYXBwbHkgdGhlIGZpeCB0bwotY29yZXV0aWxzCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gbGliL2dudWxpYi5tayB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotSW5kZXg6IHdnZXQtMS4xNi4zL2xpYi9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHdnZXQtMS4xNi4zLm9yaWcvbGliL01ha2VmaWxlLmFtCi0rKysgd2dldC0xLjE2LjMvbGliL01ha2VmaWxlLmFtCi1AQCAtODQ2LDcgKzg0Niw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbGNoYXJzZXQ6IGFsbC1sb2NhbAotIAkgIGNhc2UgJyQoaG9zdF9vcyknIGluIFwKLSAJICAgIGRhcndpbls1Nl0qKSBcCi0gCSAgICAgIG5lZWRfY2hhcnNldF9hbGlhcz10cnVlIDs7IFwKLS0JICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyopIFwKLSsJICAgIGRhcndpbiogfCBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBjZWdjYyogfCBsaW51eC1tdXNsKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9ZmFsc2UgOzsgXAotIAkgICAgKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOS41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0XzEuMTkuNS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM3ZDhjNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOS41LmJiCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vd2dldC93Z2V0LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkYjZmMDNkNjU1MDQxZjgyZWI2NGI4YzhhMWZhN2RhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImIzOTIxMmFiZTFhNzNmMmIyOGY0YzZjYjIyM2M3Mzg1NTljYWFjOTFkNmU0MTZhNmQ5MWQ0YjlkNTVjOWZhZWUiCi0KLXJlcXVpcmUgd2dldC5pbmMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjIwLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4yMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNzZiZDAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4yMC4xLmJiCkBAIC0wLDAgKzEsOCBAQAorU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L3dnZXQvd2dldC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjZlYmU5YzdiMzc1ZmM5ODMyZmIxYjIwMjgyNzFmYjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjc4M2IzOTBjYjU3MWM4MzdiMzkyODU3OTQ1ZjVhMWYwMGVjNmIwNDMxNzdjYzQyYWJiOGVlMWI1NDJlZTFiMyIKKworcmVxdWlyZSB3Z2V0LmluYwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZXBpcGhhbnkvZXBpcGhhbnlfMy4yOC4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjI4LjMuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQ2YzlkMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjI4LjMuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVNVTU1BUlkgPSAiV2ViS2l0IGJhc2VkIHdlYiBicm93c2VyIGZvciBHTk9NRSIKLUxJQ0VOU0UgPSAiR1BMdjMrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQiCi0KLURFUEVORFMgPSAibGlic291cC0yLjQgd2Via2l0Z3RrIGd0ayszIGlzby1jb2RlcyBhdmFoaSBsaWJub3RpZnkgZ2NyIFwKLQkgICBnc2V0dGluZ3MtZGVza3RvcC1zY2hlbWFzIGxpYnhtbDItbmF0aXZlIFwKLQkgICBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUganNvbi1nbGliIgotCi1HTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgotaW5oZXJpdCBnbm9tZWJhc2UgZ3NldHRpbmdzIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ2V0dGV4dAotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7R05PTUVCTn0vJHtAZ25vbWVfdmVyZGlyKCIke1BWfSIpfS8ke0dOT01FQk59LSR7UFZ9LnRhci4ke0dOT01FX0NPTVBSRVNTX1RZUEV9O25hbWU9YXJjaGl2ZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWhlbHAtbWVzb24uYnVpbGQtZGlzYWJsZS10aGUtdXNlLW9mLXllbHAucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICIzMWE0YTQ0M2U4ZTIyZjA4NWExMGY4MGI3ZTQxZDVmMyIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjY5MDU0NmE3MDFmMDQ2YzVjMmIzYTA5MjY1OTU4OWVhNmUxN2NiMGY5YTgxZWMzZmRiMzA0NmIwMGNlZGU2ZjciCi0KLUVYVFJBX09FTUVTT04gKz0gIiAtRGRpc3RyaWJ1dG9yX25hbWU9JHtESVNUUk99IgotCi1GSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEgJHtkYXRhZGlyfS9nbm9tZS1zaGVsbC9zZWFyY2gtcHJvdmlkZXJzICR7ZGF0YWRpcn0vbWV0YWluZm8iCi1SREVQRU5EU18ke1BOfSA9ICJpc28tY29kZXMgYWR3YWl0YS1pY29uLXRoZW1lIGdzZXR0aW5ncy1kZXNrdG9wLXNjaGVtYXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjMwLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9lcGlwaGFueS9lcGlwaGFueV8zLjMwLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0YzgyZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2VwaXBoYW55L2VwaXBoYW55XzMuMzAuMy5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIldlYktpdCBiYXNlZCB3ZWIgYnJvd3NlciBmb3IgR05PTUUiCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IgorCitERVBFTkRTID0gImxpYnNvdXAtMi40IHdlYmtpdGd0ayBndGsrMyBpc28tY29kZXMgYXZhaGkgbGlibm90aWZ5IGdjciBcCisJICAgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyBsaWJ4bWwyLW5hdGl2ZSBcCisJICAgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGpzb24tZ2xpYiBsaWJkYXp6bGUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBnc2V0dGluZ3MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnZXR0ZXh0CitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIG9wZW5nbCIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtHTk9NRUJOfS8ke0Bnbm9tZV92ZXJkaXIoIiR7UFZ9Iil9LyR7R05PTUVCTn0tJHtQVn0udGFyLiR7R05PTUVfQ09NUFJFU1NfVFlQRX07bmFtZT1hcmNoaXZlIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItaGVscC1tZXNvbi5idWlsZC1kaXNhYmxlLXRoZS11c2Utb2YteWVscC5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImZkMDU3MDJiMWM5YmNiNmEwNjMzZGU1NGM0YTZjY2QyIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNzZjZGI4ZGI2YWYyZGE4YzMzNzFhNzNlMmRmZDViYTY0ODY3YjVmMWU2NWZhOTYyMWYzNTM0OGE0MmZmMGQxNyIKKworRVhUUkFfT0VNRVNPTiArPSAiIC1EZGlzdHJpYnV0b3JfbmFtZT0ke0RJU1RST30iCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMSAke2RhdGFkaXJ9L2dub21lLXNoZWxsL3NlYXJjaC1wcm92aWRlcnMgJHtkYXRhZGlyfS9tZXRhaW5mbyIKK1JERVBFTkRTXyR7UE59ID0gImlzby1jb2RlcyBhZHdhaXRhLWljb24tdGhlbWUgZ3NldHRpbmdzLWRlc2t0b3Atc2NoZW1hcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2djci9nY3JfMy4yOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA3OTYzNjIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1TVU1NQVJZID0gIkEgbGlicmFyeSBmb3IgYml0cyBvZiBjcnlwdG8gVUkgYW5kIHBhcnNpbmcgZXRjIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbm9tZS5vcmcvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi0KLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01NWNhODE3Y2NiN2Q1YjViNjYzNTU2OTBlOWFiYzYwNSIKLQotREVQRU5EUyA9ICJpbnRsdG9vbC1uYXRpdmUgZ3RrKzMgcDExLWtpdCBnbGliLTIuMCBsaWJnY3J5cHQgXAotICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnbGlieHNsdC1uYXRpdmUnLCAnJywgZCl9IgotCi1pbmhlcml0IGdub21lYmFzZSBndGstaWNvbi1jYWNoZSBndGstZG9jIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24KLSMgZGVwZW5kcyBvbiBndGsrMywgYnV0IGFsc28geDExIHRocm91Z2ggZ3RrKy14MTEKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjUzMjEzMTkzMDdkYWQzNGRjYTJmZDUyZTdjOWMwMWFiIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMTVlMTc1ZDFkYTdlYzQ4NmQ1OTc0OWJhMzQ5MDYyNDFjNDQyODk4MTE4Y2UyMjRhN2I3MGJmMmU4NDlmYWYwYiIKLQotRklMRVNfJHtQTn0gKz0gIiBcCi0gICAgJHtkYXRhZGlyfS9kYnVzLTEgXAotICAgICR7ZGF0YWRpcn0vZ2NyLTMgXAotIgotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMDIyOS8KLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKLQotIyBUaGVzZSBmaWxlcyBtYXkgYmUgb3V0IG9mIGRhdGUgb3IgbWlzc2luZyBvdXIgZml4ZXMKLSMgbGliZ2NyeXB0Lm00IGluIHBhcnRpY3VsYXIgaXMgY2FsbGluZyBpbnRvIGxpYmdjcnlwdC1jb25maWcKLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgIHJtIC1mICR7U30vYnVpbGQvbTQvKgotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nY3IvZ2NyXzMuMjguMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjk5MTk5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2NyL2djcl8zLjI4LjEuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJBIGxpYnJhcnkgZm9yIGJpdHMgb2YgY3J5cHRvIFVJIGFuZCBwYXJzaW5nIGV0YyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ25vbWUub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTVjYTgxN2NjYjdkNWI1YjY2MzU1NjkwZTlhYmM2MDUiCisKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIGd0ayszIHAxMS1raXQgZ2xpYi0yLjAgbGliZ2NyeXB0IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJ2xpYnhzbHQtbmF0aXZlJywgJycsIGQpfSIKKworaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWljb24tY2FjaGUgZ3RrLWRvYyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIHZhbGEgZ29iamVjdC1pbnRyb3NwZWN0aW9uCisjIGRlcGVuZHMgb24gZ3RrKzMsIGJ1dCBhbHNvIHgxMSB0aHJvdWdoIGd0aysteDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJhZmQ4OGNhY2ZkNTRjMWFjNWIzZTBlYjM1ZTNhYTY3NCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjk1MjA0YWEyMTExYzMwMTc3OGViZmJlNjA5NzVjZTNlZDY5OGM5NTg0MzBmZmNjMmE3ODVhYzVlNTkzZDE2OGIiCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICR7ZGF0YWRpcn0vZGJ1cy0xIFwKKyAgICAke2RhdGFkaXJ9L2djci0zIFwKKyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjkvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgVGhlc2UgZmlsZXMgbWF5IGJlIG91dCBvZiBkYXRlIG9yIG1pc3Npbmcgb3VyIGZpeGVzCisjIGxpYmdjcnlwdC5tNCBpbiBwYXJ0aWN1bGFyIGlzIGNhbGxpbmcgaW50byBsaWJnY3J5cHQtY29uZmlnCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBybSAtZiAke1N9L2J1aWxkL200LyoKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC1hLWNvdXBsZS1vZi1kZWNpc2lvbnMtYXJvdW5kLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LWEtY291cGxlLW9mLWRlY2lzaW9ucy1hcm91bmQtY3Jvc3MtY29tcGlsYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzOGZkMwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC1hLWNvdXBsZS1vZi1kZWNpc2lvbnMtYXJvdW5kLWNyb3NzLWNvbXBpbGF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gYmY3MTk5OWI2ZTY0ZDFmMTkxOWIwMzUxYjI3YzFjNDE3ZTJiODg1NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNCBGZWIgMjAxOSAxODowNjoyNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBHZW5lcmF0ZSBsb2FkZXJzLmNhY2hlIHVzaW5nIGEgbmF0aXZlIHRvb2wgd2hlbgorIGNyb3NzLWNvbXBpbGluZworCitPdGhlcndpc2UgbWVzb24gd291bGQgYXR0ZW1wdCB0byBydW4gYSB0YXJnZXQgYmluYXJ5LgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorCistLS0KKyBnZGstcGl4YnVmL21lc29uLmJ1aWxkIHwgMTMgKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9nZGstcGl4YnVmL21lc29uLmJ1aWxkIGIvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAoraW5kZXggMTk5NWZmZC4uZDY5MmNiNyAxMDA2NDQKKy0tLSBhL2dkay1waXhidWYvbWVzb24uYnVpbGQKKysrKyBiL2dkay1waXhidWYvbWVzb24uYnVpbGQKK0BAIC0yOTEsNiArMjkxLDcgQEAgZm9yZWFjaCBiaW46IGdka3BpeGJ1Zl9iaW4KKyAgIHNldF92YXJpYWJsZShiaW5fbmFtZS51bmRlcnNjb3JpZnkoKSwgYmluKQorIGVuZGZvcmVhY2gKKyAKKytpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQorICMgVGhlICdsb2FkZXJzLmNhY2hlJyB1c2VkIGZvciB0ZXN0aW5nLCBzbyB3ZSBkb24ndCBhY2NpZGVudGFsbHkKKyAjIGxvYWQgdGhlIGluc3RhbGxlZCBjYWNoZTsgd2UgYWx3YXlzIGJ1aWxkIGl0IGJ5IGRlZmF1bHQKKyBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCitAQCAtMzAyLDYgKzMwMywxOCBAQCBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF9ieV9kZWZhdWx0OiB0cnVlKQorIGxvYWRlcnNfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KHNvdXJjZXM6IFsgbG9hZGVyc19jYWNoZSBdKQorK2Vsc2UKKytsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0OiAnbG9hZGVycy5jYWNoZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzOiBbIGR5bmFtaWNfbG9hZGVyc19kZXAgXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBbCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR5bmFtaWNfbG9hZGVycywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX2J5X2RlZmF1bHQ6IHRydWUpCisrbG9hZGVyc19kZXAgPSBkZWNsYXJlX2RlcGVuZGVuY3koc291cmNlczogWyBsb2FkZXJzX2NhY2hlIF0pCisrZW5kaWYKKyAKKyBwa2djb25maWcgPSBpbXBvcnQoJ3BrZ2NvbmZpZycpCisgcGtnY29uZmlnLmdlbmVyYXRlKApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LXdpdGhvdXQtbGlidGlmZi1ub3QtaGF2aW5nLWFuLWVmZmVjdC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhNTRkOGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtRml4LXdpdGhvdXQtbGlidGlmZi1ub3QtaGF2aW5nLWFuLWVmZmVjdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLUZyb20gNDYwYmVmYzk5MmFkYjMyNDM0YjA0MDhiNDUzYmUzOWE2ODY2Y2NmOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotRGF0ZTogVHVlLCAxMCBPY3QgMjAxNyAxNDozMzoxOCArMDMwMAotU3ViamVjdDogW1BBVENIXSBGaXggLS13aXRob3V0LWxpYnRpZmYgbm90IGhhdmluZyBhbiBlZmZlY3QuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg4NzcwXQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDMxNWUwY2MuLjk4ZTc4MGMgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTY3Niw3ICs2NzYsNyBAQCBpZiB0ZXN0IHgkZ2lvX2Nhbl9zbmlmZiA9IHg7IHRoZW4KLSAgIEFDX0RFRklORShHREtfUElYQlVGX1VTRV9HSU9fTUlNRSwgMSwgW0RlZmluZSBpZiBnaW8gY2FuIHNuaWZmIGltYWdlIGRhdGFdKQotIGZpCi0gCi0tQU1fQ09ORElUSU9OQUwoSEFWRV9USUZGLCB0ZXN0ICJ4JGxpYnRpZmZfZm91bmQiICE9IHgpCi0rQU1fQ09ORElUSU9OQUwoSEFWRV9USUZGLCB0ZXN0ICJ4JGxpYnRpZmZfZm91bmQiICE9IHhubykKLSBBTV9DT05ESVRJT05BTChIQVZFX1BORywgdGVzdCAieCRMSUJQTkciICE9IHgpCi0gQU1fQ09ORElUSU9OQUwoSEFWRV9KUEVHLCB0ZXN0ICJ4JExJQkpQRUciICE9IHgpCi0gQU1fQ09ORElUSU9OQUwoSEFWRV9KQVNQRVIsIHRlc3QgIngkTElCSkFTUEVSIiAhPSB4KQotLS0gCi0yLjE0LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYWlsdXJlLnBhdGNoCmluZGV4IDMxZWQ5ODguLjExMGIzMmEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2gKQEAgLTEsNDcgKzEsMjggQEAKLUZyb20gNjY0NmU4YWFkYzQwMzBkODkxYWMyN2MyNTQ5NGU1NzkzZDU5ZGM4NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+Ci1EYXRlOiBXZWQsIDIyIEZlYiAyMDE3IDExOjI0OjM5ICswMjAwCitGcm9tIDhjN2NlZDk4OGRlZjUyNjU0OTQ2NDU4YTM3NzllMzgzYjI3ZjE0ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgRmViIDIwMTkgMTc6NTY6MTAgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gV29yay1hcm91bmQgdGh1bWJuYWlsZXIgY3Jvc3MtY29tcGlsZSBmYWlsdXJlCiAKIEluc3RhbGwgZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIHRoYXQncyBuZWVkZWQgZm9yIHRodW1ibmFpbAogbWV0YWRhdGEgZ2VuZXJhdGlvbi4KIAotVXNlIG5hdGl2ZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMgd2hlbiBnZW5lcmF0aW5nIHRoZSB0aHVtYm5haWwKLW1ldGFkYXRhLiBUaGlzIHdvcmtzIGJ1dCB0aGUgbWltZSB0eXBlcyB3aWxsIGNvbWUgZnJvbSBuYXRpdmUKLWxvYWRlci5jYWNoZSAod2hpY2ggd2lsbCBvbmx5IGNvbnRhaW4gaW4tdHJlZSBsb2FkZXJzKSwgbm90IGZyb20gdGhlCi10YXJnZXQgbG9hZGVyLmNhY2hlLgotCiBUaGUgdXBzdHJlYW0gaXNzdWUgaXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA1NwogCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCi1TaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiAtLS0KLSB0aHVtYm5haWxlci9NYWtlZmlsZS5hbSB8IDcgKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisgdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAotZGlmZiAtLWdpdCBhL3RodW1ibmFpbGVyL01ha2VmaWxlLmFtIGIvdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0KLWluZGV4IGM5ZmUxMjMuLmIwYzZjNzAgMTAwNjQ0Ci0tLS0gYS90aHVtYm5haWxlci9NYWtlZmlsZS5hbQotKysrIGIvdGh1bWJuYWlsZXIvTWFrZWZpbGUuYW0KLUBAIC0xLDUgKzEsNCBAQAotLWJpbl9QUk9HUkFNUyA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIKLS1ub2luc3RfUFJPR1JBTVMgPSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMKLStiaW5fUFJPR1JBTVMgPSBnZGstcGl4YnVmLXRodW1ibmFpbGVyIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcworZGlmZiAtLWdpdCBhL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkIGIvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKK2luZGV4IGU4MDExNDQuLmFhYWZlYzggMTAwNjQ0CistLS0gYS90aHVtYm5haWxlci9tZXNvbi5idWlsZAorKysrIGIvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKK0BAIC0xMCw2ICsxMCw3IEBAIGV4ZWN1dGFibGUoJ2dkay1waXhidWYtdGh1bWJuYWlsZXInLAorIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcyA9IGV4ZWN1dGFibGUoJ2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzLmMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY19hcmdzOiBjb21tb25fY2ZsYWdzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbDogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogZ2RrX3BpeGJ1Zl9kZXBzICsgWyBnZGtwaXhidWZfZGVwIF0pCiAgCi0gZ2RrX3BpeGJ1Zl90aHVtYm5haWxlcl9TT1VSQ0VTID0gZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci5jIGdub21lLXRodW1ibmFpbGVyLXNrZWxldG9uLmMgZ25vbWUtdGh1bWJuYWlsZXItc2tlbGV0b24uaAotIGdka19waXhidWZfdGh1bWJuYWlsZXJfQ1BQRkxBR1MgPQkJCVwKLUBAIC0yNSw5ICsyNCw5IEBAIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlc19MREFERCA9CQkJXAotIAotIHRodW1ibmFpbGVyZGlyID0gJChkYXRhZGlyKS90aHVtYm5haWxlcnMvCi0gdGh1bWJuYWlsZXJfREFUQSA9IGdkay1waXhidWYtdGh1bWJuYWlsZXIudGh1bWJuYWlsZXIKLS1nZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyOiBnZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyLmluIE1ha2VmaWxlIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyQoRVhFRVhUKSAkKHRvcF9idWlsZGRpcikvZ2RrLXBpeGJ1Zi9sb2FkZXJzLmNhY2hlCi0rZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlcjogZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlci5pbiBNYWtlZmlsZSBnZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMkKEVYRUVYVCkKLSAJJChBTV9WX0dFTikgJChTRUQpIC1lICJzfFxAYmluZGlyXEB8JChiaW5kaXIpfCIJCQkJCQlcCi0tCS1lICJzfFxAbWltZXR5cGVzXEB8YEdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JCh0b3BfYnVpbGRkaXIpL2dkay1waXhidWYvbG9hZGVycy5jYWNoZSBHREtfUElYQlVGX1BJWERBVEE9JCh0b3BfYnVpbGRkaXIpL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi1waXhkYXRhICQoYnVpbGRkaXIpL2dkay1waXhidWYtcHJpbnQtbWltZS10eXBlc2B8IiBcCi0rCS1lICJzfFxAbWltZXR5cGVzXEB8YGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlc2B8IiBcCi0gCSQ8ID4gJEAKLSAKLSBFWFRSQV9ESVNUID0gZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlci5pbgotLS0gCi0yLjEuNAotCisgY3VzdG9tX3RhcmdldCgndGh1bWJuYWlsZXInLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDEtbG9hZGVycy5jYWNoZS1kZXBlbmQtb24tbG9hZGVycy1iZWluZy1mdWxseS1idWlsZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE3NzUxNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2gKQEAgLTAsMCArMSw1MSBAQAorRnJvbSAxMTZiYzhmN2E2MDM0Y2U0MzA1Mzg3NmE3MmExMzJmY2Q0ZTFlNDcyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDE5OjUzOjA3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGxvYWRlcnMuY2FjaGU6IGRlcGVuZCBvbiBsb2FkZXJzIGJlaW5nIGZ1bGx5IGJ1aWxkCisKK090aGVyd2lzZSwgcmFjZXMgaGF2ZSBiZWVuIG9ic2VydmVkOgoraHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0b3Byb2plY3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy82MS9idWlsZHMvMzEwL3N0ZXBzLzcvbG9ncy9zdGVwMWIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZCB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2dkay1waXhidWYvbWVzb24uYnVpbGQgYi9nZGstcGl4YnVmL21lc29uLmJ1aWxkCitpbmRleCBmYzNlYjMzLi40ZTdlZDIwIDEwMDY0NAorLS0tIGEvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAorKysrIGIvZ2RrLXBpeGJ1Zi9tZXNvbi5idWlsZAorQEAgLTE3MSw2ICsxNzEsNyBAQCBnZGtwaXhidWZfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KGxpbmtfd2l0aDogZ2RrcGl4YnVmLAorICMgTm93IGNoZWNrIGlmIHdlIGFyZSBidWlsZGluZyBsb2FkZXJzIGFzIGluc3RhbGxlZCBzaGFyZWQgbW9kdWxlcworICMgV2UgZG8gdGhpcyBoZXJlIGJlY2F1c2Ugc2hhcmVkIG1vZHVsZXMgZGVwZW5kIG9uIGxpYmdkay1waXhidWYKKyBkeW5hbWljX2xvYWRlcnMgPSBbXQorK2R5bmFtaWNfbG9hZGVyc19kZXAgPSBbXQorIAorIGZvcmVhY2ggbDogbG9hZGVycworICAgbmFtZSA9IGxbMF0KK0BAIC0xODksNiArMTkwLDcgQEAgZm9yZWFjaCBsOiBsb2FkZXJzCisgCisgICAgICMgV2UgbmVlZCB0aGUgcGF0aCB0byBidWlsZCBsb2FkZXJzLmNhY2hlIGZvciB0ZXN0cworICAgICBkeW5hbWljX2xvYWRlcnMgKz0gbW9kLmZ1bGxfcGF0aCgpCisrICAgIGR5bmFtaWNfbG9hZGVyc19kZXAgKz0gbW9kCisgICBlbmRpZgorIGVuZGZvcmVhY2gKKyAKK0BAIC0yMDYsNiArMjA4LDcgQEAgaWYgZW5hYmxlX25hdGl2ZV93aW5kb3dzX2xvYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX2RpcjogZ2RrX3BpeGJ1Zl9sb2FkZXJkaXIpCisgICAgICAgZHluYW1pY19sb2FkZXJzICs9IG1vZC5mdWxsX3BhdGgoKQorKyAgICAgIGR5bmFtaWNfbG9hZGVyc19kZXAgKz0gbW9kCisgICAgIGVuZGZvcmVhY2gKKyAgIGVuZGlmCisgZW5kaWYKK0BAIC0yMzYsNiArMjM5LDcgQEAgaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKyBsb2FkZXJzX2NhY2hlID0gY3VzdG9tX3RhcmdldCgnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0OiAnbG9hZGVycy5jYWNoZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdHVyZTogdHJ1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzOiBbIGR5bmFtaWNfbG9hZGVyc19kZXAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGtfcGl4YnVmX3F1ZXJ5X2xvYWRlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkeW5hbWljX2xvYWRlcnMsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvMDAwMy10YXJnZXQtb25seS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mjg5NjJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDMtdGFyZ2V0LW9ubHktV29yay1hcm91bmQtdGh1bWJuYWlsZXItY3Jvc3MtY29tcGlsZS1mYS5wYXRjaApAQCAtMCwwICsxLDk2IEBACitGcm9tIDZmYzdmMzQxMzk5ZWM0OWFiMDZjOTQ0MjZmNTBkYmRjYTQ5YTI4NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjIgRmViIDIwMTkgMTM6MjI6MDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gKHRhcmdldCBvbmx5KSBXb3JrLWFyb3VuZCB0aHVtYm5haWxlciBhbmQgcGl4ZGF0YQorIGNyb3NzLWNvbXBpbGUgZmFpbHVyZQorCitVc2UgbmF0aXZlIGdkay1waXhidWYtcHJpbnQtbWltZS10eXBlcyBhbmQgZ2RrLXBpeGJ1Zi1waXhkYXRhCit3aGVuIGdlbmVyYXRpbmcgdGhlIHRodW1ibmFpbCBtZXRhZGF0YSBhbmQgcmVzb3VyY2VzLgorCitUaGlzIHdvcmtzIGJ1dCB0aGUgbWltZSB0eXBlcyB3aWxsIGNvbWUgZnJvbSBuYXRpdmUKK2xvYWRlci5jYWNoZSAod2hpY2ggd2lsbCBvbmx5IGNvbnRhaW4gaW4tdHJlZSBsb2FkZXJzKSwgbm90IGZyb20gdGhlCit0YXJnZXQgbG9hZGVyLmNhY2hlLgorCitUaGUgdXBzdHJlYW0gaXNzdWUgaXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3OTA1NworCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3dvcmthcm91bmRdCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGJ1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkgfCAgMiAtLQorIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgICAgfCAxMSArKysrKysrKystLQorIHRodW1ibmFpbGVyL21lc29uLmJ1aWxkICAgICAgfCAgNSArLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2J1aWxkLWF1eC9nZW4tdGh1bWJuYWlsZXIucHkgYi9idWlsZC1hdXgvZ2VuLXRodW1ibmFpbGVyLnB5CitpbmRleCAwNWFjODIxLi5jNWI5OWFiIDEwMDY0NAorLS0tIGEvYnVpbGQtYXV4L2dlbi10aHVtYm5haWxlci5weQorKysrIGIvYnVpbGQtYXV4L2dlbi10aHVtYm5haWxlci5weQorQEAgLTIwLDggKzIwLDYgQEAgYXJncGFyc2VyLmFkZF9hcmd1bWVudCgnb3V0cHV0JywgaGVscD0nT3V0cHV0IGZpbGUnKQorIGFyZ3MgPSBhcmdwYXJzZXIucGFyc2VfYXJncygpCisgCisgbmV3ZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKKy1uZXdlbnZbJ0dES19QSVhCVUZfUElYREFUQSddID0gYXJncy5waXhkYXRhCistbmV3ZW52WydHREtfUElYQlVGX01PRFVMRV9GSUxFJ10gPSBhcmdzLmxvYWRlcnMKKyAjICdudCc6IE5ULWJhc2VkIFdpbmRvd3MsIHNlZSBodHRwczovL2RvY3MucHl0aG9uLm9yZy8zL2xpYnJhcnkvb3MuaHRtbAorIGlmIG9zLm5hbWUgPT0gJ250JzoKKyAgICAgZ2RrX3BpeGJ1Zl9kbGxfYnVpbGRwYXRoID0gb3MucGF0aC5kaXJuYW1lKGFyZ3MucGl4ZGF0YSkKK2RpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxkCitpbmRleCA0ZmEzZmJjLi5lY2E1MTY2IDEwMDY0NAorLS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCitAQCAtMSwxMiArMSwxOSBAQAorICMgUmVzb3VyY2VzOyB3ZSBjYW5ub3QgdXNlIGdub21lLmNvbXBpbGVfcmVzb3VyY2VzKCkgaGVyZSwgYmVjYXVzZSB3ZSBuZWVkIHRvCisgIyBvdmVycmlkZSB0aGUgZW52aXJvbm1lbnQgaW4gb3JkZXIgdG8gdXNlIHRoZSB1dGlsaXRpZXMgd2UganVzdCBidWlsdCBpbnN0ZWFkCisgIyBvZiB0aGUgc3lzdGVtIG9uZXMKKysKKytpZiBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQorK3BpeGRhdGFfYmluYXJ5ID0gZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpCisrZWxzZQorK3BpeGRhdGFfYmluYXJ5ID0gJ2dkay1waXhidWYtcGl4ZGF0YScKKytlbmRpZgorKworIHJlc291cmNlc19jID0gY3VzdG9tX3RhcmdldCgncmVzb3VyY2VzLmMnLAorICAgaW5wdXQ6ICdyZXNvdXJjZXMuZ3Jlc291cmNlLnhtbCcsCisgICBvdXRwdXQ6ICdyZXNvdXJjZXMuYycsCisgICBjb21tYW5kOiBbCisgICAgIGdlbl9yZXNvdXJjZXMsCistICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpKSwKKysgICAgJy0tcGl4ZGF0YT1AMEAnLmZvcm1hdChwaXhkYXRhX2JpbmFyeSksCisgICAgICctLWxvYWRlcnM9QDBAJy5mb3JtYXQobG9hZGVyc19jYWNoZS5mdWxsX3BhdGgoKSksCisgICAgICctLXNvdXJjZWRpcj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCisgICAgICctLXNvdXJjZScsCitAQCAtMjQsNyArMzEsNyBAQCByZXNvdXJjZXNfaCA9IGN1c3RvbV90YXJnZXQoJ3Jlc291cmNlcy5oJywKKyAgIG91dHB1dDogJ3Jlc291cmNlcy5oJywKKyAgIGNvbW1hbmQ6IFsKKyAgICAgZ2VuX3Jlc291cmNlcywKKy0gICAgJy0tcGl4ZGF0YT1AMEAnLmZvcm1hdChnZGtfcGl4YnVmX3BpeGRhdGEuZnVsbF9wYXRoKCkpLAorKyAgICAnLS1waXhkYXRhPUAwQCcuZm9ybWF0KHBpeGRhdGFfYmluYXJ5KSwKKyAgICAgJy0tbG9hZGVycz1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKyAgICAgJy0tc291cmNlZGlyPUAwQCcuZm9ybWF0KG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKyAgICAgJy0taGVhZGVyJywKK2RpZmYgLS1naXQgYS90aHVtYm5haWxlci9tZXNvbi5idWlsZCBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitpbmRleCBhYWFmZWM4Li43MWJkNjFiIDEwMDY0NAorLS0tIGEvdGh1bWJuYWlsZXIvbWVzb24uYnVpbGQKKysrKyBiL3RodW1ibmFpbGVyL21lc29uLmJ1aWxkCitAQCAtMTgsOSArMTgsNyBAQCBjdXN0b21fdGFyZ2V0KCd0aHVtYm5haWxlcicsCisgICAgICAgICAgICAgICBvdXRwdXQ6ICdnZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyJywKKyAgICAgICAgICAgICAgIGNvbW1hbmQ6IFsKKyAgICAgICAgICAgICAgICAgZ2VuX3RodW1ibmFpbGVyLAorLSAgICAgICAgICAgICAgICAnLS1wcmludGVyPUAwQCcuZm9ybWF0KGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcy5mdWxsX3BhdGgoKSksCistICAgICAgICAgICAgICAgICctLXBpeGRhdGE9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9waXhkYXRhLmZ1bGxfcGF0aCgpKSwKKy0gICAgICAgICAgICAgICAgJy0tbG9hZGVycz1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKysgICAgICAgICAgICAgICAgJy0tcHJpbnRlcj1nZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMnLAorICAgICAgICAgICAgICAgICAnLS1iaW5kaXI9QDBAJy5mb3JtYXQoZ2RrX3BpeGJ1Zl9iaW5kaXIpLAorICAgICAgICAgICAgICAgICAnQElOUFVUQCcsCisgICAgICAgICAgICAgICAgICdAT1VUUFVUQCcsCitAQCAtMjgsNyArMjYsNiBAQCBjdXN0b21fdGFyZ2V0KCd0aHVtYm5haWxlcicsCisgICAgICAgICAgICAgICBkZXBlbmRzOiBbCisgICAgICAgICAgICAgICAgIGdka19waXhidWZfcHJpbnRfbWltZV90eXBlcywKKyAgICAgICAgICAgICAgICAgZ2RrX3BpeGJ1Zl9waXhkYXRhLAorLSAgICAgICAgICAgICAgICBsb2FkZXJzX2NhY2hlLAorICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgIGluc3RhbGw6IHRydWUsCisgICAgICAgICAgICAgICBpbnN0YWxsX2Rpcjogam9pbl9wYXRocyhnZGtfcGl4YnVmX2RhdGFkaXIsICd0aHVtYm5haWxlcnMnKSkKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDA0LURvLW5vdC1ydW4tdGVzdHMtd2hlbi1idWlsZGluZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi8wMDA0LURvLW5vdC1ydW4tdGVzdHMtd2hlbi1idWlsZGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmM1NDZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmLzAwMDQtRG8tbm90LXJ1bi10ZXN0cy13aGVuLWJ1aWxkaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKK0Zyb20gM2M0YTZjMTQ3YWU4YTA5NjJiYTkxOTQzNzNkOGE0MWQxNGVlZDQ0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMiBGZWIgMjAxOSAxMzoyMzo1NSArMDEwMAorU3ViamVjdDogW1BBVENIXSBEbyBub3QgcnVuIHRlc3RzIHdoZW4gYnVpbGRpbmcKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjcm9zcy1jb21waWxlIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyB0ZXN0cy9tZXNvbi5idWlsZCB8IDE3IC0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZAoraW5kZXggNGZhM2ZiYy4uNmVmNzg4NCAxMDA2NDQKKy0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkCisrKysgYi90ZXN0cy9tZXNvbi5idWlsZAorQEAgLTEzOCwyMyArMTM4LDYgQEAgZm9yZWFjaCB0OiBpbnN0YWxsZWRfdGVzdHMKKyAgICAgaW5zdGFsbF9kaXI6IGluc3RhbGxlZF90ZXN0X2JpbmRpciwKKyAgICkKKyAKKy0gICMgVHdvIHBhcnRpY3VsYXJseSBzbG93IHRlc3RzCistICBpZiB0ZXN0X3N1aXRlcy5jb250YWlucygnc2xvdycpCistICAgIHRpbWVvdXQgPSAzMDAKKy0gIGVsc2UKKy0gICAgdGltZW91dCA9IDMwCistICBlbmRpZgorLQorLSAgdGVzdCh0ZXN0X25hbWUsIHRlc3RfYmluLAorLSAgICBzdWl0ZTogdGVzdF9zdWl0ZXMsCistICAgIGFyZ3M6IFsgJy1rJywgJy0tdGFwJyBdLAorLSAgICBlbnY6IFsKKy0gICAgICAnR19URVNUX1NSQ0RJUj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSksCistICAgICAgJ0dfVEVTVF9CVUlMRERJUj1AMEAnLmZvcm1hdChtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpKSwKKy0gICAgICAnR0RLX1BJWEJVRl9NT0RVTEVfRklMRT1AMEAnLmZvcm1hdChsb2FkZXJzX2NhY2hlLmZ1bGxfcGF0aCgpKSwKKy0gICAgXSwKKy0gICAgdGltZW91dDogdGltZW91dCwKKy0gICkKKyBlbmRmb3JlYWNoCisgCisgZXhlY3V0YWJsZSgncGl4YnVmLXJlYWQnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2V4dGVuZGluZy1saWJpbnN0YWxsLWRlcGVuZGVuY2llcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkYmRjZWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2V4dGVuZGluZy1saWJpbnN0YWxsLWRlcGVuZGVuY2llcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1UaGlzIHBhdGNoIGZpeGVzIHBhcmFsbGVsIGluc3RhbGwgaXNzdWUgdGhhdCBsaWIgbGlicGl4YnVmbG9hZGVyLXBuZy5sYQotZGVwZW5kcyBvbiBsaWJnZGtfcGl4YnVmLTIuMC5sYSB3aGljaCB3aWxsIGJlIHJlZ2VuZXJhdGVkIGR1cmluZyBpbnN0YS0KLWxsYXRpb24sIGlmIGxpYmdka19waXhidWYtMi4wLmxhIGlzIHJlZ2VuZXJhdGluZyBhbmQgYXQgdGhlIHNhbWUgdGltZQotbGlicGl4YnVmbG9hZGVyLXBuZy5sYSBsaW5rcyBpdCwgdGhlIGVycm9yIHdpbGwgaGFwcGVuLgotCi1FcnJvciBtZXNzYWdlIGlzOgotKiB1c3IvYmluL2xkOiBjYW5ub3QgZmluZCAtbGdka19waXhidWYtMi4wCi0qIGNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi0KLU1ha2UgYW4gZXhwbGljaXQgZGVwZW5kZW5jeSB0byB0aGUgbGlicyBpbnN0YWxsIHRhcmdldHMgd291bGQgZml4IHRoaXMKLWlzc3VlLgotCi1TaWduZWQtb2ZmLWJ5OiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGdkay1waXhidWYvTWFrZWZpbGUuYW0gfCAgICAxICsKLSBsaWJkZXBzLm1rICAgICAgICAgICAgIHwgICAgMyArKysKLSAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgbGliZGVwcy5tawotCi1kaWZmIC0tZ2l0IGEvZ2RrLXBpeGJ1Zi9NYWtlZmlsZS5hbSBiL2dkay1waXhidWYvTWFrZWZpbGUuYW0KLWluZGV4IDk1YTkzYTguLmRiNDRjYWUgMTAwNjQ0Ci0tLS0gYS9nZGstcGl4YnVmL01ha2VmaWxlLmFtCi0rKysgYi9nZGstcGl4YnVmL01ha2VmaWxlLmFtCi1AQCAtNzgzLDMgKzc4Myw0IEBAIGxvYWRlcnMuY2FjaGU6Ci0gZW5kaWYKLSAKLSAtaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2dpdC5tawotKy1pbmNsdWRlICQodG9wX3NyY2RpcikvbGliZGVwcy5tawotZGlmZiAtLWdpdCBhL2xpYmRlcHMubWsgYi9saWJkZXBzLm1rCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZDdhMTBhOAotLS0tIC9kZXYvbnVsbAotKysrIGIvbGliZGVwcy5tawotQEAgLTAsMCArMSwzIEBACi0rIyBFeHRlbmRpbmcgZGVwZW5kZW5jaWVzIG9mIGluc3RhbGwtbG9hZGVyTFRMSUJSQVJJRVM6Ci0rIyBUaGUgJChsaWItTFRMSUJSQVJJRVMpIGlzIG5lZWRlZCBieSByZWxpbmtpbmcgJChsb2FkZXJfTFRMSUJSQVJJRVMpCi0raW5zdGFsbC1sb2FkZXJMVExJQlJBUklFUzogaW5zdGFsbC1saWJMVExJQlJBUklFUwotLS0gCi0xLjcuNi4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9mYXRhbC1sb2FkZXIucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvZmF0YWwtbG9hZGVyLnBhdGNoCmluZGV4IDdkMGQ1NGIuLjI1NDEwYjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi9mYXRhbC1sb2FkZXIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2ZhdGFsLWxvYWRlci5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gYjZhN2IzMDUyMjQ1NWNhYjM5YTBiOWVhODQ2MzMxMzM4MDE0NmU3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZjAwNjAzZDU4ZDg0NDQyMjM2M2I4OTZlYTdkMDdhYWY0OGRkYWE2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDEgQXByIDIwMTQgMTc6MjM6MzYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzRdIGdkay1waXhidWY6IGFkZCBhbiBvcHRpb24gc28gdGhhdCBsb2FkZXIgZXJyb3JzIGFyZSBmYXRhbAorU3ViamVjdDogW1BBVENIXSBnZGstcGl4YnVmOiBhZGQgYW4gb3B0aW9uIHNvIHRoYXQgbG9hZGVyIGVycm9ycyBhcmUgZmF0YWwKIAogSWYgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc3BlY2lmaWVkIHNldCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gbWFpbigpIHRvCiBub24temVybyBpZiB0aGUgbG9hZGVyIGhhZCBlcnJvcnMgKG1pc3NpbmcgbGlicmFyaWVzLCBnZW5lcmFsbHkpLgpAQCAtMTQsMTAgKzE0LDEwIEBACiAgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jIGIvZ2RrLXBpeGJ1Zi9xdWVyeWxvYWRlcnMuYwotaW5kZXggYTgxYzgwNC4uMzUwYmVjOCAxMDA2NDQKK2luZGV4IDMxMmFhNzguLmI4MTNkOTkgMTAwNjQ0CiAtLS0gYS9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jCiArKysgYi9nZGstcGl4YnVmL3F1ZXJ5bG9hZGVycy5jCi1AQCAtMTQ2LDcgKzE0Niw3IEBAIHdyaXRlX2xvYWRlcl9pbmZvIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqcGF0aCwgR2RrUGl4YnVmRm9ybWF0ICppbmZvKQorQEAgLTIxMiw3ICsyMTIsNyBAQCB3cml0ZV9sb2FkZXJfaW5mbyAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKnBhdGgsIEdka1BpeGJ1ZkZvcm1hdCAqaW5mbykKICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZF9jIChjb250ZW50cywgJ1xuJyk7CiAgfQogIApAQCAtMjYsNyArMjYsNyBAQAogIHF1ZXJ5X21vZHVsZSAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqZmlsZSkKICB7CiAgICAgICAgICBjaGFyICpwYXRoOwotQEAgLTE1NSw2ICsxNTUsNyBAQCBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCitAQCAtMjIxLDYgKzIyMSw3IEBAIHF1ZXJ5X21vZHVsZSAoR1N0cmluZyAqY29udGVudHMsIGNvbnN0IGNoYXIgKmRpciwgY29uc3QgY2hhciAqZmlsZSkKICAgICAgICAgIHZvaWQgICAgICAgICAgICAgICAgICAgICgqZmlsbF92dGFibGUpICAgKEdka1BpeGJ1Zk1vZHVsZSAqbW9kdWxlKTsKICAgICAgICAgIGdwb2ludGVyIGZpbGxfaW5mb19wdHI7CiAgICAgICAgICBncG9pbnRlciBmaWxsX3Z0YWJsZV9wdHI7CkBAIC0zNCw3ICszNCw3IEBACiAgCiAgICAgICAgICBpZiAoZ19wYXRoX2lzX2Fic29sdXRlIChmaWxlKSkKICAgICAgICAgICAgICAgICAgcGF0aCA9IGdfc3RyZHVwIChmaWxlKTsKLUBAIC0yMDQsMTAgKzIwNSwxMyBAQCBxdWVyeV9tb2R1bGUgKEdTdHJpbmcgKmNvbnRlbnRzLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKmZpbGUpCitAQCAtMjcwLDEwICsyNzEsMTMgQEAgcXVlcnlfbW9kdWxlIChHU3RyaW5nICpjb250ZW50cywgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFyICpmaWxlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19tb2R1bGVfZXJyb3IoKSk7CiAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICBnX2ZwcmludGYgKHN0ZGVyciwgIkNhbm5vdCBsb2FkIGxvYWRlciAlc1xuIiwgcGF0aCk7CkBAIC00OCwyNiArNDgsMjYgQEAKICB9CiAgCiAgI2lmZGVmIEdfT1NfV0lOMzIKLUBAIC0yNTcsNiArMjYxLDcgQEAgaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgIEdTdHJpbmcgKmNvbnRlbnRzOwotICAgICAgICAgZ2NoYXIgKmNhY2hlX2ZpbGUgPSBOVUxMOworQEAgLTMxNCw2ICszMTgsNyBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgZ2ludCBmaXJzdF9maWxlID0gMTsKKyAgICAgICAgIEdGaWxlICpwaXhidWZfbGliZGlyX2ZpbGU7CisgICAgICAgICBnY2hhciAqcGl4YnVmX2xpYmRpcjsKICsgICAgICAgIGdib29sZWFuIHN1Y2Nlc3MgPSBUUlVFOwogIAogICNpZmRlZiBHX09TX1dJTjMyCiAgICAgICAgICBnY2hhciAqbGliZGlyOwotQEAgLTM3MCw3ICszNzUsOSBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTQ1Miw3ICs0NTcsOSBAQCBpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIG1vZHVsZXMgPSBnX2xpc3Rfc29ydCAobW9kdWxlcywgKEdDb21wYXJlRnVuYylzdHJjbXApOwogICAgICAgICAgICAgICAgICBmb3IgKGwgPSBtb2R1bGVzOyBsICE9IE5VTEw7IGwgPSBsLT5uZXh0KQotLSAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5X21vZHVsZSAoY29udGVudHMsIHBhdGgsIGwtPmRhdGEpOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcXVlcnlfbW9kdWxlIChjb250ZW50cywgcGF0aCwgbC0+ZGF0YSkpCistICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlfbW9kdWxlIChjb250ZW50cywgbW9kdWxlZGlyLCBsLT5kYXRhKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXF1ZXJ5X21vZHVsZSAoY29udGVudHMsIG1vZHVsZWRpciwgbC0+ZGF0YSkpCiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzID0gRkFMU0U7CiArCiAgICAgICAgICAgICAgICAgIGdfbGlzdF9mcmVlX2Z1bGwgKG1vZHVsZXMsIGdfZnJlZSk7CisgICAgICAgICAgICAgICAgIGdfZnJlZSAobW9kdWxlZGlyKTsKICAjZWxzZQotICAgICAgICAgICAgICAgICBnX3N0cmluZ19hcHBlbmRfcHJpbnRmIChjb250ZW50cywgIiMgZHluYW1pYyBsb2FkaW5nIG9mIG1vZHVsZXMgbm90IHN1cHBvcnRlZFxuIik7Ci1AQCAtMzg1LDcgKzM5Miw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtNDY4LDcgKzQ3NSw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5maWxlbmFtZSA9IGdfbG9jYWxlX3RvX3V0ZjggKGluZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBOVUxMLCBOVUxMLCBOVUxMKTsKICAjZW5kaWYKQEAgLTc3LDkgKzc3LDkgQEAKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICBnX2ZyZWUgKGN3ZCk7CiAgICAgICAgICB9Ci1AQCAtNDAxLDUgKzQwOSw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgIGdfcHJpbnQgKCIlc1xuIiwgY29udGVudHMtPnN0cik7CitAQCAtNDg2LDUgKzQ5NCw4IEBAIGludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgICAgICAgICBnX2ZyZWUgKHBpeGJ1Zl9saWJkaXIpOwogIAogLSAgICAgICAgcmV0dXJuIDA7CiArICAgICAgICBpZiAoZ19nZXRlbnYgKCJHREtfUElYQlVGX0ZBVEFMX0xPQURFUiIpKQpAQCAtODcsNiArODcsMyBAQAogKyAgICAgICAgZWxzZQogKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKICB9Ci0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvaGFyZGNvZGVkX2xpYnRvb2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWYvaGFyZGNvZGVkX2xpYnRvb2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVjY2E2MmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmL2hhcmRjb2RlZF9saWJ0b29sLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQotCi1JbmRleDogZ2RrLXBpeGJ1Zi0yLjIyLjEvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RrLXBpeGJ1Zi0yLjIyLjEub3JpZy9jb25maWd1cmUuYWMJMjAxMC0xMS0yNiAwOTowNjozNC4wMDAwMDAwMDAgKzA4MDAKLSsrKyBnZGstcGl4YnVmLTIuMjIuMS9jb25maWd1cmUuYWMJMjAxMC0xMS0yNiAwOTowNzozMy4wMDAwMDAwMDAgKzA4MDAKLUBAIC0yODcsNyArMjg3LDcgQEAKLSBjYXNlICRlbmFibGVfZXhwbGljaXRfZGVwcyBpbgotICAgYXV0bykKLSAgICAgZXhwb3J0IFNFRAotLSAgICBkZXBsaWJzX2NoZWNrX21ldGhvZD1gKC4vbGlidG9vbCAtLWNvbmZpZzsgZWNobyAnZXZhbCBlY2hvIFwiJGRlcGxpYnNfY2hlY2tfbWV0aG9kXCInKSB8IHNoYAotKyAgICBkZXBsaWJzX2NoZWNrX21ldGhvZD1gKC4vJGhvc3RfYWxpYXMtbGlidG9vbCAtLWNvbmZpZzsgZWNobyAnZXZhbCBlY2hvIFwiJGRlcGxpYnNfY2hlY2tfbWV0aG9kXCInKSB8IHNoYAotICAgICBpZiB0ZXN0ICJ4JGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAnIT0nIHhwYXNzX2FsbCB8fCB0ZXN0ICJ4JGVuYWJsZV9zdGF0aWMiID0geHllcyA7IHRoZW4KLSAgICAgICBlbmFibGVfZXhwbGljaXRfZGVwcz15ZXMKLSAgICAgZWxzZQotQEAgLTQ4NCw3ICs0ODQsNyBAQAotICAgICBkbmwgTm93IHdlIGNoZWNrIHRvIHNlZSBpZiBvdXIgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGliIGRlcHMKLSAgICAgZG5sIChpbiBhIHJhdGhlciB1Z2x5IHdheSBldmVuKQotICAgICBpZiAkZHlud29ya3M7IHRoZW4KLS0gICAgICAgIHBpeGJ1Zl9saWJ0b29sX2NvbmZpZz0iJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gLi9saWJ0b29sIC0tY29uZmlnIgotKyAgICAgICAgcGl4YnVmX2xpYnRvb2xfY29uZmlnPSIke0NPTkZJR19TSEVMTC0vYmluL3NofSAuLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1jb25maWciCi0gICAgICAgICBwaXhidWZfZGVwbGlic19jaGVjaz1gJHBpeGJ1Zl9saWJ0b29sX2NvbmZpZyB8IFwKLSAgICAgICAgICAgICBncmVwICdeW1thLXpfXV0qY2hlY2tbW2Etel9dXSpfbWV0aG9kPVtbJ1wnJyJdXScgfCBcCi0gICAgICAgICAgICAgc2VkICdzLy4qW1snXCcnIl1dXCguKlwpW1snXCcnIl1dJC9cMS8nYAotQEAgLTk1Nyw3ICs5NTcsNyBAQAotICMgV2UgYXJlIHVzaW5nIGdtb2R1bGUtbm8tZXhwb3J0IG5vdywgYnV0IEknbSBsZWF2aW5nIHRoZSBzdHJpcHBpbmcKLSAjIGNvZGUgaW4gcGxhY2UgZm9yIG5vdywgc2luY2UgcGFuZ28gYW5kIGF0ayBzdGlsbCByZXF1aXJlIGdtb2R1bGUuCi0gZXhwb3J0IFNFRAotLWV4cG9ydF9keW5hbWljPWAoLi9saWJ0b29sIC0tY29uZmlnOyBlY2hvIGV2YWwgZWNobyBcXCRleHBvcnRfZHluYW1pY19mbGFnX3NwZWMpIHwgc2hgCi0rZXhwb3J0X2R5bmFtaWM9YCguLyRob3N0X2FsaWFzLWxpYnRvb2wgLS1jb25maWc7IGVjaG8gZXZhbCBlY2hvIFxcJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYykgfCBzaGAKLSBpZiB0ZXN0IC1uICIkZXhwb3J0X2R5bmFtaWMiOyB0aGVuCi0gICBHREtfUElYQlVGX0RFUF9MSUJTPWBlY2hvICRHREtfUElYQlVGX0RFUF9MSUJTIHwgc2VkIC1lICJzLyRleHBvcnRfZHluYW1pYy8vImAKLSBmaQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ2RrLXBpeGJ1Zi9nZGstcGl4YnVmXzIuMzYuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zNi4xMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTljODRjNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zNi4xMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi1TVU1NQVJZID0gIkltYWdlIGxvYWRpbmcgbGlicmFyeSBmb3IgR1RLKyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrLm9yZy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKLQotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9nZGstcGl4YnVmL2dkay1waXhidWYuaDtlbmRsaW5lPTI2O21kNT03MmIzOWRhN2NiZGRlMmU2NjUzMjlmZWY2MThlMWQ2YiIKLQotU0VDVElPTiA9ICJsaWJzIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGdkay1waXhidWYtbmF0aXZlIHNoYXJlZC1taW1lLWluZm8iCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7TUFKX1ZFUn0vJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly9oYXJkY29kZWRfbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9leHRlbmRpbmctbGliaW5zdGFsbC1kZXBlbmRlbmNpZXMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2ZhdGFsLWxvYWRlci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmFpbHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC13aXRob3V0LWxpYnRpZmYtbm90LWhhdmluZy1hbi1lZmZlY3QucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZTg0ZTU0ODVjMTdjZTdjMjVkZjc3ZmU3NmViMmQ2YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTYyYWI4NzI1MDQxMzE1NmVkNzJlZjc1NjM0N2IxMDIwOGMwMGU3NmIyMjJkODJkOWVkMzYxZWQ5ZGRlMmYzIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBwaXhidWZjYWNoZSBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgbGliX3BhY2thZ2UKLQotTElCViA9ICIyLjEwLjAiCi0KLUdES19QSVhCVUZfTE9BREVSUyA/PSAicG5nIGpwZWciCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0dES19QSVhCVUZfTE9BREVSU30iCi1QQUNLQUdFQ09ORklHX2xpbnV4c3RkYmFzZSA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gJHtHREtfUElYQlVGX0xPQURFUlN9IgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgotCi1QQUNLQUdFQ09ORklHW3BuZ10gPSAiLS13aXRoLWxpYnBuZywtLXdpdGhvdXQtbGlicG5nLGxpYnBuZyIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS13aXRoLWxpYmpwZWcsLS13aXRob3V0LWxpYmpwZWcsanBlZyIKLVBBQ0tBR0VDT05GSUdbdGlmZl0gPSAiLS13aXRoLWxpYnRpZmYsLS13aXRob3V0LWxpYnRpZmYsdGlmZiIKLVBBQ0tBR0VDT05GSUdbanBlZzIwMDBdID0gIi0td2l0aC1saWJqYXNwZXIsLS13aXRob3V0LWxpYmphc3BlcixqYXNwZXIiCi0KLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteDExLC0td2l0aG91dC14MTEsdmlydHVhbC9saWJ4MTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS14bGliIgotCi0jIEZvciBHSU8gaW1hZ2UgdHlwZSBzbmlmZmluZwotUkRFUEVORFNfJHtQTn0gPSAic2hhcmVkLW1pbWUtaW5mbyIKLQotRklMRVNfJHtQTn0teGxpYiA9ICIke2xpYmRpcn0vKnBpeGJ1Zl94bGliKiR7U09MSUJTfSIKLUFMTE9XX0VNUFRZXyR7UE59LXhsaWIgPSAiMSIKLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMiCi0KLUZJTEVTXyR7UE59LWJpbiArPSAiJHtkYXRhZGlyfS90aHVtYm5haWxlcnMvZ2RrLXBpeGJ1Zi10aHVtYm5haWxlci50aHVtYm5haWxlciIKLQotRklMRVNfJHtQTn0tZGV2ICs9ICIgXAotCSR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAotCSR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAotICAgICAgICAke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKLQkke2luY2x1ZGVkaXJ9LyogXAotCSR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMvKi5sYSBcCi0iCi0KLVBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5nZGstcGl4YnVmLWxvYWRlci0uKiIKLVBBQ0tBR0VTX0RZTkFNSUNfY2xhc3MtbmF0aXZlID0gIiIKLQotcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgewotICAgIHBvc3RpbnN0X3BpeGJ1ZmxvYWRlciA9IGQuZ2V0VmFyKCJwb3N0aW5zdF9waXhidWZsb2FkZXIiKQotCi0gICAgbG9hZGVyc19yb290ID0gZC5leHBhbmQoJyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMnKQotCi0gICAgcGFja2FnZXMgPSAnICcuam9pbihkb19zcGxpdF9wYWNrYWdlcyhkLCBsb2FkZXJzX3Jvb3QsICdebGlicGl4YnVmbG9hZGVyLSguKilcLnNvJCcsICdnZGstcGl4YnVmLWxvYWRlci0lcycsICdHREsgcGl4YnVmIGxvYWRlciBmb3IgJXMnKSkKLSAgICBkLnNldFZhcignUElYQlVGX1BBQ0tBR0VTJywgcGFja2FnZXMpCi0KLSAgICAjIFRoZSB0ZXN0IHN1aXRlIGV4ZXJjaXNlcyBhbGwgdGhlIGxvYWRlcnMsIHNvIGVuc3VyZSB0aGV5IGFyZSBhbGwKLSAgICAjIGRlcGVuZGVuY2llcyBvZiB0aGUgcHRlc3QgcGFja2FnZS4KLSAgICBkLmFwcGVuZFZhcigiUkRFUEVORFNfJXMtcHRlc3QiICUgZC5nZXRWYXIoJ1BOJyksICIgIiArIHBhY2thZ2VzKQotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIE1vdmUgZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIGludG8gbGliZGlyIHNvIGl0IGlzIGFsd2F5cyBhdmFpbGFibGUKLQkjIGluIG11bHRpbGliIGJ1aWxkcy4KLQltdiAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgJHtEfS8ke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKLQlmaW5kICR7RH0ke2xpYmRpcn0gLW5hbWUgImxpYnBpeGJ1ZmxvYWRlci0qLmxhIiAtZXhlYyBybSBce1x9IFw7Ci0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLWNzb3VyY2UgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKLQotCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtcGl4ZGF0YSBcCi0JCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQotCi0JY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCi0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7bGliZGlyfS9nZGstcGl4YnVmLTIuMC9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUgXAotCQlHREtfUElYQlVGX01PRFVMRURJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzCi19Ci1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dkay1waXhidWYvZ2RrLXBpeGJ1Zl8yLjM4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZGU3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nZGstcGl4YnVmL2dkay1waXhidWZfMi4zOC4wLmJiCkBAIC0wLDAgKzEsMTM2IEBACitTVU1NQVJZID0gIkltYWdlIGxvYWRpbmcgbGlicmFyeSBmb3IgR1RLKyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ3RrLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTRmYmQ2NTM4MGNkZDI1NTk1MTA3OTAwOGIzNjQ1MTZjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay1waXhidWYvZ2RrLXBpeGJ1Zi5oO2VuZGxpbmU9MjY7bWQ1PTcyYjM5ZGE3Y2JkZGUyZTY2NTMyOWZlZjYxOGUxZDZiIFwKKyAgICAgICAgICAgICAgICAgICAgIgorCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2RrLXBpeGJ1Zi1uYXRpdmUgc2hhcmVkLW1pbWUtaW5mbyIKKworTUFKX1ZFUiA9ICIke0BvZS51dGlscy50cmltX3ZlcnNpb24oIiR7UFZ9IiwgMil9IgorCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9mYXRhbC1sb2FkZXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhaWx1cmUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYS1jb3VwbGUtb2YtZGVjaXNpb25zLWFyb3VuZC1jcm9zcy1jb21waWxhdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWxvYWRlcnMuY2FjaGUtZGVwZW5kLW9uLWxvYWRlcnMtYmVpbmctZnVsbHktYnVpbGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1Eby1ub3QtcnVuLXRlc3RzLXdoZW4tYnVpbGRpbmcucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMy10YXJnZXQtb25seS1Xb3JrLWFyb3VuZC10aHVtYm5haWxlci1jcm9zcy1jb21waWxlLWZhLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLXRhcmdldC1vbmx5LVdvcmstYXJvdW5kLXRodW1ibmFpbGVyLWNyb3NzLWNvbXBpbGUtZmEucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3Nzc2NWYyNDQ5NmRjOGM5MGM2ZTBjYmUxMGZkOGYwZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkZDUwOTczYzc3NTdiY2RlMTVkZTZiY2QzYTZkNDYyYTQ0NWVmZDU1MjYwNGFlNjQzNWEwNTMyZmJiYWRhZTQ3IgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBnZXR0ZXh0IHBpeGJ1ZmNhY2hlIHB0ZXN0LWdub21lIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYyBsaWJfcGFja2FnZQorCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURkb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jcz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURnaXI9dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGdpcj1mYWxzZSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke0dJX0RJU0FCTEVfRkxBR30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQVEVTVF9FTkFCTEVEJywgJzEnLCAnLURpbnN0YWxsZWRfdGVzdHM9dHJ1ZScsICctRGluc3RhbGxlZF90ZXN0cz1mYWxzZScsIGQpfSIKKworTElCViA9ICIyLjEwLjAiCisKK0dES19QSVhCVUZfTE9BREVSUyA/PSAicG5nIGpwZWciCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0dES19QSVhCVUZfTE9BREVSU30iCitQQUNLQUdFQ09ORklHX2xpbnV4c3RkYmFzZSA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gJHtHREtfUElYQlVGX0xPQURFUlN9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPSAiJHtHREtfUElYQlVGX0xPQURFUlN9IgorCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLURwbmc9dHJ1ZSwtRHBuZz1mYWxzZSxsaWJwbmciCitQQUNLQUdFQ09ORklHW2pwZWddID0gIi1EanBlZz10cnVlLC1EanBlZz1mYWxzZSxqcGVnIgorUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItRHRpZmY9dHJ1ZSwtRHRpZmY9ZmFsc2UsdGlmZiIKK1BBQ0tBR0VDT05GSUdbanBlZzIwMDBdID0gIi1EamFzcGVyPXRydWUsLURqYXNwZXI9ZmFsc2UsamFzcGVyIgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLUR4MTE9dHJ1ZSwtRHgxMT1mYWxzZSx2aXJ0dWFsL2xpYngxMSIKKworUEFDS0FHRVMgPSsgIiR7UE59LXhsaWIiCisKKyMgRm9yIEdJTyBpbWFnZSB0eXBlIHNuaWZmaW5nCitSREVQRU5EU18ke1BOfSA9ICJzaGFyZWQtbWltZS1pbmZvIgorCitGSUxFU18ke1BOfS14bGliID0gIiR7bGliZGlyfS8qcGl4YnVmX3hsaWIqJHtTT0xJQlN9IgorQUxMT1dfRU1QVFlfJHtQTn0teGxpYiA9ICIxIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wL2dkay1waXhidWYtcXVlcnktbG9hZGVycyIKKworRklMRVNfJHtQTn0tYmluICs9ICIke2RhdGFkaXJ9L3RodW1ibmFpbGVycy9nZGstcGl4YnVmLXRodW1ibmFpbGVyLnRodW1ibmFpbGVyIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIiBcCisJJHtiaW5kaXJ9L2dkay1waXhidWYtY3NvdXJjZSBcCisJJHtiaW5kaXJ9L2dkay1waXhidWYtcGl4ZGF0YSBcCisgICAgICAgICR7YmluZGlyfS9nZGstcGl4YnVmLXByaW50LW1pbWUtdHlwZXMgXAorCSR7aW5jbHVkZWRpcn0vKiBcCisJJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy8qLmxhIFwKKyIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXmdkay1waXhidWYtbG9hZGVyLS4qIgorUEFDS0FHRVNfRFlOQU1JQ19jbGFzcy1uYXRpdmUgPSAiIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgcG9zdGluc3RfcGl4YnVmbG9hZGVyID0gZC5nZXRWYXIoInBvc3RpbnN0X3BpeGJ1ZmxvYWRlciIpCisKKyAgICBsb2FkZXJzX3Jvb3QgPSBkLmV4cGFuZCgnJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycycpCisKKyAgICBwYWNrYWdlcyA9ICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGxvYWRlcnNfcm9vdCwgcidebGlicGl4YnVmbG9hZGVyLSguKilcLnNvJCcsICdnZGstcGl4YnVmLWxvYWRlci0lcycsICdHREsgcGl4YnVmIGxvYWRlciBmb3IgJXMnKSkKKyAgICBkLnNldFZhcignUElYQlVGX1BBQ0tBR0VTJywgcGFja2FnZXMpCisKKyAgICAjIFRoZSB0ZXN0IHN1aXRlIGV4ZXJjaXNlcyBhbGwgdGhlIGxvYWRlcnMsIHNvIGVuc3VyZSB0aGV5IGFyZSBhbGwKKyAgICAjIGRlcGVuZGVuY2llcyBvZiB0aGUgcHRlc3QgcGFja2FnZS4KKyAgICBkLmFwcGVuZFZhcigiUkRFUEVORFNfJXMtcHRlc3QiICUgZC5nZXRWYXIoJ1BOJyksICIgIiArIHBhY2thZ2VzKQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwkjIENvcHkgZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIGludG8gbGliZGlyIHNvIGl0IGlzIGFsd2F5cyBhdmFpbGFibGUKKwkjIGluIG11bHRpbGliIGJ1aWxkcy4KKwljcCAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXF1ZXJ5LWxvYWRlcnMgJHtEfS8ke2xpYmRpcn0vZ2RrLXBpeGJ1Zi0yLjAvCisKK30KKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworCWZpbmQgJHtEfSR7bGliZGlyfSAtbmFtZSAibGlicGl4YnVmbG9hZGVyLSoubGEiIC1leGVjIHJtIFx7XH0gXDsKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2dkay1waXhidWYtY3NvdXJjZSBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlCisKKwljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9nZGstcGl4YnVmLXBpeGRhdGEgXAorCQlYREdfREFUQV9ESVJTPSR7U1RBR0lOR19EQVRBRElSfSBcCisJCUdES19QSVhCVUZfTU9EVUxFX0ZJTEU9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycy5jYWNoZQorCisJY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1wcmludC1taW1lLXR5cGVzIFwKKwkJWERHX0RBVEFfRElSUz0ke1NUQUdJTkdfREFUQURJUn0gXAorCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUKKworCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtsaWJkaXJ9L2dkay1waXhidWYtMi4wL2dkay1waXhidWYtcXVlcnktbG9hZGVycyBcCisJCVhER19EQVRBX0RJUlM9JHtTVEFHSU5HX0RBVEFESVJ9IFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzLmNhY2hlIFwKKwkJR0RLX1BJWEJVRl9NT0RVTEVESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9L2dkay1waXhidWYtMi4wLyR7TElCVn0vbG9hZGVycworCisJY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ2RrLXBpeGJ1Zi1xdWVyeS1sb2FkZXJzIFwKKwkJWERHX0RBVEFfRElSUz0ke1NUQUdJTkdfREFUQURJUn0gXAorCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8ke0xJQlZ9L2xvYWRlcnMuY2FjaGUgXAorCQlHREtfUElYQlVGX01PRFVMRURJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvJHtMSUJWfS9sb2FkZXJzCit9CitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWUvMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWUvMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2gKaW5kZXggYjU5OTJlYi4uNDNhYmRjZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZS8wMDAxLURvbi10LXVzZS1BQ19DQU5PTklDQUxfSE9TVC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOTY2MTk1MTgzODc3MzI1MWQwYTkxNGU4OTdlOGEwZDk1Y2UwMjdmNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNDk5MjIyZDk1YTNkMDZiYzQyNTY3MmQ1MGU4YzQ3ODY4NjY3MjUwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiBEYXRlOiBUdWUsIDMwIE1heSAyMDE3IDE0OjU1OjQ5ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0hdIERvbid0IHVzZSBBQ19DQU5PTklDQUxfSE9TVApAQCAtMTQsMTIgKzE0LDEyIEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggZmI3ODdkYy4uNWNhZWYwYyAxMDA2NDQKK2luZGV4IDM4ZTY0YmQuLjZlZDQ4MGUgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwogQEAgLTMsNyArMyw2IEBAIEFDX1BSRVJFUSgyLjUzKQogIAotIEFDX0lOSVQoW2Fkd2FpdGEtaWNvbi10aGVtZV0sIFszLjI4LjBdLAorIEFDX0lOSVQoW2Fkd2FpdGEtaWNvbi10aGVtZV0sIFszLjMwLjFdLAogICAgICAgICAgW2h0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWFkd2FpdGEtaWNvbi10aGVtZV0pCiAtQUNfQ0FOT05JQ0FMX0hPU1QKICBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4yOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDBkZDM1Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9hZHdhaXRhLWljb24tdGhlbWVfMy4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotU1VNTUFSWSA9ICJHVEsrIGljb24gdGhlbWUiCi1IT01FUEFHRSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9hZHdhaXRhLWljb24tdGhlbWUvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi1TRUNUSU9OID0gIngxMS9nbm9tZSIKLQotTElDRU5TRSA9ICJMR1BMLTMuMCB8IENDLUJZLVNBLTMuMCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NGNhYzg4ZTQ2ZmMwNzY0N2VhMDdlNmMyNGVlYjdjIgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgotCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke01BSl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Eb24tdC11c2UtQUNfQ0FOT05JQ0FMX0hPU1QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1SdW4taW5zdGFsbGF0aW9uLWNvbW1hbmRzLWFzLXNoZWxsLWpvYnMucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJiMjViMmQ4MmNiZWJmMmNjOWNkNDY5NDU3YjYwNGYyYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3YWFlOGMxZGZmZDY3NzJmZDFhMjFhM2QzNjVhMGVhMjhiN2MzOTg4YmRiYmVhZmJmODc0MmNkYTY4MjQyMTUwIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIEJ1aWxkIHVzZXMgZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcgdG8gY3JlYXRlIHBuZyB2ZXJzaW9uczoKLSAgICAgICAgIyBubyBuZWVkIHRvIHN0b3JlIHRoZSBzdmdzIGFueW1vcmUuCi0Jcm0gLWYgJHtEfSR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL3NjYWxhYmxlLyovKi1zeW1ib2xpYy5zdmcgXAotCSAgICAgICR7RH0ke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS9zY2FsYWJsZS8qLyotc3ltYm9saWMtcnRsLnN2ZwotfQotCi1QQUNLQUdFUyA9ICIke1BOfS1jdXJzb3JzICR7UE59LXN5bWJvbGljLWhpcmVzICR7UE59LXN5bWJvbGljICR7UE59LWhpcmVzICR7UE59IgotCi1SUkVQTEFDRVNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKLVJDT05GTElDVFNfJHtQTn0gPSAiZ25vbWUtaWNvbi10aGVtZSIKLVJQUk9WSURFU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgotCi1GSUxFU18ke1BOfS1jdXJzb3JzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL2N1cnNvcnMvIgotRklMRVNfJHtQTn0tc3ltYm9saWMtaGlyZXMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvOTZ4OTYvKi8qLnN5bWJvbGljLnBuZyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS82NHg2NC8qLyouc3ltYm9saWMucG5nIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzQ4eDQ4LyovKi5zeW1ib2xpYy5wbmcgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMzJ4MzIvKi8qLnN5bWJvbGljLnBuZyIKLUZJTEVTXyR7UE59LXN5bWJvbGljID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzE2eDE2LyovKi5zeW1ib2xpYy5wbmcgXAotICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMjR4MjQvKi8qLnN5bWJvbGljLnBuZyIKLUZJTEVTXyR7UE59LWhpcmVzID0gIiR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzI1NngyNTYvIFwKLSAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzUxMng1MTIvIgotRklMRVNfJHtQTn0gPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvIFwKLSAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9wa2djb25maWcvYWR3YWl0YS1pY29uLXRoZW1lLnBjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvYWR3YWl0YS1pY29uLXRoZW1lXzMuMzAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjMwLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGVhZGJkMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2Fkd2FpdGEtaWNvbi10aGVtZV8zLjMwLjEuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJHVEsrIGljb24gdGhlbWUiCitIT01FUEFHRSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvR05PTUUvc291cmNlcy9hZHdhaXRhLWljb24tdGhlbWUvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCitTRUNUSU9OID0gIngxMS9nbm9tZSIKKworTElDRU5TRSA9ICJMR1BMLTMuMCB8IENDLUJZLVNBLTMuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4NGNhYzg4ZTQ2ZmMwNzY0N2VhMDdlNmMyNGVlYjdjIgorCitpbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0IGd0ay1pY29uLWNhY2hlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCitTUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtNQUpfVkVSfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG9uLXQtdXNlLUFDX0NBTk9OSUNBTF9IT1NULnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUnVuLWluc3RhbGxhdGlvbi1jb21tYW5kcy1hcy1zaGVsbC1qb2JzLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGIzZmQ4MTI4MjFkNzJmZGQ5YTNjN2Q2MjJhOTViMzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmQ3NTJhMmIxYmM2Njg0ODM5NTZkNDQ4NWMzOWNhZDE2NDJkOTM1OGUxMzNmZjY4OTUyNmU0MzY3NGE0ZTFjZSIKKworREVQRU5EUyArPSAibGlicnN2Zy1uYXRpdmUiCisKK1BBQ0tBR0VTID0gIiR7UE59LWN1cnNvcnMgJHtQTn0tc3ltYm9saWMtaGlyZXMgJHtQTn0tc3ltYm9saWMgJHtQTn0taGlyZXMgJHtQTn0iCisKK1JSRVBMQUNFU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgorUkNPTkZMSUNUU18ke1BOfSA9ICJnbm9tZS1pY29uLXRoZW1lIgorUlBST1ZJREVTXyR7UE59ID0gImdub21lLWljb24tdGhlbWUiCisKK0ZJTEVTXyR7UE59LWN1cnNvcnMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvY3Vyc29ycy8iCitGSUxFU18ke1BOfS1zeW1ib2xpYy1oaXJlcyA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS85Nng5Ni8qLyouc3ltYm9saWMucG5nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhLzY0eDY0LyovKi5zeW1ib2xpYy5wbmcgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvNDh4NDgvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8zMngzMi8qLyouc3ltYm9saWMucG5nIgorRklMRVNfJHtQTn0tc3ltYm9saWMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMTZ4MTYvKi8qLnN5bWJvbGljLnBuZyBcCisgICAgICAgICAgICAgICAgICAgICAgICAke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8yNHgyNC8qLyouc3ltYm9saWMucG5nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICR7cHJlZml4fS9zaGFyZS9pY29ucy9BZHdhaXRhL3NjYWxhYmxlLyovKi1zeW1ib2xpYyouc3ZnIgorRklMRVNfJHtQTn0taGlyZXMgPSAiJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvMjU2eDI1Ni8gXAorICAgICAgICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL2ljb25zL0Fkd2FpdGEvNTEyeDUxMi8iCitGSUxFU18ke1BOfSA9ICIke3ByZWZpeH0vc2hhcmUvaWNvbnMvQWR3YWl0YS8gXAorICAgICAgICAgICAgICAgJHtwcmVmaXh9L3NoYXJlL3BrZ2NvbmZpZy9hZHdhaXRhLWljb24tdGhlbWUucGMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2djb25mXzMuMi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKaW5kZXggMTIwYWUzZS4uZTY3NDJmMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvZ2NvbmZfMy4yLjYuYmIKQEAgLTIyLDEyICsyMiwxMSBAQAogRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLXNoYXJlZCAtLWRpc2FibGUtc3RhdGljIFwKICAgICAgICAgICAgICAgICAtLWRpc2FibGUtb3JiaXQgLS13aXRoLW9wZW5sZGFwPW5vIC0tZGlzYWJsZS1ndGsiCiAKLSMgRGlzYWJsZSBQb2xpY3lLaXQgYnkgZGVmYXVsdAotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKLSMgV2UgcmVhbGx5IGRvbid0IHdhbnQgUG9saWN5S2l0IGZvciBuYXRpdmUKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwb2xraXQnLCBkKX0iCisjIFdlIHJlYWxseSBkb24ndCB3YW50IFBvbGtpdCBmb3IgbmF0aXZlCiBQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCiAKLVBBQ0tBR0VDT05GSUdbcG9saWN5a2l0XSA9ICItLWVuYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLC0tZGlzYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLHBvbGtpdCIKK1BBQ0tBR0VDT05GSUdbcG9sa2l0XSA9ICItLWVuYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLC0tZGlzYWJsZS1kZWZhdWx0cy1zZXJ2aWNlLHBvbGtpdCIKIFBBQ0tBR0VDT05GSUdbZGVidWddID0gIi0tZW5hYmxlLWRlYnVnPXllcywgLS1lbmFibGUtZGVidWc9bWluaW11bSIKIAogZG9faW5zdGFsbF9hcHBlbmQoKSB7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbC9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ25vbWUvbGliYXJ0LWxncGwvbGliYXJ0X2xncGwtMi4zLjIxLWNyb3NzY29tcGlsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDI2MWY1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbC9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODQgKzAsMCBAQAotVGFrZW4gZnJvbSBwb3J0YWdlCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotRnJvbSBlMTQ0M2M5NDVhNGNmNjcwOTZkOGMyNzcyMWFhZGQ3MzY4MzgyYjNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogR2lsbGVzIERhcnRpZ3VlbG9uZ3VlIDxldmFAZ2VudG9vLm9yZz4KLURhdGU6IFR1ZSwgNiBBcHIgMjAxMCAxNToyMjoyNSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gZ2VudG9vOiB1c2UgSVNPIHR5cGVzIGZvciBmaXhlZCB0eXBlIHNpemUKLQotLS0tCi0gTWFrZWZpbGUuYW0gIHwgICAxMSArKy0tLS0tLS0tLQotIGFydF9jb25maWcuaCB8ICAgIDUgKysrKysKLSBjb25maWd1cmUuaW4gfCAgIDEwIC0tLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGFydF9jb25maWcuaAotCi1kaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQotaW5kZXggOTU5NTJkYS4uNmFhMmZlMyAxMDA2NDQKLS0tLSBhL01ha2VmaWxlLmFtCi0rKysgYi9NYWtlZmlsZS5hbQotQEAgLTIsMTMgKzIsNiBAQCBjaGVja19QUk9HUkFNUyA9IHRlc3RhcnQgdGVzdHV0YQotIAotIGJpbl9TQ1JJUFRTID0gXAotIAlsaWJhcnQyLWNvbmZpZwotLQkKLS1ub2luc3RfU0NSSVBUUyA9IGdlbl9hcnRfY29uZmlnLnNoCi0tCi0tQlVJTFRfU09VUkNFUyA9IGFydF9jb25maWcuaAotLQotLWFydF9jb25maWcuaDoKLS0JLi9nZW5fYXJ0X2NvbmZpZy5zaCA+IGFydF9jb25maWcuaAotIAotIEVYVFJBX0RJU1QgPSAJCQlcCi0gCWxpYmFydC5kZWYJCVwKLUBAIC0xNzMsNSArMTY2LDUgQEAgaW5zdGFsbC1kYXRhLWxvY2FsOiBpbnN0YWxsLW1zLWxpYiBpbnN0YWxsLWxpYnRvb2wtaW1wb3J0LWxpYgotIAotIHVuaW5zdGFsbC1sb2NhbDogdW5pbnN0YWxsLW1zLWxpYiB1bmluc3RhbGwtbGlidG9vbC1pbXBvcnQtbGliCi0gCi0tQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykgJChiaW5fU0NSSVBUUykKLS1ESVNUQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykgJChiaW5fU0NSSVBUUykKLStDTEVBTkZJTEVTID0gJChiaW5fU0NSSVBUUykKLStESVNUQ0xFQU5GSUxFUyA9ICQoYmluX1NDUklQVFMpCi1kaWZmIC0tZ2l0IGEvYXJ0X2NvbmZpZy5oIGIvYXJ0X2NvbmZpZy5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTk4NWYxZgotLS0tIGEvYXJ0X2NvbmZpZy5oCi0rKysgYi9hcnRfY29uZmlnLmgKLUBAIC0wLDAgKzEsNSBAQAotKyNpbmNsdWRlIDxzdGRpbnQuaD4KLSsKLSt0eXBlZGVmIHVpbnQ4X3QgYXJ0X3U4OwotK3R5cGVkZWYgdWludDE2X3QgYXJ0X3UxNjsKLSt0eXBlZGVmIHVpbnQzMl90IGFydF91MzI7Ci1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmluIGIvY29uZmlndXJlLmluCi1pbmRleCBlNDgwNGY3Li5kZGNhYzRmIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmluCi0rKysgYi9jb25maWd1cmUuaW4KLUBAIC05MiwxNSArOTIsNiBAQCBBQ19GVU5DX0FMTE9DQQotIAotIEFDX0NfQklHRU5ESUFOCi0gCi0tQUNfQ0hFQ0tfU0laRU9GKGNoYXIpCi0tQUNfU1VCU1QoQVJUX1NJWkVPRl9DSEFSLCAkYWNfY3Zfc2l6ZW9mX2NoYXIpCi0tQUNfQ0hFQ0tfU0laRU9GKHNob3J0KQotLUFDX1NVQlNUKEFSVF9TSVpFT0ZfU0hPUlQsICRhY19jdl9zaXplb2Zfc2hvcnQpCi0tQUNfQ0hFQ0tfU0laRU9GKGludCkKLS1BQ19TVUJTVChBUlRfU0laRU9GX0lOVCwgJGFjX2N2X3NpemVvZl9pbnQpCi0tQUNfQ0hFQ0tfU0laRU9GKGxvbmcpCi0tQUNfU1VCU1QoQVJUX1NJWkVPRl9MT05HLCAkYWNfY3Zfc2l6ZW9mX2xvbmcpCi0tCi0gQUNfQ09ORklHX0ZJTEVTKFsKLSBsaWJhcnQtZmVhdHVyZXMuaAotIE1ha2VmaWxlCi1AQCAtMTA5LDYgKzEwMCw1IEBAIGxpYmFydC0yLjAtdW5pbnN0YWxsZWQucGMKLSBsaWJhcnQtemlwXSkKLSAKLSBBQ19DT05GSUdfRklMRVMoW2xpYmFydC1jb25maWddLFtjaG1vZCAreCBsaWJhcnQtY29uZmlnXSkKLS1BQ19DT05GSUdfRklMRVMoW2dlbl9hcnRfY29uZmlnLnNoXSxbY2htb2QgK3ggZ2VuX2FydF9jb25maWcuc2hdKQotIAotIEFDX09VVFBVVAotLS0gCi0xLjcuMC40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2xpYmFydC1sZ3BsXzIuMy4yMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dub21lL2xpYmFydC1sZ3BsXzIuMy4yMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTU1ODFiMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nbm9tZS9saWJhcnQtbGdwbF8yLjMuMjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgb2YgZnVuY3Rpb25zIGZvciAyRCBncmFwaGljcyIKLVNFQ1RJT04gPSAieDExL2dub21lIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKLVBSID0gInIyIgotCi0jIGNhbid0IHVzZSBnbm9tZS5vZWNsYXNzIGR1ZSB0byBfIGluIGZpbGVuYW1lCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS9saWJhcnRfbGdwbC8yLjMvbGliYXJ0X2xncGwtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9saWJhcnRfbGdwbC0yLjMuMjEtY3Jvc3Njb21waWxlLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwODU1OWZmM2M2N2ZkOTVkNTdiMGM1ZTkxYTZiNDMwMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGMxMWU3NGMxMGZjOWZmZTQxODg1MzdlMmIzNzBjMGFiYWNjYTdkODkwMjFkNGQzMDNhZmRmN2ZkNzQ3NmZhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotREVQRU5EUyA9ICIiCi0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qLnNvLioiCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmluZGlyfS9saWJhcnQyLWNvbmZpZyIKLQotUyA9ICIke1dPUktESVJ9L2xpYmFydF9sZ3BsLSR7UFZ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVBvcnQtY3Jvc3MtY29tcGlsYXRpb24tc3VwcG9ydC10by1tZXNvbi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1Qb3J0LWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tbWVzb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBjOWU3MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1Qb3J0LWNyb3NzLWNvbXBpbGF0aW9uLXN1cHBvcnQtdG8tbWVzb24ucGF0Y2gKQEAgLTAsMCArMSwxNjAgQEAKK0Zyb20gZWEyNWE1YTc1NWJjODM5ZDViNTA0YWFjMjA3Zjg2MGFlNjgxMDliYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAxNSBOb3YgMjAxOCAxNToxMDowNSArMDEwMAorU3ViamVjdDogW1BBVENIXSBQb3J0IGNyb3NzLWNvbXBpbGF0aW9uIHN1cHBvcnQgdG8gbWVzb24KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKworLS0tCisgZ2lyL21lc29uLmJ1aWxkICAgfCA1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQorIG1lc29uLmJ1aWxkICAgICAgIHwgIDQgKysrLQorIG1lc29uX29wdGlvbnMudHh0IHwgMjAgKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9naXIvbWVzb24uYnVpbGQgYi9naXIvbWVzb24uYnVpbGQKK2luZGV4IDFjYjUxNGEuLmY4NzMwNjggMTAwNjQ0CistLS0gYS9naXIvbWVzb24uYnVpbGQKKysrKyBiL2dpci9tZXNvbi5idWlsZAorQEAgLTM2LDE1ICszNiwyNyBAQCBnaXJfZmlsZXMgPSBbCisgdHlwZWxpYmRpciA9IGpvaW5fcGF0aHMoZ2V0X29wdGlvbignbGliZGlyJyksICdnaXJlcG9zaXRvcnktMS4wJykKKyBpbnN0YWxsX2RhdGEoZ2lyX2ZpbGVzLCBpbnN0YWxsX2RpcjogZ2lyZGlyKQorIAorLXNjYW5uZXJfY29tbWFuZCA9IFsKKy0gIHB5dGhvbiwKKy0gIGdpcnNjYW5uZXIsCistICAnLS1vdXRwdXQ9QE9VVFBVVEAnLAorLSAgJy0tbm8tbGlidG9vbCcsCistICAnLS1yZXBhcnNlLXZhbGlkYXRlJywKKy0gICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCkpLAorLSAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorLV0KKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtaG9zdC1naScpCisrICAgIHNjYW5uZXJfY29tbWFuZCA9IFsKKysgICAgICAnZy1pci1zY2FubmVyJywKKysgICAgICAnLS1vdXRwdXQ9QE9VVFBVVEAnLAorKyAgICAgICctLW5vLWxpYnRvb2wnLAorKyAgICAgICctLXJlcGFyc2UtdmFsaWRhdGUnLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCkpLAorKyAgICAgICctLWFkZC1pbmNsdWRlLXBhdGgnLCBqb2luX3BhdGhzKG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpKSwKKysgICAgXQorK2Vsc2UKKysgICAgc2Nhbm5lcl9jb21tYW5kID0gWworKyAgICAgIHB5dGhvbiwKKysgICAgICBnaXJzY2FubmVyLAorKyAgICAgICctLW91dHB1dD1AT1VUUFVUQCcsCisrICAgICAgJy0tbm8tbGlidG9vbCcsCisrICAgICAgJy0tcmVwYXJzZS12YWxpZGF0ZScsCisrICAgICAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9idWlsZF9kaXIoKSksCisrICAgICAgJy0tYWRkLWluY2x1ZGUtcGF0aCcsIGpvaW5fcGF0aHMobWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCkpLAorKyAgICBdCisrZW5kaWYKKysKKyAKKyBkZXBfdHlwZSA9IGdsaWJfZGVwLnR5cGVfbmFtZSgpCisgaWYgZGVwX3R5cGUgPT0gJ2ludGVybmFsJworQEAgLTU3LDYgKzY5LDEyIEBAIGlmIGRlcF90eXBlID09ICdpbnRlcm5hbCcKKyAgICAgICAgICAgICAgICAgICAgICAgJy0tZXh0cmEtbGlicmFyeT1nbGliLTIuMCcsICctLWV4dHJhLWxpYnJhcnk9Z29iamVjdC0yLjAnXQorIGVuZGlmCisgCisraWYgZ2V0X29wdGlvbignZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXInKSAhPSAnJworKyAgc2Nhbm5lcl9jb21tYW5kICs9IFsnLS11c2UtYmluYXJ5LXdyYXBwZXI9JyArIGdldF9vcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJyldCisrZW5kaWYKKytpZiBnZXRfb3B0aW9uKCdlbmFibGUtZ2ktbGRkLXdyYXBwZXInKSAhPSAnJworKyAgc2Nhbm5lcl9jb21tYW5kICs9IFsnLS11c2UtbGRkLXdyYXBwZXI9JyArIGdldF9vcHRpb24oJ2VuYWJsZS1naS1sZGQtd3JhcHBlcicpXQorK2VuZGlmCisgIyBUYWtlIGEgZ2xvYiBhbmQgcHJpbnQgdG8gbmV3bGluZXMKKyBnbG9iYmVyID0gJycnCisgZnJvbSBnbG9iIGltcG9ydCBnbG9iCitAQCAtODMsOCArMTAxLDggQEAgZ2xpYl9jb21tYW5kID0gc2Nhbm5lcl9jb21tYW5kICsgWworIAorIGlmIGRlcF90eXBlID09ICdwa2djb25maWcnCisgICBnbGliX2NvbW1hbmQgKz0gWyctLWV4dGVybmFsLWxpYnJhcnknLCAnLS1wa2c9Z2xpYi0yLjAnXQorLSAgZ2xpYl9saWJkaXIgPSBnbGliX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdsaWJkaXInKQorLSAgZ2xpYl9pbmNkaXIgPSBqb2luX3BhdGhzKGdsaWJfZGVwLmdldF9wa2djb25maWdfdmFyaWFibGUoJ2luY2x1ZGVkaXInKSwgJ2dsaWItMi4wJykKKysgIGdsaWJfbGliZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgZ2xpYl9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnbGliZGlyJykKKysgIGdsaWJfaW5jZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgam9pbl9wYXRocyhnbGliX2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdpbmNsdWRlZGlyJyksICdnbGliLTIuMCcpCisgICBnbGliX2xpYmluY2RpciA9IGpvaW5fcGF0aHMoZ2xpYl9saWJkaXIsICdnbGliLTIuMCcsICdpbmNsdWRlJykKKyAgIGdsaWJfZmlsZXMgKz0gam9pbl9wYXRocyhnbGliX2luY2RpciwgJ2dvYmplY3QnLCAnZ2xpYi10eXBlcy5oJykKKyAgIGdsaWJfZmlsZXMgKz0gam9pbl9wYXRocyhnbGliX2xpYmluY2RpciwgJ2dsaWJjb25maWcuaCcpCitAQCAtMzM4LDcgKzM1Niw3IEBAIGVuZGZvcmVhY2gKKyBpZiBnaW91bml4X2RlcC5mb3VuZCgpCisgICBpZiBkZXBfdHlwZSA9PSAncGtnY29uZmlnJworICAgICBnaW9fY29tbWFuZCArPSBbJy0tcGtnPWdpby11bml4LTIuMCddCistICAgIGdpb3VuaXhfaW5jbHVkZWRpciA9IGpvaW5fcGF0aHMoZ2lvdW5peF9kZXAuZ2V0X3BrZ2NvbmZpZ192YXJpYWJsZSgnaW5jbHVkZWRpcicpLCAnZ2lvLXVuaXgtMi4wJykKKysgICAgZ2lvdW5peF9pbmNsdWRlZGlyID0gZ2V0X29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcpICsgam9pbl9wYXRocyhnaW91bml4X2RlcC5nZXRfcGtnY29uZmlnX3ZhcmlhYmxlKCdpbmNsdWRlZGlyJyksICdnaW8tdW5peC0yLjAnKQorICAgICAjIEdldCB0aGUgaW5zdGFsbGVkIGdpby11bml4IGhlYWRlciBsaXN0CisgICAgIHJldCA9IHJ1bl9jb21tYW5kKHB5dGhvbiwgJy1jJywgZ2xvYmJlci5mb3JtYXQoam9pbl9wYXRocyhnaW91bml4X2luY2x1ZGVkaXIsICdnaW8nLCAnKi5oJykpKQorICAgICBpZiByZXQucmV0dXJuY29kZSgpICE9IDAKK0BAIC00MTYsMTUgKzQzNCwyNCBAQCBnaXJfZmlsZXMgKz0gY3VzdG9tX3RhcmdldCgnZ2lyLWdpcmVwb3NpdG9yeScsCisgICBdCisgKQorIAorK2lmIGdldF9vcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJykgIT0gJycKKysgICAgZ2lyY29tcGlsZXJfY29tbWFuZCA9IFtnZXRfb3B0aW9uKCdlbmFibGUtZ2ktY3Jvc3Mtd3JhcHBlcicpLCBnaXJjb21waWxlci5mdWxsX3BhdGgoKSwgJy1vJywgJ0BPVVRQVVRAJywgJ0BJTlBVVEAnLAorKyAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCisrICAgICAgICAgICAgICAnLS1pbmNsdWRlZGlyJywgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCisrICAgIF0KKytlbHNlCisrICAgIGdpcmNvbXBpbGVyX2NvbW1hbmQgPSBbZ2lyY29tcGlsZXIsICctbycsICdAT1VUUFVUQCcsICdASU5QVVRAJywKKysgICAgICAgICAgICAgICctLWluY2x1ZGVkaXInLCBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLAorKyAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorKyAgICBdCisrZW5kaWYKKysKKyBmb3JlYWNoIGdpciA6IGdpcl9maWxlcworICAgY3VzdG9tX3RhcmdldCgnZ2VuZXJhdGUtdHlwZWxpYi1AMEAnLmZvcm1hdChnaXIpLnVuZGVyc2NvcmlmeSgpLAorICAgICBpbnB1dDogZ2lyLAorICAgICBvdXRwdXQ6ICdAQkFTRU5BTUVALnR5cGVsaWInLAorICAgICBkZXBlbmRzOiBbZ29iamVjdF9naXIsIF0sCistICAgIGNvbW1hbmQ6IFtnaXJjb21waWxlciwgJy1vJywgJ0BPVVRQVVRAJywgJ0BJTlBVVEAnLAorLSAgICAgICAgICAgICAgJy0taW5jbHVkZWRpcicsIG1lc29uLmN1cnJlbnRfYnVpbGRfZGlyKCksCistICAgICAgICAgICAgICAnLS1pbmNsdWRlZGlyJywgbWVzb24uY3VycmVudF9zb3VyY2VfZGlyKCksCistICAgIF0sCisrICAgIGNvbW1hbmQ6IGdpcmNvbXBpbGVyX2NvbW1hbmQsCisgICAgIGluc3RhbGw6IHRydWUsCisgICAgIGluc3RhbGxfZGlyOiB0eXBlbGliZGlyLAorICAgKQorZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDE3YWNkODIuLmUwYmI0OTUgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC04MSw3ICs4MSw5IEBAIGxpYmZmaV9kZXAgPSBkZXBlbmRlbmN5KCdsaWJmZmknLAorIHN1YmRpcignZ2lyZXBvc2l0b3J5JykKKyBzdWJkaXIoJ3Rvb2xzJykKKyBzdWJkaXIoJ2dpc2Nhbm5lcicpCistc3ViZGlyKCdnaXInKQorK2lmIGdldF9vcHRpb24oJ2VuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnKSA9PSB0cnVlCisrICAgIHN1YmRpcignZ2lyJykKKytlbmRpZgorIHN1YmRpcignZXhhbXBsZXMnKQorIHN1YmRpcignZG9jcycpCisgc3ViZGlyKCd0ZXN0cycpCitkaWZmIC0tZ2l0IGEvbWVzb25fb3B0aW9ucy50eHQgYi9tZXNvbl9vcHRpb25zLnR4dAoraW5kZXggZWU2OTU4ZC4uYjE2ODE0MiAxMDA2NDQKKy0tLSBhL21lc29uX29wdGlvbnMudHh0CisrKysgYi9tZXNvbl9vcHRpb25zLnR4dAorQEAgLTI1LDMgKzI1LDIzIEBAIG9wdGlvbigncHl0aG9uJywgdHlwZTogJ3N0cmluZycsIHZhbHVlOiAncHl0aG9uMycsCisgb3B0aW9uKCdnaXItZGlyLXByZWZpeCcsIHR5cGU6ICdzdHJpbmcnLAorICAgZGVzY3JpcHRpb246ICdJbnRlcm1lZGlhdGUgcHJlZml4IGZvciBnaXIgaW5zdGFsbGF0aW9uIHVuZGVyICR7cHJlZml4fScKKyApCisrCisrb3B0aW9uKCdlbmFibGUtaG9zdC1naScsIHR5cGU6ICdib29sZWFuJywgdmFsdWUgOiBmYWxzZSwKKysgIGRlc2NyaXB0aW9uOiAnVXNlIGdvYmplY3QgaW50cm9zcGVjdGlvbiB0b29scyBpbnN0YWxsZWQgaW4gdGhlIGhvc3Qgc3lzdGVtICh1c2VmdWwgd2hlbiBjcm9zcy1jb21waWxpbmcpJworKykKKysKKytvcHRpb24oJ2VuYWJsZS1naS1jcm9zcy13cmFwcGVyJywgdHlwZTogJ3N0cmluZycsCisrICBkZXNjcmlwdGlvbjogJ1VzZSBhIHdyYXBwZXIgdG8gcnVuIGdpY29tcGlsZXIgYW5kIGJpbmFyaWVzIHByb2R1Y2VkIGJ5IGdpc2Nhbm5lciAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCisrCisrb3B0aW9uKCdlbmFibGUtZ2ktbGRkLXdyYXBwZXInLCB0eXBlOiAnc3RyaW5nJywKKysgIGRlc2NyaXB0aW9uOiAnVXNlIGEgbGRkIHdyYXBwZXIgaW5zdGVhZCBvZiBzeXN0ZW0gbGRkIGNvbW1hbmQgaW4gZ2lzY2FubmVyICh1c2VmdWwgd2hlbiBjcm9zcy1jb21waWxpbmcpJworKykKKysKKytvcHRpb24oJ2VuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnLCB0eXBlOiAnYm9vbGVhbicsIHZhbHVlIDogdHJ1ZSwKKysgIGRlc2NyaXB0aW9uOiAnQnVpbGQgaW50cm9zcGVjdGlvbiBkYXRhICguZ2lyIGFuZCAudHlwZWxpYiBmaWxlcykgaW4gYWRkaXRpb24gdG8gbGlicmFyeSBhbmQgdG9vbHMnCisrKQorKworK29wdGlvbigncGtnY29uZmlnLXN5c3Jvb3QtcGF0aCcsIHR5cGU6ICdzdHJpbmcnLAorKyAgZGVzY3JpcHRpb246ICdTcGVjaWZ5IGEgc3lzcm9vdCBwYXRoIHRvIHByZXBlbmQgdG8gcGtnY29uZmlnIG91dHB1dCAodXNlZnVsIHdoZW4gY3Jvc3MtY29tcGlsaW5nKScKKyspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDAxLVJlbG9jYXRlLXRoZS1yZXBvc2l0b3J5LWRpcmVjdG9yeS1mb3ItbmF0aXZlLWJ1aWxkcy5wYXRjaAppbmRleCBiYTg1YzMxLi5hOTFkMjJhIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb24vMDAwMS1SZWxvY2F0ZS10aGUtcmVwb3NpdG9yeS1kaXJlY3RvcnktZm9yLW5hdGl2ZS1idWlsZHMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDRjZjM3ZDU2ZmRkY2MyMmJjZDgxOGY2ZDQ3MDQwNGY1NmQ5MDdmM2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDdlYThjODNkODRhMDVmNjg2MTI4ZTY1MmE1NDQ3ZmI1ZjZmYjY4YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBTYXNjaGEgU2lsYmUgPHgteW8xN0BzZS1zaWxiZS5kZT4KIERhdGU6IEZyaSwgOCBKdW4gMjAxOCAxMzo1NToxMCArMDIwMAogU3ViamVjdDogW1BBVENIXSBSZWxvY2F0ZSB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkgZm9yIG5hdGl2ZSBidWlsZHMKQEAgLTE3LDcgKzE3LDggQEAKIAogLS0tCiAgZ2lyZXBvc2l0b3J5L2dpcmVwb3NpdG9yeS5jIHwgMTUgKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgZ2lyZXBvc2l0b3J5L21lc29uLmJ1aWxkICAgIHwgIDIgKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9naXJlcG9zaXRvcnkvZ2lyZXBvc2l0b3J5LmMgYi9naXJlcG9zaXRvcnkvZ2lyZXBvc2l0b3J5LmMKIGluZGV4IGMxZmEzZDMuLmVmYTU1N2UgMTAwNjQ0CkBAIC02MCwzICs2MSwxNiBAQAogIAogICAgICAgIHR5cGVsaWJfc2VhcmNoX3BhdGggPSBnX3NsaXN0X3ByZXBlbmQgKHR5cGVsaWJfc2VhcmNoX3BhdGgsIHR5cGVsaWJfZGlyKTsKICAKK2RpZmYgLS1naXQgYS9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQgYi9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQKK2luZGV4IDZhOGM1YjUuLjg4OTJmMmEgMTAwNjQ0CistLS0gYS9naXJlcG9zaXRvcnkvbWVzb24uYnVpbGQKKysrKyBiL2dpcmVwb3NpdG9yeS9tZXNvbi5idWlsZAorQEAgLTI3LDcgKzI3LDcgQEAgZ2lyZXBvX2ludGVybmFsc19saWIgPSBzdGF0aWNfbGlicmFyeSgnZ2lyZXBvc2l0b3J5LWludGVybmFscycsCisgICBdLAorICAgY19hcmdzOiBnaV9oaWRkZW5fdmlzaWJpbGl0eV9jZmxhZ3MsCisgICBpbmNsdWRlX2RpcmVjdG9yaWVzIDogY29uZmlnaW5jLAorLSAgZGVwZW5kZW5jaWVzOiBbZ2lyZXBvX2d0aGFzaF9kZXAsIGxpYmZmaV9kZXBdLAorKyAgZGVwZW5kZW5jaWVzOiBbZ2lyZXBvX2d0aGFzaF9kZXAsIGxpYmZmaV9kZXAsIGNjLmZpbmRfbGlicmFyeSgnZGwnKV0sCisgKQorIAorIGdpcmVwb19pbnRlcm5hbHNfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDEwLW1lc29uLWFkZC1vcHRpb24tZ2lyLWRpci1wcmVmaXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uLzAwMTAtbWVzb24tYWRkLW9wdGlvbi1naXItZGlyLXByZWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWVjNWY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbi8wMDEwLW1lc29uLWFkZC1vcHRpb24tZ2lyLWRpci1wcmVmaXgucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSBiYmMzNGYwMGZkMzBhMTNlYWZjNjA3YTk1NmRlNjBkODIyMjYwMzU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDE0IFNlcCAyMDE4IDAxOjI2OjM4IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIG1lc29uOiBhZGQgb3B0aW9uICdnaXItZGlyLXByZWZpeCcKKworQWRkIG9wdGlvbiAnZ2lyLWRpci1wcmVmaXgnIGZvciBtZXNvbiB0byBtYWtlIHRoZSBpbnN0YWxsYXRpb24gcGF0aCBvZgorLmdpciBmaWxlcyBjb3VsZCBiZSBjb25maWd1cmVkIHdoaWNoIGhhcyBiZWVuIGRvbmUgZm9yIGF1dG9jb25mLgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2NvbW1pdC8zOTM4Yjg2ZjUyODljMmIyOGE1ZWM0Mjk2NWI4ZGE0YjUwOTQ0NWM0XQorU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KKyBnaXIvbWVzb24uYnVpbGQgICB8IDEgLQorIG1lc29uLmJ1aWxkICAgICAgIHwgOCArKysrKysrLQorIG1lc29uX29wdGlvbnMudHh0IHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZ2lyL21lc29uLmJ1aWxkIGIvZ2lyL21lc29uLmJ1aWxkCitpbmRleCA2MDdiYmM0Li4xY2I1MTRhIDEwMDY0NAorLS0tIGEvZ2lyL21lc29uLmJ1aWxkCisrKysgYi9naXIvbWVzb24uYnVpbGQKK0BAIC0zNCw3ICszNCw2IEBAIGdpcl9maWxlcyA9IFsKKyBdCisgCisgdHlwZWxpYmRpciA9IGpvaW5fcGF0aHMoZ2V0X29wdGlvbignbGliZGlyJyksICdnaXJlcG9zaXRvcnktMS4wJykKKy1naXJkaXIgPSBqb2luX3BhdGhzKGdldF9vcHRpb24oJ2RhdGFkaXInKSwgJ2dpci0xLjAnKQorIGluc3RhbGxfZGF0YShnaXJfZmlsZXMsIGluc3RhbGxfZGlyOiBnaXJkaXIpCisgCisgc2Nhbm5lcl9jb21tYW5kID0gWworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IGExNDMyZjcuLjE3YWNkODIgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0xOCw3ICsxOCwxMiBAQCBweXRob24gPSBweW1vZC5maW5kX2luc3RhbGxhdGlvbihnZXRfb3B0aW9uKCdweXRob24nKSkKKyBjYyA9IG1lc29uLmdldF9jb21waWxlcignYycpCisgY29uZmlnID0gY29uZmlndXJhdGlvbl9kYXRhKCkKKyBjb25maWcuc2V0X3F1b3RlZCgnR0lSX1NVRkZJWCcsICdnaXItMS4wJykKKy1jb25maWcuc2V0X3F1b3RlZCgnR0lSX0RJUicsIGpvaW5fcGF0aHMoZ2V0X29wdGlvbigncHJlZml4JyksIGdldF9vcHRpb24oJ2RhdGFkaXInKSwgJ2dpci0xLjAnKSkKKytnaXJfZGlyX3ByZWZpeCA9IGdldF9vcHRpb24oJ2dpci1kaXItcHJlZml4JykKKytpZiBnaXJfZGlyX3ByZWZpeCA9PSAnJworKyAgICBnaXJfZGlyX3ByZWZpeCA9IGdldF9vcHRpb24oJ2RhdGFkaXInKQorK2VuZGlmCisrZ2lyZGlyID0gam9pbl9wYXRocyhnZXRfb3B0aW9uKCdwcmVmaXgnKSwgZ2lyX2Rpcl9wcmVmaXgsICdnaXItMS4wJykKKytjb25maWcuc2V0X3F1b3RlZCgnR0lSX0RJUicsIGdpcmRpcikKKyBjb25maWcuc2V0X3F1b3RlZCgnR09CSkVDVF9JTlRST1NQRUNUSU9OX0xJQkRJUicsIGpvaW5fcGF0aHMoZ2V0X29wdGlvbigncHJlZml4JyksIGdldF9vcHRpb24oJ2xpYmRpcicpKSkKKyAKKyBmb3JlYWNoIHR5cGUgOiBbJ2NoYXInLCAnc2hvcnQnLCAnaW50JywgJ2xvbmcnXQorQEAgLTkzLDYgKzk4LDcgQEAgcGtnY29uZmlnX2NvbmYuc2V0KCdsaWJkaXInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdsaWJkaXInKSkpCisgcGtnY29uZmlnX2NvbmYuc2V0KCdkYXRhcm9vdGRpcicsIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdldF9vcHRpb24oJ2RhdGFkaXInKSkpCisgcGtnY29uZmlnX2NvbmYuc2V0KCdkYXRhZGlyJywgJyR7ZGF0YXJvb3RkaXJ9JykKKyBwa2djb25maWdfY29uZi5zZXQoJ2luY2x1ZGVkaXInLCBqb2luX3BhdGhzKCcke3ByZWZpeH0nLCBnZXRfb3B0aW9uKCdpbmNsdWRlZGlyJykpKQorK3BrZ2NvbmZpZ19jb25mLnNldCgnR0lSX0RJUicsIGpvaW5fcGF0aHMoJyR7cHJlZml4fScsIGdpcl9kaXJfcHJlZml4LCAnZ2lyLTEuMCcpKQorIGlmIGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJyBvciBob3N0X3N5c3RlbSA9PSAnY3lnd2luJworICAgcGtnY29uZmlnX2NvbmYuc2V0KCdFWEVFWFQnLCAnLmV4ZScpCisgZWxzZQorZGlmZiAtLWdpdCBhL21lc29uX29wdGlvbnMudHh0IGIvbWVzb25fb3B0aW9ucy50eHQKK2luZGV4IDQ5NzI2YmUuLmVlNjk1OGQgMTAwNjQ0CistLS0gYS9tZXNvbl9vcHRpb25zLnR4dAorKysrIGIvbWVzb25fb3B0aW9ucy50eHQKK0BAIC0yMSwzICsyMSw3IEBAIG9wdGlvbignY2Fpcm8tbGlibmFtZScsIHR5cGU6ICdzdHJpbmcnLAorIG9wdGlvbigncHl0aG9uJywgdHlwZTogJ3N0cmluZycsIHZhbHVlOiAncHl0aG9uMycsCisgICBkZXNjcmlwdGlvbjogJ1BhdGggb3IgbmFtZSBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyIHRvIGJ1aWxkIGZvcicKKyApCisrCisrb3B0aW9uKCdnaXItZGlyLXByZWZpeCcsIHR5cGU6ICdzdHJpbmcnLAorKyAgZGVzY3JpcHRpb246ICdJbnRlcm1lZGlhdGUgcHJlZml4IGZvciBnaXIgaW5zdGFsbGF0aW9uIHVuZGVyICR7cHJlZml4fScKKyspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9nb2JqZWN0LWludHJvc3BlY3Rpb24vZ29iamVjdC1pbnRyb3NwZWN0aW9uXzEuNTguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NWNhODdkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjA0ICswLDAgQEAKLVNVTU1BUlkgPSAiTWlkZGxld2FyZSBsYXllciBiZXR3ZWVuIEdPYmplY3QtdXNpbmcgQyBsaWJyYXJpZXMgYW5kIGxhbmd1YWdlIGJpbmRpbmdzIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9hY3Rpb24vc2hvdy9Qcm9qZWN0cy9HT2JqZWN0SW50cm9zcGVjdGlvbiIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJMR1BMdjIrICYgR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YzQzNGU4MTI4YTY4YmVkZDU5YjgwYjJhYzFlYjFjNGEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdG9vbHMvY29tcGlsZXIuYztlbmRsaW5lPTIwO21kNT1mYzUwMDdmYzIwMDIyNzIwZTZjMGIwY2RkZTQxZmFiZCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9naXNjYW5uZXIvc291cmNlc2Nhbm5lci5jO2VuZGxpbmU9MjI7bWQ1PTE5NGQ2ZTBjMWQwMDY2MmYzMmQwMzBjZTQ0ZGU4ZDM5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dpcmVwb3NpdG9yeS9naXJlZ2lzdGVyZWR0eXBlaW5mby5jO2VuZGxpbmU9MjE7bWQ1PTY2MTg0NzYxMWFlNjk3OTQ2NTQxNWYzMWE3NTliYTI3IFwKLSAgICAgICAgICAgICAgICAgICAgIgotCi1TUkNfVVJJID0gIiR7R05PTUVfTUlSUk9SfS8ke0JQTn0vJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtUmV2ZXJ0LWFuLWluY29tcGxldGUtdXBzdHJlYW0tYXR0ZW1wdC1hdC1jcm9zcy1jb21waS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbmZpZ3VyZS5hYy1hZGQtaG9zdC1naS1naS1jcm9zcy13cmFwcGVyLWdpLWxkZC13cmEucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1naXNjYW5uZXItYWRkLXVzZS1iaW5hcnktd3JhcHBlci1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNC1naXNjYW5uZXItYWRkLWEtdXNlLWxkZC13cmFwcGVyLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA1LVByZWZpeC1wa2ctY29uZmlnLXBhdGhzLXdpdGgtUEtHX0NPTkZJR19TWVNST09UX0RJUi0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1naXNjYW5uZXItYWRkLWEtbGliLWRpcnMtZW52dmFyLW9wdGlvbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWdpc2Nhbm5lci1pZ25vcmUtZXJyb3ItcmV0dXJuLWNvZGVzLWZyb20tbGRkLXdyYXBwZXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtbWFrZS1HSVJfRElSLWNvbmZpZ3VyYWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWctaXItdG9vbHMtcmVzcGVjdC1naXJfZGlyX3ByZWZpeC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjk0ZmVjODc1Mjc2MjYyMDM3YmZjZDUxMjI2ZGIxMmZlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI3YzE1OTBhMzI3NDlkZTBhNTQ4MWNlODk3NzcyNTQ3MDQzZTk0YmNjYmE0YmMwYTdlZGIzZDg1MTNlNDAxZWMiCi0KLVNSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtUmVsb2NhdGUtdGhlLXJlcG9zaXRvcnktZGlyZWN0b3J5LWZvci1uYXRpdmUtYnVpbGRzLnBhdGNoIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBweXRob24zbmF0aXZlIHFlbXUgZ29iamVjdC1pbnRyb3NwZWN0aW9uLWRhdGEgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIG11bHRpbGliX3NjcmlwdAotCi1NVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59OiR7YmluZGlyfS9nLWlyLWFubm90YXRpb24tdG9vbCAke1BOfToke2JpbmRpcn0vZy1pci1zY2FubmVyIgotCi1ERVBFTkRTX2FwcGVuZCA9ICIgbGliZmZpIHpsaWIgZ2xpYi0yLjAgcHl0aG9uMyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUgYXV0b2NvbmYtYXJjaGl2ZSIKLQotIyB0YXJnZXQgYnVpbGQgbmVlZHMgcWVtdSB0byBydW4gdGVtcG9yYXJ5IGludHJvc3BlY3Rpb24gYmluYXJpZXMgY3JlYXRlZAotIyBvbiB0aGUgZmx5IGJ5IGctaXItc2Nhbm5lciBhbmQgYSBuYXRpdmUgdmVyc2lvbiBvZiBpdHNlbGYgdG8gcnVuCi0jIG5hdGl2ZSB2ZXJzaW9ucyBvZiBpdHMgb3duIHRvb2xzIGR1cmluZyBidWlsZC4KLSMgQWxzbyBwcmVsaW5rLXJ0bGQgaXMgdXNlZCB0byBmaW5kIG91dCBsaWJyYXJ5IGRlcGVuZGVuY2llcyBvZiBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzCi0jIChzdGFuZGFyZCBsZGQgZG9lc24ndCB3b3JrIHdoZW4gY3Jvc3MtY29tcGlsaW5nKS4KLURFUEVORFNfY2xhc3MtdGFyZ2V0X2FwcGVuZCA9ICIgZ29iamVjdC1pbnRyb3NwZWN0aW9uLW5hdGl2ZSBxZW11LW5hdGl2ZSBwcmVsaW5rLW5hdGl2ZSIKLQotIyBuZWVkZWQgZm9yIHdyaXRpbmcgb3V0IHRoZSBxZW11IHdyYXBwZXIgc2NyaXB0Ci1leHBvcnQgU1RBR0lOR19ESVJfSE9TVAotZXhwb3J0IEIKLQotUEFDS0FHRUNPTkZJRyA/PSAiIgotUEFDS0FHRUNPTkZJR1tkb2N0b29sXSA9ICItLWVuYWJsZS1kb2N0b29sLC0tZGlzYWJsZS1kb2N0b29sLHB5dGhvbjMtbWFrbywiCi0KLSMgQ29uZmlndXJlIHRhcmdldCBidWlsZCB0byB1c2UgbmF0aXZlIHRvb2xzIG9mIGl0c2VsZiBhbmQgdG8gdXNlIGEgcWVtdSB3cmFwcGVyCi0jIGFuZCBvcHRpb25hbGx5IHRvIGdlbmVyYXRlIGludHJvc3BlY3Rpb24gZGF0YQotRVhUUkFfT0VDT05GX2NsYXNzLXRhcmdldCA9ICIgXAotICAgIC0tZGlzYWJsZS1zdGF0aWMgXAotICAgIC0tZW5hYmxlLWhvc3QtZ2kgXAotICAgIC0tZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXI9JHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgXAotICAgIC0tZW5hYmxlLWdpLWxkZC13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICctLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWRhdGEnLCAnLS1kaXNhYmxlLWludHJvc3BlY3Rpb24tZGF0YScsIGQpfSBcCi0gICAgJHtAJy0td2l0aC1naXItZGlyLXByZWZpeD0ke2xpYmRpcn0nIGlmIGQuZ2V0VmFyKCdNVUxUSUxJQlMnKSBlbHNlICcnfSBcCi0iCi0KLSMgTmVlZCB0byBlbnN1cmUgbGQuc28uY29uZiBleGlzdHMgc28gcHJlbGluay1uYXRpdmUgd29ya3MKLSMgYm90aCBiZWZvcmUgd2UgYnVpbGQgYW5kIGlmIHdlIGluc3RhbGwgZnJvbSBzc3RhdGUKLWRvX2NvbmZpZ3VyZVtwcmVmdW5jc10gKz0gImdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUiCi1weXRob24gZ29iamVjdF9pbnRyb3NwZWN0aW9uX3ByZWNvbmZpZ3VyZSAoKSB7Ci0gICAgb2UudXRpbHMud3JpdGVfbGRfc29fY29uZihkKQotfQotCi1kb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7Ci0gICAgICAgICMgVHdlYWsgdGhlIG5hdGl2ZSBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCi0gICAgICAgICMgZnVsbCBwYXRoIG9mIG5hdGl2ZSBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCi0gICAgICAgICMgVGhpcyByZW1vdmVzIHRoZSByaXNrIG9mIGV4Y2VlZGluZyBMaW51eCBrZXJuZWwncyBzaGViYW5nIGxpbmUgbGltaXQgKDEyOCBieXRlcykKLSAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vdG9vbHMvZy1pci10b29sLXRlbXBsYXRlLmluCi19Ci0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKLSAgICAgICAgIyBXcml0ZSBvdXQgYSBxZW11IHdyYXBwZXIgdGhhdCB3aWxsIGJlIGdpdmVuIHRvIGdpLXNjYW5uZXIgc28gdGhhdCBpdAotICAgICAgICAjIGNhbiBydW4gdGFyZ2V0IGhlbHBlciBiaW5hcmllcyB0aHJvdWdoIHRoYXQuCi0gICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1wkR0lSX0VYVFJBX0xJQlNfUEFUSCcsJy5saWJzJywnJFNUQUdJTkdfRElSX0hPU1QvJHtsaWJkaXJ9JywnJFNUQUdJTkdfRElSX0hPU1QvJHtiYXNlX2xpYmRpcn0nXSl9IgotICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlciA8PCBFT0YKLSMhL2Jpbi9zaAotIyBVc2UgYSBtb2R1bGVzIGRpcmVjdG9yeSB3aGljaCBkb2Vzbid0IGV4aXN0IHNvIHdlIGRvbid0IGxvYWQgcmFuZG9tIHRoaW5ncwotIyB3aGljaCBtYXkgdGhlbiBnZXQgZGVsZXRlZCAob3IgdGhlaXIgZGVwZW5kZW5jaWVzKSBhbmQgcG90ZW50aWFsbHkgc2VnZmF1bHQKLWV4cG9ydCBHSU9fTU9EVUxFX0RJUj0ke1NUQUdJTkdfTElCRElSfS9naW8vbW9kdWxlcy1kdW1teQotCi0kcWVtdV9iaW5hcnkgIlwkQCIKLWlmIFsgXCQ/IC1uZSAwIF07IHRoZW4KLSAgICBlY2hvICJJZiB0aGUgYWJvdmUgZXJyb3IgbWVzc2FnZSBpcyBhYm91dCBtaXNzaW5nIC5zbyBsaWJyYXJpZXMsIHRoZW4gc2V0dGluZyB1cCBHSVJfRVhUUkFfTElCU19QQVRIIGluIHRoZSByZWNpcGUgc2hvdWxkIGhlbHAuIgotICAgIGVjaG8gIih0eXBpY2FsbHkgbGlrZSB0aGlzOiBHSVJfRVhUUkFfTElCU19QQVRIPVwiJCIie0J9L3NvbWV0aGluZy8ubGlic1wiICkiCi0gICAgZXhpdCAxCi1maQotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyCi0KLSAgICAgICAgIyBXcml0ZSBvdXQgYSB3cmFwcGVyIGZvciBnLWlyLXNjYW5uZXIgaXRzZWxmLCB3aGljaCB3aWxsIGJlIHVzZWQgd2hlbiBidWlsZGluZyBpbnRyb3NwZWN0aW9uIGZpbGVzCi0gICAgICAgICMgZm9yIGdsaWItYmFzZWQgcGFja2FnZXMuIFRoaXMgd3JhcHBlciBjYWxscyB0aGUgbmF0aXZlIHZlcnNpb24gb2YgdGhlIHNjYW5uZXIsIGFuZCB0ZWxscyBpdCB0byB1c2UKLSAgICAgICAgIyBhIHFlbXUgd3JhcHBlciBmb3IgcnVubmluZyB0cmFuc2llbnQgdGFyZ2V0IGJpbmFyaWVzIHByb2R1Y2VkIGJ5IHRoZSBzY2FubmVyLCBhbmQgYW4gaW5jbHVkZSBkaXJlY3RvcnkgCi0gICAgICAgICMgZnJvbSB0aGUgdGFyZ2V0IHN5c3Jvb3QuCi0gICAgICAgIGNhdCA+ICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIgPDwgRU9GCi0jIS9iaW4vc2gKLSMgVGhpcyBwcmV2ZW50cyBnLWlyLXNjYW5uZXIgZnJvbSB3cml0aW5nIGNhY2hlIGRhdGEgdG8gJEhPTUUKLWV4cG9ydCBHSV9TQ0FOTkVSX0RJU0FCTEVfQ0FDSEU9MQotCi1nLWlyLXNjYW5uZXIgLS1saWItZGlycy1lbnZ2YXI9R0lSX0VYVFJBX0xJQlNfUEFUSCAtLXVzZS1iaW5hcnktd3JhcHBlcj0ke1NUQUdJTkdfQklORElSfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgLS11c2UtbGRkLXdyYXBwZXI9JHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgLS1hZGQtaW5jbHVkZS1wYXRoPSR7U1RBR0lOR19EQVRBRElSfS9naXItMS4wIC0tYWRkLWluY2x1ZGUtcGF0aD0ke1NUQUdJTkdfTElCRElSfS9naXItMS4wICJcJEAiCi1FT0YKLSAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlcgotCi0gICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciBmb3IgZy1pci1jb21waWxlciwgd2hpY2ggcnVucyB0aGUgdGFyZ2V0IHZlcnNpb24gb2YgaXQgdGhyb3VnaCBxZW11LgotICAgICAgICAjIGctaXItY29tcGlsZXIgd3JpdGVzIG91dCB0aGUgcmF3IGNvbnRlbnQgb2YgYSBDIHN0cnVjdCB0byBkaXNrLCBhbmQgdGhlcmVmb3JlIGlzIGFyY2hpdGVjdHVyZSBkZXBlbmRlbnQuCi0gICAgICAgIGNhdCA+ICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyIDw8IEVPRgotIyEvYmluL3NoCi0ke1NUQUdJTkdfQklORElSfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgJHtTVEFHSU5HX0JJTkRJUn0vZy1pci1jb21waWxlciAiXCRAIgotRU9GCi0gICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyCi0KLSAgICAgICAgIyBXcml0ZSBvdXQgYSB3cmFwcGVyIHRvIHVzZSBpbnN0ZWFkIG9mIGxkZCwgd2hpY2ggZG9lcyBub3Qgd29yayB3aGVuIGEgYmluYXJ5IGlzIGJ1aWx0Ci0gICAgICAgICMgZm9yIGEgZGlmZmVyZW50IGFyY2hpdGVjdHVyZQotICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIDw8IEVPRgotIyEvYmluL3NoCi1wcmVsaW5rLXJ0bGQgLS1yb290PSRTVEFHSU5HX0RJUl9IT1NUICJcJEAiCi1FT0YKLSAgICAgICAgY2htb2QgK3ggJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlcgotCi0gICAgICAgICMgQWxzbyB0d2VhayB0aGUgdGFyZ2V0IHB5dGhvbiBzY3JpcHRzIHNvIHRoYXQgdGhleSBkb24ndCByZWZlciB0byB0aGUKLSAgICAgICAgIyBuYXRpdmUgdmVyc2lvbiBvZiBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCi0gICAgICAgIHNlZCAtaSAtZSAnMXMsIyEuKiwjISR7VVNSQklOUEFUSH0vZW52IHB5dGhvbjMsJyAke1N9L3Rvb2xzL2ctaXItdG9vbC10ZW1wbGF0ZS5pbgotfQotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0gICAgICAgICMgVGhpcyBwcmV2ZW50cyBnLWlyLXNjYW5uZXIgZnJvbSB3cml0aW5nIGNhY2hlIGRhdGEgdG8gJEhPTUUKLSAgICAgICAgZXhwb3J0IEdJX1NDQU5ORVJfRElTQUJMRV9DQUNIRT0xCi0KLSAgICAgICAgIyBOZWVkZWQgdG8gcnVuIGctaXIgdW5pdCB0ZXN0cywgd2hpY2ggd29uJ3QgYmUgYWJsZSB0byBmaW5kIHRoZSBidWlsdCBsaWJyYXJpZXMgb3RoZXJ3aXNlCi0gICAgICAgIGV4cG9ydCBHSVJfRVhUUkFfTElCU19QQVRIPSRCLy5saWJzCi19Ci0KLSMgT3VyIHdyYXBwZXJzIG5lZWQgdG8gYmUgYXZhaWxhYmxlIHN5c3RlbS13aWRlLCBiZWNhdXNlIHRoZXkgd2lsbCBiZSB1c2VkIAotIyB0byBidWlsZCBpbnRyb3NwZWN0aW9uIGZpbGVzIGZvciBhbGwgb3RoZXIgZ29iamVjdC1iYXNlZCBwYWNrYWdlcwotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXIgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAke0J9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyICR7RH0ke2JpbmRpcn0vCi19Ci0KLSMgd2UgbmVlZCB0YXJnZXQgdmVyc2lvbnMgb2YgaW50cm9zcGVjdGlvbiB0b29scyBpbiBzeXNyb290IHNvIHRoYXQgdGhleSBjYW4gYmUgcnVuIHZpYSBxZW11Ci0jIHdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcyBpbiBvdGhlciBwYWNrYWdlcwotU1lTUk9PVF9ESVJTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7YmluZGlyfSIKLQotU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIGdpX2JpbmFyaWVzX3N5c3Jvb3RfcHJlcHJvY2VzcyIKLWdpX2JpbmFyaWVzX3N5c3Jvb3RfcHJlcHJvY2VzcygpIHsKLSAgICAgICAgIyBUd2VhayB0aGUgYmluYXJ5IG5hbWVzIGluIHRoZSBpbnRyb3NwZWN0aW9uIHBrZ2NvbmZpZyBmaWxlLCBzbyB0aGF0IGl0Ci0gICAgICAgICMgcGlja3MgdXAgb3VyIHdyYXBwZXJzIHdoaWNoIGRvIHRoZSBjcm9zcy1jb21waWxlIGFuZCBxZW11IG1hZ2ljLgotICAgICAgICBzZWQgLWkgXAotICAgICAgICAgICAtZSAic3xnX2lyX3NjYW5uZXI9Lip8Z19pcl9zY2FubmVyPSR7YmluZGlyfS9nLWlyLXNjYW5uZXItd3JhcHBlcnwiIFwKLSAgICAgICAgICAgLWUgInN8Z19pcl9jb21waWxlcj0uKnxnX2lyX2NvbXBpbGVyPSR7YmluZGlyfS9nLWlyLWNvbXBpbGVyLXdyYXBwZXJ8IiBcCi0gICAgICAgICAgICR7U1lTUk9PVF9ERVNURElSfSR7bGliZGlyfS9wa2djb25maWcvZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC5wYwotfQotCi1TWVNST09UX1BSRVBST0NFU1NfRlVOQ1NfYXBwZW5kID0gIiBnaV9sZHNvY29uZl9zeXNyb290X3ByZXByb2Nlc3MiCi1naV9sZHNvY29uZl9zeXNyb290X3ByZXByb2Nlc3MgKCkgewotCW1rZGlyIC1wICR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfQotCWRlc3Q9JHtTWVNST09UX0RFU1RESVJ9JHtiaW5kaXJ9L3Bvc3RpbnN0LWxkc29jb25mLSR7UE59Ci0JZWNobyAiIyEvYmluL3NoIiA+ICRkZXN0Ci0JZWNobyAibWtkaXIgLXAgJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfSIgPj4gJGRlc3QKLQllY2hvICJlY2hvICR7YmFzZV9saWJkaXJ9ID4+ICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0vbGQuc28uY29uZiIgPj4gJGRlc3QKLQllY2hvICJlY2hvICR7bGliZGlyfSA+PiAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYiID4+ICRkZXN0Ci0JY2htb2QgNzU1ICRkZXN0Ci19Ci0KLSMgUmVtb3ZlIHdyYXBwZXIgZmlsZXMgZnJvbSB0aGUgcGFja2FnZSwgb25seSB1c2VkIGZvciBjcm9zcy1jb21waWxpbmcKLVBBQ0tBR0VfUFJFUFJPQ0VTU19GVU5DUyArPSAiZ2lfcGFja2FnZV9wcmVwcm9jZXNzIgotZ2lfcGFja2FnZV9wcmVwcm9jZXNzKCkgewotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyCi0Jcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLXNjYW5uZXItd3JhcHBlcgotCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1jb21waWxlci13cmFwcGVyCi0Jcm0gLWYgJHtQS0dEfSR7YmluZGlyfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlcgotfQotCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIGctaXItc2Nhbm5lci13cmFwcGVyIGctaXItY29tcGlsZXItd3JhcHBlciBnLWlyLXNjYW5uZXItbGRkd3JhcHBlciBHaW8tMi4wLmdpciBwb3N0aW5zdC1sZHNvY29uZi0ke1BOfSIKLQotIyAudHlwZWxpYiBmaWxlcyBhcmUgbmVlZGVkIGF0IHJ1bnRpbWUgYW5kIHNvIHRoZXkgZ28gdG8gdGhlIG1haW4gcGFja2FnZQotRklMRVNfJHtQTn1fYXBwZW5kID0gIiAke2xpYmRpcn0vZ2lyZXBvc2l0b3J5LSovKi50eXBlbGliIgotCi0jIC5naXIgZmlsZXMgZ28gdG8gZGV2IHBhY2thZ2UsIGFzIHRoZXkncmUgbmVlZGVkIGZvciBkZXZlbG9waW5nIChidXQgbm90IGZvciBydW5uaW5nKQotIyB0aGluZ3MgdGhhdCBkZXBlbmRzIG9uIGludHJvc3BlY3Rpb24uCi1GSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dpci0qLyouZ2lyICR7bGliZGlyfS9naXItKi8qLmdpciIKLUZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ2lyLSovKi5ybmMiCi0KLSMgVGhlc2UgYXJlIHVzZWQgYnkgZ29iamVjdC1iYXNlZCBwYWNrYWdlcwotIyB0byBnZW5lcmF0ZSB0cmFuc2llbnQgaW50cm9zcGVjdGlvbiBiaW5hcmllcwotRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL2dkdW1wLmMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL01ha2VmaWxlLmludHJvc3BlY3Rpb24iCi0KLSMgVGhlc2UgYXJlIHVzZWQgYnkgZGVwZW5kZW50IHBhY2thZ2VzIChlLmcuIHB5Z29iamVjdCkgdG8gYnVpbGQgdGhlaXIKLSMgdGVzdHN1aXRlcy4KLUZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC90ZXN0cy8qLmMgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9nb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wL3Rlc3RzLyouaCIKLQotRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dpc2Nhbm5lci8uZGVidWcvIgotRklMRVNfJHtQTn0tc3RhdGljZGV2ICs9ICIke2xpYmRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dpc2Nhbm5lci8qLmEiCi0KLVJERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtcGlja2xlIHB5dGhvbjMteG1sIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ29iamVjdC1pbnRyb3NwZWN0aW9uL2dvYmplY3QtaW50cm9zcGVjdGlvbl8xLjU4LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZmOWI3YgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2dvYmplY3QtaW50cm9zcGVjdGlvbi9nb2JqZWN0LWludHJvc3BlY3Rpb25fMS41OC4zLmJiCkBAIC0wLDAgKzEsMjA2IEBACitTVU1NQVJZID0gIk1pZGRsZXdhcmUgbGF5ZXIgYmV0d2VlbiBHT2JqZWN0LXVzaW5nIEMgbGlicmFyaWVzIGFuZCBsYW5ndWFnZSBiaW5kaW5ncyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvYWN0aW9uL3Nob3cvUHJvamVjdHMvR09iamVjdEludHJvc3BlY3Rpb24iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyAmIEdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM0MzRlODEyOGE2OGJlZGQ1OWI4MGIyYWMxZWIxYzRhIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rvb2xzL2NvbXBpbGVyLmM7ZW5kbGluZT0yMDttZDU9ZmM1MDA3ZmMyMDAyMjcyMGU2YzBiMGNkZGU0MWZhYmQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2lzY2FubmVyL3NvdXJjZXNjYW5uZXIuYztlbmRsaW5lPTIyO21kNT0xOTRkNmUwYzFkMDA2NjJmMzJkMDMwY2U0NGRlOGQzOSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9naXJlcG9zaXRvcnkvZ2lyZWdpc3RlcmVkdHlwZWluZm8uYztlbmRsaW5lPTIxO21kNT02NjE4NDc2MTFhZTY5Nzk0NjU0MTVmMzFhNzU5YmEyNyBcCisgICAgICAgICAgICAgICAgICAgICIKKworU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0vJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVJldmVydC1hbi1pbmNvbXBsZXRlLXVwc3RyZWFtLWF0dGVtcHQtYXQtY3Jvc3MtY29tcGkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1jb25maWd1cmUuYWMtYWRkLWhvc3QtZ2ktZ2ktY3Jvc3Mtd3JhcHBlci1naS1sZGQtd3JhLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZ2lzY2FubmVyLWFkZC11c2UtYmluYXJ5LXdyYXBwZXItb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtZ2lzY2FubmVyLWFkZC1hLXVzZS1sZGQtd3JhcHBlci1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1QcmVmaXgtcGtnLWNvbmZpZy1wYXRocy13aXRoLVBLR19DT05GSUdfU1lTUk9PVF9ESVItLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtZ2lzY2FubmVyLWFkZC1hLWxpYi1kaXJzLWVudnZhci1vcHRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1naXNjYW5uZXItaWdub3JlLWVycm9yLXJldHVybi1jb2Rlcy1mcm9tLWxkZC13cmFwcGVyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLW1ha2UtR0lSX0RJUi1jb25maWd1cmFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1nLWlyLXRvb2xzLXJlc3BlY3QtZ2lyX2Rpcl9wcmVmaXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAxMC1tZXNvbi1hZGQtb3B0aW9uLWdpci1kaXItcHJlZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtUG9ydC1jcm9zcy1jb21waWxhdGlvbi1zdXBwb3J0LXRvLW1lc29uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTgyNDMyYzFmMzM4ODZiZThmNGRhMDczMjE4YjU5N2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDI1YjYzMmJiZDk0NGRjZjExZmM1MGQxOWEwY2EwODZiODNiYWY5MmIzZTM0OTM2ZDAwODE4MGQyOGNkYzNjOCIKKworU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vMDAwMS1SZWxvY2F0ZS10aGUtcmVwb3NpdG9yeS1kaXJlY3RvcnktZm9yLW5hdGl2ZS1idWlsZHMucGF0Y2giCisKK2luaGVyaXQgbWVzb24gcGtnY29uZmlnIGd0ay1kb2MgcHl0aG9uM25hdGl2ZSBxZW11IGdvYmplY3QtaW50cm9zcGVjdGlvbi1kYXRhIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfToke2JpbmRpcn0vZy1pci1hbm5vdGF0aW9uLXRvb2wgJHtQTn06JHtiaW5kaXJ9L2ctaXItc2Nhbm5lciIKKworREVQRU5EU19hcHBlbmQgPSAiIGxpYmZmaSB6bGliIGdsaWItMi4wIHB5dGhvbjMgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGF1dG9jb25mLWFyY2hpdmUiCisKKyMgdGFyZ2V0IGJ1aWxkIG5lZWRzIHFlbXUgdG8gcnVuIHRlbXBvcmFyeSBpbnRyb3NwZWN0aW9uIGJpbmFyaWVzIGNyZWF0ZWQKKyMgb24gdGhlIGZseSBieSBnLWlyLXNjYW5uZXIgYW5kIGEgbmF0aXZlIHZlcnNpb24gb2YgaXRzZWxmIHRvIHJ1bgorIyBuYXRpdmUgdmVyc2lvbnMgb2YgaXRzIG93biB0b29scyBkdXJpbmcgYnVpbGQuCisjIEFsc28gcHJlbGluay1ydGxkIGlzIHVzZWQgdG8gZmluZCBvdXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgb2YgaW50cm9zcGVjdGlvbiBiaW5hcmllcworIyAoc3RhbmRhcmQgbGRkIGRvZXNuJ3Qgd29yayB3aGVuIGNyb3NzLWNvbXBpbGluZykuCitERVBFTkRTX2NsYXNzLXRhcmdldF9hcHBlbmQgPSAiIGdvYmplY3QtaW50cm9zcGVjdGlvbi1uYXRpdmUgcWVtdS1uYXRpdmUgcHJlbGluay1uYXRpdmUiCisKKyMgbmVlZGVkIGZvciB3cml0aW5nIG91dCB0aGUgcWVtdSB3cmFwcGVyIHNjcmlwdAorZXhwb3J0IFNUQUdJTkdfRElSX0hPU1QKK2V4cG9ydCBCCisKK1BBQ0tBR0VDT05GSUcgPz0gIiIKK1BBQ0tBR0VDT05GSUdbZG9jdG9vbF0gPSAiLURkb2N0b29sPXRydWUsLURkb2N0b29sPWZhbHNlLHB5dGhvbjMtbWFrbywiCisKKyMgQ29uZmlndXJlIHRhcmdldCBidWlsZCB0byB1c2UgbmF0aXZlIHRvb2xzIG9mIGl0c2VsZiBhbmQgdG8gdXNlIGEgcWVtdSB3cmFwcGVyCisjIGFuZCBvcHRpb25hbGx5IHRvIGdlbmVyYXRlIGludHJvc3BlY3Rpb24gZGF0YQorRVhUUkFfT0VNRVNPTl9jbGFzcy10YXJnZXQgPSAiIFwKKyAgICAtRGVuYWJsZS1ob3N0LWdpPXRydWUgXAorICAgIC1EZW5hYmxlLWdpLWNyb3NzLXdyYXBwZXI9JHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgXAorICAgIC1EZW5hYmxlLWdpLWxkZC13cmFwcGVyPSR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgXAorICAgIC1EcGtnY29uZmlnLXN5c3Jvb3QtcGF0aD0ke1BLR19DT05GSUdfU1lTUk9PVF9ESVJ9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnLURlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhPXRydWUnLCAnLURlbmFibGUtaW50cm9zcGVjdGlvbi1kYXRhPWZhbHNlJywgZCl9IFwKKyAgICAke0AnLURnaXItZGlyLXByZWZpeD0ke2xpYmRpcn0nIGlmIGQuZ2V0VmFyKCdNVUxUSUxJQlMnKSBlbHNlICcnfSBcCisiCisKKyMgTmVlZCB0byBlbnN1cmUgbGQuc28uY29uZiBleGlzdHMgc28gcHJlbGluay1uYXRpdmUgd29ya3MKKyMgYm90aCBiZWZvcmUgd2UgYnVpbGQgYW5kIGlmIHdlIGluc3RhbGwgZnJvbSBzc3RhdGUKK2RvX2NvbmZpZ3VyZVtwcmVmdW5jc10gKz0gImdvYmplY3RfaW50cm9zcGVjdGlvbl9wcmVjb25maWd1cmUiCitweXRob24gZ29iamVjdF9pbnRyb3NwZWN0aW9uX3ByZWNvbmZpZ3VyZSAoKSB7CisgICAgb2UudXRpbHMud3JpdGVfbGRfc29fY29uZihkKQorfQorCitkb19jb25maWd1cmVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgICAgICMgVHdlYWsgdGhlIG5hdGl2ZSBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCisgICAgICAgICMgZnVsbCBwYXRoIG9mIG5hdGl2ZSBweXRob24gYmluYXJ5ICh0aGUgc29sdXRpb24gaXMgdGFrZW4gZnJvbSBnbGliLTIuMCByZWNpcGUpCisgICAgICAgICMgVGhpcyByZW1vdmVzIHRoZSByaXNrIG9mIGV4Y2VlZGluZyBMaW51eCBrZXJuZWwncyBzaGViYW5nIGxpbmUgbGltaXQgKDEyOCBieXRlcykKKyAgICAgICAgc2VkIC1pIC1lICcxcywjIS4qLCMhJHtVU1JCSU5QQVRIfS9lbnYgcHl0aG9uMywnICR7U30vdG9vbHMvZy1pci10b29sLXRlbXBsYXRlLmluCit9CisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICAgIyBXcml0ZSBvdXQgYSBxZW11IHdyYXBwZXIgdGhhdCB3aWxsIGJlIGdpdmVuIHRvIGdpLXNjYW5uZXIgc28gdGhhdCBpdAorICAgICAgICAjIGNhbiBydW4gdGFyZ2V0IGhlbHBlciBiaW5hcmllcyB0aHJvdWdoIHRoYXQuCisgICAgICAgIHFlbXVfYmluYXJ5PSIke0BxZW11X3dyYXBwZXJfY21kbGluZShkLCAnJFNUQUdJTkdfRElSX0hPU1QnLCBbJ1xcJEdJUl9FWFRSQV9MSUJTX1BBVEgnLCcubGlicycsJyRTVEFHSU5HX0RJUl9IT1NULyR7bGliZGlyfScsJyRTVEFHSU5HX0RJUl9IT1NULyR7YmFzZV9saWJkaXJ9J10pfSIKKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItcWVtdXdyYXBwZXIgPDwgRU9GCisjIS9iaW4vc2gKKyMgVXNlIGEgbW9kdWxlcyBkaXJlY3Rvcnkgd2hpY2ggZG9lc24ndCBleGlzdCBzbyB3ZSBkb24ndCBsb2FkIHJhbmRvbSB0aGluZ3MKKyMgd2hpY2ggbWF5IHRoZW4gZ2V0IGRlbGV0ZWQgKG9yIHRoZWlyIGRlcGVuZGVuY2llcykgYW5kIHBvdGVudGlhbGx5IHNlZ2ZhdWx0CitleHBvcnQgR0lPX01PRFVMRV9ESVI9JHtTVEFHSU5HX0xJQkRJUn0vZ2lvL21vZHVsZXMtZHVtbXkKKworJHFlbXVfYmluYXJ5ICJcJEAiCitpZiBbIFwkPyAtbmUgMCBdOyB0aGVuCisgICAgZWNobyAiSWYgdGhlIGFib3ZlIGVycm9yIG1lc3NhZ2UgaXMgYWJvdXQgbWlzc2luZyAuc28gbGlicmFyaWVzLCB0aGVuIHNldHRpbmcgdXAgR0lSX0VYVFJBX0xJQlNfUEFUSCBpbiB0aGUgcmVjaXBlIHNob3VsZCBoZWxwLiIKKyAgICBlY2hvICIodHlwaWNhbGx5IGxpa2UgdGhpczogR0lSX0VYVFJBX0xJQlNfUEFUSD1cIiQiIntCfS9zb21ldGhpbmcvLmxpYnNcIiApIgorICAgIGV4aXQgMQorZmkKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgorCisgICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciBmb3IgZy1pci1zY2FubmVyIGl0c2VsZiwgd2hpY2ggd2lsbCBiZSB1c2VkIHdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcworICAgICAgICAjIGZvciBnbGliLWJhc2VkIHBhY2thZ2VzLiBUaGlzIHdyYXBwZXIgY2FsbHMgdGhlIG5hdGl2ZSB2ZXJzaW9uIG9mIHRoZSBzY2FubmVyLCBhbmQgdGVsbHMgaXQgdG8gdXNlCisgICAgICAgICMgYSBxZW11IHdyYXBwZXIgZm9yIHJ1bm5pbmcgdHJhbnNpZW50IHRhcmdldCBiaW5hcmllcyBwcm9kdWNlZCBieSB0aGUgc2Nhbm5lciwgYW5kIGFuIGluY2x1ZGUgZGlyZWN0b3J5IAorICAgICAgICAjIGZyb20gdGhlIHRhcmdldCBzeXNyb290LgorICAgICAgICBjYXQgPiAke0J9L2ctaXItc2Nhbm5lci13cmFwcGVyIDw8IEVPRgorIyEvYmluL3NoCisjIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCitleHBvcnQgR0lfU0NBTk5FUl9ESVNBQkxFX0NBQ0hFPTEKKworZy1pci1zY2FubmVyIC0tbGliLWRpcnMtZW52dmFyPUdJUl9FWFRSQV9MSUJTX1BBVEggLS11c2UtYmluYXJ5LXdyYXBwZXI9JHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyIC0tdXNlLWxkZC13cmFwcGVyPSR7U1RBR0lOR19CSU5ESVJ9L2ctaXItc2Nhbm5lci1sZGR3cmFwcGVyIC0tYWRkLWluY2x1ZGUtcGF0aD0ke1NUQUdJTkdfREFUQURJUn0vZ2lyLTEuMCAtLWFkZC1pbmNsdWRlLXBhdGg9JHtTVEFHSU5HX0xJQkRJUn0vZ2lyLTEuMCAiXCRAIgorRU9GCisgICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLXdyYXBwZXIKKworICAgICAgICAjIFdyaXRlIG91dCBhIHdyYXBwZXIgZm9yIGctaXItY29tcGlsZXIsIHdoaWNoIHJ1bnMgdGhlIHRhcmdldCB2ZXJzaW9uIG9mIGl0IHRocm91Z2ggcWVtdS4KKyAgICAgICAgIyBnLWlyLWNvbXBpbGVyIHdyaXRlcyBvdXQgdGhlIHJhdyBjb250ZW50IG9mIGEgQyBzdHJ1Y3QgdG8gZGlzaywgYW5kIHRoZXJlZm9yZSBpcyBhcmNoaXRlY3R1cmUgZGVwZW5kZW50LgorICAgICAgICBjYXQgPiAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlciA8PCBFT0YKKyMhL2Jpbi9zaAorJHtTVEFHSU5HX0JJTkRJUn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7U1RBR0lOR19CSU5ESVJ9L2ctaXItY29tcGlsZXIgIlwkQCIKK0VPRgorICAgICAgICBjaG1vZCAreCAke0J9L2ctaXItY29tcGlsZXItd3JhcHBlcgorCisgICAgICAgICMgV3JpdGUgb3V0IGEgd3JhcHBlciB0byB1c2UgaW5zdGVhZCBvZiBsZGQsIHdoaWNoIGRvZXMgbm90IHdvcmsgd2hlbiBhIGJpbmFyeSBpcyBidWlsdAorICAgICAgICAjIGZvciBhIGRpZmZlcmVudCBhcmNoaXRlY3R1cmUKKyAgICAgICAgY2F0ID4gJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciA8PCBFT0YKKyMhL2Jpbi9zaAorcHJlbGluay1ydGxkIC0tcm9vdD0kU1RBR0lOR19ESVJfSE9TVCAiXCRAIgorRU9GCisgICAgICAgIGNobW9kICt4ICR7Qn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKKworICAgICAgICAjIEFsc28gdHdlYWsgdGhlIHRhcmdldCBweXRob24gc2NyaXB0cyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVmZXIgdG8gdGhlCisgICAgICAgICMgbmF0aXZlIHZlcnNpb24gb2YgcHl0aG9uIGJpbmFyeSAodGhlIHNvbHV0aW9uIGlzIHRha2VuIGZyb20gZ2xpYi0yLjAgcmVjaXBlKQorICAgICAgICBzZWQgLWkgLWUgJzFzLCMhLiosIyEke1VTUkJJTlBBVEh9L2VudiBweXRob24zLCcgJHtTfS90b29scy9nLWlyLXRvb2wtdGVtcGxhdGUuaW4KK30KKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICAgICAjIFRoaXMgcHJldmVudHMgZy1pci1zY2FubmVyIGZyb20gd3JpdGluZyBjYWNoZSBkYXRhIHRvICRIT01FCisgICAgICAgIGV4cG9ydCBHSV9TQ0FOTkVSX0RJU0FCTEVfQ0FDSEU9MQorCisgICAgICAgICMgTmVlZGVkIHRvIHJ1biBnLWlyIHVuaXQgdGVzdHMsIHdoaWNoIHdvbid0IGJlIGFibGUgdG8gZmluZCB0aGUgYnVpbHQgbGlicmFyaWVzIG90aGVyd2lzZQorICAgICAgICBleHBvcnQgR0lSX0VYVFJBX0xJQlNfUEFUSD0kQi8ubGlicworfQorCisjIE91ciB3cmFwcGVycyBuZWVkIHRvIGJlIGF2YWlsYWJsZSBzeXN0ZW0td2lkZSwgYmVjYXVzZSB0aGV5IHdpbGwgYmUgdXNlZCAKKyMgdG8gYnVpbGQgaW50cm9zcGVjdGlvbiBmaWxlcyBmb3IgYWxsIG90aGVyIGdvYmplY3QtYmFzZWQgcGFja2FnZXMKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1zY2FubmVyLXFlbXV3cmFwcGVyICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItd3JhcHBlciAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsICR7Qn0vZy1pci1jb21waWxlci13cmFwcGVyICR7RH0ke2JpbmRpcn0vCisgICAgICAgIGluc3RhbGwgJHtCfS9nLWlyLXNjYW5uZXItbGRkd3JhcHBlciAke0R9JHtiaW5kaXJ9LworfQorCisjIHdlIG5lZWQgdGFyZ2V0IHZlcnNpb25zIG9mIGludHJvc3BlY3Rpb24gdG9vbHMgaW4gc3lzcm9vdCBzbyB0aGF0IHRoZXkgY2FuIGJlIHJ1biB2aWEgcWVtdQorIyB3aGVuIGJ1aWxkaW5nIGludHJvc3BlY3Rpb24gZmlsZXMgaW4gb3RoZXIgcGFja2FnZXMKK1NZU1JPT1RfRElSU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke2JpbmRpcn0iCisKK1NZU1JPT1RfUFJFUFJPQ0VTU19GVU5DU19hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBnaV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MiCitnaV9iaW5hcmllc19zeXNyb290X3ByZXByb2Nlc3MoKSB7CisgICAgICAgICMgVHdlYWsgdGhlIGJpbmFyeSBuYW1lcyBpbiB0aGUgaW50cm9zcGVjdGlvbiBwa2djb25maWcgZmlsZSwgc28gdGhhdCBpdAorICAgICAgICAjIHBpY2tzIHVwIG91ciB3cmFwcGVycyB3aGljaCBkbyB0aGUgY3Jvc3MtY29tcGlsZSBhbmQgcWVtdSBtYWdpYy4KKyAgICAgICAgc2VkIC1pIFwKKyAgICAgICAgICAgLWUgInN8Z19pcl9zY2FubmVyPS4qfGdfaXJfc2Nhbm5lcj0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXJ8IiBcCisgICAgICAgICAgIC1lICJzfGdfaXJfY29tcGlsZXI9Lip8Z19pcl9jb21waWxlcj0ke2JpbmRpcn0vZy1pci1jb21waWxlci13cmFwcGVyfCIgXAorICAgICAgICAgICAke1NZU1JPT1RfREVTVERJUn0ke2xpYmRpcn0vcGtnY29uZmlnL2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAucGMKK30KKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTX2FwcGVuZCA9ICIgZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzIgorZ2lfbGRzb2NvbmZfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKwlta2RpciAtcCAke1NZU1JPT1RfREVTVERJUn0ke2JpbmRpcn0KKwlkZXN0PSR7U1lTUk9PVF9ERVNURElSfSR7YmluZGlyfS9wb3N0aW5zdC1sZHNvY29uZi0ke1BOfQorCWVjaG8gIiMhL2Jpbi9zaCIgPiAkZGVzdAorCWVjaG8gIm1rZGlyIC1wICR7U1RBR0lOR19ESVJfVEFSR0VUfSR7c3lzY29uZmRpcn0iID4+ICRkZXN0CisJZWNobyAiZWNobyAke2Jhc2VfbGliZGlyfSA+PiAke1NUQUdJTkdfRElSX1RBUkdFVH0ke3N5c2NvbmZkaXJ9L2xkLnNvLmNvbmYiID4+ICRkZXN0CisJZWNobyAiZWNobyAke2xpYmRpcn0gPj4gJHtTVEFHSU5HX0RJUl9UQVJHRVR9JHtzeXNjb25mZGlyfS9sZC5zby5jb25mIiA+PiAkZGVzdAorCWNobW9kIDc1NSAkZGVzdAorfQorCisjIFJlbW92ZSB3cmFwcGVyIGZpbGVzIGZyb20gdGhlIHBhY2thZ2UsIG9ubHkgdXNlZCBmb3IgY3Jvc3MtY29tcGlsaW5nCitQQUNLQUdFX1BSRVBST0NFU1NfRlVOQ1MgKz0gImdpX3BhY2thZ2VfcHJlcHJvY2VzcyIKK2dpX3BhY2thZ2VfcHJlcHJvY2VzcygpIHsKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItc2Nhbm5lci1xZW11d3JhcHBlcgorCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLXdyYXBwZXIKKwlybSAtZiAke1BLR0R9JHtiaW5kaXJ9L2ctaXItY29tcGlsZXItd3JhcHBlcgorCXJtIC1mICR7UEtHRH0ke2JpbmRpcn0vZy1pci1zY2FubmVyLWxkZHdyYXBwZXIKK30KKworU1NUQVRFX1NDQU5fRklMRVMgKz0gImctaXItc2Nhbm5lci1xZW11d3JhcHBlciBnLWlyLXNjYW5uZXItd3JhcHBlciBnLWlyLWNvbXBpbGVyLXdyYXBwZXIgZy1pci1zY2FubmVyLWxkZHdyYXBwZXIgR2lvLTIuMC5naXIgcG9zdGluc3QtbGRzb2NvbmYtJHtQTn0iCisKKyMgLnR5cGVsaWIgZmlsZXMgYXJlIG5lZWRlZCBhdCBydW50aW1lIGFuZCBzbyB0aGV5IGdvIHRvIHRoZSBtYWluIHBhY2thZ2UKK0ZJTEVTXyR7UE59X2FwcGVuZCA9ICIgJHtsaWJkaXJ9L2dpcmVwb3NpdG9yeS0qLyoudHlwZWxpYiIKKworIyAuZ2lyIGZpbGVzIGdvIHRvIGRldiBwYWNrYWdlLCBhcyB0aGV5J3JlIG5lZWRlZCBmb3IgZGV2ZWxvcGluZyAoYnV0IG5vdCBmb3IgcnVubmluZykKKyMgdGhpbmdzIHRoYXQgZGVwZW5kcyBvbiBpbnRyb3NwZWN0aW9uLgorRklMRVNfJHtQTn0tZGV2X2FwcGVuZCA9ICIgJHtkYXRhZGlyfS9naXItKi8qLmdpciAke2xpYmRpcn0vZ2lyLSovKi5naXIiCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dpci0qLyoucm5jIgorCisjIFRoZXNlIGFyZSB1c2VkIGJ5IGdvYmplY3QtYmFzZWQgcGFja2FnZXMKKyMgdG8gZ2VuZXJhdGUgdHJhbnNpZW50IGludHJvc3BlY3Rpb24gYmluYXJpZXMKK0ZJTEVTXyR7UE59LWRldl9hcHBlbmQgPSAiICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9nZHVtcC5jIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC9NYWtlZmlsZS5pbnRyb3NwZWN0aW9uIgorCisjIFRoZXNlIGFyZSB1c2VkIGJ5IGRlcGVuZGVudCBwYWNrYWdlcyAoZS5nLiBweWdvYmplY3QpIHRvIGJ1aWxkIHRoZWlyCisjIHRlc3RzdWl0ZXMuCitGSUxFU18ke1BOfS1kZXZfYXBwZW5kID0gIiAke2RhdGFkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi0xLjAvdGVzdHMvKi5jIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uLTEuMC90ZXN0cy8qLmgiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvLmRlYnVnLyIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtsaWJkaXJ9L2dvYmplY3QtaW50cm9zcGVjdGlvbi9naXNjYW5uZXIvKi5hIgorCitSREVQRU5EU18ke1BOfSA9ICJweXRob24zLXBpY2tsZSBweXRob24zLXhtbCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aysuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrLmluYwppbmRleCAxNGVkOGQ4Li5kNmQxNGE3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0aysuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKy5pbmMKQEAgLTI2LDcgKzI2LDcgQEAKIFBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteD15ZXMgLS13aXRoLWdka3RhcmdldD14MTEsLS13aXRoLXg9bm8sJHtYMTFERVBFTkRTfSIKICMgd2l0aG91dCAtLXdpdGgtZ2RrdGFyZ2V0PWRpcmVjdGZiIGl0IHdpbGwgY2hlY2sgZm9yIGNhaXJvLXhsaWIgd2hpY2ggaXNuJ3QgYXZhaWxhYmxlIHdpdGhvdXQgWDExIERJU1RST19GRUFUVVJFCiBQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLXdpdGgtZ2RrdGFyZ2V0PWRpcmVjdGZiLCxkaXJlY3RmYiIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbiAtLXdpdGgteG1sLWNhdGFsb2c9JHtTVEFHSU5HX0VUQ0RJUl9OQVRJVkV9L3htbC9jYXRhbG9nLnhtbCwgLS1kaXNhYmxlLW1hbiwgbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUtbWFuIC0td2l0aC14bWwtY2F0YWxvZz0ke1NUQUdJTkdfRVRDRElSX05BVElWRX0veG1sL2NhdGFsb2csIC0tZGlzYWJsZS1tYW4sIGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ3RrLWRvYyBwa2djb25maWcgdXBkYXRlLWFsdGVybmF0aXZlcyBndGstaW1tb2R1bGVzLWNhY2hlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYW5wYWdlcwogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCmluZGV4IDYzMzFhNDMuLjc3YjZjMzEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMuaW5jCkBAIC0xMiw2ICsxMiwxMCBAQAogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgZ3RrLWltbW9kdWxlcy1jYWNoZSBnc2V0dGluZ3MgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdvYmplY3QtaW50cm9zcGVjdGlvbgogCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0dTRVRUSU5HU19QQUNLQUdFX2NsYXNzLW5hdGl2ZSA9ICIiCisKICMgdmVyc2lvbnMgPj0gMy45MCBhcmUgZGV2ZWxvcG1lbnQgdmVyc2lvbnMsIG90aGVyd2lzZSBsaWtlIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbgogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiW15cZFwuXSg/UDxwdmVyPjNcLihbMS04XT9bMDI0NjhdKSsoXC5cZCspKylcLnRhciIKIApAQCAtMzMsNyArMzcsNiBAQAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ2xpYnRlc3QgXAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUteGluZXJhbWEgXAogICAgICAgICAgICAgICAgICAtLWVuYWJsZS1tb2R1bGVzIFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWN1cHMgXAogICAgICAgICAgICAgICAgICAtLWRpc2FibGUtY29sb3JkIFwKICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoIkRJU1RST19GRUFUVVJFUyIsICJ4MTEiLCAiIiwgIi0tZGlzYWJsZS1ndGstZG9jIiwgZCl9IFwKICAgICAgICAgICAgICAgICAgIgpAQCAtNTAsMTUgKzUzLDMyIEBACiBQQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLS1lbmFibGUtb3BlbmdsLC0tZGlzYWJsZS1vcGVuZ2wsbGliZXBveHkiCiBQQUNLQUdFQ09ORklHW2dseF0gPSAiLS1lbmFibGUtZ2x4LC0tZGlzYWJsZS1nbHgsLGxpYmdsIgogUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLWJhY2tlbmQsLS1kaXNhYmxlLXdheWxhbmQtYmFja2VuZCx3YXlsYW5kIHdheWxhbmQtcHJvdG9jb2xzIGxpYnhrYmNvbW1vbiB2aXJ0dWFsL21lc2Egd2F5bGFuZC1uYXRpdmUiCitQQUNLQUdFQ09ORklHW2N1cHNdID0gIi0tZW5hYmxlLWN1cHMsLS1kaXNhYmxlLWN1cHMsY3VwcyIKIAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0JbXYgJHtEfSR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUgJHtEfSR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUtMy4wCitwcmVwYXJlX2d0a19zY3JpcHRzKCkgeworICAgIG12ICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICR7RH0ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlLTMuMAogCiAgICAgIyBkdXBsaWNhdGUgZ3RrLXF1ZXJ5LWltbW9kdWxlcyBmb3IgcG9zdCBpbnN0YWxsIHNjcmlwdCB1cGRhdGVfZ3RrX2ltbW9kdWxlc19jYWNoZQogICAgIG1rZGlyIC1wICR7RH0ke2xpYmV4ZWNkaXJ9CiAgICAgbG4gJHtEfSR7YmluZGlyfS9ndGstcXVlcnktaW1tb2R1bGVzLTMuMCAke0R9JHtsaWJleGVjZGlyfS8ke01MUFJFRklYfWd0ay1xdWVyeS1pbW1vZHVsZXMtMy4wCiB9CiAKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICBwcmVwYXJlX2d0a19zY3JpcHRzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKKyAgICBwcmVwYXJlX2d0a19zY3JpcHRzCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgICAgICAgY3JlYXRlX3dyYXBwZXIgJHtEfS8ke2JpbmRpcn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlIFwKKyAgICAgICAgICAgICAgICBHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8yLjEwLjAvbG9hZGVycy5jYWNoZQorICAgICAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9ndGstZW5jb2RlLXN5bWJvbGljLXN2ZyBcCisgICAgICAgICAgICAgICAgR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKK30KKworUFJPVklERVMgKz0gImd0ay1pY29uLXV0aWxzIgogUEFDS0FHRVMgPSsgIiR7UE59LWRlbW8iCiBMSUJWID0gIjMuMC4wIgogCkBAIC0xMDQsNiArMTI0LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQtbWltZS1pbmZvIFwKICAgICAgICAgICAgICAgICAgICAgICAgIGFkd2FpdGEtaWNvbi10aGVtZS1zeW1ib2xpYyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAiCisKK0dUS0JBU0VfUlJFQ09NTUVORFNfY2xhc3MtbmF0aXZlID89ICJcCisgICAgICAgICAgICAgICAgICAgICAgICAiCisKIEdUS0dMSUJDX1JSRUNPTU1FTkRTID89ICIke0dUS0JBU0VfUlJFQ09NTUVORFN9IGdsaWJjLWdjb252LWlzbzg4NTktMSIKIAogUlJFQ09NTUVORFNfJHtQTn0gPSAiJHtHVEtCQVNFX1JSRUNPTU1FTkRTfSIKQEAgLTEyMywxMSArMTQ3LDExIEBACiAgICAgaW1tb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ2ltbW9kdWxlcycpCiAgICAgcHJpbnRtb2R1bGVzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZ3RrX2xpYmRpciwgJ3ByaW50YmFja2VuZHMnKTsKIAotICAgIGltbW9kdWxlcyA9IGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCAnXmltLSguKilcLnNvJCcsICdndGszLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykKKyAgICBpbW1vZHVsZXMgPSBkb19zcGxpdF9wYWNrYWdlcyhkLCBpbW1vZHVsZXNfcm9vdCwgcideaW0tKC4qKVwuc28kJywgJ2d0azMtaW1tb2R1bGUtJXMnLCAnR1RLIGlucHV0IG1vZHVsZSBmb3IgJXMnKQogICAgIGlmIGltbW9kdWxlczoKICAgICAgICAgZC5zZXRWYXIoIkdUS0lNTU9EVUxFU19QQUNLQUdFUyIsICIgIi5qb2luKGltbW9kdWxlcykpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwcmludG1vZHVsZXNfcm9vdCwgJ15saWJwcmludGJhY2tlbmQtKC4qKVwuc28kJywgJ2d0azMtcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHJpbnRtb2R1bGVzX3Jvb3QsIHInXmxpYnByaW50YmFja2VuZC0oLiopXC5zbyQnLCAnZ3RrMy1wcmludGJhY2tlbmQtJXMnLCAnR1RLIHByaW50YmFja2VuZCBtb2R1bGUgZm9yICVzJykKIAogICAgIGlmIChkLmdldFZhcignREVCSUFOX05BTUVTJykpOgogICAgICAgICBkLnNldFZhcihkLmV4cGFuZCgnUEtHXyR7UE59JyksICcke01MUFJFRklYfWxpYmd0ay0zLjAnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrMy8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoCmluZGV4IGQyZjEyZGMuLmU1YTY3ZDAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvMDAwMy1BZGQtZGlzYWJsZS1vcGVuZ2wtY29uZmlndXJlLW9wdGlvbi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszLzAwMDMtQWRkLWRpc2FibGUtb3BlbmdsLWNvbmZpZ3VyZS1vcHRpb24ucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIGRlMzZkZjcwZDg3YmEzNDUzZWQ0ZjJiOTJlOTkwMDIxYzY3MjM4ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDllMjQzNDc0ZWVhNDMzMGI1OTNlMGY2ZGQ0MThiNjFiNzk2OTlkOGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgogRGF0ZTogVHVlLCAyMSBKdW4gMjAxNiAxNToxMTozOSArMDMwMAotU3ViamVjdDogW1BBVENIIDMvNF0gQWRkIC0tZGlzYWJsZS1vcGVuZ2wgY29uZmlndXJlIG9wdGlvbgorU3ViamVjdDogW1BBVENIXSBBZGQgLS1kaXNhYmxlLW9wZW5nbCBjb25maWd1cmUgb3B0aW9uCiAKIC0tZGlzYWJsZS1vcGVuZ2wgd2lsbCByZW1vdmUgdGhlIGRlcGVuZGVuY3kgb24gbGliZXBveHkgYW5kIG9uIHRoZQogT3BlbkdMIEFQSXMuIFRoaXMgaXMgdXNlZnVsIGZvciB0aG9zZSB3aG8gd2FudCB0byBrZWVwIHVzaW5nIGd0ayszCkBAIC0yMSwzMiArMjEsMzIgQEAKIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiAKIC0tLQotIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrLS0KLSBkZW1vcy9ndGstZGVtby9nbGFyZWEuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKwotIGRvY3MvdG9vbHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKy0tCi0gZG9jcy90b29scy93aWRnZXRzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystCi0gZ2RrL2dka2Rpc3BsYXkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystCi0gZ2RrL2dka2dsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrCi0gZ2RrL2dka2dsY29udGV4dC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKysrKwotIGdkay9nZGt3aW5kb3cuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysKLSBnZGsveDExL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrLS0tCi0gZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLQotIGdkay94MTEvZ2Rrc2NyZWVuLXgxMS5jICAgICAgICAgICAgICAgICAgICB8ICA1ICsrKwotIGdkay94MTEvZ2Rrd2luZG93LXgxMS5jICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKwotIGdkay94MTEvZ2RreC1hdXRvY2xlYW51cHMuaCAgICAgICAgICAgICAgICB8ICAyICsrCisgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKy0KKyBkZW1vcy9ndGstZGVtby9nbGFyZWEuYyAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKysKKyBkb2NzL3Rvb2xzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgfCAgOSArKystCisgZG9jcy90b29scy93aWRnZXRzLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KKyBnZGsvZ2RrZGlzcGxheS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQorIGdkay9nZGtnbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrKysKKyBnZGsvZ2RrZ2xjb250ZXh0LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKysKKyBnZGsvZ2Rrd2luZG93LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrKworIGdkay94MTEvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICB8IDMwICsrKysrKysrKy0tCisgZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jICAgICAgICAgICAgICAgICAgIHwgIDYgKystCisgZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMgICAgICAgICAgICAgICAgICAgIHwgIDUgKysKKyBnZGsveDExL2dka3dpbmRvdy14MTEuYyAgICAgICAgICAgICAgICAgICAgfCAgNCArKworIGdkay94MTEvZ2RreC1hdXRvY2xlYW51cHMuaCAgICAgICAgICAgICAgICB8ICAyICsKICBnZGsveDExL3tnZGt4LmggPT4gZ2RreC13aXRoLWdsLWNvbnRleHQuaH0gfCAgMSAtCi0gZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oICAgICAgICAgIHwgNTggKysrKysrKysrKysrKysrKysrKysrKwogIGd0ay9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCi0gZ3RrL2d0a2dsYXJlYS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0KLSBndGsvaW5zcGVjdG9yL2dlbmVyYWwuYyAgICAgICAgICAgICAgICAgICAgfCAgNiArKysrCi0gdGVzdHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKy0tCi0gdGVzdHN1aXRlL2d0ay9vYmplY3RzLWZpbmFsaXplLmMgICAgICAgICAgIHwgIDIgKysKKyBndGsvZ3RrZ2xhcmVhLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrLQorIGd0ay9pbnNwZWN0b3IvZ2VuZXJhbC5jICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKworIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEwICsrLS0KKyB0ZXN0c3VpdGUvZ3RrL29iamVjdHMtZmluYWxpemUuYyAgICAgICAgICAgfCAgMiArCiAgMjAgZmlsZXMgY2hhbmdlZCwgMjAyIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogIHJlbmFtZSBnZGsveDExL3tnZGt4LmggPT4gZ2RreC13aXRoLWdsLWNvbnRleHQuaH0gKDk4JSkKICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2RrL3gxMS9nZGt4LXdpdGhvdXQtZ2wtY29udGV4dC5oCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDBhNDg4NzUuLjZmMGEzYTYgMTAwNjQ0CitpbmRleCBhOTFiMjljLi41NjFkM2I1IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKIEBAIC0zNTEsNiArMzUxLDE1IEBAIEFDX0FSR19FTkFCTEUoY2xvdWRwcm92aWRlcnMsCkBAIC02NSw3ICs2NSw3IEBACiAgQUNfQVJHX0VOQUJMRShnbHgsCiAgICAgICAgICAgICAgICBbQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWdseF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1doZW4gZW5hYmxlZCBHZGsgd2lsbCB0cnkgdG8gaW5pdGlhbGl6ZSBHTFhdKV0pCi1AQCAtMTM3Miw3ICsxMzgxLDcgQEAgQ0ZMQUdTPSIkc2F2ZWRfY2ZsYWdzIgorQEAgLTEzODEsNyArMTM5MCw3IEBAIENGTEFHUz0iJHNhdmVkX2NmbGFncyIKICBMREZMQUdTPSIkc2F2ZWRfbGRmbGFncyIKICAKICBHREtfUEFDS0FHRVM9IiRQQU5HT19QQUNLQUdFUyBnZGstcGl4YnVmLTIuMCA+PSBnZGtfcGl4YnVmX3JlcXVpcmVkX3ZlcnNpb24gY2Fpcm8gPj0gY2Fpcm9fcmVxdWlyZWRfdmVyc2lvbiBjYWlyby1nb2JqZWN0ID49IGNhaXJvX3JlcXVpcmVkX3ZlcnNpb24iCkBAIC03NCw3ICs3NCw3IEBACiAgCiAgUEtHX0NIRUNLX01PRFVMRVMoR0RLX0RFUCwgJEdES19QQUNLQUdFUyAkR0RLX1BSSVZBVEVfUEFDS0FHRVMpCiAgR0RLX0RFUF9MSUJTPSIkR0RLX0VYVFJBX0xJQlMgJEdES19ERVBfTElCUyAkTUFUSF9MSUIiCi1AQCAtMTQwNiw3ICsxNDE1LDcgQEAgZmkKK0BAIC0xNDE1LDcgKzE0MjQsNyBAQCBmaQogIFBLR19DSEVDS19NT0RVTEVTKEFUSywgJEFUS19QQUNLQUdFUykKICAKICBHVEtfUEFDS0FHRVM9ImF0ayA+PSBhdGtfcmVxdWlyZWRfdmVyc2lvbiBjYWlybyA+PSBjYWlyb19yZXF1aXJlZF92ZXJzaW9uIGNhaXJvLWdvYmplY3QgPj0gY2Fpcm9fcmVxdWlyZWRfdmVyc2lvbiBnZGstcGl4YnVmLTIuMCA+PSBnZGtfcGl4YnVmX3JlcXVpcmVkX3ZlcnNpb24gZ2lvLTIuMCA+PSBnbGliX3JlcXVpcmVkX3ZlcnNpb24iCkBAIC0yMjQsMTIgKzIyNCwxMiBAQAogIAogIEdka1JlbmRlcmluZ01vZGUKIGRpZmYgLS1naXQgYS9nZGsvZ2RrZ2wuYyBiL2dkay9nZGtnbC5jCi1pbmRleCA4ZTdiOGMyLi5iNTc5YjIyIDEwMDY0NAoraW5kZXggOTMzZTIwNC4uMTc2NzUwOCAxMDA2NDQKIC0tLSBhL2dkay9nZGtnbC5jCiArKysgYi9nZGsvZ2RrZ2wuYwotQEAgLTIyLDcgKzIyLDkgQEAKLSAKLSAjaW5jbHVkZSAiZ2RraW50ZXJuYWxzLmgiCitAQCAtMjYsNyArMjYsOSBAQAorICMgaW5jbHVkZSAid2luMzIvZ2Rrd2luMzIuaCIKKyAjZW5kaWYKICAKICsjaWZkZWYgSEFWRV9PUEVOR0wKICAjaW5jbHVkZSA8ZXBveHkvZ2wuaD4KQEAgLTIzNyw3ICsyMzcsNyBAQAogICNpbmNsdWRlIDxtYXRoLmg+CiAgI2luY2x1ZGUgPHN0cmluZy5oPgogIAotQEAgLTM2LDYgKzM4LDcgQEAgZ2RrX2NhaXJvX3N1cmZhY2VfbWFya19hc19kaXJlY3QgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKK0BAIC00MCw2ICs0Miw3IEBAIGdka19jYWlyb19zdXJmYWNlX21hcmtfYXNfZGlyZWN0IChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfb2JqZWN0X3JlZiAod2luZG93KSwgIGdfb2JqZWN0X3VucmVmKTsKICB9CiAgCkBAIC0yNDUsNyArMjQ1LDcgQEAKICBzdGF0aWMgY29uc3QgY2hhciAqCiAgZ2V0X3ZlcnRleF90eXBlX25hbWUgKGludCB0eXBlKQogIHsKLUBAIC0yMDgsNiArMjExLDcgQEAgdXNlX3RleHR1cmVfcmVjdF9wcm9ncmFtIChHZGtHTENvbnRleHRQYWludERhdGEgKnBhaW50X2RhdGEpCitAQCAtMjEyLDYgKzIxNSw3IEBAIHVzZV90ZXh0dXJlX3JlY3RfcHJvZ3JhbSAoR2RrR0xDb250ZXh0UGFpbnREYXRhICpwYWludF9kYXRhKQogICAgICAgIGdsVXNlUHJvZ3JhbSAocGFpbnRfZGF0YS0+Y3VycmVudF9wcm9ncmFtLT5wcm9ncmFtKTsKICAgICAgfQogIH0KQEAgLTI1Myw3ICsyNTMsNyBAQAogIAogIHZvaWQKICBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAotQEAgLTIxNiw2ICsyMjAsNyBAQCBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAorQEAgLTIyMCw2ICsyMjQsNyBAQCBnZGtfZ2xfdGV4dHVyZV9xdWFkcyAoR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICBHZGtUZXh0dXJlZFF1YWQgKnF1YWRzLAogICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiBmbGlwX2NvbG9ycykKICB7CkBAIC0yNjEsNyArMjYxLDcgQEAKICAgIEdka0dMQ29udGV4dFBhaW50RGF0YSAqcGFpbnRfZGF0YSAgPSBnZGtfZ2xfY29udGV4dF9nZXRfcGFpbnRfZGF0YSAocGFpbnRfY29udGV4dCk7CiAgICBHZGtHTENvbnRleHRQcm9ncmFtICpwcm9ncmFtOwogICAgR2RrV2luZG93ICp3aW5kb3cgPSBnZGtfZ2xfY29udGV4dF9nZXRfd2luZG93IChwYWludF9jb250ZXh0KTsKLUBAIC0yODksNiArMjk0LDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKK0BAIC0yOTMsNiArMjk4LDcgQEAgZ2RrX2dsX3RleHR1cmVfcXVhZHMgKEdka0dMQ29udGV4dCAqcGFpbnRfY29udGV4dCwKICAKICAgIGdsRGlzYWJsZVZlcnRleEF0dHJpYkFycmF5IChwcm9ncmFtLT5wb3NpdGlvbl9sb2NhdGlvbik7CiAgICBnbERpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheSAocHJvZ3JhbS0+dXZfbG9jYXRpb24pOwpAQCAtMjY5LDcgKzI2OSw3IEBACiAgfQogIAogIC8qIHgseSx3aWR0aCxoZWlnaHQgZGVzY3JpYmVzIGEgcmVjdGFuZ2xlIGluIHRoZSBnbCByZW5kZXIgYnVmZmVyCi1AQCAtMzM3LDYgKzM0Myw3IEBAIGdka19jYWlyb19kcmF3X2Zyb21fZ2wgKGNhaXJvX3QgICAgICAgICAgICAgICpjciwKK0BAIC0zNDEsNiArMzQ3LDcgQEAgZ2RrX2NhaXJvX2RyYXdfZnJvbV9nbCAoY2Fpcm9fdCAgICAgICAgICAgICAgKmNyLAogICAgICAgICAgICAgICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICB3aWR0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgaGVpZ2h0KQogIHsKQEAgLTI3Nyw3ICsyNzcsNyBAQAogICAgR2RrR0xDb250ZXh0ICpwYWludF9jb250ZXh0OwogICAgY2Fpcm9fc3VyZmFjZV90ICppbWFnZTsKICAgIGNhaXJvX21hdHJpeF90IG1hdHJpeDsKLUBAIC03MDcsNiArNzE0LDcgQEAgb3V0OgorQEAgLTcxOCw2ICs3MjUsNyBAQCBvdXQ6CiAgICBpZiAoY2xpcF9yZWdpb24pCiAgICAgIGNhaXJvX3JlZ2lvbl9kZXN0cm95IChjbGlwX3JlZ2lvbik7CiAgCkBAIC0yODUsNyArMjg1LDcgQEAKICB9CiAgCiAgLyogVGhpcyBpcyBhbHdheXMgY2FsbGVkIHdpdGggdGhlIHBhaW50IGNvbnRleHQgY3VycmVudCAqLwotQEAgLTcxNCw2ICs3MjIsNyBAQCB2b2lkCitAQCAtNzI1LDYgKzczMyw3IEBAIHZvaWQKICBnZGtfZ2xfdGV4dHVyZV9mcm9tX3N1cmZhY2UgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKICAJCQkgICAgIGNhaXJvX3JlZ2lvbl90ICAqcmVnaW9uKQogIHsKQEAgLTI5MywxNCArMjkzLDE0IEBACiAgICBHZGtHTENvbnRleHQgKnBhaW50X2NvbnRleHQ7CiAgICBjYWlyb19zdXJmYWNlX3QgKmltYWdlOwogICAgZG91YmxlIGRldmljZV94X29mZnNldCwgZGV2aWNlX3lfb2Zmc2V0OwotQEAgLTgxNCw0ICs4MjMsNSBAQCBnZGtfZ2xfdGV4dHVyZV9mcm9tX3N1cmZhY2UgKGNhaXJvX3N1cmZhY2VfdCAqc3VyZmFjZSwKK0BAIC04MjUsNCArODM0LDUgQEAgZ2RrX2dsX3RleHR1cmVfZnJvbV9zdXJmYWNlIChjYWlyb19zdXJmYWNlX3QgKnN1cmZhY2UsCiAgCiAgICBnbERpc2FibGUgKEdMX1NDSVNTT1JfVEVTVCk7CiAgICBnbERlbGV0ZVRleHR1cmVzICgxLCAmdGV4dHVyZV9pZCk7CiArI2VuZGlmCiAgfQogZGlmZiAtLWdpdCBhL2dkay9nZGtnbGNvbnRleHQuYyBiL2dkay9nZGtnbGNvbnRleHQuYwotaW5kZXggYzc5ZGNhMC4uOGE3YmVjMiAxMDA2NDQKK2luZGV4IGRmYmVkNjMuLjU1NmYwYTMgMTAwNjQ0CiAtLS0gYS9nZGsvZ2RrZ2xjb250ZXh0LmMKICsrKyBiL2dkay9nZGtnbGNvbnRleHQuYwogQEAgLTg1LDcgKzg1LDkgQEAKQEAgLTMzNyw3ICszMzcsNyBAQAogICAgR2RrR0xDb250ZXh0UHJpdmF0ZSAqcHJpdiA9IGdka19nbF9jb250ZXh0X2dldF9pbnN0YW5jZV9wcml2YXRlIChjb250ZXh0KTsKICAgIGdib29sZWFuIGhhc19ucG90LCBoYXNfdGV4dHVyZV9yZWN0YW5nbGU7CiAgCi1AQCAtODQ3LDYgKzg1Miw3IEBAIGdka19nbF9jb250ZXh0X2NoZWNrX2V4dGVuc2lvbnMgKEdka0dMQ29udGV4dCAqY29udGV4dCkKK0BAIC04NTMsNiArODU4LDcgQEAgZ2RrX2dsX2NvbnRleHRfY2hlY2tfZXh0ZW5zaW9ucyAoR2RrR0xDb250ZXh0ICpjb250ZXh0KQogICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+dXNlX3RleHR1cmVfcmVjdGFuZ2xlID8gInllcyIgOiAibm8iKSk7CiAgCiAgICBwcml2LT5leHRlbnNpb25zX2NoZWNrZWQgPSBUUlVFOwpAQCAtMzQ2LDcgKzM0Niw3IEBACiAgCiAgLyoqCiBkaWZmIC0tZ2l0IGEvZ2RrL2dka3dpbmRvdy5jIGIvZ2RrL2dka3dpbmRvdy5jCi1pbmRleCBjMGUwYTdkLi40MzdhYjAzIDEwMDY0NAoraW5kZXggNmIyMzFmMC4uOTA0Yjg2ZCAxMDA2NDQKIC0tLSBhL2dkay9nZGt3aW5kb3cuYwogKysrIGIvZ2RrL2dka3dpbmRvdy5jCiBAQCAtNDUsNyArNDUsOSBAQApAQCAtNDc4LDcgKzQ3OCw3IEBACiArCiAgLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9naXQubWsKIGRpZmYgLS1naXQgYS9nZGsveDExL2dka2Rpc3BsYXkteDExLmMgYi9nZGsveDExL2dka2Rpc3BsYXkteDExLmMKLWluZGV4IGU5YTI2M2YuLjI4MjlhMzEgMTAwNjQ0CitpbmRleCA2NTliOWZhLi5iMTU1MzZiIDEwMDY0NAogLS0tIGEvZ2RrL3gxMS9nZGtkaXNwbGF5LXgxMS5jCiArKysgYi9nZGsveDExL2dka2Rpc3BsYXkteDExLmMKIEBAIC0zNyw3ICszNyw5IEBACkBAIC00OTEsNyArNDkxLDcgQEAKICAjaW5jbHVkZSAiZ2RrLXByaXZhdGUuaCIKICAKICAjaW5jbHVkZSA8Z2xpYi5oPgotQEAgLTMxNjksNyArMzE3MSw5IEBAIGdka194MTFfZGlzcGxheV9jbGFzc19pbml0IChHZGtYMTFEaXNwbGF5Q2xhc3MgKiBjbGFzcykKK0BAIC0zMTk0LDcgKzMxOTYsOSBAQCBnZGtfeDExX2Rpc3BsYXlfY2xhc3NfaW5pdCAoR2RrWDExRGlzcGxheUNsYXNzICogY2xhc3MpCiAgICBkaXNwbGF5X2NsYXNzLT50ZXh0X3Byb3BlcnR5X3RvX3V0ZjhfbGlzdCA9IF9nZGtfeDExX2Rpc3BsYXlfdGV4dF9wcm9wZXJ0eV90b191dGY4X2xpc3Q7CiAgICBkaXNwbGF5X2NsYXNzLT51dGY4X3RvX3N0cmluZ190YXJnZXQgPSBfZ2RrX3gxMV9kaXNwbGF5X3V0ZjhfdG9fc3RyaW5nX3RhcmdldDsKICAKQEAgLTUwMywxMCArNTAzLDEwIEBACiAgICBkaXNwbGF5X2NsYXNzLT5nZXRfZGVmYXVsdF9zZWF0ID0gZ2RrX3gxMV9kaXNwbGF5X2dldF9kZWZhdWx0X3NlYXQ7CiAgCiBkaWZmIC0tZ2l0IGEvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMgYi9nZGsveDExL2dka3NjcmVlbi14MTEuYwotaW5kZXggN2JmOTk3OS4uY2QxY2M5ZCAxMDA2NDQKK2luZGV4IDI3MmNlY2QuLjJiYjM0YWMgMTAwNjQ0CiAtLS0gYS9nZGsveDExL2dka3NjcmVlbi14MTEuYwogKysrIGIvZ2RrL3gxMS9nZGtzY3JlZW4teDExLmMKLUBAIC0xNjQzLDMgKzE2NDMsOCBAQCBnZGtfeDExX3NjcmVlbl9nZXRfY3VycmVudF9kZXNrdG9wIChHZGtTY3JlZW4gKnNjcmVlbikKK0BAIC0xNjc1LDMgKzE2NzUsOCBAQCBnZGtfeDExX3NjcmVlbl9nZXRfY3VycmVudF9kZXNrdG9wIChHZGtTY3JlZW4gKnNjcmVlbikKICB7CiAgICByZXR1cm4gZ2V0X25ldHdtX2NhcmRpbmFsX3Byb3BlcnR5IChzY3JlZW4sICJfTkVUX0NVUlJFTlRfREVTS1RPUCIpOwogIH0KQEAgLTUxNiw3ICs1MTYsNyBAQAogK3ZvaWQgX2dka194MTFfc2NyZWVuX3VwZGF0ZV92aXN1YWxzX2Zvcl9nbCAoR2RrU2NyZWVuICpzY3JlZW4pIHt9CiArI2VuZGlmCiBkaWZmIC0tZ2l0IGEvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMgYi9nZGsveDExL2dka3dpbmRvdy14MTEuYwotaW5kZXggM2Q2ZmQzYi4uMmJkNWM4NyAxMDA2NDQKK2luZGV4IGM2MjA1ZTQuLmRmMjMzNGYgMTAwNjQ0CiAtLS0gYS9nZGsveDExL2dka3dpbmRvdy14MTEuYwogKysrIGIvZ2RrL3gxMS9nZGt3aW5kb3cteDExLmMKIEBAIC0zNiw3ICszNiw5IEBACkBAIC01MjksNyArNTI5LDcgQEAKICAjaW5jbHVkZSAiZ2RrcHJpdmF0ZS14MTEuaCIKICAjaW5jbHVkZSAiZ2RrLXByaXZhdGUuaCIKICAKLUBAIC01ODAxLDcgKzU4MDMsOSBAQCBnZGtfd2luZG93X2ltcGxfeDExX2NsYXNzX2luaXQgKEdka1dpbmRvd0ltcGxYMTFDbGFzcyAqa2xhc3MpCitAQCAtNTgwNCw3ICs1ODA2LDkgQEAgZ2RrX3dpbmRvd19pbXBsX3gxMV9jbGFzc19pbml0IChHZGtXaW5kb3dJbXBsWDExQ2xhc3MgKmtsYXNzKQogICAgaW1wbF9jbGFzcy0+c2V0X29wYXF1ZV9yZWdpb24gPSBnZGtfeDExX3dpbmRvd19zZXRfb3BhcXVlX3JlZ2lvbjsKICAgIGltcGxfY2xhc3MtPnNldF9zaGFkb3dfd2lkdGggPSBnZGtfeDExX3dpbmRvd19zZXRfc2hhZG93X3dpZHRoOwogICAgaW1wbF9jbGFzcy0+c2hvd193aW5kb3dfbWVudSA9IGdka194MTFfd2luZG93X3Nob3dfd2luZG93X21lbnU7CkBAIC02MzMsMTAgKzYzMywxMCBAQAogKwogKyNlbmRpZiAvKiBfX0dES19YX0hfXyAqLwogZGlmZiAtLWdpdCBhL2d0ay9NYWtlZmlsZS5hbSBiL2d0ay9NYWtlZmlsZS5hbQotaW5kZXggODQyYzJmOS4uMDkyMWJjNyAxMDA2NDQKK2luZGV4IDU1OTQ0MjkuLjIyNTliYjMgMTAwNjQ0CiAtLS0gYS9ndGsvTWFrZWZpbGUuYW0KICsrKyBiL2d0ay9NYWtlZmlsZS5hbQotQEAgLTE0MTYsMTQgKzE0MTYsMTMgQEAgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy5jOiAkKGd0a19wcml2YXRlX3R5cGVfaF9zb3VyY2VzKSAgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy4KK0BAIC0xNDM0LDE0ICsxNDM0LDEzIEBAIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuYzogJChndGtfcHJpdmF0ZV90eXBlX2hfc291cmNlcykgIGd0a3ByaXZhdGV0eXBlYnVpbHRpbnMuCiAgCSYmIGNwIHhnZW4tZ3B0YmMgZ3RrcHJpdmF0ZXR5cGVidWlsdGlucy5jICBcCiAgCSYmIHJtIC1mIHhnZW4tZ3B0YmMKICAKQEAgLTY1MCwxMCArNjUwLDEwIEBACiAtCSAgJChTRUQpICd7IHMvXi8qdHArKyA9IC87IHMvJCQvKCk7Lzsgcy9eLipcKGdka194MTFcfGd0a19wbHVnX1x8Z3RrX3NvY2tldF9cKS4qJCQvI2lmZGVmIEdES19XSU5ET1dJTkdfWDExXG4mXG4jZW5kaWYvOyB9JyA+PiB4Z2VuLWd0ZiBcCiArCSAgJChTRUQpICd7IHMvXi8qdHArKyA9IC87IHMvJCQvKCk7Lzsgcy9eLipcKGdka194MTFcfGd0a19wbHVnX1x8Z3RrX3NvY2tldF9cKS4qJCQvI2lmZGVmIEdES19XSU5ET1dJTkdfWDExXG4mXG4jZW5kaWYvOyBzL14uKmdka194MTFfZ2wuKiQkLyNpZmRlZiBIQVZFX09QRU5HTFxuJlxuI2VuZGlmLzsgfScgPj4geGdlbi1ndGYgXAogIAkmJiBjcCB4Z2VuLWd0ZiAkQCAmJiBybSAtZiB4Z2VuLWd0ZgotIGd0a3Rlc3R1dGlscy5jOiBndGt0eXBlZnVuY3MuYworICQoc3JjZGlyKS9ndGt0ZXN0dXRpbHMuYzogZ3RrdHlwZWZ1bmNzLmMKICAKIGRpZmYgLS1naXQgYS9ndGsvZ3RrZ2xhcmVhLmMgYi9ndGsvZ3RrZ2xhcmVhLmMKLWluZGV4IDA5NDM3OGUuLmY3YzdmNDcgMTAwNjQ0CitpbmRleCBlYTM4M2MwLi5iYjRlYjY0IDEwMDY0NAogLS0tIGEvZ3RrL2d0a2dsYXJlYS5jCiArKysgYi9ndGsvZ3RrZ2xhcmVhLmMKIEBAIC0yOCw3ICsyOCw5IEBACkBAIC03OTYsNyArNzk2LDcgQEAKICAgIGlmIChHREtfSVNfV0FZTEFORF9ESVNQTEFZIChnZGtfZGlzcGxheV9nZXRfZGVmYXVsdCAoKSkpCiAgICAgIHsKIGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5hbSBiL3Rlc3RzL01ha2VmaWxlLmFtCi1pbmRleCBlMmRiNmU0Li5lNTFjZjM0IDEwMDY0NAoraW5kZXggN2M1Y2E5OS4uZTRhNDU0NiAxMDA2NDQKIC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCiArKysgYi90ZXN0cy9NYWtlZmlsZS5hbQogQEAgLTgwLDggKzgwLDYgQEAgbm9pbnN0X1BST0dSQU1TID0gICQoVEVTVF9QUk9HUykJXApAQCAtODA4LDcgKzgwOCw3IEBACiAgCXRlc3RncmlkCQkJXAogIAl0ZXN0Z3RrCQkJCVwKICAJdGVzdGhlYWRlcmJhcgkJCVwKLUBAIC0xNzAsMTIgKzE2OCwxOCBAQCBub2luc3RfUFJPR1JBTVMgPSAgJChURVNUX1BST0dTKQlcCitAQCAtMTcyLDEyICsxNzAsMTggQEAgbm9pbnN0X1BST0dSQU1TID0gICQoVEVTVF9QUk9HUykJXAogIAl0ZXN0YWN0aW9uYmFyCQkJXAogIAl0ZXN0d2luZG93c2l6ZQkJCVwKICAJdGVzdHBvcG92ZXIJCQlcCkBAIC04NDIsNiArODQyLDMgQEAKICAjZW5kaWYKICAJICAvKiBOb3QgYWxsb3dlZCB0byBmaW5hbGl6ZSBhIEdka1BpeGJ1ZkxvYWRlciB3aXRob3V0IGNhbGxpbmcgZ2RrX3BpeGJ1Zl9sb2FkZXJfY2xvc2UoKSAqLwogIAkgIGFsbF90eXBlc1tpXSAhPSBHREtfVFlQRV9QSVhCVUZfTE9BREVSICYmCi0tLSAKLTIuMTQuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszL2xpbmtfZnJpYmlkaS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzMvbGlua19mcmliaWRpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0YmJkNzkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszL2xpbmtfZnJpYmlkaS5wYXRjaApAQCAtMCwwICsxLDE5IEBACitMaW5rIHdpdGggbGliZnJpYmlkaSwgdGhpcyBpcyB0byBhdm9pZCB1bmRlciBsaW5raW5nIHdoZXJlIHRoZXNlIGZ1bmN0aW9ucyBhcmUKK3VzZWQgYnV0IHRoZSBsaWJyYXJ5IGlzIG5vdCBsaW5rZWQgaW4sIGFuZCB0aGV5IGFyZSBtYXJrZWQgdW5kZWZpbmVkIGJ5IEJGRCBsaW5rZXIKK2J1dCBnb2xkIGxpbmtlciByZWZ1c2VzIHRvIGxpbmsKKworfCAuLy5saWJzL2xpYmdkay0zLnNvOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZnJpYmlkaV9nZXRfYmlkaV90eXBlJworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKy0tLSBhL2dkay9NYWtlZmlsZS5hbQorKysrIGIvZ2RrL01ha2VmaWxlLmFtCitAQCAtNTUsNiArNTUsNyBAQCBMREFERCA9IAkJCQkJXAorIAktdmVyc2lvbi1pbmZvICQoTFRfVkVSU0lPTl9JTkZPKQlcCisgCS1leHBvcnQtZHluYW1pYyAJCQlcCisgCS1ycGF0aCAkKGxpYmRpcikgCQkJXAorKwktbGZyaWJpZGkJIAkJCVwKKyAJJChub191bmRlZmluZWQpCisgCisgIwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjIyLjMwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrM18zLjIyLjMwLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OTdiNTE4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yMi4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLXJlcXVpcmUgZ3RrKzMuaW5jCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvZ25vbWUvc291cmNlcy9ndGsrLyR7TUFKX1ZFUn0vZ3RrKy0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1IYXJkY29kZWQtbGlidG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLURvLW5vdC10cnktdG8taW5pdGlhbGl6ZS1HTC13aXRob3V0LWxpYkdMLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtQWRkLWRpc2FibGUtb3BlbmdsLWNvbmZpZ3VyZS1vcHRpb24ucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2MWU2MGRjMDczZTBhNjg5M2M3MjA0M2QyMDU3OWRjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWE0YTVjMTI3MDNkNGUxY2NkYTI4MzMzYjg3ZmY0NjI3NDFkYzM2NTEzMWZiYzk0YzIxOGFlODFkOWE2NTY3IgotCi1TID0gIiR7V09SS0RJUn0vZ3RrKy0ke1BWfSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NWYzMGYwNzE2ZGZkZDBkOTFlYjQzOWViZWM1MjJlYzIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3RrL2d0ay5oO2VuZGxpbmU9MjU7bWQ1PTFkOGRjMGZjY2RiZmEyNjI4N2EyNzFkY2U4OGFmNzM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dkay9nZGsuaDtlbmRsaW5lPTI1O21kNT1jOTIwY2UzOWRjODhjNmYwNmQzZTdjNTBlMDgwODZmMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly90ZXN0cy90ZXN0Z3RrLmM7ZW5kbGluZT0yNTttZDU9Y2I3MzJkYWVlMWQ4MmFmN2EyYmY5NTNjZjNjZjI2ZjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjQuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrKzNfMy4yNC41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYzlhM2UKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ayszXzMuMjQuNS5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIGd0ayszLmluYworCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5nbm9tZS5vcmcvcHViL2dub21lL3NvdXJjZXMvZ3RrKy8ke01BSl9WRVJ9L2d0aystJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSGFyZGNvZGVkLWxpYnRvb2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1Eby1ub3QtdHJ5LXRvLWluaXRpYWxpemUtR0wtd2l0aG91dC1saWJHTC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC1kaXNhYmxlLW9wZW5nbC1jb25maWd1cmUtb3B0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpbmtfZnJpYmlkaS5wYXRjaCBcCisgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjMyODYyMzU1YzA4ZjZhZjNlNzg0OGM2OTVjZDQwODFiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjBiZTVmYjBkMzAyYmMzZGUyNmFiNThjMzI5OTBkODk1ODMxZTJiN2M3NDE4ZDBmZmVhMTIwNmQ2YTNkZGIwMmYiCisKK1MgPSAiJHtXT1JLRElSfS9ndGsrLSR7UFZ9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ndGsvZ3RrLmg7ZW5kbGluZT0yNTttZDU9MWQ4ZGMwZmNjZGJmYTI2Mjg3YTI3MWRjZTg4YWY3MzcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2RrL2dkay5oO2VuZGxpbmU9MjU7bWQ1PWM5MjBjZTM5ZGM4OGM2ZjA2ZDNlN2M1MGUwODA4NmYyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL3Rlc3RndGsuYztlbmRsaW5lPTI1O21kNT1jYjczMmRhZWUxZDgyYWY3YTJiZjk1M2NmM2NmMjZmMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrK18yLjI0LjMyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKaW5kZXggODlmY2E3My4uNjgyZDMxZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGsrXzIuMjQuMzIuYmIKQEAgLTI3LDggKzI3LDggQEAKICAgICBpbW1vZHVsZXNfcm9vdCA9IG9zLnBhdGguam9pbihndGtfbGliZGlyLCAnaW1tb2R1bGVzJykKICAgICBwcmludG1vZHVsZXNfcm9vdCA9IG9zLnBhdGguam9pbihndGtfbGliZGlyLCAncHJpbnRiYWNrZW5kcycpOwogCi0gICAgZC5zZXRWYXIoJ0dUS0lNTU9EVUxFU19QQUNLQUdFUycsICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCAnXmltLSguKilcLnNvJCcsICdndGstaW1tb2R1bGUtJXMnLCAnR1RLIGlucHV0IG1vZHVsZSBmb3IgJXMnKSkpCi0gICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcHJpbnRtb2R1bGVzX3Jvb3QsICdebGlicHJpbnRiYWNrZW5kLSguKilcLnNvJCcsICdndGstcHJpbnRiYWNrZW5kLSVzJywgJ0dUSyBwcmludGJhY2tlbmQgbW9kdWxlIGZvciAlcycpCisgICAgZC5zZXRWYXIoJ0dUS0lNTU9EVUxFU19QQUNLQUdFUycsICcgJy5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIGltbW9kdWxlc19yb290LCByJ15pbS0oLiopXC5zbyQnLCAnZ3RrLWltbW9kdWxlLSVzJywgJ0dUSyBpbnB1dCBtb2R1bGUgZm9yICVzJykpKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHByaW50bW9kdWxlc19yb290LCByJ15saWJwcmludGJhY2tlbmQtKC4qKVwuc28kJywgJ2d0ay1wcmludGJhY2tlbmQtJXMnLCAnR1RLIHByaW50YmFja2VuZCBtb2R1bGUgZm9yICVzJykKIAogICAgIGlmIChkLmdldFZhcignREVCSUFOX05BTUVTJykpOgogICAgICAgICBkLnNldFZhcihkLmV4cGFuZCgnUEtHXyR7UE59JyksICcke01MUFJFRklYfWxpYmd0ay0yLjAnKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGstaWNvbi11dGlscy1uYXRpdmVfMy4yMi4zMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMtbmF0aXZlXzMuMjIuMzAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4ZTdhMzEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvZ3RrKy9ndGstaWNvbi11dGlscy1uYXRpdmVfMy4yMi4zMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYzICswLDAgQEAKLVNVTU1BUlkgPSAiTmF0aXZlIGljb24gdXRpbHMgZm9yIEdUSysiCi1ERVNDUklQVElPTiA9ICJndGstdXBkYXRlLWljb24tY2FjaGUgYW5kIGd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnIGJ1aWx0IGZyb20gR1RLKyBuYXRpdmVseSwgZm9yIGJ1aWxkIHRpbWUgYW5kIG9uLWhvc3QgcG9zdGluc3Qgc2NyaXB0IGV4ZWN1dGlvbi4iCi1TRUNUSU9OID0gImxpYnMiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAtbmF0aXZlIGdkay1waXhidWYtbmF0aXZlIGxpYnJzdmctbmF0aXZlIgotCi1MSUNFTlNFID0gIkxHUEx2MiAmIExHUEx2MisgJiBMR1BMdjIuMSsiCi0KLU1BSl9WRVIgPSAiJHtAb2UudXRpbHMudHJpbV92ZXJzaW9uKCIke1BWfSIsIDIpfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLmdub21lLm9yZy9wdWIvZ25vbWUvc291cmNlcy9ndGsrLyR7TUFKX1ZFUn0vZ3RrKy0ke1BWfS50YXIueHogXAotICAgICAgICAgIGZpbGU6Ly9SZW1vdmUtR2RrLWRlcGVuZGVuY3ktZnJvbS1ndGstZW5jb2RlLXN5bWJvbGljLXN2Zy5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICI2MWU2MGRjMDczZTBhNjg5M2M3MjA0M2QyMDU3OWRjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhMWE0YTVjMTI3MDNkNGUxY2NkYTI4MzMzYjg3ZmY0NjI3NDFkYzM2NTEzMWZiYzk0YzIxOGFlODFkOWE2NTY3IgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ndGsvZ3RrLmg7ZW5kbGluZT0yNTttZDU9MWQ4ZGMwZmNjZGJmYTI2Mjg3YTI3MWRjZTg4YWY3MzcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ2RrL2dkay5oO2VuZGxpbmU9MjU7bWQ1PWM5MjBjZTM5ZGM4OGM2ZjA2ZDNlN2M1MGUwODA4NmYyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3Rlc3RzL3Rlc3RndGsuYztlbmRsaW5lPTI1O21kNT1jYjczMmRhZWUxZDgyYWY3YTJiZjk1M2NmM2NmMjZmMSIKLQotUyA9ICIke1dPUktESVJ9L2d0aystJHtQVn0iCi0KLWluaGVyaXQgcGtnY29uZmlnIG5hdGl2ZQotCi0jIHZlcnNpb25zID49IDMuOTAgYXJlIGRldmVsb3BtZW50IHZlcnNpb25zLCBvdGhlcndpc2UgbGlrZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIlteXGRcLl0oP1A8cHZlcj4zXC4oWzEtOF0/WzAyNDY4XSkrKFwuXGQrKSspXC50YXIiCi0KLVBLR19DT05GSUdfRk9SX0JVSUxEID0gIiR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfS9wa2ctY29uZmlnLW5hdGl2ZSIKLQotZG9fY29uZmlndXJlKCkgewotCSMgUXVpdGUgdWdseSBidXQgZGVmaW5lcyBlbm91Z2ggdG8gY29tcGlsZSB0aGUgdG9vbHMuCi0JaWYgISB0ZXN0IC1mIGd0ay9jb25maWcuaDsgdGhlbgotCQllY2hvICIjZGVmaW5lIEdFVFRFWFRfUEFDS0FHRSBcImd0azMwXCIiID4+IGd0ay9jb25maWcuaAotCQllY2hvICIjZGVmaW5lIEhBVkVfVU5JU1REX0ggMSIgPj4gZ3RrL2NvbmZpZy5oCi0JCWVjaG8gIiNkZWZpbmUgSEFWRV9GVFdfSCAxIiA+PiBndGsvY29uZmlnLmgKLQlmaQotCWlmICEgdGVzdCAtZiBnZGsvY29uZmlnLmg7IHRoZW4KLQkJdG91Y2ggZ2RrL2NvbmZpZy5oCi0JZmkKLX0KLQotZG9fY29tcGlsZSgpIHsKLQkke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBcCi0JCSR7U30vZ3RrL3VwZGF0ZWljb25jYWNoZS5jIFwKLQkJJCgke1BLR19DT05GSUdfRk9SX0JVSUxEfSAtLWNmbGFncyAtLWxpYnMgZ2RrLXBpeGJ1Zi0yLjApIFwKLQkJLW8gZ3RrLXVwZGF0ZS1pY29uLWNhY2hlCi0KLQkke0JVSUxEX0NDfSAke0JVSUxEX0NGTEFHU30gJHtCVUlMRF9MREZMQUdTfSBcCi0JCSR7U30vZ3RrL2VuY29kZXN5bWJvbGljLmMgXAotCQkkKCR7UEtHX0NPTkZJR19GT1JfQlVJTER9IC0tY2ZsYWdzIC0tbGlicyBnaW8tMi4wIGdkay1waXhidWYtMi4wKSBcCi0JCS1vIGd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnCi19Ci0KLWRvX2luc3RhbGwoKSB7Ci0JaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9Ci0JaW5zdGFsbCAtbSAwNzU1ICR7Qn0vZ3RrLXVwZGF0ZS1pY29uLWNhY2hlICR7RH0ke2JpbmRpcn0KLQlpbnN0YWxsIC1tIDA3NTUgJHtCfS9ndGstZW5jb2RlLXN5bWJvbGljLXN2ZyAke0R9JHtiaW5kaXJ9Ci0KLQljcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS9ndGstdXBkYXRlLWljb24tY2FjaGUgXAotCQlHREtfUElYQlVGX01PRFVMRV9GSUxFPSR7U1RBR0lOR19MSUJESVJfTkFUSVZFfS9nZGstcGl4YnVmLTIuMC8yLjEwLjAvbG9hZGVycy5jYWNoZQotCWNyZWF0ZV93cmFwcGVyICR7RH0vJHtiaW5kaXJ9L2d0ay1lbmNvZGUtc3ltYm9saWMtc3ZnIFwKLQkJR0RLX1BJWEJVRl9NT0RVTEVfRklMRT0ke1NUQUdJTkdfTElCRElSX05BVElWRX0vZ2RrLXBpeGJ1Zi0yLjAvMi4xMC4wL2xvYWRlcnMuY2FjaGUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMvUmVtb3ZlLUdkay1kZXBlbmRlbmN5LWZyb20tZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9ndGsrL2d0ay1pY29uLXV0aWxzL1JlbW92ZS1HZGstZGVwZW5kZW5jeS1mcm9tLWd0ay1lbmNvZGUtc3ltYm9saWMtc3ZnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMzdmODAzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2d0aysvZ3RrLWljb24tdXRpbHMvUmVtb3ZlLUdkay1kZXBlbmRlbmN5LWZyb20tZ3RrLWVuY29kZS1zeW1ib2xpYy1zdmcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotRnJvbSA0ZDA5ZmYzMjQ0MTlmZTRlNjcxMjMzMDQ0ZTQyNDM3OGRhNTM5NjliIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgOSBKdW4gMjAxNSAxNDoyMDozMCArMDMwMAotU3ViamVjdDogW1BBVENIXSBSZW1vdmUgR2RrLWRlcGVuZGVuY3kgZnJvbSBndGstZW5jb2RlLXN5bWJvbGljLXN2ZwotCi1CdWlsZGluZyBndGstZW5jb2RlLXN5bWJvbGljLXN2ZyB3aXRob3V0IGJ1aWxkaW5nIEdkayBpcyB1c2VmdWwKLWFzIG9ubHkgdGhlIGljb24gdG9vbHMgYXJlIG5lZWRlZCBvbiB0aGUgbmF0aXZlIGJ1aWxkOiB0aGlzIG1ha2VzCi1uYXRpdmUgYnVpbGQgbXVjaCBmYXN0ZXIgYW5kIHJlcXVpcmVzIG11Y2ggbGVzcyBkZXBlbmRlbmNpZXMuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgotLS0tCi0gZ3RrL2VuY29kZXN5bWJvbGljLmMgfCAzNiArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9ndGsvZW5jb2Rlc3ltYm9saWMuYyBiL2d0ay9lbmNvZGVzeW1ib2xpYy5jCi1pbmRleCA5ZjdkMDE1Li4xZjA3NTYzIDEwMDY0NAotLS0tIGEvZ3RrL2VuY29kZXN5bWJvbGljLmMKLSsrKyBiL2d0ay9lbmNvZGVzeW1ib2xpYy5jCi1AQCAtMTksNyArMTksNiBAQAotIAotICNpbmNsdWRlIDxnbGliLmg+Ci0gI2luY2x1ZGUgPGdkay1waXhidWYvZ2RrLXBpeGRhdGEuaD4KLS0jaW5jbHVkZSA8Z2RrL2dkay5oPgotICNpbmNsdWRlIDxnbGliL2dpMThuLmg+Ci0gCi0gI2lmZGVmIEhBVkVfVU5JU1REX0gKLUBAIC00MywzMCArNDIsMTggQEAgc3RhdGljIEdka1BpeGJ1ZiAqCi0gbG9hZF9zeW1ib2xpY19zdmcgKGNoYXIgKmZpbGVfZGF0YSwgZ3NpemUgZmlsZV9sZW4sCi0gICAgICAgICAgICAgICAgICAgIGludCB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgaW50IGhlaWdodCwKLS0gICAgICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAgKmZnLAotLSAgICAgICAgICAgICAgICAgICBjb25zdCBHZGtSR0JBICAqc3VjY2Vzc19jb2xvciwKLS0gICAgICAgICAgICAgICAgICAgY29uc3QgR2RrUkdCQSAgKndhcm5pbmdfY29sb3IsCi0tICAgICAgICAgICAgICAgICAgIGNvbnN0IEdka1JHQkEgICplcnJvcl9jb2xvciwKLSsgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3NzX2ZnLAotKyAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpjc3Nfc3VjY2VzcywKLSsgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqY3NzX3dhcm5pbmcsCi0rICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmNzc19lcnJvciwKLSAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAqKmVycm9yKQotIHsKLSAgIEdJbnB1dFN0cmVhbSAqc3RyZWFtOwotICAgR2RrUGl4YnVmICpwaXhidWY7Ci0tICBnY2hhciAqY3NzX2ZnOwotLSAgZ2NoYXIgKmNzc19zdWNjZXNzOwotLSAgZ2NoYXIgKmNzc193YXJuaW5nOwotLSAgZ2NoYXIgKmNzc19lcnJvcjsKLSAgIGdjaGFyICpkYXRhOwotICAgZ2NoYXIgKnN2Z193aWR0aCwgKnN2Z19oZWlnaHQ7Ci0gICBnY2hhciAqZXNjYXBlZF9maWxlX2RhdGE7Ci0gCi0tICBjc3NfZmcgPSBnZGtfcmdiYV90b19zdHJpbmcgKGZnKTsKLS0KLS0gIGNzc19zdWNjZXNzID0gY3NzX3dhcm5pbmcgPSBjc3NfZXJyb3IgPSBOVUxMOwotLQotLSAgY3NzX3dhcm5pbmcgPSBnZGtfcmdiYV90b19zdHJpbmcgKHdhcm5pbmdfY29sb3IpOwotLSAgY3NzX2Vycm9yID0gZ2RrX3JnYmFfdG9fc3RyaW5nIChlcnJvcl9jb2xvcik7Ci0tICBjc3Nfc3VjY2VzcyA9IGdka19yZ2JhX3RvX3N0cmluZyAoc3VjY2Vzc19jb2xvcik7Ci0tCi0gICAvKiBGZXRjaCBzaXplIGZyb20gdGhlIG9yaWdpbmFsIGljb24gKi8KLSAgIHN0cmVhbSA9IGdfbWVtb3J5X2lucHV0X3N0cmVhbV9uZXdfZnJvbV9kYXRhIChmaWxlX2RhdGEsIGZpbGVfbGVuLCBOVUxMKTsKLSAgIHBpeGJ1ZiA9IGdka19waXhidWZfbmV3X2Zyb21fc3RyZWFtIChzdHJlYW0sIE5VTEwsIGVycm9yKTsKLUBAIC0xMDUsMTAgKzkyLDYgQEAgbG9hZF9zeW1ib2xpY19zdmcgKGNoYXIgKmZpbGVfZGF0YSwgZ3NpemUgZmlsZV9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICI8L3N2Zz4iLAotICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgIGdfZnJlZSAoZXNjYXBlZF9maWxlX2RhdGEpOwotLSAgZ19mcmVlIChjc3NfZmcpOwotLSAgZ19mcmVlIChjc3Nfd2FybmluZyk7Ci0tICBnX2ZyZWUgKGNzc19lcnJvcik7Ci0tICBnX2ZyZWUgKGNzc19zdWNjZXNzKTsKLSAgIGdfZnJlZSAoc3ZnX3dpZHRoKTsKLSAgIGdfZnJlZSAoc3ZnX2hlaWdodCk7Ci0gCi1AQCAtMTY3LDcgKzE1MCw4IEBAIG1ha2Vfc3ltYm9saWNfcGl4YnVmIChjaGFyICpmaWxlLAotICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICoqZXJyb3IpCi0gCi0gewotLSAgR2RrUkdCQSByID0geyAxLDAsMCwxfSwgZyA9IHswLDEsMCwxfTsKLSsgIGNvbnN0IGNoYXIgcltdID0gInJnYmEoMjU1LDAsMCwxKSI7Ci0rICBjb25zdCBjaGFyIGdbXSA9ICJyZ2JhKDAsMjU1LDAsMSkiOwotICAgR2RrUGl4YnVmICpsb2FkZWQ7Ci0gICBHZGtQaXhidWYgKnBpeGJ1ZjsKLSAgIGludCBwbGFuZTsKLUBAIC0xOTYsMTAgKzE4MCwxMCBAQCBtYWtlX3N5bWJvbGljX3BpeGJ1ZiAoY2hhciAqZmlsZSwKLSAgICAgICAgKiB0aGUgInJlc3QiLCBhcyBhbGwgY29sb3IgZnJhY3Rpb25zIHNob3VsZCBhZGQgdXAgdG8gMS4KLSAgICAgICAgKi8KLSAgICAgICBsb2FkZWQgPSBsb2FkX3N5bWJvbGljX3N2ZyAoZmlsZV9kYXRhLCBmaWxlX2xlbiwgd2lkdGgsIGhlaWdodCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmcsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDAgPyAmciA6ICZnLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAxID8gJnIgOiAmZywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMiA/ICZyIDogJmcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW5lID09IDAgPyByIDogZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhbmUgPT0gMSA/IHIgOiBnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFuZSA9PSAyID8gciA6IGcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSAgICAgICBpZiAobG9hZGVkID09IE5VTEwpCi0gICAgICAgICByZXR1cm4gTlVMTDsKLS0tIAotMi4xLjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvaGljb2xvci1pY29uLXRoZW1lL2hpY29sb3ItaWNvbi10aGVtZV8wLjE3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvaGljb2xvci1pY29uLXRoZW1lL2hpY29sb3ItaWNvbi10aGVtZV8wLjE3LmJiCmluZGV4IDcwNjRiMTkuLmZiODAzMzQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2hpY29sb3ItaWNvbi10aGVtZS9oaWNvbG9yLWljb24tdGhlbWVfMC4xNy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9oaWNvbG9yLWljb24tdGhlbWUvaGljb2xvci1pY29uLXRoZW1lXzAuMTcuYmIKQEAgLTEyLDMgKzEyLDUgQEAKIGluaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMKIAogRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vaWNvbnMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWIvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYi9ydW4tcHRlc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM2Mzk4YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWIvcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEgL2Jpbi9zaAorCitnbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyIGpzb24tZ2xpYgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2pzb24tZ2xpYi9qc29uLWdsaWJfMS40LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5ZmUzY2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiSlNPTi1HTGliIGltcGxlbWVudHMgYSBmdWxsIEpTT04gcGFyc2VyIHVzaW5nIEdMaWIgYW5kIEdPYmplY3QiCi1ERVNDUklQVElPTiA9ICJVc2UgSlNPTi1HTGliIGl0IGlzIHBvc3NpYmxlIHRvIHBhcnNlIGFuZCBnZW5lcmF0ZSB2YWxpZCBKU09OXAotIGRhdGEgc3RydWN0dXJlcywgdXNpbmcgYSBET00tbGlrZSBBUEkuIEpTT04tR0xpYiBhbHNvIG9mZmVycyBHT2JqZWN0IFwKLWludGVncmF0aW9uLCBwcm92aWRpbmcgdGhlIGFiaWxpdHkgdG8gc2VyaWFsaXplIGFuZCBkZXNlcmlhbGl6ZSBHT2JqZWN0IFwKLWluc3RhbmNlcyB0byBhbmQgZnJvbSBKU09OIGRhdGEgdHlwZXMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2xpdmUuZ25vbWUub3JnL0pzb25HbGliIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCi0KLURFUEVORFMgPSAiZ2xpYi0yLjAiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjM1MTA3ZTIzYTdiYmJjNzBmMzFjMzRmN2I5YWRmMWMzIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMmQ3NzA5YTQ0NzQ5YzczMTg1OTlhNjgyOTMyMmUwODE5MTViZGM3M2Y1YmU1MDQ1ODgyZWQxMjBiYjY4NmRjOCIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGxpYl9wYWNrYWdlIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGdldHRleHQKLQotIyBUaGlzIGJ1aWxkcyBib3RoIEFQSSBkb2NzICh2aWEgZ3RrLWRvYykgYW5kIG1hbnBhZ2VzCi1HVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURkb2NzPXRydWUiCi1HVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jcz1mYWxzZSIKLQotR0lfRU5BQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPXRydWUiCi1HSV9ESVNBQkxFX0ZMQUcgPSAiLURpbnRyb3NwZWN0aW9uPWZhbHNlIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKLUVYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgRklYTUU6IHRoZXNlIG5lZWQgdG8gYmUgcHJvdmlkZWQgdmlhIHB0ZXN0Ci0gICAgcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtsaWJleGVjZGlyfQotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLSMgQ3VycmVudGx5IGl0J3Mgbm90IHBvc3NpYmxlIHRvIGRpc2FibGUgZ2V0dGV4dCBpbiBNZXNvbiwgc28gd2UgbmVlZCB0byBmb3JjZQotIyB0aGlzIGJhY2sgb24uCi1VU0VfTkxTX2NsYXNzLW5hdGl2ZSA9ICJ5ZXMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9qc29uLWdsaWIvanNvbi1nbGliXzEuNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWY5MDU2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvanNvbi1nbGliL2pzb24tZ2xpYl8xLjQuNC5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIkpTT04tR0xpYiBpbXBsZW1lbnRzIGEgZnVsbCBKU09OIHBhcnNlciB1c2luZyBHTGliIGFuZCBHT2JqZWN0IgorREVTQ1JJUFRJT04gPSAiVXNlIEpTT04tR0xpYiBpdCBpcyBwb3NzaWJsZSB0byBwYXJzZSBhbmQgZ2VuZXJhdGUgdmFsaWQgSlNPTlwKKyBkYXRhIHN0cnVjdHVyZXMsIHVzaW5nIGEgRE9NLWxpa2UgQVBJLiBKU09OLUdMaWIgYWxzbyBvZmZlcnMgR09iamVjdCBcCitpbnRlZ3JhdGlvbiwgcHJvdmlkaW5nIHRoZSBhYmlsaXR5IHRvIHNlcmlhbGl6ZSBhbmQgZGVzZXJpYWxpemUgR09iamVjdCBcCitpbnN0YW5jZXMgdG8gYW5kIGZyb20gSlNPTiBkYXRhIHR5cGVzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9Kc29uR2xpYiIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdmYmMzMzgzMDlhYzM4ZmVmY2Q2NGIwNGJiOTAzZTM0IgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgbGliX3BhY2thZ2UgZ29iamVjdC1pbnRyb3NwZWN0aW9uIGd0ay1kb2MgZ2V0dGV4dCBwdGVzdC1nbm9tZSBtYW5wYWdlcworCitTUkNfVVJJICs9ICJmaWxlOi8vcnVuLXB0ZXN0IgorU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNGQ0YmI5ODM3ZjZkMzFlMzJkMGNlNjU4YWUxMzVmNjgiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI3MjBjNWY0Mzc5NTEzZGMxMWZkOTdkYzc1MzM2ZWIwYzBkMzMzOGM1MzEyODA0NGQ5ZmFiZWM0Mzc0ZjRiYzQ3IgorCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbj10cnVlLC1EbWFuPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKKworIyBUaGlzIGJ1aWxkcyBib3RoIEFQSSBkb2NzICh2aWEgZ3RrLWRvYykKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGRvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURkb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaWYgISAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKwkJcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtsaWJleGVjZGlyfQorCWZpCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworIyBDdXJyZW50bHkgaXQncyBub3QgcG9zc2libGUgdG8gZGlzYWJsZSBnZXR0ZXh0IGluIE1lc29uLCBzbyB3ZSBuZWVkIHRvIGZvcmNlCisjIHRoaXMgYmFjayBvbi4KK1VTRV9OTFNfY2xhc3MtbmF0aXZlID0gInllcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGUvMDAwMS1BZGQtYS1kZWZpbmUtc28tdGhhdC1naXItY29tcGlsYXRpb24tc3VjY2VlZHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlLzAwMDEtQWRkLWEtZGVmaW5lLXNvLXRoYXQtZ2lyLWNvbXBpbGF0aW9uLXN1Y2NlZWRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NTlkNDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJkYXp6bGUvbGliZGF6emxlLzAwMDEtQWRkLWEtZGVmaW5lLXNvLXRoYXQtZ2lyLWNvbXBpbGF0aW9uLXN1Y2NlZWRzLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0Zyb20gNTQ2ZDUzYzM1MTVlOGE0ODhhMjA0NzYzNDM3ZDFmYTA5MTcwOTdlNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVHVlLCAxMSBEZWMgMjAxOCAxMjozOTozMCArMDEwMAorU3ViamVjdDogW1BBVENIXSBBZGQgYSBkZWZpbmUgc28gdGhhdCBnaXIgY29tcGlsYXRpb24gc3VjY2VlZHMKKworRm9yIHNvbWUgcmVhc29uIG1lc29uIDAuNDkuMCBkb2VzIG5vdCBhbnltb3JlIHBhc3MgZ2xvYmFsIGFyZ3VtZW50cyB0byBnaXIgY29tcGlsZXIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBzcmMvbWVzb24uYnVpbGQgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvbWVzb24uYnVpbGQgYi9zcmMvbWVzb24uYnVpbGQKK2luZGV4IDZmZjhhNmEuLmYwYjI4ODcgMTAwNjQ0CistLS0gYS9zcmMvbWVzb24uYnVpbGQKKysrKyBiL3NyYy9tZXNvbi5idWlsZAorQEAgLTEzMiw3ICsxMzIsNyBAQCBpZiBnZXRfb3B0aW9uKCd3aXRoX2ludHJvc3BlY3Rpb24nKQorICAgICAgICAgaW5zdGFsbF9kaXJfZ2lyOiBnaXJkaXIsCisgICAgIGluc3RhbGxfZGlyX3R5cGVsaWI6IHR5cGVsaWJkaXIsCisgICAgICAgICBleHBvcnRfcGFja2FnZXM6IGxpYmRhenpsZV9wYWNrYWdlLAorLSAgICAgICAgICAgICBleHRyYV9hcmdzOiBbICctLWMtaW5jbHVkZT1kYXp6bGUuaCcsICctLXF1aWV0JyBdLAorKyAgICAgICAgICAgICBleHRyYV9hcmdzOiBbICctLWMtaW5jbHVkZT1kYXp6bGUuaCcsICctLXF1aWV0JywgJy1EREFaWkxFX0NPTVBJTEFUSU9OJyBdLAorICAgKQorIAorICAgaWYgZ2V0X29wdGlvbignd2l0aF92YXBpJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGVfMy4zMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGliZGF6emxlL2xpYmRhenpsZV8zLjMwLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3OWIxNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYmRhenpsZS9saWJkYXp6bGVfMy4zMC4yLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVGhlIGxpYmRhenpsZSBsaWJyYXJ5IGlzIGEgY29tcGFuaW9uIGxpYnJhcnkgdG8gR09iamVjdCBhbmQgR3RrKy4iCitMSUNFTlNFID0gIkdQTHYzKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThmMGUyY2Q0MGUwNTE4OWVjODEyMzJkYTg0YmQ2ZTFhIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIHZhbGEgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIGdvYmplY3QtaW50cm9zcGVjdGlvbgorCitERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSBnbGliLTIuMCBndGsrMyIKKworU1JDX1VSSSArPSAiIGZpbGU6Ly8wMDAxLUFkZC1hLWRlZmluZS1zby10aGF0LWdpci1jb21waWxhdGlvbi1zdWNjZWVkcy5wYXRjaCIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjI0ZTJlMWI5MTRhMzRmNWI4ODY4YTk1MDdkMWYzYzRjIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNzg3NzBlYWU5ZmExNWFjNWFjYjljNzMzZDI5NDU5MzMwYjI1NDBhZmZiZjcyOTMzMTE5ZTM2ZGJkOTBiMzZkNSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLUR3aXRoX2ludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRHdpdGhfaW50cm9zcGVjdGlvbj1mYWxzZSIKKworQU5ZX09GX0RJU1RST19GRUFUVVJFUyA9ICIke0dUSzNESVNUUk9GRUFUVVJFU30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1nbm9tZS9saWJzZWNyZXQvbGlic2VjcmV0XzAuMTguNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MThjNzFmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJsaWJzZWNyZXQgaXMgYSBsaWJyYXJ5IGZvciBzdG9yaW5nIGFuZCByZXRyaWV2aW5nIHBhc3N3b3JkcyBhbmQgb3RoZXIgc2VjcmV0cyIKLUxJQ0VOU0UgPSAiTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yM2MyYTVlMDEwNmI5OWQ3NTIzODk4NjU1OWJiNWZjNiIKLQotaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyB2YWxhIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYW5wYWdlcwotCi1ERVBFTkRTICs9ICJnbGliLTIuMCBsaWJnY3J5cHQgZ2V0dGV4dC1uYXRpdmUgaW50bHRvb2wtbmF0aXZlIgotCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW5wYWdlcywgLS1kaXNhYmxlLW1hbnBhZ2VzLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImM2Y2YxMzJhNTZiZDM0NmZiZjQ5YTQzYWJiMDJlNWMyIgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiNWVmYmM4OTBiYTQxYTMyM2ZmZTA1OTljZDI2MGZkMTJiZDhlYjYyYTA0YWExYmQxYjI3NjI1NzVkMjUzZDY2ZiIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjgvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCi0KLSMgdmFwaWdlbi5tNCBidW5kbGVkIHdpdGggdGhlIHRhcmJhbGwgZG9lcyBub3QgeWV0IGhhdmUgb3VyIGNyb3NzLWNvbXBpbGF0aW9uIGZpeGVzCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICBybSAtZiAke1N9L2J1aWxkL200L3ZhcGlnZW4ubTQKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ25vbWUvbGlic2VjcmV0L2xpYnNlY3JldF8wLjE4LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEzOGQxMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdub21lL2xpYnNlY3JldC9saWJzZWNyZXRfMC4xOC43LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAibGlic2VjcmV0IGlzIGEgbGlicmFyeSBmb3Igc3RvcmluZyBhbmQgcmV0cmlldmluZyBwYXNzd29yZHMgYW5kIG90aGVyIHNlY3JldHMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjNjMmE1ZTAxMDZiOTlkNzUyMzg5ODY1NTliYjVmYzYiCisKK2luaGVyaXQgZ25vbWViYXNlIGd0ay1kb2MgdmFsYSBnb2JqZWN0LWludHJvc3BlY3Rpb24gbWFucGFnZXMKKworREVQRU5EUyArPSAiZ2xpYi0yLjAgbGliZ2NyeXB0IGdldHRleHQtbmF0aXZlIgorCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW5wYWdlcywgLS1kaXNhYmxlLW1hbnBhZ2VzLCBsaWJ4c2x0LW5hdGl2ZSB4bWx0by1uYXRpdmUiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjM3NjE1M2VjZTE3MDgxZWI1NDEwODcwZTBkYzVjMDMxIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMGQ2NmZlMWZjNDU2MWIzZTA0NmVlMjgxZDdjNWE3MDNhOWJhYWM4OGE4YzRmYjQyZWJjNzM5ZDMxZGFiZDQ4NyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAyMjgvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgdmFwaWdlbi5tNCBidW5kbGVkIHdpdGggdGhlIHRhcmJhbGwgZG9lcyBub3QgeWV0IGhhdmUgb3VyIGNyb3NzLWNvbXBpbGF0aW9uIGZpeGVzCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBybSAtZiAke1N9L2J1aWxkL200L3ZhcGlnZW4ubTQKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLzAwMDEtY2Fpcm8tRml4LUNWRS0yMDE3LTk4MTQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDAyYWI5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLzAwMDEtY2Fpcm8tRml4LUNWRS0yMDE3LTk4MTQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIDA0MjQyMWU5ZTNkMjY2YWQwYmI3ODA1MTMyMDQxZWY1MWFkMzIzNGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gSm9obnNvbiA8YWpvaG5zb25AcmVkbmVvbi5jb20+Ci1EYXRlOiBXZWQsIDE2IEF1ZyAyMDE3IDIyOjUyOjM1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGNhaXJvOiBGaXggQ1ZFLTIwMTctOTgxNAotCi1UaGUgYnVnIGhhcHBlbnMgYmVjYXVzZSBpbiBzb21lIHNjZW5hcmlvcyB0aGUgdmFyaWFibGUgc2l6ZSBjYW4KLWhhdmUgYSB2YWx1ZSBvZiAwIGF0IGxpbmUgMTI4OC4gQW5kIG1hbGxvYygwKSBpcyBub3QgcmV0dXJuaW5nCi1OVUxMIGFzIHNvbWUgcGVvcGxlIGNvdWxkIGV4cGVjdDoKLQotICAgIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEwNzMxNTcvemVyby1zaXplLW1hbGxvYwotCi1tYWxsb2MoMCkgcmV0dXJucyB0aGUgc21hbGxlc3QgY2h1bmsgcG9zc2libGUuIFNvIHRoZSBsaW5lIDEyOTAKLXdpdGggdGhlIHJldHVybiBpcyBub3QgZXhlY3V0ZS4gQW5kIHRoZSBleGVjdXRpb24gY29udGludWVzIHdpdGgKLWFuIGludmFsaWQgbWFwLgotCi1TaW5jZSB0aGUgc2l6ZSBpcyAwIHRoZSB2YXJpYWJsZSBtYXAgaXMgbm90IGluaXRpYWxpemVkIGNvcnJlY3RseQotYXQgbG9hZF90cnV0eXBlX3RhYmxlLiBTbywgbGF0ZXIgd2hlbiB0aGUgdmFyaWFibGUgbWFwIGlzIGFjY2Vzc2VkCi1wcmV2aW91cyB2YWx1ZXMgZnJvbSBhIGZyZWVkIGNodW5rIGFyZSB1c2VkLiBUaGlzIGNvdWxkIGFsbG93cyBhbgotYXR0YWNrZXIgdG8gY29udHJvbCB0aGUgdmFyaWFibGUgbWFwLgotCi1UaGlzIHBhdGNoIGhhdmUgbm90IG1lcmdlIGluIHVwc3RyZWFtIG5vdy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNTQ3XQotQ1ZFOiBDVkUtMjAxNy05ODE0Ci1TaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jIGIvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jCi1pbmRleCBlMzQ0OWEwLi5mNzdkMTFjIDEwMDY0NAotLS0tIGEvc3JjL2NhaXJvLXRydWV0eXBlLXN1YnNldC5jCi0rKysgYi9zcmMvY2Fpcm8tdHJ1ZXR5cGUtc3Vic2V0LmMKLUBAIC0xMjg1LDcgKzEyODUsNyBAQCBfY2Fpcm9fdHJ1ZXR5cGVfcmV2ZXJzZV9jbWFwIChjYWlyb19zY2FsZWRfZm9udF90ICpzY2FsZWRfZm9udCwKLSAJcmV0dXJuIENBSVJPX0lOVF9TVEFUVVNfVU5TVVBQT1JURUQ7Ci0gCi0gICAgIHNpemUgPSBiZTE2X3RvX2NwdSAobWFwLT5sZW5ndGgpOwotLSAgICBtYXAgPSBtYWxsb2MgKHNpemUpOwotKyAgICBtYXAgPSBfY2Fpcm9fbWFsbG9jIChzaXplKTsKLSAgICAgaWYgKHVubGlrZWx5IChtYXAgPT0gTlVMTCkpCi0gCXJldHVybiBfY2Fpcm9fZXJyb3IgKENBSVJPX1NUQVRVU19OT19NRU1PUlkpOwotIAotLS0gCi0yLjguMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOC0xOTg3Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE4LTE5ODc2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyNTJhNTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby9DVkUtMjAxOC0xOTg3Ni5wYXRjaApAQCAtMCwwICsxLDM0IEBACitDVkU6IENWRS0yMDE4LTE5ODc2CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDkwZTg1YzI0OTNmZGZhMzU1MWYyMDJmZjEwMjgyNDYzZjFlMzY2NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDYXJsb3MgR2FyY2lhIENhbXBvcyA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorRGF0ZTogTW9uLCAxOSBOb3YgMjAxOCAxMjozMzowNyArMDEwMAorU3ViamVjdDogW1BBVENIXSBmdDogVXNlIEZUX0RvbmVfTU1fVmFyIGluc3RlYWQgb2YgZnJlZSB3aGVuIGF2YWlsYWJsZSBpbgorIGNhaXJvX2Z0X2FwcGx5X3ZhcmlhdGlvbnMKKworRml4ZXMgYSBjcmFzaCB3aGVuIHVzaW5nIGZyZWV0eXBlID49IDIuOQorLS0tCisgc3JjL2NhaXJvLWZ0LWZvbnQuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9jYWlyby1mdC1mb250LmMgYi9zcmMvY2Fpcm8tZnQtZm9udC5jCitpbmRleCAzMjVkZDYxYjQuLjk4MTk3M2Y3OCAxMDA2NDQKKy0tLSBhL3NyYy9jYWlyby1mdC1mb250LmMKKysrKyBiL3NyYy9jYWlyby1mdC1mb250LmMKK0BAIC0yMzkzLDcgKzIzOTMsMTEgQEAgc2tpcDoKKyBkb25lOgorICAgICAgICAgZnJlZSAoY29vcmRzKTsKKyAgICAgICAgIGZyZWUgKGN1cnJlbnRfY29vcmRzKTsKKysjaWYgSEFWRV9GVF9ET05FX01NX1ZBUgorKyAgICAgICAgRlRfRG9uZV9NTV9WYXIgKGZhY2UtPmdseXBoLT5saWJyYXJ5LCBmdF9tbV92YXIpOworKyNlbHNlCisgICAgICAgICBmcmVlIChmdF9tbV92YXIpOworKyNlbmRpZgorICAgICB9CisgfQorIAorLS0gCisyLjExLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTktNjQ2MS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTIzMmNmNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjEucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVGhlcmUgaXMgYSBwb3RlbnRpYWwgaW5maW5pdGUtbG9vcCBpbiBmdW5jdGlvbiBfYXJjX2Vycm9yX25vcm1hbGl6ZWQoKS4KKworQ1ZFOiBDVkUtMjAxOS02NDYxCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvY2Fpcm8tYXJjLmMgYi9zcmMvY2Fpcm8tYXJjLmMKK2luZGV4IDM5MDM5N2JhZS4uZjkyNDlkYmViIDEwMDY0NAorLS0tIGEvc3JjL2NhaXJvLWFyYy5jCisrKysgYi9zcmMvY2Fpcm8tYXJjLmMKK0BAIC05OSw3ICs5OSw3IEBAIF9hcmNfbWF4X2FuZ2xlX2Zvcl90b2xlcmFuY2Vfbm9ybWFsaXplZCAoZG91YmxlIHRvbGVyYW5jZSkKKyAgICAgZG8geworIAlhbmdsZSA9IE1fUEkgLyBpKys7CisgCWVycm9yID0gX2FyY19lcnJvcl9ub3JtYWxpemVkIChhbmdsZSk7CistICAgIH0gd2hpbGUgKGVycm9yID4gdG9sZXJhbmNlKTsKKysgICAgfSB3aGlsZSAoZXJyb3IgPiB0b2xlcmFuY2UgJiYgZXJyb3IgPiBfX0RCTF9FUFNJTE9OX18pOworIAorICAgICByZXR1cm4gYW5nbGU7CisgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8vQ1ZFLTIwMTktNjQ2Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGU0NTk4YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvL0NWRS0yMDE5LTY0NjIucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorVGhlcmUgaXMgYW4gYXNzZXJ0aW9uIGluIGZ1bmN0aW9uIF9jYWlyb19hcmNfaW5fZGlyZWN0aW9uKCkuCisKK0NWRTogQ1ZFLTIwMTktNjQ2MgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvc3JjL2NhaXJvLWFyYy5jIGIvc3JjL2NhaXJvLWFyYy5jCitpbmRleCAzOTAzOTdiYWUuLjFiZGU3NzRhNCAxMDA2NDQKKy0tLSBhL3NyYy9jYWlyby1hcmMuYworKysrIGIvc3JjL2NhaXJvLWFyYy5jCitAQCAtMTg2LDcgKzE4Niw4IEBAIF9jYWlyb19hcmNfaW5fZGlyZWN0aW9uIChjYWlyb190CSAgKmNyLAorICAgICBpZiAoY2Fpcm9fc3RhdHVzIChjcikpCisgICAgICAgICByZXR1cm47CisgCistICAgIGFzc2VydCAoYW5nbGVfbWF4ID49IGFuZ2xlX21pbik7CisrICAgIGlmIChhbmdsZV9tYXggPCBhbmdsZV9taW4pCisrICAgICAgIHJldHVybjsKKyAKKyAgICAgaWYgKGFuZ2xlX21heCAtIGFuZ2xlX21pbiA+IDIgKiBNX1BJICogTUFYX0ZVTExfQ0lSQ0xFUykgeworIAlhbmdsZV9tYXggPSBmbW9kIChhbmdsZV9tYXggLSBhbmdsZV9taW4sIDIgKiBNX1BJKTsKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTQuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE0LjEyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGI5NDc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTQuMTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1TVU1NQVJZID0gIlRoZSBDYWlybyAyRCB2ZWN0b3IgZ3JhcGhpY3MgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gIkNhaXJvIGlzIGEgbXVsdGktcGxhdGZvcm0gbGlicmFyeSBwcm92aWRpbmcgYW50aS1hbGlhc2VkIFwKLXZlY3Rvci1iYXNlZCByZW5kZXJpbmcgZm9yIG11bHRpcGxlIHRhcmdldCBiYWNrZW5kcy4gUGF0aHMgY29uc2lzdCBcCi1vZiBsaW5lIHNlZ21lbnRzIGFuZCBjdWJpYyBzcGxpbmVzIGFuZCBjYW4gYmUgcmVuZGVyZWQgYXQgYW55IHdpZHRoIFwKLXdpdGggdmFyaW91cyBqb2luIGFuZCBjYXAgc3R5bGVzLiBBbGwgY29sb3JzIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBcCi1vcHRpb25hbCB0cmFuc2x1Y2VuY2UgKG9wYWNpdHkvYWxwaGEpIGFuZCBjb21iaW5lZCB1c2luZyB0aGUgXAotZXh0ZW5kZWQgUG9ydGVyL0R1ZmYgY29tcG9zaXRpbmcgYWxnZWJyYSBhcyBmb3VuZCBpbiB0aGUgWCBSZW5kZXIgXAotRXh0ZW5zaW9uLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIk1QTC0xICYgTEdQTHYyLjEgJiBHUEx2MysiCi1MSUNFTlNFXyR7UE59ID0gIk1QTC0xICYgTEdQTHYyLjEiCi1MSUNFTlNFXyR7UE59LWRldiA9ICJNUEwtMSAmIExHUEx2Mi4xIgotTElDRU5TRV8ke1BOfS1kb2MgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tZ29iamVjdCA9ICJNUEwtMSAmIExHUEx2Mi4xIgotTElDRU5TRV8ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiTVBMLTEgJiBMR1BMdjIuMSIKLUxJQ0VOU0VfJHtQTn0tcGVyZi11dGlscyA9ICJHUEx2MysiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3M2U5OTllMGM3MmI1YWM5MDEyNDI0ZmExNTdhZDc3IgotCi1ERVBFTkRTID0gImZvbnRjb25maWcgZ2xpYi0yLjAgbGlicG5nIHBpeG1hbiB6bGliIgotCi1TUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyby0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vY2Fpcm8tZ2V0X2JpdG1hcF9zdXJmYWNlLWJzYzEwMzY3ODktQ1ZFLTIwMTctNzQ3NS5kaWZmIFwgCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhaXJvLUZpeC1DVkUtMjAxNy05ODE0LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZjBkYjlkYmZjYTA5NjZiZThhY2Q2ODJlNjM2ZDE2NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzkwZjAwYzUwMGIyMjk5YzBhMzIzZGQ5YmVlYWQyYTAwMzUzNzUyYjIwOTJlYWQ1NTgxMzliZDY3ZjdiZjE2IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tcGVyZi11dGlsczoke2JpbmRpcn0vY2Fpcm8tdHJhY2UiCi0KLVgxMURFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlic20gbGlieHJlbmRlciBsaWJ4ZXh0IgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnZGlyZWN0ZmInLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSB4Y2InLCAnJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSBvcGVuZ2wnLCAnb3BlbmdsJywgJycsIGQpfSIKLQotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14PXllcyAtZW5hYmxlLXhsaWIsLS13aXRoLXg9bm8gLS1kaXNhYmxlLXhsaWIsJHtYMTFERVBFTkRTfSIKLVBBQ0tBR0VDT05GSUdbeGNiXSA9ICItLWVuYWJsZS14Y2IsLS1kaXNhYmxlLXhjYixsaWJ4Y2IiCi1QQUNLQUdFQ09ORklHW2RpcmVjdGZiXSA9ICItLWVuYWJsZS1kaXJlY3RmYj15ZXMsLGRpcmVjdGZiIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLS1lbmFibGUtdmFsZ3JpbmQ9eWVzLC0tZGlzYWJsZS12YWxncmluZCx2YWxncmluZCIKLVBBQ0tBR0VDT05GSUdbZWdsXSA9ICItLWVuYWJsZS1lZ2w9eWVzLC0tZGlzYWJsZS1lZ2wsdmlydHVhbC9lZ2wiCi1QQUNLQUdFQ09ORklHW2dsZXN2Ml0gPSAiLS1lbmFibGUtZ2xlc3YyLC0tZGlzYWJsZS1nbGVzdjIsdmlydHVhbC9saWJnbGVzMiIKLVBBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsdmlydHVhbC9saWJnbCIKLQotRVhUUkFfT0VDT05GICs9ICIgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdUQVJHRVRfRlBVJywgJ3NvZnQnLCAnLS1kaXNhYmxlLXNvbWUtZmxvYXRpbmctcG9pbnQnLCAnJywgZCl9IFwKLSAgICAtLWVuYWJsZS10ZWUgXAotIgotCi0jIFdlIGRvbid0IGRlcGVuZCBvbiBiaW51dGlscyBzbyB3ZSBuZWVkIHRvIGRpc2FibGUgdGhpcwotZXhwb3J0IGFjX2N2X2xpYl9iZmRfYmZkX29wZW5yPSJubyIKLSMgRW5zdXJlIHdlIGRvbid0IGRlcGVuZCBvbiBMWk8KLWV4cG9ydCBhY19jdl9saWJfbHpvMl9sem8yYV9kZWNvbXByZXNzPSJubyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotCXJtIC1yZiAke0R9JHtiaW5kaXJ9L2NhaXJvLXNwaGlueAotCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLWZkcioKLQlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby9jYWlyby1zcGhpbngqCi0Jcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vLmRlYnVnL2NhaXJvLWZkcioKLQlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tc3BoaW54KgotfQotCi1QQUNLQUdFUyA9KyAiY2Fpcm8tZ29iamVjdCBjYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgY2Fpcm8tcGVyZi11dGlscyIKLQotU1VNTUFSWV9jYWlyby1nb2JqZWN0ID0gIlRoZSBDYWlybyBsaWJyYXJ5IEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IgotREVTQ1JJUFRJT05fY2Fpcm8tZ29iamVjdCA9ICJBIEdPYmplY3Qgd3JhcHBlciBsaWJyYXJ5IGZvciB0aGUgQ2Fpcm8gQVBJLiIKLQotU1VNTUFSWV9jYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiVGhlIENhaXJvIGxpYnJhcnkgc2NyaXB0IGludGVycHJldGVyIgotREVTQ1JJUFRJT05fY2Fpcm8tc2NyaXB0LWludGVycHJldGVyID0gIlRoZSBDYWlybyBzY3JpcHQgaW50ZXJwcmV0ZXIgaW1wbGVtZW50cyBcCi1DYWlyb1NjcmlwdC4gIENhaXJvU2NyaXB0IGlzIHVzZWQgYnkgdHJhY2luZyB1dGlsaXRpZXMgdG8gZW5hYmxlIHRoZSBhYmlsaXR5IFwKLXRvIHJlcGxheSByZW5kZXJpbmcuIgotCi1ERVNDUklQVElPTl9jYWlyby1wZXJmLXV0aWxzID0gIlRoZSBDYWlybyBsaWJyYXJ5IHBlcmZvcm1hbmNlIHV0aWxpdGllcyIKLQotRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLnNvLioiCi1GSUxFU18ke1BOfS1nb2JqZWN0ID0gIiR7bGliZGlyfS9saWJjYWlyby1nb2JqZWN0LnNvLioiCi1GSUxFU18ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLXNjcmlwdC1pbnRlcnByZXRlci5zby4qIgotRklMRVNfJHtQTn0tcGVyZi11dGlscyA9ICIke2JpbmRpcn0vY2Fpcm8tdHJhY2UqICR7bGliZGlyfS9jYWlyby8qLmxhICR7bGliZGlyfS9jYWlyby9saWJjYWlyby10cmFjZS5zby4qIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2Fpcm8vKi5zbyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE2LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE2LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2MjhhZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvXzEuMTYuMC5iYgpAQCAtMCwwICsxLDkwIEBACitTVU1NQVJZID0gIlRoZSBDYWlybyAyRCB2ZWN0b3IgZ3JhcGhpY3MgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkNhaXJvIGlzIGEgbXVsdGktcGxhdGZvcm0gbGlicmFyeSBwcm92aWRpbmcgYW50aS1hbGlhc2VkIFwKK3ZlY3Rvci1iYXNlZCByZW5kZXJpbmcgZm9yIG11bHRpcGxlIHRhcmdldCBiYWNrZW5kcy4gUGF0aHMgY29uc2lzdCBcCitvZiBsaW5lIHNlZ21lbnRzIGFuZCBjdWJpYyBzcGxpbmVzIGFuZCBjYW4gYmUgcmVuZGVyZWQgYXQgYW55IHdpZHRoIFwKK3dpdGggdmFyaW91cyBqb2luIGFuZCBjYXAgc3R5bGVzLiBBbGwgY29sb3JzIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBcCitvcHRpb25hbCB0cmFuc2x1Y2VuY2UgKG9wYWNpdHkvYWxwaGEpIGFuZCBjb21iaW5lZCB1c2luZyB0aGUgXAorZXh0ZW5kZWQgUG9ydGVyL0R1ZmYgY29tcG9zaXRpbmcgYWxnZWJyYSBhcyBmb3VuZCBpbiB0aGUgWCBSZW5kZXIgXAorRXh0ZW5zaW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1QTC0xICYgTEdQTHYyLjEgJiBHUEx2MysiCitMSUNFTlNFXyR7UE59ID0gIk1QTC0xICYgTEdQTHYyLjEiCitMSUNFTlNFXyR7UE59LWRldiA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1kb2MgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tZ29iamVjdCA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tcGVyZi11dGlscyA9ICJHUEx2MysiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3M2U5OTllMGM3MmI1YWM5MDEyNDI0ZmExNTdhZDc3IgorCitERVBFTkRTID0gImZvbnRjb25maWcgZ2xpYi0yLjAgbGlicG5nIHBpeG1hbiB6bGliIgorCitTUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyby0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vY2Fpcm8tZ2V0X2JpdG1hcF9zdXJmYWNlLWJzYzEwMzY3ODktQ1ZFLTIwMTctNzQ3NS5kaWZmIFwgCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC0xOTg3Ni5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOS02NDYxLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTY0NjIucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImYxOWUwMzUzODI4MjY5YzIyYmQ3MmUyNzEyNDNhNTUyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVlN2IyOWIzZjExM2VmODcwZDFlM2VjZjhhZGYyMWY5MjMzOTY0MDE2MDRiZGExNmQ0NGJlNDVlNjYwNTIzMzEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ3RrLWRvYyBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1wZXJmLXV0aWxzOiR7YmluZGlyfS9jYWlyby10cmFjZSIKKworWDExREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJzbSBsaWJ4cmVuZGVyIGxpYnhleHQiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdkaXJlY3RmYicsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExIHhjYicsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExIG9wZW5nbCcsICdvcGVuZ2wnLCAnJywgZCl9IgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS13aXRoLXg9eWVzIC1lbmFibGUteGxpYiwtLXdpdGgteD1ubyAtLWRpc2FibGUteGxpYiwke1gxMURFUEVORFN9IgorUEFDS0FHRUNPTkZJR1t4Y2JdID0gIi0tZW5hYmxlLXhjYiwtLWRpc2FibGUteGNiLGxpYnhjYiIKK1BBQ0tBR0VDT05GSUdbZGlyZWN0ZmJdID0gIi0tZW5hYmxlLWRpcmVjdGZiPXllcywsZGlyZWN0ZmIiCitQQUNLQUdFQ09ORklHW3ZhbGdyaW5kXSA9ICItLWVuYWJsZS12YWxncmluZD15ZXMsLS1kaXNhYmxlLXZhbGdyaW5kLHZhbGdyaW5kIgorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbD15ZXMsLS1kaXNhYmxlLWVnbCx2aXJ0dWFsL2VnbCIKK1BBQ0tBR0VDT05GSUdbZ2xlc3YyXSA9ICItLWVuYWJsZS1nbGVzdjIsLS1kaXNhYmxlLWdsZXN2Mix2aXJ0dWFsL2xpYmdsZXMyIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLWdsLC0tZGlzYWJsZS1nbCx2aXJ0dWFsL2xpYmdsIgorCitFWFRSQV9PRUNPTkYgKz0gIiBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RBUkdFVF9GUFUnLCAnc29mdCcsICctLWRpc2FibGUtc29tZS1mbG9hdGluZy1wb2ludCcsICcnLCBkKX0gXAorICAgIC0tZW5hYmxlLXRlZSBcCisiCisKKyMgV2UgZG9uJ3QgZGVwZW5kIG9uIGJpbnV0aWxzIHNvIHdlIG5lZWQgdG8gZGlzYWJsZSB0aGlzCitleHBvcnQgYWNfY3ZfbGliX2JmZF9iZmRfb3BlbnI9Im5vIgorIyBFbnN1cmUgd2UgZG9uJ3QgZGVwZW5kIG9uIExaTworZXhwb3J0IGFjX2N2X2xpYl9sem8yX2x6bzJhX2RlY29tcHJlc3M9Im5vIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJcm0gLXJmICR7RH0ke2JpbmRpcn0vY2Fpcm8tc3BoaW54CisJcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vY2Fpcm8tZmRyKgorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLXNwaGlueCoKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tZmRyKgorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvLy5kZWJ1Zy9jYWlyby1zcGhpbngqCit9CisKK1BBQ0tBR0VTID0rICJjYWlyby1nb2JqZWN0IGNhaXJvLXNjcmlwdC1pbnRlcnByZXRlciBjYWlyby1wZXJmLXV0aWxzIgorCitTVU1NQVJZX2NhaXJvLWdvYmplY3QgPSAiVGhlIENhaXJvIGxpYnJhcnkgR09iamVjdCB3cmFwcGVyIGxpYnJhcnkiCitERVNDUklQVElPTl9jYWlyby1nb2JqZWN0ID0gIkEgR09iamVjdCB3cmFwcGVyIGxpYnJhcnkgZm9yIHRoZSBDYWlybyBBUEkuIgorCitTVU1NQVJZX2NhaXJvLXNjcmlwdC1pbnRlcnByZXRlciA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBzY3JpcHQgaW50ZXJwcmV0ZXIiCitERVNDUklQVElPTl9jYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgPSAiVGhlIENhaXJvIHNjcmlwdCBpbnRlcnByZXRlciBpbXBsZW1lbnRzIFwKK0NhaXJvU2NyaXB0LiAgQ2Fpcm9TY3JpcHQgaXMgdXNlZCBieSB0cmFjaW5nIHV0aWxpdGllcyB0byBlbmFibGUgdGhlIGFiaWxpdHkgXAordG8gcmVwbGF5IHJlbmRlcmluZy4iCisKK0RFU0NSSVBUSU9OX2NhaXJvLXBlcmYtdXRpbHMgPSAiVGhlIENhaXJvIGxpYnJhcnkgcGVyZm9ybWFuY2UgdXRpbGl0aWVzIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliY2Fpcm8uc28uKiIKK0ZJTEVTXyR7UE59LWdvYmplY3QgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLWdvYmplY3Quc28uKiIKK0ZJTEVTXyR7UE59LXNjcmlwdC1pbnRlcnByZXRlciA9ICIke2xpYmRpcn0vbGliY2Fpcm8tc2NyaXB0LWludGVycHJldGVyLnNvLioiCitGSUxFU18ke1BOfS1wZXJmLXV0aWxzID0gIiR7YmluZGlyfS9jYWlyby10cmFjZSogJHtsaWJkaXJ9L2NhaXJvLyoubGEgJHtsaWJkaXJ9L2NhaXJvL2xpYmNhaXJvLXRyYWNlLnNvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImNhaXJvLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIueHoiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhMGRkYTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI2LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1yZXF1aXJlIGNsdXR0ZXItZ3N0LTMuMC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2x1dHRlci1nc3QvY2x1dHRlci1nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT05NWJhYWNiYTE5NGU4MTRjMTEwZWEzYmRmMjVkZGJmNCIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiNzgwOWNhNmNlOWQxYTM0OTA1OTdmZDRhNzM3NWMzODkiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJkODYxOGE2ZDlhY2NlYzBmMmE4NTc0YzVlMTIyMDA1MWY4NTA1ZmI4MmIyMDMzNmMyNmJkYmQ0ODJhYTZjYjNhIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjI3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MzgyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuMjcuYmIKQEAgLTAsMCArMSw3IEBACityZXF1aXJlIGNsdXR0ZXItZ3N0LTMuMC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY2x1dHRlci1nc3QvY2x1dHRlci1nc3QuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI0O21kNT05NWJhYWNiYTE5NGU4MTRjMTEwZWEzYmRmMjVkZGJmNCIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMmJmOWQ3Y2ExNDZjOWQ3MWU4NmM0NWNkMDBlOWEyOGUiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJmZTY5YmQ2YzY1OWQyNGFiMzBkYTNmMDkxZWI5MWNkMTk3MDAyNmQ0MzExNzliMDcyNGYxMzc5MWU4YWQ5ZjlkIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jCmluZGV4IDA1YzRlNWYuLjRlODJmNTYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC5pbmMKQEAgLTIsNyArMiw5IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNsdXR0ZXItcHJvamVjdC5vcmcvIgogTElDRU5TRSA9ICJMR1BMdjIrIgogCi1pbmhlcml0IGNsdXR0ZXIgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KK0NMVVRURVJCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKK2luaGVyaXQgY2x1dHRlciBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCisKICMgZGVwZW5kcyBvbiBjbHV0dGVyLTEuMCB3aGljaCBkZXBlbmRzIG9uIGNvZ2wtMS4wCiBSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPz0gIm9wZW5nbCIKICMgZGVwZW5kcyBvbiBndGsrMwpAQCAtMTAsNiArMTIsMjAgQEAKIAogREVQRU5EUyA9ICJjbHV0dGVyLTEuMCBndGsrMyIKIFBBQ0tBR0VTICA9KyAiJHtQTn0tZXhhbXBsZXMiCi1BVVRPVE9PTFNfQVVYRElSID0gIiR7U30vYnVpbGQiCisKK0dUS0RPQ19FTkFCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2dpPXRydWUiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZ2k9ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKIAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC8wMDAxLUFkZC1hLWNvbmZpZy12YXJpYWJsZS1mb3ItZW5hYmxpbmctZGlzYWJsaW5nLWludHJvc3AucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMC8wMDAxLUFkZC1hLWNvbmZpZy12YXJpYWJsZS1mb3ItZW5hYmxpbmctZGlzYWJsaW5nLWludHJvc3AucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTIxYzZmZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLzAwMDEtQWRkLWEtY29uZmlnLXZhcmlhYmxlLWZvci1lbmFibGluZy1kaXNhYmxpbmctaW50cm9zcC5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDcyMzM4ODNjNmJkNGU4MGMwZTkxYjI5YjVjNzZmZTc5ODAyM2U5ZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMTEgRmViIDIwMTkgMTY6NDE6MTMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGEgY29uZmlnIHZhcmlhYmxlIGZvciBlbmFibGluZy9kaXNhYmxpbmcgaW50cm9zcGVjdGlvbgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgY2x1dHRlci1ndGsvbWVzb24uYnVpbGQgfCAyICstCisgbWVzb25fb3B0aW9ucy50eHQgICAgICAgfCA0ICsrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY2x1dHRlci1ndGsvbWVzb24uYnVpbGQgYi9jbHV0dGVyLWd0ay9tZXNvbi5idWlsZAoraW5kZXggNWQ2ODQ3ZC4uNWQ5MzRiNiAxMDA2NDQKKy0tLSBhL2NsdXR0ZXItZ3RrL21lc29uLmJ1aWxkCisrKysgYi9jbHV0dGVyLWd0ay9tZXNvbi5idWlsZAorQEAgLTQ5LDcgKzQ5LDcgQEAgY2x1dHRlcl9ndGtfZGVwID0gZGVjbGFyZV9kZXBlbmRlbmN5KGxpbmtfd2l0aDogY2x1dHRlcl9ndGssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogWyBtYXRobGliX2RlcCwgY2x1dHRlcl9kZXAsIGd0a19kZXAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJlY3RvcmllczogaW5jbHVkZV9kaXJlY3RvcmllcygnLicpKQorIAorLWlmIG5vdCBtZXNvbi5pc19jcm9zc19idWlsZCgpCisraWYgZ2V0X29wdGlvbignZW5hYmxlX2dpJykKKyAgIGdub21lLmdlbmVyYXRlX2dpcihjbHV0dGVyX2d0aywKKyAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzOiBjbHV0dGVyX2d0a19oZWFkZXJzICsgY2x1dHRlcl9ndGtfc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6ICdHdGtDbHV0dGVyJywKK2RpZmYgLS1naXQgYS9tZXNvbl9vcHRpb25zLnR4dCBiL21lc29uX29wdGlvbnMudHh0CitpbmRleCBhYWY1OWYxLi5iN2U1MWMzIDEwMDY0NAorLS0tIGEvbWVzb25fb3B0aW9ucy50eHQKKysrKyBiL21lc29uX29wdGlvbnMudHh0CitAQCAtMiwzICsyLDcgQEAgb3B0aW9uKCdlbmFibGVfZG9jcycsCisgICAgICAgIHR5cGU6ICdib29sZWFuJywKKyAgICAgICAgdmFsdWU6IGZhbHNlLAorICAgICAgICBkZXNjcmlwdGlvbjogJ0VuYWJsZSBnZW5lcmF0aW5nIHRoZSBBUEkgcmVmZXJlbmNlIChkZXBlbmRzIG9uIEdUSy1Eb2MpJykKKytvcHRpb24oJ2VuYWJsZV9naScsCisrICAgICAgIHR5cGU6ICdib29sZWFuJywKKysgICAgICAgdmFsdWU6IGZhbHNlLAorKyAgICAgICBkZXNjcmlwdGlvbjogJ0VuYWJsZSBnb2JqZWN0IGludHJvc3BlY3Rpb24nKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS44LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgppbmRleCBmMDMwMGM3Li41Mzk0OGM4IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3RrLTEuMF8xLjguNC5iYgpAQCAtMiw1ICsyLDYgQEAKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCiAKK1NSQ19VUkkgKz0gIiBmaWxlOi8vMDAwMS1BZGQtYS1jb25maWctdmFyaWFibGUtZm9yLWVuYWJsaW5nLWRpc2FibGluZy1pbnRyb3NwLnBhdGNoIgogU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiYjM2M2FjOTg3OGUyMzM3YmU4ODdiOGVlOWUxZGEwMGUiCiBTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI1MjE0OTNlYzAzODk3M2M3N2VkY2I4YmM1ZWFjMjNlZWQ0MTY0NTExNzg5NGFhZWU3MzAwYjI0ODdjYjQyYjA2IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuOTQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45NC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDY1NDI5Mi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45NC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLVNVTU1BUlkgPSAiVXNlcnNwYWNlIGludGVyZmFjZSB0byB0aGUga2VybmVsIERSTSBzZXJ2aWNlcyIKLURFU0NSSVBUSU9OID0gIlRoZSBydW50aW1lIGxpYnJhcnkgZm9yIGFjY2Vzc2luZyB0aGUga2VybmVsIERSTSBzZXJ2aWNlcy4gIERSTSBcCi1zdGFuZHMgZm9yIFwiRGlyZWN0IFJlbmRlcmluZyBNYW5hZ2VyXCIsIHdoaWNoIGlzIHRoZSBrZXJuZWwgcG9ydGlvbiBvZiB0aGUgXAotXCJEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlXCIgKERSSSkuICBEUkkgaXMgcmVxdWlyZWQgZm9yIG1hbnkgaGFyZHdhcmUgXAotYWNjZWxlcmF0ZWQgT3BlbkdMIGRyaXZlcnMuIgotSE9NRVBBR0UgPSAiaHR0cDovL2RyaS5mcmVlZGVza3RvcC5vcmciCi1TRUNUSU9OID0gIngxMS9iYXNlIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly94Zjg2ZHJtLmM7YmVnaW5saW5lPTk7ZW5kbGluZT0zMjttZDU9YzhhM2I5NjFhZjc2NjdjNTMwODE2NzYxZTk0OWRjNzEiCi1QUk9WSURFUyA9ICJkcm0iCi1ERVBFTkRTID0gImxpYnB0aHJlYWQtc3R1YnMiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2RyaS5mcmVlZGVza3RvcC5vcmcvbGliZHJtLyR7QlB9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8vbXVzbC1pb2N0bC5wYXRjaCIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlOTgwMzIzMzgzODAwNzA0N2YzOWViMzg1YzcwZDllMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzNjNTliMGEzNzYwNTAyYzQyOGJhODFkZTQ5Y2Q0ODA3NjU3ZDI2YmU1ZTY5N2ViYTNhODdkZDAyMWQxNmJlIgotCi1pbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBtYW5wYWdlcwotCi1QQUNLQUdFQ09ORklHID8/PSAibGlia21zIGludGVsIHJhZGVvbiBhbWRncHUgbm91dmVhdSB2bXdnZnggb21hcCBmcmVlZHJlbm8gdmM0IGV0bmF2aXYgaW5zdGFsbC10ZXN0LXByb2dyYW1zIgotUEFDS0FHRUNPTkZJR1tsaWJrbXNdID0gIi1EbGlia21zPXRydWUsLURsaWJrbXM9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2ludGVsXSA9ICItRGludGVsPXRydWUsLURpbnRlbD1mYWxzZSxsaWJwY2lhY2Nlc3MiCi1QQUNLQUdFQ09ORklHW3JhZGVvbl0gPSAiLURyYWRlb249dHJ1ZSwtRHJhZGVvbj1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbYW1kZ3B1XSA9ICItRGFtZGdwdT10cnVlLC1EYW1kZ3B1PWZhbHNlIgotUEFDS0FHRUNPTkZJR1tub3V2ZWF1XSA9ICItRG5vdXZlYXU9dHJ1ZSwtRG5vdXZlYXU9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW3Ztd2dmeF0gPSAiLUR2bXdnZng9dHJ1ZSwtRHZtd2dmeD1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbb21hcF0gPSAiLURvbWFwPXRydWUsLURvbWFwPWZhbHNlIgotUEFDS0FHRUNPTkZJR1tleHlub3NdID0gIi1EZXh5bm9zPXRydWUsLURleHlub3M9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2ZyZWVkcmVub10gPSAiLURmcmVlZHJlbm89dHJ1ZSwtRGZyZWVkcmVubz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbdGVncmFdID0gIi1EdGVncmE9dHJ1ZSwtRHRlZ3JhPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t2YzRdID0gIi1EdmM0PXRydWUsLUR2YzQ9ZmFsc2UiCi1QQUNLQUdFQ09ORklHW2V0bmF2aXZdID0gIi1EZXRuYXZpdj10cnVlLC1EZXRuYXZpdj1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbZnJlZWRyZW5vLWtnc2xdID0gIi1EZnJlZWRyZW5vLWtnc2w9dHJ1ZSwtRGZyZWVkcmVuby1rZ3NsPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t2YWxncmluZF0gPSAiLUR2YWxncmluZD10cnVlLC1EdmFsZ3JpbmQ9ZmFsc2UsdmFsZ3JpbmQiCi1QQUNLQUdFQ09ORklHW2luc3RhbGwtdGVzdC1wcm9ncmFtc10gPSAiLURpbnN0YWxsLXRlc3QtcHJvZ3JhbXM9dHJ1ZSwtRGluc3RhbGwtdGVzdC1wcm9ncmFtcz1mYWxzZSIKLVBBQ0tBR0VDT05GSUdbY2Fpcm8tdGVzdHNdID0gIi1EY2Fpcm8tdGVzdHM9dHJ1ZSwtRGNhaXJvLXRlc3RzPWZhbHNlIgotUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICItRHVkZXY9dHJ1ZSwtRHVkZXY9ZmFsc2UsdWRldiIKLVBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi1EbWFuLXBhZ2VzPXRydWUsLURtYW4tcGFnZXM9ZmFsc2UsbGlieHNsdC1uYXRpdmUgeG1sdG8tbmF0aXZlIgotCi1BTExPV19FTVBUWV8ke1BOfS1kcml2ZXJzID0gIjEiCi1QQUNLQUdFUyA9KyAiJHtQTn0tdGVzdHMgJHtQTn0tZHJpdmVycyAke1BOfS1yYWRlb24gJHtQTn0tbm91dmVhdSAke1BOfS1vbWFwIFwKLSAgICAgICAgICAgICAke1BOfS1pbnRlbCAke1BOfS1leHlub3MgJHtQTn0ta21zICR7UE59LWZyZWVkcmVubyAke1BOfS1hbWRncHUgXAotICAgICAgICAgICAgICR7UE59LWV0bmF2aXYiCi0KLVJSRUNPTU1FTkRTXyR7UE59LWRyaXZlcnMgPSAiJHtQTn0tcmFkZW9uICR7UE59LW5vdXZlYXUgJHtQTn0tb21hcCAke1BOfS1pbnRlbCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWV4eW5vcyAke1BOfS1mcmVlZHJlbm8gJHtQTn0tYW1kZ3B1IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXRuYXZpdiIKLQotRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU18ke1BOfS1yYWRlb24gPSAiJHtsaWJkaXJ9L2xpYmRybV9yYWRlb24uc28uKiIKLUZJTEVTXyR7UE59LW5vdXZlYXUgPSAiJHtsaWJkaXJ9L2xpYmRybV9ub3V2ZWF1LnNvLioiCi1GSUxFU18ke1BOfS1vbWFwID0gIiR7bGliZGlyfS9saWJkcm1fb21hcC5zby4qIgotRklMRVNfJHtQTn0taW50ZWwgPSAiJHtsaWJkaXJ9L2xpYmRybV9pbnRlbC5zby4qIgotRklMRVNfJHtQTn0tZXh5bm9zID0gIiR7bGliZGlyfS9saWJkcm1fZXh5bm9zLnNvLioiCi1GSUxFU18ke1BOfS1rbXMgPSAiJHtsaWJkaXJ9L2xpYmttcyouc28uKiIKLUZJTEVTXyR7UE59LWZyZWVkcmVubyA9ICIke2xpYmRpcn0vbGliZHJtX2ZyZWVkcmVuby5zby4qIgotRklMRVNfJHtQTn0tYW1kZ3B1ID0gIiR7bGliZGlyfS9saWJkcm1fYW1kZ3B1LnNvLioiCi1GSUxFU18ke1BOfS1ldG5hdml2ID0gIiR7bGliZGlyfS9saWJkcm1fZXRuYXZpdi5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45Ny5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RybS9saWJkcm1fMi40Ljk3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZTlhMzMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC45Ny5iYgpAQCAtMCwwICsxLDYwIEBACitTVU1NQVJZID0gIlVzZXJzcGFjZSBpbnRlcmZhY2UgdG8gdGhlIGtlcm5lbCBEUk0gc2VydmljZXMiCitERVNDUklQVElPTiA9ICJUaGUgcnVudGltZSBsaWJyYXJ5IGZvciBhY2Nlc3NpbmcgdGhlIGtlcm5lbCBEUk0gc2VydmljZXMuICBEUk0gXAorc3RhbmRzIGZvciBcIkRpcmVjdCBSZW5kZXJpbmcgTWFuYWdlclwiLCB3aGljaCBpcyB0aGUga2VybmVsIHBvcnRpb24gb2YgdGhlIFwKK1wiRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZVwiIChEUkkpLiAgRFJJIGlzIHJlcXVpcmVkIGZvciBtYW55IGhhcmR3YXJlIFwKK2FjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJ4MTEvYmFzZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGY4NmRybS5jO2JlZ2lubGluZT05O2VuZGxpbmU9MzI7bWQ1PWM4YTNiOTYxYWY3NjY3YzUzMDgxNjc2MWU5NDlkYzcxIgorUFJPVklERVMgPSAiZHJtIgorREVQRU5EUyA9ICJsaWJwdGhyZWFkLXN0dWJzIgorCitTUkNfVVJJID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnL2xpYmRybS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL211c2wtaW9jdGwucGF0Y2giCitTUkNfVVJJW21kNXN1bV0gPSAiYWNlZjIyZDBjNjJjODk2OTIzNDhjMmRkNTU5MTM5M2UiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzdkMGNjZGEzZTEwZDY1OTMzOThlZGI3MGIxNTY2YmZlMWEyM2EzOWJkM2RhOThhY2UyMTQ3NjkyZWFkZDEyMyIKKworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgbWFucGFnZXMKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmttcyBpbnRlbCByYWRlb24gYW1kZ3B1IG5vdXZlYXUgdm13Z2Z4IG9tYXAgZnJlZWRyZW5vIHZjNCBldG5hdml2IGluc3RhbGwtdGVzdC1wcm9ncmFtcyIKK1BBQ0tBR0VDT05GSUdbbGlia21zXSA9ICItRGxpYmttcz10cnVlLC1EbGlia21zPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tpbnRlbF0gPSAiLURpbnRlbD10cnVlLC1EaW50ZWw9ZmFsc2UsbGlicGNpYWNjZXNzIgorUEFDS0FHRUNPTkZJR1tyYWRlb25dID0gIi1EcmFkZW9uPXRydWUsLURyYWRlb249ZmFsc2UiCitQQUNLQUdFQ09ORklHW2FtZGdwdV0gPSAiLURhbWRncHU9dHJ1ZSwtRGFtZGdwdT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbbm91dmVhdV0gPSAiLURub3V2ZWF1PXRydWUsLURub3V2ZWF1PWZhbHNlIgorUEFDS0FHRUNPTkZJR1t2bXdnZnhdID0gIi1Edm13Z2Z4PXRydWUsLUR2bXdnZng9ZmFsc2UiCitQQUNLQUdFQ09ORklHW29tYXBdID0gIi1Eb21hcD10cnVlLC1Eb21hcD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbZXh5bm9zXSA9ICItRGV4eW5vcz10cnVlLC1EZXh5bm9zPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tmcmVlZHJlbm9dID0gIi1EZnJlZWRyZW5vPXRydWUsLURmcmVlZHJlbm89ZmFsc2UiCitQQUNLQUdFQ09ORklHW3RlZ3JhXSA9ICItRHRlZ3JhPXRydWUsLUR0ZWdyYT1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmM0XSA9ICItRHZjND10cnVlLC1EdmM0PWZhbHNlIgorUEFDS0FHRUNPTkZJR1tldG5hdml2XSA9ICItRGV0bmF2aXY9dHJ1ZSwtRGV0bmF2aXY9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2ZyZWVkcmVuby1rZ3NsXSA9ICItRGZyZWVkcmVuby1rZ3NsPXRydWUsLURmcmVlZHJlbm8ta2dzbD1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi1EdmFsZ3JpbmQ9dHJ1ZSwtRHZhbGdyaW5kPWZhbHNlLHZhbGdyaW5kIgorUEFDS0FHRUNPTkZJR1tpbnN0YWxsLXRlc3QtcHJvZ3JhbXNdID0gIi1EaW5zdGFsbC10ZXN0LXByb2dyYW1zPXRydWUsLURpbnN0YWxsLXRlc3QtcHJvZ3JhbXM9ZmFsc2UiCitQQUNLQUdFQ09ORklHW2NhaXJvLXRlc3RzXSA9ICItRGNhaXJvLXRlc3RzPXRydWUsLURjYWlyby10ZXN0cz1mYWxzZSIKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLUR1ZGV2PXRydWUsLUR1ZGV2PWZhbHNlLHVkZXYiCitQQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItRG1hbi1wYWdlcz10cnVlLC1EbWFuLXBhZ2VzPWZhbHNlLGxpYnhzbHQtbmF0aXZlIHhtbHRvLW5hdGl2ZSIKKworQUxMT1dfRU1QVFlfJHtQTn0tZHJpdmVycyA9ICIxIgorUEFDS0FHRVMgPSsgIiR7UE59LXRlc3RzICR7UE59LWRyaXZlcnMgJHtQTn0tcmFkZW9uICR7UE59LW5vdXZlYXUgJHtQTn0tb21hcCBcCisgICAgICAgICAgICAgJHtQTn0taW50ZWwgJHtQTn0tZXh5bm9zICR7UE59LWttcyAke1BOfS1mcmVlZHJlbm8gJHtQTn0tYW1kZ3B1IFwKKyAgICAgICAgICAgICAke1BOfS1ldG5hdml2IgorCitSUkVDT01NRU5EU18ke1BOfS1kcml2ZXJzID0gIiR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgJHtQTn0taW50ZWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1leHlub3MgJHtQTn0tZnJlZWRyZW5vICR7UE59LWFtZGdwdSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7UE59LWV0bmF2aXYiCisKK0ZJTEVTXyR7UE59LXRlc3RzID0gIiR7YmluZGlyfS8qIgorRklMRVNfJHtQTn0tcmFkZW9uID0gIiR7bGliZGlyfS9saWJkcm1fcmFkZW9uLnNvLioiCitGSUxFU18ke1BOfS1ub3V2ZWF1ID0gIiR7bGliZGlyfS9saWJkcm1fbm91dmVhdS5zby4qIgorRklMRVNfJHtQTn0tb21hcCA9ICIke2xpYmRpcn0vbGliZHJtX29tYXAuc28uKiIKK0ZJTEVTXyR7UE59LWludGVsID0gIiR7bGliZGlyfS9saWJkcm1faW50ZWwuc28uKiIKK0ZJTEVTXyR7UE59LWV4eW5vcyA9ICIke2xpYmRpcn0vbGliZHJtX2V4eW5vcy5zby4qIgorRklMRVNfJHtQTn0ta21zID0gIiR7bGliZGlyfS9saWJrbXMqLnNvLioiCitGSUxFU18ke1BOfS1mcmVlZHJlbm8gPSAiJHtsaWJkaXJ9L2xpYmRybV9mcmVlZHJlbm8uc28uKiIKK0ZJTEVTXyR7UE59LWFtZGdwdSA9ICIke2xpYmRpcn0vbGliZHJtX2FtZGdwdS5zby4qIgorRklMRVNfJHtQTn0tZXRuYXZpdiA9ICIke2xpYmRpcn0vbGliZHJtX2V0bmF2aXYuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXdheWxhbmRfMS4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8td2F5bGFuZF8xLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2ExMzFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXdheWxhbmRfMS4wLjAuYmIKQEAgLTAsMCArMSwxMyBAQAorRUdMSU5GT19QTEFURk9STSA/PSAid2F5bGFuZCIKK0VHTElORk9fQklOQVJZX05BTUUgPz0gImVnbGluZm8td2F5bGFuZCIKKworcmVxdWlyZSBlZ2xpbmZvLmluYworCitERVBFTkRTICs9ICJ3YXlsYW5kIgorCitpbmhlcml0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIGRlcGVuZHMgb24gd2F5bGFuZAorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTICs9ICJ3YXlsYW5kIgorCitTVU1NQVJZICs9ICIoV2F5bGFuZCB2ZXJzaW9uKSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jCmluZGV4IDA3YWQwNzIuLjZkY2IwYzUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLmluYwpAQCAtMTEsNyArMTEsNyBAQAogICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtU1RBR0lOR19JTkNESVItdG8tc2VhcmNocGF0aC1mb3ItZWdsLWhlYWRlcnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItbGliZWdsLXVzaW5nLXBrZy1jb25maWcucGF0Y2ggXAogICAgICAgICAgICAiCi1TUkNSRVYgPSAiNGIzMTc2NDhlYzZjZjM5NTU2YTllNWQ4MDc4ZjYwNWJjMGVkZDVkZSIKK1NSQ1JFViA9ICIyMjM4MTdlZTM3OTg4MDQyZGI3ODczY2ZiNWIyZTg5OWRmZTM1YzEwIgogCiBDVkVfUFJPRFVDVCA9ICJlZ2xpbmZvIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUFkZC1TVEFHSU5HX0lOQ0RJUi10by1zZWFyY2hwYXRoLWZvci1lZ2wtaGVhZGVycy5wYXRjaAppbmRleCBjYTlmNTVjLi42MTMyN2ViIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQWRkLVNUQUdJTkdfSU5DRElSLXRvLXNlYXJjaHBhdGgtZm9yLWVnbC1oZWFkZXJzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1BZGQtU1RBR0lOR19JTkNESVItdG8tc2VhcmNocGF0aC1mb3ItZWdsLWhlYWRlcnMucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDk0YjFlNmRhZjdkNzA1NTBiMGUzMmZiYjI2OWZjZjY4ODc5NDhkM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDk5YTU3ODRkMzNhZDVlMGU2ZmEwMDMzOGQyNzMyY2JjY2FkNzY2MWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxMyBKYW4gMjAxNiAxNjowODoyMiAtMDgwMAogU3ViamVjdDogW1BBVENIXSBBZGQgU1RBR0lOR19JTkNESVIgdG8gc2VhcmNocGF0aCBmb3IgZWdsIGhlYWRlcnMKQEAgLTE0LDEwICsxNCwxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL3dzY3JpcHQgYi93c2NyaXB0Ci1pbmRleCBmY2JiNTViLi5jZWNlOGJmIDEwMDY0NAoraW5kZXggMTk1ZTI0Ny4uMGY2ZWM1MyAxMDA2NDQKIC0tLSBhL3dzY3JpcHQKICsrKyBiL3dzY3JpcHQKLUBAIC0xNjMsOSArMTYzLDEwIEBAIGRlZiBjb25maWd1cmVfcmFzcGJlcnJ5cGlfZGV2aWNlKGNvbmYsIHBsYXRmb3JtKToKK0BAIC0xNzcsOSArMTc3LDEwIEBAIGRlZiBjb25maWd1cmVfcmFzcGJlcnJ5cGlfZGV2aWNlKGNvbmYsIHBsYXRmb3JtKToKICAJY29uZi5jaGVja19jeHgobWFuZGF0b3J5ID0gMSwgbGliID0gWydHTEVTdjInLCAnRUdMJywgJ2JjbV9ob3N0J10sIHVzZWxpYl9zdG9yZSA9ICdFR0wnKQogIAlpbXBvcnQgb3MKICAJc3lzcm9vdCA9IGNvbmYub3B0aW9ucy5zeXNyb290ICsgY29uZi5vcHRpb25zLnByZWZpeApAQCAtMzAsNSArMzAsNCBAQAogIAljb25mLmVudlsnV0lUSF9BUElTJ10gPSBbXQogIAlpZiBjaGVja19nbGVzMihjb25mKToKIC0tIAotMi43LjAKLQorMi4xOS4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9maWxlcy8wMDAxLUNoZWNrLWZvci1saWJlZ2wtdXNpbmctcGtnLWNvbmZpZy5wYXRjaAppbmRleCAwMjg5YWMyLi41NzJjODAxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2ZpbGVzLzAwMDEtQ2hlY2stZm9yLWxpYmVnbC11c2luZy1wa2ctY29uZmlnLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZmlsZXMvMDAwMS1DaGVjay1mb3ItbGliZWdsLXVzaW5nLXBrZy1jb25maWcucGF0Y2gKQEAgLTEsMjIgKzEsMjUgQEAKLUZyb20gNThkNTFkOTQxZDNmNGRmYTM4YmUxODI4MmQzZTI4NWQ3NmQ5MDIwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMTdmNWQyZjU3NDIzNmY4YzM0NTlmOWVmYWRlZjJmMGY2MjIwYTRkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CiBEYXRlOiBNb24sIDEzIEF1ZyAyMDE4IDE1OjQ2OjUzIC0wNzAwCiBTdWJqZWN0OiBbUEFUQ0hdIENoZWNrIGZvciBsaWJlZ2wgdXNpbmcgcGtnLWNvbmZpZwogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitbUm9tYW46IHBhdGNoIGhhcyBiZWVuIHJlYmFzZWQgdG8gMjIzODE3ZWUzNzk4ICgiQWRkIFdheWxhbmQgc3VwcG9ydCIpCisgdHJpdmlhbCBtZXJnZSBjb25mbGljdHMgcmVzb2x2ZWRdCitTaWduZWQtb2ZmLWJ5OiBSb21hbiBTdHJhdGlpZW5rbyA8cm9tYW4uc3RyYXRpaWVua29AZ2xvYmFsbG9naWMuY29tPgogLS0tCi0gd3NjcmlwdCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorIHdzY3JpcHQgfCA3ICstLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDYgZGVsZXRpb25zKC0pCiAKLUluZGV4OiBnaXQvd3NjcmlwdAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3dzY3JpcHQKLSsrKyBnaXQvd3NjcmlwdAotQEAgLTE2MCwxNCArMTYwLDkgQEAgZGVmIGNvbmZpZ3VyZV9yYXNwYmVycnlwaV9kZXZpY2UoY29uZiwgcAotIAkJY29uZi5lbnZbJ1BMQVRGT1JNX1VTRUxJQlMnXSArPSBbIlgxMSJdCi0gCWVsaWYgcGxhdGZvcm0gPT0gImZiIjoKLSAJCWNvbmYuZW52WydQTEFURk9STV9TT1VSQ0UnXSA9IFsnc3JjL3BsYXRmb3JtX2ZiX3Jhc3BiZXJyeXBpLmNwcCddCitkaWZmIC0tZ2l0IGEvd3NjcmlwdCBiL3dzY3JpcHQKK2luZGV4IDBmNmVjNTMuLjQwMWY2MmUgMTAwNjQ0CistLS0gYS93c2NyaXB0CisrKysgYi93c2NyaXB0CitAQCAtMTc0LDE0ICsxNzQsOSBAQCBkZWYgY29uZmlndXJlX3Jhc3BiZXJyeXBpX2RldmljZShjb25mLCBwbGF0Zm9ybSk6CisgCWVsc2U6CisgCQljb25mLmZhdGFsKCdVbnN1cHBvcnRlZCBSYXNwYmVycnkgUGkgcGxhdGZvcm0gIiVzIicgJSBwbGF0Zm9ybSkKKyAJCXJldHVybgogLQljb25mLmNoZWNrX2N4eChtYW5kYXRvcnkgPSAxLCBsaWIgPSBbJ0dMRVN2MicsICdFR0wnLCAnYmNtX2hvc3QnXSwgdXNlbGliX3N0b3JlID0gJ0VHTCcpCiArCWNvbmYuY2hlY2tfY2ZnKHBhY2thZ2U9J2VnbCcsIGFyZ3M9Jy0tbGlicyAtLWNmbGFncycpCiAgCWltcG9ydCBvcwpAQCAtMjksMyArMzIsNSBAQAogIAljb25mLmVudlsnV0lUSF9BUElTJ10gPSBbXQogIAlpZiBjaGVja19nbGVzMihjb25mKToKICAJCWNvbmYuZW52WydXSVRIX0FQSVMnXSArPSBbJ0dMRVMxJywgJ0dMRVMyJ10KKy0tIAorMi4xOS4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZy8wMDAxLXNyYy1mY2NhY2hlLmMtRml4LWRlZmluZS1mb3ItSEFWRV9QT1NJWF9GQURWSVNFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5YmNlMjEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGFiOTUyMjE3N2E4Mzk2YTUxODEyZmRiZWJiNjM4N2RmNDUxYTg0OTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KK0RhdGU6IE1vbiwgMjQgRGVjIDIwMTggMTE6MDM6NTggKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjL2ZjY2FjaGUuYzogRml4IGRlZmluZSBmb3IgSEFWRV9QT1NJWF9GQURWSVNFCisKK090aGVyd2lzZSwgdGhlcmUgd291bGQgYmUgYnVpbGQgZXJyb3JzIGluIHRoZSBmb2xsb3dpbmcgMiBjYXNlczoKKyogZGVmaW5lIEhBVkVfUE9TSVhfRkFEVklTRQorT3I6CisqIHVuZGVmIEhBVkVfUE9TSVhfRkFEVklTRQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dpdGxhYi5mcmVlZGVza3RvcC5vcmcvZm9udGNvbmZpZy9mb250Y29uZmlnL2NvbW1pdC81ODZlMzU0NTBlOWNhN2MxZGM2NDdjZWI5ZDc1YWM4ZWQwOGM1YzE2XQorCitTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGZjY2FjaGUuYyB8ICAgIDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9mY2NhY2hlLmMgYi9zcmMvZmNjYWNoZS5jCitpbmRleCA2ZjNjNjhhLi44NWNjNGI0IDEwMDY0NAorLS0tIGEvc3JjL2ZjY2FjaGUuYworKysrIGIvc3JjL2ZjY2FjaGUuYworQEAgLTcwMCw3ICs3MDAsNyBAQCBGY0RpckNhY2hlTWFwRmQgKEZjQ29uZmlnICpjb25maWcsIGludCBmZCwgc3RydWN0IHN0YXQgKmZkX3N0YXQsIHN0cnVjdCBzdGF0ICpkaQorICAgICB7CisgI2lmIGRlZmluZWQoSEFWRV9NTUFQKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pCisgCWNhY2hlID0gbW1hcCAoMCwgZmRfc3RhdC0+c3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCk7CistI2lmIChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmIGRlZmluZWQoUE9TSVhfRkFEVl9XSUxMTkVFRCkKKysjaWYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpICYmIGRlZmluZWQoUE9TSVhfRkFEVl9XSUxMTkVFRCkKKyAJcG9zaXhfZmFkdmlzZSAoZmQsIDAsIGZkX3N0YXQtPnN0X3NpemUsIFBPU0lYX0ZBRFZfV0lMTE5FRUQpOworICNlbmRpZgorIAlpZiAoY2FjaGUgPT0gTUFQX0ZBSUxFRCkKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTIuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjEyLjYuYmIKaW5kZXggY2VjNTI0Ny4uOGZhNzM5ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTIuNi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWdfMi4xMi42LmJiCkBAIC0yMyw2ICsyMyw3IEBACiBTUkNfVVJJID0gImh0dHA6Ly9mb250Y29uZmlnLm9yZy9yZWxlYXNlL2ZvbnRjb25maWctJHtQVn0udGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL3JldmVydC1zdGF0aWMtcGtnY29uZmlnLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtc3JjLWZjeG1sLmMtYXZvaWQtZG91YmxlLWZyZWUtb2YtZmlsZW5hbWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtZmNjYWNoZS5jLUZpeC1kZWZpbmUtZm9yLUhBVkVfUE9TSVhfRkFEVklTRS5wYXRjaCBcCiAgICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjAwZTc0OGM2N2ZhZDExZTcwNTdhNzFlZDM4NWU4YmRiIgpAQCAtNDEsNiArNDIsMTIgQEAKICAgICBsbiAke0R9JHtiaW5kaXJ9L2ZjLWNhY2hlICR7RH0ke2xpYmV4ZWNkaXJ9LyR7TUxQUkVGSVh9ZmMtY2FjaGUKIH0KIAorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgICMgZHVwbGljYXRlIGZjLWNhY2hlIGZvciBwb3N0aW5zdGFsbCBzY3JpcHQKKyAgICBta2RpciAtcCAke0R9JHtsaWJleGVjZGlyfQorICAgIGxuICR7RH0ke2JpbmRpcn0vZmMtY2FjaGUgJHtEfSR7bGliZXhlY2Rpcn0vJHtNTFBSRUZJWH1mYy1jYWNoZQorfQorCiBQQUNLQUdFUyA9KyAiZm9udGNvbmZpZy11dGlscyIKIEZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L3htbC8qIgogRklMRVNfZm9udGNvbmZpZy11dGlscyA9ICIke2JpbmRpcn0vKiAke2xpYmV4ZWNkaXJ9LyoiCkBAIC02MSw0ICs2OCw0IEBACiAKIEVYVFJBX09FQ09ORiA9ICIgLS1kaXNhYmxlLWRvY3MgLS13aXRoLWRlZmF1bHQtZm9udHM9JHtkYXRhZGlyfS9mb250cyAtLXdpdGgtY2FjaGUtZGlyPSR7Rk9OVENPTkZJR19DQUNIRV9ESVJ9IC0td2l0aC1hZGQtZm9udHM9JHtGT05UQ09ORklHX0ZPTlRfRElSU30iCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3LzAwMDEtRml4ZWQtY29tcGlsYXRpb24td2l0aC1jdXJyZW50LW1lc2EtdmVyc2lvbnMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvMDAwMS1GaXhlZC1jb21waWxhdGlvbi13aXRoLWN1cnJlbnQtbWVzYS12ZXJzaW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGYzZTJmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3LzAwMDEtRml4ZWQtY29tcGlsYXRpb24td2l0aC1jdXJyZW50LW1lc2EtdmVyc2lvbnMucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorRnJvbSA3ZjY1YTM2ODY2ZjRlMjRkZDE0NDZmZTFjOWQyMTQyNGYyOGJjYWJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGV2ZSA8ZGV2ZWVlQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMTQgTm92IDIwMTggMjE6MDc6MjkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4ZWQgY29tcGlsYXRpb24gd2l0aCBjdXJyZW50IG1lc2EgdmVyc2lvbnMuCisKK0FzIHlvdSBjYW4gc2VlIGluCitodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL21lc2EvbWVzYS90cmVlL2luY2x1ZGUvR0wvZ2xleHQuaAorbm93IHRoZSBmaWxlIHVzZXMgX19nbF9nbGV4dF9oXyBpbnN0ZWFkIG9mIF9fZ2xleHRfaF8KK0l0J3MgcHJlY2lzZWx5IGNhdXNlZCBieSBjb21taXQgZjdkNDJlZTdkMzE5MjU2NjA4YWQ2MDc3OGY2Nzg3YzE0MGJhZGFkYQorCitCYWNrb3BydCBub3RlczogCisKKyogVGhlIG9yaWdpbmFsIHBhdGNoIGFkanVzdHMgYXV0by9zcmMvZ2xld19oZWFkLmggb25seQorKiBpbmNsdWRlL0dML2dsZXcuaCBpcyBub3QgcGFydCBvZiBnaXQgcmVwbyBhbmQgZ2V0cyBjcmVhdGVkIG9uIHRhcmJhbGwKKyAgY3JlYXRpb24KKworPT4gcGF0Y2ggaW5jbHVkZS9HTC9nbGV3LmggZWl0aGVyIHRvIGNhdXNlIHRoZSBkZXNpcmVkIGZpeAorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsxXQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL25pZ2Vscy1jb20vZ2xldy9jb21taXQvN2Y2NWEzNjg2NmY0ZTI0ZGQxNDQ2ZmUxYzlkMjE0MjRmMjhiY2FiZAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ21haWwuY29tPgorLS0tCisgYXV0by9zcmMvZ2xld19oZWFkLmggfCAzICsrLQorIGluY2x1ZGUvR0wvZ2xldy5oICAgIHwgMyArKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2F1dG8vc3JjL2dsZXdfaGVhZC5oIGIvYXV0by9zcmMvZ2xld19oZWFkLmgKK2luZGV4IGMxOWNlZmIuLjhmMzEzZDkgMTAwNjQ0CistLS0gYS9hdXRvL3NyYy9nbGV3X2hlYWQuaAorKysrIGIvYXV0by9zcmMvZ2xld19oZWFkLmgKK0BAIC0xNCw3ICsxNCw3IEBACisgI2lmIGRlZmluZWQoX19SRUdBTF9IX18pCisgI2Vycm9yIFJlZ2FsLmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fZ2xleHRfaF8pIHx8IGRlZmluZWQoX19HTEVYVF9IXykKKysjaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pIHx8IGRlZmluZWQoX19nbF9nbGV4dF9oXykKKyAjZXJyb3IgZ2xleHQuaCBpbmNsdWRlZCBiZWZvcmUgZ2xldy5oCisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19nbF9BVElfaF8pCitAQCAtMzAsNiArMzAsNyBAQAorICNkZWZpbmUgX19YX0dMX0gKKyAjZGVmaW5lIF9fZ2xleHRfaF8KKyAjZGVmaW5lIF9fR0xFWFRfSF8KKysjZGVmaW5lIF9fZ2xfZ2xleHRfaF8KKyAjZGVmaW5lIF9fZ2xfQVRJX2hfCisgCisgI2lmIGRlZmluZWQoX1dJTjMyKQorZGlmZiAtLWdpdCBhL2luY2x1ZGUvR0wvZ2xldy5oIGIvaW5jbHVkZS9HTC9nbGV3LmgKK2luZGV4IGI1YjY5ODcuLmE5ZjllNGIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL0dML2dsZXcuaAorKysrIGIvaW5jbHVkZS9HTC9nbGV3LmgKK0BAIC05Myw3ICs5Myw3IEBACisgI2lmIGRlZmluZWQoX19SRUdBTF9IX18pCisgI2Vycm9yIFJlZ2FsLmggaW5jbHVkZWQgYmVmb3JlIGdsZXcuaAorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9fZ2xleHRfaF8pIHx8IGRlZmluZWQoX19HTEVYVF9IXykKKysjaWYgZGVmaW5lZChfX2dsZXh0X2hfKSB8fCBkZWZpbmVkKF9fR0xFWFRfSF8pIHx8IGRlZmluZWQoX19nbF9nbGV4dF9oXykKKyAjZXJyb3IgZ2xleHQuaCBpbmNsdWRlZCBiZWZvcmUgZ2xldy5oCisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19nbF9BVElfaF8pCitAQCAtMTA5LDYgKzEwOSw3IEBACisgI2RlZmluZSBfX1hfR0xfSAorICNkZWZpbmUgX19nbGV4dF9oXworICNkZWZpbmUgX19HTEVYVF9IXworKyNkZWZpbmUgX19nbF9nbGV4dF9oXworICNkZWZpbmUgX19nbF9BVElfaF8KKyAKKyAjaWYgZGVmaW5lZChfV0lOMzIpCistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMi4xLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMi4xLjAuYmIKaW5kZXggYmU3MjVlMC4uMThlNjkwOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3XzIuMS4wLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xld18yLjEuMC5iYgpAQCAtNiw3ICs2LDggQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0UudHh0O21kNT0yYWMyNTE1NThkZTY4NWM2Yjk0NzhkODliZTMxNDljMiIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9nbGV3L2dsZXcvJHtQVn0vZ2xldy0ke1BWfS50Z3ogXAotICAgICAgICAgICBmaWxlOi8vbm8tc3RyaXAucGF0Y2giCisgICAgICAgICAgIGZpbGU6Ly9uby1zdHJpcC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeGVkLWNvbXBpbGF0aW9uLXdpdGgtY3VycmVudC1tZXNhLXZlcnNpb25zLnBhdGNoIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiYjJhYjEyMzMxMDMzZGRmYWE1MGRjMzkzNDUzNDM5ODAiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDRkZTkxZTdlNjc2MzAzOWJjMTE5NDAwOTVjZDljN2Y4ODBiYWJhODIxOTZhNzc2NWY3MjdhYzA1YTk5M2M5NSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzEuOC44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMS44LjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5MDRkOTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaGFyZmJ1enovaGFyZmJ1enpfMS44LjguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIlRleHQgc2hhcGluZyBsaWJyYXJ5IgotREVTQ1JJUFRJT04gPSAiSGFyZkJ1enogaXMgYW4gT3BlblR5cGUgdGV4dCBzaGFwaW5nIGVuZ2luZS4iCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL0hhcmZCdXp6IgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1IYXJmQnV6eiIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTAyMWRkNmRkYTZmZjFlNmIxMDQ0MDAyZmM2NjJiOWIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2hiLXVjZG4vQ09QWUlORzttZDU9OTk0YmEwZjEyOTVmMTViNGJkYTQ5OTlhNWJiZWRkZWYgXAotIgotCi1ERVBFTkRTID0gImdsaWItMi4wIGNhaXJvIGZvbnRjb25maWcgZnJlZXR5cGUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvaGFyZmJ1enovcmVsZWFzZS8ke0JQfS50YXIuYnoyIgotU1JDX1VSSVttZDVzdW1dID0gIjgxZGJjZTgyZDY0NzFlYzJiMmE2MjdjZTAyZDAzZTVkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImE4ZTVjODZlNGQ5OWUxY2M5ODY1ZWMxYjhlOWIwNWI5OGU0MTNjMmE4ODVjZDExZjhlOWJiOTUwMmRkM2UzYTkiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZSBndGstZG9jCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJpY3UiCi1QQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdSwtLXdpdGhvdXQtaWN1LGljdSIKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS13aXRoLWNhaXJvIFwKLSAgICAtLXdpdGgtZm9udGNvbmZpZyBcCi0gICAgLS13aXRoLWZyZWV0eXBlIFwKLSAgICAtLXdpdGgtZ2xpYiBcCi0gICAgLS13aXRob3V0LWdyYXBoaXRlMiBcCi0iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotICAgICMgVGhpcyBpcyBhbmNpZW50IGFuZCBjYW4gZ2V0IHVzZWQgaW5zdGVhZCBvZiB0aGUgcGF0Y2hlZCBvbmUgd2Ugc2hpcCwKLSAgICAjIHNvIGRlbGV0ZSBpdC4gSW4gMS44LjkgdGhpcyBzaG91bGQgYmUgcmVtb3ZlZCB1cHN0cmVhbS4KLSAgICBybSAtZiAke1N9L200L3BrZy5tNAotfQotCi1QQUNLQUdFUyA9KyAiJHtQTn0taWN1ICR7UE59LWljdS1kZXYiCi0KLUxFQURfU09OQU1FID0gImxpYmhhcmZidXp6LnNvIgotCi1GSUxFU18ke1BOfS1pY3UgPSAiJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zby4qIgotRklMRVNfJHtQTn0taWN1LWRldiA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LmxhIFwKLSAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5zbyBcCi0gICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9wa2djb25maWcvaGFyZmJ1enotaWN1LnBjIFwKLSIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8yLjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzIuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMjkyZDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8yLjMuMS5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIlRleHQgc2hhcGluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiSGFyZkJ1enogaXMgYW4gT3BlblR5cGUgdGV4dCBzaGFwaW5nIGVuZ2luZS4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL0hhcmZCdXp6IgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1IYXJmQnV6eiIKK1NFQ1RJT04gPSAibGlicyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTAyMWRkNmRkYTZmZjFlNmIxMDQ0MDAyZmM2NjJiOWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2hiLXVjZG4vQ09QWUlORzttZDU9OTk0YmEwZjEyOTVmMTViNGJkYTQ5OTlhNWJiZWRkZWYgXAorIgorCitERVBFTkRTID0gImdsaWItMi4wIGNhaXJvIGZvbnRjb25maWcgZnJlZXR5cGUiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvaGFyZmJ1enovcmVsZWFzZS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjUzMWRlOWRmN2M4YTU0MDVkZDljNmE4NzNmY2VlOGMyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYyMDU2OTlkNWI5MTM3NDAwOGQ2ZjhlMzZjNTllNDE5YWUyZDlhN2JiOGM1ZDlmMzQwNDFiOWE1YWJjYWU0NjgiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBsaWJfcGFja2FnZSBndGstZG9jCisKK1BBQ0tBR0VDT05GSUcgPz89ICJpY3UiCitQQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdSwtLXdpdGhvdXQtaWN1LGljdSIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS13aXRoLWNhaXJvIFwKKyAgICAtLXdpdGgtZm9udGNvbmZpZyBcCisgICAgLS13aXRoLWZyZWV0eXBlIFwKKyAgICAtLXdpdGgtZ2xpYiBcCisgICAgLS13aXRob3V0LWdyYXBoaXRlMiBcCisiCisKK1BBQ0tBR0VTID0rICIke1BOfS1pY3UgJHtQTn0taWN1LWRldiIKKworTEVBRF9TT05BTUUgPSAibGliaGFyZmJ1enouc28iCisKK0ZJTEVTXyR7UE59LWljdSA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LnNvLioiCitGSUxFU18ke1BOfS1pY3UtZGV2ID0gIiR7bGliZGlyfS9saWJoYXJmYnV6ei1pY3UubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LnNvIFwKKyAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9oYXJmYnV6ei1pY3UucGMgXAorIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCmluZGV4IDQ0YzJjNzYuLjgyZmZmZTEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSAwYTI0ZjAzYTY3NDI1YTdiNThiM2ZkNDBkOTY1YzBjOTgwMWFlN2ExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1Y2Y4NDdiNWJlZjhkYzNmOWY4OWJkMDlkZDVhZjRlNjYwM2YzOTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KIERhdGU6IE1vbiwgMjcgQXVnIDIwMTggMTY6MTA6NTUgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSF0gbGlianBlZy10dXJibzogZml4IHBhY2thZ2VfcWEgZXJyb3IKQEAgLTEwLDIzICsxMCwyMyBAQAogVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlW29lLXNwZWNpZmljXQogCiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KIC0tLQotIENNYWtlTGlzdHMudHh0IHwgMiAtLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorIENNYWtlTGlzdHMudHh0IHwgNCAtLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCAxNzE5NTIyLi42ODJjZWYxIDEwMDY0NAoraW5kZXggMmJjMzQ1OC4uZWEzMDQxZSAxMDA2NDQKIC0tLSBhL0NNYWtlTGlzdHMudHh0CiArKysgYi9DTWFrZUxpc3RzLnR4dAotQEAgLTEwOSw4ICsxMDksNiBAQCBlbmRpZigpCitAQCAtMTg5LDEwICsxODksNiBAQCBlbmRpZigpCisgcmVwb3J0X29wdGlvbihFTkFCTEVfU0hBUkVEICJTaGFyZWQgbGlicmFyaWVzIikKKyByZXBvcnRfb3B0aW9uKEVOQUJMRV9TVEFUSUMgIlN0YXRpYyBsaWJyYXJpZXMiKQogIAotIGluY2x1ZGUoY21ha2VzY3JpcHRzL0dOVUluc3RhbGxEaXJzLmNtYWtlKQotIAotLXNldChDTUFLRV9JTlNUQUxMX1JQQVRIICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0pCistaWYoRU5BQkxFX1NIQVJFRCkKKy0gIHNldChDTUFLRV9JTlNUQUxMX1JQQVRIICR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0pCistZW5kaWYoKQogLQotIG1hY3JvKHJlcG9ydF9kaXJlY3RvcnkgdmFyKQotICAgaWYoQ01BS0VfSU5TVEFMTF8ke3Zhcn0gU1RSRVFVQUwgQ01BS0VfSU5TVEFMTF9GVUxMXyR7dmFyfSkKLSAgICAgbWVzc2FnZShTVEFUVVMgIkNNQUtFX0lOU1RBTExfJHt2YXJ9ID0gJHtDTUFLRV9JTlNUQUxMXyR7dmFyfX0iKQotLS0gCi0yLjcuNAotCisgaWYoV0lUSF8xMkJJVCkKKyAgIHNldChXSVRIX0FSSVRIX0RFQyAwKQorICAgc2V0KFdJVEhfQVJJVEhfRU5DIDApCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2ZpbGVzLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC13cm9uZ2x5LWRlZmluZWQtZGVmaW5lLUhBVkVfU1RETElCLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNjc2N2ViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvZmlsZXMvMDAwMS1saWJqcGVnLXR1cmJvLWZpeC13cm9uZ2x5LWRlZmluZWQtZGVmaW5lLUhBVkVfU1RETElCLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE5ICswLDAgQEAKLUZyb20gZDMwMTAxOWQwZjIzZDEyYjk2NjZkM2Q4OGIwODU5MDY3YTRhZGU3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDMwIEF1ZyAyMDE4IDE1OjA4OjIzICswODAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYmpwZWctdHVyYm86IGZpeCB3cm9uZ2x5IGRlZmluZWQgZGVmaW5lIEhBVkVfU1RETElCX0gKLQotd2hlbiBjaGFuZ2UgYnVpbGQgc3lzdGVtIGZyb20gYXV0b3Rvb2xzIHRvIGNtYWtlLCBiZWxvdwotcGFydCBpcyByZXBsYWNlIHdyb25nbHk6Ci0KLSIjdW5kZWYgSEFWRV9TVERMSUJfSCIKLXNob3VsZCBiZSBjaGFuZ2UgdG8gIiNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIDEiCi1ub3QgIiNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIgotCi1vdGhlcndpc2UsIGV2ZW4gaWYgc3RkbGliLmggaXMgZm91bmQsIG91dHB1dCBmaWxlCi1vZiBjb25maWd1cmVfZmlsZSgpIHdpbGwgZGVmaW5lIGxpa2U6ICNkZWZpbmUgSEFWRV9TVERMSUJfSAotYnV0IHdlIG5lZWQgaXQgYXMgI2RlZmluZSBIQVZFX1NURExJQl9IIDEsIHNpbmNlIGZvcgotZGlmZmVyZW50IGRlZmluYXRpb24gb2YgSEFWRV9TVERMSUJfSCB3aWxsIGNhdXNlIGJlbG93IGVycm9yOgotZXJyb3I6ICJIQVZFX1NURExJQl9IIiByZWRlZmluZWQgWy1XZXJyb3JdCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkW2h0dHBzOi8vZ2l0aHViLmNvbS9saWJqcGVnLXR1cmJvL2xpYmpwZWctdHVyYm8vcHVsbC8yNzVdCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBqY29uZmlnLmguaW4gICAgfCAyOCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCi0gamNvbmZpZ2ludC5oLmluIHwgIDQgKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9qY29uZmlnLmguaW4gYi9qY29uZmlnLmguaW4KLWluZGV4IDI4NDI3NTQuLjE4YTY5YTQgMTAwNjQ0Ci0tLS0gYS9qY29uZmlnLmguaW4KLSsrKyBiL2pjb25maWcuaC5pbgotQEAgLTEwLDE2ICsxMCwxNiBAQAotICNkZWZpbmUgTElCSlBFR19UVVJCT19WRVJTSU9OX05VTUJFUiAgQExJQkpQRUdfVFVSQk9fVkVSU0lPTl9OVU1CRVJACi0gCi0gLyogU3VwcG9ydCBhcml0aG1ldGljIGVuY29kaW5nICovCi0tI2NtYWtlZGVmaW5lIENfQVJJVEhfQ09ESU5HX1NVUFBPUlRFRAotKyNjbWFrZWRlZmluZSBDX0FSSVRIX0NPRElOR19TVVBQT1JURUQgMQotIAotIC8qIFN1cHBvcnQgYXJpdGhtZXRpYyBkZWNvZGluZyAqLwotLSNjbWFrZWRlZmluZSBEX0FSSVRIX0NPRElOR19TVVBQT1JURUQKLSsjY21ha2VkZWZpbmUgRF9BUklUSF9DT0RJTkdfU1VQUE9SVEVEIDEKLSAKLSAvKiBTdXBwb3J0IGluLW1lbW9yeSBzb3VyY2UvZGVzdGluYXRpb24gbWFuYWdlcnMgKi8KLS0jY21ha2VkZWZpbmUgTUVNX1NSQ0RTVF9TVVBQT1JURUQKLSsjY21ha2VkZWZpbmUgTUVNX1NSQ0RTVF9TVVBQT1JURUQgMQotIAotIC8qIFVzZSBhY2NlbGVyYXRlZCBTSU1EIHJvdXRpbmVzLiAqLwotLSNjbWFrZWRlZmluZSBXSVRIX1NJTUQKLSsjY21ha2VkZWZpbmUgV0lUSF9TSU1EIDEKLSAKLSAvKgotICAqIERlZmluZSBCSVRTX0lOX0pTQU1QTEUgYXMgZWl0aGVyCi1AQCAtMzMsMzcgKzMzLDM3IEBACi0gI2RlZmluZSBCSVRTX0lOX0pTQU1QTEUgIEBCSVRTX0lOX0pTQU1QTEVAICAgICAgLyogdXNlIDggb3IgMTIgKi8KLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxvY2FsZS5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9MT0NBTEVfSAotKyNjbWFrZWRlZmluZSBIQVZFX0xPQ0FMRV9IIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGRlZi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9TVERERUZfSAotKyNjbWFrZWRlZmluZSBIQVZFX1NURERFRl9IIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9TVERMSUJfSAotKyNjbWFrZWRlZmluZSBIQVZFX1NURExJQl9IIDEKLSAKLSAvKiBEZWZpbmUgaWYgeW91IG5lZWQgdG8gaW5jbHVkZSA8c3lzL3R5cGVzLmg+IHRvIGdldCBzaXplX3QuICovCi0tI2NtYWtlZGVmaW5lIE5FRURfU1lTX1RZUEVTX0gKLSsjY21ha2VkZWZpbmUgTkVFRF9TWVNfVFlQRVNfSCAxCi0gCi0gLyogRGVmaW5lIGlmIHlvdSBoYXZlIEJTRC1saWtlIGJ6ZXJvIGFuZCBiY29weSBpbiA8c3RyaW5ncy5oPiByYXRoZXIgdGhhbgotICAgIG1lbXNldC9tZW1jcHkgaW4gPHN0cmluZy5oPi4gKi8KLS0jY21ha2VkZWZpbmUgTkVFRF9CU0RfU1RSSU5HUwotKyNjbWFrZWRlZmluZSBORUVEX0JTRF9TVFJJTkdTIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgdW5zaWduZWQgY2hhcicuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfVU5TSUdORURfQ0hBUgotKyNjbWFrZWRlZmluZSBIQVZFX1VOU0lHTkVEX0NIQVIgMQotIAotIC8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1bnNpZ25lZCBzaG9ydCcuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfVU5TSUdORURfU0hPUlQKLSsjY21ha2VkZWZpbmUgSEFWRV9VTlNJR05FRF9TSE9SVCAxCi0gCi0gLyogQ29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCBwb2ludGVycyB0byB1bmRlZmluZWQgc3RydWN0dXJlcy4gKi8KLS0jY21ha2VkZWZpbmUgSU5DT01QTEVURV9UWVBFU19CUk9LRU4KLSsjY21ha2VkZWZpbmUgSU5DT01QTEVURV9UWVBFU19CUk9LRU4gMQotIAotIC8qIERlZmluZSBpZiB5b3VyIChicm9rZW4pIGNvbXBpbGVyIHNoaWZ0cyBzaWduZWQgdmFsdWVzIGFzIGlmIHRoZXkgd2VyZQotICAgIHVuc2lnbmVkLiAqLwotLSNjbWFrZWRlZmluZSBSSUdIVF9TSElGVF9JU19VTlNJR05FRAotKyNjbWFrZWRlZmluZSBSSUdIVF9TSElGVF9JU19VTlNJR05FRCAxCi0gCi0gLyogRGVmaW5lIHRvIDEgaWYgdHlwZSBgY2hhcicgaXMgdW5zaWduZWQgYW5kIHlvdSBhcmUgbm90IHVzaW5nIGdjYy4gICovCi0gI2lmbmRlZiBfX0NIQVJfVU5TSUdORURfXwotLSAgI2NtYWtlZGVmaW5lIF9fQ0hBUl9VTlNJR05FRF9fCi0rICAjY21ha2VkZWZpbmUgX19DSEFSX1VOU0lHTkVEX18gMQotICNlbmRpZgotIAotIC8qIERlZmluZSB0byBlbXB0eSBpZiBgY29uc3QnIGRvZXMgbm90IGNvbmZvcm0gdG8gQU5TSSBDLiAqLwotZGlmZiAtLWdpdCBhL2pjb25maWdpbnQuaC5pbiBiL2pjb25maWdpbnQuaC5pbgotaW5kZXggNTVkZjA1My4uNmM4OThhYyAxMDA2NDQKLS0tLSBhL2pjb25maWdpbnQuaC5pbgotKysrIGIvamNvbmZpZ2ludC5oLmluCi1AQCAtMTcsMTAgKzE3LDEwIEBACi0gI2RlZmluZSBTSVpFT0ZfU0laRV9UICBAU0laRV9UQAotIAotIC8qIERlZmluZSBpZiB5b3VyIGNvbXBpbGVyIGhhcyBfX2J1aWx0aW5fY3R6bCgpIGFuZCBzaXplb2YodW5zaWduZWQgbG9uZykgPT0gc2l6ZW9mKHNpemVfdCkuICovCi0tI2NtYWtlZGVmaW5lIEhBVkVfQlVJTFRJTl9DVFpMCi0rI2NtYWtlZGVmaW5lIEhBVkVfQlVJTFRJTl9DVFpMIDEKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGludHJpbi5oPiBoZWFkZXIgZmlsZS4gKi8KLS0jY21ha2VkZWZpbmUgSEFWRV9JTlRSSU5fSAotKyNjbWFrZWRlZmluZSBIQVZFX0lOVFJJTl9IIDEKLSAKLSAjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgZGVmaW5lZChIQVZFX0lOVFJJTl9IKQotICNpZiAoU0laRU9GX1NJWkVfVCA9PSA4KQotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9qcGVnL2xpYmpwZWctdHVyYm9fMi4wLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI4MmJmOTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotU1VNTUFSWSA9ICJIYXJkd2FyZSBhY2NlbGVyYXRlZCBKUEVHIGNvbXByZXNzaW9uL2RlY29tcHJlc3Npb24gbGlicmFyeSIKLURFU0NSSVBUSU9OID0gImxpYmpwZWctdHVyYm8gaXMgYSBkZXJpdmF0aXZlIG9mIGxpYmpwZWcgdGhhdCB1c2VzIFNJTUQgaW5zdHJ1Y3Rpb25zIChNTVgsIFNTRTIsIE5FT04pIHRvIGFjY2VsZXJhdGUgYmFzZWxpbmUgSlBFRyBjb21wcmVzc2lvbiBhbmQgZGVjb21wcmVzc2lvbiIKLUhPTUVQQUdFID0gImh0dHA6Ly9saWJqcGVnLXR1cmJvLm9yZy8iCi0KLUxJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY2RqcGVnLmg7ZW5kbGluZT0xMzttZDU9ODE4NGJjYzdjNGFjN2I5ZWRjNmE3YmMwMGYyMzFkMGIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vanBlZ2xpYi5oO2VuZGxpbmU9MTY7bWQ1PTdlYTk3ZGM4M2IwZjU5MDUyZWU4MzdlNjFlZjBlMDhmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RqcGVnLmM7ZW5kbGluZT0xMTttZDU9YzU5ZTE5ODExYzAwNmNiMzhmODJkNjQ3NzEzNGQzMTQgXAotIgotREVQRU5EU19hcHBlbmRfeDg2LTY0X2NsYXNzLXRhcmdldCA9ICIgbmFzbS1uYXRpdmUiCi1ERVBFTkRTX2FwcGVuZF94ODZfY2xhc3MtdGFyZ2V0ICAgID0gIiBuYXNtLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJqcGVnLXR1cmJvLWZpeC1wYWNrYWdlX3FhLWVycm9yLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbGlianBlZy10dXJiby1maXgtd3JvbmdseS1kZWZpbmVkLWRlZmluZS1IQVZFX1NURExJQi5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImIxMmEzZmNmMWQwNzhkYjM4NDEwZjI3NzE4YTkxYjgzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc3ODg3NjEwNWQwZDMxNjIwM2M5MjhmZDJhMDM3NGM4YzAxZjc1NWQwYTAwYjEyYTFjODkzNGFlY2NmZjg4NjgiCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJqcGVnLXR1cmJvL2ZpbGVzLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9saWJqcGVnLXR1cmJvL2ZpbGVzLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCi0KLVBFPSAiMSIKLQotIyBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBqcGVnCi1QUk9WSURFUyA9ICJqcGVnIgotUlBST1ZJREVTXyR7UE59ICs9ICJqcGVnIgotUlJFUExBQ0VTXyR7UE59ICs9ICJqcGVnIgotUkNPTkZMSUNUU18ke1BOfSArPSAianBlZyIKLQotaW5oZXJpdCBjbWFrZSBwa2djb25maWcKLQotIyBBZGQgbmFzbS1uYXRpdmUgZGVwZW5kZW5jeSBjb25zaXN0ZW50bHkgZm9yIGFsbCBidWlsZCBhcmNoZXMgaXMgaGFyZAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfU0lNRD1GYWxzZSIKLQotIyBXb3JrIGFyb3VuZCBtaXNzaW5nIHgzMiBBQkkgc3VwcG9ydAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJteDMyIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgIiIsIGQpfSIKLQotIyBXb3JrIGFyb3VuZCBtaXNzaW5nIG5vbi1mbG9hdGluZyBwb2ludCBBQkkgc3VwcG9ydCBpbiBNSVBTCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJNSVBTUEtHU0ZYX0ZQVSIsICItbmYiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCAiIiwgZCl9IgotCi0jIFByb3ZpZGUgYSB3b3JrYXJvdW5kIGlmIEFsdGl2ZWMgdW5pdCBpcyBub3QgcHJlc2VudCBpbiBQUEMKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJhbHRpdmVjIiwgIiIsICItRFdJVEhfU0lNRD1GYWxzZSIsIGQpfSIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldF9wb3dlcnBjNjQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgImFsdGl2ZWMiLCAiIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgZCl9IgotCi1ERUJVR19PUFRJTUlaQVRJT05fYXBwZW5kX2FybXY0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnVFVORV9DQ0FSR1MnLCAnLW10aHVtYicsICctZm9taXQtZnJhbWUtcG9pbnRlcicsICcnLCBkKX0iCi1ERUJVR19PUFRJTUlaQVRJT05fYXBwZW5kX2FybXY1ID0gIiAke0BiYi51dGlscy5jb250YWlucygnVFVORV9DQ0FSR1MnLCAnLW10aHVtYicsICctZm9taXQtZnJhbWUtcG9pbnRlcicsICcnLCBkKX0iCi0KLVBBQ0tBR0VTID0rICJqcGVnLXRvb2xzIGxpYnR1cmJvanBlZyIKLQotREVTQ1JJUFRJT05fanBlZy10b29scyA9ICJUaGUganBlZy10b29scyBwYWNrYWdlIGluY2x1ZGVzIGNsaWVudCBwcm9ncmFtcyB0byBhY2Nlc3MgbGlianBlZyBmdW5jdGlvbmFsaXR5LiAgVGhlc2UgdG9vbHMgYWxsb3cgZm9yIHRoZSBjb21wcmVzc2lvbiwgZGVjb21wcmVzc2lvbiwgdHJhbnNmb3JtYXRpb24gYW5kIGRpc3BsYXkgb2YgSlBFRyBmaWxlcyBhbmQgYmVuY2htYXJraW5nIG9mIHRoZSBsaWJqcGVnIGxpYnJhcnkuIgotRklMRVNfanBlZy10b29scyA9ICIke2JpbmRpcn0vKiIKLQotREVTQ1JJUFRJT05fbGlidHVyYm9qcGVnID0gIkEgU0lNRC1hY2NlbGVyYXRlZCBKUEVHIGNvZGVjIHdoaWNoIHByb3ZpZGVzIG9ubHkgVHVyYm9KUEVHIEFQSXMiCi1GSUxFU19saWJ0dXJib2pwZWcgPSAiJHtsaWJkaXJ9L2xpYnR1cmJvanBlZy5zby4qIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2pwZWcvbGlianBlZy10dXJib18yLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWRmNzU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvanBlZy9saWJqcGVnLXR1cmJvXzIuMC4yLmJiCkBAIC0wLDAgKzEsNTcgQEAKK1NVTU1BUlkgPSAiSGFyZHdhcmUgYWNjZWxlcmF0ZWQgSlBFRyBjb21wcmVzc2lvbi9kZWNvbXByZXNzaW9uIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJqcGVnLXR1cmJvIGlzIGEgZGVyaXZhdGl2ZSBvZiBsaWJqcGVnIHRoYXQgdXNlcyBTSU1EIGluc3RydWN0aW9ucyAoTU1YLCBTU0UyLCBORU9OKSB0byBhY2NlbGVyYXRlIGJhc2VsaW5lIEpQRUcgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24iCitIT01FUEFHRSA9ICJodHRwOi8vbGlianBlZy10dXJiby5vcmcvIgorCitMSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NkanBlZy5oO2VuZGxpbmU9MTM7bWQ1PTgxODRiY2M3YzRhYzdiOWVkYzZhN2JjMDBmMjMxZDBiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2pwZWdsaWIuaDtlbmRsaW5lPTE2O21kNT03ZWE5N2RjODNiMGY1OTA1MmVlODM3ZTYxZWYwZTA4ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kanBlZy5jO2VuZGxpbmU9MTE7bWQ1PWM1OWUxOTgxMWMwMDZjYjM4ZjgyZDY0NzcxMzRkMzE0IFwKKyIKK0RFUEVORFNfYXBwZW5kX3g4Ni02NF9jbGFzcy10YXJnZXQgPSAiIG5hc20tbmF0aXZlIgorREVQRU5EU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCAgICA9ICIgbmFzbS1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9LyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbGlianBlZy10dXJiby1maXgtcGFja2FnZV9xYS1lcnJvci5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjc5Zjc2ZmJmYjBjNjEwOTYzMTMzMjc2MmQxMGUxNmQyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjYjg1OTlmZTUzOTlhZjExNDI4N2VlNTkwN2FlYTQ0NTZmOGYyYzFjYzk2ZDI2YzI4YWViZmRmNWVlODJmZWQiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9saWJqcGVnLXR1cmJvL2ZpbGVzLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9saWJqcGVnLXR1cmJvL2ZpbGVzLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCisKK1BFPSAiMSIKKworIyBEcm9wLWluIHJlcGxhY2VtZW50IGZvciBqcGVnCitQUk9WSURFUyA9ICJqcGVnIgorUlBST1ZJREVTXyR7UE59ICs9ICJqcGVnIgorUlJFUExBQ0VTXyR7UE59ICs9ICJqcGVnIgorUkNPTkZMSUNUU18ke1BOfSArPSAianBlZyIKKworaW5oZXJpdCBjbWFrZSBwa2djb25maWcKKworIyBBZGQgbmFzbS1uYXRpdmUgZGVwZW5kZW5jeSBjb25zaXN0ZW50bHkgZm9yIGFsbCBidWlsZCBhcmNoZXMgaXMgaGFyZAorRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiAtRFdJVEhfU0lNRD1GYWxzZSIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgLURXSVRIX1NJTUQ9RmFsc2UiCisKKyMgV29yayBhcm91bmQgbWlzc2luZyB4MzIgQUJJIHN1cHBvcnQKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICItRFdJVEhfU0lNRD1GYWxzZSIsICIiLCBkKX0iCisKKyMgV29yayBhcm91bmQgbWlzc2luZyBub24tZmxvYXRpbmcgcG9pbnQgQUJJIHN1cHBvcnQgaW4gTUlQUworRVhUUkFfT0VDTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiTUlQU1BLR1NGWF9GUFUiLCAiLW5mIiwgIi1EV0lUSF9TSU1EPUZhbHNlIiwgIiIsIGQpfSIKKworIyBQcm92aWRlIGEgd29ya2Fyb3VuZCBpZiBBbHRpdmVjIHVuaXQgaXMgbm90IHByZXNlbnQgaW4gUFBDCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYyA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAiYWx0aXZlYyIsICIiLCAiLURXSVRIX1NJTUQ9RmFsc2UiLCBkKX0iCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9jbGFzcy10YXJnZXRfcG93ZXJwYzY0ID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJhbHRpdmVjIiwgIiIsICItRFdJVEhfU0lNRD1GYWxzZSIsIGQpfSIKKworREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgorREVCVUdfT1BUSU1JWkFUSU9OX2FwcGVuZF9hcm12NSA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ1RVTkVfQ0NBUkdTJywgJy1tdGh1bWInLCAnLWZvbWl0LWZyYW1lLXBvaW50ZXInLCAnJywgZCl9IgorCitQQUNLQUdFUyA9KyAianBlZy10b29scyBsaWJ0dXJib2pwZWciCisKK0RFU0NSSVBUSU9OX2pwZWctdG9vbHMgPSAiVGhlIGpwZWctdG9vbHMgcGFja2FnZSBpbmNsdWRlcyBjbGllbnQgcHJvZ3JhbXMgdG8gYWNjZXNzIGxpYmpwZWcgZnVuY3Rpb25hbGl0eS4gIFRoZXNlIHRvb2xzIGFsbG93IGZvciB0aGUgY29tcHJlc3Npb24sIGRlY29tcHJlc3Npb24sIHRyYW5zZm9ybWF0aW9uIGFuZCBkaXNwbGF5IG9mIEpQRUcgZmlsZXMgYW5kIGJlbmNobWFya2luZyBvZiB0aGUgbGlianBlZyBsaWJyYXJ5LiIKK0ZJTEVTX2pwZWctdG9vbHMgPSAiJHtiaW5kaXJ9LyoiCisKK0RFU0NSSVBUSU9OX2xpYnR1cmJvanBlZyA9ICJBIFNJTUQtYWNjZWxlcmF0ZWQgSlBFRyBjb2RlYyB3aGljaCBwcm92aWRlcyBvbmx5IFR1cmJvSlBFRyBBUElzIgorRklMRVNfbGlidHVyYm9qcGVnID0gIiR7bGliZGlyfS9saWJ0dXJib2pwZWcuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mva21zY3ViZS9rbXNjdWJlX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ttc2N1YmUva21zY3ViZV9naXQuYmIKaW5kZXggNDZhZWViMC4uYjJkZDZiMyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mva21zY3ViZS9rbXNjdWJlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9rbXNjdWJlL2ttc2N1YmVfZ2l0LmJiCkBAIC0yLDE3ICsyLDIwIEBACiBIT01FUEFHRSA9ICJodHRwczovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL21lc2Eva21zY3ViZS8iCiBMSUNFTlNFID0gIk1JVCIKIFNFQ1RJT04gPSAiZ3JhcGhpY3MiCi1ERVBFTkRTID0gInZpcnR1YWwvbGliZ2xlczIgdmlydHVhbC9lZ2wgbGliZHJtIGdzdHJlYW1lcjEuMCBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmdsZXMyIHZpcnR1YWwvZWdsIGxpYmRybSIKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8va21zY3ViZS5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjM7bWQ1PThiMzA5ZDRlZTY3YjczMTVmZjczODEyNzBkZDYzMWZiIgogCi1TUkNSRVYgPSAiOWRjY2U3MWU2MDM2MTZlZTdhNTQ3MDdlOTMyZjk2MmNkZjhmYjIwYSIKK1NSQ1JFViA9ICJkOGRhM2RjZmRmZTMzZWU1MjVjZjU2MmU5MjhhNTI2NmFjNjk4NDNjIgogU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9tZXNhL2ttc2N1YmU7YnJhbmNoPW1hc3Rlcjtwcm90b2NvbD1naXQgXAogICAgIGZpbGU6Ly9kZXRlY3QtZ3N0X2JvX21hcC1fdW5tYXAtYW5kLXVzZS1pdC1vci1hdm9pZC1pdC5wYXRjaCIKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworaW5oZXJpdCBtZXNvbiBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKIFJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2dzdHJlYW1lcl0gPSAiLURnc3RyZWFtZXI9ZW5hYmxlZCwtRGdzdHJlYW1lcj1kaXNhYmxlZCxnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5XzEuNS4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwNjcyMTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIk9wZW5HTCBmdW5jdGlvbiBwb2ludGVyIG1hbmFnZW1lbnQgbGlicmFyeSIKLUhPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGliZXBveHkvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU4ZWY0YzgwZDQwMWUwN2JkOWVlOGI2YjU4Y2Y0NjRiIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci54eiBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0YTZiOWU1ODFkYTIyOWRlZTc0YzIyNjNjODRiMWVjYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhOTU2MjM4NjUxOWViM2ZkN2YwMzIwOWYyNzlmNjk3YThjYmE1MjBkM2MxNTVkNmUyNTNjM2UxMzhiZWNhN2Q4IgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbGliZXBveHkvcmVsZWFzZXMiCi0KLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgotCi1QQUNLQUdFQ09ORklHW2VnbF0gPSAiLURlZ2w9eWVzLCAtRGVnbD1ubywgdmlydHVhbC9lZ2wiCi1QQUNLQUdFQ09ORklHW3gxMV0gPSAiLURnbHg9eWVzLCAtRGdseD1ubywgdmlydHVhbC9saWJ4MTEgdmlydHVhbC9saWJnbCIKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0gZWdsIgotCi1FWFRSQV9PRU1FU09OICs9ICItRHRlc3RzPWZhbHNlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eV8xLjUuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDcwNmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfMS41LjMuYmIKQEAgLTAsMCArMSwzOCBAQAorU1VNTUFSWSA9ICJPcGVuR0wgZnVuY3Rpb24gcG9pbnRlciBtYW5hZ2VtZW50IGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5LyIKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OGVmNGM4MGQ0MDFlMDdiZDllZThiNmI1OGNmNDY0YiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiZTI4NDVkZThkMjc4MmIyZDMxYzAxYWU4ZDdjZDRjYmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDAyOTU4YzU1MjgzMjFlZGQ1MzQ0MDIzNWQzYzQ0ZTcxYjViMWUwOWI5MTc3ZThkYWY2Nzc0NTBiNmM0NDMzZCIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5L3JlbGVhc2VzIgorCitpbmhlcml0IG1lc29uIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTX2NsYXNzLW5hdGl2ZXNkayA9ICIiCisKK1BBQ0tBR0VDT05GSUdbZWdsXSA9ICItRGVnbD15ZXMsIC1EZWdsPW5vLCB2aXJ0dWFsL2VnbCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItRGdseD15ZXMsIC1EZ2x4PW5vLCB2aXJ0dWFsL2xpYngxMSB2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSBlZ2wiCisKK0VYVFJBX09FTUVTT04gKz0gIi1EdGVzdHM9ZmFsc2UiCisKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImVnbCIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gImVnbCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCisjIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCBkbG9wZW4gd2lsbCBhdHRlbXB0IG9ubHkgR0wgbGlicmFyaWVzIHByb3ZpZGVkIGJ5IGhvc3QKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKwljaHJwYXRoIC0tZGVsZXRlICR7RH0ke2xpYmRpcn0vKi5zbworfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsoKSB7CisJY2hycGF0aCAtLWRlbGV0ZSAke0R9JHtsaWJkaXJ9Lyouc28KK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMi8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyLzAwMDEtR0xFUzItR2V0LXNpbi1jb3Mtb3V0LW9mLXZlcnRleC1zaGFkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMzJiMzcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyLzAwMDEtR0xFUzItR2V0LXNpbi1jb3Mtb3V0LW9mLXZlcnRleC1zaGFkZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotRnJvbSBjMjE1YmExZDUyYTNkNGVmMDNhZjNhYjFhNWJhYTE4NjNmODEyYWVkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjQgQXVnIDIwMTggMjM6MTA6MjUgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gR0xFUzI6IEdldCBzaW4vY29zIG91dCBvZiB2ZXJ0ZXggc2hhZGVyCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVRoZSBvbmx5IHBsYWNlIGFuZ2xlIGlzIGFjdGl2YXRlZCBhbmQgY2F1c2VzIGVmZmVjdCBpcyBSZW5kZXJDb3B5RXguIEFsbCBvdGhlcgotbWV0aG9kcyB3aGljaCB1c2UgdmVydGV4IHNoYWRlciwgbGVhdmUgYW5nbGUgZGlzYWJsZWQgYW5kIGNhdXNlIHVzZWxlc3Mgc2luL2NvcwotY2FsY3VsYXRpb24gaW4gc2hhZGVyLgotCi1UbyBnZXQgYXJvdW5kIHNoYWRlcidzIGludGVyZmFjZSBpcyBjaGFuZ2VkIHRvIGEgdmVjdG9yIHRoYXQgY29udGFpbnMgcmVzdWx0cwotb2Ygc2luIGFuZCBjb3MuIFRvIGJlaGF2ZSBwcm9wZXJseSB3aGVuIGRpc2FibGVkLCBjb3MgdmFsdWUgaXMgc2V0IHdpdGggb2Zmc2V0Ci0tMS4wIG1ha2luZyAwLjAgZGVmYXVsdCB3aGVuIGRlYWN0aXZhdGVkLgotCi1BcyBuaWNlIHNpZGUgZWZmZWN0IGl0IHNpbXBsaWZpZXMgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyOiBBbGwgYXR0cmlidXRlcyBhcmUKLXZlY3RvcnMgbm93LgotCi1BZGRpdGlvbmFsIGJhY2tncm91bmQ6Ci0KLSogT24gUmFzcGJlcnJ5UGkgaXQgZ2l2ZXMgYSBwZXJmb3JtYWNlIHdpbiBmb3Igb3BlcmF0aW9ucy4gVGVzdGVkIHdpdGgKLSAgWzFdIG51bWJlcnMgZ28gZG93biBmb3IgNS0xMCUgKG5vdCBlYXN5IHRvIGVzdGltYXRlIGR1ZSB0byBodWdlIHZhcmlhdGlvbikuCi0qIFNETF9SZW5kZXJDb3B5RXggd2FzIHRlc3RlZCB3aXRoIFsyXQotKiBJdCB3b3JrcyBhcm91bmQgbGVmdCByb3RhdGVkIGRpc3BsYXkgY2F1c2VkIGJ5IGxvdyBhY2N1cmFjeSBzaW4gaW1wbGVtZXRhdGlvbgotICBpbiBSYXNwYmVycnlQaS9WQzQgWzNdCi0KLVVwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgWzRdCi0KLVsxXSBodHRwczovL2dpdGh1Yi5jb20vc2Nobml0emVsdG9ueS9zZGwyYm94Ci1bMl0gaHR0cHM6Ly9naXRodWIuY29tL3NjaG5pdHplbHRvbnkvc2RsMnJlbmRlcmNvcHlleAotWzNdIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbWVzYS9pc3N1ZXMvMTEwCi1bNF0gaHR0cHM6Ly9oZy5saWJzZGwub3JnL1NETC9yZXYvZTVhNjY2NDA1NzUwCi0KLVNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfcmVuZGVyX2dsZXMyLmMgIHwgMTcgKysrKysrKysrKysrLS0tLS0KLSBzcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jIHwgMTQgKysrKysrKysrLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jIGIvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jCi1pbmRleCAxNDY3MWY3YzguLjdjNTRhNzMzMyAxMDA2NDQKLS0tLSBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9yZW5kZXJfZ2xlczIuYwotKysrIGIvc3JjL3JlbmRlci9vcGVuZ2xlczIvU0RMX3JlbmRlcl9nbGVzMi5jCi1AQCAtMTUzMCw3ICsxNTMwLDcgQEAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIEdMRVMyX0F0dHJpYnV0ZSBhdHRyLAotICAgICBHTEVTMl9Ecml2ZXJDb250ZXh0ICpkYXRhID0gKEdMRVMyX0RyaXZlckNvbnRleHQgKilyZW5kZXJlci0+ZHJpdmVyZGF0YTsKLSAKLSAjaWYgIVNETF9HTEVTMl9VU0VfVkJPUwotLSAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoYXR0ciwgYXR0ciA9PSBHTEVTMl9BVFRSSUJVVEVfQU5HTEUgPyAxIDogMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCB2ZXJ0ZXhEYXRhKTsKLSsgICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGV4RGF0YSk7Ci0gI2Vsc2UKLSAgICAgaWYgKCFkYXRhLT52ZXJ0ZXhfYnVmZmVyc1thdHRyXSkgewotICAgICAgICAgZGF0YS0+Z2xHZW5CdWZmZXJzKDEsICZkYXRhLT52ZXJ0ZXhfYnVmZmVyc1thdHRyXSk7Ci1AQCAtMTU0NSw3ICsxNTQ1LDcgQEAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIEdMRVMyX0F0dHJpYnV0ZSBhdHRyLAotICAgICAgICAgZGF0YS0+Z2xCdWZmZXJTdWJEYXRhKEdMX0FSUkFZX0JVRkZFUiwgMCwgZGF0YVNpemVJbkJ5dGVzLCB2ZXJ0ZXhEYXRhKTsKLSAgICAgfQotIAotLSAgICBkYXRhLT5nbFZlcnRleEF0dHJpYlBvaW50ZXIoYXR0ciwgYXR0ciA9PSBHTEVTMl9BVFRSSUJVVEVfQU5HTEUgPyAxIDogMiwgR0xfRkxPQVQsIEdMX0ZBTFNFLCAwLCAwKTsKLSsgICAgZGF0YS0+Z2xWZXJ0ZXhBdHRyaWJQb2ludGVyKGF0dHIsIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgMCk7Ci0gI2VuZGlmCi0gCi0gICAgIHJldHVybiAwOwotQEAgLTE4NTMsNiArMTg1Myw4IEBAIEdMRVMyX1JlbmRlckNvcHkoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0ICpzCi0gICAgIHJldHVybiBHTF9DaGVja0Vycm9yKCIiLCByZW5kZXJlcik7Ci0gfQotIAotKyNkZWZpbmUgUEkgMy4xNDE1OTI2NWYKLSsKLSBzdGF0aWMgaW50Ci0gR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdCAqc3JjcmVjdCwKLSAgICAgICAgICAgICAgICAgIGNvbnN0IFNETF9GUmVjdCAqZHN0cmVjdCwgY29uc3QgZG91YmxlIGFuZ2xlLCBjb25zdCBTRExfRlBvaW50ICpjZW50ZXIsIGNvbnN0IFNETF9SZW5kZXJlckZsaXAgZmxpcCkKLUBAIC0xODYxLDggKzE4NjMsOSBAQCBHTEVTMl9SZW5kZXJDb3B5RXgoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0Ci0gICAgIEdMZmxvYXQgdmVydGljZXNbOF07Ci0gICAgIEdMZmxvYXQgdGV4Q29vcmRzWzhdOwotICAgICBHTGZsb2F0IHRyYW5zbGF0ZVs4XTsKLS0gICAgR0xmbG9hdCBmQW5nbGVbNF07Ci0rICAgIEdMZmxvYXQgZkFuZ2xlWzhdOwotICAgICBHTGZsb2F0IHRtcDsKLSsgICAgZmxvYXQgcmFkaWFuX2FuZ2xlOwotIAotICAgICBHTEVTMl9BY3RpdmF0ZVJlbmRlcmVyKHJlbmRlcmVyKTsKLSAKLUBAIC0xODcyLDcgKzE4NzUsMTEgQEAgR0xFUzJfUmVuZGVyQ29weUV4KFNETF9SZW5kZXJlciAqcmVuZGVyZXIsIFNETF9UZXh0dXJlICp0ZXh0dXJlLCBjb25zdCBTRExfUmVjdAotIAotICAgICBkYXRhLT5nbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdMRVMyX0FUVFJJQlVURV9DRU5URVIpOwotICAgICBkYXRhLT5nbEVuYWJsZVZlcnRleEF0dHJpYkFycmF5KEdMRVMyX0FUVFJJQlVURV9BTkdMRSk7Ci0tICAgIGZBbmdsZVswXSA9IGZBbmdsZVsxXSA9IGZBbmdsZVsyXSA9IGZBbmdsZVszXSA9IChHTGZsb2F0KSgzNjAuMGYgLSBhbmdsZSk7Ci0rCi0rICAgIHJhZGlhbl9hbmdsZSA9IFBJICogKDM2MC4wZiAtIGFuZ2xlKSAvIDE4MC5mOwotKyAgICBmQW5nbGVbMF0gPSBmQW5nbGVbMl0gPSBmQW5nbGVbNF0gPSBmQW5nbGVbNl0gPSAoR0xmbG9hdClzaW4ocmFkaWFuX2FuZ2xlKTsKLSsgICAgLyogcmVuZGVyIGV4cGVjdHMgY29zIHZhbHVlIC0gMSAoc2VlIEdMRVMyX1ZlcnRleFNyY19EZWZhdWx0XykgKi8KLSsgICAgZkFuZ2xlWzFdID0gZkFuZ2xlWzNdID0gZkFuZ2xlWzVdID0gZkFuZ2xlWzddID0gKEdMZmxvYXQpY29zKHJhZGlhbl9hbmdsZSkgLSAxLjBmOwotICAgICAvKiBDYWxjdWxhdGUgdGhlIGNlbnRlciBvZiByb3RhdGlvbiAqLwotICAgICB0cmFuc2xhdGVbMF0gPSB0cmFuc2xhdGVbMl0gPSB0cmFuc2xhdGVbNF0gPSB0cmFuc2xhdGVbNl0gPSAoY2VudGVyLT54ICsgZHN0cmVjdC0+eCk7Ci0gICAgIHRyYW5zbGF0ZVsxXSA9IHRyYW5zbGF0ZVszXSA9IHRyYW5zbGF0ZVs1XSA9IHRyYW5zbGF0ZVs3XSA9IChjZW50ZXItPnkgKyBkc3RyZWN0LT55KTsKLUBAIC0xOTAxLDcgKzE5MDgsNyBAQCBHTEVTMl9SZW5kZXJDb3B5RXgoU0RMX1JlbmRlcmVyICpyZW5kZXJlciwgU0RMX1RleHR1cmUgKnRleHR1cmUsIGNvbnN0IFNETF9SZWN0Ci0gICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihHTEVTMl9BVFRSSUJVVEVfQ0VOVEVSLCAyLCBHTF9GTE9BVCwgR0xfRkFMU0UsIDAsIHRyYW5zbGF0ZSk7Ci0gICAgIGRhdGEtPmdsVmVydGV4QXR0cmliUG9pbnRlcihHTEVTMl9BVFRSSUJVVEVfUE9TSVRJT04sIDIsIEdMX0ZMT0FULCBHTF9GQUxTRSwgMCwgdmVydGljZXMpOyovCi0gCi0tICAgIEdMRVMyX1VwZGF0ZVZlcnRleEJ1ZmZlcihyZW5kZXJlciwgR0xFUzJfQVRUUklCVVRFX0FOR0xFLCBmQW5nbGUsIDQgKiBzaXplb2YoR0xmbG9hdCkpOwotKyAgICBHTEVTMl9VcGRhdGVWZXJ0ZXhCdWZmZXIocmVuZGVyZXIsIEdMRVMyX0FUVFJJQlVURV9BTkdMRSwgZkFuZ2xlLCA4ICogc2l6ZW9mKEdMZmxvYXQpKTsKLSAgICAgR0xFUzJfVXBkYXRlVmVydGV4QnVmZmVyKHJlbmRlcmVyLCBHTEVTMl9BVFRSSUJVVEVfQ0VOVEVSLCB0cmFuc2xhdGUsIDggKiBzaXplb2YoR0xmbG9hdCkpOwotICAgICBHTEVTMl9VcGRhdGVWZXJ0ZXhCdWZmZXIocmVuZGVyZXIsIEdMRVMyX0FUVFJJQlVURV9QT1NJVElPTiwgdmVydGljZXMsIDggKiBzaXplb2YoR0xmbG9hdCkpOwotIAotZGlmZiAtLWdpdCBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMgYi9zcmMvcmVuZGVyL29wZW5nbGVzMi9TRExfc2hhZGVyc19nbGVzMi5jCi1pbmRleCBiMGJjZGZmMjUuLmY0MjhhNDk0NSAxMDA2NDQKLS0tLSBhL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMKLSsrKyBiL3NyYy9yZW5kZXIvb3BlbmdsZXMyL1NETF9zaGFkZXJzX2dsZXMyLmMKLUBAIC0zMCwyMCArMzAsMjQgQEAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICAqIFZlcnRleC9mcmFnbWVudCBzaGFkZXIgc291cmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0tCi0rLyogTm90ZXMgb24gYV9hbmdsZToKLSsgICAqIEl0IGlzIGEgdmVjdG9yIGNvbnRhaW5pbmcgc2luIGFuZCBjb3MgZm9yIHJvdGF0aW9uIG1hdHJpeAotKyAgICogVG8gZ2V0IGNvcnJlY3Qgcm90YXRpb24gZm9yIG1vc3QgY2FzZXMgd2hlbiBhX2FuZ2xlIGlzIGRpc2FibGVkIGNvcwotKyAgICAgdmFsdWUgaXMgZGVjcmVtZW50ZWQgYnkgMS4wIHRvIGdldCBwcm9wZXIgb3V0cHV0IHdpdGggMC4wIHdoaWNoIGlzCi0rICAgICBkZWZhdWx0IHZhbHVlCi0rKi8KLSBzdGF0aWMgY29uc3QgVWludDggR0xFUzJfVmVydGV4U3JjX0RlZmF1bHRfW10gPSAiIFwKLSAgICAgdW5pZm9ybSBtYXQ0IHVfcHJvamVjdGlvbjsgXAotICAgICBhdHRyaWJ1dGUgdmVjMiBhX3Bvc2l0aW9uOyBcCi0gICAgIGF0dHJpYnV0ZSB2ZWMyIGFfdGV4Q29vcmQ7IFwKLS0gICAgYXR0cmlidXRlIGZsb2F0IGFfYW5nbGU7IFwKLSsgICAgYXR0cmlidXRlIHZlYzIgYV9hbmdsZTsgXAotICAgICBhdHRyaWJ1dGUgdmVjMiBhX2NlbnRlcjsgXAotICAgICB2YXJ5aW5nIHZlYzIgdl90ZXhDb29yZDsgXAotICAgICBcCi0gICAgIHZvaWQgbWFpbigpIFwKLSAgICAgeyBcCi0tICAgICAgICBmbG9hdCBhbmdsZSA9IHJhZGlhbnMoYV9hbmdsZSk7IFwKLS0gICAgICAgIGZsb2F0IGMgPSBjb3MoYW5nbGUpOyBcCi0tICAgICAgICBmbG9hdCBzID0gc2luKGFuZ2xlKTsgXAotKyAgICAgICAgZmxvYXQgcyA9IGFfYW5nbGVbMF07IFwKLSsgICAgICAgIGZsb2F0IGMgPSBhX2FuZ2xlWzFdICsgMS4wOyBcCi0gICAgICAgICBtYXQyIHJvdGF0aW9uTWF0cml4ID0gbWF0MihjLCAtcywgcywgYyk7IFwKLSAgICAgICAgIHZlYzIgcG9zaXRpb24gPSByb3RhdGlvbk1hdHJpeCAqIChhX3Bvc2l0aW9uIC0gYV9jZW50ZXIpICsgYV9jZW50ZXI7IFwKLSAgICAgICAgIHZfdGV4Q29vcmQgPSBhX3RleENvb3JkOyBcCi0tLSAKLTIuMTQuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxMmE5YWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIiCi1ERVNDUklQVElPTiA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgaXMgYSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1lZGlhIFwKLWxpYnJhcnkgZGVzaWduZWQgdG8gcHJvdmlkZSBsb3cgbGV2ZWwgYWNjZXNzIHRvIGF1ZGlvLCBrZXlib2FyZCwgbW91c2UsIFwKLWpveXN0aWNrLCAzRCBoYXJkd2FyZSB2aWEgT3BlbkdMLCBhbmQgMkQgdmlkZW8gZnJhbWVidWZmZXIuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGlic2RsLm9yZy8iCi0KLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJabGliIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy50eHQ7bWQ1PTAyZWUyNjgxNGRkMDQ0YmQ3ODM4YWUyNGUwNWI4ODBmIgotCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYnNkbDIiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnL3JlbGVhc2UvU0RMMi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbW9yZS1nZW4tZGVwZW5kcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUdMRVMyLUdldC1zaW4tY29zLW91dC1vZi12ZXJ0ZXgtc2hhZGVyLnBhdGNoIFwKLSIKLQotUyA9ICIke1dPUktESVJ9L1NETDItJHtQVn0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIzODAwZDcwNWNlZjc0MmM2YTYzNGYyMDJjMzdmMjYzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGM3N2M1NzMwODY2MWQ1NzZlODQzMzQ0ZDg2MzhlMDI1YTc4MThiZmY3M2Y4ZmJmYWIwOWMzYzVmZDA5MmVjIgotCi1pbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBiaW5jb25maWcgcGtnY29uZmlnCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3NzIC0tZGlzYWJsZS1lc2QgLS1kaXNhYmxlLWFydHMgXAotICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kaXNrYXVkaW8gLS1kaXNhYmxlLW5hcyAtLWRpc2FibGUtZXNkLXNoYXJlZCAtLWRpc2FibGUtZXNkdGVzdCBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZpZGVvLWR1bW15IFwKLSAgICAgICAgICAgICAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtc2RsLWRsb3BlbiBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKLSAgICAgICAgICAgICAgICAtLWRpc2FibGUtc25kaW8gXAotICAgICAgICAgICAgICAgICIKLQotIyBvcGVuZ2wgcGFja2FnZWNvbmZpZyBmYWN0b3JlZCBvdXQgdG8gbWFrZSBpdCBlYXN5IGZvciBkaXN0cm9zCi0jIGFuZCBCU1AgbGF5ZXJzIHRvIHBpY2sgZWl0aGVyIChkZXNrdG9wKSBvcGVuZ2wsIGdsZXMyLCBvciBubyBHTAotUEFDS0FHRUNPTkZJR19HTCA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgZCl9IgotCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJ4MTEiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCi1QQUNLQUdFQ09ORklHID8/PSAiIFwKLSAgICAke1BBQ0tBR0VDT05GSUdfR0x9IFwKLSAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIGRpcmVjdGZiIHB1bHNlYXVkaW8geDExJywgZCl9IFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCBnbGVzMicsICcnLCBkKX0gXAotIgotUEFDS0FHRUNPTkZJR1thbHNhXSAgICAgICA9ICItLWVuYWJsZS1hbHNhIC0tZGlzYWJsZS1hbHNhdGVzdCwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiwiCi1QQUNLQUdFQ09ORklHW2RpcmVjdGZiXSAgID0gIi0tZW5hYmxlLXZpZGVvLWRpcmVjdGZiLC0tZGlzYWJsZS12aWRlby1kaXJlY3RmYixkaXJlY3RmYiIKLVBBQ0tBR0VDT05GSUdbZ2xlczJdICAgICAgPSAiLS1lbmFibGUtdmlkZW8tb3BlbmdsZXMsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbGVzLHZpcnR1YWwvbGliZ2xlczIiCi1QQUNLQUdFQ09ORklHW29wZW5nbF0gICAgID0gIi0tZW5hYmxlLXZpZGVvLW9wZW5nbCwtLWRpc2FibGUtdmlkZW8tb3BlbmdsLHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbdHNsaWJdICAgICAgPSAiLS1lbmFibGUtaW5wdXQtdHNsaWIsLS1kaXNhYmxlLWlucHV0LXRzbGliLHRzbGliIgotUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSAgICA9ICItLWVuYWJsZS12aWRlby13YXlsYW5kLC0tZGlzYWJsZS12aWRlby13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQgd2F5bGFuZC1wcm90b2NvbHMgbGlieGtiY29tbW9uIgotUEFDS0FHRUNPTkZJR1t4MTFdICAgICAgICA9ICItLWVuYWJsZS12aWRlby14MTEsLS1kaXNhYmxlLXZpZGVvLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhyYW5kciBsaWJ4cmVuZGVyIgotCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWluY2x1ZGU9YWNpbmNsdWRlIC0tZXhjbHVkZT1hdXRvaGVhZGVyIgotCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAgICAgIyBSZW1vdmUgb2xkIGxpYnRvb2wgbWFjcm9zLgotICAgICAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgotICAgICAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCi0gICAgICAgICAgICAgICBybSAtZiAke1N9L2FjaW5jbHVkZS8kaQotICAgICAgICBkb25lCi0gICAgICAgIGV4cG9ydCBTWVNST09UPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSCi19Ci0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2NtYWtlIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwyL2xpYnNkbDJfMi4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc0MWNmYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMl8yLjAuOS5iYgpAQCAtMCwwICsxLDcwIEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciIKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBpcyBhIGNyb3NzLXBsYXRmb3JtIG11bHRpbWVkaWEgXAorbGlicmFyeSBkZXNpZ25lZCB0byBwcm92aWRlIGxvdyBsZXZlbCBhY2Nlc3MgdG8gYXVkaW8sIGtleWJvYXJkLCBtb3VzZSwgXAoram95c3RpY2ssIDNEIGhhcmR3YXJlIHZpYSBPcGVuR0wsIGFuZCAyRCB2aWRlbyBmcmFtZWJ1ZmZlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5saWJzZGwub3JnLyIKKworU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9MDJlZTI2ODE0ZGQwNDRiZDc4MzhhZTI0ZTA1Yjg4MGYiCisKK1BST1ZJREVTID0gInZpcnR1YWwvbGlic2RsMiIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmcvcmVsZWFzZS9TREwyLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9tb3JlLWdlbi1kZXBlbmRzLnBhdGNoIFwKKyIKKworUyA9ICIke1dPUktESVJ9L1NETDItJHtQVn0iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmMmVjZmJhOTE1YzU0ZjcyMDBmNTA0ZDhiNDhhNWRmZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTUxODZkYzY3NmVjZDBjMWRiZjEwZWM4YTJjYzVkNjg2OWI1MDc5ZDhhMzgxOTRjMmFlY2RmZjU0YjMyNGIxIgorCitpbmhlcml0IGF1dG90b29scyBsaWJfcGFja2FnZSBiaW5jb25maWcgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtb3NzIC0tZGlzYWJsZS1lc2QgLS1kaXNhYmxlLWFydHMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kaXNrYXVkaW8gLS1kaXNhYmxlLW5hcyAtLWRpc2FibGUtZXNkLXNoYXJlZCAtLWRpc2FibGUtZXNkdGVzdCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZpZGVvLWR1bW15IFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1wdGhyZWFkcyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtc2RsLWRsb3BlbiBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtc25kaW8gXAorICAgICAgICAgICAgICAgICIKKworIyBvcGVuZ2wgcGFja2FnZWNvbmZpZyBmYWN0b3JlZCBvdXQgdG8gbWFrZSBpdCBlYXN5IGZvciBkaXN0cm9zCisjIGFuZCBCU1AgbGF5ZXJzIHRvIHBpY2sgZWl0aGVyIChkZXNrdG9wKSBvcGVuZ2wsIGdsZXMyLCBvciBubyBHTAorUEFDS0FHRUNPTkZJR19HTCA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgZCl9IgorCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJ4MTEiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCitQQUNLQUdFQ09ORklHID8/PSAiIFwKKyAgICAke1BBQ0tBR0VDT05GSUdfR0x9IFwKKyAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhIGRpcmVjdGZiIHB1bHNlYXVkaW8geDExJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCBnbGVzMicsICcnLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thbHNhXSAgICAgICA9ICItLWVuYWJsZS1hbHNhIC0tZGlzYWJsZS1hbHNhdGVzdCwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiwiCitQQUNLQUdFQ09ORklHW2RpcmVjdGZiXSAgID0gIi0tZW5hYmxlLXZpZGVvLWRpcmVjdGZiLC0tZGlzYWJsZS12aWRlby1kaXJlY3RmYixkaXJlY3RmYiIKK1BBQ0tBR0VDT05GSUdbZ2xlczJdICAgICAgPSAiLS1lbmFibGUtdmlkZW8tb3BlbmdsZXMsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbGVzLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW2phY2tdICAgICAgID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdba21zZHJtXSAgICAgPSAiLS1lbmFibGUtdmlkZW8ta21zZHJtLC0tZGlzYWJsZS12aWRlby1rbXNkcm0sbGliZHJtIHZpcnR1YWwvbGliZ2JtIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdICAgICA9ICItLWVuYWJsZS12aWRlby1vcGVuZ2wsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW3RzbGliXSAgICAgID0gIi0tZW5hYmxlLWlucHV0LXRzbGliLC0tZGlzYWJsZS1pbnB1dC10c2xpYix0c2xpYiIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gICAgPSAiLS1lbmFibGUtdmlkZW8td2F5bGFuZCwtLWRpc2FibGUtdmlkZW8td2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIHdheWxhbmQtcHJvdG9jb2xzIGxpYnhrYmNvbW1vbiIKK1BBQ0tBR0VDT05GSUdbeDExXSAgICAgICAgPSAiLS1lbmFibGUtdmlkZW8teDExLC0tZGlzYWJsZS12aWRlby14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4cmFuZHIgbGlieHJlbmRlciIKKworRVhUUkFfQVVUT1JFQ09ORiArPSAiLS1pbmNsdWRlPWFjaW5jbHVkZSAtLWV4Y2x1ZGU9YXV0b2hlYWRlciIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgICAgICMgUmVtb3ZlIG9sZCBsaWJ0b29sIG1hY3Jvcy4KKyAgICAgICAgTUFDUk9TPSJsaWJ0b29sLm00IGx0fm9ic29sZXRlLm00IGx0b3B0aW9ucy5tNCBsdHN1Z2FyLm00IGx0dmVyc2lvbi5tNCIKKyAgICAgICAgZm9yIGkgaW4gJHtNQUNST1N9OyBkbworICAgICAgICAgICAgICAgcm0gLWYgJHtTfS9hY2luY2x1ZGUvJGkKKyAgICAgICAgZG9uZQorICAgICAgICBleHBvcnQgU1lTUk9PVD0kUEtHX0NPTkZJR19TWVNST09UX0RJUgorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9jbWFrZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHMvMDAwMS1CdWlsZC1zZmNzYW1wbGUtb25seS13aGVuLVgxMS1iYWNrZW5kLWlzLWVuYWJsZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlscy8wMDAxLUJ1aWxkLXNmY3NhbXBsZS1vbmx5LXdoZW4tWDExLWJhY2tlbmQtaXMtZW5hYmxlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMWZiNzE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHMvMDAwMS1CdWlsZC1zZmNzYW1wbGUtb25seS13aGVuLVgxMS1iYWNrZW5kLWlzLWVuYWJsZWQucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSA4ZmMxNGU0YmM4MTg4NWI4MGMzMDcyZTU0OWMyZTZmNTk1MzNkN2VmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KK0RhdGU6IEZyaSwgOCBGZWIgMjAxOSAxMTo0NTo1NSArMDgwMAorU3ViamVjdDogW1BBVENIXSBCdWlsZCBzZmNzYW1wbGUgb25seSB3aGVuIFgxMSBiYWNrZW5kIGlzIGVuYWJsZWQKKworU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEtdXRpbHMvcHVsbC8xNDksIGFuZAoraHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL2lzc3Vlcy8xNTAKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogQW51aiBNaXR0YWwgPGFudWoubWl0dGFsQGludGVsLmNvbT4KKy0tLQorIE1ha2VmaWxlLmFtIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCBkMjgxNzVhLi5lMjk0ZTI1IDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMjQsMTAgKzI0LDExIEBAIEFDTE9DQUxfQU1GTEFHUyA9IC1JIG00ICR7QUNMT0NBTF9GTEFHU30KKyAKKyBBVVRPTUFLRV9PUFRJT05TID0gZm9yZWlnbgorIAorLVNVQkRJUlMgPSBjb21tb24gZGVjb2RlIGVuY29kZSB2YWluZm8gdmlkZW9wcm9jZXNzIHZlbmRvci9pbnRlbCB2ZW5kb3IvaW50ZWwvc2Zjc2FtcGxlCisrU1VCRElSUyA9IGNvbW1vbiBkZWNvZGUgZW5jb2RlIHZhaW5mbyB2aWRlb3Byb2Nlc3MgdmVuZG9yL2ludGVsCisgCisgaWYgVVNFX1gxMQorIFNVQkRJUlMgKz0gcHV0c3VyZmFjZQorK1NVQkRJUlMgKz0gdmVuZG9yL2ludGVsL3NmY3NhbXBsZQorIGVsc2UKKyBpZiBVU0VfV0FZTEFORAorIFNVQkRJUlMgKz0gcHV0c3VyZmFjZQorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi4yLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTM1MDg1Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjIuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAibGlidmEtdXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdGllcyBmcm9tIGxpYnZhIHByb2plY3QiCi0KLURFU0NSSVBUSU9OID0gImxpYnZhLXV0aWxzIGlzIGEgY29sbGVjdGlvbiBvZiB1dGlsaXRpZXMgXAotYW5kIGV4YW1wbGVzIHRvIGV4ZXJjaXNlIFZBLUFQSSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGxpYnZhIFwKLXByb2plY3QuVkEtQVBJIGlzIGFuIG9wZW4tc291cmNlIGxpYnJhcnkgYW5kIEFQSSBzcGVjaWZpY2F0aW9uLCBcCi13aGljaCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGNhcGFiaWxpdGllcyBcCi1mb3IgdmlkZW8gcHJvY2Vzc2luZy4gSXQgY29uc2lzdHMgb2YgYSBtYWluIGxpYnJhcnkgYW5kIGRyaXZlci1zcGVjaWZpYyBcCi1hY2NlbGVyYXRpb24gYmFja2VuZHMgZm9yIGVhY2ggc3VwcG9ydGVkIGhhcmR3YXJlIHZlbmRvciIKLQotSE9NRVBBR0UgPSAiaHR0cHM6Ly8wMS5vcmcvbGludXhtZWRpYS92YWFwaSIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL2lzc3VlcyIKLQotU0VDVElPTiA9ICJ4MTEiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIxNDhmYzhhZGYxOWRjOWFlYzE3Y2Y5Y2QyOWE5YTVlIgotCi1TUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLmJ6MiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5M2I1OGFhNWIxNGMxNmY0YmFjZThhNDVkYzI1NWVjOSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZDdhNmVkMWZhYjY1N2RmNGU4M2VhMTFmOTAzMTBlZmNmMzFjMjc4MjhmMzJkNjUzNTFhMjhjYTNjNDA0ZGMwIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhLXV0aWxzL3JlbGVhc2VzIgotCi1ERVBFTkRTID0gImxpYnZhIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgZGVwZW5kcyBvbiBsaWJ2YSB3aGljaCByZXF1aXJlcyBvcGVuZ2wKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHgxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhmaXhlcyIKLVBBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLS1lbmFibGUtd2F5bGFuZCwtLWRpc2FibGUtd2F5bGFuZCx3YXlsYW5kLW5hdGl2ZSB3YXlsYW5kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi40LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YS11dGlsc18yLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Yjc2NDMxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmEtdXRpbHNfMi40LjAuYmIKQEAgLTAsMCArMSwzNSBAQAorU1VNTUFSWSA9ICJsaWJ2YS11dGlscyBpcyBhIGNvbGxlY3Rpb24gb2YgdXRpbGl0aWVzIGZyb20gbGlidmEgcHJvamVjdCIKKworREVTQ1JJUFRJT04gPSAibGlidmEtdXRpbHMgaXMgYSBjb2xsZWN0aW9uIG9mIHV0aWxpdGllcyBcCithbmQgZXhhbXBsZXMgdG8gZXhlcmNpc2UgVkEtQVBJIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbGlidmEgXAorcHJvamVjdC5WQS1BUEkgaXMgYW4gb3Blbi1zb3VyY2UgbGlicmFyeSBhbmQgQVBJIHNwZWNpZmljYXRpb24sIFwKK3doaWNoIHByb3ZpZGVzIGFjY2VzcyB0byBncmFwaGljcyBoYXJkd2FyZSBhY2NlbGVyYXRpb24gY2FwYWJpbGl0aWVzIFwKK2ZvciB2aWRlbyBwcm9jZXNzaW5nLiBJdCBjb25zaXN0cyBvZiBhIG1haW4gbGlicmFyeSBhbmQgZHJpdmVyLXNwZWNpZmljIFwKK2FjY2VsZXJhdGlvbiBiYWNrZW5kcyBmb3IgZWFjaCBzdXBwb3J0ZWQgaGFyZHdhcmUgdmVuZG9yIgorCitIT01FUEFHRSA9ICJodHRwczovLzAxLm9yZy9saW51eG1lZGlhL3ZhYXBpIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbGlidmEtdXRpbHMvaXNzdWVzIgorCitTRUNUSU9OID0gIngxMSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjE0OGZjOGFkZjE5ZGM5YWVjMTdjZjljZDI5YTlhNWUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtQnVpbGQtc2Zjc2FtcGxlLW9ubHktd2hlbi1YMTEtYmFja2VuZC1pcy1lbmFibGVkLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjUzNzRjNGMzMmNlMTM2ZTUwYWVhMDI2Nzg4N2FlZDUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWI3ZDE5NTRiNDBmY2IyYzA1NDRiZTIwMTI1YzcxYTA4NTIwNDk3MTVhYjg1YTNlOGFiYTYwNDM0YTQwYzZiMyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS11dGlscy9yZWxlYXNlcyIKKworREVQRU5EUyA9ICJsaWJ2YSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIGRlcGVuZHMgb24gbGlidmEgd2hpY2ggcmVxdWlyZXMgb3BlbmdsCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB4MTEnLCBkKX0iCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLC0tZGlzYWJsZS14MTEsdmlydHVhbC9saWJ4MTEgbGlieGV4dCBsaWJ4Zml4ZXMiCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi0tZW5hYmxlLXdheWxhbmQsLS1kaXNhYmxlLXdheWxhbmQsd2F5bGFuZC1uYXRpdmUgd2F5bGFuZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi4yLjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExZTU3ZTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlidmEvbGlidmFfMi4yLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi1TVU1NQVJZID0gIlZpZGVvIEFjY2VsZXJhdGlvbiAoVkEpIEFQSSBmb3IgTGludXgiCi1ERVNDUklQVElPTiA9ICJWaWRlbyBBY2NlbGVyYXRpb24gQVBJIChWQSBBUEkpIGlzIGEgbGlicmFyeSAobGliVkEpIFwKLWFuZCBBUEkgc3BlY2lmaWNhdGlvbiB3aGljaCBlbmFibGVzIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgXAotaGFyZHdhcmUgKEdQVSkgYWNjZWxlcmF0aW9uIGZvciB2aWRlbyBwcm9jZXNzaW5nIG9uIExpbnV4IGFuZCBVTklYIFwKLWJhc2VkIG9wZXJhdGluZyBzeXN0ZW1zLiBBY2NlbGVyYXRlZCBwcm9jZXNzaW5nIGluY2x1ZGVzIHZpZGVvIFwKLWRlY29kaW5nLCB2aWRlbyBlbmNvZGluZywgc3VicGljdHVyZSBibGVuZGluZyBhbmQgcmVuZGVyaW5nLiBUaGUgXAotc3BlY2lmaWNhdGlvbiB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBieSBJbnRlbCBmb3IgaXRzIEdNQSAoR3JhcGhpY3MgXAotTWVkaWEgQWNjZWxlcmF0b3IpIHNlcmllcyBvZiBHUFUgaGFyZHdhcmUsIHRoZSBBUEkgaXMgaG93ZXZlciBub3QgXAotbGltaXRlZCB0byBHUFVzIG9yIEludGVsIHNwZWNpZmljIGhhcmR3YXJlLCBhcyBvdGhlciBoYXJkd2FyZSBhbmQgXAotbWFudWZhY3R1cmVycyBjYW4gYWxzbyBmcmVlbHkgdXNlIHRoaXMgQVBJIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBcCi12aWRlbyBkZWNvZGluZy4iCi0KLUhPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2xpbnV4bWVkaWEvdmFhcGkiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9pc3N1ZXMiCi0KLVNFQ1RJT04gPSAieDExIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZTQ4OTQwZjk0YWNiMGFmNTgyZTVlZjAzNTM3ODAwZiIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5iejIiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5MmQwNGFkMTcwMDEzNmRjNzViMWU1ZjQ3NTE2ZTcwNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZjZjYTA0Yzc4NTU0NGQzMGQzMTVlZjEzMGE2YWViOTQzNWI3NWY5MzRkN2ZiZTBlNGU5YmE2MDg0Y2U0ZWYyIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhL3JlbGVhc2VzIgotCi1ERVBFTkRTID0gImxpYmRybSB2aXJ0dWFsL21lc2EiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKLQotRVhUUkFfT0VDT05GID0gImFjX2N2X3Byb2dfV0FZTEFORF9TQ0FOTkVSPXdheWxhbmQtc2Nhbm5lciIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgeDExJywgZCl9IgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGZpeGVzIgotUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQiCi0KLVBBQ0tBR0VTID0rICIke1BOfS14MTEgJHtQTn0tZ2x4ICR7UE59LXdheWxhbmQiCi0KLVJERVBFTkRTXyR7UE59LXgxMSA9KyAiJHtQTn0iCi1SREVQRU5EU18ke1BOfS1nbHggPSsgIiR7UE59LXgxMSIKLQotRklMRVNfJHtQTn0teDExID0rICIke2xpYmRpcn0vbGlidmEteDExKiR7U09MSUJTfSIKLUZJTEVTXyR7UE59LWdseCA9KyAiJHtsaWJkaXJ9L2xpYnZhLWdseCoke1NPTElCU30iCi1GSUxFU18ke1BOfS13YXlsYW5kID0rICIke2xpYmRpcn0vbGlidmEtd2F5bGFuZCoke1NPTElCU30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjQuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnZhL2xpYnZhXzIuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmYTFhYjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ2YS9saWJ2YV8yLjQuMC5iYgpAQCAtMCwwICsxLDQ2IEBACitTVU1NQVJZID0gIlZpZGVvIEFjY2VsZXJhdGlvbiAoVkEpIEFQSSBmb3IgTGludXgiCitERVNDUklQVElPTiA9ICJWaWRlbyBBY2NlbGVyYXRpb24gQVBJIChWQSBBUEkpIGlzIGEgbGlicmFyeSAobGliVkEpIFwKK2FuZCBBUEkgc3BlY2lmaWNhdGlvbiB3aGljaCBlbmFibGVzIGFuZCBwcm92aWRlcyBhY2Nlc3MgdG8gZ3JhcGhpY3MgXAoraGFyZHdhcmUgKEdQVSkgYWNjZWxlcmF0aW9uIGZvciB2aWRlbyBwcm9jZXNzaW5nIG9uIExpbnV4IGFuZCBVTklYIFwKK2Jhc2VkIG9wZXJhdGluZyBzeXN0ZW1zLiBBY2NlbGVyYXRlZCBwcm9jZXNzaW5nIGluY2x1ZGVzIHZpZGVvIFwKK2RlY29kaW5nLCB2aWRlbyBlbmNvZGluZywgc3VicGljdHVyZSBibGVuZGluZyBhbmQgcmVuZGVyaW5nLiBUaGUgXAorc3BlY2lmaWNhdGlvbiB3YXMgb3JpZ2luYWxseSBkZXNpZ25lZCBieSBJbnRlbCBmb3IgaXRzIEdNQSAoR3JhcGhpY3MgXAorTWVkaWEgQWNjZWxlcmF0b3IpIHNlcmllcyBvZiBHUFUgaGFyZHdhcmUsIHRoZSBBUEkgaXMgaG93ZXZlciBub3QgXAorbGltaXRlZCB0byBHUFVzIG9yIEludGVsIHNwZWNpZmljIGhhcmR3YXJlLCBhcyBvdGhlciBoYXJkd2FyZSBhbmQgXAorbWFudWZhY3R1cmVycyBjYW4gYWxzbyBmcmVlbHkgdXNlIHRoaXMgQVBJIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBcCit2aWRlbyBkZWNvZGluZy4iCisKK0hPTUVQQUdFID0gImh0dHBzOi8vMDEub3JnL2xpbnV4bWVkaWEvdmFhcGkiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pbnRlbC9saWJ2YS9pc3N1ZXMiCisKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZTQ4OTQwZjk0YWNiMGFmNTgyZTVlZjAzNTM3ODAwZiIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7UFZ9LyR7QlB9LnRhci5iejIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjZmM2OWMyYTVmNTI2ZGQxODU4ZTA5OGZiOGVlYmZhNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5OTI2MzA1NmMyMTU5M2EyNmYyZWNlODEyYWVlNmZlNjAxNDJiNDllNmNkNDZjYjMzYzhkZGRmMThmYzE5MzkxIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xpYnZhL3JlbGVhc2VzIgorCitERVBFTkRTID0gImxpYmRybSB2aXJ0dWFsL21lc2EiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIm9wZW5nbCIKKworRVhUUkFfT0VDT05GID0gImFjX2N2X3Byb2dfV0FZTEFORF9TQ0FOTkVSPXdheWxhbmQtc2Nhbm5lciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQgeDExJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieGZpeGVzIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHdheWxhbmQtbmF0aXZlIHdheWxhbmQiCisKK1BBQ0tBR0VTID0rICIke1BOfS14MTEgJHtQTn0tZ2x4ICR7UE59LXdheWxhbmQiCisKK1JERVBFTkRTXyR7UE59LXgxMSA9KyAiJHtQTn0iCitSREVQRU5EU18ke1BOfS1nbHggPSsgIiR7UE59LXgxMSIKKworRklMRVNfJHtQTn0teDExID0rICIke2xpYmRpcn0vbGlidmEteDExKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWdseCA9KyAiJHtsaWJkaXJ9L2xpYnZhLWdseCoke1NPTElCU30iCitGSUxFU18ke1BOfS13YXlsYW5kID0rICIke2xpYmRpcn0vbGlidmEtd2F5bGFuZCoke1NPTElCU30iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4wLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxNTQwY2YuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTggKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBjYWNoaW5nIGFwcGxpY2F0aW9uIG1lbnVzIgotREVTQ1JJUFRJT04gPSAiQSBsaWJyYXJ5IGNyZWF0aW5nIGFuZCB1dGlsaXppbmcgY2FjaGVzIHRvIHNwZWVkIHVwIGZyZWVkZXNrdG9wLm9yZyBhcHBsaWNhdGlvbiBtZW51cyIKLUhPTUVQQUdFID0gImh0dHA6Ly9seGRlLnNvdXJjZWZvcmdlLm5ldC8iCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDk2NGM2ODlmY2Y0YzIxYzY3OTdlYTg3NDA4NDE2YjYiCi0KLVNFQ1RJT04gPSAieDExL2xpYnMiCi1ERVBFTkRTID0gImdsaWItMi4wIGxpYmZtLWV4dHJhIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9seGRlL21lbnUtY2FjaGUtJHtQVn0udGFyLnh6IgotCi1TUkNfVVJJW21kNXN1bV0gPSAiOGRkZTdhM2Y1YmQ5Nzk4ZDAxMjlkMTk3OWE1ZDc2NDAiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmY4M2VkZjJkZTM0ZjgzZTcwMWRjYjUyMTQ1ZDc1NTI1MGE1Njc3NTgwY2Q0MTM0NzZjYzRkN2YyZDIwMTJkNSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvbHhkZS9maWxlcy9tZW51LWNhY2hlLzEuMC8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1kb2MKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjEuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lbnUtY2FjaGUvbWVudS1jYWNoZV8xLjEuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGJiZDk0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMS4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgY2FjaGluZyBhcHBsaWNhdGlvbiBtZW51cyIKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSBjcmVhdGluZyBhbmQgdXRpbGl6aW5nIGNhY2hlcyB0byBzcGVlZCB1cCBmcmVlZGVza3RvcC5vcmcgYXBwbGljYXRpb24gbWVudXMiCitIT01FUEFHRSA9ICJodHRwOi8vbHhkZS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5NjRjNjg5ZmNmNGMyMWM2Nzk3ZWE4NzQwODQxNmI2IgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCBsaWJmbS1leHRyYSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vbHhkZS9tZW51LWNhY2hlLSR7UFZ9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjk5OTk5YTBiY2E0OGI5ODAxMDUyMDg3NjBjOGZkODkzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImVkMDJlYjQ1OWRjYjM5OGY2OWI5ZmE1YmY0ZGQ4MTMwMjA0MDVhZmM4NDMzMTExNTQ2OWNkZjdiZTkyNzNlYzciCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2x4ZGUvZmlsZXMvbWVudS1jYWNoZS8xLjEvIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCmluZGV4IGE1MGQyYTIuLmQwNjVlMjIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA3ZThlMGY4YThhYzI0MjVlMTlhMmYzNDBjOWUzZGE5MzQ1ZjI1OTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KLURhdGU6IFR1ZSwgMTUgTm92IDIwMTYgMTU6MjA6NDkgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzZdIFNpbXBsaWZ5IHdheWxhbmQtc2Nhbm5lciBsb29rdXAKK0Zyb20gZTUzODM3YWQ3YjAxMzY0ZjM0YTUzM2I5NWY0ODE3YzE3OTU3ODlkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBXZWQsIDIwIEZlYiAyMDE5IDE2OjE3OjAwIC0wMzAwCitTdWJqZWN0OiBbUEFUQ0ggMS80XSBTaW1wbGlmeSB3YXlsYW5kLXNjYW5uZXIgbG9va3VwCiBPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgogCiBEb24ndCB1c2UgcGtnLWNvbmZpZyB0byBsb29rdXAgdGhlIHBhdGggb2YgYSBiaW5hcnkgdGhhdCdzIGluIHRoZSBwYXRoLgpAQCAtMTIsMjEgKzEyLDI2IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIFNpZ25lZC1vZmYtYnk6IEp1c3NpIEt1a2tvbmVuIDxqdXNzaS5rdWtrb25lbkBpbnRlbC5jb20+CiBTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KIC0tLQogIGNvbmZpZ3VyZS5hYyB8IDcgKy0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggMTRmMWFmMmIyZi4uOTE2ZDBiZDIwNyAxMDA2NDQKK2luZGV4IDFlZjY4ZmU2OGU2Li4xODE2YTRjZDQ3NSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTgyNSwxMiArMTgyNSw3IEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCi0gICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9QUk9UT0NPTFNdLCBbd2F5bGFuZC1wcm90b2NvbHMgPj0gJFdBWUxBTkRfUFJPVE9DT0xTX1JFUVVJUkVEXSkKK0BAIC0xODU0LDE2ICsxODU0LDExIEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCisgICAgICAgICBmaQogICAgICAgICAgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1wa2dkYXRhZGlyIHdheWxhbmQtcHJvdG9jb2xzYAogIAogLSAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfU0NBTk5FUl0sIFt3YXlsYW5kLXNjYW5uZXJdLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgV0FZTEFORF9TQ0FOTkVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXdheWxhbmRfc2Nhbm5lciB3YXlsYW5kLXNjYW5uZXJgLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgV0FZTEFORF9TQ0FOTkVSPScnKQorICAgICAgICAgUEtHX0NIRUNLX0VYSVNUUyhbd2F5bGFuZC1zY2FubmVyID49IDEuMTVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoU0NBTk5FUl9BUkcsICdwcml2YXRlLWNvZGUnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDX1NVQlNUKFNDQU5ORVJfQVJHLCAnY29kZScpKQorIAogLSAgICAgICAgaWYgdGVzdCAieCRXQVlMQU5EX1NDQU5ORVIiID0geDsgdGhlbgogLSAgICAgICAgICAgIEFDX1BBVEhfUFJPRyhbV0FZTEFORF9TQ0FOTkVSXSwgW3dheWxhbmQtc2Nhbm5lcl0sIFs6XSkKIC0gICAgICAgIGZpCkBAIC0zNSw1ICs0MCw1IEBACiAgICAgICAgICBpZiB0ZXN0ICJ4JFdBWUxBTkRfU0NBTk5FUiIgPSAieDoiOyB0aGVuCiAgICAgICAgICAgICAgICAgIEFDX01TR19FUlJPUihbd2F5bGFuZC1zY2FubmVyIGlzIG5lZWRlZCB0byBjb21waWxlIHRoZSB3YXlsYW5kIHBsYXRmb3JtXSkKIC0tIAotMi4xOC4wCisyLjIxLjAKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoCmluZGV4IGZmYjNiZjcuLmFhZWIwZjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMi13aW5zeXMtc3ZnYS1kcm0tSW5jbHVkZS1zeXMtdHlwZXMuaC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDItd2luc3lzLXN2Z2EtZHJtLUluY2x1ZGUtc3lzLXR5cGVzLmgucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDc3OTJmMjI4OTkxNzQ0YTAzOTZiOGJmODExZTI4MWRjYTg2MTY1ZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGYyMTJiNmJlZDRiZjI2NWFlYzA2OWMyMWNkYzRiN2MyZDljYjMyZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogRGF0ZTogV2VkLCAxNiBBdWcgMjAxNyAxODo1ODoyMCAtMDcwMAotU3ViamVjdDogW1BBVENIIDIvNl0gd2luc3lzL3N2Z2EvZHJtOiBJbmNsdWRlIHN5cy90eXBlcy5oCitTdWJqZWN0OiBbUEFUQ0ggMi80XSB3aW5zeXMvc3ZnYS9kcm06IEluY2x1ZGUgc3lzL3R5cGVzLmgKIE9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCiAKIHZtd19zY3JlZW4uaCB1c2VzIGRldl90IHdoaWNoIGlzIGRlZmluZXMgaW4gc3lzL3R5cGVzLmgKQEAgLTEzLDEyICsxMywxMyBAQAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzdkZmRmYmY4YzM3ZTUyZTdiOWIwOWY3ZDFkNDM0ZWRhZDNlYmM4NjRdCiBTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorU2lnbmVkLW9mZi1ieTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KIC0tLQogIHNyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmggfCAxICsKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKIAogZGlmZiAtLWdpdCBhL3NyYy9nYWxsaXVtL3dpbnN5cy9zdmdhL2RybS92bXdfc2NyZWVuLmggYi9zcmMvZ2FsbGl1bS93aW5zeXMvc3ZnYS9kcm0vdm13X3NjcmVlbi5oCi1pbmRleCBmMjFjYWJiNTFmLi40Yzk3MmZkYWE5IDEwMDY0NAoraW5kZXggYTg3YzA4N2Q5YzUuLmNiMzRmZWM0OGU3IDEwMDY0NAogLS0tIGEvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW4uaAogKysrIGIvc3JjL2dhbGxpdW0vd2luc3lzL3N2Z2EvZHJtL3Ztd19zY3JlZW4uaAogQEAgLTQxLDYgKzQxLDcgQEAKQEAgLTMwLDUgKzMxLDUgQEAKICAjZGVmaW5lIFZNV19HTVJfUE9PTF9TSVpFICgxNioxMDI0KjEwMjQpCiAgI2RlZmluZSBWTVdfUVVFUllfUE9PTF9TSVpFICg4MTkyKQogLS0gCi0yLjE4LjAKKzIuMjEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCmluZGV4IDVlNzM1Y2EuLjk2ZWRjMjEgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotRnJvbSA4YjQyZmI0NzEzOGY5MWQ5Mzc4NDM5YWI3MTZiYWM3NzAxZTRlMzI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBjZTdiOWZmNjUxN2ZkYTA4OWYyOTZiMmFmMmMxYzQ5NjA0ODcyNTE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KIERhdGU6IFR1ZSwgNSBKdW4gMjAxOCAxMToxMToxMCAtMDMwMAotU3ViamVjdDogW1BBVENIIDMvNl0gUHJvcGVybHkgZ2V0IExMVk0gdmVyc2lvbiB3aGVuIHVzaW5nIExMVk0gR2l0IHJlbGVhc2VzCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBQcm9wZXJseSBnZXQgTExWTSB2ZXJzaW9uIHdoZW4gdXNpbmcgTExWTSBHaXQgcmVsZWFzZXMKIE9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCiAKICQgbGx2bS1jb25maWctaG9zdCAtLXZlcnNpb24KQEAgLTEzLDE1ICsxMywxNiBAQAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CiAtLS0KICBjb25maWd1cmUuYWMgfCA0ICsrLS0KICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA5MTZkMGJkMjA3Li5kZDE3MmYxZWJlIDEwMDY0NAoraW5kZXggMTgxNmE0Y2Q0NzUuLjEzZmVkOWRhZjU5IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC0xMDkwLDcgKzEwOTAsNyBAQCBzdHJpcF91bndhbnRlZF9sbHZtX2ZsYWdzKCkgeworQEAgLTExMjQsNyArMTEyNCw3IEBAIHN0cmlwX3Vud2FudGVkX2xsdm1fZmxhZ3MoKSB7CiAgCiAgbGx2bV9zZXRfZW52aXJvbm1lbnRfdmFyaWFibGVzKCkgewogICAgICBpZiB0ZXN0ICJ4JExMVk1fQ09ORklHIiAhPSB4bm87IHRoZW4KQEAgLTMwLDcgKzMxLDcgQEAKICAgICAgICAgIExMVk1fQ1BQRkxBR1M9YHN0cmlwX3Vud2FudGVkX2xsdm1fZmxhZ3MgIiRMTFZNX0NPTkZJRyAtLWNwcGZsYWdzImAKICAgICAgICAgIExMVk1fSU5DTFVERURJUj1gJExMVk1fQ09ORklHIC0taW5jbHVkZWRpcmAKICAgICAgICAgIExMVk1fTElCRElSPWAkTExWTV9DT05GSUcgLS1saWJkaXJgCi1AQCAtMjgwOCw3ICsyODA4LDcgQEAgZGV0ZWN0X29sZF9idWdneV9sbHZtKCkgeworQEAgLTI4NzAsNyArMjg3MCw3IEBAIGRldGVjdF9vbGRfYnVnZ3lfbGx2bSgpIHsKICAgICAgZG5sIG91cnNlbHZlcy4KICAgICAgZG5sIChTZWUgaHR0cHM6Ly9sbHZtLm9yZy9idWdzL3Nob3dfYnVnLmNnaT9pZD02ODIzKQogICAgICBkbmwgV2UgY2FuJ3QgdXNlICRMTFZNX1ZFUlNJT04gYmVjYXVzZSBpdCBoYXMgJ3N2bicgc3RyaXBwZWQgb3V0LApAQCAtNDAsNSArNDEsNSBAQAogIAogICAgICBpZiB0ZXN0ICJ4JGxsdm1faGF2ZV9vbmVfc28iID0geHllczsgdGhlbgogLS0gCi0yLjE4LjAKKzIuMjEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtVXNlLVB5dGhvbi0zLXRvLWV4ZWN1dGUtdGhlLXNjcmlwdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtVXNlLVB5dGhvbi0zLXRvLWV4ZWN1dGUtdGhlLXNjcmlwdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5NTNjNGEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotRnJvbSBlYmU2MDc3YTFkNzRlNTZiMjgyNDlmNzFlODc2MDI5NWZhODQ2ZWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLURhdGU6IEZyaSwgMjkgRGVjIDIwMTcgMTA6Mjc6NTkgLTAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzZdIFVzZSBQeXRob24gMyB0byBleGVjdXRlIHRoZSBzY3JpcHRzCi1Pcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgotCi1UaGUgTUVTQSBidWlsZCBzeXN0ZW0gdXNlcyBQeXRob24gMiBidXQgYXMgT0UtQ29yZSBoYXMgbW92ZWQgYXdheSBmcm9tCi1pdCwgd2UgY2hhbmdlIGl0IHRvIHVzZSBQeXRob24gMyBpbnN0ZWFkLgotCi1VcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgWyBjb25maWd1cmF0aW9uIF0KLQotU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KLS0tLQotIGNvbmZpZ3VyZS5hYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggZGQxNzJmMWViZS4uNDBjYWMzNmFjMiAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTIyLDcgKzEyMiw3IEBAIEFNX1BST0dfQ0NfQ19PCi0gQUNfUFJPR19OTQotIEFNX1BST0dfQVMKLSBBWF9DSEVDS19HTlVfTUFLRQotLUFDX0NIRUNLX1BST0dTKFtQWVRIT04yXSwgW3B5dGhvbjIuNyBweXRob24yIHB5dGhvbl0pCi0rQUNfQ0hFQ0tfUFJPR1MoW1BZVEhPTjJdLCBbcHl0aG9uMy41IHB5dGhvbjMgcHl0aG9uXSkKLSBBQ19QUk9HX1NFRAotIEFDX1BST0dfTUtESVJfUAotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDQtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWJjZDQ2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA0LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSA1NDg5ZTFkMjJlMTg3NDBhMTkyNDYyOGM1Yzk3MDk2ZDQ4ZGNmYmY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmFiaW8gQmVydG9uIDxmYWJpby5iZXJ0b25Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTA6NTc6MDYgLTAyMDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIHVzZSBQS0dfQ0hFQ0tfVkFSIGZvciBkZWZpbmluZyBXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSCitPcmdhbml6YXRpb246IE8uUy4gU3lzdGVtcyBTb2Z0d2FyZSBMVERBLgorCitUaGlzIGFsbG93cyB0byBvdmVycmlkZSB0aGUgd2F5bGFuZC1wcm90b2NvbHMgcGtnZGF0YWRpciB3aXRoIHRoZQorV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUiBmcm9tIGVudmlyb25tZW50LgorCitwa2djb25maWcgd291bGQgcmV0dXJuIGFuIGFic29sdXRlIHBhdGggaW4KKy91c3Ivc2hhcmUvd2F5bGFuZC1wcm90b2NvbHMKK2ZvciB0aGUgcGtnZGF0YWRpciB2YWx1ZSwgd2hpY2ggaXMgbm90IHN1aXRhYmxlIGZvciBjcm9zcy1jb21waWxpbmcuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK1NpZ25lZC1vZmYtYnk6IEZhYmlvIEJlcnRvbiA8ZmFiaW8uYmVydG9uQG9zc3lzdGVtcy5jb20uYnI+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDEzZmVkOWRhZjU5Li42Y2ZmOGFmYjdjZiAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTg1Miw3ICsxODUyLDcgQEAgZm9yIHBsYXQgaW4gJHBsYXRmb3JtczsgZG8KKyAgICAgICAgIGlmIHRlc3QgIngkZW5hYmxlX2VnbCIgPSB4eWVzOyB0aGVuCisgICAgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX0VHTF0sIFt3YXlsYW5kLWVnbC1iYWNrZW5kID49ICRXQVlMQU5EX0VHTF9CQUNLRU5EX1JFUVVJUkVEXSkKKyAgICAgICAgIGZpCistICAgICAgICBXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXBrZ2RhdGFkaXIgd2F5bGFuZC1wcm90b2NvbHNgCisrICAgICAgICBQS0dfQ0hFQ0tfVkFSKFtXQVlMQU5EX1BST1RPQ09MU19EQVRBRElSXSwgW3dheWxhbmQtcHJvdG9jb2xzID49ICRXQVlMQU5EX1BST1RPQ09MU19SRVFVSVJFRF0sIHBrZ2RhdGFkaXIpCisgCisgICAgICAgICBQS0dfQ0hFQ0tfRVhJU1RTKFt3YXlsYW5kLXNjYW5uZXIgPj0gMS4xNV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ19TVUJTVChTQ0FOTkVSX0FSRywgJ3ByaXZhdGUtY29kZScpLAorLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA1LWRyaS1pOTY1LUFkZC1taXNzaW5nLXRpbWUuaC1pbmNsdWRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA1LWRyaS1pOTY1LUFkZC1taXNzaW5nLXRpbWUuaC1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNDBlN2I1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvZmlsZXMvMDAwNS1kcmktaTk2NS1BZGQtbWlzc2luZy10aW1lLmgtaW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gOWUwMzY4YWY0NzFhZjNhMzZlMGViNTI2NDUzZjg5MjU5ODEyMDA2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBXZWQsIDYgSnVuIDIwMTggMDk6NTA6MzUgLTAzMDAKLVN1YmplY3Q6IFtQQVRDSCA1LzZdIGRyaTogaTk2NTogQWRkIG1pc3NpbmcgdGltZS5oIGluY2x1ZGUKLU9yZ2FuaXphdGlvbjogTy5TLiBTeXN0ZW1zIFNvZnR3YXJlIExUREEuCi0KLVRoaXMgZml4ZXMgYSBidWlsZCBlcnJvciB3aGVuIHVzaW5nIG11c2w6Ci0KLSwtLS0tCi18IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi4vc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9pbnRlbF91cGxvYWQuYzozMzowOgotfCAuLi4vc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmg6MTMyOjQ6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndGltZV90JwotfCAgICAgdGltZV90IGZyZWVfdGltZTsKLXwgICAgIF5+fn5+fgotYC0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbM2MyODhkYTVlZWM4MWVlNThiODU5MjdkZjE4ZDkxOTRlYWQ4ZjVjMl0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBzcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaCB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21lc2EvZHJpdmVycy9kcmkvaTk2NS9icndfYnVmbWdyLmggYi9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaAotaW5kZXggNjhmNWUwYzJjOC4uNWI2MGEyMzc2MyAxMDA2NDQKLS0tLSBhL3NyYy9tZXNhL2RyaXZlcnMvZHJpL2k5NjUvYnJ3X2J1Zm1nci5oCi0rKysgYi9zcmMvbWVzYS9kcml2ZXJzL2RyaS9pOTY1L2Jyd19idWZtZ3IuaAotQEAgLTM3LDYgKzM3LDcgQEAKLSAjaW5jbHVkZSA8c3RkYm9vbC5oPgotICNpbmNsdWRlIDxzdGRpbnQuaD4KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSsjaW5jbHVkZSA8dGltZS5oPgotICNpbmNsdWRlICJ1dGlsL3VfYXRvbWljLmgiCi0gI2luY2x1ZGUgInV0aWwvbGlzdC5oIgotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9maWxlcy8wMDA2LXVzZS1QS0dfQ0hFQ0tfVkFSLWZvci1kZWZpbmluZy1XQVlMQU5EX1BST1RPQ09MU19EQVQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDYtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDIxMjkyMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2ZpbGVzLzAwMDYtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gNzU0Y2NmODlhNzMyZmMzZGE2ZTliYzYyZWJkNmIyODY4NmZmM2QyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci1EYXRlOiBXZWQsIDI5IEF1ZyAyMDE4IDIyOjEwOjMwIC0wMzAwCi1TdWJqZWN0OiBbUEFUQ0ggNi82XSB1c2UgUEtHX0NIRUNLX1ZBUiBmb3IgZGVmaW5pbmcgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUgotT3JnYW5pemF0aW9uOiBPLlMuIFN5c3RlbXMgU29mdHdhcmUgTFREQS4KLQotVGhpcyBhbGxvd3MgdG8gb3ZlcnJpZGUgdGhlIHdheWxhbmQtcHJvdG9jb2xzIHBrZ2RhdGFkaXIgd2l0aCB0aGUKLVdBWUxBTkRfUFJPVE9DT0xTX0RBVEFESVIgZnJvbSBlbnZpcm9ubWVudC4KLQotcGtnY29uZmlnIHdvdWxkIHJldHVybiBhbiBhYnNvbHV0ZSBwYXRoIGluCi0vdXNyL3NoYXJlL3dheWxhbmQtcHJvdG9jb2xzCi1mb3IgdGhlIHBrZ2RhdGFkaXIgdmFsdWUsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSBmb3IgY3Jvc3MtY29tcGlsaW5nLgotCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDQwY2FjMzZhYzIuLjcyOGJiZGNiYzQgMTAwNjQ0Ci0tLS0gYS9jb25maWd1cmUuYWMKLSsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4MjMsNyArMTgyMyw3IEBAIGZvciBwbGF0IGluICRwbGF0Zm9ybXM7IGRvCi0gICAgICAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhbV0FZTEFORF9DTElFTlRdLCBbd2F5bGFuZC1jbGllbnQgPj0gJFdBWUxBTkRfUkVRVUlSRURdKQotICAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoW1dBWUxBTkRfU0VSVkVSXSwgW3dheWxhbmQtc2VydmVyID49ICRXQVlMQU5EX1JFUVVJUkVEXSkKLSAgICAgICAgIFBLR19DSEVDS19NT0RVTEVTKFtXQVlMQU5EX1BST1RPQ09MU10sIFt3YXlsYW5kLXByb3RvY29scyA+PSAkV0FZTEFORF9QUk9UT0NPTFNfUkVRVUlSRURdKQotLSAgICAgICAgV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUj1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1wa2dkYXRhZGlyIHdheWxhbmQtcHJvdG9jb2xzYAotKyAgICAgICAgUEtHX0NIRUNLX1ZBUihbV0FZTEFORF9QUk9UT0NPTFNfREFUQURJUl0sIFt3YXlsYW5kLXByb3RvY29scyA+PSAkV0FZTEFORF9QUk9UT0NPTFNfUkVRVUlSRURdLCBwa2dkYXRhZGlyKQotIAotICAgICAgICAgQUNfUEFUSF9QUk9HKFtXQVlMQU5EX1NDQU5ORVJdLCBbd2F5bGFuZC1zY2FubmVyXSwgWzpdKQotIAotLS0gCi0yLjE4LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE4LjEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1nbF8xOC4xLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczMjY3ZWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE4LjEuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDkgKzAsMCBAQAotcmVxdWlyZSBtZXNhXyR7UFZ9LmJiCi0KLVNVTU1BUlkgKz0gIiAoT3BlbkdMIG9ubHksIG5vIEVHTC9HTEVTKSIKLQotUFJPVklERVMgPSAidmlydHVhbC9saWJnbCB2aXJ0dWFsL21lc2EiCi0KLVMgPSAiJHtXT1JLRElSfS9tZXNhLSR7UFZ9IgotCi1QQUNLQUdFQ09ORklHID8/PSAib3BlbmdsIGRyaSAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfMTkuMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE5LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGIxYzFjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzE5LjAuMS5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIG1lc2FfJHtQVn0uYmIKKworU1VNTUFSWSArPSAiIChPcGVuR0wgb25seSwgbm8gRUdML0dMRVMpIgorCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmdsIHZpcnR1YWwvbWVzYSIKKworUyA9ICIke1dPUktESVJ9L21lc2EtJHtQVn0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICJvcGVuZ2wgZHJpICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID0gIm9wZW5nbCBkcmkgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMKaW5kZXggZjQ3ZjFhYS4uZWNlNzQ5NyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EuaW5jCkBAIC0yNiw3ICsyNiw5IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBweXRob24zbmF0aXZlIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCiAKLUFOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIHZ1bGthbiIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworQU5ZX09GX0RJU1RST19GRUFUVVJFU19jbGFzcy10YXJnZXQgPSAib3BlbmdsIHZ1bGthbiIKIAogUExBVEZPUk1TID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdQQUNLQUdFQ09ORklHJywgJ3gxMSB3YXlsYW5kJywgZCl9IFwKICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dibScsICdkcm0nLCAnJywgZCl9IFwKQEAgLTQwLDI2ICs0MiwzMSBAQAogICAgICAgICAgICAgICAgIC0tZW5hYmxlLWdseC1yZWFkLW9ubHktdGV4dCBcCiAgICAgICAgICAgICAgICAgUFlUSE9OMj1weXRob24yIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtbGx2bS1wcmVmaXg9JHtTVEFHSU5HX0xJQkRJUn0vbGx2bSR7TUVTQV9MTFZNX1JFTEVBU0V9IFwKLSAgICAgICAgICAgICAgICAtLXdpdGgtcGxhdGZvcm1zPScke1BMQVRGT1JNU30nIgorICAgICAgICAgICAgICAgIC0td2l0aC1wbGF0Zm9ybXM9JyR7UExBVEZPUk1TfScgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLWF1dG90b29scyBcCisiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kIHZ1bGthbicsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnb3BlbmdsIGVnbCBnbGVzIGdibSBkcmknLCAnJywgZCl9IFwKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnd2F5bGFuZCB2dWxrYW4nLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCBlZ2wgZ2xlcyBnYm0gZHJpIGdhbGxpdW0nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSBvcGVuZ2wnLCAneDExIGRyaTMnLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMSB2dWxrYW4nLCAnZHJpMycsICcnLCBkKX0gXAogCQkgICAiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA/PSAiZ2JtIGRyaSBlZ2wgb3BlbmdsIgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmVzZGsgPz0gImdibSBkcmkgZWdsIG9wZW5nbCIKIAogIyAiZ2JtIiByZXF1aXJlcyAiZHJpIiwgIm9wZW5nbCIKIFBBQ0tBR0VDT05GSUdbZ2JtXSA9ICItLWVuYWJsZS1nYm0sLS1kaXNhYmxlLWdibSIKIAotWDExX0RFUFMgPSAieG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHhmODZ2bSBsaWJ4ZGFtYWdlIGxpYnhmaXhlcyIKK1gxMV9ERVBTID0gInhvcmdwcm90byB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnh4Zjg2dm0gbGlieGRhbWFnZSBsaWJ4Zml4ZXMgeHJhbmRyIgogIyAieDExIiByZXF1aXJlcyAib3BlbmdsIgogUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLWdseC10bHMsLS1kaXNhYmxlLWdseCwke1gxMV9ERVBTfSIKIFBBQ0tBR0VDT05GSUdbeHZtY10gPSAiLS1lbmFibGUteHZtYywtLWRpc2FibGUteHZtYyxsaWJ4dm1jIgogUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICIsLHdheWxhbmQtbmF0aXZlIHdheWxhbmQgbGliZHJtIHdheWxhbmQtcHJvdG9jb2xzIgogCi1EUklEUklWRVJTID0gInN3cmFzdCIKLURSSURSSVZFUlNfYXBwZW5kX3g4NiA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCi1EUklEUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiLHJhZGVvbixyMjAwLG5vdXZlYXUsaTk2NSxpOTE1IgorRFJJRFJJVkVSU19jbGFzcy1uYXRpdmUgPSAic3dyYXN0IgorRFJJRFJJVkVSU19jbGFzcy1uYXRpdmVzZGsgPSAic3dyYXN0IgorRFJJRFJJVkVSU19hcHBlbmRfeDg2X2NsYXNzLXRhcmdldCA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCitEUklEUklWRVJTX2FwcGVuZF94ODYtNjRfY2xhc3MtdGFyZ2V0ID0gIixyYWRlb24scjIwMCxub3V2ZWF1LGk5NjUsaTkxNSIKICMgImRyaSIgcmVxdWlyZXMgIm9wZW5nbCIKIFBBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmkgLS13aXRoLWRyaS1kcml2ZXJzPSR7RFJJRFJJVkVSU30sIC0tZGlzYWJsZS1kcmksIHhvcmdwcm90byBsaWJkcm0iCiBQQUNLQUdFQ09ORklHW2RyaTNdID0gIi0tZW5hYmxlLWRyaTMsIC0tZGlzYWJsZS1kcmkzLCB4b3JncHJvdG8gbGlieHNobWZlbmNlIgpAQCAtNjcsOCArNzQsOCBAQAogIyBWdWxrYW4gZHJpdmVycyBuZWVkIGRyaTMgZW5hYmxlZAogIyByYWRlb24gY291bGQgYmUgZW5hYmxlZCBhcyB3ZWxsIGJ1dCByZXF1aXJlcyBnYWxsaXVtLWxsdm0gd2l0aCBsbHZtID49IDMuOQogVlVMS0FOX0RSSVZFUlMgPSAiIgotVlVMS0FOX0RSSVZFUlNfYXBwZW5kX3g4NiA9ICIsaW50ZWwiCi1WVUxLQU5fRFJJVkVSU19hcHBlbmRfeDg2LTY0ID0gIixpbnRlbCIKK1ZVTEtBTl9EUklWRVJTX2FwcGVuZF94ODZfY2xhc3MtdGFyZ2V0ID0gIixpbnRlbCIKK1ZVTEtBTl9EUklWRVJTX2FwcGVuZF94ODYtNjRfY2xhc3MtdGFyZ2V0ID0gIixpbnRlbCIKIFBBQ0tBR0VDT05GSUdbdnVsa2FuXSA9ICItLXdpdGgtdnVsa2FuLWRyaXZlcnM9JHtWVUxLQU5fRFJJVkVSU30sIC0td2l0aG91dC12dWxrYW4tZHJpdmVycywgcHl0aG9uMy1tYWtvLW5hdGl2ZSIKIAogUEFDS0FHRUNPTkZJR1tvcGVuZ2xdID0gIi0tZW5hYmxlLW9wZW5nbCwgLS1kaXNhYmxlLW9wZW5nbCIKQEAgLTg1LDE3ICs5MiwyMSBAQAogR0FMTElVTURSSVZFUlMgPSAic3dyYXN0IgogR0FMTElVTURSSVZFUlNfYXBwZW5kID0iJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZXRuYXZpdicsICcsZXRuYXZpdicsICcnLCBkKX0iCiBHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdpbXgnLCAnLGlteCcsICcnLCBkKX0iCi1HQUxMSVVNRFJJVkVSU19MTFZNMzMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncjYwMCcsICdyYWRlb25zaSxyNjAwJywgJycsIGQpfSIKLVBBQ0tBR0VDT05GSUdbcjYwMF0gPSAiIgorCisjIHJhZGVvbnNpIHJlcXVpcmVzIExMVk0KK0dBTExJVU1EUklWRVJTX0xMVk0zMyA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyNjAwJywgJyxyYWRlb25zaScsICcnLCBkKX0iCiBHQUxMSVVNRFJJVkVSU19MTFZNMzNfRU5BQkxFRCA9ICIke0BvZS51dGlscy52ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ01FU0FfTExWTV9SRUxFQVNFJywgJzMuMicsIEZhbHNlLCBsZW4oJyR7R0FMTElVTURSSVZFUlNfTExWTTMzfScpID4gMCwgZCl9IgogR0FMTElVTURSSVZFUlNfTExWTSA9ICJyMzAwLHN2Z2Esbm91dmVhdSR7QCcsJHtHQUxMSVVNRFJJVkVSU19MTFZNMzN9JyBpZiAke0dBTExJVU1EUklWRVJTX0xMVk0zM19FTkFCTEVEfSBlbHNlICcnfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKLUdBTExJVU1EUklWRVJTX2FwcGVuZF94ODYgPSAiLHZpcmdsIgotR0FMTElVTURSSVZFUlNfYXBwZW5kX3g4Ni02NCA9ICIsdmlyZ2wiCisKK1BBQ0tBR0VDT05GSUdbcjYwMF0gPSAiIgorCitHQUxMSVVNRFJJVkVSU19hcHBlbmQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdyNjAwJywgJyxyNjAwJywgJycsIGQpfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZCA9ICIsdmlyZ2wiCisKICMga2VlcCAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzIHNlcGFyYXRlLCBiZWNhdXNlIHdoZW4gb25seSBvbmUgb2YgZ2FsbGl1bSB2ZXJzaW9ucyBpcyBlbmFibGVkLCBvdGhlciAyIHdlcmUgYWRkaW5nIC0td2l0aG91dC1nYWxsaXVtLWRyaXZlcnMKLVBBQ0tBR0VDT05GSUdbZ2FsbGl1bV0gICAgICA9ICItLWVuYWJsZS10ZXh0dXJlLWZsb2F0IC0td2l0aC1nYWxsaXVtLWRyaXZlcnM9JHtHQUxMSVVNRFJJVkVSU30sIC0td2l0aG91dC1nYWxsaXVtLWRyaXZlcnMiCi1NRVNBX0xMVk1fUkVMRUFTRSA/PSAiNi4wIgorUEFDS0FHRUNPTkZJR1tnYWxsaXVtXSA9ICItLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPSR7R0FMTElVTURSSVZFUlN9LCAtLXdpdGhvdXQtZ2FsbGl1bS1kcml2ZXJzIgorTUVTQV9MTFZNX1JFTEVBU0UgPz0gIjguMC4wIgogUEFDS0FHRUNPTkZJR1tnYWxsaXVtLWxsdm1dID0gIi0tZW5hYmxlLWxsdm0gLS1lbmFibGUtbGx2bS1zaGFyZWQtbGlicywgLS1kaXNhYmxlLWxsdm0sIGxsdm0ke01FU0FfTExWTV9SRUxFQVNFfSBsbHZtLW5hdGl2ZSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtAJ2VsZnV0aWxzJyBpZiAke0dBTExJVU1EUklWRVJTX0xMVk0zM19FTkFCTEVEfSBlbHNlICcnfSIKIGV4cG9ydCBXQU5UX0xMVk1fUkVMRUFTRSA9ICIke01FU0FfTExWTV9SRUxFQVNFfSIKQEAgLTE0MSw2ICsxNTIsNyBAQAogICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vZ2FsbGl1bS1waXBlLyoubGEKICAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2dibS8qLmxhCiAKKyAgICAjIGl0IHdhcyBwYWNrYWdlZCBpbiBsaWJkcmljb3JlOS4xLjMtMSBhbmQgcHJldmVudGluZyB1cGdyYWRlcyB3aGVuIGRlYmlhbi5iYmNsYXNzIHdhcyB1c2VkIAogICAgIGNocnBhdGggLS1kZWxldGUgJHtEfSR7bGliZGlyfS9kcmkvKl9kcmkuc28gfHwgdHJ1ZQogCiAgICAgIyBsaWJ3YXlsYW5kLWVnbCBoYXMgYmVlbiBtb3ZlZCB0byB3YXlsYW5kIDEuMTUrCkBAIC0xOTIsNyArMjA0LDcgQEAKICAgICAgICAgZHJpX3BrZ3MgPSBvcy5saXN0ZGlyKGRyaV9kcml2ZXJzX3Jvb3QpCiAgICAgICAgIGxpYl9uYW1lID0gZC5leHBhbmQoIiR7TUxQUkVGSVh9bWVzYS1tZWdhZHJpdmVyIikKICAgICAgICAgZm9yIHAgaW4gZHJpX3BrZ3M6Ci0gICAgICAgICAgICBtID0gcmUubWF0Y2goJ14oLiopX2RyaVwuc28kJywgcCkKKyAgICAgICAgICAgIG0gPSByZS5tYXRjaChyJ14oLiopX2RyaVwuc28kJywgcCkKICAgICAgICAgICAgIGlmIG06CiAgICAgICAgICAgICAgICAgcGtnX25hbWUgPSAiICR7TUxQUkVGSVh9bWVzYS1kcml2ZXItJXMiICUgbGVnaXRpbWl6ZV9wYWNrYWdlX25hbWUobS5ncm91cCgxKSkKICAgICAgICAgICAgICAgICBkLmFwcGVuZFZhcigiUlBST1ZJREVTXyVzIiAlIGxpYl9uYW1lLCBwa2dfbmFtZSkKQEAgLTIwMCwxNSArMjEyLDE0IEBACiAgICAgICAgICAgICAgICAgZC5hcHBlbmRWYXIoIlJSRVBMQUNFU18lcyIgJSBsaWJfbmFtZSwgcGtnX25hbWUpCiAKICAgICBwaXBlX2RyaXZlcnNfcm9vdCA9IG9zLnBhdGguam9pbihkLmdldFZhcignbGliZGlyJyksICJnYWxsaXVtLXBpcGUiKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBpcGVfZHJpdmVyc19yb290LCAnXnBpcGVfKC4qKVwuc28kJywgJ21lc2EtZHJpdmVyLXBpcGUtJXMnLCAnTWVzYSAlcyBwaXBlIGRyaXZlcicsIGV4dHJhX2RlcGVuZHM9JycpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGlwZV9kcml2ZXJzX3Jvb3QsIHInXnBpcGVfKC4qKVwuc28kJywgJ21lc2EtZHJpdmVyLXBpcGUtJXMnLCAnTWVzYSAlcyBwaXBlIGRyaXZlcicsIGV4dHJhX2RlcGVuZHM9JycpCiB9CiAKIFBBQ0tBR0VTUExJVEZVTkNTX3ByZXBlbmQgPSAibWVzYV9wb3B1bGF0ZV9wYWNrYWdlcyAiCiAKIFBBQ0tBR0VTX0RZTkFNSUMgKz0gIl5tZXNhLWRyaXZlci0uKiIKIAotRklMRVNfJHtQTn0gPSAiIgotRklMRVNfbWVzYS1tZWdhZHJpdmVyID0gIiR7bGliZGlyfS9kcmkvKiAke3N5c2NvbmZkaXJ9IgorRklMRVNfbWVzYS1tZWdhZHJpdmVyID0gIiR7bGliZGlyfS9kcmkvKiAke2RhdGFkaXJ9L2RyaXJjLmQvMDAtbWVzYS1kZWZhdWx0cy5jb25mIgogRklMRVNfbWVzYS12dWxrYW4tZHJpdmVycyA9ICIke2xpYmRpcn0vbGlidnVsa2FuXyouc28gJHtkYXRhZGlyfS92dWxrYW4iCiBGSUxFU19saWJlZ2wtbWVzYSA9ICIke2xpYmRpcn0vbGliRUdMLnNvLioiCiBGSUxFU19saWJnYm0gPSAiJHtsaWJkaXJ9L2xpYmdibS5zby4qIgpAQCAtMjMxLDMgKzI0Miw4IEBACiBGSUxFU19saWJ4YXRyYWNrZXItZGV2ID0gIiR7bGliZGlyfS9saWJ4YXRyYWNrZXIuc28gJHtsaWJkaXJ9L2xpYnhhdHJhY2tlci5sYSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0veGFfdHJhY2tlci5oICR7aW5jbHVkZWRpcn0veGFfY29tcG9zaXRlLmggJHtpbmNsdWRlZGlyfS94YV9jb250ZXh0LmggXAogICAgICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL3hhdHJhY2tlci5wYyIKKworIyBGaXggdXBncmFkZSBwYXRoIGZyb20gbWVzYSB0byBtZXNhLW1lZ2Fkcml2ZXIKK1JSRVBMQUNFU19tZXNhLW1lZ2Fkcml2ZXIgPSAibWVzYSIKK1JDT05GTElDVFNfbWVzYS1tZWdhZHJpdmVyID0gIm1lc2EiCitSUFJPVklERVNfbWVzYS1tZWdhZHJpdmVyID0gIm1lc2EiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTguMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE4LjEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODZkNmE2Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTguMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotcmVxdWlyZSAke0JQTn0uaW5jCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9tZXNhLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlL21lc2EtJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtU2ltcGxpZnktd2F5bGFuZC1zY2FubmVyLWxvb2t1cC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXdpbnN5cy1zdmdhLWRybS1JbmNsdWRlLXN5cy10eXBlcy5oLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtUHJvcGVybHktZ2V0LUxMVk0tdmVyc2lvbi13aGVuLXVzaW5nLUxMVk0tR2l0LXJlbGVhcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LVVzZS1QeXRob24tMy10by1leGVjdXRlLXRoZS1zY3JpcHRzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtZHJpLWk5NjUtQWRkLW1pc3NpbmctdGltZS5oLWluY2x1ZGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNi11c2UtUEtHX0NIRUNLX1ZBUi1mb3ItZGVmaW5pbmctV0FZTEFORF9QUk9UT0NPTFNfREFULnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJmOGQyMDk4YWI0NzhiYzM5MDdlNDIxMzA1NzdiNTRhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjU1ZjU3NzhkNThhNzEwYTYzZDY2MzVmMDAwNTM1NzY4ZmFmN2RiOWU4MTQ0ZGMwZjRmZDE5ODlmOTM2YzFhODMiCi0KLSNiZWNhdXNlIHdlIGNhbm5vdCByZWx5IG9uIHRoZSBmYWN0IHRoYXQgYWxsIGFwcHMgd2lsbCB1c2UgcGtnY29uZmlnLAotI21ha2UgZWdscGxhdGZvcm0uaCBpbmRlcGVuZGVudCBvZiBNRVNBX0VHTF9OT19YMTFfSEVBREVSCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdlZ2wnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBzZWQgLWkgLWUgJ3MvXiNpZiBkZWZpbmVkKE1FU0FfRUdMX05PX1gxMV9IRUFERVJTKSQvI2lmIGRlZmluZWQoTUVTQV9FR0xfTk9fWDExX0hFQURFUlMpIHx8ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3gxMScsICcwJywgJzEnLCBkKX0vJyAke0R9JHtpbmNsdWRlZGlyfS9FR0wvZWdscGxhdGZvcm0uaAotICAgIGZpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTkuMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE5LjAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTBiZThhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzE5LjAuMS5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJodHRwczovL21lc2EuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmUvbWVzYS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1TaW1wbGlmeS13YXlsYW5kLXNjYW5uZXItbG9va3VwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItd2luc3lzLXN2Z2EtZHJtLUluY2x1ZGUtc3lzLXR5cGVzLmgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1Qcm9wZXJseS1nZXQtTExWTS12ZXJzaW9uLXdoZW4tdXNpbmctTExWTS1HaXQtcmVsZWFzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtdXNlLVBLR19DSEVDS19WQVItZm9yLWRlZmluaW5nLVdBWUxBTkRfUFJPVE9DT0xTX0RBVC5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOTYzNmJiM2RhMzVjMjFmNDMwNDBkMzFlNTc1ZDVjZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODg0MTYzYzBlYTllNGM5ODM3OGFiOGZlY2Q3MmZlN2I1ZjQzNzcxM2ExNDQ3MWJlZGEzNzhkZjI0Nzk5OWQ0IgorCisjYmVjYXVzZSB3ZSBjYW5ub3QgcmVseSBvbiB0aGUgZmFjdCB0aGF0IGFsbCBhcHBzIHdpbGwgdXNlIHBrZ2NvbmZpZywKKyNtYWtlIGVnbHBsYXRmb3JtLmggaW5kZXBlbmRlbnQgb2YgTUVTQV9FR0xfTk9fWDExX0hFQURFUgorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZWdsJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgc2VkIC1pIC1lICdzL14jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykkLyNpZiBkZWZpbmVkKE1FU0FfRUdMX05PX1gxMV9IRUFERVJTKSB8fCAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAnMCcsICcxJywgZCl9LycgJHtEfSR7aW5jbHVkZWRpcn0vRUdML2VnbHBsYXRmb3JtLmgKKyAgICBmaQorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vMDAwMS1FbmZvcmNlLXJlY3JlYXRpb24tb2YtZG9jcy1wYW5nby50eXBlcy1pdC1pcy1idWlsZC1jLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vMDAwMS1FbmZvcmNlLXJlY3JlYXRpb24tb2YtZG9jcy1wYW5nby50eXBlcy1pdC1pcy1idWlsZC1jLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2Nzg0YTEwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0NyArMCwwIEBACi1Gcm9tIDUyNmE2YTlmYzlhMWNmZTc1YzUyMWM4YmIzOWI2MTc1NGZlNDJmZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMiBTZXAgMjAxNiAxNDowMDoyNCArMDMwMAotU3ViamVjdDogW1BBVENIXSBFbmZvcmNlIHJlY3JlYXRpb24gb2YgZG9jcy9wYW5nby50eXBlczsgaXQgaXMgYnVpbGQKLSBjb25maWd1cmF0aW9uLXNwZWNpZmljLgotCi1JbiBwYXJ0aWN1bGFyLCBpdCBuZWVkcyB0byBleGNsdWRlIHJlZmVyZW5jZXMgdG8gUGFuZ29YZnQgaWYgWGZ0IGlzIG5vdCBhdmFpbGFibGUuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0tLS0KLSBkb2NzL01ha2VmaWxlLmFtIHwgMTcgKysrKy0tLS0tLS0tCi0gZG9jcy9wYW5nby50eXBlcyB8IDgwIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDkyIGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL3BhbmdvLnR5cGVzCi0KLWRpZmYgLS1naXQgYS9kb2NzL01ha2VmaWxlLmFtIGIvZG9jcy9NYWtlZmlsZS5hbQotaW5kZXggZjVmMTMxNy4uODk0N2E5OSAxMDA2NDQKLS0tLSBhL2RvY3MvTWFrZWZpbGUuYW0KLSsrKyBiL2RvY3MvTWFrZWZpbGUuYW0KLUBAIC00OSw2ICs0OSwxMCBAQCBJR05PUkVfSEZJTEVTPQkJCVwKLSAJcGFuZ29jb3JldGV4dC1wcml2YXRlLmgJCVwKLSAJcGFuZ29hdHN1aS1wcml2YXRlLmgKLSAKLStpZiAhSEFWRV9YRlQKLStJR05PUkVfSEZJTEVTICs9IHBhbmdveGZ0IHBhbmdveGZ0LXJlbmRlci5oCi0rZW5kaWYKLSsKLSAjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIHNjYW4gcHJvZ3JhbS4gT25seSBuZWVkZWQKLSAjIGlmICQoRE9DX01PRFVMRSkudHlwZXMgaXMgbm9uLWVtcHR5LgotIElOQ0xVREVTID0gICAgICAgICAgICAgICAJXAotQEAgLTEwMywxNiArMTA3LDYgQEAgaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2d0ay1kb2MubWFrZQotICMgVGhpcyBsaW5lIHJlYWxseSBiZWxvbmdzIGluIGd0ay1kb2MubWsKLSAkKFJFUE9SVF9GSUxFUyk6IHNnbWwtYnVpbGQuc3RhbXAKLSAKLS1wYW5nby50eXBlczoKLS0JQGVjaG8gIlJlYnVpbGRpbmcgJEAiCi0tCUBMQU5HPUM7IExJU1Q9JCQoZ3JlcCAncGFuZ29fW19hLXpBLVowLTldKl9nZXRfdHlwZScgJChIRklMRV9HTE9CKSB8IGdyZXAgLXYgJ1wocHJpdmF0ZVx8YXRzdWlcfGNvcmVfdGV4dFx8d2luMzJcKScgfCBzZWQgJ3MvXChbXjpdKjpcKS4qXChwYW5nb1tfYS16QS1aMC05XSpfZ2V0X3R5cGVcKS4qL1wxXDIvJykgJiYgXAotLQllY2hvICIkJExJU1QiIHwgc2VkICdzLy4qXC9cKHBhbmdvXC8uKlwpOi4qLyNpbmNsdWRlIDxcMT4vJyB8IHNvcnQgLXUgPiAkQC50bXAgJiYgXAotLQllY2hvID4+ICRALnRtcCAmJiBcCi0tCWVjaG8gIiQkTElTVCIgfCBjdXQgLWQgOiAtZiAyIHwgc29ydCAtdSA+PiAkQC50bXAgJiYgXAotLQltdiAkQC50bXAgJEAKLS0KLS1CVUlMVF9TT1VSQ0VTID0gcGFuZ28udHlwZXMKLS0KLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSAKLSBNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9ICQoQlVJTFRfU09VUkNFUykKLUBAIC0xMjAsOCArMTE0LDcgQEAgRVhUUkFfRElTVCArPQkJCQlcCi0gCWxheW91dC5maWcJCQlcCi0gCWxheW91dC5lcHMJCQlcCi0gCXZlcnNpb24ueG1sLmluCQkJXAotLQljaGVjay5kb2NzCQkJXAotLQlwYW5nby50eXBlcwotKwljaGVjay5kb2NzCi0gCi0gIyBmb3JjZSBkb2MgcmVidWxpZCBhZnRlciBjb25maWd1cmUKLSBkaXN0LWhvb2stbG9jYWw6IGRpc3QtbG9jYWwtY2hlY2stbm8tY3Jvc3MtcmVmZXJlbmNlcyBhbGwtbG9jYWwKLWRpZmYgLS1naXQgYS9kb2NzL3BhbmdvLnR5cGVzIGIvZG9jcy9wYW5nby50eXBlcwotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCA3ZDkzY2RhLi4wMDAwMDAwCi0tLS0gYS9kb2NzL3BhbmdvLnR5cGVzCi0rKysgL2Rldi9udWxsCi1AQCAtMSw4MCArMCwwIEBACi0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWF0dHJpYnV0ZXMuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tY29udGV4dC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1lbmdpbmUuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZW51bS10eXBlcy5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1mb250Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWZvbnRtYXAuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tZm9udHNldC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1nbHlwaC1pdGVtLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWdseXBoLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLWl0ZW0uaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tbGFuZ3VhZ2UuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ28tbGF5b3V0Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvLW1hdHJpeC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1vdC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby1yZW5kZXJlci5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nby10YWJzLmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvY2Fpcm8tZmMuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29jYWlyby5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2ZjLWRlY29kZXIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ29mYy1mb250Lmg+Ci0tI2luY2x1ZGUgPHBhbmdvL3BhbmdvZmMtZm9udG1hcC5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb2Z0Mi5oPgotLSNpbmNsdWRlIDxwYW5nby9wYW5nb3hmdC1yZW5kZXIuaD4KLS0jaW5jbHVkZSA8cGFuZ28vcGFuZ294ZnQuaD4KLS0KLS1wYW5nb19hbGlnbm1lbnRfZ2V0X3R5cGUKLS1wYW5nb19hdHRyX2xpc3RfZ2V0X3R5cGUKLS1wYW5nb19hdHRyX3R5cGVfZ2V0X3R5cGUKLS1wYW5nb19iaWRpX3R5cGVfZ2V0X3R5cGUKLS1wYW5nb19jYWlyb19mY19mb250X21hcF9nZXRfdHlwZQotLXBhbmdvX2NhaXJvX2ZvbnRfZ2V0X3R5cGUKLS1wYW5nb19jYWlyb19mb250X21hcF9nZXRfdHlwZQotLXBhbmdvX2NvbG9yX2dldF90eXBlCi0tcGFuZ29fY29udGV4dF9nZXRfdHlwZQotLXBhbmdvX2NvdmVyYWdlX2xldmVsX2dldF90eXBlCi0tcGFuZ29fZGlyZWN0aW9uX2dldF90eXBlCi0tcGFuZ29fZWxsaXBzaXplX21vZGVfZ2V0X3R5cGUKLS1wYW5nb19lbmdpbmVfZ2V0X3R5cGUKLS1wYW5nb19lbmdpbmVfbGFuZ19nZXRfdHlwZQotLXBhbmdvX2VuZ2luZV9zaGFwZV9nZXRfdHlwZQotLXBhbmdvX2ZjX2RlY29kZXJfZ2V0X3R5cGUKLS1wYW5nb19mY19mb250X2dldF90eXBlCi0tcGFuZ29fZmNfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19mb250X2Rlc2NyaXB0aW9uX2dldF90eXBlCi0tcGFuZ29fZm9udF9mYWNlX2dldF90eXBlCi0tcGFuZ29fZm9udF9mYW1pbHlfZ2V0X3R5cGUKLS1wYW5nb19mb250X2dldF90eXBlCi0tcGFuZ29fZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19mb250X21hc2tfZ2V0X3R5cGUKLS1wYW5nb19mb250X21ldHJpY3NfZ2V0X3R5cGUKLS1wYW5nb19mb250c2V0X2dldF90eXBlCi0tcGFuZ29fZm9udHNldF9zaW1wbGVfZ2V0X3R5cGUKLS1wYW5nb19mdDJfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb19nbHlwaF9pdGVtX2dldF90eXBlCi0tcGFuZ29fZ2x5cGhfaXRlbV9pdGVyX2dldF90eXBlCi0tcGFuZ29fZ2x5cGhfc3RyaW5nX2dldF90eXBlCi0tcGFuZ29fZ3Jhdml0eV9nZXRfdHlwZQotLXBhbmdvX2dyYXZpdHlfaGludF9nZXRfdHlwZQotLXBhbmdvX2l0ZW1fZ2V0X3R5cGUKLS1wYW5nb19sYW5ndWFnZV9nZXRfdHlwZQotLXBhbmdvX2xheW91dF9nZXRfdHlwZQotLXBhbmdvX2xheW91dF9pdGVyX2dldF90eXBlCi0tcGFuZ29fbGF5b3V0X2xpbmVfZ2V0X3R5cGUKLS1wYW5nb19tYXRyaXhfZ2V0X3R5cGUKLS1wYW5nb19vdF9pbmZvX2dldF90eXBlCi0tcGFuZ29fb3RfcnVsZXNldF9nZXRfdHlwZQotLXBhbmdvX3JlbmRlcl9wYXJ0X2dldF90eXBlCi0tcGFuZ29fcmVuZGVyZXJfZ2V0X3R5cGUKLS1wYW5nb19zY3JpcHRfZ2V0X3R5cGUKLS1wYW5nb19zdHJldGNoX2dldF90eXBlCi0tcGFuZ29fc3R5bGVfZ2V0X3R5cGUKLS1wYW5nb190YWJfYWxpZ25fZ2V0X3R5cGUKLS1wYW5nb190YWJfYXJyYXlfZ2V0X3R5cGUKLS1wYW5nb191bmRlcmxpbmVfZ2V0X3R5cGUKLS1wYW5nb192YXJpYW50X2dldF90eXBlCi0tcGFuZ29fd2VpZ2h0X2dldF90eXBlCi0tcGFuZ29fd3JhcF9tb2RlX2dldF90eXBlCi0tcGFuZ29feGZ0X2ZvbnRfZ2V0X3R5cGUKLS1wYW5nb194ZnRfZm9udF9tYXBfZ2V0X3R5cGUKLS1wYW5nb194ZnRfcmVuZGVyZXJfZ2V0X3R5cGUKLS0tIAotMi45LjMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vaW5zZW5zaXRpdmUtZGlmZi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFhYTk2MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvL2luc2Vuc2l0aXZlLWRpZmYucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRG8gY2FzZS1pbnNlbnNpdGl2ZSBkaWZmcyBhcyB0aGUgdGVzdCBpcyBzZW5zaXRpdmUgYXMgdG8gd2hldGhlciAweDAgaXMgcHJpbnRlZAorYXMgKG51bGwpIG9yIChOVUxMKS4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9wYW5nby9tZXJnZV9yZXF1ZXN0cy80NF0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS90ZXN0cy9tYXJrdXAtcGFyc2UuYyBiL3Rlc3RzL21hcmt1cC1wYXJzZS5jCitpbmRleCA2MzNmM2U4OS4uMzZkMmM3NzYgMTAwNjQ0CistLS0gYS90ZXN0cy9tYXJrdXAtcGFyc2UuYworKysrIGIvdGVzdHMvbWFya3VwLXBhcnNlLmMKK0BAIC0yMTcsNyArMjE3LDcgQEAgZGlmZl93aXRoX2ZpbGUgKGNvbnN0IGNoYXIgICpmaWxlMSwKKyAgICAgICAgICAgICAgICAgR1N0cmluZyAgICAgKnN0cmluZywKKyAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAqKmVycm9yKQorIHsKKy0gIGNvbnN0IGNoYXIgKmNvbW1hbmRbXSA9IHsgImRpZmYiLCAiLXUiLCBmaWxlMSwgTlVMTCwgTlVMTCB9OworKyAgY29uc3QgY2hhciAqY29tbWFuZFtdID0geyAiZGlmZiIsICItdSIsICItaSIsIGZpbGUxLCBOVUxMLCBOVUxMIH07CisgICBjaGFyICpkaWZmLCAqdG1wZmlsZTsKKyAgIGludCBmZDsKKyAKK0BAIC0yMzcsNyArMjM3LDcgQEAgZGlmZl93aXRoX2ZpbGUgKGNvbnN0IGNoYXIgICpmaWxlMSwKKyAgICAgICBnb3RvIGRvbmU7CisgICAgIH0KKyAgIGNsb3NlIChmZCk7CistICBjb21tYW5kWzNdID0gdG1wZmlsZTsKKysgIGNvbW1hbmRbNF0gPSB0bXBmaWxlOworIAorICAgLyogcnVuIGRpZmYgY29tbWFuZCAqLworICAgZ19zcGF3bl9zeW5jIChOVUxMLCAoY2hhciAqKiljb21tYW5kLCBOVUxMLCBHX1NQQVdOX1NFQVJDSF9QQVRILCBOVUxMLCBOVUxMLCAmZGlmZiwgTlVMTCwgTlVMTCwgZXJyb3IpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS40Mi40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS40Mi40LmJiCmluZGV4IDIyZmUzYWYuLmQzMzU3ZjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuNDIuNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nb18xLjQyLjQuYmIKQEAgLTExLDI5ICsxMSwzOCBAQAogCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKIAorR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKKwogaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBwdGVzdC1nbm9tZSB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCiAKIFNSQ19VUkkgKz0gImZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtRW5mb3JjZS1yZWNyZWF0aW9uLW9mLWRvY3MtcGFuZ28udHlwZXMtaXQtaXMtYnVpbGQtYy5wYXRjaCBcCi0iCisgICAgICAgICAgICBmaWxlOi8vaW5zZW5zaXRpdmUtZGlmZi5wYXRjaCIKKwogU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGViMTcxYTMxYTNhZDc2MzQyZDUxOTVhMWI1YmJjN2MiCiBTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxZDJiNzRjZDYzZThiZDQxOTYxZjJmOGQ5NTIzNTVhYTBmOWJlNjAwMmI1MmM4YWE3Njk5ZDlmNWRhNTk3YzlkIgogCiBERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBmb250Y29uZmlnIGZyZWV0eXBlIHZpcnR1YWwvbGliaWNvbnYgY2Fpcm8gaGFyZmJ1enogZnJpYmlkaSIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteGZ0LC0td2l0aG91dC14ZnQsdmlydHVhbC9saWJ4MTEgbGlieGZ0IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIiwsdmlydHVhbC9saWJ4MTEgbGlieGZ0IgorCitHVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGdpcj10cnVlIgorR0lfRElTQUJMRV9GTEFHID0gIi1EZ2lyPWZhbHNlIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy1uYXRpdmVzZGsgPSAiICR7R0lfRElTQUJMRV9GTEFHfSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgogCiBMRUFEX1NPTkFNRSA9ICJsaWJwYW5nby0xLjAqIgogTElCViA9ICIxLjguMCIKIAotIyBUaGlzIGJpbmFyeSBuZWVkcyB0byBiZSBjb21waWxlZCBmb3IgdGhlIGhvc3QgYXJjaGl0ZWN0dXJlLiAgVGhpcyBpc24ndCBwcmV0dHkhCi1kb19jb21waWxlX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ICgpIHsKLQlpZiAke0BiYi51dGlscy5jb250YWlucygnUFRFU1RfRU5BQkxFRCcsICcxJywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLQkJbWFrZSBDQz0iJHtCVUlMRF9DQ30iIENGTEFHUz0iIiBMREZMQUdTPSIke0JVSUxEX0xERkxBR1N9IiBBTV9DUFBGTEFHUz0iJChwa2ctY29uZmlnLW5hdGl2ZSAtLWNmbGFncyBnbGliLTIuMCkiIGdlbl9hbGxfdW5pY29kZV9MREFERD0iJChwa2ctY29uZmlnLW5hdGl2ZSAtLWxpYnMgZ2xpYi0yLjApIiAtQyAke0J9L3Rlc3RzIGdlbi1hbGwtdW5pY29kZQotCWZpCi19Ci0KIEZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS8qICR7bGliZGlyfS9saWJwYW5nbyoke1NPTElCU30iCiBGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYW5nby8ke0xJQlZ9L21vZHVsZXMvKi5sYSIKIApAQCAtNDIsNCArNTEsMTEgQEAKIFJQUk9WSURFU18ke1BOfSArPSAicGFuZ28tbW9kdWxlcyBwYW5nby1tb2R1bGUtaW5kaWMtbGFuZyBcCiAgICAgICAgICAgICAgICAgICAgIHBhbmdvLW1vZHVsZS1iYXNpYy1mYyBwYW5nby1tb2R1bGUtYXJhYmljLWxhbmciCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaWYgWyAiJHtQVEVTVF9FTkFCTEVEfSIgIT0gIjEiIF07IHRoZW4KKwkJcm0gLXJmICR7RH0ke2xpYmV4ZWNkaXJ9L2luc3RhbGxlZC10ZXN0cyAke0R9JHtkYXRhZGlyfS9pbnN0YWxsZWQtdGVzdHMKKyAgICAgICAgICAgICAgICBybWRpciAtLWlnbm9yZS1mYWlsLW9uLW5vbi1lbXB0eSAke0R9JHtsaWJleGVjZGlyfSAke0R9JHtkYXRhZGlyfQorCWZpCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0LzAwMDEtdGVzdHMtVXNlLUZFX1VQV0FSRC1vbmx5LWlmLWl0cy1kZWZpbmVkLWluLWZlbnYuaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCmluZGV4IGY4NTFhOTIuLjU3ZWRhMmUgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1Vc2UtRkVfVVBXQVJELW9ubHktaWYtaXRzLWRlZmluZWQtaW4tZmVudi5oLnBhdGNoCkBAIC0xLDU0ICsxLDc1IEBACi1Gcm9tIDBmYzJjMjkzMjY5OWNmZDY4YmU5NmM4MjBmZGRmZGQ3OWI0OGI3ODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbWFpbGluZyBsaXN0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAwZTBhMmE2OTI2MTAzMWQ1NWQ1MmI2MDQ1OTkwZTg5ODJlYTEyOTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIERhdGU6IFNhdCwgOSBKdWwgMjAxNiAwNzo1MjoxOSArMDAwMAotU3ViamVjdDogW1BBVENIXSB0ZXN0czogVXNlIEZFX1VQV0FSRCBvbmx5IGlmIGl0cyBkZWZpbmVkIGluIGZlbnYuaAorU3ViamVjdDogW1BBVENIXSB0ZXN0czogb25seSBydW4gcm91bmRpbmcgdGVzdHMgaWYgRkVfVVBXQVJEIGlzIHByZXNlbnQKIAotT24gQVJNLCBtdXNsIGRvZXMgbm90IGRlZmluZSBGRV8qIHdoZW4gYXJjaCBkb2VzIG5vdCBoYXZlCi1WRlAsICh3aGljaCBpcyByaWdodCBpbnRlcnByZXRhdGlvbiksIHRoZXJlZm9yZSBjaGVjayBpZgotaXRzIGRlZmluZWQgYmVmb3JlIHVzaW5nIGl0CitPbiBBUk0sIG11c2wgZG9lcyBub3QgZGVmaW5lIEZFXyogd2hlbiB0aGUgYXJjaGl0ZWN0dXJlIGRvZXMgbm90IGhhdmUgVkZQICh3aGljaAoraXMgdGhlIHJpZ2h0IGludGVycHJldGF0aW9uKS4KIAotRml4ZXMgZXJyb3JzIGxpa2UKK0FzIHRoZXNlIHRlc3RzIGRlcGVuZCBvbiBjYWxsaW5nIGZlc2V0cm91bmQoKSwgc2tpcCB0aGUgdGVzdCBpZiBGRV9VUFdBUkQgaXNuJ3QKK2F2YWlsYWJsZS4KIAotdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jOjgyOjE5OiBlcnJvcjogJ0ZFX1VQV0FSRCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCi0gIHJldCA9IGZlc2V0cm91bmQoRkVfVVBXQVJEKTsKLSAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiAtLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYyB8IDIgKysKLSB0ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMgIHwgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCisgdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYyB8IDEyICsrKysrKysrLS0tLQorIHRlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYyAgfCAxMiArKysrKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS90ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1nZXRpbnRlZ2Vydi5jIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwotaW5kZXggMjhlY2ZhZi4uNWMyNzU3OSAxMDA2NDQKK2luZGV4IDI4ZWNmYWY1NS4uYWE5OTA0NGExIDEwMDY0NAogLS0tIGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwogKysrIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtZ2V0aW50ZWdlcnYuYwotQEAgLTgxLDcgKzgxLDkgQEAgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTc5LDEzICs3OSwxNyBAQCB0ZXN0KGZsb2F0IHZhbCwgaW50IGV4cGVjdCkKKyB2b2lkCisgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIHsKLSAJaW50IHJldDsKKy0JaW50IHJldDsKICAJYm9vbCBwYXNzID0gdHJ1ZTsKKy0JcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOworLQlpZiAocmV0ICE9IDApIHsKKy0JCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwogKyNpZmRlZiBGRV9VUFdBUkQKLSAJcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOwotKyNlbmRpZgotIAlpZiAocmV0ICE9IDApIHsKLSAJCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlpZiAoZmVzZXRyb3VuZChGRV9VUFdBUkQpICE9IDApIHsKKysJCXByaW50ZigiU2V0dGluZyByb3VuZGluZyBtb2RlIGZhaWxlZFxuIik7CiAgCQlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisgCX0KKysjZWxzZQorKwlwcmludGYoIkNhbm5vdCBzZXQgcm91bmRpbmcgbW9kZVxuIik7CisrCXBpZ2xpdF9yZXBvcnRfcmVzdWx0KFBJR0xJVF9TS0lQKTsKKysjZW5kaWYKKyAKKyAJcGFzcyA9IHRlc3QoMi4yLCAyKSAmJiBwYXNzOworIAlwYXNzID0gdGVzdCgyLjgsIDMpICYmIHBhc3M7CiBkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jIGIvdGVzdHMvZ2VuZXJhbC9yb3VuZG1vZGUtcGl4ZWxzdG9yZS5jCi1pbmRleCA5Mjg0ZjQzLi4zZmNiMzk2IDEwMDY0NAoraW5kZXggOGEwMjliMjU3Li41N2VjMTFjMDkgMTAwNjQ0CiAtLS0gYS90ZXN0cy9nZW5lcmFsL3JvdW5kbW9kZS1waXhlbHN0b3JlLmMKICsrKyBiL3Rlc3RzL2dlbmVyYWwvcm91bmRtb2RlLXBpeGVsc3RvcmUuYwotQEAgLTc5LDcgKzc5LDkgQEAgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTc5LDEzICs3OSwxNyBAQCB0ZXN0KGZsb2F0IHZhbCwgaW50IGV4cGVjdCkKKyB2b2lkCisgcGlnbGl0X2luaXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIHsKLSAJaW50IHJldDsKKy0JaW50IHJldDsKICAJYm9vbCBwYXNzID0gdHJ1ZTsKKy0JcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOworLQlpZiAocmV0ICE9IDApIHsKKy0JCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwogKyNpZmRlZiBGRV9VUFdBUkQKLSAJcmV0ID0gZmVzZXRyb3VuZChGRV9VUFdBUkQpOwotKyNlbmRpZgotIAlpZiAocmV0ICE9IDApIHsKLSAJCXByaW50ZigiQ291bGRuJ3Qgc2V0IHJvdW5kaW5nIG1vZGVcbiIpOworKwlpZiAoZmVzZXRyb3VuZChGRV9VUFdBUkQpICE9IDApIHsKKysJCXByaW50ZigiU2V0dGluZyByb3VuZGluZyBtb2RlIGZhaWxlZFxuIik7CiAgCQlwaWdsaXRfcmVwb3J0X3Jlc3VsdChQSUdMSVRfU0tJUCk7CisgCX0KKysjZWxzZQorKwlwcmludGYoIkNhbm5vdCBzZXQgcm91bmRpbmcgbW9kZVxuIik7CisrCXBpZ2xpdF9yZXBvcnRfcmVzdWx0KFBJR0xJVF9TS0lQKTsKKysjZW5kaWYKKyAKKyAJcGFzcyA9IHRlc3QoMi4yLCAyKSAmJiBwYXNzOworIAlwYXNzID0gdGVzdCgyLjgsIDMpICYmIHBhc3M7CiAtLSAKLTEuOC4zLjEKKzIuMTEuMAogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0L2Zvcm1hdC1maXgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0L2Zvcm1hdC1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzNkNTM5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvZm9ybWF0LWZpeC5wYXRjaApAQCAtMCwwICsxLDY5IEBACitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbbWFpbGluZyBsaXN0XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBmMGM2OTgxMzIyODA3ZTE3OWUzOWNlNjdhZWViZDQyY2Y3YTU0ZDM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTI6NDQ6MzYgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gYXJiX3RleHR1cmVfdmlldzogZml4IHNlY3VyaXR5IGZvcm1hdCB3YXJuaW5ncworCitJZiBidWlsdCB3aXRoIC1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5IHRoZW4gUGlnbGl0IGZhaWxzIHRvIGJ1aWxkOgorCisvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYzoxNTA6ODoKK2Vycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorICAgICAgICAgKGRlc2MpKTsgXAorICAgICAgICAgXn5+fn5+CisKK0luIHRoaXMgY2FzZSB0ZXN0LT51bmlmb3JtX3R5cGUgaXMgYmVpbmcgdHVybmVkIGludG8gYSBzdHJpbmcgdXNpbmcgc25wcmludGYoKQorYW5kIHRoZW4gcGFzc2VkIHRvIHBpZ2xpdF9yZXBvcnRfc3VidGVzdF9yZXN1bHQoKSB3aGljaCB0YWtlcyBhIGZvcm1hdCBzdHJpbmcsCitidXQgR0NDIGNhbid0IHZlcmlmeSB0aGUgZm9ybWF0LgorCitBcyBfc3VidGVzdF9yZXBvcnQoKSB0YWtlcyBhIGZvcm1hdCBzdHJpbmcsIHdlIGNhbiBqdXN0IHJlbW92ZSB0aGUgc25wcmludGYoKQorYW5kIGxldCBpdCBjb25zdHJ1Y3QgdGhlIGxhYmVsLgorCitBbHNvIGFzIFggaXMgdXNlZCBvbmNlIGFuZCBkb2Vzbid0IG1ha2UgdGhlIGNvZGUgY2xlYXJlciwganVzdCBpbmxpbmUgaXQuCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CistLS0KKyB0ZXN0cy9zcGVjL2FyYl90ZXh0dXJlX3ZpZXcvcmVuZGVyaW5nLWxheWVycy1pbWFnZS5jIHwgMTkgKysrKysrLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYyBiL3Rlc3RzL3NwZWMvYXJiX3RleHR1cmVfdmlldy9yZW5kZXJpbmctbGF5ZXJzLWltYWdlLmMKK2luZGV4IDQxNWIwMTY1Ny4uODYxNDgwNzViIDEwMDY0NAorLS0tIGEvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYworKysrIGIvdGVzdHMvc3BlYy9hcmJfdGV4dHVyZV92aWV3L3JlbmRlcmluZy1sYXllcnMtaW1hZ2UuYworQEAgLTE0MiwyNiArMTQyLDE5IEBAIHRlc3RfcmVuZGVyX2xheWVycyhjb25zdCBzdHJ1Y3QgdGVzdF9pbmZvICp0ZXN0KQorIAlyZXR1cm4gcGFzczsKKyB9CisgCistI2RlZmluZSBYKGYsIGRlc2MpIFwKKy0JZG8geyBcCistCQljb25zdCBib29sIHN1YnRlc3RfcGFzcyA9IChmKTsgXAorLQkJcGlnbGl0X3JlcG9ydF9zdWJ0ZXN0X3Jlc3VsdChzdWJ0ZXN0X3Bhc3MgXAorLQkJCQkJCSA/IFBJR0xJVF9QQVNTIDogUElHTElUX0ZBSUwsIFwKKy0JCQkJCQkgKGRlc2MpKTsgXAorLQkJcGFzcyA9IHBhc3MgJiYgc3VidGVzdF9wYXNzOyBcCistCX0gd2hpbGUgKDApCistCisgZW51bSBwaWdsaXRfcmVzdWx0CisgcGlnbGl0X2Rpc3BsYXkodm9pZCkKKyB7CisgCWJvb2wgcGFzcyA9IHRydWU7CisgCWZvciAoaW50IHRlc3RfaWR4ID0gMDsgdGVzdF9pZHggPCBBUlJBWV9TSVpFKHRlc3RzKTsgdGVzdF9pZHgrKykgeworIAkJY29uc3Qgc3RydWN0IHRlc3RfaW5mbyAqdGVzdCA9ICZ0ZXN0c1t0ZXN0X2lkeF07CistCQljaGFyIHRlc3RfbmFtZVsxMjhdOworLQkJc25wcmludGYodGVzdF9uYW1lLCBzaXplb2YodGVzdF9uYW1lKSwgImxheWVycyByZW5kZXJpbmcgb2YgJXMiLCB0ZXN0LT51bmlmb3JtX3R5cGUpOworLQkJWCh0ZXN0X3JlbmRlcl9sYXllcnModGVzdCksIHRlc3RfbmFtZSk7CisrCisrCQljb25zdCBib29sIHN1YnRlc3RfcGFzcyA9IHRlc3RfcmVuZGVyX2xheWVycyh0ZXN0KTsKKysKKysJCXBpZ2xpdF9yZXBvcnRfc3VidGVzdF9yZXN1bHQoc3VidGVzdF9wYXNzID8gUElHTElUX1BBU1MgOiBQSUdMSVRfRkFJTCwKKysJCQkJCSAgICAgImxheWVycyByZW5kZXJpbmcgb2YgJXMiLCB0ZXN0LT51bmlmb3JtX3R5cGUpOworKwkJcGFzcyA9IHBhc3MgJiYgc3VidGVzdF9wYXNzOworIAl9CistI3VuZGVmIFgKKyAJcGFzcyA9IHBpZ2xpdF9jaGVja19nbF9lcnJvcihHTF9OT19FUlJPUikgJiYgcGFzczsKKyAJcmV0dXJuIHBhc3MgPyBQSUdMSVRfUEFTUyA6IFBJR0xJVF9GQUlMOworIH0KKy0tIAorMi4xMS4wCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKaW5kZXggMWY3YzZmOS4uNTlkMTM0OCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdF9naXQuYmIKQEAgLTYsMTEgKzYsMTIgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtY21ha2UtaW5zdGFsbC1iYXNoLWNvbXBsZXRpb25zLWluLXRoZS1yaWdodC1wbGFjZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXRlc3RzLVVzZS1GRV9VUFdBUkQtb25seS1pZi1pdHMtZGVmaW5lZC1pbi1mZW52LmgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1jbWFrZS11c2UtcHJvcGVyLVdBWUxBTkRfSU5DTFVERV9ESVJTLXZhcmlhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2Zvcm1hdC1maXgucGF0Y2ggXAogICAgICAgICAgICAiCiBVUFNUUkVBTV9DSEVDS19DT01NSVRTID0gIjEiCiAKLSMgRnJvbSAyMDE4LTA4LTEzCi1TUkNSRVYgPSAiNTc4NTllMTVkYzhiYTQwMzQzNDhiMDRkMGI3MmYyMTNiNzRkNjM0NyIKKyMgRnJvbSAyMDE4LTEwLTI2CitTUkNSRVYgPSAiYjkwNjZjNzcxN2FmMWQxNjlhNjE2YzllNjE3MDZiOTlmZjg1MTViNSIKICMgKHdoZW4gUFYgZ29lcyBhYm92ZSAxLjAgcmVtb3ZlIHRoZSB0cmFpbGluZyByKQogUFYgPSAiMS4wK2dpdHIke1NSQ1BWfSIKIApAQCAtNTEsMyArNTIsNiBAQAogCSIKIAogSU5TQU5FX1NLSVBfJHtQTn0gKz0gImRldi1zbyBhbHJlYWR5LXN0cmlwcGVkIgorCisjIENhbid0IGJlIGJ1aWx0IHdpdGggY2NhY2hlCitDQ0FDSEVfRElTQUJMRSA9ICIxIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMi4wMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMi4wMC4xLmJiCmluZGV4IDQxMmRhNDguLmY1ZGY5ZWYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9saWJlcmF0aW9uLWZvbnRzXzIuMDAuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250c18yLjAwLjEuYmIKQEAgLTM3LDMgKzM3LDUgQEAKIAogUEFDS0FHRVMgPSAiJHtQTn0iCiBGSUxFU18ke1BOfSArPSAiJHtzeXNjb25mZGlyfSAke2RhdGFkaXJ9IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS1NYWtlZmlsZS5hbS1leHBsaWNpdGx5LWxpbmstd2l0aC1saWJkcm0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE4ZDgxNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlci8wMDAxLU1ha2VmaWxlLmFtLWV4cGxpY2l0bHktbGluay13aXRoLWxpYmRybS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGQ2MWY3MDczYjhjZTE1OWQyMTgxMWIyOTFjMjJiMjczYjA0MGMzMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMTIgRmViIDIwMTkgMTI6MDQ6NTIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gTWFrZWZpbGUuYW06IGV4cGxpY2l0bHkgbGluayB3aXRoIGxpYmRybQorCitPdGhlcndpc2UsIGEgZmFpbHVyZSBoYXBwZW5zIHdpdGggZ29sZCBsaW5rZXI6CisKKy4uL3NyYy8ubGlicy9saWJ2aXJnbHJlbmRlcmVyLnNvOiBlcnJvcjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byAnZHJtUHJpbWVIYW5kbGVUb0ZEJworCitodHRwczovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIyMjA0Ni8KKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3ZpcmdsL3ZpcmdscmVuZGVyZXIvbWVyZ2VfcmVxdWVzdHMvMTUzXQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBzcmMvTWFrZWZpbGUuYW0gfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggOWEwYTQ0ZS4uOWI2NjhjOCAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMSw1ICsxLDYgQEAKKyBTVUJESVJTIDo9IGdhbGxpdW0vYXV4aWxpYXJ5CisgQU1fTERGTEFHUyA9IC1sbSBcCisrCSQoTElCRFJNX0xJQlMpIFwKKyAJJChHQk1fTElCUykgXAorIAkkKEVQT1hZX0xJQlMpIFwKKyAJJChYMTFfTElCUykgXAorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXIvMDAwMS12dGVzdC1hZGQtbWlzc2luZy1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjRmZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdmlyZ2xyZW5kZXJlci92aXJnbHJlbmRlcmVyLzAwMDEtdnRlc3QtYWRkLW1pc3NpbmctaW5jbHVkZXMucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorRnJvbSAwNWM1YzVmNDNmYmZmYjMzMTdiZDlkYTI3ZDQxNDg5MGQyZWY0OTNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDE4IEphbiAyMDE5IDEzOjQ3OjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHZ0ZXN0OiBhZGQgbWlzc2luZyBpbmNsdWRlcworCitUaGlzIGZpeGVzIGJ1aWxkIGZhaWx1cmVzIHdpdGggbXVzbCBDIGxpYnJhcnkKKworVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZCBbaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL3ZpcmdsL3ZpcmdscmVuZGVyZXIvbWVyZ2VfcmVxdWVzdHMvMTI1XQorU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyB2dGVzdC91dGlsLmMgICAgICAgICB8IDEgKworIHZ0ZXN0L3Z0ZXN0X3NlcnZlci5jIHwgMSArCisgMiBmaWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Z0ZXN0L3V0aWwuYyBiL3Z0ZXN0L3V0aWwuYworaW5kZXggMGQzYzc4Zi4uYzYwNTI1MyAxMDA2NDQKKy0tLSBhL3Z0ZXN0L3V0aWwuYworKysrIGIvdnRlc3QvdXRpbC5jCitAQCAtMjYsNiArMjYsNyBAQAorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KKyAKKyBpbnQgdnRlc3Rfd2FpdF9mb3JfZmRfcmVhZChpbnQgZmQpCisgeworZGlmZiAtLWdpdCBhL3Z0ZXN0L3Z0ZXN0X3NlcnZlci5jIGIvdnRlc3QvdnRlc3Rfc2VydmVyLmMKK2luZGV4IGJjNmM5NWYuLjAxMDcyMWYgMTAwNjQ0CistLS0gYS92dGVzdC92dGVzdF9zZXJ2ZXIuYworKysrIGIvdnRlc3QvdnRlc3Rfc2VydmVyLmMKK0BAIC0zMSw2ICszMSw3IEBACisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKyAjaW5jbHVkZSA8c3lzL3VuLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlICJ1dGlsLmgiCisgI2luY2x1ZGUgInZ0ZXN0LmgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXJfMC43LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92aXJnbHJlbmRlcmVyL3ZpcmdscmVuZGVyZXJfMC43LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI1YTBiOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3ZpcmdscmVuZGVyZXIvdmlyZ2xyZW5kZXJlcl8wLjcuMC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlZpckdMIHZpcnR1YWwgT3BlbkdMIHJlbmRlcmVyIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly92aXJnaWwzZC5naXRodWIuaW8vIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM4MWMwOGVlZWZkOTQxOGZjYThmODgzMDlhNzZkYjEwIgorCitERVBFTkRTID0gImxpYmRybSBtZXNhIGxpYmVwb3h5IgorU1JDUkVWID0gIjQwMmMyMjg4NjFjOTg5M2Y2NGNmZmJiY2I0Y2IyMzA0NGI4YzcyMWMiCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL3ZpcmdscmVuZGVyZXIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS12dGVzdC1hZGQtbWlzc2luZy1pbmNsdWRlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2VmaWxlLmFtLWV4cGxpY2l0bHktbGluay13aXRoLWxpYmRybS5wYXRjaCBcCisgICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJvcGVuZ2wiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmVzZGsgPSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdnVsa2FuL3Z1bGthbl8xLjEuNzMuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3Z1bGthbi92dWxrYW5fMS4xLjczLjAuYmIKaW5kZXggNTQ5NmY1My4uMDJlNDMzMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdnVsa2FuL3Z1bGthbl8xLjEuNzMuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy92dWxrYW4vdnVsa2FuXzEuMS43My4wLmJiCkBAIC00LDEzICs0LDEzIEBACiBwcm92aWRlIG9ubHkgdGhlIGNvbW1vbiB2ZW5kb3ItYWdub3N0aWMgbGlicmFyeSBsb2FkZXIsIGhlYWRlcnMgYW5kIFwKIHRoZSB2dWxrYW5pbmZvIHV0aWxpdHkuIgogSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cua2hyb25vcy5vcmcvdnVsa2FuLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyQW5kVmFsaWRhdGlvbkxheWVycyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyIgogU0VDVElPTiA9ICJsaWJzIgogCiBMSUNFTlNFID0gIkFwYWNoZS0yLjAiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9OTljNjQ3Y2EzZDRmNmE0YjlkODYyOGY3NTdhYWQxNTYgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbG9hZGVyL2xvYWRlci5jO2VuZGxpbmU9MjU7bWQ1PTE1MWIzOTJmNDY1NjhhYWVkYjRhZDIyYjI0NjIzN2VjIgotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyQW5kVmFsaWRhdGlvbkxheWVycy5naXQ7YnJhbmNoPXNkay0xLjEuNzMgXAorU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL0tocm9ub3NHcm91cC9WdWxrYW4tTG9hZGVyLmdpdDtub2JyYW5jaD0xIFwKICAgICAgICAgICAgZmlsZTovL2RlbW9zLURvbi10LWJ1aWxkLXRyaS1vci1jdWJlLnBhdGNoIFwKICAgICAgICAgICAgIgogU1JDUkVWID0gIjU5OThkNmY0NDRhODVlNjM4MWI3YTA4OWViZjNmOWU4NjQ4MmEzMWQiCkBAIC0zNSwzICszNSw2IEBACiAKIFJSRUNPTU1FTkRTXyR7UE59ID0gIm1lc2EtdnVsa2FuLWRyaXZlcnMiCiBJTlNBTkVfU0tJUF8ke1BOfS1kZXYgKz0gImRldi1lbGYiCisKKyMgQ2FuJ3QgYmUgYnVpbHQgd2l0aCBjY2FjaGUKK0NDQUNIRV9ESVNBQkxFID0gIjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTEuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMS4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMmUyMDkxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IHRvIGhhbmRsZSBpbnB1dCBkZXZpY2VzIGluIFdheWxhbmQgY29tcG9zaXRvcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL2xpYmlucHV0LyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZjJlYTllYmZmM2EyYzZkNDU4ZmFmNTg0OTJlZmI2MyIKLQotREVQRU5EUyA9ICJsaWJldmRldiB1ZGV2IG10ZGV2IgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlLyR7QlBOfS8ke0JQfS50YXIueHogXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiZGY2ZTg3N2YxMWRlNGE5NzkzNTExZTlhYmZlN2VmMDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjMxMTkxZDk2ZTQyNWI0ZjE2MzE5ODQyMjc5ZDY1OTQ2ZDlkOTgzZGNkM2Q5ZTQ2NmFlMTIwNmFhMTBlY2IwNiIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibGliaW5wdXQtKD9QPHB2ZXI+XGQrXC5cZCtcLig/ITlcZCspXGQrKSIKLWluaGVyaXQgbWVzb24gcGtnY29uZmlnIGxpYl9wYWNrYWdlCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2xpYndhY29tXSA9ICItRGxpYndhY29tPXRydWUsLURsaWJ3YWNvbT1mYWxzZSxsaWJ3YWNvbSIKLVBBQ0tBR0VDT05GSUdbZ3VpXSA9ICItRGRlYnVnLWd1aT10cnVlLC1EZGVidWctZ3VpPWZhbHNlLGNhaXJvIGd0ayszIgotCi1VREVWRElSID0gImBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YCIKLQotRVhUUkFfT0VNRVNPTiArPSAiLUR1ZGV2LWRpcj0ke1VERVZESVJ9IC1EZG9jdW1lbnRhdGlvbj1mYWxzZSAtRHRlc3RzPWZhbHNlIgotCi0jIHBhY2thZ2UgbmFtZSBjaGFuZ2VkIGluIDEuOC4xIHVwZ3JhZGU6IG1ha2Ugc3VyZSBwYWNrYWdlIHVwZ3JhZGVzIHdvcmsKLVJQUk9WSURFU18ke1BOfSA9ICJsaWJpbnB1dCIKLVJSRVBMQUNFU18ke1BOfSA9ICJsaWJpbnB1dCIKLVJDT05GTElDVFNfJHtQTn0gPSAibGliaW5wdXQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTIuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXRfMS4xMi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MzY2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzEuMTIuNi5iYgpAQCAtMCwwICsxLDI5IEBACitTVU1NQVJZID0gIkxpYnJhcnkgdG8gaGFuZGxlIGlucHV0IGRldmljZXMgaW4gV2F5bGFuZCBjb21wb3NpdG9ycyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliaW5wdXQvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTFmMmVhOWViZmYzYTJjNmQ0NThmYWY1ODQ5MmVmYjYzIgorCitERVBFTkRTID0gImxpYmV2ZGV2IHVkZXYgbXRkZXYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlB9LnRhci54eiBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI4Y2YxMGNjMGZkZmFiODY1YjEwNWRkMjgyODNmYTBmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxMmI0MDIzYTNmYzY4M2QzZDgxMjdkYjU3M2JkZjkyNWEyZWYzNjY2MTUwNDJmNjljODdlNTdjMzJhNTBmNDVkIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJsaWJpbnB1dC0oP1A8cHZlcj5cZCtcLlxkK1wuKD8hOVxkKylcZCspIgoraW5oZXJpdCBtZXNvbiBwa2djb25maWcgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbGlid2Fjb21dID0gIi1EbGlid2Fjb209dHJ1ZSwtRGxpYndhY29tPWZhbHNlLGxpYndhY29tIgorUEFDS0FHRUNPTkZJR1tndWldID0gIi1EZGVidWctZ3VpPXRydWUsLURkZWJ1Zy1ndWk9ZmFsc2UsY2Fpcm8gZ3RrKzMiCisKK1VERVZESVIgPSAiYHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgIgorCitFWFRSQV9PRU1FU09OICs9ICItRHVkZXYtZGlyPSR7VURFVkRJUn0gLURkb2N1bWVudGF0aW9uPWZhbHNlIC1EdGVzdHM9ZmFsc2UiCisKKyMgcGFja2FnZSBuYW1lIGNoYW5nZWQgaW4gMS44LjEgdXBncmFkZTogbWFrZSBzdXJlIHBhY2thZ2UgdXBncmFkZXMgd29yaworUlBST1ZJREVTXyR7UE59ID0gImxpYmlucHV0IgorUlJFUExBQ0VTXyR7UE59ID0gImxpYmlucHV0IgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJpbnB1dCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmM0YjcxMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQtcHJvdG9jb2xzXzEuMTYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIkNvbGxlY3Rpb24gb2YgYWRkaXRpb25hbCBXYXlsYW5kIHByb3RvY29scyIKLURFU0NSSVBUSU9OID0gIldheWxhbmQgcHJvdG9jb2xzIHRoYXQgYWRkIGZ1bmN0aW9uYWxpdHkgbm90IFwKLWF2YWlsYWJsZSBpbiB0aGUgV2F5bGFuZCBjb3JlIHByb3RvY29sLiBTdWNoIHByb3RvY29scyBlaXRoZXIgYWRkIFwKLWNvbXBsZXRlbHkgbmV3IGZ1bmN0aW9uYWxpdHksIG9yIGV4dGVuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBzb21lIG90aGVyIFwKLXByb3RvY29sIGVpdGhlciBpbiBXYXlsYW5kIGNvcmUsIG9yIHNvbWUgb3RoZXIgcHJvdG9jb2wgaW4gXAotd2F5bGFuZC1wcm90b2NvbHMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jN2IxMmI2NzAyZGEzOGNhMDI4YWNlNTRhYWUzZDQ4NCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zdGFibGUvcHJlc2VudGF0aW9uLXRpbWUvcHJlc2VudGF0aW9uLXRpbWUueG1sO2VuZGxpbmU9MjY7bWQ1PTQ2NDZjZDdkOWVkYzlmYTU1ZGI5NDFmMmQzYTdkYzUzIgotCi1TUkNfVVJJID0gImh0dHBzOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlMGI1MjNmZjE2MmUzMGJhYjQ2YmUxZDY1ZDUyNzY4MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2YjE0ODU5NTFmZGNkMzZhOTYwYzg3MGM0NmYyOGIwM2EzZTUxMjFmYjQ2MjQ2OTE2MzMzZWQwN2Y3OGM5OGM1IgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgotCi1pbmhlcml0IGFsbGFyY2ggYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFUyA9ICIke1BOfSIKLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3BrZ2NvbmZpZy93YXlsYW5kLXByb3RvY29scy5wYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC1wcm90b2NvbHNfMS4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYThmMDZjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kLXByb3RvY29sc18xLjE3LmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQ29sbGVjdGlvbiBvZiBhZGRpdGlvbmFsIFdheWxhbmQgcHJvdG9jb2xzIgorREVTQ1JJUFRJT04gPSAiV2F5bGFuZCBwcm90b2NvbHMgdGhhdCBhZGQgZnVuY3Rpb25hbGl0eSBub3QgXAorYXZhaWxhYmxlIGluIHRoZSBXYXlsYW5kIGNvcmUgcHJvdG9jb2wuIFN1Y2ggcHJvdG9jb2xzIGVpdGhlciBhZGQgXAorY29tcGxldGVseSBuZXcgZnVuY3Rpb25hbGl0eSwgb3IgZXh0ZW5kIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHNvbWUgb3RoZXIgXAorcHJvdG9jb2wgZWl0aGVyIGluIFdheWxhbmQgY29yZSwgb3Igc29tZSBvdGhlciBwcm90b2NvbCBpbiBcCit3YXlsYW5kLXByb3RvY29scy4iCitIT01FUEFHRSA9ICJodHRwOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmciCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWM3YjEyYjY3MDJkYTM4Y2EwMjhhY2U1NGFhZTNkNDg0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3N0YWJsZS9wcmVzZW50YXRpb24tdGltZS9wcmVzZW50YXRpb24tdGltZS54bWw7ZW5kbGluZT0yNjttZDU9NDY0NmNkN2Q5ZWRjOWZhNTVkYjk0MWYyZDNhN2RjNTMiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjU1ZGRkNWZkYjAyYjczYjlkZTk1NTlhYWVjMjY3MzE1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRmMTMxOWNmOTcwNTY0M2FlYTlmZDE2ZjkwNTZmNGU1YjI0NzFiZDEwYzBjYzM3MTNkNGE0Y2RjMjNkNjgxMmYiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLmh0bWwiCisKK2luaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcGtnY29uZmlnL3dheWxhbmQtcHJvdG9jb2xzLnBjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTYuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZF8xLjE2LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMmVlMWEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTYuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLVNVTU1BUlkgPSAiV2F5bGFuZCwgYSBwcm90b2NvbCBiZXR3ZWVuIGEgY29tcG9zaXRvciBhbmQgY2xpZW50cyIKLURFU0NSSVBUSU9OID0gIldheWxhbmQgaXMgYSBwcm90b2NvbCBmb3IgYSBjb21wb3NpdG9yIHRvIHRhbGsgdG8gaXRzIGNsaWVudHMgXAotYXMgd2VsbCBhcyBhIEMgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGF0IHByb3RvY29sLiBUaGUgY29tcG9zaXRvciBjYW4gYmUgXAotYSBzdGFuZGFsb25lIGRpc3BsYXkgc2VydmVyIHJ1bm5pbmcgb24gTGludXgga2VybmVsIG1vZGVzZXR0aW5nIGFuZCBldmRldiBcCi1pbnB1dCBkZXZpY2VzLCBhbiBYIGFwcGxpY2F0aW9uLCBvciBhIHdheWxhbmQgY2xpZW50IGl0c2VsZi4gVGhlIGNsaWVudHMgY2FuIFwKLWJlIHRyYWRpdGlvbmFsIGFwcGxpY2F0aW9ucywgWCBzZXJ2ZXJzIChyb290bGVzcyBvciBmdWxsc2NyZWVuKSBvciBvdGhlciBcCi1kaXNwbGF5IHNlcnZlcnMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMzFkOGY1M2I2YWFmMmI0OTg1ZDdkZDc4MTBhNzBkMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvd2F5bGFuZC1zZXJ2ZXIuYztlbmRsaW5lPTI0O21kNT1iOGUwNDYxNjRhNzY2YmIxZWRlOGJhMzhlOWRjZDdjZSIKLQotREVQRU5EUyA9ICJleHBhdCBsaWJ4bWwyIGxpYmZmaSB3YXlsYW5kLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAotCSAgIGZpbGU6Ly9maXhwYXRoaW5wY2ZpbGVzLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjBjMjE1ZTUzZGU3MWQ2ZmIyNmY3MTAyY2RjNjQzMmQzIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRlNzJjMmI1NjEwOWNjZmI2NjEwZDc3NmU0NjVmNGNhMGFmMjI4MGM5YzJmN2Q1Y2MyM2YwZWQyNTQ4NzUyZjUiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnL3JlbGVhc2VzLmh0bWwiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS13aXRoLWhvc3Qtc2Nhbm5lciIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS1kaXNhYmxlLWxpYnJhcmllcyIKLQotIyBXYXlsYW5kIGluc3RhbGxzIGEgTTQgbWFjcm8gZm9yIG90aGVyIHByb2plY3RzIHRvIHVzZSwgd2hpY2ggdXNlcyB0aGUgdGFyZ2V0Ci0jIHBrZy1jb25maWcgdG8gZmluZCBmaWxlcy4gIFJlcGxhY2UgcGtnLWNvbmZpZyB3aXRoIHBrZy1jb25maWctbmF0aXZlLgotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotICBzZWQgLWUgJ3MsUEtHX0NIRUNLX01PRFVMRVMoLiopLCxnJyBcCi0gICAgICAtZSAncywkUEtHX0NPTkZJRyxwa2ctY29uZmlnLW5hdGl2ZSxnJyBcCi0gICAgICAtaSAke0R9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKLX0KLQotc3lzcm9vdF9zdGFnZV9hbGxfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7Ci0Jcm0gJHtTWVNST09UX0RFU1RESVJ9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKLQljcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00ICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvCi19Ci0KLUZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qJHtTT0xJQlN9IgotRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS93YXlsYW5kIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmRfMS4xNy4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzRiYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuMTcuMC5iYgpAQCAtMCwwICsxLDQ0IEBACitTVU1NQVJZID0gIldheWxhbmQsIGEgcHJvdG9jb2wgYmV0d2VlbiBhIGNvbXBvc2l0b3IgYW5kIGNsaWVudHMiCitERVNDUklQVElPTiA9ICJXYXlsYW5kIGlzIGEgcHJvdG9jb2wgZm9yIGEgY29tcG9zaXRvciB0byB0YWxrIHRvIGl0cyBjbGllbnRzIFwKK2FzIHdlbGwgYXMgYSBDIGxpYnJhcnkgaW1wbGVtZW50YXRpb24gb2YgdGhhdCBwcm90b2NvbC4gVGhlIGNvbXBvc2l0b3IgY2FuIGJlIFwKK2Egc3RhbmRhbG9uZSBkaXNwbGF5IHNlcnZlciBydW5uaW5nIG9uIExpbnV4IGtlcm5lbCBtb2Rlc2V0dGluZyBhbmQgZXZkZXYgXAoraW5wdXQgZGV2aWNlcywgYW4gWCBhcHBsaWNhdGlvbiwgb3IgYSB3YXlsYW5kIGNsaWVudCBpdHNlbGYuIFRoZSBjbGllbnRzIGNhbiBcCitiZSB0cmFkaXRpb25hbCBhcHBsaWNhdGlvbnMsIFggc2VydmVycyAocm9vdGxlc3Mgb3IgZnVsbHNjcmVlbikgb3Igb3RoZXIgXAorZGlzcGxheSBzZXJ2ZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjMxZDhmNTNiNmFhZjJiNDk4NWQ3ZGQ3ODEwYTcwZDEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3dheWxhbmQtc2VydmVyLmM7ZW5kbGluZT0yNDttZDU9YjhlMDQ2MTY0YTc2NmJiMWVkZThiYTM4ZTlkY2Q3Y2UiCisKK0RFUEVORFMgPSAiZXhwYXQgbGlieG1sMiBsaWJmZmkgd2F5bGFuZC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy8ke0JQTn0tJHtQVn0udGFyLnh6IFwKKwkgICBmaWxlOi8vZml4cGF0aGlucGNmaWxlcy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkOTFmOTcwYWVhMTFmZDU0OWVhZTAyM2QwNmY5MWFmMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MmFhMTFiOGFjNmUyMmY0Nzc3MzAyYzkyNTFlOGZlYzc2NTVkYzIyZjlkOTRlZTY3NmM2YjI3NmY5NWY5MWE0IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZy9yZWxlYXNlcy5odG1sIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0td2l0aC1ob3N0LXNjYW5uZXIiCitFWFRSQV9PRUNPTkZfY2xhc3MtbmF0aXZlID0gIi0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0tZGlzYWJsZS1saWJyYXJpZXMiCisKKyMgV2F5bGFuZCBpbnN0YWxscyBhIE00IG1hY3JvIGZvciBvdGhlciBwcm9qZWN0cyB0byB1c2UsIHdoaWNoIHVzZXMgdGhlIHRhcmdldAorIyBwa2ctY29uZmlnIHRvIGZpbmQgZmlsZXMuICBSZXBsYWNlIHBrZy1jb25maWcgd2l0aCBwa2ctY29uZmlnLW5hdGl2ZS4KK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKyAgc2VkIC1lICdzLFBLR19DSEVDS19NT0RVTEVTKC4qKSwsZycgXAorICAgICAgLWUgJ3MsJFBLR19DT05GSUcscGtnLWNvbmZpZy1uYXRpdmUsZycgXAorICAgICAgLWkgJHtEfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00Cit9CisKK3N5c3Jvb3Rfc3RhZ2VfYWxsX2FwcGVuZF9jbGFzcy10YXJnZXQgKCkgeworCXJtICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00CisJY3AgJHtTVEFHSU5HX0RBVEFESVJfTkFUSVZFfS9hY2xvY2FsL3dheWxhbmQtc2Nhbm5lci5tNCAke1NZU1JPT1RfREVTVERJUn0vJHtkYXRhZGlyfS9hY2xvY2FsLworfQorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9ICR7ZGF0YWRpcn0vd2F5bGFuZCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMDAwMS1jYWxpYnJhdG9yLmhoLUluY2x1ZGUtc3RyaW5nLXRvLWdldC1zdGQtc3RyaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NjE3NjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvci8wMDAxLWNhbGlicmF0b3IuaGgtSW5jbHVkZS1zdHJpbmctdG8tZ2V0LXN0ZC1zdHJpbmcucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSA3OWJjNTA3YjQ4ZDRhY2QzZGVjOGE4NWFiNmIzNDFiODcyZDQ0YTA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjkgSmFuIDIwMTkgMjI6NDA6MjQgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gY2FsaWJyYXRvci5oaDogSW5jbHVkZSA8c3RyaW5nPiB0byBnZXQgc3RkOjpzdHJpbmcKKworRm91bmQgd2l0aCBsaWJjKysKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS90aWFzL3hpbnB1dF9jYWxpYnJhdG9yL3B1bGwvNzZdCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgc3JjL2NhbGlicmF0b3IuaGggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJhdG9yLmhoIGIvc3JjL2NhbGlicmF0b3IuaGgKK2luZGV4IGE2Zjk1MDQuLmU3NWJjZWYgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyYXRvci5oaAorKysrIGIvc3JjL2NhbGlicmF0b3IuaGgKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgPFgxMS9YbGliLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8c3RyaW5nPgorIAorIC8vIFhYWDogd2UgY3VycmVudGx5IGRvbid0IGhhbmRsZSBsaW5lcyB0aGF0IGFyZSBsb25nZXIgdGhhbiB0aGlzCisgI2RlZmluZSBNQVhfTElORV9MRU4gMTAyNAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3JfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3JfZ2l0LmJiCmluZGV4IDY4ZTYyZWEuLjk4NzNkM2YgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvcl9naXQuYmIKQEAgLTE0LDcgKzE0LDkgQEAKIFNSQ1JFViA9ICIwM2RhZGY1NTEwOWJkNDNkMzM4MGYwNDBkZWJlOWY4MmY2NmYyZjM1IgogU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3RpYXMveGlucHV0X2NhbGlicmF0b3IuZ2l0IFwKICAgICAgICAgICAgZmlsZTovLzMweGlucHV0X2NhbGlicmF0ZS5zaCBcCi0gICAgICAgICAgIGZpbGU6Ly9BbGxvdy14aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoLXRvLWJlLXJ1bi1hcy1uLnBhdGNoIgorICAgICAgICAgICBmaWxlOi8vQWxsb3cteGlucHV0X2NhbGlicmF0b3JfcG9pbnRlcmNhbC5zaC10by1iZS1ydW4tYXMtbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNhbGlicmF0b3IuaGgtSW5jbHVkZS1zdHJpbmctdG8tZ2V0LXN0ZC1zdHJpbmcucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaAppbmRleCA2MTMwOTU5Li41M2MwYWMyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2L2RpZXQteDExLnBhdGNoCkBAIC00LDc5ICs0LDEwNiBAQAogIHhldi5jIHwgICAxNiArKysrKysrKy0tLS0tLS0tCiAgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKIAotSW5kZXg6IHhldi0xLjIuMC94ZXYuYworSW5kZXg6IHhldi0xLjIuMy94ZXYuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHhldi0xLjIuMC5vcmlnL3hldi5jCi0rKysgeGV2LTEuMi4wL3hldi5jCi1AQCAtMTE2LDcgKzExNiw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKLSAgICAgbmJ5dGVzID0gWExvb2t1cFN0cmluZyAoZSwgc3RyLCAyNTYsICZrcywgTlVMTCk7CistLS0geGV2LTEuMi4zLm9yaWcveGV2LmMKKysrKyB4ZXYtMS4yLjMveGV2LmMKK0BAIC0xMjUsMTcgKzEyNSw2IEBAIGRvX0tleVByZXNzKFhFdmVudCAqZXZlbnRwKQorICAgICBuYnl0ZXMgPSBYTG9va3VwU3RyaW5nKGUsIHN0ciwgMjU2LCAma3MsIE5VTEwpOwogIAogICAgICAvKiBub3Qgc3VwcG9zZWQgdG8gY2FsbCBYbWJMb29rdXBTdHJpbmcgb24gYSBrZXkgcmVsZWFzZSBldmVudCAqLwogLSAgICBpZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSsgICAgLyppZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICBubWJieXRlcyA9IFhtYkxvb2t1cFN0cmluZyAoeGljLCBlLCBidWYsIGJzaXplIC0gMSwgJmtzLCAmc3RhdHVzKTsKLSAgICAgICAgICAgICBidWZbbm1iYnl0ZXNdID0gJ1wwJzsKLUBAIC0xMjYsNyArMTI2LDcgQEAgZG9fS2V5UHJlc3MgKFhFdmVudCAqZXZlbnRwKQotICAgICAgICAgICAgICAgICBidWYgPSByZWFsbG9jIChidWYsIGJzaXplKTsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICB9IHdoaWxlIChzdGF0dXMgPT0gWEJ1ZmZlck92ZXJmbG93KTsKKy0gICAgICAgIGRvIHsKKy0gICAgICAgICAgICBubWJieXRlcyA9IFhtYkxvb2t1cFN0cmluZyh4aWMsIGUsIGJ1ZiwgYnNpemUgLSAxLCAma3MsICZzdGF0dXMpOworLSAgICAgICAgICAgIGJ1ZltubWJieXRlc10gPSAnXDAnOworLQorLSAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gWEJ1ZmZlck92ZXJmbG93KSB7CistICAgICAgICAgICAgICAgIGJzaXplID0gbm1iYnl0ZXMgKyAxOworLSAgICAgICAgICAgICAgICBidWYgPSByZWFsbG9jKGJ1ZiwgYnNpemUpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0gd2hpbGUgKHN0YXR1cyA9PSBYQnVmZmVyT3ZlcmZsb3cpOwogLSAgICB9Ci0rICAgIH0qLwogIAogICAgICBpZiAoa3MgPT0gTm9TeW1ib2wpCi0gCWtzbmFtZSA9ICJOb1N5bWJvbCI7Ci1AQCAtMTU2LDcgKzE1Niw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKKyAgICAgICAgIGtzbmFtZSA9ICJOb1N5bWJvbCI7CitAQCAtMTY4LDE2ICsxNTcsNiBAQCBkb19LZXlQcmVzcyhYRXZlbnQgKmV2ZW50cCkKICAgICAgfQogIAogICAgICAvKiBub3Qgc3VwcG9zZWQgdG8gY2FsbCBYbWJMb29rdXBTdHJpbmcgb24gYSBrZXkgcmVsZWFzZSBldmVudCAqLwogLSAgICBpZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSsgICAgLyppZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKLSAgICAgICAgIHByaW50ZiAoIiAgICBYbWJMb29rdXBTdHJpbmcgZ2l2ZXMgJWQgYnl0ZXM6ICIsIG5tYmJ5dGVzKTsKLSAgICAgICAgIGlmIChubWJieXRlcyA+IDApIHsKLSAgICAgICAgICAgIGR1bXAgKGJ1Ziwgbm1iYnl0ZXMpOwotQEAgLTE2NCw3ICsxNjQsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCi0gICAgICAgICB9IGVsc2UgewotICAgICAJICAgcHJpbnRmICgiXG4iKTsKKy0gICAgICAgIHByaW50ZigiICAgIFhtYkxvb2t1cFN0cmluZyBnaXZlcyAlZCBieXRlczogIiwgbm1iYnl0ZXMpOworLSAgICAgICAgaWYgKG5tYmJ5dGVzID4gMCkgeworLSAgICAgICAgICAgIGR1bXAoYnVmLCBubWJieXRlcyk7CistICAgICAgICAgICAgcHJpbnRmKCIgXCIlc1wiXG4iLCBidWYpOworLSAgICAgICAgfQorLSAgICAgICAgZWxzZSB7CistICAgICAgICAgICAgcHJpbnRmKCJcbiIpOworLSAgICAgICAgfQorLSAgICB9CisgCisgICAgIHByaW50ZigiICAgIFhGaWx0ZXJFdmVudCByZXR1cm5zOiAlc1xuIiwKKyAgICAgICAgICAgIFhGaWx0ZXJFdmVudChldmVudHAsIGUtPndpbmRvdykgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKK0BAIC0xMTQxLDcgKzExMjAsNyBAQCBwYXJzZV9ldmVudF9tYXNrKGNvbnN0IGNoYXIgKnMsIGxvbmcgZXZlCisgICAgICAgICAgICAgaWYgKHMpCisgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlOwogICAgICAgICAgfQogLSAgICB9Ci0rICAgIH0gKi8KKysJfQogIAotICAgICBwcmludGYgKCIgICAgWEZpbHRlckV2ZW50IHJldHVybnM6ICVzXG4iLAotIAkgICAgWEZpbHRlckV2ZW50IChldmVudHAsIGUtPndpbmRvdykgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKLUBAIC0xMDE1LDcgKzEwMTUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBmcHJpbnRmIChzdGRlcnIsICIlczogIFhTZXRMb2NhbGVNb2RpZmllcnMgZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CisgICAgIGlmIChzICE9IE5VTEwpCisgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiB1bnJlY29nbml6ZWQgZXZlbnQgbWFzayAnJXMnXG4iLCBQcm9ncmFtTmFtZSwgcyk7CitAQCAtMTI4OCwzNyArMTI2Nyw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogIFhTZXRMb2NhbGVNb2RpZmllcnMgZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CiAgICAgIH0KICAKLS0gICAgeGltID0gWE9wZW5JTSAoZHB5LCBOVUxMLCBOVUxMLCBOVUxMKTsKLSsgICAgLyp4aW0gPSBYT3BlbklNIChkcHksIE5VTEwsIE5VTEwsIE5VTEwpOwotICAgICBpZiAoeGltID09IE5VTEwpIHsKLSAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiAgWE9wZW5JTSBmYWlsZWRcbiIsIFByb2dyYW1OYW1lKTsKLSAgICAgfQotQEAgLTEwNDIsNyArMTA0Miw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgWEZyZWUgKHhpbV9zdHlsZXMpOwotICAgICAgICAgfQorLSAgICB4aW0gPSBYT3BlbklNKGRweSwgTlVMTCwgTlVMTCwgTlVMTCk7CistICAgIGlmICh4aW0gPT0gTlVMTCkgeworLSAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogIFhPcGVuSU0gZmFpbGVkXG4iLCBQcm9ncmFtTmFtZSk7CiAtICAgIH0KLSsJfSovCistCistICAgIGlmICh4aW0pIHsKKy0gICAgICAgIGltdmFscmV0ID0gWEdldElNVmFsdWVzKHhpbSwgWE5RdWVyeUlucHV0U3R5bGUsICZ4aW1fc3R5bGVzLCBOVUxMKTsKKy0gICAgICAgIGlmIChpbXZhbHJldCAhPSBOVUxMIHx8IHhpbV9zdHlsZXMgPT0gTlVMTCkgeworLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6ICBpbnB1dCBtZXRob2QgZG9lc24ndCBzdXBwb3J0IGFueSBzdHlsZXNcbiIsCistICAgICAgICAgICAgICAgICAgICBQcm9ncmFtTmFtZSk7CistICAgICAgICB9CistCistICAgICAgICBpZiAoeGltX3N0eWxlcykgeworLSAgICAgICAgICAgIHhpbV9zdHlsZSA9IDA7CistICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHhpbV9zdHlsZXMtPmNvdW50X3N0eWxlczsgaSsrKSB7CistICAgICAgICAgICAgICAgIGlmICh4aW1fc3R5bGVzLT5zdXBwb3J0ZWRfc3R5bGVzW2ldID09CistICAgICAgICAgICAgICAgICAgICAoWElNUHJlZWRpdE5vdGhpbmcgfCBYSU1TdGF0dXNOb3RoaW5nKSkgeworLSAgICAgICAgICAgICAgICAgICAgeGltX3N0eWxlID0geGltX3N0eWxlcy0+c3VwcG9ydGVkX3N0eWxlc1tpXTsKKy0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworLSAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAgIGlmICh4aW1fc3R5bGUgPT0gMCkgeworLSAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAiJXM6IGlucHV0IG1ldGhvZCBkb2Vzbid0IHN1cHBvcnQgdGhlIHN0eWxlIHdlIHN1cHBvcnRcbiIsCistICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3JhbU5hbWUpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBYRnJlZSh4aW1fc3R5bGVzKTsKKy0gICAgICAgIH0KKy0gICAgfQorLQorICAgICBzY3JlZW4gPSBEZWZhdWx0U2NyZWVuKGRweSk7CiAgCi0gICAgIHNjcmVlbiA9IERlZmF1bHRTY3JlZW4gKGRweSk7Ci0gCi1AQCAtMTEwOSw3ICsxMTA5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAlwcmludGYgKCJPdXRlciB3aW5kb3cgaXMgMHglbHgsIGlubmVyIHdpbmRvdyBpcyAweCVseFxuIiwgdywgc3Vidyk7CisgICAgIGF0dHIuZXZlbnRfbWFzayA9IGV2ZW50X21hc2tzW0VWRU5UX01BU0tfSU5ERVhfQ09SRV07CitAQCAtMTM3MywxNiArMTMyMSw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgcHJpbnRmKCJPdXRlciB3aW5kb3cgaXMgMHglbHgsIGlubmVyIHdpbmRvdyBpcyAweCVseFxuIiwgdywgc3Vidyk7CiAgICAgIH0KICAKIC0gICAgaWYgKHhpbSAmJiB4aW1fc3R5bGUpIHsKLSsgICAgLyppZiAoeGltICYmIHhpbV9zdHlsZSkgewotICAgICAgICAgeGljID0gWENyZWF0ZUlDICh4aW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFhOSW5wdXRTdHlsZSwgeGltX3N0eWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBYTkNsaWVudFdpbmRvdywgdywKLUBAIC0xMTE5LDcgKzExMTksNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgICBpZiAoeGljID09IE5VTEwpIHsKLSAgICAgICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJYQ3JlYXRlSUMgZmFpbGVkXG4iKTsKLSAgICAgICAgIH0KKy0gICAgICAgIHhpYyA9IFhDcmVhdGVJQyh4aW0sCistICAgICAgICAgICAgICAgICAgICAgICAgWE5JbnB1dFN0eWxlLCB4aW1fc3R5bGUsCistICAgICAgICAgICAgICAgICAgICAgICAgWE5DbGllbnRXaW5kb3csIHcsIFhORm9jdXNXaW5kb3csIHcsIE5VTEwpOworLQorLSAgICAgICAgaWYgKHhpYyA9PSBOVUxMKSB7CistICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJYQ3JlYXRlSUMgZmFpbGVkXG4iKTsKKy0gICAgICAgIH0KIC0gICAgfQotKyAgICB9Ki8KLSAKLSAgICAgaGF2ZV9yciA9IFhSUlF1ZXJ5RXh0ZW5zaW9uIChkcHksICZycl9ldmVudF9iYXNlLCAmcnJfZXJyb3JfYmFzZSk7CistCisgICAgIGhhdmVfcnIgPSBYUlJRdWVyeUV4dGVuc2lvbihkcHksICZycl9ldmVudF9iYXNlLCAmcnJfZXJyb3JfYmFzZSk7CiAgICAgIGlmIChoYXZlX3JyKSB7CisgICAgICAgICBpbnQgcnJfbWFqb3IsIHJyX21pbm9yOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNzA1YjdmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLXJlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gIlggRXZlbnQgVmlld2VyIgotREVTQ1JJUFRJT04gPSAiWGV2IGNyZWF0ZXMgYSB3aW5kb3cgYW5kIHRoZW4gYXNrcyB0aGUgWCBzZXJ2ZXIgdG8gc2VuZCBpdCBldmVudHMgXAotd2hlbmV2ZXIgYW55dGhpbmcgaGFwcGVucyB0byB0aGUgd2luZG93IChzdWNoIGFzIGl0IGJlaW5nIG1vdmVkLCByZXNpemVkLCBcCi10eXBlZCBpbiwgY2xpY2tlZCBpbiwgZXRjLikuIFlvdSBjYW4gYWxzbyBhdHRhY2ggaXQgdG8gYW4gZXhpc3Rpbmcgd2luZG93LiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGV2LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0zMzttZDU9NTc3Yzk5NDIxZjE4MDNiODkxZDJjNzkwOTdhZTQ2ODIiCi1MSUNFTlNFID0gIk1JVCIKLQotUEUgPSAiMSIKLQotREVQRU5EUyArPSAibGlieHJhbmRyIHhvcmdwcm90byIKLQotU1JDX1VSSSArPSAiZmlsZTovL2RpZXQteDExLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjQ5YmRkZTkwZjAxYzBkODYxYWY1MmRjOGZlYzM3OWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDk0YWU2MmE2YzFhZjU2YzI5NjFkNzFmNTc4MjA3NmFjNDExNmYwZmE0ZTQwMTQyMGFjN2UwZGIzM2RjMzE0ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTY5ZTc0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4zLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlggRXZlbnQgVmlld2VyIgorREVTQ1JJUFRJT04gPSAiWGV2IGNyZWF0ZXMgYSB3aW5kb3cgYW5kIHRoZW4gYXNrcyB0aGUgWCBzZXJ2ZXIgdG8gc2VuZCBpdCBldmVudHMgXAord2hlbmV2ZXIgYW55dGhpbmcgaGFwcGVucyB0byB0aGUgd2luZG93IChzdWNoIGFzIGl0IGJlaW5nIG1vdmVkLCByZXNpemVkLCBcCit0eXBlZCBpbiwgY2xpY2tlZCBpbiwgZXRjLikuIFlvdSBjYW4gYWxzbyBhdHRhY2ggaXQgdG8gYW4gZXhpc3Rpbmcgd2luZG93LiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGV2LmM7YmVnaW5saW5lPTE7ZW5kbGluZT0zMzttZDU9NTc3Yzk5NDIxZjE4MDNiODkxZDJjNzkwOTdhZTQ2ODIiCitMSUNFTlNFID0gIk1JVCIKKworUEUgPSAiMSIKKworREVQRU5EUyArPSAibGlieHJhbmRyIHhvcmdwcm90byIKKworU1JDX1VSSSArPSAiZmlsZTovL2RpZXQteDExLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWVjODJhNWQ0YjU5OTczNmYwZmE2MzdlOTYxMzY3NDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZiYzRmMWNmYTE5NDZkNjI2MTI3Mzc4MTVjMzQxNjRlNGNlNDBmY2ViZDJjOWUxZDdlN2ExMTE3YWQzYWQwOSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NDkwZjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjcuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJTZXJ2ZXIgYWNjZXNzIGNvbnRyb2wgcHJvZ3JhbSBmb3IgWCIKLQotREVTQ1JJUFRJT04gPSAiVGhlIHhob3N0IHByb2dyYW0gaXMgdXNlZCB0byBhZGQgYW5kIGRlbGV0ZSBob3N0IG5hbWVzIG9yIFwKLXVzZXIgbmFtZXMgdG8gdGhlIGxpc3QgYWxsb3dlZCB0byBtYWtlIGNvbm5lY3Rpb25zIHRvIHRoZSBYIHNlcnZlci4gSW4gXAotdGhlIGNhc2Ugb2YgaG9zdHMsIHRoaXMgcHJvdmlkZXMgYSBydWRpbWVudGFyeSBmb3JtIG9mIHByaXZhY3kgY29udHJvbCBcCi1hbmQgc2VjdXJpdHkuIEVudmlyb25tZW50cyB3aGljaCByZXF1aXJlIG1vcmUgc29waGlzdGljYXRlZCBtZWFzdXJlcyBcCi1zaG91bGQgaW1wbGVtZW50IHRoZSB1c2VyLWJhc2VkIG1lY2hhbmlzbSBvciB1c2UgdGhlIGhvb2tzIGluIHRoZSBcCi1wcm90b2NvbCBmb3IgcGFzc2luZyBvdGhlciBhdXRoZW50aWNhdGlvbiBkYXRhIHRvIHRoZSBzZXJ2ZXIuIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04ZmJlZDcxZGRkZjQ4NTQxODE4Y2VmODA3OTEyNDE5OSIKLURFUEVORFMgKz0gImxpYnhtdSBsaWJ4YXUiCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZjVkNDkwNzM4YjE0OGNiN2YyZmU3NjBmNDBmOTI1MTYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTNlNjE5ZWUxNTQ3MWY1NzZjZmIzMGM2NjNlMThmNWJjNzBhY2E1NzdhNjNkMmMyYzAzZjAwNmE3ODM3YzI5YSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aG9zdF8xLjAuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmJlYzNmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjguYmIKQEAgLTAsMCArMSwyMCBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiU2VydmVyIGFjY2VzcyBjb250cm9sIHByb2dyYW0gZm9yIFgiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aG9zdCBwcm9ncmFtIGlzIHVzZWQgdG8gYWRkIGFuZCBkZWxldGUgaG9zdCBuYW1lcyBvciBcCit1c2VyIG5hbWVzIHRvIHRoZSBsaXN0IGFsbG93ZWQgdG8gbWFrZSBjb25uZWN0aW9ucyB0byB0aGUgWCBzZXJ2ZXIuIEluIFwKK3RoZSBjYXNlIG9mIGhvc3RzLCB0aGlzIHByb3ZpZGVzIGEgcnVkaW1lbnRhcnkgZm9ybSBvZiBwcml2YWN5IGNvbnRyb2wgXAorYW5kIHNlY3VyaXR5LiBFbnZpcm9ubWVudHMgd2hpY2ggcmVxdWlyZSBtb3JlIHNvcGhpc3RpY2F0ZWQgbWVhc3VyZXMgXAorc2hvdWxkIGltcGxlbWVudCB0aGUgdXNlci1iYXNlZCBtZWNoYW5pc20gb3IgdXNlIHRoZSBob29rcyBpbiB0aGUgXAorcHJvdG9jb2wgZm9yIHBhc3Npbmcgb3RoZXIgYXV0aGVudGljYXRpb24gZGF0YSB0byB0aGUgc2VydmVyLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGZiZWQ3MWRkZGY0ODU0MTgxOGNlZjgwNzkxMjQxOTkiCitERVBFTkRTICs9ICJsaWJ4bXUgbGlieGF1IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImE0OGM3Mjk1NGFlNjY2NWUwNjE2ZjY2NTM2MzZkYThjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEyZGMzYzU3OWUxMzY3NDk0NzM5NWVmOGNjYzFiMzc2M2Y4OTAxMmEyMTZjMmNjNjI3NzA5NjQ4OWFhZGMzOTYiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjAuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjMmEwNmIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS40LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJYIFdpbmRvdyBTeXN0ZW0gaW5pdGlhbGl6ZXIiCi0KLURFU0NSSVBUSU9OID0gIlRoZSB4aW5pdCBwcm9ncmFtIGlzIHVzZWQgdG8gc3RhcnQgdGhlIFggV2luZG93IFN5c3RlbSBcCi1zZXJ2ZXIgYW5kIGEgZmlyc3QgY2xpZW50IHByb2dyYW0gb24gc3lzdGVtcyB0aGF0IGNhbm5vdCBzdGFydCBYIFwKLWRpcmVjdGx5IGZyb20gL2V0Yy9pbml0IG9yIGluIGVudmlyb25tZW50cyB0aGF0IHVzZSBtdWx0aXBsZSB3aW5kb3cgXAotc3lzdGVtcy4gV2hlbiB0aGlzIGZpcnN0IGNsaWVudCBleGl0cywgeGluaXQgd2lsbCBraWxsIHRoZSBYIHNlcnZlciBhbmQgXAotdGhlbiB0ZXJtaW5hdGUuIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOGYwMWU3YjM5ODA3YmViZTJiOGRmMTAxYTAzOWI2OCIKLQotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkYTE1NGIyZjgwY2E5NjM3YjFhMTdiMTNhZjA4ODBjIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIzMDgzNWVlZjJmNTk3OGExZTEzNDQ5MjgxNjgxMTkzNzNmNmRmMWQwYTMyYzA5NTE1ZTU0NTcyMWVlNTgyZWYiCi0KLUVYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX01DT09LSUU9JHtiaW5kaXJ9L21jb29raWUiCi0KLVJERVBFTkRTXyR7UE59ICs9ICJ1dGlsLWxpbnV4LW1jb29raWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbml0XzEuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2MjZlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjQuMS5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYIFdpbmRvdyBTeXN0ZW0gaW5pdGlhbGl6ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aW5pdCBwcm9ncmFtIGlzIHVzZWQgdG8gc3RhcnQgdGhlIFggV2luZG93IFN5c3RlbSBcCitzZXJ2ZXIgYW5kIGEgZmlyc3QgY2xpZW50IHByb2dyYW0gb24gc3lzdGVtcyB0aGF0IGNhbm5vdCBzdGFydCBYIFwKK2RpcmVjdGx5IGZyb20gL2V0Yy9pbml0IG9yIGluIGVudmlyb25tZW50cyB0aGF0IHVzZSBtdWx0aXBsZSB3aW5kb3cgXAorc3lzdGVtcy4gV2hlbiB0aGlzIGZpcnN0IGNsaWVudCBleGl0cywgeGluaXQgd2lsbCBraWxsIHRoZSBYIHNlcnZlciBhbmQgXAordGhlbiB0ZXJtaW5hdGUuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOGYwMWU3YjM5ODA3YmViZTJiOGRmMTAxYTAzOWI2OCIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjZkNTA2YWIyZWZjMTdhMDhlODc3Nzg2NTRlMDk5ZDM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImRlOWI4ZjYxN2I2OGE3MGY2Y2FmODdkYTAxZmNmMGViZDJiNzU2OTBjZGNiYTljOTIxZDBlZjU0ZmE1NGFiYjkiCisKK0VYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX01DT09LSUU9JHtiaW5kaXJ9L21jb29raWUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJ1dGlsLWxpbnV4LW1jb29raWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZWRiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94bW9kbWFwXzEuMC4xMC5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IGZvciBtb2RpZnlpbmcga2V5bWFwcyBhbmQgcG9pbnRlciBidXR0b24gbWFwcGluZ3MgaW4gWCIKKworREVTQ1JJUFRJT04gPSAiVGhlIHhtb2RtYXAgcHJvZ3JhbSBpcyB1c2VkIHRvIGVkaXQgYW5kIGRpc3BsYXkgdGhlIFwKK2tleWJvYXJkIG1vZGlmaWVyIG1hcCBhbmQga2V5bWFwIHRhYmxlIHRoYXQgYXJlIHVzZWQgYnkgY2xpZW50IFwKK2FwcGxpY2F0aW9ucyB0byBjb252ZXJ0IGV2ZW50IGtleWNvZGVzIGludG8ga2V5c3ltcy4gSXQgaXMgdXN1YWxseSBydW4gXAorZnJvbSB0aGUgdXNlcidzIHNlc3Npb24gc3RhcnR1cCBzY3JpcHQgdG8gY29uZmlndXJlIHRoZSBrZXlib2FyZCBcCithY2NvcmRpbmcgdG8gcGVyc29uYWwgdGFzdGVzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNzJjMTdlOTYzNzBlMWU3NDc3M2ZhMjJkOTk4OTYyMSIKKworUEUgPSAiMSIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MWYxZDMwYTUyNWU5OTAzMjgwZmZlZWEyNzQ0YjFmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NzNmMDk0MWQ3NDM5ZDUwMWJiODk1ZmYzNTg4MzJiOTM2ZWMzNGM3NDliOTcwNGMzN2ExNWUxMWMzMTg0ODdjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkZWFjNmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLXJlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYwotCi1TVU1NQVJZID0gIlV0aWxpdHkgZm9yIG1vZGlmeWluZyBrZXltYXBzIGFuZCBwb2ludGVyIGJ1dHRvbiBtYXBwaW5ncyBpbiBYIgotCi1ERVNDUklQVElPTiA9ICJUaGUgeG1vZG1hcCBwcm9ncmFtIGlzIHVzZWQgdG8gZWRpdCBhbmQgZGlzcGxheSB0aGUgXAota2V5Ym9hcmQgbW9kaWZpZXIgbWFwIGFuZCBrZXltYXAgdGFibGUgdGhhdCBhcmUgdXNlZCBieSBjbGllbnQgXAotYXBwbGljYXRpb25zIHRvIGNvbnZlcnQgZXZlbnQga2V5Y29kZXMgaW50byBrZXlzeW1zLiBJdCBpcyB1c3VhbGx5IHJ1biBcCi1mcm9tIHRoZSB1c2VyJ3Mgc2Vzc2lvbiBzdGFydHVwIHNjcmlwdCB0byBjb25maWd1cmUgdGhlIGtleWJvYXJkIFwKLWFjY29yZGluZyB0byBwZXJzb25hbCB0YXN0ZXMuIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3MmMxN2U5NjM3MGUxZTc0NzczZmEyMmQ5OTg5NjIxIgotCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNzIzZjAyZDNhNWY5ODQ1MDU1NDU1NjIwNWYwYTk0OTciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjdiMGU1Y2M1ZjEwZDBmYjZkMmQ2ZWE0ZjAwYzc3ZThhYzBlODQ3Y2M1YTczYmU5NGNkODYxMzlhYzRhYzQ3OCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhNThkNDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1yZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKLQotU1VNTUFSWSA9ICJVdGlsaXR5IHRvIGRpc3BsYXkgd2luZG93IGFuZCBmb250IHByb3BlcnRpZXMgb2YgYW4gWCBzZXJ2ZXIiCi0KLURFU0NSSVBUSU9OID0gIlRoZSB4cHJvcCB1dGlsaXR5IGlzIGZvciBkaXNwbGF5aW5nIHdpbmRvdyBhbmQgZm9udCBcCi1wcm9wZXJ0aWVzIGluIGFuIFggc2VydmVyLiBPbmUgd2luZG93IG9yIGZvbnQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIFwKLWNvbW1hbmQgbGluZSBhcmd1bWVudHMgb3IgcG9zc2libHkgaW4gdGhlIGNhc2Ugb2YgYSB3aW5kb3csIGJ5IGNsaWNraW5nIFwKLW9uIHRoZSBkZXNpcmVkIHdpbmRvdy4gQSBsaXN0IG9mIHByb3BlcnRpZXMgaXMgdGhlbiBnaXZlbiwgcG9zc2libHkgd2l0aCBcCi1mb3JtYXR0aW5nIGluZm9ybWF0aW9uLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTIyNmFiOGRiODhhYzBiYzAzOTE2NzNiZTQwYzlmOTEiCi0KLURFUEVORFMgKz0gImxpYnhtdSIKLQotUEUgPSAiMSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjRiZWNiM2RkYzQ2NzRkNzQxNDg3MTg5ZTRjZTNkMGI2IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQyMmFmYjI4Yzg2ZDg1ZmZmMTBhNTAxNTZhN2QwZmE5MzBjODBhZTg2NWQ3MGIyNmQ4MDVmZDI4YTE3YTUyMWIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hwcm9wXzEuMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyODA4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuNC5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IHRvIGRpc3BsYXkgd2luZG93IGFuZCBmb250IHByb3BlcnRpZXMgb2YgYW4gWCBzZXJ2ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4cHJvcCB1dGlsaXR5IGlzIGZvciBkaXNwbGF5aW5nIHdpbmRvdyBhbmQgZm9udCBcCitwcm9wZXJ0aWVzIGluIGFuIFggc2VydmVyLiBPbmUgd2luZG93IG9yIGZvbnQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIFwKK2NvbW1hbmQgbGluZSBhcmd1bWVudHMgb3IgcG9zc2libHkgaW4gdGhlIGNhc2Ugb2YgYSB3aW5kb3csIGJ5IGNsaWNraW5nIFwKK29uIHRoZSBkZXNpcmVkIHdpbmRvdy4gQSBsaXN0IG9mIHByb3BlcnRpZXMgaXMgdGhlbiBnaXZlbiwgcG9zc2libHkgd2l0aCBcCitmb3JtYXR0aW5nIGluZm9ybWF0aW9uLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTIyNmFiOGRiODhhYzBiYzAzOTE2NzNiZTQwYzlmOTEiCisKK0RFUEVORFMgKz0gImxpYnhtdSIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImNjMzY5YzI4MzgzYTVkNzE0NGU3MTk3ZWU3ZDMwYmZhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhjNzdmYjA5NmU0NmM2MDAzMmI3ZTJiZGU5NDkyYzNmZmNjMTg3MzRmNTBiMzk1MDg1YTVmMTBiZmQzY2Y3NTMiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI5NjVlZjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCi0KLVNVTU1BUlkgPSAiUHJpbnQgb3V0IFgtVmlkZW8gZXh0ZW5zaW9uIGFkYXB0b3IgaW5mb3JtYXRpb24iCi0KLURFU0NSSVBUSU9OID0gInh2aW5mbyBwcmludHMgb3V0IHRoZSBjYXBhYmlsaXRpZXMgb2YgYW55IHZpZGVvIGFkYXB0b3JzIFwKLWFzc29jaWF0ZWQgd2l0aCB0aGUgZGlzcGxheSB0aGF0IGFyZSBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIFgtVmlkZW8gXAotZXh0ZW5zaW9uLiIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjY2NDEwMWFkN2ExZGM3NThhNGM0MTA5YmY5NzhlNjgiCi1ERVBFTkRTICs9ICIgbGlieHYiCi1QRSA9ICIxIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTU4MzYwMTc2YjcxOGRlZTNjMzliYzA2NDhjMGQxMGMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWZiYThiNjhkYWY1Mzg2M2U2NmQ1MDA0ZmE5YzcwM2ZjZWNmNjlkYjRkMTUxZWEyZDNkODg1ZDYyMWU2ZTVlYiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3h2aW5mb18xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTEzYWUxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS40LmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlByaW50IG91dCBYLVZpZGVvIGV4dGVuc2lvbiBhZGFwdG9yIGluZm9ybWF0aW9uIgorCitERVNDUklQVElPTiA9ICJ4dmluZm8gcHJpbnRzIG91dCB0aGUgY2FwYWJpbGl0aWVzIG9mIGFueSB2aWRlbyBhZGFwdG9ycyBcCithc3NvY2lhdGVkIHdpdGggdGhlIGRpc3BsYXkgdGhhdCBhcmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBYLVZpZGVvIFwKK2V4dGVuc2lvbi4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI2NjQxMDFhZDdhMWRjNzU4YTRjNDEwOWJmOTc4ZTY4IgorREVQRU5EUyArPSAiIGxpYnh2IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImIxM2FmZWMxMzdiOWIzMzE4MTRhOTgyNGFiMDNlYzgwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAzNTMyMjBkNjYwNjA3N2JhNDIzNjNkYjY1ZjUwNDEwNzU5Zjk4MTUzNTJmNzdhZGM3OTllMmFkZmE3NmU3M2YiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWxpYmlucHV0XzAuMjguMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODUzYjViLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKLQotU1VNTUFSWSA9ICJHZW5lcmljIGlucHV0IGRyaXZlciBmb3IgdGhlIFguT3JnIHNlcnZlciBiYXNlZCBvbiBsaWJpbnB1dCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVlNmIyMGVhMmVmOTRhOTk4MTQ1ZjBlYTNmNzg4ZWUwIgotCi1ERVBFTkRTICs9ICJsaWJpbnB1dCIKLQotU1JDX1VSSVttZDVzdW1dID0gIjJkNzUxOWFjMGUzOWQ0Yzg4ZjNiZTMyZTgxYTYzN2FhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjIxOTk0ZDA2NWZjMjZlODVkMWMzZmM4N2Q4NDc5YjljMjI2OTllZDVhMDExOWRmOThmYmUwMDAwZTg0NjMwYTEiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94b3JnLmNvbmYuZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1saWJpbnB1dF8wLjI4LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxMjNlMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbGliaW5wdXRfMC4yOC4yLmJiCkBAIC0wLDAgKzEsMTEgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCisKK1NVTU1BUlkgPSAiR2VuZXJpYyBpbnB1dCBkcml2ZXIgZm9yIHRoZSBYLk9yZyBzZXJ2ZXIgYmFzZWQgb24gbGliaW5wdXQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZTZiMjBlYTJlZjk0YTk5ODE0NWYwZWEzZjc4OGVlMCIKKworREVQRU5EUyArPSAibGliaW5wdXQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiNzU0OGJjMWQ3ZTgyZDE4OTIwNTc5NGZmODYzMDdhZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiOGIzNDY5NjJjNmI2MmI4MDY5OTI4YzI5YzBkYjgzYjZmNTQ0ODYzYmYyZmM2ODMwZjMyNGRlODQxZGUyODIwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEveG9yZy5jb25mLmQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAwMDEtQWRkLUNvZmZlZWxha2UtUENJLUlEcy1mb3ItUy1Ta3VzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDZlZjEwNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAwMDEtQWRkLUNvZmZlZWxha2UtUENJLUlEcy1mb3ItUy1Ta3VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLUZyb20gOTZkNGU4ZTdiOGE2OTlmMGVmNzdmYTdiMjEwZDRkZTVmMWM3MDNkMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IExpd2VpIFNvbmcgPGxpd2VpLnNvbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMjIgTm92IDIwMTcgMDg6NTk6MDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIENvZmZlZWxha2UgUENJIElEcyBmb3IgUyBTa3VzCi0KLUFkZCB0aGUgQ29mZmVlbGFrZSBQQ0kgSURzIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcga2VybmVsIHBhdGNoZXM6Ci0KLWNvbW1pdCBiMDU2ZjhmM2Q2YjkwMGU4YWZkMTlmMzEyNzE5MTYwMzQ2ZDI2M2I0Ci1BdXRob3I6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KLURhdGU6ICAgVGh1IEp1biA4IDE2OjQxOjA1IDIwMTcgLTA3MDAKLQotICAgIGRybS9pOTE1L2NmbDogQWRkIENvZmZlZSBMYWtlIFBDSSBJRHMgZm9yIFMgU2t1cy4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvMTAxMzk5MDVdCi0KLVNpZ25lZC1vZmYtYnk6IExpd2VpIFNvbmcgPGxpd2VpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIHNyYy9pOTE1X3BjaWlkcy5oICAgICB8ICA3ICsrKysrKysKLSBzcmMvaW50ZWxfbW9kdWxlLmMgICAgfCAxMyArKysrKysrKysrKysrCi0gc3JjL3NuYS9nZW45X3JlbmRlci5jIHwgMTIgKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvaTkxNV9wY2lpZHMuaCBiL3NyYy9pOTE1X3BjaWlkcy5oCi1pbmRleCAwMzcwZjgzMGM1NDEuLjExY2NmYTljMDQ3YSAxMDA2NDQKLS0tLSBhL3NyYy9pOTE1X3BjaWlkcy5oCi0rKysgYi9zcmMvaTkxNV9wY2lpZHMuaAotQEAgLTM0MCw0ICszNDAsMTEgQEAKLSAJSU5URUxfVkdBX0RFVklDRSgweDMxODQsIGluZm8pLCBcCi0gCUlOVEVMX1ZHQV9ERVZJQ0UoMHgzMTg1LCBpbmZvKQotIAotKyNkZWZpbmUgSU5URUxfQ0ZMX1NfSURTKGluZm8pIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTAsIGluZm8pLCAvKiBTUlYgR1QxICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTMsIGluZm8pLCAvKiBTUlYgR1QxICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTEsIGluZm8pLCAvKiBTUlYgR1QyICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTIsIGluZm8pLCAvKiBTUlYgR1QyICovIFwKLSsJSU5URUxfVkdBX0RFVklDRSgweDNFOTYsIGluZm8pICAvKiBTUlYgR1QyICovCi0rCi0gI2VuZGlmIC8qIF9JOTE1X1BDSUlEU19IICovCi1kaWZmIC0tZ2l0IGEvc3JjL2ludGVsX21vZHVsZS5jIGIvc3JjL2ludGVsX21vZHVsZS5jCi1pbmRleCA2YjA0ODU3ZTI4NTMuLjQ4MjdhNjcyNTVmMCAxMDA2NDQKLS0tLSBhL3NyYy9pbnRlbF9tb2R1bGUuYwotKysrIGIvc3JjL2ludGVsX21vZHVsZS5jCi1AQCAtMTM4LDYgKzEzOCwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2dlbWluaWxha2VfaW5mbyA9IHsKLSAJLmdlbiA9IDAxMTMsCi0gfTsKLSAKLStzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2NvZmZlZWxha2VfaW5mbyA9IHsKLSsJLmdlbiA9IDAxMTQsCi0rfTsKLSsKLSBzdGF0aWMgY29uc3QgU3ltVGFiUmVjIGludGVsX2NoaXBzZXRzW10gPSB7Ci0gCXtQQ0lfQ0hJUF9JODEwLAkJCQkiaTgxMCJ9LAotIAl7UENJX0NISVBfSTgxMF9EQzEwMCwJCQkiaTgxMC1kYzEwMCJ9LAotQEAgLTMwMyw2ICszMDcsMTMgQEAgc3RhdGljIGNvbnN0IFN5bVRhYlJlYyBpbnRlbF9jaGlwc2V0c1tdID0gewotIAl7MHg1OTE2LCAiSEQgR3JhcGhpY3MgNjIwIn0sCi0gCXsweDU5MUUsICJIRCBHcmFwaGljcyA2MTUifSwKLSAKLSsJLypDb2ZmZWVsYWtlKi8KLSsJezB4M0U5MCwgIkhEIEdyYXBoaWNzIn0sCi0rCXsweDNFOTMsICJIRCBHcmFwaGljcyJ9LAotKwl7MHgzRTkxLCAiSEQgR3JhcGhpY3MifSwKLSsJezB4M0U5MiwgIkhEIEdyYXBoaWNzIn0sCi0rCXsweDNFOTYsICJIRCBHcmFwaGljcyJ9LAotKwotIAkvKiBXaGVuIGFkZGluZyBuZXcgaWRlbnRpZmllcnMsIGFsc28gdXBkYXRlOgotIAkgKiAxLiBpbnRlbF9pZGVudGlmeSgpCi0gCSAqIDIuIG1hbi9pbnRlbC5tYW4KLUBAIC0zNjgsNiArMzc5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfaWRfbWF0Y2ggaW50ZWxfZGV2aWNlX21hdGNoW10gPSB7Ci0gCi0gCUlOVEVMX0dMS19JRFMoJmludGVsX2dlbWluaWxha2VfaW5mbyksCi0gCi0rCUlOVEVMX0NGTF9TX0lEUygmaW50ZWxfY29mZmVlbGFrZV9pbmZvKSwKLSsKLSAJSU5URUxfVkdBX0RFVklDRShQQ0lfTUFUQ0hfQU5ZLCAmaW50ZWxfZ2VuZXJpY19pbmZvKSwKLSAjZW5kaWYKLSAKLWRpZmYgLS1naXQgYS9zcmMvc25hL2dlbjlfcmVuZGVyLmMgYi9zcmMvc25hL2dlbjlfcmVuZGVyLmMKLWluZGV4IGU1ZjEyYzcyMzk1Ni4uN2Y0OTA1MmM1ZWMxIDEwMDY0NAotLS0tIGEvc3JjL3NuYS9nZW45X3JlbmRlci5jCi0rKysgYi9zcmMvc25hL2dlbjlfcmVuZGVyLmMKLUBAIC0yNDUsNiArMjQ1LDExIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ3RfaW5mbyBnbGtfZ3RfaW5mbyA9IHsKLSAJLnVyYiA9IHsgLm1heF92c19lbnRyaWVzID0gMzIwIH0sCi0gfTsKLSAKLStzdGF0aWMgY29uc3Qgc3RydWN0IGd0X2luZm8gY2ZsX2d0X2luZm8gPSB7Ci0rCS5uYW1lID0gIkNvZmZlZWxha2UgKGdlbjkpIiwKLSsJLnVyYiA9IHsgLm1heF92c19lbnRyaWVzID0gOTYwIH0sCi0rfTsKLSsKLSBzdGF0aWMgYm9vbCBpc19za2woc3RydWN0IHNuYSAqc25hKQotIHsKLSAJcmV0dXJuIHNuYS0+a2dlbS5nZW4gPT0gMDExMDsKLUBAIC0yNjUsNiArMjcwLDExIEBAIHN0YXRpYyBib29sIGlzX2dsayhzdHJ1Y3Qgc25hICpzbmEpCi0gCXJldHVybiBzbmEtPmtnZW0uZ2VuID09IDAxMTM7Ci0gfQotIAotK3N0YXRpYyBib29sIGlzX2NmbChzdHJ1Y3Qgc25hICpzbmEpCi0rewotKwlyZXR1cm4gc25hLT5rZ2VtLmdlbiA9PSAwMTE0OwotK30KLSsKLSAKLSBzdGF0aWMgaW5saW5lIGJvb2wgdG9vX2xhcmdlKGludCB3aWR0aCwgaW50IGhlaWdodCkKLSB7Ci1AQCAtNDA0MCw2ICs0MDUwLDggQEAgc3RhdGljIGJvb2wgZ2VuOV9yZW5kZXJfc2V0dXAoc3RydWN0IHNuYSAqc25hKQotIAkJc3RhdGUtPmluZm8gPSAma2JsX2d0X2luZm87Ci0gCWlmIChpc19nbGsoc25hKSkKLSAJCXN0YXRlLT5pbmZvID0gJmdsa19ndF9pbmZvOwotKwlpZiAoaXNfY2ZsKHNuYSkpCi0rCQlzdGF0ZS0+aW5mbyA9ICZjZmxfZ3RfaW5mbzsKLSAKLSAJc25hX3N0YXRpY19zdHJlYW1faW5pdCgmZ2VuZXJhbCk7Ci0gCi0tLSAKLTIuMTMuMwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsLzAxX0ZpeC1idWlsZC1vbi1pNjg2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMV9GaXgtYnVpbGQtb24taTY4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjkxNmY4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC8wMV9GaXgtYnVpbGQtb24taTY4Ni5wYXRjaApAQCAtMCwwICsxLDU1IEBACitGcm9tIGE0MTRkNGUyNDQ2MWRhMWNiNGNlZjhlZTkxMGJjNTdiYWIzNjBjZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBZGFtIEphY2tzb24gPGFqYXhAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgNiBNYXIgMjAxOCAxMjowNzo0NiAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gaTY4NgorCitQcmVzdW1hYmx5IHRoaXMgb25seSBtYXR0ZXJzIGZvciBpNjg2IGJlY2F1c2UgYW1kNjQgaW1wbGllcyBzc2UyLCBidXQ6CisKK0JVSUxEU1RERVJSOiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ2VuNF92ZXJ0ZXguYzozNDoKK0JVSUxEU1RERVJSOiBnZW40X3ZlcnRleC5jOiBJbiBmdW5jdGlvbiAnZW1pdF92ZXJ0ZXgnOgorQlVJTERTVERFUlI6IHNuYV9yZW5kZXJfaW5saW5lLmg6NDA6MjY6IGVycm9yOiBpbmxpbmluZyBmYWlsZWQgaW4gY2FsbCB0byBhbHdheXNfaW5saW5lICd2ZXJ0ZXhfZW1pdF8ycyc6IHRhcmdldCBzcGVjaWZpYyBvcHRpb24gbWlzbWF0Y2gKK0JVSUxEU1RERVJSOiAgc3RhdGljIGZvcmNlX2lubGluZSB2b2lkIHZlcnRleF9lbWl0XzJzKHN0cnVjdCBzbmEgKnNuYSwgaW50MTZfdCB4LCBpbnQxNl90IHkpCitCVUlMRFNUREVSUjogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgorQlVJTERTVERFUlI6IGdlbjRfdmVydGV4LmM6MzA4OjI1OiBub3RlOiBjYWxsZWQgZnJvbSBoZXJlCitCVUlMRFNUREVSUjogICNkZWZpbmUgT1VUX1ZFUlRFWCh4LHkpIHZlcnRleF9lbWl0XzJzKHNuYSwgeCx5KSAvKiBYWFggYXNzZXJ0KCF0b29fbGFyZ2UoeCwgeSkpOyAqLworQlVJTERTVERFUlI6ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK0JVSUxEU1RERVJSOiBnZW40X3ZlcnRleC5jOjM2MDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ09VVF9WRVJURVgnCitCVUlMRFNUREVSUjogICBPVVRfVkVSVEVYKGRzdFgsIGRzdFkpOworQlVJTERTVERFUlI6ICAgXn5+fn5+fn5+fgorCitUaGUgYnVnIGhlcmUgYXBwZWFycyB0byBiZSB0aGF0IGVtaXRfdmVydGV4KCkgaXMgZGVjbGFyZWQgJ3NzZTInIGJ1dAordmVydGV4X2VtaXRfMnMgaXMgbWVyZWx5IGFsd2F5c19pbmxpbmUuIGdjYzggZGVjaWRlcyB0aGF0IHNpbmNlIHlvdSBzYWlkCithbHdheXNfaW5saW5lIHlvdSBuZWVkIHRvIGhhdmUgZXhwbGljaXRseSBjbG9uZWQgaXQgZm9yIGV2ZXJ5CitwZXJtdXRhdGlvbiBvZiB0YXJnZXRzLiBNZXJlbHkgc2F5aW5nIGlubGluZSBzZWVtcyB0byBkbyB0aGUgam9iIG9mCitjbG9uaW5nIHZlcnRleF9lbWl0XzJzIGFzIG11Y2ggYXMgbmVjZXNzYXJ5LgorCitTbyB0byByZWl0ZXJhdGU6IGlmIHlvdSBzYXkgYWx3YXlzLWlubGluZSwgaXQgd29uJ3QsIGJ1dCBpZiB5b3UganVzdCBzYXkKK21heWJlIGlubGluZSwgaXQgd2lsbC4gVGhhbmtzIGdjYywgdGhhdCdzIGhlbHBmdWwuCisKKy0gYWpheAorCitQYXRjaCB0YWtlbiBmcm9tIEZlZG9yYS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgorCistLS0KKyBzcmMvc25hL2NvbXBpbGVyLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvc25hL2NvbXBpbGVyLmggYi9zcmMvc25hL2NvbXBpbGVyLmgKK2luZGV4IDNjMTc2YTE2Li5iYzQ0N2M3YSAxMDA2NDQKKy0tLSBhL3NyYy9zbmEvY29tcGlsZXIuaAorKysrIGIvc3JjL3NuYS9jb21waWxlci5oCitAQCAtMzIsNyArMzIsNyBAQAorICNkZWZpbmUgbGlrZWx5KGV4cHIpIChfX2J1aWx0aW5fZXhwZWN0ICghIShleHByKSwgMSkpCisgI2RlZmluZSB1bmxpa2VseShleHByKSAoX19idWlsdGluX2V4cGVjdCAoISEoZXhwciksIDApKQorICNkZWZpbmUgbm9pbmxpbmUgX19hdHRyaWJ1dGVfXygobm9pbmxpbmUpKQorLSNkZWZpbmUgZm9yY2VfaW5saW5lIGlubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkKKysjZGVmaW5lIGZvcmNlX2lubGluZSBpbmxpbmUKKyAjZGVmaW5lIGZhc3RjYWxsIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKQorICNkZWZpbmUgbXVzdF9jaGVjayBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQorICNkZWZpbmUgY29uc3RhbnQgX19hdHRyaWJ1dGVfXygoY29uc3QpKQorLS0gCisyLjE2LjIKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9nbGliYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvZ2xpYmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkYTllYjUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9nbGliYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUFkZCBhIG1pc3NpbmcgaW5jbHVkZSBuZWVkZWQgZm9yIGdsaWJjIDIuMjggdG8gYXZvaWQ6Ci0KLXwgLi4vLi4vZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYzogSW4gZnVuY3Rpb24gJ21haW4nOgotfCAuLi8uLi9naXQvdG9vbHMvYmFja2xpZ2h0X2hlbHBlci5jOjU0OjM0OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21ham9yJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KLXwgICBpZiAoZmQgPCAwIHx8IGZzdGF0KGZkLCAmc3QpIHx8IG1ham9yKHN0LnN0X2RldikpCi18ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fgotfCAuLi8uLi9naXQvdG9vbHMvYmFja2xpZ2h0X2hlbHBlci5jOjU0OjM0OiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdtYWpvcicgWy1XbmVzdGVkLWV4dGVybnNdCi18IGNjMTogc29tZSB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwotfCBNYWtlZmlsZTo2NjY6IHJlY2lwZSBmb3IgdGFyZ2V0ICdiYWNrbGlnaHRfaGVscGVyLm8nIGZhaWxlZAotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVJQIDIwMTgvOC8xMgotCi1JbmRleDogZ2l0L3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3Rvb2xzL2JhY2tsaWdodF9oZWxwZXIuYwotKysrIGdpdC90b29scy9iYWNrbGlnaHRfaGVscGVyLmMKLUBAIC04LDYgKzgsNyBAQAotIAotICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaW5jbHVkZSA8c3lzL3N5c21hY3Jvcy5oPgotIAotICNpZiBNQUpPUl9JTl9NS0RFVgotICNpbmNsdWRlIDxzeXMvbWtkZXYuaD4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWxfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKaW5kZXggNjU1ZmQ0ZC4uYmY5MDA5YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF9naXQuYmIKQEAgLTksMjAgKzksMjAgQEAKIAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODczMGFkNThkMTFjN2JiYWQ5YTcwNjZkNjlmNzgwOGUiCiAKLVNSQ1JFViA9ICJlNGZlNzljZjBkOWEwNWVlM2YzYTAyNzE0OGVmMGFlYjJiMWIzNGUxIgorU1JDUkVWID0gIjMzZWUwYzNiMjFlYTI3OWUwOGQwODYzZmNiMmU4NzRmMDk3NGIwMGUiCiBQViA9ICIyLjk5LjkxNytnaXQke1NSQ1BWfSIKIFMgPSAiJHtXT1JLRElSfS9naXQiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcveG9yZy9kcml2ZXIveGY4Ni12aWRlby1pbnRlbCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1Db2ZmZWVsYWtlLVBDSS1JRHMtZm9yLVMtU2t1cy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9nbGliYy5wYXRjaCBcCiAgICAgICAgICAgICIKIAorU1JDX1VSSV9hcHBlbmRfcWVtdXg4NiA9ICJmaWxlOi8vMDFfRml4LWJ1aWxkLW9uLWk2ODYucGF0Y2giCisKIFVQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gIig/UDxwdmVyPlxkKyhcLlxkKykrKSIKIAogREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgZHJtIGxpYnBjaWFjY2VzcyBwaXhtYW4iCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJ4dm1jIHV4YSB1ZGV2ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaSBkcmkyIGRyaTMnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJRyA/Pz0gInNuYSB4dm1jIHV4YSB1ZGV2ICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ2RyaSBkcmkyIGRyaTMnLCAnJywgZCl9IgogCiBQQUNLQUdFQ09ORklHW2RyaV0gPSAiLS1lbmFibGUtZHJpLC0tZGlzYWJsZS1kcmkiCiBQQUNLQUdFQ09ORklHW2RyaTFdID0gIi0tZW5hYmxlLWRyaTEsLS1kaXNhYmxlLWRyaTEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYgppbmRleCAzNDY0NmZmLi4xMjg5YzE2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LXV0aWxfMS4zLjEuYmIKQEAgLTEyLDcgKzEyLDcgQEAKIERFUEVORFMgPSAiZW5jb2RpbmdzIHV0aWwtbWFjcm9zIgogREVQRU5EU19jbGFzcy1uYXRpdmUgPSAidXRpbC1tYWNyb3MtbmF0aXZlIgogUkRFUEVORFNfJHtQTn0gPSAibWtmb250ZGlyIG1rZm9udHNjYWxlIGVuY29kaW5ncyIKLVJERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICJta2ZvbnRkaXItbmF0aXZlIG1rZm9udHNjYWxlLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCiAKIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzRkNWZjNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotU1VNTUFSWSA9ICJYIGZvbnQgZW5jb2RpbmcgbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAibGliZm9udGVuYyBpcyBhIGxpYnJhcnkgd2hpY2ggaGVscHMgZm9udCBsaWJyYXJpZXMgXAotcG9ydGFibHkgZGV0ZXJtaW5lIGFuZCBkZWFsIHdpdGggZGlmZmVyZW50IGVuY29kaW5ncyBvZiBmb250cy4iCi0KLXJlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYwotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk2MjU0YzIwYWI4MWM2M2U2NWIyNmYwZGJjZDRhMWMxIgotCi1ERVBFTkRTICs9ICJ6bGliIHhvcmdwcm90byBmb250LXV0aWwiCi1QRSA9ICIxIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA5MjA5MjRjM2E5ZWJjMTI2NTUxN2JkZDJmOWZkZTUwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcwNTg4OTMwZTZmYzk1NDJmZjM4ZTA4ODQ3NzhmYmM2ZTZmZWJmMjFhZGJhYjkyZmQ4ZjUyNGZlNjBhZWZkMjEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJmb250ZW5jXzEuMS40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZmM3NGIxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuNC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlggZm9udCBlbmNvZGluZyBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJmb250ZW5jIGlzIGEgbGlicmFyeSB3aGljaCBoZWxwcyBmb250IGxpYnJhcmllcyBcCitwb3J0YWJseSBkZXRlcm1pbmUgYW5kIGRlYWwgd2l0aCBkaWZmZXJlbnQgZW5jb2RpbmdzIG9mIGZvbnRzLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTYyNTRjMjBhYjgxYzYzZTY1YjI2ZjBkYmNkNGExYzEiCisKK0RFUEVORFMgKz0gInpsaWIgeG9yZ3Byb3RvIGZvbnQtdXRpbCIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NDQ3ZGI2YTY4OWZiNTMwYzIxOGYwZjgzMjhjM2FiYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyY2ZjY2U4MTBkZGQ0OGYyZTVkYzY1OGQyOGMxODA4ZTg2ZGNmMzAzZWFmZjE2NzI4YjlhYTNkYmMwMDkyMDc5IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYgppbmRleCA5OTk0MzRlLi5jMWIxOTEzIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJpY2VfMS4wLjkuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliaWNlXzEuMC45LmJiCkBAIC0xOCw3ICsxOCw3IEBACiAKIFhPUkdfUE4gPSAibGliSUNFIgogCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIAogU1JDX1VSSVttZDVzdW1dID0gImFkZGZiMWU4OTdjYTgwNzk1MzE2NjljN2M3NzExNzI2IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNzAzMmYyYzFjNjQzNTJiNTQyM2Y2YjQ4YThlYmRjMzM5Y2M2MzA2NGFmMzRkNjZhNmM5YWE3OTc1OWUyMDIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGM2OTNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotU1VNTUFSWSA9ICJTTTogU2Vzc2lvbiBNYW5hZ2VtZW50IGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlRoZSBTZXNzaW9uIE1hbmFnZW1lbnQgTGlicmFyeSAoU01saWIpIGlzIGEgbG93LWxldmVsIFwiQ1wiIFwKLWxhbmd1YWdlIGludGVyZmFjZSB0byBYU01QLiAgVGhlIHB1cnBvc2Ugb2YgdGhlIFggU2Vzc2lvbiBNYW5hZ2VtZW50IFwKLVByb3RvY29sIChYU01QKSBpcyB0byBwcm92aWRlIGEgdW5pZm9ybSBtZWNoYW5pc20gZm9yIHVzZXJzIHRvIHNhdmUgYW5kIFwKLXJlc3RvcmUgdGhlaXIgc2Vzc2lvbnMuICBBIHNlc3Npb24gaXMgYSBncm91cCBvZiBjbGllbnRzLCBlYWNoIG9mIHdoaWNoIFwKLWhhcyBhIHBhcnRpY3VsYXIgc3RhdGUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGZiMzdmNDRlMDJiZGJkZTgwNTQ2MDI0NDAwNzI4ZCIKLQotREVQRU5EUyArPSAibGliaWNlIHhvcmdwcm90byB4dHJhbnMiCi0KLSMgbGliU00gY2FuIHdvcmsgd2l0aG91dCBsaWJ1dWlkLCB3ZSBleHBsaWNpdGx5IGRpc2FibGUgaXQgdG8gYnJlYWsgdGhlIGZvbGxvd2luZyBjaXJjdWxhciBkZXBlbmRlbmN5Ci0jIHdoZW4gRElTVFJPX0ZFQVRVUkVTIGNvbnRhaW5zICdzeXN0ZW1kJyBhbmQgJ3gxMScuCi0jIHN5c3RlbWQgLT4gZGJ1cyAtPiBsaWJzbSAtPiB1dGlsLWxpbnV4IC0+IHN5c3RlbWQKLUVYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWxpYnV1aWQiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliU00iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNDk5YTc3NzNjNjVhYmE1MTM2MDlmZTY1MTg1M2M1ZjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGJhY2E4YzlmNWQ5MzQ0NTBhNzA4OTZjNGFkMzhkMDY0NzU1MjEyNTVjYTYzYjcxN2E2NTEwZmRiNmUyODdiZCIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJzbV8xLjIuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWRmNjkwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjMuYmIKQEAgLTAsMCArMSwzMSBAQAorU1VNTUFSWSA9ICJTTTogU2Vzc2lvbiBNYW5hZ2VtZW50IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBTZXNzaW9uIE1hbmFnZW1lbnQgTGlicmFyeSAoU01saWIpIGlzIGEgbG93LWxldmVsIFwiQ1wiIFwKK2xhbmd1YWdlIGludGVyZmFjZSB0byBYU01QLiAgVGhlIHB1cnBvc2Ugb2YgdGhlIFggU2Vzc2lvbiBNYW5hZ2VtZW50IFwKK1Byb3RvY29sIChYU01QKSBpcyB0byBwcm92aWRlIGEgdW5pZm9ybSBtZWNoYW5pc20gZm9yIHVzZXJzIHRvIHNhdmUgYW5kIFwKK3Jlc3RvcmUgdGhlaXIgc2Vzc2lvbnMuICBBIHNlc3Npb24gaXMgYSBncm91cCBvZiBjbGllbnRzLCBlYWNoIG9mIHdoaWNoIFwKK2hhcyBhIHBhcnRpY3VsYXIgc3RhdGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGZiMzdmNDRlMDJiZGJkZTgwNTQ2MDI0NDAwNzI4ZCIKKworREVQRU5EUyArPSAibGliaWNlIHhvcmdwcm90byB4dHJhbnMiCisKKyMgbGliU00gY2FuIHdvcmsgd2l0aG91dCBsaWJ1dWlkLCB3ZSBleHBsaWNpdGx5IGRpc2FibGUgaXQgdG8gYnJlYWsgdGhlIGZvbGxvd2luZyBjaXJjdWxhciBkZXBlbmRlbmN5CisjIHdoZW4gRElTVFJPX0ZFQVRVUkVTIGNvbnRhaW5zICdzeXN0ZW1kJyBhbmQgJ3gxMScuCisjIHN5c3RlbWQgLT4gZGJ1cyAtPiBsaWJzbSAtPiB1dGlsLWxpbnV4IC0+IHN5c3RlbWQKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWxpYnV1aWQiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliU00iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4N2M3ZmFkMWMxODEzNTE3OTc5MTg0YzhjY2Q3NjYyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyZDI2NDQ5OWRjYjA1ZjU2NDM4ZGVlMTJhMWI0YjcxZDc2NzM2Y2U3YmE3YWE2ZWZiZjE1ZWJiMTEzNzY5Y2JiIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0YmE0ZTUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1yZXF1aXJlIGxpYngxMS5pbmMKLQotREVTQ1JJUFRJT04gKz0gIiBTdXBwb3J0IGZvciBYQ01TIGFuZCBYTE9DQUxFIGlzIGRpc2FibGVkIGluIFwKLXRoaXMgdmVyc2lvbi4iCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9YMThOQ01Tc3R1YnMucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2ZpeC1kaXNhYmxlLXhsb2NhbGUucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL2ZpeC11dGY4LXdyb25nLWRlZmluZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotUlBST1ZJREVTXyR7UE59LWRldiA9ICJsaWJ4MTEtZGV2IgotUlBST1ZJREVTXyR7UE59LWxvY2FsZSA9ICJsaWJ4MTEtbG9jYWxlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmIwZjgzZTg1MWIzYjQ2OWRkNjYwZjNhOTVhYzNlNDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjVmZTE4MWQ0MGVjNzdmNDU0MTc3MTBjNmE2NzQzMTgxNGFiMjUyZDIxYzJlODVjNzVkZDFlZDU2OGFmNDE0ZiIKLQotRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUteGxvY2FsZSIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi43LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLWRpZXRfMS42LjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM3NzNhMAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi43LmJiCkBAIC0wLDAgKzEsMTYgQEAKK3JlcXVpcmUgbGlieDExLmluYworCitERVNDUklQVElPTiArPSAiIFN1cHBvcnQgZm9yIFhDTVMgYW5kIFhMT0NBTEUgaXMgZGlzYWJsZWQgaW4gXAordGhpcyB2ZXJzaW9uLiIKKworU1JDX1VSSSArPSAiZmlsZTovL1gxOE5DTVNzdHVicy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZml4LWRpc2FibGUteGxvY2FsZS5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vZml4LXV0Zjgtd3JvbmctZGVmaW5lLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitSUFJPVklERVNfJHtQTn0tZGV2ID0gImxpYngxMS1kZXYiCitSUFJPVklERVNfJHtQTn0tbG9jYWxlID0gImxpYngxMS1sb2NhbGUiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhsb2NhbGUiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExLmluYwppbmRleCAzNmM5NTBhLi5lYTJlYmZiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS5pbmMKQEAgLTEwLDYgKzEwLDkgQEAKIAogUEUgPSAiMSIKIAorU1JDX1VSSVttZDVzdW1dID0gIjAzNGZkZDZjYzUzOTM5NzRkODhhZWM2ZjViYzk2MTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxMGU5ZTMwZWZiYTRhZDM2NzJjYTI3Nzc0MWMyNzI4YWViZmZhN2JjNTI2ZjA0ZGNmYTc0ZGYyZTUyYTEzNDgiCisKIFBST1ZJREVTID0gInZpcnR1YWwvbGlieDExIgogCiBYT1JHX1BOID0gImxpYlgxMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9GaXgtaGFuZ2luZy1pc3N1ZS1pbi1fWFJlcGx5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKaW5kZXggODk3ODgyYi4uMmE3MjNiNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL0ZpeC1oYW5naW5nLWlzc3VlLWluLV9YUmVwbHkucGF0Y2gKQEAgLTE3LDE5ICsxNywxOSBAQAogCiBTaWduZWQtb2ZmLWJ5OiBUYXR1IEZyaXNrIDx0YXR1LmZyaXNrQGdlLmNvbT4KIFNpZ25lZC1vZmYtYnk6IEpvc2UgQWxhcmNvbiA8am9zZS5hbGFyY29uQGdlLmNvbT4KKworW1JlZnJlc2hlZCBmb3IgMS42LjcgdXBkYXRlXQorU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKwogLS0tCiAgc3JjL3hjYl9pby5jIHwgMTkgKysrKysrKy0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogCi1kaWZmIC0tZ2l0IGEvc3JjL3hjYl9pby5jIGIvc3JjL3hjYl9pby5jCi1pbmRleCA1OTg3MzI5Li5jNjRlYjA0IDEwMDY0NAotLS0tIGEvc3JjL3hjYl9pby5jCi0rKysgYi9zcmMveGNiX2lvLmMKLUBAIC02MDksMjIgKzYwOSwxNyBAQCBTdGF0dXMgX1hSZXBseShEaXNwbGF5ICpkcHksIHhSZXBseSAqcmVwLCBpbnQgZXh0cmEsIEJvb2wgZGlzY2FyZCkKLSAJCSAqIGxldHRpbmcgYW55b25lIGVsc2UgcHJvY2VzcyB0aGlzIHNlcXVlbmNlIG51bWJlciwgd2UKLSAJCSAqIG5lZWQgdG8gcHJvY2VzcyBhbnkgZXZlbnRzIHRoYXQgc2hvdWxkIGhhdmUgY29tZQotIAkJICogZWFybGllci4gKi8KLS0KK0luZGV4OiBsaWJYMTEtMS42Ljcvc3JjL3hjYl9pby5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliWDExLTEuNi43Lm9yaWcvc3JjL3hjYl9pby5jCisrKysgbGliWDExLTEuNi43L3NyYy94Y2JfaW8uYworQEAgLTYyMCwxOCArNjIwLDE0IEBAIFN0YXR1cyBfWFJlcGx5KERpc3BsYXkgKmRweSwgeFJlcGx5ICpyZXAKICAJCWlmKGRweS0+eGNiLT5ldmVudF9vd25lciA9PSBYbGliT3duc0V2ZW50UXVldWUpCiAgCQl7CiAgCQkJeGNiX2dlbmVyaWNfcmVwbHlfdCAqZXZlbnQ7CkBAIC00Miw2ICs0Miw5IEBACiAtCQkJd2hpbGUoZHB5LT54Y2ItPmV2ZW50X3dhaXRlcikKIC0JCQl7IC8qIG5lZWQgYnJhY2VzIGFyb3VuZCBDb25kaXRpb25XYWl0ICovCiAtCQkJCUNvbmRpdGlvbldhaXQoZHB5LCBkcHktPnhjYi0+ZXZlbnRfbm90aWZ5KTsKKy0JCQl9CistCQkJd2hpbGUoKGV2ZW50ID0gcG9sbF9mb3JfZXZlbnQoZHB5LCBUcnVlKSkpCistCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKICsKICsJCQkvKiBBc3N1bWUgZXZlbnQgcXVldWUgaXMgZW1wdHkgaWYgYW5vdGhlciB0aHJlYWQgaXMgYmxvY2tpbmcKICsJCQkgKiB3YWl0aW5nIGZvciBldmVudC4gKi8KQEAgLTQ5LDEyICs1Miw3IEBACiArCQkJewogKwkJCQl3aGlsZSgoZXZlbnQgPSBwb2xsX2Zvcl9yZXNwb25zZShkcHkpKSkKICsJCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKLSAJCQl9Ci0tCQkJd2hpbGUoKGV2ZW50ID0gcG9sbF9mb3JfZXZlbnQoZHB5KSkpCi0tCQkJCWhhbmRsZV9yZXNwb25zZShkcHksIGV2ZW50LCBUcnVlKTsKKysgICAgICAgICAgICAgICAgICAgICAgICB9CiAgCQl9CiAgCiAgCQlyZXEtPnJlcGx5X3dhaXRlciA9IDA7Ci0tLSAKLTIuMTAuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBmZWUxYTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotcmVxdWlyZSBsaWJ4MTEuaW5jCi1pbmhlcml0IGdldHRleHQKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgotCi1TUkNfVVJJICs9ICJmaWxlOi8vZGlzYWJsZV90ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vRml4LWhhbmdpbmctaXNzdWUtaW4tX1hSZXBseS5wYXRjaCBcCi0gICAgICAgICAgICIKLWRvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgewotICAgIHNlZCAtaSAtZSAiL1gxMV9DRkxBR1MvZCIgJHtCfS9zcmMvdXRpbC9NYWtlZmlsZQotfQotCi1TUkNfVVJJW21kNXN1bV0gPSAiNmIwZjgzZTg1MWIzYjQ2OWRkNjYwZjNhOTVhYzNlNDIiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjVmZTE4MWQ0MGVjNzdmNDU0MTc3MTBjNmE2NzQzMTgxNGFiMjUyZDIxYzJlODVjNzVkZDFlZDU2OGFmNDE0ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTQxZjU3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExXzEuNi43LmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgbGlieDExLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vZGlzYWJsZV90ZXN0cy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vRml4LWhhbmdpbmctaXNzdWUtaW4tX1hSZXBseS5wYXRjaCBcCisgICAgICAgICAgICIKKworaW5oZXJpdCBnZXR0ZXh0CisKK2RvX2NvbmZpZ3VyZV9hcHBlbmQgKCkgeworICAgIHNlZCAtaSAtZSAiL1gxMV9DRkxBR1MvZCIgJHtCfS9zcmMvdXRpbC9NYWtlZmlsZQorfQorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjNTI0NzUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC44LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJYYXU6IFggQXV0aG9yaXR5IERhdGFiYXNlIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gImxpYnhhdSBwcm92aWRlcyB0aGUgbWFpbiBpbnRlcmZhY2VzIHRvIHRoZSBYMTEgXAotYXV0aG9yaXNhdGlvbiBoYW5kbGluZywgd2hpY2ggY29udHJvbHMgYXV0aG9yaXNhdGlvbiBmb3IgWCBjb25uZWN0aW9ucywgXAotYm90aCBjbGllbnQtc2lkZSBhbmQgc2VydmVyLXNpZGUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotaW5oZXJpdCBnZXR0ZXh0Ci0KLUxJQ0VOU0UgPSAiTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzkwOGUzNDI0OTExOTg0MDEzMjFjZWMxOTU2ODA3ZWMiCi0KLURFUEVORFMgKz0gIiB4b3JncHJvdG8iCi1QUk9WSURFUyA9ICJ4YXUiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliWGF1IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2ODVmOGFiYmZmYTZkMTQ1YzBmOTMwZjAwNzAzYjIxYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGQ0NzczMjBhZWI1Y2RkNjcyNzI4Mzg3MjJkNmI3ZDU0NDg4N2RmZTdkZTQ2ZTFlN2NjMGMyN2MyYmVhNGYyIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGF1XzEuMC45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmM2NjYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjkuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJYYXU6IFggQXV0aG9yaXR5IERhdGFiYXNlIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYnhhdSBwcm92aWRlcyB0aGUgbWFpbiBpbnRlcmZhY2VzIHRvIHRoZSBYMTEgXAorYXV0aG9yaXNhdGlvbiBoYW5kbGluZywgd2hpY2ggY29udHJvbHMgYXV0aG9yaXNhdGlvbiBmb3IgWCBjb25uZWN0aW9ucywgXAorYm90aCBjbGllbnQtc2lkZSBhbmQgc2VydmVyLXNpZGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworaW5oZXJpdCBnZXR0ZXh0CisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzkwOGUzNDI0OTExOTg0MDEzMjFjZWMxOTU2ODA3ZWMiCisKK0RFUEVORFMgKz0gIiB4b3JncHJvdG8iCitQUk9WSURFUyA9ICJ4YXUiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGF1IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJjNWYxNjI4OGYyZGE5ZjA3MWIyOTExMWQ2ODc5NzQ4MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjY2Y4Y2JmMGRiZjY3NmZhYTJlYTBhNmQ2NGJjYzNiNjc0NjA2NDcyMmI2MDZjOGM1MjkxN2VkMDBkY2I3M2VjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQzMDNlNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLjEuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJYQ0I6IFRoZSBYIHByb3RvY29sIEMgYmluZGluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhlIFggcHJvdG9jb2wgQy1sYW5ndWFnZSBCaW5kaW5nIChYQ0IpIGlzIGEgcmVwbGFjZW1lbnQgXAorZm9yIFhsaWIgZmVhdHVyaW5nIGEgc21hbGwgZm9vdHByaW50LCBsYXRlbmN5IGhpZGluZywgZGlyZWN0IGFjY2VzcyB0byBcCit0aGUgcHJvdG9jb2wsIGltcHJvdmVkIHRocmVhZGluZyBzdXBwb3J0LCBhbmQgZXh0ZW5zaWJpbGl0eS4iCitIT01FUEFHRSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9WENCIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kNzYzYjA4MWNiMTBjMjIzNDM1YjAxZTAwZGMwYWJhNyIKKworU1JDX1VSSSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZy9kaXN0L2xpYnhjYi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3hjYmluY2x1ZGVkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9nY2MtbWlwcy1wcjY4MzAyLW1pcHMtd29ya2Fyb3VuZC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjMzY2RmYzY3MzQ2ZjcyMTdhOTMyNmMwZDg2Nzk5NzUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTg5ZmI3YWY3YTExZjQzZDJjZTg0YTg0NGE0YjM4ZGY2ODhjMDkyYmY0YjY3NjgzYWVmMTc5Y2RmMmE2NDdjNCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitERVBFTkRTID0gInhjYi1wcm90byB4b3JncHJvdG8gbGlieGF1IGxpYnB0aHJlYWQtc3R1YnMgbGlieGRtY3AiCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYnhjYi0uKiIKKworRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L2xpYnhjYi5zby4qIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIGxpYnhhdSBhbmQgb3RoZXJzIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVNfY2xhc3MtbmF0aXZlID0gIiIKKworZXhwb3J0IFBZVEhPTiA9ICJweXRob24zIgorCitweXRob24gcG9wdWxhdGVfcGFja2FnZXNfcHJlcGVuZCAoKSB7CisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgJyR7bGliZGlyfScsIHInXmxpYnhjYi0oLiopXC5zb1wuLiokJywgJ2xpYnhjYi0lcycsICdYQ0IgbGlicmFyeSBtb2R1bGUgZm9yICVzJywgYWxsb3dfbGlua3M9VHJ1ZSkKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjEzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ZTAzMDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiXzEuMTMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1TVU1NQVJZID0gIlhDQjogVGhlIFggcHJvdG9jb2wgQyBiaW5kaW5nIGxpYnJhcnkiCi1ERVNDUklQVElPTiA9ICJUaGUgWCBwcm90b2NvbCBDLWxhbmd1YWdlIEJpbmRpbmcgKFhDQikgaXMgYSByZXBsYWNlbWVudCBcCi1mb3IgWGxpYiBmZWF0dXJpbmcgYSBzbWFsbCBmb290cHJpbnQsIGxhdGVuY3kgaGlkaW5nLCBkaXJlY3QgYWNjZXNzIHRvIFwKLXRoZSBwcm90b2NvbCwgaW1wcm92ZWQgdGhyZWFkaW5nIHN1cHBvcnQsIGFuZCBleHRlbnNpYmlsaXR5LiIKLUhPTUVQQUdFID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1YQ0IiCi1TRUNUSU9OID0gIngxMS9saWJzIgotCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3NjNiMDgxY2IxMGMyMjM0MzViMDFlMDBkYzBhYmE3IgotCi1TUkNfVVJJID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnL2Rpc3QvbGlieGNiLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICBmaWxlOi8veGNiaW5jbHVkZWRpci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLWNoZWNrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2djYy1taXBzLXByNjgzMDItbWlwcy13b3JrYXJvdW5kLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJjMmI2Y2Y5MjhhZmExNmIwMDQ3Yzk3NGU3YWFhNzgzZiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxODhjODc1MjE5M2M1MGZmMmRiZTg5ZGI0NTU0YzYzZGYyZTI2YTJlNDdiMGZhNDE1YTcwOTE4YjViODUxZGFhIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLURFUEVORFMgPSAieGNiLXByb3RvIHhvcmdwcm90byBsaWJ4YXUgbGlicHRocmVhZC1zdHVicyBsaWJ4ZG1jcCIKLQotUEFDS0FHRVNfRFlOQU1JQyA9ICJebGlieGNiLS4qIgotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlieGNiLnNvLioiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLQotIyBUaGUgbGlieGF1IGFuZCBvdGhlcnMgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUwotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFU19jbGFzcy1uYXRpdmUgPSAiIgotCi1leHBvcnQgUFlUSE9OID0gInB5dGhvbjMiCi0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9JywgJ15saWJ4Y2ItKC4qKVwuc29cLi4qJCcsICdsaWJ4Y2ItJXMnLCAnWENCIGxpYnJhcnkgbW9kdWxlIGZvciAlcycsIGFsbG93X2xpbmtzPVRydWUpCi19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzNlMjk0OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotU1VNTUFSWSA9ICJYY29tcG9zaXRlOiBYIENvbXBvc2l0ZSBleHRlbnNpb24gbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAiVGhlIGNvbXBvc2l0ZSBleHRlbnNpb24gcHJvdmlkZXMgdGhyZWUgcmVsYXRlZCBcCi1tZWNoYW5pc21zOiBwZXItaGllcmFyY2h5IHN0b3JhZ2UsIGF1dG9tYXRpYyBzaGFkb3cgdXBkYXRlLCBhbmQgZXh0ZXJuYWwgXAotcGFyZW50LiAgSW4gcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCB0aGUgcmVuZGVyaW5nIG9mIGFuIGVudGlyZSBoaWVyYXJjaHkgXAotb2Ygd2luZG93cyBpcyByZWRpcmVjdGVkIHRvIG9mZi1zY3JlZW4gc3RvcmFnZS4gIEluIGF1dG9tYXRpYyBzaGFkb3cgXAotdXBkYXRlLCB3aGVuIGEgaGllcmFyY2h5IGlzIHJlbmRlcmVkIG9mZi1zY3JlZW4sIHRoZSBYIHNlcnZlciBwcm92aWRlcyBcCi1hbiBhdXRvbWF0aWMgbWVjaGFuaXNtIGZvciBwcmVzZW50aW5nIHRob3NlIGNvbnRlbnRzIHdpdGhpbiB0aGUgcGFyZW50IFwKLXdpbmRvdy4gIEluIGV4dGVybmFsIHBhcmVudCwgYSBtZWNoYW5pc20gZm9yIHByb3ZpZGluZyByZWRpcmVjdGlvbiBvZiBcCi1jb21wb3NpdGluZyB0cmFuc2Zvcm1hdGlvbnMgdGhyb3VnaCBhIGNsaWVudC4iCi0KLXJlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYwotCi1MSUNFTlNFID0gIk1JVC1zdHlsZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMjkwN2FhZDU0MWY2ZjIyNmZiYzU4Y2MxYjNjZGYxIgotCi1ERVBFTkRTICs9ICIgeG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZXh0IgotUFJPVklERVMgPSAieGNvbXBvc2l0ZSIKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCi1QRSA9ICIxIgotCi1YT1JHX1BOID0gImxpYlhjb21wb3NpdGUiCi0KLVNSQ19VUkkgKz0gIiBmaWxlOi8vY2hhbmdlLWluY2x1ZGUtb3JkZXIucGF0Y2giCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJmN2EyMThkY2JmNmYwODQ4NTk5YzZjMzZmYzY1YzUxYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGUyNTBjZDIwN2Q4YmVlNGEzMzgyNjVjMzAwN2Q3YTY4ZDVhY2E3OTFiNmFjNDFhZjE4ZTlhMmFlYjM0MTc4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZV8wLjQuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2VmM2RkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjUuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJYY29tcG9zaXRlOiBYIENvbXBvc2l0ZSBleHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiVGhlIGNvbXBvc2l0ZSBleHRlbnNpb24gcHJvdmlkZXMgdGhyZWUgcmVsYXRlZCBcCittZWNoYW5pc21zOiBwZXItaGllcmFyY2h5IHN0b3JhZ2UsIGF1dG9tYXRpYyBzaGFkb3cgdXBkYXRlLCBhbmQgZXh0ZXJuYWwgXAorcGFyZW50LiAgSW4gcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCB0aGUgcmVuZGVyaW5nIG9mIGFuIGVudGlyZSBoaWVyYXJjaHkgXAorb2Ygd2luZG93cyBpcyByZWRpcmVjdGVkIHRvIG9mZi1zY3JlZW4gc3RvcmFnZS4gIEluIGF1dG9tYXRpYyBzaGFkb3cgXAordXBkYXRlLCB3aGVuIGEgaGllcmFyY2h5IGlzIHJlbmRlcmVkIG9mZi1zY3JlZW4sIHRoZSBYIHNlcnZlciBwcm92aWRlcyBcCithbiBhdXRvbWF0aWMgbWVjaGFuaXNtIGZvciBwcmVzZW50aW5nIHRob3NlIGNvbnRlbnRzIHdpdGhpbiB0aGUgcGFyZW50IFwKK3dpbmRvdy4gIEluIGV4dGVybmFsIHBhcmVudCwgYSBtZWNoYW5pc20gZm9yIHByb3ZpZGluZyByZWRpcmVjdGlvbiBvZiBcCitjb21wb3NpdGluZyB0cmFuc2Zvcm1hdGlvbnMgdGhyb3VnaCBhIGNsaWVudC4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTNmMjkwN2FhZDU0MWY2ZjIyNmZiYzU4Y2MxYjNjZGYxIgorCitERVBFTkRTICs9ICIgeG9yZ3Byb3RvIHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZXh0IgorUFJPVklERVMgPSAieGNvbXBvc2l0ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYY29tcG9zaXRlIgorCitTUkNfVVJJICs9ICIgZmlsZTovL2NoYW5nZS1pbmNsdWRlLW9yZGVyLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2ZhMDg0MWVhODkwMjQ3MTliMjBjZDcwMmE5YjU0ZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjMyMThhMmMxNWJhYjgwMzVkMTY4MTBkZjViODI1MWZmYzcxMzJmZjNhYTcwNjUxYTFmYmEwYmZlOTYzNGU4ZiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjEuMTUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjOWFmMjMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjEuMTUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1TVU1NQVJZID0gIlhjdXJzb3I6IFggQ3Vyc29yIG1hbmFnZW1lbnQgbGlicmFyeSIKLQotREVTQ1JJUFRJT04gPSAiWGN1cnNvciBpcyBhIHNpbXBsZSBsaWJyYXJ5IGRlc2lnbmVkIHRvIGhlbHAgbG9jYXRlIGFuZCBcCi1sb2FkIGN1cnNvcnMuIEN1cnNvcnMgY2FuIGJlIGxvYWRlZCBmcm9tIGZpbGVzIG9yIG1lbW9yeS4gQSBsaWJyYXJ5IG9mIFwKLWNvbW1vbiBjdXJzb3JzIGV4aXN0cyB3aGljaCBtYXAgdG8gdGhlIHN0YW5kYXJkIFggY3Vyc29yIG5hbWVzLiBDdXJzb3JzIFwKLWNhbiBleGlzdCBpbiBzZXZlcmFsIHNpemVzIGFuZCB0aGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IHBpY2tzIHRoZSBiZXN0IFwKLXNpemUuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTAyZTY2NDNmN2JjZDc3OTNiMjNkY2Q1ZDgwMzFhNCIKLQotREVQRU5EUyArPSAibGlieHJlbmRlciBsaWJ4Zml4ZXMiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBFID0gIjEiCi0KLVhPUkdfUE4gPSAibGliWGN1cnNvciIKLQotU1JDX1VSSVttZDVzdW1dID0gIjU4ZmUzNTE0ZTFlNzEzNWNmMzY0MTAxZTcxNGQxYTE0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5NGU2NzBkZDM3Y2QyMzk5NWU2OWFhZTYyNjYyOWQ0YTJkZmU1NzA4ODUxYmJjMTNkMDMyNDAxYjdhM2RmNmIiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y3Vyc29yXzEuMi4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjIuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGY3YTNhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjIuMC5iYgpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlhjdXJzb3I6IFggQ3Vyc29yIG1hbmFnZW1lbnQgbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiWGN1cnNvciBpcyBhIHNpbXBsZSBsaWJyYXJ5IGRlc2lnbmVkIHRvIGhlbHAgbG9jYXRlIGFuZCBcCitsb2FkIGN1cnNvcnMuIEN1cnNvcnMgY2FuIGJlIGxvYWRlZCBmcm9tIGZpbGVzIG9yIG1lbW9yeS4gQSBsaWJyYXJ5IG9mIFwKK2NvbW1vbiBjdXJzb3JzIGV4aXN0cyB3aGljaCBtYXAgdG8gdGhlIHN0YW5kYXJkIFggY3Vyc29yIG5hbWVzLiBDdXJzb3JzIFwKK2NhbiBleGlzdCBpbiBzZXZlcmFsIHNpemVzIGFuZCB0aGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IHBpY2tzIHRoZSBiZXN0IFwKK3NpemUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04OTAyZTY2NDNmN2JjZDc3OTNiMjNkY2Q1ZDgwMzFhNCIKKworREVQRU5EUyArPSAibGlieHJlbmRlciBsaWJ4Zml4ZXMiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGN1cnNvciIKKworU1JDX1VSSVttZDVzdW1dID0gIjliOWJlMGUyODkxMzBmYjgyMGFlZGY2NzcwNWZjNTQ5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNhZDNlOWY4MjUxMDk0YWY2ZmU4Y2I0YWZjZjYzZTI4ZGY1MDRkNDZiZmE1YTU1MjlkYjc0YTUwNWQ2Mjg3ODIiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDZmZmFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1TVU1NQVJZID0gIlhkYW1hZ2U6IFggRGFtYWdlIGV4dGVuc2lvbiBsaWJyYXJ5IgotCi1ERVNDUklQVElPTiA9ICInRGFtYWdlJyBpcyBhIHRlcm0gdGhhdCBkZXNjcmliZXMgY2hhbmdlcyBtYWtlIHRvIHBpeGVsIFwKLWNvbnRlbnRzIG9mIHdpbmRvd3MgYW5kIHBpeG1hcHMuICBEYW1hZ2UgYWNjdW11bGF0ZXMgYXMgZHJhd2luZyBvY2N1cnMgXAotaW4gdGhlIGRyYXdhYmxlLiAgRWFjaCBkcmF3aW5nIG9wZXJhdGlvbiAnZGFtYWdlcycgb25lIG9yIG1vcmUgXAotcmVjdGFuZ3VsYXIgYXJlYXMgd2l0aGluIHRoZSBkcmF3YWJsZS4gIFRoZSByZWN0YW5nbGVzIGFyZSBndWFyYW50ZWVkIHRvIFwKLWluY2x1ZGUgdGhlIHNldCBvZiBwaXhlbHMgbW9kaWZpZWQgYnkgZWFjaCBvcGVyYXRpb24sIGJ1dCBtYXkgaW5jbHVkZSBcCi1zaWduaWZpY2FudGx5IG1vcmUgdGhhbiBqdXN0IHRob3NlIHBpeGVscy4gIFRoZSBEQU1BR0UgZXh0ZW5zaW9uIGFsbG93cyBcCi1hcHBsaWNhdGlvbnMgdG8gZWl0aGVyIHJlY2VpdmUgdGhlIHJhdyByZWN0YW5nbGVzIGFzIGEgc3RyZWFtIG9mIGV2ZW50cywgXAotb3IgdG8gaGF2ZSB0aGVtIHBhcnRpYWxseSBwcm9jZXNzZWQgd2l0aGluIHRoZSBYIHNlcnZlciB0byByZWR1Y2UgdGhlIFwKLWFtb3VudCBvZiBkYXRhIHRyYW5zbWl0dGVkIGFzIHdlbGwgYXMgcmVkdWNlIHRoZSBwcm9jZXNzaW5nIGxhdGVuY3kgb25jZSBcCi10aGUgcmVwYWludCBvcGVyYXRpb24gaGFzIHN0YXJ0ZWQuIgotCi1yZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKLQotTElDRU5TRSA9ICJNSVQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05ZmUxMDFmMzBkZDI0MTM0Y2Y0MzE0Njg2MzI0MTg2OCIKLQotREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgeG9yZ3Byb3RvIGxpYnhmaXhlcyIKLVBST1ZJREVTID0gInhkYW1hZ2UiCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKLQotUEUgPSAiMSIKLQotWE9SR19QTiA9ICJsaWJYZGFtYWdlIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMGNmMjkyZGUyYTlmYTJlOWE5MzlhZWZkZTY4ZmQzNGYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2MzZmU3YzY1N2U4MzU0N2Y0ODIyYmZkZTMwYTkwZDg0NTI0ZWZiNTYzNjU0NDg3Njg0MDliNzdmMDUzNTVhZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkYW1hZ2VfMS4xLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS41LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMDExMjQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS41LmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiWGRhbWFnZTogWCBEYW1hZ2UgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIidEYW1hZ2UnIGlzIGEgdGVybSB0aGF0IGRlc2NyaWJlcyBjaGFuZ2VzIG1ha2UgdG8gcGl4ZWwgXAorY29udGVudHMgb2Ygd2luZG93cyBhbmQgcGl4bWFwcy4gIERhbWFnZSBhY2N1bXVsYXRlcyBhcyBkcmF3aW5nIG9jY3VycyBcCitpbiB0aGUgZHJhd2FibGUuICBFYWNoIGRyYXdpbmcgb3BlcmF0aW9uICdkYW1hZ2VzJyBvbmUgb3IgbW9yZSBcCityZWN0YW5ndWxhciBhcmVhcyB3aXRoaW4gdGhlIGRyYXdhYmxlLiAgVGhlIHJlY3RhbmdsZXMgYXJlIGd1YXJhbnRlZWQgdG8gXAoraW5jbHVkZSB0aGUgc2V0IG9mIHBpeGVscyBtb2RpZmllZCBieSBlYWNoIG9wZXJhdGlvbiwgYnV0IG1heSBpbmNsdWRlIFwKK3NpZ25pZmljYW50bHkgbW9yZSB0aGFuIGp1c3QgdGhvc2UgcGl4ZWxzLiAgVGhlIERBTUFHRSBleHRlbnNpb24gYWxsb3dzIFwKK2FwcGxpY2F0aW9ucyB0byBlaXRoZXIgcmVjZWl2ZSB0aGUgcmF3IHJlY3RhbmdsZXMgYXMgYSBzdHJlYW0gb2YgZXZlbnRzLCBcCitvciB0byBoYXZlIHRoZW0gcGFydGlhbGx5IHByb2Nlc3NlZCB3aXRoaW4gdGhlIFggc2VydmVyIHRvIHJlZHVjZSB0aGUgXAorYW1vdW50IG9mIGRhdGEgdHJhbnNtaXR0ZWQgYXMgd2VsbCBhcyByZWR1Y2UgdGhlIHByb2Nlc3NpbmcgbGF0ZW5jeSBvbmNlIFwKK3RoZSByZXBhaW50IG9wZXJhdGlvbiBoYXMgc3RhcnRlZC4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlmZTEwMWYzMGRkMjQxMzRjZjQzMTQ2ODYzMjQxODY4IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSB4b3JncHJvdG8gbGlieGZpeGVzIgorUFJPVklERVMgPSAieGRhbWFnZSIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYZGFtYWdlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTNmNTU0MjY3YTdhMDRiMDQyZGMxZjYzNTJiZDZkOTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjczNDA2ODY0M2NhYzNiNWYzZDJjODI3OWRkMzY2YjViZjI4YzcyMTlkOWU5ZDg3MTdlMTM4Mzk5NWUwZWE0NSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZ0XzIuMy4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZ0XzIuMy4yLmJiCmluZGV4IGI0NTQ3ODEuLjQ1NjVhZTIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmdF8yLjMuMi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZnRfMi4zLjIuYmIKQEAgLTI1LDcgKzI1LDcgQEAKIAogWE9SR19QTiA9ICJsaWJYZnQiCiAKLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgogCiBweXRob24gKCkgewogICAgICAgICBpZiBkLmdldFZhcignREVCSUFOX05BTUVTJyk6CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aV8xLjcuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCmluZGV4IDA4MzgxZDkuLmFiNDljZGIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy45LmJiCkBAIC0yMCwzICsyMCw1IEBACiBTUkNfVVJJW21kNXN1bV0gPSAiMWYwZjI3MTljMDIwNjU1YTYwYWVlMzM0ZGRkMjZkNjciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzJlNmI4ZmY4NGY5NDQ4Mzg2YzFiNTUxMGE1Y2Y1YTE2ZDc4OGY3NmRiMDE4MTk0ZGFjZGMyMDAxODBmYWY0NSIKIAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjZjUwOGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuOC4yLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotU1VNTUFSWSA9ICJHZW5lcmljIFhLQiBrZXltYXAgbGlicmFyeSIKLURFU0NSSVBUSU9OID0gImxpYnhrYmNvbW1vbiBpcyBhIGtleW1hcCBjb21waWxlciBhbmQgc3VwcG9ydCBsaWJyYXJ5IHdoaWNoIFwKLXByb2Nlc3NlcyBhIHJlZHVjZWQgc3Vic2V0IG9mIGtleW1hcHMgYXMgZGVmaW5lZCBieSB0aGUgWEtCIHNwZWNpZmljYXRpb24uIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54a2Jjb21tb24ub3JnIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTUyNWVkOTgwOWUxZjhhMDdjZjRiY2U4YjA5ZThiODciCi1MSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKLQotREVQRU5EUyA9ICJ1dGlsLW1hY3JvcyBmbGV4LW5hdGl2ZSBiaXNvbi1uYXRpdmUiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3hrYmNvbW1vbi5vcmcvZG93bmxvYWQvJHtCUE59LSR7UFZ9LnRhci54eiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjVmN2Y4NTMzZjkwN2ViY2ZiMWNmOGRjZWI5NTAxMjY0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdhYjhjNGIzNDAzZDg5ZDAxODk4MDY2YjcyY2I2MDY5YmRkZWI1YWY5NDkwNWE2NTM2OGY2NzFhMDI2ZWQ1OGMiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8veGtiY29tbW9uLm9yZy8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3MiCi0KLVBBQ0tBR0VDT05GSUcgPz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsIGQpfSIKLVBBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSxsaWJ4Y2IgeGtleWJvYXJkLWNvbmZpZywiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC44LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZjYWUxMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYmNvbW1vbl8wLjguNC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkdlbmVyaWMgWEtCIGtleW1hcCBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAibGlieGtiY29tbW9uIGlzIGEga2V5bWFwIGNvbXBpbGVyIGFuZCBzdXBwb3J0IGxpYnJhcnkgd2hpY2ggXAorcHJvY2Vzc2VzIGEgcmVkdWNlZCBzdWJzZXQgb2Yga2V5bWFwcyBhcyBkZWZpbmVkIGJ5IHRoZSBYS0Igc3BlY2lmaWNhdGlvbi4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnhrYmNvbW1vbi5vcmciCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lNTI1ZWQ5ODA5ZTFmOGEwN2NmNGJjZThiMDllOGI4NyIKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zIGZsZXgtbmF0aXZlIGJpc29uLW5hdGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8veGtiY29tbW9uLm9yZy9kb3dubG9hZC8ke0JQTn0tJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiM2M0NDA5MDU4ZGZkMjAzZjY0MWE1NjMzNThlMDE4N2QiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjBkZGNmZjkzMmI3ZmQzNTI3NTJkNTFhNWM0ZjA0ZjNkMDQwMzIzMGE1ODRkZjlhMmUwZDVlZDg3YzQ4NmM4YiIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly94a2Jjb21tb24ub3JnLyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZG9jcyIKKworUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLGxpYnhjYiB4a2V5Ym9hcmQtY29uZmlnLCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cG1fMy41LjEyLmJiCmluZGV4IDEzYTFiOTEuLjU3YjIwMmMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHBtXzMuNS4xMi5iYgpAQCAtMTIsNyArMTIsNyBAQAogCiBMSUNFTlNFID0gIkJTRCIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTUxZjQyNzBiMDEyZWNkNGFiMWExNjRmNWY0ZWQ2Y2Y3IgotREVQRU5EUyArPSAibGlieGV4dCBsaWJzbSBsaWJ4dCIKK0RFUEVORFMgKz0gImxpYnhleHQgbGlic20gbGlieHQgZ2V0dGV4dC1uYXRpdmUiCiBQRSA9ICIxIgogCiBYT1JHX1BOID0gImxpYlhwbSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0XzEuMS41LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKaW5kZXggZjhkOTRhMi4uMjNkOWRiNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKQEAgLTI3LDcgKzI3LDcgQEAKICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1saWJYdC11dGlsLWRvbi10LWxpbmstbWFrZXN0cnMtd2l0aC10YXJnZXQtY2ZsYWdzLnBhdGNoIFwKICAgICAgICAgICAgICIKIAotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCiAKIEVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhrYiIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0c3RfMS4yLjMuYmIKaW5kZXggMjY2YmQxYy4uNzgzN2Y2OSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMy5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dHN0XzEuMi4zLmJiCkBAIC0xOSwzICsxOSw0IEBACiBTUkNfVVJJW21kNXN1bV0gPSAiZWY4YzJjMWQxNmEwMGJkOTViOWZkY2VmNjNiOGEyY2EiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDY1NTQ5OGExYjhlODQ0ZTNkNmYyMWYzYjJjNGUyYjU3MWVmZmI1ZmQ4MzE5OWQ0MjhhNmJhN2VhNGJmNTIwNCIKIAorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL2FzbV9pbmNsdWRlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL2FzbV9pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTJhNTcwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLUZpeGVzIGVycm9ycyBsaWtlCi0KLUFzc2VtYmxlciBtZXNzYWdlczoKLUZhdGFsIGVycm9yOiBjYW4ndCBjcmVhdGUgLmxpYnMvcGl4bWFuLW1pcHMtZHNwcjItYXNtLm86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLQotaXQgd29ya3Mgd2l0aCBnbGliYyBiZWNhdXNlIGl0IHVzZXMgZ2NjIGZpeGVkLWhlYWRlcnMgYnV0IHRoYXRzIG5vdCByaWdodC4KLQotV2UgbW92ZSB0aGUgaW5jbHVkZSB1bmRlciBDIGJsb2NrCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLUluZGV4OiBwaXhtYW4tMC4zMi42L3BpeG1hbi9waXhtYW4tcHJpdmF0ZS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcGl4bWFuLTAuMzIuNi5vcmlnL3BpeG1hbi9waXhtYW4tcHJpdmF0ZS5oCi0rKysgcGl4bWFuLTAuMzIuNi9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAotQEAgLTEsNCArMSwzIEBACi0tI2luY2x1ZGUgPGZsb2F0Lmg+Ci0gCi0gI2lmbmRlZiBQSVhNQU5fUFJJVkFURV9ICi0gI2RlZmluZSBQSVhNQU5fUFJJVkFURV9ICi1AQCAtMTcsNiArMTYsOCBAQAotIAotICNpZm5kZWYgX19BU1NFTUJMRVJfXwotIAotKyNpbmNsdWRlIDxmbG9hdC5oPgotKwotICNpZm5kZWYgUEFDS0FHRQotICMgIGVycm9yIGNvbmZpZy5oIG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlIHBpeG1hbi1wcml2YXRlLmgKLSAjZW5kaWYKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM0LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjkwZmE0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM0LjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1TVU1NQVJZID0gIlBpeG1hbjogUGl4ZWwgTWFuaXB1bGF0aW9uIGxpYnJhcnkiCi0KLURFU0NSSVBUSU9OID0gIlBpeG1hbiBwcm92aWRlcyBhIGxpYnJhcnkgZm9yIG1hbmlwdWxhdGluZyBwaXhlbCByZWdpb25zIFwKLS0tIGEgc2V0IG9mIFktWCBiYW5kZWQgcmVjdGFuZ2xlcywgaW1hZ2UgY29tcG9zaXRpbmcgdXNpbmcgdGhlIFwKLVBvcnRlci9EdWZmIG1vZGVsIGFuZCBpbXBsaWNpdCBtYXNrIGdlbmVyYXRpb24gZm9yIGdlb21ldHJpYyBwcmltaXRpdmVzIFwKLWluY2x1ZGluZyB0cmFwZXpvaWRzLCB0cmlhbmdsZXMsIGFuZCByZWN0YW5nbGVzLiIKLQotcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCi0KLSMgc2VlIGh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy8gLSBvbmx5IGV2ZW4gbWlub3IgdmVyc2lvbnMgYXJlIHN0YWJsZQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAicGl4bWFuLSg/UDxwdmVyPlxkK1wuKFxkKlswMjQ2OF0pKyhcLlxkKykrKSIKLQotTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUgJiBQRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE0MDk2Yzc2OWFlMGNiYjVmY2I5NGVjNDY4YmUxMWIzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3BpeG1hbi9waXhtYW4tbWF0cml4LmM7ZW5kbGluZT0yMTttZDU9NGEwMThkZmYzZTRlMjUzMDI3MjRjODhmZjk1YzI0NTYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1hcm0tbmVvbi1hc20uaDtlbmRsaW5lPTI0O21kNT05YTljYzFlNTFhYmJmMWRhNThmNGQ5NTI4ZWM5ZDQ5YiBcCi0gICAgICAgICAgICAgICAgICAgIgotREVQRU5EUyArPSAiemxpYiBsaWJwbmciCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBFID0gIjEiCi0KLUlXTU1YVCA9ICItLWRpc2FibGUtYXJtLWl3bW14dCIKLUxPT05HU09OX01NSSA9ICItLWRpc2FibGUtbG9vbmdzb24tbW1pIgotIyBJZiB0YXJnZXQgc3VwcG9ydHMgbmVvbiB0aGVuIGRpc2FibGUgdGhlICdzaW1kJyAoaWUgVkZQdjIpIGZhbGxiYWNrLCBvdGhlcndpc2UgZGlzYWJsZSBuZW9uLgotTkVPTiA9ICIke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJuZW9uIiwgIi0tZGlzYWJsZS1hcm0tc2ltZCIsICItLWRpc2FibGUtYXJtLW5lb24iICxkKX0iCi0KLUVYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtZ3RrICR7SVdNTVhUfSAke0xPT05HU09OX01NSX0gJHtORU9OfSIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWd0ayIKLUVYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmVzZGsgPSAiLS1kaXNhYmxlLWd0ayIKLQotU1JDX1VSSSArPSAiXAotICAgICAgICAgICAgZmlsZTovLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaCBcCi0JICAgIGZpbGU6Ly9hc21faW5jbHVkZS5wYXRjaCBcCi0JICAgIGZpbGU6Ly8wMDAxLXRlc3QtdXRpbHMtQ2hlY2stZm9yLUZFX0lOVkFMSUQtZGVmaW5pdGlvbi1iZWZvcmUtdXMucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDAyYTRmY2I2NDRkZGZjYjRiMGU0MTkxNTc2YTBkNTkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzliYTM0MzhmM2QxN2M0NjRiMGNiOGJlMDA2ZGFjYmNhMGFiNWFlZTk3ZWJkZTY5ZmVjN2VjZGJmODU3OTRhMCIKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjM4LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zOC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YzNkNjIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW5fMC4zOC4wLmJiCkBAIC0wLDAgKzEsNDAgQEAKK1NVTU1BUlkgPSAiUGl4bWFuOiBQaXhlbCBNYW5pcHVsYXRpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiUGl4bWFuIHByb3ZpZGVzIGEgbGlicmFyeSBmb3IgbWFuaXB1bGF0aW5nIHBpeGVsIHJlZ2lvbnMgXAorLS0gYSBzZXQgb2YgWS1YIGJhbmRlZCByZWN0YW5nbGVzLCBpbWFnZSBjb21wb3NpdGluZyB1c2luZyB0aGUgXAorUG9ydGVyL0R1ZmYgbW9kZWwgYW5kIGltcGxpY2l0IG1hc2sgZ2VuZXJhdGlvbiBmb3IgZ2VvbWV0cmljIHByaW1pdGl2ZXMgXAoraW5jbHVkaW5nIHRyYXBlem9pZHMsIHRyaWFuZ2xlcywgYW5kIHJlY3RhbmdsZXMuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworIyBzZWUgaHR0cDovL2NhaXJvZ3JhcGhpY3Mub3JnL3JlbGVhc2VzLyAtIG9ubHkgZXZlbiBtaW5vciB2ZXJzaW9ucyBhcmUgc3RhYmxlCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwaXhtYW4tKD9QPHB2ZXI+XGQrXC4oXGQqWzAyNDY4XSkrKFwuXGQrKSspIgorCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSAmIFBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTQwOTZjNzY5YWUwY2JiNWZjYjk0ZWM0NjhiZTExYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1tYXRyaXguYztlbmRsaW5lPTIxO21kNT00YTAxOGRmZjNlNGUyNTMwMjcyNGM4OGZmOTVjMjQ1NiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waXhtYW4vcGl4bWFuLWFybS1uZW9uLWFzbS5oO2VuZGxpbmU9MjQ7bWQ1PTlhOWNjMWU1MWFiYmYxZGE1OGY0ZDk1MjhlYzlkNDliIFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTICs9ICJ6bGliIGxpYnBuZyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEUgPSAiMSIKKworSVdNTVhUID0gIi0tZGlzYWJsZS1hcm0taXdtbXh0IgorTE9PTkdTT05fTU1JID0gIi0tZGlzYWJsZS1sb29uZ3Nvbi1tbWkiCisjIElmIHRhcmdldCBzdXBwb3J0cyBuZW9uIHRoZW4gZGlzYWJsZSB0aGUgJ3NpbWQnIChpZSBWRlB2MikgZmFsbGJhY2ssIG90aGVyd2lzZSBkaXNhYmxlIG5lb24uCitORU9OID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm5lb24iLCAiLS1kaXNhYmxlLWFybS1zaW1kIiwgIi0tZGlzYWJsZS1hcm0tbmVvbiIgLGQpfSIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGsgJHtJV01NWFR9ICR7TE9PTkdTT05fTU1JfSAke05FT059IgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZ3RrIgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZXNkayA9ICItLWRpc2FibGUtZ3RrIgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BUk0tcWVtdS1yZWxhdGVkLXdvcmthcm91bmRzLWluLWNwdS1mZWF0dXJlcy1kZXRlY3RpLnBhdGNoIFwKKwkgICAgZmlsZTovLzAwMDEtdGVzdC11dGlscy1DaGVjay1mb3ItRkVfSU5WQUxJRC1kZWZpbml0aW9uLWJlZm9yZS11cy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNGVjYWQyOGVkY2MxNGU3ZWI1ZjdlZDZkZjI5YzdhMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzY4ZTNmNzg5NWRkZWJkYzBmMDc0Nzg3MjlkOWNlYzRmZTBhOWQyMjAxZjgyOGM5MDBkNjdiMGU1YjQzNmE4IgorCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZDBlNjA4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiS2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBXaW5kb3ciCi0KLURFU0NSSVBUSU9OID0gIlRoZSBub24tYXJjaCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGFiYXNlIGZvciBYIFwKLVdpbmRvdy4gIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgdGhlIGNvbnNpc3RlbnQsIHdlbGwtc3RydWN0dXJlZCwgXAotZnJlcXVlbnRseSByZWxlYXNlZCBvcGVuIHNvdXJjZSBvZiBYIGtleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgWCBcCi1XaW5kb3cgU3lzdGVtIGltcGxlbWVudGF0aW9ucy4gIFRoZSBwcm9qZWN0IGlzIHRhcmdldGVkIHRvIFhLQi1iYXNlZCBcCi1zeXN0ZW1zLiIKLQotSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1hLZXlib2FyZENvbmZpZyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eGtleWJvYXJkLWNvbmZpZyIKLQotTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZTdmMjFjYTdkYjk3NWM2MzQ2N2QyZTc2MjRhMTJmOSIKLQotU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RhdGEveGtleWJvYXJkLWNvbmZpZy8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKLQotU1JDX1VSSVttZDVzdW1dID0gIjc0YzRiZGY1MjM4MjEyN2NiNTgwMmMzZjJhYjQ0MWUwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxYjE4NTgwZjQ2YjRlNGVhOTEzNzA3ZjZjOGQ2OGFiNTI4Njg3OWMzYTY1OTE0NjJmM2I5ZTc2MGQzYWM0ZDciCi0KLVNFQ1RJT04gPSAieDExL2xpYnMiCi1ERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB1dGlsLW1hY3JvcyBsaWJ4c2x0LW5hdGl2ZSIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItcnVsZXMtc3ltbGluaz14b3JnIC0tZGlzYWJsZS1ydW50aW1lLWRlcHMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94a2IiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQKLSAgICBjZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL3J1bGVzICYmIGxuIC1zZiBiYXNlIHhvcmcKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzIzMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjI2LmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiS2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBXaW5kb3ciCisKK0RFU0NSSVBUSU9OID0gIlRoZSBub24tYXJjaCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGFiYXNlIGZvciBYIFwKK1dpbmRvdy4gIFRoZSBnb2FsIGlzIHRvIHByb3ZpZGUgdGhlIGNvbnNpc3RlbnQsIHdlbGwtc3RydWN0dXJlZCwgXAorZnJlcXVlbnRseSByZWxlYXNlZCBvcGVuIHNvdXJjZSBvZiBYIGtleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgWCBcCitXaW5kb3cgU3lzdGVtIGltcGxlbWVudGF0aW9ucy4gIFRoZSBwcm9qZWN0IGlzIHRhcmdldGVkIHRvIFhLQi1iYXNlZCBcCitzeXN0ZW1zLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL1hLZXlib2FyZENvbmZpZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eGtleWJvYXJkLWNvbmZpZyIKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wZTdmMjFjYTdkYjk3NWM2MzQ2N2QyZTc2MjRhMTJmOSIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RhdGEveGtleWJvYXJkLWNvbmZpZy8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gImUyZTk4MDYyOWJmZWI5ZjQwYTdkNDQ0ODhiMThiYTEyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM5MzcxOGM3NDYwY2QwNmM0ZThjYjgxOWQ5NDNjYTU0ODEyZWE0NzZmMzI3MTRjNGQ4OTc1Yzc3MDMxYTAzOGUiCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitERVBFTkRTID0gImludGx0b29sLW5hdGl2ZSB1dGlsLW1hY3JvcyBsaWJ4c2x0LW5hdGl2ZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItcnVsZXMtc3ltbGluaz14b3JnIC0tZGlzYWJsZS1ydW50aW1lLWRlcHMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94a2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQKKyAgICBjZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL3J1bGVzICYmIGxuIC1zZiBiYXNlIHhvcmcKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNiLXByb3RvXzEuMTMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b18xLjEzLmJiCmluZGV4IGQ1MDM3ODYuLjc0NjcwOTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNiLXByb3RvXzEuMTMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fMS4xMy5iYgpAQCAtMTIsNDAgKzEyLDE4IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZHJpMi54bWw7YmVnaW5saW5lPTI7ZW5kbGluZT0yODttZDU9Zjg3NjNiMTNmZjQzMmU4NTk3ZTBkNjEwY2Y1OThlNjUiCiAKIFNSQ19VUkkgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmcvZGlzdC8ke0JQfS50YXIuYnoyIgotCiBTUkNfVVJJW21kNXN1bV0gPSAiYWJlOWFhNDg4NjEzODE1MGJiYzA0YWU0ZjI5YjkwZTMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2I5ODcyMWU2NjliZTgwMjg0ZTliYmZlYWIwMmQyZDBkNTRjZDExMTcyYjcyMjcxZTQ3YTJmZTg3NWUyYmRlMSIKIAotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLSMgRm9yY2UgdGhlIHVzZSBvZiBQeXRob24gMyBhbmQgYSBzcGVjaWZpYyBsaWJyYXJ5IHBhdGggc28gd2UgZG9uJ3QgbmVlZCB0bwotIyBkZXBlbmQgb24gcHl0aG9uMy1uYXRpdmUKLUNBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJQWVRIT049cHl0aG9uMyBhbV9jdl9weXRob25fcHl0aG9uZGlyPSR7bGliZGlyfS94Y2ItcHJvdG8iCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgcHl0aG9uM25hdGl2ZQogCiBQQUNLQUdFUyArPSAicHl0aG9uLXhjYmdlbiIKIAogRklMRVNfJHtQTn0gPSAiIgogRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L3hjYi8qLnhtbCAke2RhdGFkaXJ9L3hjYi8qLnhzZCIKLUZJTEVTX3B5dGhvbi14Y2JnZW4gPSAiJHtsaWJkaXJ9L3hjYi1wcm90byIKK0ZJTEVTX3B5dGhvbi14Y2JnZW4gPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0iCiAKIFJERVBFTkRTXyR7UE59LWRldiA9ICIiCiBSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLSMgTmVlZCB0byBkbyB0aGlzIGRhbmNlIGJlY2F1c2Ugd2UncmUgZm9yY2luZyB0aGUgdXNlIG9mIGhvc3QgUHl0aG9uIGFib3ZlIGFuZAotIyBpZiB4Y2ItcHJvdG8gaXMgYnVpbHQgd2l0aCBQeTMuNSBhbmQgdGhlbiByZS11c2VkIGZyb20gc3N0YXRlIG9uIGEgaG9zdCB3aXRoCi0jIFB5My42IHRoZSBzZWNvbmQgYnVpbGQgd2lsbCB3cml0ZSBuZXcgY2FjaGUgZmlsZXMgaW50byB0aGUgc3lzcm9vdCB3aGljaCB3b24ndAotIyBiZSBsaXN0ZWQgaW4gdGhlIG1hbmlmZXN0IHNvIHdvbid0IGJlIGRlbGV0ZWQsIHJlc3VsdGluZyBpbiBhbiBlcnJvciBvbgotIyByZWJ1aWxkcy4gIFNvbHZlIHRoaXMgYnkgZGVsZXRpbmcgdGhlIGVudGlyZSBjYWNoZSBkaXJlY3Rvcnkgd2hlbiB0aGlzIHBhY2thZ2UKLSMgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzeXNyb290LgotU1NUQVRFUE9TVElOU1RGVU5DUyArPSAieGNiX3NzdGF0ZV9wb3N0aW5zdCIKLXhjYl9zc3RhdGVfcG9zdGluc3QoKSB7Ci0JaWYgWyAiJHtCQl9DVVJSRU5UVEFTS30iID0gInBvcHVsYXRlX3N5c3Jvb3QiIC1vICIke0JCX0NVUlJFTlRUQVNLfSIgPSAicG9wdWxhdGVfc3lzcm9vdF9zZXRzY2VuZSIgXQotCXRoZW4KLQkJY2F0IDw8RU9GID4ke1NTVEFURV9JTlNUX1BPU1RSTX0KLSMhL2Jpbi9zaAotcm0gLXJmICR7bGliZGlyfS94Y2ItcHJvdG8veGNiZ2VuL19fcHljYWNoZV9fCi1FT0YKLQlmaQotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYwppbmRleCA0ODlhNDI4Li42MTVhZDZkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYwpAQCAtMTgsNiArMTgsOCBAQAogWE9SR19QTiA9ICJ4b3JnLXNlcnZlciIKIFNSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC94c2VydmVyLyR7WE9SR19QTn0tJHtQVn0udGFyLmJ6MiIKIAorQ1ZFX1BST0RVQ1QgPSAieG9yZy1zZXJ2ZXIiCisKIFMgPSAiJHtXT1JLRElSfS8ke1hPUkdfUE59LSR7UFZ9IgogCiBpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvMDAwMS10ZXN0LXh0ZXN0LUluaXRpYWxpemUtYXJyYXktd2l0aC1icmFjZXMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwYzI0MjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLzAwMDEtdGVzdC14dGVzdC1Jbml0aWFsaXplLWFycmF5LXdpdGgtYnJhY2VzLnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOGEzODJjMDE1Y2QzYzY5ZmNmYzE0NmVmMDNkY2JmMzBjNzdmZjIwNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDEgTWFyIDIwMTkgMDk6NDc6NTcgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gdGVzdC94dGVzdDogSW5pdGlhbGl6ZSBhcnJheSB3aXRoIGJyYWNlcworCitGaXhlcyBhbiBlcnJvciB3aGVuIGV4dHJhIHdhcm5pbmdzIGFyZSBlbmFibGVkLCB0aGlzIGlzIGNhdWdodCB3aXRoIGNsYW5nCisKK3Rlc3QveHRlc3QuYzo2NDoyMzogZXJyb3I6IHN1Z2dlc3QgYnJhY2VzIGFyb3VuZCBpbml0aWFsaXphdGlvbiBvZiBzdWJvYmplY3QgWy1XZXJyb3IsLVdtaXNzaW5nLWJyYWNlc10KKyAgICBXaW5kb3dSZWMgcm9vdCA9IHswfTsKKyAgICAgICAgICAgICAgICAgICAgICBeCisgICAgICAgICAgICAgICAgICAgICAge30KKzEgZXJyb3IgZ2VuZXJhdGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3QveHRlc3QuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3QveHRlc3QuYyBiL3Rlc3QveHRlc3QuYworaW5kZXggZmM1ZTQzMy4uZDdlNjYyMCAxMDA2NDQKKy0tLSBhL3Rlc3QveHRlc3QuYworKysrIGIvdGVzdC94dGVzdC5jCitAQCAtNjEsNyArNjEsNyBAQCB4dGVzdF9pbml0X2RldmljZXModm9pZCkKKyB7CisgICAgIFNjcmVlblJlYyBzY3JlZW4gPSB7MH07CisgICAgIENsaWVudFJlYyBzZXJ2ZXJfY2xpZW50ID0gezB9OworLSAgICBXaW5kb3dSZWMgcm9vdCA9IHswfTsKKysgICAgV2luZG93UmVjIHJvb3QgPSB7ezB9fTsKKyAgICAgV2luZG93T3B0UmVjIG9wdGlvbmFsID0gezB9OworIAorICAgICAvKiByYW5kb20gc3R1ZmYgdGhhdCBuZWVkcyBpbml0aWFsaXphdGlvbiAqLworLS0gCisyLjIxLjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy9DVkUtMjAxOC0xNDY2NS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvQ1ZFLTIwMTgtMTQ2NjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNjIzNWIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy9DVkUtMjAxOC0xNDY2NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLUluY29ycmVjdCBjb21tYW5kLWxpbmUgcGFyYW1ldGVyIHZhbGlkYXRpb24gaW4gdGhlIFhvcmcgWCBzZXJ2ZXIgY2FuIGxlYWQgdG8KLXByaXZpbGVnZSBlbGV2YXRpb24gYW5kL29yIGFyYml0cmFyeSBmaWxlcyBvdmVyd3JpdGUsIHdoZW4gdGhlIFggc2VydmVyIGlzCi1ydW5uaW5nIHdpdGggZWxldmF0ZWQgcHJpdmlsZWdlcyAoaWUgd2hlbiBYb3JnIGlzIGluc3RhbGxlZCB3aXRoIHRoZSBzZXR1aWQgYml0Ci1zZXQgYW5kIHN0YXJ0ZWQgYnkgYSBub24tcm9vdCB1c2VyKS4gVGhlIC1tb2R1bGVwYXRoIGFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvCi1zcGVjaWZ5IGFuIGluc2VjdXJlIHBhdGggdG8gbW9kdWxlcyB0aGF0IGFyZSBnb2luZyB0byBiZSBsb2FkZWQgaW4gdGhlIFggc2VydmVyLAotYWxsb3dpbmcgdG8gZXhlY3V0ZSB1bnByaXZpbGVnZWQgY29kZSBpbiB0aGUgcHJpdmlsZWdlZCBwcm9jZXNzLiBUaGUgLWxvZ2ZpbGUKLWFyZ3VtZW50IGNhbiBiZSB1c2VkIHRvIG92ZXJ3cml0ZSBhcmJpdHJhcnkgZmlsZXMgaW4gdGhlIGZpbGUgc3lzdGVtLCBkdWUgdG8KLWluY29ycmVjdCBjaGVja3MgaW4gdGhlIHBhcnNpbmcgb2YgdGhlIG9wdGlvbi4KLQotQ1ZFOiBDVkUtMjAxOC0xNDY2NQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KLQotRnJvbSA1MGMwY2Y4ODVhNmU5MWMwZWE3MWZiNDlmYThmMWI3Yzg2ZmUzMzBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGhpZXUgSGVycmIgPG1hdHRoaWV1QGhlcnJiLmV1PgotRGF0ZTogVHVlLCAyMyBPY3QgMjAxOCAyMToyOTowOCArMDIwMAotU3ViamVjdDogW1BBVENIXSBEaXNhYmxlIC1sb2dmaWxlIGFuZCAtbW9kdWxlcGF0aCB3aGVuIHJ1bm5pbmcgd2l0aCBlbGV2YXRlZAotIHByaXZpbGVnZXMKLQotQ291bGQgY2F1c2UgcHJpdmlsZWdlIGVsZXZhdGlvbiBhbmQvb3IgYXJiaXRyYXJ5IGZpbGVzIG92ZXJ3cml0ZSwgd2hlbgotdGhlIFggc2VydmVyIGlzIHJ1bm5pbmcgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzIChpZSB3aGVuIFhvcmcgaXMKLWluc3RhbGxlZCB3aXRoIHRoZSBzZXR1aWQgYml0IHNldCBhbmQgc3RhcnRlZCBieSBhIG5vbi1yb290IHVzZXIpLgotCi1DVkUtMjAxOC0xNDY2NQotCi1Jc3N1ZSByZXBvcnRlZCBieSBOYXJlbmRyYSBTaGluZGUgYW5kIFJlZCBIYXQuCi0KLVNpZ25lZC1vZmYtYnk6IE1hdHRoaWV1IEhlcnJiIDxtYXR0aGlldUBoZXJyYi5ldT4KLVJldmlld2VkLWJ5OiBBbGFuIENvb3BlcnNtaXRoIDxhbGFuLmNvb3BlcnNtaXRoQG9yYWNsZS5jb20+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgSHV0dGVyZXIgPHBldGVyLmh1dHRlcmVyQHdoby10Lm5ldD4KLVJldmlld2VkLWJ5OiBBZGFtIEphY2tzb24gPGFqYXhAcmVkaGF0LmNvbT4KLS0tLQotIGh3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMgfCA4ICsrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMgYi9ody94ZnJlZTg2L2NvbW1vbi94Zjg2SW5pdC5jCi1pbmRleCA2YzI1ZWRhNzMuLjBmNTdlZmE4NiAxMDA2NDQKLS0tLSBhL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMKLSsrKyBiL2h3L3hmcmVlODYvY29tbW9uL3hmODZJbml0LmMKLUBAIC05MzUsMTQgKzkzNSwxOCBAQCBkZHhQcm9jZXNzQXJndW1lbnQoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBpbnQgaSkKLSAgICAgLyogRmlyc3QgdGhlIG9wdGlvbnMgdGhhdCBhcmUgbm90IGFsbG93ZWQgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzICovCi0gICAgIGlmICghc3RyY21wKGFyZ3ZbaV0sICItbW9kdWxlcGF0aCIpKSB7Ci0gICAgICAgICBDSEVDS19GT1JfUkVRVUlSRURfQVJHVU1FTlQoKTsKLS0gICAgICAgIHhmODZDaGVja1ByaXZzKGFyZ3ZbaV0sIGFyZ3ZbaSArIDFdKTsKLSsgICAgICAgIGlmICh4Zjg2UHJpdnNFbGV2YXRlZCgpKQotKyAgICAgICAgICAgICAgRmF0YWxFcnJvcigiXG5JbnZhbGlkIGFyZ3VtZW50IC1tb2R1bGVwYXRoICIKLSsgICAgICAgICAgICAgICAgIndpdGggZWxldmF0ZWQgcHJpdmlsZWdlc1xuIik7Ci0gICAgICAgICB4Zjg2TW9kdWxlUGF0aCA9IGFyZ3ZbaSArIDFdOwotICAgICAgICAgeGY4Nk1vZFBhdGhGcm9tID0gWF9DTURMSU5FOwotICAgICAgICAgcmV0dXJuIDI7Ci0gICAgIH0KLSAgICAgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1sb2dmaWxlIikpIHsKLSAgICAgICAgIENIRUNLX0ZPUl9SRVFVSVJFRF9BUkdVTUVOVCgpOwotLSAgICAgICAgeGY4NkNoZWNrUHJpdnMoYXJndltpXSwgYXJndltpICsgMV0pOwotKyAgICAgICAgaWYgKHhmODZQcml2c0VsZXZhdGVkKCkpCi0rICAgICAgICAgICAgICBGYXRhbEVycm9yKCJcbkludmFsaWQgYXJndW1lbnQgLWxvZ2ZpbGUgIgotKyAgICAgICAgICAgICAgICAid2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzXG4iKTsKLSAgICAgICAgIHhmODZMb2dGaWxlID0gYXJndltpICsgMV07Ci0gICAgICAgICB4Zjg2TG9nRmlsZUZyb20gPSBYX0NNRExJTkU7Ci0gICAgICAgICByZXR1cm4gMjsKLS0tIAotMi4xOC4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZmQyZThkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotcmVxdWlyZSB4c2VydmVyLXhvcmcuaW5jCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly9tdXNsLWFybS1pbmItb3V0Yi5wYXRjaCBcCi0gICAgICAgICAgICBmaWxlOi8vMDAwMS14Zjg2cGNpQnVzLmMtdXNlLUludGVsLWRkeC1vbmx5LWZvci1wcmUtZ2VuNC1oYXJkd2FyLnBhdGNoIFwKLSAgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE0NjY1LnBhdGNoIFwKLSAgICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlNTI1ODQ2ZDFkMGFmNTczMmJhODM1ZjJlMmVjMDY2ZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1OWM5OWZlODZmZTc1YjgxNjRjNjU2N2JmYzZlOTgyYWVjYzJlNGE1MWU2ZmJhYzFiODQyZDVkMDA1NDllOTE4IgotCi0jIFRoZXNlIGV4dGVuc2lvbnMgYXJlIG5vdyBpbnRlZ3JhdGVkIGludG8gdGhlIHNlcnZlciwgc28gZGVjbGFyZSB0aGUgbWlncmF0aW9uCi0jIHBhdGggZm9yIGluLXBsYWNlIHVwZ3JhZGVzLgotCi1SUkVQTEFDRVNfJHtQTn0gPSAgIiR7UE59LWV4dGVuc2lvbi1kcmkgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCi0gICAgICAgICAgICAgICAgICAgIgotUlBST1ZJREVTXyR7UE59ID0gICIke1BOfS1leHRlbnNpb24tZHJpIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAotICAgICAgICAgICAgICAgICAgICIKLVJDT05GTElDVFNfJHtQTn0gPSAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKLSAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCi0gICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAotICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKLSAgICAgICAgICAgICAgICAgICAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4yMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkOTlkNmIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnXzEuMjAuNC5iYgpAQCAtMCwwICsxLDMxIEBACityZXF1aXJlIHhzZXJ2ZXIteG9yZy5pbmMKKworU1JDX1VSSSArPSAiZmlsZTovL211c2wtYXJtLWluYi1vdXRiLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLXhmODZwY2lCdXMuYy11c2UtSW50ZWwtZGR4LW9ubHktZm9yLXByZS1nZW40LWhhcmR3YXIucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0LXh0ZXN0LUluaXRpYWxpemUtYXJyYXktd2l0aC1icmFjZXMucGF0Y2ggXAorICAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gImM0ODQxY2MyNGI3OTQyMDIwNWQwODJmZTgyZTBhNjUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlMGZkNDkzZWJlOTNiZmM1NmJlZGUzODJmYTIwNDQ1OGZmNWY2MzZlYTU0ZDQxM2E1ZDFiZDU4ZTE5MTY2ZWUiCisKKyMgVGhlc2UgZXh0ZW5zaW9ucyBhcmUgbm93IGludGVncmF0ZWQgaW50byB0aGUgc2VydmVyLCBzbyBkZWNsYXJlIHRoZSBtaWdyYXRpb24KKyMgcGF0aCBmb3IgaW4tcGxhY2UgdXBncmFkZXMuCisKK1JSRVBMQUNFU18ke1BOfSA9ICAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKKyAgICAgICAgICAgICAgICAgICAiCitSUFJPVklERVNfJHtQTn0gPSAgIiR7UE59LWV4dGVuc2lvbi1kcmkgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCisgICAgICAgICAgICAgICAgICAgIgorUkNPTkZMSUNUU18ke1BOfSA9ICIke1BOfS1leHRlbnNpb24tZHJpIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAorICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h2aWRlby10ZXN0cy94dmlkZW8tdGVzdHNfZ2l0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkMjc1YTAuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1TVU1NQVJZID0gIlNpbXBsZSBYVmlkZW8gdGVzdCBhcHBsaWNhdGlvbiIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3Rlc3QteHZpZGVvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9NmFlM2I0YzNjMmZmOWU1MWRiYmMzNWJiMjM3YWZhMDAiCi1ERVBFTkRTID0gImxpYnh2IgotCi1TUkNSRVYgPSAiN2QzOGI4ODFlOTllYjc0MTY5ZDI5MmI0MGY3MTY0ZTQ2MWE2NTA5MiIKLVBWID0gIjAuMStnaXQke1NSQ1BWfSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy90ZXN0LXh2aWRlbyIKLVVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCi0KLSMgVGhlIGxpYnh2IHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjEwLmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1saW51eF8xLjkuYmIKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LWxpbnV4XzEuMTAuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuMTAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTUyZWI2YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LW1vZHVsZV8xLjEwLmJiCkBAIC0wLDAgKzEsMTcgQEAKK3JlcXVpcmUgY3J5cHRvZGV2LmluYworCitTVU1NQVJZID0gIkEgL2Rldi9jcnlwdG8gZGV2aWNlIGRyaXZlciBrZXJuZWwgbW9kdWxlIgorCitpbmhlcml0IG1vZHVsZQorCisjIEhlYWRlciBmaWxlIHByb3ZpZGVkIGJ5IGEgc2VwYXJhdGUgcGFja2FnZQorREVQRU5EUyArPSAiY3J5cHRvZGV2LWxpbnV4IgorCitTUkNfVVJJICs9ICIgXAorZmlsZTovLzAwMDEtRGlzYWJsZS1pbnN0YWxsaW5nLWhlYWRlci1maWxlLXByb3ZpZGVkLWJ5LWFub3RoZXItcC5wYXRjaCBcCisiCisKK0VYVFJBX09FTUFLRT0nS0VSTkVMX0RJUj0iJHtTVEFHSU5HX0tFUk5FTF9ESVJ9IiBQUkVGSVg9IiR7RH0iJworCitSQ09ORkxJQ1RTXyR7UE59ID0gIm9jZi1saW51eCIKK1JSRVBMQUNFU18ke1BOfSA9ICJvY2YtbGludXgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS45LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYtbW9kdWxlXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ0MzI3ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi1tb2R1bGVfMS45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotcmVxdWlyZSBjcnlwdG9kZXYuaW5jCi0KLVNVTU1BUlkgPSAiQSAvZGV2L2NyeXB0byBkZXZpY2UgZHJpdmVyIGtlcm5lbCBtb2R1bGUiCi0KLWluaGVyaXQgbW9kdWxlCi0KLSMgSGVhZGVyIGZpbGUgcHJvdmlkZWQgYnkgYSBzZXBhcmF0ZSBwYWNrYWdlCi1ERVBFTkRTICs9ICJjcnlwdG9kZXYtbGludXgiCi0KLVNSQ19VUkkgKz0gIiBcCi1maWxlOi8vMDAwMS1EaXNhYmxlLWluc3RhbGxpbmctaGVhZGVyLWZpbGUtcHJvdmlkZWQtYnktYW5vdGhlci1wLnBhdGNoIFwKLWZpbGU6Ly8wMDAxLWlvY3RsLmMtRml4LWJ1aWxkLXdpdGgtbGludXgtNC4xMy5wYXRjaCBcCi1maWxlOi8vMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2ggXAotZmlsZTovLzAwMDEtcmVmYWN0b3Jpbmctc3BsaXQtYmlnLWZ1bmN0aW9uLXRvLXNpbXBsaWZ5LW1haW50YWluYS5wYXRjaCBcCi1maWxlOi8vMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2ggXAotZmlsZTovLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoIFwKLSIKLQotRVhUUkFfT0VNQUtFPSdLRVJORUxfRElSPSIke1NUQUdJTkdfS0VSTkVMX0RJUn0iIFBSRUZJWD0iJHtEfSInCi0KLVJDT05GTElDVFNfJHtQTn0gPSAib2NmLWxpbnV4IgotUlJFUExBQ0VTXyR7UE59ID0gIm9jZi1saW51eCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuMTAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYjVkY2IKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjEwLmJiCkBAIC0wLDAgKzEsMjEgQEAKK3JlcXVpcmUgY3J5cHRvZGV2LmluYworCitTVU1NQVJZID0gIkEgdGVzdCBzdWl0ZSBmb3IgL2Rldi9jcnlwdG8gZGV2aWNlIGRyaXZlciIKKworREVQRU5EUyArPSAib3BlbnNzbCIKKworU1JDX1VSSSArPSAiIFwKK2ZpbGU6Ly8wMDAxLUFkZC10aGUtY29tcGlsZS1hbmQtaW5zdGFsbC1ydWxlcy1mb3ItY3J5cHRvZGV2LXRlc3QucGF0Y2ggXAorIgorCitFWFRSQV9PRU1BS0U9J0tFUk5FTF9ESVI9IiR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIgUFJFRklYPSIke0R9IicKKworZG9fY29tcGlsZSgpIHsKKwlvZV9ydW5tYWtlIHRlc3Rwcm9ncworfQorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbF90ZXN0cworfQorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LXRlc3RzXzEuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjE3ZGI2Yy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi10ZXN0c18xLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1yZXF1aXJlIGNyeXB0b2Rldi5pbmMKLQotU1VNTUFSWSA9ICJBIHRlc3Qgc3VpdGUgZm9yIC9kZXYvY3J5cHRvIGRldmljZSBkcml2ZXIiCi0KLURFUEVORFMgKz0gIm9wZW5zc2wiCi0KLVNSQ19VUkkgKz0gIiBcCi1maWxlOi8vMDAwMS1BZGQtdGhlLWNvbXBpbGUtYW5kLWluc3RhbGwtcnVsZXMtZm9yLWNyeXB0b2Rldi10ZXN0LnBhdGNoIFwKLWZpbGU6Ly8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2ggXAotIgotCi1FWFRSQV9PRU1BS0U9J0tFUk5FTF9ESVI9IiR7U1RBR0lOR19FWEVDUFJFRklYRElSfSIgUFJFRklYPSIke0R9IicKLQotZG9fY29tcGlsZSgpIHsKLQlvZV9ydW5tYWtlIHRlc3Rwcm9ncwotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbF90ZXN0cwotfQotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvY3J5cHRvZGV2LmluYwppbmRleCBhYjE1YmMxLi4yNTJkMzlkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2NyeXB0b2Rldi5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9jcnlwdG9kZXYuaW5jCkBAIC00LDcgKzQsNyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCiAKIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9jcnlwdG9kZXYtbGludXgvY3J5cHRvZGV2LWxpbnV4IgotU1JDUkVWID0gIjg3ZDk1OWQ5YTI3OWMwNTViMzYxZGU4ZTczMGZhYjZhNzE0NGVkZDciCitTUkNSRVYgPSAiZmQ4YjE1ZWYxYzgzOThhNjlhMzc5MzJlZTQ4Yzc0YWI0MDMyOWEyOSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLVBvcnQtdGVzdHMtdG8tb3BlbnNzbC0xLjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtUG9ydC10ZXN0cy10by1vcGVuc3NsLTEuMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk2OTEyNi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtUG9ydC10ZXN0cy10by1vcGVuc3NsLTEuMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMyArMCwwIEBACi1Gcm9tIDJmZTRiZGViOGNkZDBiMGY0NmQ5Y2FlZDgwNzgxMjg1NWQ1MWVhNTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjggTWFyIDIwMTggMjA6MTE6MDUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gUG9ydCB0ZXN0cyB0byBvcGVuc3NsIDEuMQotCi1VcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtodHRwczovL2dpdGh1Yi5jb20vY3J5cHRvZGV2LWxpbnV4L2NyeXB0b2Rldi1saW51eC9wdWxsLzM2XQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci0KLS0tLQotIHRlc3RzL29wZW5zc2xfd3JhcHBlci5jIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL29wZW5zc2xfd3JhcHBlci5jIGIvdGVzdHMvb3BlbnNzbF93cmFwcGVyLmMKLWluZGV4IDAzOGM1OGYuLmRlYTI0OTYgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9vcGVuc3NsX3dyYXBwZXIuYwotKysrIGIvdGVzdHMvb3BlbnNzbF93cmFwcGVyLmMKLUBAIC00LDYgKzQsNyBAQAotICNpbmNsdWRlIDxvcGVuc3NsL2Flcy5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2V2cC5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2htYWMuaD4KLSsjaW5jbHVkZSA8b3BlbnNzbC9vcGVuc3Nsdi5oPgotIAotIC8vI2RlZmluZSBERUJVRwotIAotQEAgLTIzLDEwICsyNCwxNyBAQCBlbnVtIGN0eF90eXBlIHsKLSAJY3R4X3R5cGVfbWQsCi0gfTsKLSAKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAotK3VuaW9uIG9wZW5zc2xfY3R4IHsKLSsJSE1BQ19DVFggKmhtYWM7Ci0rCUVWUF9NRF9DVFggKm1kOwotK307Ci0rI2Vsc2UKLSB1bmlvbiBvcGVuc3NsX2N0eCB7Ci0gCUhNQUNfQ1RYIGhtYWM7Ci0gCUVWUF9NRF9DVFggbWQ7Ci0gfTsKLSsjZW5kaWYKLSAKLSBzdHJ1Y3QgY3R4X21hcHBpbmcgewotIAlfX3UzMiBzZXM7Ci1AQCAtNjMsNiArNzEsMTYgQEAgc3RhdGljIHZvaWQgcmVtb3ZlX21hcHBpbmcoX191MzIgc2VzKQotIAlzd2l0Y2ggKG1hcHBpbmctPnR5cGUpIHsKLSAJY2FzZSBjdHhfdHlwZV9ub25lOgotIAkJYnJlYWs7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKLSsJY2FzZSBjdHhfdHlwZV9obWFjOgotKwkJZGJncCgiJXM6IGNhbGxpbmcgSE1BQ19DVFhfZnJlZVxuIiwgX19mdW5jX18pOwotKwkJSE1BQ19DVFhfZnJlZShtYXBwaW5nLT5jdHguaG1hYyk7Ci0rCQlicmVhazsKLSsJY2FzZSBjdHhfdHlwZV9tZDoKLSsJCWRiZ3AoIiVzOiBjYWxsaW5nIEVWUF9NRF9DVFhfZnJlZVxuIiwgX19mdW5jX18pOwotKwkJRVZQX01EX0NUWF9mcmVlKG1hcHBpbmctPmN0eC5tZCk7Ci0rCQlicmVhazsKLSsjZWxzZQotIAljYXNlIGN0eF90eXBlX2htYWM6Ci0gCQlkYmdwKCIlczogY2FsbGluZyBITUFDX0NUWF9jbGVhbnVwXG4iLCBfX2Z1bmNfXyk7Ci0gCQlITUFDX0NUWF9jbGVhbnVwKCZtYXBwaW5nLT5jdHguaG1hYyk7Ci1AQCAtNzEsNiArODksNyBAQCBzdGF0aWMgdm9pZCByZW1vdmVfbWFwcGluZyhfX3UzMiBzZXMpCi0gCQlkYmdwKCIlczogY2FsbGluZyBFVlBfTURfQ1RYX2NsZWFudXBcbiIsIF9fZnVuY19fKTsKLSAJCUVWUF9NRF9DVFhfY2xlYW51cCgmbWFwcGluZy0+Y3R4Lm1kKTsKLSAJCWJyZWFrOwotKyNlbmRpZgotIAl9Ci0gCW1lbXNldChtYXBwaW5nLCAwLCBzaXplb2YoKm1hcHBpbmcpKTsKLSB9Ci1AQCAtMTI3LDEwICsxNDYsMTcgQEAgc3RhdGljIGludCBvcGVuc3NsX2htYWMoc3RydWN0IHNlc3Npb25fb3AgKnNlc3MsIHN0cnVjdCBjcnlwdF9vcCAqY29wKQotIAotIAkJbWFwcGluZy0+c2VzID0gc2Vzcy0+c2VzOwotIAkJbWFwcGluZy0+dHlwZSA9IGN0eF90eXBlX2htYWM7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPj0gMHgxMDEwMDAwMEwKLSsJCWN0eCA9IG1hcHBpbmctPmN0eC5obWFjOwotKwotKwkJZGJncCgiY2FsbGluZyBITUFDX0NUWF9uZXciKTsKLSsJCWN0eCA9IEhNQUNfQ1RYX25ldygpOwotKyNlbHNlCi0gCQljdHggPSAmbWFwcGluZy0+Y3R4LmhtYWM7Ci0gCi0gCQlkYmdwKCJjYWxsaW5nIEhNQUNfQ1RYX2luaXQiKTsKLSAJCUhNQUNfQ1RYX2luaXQoY3R4KTsKLSsjZW5kaWYKLSAJCWRiZ3AoImNhbGxpbmcgSE1BQ19Jbml0X2V4Iik7Ci0gCQlpZiAoIUhNQUNfSW5pdF9leChjdHgsIHNlc3MtPm1hY2tleSwgc2Vzcy0+bWFja2V5bGVuLAotIAkJCQlzZXNzX3RvX2V2cF9tZChzZXNzKSwgTlVMTCkpIHsKLUBAIC0xNzIsMTAgKzE5OCwxNyBAQCBzdGF0aWMgaW50IG9wZW5zc2xfbWQoc3RydWN0IHNlc3Npb25fb3AgKnNlc3MsIHN0cnVjdCBjcnlwdF9vcCAqY29wKQotIAotIAkJbWFwcGluZy0+c2VzID0gc2Vzcy0+c2VzOwotIAkJbWFwcGluZy0+dHlwZSA9IGN0eF90eXBlX21kOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rCQljdHggPSBtYXBwaW5nLT5jdHgubWQ7Ci0rCi0rCQlkYmdwKCJjYWxsaW5nIEVWUF9NRF9DVFhfbmV3Iik7Ci0rCQljdHggPSBFVlBfTURfQ1RYX25ldygpOwotKyNlbHNlCi0gCQljdHggPSAmbWFwcGluZy0+Y3R4Lm1kOwotIAotIAkJZGJncCgiY2FsbGluZyBFVlBfTURfQ1RYX2luaXQiKTsKLSAJCUVWUF9NRF9DVFhfaW5pdChjdHgpOwotKyNlbmRpZgotIAkJZGJncCgiY2FsbGluZyBFVlBfRGlnZXN0SW5pdCIpOwotIAkJRVZQX0RpZ2VzdEluaXQoY3R4LCBzZXNzX3RvX2V2cF9tZChzZXNzKSk7Ci0gCX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjEzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDFlZmFjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OSArMCwwIEBACi1Gcm9tIGYwZDY5Nzc0YWZiMjdmZmM2MmJmMzUzNDY1ZmJhMTQ1ZTcwY2I4NWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSaWNhcmRvIFJpYmFsZGEgRGVsZ2FkbyA8cmljYXJkby5yaWJhbGRhQGdtYWlsLmNvbT4KLURhdGU6IE1vbiwgNCBTZXAgMjAxNyAxMTowNTowOCArMDIwMAotU3ViamVjdDogW1BBVENIXSBpb2N0bC5jOiBGaXggYnVpbGQgd2l0aCBsaW51eCA0LjEzCi0KLWdpdC9pb2N0bC5jOjExMjc6MzogZXJyb3I6IHBvc2l0aW9uYWwgaW5pdGlhbGl6YXRpb24gb2YgZmllbGQgaW4gJ3N0cnVjdCcgZGVjbGFyZWQgd2l0aCAnZGVzaWduYXRlZF9pbml0JyBhdHRyaWJ1dGUgWy1XZXJyb3I9ZGVzaWduYXRlZC1pbml0XQotICAgezAsIH0sCi0gICAgXgotbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yICd2ZXJib3NpdHlfY3RsX2RpclsxXScpCi1naXQvaW9jdGwuYzoxMTM2OjM6IGVycm9yOiBwb3NpdGlvbmFsIGluaXRpYWxpemF0aW9uIG9mIGZpZWxkIGluICdzdHJ1Y3QnIGRlY2xhcmVkIHdpdGggJ2Rlc2lnbmF0ZWRfaW5pdCcgYXR0cmlidXRlIFstV2Vycm9yPWRlc2lnbmF0ZWQtaW5pdF0KLSAgIHswLCB9LAotICAgIF4KLQotTGludXgga2VybmVsIGhhcyBhZGRlZCAtV2Vycm9yPWRlc2lnbmF0ZWQtaW5pdCBhcm91bmQgNC4xMSAoYzgzNGYwZThhOGIpCi10cmlnZ2VyaW5nIGJ1aWxkIGVycm9ycyB3aXRoIGdjYyA1IGFuZCA2IChidXQgbm90IHdpdGggZ2NjIDQpCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogUmljYXJkbyBSaWJhbGRhIERlbGdhZG8gPHJpY2FyZG8ucmliYWxkYUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotLS0tCi0gaW9jdGwuYyB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pb2N0bC5jIGIvaW9jdGwuYwotaW5kZXggMDM4NTIwMy4uOGQ0YTE2MiAxMDA2NDQKLS0tLSBhL2lvY3RsLmMKLSsrKyBiL2lvY3RsLmMKLUBAIC0xMTI0LDcgKzExMjQsNyBAQCBzdGF0aWMgc3RydWN0IGN0bF90YWJsZSB2ZXJib3NpdHlfY3RsX2RpcltdID0gewotIAkJLm1vZGUgICAgICAgICAgID0gMDY0NCwKLSAJCS5wcm9jX2hhbmRsZXIgICA9IHByb2NfZG9pbnR2ZWMsCi0gCX0sCi0tCXswLCB9LAotKwl7fSwKLSB9OwotIAotIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIHZlcmJvc2l0eV9jdGxfcm9vdFtdID0gewotQEAgLTExMzMsNyArMTEzMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIHZlcmJvc2l0eV9jdGxfcm9vdFtdID0gewotIAkJLm1vZGUgICAgICAgICAgID0gMDU1NSwKLSAJCS5jaGlsZCAgICAgICAgICA9IHZlcmJvc2l0eV9jdGxfZGlyLAotIAl9LAotLQl7MCwgfSwKLSsJe30sCi0gfTsKLSBzdGF0aWMgc3RydWN0IGN0bF90YWJsZV9oZWFkZXIgKnZlcmJvc2l0eV9zeXNjdGxfaGVhZGVyOwotIHN0YXRpYyBpbnQgX19pbml0IGluaXRfY3J5cHRvZGV2KHZvaWQpCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDEtaW9jdGwuYy1GaXgtYnVpbGQtd2l0aC1saW51eC00LjE3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODgxZDFjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1pb2N0bC5jLUZpeC1idWlsZC13aXRoLWxpbnV4LTQuMTcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1Gcm9tIGY2MGFhMDhjNjNmYzAyNzgwNTU0YTBhMTIxODBhNDc4Y2EyN2Q0OWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/SG9yaWE9MjBHZWFudD1DND04Mz89IDxob3JpYS5nZWFudGFAbnhwLmNvbT4KLURhdGU6IFdlZCwgMjMgTWF5IDIwMTggMTg6NDM6MzkgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSF0gaW9jdGwuYzogRml4IGJ1aWxkIHdpdGggbGludXggNC4xNwotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi1TaW5jZSBrZXJuZWwgNC4xNy1yYzEsIHN5c18qIHN5c2NhbGxzIGNhbiBubyBsb25nZXIgYmUgY2FsbGVkIGRpcmVjdGx5OgotODE5NjcxZmY4NDliICgic3lzY2FsbHM6IGRlZmluZSBhbmQgZXhwbGFpbiBnb2FsIHRvIG5vdCBjYWxsIHN5c2NhbGxzIGluIHRoZSBrZXJuZWwiKQotCi1TaW5jZSBjcnlwdG9kZXYgdXNlcyBzeXNfY2xvc2UoKSAtIGFuZCB0aGlzIGhhcyBiZWVuIHJlbW92ZWQgaW4gY29tbWl0OgotMmNhMmEwOWQ2MjE1ICgiZnM6IGFkZCBrc3lzX2Nsb3NlKCkgd3JhcHBlcjsgcmVtb3ZlIGluLWtlcm5lbCBjYWxscyB0byBzeXNfY2xvc2UoKSIpCi1jcnlwdG9kZXYgaGFzIHRvIGJlIHVwZGF0ZWQgdG8gdXNlIHRoZSBrc3lzX2Nsb3NlKCkgd3JhcHBlci4KLQotU2lnbmVkLW9mZi1ieTogSG9yaWEgR2VhbnTEgyA8aG9yaWEuZ2VhbnRhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGlvY3RsLmMgfCA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pb2N0bC5jIGIvaW9jdGwuYwotaW5kZXggZDgzMWIwYy4uMjU3MTAzNCAxMDA2NDQKLS0tLSBhL2lvY3RsLmMKLSsrKyBiL2lvY3RsLmMKLUBAIC04MjgsNyArODI4LDExIEBAIGNyeXB0b2Rldl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmdfKQotIAkJZmQgPSBjbG9uZWZkKGZpbHApOwotIAkJcmV0ID0gcHV0X3VzZXIoZmQsIHApOwotIAkJaWYgKHVubGlrZWx5KHJldCkpIHsKLSsjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsIDE3LCAwKSkKLSAJCQlzeXNfY2xvc2UoZmQpOwotKyNlbHNlCi0rCQkJa3N5c19jbG9zZShmZCk7Ci0rI2VuZGlmCi0gCQkJcmV0dXJuIHJldDsKLSAJCX0KLSAJCXJldHVybiByZXQ7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMS1yZWZhY3RvcmluZy1zcGxpdC1iaWctZnVuY3Rpb24tdG8tc2ltcGxpZnktbWFpbnRhaW5hLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLXJlZmFjdG9yaW5nLXNwbGl0LWJpZy1mdW5jdGlvbi10by1zaW1wbGlmeS1tYWludGFpbmEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1NTdiNWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAxLXJlZmFjdG9yaW5nLXNwbGl0LWJpZy1mdW5jdGlvbi10by1zaW1wbGlmeS1tYWludGFpbmEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTAgKzAsMCBAQAotRnJvbSAyMGRjZjA3MWJjMzA3NmVlN2RiOWQ2MDNjZmJlNmEwNmU4NmM3ZDVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ3Jpc3RpYW4gU3RvaWNhIDxjcmlzdGlhbi5zdG9pY2FAbnhwLmNvbT4KLURhdGU6IFRodSwgNCBNYXkgMjAxNyAxNTowNjoyMCArMDMwMAotU3ViamVjdDogW1BBVENIIDEvM10gcmVmYWN0b3Jpbmc6IHNwbGl0IGJpZyBmdW5jdGlvbiB0byBzaW1wbGlmeSBtYWludGFpbmFuY2UKLQotVGhlIHNldHVwIG9mIGF1dGhfYnVmIGluIHRscyBhbmQgYWVhZCBpcyBub3cgZHVwbGljYXRlZCBidXQgdGhpcwotaXMgdGVtcG9yYXJ5IGFuZCBhbGxvd3MgbmVjZXNzYXJ5IGNvcnJlY3Rpb25zIGZvciB0aGUgYWVhZCBjYXNlCi13aXRoIHY0LjIrIGtlcm5lbHMuCi0KLVNpZ25lZC1vZmYtYnk6IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotQ29tbWl0IElEOiAyMGRjZjA3MWJjMzA3NmVlN2RiOWQ2MDNjCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd6aGkuU29uZyA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoZW5jLmMgfCAxOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyksIDcxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYXV0aGVuYy5jIGIvYXV0aGVuYy5jCi1pbmRleCAxYmQ3Mzc3Li4yOGViMGY5IDEwMDY0NAotLS0tIGEvYXV0aGVuYy5jCi0rKysgYi9hdXRoZW5jLmMKLUBAIC02MDksOTYgKzYwOSwxNTEgQEAgYXV0aF9uX2NyeXB0KHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXRoX29wICprY2FvcCwKLSAJcmV0dXJuIDA7Ci0gfQotIAotLS8qIFRoaXMgaXMgdGhlIG1haW4gY3J5cHRvIGZ1bmN0aW9uIC0gemVyby1jb3B5IGVkaXRpb24gKi8KLS1zdGF0aWMgaW50Ci0tX19jcnlwdG9fYXV0aF9ydW5femMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3N0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfc3J0cChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0aF9vcCAqa2Nhb3ApCi0gewotLQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2csICpzcmNfc2c7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqZHN0X3NnLCAqYXV0aF9zZzsKLSAJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0tCWludCByZXQgPSAwOwotKwlpbnQgcmV0OwotIAotLQlpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1NSVFBfVFlQRSkgewotLQkJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgIT0gMCAmJgotLQkJICAgICAgICAgICAgIChzZXNfcHRyLT5jZGF0YS5zdHJlYW0gPT0gMCB8fAotLQkJCSAgICAgIHNlc19wdHItPmNkYXRhLmFlYWQgIT0gMCkpKSB7Ci0tCQkJZGVycigwLCAiT25seSBzdHJlYW0gbW9kZXMgYXJlIGFsbG93ZWQgaW4gU1JUUCBtb2RlIChidXQgbm90IEFFQUQpIik7Ci0tCQkJcmV0dXJuIC1FSU5WQUw7Ci0tCQl9Ci0rCWlmICh1bmxpa2VseShzZXNfcHRyLT5jZGF0YS5pbml0ICE9IDAgJiYKLSsJCShzZXNfcHRyLT5jZGF0YS5zdHJlYW0gPT0gMCB8fCBzZXNfcHRyLT5jZGF0YS5hZWFkICE9IDApKSkgewotKwkJZGVycigwLCAiT25seSBzdHJlYW0gbW9kZXMgYXJlIGFsbG93ZWQgaW4gU1JUUCBtb2RlIChidXQgbm90IEFFQUQpIik7Ci0rCQlyZXR1cm4gLUVJTlZBTDsKLSsJfQotIAotLQkJcmV0ID0gZ2V0X3VzZXJidWZfc3J0cChzZXNfcHRyLCBrY2FvcCwgJmF1dGhfc2csICZkc3Rfc2cpOwotLQkJaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCQlkZXJyKDEsICJnZXRfdXNlcmJ1Zl9zcnRwKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLS0JCQlyZXR1cm4gcmV0OwotLQkJfQotKwlyZXQgPSBnZXRfdXNlcmJ1Zl9zcnRwKHNlc19wdHIsIGtjYW9wLCAmYXV0aF9zZywgJmRzdF9zZyk7Ci0rCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rCQlkZXJyKDEsICJnZXRfdXNlcmJ1Zl9zcnRwKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCXJldHVybiByZXQ7Ci0rCX0KLSAKLS0JCXJldCA9IHNydHBfYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLS0JCQkgICBkc3Rfc2csIGNhb3AtPmxlbik7Ci0rCXJldCA9IHNydHBfYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlkc3Rfc2csIGNhb3AtPmxlbik7Ci0gCi0tCQlyZWxlYXNlX3VzZXJfcGFnZXMoc2VzX3B0cik7Ci0tCX0gZWxzZSB7IC8qIFRMUyBhbmQgbm9ybWFsIGNhc2VzLiBIZXJlIGF1dGggZGF0YSBhcmUgdXN1YWxseSBzbWFsbAotLQkgICAgICAgICAgKiBzbyB3ZSBqdXN0IGNvcHkgdGhlbSB0byBhIGZyZWUgcGFnZSwgaW5zdGVhZCBvZiB0cnlpbmcKLS0JICAgICAgICAgICogdG8gbWFwIHRoZW0uCi0tCSAgICAgICAgICAqLwotLQkJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotLQkJc3RydWN0IHNjYXR0ZXJsaXN0IHRtcDsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotLQkJaWYgKHVubGlrZWx5KGNhb3AtPmF1dGhfbGVuID4gUEFHRV9TSVpFKSkgewotLQkJCWRlcnIoMSwgImF1dGggZGF0YSBsZW4gaXMgZXhjZXNzaXZlLiIpOwotLQkJCXJldHVybiAtRUlOVkFMOwotLQkJfQotKwlyZXR1cm4gcmV0OwotK30KLSAKLS0JCWF1dGhfYnVmID0gKGNoYXIgKilfX2dldF9mcmVlX3BhZ2UoR0ZQX0tFUk5FTCk7Ci0tCQlpZiAodW5saWtlbHkoIWF1dGhfYnVmKSkgewotLQkJCWRlcnIoMSwgInVuYWJsZSB0byBnZXQgYSBmcmVlIHBhZ2UuIik7Ci0tCQkJcmV0dXJuIC1FTk9NRU07Ci0tCQl9Ci0rc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y190bHMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3sKLSsJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCAqZHN0X3NnLCAqYXV0aF9zZzsKLSsJdW5zaWduZWQgY2hhciAqYXV0aF9idWYgPSBOVUxMOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgdG1wOwotKwlpbnQgcmV0OwotIAotLQkJaWYgKGNhb3AtPmF1dGhfc3JjICYmIGNhb3AtPmF1dGhfbGVuID4gMCkgewotLQkJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLS0JCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotLQkJCQlyZXQgPSAtRUZBVUxUOwotLQkJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0tCQkJfQotKwlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuYWVhZCAhPSAwKSkgewotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSsKLSsJaWYgKHVubGlrZWx5KGNhb3AtPmF1dGhfbGVuID4gUEFHRV9TSVpFKSkgewotKwkJZGVycigxLCAiYXV0aCBkYXRhIGxlbiBpcyBleGNlc3NpdmUuIik7Ci0rCQlyZXR1cm4gLUVJTlZBTDsKLSsJfQotKwotKwlhdXRoX2J1ZiA9IChjaGFyICopX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwpOwotKwlpZiAodW5saWtlbHkoIWF1dGhfYnVmKSkgewotKwkJZGVycigxLCAidW5hYmxlIHRvIGdldCBhIGZyZWUgcGFnZS4iKTsKLSsJCXJldHVybiAtRU5PTUVNOwotKwl9Ci0gCi0tCQkJc2dfaW5pdF9vbmUoJnRtcCwgYXV0aF9idWYsIGNhb3AtPmF1dGhfbGVuKTsKLS0JCQlhdXRoX3NnID0gJnRtcDsKLS0JCX0gZWxzZSB7Ci0tCQkJYXV0aF9zZyA9IE5VTEw7Ci0rCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSsJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSsJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci0rCQkJcmV0ID0gLUVGQVVMVDsKLSsJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0gCQl9Ci0gCi0tCQlpZiAoY2FvcC0+ZmxhZ3MgJiBDT1BfRkxBR19BRUFEX1RMU19UWVBFICYmIHNlc19wdHItPmNkYXRhLmFlYWQgPT0gMCkgewotLQkJCXJldCA9IGdldF91c2VyYnVmX3RscyhzZXNfcHRyLCBrY2FvcCwgJmRzdF9zZyk7Ci0tCQkJaWYgKHVubGlrZWx5KHJldCkpIHsKLS0JCQkJZGVycigxLCAiZ2V0X3VzZXJidWZfdGxzKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLS0JCQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQkJCX0KLSsJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQlhdXRoX3NnID0gJnRtcDsKLSsJfSBlbHNlIHsKLSsJCWF1dGhfc2cgPSBOVUxMOwotKwl9Ci0gCi0tCQkJcmV0ID0gdGxzX2F1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0tCQkJCSAgIGRzdF9zZywgY2FvcC0+bGVuKTsKLS0JCX0gZWxzZSB7Ci0tCQkJaWYgKHVubGlrZWx5KHNlc19wdHItPmNkYXRhLmluaXQgPT0gMCB8fAotLQkJCSAgICAgICAgICAgICAoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYKLS0JCQkJICAgICAgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLS0JCQkJZGVycigwLCAiT25seSBzdHJlYW0gYW5kIEFFQUQgY2lwaGVycyBhcmUgYWxsb3dlZCBmb3IgYXV0aGVuYyIpOwotLQkJCQlyZXQgPSAtRUlOVkFMOwotLQkJCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0tCQkJfQotKwlyZXQgPSBnZXRfdXNlcmJ1Zl90bHMoc2VzX3B0ciwga2Nhb3AsICZkc3Rfc2cpOwotKwlpZiAodW5saWtlbHkocmV0KSkgewotKwkJZGVycigxLCAiZ2V0X3VzZXJidWZfdGxzKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSsJfQotIAotLQkJCXJldCA9IGdldF91c2VyYnVmKHNlc19wdHIsIGNhb3AtPnNyYywgY2FvcC0+bGVuLCBjYW9wLT5kc3QsIGtjYW9wLT5kc3RfbGVuLAotLQkJCQkJICBrY2FvcC0+dGFzaywga2Nhb3AtPm1tLCAmc3JjX3NnLCAmZHN0X3NnKTsKLS0JCQlpZiAodW5saWtlbHkocmV0KSkgewotLQkJCQlkZXJyKDEsICJnZXRfdXNlcmJ1ZigpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0tCQkJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLS0JCQl9Ci0rCXJldCA9IHRsc19hdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotKwkJCWRzdF9zZywgY2FvcC0+bGVuKTsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotKwotK2ZyZWVfYXV0aF9idWY6Ci0rCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylhdXRoX2J1Zik7Ci0rCXJldHVybiByZXQ7Ci0rfQotKwotK3N0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0aF9vcCAqa2Nhb3ApCi0rewotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZywgKmF1dGhfc2csICpzcmNfc2c7Ci0rCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotKwl1bnNpZ25lZCBjaGFyICphdXRoX2J1ZiA9IE5VTEw7Ci0rCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0rCWludCByZXQ7Ci0gCi0tCQkJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLS0JCQkJCSAgIHNyY19zZywgZHN0X3NnLCBjYW9wLT5sZW4pOwotKwlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuaW5pdCA9PSAwIHx8Ci0rCQkoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLSsJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIGFuZCBBRUFEIGNpcGhlcnMgYXJlIGFsbG93ZWQgZm9yIGF1dGhlbmMiKTsKLSsJCXJldHVybiAtRUlOVkFMOwotKwl9Ci0rCi0rCWlmICh1bmxpa2VseShjYW9wLT5hdXRoX2xlbiA+IFBBR0VfU0laRSkpIHsKLSsJCWRlcnIoMSwgImF1dGggZGF0YSBsZW4gaXMgZXhjZXNzaXZlLiIpOwotKwkJcmV0dXJuIC1FSU5WQUw7Ci0rCX0KLSsKLSsJYXV0aF9idWYgPSAoY2hhciAqKV9fZ2V0X2ZyZWVfcGFnZShHRlBfS0VSTkVMKTsKLSsJaWYgKHVubGlrZWx5KCFhdXRoX2J1ZikpIHsKLSsJCWRlcnIoMSwgInVuYWJsZSB0byBnZXQgYSBmcmVlIHBhZ2UuIik7Ci0rCQlyZXR1cm4gLUVOT01FTTsKLSsJfQotKwotKwlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0rCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0rCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotKwkJCXJldCA9IC1FRkFVTFQ7Ci0rCQkJZ290byBmcmVlX2F1dGhfYnVmOwotIAkJfQotIAotLQkJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotKwkJc2dfaW5pdF9vbmUoJnRtcCwgYXV0aF9idWYsIGNhb3AtPmF1dGhfbGVuKTsKLSsJCWF1dGhfc2cgPSAmdG1wOwotKwl9IGVsc2UgewotKwkJYXV0aF9zZyA9IE5VTEw7Ci0rCX0KLSsKLSsJcmV0ID0gZ2V0X3VzZXJidWYoc2VzX3B0ciwgY2FvcC0+c3JjLCBjYW9wLT5sZW4sIGNhb3AtPmRzdCwga2Nhb3AtPmRzdF9sZW4sCi0rCQkJa2Nhb3AtPnRhc2ssIGtjYW9wLT5tbSwgJnNyY19zZywgJmRzdF9zZyk7Ci0rCWlmICh1bmxpa2VseShyZXQpKSB7Ci0rCQlkZXJyKDEsICJnZXRfdXNlcmJ1ZigpOiBFcnJvciBnZXR0aW5nIHVzZXIgcGFnZXMuIik7Ci0rCQlnb3RvIGZyZWVfYXV0aF9idWY7Ci0rCX0KLSsKLSsJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBhdXRoX3NnLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsKLSsJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotIGZyZWVfYXV0aF9idWY6Ci0tCQlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYXV0aF9idWYpOwotKwlmcmVlX3BhZ2UoKHVuc2lnbmVkIGxvbmcpYXV0aF9idWYpOwotKwotKwlyZXR1cm4gcmV0OwotK30KLSsKLStzdGF0aWMgaW50Ci0rX19jcnlwdG9fYXV0aF9ydW5femMoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotK3sKLSsJc3RydWN0IGNyeXB0X2F1dGhfb3AgKmNhb3AgPSAma2Nhb3AtPmNhb3A7Ci0rCWludCByZXQ7Ci0rCi0rCWlmIChjYW9wLT5mbGFncyAmIENPUF9GTEFHX0FFQURfU1JUUF9UWVBFKSB7Ci0rCQlyZXQgPSBjcnlwdG9fYXV0aF96Y19zcnRwKHNlc19wdHIsIGtjYW9wKTsKLSsJfSBlbHNlIGlmIChjYW9wLT5mbGFncyAmIENPUF9GTEFHX0FFQURfVExTX1RZUEUpIHsKLSsJCXJldCA9IGNyeXB0b19hdXRoX3pjX3RscyhzZXNfcHRyLCBrY2FvcCk7Ci0rCX0gZWxzZSB7Ci0rCQlyZXQgPSBjcnlwdG9fYXV0aF96Y19hZWFkKHNlc19wdHIsIGtjYW9wKTsKLSAJfQotIAotIAlyZXR1cm4gcmV0OwotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAyLXJlZmFjdG9yaW5nLXJlbG9jYXRlLWNvZGUtdG8tc2ltcGxpZnktbGF0ZXItcGF0Y2hlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9jcnlwdG9kZXYvZmlsZXMvMDAwMi1yZWZhY3RvcmluZy1yZWxvY2F0ZS1jb2RlLXRvLXNpbXBsaWZ5LWxhdGVyLXBhdGNoZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzZDkwMDUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAyLXJlZmFjdG9yaW5nLXJlbG9jYXRlLWNvZGUtdG8tc2ltcGxpZnktbGF0ZXItcGF0Y2hlcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLUZyb20gYzJiZjBlNDJiMWQ5ZmRhNjBjZGU0YTNhNjgyNzg0ZDM0OWVmMWMwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci1EYXRlOiBUaHUsIDQgTWF5IDIwMTcgMTU6MDY6MjEgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzNdIHJlZmFjdG9yaW5nOiByZWxvY2F0ZSBjb2RlIHRvIHNpbXBsaWZ5IGxhdGVyIHBhdGNoZXMKLQotVGhpcyBjb2RlIG1vdmUgd2lsbCBzaW1wbGlmeSB0aGUgY29udmVyc2lvbiB0byBuZXcgQUVBRCBpbnRlcmZhY2UgaW4KLW5leHQgcGF0Y2hlcwotCi1TaWduZWQtb2ZmLWJ5OiBDcmlzdGlhbiBTdG9pY2EgPGNyaXN0aWFuLnN0b2ljYUBueHAuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci0KLUNvbW1pdCBJRDogYzJiZjBlNDJiMWQ5ZmRhCi0KLVNpZ25lZC1vZmYtYnk6IEhvbmd6aGkuU29uZyA8aG9uZ3poaS5zb25nQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBhdXRoZW5jLmMgfCAxNyArKysrKysrKystLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9hdXRoZW5jLmMgYi9hdXRoZW5jLmMKLWluZGV4IDI4ZWIwZjkuLjk1NzI3YjQgMTAwNjQ0Ci0tLS0gYS9hdXRoZW5jLmMKLSsrKyBiL2F1dGhlbmMuYwotQEAgLTcxMSwxMSArNzExLDE4IEBAIHN0YXRpYyBpbnQgY3J5cHRvX2F1dGhfemNfYWVhZChzdHJ1Y3QgY3Nlc3Npb24gKnNlc19wdHIsIHN0cnVjdCBrZXJuZWxfY3J5cHRfYXV0Ci0gCQlyZXR1cm4gLUVOT01FTTsKLSAJfQotIAotKwlyZXQgPSBnZXRfdXNlcmJ1ZihzZXNfcHRyLCBjYW9wLT5zcmMsIGNhb3AtPmxlbiwgY2FvcC0+ZHN0LCBrY2FvcC0+ZHN0X2xlbiwKLSsJCQlrY2FvcC0+dGFzaywga2Nhb3AtPm1tLCAmc3JjX3NnLCAmZHN0X3NnKTsKLSsJaWYgKHVubGlrZWx5KHJldCkpIHsKLSsJCWRlcnIoMSwgImdldF91c2VyYnVmKCk6IEVycm9yIGdldHRpbmcgdXNlciBwYWdlcy4iKTsKLSsJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSsJfQotKwotIAlpZiAoY2FvcC0+YXV0aF9zcmMgJiYgY2FvcC0+YXV0aF9sZW4gPiAwKSB7Ci0gCQlpZiAodW5saWtlbHkoY29weV9mcm9tX3VzZXIoYXV0aF9idWYsIGNhb3AtPmF1dGhfc3JjLCBjYW9wLT5hdXRoX2xlbikpKSB7Ci0gCQkJZGVycigxLCAidW5hYmxlIHRvIGNvcHkgYXV0aCBkYXRhIGZyb20gdXNlcnNwYWNlLiIpOwotIAkJCXJldCA9IC1FRkFVTFQ7Ci0tCQkJZ290byBmcmVlX2F1dGhfYnVmOwotKwkJCWdvdG8gZnJlZV9wYWdlczsKLSAJCX0KLSAKLSAJCXNnX2luaXRfb25lKCZ0bXAsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci1AQCAtNzI0LDE2ICs3MzEsMTAgQEAgc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXQKLSAJCWF1dGhfc2cgPSBOVUxMOwotIAl9Ci0gCi0tCXJldCA9IGdldF91c2VyYnVmKHNlc19wdHIsIGNhb3AtPnNyYywgY2FvcC0+bGVuLCBjYW9wLT5kc3QsIGtjYW9wLT5kc3RfbGVuLAotLQkJCWtjYW9wLT50YXNrLCBrY2FvcC0+bW0sICZzcmNfc2csICZkc3Rfc2cpOwotLQlpZiAodW5saWtlbHkocmV0KSkgewotLQkJZGVycigxLCAiZ2V0X3VzZXJidWYoKTogRXJyb3IgZ2V0dGluZyB1c2VyIHBhZ2VzLiIpOwotLQkJZ290byBmcmVlX2F1dGhfYnVmOwotLQl9Ci0tCi0gCXJldCA9IGF1dGhfbl9jcnlwdChzZXNfcHRyLCBrY2FvcCwgYXV0aF9zZywgY2FvcC0+YXV0aF9sZW4sCi0gCQkJc3JjX3NnLCBkc3Rfc2csIGNhb3AtPmxlbik7Ci0gCi0rZnJlZV9wYWdlczoKLSAJcmVsZWFzZV91c2VyX3BhZ2VzKHNlc19wdHIpOwotIAotIGZyZWVfYXV0aF9idWY6Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2NyeXB0b2Rldi9maWxlcy8wMDAzLWNvbnZlcnQtdG8tbmV3LUFFQUQtaW50ZXJmYWNlLWluLWtlcm5lbHMtdjQuMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODYwMjMwNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvY3J5cHRvZGV2L2ZpbGVzLzAwMDMtY29udmVydC10by1uZXctQUVBRC1pbnRlcmZhY2UtaW4ta2VybmVscy12NC4yLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLUZyb20gYTcwNTM2MDE5NzI2MGQyODUzNTc0NmFlOThjNDYxYmEyY2ZiN2E5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci1EYXRlOiBUaHUsIDQgTWF5IDIwMTcgMTU6MDY6MjIgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIGNvbnZlcnQgdG8gbmV3IEFFQUQgaW50ZXJmYWNlIGluIGtlcm5lbHMgdjQuMisKLQotVGhlIGNyeXB0byBBUEkgZm9yIEFFQUQgY2lwaGVycyBjaGFuZ2VkIGluIHJlY2VudCBrZXJuZWxzIHNvIHRoYXQKLWFzc29jaWF0ZWQgZGF0YSBpcyBub3cgcGFydCBvZiBib3RoIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gc2NhdHRlcgotZ2F0aGVycy4gVGhlIHNvdXJjZSwgZGVzdGluYXRpb24gYW5kIGFzc29jaWF0ZWQgZGF0YSBidWZmZXJzIG5lZWQKLXRvIGJlIHN0aWNoZWQgYWNjb3JkaW5nbHkgZm9yIHRoZSBvcGVyYXRpb25zIHRvIHN1Y2NlZWQ6Ci0KLXNyY19zZzogYXV0aF9idWYgKyBzcmNfYnVmCi1kc3Rfc2c6IGF1dGhfYnVmICsgKGRzdF9idWYgKyB0YWcgc3BhY2UpCi0KLVRoaXMgcGF0Y2ggZml4ZXMgYSBrZXJuZWwgY3Jhc2ggb2JzZXJ2ZWQgd2l0aCBjaXBoZXItZ2NtIHRlc3QuCi0KLVNlZSBhbHNvIGtlcm5lbCBwYXRjaDogODFjNGMzNWViNjFhNjljMjI5ODcxYzQ5MGIwMTFjMTE3MTUxMWQ1YQotICAgIGNyeXB0bzogY2NtIC0gQ29udmVydCB0byBuZXcgQUVBRCBpbnRlcmZhY2UKLQotUmVwb3J0ZWQtYnk6IFBoaWwgU3V0dGVyIDxwaGlsQG53bC5jYz4KLVNpZ25lZC1vZmYtYnk6IENyaXN0aWFuIFN0b2ljYSA8Y3Jpc3RpYW4uc3RvaWNhQG54cC5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLQotQ29tbWl0IElEOiBhNzA1MzYwMTk3MjYwZDI4NTM1NzQKLQotU2lnbmVkLW9mZi1ieTogSG9uZ3poaS5Tb25nIDxob25nemhpLnNvbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGF1dGhlbmMuYyB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2F1dGhlbmMuYyBiL2F1dGhlbmMuYwotaW5kZXggOTU3MjdiNC4uNjkyOTUxZiAxMDA2NDQKLS0tLSBhL2F1dGhlbmMuYwotKysrIGIvYXV0aGVuYy5jCi1AQCAtNjg4LDEyICs2ODgsMjAgQEAgZnJlZV9hdXRoX2J1ZjoKLSAKLSBzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dGhfb3AgKmtjYW9wKQotIHsKLS0Jc3RydWN0IHNjYXR0ZXJsaXN0ICpkc3Rfc2csICphdXRoX3NnLCAqc3JjX3NnOwotKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmRzdF9zZzsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICpzcmNfc2c7Ci0gCXN0cnVjdCBjcnlwdF9hdXRoX29wICpjYW9wID0gJmtjYW9wLT5jYW9wOwotIAl1bnNpZ25lZCBjaGFyICphdXRoX2J1ZiA9IE5VTEw7Ci0tCXN0cnVjdCBzY2F0dGVybGlzdCB0bXA7Ci0gCWludCByZXQ7Ci0gCi0rI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LCAyLCAwKSkKLSsJc3RydWN0IHNjYXR0ZXJsaXN0IHRtcDsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0ICphdXRoX3NnOwotKyNlbHNlCi0rCXN0cnVjdCBzY2F0dGVybGlzdCBhdXRoMVsyXTsKLSsJc3RydWN0IHNjYXR0ZXJsaXN0IGF1dGgyWzJdOwotKyNlbmRpZgotKwotIAlpZiAodW5saWtlbHkoc2VzX3B0ci0+Y2RhdGEuaW5pdCA9PSAwIHx8Ci0gCQkoc2VzX3B0ci0+Y2RhdGEuc3RyZWFtID09IDAgJiYgc2VzX3B0ci0+Y2RhdGEuYWVhZCA9PSAwKSkpIHsKLSAJCWRlcnIoMCwgIk9ubHkgc3RyZWFtIGFuZCBBRUFEIGNpcGhlcnMgYXJlIGFsbG93ZWQgZm9yIGF1dGhlbmMiKTsKLUBAIC03MTgsNiArNzI2LDcgQEAgc3RhdGljIGludCBjcnlwdG9fYXV0aF96Y19hZWFkKHN0cnVjdCBjc2Vzc2lvbiAqc2VzX3B0ciwgc3RydWN0IGtlcm5lbF9jcnlwdF9hdXQKLSAJCWdvdG8gZnJlZV9hdXRoX2J1ZjsKLSAJfQotIAotKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwgMiwgMCkpCi0gCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSAJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSAJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci1AQCAtNzMzLDYgKzc0MiwzMyBAQCBzdGF0aWMgaW50IGNyeXB0b19hdXRoX3pjX2FlYWQoc3RydWN0IGNzZXNzaW9uICpzZXNfcHRyLCBzdHJ1Y3Qga2VybmVsX2NyeXB0X2F1dAotIAotIAlyZXQgPSBhdXRoX25fY3J5cHQoc2VzX3B0ciwga2Nhb3AsIGF1dGhfc2csIGNhb3AtPmF1dGhfbGVuLAotIAkJCXNyY19zZywgZHN0X3NnLCBjYW9wLT5sZW4pOwotKyNlbHNlCi0rCWlmIChjYW9wLT5hdXRoX3NyYyAmJiBjYW9wLT5hdXRoX2xlbiA+IDApIHsKLSsJCWlmICh1bmxpa2VseShjb3B5X2Zyb21fdXNlcihhdXRoX2J1ZiwgY2FvcC0+YXV0aF9zcmMsIGNhb3AtPmF1dGhfbGVuKSkpIHsKLSsJCQlkZXJyKDEsICJ1bmFibGUgdG8gY29weSBhdXRoIGRhdGEgZnJvbSB1c2Vyc3BhY2UuIik7Ci0rCQkJcmV0ID0gLUVGQVVMVDsKLSsJCQlnb3RvIGZyZWVfcGFnZXM7Ci0rCQl9Ci0rCi0rCQlzZ19pbml0X3RhYmxlKGF1dGgxLCAyKTsKLSsJCXNnX3NldF9idWYoYXV0aDEsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQlzZ19jaGFpbihhdXRoMSwgMiwgc3JjX3NnKTsKLSsKLSsJCWlmIChzcmNfc2cgPT0gZHN0X3NnKSB7Ci0rCQkJc3JjX3NnID0gYXV0aDE7Ci0rCQkJZHN0X3NnID0gYXV0aDE7Ci0rCQl9IGVsc2UgewotKwkJCXNnX2luaXRfdGFibGUoYXV0aDIsIDIpOwotKwkJCXNnX3NldF9idWYoYXV0aDIsIGF1dGhfYnVmLCBjYW9wLT5hdXRoX2xlbik7Ci0rCQkJc2dfY2hhaW4oYXV0aDIsIDIsIGRzdF9zZyk7Ci0rCQkJc3JjX3NnID0gYXV0aDE7Ci0rCQkJZHN0X3NnID0gYXV0aDI7Ci0rCQl9Ci0rCX0KLSsKLSsJcmV0ID0gYXV0aF9uX2NyeXB0KHNlc19wdHIsIGtjYW9wLCBOVUxMLCBjYW9wLT5hdXRoX2xlbiwKLSsJCQlzcmNfc2csIGRzdF9zZywgY2FvcC0+bGVuKTsKLSsjZW5kaWYKLSAKLSBmcmVlX3BhZ2VzOgotIAlyZWxlYXNlX3VzZXJfcGFnZXMoc2VzX3B0cik7Ci0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2Vybi10b29scy9rZXJuLXRvb2xzLW5hdGl2ZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2Vybi10b29scy9rZXJuLXRvb2xzLW5hdGl2ZV9naXQuYmIKaW5kZXggYjM1M2MyMS4uNWMxZDdmNiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tlcm4tdG9vbHMva2Vybi10b29scy1uYXRpdmVfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXJuLXRvb2xzL2tlcm4tdG9vbHMtbmF0aXZlX2dpdC5iYgpAQCAtNCw3ICs0LDcgQEAKIAogREVQRU5EUyA9ICJnaXQtbmF0aXZlIgogCi1TUkNSRVYgPSAiZDY1MjlmODZmYzViY2IzNTE0OTUzZmY5ZmEyZjUxYTNmYmYwM2EwZiIKK1NSQ1JFViA9ICJhZjFhNzc5ZjY2MmM4MWRhNTIxZTRkNjAyZjNjNjQ0NjU0N2QxMmEyIgogUFIgPSAicjEyIgogUFYgPSAiMC4yK2dpdCR7U1JDUFZ9IgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMvMDAwMS1rZXhlYy1maXgtZm9yLVVuaGFuZGxlZC1yZWxhLXJlbG9jYXRpb24tUl9YODZfNjRfUExULnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzLzAwMDEta2V4ZWMtZml4LWZvci1VbmhhbmRsZWQtcmVsYS1yZWxvY2F0aW9uLVJfWDg2XzY0X1BMVC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBjY2VkNS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMvMDAwMS1rZXhlYy1maXgtZm9yLVVuaGFuZGxlZC1yZWxhLXJlbG9jYXRpb24tUl9YODZfNjRfUExULnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSBiOWRlMjFlZjUxYTdjZWFiNzEyMmE3MDdjMTg4NjAyZWFlMjJjNGVlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hyaXMgQ2xheXRvbiA8Y2hyaXMyNTUzQGdvb2dsZW1haWwuY29tPgotRGF0ZTogTW9uLCAyMCBBdWcgMjAxOCAxMjowMDozMSArMDEwMAotU3ViamVjdDogW1BBVENIXSBrZXhlYzogZml4IGZvciAiVW5oYW5kbGVkIHJlbGEgcmVsb2NhdGlvbjogUl9YODZfNjRfUExUMzIiIGVycm9yCi0KLUluIHJlc3BvbnNlIHRvIGEgY2hhbmdlIGluIGJpbnV0aWxzLCBjb21taXQgYjIxZWJmMmZiNGMKLSh4ODY6IFRyZWF0IFJfWDg2XzY0X1BMVDMyIGFzIFJfWDg2XzY0X1BDMzIpIHdhcyBhcHBsaWVkIHRvCi10aGUgbGludXgga2VybmVsIGR1cmluZyB0aGUgNC4xNiBkZXZlbG9wbWVudCBjeWNsZSBhbmQgaGFzCi1zaW5jZSBiZWVuIGJhY2twb3J0ZWQgdG8gZWFybGllciBzdGFibGUga2VybmVsIHNlcmllcy4gVGhlCi1jaGFuZ2UgcmVzdWx0cyBpbiB0aGUgZmFpbHVyZSBtZXNzYWdlIGluICRTVUJKRUNUIHdoZW4KLXJlYm9vdGluZyB2aWEga2V4ZWMuCi0KLUZpeCB0aGlzIGJ5IHJlcGxpY2F0aW5nIHRoZSBjaGFuZ2UgaW4ga2V4ZWMuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnRbaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL2tlcm5lbC9rZXhlYy9rZXhlYy10b29scy5naXQvY29tbWl0Lz9pZD1iOWRlMjFlZjUxYTdjZWFiNzEyMmE3MDdjMTg4NjAyZWFlMjJjNGVlXQotCi1TaWduZWQtb2ZmLWJ5OiBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+Ci1BY2tlZC1ieTogQmFvcXVhbiBIZSA8YmhlQHJlZGhhdC5jb20+Ci1UZXN0ZWQtYnk6IEJodXBlc2ggU2hhcm1hIDxiaHNoYXJtYUByZWRoYXQuY29tPgotQWNrZWQtYnk6IEJodXBlc2ggU2hhcm1hIDxiaHNoYXJtYUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogU2ltb24gSG9ybWFuIDxob3Jtc0B2ZXJnZS5uZXQuYXU+Ci1TaWduZWQtb2ZmLWJ5OiBNaW5nbGkgWXUgPE1pbmdsaS5ZdUB3aW5kcml2ZXIuY29tPgotLS0tCi0ga2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYyB8IDEgKwotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQotCi1kaWZmIC0tZ2l0IGEva2V4ZWMvYXJjaC94ODZfNjQva2V4ZWMtZWxmLXJlbC14ODZfNjQuYyBiL2tleGVjL2FyY2gveDg2XzY0L2tleGVjLWVsZi1yZWwteDg2XzY0LmMKLWluZGV4IDdmZGRlNzMuLmRiODViNDQgMTAwNjQ0Ci0tLS0gYS9rZXhlYy9hcmNoL3g4Nl82NC9rZXhlYy1lbGYtcmVsLXg4Nl82NC5jCi0rKysgYi9rZXhlYy9hcmNoL3g4Nl82NC9rZXhlYy1lbGYtcmVsLXg4Nl82NC5jCi1AQCAtNzksNiArNzksNyBAQCB2b2lkIG1hY2hpbmVfYXBwbHlfZWxmX3JlbChzdHJ1Y3QgbWVtX2VoZHIgKlVOVVNFRChlaGRyKSwKLSAJCQlnb3RvIG92ZXJmbG93OwotIAkJYnJlYWs7Ci0gCWNhc2UgUl9YODZfNjRfUEMzMjogCi0rCWNhc2UgUl9YODZfNjRfUExUMzI6Ci0gCQkqKHVpbnQzMl90ICopbG9jYXRpb24gPSB2YWx1ZSAtIGFkZHJlc3M7Ci0gCQlicmVhazsKLSAJZGVmYXVsdDoKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rZXhlYy9rZXhlYy10b29sc18yLjAuMTcuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiOWI1YWMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xNy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDg4ICswLDAgQEAKLQotU1VNTUFSWSA9ICJLZXhlYyBmYXN0IHJlYm9vdCB0b29scyIKLURFU0NSSVBUSU9OID0gIktleGVjIGlzIGEgZmFzdCByZWJvb3QgZmVhdHVyZSB0aGF0IGxldHMgeW91IHJlYm9vdCB0byBhIG5ldyBMaW51eCBrZXJuZWwiCi1BVVRIT1IgPSAiRXJpYyBCaWVkZXJtYW4iCi1IT01FUEFHRSA9ICJodHRwOi8va2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMva2VybmVsL2tleGVjLyIKLVNFQ1RJT04gPSAia2VybmVsL3VzZXJsYW5kIgotTElDRU5TRSA9ICJHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNWJlZDJmNjBkMzU3NjE4Y2ExNjFhZDUzOWY3YzBhIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2tleGVjL2tleGVjLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9YWYxMGY2YWU0YTg3MTU5NjVlNjQ4YWE2ODdhZDNlMDkiCi1ERVBFTkRTID0gInpsaWIgeHoiCi0KLVNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC91dGlscy9rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2tkdW1wIFwKLSAgICAgICAgICAgZmlsZTovL2tkdW1wLmNvbmYgXAotICAgICAgICAgICBmaWxlOi8va2R1bXAuc2VydmljZSBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXBvd2VycGMtY2hhbmdlLXRoZS1tZW1vcnktc2l6ZS1saW1pdC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXB1cmdhdG9yeS1QYXNzLXItZGlyZWN0bHktdG8tbGlua2VyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTAta2V4ZWMtQVJNLUZpeC1hZGRfYnVmZmVyX3BoeXNfdmlydC1hbGlnbi1pc3N1ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9rZXhlYy14MzIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLVBJRS1kdXJpbmctbGluay5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWtleGVjLWZpeC1mb3ItVW5oYW5kbGVkLXJlbGEtcmVsb2NhdGlvbi1SX1g4Nl82NF9QTFQucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4ZTA3MWNhNDczNjk0YTcxZTRhZTYwZWQ3ZWY2ZjM3NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NTBjODdiYTA0ODY0MWViMDVmOTcxN2Y1NTY3YWNhNTdmMDYzYzI2NjE0OWFlNjYzYjU4YTM0ZTU4NTJkZWFmIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCi0KLWV4cG9ydCBMREZMQUdTID0gIi1MJHtTVEFHSU5HX0xJQkRJUn0iCi1FWFRSQV9PRUNPTkYgPSAiIC0td2l0aC16bGliPXllcyIKLQotZG9fY29tcGlsZV9wcmVwZW5kKCkgewotICAgICMgUmVtb3ZlIHRoZSBwcmVwYWNrYWdlZCBjb25maWcuaCBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcyBpdCBvdmVycmlkZXMKLSAgICAjIHRoZSBzYW1lIGZpbGUgZ2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZSBhbmQgcGxhY2VkIGluIHRoZSBidWlsZCB0cmVlCi0gICAgcm0gLWYgJHtTfS9pbmNsdWRlL2NvbmZpZy5oCi0KLSAgICAjIFJlbW92ZSB0aGUgJyouZCcgZmlsZSB0byBtYWtlIHN1cmUgdGhlIHJlY29tcGlsZSBpcyBPSwotICAgIGZvciBkZXAgaW4gYGZpbmQgJHtCfSAtdHlwZSBmIC1uYW1lICcqLmQnYDsgZG8KLSAgICAgICAgZGVwX25vX2Q9ImBlY2hvICRkZXAgfCBzZWQgJ3MjLmQkIyMnYCIKLSAgICAgICAgIyBSZW1vdmUgZmlsZS5kIHdoZW4gdGhlcmUgaXMgYSBmaWxlLm8KLSAgICAgICAgaWYgWyAtZiAiJGRlcF9ub19kLm8iIF07IHRoZW4KLSAgICAgICAgICAgIHJtIC1mICRkZXAKLSAgICAgICAgZmkKLSAgICBkb25lCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va2R1bXAuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKLQotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KLSAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAKLSAgICAgICAgZmkKLQotICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9L2tkdW1wICR7RH0ke2xpYmV4ZWNkaXJ9L2tkdW1wLWhlbHBlcgotICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQotICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlCi0gICAgICAgIGZpCi19Ci0KLVBBQ0tBR0VTID0rICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCi0KLUFMTE9XX0VNUFRZXyR7UE59ID0gIjEiCi1SUkVDT01NRU5EU18ke1BOfSA9ICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCi0KLUZJTEVTX2tleGVjID0gIiR7c2JpbmRpcn0va2V4ZWMiCi1GSUxFU19rZHVtcCA9ICIke3NiaW5kaXJ9L2tkdW1wIFwKLSAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2tkdW1wLmNvbmYgXAotICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAgXAotICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIgXAotICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlIFwKLSIKLQotRklMRVNfdm1jb3JlLWRtZXNnID0gIiR7c2JpbmRpcn0vdm1jb3JlLWRtZXNnIgotCi1JTklUU0NSSVBUX1BBQ0tBR0VTID0gImtkdW1wIgotSU5JVFNDUklQVF9OQU1FX2tkdW1wID0gImtkdW1wIgotSU5JVFNDUklQVF9QQVJBTVNfa2R1bXAgPSAic3RhcnQgNTYgMiAzIDQgNSAuIHN0b3AgNTYgMCAxIDYgLiIKLQotU1lTVEVNRF9QQUNLQUdFUyA9ICJrZHVtcCIKLVNZU1RFTURfU0VSVklDRV9rZHVtcCA9ICJrZHVtcC5zZXJ2aWNlIgotCi1TRUNVUklUWV9QSUVfQ0ZMQUdTX3JlbW92ZSA9ICItZlBJRSAtcGllIgotCi1DT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKnxhcm0uKnxhYXJjaDY0Lip8cG93ZXJwYy4qfG1pcHMuKiktKGxpbnV4fGZyZWVic2QuKiknCi0KLUlOU0FORV9TS0lQXyR7UE59ID0gImFyY2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva2V4ZWMva2V4ZWMtdG9vbHNfMi4wLjE5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjVjZDlmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2tleGVjL2tleGVjLXRvb2xzXzIuMC4xOS5iYgpAQCAtMCwwICsxLDg3IEBACisKK1NVTU1BUlkgPSAiS2V4ZWMgZmFzdCByZWJvb3QgdG9vbHMiCitERVNDUklQVElPTiA9ICJLZXhlYyBpcyBhIGZhc3QgcmVib290IGZlYXR1cmUgdGhhdCBsZXRzIHlvdSByZWJvb3QgdG8gYSBuZXcgTGludXgga2VybmVsIgorQVVUSE9SID0gIkVyaWMgQmllZGVybWFuIgorSE9NRVBBR0UgPSAiaHR0cDovL2tlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL2tlcm5lbC9rZXhlYy8iCitTRUNUSU9OID0gImtlcm5lbC91c2VybGFuZCIKK0xJQ0VOU0UgPSAiR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYTViZWQyZjYwZDM1NzYxOGNhMTYxYWQ1MzlmN2MwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9rZXhlYy9rZXhlYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PWFmMTBmNmFlNGE4NzE1OTY1ZTY0OGFhNjg3YWQzZTA5IgorREVQRU5EUyA9ICJ6bGliIHh6IgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvdXRpbHMva2VybmVsL2tleGVjL2tleGVjLXRvb2xzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9rZHVtcCBcCisgICAgICAgICAgIGZpbGU6Ly9rZHVtcC5jb25mIFwKKyAgICAgICAgICAgZmlsZTovL2tkdW1wLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1wb3dlcnBjLWNoYW5nZS10aGUtbWVtb3J5LXNpemUtbGltaXQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1wdXJnYXRvcnktUGFzcy1yLWRpcmVjdGx5LXRvLWxpbmtlci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDEwLWtleGVjLUFSTS1GaXgtYWRkX2J1ZmZlcl9waHlzX3ZpcnQtYWxpZ24taXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8va2V4ZWMteDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRGlzYWJsZS1QSUUtZHVyaW5nLWxpbmsucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwNTI0NThmMGEzNWMyYTNiMGQyMzAyY2FhMzMxOGU5ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MTNjOGRlZTkxOGU1ODU1YTRiYTYwZDYwOTM3MTM5MDk3ODE0NGI0YzhkMTVkNjQ0NmNhMDA1N2I3YmM1ZTU4IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK2V4cG9ydCBMREZMQUdTID0gIi1MJHtTVEFHSU5HX0xJQkRJUn0iCitFWFRSQV9PRUNPTkYgPSAiIC0td2l0aC16bGliPXllcyIKKworZG9fY29tcGlsZV9wcmVwZW5kKCkgeworICAgICMgUmVtb3ZlIHRoZSBwcmVwYWNrYWdlZCBjb25maWcuaCBmcm9tIHRoZSBzb3VyY2UgdHJlZSBhcyBpdCBvdmVycmlkZXMKKyAgICAjIHRoZSBzYW1lIGZpbGUgZ2VuZXJhdGVkIGJ5IGNvbmZpZ3VyZSBhbmQgcGxhY2VkIGluIHRoZSBidWlsZCB0cmVlCisgICAgcm0gLWYgJHtTfS9pbmNsdWRlL2NvbmZpZy5oCisKKyAgICAjIFJlbW92ZSB0aGUgJyouZCcgZmlsZSB0byBtYWtlIHN1cmUgdGhlIHJlY29tcGlsZSBpcyBPSworICAgIGZvciBkZXAgaW4gYGZpbmQgJHtCfSAtdHlwZSBmIC1uYW1lICcqLmQnYDsgZG8KKyAgICAgICAgZGVwX25vX2Q9ImBlY2hvICRkZXAgfCBzZWQgJ3MjLmQkIyMnYCIKKyAgICAgICAgIyBSZW1vdmUgZmlsZS5kIHdoZW4gdGhlcmUgaXMgYSBmaWxlLm8KKyAgICAgICAgaWYgWyAtZiAiJGRlcF9ub19kLm8iIF07IHRoZW4KKyAgICAgICAgICAgIHJtIC1mICRkZXAKKyAgICAgICAgZmkKKyAgICBkb25lCit9CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKyAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0va2R1bXAuY29uZiAke0R9JHtzeXNjb25mZGlyfS9zeXNjb25maWcKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgICAgICAgICBpbnN0YWxsIC1EIC1tIDA3NTUgJHtXT1JLRElSfS9rZHVtcCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAKKyAgICAgICAgZmkKKworICAgICAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgorICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDc1NSAke1dPUktESVJ9L2tkdW1wICR7RH0ke2xpYmV4ZWNkaXJ9L2tkdW1wLWhlbHBlcgorICAgICAgICAgICAgICAgIGluc3RhbGwgLUQgLW0gMDY0NCAke1dPUktESVJ9L2tkdW1wLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0va2R1bXAuc2VydmljZQorICAgICAgICAgICAgICAgIHNlZCAtaSAtZSAncyxATElCRVhFQ0RJUkAsJHtsaWJleGVjZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlCisgICAgICAgIGZpCit9CisKK1BBQ0tBR0VTID0rICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCisKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXhlYyBrZHVtcCB2bWNvcmUtZG1lc2ciCisKK0ZJTEVTX2tleGVjID0gIiR7c2JpbmRpcn0va2V4ZWMiCitGSUxFU19rZHVtcCA9ICIke3NiaW5kaXJ9L2tkdW1wIFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vc3lzY29uZmlnL2tkdW1wLmNvbmYgXAorICAgICAgICAgICAgICAgJHtzeXNjb25mZGlyfS9pbml0LmQva2R1bXAgXAorICAgICAgICAgICAgICAgJHtsaWJleGVjZGlyfS9rZHVtcC1oZWxwZXIgXAorICAgICAgICAgICAgICAgJHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9rZHVtcC5zZXJ2aWNlIFwKKyIKKworRklMRVNfdm1jb3JlLWRtZXNnID0gIiR7c2JpbmRpcn0vdm1jb3JlLWRtZXNnIgorCitJTklUU0NSSVBUX1BBQ0tBR0VTID0gImtkdW1wIgorSU5JVFNDUklQVF9OQU1FX2tkdW1wID0gImtkdW1wIgorSU5JVFNDUklQVF9QQVJBTVNfa2R1bXAgPSAic3RhcnQgNTYgMiAzIDQgNSAuIHN0b3AgNTYgMCAxIDYgLiIKKworU1lTVEVNRF9QQUNLQUdFUyA9ICJrZHVtcCIKK1NZU1RFTURfU0VSVklDRV9rZHVtcCA9ICJrZHVtcC5zZXJ2aWNlIgorCitTRUNVUklUWV9QSUVfQ0ZMQUdTX3JlbW92ZSA9ICItZlBJRSAtcGllIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKHg4Nl82NC4qfGkuODYuKnxhcm0uKnxhYXJjaDY0Lip8cG93ZXJwYy4qfG1pcHMuKiktKGxpbnV4fGZyZWVic2QuKiknCisKK0lOU0FORV9TS0lQXyR7UE59ID0gImFyY2giCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLW5hdGl2ZV9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLW5hdGl2ZV9naXQuYmIKaW5kZXggZjBlMjc0ZS4uZjYxMTM0YiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC1uYXRpdmVfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QtbmF0aXZlX2dpdC5iYgpAQCAtNyw5ICs3LDYgQEAKIAogaW5oZXJpdCBuYXRpdmUKIAotU1JDX1VSSSArPSAiZmlsZTovL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2ggXAotICAgICAgICAgICAiCi0KIGRvX2luc3RhbGxfYXBwZW5kICgpewogCWZvciB0b29sIGluIGRlcG1vZCBpbnNtb2QgbHNtb2QgbW9kaW5mbyBtb2Rwcm9iZSBybW1vZAogCWRvCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCmluZGV4IDI5ODg1ZmIuLmU2ODg2MGYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QuaW5jCkBAIC0xNCwxNCArMTQsMTMgQEAKICAgICAgICAgICAgICAgICAgICAiCiBpbmhlcml0IGF1dG90b29scyBndGstZG9jIHBrZ2NvbmZpZyBtYW5wYWdlcwogCi1TUkNSRVYgPSAiYWNhNGVjYTEwM2Q2Njk5NTQzZjdlZDY2MzMzNWMyOGMyZTk5MDhiYiIKK1NSQ1JFViA9ICI1ODEzM2E5NmM4OTRjMDQzZTQ4Yzc0ZGRmMGJmZThkYjkwYmFjNjJmIgogIyBMb29rb3V0IGZvciBQViBidW1wIHRvbyB3aGVuIFNSQ1JFViBpcyBjaGFuZ2VkCi1QViA9ICIyNStnaXQke1NSQ1BWfSIKK1BWID0gIjI2IgogCiBTUkNfVVJJID0gImdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMva2VybmVsL2ttb2Qva21vZC5naXQgXAogICAgICAgICAgICBmaWxlOi8vZGVwbW9kLXNlYXJjaC5jb25mIFwKICAgICAgICAgICAgZmlsZTovL2F2b2lkX3BhcmFsbGVsX3Rlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1PX0NMT0VYRUMucGF0Y2ggXAogICAgICAgICAgICIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvQ2hhbmdlLXRvLWNhbGxpbmctYnN3YXBfLWluc3RlYWQtb2YtaHRvYmUtYW5kLWJlLXRvaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvQ2hhbmdlLXRvLWNhbGxpbmctYnN3YXBfLWluc3RlYWQtb2YtaHRvYmUtYW5kLWJlLXRvaC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjcyMjE4My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL0NoYW5nZS10by1jYWxsaW5nLWJzd2FwXy1pbnN0ZWFkLW9mLWh0b2JlLWFuZC1iZS10b2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1TdWJqZWN0OiBDaGFuZ2UgdG8gY2FsbGluZyBic3dhcF8qIGluc3RlYWQgb2YgaHRvYmUqIGFuZCBiZSp0b2gKLQotV2UgY2FuJ3QgdXNlIGh0b2JlKiBhbmQgYmUqdG9oIGZ1bmN0aW9ucyBiZWNhdXNlIHRoZXkgYXJlIG5vdAotYXZhaWxhYmxlIG9uIG9sZGVyIHZlcnNpb25zIG9mIGdsaWJjLCBGb3IgZXhhbXBsZSwgc2hpcHBlZCBvbiBDZW50b3MgNS41LgotCi1DaGFuZ2UgdG8gZGlyZWN0bHkgY2FsbGluZyBic3dhcF8qIGFzIGRlZmluZWQgaW4rYnl0ZXN3YXAuaC4KLQotVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlCi0KLVNpZ25lZC1vZmYtYnk6IFRpbmcgTGl1IDxiMjg0OTVAZnJlZXNjYWxlLmNvbT4KLVNpZ25lZC1vZmYtYnk6IENoZW4gUWkgPFFpLkNoZW5Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYmttb2QvbGlia21vZC1zaWduYXR1cmUuYyB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jIGIvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jCi1pbmRleCA2ZmMwNmZjLi45MTIxODVhIDEwMDY0NAotLS0tIGEvbGlia21vZC9saWJrbW9kLXNpZ25hdHVyZS5jCi0rKysgYi9saWJrbW9kL2xpYmttb2Qtc2lnbmF0dXJlLmMKLUBAIC0xOCw2ICsxOCw3IEBACi0gICovCi0gCi0gI2luY2x1ZGUgPGVuZGlhbi5oPgotKyNpbmNsdWRlIDxieXRlc3dhcC5oPgotICNpbmNsdWRlIDxpbnR0eXBlcy5oPgotICNpbmNsdWRlIDxzdGRpby5oPgotICNpbmNsdWRlIDxzdGRsaWIuaD4KLUBAIC0xMjcsNyArMTI4LDcgQEAgYm9vbCBrbW9kX21vZHVsZV9zaWduYXR1cmVfaW5mbyhjb25zdCBzdHJ1Y3Qga21vZF9maWxlICpmaWxlLCBzdHJ1Y3Qga21vZF9zaWduYXQKLSAJCQltb2RzaWctPmhhc2ggPj0gUEtFWV9IQVNIX19MQVNUIHx8Ci0gCQkJbW9kc2lnLT5pZF90eXBlID49IFBLRVlfSURfVFlQRV9fTEFTVCkKLSAJCXJldHVybiBmYWxzZTsKLS0Jc2lnX2xlbiA9IGJlMzJ0b2goZ2V0X3VuYWxpZ25lZCgmbW9kc2lnLT5zaWdfbGVuKSk7Ci0rCXNpZ19sZW4gPSBic3dhcF8zMihnZXRfdW5hbGlnbmVkKCZtb2RzaWctPnNpZ19sZW4pKTsKLSAJaWYgKHNpZ19sZW4gPT0gMCB8fAotIAkgICAgc2l6ZSA8IChpbnQ2NF90KShtb2RzaWctPnNpZ25lcl9sZW4gKyBtb2RzaWctPmtleV9pZF9sZW4gKyBzaWdfbGVuKSkKLSAJCXJldHVybiBmYWxzZTsKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvYXZvaWRfcGFyYWxsZWxfdGVzdHMucGF0Y2gKaW5kZXggNWY0NWZjZS4uOTkwYzMzOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwva21vZC9rbW9kL2F2b2lkX3BhcmFsbGVsX3Rlc3RzLnBhdGNoCkBAIC0xLDMgKzEsOCBAQAorRnJvbSBiZTZmODJjNTRmNjk0NjE3YzY0NmNhMWY4YjViY2Y5MzY5NGUyMGFkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVHVkb3IgRmxvcmVhIDx0dWRvci5mbG9yZWFAZW5lYS5jb20+CitEYXRlOiBGcmksIDYgU2VwIDIwMTMgMjE6MTE6NTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0ga21vZDogYXZvaWQgcGFyYWxsZWwtdGVzdHMKKwogQXZvaWQgcGFyYWxsZWwtdGVzdHMgYXMgaXQgcmVtb3ZlCiBidWlsZHRlc3QtVEVTVFMgYW5kIHJ1bnRlc3QtVEVTVFMgdGFyZ2V0cyByZXF1aXJlZCBieSBwdGVzdC4KIEluIGF1dG9tYWtlIDEuMTMuNCBwYXJhbGxlbC10ZXN0cyBpcyBhc3N1bWVkIGJ5IGRlZmF1bHMuCkBAIC01LDE2ICsxMCwxNiBAQAogc2VyaWFsLXRlc3RzIGlzIG5vdyByZXF1aXJlZAogCiBTaWduZWQtb2ZmLWJ5OiBUdWRvciBGbG9yZWEgPHR1ZG9yLmZsb3JlYUBlbmVhLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoZGlzYWJsZSBmZWF0dXJlIGluY29tcGF0aWJsZSB3aXRoIHB0ZXN0KSAKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSAoZGlzYWJsZSBmZWF0dXJlIGluY29tcGF0aWJsZSB3aXRoIHB0ZXN0KQogCiAtLS0KICBjb25maWd1cmUuYWMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiBnaXQvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCi0rKysgZ2l0L2NvbmZpZ3VyZS5hYworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZWU3MjI4My4uNjA5ODBjMCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCiBAQCAtMTQsNyArMTQsNyBAQCBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKICBBQ19TWVNfTEFSR0VGSUxFCiAgQUNfUFJFRklYX0RFRkFVTFQoWy91c3JdKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9maXgtT19DTE9FWEVDLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2ttb2Qva21vZC9maXgtT19DTE9FWEVDLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZDlkNDBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9rbW9kL2ttb2QvZml4LU9fQ0xPRVhFQy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gYmQ0MzM2N2VlZTg2ODA1OTc3MDE4OGZkOWU5ZGIzODUyMGRjNmZmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYmVydCBZYW5nIDxsaWV6aGkueWFuZ0B3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAyMiBKYW4gMjAxNCAwMTowNjo0MCAtMDUwMAotU3ViamVjdDogW1BBVENIXSBsaWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaDogY2hlY2sgd2hldGhlciBPX0NMT0VYRUMgaXMKLSBkZWZpbmVkIG9yIG5vdAotCi1PX0NMT0VYRUMgaXMgaW50cm9kdWNlZCBmcm9tIExpbnV4IDIuNi4yMywgc28gb2xkIGtlcm5lbCBkb2Vzbid0IGhhdmUKLWl0LCB3ZSBuZWVkIGNoZWNrIGJlZm9yZSB1c2UuCi0KLVRoaXMgcGF0Y2ggaXMgbXVjaCBtb3JlIGxpa2UgYSB3b3JrYXJvdW5kLCBzaW5jZSBpdCBtYXkgbmVlZCBmY250bCgpIHVzZQotRkRfQ0xPRVhFQyB0byByZXBsYWNlLgotCi1UaGlzIHByb2JsZW0gd2FzIHJlcG9ydGVkIGJ5ICJUaW5nIExpdSA8YjI4NDk1QGZyZWVzY2FsZS5jb20+IgotU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFlhbmcgPGxpZXpoaS55YW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gbGlia21vZC9saWJrbW9kLWludGVybmFsLmggfCAgICA0ICsrKysKLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCi0KLUluZGV4OiBnaXQvbGlia21vZC9saWJrbW9kLWludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9saWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaAotKysrIGdpdC9saWJrbW9kL2xpYmttb2QtaW50ZXJuYWwuaAotQEAgLTEwLDYgKzEwLDEwIEBACi0gCi0gI2luY2x1ZGUgImxpYmttb2QuaCIKLSAKLSsjaWZuZGVmIE9fQ0xPRVhFQwotKyNkZWZpbmUgT19DTE9FWEVDIDAKLSsjZW5kaWYKLSsKLSBzdGF0aWMgX2Fsd2F5c19pbmxpbmVfIF9wcmludGZfZm9ybWF0XygyLCAzKSB2b2lkCi0gCWttb2RfbG9nX251bGwoc3RydWN0IGttb2RfY3R4ICpjdHgsIGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKSB7fQotIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWZpcm13YXJlL2xpbnV4LWZpcm13YXJlX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1maXJtd2FyZS9saW51eC1maXJtd2FyZV9naXQuYmIKaW5kZXggZmRmOGYxOS4uYWQ3YmFiZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWZpcm13YXJlL2xpbnV4LWZpcm13YXJlX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtZmlybXdhcmUvbGludXgtZmlybXdhcmVfZ2l0LmJiCkBAIC0xMjIsNyArMTIyLDcgQEAKICAgICBmaWxlOi8vTElDRU5DRS54YzQwMDA7bWQ1PTBmZjUxZDJkYzQ5ZmNlMDQ4MTRjOTE1NTA4MTA5MmYwIFwKICAgICBmaWxlOi8vTElDRU5DRS54YzUwMDA7bWQ1PTFlMTcwYzEzMTc1MzIzYzMyYzdmNGQwOTk4ZDUzZjY2IFwKICAgICBmaWxlOi8vTElDRU5DRS54YzUwMDBjO21kNT0xMmIwMmVmYTMwNDlkYjY1ZDUyNGFlYjQxOGRkODdjYSBcCi0gICAgZmlsZTovL1dIRU5DRTttZDU9NjZhYmYwZmI2OWIwOWQ2ZjNkMmRiNjA4ODU5NGM4MDggXAorICAgIGZpbGU6Ly9XSEVOQ0U7bWQ1PWVmMzZkMzM4M2JlY2QxOGYzNmNlMzJkODQxMDkzODZmIFwKICIKIAogIyBUaGVzZSBhcmUgbm90IGNvbW1vbiBsaWNlbnNlcywgc2V0IE5PX0dFTkVSSUNfTElDRU5TRSBmb3IgdGhlbQpAQCAtMTg4LDcgKzE4OCw3IEBACiBOT19HRU5FUklDX0xJQ0VOU0VbRmlybXdhcmUteGM1MDAwY10gPSAiTElDRU5DRS54YzUwMDBjIgogTk9fR0VORVJJQ19MSUNFTlNFW1dIRU5DRV0gPSAiV0hFTkNFIgogCi1TUkNSRVYgPSAiNzEwOTYzZmU1M2VlM2YyMjc1NTZkMzY4MzlkZjM4NThkYWY2ZTIzMiIKK1NSQ1JFViA9ICI3YmMyNDY0NTEzMThiMzUzNmQ5YmZkM2M0ZTQ2ZDU0MWE5ODMxYjMzIgogUEUgPSAiMSIKIFBWID0gIjAuMCtnaXQke1NSQ1BWfSIKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMuaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMuaW5jCmluZGV4IGJlMjE1YWYuLjdmODM4ZjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy5pbmMKQEAgLTM4LDYgKzM4LDggQEAKICAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiMy4wIikKICAgICBlbGlmIG1ham9yID09ICI0IjoKICAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiNC54IikKKyAgICBlbGlmIG1ham9yID09ICI1IjoKKyAgICAgICAgZC5zZXRWYXIoIkhFQURFUl9GRVRDSF9WRVIiLCAiNS54IikKICAgICBlbHNlOgogICAgICAgICBkLnNldFZhcigiSEVBREVSX0ZFVENIX1ZFUiIsICIyLjYiKQogfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1rYnVpbGQtaW5zdGFsbF9oZWFkZXJzLnNoLVN0cmlwLV9VQVBJLWZyb20taWYtZGVmaW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZWJkMzEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy8wMDAxLWtidWlsZC1pbnN0YWxsX2hlYWRlcnMuc2gtU3RyaXAtX1VBUEktZnJvbS1pZi1kZWZpbmUucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA5Y2E2YzZhNTEwYmRhOTA5NTRhYTI1MzI3MTEyMDBiODlkZDFkZjg5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRGF2ZSBNYXJ0aW4gPERhdmUuTWFydGluQGFybS5jb20+CitEYXRlOiBUdWUsIDExIERlYyAyMDE4IDE5OjI2OjQ1ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBrYnVpbGQ6IGluc3RhbGxfaGVhZGVycy5zaDogU3RyaXAgX1VBUEkgZnJvbQorICNpZi1kZWZpbmVkKCkgZ3VhcmRzCisKK2luc3RhbGxfaGVhZGVycy5zaCBrbm93cyBob3cgdG8gc3RyaXAgdGhlIF9VQVBJIHByZWZpeCBmcm9tICNpZmRlZi8KK2lmbmRlZiBhbmQgI2RlZmluZSBkaXJlY3RpdmVzIHVzZWQgdG8gZ3VhcmQgaGVhZGVycyBhZ2FpbnN0IG11bHRpcGxlCitvciBpbmFwcHJvcHJpYXRlIGluY2x1c2lvbi4gIEN1cnJlbnRseSB0aGlzIGRvZXMgbm90IHdvcmsgZm9yIGd1YXJkcworaW4gdGhlICIjaWYgZGVmaW5lZCgpIiBzdHlsZSwgd2hpY2ggbWF5IGJlIG5lZWRlZCBmb3Igbm9uLXRyaXZpYWwKK2Nhc2VzLgorCitUaGlzIHBhdGNoIGFkZHMgc2ltaWxhciBsb2dpYyBzbyB0aGF0IHRoZSBfVUFQSSBwcmVmaXggaXMgYWxzbworc3RyaXBwZWQgZnJvbSBndWFyZCBkaXJlY3RpdmVzIHdyaXR0ZW4gdXNpbmcgIiNpZiBkZWZpbmVkKCkiIGV0Yy4KKworVGhpcyBpcyBub3QgY29tcGxldGVseSBmb29scHJvb2YsIGJ1dCB3aWxsIHdvcmsgZm9yIHNpbXBsZSBjYXNlcyBvZgordXNpbmcgI2lmIGRlZmluZWQoKSB0byBndWFyZCBhZ2FpbnN0IGluYXBwcm9wcmlhdGUgaGVhZGVyIGluY2x1c2lvbi4KKworU2lnbmVkLW9mZi1ieTogRGF2ZSBNYXJ0aW4gPERhdmUuTWFydGluQGFybS5jb20+CitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAd2luZHJpdmVyLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vd3d3LnNwaW5pY3MubmV0L2xpc3RzL2FybS1rZXJuZWwvbXNnNjk0ODAwLmh0bWxdCistLS0KKyBzY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2ggYi9zY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaAoraW5kZXggNTkzZjg4NzljNjQxLi5mZTFkM2ZjMGQzM2EgMTAwNzU1CistLS0gYS9zY3JpcHRzL2hlYWRlcnNfaW5zdGFsbC5zaAorKysrIGIvc2NyaXB0cy9oZWFkZXJzX2luc3RhbGwuc2gKK0BAIC0zOCw2ICszOCw3IEBAIGRvCisgCQktZSAncy8oXnxbXmEtekEtWjAtOV0pX19wYWNrZWQoW15hLXpBLVowLTlfXXwkKS9cMV9fYXR0cmlidXRlX18oKHBhY2tlZCkpXDIvZycgXAorIAkJLWUgJ3MvKF58W1s6c3BhY2U6XShdKShpbmxpbmV8YXNtfHZvbGF0aWxlKShbWzpzcGFjZTpdKF18JCkvXDFfX1wyX19cMy9nJyBcCisgCQktZSAnc0AjKGlmbmRlZnxkZWZpbmV8ZW5kaWZbWzpzcGFjZTpdXSovWypdKVtbOnNwYWNlOl1dKl9VQVBJQCNcMSBAJyBcCisrCQktZSAnOjE7cy8oIyhpZnxlbGlmKSguKlteQS1aYS16MC05X10pZGVmaW5lZFwoW1s6c3BhY2U6XV0qKV9VQVBJL1wxLzt0MScgXAorIAkJIiRTUkNESVIvJGkiID4gIiRPVVRESVIvJEZJTEUuc2VkIiB8fCBleGl0IDEKKyAJc2NyaXB0cy91bmlmZGVmIC1VX19LRVJORUxfXyAtRF9fRVhQT1JURURfSEVBREVSU19fICIkT1VURElSLyRGSUxFLnNlZCIgXAorIAkJPiAiJE9VVERJUi8kRklMRSIKKy0tIAorMi41LjAKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnMvMDAwMS1zY3JpcHRzLVVzZS1maXhlZC1pbnB1dC1hbmQtb3V0cHV0LWZpbGVzLWluc3RlYWQtb2YtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1ZGVkNjAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVycy8wMDAxLXNjcmlwdHMtVXNlLWZpeGVkLWlucHV0LWFuZC1vdXRwdXQtZmlsZXMtaW5zdGVhZC1vZi0ucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSA2OTRlYmE3YmI5NzRmNmI4YmQzMDg4MDRjYjI0MzUwMTUwMTA4YjJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFdlZCwgMjEgTm92IDIwMTggMTU6MTI6NDMgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gc2NyaXB0czogVXNlIGZpeGVkIGlucHV0IGFuZCBvdXRwdXQgZmlsZXMgaW5zdGVhZCBvZiBwaXBlIGZvciBoZXJlLWRvYworCitUaGVyZSB3YXMgYSBidWcgb2YgImFzIiBpbiBiaW51dGlscyB0aGF0IHdoZW4gaXQgY2hlY2tzIGlmIHRoZSBpbnB1dCBmaWxlIGFuZAorb3V0cHV0IGZpbGUgYXJlIHRoZSBzYW1lIG9uZSwgaXQgd291bGQgbm90IGNoZWNrIGlmIHRoZXkgYXJlIG9uIHRoZSBzYW1lIGJsb2NrCitkZXZpY2UuIFRoZSBjaGVjayBpcyBpbnRyb2R1Y2VkIGJ5IHRoZSBmb2xsb3dpbmcgY29tbWl0IGluIHYyLjMxLgorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPQorNjdmODQ2YjU5YjMyZjNkNzA0YzYwMTY2OTQwOWMyNTg0MzgzZmVhOQorCitUaGUgaGVyZS1kb2MgdXNhZ2UgaW4gdGhpcyBzY3JpcHQgY3JlYXRlcyB0ZW1wb3JhcnkgZmlsZSBpbiAvdG1wLiBXaGVuIHdlIHJ1biBpbgorYW4gZW52aXJvbm1lbnQgd2hlcmUgL3RtcCBoYXMgcmFyZWx5IGJlZW4gdXNlZCwgdGhlIG5ld2x5IGNyZWF0ZWQgdGVtcG9yYXJ5IGZpbGUKK21heSBoYXZlIGEgdmVyeSBsb3cgaW5vZGUgbnVtYmVyLiBJZiB0aGUgaW5vZGUgbnVtYmVyIHdhcyA2IHdoaWNoIGlzIHRoZSBzYW1lIGFzCisvZGV2L251bGwsIHRoZSBhcyB3b3VsZCB3cm9uZ2x5IHRoaW5rIHRoZSBpbnB1dCBmaWxlIGFuZCB0aGUgb3V0cHV0IGZpbGUgYXJlIHRoZQorc2FtZSBhbmQgcmVwb3J0IHRoZSBmb2xsb3dpbmcgZXJyb3IuCisKKyoqKiBDb21waWxlciBsYWNrcyBhc20tZ290byBzdXBwb3J0Li4gU3RvcC4KKworT25lIG9ic2VydmVkIGNhc2UgaGFwcGVuZWQgaW4gZG9ja2VyIHdoZXJlIHRoZSAvdG1wIGNvdWxkIGJlIHNvIHJhcmVseSB1c2VkIHRoYXQKK3ZlcnkgbG93IG51bWJlciBpbm9kZSBtYXkgYmUgYWxsb2NhdGVkIGFuZCB0cmlnZ2VycyB0aGUgZXJyb3IuCisKK1RoZSBmaXggYmVsb3cgZm9yIHRoZSBidWcgb25seSBleGlzdHMgb24gdGhlIG1hc3RlciBicmFuY2ggb2YgYmludXRpbHMgc28gZmFyCithbmQgaGFzIG5vdCBiZWVuIHJlbGVhc2VkIGZyb20gdXBzdHJlYW0uIEFzIHRoZSBjb252aWN0IGlzIGludHJvZHVjZWQgc2luY2UKK3YyLjMxLCBvbmx5IHYyLjMxIGlzIGFmZmVjdGVkLgorCitodHRwczovL3NvdXJjZXdhcmUub3JnL2dpdC9naXR3ZWIuY2dpP3A9YmludXRpbHMtZ2RiLmdpdDthPWNvbW1pdDtoPQorMmE1MDM2NmRlZDMyOWJmYjM5ZDM4NzI1MzQ1MGM5ZDUzMDJjMzUwMworCitXaGVuIGJ1aWxkaW5nIGxpbnV4LWxpYmMtaGVhZGVycyB3ZSBuZWVkIHRvIHVzZSAiYXMiIGluIGJpbnV0aWxzIHdoaWNoIGRvZXMgbm90Citjb250YWluIHRoZSBmaXggZm9yIHRoZSBtb21lbnQuIFRvIHdvcmsgYXJvdW5kIHRoZSBlcnJvciwgd2UgY3JlYXRlIGEgZml4ZWQKK3RlbXBvcmFyeSBmaWxlIHRvIGNvbnRhaW4gdGhlIHByb2dyYW0gYmVpbmcgdGVzdGVkLgorCitUaGlzIHBhdGNoIGFsc28gcmVtb3ZlcyAiPi9kZXYvbnVsbCAyPiYxIiBzbyB3ZSB3aWxsIGhhdmUgbW9yZSBkaXJlY3QgZXJyb3IKK2luZm9ybWF0aW9uIGluIGNhc2Ugc29tZXRoaW5nIGVsc2Ugd3JvbmcgaGFwcGVuZWQuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbQSB3b3JrIGFyb3VuZCBmb3IgYmludXRpbHMgdjIuMzFdCisKK1NpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+CistLS0KKyBzY3JpcHRzL2djYy1nb3RvLnNoIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NjcmlwdHMvZ2NjLWdvdG8uc2ggYi9zY3JpcHRzL2djYy1nb3RvLnNoCitpbmRleCA4Yjk4MGZiMjIuLmQyNTZhOTQzOCAxMDA3NTUKKy0tLSBhL3NjcmlwdHMvZ2NjLWdvdG8uc2gKKysrKyBiL3NjcmlwdHMvZ2NjLWdvdG8uc2gKK0BAIC0zLDcgKzMsNyBAQAorICMgVGVzdCBmb3IgZ2NjICdhc20gZ290bycgc3VwcG9ydAorICMgQ29weXJpZ2h0IChDKSAyMDEwLCBKYXNvbiBCYXJvbiA8amJhcm9uQHJlZGhhdC5jb20+CisgCistY2F0IDw8ICJFTkQiIHwgJEAgLXggYyAtIC1mbm8tUElFIC1jIC1vIC9kZXYvbnVsbAorK2NhdCA8PCAiRU5EIiA+IC4vaW5wdXQKKyBpbnQgbWFpbih2b2lkKQorIHsKKyAjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKQorQEAgLTIwLDMgKzIwLDYgQEAgZW50cnk6CisgCXJldHVybiAwOworIH0KKyBFTkQKKysKKyskQCAteCBjIC4vaW5wdXQgLWZuby1QSUUgLWMgLW8gLi9vdXRwdXQKKytybSAuL2lucHV0IC4vb3V0cHV0CistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc180LjE4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNC4xOC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI3YmVlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgtbGliYy1oZWFkZXJzL2xpbnV4LWxpYmMtaGVhZGVyc180LjE4LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotcmVxdWlyZSBsaW51eC1saWJjLWhlYWRlcnMuaW5jCi0KLVNSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICJcCi0gICAgZmlsZTovLzAwMDEtbGliYy1jb21wYXQuaC1maXgtc29tZS1pc3N1ZXMtYXJpc2luZy1mcm9tLWluNi5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMi1saWJjLWNvbXBhdC5oLXByZXZlbnQtcmVkZWZpbml0aW9uLW9mLXN0cnVjdC1ldGhoZHIucGF0Y2ggXAotICAgIGZpbGU6Ly8wMDAzLXJlbW92ZS1pbmNsdXNpb24tb2Ytc3lzaW5mby5oLWluLWtlcm5lbC5oLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1saWJjLWNvbXBhdC5oLW11c2wtX2RvZXNfLWRlZmluZS1JRkZfTE9XRVJfVVAtRE9STUFOLnBhdGNoIFwKLSAgICBmaWxlOi8vMDAwMS1pZl9ldGhlci1tb3ZlLW11c2xjLWV0aGhkci1wcm90ZWN0aW9uLXRvLXVhcGktZmlsZS5wYXRjaCBcCi0gICAgZmlsZTovLzAwMDEtaW5jbHVkZS1saW51eC1zdGRkZWYuaC1pbi1zd2FiLmgtdWFwaS1oZWFkZXIucGF0Y2ggXAotICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiYmVlNWZlNTNlZTFjMzE0MmI4ZjBjMTJjMGQzMzQ4ZjkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTlkOGJjZjQ5ZWY1MzBjZDRlMzY0YTQ1YjRhMjJmYTcwNzE0YjcwMzQ5YzgxMDBlNzMwODQ4OGUyNmYxZWFmMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC1saWJjLWhlYWRlcnMvbGludXgtbGliYy1oZWFkZXJzXzUuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzYxMjBjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4LWxpYmMtaGVhZGVycy9saW51eC1saWJjLWhlYWRlcnNfNS4wLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgbGludXgtbGliYy1oZWFkZXJzLmluYworCitTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiXAorICAgIGZpbGU6Ly8wMDAxLWxpYmMtY29tcGF0LmgtZml4LXNvbWUtaXNzdWVzLWFyaXNpbmctZnJvbS1pbjYuaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDItbGliYy1jb21wYXQuaC1wcmV2ZW50LXJlZGVmaW5pdGlvbi1vZi1zdHJ1Y3QtZXRoaGRyLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMy1yZW1vdmUtaW5jbHVzaW9uLW9mLXN5c2luZm8uaC1pbi1rZXJuZWwuaC5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtbGliYy1jb21wYXQuaC1tdXNsLV9kb2VzXy1kZWZpbmUtSUZGX0xPV0VSX1VQLURPUk1BTi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDEtaWZfZXRoZXItbW92ZS1tdXNsYy1ldGhoZHItcHJvdGVjdGlvbi10by11YXBpLWZpbGUucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWluY2x1ZGUtbGludXgtc3RkZGVmLmgtaW4tc3dhYi5oLXVhcGktaGVhZGVyLnBhdGNoIFwKKyAgICIKKworU1JDX1VSSV9hcHBlbmQgPSAiXAorICAgIGZpbGU6Ly8wMDAxLXNjcmlwdHMtVXNlLWZpeGVkLWlucHV0LWFuZC1vdXRwdXQtZmlsZXMtaW5zdGVhZC1vZi0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWtidWlsZC1pbnN0YWxsX2hlYWRlcnMuc2gtU3RyaXAtX1VBUEktZnJvbS1pZi1kZWZpbmUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzM4MWNlOGFhYzgwYTAxNDQ4ZTA2NWNlNzk1YzE5YzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDM3YjE0MWE2NDk5MTU5ZjVhNzI4MmQ1ZWI0YjJiZTA1NWY4ZTg2MmNjY2U0NGQ3NDY0ZTg3NTljMzFhMmU0MyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9rZXJuZWwtZGV2c3JjLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKaW5kZXggMzYxYWQyMS4uNjlhOGVhZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2tlcm5lbC1kZXZzcmMuYmIKQEAgLTMyLDcgKzMyLDcgQEAKIAogUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKIAotS0VSTkVMX0JVSUxEX1JPT1Q9Ii9saWIvbW9kdWxlcy8iCitLRVJORUxfQlVJTERfUk9PVD0iJHtub25hcmNoX2Jhc2VfbGliZGlyfS9tb2R1bGVzLyIKIAogZG9faW5zdGFsbCgpIHsKICAgICBrZXJuZWxkaXI9JHtEfSR7S0VSTkVMX0JVSUxEX1JPT1R9JHtLRVJORUxfVkVSU0lPTn0KQEAgLTQ4LDcgKzQ4LDcgQEAKICAgICBta2RpciAtcCAke0R9L3Vzci9zcmMKICAgICAoCiAJY2QgJHtEfS91c3Ivc3JjCi0JbG4gLXMgJHtLRVJORUxfQlVJTERfUk9PVH0ke0tFUk5FTF9WRVJTSU9OfS9zb3VyY2Uga2VybmVsCisJbG5yICR7RH0ke0tFUk5FTF9CVUlMRF9ST09UfSR7S0VSTkVMX1ZFUlNJT059L3NvdXJjZSBrZXJuZWwKICAgICApCiAKICAgICAjIGZvciBvbiB0YXJnZXQgcHVycG9zZXMsIHdlIHVuaWZ5IGJ1aWxkIGFuZCBzb3VyY2UKQEAgLTE1MCw2ICsxNTAsMTMgQEAKICAgICAgICAgICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL2FybTY0L2tlcm5lbC9tb2R1bGUubGRzICRrZXJuZWxkaXIvYnVpbGQvCiAJZmkKIAorCWlmIFsgIiR7QVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KKwkgICAgIyA1LjAgbmVlZHMgdGhlc2UgZmlsZXMsIGJ1dCBkb24ndCBlcnJvciBpZiB0aGV5IGFyZW4ndCBwcmVzZW50IGluIHRoZSBzb3VyY2UKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwgJGtlcm5lbGRpci9idWlsZC8gMj4vZGV2L251bGwgfHwgOgorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC8ke0FSQ0h9L2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsdGJsLnNoICRrZXJuZWxkaXIvYnVpbGQvIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbGhkci5zaCAka2VybmVsZGlyL2J1aWxkLyAyPi9kZXYvbnVsbCB8fCA6CisJZmkKKwogCSMgaW5jbHVkZSB0aGUgbWFjaGluZSBzcGVjaWZpYyBoZWFkZXJzIGZvciBBUk0gdmFyaWFudHMsIGlmIGF2YWlsYWJsZS4KIAlpZiBbICIke0FSQ0h9IiA9ICJhcm0iIF07IHRoZW4KIAkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvJHtBUkNIfS9tYWNoLSovaW5jbHVkZSAka2VybmVsZGlyL2J1aWxkLwpAQCAtMTU3LDcgKzE2NCwxMiBAQAogCSAgICAjIGluY2x1ZGUgYSBmZXcgZmlsZXMgZm9yICdtYWtlIHByZXBhcmUnCiAJICAgIGNwIC1hIC0tcGFyZW50cyBhcmNoL2FybS90b29scy9nZW4tbWFjaC10eXBlcyAka2VybmVsZGlyL2J1aWxkLwogCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm0vdG9vbHMvbWFjaC10eXBlcyAka2VybmVsZGlyL2J1aWxkLwotCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9hcm0vdG9vbHMvc3lzY2FsbCogJGtlcm5lbGRpci9idWlsZC8KKworCSAgICAjIEFSTSBzeXNjYWxsIHRhYmxlIHRvb2xzIG9ubHkgZXhpc3QgZm9yIGtlcm5lbHMgdjQuMTAgb3IgbGF0ZXIKKyAgICAgICAgICAgIFNZU0NBTExfVE9PTFM9JChmaW5kIGFyY2gvYXJtL3Rvb2xzIC1uYW1lICJzeXNjYWxsKiIpCisgICAgICAgICAgICBpZiBbIC1uICIkU1lTQ0FMTF9UT09MUyIgXSA7IHRoZW4KKwkgICAgICAgIGNwIC1hIC0tcGFyZW50cyAkU1lTQ0FMTF9UT09MUyAka2VybmVsZGlyL2J1aWxkLworICAgICAgICAgICAgZmkKIAogICAgICAgICAgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvYXJtL2tlcm5lbC9tb2R1bGUubGRzICRrZXJuZWxkaXIvYnVpbGQvCiAJZmkKQEAgLTIwOSw2ICsyMjEsOSBAQAogCSAgICBjcCAtYSAtLXBhcmVudHMga2VybmVsL3RpbWUvdGltZWNvbnN0LmJjICRrZXJuZWxkaXIvYnVpbGQKIAkgICAgY3AgLWEgLS1wYXJlbnRzIGtlcm5lbC9ib3VuZHMuYyAka2VybmVsZGlyL2J1aWxkCiAJICAgIGNwIC1hIC0tcGFyZW50cyBLYnVpbGQgJGtlcm5lbGRpci9idWlsZAorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9taXBzL2tlcm5lbC9zeXNjYWxscy8qLnNoICRrZXJuZWxkaXIvYnVpbGQgMj4vZGV2L251bGwgfHwgOgorCSAgICBjcCAtYSAtLXBhcmVudHMgYXJjaC9taXBzL2tlcm5lbC9zeXNjYWxscy8qLnRibCAka2VybmVsZGlyL2J1aWxkIDI+L2Rldi9udWxsIHx8IDoKKwkgICAgY3AgLWEgLS1wYXJlbnRzIGFyY2gvbWlwcy90b29scy9lbGYtZW50cnkuYyAka2VybmVsZGlyL2J1aWxkIDI+L2Rldi9udWxsIHx8IDoKIAlmaQogCiAgICAgICAgICMgcmVxdWlyZWQgdG8gYnVpbGQgc2NyaXB0cy9zZWxpbnV4L2dlbmhlYWRlcnMvZ2VuaGVhZGVycwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLWRldi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1kZXYuYmIKaW5kZXggMjNjYjM1NS4uYWU4YzM0MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLWRldi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tZGV2LmJiCkBAIC0zMCw3ICszMCw3IEBACiBTUkNSRVZfbWFjaGluZSA/PSAnJHtAb2UudXRpbHMuY29uZGl0aW9uYWwoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIsICJsaW51eC15b2N0by1kZXYiLCAiJHtBVVRPUkVWfSIsICIyOTU5NDQwNGQ3ZmU3M2NkODBlYWE0ZWU4YzQzZGNjNTM5NzBjNjBlIiwgZCl9JwogU1JDUkVWX21ldGEgPz0gJyR7QG9lLnV0aWxzLmNvbmRpdGlvbmFsKCJQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwiLCAibGludXgteW9jdG8tZGV2IiwgIiR7QVVUT1JFVn0iLCAiMjk1OTQ0MDRkN2ZlNzNjZDgwZWFhNGVlOGM0M2RjYzUzOTcwYzYwZSIsIGQpfScKIAotTElOVVhfVkVSU0lPTiA/PSAiNC4xOS1yYysiCitMSU5VWF9WRVJTSU9OID89ICI1LjAtcmMrIgogTElOVVhfVkVSU0lPTl9FWFRFTlNJT04gPz0gIi15b2N0b2Rldi0ke0xJTlVYX0tFUk5FTF9UWVBFfSIKIFBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF80LjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxODlmYzguLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1LQlJBTkNIID89ICJ2NC4xNC9zdGFuZGFyZC9wcmVlbXB0LXJ0L2Jhc2UiCi0KLXJlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCi0KLSMgU2tpcCBwcm9jZXNzaW5nIG9mIHRoaXMgcmVjaXBlIGlmIGl0IGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyB0aGUKLSMgUFJFRkVSUkVEX1BST1ZJREVSIGZvciB2aXJ0dWFsL2tlcm5lbC4gVGhpcyBhdm9pZHMgZXJyb3JzIHdoZW4gdHJ5aW5nCi0jIHRvIGJ1aWxkIG11bHRpcGxlIHZpcnR1YWwva2VybmVsIHByb3ZpZGVycywgZS5nLiBhcyBkZXBlbmRlbmN5IG9mCi0jIGNvcmUtaW1hZ2UtcnQtc2RrLCBjb3JlLWltYWdlLXJ0LgotcHl0aG9uICgpIHsKLSAgICBpZiBkLmdldFZhcigiS0VSTkVMX1BBQ0tBR0VfTkFNRSIpID09ICJrZXJuZWwiIGFuZCBkLmdldFZhcigiUFJFRkVSUkVEX1BST1ZJREVSX3ZpcnR1YWwva2VybmVsIikgIT0gImxpbnV4LXlvY3RvLXJ0IjoKLSAgICAgICAgcmFpc2UgYmIucGFyc2UuU2tpcFJlY2lwZSgiU2V0IFBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCB0byBsaW51eC15b2N0by1ydCB0byBlbmFibGUgaXQiKQotfQotCi1TUkNSRVZfbWFjaGluZSA/PSAiODJhYzdiMmI4MDQ4YjUzNzQ4MWJmMTZiOGFjZGExY2M5YmZlOTU2NSIKLVNSQ1JFVl9tZXRhID89ICI2YTMyNTRlN2IzNzBjYmI4NmMxZjczMzc5ZGNmMzg4ODVjMWM2OWUwIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDticmFuY2g9JHtLQlJBTkNIfTtuYW1lPW1hY2hpbmUgXAotICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTQuMTQ7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKLQotTElOVVhfVkVSU0lPTiA/PSAiNC4xNC43OSIKLQotREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCi1ERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKLQotUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKLQotS01FVEEgPSAia2VybmVsLW1ldGEiCi1LQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKLQotTElOVVhfS0VSTkVMX1RZUEUgPSAicHJlZW1wdC1ydCIKLQotQ09NUEFUSUJMRV9NQUNISU5FID0gIihxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11cHBjfHFlbXVtaXBzKSIKLQotS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgotCi0jIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKLUtFUk5FTF9FWFRSQV9GRUFUVVJFUyA/PSAiZmVhdHVyZXMvbmV0ZmlsdGVyL25ldGZpbHRlci5zY2MgZmVhdHVyZXMvdGFza3N0YXRzL3Rhc2tzdGF0cy5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0tFUk5FTF9FWFRSQV9GRUFUVVJFU30iCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBjZmcvdmlydGlvLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Nj0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODYtNjQ9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNC4xOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjE2NDBkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXJ0XzQuMTkuYmIKQEAgLTAsMCArMSw0MyBAQAorS0JSQU5DSCA/PSAidjQuMTkvc3RhbmRhcmQvcHJlZW1wdC1ydC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIFNraXAgcHJvY2Vzc2luZyBvZiB0aGlzIHJlY2lwZSBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgdGhlCisjIFBSRUZFUlJFRF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwuIFRoaXMgYXZvaWRzIGVycm9ycyB3aGVuIHRyeWluZworIyB0byBidWlsZCBtdWx0aXBsZSB2aXJ0dWFsL2tlcm5lbCBwcm92aWRlcnMsIGUuZy4gYXMgZGVwZW5kZW5jeSBvZgorIyBjb3JlLWltYWdlLXJ0LXNkaywgY29yZS1pbWFnZS1ydC4KK3B5dGhvbiAoKSB7CisgICAgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSA9PSAia2VybmVsIiBhbmQgZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIpICE9ICJsaW51eC15b2N0by1ydCI6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlNldCBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgdG8gbGludXgteW9jdG8tcnQgdG8gZW5hYmxlIGl0IikKK30KKworU1JDUkVWX21hY2hpbmUgPz0gIjJjNmU0NGU0NzZiZDI5N2Q2NWQ1Y2IxYjVmNTUzOGQzMDNmYzA1YTAiCitTUkNSRVZfbWV0YSA/PSAiZDg1ZjA3ZTAzYzk4MGVjYTVmZmQ1YmEwNTg5ODVkNmVkM2E4MzgwMSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE5O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJwcmVlbXB0LXJ0IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NHxxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXBwY3xxZW11bWlwcykiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIGZlYXR1cmVzL3Rhc2tzdGF0cy90YXNrc3RhdHMuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by1ydF81LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YzM2OTgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tcnRfNS4wLmJiCkBAIC0wLDAgKzEsNDMgQEAKK0tCUkFOQ0ggPz0gInY1LjAvc3RhbmRhcmQvcHJlZW1wdC1ydC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIFNraXAgcHJvY2Vzc2luZyBvZiB0aGlzIHJlY2lwZSBpZiBpdCBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgYXMgdGhlCisjIFBSRUZFUlJFRF9QUk9WSURFUiBmb3IgdmlydHVhbC9rZXJuZWwuIFRoaXMgYXZvaWRzIGVycm9ycyB3aGVuIHRyeWluZworIyB0byBidWlsZCBtdWx0aXBsZSB2aXJ0dWFsL2tlcm5lbCBwcm92aWRlcnMsIGUuZy4gYXMgZGVwZW5kZW5jeSBvZgorIyBjb3JlLWltYWdlLXJ0LXNkaywgY29yZS1pbWFnZS1ydC4KK3B5dGhvbiAoKSB7CisgICAgaWYgZC5nZXRWYXIoIktFUk5FTF9QQUNLQUdFX05BTUUiKSA9PSAia2VybmVsIiBhbmQgZC5nZXRWYXIoIlBSRUZFUlJFRF9QUk9WSURFUl92aXJ0dWFsL2tlcm5lbCIpICE9ICJsaW51eC15b2N0by1ydCI6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBSZWNpcGUoIlNldCBQUkVGRVJSRURfUFJPVklERVJfdmlydHVhbC9rZXJuZWwgdG8gbGludXgteW9jdG8tcnQgdG8gZW5hYmxlIGl0IikKK30KKworU1JDUkVWX21hY2hpbmUgPz0gIjA2ZTFmZjc5ZWE5ZWZlZjA1MjQwNGVlMTk4OWNhZTAzOGIyOGU5NTQiCitTUkNSRVZfbWV0YSA/PSAiNzA1NDU3ODM3ZTdkZGQyN2U0ZTJlY2Y2ZDNkYmQyNTViMWFhZjg0OCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by01LjA7ZGVzdHN1ZmZpeD0ke0tNRVRBfSIKKworTElOVVhfVkVSU0lPTiA/PSAiNS4wLjMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitMSU5VWF9LRVJORUxfVFlQRSA9ICJwcmVlbXB0LXJ0IgorCitDT01QQVRJQkxFX01BQ0hJTkUgPSAiKHFlbXV4ODZ8cWVtdXg4Ni02NHxxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXBwY3xxZW11bWlwcykiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIGZlYXR1cmVzL3Rhc2tzdGF0cy90YXNrc3RhdHMuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MWY1YzQ3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1LQlJBTkNIID89ICJ2NC4xNC9zdGFuZGFyZC90aW55L2Jhc2UiCi1MSU5VWF9LRVJORUxfVFlQRSA9ICJ0aW55IgotS0NPTkZJR19NT0RFID0gIi0tYWxsbm9jb25maWciCi0KLXJlcXVpcmUgcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCi0KLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTQuNzkiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgotREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLUtNRVRBID0gImtlcm5lbC1tZXRhIgotS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCi0KLVNSQ1JFVl9tYWNoaW5lID89ICI2Y2UxN2VhZTVkOTYyYjMwODQ2YTUyNTg5NTYyNDY0MzhkNjhkNjBhIgotU1JDUkVWX21ldGEgPz0gIjZhMzI1NGU3YjM3MGNiYjg2YzFmNzMzNzlkY2YzODg4NWMxYzY5ZTAiCi0KLVBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCi0gICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNC4xNDtkZXN0c3VmZml4PSR7S01FVEF9IgotCi1DT01QQVRJQkxFX01BQ0hJTkUgPSAicWVtdXg4NnxxZW11eDg2LTY0IgotCi0jIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKLUtFUk5FTF9GRUFUVVJFUyA9ICIiCi0KLUtFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by10aW55XzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMTMyY2EKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV80LjE5LmJiCkBAIC0wLDAgKzEsMzIgQEAKK0tCUkFOQ0ggPz0gInY0LjE5L3N0YW5kYXJkL3RpbnkvYmFzZSIKK0tCUkFOQ0hfcWVtdWFybSAgPz0gInY0LjE5L3N0YW5kYXJkL3RpbnkvYXJtLXZlcnNhdGlsZS05MjZlanMiCisKK0xJTlVYX0tFUk5FTF9UWVBFID0gInRpbnkiCitLQ09ORklHX01PREUgPSAiLS1hbGxub2NvbmZpZyIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworTElOVVhfVkVSU0lPTiA/PSAiNC4xOS4zMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiZWE4MTVlZTI3OTViMmY0MjMwODI2YzBjNmI4ODE0IgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitTUkNSRVZfbWFjaGluZV9xZW11YXJtID89ICIwM2ViNjEwNjk5MDQ5OGU4NjI5ODY0NmM2ODJmY2U5ZmM2MWYyMTMxIgorU1JDUkVWX21hY2hpbmUgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWV0YSA/PSAiZDg1ZjA3ZTAzYzk4MGVjYTVmZmQ1YmEwNTg5ODVkNmVkM2E4MzgwMSIKKworUFYgPSAiJHtMSU5VWF9WRVJTSU9OfStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9saW51eC15b2N0by5naXQ7YnJhbmNoPSR7S0JSQU5DSH07bmFtZT1tYWNoaW5lIFwKKyAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE5O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjUiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0ZFQVRVUkVTID0gIiIKKworS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLXRpbnlfNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjNjA1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8tdGlueV81LjAuYmIKQEAgLTAsMCArMSwzMiBAQAorS0JSQU5DSCA/PSAidjUuMC9zdGFuZGFyZC90aW55L2Jhc2UiCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NS4wL3N0YW5kYXJkL3RpbnkvYXJtLXZlcnNhdGlsZS05MjZlanMiCisKK0xJTlVYX0tFUk5FTF9UWVBFID0gInRpbnkiCitLQ09ORklHX01PREUgPSAiLS1hbGxub2NvbmZpZyIKKworcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKKworTElOVVhfVkVSU0lPTiA/PSAiNS4wLjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKKworREVQRU5EUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0FSQ0gnLCAneDg2JywgJ2VsZnV0aWxzLW5hdGl2ZScsICcnLCBkKX0iCitERVBFTkRTICs9ICJvcGVuc3NsLW5hdGl2ZSB1dGlsLWxpbnV4LW5hdGl2ZSIKKworS01FVEEgPSAia2VybmVsLW1ldGEiCitLQ09ORl9CU1BfQVVESVRfTEVWRUwgPSAiMiIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiYjA0NzcyNzk4NzdiYjJiNWNjYTZlYzQ5YzY0ZTkzMTkwMWZmMjAyMiIKK1NSQ1JFVl9tYWNoaW5lID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21ldGEgPz0gIjcwNTQ1NzgzN2U3ZGRkMjdlNGUyZWNmNmQzZGJkMjU1YjFhYWY4NDgiCisKK1BWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O2JyYW5jaD0ke0tCUkFOQ0h9O25hbWU9bWFjaGluZSBcCisgICAgICAgICAgIGdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3lvY3RvLWtlcm5lbC1jYWNoZTt0eXBlPWttZXRhO25hbWU9bWV0YTticmFuY2g9eW9jdG8tNS4wO2Rlc3RzdWZmaXg9JHtLTUVUQX0iCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11eDg2fHFlbXV4ODYtNjR8cWVtdWFybXxxZW11YXJtdjUiCisKKyMgRnVuY3Rpb25hbGl0eSBmbGFncworS0VSTkVMX0ZFQVRVUkVTID0gIiIKKworS0VSTkVMX0RFVklDRVRSRUVfcWVtdWFybSA9ICJ2ZXJzYXRpbGUtcGIuZHRiIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKaW5kZXggMWViZmI2MC4uZjE5MTk0NiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG8uaW5jCkBAIC0yNiw2ICsyNiwxMCBAQAogS0VSTkVMX0NDX2FwcGVuZF9uaW9zMiA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCiBLRVJORUxfTERfYXBwZW5kX25pb3MyID0gIiAke1RPT0xDSEFJTl9PUFRJT05TfSIKIAorREVQRU5EU19hcHBlbmRfYXJjID0gIiBsaWJnY2MiCitLRVJORUxfQ0NfYXBwZW5kX2FyYyA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCitLRVJORUxfTERfYXBwZW5kX2FyYyA9ICIgJHtUT09MQ0hBSU5fT1BUSU9OU30iCisKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGZlYXR1cmVzL2RlYnVnL3ByaW50ay5zY2MiCiAKIEtFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdNQUNISU5FX0ZFQVRVUkVTJywgJ251bWEnLCAnZmVhdHVyZXMvbnVtYS9udW1hLnNjYycsICcnLCBkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NWIyNDQ0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotS0JSQU5DSCA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLQotcmVxdWlyZSByZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0by5pbmMKLQotIyBib2FyZCBzcGVjaWZpYyBicmFuY2hlcwotS0JSQU5DSF9xZW11YXJtICA/PSAidjQuMTQvc3RhbmRhcmQvYXJtLXZlcnNhdGlsZS05MjZlanMiCi1LQlJBTkNIX3FlbXVhcm02NCA/PSAidjQuMTQvc3RhbmRhcmQvcWVtdWFybTY0IgotS0JSQU5DSF9xZW11bWlwcyA/PSAidjQuMTQvc3RhbmRhcmQvbXRpLW1hbHRhMzIiCi1LQlJBTkNIX3FlbXVwcGMgID89ICJ2NC4xNC9zdGFuZGFyZC9xZW11cHBjIgotS0JSQU5DSF9xZW11eDg2ICA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfcWVtdXg4Ni02NCA/PSAidjQuMTQvc3RhbmRhcmQvYmFzZSIKLUtCUkFOQ0hfcWVtdW1pcHM2NCA/PSAidjQuMTQvc3RhbmRhcmQvbXRpLW1hbHRhNjQiCi0KLVNSQ1JFVl9tYWNoaW5lX3FlbXVhcm0gPz0gIjg3NTJiODQyMWVmZThiNWE0NzhmMTdmYmZmYWNmNGFmOTc0ZWM3MDMiCi1TUkNSRVZfbWFjaGluZV9xZW11YXJtNjQgPz0gImFjNjY0NzRiYTdmN2U5M2QxNmFlM2VhMDA1ZjIxNDExM2JiMTI3YzUiCi1TUkNSRVZfbWFjaGluZV9xZW11bWlwcyA/PSAiYWIwMzFiMjY3ZTJhNzlmY2Q0OGRhNWQxMGQ1MDNmNGQwNjVmNDgyMSIKLVNSQ1JFVl9tYWNoaW5lX3FlbXVwcGMgPz0gImY0N2MzOTQ1ZThkZDIzMGVhMzc3NzFiY2FjYzgzNjI0NWZjNzlkMjIiCi1TUkNSRVZfbWFjaGluZV9xZW11eDg2ID89ICJmMWQ5M2IyMTliZGUzN2E4YTI4NmNkMThkNmFmMmRjZjBkMDJjMWE4IgotU1JDUkVWX21hY2hpbmVfcWVtdXg4Ni02NCA/PSAiZjFkOTNiMjE5YmRlMzdhOGEyODZjZDE4ZDZhZjJkY2YwZDAyYzFhOCIKLVNSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzNjQgPz0gIjgwNjNhNzI1OGZjNjcwYTM2MWZlZDg1Yjg1OGZhYmIyMzc0ODVmMWMiCi1TUkNSRVZfbWFjaGluZSA/PSAiZjFkOTNiMjE5YmRlMzdhOGEyODZjZDE4ZDZhZjJkY2YwZDAyYzFhOCIKLVNSQ1JFVl9tZXRhID89ICI2YTMyNTRlN2IzNzBjYmI4NmMxZjczMzc5ZGNmMzg4ODVjMWM2OWUwIgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL2xpbnV4LXlvY3RvLmdpdDtuYW1lPW1hY2hpbmU7YnJhbmNoPSR7S0JSQU5DSH07IFwKLSAgICAgICAgICAgZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcveW9jdG8ta2VybmVsLWNhY2hlO3R5cGU9a21ldGE7bmFtZT1tZXRhO2JyYW5jaD15b2N0by00LjE0O2Rlc3RzdWZmaXg9JHtLTUVUQX0iCi0KLUxJTlVYX1ZFUlNJT04gPz0gIjQuMTQuNzkiCi0KLURFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgotREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCi0KLVBWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCi0KLUtNRVRBID0gImtlcm5lbC1tZXRhIgotS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCi0KLUtFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKLQotQ09NUEFUSUJMRV9NQUNISU5FID0gInFlbXVhcm18cWVtdWFybTY0fHFlbXV4ODZ8cWVtdXBwY3xxZW11bWlwc3xxZW11bWlwczY0fHFlbXV4ODYtNjQiCi0KLSMgRnVuY3Rpb25hbGl0eSBmbGFncwotS0VSTkVMX0VYVFJBX0ZFQVRVUkVTID89ICJmZWF0dXJlcy9uZXRmaWx0ZXIvbmV0ZmlsdGVyLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7S0VSTkVMX0VYVFJBX0ZFQVRVUkVTfSIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdWFsbD0iIGNmZy92aXJ0aW8uc2NjIgotS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKLUtFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Ni02ND0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCi1LRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsICJteDMyIiwgIiBjZmcveDMyLnNjYyIsICIiICxkKX0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b180LjE5LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyMTdkYWEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbGludXgvbGludXgteW9jdG9fNC4xOS5iYgpAQCAtMCwwICsxLDQ5IEBACitLQlJBTkNIID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIGJvYXJkIHNwZWNpZmljIGJyYW5jaGVzCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NC4xOS9zdGFuZGFyZC9hcm0tdmVyc2F0aWxlLTkyNmVqcyIKK0tCUkFOQ0hfcWVtdWFybTY0ID89ICJ2NC4xOS9zdGFuZGFyZC9xZW11YXJtNjQiCitLQlJBTkNIX3FlbXVtaXBzID89ICJ2NC4xOS9zdGFuZGFyZC9tdGktbWFsdGEzMiIKK0tCUkFOQ0hfcWVtdXBwYyAgPz0gInY0LjE5L3N0YW5kYXJkL3FlbXVwcGMiCitLQlJBTkNIX3FlbXV4ODYgID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11eDg2LTY0ID89ICJ2NC4xOS9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11bWlwczY0ID89ICJ2NC4xOS9zdGFuZGFyZC9tdGktbWFsdGE2NCIKKworU1JDUkVWX21hY2hpbmVfcWVtdWFybSA/PSAiM2RmNDlkYjJlYTliOGU4MDBjYjMwZDVkNjk1ZDRkMmEyZjhjMWJlZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVhcm02NCA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXVtaXBzID89ICI1ZGM5NzVkMGU1ODZlZGQ1ZDMzYmNlNjI1NjBmOTk4ZjlhMjQ2YmU2IgorU1JDUkVWX21hY2hpbmVfcWVtdXBwYyA/PSAiMjUzYzM5YTI1MmYyNTg0MzExMWI3YmUwYzgyNDdlYjRiZDZjMzI4ZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXV4ODYgPz0gIjI1M2MzOWEyNTJmMjU4NDMxMTFiN2JlMGM4MjQ3ZWI0YmQ2YzMyOGQiCitTUkNSRVZfbWFjaGluZV9xZW11eDg2LTY0ID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21hY2hpbmVfcWVtdW1pcHM2NCA/PSAiYmI3YWU4YThjYmU3NmM5Y2UyODA0ZjY1MTkzNmYwNTlmOWY2MjFhMiIKK1NSQ1JFVl9tYWNoaW5lID89ICIyNTNjMzlhMjUyZjI1ODQzMTExYjdiZTBjODI0N2ViNGJkNmMzMjhkIgorU1JDUkVWX21ldGEgPz0gImQ4NWYwN2UwM2M5ODBlY2E1ZmZkNWJhMDU4OTg1ZDZlZDNhODM4MDEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O25hbWU9bWFjaGluZTticmFuY2g9JHtLQlJBTkNIfTsgXAorICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTQuMTk7ZGVzdHN1ZmZpeD0ke0tNRVRBfSBcCisgICAgICAgICAgIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKK0xJTlVYX1ZFUlNJT04gPz0gIjQuMTkuMzAiCisKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdBUkNIJywgJ3g4NicsICdlbGZ1dGlscy1uYXRpdmUnLCAnJywgZCl9IgorREVQRU5EUyArPSAib3BlbnNzbC1uYXRpdmUgdXRpbC1saW51eC1uYXRpdmUiCisKK1BWID0gIiR7TElOVVhfVkVSU0lPTn0rZ2l0JHtTUkNQVn0iCisKK0tNRVRBID0gImtlcm5lbC1tZXRhIgorS0NPTkZfQlNQX0FVRElUX0xFVkVMID0gIjIiCisKK0tFUk5FTF9ERVZJQ0VUUkVFX3FlbXVhcm0gPSAidmVyc2F0aWxlLXBiLmR0YiIKKworQ09NUEFUSUJMRV9NQUNISU5FID0gInFlbXVhcm18cWVtdWFybXY1fHFlbXVhcm02NHxxZW11eDg2fHFlbXVwcGN8cWVtdW1pcHN8cWVtdW1pcHM2NHxxZW11eDg2LTY0IgorCisjIEZ1bmN0aW9uYWxpdHkgZmxhZ3MKK0tFUk5FTF9FWFRSQV9GRUFUVVJFUyA/PSAiZmVhdHVyZXMvbmV0ZmlsdGVyL25ldGZpbHRlci5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kID0gIiAke0tFUk5FTF9FWFRSQV9GRUFUVVJFU30iCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXVhbGw9IiBjZmcvdmlydGlvLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmRfcWVtdXg4Nj0iIGNmZy9zb3VuZC5zY2MgY2ZnL3BhcmF2aXJ0X2t2bS5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODYtNjQ9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAibXgzMiIsICIgY2ZnL3gzMi5zY2MiLCAiIiAsZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvXzUuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmU1ZGJhZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9saW51eC9saW51eC15b2N0b181LjAuYmIKQEAgLTAsMCArMSw1MSBAQAorS0JSQU5DSCA/PSAidjUuMC9zdGFuZGFyZC9iYXNlIgorCityZXF1aXJlIHJlY2lwZXMta2VybmVsL2xpbnV4L2xpbnV4LXlvY3RvLmluYworCisjIGJvYXJkIHNwZWNpZmljIGJyYW5jaGVzCitLQlJBTkNIX3FlbXVhcm0gID89ICJ2NS4wL3N0YW5kYXJkL2FybS12ZXJzYXRpbGUtOTI2ZWpzIgorS0JSQU5DSF9xZW11YXJtNjQgPz0gInY1LjAvc3RhbmRhcmQvcWVtdWFybTY0IgorS0JSQU5DSF9xZW11bWlwcyA/PSAidjUuMC9zdGFuZGFyZC9tdGktbWFsdGEzMiIKK0tCUkFOQ0hfcWVtdXBwYyAgPz0gInY1LjAvc3RhbmRhcmQvcWVtdXBwYyIKK0tCUkFOQ0hfcWVtdXg4NiAgPz0gInY1LjAvc3RhbmRhcmQvYmFzZSIKK0tCUkFOQ0hfcWVtdXg4Ni02NCA/PSAidjUuMC9zdGFuZGFyZC9iYXNlIgorS0JSQU5DSF9xZW11bWlwczY0ID89ICJ2NS4wL3N0YW5kYXJkL210aS1tYWx0YTY0IgorCitTUkNSRVZfbWFjaGluZV9xZW11YXJtID89ICIxOGE1ZmZhMGU5MDE4NGM4NTAzZmYxZGY0NWU0ZTVlNTAxYjFiYWIzIgorU1JDUkVWX21hY2hpbmVfcWVtdWFybTY0ID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfcWVtdW1pcHMgPz0gImM0ZDNjZDY0MzczMjk0MDdlMmNjN2UzZTQ2MTU3Njk0NTJkNDI2YjEiCitTUkNSRVZfbWFjaGluZV9xZW11cHBjID89ICIzZGY0YWFlNjA3NGU5NGU3OTRlMjdmZTdmMTc0NTFkOTM1M2NkZjNkIgorU1JDUkVWX21hY2hpbmVfcWVtdXg4NiA/PSAiM2RmNGFhZTYwNzRlOTRlNzk0ZTI3ZmU3ZjE3NDUxZDkzNTNjZGYzZCIKK1NSQ1JFVl9tYWNoaW5lX3FlbXV4ODYtNjQgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWFjaGluZV9xZW11bWlwczY0ID89ICIyNDY4YzIwYzE1NDc3ZWJlNWVjZDczYzBlMDE2MmQ3NDMyMTQ5MzE4IgorU1JDUkVWX21hY2hpbmUgPz0gIjNkZjRhYWU2MDc0ZTk0ZTc5NGUyN2ZlN2YxNzQ1MWQ5MzUzY2RmM2QiCitTUkNSRVZfbWV0YSA/PSAiNzA1NDU3ODM3ZTdkZGQyN2U0ZTJlY2Y2ZDNkYmQyNTViMWFhZjg0OCIKKworIyByZW1hcCBxZW11YXJtIHRvIHFlbXVhcm1hMTUgZm9yIHRoZSA1LjAga2VybmVsCisjIEtNQUNISU5FX3FlbXVhcm0gPz0gInFlbXVhcm1hMTUiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvbGludXgteW9jdG8uZ2l0O25hbWU9bWFjaGluZTticmFuY2g9JHtLQlJBTkNIfTsgXAorICAgICAgICAgICBnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy95b2N0by1rZXJuZWwtY2FjaGU7dHlwZT1rbWV0YTtuYW1lPW1ldGE7YnJhbmNoPXlvY3RvLTUuMDtkZXN0c3VmZml4PSR7S01FVEF9IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iYmVhODE1ZWUyNzk1YjJmNDIzMDgyNmMwYzZiODgxNCIKK0xJTlVYX1ZFUlNJT04gPz0gIjUuMC4zIgorCitERVBFTkRTICs9ICIke0BiYi51dGlscy5jb250YWlucygnQVJDSCcsICd4ODYnLCAnZWxmdXRpbHMtbmF0aXZlJywgJycsIGQpfSIKK0RFUEVORFMgKz0gIm9wZW5zc2wtbmF0aXZlIHV0aWwtbGludXgtbmF0aXZlIgorCitQViA9ICIke0xJTlVYX1ZFUlNJT059K2dpdCR7U1JDUFZ9IgorCitLTUVUQSA9ICJrZXJuZWwtbWV0YSIKK0tDT05GX0JTUF9BVURJVF9MRVZFTCA9ICIyIgorCitLRVJORUxfREVWSUNFVFJFRV9xZW11YXJtID0gInZlcnNhdGlsZS1wYi5kdGIiCisKK0NPTVBBVElCTEVfTUFDSElORSA9ICJxZW11YXJtfHFlbXVhcm12NXxxZW11YXJtNjR8cWVtdXg4NnxxZW11cHBjfHFlbXVtaXBzfHFlbXVtaXBzNjR8cWVtdXg4Ni02NCIKKworIyBGdW5jdGlvbmFsaXR5IGZsYWdzCitLRVJORUxfRVhUUkFfRkVBVFVSRVMgPz0gImZlYXR1cmVzL25ldGZpbHRlci9uZXRmaWx0ZXIuc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZCA9ICIgJHtLRVJORUxfRVhUUkFfRkVBVFVSRVN9IgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11YWxsPSIgY2ZnL3ZpcnRpby5zY2MiCitLRVJORUxfRkVBVFVSRVNfYXBwZW5kX3FlbXV4ODY9IiBjZmcvc291bmQuc2NjIGNmZy9wYXJhdmlydF9rdm0uc2NjIgorS0VSTkVMX0ZFQVRVUkVTX2FwcGVuZF9xZW11eDg2LTY0PSIgY2ZnL3NvdW5kLnNjYyBjZmcvcGFyYXZpcnRfa3ZtLnNjYyIKK0tFUk5FTF9GRUFUVVJFU19hcHBlbmQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwgIm14MzIiLCAiIGNmZy94MzIuc2NjIiwgIiIgLGQpfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LWJ0cmZzLVJlbW92ZS11bm5lY2Vzc2FyeS1mc19pbmZvLXBhcmFtZXRlci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDEtRml4LWJ0cmZzLVJlbW92ZS11bm5lY2Vzc2FyeS1mc19pbmZvLXBhcmFtZXRlci5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGZlNGVlOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1idHJmcy1SZW1vdmUtdW5uZWNlc3NhcnktZnNfaW5mby1wYXJhbWV0ZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTYgKzAsMCBAQAotRnJvbSA1MWFiMGIxZGEyOTM1NDM3NWExOWY4NjVhYmNkMjMzZGQyMTc4Mjk1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+Ci1EYXRlOiBNb24sIDE4IEp1biAyMDE4IDE0OjUzOjE5IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeDogYnRyZnM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBmc19pbmZvIHBhcmFtZXRlcgotCi1TZWUgdXBzdHJlYW0gY29tbWl0OgotCi0gIGNvbW1pdCAzZGNhNWM5NDJkYWM2MDE2NGU2YTZlODkxNzJmMjViODZhZjA3Y2U3Ci0gIEF1dGhvcjogUXUgV2VucnVvIDx3cXVAc3VzZS5jb20+Ci0gIERhdGU6ICAgVGh1IEFwciAyNiAxNDoyNDoyNSAyMDE4ICswODAwCi0KLSAgICBidHJmczogdHJhY2U6IFJlbW92ZSB1bm5lY2Vzc2FyeSBmc19pbmZvIHBhcmFtZXRlciBmb3IgYnRyZnNfX3Jlc2VydmVfZXh0ZW50IGV2ZW50IGNsYXNzCi0KLSAgICBmc19pbmZvIGNhbiBiZSBleHRyYWN0ZWQgZnJvbSBidHJmc19ibG9ja19ncm91cF9jYWNoZSwgYW5kIGFsbAotICAgIGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlIGlzIGNyZWF0ZWQgYnkgYnRyZnNfY3JlYXRlX2Jsb2NrX2dyb3VwX2NhY2hlKCkKLSAgICB3aXRoIGZzX2luZm8gaW5pdGlhbGl6ZWQsIG5vIG5lZWQgdG8gd29ycnkgYWJvdXQgTlVMTCBwb2ludGVyCi0gICAgZGVyZWZlcmVuY2UuCi0KLVNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgotU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVNpZ25lZC1vZmYtYnk6IEhlIFpoZSA8emhlLmhlQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oIHwgNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKLWluZGV4IDc1Y2M3M2IuLmZkMWI2YjggMTAwNjQ0Ci0tLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCi0rKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oCi1AQCAtMTY1OCw4ICsxNjU4LDU3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9mCi0gCi0gI2VuZGlmIC8qICNlbHNlICNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTAsMCkpICovCi0gCi0tI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNCwwKSkKLSsjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE4LDApKQotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCi0rCi0rCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCi0rCi0rCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKLSsJCSB1NjQgZGF0YSksCi0rCi0rCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKLSsKLSsJVFBfRklFTERTKAotKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBpbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0rCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQotKwkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQotKwkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQotKwkpCi0rKQotKwotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAotKwotKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCi0rCQkgdTY0IGxlbiksCi0rCi0rCVRQX0FSR1MoYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAotKwotKwlUUF9GSUVMRFMoCi0rCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5mc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0rCQljdGZfaW50ZWdlcih1NjQsIGJnX29iamVjdGlkLCBibG9ja19ncm91cC0+a2V5Lm9iamVjdGlkKQotKwkJY3RmX2ludGVnZXIodTY0LCBmbGFncywgYmxvY2tfZ3JvdXAtPmZsYWdzKQotKwkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCi0rCQljdGZfaW50ZWdlcih1NjQsIGxlbiwgbGVuKQotKwkpCi0rKQotKwotK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudCwKLSsKLSsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAotKwkJIHU2NCBsZW4pLAotKwotKwlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQotKykKLSsKLStMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnRfY2x1c3RlciwKLSsKLSsJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAotKwkJIHU2NCBsZW4pLAotKwotKwlUUF9BUkdTKGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQotKykKLSAKLSsjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTQsMCkpCi0gTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9NQVAoZmluZF9mcmVlX2V4dGVudCwKLSAKLSAJYnRyZnNfZmluZF9mcmVlX2V4dGVudCwKLUBAIC0xNjcwLDYgKzE3MTksNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAotIAlUUF9BUkdTKGluZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCi0gCi0gCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotIAkJY3RmX2ludGVnZXIodTY0LCBudW1fYnl0ZXMsIG51bV9ieXRlcykKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZW1wdHlfc2l6ZSwgZW1wdHlfc2l6ZSkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZGF0YSwgZGF0YSkKLUBAIC0xNjg1LDYgKzE3MzUsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKLSAJVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCi0gCi0gCVRQX0ZJRUxEUygKLSsJCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQotIAkJY3RmX2ludGVnZXIodTY0LCBiZ19vYmplY3RpZCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgZmxhZ3MsIGJsb2NrX2dyb3VwLT5mbGFncykKLSAJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQotQEAgLTE3MjIsNiArMTc3Myw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCi0gCVRQX0FSR1MoaW5mbywgbnVtX2J5dGVzLCBlbXB0eV9zaXplLCBkYXRhKSwKLSAKLSAJVFBfRklFTERTKAotKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBpbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCi0gCQljdGZfaW50ZWdlcih1NjQsIG51bV9ieXRlcywgbnVtX2J5dGVzKQotIAkJY3RmX2ludGVnZXIodTY0LCBlbXB0eV9zaXplLCBlbXB0eV9zaXplKQotIAkJY3RmX2ludGVnZXIodTY0LCBkYXRhLCBkYXRhKQotLS0gCi0yLjEzLjMKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1MTE4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAxLUZpeC1zaWduYWwtRGlzdGluZ3Vpc2gtYmV0d2Vlbi1rZXJuZWxfc2lnaW5mby1hbmQtc2kucGF0Y2gKQEAgLTAsMCArMSwxMzMgQEAKK0Zyb20gMGEwZDczNmVjODlkZmZkYmM4M2U3MTgxMTY2YTk5ZDU1NjNhY2ZlOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogTW9uLCA1IE5vdiAyMDE4IDExOjM1OjUyIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMS85XSBGaXg6IHNpZ25hbDogRGlzdGluZ3Vpc2ggYmV0d2VlbiBrZXJuZWxfc2lnaW5mbyBhbmQKKyBzaWdpbmZvICh2NC4yMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IGFlNzc5NWJjNjE4N2ExNWVjNTFjZjI1OGFiYWU2NTZhNjI1Zjk5ODAKKyAgQXV0aG9yOiBFcmljIFcuIEJpZWRlcm1hbiA8ZWJpZWRlcm1AeG1pc3Npb24uY29tPgorICBEYXRlOiAgIFR1ZSBTZXAgMjUgMTE6Mjc6MjAgMjAxOCArMDIwMAorCisgICAgc2lnbmFsOiBEaXN0aW5ndWlzaCBiZXR3ZWVuIGtlcm5lbF9zaWdpbmZvIGFuZCBzaWdpbmZvCisKKyAgICBMaW51cyByZWNlbnRseSBvYnNlcnZlZCB0aGF0IGlmIHdlIGRpZCBub3Qgd29ycnkgYWJvdXQgdGhlIHBhZGRpbmcKKyAgICBtZW1iZXIgaW4gc3RydWN0IHNpZ2luZm8gaXQgaXMgb25seSBhYm91dCA0OCBieXRlcywgYW5kIDQ4IGJ5dGVzIGlzCisgICAgbXVjaCBuaWNlciB0aGFuIDEyOCBieXRlcyBmb3IgYWxsb2NhdGluZyBvbiB0aGUgc3RhY2sgYW5kIGNvcHlpbmcKKyAgICBhcm91bmQgaW4gdGhlIGtlcm5lbC4KKworICAgIFRoZSBvYnZpb3VzIHRoaW5nIG9mIG9ubHkgYWRkaW5nIHRoZSBwYWRkaW5nIHdoZW4gdXNlcnNwYWNlIGlzCisgICAgaW5jbHVkaW5nIHNpZ2luZm8uaCB3b24ndCB3b3JrIGFzIHRoZXJlIGFyZSBzaWdmcmFtZSBkZWZpbml0aW9ucyBpbgorICAgIHRoZSBrZXJuZWwgdGhhdCBlbWJlZCBzdHJ1Y3Qgc2lnaW5mby4KKworICAgIFNvIHNwbGl0IHNpZ2luZm8gaW4gdHdvOyBrZXJuZWxfc2lnaW5mbyBhbmQgc2lnaW5mby4gIEtlZXBpbmcgdGhlCisgICAgdHJhZGl0aW9uYWwgbmFtZSBmb3IgdGhlIHVzZXJzcGFjZSBkZWZpbml0aW9uLiAgV2hpbGUgdGhlIHZlcnNpb24gdGhhdAorICAgIGlzIHVzZWQgaW50ZXJuYWxseSB0byB0aGUga2VybmVsIGFuZCB1bHRpbWF0ZWx5IHdpbGwgbm90IGJlIHBhZGRlZCB0bworICAgIDEyOCBieXRlcyBpcyBjYWxsZWQga2VybmVsX3NpZ2luZm8uCisKKyAgICBUaGUgZGVmaW5pdGlvbiBvZiBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gSSBoYXZlIHB1dCBpbiBpbmNsdWRlL3NpZ25hbF90eXBlcy5oCisKKyAgICBBIHNldCBvZiBidWlsZHRpbWUgY2hlY2tzIGhhcyBiZWVuIGFkZGVkIHRvIHZlcmlmeSB0aGUgdHdvIHN0cnVjdHVyZXMgaGF2ZQorICAgIHRoZSBzYW1lIGZpZWxkIG9mZnNldHMuCisKKyAgICBUbyBtYWtlIGl0IGVhc3kgdG8gdmVyaWZ5IHRoZSBjaGFuZ2Uga2VybmVsX3NpZ2luZm8gcmV0YWlucyB0aGUgc2FtZQorICAgIHNpemUgYXMgc2lnaW5mby4gIFRoZSByZWR1Y3Rpb24gaW4gc2l6ZSBjb21lcyBpbiBhIGZvbGxvd2luZyBjaGFuZ2UuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvMGEwZDczNmVjODlkZmZkYmM4M2U3MTgxMTY2YTk5ZDU1NjNhY2ZlOAorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggfCA0MSArKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAoraW5kZXggYjNjOTEyNi4uODc4M2I1MiAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaAorQEAgLTM1LDIxICszNSwyNCBAQAorICAqIFNFTkRfU0lHX05PSU5GTyBtZWFucyB0aGF0IHNpX2NvZGUgaXMgU0lfVVNFUiwgYW5kIFNFTkRfU0lHX1BSSVYKKyAgKiBtZWFucyB0aGF0IHNpX2NvZGUgaXMgU0lfS0VSTkVMLgorICAqLworLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw0LDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMjAsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCistCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spLAorKwlUUF9QUk9UTyhpbnQgc2lnLCBzdHJ1Y3Qga2VybmVsX3NpZ2luZm8gKmluZm8sIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaywKKysJCQlpbnQgZ3JvdXAsIGludCByZXN1bHQpLAorIAorLQlUUF9BUkdTKHNpZywgaW5mbywgdGFzayksCisrCVRQX0FSR1Moc2lnLCBpbmZvLCB0YXNrLCBncm91cCwgcmVzdWx0KSwKKyAKKyAJVFBfRklFTERTKAorIAkJY3RmX2ludGVnZXIoaW50LCBzaWcsIHNpZykKKyAJCUxUVE5HX0ZJRUxEU19TSUdJTkZPKGluZm8pCisgCQljdGZfYXJyYXlfdGV4dChjaGFyLCBjb21tLCB0YXNrLT5jb21tLCBUQVNLX0NPTU1fTEVOKQorIAkJY3RmX2ludGVnZXIocGlkX3QsIHBpZCwgdGFzay0+cGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBncm91cCwgZ3JvdXApCisrCQljdGZfaW50ZWdlcihpbnQsIHJlc3VsdCwgcmVzdWx0KQorIAkpCisgKQorLSNlbHNlCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDQsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCisgCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCitAQCAtNjYsNiArNjksMjAgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisgCQljdGZfaW50ZWdlcihpbnQsIHJlc3VsdCwgcmVzdWx0KQorIAkpCisgKQorKyNlbHNlCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChzaWduYWxfZ2VuZXJhdGUsCisrCisrCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spLAorKworKwlUUF9BUkdTKHNpZywgaW5mbywgdGFzayksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGludCwgc2lnLCBzaWcpCisrCQlMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQorKwkJY3RmX2FycmF5X3RleHQoY2hhciwgY29tbSwgdGFzay0+Y29tbSwgVEFTS19DT01NX0xFTikKKysJCWN0Zl9pbnRlZ2VyKHBpZF90LCBwaWQsIHRhc2stPnBpZCkKKysJKQorKykKKyAjZW5kaWYKKyAKKyAvKioKK0BAIC04Miw2ICs5OSwyMSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9nZW5lcmF0ZSwKKyAgKiBUaGlzIG1lYW5zLCB0aGlzIGNhbiBzaG93IHdoaWNoIHNpZ25hbHMgYXJlIGFjdHVhbGx5IGRlbGl2ZXJlZCwgYnV0CisgICogbWF0Y2hpbmcgZ2VuZXJhdGVkIHNpZ25hbHMgYW5kIGRlbGl2ZXJlZCBzaWduYWxzIG1heSBub3QgYmUgY29ycmVjdC4KKyAgKi8KKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApKQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2RlbGl2ZXIsCisrCisrCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBrZXJuZWxfc2lnaW5mbyAqaW5mbywgc3RydWN0IGtfc2lnYWN0aW9uICprYSksCisrCisrCVRQX0FSR1Moc2lnLCBpbmZvLCBrYSksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKGludCwgc2lnLCBzaWcpCisrCQlMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfaGFuZGxlciwgKHVuc2lnbmVkIGxvbmcpIGthLT5zYS5zYV9oYW5kbGVyKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfZmxhZ3MsIGthLT5zYS5zYV9mbGFncykKKysJKQorKykKKysjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoc2lnbmFsX2RlbGl2ZXIsCisgCisgCVRQX1BST1RPKGludCBzaWcsIHN0cnVjdCBzaWdpbmZvICppbmZvLCBzdHJ1Y3Qga19zaWdhY3Rpb24gKmthKSwKK0BAIC05NSw2ICsxMjcsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHNpZ25hbF9kZWxpdmVyLAorIAkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgc2FfZmxhZ3MsIGthLT5zYS5zYV9mbGFncykKKyAJKQorICkKKysjZW5kaWYKKyAKKyAjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNCwwKSkKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHNpZ25hbF9xdWV1ZV9vdmVyZmxvdywKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwMi1GaXgtc2lnbmFsLVJlbW92ZS1TRU5EX1NJR19GT1JDRUQtdjQuMjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTA1YjY4MQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoCkBAIC0wLDAgKzEsNjcgQEAKK0Zyb20gMjZiYzA2NGE0ZDRjODVlNjAwMDM5M2FhZGIzODY1OWY5OWI1OTE2MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogTW9uLCA1IE5vdiAyMDE4IDExOjM1OjUzIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggMi85XSBGaXg6IHNpZ25hbDogUmVtb3ZlIFNFTkRfU0lHX0ZPUkNFRCAodjQuMjApCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCA0ZmY0YzMxYTZlODVmNGM0OWZiZWViZWFhMjgwMThkMDAyODg0YjVhCisgIEF1dGhvcjogRXJpYyBXLiBCaWVkZXJtYW4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KKyAgRGF0ZTogICBNb24gU2VwIDMgMTA6Mzk6MDQgMjAxOCArMDIwMAorCisgICAgc2lnbmFsOiBSZW1vdmUgU0VORF9TSUdfRk9SQ0VECisKKyAgICBUaGVyZSBhcmUgbm8gbW9yZSB1c2VycyBvZiBTRU5EX1NJR19GT1JDRUQgc28gaXQgbWF5IGJlIHNhZmVseSByZW1vdmVkLgorCisgICAgUmVtb3ZlIHRoZSBkZWZpbml0aW9uIG9mIFNFTkRfU0lHX0ZPUkNFRCwgaXQncyB1c2UgaW4gaXNfc2lfc3BlY2lhbCwKKyAgICBpdCdzIHVzZSBpbiBUUF9TVE9SRV9TSUdJTkZPLCBhbmQgaXQncyB1c2UgaW4gX19zZW5kX3NpZ25hbCBhcyB3aXRob3V0CisgICAgYW55IHVzZXJzIHRoZSB1c2VzIG9mIFNFTkRfU0lHX0ZPUkNFRCBhcmUgbm93IHVubmNlc3NhcnkuCisKKyAgICBUaGlzIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIsIGVhc2llciB0byB1bmRlcnN0YW5kIGFuZCB1c2UuICBVc2VycyBvZgorICAgIHNpZ25hbCBzZW5kaW5nIGZ1bmN0aW9ucyBub3cgbm8gbG9uZ2VyIG5lZWQgdG8gYXNrIHRoZW1zZWx2ZXMgZG8gSQorICAgIG5lZWQgdG8gdXNlIFNFTkRfU0lHX0ZPUkNFRC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC8yNmJjMDY0YTRkNGM4NWU2MDAwMzkzYWFkYjM4NjU5Zjk5YjU5MTYyCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+IAorCistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaCB8IDEyICsrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9zaWduYWwuaCBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCitpbmRleCA4NzgzYjUyLi5hZDhmZTY5IDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvc2lnbmFsLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3NpZ25hbC5oCitAQCAtMTIsNiArMTIsMTcgQEAKKyAjaW5jbHVkZSA8bGludXgvc2lnbmFsLmg+CisgI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+CisgI3VuZGVmIExUVE5HX0ZJRUxEU19TSUdJTkZPCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysjZGVmaW5lIExUVE5HX0ZJRUxEU19TSUdJTkZPKGluZm8pCQkJCVwKKysJCWN0Zl9pbnRlZ2VyKGludCwgZXJybm8sCQkJCVwKKysJCQkoaW5mbyA9PSBTRU5EX1NJR19OT0lORk8gfHwgaW5mbyA9PSBTRU5EX1NJR19QUklWKSA/IFwKKysJCQkwIDoJCQkJCVwKKysJCQlpbmZvLT5zaV9lcnJubykJCQkJXAorKwkJY3RmX2ludGVnZXIoaW50LCBjb2RlLAkJCQlcCisrCQkJKGluZm8gPT0gU0VORF9TSUdfTk9JTkZPKSA/IAkJXAorKwkJCVNJX1VTRVIgOiAJCQkJXAorKwkJCSgoaW5mbyA9PSBTRU5EX1NJR19QUklWKSA/IFNJX0tFUk5FTCA6IGluZm8tPnNpX2NvZGUpKQorKyNlbHNlIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApICovCisgI2RlZmluZSBMVFROR19GSUVMRFNfU0lHSU5GTyhpbmZvKQkJCQlcCisgCQljdGZfaW50ZWdlcihpbnQsIGVycm5vLAkJCQlcCisgCQkJKGluZm8gPT0gU0VORF9TSUdfTk9JTkZPIHx8IGluZm8gPT0gU0VORF9TSUdfRk9SQ0VEIHx8IGluZm8gPT0gU0VORF9TSUdfUFJJVikgPyBcCitAQCAtMjEsNiArMzIsNyBAQAorIAkJCShpbmZvID09IFNFTkRfU0lHX05PSU5GTyB8fCBpbmZvID09IFNFTkRfU0lHX0ZPUkNFRCkgPyBcCisgCQkJU0lfVVNFUiA6IAkJCQlcCisgCQkJKChpbmZvID09IFNFTkRfU0lHX1BSSVYpID8gU0lfS0VSTkVMIDogaW5mby0+c2lfY29kZSkpCisrI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApICovCisgI2VuZGlmIC8qIF9UUkFDRV9TSUdOQUxfREVGICovCisgCisgLyoqCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDAzLUZpeC1leHQ0LWFkanVzdC1yZXNlcnZlZC1jbHVzdGVyLWNvdW50LXdoZW4tcmVtb3ZpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkZmZlZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDMtRml4LWV4dDQtYWRqdXN0LXJlc2VydmVkLWNsdXN0ZXItY291bnQtd2hlbi1yZW1vdmluZy5wYXRjaApAQCAtMCwwICsxLDE0OSBAQAorRnJvbSBjYjlmMWE4MjFiY2Y1NWNlY2YzODEzMTk1ZmQ2ZDRlZmY4MDcwOTI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBNb24sIDUgTm92IDIwMTggMTE6MzU6NTQgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzldIEZpeDogZXh0NDogYWRqdXN0IHJlc2VydmVkIGNsdXN0ZXIgY291bnQgd2hlbiByZW1vdmluZworIGV4dGVudHMgKHY0LjIwKQorCitTZWUgdXBzdHJlYW0gY29tbWl0IDoKKworICBjb21taXQgOWZlNjcxNDk2YjZjMjg2ZjkwMzNhZWRmYzE3MThkNjc3MjFkYTBhZQorICBBdXRob3I6IEVyaWMgV2hpdG5leSA8ZW53bGludXhAZ21haWwuY29tPgorICBEYXRlOiAgIE1vbiBPY3QgMSAxNDoyNTowOCAyMDE4IC0wNDAwCisKKyAgICBleHQ0OiBhZGp1c3QgcmVzZXJ2ZWQgY2x1c3RlciBjb3VudCB3aGVuIHJlbW92aW5nIGV4dGVudHMKKworICAgIE1vZGlmeSBleHQ0X2V4dF9yZW1vdmVfc3BhY2UoKSBhbmQgdGhlIGNvZGUgaXQgY2FsbHMgdG8gY29ycmVjdCB0aGUKKyAgICByZXNlcnZlZCBjbHVzdGVyIGNvdW50IGZvciBwZW5kaW5nIHJlc2VydmF0aW9ucyAoZGVsYXllZCBhbGxvY2F0ZWQKKyAgICBjbHVzdGVycyBzaGFyZWQgd2l0aCBhbGxvY2F0ZWQgYmxvY2tzKSB3aGVuIGEgYmxvY2sgcmFuZ2UgaXMgcmVtb3ZlZAorICAgIGZyb20gdGhlIGV4dGVudCB0cmVlLiAgUGVuZGluZyByZXNlcnZhdGlvbnMgbWF5IGJlIGZvdW5kIGZvciB0aGUgY2x1c3RlcnMKKyAgICBhdCB0aGUgZW5kcyBvZiB3cml0dGVuIG9yIHVud3JpdHRlbiBleHRlbnRzIHdoZW4gYSBibG9jayByYW5nZSBpcyByZW1vdmVkLgorICAgIElmIGEgcGh5c2ljYWwgY2x1c3RlciBhdCB0aGUgZW5kIG9mIGFuIGV4dGVudCBpcyBmcmVlZCwgaXQncyBuZWNlc3NhcnkKKyAgICB0byBpbmNyZW1lbnQgdGhlIHJlc2VydmVkIGNsdXN0ZXIgY291bnQgdG8gbWFpbnRhaW4gY29ycmVjdCBhY2NvdW50aW5nCisgICAgaWYgdGhlIGNvcnJlc3BvbmRpbmcgbG9naWNhbCBjbHVzdGVyIGlzIHNoYXJlZCB3aXRoIGF0IGxlYXN0IG9uZQorICAgIGRlbGF5ZWQgYW5kIHVud3JpdHRlbiBleHRlbnQgYXMgZm91bmQgaW4gdGhlIGV4dGVudHMgc3RhdHVzIHRyZWUuCisKKyAgICBBZGQgYSBuZXcgZnVuY3Rpb24sIGV4dDRfcmVyZXNlcnZlX2NsdXN0ZXIoKSwgdG8gcmVhcHBseSBhIHJlc2VydmF0aW9uCisgICAgb24gYSBkZWxheWVkIGFsbG9jYXRlZCBjbHVzdGVyIHNoYXJpbmcgYmxvY2tzIHdpdGggYSBmcmVlZCBhbGxvY2F0ZWQKKyAgICBjbHVzdGVyLiAgVG8gYXZvaWQgRU5PU1BDIG9uIHJlc2VydmF0aW9uLCBhIGZsYWcgaXMgYXBwbGllZCB0bworICAgIGV4dDRfZnJlZV9ibG9ja3MoKSB0byBicmllZmx5IGRlZmVyIHVwZGF0aW5nIHRoZSBmcmVlY2x1c3RlcnMgY291bnRlcgorICAgIHdoZW4gYW4gYWxsb2NhdGVkIGNsdXN0ZXIgaXMgZnJlZWQuICBUaGlzIHByZXZlbnRzIGFub3RoZXIgdGhyZWFkCisgICAgZnJvbSBhbGxvY2F0aW5nIHRoZSBmcmVlZCBibG9jayBiZWZvcmUgdGhlIHJlc2VydmF0aW9uIGNhbiBiZSByZWFwcGxpZWQuCisKKyAgICBSZWRlZmluZSB0aGUgcGFydGlhbCBjbHVzdGVyIG9iamVjdCBhcyBhIHN0cnVjdCB0byBjYXJyeSBtb3JlIHN0YXRlCisgICAgaW5mb3JtYXRpb24gYW5kIHRvIGNsYXJpZnkgdGhlIGNvZGUgdXNpbmcgaXQuCisKKyAgICBBZGp1c3QgdGhlIGNvbmRpdGlvbmFsIGNvZGUgc3RydWN0dXJlIGluIGV4dDRfZXh0X3JlbW92ZV9zcGFjZSB0bworICAgIHJlZHVjZSB0aGUgaW5kZW50YXRpb24gbGV2ZWwgaW4gdGhlIG1haW4gYm9keSBvZiB0aGUgY29kZSB0byBpbXByb3ZlCisgICAgcmVhZGFiaWxpdHkuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvY2I5ZjFhODIxYmNmNTVjZWNmMzgxMzE5NWZkNmQ0ZWZmODA3MDkyNworCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorCistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmggfCA3MiArKysrKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmgKK2luZGV4IGZlNmY4MDIuLjgzYTgwYmEgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9leHQ0LmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2V4dDQuaAorQEAgLTE2MDIsNyArMTYwMiwzMCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3Nob3dfZXh0ZW50LAorIAkpCisgKQorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfcmVtb3ZlX2Jsb2NrcywKKysJVFBfUFJPVE8oc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGV4dDRfZXh0ZW50ICpleCwKKysJCSBleHQ0X2xibGtfdCBmcm9tLCBleHQ0X2ZzYmxrX3QgdG8sCisrCQkgc3RydWN0IHBhcnRpYWxfY2x1c3RlciAqcGMpLAorKworKwlUUF9BUkdTKGlub2RlLCBleCwgZnJvbSwgdG8sIHBjKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIoZGV2X3QsIGRldiwgaW5vZGUtPmlfc2ItPnNfZGV2KQorKwkJY3RmX2ludGVnZXIoaW5vX3QsIGlubywgaW5vZGUtPmlfaW5vKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGZyb20sIGZyb20pCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgdG8sIHRvKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBlZV9wYmxrLCBleHQ0X2V4dF9wYmxvY2soZXgpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGVlX2xibGssIGxlMzJfdG9fY3B1KGV4LT5lZV9ibG9jaykpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBzaG9ydCwgZWVfbGVuLCBleHQ0X2V4dF9nZXRfYWN0dWFsX2xlbihleCkpCisrCQljdGZfaW50ZWdlcihleHQ0X2ZzYmxrX3QsIHBjX3BjbHUsIHBjLT5wY2x1KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHBjX2xibGssIHBjLT5sYmxrKQorKwkJY3RmX2ludGVnZXIoaW50LCBwY19zdGF0ZSwgcGMtPnN0YXRlKQorKwkpCisrKQorKworKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfcmVtb3ZlX2Jsb2NrcywKKyAJICAgIFRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBleHQ0X2V4dGVudCAqZXgsCitAQCAtMTY0Niw3ICsxNjY5LDI5IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9yZW1vdmVfYmxvY2tzLAorIAorICNlbmRpZgorIAorLSNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyMCwwKSkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3JtX2xlYWYsCisrCVRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRfbGJsa190IHN0YXJ0LAorKwkJIHN0cnVjdCBleHQ0X2V4dGVudCAqZXgsCisrCQkgc3RydWN0IHBhcnRpYWxfY2x1c3RlciAqcGMpLAorKworKwlUUF9BUkdTKGlub2RlLCBzdGFydCwgZXgsIHBjKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIoZGV2X3QsIGRldiwgaW5vZGUtPmlfc2ItPnNfZGV2KQorKwkJY3RmX2ludGVnZXIoaW5vX3QsIGlubywgaW5vZGUtPmlfaW5vKQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHN0YXJ0LCBzdGFydCkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBlZV9sYmxrLCBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBlZV9wYmxrLCBleHQ0X2V4dF9wYmxvY2soZXgpKQorKwkJY3RmX2ludGVnZXIoc2hvcnQsIGVlX2xlbiwgZXh0NF9leHRfZ2V0X2FjdHVhbF9sZW4oZXgpKQorKwkJY3RmX2ludGVnZXIoZXh0NF9mc2Jsa190LCBwY19wY2x1LCBwYy0+cGNsdSkKKysJCWN0Zl9pbnRlZ2VyKGV4dDRfbGJsa190LCBwY19sYmxrLCBwYy0+bGJsaykKKysJCWN0Zl9pbnRlZ2VyKGludCwgcGNfc3RhdGUsIHBjLT5zdGF0ZSkKKysJKQorKykKKysKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkpCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9ybV9sZWFmLAorIAlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwKK0BAIC0xNzMzLDcgKzE3NzgsMjggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChleHQ0X2V4dF9yZW1vdmVfc3BhY2UsCisgCisgI2VuZGlmCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDIwLDApKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQoZXh0NF9leHRfcmVtb3ZlX3NwYWNlX2RvbmUsCisrCVRQX1BST1RPKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRfbGJsa190IHN0YXJ0LCBleHQ0X2xibGtfdCBlbmQsCisrCQkgaW50IGRlcHRoLCBzdHJ1Y3QgcGFydGlhbF9jbHVzdGVyICpwYywgX19sZTE2IGVoX2VudHJpZXMpLAorKworKwlUUF9BUkdTKGlub2RlLCBzdGFydCwgZW5kLCBkZXB0aCwgcGMsIGVoX2VudHJpZXMpLAorKworKwlUUF9GSUVMRFMoCisrCQljdGZfaW50ZWdlcihkZXZfdCwgZGV2LCBpbm9kZS0+aV9zYi0+c19kZXYpCisrCQljdGZfaW50ZWdlcihpbm9fdCwgaW5vLCBpbm9kZS0+aV9pbm8pCisrCQljdGZfaW50ZWdlcihleHQ0X2xibGtfdCwgc3RhcnQsIHN0YXJ0KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIGVuZCwgZW5kKQorKwkJY3RmX2ludGVnZXIoaW50LCBkZXB0aCwgZGVwdGgpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBzaG9ydCwgZWhfZW50cmllcywgbGUxNl90b19jcHUoZWhfZW50cmllcykpCisrCQljdGZfaW50ZWdlcihleHQ0X2ZzYmxrX3QsIHBjX3BjbHUsIHBjLT5wY2x1KQorKwkJY3RmX2ludGVnZXIoZXh0NF9sYmxrX3QsIHBjX2xibGssIHBjLT5sYmxrKQorKwkJY3RmX2ludGVnZXIoaW50LCBwY19zdGF0ZSwgcGMtPnN0YXRlKQorKwkpCisrKQorKworKyNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGV4dDRfZXh0X3JlbW92ZV9zcGFjZV9kb25lLAorIAlUUF9QUk9UTyhzdHJ1Y3QgaW5vZGUgKmlub2RlLCBleHQ0X2xibGtfdCBzdGFydCwgZXh0NF9sYmxrX3QgZW5kLAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNC1GaXgtdGltZXItaW5zdHJ1bWVudGF0aW9uLWZvci1SSEVMLTcuNi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDQtRml4LXRpbWVyLWluc3RydW1lbnRhdGlvbi1mb3ItUkhFTC03LjYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVkNTBkYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDQtRml4LXRpbWVyLWluc3RydW1lbnRhdGlvbi1mb3ItUkhFTC03LjYucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA0ZWFlYjU0YTI3ZmJmNzAxYzJhNDkwOGE2ZTkwYTk3OGI5M2RlYjA2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUaHUsIDYgRGVjIDIwMTggMTE6MzE6NTEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzldIEZpeDogdGltZXIgaW5zdHJ1bWVudGF0aW9uIGZvciBSSEVMIDcuNgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzRlYWViNTRhMjdmYmY3MDFjMmE0OTA4YTZlOTBhOTc4YjkzZGViMDYKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmggfCAzICsrLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3RpbWVyLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS90aW1lci5oCitpbmRleCA2ZjBjYjdmLi44ODA3YWQ1IDEwMDY0NAorLS0tIGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvdGltZXIuaAorQEAgLTQ0LDcgKzQ0LDggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRSh0aW1lcl9jbGFzcywgdGltZXJfaW5pdCwKKyAJVFBfQVJHUyh0aW1lcikKKyApCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwyLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMiwwKSB8fCBcCisrCUxUVE5HX1JIRUxfS0VSTkVMX1JBTkdFKDMsMTAsMCw5NTcsMCwwLCAzLDExLDAsMCwwLDApKQorIC8qKgorICAqIHRpbWVyX3N0YXJ0IC0gY2FsbGVkIHdoZW4gdGhlIHRpbWVyIGlzIHN0YXJ0ZWQKKyAgKiBAdGltZXI6CXBvaW50ZXIgdG8gc3RydWN0IHRpbWVyX2xpc3QKKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjY2YmJkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNS1GaXgtUmVtb3ZlLXR5cGUtYXJndW1lbnQtZnJvbS1hY2Nlc3Nfb2stZnVuY3Rpb24tdjUuLnBhdGNoCkBAIC0wLDAgKzEsMjA0IEBACitGcm9tIDAwMzlkYmU5ODkxY2ZkZjJjMGQwNDY5MWY4M2MyZjM0Mjk5M2RmZDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDo1OToxNSAtMDUwMAorU3ViamVjdDogW1BBVENIIDUvOV0gRml4OiBSZW1vdmUgJ3R5cGUnIGFyZ3VtZW50IGZyb20gYWNjZXNzX29rKCkgZnVuY3Rpb24KKyAodjUuMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IDk2ZDRmMjY3ZTQwZjk1MDllOGE2NmUyYjM5ZThiOTU2NTU2MTc2OTMKKyAgQXV0aG9yOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CisgIERhdGU6ICAgVGh1IEphbiAzIDE4OjU3OjU3IDIwMTkgLTA4MDAKKworICAgIFJlbW92ZSAndHlwZScgYXJndW1lbnQgZnJvbSBhY2Nlc3Nfb2soKSBmdW5jdGlvbgorCisgICAgTm9ib2R5IGhhcyBhY3R1YWxseSB1c2VkIHRoZSB0eXBlIChWRVJJRllfUkVBRCB2cyBWRVJJRllfV1JJVEUpIGFyZ3VtZW50CisgICAgb2YgdGhlIHVzZXIgYWRkcmVzcyByYW5nZSB2ZXJpZmljYXRpb24gZnVuY3Rpb24gc2luY2Ugd2UgZ290IHJpZCBvZiB0aGUKKyAgICBvbGQgcmFjeSBpMzg2LW9ubHkgY29kZSB0byB3YWxrIHBhZ2UgdGFibGVzIGJ5IGhhbmQuCisKKyAgICBJdCBleGlzdGVkIGJlY2F1c2UgdGhlIG9yaWdpbmFsIDgwMzg2IHdvdWxkIG5vdCBob25vciB0aGUgd3JpdGUgcHJvdGVjdAorICAgIGJpdCB3aGVuIGluIGtlcm5lbCBtb2RlLCBzbyB5b3UgaGFkIHRvIGRvIENPVyBieSBoYW5kIGJlZm9yZSBkb2luZyBhbnkKKyAgICB1c2VyIGFjY2Vzcy4gIEJ1dCB3ZSBoYXZlbid0IHN1cHBvcnRlZCB0aGF0IGluIGEgbG9uZyB0aW1lLCBhbmQgdGhlc2UKKyAgICBkYXlzIHRoZSAndHlwZScgYXJndW1lbnQgaXMgYSBwdXJlbHkgaGlzdG9yaWNhbCBhcnRpZmFjdC4KKworICAgIEEgZGlzY3Vzc2lvbiBhYm91dCBleHRlbmRpbmcgJ3VzZXJfYWNjZXNzX2JlZ2luKCknIHRvIGRvIHRoZSByYW5nZQorICAgIGNoZWNraW5nIHJlc3VsdGVkIHRoaXMgcGF0Y2gsIGJlY2F1c2UgdGhlcmUgaXMgbm8gd2F5IHdlJ3JlIGdvaW5nIHRvCisgICAgbW92ZSB0aGUgb2xkIFZFUklGWV94eXogaW50ZXJmYWNlIHRvIHRoYXQgbW9kZWwuICBBbmQgaXQncyBiZXN0IGRvbmUgYXQKKyAgICB0aGUgZW5kIG9mIHRoZSBtZXJnZSB3aW5kb3cgd2hlbiBJJ3ZlIGRvbmUgbW9zdCBvZiBteSBtZXJnZXMsIHNvIGxldCdzCisgICAganVzdCBnZXQgdGhpcyBkb25lIG9uY2UgYW5kIGZvciBhbGwuCisKKyAgICBUaGlzIHBhdGNoIHdhcyBtb3N0bHkgZG9uZSB3aXRoIGEgc2VkLXNjcmlwdCwgd2l0aCBtYW51YWwgZml4LXVwcyBmb3IKKyAgICB0aGUgY2FzZXMgdGhhdCB3ZXJlbid0IG9mIHRoZSB0cml2aWFsICdhY2Nlc3Nfb2soVkVSSUZZX3h5eicgZm9ybS4KKworICAgIFRoZXJlIHdlcmUgYSBjb3VwbGUgb2Ygbm90YWJsZSBjYXNlczoKKworICAgICAtIGNza3kgc3RpbGwgaGFkIHRoZSBvbGQgInZlcmlmeV9hcmVhKCkiIG5hbWUgYXMgYW4gYWxpYXMuCisKKyAgICAgLSB0aGUgaXRlcl9pb3YgY29kZSBoYWQgbWFnaWNhbCBoYXJkY29kZWQga25vd2xlZGdlIG9mIHRoZSBhY3R1YWwKKyAgICAgICB2YWx1ZXMgb2YgVkVSSUZZX3tSRUFELFdSSVRFfSAobm90IHRoYXQgdGhleSBtYXR0ZXJlZCwgc2luY2Ugbm90aGluZworICAgICAgIHJlYWxseSB1c2VkIGl0KQorCisgICAgIC0gbWljcm9ibGF6ZSB1c2VkIHRoZSB0eXBlIGFyZ3VtZW50IGZvciBhIGRlYnVnIHByaW50b3V0CisKKyAgICBidXQgb3RoZXIgdGhhbiB0aG9zZSBvZGRpdGllcyB0aGlzIHNob3VsZCBiZSBhIHRvdGFsIG5vLW9wIHBhdGNoLgorCisgICAgSSB0cmllZCB0byBmaXggdXAgYWxsIGFyY2hpdGVjdHVyZXMsIGRpZCBmYWlybHkgZXh0ZW5zaXZlIGdyZXBwaW5nIGZvcgorICAgIGFjY2Vzc19vaygpIHVzZXMsIGFuZCB0aGUgY2hhbmdlcyBhcmUgdHJpdmlhbCwgYnV0IEkgbWF5IGhhdmUgbWlzc2VkCisgICAgc29tZXRoaW5nLiAgQW55IG1pc3NlZCBjb252ZXJzaW9uIHNob3VsZCBiZSB0cml2aWFsbHkgZml4YWJsZSwgdGhvdWdoLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzAwMzlkYmU5ODkxY2ZkZjJjMGQwNDY5MWY4M2MyZjM0Mjk5M2RmZDcKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGxpYi9yaW5nYnVmZmVyL2JhY2tlbmQuaCAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQorIGxpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX2l0ZXJhdG9yLmMgfCAgMyArKy0KKyBsdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYyAgICAgICAgICAgIHwgIDQgKystLQorIHByb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMgICAgICAgICAgICAgfCAgMyArKy0KKyB3cmFwcGVyL3VhY2Nlc3MuaCAgICAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgNSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB3cmFwcGVyL3VhY2Nlc3MuaAorCitkaWZmIC0tZ2l0IGEvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oIGIvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oCitpbmRleCAwYjc1ZGU4Li4zZjhjMTA4IDEwMDY0NAorLS0tIGEvbGliL3JpbmdidWZmZXIvYmFja2VuZC5oCisrKysgYi9saWIvcmluZ2J1ZmZlci9iYWNrZW5kLmgKK0BAIC0zNCw3ICszNCw3IEBACisgI2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4KKyAjaW5jbHVkZSA8bGludXgvZnMuaD4KKyAjaW5jbHVkZSA8bGludXgvbW0uaD4KKy0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorKyNpbmNsdWRlIDx3cmFwcGVyL3VhY2Nlc3MuaD4KKyAKKyAvKiBJbnRlcm5hbCBoZWxwZXJzICovCisgI2luY2x1ZGUgPHdyYXBwZXIvcmluZ2J1ZmZlci9iYWNrZW5kX2ludGVybmFsLmg+CitAQCAtMzAyLDcgKzMwMiw3IEBAIHZvaWQgbGliX3JpbmdfYnVmZmVyX2NvcHlfZnJvbV91c2VyX2luYXRvbWljKGNvbnN0IHN0cnVjdCBsaWJfcmluZ19idWZmZXJfY29uZmlnCisgCisgCXNldF9mcyhLRVJORUxfRFMpOworIAlwYWdlZmF1bHRfZGlzYWJsZSgpOworLQlpZiAodW5saWtlbHkoIWFjY2Vzc19vayhWRVJJRllfUkVBRCwgc3JjLCBsZW4pKSkKKysJaWYgKHVubGlrZWx5KCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkpCisgCQlnb3RvIGZpbGxfYnVmZmVyOworIAorIAlpZiAobGlrZWx5KHBhZ2VjcHkgPT0gbGVuKSkgeworQEAgLTM3Miw3ICszNzIsNyBAQCB2b2lkIGxpYl9yaW5nX2J1ZmZlcl9zdHJjcHlfZnJvbV91c2VyX2luYXRvbWljKGNvbnN0IHN0cnVjdCBsaWJfcmluZ19idWZmZXJfY29uZgorIAorIAlzZXRfZnMoS0VSTkVMX0RTKTsKKyAJcGFnZWZhdWx0X2Rpc2FibGUoKTsKKy0JaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkpCisrCWlmICh1bmxpa2VseSghbHR0bmdfYWNjZXNzX29rKFZFUklGWV9SRUFELCBzcmMsIGxlbikpKQorIAkJZ290byBmaWxsX2J1ZmZlcjsKKyAKKyAJaWYgKGxpa2VseShwYWdlY3B5ID09IGxlbikpIHsKK0BAIC00NjIsNyArNDYyLDcgQEAgdW5zaWduZWQgbG9uZyBsaWJfcmluZ19idWZmZXJfY29weV9mcm9tX3VzZXJfY2hlY2tfbm9mYXVsdCh2b2lkICpkZXN0LAorIAl1bnNpZ25lZCBsb25nIHJldDsKKyAJbW1fc2VnbWVudF90IG9sZF9mczsKKyAKKy0JaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkKKysJaWYgKCFsdHRuZ19hY2Nlc3Nfb2soVkVSSUZZX1JFQUQsIHNyYywgbGVuKSkKKyAJCXJldHVybiAxOworIAlvbGRfZnMgPSBnZXRfZnMoKTsKKyAJc2V0X2ZzKEtFUk5FTF9EUyk7CitkaWZmIC0tZ2l0IGEvbGliL3JpbmdidWZmZXIvcmluZ19idWZmZXJfaXRlcmF0b3IuYyBiL2xpYi9yaW5nYnVmZmVyL3JpbmdfYnVmZmVyX2l0ZXJhdG9yLmMKK2luZGV4IDYxZWFhNWIuLjk2NDU5NDYgMTAwNjQ0CistLS0gYS9saWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jCisrKysgYi9saWIvcmluZ2J1ZmZlci9yaW5nX2J1ZmZlcl9pdGVyYXRvci5jCitAQCAtMjcsNiArMjcsNyBAQAorIAorICNpbmNsdWRlIDx3cmFwcGVyL3JpbmdidWZmZXIvaXRlcmF0b3IuaD4KKyAjaW5jbHVkZSA8d3JhcHBlci9maWxlLmg+CisrI2luY2x1ZGUgPHdyYXBwZXIvdWFjY2Vzcy5oPgorICNpbmNsdWRlIDxsaW51eC9qaWZmaWVzLmg+CisgI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CisgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorQEAgLTYyMSw3ICs2MjIsNyBAQCBzc2l6ZV90IGNoYW5uZWxfcmluZ19idWZmZXJfZmlsZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxwLAorIAlzc2l6ZV90IGxlbjsKKyAKKyAJbWlnaHRfc2xlZXAoKTsKKy0JaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCB1c2VyX2J1ZiwgY291bnQpKQorKwlpZiAoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfV1JJVEUsIHVzZXJfYnVmLCBjb3VudCkpCisgCQlyZXR1cm4gLUVGQVVMVDsKKyAKKyAJLyogRmluaXNoIGNvcHkgb2YgcHJldmlvdXMgcmVjb3JkICovCitkaWZmIC0tZ2l0IGEvbHR0bmctZmlsdGVyLWludGVycHJldGVyLmMgYi9sdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYworaW5kZXggZTEzMTQ2Mi4uYmVlMjkxOCAxMDA2NDQKKy0tLSBhL2x0dG5nLWZpbHRlci1pbnRlcnByZXRlci5jCisrKysgYi9sdHRuZy1maWx0ZXItaW50ZXJwcmV0ZXIuYworQEAgLTI0LDcgKzI0LDcgQEAKKyAgKiBTT0ZUV0FSRS4KKyAgKi8KKyAKKy0jaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorKyNpbmNsdWRlIDx3cmFwcGVyL3VhY2Nlc3MuaD4KKyAjaW5jbHVkZSA8d3JhcHBlci9mcmFtZS5oPgorICNpbmNsdWRlIDx3cmFwcGVyL3R5cGVzLmg+CisgCitAQCAtNDYsNyArNDYsNyBAQCBjaGFyIGdldF9jaGFyKHN0cnVjdCBlc3RhY2tfZW50cnkgKnJlZywgc2l6ZV90IG9mZnNldCkKKyAJCWNoYXIgYzsKKyAKKyAJCS8qIEhhbmRsZSBpbnZhbGlkIGFjY2VzcyBhcyBlbmQgb2Ygc3RyaW5nLiAqLworLQkJaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisrCQlpZiAodW5saWtlbHkoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfUkVBRCwKKyAJCQkJcmVnLT51LnMudXNlcl9zdHIgKyBvZmZzZXQsCisgCQkJCXNpemVvZihjKSkpKQorIAkJCXJldHVybiAnXDAnOworZGlmZiAtLWdpdCBhL3Byb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmMgYi9wcm9iZXMvbHR0bmctcHJvYmUtdXNlci5jCitpbmRleCAwOTlhNjZiLi5lZDU2NmRkIDEwMDY0NAorLS0tIGEvcHJvYmVzL2x0dG5nLXByb2JlLXVzZXIuYworKysrIGIvcHJvYmVzL2x0dG5nLXByb2JlLXVzZXIuYworQEAgLTIwLDYgKzIwLDcgQEAKKyAKKyAjaW5jbHVkZSA8bGludXgvdWFjY2Vzcy5oPgorICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKysjaW5jbHVkZSA8d3JhcHBlci91YWNjZXNzLmg+CisgI2luY2x1ZGUgPHByb2Jlcy9sdHRuZy1wcm9iZS11c2VyLmg+CisgCisgLyoKK0BAIC00Myw3ICs0NCw3IEBAIGxvbmcgbHR0bmdfc3RybGVuX3VzZXJfaW5hdG9taWMoY29uc3QgY2hhciAqYWRkcikKKyAJCWNoYXIgdjsKKyAJCXVuc2lnbmVkIGxvbmcgcmV0OworIAorLQkJaWYgKHVubGlrZWx5KCFhY2Nlc3Nfb2soVkVSSUZZX1JFQUQsCisrCQlpZiAodW5saWtlbHkoIWx0dG5nX2FjY2Vzc19vayhWRVJJRllfUkVBRCwKKyAJCQkJKF9fZm9yY2UgY29uc3QgY2hhciBfX3VzZXIgKikgYWRkciwKKyAJCQkJc2l6ZW9mKHYpKSkpCisgCQkJYnJlYWs7CitkaWZmIC0tZ2l0IGEvd3JhcHBlci91YWNjZXNzLmggYi93cmFwcGVyL3VhY2Nlc3MuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmM1NjQyN2MKKy0tLSAvZGV2L251bGwKKysrKyBiL3dyYXBwZXIvdWFjY2Vzcy5oCitAQCAtMCwwICsxLDI4IEBACisrLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4wIG9yIExHUEwtMi4xKQorKyAqCisrICogd3JhcHBlci91YWNjZXNzLmgKKysgKgorKyAqIHdyYXBwZXIgYXJvdW5kIGxpbnV4L3VhY2Nlc3MuaC4KKysgKgorKyAqIENvcHlyaWdodCAoQykgMjAxOSBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KKysgKi8KKysKKysjaWZuZGVmIF9MVFROR19XUkFQUEVSX1VBQ0NFU1NfSAorKyNkZWZpbmUgX0xUVE5HX1dSQVBQRVJfVUFDQ0VTU19ICisrCisrI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KKysjaW5jbHVkZSA8bHR0bmcta2VybmVsLXZlcnNpb24uaD4KKysKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkpCisrCisrI2RlZmluZSBWRVJJRllfUkVBRAkwCisrI2RlZmluZSBWRVJJRllfV1JJVEUJMQorKyNkZWZpbmUgbHR0bmdfYWNjZXNzX29rKHR5cGUsIGFkZHIsIHNpemUpIGFjY2Vzc19vayhhZGRyLCBzaXplKQorKworKyNlbHNlIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkgKi8KKysKKysjZGVmaW5lIGx0dG5nX2FjY2Vzc19vayh0eXBlLCBhZGRyLCBzaXplKSBhY2Nlc3Nfb2sodHlwZSwgYWRkciwgc2l6ZSkKKysKKysjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDUsMCwwKSAqLworKworKyNlbmRpZiAvKiBfTFRUTkdfV1JBUFBFUl9VQUNDRVNTX0ggKi8KKy0tIAorMi4xOS4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDYtRml4LVJlcGxhY2UtcG9pbnRlci12YWx1ZXMtd2l0aC10YXNrLXRrX3BpZC1hbmQtcnBjXy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDYtRml4LVJlcGxhY2UtcG9pbnRlci12YWx1ZXMtd2l0aC10YXNrLXRrX3BpZC1hbmQtcnBjXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODk0ODZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNi1GaXgtUmVwbGFjZS1wb2ludGVyLXZhbHVlcy13aXRoLXRhc2stdGtfcGlkLWFuZC1ycGNfLnBhdGNoCkBAIC0wLDAgKzEsMTg2IEBACitGcm9tIDg5ZjBiZTM1ZTFiYWY0MTFkZjY4NTIwMTQwMTNhYzY0YWQxYmJjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgOSBKYW4gMjAxOSAxNDo1OToxNiAtMDUwMAorU3ViamVjdDogW1BBVENIIDYvOV0gRml4OiBSZXBsYWNlIHBvaW50ZXIgdmFsdWVzIHdpdGggdGFzay0+dGtfcGlkIGFuZAorIHJwY19jbG50LT5jbF9jbGlkCisKK0ludHJvZHVjZWQgaW4gdjMuMTIuCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCA5MmNiNmM1YmU4MTM0ZGI2ZjdjMzhmMjVmNmFmZDEzZTQ0NGNlYmFmCisgIEF1dGhvcjogVHJvbmQgTXlrbGVidXN0IDxUcm9uZC5NeWtsZWJ1c3RAbmV0YXBwLmNvbT4KKyAgRGF0ZTogICBXZWQgU2VwIDQgMjI6MDk6NTAgMjAxMyAtMDQwMAorCisgICAgU1VOUlBDOiBSZXBsYWNlIHBvaW50ZXIgdmFsdWVzIHdpdGggdGFzay0+dGtfcGlkIGFuZCBycGNfY2xudC0+Y2xfY2xpZAorCisgICAgSW5zdGVhZCBvZiB0aGUgcG9pbnRlciB2YWx1ZXMsIHVzZSB0aGUgdGFzayBhbmQgY2xpZW50IGlkZW50aWZpZXIgdmFsdWVzCisgICAgZm9yIHRyYWNpbmcgcHVycG9zZXMuCisKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorU2lnbmVkLW9mZi1ieTogTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBiYWNrcG9ydCBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcvbHR0bmctbW9kdWxlcy9jb21taXQvODlmMGJlMzVlMWJhZjQxMWRmNjg1MjAxNDAxM2FjNjRhZDFiYmNmOAorCitTaWduZWQtb2ZmLWJ5OiBCcnVjZSBBc2hmaWVsZCA8YnJ1Y2UuYXNoZmllbGRAZ21haWwuY29tPgorLS0tCisgaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmggfCAxMDggKysrKysrKysrKysrKysrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK2luZGV4IGI5ZTQ1ZmUuLmE0YWM1NTcgMTAwNjQ0CistLS0gYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAorKysrIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmgKK0BAIC04LDYgKzgsMjAgQEAKKyAjaW5jbHVkZSA8bGludXgvc3VucnBjL3NjaGVkLmg+CisgI2luY2x1ZGUgPGxpbnV4L3N1bnJwYy9jbG50Lmg+CisgCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxMiwwKSkKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKysKKysJVFBfUFJPVE8oc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJKQorKykKKysjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTIwLDYgKzM0LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19zdGF0dXMsCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorIAkpCisgKQorKyNlbmRpZgorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfY2FsbF9zdGF0dXMsCisgCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzayksCitAQCAtNDAsOCArNTUsOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKHJwY19jb25uZWN0X3N0YXR1cywKKyAJVFBfQVJHUyh0YXNrKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfY2xudCAqLCBjbG50LCB0YXNrLT50a19jbGllbnQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIHRhc2tfaWQsIHRhc2stPnRrX3BpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgY2xpZW50X2lkLCB0YXNrLT50a19jbGllbnQtPmNsX2NsaWQpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorIAkpCisgKQorQEAgLTUzLDggKzY4LDggQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19ydW5uaW5nLAorIAlUUF9BUkdTKHRhc2ssIGFjdGlvbiksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorIAkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHZvaWQgKiwgYWN0aW9uLCBhY3Rpb24pCisgCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorQEAgLTkwLDggKzEwNSw4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcXVldWVkLAorIAlUUF9BUkdTKHRhc2ssIHEpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfaW50ZWdlcl9oZXgoY29uc3Qgc3RydWN0IHJwY19jbG50ICosIGNsbnQsIHRhc2stPnRrX2NsaWVudCkKKy0JCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKyAJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHRpbWVvdXQsIHRhc2stPnRrX3RpbWVvdXQpCisgCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisgCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorQEAgLTExNCw2ICsxMjksODcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3dha2V1cCwKKyAJVFBfQVJHUyh0YXNrLCBxKQorICkKKyAKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCisrCisrCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3J1bm5pbmcsCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbiksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCB2b2lkICosIGFjdGlvbiwgYWN0aW9uKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgbG9uZywgcnVuc3RhdGUsIHRhc2stPnRrX3J1bnN0YXRlKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIHNob3J0LCBmbGFncywgdGFzay0+dGtfZmxhZ3MpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19ydW5uaW5nLCBycGNfdGFza19iZWdpbiwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgYWN0aW9uKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3J1bm5pbmcsIHJwY190YXNrX3J1bl9hY3Rpb24sCisrCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfY2xudCAqY2xudCwgY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorKworKwlUUF9BUkdTKGNsbnQsIHRhc2ssIGFjdGlvbikKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19ydW5uaW5nLCBycGNfdGFza19jb21wbGV0ZSwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgYWN0aW9uKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3F1ZXVlZCwKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHN0cnVjdCBycGNfd2FpdF9xdWV1ZSAqcSksCisrCisrCVRQX0FSR1MoY2xudCwgdGFzaywgcSksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKysJCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGxvbmcsIHRpbWVvdXQsIHRhc2stPnRrX3RpbWVvdXQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBsb25nLCBydW5zdGF0ZSwgdGFzay0+dGtfcnVuc3RhdGUpCisrCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgdGFzay0+dGtfc3RhdHVzKQorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgc2hvcnQsIGZsYWdzLCB0YXNrLT50a19mbGFncykKKysJCWN0Zl9zdHJpbmcocV9uYW1lLCBycGNfcW5hbWUocSkpCisrCSkKKyspCisrCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3NsZWVwLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgc3RydWN0IHJwY193YWl0X3F1ZXVlICpxKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBxKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3F1ZXVlZCwgcnBjX3Rhc2tfd2FrZXVwLAorKworKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgc3RydWN0IHJwY193YWl0X3F1ZXVlICpxKSwKKysKKysJVFBfQVJHUyhjbG50LCB0YXNrLCBxKQorKykKKysKKyAjZWxzZQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorLS0gCisyLjE5LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLW1vZHVsZXMvMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzNjczMzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA3LUZpeC1TVU5SUEMtU2ltcGxpZnktZGVmaW5pbmctY29tbW9uLVJQQy10cmFjZS1ldmVudHMucGF0Y2gKQEAgLTAsMCArMSwxODMgQEAKK0Zyb20gZDExYjU2ODY4MWY4N2MyZGY2ZWNiMDUxNmQzZjE2ZDE1M2YyNGJkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1pY2hhZWwgSmVhbnNvbiA8bWplYW5zb25AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCA5IEphbiAyMDE5IDE0OjU5OjE3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggNy85XSBGaXg6IFNVTlJQQzogU2ltcGxpZnkgZGVmaW5pbmcgY29tbW9uIFJQQyB0cmFjZSBldmVudHMKKyAodjUuMCkKKworU2VlIHVwc3RyZWFtIGNvbW1pdCA6CisKKyAgY29tbWl0IGRjNTgyMGJkMjFkODRlZTM0NzcwYjBhMWUyZmNhOTM3OGY4Zjc0NTYKKyAgQXV0aG9yOiBDaHVjayBMZXZlciA8Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4KKyAgRGF0ZTogICBXZWQgRGVjIDE5IDExOjAwOjE2IDIwMTggLTA1MDAKKworICAgIFNVTlJQQzogU2ltcGxpZnkgZGVmaW5pbmcgY29tbW9uIFJQQyB0cmFjZSBldmVudHMKKworICAgIENsZWFuIHVwLCBubyBmdW5jdGlvbmFsIGNoYW5nZSBpcyBleHBlY3RlZC4KKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC9kMTFiNTY4NjgxZjg3YzJkZjZlY2IwNTE2ZDNmMTZkMTUzZjI0YmQyCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBpbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaCB8IDk5ICsrKysrKysrKysrKysrKystLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvcnBjLmggYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAoraW5kZXggYTRhYzU1Ny4uNDIzOTI4MCAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL3JwYy5oCisrKysgYi9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9ycGMuaAorQEAgLTgsNyArOCwzMiBAQAorICNpbmNsdWRlIDxsaW51eC9zdW5ycGMvc2NoZWQuaD4KKyAjaW5jbHVkZSA8bGludXgvc3VucnBjL2NsbnQuaD4KKyAKKy0jaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDUsMCwwKSkKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKysKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKysJKQorKykKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzaykKKyspCisrI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTIxLDYgKzQ2LDE4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKysKKytMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorKworKwlUUF9BUkdTKHRhc2spCisrKQorKworK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzayksCisrCisrCVRQX0FSR1ModGFzaykKKyspCisgI2Vsc2UKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKHJwY190YXNrX3N0YXR1cywKKyAKK0BAIC0zNCw3ICs3MSw2IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKy0jZW5kaWYKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKHJwY190YXNrX3N0YXR1cywgcnBjX2NhbGxfc3RhdHVzLAorIAlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2spLAorQEAgLTQ3LDggKzgzLDE1IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfc3RhdHVzLCBycGNfYmluZF9zdGF0dXMsCisgCisgCVRQX0FSR1ModGFzaykKKyApCisrI2VuZGlmCisgCistI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxNywwKSkKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig1LDAsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19zdGF0dXMsIHJwY19jb25uZWN0X3N0YXR1cywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrKSwKKysKKysJVFBfQVJHUyh0YXNrKQorKykKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQsMTcsMCkpCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisgCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzayksCisgCitAQCAtNjAsNyArMTAzLDMzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorIAkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHRhc2stPnRrX3N0YXR1cykKKyAJKQorICkKKysjZWxpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpCisrTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCisrCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCisrCisrCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKysKKysJVFBfRklFTERTKAorKwkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCB0YXNrX2lkLCB0YXNrLT50a19waWQpCisrCQljdGZfaW50ZWdlcih1bnNpZ25lZCBpbnQsIGNsaWVudF9pZCwgdGFzay0+dGtfY2xpZW50LT5jbF9jbGlkKQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysjZWxzZQorK0xUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorKwlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorKworKwlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCisrCisrCVRQX0ZJRUxEUygKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKiwgdGFzaywgdGFzaykKKysJCWN0Zl9pbnRlZ2VyX2hleChjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKiwgY2xudCwgdGFzay0+dGtfY2xpZW50KQorKwkJY3RmX2ludGVnZXIoaW50LCBzdGF0dXMsIHN0YXR1cykKKysJKQorKykKKysjZW5kaWYKKyAKKysjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE3LDApKQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAKKyAJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY190YXNrICp0YXNrLCBjb25zdCB2b2lkICphY3Rpb24pLAorQEAgLTEzMCwxOCArMTk5LDYgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShycGNfdGFza19xdWV1ZWQsIHJwY190YXNrX3dha2V1cCwKKyApCisgCisgI2VsaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEyLDApKQorLUxUVE5HX1RSQUNFUE9JTlRfRVZFTlQocnBjX2Nvbm5lY3Rfc3RhdHVzLAorLQlUUF9QUk9UTyhzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGludCBzdGF0dXMpLAorLQorLQlUUF9BUkdTKHRhc2ssIHN0YXR1cyksCistCistCVRQX0ZJRUxEUygKKy0JCWN0Zl9pbnRlZ2VyKHVuc2lnbmVkIGludCwgdGFza19pZCwgdGFzay0+dGtfcGlkKQorLQkJY3RmX2ludGVnZXIodW5zaWduZWQgaW50LCBjbGllbnRfaWQsIHRhc2stPnRrX2NsaWVudC0+Y2xfY2xpZCkKKy0JCWN0Zl9pbnRlZ2VyKGludCwgc3RhdHVzLCBzdGF0dXMpCistCSkKKy0pCistCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhycGNfdGFza19ydW5uaW5nLAorIAorIAlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgcnBjX2NsbnQgKmNsbnQsIGNvbnN0IHN0cnVjdCBycGNfdGFzayAqdGFzaywgY29uc3Qgdm9pZCAqYWN0aW9uKSwKK0BAIC0yMTEsMTggKzI2OCw2IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UocnBjX3Rhc2tfcXVldWVkLCBycGNfdGFza193YWtldXAsCisgKQorIAorICNlbHNlCistTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChycGNfY29ubmVjdF9zdGF0dXMsCistCVRQX1BST1RPKHN0cnVjdCBycGNfdGFzayAqdGFzaywgaW50IHN0YXR1cyksCistCistCVRQX0FSR1ModGFzaywgc3RhdHVzKSwKKy0KKy0JVFBfRklFTERTKAorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfdGFzayAqLCB0YXNrLCB0YXNrKQorLQkJY3RmX2ludGVnZXJfaGV4KGNvbnN0IHN0cnVjdCBycGNfY2xudCAqLCBjbG50LCB0YXNrLT50a19jbGllbnQpCistCQljdGZfaW50ZWdlcihpbnQsIHN0YXR1cywgc3RhdHVzKQorLQkpCistKQorLQorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MocnBjX3Rhc2tfcnVubmluZywKKyAKKyAJVFBfUFJPVE8oY29uc3Qgc3RydWN0IHJwY19jbG50ICpjbG50LCBjb25zdCBzdHJ1Y3QgcnBjX3Rhc2sgKnRhc2ssIGNvbnN0IHZvaWQgKmFjdGlvbiksCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA4LUZpeC1idHJmcy1SZW1vdmUtZnNpZC1tZXRhZGF0YV9mc2lkLWZpZWxkcy1mcm9tLWJ0cmYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYxMjk4OQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDgtRml4LWJ0cmZzLVJlbW92ZS1mc2lkLW1ldGFkYXRhX2ZzaWQtZmllbGRzLWZyb20tYnRyZi5wYXRjaApAQCAtMCwwICsxLDM0MSBAQAorRnJvbSA4YWY4MjQ1ZjZmODYzNzBkMDFjYzRhY2FhYmFmYjkwZGU0NWUxNDNmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUaHUsIDEwIEphbiAyMDE5IDE0OjU2OjE1IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0ggOC85XSBGaXg6IGJ0cmZzOiBSZW1vdmUgZnNpZC9tZXRhZGF0YV9mc2lkIGZpZWxkcyBmcm9tCisgYnRyZnNfaW5mbworCitJbnRyb2R1Y2VkIGluIHY1LjAuCisKK1NlZSB1cHN0cmVhbSBjb21taXQgOgorCisgIGNvbW1pdCBkZTM3YWE1MTMxMDVmODY0ZDNjMjExMDViZjU1NDJkNDk4ZjIxY2EyCisgIEF1dGhvcjogTmlrb2xheSBCb3Jpc292IDxuYm9yaXNvdkBzdXNlLmNvbT4KKyAgRGF0ZTogICBUdWUgT2N0IDMwIDE2OjQzOjI0IDIwMTggKzAyMDAKKworICAgIGJ0cmZzOiBSZW1vdmUgZnNpZC9tZXRhZGF0YV9mc2lkIGZpZWxkcyBmcm9tIGJ0cmZzX2luZm8KKworICAgIEN1cnJlbnRseSBidHJmc19mc19pbmZvIHN0cnVjdHVyZSBjb250YWlucyBhIGNvcHkgb2YgdGhlCisgICAgZnNpZC9tZXRhZGF0YV91dWlkIGZpZWxkcy4gU2FtZSB2YWx1ZXMgYXJlIGFsc28gY29udGFpbmVkIGluIHRoZQorICAgIGJ0cmZzX2ZzX2RldmljZXMgc3RydWN0dXJlIHdoaWNoIGZzX2luZm8gaGFzIGEgcmVmZXJlbmNlIHRvLiBMZXQncworICAgIHJlZHVjZSBkdXBsaWNhdGlvbiBieSByZW1vdmluZyB0aGUgZmllbGRzIGZyb20gZnNfaW5mbyBhbmQgYWx3YXlzIHJlZmVyCisgICAgdG8gdGhlIG9uZXMgaW4gZnNfZGV2aWNlcy4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1hdGhpZXUgRGVzbm95ZXJzIDxtYXRoaWV1LmRlc25veWVyc0BlZmZpY2lvcy5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogYmFja3BvcnQgaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLW1vZHVsZXMvY29tbWl0LzhhZjgyNDVmNmY4NjM3MGQwMWNjNGFjYWFiYWZiOTBkZTQ1ZTE0M2YKKworU2lnbmVkLW9mZi1ieTogQnJ1Y2UgQXNoZmllbGQgPGJydWNlLmFzaGZpZWxkQGdtYWlsLmNvbT4KKy0tLQorIGluc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmggfCAxMDAgKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbnN0cnVtZW50YXRpb24vZXZlbnRzL2x0dG5nLW1vZHVsZS9idHJmcy5oIGIvaW5zdHJ1bWVudGF0aW9uL2V2ZW50cy9sdHRuZy1tb2R1bGUvYnRyZnMuaAoraW5kZXggNGRmYmY1Yi4uZWM0NWExZSAxMDA2NDQKKy0tLSBhL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKKysrKyBiL2luc3RydW1lbnRhdGlvbi9ldmVudHMvbHR0bmctbW9kdWxlL2J0cmZzLmgKK0BAIC0zMiw2ICszMiwxMiBAQCBzdHJ1Y3QgZXh0ZW50X3N0YXRlOworIAorICNkZWZpbmUgQlRSRlNfVVVJRF9TSVpFIDE2CisgCisrI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNSwwLDApKQorKyNkZWZpbmUgbHR0bmdfZnNfaW5mb19mc2lkIGZzX2luZm8tPmZzX2RldmljZXMtPmZzaWQKKysjZWxzZQorKyNkZWZpbmUgbHR0bmdfZnNfaW5mb19mc2lkIGZzX2luZm8tPmZzaWQKKysjZW5kaWYKKysKKyAjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDE0LDApIHx8IFwKKyAJTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsNzMsNSwwLDAsIDQsNCw3Myw2LDAsMCkgfHwgXAorIAlMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw4Miw2LDAsMCwgNCw0LDgyLDcsMCwwKSB8fCBcCitAQCAtNjI5LDcgKzYzNSw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfYWRkX2Jsb2NrX2dyb3VwLAorIAlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBjcmVhdGUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG9mZnNldCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc2l6ZSwgYmxvY2tfZ3JvdXAtPmtleS5vZmZzZXQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCitAQCAtNjQ3LDcgKzY1Myw3IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfYWRkX2Jsb2NrX2dyb3VwLAorIAlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBjcmVhdGUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfaW50ZWdlcih1NjQsIG9mZnNldCwgYmxvY2tfZ3JvdXAtPmtleS5vYmplY3RpZCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc2l6ZSwgYmxvY2tfZ3JvdXAtPmtleS5vZmZzZXQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCitAQCAtMTAxNSwxOCArMTAyMSwxOCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19jaHVuaywKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2FsbG9jLAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIGNvbnN0IHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisgCQkgdTY0IG9mZnNldCwgdTY0IHNpemUpLAorIAorLQlUUF9BUkdTKGluZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorKwlUUF9BUkdTKGZzX2luZm8sIG1hcCwgb2Zmc2V0LCBzaXplKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19jaHVuaywgIGJ0cmZzX2NodW5rX2ZyZWUsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgY29uc3Qgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKyAJCSB1NjQgb2Zmc2V0LCB1NjQgc2l6ZSksCisgCistCVRQX0FSR1MoaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisrCVRQX0FSR1MoZnNfaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKK0BAIC0xMDUwLDE4ICsxMDU2LDE4IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX2NodW5rLAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX2NodW5rLCAgYnRyZnNfY2h1bmtfYWxsb2MsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgc3RydWN0IG1hcF9sb29rdXAgKm1hcCwKKyAJCSB1NjQgb2Zmc2V0LCB1NjQgc2l6ZSksCisgCistCVRQX0FSR1MoaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisrCVRQX0FSR1MoZnNfaW5mbywgbWFwLCBvZmZzZXQsIHNpemUpCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX2NodW5rLCAgYnRyZnNfY2h1bmtfZnJlZSwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHN0cnVjdCBtYXBfbG9va3VwICptYXAsCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCBzdHJ1Y3QgbWFwX2xvb2t1cCAqbWFwLAorIAkJIHU2NCBvZmZzZXQsIHU2NCBzaXplKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKysJVFBfQVJHUyhmc19pbmZvLCBtYXAsIG9mZnNldCwgc2l6ZSkKKyApCisgCisgI2VsaWYgKExUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKK0BAIC0xMTkyLDcgKzExOTgsNyBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UKGJ0cmZzX3NwYWNlX3Jlc2VydmF0aW9uLAorIAlUUF9BUkdTKGZzX2luZm8sIHR5cGUsIHZhbCwgYnl0ZXMsIHJlc2VydmUpLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGZzX2luZm8tPmZzaWQsIEJUUkZTX1VVSURfU0laRSkKKysJCWN0Zl9hcnJheSh1OCwgZnNpZCwgbHR0bmdfZnNfaW5mb19mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisgCQljdGZfc3RyaW5nKHR5cGUsIHR5cGUpCisgCQljdGZfaW50ZWdlcih1NjQsIHZhbCwgdmFsKQorIAkJY3RmX2ludGVnZXIodTY0LCBieXRlcywgYnl0ZXMpCitAQCAtMTIwOCw3ICsxMjE0LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVChidHJmc19zcGFjZV9yZXNlcnZhdGlvbiwKKyAJVFBfQVJHUyhmc19pbmZvLCB0eXBlLCB2YWwsIGJ5dGVzLCByZXNlcnZlKSwKKyAKKyAJVFBfRklFTERTKAorLQkJY3RmX2FycmF5KHU4LCBmc2lkLCBmc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGx0dG5nX2ZzX2luZm9fZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorIAkJY3RmX3N0cmluZyh0eXBlLCB0eXBlKQorIAkJY3RmX2ludGVnZXIodTY0LCB2YWwsIHZhbCkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYnl0ZXMsIGJ5dGVzKQorQEAgLTEyMjEsOSArMTIyNyw5IEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlQoYnRyZnNfc3BhY2VfcmVzZXJ2YXRpb24sCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbiksCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgc3RhcnQsIHN0YXJ0KQorQEAgLTEyMzMsMjUgKzEyMzksMjUgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVkX2V4dGVudCwgIGJ0cmZzX3Jlc2VydmVkX2V4dGVudF9hbGxvYywKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbikKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LCAgYnRyZnNfcmVzZXJ2ZWRfZXh0ZW50X2ZyZWUsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIHN0YXJ0LCBsZW4pCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBzdGFydCwgbGVuKSwKKyAKKyAJVFBfRklFTERTKAorIAkJY3RmX2ludGVnZXIodTY0LCBzdGFydCwgc3RhcnQpCitAQCAtMTI2MSwxNiArMTI2NywxNiBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZWRfZXh0ZW50LCAgYnRyZnNfcmVzZXJ2ZWRfZXh0ZW50X2FsbG9jLAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywgdTY0IHN0YXJ0LCB1NjQgbGVuKSwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBzdGFydCwgbGVuKQorICkKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlZF9leHRlbnQsICBidHJmc19yZXNlcnZlZF9leHRlbnRfZnJlZSwKKyAKKy0JVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sIHU2NCBzdGFydCwgdTY0IGxlbiksCisrCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLCB1NjQgc3RhcnQsIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgc3RhcnQsIGxlbikKKyApCisgCisgI2VsaWYgKExUVE5HX1NMRV9LRVJORUxfUkFOR0UoNCw0LDczLDUsMCwwLCA0LDQsNzMsNiwwLDApIHx8IFwKK0BAIC0xMzQxLDEzICsxMzQ3LDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTM2Miw3ICsxMzY4LDcgQEAgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9DTEFTUyhidHJmc19fcmVzZXJ2ZV9leHRlbnQsCisgCVRQX0FSR1MoYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pLAorIAorIAlUUF9GSUVMRFMoCistCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5mc19pbmZvLT5mc2lkLCBCVFJGU19VVUlEX1NJWkUpCisrCQljdGZfYXJyYXkodTgsIGZzaWQsIGJsb2NrX2dyb3VwLT5sdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCisgCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKK0BAIC0xMzkxLDEzICsxMzk3LDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTQwNiwxNCArMTQxMiwxNCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgY29uc3Qgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCisgCQljdGZfaW50ZWdlcih1NjQsIGZsYWdzLCBibG9ja19ncm91cC0+ZmxhZ3MpCisgCQljdGZfaW50ZWdlcih1NjQsIHN0YXJ0LCBzdGFydCkKK0BAIC0xNDIzLDIwICsxNDI5LDIwIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudCwKKyAKKy0JVFBfUFJPVE8oY29uc3Qgc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmluZm8sCisrCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICpmc19pbmZvLAorIAkJIGNvbnN0IHN0cnVjdCBidHJmc19ibG9ja19ncm91cF9jYWNoZSAqYmxvY2tfZ3JvdXAsIHU2NCBzdGFydCwKKyAJCSB1NjQgbGVuKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbikKKyApCisgCisgTFRUTkdfVFJBQ0VQT0lOVF9FVkVOVF9JTlNUQU5DRShidHJmc19fcmVzZXJ2ZV9leHRlbnQsIGJ0cmZzX3Jlc2VydmVfZXh0ZW50X2NsdXN0ZXIsCisgCistCVRQX1BST1RPKGNvbnN0IHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLAorKwlUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywKKyAJCSBjb25zdCBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCisgCQkgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisgKQorIAorICNlbGlmIChMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxMCwwKSkKK0BAIC0xNDQ1LDEzICsxNDUxLDEzIEBAIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfTUFQKGZpbmRfZnJlZV9leHRlbnQsCisgCisgCWJ0cmZzX2ZpbmRfZnJlZV9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLCB1NjQgbnVtX2J5dGVzLCB1NjQgZW1wdHlfc2l6ZSwKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sIHU2NCBudW1fYnl0ZXMsIHU2NCBlbXB0eV9zaXplLAorIAkJIHU2NCBkYXRhKSwKKyAKKy0JVFBfQVJHUyhpbmZvLCBudW1fYnl0ZXMsIGVtcHR5X3NpemUsIGRhdGEpLAorKwlUUF9BUkdTKGZzX2luZm8sIG51bV9ieXRlcywgZW1wdHlfc2l6ZSwgZGF0YSksCisgCisgCVRQX0ZJRUxEUygKKy0JCWN0Zl9hcnJheSh1OCwgZnNpZCwgaW5mby0+ZnNpZCwgQlRSRlNfVVVJRF9TSVpFKQorKwkJY3RmX2FycmF5KHU4LCBmc2lkLCBsdHRuZ19mc19pbmZvX2ZzaWQsIEJUUkZTX1VVSURfU0laRSkKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgbnVtX2J5dGVzLCBudW1fYnl0ZXMpCisgCQljdGZfaW50ZWdlcih1NjQsIGVtcHR5X3NpemUsIGVtcHR5X3NpemUpCisgCQljdGZfaW50ZWdlcih1NjQsIGRhdGEsIGRhdGEpCitAQCAtMTQ2MCwxMSArMTQ2NiwxMSBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX01BUChmaW5kX2ZyZWVfZXh0ZW50LAorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfQ0xBU1MoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKSwKKysJVFBfQVJHUyhmc19pbmZvLCBibG9ja19ncm91cCwgc3RhcnQsIGxlbiksCisgCisgCVRQX0ZJRUxEUygKKyAJCWN0Zl9pbnRlZ2VyKHU2NCwgYmdfb2JqZWN0aWQsIGJsb2NrX2dyb3VwLT5rZXkub2JqZWN0aWQpCitAQCAtMTQ3NiwyMCArMTQ4MiwyMCBAQCBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0NMQVNTKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwKKyAKKyBMVFROR19UUkFDRVBPSU5UX0VWRU5UX0lOU1RBTkNFKGJ0cmZzX19yZXNlcnZlX2V4dGVudCwgYnRyZnNfcmVzZXJ2ZV9leHRlbnQsCisgCistCVRQX1BST1RPKHN0cnVjdCBidHJmc19mc19pbmZvICppbmZvLAorKwlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqZnNfaW5mbywKKyAJCSBzdHJ1Y3QgYnRyZnNfYmxvY2tfZ3JvdXBfY2FjaGUgKmJsb2NrX2dyb3VwLCB1NjQgc3RhcnQsCisgCQkgdTY0IGxlbiksCisgCistCVRQX0FSR1MoaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisrCVRQX0FSR1MoZnNfaW5mbywgYmxvY2tfZ3JvdXAsIHN0YXJ0LCBsZW4pCisgKQorIAorIExUVE5HX1RSQUNFUE9JTlRfRVZFTlRfSU5TVEFOQ0UoYnRyZnNfX3Jlc2VydmVfZXh0ZW50LCBidHJmc19yZXNlcnZlX2V4dGVudF9jbHVzdGVyLAorIAorLQlUUF9QUk9UTyhzdHJ1Y3QgYnRyZnNfZnNfaW5mbyAqaW5mbywKKysJVFBfUFJPVE8oc3RydWN0IGJ0cmZzX2ZzX2luZm8gKmZzX2luZm8sCisgCQkgc3RydWN0IGJ0cmZzX2Jsb2NrX2dyb3VwX2NhY2hlICpibG9ja19ncm91cCwgdTY0IHN0YXJ0LAorIAkJIHU2NCBsZW4pLAorIAorLQlUUF9BUkdTKGluZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorKwlUUF9BUkdTKGZzX2luZm8sIGJsb2NrX2dyb3VwLCBzdGFydCwgbGVuKQorICkKKyAjZWxpZiAoTFRUTkdfU0xFX0tFUk5FTF9SQU5HRSg0LDQsNzMsNSwwLDAsIDQsNCw3Myw2LDAsMCkgfHwgXAorIAlMVFROR19TTEVfS0VSTkVMX1JBTkdFKDQsNCw4Miw2LDAsMCwgNCw0LDgyLDcsMCwwKSB8fCBcCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzLzAwMDktQ2xlYW51cC10cC1tZW1wb29sLVJlbW92ZS1sb2dpY2FsbHktZGVhZC1jb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmZmU0ODgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlcy8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGcm9tIDQxNmNlZTg3MDcwNTNhOTAxNWRmZWM4MzMyZTEyZjhjMjYzMDk4ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorRGF0ZTogVGh1LCAxNCBGZWIgMjAxOSAxMTo0MDo1MCAtMDUwMAorU3ViamVjdDogW1BBVENIIDkvOV0gQ2xlYW51cDogdHAgbWVtcG9vbDogUmVtb3ZlIGxvZ2ljYWxseSBkZWFkIGNvZGUKKworRm91bmQgYnkgQ292ZXJpdHk6CitDSUQgMTM5MTA0NSAoIzEgb2YgMSk6IExvZ2ljYWxseSBkZWFkIGNvZGUgKERFQURDT0RFKQorCitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IGJhY2twb3J0IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy1tb2R1bGVzL2NvbW1pdC80MTZjZWU4NzA3MDUzYTkwMTVkZmVjODMzMmUxMmY4YzI2MzA5OGUzCisKK1NpZ25lZC1vZmYtYnk6IEJydWNlIEFzaGZpZWxkIDxicnVjZS5hc2hmaWVsZEBnbWFpbC5jb20+CistLS0KKyBsdHRuZy10cC1tZW1wb29sLmMgfCAxMSArKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9sdHRuZy10cC1tZW1wb29sLmMgYi9sdHRuZy10cC1tZW1wb29sLmMKK2luZGV4IGQ5ODRiZDQuLjIxZTgzNzYgMTAwNjQ0CistLS0gYS9sdHRuZy10cC1tZW1wb29sLmMKKysrKyBiL2x0dG5nLXRwLW1lbXBvb2wuYworQEAgLTE1MSwxOSArMTUxLDEyIEBAIHZvaWQgbHR0bmdfdHBfbWVtcG9vbF9mcmVlKHZvaWQgKnB0cikKKyAJc3RydWN0IGx0dG5nX3RwX2J1Zl9lbnRyeSAqZW50cnk7CisgCXN0cnVjdCBwZXJfY3B1X2J1ZiAqY3B1X2J1ZjsKKyAKKy0JaWYgKCFwdHIpIHsKKysJaWYgKCFwdHIpCisgCQlnb3RvIGVuZDsKKy0JfQorLQorIAllbnRyeSA9IGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBsdHRuZ190cF9idWZfZW50cnksIGJ1Zik7CistCWlmICghZW50cnkpIHsKKy0JCWdvdG8gZW5kOworLQl9CistCisgCWNwdV9idWYgPSBwZXJfY3B1X3B0cihwb29sLCBlbnRyeS0+Y3B1KTsKKy0JaWYgKCFjcHVfYnVmKSB7CisrCWlmICghY3B1X2J1ZikKKyAJCWdvdG8gZW5kOworLQl9CisgCS8qIEFkZCBpdCB0byB0aGUgZnJlZSBsaXN0LiAqLworIAlsaXN0X2FkZF90YWlsKCZlbnRyeS0+bGlzdCwgJmNwdV9idWYtPmZyZWVfbGlzdCk7CisgCistLSAKKzIuMTkuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVlNzVlNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOC5iYgpAQCAtMCwwICsxLDQ1IEBACitTRUNUSU9OID0gImRldmVsIgorU1VNTUFSWSA9ICJMaW51eCBUcmFjZSBUb29sa2l0IEtFUk5FTCBNT0RVTEUiCitERVNDUklQVElPTiA9ICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgorTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyICYgTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzQ2MTNkMWY4YTk1ODdiZDdiMzY2MTkxODMwMzY0YjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQgXAorICAgICAgICAgICAgICAgICAgICAiCisKK2luaGVyaXQgbW9kdWxlCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0fG1pcHN8bmlvczJ8YXJtfHJpc2N2KS4qLWxpbnV4JworCisjaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuMTAuNy50YXIuYnoyCitTUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1Eby1ub3QtZmFpbC1pZi1DT05GSUdfVFJBQ0VQT0lOVFMtaXMtbm90LWVuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0JVSUxEX1JVTlRJTUVfQlVHX09OLXZzLWdjYzcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc2lnbmFsLURpc3Rpbmd1aXNoLWJldHdlZW4ta2VybmVsX3NpZ2luZm8tYW5kLXNpLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItRml4LXNpZ25hbC1SZW1vdmUtU0VORF9TSUdfRk9SQ0VELXY0LjIwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LWV4dDQtYWRqdXN0LXJlc2VydmVkLWNsdXN0ZXItY291bnQtd2hlbi1yZW1vdmluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LUZpeC10aW1lci1pbnN0cnVtZW50YXRpb24tZm9yLVJIRUwtNy42LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDUtRml4LVJlbW92ZS10eXBlLWFyZ3VtZW50LWZyb20tYWNjZXNzX29rLWZ1bmN0aW9uLXY1Li5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA2LUZpeC1SZXBsYWNlLXBvaW50ZXItdmFsdWVzLXdpdGgtdGFzay10a19waWQtYW5kLXJwY18ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtU1VOUlBDLVNpbXBsaWZ5LWRlZmluaW5nLWNvbW1vbi1SUEMtdHJhY2UtZXZlbnRzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDgtRml4LWJ0cmZzLVJlbW92ZS1mc2lkLW1ldGFkYXRhX2ZzaWQtZmllbGRzLWZyb20tYnRyZi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA5LUNsZWFudXAtdHAtbWVtcG9vbC1SZW1vdmUtbG9naWNhbGx5LWRlYWQtY29kZS5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjU0YmQ5ZmNhNjE0ODdiYmVjMWIzZmNhMmYyMjEzYzk4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZlMWQyNjliY2E3MjNlODk0OGFmODcxYzMyMmMzN2QzOTAwZTY0N2NkYzVlYjNlZmJlODIxZTQzNGJlZWU0NGMiCisKK2V4cG9ydCBJTlNUQUxMX01PRF9ESVI9Imtlcm5lbC9sdHRuZy1tb2R1bGVzIgorCitFWFRSQV9PRU1BS0UgKz0gIktFUk5FTERJUj0nJHtTVEFHSU5HX0tFUk5FTF9ESVJ9JyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBEZWxldGUgZW1wdHkgZGlyZWN0b3JpZXMgdG8gYXZvaWQgUUEgZmFpbHVyZXMgaWYgbm8gbW9kdWxlcyB3ZXJlIGJ1aWx0CisJZmluZCAke0R9LyR7bm9uYXJjaF9iYXNlX2xpYmRpcn0gLWRlcHRoIC10eXBlIGQgLWVtcHR5IC1leGVjIHJtZGlyIHt9IFw7Cit9CisKK3B5dGhvbiBkb19wYWNrYWdlX3ByZXBlbmQoKSB7CisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihkLmdldFZhcignRCcpLCBkLmdldFZhcignbm9uYXJjaF9iYXNlX2xpYmRpcicpWzE6XSwgJ21vZHVsZXMnKSk6CisgICAgICAgIGJiLndhcm4oIiVzOiBubyBtb2R1bGVzIHdlcmUgY3JlYXRlZDsgdGhpcyBtYXkgYmUgZHVlIHRvIENPTkZJR19UUkFDRVBPSU5UUyBub3QgYmVpbmcgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iICUgZC5nZXRWYXIoJ1BOJykpCit9CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy1tb2R1bGVzXzIuMTAuOS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDI5NzM3Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctbW9kdWxlc18yLjEwLjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi1TRUNUSU9OID0gImRldmVsIgotU1VNTUFSWSA9ICJMaW51eCBUcmFjZSBUb29sa2l0IEtFUk5FTCBNT0RVTEUiCi1ERVNDUklQVElPTiA9ICJUaGUgbHR0bmctbW9kdWxlcyAyLjAgcGFja2FnZSBjb250YWlucyB0aGUga2VybmVsIHRyYWNlciBtb2R1bGVzIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyICYgTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9YzQ2MTNkMWY4YTk1ODdiZDdiMzY2MTkxODMwMzY0YjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLWluaGVyaXQgbW9kdWxlCi0KLUNPTVBBVElCTEVfSE9TVCA9ICcoeDg2XzY0fGkuODZ8cG93ZXJwY3xhYXJjaDY0fG1pcHN8bmlvczJ8YXJtKS4qLWxpbnV4JwotCi0jaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctbW9kdWxlcy9sdHRuZy1tb2R1bGVzLTIuMTAuNy50YXIuYnoyCi1TUkNfVVJJID0gImh0dHBzOi8vbHR0bmcub3JnL2ZpbGVzLyR7QlBOfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS1Eby1ub3QtZmFpbC1pZi1DT05GSUdfVFJBQ0VQT0lOVFMtaXMtbm90LWVuLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0JVSUxEX1JVTlRJTUVfQlVHX09OLXZzLWdjYzcucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDlkZjBhYzJlOGYyNDU3NDBhMmYzMjQxMWQxMGMwZDEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTE4NTViYmQwMmQwZjcxZWJkMTgwZTk4NzIzMDk4NjIwMzY2MjRmMDEyNDQyYWI5Y2M1ODUyZWI2MDM0MDE0NSIKLQotZXhwb3J0IElOU1RBTExfTU9EX0RJUj0ia2VybmVsL2x0dG5nLW1vZHVsZXMiCi0KLUVYVFJBX09FTUFLRSArPSAiS0VSTkVMRElSPScke1NUQUdJTkdfS0VSTkVMX0RJUn0nIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQkjIERlbGV0ZSBlbXB0eSBkaXJlY3RvcmllcyB0byBhdm9pZCBRQSBmYWlsdXJlcyBpZiBubyBtb2R1bGVzIHdlcmUgYnVpbHQKLQlmaW5kICR7RH0vJHtub25hcmNoX2Jhc2VfbGliZGlyfSAtZGVwdGggLXR5cGUgZCAtZW1wdHkgLWV4ZWMgcm1kaXIge30gXDsKLX0KLQotcHl0aG9uIGRvX3BhY2thZ2VfcHJlcGVuZCgpIHsKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGQuZ2V0VmFyKCdEJyksIGQuZ2V0VmFyKCdub25hcmNoX2Jhc2VfbGliZGlyJylbMTpdLCAnbW9kdWxlcycpKToKLSAgICAgICAgYmIud2FybigiJXM6IG5vIG1vZHVsZXMgd2VyZSBjcmVhdGVkOyB0aGlzIG1heSBiZSBkdWUgdG8gQ09ORklHX1RSQUNFUE9JTlRTIG5vdCBiZWluZyBlbmFibGVkIGluIHlvdXIga2VybmVsLiIgJSBkLmdldFZhcignUE4nKSkKLX0KLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1BbGxvdy1tdWx0aXBsZS1hdHRlbXB0cy10by1jb25uZWN0LXRvLXJlbGF5ZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk5OGZjMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1BbGxvdy1tdWx0aXBsZS1hdHRlbXB0cy10by1jb25uZWN0LXRvLXJlbGF5ZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gNzBlZmY4OTkxMDRiODZiYWUwMjg2MjkyN2M3NmNhYWVmNWRlNWQzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pa2FlbCBCZWNraXVzIDxtaWthZWwuYmVja2l1c0B3aW5kcml2ZXIuY29tPgotRGF0ZTogVGh1LCA3IE1heSAyMDE1IDE2OjE0OjI1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFsbG93IG11bHRpcGxlIGF0dGVtcHRzIHRvIGNvbm5lY3QgdG8gcmVsYXlkLgotCi1JdCBpcyB1bmNsZWFyIHdoeSBhIHNlc3Npb24gbmVlZHMgdG8gYmUgbWFkZQotdW51c2FibGUgYWZ0ZXIgYSBmYWlsdXJlIHRvIGNvbm5lY3QgdG8gcmVsYXlkCi1zaW5jZSBhIGNoZWNrIGZvciBhIHJlbGF5ZCBjb25uZWN0aW9uIGlzCi1hbHdheXMgbWFkZSBiZWZvcmUgYSBzZXNzaW9uIGNhbiBiZSBjb25maWd1cmVkLgotCi1UaGUgYmVoYXZpb3VyIHdhcyBpbnRyb2R1Y2VkIGluOgotZDkwNzhkMGMwMDBkMDRkNDljNTk5YTcyYzFhNzI1MDI2YjYzNmVjMAotCi1TaWduZWQtb2ZmLWJ5OiBNaWthZWwgQmVja2l1cyA8bWlrYWVsLmJlY2tpdXNAd2luZHJpdmVyLmNvbT4KLVsgVGhlIGNvbnRleHQgaGFzIG1vdmVkLCBhZGp1c3QgdGhlIGh1bmsgYWNjb3JkaW5nbHkgXQotU2lnbmVkLW9mZi1ieTogSGUgWmhlIDx6aGUuaGVAd2luZHJpdmVyLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotLS0tCi0gc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYyB8IDggLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvY21kLmMgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL2NtZC5jCi1pbmRleCBjZjMwYjhlLi5jYzQxYTQ4IDEwMDY0NAotLS0tIGEvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwotKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9jbWQuYwotQEAgLTk0NSwxNCArOTQ1LDYgQEAgc3RhdGljIGludCBzZW5kX2NvbnN1bWVyX3JlbGF5ZF9zb2NrZXQoZW51bSBsdHRuZ19kb21haW5fdHlwZSBkb21haW4sCi0gCSAqLwotIAotIGNsb3NlX3NvY2s6Ci0tCWlmIChyZXQgIT0gTFRUTkdfT0spIHsKLS0JCS8qCi0tCQkgKiBUaGUgY29uc3VtZXIgb3V0cHV0IGZvciB0aGlzIHNlc3Npb24gc2hvdWxkIG5vdCBiZSB1c2VkIGFueW1vcmUKLS0JCSAqIHNpbmNlIHRoZSByZWxheWQgY29ubmVjdGlvbiBmYWlsZWQgdGh1cyBtYWtpbmcgYW55IHRyYWNpbmcgb3IvYW5kCi0tCQkgKiBzdHJlYW1pbmcgbm90IHVzYWJsZS4KLS0JCSAqLwotLQkJY29uc3VtZXItPmVuYWJsZWQgPSAwOwotLQl9Ci0gCSh2b2lkKSByZWxheWRfY2xvc2UocnNvY2spOwotIAlmcmVlKHJzb2NrKTsKLSAKLS0tIAotMi4xNy4xCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYxOGRjOAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDAxLUZpeC10ZXN0cy1saW5rLWxpYnBhdXNlX2NvbnN1bWVyLW9uLWxpYmx0dG5nLWN0bC5wYXRjaApAQCAtMCwwICsxLDM1IEBACitGcm9tIDcyNDRlYWM0NGJlOTI5ZmFiZDZlZDEzMzNmOTY5MjllZjhkYTU2NGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUdWUsIDE5IE1hciAyMDE5IDE3OjU2OjQ5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeDogdGVzdHM6IGxpbmsgbGlicGF1c2VfY29uc3VtZXIgb24gbGlibHR0bmctY3RsCisKK1RoaXMgcHJlbG9hZCB0ZXN0IGxpYnJhcnkgdXNlcyBzeW1ib2xzIGZyb20gbGlibHR0bmctY3RsIHdoaWNoIGFyZQorcmVzb2x2ZWQgd2hlbiBwcmVsb2FkZWQgYnkgR0xJQkMgYnV0IG5vdCBieSBNVVNMLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtmNjY3ZmJkN2Y4Yjk1MTJmOTk0M2VkYjI1OTdjMjI2ZmNjNDI0ZWU5XQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwLgorCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL01ha2VmaWxlLmFtIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vTWFrZWZpbGUuYW0KK2luZGV4IDQxYWRjNjkuLmEzNTJiYjggMTAwNjQ0CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi9NYWtlZmlsZS5hbQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vTWFrZWZpbGUuYW0KK0BAIC0yMCw3ICsyMCwxMCBAQCBGT1JDRV9TSEFSRURfTElCX09QVElPTlMgPSAtbW9kdWxlIC1zaGFyZWQgLWF2b2lkLXZlcnNpb24gXAorIAkJCSAgIC1ycGF0aCAkKGFic19idWlsZGRpcikKKyAKKyBsaWJwYXVzZV9jb25zdW1lcl9sYV9TT1VSQ0VTID0gY29uc3VtZXJfdGVzdHBvaW50cy5jCistbGlicGF1c2VfY29uc3VtZXJfbGFfTElCQUREID0gJCh0b3BfYnVpbGRkaXIpL3NyYy9jb21tb24vbGliY29tbW9uLmxhICQoRExfTElCUykKKytsaWJwYXVzZV9jb25zdW1lcl9sYV9MSUJBREQgPSBcCisrICAgICAkKHRvcF9idWlsZGRpcikvc3JjL2NvbW1vbi9saWJjb21tb24ubGEgXAorKyAgICAgJCh0b3BfYnVpbGRkaXIpL3NyYy9saWIvbHR0bmctY3RsL2xpYmx0dG5nLWN0bC5sYSBcCisrICAgICAkKERMX0xJQlMpCisgbGlicGF1c2VfY29uc3VtZXJfbGFfTERGTEFHUyA9ICQoRk9SQ0VfU0hBUkVEX0xJQl9PUFRJT05TKQorIG5vaW5zdF9MVExJQlJBUklFUyA9IGxpYnBhdXNlX2NvbnN1bWVyLmxhCisgCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMi1GaXgtdGVzdC1za2lwLXRlc3RfZ2V0Y3B1X292ZXJyaWRlLW9uLXNpbmdsZS10aHJlYWQtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmI4OGQyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDItRml4LXRlc3Qtc2tpcC10ZXN0X2dldGNwdV9vdmVycmlkZS1vbi1zaW5nbGUtdGhyZWFkLS5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIGU3ZGIyNzY2OGE5ZDdmZDI3OWQ0NWJjNDNmM2EyZDU4NDczNzRlN2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBUdWUsIDEyIE1hciAyMDE5IDEyOjA0OjU4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggbHR0bmctdG9vbHMgMS8yXSBGaXg6IHRlc3Q6IHNraXAgdGVzdF9nZXRjcHVfb3ZlcnJpZGUgb24KKyBzaW5nbGUgdGhyZWFkIHN5c3RlbQorCitUaGVyZSBpcyBubyB2YWx1ZSBpbiBwZXJmb3JtaW5nIHRoaXMgdGVzdCBvbiBzaW5nbGUgdGhyZWFkIHN5c3RlbQorc2luY2UgdGhlIG9ubHkgdmFsaWQgdmFsdWUgZm9yIHRoZSBjcHUgZmllbGQgaXMgMC4KKworVGhpcyB0ZXN0IGN1cnJlbnRseSBmYWlscyBvbiBzaW5nbGUgdGhyZWFkIHN5c3RlbSAoaS5lIHlvY3RvIHJ1bnF1ZW11KQorb24gdGhlIHRlc3RfZ2V0Y3B1X292ZXJyaWRlX2ZhaWwgdGVzdCBjYXNlLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFtmODdkMGNhMzcwYzE3YjU5Nzc2MmY1ZWUyMThmMGU4MjFlZDI0NTJkXQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIC4uLi91c3QvZ2V0Y3B1LW92ZXJyaWRlL3Rlc3RfZ2V0Y3B1X292ZXJyaWRlICAgICB8IDE2ICsrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZQoraW5kZXggNGNhMzg1YWViLi5lZTNlMzE5NTMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3VzdC9nZXRjcHUtb3ZlcnJpZGUvdGVzdF9nZXRjcHVfb3ZlcnJpZGUKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdXN0L2dldGNwdS1vdmVycmlkZS90ZXN0X2dldGNwdV9vdmVycmlkZQorQEAgLTE1NywxMyArMTU3LDE5IEBAIHBsYW5fdGVzdHMgJE5VTV9URVNUUworIAorIHByaW50X3Rlc3RfYmFubmVyICIkVEVTVF9ERVNDIgorIAorLWlmIFsgLXggIiRDVVJESVIvLmxpYnMvbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LnNvIiBdOyB0aGVuCistCWZvdW5kb2JqPTEKKy1lbHNlCistCWZvdW5kb2JqPTAKKytpZiBbICEgLXggIiRDVVJESVIvLmxpYnMvbHR0bmctdXN0LWdldGNwdS1vdmVycmlkZS10ZXN0LnNvIiBdOyB0aGVuCisrCXNraXAgMCAiTm8gc2hhcmVkIG9iamVjdCBnZW5lcmF0ZWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisrZmkKKysKKytpZiBbICIkbnVtX2NwdXMiIC1lcSAiMSIgXTsgdGhlbgorKwkjIFNraXAgdGhlIHRlc3Qgc2luY2Ugd2UgY2Fubm90IHBlcmZvcm0gaXQgYXMgZGVzaWduZWQgc2luY2UgTiBtb2QgMQorKwkjIGlzIGFsd2F5cyBlcXVhbHMgdG8gemVyby4gVGhlcmUgaXMgbm8gcG9pbnQgdGVzdGluZyB0aGlzIG9uIGEgc3lzdGVtCisrCSMgd2l0aCBhIHNpbmdsZSB0aHJlYWQuIExUVG5nLVVTVCBsaW1pdHMgdGhlIGdldF9jcHUgZnVuY3Rpb24gdG8gcmV0dXJuCisrCSMgdmFsdWUgaW5zaWRlIHRoZSBbMCwgTlVNX0NQVSAtIDFdIHJhbmdlIGZvciBhIHZhbGlkIGV2ZW50IChwcmVzZW50IGluCisrCSMgdHJhY2UpLgorKwlza2lwIDAgIlRlc3Qgc3lzdGVtIG9ubHkgaGF2ZSBhIHNpbmdsZSB0aHJlYWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisgZmkKKyAKKy1za2lwICRmb3VuZG9iaiAiTm8gc2hhcmVkIG9iamVjdCBnZW5lcmF0ZWQuIFNraXBwaW5nIGFsbCB0ZXN0cy4iICROVU1fVEVTVFMgJiYgZXhpdCAwCisgCisgVEVTVFM9KAorIAl0ZXN0X2dldGNwdV9vdmVycmlkZV9mYWlsCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwMy1GaXgtdGVzdC11bml0LXRoZS10cmVlLW9yaWdpbi1jYW4tYmUtYS1zeW1saW5rLWl0c2VsLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjJiMjZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaApAQCAtMCwwICsxLDgwIEBACitGcm9tIDgzZDE2NTQ0MmQxYzM2NThiNmJhZmEyOGRkYWRlOGZmZWU3MDkyYWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDYgTWFyIDIwMTkgMTY6NDY6NDkgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCBsdHRuZy10b29scyAyLzJdIEZpeDogdGVzdDogdW5pdDogdGhlIHRyZWUgb3JpZ2luIGNhbiBiZSBhCisgc3ltbGluayBpdHNlbGYKKworUHJvYmxlbToKKworVGhlIGJhc2UgdHJlZSBpcyBkZWZpbmVkIGFzICIvdG1wLy4uLi4uWFhYWFhYIi4KK09uIHN5c3RlbXMgd2hlcmUgIi90bXAvIiBpcyBpdHNlbGYgYSBzeW1saW5rIHV0aWxzX2V4cGFuZF9wYXRoIHdpbGwKK2V4cGFuZCB0aGUgdHJlZSBvcmlnaW4gaXRzZWxmLgorCitGb3IgZXhhbXBsZSBvbiBhIGJhc2UgY29yZS1pbWFnZS1taW5pbWFsIFlvY3RvIGJ1aWxkIC90bXAgaXMgYSBzeW1saW5rCit0byAiL3Zhci90bXAiLCB3aGljaCBpcyBhIHN5bWxpbmsgdG8gIi92YXIvdm9sYXRpbGUiLgorCit1dGlsc19leHBhbmRfcGF0aCB3aWxsIHJldHVybiBzb21ldGhpbmcgbGlrZSB0aGlzIGZvciB0aGUgc3ltbGluayB0ZXN0OgorIi92YXIvdm9sYXRpdmUvLi4uLi5YWFhYWFgvLi4uLiIgd2hpY2ggaXMgdGhlIHZhbGlkIHJlc3VsdC4KKworU29sdXRpb246CisKK1NpbXBseSB1c2UgcmVhbHBhdGggb24gdGhlIHRyZWVfb3JpZ2luIGFuZCB1c2UgdGhpcyBwYXRoIHRvIHBlcmZvcm0gdGhlCit0ZXN0IHZhbGlkYXRpb24uCisKK1RoaXMgd29yayB3YXMgcGVyZm9ybWVkIGluIHRoZSBlZmZvcnQgdG8gc3VwcG9ydCB5b2N0byBmdWxseSBhbmQgYmUgYWJsZQordG8gcnVuIHRoZSB0ZXN0IHN1aXRlIHRvIGRldGVjdCBwcm9ibGVtIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgorCisKK1Vwc3RyZWFtLVN0YXR1czogQWNjZXB0ZWQgW2Y2NmU5NjRhMmUwYzc1ZjVlMWE1NWZiY2M5NjNiMWM1ZTJiNDUxOWRdCitCYWNrcG9ydGVkIHRvIDIuMTEgYW5kIDIuMTAKKworU2lnbmVkLW9mZi1ieTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorLS0tCisgdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMgfCAxOCArKysrKysrKysrKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jIGIvdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMKK2luZGV4IGQ1Y2FiMDAyZS4uZDA0N2MyMDdkIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0X3V0aWxzX2V4cGFuZF9wYXRoLmMKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdF91dGlsc19leHBhbmRfcGF0aC5jCitAQCAtMjgxLDggKzI4MSw4IEBAIGVycm9yOgorIHN0YXRpYyB2b2lkIHRlc3RfdXRpbHNfZXhwYW5kX3BhdGgodm9pZCkKKyB7CisgCWNoYXIgKnJlc3VsdDsKKy0JY2hhciBuYW1lWzEwMF0sIHRtcHBhdGhbUEFUSF9NQVhdOworLQlpbnQgaTsKKysJY2hhciBuYW1lWzEwMF0sIHRtcHBhdGhbUEFUSF9NQVhdLCByZWFsX3RyZWVfb3JpZ2luW1BBVEhfTUFYXTsKKysJaW50IGksIHRyZWVsZW47CisgCisgCS8qIFRlc3QgdmFsaWQgY2FzZXMgKi8KKyAJZm9yIChpID0gMDsgaSA8IG51bV92YWxpZF90ZXN0czsgaSsrKSB7CitAQCAtMjk1LDE0ICsyOTUsMjQgQEAgc3RhdGljIHZvaWQgdGVzdF91dGlsc19leHBhbmRfcGF0aCh2b2lkKQorIAkJZnJlZShyZXN1bHQpOworIAl9CisgCisrCS8qCisrCSAqIEdldCB0aGUgcmVhbHBhdGggZm9yIHRoZSB0cmVlX29yaWdpbiBzaW5jZSBpdCBjYW4gaXRzZWxmIGJlIGEKKysJICogc3ltbGluay4KKysJICovCisrCXJlc3VsdCA9IHJlYWxwYXRoKHRyZWVfb3JpZ2luLCByZWFsX3RyZWVfb3JpZ2luKTsKKysJaWYgKCFyZXN1bHQpIHsKKysJCWZhaWwoInJlYWxwYXRoIGZhaWxlZC4iKTsKKysJCXJldHVybjsKKysJfQorKworIAkvKiBUZXN0IHN5bWxpbmsgdHJlZSBjYXNlcyAqLworLQlpbnQgdHJlZWxlbiA9IHN0cmxlbih0cmVlX29yaWdpbikgKyAxOworKwl0cmVlbGVuID0gc3RybGVuKHJlYWxfdHJlZV9vcmlnaW4pICsgMTsKKyAJZm9yIChpID0gMDsgaSA8IG51bV9zeW1saW5rX3Rlc3RzOyBpKyspIHsKKyAJCXNwcmludGYobmFtZSwgInN5bWxpbmsgdHJlZSB0ZXN0IGNhc2U6IFt0bXBwYXRoL10lcyIsCisgCQkJCXN5bWxpbmtfdGVzdHNfaW5wdXRzW2ldLmlucHV0KTsKKyAKKyAJCXNucHJpbnRmKHRtcHBhdGgsIFBBVEhfTUFYLCAiJXMvJXMiLAorLQkJCQl0cmVlX29yaWdpbiwgc3ltbGlua190ZXN0c19pbnB1dHNbaV0uaW5wdXQpOworKwkJCQlyZWFsX3RyZWVfb3JpZ2luLCBzeW1saW5rX3Rlc3RzX2lucHV0c1tpXS5pbnB1dCk7CisgCQlyZXN1bHQgPSB1dGlsc19leHBhbmRfcGF0aCh0bXBwYXRoKTsKKyAJCW9rKHJlc3VsdCAhPSBOVUxMICYmIHN0cmNtcChyZXN1bHQgKyB0cmVlbGVuLAorIAkJCQkJc3ltbGlua190ZXN0c19pbnB1dHNbaV0uZXhwZWN0ZWRfcmVzdWx0KSA9PSAwLCBuYW1lKTsKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDQtU2tpcC13aGVuLXRlc3RhcHAtaXMtbm90LXByZXNlbnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM5ZjdlNAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoCkBAIC0wLDAgKzEsNjEwIEBACitGcm9tIDk1YzI3ZTZhY2NlYWVkYTU1YzcyOWI5ZTkyZTU5NDMyMmFkZWYxM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CitEYXRlOiBXZWQsIDMgQXByIDIwMTkgMTY6MzE6MTggLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCBsdHRuZy10b29sc10gU2tpcCB3aGVuIHRlc3RhcHAgaXMgbm90IHByZXNlbnQKKworV2UgZXhwZWN0IGx0dG5nLXVzdCBkbyBiZSBwcmVzZW50LCB0aGlzIGlzIGEgd3JvbmcgYXNzdW1wdGlvbnMuCisKK1RoaXMgaXMgYSBxdWljayBmaXguIFRoZSByZWFsIGZpeCBpcyB0byBlaXRoZXIgZGV0ZWN0IGF0IHJ1bnRpbWUKK2x0dG5nLXVzdCBzdXBwb3J0IG9yIGF0IGJ1aWxkIHRpbWUgKEhBVkVfTElCTFRUTkdfVVNUX0NUTCkuCisKK1RoaXMgcHJldmVudCBoYW5nIGZvciBtYWtlIGNoZWNrIGRvbmUgb24gYSBidWlsZCBjb25maWd1cmVkIHdpdGgKKy0td2l0aG91dC1sdHRuZy11c3QuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbb3RoZXJdIAorUmVhc29uOiBUaGlzIHBhdGNoIGlzIGluYXBwcm9wcmlhdGUgZm9yIHVwc3RyZWFtIGZvciAyLjEwIHN0YWJsZSByZWxlYXNlIAorc2luY2Ugd2UgZG8gbm90IGJhY2twb3J0ICJzdXBlcmZpY2lhbCIgZml4IHRvIHRoZSB0ZXN0IHN1aXRlLiBXZSBkbyAKK2JhY2twb3J0IHdoZW4gYSB0ZXN0IGlzIGJyb2tlbi4gVGhlIGZhY3QgdGhhdCBvbiAtLXdpdGhvdXQtbHR0bmctdXN0IAoraGFuZyBpcyBub3QgYSAiYnJva2VuIiB0ZXN0IHBlci1zZWUuIFN0aWxsLCBhIHZhcmlhdGlvbiBvZiB0aGlzIGZpeCB3aWxsIAorYmUgdXBzdHJlYW1lZCBpbiBvdXIgbWFzdGVyIGJyYW5jaCBhbmQgcG9zc2libHkgMi4xMS4gVGhlIHVwc3RyZWFtZWQgCit2ZXJzaW9uIHdpbGwgc3BsaXQgdGhlIHRlc3QgaW4ga2VybmVsL3VzdCB0ZXN0IGFuZCBza2lwIHRoZW0gYXQgdGhlIAorYnVpbGQgc3lzdGVtIGxldmVsLiBUaGlzIHBhdGNoIGlzIG1vcmUgc3VjY2luY3QuCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaCAgICAgICB8ICA0ICsrCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvZXhjbHVzaW9uL3Rlc3RfZXhjbHVzaW9uIHwgIDQgKysKKyAuLi4vdG9vbHMvZmlsdGVyaW5nL3Rlc3RfdmFsaWRfZmlsdGVyICAgICAgICAgfCAyMSArKysrLS0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2hlYWx0aC90ZXN0X3RocmVhZF9vayAgfCAyOSArKysrKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS9NYWtlZmlsZS5hbSAgICAgICB8ICAyIC0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF9sdHRuZ191c3QgICAgfCAgNCArKworIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdCAgICAgICAgICB8ICA0ICsrCisgLi4uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50ICAgICAgIHwgIDQgKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkgICAgICAgICAgICAgfCAgNCArKworIC4uLi9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwICB8IDE4ICsrKy0tCisgLi4uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QgIHwgIDQgKysKKyAuLi4vcmVncmVzc2lvbi90b29scy9yZWdlbi1tZXRhZGF0YS90ZXN0X3VzdCAgfCAgMiArLQorIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLXN0YXRlZHVtcC90ZXN0X3VzdCB8ICAyICstCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQgIHwgIDcgKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQgICAgfCAgOCArKysKKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUgICAgfCAgNyArKworIC4uLi9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0ICB8ICAyICstCisgLi4uL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcgIHwgIDIgKy0KKyAuLi4vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZyAgICAgICAgfCAgMiArLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0ICAgICB8ICAyICstCisgLi4uL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMgICAgIHwgIDIgKy0KKyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X3VzdCAgICAgfCAgMiArLQorIC4uLi90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50ICAgICB8ICAyICstCisgLi4uL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZSAgICAgIHwgIDIgKy0KKyAuLi4vdG9vbHMvd2lsZGNhcmQvdGVzdF9ldmVudF93aWxkY2FyZCAgICAgICAgfCA2NyArKysrKysrKysrLS0tLS0tLS0tCisgMjUgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDYwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoCitpbmRleCA4YzYyYzUxM2QuLjNjYmU5NzY4OCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvY3Jhc2gvdGVzdF9jcmFzaAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9jcmFzaC90ZXN0X2NyYXNoCitAQCAtMzUsNiArMzUsMTAgQEAgTlVNX1RFU1RTPTc3CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgIyBHbG9iYWwgZGVjbGFyYXRpb24gZm9yIHNpbXBsaWZpY2F0aW9uCisgTFRUTkdfQ1JBU0g9JFRFU1RESVIvLi4vc3JjL2Jpbi9sdHRuZy1jcmFzaC8kQ1JBU0hfQklOCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24gYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2V4Y2x1c2lvbi90ZXN0X2V4Y2x1c2lvbgoraW5kZXggOTQ5Y2Q0MWRmLi40MmU0ZDcyZmIgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2V4Y2x1c2lvbi90ZXN0X2V4Y2x1c2lvbgorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9leGNsdXNpb24vdGVzdF9leGNsdXNpb24KK0BAIC0zMCw2ICszMCwxMCBAQCBOVU1fVEVTVFM9MTQ5CisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgZnVuY3Rpb24gZW5hYmxlX3VzdF9sdHRuZ19hbGxfZXZlbnRfZXhjbHVzaW9uKCkKKyB7CisgCXNlc3NfbmFtZT0iJDEiCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2ZpbHRlcmluZy90ZXN0X3ZhbGlkX2ZpbHRlcgoraW5kZXggMTYzYjMyMTgyLi4xZThkYTYzMGIgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2ZpbHRlcmluZy90ZXN0X3ZhbGlkX2ZpbHRlcgorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9maWx0ZXJpbmcvdGVzdF92YWxpZF9maWx0ZXIKK0BAIC00MTgsMTIgKzQxOCwxOCBAQCBpc3N1ZV8zNTZfZmlsdGVyKz0iaW50ZmllbGQgPiA0ICYmIGludGZpZWxkID4gNSAmJiAiCisgaXNzdWVfMzU2X2ZpbHRlcis9ImludGZpZWxkID4gNiAmJiBpbnRmaWVsZCA+IDcgJiYgIgorIGlzc3VlXzM1Nl9maWx0ZXIrPSJpbnRmaWVsZCA+IDggfHwgaW50ZmllbGQgPiAwIgorIAorK0JJTl9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKysKKytza2lwX3VzdD0xCisraWYgWyAhIC14ICIkQ1VSRElSLyRCSU5fTkFNRSIgXTsgdGhlbgorKwlza2lwX3VzdD0wCisrCXNraXAgMCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIgJE5VTV9VU1RfVEVTVFMKKytmaQorKworIHN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCisgIyMjIFVTVCBURVNUUworIAorLUJJTl9OQU1FPSJnZW4tdXN0LWV2ZW50cyIKKy0KKyBLSVJLX0tSQVVTU19URVNUUz0oCisgCSMgdGhlIHRlc3RzIGJlbG93IHdlcmUgd3JpdHRlbiBieSBLaXJrIEtyYXVzcyBpbiB0aGlzIGFydGljbGU6CisgCSMgaHR0cDovL3d3dy5kcmRvYmJzLmNvbS9hcmNoaXRlY3R1cmUtYW5kLWRlc2lnbi9tYXRjaGluZy13aWxkY2FyZHMtYW4tZW1waXJpY2FsLXdheS10by10LzI0MDE2OTEyMworQEAgLTg5Nyw5ICs5MDMsNiBAQCBVU1RfU1RSX0ZJTFRFUlM9KAorIAlFTkQKKyApCisgCistaWYgWyAhIC14ICIkQ1VSRElSLyRCSU5fTkFNRSIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKy1maQorIAorIElGUz0iJE9MRElGUyIKKyAKK0BAIC05MTAsNiArOTEzLDEwIEBAIGk9MAorIHdoaWxlIHRydWU7IGRvCisgCXZhbGlkYXRvcj0iJHtVU1RfRklMVEVSU1skaV19IgorIAorKwlpZiBbICRza2lwX3VzdCAtZXEgMCBdOyB0aGVuCisrCQlicmVhaworKwlmaQorKworIAlpZiBbICIkdmFsaWRhdG9yIiA9IEVORCBdOyB0aGVuCisgCQlicmVhaworIAlmaQorQEAgLTkyOSw2ICs5MzYsMTAgQEAgaT0wCisgd2hpbGUgdHJ1ZTsgZG8KKyAJdmFsaWRhdG9yPSIke1VTVF9TVFJfRklMVEVSU1skaV19IgorIAorKwlpZiBbICRza2lwX3VzdCAtZXEgMCBdOyB0aGVuCisrCQlicmVhaworKwlmaQorKworIAlpZiBbICIkdmFsaWRhdG9yIiA9IEVORCBdOyB0aGVuCisgCQlicmVhaworIAlmaQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9oZWFsdGgvdGVzdF90aHJlYWRfb2sKK2luZGV4IGU4MWQ2ZWQyNC4uODQ5YjdlNzFmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9oZWFsdGgvdGVzdF90aHJlYWRfb2sKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvaGVhbHRoL3Rlc3RfdGhyZWFkX29rCitAQCAtMjcsNiArMjcsOSBAQCBDSEFOTkVMX05BTUU9InRlc3RjaGFuIgorIEhFQUxUSF9DSEVDS19CSU49ImhlYWx0aF9jaGVjayIKKyBOVU1fVEVTVFM9MTcKKyBTTEVFUF9USU1FPTMwCisrVEVTVEFQUF9QQVRIPSIkVEVTVERJUi91dGlscy90ZXN0YXBwIgorK1RFU1RBUFBfTkFNRT0iZ2VuLXVzdC1ldmVudHMiCisrVEVTVEFQUF9CSU49IiRURVNUQVBQX1BBVEgvJFRFU1RBUFBfTkFNRS8kVEVTVEFQUF9OQU1FIgorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorQEAgLTc2LDE1ICs3OSwxOSBAQCBmdW5jdGlvbiB0ZXN0X3RocmVhZF9vaworIAkkQ1VSRElSLyRIRUFMVEhfQ0hFQ0tfQklOID4gJHtTVERPVVRfUEFUSH0gMj4gJHtTVERFUlJfUEFUSH0KKyAJcmVwb3J0X2Vycm9ycworIAorLQlkaWFnICJXaXRoIFVTVCBjb25zdW1lciBkYWVtb25zIgorLQljcmVhdGVfbHR0bmdfc2Vzc2lvbl9ub19vdXRwdXQgJFNFU1NJT05fTkFNRQorLQllbmFibGVfdXN0X2x0dG5nX2V2ZW50X29rICRTRVNTSU9OX05BTUUgJFVTVF9FVkVOVF9OQU1FICRDSEFOTkVMX05BTUUKKy0Jc3RhcnRfbHR0bmdfdHJhY2luZ19vayAkU0VTU0lPTl9OQU1FCistCWRlc3Ryb3lfbHR0bmdfc2Vzc2lvbl9vayAkU0VTU0lPTl9OQU1FCisrCXNraXAgJHNraXBfdXN0ICJVc3QgZG9lcyBub3Qgc2VlbXMgdG8gYmUgc3VwcG9ydGVkIiAiNSIgfHwKKysJeworKwkJZGlhZyAiV2l0aCBVU1QgY29uc3VtZXIgZGFlbW9ucyIKKysJCWNyZWF0ZV9sdHRuZ19zZXNzaW9uX25vX291dHB1dCAkU0VTU0lPTl9OQU1FCisrCQllbmFibGVfdXN0X2x0dG5nX2V2ZW50X29rICRTRVNTSU9OX05BTUUgJFVTVF9FVkVOVF9OQU1FICRDSEFOTkVMX05BTUUKKysJCXN0YXJ0X2x0dG5nX3RyYWNpbmdfb2sgJFNFU1NJT05fTkFNRQorKwkJZGVzdHJveV9sdHRuZ19zZXNzaW9uX29rICRTRVNTSU9OX05BTUUKKyAKKy0JIyBDaGVjayBoZWFsdGggc3RhdHVzCistCSRDVVJESVIvJEhFQUxUSF9DSEVDS19CSU4gPiAke1NURE9VVF9QQVRIfSAyPiAke1NUREVSUl9QQVRIfQorLQlyZXBvcnRfZXJyb3JzCisrCisrCQkjIENoZWNrIGhlYWx0aCBzdGF0dXMKKysJCSRDVVJESVIvJEhFQUxUSF9DSEVDS19CSU4gPiAke1NURE9VVF9QQVRIfSAyPiAke1NUREVSUl9QQVRIfQorKwkJcmVwb3J0X2Vycm9ycworKwl9CisgCisgCXNraXAgJGlzcm9vdCAiUm9vdCBhY2Nlc3MgaXMgbmVlZGVkLiBTa2lwcGluZyBrZXJuZWwgY29uc3VtZXIgaGVhbHRoIGNoZWNrIHRlc3QuIiAiNSIgfHwKKyAJeworQEAgLTE0MSw2ICsxNDgsMTIgQEAgZWxzZQorIAlpc3Jvb3Q9MAorIGZpCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJc2tpcF91c3Q9MAorK2Vsc2UKKysJc2tpcF91c3Q9MQorK2ZpCisrCisgdGVzdF90aHJlYWRfb2sKKyAKKyBybSAtcmYgJHtIRUFMVEhfUEFUSH0KK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0gYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0KK2luZGV4IDQ2MTg2ZDM4My4uZGI3NGRlOGQ1IDEwMDY0NAorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL01ha2VmaWxlLmFtCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvTWFrZWZpbGUuYW0KK0BAIC0xNiw5ICsxNiw3IEBAIExJVkU9JCh0b3BfYnVpbGRkaXIpL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvc2Vzc2lvbi4kKE9CSkVYVCkgXAorIG5vaW5zdF9QUk9HUkFNUyA9IGxpdmVfdGVzdAorIEVYVFJBX0RJU1QgPSB0ZXN0X2tlcm5lbCB0ZXN0X2x0dG5nX2tlcm5lbAorIAorLWlmIEhBVkVfTElCTFRUTkdfVVNUX0NUTAorIEVYVFJBX0RJU1QgKz0gdGVzdF91c3QgdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50IHRlc3RfbHR0bmdfdXN0CistZW5kaWYKKyAKKyBsaXZlX3Rlc3RfU09VUkNFUyA9IGxpdmVfdGVzdC5jCisgbGl2ZV90ZXN0X0xEQUREID0gJChMSUJUQVApICQoTElCQ09NTU9OKSAkKExJQlJFTEFZRCkgJChMSUJTRVNTSU9ORF9DT01NKSBcCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0CitpbmRleCAwNjAxN2QwMWQuLmJlOWIzZDdmNyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X2x0dG5nX3VzdAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfbHR0bmdfdXN0CitAQCAtMzgsNiArMzgsMTAgQEAgTlVNX1RFU1RTPTEyCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgIyBNVVNUIHNldCBURVNURElSIGJlZm9yZSBjYWxsaW5nIHRob3NlIGZ1bmN0aW9ucworIHBsYW5fdGVzdHMgJE5VTV9URVNUUworIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdCBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdAoraW5kZXggMDM4NGE3MDZmLi5hZGQ1MjFiZmMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbGl2ZS90ZXN0X3VzdAorQEAgLTM2LDYgKzM2LDEwIEBAIERJUj0kKHJlYWRsaW5rIC1mICRURVNURElSKQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworIGVjaG8gIiRURVNUX0RFU0MiCisgCisgZnVuY3Rpb24gc2V0dXBfbGl2ZV90cmFjaW5nKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9saXZlL3Rlc3RfdXN0X3RyYWNlZmlsZV9jb3VudAoraW5kZXggNmRhMzY4ZmM2Li4xMDUwNGY4YzYgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL2xpdmUvdGVzdF91c3RfdHJhY2VmaWxlX2NvdW50CitAQCAtMzYsNiArMzYsMTAgQEAgRElSPSQocmVhZGxpbmsgLWYgJFRFU1RESVIpCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisraWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorK2ZpCisrCisgZWNobyAiJFRFU1RfREVTQyIKKyAKKyBmdW5jdGlvbiBzZXR1cF9saXZlX3RyYWNpbmcoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taSBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taQoraW5kZXggNDhkZGE3ZGE2Li4yY2MzMGIyOWEgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL21pL3Rlc3RfbWkKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbWkvdGVzdF9taQorQEAgLTYxLDYgKzYxLDEwIEBAIE5VTV9URVNUUz0yMjgKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyAjT3ZlcndyaXRlIHRoZSBsdHRuZ19iaW4gdG8gZ2V0IG1pIG91dHB1dAorIExUVE5HX0JJTj0ibHR0bmcgLS1taSB4bWwiCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwCitpbmRleCAwYTA1ZWE2YTAuLjI5YjBmNjJmYSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX211bHRpX2FwcAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fbXVsdGlfYXBwCitAQCAtNTIsNiArNTIsMTEgQEAgcGxhbl90ZXN0cyAkTlVNX1RFU1RTCisgCisgcHJpbnRfdGVzdF9iYW5uZXIgIiRURVNUX0RFU0MiCisgCisrc2tpcF91c3Q9MQorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXNraXBfdXN0PTAKKytmaQorKworIGFwcF9waWRzPSgpCisgCisgZnVuY3Rpb24ga2VybmVsX2V2ZW50X2dlbmVyYXRvcl90b29nbGVfc3RhdGUKK0BAIC00NjgsMTAgKzQ3MywxNSBAQCBmdW5jdGlvbiB0ZXN0X29uX3JlZ2lzdGVyX2V2YWx1YXRpb24gKCkKKyB9CisgCisgCistVEVTVFM9KAorLQl0ZXN0X211bHRpX2FwcF91c3QKKy0JdGVzdF9vbl9yZWdpc3Rlcl9ldmFsdWF0aW9uX3VzdAorLSkKKytURVNUUz0oKQorK2lmIFsgJHNraXBfdXN0IC1lcSAiMSIgXTsgdGhlbgorKwlURVNUUys9KAorKwkJdGVzdF9tdWx0aV9hcHBfdXN0CisrCQl0ZXN0X29uX3JlZ2lzdGVyX2V2YWx1YXRpb25fdXN0CisrCSkKKytlbHNlCisrCXNraXAgMCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIiAkTlVNX1RFU1RfVVNUCisrZmkKKyAKKyBpZiBbICIkKGlkIC11KSIgPT0gIjAiIF07IHRoZW4KKyAJVEVTVFMrPSgKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QKK2luZGV4IDg5NDFlNDc2ZC4uZWIyZTE1Y2FkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fdXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL25vdGlmaWNhdGlvbi90ZXN0X25vdGlmaWNhdGlvbl91c3QKK0BAIC00Niw2ICs0NiwxMCBAQCBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrZmkKKysKKyBmdW5jdGlvbiB1c3RfZXZlbnRfZ2VuZXJhdG9yX3Rvb2dsZV9zdGF0ZQorIHsKKyAJdXN0X2V2ZW50X2dlbmVyYXRvcl9zdXNwZW5kZWQ9JCgodXN0X2V2ZW50X2dlbmVyYXRvcl9zdXNwZW5kZWQ9PTApKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3RfdXN0CitpbmRleCBiN2YxYWYxZDguLjMxMmM4YTQwZCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF91c3QKK0BAIC0zNCw3ICszNCw3IEBAIE5VTV9URVNUUz0zMworIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF91c3QKK2luZGV4IDQ4NmI5YTU2MC4uOGQ0NTViMjZhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3RfdXN0CitAQCAtMzQsNyArMzQsNyBAQCBOVU1fVEVTVFM9MTEKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiB0ZXN0X3VzdF9sb2NhbCAoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2F1dG9sb2FkCitpbmRleCA3ZWU1ZTk5MDYuLmVjMzc2Y2ZiMyAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc2F2ZS1sb2FkL3Rlc3RfYXV0b2xvYWQKK0BAIC0yMSw2ICsyMSw5IEBAIENVUkRJUj0kKGRpcm5hbWUgJDApLworIENPTkZJR19ESVI9IiR7Q1VSRElSfS9jb25maWd1cmF0aW9uIgorIFRFU1RESVI9JENVUkRJUi8uLi8uLi8uLi8KKyBleHBvcnQgTFRUTkdfU0VTU0lPTl9DT05GSUdfWFNEX1BBVEg9JChyZWFkbGluayAtbSAke1RFU1RESVJ9Li4vc3JjL2NvbW1vbi9jb25maWcvKQorK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKyAKKyBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKK0BAIC0yOCw2ICszMSwxMCBAQCBOVU1fVEVTVFM9OQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQKK2luZGV4IDVlMzhiNDZiNi4uYjZmZGQ4MTkyIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9sb2FkCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X2xvYWQKK0BAIC0yMCw2ICsyMCwxMCBAQCBURVNUX0RFU0M9IkxvYWQgc2Vzc2lvbihzKSIKKyBDVVJESVI9JChkaXJuYW1lICQwKS8KKyBDT05GSUdfRElSPSIke0NVUkRJUn0vY29uZmlndXJhdGlvbiIKKyBURVNURElSPSRDVVJESVIvLi4vLi4vLi4vCisrVEVTVEFQUF9QQVRIPSIkVEVTVERJUi91dGlscy90ZXN0YXBwIgorK1RFU1RBUFBfTkFNRT0iZ2VuLXVzdC1ldmVudHMiCisrVEVTVEFQUF9CSU49IiRURVNUQVBQX1BBVEgvJFRFU1RBUFBfTkFNRS8kVEVTVEFQUF9OQU1FIgorKworIGV4cG9ydCBMVFROR19TRVNTSU9OX0NPTkZJR19YU0RfUEFUSD0kKHJlYWRsaW5rIC1tICR7VEVTVERJUn0uLi9zcmMvY29tbW9uL2NvbmZpZy8pCisgCisgU0VTU0lPTl9OQU1FPSJsb2FkLTQyIgorQEAgLTMxLDYgKzM1LDEwIEBAIE5VTV9URVNUUz02NworIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorK2lmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUKK2luZGV4IGM1ZjZiMTM0MS4uY2ZhZjY3YjdhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zYXZlLWxvYWQvdGVzdF9zYXZlCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC90ZXN0X3NhdmUKK0BAIC0yMyw2ICsyMyw5IEBAIFRFU1RESVI9JENVUkRJUi8uLi8uLi8uLi8KKyBTRVNTSU9OX05BTUU9InNhdmUtNDIiCisgQ0hBTk5FTF9OQU1FPSJjaGFuLXNhdmUiCisgRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorK1RFU1RBUFBfUEFUSD0iJFRFU1RESVIvdXRpbHMvdGVzdGFwcCIKKytURVNUQVBQX05BTUU9Imdlbi11c3QtZXZlbnRzIgorK1RFU1RBUFBfQklOPSIkVEVTVEFQUF9QQVRILyRURVNUQVBQX05BTUUvJFRFU1RBUFBfTkFNRSIKKyAKKyBESVI9JChyZWFkbGluayAtZiAkVEVTVERJUikKKyAKK0BAIC0zMCw2ICszMywxMCBAQCBOVU1fVEVTVFM9NDEKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKytpZiBbICEgLXggIlRFU1RBUFBfQklOIiBdOyB0aGVuCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKytmaQorKworICMgTVVTVCBzZXQgVEVTVERJUiBiZWZvcmUgY2FsbGluZyB0aG9zZSBmdW5jdGlvbnMKKyBwbGFuX3Rlc3RzICROVU1fVEVTVFMKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfZmFzdAoraW5kZXggZWRiNDM1YzUyLi41YTY4ZWM1NmQgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9mYXN0CitAQCAtMjMsNyArMjMsNyBAQCBURVNUX0JJTj0idXN0X3Rlc3QiCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkQ1VSRElSLyRURVNUX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIHRlc3QgZm91bmQ6ICRURVNUX0JJTiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIHRlc3QgZm91bmQ6ICRURVNUX0JJTiIKKyBmaQorIAorIC4vJENVUkRJUi8kVEVTVF9CSU4gJE5SX1NOQVBTSE9UCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X2xvbmcKK2luZGV4IDllMWEwYzI2Mi4uYWZhMDE5ZjZhIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZworKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF91c3RfbG9uZworQEAgLTIzLDcgKzIzLDcgQEAgVEVTVF9CSU49InVzdF90ZXN0IgorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJENVUkRJUi8kVEVTVF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCB0ZXN0IGZvdW5kOiAkVEVTVF9CSU4iCisgZmkKKyAKKyAuLyRDVVJESVIvJFRFU1RfQklOICROUl9TTkFQU0hPVAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZworaW5kZXggOTNiMDk1N2YzLi42OTI5MWFiNGQgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X3VzdF9zdHJlYW1pbmcKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3RfdXN0X3N0cmVhbWluZworQEAgLTM3LDcgKzM3LDcgQEAgTlVNX1RFU1RTPTc1Cisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCisgaWYgWyAhIC14ICIkVEVTVEFQUF9CSU4iIF07IHRoZW4KKy0JQkFJTF9PVVQgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJcGxhbl9za2lwX2FsbCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorIGZpCisgCisgZnVuY3Rpb24gc25hcHNob3RfYWRkX291dHB1dCAoKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdXN0X3Rlc3QKK2luZGV4IDc1NWNlZjllMC4uOTJmOWY2Y2ZmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdXN0X3Rlc3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3VzdF90ZXN0CitAQCAtMzQsNyArMzQsNyBAQCBUUkFDRV9QQVRIPSQobWt0ZW1wIC1kKQorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorICMgTmVlZCB0aGUgbnVtYmVyIG9mIHNuYXBzaG90IHRvIGRvLgorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cworaW5kZXggMzJjM2YxZjJiLi5mNTQxNzg5MjMgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2hpZ2hfdGhyb3VnaHB1dF9saW1pdHMKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfaGlnaF90aHJvdWdocHV0X2xpbWl0cworQEAgLTM4LDcgKzM4LDcgQEAgTlVNX1RFU1RTPTEwNAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIHNldF9id19saW1pdAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0IGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF91c3QKK2luZGV4IGE1ZDViNWU5Mi4uZTFkZDk4ZWU3IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF91c3QKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc3RyZWFtaW5nL3Rlc3RfdXN0CitAQCAtMzQsNyArMzQsNyBAQCBOVU1fVEVTVFM9MTYKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIGV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIgorKwlwbGFuX3NraXBfYWxsICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisgZmkKKyAKKyBmdW5jdGlvbiBsdHRuZ19jcmVhdGVfc2Vzc2lvbl91cmkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQKK2luZGV4IDZhZGE4NTgwZi4uNzU1M2M3ZDFmIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX2NvdW50CisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfY291bnQKK0BAIC0zMyw3ICszMyw3IEBAIFBBR0VfU0laRT0kKGdldGNvbmYgUEFHRV9TSVpFKQorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGVuYWJsZV9sdHRuZ19jaGFubmVsX2NvdW50X2xpbWl0ICgpCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZQoraW5kZXggM2RkZGJlNjEzLi4xMDg5NDg3ZmYgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3RyYWNlZmlsZS1saW1pdHMvdGVzdF90cmFjZWZpbGVfc2l6ZQorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy90cmFjZWZpbGUtbGltaXRzL3Rlc3RfdHJhY2VmaWxlX3NpemUKK0BAIC0zMyw3ICszMyw3IEBAIE5VTV9URVNUUz02NgorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorIGlmIFsgISAteCAiJFRFU1RBUFBfQklOIiBdOyB0aGVuCistCUJBSUxfT1VUICJObyBVU1QgZXZlbnRzIGJpbmFyeSBkZXRlY3RlZC4iCisrCXBsYW5fc2tpcF9hbGwgIk5vIFVTVCBldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKyBmaQorIAorIGZ1bmN0aW9uIGVuYWJsZV9sdHRuZ19jaGFubmVsX3NpemVfbGltaXQgKCkKK2RpZmYgLS1naXQgYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQKK2luZGV4IDYxZWE2N2E3Mi4uOTIxYTIzMDFkIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy93aWxkY2FyZC90ZXN0X2V2ZW50X3dpbGRjYXJkCisrKysgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3dpbGRjYXJkL3Rlc3RfZXZlbnRfd2lsZGNhcmQKK0BAIC05Nyw0MiArOTcsNDcgQEAgcHJpbnRfdGVzdF9iYW5uZXIgIiRURVNUX0RFU0MiCisgCisgc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKKy1kaWFnICJUZXN0IFVTVCB3aWxkY2FyZCIKKy0KKyBpZiBbICEgLXggIiRURVNUQVBQX0JJTiIgXTsgdGhlbgorLQlCQUlMX09VVCAiTm8gVVNUIG5ldmVudHMgYmluYXJ5IGRldGVjdGVkLiIKKysJc2tpcF91c3Q9MAorK2Vsc2UKKysJc2tpcF91c3Q9MQorIGZpCisgCistRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorK3NraXAgJHNraXBfdXN0ICJObyBVU1QgbmV2ZW50cyBiaW5hcnkgZGV0ZWN0ZWQuIiAkTlVNX1VTVF9URVNUUyB8fAorK3sKKysJZGlhZyAiVGVzdCBVU1Qgd2lsZGNhcmQiCisgCistIyBub24tbWF0Y2hpbmcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICd0cDphYmMqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJyphYmMnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKnoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJypcKionCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKlwqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ1wqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqOip0cHRlKnMnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHAqKnRwVGVzdCcKKysJRVZFTlRfTkFNRT0idHA6dHB0ZXN0IgorIAorLSMgbWF0Y2hpbmcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cDp0cConCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0cDp0cHRlc3QqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cHRlKicKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdHAqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cCoqJworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyo6KnRwdGVzdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqOip0cHRlKnQnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndCpwKjoqdCplKnMqdCcKKy10ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdCpwKjoqdCplKnMqdConCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdHB0ZXN0JworLXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKip0cHRlc3QnCistdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdGVzdCcKKysJIyBub24tbWF0Y2hpbmcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAndHA6YWJjKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKmFiYycKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKnoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqXCoqJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICcqXConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDAgJ1wqKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMCAnKjoqdHB0ZSpzJworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAwICd0cCoqdHBUZXN0JworKworKwkjIG1hdGNoaW5nCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwOnRwKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHA6dHB0ZXN0KicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyoqKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKip0cHRlc3QnCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyp0cHRlKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwKicKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKnRwKionCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJyo6KnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAnKjoqdHB0ZSp0JworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICd0KnAqOip0KmUqcyp0JworKwl0ZXN0X2V2ZW50X3dpbGRjYXJkIHVzdCAxICcqdCpwKjoqdCplKnMqdConCisrCXRlc3RfZXZlbnRfd2lsZGNhcmQgdXN0IDEgJ3RwKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqKnRwdGVzdCcKKysJdGVzdF9ldmVudF93aWxkY2FyZCB1c3QgMSAndHAqdGVzdCcKKyt9CisgCisgaWYgWyAiJChpZCAtdSkiID09ICIwIiBdOyB0aGVuCisgCWlzcm9vdD0xCistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNS1UZXN0cy11c2UtbW9kcHJvYmUtdG8tdGVzdC1mb3ItdGhlLXByZXNlbmNlLW9mLWx0dG5nLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmRmM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDUtVGVzdHMtdXNlLW1vZHByb2JlLXRvLXRlc3QtZm9yLXRoZS1wcmVzZW5jZS1vZi1sdHRuZy5wYXRjaApAQCAtMCwwICsxLDE3NiBAQAorRnJvbSA5YmM4MWE0NDZkMGEzZWE5YTg4NDczOWVlZTQ4ZDNmMTRkYjMyODNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9uYXRoYW4gUmFqb3R0ZSA8am9uYXRoYW4ucmFqb3R0ZS1qdWxpZW5AZWZmaWNpb3MuY29tPgorRGF0ZTogV2VkLCAyOCBNYXIgMjAxOCAxNToyMToyNiAtMDQwMAorU3ViamVjdDogW1BBVENIIGx0dG5nLXRvb2xzXSBUZXN0czogdXNlIG1vZHByb2JlIHRvIHRlc3QgZm9yIHRoZSBwcmVzZW5jZSBvZgorIGx0dG5nLW1vZHVsZXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbMjg3MDI3MzAxOTJhZTFkZWQwNjEwNWM1NGM1ZGNdCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK1NpZ25lZC1vZmYtYnk6IErDqXLDqW1pZSBHYWxhcm5lYXUgPGplcmVtaWUuZ2FsYXJuZWF1QGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwgICAgICB8ICA4ICsrLS0tLS0tCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwgICAgIHwgIDcgKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsICAgICAgICAgICB8ICA5ICsrKy0tLS0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZyB8ICA4ICsrLS0tLS0tCisgdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwgICAgICAgICAgIHwgIDggKystLS0tLS0KKyB0ZXN0cy91dGlscy91dGlscy5zaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysrKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3JlZ2VuLW1ldGFkYXRhL3Rlc3Rfa2VybmVsCitpbmRleCBmZDEzOWFlZWYuLjE4NDliOWNkMCAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tbWV0YWRhdGEvdGVzdF9rZXJuZWwKK0BAIC0yOCwxMiArMjgsNiBAQCBOVU1fVEVTVFM9MTgKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorIHsKKyAJIyBDcmVhdGUgc2Vzc2lvbiB3aXRoIGRlZmF1bHQgcGF0aAorQEAgLTkxLDYgKzg1LDggQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfcmVsYXlkICItbyAkVFJBQ0VfUEFUSCIKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAJbW9kcHJvYmUgbHR0bmctdGVzdAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwKK2luZGV4IDg1YWZlNzZhMS4uNTAwNTRlYjA3IDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9yZWdlbi1zdGF0ZWR1bXAvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvcmVnZW4tc3RhdGVkdW1wL3Rlc3Rfa2VybmVsCitAQCAtMjksMTIgKzI5LDYgQEAgTlVNX1RFU1RTPTExCisgCisgc291cmNlICRURVNURElSL3V0aWxzL3V0aWxzLnNoCisgCistIyBMVFRuZyBrZXJuZWwgbW9kdWxlcyBjaGVjaworLW91dD1gbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2V4dHJhIHwgZ3JlcCBsdHRuZ2AKKy1pZiBbIC16ICIkb3V0IiBdOyB0aGVuCistCUJBSUxfT1VUICJMVFRuZyBtb2R1bGVzIG5vdCBkZXRlY3RlZC4iCistZmkKKy0KKyBmdW5jdGlvbiB0ZXN0X2tlcm5lbF9sb2NhbCAoKQorIHsKKyAJZGlhZyAiVGVzdCBrZXJuZWwgbG9jYWwgd2l0aCBzdGF0ZWR1bXAgcmVnZW5lcmF0aW9uIgorQEAgLTY0LDYgKzU4LDcgQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAJbW9kcHJvYmUgbHR0bmctdGVzdAorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF9rZXJuZWwKK2luZGV4IDg4NmM0NTU3YS4uZmY1NjMxMDBiIDEwMDc1NQorLS0tIGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zbmFwc2hvdHMvdGVzdF9rZXJuZWwKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsCitAQCAtMjksMTIgKzI5LDYgQEAgTlVNX1RFU1RTPTIwNjAKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIHRlc3Rfa2VybmVsX2xvY2FsX3NuYXBzaG90ICgpCisgeworIAlkaWFnICJUZXN0IGxvY2FsIGtlcm5lbCBzbmFwc2hvdHMiCitAQCAtMjQxLDYgKzIzNSw5IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc25hcHNob3QgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKKyAJI3Rlc3RzPSggdGVzdF9rZXJuZWxfMTAwMF9sb2NhbF9zbmFwc2hvdHMgKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZworaW5kZXggN2I5NmVmMjcwLi4xZDk3NTE5YWEgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NuYXBzaG90cy90ZXN0X2tlcm5lbF9zdHJlYW1pbmcKKysrKyBiL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvc25hcHNob3RzL3Rlc3Rfa2VybmVsX3N0cmVhbWluZworQEAgLTI5LDEyICsyOSw2IEBAIE5VTV9URVNUUz02MQorIAorIHNvdXJjZSAkVEVTVERJUi91dGlscy91dGlscy5zaAorIAorLSMgTFRUbmcga2VybmVsIG1vZHVsZXMgY2hlY2sKKy1vdXQ9YGxzIC9saWIvbW9kdWxlcy8kKHVuYW1lIC1yKS9leHRyYSB8IGdyZXAgbHR0bmdgCistaWYgWyAteiAiJG91dCIgXTsgdGhlbgorLQlCQUlMX09VVCAiTFRUbmcgbW9kdWxlcyBub3QgZGV0ZWN0ZWQuIgorLWZpCistCisgZnVuY3Rpb24gc25hcHNob3RfYWRkX291dHB1dCAoKQorIHsKKyAJbG9jYWwgc2Vzc19uYW1lPSQxCitAQCAtMTY5LDYgKzE2Myw4IEBAIGZpCisgCisgc2tpcCAkaXNyb290ICJSb290IGFjY2VzcyBpcyBuZWVkZWQuIFNraXBwaW5nIGFsbCBrZXJuZWwgc3RyZWFtaW5nIHRlc3RzLiIgJE5VTV9URVNUUyB8fAorIHsKKysJdmFsaWRhdGVfbHR0bmdfbW9kdWxlc19wcmVzZW50CisrCisgCXN0YXJ0X2x0dG5nX3JlbGF5ZCAiLW8gJFRSQUNFX1BBVEgiCisgCXN0YXJ0X2x0dG5nX3Nlc3Npb25kCisgCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwgYi90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2tlcm5lbAoraW5kZXggZDU0YmNlZGY1Li42YmIyM2Q5ZjUgMTAwNzU1CistLS0gYS90ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3N0cmVhbWluZy90ZXN0X2tlcm5lbAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9zdHJlYW1pbmcvdGVzdF9rZXJuZWwKK0BAIC0yOCwxMiArMjgsNiBAQCBOVU1fVEVTVFM9MTAKKyAKKyBzb3VyY2UgJFRFU1RESVIvdXRpbHMvdXRpbHMuc2gKKyAKKy0jIExUVG5nIGtlcm5lbCBtb2R1bGVzIGNoZWNrCistb3V0PWBscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikvZXh0cmEgfCBncmVwIGx0dG5nYAorLWlmIFsgLXogIiRvdXQiIF07IHRoZW4KKy0JQkFJTF9PVVQgIkxUVG5nIG1vZHVsZXMgbm90IGRldGVjdGVkLiIKKy1maQorLQorIGZ1bmN0aW9uIGx0dG5nX2NyZWF0ZV9zZXNzaW9uX3VyaQorIHsKKyAJIyBDcmVhdGUgc2Vzc2lvbiB3aXRoIGRlZmF1bHQgcGF0aAorQEAgLTgwLDYgKzc0LDggQEAgZmkKKyAKKyBza2lwICRpc3Jvb3QgIlJvb3QgYWNjZXNzIGlzIG5lZWRlZC4gU2tpcHBpbmcgYWxsIGtlcm5lbCBzdHJlYW1pbmcgdGVzdHMuIiAkTlVNX1RFU1RTIHx8CisgeworKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKysKKyAJc3RhcnRfbHR0bmdfcmVsYXlkICItbyAkVFJBQ0VfUEFUSCIKKyAJc3RhcnRfbHR0bmdfc2Vzc2lvbmQKKyAKK2RpZmYgLS1naXQgYS90ZXN0cy91dGlscy91dGlscy5zaCBiL3Rlc3RzL3V0aWxzL3V0aWxzLnNoCitpbmRleCBhZjYzODI0Y2UuLjI2ZTU5ZTM4MyAxMDA2NDQKKy0tLSBhL3Rlc3RzL3V0aWxzL3V0aWxzLnNoCisrKysgYi90ZXN0cy91dGlscy91dGlscy5zaAorQEAgLTEyNSw2ICsxMjUsMTYgQEAgZnVuY3Rpb24gY29uZl9wcm9jX2NvdW50KCkKKyAJZWNobworIH0KKyAKKysjIENoZWNrIGlmIGJhc2UgbHR0bmctbW9kdWxlcyBhcmUgcHJlc2VudC4KKysjIEJhaWwgb3V0IG9uIGZhaWx1cmUKKytmdW5jdGlvbiB2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQgKCkKKyt7CisrCW1vZHByb2JlIC1uIGx0dG5nLXRyYWNlciAyPi9kZXYvbnVsbAorKwlpZiBbICQ/IC1uZSAwICBdOyB0aGVuCisrCQlCQUlMX09VVCAiTFRUbmcgbW9kdWxlcyBub3QgZGV0ZWN0ZWQuIgorKwlmaQorK30KKysKKyBmdW5jdGlvbiBlbmFibGVfa2VybmVsX2x0dG5nX2V2ZW50CisgeworIAlsb2NhbCB3aXRodGFwPSIkMSIKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDYtVGVzdHMtY2hlY2stZm9yLWx0dG5nLW1vZHVsZXMtcHJlc2VuY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA3YzIyNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy8wMDA2LVRlc3RzLWNoZWNrLWZvci1sdHRuZy1tb2R1bGVzLXByZXNlbmNlLnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gOTJmOTMyMzhmMWRmMDA1YWFkYzk4ZTEwNWMwZGQwZTA0YTU5NTVhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK0RhdGU6IE1vbiwgMjUgTWFyIDIwMTkgMTQ6MjQ6NTEgLTA0MDAKK1N1YmplY3Q6IFsyLzJdIHRlc3RzOiBjaGVjayBmb3IgbHR0bmctbW9kdWxlcyBwcmVzZW5jZQorCitVcHN0cmVhbS1zdGF0dXM6IEFjY2VwdGVkIFs1ZGEzZmM4NTc5YTlmOTNlYTQ3Njc3MjlhMTA3Nzg0YmYyZDAzNGFlXQorQmFja3BvcnRlZCB0byAyLjExIGFuZCAyLjEwCisKK1NpZ25lZC1vZmYtYnk6IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KKy0tLQorIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsCitpbmRleCA2ZDdmMjU2YWUuLmU3MzY4ZGYyNiAxMDA3NTUKKy0tLSBhL3Rlc3RzL3JlZ3Jlc3Npb24vdG9vbHMvbm90aWZpY2F0aW9uL3Rlc3Rfbm90aWZpY2F0aW9uX2tlcm5lbAorKysrIGIvdGVzdHMvcmVncmVzc2lvbi90b29scy9ub3RpZmljYXRpb24vdGVzdF9ub3RpZmljYXRpb25fa2VybmVsCitAQCAtMTA4LDYgKzEwOCw3IEBAIGZ1bmN0aW9uIGtlcm5lbF90ZXN0CisgfQorIAorIGlmIFsgIiQoaWQgLXUpIiA9PSAiMCIgXTsgdGhlbgorKwl2YWxpZGF0ZV9sdHRuZ19tb2R1bGVzX3ByZXNlbnQKKyAJa2VybmVsX3Rlc3QKKyBlbHNlCisgCSMgS2VybmVsIHRlc3RzIGFyZSBza2lwcGVkLgorLS0gCisyLjE3LjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzLzAwMDctRml4LWdldGdybmFtLWlzLW5vdC1NVC1TYWZlLXVzZS1nZXRncm5hbV9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MzdkZTIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvMDAwNy1GaXgtZ2V0Z3JuYW0taXMtbm90LU1ULVNhZmUtdXNlLWdldGdybmFtX3IucGF0Y2gKQEAgLTAsMCArMSwzNDUgQEAKK0Zyb20gMTBlODAwMWFkODc2ZDhjYjNiNWExN2M3NDkyZTcxM2JiYzA0Nzk3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvbmF0aGFuIFJham90dGUgPGpvbmF0aGFuLnJham90dGUtanVsaWVuQGVmZmljaW9zLmNvbT4KK0RhdGU6IFRodSwgMjggTWFyIDIwMTkgMTg6MzE6MjkgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4OiBnZXRncm5hbSBpcyBub3QgTVQtU2FmZSwgdXNlIGdldGdybmFtX3IKKworUnVubmluZyB0aGUgdGVzdCBzdWl0ZSB1bmRlciBhIFlvY3RvIG11c2wgYnVpbGQgcmVzdWx0ZWQgaW4gbXVzbAorY29yZWR1bXAgZHVlIHRvIGRvdWJsZSBmcmVlaW5nLgorCitXZSBnZXQgdGhlIGZvbGxvd2luZyBiYWNrdHJhY2VzOgorCiswICBhX2NyYXNoICgpIGF0IC4vYXJjaC94ODZfNjQvYXRvbWljX2FyY2guaDoxMDgKKzEgIHVubWFwX2NodW5rIChzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MTUKKzIgIGZyZWUgKHA9PG9wdGltaXplZCBvdXQ+KSBhdCBzcmMvbWFsbG9jL21hbGxvYy5jOjUyNgorMyAgMHgwMDAwN2Y0NmQ5ZGMzODQ5IGluIF9fZ2V0Z3JlbnRfYSAoZj1mQGVudHJ5PTB4N2Y0NmQ5ZDFmN2UwLCBncj1nckBlbnRyeT0weDdmNDZkOWUyNDQ2MCA8Z3I+LCBsaW5lPWxpbmVAZW50cnk9MHg3ZjQ2ZDllMjYwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjQ2ZDkyZGI1NTAsIG1lbT1tZW1AZW50cnk9MHg3ZjQ2ZDllMjYwNTAgPG1lbT4sIG5tZW09bm1lbUBlbnRyeT0weDdmNDZkOTJkYjU1OCwgcmVzPTB4N2Y0NmQ5MmRiNTQ4KSBhdCBzcmMvcGFzc3dkL2dldGdyZW50X2EuYzo0NQorNCAgMHgwMDAwN2Y0NmQ5ZGMyZTZiIGluIF9fZ2V0Z3JfYSAobmFtZT0weDQ4NzI0MiAidHJhY2luZyIsIGdpZD1naWRAZW50cnk9MCwgZ3I9Z3JAZW50cnk9MHg3ZjQ2ZDllMjQ0NjAgPGdyPiwgYnVmPWJ1ZkBlbnRyeT0weDdmNDZkOWUyNjA1OCA8bGluZT4sIHNpemU9c2l6ZUBlbnRyeT0weDdmNDZkOTJkYjU1MCwgbWVtPW1lbUBlbnRyeT0weDdmNDZkOWUyNjA1MCA8bWVtPiwgbm1lbT0weDdmNDZkOTJkYjU1OCwgcmVzPTB4N2Y0NmQ5MmRiNTQ4KSBhdCBzcmMvcGFzc3dkL2dldGdyX2EuYzozMAorNSAgMHgwMDAwN2Y0NmQ5ZGMzNzMzIGluIGdldGdybmFtIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudC5jOjM3Cis2ICAweDAwMDAwMDAwMDA0NjBiMjkgaW4gdXRpbHNfZ2V0X2dyb3VwX2lkIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9jb21tb24vdXRpbHMuYzoxMjQxCis3ICAweDAwMDAwMDAwMDA0NGVlNjkgaW4gdGhyZWFkX21hbmFnZV9oZWFsdGggKGRhdGE9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi8uLi8uLi8uLi9sdHRuZy10b29scy0yLjEwLjYvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmM6NDExNQorOCAgMHgwMDAwN2Y0NmQ5ZGUxNTQxIGluIHN0YXJ0IChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jOjE5NQorOSAgMHgwMDAwN2Y0NmQ5ZGVlNjYxIGluIF9fY2xvbmUgKCkgYXQgc3JjL3RocmVhZC94ODZfNjQvY2xvbmUuczoyMgorCitGcm9tIGFub3RoZXIgcnVuOgorCiswICBhX2NyYXNoICgpIGF0IC4vYXJjaC94ODZfNjQvYXRvbWljX2FyY2guaDoxMDgKKzEgIHVubWFwX2NodW5rIChzZWxmPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL21hbGxvYy9tYWxsb2MuYzo1MTUKKzIgIGZyZWUgKHA9PG9wdGltaXplZCBvdXQ+KSBhdCBzcmMvbWFsbG9jL21hbGxvYy5jOjUyNgorMyAgMHgwMDAwN2Y1YWJjMjEwODQ5IGluIF9fZ2V0Z3JlbnRfYSAoZj1mQGVudHJ5PTB4N2Y1YWJjMjczM2UwLCBncj1nckBlbnRyeT0weDdmNWFiYzI3MTQ2MCA8Z3I+LCBsaW5lPWxpbmVAZW50cnk9MHg3ZjVhYmMyNzMwNTggPGxpbmU+LCBzaXplPXNpemVAZW50cnk9MHg3ZjVhYmFlZjU1MTAsIG1lbT1tZW1AZW50cnk9MHg3ZjVhYmMyNzMwNTAgPG1lbT4sIG5tZW09bm1lbUBlbnRyeT0weDdmNWFiYWVmNTUxOCwgcmVzPTB4N2Y1YWJhZWY1NTA4KSBhdCBzcmMvcGFzc3dkL2dldGdyZW50X2EuYzo0NQorNCAgMHgwMDAwN2Y1YWJjMjBmZTZiIGluIF9fZ2V0Z3JfYSAobmFtZT0weDQ4NzI0MiAidHJhY2luZyIsIGdpZD1naWRAZW50cnk9MCwgZ3I9Z3JAZW50cnk9MHg3ZjVhYmMyNzE0NjAgPGdyPiwgYnVmPWJ1ZkBlbnRyeT0weDdmNWFiYzI3MzA1OCA8bGluZT4sIHNpemU9c2l6ZUBlbnRyeT0weDdmNWFiYWVmNTUxMCwgbWVtPW1lbUBlbnRyeT0weDdmNWFiYzI3MzA1MCA8bWVtPiwgbm1lbT0weDdmNWFiYWVmNTUxOCwgcmVzPTB4N2Y1YWJhZWY1NTA4KSBhdCBzcmMvcGFzc3dkL2dldGdyX2EuYzozMAorNSAgMHgwMDAwN2Y1YWJjMjEwNzMzIGluIGdldGdybmFtIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3Bhc3N3ZC9nZXRncmVudC5jOjM3Cis2ICAweDAwMDAwMDAwMDA0NjBiMjkgaW4gdXRpbHNfZ2V0X2dyb3VwX2lkIChuYW1lPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9jb21tb24vdXRpbHMuYzoxMjQxCis3ICAweDAwMDAwMDAwMDA0MmRlZTQgaW4gbm90aWZpY2F0aW9uX2NoYW5uZWxfc29ja2V0X2NyZWF0ZSAoKSBhdCAuLi8uLi8uLi8uLi9sdHRuZy10b29scy0yLjEwLjYvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmM6MjM4Cis4ICBpbml0X3RocmVhZF9zdGF0ZSAoc3RhdGU9MHg3ZjVhYmFlZjU1NjAsIGhhbmRsZT0weDdmNWFiYmY5YmU0MCkgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jOjM3NQorOSAgdGhyZWFkX25vdGlmaWNhdGlvbiAoZGF0YT0weDdmNWFiYmY5YmU0MCkgYXQgLi4vLi4vLi4vLi4vbHR0bmctdG9vbHMtMi4xMC42L3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jOjQ5NQorMTAgMHgwMDAwN2Y1YWJjMjJlNTQxIGluIHN0YXJ0IChwPTxvcHRpbWl6ZWQgb3V0PikgYXQgc3JjL3RocmVhZC9wdGhyZWFkX2NyZWF0ZS5jOjE5NQorMTEgMHgwMDAwN2Y1YWJjMjNiNjYxIGluIF9fY2xvbmUgKCkgYXQgc3JjL3RocmVhZC94ODZfNjQvY2xvbmUuczoyMgorCitUaGUgcHJvYmxlbSB3YXMgZWFzaWx5IHJlcHJvZHVjaWJsZSAofjYgY3Jhc2ggb24gfjMwMCBydW5zKS4gQSBwcm90b3R5cGUgZml4Cit1c2luZyBtdXRleCBhcm91bmQgdGhlIGdldGdybmFtIHlpZWxkZWQgbm8gY3Jhc2ggaW4gb3ZlciAxMDAwIHJ1bnMuIFRoaXMKK3BhdGNoIHlpZWxkZWQgdGhlIHNhbWUgcmVzdWx0cyBhcyB0aGUgcHJvdG90eXBlIGZpeC4KKworVW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgcmVseSBvbiBhIG11dGV4IGluIGxpYmx0dG5nLWN0bCBzaW5jZSB3ZSBjYW5ub3QKK2VuZm9yY2UgdGhlIGxvY2tpbmcgZm9yIHRoZSBhcHBsaWNhdGlvbiB1c2luZyB0aGUgbGliLgorCitVc2UgZ2V0Z3JuYW1fciBpbnN0ZWFkLgorCitUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gb2YgdXRpbHNfZ2V0X2dyb3VwX2lkIHJldHVybmVkIHRoZSBnaWQgb2YKK3RoZSByb290IGdyb3VwICgwKSBvbiBlcnJvci9ub3QgZm91bmQuIGx0dG5nX2NoZWNrX3RyYWNpbmdfZ3JvdXAgbmVlZHMKK3RvIGtub3cgaWYgYW4gZXJyb3Ivbm90IGZvdW5kIG9jY3VyZWQsIHJldHVybmluZyB0aGUgcm9vdCBncm91cCBpcyBub3QKK2Vub3VnaC4gV2Ugbm93IHJldHVybiB0aGUgZ2lkIHZpYSB0aGUgcGFzc2VkIHBhcmFtZXRlci4gVGhlIGNhbGxlciBpcworcmVzcG9uc2libGUgZm9yIGVpdGhlciBkZWZhdWx0aW5nIHRvIHRoZSByb290IGdyb3VwIG9yIHByb3BhZ2F0aW5nIHRoZQorZXJyb3IuCisKK1dlIGFsc28gZG8gbm90IHdhbnQgdG8gd2FybiB3aGVuIHVzZWQgaW4gbGlibHR0bmctY3RsIGNvbnRleHQuIFdlIG1pZ2h0Cit3YW50IHRvIG1vdmUgdGhlIHdhcm5pbmcgZWxzZXdoZXJlIGluIHRoZSBmdXR1cmUuIEZvciBub3csIHBhc3MgYSBib29sCitpZiB3ZSBuZWVkIHRvIHdhcm4gb3Igbm90LgorCitTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBSYWpvdHRlIDxqb25hdGhhbi5yYWpvdHRlLWp1bGllbkBlZmZpY2lvcy5jb20+CistLS0KKyBzcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMgICB8IDEwICsrLQorIHNyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYyAgICAgICAgIHwgMjAgKysrKy0tCisgc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMgICAgICAgICAgICAgICAgfCAyNCArKysrKy0tCisgc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmMgfCAxMCArKy0KKyBzcmMvY29tbW9uL3V0aWxzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysrLS0tCisgc3JjL2NvbW1vbi91dGlscy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArLQorIHNyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jICAgICAgICAgICAgICAgIHwgIDggKy0tCisgNyBmaWxlcyBjaGFuZ2VkLCAxMjIgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMgYi9zcmMvYmluL2x0dG5nLWNvbnN1bWVyZC9oZWFsdGgtY29uc3VtZXJkLmMKK2luZGV4IDFlMmYzMWU0Li42MDQ1NDAxYSAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmctY29uc3VtZXJkL2hlYWx0aC1jb25zdW1lcmQuYworKysrIGIvc3JjL2Jpbi9sdHRuZy1jb25zdW1lcmQvaGVhbHRoLWNvbnN1bWVyZC5jCitAQCAtMTg0LDggKzE4NCwxNCBAQCB2b2lkICp0aHJlYWRfbWFuYWdlX2hlYWx0aCh2b2lkICpkYXRhKQorIAlpc19yb290ID0gIWdldHVpZCgpOworIAlpZiAoaXNfcm9vdCkgeworIAkJLyogbHR0bmcgaGVhbHRoIGNsaWVudCBzb2NrZXQgcGF0aCBwZXJtaXNzaW9ucyAqLworLQkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lKSk7CisrCQlnaWRfdCBnaWQ7CisrCisrCQlyZXQgPSB1dGlsc19nZXRfZ3JvdXBfaWQodHJhY2luZ19ncm91cF9uYW1lLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuICovCisrCQl9CisrCisrCQlyZXQgPSBjaG93bihoZWFsdGhfdW5peF9zb2NrX3BhdGgsIDAsIGdpZCk7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIGhlYWx0aF91bml4X3NvY2tfcGF0aCk7CisgCQkJUEVSUk9SKCJjaG93biIpOworZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYyBiL3NyYy9iaW4vbHR0bmctcmVsYXlkL2hlYWx0aC1yZWxheWQuYworaW5kZXggYmE5OTY2MjEuLjk2MmU4OGM0IDEwMDY0NAorLS0tIGEvc3JjL2Jpbi9sdHRuZy1yZWxheWQvaGVhbHRoLXJlbGF5ZC5jCisrKysgYi9zcmMvYmluL2x0dG5nLXJlbGF5ZC9oZWFsdGgtcmVsYXlkLmMKK0BAIC0xMDUsOCArMTA1LDE0IEBAIHN0YXRpYyBpbnQgY3JlYXRlX2x0dG5nX3J1bmRpcl93aXRoX3Blcm0oY29uc3QgY2hhciAqcnVuZGlyKQorIAkJaW50IGlzX3Jvb3QgPSAhZ2V0dWlkKCk7CisgCisgCQlpZiAoaXNfcm9vdCkgeworLQkJCXJldCA9IGNob3duKHJ1bmRpciwgMCwKKy0JCQkJCXV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUpKTsKKysJCQlnaWRfdCBnaWQ7CisrCisrCQkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKHRyYWNpbmdfZ3JvdXBfbmFtZSwgdHJ1ZSwgJmdpZCk7CisrCQkJaWYgKHJldCkgeworKwkJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuKi8KKysJCQl9CisrCisrCQkJcmV0ID0gY2hvd24ocnVuZGlyLCAwLCBnaWQpOworIAkJCWlmIChyZXQgPCAwKSB7CisgCQkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIHJ1bmRpcik7CisgCQkJCVBFUlJPUigiY2hvd24iKTsKK0BAIC0yNTYsOCArMjYyLDE0IEBAIHZvaWQgKnRocmVhZF9tYW5hZ2VfaGVhbHRoKHZvaWQgKmRhdGEpCisgCWlzX3Jvb3QgPSAhZ2V0dWlkKCk7CisgCWlmIChpc19yb290KSB7CisgCQkvKiBsdHRuZyBoZWFsdGggY2xpZW50IHNvY2tldCBwYXRoIHBlcm1pc3Npb25zICovCistCQlyZXQgPSBjaG93bihoZWFsdGhfdW5peF9zb2NrX3BhdGgsIDAsCistCQkJCXV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUpKTsKKysJCWdpZF90IGdpZDsKKysKKysJCXJldCA9IHV0aWxzX2dldF9ncm91cF9pZCh0cmFjaW5nX2dyb3VwX25hbWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oaGVhbHRoX3VuaXhfc29ja19wYXRoLCAwLCBnaWQpOworIAkJaWYgKHJldCA8IDApIHsKKyAJCQlFUlIoIlVuYWJsZSB0byBzZXQgZ3JvdXAgb24gJXMiLCBoZWFsdGhfdW5peF9zb2NrX3BhdGgpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYyBiL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbWFpbi5jCitpbmRleCBmYTZmYTQ4My4uNDkzMDcwNjQgMTAwNjQ0CistLS0gYS9zcmMvYmluL2x0dG5nLXNlc3Npb25kL21haW4uYworKysrIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9tYWluLmMKK0BAIC00MTEyLDggKzQxMTIsMTQgQEAgc3RhdGljIHZvaWQgKnRocmVhZF9tYW5hZ2VfaGVhbHRoKHZvaWQgKmRhdGEpCisgCisgCWlmIChpc19yb290KSB7CisgCQkvKiBsdHRuZyBoZWFsdGggY2xpZW50IHNvY2tldCBwYXRoIHBlcm1pc3Npb25zICovCistCQlyZXQgPSBjaG93bihjb25maWcuaGVhbHRoX3VuaXhfc29ja19wYXRoLnZhbHVlLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24oY29uZmlnLmhlYWx0aF91bml4X3NvY2tfcGF0aC52YWx1ZSwgMCwgJmdpZCk7CisgCQlpZiAocmV0IDwgMCkgeworIAkJCUVSUigiVW5hYmxlIHRvIHNldCBncm91cCBvbiAlcyIsIGNvbmZpZy5oZWFsdGhfdW5peF9zb2NrX3BhdGgudmFsdWUpOworIAkJCVBFUlJPUigiY2hvd24iKTsKK0BAIC01MjM4LDcgKzUyNDQsMTAgQEAgc3RhdGljIGludCBzZXRfcGVybWlzc2lvbnMoY2hhciAqcnVuZGlyKQorIAlpbnQgcmV0OworIAlnaWRfdCBnaWQ7CisgCistCWdpZCA9IHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlKTsKKysJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwlpZiAocmV0KSB7CisrCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAgKi8KKysJfQorIAorIAkvKiBTZXQgbHR0bmcgcnVuIGRpciAqLworIAlyZXQgPSBjaG93bihydW5kaXIsIDAsIGdpZCk7CitAQCAtNTM0OSw3ICs1MzU4LDE0IEBAIHN0YXRpYyBpbnQgc2V0X2NvbnN1bWVyX3NvY2tldHMoc3RydWN0IGNvbnN1bWVyX2RhdGEgKmNvbnN1bWVyX2RhdGEpCisgCQlnb3RvIGVycm9yOworIAl9CisgCWlmIChpc19yb290KSB7CistCQlyZXQgPSBjaG93bihwYXRoLCAwLCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbmZpZy50cmFjaW5nX2dyb3VwX25hbWUudmFsdWUsIHRydWUsICZnaWQpOworKwkJaWYgKHJldCkgeworKwkJCWdpZCA9IDA7IC8qIERlZmF1bHQgdG8gcm9vdCBncm91cCAqLworKwkJfQorKworKwkJcmV0ID0gY2hvd24ocGF0aCwgMCwgZ2lkKTsKKyAJCWlmIChyZXQgPCAwKSB7CisgCQkJRVJSKCJVbmFibGUgdG8gc2V0IGdyb3VwIG9uICVzIiwgcGF0aCk7CisgCQkJUEVSUk9SKCJjaG93biIpOworZGlmZiAtLWdpdCBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jIGIvc3JjL2Jpbi9sdHRuZy1zZXNzaW9uZC9ub3RpZmljYXRpb24tdGhyZWFkLmMKK2luZGV4IDkyYWM1OTdmLi4xOGEyNjRkOSAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmctc2Vzc2lvbmQvbm90aWZpY2F0aW9uLXRocmVhZC5jCisrKysgYi9zcmMvYmluL2x0dG5nLXNlc3Npb25kL25vdGlmaWNhdGlvbi10aHJlYWQuYworQEAgLTIzNSw4ICsyMzUsMTQgQEAgaW50IG5vdGlmaWNhdGlvbl9jaGFubmVsX3NvY2tldF9jcmVhdGUodm9pZCkKKyAJfQorIAorIAlpZiAoZ2V0dWlkKCkgPT0gMCkgeworLQkJcmV0ID0gY2hvd24oc29ja19wYXRoLCAwLAorLQkJCQl1dGlsc19nZXRfZ3JvdXBfaWQoY29uZmlnLnRyYWNpbmdfZ3JvdXBfbmFtZS52YWx1ZSkpOworKwkJZ2lkX3QgZ2lkOworKworKwkJcmV0ID0gIHV0aWxzX2dldF9ncm91cF9pZChjb25maWcudHJhY2luZ19ncm91cF9uYW1lLnZhbHVlLCB0cnVlLCAmZ2lkKTsKKysJCWlmIChyZXQpIHsKKysJCQlnaWQgPSAwOyAvKiBEZWZhdWx0IHRvIHJvb3QgZ3JvdXAuICovCisrCQl9CisrCisrCQlyZXQgPSBjaG93bihzb2NrX3BhdGgsIDAsIGdpZCk7CisgCQlpZiAocmV0KSB7CisgCQkJRVJSKCJGYWlsZWQgdG8gc2V0IHRoZSBub3RpZmljYXRpb24gY2hhbm5lbCBzb2NrZXQncyBncm91cCIpOworIAkJCXJldCA9IC0xOworZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbHMuYyBiL3NyYy9jb21tb24vdXRpbHMuYworaW5kZXggYzBiYjAzMWUuLjc3OGJjMDBmIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbi91dGlscy5jCisrKysgYi9zcmMvY29tbW9uL3V0aWxzLmMKK0BAIC0xMjMxLDI0ICsxMjMxLDc3IEBAIHNpemVfdCB1dGlsc19nZXRfY3VycmVudF90aW1lX3N0cihjb25zdCBjaGFyICpmb3JtYXQsIGNoYXIgKmRzdCwgc2l6ZV90IGxlbikKKyB9CisgCisgLyoKKy0gKiBSZXR1cm4gdGhlIGdyb3VwIElEIG1hdGNoaW5nIG5hbWUsIGVsc2UgMCBpZiBpdCBjYW5ub3QgYmUgZm91bmQuCisrICogUmV0dXJuIDAgb24gc3VjY2VzcyBhbmQgc2V0ICpnaWQgdG8gdGhlIGdyb3VwX0lEIG1hdGNoaW5nIHRoZSBwYXNzZWQgbmFtZS4KKysgKiBFbHNlIC0xIGlmIGl0IGNhbm5vdCBiZSBmb3VuZCBvciBhbiBlcnJvciBvY2N1cnJlZC4KKyAgKi8KKyBMVFROR19ISURERU4KKy1naWRfdCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uc3QgY2hhciAqbmFtZSkKKytpbnQgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgd2FybiwgZ2lkX3QgKmdpZCkKKyB7CistCXN0cnVjdCBncm91cCAqZ3JwOworKwlzdGF0aWMgdm9sYXRpbGUgaW50IHdhcm5fb25jZTsKKyAKKy0JZ3JwID0gZ2V0Z3JuYW0obmFtZSk7CistCWlmICghZ3JwKSB7CistCQlzdGF0aWMgdm9sYXRpbGUgaW50IHdhcm5fb25jZTsKKysJaW50IHJldDsKKysJbG9uZyBzeXNfbGVuOworKwlzaXplX3QgbGVuOworKwlzdHJ1Y3QgZ3JvdXAgZ3JwOworKwlzdHJ1Y3QgZ3JvdXAgKnJlc3VsdDsKKysJY2hhciAqYnVmZmVyID0gTlVMTDsKKyAKKy0JCWlmICghd2Fybl9vbmNlKSB7CistCQkJV0FSTigiTm8gdHJhY2luZyBncm91cCBkZXRlY3RlZCIpOworLQkJCXdhcm5fb25jZSA9IDE7CisrCS8qIEdldCB0aGUgc3lzdGVtIGxpbWl0IGlmIGl0IGV4aXN0cyAqLworKwlzeXNfbGVuID0gc3lzY29uZihfU0NfR0VUR1JfUl9TSVpFX01BWCk7CisrCWlmIChzeXNfbGVuID09IC0xKSB7CisrCQlsZW4gPSAxMDI0OworKwl9IGVsc2UgeworKwkJbGVuID0gKHNpemVfdCkgc3lzX2xlbjsKKysJfQorKworKwlidWZmZXIgPSBtYWxsb2MobGVuKTsKKysJaWYgKCFidWZmZXIpIHsKKysJCVBFUlJPUigiZ2V0Z3JuYW1fciBtYWxsb2MiKTsKKysJCXJldCA9IC0xOworKwkJZ290byBlcnJvcjsKKysJfQorKworKwl3aGlsZSAoKHJldCA9IGdldGdybmFtX3IobmFtZSwgJmdycCwgYnVmZmVyLCBsZW4sICZyZXN1bHQpKSA9PSBFUkFOR0UpCisrCXsKKysJCS8qIEJ1ZmZlciBpcyBub3QgYmlnIGVub3VnaCwgaW5jcmVhc2UgaXRzIHNpemUuICovCisrCQlzaXplX3QgbmV3X2xlbiA9IDIgKiBsZW47CisrCQljaGFyICpuZXdfYnVmZmVyID0gTlVMTDsKKysJCWlmIChuZXdfbGVuIDwgbGVuKSB7CisrCQkJRVJSKCJnZXRncm5hbV9yIGJ1ZmZlciBzaXplIG92ZXJmbG93Iik7CisrCQkJcmV0ID0gLTE7CisrCQkJZ290byBlcnJvcjsKKysJCX0KKysJCWxlbiA9IG5ld19sZW47CisrCQluZXdfYnVmZmVyID0gcmVhbGxvYyhidWZmZXIsIGxlbik7CisrCQlpZiAoIW5ld19idWZmZXIpIHsKKysJCQlQRVJST1IoImdldGdybmFtX3IgcmVhbGxvYyIpOworKwkJCXJldCA9IC0xOworKwkJCWdvdG8gZXJyb3I7CisgCQl9CistCQlyZXR1cm4gMDsKKysJCWJ1ZmZlciA9IG5ld19idWZmZXI7CisrCX0KKysJaWYgKHJldCAhPSAwKSB7CisrCQlQRVJST1IoImdldGdybmFtX3IiKTsKKysJCXJldCA9IC0xOworKwkJZ290byBlcnJvcjsKKysJfQorKworKwkvKiBHcm91cCBub3QgZm91bmQuICovCisrCWlmICghcmVzdWx0KSB7CisrCQlyZXQgPSAtMTsKKysJCWdvdG8gZXJyb3I7CisrCX0KKysKKysJKmdpZCA9IHJlc3VsdC0+Z3JfZ2lkOworKwlyZXQgPSAwOworKworK2Vycm9yOgorKwlmcmVlKGJ1ZmZlcik7CisrCWlmIChyZXQgJiYgd2FybiAmJiAhd2Fybl9vbmNlKSB7CisrCQlXQVJOKCJObyB0cmFjaW5nIGdyb3VwIGRldGVjdGVkIik7CisrCQl3YXJuX29uY2UgPSAxOworIAl9CistCXJldHVybiBncnAtPmdyX2dpZDsKKysJcmV0dXJuIHJldDsKKyB9CisgCisgLyoKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uL3V0aWxzLmggYi9zcmMvY29tbW9uL3V0aWxzLmgKK2luZGV4IDE4ZjE5ZWYxLi45YzcyNDMxZCAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24vdXRpbHMuaAorKysrIGIvc3JjL2NvbW1vbi91dGlscy5oCitAQCAtMjIsNiArMjIsOCBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPGdldG9wdC5oPgorKyNpbmNsdWRlIDxzdGRib29sLmg+CisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIAorICNkZWZpbmUgS0lCSV9MT0cyIDEwCisgI2RlZmluZSBNRUJJX0xPRzIgMjAKK0BAIC01Miw3ICs1NCw3IEBAIGludCB1dGlsc19nZXRfY291bnRfb3JkZXJfdTY0KHVpbnQ2NF90IHgpOworIGNoYXIgKnV0aWxzX2dldF9ob21lX2Rpcih2b2lkKTsKKyBjaGFyICp1dGlsc19nZXRfdXNlcl9ob21lX2Rpcih1aWRfdCB1aWQpOworIHNpemVfdCB1dGlsc19nZXRfY3VycmVudF90aW1lX3N0cihjb25zdCBjaGFyICpmb3JtYXQsIGNoYXIgKmRzdCwgc2l6ZV90IGxlbik7CistZ2lkX3QgdXRpbHNfZ2V0X2dyb3VwX2lkKGNvbnN0IGNoYXIgKm5hbWUpOworK2ludCB1dGlsc19nZXRfZ3JvdXBfaWQoY29uc3QgY2hhciAqbmFtZSwgYm9vbCB3YXJuLCBnaWRfdCAqZ2lkKTsKKyBjaGFyICp1dGlsc19nZW5lcmF0ZV9vcHRzdHJpbmcoY29uc3Qgc3RydWN0IG9wdGlvbiAqbG9uZ19vcHRpb25zLAorIAkJc2l6ZV90IG9wdF9jb3VudCk7CisgaW50IHV0aWxzX2NyZWF0ZV9sb2NrX2ZpbGUoY29uc3QgY2hhciAqZmlsZXBhdGgpOworZGlmZiAtLWdpdCBhL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jIGIvc3JjL2xpYi9sdHRuZy1jdGwvbHR0bmctY3RsLmMKK2luZGV4IDJkODRhYWQ5Li41NjFiMGJjZiAxMDA2NDQKKy0tLSBhL3NyYy9saWIvbHR0bmctY3RsL2x0dG5nLWN0bC5jCisrKysgYi9zcmMvbGliL2x0dG5nLWN0bC9sdHRuZy1jdGwuYworQEAgLTIwOCwxNSArMjA4LDEzIEBAIGVuZDoKKyBMVFROR19ISURERU4KKyBpbnQgbHR0bmdfY2hlY2tfdHJhY2luZ19ncm91cCh2b2lkKQorIHsKKy0Jc3RydWN0IGdyb3VwICpncnBfdHJhY2luZzsJLyogbm8gZnJlZSgpLiBTZWUgZ2V0Z3JuYW0oMykgKi8KKy0JZ2lkX3QgKmdycF9saXN0OworKwlnaWRfdCAqZ3JwX2xpc3QsIHRyYWNpbmdfZ2lkOworIAlpbnQgZ3JwX2xpc3Rfc2l6ZSwgZ3JwX2lkLCBpOworIAlpbnQgcmV0ID0gLTE7CisgCWNvbnN0IGNoYXIgKmdycF9uYW1lID0gdHJhY2luZ19ncm91cDsKKyAKKyAJLyogR2V0IEdJRCBvZiBncm91cCAndHJhY2luZycgKi8KKy0JZ3JwX3RyYWNpbmcgPSBnZXRncm5hbShncnBfbmFtZSk7CistCWlmICghZ3JwX3RyYWNpbmcpIHsKKysJaWYgKHV0aWxzX2dldF9ncm91cF9pZChncnBfbmFtZSwgZmFsc2UsICZ0cmFjaW5nX2dpZCkpIHsKKyAJCS8qIElmIGdycF90cmFjaW5nIGlzIE5VTEwsIHRoZSBncm91cCBkb2VzIG5vdCBleGlzdC4gKi8KKyAJCWdvdG8gZW5kOworIAl9CitAQCAtMjQxLDcgKzIzOSw3IEBAIGludCBsdHRuZ19jaGVja190cmFjaW5nX2dyb3VwKHZvaWQpCisgCX0KKyAKKyAJZm9yIChpID0gMDsgaSA8IGdycF9saXN0X3NpemU7IGkrKykgeworLQkJaWYgKGdycF9saXN0W2ldID09IGdycF90cmFjaW5nLT5ncl9naWQpIHsKKysJCWlmIChncnBfbGlzdFtpXSA9PSB0cmFjaW5nX2dpZCkgeworIAkJCXJldCA9IDE7CisgCQkJYnJlYWs7CisgCQl9CistLSAKKzIuMTcuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvcnVuLXB0ZXN0IGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3J1bi1wdGVzdAppbmRleCA3MDUwMzBlLi5kYmIxODgyIDEwMDc1NQotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMvcnVuLXB0ZXN0CisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy9ydW4tcHRlc3QKQEAgLTMsNCArMyw0IEBACiAjIHRlc3QgcGxhbiB0byByYWlzZSBFUlJPUnM7IHRoaXMgaXMganVzdCBub2lzZS4KIG1ha2VhcmdzPSJMT0dfRFJJVkVSX0ZMQUdTPS0taWdub3JlLWV4aXQgdG9wX3NyY2Rpcj0kUFdEIHRvcF9idWlsZGRpcj0kUFdEIgogbWFrZSAtayAtdCBhbGwgPi9kZXYvbnVsbCAyPiYxCi1leGVjIG1ha2UgLXMgJG1ha2VhcmdzIGNoZWNrIDI+L2Rldi9udWxsCitleGVjIG1ha2UgLWsgLXMgJG1ha2VhcmdzIGNoZWNrIDI+L2Rldi9udWxsCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMveDMyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzL3gzMi5wYXRjaAppbmRleCBiMWJiOGU0Li40MmNlYmY5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHMveDMyLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29scy94MzIucGF0Y2gKQEAgLTEsMTEgKzEsMzEgQEAKIEZpeCBidWlsZCBmb3IgeDMyCiAKLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KIAotLS0tIGx0dG5nLXRvb2xzLTIuNi4wL3NyYy9iaW4vbHR0bmcvdXRpbHMuY34JMjAxNS0wMS0yNiAxODoxNzoxNS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBsdHRuZy10b29scy0yLjYuMC9zcmMvYmluL2x0dG5nL3V0aWxzLmMJMjAxNS0wNy0zMCAxOTo0NToyNS42MzIwNDU3MTIgKzAyMDAKLUBAIC0xMzAsNyArMTMwLDcgQEAKK0ZpeCBidWlsZCBlcnJvciBvZiBzcmMvY29tbW9uL3V0aWxzLmMgZm9yIHgzMi4KKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy10b29scy9wdWxsLzE1MF0KKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CisKK2RpZmYgLS1naXQgYS9zcmMvYmluL2x0dG5nL3V0aWxzLmMgYi9zcmMvYmluL2x0dG5nL3V0aWxzLmMKK2luZGV4IDBlOTZlZjBjLi41Yzc5YzhjNyAxMDA2NDQKKy0tLSBhL3NyYy9iaW4vbHR0bmcvdXRpbHMuYworKysrIGIvc3JjL2Jpbi9sdHRuZy91dGlscy5jCitAQCAtMTU4LDcgKzE1OCw3IEBAIHVuc2lnbmVkIGludCBmbHNfdTMyKHVpbnQzMl90IHgpCisgI2RlZmluZSBIQVNfRkxTX1UzMgorICNlbmRpZgorIAorLSNpZiBkZWZpbmVkKF9feDg2XzY0KQorKyNpZiBkZWZpbmVkKF9feDg2XzY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pCisgc3RhdGljIGlubGluZQorIHVuc2lnbmVkIGludCBmbHNfdTY0KHVpbnQ2NF90IHgpCisgeworZGlmZiAtLWdpdCBhL3NyYy9jb21tb24vdXRpbHMuYyBiL3NyYy9jb21tb24vdXRpbHMuYworaW5kZXggMDgxMzllNWUuLjNjMzg5OTgxIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbi91dGlscy5jCisrKysgYi9zcmMvY29tbW9uL3V0aWxzLmMKK0BAIC0xMjIzLDcgKzEyMjMsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBmbHNfdTMyKHVpbnQzMl90IHgpCiAgI2RlZmluZSBIQVNfRkxTX1UzMgogICNlbmRpZgogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXRvb2xzXzIuMTAuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjEwLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNmYWJiMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjEwLjYuYmIKQEAgLTAsMCArMSwxNjcgQEAKK1NFQ1RJT04gPSAiZGV2ZWwiCitTVU1NQVJZID0gIkxpbnV4IFRyYWNlIFRvb2xraXQgQ29udHJvbCIKK0RFU0NSSVBUSU9OID0gIlRoZSBMaW51eCB0cmFjZSB0b29sa2l0IGlzIGEgc3VpdGUgb2YgdG9vbHMgZGVzaWduZWQgXAordG8gZXh0cmFjdCBwcm9ncmFtIGV4ZWN1dGlvbiBkZXRhaWxzIGZyb20gdGhlIExpbnV4IG9wZXJhdGluZyBzeXN0ZW0gXAorYW5kIGludGVycHJldCB0aGVtLiIKKworTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDFkN2ZjNDQ5NmFhY2YzN2Q5MGRmOTBiOTBiMGNhYzEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vZ3BsLTIuMC50eHQ7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xncGwtMi4xLnR4dDttZDU9MGYwZDcxNTAwZTZhNTdmZDI0ZDgyNWYzMzI0MmI5Y2EiCisKK0RFUEVORFMgPSAibGlidXJjdSBwb3B0IGxpYnhtbDIgdXRpbC1saW51eCIKK1JERVBFTkRTXyR7UE59ID0gImxpYmdjYyIKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIHBlcmwgYmFzaCBnYXdrICR7UE59IGJhYmVsdHJhY2UgcHJvY3BzIHBlcmwtbW9kdWxlLW92ZXJsb2FkaW5nIGNvcmV1dGlscyB1dGlsLWxpbnV4IGttb2QiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1nbGliYyA9ICIgZ2xpYmMtdXRpbHMiCitSREVQRU5EU18ke1BOfS1wdGVzdF9hcHBlbmRfbGliYy1tdXNsID0gIiBtdXNsLXV0aWxzIgorIyBiYWJlbHN0YXRzLnBsIHdhbnRzIGdldG9wdC1sb25nCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAicGVybC1tb2R1bGUtZ2V0b3B0LWxvbmciCisKK1BZVEhPTl9PUFRJT04gPSAiYW1fY3ZfcHl0aG9uX3B5ZXhlY2Rpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKKyAgICAgICAgICAgICAgICAgYW1fY3ZfcHl0aG9uX3B5dGhvbmRpcj0nJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0nIFwKKyAgICAgICAgICAgICAgICAgUFlUSE9OX0lOQ0xVREU9Jy1JJHtTVEFHSU5HX0lOQ0RJUn0vcHl0aG9uJHtQWVRIT05fQkFTRVZFUlNJT059JHtQWVRIT05fQUJJfScgXAorIgorUEFDS0FHRUNPTkZJRyA/Pz0gImx0dG5nLXVzdCIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uXSA9ICItLWVuYWJsZS1weXRob24tYmluZGluZ3MgJHtQWVRIT05fT1BUSU9OfSwscHl0aG9uMyBzd2lnLW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbbHR0bmctdXN0XSA9ICItLXdpdGgtbHR0bmctdXN0LCAtLXdpdGhvdXQtbHR0bmctdXN0LCBsdHRuZy11c3QiCitQQUNLQUdFQ09ORklHW2ttb2RdID0gIi0td2l0aC1rbW9kLCAtLXdpdGhvdXQta21vZCwga21vZCIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcywgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSBsaWJ4c2x0LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdfcmVtb3ZlX2FyYyA9ICJsdHRuZy11c3QiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdG9vbHMvbHR0bmctdG9vbHMtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly94MzIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL2x0dG5nLXNlc3Npb25kLnNlcnZpY2UgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtdGVzdHMtbGluay1saWJwYXVzZV9jb25zdW1lci1vbi1saWJsdHRuZy1jdGwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMi1GaXgtdGVzdC1za2lwLXRlc3RfZ2V0Y3B1X292ZXJyaWRlLW9uLXNpbmdsZS10aHJlYWQtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtRml4LXRlc3QtdW5pdC10aGUtdHJlZS1vcmlnaW4tY2FuLWJlLWEtc3ltbGluay1pdHNlbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LVNraXAtd2hlbi10ZXN0YXBwLWlzLW5vdC1wcmVzZW50LnBhdGNoXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1UZXN0cy11c2UtbW9kcHJvYmUtdG8tdGVzdC1mb3ItdGhlLXByZXNlbmNlLW9mLWx0dG5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtVGVzdHMtY2hlY2stZm9yLWx0dG5nLW1vZHVsZXMtcHJlc2VuY2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1GaXgtZ2V0Z3JuYW0taXMtbm90LU1ULVNhZmUtdXNlLWdldGdybmFtX3IucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlODhjNTIxYjVkYTZiYjQ4YTgxODdhZjYzMzMzNmVjYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMDVkZjUyYmJlYmY4Y2U4OGQxYjI5ZTllOThjZmM5NTdkMmVkNzM4YTM0NTExODAxODIzN2ViZGI1ODE1MzdjIgorCitpbmhlcml0IGF1dG90b29scyBwdGVzdCBwa2djb25maWcgdXNlcmFkZCBweXRob24zLWRpciBtYW5wYWdlcyBzeXN0ZW1kCisKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJsdHRuZy1zZXNzaW9uZC5zZXJ2aWNlIgorU1lTVEVNRF9BVVRPX0VOQUJMRSA9ICJkaXNhYmxlIgorCitVU0VSQUREX1BBQ0tBR0VTID0gIiR7UE59IgorR1JPVVBBRERfUEFSQU1fJHtQTn0gPSAidHJhY2luZyIKKworRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9sdHRuZy9saWJleGVjLyogJHtkYXRhZGlyfS94bWwvbHR0bmcgXAorICAgICAgICAgICAgICAgICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitGSUxFU18ke1BOfS1zdGF0aWNkZXYgKz0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5sYSIKKworIyBTaW5jZSBmaWxlcyBhcmUgaW5zdGFsbGVkIGludG8gJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMgd2UgbWF0Y2ggCisjIHRoZSBsaWJleGVjIGluc2FuZSB0ZXN0IHNvIHNraXAgaXQuCisjIFB5dGhvbiBtb2R1bGUgbmVlZHMgdG8ga2VlcCBfbHR0bmcuc28KK0lOU0FORV9TS0lQXyR7UE59ID0gImxpYmV4ZWMgZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtQTn0tZGJnID0gImxpYmV4ZWMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIGluc3RhbGwgc3lzdGVtZCB1bml0IGZpbGUKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCisgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vbHR0bmctc2Vzc2lvbmQuc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorfQorCitkb19pbnN0YWxsX3B0ZXN0ICgpIHsKKyAgICBmb3IgZiBpbiBNYWtlZmlsZSB0ZXN0cy9NYWtlZmlsZSB0ZXN0cy91dGlscy91dGlscy5zaCB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC9sb2FkLTQyKi5sdHRuZyB0ZXN0cy9yZWdyZXNzaW9uL3Rvb2xzL3NhdmUtbG9hZC9jb25maWd1cmF0aW9uL2xvYWQtNDIqLmx0dG5nIDsgZG8KKyAgICAgICAgaW5zdGFsbCAtRCAiJHtCfS8kZiIgIiR7RH0ke1BURVNUX1BBVEh9LyRmIgorICAgIGRvbmUKKworICAgIGZvciBmIGluIGNvbmZpZy90YXAtZHJpdmVyLnNoIGNvbmZpZy90ZXN0LWRyaXZlciBzcmMvY29tbW9uL2NvbmZpZy9zZXNzaW9uLnhzZCBzcmMvY29tbW9uL21pLWx0dG5nLTMuMC54c2Q7IGRvCisgICAgICAgIGluc3RhbGwgLUQgIiR7U30vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKKyAgICBkb25lCisKKyAgICAjIFByZXZlbnQgJ21ha2UgY2hlY2snIGZyb20gcmVjdXJzaW5nIGludG8gbm9uLXRlc3Qgc3ViZGlyZWN0b3JpZXMuCisgICAgc2VkIC1pIC1lICdzIV5TVUJESVJTID0gLiohU1VCRElSUyA9IHRlc3RzIScgIiR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlIgorCisgICAgIyBXZSBkb24ndCBuZWVkIHRoZXNlCisgICAgc2VkIC1pIC1lICcvZGlzdF9ub2luc3RfU0NSSVBUUyA9IC8sL14kL2QnICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKKworICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvdXRpbHMKKyAgICBzZWQgLWkgLWUgJ3MhYW1fX2FwcGVuZF8xID0gLiB1dGlscyFhbV9fYXBwZW5kXzEgPSAuICEnIFwKKyAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlIgorCisgICAgIyBDb3B5IHRoZSB0ZXN0cyBkaXJlY3RvcnkgdHJlZSBhbmQgdGhlIGV4ZWN1dGFibGVzIGFuZAorICAgICMgTWFrZWZpbGVzIGZvdW5kIHdpdGhpbi4KKyAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5vdCAtbmFtZSAubGlicyAtcHJpbnRmICclUCAnKSA7IGRvCisgICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIgorICAgICAgICBmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtZXhlY3V0YWJsZSAtdHlwZSBmIFwKKyAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCisgICAgICAgICMgVGFrZSBhbGwgLnB5IHNjcmlwdHMgZm9yIHRlc3RzIHVzaW5nIHRoZSBweXRob24gYmluZGluZ3MuCisgICAgICAgIGZpbmQgIiR7Qn0vdGVzdHMvJGQiIC1tYXhkZXB0aCAxIC10eXBlIGYgLW5hbWUgIioucHkiIFwKKyAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCisgICAgICAgIHRlc3QgLXIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiICYmIFwKKyAgICAgICAgICAgIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiAiJHtCfS90ZXN0cy8kZC9NYWtlZmlsZSIKKyAgICBkb25lCisKKyAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5hbWUgLmxpYnMgLXByaW50ZiAnJVAgJykgOyBkbworICAgICAgICBmb3IgZiBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMvJGQiIC1tYXhkZXB0aCAxIC1leGVjdXRhYmxlIC10eXBlIGYgLXByaW50ZiAnJVAgJykgOyBkbworICAgICAgICAgICAgY3AgJHtCfS90ZXN0cy8kZC8kZiAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9gZGlybmFtZSAkZGAvJGYKKyAgICAgICAgICAgIGNhc2UgJGYgaW4KKyAgICAgICAgICAgICAgICAqLnNvKQorICAgICAgICAgICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkLworICAgICAgICAgICAgICAgICAgICBsbiAtcyAgLi4vJGYgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvJGQvJGYKKyAgICAgICAgICAgICAgICAgICAgIyBSZW1vdmUgYW55IHJwYXRoL3J1bnBhdGggdG8gcGFzcyBRQSBjaGVjay4KKyAgICAgICAgICAgICAgICAgICAgY2hycGF0aCAtLWRlbGV0ZSAke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8kZC8kZgorICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAgZXNhYworICAgICAgICBkb25lCisgICAgZG9uZQorCisgICAgIworICAgICMgVXNlIHRoZSB2ZXJzaW9uZWQgbGlicyBvZiBsaWJsdHRuZy11c3QtZGwuCisgICAgIworICAgIHVzdGRsPSIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9yZWdyZXNzaW9uL3VzdC91c3QtZGwvdGVzdF91c3QtZGwucHkiCisgICAgaWYgWyAtZSAkdXN0ZGwgXTsgdGhlbgorICAgICAgICBzZWQgLWkgLWUgJ3MhOmxpYmx0dG5nLXVzdC1kbC5zbyE6bGlibHR0bmctdXN0LWRsLnNvLjAhJyAkdXN0ZGwKKyAgICBmaQorCisgICAgaW5zdGFsbCAke0J9L3Rlc3RzL3VuaXQvaW5pX2NvbmZpZy9zYW1wbGUuaW5pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3VuaXQvaW5pX2NvbmZpZy8KKworICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvcmVncmVzc2lvbi90b29scworICAgIHNlZCAtaSAtZSAncyFeU1VCRElSUyA9IHRvb2xzICFTVUJESVJTID0gIScgXAorICAgICAgICAiJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHMvcmVncmVzc2lvbi9NYWtlZmlsZSIKKworICAgICMgUHJldmVudCBhdHRlbXB0cyB0byB1cGRhdGUgTWFrZWZpbGVzIGR1cmluZyB0ZXN0IHJ1bnMsIGFuZAorICAgICMgc2lsZW5jZSAiTWFraW5nIGNoZWNrIGluICRTVUJESVIiIG1lc3NhZ2VzLgorICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtbmFtZSBNYWtlZmlsZSAtdHlwZSBmIC1leGVjIFwKKyAgICAgICAgc2VkIC1pIC1lICcvTWFrZWZpbGU6LywvXiQvZCcgLWUgJy8lOiAlLmluLywvXiQvZCcgXAorICAgICAgICAtZSAnL2VjaG8gIk1ha2luZyAkJHRhcmdldCBpbiAkJHN1YmRpciI7IFxcL2QnIFwKKyAgICAgICAgLWUgJ3MvXnNyY2RpciA9IFwoLipcKS9zcmNkaXIgPSAuLycgXAorICAgICAgICAtZSAncy9eYnVpbGRkaXIgPSBcKC4qXCkvYnVpbGRkaXIgPSAuLycgXAorICAgICAgICAtZSAncy9eYWxsLWFtOi4qL2FsbC1hbTovJyBcCisgICAgICAgIHt9ICsKKworICAgIGZpbmQgIiR7RH0ke1BURVNUX1BBVEh9IiAtbmFtZSBNYWtlZmlsZSAtdHlwZSBmIC1leGVjIFwKKyAgICAgICAgdG91Y2ggLXIgIiR7Qn0vTWFrZWZpbGUiIHt9ICsKKworICAgICMKKyAgICAjIE5lZWQgdG8gc3RvcCBnZW5lcmF0ZWQgYmluYXJpZXMgZnJvbSByZWJ1aWxkaW5nIGJ5IHJlbW92aW5nIHRoZWlyIHNvdXJjZSBkZXBlbmRlbmNpZXMKKyAgICAjCisgICAgc2VkIC1lICdzI1woXnRlc3QuKk9CSkVDVFMuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1lICdzI1woXnRlc3QuKkRFUEVOREVOQ0lFUy49XCkjZGlzYWJsZVwxI2cnIFwKKyAgICAgICAgLWUgJ3MjXChedGVzdC4qU09VUkNFUy49XCkjZGlzYWJsZVwxI2cnIFwKKyAgICAgICAgLWUgJ3MjXChedGVzdC4qTERBREQuPVwpI2Rpc2FibGVcMSNnJyBcCisgICAgICAgIC1pICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3VuaXQvTWFrZWZpbGUKKworICAgICMgU3Vic3RpdHV0ZSBsaW5rcyB0byBpbnN0YWxsZWQgYmluYXJpZXMuCisgICAgZm9yIHByb2cgaW4gbHR0bmcgbHR0bmctcmVsYXlkIGx0dG5nLXNlc3Npb25kIGx0dG5nLWNvbnN1bWVyZCBsdHRuZy1jcmFzaDsgZG8KKyAgICAgICAgZXhlZGlyPSIke0R9JHtQVEVTVF9QQVRIfS9zcmMvYmluLyR7cHJvZ30iCisgICAgICAgIGluc3RhbGwgLWQgIiRleGVkaXIiCisgICAgICAgIGNhc2UgIiRwcm9nIiBpbgorICAgICAgICAgICAgbHR0bmctY29uc3VtZXJkKQorICAgICAgICAgICAgICAgIGxuIC1zICIke2xpYmRpcn0vbHR0bmcvbGliZXhlYy8kcHJvZyIgIiRleGVkaXIiCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICopCisgICAgICAgICAgICAgICAgbG4gLXMgIiR7YmluZGlyfS8kcHJvZyIgIiRleGVkaXIiCisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgIGRvbmUKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjkuMTEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvbHR0bmcvbHR0bmctdG9vbHNfMi45LjExLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ZTNmYzFhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy10b29sc18yLjkuMTEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMzQgKzAsMCBAQAotU0VDVElPTiA9ICJkZXZlbCIKLVNVTU1BUlkgPSAiTGludXggVHJhY2UgVG9vbGtpdCBDb250cm9sIgotREVTQ1JJUFRJT04gPSAiVGhlIExpbnV4IHRyYWNlIHRvb2xraXQgaXMgYSBzdWl0ZSBvZiB0b29scyBkZXNpZ25lZCBcCi10byBleHRyYWN0IHByb2dyYW0gZXhlY3V0aW9uIGRldGFpbHMgZnJvbSB0aGUgTGludXggb3BlcmF0aW5nIHN5c3RlbSBcCi1hbmQgaW50ZXJwcmV0IHRoZW0uIgotCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyLjEiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT0wMWQ3ZmM0NDk2YWFjZjM3ZDkwZGY5MGI5MGIwY2FjMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9ncGwtMi4wLnR4dDttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGdwbC0yLjEudHh0O21kNT0wZjBkNzE1MDBlNmE1N2ZkMjRkODI1ZjMzMjQyYjljYSIKLQotREVQRU5EUyA9ICJsaWJ1cmN1IHBvcHQgbGlieG1sMiB1dGlsLWxpbnV4IgotUkRFUEVORFNfJHtQTn0gPSAibGliZ2NjIgotUkRFUEVORFNfJHtQTn0tcHRlc3QgKz0gIm1ha2UgcGVybCBiYXNoIGdhd2sgJHtQTn0gYmFiZWx0cmFjZSBwcm9jcHMiCi0jIGJhYmVsc3RhdHMucGwgd2FudHMgZ2V0b3B0LWxvbmcKLVJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJwZXJsLW1vZHVsZS1nZXRvcHQtbG9uZyIKLQotUFlUSE9OX09QVElPTiA9ICJhbV9jdl9weXRob25fcHlleGVjZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAotICAgICAgICAgICAgICAgICBhbV9jdl9weXRob25fcHl0aG9uZGlyPScke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfScgXAotICAgICAgICAgICAgICAgICBQWVRIT05fSU5DTFVERT0nLUkke1NUQUdJTkdfSU5DRElSfS9weXRob24ke1BZVEhPTl9CQVNFVkVSU0lPTn0ke1BZVEhPTl9BQkl9JyBcCi0iCi1QQUNLQUdFQ09ORklHID8/PSAibHR0bmctdXN0IgotUEFDS0FHRUNPTkZJR1tweXRob25dID0gIi0tZW5hYmxlLXB5dGhvbi1iaW5kaW5ncyAke1BZVEhPTl9PUFRJT059LCxweXRob24zIHN3aWctbmF0aXZlIgotUEFDS0FHRUNPTkZJR1tsdHRuZy11c3RdID0gIi0td2l0aC1sdHRuZy11c3QsIC0td2l0aG91dC1sdHRuZy11c3QsIGx0dG5nLXVzdCIKLVBBQ0tBR0VDT05GSUdba21vZF0gPSAiLS1lbmFibGUta21vZCwgLS1kaXNhYmxlLWttb2QsIGttb2QiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS1tYW4tcGFnZXMsIC0tZGlzYWJsZS1tYW4tcGFnZXMsIGFzY2lpZG9jLW5hdGl2ZSB4bWx0by1uYXRpdmUgbGlieHNsdC1uYXRpdmUiCi1QQUNLQUdFQ09ORklHX3JlbW92ZV9saWJjLW11c2wgPSAibHR0bmctdXN0IgotUEFDS0FHRUNPTkZJR19yZW1vdmVfcmlzY3Y2NCA9ICJsdHRuZy11c3QiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly9sdHRuZy5vcmcvZmlsZXMvbHR0bmctdG9vbHMvbHR0bmctdG9vbHMtJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly94MzIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtQWxsb3ctbXVsdGlwbGUtYXR0ZW1wdHMtdG8tY29ubmVjdC10by1yZWxheWQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbHR0bmctc2Vzc2lvbmQuc2VydmljZSBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gImY5YzJiMzU4MTA3OTBmNWJkODAyNDgzZWIxNGNiMzAxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjNDUxNDRhY2Y4ZGM2ZmNkNjU1YmU3MzcwYTAyMmU5YzAzYzhiNzQxOWFmNDg5YzljMmU3ODZhMzM1MDA2ZGIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IHBrZ2NvbmZpZyB1c2VyYWRkIHB5dGhvbjMtZGlyIG1hbnBhZ2VzIHN5c3RlbWQKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gImx0dG5nLXNlc3Npb25kLnNlcnZpY2UiCi1TWVNURU1EX0FVVE9fRU5BQkxFID0gImRpc2FibGUiCi0KLVVTRVJBRERfUEFDS0FHRVMgPSAiJHtQTn0iCi1HUk9VUEFERF9QQVJBTV8ke1BOfSA9ICJ0cmFjaW5nIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2x0dG5nL2xpYmV4ZWMvKiAke2RhdGFkaXJ9L3htbC9sdHRuZyBcCi0gICAgICAgICAgICAgICAgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKi5hIgotRklMRVNfJHtQTn0tZGV2ICs9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qLmxhIgotCi0jIFNpbmNlIGZpbGVzIGFyZSBpbnN0YWxsZWQgaW50byAke2xpYmRpcn0vbHR0bmcvbGliZXhlYyB3ZSBtYXRjaCAKLSMgdGhlIGxpYmV4ZWMgaW5zYW5lIHRlc3Qgc28gc2tpcCBpdC4KLSMgUHl0aG9uIG1vZHVsZSBuZWVkcyB0byBrZWVwIF9sdHRuZy5zbwotSU5TQU5FX1NLSVBfJHtQTn0gPSAibGliZXhlYyBkZXYtc28iCi1JTlNBTkVfU0tJUF8ke1BOfS1kYmcgPSAibGliZXhlYyIKLQotZG9faW5zdGFsbF9hcHBlbmQgKCkgewotICAgICMgaW5zdGFsbCBzeXN0ZW1kIHVuaXQgZmlsZQotICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9sdHRuZy1zZXNzaW9uZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QgKCkgewotICAgIGZvciBmIGluIE1ha2VmaWxlIHRlc3RzL01ha2VmaWxlIHRlc3RzL3V0aWxzL3V0aWxzLnNoIDsgZG8KLSAgICAgICAgaW5zdGFsbCAtRCAiJHtCfS8kZiIgIiR7RH0ke1BURVNUX1BBVEh9LyRmIgotICAgIGRvbmUKLQotICAgIGZvciBmIGluIGNvbmZpZy90YXAtZHJpdmVyLnNoIGNvbmZpZy90ZXN0LWRyaXZlciA7IGRvCi0gICAgICAgIGluc3RhbGwgLUQgIiR7U30vJGYiICIke0R9JHtQVEVTVF9QQVRIfS8kZiIKLSAgICBkb25lCi0KLSAgICAjIFByZXZlbnQgJ21ha2UgY2hlY2snIGZyb20gcmVjdXJzaW5nIGludG8gbm9uLXRlc3Qgc3ViZGlyZWN0b3JpZXMuCi0gICAgc2VkIC1pIC1lICdzIV5TVUJESVJTID0gLiohU1VCRElSUyA9IHRlc3RzIScgIiR7RH0ke1BURVNUX1BBVEh9L01ha2VmaWxlIgotCi0gICAgIyBXZSBkb24ndCBuZWVkIHRoZXNlCi0gICAgc2VkIC1pIC1lICcvZGlzdF9ub2luc3RfU0NSSVBUUyA9IC8sL14kL2QnICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy9NYWtlZmlsZSIKLQotICAgICMgV2Ugc2hvdWxkbid0IG5lZWQgdG8gYnVpbGQgYW55dGhpbmcgaW4gdGVzdHMvdXRpbHMKLSAgICBzZWQgLWkgLWUgJ3MhYW1fX2FwcGVuZF8xID0gLiB1dGlscyFhbV9fYXBwZW5kXzEgPSAuICEnIFwKLSAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL01ha2VmaWxlIgotCi0gICAgIyBDb3B5IHRoZSB0ZXN0cyBkaXJlY3RvcnkgdHJlZSBhbmQgdGhlIGV4ZWN1dGFibGVzIGFuZAotICAgICMgTWFrZWZpbGVzIGZvdW5kIHdpdGhpbi4KLSAgICBmb3IgZCBpbiAkKGZpbmQgIiR7Qn0vdGVzdHMiIC10eXBlIGQgLW5vdCAtbmFtZSAubGlicyAtcHJpbnRmICclUCAnKSA7IGRvCi0gICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIgotICAgICAgICBmaW5kICIke0J9L3Rlc3RzLyRkIiAtbWF4ZGVwdGggMSAtZXhlY3V0YWJsZSAtdHlwZSBmIFwKLSAgICAgICAgICAgIC1leGVjIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiB7fSArCi0gICAgICAgIHRlc3QgLXIgIiR7Qn0vdGVzdHMvJGQvTWFrZWZpbGUiICYmIFwKLSAgICAgICAgICAgIGluc3RhbGwgLXQgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzLyRkIiAiJHtCfS90ZXN0cy8kZC9NYWtlZmlsZSIKLSAgICBkb25lCi0KLSAgICAjIFdlIHNob3VsZG4ndCBuZWVkIHRvIGJ1aWxkIGFueXRoaW5nIGluIHRlc3RzL3JlZ3Jlc3Npb24vdG9vbHMKLSAgICBzZWQgLWkgLWUgJ3MhXlNVQkRJUlMgPSB0b29scyAhU1VCRElSUyA9ICEnIFwKLSAgICAgICAgIiR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzL3JlZ3Jlc3Npb24vTWFrZWZpbGUiCi0KLSAgICAjIFByZXZlbnQgYXR0ZW1wdHMgdG8gdXBkYXRlIE1ha2VmaWxlcyBkdXJpbmcgdGVzdCBydW5zLCBhbmQKLSAgICAjIHNpbGVuY2UgIk1ha2luZyBjaGVjayBpbiAkU1VCRElSIiBtZXNzYWdlcy4KLSAgICBmaW5kICIke0R9JHtQVEVTVF9QQVRIfSIgLW5hbWUgTWFrZWZpbGUgLXR5cGUgZiAtZXhlYyBcCi0gICAgICAgIHNlZCAtaSAtZSAnL01ha2VmaWxlOi8sL14kL2QnIC1lICcvJTogJS5pbi8sL14kL2QnIFwKLSAgICAgICAgLWUgJy9lY2hvICJNYWtpbmcgJCR0YXJnZXQgaW4gJCRzdWJkaXIiOyBcXC9kJyBcCi0gICAgICAgIC1lICdzL15zcmNkaXIgPSBcKC4qXCkvc3JjZGlyID0gLi8nIFwKLSAgICAgICAgLWUgJ3MvXmJ1aWxkZGlyID0gXCguKlwpL2J1aWxkZGlyID0gLi8nIFwKLSAgICAgICAgLWUgJ3MvXmFsbC1hbTouKi9hbGwtYW06LycgXAotICAgICAgICB7fSArCi0KLSAgICAjIFRoZXNlIG9iamVjdHMgdHJpZ2dlciBbcnBhdGhzXSBRQSBjaGVja3M7IHRoZSB0ZXN0IGhhcm5lc3MKLSAgICAjIHNraXBzIHRoZSBhc3NvY2lhdGVkIHRlc3RzIGlmIHRoZXkncmUgbWlzc2luZywgc28gZGVsZXRlCi0gICAgIyB0aGVtLgotICAgIG9ianM9IiIKLSAgICBvYmpzPSIkb2JqcyByZWdyZXNzaW9uL3VzdC91c3QtZGwvbGliYmFyLnNvIgotICAgIG9ianM9IiRvYmpzIHJlZ3Jlc3Npb24vdXN0L3VzdC1kbC9saWJmb28uc28iCi0gICAgZm9yIG9iaiBpbiAkb2JqcyA7IGRvCi0gICAgICAgIHJtIC1mICIke0R9JHtQVEVTVF9QQVRIfS90ZXN0cy8ke29ian0iCi0gICAgZG9uZQotCi0gICAgZmluZCAiJHtEfSR7UFRFU1RfUEFUSH0iIC1uYW1lIE1ha2VmaWxlIC10eXBlIGYgLWV4ZWMgXAotICAgICAgICB0b3VjaCAtciAiJHtCfS9NYWtlZmlsZSIge30gKwotCi0gICAgIyBTdWJzdGl0dXRlIGxpbmtzIHRvIGluc3RhbGxlZCBiaW5hcmllcy4KLSAgICBmb3IgcHJvZyBpbiBsdHRuZyBsdHRuZy1yZWxheWQgbHR0bmctc2Vzc2lvbmQgbHR0bmctY29uc3VtZXJkIDsgZG8KLSAgICAgICAgZXhlZGlyPSIke0R9JHtQVEVTVF9QQVRIfS9zcmMvYmluLyR7cHJvZ30iCi0gICAgICAgIGluc3RhbGwgLWQgIiRleGVkaXIiCi0gICAgICAgIGNhc2UgIiRwcm9nIiBpbgotICAgICAgICAgICAgbHR0bmctY29uc3VtZXJkKQotICAgICAgICAgICAgICAgIGxuIC1zICIke2xpYmRpcn0vbHR0bmcvbGliZXhlYy8kcHJvZyIgIiRleGVkaXIiCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgICAgICopCi0gICAgICAgICAgICAgICAgbG4gLXMgIiR7YmluZGlyfS8kcHJvZyIgIiRleGVkaXIiCi0gICAgICAgICAgICAgICAgOzsKLSAgICAgICAgZXNhYwotICAgIGRvbmUKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3QvMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdC8wMDAxLWNvbXBhdC13b3JrLWFyb3VuZC1icm9rZW4tX1NDX05QUk9DRVNTT1JTX0NPTkYtb24tTVUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWM0YmQzNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3QvMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoCkBAIC0wLDAgKzEsMTA5IEBACitGcm9tIDVkZTdjMzE4ODA0YTdiMWVkY2U4NTYyZDQ4OTFiNGM3NGFhYzA2NzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWNoYWVsIEplYW5zb24gPG1qZWFuc29uQGVmZmljaW9zLmNvbT4KK0RhdGU6IFdlZCwgMjAgTWFyIDIwMTkgMTE6MDc6MzUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29tcGF0OiB3b3JrIGFyb3VuZCBicm9rZW4gX1NDX05QUk9DRVNTT1JTX0NPTkYgb24gTVVTTCBsaWJjCisKK09uIE1VU0wgbGliYyB0aGUgX1NDX05QUk9DRVNTT1JTX0NPTkYgc3lzY29uZiB3aWxsIHJlcG9ydCB0aGUgbnVtYmVyIG9mCitDUFVzIGFsbG9jYXRlZCB0byB0aGUgdGFzayBiYXNlZCBvbiB0aGUgYWZmaW5pdHkgbWFzayBpbnN0ZWFkIG9mIHRoZQordG90YWwgbnVtYmVyIG9mIENQVXMgY29uZmlndXJlZCBvbiB0aGUgc3lzdGVtLgorCitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFsxXSBbNWRlN2MzMTg4MDRhN2IxZWRjZTg1NjJkNDg5MWI0Yzc0YWFjMDY3N10KK1sxXSBodHRwczovL2xpc3RzLmx0dG5nLm9yZy9waXBlcm1haWwvbHR0bmctZGV2LzIwMTktTWFyY2gvMDI4NjE2Lmh0bWwKKworU2lnbmVkLW9mZi1ieTogTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IERlc25veWVycyA8bWF0aGlldS5kZXNub3llcnNAZWZmaWNpb3MuY29tPgorLS0tCisgbGlicmluZ2J1ZmZlci9zbXAuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9saWJyaW5nYnVmZmVyL3NtcC5jIGIvbGlicmluZ2J1ZmZlci9zbXAuYworaW5kZXggOWU3MTE0YmUuLjY1NmE3NWRhIDEwMDY0NAorLS0tIGEvbGlicmluZ2J1ZmZlci9zbXAuYworKysrIGIvbGlicmluZ2J1ZmZlci9zbXAuYworQEAgLTIsNiArMiw3IEBACisgICogbGlicmluZ2J1ZmZlci9zbXAuYworICAqCisgICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTIgTWF0aGlldSBEZXNub3llcnMgPG1hdGhpZXUuZGVzbm95ZXJzQGVmZmljaW9zLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTkgTWljaGFlbCBKZWFuc29uIDxtamVhbnNvbkBlZmZpY2lvcy5jb20+CisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTI2LDYgKzI3LDcgQEAKKyAKKyBpbnQgX19udW1fcG9zc2libGVfY3B1czsKKyAKKysjaWYgKGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKCBfX1VDTElCQ19fKSkKKyB2b2lkIF9nZXRfbnVtX3Bvc3NpYmxlX2NwdXModm9pZCkKKyB7CisgCWludCByZXN1bHQ7CitAQCAtNDMsMyArNDUsNjcgQEAgdm9pZCBfZ2V0X251bV9wb3NzaWJsZV9jcHVzKHZvaWQpCisgCQlyZXR1cm47CisgCV9fbnVtX3Bvc3NpYmxlX2NwdXMgPSByZXN1bHQ7CisgfQorKworKyNlbHNlCisrCisrLyoKKysgKiBUaGUgTVVTTCBsaWJjIGltcGxlbWVudGF0aW9uIG9mIHRoZSBfU0NfTlBST0NFU1NPUlNfQ09ORiBzeXNjb25mIGRvZXMgbm90CisrICogcmV0dXJuIHRoZSBudW1iZXIgb2YgY29uZmlndXJlZCBDUFVzIGluIHRoZSBzeXN0ZW0gYnV0IHJlbGllcyBvbiB0aGUgY3B1CisrICogYWZmaW5pdHkgbWFzayBvZiB0aGUgY3VycmVudCB0YXNrLgorKyAqCisrICogU28gaW5zdGVhZCB3ZSB1c2UgYSBzdHJhdGVneSBzaW1pbGFyIHRvIEdMSUJDJ3MsIGNvdW50aW5nIHRoZSBjcHUKKysgKiBkaXJlY3RvcmllcyBpbiAiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUiIGFuZCBmYWxsYmFjayBvbiB0aGUgdmFsdWUgZnJvbQorKyAqIHN5c2NvbmYgaWYgaXQgZmFpbHMuCisrICovCisrCisrI2luY2x1ZGUgPGRpcmVudC5oPgorKyNpbmNsdWRlIDxsaW1pdHMuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysKKysjZGVmaW5lIF9fbWF4KGEsYikgKChhKT4oYik/KGEpOihiKSkKKysKKyt2b2lkIF9nZXRfbnVtX3Bvc3NpYmxlX2NwdXModm9pZCkKKyt7CisrCWludCByZXN1bHQsIGNvdW50ID0gMDsKKysJRElSICpjcHVkaXI7CisrCXN0cnVjdCBkaXJlbnQgKmVudHJ5OworKworKwljcHVkaXIgPSBvcGVuZGlyKCIvc3lzL2RldmljZXMvc3lzdGVtL2NwdSIpOworKwlpZiAoY3B1ZGlyID09IE5VTEwpCisrCQlnb3RvIGVuZDsKKysKKysJLyoKKysJICogQ291bnQgdGhlIG51bWJlciBvZiBkaXJlY3RvcmllcyBuYW1lZCAiY3B1IiBmb2xsb3dlZCBieSBhbmQKKysJICogaW50ZWdlci4gVGhpcyBpcyB0aGUgc2FtZSBzdHJhdGVneSBhcyBnbGliYyB1c2VzLgorKwkgKi8KKysJd2hpbGUgKChlbnRyeSA9IHJlYWRkaXIoY3B1ZGlyKSkpIHsKKysJCWlmIChlbnRyeS0+ZF90eXBlID09IERUX0RJUiAmJgorKwkJCXN0cm5jbXAoZW50cnktPmRfbmFtZSwgImNwdSIsIDMpID09IDApIHsKKysKKysJCQljaGFyICplbmRwdHI7CisrCQkJdW5zaWduZWQgbG9uZyBjcHVfbnVtOworKworKwkJCWNwdV9udW0gPSBzdHJ0b3VsKGVudHJ5LT5kX25hbWUgKyAzLCAmZW5kcHRyLCAxMCk7CisrCQkJaWYgKChjcHVfbnVtIDwgVUxPTkdfTUFYKSAmJiAoZW5kcHRyICE9IGVudHJ5LT5kX25hbWUgKyAzKQorKwkJCQkJJiYgKCplbmRwdHIgPT0gJ1wwJykpIHsKKysJCQkJY291bnQrKzsKKysJCQl9CisrCQl9CisrCX0KKysKKytlbmQ6CisrCS8qCisrCSAqIEdldCB0aGUgc3lzY29uZiB2YWx1ZSBhcyBhIGZhbGxiYWNrLiBLZWVwIHRoZSBoaWdoZXN0IG51bWJlci4KKysJICovCisrCXJlc3VsdCA9IF9fbWF4KHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX0NPTkYpLCBjb3VudCk7CisrCisrCS8qCisrCSAqIElmIGJvdGggbWV0aG9kcyBmYWlsZWQsIGRvbid0IHN0b3JlIHRoZSB2YWx1ZS4KKysJICovCisrCWlmIChyZXN1bHQgPCAxKQorKwkJcmV0dXJuOworKwlfX251bV9wb3NzaWJsZV9jcHVzID0gcmVzdWx0OworK30KKysjZW5kaWYKKy0tIAorMi4xNy4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9sdHRuZy9sdHRuZy11c3RfMi4xMC4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKaW5kZXggYjVjNDMyMC4uZDU0NjEwNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL2x0dG5nL2x0dG5nLXVzdF8yLjEwLjMuYmIKQEAgLTgsNyArOCwxMiBAQAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc25wcmludGYvc25wcmludGYuYztlbmRsaW5lPTMyO21kNT1kM2Q1NDQ5NTlkOGEzNzgyYjJlMDc0NTFiZTBhOTAzYyBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zbnByaW50Zi92YXJpb3VzLmg7ZW5kbGluZT0zMTttZDU9ODlmMjUwOWI2YjQ2ODJjNGZjOTUyNTVlZWM0YWJlNDQiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIG1hbnBhZ2VzCitQWVRIT05fT1BUSU9OID0gImFtX2N2X3B5dGhvbl9weWV4ZWNkaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIGFtX2N2X3B5dGhvbl9weXRob25kaXI9JyR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9JyBcCisgICAgICAgICAgICAgICAgIFBZVEhPTl9JTkNMVURFPSctSSR7U1RBR0lOR19JTkNESVJ9L3B5dGhvbiR7UFlUSE9OX0JBU0VWRVJTSU9OfSR7UFlUSE9OX0FCSX0nIFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgbWFucGFnZXMgcHl0aG9uM25hdGl2ZQogCiBERVBFTkRTID0gImxpYnVyY3UgdXRpbC1saW51eCIKIFJERVBFTkRTXyR7UE59LWJpbiA9ICJweXRob24zLWNvcmUiCkBAIC0yMiwxMyArMjcsMjAgQEAKIAogU1JDX1VSSSA9ICJodHRwczovL2x0dG5nLm9yZy9maWxlcy9sdHRuZy11c3QvbHR0bmctdXN0LSR7UFZ9LnRhci5iejIgXAogICAgICAgICAgICBmaWxlOi8vbHR0bmctdXN0LWRvYy1leGFtcGxlcy1kaXNhYmxlLnBhdGNoIFwKKwkgICBmaWxlOi8vMDAwMS1jb21wYXQtd29yay1hcm91bmQtYnJva2VuLV9TQ19OUFJPQ0VTU09SU19DT05GLW9uLU1VLnBhdGNoIFwKICAgICAgICAgICAiCisKIFNSQ19VUklbbWQ1c3VtXSA9ICJmZmNmYThjMWJhOWE1MmYwMDJkMjQwZTkzNmU5YWZhMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI5ZTg0MjBmOTBkNWY5NjNmN2FhMzJiYzZkNDRhZGMxZTQ5MTEzNmY2ODdjNjlmZmI3YTMwNzVkMzNiNDA4NTJiIgogCiBDVkVfUFJPRFVDVCA9ICJ1c3QiCiAKIFBBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbi1wYWdlcywgLS1kaXNhYmxlLW1hbi1wYWdlcywgYXNjaWlkb2MtbmF0aXZlIHhtbHRvLW5hdGl2ZSBsaWJ4c2x0LW5hdGl2ZSIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uMy1hZ2VudF0gPSAiLS1lbmFibGUtcHl0aG9uLWFnZW50ICR7UFlUSE9OX09QVElPTn0sIC0tZGlzYWJsZS1weXRob24tYWdlbnQsIHB5dGhvbjMsIHB5dGhvbjMiCisKK0ZJTEVTXyR7UE59ICs9ICIgJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKK0ZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyouYSIKK0ZJTEVTXyR7UE59LWRldiArPSAiICR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoubGEiCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewogICAgICAgICAjIFBhdGNoIHB5dGhvbiB0b29scyB0byB1c2UgUHl0aG9uIDM7IHRoZXkgc2hvdWxkIGJlIHNvdXJjZSBjb21wYXRpYmxlLCBidXQKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wZXJmL3BlcmYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcGVyZi9wZXJmLmJiCmluZGV4IGJhZTQ5NDguLjVhY2RjZmIgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wZXJmL3BlcmYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3BlcmYvcGVyZi5iYgpAQCAtODAsNiArODAsNyBAQAogICAgIE5PX0dUSzI9MSBcCiAgICAgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfSBcCiAgICAgVE1QRElSPSIke0J9IiBcCisgICAgTElCVU5XSU5EX0RJUj0ke1NUQUdJTkdfRVhFQ1BSRUZJWERJUn0gXAogJwogCiBFWFRSQV9PRU1BS0UgKz0gIlwKQEAgLTIzNCw2ICsyMzUsMTAgQEAKICAgICBmb3IgcyBpbiBgZmluZCAke1N9L3Rvb2xzL3BlcmYvc2NyaXB0cy9weXRob24vIC1uYW1lICcqLnB5J2A7IGRvCiAgICAgICAgIHNlZCAtaSAncywvdXNyL2Jpbi9weXRob24yLC91c3IvYmluL2VudiBweXRob24sJyAiJHtzfSIKICAgICBkb25lCisKKyAgICAjIHVuaXN0ZC5oIGNhbiBiZSBvdXQgb2Ygc3luYyBiZXR3ZWVuIGxpYmMtaGVhZGVycyBhbmQgdGhlIGNhcHR1cmVkIHZlcnNpb24gaW4gdGhlIHBlcmYgc291cmNlCisgICAgIyBzbyB3ZSBjb3B5IGl0IGZyb20gdGhlIHN5c3Jvb3QgdW5pc3RkLmggdG8gdGhlIHBlcmYgdW5pc3RkLmgKKyAgICBjcCAke1NUQUdJTkdfSU5DRElSfS9hc20tZ2VuZXJpYy91bmlzdGQuaCAke1N9L3Rvb2xzL2luY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy91bmlzdGQuaAogfQogCiBweXRob24gZG9fcGFja2FnZV9wcmVwZW5kKCkgewpAQCAtMjU0LDcgKzI1OSw4IEBACiBSU1VHR0VTVFNfU0NSSVBUSU5HID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3NjcmlwdGluZycsICcke1BOfS1wZXJsICR7UE59LXB5dGhvbicsICcnLGQpfSIKIFJTVUdHRVNUU18ke1BOfSArPSAiJHtQTn0tYXJjaGl2ZSAke1BOfS10ZXN0cyAke1JTVUdHRVNUU19TQ1JJUFRJTkd9IgogCi1GSUxFU18ke1BOfSArPSAiJHtsaWJleGVjZGlyfS9wZXJmLWNvcmUgJHtleGVjX3ByZWZpeH0vbGliZXhlYy9wZXJmLWNvcmUgJHtsaWJkaXJ9L3RyYWNlZXZlbnQiCitGSUxFU19TT0xJQlNERVYgPSAiIgorRklMRVNfJHtQTn0gKz0gIiR7bGliZXhlY2Rpcn0vcGVyZi1jb3JlICR7ZXhlY19wcmVmaXh9L2xpYmV4ZWMvcGVyZi1jb3JlICR7bGliZGlyfS90cmFjZWV2ZW50ICR7bGliZGlyfS9saWJwZXJmLWp2bXRpLnNvIgogRklMRVNfJHtQTn0tYXJjaGl2ZSA9ICIke2xpYmRpcn0vcGVyZi9wZXJmLWNvcmUvcGVyZi1hcmNoaXZlIgogRklMRVNfJHtQTn0tdGVzdHMgPSAiJHtsaWJkaXJ9L3BlcmYvcGVyZi1jb3JlL3Rlc3RzICR7bGliZXhlY2Rpcn0vcGVyZi1jb3JlL3Rlc3RzIgogRklMRVNfJHtQTn0tcHl0aG9uID0gIiBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi4xMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NDNiYTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvcG93ZXJ0b3AvcG93ZXJ0b3BfMi4xMC5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlBvd2VyIHVzYWdlIHRvb2wiCitERVNDUklQVElPTiA9ICJMaW51eCB0b29sIHRvIGRpYWdub3NlIGlzc3VlcyB3aXRoIHBvd2VyIGNvbnN1bXB0aW9uIGFuZCBwb3dlciBtYW5hZ2VtZW50LiIKK0hPTUVQQUdFID0gImh0dHA6Ly8wMS5vcmcvcG93ZXJ0b3AvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGVzc3dhdHRzLm9yZy8iCitERVBFTkRTID0gIm5jdXJzZXMgbGlibmwgcGNpdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTJmODg0ZDJhZTFmZjg3YzA5ZTViN2NjYzJjNGNhN2UiCisKK1NSQ19VUkkgPSAiaHR0cDovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2Rvd25sb2Fkcy9wb3dlcnRvcC12JHtQVn0udGFyLmd6IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImE2OWJkNTU5MDFjZjkxOWNjNTY0MTg3NDAyZWEyYzljIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQzYjc0NTllYWJhN2QwMWM4ODQxZGQzM2EzYjRkMzY5NDE2YzAxZTliZDg5NTFiMGQ4ODIzNGNmMThmZTRhNzUiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovLzAxLm9yZy9wb3dlcnRvcC9kb3dubG9hZHMiCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJwb3dlcnRvcC1bdl0/KD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnCisKK1MgPSAiJHtXT1JLRElSfS8ke0JQTn0tdiR7UFZ9IgorCisjIHdlIGRvIG5vdCB3YW50IGxpYm5jdXJzZXN3IGlmIHdlIGNhbgorZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICAgIyBjb25maWd1cmUuYWMgY2hlY2tzIGZvciBkZWx3aW4oKSBpbiAibmN1cnNlc3cgbmN1cnNlcyIgc28gbGV0J3MgZHJvcCBmaXJzdCBvbmUKKyAgICBzZWQgLWkgLWUgInMvbmN1cnNlc3cvL2ciICR7U30vY29uZmlndXJlLmFjCisgICAgbWtkaXIgLXAgJHtCfS9zcmMvdHVuaW5nLworfQorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKK0FMVEVSTkFUSVZFXyR7UE59ID0gInBvd2VydG9wIgorQUxURVJOQVRJVkVfVEFSR0VUW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3Bvd2VydG9wXSA9ICIke3NiaW5kaXJ9L3Bvd2VydG9wIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9wb3dlcnRvcC9wb3dlcnRvcF8yLjkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRmZTU0NDcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3Bvd2VydG9wL3Bvd2VydG9wXzIuOS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMzICswLDAgQEAKLVNVTU1BUlkgPSAiUG93ZXIgdXNhZ2UgdG9vbCIKLURFU0NSSVBUSU9OID0gIkxpbnV4IHRvb2wgdG8gZGlhZ25vc2UgaXNzdWVzIHdpdGggcG93ZXIgY29uc3VtcHRpb24gYW5kIHBvd2VyIG1hbmFnZW1lbnQuIgotSE9NRVBBR0UgPSAiaHR0cDovLzAxLm9yZy9wb3dlcnRvcC8iCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5sZXNzd2F0dHMub3JnLyIKLURFUEVORFMgPSAibmN1cnNlcyBsaWJubCBwY2l1dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSIKLQotU1JDX1VSSSA9ICJodHRwOi8vMDEub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvZG93bmxvYWRzL3Bvd2VydG9wL3Bvd2VydG9wLXYke1BWfS50YXIuZ3ogXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTgzNTE4YzVjNDQzNGM2ZTliOWM1OGMzOTIwOTUwYjYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWE3ZmI3ZDhlOWEwMGYwNWU3ZDhhN2EyODY2ZDg1OTI5NzQxZTBkMDNhNWJmNDBjYWIyMmQyMDIxYzk1OTI1MCIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vMDEub3JnL3Bvd2VydG9wL2Rvd25sb2FkcyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInBvd2VydG9wLVt2XT8oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKLQotUyA9ICIke1dPUktESVJ9LyR7QlBOfS12JHtQVn0iCi0KLSMgd2UgZG8gbm90IHdhbnQgbGlibmN1cnNlc3cgaWYgd2UgY2FuCi1kb19jb25maWd1cmVfcHJlcGVuZCgpIHsKLSAgICAjIGNvbmZpZ3VyZS5hYyBjaGVja3MgZm9yIGRlbHdpbigpIGluICJuY3Vyc2VzdyBuY3Vyc2VzIiBzbyBsZXQncyBkcm9wIGZpcnN0IG9uZQotICAgIHNlZCAtaSAtZSAicy9uY3Vyc2Vzdy8vZyIgJHtTfS9jb25maWd1cmUuYWMKLSAgICBta2RpciAtcCAke0J9L3NyYy90dW5pbmcvCi19Ci0KLWluaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcwotQUxURVJOQVRJVkVfJHtQTn0gPSAicG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9UQVJHRVRbcG93ZXJ0b3BdID0gIiR7c2JpbmRpcn0vcG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbcG93ZXJ0b3BdID0gIiR7c2JpbmRpcn0vcG93ZXJ0b3AiCi1BTFRFUk5BVElWRV9QUklPUklUWSA9ICIxMDAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9maWxlcy8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzLzAwMDEtZml4LW5vbi1saXRlcmFsLWZvcm1hdC1zdHJpbmctaXNzdWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGY5ZjVmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzLzAwMDEtZml4LW5vbi1saXRlcmFsLWZvcm1hdC1zdHJpbmctaXNzdWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotRnJvbSBkZTEzZDFmOTA4MzM1Y2M4ODJjNDQ3ZTRkN2M0MzYwYjllNWRhMTkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFRodSwgNiBTZXAgMjAxOCAxNzo0OTo0NCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBmaXggbm9uLWxpdGVyYWwgZm9ybWF0IHN0cmluZyBpc3N1ZXMKLQotY2xhbmcgZXJyb3JzIG91dCB3aGVuIHVzaW5nIC1XZXJyb3I9Zm9ybWF0LW5vbmxpdGVyYWwKLXNpbmNlIHRoZSBkZWZpbml0aW9uIG9mIGdfc3RyZHVwX3ZwcmludGYoKSBmcm9tIGdsaWItMi4wCi1pcyB1c2luZyB2YV9saXN0IGFuZCBjbGFuZ3Mgc3RpbGwgd2FybnMgd2hlcmUgYXMKLWdjYyBkb2Vzbid0IGRvIHRoYXQgZm9yIHZhX2xpc3QgYXJndW1lbnRzCi0KLUZpeGVzCi1zcmMvc3Atd2luZG93LmM6OTY6Mjc6IGVycm9yOiBmb3JtYXQgc3RyaW5nIGlzIG5vdCBhIHN0cmluZyBsaXRlcmFsIFstV2Vycm9yLC1XZm9ybWF0LW5vbmxpdGVyYWxdCi18ICAgc3RyID0gZ19zdHJkdXBfdnByaW50ZiAoZm9ybWF0LCBhcmdzKTsKLXwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9zeXNwcm9mL21lcmdlX3JlcXVlc3RzLzZdCi1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotLS0tCi0gc3JjL3NwLXdpbmRvdy5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3NwLXdpbmRvdy5jIGIvc3JjL3NwLXdpbmRvdy5jCi1pbmRleCA0ZGZhYzJkLi5hZmY0Nzc5IDEwMDY0NAotLS0tIGEvc3JjL3NwLXdpbmRvdy5jCi0rKysgYi9zcmMvc3Atd2luZG93LmMKLUBAIC04MCw3ICs4MCw3IEBAIHN0YXRpYyBndWludCBzaWduYWxzIFtOX1NJR05BTFNdOwotIHN0YXRpYyB2b2lkIHNwX3dpbmRvd19zZXRfcHJvZmlsZXIgKFNwV2luZG93ICAgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BQcm9maWxlciAqcHJvZmlsZXIpOwotIAotLXN0YXRpYyB2b2lkCi0rc3RhdGljIEdfR05VQ19QUklOVEYoMywgNCkgdm9pZAotIHNwX3dpbmRvd19ub3RpZnlfdXNlciAoU3BXaW5kb3cgICAgICAgKnNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICBHdGtNZXNzYWdlVHlwZSAgbWVzc2FnZV90eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgKmZvcm1hdCwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL2ZpbGVzL3dvcmRzaXplLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2YvZmlsZXMvd29yZHNpemUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ2NWIxM2EuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2YvZmlsZXMvd29yZHNpemUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL3N5c3Byb2YvbWVyZ2VfcmVxdWVzdHMvNV0KLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLUZyb20gYmM3ZTNlMjdjMjhkMGJhYjhiZWE3MmYyMzE0MTkxNTMyYjJlNzg0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci1EYXRlOiBGcmksIDcgU2VwIDIwMTggMDE6MzA6MDkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gY2FwdHVyZTogdXNlIHNpemUgb2Ygdm9pZCogaW5zdGVhZCBvZiBnbGliYy1zcGVjaWZpYwotIF9fV09SRFNJWkUKLQotX19XT1JEU0laRSBpcyBnbGliYy1zcGVjaWZpYyBzbyBzcC1jYXB0dXJlLXR5cGVzLmggZG9lc24ndCB3b3JrIHdpdGggbXVzbC4KLS0tLQotIGxpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaCB8IDYgKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaCBiL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaAotaW5kZXggNDhmY2ZiOC4uMWQ2Y2QxZCAxMDA2NDQKLS0tLSBhL2xpYi9jYXB0dXJlL3NwLWNhcHR1cmUtdHlwZXMuaAotKysrIGIvbGliL2NhcHR1cmUvc3AtY2FwdHVyZS10eXBlcy5oCi1AQCAtMzIsMTIgKzMyLDE0IEBAIEdfQkVHSU5fREVDTFMKLSAjZGVmaW5lIFNQX0NBUFRVUkVfTUFHSUMgKEdVSU5UMzJfVE9fTEUoMHhGRENBOTc1RSkpCi0gI2RlZmluZSBTUF9DQVBUVVJFX0FMSUdOIChzaXplb2YoU3BDYXB0dXJlQWRkcmVzcykpCi0gCi0tI2lmIF9fV09SRFNJWkUgPT0gNjQKLSsjaWYgR0xJQl9TSVpFT0ZfVk9JRF9QID09IDgKLSAjIGRlZmluZSBTUF9DQVBUVVJFX0pJVE1BUF9NQVJLICAgIEdfR1VJTlQ2NF9DT05TVEFOVCgweEUwMDAwMDAwMDAwMDAwMDApCi0gIyBkZWZpbmUgU1BfQ0FQVFVSRV9BRERSRVNTX0ZPUk1BVCAiMHglMDE2bHgiCi0tI2Vsc2UKLSsjZWxpZiBHTElCX1NJWkVPRl9WT0lEX1AgPT0gNAotICMgZGVmaW5lIFNQX0NBUFRVUkVfSklUTUFQX01BUksgICAgR19HVUlOVDY0X0NPTlNUQU5UKDB4RTAwMDAwMDApCi0gIyBkZWZpbmUgU1BfQ0FQVFVSRV9BRERSRVNTX0ZPUk1BVCAiMHglMDE2bGx4IgotKyNlbHNlCi0rI2Vycm9yIFVua25vd24gR0xJQl9TSVpFT0ZfVk9JRF9QCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBTUF9DQVBUVVJFX0NVUlJFTlRfVElNRSAgIChzcF9jbG9ja19nZXRfY3VycmVudF90aW1lKCkpCi0tLSAKLTIuMTEuMAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzcHJvZi9zeXNwcm9mXzMuMzAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOWRjZjI1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotU1VNTUFSWSA9ICJTeXN0ZW0td2lkZSBQZXJmb3JtYW5jZSBQcm9maWxlciBmb3IgTGludXgiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LnN5c3Byb2YuY29tIgotTElDRU5TRSA9ICJHUEx2MysiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvc3AtYXBwbGljYXRpb24uYztlbmRsaW5lPTE3O21kNT00MGU1NTU3N2VmMTIyYzg4ZmUyMDA1MmFjZGE2NDg3NSIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGdldHRleHQgc3lzdGVtZCB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotREVQRU5EUyA9ICJnbGliLTIuMCBsaWJ4bWwyLW5hdGl2ZSBnbGliLTIuMC1uYXRpdmUiCi0KLVNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImFlODk2YThhMjM2NGUxOGMwN2ZhZmE5NTczMjAyZjU5IgotU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMjljZDJjNGJlMjc3ZjAwNjk4ZGNlNDgyNTkyMTk1NTdjNGZkZGMyYzAxMjU0YjhmYWM5NTkwMGE4YzY2M2Y2MyIKLVNSQ19VUkkgKz0gIiBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWZpbmUtTlRfR05VX0JVSUxEX0lELnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWJ1aWxkLWFueXRoaW5nLWluLWhlbHAtYXMtaXQtcmVxdWlyZXMtaXRzdG9vbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly93b3Jkc2l6ZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1ub24tbGl0ZXJhbC1mb3JtYXQtc3RyaW5nLWlzc3Vlcy5wYXRjaCBcCi0gICAgICAgICAgICIKLVJFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIldhaXRpbmcgZm9yIHJlc29sdXRpb24gb2YgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDYyNSIKLQotUEFDS0FHRUNPTkZJRyA/PSAiJHtAYmIudXRpbHMuY29udGFpbnNfYW55KCdESVNUUk9fRkVBVFVSRVMnLCAnJHtHVEszRElTVFJPRkVBVFVSRVN9JywgJ2d0aycsICcnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2d0a10gPSAiLURlbmFibGVfZ3RrPXRydWUsLURlbmFibGVfZ3RrPWZhbHNlLGd0ayszIgotUEFDS0FHRUNPTkZJR1tzeXNwcm9mZF0gPSAiLUR3aXRoX3N5c3Byb2ZkPWJ1bmRsZWQsLUR3aXRoX3N5c3Byb2ZkPW5vbmUscG9sa2l0IgotCi1TT0xJQlMgPSAiLnNvIgotRklMRVNfU09MSUJTREVWID0gIiIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3N5c3Byb2ZkJywgJ3N5c3Byb2YyLnNlcnZpY2UnLCAnJywgZCl9IgotCi1GSUxFU18ke1BOfSArPSAiIFwKLSAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS1zZXJ2aWNlcyBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9zeXN0ZW0uZCBcCi0gICAgICAgICAgICAgICAke2RhdGFkaXJ9L21ldGFpbmZvIFwKLSAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3Byb2Yvc3lzcHJvZl8zLjMwLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjRlNDljYgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXNwcm9mL3N5c3Byb2ZfMy4zMC4yLmJiCkBAIC0wLDAgKzEsMzIgQEAKK1NVTU1BUlkgPSAiU3lzdGVtLXdpZGUgUGVyZm9ybWFuY2UgUHJvZmlsZXIgZm9yIExpbnV4IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5zeXNwcm9mLmNvbSIKK0xJQ0VOU0UgPSAiR1BMdjMrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NwLWFwcGxpY2F0aW9uLmM7ZW5kbGluZT0xNzttZDU9NDBlNTU1NzdlZjEyMmM4OGZlMjAwNTJhY2RhNjQ4NzUiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBnZXR0ZXh0IHN5c3RlbWQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdzZXR0aW5ncworCitERVBFTkRTID0gImdsaWItMi4wIGxpYnhtbDItbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiODBjYjQ3OTA2ZWNlZDJlN2I5OTc2YmYwMGRlZWMzMjMiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICJlOTA4NzhlNWE1MDliZDc5ZDE3MGE3YTUxZDQ3Y2M1NTA4YWIxMzYzYWZhZjBkOTc2NTQzNzNkZmQ5YzhiYTBiIgorU1JDX1VSSSArPSAiIFwKKyAgICAgICAgICAgZmlsZTovL2RlZmluZS1OVF9HTlVfQlVJTERfSUQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtYnVpbGQtYW55dGhpbmctaW4taGVscC1hcy1pdC1yZXF1aXJlcy1pdHN0b29sLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWluc19hbnkoJ0RJU1RST19GRUFUVVJFUycsICcke0dUSzNESVNUUk9GRUFUVVJFU30nLCAnZ3RrJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbZ3RrXSA9ICItRGVuYWJsZV9ndGs9dHJ1ZSwtRGVuYWJsZV9ndGs9ZmFsc2UsZ3RrKzMiCitQQUNLQUdFQ09ORklHW3N5c3Byb2ZkXSA9ICItRHdpdGhfc3lzcHJvZmQ9YnVuZGxlZCwtRHdpdGhfc3lzcHJvZmQ9bm9uZSxwb2xraXQiCisKK1NPTElCUyA9ICIuc28iCitGSUxFU19TT0xJQlNERVYgPSAiIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnc3lzcHJvZmQnLCAnc3lzcHJvZjIuc2VydmljZScsICcnLCBkKX0iCisKK0ZJTEVTXyR7UE59ICs9ICIgXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kYnVzLTEvc3lzdGVtLXNlcnZpY2VzIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL3N5c3RlbS5kIFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vbWV0YWluZm8gXAorICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXAvMDAwMS1zdGFwcnVuLXN0YXBicGYtZG9uLXQtc3VwcG9ydC1pbnN0YWxsaW5nLWEtbm9uLXJvb3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaAppbmRleCA5ZjExNjQ4Li5lMmY4YjNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcC8wMDAxLXN0YXBydW4tc3RhcGJwZi1kb24tdC1zdXBwb3J0LWluc3RhbGxpbmctYS1ub24tcm9vdC5wYXRjaApAQCAtMTQsNDkgKzE0LDI0IEBACiAgc3RhcHJ1bi9NYWtlZmlsZS5hbSB8IDEyICsrKysrKy0tLS0tLQogIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zdGFwYnBmL01ha2VmaWxlLmFtIGIvc3RhcGJwZi9NYWtlZmlsZS5hbQotaW5kZXggNDIxYjA0NGVmLi5mN2RhZWIyYjIgMTAwNjQ0Ci0tLS0gYS9zdGFwYnBmL01ha2VmaWxlLmFtCi0rKysgYi9zdGFwYnBmL01ha2VmaWxlLmFtCi1AQCAtMzksMTEgKzM5LDExIEBAIGdpdF92ZXJzaW9uLnN0YW1wIC4uL2dpdF92ZXJzaW9uLmg6CitJbmRleDogZ2l0L3N0YXBicGYvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zdGFwYnBmL01ha2VmaWxlLmFtCisrKysgZ2l0L3N0YXBicGYvTWFrZWZpbGUuYW0KK0BAIC00MSwxMCArNDEsMTAgQEAKICAKICAjIFdoeSB0aGUgImlkIC11IiBjb25kaXRpb24/ICBUaGlzIHdheSwgYW4gdW5wcml2aWxlZ2VkIHVzZXIgY2FuIHJ1bgogICMgbWFrZSBpbnN0YWxsLCBhbmQgaGF2ZSAic3VkbyBzdGFwIC4uLi4iIG9yICJzdWRvIHN0YXBicGYgLi4uLiIgd29yayBsYXRlci4KIC1pbnN0YWxsLWV4ZWMtaG9vazoKLS0JaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtZyAxNTYgLXIgc3RhcHVzciAyPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBzdGFwdXNyOyBcCi0tCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIFwKLS0JCSYmIGNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiIgXAorLQlpZiBbIGBpZCAtdWAgLWVxIDAgXSAmJiAoZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCistCSAgICAgICAgICAgICAgICAgICAgICAgICB8fCBncm91cGFkZCAtZiAtZyAxNTYgLXIgc3RhcHVzcik7IHRoZW4gXAorLQkJY2hncnAgc3RhcHVzciAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIiBcCiAtCQkmJiBjaG1vZCAwNDExMCAiJChERVNURElSKSQoYmluZGlyKS9zdGFwYnBmIjsgXAogLQlmaQogKyNpbnN0YWxsLWV4ZWMtaG9vazoKLSsjCWlmIFsgYGlkIC11YCAtZXEgMCBdOyB0aGVuIFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1nIDE1NiAtciBzdGFwdXNyIDI+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIHN0YXB1c3I7IFwKLSsjCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsIFwKLSsjCQkmJiBjaGdycCBzdGFwdXNyICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiIFwKKysjIwlpZiBbIGBpZCAtdWAgLWVxIDAgXSAmJiAoZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCBcCisrIyMJICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGdyb3VwYWRkIC1mIC1nIDE1NiAtciBzdGFwdXNyKTsgdGhlbiBcCisrIyMJCWNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcGJwZiIgXAogKyMJCSYmIGNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBicGYiOyBcCiArIwlmaQogIGVuZGlmCi1kaWZmIC0tZ2l0IGEvc3RhcHJ1bi9NYWtlZmlsZS5hbSBiL3N0YXBydW4vTWFrZWZpbGUuYW0KLWluZGV4IDQwNzNhYTAxYy4uMjkyNWUzNGMzIDEwMDY0NAotLS0tIGEvc3RhcHJ1bi9NYWtlZmlsZS5hbQotKysrIGIvc3RhcHJ1bi9NYWtlZmlsZS5hbQotQEAgLTcyLDkgKzcyLDkgQEAgZ2l0X3ZlcnNpb24uc3RhbXAgLi4vZ2l0X3ZlcnNpb24uaDoKLSAKLSAjIFdoeSB0aGUgImlkIC11IiBjb25kaXRpb24/ICBUaGlzIHdheSwgYW4gdW5wcml2aWxlZ2VkIHVzZXIgY2FuIHJ1bgotICMgbWFrZSBpbnN0YWxsLCBhbmQgaGF2ZSAic3VkbyBzdGFwIC4uLi4iIG9yICJzdWRvIHN0YXBydW4gLi4uLiIgd29yayBsYXRlci4KLS1pbnN0YWxsLWV4ZWMtaG9vazoKLS0JaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotLQkJZ2V0ZW50IGdyb3VwIHN0YXB1c3IgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtZyAxNTYgLXIgc3RhcHVzciAyPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBzdGFwdXNyOyBcCi0tCQlnZXRlbnQgZ3JvdXAgc3RhcHVzciA+L2Rldi9udWxsICYmIGNoZ3JwIHN0YXB1c3IgIiQoREVTVERJUikkKGJpbmRpcikvc3RhcHJ1biI7IFwKLS0JCWNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBydW4iOyBcCi0tCWZpCi0rI2luc3RhbGwtZXhlYy1ob29rOgotKyMJaWYgWyBgaWQgLXVgIC1lcSAwIF07IHRoZW4gXAotKyMJCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLWcgMTU2IC1yIHN0YXB1c3IgMj4vZGV2L251bGwgfHwgZ3JvdXBhZGQgLXIgc3RhcHVzcjsgXAotKyMJCWdldGVudCBncm91cCBzdGFwdXNyID4vZGV2L251bGwgJiYgY2hncnAgc3RhcHVzciAiJChERVNURElSKSQoYmluZGlyKS9zdGFwcnVuIjsgXAotKyMJCWNobW9kIDA0MTEwICIkKERFU1RESVIpJChiaW5kaXIpL3N0YXBydW4iOyBcCi0rIwlmaQotLS0gCi0yLjExLjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXBfZ2l0LmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLWtlcm5lbC9zeXN0ZW10YXAvc3lzdGVtdGFwX2dpdC5pbmMKaW5kZXggMjc0ZmNkZS4uNTRkZTcyMiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMta2VybmVsL3N5c3RlbXRhcC9zeXN0ZW10YXBfZ2l0LmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1rZXJuZWwvc3lzdGVtdGFwL3N5c3RlbXRhcF9naXQuaW5jCkBAIC0xLDYgKzEsNiBAQAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgotU1JDUkVWID0gIjQyOGY4NGU5ZTY1NmJjZTcxMDE4ZTg5MDJlNGVkYjhhYWNhZmNjMGUiCitTUkNSRVYgPSAiOTBmZjM0YWMwNTA2ZjBkNTQ0MDM5M2E0Yzc4NTY1ZjZhYWY5YjcyNiIKIFBWID0gIjQuMCIKIAogU1JDX1VSSSA9ICJnaXQ6Ly9zb3VyY2V3YXJlLm9yZy9naXQvc3lzdGVtdGFwLmdpdCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1saWJfMS4xLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1ZTdhM2MuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotU1VNTUFSWSA9ICJBTFNBIHNvdW5kIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKLVNFQ1RJT04gPSAibGlicy9tdWx0aW1lZGlhIgotTElDRU5TRSA9ICJMR1BMdjIuMSAmIEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9zb2NrZXQuYzttZDU9ZGQxYmM3ZjQ0ODcyNjkwMjI0ZDg5YzFhOTgwNmU0OTU7YmVnaW5saW5lPTE7ZW5kbGluZT0yNiBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvbGliLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiMmY5ODFhOGY3ODk3YzU5ZWMyZGRjNDQ5MTZkMzM3ODgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWYyY2QyNzRiMjcyY2FlMGQwZDExMWU4YTllMzYzZjA4NzgzMzI5MTU3ZThkZDY4YjNkZTBjMDk2ZGU2ZDcyNCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLUVYVFJBX09FQ09ORiArPSAiIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0ZQVScsICdzb2Z0JywgJy0td2l0aC1zb2Z0ZmxvYXQnLCAnJywgZCl9IFwKLSAgICAtLWRpc2FibGUtcHl0aG9uIFwKLSIKLQotUEFDS0FHRVMgPSsgImFsc2Etc2VydmVyIGFsc2EtY29uZiBhbHNhLWRvYyIKLQotRklMRVNfYWxzYS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyoiCi1GSUxFU19hbHNhLWNvbmYgPSAiJHtkYXRhZGlyfS9hbHNhLyIKLQotUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gImFsc2EtY29uZiIKLQotIyB1cGdyYWRlIHBhdGgKLVJQUk9WSURFU18ke1BOfSA9ICJsaWJhc291bmQiCi1SUkVQTEFDRVNfJHtQTn0gPSAibGliYXNvdW5kIgotUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJhc291bmQiCi0KLVJQUk9WSURFU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCi1SUkVQTEFDRVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgotUkNPTkZMSUNUU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCi0KLVJQUk9WSURFU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCi1SUkVQTEFDRVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgotUkNPTkZMSUNUU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLWxpYl8xLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmNjOTYyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtbGliXzEuMS44LmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiQUxTQSBzb3VuZCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCitTRUNUSU9OID0gImxpYnMvbXVsdGltZWRpYSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvc29ja2V0LmM7bWQ1PWRkMWJjN2Y0NDg3MjY5MDIyNGQ4OWMxYTk4MDZlNDk1O2JlZ2lubGluZT0xO2VuZGxpbmU9MjYgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy9maWxlcy9wdWIvbGliLyR7QlB9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiMGVlYzBkNjU3YTA3OTI3Nzk1ODA5YzhmODdmYjc2Y2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2NkYzNhOTNhNjQyN2EyNmQ4ZWZhYjRhZGEyMTUyZTY0ZGQ4OTE0MGQ5ODFmNmZmYTAwM2U4NWJlNzA3YWVkZiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiIFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnVEFSR0VUX0ZQVScsICdzb2Z0JywgJy0td2l0aC1zb2Z0ZmxvYXQnLCAnJywgZCl9IFwKKyAgICAtLWRpc2FibGUtcHl0aG9uIFwKKyIKKworUEFDS0FHRVMgPSsgImFsc2Etc2VydmVyIGFsc2EtY29uZiBhbHNhLWRvYyIKKworRklMRVNfYWxzYS1zZXJ2ZXIgPSAiJHtiaW5kaXJ9LyoiCitGSUxFU19hbHNhLWNvbmYgPSAiJHtkYXRhZGlyfS9hbHNhLyIKKworUkRFUEVORFNfJHtQTn1fY2xhc3MtdGFyZ2V0ID0gImFsc2EtY29uZiIKKworIyB1cGdyYWRlIHBhdGgKK1JQUk9WSURFU18ke1BOfSA9ICJsaWJhc291bmQiCitSUkVQTEFDRVNfJHtQTn0gPSAibGliYXNvdW5kIgorUkNPTkZMSUNUU18ke1BOfSA9ICJsaWJhc291bmQiCisKK1JQUk9WSURFU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCitSUkVQTEFDRVNfJHtQTn0tZGV2ID0gImFsc2EtZGV2IgorUkNPTkZMSUNUU18ke1BOfS1kZXYgPSAiYWxzYS1kZXYiCisKK1JQUk9WSURFU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCitSUkVQTEFDRVNfYWxzYS1jb25mID0gImFsc2EtY29uZi1iYXNlIgorUkNPTkZMSUNUU19hbHNhLWNvbmYgPSAiYWxzYS1jb25mLWJhc2UiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxN2MxODc5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXBsdWdpbnNfMS4xLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMDMgKzAsMCBAQAotU1VNTUFSWSA9ICJBTFNBIFBsdWdpbnMiCi1IT01FUEFHRSA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgotU0VDVElPTiA9ICJtdWx0aW1lZGlhIgotCi0jIFRoZSBwcmltYXJ5IGxpY2Vuc2Ugb2YgYWxzYS1wbHVnaW5zIGlzIExHUEx2Mi4xLgotIwotIyBtNC9hdHRyaWJ1dGVzLm00IGlzIGxpY2Vuc2VkIHVuZGVyIEdQTHYyKy4gbTQvYXR0cmlidXRlcy5tNCBpcyBwYXJ0IG9mIHRoZQotIyBidWlsZCBzeXN0ZW0sIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgbGljZW5zaW5nIG9mIHRoZSBidWlsZCByZXN1bHQuCi0jCi0jIFRoZSBzYW1wbGVyYXRlIHBsdWdpbiBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisgdG8gYmUgY29uc2lzdGVudAotIyB3aXRoIHRoZSBsaWJzYW1wbGVyYXRlIGxpY2Vuc2UuIEhvd2V2ZXIsIGlmIHRoZSBsaWNlbnNlZSBoYXMgYSBjb21tZXJjaWFsCi0jIGxpY2Vuc2UgZm9yIGxpYnNhbXBsZXJhdGUsIHRoZSBzYW1wbGVyYXRlIHBsdWdpbiBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMKLSMgb2YgTEdQTHYyLjEgbGlrZSB0aGUgcmVzdCBvZiB0aGUgcGx1Z2lucy4KLUxJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gIlwKLSAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKLSAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCi0gICAgICAgIGZpbGU6Ly9tNC9hdHRyaWJ1dGVzLm00O2VuZGxpbmU9MzM7bWQ1PWIyNTk1OGRhNDRjMDIyMzFlMzY0MWYxYmNjZWY1M2ViIFwKLSAgICAgICAgZmlsZTovL3JhdGUvcmF0ZV9zYW1wbGVyYXRlLmM7ZW5kbGluZT0zNTttZDU9ZmQ3N2JjZTg1ZjRhMzM4YzBlOGFiMTg0MzBiNjlmYWUgXAotIgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5hbHNhLXByb2plY3Qub3JnL3B1Yi9wbHVnaW5zLyR7QlB9LnRhci5iejIiCi1TUkNfVVJJW21kNXN1bV0gPSAiODM4NzI3OWU5OWZlZWIyZWNmZmFhYzVmMjkzMjIzZDciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmYxZDMxZWJlM2IxZmExY2M4ZGFkZTYwYjdiZWQxY2IyNTgzYWM5OTgxNjcwMDJkMzUwZGMwYTVlM2U0MGMxMyIKLQotREVQRU5EUyArPSAiYWxzYS1saWIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFQ09ORklHID8/PSAiXAotICAgICAgICBzYW1wbGVyYXRlIFwKLSAgICAgICAgc3BlZXhkc3AgXAotICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdwdWxzZWF1ZGlvJywgZCl9IFwKLSIKLVBBQ0tBR0VDT05GSUdbYXZjb2RlY10gPSAiLS1lbmFibGUtYXZjb2RlYywtLWRpc2FibGUtYXZjb2RlYyxsaWJhdiIKLVBBQ0tBR0VDT05GSUdbamFja10gPSAiLS1lbmFibGUtamFjaywtLWRpc2FibGUtamFjayxqYWNrIgotUEFDS0FHRUNPTkZJR1ttYWVtby1wbHVnaW5dID0gIi0tZW5hYmxlLW1hZW1vLXBsdWdpbiwtLWRpc2FibGUtbWFlbW8tcGx1Z2luIgotUEFDS0FHRUNPTkZJR1ttYWVtby1yZXNvdXJjZS1tYW5hZ2VyXSA9ICItLWVuYWJsZS1tYWVtby1yZXNvdXJjZS1tYW5hZ2VyLC0tZGlzYWJsZS1tYWVtby1yZXNvdXJjZS1tYW5hZ2VyLGRidXMiCi1QQUNLQUdFQ09ORklHW3B1bHNlYXVkaW9dID0gIi0tZW5hYmxlLXB1bHNlYXVkaW8sLS1kaXNhYmxlLXB1bHNlYXVkaW8scHVsc2VhdWRpbyIKLVBBQ0tBR0VDT05GSUdbc2FtcGxlcmF0ZV0gPSAiLS1lbmFibGUtc2FtcGxlcmF0ZSwtLWRpc2FibGUtc2FtcGxlcmF0ZSxsaWJzYW1wbGVyYXRlMCIKLVBBQ0tBR0VDT05GSUdbc3BlZXhkc3BdID0gIi0td2l0aC1zcGVleD1saWIsLS13aXRoLXNwZWV4PW5vLHNwZWV4ZHNwIgotCi1QQUNLQUdFUyArPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICdhbHNhLXBsdWdpbnMtcHVsc2VhdWRpby1jb25mJywgJycsIGQpfSIKLQotUEFDS0FHRVNfRFlOQU1JQyA9ICJebGliYXNvdW5kLW1vZHVsZS0uKiIKLQotIyBUaGUgYWxzYS1wbHVnaW5zIHBhY2thZ2UgZG9lc24ndCBpdHNlbGYgY29udGFpbiBhbnl0aGluZywgaXQganVzdCBkZXBlbmRzIG9uCi0jIGFsbCBidWlsdCBwbHVnaW5zLgotQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0Jcm0gJHtEfSR7bGliZGlyfS9hbHNhLWxpYi8qLmxhCi0KLQkjIFdlIHVzZSB0aGUgZXhhbXBsZSBhcyBpcywgc28ganVzdCBkcm9wIHRoZSAuZXhhbXBsZSBzdWZmaXguCi0JaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICd5ZXMnLCAnbm8nLCBkKX0iID0gInllcyIgXTsgdGhlbgotCQltdiAke0R9JHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mLmV4YW1wbGUgJHtEfSR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZgotCWZpCi19Ci0KLXB5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewotICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vYWxzYS1saWIvJykKLSAgICBwYWNrYWdlcyA9ICIgIi5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15saWJhc291bmRfbW9kdWxlXyguKilcLnNvJCcsICdsaWJhc291bmQtbW9kdWxlLSVzJywgJ0Fsc2EgcGx1Z2luIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycpKQotICAgIGQuc2V0VmFyKCJSREVQRU5EU19hbHNhLXBsdWdpbnMiLCBwYWNrYWdlcykKLX0KLQotIyBUaGUgcmF0ZSBwbHVnaW5zIGNyZWF0ZSBzb21lIHN5bWxpbmtzLiBGb3IgZXhhbXBsZSwgdGhlIHNhbXBsZXJhdGUgcGx1Z2luCi0jIGNyZWF0ZXMgdGhlc2UgbGlua3MgdG8gdGhlIG1haW4gcGx1Z2luIGZpbGU6Ci0jCi0jICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfYmVzdC5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX2xpbmVhci5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX21lZGl1bS5zbwotIyAgIGxpYmFzb3VuZF9tb2R1bGVfcmF0ZV9zYW1wbGVyYXRlX29yZGVyLnNvCi0jCi0jIFRoZSBvdGhlciByYXRlIHBsdWdpbnMgY3JlYXRlIHNpbWlsYXIgbGlua3MuIFdlIGhhdmUgdG8gYWRkIHRoZSBsaW5rcyB0bwotIyBGSUxFUyBtYW51YWxseSwgYmVjYXVzZSBkb19zcGxpdF9wYWNrYWdlcygpIHNraXBzIHRoZSBsaW5rcyAod2hpY2ggaXMgZ29vZCwKLSMgYmVjYXVzZSB3ZSB3b3VsZG4ndCB3YW50IGRvX3NwbGl0X3BhY2thZ2VzKCkgdG8gY3JlYXRlIHNlcGFyYXRlIHBhY2thZ2VzIGZvcgotIyB0aGUgc3ltbGlua3MpLgotIwotIyBUaGUgc3ltbGlua3MgY2F1c2UgUUEgZXJyb3JzLCBiZWNhdXNlIHVzdWFsbHkgaXQncyBhIGJ1ZyBpZiBhIG5vbgotIyAtZGV2Ly1kYmcvLW5hdGl2ZXNkayBwYWNrYWdlIGNvbnRhaW5zIGxpbmtzIHRvIC5zbyBmaWxlcywgYnV0IGluIHRoaXMgY2FzZQotIyB0aGUgZXJyb3JzIGFyZSBmYWxzZSBwb3NpdGl2ZXMsIHNvIHdlIGRpc2FibGUgdGhlIFFBIGNoZWNrcy4KLUZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdmNyYXRlICs9ICIke2xpYmRpcn0vYWxzYS1saWIvKnJhdGVfbGF2Y3JhdGVfKi5zbyIKLUZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zYW1wbGVyYXRlXyouc28iCi1GSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zcGVleHJhdGVfKi5zbyIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdmNyYXRlID0gImRldi1zbyIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgPSAiZGV2LXNvIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlID0gImRldi1zbyIKLQotIyA1MC1wdWxzZWF1ZGlvLmNvbmYgZGVmaW5lcyBhIGRldmljZSBuYW1lZCAicHVsc2UiIHRoYXQgYXBwbGljYXRpb25zIGNhbiB1c2UKLSMgaWYgdGhleSBleHBsaWNpdGx5IHdhbnQgdG8gdXNlIHRoZSBQdWxzZUF1ZGlvIHBsdWdpbi4KLSMgOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgY29uZmlndXJlcyB0aGUgImRlZmF1bHQiIGRldmljZSB0byB1c2UgdGhlCi0jIFB1bHNlQXVkaW8gcGx1Z2luLgotRklMRVNfJHtQTn0tcHVsc2VhdWRpby1jb25mICs9ICJcCi0gICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC81MC1wdWxzZWF1ZGlvLmNvbmYgXAotICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYgXAotIgotCi1SREVQRU5EU18ke1BOfS1wdWxzZWF1ZGlvLWNvbmYgKz0gIlwKLSAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jb25mLXB1bHNlIFwKLSAgICAgICAgbGliYXNvdW5kLW1vZHVsZS1jdGwtcHVsc2UgXAotICAgICAgICBsaWJhc291bmQtbW9kdWxlLXBjbS1wdWxzZSBcCi0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS1wbHVnaW5zXzEuMS44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDljYzA2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtcGx1Z2luc18xLjEuOC5iYgpAQCAtMCwwICsxLDE3MyBAQAorU1VNTUFSWSA9ICJBTFNBIFBsdWdpbnMiCitIT01FUEFHRSA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJtdWx0aW1lZGlhIgorCisjIFRoZSBwcmltYXJ5IGxpY2Vuc2Ugb2YgYWxzYS1wbHVnaW5zIGlzIExHUEx2Mi4xLgorIworIyBtNC9hdHRyaWJ1dGVzLm00IGlzIGxpY2Vuc2VkIHVuZGVyIEdQTHYyKy4gbTQvYXR0cmlidXRlcy5tNCBpcyBwYXJ0IG9mIHRoZQorIyBidWlsZCBzeXN0ZW0sIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgbGljZW5zaW5nIG9mIHRoZSBidWlsZCByZXN1bHQuCisjCisjIFRoZSBzYW1wbGVyYXRlIHBsdWdpbiBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MisgdG8gYmUgY29uc2lzdGVudAorIyB3aXRoIHRoZSBsaWJzYW1wbGVyYXRlIGxpY2Vuc2UuIEhvd2V2ZXIsIGlmIHRoZSBsaWNlbnNlZSBoYXMgYSBjb21tZXJjaWFsCisjIGxpY2Vuc2UgZm9yIGxpYnNhbXBsZXJhdGUsIHRoZSBzYW1wbGVyYXRlIHBsdWdpbiBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMKKyMgb2YgTEdQTHYyLjEgbGlrZSB0aGUgcmVzdCBvZiB0aGUgcGx1Z2lucy4KK0xJQ0VOU0UgPSAiTEdQTHYyLjEgJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gIlwKKyAgICAgICAgZmlsZTovL0NPUFlJTkc7bWQ1PWE5MTY0NjdiOTEwNzZlNjMxZGQ4ZWRiNzQyNDc2OWM3IFwKKyAgICAgICAgZmlsZTovL0NPUFlJTkcuR1BMO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgIGZpbGU6Ly9tNC9hdHRyaWJ1dGVzLm00O2VuZGxpbmU9MzM7bWQ1PWIyNTk1OGRhNDRjMDIyMzFlMzY0MWYxYmNjZWY1M2ViIFwKKyAgICAgICAgZmlsZTovL3JhdGUvcmF0ZV9zYW1wbGVyYXRlLmM7ZW5kbGluZT0zNTttZDU9ZmQ3N2JjZTg1ZjRhMzM4YzBlOGFiMTg0MzBiNjlmYWUgXAorIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL3BsdWdpbnMvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMGY4NzIxMWQxNTYwZjJjMDdjOGVhZTQyOTdiYzRmNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3Zjc3ZGYxNzE2ODVjY2VjOTE4MjY4NDc3NjIzYTM5ZGI0ZDlmMzJkNWRjNWU3Njg3NGVmMjQ2N2EyNDA1OTk0IgorCitERVBFTkRTICs9ICJhbHNhLWxpYiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz89ICJcCisgICAgICAgIHNhbXBsZXJhdGUgXAorICAgICAgICBzcGVleGRzcCBcCisgICAgICAgICR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3B1bHNlYXVkaW8nLCBkKX0gXAorIgorUEFDS0FHRUNPTkZJR1thYWZdID0gIi0tZW5hYmxlLWFhZiwtLWRpc2FibGUtYWFmLGF2dHAiCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWphY2ssLS1kaXNhYmxlLWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdbbGliYXZdID0gIi0tZW5hYmxlLWxpYmF2LC0tZGlzYWJsZS1saWJhdixsaWJhdiIKK1BBQ0tBR0VDT05GSUdbbWFlbW8tcGx1Z2luXSA9ICItLWVuYWJsZS1tYWVtby1wbHVnaW4sLS1kaXNhYmxlLW1hZW1vLXBsdWdpbiIKK1BBQ0tBR0VDT05GSUdbbWFlbW8tcmVzb3VyY2UtbWFuYWdlcl0gPSAiLS1lbmFibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlciwtLWRpc2FibGUtbWFlbW8tcmVzb3VyY2UtbWFuYWdlcixkYnVzIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW3NhbXBsZXJhdGVdID0gIi0tZW5hYmxlLXNhbXBsZXJhdGUsLS1kaXNhYmxlLXNhbXBsZXJhdGUsbGlic2FtcGxlcmF0ZTAiCitQQUNLQUdFQ09ORklHW3NwZWV4ZHNwXSA9ICItLXdpdGgtc3BlZXg9bGliLC0td2l0aC1zcGVleD1ubyxzcGVleGRzcCIKKworUEFDS0FHRVMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B1bHNlYXVkaW8nLCAnYWxzYS1wbHVnaW5zLXB1bHNlYXVkaW8tY29uZicsICcnLCBkKX0iCisKK1BBQ0tBR0VTX0RZTkFNSUMgPSAiXmxpYmFzb3VuZC1tb2R1bGUtLioiCisKKyMgVGhlIGFsc2EtcGx1Z2lucyBwYWNrYWdlIGRvZXNuJ3QgaXRzZWxmIGNvbnRhaW4gYW55dGhpbmcsIGl0IGp1c3QgZGVwZW5kcyBvbgorIyBhbGwgYnVpbHQgcGx1Z2lucy4KK0ZJTEVTXyR7UE59ID0gIiIKK0FMTE9XX0VNUFRZXyR7UE59ID0gIjEiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCXJtICR7RH0ke2xpYmRpcn0vYWxzYS1saWIvKi5sYQorCisJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHVsc2VhdWRpbycsICd5ZXMnLCAnbm8nLCBkKX0iID0gInllcyIgXTsgdGhlbgorCQkjIFdlIHVzZSB0aGUgZXhhbXBsZSBhcyBpcy4gVXBzdHJlYW0gaW5zdGFsbHMgdGhlIGZpbGUgdW5kZXIKKwkJIyAvZXRjLCBidXQgd2UgbW92ZSBpdCB1bmRlciAvdXNyL3NoYXJlIGFuZCBhZGQgYSBzeW1saW5rIHVuZGVyCisJCSMgL2V0YyB0byBiZSBjb25zaXN0ZW50IHdpdGggb3RoZXIgaW5zdGFsbGVkIGNvbmZpZ3VyYXRpb24KKwkJIyBmaWxlcy4KKwkJbXYgJHtEfSR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvOTktcHVsc2VhdWRpby1kZWZhdWx0LmNvbmYuZXhhbXBsZSAke0R9JHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzk5LXB1bHNlYXVkaW8tZGVmYXVsdC5jb25mCisJCWxuIC1zICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiAke0R9JHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZgorCWZpCit9CisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vYWxzYS1saWIvJykKKyAgICBwYWNrYWdlcyA9ICIgIi5qb2luKGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgcidebGliYXNvdW5kX21vZHVsZV8oLiopXC5zbyQnLCAnbGliYXNvdW5kLW1vZHVsZS0lcycsICdBbHNhIHBsdWdpbiBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnKSkKKyAgICBkLnNldFZhcigiUkRFUEVORFNfYWxzYS1wbHVnaW5zIiwgcGFja2FnZXMpCit9CisKKyMgTWFueSBwbHVnaW5zIGhhdmUgYSBjb25maWd1cmF0aW9uIGZpbGUgKHBsdXMgYSBzeW1saW5rIGluIC9ldGMpIGFzc29jaWF0ZWQKKyMgd2l0aCB0aGVtLiBXZSBwdXQgdGhlIHBsdWdpbiBhbmQgaXQncyBjb25maWd1cmF0aW9uIHVzdWFsbHkgaW4gdGhlIHNhbWUKKyMgcGFja2FnZSwgYnV0IHRoYXQncyBwcm9ibGVtYXRpYyB3aGVuIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgaXMgcmVsYXRlZCB0bworIyBtdWx0aXBsZSBwbHVnaW5zLCBhcyBpcyB0aGUgY2FzZSB3aXRoIHRoZSBwdWxzZSwgb3NzIGFuZCBtYWVtbyBwbHVnaW5zLiBJbgorIyBjYXNlIG9mIHRoZSBwdWxzZSBwbHVnaW5zLCB3ZSBoYXZlIGEgc2VwYXJhdGUgYWxzYS1wbHVnaW5zLXB1bHNlYXVkaW8tY29uZgorIyBwYWNrYWdlIHRoYXQgZGVwZW5kcyBvbiBhbGwgdGhlIHB1bHNlIHBsdWdpbnMsIHdoaWNoIGVuc3VyZXMgdGhhdCBhbGwgcGx1Z2lucworIyB0aGF0IHRoZSBjb25maWd1cmF0aW9uIHJlZmVyZW5jZXMgYXJlIGluc3RhbGxlZC4gVGhlIG9zcyBhbmQgbWFlbW8KKyMgY29uZmlndXJhdGlvbiBmaWxlcywgb24gdGhlIG90aGVyIGhhbmQsIGFyZSBpbiB0aGUgcmVzcGVjdGl2ZSBwY20gcGx1Z2luCisjIHBhY2thZ2VzLiBUaGVyZWZvcmUgaXQncyBwb3NzaWJsZSB0byBpbnN0YWxsIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgd2l0aG91dAorIyB0aGUgY3RsIHBsdWdpbiB0aGF0IHRoZSBjb25maWd1cmF0aW9uIGZpbGUgcmVmZXJlbmNlcy4gVGhpcyBpcyB1bmxpa2VseSB0bworIyBjYXVzZSBiaWcgcHJvYmxlbXMsIGJ1dCBzb21lIGtpbmQgb2YgaW1wcm92ZW1lbnQgdG8gdGhlIHBhY2thZ2luZyBjb3VsZAorIyBwcm9iYWJseSBiZSBkb25lIGhlcmUgKGF0IGxlYXN0IGl0IHdvdWxkIGJlIGdvb2QgdG8gaGFuZGxlIHRoZSBkaWZmZXJlbnQKKyMgcGx1Z2lucyBpbiBhIGNvbnNpc3RlbnQgd2F5KS4KK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1jdGwtYXJjYW0tYXYgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLWFyY2FtLWF2LWN0bC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1hcmNhbS1hdi1jdGwuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLWE1MiArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNjAtYTUyLWVuY29kZXIuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNjAtYTUyLWVuY29kZXIuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLWFsc2EtZHNwICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OC1tYWVtby5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OC1tYWVtby5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tamFjayArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvNTAtamFjay5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1qYWNrLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS1vc3MgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLW9zcy5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC81MC1vc3MuY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLXNwZWV4ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC82MC1zcGVleC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC82MC1zcGVleC5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1wY20tdXBtaXggKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzYwLXVwbWl4LmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzYwLXVwbWl4LmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXBjbS11c2Itc3RyZWFtICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OC11c2Itc3RyZWFtLmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzk4LXVzYi1zdHJlYW0uY29uZiBcCisiCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcGNtLXZkb3dubWl4ICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC82MC12ZG93bm1peC5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC82MC12ZG93bm1peC5jb25mIFwKKyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdnJhdGUgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzEwLXJhdGUtbGF2LmNvbmYgXAorICAgICAgICAke3N5c2NvbmZkaXJ9L2Fsc2EvY29uZi5kLzEwLXJhdGUtbGF2LmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc2FtcGxlcmF0ZSArPSAiXAorICAgICAgICAke2RhdGFkaXJ9L2Fsc2EvYWxzYS5jb25mLmQvMTAtc2FtcGxlcmF0ZS5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC8xMC1zYW1wbGVyYXRlLmNvbmYgXAorIgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc3BlZXhyYXRlICs9ICJcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC8xMC1zcGVleHJhdGUuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvMTAtc3BlZXhyYXRlLmNvbmYgXAorIgorCisjIFRoZSByYXRlIHBsdWdpbnMgY3JlYXRlIHNvbWUgc3ltbGlua3MuIEZvciBleGFtcGxlLCB0aGUgc2FtcGxlcmF0ZSBwbHVnaW4KKyMgY3JlYXRlcyB0aGVzZSBsaW5rcyB0byB0aGUgbWFpbiBwbHVnaW4gZmlsZToKKyMKKyMgICBsaWJhc291bmRfbW9kdWxlX3JhdGVfc2FtcGxlcmF0ZV9iZXN0LnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfbGluZWFyLnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfbWVkaXVtLnNvCisjICAgbGliYXNvdW5kX21vZHVsZV9yYXRlX3NhbXBsZXJhdGVfb3JkZXIuc28KKyMKKyMgVGhlIG90aGVyIHJhdGUgcGx1Z2lucyBjcmVhdGUgc2ltaWxhciBsaW5rcy4gV2UgaGF2ZSB0byBhZGQgdGhlIGxpbmtzIHRvCisjIEZJTEVTIG1hbnVhbGx5LCBiZWNhdXNlIGRvX3NwbGl0X3BhY2thZ2VzKCkgc2tpcHMgdGhlIGxpbmtzICh3aGljaCBpcyBnb29kLAorIyBiZWNhdXNlIHdlIHdvdWxkbid0IHdhbnQgZG9fc3BsaXRfcGFja2FnZXMoKSB0byBjcmVhdGUgc2VwYXJhdGUgcGFja2FnZXMgZm9yCisjIHRoZSBzeW1saW5rcykuCisjCisjIFRoZSBzeW1saW5rcyBjYXVzZSBRQSBlcnJvcnMsIGJlY2F1c2UgdXN1YWxseSBpdCdzIGEgYnVnIGlmIGEgbm9uCisjIC1kZXYvLWRiZy8tbmF0aXZlc2RrIHBhY2thZ2UgY29udGFpbnMgbGlua3MgdG8gLnNvIGZpbGVzLCBidXQgaW4gdGhpcyBjYXNlCisjIHRoZSBlcnJvcnMgYXJlIGZhbHNlIHBvc2l0aXZlcywgc28gd2UgZGlzYWJsZSB0aGUgUUEgY2hlY2tzLgorRklMRVNfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtbGF2cmF0ZSArPSAiJHtsaWJkaXJ9L2Fsc2EtbGliLypyYXRlX2xhdnJhdGVfKi5zbyIKK0ZJTEVTXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLXNhbXBsZXJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zYW1wbGVyYXRlXyouc28iCitGSUxFU18ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgKz0gIiR7bGliZGlyfS9hbHNhLWxpYi8qcmF0ZV9zcGVleHJhdGVfKi5zbyIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGliYXNvdW5kLW1vZHVsZS1yYXRlLWxhdnJhdGUgPSAiZGV2LXNvIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhc291bmQtbW9kdWxlLXJhdGUtc2FtcGxlcmF0ZSA9ICJkZXYtc28iCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmFzb3VuZC1tb2R1bGUtcmF0ZS1zcGVleHJhdGUgPSAiZGV2LXNvIgorCisjIDUwLXB1bHNlYXVkaW8uY29uZiBkZWZpbmVzIGEgZGV2aWNlIG5hbWVkICJwdWxzZSIgdGhhdCBhcHBsaWNhdGlvbnMgY2FuIHVzZQorIyBpZiB0aGV5IGV4cGxpY2l0bHkgd2FudCB0byB1c2UgdGhlIFB1bHNlQXVkaW8gcGx1Z2luLgorIyA5OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBjb25maWd1cmVzIHRoZSAiZGVmYXVsdCIgZGV2aWNlIHRvIHVzZSB0aGUKKyMgUHVsc2VBdWRpbyBwbHVnaW4uCitGSUxFU18ke1BOfS1wdWxzZWF1ZGlvLWNvbmYgKz0gIlwKKyAgICAgICAgJHtkYXRhZGlyfS9hbHNhL2Fsc2EuY29uZi5kLzUwLXB1bHNlYXVkaW8uY29uZiBcCisgICAgICAgICR7ZGF0YWRpcn0vYWxzYS9hbHNhLmNvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBcCisgICAgICAgICR7c3lzY29uZmRpcn0vYWxzYS9jb25mLmQvNTAtcHVsc2VhdWRpby5jb25mIFwKKyAgICAgICAgJHtzeXNjb25mZGlyfS9hbHNhL2NvbmYuZC85OS1wdWxzZWF1ZGlvLWRlZmF1bHQuY29uZiBcCisiCisKK1JERVBFTkRTXyR7UE59LXB1bHNlYXVkaW8tY29uZiArPSAiXAorICAgICAgICBsaWJhc291bmQtbW9kdWxlLWNvbmYtcHVsc2UgXAorICAgICAgICBsaWJhc291bmQtbW9kdWxlLWN0bC1wdWxzZSBcCisgICAgICAgIGxpYmFzb3VuZC1tb2R1bGUtcGNtLXB1bHNlIFwKKyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzLzAwMDItRml4LWNsYW5nLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbC13YXJuaW5ncy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzLzAwMDItRml4LWNsYW5nLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbC13YXJuaW5ncy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzEzN2JjOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotCi1Gcm9tIGE4NjFiZGFiZjAyY2Q5YmZiM2VjN2MwNTcxYzU2M2MwZmExNGFkZmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogVHVlLCAyNCBBcHIgMjAxOCAxMjoyNDozMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1czQyOGNvbnRyb2w6IEZpeCBjbGFuZyAtV3Jlc2VydmVkLXVzZXItZGVmaW5lZC1saXRlcmFsCi0gd2FybmluZ3MKLQotfCB1czQyOGNvbnRyb2wuY2M6NjY6MTg6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgaWRlbnRpZmllciBbLVdyZXNlcnZlZC11c2VyLWRlZmluZWQtbGl0ZXJhbF0KLXwgICAgICAgICBwcmludGYoInVzYWdlOiAiUFJPR05BTUUiIFstdiB2ZXJib3NpdHlfbGV2ZWwgMC4uMl0gWy1jIGNhcmRdIFstRCBkZXZpY2VdIFstdSB1c2ItZGV2aWNlXSBbLW0gbW9kZV1cbiIpOwotfCAgICAgICAgICAgICAgICAgICAgICAgICBeCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBUYWthc2hpIEl3YWkgPHRpd2FpQHN1c2UuZGU+Ci0tLS0KLSB1czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdXM0Mjhjb250cm9sL3VzNDI4Y29udHJvbC5jYyBiL3VzNDI4Y29udHJvbC91czQyOGNvbnRyb2wuY2MKLWluZGV4IGU4MzliZjQuLjhjYjNjNDIgMTAwNjQ0Ci0tLS0gYS91czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjCi0rKysgYi91czQyOGNvbnRyb2wvdXM0Mjhjb250cm9sLmNjCi1AQCAtNjMsNyArNjMsNyBAQCBzdGF0aWMgdm9pZCB1c2FnZSh2b2lkKQotIHsKLSAJcHJpbnRmKCJUYXNjYW0gVVMtNDI4IENvbnRyb2xcbiIpOwotIAlwcmludGYoInZlcnNpb24gJXNcbiIsIFZFUlNJT04pOwotLQlwcmludGYoInVzYWdlOiAiUFJPR05BTUUiIFstdiB2ZXJib3NpdHlfbGV2ZWwgMC4uMl0gWy1jIGNhcmRdIFstRCBkZXZpY2VdIFstdSB1c2ItZGV2aWNlXSBbLW0gbW9kZV1cbiIpOwotKwlwcmludGYoInVzYWdlOiAiIFBST0dOQU1FICIgWy12IHZlcmJvc2l0eV9sZXZlbCAwLi4yXSBbLWMgY2FyZF0gWy1EIGRldmljZV0gWy11IHVzYi1kZXZpY2VdIFstbSBtb2RlXVxuIik7Ci0gCXByaW50ZigibW9kZSBpcyBvbmUgb2YgKHVzMjI0LCB1czQyOCwgbWl4eHgpXG4iKTsKLSB9Ci0gLyoKLS0tIAotMS43LjExLjcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzL211c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29scy9tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWIxMjljLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzL211c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotCi1Gcm9tIDIzNWQ5YzVlODM4MTUxOGIwYTg2NjE3ODZlN2UwY2JkZDFiYmNkMDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotRGF0ZTogVHVlLCAxMiBKdW4gMjAxOCAxMzoyNDozNCArMDEwMAotU3ViamVjdDogW1BBVENIXSBsZDEwazE6IGRlZmluZSBfR05VX1NPVVJDRSBhbmQgdXNlIHNpZ2hhbmRsZXJfdAotCi1fX3NpZ2hhbmRsZXJfdCBpcyBhIGdsaWJjIGludGVybmFsIHR5cGUgd2hpY2ggZG9lc24ndCBleGlzdCBpbiBtdXNsLiAgQnkgdXNpbmcKLUFDX1VTRV9TWVNURU1fRVhURU5TSU9OUyB0byBnZXQgX0dOVV9TT1VSQ0UgZGVmaW5lZCwgYm90aCBnbGliYyBhbmQgbXVzbAotdGhlbiBleHBvc2Ugc2lnaGFuZGxlcl90LgotCi1TaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgotU2lnbmVkLW9mZi1ieTogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0tCi0gbGQxMGsxL2NvbmZpZ3VyZS5hYyAgICAgIHwgMSArCi0gbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jIHwgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9sZDEwazEvY29uZmlndXJlLmFjIGIvbGQxMGsxL2NvbmZpZ3VyZS5hYwotaW5kZXggMjc2YjI0ZS4uZjQ4Y2EzMSAxMDA2NDQKLS0tLSBhL2xkMTBrMS9jb25maWd1cmUuYWMKLSsrKyBiL2xkMTBrMS9jb25maWd1cmUuYWMKLUBAIC00LDYgKzQsNyBAQCBBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCi0gQU1fTUFJTlRBSU5FUl9NT0RFKFtlbmFibGVdKQotIAotIEFDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQotK0FDX1VTRV9TWVNURU1fRVhURU5TSU9OUwotIEFDX1BST0dfQ0MKLSBBQ19QUk9HX0xECi0gQUNfUFJPR19JTlNUQUxMCi1kaWZmIC0tZ2l0IGEvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jIGIvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jCi1pbmRleCAzNDM1ODRjLi5kZGM0M2M2IDEwMDY0NAotLS0tIGEvbGQxMGsxL3NyYy9sZDEwazFfZm5jMS5jCi0rKysgYi9sZDEwazEvc3JjL2xkMTBrMV9mbmMxLmMKLUBAIC0xNzksNyArMTc5LDcgQEAgaW50IG1haW5fbG9vcChjb21tX3BhcmFtICpwYXJhbSwgaW50IGF1ZGlneSwgY29uc3QgY2hhciAqY2FyZF9pZCwgaW50IHRyYW1fc2l6ZSwKLSB7Ci0gCWZkX3NldCBhY3RpdmVfZmRfc2V0LyosIHJlYWRfZmRfc2V0Ki87Ci0gCWludCBpLCBqLCByZXMgPSAwOwotLQlfX3NpZ2hhbmRsZXJfdCBvbGRfc2lnX3BpcGU7Ci0rCXNpZ2hhbmRsZXJfdCBvbGRfc2lnX3BpcGU7Ci0gCi0gCWludCBtYWluX3NvY2sgPSAwOwotIAlpbnQgZGF0YV9zb2NrID0gMDsKLS0tIAotMi4xMS4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXRvb2xzXzEuMS42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwZTU0ZGIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjYuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1TVU1NQVJZID0gIkFkdmFuY2VkIHRvb2xzIGZvciBjZXJ0YWluIEFMU0Egc291bmQgY2FyZCBkcml2ZXJzIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCi1TRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkdQTHYyICYgTEdQTHYyKyIKLURFUEVORFMgPSAiYWxzYS1saWIiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2hkc3Bsb2FkZXIvQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGQxMGsxL0NPUFlJTkcuTElCO21kNT1hOTE2NDY3YjkxMDc2ZTYzMWRkOGVkYjc0MjQ3NjljNyBcCi0gICAgICAgICAgICAgICAgICAgICIKLQotU1JDX1VSSSA9ICJmdHA6Ly9mdHAuYWxzYS1wcm9qZWN0Lm9yZy9wdWIvdG9vbHMvJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1jbGFuZy1XcmVzZXJ2ZWQtdXNlci1kZWZpbmVkLWxpdGVyYWwtd2FybmluZ3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbXVzbC5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjVjYThjOTQzN2FlNzc5OTk3Y2Q2MmZiMjgxNWZlZjE5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2OWM0ZGMyZmI2NDFhOTc0ZDk5MDNlOWViNzhjOTRjYjBjN2FjNmM0NWJhZTY2NGYwYzlkNmMwYTE1OTMyMjciCi0KLWluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKLSMgYnJva2Vuc2VwIGFzIGFzMTBrMSAoYW5kIHByb2JhYmx5IG1vcmUpIGZhaWwgb3V0IG9mIHRyZWUKLUNMRUFOQlJPS0VOID0gIjEiCi0KLSMgSGVyZSB3ZSB1c2UgUEFDS0FHRUNPTkZJRyBvcHRpb25zIHRvIHBpY2sgd2hpY2ggZGlyZWN0b3JpZXMgd2UgY29uZmlndXJlL2J1aWxkLgotIyBSZW1lbWJlciBvbiB1cGdyYWRlcyB0byBjaGVjayB0aGF0IG5vIG5ldyB0b29scyBoYXZlIGJlZW4gYWRkZWQuCi1QQUNLQUdFQ09ORklHID8/PSAiYXMxMGsxIGhkYWphY2tzZW5zZXRlc3QgaGRhLXZlcmIgaGRzcGxvYWRlciBsZDEwazEgbWl4YXJ0bG9hZGVyIHBjeGhybG9hZGVyIFwKLSAgICAgICAgICAgICAgICAgICBzYjE2X2NzcCBzZXEtLXNiaWxvYWQgc3NjYXBlX2N0bCB1czQyOGNvbnRyb2wgdXN4Mnlsb2FkZXIgdnhsb2FkZXIgXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLMkRJU1RST0ZFQVRVUkVTfScsICdlY2hvbWl4ZXIgZW52eTI0Y29udHJvbCBybWVkaWdpY29udHJvbCcsICcnLCBkKX0gXAotICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLM0RJU1RST0ZFQVRVUkVTfScsICdoZGFqYWNrcmV0YXNrJywgJycsIGQpfSBcCi0gICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW2FzMTBrMV0gPSAiIgotUEFDS0FHRUNPTkZJR1tlY2hvbWl4ZXJdID0gIiwsZ3RrKyIKLVBBQ0tBR0VDT05GSUdbZW52eTI0Y29udHJvbF0gPSAiLCxndGsrIgotUEFDS0FHRUNPTkZJR1toZGEtdmVyYl0gPSAiIgotUEFDS0FHRUNPTkZJR1toZGFqYWNrcmV0YXNrXSA9ICIsLGd0ayszIgotUEFDS0FHRUNPTkZJR1toZGFqYWNrc2Vuc2V0ZXN0XSA9ICIsLGdsaWItMi4wIgotUEFDS0FHRUNPTkZJR1toZHNwY29uZl0gPSAiLCxmbHRrIgotUEFDS0FHRUNPTkZJR1toZHNwbG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW2hkc3BtaXhlcl0gPSAiLCxmbHRrIgotUEFDS0FHRUNPTkZJR1tod21peHZvbHVtZV0gPSAiLCwscHl0aG9uLWNvcmUgcHl0aG9uLXB5Z3RrIgotUEFDS0FHRUNPTkZJR1tsZDEwazFdID0gIiIKLVBBQ0tBR0VDT05GSUdbbWl4YXJ0bG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW3BjeGhybG9hZGVyXSA9ICIiCi1QQUNLQUdFQ09ORklHW3FsbzEwazFdID0gIiwscXQteDExLWZyZWUiCi1QQUNLQUdFQ09ORklHW3JtZWRpZ2ljb250cm9sXSA9ICIsLGd0aysiCi1QQUNLQUdFQ09ORklHW3NiMTZfY3NwXSA9ICIiCi1QQUNLQUdFQ09ORklHW3NlcS0tc2JpbG9hZF0gPSAiIgotUEFDS0FHRUNPTkZJR1tzc2NhcGVfY3RsXSA9ICIiCi1QQUNLQUdFQ09ORklHW3VzNDI4Y29udHJvbF0gPSAiIgotUEFDS0FHRUNPTkZJR1t1c3gyeWxvYWRlcl0gPSAiIgotUEFDS0FHRUNPTkZJR1t2eGxvYWRlcl0gPSAiIgotCi1weXRob24gZG9fY29uZmlndXJlKCkgewotICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgotICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCi0gICAgICAgIGJiLm5vdGUoIkNvbmZpZ3VyaW5nICVzIiAlIHN1YmRpcikKLSAgICAgICAgZGQgPSBkLmNyZWF0ZUNvcHkoKQotICAgICAgICBkZC5zZXRWYXIoIlMiLCBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoIlMiKSwgc3ViZGlyKSkKLSAgICAgICAgYmIuYnVpbGQuZXhlY19mdW5jKCJhdXRvdG9vbHNfZG9fY29uZmlndXJlIiwgZGQpCi19Ci0KLXB5dGhvbiBkb19jb21waWxlKCkgewotICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgotICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCi0gICAgICAgIGJiLm5vdGUoIkNvbXBpbGluZyAlcyIgJSBzdWJkaXIpCi0gICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKLSAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCi0gICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2NvbXBpbGUiLCBkZCkKLX0KLQotcHl0aG9uIGRvX2luc3RhbGwoKSB7Ci0gICAgZm9yIHN1YmRpciBpbiBkLmdldFZhcigiUEFDS0FHRUNPTkZJRyIpLnNwbGl0KCk6Ci0gICAgICAgIHN1YmRpciA9IHN1YmRpci5yZXBsYWNlKCItLSIsICIvIikKLSAgICAgICAgYmIubm90ZSgiSW5zdGFsbGluZyAlcyIgJSBzdWJkaXIpCi0gICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKLSAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCi0gICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2luc3RhbGwiLCBkZCkKLQotICAgICMgSnVzdCByZW1vdmUgYmFzaC1uZWVkaW5nIGluaXQgc2NyaXB0IHRoYXQgaXNuJ3QgaW5zdGFsbGVkIGFzIGFuIGluaXQgc2NyaXB0Ci0gICAgdHJ5OgotICAgICAgICBvcy5yZW1vdmUob2UucGF0aC5qb2luKGQuZ2V0VmFyKCJEIiksIGQuZ2V0VmFyKCJzYmluZGlyIiksICJsZDEwazFkIikpCi0gICAgZXhjZXB0OgotICAgICAgICBwYXNzCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS10b29sc18xLjEuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWI1MGZhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdG9vbHNfMS4xLjcuYmIKQEAgLTAsMCArMSw4NyBAQAorU1VNTUFSWSA9ICJBZHZhbmNlZCB0b29scyBmb3IgY2VydGFpbiBBTFNBIHNvdW5kIGNhcmQgZHJpdmVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2Fsc2EtcHJvamVjdC5vcmcvbWFpbi9pbmRleC5waHAvQnVnX1RyYWNraW5nIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MisiCitERVBFTkRTID0gImFsc2EtbGliIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9oZHNwbG9hZGVyL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xkMTBrMS9DT1BZSU5HLkxJQjttZDU9YTkxNjQ2N2I5MTA3NmU2MzFkZDhlZGI3NDI0NzY5YzcgXAorICAgICAgICAgICAgICAgICAgICAiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuYWxzYS1wcm9qZWN0Lm9yZy9maWxlcy9wdWIvdG9vbHMvJHtCUH0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3NWJkZjY0NTdiY2Y1NWM4Yzg5NWQ2NTNlZTU2YTU0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwMjQzMzI4YThmNmY2OTFhMzA1NWM0ODRmZDhkMzMyNjM5MzA5NjMyNWU5Mzc0M2IyNDYwMjlkMzI3YzRlZjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBwa2djb25maWcKKyMgYnJva2Vuc2VwIGFzIGFzMTBrMSAoYW5kIHByb2JhYmx5IG1vcmUpIGZhaWwgb3V0IG9mIHRyZWUKK0NMRUFOQlJPS0VOID0gIjEiCisKKyMgSGVyZSB3ZSB1c2UgUEFDS0FHRUNPTkZJRyBvcHRpb25zIHRvIHBpY2sgd2hpY2ggZGlyZWN0b3JpZXMgd2UgY29uZmlndXJlL2J1aWxkLgorIyBSZW1lbWJlciBvbiB1cGdyYWRlcyB0byBjaGVjayB0aGF0IG5vIG5ldyB0b29scyBoYXZlIGJlZW4gYWRkZWQuCitQQUNLQUdFQ09ORklHID8/PSAiYXMxMGsxIGhkYWphY2tzZW5zZXRlc3QgaGRhLXZlcmIgaGRzcGxvYWRlciBsZDEwazEgbWl4YXJ0bG9hZGVyIHBjeGhybG9hZGVyIFwKKyAgICAgICAgICAgICAgICAgICBzYjE2X2NzcCBzZXEtLXNiaWxvYWQgc3NjYXBlX2N0bCB1czQyOGNvbnRyb2wgdXN4Mnlsb2FkZXIgdnhsb2FkZXIgXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLMkRJU1RST0ZFQVRVUkVTfScsICdlY2hvbWl4ZXIgZW52eTI0Y29udHJvbCBybWVkaWdpY29udHJvbCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnRElTVFJPX0ZFQVRVUkVTJywgJyR7R1RLM0RJU1RST0ZFQVRVUkVTfScsICdoZGFqYWNrcmV0YXNrJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHW2FzMTBrMV0gPSAiIgorUEFDS0FHRUNPTkZJR1tlY2hvbWl4ZXJdID0gIiwsZ3RrKyIKK1BBQ0tBR0VDT05GSUdbZW52eTI0Y29udHJvbF0gPSAiLCxndGsrIgorUEFDS0FHRUNPTkZJR1toZGEtdmVyYl0gPSAiIgorUEFDS0FHRUNPTkZJR1toZGFqYWNrcmV0YXNrXSA9ICIsLGd0ayszIgorUEFDS0FHRUNPTkZJR1toZGFqYWNrc2Vuc2V0ZXN0XSA9ICIsLGdsaWItMi4wIgorUEFDS0FHRUNPTkZJR1toZHNwY29uZl0gPSAiLCxmbHRrIgorUEFDS0FHRUNPTkZJR1toZHNwbG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW2hkc3BtaXhlcl0gPSAiLCxmbHRrIgorUEFDS0FHRUNPTkZJR1tsZDEwazFdID0gIiIKK1BBQ0tBR0VDT05GSUdbbWl4YXJ0bG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW3BjeGhybG9hZGVyXSA9ICIiCitQQUNLQUdFQ09ORklHW3FsbzEwazFdID0gIiwscXQteDExLWZyZWUiCitQQUNLQUdFQ09ORklHW3JtZWRpZ2ljb250cm9sXSA9ICIsLGd0aysiCitQQUNLQUdFQ09ORklHW3NiMTZfY3NwXSA9ICIiCitQQUNLQUdFQ09ORklHW3NlcS0tc2JpbG9hZF0gPSAiIgorUEFDS0FHRUNPTkZJR1tzc2NhcGVfY3RsXSA9ICIiCitQQUNLQUdFQ09ORklHW3VzNDI4Y29udHJvbF0gPSAiIgorUEFDS0FHRUNPTkZJR1t1c3gyeWxvYWRlcl0gPSAiIgorUEFDS0FHRUNPTkZJR1t2eGxvYWRlcl0gPSAiIgorCisjIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgcHlhbHNhIGlzIG5vdCBwYWNrYWdlZCBmb3IgT0UsIHNvIHRoaXMgaXMgbm90IGV4cGVjdGVkCisjIHRvIHdvcmsuCitQQUNLQUdFQ09ORklHW2h3bWl4dm9sdW1lXSA9ICIsLCxweXRob24tY29yZSBweXRob24tcHlnb2JqZWN0IHB5YWxzYSIKKworcHl0aG9uIGRvX2NvbmZpZ3VyZSgpIHsKKyAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKKyAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQorICAgICAgICBiYi5ub3RlKCJDb25maWd1cmluZyAlcyIgJSBzdWJkaXIpCisgICAgICAgIGRkID0gZC5jcmVhdGVDb3B5KCkKKyAgICAgICAgZGQuc2V0VmFyKCJTIiwgb3MucGF0aC5qb2luKGQuZ2V0VmFyKCJTIiksIHN1YmRpcikpCisgICAgICAgIGJiLmJ1aWxkLmV4ZWNfZnVuYygiYXV0b3Rvb2xzX2RvX2NvbmZpZ3VyZSIsIGRkKQorfQorCitweXRob24gZG9fY29tcGlsZSgpIHsKKyAgICBmb3Igc3ViZGlyIGluIGQuZ2V0VmFyKCJQQUNLQUdFQ09ORklHIikuc3BsaXQoKToKKyAgICAgICAgc3ViZGlyID0gc3ViZGlyLnJlcGxhY2UoIi0tIiwgIi8iKQorICAgICAgICBiYi5ub3RlKCJDb21waWxpbmcgJXMiICUgc3ViZGlyKQorICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCisgICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQorICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19jb21waWxlIiwgZGQpCit9CisKK3B5dGhvbiBkb19pbnN0YWxsKCkgeworICAgIGZvciBzdWJkaXIgaW4gZC5nZXRWYXIoIlBBQ0tBR0VDT05GSUciKS5zcGxpdCgpOgorICAgICAgICBzdWJkaXIgPSBzdWJkaXIucmVwbGFjZSgiLS0iLCAiLyIpCisgICAgICAgIGJiLm5vdGUoIkluc3RhbGxpbmcgJXMiICUgc3ViZGlyKQorICAgICAgICBkZCA9IGQuY3JlYXRlQ29weSgpCisgICAgICAgIGRkLnNldFZhcigiUyIsIG9zLnBhdGguam9pbihkLmdldFZhcigiUyIpLCBzdWJkaXIpKQorICAgICAgICBiYi5idWlsZC5leGVjX2Z1bmMoImF1dG90b29sc19kb19pbnN0YWxsIiwgZGQpCisKKyAgICAjIEp1c3QgcmVtb3ZlIGJhc2gtbmVlZGluZyBpbml0IHNjcmlwdCB0aGF0IGlzbid0IGluc3RhbGxlZCBhcyBhbiBpbml0IHNjcmlwdAorICAgIHRyeToKKyAgICAgICAgb3MucmVtb3ZlKG9lLnBhdGguam9pbihkLmdldFZhcigiRCIpLCBkLmdldFZhcigic2JpbmRpciIpLCAibGQxMGsxZCIpKQorICAgIGV4Y2VwdDoKKyAgICAgICAgcGFzcworfQorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzLXNjcmlwdHNfMS4xLjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS44LmJiCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS42LmJiCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlscy1zY3JpcHRzXzEuMS44LmJiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2Fsc2EvYWxzYS11dGlsc18xLjEuNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS42LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGJhMGNiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS42LmJiCisrKyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLVNVTU1BUlkgPSAiQUxTQSBzb3VuZCB1dGlsaXRpZXMiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmFsc2EtcHJvamVjdC5vcmciCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9hbHNhLXByb2plY3Qub3JnL21haW4vaW5kZXgucGhwL0J1Z19UcmFja2luZyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYWxzYWN0bC91dGlscy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjA7bWQ1PTJjZTdmN2I2NzM5NDg3ZmI3MmM2ODlkNDY1MjFmOTU4IgotREVQRU5EUyA9ICJhbHNhLWxpYiBuY3Vyc2VzIGxpYnNhbXBsZXJhdGUwIgotCi1QQUNLQUdFQ09ORklHID8/PSAidWRldiIKLQotIyBhbHNhYmF0IGNhbiBiZSBidWlsdCBhbHNvIHdpdGhvdXQgZmZ0dyBzdXBwb3J0ICh3aXRoIHJlZHVjZWQgZnVuY3Rpb25hbGl0eSkuCi0jIEl0IHdvdWxkIGJlIGJldHRlciB0byBhbHdheXMgZW5hYmxlIGFsc2FiYXQsIGJ1dCBwcm92aWRlIGFuIG9wdGlvbiBmb3IKLSMgZW5hYmxpbmcvZGlzYWJsaW5nIGZmdHcuIFRoZSBjb25maWd1cmUgc2NyaXB0IGRvZXNuJ3Qgc3VwcG9ydCB0aGF0LCBob3dldmVyCi0jIChhdCBsZWFzdCBpbiBhbnkgb2J2aW91cyB3YXkpLCBzbyBmb3Igbm93IHdlIG9ubHkgc3VwcG9ydCBhbHNhYmF0IHdpdGggZmZ0dwotIyBvciBubyBhbHNhYmF0IGF0IGFsbC4KLVBBQ0tBR0VDT05GSUdbYmF0XSA9ICItLWVuYWJsZS1iYXQsLS1kaXNhYmxlLWJhdCxmZnR3ZiIKLQotUEFDS0FHRUNPTkZJR1t1ZGV2XSA9ICItLXdpdGgtdWRldi1ydWxlcy1kaXI9YHBrZy1jb25maWcgLS12YXJpYWJsZT11ZGV2ZGlyIHVkZXZgL3J1bGVzLmQsLS13aXRoLXVkZXYtcnVsZXMtZGlyPS91bndhbnRlZC9ydWxlcy5kLHVkZXYiCi1QQUNLQUdFQ09ORklHW21hbnBhZ2VzXSA9ICItLWVuYWJsZS14bWx0bywgLS1kaXNhYmxlLXhtbHRvLCB4bWx0by1uYXRpdmUgZG9jYm9vay14bWwtZHRkNC1uYXRpdmUgZG9jYm9vay14c2wtc3R5bGVzaGVldHMtbmF0aXZlIgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5hbHNhLXByb2plY3Qub3JnL3B1Yi91dGlscy9hbHNhLXV0aWxzLSR7UFZ9LnRhci5iejIgXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjUwYWU3NTU2NzQ1OTY0NmI4NDNiZWQ3OGQ5MTZiMDAyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjE1NWNhZWNjNDBiMjIyMGY2ODZmMzRiYTM2NTVhNTNlM2JkYmMwNTg2YWRiMTA1NjczMzk0OWZlYWFmN2QzNmUiCi0KLSMgT24gYnVpbGQgbWFjaGluZXMgd2l0aCBweXRob24tZG9jdXRpbHMgKG5vdCBweXRob24zLWRvY3V0aWxzICEhKSBpbnN0YWxsZWQKLSMgcnN0Mm1hbiAobm90IHJzdDJtYW4ucHkpIGlzIGRldGVjdGVkIGFuZCBjb21waWxlIGZhaWxzIHdpdGgKLSMgfCBtYWtlWzFdOiAqKiogTm8gcnVsZSB0byBtYWtlIHRhcmdldCAnYWxzYXVjbS4xJywgbmVlZGVkIGJ5ICdhbGwtYW0nLiAgU3RvcC4KLSMgQXZvaWQgdGhpcyBieSBkaXNhYmxpbmcgZXhwaWNpdGx5Ci1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXJzdDJtYW4iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIG1hbnBhZ2VzCi0KLSMgVGhpcyBhcmUgYWxsIHBhY2thZ2VzIHRoYXQgd2UgbmVlZCB0byBtYWtlLiBBbHNvLCB0aGUgbm93IGVtcHR5IGFsc2EtdXRpbHMKLSMgaXBrIGRlcGVuZHMgb24gdGhlbS4KLQotQUxTQV9VVElMU19QS0dTID0gIlwKLSAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdiYXQnLCAnYWxzYS11dGlscy1hbHNhYmF0JywgJycsIGQpfSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhbWl4ZXIgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYXRwbGcgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtbWlkaSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hcGxheSBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbWl4ZXIgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWNvbm5lY3QgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtaWVjc2V0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLXNwZWFrZXJ0ZXN0IFwKLSAgICAgICAgICAgICBhbHNhLXV0aWxzLWFzZXFuZXQgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXNlcWR1bXAgXAotICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYWN0bCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhbG9vcCBcCi0gICAgICAgICAgICAgYWxzYS11dGlscy1hbHNhdWNtIFwKLSAgICAgICAgICAgICIKLQotUEFDS0FHRVMgKz0gIiR7QUxTQV9VVElMU19QS0dTfSIKLVJERVBFTkRTXyR7UE59ICs9ICIke0FMU0FfVVRJTFNfUEtHU30iCi0KLUZJTEVTXyR7UE59ID0gIiIKLUZJTEVTX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgPSAiJHtiaW5kaXJ9L2Fsc2FiYXQiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2F0cGxnICAgID0gIiR7YmluZGlyfS9hbHNhdHBsZyIKLUZJTEVTX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgPSAiJHtiaW5kaXJ9L2FwbGF5ICR7YmluZGlyfS9hcmVjb3JkIgotRklMRVNfYWxzYS11dGlscy1hbWl4ZXIgICAgICA9ICIke2JpbmRpcn0vYW1peGVyIgotRklMRVNfYWxzYS11dGlscy1hbHNhbWl4ZXIgICA9ICIke2JpbmRpcn0vYWxzYW1peGVyIgotRklMRVNfYWxzYS11dGlscy1zcGVha2VydGVzdCA9ICIke2JpbmRpcn0vc3BlYWtlci10ZXN0ICR7ZGF0YWRpcn0vc291bmRzL2Fsc2EvICR7ZGF0YWRpcn0vYWxzYS9zcGVha2VyLXRlc3QvIgotRklMRVNfYWxzYS11dGlscy1taWRpICAgICAgICA9ICIke2JpbmRpcn0vYXBsYXltaWRpICR7YmluZGlyfS9hcmVjb3JkbWlkaSAke2JpbmRpcn0vYW1pZGkiCi1GSUxFU19hbHNhLXV0aWxzLWFjb25uZWN0ICAgID0gIiR7YmluZGlyfS9hY29ubmVjdCIKLUZJTEVTX2Fsc2EtdXRpbHMtYXNlcW5ldCAgICAgPSAiJHtiaW5kaXJ9L2FzZXFuZXQiCi1GSUxFU19hbHNhLXV0aWxzLWllY3NldCAgICAgID0gIiR7YmluZGlyfS9pZWNzZXQiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2FjdGwgICAgID0gIiR7c2JpbmRpcn0vYWxzYWN0bCAqL3VkZXYvcnVsZXMuZCAqLyovdWRldi9ydWxlcy5kICR7c3lzdGVtZF91bml0ZGlyfSAke2xvY2Fsc3RhdGVkaXJ9L2xpYi9hbHNhICR7ZGF0YWRpcn0vYWxzYS9pbml0LyIKLUZJTEVTX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgPSAiJHtiaW5kaXJ9L2FzZXFkdW1wIgotRklMRVNfYWxzYS11dGlscy1hbHNhbG9vcCAgICA9ICIke2JpbmRpcn0vYWxzYWxvb3AiCi1GSUxFU19hbHNhLXV0aWxzLWFsc2F1Y20gICAgID0gIiR7YmluZGlyfS9hbHNhdWNtIgotCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgID0gIkNvbW1hbmQtbGluZSBzb3VuZCB0ZXN0ZXIgZm9yIEFMU0Egc291bmQgY2FyZCBkcml2ZXIiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXRwbGcgICAgID0gIkNvbnZlcnRzIHRvcG9sb2d5IHRleHQgZmlsZXMgaW50byBiaW5hcnkgZm9ybWF0IGZvciBrZXJuZWwiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgID0gIlBsYXkgKGFuZCByZWNvcmQpIHNvdW5kIGZpbGVzIHVzaW5nIEFMU0EiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYW1peGVyICAgICAgID0gIkNvbW1hbmQtbGluZSBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhbWl4ZXIgICAgPSAibmN1cnNlcy1iYXNlZCBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKLVNVTU1BUllfYWxzYS11dGlscy1zcGVha2VydGVzdCAgPSAiQUxTQSBzdXJyb3VuZCBzcGVha2VyIHRlc3QgdXRpbGl0eSIKLVNVTU1BUllfYWxzYS11dGlscy1taWRpICAgICAgICAgPSAiTWlzY2VsbGFuZW91cyBNSURJIHV0aWxpdGllcyBmb3IgQUxTQSIKLVNVTU1BUllfYWxzYS11dGlscy1hY29ubmVjdCAgICAgPSAiQUxTQSBzZXF1ZW5jZXIgY29ubmVjdGlvbiBtYW5hZ2VyIgotU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFuZXQgICAgICA9ICJOZXR3b3JrIGNsaWVudC9zZXJ2ZXIgZm9yIEFMU0Egc2VxdWVuY2VyIgotU1VNTUFSWV9hbHNhLXV0aWxzLWllY3NldCAgICAgICA9ICJBTFNBIHV0aWxpdHkgZm9yIHNldHRpbmcvc2hvd2luZyBJRUM5NTggKFMvUERJRikgc3RhdHVzIGJpdHMiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgID0gIlNhdmVzL3Jlc3RvcmVzIEFMU0Etc2V0dGluZ3MgaW4gL2V0Yy9hc291bmQuc3RhdGUiCi1TVU1NQVJZX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgID0gIlNob3dzIHRoZSBldmVudHMgcmVjZWl2ZWQgYXQgYW4gQUxTQSBzZXF1ZW5jZXIgcG9ydCIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhbG9vcCAgICAgPSAiQUxTQSBQQ00gbG9vcGJhY2sgdXRpbGl0eSIKLVNVTU1BUllfYWxzYS11dGlscy1hbHNhdWNtICAgICAgPSAiQUxTQSBVc2UgQ2FzZSBNYW5hZ2VyIgotCi1SUkVDT01NRU5EU19hbHNhLXV0aWxzLWFsc2FjdGwgPSAiYWxzYS1zdGF0ZXMiCi0KLUFMTE9XX0VNUFRZX2Fsc2EtdXRpbHMgPSAiMSIKLQotZG9faW5zdGFsbCgpIHsKLQlhdXRvdG9vbHNfZG9faW5zdGFsbAotCi0JIyBXZSBkb24ndCBzaGlwIHRoaXMgaGVyZSBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgZGVwZW5kZW5jeSBvbiBiYXNoLgotCSMgU2VlIGFsc2EtdXRpbHMtc2NyaXB0c18ke1BWfS5iYgotCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2Fjb25mCi0Jcm0gJHtEfSR7c2JpbmRpcn0vYWxzYS1pbmZvLnNoCi0Jcm0gLWYgJHtEfSR7c2JpbmRpcn0vYWxzYWJhdC10ZXN0LnNoCi0KLQkjIElmIHVkZXYgaXMgZGlzYWJsZWQsIHdlIHRvbGQgY29uZmlndXJlIHRvIGluc3RhbGwgdGhlIHJ1bGVzCi0JIyBpbiAvdW53YW50ZWQsIHNvIHdlIGNhbiByZW1vdmUgdGhlbSBub3cuIElmIHVkZXYgaXMgZW5hYmxlZCwKLQkjIHRoZW4gL3Vud2FudGVkIHdvbid0IGV4aXN0IGFuZCB0aGlzIHdpbGwgaGF2ZSBubyBlZmZlY3QuCi0Jcm0gLXJmICR7RH0vdW53YW50ZWQKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS44LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9hbHNhL2Fsc2EtdXRpbHNfMS4xLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZkNTRlNQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvYWxzYS9hbHNhLXV0aWxzXzEuMS44LmJiCkBAIC0wLDAgKzEsMTA2IEBACitTVU1NQVJZID0gIkFMU0Egc291bmQgdXRpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5hbHNhLXByb2plY3Qub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYWxzYS1wcm9qZWN0Lm9yZy9tYWluL2luZGV4LnBocC9CdWdfVHJhY2tpbmciCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Fsc2FjdGwvdXRpbHMuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT0yY2U3ZjdiNjczOTQ4N2ZiNzJjNjg5ZDQ2NTIxZjk1OCIKK0RFUEVORFMgPSAiYWxzYS1saWIgbmN1cnNlcyBsaWJzYW1wbGVyYXRlMCIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInVkZXYiCisKKyMgYWxzYWJhdCBjYW4gYmUgYnVpbHQgYWxzbyB3aXRob3V0IGZmdHcgc3VwcG9ydCAod2l0aCByZWR1Y2VkIGZ1bmN0aW9uYWxpdHkpLgorIyBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gYWx3YXlzIGVuYWJsZSBhbHNhYmF0LCBidXQgcHJvdmlkZSBhbiBvcHRpb24gZm9yCisjIGVuYWJsaW5nL2Rpc2FibGluZyBmZnR3LiBUaGUgY29uZmlndXJlIHNjcmlwdCBkb2Vzbid0IHN1cHBvcnQgdGhhdCwgaG93ZXZlcgorIyAoYXQgbGVhc3QgaW4gYW55IG9idmlvdXMgd2F5KSwgc28gZm9yIG5vdyB3ZSBvbmx5IHN1cHBvcnQgYWxzYWJhdCB3aXRoIGZmdHcKKyMgb3Igbm8gYWxzYWJhdCBhdCBhbGwuCitQQUNLQUdFQ09ORklHW2JhdF0gPSAiLS1lbmFibGUtYmF0LC0tZGlzYWJsZS1iYXQsZmZ0d2YiCisKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS13aXRoLXVkZXYtcnVsZXMtZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kLC0td2l0aC11ZGV2LXJ1bGVzLWRpcj0vdW53YW50ZWQvcnVsZXMuZCx1ZGV2IgorUEFDS0FHRUNPTkZJR1ttYW5wYWdlc10gPSAiLS1lbmFibGUteG1sdG8sIC0tZGlzYWJsZS14bWx0bywgeG1sdG8tbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKKworIyBhbHNhLXV0aWxzIHNwZWNpZmllZCBpbiBTUkNfVVJJIGR1ZSB0byBhbHNhLXV0aWxzLXNjcmlwdHMgcmVjaXBlCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmFsc2EtcHJvamVjdC5vcmcvZmlsZXMvcHViL3V0aWxzL2Fsc2EtdXRpbHMtJHtQVn0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI1NGQ2ZjliNDgzMTQ0ODIzZDBmYzBjMjZlOGNlYTAyOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZDliZjUyODkyMmIzODI5YTkxOTEzYjg5YTE4NThjNThhMGIyNDI3MWE3YjVmNTI5OTIzYWE5ZWExMmZhNGNmIgorCisjIE9uIGJ1aWxkIG1hY2hpbmVzIHdpdGggcHl0aG9uLWRvY3V0aWxzIChub3QgcHl0aG9uMy1kb2N1dGlscyAhISkgaW5zdGFsbGVkCisjIHJzdDJtYW4gKG5vdCByc3QybWFuLnB5KSBpcyBkZXRlY3RlZCBhbmQgY29tcGlsZSBmYWlscyB3aXRoCisjIHwgbWFrZVsxXTogKioqIE5vIHJ1bGUgdG8gbWFrZSB0YXJnZXQgJ2Fsc2F1Y20uMScsIG5lZWRlZCBieSAnYWxsLWFtJy4gIFN0b3AuCisjIEF2b2lkIHRoaXMgYnkgZGlzYWJsaW5nIGV4cGljaXRseQorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1yc3QybWFuIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBtYW5wYWdlcworCisjIFRoaXMgYXJlIGFsbCBwYWNrYWdlcyB0aGF0IHdlIG5lZWQgdG8gbWFrZS4gQWxzbywgdGhlIG5vdyBlbXB0eSBhbHNhLXV0aWxzCisjIGlwayBkZXBlbmRzIG9uIHRoZW0uCisKK0FMU0FfVVRJTFNfUEtHUyA9ICJcCisgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnYmF0JywgJ2Fsc2EtdXRpbHMtYWxzYWJhdCcsICcnLCBkKX0gXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYW1peGVyIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2F0cGxnIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLW1pZGkgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYXBsYXkgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYW1peGVyIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFjb25uZWN0IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWllY3NldCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1zcGVha2VydGVzdCBcCisgICAgICAgICAgICAgYWxzYS11dGlscy1hc2VxbmV0IFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFzZXFkdW1wIFwKKyAgICAgICAgICAgICBhbHNhLXV0aWxzLWFsc2FjdGwgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYWxvb3AgXAorICAgICAgICAgICAgIGFsc2EtdXRpbHMtYWxzYXVjbSBcCisgICAgICAgICAgICAiCisKK1BBQ0tBR0VTICs9ICIke0FMU0FfVVRJTFNfUEtHU30iCitSREVQRU5EU18ke1BOfSArPSAiJHtBTFNBX1VUSUxTX1BLR1N9IgorCitGSUxFU18ke1BOfSA9ICIiCitGSUxFU19hbHNhLXV0aWxzLWFsc2FiYXQgICAgID0gIiR7YmluZGlyfS9hbHNhYmF0IgorRklMRVNfYWxzYS11dGlscy1hbHNhdHBsZyAgICA9ICIke2JpbmRpcn0vYWxzYXRwbGciCitGSUxFU19hbHNhLXV0aWxzLWFwbGF5ICAgICAgID0gIiR7YmluZGlyfS9hcGxheSAke2JpbmRpcn0vYXJlY29yZCAke2JpbmRpcn0vYXhmZXIiCitGSUxFU19hbHNhLXV0aWxzLWFtaXhlciAgICAgID0gIiR7YmluZGlyfS9hbWl4ZXIiCitGSUxFU19hbHNhLXV0aWxzLWFsc2FtaXhlciAgID0gIiR7YmluZGlyfS9hbHNhbWl4ZXIiCitGSUxFU19hbHNhLXV0aWxzLXNwZWFrZXJ0ZXN0ID0gIiR7YmluZGlyfS9zcGVha2VyLXRlc3QgJHtkYXRhZGlyfS9zb3VuZHMvYWxzYS8gJHtkYXRhZGlyfS9hbHNhL3NwZWFrZXItdGVzdC8iCitGSUxFU19hbHNhLXV0aWxzLW1pZGkgICAgICAgID0gIiR7YmluZGlyfS9hcGxheW1pZGkgJHtiaW5kaXJ9L2FyZWNvcmRtaWRpICR7YmluZGlyfS9hbWlkaSIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWNvbm5lY3QgICAgPSAiJHtiaW5kaXJ9L2Fjb25uZWN0IgorRklMRVNfYWxzYS11dGlscy1hc2VxbmV0ICAgICA9ICIke2JpbmRpcn0vYXNlcW5ldCIKK0ZJTEVTX2Fsc2EtdXRpbHMtaWVjc2V0ICAgICAgPSAiJHtiaW5kaXJ9L2llY3NldCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgPSAiJHtzYmluZGlyfS9hbHNhY3RsICovdWRldi9ydWxlcy5kLzkwLWFsc2EtcmVzdG9yZS5ydWxlcyAqLyovdWRldi9ydWxlcy5kLzkwLWFsc2EtcmVzdG9yZS5ydWxlcyAke3N5c3RlbWRfdW5pdGRpcn0gJHtsb2NhbHN0YXRlZGlyfS9saWIvYWxzYSAke2RhdGFkaXJ9L2Fsc2EvaW5pdC8iCitGSUxFU19hbHNhLXV0aWxzLWFzZXFkdW1wICAgID0gIiR7YmluZGlyfS9hc2VxZHVtcCIKK0ZJTEVTX2Fsc2EtdXRpbHMtYWxzYWxvb3AgICAgPSAiJHtiaW5kaXJ9L2Fsc2Fsb29wIgorRklMRVNfYWxzYS11dGlscy1hbHNhdWNtICAgICA9ICIke2JpbmRpcn0vYWxzYXVjbSAqL3VkZXYvcnVsZXMuZC84OS1hbHNhLXVjbS5ydWxlcyAqLyovdWRldi9ydWxlcy5kLzg5LWFsc2EtdWNtLnJ1bGVzIgorCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWJhdCAgICAgID0gIkNvbW1hbmQtbGluZSBzb3VuZCB0ZXN0ZXIgZm9yIEFMU0Egc291bmQgY2FyZCBkcml2ZXIiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYXRwbGcgICAgID0gIkNvbnZlcnRzIHRvcG9sb2d5IHRleHQgZmlsZXMgaW50byBiaW5hcnkgZm9ybWF0IGZvciBrZXJuZWwiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYXBsYXkgICAgICAgID0gIlBsYXkgKGFuZCByZWNvcmQpIHNvdW5kIGZpbGVzIHVzaW5nIEFMU0EiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYW1peGVyICAgICAgID0gIkNvbW1hbmQtbGluZSBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhbWl4ZXIgICAgPSAibmN1cnNlcy1iYXNlZCBjb250cm9sIGZvciBBTFNBIG1peGVyIGFuZCBzZXR0aW5ncyIKK1NVTU1BUllfYWxzYS11dGlscy1zcGVha2VydGVzdCAgPSAiQUxTQSBzdXJyb3VuZCBzcGVha2VyIHRlc3QgdXRpbGl0eSIKK1NVTU1BUllfYWxzYS11dGlscy1taWRpICAgICAgICAgPSAiTWlzY2VsbGFuZW91cyBNSURJIHV0aWxpdGllcyBmb3IgQUxTQSIKK1NVTU1BUllfYWxzYS11dGlscy1hY29ubmVjdCAgICAgPSAiQUxTQSBzZXF1ZW5jZXIgY29ubmVjdGlvbiBtYW5hZ2VyIgorU1VNTUFSWV9hbHNhLXV0aWxzLWFzZXFuZXQgICAgICA9ICJOZXR3b3JrIGNsaWVudC9zZXJ2ZXIgZm9yIEFMU0Egc2VxdWVuY2VyIgorU1VNTUFSWV9hbHNhLXV0aWxzLWllY3NldCAgICAgICA9ICJBTFNBIHV0aWxpdHkgZm9yIHNldHRpbmcvc2hvd2luZyBJRUM5NTggKFMvUERJRikgc3RhdHVzIGJpdHMiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYWxzYWN0bCAgICAgID0gIlNhdmVzL3Jlc3RvcmVzIEFMU0Etc2V0dGluZ3MgaW4gL2V0Yy9hc291bmQuc3RhdGUiCitTVU1NQVJZX2Fsc2EtdXRpbHMtYXNlcWR1bXAgICAgID0gIlNob3dzIHRoZSBldmVudHMgcmVjZWl2ZWQgYXQgYW4gQUxTQSBzZXF1ZW5jZXIgcG9ydCIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhbG9vcCAgICAgPSAiQUxTQSBQQ00gbG9vcGJhY2sgdXRpbGl0eSIKK1NVTU1BUllfYWxzYS11dGlscy1hbHNhdWNtICAgICAgPSAiQUxTQSBVc2UgQ2FzZSBNYW5hZ2VyIgorCitSUkVDT01NRU5EU19hbHNhLXV0aWxzLWFsc2FjdGwgPSAiYWxzYS1zdGF0ZXMiCisKK0FMTE9XX0VNUFRZX2Fsc2EtdXRpbHMgPSAiMSIKKworZG9faW5zdGFsbCgpIHsKKwlhdXRvdG9vbHNfZG9faW5zdGFsbAorCisJIyBXZSBkb24ndCBzaGlwIHRoaXMgaGVyZSBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgZGVwZW5kZW5jeSBvbiBiYXNoLgorCSMgU2VlIGFsc2EtdXRpbHMtc2NyaXB0c18ke1BWfS5iYgorCXJtICR7RH0ke3NiaW5kaXJ9L2Fsc2Fjb25mCisJcm0gJHtEfSR7c2JpbmRpcn0vYWxzYS1pbmZvLnNoCisJcm0gLWYgJHtEfSR7c2JpbmRpcn0vYWxzYWJhdC10ZXN0LnNoCisKKwkjIElmIHVkZXYgaXMgZGlzYWJsZWQsIHdlIHRvbGQgY29uZmlndXJlIHRvIGluc3RhbGwgdGhlIHJ1bGVzCisJIyBpbiAvdW53YW50ZWQsIHNvIHdlIGNhbiByZW1vdmUgdGhlbSBub3cuIElmIHVkZXYgaXMgZW5hYmxlZCwKKwkjIHRoZW4gL3Vud2FudGVkIHdvbid0IGV4aXN0IGFuZCB0aGlzIHdpbGwgaGF2ZSBubyBlZmZlY3QuCisJcm0gLXJmICR7RH0vdW53YW50ZWQKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZy9DVkUtMjAxOC0xNTgyMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZy9DVkUtMjAxOC0xNTgyMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Q1ODY4YS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWcvQ1ZFLTIwMTgtMTU4MjIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDZiNjdkN2YwNTkxOGY3YTFlZThmYzZmZjIxMzU1ZDdlODczNmFhMTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotRGF0ZTogU2F0LCAyOCBKdWwgMjAxOCAxNTowMzo1MCArMDIwMAotU3ViamVjdDogW1BBVENIXSBhdmZvcm1hdC9mbHZlbmM6IENoZWNrIGF1ZGlvIHBhY2tldCBzaXplCi0KLUZpeGVzOiBBc3NlcnRpb24gZmFpbHVyZQotRml4ZXM6IGFzc2VydF9mbHZlbmMuYzo5NDFfMS5zd2YKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBlZy9GRm1wZWcvY29tbWl0LzZiNjdkN2YwNTkxOGY3YTFlZThmYzZmZjIxMzU1ZDdlODczNmFhMTBdCi1DVkU6IENWRS0yMDE4LTE1ODIyCi0KLUZvdW5kLWJ5OiAjQ0hFTiBIT05HWFUjIDxIQ0hFTjAxN0BlLm50dS5lZHUuc2c+Ci1TaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIE5pZWRlcm1heWVyIDxtaWNoYWVsQG5pZWRlcm1heWVyLmNjPgotU2lnbmVkLW9mZi1ieTogTWluZ2xpIFl1IDxNaW5nbGkuWXVAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYmF2Zm9ybWF0L2ZsdmVuYy5jIHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKLWluZGV4IDFjNTUyYTNlNmIuLmU0ODYzZjFmYzcgMTAwNjQ0Ci0tLS0gYS9saWJhdmZvcm1hdC9mbHZlbmMuYwotKysrIGIvbGliYXZmb3JtYXQvZmx2ZW5jLmMKLUBAIC04ODMsNiArODgzLDExIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCi0gICAgIGludCBmbGFncyA9IC0xLCBmbGFnc19zaXplLCByZXQ7Ci0gICAgIGludDY0X3QgY3VyX29mZnNldCA9IGF2aW9fdGVsbChwYik7Ci0gCi0rICAgIGlmIChwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX0FVRElPICYmICFwa3QtPnNpemUpIHsKLSsgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIkVtcHR5IGF1ZGlvIFBhY2tldFxuIik7Ci0rICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwotKyAgICB9Ci0rCi0gICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNkYgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZBIHx8Ci0gICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNiAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMpCi0gICAgICAgICBmbGFnc19zaXplID0gMjsKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZmZtcGVnL2ZmbXBlZ180LjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2QxYWYwNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNTggKzAsMCBAQAotU1VNTUFSWSA9ICJBIGNvbXBsZXRlLCBjcm9zcy1wbGF0Zm9ybSBzb2x1dGlvbiB0byByZWNvcmQsIGNvbnZlcnQgYW5kIHN0cmVhbSBhdWRpbyBhbmQgdmlkZW8uIgotREVTQ1JJUFRJT04gPSAiRkZtcGVnIGlzIHRoZSBsZWFkaW5nIG11bHRpbWVkaWEgZnJhbWV3b3JrLCBhYmxlIHRvIGRlY29kZSwgZW5jb2RlLCB0cmFuc2NvZGUsIFwKLSAgICAgICAgICAgICAgIG11eCwgZGVtdXgsIHN0cmVhbSwgZmlsdGVyIGFuZCBwbGF5IHByZXR0eSBtdWNoIGFueXRoaW5nIHRoYXQgaHVtYW5zIGFuZCBtYWNoaW5lcyBcCi0gICAgICAgICAgICAgICBoYXZlIGNyZWF0ZWQuIEl0IHN1cHBvcnRzIHRoZSBtb3N0IG9ic2N1cmUgYW5jaWVudCBmb3JtYXRzIHVwIHRvIHRoZSBjdXR0aW5nIGVkZ2UuIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93d3cuZmZtcGVnLm9yZy8iCi1TRUNUSU9OID0gImxpYnMiCi0KLUxJQ0VOU0UgPSAiQlNEICYgR1BMdjIrICYgTEdQTHYyLjErICYgTUlUIgotTElDRU5TRV8ke1BOfSA9ICJHUEx2MisiCi1MSUNFTlNFX2xpYmF2Y29kZWMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2ZGV2aWNlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJhdmZpbHRlciA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGliYXZmb3JtYXQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2cmVzYW1wbGUgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCi1MSUNFTlNFX2xpYmF2dXRpbCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKLUxJQ0VOU0VfbGlicG9zdHByb2MgPSAiR1BMdjIrIgotTElDRU5TRV9saWJzd3Jlc2FtcGxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9saWJzd3NjYWxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgotTElDRU5TRV9GTEFHUyA9ICJjb21tZXJjaWFsIgotCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkdQTHYyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkdQTHYzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEx2Mi4xO21kNT1iZDdhNDQzMzIwYWY4YzgxMmU0YzE4ZDFiNzlkZjAwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEx2MzttZDU9ZTZhNjAwZmQ1ZTFkOWNiZGUyZDk4MzY4MDIzM2FkMDIiCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly93d3cuZmZtcGVnLm9yZy9yZWxlYXNlcy8ke0JQfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vbWlwczY0X2NwdV9kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTU4MjIucGF0Y2ggXAotICAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYWUwYmZkZjgwOTMwNmEyMTJiNGYwZTZlYjhkMWM3NWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTk1YzBjYzllYjk5MGU5NDAzMWQyMTgzZjJlNmU0NDRjYzYxYzk5ZjZmMTgyZDE1NzVjNDMzZDYyYWZiMmY5NyIKLQotIyBCdWlsZCBmYWlscyB3aGVuIHRodW1iIGlzIGVuYWJsZWQ6IGh0dHBzOi8vYnVnemlsbGEueW9jdG9wcm9qZWN0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxNwotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjYgPSAiYXJtIgotCi0jIFNob3VsZCBiZSBBUEkgY29tcGF0aWJsZSB3aXRoIGxpYmF2ICh3aGljaCB3YXMgYSBmb3JrIG9mIGZmbXBlZykKLSMgbGlicG9zdHByb2Mgd2FzIHByZXZpb3VzbHkgcGFja2FnZWQgZnJvbSBhIHNlcGFyYXRlIHJlY2lwZQotUFJPVklERVMgPSAibGliYXYgbGlicG9zdHByb2MiCi0KLURFUEVORFMgPSAiYWxzYS1saWIgemxpYiBsaWJvZ2cgbmFzbS1uYXRpdmUiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFQ09ORklHID8/PSAiYXZkZXZpY2UgYXZmaWx0ZXIgYXZjb2RlYyBhdmZvcm1hdCBzd3Jlc2FtcGxlIHN3c2NhbGUgcG9zdHByb2MgXAotICAgICAgICAgICAgICAgICAgIGJ6bGliIGdwbCBsem1hIHRoZW9yYSB4MjY0IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4dicsICcnLCBkKX0iCi0KLSMgbGlicmFyaWVzIHRvIGJ1aWxkIGluIGFkZGl0aW9uIHRvIGF2dXRpbAotUEFDS0FHRUNPTkZJR1thdmRldmljZV0gPSAiLS1lbmFibGUtYXZkZXZpY2UsLS1kaXNhYmxlLWF2ZGV2aWNlIgotUEFDS0FHRUNPTkZJR1thdmZpbHRlcl0gPSAiLS1lbmFibGUtYXZmaWx0ZXIsLS1kaXNhYmxlLWF2ZmlsdGVyIgotUEFDS0FHRUNPTkZJR1thdmNvZGVjXSA9ICItLWVuYWJsZS1hdmNvZGVjLC0tZGlzYWJsZS1hdmNvZGVjIgotUEFDS0FHRUNPTkZJR1thdmZvcm1hdF0gPSAiLS1lbmFibGUtYXZmb3JtYXQsLS1kaXNhYmxlLWF2Zm9ybWF0IgotUEFDS0FHRUNPTkZJR1tzd3Jlc2FtcGxlXSA9ICItLWVuYWJsZS1zd3Jlc2FtcGxlLC0tZGlzYWJsZS1zd3Jlc2FtcGxlIgotUEFDS0FHRUNPTkZJR1tzd3NjYWxlXSA9ICItLWVuYWJsZS1zd3NjYWxlLC0tZGlzYWJsZS1zd3NjYWxlIgotUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLS1lbmFibGUtcG9zdHByb2MsLS1kaXNhYmxlLXBvc3Rwcm9jIgotUEFDS0FHRUNPTkZJR1thdnJlc2FtcGxlXSA9ICItLWVuYWJsZS1hdnJlc2FtcGxlLC0tZGlzYWJsZS1hdnJlc2FtcGxlIgotCi0jIGZlYXR1cmVzIHRvIHN1cHBvcnQKLVBBQ0tBR0VDT05GSUdbYnpsaWJdID0gIi0tZW5hYmxlLWJ6bGliLC0tZGlzYWJsZS1iemxpYixiemlwMiIKLVBBQ0tBR0VDT05GSUdbZ3BsXSA9ICItLWVuYWJsZS1ncGwsLS1kaXNhYmxlLWdwbCIKLVBBQ0tBR0VDT05GSUdbZ3NtXSA9ICItLWVuYWJsZS1saWJnc20sLS1kaXNhYmxlLWxpYmdzbSxsaWJnc20iCi1QQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWluZGV2PWphY2ssLS1kaXNhYmxlLWluZGV2PWphY2ssamFjayIKLVBBQ0tBR0VDT05GSUdbbGlidm9yYmlzXSA9ICItLWVuYWJsZS1saWJ2b3JiaXMsLS1kaXNhYmxlLWxpYnZvcmJpcyxsaWJ2b3JiaXMiCi1QQUNLQUdFQ09ORklHW2x6bWFdID0gIi0tZW5hYmxlLWx6bWEsLS1kaXNhYmxlLWx6bWEseHoiCi1QQUNLQUdFQ09ORklHW21wM2xhbWVdID0gIi0tZW5hYmxlLWxpYm1wM2xhbWUsLS1kaXNhYmxlLWxpYm1wM2xhbWUsbGFtZSIKLVBBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1tzZGwyXSA9ICItLWVuYWJsZS1zZGwyLC0tZGlzYWJsZS1zZGwyLHZpcnR1YWwvbGlic2RsMiIKLVBBQ0tBR0VDT05GSUdbc3BlZXhdID0gIi0tZW5hYmxlLWxpYnNwZWV4LC0tZGlzYWJsZS1saWJzcGVleCxzcGVleCIKLVBBQ0tBR0VDT05GSUdbdGhlb3JhXSA9ICItLWVuYWJsZS1saWJ0aGVvcmEsLS1kaXNhYmxlLWxpYnRoZW9yYSxsaWJ0aGVvcmEiCi1QQUNLQUdFQ09ORklHW3ZhYXBpXSA9ICItLWVuYWJsZS12YWFwaSwtLWRpc2FibGUtdmFhcGksbGlidmEiCi1QQUNLQUdFQ09ORklHW3ZkcGF1XSA9ICItLWVuYWJsZS12ZHBhdSwtLWRpc2FibGUtdmRwYXUsbGlidmRwYXUiCi1QQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtbGlidnB4LC0tZGlzYWJsZS1saWJ2cHgsbGlidnB4IgotUEFDS0FHRUNPTkZJR1t4MjY0XSA9ICItLWVuYWJsZS1saWJ4MjY0LC0tZGlzYWJsZS1saWJ4MjY0LHgyNjQiCi1QQUNLQUdFQ09ORklHW3h2XSA9ICItLWVuYWJsZS1vdXRkZXY9eHYsLS1kaXNhYmxlLW91dGRldj14dixsaWJ4diIKLQotIyBDaGVjayBjb2RlY3MgdGhhdCByZXF1aXJlIC0tZW5hYmxlLW5vbmZyZWUKLVVTRV9OT05GUkVFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnUEFDS0FHRUNPTkZJRycsIFsgJ29wZW5zc2wnIF0sICd5ZXMnLCAnJywgZCl9IgotCi1kZWYgY3B1KGQpOgotICAgIGZvciBhcmcgaW4gKGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpIG9yICcnKS5zcGxpdCgpOgotICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLW1jcHU9Jyk6Ci0gICAgICAgICAgICByZXR1cm4gYXJnWzY6XQotICAgIHJldHVybiAnZ2VuZXJpYycKLQotRVhUUkFfT0VDT05GID0gIiBcCi0gICAgLS1kaXNhYmxlLXN0cmlwcGluZyBcCi0gICAgLS1lbmFibGUtcGljIFwKLSAgICAtLWVuYWJsZS1zaGFyZWQgXAotICAgIC0tZW5hYmxlLXB0aHJlYWRzIFwKLSAgICAtLWRpc2FibGUtbGlieGNiIFwKLSAgICAtLWRpc2FibGUtbGlieGNiLXNobSBcCi0gICAgLS1kaXNhYmxlLWxpYnhjYi14Zml4ZXMgXAotICAgIC0tZGlzYWJsZS1saWJ4Y2Itc2hhcGUgXAotICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdVU0VfTk9ORlJFRScsICd5ZXMnLCAnLS1lbmFibGUtbm9uZnJlZScsICcnLCBkKX0gXAotICAgIFwKLSAgICAtLWNyb3NzLXByZWZpeD0ke1RBUkdFVF9QUkVGSVh9IFwKLSAgICBcCi0gICAgLS1sZD0iJHtDQ0xEfSIgXAotICAgIC0tY2M9IiR7Q0N9IiBcCi0gICAgLS1jeHg9IiR7Q1hYfSIgXAotICAgIC0tYXJjaD0ke1RBUkdFVF9BUkNIfSBcCi0gICAgLS10YXJnZXQtb3M9ImxpbnV4IiBcCi0gICAgLS1lbmFibGUtY3Jvc3MtY29tcGlsZSBcCi0gICAgLS1leHRyYS1jZmxhZ3M9IiR7VEFSR0VUX0NGTEFHU30gJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKLSAgICAtLWV4dHJhLWxkZmxhZ3M9IiR7VEFSR0VUX0xERkxBR1N9IiBcCi0gICAgLS1zeXNyb290PSIke1NUQUdJTkdfRElSX1RBUkdFVH0iIFwKLSAgICAtLWVuYWJsZS1oYXJkY29kZWQtdGFibGVzIFwKLSAgICAke0VYVFJBX0ZGQ09ORn0gXAotICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCi0gICAgLS1zaGxpYmRpcj0ke2xpYmRpcn0gXAotICAgIC0tZGF0YWRpcj0ke2RhdGFkaXJ9L2ZmbXBlZyBcCi0gICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0FWQUlMVFVORVMnLCAnbWlwczMycjInLCAnJywgJy0tZGlzYWJsZS1taXBzZHNwIC0tZGlzYWJsZS1taXBzZHNwcjInLCBkKX0gXAotICAgIC0tY3B1PSR7QGNwdShkKX0gXAotICAgIC0tcGtnLWNvbmZpZz1wa2ctY29uZmlnIFwKLSIKLQotRVhUUkFfT0VDT05GX2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIC0tZGlzYWJsZS1hc20iCi0jIGdvbGQgY3Jhc2hlcyBvbiB4ODYsIGFub3RoZXIgc29sdXRpb24gaXMgdG8gLS1kaXNhYmxlLWFzbSBidXQgdGhhdHMgbW9yZSBoYWNreQotIyBsZC5nb2xkOiBpbnRlcm5hbCBlcnJvciBpbiByZWxvY2F0ZV9zZWN0aW9uLCBhdCAuLi8uLi9nb2xkL2kzODYuY2M6MzY4NAotCi1MREZMQUdTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKLQotZG9fY29uZmlndXJlKCkgewotICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQotfQotCi1QQUNLQUdFUyA9KyAibGliYXZjb2RlYyBcCi0gICAgICAgICAgICAgbGliYXZkZXZpY2UgXAotICAgICAgICAgICAgIGxpYmF2ZmlsdGVyIFwKLSAgICAgICAgICAgICBsaWJhdmZvcm1hdCBcCi0gICAgICAgICAgICAgbGliYXZyZXNhbXBsZSBcCi0gICAgICAgICAgICAgbGliYXZ1dGlsIFwKLSAgICAgICAgICAgICBsaWJwb3N0cHJvYyBcCi0gICAgICAgICAgICAgbGlic3dyZXNhbXBsZSBcCi0gICAgICAgICAgICAgbGlic3dzY2FsZSIKLQotRklMRVNfbGliYXZjb2RlYyA9ICIke2xpYmRpcn0vbGliYXZjb2RlYyR7U09MSUJTfSIKLUZJTEVTX2xpYmF2ZGV2aWNlID0gIiR7bGliZGlyfS9saWJhdmRldmljZSR7U09MSUJTfSIKLUZJTEVTX2xpYmF2ZmlsdGVyID0gIiR7bGliZGlyfS9saWJhdmZpbHRlciR7U09MSUJTfSIKLUZJTEVTX2xpYmF2Zm9ybWF0ID0gIiR7bGliZGlyfS9saWJhdmZvcm1hdCR7U09MSUJTfSIKLUZJTEVTX2xpYmF2cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYmF2cmVzYW1wbGUke1NPTElCU30iCi1GSUxFU19saWJhdnV0aWwgPSAiJHtsaWJkaXJ9L2xpYmF2dXRpbCR7U09MSUJTfSIKLUZJTEVTX2xpYnBvc3Rwcm9jID0gIiR7bGliZGlyfS9saWJwb3N0cHJvYyR7U09MSUJTfSIKLUZJTEVTX2xpYnN3cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYnN3cmVzYW1wbGUke1NPTElCU30iCi1GSUxFU19saWJzd3NjYWxlID0gIiR7bGliZGlyfS9saWJzd3NjYWxlJHtTT0xJQlN9IgotCi0jIGZmbXBlZyBkaXNhYmxlcyBQSUMgb24gc29tZSBwbGF0Zm9ybXMgKGUuZy4geDg2LTMyKQotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmNvZGVjID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZGV2aWNlID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZmlsdGVyID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2Zm9ybWF0ID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2dXRpbCA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnJlc2FtcGxlID0gInRleHRyZWwiCi1JTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3c2NhbGUgPSAidGV4dHJlbCIKLUlOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlic3dyZXNhbXBsZSA9ICJ0ZXh0cmVsIgotSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJwb3N0cHJvYyA9ICJ0ZXh0cmVsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9mZm1wZWcvZmZtcGVnXzQuMS4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0OWIzZDAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2ZmbXBlZy9mZm1wZWdfNC4xLjEuYmIKQEAgLTAsMCArMSwxNTcgQEAKK1NVTU1BUlkgPSAiQSBjb21wbGV0ZSwgY3Jvc3MtcGxhdGZvcm0gc29sdXRpb24gdG8gcmVjb3JkLCBjb252ZXJ0IGFuZCBzdHJlYW0gYXVkaW8gYW5kIHZpZGVvLiIKK0RFU0NSSVBUSU9OID0gIkZGbXBlZyBpcyB0aGUgbGVhZGluZyBtdWx0aW1lZGlhIGZyYW1ld29yaywgYWJsZSB0byBkZWNvZGUsIGVuY29kZSwgdHJhbnNjb2RlLCBcCisgICAgICAgICAgICAgICBtdXgsIGRlbXV4LCBzdHJlYW0sIGZpbHRlciBhbmQgcGxheSBwcmV0dHkgbXVjaCBhbnl0aGluZyB0aGF0IGh1bWFucyBhbmQgbWFjaGluZXMgXAorICAgICAgICAgICAgICAgaGF2ZSBjcmVhdGVkLiBJdCBzdXBwb3J0cyB0aGUgbW9zdCBvYnNjdXJlIGFuY2llbnQgZm9ybWF0cyB1cCB0byB0aGUgY3V0dGluZyBlZGdlLiIKK0hPTUVQQUdFID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRCAmIEdQTHYyKyAmIExHUEx2Mi4xKyAmIE1JVCIKK0xJQ0VOU0VfJHtQTn0gPSAiR1BMdjIrIgorTElDRU5TRV9saWJhdmNvZGVjID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdmRldmljZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGliYXZmaWx0ZXIgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYmF2Zm9ybWF0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdnJlc2FtcGxlID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dwbCcsICdHUEx2MisnLCAnTEdQTHYyLjErJywgZCl9IgorTElDRU5TRV9saWJhdnV0aWwgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ3BsJywgJ0dQTHYyKycsICdMR1BMdjIuMSsnLCBkKX0iCitMSUNFTlNFX2xpYnBvc3Rwcm9jID0gIkdQTHYyKyIKK0xJQ0VOU0VfbGlic3dyZXNhbXBsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfbGlic3dzY2FsZSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdncGwnLCAnR1BMdjIrJywgJ0xHUEx2Mi4xKycsIGQpfSIKK0xJQ0VOU0VfRkxBR1MgPSAiY29tbWVyY2lhbCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5HUEx2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5HUEx2MzttZDU9ZDMyMjM5YmNiNjczNDYzYWI4NzRlODBkNDdmYWU1MDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjIuMTttZDU9YmQ3YTQ0MzMyMGFmOGM4MTJlNGMxOGQxYjc5ZGYwMDQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MR1BMdjM7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIgorCitTUkNfVVJJID0gImh0dHBzOi8vd3d3LmZmbXBlZy5vcmcvcmVsZWFzZXMvJHtCUH0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL21pcHM2NF9jcHVfZGV0ZWN0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjcyMGZjODQ2MTdhMmMzOGFlYWU3OWFmZjM2ODlhNTY3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM3Mzc0OTgyNGRmZDMzNGQ4NGU1NWRmZjQwNjcyOWVkZmQxNjA2NTc1ZWU0NGRkNDg1ZDk3ZDQ1ZWE0ZDJkODYiCisKKyMgQnVpbGQgZmFpbHMgd2hlbiB0aHVtYiBpcyBlbmFibGVkOiBodHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTcKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY2ID0gImFybSIKKworIyBTaG91bGQgYmUgQVBJIGNvbXBhdGlibGUgd2l0aCBsaWJhdiAod2hpY2ggd2FzIGEgZm9yayBvZiBmZm1wZWcpCisjIGxpYnBvc3Rwcm9jIHdhcyBwcmV2aW91c2x5IHBhY2thZ2VkIGZyb20gYSBzZXBhcmF0ZSByZWNpcGUKK1BST1ZJREVTID0gImxpYmF2IGxpYnBvc3Rwcm9jIgorCitERVBFTkRTID0gImFsc2EtbGliIHpsaWIgbGlib2dnIG5hc20tbmF0aXZlIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gImF2ZGV2aWNlIGF2ZmlsdGVyIGF2Y29kZWMgYXZmb3JtYXQgc3dyZXNhbXBsZSBzd3NjYWxlIHBvc3Rwcm9jIGF2cmVzYW1wbGUgXAorICAgICAgICAgICAgICAgICAgIGJ6bGliIGdwbCBsem1hIHRoZW9yYSB4MjY0IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4dicsICcnLCBkKX0iCisKKyMgbGlicmFyaWVzIHRvIGJ1aWxkIGluIGFkZGl0aW9uIHRvIGF2dXRpbAorUEFDS0FHRUNPTkZJR1thdmRldmljZV0gPSAiLS1lbmFibGUtYXZkZXZpY2UsLS1kaXNhYmxlLWF2ZGV2aWNlIgorUEFDS0FHRUNPTkZJR1thdmZpbHRlcl0gPSAiLS1lbmFibGUtYXZmaWx0ZXIsLS1kaXNhYmxlLWF2ZmlsdGVyIgorUEFDS0FHRUNPTkZJR1thdmNvZGVjXSA9ICItLWVuYWJsZS1hdmNvZGVjLC0tZGlzYWJsZS1hdmNvZGVjIgorUEFDS0FHRUNPTkZJR1thdmZvcm1hdF0gPSAiLS1lbmFibGUtYXZmb3JtYXQsLS1kaXNhYmxlLWF2Zm9ybWF0IgorUEFDS0FHRUNPTkZJR1tzd3Jlc2FtcGxlXSA9ICItLWVuYWJsZS1zd3Jlc2FtcGxlLC0tZGlzYWJsZS1zd3Jlc2FtcGxlIgorUEFDS0FHRUNPTkZJR1tzd3NjYWxlXSA9ICItLWVuYWJsZS1zd3NjYWxlLC0tZGlzYWJsZS1zd3NjYWxlIgorUEFDS0FHRUNPTkZJR1twb3N0cHJvY10gPSAiLS1lbmFibGUtcG9zdHByb2MsLS1kaXNhYmxlLXBvc3Rwcm9jIgorUEFDS0FHRUNPTkZJR1thdnJlc2FtcGxlXSA9ICItLWVuYWJsZS1hdnJlc2FtcGxlLC0tZGlzYWJsZS1hdnJlc2FtcGxlIgorCisjIGZlYXR1cmVzIHRvIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUdbYnpsaWJdID0gIi0tZW5hYmxlLWJ6bGliLC0tZGlzYWJsZS1iemxpYixiemlwMiIKK1BBQ0tBR0VDT05GSUdbZ3BsXSA9ICItLWVuYWJsZS1ncGwsLS1kaXNhYmxlLWdwbCIKK1BBQ0tBR0VDT05GSUdbZ3NtXSA9ICItLWVuYWJsZS1saWJnc20sLS1kaXNhYmxlLWxpYmdzbSxsaWJnc20iCitQQUNLQUdFQ09ORklHW2phY2tdID0gIi0tZW5hYmxlLWluZGV2PWphY2ssLS1kaXNhYmxlLWluZGV2PWphY2ssamFjayIKK1BBQ0tBR0VDT05GSUdbbGlidm9yYmlzXSA9ICItLWVuYWJsZS1saWJ2b3JiaXMsLS1kaXNhYmxlLWxpYnZvcmJpcyxsaWJ2b3JiaXMiCitQQUNLQUdFQ09ORklHW2x6bWFdID0gIi0tZW5hYmxlLWx6bWEsLS1kaXNhYmxlLWx6bWEseHoiCitQQUNLQUdFQ09ORklHW21wM2xhbWVdID0gIi0tZW5hYmxlLWxpYm1wM2xhbWUsLS1kaXNhYmxlLWxpYm1wM2xhbWUsbGFtZSIKK1BBQ0tBR0VDT05GSUdbb3BlbnNzbF0gPSAiLS1lbmFibGUtb3BlbnNzbCwtLWRpc2FibGUtb3BlbnNzbCxvcGVuc3NsIgorUEFDS0FHRUNPTkZJR1tzZGwyXSA9ICItLWVuYWJsZS1zZGwyLC0tZGlzYWJsZS1zZGwyLHZpcnR1YWwvbGlic2RsMiIKK1BBQ0tBR0VDT05GSUdbc3BlZXhdID0gIi0tZW5hYmxlLWxpYnNwZWV4LC0tZGlzYWJsZS1saWJzcGVleCxzcGVleCIKK1BBQ0tBR0VDT05GSUdbdGhlb3JhXSA9ICItLWVuYWJsZS1saWJ0aGVvcmEsLS1kaXNhYmxlLWxpYnRoZW9yYSxsaWJ0aGVvcmEiCitQQUNLQUdFQ09ORklHW3ZhYXBpXSA9ICItLWVuYWJsZS12YWFwaSwtLWRpc2FibGUtdmFhcGksbGlidmEiCitQQUNLQUdFQ09ORklHW3ZkcGF1XSA9ICItLWVuYWJsZS12ZHBhdSwtLWRpc2FibGUtdmRwYXUsbGlidmRwYXUiCitQQUNLQUdFQ09ORklHW3ZweF0gPSAiLS1lbmFibGUtbGlidnB4LC0tZGlzYWJsZS1saWJ2cHgsbGlidnB4IgorUEFDS0FHRUNPTkZJR1t4MjY0XSA9ICItLWVuYWJsZS1saWJ4MjY0LC0tZGlzYWJsZS1saWJ4MjY0LHgyNjQiCitQQUNLQUdFQ09ORklHW3h2XSA9ICItLWVuYWJsZS1vdXRkZXY9eHYsLS1kaXNhYmxlLW91dGRldj14dixsaWJ4diIKKworIyBDaGVjayBjb2RlY3MgdGhhdCByZXF1aXJlIC0tZW5hYmxlLW5vbmZyZWUKK1VTRV9OT05GUkVFID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgnUEFDS0FHRUNPTkZJRycsIFsgJ29wZW5zc2wnIF0sICd5ZXMnLCAnJywgZCl9IgorCitkZWYgY3B1KGQpOgorICAgIGZvciBhcmcgaW4gKGQuZ2V0VmFyKCdUVU5FX0NDQVJHUycpIG9yICcnKS5zcGxpdCgpOgorICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLW1jcHU9Jyk6CisgICAgICAgICAgICByZXR1cm4gYXJnWzY6XQorICAgIHJldHVybiAnZ2VuZXJpYycKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLXN0cmlwcGluZyBcCisgICAgLS1lbmFibGUtcGljIFwKKyAgICAtLWVuYWJsZS1zaGFyZWQgXAorICAgIC0tZW5hYmxlLXB0aHJlYWRzIFwKKyAgICAtLWRpc2FibGUtbGlieGNiIFwKKyAgICAtLWRpc2FibGUtbGlieGNiLXNobSBcCisgICAgLS1kaXNhYmxlLWxpYnhjYi14Zml4ZXMgXAorICAgIC0tZGlzYWJsZS1saWJ4Y2Itc2hhcGUgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdVU0VfTk9ORlJFRScsICd5ZXMnLCAnLS1lbmFibGUtbm9uZnJlZScsICcnLCBkKX0gXAorICAgIFwKKyAgICAtLWNyb3NzLXByZWZpeD0ke1RBUkdFVF9QUkVGSVh9IFwKKyAgICBcCisgICAgLS1sZD0iJHtDQ0xEfSIgXAorICAgIC0tY2M9IiR7Q0N9IiBcCisgICAgLS1jeHg9IiR7Q1hYfSIgXAorICAgIC0tYXJjaD0ke1RBUkdFVF9BUkNIfSBcCisgICAgLS10YXJnZXQtb3M9ImxpbnV4IiBcCisgICAgLS1lbmFibGUtY3Jvc3MtY29tcGlsZSBcCisgICAgLS1leHRyYS1jZmxhZ3M9IiR7VEFSR0VUX0NGTEFHU30gJHtIT1NUX0NDX0FSQ0h9JHtUT09MQ0hBSU5fT1BUSU9OU30iIFwKKyAgICAtLWV4dHJhLWxkZmxhZ3M9IiR7VEFSR0VUX0xERkxBR1N9IiBcCisgICAgLS1zeXNyb290PSIke1NUQUdJTkdfRElSX1RBUkdFVH0iIFwKKyAgICAtLWVuYWJsZS1oYXJkY29kZWQtdGFibGVzIFwKKyAgICAke0VYVFJBX0ZGQ09ORn0gXAorICAgIC0tbGliZGlyPSR7bGliZGlyfSBcCisgICAgLS1zaGxpYmRpcj0ke2xpYmRpcn0gXAorICAgIC0tZGF0YWRpcj0ke2RhdGFkaXJ9L2ZmbXBlZyBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0FWQUlMVFVORVMnLCAnbWlwczMycjInLCAnJywgJy0tZGlzYWJsZS1taXBzZHNwIC0tZGlzYWJsZS1taXBzZHNwcjInLCBkKX0gXAorICAgIC0tY3B1PSR7QGNwdShkKX0gXAorICAgIC0tcGtnLWNvbmZpZz1wa2ctY29uZmlnIFwKKyIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9saW51eC1nbnV4MzIgPSAiIC0tZGlzYWJsZS1hc20iCisjIGdvbGQgY3Jhc2hlcyBvbiB4ODYsIGFub3RoZXIgc29sdXRpb24gaXMgdG8gLS1kaXNhYmxlLWFzbSBidXQgdGhhdHMgbW9yZSBoYWNreQorIyBsZC5nb2xkOiBpbnRlcm5hbCBlcnJvciBpbiByZWxvY2F0ZV9zZWN0aW9uLCBhdCAuLi8uLi9nb2xkL2kzODYuY2M6MzY4NAorCitMREZMQUdTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKKworZG9fY29uZmlndXJlKCkgeworICAgICR7U30vY29uZmlndXJlICR7RVhUUkFfT0VDT05GfQorfQorCitQQUNLQUdFUyA9KyAibGliYXZjb2RlYyBcCisgICAgICAgICAgICAgbGliYXZkZXZpY2UgXAorICAgICAgICAgICAgIGxpYmF2ZmlsdGVyIFwKKyAgICAgICAgICAgICBsaWJhdmZvcm1hdCBcCisgICAgICAgICAgICAgbGliYXZyZXNhbXBsZSBcCisgICAgICAgICAgICAgbGliYXZ1dGlsIFwKKyAgICAgICAgICAgICBsaWJwb3N0cHJvYyBcCisgICAgICAgICAgICAgbGlic3dyZXNhbXBsZSBcCisgICAgICAgICAgICAgbGlic3dzY2FsZSIKKworRklMRVNfbGliYXZjb2RlYyA9ICIke2xpYmRpcn0vbGliYXZjb2RlYyR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2ZGV2aWNlID0gIiR7bGliZGlyfS9saWJhdmRldmljZSR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2ZmlsdGVyID0gIiR7bGliZGlyfS9saWJhdmZpbHRlciR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2Zm9ybWF0ID0gIiR7bGliZGlyfS9saWJhdmZvcm1hdCR7U09MSUJTfSIKK0ZJTEVTX2xpYmF2cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYmF2cmVzYW1wbGUke1NPTElCU30iCitGSUxFU19saWJhdnV0aWwgPSAiJHtsaWJkaXJ9L2xpYmF2dXRpbCR7U09MSUJTfSIKK0ZJTEVTX2xpYnBvc3Rwcm9jID0gIiR7bGliZGlyfS9saWJwb3N0cHJvYyR7U09MSUJTfSIKK0ZJTEVTX2xpYnN3cmVzYW1wbGUgPSAiJHtsaWJkaXJ9L2xpYnN3cmVzYW1wbGUke1NPTElCU30iCitGSUxFU19saWJzd3NjYWxlID0gIiR7bGliZGlyfS9saWJzd3NjYWxlJHtTT0xJQlN9IgorCisjIGZmbXBlZyBkaXNhYmxlcyBQSUMgb24gc29tZSBwbGF0Zm9ybXMgKGUuZy4geDg2LTMyKQorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdmNvZGVjID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZGV2aWNlID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2ZmlsdGVyID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2Zm9ybWF0ID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYmF2dXRpbCA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJhdnJlc2FtcGxlID0gInRleHRyZWwiCitJTlNBTkVfU0tJUF8ke01MUFJFRklYfWxpYnN3c2NhbGUgPSAidGV4dHJlbCIKK0lOU0FORV9TS0lQXyR7TUxQUkVGSVh9bGlic3dyZXNhbXBsZSA9ICJ0ZXh0cmVsIgorSU5TQU5FX1NLSVBfJHtNTFBSRUZJWH1saWJwb3N0cHJvYyA9ICJ0ZXh0cmVsIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZmlsZXMvMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiNzQyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9maWxlcy8wMDAyLWdzdGNvbmZpZy5oLmluLWluaXRpYWwtUklTQy1WLXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSA4YTE1NmQxNzI1ZWNkMDNmMmU4Y2RjODg3NGUwODFkZGEyZDNiNDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQXVyZWxpZW4gSmFybm8gPGF1cmVsaWVuQGF1cmVsMzIubmV0PgorRGF0ZTogU3VuLCAxNSBBcHIgMjAxOCAwMDo0OTo1NSArMDIwMAorU3ViamVjdDogW1BBVENIXSBnc3Rjb25maWcuaC5pbjogaW5pdGlhbCBSSVNDLVYgc3VwcG9ydAorCitSSVNDLVYgc3VwcG9ydHMgdW5hbGlnbmVkIGFjY2Vzc2VzLCBidXQgdGhlc2UgbWlnaHQgcnVuIGV4dHJlbWVseSBzbG93bHkKK2RlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24uIFRoZXJlZm9yZSBzZXQgR1NUX0hBVkVfVU5BTElHTkVEX0FDQ0VTUwordG8gMCBvbiB0aGlzIGFyY2hpdGVjdHVyZS4KKworaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc5NTI3MQorCitTaWduZWQtb2ZmLWJ5OiBBbGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEFjY2VwdGVkIFsxLjE1LjEgLSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcxXQorLS0tCisgZ3N0L2dzdGNvbmZpZy5oLmluIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZ3N0L2dzdGNvbmZpZy5oLmluIGIvZ3N0L2dzdGNvbmZpZy5oLmluCitpbmRleCA2MzUxYzA0ZGEuLjMzZGZlZDFmNiAxMDA2NDQKKy0tLSBhL2dzdC9nc3Rjb25maWcuaC5pbgorKysrIGIvZ3N0L2dzdGNvbmZpZy5oLmluCitAQCAtMTA0LDcgKzEwNCw3IEBACisgICogaHR0cDovL2RvY3Mub3JhY2xlLmNvbS9jZC9FMTkyMDUtMDEvODIwLTQxNTUvYysrX2ZhcS5odG1sI1ZlcnM2CisgICogaHR0cHM6Ly9zb2Z0d2FyZS5pbnRlbC5jb20vZW4tdXMvbm9kZS81ODM0MDIKKyAgKi8KKy0jaWYgZGVmaW5lZChfX2FscGhhX18pIHx8IGRlZmluZWQoX19hcmNfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fYmZpbikgfHwgZGVmaW5lZChfX2hwcGFfXykgfHwgZGVmaW5lZChfX25pb3MyX18pIHx8IGRlZmluZWQoX19NSUNST0JMQVpFX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19vcjFrX18pIHx8IGRlZmluZWQoX19zaF9fKSB8fCBkZWZpbmVkKF9fU0g0X18pIHx8IGRlZmluZWQoX19zcGFyY19fKSB8fCBkZWZpbmVkKF9fc3BhcmMpIHx8IGRlZmluZWQoX19pYTY0X18pIHx8IGRlZmluZWQoX01fQUxQSEEpIHx8IGRlZmluZWQoX01fQVJNKSB8fCBkZWZpbmVkKF9NX0lBNjQpIHx8IGRlZmluZWQoX194dGVuc2FfXykgfHwgZGVmaW5lZChfX2Uya19fKQorKyNpZiBkZWZpbmVkKF9fYWxwaGFfXykgfHwgZGVmaW5lZChfX2FyY19fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19iZmluKSB8fCBkZWZpbmVkKF9faHBwYV9fKSB8fCBkZWZpbmVkKF9fbmlvczJfXykgfHwgZGVmaW5lZChfX01JQ1JPQkxBWkVfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX29yMWtfXykgfHwgZGVmaW5lZChfX3NoX18pIHx8IGRlZmluZWQoX19TSDRfXykgfHwgZGVmaW5lZChfX3NwYXJjX18pIHx8IGRlZmluZWQoX19zcGFyYykgfHwgZGVmaW5lZChfX2lhNjRfXykgfHwgZGVmaW5lZChfTV9BTFBIQSkgfHwgZGVmaW5lZChfTV9BUk0pIHx8IGRlZmluZWQoX01fSUE2NCkgfHwgZGVmaW5lZChfX3h0ZW5zYV9fKSB8fCBkZWZpbmVkKF9fZTJrX18pIHx8IGRlZmluZWQoX19yaXNjdikKKyAjICBkZWZpbmUgR1NUX0hBVkVfVU5BTElHTkVEX0FDQ0VTUyAwCisgI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX19hbWQ2NF9fKSB8fCBkZWZpbmVkKF9fYW1kNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fcHBjNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBkZWZpbmVkKF9fbTY4a19fKSB8fCBkZWZpbmVkKF9NX0lYODYpIHx8IGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fWDY0KSB8fCBkZWZpbmVkKF9fczM5MF9fKSB8fCBkZWZpbmVkKF9fczM5MHhfXykgfHwgZGVmaW5lZChfX3phcmNoX18pCisgIyAgZGVmaW5lIEdTVF9IQVZFX1VOQUxJR05FRF9BQ0NFU1MgMQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1leGFtcGxlc19naXQuYmIKaW5kZXggMWQ4N2YyNC4uNzVhYzliNyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzX2dpdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtZXhhbXBsZXNfZ2l0LmJiCkBAIC00LDExICs0LDExIEBACiAKIERFUEVORFMgPSAiZ2xpYi0yLjAgZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkIGd0ayszIGdsaWItMi4wLW5hdGl2ZSIKIAotU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzIFwKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0bGFiLmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LWV4YW1wbGVzLmdpdDtwcm90b2NvbD1odHRwcyBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLU1ha2UtcGxheWVyLWV4YW1wbGVzLWluc3RhbGxhYmxlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2dzdC1wbGF5ZXIuZGVza3RvcCIKIAotU1JDUkVWID0gIjQ4MjQ3YzZhYjY4MDdkNmFlMTc5Y2Y2NTNjYmRjNjQ3MTRkMzMxM2MiCitTUkNSRVYgPSAiMmIzZmMxNzVjMjUyY2Q1YTUzN2U0YjI4NjRiNTcyYTgzNzI0NzNkNiIKIFBWID0gIjAuMC4xK2dpdCR7U1JDUFZ9IgogVVBTVFJFQU1fQ0hFQ0tfQ09NTUlUUyA9ICIxIgogCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3QtcGx1Z2lucy1wYWNrYWdlLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCmluZGV4IDNmZGIxMGUuLjY3ODFlOTggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLXBhY2thZ2UuaW5jCkBAIC02LDI2ICs2LDI2IEBACiAgICAgcG9zdGluc3QgPSBkLmdldFZhcigncGx1Z2luX3Bvc3RpbnN0JykKICAgICBnbGliZGlyID0gZC5nZXRWYXIoJ2xpYmRpcicpCiAKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnbGliZGlyLCAnXmxpYiguKilcLnNvXC4qJywgJ2xpYiVzJywgJ2dzdHJlYW1lciAlcyBsaWJyYXJ5JywgZXh0cmFfZGVwZW5kcz0nJywgYWxsb3dfbGlua3M9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCAnbGliZ3N0KC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LSVzJyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIrJy9naXJlcG9zaXRvcnktMS4wJywgJ0dzdCguKiktMS4wXC50eXBlbGliJCcsIGQuZXhwYW5kKCcke1BOfS0lcy10eXBlbGliJyksICdHU3RyZWFtZXIgdHlwZWxpYiBmaWxlIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsICdsaWJnc3QoLiopXC5sYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoZGV2ZWxvcG1lbnQgZmlsZXMpJywgZXh0cmFfZGVwZW5kcz0nJHtQTn0tZGV2JykKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCAnbGliZ3N0KC4qKVwuYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtc3RhdGljZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoc3RhdGljIGRldmVsb3BtZW50IGZpbGVzKScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgZ2xpYmRpciwgcidebGliKC4qKVwuc29cLionLCAnbGliJXMnLCAnZ3N0cmVhbWVyICVzIGxpYnJhcnknLCBleHRyYV9kZXBlbmRzPScnLCBhbGxvd19saW5rcz1UcnVlKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsIHInbGliZ3N0KC4qKVwuc28kJywgZC5leHBhbmQoJyR7UE59LSVzJyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcycsIHBvc3RpbnN0PXBvc3RpbnN0LCBleHRyYV9kZXBlbmRzPScnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdsaWJkaXIrJy9naXJlcG9zaXRvcnktMS4wJywgcidHc3QoLiopLTEuMFwudHlwZWxpYiQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtdHlwZWxpYicpLCAnR1N0cmVhbWVyIHR5cGVsaWIgZmlsZSBmb3IgJXMnLCBwb3N0aW5zdD1wb3N0aW5zdCwgZXh0cmFfZGVwZW5kcz0nJykKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBnc3RfbGliZGlyLCByJ2xpYmdzdCguKilcLmxhJCcsIGQuZXhwYW5kKCcke1BOfS0lcy1kZXYnKSwgJ0dTdHJlYW1lciBwbHVnaW4gZm9yICVzIChkZXZlbG9wbWVudCBmaWxlcyknLCBleHRyYV9kZXBlbmRzPScke1BOfS1kZXYnKQorICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIGdzdF9saWJkaXIsIHInbGliZ3N0KC4qKVwuYSQnLCBkLmV4cGFuZCgnJHtQTn0tJXMtc3RhdGljZGV2JyksICdHU3RyZWFtZXIgcGx1Z2luIGZvciAlcyAoc3RhdGljIGRldmVsb3BtZW50IGZpbGVzKScsIGV4dHJhX2RlcGVuZHM9JyR7UE59LXN0YXRpY2RldicpCiB9CiAKIHB5dGhvbiBzZXRfbWV0YXBrZ19yZGVwZW5kcyAoKSB7CiAgICAgaW1wb3J0IG9zCisgICAgaW1wb3J0IG9lLnV0aWxzCiAKICAgICBwbiA9IGQuZ2V0VmFyKCdQTicpCiAgICAgbWV0YXBrZyA9ICBwbiArICctbWV0YScKICAgICBkLnNldFZhcignQUxMT1dfRU1QVFlfJyArIG1ldGFwa2csICIxIikKICAgICBkLnNldFZhcignRklMRVNfJyArIG1ldGFwa2csICIiKQotICAgIGJsYWNrbGlzdCA9IFsgcG4sIHBuICsgJy1sb2NhbGUnLCBwbiArICctZGV2JywgcG4gKyAnLWRiZycsIHBuICsgJy1kb2MnLCBwbiArICctbWV0YScgXQorICAgIGJsYWNrbGlzdCA9IFsgcG4sIHBuICsgJy1tZXRhJyBdCiAgICAgbWV0YXBrZ19yZGVwZW5kcyA9IFtdCi0gICAgcGFja2FnZXMgPSBkLmdldFZhcignUEFDS0FHRVMnKS5zcGxpdCgpCiAgICAgcGtnZGVzdCA9IGQuZ2V0VmFyKCdQS0dERVNUJykKLSAgICBmb3IgcGtnIGluIHBhY2thZ2VzWzE6XToKLSAgICAgICAgaWYgbm90IHBrZyBpbiBibGFja2xpc3QgYW5kIG5vdCBwa2cgaW4gbWV0YXBrZ19yZGVwZW5kcyBhbmQgbm90IHBrZy5lbmRzd2l0aCgnLWRldicpIGFuZCBub3QgcGtnLmVuZHN3aXRoKCctZGJnJykgYW5kIG5vdCBwa2cuY291bnQoJ2xvY2FsZScpIGFuZCBub3QgcGtnLmNvdW50KCctc3RhdGljZGV2Jyk6CisgICAgZm9yIHBrZyBpbiBvZS51dGlscy5wYWNrYWdlc19maWx0ZXJfb3V0X3N5c3RlbShkKToKKyAgICAgICAgaWYgcGtnIG5vdCBpbiBibGFja2xpc3QgYW5kIHBrZyBub3QgaW4gbWV0YXBrZ19yZGVwZW5kczoKICAgICAgICAgICAgICMgU2VlIGlmIHRoZSBwYWNrYWdlIGlzIGVtcHR5IGJ5IGxvb2tpbmcgYXQgdGhlIGNvbnRlbnRzIG9mIGl0cyBQS0dERVNUIHN1YmRpcmVjdG9yeS4gCiAgICAgICAgICAgICAjIElmIHRoaXMgc3ViZGlyZWN0b3J5IGlzIGVtcHR5LCB0aGVuIHRoZSBwYWNrYWdlIGlzLgogICAgICAgICAgICAgIyBFbXB0eSBwYWNrYWdlcyBkbyBub3QgZ2V0IGFkZGVkIHRvIHRoZSBtZXRhIHBhY2thZ2UncyBSREVQRU5EUwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkXzEuMTQuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLWJhZF8xLjE0LjQuYmIKaW5kZXggOGM3YzIzNS4uNDk4N2JlOCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkXzEuMTQuNC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWRfMS4xNC40LmJiCkBAIC0xOCw3ICsxOCw3IEBACiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03M2E1ODU1YTgxMTlkZWIwMTdmNWYxM2NmMzI3MDk1ZCBcCiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MjE2ODJlNGU4ZmVhNTI0MTNmZDI2YzYwYWNiOTA3ZTUgIgogCi1ERVBFTkRTICs9ICJnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIGpwZWciCitERVBFTkRTICs9ICJnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYXNlIgogCiBpbmhlcml0IGdldHRleHQgYmx1ZXRvb3RoCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMC1wbHVnaW5zLXVnbHlfMS4xNC40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKaW5kZXggYzU5YmExZC4uMTY4ZTY0ZCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wLXBsdWdpbnMtdWdseV8xLjE0LjQuYmIKQEAgLTE1LDcgKzE1LDcgQEAKIAogUyA9ICIke1dPUktESVJ9L2dzdC1wbHVnaW5zLXVnbHktJHtQVn0iCiAKLURFUEVORFMgKz0gImdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgbGliaWQzdGFnIgorREVQRU5EUyArPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSIKIAogaW5oZXJpdCBnZXR0ZXh0CiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMF8xLjE0LjQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2dzdHJlYW1lci9nc3RyZWFtZXIxLjBfMS4xNC40LmJiCmluZGV4IDIzMjIzNGIuLjk4YzlhMjggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvZ3N0cmVhbWVyL2dzdHJlYW1lcjEuMF8xLjE0LjQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9nc3RyZWFtZXIvZ3N0cmVhbWVyMS4wXzEuMTQuNC5iYgpAQCAtMjUsNiArMjUsNyBAQAogICAgIGZpbGU6Ly9ndGstZG9jLXR3ZWFrcy5wYXRjaCBcCiAgICAgZmlsZTovLzAwMDEtZ3N0LWdzdHBsdWdpbmxvYWRlci5jLXdoZW4tZW52LXZhci1pcy1zZXQtZG8tbm90LWZhbC5wYXRjaCBcCiAgICAgZmlsZTovL2FkZC1hLXRhcmdldC10by1jb21waWxlLXRlc3RzLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwMi1nc3Rjb25maWcuaC5pbi1pbml0aWFsLVJJU0MtVi1zdXBwb3J0LnBhdGNoIFwKICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICIKIFNSQ19VUklbbWQ1c3VtXSA9ICJmNjdmYmJjNDJiZDg1YTA3MDFkZjExOWY1MmZiNTJiZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5kcGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWcvMTBfdXRmMTYucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5kcGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGliaWQzdGFnL2xpYmlkM3RhZy8xMF91dGYxNi5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJpZDN0YWcvbGliaWQzdGFnXzAuMTUuMWIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgppbmRleCBmZTMxNjQ2Li40M2VkZDNmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYmlkM3RhZy9saWJpZDN0YWdfMC4xNS4xYi5iYgpAQCAtMTMsNyArMTMsNyBAQAogICAgICAgICAgICBmaWxlOi8vYWRkcGtnY29uZmlnLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1ncGVyZi0zLjEtaW5jb21wYXRpYmlsaXR5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzEwX3V0ZjE2LmRwYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8xMF91dGYxNi5wYXRjaCBcCiAgICAgICAgICAgICIKIFVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tYWQvZmlsZXMvbGliaWQzdGFnLyIKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi9wcm9qZWN0cy9tYWQvZmlsZXMvbGliaWQzdGFnLyg/UDxwdmVyPi4qKS8kIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS8wMDAxLWEtdWxhdy1maXgtbXVsdGlwbGUtYnVmZmVyLW92ZXJmbG93cy00MzIucGF0Y2gKaW5kZXggYzNmNDRjYS4uYTQ2NzljZSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxLzAwMDEtYS11bGF3LWZpeC1tdWx0aXBsZS1idWZmZXItb3ZlcmZsb3dzLTQzMi5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvMDAwMS1hLXVsYXctZml4LW11bHRpcGxlLWJ1ZmZlci1vdmVyZmxvd3MtNDMyLnBhdGNoCkBAIC0xLDMgKzEsMTUgQEAKK1RoaXMgcGF0Y2ggZml4ZXMgIzQyOSAoQ1ZFLTIwMTgtMTk2NjEgQ1ZFLTIwMTgtMTk2NjIpIGFuZCAjMzQ0IChDVkUtMjAxNy0xNzQ1NgorQ1ZFLTIwMTctMTc0NTcpLiBBcyBwZXIKK2h0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy8zNDQjaXNzdWVjb21tZW50LTQ0ODUwNDQyNSBpdCBhbHNvCitmaXhlcyAjMzE3IChDVkUtMjAxNy0xNDI0NSBDVkUtMjAxNy0xNDI0NikuCisKK0NWRTogQ1ZFLTIwMTctMTQyNDUgQ1ZFLTIwMTctMTQyNDYKK0NWRTogQ1ZFLTIwMTctMTc0NTYgQ1ZFLTIwMTctMTc0NTcKK0NWRTogQ1ZFLTIwMTgtMTk2NjEgQ1ZFLTIwMTgtMTk2NjIKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbOGRkYzQ0MmQ1MzljYTc3NWQ4MGNkYmM3YWYxN2E3MTg2MzRhNzQzZl0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKIEZyb20gMzk0NTM4OTlmZTFiYjM5YjJlMDQxZmRmNTFhODVhZWNkMTc3ZTljNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBEYXRlOiBNb24sIDcgSmFuIDIwMTkgMTU6NTU6MDMgKzA4MDAKQEAgLTE3LDEyICsyOSw2IEBACiBUaGlzIGNvbW1pdCBmaXhlcyAjNDI5IChDVkUtMjAxOC0xOTY2MSBhbmQgQ1ZFLTIwMTgtMTk2NjIpIGFuZAogZml4ZXMgIzM0NCAoQ1ZFLTIwMTctMTc0NTYgYW5kIENWRS0yMDE3LTE3NDU3KS4KIAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydFtodHRwczovL2dpdGh1Yi5jb20vZXJpa2QvbGlic25kZmlsZS8KLWNvbW1pdC81ODVjYzI4YTkzYmUyN2Q2OTM4ZjI3NmFmMDAxMTQwMWI5ZjdjMGNhXQotCi1DVkU6IENWRS0yMDE3LTE3NDU2IENWRS0yMDE3LTE3NDU3IENWRS0yMDE4LTE5NjYxIENWRS0yMDE4LTE5NjYyCi0KLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiAtLS0KICBzcmMvYWxhdy5jIHwgOSArKysrKysrLS0KICBzcmMvdWxhdy5jIHwgOSArKysrKysrLS0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xMjU2Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxNy0xMjU2Mi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTFkYWUzCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTEyNTYyLnBhdGNoCkBAIC0wLDAgKzEsOTYgQEAKK0hlYXAtYmFzZWQgQnVmZmVyIE92ZXJmbG93IGluIHRoZSBwc2ZfYmluaGVhZGVyX3dyaXRlZiBmdW5jdGlvbiBpbiBjb21tb24uYyBpbgorbGlic25kZmlsZSB0aHJvdWdoIDEuMC4yOCBhbGxvd3MgcmVtb3RlIGF0dGFja2VycyB0byBjYXVzZSBhIGRlbmlhbCBvZiBzZXJ2aWNlCisoYXBwbGljYXRpb24gY3Jhc2gpIG9yIHBvc3NpYmx5IGhhdmUgdW5zcGVjaWZpZWQgb3RoZXIgaW1wYWN0LgorCitDVkU6IENWRS0yMDE3LTEyNTYyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtjZjdhODE4MmMyNjQyYzUwZjFjZjkwZGRkZWE5Y2U5NmE4YmFkMmU4XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSBiNmE5ZDdlOTU4ODhmZmE3N2Q4Yzc1Y2UzZjAzZTZjNzE2NTU4N2NkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0o9QzM9QjZybj0yMEhldXNpcHA/PSA8b3NtYW54QHByb2JsZW1sb2VzdW5nc21hc2NoaW5lLmRlPgorRGF0ZTogV2VkLCAxNCBKdW4gMjAxNyAxMjoyNTo0MCArMDIwMAorU3ViamVjdDogW1BBVENIXSBzcmMvY29tbW9uLmM6IEZpeCBoZWFwIGJ1ZmZlciBvdmVyZmxvd3Mgd2hlbiB3cml0aW5nIHN0cmluZ3MKKyBpbiBiaW5oZWFkZXIKKworRml4ZXMgdGhlIGZvbGxvd2luZyBwcm9ibGVtczoKKyAxLiBDYXNlICdzJyBvbmx5IGVubGFyZ2VzIHRoZSBidWZmZXIgYnkgMTYgYnl0ZXMgaW5zdGVhZCBvZiBzaXplIGJ5dGVzLgorIDIuIHBzZl9iaW5oZWFkZXJfd3JpdGVmKCkgZW5sYXJnZXMgdGhlIGhlYWRlciBidWZmZXIgKGlmIG5lZWRlZCkgcHJpb3IgdG8gdGhlCisgICAgYmlnIHN3aXRjaCBzdGF0ZW1lbnQgYnkgYW4gYW1vdW50ICgxNiBieXRlcykgd2hpY2ggaXMgZW5vdWdoIGZvciBhbGwgY2FzZXMKKyAgICB3aGVyZSBvbmx5IGEgc2luZ2xlIHZhbHVlIGdldHMgYWRkZWQuIENhc2VzICdzJywgJ1MnLCAncCcgaG93ZXZlcgorICAgIGFkZGl0aW9uYWxseSB3cml0ZSBhbiBhcmJpdHJhcnkgbGVuZ3RoIGJsb2NrIG9mIGRhdGEgYW5kIGFnYWluIGVubGFyZ2UgdGhlCisgICAgYnVmZmVyIHRvIHRoZSByZXF1aXJlZCBhbW91bnQuIEhvd2V2ZXIsIHRoZSByZXF1aXJlZCBzcGFjZSBjYWxjdWxhdGlvbiBkb2VzCisgICAgbm90IHRha2UgaW50byBhY2NvdW50IHRoZSBzaXplIG9mIHRoZSBsZW5ndGggZmllbGQgd2hpY2ggZ2V0cyBvdXRwdXQgYmVmb3JlCisgICAgdGhlIGRhdGEuCisgMy4gQnVmZmVyIHNpemUgcmVxdWlyZW1lbnQgY2FsY3VsYXRpb24gaW4gY2FzZSAnUycgZG9lcyBub3QgYWNjb3VudCBmb3IgdGhlCisgICAgcGFkZGluZyBieXRlICgic2l6ZSArPSAoc2l6ZSAmIDEpIDsiIGhhcHBlbnMgYWZ0ZXIgdGhlIGNhbGN1bGF0aW9uIHdoaWNoCisgICAgdXNlcyAic2l6ZSIpLgorIDQuIENhc2UgJ1MnIGNhbiBvdmVycnVuIHRoZSBoZWFkZXIgYnVmZmVyIGJ5IDEgYnl0ZSB3aGVuIG5vIHBhZGRpbmcgaXMKKyAgICBpbnZvbHZlZAorICAgICgibWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUgKyAxKSA7IiB3aGlsZQorICAgIHRoZSBidWZmZXIgaXMgb25seSBndWFyYW50ZWVkIHRvIGhhdmUgInNpemUiIHNwYWNlIGF2YWlsYWJsZSkuCisgNS4gInBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0gPSAwIDsiIGluIGNhc2UgJ1MnIGFsd2F5cyB3cml0ZXMgMSBieXRlCisgICAgYmV5b25kIHRoZSBzcGFjZSB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGFsbG9jYXRlZCBpbiB0aGUgaGVhZGVyIGJ1ZmZlci4KKyA2LiBDYXNlICdzJyBjYW4gb3ZlcnJ1biB0aGUgcHJvdmlkZWQgc291cmNlIHN0cmluZyBieSAxIGJ5dGUgaWYgcGFkZGluZyBpcworICAgIGludm9sdmVkICgibWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUpIDsiCisgICAgd2hlcmUgInNpemUiIGlzICJzdHJsZW4gKHN0cnB0cikgKyAxIiAod2hpY2ggaW5jbHVkZXMgdGhlIDAgdGVybWluYXRvciwKKyAgICBwbHVzIG9wdGlvbmFsbHkgYW5vdGhlciAxIHdoaWNoIGlzIHBhZGRpbmcgYW5kIG5vdCBndWFyYW50ZWVkIHRvIGJlCisgICAgcmVhZGFibGUgdmlhIHRoZSBzb3VyY2Ugc3RyaW5nIHBvaW50ZXIpLgorCitDbG9zZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy8yOTIKKy0tLQorIHNyYy9jb21tb24uYyB8IDE1ICsrKysrKystLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uLmMgYi9zcmMvY29tbW9uLmMKK2luZGV4IDFhNjIwNGNhLi42YjJhMmVlOSAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb24uYworKysrIGIvc3JjL2NvbW1vbi5jCitAQCAtNjgxLDE2ICs2ODEsMTYgQEAgcHNmX2JpbmhlYWRlcl93cml0ZWYgKFNGX1BSSVZBVEUgKnBzZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisgCQkJCQkvKiBXcml0ZSBhIEMgc3RyaW5nIChndWFyYW50ZWVkIHRvIGhhdmUgYSB6ZXJvIHRlcm1pbmF0b3IpLiAqLworIAkJCQkJc3RycHRyID0gdmFfYXJnIChhcmdwdHIsIGNoYXIgKikgOworIAkJCQkJc2l6ZSA9IHN0cmxlbiAoc3RycHRyKSArIDEgOworLQkJCQkJc2l6ZSArPSAoc2l6ZSAmIDEpIDsKKyAKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPj0gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIDE2KSkKKysJCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgNCArIChzZl9jb3VudF90KSBzaXplICsgKHNmX2NvdW50X3QpIChzaXplICYgMSkgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgNCArIHNpemUgKyAoc2l6ZSAmIDEpKSkKKyAJCQkJCQlyZXR1cm4gY291bnQgOworIAorIAkJCQkJaWYgKHBzZi0+cndmX2VuZGlhbiA9PSBTRl9FTkRJQU5fQklHKQorLQkJCQkJCWhlYWRlcl9wdXRfYmVfaW50IChwc2YsIHNpemUpIDsKKysJCQkJCQloZWFkZXJfcHV0X2JlX2ludCAocHNmLCBzaXplICsgKHNpemUgJiAxKSkgOworIAkJCQkJZWxzZQorLQkJCQkJCWhlYWRlcl9wdXRfbGVfaW50IChwc2YsIHNpemUpIDsKKysJCQkJCQloZWFkZXJfcHV0X2xlX2ludCAocHNmLCBzaXplICsgKHNpemUgJiAxKSkgOworIAkJCQkJbWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUpIDsKKysJCQkJCXNpemUgKz0gKHNpemUgJiAxKSA7CisgCQkJCQlwc2YtPmhlYWRlci5pbmR4ICs9IHNpemUgOworIAkJCQkJcHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4IC0gMV0gPSAwIDsKKyAJCQkJCWNvdW50ICs9IDQgKyBzaXplIDsKK0BAIC03MDMsMTYgKzcwMywxNSBAQCBwc2ZfYmluaGVhZGVyX3dyaXRlZiAoU0ZfUFJJVkFURSAqcHNmLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAJCQkJCSovCisgCQkJCQlzdHJwdHIgPSB2YV9hcmcgKGFyZ3B0ciwgY2hhciAqKSA7CisgCQkJCQlzaXplID0gc3RybGVuIChzdHJwdHIpIDsKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgc2l6ZSkpCisrCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIDQgKyAoc2ZfY291bnRfdCkgc2l6ZSArIChzZl9jb3VudF90KSAoc2l6ZSAmIDEpID4gcHNmLT5oZWFkZXIubGVuICYmIHBzZl9idW1wX2hlYWRlcl9hbGxvY2F0aW9uIChwc2YsIDQgKyBzaXplICsgKHNpemUgJiAxKSkpCisgCQkJCQkJcmV0dXJuIGNvdW50IDsKKyAJCQkJCWlmIChwc2YtPnJ3Zl9lbmRpYW4gPT0gU0ZfRU5ESUFOX0JJRykKKyAJCQkJCQloZWFkZXJfcHV0X2JlX2ludCAocHNmLCBzaXplKSA7CisgCQkJCQllbHNlCisgCQkJCQkJaGVhZGVyX3B1dF9sZV9pbnQgKHBzZiwgc2l6ZSkgOworLQkJCQkJbWVtY3B5ICgmKHBzZi0+aGVhZGVyLnB0ciBbcHNmLT5oZWFkZXIuaW5keF0pLCBzdHJwdHIsIHNpemUgKyAxKSA7CisrCQkJCQltZW1jcHkgKCYocHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4XSksIHN0cnB0ciwgc2l6ZSArIChzaXplICYgMSkpIDsKKyAJCQkJCXNpemUgKz0gKHNpemUgJiAxKSA7CisgCQkJCQlwc2YtPmhlYWRlci5pbmR4ICs9IHNpemUgOworLQkJCQkJcHNmLT5oZWFkZXIucHRyIFtwc2YtPmhlYWRlci5pbmR4XSA9IDAgOworIAkJCQkJY291bnQgKz0gNCArIHNpemUgOworIAkJCQkJYnJlYWsgOworIAorQEAgLTcyNCw3ICs3MjMsNyBAQCBwc2ZfYmluaGVhZGVyX3dyaXRlZiAoU0ZfUFJJVkFURSAqcHNmLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKyAJCQkJCXNpemUgPSAoc2l6ZSAmIDEpID8gc2l6ZSA6IHNpemUgKyAxIDsKKyAJCQkJCXNpemUgPSAoc2l6ZSA+IDI1NCkgPyAyNTQgOiBzaXplIDsKKyAKKy0JCQkJCWlmIChwc2YtPmhlYWRlci5pbmR4ICsgKHNmX2NvdW50X3QpIHNpemUgPiBwc2YtPmhlYWRlci5sZW4gJiYgcHNmX2J1bXBfaGVhZGVyX2FsbG9jYXRpb24gKHBzZiwgc2l6ZSkpCisrCQkJCQlpZiAocHNmLT5oZWFkZXIuaW5keCArIDEgKyAoc2ZfY291bnRfdCkgc2l6ZSA+IHBzZi0+aGVhZGVyLmxlbiAmJiBwc2ZfYnVtcF9oZWFkZXJfYWxsb2NhdGlvbiAocHNmLCAxICsgc2l6ZSkpCisgCQkJCQkJcmV0dXJuIGNvdW50IDsKKyAKKyAJCQkJCWhlYWRlcl9wdXRfYnl0ZSAocHNmLCBzaXplKSA7CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExN2VjMjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE3LTE0MjQ1LTE0MjQ2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIxICswLDAgQEAKLUZyb20gMmQ1NDUxNGE0ZjY0MzdiNjc4Mjk3MTdjMDU0NzJkMmUzMzAwYTI1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZhYmlhbiBHcmVmZnJhdGggPGZhYmlhbkBncmVmZnJhdGguY29tPgotRGF0ZTogV2VkLCAyNyBTZXAgMjAxNyAxNDo0NjoxNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBzZmVfY29weV9kYXRhX2ZwOiBjaGVjayB2YWx1ZSBvZiAibWF4IiB2YXJpYWJsZSBmb3IgYmVpbmcKLSBub3JtYWwKLQotYW5kIGNoZWNrIGVsZW1lbnRzIG9mIHRoZSBkYXRhW10gYXJyYXkgZm9yIGJlaW5nIGZpbml0ZS4KLQotQm90aCBjaGVja3MgdXNlIGZ1bmN0aW9ucyBwcm92aWRlZCBieSB0aGUgPG1hdGguaD4gaGVhZGVyIGFzIGRlY2xhcmVkCi1ieSB0aGUgQzk5IHN0YW5kYXJkLgotCi1GaXhlcyAjMzE3Ci1DVkU6IENWRS0yMDE3LTE0MjQ1Ci1DVkU6IENWRS0yMDE3LTE0MjQ2Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9mYWJpYW5ncmVmZnJhdGgvbGlic25kZmlsZS9jb21taXQvMmQ1NDUxNGE0ZjY0MzdiNjc4Mjk3MTdjMDU0NzJkMmUzMzAwYTI1OF0KLQotU2lnbmVkLW9mZi1ieTogRmFiaWFuIEdyZWZmcmF0aCA8ZmFiaWFuQGdyZWZmcmF0aC5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBKYWdhZGVlc2ggS3Jpc2huYW5qYW5hcHBhIDxqa3Jpc2huYW5qYW5hcHBhQG12aXN0YS5jb20+Ci0tLS0KLSBwcm9ncmFtcy9jb21tb24uYyAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKystLS0tCi0gcHJvZ3JhbXMvY29tbW9uLmggICAgICAgICAgfCAgMiArLQotIHByb2dyYW1zL3NuZGZpbGUtY29udmVydC5jIHwgIDYgKysrKystCi0gMyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvY29tbW9uLmMgYi9wcm9ncmFtcy9jb21tb24uYwotaW5kZXggYTIxZTYyYy4uYTI0OWE1OCAxMDA2NDQKLS0tLSBhL3Byb2dyYW1zL2NvbW1vbi5jCi0rKysgYi9wcm9ncmFtcy9jb21tb24uYwotQEAgLTM2LDYgKzM2LDcgQEAKLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0gI2luY2x1ZGUgPGN0eXBlLmg+Ci0gI2luY2x1ZGUgPHN0ZGludC5oPgotKyNpbmNsdWRlIDxtYXRoLmg+Ci0gCi0gI2luY2x1ZGUgPHNuZGZpbGUuaD4KLSAKLUBAIC00NSw3ICs0Niw3IEBACi0gCi0gI2RlZmluZQlNSU4oeCwgeSkJKCh4KSA8ICh5KSA/ICh4KSA6ICh5KSkKLSAKLS12b2lkCi0raW50Ci0gc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpCi0gewlzdGF0aWMgZG91YmxlCWRhdGEgW0JVRkZFUl9MRU5dLCBtYXggOwotIAlpbnQJCWZyYW1lcywgcmVhZGNvdW50LCBrIDsKLUBAIC01NCw2ICs1NSw4IEBAIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplCi0gCXJlYWRjb3VudCA9IGZyYW1lcyA7Ci0gCi0gCXNmX2NvbW1hbmQgKGluZmlsZSwgU0ZDX0NBTENfU0lHTkFMX01BWCwgJm1heCwgc2l6ZW9mIChtYXgpKSA7Ci0rCWlmICghaXNub3JtYWwgKG1heCkpIC8qIG5laXRoZXIgemVybywgc3Vibm9ybWFsLCBpbmZpbml0ZSwgbm9yIE5hTiAqLwotKwkJcmV0dXJuIDEgOwotIAotIAlpZiAoIW5vcm1hbGl6ZSAmJiBtYXggPCAxLjApCi0gCXsJd2hpbGUgKHJlYWRjb3VudCA+IDApCi1AQCAtNjcsMTIgKzcwLDE2IEBAIHNmZV9jb3B5X2RhdGFfZnAgKFNOREZJTEUgKm91dGZpbGUsIFNOREZJTEUgKmluZmlsZSwgaW50IGNoYW5uZWxzLCBpbnQgbm9ybWFsaXplCi0gCQl3aGlsZSAocmVhZGNvdW50ID4gMCkKLSAJCXsJcmVhZGNvdW50ID0gc2ZfcmVhZGZfZG91YmxlIChpbmZpbGUsIGRhdGEsIGZyYW1lcykgOwotIAkJCWZvciAoayA9IDAgOyBrIDwgcmVhZGNvdW50ICogY2hhbm5lbHMgOyBrKyspCi0tCQkJCWRhdGEgW2tdIC89IG1heCA7Ci0rCQkJewlkYXRhIFtrXSAvPSBtYXggOwotKwotKwkJCQlpZiAoIWlzZmluaXRlIChkYXRhIFtrXSkpIC8qIGluZmluaXRlIG9yIE5hTiAqLwotKwkJCQkJcmV0dXJuIDE7Ci0rCQkJCX0KLSAJCQlzZl93cml0ZWZfZG91YmxlIChvdXRmaWxlLCBkYXRhLCByZWFkY291bnQpIDsKLSAJCQl9IDsKLSAJCX0gOwotIAotLQlyZXR1cm4gOwotKwlyZXR1cm4gMCA7Ci0gfSAvKiBzZmVfY29weV9kYXRhX2ZwICovCi0gCi0gdm9pZAotQEAgLTI1Miw3ICsyNTksMTIgQEAgc2ZlX2FwcGx5X21ldGFkYXRhX2NoYW5nZXMgKGNvbnN0IGNoYXIgKiBmaWxlbmFtZXMgWzJdLCBjb25zdCBNRVRBREFUQV9JTkZPICogaW4KLSAKLSAJCS8qIElmIHRoZSBpbnB1dCBmaWxlIGlzIG5vdCB0aGUgc2FtZSBhcyB0aGUgb3V0cHV0IGZpbGUsIGNvcHkgdGhlIGRhdGEuICovCi0gCQlpZiAoKGluZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9ET1VCTEUpIHx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRkxPQVQpKQotLQkJCXNmZV9jb3B5X2RhdGFfZnAgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzLCBTRl9GQUxTRSkgOwotKwkJewlpZiAoc2ZlX2NvcHlfZGF0YV9mcCAob3V0ZmlsZSwgaW5maWxlLCBzZmluZm8uY2hhbm5lbHMsIFNGX0ZBTFNFKSAhPSAwKQotKwkJCXsJcHJpbnRmICgiRXJyb3IgOiBOb3QgYWJsZSB0byBkZWNvZGUgaW5wdXQgZmlsZSAnJXMnXG4iLCBmaWxlbmFtZXMgWzBdKSA7Ci0rCQkJCWVycm9yX2NvZGUgPSAxIDsKLSsJCQkJZ290byBjbGVhbnVwX2V4aXQgOwotKwkJCQl9IDsKLSsJCQl9Ci0gCQllbHNlCi0gCQkJc2ZlX2NvcHlfZGF0YV9pbnQgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzKSA7Ci0gCQl9IDsKLWRpZmYgLS1naXQgYS9wcm9ncmFtcy9jb21tb24uaCBiL3Byb2dyYW1zL2NvbW1vbi5oCi1pbmRleCBlZGEyZDdkLi45ODYyNzdlIDEwMDY0NAotLS0tIGEvcHJvZ3JhbXMvY29tbW9uLmgKLSsrKyBiL3Byb2dyYW1zL2NvbW1vbi5oCi1AQCAtNjIsNyArNjIsNyBAQCB0eXBlZGVmIFNGX0JST0FEQ0FTVF9JTkZPX1ZBUiAoMjA0OCkgU0ZfQlJPQURDQVNUX0lORk9fMksgOwotIAotIHZvaWQgc2ZlX2FwcGx5X21ldGFkYXRhX2NoYW5nZXMgKGNvbnN0IGNoYXIgKiBmaWxlbmFtZXMgWzJdLCBjb25zdCBNRVRBREFUQV9JTkZPICogaW5mbykgOwotIAotLXZvaWQgc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpIDsKLStpbnQgc2ZlX2NvcHlfZGF0YV9mcCAoU05ERklMRSAqb3V0ZmlsZSwgU05ERklMRSAqaW5maWxlLCBpbnQgY2hhbm5lbHMsIGludCBub3JtYWxpemUpIDsKLSAKLSB2b2lkIHNmZV9jb3B5X2RhdGFfaW50IChTTkRGSUxFICpvdXRmaWxlLCBTTkRGSUxFICppbmZpbGUsIGludCBjaGFubmVscykgOwotIAotZGlmZiAtLWdpdCBhL3Byb2dyYW1zL3NuZGZpbGUtY29udmVydC5jIGIvcHJvZ3JhbXMvc25kZmlsZS1jb252ZXJ0LmMKLWluZGV4IGRmZjdmNzkuLmU2ZGU1OTMgMTAwNjQ0Ci0tLS0gYS9wcm9ncmFtcy9zbmRmaWxlLWNvbnZlcnQuYwotKysrIGIvcHJvZ3JhbXMvc25kZmlsZS1jb252ZXJ0LmMKLUBAIC0zMzUsNyArMzM1LDExIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICogYXJndiBbXSkKLSAJCQl8fCAob3V0ZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9ET1VCTEUpIHx8IChvdXRmaWxlbWlub3IgPT0gU0ZfRk9STUFUX0ZMT0FUKQotIAkJCXx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfRE9VQkxFKSB8fCAoaW5maWxlbWlub3IgPT0gU0ZfRk9STUFUX0ZMT0FUKQotIAkJCXx8IChpbmZpbGVtaW5vciA9PSBTRl9GT1JNQVRfVk9SQklTKSB8fCAob3V0ZmlsZW1pbm9yID09IFNGX0ZPUk1BVF9WT1JCSVMpKQotLQkJc2ZlX2NvcHlfZGF0YV9mcCAob3V0ZmlsZSwgaW5maWxlLCBzZmluZm8uY2hhbm5lbHMsIG5vcm1hbGl6ZSkgOwotKwl7CWlmIChzZmVfY29weV9kYXRhX2ZwIChvdXRmaWxlLCBpbmZpbGUsIHNmaW5mby5jaGFubmVscywgbm9ybWFsaXplKSAhPSAwKQotKwkJewlwcmludGYgKCJFcnJvciA6IE5vdCBhYmxlIHRvIGRlY29kZSBpbnB1dCBmaWxlICVzLlxuIiwgaW5maWxlbmFtZSkgOwotKwkJCXJldHVybiAxIDsKLSsJCQl9IDsKLSsJCX0KLSAJZWxzZQotIAkJc2ZlX2NvcHlfZGF0YV9pbnQgKG91dGZpbGUsIGluZmlsZSwgc2ZpbmZvLmNoYW5uZWxzKSA7Ci0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xMzEzOS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOC0xMzEzOS5wYXRjaAppbmRleCA0YWUzNjc0Li43MDczNzNkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTMxMzkucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTEzMTM5LnBhdGNoCkBAIC0xLDIzICsxLDI1IEBACi1Gcm9tIDU0NzNhZWVmNzg3NWU1NGJkMGY3ODZmYmRkMjU5YTM1YWFlZTg3NWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogV2VkLCAxMCBPY3QgMjAxOCAwODo1OTozMCArMDgwMAotU3ViamVjdDogW1BBVENIXSBsaWJzbmRmaWxlMTogcGF0Y2ggZm9yIENWRS0yMDE4LTEzMTM5Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9id2FyZGVuL2xpYnNuZGZpbGUvCi1jb21taXQvZGYxODMyM2M2MjJiNTQyMjFlZTdhY2U3NGIxNzdjZGNjY2MxNTJkN10KLQogQ1ZFOiBDVkUtMjAxOC0xMzEzOQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbOWRjOTg5ZWI4OWNkNjk3ZTE5ODk3YWZhNjE2ZDZhYjBkZWJlNDgyMl0KK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiAKLVNpZ25lZC1vZmYtYnk6IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitGcm9tIDlkYzk4OWViODljZDY5N2UxOTg5N2FmYTYxNmQ2YWIwZGViZTQ4MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiQnJldHQgVC4gV2FyZGVuIiA8YnJldHQudC53YXJkZW5AaW50ZWwuY29tPgorRGF0ZTogVHVlLCAyOCBBdWcgMjAxOCAxMjowMToxNyAtMDcwMAorU3ViamVjdDogW1BBVENIXSBDaGVjayBNQVhfQ0hBTk5FTFMgaW4gc25kZmlsZS1kZWludGVybGVhdmUKKworQWxsb2NhdGVkIGJ1ZmZlciBoYXMgc3BhY2UgZm9yIG9ubHkgMTYgY2hhbm5lbHMuIFZlcmlmeSB0aGF0IGlucHV0IGZpbGUKK21lZXRzIHRoaXMgbGltaXQuCisKK0ZpeGVzICMzOTcKIC0tLQotIHByb2dyYW1zL3NuZGZpbGUtZGVpbnRlcmxlYXZlLmMgfCA2ICsrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKyBwcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jIHwgNyArKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQogCiBkaWZmIC0tZ2l0IGEvcHJvZ3JhbXMvc25kZmlsZS1kZWludGVybGVhdmUuYyBiL3Byb2dyYW1zL3NuZGZpbGUtZGVpbnRlcmxlYXZlLmMKLWluZGV4IGUyNzU5M2UuLjcyMWJlZTcgMTAwNjQ0CitpbmRleCBlMjc1OTNlMi4uY2I0OTdlMWYgMTAwNjQ0CiAtLS0gYS9wcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jCiArKysgYi9wcm9ncmFtcy9zbmRmaWxlLWRlaW50ZXJsZWF2ZS5jCi1AQCAtODksNiArODksMTIgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTg5LDYgKzg5LDEzIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCWV4aXQgKDEpIDsKICAJCX0gOwogIApAQCAtMjcsOSArMjksOSBAQAogKwkJZXhpdCAoMSkgOwogKwkJfSA7CiArCisrCiAgCXN0YXRlLmNoYW5uZWxzID0gc2ZpbmZvLmNoYW5uZWxzIDsKICAJc2ZpbmZvLmNoYW5uZWxzID0gMSA7CiAgCiAtLSAKLTIuNy40Ci0KKzIuMTEuMApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTE5NzU4LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxL0NWRS0yMDE4LTE5NzU4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNTg2ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTgtMTk3NTgucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorVGhlcmUgaXMgYSBoZWFwLWJhc2VkIGJ1ZmZlciBvdmVyLXJlYWQgYXQgd2F2LmMgaW4gd2F2X3dyaXRlX2hlYWRlciBpbgorbGlic25kZmlsZSAxLjAuMjggdGhhdCB3aWxsIGNhdXNlIGEgZGVuaWFsIG9mIHNlcnZpY2UuCisKK0NWRTogQ1ZFLTIwMTgtMTk3NTgKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgWzQyMTMyYzU0MzM1OGNlZTlmN2MzZTllOWIxNWJiNmMxMDYzYTYwOGVdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIGMxMjE3M2IwMTk3ZGQwYzVjZmEyY2QyNzk3N2U5ODJkMmFlNTk0ODYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmlrIGRlIENhc3RybyBMb3BvIDxlcmlrZEBtZWdhLW5lcmQuY29tPgorRGF0ZTogVHVlLCAxIEphbiAyMDE5IDIwOjExOjQ2ICsxMTAwCitTdWJqZWN0OiBbUEFUQ0hdIHNyYy93YXYuYzogRml4IGhlYXAgcmVhZCBvdmVyZmxvdworCitUaGlzIGlzIENWRS0yMDE4LTE5NzU4LgorCitDbG9zZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9lcmlrZC9saWJzbmRmaWxlL2lzc3Vlcy80MzUKKy0tLQorIHNyYy93YXYuYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvd2F2LmMgYi9zcmMvd2F2LmMKK2luZGV4IGU4NDA1YjU1Li42ZmI5NGFlOCAxMDA2NDQKKy0tLSBhL3NyYy93YXYuYworKysrIGIvc3JjL3dhdi5jCitAQCAtMTA5NCw2ICsxMDk0LDggQEAgd2F2X3dyaXRlX2hlYWRlciAoU0ZfUFJJVkFURSAqcHNmLCBpbnQgY2FsY19sZW5ndGgpCisgCQlwc2ZfYmluaGVhZGVyX3dyaXRlZiAocHNmLCAiNDQiLCAwLCAwKSA7IC8qIFNNVFBFIGZvcm1hdCAqLworIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50LCAwKSA7CisgCisrCQkvKiBMb29wIGNvdW50IGlzIHNpZ25lZCAxNiBiaXQgbnVtYmVyIHNvIHdlIGxpbWl0IGl0IHJhbmdlIHRvIHNvbWV0aGluZyBzZW5zaWJsZS4gKi8KKysJCXBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCAmPSAweDdmZmYgOworIAkJZm9yICh0bXAgPSAwIDsgdG1wIDwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50IDsgdG1wKyspCisgCQl7CWludCB0eXBlIDsKKyAKKy0tIAorMi4xMS4wCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTktMzgzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMS9DVkUtMjAxOS0zODMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMzcyMTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTEvQ1ZFLTIwMTktMzgzMi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDQzODg2ZWZjNDA4YzIxZTFlMzI5MDg2ZWY3MGM4ODg2MDMxMGYyNWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodTI3QGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgNSBNYXIgMjAxOSAxMToyNzoxNyArMDEwMAorU3ViamVjdDogW1BBVENIXSB3YXZfd3JpdGVfaGVhZGVyOiBkb24ndCByZWFkIHBhc3QgdGhlIGFycmF5IGVuZAorCitDVkUtMjAxOC0xOTc1OCB3YXNuJ3QgZW50aXJlbHkgZml4ZWQgaW4gdGhlIGZpeCwgc28gZml4IGl0IGhhcmRlci4KKworQ1ZFOiBDVkUtMjAxOS0zODMyCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFs3NDA4YzRjNzg4Y2UwNDdkNGU2NTJiNjBhMDRlNzc5NmJjZDcyNjdlXQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworSWYgbG9vcF9jb3VudCBpcyBiaWdnZXIgdGhhbiB0aGUgYXJyYXksIHRydW5jYXRlIGl0IHRvIHRoZSBhcnJheQorbGVuZ3RoIChhbmQgbm90IHRvIDMyaykuCisKK0NWRS0yMDE5LTM4MzIKKworLS0tCisgc3JjL3dhdi5jIHwgNiArKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3dhdi5jIGIvc3JjL3dhdi5jCitpbmRleCBkYWFlM2NjLi44ODUxNTQ5IDEwMDY0NAorLS0tIGEvc3JjL3dhdi5jCisrKysgYi9zcmMvd2F2LmMKK0BAIC0xMDk0LDggKzEwOTQsMTAgQEAgd2F2X3dyaXRlX2hlYWRlciAoU0ZfUFJJVkFURSAqcHNmLCBpbnQgY2FsY19sZW5ndGgpCisgCQlwc2ZfYmluaGVhZGVyX3dyaXRlZiAocHNmLCAiNDQiLCAwLCAwKSA7IC8qIFNNVFBFIGZvcm1hdCAqLworIAkJcHNmX2JpbmhlYWRlcl93cml0ZWYgKHBzZiwgIjQ0IiwgcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50LCAwKSA7CisgCistCQkvKiBMb29wIGNvdW50IGlzIHNpZ25lZCAxNiBiaXQgbnVtYmVyIHNvIHdlIGxpbWl0IGl0IHJhbmdlIHRvIHNvbWV0aGluZyBzZW5zaWJsZS4gKi8KKy0JCXBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCAmPSAweDdmZmYgOworKwkJLyogTWFrZSBzdXJlIHdlIGRvbid0IHJlYWQgcGFzdCB0aGUgbG9vcHMgYXJyYXkgZW5kLiAqLworKwkJaWYgKHBzZi0+aW5zdHJ1bWVudC0+bG9vcF9jb3VudCA+IEFSUkFZX0xFTiAocHNmLT5pbnN0cnVtZW50LT5sb29wcykpCisrCQkJcHNmLT5pbnN0cnVtZW50LT5sb29wX2NvdW50ID0gQVJSQVlfTEVOIChwc2YtPmluc3RydW1lbnQtPmxvb3BzKSA7CisrCisgCQlmb3IgKHRtcCA9IDAgOyB0bXAgPCBwc2YtPmluc3RydW1lbnQtPmxvb3BfY291bnQgOyB0bXArKykKKyAJCXsJaW50IHR5cGUgOworIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxXzEuMC4yOC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlic25kZmlsZS9saWJzbmRmaWxlMV8xLjAuMjguYmIKaW5kZXggOTcwMGY0YS4uNzczOTNkYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJzbmRmaWxlL2xpYnNuZGZpbGUxXzEuMC4yOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnNuZGZpbGUvbGlic25kZmlsZTFfMS4wLjI4LmJiCkBAIC0xMCwxMSArMTAsMTMgQEAKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTgzNjEtODM2NS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy04MzYyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTgzNjMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTQyNDUtMTQyNDYucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctMTQ2MzQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTMxMzkucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1hLXVsYXctZml4LW11bHRpcGxlLWJ1ZmZlci1vdmVyZmxvd3MtNDMyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE5NDMyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTEyNTYyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE5NzU4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE5LTM4MzIucGF0Y2ggXAogICAgICAgICAgICIKIAogU1JDX1VSSVttZDVzdW1dID0gIjY0NmI1Zjk4Y2U4OWFjNjBjZGIwNjBmY2QzOTgyNDdjIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE3MDk1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE3MDk1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Yjk5NjJlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy0xNzA5NS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLUZyb20gOTE3MWRhNTk2Yzg4ZTZhMmRhZGNhYjRhM2E4OWRkZGQ2ZTFiNDY1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5hdGhhbiBCYWtlciA8ZWxpdGViYWRnZXJAZ21haWwuY29tPgotRGF0ZTogVGh1LCAyNSBKYW4gMjAxOCAyMToyODoxNSArMDAwMAotU3ViamVjdDogW1BBVENIXSBBZGQgd29ya2Fyb3VuZCB0byBwYWwycmdiIGJ1ZmZlciBvdmVyZmxvdy4KLQotQ1ZFOiBDVkUtMjAxNy0xNzA5NQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0ICh1bmNoYW5nZWQpIFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvOTE3MWRhNS4uLl0KLQotU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tLgotCi0tLS0KLSB0b29scy9wYWwycmdiLmMgfCAgIDE3ICsrKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90b29scy9wYWwycmdiLmMgYi90b29scy9wYWwycmdiLmMKLWluZGV4IDA0MjM1OTguLjAxZmNmOTQgMTAwNjQ0Ci0tLS0gYS90b29scy9wYWwycmdiLmMKLSsrKyBiL3Rvb2xzL3BhbDJyZ2IuYwotQEAgLTE4Miw4ICsxODIsMjEgQEAgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQotIAl7IHVuc2lnbmVkIGNoYXIgKmlidWYsICpvYnVmOwotIAkgIHJlZ2lzdGVyIHVuc2lnbmVkIGNoYXIqIHBwOwotIAkgIHJlZ2lzdGVyIHVpbnQzMiB4OwotLQkgIGlidWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2MoVElGRlNjYW5saW5lU2l6ZShpbikpOwotLQkgIG9idWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2MoVElGRlNjYW5saW5lU2l6ZShvdXQpKTsKLSsJICB0bXNpemVfdCB0c3NfaW4gPSBUSUZGU2NhbmxpbmVTaXplKGluKTsKLSsJICB0bXNpemVfdCB0c3Nfb3V0ID0gVElGRlNjYW5saW5lU2l6ZShvdXQpOwotKwkgIGlmICh0c3Nfb3V0IC8gdHNzX2luIDwgMykgewotKwkJLyoKLSsJCSAqIEJVRyAyNzUwOiBUaGUgZm9sbG93aW5nIGNvZGUgZG9lcyBub3Qga25vdyBhYm91dCBjaHJvbWEKLSsJCSAqIHN1YnNhbXBsaW5nIG9mIEpQRUcgZGF0YS4gSXQgYXNzdW1lcyB0aGF0IHRoZSBvdXRwdXQgYnVmZmVyIGlzIDN4Ci0rCQkgKiB0aGUgbGVuZ3RoIG9mIHRoZSBpbnB1dCBidWZmZXIgZHVlIHRvIGV4cGxvZGluZyB0aGUgcGFsZXR0ZSBpbnRvCi0rCQkgKiBSR0IgdHVwbGVzLiBJZiB0aGlzIGFzc3VtcHRpb24gaXMgaW5jb3JyZWN0LCBpdCBjb3VsZCBsZWFkIHRvIGEKLSsJCSAqIGJ1ZmZlciBvdmVyZmxvdy4gR28gYWhlYWQgYW5kIGZhaWwgbm93IHRvIHByZXZlbnQgdGhhdC4KLSsJCSAqLwotKwkJZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgZGV0ZXJtaW5lIGNvcnJlY3QgaW1hZ2Ugc2l6ZSBmb3Igb3V0cHV0LiBFeGl0aW5nLlxuIik7Ci0rCQlyZXR1cm4gLTE7Ci0rICAgICAgfQotKwkgIGlidWYgPSAodW5zaWduZWQgY2hhciopX1RJRkZtYWxsb2ModHNzX2luKTsKLSsJICBvYnVmID0gKHVuc2lnbmVkIGNoYXIqKV9USUZGbWFsbG9jKHRzc19vdXQpOwotIAkgIHN3aXRjaCAoY29uZmlnKSB7Ci0gCSAgY2FzZSBQTEFOQVJDT05GSUdfQ09OVElHOgotIAkJZm9yIChyb3cgPSAwOyByb3cgPCBpbWFnZWxlbmd0aDsgcm93KyspIHsKLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctMTgwMTMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTctMTgwMTMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3OGUwZGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTE4MDEzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotRnJvbSAyOTNjOGIwMjk4ZTkxZDIwYmE1MTI5MWUyMzUxYWI3ZDExMDY3MWQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXZlbiBSb3VhdWx0IDxldmVuLnJvdWF1bHRAc3BhdGlhbHlzLmNvbT4KLURhdGU6IFN1biwgMzEgRGVjIDIwMTcgMTU6MDk6NDEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlidGlmZi90aWZfcHJpbnQuYzogVElGRlByaW50RGlyZWN0b3J5KCk6IGZpeCBudWxsIHBvaW50ZXIKLSBkZXJlZmVyZW5jZSBvbiBjb3JydXB0ZWQgZmlsZS4gRml4ZXMKLSBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzcwCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC9jNmY0MWRmN2I1ODE0MDJkZmJhM2MxOWExZTNkZjQ0NTRjNTUxYTAxXQotCi1DVkU6IENWRS0yMDE3LTE4MDEzCi0KLVNpZ25lZC1vZmYtYnk6IFlpIFpoYW8gPHlpLnpoYW9Ad2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYnRpZmYvdGlmX3ByaW50LmMgfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX3ByaW50LmMgYi9saWJ0aWZmL3RpZl9wcmludC5jCi1pbmRleCAyNGQ0Yjk4Li5mNDk0Y2ZiIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfcHJpbnQuYwotKysrIGIvbGlidGlmZi90aWZfcHJpbnQuYwotQEAgLTY2NywxMyArNjY3LDEzIEBAIFRJRkZQcmludERpcmVjdG9yeShUSUZGKiB0aWYsIEZJTEUqIGZkLCBsb25nIGZsYWdzKQotICNpZiBkZWZpbmVkKF9fV0lOMzJfXykgJiYgKGRlZmluZWQoX01TQ19WRVIpIHx8IGRlZmluZWQoX19NSU5HVzMyX18pKQotIAkJCWZwcmludGYoZmQsICIgICAgJTNsdTogWyU4STY0dSwgJThJNjR1XVxuIiwKLSAJCQkgICAgKHVuc2lnbmVkIGxvbmcpIHMsCi0tCQkJICAgICh1bnNpZ25lZCBfX2ludDY0KSB0ZC0+dGRfc3RyaXBvZmZzZXRbc10sCi0tCQkJICAgICh1bnNpZ25lZCBfX2ludDY0KSB0ZC0+dGRfc3RyaXBieXRlY291bnRbc10pOwotKwkJCSAgICB0ZC0+dGRfc3RyaXBvZmZzZXQgPyAodW5zaWduZWQgX19pbnQ2NCkgdGQtPnRkX3N0cmlwb2Zmc2V0W3NdIDogMCwKLSsJCQkgICAgdGQtPnRkX3N0cmlwYnl0ZWNvdW50ID8gKHVuc2lnbmVkIF9faW50NjQpIHRkLT50ZF9zdHJpcGJ5dGVjb3VudFtzXSA6IDApOwotICNlbHNlCi0gCQkJZnByaW50ZihmZCwgIiAgICAlM2x1OiBbJThsbHUsICU4bGx1XVxuIiwKLSAJCQkgICAgKHVuc2lnbmVkIGxvbmcpIHMsCi0tCQkJICAgICh1bnNpZ25lZCBsb25nIGxvbmcpIHRkLT50ZF9zdHJpcG9mZnNldFtzXSwKLS0JCQkgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwYnl0ZWNvdW50W3NdKTsKLSsJCQkgICAgdGQtPnRkX3N0cmlwb2Zmc2V0ID8gKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwb2Zmc2V0W3NdIDogMCwKLSsJCQkgICAgdGQtPnRkX3N0cmlwYnl0ZWNvdW50ID8gKHVuc2lnbmVkIGxvbmcgbG9uZykgdGQtPnRkX3N0cmlwYnl0ZWNvdW50W3NdIDogMCk7Ci0gI2VuZGlmCi0gCX0KLSB9Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxNy05OTM1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTk5MzUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwNjg0ZGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE3LTk5MzUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNjAgKzAsMCBAQAotRnJvbSBhYmIwMDU1ZDIxYzUyYTk5MjUzMTRkNWIwNjI4ZmIyYjYzMDc2MTljIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQnJpYW4gTWF5IDxicmlhbkBsaW51eHBlbmd1aW5zLnh5ej4KLURhdGU6IFRodSwgNyBEZWMgMjAxNyAwNzo0Njo0NyArMTEwMAotU3ViamVjdDogW1BBVENIXSB0aWZmMnBkZjogRml4IENWRS0yMDE3LTk5MzUKLQotRml4IGZvciBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzA0Ci0KLVRoaXMgdnVsbmVyYWJpbGl0eSAtIGF0IGxlYXN0IGZvciB0aGUgc3VwcGxpZWQgdGVzdCBjYXNlIC0gaXMgYmVjYXVzZSB3ZQotYXNzdW1lIHRoYXQgYSB0aWZmIHdpbGwgb25seSBoYXZlIG9uZSB0cmFuc2ZlciBmdW5jdGlvbiB0aGF0IGlzIHRoZSBzYW1lCi1mb3IgYWxsIHBhZ2VzLiBUaGlzIGlzIG5vdCByZXF1aXJlZCBieSB0aGUgVElGRiBzdGFuZGFyZHMuCi0KLVdlIHRoYW4gcmVhZCB0aGUgdHJhbnNmZXIgZnVuY3Rpb24gZm9yIGV2ZXJ5IHBhZ2UuICBEZXBlbmRpbmcgb24gdGhlCi10cmFuc2ZlciBmdW5jdGlvbiwgd2UgYWxsb2NhdGUgZWl0aGVyIDIgb3IgNCBieXRlcyB0byB0aGUgWFJFRiBidWZmZXIuCi1XZSBhbGxvY2F0ZSB0aGlzIG1lbW9yeSBhZnRlciB3ZSByZWFkIGluIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgdGhlCi1wYWdlLgotCi1Gb3IgdGhlIGZpcnN0IGV4cGxvaXQgLSBQT0MxLCB0aGlzIGZpbGUgaGFzIDMgcGFnZXMuIEZvciB0aGUgZmlyc3QgcGFnZQotd2UgYWxsb2NhdGUgMiBleHRyYSBleHRyYSBYUkVGIGVudHJpZXMuIFRoZW4gZm9yIHRoZSBuZXh0IHBhZ2UgMiBtb3JlCi1lbnRyaWVzLiBUaGVuIGZvciB0aGUgbGFzdCBwYWdlIHRoZSB0cmFuc2ZlciBmdW5jdGlvbiBjaGFuZ2VzIGFuZCB3ZQotYWxsb2NhdGUgNCBtb3JlIGVudHJpZXMuCi0KLVdoZW4gd2UgcmVhZCB0aGUgZmlsZSBpbnRvIG1lbW9yeSwgd2UgYXNzdW1lIHdlIGhhdmUgNCBieXRlcyBleHRyYSBmb3IKLWVhY2ggYW5kIGV2ZXJ5IHBhZ2UgKGFzIHBlciB0aGUgbGFzdCB0cmFuc2ZlciBmdW5jdGlvbiB3ZSByZWFkKS4gV2hpY2gKLWlzIG5vdCBjb3JyZWN0LCB3ZSBvbmx5IGhhdmUgMiBieXRlcyBleHRyYSBmb3IgdGhlIGZpcnN0IDIgcGFnZXMuIEFzIGEKLXJlc3VsdCwgd2UgZW5kIHVwIHdyaXRpbmcgcGFzdCB0aGUgZW5kIG9mIHRoZSBidWZmZXIuCi0KLVRoZXJlIGFyZSBhbHNvIHNvbWUgcmVsYXRlZCBpc3N1ZXMgdGhhdCB0aGlzIGFsc28gZml4ZXMuIEZvciBleGFtcGxlLAotVElGRkdldEZpZWxkIGNhbiByZXR1cm4gdW5pbml0YWxpemVkIHBvaW50ZXIgdmFsdWVzLCBhbmQgdGhlIGxvZ2ljIHRvCi1kZXRlY3QgYSBOPTMgdnMgTj0xIHRyYW5zZmVyIGZ1bmN0aW9uIHNlZW1lZCByYXRoZXIgc3RyYW5nZS4KLQotSXQgaXMgYWxzbyBzdHJhbmdlIHRoYXQgd2UgZGVjbGFyZSB0aGUgdHJhbnNmZXIgZnVuY3Rpb25zIHRvIGJlIG9mIHR5cGUKLWZsb2F0LCB3aGVuIHRoZSBzdGFuZGFyZCBzYXlzIHRoZXkgYXJlIHVuc2lnbmVkIDE2IGJpdCB2YWx1ZXMuIFRoaXMgaXMKLWZpeGVkIGluIGFub3RoZXIgcGF0Y2guCi0KLVRoaXMgcGF0Y2ggd2lsbCBjaGVjayB0byBlbnN1cmUgdGhhdCB0aGUgTiB2YWx1ZSBmb3IgZXZlcnkgdHJhbnNmZXIKLWZ1bmN0aW9uIGlzIHRoZSBzYW1lIGZvciBldmVyeSBwYWdlLiBJZiB0aGlzIGNoYW5nZXMsIHdlIGFib3J0IHdpdGggYW4KLWVycm9yLiBJbiB0aGVvcnksIHdlIHNob3VsZCBwZXJoYXBzIGNoZWNrIHRoYXQgdGhlIHRyYW5zZmVyIGZ1bmN0aW9uCi1pdHNlbGYgaXMgaWRlbnRpY2FsIGZvciBldmVyeSBwYWdlLCBob3dldmVyIHdlIGRvbid0IGRvIHRoYXQgZHVlIHRvIHRoZQotY29uZnVzaW9uIG9mIHRoZSB0eXBlIG9mIHRoZSBkYXRhIGluIHRoZSB0cmFuc2ZlciBmdW5jdGlvbi4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotW2h0dHBzOi8vZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0LzNkZDhmNmEzNTc5ODFhNDA5MGYxMjZhYjkwMjUwNTZjOTM4YjY5NDBdCi0KLUNWRTogQ1ZFLTIwMTctOTkzNQotCi1TaWduZWQtb2ZmLWJ5OiBZaSBaaGFvIDx5aS56aGFvQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBsaWJ0aWZmL3RpZl9kaXIuYyB8ICAzICsrKwotIHRvb2xzL3RpZmYycGRmLmMgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9kaXIuYyBiL2xpYnRpZmYvdGlmX2Rpci5jCi1pbmRleCBmMDBmODA4Li5jMzZhNWYzIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfZGlyLmMKLSsrKyBiL2xpYnRpZmYvdGlmX2Rpci5jCi1AQCAtMTA2Nyw2ICsxMDY3LDkgQEAgX1RJRkZWR2V0RmllbGQoVElGRiogdGlmLCB1aW50MzIgdGFnLCB2YV9saXN0IGFwKQotIAkJCWlmICh0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsIC0gdGQtPnRkX2V4dHJhc2FtcGxlcyA+IDEpIHsKLSAJCQkJKnZhX2FyZyhhcCwgdWludDE2KiopID0gdGQtPnRkX3RyYW5zZmVyZnVuY3Rpb25bMV07Ci0gCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IHRkLT50ZF90cmFuc2ZlcmZ1bmN0aW9uWzJdOwotKwkJCX0gZWxzZSB7Ci0rCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IE5VTEw7Ci0rCQkJCSp2YV9hcmcoYXAsIHVpbnQxNioqKSA9IE5VTEw7Ci0gCQkJfQotIAkJCWJyZWFrOwotIAkJY2FzZSBUSUZGVEFHX1JFRkVSRU5DRUJMQUNLV0hJVEU6Ci1kaWZmIC0tZ2l0IGEvdG9vbHMvdGlmZjJwZGYuYyBiL3Rvb2xzL3RpZmYycGRmLmMKLWluZGV4IDQ1NGJlZmIuLjBiNTk3M2UgMTAwNjQ0Ci0tLS0gYS90b29scy90aWZmMnBkZi5jCi0rKysgYi90b29scy90aWZmMnBkZi5jCi1AQCAtMTA0Nyw2ICsxMDQ3LDggQEAgdm9pZCB0MnBfcmVhZF90aWZmX2luaXQoVDJQKiB0MnAsIFRJRkYqIGlucHV0KXsKLSAJdWludDE2IHBhZ2VuPTA7Ci0gCXVpbnQxNiBwYWdlZD0wOwotIAl1aW50MTYgeHVpbnQxNj0wOwotKwl1aW50MTYgdGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MDsKLSsJZmxvYXQqIHRpZmZfdHJhbnNmZXJmdW5jdGlvblszXTsKLSAKLSAJZGlyZWN0b3J5Y291bnQ9VElGRk51bWJlck9mRGlyZWN0b3JpZXMoaW5wdXQpOwotIAl0MnAtPnRpZmZfcGFnZXMgPSAoVDJQX1BBR0UqKSBfVElGRm1hbGxvYyhUSUZGU2FmZU11bHRpcGx5KHRtc2l6ZV90LGRpcmVjdG9yeWNvdW50LHNpemVvZihUMlBfUEFHRSkpKTsKLUBAIC0xMTQ3LDI2ICsxMTQ5LDQ4IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9pbml0KFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gICAgICAgICAgICAgICAgIH0KLSAjZW5kaWYKLSAJCWlmIChUSUZGR2V0RmllbGQoaW5wdXQsIFRJRkZUQUdfVFJBTlNGRVJGVU5DVElPTiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzBdKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdKSkpIHsKLS0JCQlpZigodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0gIT0KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0pKSB7Ci0tCQkJCXQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPSAzOwotLQkJCQl0MnAtPnRpZmZfcGFnZXNbaV0ucGFnZV9leHRyYSArPSA0OwotLQkJCQl0MnAtPnBkZl94cmVmY291bnQgKz0gNDsKLS0JCQl9IGVsc2UgewotLQkJCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ID0gMTsKLS0JCQkJdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gMjsKLS0JCQkJdDJwLT5wZGZfeHJlZmNvdW50ICs9IDI7Ci0tCQkJfQotLQkJCWlmKHQycC0+cGRmX21pbm9ydmVyc2lvbiA8IDIpCi0tCQkJCXQycC0+cGRmX21pbm9ydmVyc2lvbiA9IDI7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJih0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYodGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmKHRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSkpKSB7Ci0rCi0rICAgICAgICAgICAgICAgICAgICAgICAgaWYoKHRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSAhPSAoZmxvYXQqKSBOVUxMKSAmJgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICkgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0zOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTE7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICB9IGVsc2UgewotLQkJCXQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQ9MDsKLSsJCQl0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0wOwotIAkJfQotKwotKyAgICAgICAgICAgICAgICBpZiAoaSA+IDApewotKyAgICAgICAgICAgICAgICAgICAgaWYgKHRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50ICE9IHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQpewotKyAgICAgICAgICAgICAgICAgICAgICAgIFRJRkZFcnJvcigKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgVElGRjJQREZfTU9EVUxFLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGlmZmVyZW50IHRyYW5zZmVyIGZ1bmN0aW9uIG9uIHBhZ2UgJWQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnQycF9lcnJvciA9IFQyUF9FUlJfRVJST1I7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgICAgICAgICAgICAgfQotKyAgICAgICAgICAgICAgICB9Ci0rCi0rICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPSB0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudDsKLSsgICAgICAgICAgICAgICAgdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF0gPSB0aWZmX3RyYW5zZmVyZnVuY3Rpb25bMF07Ci0rICAgICAgICAgICAgICAgIHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdID0gdGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdOwotKyAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXSA9IHRpZmZfdHJhbnNmZXJmdW5jdGlvblsyXTsKLSsgICAgICAgICAgICAgICAgaWYodGlmZl90cmFuc2ZlcmZ1bmN0aW9uY291bnQgPT0gMyl7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT50aWZmX3BhZ2VzW2ldLnBhZ2VfZXh0cmEgKz0gNDsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnBkZl94cmVmY291bnQgKz0gNDsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZih0MnAtPnBkZl9taW5vcnZlcnNpb24gPCAyKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdDJwLT5wZGZfbWlub3J2ZXJzaW9uID0gMjsKLSsgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudCA9PSAxKXsKLSsgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnRpZmZfcGFnZXNbaV0ucGFnZV9leHRyYSArPSAyOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHQycC0+cGRmX3hyZWZjb3VudCArPSAyOwotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmKHQycC0+cGRmX21pbm9ydmVyc2lvbiA8IDIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0MnAtPnBkZl9taW5vcnZlcnNpb24gPSAyOwotKyAgICAgICAgICAgICAgICB9Ci0rCi0gCQlpZiggVElGRkdldEZpZWxkKAotIAkJCWlucHV0LCAKLSAJCQlUSUZGVEFHX0lDQ1BST0ZJTEUsIAotQEAgLTE4MjgsOSArMTg1Miw4IEBAIHZvaWQgdDJwX3JlYWRfdGlmZl9kYXRhKFQyUCogdDJwLCBUSUZGKiBpbnB1dCl7Ci0gCQkJICYodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMV0pLAotIAkJCSAmKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdKSkpIHsKLSAJCWlmKCh0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblsxXSAhPSAoZmxvYXQqKSBOVUxMKSAmJgotLSAgICAgICAgICAgICAgICAgICAodDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25bMl0gIT0gKGZsb2F0KikgTlVMTCkgJiYKLS0gICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzFdICE9Ci0tICAgICAgICAgICAgICAgICAgICB0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvblswXSkpIHsKLSsgICAgICAgICAgICAgICAgICAgKHQycC0+dGlmZl90cmFuc2ZlcmZ1bmN0aW9uWzJdICE9IChmbG9hdCopIE5VTEwpCi0rICAgICAgICAgICAgICAgICAgKSB7Ci0gCQkJdDJwLT50aWZmX3RyYW5zZmVyZnVuY3Rpb25jb3VudD0zOwotIAkJfSBlbHNlIHsKLSAJCQl0MnAtPnRpZmZfdHJhbnNmZXJmdW5jdGlvbmNvdW50PTE7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC0xMDk2My5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC0xMDk2My5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1MjI5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtMTA5NjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIGRlMTQ0ZmQyMjhlNGJlOGFhNDg0YzNjYWYzZDgxNGI2ZmE4OGM2ZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFdmVuIFJvdWF1bHQgPGV2ZW4ucm91YXVsdEBzcGF0aWFseXMuY29tPgotRGF0ZTogU2F0LCAxMiBNYXkgMjAxOCAxNDoyNDoxNSArMDIwMAotU3ViamVjdDogW1BBVENIXSBUSUZGV3JpdGVEaXJlY3RvcnlTZWM6IGF2b2lkIGFzc2VydGlvbi4gRml4ZXMKLSBodHRwOi8vYnVnemlsbGEubWFwdG9vbHMub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzk1LgotIENWRS0yMDE4LTEwOTYzCi0KLS0tLQotQ1ZFOiBDVkUtMjAxOC0xMDk2MwotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvZGUxNDRmLi4uXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGxpYnRpZmYvdGlmX2RpcndyaXRlLmMgfCAgICA3ICsrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfZGlyd3JpdGUuYyBiL2xpYnRpZmYvdGlmX2RpcndyaXRlLmMKLWluZGV4IDI0MzBkZTYuLmMxNWEyOGQgMTAwNjQ0Ci0tLS0gYS9saWJ0aWZmL3RpZl9kaXJ3cml0ZS5jCi0rKysgYi9saWJ0aWZmL3RpZl9kaXJ3cml0ZS5jCi1AQCAtNjk1LDggKzY5NSwxMSBAQCBUSUZGV3JpdGVEaXJlY3RvcnlTZWMoVElGRiogdGlmLCBpbnQgaXNpbWFnZSwgaW50IGltYWdlZG9uZSwgdWludDY0KiBwZGlyb2ZmKQotIAkJCQkJCQkJfQotIAkJCQkJCQkJYnJlYWs7Ci0gCQkJCQkJCWRlZmF1bHQ6Ci0tCQkJCQkJCQlhc3NlcnQoMCk7ICAgLyogd2Ugc2hvdWxkIG5ldmVyIGdldCBoZXJlICovCi0tCQkJCQkJCQlicmVhazsKLSsJCQkJCQkJCVRJRkZFcnJvckV4dCh0aWYtPnRpZl9jbGllbnRkYXRhLG1vZHVsZSwKLSsJCQkJCQkJCSAgICAgICAgICAgICJDYW5ub3Qgd3JpdGUgdGFnICVkICglcykiLAotKwkJCQkJCQkJICAgICAgICAgICAgVElGRkZpZWxkVGFnKG8pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvLT5maWVsZF9uYW1lID8gby0+ZmllbGRfbmFtZSA6ICJ1bmtub3duIik7Ci0rCQkJCQkJCQlnb3RvIGJhZDsKLSAJCQkJCQl9Ci0gCQkJCQl9Ci0gCQkJCX0KLS0tIAotMS43LjkuNQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvQ1ZFLTIwMTgtNTc4NC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC01Nzg0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MDYwMDFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC01Nzg0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTM1ICswLDAgQEAKLUZyb20gNmNkZWExNTIxM2JlNmI2N2Q5ZjgzODBjN2JiNDBlMzI1ZDNhZGFjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5hdGhhbiBCYWtlciA8bmF0aGFuYkBsZW5vdm8tY2hyb21lLmNvbT4KLURhdGU6IFR1ZSwgNiBGZWIgMjAxOCAxMDoxMzo1NyAtMDUwMAotU3ViamVjdDogW1BBVENIXSBGaXggZm9yIGJ1ZyAyNzcyCi0KLUl0IGlzIHBvc3NpYmxlIHRvIGNyYWZ0IGEgVElGRiBkb2N1bWVudCB3aGVyZSB0aGUgSUZEIGxpc3QgaXMgY2lyY3VsYXIsCi1sZWFkaW5nIHRvIGFuIGluZmluaXRlIGxvb3Agd2hpbGUgdHJhdmVyc2luZyB0aGUgY2hhaW4uIFRoZSBsaWJ0aWZmCi1kaXJlY3RvcnkgcmVhZGVyIGhhcyBhIGZhaWxzYWZlIHRoYXQgd2lsbCBicmVhayBvdXQgb2YgdGhpcyBsb29wIGFmdGVyCi1yZWFkaW5nIDY1NTM1IGRpcmVjdG9yeSBlbnRyaWVzLCBidXQgaXQgd2lsbCBjb250aW51ZSBwcm9jZXNzaW5nLAotY29uc3VtaW5nIHRpbWUgYW5kIHJlc291cmNlcyB0byBwcm9jZXNzIHdoYXQgaXMgZXNzZW50aWFsbHkgYSBib2d1cyBUSUZGCi1kb2N1bWVudC4KLQotVGhpcyBjaGFuZ2UgZml4ZXMgdGhlIGFib3ZlIGJlaGF2aW9yIGJ5IGJyZWFraW5nIG91dCBvZiBwcm9jZXNzaW5nIHdoZW4KLWEgVElGRiBkb2N1bWVudCBoYXMgPj0gNjU1MzUgZGlyZWN0b3JpZXMgYW5kIHRlcm1pbmF0aW5nIHdpdGggYW4gZXJyb3IuCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKLVtodHRwczovL2dpdGxhYi5jb20vbGlidGlmZi9saWJ0aWZmL2NvbW1pdC80NzM4NTFkMjExY2Y4ODA1YTE2MTgyMDMzN2NhNzRjYzk2MTVkNmVmXQotCi1DVkU6IENWRS0yMDE4LTU3ODQKLQotU2lnbmVkLW9mZi1ieTogWWkgWmhhbyA8eWkuemhhb0B3aW5kcml2ZXIuY29tPgotLS0tCi0gY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYyB8IDE0ICsrKysrKysrKysrKystCi0gdG9vbHMvdGlmZjJwZGYuYyAgICAgICAgICAgICAgICB8IDEwICsrKysrKysrKysKLSB0b29scy90aWZmY3JvcC5jICAgICAgICAgICAgICAgIHwgMTMgKysrKysrKysrKystLQotIDMgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbnRyaWIvYWRkdGlmZm8vdGlmX292ZXJ2aWV3LmMgYi9jb250cmliL2FkZHRpZmZvL3RpZl9vdmVydmlldy5jCi1pbmRleCBjNjFmZmJiLi4wM2IzNTczIDEwMDY0NAotLS0tIGEvY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYwotKysrIGIvY29udHJpYi9hZGR0aWZmby90aWZfb3ZlcnZpZXcuYwotQEAgLTY1LDYgKzY1LDggQEAKLSAjICBkZWZpbmUgTUFYKGEsYikgICAgICAoKGE+YikgPyBhIDogYikKLSAjZW5kaWYKLSAKLSsjZGVmaW5lIFRJRkZfRElSX01BWCAgNjU1MzQKLSsKLSB2b2lkIFRJRkZCdWlsZE92ZXJ2aWV3cyggVElGRiAqLCBpbnQsIGludCAqLCBpbnQsIGNvbnN0IGNoYXIgKiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICgqKShkb3VibGUsdm9pZCopLCB2b2lkICogKTsKLSAKLUBAIC05MSw2ICs5Myw3IEBAIHVpbnQzMiBUSUZGX1dyaXRlT3ZlcnZpZXcoIFRJRkYgKmhUSUZGLCB1aW50MzIgblhTaXplLCB1aW50MzIgbllTaXplLAotIHsKLSAgICAgdG9mZl90CW5CYXNlRGlyT2Zmc2V0OwotICAgICB0b2ZmX3QJbk9mZnNldDsKLSsgICAgdGRpcl90CWlOdW1EaXI7Ci0gCi0gICAgICh2b2lkKSBiVXNlU3ViSUZEczsKLSAKLUBAIC0xNDcsNyArMTUwLDE2IEBAIHVpbnQzMiBUSUZGX1dyaXRlT3ZlcnZpZXcoIFRJRkYgKmhUSUZGLCB1aW50MzIgblhTaXplLCB1aW50MzIgbllTaXplLAotICAgICAgICAgcmV0dXJuIDA7Ci0gCi0gICAgIFRJRkZXcml0ZURpcmVjdG9yeSggaFRJRkYgKTsKLS0gICAgVElGRlNldERpcmVjdG9yeSggaFRJRkYsICh0ZGlyX3QpIChUSUZGTnVtYmVyT2ZEaXJlY3RvcmllcyhoVElGRiktMSkgKTsKLSsgICAgaU51bURpciA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGhUSUZGKTsKLSsgICAgaWYoIGlOdW1EaXIgPiBUSUZGX0RJUl9NQVggKQotKyAgICB7Ci0rICAgICAgICBUSUZGRXJyb3JFeHQoIFRJRkZDbGllbnRkYXRhKGhUSUZGKSwKLSsgICAgICAgICAgICAgICAgICAgICAgIlRJRkZfV3JpdGVPdmVydmlldyIsCi0rICAgICAgICAgICAgICAgICAgICAgICJGaWxlIGAlcycgaGFzIHRvbyBtYW55IGRpcmVjdG9yaWVzLlxuIiwKLSsgICAgICAgICAgICAgICAgICAgICAgVElGRkZpbGVOYW1lKGhUSUZGKSApOwotKyAgICAgICAgZXhpdCgtMSk7Ci0rICAgIH0KLSsgICAgVElGRlNldERpcmVjdG9yeSggaFRJRkYsICh0ZGlyX3QpIChpTnVtRGlyIC0gMSkgKTsKLSAKLSAgICAgbk9mZnNldCA9IFRJRkZDdXJyZW50RGlyT2Zmc2V0KCBoVElGRiApOwotIAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RpZmYycGRmLmMgYi90b29scy90aWZmMnBkZi5jCi1pbmRleCAwYjU5NzNlLi5lZjVkNmEwIDEwMDY0NAotLS0tIGEvdG9vbHMvdGlmZjJwZGYuYwotKysrIGIvdG9vbHMvdGlmZjJwZGYuYwotQEAgLTY4LDYgKzY4LDggQEAgZXh0ZXJuIGludCBnZXRvcHQoaW50LCBjaGFyKiosIGNoYXIqKTsKLSAKLSAjZGVmaW5lIFBTX1VOSVRfU0laRQk3Mi4wRgotIAotKyNkZWZpbmUgVElGRl9ESVJfTUFYICAgIDY1NTM0Ci0rCi0gLyogVGhpcyB0eXBlIGlzIG9mIFBERiBjb2xvciBzcGFjZXMuICovCi0gdHlwZWRlZiBlbnVtIHsKLSAJVDJQX0NTX0JJTEVWRUwgPSAweDAxLAkvKiBCaWxldmVsLCBibGFjayBhbmQgd2hpdGUgKi8KLUBAIC0xMDUxLDYgKzEwNTMsMTQgQEAgdm9pZCB0MnBfcmVhZF90aWZmX2luaXQoVDJQKiB0MnAsIFRJRkYqIGlucHV0KXsKLSAJZmxvYXQqIHRpZmZfdHJhbnNmZXJmdW5jdGlvblszXTsKLSAKLSAJZGlyZWN0b3J5Y291bnQ9VElGRk51bWJlck9mRGlyZWN0b3JpZXMoaW5wdXQpOwotKwlpZihkaXJlY3Rvcnljb3VudCA+IFRJRkZfRElSX01BWCkgewotKwkJVElGRkVycm9yKAotKwkJCVRJRkYyUERGX01PRFVMRSwKLSsJCQkiVElGRiBjb250YWlucyB0b28gbWFueSBkaXJlY3RvcmllcywgJXMiLAotKwkJCVRJRkZGaWxlTmFtZShpbnB1dCkpOwotKwkJdDJwLT50MnBfZXJyb3IgPSBUMlBfRVJSX0VSUk9SOwotKwkJcmV0dXJuOwotKwl9Ci0gCXQycC0+dGlmZl9wYWdlcyA9IChUMlBfUEFHRSopIF9USUZGbWFsbG9jKFRJRkZTYWZlTXVsdGlwbHkodG1zaXplX3QsZGlyZWN0b3J5Y291bnQsc2l6ZW9mKFQyUF9QQUdFKSkpOwotIAlpZih0MnAtPnRpZmZfcGFnZXM9PU5VTEwpewotIAkJVElGRkVycm9yKAotZGlmZiAtLWdpdCBhL3Rvb2xzL3RpZmZjcm9wLmMgYi90b29scy90aWZmY3JvcC5jCi1pbmRleCBjNjkxNzdlLi5jNjBjYjM4IDEwMDY0NAotLS0tIGEvdG9vbHMvdGlmZmNyb3AuYwotKysrIGIvdG9vbHMvdGlmZmNyb3AuYwotQEAgLTIxNyw2ICsyMTcsOCBAQCBleHRlcm4gaW50IGdldG9wdChpbnQgYXJnYywgY2hhciAqIGNvbnN0IGFyZ3ZbXSwgY29uc3QgY2hhciAqb3B0c3RyaW5nKTsKLSAjZGVmaW5lIERVTVBfVEVYVCAgIDEKLSAjZGVmaW5lIERVTVBfUkFXICAgIDIKLSAKLSsjZGVmaW5lIFRJRkZfRElSX01BWCAgNjU1MzQKLSsKLSAvKiBPZmZzZXRzIGludG8gYnVmZmVyIGZvciBtYXJnaW5zIGFuZCBmaXhlZCB3aWR0aCBhbmQgbGVuZ3RoIHNlZ21lbnRzICovCi0gc3RydWN0IG9mZnNldCB7Ci0gICB1aW50MzIgIHRtYXJnaW47Ci1AQCAtMjIzMyw3ICsyMjM1LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQotICAgICBwYWdlTnVtID0gLTE7Ci0gICBlbHNlCi0gICAgIHRvdGFsX2ltYWdlcyA9IDA7Ci0tICAvKiByZWFkIG11bHRpcGxlIGlucHV0IGZpbGVzIGFuZCB3cml0ZSB0byBvdXRwdXQgZmlsZShzKSAqLwotKyAgLyogUmVhZCBtdWx0aXBsZSBpbnB1dCBmaWxlcyBhbmQgd3JpdGUgdG8gb3V0cHV0IGZpbGUocykgKi8KLSAgIHdoaWxlIChvcHRpbmQgPCBhcmdjIC0gMSkKLSAgICAgewotICAgICBpbiA9IFRJRkZPcGVuIChhcmd2W29wdGluZF0sICJyIik7Ci1AQCAtMjI0MSw3ICsyMjQzLDE0IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKLSAgICAgICByZXR1cm4gKC0zKTsKLSAKLSAgICAgLyogSWYgb25seSBvbmUgaW5wdXQgZmlsZSBpcyBzcGVjaWZpZWQsIHdlIGNhbiB1c2UgZGlyZWN0b3J5IGNvdW50ICovCi0tICAgIHRvdGFsX2ltYWdlcyA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGluKTsgCi0rICAgIHRvdGFsX2ltYWdlcyA9IFRJRkZOdW1iZXJPZkRpcmVjdG9yaWVzKGluKTsKLSsgICAgaWYgKHRvdGFsX2ltYWdlcyA+IFRJRkZfRElSX01BWCkKLSsgICAgICB7Ci0rICAgICAgVElGRkVycm9yIChUSUZGRmlsZU5hbWUoaW4pLCAiRmlsZSBjb250YWlucyB0b28gbWFueSBkaXJlY3RvcmllcyIpOwotKyAgICAgIGlmIChvdXQgIT0gTlVMTCkKLSsgICAgICAgICh2b2lkKSBUSUZGQ2xvc2Uob3V0KTsKLSsgICAgICByZXR1cm4gKDEpOwotKyAgICAgIH0KLSAgICAgaWYgKGltYWdlX2NvdW50ID09IDApCi0gICAgICAgewotICAgICAgIGRpcm51bSA9IDA7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC03NDU2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTc0NTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJjMTFmOTMuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTc0NTYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotRnJvbSBiZTRjODViMTZlODgwMWExNmVlYzI1ZTgwZWI5ZjNkZDZhOTY3MzFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSHVnbyBMZWZldXZyZSA8aGxlQGRlYmlhbi5vcmc+Ci1EYXRlOiBTdW4sIDggQXByIDIwMTggMTQ6MDc6MDggLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSBpbiBUSUZGUHJpbnREaXJlY3RvcnkKLQotVGhlIFRJRkZQcmludERpcmVjdG9yeSBmdW5jdGlvbiByZWxpZXMgb24gdGhlIGZvbGxvd2luZyBhc3N1bXB0aW9ucywKLXN1cHBvc2VkIHRvIGJlIGd1YXJhbnRlZWQgYnkgdGhlIHNwZWNpZmljYXRpb246Ci0KLShhKSBBIFRyYW5zZmVyIEZ1bmN0aW9uIGZpZWxkIGlzIG9ubHkgcHJlc2VudCBpZiB0aGUgVElGRiBmaWxlIGhhcwotICAgIHBob3RvbWV0cmljIHR5cGUgPCAzLgotCi0oYikgSWYgU2FtcGxlc1BlclBpeGVsID4gQ29sb3IgQ2hhbm5lbHMsIHRoZW4gdGhlIEV4dHJhU2FtcGxlcyBmaWVsZAotICAgIGhhcyBjb3VudCBTYW1wbGVzUGVyUGl4ZWwgLSAoQ29sb3IgQ2hhbm5lbHMpIGFuZCBjb250YWlucwotICAgIGluZm9ybWF0aW9uIGFib3V0IHN1cHBsZW1lbnRhcnkgY2hhbm5lbHMuCi0KLVdoaWxlIHJlc3BlY3Qgb2YgKGEpIGFuZCAoYikgYXJlIGVzc2VudGlhbCBmb3IgdGhlIHdlbGwgZnVuY3Rpb25pbmcgb2YKLVRJRkZQcmludERpcmVjdG9yeSwgbm8gY2hlY2tzIGFyZSByZWFsaXplZCBuZWl0aGVyIGJ5IHRoZSBjYWxsZWUgbm9yCi1ieSBUSUZGUHJpbnREaXJlY3RvcnkgaXRzZWxmLiBIZW5jZSwgZm9sbG93aW5nIHNjZW5hcmlvcyBtaWdodCBoYXBwZW4KLWFuZCB0cmlnZ2VyIHRoZSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2U6Ci0KLSgxKSBUSUZGIEZpbGUgb2YgcGhvdG9tZXRyaWMgdHlwZSA0IG9yIG1vcmUgaGFzIGlsbGVnYWwgVHJhbnNmZXIKLSAgICBGdW5jdGlvbiBmaWVsZC4KLQotKDIpIFRJRkYgRmlsZSBoYXMgcGhvdG9tZXRyaWMgdHlwZSAzIG9yIGxlc3MgYW5kIGRlZmluZXMgYQotICAgIFNhbXBsZXNQZXJQaXhlbCBmaWVsZCBzdWNoIHRoYXQgU2FtcGxlc1BlclBpeGVsID4gQ29sb3IgQ2hhbm5lbHMKLSAgICB3aXRob3V0IGRlZmluaW5nIGFsbCBleHRyYSBzYW1wbGVzIGluIHRoZSBFeHRyYVNhbXBsZXMgZmllbGRzLgotCi1JbiB0aGlzIHBhdGNoLCB3ZSBhZGRyZXNzIGJvdGggaXNzdWVzIHdpdGggcmVzcGVjdCBvZiB0aGUgZm9sbG93aW5nCi1wcmluY2lwbGVzOgotCi0oQSkgSW4gdGhlIGNhc2Ugb2YgKDEpLCB0aGUgZGVmaW5lZCB0cmFuc2ZlciB0YWJsZSBzaG91bGQgYmUgcHJpbnRlZAotICAgIHNhZmVseSBldmVuIGlmIGl0IGlzbid0ICdsZWdhbCcuIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIGV4cGVuc2l2ZQotICAgIGNoZWNrcyBpbiBUSUZGUHJpbnREaXJlY3RvcnkuIEFsc28sIGl0IGlzIHF1aXRlIHBvc3NpYmxlIHRoYXQKLSAgICBhbiBhbHRlcm5hdGl2ZSBwaG90b21ldHJpYyB0eXBlIHdvdWxkIGJlIGRldmVsb3BlZCAobm90IHBhcnQgb2YgdGhlCi0gICAgc3RhbmRhcmQpIGFuZCB3b3VsZCBhbGxvdyBkZWZpbml0aW9uIG9mIFRyYW5zZmVyIFRhYmxlLiBXZSB3YW50Ci0gICAgbGlidGlmZiB0byBiZSBhYmxlIHRvIGhhbmRsZSB0aGlzIHNjZW5hcmlvIG91dCBvZiB0aGUgYm94LgotCi0oQikgSW4gdGhlIGNhc2Ugb2YgKDIpLCB0aGUgdHJhbnNmZXIgdGFibGUgc2hvdWxkIGJlIHByaW50ZWQgYXQgaXRzCi0gICAgcmlnaHQgc2l6ZSwgdGhhdCBpcyBpZiBUSUZGIGZpbGUgaGFzIHBob3RvbWV0cmljIHR5cGUgUGFsZXR0ZQotICAgIHRoZW4gdGhlIHRyYW5zZmVyIHRhYmxlIHNob3VsZCBoYXZlIG9uZSByb3cgYW5kIG5vdCB0aHJlZSwgZXZlbgotICAgIGlmIHR3byBleHRyYSBzYW1wbGVzIGFyZSBkZWNsYXJlZC4KLQotSW4gb3JkZXIgdG8gZnVsZmlsbCAoQSkgd2Ugc2ltcGx5IGFkZCBhIG5ldyAnaSA8IDMnIGVuZCBjb25kaXRpb24gdG8KLXRoZSBicm9rZW4gVElGRlByaW50RGlyZWN0b3J5IGxvb3AuIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGluIGFueSBjYXNlCi13aGVyZSAoYikgd291bGQgYmUgcmVzcGVjdGVkIGJ1dCBub3QgKGEpLCBldmVyeXRoaW5nIHN0YXlzIGZpbmUuCi0KLShCKSBpcyBmdWxmaWxsZWQgYnkgdGhlIGxvb3AgY29uZGl0aW9uCi0naSA8IHRkLT50ZF9zYW1wbGVzcGVycGl4ZWwgLSB0ZC0+dGRfZXh0cmFzYW1wbGVzJy4gVGhpcyBpcyBlbm91Z2ggYXMKLWxvbmcgYXMgKGIpIGlzIHJlc3BlY3RlZC4KLQotTmF0dXJhbGx5LCB3ZSBhbHNvIG1ha2Ugc3VyZSAoYikgaXMgcmVzcGVjdGVkLiBUaGlzIGlzIGRvbmUgaW4gdGhlCi1USUZGUmVhZERpcmVjdG9yeSBmdW5jdGlvbiBieSBtYWtpbmcgc3VyZSBhbnkgbm9uLWNvbG9yIGNoYW5uZWwgaXMKLWNvdW50ZWQgaW4gRXh0cmFTYW1wbGVzLgotCi1UaGlzIGNvbW1pdCBhZGRyZXNzZXMgQ1ZFLTIwMTgtNzQ1Ni4KLQotLS0tCi1DVkU6IENWRS0yMDE4LTc0NTYKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbZ2l0bGFiLmNvbS9saWJ0aWZmL2xpYnRpZmYvY29tbWl0L2JlNGM4NWIuLi5dCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotLS0tCi0gbGlidGlmZi90aWZfZGlycmVhZC5jIHwgICA2MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gbGlidGlmZi90aWZfcHJpbnQuYyAgIHwgICAgMiArLQotIDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGlidGlmZi90aWZfZGlycmVhZC5jIGIvbGlidGlmZi90aWZfZGlycmVhZC5jCi1pbmRleCA2YmFhN2IzLi5hZjViODRhIDEwMDY0NAotLS0tIGEvbGlidGlmZi90aWZfZGlycmVhZC5jCi0rKysgYi9saWJ0aWZmL3RpZl9kaXJyZWFkLmMKLUBAIC0xNjUsNiArMTY1LDcgQEAgc3RhdGljIGludCBUSUZGRmV0Y2hTdHJpcFRoaW5nKFRJRkYqIHRpZiwgVElGRkRpckVudHJ5KiBkaXIsIHVpbnQzMiBuc3RyaXBzLCB1aW4KLSBzdGF0aWMgaW50IFRJRkZGZXRjaFN1YmplY3REaXN0YW5jZShUSUZGKiwgVElGRkRpckVudHJ5Kik7Ci0gc3RhdGljIHZvaWQgQ2hvcFVwU2luZ2xlVW5jb21wcmVzc2VkU3RyaXAoVElGRiopOwotIHN0YXRpYyB1aW50NjQgVElGRlJlYWRVSW50NjQoY29uc3QgdWludDggKnZhbHVlKTsKLStzdGF0aWMgaW50IF9USUZGR2V0TWF4Q29sb3JDaGFubmVscyh1aW50MTYgcGhvdG9tZXRyaWMpOwotIAotIHN0YXRpYyBpbnQgX1RJRkZGaWxsU3RyaWxlc0ludGVybmFsKCBUSUZGICp0aWYsIGludCBsb2FkU3RyaXBCeXRlQ291bnQgKTsKLSAKLUBAIC0zNTA1LDYgKzM1MDYsMzUgQEAgc3RhdGljIHZvaWQgVElGRlJlYWREaXJFbnRyeU91dHB1dEVycihUSUZGKiB0aWYsIGVudW0gVElGRlJlYWREaXJFbnRyeUVyciBlcnIsIGMKLSB9Ci0gCi0gLyoKLSsgKiBSZXR1cm4gdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbG9yIGNoYW5uZWxzIHNwZWNpZmllZCBmb3IgYSBnaXZlbiBwaG90b21ldHJpYwotKyAqIHR5cGUuIDAgaXMgcmV0dXJuZWQgaWYgcGhvdG9tZXRyaWMgdHlwZSBpc24ndCBzdXBwb3J0ZWQgb3Igbm8gZGVmYXVsdCB2YWx1ZQotKyAqIGlzIGRlZmluZWQgYnkgdGhlIHNwZWNpZmljYXRpb24uCi0rICovCi0rc3RhdGljIGludCBfVElGRkdldE1heENvbG9yQ2hhbm5lbHMoIHVpbnQxNiBwaG90b21ldHJpYyApCi0rewotKyAgICBzd2l0Y2ggKHBob3RvbWV0cmljKSB7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfUEFMRVRURToKLSsJY2FzZSBQSE9UT01FVFJJQ19NSU5JU1dISVRFOgotKwljYXNlIFBIT1RPTUVUUklDX01JTklTQkxBQ0s6Ci0rICAgICAgICAgICAgcmV0dXJuIDE7Ci0rCWNhc2UgUEhPVE9NRVRSSUNfWUNCQ1I6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfUkdCOgotKwljYXNlIFBIT1RPTUVUUklDX0NJRUxBQjoKLSsgICAgICAgICAgICByZXR1cm4gMzsKLSsJY2FzZSBQSE9UT01FVFJJQ19TRVBBUkFURUQ6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfTUFTSzoKLSsgICAgICAgICAgICByZXR1cm4gNDsKLSsJY2FzZSBQSE9UT01FVFJJQ19MT0dMOgotKwljYXNlIFBIT1RPTUVUUklDX0xPR0xVVjoKLSsJY2FzZSBQSE9UT01FVFJJQ19DRkE6Ci0rCWNhc2UgUEhPVE9NRVRSSUNfSVRVTEFCOgotKwljYXNlIFBIT1RPTUVUUklDX0lDQ0xBQjoKLSsJZGVmYXVsdDoKLSsgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgfQotK30KLSsKLSsvKgotICAqIFJlYWQgdGhlIG5leHQgVElGRiBkaXJlY3RvcnkgZnJvbSBhIGZpbGUgYW5kIGNvbnZlcnQgaXQgdG8gdGhlIGludGVybmFsCi0gICogZm9ybWF0LiBXZSByZWFkIGRpcmVjdG9yaWVzIHNlcXVlbnRpYWxseS4KLSAgKi8KLUBAIC0zNTIwLDYgKzM1NTAsNyBAQCBUSUZGUmVhZERpcmVjdG9yeShUSUZGKiB0aWYpCi0gCXVpbnQzMiBmaWk9RkFJTEVEX0ZJSTsKLSAgICAgICAgIHRvZmZfdCBuZXh0ZGlyb2ZmOwotICAgICBpbnQgYml0c3BlcnNhbXBsZV9yZWFkID0gRkFMU0U7Ci0rICAgICAgICBpbnQgY29sb3JfY2hhbm5lbHM7Ci0gCi0gCXRpZi0+dGlmX2Rpcm9mZj10aWYtPnRpZl9uZXh0ZGlyb2ZmOwotIAlpZiAoIVRJRkZDaGVja0Rpck9mZnNldCh0aWYsdGlmLT50aWZfbmV4dGRpcm9mZikpCi1AQCAtNDAyNCw2ICs0MDU1LDM3IEBAIFRJRkZSZWFkRGlyZWN0b3J5KFRJRkYqIHRpZikKLSAJCQl9Ci0gCQl9Ci0gCX0KLSsKLSsJLyoKLSsJICogTWFrZSBzdXJlIGFsbCBub24tY29sb3IgY2hhbm5lbHMgYXJlIGV4dHJhc2FtcGxlcy4KLSsJICogSWYgaXQncyBub3QgdGhlIGNhc2UsIGRlZmluZSB0aGVtIGFzIHN1Y2guCi0rCSAqLwotKyAgICAgICAgY29sb3JfY2hhbm5lbHMgPSBfVElGRkdldE1heENvbG9yQ2hhbm5lbHModGlmLT50aWZfZGlyLnRkX3Bob3RvbWV0cmljKTsKLSsgICAgICAgIGlmIChjb2xvcl9jaGFubmVscyAmJiB0aWYtPnRpZl9kaXIudGRfc2FtcGxlc3BlcnBpeGVsIC0gdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyA+IGNvbG9yX2NoYW5uZWxzKSB7Ci0rICAgICAgICAgICAgICAgIHVpbnQxNiBvbGRfZXh0cmFzYW1wbGVzOwotKyAgICAgICAgICAgICAgICB1aW50MTYgKm5ld19zYW1wbGVpbmZvOwotKwotKyAgICAgICAgICAgICAgICBUSUZGV2FybmluZ0V4dCh0aWYtPnRpZl9jbGllbnRkYXRhLG1vZHVsZSwgIlN1bSBvZiBQaG90b21ldHJpYyB0eXBlLXJlbGF0ZWQgIgotKyAgICAgICAgICAgICAgICAgICAgImNvbG9yIGNoYW5uZWxzIGFuZCBFeHRyYVNhbXBsZXMgZG9lc24ndCBtYXRjaCBTYW1wbGVzUGVyUGl4ZWwuICIKLSsgICAgICAgICAgICAgICAgICAgICJEZWZpbmluZyBub24tY29sb3IgY2hhbm5lbHMgYXMgRXh0cmFTYW1wbGVzLiIpOwotKwotKyAgICAgICAgICAgICAgICBvbGRfZXh0cmFzYW1wbGVzID0gdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlczsKLSsgICAgICAgICAgICAgICAgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyA9ICh0aWYtPnRpZl9kaXIudGRfc2FtcGxlc3BlcnBpeGVsIC0gY29sb3JfY2hhbm5lbHMpOwotKwotKyAgICAgICAgICAgICAgICAvLyBzYW1wbGVpbmZvIHNob3VsZCBjb250YWluIGluZm9ybWF0aW9uIHJlbGF0aXZlIHRvIHRoZXNlIG5ldyBleHRyYSBzYW1wbGVzCi0rICAgICAgICAgICAgICAgIG5ld19zYW1wbGVpbmZvID0gKHVpbnQxNiopIF9USUZGY2FsbG9jKHRpZi0+dGlmX2Rpci50ZF9leHRyYXNhbXBsZXMsIHNpemVvZih1aW50MTYpKTsKLSsgICAgICAgICAgICAgICAgaWYgKCFuZXdfc2FtcGxlaW5mbykgewotKyAgICAgICAgICAgICAgICAgICAgVElGRkVycm9yRXh0KHRpZi0+dGlmX2NsaWVudGRhdGEsIG1vZHVsZSwgIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZW1wb3JhcnkgbmV3IHNhbXBsZWluZm8gYXJyYXkgKCVkIDE2IGJpdCBlbGVtZW50cykiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyk7Ci0rICAgICAgICAgICAgICAgICAgICBnb3RvIGJhZDsKLSsgICAgICAgICAgICAgICAgfQotKwotKyAgICAgICAgICAgICAgICBtZW1jcHkobmV3X3NhbXBsZWluZm8sIHRpZi0+dGlmX2Rpci50ZF9zYW1wbGVpbmZvLCBvbGRfZXh0cmFzYW1wbGVzICogc2l6ZW9mKHVpbnQxNikpOwotKyAgICAgICAgICAgICAgICBfVElGRnNldFNob3J0QXJyYXkoJnRpZi0+dGlmX2Rpci50ZF9zYW1wbGVpbmZvLCBuZXdfc2FtcGxlaW5mbywgdGlmLT50aWZfZGlyLnRkX2V4dHJhc2FtcGxlcyk7Ci0rICAgICAgICAgICAgICAgIF9USUZGZnJlZShuZXdfc2FtcGxlaW5mbyk7Ci0rICAgICAgICB9Ci0rCi0gCS8qCi0gCSAqIFZlcmlmeSBQYWxldHRlIGltYWdlIGhhcyBhIENvbG9ybWFwLgotIAkgKi8KLWRpZmYgLS1naXQgYS9saWJ0aWZmL3RpZl9wcmludC5jIGIvbGlidGlmZi90aWZfcHJpbnQuYwotaW5kZXggOGRlY2ViMi4uMWQ4NmFkYiAxMDA2NDQKLS0tLSBhL2xpYnRpZmYvdGlmX3ByaW50LmMKLSsrKyBiL2xpYnRpZmYvdGlmX3ByaW50LmMKLUBAIC01NDQsNyArNTQ0LDcgQEAgVElGRlByaW50RGlyZWN0b3J5KFRJRkYqIHRpZiwgRklMRSogZmQsIGxvbmcgZmxhZ3MpCi0gCQkJCXVpbnQxNiBpOwotIAkJCQlmcHJpbnRmKGZkLCAiICAgICUybGQ6ICU1dSIsCi0gCQkJCSAgICBsLCB0ZC0+dGRfdHJhbnNmZXJmdW5jdGlvblswXVtsXSk7Ci0tCQkJCWZvciAoaSA9IDE7IGkgPCB0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsOyBpKyspCi0rCQkJCWZvciAoaSA9IDE7IGkgPCB0ZC0+dGRfc2FtcGxlc3BlcnBpeGVsIC0gdGQtPnRkX2V4dHJhc2FtcGxlcyAmJiBpIDwgMzsgaSsrKQotIAkJCQkJZnByaW50ZihmZCwgIiAlNXUiLAotIAkJCQkJICAgIHRkLT50ZF90cmFuc2ZlcmZ1bmN0aW9uW2ldW2xdKTsKLSAJCQkJZnB1dGMoJ1xuJywgZmQpOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9DVkUtMjAxOC04OTA1LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTg5MDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2MjY0NmQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL0NWRS0yMDE4LTg5MDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDU4YTg5OGNiNDQ1OTA1NWJiNDg4Y2E4MTVjMjNiODgwYzI0MmEyN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFdmVuIFJvdWF1bHQgPGV2ZW4ucm91YXVsdEBzcGF0aWFseXMuY29tPgotRGF0ZTogU2F0LCAxMiBNYXkgMjAxOCAxNTozMjozMSArMDIwMAotU3ViamVjdDogW1BBVENIXSBMWldEZWNvZGVDb21wYXQoKTogZml4IHBvdGVudGlhbCBpbmRleC1vdXQtb2YtYm91bmRzIHdyaXRlLgotIEZpeGVzIGh0dHA6Ly9idWd6aWxsYS5tYXB0b29scy5vcmcvc2hvd19idWcuY2dpP2lkPTI3ODAgLwotIENWRS0yMDE4LTg5MDUKLQotVGhlIGZpeCBjb25zaXN0cyBpbiB1c2luZyB0aGUgc2ltaWxhciBjb2RlIExaV0RlY29kZSgpIHRvIHZhbGlkYXRlIHdlCi1kb24ndCB3cml0ZSBvdXRzaWRlIG9mIHRoZSBvdXRwdXQgYnVmZmVyLgotCi0tLS0KLUNWRTogQ1ZFLTIwMTgtODkwNQotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtnaXRsYWIuY29tL2xpYnRpZmYvbGlidGlmZi9jb21taXQvNThhODk4Li4uXQotCi1TaWduZWQtb2ZmLWJ5OiBKb2UgU2xhdGVyIDxqb2Uuc2xhdGVyQHdpbmRyaXZlci5jb20+Ci0KLS0tLQotIGxpYnRpZmYvdGlmX2x6dy5jIHwgICAxOCArKysrKysrKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2xpYnRpZmYvdGlmX2x6dy5jIGIvbGlidGlmZi90aWZfbHp3LmMKLWluZGV4IDRjY2I0NDMuLjk0ZDg1ZTMgMTAwNjQ0Ci0tLS0gYS9saWJ0aWZmL3RpZl9sencuYwotKysrIGIvbGlidGlmZi90aWZfbHp3LmMKLUBAIC02MDIsNiArNjAyLDcgQEAgTFpXRGVjb2RlQ29tcGF0KFRJRkYqIHRpZiwgdWludDgqIG9wMCwgdG1zaXplX3Qgb2NjMCwgdWludDE2IHMpCi0gCWNoYXIgKnRwOwotIAl1bnNpZ25lZCBjaGFyICpicDsKLSAJaW50IGNvZGUsIG5iaXRzOwotKwlpbnQgbGVuOwotIAlsb25nIG5leHRiaXRzLCBuZXh0ZGF0YSwgbmJpdHNtYXNrOwotIAljb2RlX3QgKmNvZGVwLCAqZnJlZV9lbnRwLCAqbWF4Y29kZXAsICpvbGRjb2RlcDsKLSAKLUBAIC03NTMsMTMgKzc1NCwxOCBAQCBMWldEZWNvZGVDb21wYXQoVElGRiogdGlmLCB1aW50OCogb3AwLCB0bXNpemVfdCBvY2MwLCB1aW50MTYgcykKLSAJCQkJfSAgd2hpbGUgKC0tb2NjKTsKLSAJCQkJYnJlYWs7Ci0gCQkJfQotLQkJCWFzc2VydChvY2MgPj0gY29kZXAtPmxlbmd0aCk7Ci0tCQkJb3AgKz0gY29kZXAtPmxlbmd0aDsKLS0JCQlvY2MgLT0gY29kZXAtPmxlbmd0aDsKLS0JCQl0cCA9IG9wOwotKwkJCWxlbiA9IGNvZGVwLT5sZW5ndGg7Ci0rCQkJdHAgPSBvcCArIGxlbjsKLSAJCQlkbyB7Ci0tCQkJCSotLXRwID0gY29kZXAtPnZhbHVlOwotLQkJCX0gd2hpbGUoIChjb2RlcCA9IGNvZGVwLT5uZXh0KSAhPSBOVUxMICk7Ci0rCQkJCWludCB0OwotKwkJCQktLXRwOwotKwkJCQl0ID0gY29kZXAtPnZhbHVlOwotKwkJCQljb2RlcCA9IGNvZGVwLT5uZXh0OwotKwkJCQkqdHAgPSAoY2hhcil0OwotKwkJCX0gd2hpbGUgKGNvZGVwICYmIHRwID4gb3ApOwotKwkJCWFzc2VydChvY2MgPj0gbGVuKTsKLSsJCQlvcCArPSBsZW47Ci0rCQkJb2NjIC09IGxlbjsKLSAJCX0gZWxzZSB7Ci0gCQkJKm9wKysgPSAoY2hhciljb2RlOwotIAkJCW9jYy0tOwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9saWJ0b29sMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi9maWxlcy9saWJ0b29sMi5wYXRjaAppbmRleCBhODRjNjg4Li45NjIzM2I0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvZmlsZXMvbGlidG9vbDIucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL2ZpbGVzL2xpYnRvb2wyLnBhdGNoCkBAIC0xLDE2ICsxLDIxIEBACitGcm9tIDViODkzMjA2ZTBhMGQ1MjliYTJkMGNhZjU4Y2ZmZmMwM2JjY2I1OTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJjaW4gSnVzemtpZXdpY3ogPGhyd0BvcGVuZWRoYW5kLmNvbT4KK0RhdGU6IFNhdCwgMTQgSnVuIDIwMDggMTM6NDI6MjIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gdGlmZjogbWFrZSBpdCB3b3JrIGFmdGVyIGxpYnRvb2wgdXBncmFkZQorCiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCiAKIC0tLQotIGNvbmZpZ3VyZS5hYyB8ICAgIDIgKy0KKyBjb25maWd1cmUuYWMgfCAyICstCiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKLUluZGV4OiB0aWZmLTQuMC45L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHRpZmYtNC4wLjkub3JpZy9jb25maWd1cmUuYWMKLSsrKyB0aWZmLTQuMC45L2NvbmZpZ3VyZS5hYwotQEAgLTI3LDcgKzI3LDcgQEAgZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcAorZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggYzdiMDJlMi4uYWUxYzk2NCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjcsNyArMjcsNyBAQCBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KICBBQ19QUkVSRVEoMi42NCkKLSBBQ19JTklUKFtMaWJUSUZGIFNvZnR3YXJlXSxbNC4wLjldLFt0aWZmQGxpc3RzLm1hcHRvb2xzLm9yZ10sW3RpZmZdKQorIEFDX0lOSVQoW0xpYlRJRkYgU29mdHdhcmVdLFs0LjAuMTBdLFt0aWZmQGxpc3RzLm1hcHRvb2xzLm9yZ10sW3RpZmZdKQogIEFDX0NPTkZJR19BVVhfRElSKGNvbmZpZykKIC1BQ19DT05GSUdfTUFDUk9fRElSKG00KQogK2RubCBBQ19DT05GSUdfTUFDUk9fRElSKG00KQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9saWJ0aWZmL3RpZmZfNC4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MmZhODEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuMTAuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJQcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgVGFnIEltYWdlIEZpbGUgRm9ybWF0IChUSUZGKSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zNGRhM2RiNDZmYWI3NTAxOTkyZjk2MTVkN2UxNThjZiIKKworQ1ZFX1BST0RVQ1QgPSAibGlidGlmZiIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2xpYnRpZmYvdGlmZi0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbGlidG9vbDIucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxMTQxOTJkN2ViZTUzNzkxMmEyYjk3NDA4ODMyZTdmZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYzUyZDExY2NhZjc2NzQ1N2RiMGM0Njc5NWQ5YzdkMWE4ZDhmNzZmNjhiMGI4MDBhM2RmZTQ1Nzg2Yjk5NmU0IgorCisjIGV4Y2x1ZGUgYmV0YXMKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gInRpZmYtKD9QPHB2ZXI+XGQrKFwuXGQrKSspLnRhciIKKworaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfaGVhZGVyCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTID0gImF4X2N2X2NoZWNrX2dsX2xpYmdsPW5vIgorCitQQUNLQUdFQ09ORklHID89ICJjeHgganBlZyB6bGliIGx6bWEgXAorICAgICAgICAgICAgICAgICAgc3RyaXAtY2hvcHBpbmcgZXh0cmFzYW1wbGUtYXMtYWxwaGEgY2hlY2steWNiY3Itc3Vic2FtcGxpbmciCisKK1BBQ0tBR0VDT05GSUdbY3h4XSA9ICItLWVuYWJsZS1jeHgsLS1kaXNhYmxlLWN4eCwsIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWcsIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLWVuYWJsZS16bGliLC0tZGlzYWJsZS16bGliLHpsaWIsIgorUEFDS0FHRUNPTkZJR1tsem1hXSA9ICItLWVuYWJsZS1sem1hLC0tZGlzYWJsZS1sem1hLHh6LCIKKworIyBDb252ZXJ0IHNpbmdsZS1zdHJpcCB1bmNvbXByZXNzZWQgaW1hZ2VzIHRvIG11bHRpcGxlIHN0cmlwcyBvZiBzcGVjaWZpZWQKKyMgc2l6ZSAoZGVmYXVsdDogODE5MikgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZQorUEFDS0FHRUNPTkZJR1tzdHJpcC1jaG9wcGluZ10gPSAiLS1lbmFibGUtc3RyaXAtY2hvcHBpbmcsLS1kaXNhYmxlLXN0cmlwLWNob3BwaW5nLCwiCisKKyMgVHJlYXQgYSBmb3VydGggc2FtcGxlIHdpdGggbm8gRVhUUkFTQU1QTEVfIHZhbHVlIGFzIGJlaW5nIEFTU09DQUxQSEEKK1BBQ0tBR0VDT05GSUdbZXh0cmFzYW1wbGUtYXMtYWxwaGFdID0gIi0tZW5hYmxlLWV4dHJhc2FtcGxlLWFzLWFscGhhLC0tZGlzYWJsZS1leHRyYXNhbXBsZS1hcy1hbHBoYSwsIgorCisjIENvbnRyb2wgcGlja2luZyB1cCBZQ2JDciBzdWJzYW1wbGUgaW5mby4gRGlzYWJsZSB0byBzdXBwb3J0IGZpbGVzIGxhY2tpbmcKKyMgdGhlIHRhZworUEFDS0FHRUNPTkZJR1tjaGVjay15Y2Jjci1zdWJzYW1wbGluZ10gPSAiLS1lbmFibGUtY2hlY2steWNiY3Itc3Vic2FtcGxpbmcsLS1kaXNhYmxlLWNoZWNrLXljYmNyLXN1YnNhbXBsaW5nLCwiCisKKyMgU3VwcG9ydCBhIG1lY2hhbmlzbSBhbGxvd2luZyByZWFkaW5nIGxhcmdlIHN0cmlwcyAodXN1YWxseSBvbmUgc3RyaXAgZmlsZXMpCisjIGluIGNodW5rcyB3aGVuIHVzaW5nIFRJRkZSZWFkU2NhbmxpbmUuIEV4cGVyaW1lbnRhbCA0LjArIGZlYXR1cmUKK1BBQ0tBR0VDT05GSUdbY2h1bmt5LXN0cmlwLXJlYWRdID0gIi0tZW5hYmxlLWNodW5reS1zdHJpcC1yZWFkLC0tZGlzYWJsZS1jaHVua3ktc3RyaXAtcmVhZCwsIgorCitQQUNLQUdFUyA9KyAidGlmZnh4IHRpZmYtdXRpbHMiCitGSUxFU190aWZmeHggPSAiJHtsaWJkaXJ9L2xpYnRpZmZ4eC5zby4qIgorRklMRVNfdGlmZi11dGlscyA9ICIke2JpbmRpcn0vKiIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgb2VfbXVsdGlsaWJfaGVhZGVyIHRpZmZjb25mLmgKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL2xpYnRpZmYvdGlmZl80LjAuOS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5M2JlZGRiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbGlidGlmZi90aWZmXzQuMC45LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotU1VNTUFSWSA9ICJQcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgVGFnIEltYWdlIEZpbGUgRm9ybWF0IChUSUZGKSIKLUxJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWVJJR0hUO21kNT0zNGRhM2RiNDZmYWI3NTAxOTkyZjk2MTVkN2UxNThjZiIKLQotQ1ZFX1BST0RVQ1QgPSAibGlidGlmZiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQub3NnZW8ub3JnL2xpYnRpZmYvdGlmZi0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vbGlidG9vbDIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctOTkzNS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy0xODAxMy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxOC01Nzg0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTEwOTYzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTg5MDUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtNzQ1Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy0xNzA5NS5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNTRiYWQyMTEyNzljYzkzZWI0ZmNhMzFiYTliZmRjNzkiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNmU3YmRlZWMyYzMxMDczNGU3MzRkMTlhYWUzYTcxZWJlMzdhNGQ4NDJlMGUyM2RiYjFiODkyMWMwMDI2Y2ZjZCIKLQotIyBleGNsdWRlIGJldGFzCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ0aWZmLSg/UDxwdmVyPlxkKyhcLlxkKykrKS50YXIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyA9ICJheF9jdl9jaGVja19nbF9saWJnbD1ubyIKLQotUEFDS0FHRUNPTkZJRyA/PSAiY3h4IGpwZWcgemxpYiBsem1hIFwKLSAgICAgICAgICAgICAgICAgIHN0cmlwLWNob3BwaW5nIGV4dHJhc2FtcGxlLWFzLWFscGhhIGNoZWNrLXljYmNyLXN1YnNhbXBsaW5nIgotCi1QQUNLQUdFQ09ORklHW2N4eF0gPSAiLS1lbmFibGUtY3h4LC0tZGlzYWJsZS1jeHgsLCIKLVBBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnLCIKLVBBQ0tBR0VDT05GSUdbemxpYl0gPSAiLS1lbmFibGUtemxpYiwtLWRpc2FibGUtemxpYix6bGliLCIKLVBBQ0tBR0VDT05GSUdbbHptYV0gPSAiLS1lbmFibGUtbHptYSwtLWRpc2FibGUtbHptYSx4eiwiCi0KLSMgQ29udmVydCBzaW5nbGUtc3RyaXAgdW5jb21wcmVzc2VkIGltYWdlcyB0byBtdWx0aXBsZSBzdHJpcHMgb2Ygc3BlY2lmaWVkCi0jIHNpemUgKGRlZmF1bHQ6IDgxOTIpIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2UKLVBBQ0tBR0VDT05GSUdbc3RyaXAtY2hvcHBpbmddID0gIi0tZW5hYmxlLXN0cmlwLWNob3BwaW5nLC0tZGlzYWJsZS1zdHJpcC1jaG9wcGluZywsIgotCi0jIFRyZWF0IGEgZm91cnRoIHNhbXBsZSB3aXRoIG5vIEVYVFJBU0FNUExFXyB2YWx1ZSBhcyBiZWluZyBBU1NPQ0FMUEhBCi1QQUNLQUdFQ09ORklHW2V4dHJhc2FtcGxlLWFzLWFscGhhXSA9ICItLWVuYWJsZS1leHRyYXNhbXBsZS1hcy1hbHBoYSwtLWRpc2FibGUtZXh0cmFzYW1wbGUtYXMtYWxwaGEsLCIKLQotIyBDb250cm9sIHBpY2tpbmcgdXAgWUNiQ3Igc3Vic2FtcGxlIGluZm8uIERpc2FibGUgdG8gc3VwcG9ydCBmaWxlcyBsYWNraW5nCi0jIHRoZSB0YWcKLVBBQ0tBR0VDT05GSUdbY2hlY2steWNiY3Itc3Vic2FtcGxpbmddID0gIi0tZW5hYmxlLWNoZWNrLXljYmNyLXN1YnNhbXBsaW5nLC0tZGlzYWJsZS1jaGVjay15Y2Jjci1zdWJzYW1wbGluZywsIgotCi0jIFN1cHBvcnQgYSBtZWNoYW5pc20gYWxsb3dpbmcgcmVhZGluZyBsYXJnZSBzdHJpcHMgKHVzdWFsbHkgb25lIHN0cmlwIGZpbGVzKQotIyBpbiBjaHVua3Mgd2hlbiB1c2luZyBUSUZGUmVhZFNjYW5saW5lLiBFeHBlcmltZW50YWwgNC4wKyBmZWF0dXJlCi1QQUNLQUdFQ09ORklHW2NodW5reS1zdHJpcC1yZWFkXSA9ICItLWVuYWJsZS1jaHVua3ktc3RyaXAtcmVhZCwtLWRpc2FibGUtY2h1bmt5LXN0cmlwLXJlYWQsLCIKLQotUEFDS0FHRVMgPSsgInRpZmZ4eCB0aWZmLXV0aWxzIgotRklMRVNfdGlmZnh4ID0gIiR7bGliZGlyfS9saWJ0aWZmeHguc28uKiIKLUZJTEVTX3RpZmYtdXRpbHMgPSAiJHtiaW5kaXJ9LyoiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIG9lX211bHRpbGliX2hlYWRlciB0aWZmY29uZi5oCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9maWxlcy82MV9nbG9iYWwtc3ltYm9sLXRlc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZWcyZGVjL2ZpbGVzLzYxX2dsb2JhbC1zeW1ib2wtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGI2NjdkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9maWxlcy82MV9nbG9iYWwtc3ltYm9sLXRlc3QucGF0Y2gKQEAgLTAsMCArMSw3MCBAQAorUmV3cml0ZSB0aGUgcHVibGljIHN5bWJvbCBjaGVjayB0byB2ZXJpZnkgdGhlIHNoYXJlZCBsaWJyYXJpZXMsIHRvIGNoZWNrIGZvcgorbW9yZSB0aGluZ3MsIGFuZCB0byBhdm9pZCBkdXBsaWNhdGlvbjsgZml4ZXMgbWFrZSBjaGVjayBvbiBBUk0KKworVGFrZW4gRnJvbQoraHR0cHM6Ly9zb3VyY2VzLmRlYmlhbi5vcmcvc3JjL21wZWcyZGVjLzAuNS4xLTgvZGViaWFuL3BhdGNoZXMvNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoLworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIHRlc3QvZ2xvYmFscyB8ICAgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQorCistLS0gbXBlZzJkZWMub3JpZy90ZXN0L2dsb2JhbHMKKysrKyBtcGVnMmRlYy90ZXN0L2dsb2JhbHMKK0BAIC0xLDQgKzEsOCBAQAorICMhL2Jpbi9zaAorKyMgVE9ETworKyMgLSBmaXggY2hlY2tpbmcgb2YgLmEgbGliczsgcHJvYmxlbSBpcyB0aGF0ICJubSAtZyAtLWRlZmluZWQtb25seSIgbGlzdHMKKysjICAgaW50ZXJuYWwgc3ltYm9sczsgdGhpcyBjYW4gYmUgc29sdmVkIGJ5IHVzaW5nIG9iamR1bXAsIGJ1dCBpdCdzIHByb2JhYmx5CisrIyAgIGdvb2QgZW5vdWdoIHRvIGp1c3QgcnVuIHRoZSB0ZXN0cyBvbiB0aGUgc2hhcmVkIGxpYgorIAorIGlmIHRlc3QgeCIkc3JjZGlyIiAhPSB4IiI7IHRoZW4KKyAgICAgYnVpbGRkaXI9Ii4iCSMgcnVubmluZyBmcm9tIG1ha2UgY2hlY2ssIGJ1dCBpdCBkb2VzIG5vdCBkZWZpbmUgdGhhdAorQEAgLTE0LDIyICsxOCwzMCBAQCBidWlsZGRpcj1gY2QgJGJ1aWxkZGlyO3B3ZGAKKyAKKyBlcnJvcj0wCisgCistYmFkX2dsb2JhbHM9YG5tIC1nIC0tZGVmaW5lZC1vbmx5ICRidWlsZGRpci8uLi9saWJtcGVnMi8qLm8gfFwKKy0gICAgYXdrICd7aWYgKCQzKSBwcmludCAkM30nIHwgZ3JlcCAtdiAnXl9cP21wZWcyXydgCistCistaWYgdGVzdCB4IiRiYWRfZ2xvYmFscyIgIT0geCIiOyB0aGVuCistICAgIGVjaG8gQkFEIEdMT0JBTCBTWU1CT0xTOgorLSAgICBmb3IgcyBpbiAkYmFkX2dsb2JhbHM7IGRvIGVjaG8gJHM7IGRvbmUKKysjIGNoZWNrX2JhZF9wdWJsaWNfc3ltYm9scyA8c3ltYm9sIHByZWZpeD4gPGxpYiBmaWxlPiBbPGxpYiBmaWxlPi4uLl0KKysjCisrIyBjaGVja3MgcHVibGljIHN5bWJvbHMgaW4gc2hhcmVkIGxpYnM6CisrIyAtIGFsbG93IHByZWZpeF9hbnl0aGluZworKyMgLSByZWplY3QgX3ByZWZpeGFueXRoaW5nCisrIyAtIGFsbG93IF9hbnl0aGluZworKyMgLSByZWplY3QgYW55dGhpbmcgZWxzZQorKyMKKysjIE5COiBza2lwcyBtaXNzaW5nIGZpbGVzCisrY2hlY2tfYmFkX3B1YmxpY19zeW1ib2xzKCkgeworKyAgICBzeW1ib2xzX3ByZWZpeD0iJDEiCisrICAgIHNoaWZ0CisrICAgIGxpYl9maWxlcz1gbHMgIiRAIiAyPi9kZXYvbnVsbGAKKysgICAgWyAteiAiJGxpYl9maWxlcyIgXSAmJiByZXR1cm4KKysgICAgYmFkX2dsb2JhbHM9YG5tIC1nIC0tZGVmaW5lZC1vbmx5ICRsaWJfZmlsZXMgfAorKyAgICAgICAgYXdrICd7aWYgKCQzKSBwcmludCAkM30nIHwKKysgICAgICAgIHNlZCAtbiAiL14ke3N5bWJvbHNfcHJlZml4fV8vIGQ7IC9eXyR7c3ltYm9sc19wcmVmaXh9LyB7IHA7IGQgfTsgL15fLyBkOyBwImAKKysgICAgWyAteiAiJGJhZF9nbG9iYWxzIiBdICYmIHJldHVybgorICAgICBlcnJvcj0xCistZmkKKy0KKy1iYWRfZ2xvYmFscz1gbm0gLWcgLS1kZWZpbmVkLW9ubHkgJGJ1aWxkZGlyLy4uL2xpYm1wZWcyL2NvbnZlcnQvKi5vIHxcCistICAgIGF3ayAne2lmICgkMykgcHJpbnQgJDN9JyB8IGdyZXAgLXYgJ15fXD9tcGVnMmNvbnZlcnRfJ2AKKysgICAgZWNobyBCQUQgR0xPQkFMIFNZTUJPTFMgaW4gJGxpYl9maWxlczoKKysgICAgZWNobyAiJGJhZF9nbG9iYWxzIgorK30KKyAKKy1pZiB0ZXN0IHgiJGJhZF9nbG9iYWxzIiAhPSB4IiI7IHRoZW4KKy0gICAgZWNobyBCQUQgR0xPQkFMIFNZTUJPTFM6CistICAgIGZvciBzIGluICRiYWRfZ2xvYmFsczsgZG8gZWNobyAkczsgZG9uZQorLSAgICBlcnJvcj0xCistZmkKKytjaGVja19iYWRfcHVibGljX3N5bWJvbHMgbXBlZzIgJGJ1aWxkZGlyLy4uL2xpYm1wZWcyLy5saWJzL2xpYm1wZWcyLnNvCisrY2hlY2tfYmFkX3B1YmxpY19zeW1ib2xzIG1wZWcyY29udmVydCAkYnVpbGRkaXIvLi4vbGlibXBlZzIvY29udmVydC8ubGlicy9saWJtcGVnMmNvbnZlcnQuc28KKyAKKyBleGl0ICRlcnJvcgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9tcGVnMmRlY18wLjUuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvbXBlZzJkZWMvbXBlZzJkZWNfMC41LjEuYmIKaW5kZXggNzcxMWMyZC4uNmI1OWQ0ZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9tcGVnMmRlYy9tcGVnMmRlY18wLjUuMS5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL21wZWcyZGVjL21wZWcyZGVjXzAuNS4xLmJiCkBAIC0xMCw2ICsxMCw3IEBACiAgICAgICAgICAgIGZpbGU6Ly9hbHRpdmVjX2hfbmVlZGVkLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtY2hlY2stZm9yLWF2YWlsYWJsZS1hcm0tb3B0aW1pemF0aW9ucy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLVNldC12aXNpYmlsaXR5LW9mLWdsb2JhbC1zeW1ib2xzLXVzZWQtaW4tQVJNLXNwZWNpZmkucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vNjFfZ2xvYmFsLXN5bWJvbC10ZXN0LnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vbGlibXBlZzItJHtQVn0iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby5pbmMKaW5kZXggZjUyNjY5MC4uOWE5NWU3YyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8uaW5jCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvLmluYwpAQCAtNTgsMTAgKzU4LDEwIEBACiAKIERFUEVORFMgPSAibGliYXRvbWljLW9wcyBsaWJzbmRmaWxlMSBsaWJ0b29sIGludGx0b29sLW5hdGl2ZSIKICMgb3B0aW9uYWwKLURFUEVORFMgKz0gInVkZXYgYWxzYS1saWIgZ2xpYi0yLjAgZ2NvbmYiCitERVBFTkRTICs9ICJ1ZGV2IGFsc2EtbGliIGdsaWItMi4wIgogREVQRU5EUyArPSAic3BlZXhkc3AgbGlieG1sLXBhcnNlci1wZXJsLW5hdGl2ZSBsaWJjYXAiCiAKLWluaGVyaXQgYXV0b3Rvb2xzIGJhc2gtY29tcGxldGlvbiBwa2djb25maWcgdXNlcmFkZCBnZXR0ZXh0IHBlcmxuYXRpdmUgYmx1ZXRvb3RoIHN5c3RlbWQgbWFucGFnZXMKK2luaGVyaXQgYXV0b3Rvb2xzIGJhc2gtY29tcGxldGlvbiBwa2djb25maWcgdXNlcmFkZCBnZXR0ZXh0IHBlcmxuYXRpdmUgYmx1ZXRvb3RoIHN5c3RlbWQgbWFucGFnZXMgZ3NldHRpbmdzCiAKICMgKi5kZXNrdG9wIHJ1bGVzIHdvbnQgYmUgZ2VuZXJhdGVkIGR1cmluZyBjb25maWd1cmUgYW5kIGJ1aWxkIHdpbGwgZmFpbAogIyBpZiB1c2luZyAtLWRpc2FibGUtbmxzCkBAIC03Niw4ICs3Niw5IEBACiAJCS0td2l0aC1kYXRhYmFzZT1zaW1wbGUgXAogCQktLXdpdGhvdXQtenNoLWNvbXBsZXRpb24tZGlyIFwKIAkJLS13aXRoLXVkZXYtcnVsZXMtZGlyPWBwa2ctY29uZmlnIC0tdmFyaWFibGU9dWRldmRpciB1ZGV2YC9ydWxlcy5kIFwKLSAgICAgICAgICAgICAgICBhY19jdl9oZWFkZXJfdmFsZ3JpbmRfbWVtY2hlY2tfaD1ubyBcCi0gICAgICAgICAgICAgICAgLS1kaXNhYmxlLXRlc3RzIFwKKwkJYWNfY3ZfaGVhZGVyX3ZhbGdyaW5kX21lbWNoZWNrX2g9bm8gXAorCQktLWRpc2FibGUtdGVzdHMgXAorCQktLWRpc2FibGUtcnVubmluZy1mcm9tLWJ1aWxkLXRyZWUgXAogIgogCiAjIHNveHIgKHRoZSBTb1ggUmVzYW1wbGVyIGxpYnJhcnkpIGRvZXNuJ3Qgc2VlbSB0byBiZSBjdXJyZW50bHkgcGFja2FnZWQgaW4KQEAgLTk3LDIwICs5OCwxOCBAQAogIyB2ZXJ5IGdvb2QgYW55d2F5LCBiZXR0ZXIgYWx0ZXJuYXRpdmVzIGV4aXN0IChzdWNoIGFzIHRoZSB3ZWJydGMgY2FuY2VsbGVyKS4KIEVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWFkcmlhbi1hZWMiCiAKLSMgRklYTUU6IFRoZSBnc2V0dGluZ3MgbW9kdWxlIGlzIHRlbXBvcmFyaWx5IGRpc2FibGVkLCBiZWNhdXNlIGFkZGluZyBzdXBwb3J0Ci0jIGZvciBpdCBpcyBhIGJpdCBjb21wbGljYXRlZC4KLUVYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWdzZXR0aW5ncyIKLQogUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYmx1ZXRvb3RoJywgJyR7QkxVRVp9JywgJycsIGQpfSBcCiAgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd6ZXJvY29uZicsICdhdmFoaScsICcnLCBkKX0gXAogICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnM2cnLCAnb2Zvbm8nLCAnJywgZCl9IFwKICAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2IHN5c3RlbWQgeDExJywgZCl9IFwKLSAgICAgICAgICAgICAgICAgICBkYnVzIFwKKyAgICAgICAgICAgICAgICAgICBkYnVzIGdzZXR0aW5ncyBcCiAgICAgICAgICAgICAgICAgICAgIgogCiBQQUNLQUdFQ09ORklHW2RidXNdID0gIi0tZW5hYmxlLWRidXMsLS1kaXNhYmxlLWRidXMsZGJ1cyIKIFBBQ0tBR0VDT05GSUdbYmx1ZXo0XSA9ICItLWVuYWJsZS1ibHVlejQsLS1kaXNhYmxlLWJsdWV6NCxibHVlejQgc2JjIgogUEFDS0FHRUNPTkZJR1tibHVlejVdID0gIi0tZW5hYmxlLWJsdWV6NSwtLWRpc2FibGUtYmx1ZXo1LGJsdWV6NSBzYmMiCitQQUNLQUdFQ09ORklHW2djb25mXSA9ICItLWVuYWJsZS1nY29uZiwtLWRpc2FibGUtZ2NvbmYsZ2NvbmYiCitQQUNLQUdFQ09ORklHW2dzZXR0aW5nc10gPSAiLS1lbmFibGUtZ3NldHRpbmdzLC0tZGlzYWJsZS1nc2V0dGluZ3MsZ2xpYi0yLjAtbmF0aXZlIGdsaWItMi4wIgogUEFDS0FHRUNPTkZJR1tvZm9ub10gPSAiLS1lbmFibGUtYmx1ZXo1LW9mb25vLWhlYWRzZXQsLS1kaXNhYmxlLWJsdWV6NS1vZm9uby1oZWFkc2V0LG9mb25vIgogUEFDS0FHRUNPTkZJR1tndGtdID0gIi0tZW5hYmxlLWd0azMsLS1kaXNhYmxlLWd0azMsZ3RrKzMiCiBQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0tZW5hYmxlLXN5c3RlbWQtZGFlbW9uIC0tZW5hYmxlLXN5c3RlbWQtbG9naW4gLS1lbmFibGUtc3lzdGVtZC1qb3VybmFsIC0td2l0aC1zeXN0ZW1kdXNlcnVuaXRkaXI9JHtzeXN0ZW1kX3VzZXJfdW5pdGRpcn0sLS1kaXNhYmxlLXN5c3RlbWQtZGFlbW9uIC0tZGlzYWJsZS1zeXN0ZW1kLWxvZ2luIC0tZGlzYWJsZS1zeXN0ZW1kLWpvdXJuYWwsc3lzdGVtZCIKQEAgLTE5Myw2ICsxOTIsNyBAQAogRklMRVNfJHtQTn0tbWlzYyA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vcHVsc2VhdWRpby9saWJwdWxzZWRzcC5zbyIKIAogIyBBbGxvdyB0aGUgcHVsc2VhdWRpbyBwYWNrYWdlIHRvIGJlIGNyZWF0ZWQgZW1wdHkgYXMgYSBwbGFjZWhvbGRlciAoLWRiZyBhbmQgLWRldiBkZXBlbmQgb24gaXQpCitGSUxFU18ke1BOfSA9ICIiCiBBTExPV19FTVBUWV8ke1BOfSA9ICIxIgogCiBDT05GRklMRVNfbGlicHVsc2UgPSAiJHtzeXNjb25mZGlyfS9wdWxzZS9jbGllbnQuY29uZiIKQEAgLTIxMCwxMSArMjEwLDkgQEAKIH0KIAogcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQoKSB7Ci0gICAgI2Quc2V0VmFyKCdQS0dfcHVsc2VhdWRpbycsICdwdWxzZWF1ZGlvJykKLQogICAgIHBsdWdpbmRpciA9IGQuZXhwYW5kKCcke2xpYmRpcn0vcHVsc2UtJHtQVn0vbW9kdWxlcy8nKQotICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIHBsdWdpbmRpciwgJ15tb2R1bGUtKC4qKVwuc28kJywgJ3B1bHNlYXVkaW8tbW9kdWxlLSVzJywgJ1B1bHNlQXVkaW8gbW9kdWxlIGZvciAlcycsIGV4dHJhX2RlcGVuZHM9JycsIHByZXBlbmQ9VHJ1ZSkKLSAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwbHVnaW5kaXIsICdebGliKC4qKVwuc28kJywgJ3B1bHNlYXVkaW8tbGliLSVzJywgJ1B1bHNlQXVkaW8gbGlicmFyeSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCByJ15tb2R1bGUtKC4qKVwuc28kJywgJyR7UE59LW1vZHVsZS0lcycsICdQdWxzZUF1ZGlvIG1vZHVsZSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCisgICAgZG9fc3BsaXRfcGFja2FnZXMoZCwgcGx1Z2luZGlyLCByJ15saWIoLiopXC5zbyQnLCAnJHtQTn0tbGliLSVzJywgJ1B1bHNlQXVkaW8gbGlicmFyeSBmb3IgJXMnLCBleHRyYV9kZXBlbmRzPScnLCBwcmVwZW5kPVRydWUpCiB9CiAKIFJERVBFTkRTX3B1bHNlYXVkaW8tc2VydmVyID0gIiBcCkBAIC0yNTAsOCArMjQ4LDExIEBACiBSREVQRU5EU19wdWxzZWF1ZGlvLW1vZHVsZS1jb25zb2xlLWtpdCA9KyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAnY29uc29sZWtpdCcsICcnLCBkKX0iCiBSREVQRU5EU19wdWxzZWF1ZGlvLW1pc2MgKz0gInB1bHNlYXVkaW8tbW9kdWxlLWNsaS1wcm90b2NvbC11bml4IgogCi1GSUxFU19wdWxzZWF1ZGlvLW1vZHVsZS1nY29uZiArPSAiJHtsaWJleGVjZGlyfS9wdWxzZS9nY29uZi1oZWxwZXIiCi1GSUxFU19wdWxzZWF1ZGlvLW1vZHVsZS1hbHNhLWNhcmQgKz0gIiR7ZGF0YWRpcn0vcHVsc2VhdWRpby9hbHNhLW1peGVyIgorRklMRVNfJHtQTn0tbW9kdWxlLWFsc2EtY2FyZCArPSAiJHtkYXRhZGlyfS9wdWxzZWF1ZGlvL2Fsc2EtbWl4ZXIiCitGSUxFU18ke1BOfS1tb2R1bGUtZ2NvbmYgKz0gIiR7bGliZXhlY2Rpcn0vcHVsc2UvZ2NvbmYtaGVscGVyIgorCitHU0VUVElOR1NfUEFDS0FHRSA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdnc2V0dGluZ3MnLCAnJHtQTn0tbW9kdWxlLWdzZXR0aW5ncycsICcnLCBkKX0iCitGSUxFU18ke1BOfS1tb2R1bGUtZ3NldHRpbmdzICs9ICIke2xpYmV4ZWNkaXJ9L3B1bHNlL2dzZXR0aW5ncy1oZWxwZXIgJHtkYXRhZGlyfS9HQ29uZi9nc2V0dGluZ3MgJHtkYXRhZGlyfS9nbGliLTIuMC9zY2hlbWFzIgogCiAjIFRoZSBjb25zb2xlLWtpdCBtb2R1bGUgaXMgZ29vZCB0byBoYXZlIG9uIFgxMSBzeXN0ZW1zIChpdCBrZWVwcyBQdWxzZUF1ZGlvCiAjIHJ1bm5pbmcgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdXNlciBsb2dpbiBzZXNzaW9uKS4gVGhlIGRldmljZS1tYW5hZ2VyIGFuZApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZTljZDgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8wMDAxLWludHJvZHVjZS1hLXNwZWNpYWwtYnVpbGQtZmxhZy10by1leHBsaWNpdGx5LWRpc2FibGUucGF0Y2gKQEAgLTAsMCArMSwxNjEgQEAKK0Zyb20gMzZmZWI5OGU1NjgyMjFlMjQyODY2MTU3MzA4ODhkNWY2ZmYzMjNmMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IEZyaSwgNyBEZWMgMjAxOCAxNToxMjozOCArMDgwMAorU3ViamVjdDogW1BBVENIXSBpbnRyb2R1Y2UgYSBzcGVjaWFsIGJ1aWxkIGZsYWcgdG8gZXhwbGljaXRseSBkaXNhYmxlcyBydW5uaW5nCisgZnJvbSBidWlsZCB0cmVlCisKK0l0IGlzIGhlbHBmdWwgdG8gaW1wcm92ZSByZXByb2R1Y2liaWxpdHkgYnVpbGQgWzFdIHNpbmNlCitQQV9TUkNESVIvUEFfQlVJTERESVIgY29udGFpbnMgYnVpbGQgcGF0aCwgZGlzYWJsZSBydW5uaW5nCitmcm9tIGJ1aWxkIHRyZWUgY291bGQgZHJvcCB0aGVzZSBtYWNyb3MgYXQgcHJlY29tcGlsYXRpb24uCisKK1sxXSBodHRwczovL3JlcHJvZHVjaWJsZS1idWlsZHMub3JnLworCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbcHVsc2VhdWRpby1kaXNjdXNzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZ10KK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0Fja2VkLWJ5OiBUYW51IEthc2tpbmVuIDx0YW51a0Bpa2kuZmk+CistLS0KKyBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKysrKysrKworIHNyYy9kYWVtb24vZGFlbW9uLWNvbmYuYyAgICAgICAgICAgICAgICAgfCAgNCArKystCisgc3JjL2RhZW1vbi9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKysrKworIHNyYy9tb2R1bGVzL2Fsc2EvYWxzYS1taXhlci5jICAgICAgICAgICAgfCAgNCArKysrCisgc3JjL21vZHVsZXMvZ2NvbmYvbW9kdWxlLWdjb25mLmMgICAgICAgICB8ICAyICstCisgc3JjL21vZHVsZXMvZ3NldHRpbmdzL21vZHVsZS1nc2V0dGluZ3MuYyB8ICAyICstCisgc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYyAgICAgICAgICAgICAgICB8ICA0ICsrKy0KKyA3IGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGM5YzQxNGYuLjhiMzQ1ZWYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTk5OCw2ICs5OTgsMTYgQEAgQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2FzeW5jbnMiID0gInh5ZXMiICYmIHRlc3QgIngkSEFWRV9MSUJBU1lOQ05TIiA9ICJ4MCJdLAorIEFNX0NPTkRJVElPTkFMKFtIQVZFX0xJQkFTWU5DTlNdLCBbdGVzdCAieCRIQVZFX0xJQkFTWU5DTlMiID0geDFdKQorIEFTX0lGKFt0ZXN0ICJ4JEhBVkVfTElCQVNZTkNOUyIgPSAieDEiXSwgQUNfREVGSU5FKFtIQVZFX0xJQkFTWU5DTlNdLCAxLCBbSGF2ZSBsaWJhc3luY25zP10pKQorIAorKyMjIyMgUnVubmluZyBmcm9tIGJ1aWxkIHRyZWUgKG9wdGlvbmFsKSAjIyMjCisrCisrQUNfQVJHX0VOQUJMRShbcnVubmluZy1mcm9tLWJ1aWxkLXRyZWVdLAorKyAgICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXJ1bm5pbmctZnJvbS1idWlsZC10cmVlXSxbRGlzYWJsZSBydW5uaW5nIGZyb20gYnVpbGQgdHJlZV0pKQorKworK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV9ydW5uaW5nX2Zyb21fYnVpbGRfdHJlZSIgIT0gInhubyJdLAorKyAgICAgIEFDX0RFRklORShbSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRV0sIDEsIFtIYXZlIHJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlXSkpCisrCisrQUNfU1VCU1QoSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRSkKKysKKyAjIyMjIFRDUCB3cmFwcGVycyAob3B0aW9uYWwpICMjIyMKKyAKKyBBQ19BUkdfRU5BQkxFKFt0Y3B3cmFwXSwKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMgYi9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMKK2luZGV4IDk4ODMxMjYuLmYwMWVmZjQgMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uL2RhZW1vbi1jb25mLmMKKysrKyBiL3NyYy9kYWVtb24vZGFlbW9uLWNvbmYuYworQEAgLTE1NSwxMiArMTU1LDE0IEBAIHBhX2RhZW1vbl9jb25mICpwYV9kYWVtb25fY29uZl9uZXcodm9pZCkgeworICAgICBjLT5kbF9zZWFyY2hfcGF0aCA9IHBhX3NwcmludGZfbWFsbG9jKCIlcyIgUEFfUEFUSF9TRVAgImxpYiIgUEFfUEFUSF9TRVAgInB1bHNlLSVkLiVkIiBQQV9QQVRIX1NFUCAibW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfd2luMzJfZ2V0X3RvcGxldmVsKE5VTEwpLCBQQV9NQUpPUiwgUEFfTUlOT1IpOworICNlbHNlCisrI2lmZGVmIEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUKKyAgICAgaWYgKHBhX3J1bl9mcm9tX2J1aWxkX3RyZWUoKSkgeworICAgICAgICAgcGFfbG9nX25vdGljZSgiRGV0ZWN0ZWQgdGhhdCB3ZSBhcmUgcnVuIGZyb20gdGhlIGJ1aWxkIHRyZWUsIGZpeGluZyBzZWFyY2ggcGF0aC4iKTsKKyAgICAgICAgIGMtPmRsX3NlYXJjaF9wYXRoID0gcGFfeHN0cmR1cChQQV9CVUlMRERJUik7CisgICAgIH0gZWxzZQorLSAgICAgICAgYy0+ZGxfc2VhcmNoX3BhdGggPSBwYV94c3RyZHVwKFBBX0RMU0VBUkNIUEFUSCk7CisgI2VuZGlmCisrICAgICAgICBjLT5kbF9zZWFyY2hfcGF0aCA9IHBhX3hzdHJkdXAoUEFfRExTRUFSQ0hQQVRIKTsKKysjZW5kaWYgLy9FbmRvZiAjaWZkZWYgT1NfSVNfV0lOMzIKKyAKKyAgICAgcmV0dXJuIGM7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9kYWVtb24vbWFpbi5jIGIvc3JjL2RhZW1vbi9tYWluLmMKK2luZGV4IGM4MGZhOTQuLjFlMDAzODggMTAwNjQ0CistLS0gYS9zcmMvZGFlbW9uL21haW4uYworKysrIGIvc3JjL2RhZW1vbi9tYWluLmMKK0BAIC05MzIsNiArOTMyLDEyIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyAgICAgcGFfbG9nX2RlYnVnKCJSdW5uaW5nIGluIFZNOiAlcyIsIHBhX3llc19ubyhwYV9ydW5uaW5nX2luX3ZtKCkpKTsKKyAKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorKyAgICBwYV9sb2dfZGVidWcoIlJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlOiAlcyIsIHBhX3llc19ubyhwYV9ydW5fZnJvbV9idWlsZF90cmVlKCkpKTsKKysjZWxzZQorKyAgICBwYV9sb2dfZGVidWcoIlJ1bm5pbmcgZnJvbSBidWlsZCB0cmVlOiBubyIpOworKyNlbmRpZgorKworICNpZmRlZiBfX09QVElNSVpFX18KKyAgICAgcGFfbG9nX2RlYnVnKCJPcHRpbWl6ZWQgYnVpbGQ6IHllcyIpOworICNlbHNlCitkaWZmIC0tZ2l0IGEvc3JjL21vZHVsZXMvYWxzYS9hbHNhLW1peGVyLmMgYi9zcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYworaW5kZXggYTUyNGQ2ZC4uNjcwZjY0NiAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2Fsc2EvYWxzYS1taXhlci5jCisrKysgYi9zcmMvbW9kdWxlcy9hbHNhL2Fsc2EtbWl4ZXIuYworQEAgLTI1NzEsOSArMjU3MSwxMSBAQCBzdGF0aWMgaW50IHBhdGhfdmVyaWZ5KHBhX2Fsc2FfcGF0aCAqcCkgeworIH0KKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqZ2V0X2RlZmF1bHRfcGF0aHNfZGlyKHZvaWQpIHsKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorICAgICBpZiAocGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpKQorICAgICAgICAgcmV0dXJuIFBBX1NSQ0RJUiAiL21vZHVsZXMvYWxzYS9taXhlci9wYXRocy8iOworICAgICBlbHNlCisrI2VuZGlmCisgICAgICAgICByZXR1cm4gUEFfQUxTQV9QQVRIU19ESVI7CisgfQorIAorQEAgLTQ0NTUsNyArNDQ1Nyw5IEBAIHBhX2Fsc2FfcHJvZmlsZV9zZXQqIHBhX2Fsc2FfcHJvZmlsZV9zZXRfbmV3KGNvbnN0IGNoYXIgKmZuYW1lLCBjb25zdCBwYV9jaGFubmVsCisgICAgICAgICBmbmFtZSA9ICJkZWZhdWx0LmNvbmYiOworIAorICAgICBmbiA9IHBhX21heWJlX3ByZWZpeF9wYXRoKGZuYW1lLAorKyNpZmRlZiBIQVZFX1JVTk5JTkdfRlJPTV9CVUlMRF9UUkVFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpID8gUEFfU1JDRElSICIvbW9kdWxlcy9hbHNhL21peGVyL3Byb2ZpbGUtc2V0cy8iIDoKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQV9BTFNBX1BST0ZJTEVfU0VUU19ESVIpOworIAorICAgICByID0gcGFfY29uZmlnX3BhcnNlKGZuLCBOVUxMLCBpdGVtcywgTlVMTCwgZmFsc2UsIHBzKTsKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9nY29uZi9tb2R1bGUtZ2NvbmYuYyBiL3NyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jCitpbmRleCBjMGY0ZGRlLi43NmExZjE5IDEwMDY0NAorLS0tIGEvc3JjL21vZHVsZXMvZ2NvbmYvbW9kdWxlLWdjb25mLmMKKysrKyBiL3NyYy9tb2R1bGVzL2djb25mL21vZHVsZS1nY29uZi5jCitAQCAtNTEsNyArNTEsNyBAQCBpbnQgcGFfX2luaXQocGFfbW9kdWxlKm0pIHsKKyAgICAgdS0+YnVmX2ZpbGwgPSAwOworIAorICAgICBpZiAoKHUtPmZkID0gcGFfc3RhcnRfY2hpbGRfZm9yX3JlYWQoCistI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAhZGVmaW5lZChfX09QVElNSVpFX18pCisrI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKEhBVkVfUlVOTklOR19GUk9NX0JVSUxEX1RSRUUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFfcnVuX2Zyb21fYnVpbGRfdHJlZSgpID8gUEFfQlVJTERESVIgIi9nY29uZi1oZWxwZXIiIDoKKyAjZW5kaWYKKyAgICAgICAgICAgICAgICAgIFBBX0dDT05GX0hFTFBFUiwgTlVMTCwgJnUtPnBpZCkpIDwgMCkKK2RpZmYgLS1naXQgYS9zcmMvbW9kdWxlcy9nc2V0dGluZ3MvbW9kdWxlLWdzZXR0aW5ncy5jIGIvc3JjL21vZHVsZXMvZ3NldHRpbmdzL21vZHVsZS1nc2V0dGluZ3MuYworaW5kZXggMzMwZWNhMS4uMjA5Yzg1NyAxMDA2NDQKKy0tLSBhL3NyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMKKysrKyBiL3NyYy9tb2R1bGVzL2dzZXR0aW5ncy9tb2R1bGUtZ3NldHRpbmdzLmMKK0BAIC01MSw3ICs1MSw3IEBAIGludCBwYV9faW5pdChwYV9tb2R1bGUqbSkgeworICAgICB1LT5idWZfZmlsbCA9IDA7CisgCisgICAgIGlmICgodS0+ZmQgPSBwYV9zdGFydF9jaGlsZF9mb3JfcmVhZCgKKy0jaWYgZGVmaW5lZChfX2xpbnV4X18pICYmICFkZWZpbmVkKF9fT1BUSU1JWkVfXykKKysjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYV9ydW5fZnJvbV9idWlsZF90cmVlKCkgPyBQQV9CVUlMRERJUiAiL2dzZXR0aW5ncy1oZWxwZXIiIDoKKyAjZW5kaWYKKyAgICAgICAgICAgICAgICAgIFBBX0dTRVRUSU5HU19IRUxQRVIsIE5VTEwsICZ1LT5waWQpKSA8IDApCitkaWZmIC0tZ2l0IGEvc3JjL3B1bHNlY29yZS9jb3JlLXV0aWwuYyBiL3NyYy9wdWxzZWNvcmUvY29yZS11dGlsLmMKK2luZGV4IDY0ZTlmMjEuLmY4NWRkMjAgMTAwNjQ0CistLS0gYS9zcmMvcHVsc2Vjb3JlL2NvcmUtdXRpbC5jCisrKysgYi9zcmMvcHVsc2Vjb3JlL2NvcmUtdXRpbC5jCitAQCAtMzQzNiwxNSArMzQzNiwxNyBAQCB2b2lkIHBhX3Jlc2V0X3BlcnNvbmFsaXR5KHZvaWQpIHsKKyB9CisgCisgYm9vbCBwYV9ydW5fZnJvbV9idWlsZF90cmVlKHZvaWQpIHsKKy0gICAgY2hhciAqcnA7CisgICAgIHN0YXRpYyBib29sIGIgPSBmYWxzZTsKKyAKKysjaWZkZWYgSEFWRV9SVU5OSU5HX0ZST01fQlVJTERfVFJFRQorKyAgICBjaGFyICpycDsKKyAgICAgUEFfT05DRV9CRUdJTiB7CisgICAgICAgICBpZiAoKHJwID0gcGFfcmVhZGxpbmsoIi9wcm9jL3NlbGYvZXhlIikpKSB7CisgICAgICAgICAgICAgYiA9IHBhX3N0YXJ0c3dpdGgocnAsIFBBX0JVSUxERElSKTsKKyAgICAgICAgICAgICBwYV94ZnJlZShycCk7CisgICAgICAgICB9CisgICAgIH0gUEFfT05DRV9FTkQ7CisrI2VuZGlmCisgCisgICAgIHJldHVybiBiOworIH0KKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMi1kby1ub3QtZGlzcGxheS1DTEZBR1MtdG8taW1wcm92ZS1yZXByb2R1Y2liaWxpdHktYnVpLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW8vMDAwMi1kby1ub3QtZGlzcGxheS1DTEZBR1MtdG8taW1wcm92ZS1yZXByb2R1Y2liaWxpdHktYnVpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzYWRkNzUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpby8wMDAyLWRvLW5vdC1kaXNwbGF5LUNMRkFHUy10by1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS1idWkucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSBmMGRkZDdjMzY1NTZhZDA1YzEzOThmZGQxMzI5NDczMjNhZDI2NDczIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogVGh1LCA2IERlYyAyMDE4IDExOjQzOjQxICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBkbyBub3QgZGlzcGxheSBDTEZBR1MgdG8gaW1wcm92ZSByZXByb2R1Y2liaWxpdHkgYnVpbGQKKworTWFjcm8gUEFfQ0ZMQUdTIGNvbnRhaW5zIGJ1aWxkIHBhdGgsIGRvIG5vdCB1c2UgaXQgdG8KK2Rpc3BsYXkgQ0ZMQUdTIHdoaWNoIGNvdWxkIGltcHJvdmUgcmVwcm9kdWNpYmlsaXR5IGJ1aWxkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW29lIHNwZWNpZmljXQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2RhZW1vbi9tYWluLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZGFlbW9uL21haW4uYyBiL3NyYy9kYWVtb24vbWFpbi5jCitpbmRleCBjODBmYTk0Li43NTQ5NmJlIDEwMDY0NAorLS0tIGEvc3JjL2RhZW1vbi9tYWluLmMKKysrKyBiL3NyYy9kYWVtb24vbWFpbi5jCitAQCAtOTA4LDcgKzkwOCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKKyAKKyAgICAgcGFfbG9nX2luZm8oIlRoaXMgaXMgUHVsc2VBdWRpbyAlcyIsIFBBQ0tBR0VfVkVSU0lPTik7CisgICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gaG9zdDogJXMiLCBDQU5PTklDQUxfSE9TVCk7CistICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gQ0ZMQUdTOiAlcyIsIFBBX0NGTEFHUyk7CisrICAgIHBhX2xvZ19kZWJ1ZygiQ29tcGlsYXRpb24gQ0ZMQUdTOiAqKioiKTsKKyAKKyAjaWZkZWYgSEFWRV9MSUJTQU1QTEVSQVRFCisgICAgIHBhX2xvZ193YXJuKCJDb21waWxlZCB3aXRoIERFUFJFQ0FURUQgbGlic2FtcGxlcmF0ZSBzdXBwb3J0ISIpOworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpb18xMi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9wdWxzZWF1ZGlvL3B1bHNlYXVkaW9fMTIuMi5iYgppbmRleCAzNmQ5MmJjLi5jMDIwZmJkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3B1bHNlYXVkaW8vcHVsc2VhdWRpb18xMi4yLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvcHVsc2VhdWRpby9wdWxzZWF1ZGlvXzEyLjIuYmIKQEAgLTIsNiArMiw4IEBACiAKIFNSQ19VUkkgPSAiaHR0cDovL2ZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9wdWxzZWF1ZGlvL3JlbGVhc2VzLyR7QlB9LnRhci54eiBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWNsaWVudC1jb25mLUFkZC1hbGxvdy1hdXRvc3Bhd24tZm9yLXJvb3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1pbnRyb2R1Y2UtYS1zcGVjaWFsLWJ1aWxkLWZsYWctdG8tZXhwbGljaXRseS1kaXNhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItZG8tbm90LWRpc3BsYXktQ0xGQUdTLXRvLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LWJ1aS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly92b2xhdGlsZXMuMDRfcHVsc2UgXAogICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiYzQyZjFmMTQ2NWU4ZGY5ODU5ZDAyM2RjMTg0NzM0YmYiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS4zLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmJiODk1ZC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3NiYy9zYmNfMS4zLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotU1VNTUFSWSA9ICJTQkMgQXVkaW8gQ29kZWMiCi1ERVNDUklQVElPTiA9ICJCbHVldG9vdGggbG93LWNvbXBsZXhpdHksIHN1YmJhbmQgY29kZWMgKFNCQykgbGlicmFyeS4iCi1IT01FUEFHRSA9ICJodHRwczovL3d3dy5ibHVlei5vcmciCi1TRUNUSU9OID0gImxpYnMiCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfS1leGFtcGxlcyA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NiY2VuYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA4ZTdhNzBiMTI3ZjQxMDBmZjJjZDdkNjI5MTQ3ZDhkIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NiYy9zYmMuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI2O21kNT0wZjU3ZDBkZjIyYjBkNDA3NDZiZGQyOTgwNWE0MzYxYiIKLQotREVQRU5EUyA9ICJsaWJzbmRmaWxlMSIKLQotU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2JsdWV0b290aC8ke0JQfS50YXIueHoiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIyZDhiNzg0MWYyYzExYWIyODc3MThkNTYyZjJiOTgxYyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlNjEwMjJjZjU3NmYxNDE5MDI0MWU3MDcxNzUzZmRhY2RjZTVkMWRlYTg5ZmZkNzA0MTEwZmM1MGJlNjg5MzA5IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKLQotUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgotRklMRVNfJHtQTn0tZXhhbXBsZXMgKz0gIiR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS9zYmMvc2JjXzEuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc0ZDc3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEvc2JjL3NiY18xLjQuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJTQkMgQXVkaW8gQ29kZWMiCitERVNDUklQVElPTiA9ICJCbHVldG9vdGggbG93LWNvbXBsZXhpdHksIHN1YmJhbmQgY29kZWMgKFNCQykgbGlicmFyeS4iCitIT01FUEFHRSA9ICJodHRwczovL3d3dy5ibHVlei5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0gPSAiTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfS1leGFtcGxlcyA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMmY4ODRkMmFlMWZmODdjMDllNWI3Y2NjMmM0Y2E3ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9ZmI1MDRiNjdjNTAzMzFmYzc4NzM0ZmVkOTBmYjBlMDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3NiY2VuYy5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTA4ZTdhNzBiMTI3ZjQxMDBmZjJjZDdkNjI5MTQ3ZDhkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NiYy9zYmMuaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI2O21kNT0wZjU3ZDBkZjIyYjBkNDA3NDZiZGQyOTgwNWE0MzYxYiIKKworREVQRU5EUyA9ICJsaWJzbmRmaWxlMSIKKworU1JDX1VSSSA9ICIke0tFUk5FTE9SR19NSVJST1J9L2xpbnV4L2JsdWV0b290aC8ke0JQfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MDBmYjA5MDg4OTliYWE0OGRjMjE2ZDhlMTU2Y2MwNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MThiZjQ2ZTZiYjNkYzgwOGE5NWUxZWFiYWQyNmZkZWJlOGEwOTljMWU3ODFjMjdlZDdmY2E2YzJmNGE1NGM5IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRVMgPSsgIiR7UE59LWV4YW1wbGVzIgorRklMRVNfJHtQTn0tZXhhbXBsZXMgKz0gIiR7YmluZGlyfS8qIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWE5Njc5Zi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLVNVTU1BUlkgPSAiV2ViUCBpcyBhbiBpbWFnZSBmb3JtYXQgZGVzaWduZWQgZm9yIHRoZSBXZWIiCi1ERVNDUklQVElPTiA9ICJXZWJQIGlzIGEgbWV0aG9kIG9mIGxvc3N5IGFuZCBsb3NzbGVzcyBjb21wcmVzc2lvbiB0aGF0IGNhbiBiZSBcCi0gICAgICAgICAgICAgICB1c2VkIG9uIGEgbGFyZ2UgdmFyaWV0eSBvZiBwaG90b2dyYXBoaWMsIHRyYW5zbHVjZW50IGFuZCBcCi0gICAgICAgICAgICAgICBncmFwaGljYWwgaW1hZ2VzIGZvdW5kIG9uIHRoZSB3ZWIuIFRoZSBkZWdyZWUgb2YgbG9zc3kgXAotICAgICAgICAgICAgICAgY29tcHJlc3Npb24gaXMgYWRqdXN0YWJsZSBzbyBhIHVzZXIgY2FuIGNob29zZSB0aGUgdHJhZGUtb2ZmIFwKLSAgICAgICAgICAgICAgIGJldHdlZW4gZmlsZSBzaXplIGFuZCBpbWFnZSBxdWFsaXR5LiBXZWJQIHR5cGljYWxseSBhY2hpZXZlcyBcCi0gICAgICAgICAgICAgICBhbiBhdmVyYWdlIG9mIDMwJSBtb3JlIGNvbXByZXNzaW9uIHRoYW4gSlBFRyBhbmQgSlBFRyAyMDAwLCBcCi0gICAgICAgICAgICAgICB3aXRob3V0IGxvc3Mgb2YgaW1hZ2UgcXVhbGl0eS4iCi1IT01FUEFHRSA9ICJodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9zcGVlZC93ZWJwLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZThkZWU5MzJjMjZmMmRhYjUwM2FiZjcwYzk2ZDhiYiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9QQVRFTlRTO21kNT1jNjkyNmQwY2IwN2QyOTZmODg2YWI2ZTBjYzVhODViNyIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwLyR7QlB9LnRhci5neiIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5NjdiOGYwODdjYjM5MmU2Y2M5NGQ1ZTExNmExMjBjMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI4NDI1OWM0Mzg4ZjE4NjM3YWYzYzVhNjM2MTUzNmQ3NTRhNTM5NDQ5MmY5MWJlMWFiYzJlOTgxZDQ5ODMyMjViIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy53ZWJtcHJvamVjdC5vcmcvcmVsZWFzZXMvd2VicC9pbmRleC5odG1sIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtd2ljIFwKLSAgICAtLWVuYWJsZS1saWJ3ZWJwbXV4IFwKLSAgICAtLWVuYWJsZS1saWJ3ZWJwZGVtdXggXAotICAgIC0tZW5hYmxlLXRocmVhZGluZyBcCi0iCi0jIERvIG5vdCB0cnVzdCBjb25maWd1cmUgdG8gZGV0ZXJtaW5lIGlmIG5lb24gaXMgYXZhaWxhYmxlLgotIwotRVhUUkFfT0VDT05GX2FwcGVuZF9hcm0gPSAiIFwKLSAgICAke0BiYi51dGlscy5jb250YWlucygiVFVORV9GRUFUVVJFUyIsIm5lb24iLCItLWVuYWJsZS1uZW9uIiwiLS1kaXNhYmxlLW5lb24iLGQpfSBcCi0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlCi0KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi0KLSMgbGlid2VicGRlY29kZXIgaXMgYSBzdWJzZXQgb2YgbGlid2VicCwgZG9uJ3QgYnVpbGQgaXQgdW5sZXNzIHJlcXVlc3RlZAotUEFDS0FHRUNPTkZJR1tkZWNvZGVyXSA9ICItLWVuYWJsZS1saWJ3ZWJwZGVjb2RlciwtLWRpc2FibGUtbGlid2VicGRlY29kZXIiCi0KLSMgQXBwbHkgZm9yIGV4YW1wbGVzIHByb2dyYW1zOiBjd2VicCBhbmQgZHdlYnAKLVBBQ0tBR0VDT05GSUdbZ2lmXSA9ICItLWVuYWJsZS1naWYsLS1kaXNhYmxlLWdpZixnaWZsaWIiCi1QQUNLQUdFQ09ORklHW2pwZWddID0gIi0tZW5hYmxlLWpwZWcsLS1kaXNhYmxlLWpwZWcsanBlZyIKLVBBQ0tBR0VDT05GSUdbcG5nXSA9ICItLWVuYWJsZS1wbmcsLS1kaXNhYmxlLXBuZywsbGlicG5nIgotUEFDS0FHRUNPTkZJR1t0aWZmXSA9ICItLWVuYWJsZS10aWZmLC0tZGlzYWJsZS10aWZmLHRpZmYiCi0KLSMgQXBwbHkgb25seSBmb3IgZXhhbXBsZSBwcm9ncmFtIHZ3ZWJwCi1QQUNLQUdFQ09ORklHW2dsXSA9ICItLWVuYWJsZS1nbCwtLWRpc2FibGUtZ2wsbWVzYS1nbHV0IgotCi1QQUNLQUdFUyA9KyAiJHtQTn0tZ2lmMndlYnAiCi0KLURFU0NSSVBUSU9OXyR7UE59LWdpZjJ3ZWJwID0gIlNpbXBsZSB0b29sIHRvIGNvbnZlcnQgYW5pbWF0ZWQgR0lGcyB0byBXZWJQIgotRklMRVNfJHtQTn0tZ2lmMndlYnAgPSAiJHtiaW5kaXJ9L2dpZjJ3ZWJwIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3dlYnAvbGlid2VicF8xLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjNmZmUwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS93ZWJwL2xpYndlYnBfMS4wLjIuYmIKQEAgLTAsMCArMSw1MyBAQAorU1VNTUFSWSA9ICJXZWJQIGlzIGFuIGltYWdlIGZvcm1hdCBkZXNpZ25lZCBmb3IgdGhlIFdlYiIKK0RFU0NSSVBUSU9OID0gIldlYlAgaXMgYSBtZXRob2Qgb2YgbG9zc3kgYW5kIGxvc3NsZXNzIGNvbXByZXNzaW9uIHRoYXQgY2FuIGJlIFwKKyAgICAgICAgICAgICAgIHVzZWQgb24gYSBsYXJnZSB2YXJpZXR5IG9mIHBob3RvZ3JhcGhpYywgdHJhbnNsdWNlbnQgYW5kIFwKKyAgICAgICAgICAgICAgIGdyYXBoaWNhbCBpbWFnZXMgZm91bmQgb24gdGhlIHdlYi4gVGhlIGRlZ3JlZSBvZiBsb3NzeSBcCisgICAgICAgICAgICAgICBjb21wcmVzc2lvbiBpcyBhZGp1c3RhYmxlIHNvIGEgdXNlciBjYW4gY2hvb3NlIHRoZSB0cmFkZS1vZmYgXAorICAgICAgICAgICAgICAgYmV0d2VlbiBmaWxlIHNpemUgYW5kIGltYWdlIHF1YWxpdHkuIFdlYlAgdHlwaWNhbGx5IGFjaGlldmVzIFwKKyAgICAgICAgICAgICAgIGFuIGF2ZXJhZ2Ugb2YgMzAlIG1vcmUgY29tcHJlc3Npb24gdGhhbiBKUEVHIGFuZCBKUEVHIDIwMDAsIFwKKyAgICAgICAgICAgICAgIHdpdGhvdXQgbG9zcyBvZiBpbWFnZSBxdWFsaXR5LiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3NwZWVkL3dlYnAvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlOGRlZTkzMmMyNmYyZGFiNTAzYWJmNzBjOTZkOGJiIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL1BBVEVOVFM7bWQ1PWM2OTI2ZDBjYjA3ZDI5NmY4ODZhYjZlMGNjNWE4NWI3IgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMud2VibXByb2plY3Qub3JnL3JlbGVhc2VzL3dlYnAvJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gIjAyYzBjNTVmMWRkODYxMmNkNGQ0NjJlMzQwOWFkMzVkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNkNDdiNDhjNDBlZDY0NzZlODA0N2IyZGRiODFkOTM4MzVlMGNhMWI4ZDNlOGM2NzlhZmJiMzAwNGRkNTY0YjEiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLndlYm1wcm9qZWN0Lm9yZy9yZWxlYXNlcy93ZWJwL2luZGV4Lmh0bWwiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS13aWMgXAorICAgIC0tZW5hYmxlLWxpYndlYnBtdXggXAorICAgIC0tZW5hYmxlLWxpYndlYnBkZW11eCBcCisgICAgLS1lbmFibGUtdGhyZWFkaW5nIFwKKyIKKyMgRG8gbm90IHRydXN0IGNvbmZpZ3VyZSB0byBkZXRlcm1pbmUgaWYgbmVvbiBpcyBhdmFpbGFibGUuCisjCitFWFRSQV9PRUNPTkZfYXBwZW5kX2FybSA9ICIgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJUVU5FX0ZFQVRVUkVTIiwibmVvbiIsIi0tZW5hYmxlLW5lb24iLCItLWRpc2FibGUtbmVvbiIsZCl9IFwKKyIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKKworIyBsaWJ3ZWJwZGVjb2RlciBpcyBhIHN1YnNldCBvZiBsaWJ3ZWJwLCBkb24ndCBidWlsZCBpdCB1bmxlc3MgcmVxdWVzdGVkCitQQUNLQUdFQ09ORklHW2RlY29kZXJdID0gIi0tZW5hYmxlLWxpYndlYnBkZWNvZGVyLC0tZGlzYWJsZS1saWJ3ZWJwZGVjb2RlciIKKworIyBBcHBseSBmb3IgZXhhbXBsZXMgcHJvZ3JhbXM6IGN3ZWJwIGFuZCBkd2VicAorUEFDS0FHRUNPTkZJR1tnaWZdID0gIi0tZW5hYmxlLWdpZiwtLWRpc2FibGUtZ2lmLGdpZmxpYiIKK1BBQ0tBR0VDT05GSUdbanBlZ10gPSAiLS1lbmFibGUtanBlZywtLWRpc2FibGUtanBlZyxqcGVnIgorUEFDS0FHRUNPTkZJR1twbmddID0gIi0tZW5hYmxlLXBuZywtLWRpc2FibGUtcG5nLCxsaWJwbmciCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi0tZW5hYmxlLXRpZmYsLS1kaXNhYmxlLXRpZmYsdGlmZiIKKworIyBBcHBseSBvbmx5IGZvciBleGFtcGxlIHByb2dyYW0gdndlYnAKK1BBQ0tBR0VDT05GSUdbZ2xdID0gIi0tZW5hYmxlLWdsLC0tZGlzYWJsZS1nbCxtZXNhLWdsdXQiCisKK1BBQ0tBR0VTID0rICIke1BOfS1naWYyd2VicCIKKworREVTQ1JJUFRJT05fJHtQTn0tZ2lmMndlYnAgPSAiU2ltcGxlIHRvb2wgdG8gY29udmVydCBhbmltYXRlZCBHSUZzIHRvIFdlYlAiCitGSUxFU18ke1BOfS1naWYyd2VicCA9ICIke2JpbmRpcn0vZ2lmMndlYnAiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3gyNjQveDI2NF9naXQuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1tdWx0aW1lZGlhL3gyNjQveDI2NF9naXQuYmIKaW5kZXggNDE3NGNiMi4uMzRjN2RjNCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtbXVsdGltZWRpYS94MjY0L3gyNjRfZ2l0LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLW11bHRpbWVkaWEveDI2NC94MjY0X2dpdC5iYgpAQCAtMTQsMTYgKzE0LDE2IEBACiAgICAgICAgICAgICIKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKIAotU1JDUkVWID0gImU5YTU5MDNlZGY4Y2E1OWVmMjBlNmY0ODk0YzE5NmYxMzVhZjczNWUiCitTUkNSRVYgPSAiMGE4NGQ5ODZlNzAyMGY4MzQ0ZjAwNzUyZTM2MDBiOTc2OWNjMWU4NSIKIAotUFYgPSAicjI4NTQrZ2l0JHtTUkNQVn0iCitQViA9ICJyMjkxNytnaXQke1NSQ1BWfSIKIAogUyA9ICIke1dPUktESVJ9L2dpdCIKIAotaW5oZXJpdCBsaWJfcGFja2FnZSBwa2djb25maWcgcGVybG5hdGl2ZQoraW5oZXJpdCBsaWJfcGFja2FnZSBwa2djb25maWcKIAogWDI2NF9ESVNBQkxFX0FTTSA9ICIiCi1YMjY0X0RJU0FCTEVfQVNNX3g4Nl9saWJjLW11c2wgPSAiLS1kaXNhYmxlLWFzbSIKK1gyNjRfRElTQUJMRV9BU01feDg2ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX2FybXY0ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX2FybXY1ID0gIi0tZGlzYWJsZS1hc20iCiBYMjY0X0RJU0FCTEVfQVNNX3Bvd2VycGMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoIlRVTkVfRkVBVFVSRVMiLCAic3BlIiwgIi0tZGlzYWJsZS1hc20iLCAiIiwgZCl9IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9pbWFnZXMvY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vaW1hZ2VzL2NvcmUtaW1hZ2Utc2F0by1zZGstcHRlc3QuYmIKaW5kZXggNTMxNTcxZS4uMTAyN2VjMCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9pbWFnZXMvY29yZS1pbWFnZS1zYXRvLXNkay1wdGVzdC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL2ltYWdlcy9jb3JlLWltYWdlLXNhdG8tc2RrLXB0ZXN0LmJiCkBAIC00LDggKzQsMTIgQEAKIAogSU1BR0VfRkVBVFVSRVMgKz0gInB0ZXN0LXBrZ3MiCiAKLSMgVGhpcyBpbWFnZSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgKH4zR0IpIHRoYXQgaXQgY2FuJ3QgYWN0dWFsbHkgZml0IGluIGEgbGl2ZQorIyBUaGlzIGltYWdlIGlzIHN1ZmZpY2llbnRseSBsYXJnZSAofjEuOEdCKSB0aGF0IHdlIG5lZWQgdG8gYmUgY2FyZWZ1bCB0aGF0IGl0IGZpdHMgaW4gYSBsaXZlCiAjIGltYWdlICh3aGljaCBoYXMgYSA0R0IgbGltaXQpLCBzbyBudWxsaWZ5IHRoZSBvdmVyaGVhZCBmYWN0b3IgKDEuM3ggb3V0IG9mIHRoZQotIyBib3gpIGFuZCBleHBsaWNpdGx5IGFkZCBqdXN0IDUwME1CLgorIyBib3gpIGFuZCBleHBsaWNpdGx5IGFkZCBqdXN0IDE1MDBNQi4KKyMgc3RyYWNlLXB0ZXN0IGluIHBhcnRpY3VsYXIgbmVlZHMgbW9yZSB0aGFuIDUwME1CCiBJTUFHRV9PVkVSSEVBRF9GQUNUT1IgPSAiMS4wIgotSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFID0gIjUyNDI4OCIKK0lNQUdFX1JPT1RGU19FWFRSQV9TUEFDRSA9ICIxNTI0Mjg4IgorCisjIHB0ZXN0cyBuZWVkIG1vcmUgbWVtb3J5IHRoYW4gc3RhbmRhcmQgdG8gYXZvaWQgdGhlIE9PTSBraWxsZXIKK1FCX01FTSA9ICItbSAxMDI0IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU2ZGEwMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLVNVTU1BUlkgPSAiRmFzdCBsaWdodHdlaWdodCB0YWJiZWQgZmlsZW1hbmFnZXIiCi1IT01FUEFHRSA9ICJodHRwOi8vcGNtYW5mbS5zb3VyY2Vmb3JnZS5uZXQvIgotCi1MSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrICYgTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3BjbWFuZm0uaDtlbmRsaW5lPTIyO21kNT00MTdiMzg1NTc3MWEzYTg3ZjhhZDc1M2Q5OTQ0OTFmMCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3NlYWwtZ3RrLWNvbXBhdC5oO2VuZGxpbmU9MjE7bWQ1PTQ2OTIyYzg2OTFmNThkMTI0Zjk0MjBmZTE2MTQ5Y2UyIgotCi1TRUNUSU9OID0gIngxMSIKLURFUEVORFMgPSAiZ3RrKzMgc3RhcnR1cC1ub3RpZmljYXRpb24gbGliZm0gaW50bHRvb2wtbmF0aXZlIGdldHRleHQtbmF0aXZlIGdsaWItMi4wLW5hdGl2ZSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9wY21hbmZtLSR7UFZ9LnRhci54eiBcCi0JICAgZmlsZTovL2dub21lLWZzLWRpcmVjdG9yeS5wbmcgXAotCSAgIGZpbGU6Ly9nbm9tZS1mcy1yZWd1bGFyLnBuZyBcCi0JICAgZmlsZTovL2dub21lLW1pbWUtdGV4dC1wbGFpbi5wbmcgXAotCSAgIGZpbGU6Ly9lbWJsZW0tc3ltYm9saWMtbGluay5wbmcgXAotCSAgIGZpbGU6Ly9uby1kZXNrdG9wLnBhdGNoIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiODI3ODM4ZjdmNmIxN2RjOTdlMTY5MGMwN2RhOGZkYjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWE2OTNlOWJmM2YzMjk0ZjBlZTcyNjRjMWMxYTYwMGE4OGVlMjdkMTU3MmU3ZGQ1YzRiMGU4NGFhNzc3OGZmYiIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvcGNtYW5mbS9maWxlcy9QQ01hbkZNJTIwJTJCJTIwTGliZm0lMjAlMjh0YXJiYWxsJTIwcmVsZWFzZSUyOS9QQ01hbkZNLyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjawotCi0jIFRoZSBzdGFydHVwLW5vdGlmaWNhdGlvbiByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCi1SRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLWd0az0zIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0JaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0KLQlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfS9waXhtYXBzLwotCi0JaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vKi5wbmcgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMKLX0KLQotRklMRVNfJHtQTn0gKz0gIiR7bGliZGlyfS9wY21hbmZtIgotCi1SUkVDT01NRU5EU18ke1BOfSArPSAiYWR3YWl0YS1pY29uLXRoZW1lIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3BjbWFuZm0vcGNtYW5mbV8xLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNWUzYTFhCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wY21hbmZtL3BjbWFuZm1fMS4zLjEuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJGYXN0IGxpZ2h0d2VpZ2h0IHRhYmJlZCBmaWxlbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCisKK0xJQ0VOU0UgPSAiR1BMdjIgJiBHUEx2MisgJiBMR1BMdjIuMSsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01OTUzMGJkZjMzNjU5YjI5ZTczZDRhZGI5ZjlmNjU1MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvcGNtYW5mbS5oO2VuZGxpbmU9MjI7bWQ1PTQxN2IzODU1NzcxYTNhODdmOGFkNzUzZDk5NDQ5MWYwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9nc2VhbC1ndGstY29tcGF0Lmg7ZW5kbGluZT0yMTttZDU9NDY5MjJjODY5MWY1OGQxMjRmOTQyMGZlMTYxNDljZTIiCisKK1NFQ1RJT04gPSAieDExIgorREVQRU5EUyA9ICJndGsrMyBzdGFydHVwLW5vdGlmaWNhdGlvbiBsaWJmbSBpbnRsdG9vbC1uYXRpdmUgZ2V0dGV4dC1uYXRpdmUgZ2xpYi0yLjAtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wY21hbmZtL3BjbWFuZm0tJHtQVn0udGFyLnh6IFwKKwkgICBmaWxlOi8vZ25vbWUtZnMtZGlyZWN0b3J5LnBuZyBcCisJICAgZmlsZTovL2dub21lLWZzLXJlZ3VsYXIucG5nIFwKKwkgICBmaWxlOi8vZ25vbWUtbWltZS10ZXh0LXBsYWluLnBuZyBcCisJICAgZmlsZTovL2VtYmxlbS1zeW1ib2xpYy1saW5rLnBuZyBcCisJICAgZmlsZTovL25vLWRlc2t0b3AucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMzJhZDJjOWM3YzUyYmZmMjAwNGJiYzEyMGI1MzQyMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ODA0MDQzYjNlZTNhNzAzZWRkZTQxYzcyNDk0NjE3NGI1MDVmZTk1ODcwM2VhZGJkN2UwODc2ZWNlODM2ODU1IgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9wY21hbmZtL2ZpbGVzL1BDTWFuRk0lMjAlMkIlMjBMaWJmbSUyMCUyOHRhcmJhbGwlMjByZWxlYXNlJTI5L1BDTWFuRk0vIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIHN0YXJ0dXAtbm90aWZpY2F0aW9uIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZ3RrPTMiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwlpbnN0YWxsIC1kICR7RH0vJHtkYXRhZGlyfQorCWluc3RhbGwgLWQgJHtEfS8ke2RhdGFkaXJ9L3BpeG1hcHMvCisKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS8qLnBuZyAke0R9LyR7ZGF0YWRpcn0vcGl4bWFwcworfQorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3BjbWFuZm0iCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJhZHdhaXRhLWljb24tdGhlbWUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvMDAwMS1wYXR0ZXJuLmMtQ2hhbmdlLXN0cmluZy1sZW5naHQtcGFyYW1ldGVyLXRvLWJlLXNpemVfLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzLzAwMDEtcGF0dGVybi5jLUNoYW5nZS1zdHJpbmctbGVuZ2h0LXBhcmFtZXRlci10by1iZS1zaXplXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWM2MjAxCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL2ZpbGVzLzAwMDEtcGF0dGVybi5jLUNoYW5nZS1zdHJpbmctbGVuZ2h0LXBhcmFtZXRlci10by1iZS1zaXplXy5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIDAzNTQ2N2FhMGFiZmJjMGRlN2U1ZDI0NTQzZDRhYWIzNzMwMTU5M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVGh1LCA3IE1hciAyMDE5IDIxOjU2OjU3IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIHBhdHRlcm4uYzogQ2hhbmdlIHN0cmluZyBsZW5naHQgcGFyYW1ldGVyIHRvIGJlIHNpemVfdCBpbgorIGRvX3JvdygpCisKK1RoaXMgZml4ZXMgYmVsb3cgZXJyb3Igb24gc29tZSBhcmNoaXRlY3R1cmVzIGUuZy4gUklTQy1WCisKK3BhdHRlcm4uYzo0NTU6OTogZXJyb3I6ICdtZW1zZXQnIHNwZWNpZmllZCBzaXplIGJldHdlZW4gMTg0NDY3NDQwNzE1NjIwNjc5NjggYW5kIDE4NDQ2NzQ0MDczNzA5NTUxNjE1IGV4Y2VlZHMgbWF4aW11bSBvYmplY3Qgc2l6ZSA5MjIzMzcyMDM2ODU0Nzc1ODA3IFstV2Vycm9yPXN0cmluZ29wLW92ZXJmbG93PV0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTUgfCAgICAgICAgIG1lbXNldChkZWR1Y2VkLCBET1QsIChzaXplX3QpbGVuKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBwYXR0ZXJuLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9wYXR0ZXJuLmMgYi9wYXR0ZXJuLmMKK2luZGV4IDQ1YjFiMGMuLmY3M2E0YzIgMTAwNjQ0CistLS0gYS9wYXR0ZXJuLmMKKysrKyBiL3BhdHRlcm4uYworQEAgLTQyOCw3ICs0MjgsNyBAQCBzdGF0aWMgaW50IGRvX3Jvdyh1bnNpZ25lZCBjaGFyICprbm93biwgdW5zaWduZWQgY2hhciAqZGVkdWNlZCwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpyb3csCisgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqbWlucG9zX2RvbmUsIHVuc2lnbmVkIGNoYXIgKm1heHBvc19kb25lLAorIAkJICB1bnNpZ25lZCBjaGFyICptaW5wb3Nfb2ssIHVuc2lnbmVkIGNoYXIgKm1heHBvc19vaywKKy0gICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzdGFydCwgaW50IGxlbiwgaW50IHN0ZXAsIGludCAqZGF0YSwKKysgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpzdGFydCwgc2l6ZV90IGxlbiwgaW50IHN0ZXAsIGludCAqZGF0YSwKKyAJCSAgdW5zaWduZWQgaW50ICpjaGFuZ2VkCisgI2lmZGVmIFNUQU5EQUxPTkVfU09MVkVSCisgCQkgICwgY29uc3QgY2hhciAqcm93Y29sLCBpbnQgaW5kZXgsIGludCBjbHVld2lkCistLSAKKzIuMjEuMAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvZmlsZXMvZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzIxOGQ2MgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9maWxlcy9maXgta2ktdW5pbml0aWFsaXplZC5wYXRjaApAQCAtMCwwICsxLDI1IEBACitwdXp6bGVzOiBhdm9pZCBjb21waWxlciB1bml0aWFsaXplZCB2YXJpYWJsZSBlcnJvcgorCitUaGUgY29tcGlsZXIgZG9lcyBub3QgcmVhbGl6ZSB0aGF0IHdlIG11c3QgZ28gdGhyb3VnaCB0aGUgd2hpbGUoKQorbG9vcCBhdCBsZWFzdCBvbmNlLCBzbyB3ZSByZXBsYWNlIGl0IHdpdGggYSBmb3IoKSBsb29wLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8am9lLnNsYXRlckB3aW5kcml2ZXIuY29tPgorCistLS0gYS90cmVlMjM0LmMKKysrKyBiL3RyZWUyMzQuYworQEAgLTMyNiw4ICszMjYsMTEgQEAgc3RhdGljIHZvaWQgKmFkZDIzNF9pbnRlcm5hbCh0cmVlMjM0ICp0LAorIAlyZXR1cm4gb3JpZ19lOworICAgICB9CisgCistICAgIG4gPSB0LT5yb290OworLSAgICB3aGlsZSAobikgeworKyAgICAvKgorKyAgICAgKiBXZSBrbm93IHQtPnJvb3QgaXMgbm90IE5VTEwuICBUaGUgbG9naWMKKysgICAgICogdG8gYnJlYWsgb3V0IG9mIHRoaXMgaXMgYXQgdGhlIGVuZCBvZiB0aGUgbG9vcC4KKysgICAgICovCisrICAgIGZvciAobiA9IHQtPnJvb3Q7OykgeworIAlMT0coKCIgIG5vZGUgJXA6ICVwLyVkIFwiJXNcIiAlcC8lZCBcIiVzXCIgJXAvJWQgXCIlc1wiICVwLyVkXG4iLAorIAkgICAgIG4sCisgCSAgICAgbi0+a2lkc1swXSwgbi0+Y291bnRzWzBdLCBuLT5lbGVtc1swXSwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9wdXp6bGVzX2dpdC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vcHV6emxlcy9wdXp6bGVzX2dpdC5iYgppbmRleCA3ZDA4Yjk2Li41OWI5NTI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3B1enpsZXMvcHV6emxlc19naXQuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by9wdXp6bGVzL3B1enpsZXNfZ2l0LmJiCkBAIC0xMyw2ICsxMyw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1sYWJzLWluc3RlYWQtb2YtYWJzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcGFsaXNhZGUtRml4LXdhcm5pbmdzLXdpdGgtY2xhbmctb24tYXJtLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLVduby1lcnJvci1mb3JtYXQtb3ZlcmZsb3ctaWYtdGhlLWNvbXBpbGVyLXN1cHBvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBhdHRlcm4uYy1DaGFuZ2Utc3RyaW5nLWxlbmdodC1wYXJhbWV0ZXItdG8tYmUtc2l6ZV8ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWtpLXVuaW5pdGlhbGl6ZWQucGF0Y2ggXAogICAgICAgICAgICAiCiAKIFVQU1RSRUFNX0NIRUNLX0NPTU1JVFMgPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1QYWludGluZ0RhdGEtaGFzLW5vLW1lbWJlci1uYW1lZC1saWdodFZlY3Rvci1vbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtUGFpbnRpbmdEYXRhLWhhcy1uby1tZW1iZXItbmFtZWQtbGlnaHRWZWN0b3Itb24tLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNWY0ODQ2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1QYWludGluZ0RhdGEtaGFzLW5vLW1lbWJlci1uYW1lZC1saWdodFZlY3Rvci1vbi0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIGE1ZDRlMDM4MjY4YWUyMzQ4NmZlY2MxOTY2ZmQyZTE2YTdmNDBjZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBXZWQsIDI1IEp1bCAyMDE4IDAwOjIzOjQ4IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBQYWludGluZ0RhdGEnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2xpZ2h0VmVjdG9yJyBvbgotIEFSTV9ORU9OCi0KLSogcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmg6Ci0oV2ViQ29yZTo6RkVMaWdodGluZzo6cGxhdGZvcm1BcHBseU5lb24pOgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4Nzk5MQotCi1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaCB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NwdS9hcm0vZmlsdGVycy9GRUxpZ2h0aW5nTkVPTi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKLWluZGV4IDQyYWY5MjIuLmI1NDJhNGMgMTAwNjQ0Ci0tLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jcHUvYXJtL2ZpbHRlcnMvRkVMaWdodGluZ05FT04uaAotKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY3B1L2FybS9maWx0ZXJzL0ZFTGlnaHRpbmdORU9OLmgKLUBAIC0xNDQsOSArMTQ0LDkgQEAgaW5saW5lIHZvaWQgRkVMaWdodGluZzo6cGxhdGZvcm1BcHBseU5lb24oY29uc3QgTGlnaHRpbmdEYXRhJiBkYXRhLCBjb25zdCBMaWdodFMKLSAgICAgICAgICAgICBuZW9uRGF0YS5mbGFncyB8PSBGTEFHX0NPTkVfRVhQT05FTlRfSVNfMTsKLSAgICAgfSBlbHNlIHsKLSAgICAgICAgIEFTU0VSVChtX2xpZ2h0U291cmNlLT50eXBlKCkgPT0gTFNfRElTVEFOVCk7Ci0tICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFggPSBwYWludGluZ0RhdGEubGlnaHRWZWN0b3IueCgpOwotLSAgICAgICAgZmxvYXRBcmd1bWVudHMubGlnaHRZID0gcGFpbnRpbmdEYXRhLmxpZ2h0VmVjdG9yLnkoKTsKLS0gICAgICAgIGZsb2F0QXJndW1lbnRzLmxpZ2h0WiA9IHBhaW50aW5nRGF0YS5saWdodFZlY3Rvci56KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFggPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci54KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFkgPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci55KCk7Ci0rICAgICAgICBmbG9hdEFyZ3VtZW50cy5saWdodFogPSBwYWludGluZ0RhdGEuaW5pdGlhbExpZ2h0aW5nRGF0YS5saWdodFZlY3Rvci56KCk7Ci0gICAgICAgICBmbG9hdEFyZ3VtZW50cy5wYWRkaW5nMiA9IDE7Ci0gICAgIH0KLSAKLS0tIAotMi4xMC4yCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoCmluZGV4IDA0MWVjNDYuLmQ5YTE4ZTAgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLUZpeC1idWlsZC13aXRoLW11c2wucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNGY5ZDczNmUwNDU4ZWQzM2NkMTYxY2QxNjRhZDBhY2RhYzkzOWY0NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMzIyOTY2MjczYThlMDg1ODI5MjYxYTM5N2FmMzdkZTBmYmY1MWFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogRnJpLCA2IE9jdCAyMDE3IDE3OjAwOjA4ICswMzAwCiBTdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIG11c2wKQEAgLTcsNjkgKzcsNjkgQEAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogCiAtLS0KLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oIHwgMTggKysrKysrKysrKysrKysrKystCisgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaCB8IDEwICsrKysrLS0tLS0KICBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFjaGluZUNvbnRleHQuaAotaW5kZXggYmYwYmRjNy4uODRiOGE4YSAxMDA2NDQKK2luZGV4IDgzNmQ3NTUuLjc2NjVkMjUgMTAwNjQ0CiAtLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCiArKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9NYWNoaW5lQ29udGV4dC5oCi1AQCAtMTQ2LDcgKzE0Niw3IEBAIGlubGluZSB2b2lkKiYgc3RhY2tQb2ludGVyKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQorQEAgLTE4OCw3ICsxODgsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBzdGFja1BvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAjaWYgQ1BVKFg4NikKICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZComPigodWludHB0cl90JikgbWFjaGluZUNvbnRleHQuZ3JlZ3NbUkVHX0VTUF0pOwotQEAgLTI1MSw3ICsyNTEsNyBAQCBpbmxpbmUgdm9pZComIGZyYW1lUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC0zMzUsNyArMzM1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkKiYgZnJhbWVQb2ludGVySW1wbChtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCi1AQCAtMzU0LDcgKzM1NCw3IEBAIGlubGluZSB2b2lkKiYgaW5zdHJ1Y3Rpb25Qb2ludGVyKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQorQEAgLTQ4Miw3ICs0ODIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQqJiBpbnN0cnVjdGlvblBvaW50ZXJJbXBsKG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAvLyBUaGUgZm9sbG93aW5nIHNlcXVlbmNlIGRlcGVuZHMgb24gZ2xpYmMncyBzeXMvdWNvbnRleHQuaC4KICAjaWYgQ1BVKFg4NikKLUBAIC00NjYsNyArNDY2LDcgQEAgaW5saW5lIHZvaWQqJiBhcmd1bWVudFBvaW50ZXI8MT4obWNvbnRleHRfdCYgbWFjaGluZUNvbnRleHQpCitAQCAtNjM5LDcgKzYzOSw3IEBAIGlubGluZSB2b2lkKiYgYXJndW1lbnRQb2ludGVyPDE+KG1jb250ZXh0X3QmIG1hY2hpbmVDb250ZXh0KQogICNlcnJvciBVbmtub3duIEFyY2hpdGVjdHVyZQogICNlbmRpZgogIAotLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCistI2VsaWYgT1MoRlVDSFNJQSkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykKICsjZWxpZiBkZWZpbmVkKF9fbGludXhfXykKICAKICAvLyBUaGUgZm9sbG93aW5nIHNlcXVlbmNlIGRlcGVuZHMgb24gZ2xpYmMncyBzeXMvdWNvbnRleHQuaC4KICAjaWYgQ1BVKFg4NikKLUBAIC01ODMsNyArNTgzLDcgQEAgaW5saW5lIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKK0BAIC03NTYsNyArNzU2LDcgQEAgaW5saW5lIHZvaWQqJiBsbGludEluc3RydWN0aW9uUG9pbnRlcihtY29udGV4dF90JiBtYWNoaW5lQ29udGV4dCkKICAjZXJyb3IgVW5rbm93biBBcmNoaXRlY3R1cmUKICAjZW5kaWYKICAKLS0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKQorLSNlbGlmIE9TKEZVQ0hTSUEpIHx8IGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pCiArI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCiAgCiAgLy8gVGhlIGZvbGxvd2luZyBzZXF1ZW5jZSBkZXBlbmRzIG9uIGdsaWJjJ3Mgc3lzL3Vjb250ZXh0LmguCiAgI2lmIENQVShYODYpCiBkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKLWluZGV4IDU1MWMwNDcuLmU1MGIwNWEgMTAwNjQ0CitpbmRleCBhODQxOTQ2Li4xZTVjN2RkIDEwMDY0NAogLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAogKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAotQEAgLTY4Myw3ICs2ODMsNyBAQAorQEAgLTcwMSw3ICs3MDEsNyBAQAogICNkZWZpbmUgSEFWRV9DRk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcgMQogICNlbmRpZgogIAotLSNpZiBPUyhEQVJXSU4pIHx8ICgoT1MoRlJFRUJTRCkgfHwgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoX19CSU9OSUNfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCi0rI2lmIE9TKERBUldJTikgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fbGludXhfXykpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSB8fCBDUFUoQVJNKSB8fCBDUFUoQVJNNjQpIHx8IENQVShNSVBTKSkpCistI2lmIE9TKERBUldJTikgfHwgT1MoRlVDSFNJQSkgfHwgKChPUyhGUkVFQlNEKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChfX0JJT05JQ19fKSkgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQVShBUk0pIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpKSkKKysjaWYgT1MoREFSV0lOKSB8fCBPUyhGVUNIU0lBKSB8fCAoKE9TKEZSRUVCU0QpIHx8IGRlZmluZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fQklPTklDX18pKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQUykpKQogICNkZWZpbmUgSEFWRV9NQUNISU5FX0NPTlRFWFQgMQogICNlbmRpZgogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLVdoZW4tYnVpbGRpbmctaW50cm9zcGVjdGlvbi1maWxlcy1hZGQtQ01BS0VfQ19GTEFHUy0ucGF0Y2gKaW5kZXggOTIzZDAwYy4uM2UwM2FhOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS1XaGVuLWJ1aWxkaW5nLWludHJvc3BlY3Rpb24tZmlsZXMtYWRkLUNNQUtFX0NfRkxBR1MtLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBmOTc2N2E0NzkxMTFmOWM2ZjI4MGM0MzE3NmMzM2RlNTBhZWU3ZjY2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4ZjFlMTcwYTZkZTgwMzZhYjUwZWIzNTgzNGE3N2YyYzc5NDEyZWUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CiBEYXRlOiBXZWQsIDI4IE9jdCAyMDE1IDE0OjE4OjU3ICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdIFdoZW4gYnVpbGRpbmcgaW50cm9zcGVjdGlvbiBmaWxlcywgYWRkIENNQUtFX0NfRkxBR1MgdG8gdGhlCkBAIC0xMSwxNCArMTEsMjggQEAKIFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogCiAtLS0KLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtR1RLLmNtYWtlIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UgfCAyICstCisgU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZSAgICAgICAgIHwgNCArKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiAKK2RpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1HVEsuY21ha2UKK2luZGV4IDBiMjk2OGQyLi4yNzQyYWQ4MCAxMDA2NDQKKy0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCitAQCAtNzEsNyArNzEsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCisgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L0phdmFTY3JpcHRDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKKyAgICAgICAgIERFUEVORFMgSmF2YVNjcmlwdENvcmUKKy0gICAgICAgIENPTU1BTkQgQ0M9JHtDTUFLRV9DX0NPTVBJTEVSfSBDRkxBR1M9LVduby1kZXByZWNhdGVkLWRlY2xhcmF0aW9ucyBMREZMQUdTPQorKyAgICAgICAgQ09NTUFORCBDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IENGTEFHUz0tV25vLWRlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXCAke0NNQUtFX0NfRkxBR1N9IExERkxBR1M9CisgICAgICAgICAgICAgJHtMT0FERVJfTElCUkFSWV9QQVRIX1ZBUn09IiR7SU5UUk9TUEVDVElPTl9BRERJVElPTkFMX0xJQlJBUllfUEFUSH0iCisgICAgICAgICAgICAgJHtJTlRST1NQRUNUSU9OX1NDQU5ORVJ9CisgICAgICAgICAgICAgLS1xdWlldAogZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtR1RLLmNtYWtlCi1pbmRleCBkYzZiMzA2Li5hMDc0YTgwIDEwMDY0NAoraW5kZXggZTM2ZTRjMzUuLjk0M2Y5Nzk0IDEwMDY0NAogLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQogKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUdUSy5jbWFrZQotQEAgLTczMiw3ICs3MzIsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCitAQCAtNzQyLDcgKzc0Miw3IEBAIGlmIChFTkFCTEVfSU5UUk9TUEVDVElPTikKICAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L1dlYktpdDItJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcgogICAgICAgICAgREVQRU5EUyBXZWJLaXQKICAgICAgICAgIERFUEVORFMgJHtDTUFLRV9CSU5BUllfRElSfS9KYXZhU2NyaXB0Q29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyCkBAIC0yNyw3ICs0MSw3IEBACiAgICAgICAgICAgICAgJHtMT0FERVJfTElCUkFSWV9QQVRIX1ZBUn09IiR7SU5UUk9TUEVDVElPTl9BRERJVElPTkFMX0xJQlJBUllfUEFUSH0iCiAgICAgICAgICAgICAgJHtJTlRST1NQRUNUSU9OX1NDQU5ORVJ9CiAgICAgICAgICAgICAgLS1xdWlldAotQEAgLTc3NCw3ICs3NzQsNyBAQCBpZiAoRU5BQkxFX0lOVFJPU1BFQ1RJT04pCitAQCAtNzg2LDcgKzc4Niw3IEBAIGlmIChFTkFCTEVfSU5UUk9TUEVDVElPTikKICAgICAgICAgIE9VVFBVVCAke0NNQUtFX0JJTkFSWV9ESVJ9L1dlYktpdDJXZWJFeHRlbnNpb24tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcgogICAgICAgICAgREVQRU5EUyAke0NNQUtFX0JJTkFSWV9ESVJ9L0phdmFTY3JpcHRDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKICAgICAgICAgIERFUEVORFMgJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAwMS13ZWJraXRndGstZml4LUNWRS0yMDE3LTE3ODIxLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhM2Y3NTk5Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1CYWNrcG9ydCBwYXRjaCB0byBmaXggQ1ZFLTIwMTctMTc4MjEuIFJlZmVyIHRvCi1odHRwczovL3NlY3VyaXR5LXRyYWNrZXIuZGViaWFuLm9yZy90cmFja2VyL0NWRS0yMDE3LTE3ODIxLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjMyMTE5L3dlYmtpdF0KLUNWRTogQ1ZFLTIwMTctMTc4MjEKLQotU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+Ci0KLUZyb20gMmExN2IxNTI5N2ViODg2YjBiZmI3ZDA5OGVmNjA3Y2ZhZDZjM2RhMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ICJtY2F0YW56YXJvQGlnYWxpYS5jb20iCi0gPG1jYXRhbnphcm9AaWdhbGlhLmNvbUAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmM+Ci1EYXRlOiBXZWQsIDIzIE1heSAyMDE4IDE3OjU0OjAxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIFByb2hpYml0IHNocmlua2luZyB0aGUgRmFzdEJpdFZlY3RvcgotIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMjAKLQotUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCi0KLVByb2hpYml0IHNocmlua2luZyB0aGUgRmFzdEJpdFZlY3Rvci4gSXQncyBub3QgcHJlcGFyZWQgZm9yIHRoaXMgYW5kIHRoZSBjdXJyZW50IHVzYWdlIGRvZXMKLW5vdCByZXF1aXJlIGl0LgotCi0qIHd0Zi9GYXN0Qml0VmVjdG9yLmNwcDoKLShXVEY6OkZhc3RCaXRWZWN0b3JXb3JkT3duZXI6OnJlc2l6ZVNsb3cpOgotCi1naXQtc3ZuLWlkOiBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmtAMjMyMTE5IDI2OGY0NWNjLWNkMDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYwotLS0tCi0gU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAgfCAgMiArKwotIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0Qml0VmVjdG9yLmNwcAotaW5kZXggZWVkMzE2OTc1ZjQuLjhiMDE5YWFhM2VkIDEwMDY0NAotLS0tIGEvU291cmNlL1dURi93dGYvRmFzdEJpdFZlY3Rvci5jcHAKLSsrKyBiL1NvdXJjZS9XVEYvd3RmL0Zhc3RCaXRWZWN0b3IuY3BwCi1AQCAtNDIsNiArNDIsOCBAQCB2b2lkIEZhc3RCaXRWZWN0b3JXb3JkT3duZXI6OnNldEVxdWFsc1Nsb3coY29uc3QgRmFzdEJpdFZlY3RvcldvcmRPd25lciYgb3RoZXIpCi0gdm9pZCBGYXN0Qml0VmVjdG9yV29yZE93bmVyOjpyZXNpemVTbG93KHNpemVfdCBudW1CaXRzKQotIHsKLSAgICAgc2l6ZV90IG5ld0xlbmd0aCA9IGZhc3RCaXRWZWN0b3JBcnJheUxlbmd0aChudW1CaXRzKTsKLSsKLSsgICAgUkVMRUFTRV9BU1NFUlQobmV3TGVuZ3RoID49IGFycmF5TGVuZ3RoKCkpOwotICAgICAKLSAgICAgLy8gVXNlIGZhc3RDYWxsb2MgaW5zdGVhZCBvZiBmYXN0UmVhbGxvYyBiZWNhdXNlIHdlIGV4cGVjdCB0aGUgY29tbW9uCi0gICAgIC8vIHVzZSBjYXNlIGZvciB0aGlzIG1ldGhvZCB0byBiZSBpbml0aWFsaXppbmcgdGhlIHNpemUgb2YgdGhlIGJpdHZlY3Rvci4KLS0tIAotMi4xNy4wCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDEyLXNvdXAtRm9yd2FyZC1kZWNsYXJlLVVSTC1jbGFzcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0ay8wMDEyLXNvdXAtRm9yd2FyZC1kZWNsYXJlLVVSTC1jbGFzcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhmZDRkYy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvMDAxMi1zb3VwLUZvcndhcmQtZGVjbGFyZS1VUkwtY2xhc3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIDU5ZjY5MDNhZDk2ZjMyMTNmMjQ4YjY3MmQ1ZmQ1MjZjYzBkNjY2Y2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAyMCBNYXkgMjAxOCAxNDoyODoyNyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBzb3VwOiBGb3J3YXJkIGRlY2xhcmUgVVJMIGNsYXNzCi0KLVRoaXMgaGVscHMgZ2V0dGluZyBhd2F5IHdpdGggY29tcGlsZXIgZXJyb3JzIHNlZW4gd2l0aCBjbGFuZwotCi0vbW50L2Evb2Uvd29ya3NwYWNlL3NvdXJjZXMvd2Via2l0Z3RrL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaDo2ODo2MjoKLWVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnVVJMJwotICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJlc291cmNlRXJyb3I+IGNoZWNrVExTRXJyb3JzKGNvbnN0IFVSTCYsCi1HVGxzQ2VydGlmaWNhdGUqLCBHVGxzQ2VydGlmaWNhdGVGbGFncyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzIzMTg3Ni93ZWJraXRdCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9Tb3VwTmV0d29ya1Nlc3Npb24uaAotaW5kZXggMDNiZDcyYmEuLjdjYTg3OTJkIDEwMDY0NAotLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1NvdXBOZXR3b3JrU2Vzc2lvbi5oCi0rKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU291cE5ldHdvcmtTZXNzaW9uLmgKLUBAIC00Myw2ICs0Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAKLSBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87Ci0gY2xhc3MgUmVzb3VyY2VFcnJvcjsKLStjbGFzcyBVUkw7Ci0gc3RydWN0IFNvdXBOZXR3b3JrUHJveHlTZXR0aW5nczsKLSAKLSBjbGFzcyBTb3VwTmV0d29ya1Nlc3Npb24gewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGsvYmFkX29wdGlvbmFsX2FjY2Vzcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDBkNTBiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc2F0by93ZWJraXQvd2Via2l0Z3RrL2JhZF9vcHRpb25hbF9hY2Nlc3MucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAordW5icmVhayBidWlsZCB3aXRoIGxpYmMrKyA3CisKK2Jhc2VkIG9uCitodHRwczovL3N2bndlYi5mcmVlYnNkLm9yZy9wb3J0cy9oZWFkL3d3dy93ZWJraXQyLWd0azMvZmlsZXMvcGF0Y2gtU291cmNlX1dURl93dGZfT3B0aW9uYWwuaD92aWV3PW1hcmt1cCZwYXRocmV2PTQ3NzgxMgorCitGaXhlcworCisvdXNyL2luY2x1ZGUvYysrL3YxL29wdGlvbmFsOjE3MToyOTogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnYmFkX29wdGlvbmFsX2FjY2VzcycKK2NsYXNzIF9MSUJDUFBfRVhDRVBUSU9OX0FCSSBiYWRfb3B0aW9uYWxfYWNjZXNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorRGVyaXZlZFNvdXJjZXMvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL09wdGlvbmFsLmg6Mjk1Ojc6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gaXMgaGVyZQorY2xhc3MgYmFkX29wdGlvbmFsX2FjY2VzcyA6IHB1YmxpYyBzdGQ6OmxvZ2ljX2Vycm9yIHsKKyAgICAgIF4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tIGEvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAorKysrIGIvU291cmNlL1dURi93dGYvT3B0aW9uYWwuaAorQEAgLTI3NiwxNCArMjc2LDE0IEBAIHN0cnVjdCBudWxsb3B0X3QKKyB9OworIGNvbnN0ZXhwciBudWxsb3B0X3QgbnVsbG9wdHtudWxsb3B0X3Q6OmluaXQoKX07CisgCistCisrIyBpZiAhZGVmaW5lZChfTElCQ1BQX1ZFUlNJT04pIHx8IF9MSUJDUFBfVkVSU0lPTiA8IDcwMDAKKyAvLyAyMC41LjgsIGNsYXNzIGJhZF9vcHRpb25hbF9hY2Nlc3MKKyBjbGFzcyBiYWRfb3B0aW9uYWxfYWNjZXNzIDogcHVibGljIHN0ZDo6bG9naWNfZXJyb3IgeworIHB1YmxpYzoKKyAgIGV4cGxpY2l0IGJhZF9vcHRpb25hbF9hY2Nlc3MoY29uc3Qgc3RkOjpzdHJpbmcmIHdoYXRfYXJnKSA6IHN0ZDo6bG9naWNfZXJyb3J7d2hhdF9hcmd9IHt9CisgICBleHBsaWNpdCBiYWRfb3B0aW9uYWxfYWNjZXNzKGNvbnN0IGNoYXIqIHdoYXRfYXJnKSA6IHN0ZDo6bG9naWNfZXJyb3J7d2hhdF9hcmd9IHt9CisgfTsKKy0KKysjIGVuZGlmIC8vIF9MSUJDUFBfVkVSU0lPTiA8IDcwMDAKKyAKKyB0ZW1wbGF0ZSA8Y2xhc3MgVD4KKyB1bmlvbiBzdG9yYWdlX3QKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIwLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMC41LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjFmZmNlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIwLjUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQgKzAsMCBAQAotU1VNTUFSWSA9ICJXZWJLaXQgd2ViIHJlbmRlcmluZyBlbmdpbmUgZm9yIHRoZSBHVEsrIHBsYXRmb3JtIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy8iCi0KLUxJQ0VOU0UgPSAiQlNEICYgTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DT1BZSU5HLkxJQjttZDU9ZDBjNmQ2Mzk3YTVkODQyODZkZGE3NThkYTU3YmQ2OTEgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBMRTttZDU9NDY0NmY5MDA4MmM0MGJjZjI5OGMyODVmOGJhYjBiMTIgXAotCQkgICAgZmlsZTovL1NvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yO21kNT0zNjM1N2ZmZGUyYjY0YWUxNzdiMjQ5NDQ0NWI3OWQyMSBcCi0JCSAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1MR1BMLTIuMTttZDU9YTc3OGEzM2VmMzM4YWJiYWY4YjhhN2MzNmI2ZWVjODAgXAotCQkgICAiCi0KLVNSQ19VUkkgPSAiaHR0cDovL3d3dy53ZWJraXRndGsub3JnL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaW5kR09iamVjdEludHJvc3BlY3Rpb24uY21ha2UtcHJlZml4LXZhcmlhYmxlcy1vYnRhLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtV2hlbi1idWlsZGluZy1pbnRyb3NwZWN0aW9uLWZpbGVzLWFkZC1DTUFLRV9DX0ZMQUdTLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLU9wdGlvbnNHVEsuY21ha2UtZHJvcC10aGUtaGFyZGNvZGVkLWludHJvc3BlY3Rpb24tZ3QucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtcmFjeS1wYXJhbGxlbC1idWlsZC1vZi1XZWJLaXQyLTQuMC5naXIucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Ud2Vhay1ndGtkb2Mtc2V0dGluZ3Mtc28tdGhhdC1ndGtkb2MtZ2VuZXJhdGlvbi13b3JrLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3gzMl9zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2Nyb3NzLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1XZWJLaXRNYWNyb3MtQXBwZW5kLXRvLUktYW5kLW5vdC10by1pc3lzdGVtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZXRlY3QtZ3N0cmVhbWVyLWdsLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMTItc291cC1Gb3J3YXJkLWRlY2xhcmUtVVJMLWNsYXNzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LVBhaW50aW5nRGF0YS1oYXMtbm8tbWVtYmVyLW5hbWVkLWxpZ2h0VmVjdG9yLW9uLS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXdlYmtpdGd0ay1maXgtQ1ZFLTIwMTctMTc4MjEucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI3MmEwNWY2YTRkYzFjNzhiMDc5NTkwYThmZDI4MDQwMSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxNWMwZjhkMjZlOTYwNWFmZTA5NDhkMTYxYmE1ZmQ4MmVmZWU4ZWRhMmRlYmQ0MDlmZDQwYTQ0MGFjM2FmOTkwIgotCi1pbmhlcml0IGNtYWtlIHBrZ2NvbmZpZyBnb2JqZWN0LWludHJvc3BlY3Rpb24gcGVybG5hdGl2ZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGd0ay1kb2MKLQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSBvcGVuZ2wiCi0KLURFUEVORFMgPSAiemxpYiBsaWJzb3VwLTIuNCBjdXJsIGxpYnhtbDIgY2Fpcm8gbGlieHNsdCBsaWJ4dCBsaWJpZG4gbGliZ2NyeXB0IFwKLSAgICAgICAgICAgZ3RrKzMgZ3N0cmVhbWVyMS4wIGdzdHJlYW1lcjEuMC1wbHVnaW5zLWJhc2UgZmxleC1uYXRpdmUgZ3BlcmYtbmF0aXZlIHNxbGl0ZTMgXAotCSAgIHBhbmdvIGljdSBiaXNvbi1uYXRpdmUgZ2F3ayBpbnRsdG9vbC1uYXRpdmUgbGlid2VicCBcCi0JICAgYXRrIHVkZXYgaGFyZmJ1enoganBlZyBsaWJwbmcgcHVsc2VhdWRpbyBsaWJyc3ZnIGxpYnRoZW9yYSBsaWJ2b3JiaXMgbGlieGNvbXBvc2l0ZSBsaWJ4dHN0IFwKLQkgICBydWJ5LW5hdGl2ZSBsaWJub3RpZnkgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFkIFwKLQkgICBnZXR0ZXh0LW5hdGl2ZSBnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlidGFzbjEgXAotICAgICAgICAgICIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICd3YXlsYW5kJyAsZCl9IFwKLSAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ29wZW5nbCcsICd3ZWJnbCBvcGVuZ2wnLCAnJyAsZCl9IFwKLSAgICAgICAgICAgICAgICAgICBlbmNoYW50IFwKLSAgICAgICAgICAgICAgICAgICBsaWJzZWNyZXQgXAotICAgICAgICAgICAgICAgICAgIgotCi1QQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9OLC1ERU5BQkxFX1dBWUxBTkRfVEFSR0VUPU9GRix3YXlsYW5kIgotUEFDS0FHRUNPTkZJR1t4MTFdID0gIi1ERU5BQkxFX1gxMV9UQVJHRVQ9T04sLURFTkFCTEVfWDExX1RBUkdFVD1PRkYsdmlydHVhbC9saWJ4MTEiCi1QQUNLQUdFQ09ORklHW2dlb2NsdWVdID0gIi1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9OLC1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9GRixnZW9jbHVlIgotUEFDS0FHRUNPTkZJR1tlbmNoYW50XSA9ICItREVOQUJMRV9TUEVMTENIRUNLPU9OLC1ERU5BQkxFX1NQRUxMQ0hFQ0s9T0ZGLGVuY2hhbnQiCi1QQUNLQUdFQ09ORklHW2d0azJdID0gIi1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T04sLURFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMj1PRkYsZ3RrKyIKLVBBQ0tBR0VDT05GSUdbZ2xlczJdID0gIi1ERU5BQkxFX0dMRVMyPU9OLC1ERU5BQkxFX0dMRVMyPU9GRix2aXJ0dWFsL2xpYmdsZXMyIgotUEFDS0FHRUNPTkZJR1t3ZWJnbF0gPSAiLURFTkFCTEVfV0VCR0w9T04sLURFTkFCTEVfV0VCR0w9T0ZGLHZpcnR1YWwvbGliZ2wiCi1QQUNLQUdFQ09ORklHW29wZW5nbF0gPSAiLURFTkFCTEVfT1BFTkdMPU9OLC1ERU5BQkxFX09QRU5HTD1PRkYsdmlydHVhbC9saWJnbCIKLVBBQ0tBR0VDT05GSUdbbGlic2VjcmV0XSA9ICItRFVTRV9MSUJTRUNSRVQ9T04sLURVU0VfTElCU0VDUkVUPU9GRixsaWJzZWNyZXQiCi1QQUNLQUdFQ09ORklHW2xpYmh5cGhlbl0gPSAiLURVU0VfTElCSFlQSEVOPU9OLC1EVVNFX0xJQkhZUEhFTj1PRkYsbGliaHlwaGVuIgotIyBTb3VyY2UgaXMgYXQgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS93b2ZmMgotUEFDS0FHRUNPTkZJR1t3b2ZmMl0gPSAiLURVU0VfV09GRjI9T04sLURVU0VfV09GRjI9T0ZGLHdvZmYyIgotCi1FWFRSQV9PRUNNQUtFID0gIiBcCi0JCS1EUE9SVD1HVEsgXAotCQktRENNQUtFX0JVSUxEX1RZUEU9UmVsZWFzZSBcCi0JCSR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICctREVOQUJMRV9JTlRST1NQRUNUSU9OPU9OJywgJy1ERU5BQkxFX0lOVFJPU1BFQ1RJT049T0ZGJywgZCl9IFwKLQkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnLURFTkFCTEVfR1RLRE9DPU9OJywgJy1ERU5BQkxFX0dUS0RPQz1PRkYnLCBkKX0gXAotCQktREVOQUJMRV9NSU5JQlJPV1NFUj1PTiBcCi0gICAgICAgICAgICAgICAgLURQWVRIT05fRVhFQ1VUQUJMRT1gd2hpY2ggcHl0aG9uYCBcCi0JCSIKLQotIyBHTC9HTEVTIGhlYWRlciBjbGFzaDogYm90aCBkZWZpbmUgdGhlIHNhbWUgdGhpbmcsIGRpZmZlcmVudGx5LCBvbiAzMiBiaXQgeDg2Ci1FWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYgPSAiIC1EVVNFX0dTVFJFQU1FUl9HTD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2LXgzMiA9ICIgLURVU0VfR1NUUkVBTUVSX0dMPU9GRiAiCi0KLSMgSmF2YXNjcmlwdCBKSVQgaXMgbm90IHN1cHBvcnRlZCBvbiBwb3dlcnBjCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9wb3dlcnBjID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGM2NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi0KLSMgQVJNIEpJVCBjb2RlIGRvZXMgbm90IGJ1aWxkIG9uIEFSTXY0LzUvNiBhbnltb3JlCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NSA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NiA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi1FWFRSQV9PRUNNQUtFX2FwcGVuZF9hcm12NCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCi0KLSMgYmludXRpbHMgMi4yNS4xIGhhcyBhIGJ1ZyBvbiBhYXJjaDY0OgotIyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xODQzMAotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURVU0VfTERfR09MRD1PRkYgIgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKLUVYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGMgPSAiIC1EVVNFX0xEX0dPTEQ9T0ZGICIKLQotRVhUUkFfT0VDTUFLRV9hcHBlbmRfYWFyY2g2NCA9ICIgLURXVEZfQ1BVX0FSTTY0X0NPUlRFWEE1Mz1PTiIKLQotIyBKSVQgbm90IHN1cHBvcnRlZCBvbiBNSVBTIGVpdGhlcgotRVhUUkFfT0VDTUFLRV9hcHBlbmRfbWlwc2FyY2ggPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi0jIEpJVCBub3Qgc3VwcG9ydGVkIG9uIFgzMgotIyBBbiBhdHRlbXB0IHdhcyBtYWRlIHRvIHVwc3RyZWFtIEpJVCBzdXBwb3J0IGZvciB4MzIgaW4KLSMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ1MCwgYnV0IHRoaXMgd2FzIGNsb3NlZCBhcwotIyB1bnJlc29sdmVkIGR1ZSB0byBsaW1pdGVkIFgzMiBhZG9wdGlvbi4KLUVYVFJBX09FQ01BS0VfYXBwZW5kX3g4Ni14MzIgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgotCi1TRUNVUklUWV9DRkxBR1NfcmVtb3ZlX2FhcmNoNjQgPSAiLWZwaWUiCi1TRUNVUklUWV9DRkxBR1NfYXBwZW5kX2FhcmNoNjQgPSAiIC1mUElFIgotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3dlYmtpdDJndGstNC4wL2luamVjdGVkLWJ1bmRsZS9saWJ3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUuc28iCi0KLVJSRUNPTU1FTkRTXyR7UE59ICs9ICJjYS1jZXJ0aWZpY2F0ZXMgc2hhcmVkLW1pbWUtaW5mbyIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAzNzAvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCi0KLSMgaHR0cHM6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3Nob3dfYnVnLmNnaT9pZD05NDc0Ci0jIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4ODAKLSMgSlNDIEpJVCBjYW4gYnVpbGQgb24gQVJNdjcgd2l0aCAtbWFybSwgYnV0IGRvZXNuJ3Qgd29yayBvbiBydW50aW1lLgotIyBVcHN0cmVhbSBvbmx5IHRlc3RzIHJlZ3VsYXJseSB0aGUgSlNDIEpJVCBvbiBBUk12NyB3aXRoIFRodW1iMiAoLW10aHVtYikuCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3YSA9ICJ0aHVtYiIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjdyID0gInRodW1iIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N3ZlID0gInRodW1iIgotCi0jIHFlbXU6IHVuY2F1Z2h0IHRhcmdldCBzaWduYWwgMTEgKFNlZ21lbnRhdGlvbiBmYXVsdCkgLSBjb3JlIGR1bXBlZAotIyBTZWdtZW50YXRpb24gZmF1bHQKLUdJX0RBVEFfRU5BQkxFRF9hcm12N2EgPSAiRmFsc2UiCi1HSV9EQVRBX0VOQUJMRURfYXJtdjd2ZSA9ICJGYWxzZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXNhdG8vd2Via2l0L3dlYmtpdGd0a18yLjIyLjcuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMi43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMWJmMTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zYXRvL3dlYmtpdC93ZWJraXRndGtfMi4yMi43LmJiCkBAIC0wLDAgKzEsMTM0IEBACitTVU1NQVJZID0gIldlYktpdCB3ZWIgcmVuZGVyaW5nIGVuZ2luZSBmb3IgdGhlIEdUSysgcGxhdGZvcm0iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LndlYmtpdGd0ay5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVncy53ZWJraXQub3JnLyIKKworTElDRU5TRSA9ICJCU0QgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vU291cmNlL0phdmFTY3JpcHRDb3JlL0NPUFlJTkcuTElCO21kNT1kMGM2ZDYzOTdhNWQ4NDI4NmRkYTc1OGRhNTdiZDY5MSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUFQUExFO21kNT00NjQ2ZjkwMDgyYzQwYmNmMjk4YzI4NWY4YmFiMGIxMiBcCisJCSAgICBmaWxlOi8vU291cmNlL1dlYkNvcmUvTElDRU5TRS1MR1BMLTI7bWQ1PTM2MzU3ZmZkZTJiNjRhZTE3N2IyNDk0NDQ1Yjc5ZDIxIFwKKwkJICAgIGZpbGU6Ly9Tb3VyY2UvV2ViQ29yZS9MSUNFTlNFLUxHUEwtMi4xO21kNT1hNzc4YTMzZWYzMzhhYmJhZjhiOGE3YzM2YjZlZWM4MCBcCisJCSAgICIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LndlYmtpdGd0ay5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpbmRHT2JqZWN0SW50cm9zcGVjdGlvbi5jbWFrZS1wcmVmaXgtdmFyaWFibGVzLW9idGEucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1XaGVuLWJ1aWxkaW5nLWludHJvc3BlY3Rpb24tZmlsZXMtYWRkLUNNQUtFX0NfRkxBR1MtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtT3B0aW9uc0dUSy5jbWFrZS1kcm9wLXRoZS1oYXJkY29kZWQtaW50cm9zcGVjdGlvbi1ndC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1yYWN5LXBhcmFsbGVsLWJ1aWxkLW9mLVdlYktpdDItNC4wLmdpci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVR3ZWFrLWd0a2RvYy1zZXR0aW5ncy1zby10aGF0LWd0a2RvYy1nZW5lcmF0aW9uLXdvcmsucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8veDMyX3N1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVdlYktpdE1hY3Jvcy1BcHBlbmQtdG8tSS1hbmQtbm90LXRvLWlzeXN0ZW0ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2RldGVjdC1nc3RyZWFtZXItZ2wucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYmFkX29wdGlvbmFsX2FjY2Vzcy5wYXRjaCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ3Mzg2YzEwYTljMzk3NWY5MzNjODU0MDRmMzVmZjNiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiZTZmN2Q2MDVjZDBhNjkwZmQyNmU4YWE4M2IwODlhMzNhZDlkNDE5MTQ4ZWFmY2ZiNjA1ODBkZDJhZjMwZmYiCisKK2luaGVyaXQgY21ha2UgcGtnY29uZmlnIGdvYmplY3QtaW50cm9zcGVjdGlvbiBwZXJsbmF0aXZlIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ3RrLWRvYworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIG9wZW5nbCIKKworREVQRU5EUyA9ICJ6bGliIGxpYnNvdXAtMi40IGN1cmwgbGlieG1sMiBjYWlybyBsaWJ4c2x0IGxpYnh0IGxpYmlkbiBsaWJnY3J5cHQgXAorICAgICAgICAgICBndGsrMyBnc3RyZWFtZXIxLjAgZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBmbGV4LW5hdGl2ZSBncGVyZi1uYXRpdmUgc3FsaXRlMyBcCisJICAgcGFuZ28gaWN1IGJpc29uLW5hdGl2ZSBnYXdrIGludGx0b29sLW5hdGl2ZSBsaWJ3ZWJwIFwKKwkgICBhdGsgdWRldiBoYXJmYnV6eiBqcGVnIGxpYnBuZyBwdWxzZWF1ZGlvIGxpYnJzdmcgbGlidGhlb3JhIGxpYnZvcmJpcyBsaWJ4Y29tcG9zaXRlIGxpYnh0c3QgXAorCSAgIHJ1YnktbmF0aXZlIGxpYm5vdGlmeSBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWQgXAorCSAgIGdldHRleHQtbmF0aXZlIGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJ0YXNuMSBcCisgICAgICAgICAgIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJ3dheWxhbmQnICxkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ3dlYmdsIG9wZW5nbCcsICcnICxkKX0gXAorICAgICAgICAgICAgICAgICAgIGVuY2hhbnQgXAorICAgICAgICAgICAgICAgICAgIGxpYnNlY3JldCBcCisgICAgICAgICAgICAgICAgICAiCisKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLURFTkFCTEVfV0FZTEFORF9UQVJHRVQ9T04sLURFTkFCTEVfV0FZTEFORF9UQVJHRVQ9T0ZGLHdheWxhbmQiCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLURFTkFCTEVfWDExX1RBUkdFVD1PTiwtREVOQUJMRV9YMTFfVEFSR0VUPU9GRix2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbZ2VvY2x1ZV0gPSAiLURFTkFCTEVfR0VPTE9DQVRJT049T04sLURFTkFCTEVfR0VPTE9DQVRJT049T0ZGLGdlb2NsdWUiCitQQUNLQUdFQ09ORklHW2VuY2hhbnRdID0gIi1ERU5BQkxFX1NQRUxMQ0hFQ0s9T04sLURFTkFCTEVfU1BFTExDSEVDSz1PRkYsZW5jaGFudCIKK1BBQ0tBR0VDT05GSUdbZ3RrMl0gPSAiLURFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMj1PTiwtREVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyPU9GRixndGsrIgorUEFDS0FHRUNPTkZJR1tnbGVzMl0gPSAiLURFTkFCTEVfR0xFUzI9T04sLURFTkFCTEVfR0xFUzI9T0ZGLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW3dlYmdsXSA9ICItREVOQUJMRV9XRUJHTD1PTiwtREVOQUJMRV9XRUJHTD1PRkYsdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbb3BlbmdsXSA9ICItREVOQUJMRV9PUEVOR0w9T04sLURFTkFCTEVfT1BFTkdMPU9GRix2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1tsaWJzZWNyZXRdID0gIi1EVVNFX0xJQlNFQ1JFVD1PTiwtRFVTRV9MSUJTRUNSRVQ9T0ZGLGxpYnNlY3JldCIKK1BBQ0tBR0VDT05GSUdbbGliaHlwaGVuXSA9ICItRFVTRV9MSUJIWVBIRU49T04sLURVU0VfTElCSFlQSEVOPU9GRixsaWJoeXBoZW4iCisjIFNvdXJjZSBpcyBhdCBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL3dvZmYyCitQQUNLQUdFQ09ORklHW3dvZmYyXSA9ICItRFVTRV9XT0ZGMj1PTiwtRFVTRV9XT0ZGMj1PRkYsd29mZjIiCisKK0VYVFJBX09FQ01BS0UgPSAiIFwKKwkJLURQT1JUPUdUSyBcCisJCS1EQ01BS0VfQlVJTERfVFlQRT1SZWxlYXNlIFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJy1ERU5BQkxFX0lOVFJPU1BFQ1RJT049T04nLCAnLURFTkFCTEVfSU5UUk9TUEVDVElPTj1PRkYnLCBkKX0gXAorCQkke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICctREVOQUJMRV9HVEtET0M9T04nLCAnLURFTkFCTEVfR1RLRE9DPU9GRicsIGQpfSBcCisJCS1ERU5BQkxFX01JTklCUk9XU0VSPU9OIFwKKyAgICAgICAgICAgICAgICAtRFBZVEhPTl9FWEVDVVRBQkxFPWB3aGljaCBweXRob25gIFwKKwkJIgorCisjIEdML0dMRVMgaGVhZGVyIGNsYXNoOiBib3RoIGRlZmluZSB0aGUgc2FtZSB0aGluZywgZGlmZmVyZW50bHksIG9uIDMyIGJpdCB4ODYKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3g4NiA9ICIgLURVU0VfR1NUUkVBTUVSX0dMPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF94ODYteDMyID0gIiAtRFVTRV9HU1RSRUFNRVJfR0w9T0ZGICIKKworIyBKYXZhc2NyaXB0IEpJVCBpcyBub3Qgc3VwcG9ydGVkIG9uIEFSQworRVhUUkFfT0VDTUFLRV9hcHBlbmRfYXJjID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKyMgQnkgZGVmYXVsdCAyNS1iaXQgIm1lZGl1bSIgY2FsbHMgYXJlIHVzZWQgb24gQVJDCisjIHdoaWNoIGlzIG5vdCBlbm91Z2ggZm9yIGJpbmFyaWVzIGxhcmdlciB0aGFuIDMyIE1pQgorQ0ZMQUdTX2FwcGVuZF9hcmMgPSAiIC1tbG9uZy1jYWxscyIKK0NYWEZMQUdTX2FwcGVuZF9hcmMgPSAiIC1tbG9uZy1jYWxscyIKKworIyBKYXZhc2NyaXB0IEpJVCBpcyBub3Qgc3VwcG9ydGVkIG9uIHBvd2VycGMKK0VYVFJBX09FQ01BS0VfYXBwZW5kX3Bvd2VycGMgPSAiIC1ERU5BQkxFX0pJVD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfcG93ZXJwYzY0ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKworIyBBUk0gSklUIGNvZGUgZG9lcyBub3QgYnVpbGQgb24gQVJNdjQvNS82IGFueW1vcmUKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY1ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY2ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKK0VYVFJBX09FQ01BS0VfYXBwZW5kX2FybXY0ID0gIiAtREVOQUJMRV9KSVQ9T0ZGICIKKworIyBiaW51dGlscyAyLjI1LjEgaGFzIGEgYnVnIG9uIGFhcmNoNjQ6CisjIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTE4NDMwCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hYXJjaDY0ID0gIiAtRFVTRV9MRF9HT0xEPU9GRiAiCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9taXBzYXJjaCA9ICIgLURVU0VfTERfR09MRD1PRkYgIgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfcG93ZXJwYyA9ICIgLURVU0VfTERfR09MRD1PRkYgIgorCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9hYXJjaDY0ID0gIiAtRFdURl9DUFVfQVJNNjRfQ09SVEVYQTUzPU9OIgorCisjIEpJVCBub3Qgc3VwcG9ydGVkIG9uIE1JUFMgZWl0aGVyCitFWFRSQV9PRUNNQUtFX2FwcGVuZF9taXBzYXJjaCA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKKyMgSklUIG5vdCBzdXBwb3J0ZWQgb24gWDMyCisjIEFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gdXBzdHJlYW0gSklUIHN1cHBvcnQgZm9yIHgzMiBpbgorIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNDUwLCBidXQgdGhpcyB3YXMgY2xvc2VkIGFzCisjIHVucmVzb2x2ZWQgZHVlIHRvIGxpbWl0ZWQgWDMyIGFkb3B0aW9uLgorRVhUUkFfT0VDTUFLRV9hcHBlbmRfeDg2LXgzMiA9ICIgLURFTkFCTEVfSklUPU9GRiAiCisKK1NFQ1VSSVRZX0NGTEFHU19yZW1vdmVfYWFyY2g2NCA9ICItZnBpZSIKK1NFQ1VSSVRZX0NGTEFHU19hcHBlbmRfYWFyY2g2NCA9ICIgLWZQSUUiCisKK0xERkxBR1NfYXBwZW5kX3Rvb2xjaGFpbi1jbGFuZyA9ICIgLXJ0bGliPWNvbXBpbGVyLXJ0IgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L3dlYmtpdDJndGstNC4wL2luamVjdGVkLWJ1bmRsZS9saWJ3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUuc28iCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJjYS1jZXJ0aWZpY2F0ZXMgc2hhcmVkLW1pbWUtaW5mbyIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjAzNzAvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NiA9ICJhcm0iCisKKyMgaHR0cHM6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnL3Nob3dfYnVnLmNnaT9pZD05NDc0CisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4ODAKKyMgSlNDIEpJVCBjYW4gYnVpbGQgb24gQVJNdjcgd2l0aCAtbWFybSwgYnV0IGRvZXNuJ3Qgd29yayBvbiBydW50aW1lLgorIyBVcHN0cmVhbSBvbmx5IHRlc3RzIHJlZ3VsYXJseSB0aGUgSlNDIEpJVCBvbiBBUk12NyB3aXRoIFRodW1iMiAoLW10aHVtYikuCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY3YSA9ICJ0aHVtYiIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjdyID0gInRodW1iIgorQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12N3ZlID0gInRodW1iIgorCisjIHFlbXU6IHVuY2F1Z2h0IHRhcmdldCBzaWduYWwgMTEgKFNlZ21lbnRhdGlvbiBmYXVsdCkgLSBjb3JlIGR1bXBlZAorIyBTZWdtZW50YXRpb24gZmF1bHQKK0dJX0RBVEFfRU5BQkxFRF9hcm12N2EgPSAiRmFsc2UiCitHSV9EQVRBX0VOQUJMRURfYXJtdjd2ZSA9ICJGYWxzZSIKKworIyBDYW4ndCBiZSBidWlsdCB3aXRoIGNjYWNoZQorQ0NBQ0hFX0RJU0FCTEUgPSAiMSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwci8wMDA4LWFwci1maXgtcHRlc3QtaGFuZy1pbi10ZXN0c3RyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY4MDlmYTYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMiArMCwwIEBACi1Gcm9tIDAzNmY5MDc0ODI0NzQxN2RiZmE3MTRiMWI5MTJjYTdkZDQwNTNmMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotRGF0ZTogTW9uLCAyMyBKdWwgMjAxOCAxNDoxMjozNSArMDgwMAotU3ViamVjdDogW1BBVENIXSBhcHI6IGZpeCBwdGVzdCBoYW5nIGluIHRlc3RzdHIKLQotcHRlc3QgaGFuZyBpbiB0ZXN0c3RyIHNpbmNlIHR1cm5zIGludG8gYSBub24tdGVybWluYXRpbmcgbG9vcCwKLWZpeCBieSBiZWxvdyBiYWNrcG9ydGVkIHBhdGNoLgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0W2h0dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvYXByL2NvbW1pdC8KLSAgICAgICAgIDJlOGZiZmY0ZWNmODJkMGRlY2Y2YmFmNzc0YzIwOTk0OGYyZjQ5OTg/ZGlmZj11bmlmaWVkXQotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gdGVzdC90ZXN0c3RyLmMgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RzdHIuYyBiL3Rlc3QvdGVzdHN0ci5jCi1pbmRleCBkOWE1MDU0Li45NTFhODMwIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0c3RyLmMKLSsrKyBiL3Rlc3QvdGVzdHN0ci5jCi1AQCAtMzA3LDcgKzMwNyw3IEBAIHN0YXRpYyB2b2lkIG92ZXJmbG93X3N0cmZzaXplKGFidHNfY2FzZSAqdGMsIHZvaWQgKmRhdGEpCi0gICAgIGZvciAoOyBvZmYgPCA5OTk5OTk5OTk7IG9mZiArPSA5OTkpIHsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYsIGJ1Zik7Ci0gICAgIH0KLS0gICAgZm9yIChvZmYgPSAxOyBvZmYgPCBMT05HX01BWCAmJiBvZmYgPiAwOyBvZmYgKj0gMikgewotKyAgICBmb3IgKG9mZiA9IExPTkdfTUFYOyBvZmYgPiAxOyBvZmYgLz0gMikgewotICAgICAgICAgYXByX3N0cmZzaXplKG9mZiwgYnVmKTsKLSAgICAgICAgIGFwcl9zdHJmc2l6ZShvZmYgKyAxLCBidWYpOwotICAgICAgICAgYXByX3N0cmZzaXplKG9mZiAtIDEsIGJ1Zik7Ci0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JmYjY5OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2Fwci9hcHJfMS42LjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotU1VNTUFSWSA9ICJBcGFjaGUgUG9ydGFibGUgUnVudGltZSAoQVBSKSBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL2Fwci5hcGFjaGUub3JnLyIKLVNFQ1RJT04gPSAibGlicyIKLURFUEVORFMgPSAidXRpbC1saW51eCIKLQotTElDRU5TRSA9ICJBcGFjaGUtMi4wIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NGRmZDRjZDIxNjgyOGM4Y2FlNWRlNWExMmYzODQ0YzggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS9hcHJfbGliLmg7ZW5kbGluZT0xNTttZDU9ODIzYjNkMWE3MjI1ZGY4ZjdiNjhhNjljM2MyYjRjNzEiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQotU1JDX1VSSSA9ICIke0FQQUNIRV9NSVJST1J9L2Fwci8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1idWlsZC1idWlsZGNoZWNrLnNoLWltcHJvdmUtbGlidG9vbC1kZXRlY3Rpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1hcHItUmVtb3ZlLXdvcmtkaXItcGF0aC1yZWZlcmVuY2VzLWZyb20taW5zdGFsbGVkLWFwLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtTWFrZWZpbGUuaW4tY29uZmlndXJlLmluLXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDQtRml4LXBhY2tldC1kaXNjYXJkcy1IVFRQLXJlZGlyZWN0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDUtY29uZmlndXJlLmluLWZpeC1MVEZMQUdTLXRvLW1ha2UtaXQtd29yay13aXRoLWNjYWNoZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA2LWFwci1maXgtb2ZmX3Qtc2l6ZS1kb2Vzbi10LW1hdGNoLWluLWdsaWJjLXdoZW4tY3Jvc3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1leHBsaWNpdGx5LWxpbmstbGliYXByLWFnYWluc3QtcGh0cmVhZC10by1tYWtlLWdvbGQtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDgtYXByLWZpeC1wdGVzdC1oYW5nLWluLXRlc3RzdHIucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTJmMmEzNDk0ODNhZDZmMTJkYjQ5YmEwMWZiZmRiZmEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMTMxZjA2ZDE2ZDdhYWJkMDk3ZmE5OTJhMzNlZWMyYjZhZjM5NjJmOTNlNmQ1NzBhOWJkNGQ4NWU5NTk5MzE3MiIKLQotaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIgcHRlc3QKLQotT0VfQklOQ09ORklHX0VYVFJBX01BTkdMRSA9ICIgLWUgJ3M6bG9jYXRpb249c291cmNlOmxvY2F0aW9uPWluc3RhbGxlZDonIgotCi0jIEFkZGVkIHRvIGZpeCBzb21lIGlzc3VlcyB3aXRoIGNtYWtlLiBSZWZlciB0byBodHRwczovL2dpdGh1Yi5jb20vYm13Y2FyaXQvbWV0YS1yb3MvaXNzdWVzLzY4I2lzc3VlY29tbWVudC0xOTg5NjkyOAotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFwcl9jdl9tdXRleF9yZWN1cnNpdmU9eWVzIgotCi0jIEFsc28gc3VwcHJlc3MgdHJ5aW5nIHRvIHVzZSBzY3RwLgotIwotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2hlYWRlcl9uZXRpbmV0X3NjdHBfaD1ubyBhY19jdl9oZWFkZXJfbmV0aW5ldF9zY3RwX3Vpb19oPW5vIgotCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3Zfc2l6ZW9mX3N0cnVjdF9pb3ZlYz15ZXMiCi1DQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfZmlsZV9fZGV2X3plcm89eWVzIgotCi0jIE90aGVyd2lzZSBsaWJ0b29sIGZhaWxzIHRvIGNvbXBpbGUgYXByLXV0aWxzCi0jIHg4Nl82NC1saW51eC1saWJ0b29sOiBjb21waWxlOiB1bmFibGUgdG8gaW5mZXIgdGFnZ2VkIGNvbmZpZ3VyYXRpb24KLSMgeDg2XzY0LWxpbnV4LWxpYnRvb2w6ICAgZXJyb3I6IHNwZWNpZnkgYSB0YWcgd2l0aCAnLS10YWcnCi1DQ0FDSEUgPSAiIgotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgewotCSMgQXZvaWQgYWJzb2x1dGUgcGF0aHMgZm9yIGdyZXAgc2luY2UgaXQgY2F1c2VzIGZhaWx1cmVzCi0JIyB3aGVuIHVzaW5nIHNzdGF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBob3N0cyB3aXRoIGRpZmZlcmVudAotCSMgaW5zdGFsbCBwYXRocyBmb3IgZ3JlcC4KLQlleHBvcnQgR1JFUD0iZ3JlcCIKLQotCWNkICR7U30KLQlsaWJ0b29sPScke0hPU1RfU1lTfS1saWJ0b29sJyAuL2J1aWxkY29uZgotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9hcHIuZXhwICR7ZGF0YWRpcn0vYnVpbGQtMS8qIgotUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJiYXNoIgotCi0jZm9yIHNvbWUgcmVhc29uLCBidWlsZC9saWJ0b29sLm00IGhhbmRsZWQgYnkgYnVpbGRjb25mIHN0aWxsIGJlIG92ZXJ3cml0dGVuCi0jd2hlbiBhdXRvY29uZiwgc28gaGFuZGxlIGl0IGFnYWluLgotZG9fY29uZmlndXJlX2FwcGVuZCgpIHsKLQlzZWQgLWkgLWUgJ3MvTElCVE9PTD1cKC4qXCl0b3BfYnVpbGQvTElCVE9PTD1cMWFwcl9idWlsZC8nICR7U30vYnVpbGQvbGlidG9vbC5tNAotCXNlZCAtaSAtZSAncy9MSUJUT09MPVwoLipcKXRvcF9idWlsZC9MSUJUT09MPVwxYXByX2J1aWxkLycgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsKLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0Jb2VfbXVsdGlsaWJfaGVhZGVyIGFwci5oCi0JaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9hcHIKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewotCXNlZCAtaSAtZSAncywke0RFQlVHX1BSRUZJWF9NQVB9LCxnJyBcCi0JICAgICAgIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnICR7RH0ke2RhdGFkaXJ9L2J1aWxkLTEvYXByX3J1bGVzLm1rCi0Jc2VkIC1pIC1lICdzLCR7U1RBR0lOR19ESVJfSE9TVH0sLGcnIFwKLQkgICAgICAgLWUgJ3MsQVBSX1NPVVJDRV9ESVI9LiosQVBSX1NPVVJDRV9ESVI9LGcnIFwKLQkgICAgICAgLWUgJ3MsQVBSX0JVSUxEX0RJUj0uKixBUFJfQlVJTERfRElSPSxnJyAke0R9JHtiaW5kaXJ9L2Fwci0xLWNvbmZpZwotfQotCi1TU1RBVEVfU0NBTl9GSUxFUyArPSAiYXByX3J1bGVzLm1rIGxpYnRvb2wiCi0KLVNZU1JPT1RfUFJFUFJPQ0VTU19GVU5DUyArPSAiYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyIKLQotYXByX3N5c3Jvb3RfcHJlcHJvY2VzcyAoKSB7Ci0JZD0ke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2FwcgotCWluc3RhbGwgLWQgJGQvCi0JY3AgJHtTfS9idWlsZC9hcHJfcnVsZXMubWsgJGQvCi0Jc2VkIC1pIHMsYXByX2J1aWxkZGlyPS4qLGFwcl9idWlsZGRpcj0sZyAkZC9hcHJfcnVsZXMubWsKLQlzZWQgLWkgcyxhcHJfYnVpbGRlcnM9LiosYXByX2J1aWxkZXJzPSxnICRkL2Fwcl9ydWxlcy5tawotCXNlZCAtaSBzLExJQlRPT0w9LiosTElCVE9PTD0ke0hPU1RfU1lTfS1saWJ0b29sLGcgJGQvYXByX3J1bGVzLm1rCi0Jc2VkIC1pIHMsXCRcKGFwcl9idWlsZGVyc1wpLCR7U1RBR0lOR19EQVRBRElSfS9hcHIvLGcgJGQvYXByX3J1bGVzLm1rCi0JY3AgJHtTfS9idWlsZC9ta2Rpci5zaCAkZC8KLQljcCAke1N9L2J1aWxkL21ha2VfZXhwb3J0cy5hd2sgJGQvCi0JY3AgJHtTfS9idWlsZC9tYWtlX3Zhcl9leHBvcnQuYXdrICRkLwotCWNwICR7U30vJHtIT1NUX1NZU30tbGlidG9vbCAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2J1aWxkLTEvbGlidG9vbAotfQotCi1kb19jb21waWxlX3B0ZXN0KCkgewotCWNkICR7U30vdGVzdAotCW9lX3J1bm1ha2UKLX0KLQotZG9faW5zdGFsbF9wdGVzdCgpIHsKLQl0PSR7RH0ke1BURVNUX1BBVEh9L3Rlc3QKLQlta2RpciAtcCAkdC8ubGlicwotCWNwIC1yICR7U30vdGVzdC9kYXRhICR0LwotCWNwIC1yICR7U30vdGVzdC8ubGlicy8qLnNvICR0Ly5saWJzLwotCWNwICR7U30vdGVzdC9wcm9jX2NoaWxkICR0LwotCWNwICR7U30vdGVzdC9yZWFkY2hpbGQgJHQvCi0JY3AgJHtTfS90ZXN0L3NvY2tjaGlsZCAkdC8KLQljcCAke1N9L3Rlc3Qvc29ja3BlcmYgJHQvCi0JY3AgJHtTfS90ZXN0L3Rlc3RhbGwgJHQvCi0JY3AgJHtTfS90ZXN0L3RyeXJlYWQgJHQvCi19Ci0KLWV4cG9ydCBDT05GSUdfU0hFTEw9Ii9iaW4vYmFzaCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXByL2Fwcl8xLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzJlNGVkCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hcHIvYXByXzEuNi41LmJiCkBAIC0wLDAgKzEsMTEyIEBACitTVU1NQVJZID0gIkFwYWNoZSBQb3J0YWJsZSBSdW50aW1lIChBUFIpIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vYXByLmFwYWNoZS5vcmcvIgorU0VDVElPTiA9ICJsaWJzIgorREVQRU5EUyA9ICJ1dGlsLWxpbnV4IgorCitMSUNFTlNFID0gIkFwYWNoZS0yLjAiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT00ZGZkNGNkMjE2ODI4YzhjYWU1ZGU1YTEyZjM4NDRjOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL2Fwcl9saWIuaDtlbmRsaW5lPTE1O21kNT04MjNiM2QxYTcyMjVkZjhmN2I2OGE2OWMzYzJiNGM3MSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJID0gIiR7QVBBQ0hFX01JUlJPUn0vYXByLyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWJ1aWxkLWJ1aWxkY2hlY2suc2gtaW1wcm92ZS1saWJ0b29sLWRldGVjdGlvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWFwci1SZW1vdmUtd29ya2Rpci1wYXRoLXJlZmVyZW5jZXMtZnJvbS1pbnN0YWxsZWQtYXAucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1NYWtlZmlsZS5pbi1jb25maWd1cmUuaW4tc3VwcG9ydC1jcm9zcy1jb21waWxpbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNC1GaXgtcGFja2V0LWRpc2NhcmRzLUhUVFAtcmVkaXJlY3QucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1jb25maWd1cmUuaW4tZml4LUxURkxBR1MtdG8tbWFrZS1pdC13b3JrLXdpdGgtY2NhY2hlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtYXByLWZpeC1vZmZfdC1zaXplLWRvZXNuLXQtbWF0Y2gtaW4tZ2xpYmMtd2hlbi1jcm9zcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA3LWV4cGxpY2l0bHktbGluay1saWJhcHItYWdhaW5zdC1waHRyZWFkLXRvLW1ha2UtZ29sZC0ucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZDRhZGQ4ZWZkZmU4NzMzMGI4OGU1ZTc4ODI0MTc3NSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJhNjdjYTlmY2Y5YzRmZjU5YmNlN2Y0MjhhMzIzYzhiNWUxODY2N2ZkZWE3YjBlYmFkNDdkMTk0MzcxYjBhMTA1IgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgbGliX3BhY2thZ2UgYmluY29uZmlnIG11bHRpbGliX2hlYWRlciBwdGVzdAorCitPRV9CSU5DT05GSUdfRVhUUkFfTUFOR0xFID0gIiAtZSAnczpsb2NhdGlvbj1zb3VyY2U6bG9jYXRpb249aW5zdGFsbGVkOiciCisKKyMgQWRkZWQgdG8gZml4IHNvbWUgaXNzdWVzIHdpdGggY21ha2UuIFJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9ibXdjYXJpdC9tZXRhLXJvcy9pc3N1ZXMvNjgjaXNzdWVjb21tZW50LTE5ODk2OTI4CitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYXByX2N2X211dGV4X3JlY3Vyc2l2ZT15ZXMiCisKKyMgQWxzbyBzdXBwcmVzcyB0cnlpbmcgdG8gdXNlIHNjdHAuCisjCitDQUNIRURfQ09ORklHVVJFVkFSUyArPSAiYWNfY3ZfaGVhZGVyX25ldGluZXRfc2N0cF9oPW5vIGFjX2N2X2hlYWRlcl9uZXRpbmV0X3NjdHBfdWlvX2g9bm8iCisKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9zaXplb2Zfc3RydWN0X2lvdmVjPXllcyIKK0NBQ0hFRF9DT05GSUdVUkVWQVJTICs9ICJhY19jdl9maWxlX19kZXZfemVybz15ZXMiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5maWx0ZXIoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisJIyBBdm9pZCBhYnNvbHV0ZSBwYXRocyBmb3IgZ3JlcCBzaW5jZSBpdCBjYXVzZXMgZmFpbHVyZXMKKwkjIHdoZW4gdXNpbmcgc3N0YXRlIGJldHdlZW4gZGlmZmVyZW50IGhvc3RzIHdpdGggZGlmZmVyZW50CisJIyBpbnN0YWxsIHBhdGhzIGZvciBncmVwLgorCWV4cG9ydCBHUkVQPSJncmVwIgorCisJY2QgJHtTfQorCWxpYnRvb2w9JyR7SE9TVF9TWVN9LWxpYnRvb2wnIC4vYnVpbGRjb25mCit9CisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L2Fwci5leHAgJHtkYXRhZGlyfS9idWlsZC0xLyoiCitSREVQRU5EU18ke1BOfS1kZXYgKz0gImJhc2giCisKKyNmb3Igc29tZSByZWFzb24sIGJ1aWxkL2xpYnRvb2wubTQgaGFuZGxlZCBieSBidWlsZGNvbmYgc3RpbGwgYmUgb3ZlcndyaXR0ZW4KKyN3aGVuIGF1dG9jb25mLCBzbyBoYW5kbGUgaXQgYWdhaW4uCitkb19jb25maWd1cmVfYXBwZW5kKCkgeworCXNlZCAtaSAtZSAncy9MSUJUT09MPVwoLipcKXRvcF9idWlsZC9MSUJUT09MPVwxYXByX2J1aWxkLycgJHtTfS9idWlsZC9saWJ0b29sLm00CisJc2VkIC1pIC1lICdzL0xJQlRPT0w9XCguKlwpdG9wX2J1aWxkL0xJQlRPT0w9XDFhcHJfYnVpbGQvJyAke1N9L2J1aWxkL2Fwcl9ydWxlcy5taworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlvZV9tdWx0aWxpYl9oZWFkZXIgYXByLmgKKwlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2FwcgorfQorCitkb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7CisJc2VkIC1pIC1lICdzLCR7REVCVUdfUFJFRklYX01BUH0sLGcnIFwKKwkgICAgICAgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgJHtEfSR7ZGF0YWRpcn0vYnVpbGQtMS9hcHJfcnVsZXMubWsKKwlzZWQgLWkgLWUgJ3MsJHtTVEFHSU5HX0RJUl9IT1NUfSwsZycgXAorCSAgICAgICAtZSAncyxBUFJfU09VUkNFX0RJUj0uKixBUFJfU09VUkNFX0RJUj0sZycgXAorCSAgICAgICAtZSAncyxBUFJfQlVJTERfRElSPS4qLEFQUl9CVUlMRF9ESVI9LGcnICR7RH0ke2JpbmRpcn0vYXByLTEtY29uZmlnCit9CisKK1NTVEFURV9TQ0FOX0ZJTEVTICs9ICJhcHJfcnVsZXMubWsgbGlidG9vbCIKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJhcHJfc3lzcm9vdF9wcmVwcm9jZXNzIgorCithcHJfc3lzcm9vdF9wcmVwcm9jZXNzICgpIHsKKwlkPSR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vYXByCisJaW5zdGFsbCAtZCAkZC8KKwljcCAke1N9L2J1aWxkL2Fwcl9ydWxlcy5tayAkZC8KKwlzZWQgLWkgcyxhcHJfYnVpbGRkaXI9LiosYXByX2J1aWxkZGlyPSxnICRkL2Fwcl9ydWxlcy5taworCXNlZCAtaSBzLGFwcl9idWlsZGVycz0uKixhcHJfYnVpbGRlcnM9LGcgJGQvYXByX3J1bGVzLm1rCisJc2VkIC1pIHMsTElCVE9PTD0uKixMSUJUT09MPSR7SE9TVF9TWVN9LWxpYnRvb2wsZyAkZC9hcHJfcnVsZXMubWsKKwlzZWQgLWkgcyxcJFwoYXByX2J1aWxkZXJzXCksJHtTVEFHSU5HX0RBVEFESVJ9L2Fwci8sZyAkZC9hcHJfcnVsZXMubWsKKwljcCAke1N9L2J1aWxkL21rZGlyLnNoICRkLworCWNwICR7U30vYnVpbGQvbWFrZV9leHBvcnRzLmF3ayAkZC8KKwljcCAke1N9L2J1aWxkL21ha2VfdmFyX2V4cG9ydC5hd2sgJGQvCisJY3AgJHtTfS8ke0hPU1RfU1lTfS1saWJ0b29sICR7U1lTUk9PVF9ERVNURElSfSR7ZGF0YWRpcn0vYnVpbGQtMS9saWJ0b29sCit9CisKK2RvX2NvbXBpbGVfcHRlc3QoKSB7CisJY2QgJHtTfS90ZXN0CisJb2VfcnVubWFrZQorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCXQ9JHtEfSR7UFRFU1RfUEFUSH0vdGVzdAorCW1rZGlyIC1wICR0Ly5saWJzCisJY3AgLXIgJHtTfS90ZXN0L2RhdGEgJHQvCisJY3AgLXIgJHtTfS90ZXN0Ly5saWJzLyouc28gJHQvLmxpYnMvCisJY3AgJHtTfS90ZXN0L3Byb2NfY2hpbGQgJHQvCisJY3AgJHtTfS90ZXN0L3JlYWRjaGlsZCAkdC8KKwljcCAke1N9L3Rlc3Qvc29ja2NoaWxkICR0LworCWNwICR7U30vdGVzdC9zb2NrcGVyZiAkdC8KKwljcCAke1N9L3Rlc3QvdGVzdGFsbCAkdC8KKwljcCAke1N9L3Rlc3QvdHJ5cmVhZCAkdC8KK30KKworZXhwb3J0IENPTkZJR19TSEVMTD0iL2Jpbi9iYXNoIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4yNi4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1hdGtfMi4yNi4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmQ4ZTQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItYXRrXzIuMjYuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVNVTU1BUlkgPSAiQVQtU1BJIDIgVG9vbGtpdCBCcmlkZ2UiCi1IT01FUEFHRSA9ICJodHRwczovL3dpa2kubGludXhmb3VuZGF0aW9uLm9yZy9hY2Nlc3NpYmlsaXR5L2QtYnVzIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lOWYyODhiYTk4MmQ2MDUxOGYzNzViNTg5ODI4Mzg4NiIKLQotU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMzU1Yzc5MTZhNjk1MTM0OTBjYjgzYWQzNDAxNmIxNjkiCi1TUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICI2MTg5MWYwYWJhZTE2ODlmNjYxN2E5NjMxMDVhM2YxZGNkYWI1OTcwYzRhMzZkZWQ5Yzc5YTdhNTQ0YjE2YTZlIgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgZ2xpYi0yLjAtbmF0aXZlIGF0ayBhdC1zcGkyLWNvcmUgbGlieG1sMiIKLQotR05PTUVCQVNFQlVJTERDTEFTUyA9ICJtZXNvbiIKLWluaGVyaXQgZ25vbWViYXNlIGRpc3Ryb19mZWF0dXJlc19jaGVjayB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4KLQotIyBUaGUgYXQtc3BpMi1jb3JlIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKLVJFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1nbm9tZSAke1BOfS1ndGsyIgotCi1GSUxFU18ke1BOfS1nbm9tZSA9ICIke2xpYmRpcn0vZ25vbWUtc2V0dGluZ3MtZGFlbW9uLTMuMC9ndGstbW9kdWxlcyIKLUZJTEVTXyR7UE59LWd0azIgPSAiJHtsaWJkaXJ9L2d0ay0yLjAvbW9kdWxlcy9saWJhdGstYnJpZGdlLioiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWF0a18yLjMwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0NDc5NwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItYXRrXzIuMzAuMC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIkFULVNQSSAyIFRvb2xraXQgQnJpZGdlIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmxpbnV4Zm91bmRhdGlvbi5vcmcvYWNjZXNzaWJpbGl0eS9kLWJ1cyIKK0xJQ0VOU0UgPSAiTEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTlmMjg4YmE5ODJkNjA1MThmMzc1YjU4OTgyODM4ODYiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjFhZDc1NGI5MGJjYjE0MjQ0YjczY2E0ZDBjMTRkMjc0IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZTJlMTU3MTAwNGVhN2IxMDVjOTY5NDczY2U0NTVhOTViZTQwMzhmYjI1NDE0NzE3MTRhZWIzM2EyNmRhOGE5YSIKKworREVQRU5EUyA9ICJkYnVzIGdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBhdGsgYXQtc3BpMi1jb3JlIGxpYnhtbDIiCisKK0dOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCitpbmhlcml0IGdub21lYmFzZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuCisKKyMgVGhlIGF0LXNwaTItY29yZSByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitQQUNLQUdFUyA9KyAiJHtQTn0tZ25vbWUgJHtQTn0tZ3RrMiIKKworRklMRVNfJHtQTn0tZ25vbWUgPSAiJHtsaWJkaXJ9L2dub21lLXNldHRpbmdzLWRhZW1vbi0zLjAvZ3RrLW1vZHVsZXMiCitGSUxFU18ke1BOfS1ndGsyID0gIiR7bGliZGlyfS9ndGstMi4wL21vZHVsZXMvbGliYXRrLWJyaWRnZS4qIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4yOC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMjguMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzk3NWY1OC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdC1zcGkyLWNvcmVfMi4yOC4wLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotU1VNTUFSWSA9ICJBc3Npc3RpdmUgVGVjaG5vbG9neSBTZXJ2aWNlIFByb3ZpZGVyIEludGVyZmFjZSAoZGJ1cyBjb3JlKSIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5saW51eGZvdW5kYXRpb24ub3JnL2FjY2Vzc2liaWxpdHkvZC1idXMiCi1MSUNFTlNFID0gIkxHUEx2MiIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU5ZjI4OGJhOTgyZDYwNTE4ZjM3NWI1ODk4MjgzODg2IgotCi1NQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke01BSl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI5YzQyZjc5NjM2ZWQxYzBlOTA4Yjc0ODNkNzg5YjMyZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0MmEyNDg3YWIxMWNlNDNjMjg4ZTczYjI2NjhlZjhiMWFiNDBhMGUyYjRmOTRlODBmY2EwNGFkMjdiNmYxYzg3IgotCi1ERVBFTkRTID0gImRidXMgZ2xpYi0yLjAgdmlydHVhbC9saWJ4MTEgbGlieGkgbGlieHRzdCIKLQotaW5oZXJpdCBtZXNvbiBndGstZG9jIGdldHRleHQgc3lzdGVtZCBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KLSMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQotUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKLQotRVhUUkFfT0VNRVNPTiA9ICIgLURzeXN0ZW1kX3VzZXJfZGlyPSR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9IFwKLSAgICAgICAgICAgICAgICAgIC1EZGJ1c19kYWVtb249JHtiaW5kaXJ9IgotCi1HVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz10cnVlIgotR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPWZhbHNlIgotCi1HSV9FTkFCTEVfRkxBRyA9ICItRGVuYWJsZS1pbnRyb3NwZWN0aW9uPXllcyIKLUdJX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZS1pbnRyb3NwZWN0aW9uPW5vIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L2RidXMtMS9zZXJ2aWNlcy8qLnNlcnZpY2UgXAotICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vZGJ1cy0xL2FjY2Vzc2liaWxpdHktc2VydmljZXMvKi5zZXJ2aWNlIFwKLSAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RlZmF1bHRzL2F0LXNwaTIgXAotICAgICAgICAgICAgICAgICR7c3lzdGVtZF91c2VyX3VuaXRkaXJ9L2F0LXNwaS1kYnVzLWJ1cy5zZXJ2aWNlwqBcCi0gICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXQtc3BpMi1jb3JlXzIuMzAuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjMwLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBiNTY3YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0LXNwaTItY29yZV8yLjMwLjAuYmIKQEAgLTAsMCArMSw0MSBAQAorU1VNTUFSWSA9ICJBc3Npc3RpdmUgVGVjaG5vbG9neSBTZXJ2aWNlIFByb3ZpZGVyIEludGVyZmFjZSAoZGJ1cyBjb3JlKSIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5saW51eGZvdW5kYXRpb24ub3JnL2FjY2Vzc2liaWxpdHkvZC1idXMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU5ZjI4OGJhOTgyZDYwNTE4ZjM3NWI1ODk4MjgzODg2IgorCitNQUpfVkVSID0gIiR7QG9lLnV0aWxzLnRyaW1fdmVyc2lvbigiJHtQVn0iLCAyKX0iCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9LyR7QlBOfS8ke01BSl9WRVJ9LyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNGYyMmM2NmIzMjEwZmZlNmIxMGQwMWMwNGUwMDhiNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMTc1ZjUzOTNkMTlkYTUxZjRjMTE0NjJjYmE0YmE2ZWYzZmEwNDJhYmYxNjExYTcwYmRmZWQ1ODZiN2JmYjJiIgorCitYMTFERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhpIGxpYnh0c3QiCisKK0RFUEVORFMgPSAiZGJ1cyBnbGliLTIuMCIKK0RFUEVORFMgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJyR7WDExREVQRU5EU30nLCAnJywgZCl9IgorCitpbmhlcml0IG1lc29uIGd0ay1kb2MgZ2V0dGV4dCBzeXN0ZW1kIHBrZ2NvbmZpZyB1cHN0cmVhbS12ZXJzaW9uLWlzLWV2ZW4gZ29iamVjdC1pbnRyb3NwZWN0aW9uCisKK0VYVFJBX09FTUVTT04gPSAiIC1Ec3lzdGVtZF91c2VyX2Rpcj0ke3N5c3RlbWRfdXNlcl91bml0ZGlyfSBcCisgICAgICAgICAgICAgICAgICAtRGRidXNfZGFlbW9uPSR7YmluZGlyfS9kYnVzLWRhZW1vbiIKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZW5hYmxlX2RvY3M9dHJ1ZSIKK0dUS0RPQ19ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz1mYWxzZSIKKworR0lfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj15ZXMiCitHSV9ESVNBQkxFX0ZMQUcgPSAiLURlbmFibGUtaW50cm9zcGVjdGlvbj1ubyIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR0lfREFUQV9FTkFCTEVEJywgJ1RydWUnLCAnJHtHSV9FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHSV9ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiAke0BiYi51dGlscy5jb250YWlucygnR1RLRE9DX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dUS0RPQ19FTkFCTEVfRkxBR30nLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R1RLRE9DX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9kYnVzLTEvc2VydmljZXMvKi5zZXJ2aWNlIFwKKyAgICAgICAgICAgICAgICAke2RhdGFkaXJ9L2RidXMtMS9hY2Nlc3NpYmlsaXR5LXNlcnZpY2VzLyouc2VydmljZSBcCisgICAgICAgICAgICAgICAgJHtkYXRhZGlyfS9kZWZhdWx0cy9hdC1zcGkyIFwKKyAgICAgICAgICAgICAgICAke3N5c3RlbWRfdXNlcl91bml0ZGlyfS9hdC1zcGktZGJ1cy1idXMuc2VydmljZcKgXAorICAgICAgICAgICAgICAgICIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0ay8wMDAxLW1lc29uLmJ1aWxkLWVuYWJsZS1pbnRyb3NwZWN0aW9uLWZvci1jcm9zcy1jb21waWxlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKaW5kZXggYzYwNGE5OC4uMWQ4MTRjYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIDM4Mzg3NTdkMjk1OTBjYzFlZjk5Yzk3ZjcyNjgzNzczMjJmYzE3ZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGMzZWI1YjJlNzRjMzhiYjgzNzRiYzAyN2Y4NGU0MmQ3ZTk0ZjYyZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbnVqIE1pdHRhbCA8YW51ai5taXR0YWxAaW50ZWwuY29tPgogRGF0ZTogRnJpLCA2IEFwciAyMDE4IDEyOjA0OjAwICswODAwCiBTdWJqZWN0OiBbUEFUQ0hdIG1lc29uLmJ1aWxkOiBlbmFibGUgaW50cm9zcGVjdGlvbiBmb3IgY3Jvc3MtY29tcGlsZQpAQCAtMTQsMTUgKzE0LDE1IEBACiAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCiAKIGRpZmYgLS1naXQgYS9hdGsvbWVzb24uYnVpbGQgYi9hdGsvbWVzb24uYnVpbGQKLWluZGV4IDdiNWE2ODMuLjg1NWUyOGYgMTAwNjQ0CitpbmRleCA2MTZhM2U2Li45NDFkZWQ4IDEwMDY0NAogLS0tIGEvYXRrL21lc29uLmJ1aWxkCiArKysgYi9hdGsvbWVzb24uYnVpbGQKLUBAIC0xMzksNyArMTM5LDcgQEAgbGliYXRrX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeShsaW5rX3dpdGg6IGxpYmF0aywKK0BAIC0xMzcsNyArMTM3LDcgQEAgbGliYXRrX2RlcCA9IGRlY2xhcmVfZGVwZW5kZW5jeShsaW5rX3dpdGg6IGxpYmF0aywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogZ29iamVjdF9kZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzOiBhdGtfZW51bV9oKQogIAotIGRpc2FibGVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2Rpc2FibGVfaW50cm9zcGVjdGlvbicpCi0gCi0taWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgYW5kIG5vdCBkaXNhYmxlX2ludHJvc3BlY3Rpb24KLStpZiBub3QgZGlzYWJsZV9pbnRyb3NwZWN0aW9uCistaWYgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkgYW5kIGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKQorK2lmIGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKQogICAgZ25vbWUuZ2VuZXJhdGVfZ2lyKGxpYmF0aywKICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VzOiBhdGtfc291cmNlcyArIGF0a19oZWFkZXJzICsgWyBhdGtfZW51bV9oIF0gKyBbIGF0a192ZXJzaW9uX2ggXSwKICAgICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2U6ICdBdGsnLApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMjguMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXRrL2F0a18yLjI4LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2YjEzYjYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMjguMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLVNVTU1BUlkgPSAiQWNjZXNzaWJpbGl0eSB0b29sa2l0IGZvciBHTk9NRSIKLUhPTUVQQUdFID0gImh0dHA6Ly9saXZlLmdub21lLm9yZy9HQVAvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi1TRUNUSU9OID0gIngxMS9saWJzIgotCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hdGsvYXRrdXRpbC5jO2VuZGxpbmU9MTg7bWQ1PTZmZDMxY2QyZmRjOWIzMGY2MTljYThkODE5YmMxMmQzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2F0ay9hdGsuaDtlbmRsaW5lPTE4O21kNT1mY2Q3NzEwMTg3ZTBlYWU0ODVlMzU2YzMwZDFiMGMzYiIKLQotIyBOZWVkIGdldHRleHQtbmF0aXZlIGFzIE1lc29uIGNhbid0IHR1cm4gb2ZmIGkxOG4KLURFUEVORFMgPSAiZ2V0dGV4dC1uYXRpdmUgZ2xpYi0yLjAiCi0KLUdOT01FQkFTRUJVSUxEQ0xBU1MgPSAibWVzb24iCi1pbmhlcml0IGdub21lYmFzZSBndGstZG9jIGdldHRleHQgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbgotCi1HVEtET0NfRU5BQkxFX0ZMQUcgPSAiLURlbmFibGVfZG9jcz10cnVlIgotR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGVuYWJsZV9kb2NzPWZhbHNlIgotCi1HSV9FTkFCTEVfRkxBRyA9ICItRGRpc2FibGVfaW50cm9zcGVjdGlvbj1mYWxzZSIKLUdJX0RJU0FCTEVfRkxBRyA9ICItRGRpc2FibGVfaW50cm9zcGVjdGlvbj10cnVlIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgotCi1FWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCi0KLVNSQ19VUklfYXBwZW5kID0gIiBcCi0gICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtbWVzb24uYnVpbGQtZW5hYmxlLWludHJvc3BlY3Rpb24tZm9yLWNyb3NzLWNvbXBpbGUucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVN3aXRjaC1mcm9tLWZpbGVuYW1lLXRvLWJhc2VuYW1lLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAiCi1TUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJkZmI1ZTc0NzQyMjBhZmEzZjRjYTdlNDVhZjlmM2ExMSIKLVNSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gImNkM2ExZWE2ZWNjMjY4YTI0OTdmMGNkMDE4ZTk3MDg2MGRlMjRhNmQ0MjA4NjkxOWQ2YmY2YzhlOGQ1M2Y0ZmMiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0ay9hdGtfMi4zMC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMzAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTJkYWNiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdGsvYXRrXzIuMzAuMC5iYgpAQCAtMCwwICsxLDM5IEBACitTVU1NQVJZID0gIkFjY2Vzc2liaWxpdHkgdG9vbGtpdCBmb3IgR05PTUUiCitIT01FUEFHRSA9ICJodHRwOi8vbGl2ZS5nbm9tZS5vcmcvR0FQLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorU0VDVElPTiA9ICJ4MTEvbGlicyIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYXRrL2F0a3V0aWwuYztlbmRsaW5lPTE4O21kNT02ZmQzMWNkMmZkYzliMzBmNjE5Y2E4ZDgxOWJjMTJkMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9hdGsvYXRrLmg7ZW5kbGluZT0xODttZDU9ZmNkNzcxMDE4N2UwZWFlNDg1ZTM1NmMzMGQxYjBjM2IiCisKKyMgTmVlZCBnZXR0ZXh0LW5hdGl2ZSBhcyBNZXNvbiBjYW4ndCB0dXJuIG9mZiBpMThuCitERVBFTkRTID0gImdldHRleHQtbmF0aXZlIGdsaWItMi4wIgorCitHTk9NRUJBU0VCVUlMRENMQVNTID0gIm1lc29uIgoraW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBnZXR0ZXh0IHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24KKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZG9jcz10cnVlIgorR1RLRE9DX0RJU0FCTEVfRkxBRyA9ICItRGRvY3M9ZmFsc2UiCisKK0dJX0VOQUJMRV9GTEFHID0gIi1EaW50cm9zcGVjdGlvbj10cnVlIgorR0lfRElTQUJMRV9GTEFHID0gIi1EaW50cm9zcGVjdGlvbj1mYWxzZSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIiAke0dJX0RJU0FCTEVfRkxBR30iCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dJX0RBVEFfRU5BQkxFRCcsICdUcnVlJywgJyR7R0lfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7R0lfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLXRhcmdldCA9ICIgJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnJHtHVEtET0NfRU5BQkxFX0ZMQUd9JywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dUS0RPQ19ESVNBQkxFX0ZMQUd9JywgZCl9ICIKKworU1JDX1VSSV9hcHBlbmQgPSAiIFwKKyAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1tZXNvbi5idWlsZC1lbmFibGUtaW50cm9zcGVjdGlvbi1mb3ItY3Jvc3MtY29tcGlsZS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgZmlsZTovLzAwMDEtU3dpdGNoLWZyb20tZmlsZW5hbWUtdG8tYmFzZW5hbWUucGF0Y2ggXAorICAgICAgICAgICAgICAgICAgICIKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjc2OWM4NTAwNWQzOTJhZDE3ZmZiYzA2M2YyZDI2NDU0IgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGQ0ZDkwZDQyMTdmMmEwYzFmZWU3MDhhNTU1NTk2YzJjMTlkMjZmZWYwOTUyZTFlYWQxOTM4YWI2MzJjMDI3YiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYWNsXzIuMi41Mi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hY2xfMi4yLjUyLmJiCmluZGV4IDhiODlkZTkuLjZiYzc3ZDggMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hY2xfMi4yLjUyLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hY2xfMi4yLjUyLmJiCkBAIC0zOSwxNSArMzksMTIgQEAKIAogaW5oZXJpdCBwdGVzdAogCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTID0gImJ1aWxkZGVmcyIKK1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTiA9ICJeUlBNIgogZG9faW5zdGFsbF9wdGVzdCgpIHsKIAl0YXIgLWMgLS1leGNsdWRlPW5mcyB0ZXN0LyB8ICggY2QgJHtEfSR7UFRFU1RfUEFUSH0gJiYgdGFyIC14ZiAtICkKLQlta2RpciAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlCi0JY3AgJHtTfS9pbmNsdWRlL2J1aWxkZGVmcyAke1N9L2luY2x1ZGUvYnVpbGRtYWNyb3MgJHtTfS9pbmNsdWRlL2J1aWxkcnVsZXMgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZS8KLQkjIFJlbW92ZSBhbnkgYnVpbGQgaG9zdCByZWZlcmVuY2VzCi0Jc2VkIC1lICJzOi0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH06OmciIFwKLQkgICAgLWUgJ3M6JHtIT1NUVE9PTFNfRElSfS86OmcnIFwKLQkgICAgLWUgJ3M6JHtSRUNJUEVfU1lTUk9PVF9OQVRJVkV9OjpnJyBcCi0JICAgIC1pICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUvYnVpbGRkZWZzCisJaW5zdGFsbCAtZCAke0R9JHtQVEVTVF9QQVRIfS9pbmNsdWRlCisJaW5zdGFsbCAtbSA2NDQgJHtTfS9pbmNsdWRlL2J1aWxkZGVmcyAke1N9L2luY2x1ZGUvYnVpbGRtYWNyb3MgJHtTfS9pbmNsdWRlL2J1aWxkcnVsZXMgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZS8KIH0KIAogUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYWNsIGJhc2ggY29yZXV0aWxzIHBlcmwgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIHBlcmwtbW9kdWxlLXBvc2l4IHNoYWRvdyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hdHRyLmluYyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYXR0ci9hdHRyLmluYwppbmRleCA5ZmMwZjMzLi5jZmEzOGE3IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2F0dHIvYXR0ci5pbmMKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9hdHRyL2F0dHIuaW5jCkBAIC0yOSw2ICsyOSw5IEBACiBBTFRFUk5BVElWRV8ke1BOfSA9ICJzZXRmYXR0ciIKIEFMVEVSTkFUSVZFX1RBUkdFVFtzZXRmYXR0cl0gPSAiJHtiaW5kaXJ9L3NldGZhdHRyIgogCitQVEVTVF9CVUlMRF9IT1NUX0ZJTEVTID0gImJ1aWxkZGVmcyIKK1BURVNUX0JVSUxEX0hPU1RfUEFUVEVSTiA9ICJeUlBNIgorCiBkb19pbnN0YWxsX3B0ZXN0KCkgewogCXRhciAtYyAtLWV4Y2x1ZGU9ZXh0IHRlc3QvIHwgKCBjZCAke0R9JHtQVEVTVF9QQVRIfSAmJiB0YXIgLXhmIC0gKQogCW1rZGlyICR7RH0ke1BURVNUX1BBVEh9L2luY2x1ZGUKQEAgLTM2LDEyICszOSw2IEBACiAJICBkbyBjcCAke1N9L2luY2x1ZGUvJGkgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZS87IFwKIAlkb25lCiAJc2VkIC1lICdzfDsgQGVjaG98OyBlY2hvfCcgLWkgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdC9NYWtlZmlsZQotICAgIAotCSMgUmVtb3ZlIGFueSBidWlsZCBob3N0IHJlZmVyZW5jZXMKLQlzZWQgLWUgInM6LS1zeXNyb290PSR7U1RBR0lOR19ESVJfVEFSR0VUfTo6ZyIgXAotCSAgICAtZSAnczoke0hPU1RUT09MU19ESVJ9Lzo6ZycgXAotCSAgICAtZSAnczoke1JFQ0lQRV9TWVNST09UX05BVElWRX06OmcnIFwKLQkgICAgLWkgJHtEfSR7UFRFU1RfUEFUSH0vaW5jbHVkZS9idWlsZGRlZnMKIH0KIAogUkRFUEVORFNfJHtQTn0tcHRlc3QgPSAiYXR0ciBjb3JldXRpbHMgcGVybC1tb2R1bGUtZmlsZWhhbmRsZSBwZXJsLW1vZHVsZS1nZXRvcHQtc3RkIHBlcmwtbW9kdWxlLXBvc2l4IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ibWFwLXRvb2xzL2JtYXAtdG9vbHNfMy40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYWFlOWEzLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVNVTU1BUlkgPSAiVG9vbHMgdG8gZ2VuZXJhdGUgYmxvY2sgbWFwIChBS0EgYm1hcCkgYW5kIGZsYXNoIGltYWdlcyB1c2luZyBibWFwIgotREVTQ1JJUFRJT04gPSAiQm1hcC10b29scyAtIHRvb2xzIHRvIGdlbmVyYXRlIGJsb2NrIG1hcCAoQUtBIGJtYXApIGFuZCBmbGFzaCBpbWFnZXMgdXNpbmcgXAotYm1hcC4gQm1hcHRvb2wgaXMgYSBnZW5lcmljIHRvb2wgZm9yIGNyZWF0aW5nIHRoZSBibG9jayBtYXAgKGJtYXApIGZvciBhIGZpbGUsIFwKLWFuZCBjb3B5aW5nIGZpbGVzIHVzaW5nIHRoZSBibG9jayBtYXAuIFRoZSBpZGVhIGlzIHRoYXQgbGFyZ2UgZmlsZSBjb250YWluaW5nIFwKLXVudXNlZCBibG9ja3MsIGxpa2UgcmF3IHN5c3RlbSBpbWFnZSBmaWxlcywgY2FuIGJlIGNvcGllZCBvciBmbGFzaGVkIGEgbG90IFwKLWZhc3RlciB3aXRoIGJtYXB0b29sIHRoYW4gd2l0aCB0cmFkaXRpb25hbCB0b29scyBsaWtlICJkZCIgb3IgImNwIi4iCi1IT01FUEFHRSA9ICJodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvYm1hcC10b29scyIKLVNFQ1RJT04gPSAiY29uc29sZS91dGlscyIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyIKLQotU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS8ke0JQfS50Z3oiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI4ODM0MjAxODM2MTFhYTEzN2NiYWY2OGE5MWVmMGQ3ZSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwMDY0ODkxMjcwYzE4MGMxOTBmNDE5MjViMGY2ZmI5Y2VjYWMzMDU2ZjExNjhkMjU5MmRiZTkwZTVmMjI2YzBhIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2ludGVsLyR7QlBOfS9yZWxlYXNlcyIKLQotUkRFUEVORFNfJHtQTn0gPSAicHl0aG9uMy1jb3JlIHB5dGhvbjMtY29tcHJlc3Npb24gcHl0aG9uMy1tbWFwIHB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLWZjbnRsIgotCi1pbmhlcml0IHB5dGhvbjNuYXRpdmUKLWluaGVyaXQgc2V0dXB0b29sczMKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2JtYXAtdG9vbHMvYm1hcC10b29sc18zLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0ZGI4NQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvYm1hcC10b29scy9ibWFwLXRvb2xzXzMuNS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlRvb2xzIHRvIGdlbmVyYXRlIGJsb2NrIG1hcCAoQUtBIGJtYXApIGFuZCBmbGFzaCBpbWFnZXMgdXNpbmcgYm1hcCIKK0RFU0NSSVBUSU9OID0gIkJtYXAtdG9vbHMgLSB0b29scyB0byBnZW5lcmF0ZSBibG9jayBtYXAgKEFLQSBibWFwKSBhbmQgZmxhc2ggaW1hZ2VzIHVzaW5nIFwKK2JtYXAuIEJtYXB0b29sIGlzIGEgZ2VuZXJpYyB0b29sIGZvciBjcmVhdGluZyB0aGUgYmxvY2sgbWFwIChibWFwKSBmb3IgYSBmaWxlLCBcCithbmQgY29weWluZyBmaWxlcyB1c2luZyB0aGUgYmxvY2sgbWFwLiBUaGUgaWRlYSBpcyB0aGF0IGxhcmdlIGZpbGUgY29udGFpbmluZyBcCit1bnVzZWQgYmxvY2tzLCBsaWtlIHJhdyBzeXN0ZW0gaW1hZ2UgZmlsZXMsIGNhbiBiZSBjb3BpZWQgb3IgZmxhc2hlZCBhIGxvdCBcCitmYXN0ZXIgd2l0aCBibWFwdG9vbCB0aGFuIHdpdGggdHJhZGl0aW9uYWwgdG9vbHMgbGlrZSAiZGQiIG9yICJjcCIuIgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2JtYXAtdG9vbHMiCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9pbnRlbC8ke0JQTn0iCisKK1NSQ1JFViA9ICJkYjcwODdiODgzYmY1MmNiZmYwNjNhZDE3YTQxY2MxY2JiODUxMDRkIgorUyA9ICIke1dPUktESVJ9L2dpdCIKK1BWIC49ICIrZ2l0JHtTUkNQVn0iCisKK1VQU1RSRUFNX0NIRUNLX0dJVFRBR1JFR0VYID0gInYoP1A8cHZlcj5cZCsoXC5cZCspKykiCisKK1JERVBFTkRTXyR7UE59ID0gInB5dGhvbjMtY29yZSBweXRob24zLWNvbXByZXNzaW9uIHB5dGhvbjMtbW1hcCBweXRob24zLXNldHVwdG9vbHMgcHl0aG9uMy1mY250bCBweXRob24zLXNpeCIKKworaW5oZXJpdCBweXRob24zbmF0aXZlCitpbmhlcml0IHNldHVwdG9vbHMzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jYS1jZXJ0aWZpY2F0ZXMvY2EtY2VydGlmaWNhdGVzXzIwMTkwMTEwLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jYS1jZXJ0aWZpY2F0ZXMvY2EtY2VydGlmaWNhdGVzXzIwMTkwMTEwLmJiCmluZGV4IGI5ZjU3OTAuLjRjMDQyNTMgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY2EtY2VydGlmaWNhdGVzL2NhLWNlcnRpZmljYXRlc18yMDE5MDExMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2NhLWNlcnRpZmljYXRlcy9jYS1jZXJ0aWZpY2F0ZXNfMjAxOTAxMTAuYmIKQEAgLTExLDcgKzExLDcgQEAKIERFUEVORFMgPSAiIgogREVQRU5EU19jbGFzcy1uYXRpdmUgPSAib3BlbnNzbC1uYXRpdmUiCiBERVBFTkRTX2NsYXNzLW5hdGl2ZXNkayA9ICJvcGVuc3NsLW5hdGl2ZSIKLSMgTmVlZCBjX3JlaGFzaCBmcm9tIG9wZW5zc2wgYW5kIHJ1bi1wYXJ0cyBmcm9tIGRlYmlhbnV0aWxzCisjIE5lZWQgcmVoYXNoIGZyb20gb3BlbnNzbCBhbmQgcnVuLXBhcnRzIGZyb20gZGViaWFudXRpbHMKIFBBQ0tBR0VfV1JJVEVfREVQUyArPSAib3BlbnNzbC1uYXRpdmUgZGViaWFudXRpbHMtbmF0aXZlIgogCiBTUkNSRVYgPSAiYzI4Nzk5YjEzOGIwNDRjOTYzZDI0YzRhNjk2NTliNmU1NDg2ZTNiZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY29uc29sZWtpdC9jb25zb2xla2l0XzAuNC42LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jb25zb2xla2l0L2NvbnNvbGVraXRfMC40LjYuYmIKaW5kZXggODBkNDhiZi4uYTE3ZjczOSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jb25zb2xla2l0L2NvbnNvbGVraXRfMC40LjYuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jb25zb2xla2l0L2NvbnNvbGVraXRfMC40LjYuYmIKQEAgLTIzLDEwICsyMywxMCBAQAogCiBTID0gIiR7V09SS0RJUn0vQ29uc29sZUtpdC0ke1BWfSIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbSBzeXN0ZW1kJywgZCl9IgorUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3BhbSBzeXN0ZW1kIHBvbGtpdCcsIGQpfSIKIAogUEFDS0FHRUNPTkZJR1twYW1dID0gIi0tZW5hYmxlLXBhbS1tb2R1bGUgLS13aXRoLXBhbS1tb2R1bGUtZGlyPSR7YmFzZV9saWJkaXJ9L3NlY3VyaXR5LC0tZGlzYWJsZS1wYW0tbW9kdWxlLGxpYnBhbSIKLVBBQ0tBR0VDT05GSUdbcG9saWN5a2l0XSA9ICItLXdpdGgtcG9sa2l0LC0td2l0aG91dC1wb2xraXQscG9sa2l0IgorUEFDS0FHRUNPTkZJR1twb2xraXRdID0gIi0td2l0aC1wb2xraXQsLS13aXRob3V0LXBvbGtpdCxwb2xraXQiCiBQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIi0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtLywtLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9IgogCiBGSUxFU18ke1BOfSArPSAiJHtleGVjX3ByZWZpeH0vbGliL0NvbnNvbGVLaXQgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTQ2MTgucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNDYxOC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGIwN2I0My4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNDYxOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLUZyb20gNTdkMjk5YTQ5OTE1NWQ0YjMyN2UzNDFjNjAyNGUyOTNiMDQxODI0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERhbmllbCBTdGVuYmVyZyA8ZGFuaWVsQGhheHguc2U+Ci1EYXRlOiBNb24sIDEzIEF1ZyAyMDE4IDEwOjM1OjUyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIEN1cmxfbnRsbV9jb3JlX21rX250X2hhc2g6IHJldHVybiBlcnJvciBvbiB0b28gbG9uZyBwYXNzd29yZAotCi0uLi4gc2luY2UgaXQgd291bGQgY2F1c2UgYW4gaW50ZWdlciBvdmVyZmxvdyBpZiBsb25nZXIgdGhhbiAobWF4IHNpemVfdAotLyAyKS4KLQotVGhpcyBpcyBDVkUtMjAxOC0xNDYxOAotCi1CdWc6IGh0dHBzOi8vY3VybC5oYXh4LnNlL2RvY3MvQ1ZFLTIwMTgtMTQ2MTguaHRtbAotQ2xvc2VzICMyNzU2Ci1SZXBvcnRlZC1ieTogWmhhb3lhbmcgV3UKLQotQ1ZFOiBDVkUtMjAxOC0xNDYxOAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotU2lnbmVkLW9mZi1ieTogWmhpeGlvbmcgQ2hpIDx6aGl4aW9uZy5jaGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYi9jdXJsX250bG1fY29yZS5jIHwgNSArKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi9jdXJsX250bG1fY29yZS5jIGIvbGliL2N1cmxfbnRsbV9jb3JlLmMKLWluZGV4IGUyN2NhYjM1M2MuLjkyMmU4NWE5MjYgMTAwNjQ0Ci0tLS0gYS9saWIvY3VybF9udGxtX2NvcmUuYwotKysrIGIvbGliL2N1cmxfbnRsbV9jb3JlLmMKLUBAIC01NTcsOCArNTU3LDExIEBAIENVUkxjb2RlIEN1cmxfbnRsbV9jb3JlX21rX250X2hhc2goc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKm50YnVmZmVyIC8qIDIxIGJ5dGVzICovKQotIHsKLSAgIHNpemVfdCBsZW4gPSBzdHJsZW4ocGFzc3dvcmQpOwotLSAgdW5zaWduZWQgY2hhciAqcHcgPSBsZW4gPyBtYWxsb2MobGVuICogMikgOiBzdHJkdXAoIiIpOwotKyAgdW5zaWduZWQgY2hhciAqcHc7Ci0gICBDVVJMY29kZSByZXN1bHQ7Ci0rICBpZihsZW4gPiBTSVpFX1RfTUFYLzIpIC8qIGF2b2lkIGludGVnZXIgb3ZlcmZsb3cgKi8KLSsgICAgcmV0dXJuIENVUkxFX09VVF9PRl9NRU1PUlk7Ci0rICBwdyA9IGxlbiA/IG1hbGxvYyhsZW4gKiAyKSA6IHN0cmR1cCgiIik7Ci0gICBpZighcHcpCi0gICAgIHJldHVybiBDVVJMRV9PVVRfT0ZfTUVNT1JZOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4MzkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjgzOS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmY5NzJkMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjgzOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLUZyb20gNTViOTA1MzJmOTE5MGRjZTQwYTMyNWIzMzEyZDAxNGM2NmRjM2FlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDEgTm92IDIwMTggMTU6Mjc6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gQ3VybF9hdXRoX2NyZWF0ZV9wbGFpbl9tZXNzYWdlOiBmaXggdG9vLWxhcmdlLWlucHV0LWNoZWNrCi0KLUNWRS0yMDE4LTE2ODM5Ci1SZXBvcnRlZC1ieTogSGFycnkgU2ludG9uZW4KLUJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAxOC0xNjgzOS5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvY29tbWl0Ci0vZjNhMjRkNzkxNmI5MTczYzY5YTNlMGVlNzkwMTAyOTkzODMzZDZjNT9kaWZmPXVuaWZpZWRdCi0KLUNWRTogQ1ZFLTIwMTgtMTY4MzkKLQotU2lnbmVkLW9mZi1ieTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYi92YXV0aC9jbGVhcnRleHQuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2xpYi92YXV0aC9jbGVhcnRleHQuYyBiL2xpYi92YXV0aC9jbGVhcnRleHQuYwotaW5kZXggNWQ2MWNlNi4uMTM2NzE0MyAxMDA2NDQKLS0tLSBhL2xpYi92YXV0aC9jbGVhcnRleHQuYwotKysrIGIvbGliL3ZhdXRoL2NsZWFydGV4dC5jCi1AQCAtNzQsNyArNzQsNyBAQCBDVVJMY29kZSBDdXJsX2F1dGhfY3JlYXRlX3BsYWluX21lc3NhZ2Uoc3RydWN0IEN1cmxfZWFzeSAqZGF0YSwKLSAgIHBsZW4gPSBzdHJsZW4ocGFzc3dkcCk7Ci0gCi0gICAvKiBDb21wdXRlIGJpbmFyeSBtZXNzYWdlIGxlbmd0aC4gQ2hlY2sgZm9yIG92ZXJmbG93cy4gKi8KLS0gIGlmKCh1bGVuID4gU0laRV9UX01BWC8yKSB8fCAocGxlbiA+IChTSVpFX1RfTUFYLzIgLSAyKSkpCi0rICBpZigodWxlbiA+IFNJWkVfVF9NQVgvNCkgfHwgKHBsZW4gPiAoU0laRV9UX01BWC8yIC0gMikpKQotICAgICByZXR1cm4gQ1VSTEVfT1VUX09GX01FTU9SWTsKLSAgIHBsYWlubGVuID0gMiAqIHVsZW4gKyBwbGVuICsgMjsKLSAKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmwvQ1ZFLTIwMTgtMTY4NDAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0MC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2QwODZjNC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gM2MyODQ2YmVjMDA4ZTAzZDQ1NmUxODFkOWFiNTU2ODZkYTgzZjE0MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENoYW5ncWluZyBMaSA8Y2hhbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDEgTm92IDIwMTggMTU6MzM6MzUgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gQ3VybF9jbG9zZTogY2xlYXIgZGF0YS0+bXVsdGlfZWFzeSBvbiBmcmVlIHRvIGF2b2lkCi0gdXNlLWFmdGVyLWZyZWUKLQotUmVncmVzc2lvbiBmcm9tIGI0NmNmYmMgKDcuNTkuMCkKLUNWRS0yMDE4LTE2ODQwCi1SZXBvcnRlZC1ieTogQnJpYW4gQ2FycGVudGVyIChHZWVrbmlrIExhYnMpCi0KLUJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAxOC0xNjg0MC5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvY29tbWl0LwotODFkMTM1ZDY3MTU1YzUyOTViMTAzMzY3OWM2MDYxNjVkNGUyOGYzZl0KLQotQ1ZFOiBDVkUtMjAxOC0xNjg0MAotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gbGliL3VybC5jIHwgNCArKystCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvbGliL3VybC5jIGIvbGliL3VybC5jCi1pbmRleCAyN2IyYzFlLi43ZWY3YzIwIDEwMDY0NAotLS0tIGEvbGliL3VybC5jCi0rKysgYi9saWIvdXJsLmMKLUBAIC0zMjAsMTAgKzMyMCwxMiBAQCBDVVJMY29kZSBDdXJsX2Nsb3NlKHN0cnVjdCBDdXJsX2Vhc3kgKmRhdGEpCi0gICAgICAgIGFuZCBkZXRhY2ggdGhpcyBoYW5kbGUgZnJvbSB0aGVyZS4gKi8KLSAgICAgY3VybF9tdWx0aV9yZW1vdmVfaGFuZGxlKGRhdGEtPm11bHRpLCBkYXRhKTsKLSAKLS0gIGlmKGRhdGEtPm11bHRpX2Vhc3kpCi0rICBpZihkYXRhLT5tdWx0aV9lYXN5KSB7Ci0gICAgIC8qIHdoZW4gY3VybF9lYXN5X3BlcmZvcm0oKSBpcyB1c2VkLCBpdCBjcmVhdGVzIGl0cyBvd24gbXVsdGkgaGFuZGxlIHRvCi0gICAgICAgIHVzZSBhbmQgdGhpcyBpcyB0aGUgb25lICovCi0gICAgIGN1cmxfbXVsdGlfY2xlYW51cChkYXRhLT5tdWx0aV9lYXN5KTsKLSsgICAgZGF0YS0+bXVsdGlfZWFzeSA9IE5VTEw7Ci0rICB9Ci0gCi0gICAvKiBEZXN0cm95IHRoZSB0aW1lb3V0IGxpc3QgdGhhdCBpcyBoZWxkIGluIHRoZSBlYXN5IGhhbmRsZS4gSXQgaXMKLSAgICAgIC9ub3JtYWxseS8gZG9uZSBieSBjdXJsX211bHRpX3JlbW92ZV9oYW5kbGUoKSBidXQgdGhpcyBpcyAianVzdCBpbgotLS0gCi0yLjcuNAotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybC9DVkUtMjAxOC0xNjg0Mi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODQyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmU3NTU3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsL0NWRS0yMDE4LTE2ODQyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSAwZTRhNjA1OGIxMzBmMDdjZmE1MmZkZThhM2NiNmYyYWJmZTRjNzAwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2hhbmdxaW5nIExpIDxjaGFuZ3FpbmcubGlAd2luZHJpdmVyLmNvbT4KLURhdGU6IFRodSwgMSBOb3YgMjAxOCAxNTozMDo1NiArMDgwMAotU3ViamVjdDogW1BBVENIXSB2b3V0ZjogZml4IGJhZCBhcmV0aG1ldGljIHdoZW4gb3V0cHV0dGluZyB3YXJuaW5ncyB0byBzdGRlcnIKLQotQ1ZFLTIwMTgtMTY4NDIKLVJlcG9ydGVkLWJ5OiBCcmlhbiBDYXJwZW50ZXIKLUJ1ZzogaHR0cHM6Ly9jdXJsLmhheHguc2UvZG9jcy9DVkUtMjAxOC0xNjg0Mi5odG1sCi0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vZ2l0aHViLmNvbS9jdXJsL2N1cmwvY29tbWl0Ci0vZDUzMGU5MmY1OWFlOWJiMmQ0NzA2NmMzYzQ2MGIyNWQyZmZlYjIxMV0KLQotQ1ZFOiBDVkUtMjAxOC0xNjg0MgotCi1TaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3Rvb2xfbXNncy5jIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3Rvb2xfbXNncy5jIGIvc3JjL3Rvb2xfbXNncy5jCi1pbmRleCA5Y2NlODA2Li4wNWJlYzM5IDEwMDY0NAotLS0tIGEvc3JjL3Rvb2xfbXNncy5jCi0rKysgYi9zcmMvdG9vbF9tc2dzLmMKLUBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIHZvdXRmKHN0cnVjdCBHbG9iYWxDb25maWcgKmNvbmZpZywKLSAgICAgICAgICh2b2lkKWZ3cml0ZShwdHIsIGN1dCArIDEsIDEsIGNvbmZpZy0+ZXJyb3JzKTsKLSAgICAgICAgIGZwdXRzKCJcbiIsIGNvbmZpZy0+ZXJyb3JzKTsKLSAgICAgICAgIHB0ciArPSBjdXQgKyAxOyAvKiBza2lwIHRoZSBzcGFjZSB0b28gKi8KLS0gICAgICAgIGxlbiAtPSBjdXQ7Ci0rICAgICAgICBsZW4gLT0gY3V0ICsgMTsKLSAgICAgICB9Ci0gICAgICAgZWxzZSB7Ci0gICAgICAgICBmcHV0cyhwdHIsIGNvbmZpZy0+ZXJyb3JzKTsKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42MS4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42MS4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjMyN2E2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvY3VybC9jdXJsXzcuNjEuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLVNVTU1BUlkgPSAiQ29tbWFuZCBsaW5lIHRvb2wgYW5kIGxpYnJhcnkgZm9yIGNsaWVudC1zaWRlIFVSTCB0cmFuc2ZlcnMiCi1IT01FUEFHRSA9ICJodHRwOi8vY3VybC5oYXh4LnNlLyIKLUJVR1RSQUNLRVIgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS9tYWlsL2xpc3QuY2dpP2xpc3Q9Y3VybC10cmFja2VyIgotU0VDVElPTiA9ICJjb25zb2xlL25ldHdvcmsiCi1MSUNFTlNFID0gIk1JVCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVmODg5YTM3YTVhODc0NDkwYWM3Y2UxMTYzOTZmMjlhIgotCi1TUkNfVVJJID0gImh0dHA6Ly9jdXJsLmhheHguc2UvZG93bmxvYWQvY3VybC0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtcmVwbGFjZS1rcmI1LWNvbmZpZy13aXRoLXBrZy1jb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTQ2MTgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTY4MzkucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTY4NDAucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMTY4NDIucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMzFkMGE5ZjQ4ZGM3OTZhN2RiMzUxODk4YTFlNTA1OGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWY2ZjMzNjkyMWNmNWI4NGRlNTZhZmJkMDhkZmI3MGFkZWVmMjMwMzc1MWZmYjNlNTcwYzkzNmM2ZDY1NmM5YyIKLQotQ1ZFX1BST0RVQ1QgPSAiY3VybCBsaWJjdXJsIgotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGJpbmNvbmZpZyBtdWx0aWxpYl9oZWFkZXIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0gZ251dGxzIGxpYmlkbiBwcm94eSB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZXNkayA9ICJpcHY2IHByb3h5IHNzbCB0aHJlYWRlZC1yZXNvbHZlciB2ZXJib3NlIHpsaWIiCi0KLSMgJ2FyZXMnIGFuZCAndGhyZWFkZWQtcmVzb2x2ZXInIGFyZSBtdXR1YWxseSBleGNsdXNpdmUKLVBBQ0tBR0VDT05GSUdbYXJlc10gPSAiLS1lbmFibGUtYXJlcywtLWRpc2FibGUtYXJlcyxjLWFyZXMiCi1QQUNLQUdFQ09ORklHW2Jyb3RsaV0gPSAiLS13aXRoLWJyb3RsaSwtLXdpdGhvdXQtYnJvdGxpLGJyb3RsaSIKLVBBQ0tBR0VDT05GSUdbYnVpbHRpbm1hbnVhbF0gPSAiLS1lbmFibGUtbWFudWFsLC0tZGlzYWJsZS1tYW51YWwiCi1QQUNLQUdFQ09ORklHW2RpY3RdID0gIi0tZW5hYmxlLWRpY3QsLS1kaXNhYmxlLWRpY3QsIgotUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0td2l0aC1nbnV0bHMsLS13aXRob3V0LWdudXRscyxnbnV0bHMiCi1QQUNLQUdFQ09ORklHW2dvcGhlcl0gPSAiLS1lbmFibGUtZ29waGVyLC0tZGlzYWJsZS1nb3BoZXIsIgotUEFDS0FHRUNPTkZJR1tpbWFwXSA9ICItLWVuYWJsZS1pbWFwLC0tZGlzYWJsZS1pbWFwLCIKLVBBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCi1QQUNLQUdFQ09ORklHW2tyYjVdID0gIi0td2l0aC1nc3NhcGksLS13aXRob3V0LWdzc2FwaSxrcmI1IgotUEFDS0FHRUNPTkZJR1tsZGFwXSA9ICItLWVuYWJsZS1sZGFwLC0tZGlzYWJsZS1sZGFwLCIKLVBBQ0tBR0VDT05GSUdbbGRhcHNdID0gIi0tZW5hYmxlLWxkYXBzLC0tZGlzYWJsZS1sZGFwcywiCi1QQUNLQUdFQ09ORklHW2xpYmlkbl0gPSAiLS13aXRoLWxpYmlkbjIsLS13aXRob3V0LWxpYmlkbjIsbGliaWRuMiIKLVBBQ0tBR0VDT05GSUdbbGlic3NoMl0gPSAiLS13aXRoLWxpYnNzaDIsLS13aXRob3V0LWxpYnNzaDIsbGlic3NoMiIKLVBBQ0tBR0VDT05GSUdbbWJlZHRsc10gPSAiLS13aXRoLW1iZWR0bHM9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LC0td2l0aG91dC1tYmVkdGxzLG1iZWR0bHMiCi1QQUNLQUdFQ09ORklHW25naHR0cDJdID0gIi0td2l0aC1uZ2h0dHAyLC0td2l0aG91dC1uZ2h0dHAyLG5naHR0cDIiCi1QQUNLQUdFQ09ORklHW3BvcDNdID0gIi0tZW5hYmxlLXBvcDMsLS1kaXNhYmxlLXBvcDMsIgotUEFDS0FHRUNPTkZJR1twcm94eV0gPSAiLS1lbmFibGUtcHJveHksLS1kaXNhYmxlLXByb3h5LCIKLVBBQ0tBR0VDT05GSUdbcnRtcGR1bXBdID0gIi0td2l0aC1saWJydG1wLC0td2l0aG91dC1saWJydG1wLHJ0bXBkdW1wIgotUEFDS0FHRUNPTkZJR1tydHNwXSA9ICItLWVuYWJsZS1ydHNwLC0tZGlzYWJsZS1ydHNwLCIKLVBBQ0tBR0VDT05GSUdbc21iXSA9ICItLWVuYWJsZS1zbWIsLS1kaXNhYmxlLXNtYiwiCi1QQUNLQUdFQ09ORklHW3NtdHBdID0gIi0tZW5hYmxlLXNtdHAsLS1kaXNhYmxlLXNtdHAsIgotUEFDS0FHRUNPTkZJR1tzc2xdID0gIi0td2l0aC1zc2wgLS13aXRoLXJhbmRvbT0vZGV2L3VyYW5kb20sLS13aXRob3V0LXNzbCxvcGVuc3NsIgotUEFDS0FHRUNPTkZJR1t0ZWxuZXRdID0gIi0tZW5hYmxlLXRlbG5ldCwtLWRpc2FibGUtdGVsbmV0LCIKLVBBQ0tBR0VDT05GSUdbdGZ0cF0gPSAiLS1lbmFibGUtdGZ0cCwtLWRpc2FibGUtdGZ0cCwiCi1QQUNLQUdFQ09ORklHW3RocmVhZGVkLXJlc29sdmVyXSA9ICItLWVuYWJsZS10aHJlYWRlZC1yZXNvbHZlciwtLWRpc2FibGUtdGhyZWFkZWQtcmVzb2x2ZXIiCi1QQUNLQUdFQ09ORklHW3ZlcmJvc2VdID0gIi0tZW5hYmxlLXZlcmJvc2UsLS1kaXNhYmxlLXZlcmJvc2UiCi1QQUNLQUdFQ09ORklHW3psaWJdID0gIi0td2l0aC16bGliPSR7U1RBR0lOR19MSUJESVJ9Ly4uLywtLXdpdGhvdXQtemxpYix6bGliIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWRpc2FibGUtbGliY3VybC1vcHRpb24gXAotICAgIC0tZGlzYWJsZS1udGxtLXdiIFwKLSAgICAtLWVuYWJsZS1jcnlwdG8tYXV0aCBcCi0gICAgLS13aXRoLWNhLWJ1bmRsZT0ke3N5c2NvbmZkaXJ9L3NzbC9jZXJ0cy9jYS1jZXJ0aWZpY2F0ZXMuY3J0IFwKLSAgICAtLXdpdGhvdXQtbGlibWV0YWxpbmsgXAotICAgIC0td2l0aG91dC1saWJwc2wgXAotIgotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0JIyBjbGVhbnVwIGJ1aWxkcGF0aHMgZnJvbSBjdXJsLWNvbmZpZwotCXNlZCAtaSBcCi0JICAgIC1lICdzLC0tc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQkgICAgLWUgJ3MsLS13aXRoLWxpYnRvb2wtc3lzcm9vdD0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLGcnIFwKLQkgICAgLWUgJ3N8JHtERUJVR19QUkVGSVhfTUFQfXx8ZycgXAotCSAgICAke0R9JHtiaW5kaXJ9L2N1cmwtY29uZmlnCi19Ci0KLVBBQ0tBR0VTID0rICJsaWIke0JQTn0iCi0KLUZJTEVTX2xpYiR7QlBOfSA9ICIke2xpYmRpcn0vbGliKi5zby4qIgotUlJFQ09NTUVORFNfbGliJHtCUE59ICs9ICJjYS1jZXJ0aWZpY2F0ZXMiCi0KLUZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L3pzaCIKLQotaW5oZXJpdCBtdWx0aWxpYl9zY3JpcHQKLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9jdXJsLWNvbmZpZyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42NC4wLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9jdXJsL2N1cmxfNy42NC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYjVlN2QKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2N1cmwvY3VybF83LjY0LjAuYmIKQEAgLTAsMCArMSw4MCBAQAorU1VNTUFSWSA9ICJDb21tYW5kIGxpbmUgdG9vbCBhbmQgbGlicmFyeSBmb3IgY2xpZW50LXNpZGUgVVJMIHRyYW5zZmVycyIKK0hPTUVQQUdFID0gImh0dHA6Ly9jdXJsLmhheHguc2UvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vY3VybC5oYXh4LnNlL21haWwvbGlzdC5jZ2k/bGlzdD1jdXJsLXRyYWNrZXIiCitTRUNUSU9OID0gImNvbnNvbGUvbmV0d29yayIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmU1ZDllMTQxOWM0MzYzZjRiMzIwMzdhMmQzYjdmZmEiCisKK1NSQ19VUkkgPSAiaHR0cDovL2N1cmwuaGF4eC5zZS9kb3dubG9hZC9jdXJsLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1yZXBsYWNlLWtyYjUtY29uZmlnLXdpdGgtcGtnLWNvbmZpZy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkMGJjYzU4Njg3M2NmZWYwOGI0Yjk1OTRlNTM5NWEzMyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkNTczYmExYzJkMWNmOWQ4NTMzZmFkY2NlNDgwZDc3ODQxNzk2NGU4ZDA0Y2NkZGNjNzZlNTkxZDU0NGNmMmViIgorCitDVkVfUFJPRFVDVCA9ICJjdXJsIGxpYmN1cmwiCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnIG11bHRpbGliX2hlYWRlcgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSBnbnV0bHMgbGliaWRuIHByb3h5IHRocmVhZGVkLXJlc29sdmVyIHZlcmJvc2UgemxpYiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gImlwdjYgcHJveHkgc3NsIHRocmVhZGVkLXJlc29sdmVyIHZlcmJvc2UgemxpYiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlc2RrID0gImlwdjYgcHJveHkgc3NsIHRocmVhZGVkLXJlc29sdmVyIHZlcmJvc2UgemxpYiIKKworIyAnYXJlcycgYW5kICd0aHJlYWRlZC1yZXNvbHZlcicgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZQorUEFDS0FHRUNPTkZJR1thcmVzXSA9ICItLWVuYWJsZS1hcmVzLC0tZGlzYWJsZS1hcmVzLGMtYXJlcyIKK1BBQ0tBR0VDT05GSUdbYnJvdGxpXSA9ICItLXdpdGgtYnJvdGxpLC0td2l0aG91dC1icm90bGksYnJvdGxpIgorUEFDS0FHRUNPTkZJR1tidWlsdGlubWFudWFsXSA9ICItLWVuYWJsZS1tYW51YWwsLS1kaXNhYmxlLW1hbnVhbCIKK1BBQ0tBR0VDT05GSUdbZGljdF0gPSAiLS1lbmFibGUtZGljdCwtLWRpc2FibGUtZGljdCwiCitQQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS13aXRoLWdudXRscywtLXdpdGhvdXQtZ251dGxzLGdudXRscyIKK1BBQ0tBR0VDT05GSUdbZ29waGVyXSA9ICItLWVuYWJsZS1nb3BoZXIsLS1kaXNhYmxlLWdvcGhlciwiCitQQUNLQUdFQ09ORklHW2ltYXBdID0gIi0tZW5hYmxlLWltYXAsLS1kaXNhYmxlLWltYXAsIgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKK1BBQ0tBR0VDT05GSUdba3JiNV0gPSAiLS13aXRoLWdzc2FwaSwtLXdpdGhvdXQtZ3NzYXBpLGtyYjUiCitQQUNLQUdFQ09ORklHW2xkYXBdID0gIi0tZW5hYmxlLWxkYXAsLS1kaXNhYmxlLWxkYXAsIgorUEFDS0FHRUNPTkZJR1tsZGFwc10gPSAiLS1lbmFibGUtbGRhcHMsLS1kaXNhYmxlLWxkYXBzLCIKK1BBQ0tBR0VDT05GSUdbbGliaWRuXSA9ICItLXdpdGgtbGliaWRuMiwtLXdpdGhvdXQtbGliaWRuMixsaWJpZG4yIgorUEFDS0FHRUNPTkZJR1tsaWJzc2gyXSA9ICItLXdpdGgtbGlic3NoMiwtLXdpdGhvdXQtbGlic3NoMixsaWJzc2gyIgorUEFDS0FHRUNPTkZJR1ttYmVkdGxzXSA9ICItLXdpdGgtbWJlZHRscz0ke1NUQUdJTkdfRElSX1RBUkdFVH0sLS13aXRob3V0LW1iZWR0bHMsbWJlZHRscyIKK1BBQ0tBR0VDT05GSUdbbmdodHRwMl0gPSAiLS13aXRoLW5naHR0cDIsLS13aXRob3V0LW5naHR0cDIsbmdodHRwMiIKK1BBQ0tBR0VDT05GSUdbcG9wM10gPSAiLS1lbmFibGUtcG9wMywtLWRpc2FibGUtcG9wMywiCitQQUNLQUdFQ09ORklHW3Byb3h5XSA9ICItLWVuYWJsZS1wcm94eSwtLWRpc2FibGUtcHJveHksIgorUEFDS0FHRUNPTkZJR1tydG1wZHVtcF0gPSAiLS13aXRoLWxpYnJ0bXAsLS13aXRob3V0LWxpYnJ0bXAscnRtcGR1bXAiCitQQUNLQUdFQ09ORklHW3J0c3BdID0gIi0tZW5hYmxlLXJ0c3AsLS1kaXNhYmxlLXJ0c3AsIgorUEFDS0FHRUNPTkZJR1tzbWJdID0gIi0tZW5hYmxlLXNtYiwtLWRpc2FibGUtc21iLCIKK1BBQ0tBR0VDT05GSUdbc210cF0gPSAiLS1lbmFibGUtc210cCwtLWRpc2FibGUtc210cCwiCitQQUNLQUdFQ09ORklHW3NzbF0gPSAiLS13aXRoLXNzbCAtLXdpdGgtcmFuZG9tPS9kZXYvdXJhbmRvbSwtLXdpdGhvdXQtc3NsLG9wZW5zc2wiCitQQUNLQUdFQ09ORklHW25zc10gPSAiLS13aXRoLW5zcywtLXdpdGhvdXQtbnNzLG5zcyIKK1BBQ0tBR0VDT05GSUdbdGVsbmV0XSA9ICItLWVuYWJsZS10ZWxuZXQsLS1kaXNhYmxlLXRlbG5ldCwiCitQQUNLQUdFQ09ORklHW3RmdHBdID0gIi0tZW5hYmxlLXRmdHAsLS1kaXNhYmxlLXRmdHAsIgorUEFDS0FHRUNPTkZJR1t0aHJlYWRlZC1yZXNvbHZlcl0gPSAiLS1lbmFibGUtdGhyZWFkZWQtcmVzb2x2ZXIsLS1kaXNhYmxlLXRocmVhZGVkLXJlc29sdmVyIgorUEFDS0FHRUNPTkZJR1t2ZXJib3NlXSA9ICItLWVuYWJsZS12ZXJib3NlLC0tZGlzYWJsZS12ZXJib3NlIgorUEFDS0FHRUNPTkZJR1t6bGliXSA9ICItLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLi8sLS13aXRob3V0LXpsaWIsemxpYiIKKworRVhUUkFfT0VDT05GID0gIiBcCisgICAgLS1kaXNhYmxlLWxpYmN1cmwtb3B0aW9uIFwKKyAgICAtLWRpc2FibGUtbnRsbS13YiBcCisgICAgLS1lbmFibGUtY3J5cHRvLWF1dGggXAorICAgIC0td2l0aC1jYS1idW5kbGU9JHtzeXNjb25mZGlyfS9zc2wvY2VydHMvY2EtY2VydGlmaWNhdGVzLmNydCBcCisgICAgLS13aXRob3V0LWxpYm1ldGFsaW5rIFwKKyAgICAtLXdpdGhvdXQtbGlicHNsIFwKKyIKKworZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgeworCSMgY2xlYW51cCBidWlsZHBhdGhzIGZyb20gY3VybC1jb25maWcKKwlzZWQgLWkgXAorCSAgICAtZSAncywtLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCisJICAgIC1lICdzLC0td2l0aC1saWJ0b29sLXN5c3Jvb3Q9JHtTVEFHSU5HX0RJUl9UQVJHRVR9LCxnJyBcCisJICAgIC1lICdzfCR7REVCVUdfUFJFRklYX01BUH18fGcnIFwKKwkgICAgJHtEfSR7YmluZGlyfS9jdXJsLWNvbmZpZworfQorCitQQUNLQUdFUyA9KyAibGliJHtCUE59IgorCitGSUxFU19saWIke0JQTn0gPSAiJHtsaWJkaXJ9L2xpYiouc28uKiIKK1JSRUNPTU1FTkRTX2xpYiR7QlBOfSArPSAiY2EtY2VydGlmaWNhdGVzIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS96c2giCisKK2luaGVyaXQgbXVsdGlsaWJfc2NyaXB0CitNVUxUSUxJQl9TQ1JJUFRTID0gIiR7UE59LWRldjoke2JpbmRpcn0vY3VybC1jb25maWciCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGIvMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGIvMDAwMS1GaXgtbGliYy1jb21wYXRpYmlsaXR5LWJ5LXJlbmFtaW5nLWF0b21pY19pbml0LUFQSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGZmMmVjCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kYi9kYi8wMDAxLUZpeC1saWJjLWNvbXBhdGliaWxpdHktYnktcmVuYW1pbmctYXRvbWljX2luaXQtQVBJLnBhdGNoCkBAIC0wLDAgKzEsMTQ3IEBACitGcm9tIGEzNTY5ZjExOGZkOTViN2FkNDFlMWExMTI4ZTE3YzBiODkyODU1NmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogU3VuLCAyMCBKYW4gMjAxOSAxODozMDoyMyAtMDgwMAorU3ViamVjdDogW1BBVENIXSBGaXggbGliYysrIGNvbXBhdGliaWxpdHkgYnkgcmVuYW1pbmcgYXRvbWljX2luaXQgQVBJCisKK2RiNSBkb2VzIG5vdCBidWlsZCBiZWNhdXNlIGl0IGlzIHJlZGVmaW5pbmcgYSBDKysxMSBzdGFuZGFyZAorbGlicmFyeSBpZGVudGlmaWVyLCBhdG9taWNfaW5pdCgpLiAgVGhlcmVmb3JlIHByZWZpeCBhbGwKK2l0cyBpbnRlcm5hbCBkZWZpbmVzIHdpdGggJ19fZGJfJywgdG8gYXZvaWQgY29sbGlzaW9ucy4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBzcmMvZGJpbmMvYXRvbWljLmggICAgIHwgNCArKy0tCisgc3JjL21wL21wX2ZnZXQuYyAgICAgICB8IDQgKystLQorIHNyYy9tcC9tcF9tdmNjLmMgICAgICAgfCA0ICsrLS0KKyBzcmMvbXAvbXBfcmVnaW9uLmMgICAgIHwgNCArKy0tCisgc3JjL211dGV4L211dF9tZXRob2QuYyB8IDIgKy0KKyBzcmMvbXV0ZXgvbXV0X3Rhcy5jICAgIHwgNCArKy0tCisgNiBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kYmluYy9hdG9taWMuaCBiL3NyYy9kYmluYy9hdG9taWMuaAoraW5kZXggMWI0OWRlNS4uN2JmMzUzYyAxMDA2NDQKKy0tLSBhL3NyYy9kYmluYy9hdG9taWMuaAorKysrIGIvc3JjL2RiaW5jL2F0b21pYy5oCitAQCAtNzAsNyArNzAsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CisgICogVGhlc2UgaGF2ZSBubyBtZW1vcnkgYmFycmllcnM7IHRoZSBjYWxsZXIgbXVzdCBpbmNsdWRlIHRoZW0gd2hlbiBuZWNlc3NhcnkuCisgICovCisgI2RlZmluZQlhdG9taWNfcmVhZChwKQkJKChwKS0+dmFsdWUpCistI2RlZmluZQlhdG9taWNfaW5pdChwLCB2YWwpCSgocCktPnZhbHVlID0gKHZhbCkpCisrI2RlZmluZQlfX2RiX2F0b21pY19pbml0KHAsIHZhbCkJKChwKS0+dmFsdWUgPSAodmFsKSkKKyAKKyAjaWZkZWYgSEFWRV9BVE9NSUNfU1VQUE9SVAorIAorQEAgLTIwNiw3ICsyMDYsNyBAQCBzdGF0aWMgaW5saW5lIGludCBfX2RiX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlKAorICNkZWZpbmUJYXRvbWljX2RlYyhlbnYsIHApCSgtLShwKS0+dmFsdWUpCisgI2RlZmluZQlhdG9taWNfY29tcGFyZV9leGNoYW5nZShlbnYsIHAsIG9sZHZhbCwgbmV3dmFsKQkJXAorIAkoREJfQVNTRVJUKGVudiwgYXRvbWljX3JlYWQocCkgPT0gKG9sZHZhbCkpLAkJXAorLQlhdG9taWNfaW5pdChwLCAobmV3dmFsKSksIDEpCisrCV9fZGJfYXRvbWljX2luaXQocCwgKG5ld3ZhbCkpLCAxKQorICNlbHNlCisgI2RlZmluZSBhdG9taWNfaW5jKGVudiwgcCkJX19hdG9taWNfaW5jKGVudiwgcCkKKyAjZGVmaW5lIGF0b21pY19kZWMoZW52LCBwKQlfX2F0b21pY19kZWMoZW52LCBwKQorZGlmZiAtLWdpdCBhL3NyYy9tcC9tcF9mZ2V0LmMgYi9zcmMvbXAvbXBfZmdldC5jCitpbmRleCAxNmRlNjk1Li41MTU5NTIwIDEwMDY0NAorLS0tIGEvc3JjL21wL21wX2ZnZXQuYworKysrIGIvc3JjL21wL21wX2ZnZXQuYworQEAgLTY0OSw3ICs2NDksNyBAQCBhbGxvYzoJCS8qIEFsbG9jYXRlIGEgbmV3IGJ1ZmZlciBoZWFkZXIgYW5kIGRhdGEgc3BhY2UuICovCisgCisgCQkvKiBJbml0aWFsaXplIGVub3VnaCBzbyB3ZSBjYW4gY2FsbCBfX21lbXBfYmhmcmVlLiAqLworIAkJYWxsb2NfYmhwLT5mbGFncyA9IDA7CistCQlhdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworKwkJX19kYl9hdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworICNpZmRlZiBESUFHTk9TVElDCisgCQlpZiAoKHVpbnRwdHJfdClhbGxvY19iaHAtPmJ1ZiAmIChzaXplb2Yoc2l6ZV90KSAtIDEpKSB7CisgCQkJX19kYl9lcnJ4KGVudiwgREJfU1RSKCIzMDI1IiwKK0BAIC05NTUsNyArOTU1LDcgQEAgYWxsb2M6CQkvKiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgaGVhZGVyIGFuZCBkYXRhIHNwYWNlLiAqLworIAkJCU1WQ0NfTVBST1RFQ1QoYmhwLT5idWYsIG1mcC0+cGFnZXNpemUsCisgCQkJICAgIFBST1RfUkVBRCk7CisgCistCQlhdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworKwkJX19kYl9hdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworIAkJTVVURVhfTE9DSyhlbnYsIGFsbG9jX2JocC0+bXR4X2J1Zik7CisgCQlhbGxvY19iaHAtPnByaW9yaXR5ID0gYmhwLT5wcmlvcml0eTsKKyAJCWFsbG9jX2JocC0+cGdubyA9IGJocC0+cGdubzsKK2RpZmYgLS1naXQgYS9zcmMvbXAvbXBfbXZjYy5jIGIvc3JjL21wL21wX212Y2MuYworaW5kZXggNzcwYmFkOC4uZGJjZTRmMyAxMDA2NDQKKy0tLSBhL3NyYy9tcC9tcF9tdmNjLmMKKysrKyBiL3NyYy9tcC9tcF9tdmNjLmMKK0BAIC0yNzYsNyArMjc2LDcgQEAgX19tZW1wX2JoX2ZyZWV6ZShkYm1wLCBpbmZvcCwgaHAsIGJocCwgbmVlZF9mcm96ZW5wKQorICNlbHNlCisgCW1lbWNweShmcm96ZW5fYmhwLCBiaHAsIFNTWkEoQkgsIGJ1ZikpOworICNlbmRpZgorLQlhdG9taWNfaW5pdCgmZnJvemVuX2JocC0+cmVmLCAwKTsKKysJX19kYl9hdG9taWNfaW5pdCgmZnJvemVuX2JocC0+cmVmLCAwKTsKKyAJaWYgKG11dGV4ICE9IE1VVEVYX0lOVkFMSUQpCisgCQlmcm96ZW5fYmhwLT5tdHhfYnVmID0gbXV0ZXg7CisgCWVsc2UgaWYgKChyZXQgPSBfX211dGV4X2FsbG9jKGVudiwgTVRYX01QT09MX0JILAorQEAgLTQyOCw3ICs0MjgsNyBAQCBfX21lbXBfYmhfdGhhdyhkYm1wLCBpbmZvcCwgaHAsIGZyb3plbl9iaHAsIGFsbG9jX2JocCkKKyAjZW5kaWYKKyAJCWFsbG9jX2JocC0+bXR4X2J1ZiA9IG11dGV4OworIAkJTVVURVhfTE9DSyhlbnYsIGFsbG9jX2JocC0+bXR4X2J1Zik7CistCQlhdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworKwkJX19kYl9hdG9taWNfaW5pdCgmYWxsb2NfYmhwLT5yZWYsIDEpOworIAkJRl9DTFIoYWxsb2NfYmhwLCBCSF9GUk9aRU4pOworIAl9CisgCitkaWZmIC0tZ2l0IGEvc3JjL21wL21wX3JlZ2lvbi5jIGIvc3JjL21wL21wX3JlZ2lvbi5jCitpbmRleCA0OTUyMDMwLi4wODRmNDk5IDEwMDY0NAorLS0tIGEvc3JjL21wL21wX3JlZ2lvbi5jCisrKysgYi9zcmMvbXAvbXBfcmVnaW9uLmMKK0BAIC0yNDUsNyArMjQ1LDcgQEAgX19tZW1wX2luaXQoZW52LCBkYm1wLCByZWdpbmZvX29mZiwgaHRhYl9idWNrZXRzLCBtYXhfbnJlZykKKyAJCQkgICAgIE1UWF9NUE9PTF9GSUxFX0JVQ0tFVCwgMCwgJmh0YWJbaV0ubXR4X2hhc2gpKSAhPSAwKQorIAkJCQlyZXR1cm4gKHJldCk7CisgCQkJU0hfVEFJTFFfSU5JVCgmaHRhYltpXS5oYXNoX2J1Y2tldCk7CistCQkJYXRvbWljX2luaXQoJmh0YWJbaV0uaGFzaF9wYWdlX2RpcnR5LCAwKTsKKysJCQlfX2RiX2F0b21pY19pbml0KCZodGFiW2ldLmhhc2hfcGFnZV9kaXJ0eSwgMCk7CisgCQl9CisgCisgCQkvKgorQEAgLTMwMiw3ICszMDIsNyBAQCBub19wcmVhbGxvYzoKKyAJCX0gZWxzZQorIAkJCWhwLT5tdHhfaGFzaCA9IG10eF9iYXNlICsgKGkgJSBkYmVudi0+bXBfbXR4Y291bnQpOworIAkJU0hfVEFJTFFfSU5JVCgmaHAtPmhhc2hfYnVja2V0KTsKKy0JCWF0b21pY19pbml0KCZocC0+aGFzaF9wYWdlX2RpcnR5LCAwKTsKKysJCV9fZGJfYXRvbWljX2luaXQoJmhwLT5oYXNoX3BhZ2VfZGlydHksIDApOworICNpZmRlZiBIQVZFX1NUQVRJU1RJQ1MKKyAJCWhwLT5oYXNoX2lvX3dhaXQgPSAwOworIAkJaHAtPmhhc2hfZnJvemVuID0gaHAtPmhhc2hfdGhhd2VkID0gaHAtPmhhc2hfZnJvemVuX2ZyZWVkID0gMDsKK2RpZmYgLS1naXQgYS9zcmMvbXV0ZXgvbXV0X21ldGhvZC5jIGIvc3JjL211dGV4L211dF9tZXRob2QuYworaW5kZXggMDkzNTNiMC4uM2M5NTRiOSAxMDA2NDQKKy0tLSBhL3NyYy9tdXRleC9tdXRfbWV0aG9kLmMKKysrKyBiL3NyYy9tdXRleC9tdXRfbWV0aG9kLmMKK0BAIC00NzQsNyArNDc0LDcgQEAgYXRvbWljX2NvbXBhcmVfZXhjaGFuZ2UoZW52LCB2LCBvbGR2YWwsIG5ld3ZhbCkKKyAJTVVURVhfTE9DSyhlbnYsIG10eCk7CisgCXJldCA9IGF0b21pY19yZWFkKHYpID09IG9sZHZhbDsKKyAJaWYgKHJldCkKKy0JCWF0b21pY19pbml0KHYsIG5ld3ZhbCk7CisrCQlfX2RiX2F0b21pY19pbml0KHYsIG5ld3ZhbCk7CisgCU1VVEVYX1VOTE9DSyhlbnYsIG10eCk7CisgCisgCXJldHVybiAocmV0KTsKK2RpZmYgLS1naXQgYS9zcmMvbXV0ZXgvbXV0X3Rhcy5jIGIvc3JjL211dGV4L211dF90YXMuYworaW5kZXggMTA2YjE2MS4uNWEzYjAzMyAxMDA2NDQKKy0tLSBhL3NyYy9tdXRleC9tdXRfdGFzLmMKKysrKyBiL3NyYy9tdXRleC9tdXRfdGFzLmMKK0BAIC00Nyw3ICs0Nyw3IEBAIF9fZGJfdGFzX211dGV4X2luaXQoZW52LCBtdXRleCwgZmxhZ3MpCisgCisgI2lmZGVmIEhBVkVfU0hBUkVEX0xBVENIRVMKKyAJaWYgKEZfSVNTRVQobXV0ZXhwLCBEQl9NVVRFWF9TSEFSRUQpKQorLQkJYXRvbWljX2luaXQoJm11dGV4cC0+c2hhcmVjb3VudCwgMCk7CisrCQlfX2RiX2F0b21pY19pbml0KCZtdXRleHAtPnNoYXJlY291bnQsIDApOworIAllbHNlCisgI2VuZGlmCisgCWlmIChNVVRFWF9JTklUKCZtdXRleHAtPnRhcykpIHsKK0BAIC01MzYsNyArNTM2LDcgQEAgX19kYl90YXNfbXV0ZXhfdW5sb2NrKGVudiwgbXV0ZXgpCisgCQkJRl9DTFIobXV0ZXhwLCBEQl9NVVRFWF9MT0NLRUQpOworIAkJCS8qIEZsdXNoIGZsYWcgdXBkYXRlIGJlZm9yZSB6ZXJvaW5nIGNvdW50ICovCisgCQkJTUVNQkFSX0VYSVQoKTsKKy0JCQlhdG9taWNfaW5pdCgmbXV0ZXhwLT5zaGFyZWNvdW50LCAwKTsKKysJCQlfX2RiX2F0b21pY19pbml0KCZtdXRleHAtPnNoYXJlY291bnQsIDApOworIAkJfSBlbHNlIHsKKyAJCQlEQl9BU1NFUlQoZW52LCBzaGFyZWNvdW50ID4gMCk7CisgCQkJTUVNQkFSX0VYSVQoKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGIvZGJfNS4zLjI4LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kYi9kYl81LjMuMjguYmIKaW5kZXggYjdlZDJjNy4uODk3NTY0NyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kYi9kYl81LjMuMjguYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kYi9kYl81LjMuMjguYmIKQEAgLTI1LDExICsyNSwxMiBAQAogICAgICAgICAgICAgZmlsZTovLzAwMDEtYXRvbWljLVJlbmFtZS1sb2NhbC1fX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlLXRvLWF2by5wYXRjaCBcCiAgICAgICAgICAgICBmaWxlOi8vMDAwMS1jb25maWd1cmUtQWRkLWV4cGxpY2l0LXRhZy1vcHRpb25zLXRvLWxpYnRvb2wtaW52b2NhLnBhdGNoIFwKICAgICAgICAgICAgIGZpbGU6Ly9zZXF1ZW5jZS10eXBlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1saWJjLWNvbXBhdGliaWxpdHktYnktcmVuYW1pbmctYXRvbWljX2luaXQtQVBJLnBhdGNoIFwKICAgICAgICAgICAgIgogIyBXZSBhcmUgbm90IGludGVyZXN0ZWQgaW4gb2ZmaWNpYWwgbGF0ZXN0IDYueCB2ZXJzaW9uczsKICMgbGV0J3MgdHJhY2sgd2hhdCBkZWJpYW4gaXMgdXNpbmcuCiBVUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvZGI1LjMvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiZGI1XC4zXyg/UDxwdmVyPi4rKVwub3JpZyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImRiNVwuM18oP1A8cHZlcj5cZCsoXC5cZCspKykuK1wub3JpZyIKIAogU1JDX1VSSVttZDVzdW1dID0gImI5OTQ1NDU2NGQ1YjQ0Nzk3NTA1NjcwMzFkNjZmZTI0IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwYTk5MmQ3NDA3MDk4OTJlODFmOWQ5M2YwNmRhZjMwNWNmNzNmYjgxYjU0NWFmZTcyNDc4MDQzMTcyYzM2MjgiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2RlYmlhbnV0aWxzL2RlYmlhbnV0aWxzXzQuOC42LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NjNzhhNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuMS5iYgpAQCAtMCwwICsxLDU3IEBACitTVU1NQVJZID0gIk1pc2NlbGxhbmVvdXMgdXRpbGl0aWVzIHNwZWNpZmljIHRvIERlYmlhbiIKK1NFQ1RJT04gPSAiYmFzZSIKK0xJQ0VOU0UgPSAiR1BMdjIgJiBTTUFJTF9HUEwiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kZWJpYW4vY29weXJpZ2h0O21kNT1mMDFhNTIwM2Q1MDUxMmZjNDgzMGI0MzMyYjY5NmE5ZiIKKworU1JDX1VSSSA9ICJodHRwOi8vc25hcHNob3QuZGViaWFuLm9yZy9hcmNoaXZlL2RlYmlhbi8yMDE5MDIxN1QxNjA3MTZaL3Bvb2wvbWFpbi9kLyR7QlBOfS8ke0JQTn1fJHtQVn0udGFyLnh6IgorIyB0aGUgcGFja2FnZSBpcyB0YWtlbiBmcm9tIHNuYXBzaG90cy5kZWJpYW4ub3JnOyB0aGF0IHNvdXJjZSBpcyBzdGF0aWMgYW5kIGdvZXMgc3RhbGUKKyMgc28gd2UgY2hlY2sgdGhlIGxhdGVzdCB1cHN0cmVhbSBmcm9tIGEgZGlyZWN0b3J5IHRoYXQgZG9lcyBnZXQgdXBkYXRlZAorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9kLyR7QlBOfS8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4MGUyZTY3MGQ4ZjZjMDAzNjc3MGU5NzEyMzdmMWY1YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwOTlmMWU4YTcyNzhiMjYxNDVhMmJhMmRkYTg0YzQxMTg0MDNiZmFiMzhjOGQ3MDcwYTYyMzVhN2ZmY2I1NWVkIgorCitTID0gIiR7V09SS0RJUn0vJHtCUE59IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgIHNlZCAtaSAtZSAnczp0ZW1wZmlsZS4xIHdoaWNoLjE6d2hpY2guMTpnJyAke1N9L01ha2VmaWxlLmFtCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmIFsgIiR7YmFzZV9iaW5kaXJ9IiAhPSAiJHtiaW5kaXJ9IiBdOyB0aGVuCisgICAgICAgICMgRGViaWFuIHBsYWNlcyBzb21lIHV0aWxzIGludG8gJHtiYXNlX2JpbmRpcn0gYXMgZG9lcyBidXN5Ym94CisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmFzZV9iaW5kaXJ9CisgICAgICAgIGZvciBhcHAgaW4gcnVuLXBhcnRzIHRlbXBmaWxlOyBkbworICAgICAgICAgICAgbXYgJHtEfSR7YmluZGlyfS8kYXBwICR7RH0ke2Jhc2VfYmluZGlyfS8kYXBwCisgICAgICAgIGRvbmUKKyAgICBmaQorfQorCisjIE5vdGUgdGhhdCB3ZSBwYWNrYWdlIHRoZSB1cGRhdGUtYWx0ZXJuYXRpdmVzIG5hbWUuCisjCitQQUNLQUdFUyA9KyAiJHtQTn0tcnVuLXBhcnRzIgorRklMRVNfJHtQTn0tcnVuLXBhcnRzID0gIiR7YmFzZV9iaW5kaXJ9L3J1bi1wYXJ0cy5kZWJpYW51dGlscyIKKworUkRFUEVORFNfJHtQTn0gKz0gIiR7UE59LXJ1bi1wYXJ0cyIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSA9ICIiCisKK0FMVEVSTkFUSVZFX1BSSU9SSVRZPSIzMCIKK0FMVEVSTkFUSVZFXyR7UE59ID0gImFkZC1zaGVsbCBpbnN0YWxsa2VybmVsIHJlbW92ZS1zaGVsbCBzYXZlbG9nIHRlbXBmaWxlIHdoaWNoIgorCitBTFRFUk5BVElWRV9QUklPUklUWV8ke1BOfS1ydW4tcGFydHMgPSAiNjAiCitBTFRFUk5BVElWRV8ke1BOfS1ydW4tcGFydHMgPSAicnVuLXBhcnRzIgorCitBTFRFUk5BVElWRV8ke1BOfS1kb2MgPSAid2hpY2guMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt3aGljaC4xXSA9ICIke21hbmRpcn0vbWFuMS93aGljaC4xIgorCitBTFRFUk5BVElWRV9MSU5LX05BTUVbYWRkLXNoZWxsXT0iJHtzYmluZGlyfS9hZGQtc2hlbGwiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbaW5zdGFsbGtlcm5lbF09IiR7c2JpbmRpcn0vaW5zdGFsbGtlcm5lbCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtyZW1vdmUtc2hlbGxdPSIke3NiaW5kaXJ9L3JlbW92ZS1zaGVsbCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtydW4tcGFydHNdPSIke2Jhc2VfYmluZGlyfS9ydW4tcGFydHMiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc2F2ZWxvZ109IiR7YmluZGlyfS9zYXZlbG9nIgorQUxURVJOQVRJVkVfTElOS19OQU1FW3RlbXBmaWxlXT0iJHtiYXNlX2JpbmRpcn0vdGVtcGZpbGUiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbd2hpY2hdPSIke2JpbmRpcn0vd2hpY2giCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZGViaWFudXRpbHMvZGViaWFudXRpbHNfNC44LjYuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMzN2U4NDIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9kZWJpYW51dGlscy9kZWJpYW51dGlsc180LjguNi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLVNVTU1BUlkgPSAiTWlzY2VsbGFuZW91cyB1dGlsaXRpZXMgc3BlY2lmaWMgdG8gRGViaWFuIgotU0VDVElPTiA9ICJiYXNlIgotTElDRU5TRSA9ICJHUEx2MiAmIFNNQUlMX0dQTCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWYwMWE1MjAzZDUwNTEyZmM0ODMwYjQzMzJiNjk2YTlmIgotCi1TUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTgwNjI2VDIwNTIzOFovcG9vbC9tYWluL2QvJHtCUE59LyR7QlBOfV8ke1BWfS50YXIueHoiCi0jIHRoZSBwYWNrYWdlIGlzIHRha2VuIGZyb20gc25hcHNob3RzLmRlYmlhbi5vcmc7IHRoYXQgc291cmNlIGlzIHN0YXRpYyBhbmQgZ29lcyBzdGFsZQotIyBzbyB3ZSBjaGVjayB0aGUgbGF0ZXN0IHVwc3RyZWFtIGZyb20gYSBkaXJlY3RvcnkgdGhhdCBkb2VzIGdldCB1cGRhdGVkCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiJHtERUJJQU5fTUlSUk9SfS9tYWluL2QvJHtCUE59LyIKLQotU1JDX1VSSVttZDVzdW1dID0gImYwZjFmYTM5MzgzODE1ZmI3OTUwZGNlZTUyYmU0MzYxIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRiMDkwNDcxNDRkYWRmNmEzNWQwZjI4OTc3ZmJlZjgzYjBkZDYwY2EzMmU2Yzg1MTJjY2UyNDQ0YTY0MjNmNzMiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0gICAgc2VkIC1pIC1lICdzOnRlbXBmaWxlLjEgd2hpY2guMTp3aGljaC4xOmcnICR7U30vTWFrZWZpbGUuYW0KLX0KLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgaWYgWyAiJHtiYXNlX2JpbmRpcn0iICE9ICIke2JpbmRpcn0iIF07IHRoZW4KLSAgICAgICAgIyBEZWJpYW4gcGxhY2VzIHNvbWUgdXRpbHMgaW50byAke2Jhc2VfYmluZGlyfSBhcyBkb2VzIGJ1c3lib3gKLSAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiYXNlX2JpbmRpcn0KLSAgICAgICAgZm9yIGFwcCBpbiBydW4tcGFydHMgdGVtcGZpbGU7IGRvCi0gICAgICAgICAgICBtdiAke0R9JHtiaW5kaXJ9LyRhcHAgJHtEfSR7YmFzZV9iaW5kaXJ9LyRhcHAKLSAgICAgICAgZG9uZQotICAgIGZpCi19Ci0KLSMgTm90ZSB0aGF0IHdlIHBhY2thZ2UgdGhlIHVwZGF0ZS1hbHRlcm5hdGl2ZXMgbmFtZS4KLSMKLVBBQ0tBR0VTID0rICIke1BOfS1ydW4tcGFydHMiCi1GSUxFU18ke1BOfS1ydW4tcGFydHMgPSAiJHtiYXNlX2JpbmRpcn0vcnVuLXBhcnRzLmRlYmlhbnV0aWxzIgotCi1SREVQRU5EU18ke1BOfSArPSAiJHtQTn0tcnVuLXBhcnRzIgotUkRFUEVORFNfJHtQTn1fY2xhc3MtbmF0aXZlID0gIiIKLQotQUxURVJOQVRJVkVfUFJJT1JJVFk9IjMwIgotQUxURVJOQVRJVkVfJHtQTn0gPSAiYWRkLXNoZWxsIGluc3RhbGxrZXJuZWwgcmVtb3ZlLXNoZWxsIHNhdmVsb2cgdGVtcGZpbGUgd2hpY2giCi0KLUFMVEVSTkFUSVZFX1BSSU9SSVRZXyR7UE59LXJ1bi1wYXJ0cyA9ICI2MCIKLUFMVEVSTkFUSVZFXyR7UE59LXJ1bi1wYXJ0cyA9ICJydW4tcGFydHMiCi0KLUFMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJ3aGljaC4xIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3doaWNoLjFdID0gIiR7bWFuZGlyfS9tYW4xL3doaWNoLjEiCi0KLUFMVEVSTkFUSVZFX0xJTktfTkFNRVthZGQtc2hlbGxdPSIke3NiaW5kaXJ9L2FkZC1zaGVsbCIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtpbnN0YWxsa2VybmVsXT0iJHtzYmluZGlyfS9pbnN0YWxsa2VybmVsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3JlbW92ZS1zaGVsbF09IiR7c2JpbmRpcn0vcmVtb3ZlLXNoZWxsIgotQUxURVJOQVRJVkVfTElOS19OQU1FW3J1bi1wYXJ0c109IiR7YmFzZV9iaW5kaXJ9L3J1bi1wYXJ0cyIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVtzYXZlbG9nXT0iJHtiaW5kaXJ9L3NhdmVsb2ciCi1BTFRFUk5BVElWRV9MSU5LX05BTUVbdGVtcGZpbGVdPSIke2Jhc2VfYmluZGlyfS90ZW1wZmlsZSIKLUFMVEVSTkFUSVZFX0xJTktfTkFNRVt3aGljaF09IiR7YmluZGlyfS93aGljaCIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZlY2M1MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ2RibS9nZGJtXzEuMTguMS5iYgpAQCAtMCwwICsxLDQzIEBACitTVU1NQVJZID0gIktleS92YWx1ZSBkYXRhYmFzZSBsaWJyYXJ5IHdpdGggZXh0ZW5zaWJsZSBoYXNoaW5nIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYm0vIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJHUEx2MyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0MWRhMWI5ZmU0MmU2NDJjYmIyYzI0ZDVlMGM0ZDI0IgorCisKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9nZGJtL2dkYm0tJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTg4ZGM4MjE4MjEyMWM3NTcwZTBjYjhiNGZjZDU0MTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODZlNjEzNTI3ZTVkYmE1NDRlNzMyMDhmNDJiNzhiN2MwMjJkNGZhNWE2ZDU0OThiZjE4YzhkNmY3NDViOTFkYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIGxpYl9wYWNrYWdlIHB0ZXN0CisKKyMgTmVlZGVkIGZvciBkYm0gcHl0aG9uIG1vZHVsZQorRVhUUkFfT0VDT05GID0gIi1lbmFibGUtbGliZ2RibS1jb21wYXQiCisKKyMgU3RvcCBwcmVzZW5jZSBvZiBkYm0vbmJkbSBvbiB0aGUgaG9zdCBjb250YW1pbmF0aW5nIGJ1aWxkcworQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2xpYl9uZGJtX21haW49bm8gYWNfY3ZfbGliX2RibV9tYWluPW5vIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIENyZWF0ZSBhIHN5bWxpbmsgdG8gbmRibS5oIGFuZCBnZGJtLmggaW4gaW5jbHVkZS9nZGJtIHRvIGxldCBvdGhlciBwYWNrYWdlcyB0byBmaW5kCisgICAgIyB0aGVzZSBoZWFkZXJzCisgICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9nZGJtCisgICAgbG4gLXNmIC4uL25kYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9uZGJtLmgKKyAgICBsbiAtc2YgLi4vZ2RibS5oICR7RH0vJHtpbmNsdWRlZGlyfS9nZGJtL2dkYm0uaAorfQorCitSREVQRU5EU18ke1BOfS1wdGVzdCArPSAiZGlmZnV0aWxzICR7UE59LWJpbiIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIGJ1aWxkdGVzdHMKK30KKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbXBhdCBcCisgICAgICAgICAgICAiCitGSUxFU18ke1BOfS1jb21wYXQgPSAiJHtsaWJkaXJ9L2xpYmdkYm1fY29tcGF0JHtTT0xJQlN9IFwKKyAgICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ2RibS9nZGJtXzEuMTguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dkYm0vZ2RibV8xLjE4LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYWQ0MzAwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ2RibS9nZGJtXzEuMTguYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi1TVU1NQVJZID0gIktleS92YWx1ZSBkYXRhYmFzZSBsaWJyYXJ5IHdpdGggZXh0ZW5zaWJsZSBoYXNoaW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dkYm0vIgotU0VDVElPTiA9ICJsaWJzIgotTElDRU5TRSA9ICJHUEx2MyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI0MWRhMWI5ZmU0MmU2NDJjYmIyYzI0ZDVlMGM0ZDI0IgotCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS9nZGJtL2dkYm0tJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0gICAgICAgICAgIGZpbGU6Ly9wdGVzdC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZTMxNmY4ZTRhM2U3ZTRmMjM5NTViZTY1ZDU0ZmVjNDgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjg4MjJjYjQ3NjllMmQ3NTljODI4YzA2ZjE5NjYxNDkzNmM4OGMxNDFjMzEzMmIxODI1MmZlMjVjMmI2MzVjZSIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIGxpYl9wYWNrYWdlIHB0ZXN0Ci0KLSMgTmVlZGVkIGZvciBkYm0gcHl0aG9uIG1vZHVsZQotRVhUUkFfT0VDT05GID0gIi1lbmFibGUtbGliZ2RibS1jb21wYXQiCi0KLSMgU3RvcCBwcmVzZW5jZSBvZiBkYm0vbmJkbSBvbiB0aGUgaG9zdCBjb250YW1pbmF0aW5nIGJ1aWxkcwotQ0FDSEVEX0NPTkZJR1VSRVZBUlMgKz0gImFjX2N2X2xpYl9uZGJtX21haW49bm8gYWNfY3ZfbGliX2RibV9tYWluPW5vIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWRvX2luc3RhbGxfYXBwZW5kICgpIHsKLSAgICAjIENyZWF0ZSBhIHN5bWxpbmsgdG8gbmRibS5oIGFuZCBnZGJtLmggaW4gaW5jbHVkZS9nZGJtIHRvIGxldCBvdGhlciBwYWNrYWdlcyB0byBmaW5kCi0gICAgIyB0aGVzZSBoZWFkZXJzCi0gICAgaW5zdGFsbCAtZCAke0R9JHtpbmNsdWRlZGlyfS9nZGJtCi0gICAgbG4gLXNmIC4uL25kYm0uaCAke0R9LyR7aW5jbHVkZWRpcn0vZ2RibS9uZGJtLmgKLSAgICBsbiAtc2YgLi4vZ2RibS5oICR7RH0vJHtpbmNsdWRlZGlyfS9nZGJtL2dkYm0uaAotfQotCi1SREVQRU5EU18ke1BOfS1wdGVzdCArPSAiZGlmZnV0aWxzICR7UE59LWJpbiIKLQotZG9fY29tcGlsZV9wdGVzdCgpIHsKLSAgICBvZV9ydW5tYWtlIC1DIHRlc3RzIGJ1aWxkdGVzdHMKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LWNvbXBhdCBcCi0gICAgICAgICAgICAiCi1GSUxFU18ke1BOfS1jb21wYXQgPSAiJHtsaWJkaXJ9L2xpYmdkYm1fY29tcGF0JHtTT0xJQlN9IFwKLSAgICAgICAgICAgICAgICAgICAgICIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZy8wMDAxLWdzeXN0ZW0tc3VicHJvY2Vzcy5jLUVuYWJsZS1HTlUtZXh0ZW5zaW9ucy1pbi1zeXN0ZW0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDA2NjZmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZy8wMDAxLWdzeXN0ZW0tc3VicHJvY2Vzcy5jLUVuYWJsZS1HTlUtZXh0ZW5zaW9ucy1pbi1zeXN0ZW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGIxZGUyYzYyOTBiYzA2NTFmZTg3YThjNGZiNTJlN2EwYTVmZTYzMjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCA1IE9jdCAyMDE0IDE2OjAxOjQ5IC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0hdIGdzeXN0ZW0tc3VicHJvY2Vzcy5jOiBFbmFibGUgR05VIGV4dGVuc2lvbnMgaW4gc3lzdGVtICBDCi0gbGlicmFyeQotCi1UaGlzIHNob3VsZCBleHBvcnQgT19DTE9FWEVDIHdoZXJlIGl0IGlzIG9ubHkKLWF2YWlsYWJsZSB3aGVuIF9HTlVfU09VUkNFIGlzIGRlZmluZWQgLmUuZy4gdWNsaWJjIGJhc2VkIHN5c3RlbXMKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLS0tLQotIHNyYy9saWJnc3lzdGVtL2dzeXN0ZW0tc3VicHJvY2Vzcy5jIHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYmdzeXN0ZW0vZ3N5c3RlbS1zdWJwcm9jZXNzLmMgYi9zcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYwotaW5kZXggYTk2Nzg5Ni4uYTUyYTM2MiAxMDA2NDQKLS0tLSBhL3NyYy9saWJnc3lzdGVtL2dzeXN0ZW0tc3VicHJvY2Vzcy5jCi0rKysgYi9zcmMvbGliZ3N5c3RlbS9nc3lzdGVtLXN1YnByb2Nlc3MuYwotQEAgLTE4LDYgKzE4LDEwIEBACi0gCi0gI2luY2x1ZGUgImNvbmZpZy5oIgotIAotKyNpZm5kZWYgX0dOVV9TT1VSQ0UKLSsjZGVmaW5lIF9HTlVfU09VUkNFCi0rI2VuZGlmCi0rCi0gI2RlZmluZSBfR1NZU1RFTV9OT19MT0NBTF9BTExPQwotICNpbmNsdWRlICJsaWJnc3lzdGVtLmgiCi0gCi0tLSAKLTIuMS4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZy91cGRhdGUtb3V0cHV0LXN5bnRheC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZy91cGRhdGUtb3V0cHV0LXN5bnRheC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTljNTI0Yi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvdXBkYXRlLW91dHB1dC1zeW50YXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0KLVRoZSB0ZXJtcyBgRkFJTGAgaW5zdGVhZCBvZiBgRkFJTEVEYCBhbmQgYFNLSVBgIGluc3RlYWQgb2YgYFNLSVBQRURgCi1tYXRjaCB3aGF0IEF1dG9tYWtlIGRvZXMKLQotVXBzdHJlYW0tU3RhdHVzOiBBY2NlcHRlZAotWyBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2NvbW1pdC8wNDg4NTA3MzFhNjQwNTMyZWY1NWE2MWRmNzM1N2ZjYzZkMmFkNTAxIF0KLQotU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+Ci0tLS0KLWRpZmYgLU5hdXIgZ25vbWUtZGVza3RvcC10ZXN0aW5nLTIwMTQuMS1vcmlnL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmMgZ25vbWUtZGVza3RvcC10ZXN0aW5nLTIwMTQuMS9zcmMvZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5jCi0tLS0gZ25vbWUtZGVza3RvcC10ZXN0aW5nLTIwMTQuMS1vcmlnL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmMJMjAxNC0wMS0xNiAxMjo1ODoyNi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnbm9tZS1kZXNrdG9wLXRlc3RpbmctMjAxNC4xL3NyYy9nbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyLmMJMjAxNS0xMS0wMiAxMToyNzozNC4wMTA1OTQxMjYgKzAyMDAKLUBAIC0yODAsMTIgKzI4MCwxMiBAQAotICAgZWxzZSBpZiAodGVzdC0+c3RhdGUgPT0gVEVTVF9TVEFURV9DT01QTEVURV9GQUlMRUQpCi0gICAgIHsKLSAgICAgICBtc2dpZF92YWx1ZSA9IE9ORV9URVNUX0ZBSUxFRF9NU0dJRDsKLS0gICAgICBtc2cgPSBnX3N0cmNvbmNhdCAoIkZBSUxFRDogIiwgdGVzdC0+bmFtZSwgIiAoIiwgcmVhc29uLCAiKSIsIE5VTEwpOwotKyAgICAgIG1zZyA9IGdfc3RyY29uY2F0ICgiRkFJTDogIiwgdGVzdC0+bmFtZSwgIiAoIiwgcmVhc29uLCAiKSIsIE5VTEwpOwotICAgICB9Ci0gICBlbHNlIGlmICh0ZXN0LT5zdGF0ZSA9PSBURVNUX1NUQVRFX0NPTVBMRVRFX1NLSVBQRUQpCi0gICAgIHsKLSAgICAgICBtc2dpZF92YWx1ZSA9IE9ORV9URVNUX1NLSVBQRURfTVNHSUQ7Ci0tICAgICAgbXNnID0gZ19zdHJjb25jYXQgKCJTS0lQUEVEOiAiLCB0ZXN0LT5uYW1lLCBOVUxMKTsKLSsgICAgICBtc2cgPSBnX3N0cmNvbmNhdCAoIlNLSVA6ICIsIHRlc3QtPm5hbWUsIE5VTEwpOwotICAgICB9Ci0gICBlbHNlCi0gICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE0LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjYjNkM2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbm9tZS1kZXNrdG9wLXRlc3RpbmcvZ25vbWUtZGVza3RvcC10ZXN0aW5nXzIwMTQuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVNVTU1BUlkgPSAiVGVzdCBydW5uZXIgZm9yIEdOT01FLXN0eWxlIGluc3RhbGxlZCB0ZXN0cyIKLUhPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvR25vbWVHb2Fscy9JbnN0YWxsZWRUZXN0cyIKLUxJQ0VOU0UgPSAiTEdQTHYyKyIKLQotU1JDX1VSSSA9ICIke0dOT01FX01JUlJPUn0vJHtCUE59LyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1nc3lzdGVtLXN1YnByb2Nlc3MuYy1FbmFibGUtR05VLWV4dGVuc2lvbnMtaW4tc3lzdGVtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3VwZGF0ZS1vdXRwdXQtc3ludGF4LnBhdGNoIFwKLSAgICAgICAgICAiCi1TUkNfVVJJW21kNXN1bV0gPSAiYTYwOGFkNzJhNzdlMjNhMWFlY2RmZDhkMDdhOTRiYWYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWEzZWVkNzM2NzhkZDIyZDA5ZDZhN2VjNGY4OTk1NTdkZjNlOGI0YTgwMmFmZmE3NmQwZjE2M2IzMTI4NjUzOSIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dub21lLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIuYztlbmRsaW5lPTE5O21kNT02NzMxMWE2MDBiODNmZDAwNjhkZmM3ZTViODRmZmIzZiIKLQotREVQRU5EUyA9ICJnbGliLTIuMCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCi0KLVBSID0gInIxIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1tqb3VybmFsZF0gPSAiLS13aXRoLXN5c3RlbWQtam91cm5hbCwtLXdpdGhvdXQtc3lzdGVtZC1qb3VybmFsLHN5c3RlbWQsc3lzdGVtZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ25vbWUtZGVza3RvcC10ZXN0aW5nL2dub21lLWRlc2t0b3AtdGVzdGluZ18yMDE4LjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkZWZlYmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dub21lLWRlc2t0b3AtdGVzdGluZy9nbm9tZS1kZXNrdG9wLXRlc3RpbmdfMjAxOC4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiVGVzdCBydW5uZXIgZm9yIEdOT01FLXN0eWxlIGluc3RhbGxlZCB0ZXN0cyIKK0hPTUVQQUdFID0gImh0dHBzOi8vd2lraS5nbm9tZS5vcmcvR25vbWVHb2Fscy9JbnN0YWxsZWRUZXN0cyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2JmNTAwMDJhZWZkMDAyZjQ5ZTdiYjg1NDA2M2Y3ZTcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2dub21lLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIuYztiZWdpbmxpbmU9MTtlbmRsaW5lPTIwO21kNT03ZWYzYWQ5ZGEyZmZjZjc3MDdkYzExMTUxZmUwMDdmNCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLWRlc2t0b3AtdGVzdGluZy5naXQ7cHJvdG9jb2w9aHR0cCIKK1NSQ1JFViA9ICI0ZGVjYWRlNjdiMjlhZDE3MGZjZjNkZTE0OGU0MTY5NWZjNDU5ZjQ4IgorCitERVBFTkRTID0gImdsaWItMi4wIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCBkKX0iCitQQUNLQUdFQ09ORklHW3N5c3RlbWRdID0gIiwsc3lzdGVtZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvMDAwMS1Xb3ZlcnJpZGUtaW5pdC1pcy1ub3QtbmVlZGVkLXdpdGgtZ2NjLTkucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtV292ZXJyaWRlLWluaXQtaXMtbm90LW5lZWRlZC13aXRoLWdjYy05LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMjgwZjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtV292ZXJyaWRlLWluaXQtaXMtbm90LW5lZWRlZC13aXRoLWdjYy05LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMGRmNTgwMGNjMmU3MjBhYWQ4ODNhNTE3ZjdkMjRhOTcyMmZlNTg0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDIwIERlYyAyMDE4IDE3OjM3OjQ4IC0wODAwCitTdWJqZWN0OiBbUEFUQ0hdIFdvdmVycmlkZS1pbml0IGlzIG5vdCBuZWVkZWQgd2l0aCBnY2MgOQorCitGaXhlcworfCAuLi8uLi9nbnVwZy0yLjIuMTIvZGlybW5nci9kbnMuaDo1MjU6MTY6IGVycm9yOiBsdmFsdWUgcmVxdWlyZWQgYXMKK3VuYXJ5ICcmJyBvcGVyYW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKzUyNSB8ICBkbnNfcnJfaV9pbml0KCZkbnNfcXVpZXRpbml0KChzdHJ1Y3QgZG5zX3JyX2kpeyAwLCBfX1ZBX0FSR1NfXworfSksIChQKSkKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBkaXJtbmdyL2Rucy5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZGlybW5nci9kbnMuaCBiL2Rpcm1uZ3IvZG5zLmgKK2luZGV4IDMwZDBiNDUuLjk4ZmU0MTIgMTAwNjQ0CistLS0gYS9kaXJtbmdyL2Rucy5oCisrKysgYi9kaXJtbmdyL2Rucy5oCitAQCAtMTU0LDcgKzE1NCw3IEBAIEROU19QVUJMSUMgaW50ICpkbnNfZGVidWdfcCh2b2lkKTsKKyAKKyAjZGVmaW5lIGRuc19xdWlldGluaXQoLi4uKSBcCisgCUROU19QUkFHTUFfUFVTSCBETlNfUFJBR01BX1FVSUVUIF9fVkFfQVJHU19fIEROU19QUkFHTUFfUE9QCistI2VsaWYgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gNikgfHwgX19HTlVDX18gPiA0CisrI2VsaWYgKF9fR05VQ19fID09IDQgJiYgX19HTlVDX01JTk9SX18gPj0gNikgfHwgKF9fR05VQ19fID4gNCAmJiBfX0dOVUNfXyA8IDkpCisgI2RlZmluZSBETlNfUFJBR01BX1BVU0ggX1ByYWdtYSgiR0NDIGRpYWdub3N0aWMgcHVzaCIpCisgI2RlZmluZSBETlNfUFJBR01BX1FVSUVUIF9QcmFnbWEoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV292ZXJyaWRlLWluaXRcIiIpCisgI2RlZmluZSBETlNfUFJBR01BX1BPUCBfUHJhZ21hKCJHQ0MgZGlhZ25vc3RpYyBwb3AiKQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy8wMDAxLWNvbmZpZ3VyZS5hYy11c2UtYS1jdXN0b20tdmFsdWUtZm9yLXRoZS1sb2NhdGlvbi1vZi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaAppbmRleCAzZjFjM2FiLi4yYzIwNGUwIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gOGViNGQyNWMyNWExYzEzMjM3OTdkOTRlMDcyN2EzZTQyYjdmMzI4NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gZTdhZDExY2Y1NDQ3NWU0NTVmZGI4NGQxMThlNDc4Mjk2MTY5ODU2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogTW9uLCAyMiBKYW4gMjAxOCAxODowMDoyMSArMDIwMAogU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IHVzZSBhIGN1c3RvbSB2YWx1ZSBmb3IgdGhlIGxvY2F0aW9uIG9mCkBAIC0xNCwxMCArMTQsMTAgQEAKICAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggNGQ2NmFmOS4uYjllZjIzNSAxMDA2NDQKK2luZGV4IDkxOWFiMzEuLmNkNThmZGIgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTE4NDgsNyArMTg0OCw3IEBAIEFDX0RFRklORV9VTlFVT1RFRChHUEdDT05GX0RJU1BfTkFNRSwgIkdQR0NvbmYiLAorQEAgLTE4NTUsNyArMTg1NSw3IEBAIEFDX0RFRklORV9VTlFVT1RFRChHUEdDT05GX0RJU1BfTkFNRSwgIkdQR0NvbmYiLAogIAogIEFDX0RFRklORV9VTlFVT1RFRChHUEdUQVJfTkFNRSwgImdwZ3RhciIsIFtUaGUgbmFtZSBvZiB0aGUgZ3BndGFyIHRvb2xdKQogIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy9yZWxvY2F0ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGcvcmVsb2NhdGUucGF0Y2gKaW5kZXggYzQ5NGVmOC4uZTVhODJhYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZy9yZWxvY2F0ZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnL3JlbG9jYXRlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBmOWZjMjE0YjBiZjJmNjdiNTE1Y2E4YTUzMzNmMzljNDk3ZDFiNTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA1OWMwNzdmMzJlODExOTA5NTU5MTBjYWUwMjU5OWM3YTNlZGZhN2ZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KIERhdGU6IFdlZCwgMTkgU2VwIDIwMTggMTQ6NDQ6NDAgKzAxMDAKIFN1YmplY3Q6IFtQQVRDSF0gQWxsb3cgdGhlIGVudmlyb25tZW50IHRvIG92ZXJyaWRlIHdoZXJlIGdudXBnIGxvb2tzIGZvciBpdHMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmMzgxYzIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnVwZy9nbnVwZ18yLjIuMTIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1TVU1NQVJZID0gIkdOVSBQcml2YWN5IEd1YXJkIC0gZW5jcnlwdGlvbiBhbmQgc2lnbmluZyB0b29scyAoMi54KSIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnLyIKLUxJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xODlhZjhhZmNhNmQ2MDc1YmE2YzllMGFhODA3NzYyNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEwzO21kNT1hMmI2YmYyY2IzOGVlNTI2MTllNjBmMzBhMWZjNzI1NyIKLQotREVQRU5EUyA9ICJucHRoIGxpYmFzc3VhbiBsaWJrc2JhIHpsaWIgYnppcDIgcmVhZGxpbmUgbGliZ2NyeXB0IgotCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gcGtnY29uZmlnCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgotU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctdG8tZmluZC1wdGgtaW5zdGVhZC1vZi1wdGgtY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItdXNlLXBrZ2NvbmZpZy1pbnN0ZWFkLW9mLW5wdGgtY29uZmlnLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDMtZGlybW5nci11c2VzLWxpYmdwZy1lcnJvci5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LWF1dG9nZW4uc2gtZml4LWZpbmQtdmVyc2lvbi1mb3ItYmV0YS1jaGVja2luZy5wYXRjaCBcCi0gICAgICAgICAgIgotU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBmaWxlOi8vMDAwMS1jb25maWd1cmUuYWMtdXNlLWEtY3VzdG9tLXZhbHVlLWZvci10aGUtbG9jYXRpb24tb2YtLnBhdGNoIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3JlbG9jYXRlLnBhdGNoIgotCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI0MjFiMTcwMjg4NzhiMjUzYzVhY2ZlZjA1NmJjNjE0MSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjAzMGY4YjRjOTg2NDBlOTEzMDBkMzZkNTE2ZjFmNGY4ZmUwOTUxNGE5NGVhOWZjNzQxMWVlMWEzNDA4MmNiIgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWxkYXAgXAotCQktLWRpc2FibGUtY2NpZC1kcml2ZXIgXAotCQktLXdpdGgtemxpYj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCi0JCS0td2l0aC1iemlwMj0ke1NUQUdJTkdfTElCRElSfS8uLiBcCi0JCS0td2l0aC1yZWFkbGluZT0ke1NUQUdJTkdfTElCRElSfS8uLiBcCi0JCS0tZW5hYmxlLWdwZy1pcy1ncGcyIFwKLSAgICAgICAgICAgICAgICIKLVJSRUNPTU1FTkRTXyR7UE59ID0gInBpbmVudHJ5IgotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0JIyBFbHNlIHRoZXNlIGNvdWxkIGJlIHVzZWQgaW4gcHJlZmVybmNlIHRvIHRob3NlIGluIGFjbG9jYWwtY29weQotCXJtIC1mICR7U30vbTQvZ3BnLWVycm9yLm00Ci0Jcm0gLWYgJHtTfS9tNC9saWJhc3N1YW4ubTQKLQlybSAtZiAke1N9L200L2tzYmEubTQKLQlybSAtZiAke1N9L200L2xpYmdjcnlwdC5tNAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlsbiAtc2YgZ3BnMiAke0R9JHtiaW5kaXJ9L2dwZwotCWxuIC1zZiBncGd2MiAke0R9JHtiaW5kaXJ9L2dwZ3YKLX0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewotCWNyZWF0ZV93cmFwcGVyICR7RH0ke2JpbmRpcn0vZ3BnMiBHTlVQR19CSU5ESVI9JHtTVEFHSU5HX0JJTkRJUl9OQVRJVkV9Ci19Ci0KLVBBQ0tBR0VDT05GSUcgPz89ICJnbnV0bHMiCi1QQUNLQUdFQ09ORklHW2dudXRsc10gPSAiLS1lbmFibGUtZ251dGxzLCAtLWRpc2FibGUtZ251dGxzLCBnbnV0bHMiCi1QQUNLQUdFQ09ORklHW3NxbGl0ZTNdID0gIi0tZW5hYmxlLXNxbGl0ZSwgLS1kaXNhYmxlLXNxbGl0ZSwgc3FsaXRlMyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251cGcvZ251cGdfMi4yLjEzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZTJhMzgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dudXBnL2dudXBnXzIuMi4xMy5iYgpAQCAtMCwwICsxLDU2IEBACitTVU1NQVJZID0gIkdOVSBQcml2YWN5IEd1YXJkIC0gZW5jcnlwdGlvbiBhbmQgc2lnbmluZyB0b29scyAoMi54KSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnLyIKK0xJQ0VOU0UgPSAiR1BMdjMgJiBMR1BMdjMiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xODlhZjhhZmNhNmQ2MDc1YmE2YzllMGFhODA3NzYyNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxHUEwzO21kNT1hMmI2YmYyY2IzOGVlNTI2MTllNjBmMzBhMWZjNzI1NyIKKworREVQRU5EUyA9ICJucHRoIGxpYmFzc3VhbiBsaWJrc2JhIHpsaWIgYnppcDIgcmVhZGxpbmUgbGliZ2NyeXB0IgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gcGtnY29uZmlnCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgorU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vJHtCUE59LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLXBrZy1jb25maWctdG8tZmluZC1wdGgtaW5zdGVhZC1vZi1wdGgtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItdXNlLXBrZ2NvbmZpZy1pbnN0ZWFkLW9mLW5wdGgtY29uZmlnLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDMtZGlybW5nci11c2VzLWxpYmdwZy1lcnJvci5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LWF1dG9nZW4uc2gtZml4LWZpbmQtdmVyc2lvbi1mb3ItYmV0YS1jaGVja2luZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLVdvdmVycmlkZS1pbml0LWlzLW5vdC1uZWVkZWQtd2l0aC1nY2MtOS5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2NsYXNzLW5hdGl2ZSA9ICIgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLXVzZS1hLWN1c3RvbS12YWx1ZS1mb3ItdGhlLWxvY2F0aW9uLW9mLS5wYXRjaCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9yZWxvY2F0ZS5wYXRjaCIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiNTYzYjk1OWQwYzM4NTZlMzQ1MjZlOWNhNTFjODBkN2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzZjNzg3YTk1NWY5ZTZlMGVhZDQ3YzliZTcwMGJmYjlkNDU0Zjk1NWE3YjdjN2U2OTdhYTcxOWJhYzdiMTFkOCIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1sZGFwIFwKKwkJLS1kaXNhYmxlLWNjaWQtZHJpdmVyIFwKKwkJLS13aXRoLXpsaWI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorCQktLXdpdGgtYnppcDI9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorCQktLXdpdGgtcmVhZGxpbmU9JHtTVEFHSU5HX0xJQkRJUn0vLi4gXAorCQktLWVuYWJsZS1ncGctaXMtZ3BnMiBcCisgICAgICAgICAgICAgICAiCitSUkVDT01NRU5EU18ke1BOfSA9ICJwaW5lbnRyeSIKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcm5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKKwlybSAtZiAke1N9L200L2dwZy1lcnJvci5tNAorCXJtIC1mICR7U30vbTQvbGliYXNzdWFuLm00CisJcm0gLWYgJHtTfS9tNC9rc2JhLm00CisJcm0gLWYgJHtTfS9tNC9saWJnY3J5cHQubTQKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJbG4gLXNmIGdwZzIgJHtEfSR7YmluZGlyfS9ncGcKKwlsbiAtc2YgZ3BndjIgJHtEfSR7YmluZGlyfS9ncGd2Cit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLW5hdGl2ZSgpIHsKKwljcmVhdGVfd3JhcHBlciAke0R9JHtiaW5kaXJ9L2dwZzIgR05VUEdfQklORElSPSR7U1RBR0lOR19CSU5ESVJfTkFUSVZFfQorfQorCitQQUNLQUdFQ09ORklHID8/PSAiZ251dGxzIgorUEFDS0FHRUNPTkZJR1tnbnV0bHNdID0gIi0tZW5hYmxlLWdudXRscywgLS1kaXNhYmxlLWdudXRscywgZ251dGxzIgorUEFDS0FHRUNPTkZJR1tzcWxpdGUzXSA9ICItLWVuYWJsZS1zcWxpdGUsIC0tZGlzYWJsZS1zcWxpdGUsIHNxbGl0ZTMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnV0bHMvZ251dGxzXzMuNi40LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnV0bHMvZ251dGxzXzMuNi40LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDJhMTFkLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLVNVTU1BUlkgPSAiR05VIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBMaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudXRscy8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vc2F2YW5uYWguZ251Lm9yZy9zdXBwb3J0Lz9ncm91cD1nbnV0bHMiCi0KLUxJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTHYyLjErIgotTElDRU5TRV8ke1BOfSA9ICJMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59LXh4ID0gIkxHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0tYmluID0gIkdQTHYzKyIKLUxJQ0VOU0VfJHtQTn0tb3BlbnNzbCA9ICJHUEx2MysiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTcxMzkxYzhlMGMxY2ZlNjgwNzdlN2ZjZTNiNTg2MjgzIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORy5MRVNTRVI7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIgotCi1ERVBFTkRTID0gIm5ldHRsZSBnbXAgdmlydHVhbC9saWJpY29udiBsaWJ1bmlzdHJpbmciCi1ERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSIKLQotU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi0KLVNSQ19VUkkgPSAiaHR0cHM6Ly93d3cuZ251cGcub3JnL2Z0cC9nY3J5cHQvZ251dGxzL3Yke1NIUlRfVkVSfS9nbnV0bHMtJHtQVn0udGFyLnh6IFwKLSAgICAgICAgICAgZmlsZTovL2FybV9lYWJpLnBhdGNoIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjYzMzYzZDFjMDA2MDFmNGQxMWE1Y2FkYzhiNWUwNzk5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2NjNhNzkyZmJjODQzNDljMjdjMzYwNTkxODFmMmNhODZjOTQ0MmU3NWVlOGIwYWQ3MmY1ZjliMzVkZWFiM2EiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gYmluY29uZmlnIHBrZ2NvbmZpZyBnZXR0ZXh0IGxpYl9wYWNrYWdlIGd0ay1kb2MKLQotUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmlkbiIKLQotIyBZb3UgbXVzdCBhbHNvIGhhdmUgQ09ORklHX1NFQ0NPTVAgZW5hYmxlZCBpbiB0aGUga2VybmVsIGZvcgotIyBzZWNjb21wIHRvIHdvcmsuCi1QQUNLQUdFQ09ORklHW3NlY2NvbXBdID0gImFjX2N2X2xpYnNlY2NvbXA9eWVzLGFjX2N2X2xpYnNlY2NvbXA9bm8sbGlic2VjY29tcCIKLVBBQ0tBR0VDT05GSUdbbGliaWRuXSA9ICItLXdpdGgtaWRuLC0td2l0aG91dC1pZG4sbGliaWRuMiIKLVBBQ0tBR0VDT05GSUdbbGlidGFzbjFdID0gIi0td2l0aC1pbmNsdWRlZC1saWJ0YXNuMT1ubywtLXdpdGgtaW5jbHVkZWQtbGlidGFzbjEsbGlidGFzbjEiCi1QQUNLQUdFQ09ORklHW3AxMS1raXRdID0gIi0td2l0aC1wMTEta2l0LC0td2l0aG91dC1wMTEta2l0LHAxMS1raXQiCi1QQUNLQUdFQ09ORklHW3RwbV0gPSAiLS13aXRoLXRwbSwtLXdpdGhvdXQtdHBtLHRyb3VzZXJzIgotCi1FWFRSQV9PRUNPTkYgPSAiIFwKLSAgICAtLWVuYWJsZS1kb2MgXAotICAgIC0tZGlzYWJsZS1saWJkYW5lIFwKLSAgICAtLWRpc2FibGUtZ3VpbGUgXAotICAgIC0tZGlzYWJsZS1ycGF0aCBcCi0gICAgLS1lbmFibGUtbG9jYWwtbGlib3B0cyBcCi0gICAgLS1lbmFibGUtb3BlbnNzbC1jb21wYXRpYmlsaXR5IFwKLSAgICAtLXdpdGgtbGlicHRocmVhZC1wcmVmaXg9JHtTVEFHSU5HX0RJUl9IT1NUfSR7cHJlZml4fSBcCi0gICAgLS13aXRob3V0LWxpYnVuaXN0cmluZy1wcmVmaXggXAotIgotCi1MREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sYXJncCIKLQotZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7Ci0JZm9yIGRpciBpbiAuIGxpYjsgZG8KLQkJcm0gLWYgJHtkaXJ9L2FjbG9jYWwubTQgJHtkaXJ9L200L2xpYnRvb2wubTQgJHtkaXJ9L200L2x0Ki5tNAotCWRvbmUKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LW9wZW5zc2wgJHtQTn0teHgiCi0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dudXRscy1jbGktZGVidWciCi1GSUxFU18ke1BOfS1vcGVuc3NsID0gIiR7bGliZGlyfS9saWJnbnV0bHMtb3BlbnNzbC5zby4qIgotRklMRVNfJHtQTn0teHggPSAiJHtsaWJkaXJ9L2xpYmdudXRsc3h4LnNvLioiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ251dGxzL2dudXRsc18zLjYuNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmMzNTA3Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9nbnV0bHMvZ251dGxzXzMuNi41LmJiCkBAIC0wLDAgKzEsNjQgQEAKK1NVTU1BUlkgPSAiR05VIFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSBMaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2dudXRscy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vc2F2YW5uYWguZ251Lm9yZy9zdXBwb3J0Lz9ncm91cD1nbnV0bHMiCisKK0xJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfSA9ICJMR1BMdjIuMSsiCitMSUNFTlNFXyR7UE59LXh4ID0gIkxHUEx2Mi4xKyIKK0xJQ0VOU0VfJHtQTn0tYmluID0gIkdQTHYzKyIKK0xJQ0VOU0VfJHtQTn0tb3BlbnNzbCA9ICJHUEx2MysiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTcxMzkxYzhlMGMxY2ZlNjgwNzdlN2ZjZTNiNTg2MjgzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvYy9DT1BZSU5HO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2MvQ09QWUlORy5MRVNTRVI7bWQ1PWE2Zjg5ZTIxMDBkOWI2Y2RmZmNlYTRmMzk4ZTM3MzQzIgorCitERVBFTkRTID0gIm5ldHRsZSBnbXAgdmlydHVhbC9saWJpY29udiBsaWJ1bmlzdHJpbmciCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGFyZ3Atc3RhbmRhbG9uZSIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly93d3cuZ251cGcub3JnL2Z0cC9nY3J5cHQvZ251dGxzL3Yke1NIUlRfVkVSfS9nbnV0bHMtJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovL2FybV9lYWJpLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjM0NzQ4NDllMWJiZDRkMTY0MDNiODJhYjI1NzkwMDBiIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3M2VjZWQzYWNlZjQ5YTM4ODNlNjlmZmQ1ZjBmMGI1ZjQ2ZTI3NjBhZDg2ZWRkYzZjMDg2NmRmNGU3YWJiMzUiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gcGtnY29uZmlnIGdldHRleHQgbGliX3BhY2thZ2UgZ3RrLWRvYworCitQQUNLQUdFQ09ORklHID8/PSAibGliaWRuIgorCisjIFlvdSBtdXN0IGFsc28gaGF2ZSBDT05GSUdfU0VDQ09NUCBlbmFibGVkIGluIHRoZSBrZXJuZWwgZm9yCisjIHNlY2NvbXAgdG8gd29yay4KK1BBQ0tBR0VDT05GSUdbc2VjY29tcF0gPSAiYWNfY3ZfbGlic2VjY29tcD15ZXMsYWNfY3ZfbGlic2VjY29tcD1ubyxsaWJzZWNjb21wIgorUEFDS0FHRUNPTkZJR1tsaWJpZG5dID0gIi0td2l0aC1pZG4sLS13aXRob3V0LWlkbixsaWJpZG4yIgorUEFDS0FHRUNPTkZJR1tsaWJ0YXNuMV0gPSAiLS13aXRoLWluY2x1ZGVkLWxpYnRhc24xPW5vLC0td2l0aC1pbmNsdWRlZC1saWJ0YXNuMSxsaWJ0YXNuMSIKK1BBQ0tBR0VDT05GSUdbcDExLWtpdF0gPSAiLS13aXRoLXAxMS1raXQsLS13aXRob3V0LXAxMS1raXQscDExLWtpdCIKK1BBQ0tBR0VDT05GSUdbdHBtXSA9ICItLXdpdGgtdHBtLC0td2l0aG91dC10cG0sdHJvdXNlcnMiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZW5hYmxlLWRvYyBcCisgICAgLS1kaXNhYmxlLWxpYmRhbmUgXAorICAgIC0tZGlzYWJsZS1ndWlsZSBcCisgICAgLS1kaXNhYmxlLXJwYXRoIFwKKyAgICAtLWVuYWJsZS1sb2NhbC1saWJvcHRzIFwKKyAgICAtLWVuYWJsZS1vcGVuc3NsLWNvbXBhdGliaWxpdHkgXAorICAgIC0td2l0aC1saWJwdGhyZWFkLXByZWZpeD0ke1NUQUdJTkdfRElSX0hPU1R9JHtwcmVmaXh9IFwKKyAgICAtLXdpdGhvdXQtbGlidW5pc3RyaW5nLXByZWZpeCBcCisiCisKK0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWxhcmdwIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKwlmb3IgZGlyIGluIC4gbGliOyBkbworCQlybSAtZiAke2Rpcn0vYWNsb2NhbC5tNCAke2Rpcn0vbTQvbGlidG9vbC5tNCAke2Rpcn0vbTQvbHQqLm00CisJZG9uZQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tb3BlbnNzbCAke1BOfS14eCIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ251dGxzLWNsaS1kZWJ1ZyIKK0ZJTEVTXyR7UE59LW9wZW5zc2wgPSAiJHtsaWJkaXJ9L2xpYmdudXRscy1vcGVuc3NsLnNvLioiCitGSUxFU18ke1BOfS14eCA9ICIke2xpYmRpcn0vbGliZ251dGxzeHguc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAxLXBrZ2NvbmZpZy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMS1wa2djb25maWcucGF0Y2gKaW5kZXggYWU5YTQ2ZS4uMTc2NzIzYyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAxLXBrZ2NvbmZpZy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDEtcGtnY29uZmlnLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSBjNDUyYmE1OGRkMmY5OWQ2ZTYyNDQyMTY5NzQxN2NjMDE4ZjlhNjdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA2NDkyYzk1MmQ2MWJiOTNhOGJmODIwMGMwOTNkN2U0OTE0NTZhYTVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUmljaGFyZCBQdXJkaWUgPHJpY2hhcmQucHVyZGllQGxpbnV4Zm91bmRhdGlvbi5vcmc+CiBEYXRlOiBGcmksIDI5IEp1biAyMDE4IDE0OjM1OjQxICswODAwCiBTdWJqZWN0OiBbUEFUQ0ggMS83XSBwa2djb25maWcKQEAgLTI1LDEwICsyNSwxMCBAQAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvZ3BnbWUucGMuaW4KIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggMmEzNTQwNC4uNzQ4NWNkZiAxMDA2NDQKK2luZGV4IGFmNTY5YWMuLjg2NWJkMTAgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTg4Niw2ICs4ODYsNyBAQCBBQ19DT05GSUdfRklMRVMoTWFrZWZpbGUgc3JjL01ha2VmaWxlCitAQCAtODk1LDYgKzg5NSw3IEBAIEFDX0NPTkZJR19GSUxFUyhNYWtlZmlsZSBzcmMvTWFrZWZpbGUKICAgICAgICAgICAgICAgICAgc3JjL3ZlcnNpb25pbmZvLnJjCiAgICAgICAgICAgICAgICAgIHNyYy9ncGdtZS5oKQogIEFDX0NPTkZJR19GSUxFUyhzcmMvZ3BnbWUtY29uZmlnLCBjaG1vZCAreCBzcmMvZ3BnbWUtY29uZmlnKQpAQCAtMzcsNyArMzcsNyBAQAogIEFDX0NPTkZJR19GSUxFUyhsYW5nL2NwcC9zcmMvR3BnbWVwcENvbmZpZy13MzIuY21ha2UuaW4pCiAgQUNfQ09ORklHX0ZJTEVTKGxhbmcvY3BwL3NyYy9HcGdtZXBwQ29uZmlnLmNtYWtlLmluKQogZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQotaW5kZXggMGExOTZlMC4uY2VjYWY4ZiAxMDA2NDQKK2luZGV4IDEzOTRjMDIuLjg0NTFjM2EgMTAwNjQ0CiAtLS0gYS9zcmMvTWFrZWZpbGUuYW0KICsrKyBiL3NyYy9NYWtlZmlsZS5hbQogQEAgLTE5LDEyICsxOSwxNCBAQApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDItZ3BnbWUtbGFuZy1weXRob24tZ3BnLWVycm9yLWNvbmZpZy1zaG91bGQtbm90LWJlLXVzZS5wYXRjaAppbmRleCA0ZjVjZWRhLi4wZDBkMGM2IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDItZ3BnbWUtbGFuZy1weXRob24tZ3BnLWVycm9yLWNvbmZpZy1zaG91bGQtbm90LWJlLXVzZS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDItZ3BnbWUtbGFuZy1weXRob24tZ3BnLWVycm9yLWNvbmZpZy1zaG91bGQtbm90LWJlLXVzZS5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNDVkODI4MzU2ZWZjMTQwYTE0OTJiZWZiMWU2ZGM1OWE5ZjRlMTZiNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMDM4MTlhZDEyNzBhMjc5MjIzMjE5YzBlNzBiYTYzMWJmZTUxNzcxNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgMzEgSmFuIDIwMTggMTA6NDQ6MTkgKzA4MDAKK0RhdGU6IFdlZCwgMTcgT2N0IDIwMTggMjM6MzI6MTkgKzA4MDAKIFN1YmplY3Q6IFtQQVRDSCAyLzddIGdwZ21lL2xhbmcvcHl0aG9uOiBncGctZXJyb3ItY29uZmlnIHNob3VsZCBub3QgYmUgdXNlZAogCiBncGctZXJyb3ItY29uZmlnIHdhcyBtb2RpZmllZCBieSBPRSB0byBhbHdheXMgcmV0dXJuIGFuIGVycm9yLgpAQCAtMTEsMzggKzExLDQwIEBACiAKIFNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgPG1hcmsuaGF0bGVAd2luZHJpdmVyLmNvbT4KIAotUmV3b3JrIHRvIDEuMTAuMAorUmViYXNlIHRvIDEuMTIuMAogCiBTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CiAtLS0KLSBsYW5nL3B5dGhvbi9zZXR1cC5weS5pbiB8IDEwICstLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDkgZGVsZXRpb25zKC0pCisgbGFuZy9weXRob24vc2V0dXAucHkuaW4gfCAxMSArLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTAgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbiBiL2xhbmcvcHl0aG9uL3NldHVwLnB5LmluCi1pbmRleCAyNTk1MDczLi42MGI1MjU3IDEwMDc1NQoraW5kZXggNjVhNGJlMC4uMTFiODQxMyAxMDA3NTUKIC0tLSBhL2xhbmcvcHl0aG9uL3NldHVwLnB5LmluCiArKysgYi9sYW5nL3B5dGhvbi9zZXR1cC5weS5pbgotQEAgLTI2LDcgKzI2LDYgQEAgaW1wb3J0IHNodXRpbAotIGltcG9ydCBzdWJwcm9jZXNzCitAQCAtMzAsNyArMzAsNiBAQCBpbXBvcnQgc3VicHJvY2VzcworIGltcG9ydCBzeXMKICAKICAjIE91dC1vZi10cmVlIGJ1aWxkIG9mIHRoZSBncGcgYmluZGluZ3MuCiAtZ3BnX2Vycm9yX2NvbmZpZyA9IFsiZ3BnLWVycm9yLWNvbmZpZyJdCiAgZ3BnbWVfY29uZmlnX2ZsYWdzID0gWyItLXRocmVhZD1wdGhyZWFkIl0KICBncGdtZV9jb25maWcgPSBbImdwZ21lLWNvbmZpZyJdICsgZ3BnbWVfY29uZmlnX2ZsYWdzCiAgZ3BnbWVfaCA9ICIiCi1AQCAtMTU3LDE0ICsxNTYsNyBAQCBjbGFzcyBCdWlsZEV4dEZpcnN0SGFjayhidWlsZCk6CitAQCAtMTgxLDE2ICsxODAsOCBAQCBjbGFzcyBCdWlsZEV4dEZpcnN0SGFjayhidWlsZCk6CisgICAgICAgICBzaHV0aWwuY29weTIoc291cmNlX25hbWUsIHNpbmtfbmFtZSkKICAKICAgICAgZGVmIF9nZW5lcmF0ZV9lcnJvcnNfaShzZWxmKToKLSAKKy0KIC0gICAgICAgIHRyeToKLS0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoZ3BnX2Vycm9yX2NvbmZpZyArIFsnLS12ZXJzaW9uJ10sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1kZXZudWxsKQorLSAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCgKKy0gICAgICAgICAgICAgICAgZ3BnX2Vycm9yX2NvbmZpZyArIFsnLS12ZXJzaW9uJ10sIHN0ZG91dD1kZXZudWxsKQogLSAgICAgICAgZXhjZXB0OgogLSAgICAgICAgICAgIHN5cy5leGl0KCJDb3VsZCBub3QgZmluZCBncGctZXJyb3ItY29uZmlnLiAgIiArCiAtICAgICAgICAgICAgICAgICAgICAgIlBsZWFzZSBpbnN0YWxsIHRoZSBsaWJncGctZXJyb3IgZGV2ZWxvcG1lbnQgcGFja2FnZS4iKQogLQotLSAgICAgICAgZ3BnX2Vycm9yX2NvbnRlbnQgPSBzZWxmLl9yZWFkX2hlYWRlcigiZ3BnLWVycm9yLmgiLCBnZXRjb25maWcoImNmbGFncyIsIGNvbmZpZz1ncGdfZXJyb3JfY29uZmlnKSkKLSsgICAgICAgIGdwZ19lcnJvcl9jb250ZW50ID0gc2VsZi5fcmVhZF9oZWFkZXIoImdwZy1lcnJvci5oIiwgb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycpLnNwbGl0KCkpCisgICAgICAgICBncGdfZXJyb3JfY29udGVudCA9IHNlbGYuX3JlYWRfaGVhZGVyKAorLSAgICAgICAgICAgICJncGctZXJyb3IuaCIsIGdldGNvbmZpZygiY2ZsYWdzIiwgY29uZmlnPWdwZ19lcnJvcl9jb25maWcpKQorKyAgICAgICAgICAgICJncGctZXJyb3IuaCIsIG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnKS5zcGxpdCgpKQogIAogICAgICAgICAgZmlsdGVyX3JlID0gcmUuY29tcGlsZShyJ0dQR19FUlJfW14gXSogPScpCiAgICAgICAgICByZXdyaXRlX3JlID0gcmUuY29tcGlsZShyJyAqKC4qKSA9IC4qJykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaAppbmRleCAzMzBiZWM2Li5kZTE2ODllIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDMtQ29ycmVjdGx5LWluc3RhbGwtcHl0aG9uLW1vZHVsZXMucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDAzLUNvcnJlY3RseS1pbnN0YWxsLXB5dGhvbi1tb2R1bGVzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA2MGJhZjllYmYzMGJlZDBlMmVlM2M3YzVhNzRkNWI2ZDUwMDM1ODYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBmNjMyMTQ4ZmNjODc1N2JiOWE5NjAxYTZkYWIyNzVlODhjZDMwOWQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogVHVlLCAzMCBKYW4gMjAxOCAxNToyODo0OSArMDgwMAogU3ViamVjdDogW1BBVENIIDMvN10gQ29ycmVjdGx5IGluc3RhbGwgcHl0aG9uIG1vZHVsZXMKQEAgLTE3LDEwICsxNywxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQogCiBkaWZmIC0tZ2l0IGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0gYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotaW5kZXggOGQ3NGNiZC4uY2U0ZjBhNSAxMDA2NDQKK2luZGV4IDY5ODhmYWYuLjM2YzZmN2IgMTAwNjQ0CiAtLS0gYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQogKysrIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLUBAIC05MSw2ICs5MSw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKK0BAIC05Myw2ICs5Myw3IEBAIGluc3RhbGwtZXhlYy1sb2NhbDoKICAJICAtLWJ1aWxkLWJhc2U9IiQkKGJhc2VuYW1lICIkJHtQWVRIT059IiktZ3BnIiBcCiAgCSAgaW5zdGFsbCBcCiAgCSAgLS1wcmVmaXggIiQoREVTVERJUikkKHByZWZpeCkiIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNC1weXRob24taW1wb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA0LXB5dGhvbi1pbXBvcnQucGF0Y2gKaW5kZXggMWE2MGY3OS4uZmEwZWNjZiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA0LXB5dGhvbi1pbXBvcnQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA0LXB5dGhvbi1pbXBvcnQucGF0Y2gKQEAgLTEsNCArMSw0IEBACi1Gcm9tIGZkN2RjY2VlZWU0MzllYjQ3OWVkYmI0MThiYWI2MzUzNDM0MTRlZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGY1MWJmMTExNGJlZTZkNTZhOTUwZGNjNmViYjQ2ZDYxMzhiM2ZhZWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgogRGF0ZTogV2VkLCAxNiBBdWcgMjAxNyAwMjowNjo0NSAtMDQwMAogU3ViamVjdDogW1BBVENIIDQvN10gcHl0aG9uIGltcG9ydApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA1LWdwZ21lLWNvbmZpZy1za2lwLWFsbC1saWItb3ItdXNyLWxpYi1kaXJlY3Rvcmllcy1pbi0ucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaAppbmRleCAyZGE3OTA0Li41MGJmMjE0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDUtZ3BnbWUtY29uZmlnLXNraXAtYWxsLWxpYi1vci11c3ItbGliLWRpcmVjdG9yaWVzLWluLS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gYTU4ZDkwNjMyYTk5MDdiZTNlODAwMTgwMGExNDNhYzE5MDc1MjQxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gOGQ5NjEzYzM0YWU0OTViYmNiZDcyNWEyZTdhYzQ4MTM4YmE1M2MzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgogRGF0ZTogVGh1LCAxMyBBcHIgMjAxNyAxNjo0MDoyNyArMDMwMAogU3ViamVjdDogW1BBVENIIDUvN10gZ3BnbWUtY29uZmlnOiBza2lwIGFsbCAvbGliKiBvciAvdXNyL2xpYiogZGlyZWN0b3JpZXMgaW4KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNi1maXgtYnVpbGQtcGF0aC1pc3N1ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNi1maXgtYnVpbGQtcGF0aC1pc3N1ZS5wYXRjaAppbmRleCAyNmZmNDcyLi4xNDcxMTg0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZS8wMDA2LWZpeC1idWlsZC1wYXRoLWlzc3VlLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0ZjgzNzUwY2U0MDJiNjVkMTZjYzA5ZjhhMDI3NGE3ZWM3NmZjNjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSBlZjkyMDY4OGJmZTFjNzMyOGM5ZTk3MjI5ZDYyY2NkMzUzMDRhZDg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogRGF0ZTogV2VkLCAzMSBKYW4gMjAxOCAxMTowMTowOSArMDgwMAogU3ViamVjdDogW1BBVENIIDYvN10gZml4IGJ1aWxkIHBhdGggaXNzdWUKQEAgLTE3LDEwICsxNywxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi1pbmRleCBjZTRmMGE1Li41YTQ2OGYxIDEwMDY0NAoraW5kZXggMzZjNmY3Yi4uY2U5YTEwOCAxMDA2NDQKIC0tLSBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCiArKysgYi9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQotQEAgLTkwLDggKzkwLDkgQEAgaW5zdGFsbC1leGVjLWxvY2FsOgorQEAgLTkyLDggKzkyLDkgQEAgaW5zdGFsbC1leGVjLWxvY2FsOgogIAkgIGJ1aWxkIFwKICAJICAtLWJ1aWxkLWJhc2U9IiQkKGJhc2VuYW1lICIkJHtQWVRIT059IiktZ3BnIiBcCiAgCSAgaW5zdGFsbCBcCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWY5ZGRiZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNy1weXRob24tQWRkLXZhcmlhYmxlcy10by10ZXN0cy5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIDMxN2NkZjYwMTY1ZDc2MDU3MmEyNmRiMzE3ZTNkNmVkYjE1OWIwNGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBXZWQsIDE3IE9jdCAyMDE4IDIzOjQxOjA5ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggNy83XSBweXRob246IEFkZCB2YXJpYWJsZXMgdG8gdGVzdHMKKworKiBjb25maWd1cmUuYWMsIGxhbmcvcHl0aG9uL01ha2VmaWxlLmFtOgorICBOZXcgdmFyaWFibGUgdG8gYGxhbmcvcHl0aG9uJywgc2V0IHRvIGBsYW5nL3B5dGhvbicgaWYgUlVOX0xBTkdfUFlUSE9OX1RFU1RTCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtnbnVwZy1kZXZlbEBnbnVwZy5vcmddCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgIHwgNSArKysrKworIGxhbmcvcHl0aG9uL01ha2VmaWxlLmFtIHwgMyArKysKKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA4NjViZDEwLi4wMzU1NTVhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01MzUsNiArNTM1LDExIEBAIEFDX0FSR19FTkFCTEUoZzEzLXRlc3QsCisgICAgICAgICAgcnVuX2cxM190ZXN0PSRlbmFibGV2YWwpCisgQU1fQ09ORElUSU9OQUwoUlVOX0cxM19URVNUUywgdGVzdCAiJHJ1bl9nMTNfdGVzdCIgPSAieWVzIikKKyAKKytydW5fbGFuZ19weXRob25fdGVzdD0ieWVzIgorK0FDX0FSR19FTkFCTEUobGFuZy1weXRob24tdGVzdCwKKysgIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGFuZy1weXRob24tdGVzdF0sIFtkaXNhYmxlIFB5dGhvbiByZWdyZXNzaW9uIHRlc3RdKSwKKysgICAgICAgICBydW5fbGFuZ19weXRob25fdGVzdD0kZW5hYmxldmFsKQorK0FNX0NPTkRJVElPTkFMKFJVTl9MQU5HX1BZVEhPTl9URVNUUywgdGVzdCAiJHJ1bl9sYW5nX3B5dGhvbl90ZXN0IiA9ICJ5ZXMiKQorIAorICMgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCisgQUNfQ0hFQ0tfSEVBREVSU19PTkNFKFtsb2NhbGUuaCBzeXMvc2VsZWN0Lmggc3lzL3Vpby5oIGFyZ3AuaCBzdGRpbnQuaAorZGlmZiAtLWdpdCBhL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KK2luZGV4IGNlOWExMDguLjBjOGNmZGMgMTAwNjQ0CistLS0gYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbQorKysrIGIvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KK0BAIC0yNSw3ICsyNSwxMCBAQCBFWFRSQV9ESVNUID0gXAorIAlkb2MgXAorIAlzcmMKKyAKKytpZiBSVU5fTEFOR19QWVRIT05fVEVTVFMKKyBTVUJESVJTID0gLiB0ZXN0cworK2VuZGlmCisrCisgCisgLlBIT05ZOiBwcmVwYXJlCisgcHJlcGFyZTogY29weXN0YW1wCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNy1xdC1weXRob24tQWRkLXZhcmlhYmxlcy10by10ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWUvMDAwNy1xdC1weXRob24tQWRkLXZhcmlhYmxlcy10by10ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjNlZWFjZi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lLzAwMDctcXQtcHl0aG9uLUFkZC12YXJpYWJsZXMtdG8tdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi1Gcm9tIGQzMDg3MzQ4MzQ4YjRhN2ZjZmIwNWJmMmE3NWI0YTYzNDUzZTFjNzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci1EYXRlOiBUaHUsIDEgRmViIDIwMTggMTA6MTQ6MzAgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSCA3LzddIHF0L3B5dGhvbjogQWRkIHZhcmlhYmxlcyB0byB0ZXN0cwotCi0qIGNvbmZpZ3VyZS5hYywgbGFuZy9weXRob24vTWFrZWZpbGUuYW06Ci0gIE5ldyB2YXJpYWJsZSB0byBgbGFuZy9weXRob24nLCBzZXQgdG8gYGxhbmcvcHl0aG9uJyBpZiBSVU5fTEFOR19QWVRIT05fVEVTVFMKLQotKiBjb25maWd1cmUuYWMsIGxhbmcvcXQvTWFrZWZpbGUuYW06Ci0gIE5ldyB2YXJpYWJsZSB0byBgbGFuZy9xdCcsIHNldCB0byBgbGFuZy9xdCcgaWYgUlVOX0xBTkdfUVRfVEVTVFMKLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2dudXBnLWRldmVsQGdudXBnLm9yZ10KLQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjICAgICAgICAgICAgfCAxMSArKysrKysrKysrKwotIGxhbmcvcHl0aG9uL01ha2VmaWxlLmFtIHwgIDMgKysrCi0gbGFuZy9xdC9NYWtlZmlsZS5hbSAgICAgfCAgOCArKysrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA3NDg1Y2RmLi40YWEyMTZkIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC01MzUsNiArNTM1LDE3IEBAIEFDX0FSR19FTkFCTEUoZzEzLXRlc3QsCi0gICAgICAgICAgcnVuX2cxM190ZXN0PSRlbmFibGV2YWwpCi0gQU1fQ09ORElUSU9OQUwoUlVOX0cxM19URVNUUywgdGVzdCAiJHJ1bl9nMTNfdGVzdCIgPSAieWVzIikKLSAKLStydW5fbGFuZ19weXRob25fdGVzdD0ieWVzIgotK0FDX0FSR19FTkFCTEUobGFuZy1weXRob24tdGVzdCwKLSsgIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGFuZy1weXRob24tdGVzdF0sIFtkaXNhYmxlIFB5dGhvbiByZWdyZXNzaW9uIHRlc3RdKSwKLSsgICAgICAgICBydW5fbGFuZ19weXRob25fdGVzdD0kZW5hYmxldmFsKQotK0FNX0NPTkRJVElPTkFMKFJVTl9MQU5HX1BZVEhPTl9URVNUUywgdGVzdCAiJHJ1bl9sYW5nX3B5dGhvbl90ZXN0IiA9ICJ5ZXMiKQotKwotK3J1bl9sYW5nX3F0X3Rlc3Q9InllcyIKLStBQ19BUkdfRU5BQkxFKGxhbmctcXQtdGVzdCwKLSsgIEFDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGFuZy1xdC10ZXN0XSwgW2Rpc2FibGUgUXQgcmVncmVzc2lvbiB0ZXN0XSksCi0rICAgICAgICAgcnVuX2xhbmdfcXRfdGVzdD0kZW5hYmxldmFsKQotK0FNX0NPTkRJVElPTkFMKFJVTl9MQU5HX1FUX1RFU1RTLCB0ZXN0ICIkcnVuX2xhbmdfcXRfdGVzdCIgPSAieWVzIikKLSAKLSAjIENoZWNrcyBmb3IgaGVhZGVyIGZpbGVzLgotIEFDX0NIRUNLX0hFQURFUlNfT05DRShbbG9jYWxlLmggc3lzL3NlbGVjdC5oIHN5cy91aW8uaCBhcmdwLmgKLWRpZmYgLS1naXQgYS9sYW5nL3B5dGhvbi9NYWtlZmlsZS5hbSBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi1pbmRleCA1YTQ2OGYxLi40M2I5Nzg4IDEwMDY0NAotLS0tIGEvbGFuZy9weXRob24vTWFrZWZpbGUuYW0KLSsrKyBiL2xhbmcvcHl0aG9uL01ha2VmaWxlLmFtCi1AQCAtMjQsNyArMjQsMTAgQEAgRVhUUkFfRElTVCA9IFwKLSAJZXhhbXBsZXMgXAotIAlzcmMKLSAKLStpZiBSVU5fTEFOR19QWVRIT05fVEVTVFMKLSBTVUJESVJTID0gLiB0ZXN0cwotK2VuZGlmCi0rCi0gCi0gLlBIT05ZOiBwcmVwYXJlCi0gcHJlcGFyZTogY29weXN0YW1wCi1kaWZmIC0tZ2l0IGEvbGFuZy9xdC9NYWtlZmlsZS5hbSBiL2xhbmcvcXQvTWFrZWZpbGUuYW0KLWluZGV4IGFiODU5NjAuLmEyNDRlZGUgMTAwNjQ0Ci0tLS0gYS9sYW5nL3F0L01ha2VmaWxlLmFtCi0rKysgYi9sYW5nL3F0L01ha2VmaWxlLmFtCi1AQCAtMTksNiArMTksMTIgQEAKLSAjIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQQotICMgMDIxMTEtMTMwNywgVVNBCi0gCi0tU1VCRElSUyA9IHNyYyB0ZXN0cyBkb2MKLStpZiBSVU5fTEFOR19RVF9URVNUUwotK3F0dGVzdHMgPSB0ZXN0cwotK2Vsc2UKLStxdHRlc3RzID0KLStlbmRpZgotKwotK1NVQkRJUlMgPSBzcmMgJHtxdHRlc3RzfSBkb2MKLSAKLSBFWFRSQV9ESVNUID0gUkVBRE1FCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjExLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg2ZmFlOTQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ncGdtZS9ncGdtZV8xLjExLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi1TVU1NQVJZID0gIkhpZ2gtbGV2ZWwgR251UEcgZW5jcnlwdGlvbi9zaWduaW5nIEFQSSIKLURFU0NSSVBUSU9OID0gIkdudVBHIE1hZGUgRWFzeSAoR1BHTUUpIGlzIGEgbGlicmFyeSBkZXNpZ25lZCB0byBtYWtlIGFjY2VzcyB0byBHbnVQRyBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucy4gSXQgcHJvdmlkZXMgYSBIaWdoLUxldmVsIENyeXB0byBBUEkgZm9yIGVuY3J5cHRpb24sIGRlY3J5cHRpb24sIHNpZ25pbmcsIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gYW5kIGtleSBtYW5hZ2VtZW50IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvZ3BnbWUuaHRtbCIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgotCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1iYmI0NjEyMTFhMzNiMTM0ZDQyZWQ1ZWU4MDJiMzdmZiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3BnbWUuaC5pbjtlbmRsaW5lPTIzO21kNT00ZDYzMTllNTg3ZmQ5NDRhZGZlNjFhNDFhOGYxNWIzNiBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZW5naW5lLmg7ZW5kbGluZT0yMjttZDU9NGI2ZDhiYTMxM2Q5YjU2NGNjNGQ0Y2ZiMTY0MGFmOWQiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgotU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vZ3BnbWUvJHtCUH0udGFyLmJ6MiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXBrZ2NvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LXB5dGhvbi1pbXBvcnQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNS1ncGdtZS1jb25maWctc2tpcC1hbGwtbGliLW9yLXVzci1saWItZGlyZWN0b3JpZXMtaW4tLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwNy1xdC1weXRob24tQWRkLXZhcmlhYmxlcy10by10ZXN0cy5wYXRjaCBcCi0gICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMTI5YzQ2ZmI4NWE3ZmZhNDFlNDMzNDVlNDhhZWU4ODQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmQxYjExMTc3NGQyZTNkZDI2ZGNkN2MyNTE4MTljZTRlZjc3NGVjNWU1NjYyNTFlYjkzMDhmYTc1NDJmYmQ2ZiIKLQotREVQRU5EUyA9ICJsaWJncGctZXJyb3IgbGliYXNzdWFuIgotUkRFUEVORFNfJHtQTn0tY3BwICs9ICJsaWJzdGRjKysiCi0KLVJERVBFTkRTX3B5dGhvbjItZ3BnICs9ICJweXRob24tdW5peGFkbWluIgotUkRFUEVORFNfcHl0aG9uMy1ncGcgKz0gInB5dGhvbjMtdW5peGFkbWluIgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2dwZ21lLWNvbmZpZyIKLQotIyBOb3RlIHNlbGVjdCBweXRob24yIG9yIHB5dGhvbjMsIGJ1dCB5b3UgY2FuJ3Qgc2VsZWN0IGJvdGggYXQgdGhlIHNhbWUgdGltZQotUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMiCi1QQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIiwscHl0aG9uIHN3aWctbmF0aXZlLCIKLVBBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLCxweXRob24zIHN3aWctbmF0aXZlLCIKLQotIyBEZWZhdWx0IGluIGNvbmZpZ3VyZS5hYzogImNsIGNwcCBweXRob24gcXQiCi0jIFN1cHBvcnRlZDogImNsIGNwcCBweXRob24gcHl0aG9uMiBweXRob24zIHF0IgotIyBweXRob24gc2F5cyAnc2VhcmNoIGFuZCBmaW5kIHB5dGhvbjIgb3IgcHl0aG9uMycKLQotIyBCdWlsZGluZyB0aGUgQysrIGJpbmRpbmdzIGZvciBuYXRpdmUgcmVxdWlyZXMgYSBDKysgY29tcGlsZXIgd2l0aCBDKysxMQotIyBzdXBwb3J0LiBTaW5jZSB0aGVzZSBiaW5kaW5ncyBhcmUgY3VycmVudGx5IG5vdCBuZWVkZWQsIHdlIGNhbiBkaXNhYmxlIHRoZW0uCi1ERUZBVUxUX0xBTkdVQUdFUyA9ICIiCi1ERUZBVUxUX0xBTkdVQUdFU19jbGFzcy10YXJnZXQgPSAiY3BwIgotTEFOR1VBR0VTID89ICIke0RFRkFVTFRfTEFOR1VBR0VTfSIKLUxBTkdVQUdFUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICcgcHl0aG9uMicsICcnLCBkKX0iCi1MQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnIHB5dGhvbjMnLCAnJywgZCl9IgotCi1QWVRIT05fSU5IRVJJVCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ3B5dGhvbm5hdGl2ZScsICcnLCBkKX0iCi1QWVRIT05fSU5IRVJJVCAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zbmF0aXZlJywgJycsIGQpfSIKLQotRVhUUkFfT0VDT05GICs9ICctLWVuYWJsZS1sYW5ndWFnZXM9IiR7TEFOR1VBR0VTfSIgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3BnY29uZi10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZy10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ3NtLXRlc3QgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZzEzLXRlc3QgXAotICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGFuZy1xdC10ZXN0IFwKLSAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWxhbmctcHl0aG9uLXRlc3QgXAotJwotCi1pbmhlcml0IGF1dG90b29scyB0ZXhpbmZvIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZGlzdHV0aWxzLWNvbW1vbi1iYXNlICR7UFlUSE9OX0lOSEVSSVR9Ci0KLWV4cG9ydCBQS0dfQ09ORklHPSdwa2ctY29uZmlnJwotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLVBBQ0tBR0VTID0rICIke1BOfS1jcHAiCi1QQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICdweXRob24yLWdwZyAnLCAnJywgZCl9IgotUEFDS0FHRVMgPS4gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAncHl0aG9uMy1ncGcgJywgJycsIGQpfSIKLQotRklMRVNfJHtQTn0tY3BwID0gIiR7bGliZGlyfS9saWJncGdtZXBwLnNvLioiCi1GSUxFU19weXRob24yLWdwZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgotRklMRVNfcHl0aG9uMy1ncGcgPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vKiIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9jb21tb24tbGlzcC9zb3VyY2UvZ3BnbWUvKiBcCi0gICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9jbWFrZS8qIFwKLSIKLQotQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1EX19lcnJvcl90X2RlZmluZWQgIgotZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgewotCSMgRWxzZSB0aGVzZSBjb3VsZCBiZSB1c2VkIGluIHByZWZlcmVuY2UgdG8gdGhvc2UgaW4gYWNsb2NhbC1jb3B5Ci0Jcm0gLWYgJHtTfS9tNC9ncGctZXJyb3IubTQKLQlybSAtZiAke1N9L200L2xpYmFzc3Vhbi5tNAotCXJtIC1mICR7U30vbTQvcHl0aG9uLm00Ci19CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTIuMC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvZ3BnbWUvZ3BnbWVfMS4xMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0NmM1ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2dwZ21lL2dwZ21lXzEuMTIuMC5iYgpAQCAtMCwwICsxLDg1IEBACitTVU1NQVJZID0gIkhpZ2gtbGV2ZWwgR251UEcgZW5jcnlwdGlvbi9zaWduaW5nIEFQSSIKK0RFU0NSSVBUSU9OID0gIkdudVBHIE1hZGUgRWFzeSAoR1BHTUUpIGlzIGEgbGlicmFyeSBkZXNpZ25lZCB0byBtYWtlIGFjY2VzcyB0byBHbnVQRyBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucy4gSXQgcHJvdmlkZXMgYSBIaWdoLUxldmVsIENyeXB0byBBUEkgZm9yIGVuY3J5cHRpb24sIGRlY3J5cHRpb24sIHNpZ25pbmcsIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24gYW5kIGtleSBtYW5hZ2VtZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvZ3BnbWUuaHRtbCIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgorCitMSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSO21kNT1iYmI0NjEyMTFhMzNiMTM0ZDQyZWQ1ZWU4MDJiMzdmZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3BnbWUuaC5pbjtlbmRsaW5lPTIzO21kNT00ZDYzMTllNTg3ZmQ5NDRhZGZlNjFhNDFhOGYxNWIzNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZW5naW5lLmg7ZW5kbGluZT0yMjttZDU9NGI2ZDhiYTMxM2Q5YjU2NGNjNGQ0Y2ZiMTY0MGFmOWQiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgorU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vZ3BnbWUvJHtCUH0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXBrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLWdwZ21lLWxhbmctcHl0aG9uLWdwZy1lcnJvci1jb25maWctc2hvdWxkLW5vdC1iZS11c2UucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1Db3JyZWN0bHktaW5zdGFsbC1weXRob24tbW9kdWxlcy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA0LXB5dGhvbi1pbXBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNS1ncGdtZS1jb25maWctc2tpcC1hbGwtbGliLW9yLXVzci1saWItZGlyZWN0b3JpZXMtaW4tLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDYtZml4LWJ1aWxkLXBhdGgtaXNzdWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNy1weXRob24tQWRkLXZhcmlhYmxlcy10by10ZXN0cy5wYXRjaCBcCisgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTAyZmNhM2E5NDkwN2VmZTRlOTI5YjJhZGU1NDVhN2MiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjRkYzk1MWMzNzQzYTYwZTJlMTIwYTc3ODkyZTllODY0ZmI5MzZiMmU1OGU3Yzc3ZTg1ODFmNGQwNTBlOGNkOCIKKworREVQRU5EUyA9ICJsaWJncGctZXJyb3IgbGliYXNzdWFuIgorUkRFUEVORFNfJHtQTn0tY3BwICs9ICJsaWJzdGRjKysiCisKK1JERVBFTkRTX3B5dGhvbjItZ3BnICs9ICJweXRob24tdW5peGFkbWluIgorUkRFUEVORFNfcHl0aG9uMy1ncGcgKz0gInB5dGhvbjMtdW5peGFkbWluIgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2dwZ21lLWNvbmZpZyIKKworIyBOb3RlIHNlbGVjdCBweXRob24yIG9yIHB5dGhvbjMsIGJ1dCB5b3UgY2FuJ3Qgc2VsZWN0IGJvdGggYXQgdGhlIHNhbWUgdGltZQorUEFDS0FHRUNPTkZJRyA/Pz0gInB5dGhvbjMiCitQQUNLQUdFQ09ORklHW3B5dGhvbjJdID0gIiwscHl0aG9uIHN3aWctbmF0aXZlLCIKK1BBQ0tBR0VDT05GSUdbcHl0aG9uM10gPSAiLCxweXRob24zIHN3aWctbmF0aXZlLCIKKworIyBEZWZhdWx0IGluIGNvbmZpZ3VyZS5hYzogImNsIGNwcCBweXRob24gcXQiCisjIFN1cHBvcnRlZDogImNsIGNwcCBweXRob24gcHl0aG9uMiBweXRob24zIHF0IgorIyBweXRob24gc2F5cyAnc2VhcmNoIGFuZCBmaW5kIHB5dGhvbjIgb3IgcHl0aG9uMycKKworIyBCdWlsZGluZyB0aGUgQysrIGJpbmRpbmdzIGZvciBuYXRpdmUgcmVxdWlyZXMgYSBDKysgY29tcGlsZXIgd2l0aCBDKysxMQorIyBzdXBwb3J0LiBTaW5jZSB0aGVzZSBiaW5kaW5ncyBhcmUgY3VycmVudGx5IG5vdCBuZWVkZWQsIHdlIGNhbiBkaXNhYmxlIHRoZW0uCitERUZBVUxUX0xBTkdVQUdFUyA9ICIiCitERUZBVUxUX0xBTkdVQUdFU19jbGFzcy10YXJnZXQgPSAiY3BwIgorTEFOR1VBR0VTID89ICIke0RFRkFVTFRfTEFOR1VBR0VTfSIKK0xBTkdVQUdFUyAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMicsICcgcHl0aG9uMicsICcnLCBkKX0iCitMQU5HVUFHRVMgLj0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3B5dGhvbjMnLCAnIHB5dGhvbjMnLCAnJywgZCl9IgorCitQWVRIT05fSU5IRVJJVCA9ICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ3B5dGhvbm5hdGl2ZScsICcnLCBkKX0iCitQWVRIT05fSU5IRVJJVCAuPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zbmF0aXZlJywgJycsIGQpfSIKKworRVhUUkFfT0VDT05GICs9ICctLWVuYWJsZS1sYW5ndWFnZXM9IiR7TEFOR1VBR0VTfSIgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ3BnY29uZi10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZy10ZXN0IFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWdwZ3NtLXRlc3QgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZzEzLXRlc3QgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtbGFuZy1weXRob24tdGVzdCBcCisnCisKK2luaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZyBkaXN0dXRpbHMtY29tbW9uLWJhc2UgJHtQWVRIT05fSU5IRVJJVH0KKworZXhwb3J0IFBLR19DT05GSUc9J3BrZy1jb25maWcnCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNwcCIKK1BBQ0tBR0VTID0uICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdweXRob24yJywgJ3B5dGhvbjItZ3BnICcsICcnLCBkKX0iCitQQUNLQUdFUyA9LiAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncHl0aG9uMycsICdweXRob24zLWdwZyAnLCAnJywgZCl9IgorCitGSUxFU18ke1BOfS1jcHAgPSAiJHtsaWJkaXJ9L2xpYmdwZ21lcHAuc28uKiIKK0ZJTEVTX3B5dGhvbjItZ3BnID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9LyoiCitGSUxFU19weXRob24zLWdwZyA9ICIke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L2NvbW1vbi1saXNwL3NvdXJjZS9ncGdtZS8qIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L2NtYWtlLyogXAorIgorCitDRkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLURfX2Vycm9yX3RfZGVmaW5lZCAiCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJIyBFbHNlIHRoZXNlIGNvdWxkIGJlIHVzZWQgaW4gcHJlZmVyZW5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKKwlybSAtZiAke1N9L200L2dwZy1lcnJvci5tNAorCXJtIC1mICR7U30vbTQvbGliYXNzdWFuLm00CisJcm0gLWYgJHtTfS9tNC9weXRob24ubTQKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9DVkUtMjAxOC0xODkyOC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdS9DVkUtMjAxOC0xODkyOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWM1MGU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L0NWRS0yMDE4LTE4OTI4LnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0NWRTogQ1ZFLTIwMTgtMTg5MjgKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gNTNkOGM4ZjNkMTgxZDg3YTZhYTkyNWI0NDliNTFjNGEyYzkyMmE1MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNoYW5lIENhcnIgPHNoYW5lQHVuaWNvZGUub3JnPgorRGF0ZTogTW9uLCAyOSBPY3QgMjAxOCAyMzo1Mjo0NCAtMDcwMAorU3ViamVjdDogW1BBVENIXSBJQ1UtMjAyNDYgRml4aW5nIGFub3RoZXIgaW50ZWdlciBvdmVyZmxvdyBpbiBudW1iZXIgcGFyc2luZy4KKworLS0tCisgaTE4bi9mbXRhYmxlLmNwcCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGkxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAgICAgICAgICAgIHwgIDUgKysrKy0KKyB0ZXN0L2ludGx0ZXN0L251bWZtdHN0LmNwcCAgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaTE4bi9mbXRhYmxlLmNwcCBiL2kxOG4vZm10YWJsZS5jcHAKK2luZGV4IDQ1YzcwMjRmYzI5Li44NjAxZDk1ZjRhNiAxMDA2NDQKKy0tLSBhL2kxOG4vZm10YWJsZS5jcHAKKysrKyBiL2kxOG4vZm10YWJsZS5jcHAKK0BAIC03MzQsNyArNzM0LDcgQEAgQ2hhclN0cmluZyAqRm9ybWF0dGFibGU6OmludGVybmFsR2V0Q2hhclN0cmluZyhVRXJyb3JDb2RlICZzdGF0dXMpIHsKKyAgICAgICAvLyBub3QgcHJpbnQgc2NpZW50aWZpYyBub3RhdGlvbiBmb3IgbWFnbml0dWRlcyBncmVhdGVyIHRoYW4gLTUgYW5kIHNtYWxsZXIgdGhhbiBzb21lIGFtb3VudCAoKzU/KS4KKyAgICAgICBpZiAoZkRlY2ltYWxRdWFudGl0eS0+aXNaZXJvKCkpIHsKKyAgICAgICAgIGZEZWNpbWFsU3RyLT5hcHBlbmQoIjAiLCAtMSwgc3RhdHVzKTsKKy0gICAgICB9IGVsc2UgaWYgKHN0ZDo6YWJzKGZEZWNpbWFsUXVhbnRpdHktPmdldE1hZ25pdHVkZSgpKSA8IDUpIHsKKysgICAgICB9IGVsc2UgaWYgKGZEZWNpbWFsUXVhbnRpdHktPmdldE1hZ25pdHVkZSgpICE9IElOVDMyX01JTiAmJiBzdGQ6OmFicyhmRGVjaW1hbFF1YW50aXR5LT5nZXRNYWduaXR1ZGUoKSkgPCA1KSB7CisgICAgICAgICBmRGVjaW1hbFN0ci0+YXBwZW5kSW52YXJpYW50Q2hhcnMoZkRlY2ltYWxRdWFudGl0eS0+dG9QbGFpblN0cmluZygpLCBzdGF0dXMpOworICAgICAgIH0gZWxzZSB7CisgICAgICAgICBmRGVjaW1hbFN0ci0+YXBwZW5kSW52YXJpYW50Q2hhcnMoZkRlY2ltYWxRdWFudGl0eS0+dG9TY2llbnRpZmljU3RyaW5nKCksIHN0YXR1cyk7CitkaWZmIC0tZ2l0IGEvaTE4bi9udW1iZXJfZGVjaW1hbHF1YW50aXR5LmNwcCBiL2kxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAKK2luZGV4IDQ3YjkzMGE1NjRiLi5kNWRkN2FlNjk0YyAxMDA2NDQKKy0tLSBhL2kxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAKKysrKyBiL2kxOG4vbnVtYmVyX2RlY2ltYWxxdWFudGl0eS5jcHAKK0BAIC04OTgsNyArODk4LDEwIEBAIFVuaWNvZGVTdHJpbmcgRGVjaW1hbFF1YW50aXR5Ojp0b1NjaWVudGlmaWNTdHJpbmcoKSBjb25zdCB7CisgICAgIH0KKyAgICAgcmVzdWx0LmFwcGVuZCh1J0UnKTsKKyAgICAgaW50MzJfdCBfc2NhbGUgPSB1cHBlclBvcyArIHNjYWxlOworLSAgICBpZiAoX3NjYWxlIDwgMCkgeworKyAgICBpZiAoX3NjYWxlID09IElOVDMyX01JTikgeworKyAgICAgICAgcmVzdWx0LmFwcGVuZCh7dSItMjE0NzQ4MzY0OCIsIC0xfSk7CisrICAgICAgICByZXR1cm4gcmVzdWx0OworKyAgICB9IGVsc2UgaWYgKF9zY2FsZSA8IDApIHsKKyAgICAgICAgIF9zY2FsZSAqPSAtMTsKKyAgICAgICAgIHJlc3VsdC5hcHBlbmQodSctJyk7CisgICAgIH0gZWxzZSB7CitkaWZmIC0tZ2l0IGEvdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAgYi90ZXN0L2ludGx0ZXN0L251bWZtdHN0LmNwcAoraW5kZXggMzQzNTU5MzkxMTMuLjhkNTJkYzEyMmJmIDEwMDY0NAorLS0tIGEvdGVzdC9pbnRsdGVzdC9udW1mbXRzdC5jcHAKKysrKyBiL3Rlc3QvaW50bHRlc3QvbnVtZm10c3QuY3BwCitAQCAtOTIyNiw2ICs5MjI2LDE0IEBAIHZvaWQgTnVtYmVyRm9ybWF0VGVzdDo6VGVzdDIwMDM3X1NjaWVudGlmaWNJbnRlZ2VyT3ZlcmZsb3coKSB7CisgICAgIGFzc2VydEVxdWFscyh1IlNob3VsZCBub3Qgb3ZlcmZsb3cgYW5kIHNob3VsZCBwYXJzZSBvbmx5IHRoZSBmaXJzdCBleHBvbmVudCIsCisgICAgICAgICAgICAgICAgICB1IjFFLTIxNDc0ODM2NDciLAorICAgICAgICAgICAgICAgICAge3NwLmRhdGEoKSwgc3AubGVuZ3RoKCksIFVTX0lOVn0pOworKworKyAgICAvLyBUZXN0IGVkZ2UgY2FzZSBvdmVyZmxvdyBvZiBleHBvbmVudAorKyAgICByZXN1bHQgPSBGb3JtYXR0YWJsZSgpOworKyAgICBuZi0+cGFyc2UodSIuMDAwM2UtMjE0NzQ4MzY0NCIsIHJlc3VsdCwgc3RhdHVzKTsKKysgICAgc3AgPSByZXN1bHQuZ2V0RGVjaW1hbE51bWJlcihzdGF0dXMpOworKyAgICBhc3NlcnRFcXVhbHModSJTaG91bGQgbm90IG92ZXJmbG93IiwKKysgICAgICAgICAgICAgICAgIHUiM0UtMjE0NzQ4MzY0OCIsCisrICAgICAgICAgICAgICAgICB7c3AuZGF0YSgpLCBzcC5sZW5ndGgoKSwgVVNfSU5WfSk7CisgfQorIAorIHZvaWQgTnVtYmVyRm9ybWF0VGVzdDo6VGVzdDEzODQwX1BhcnNlTG9uZ1N0cmluZ0NyYXNoKCkgewpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1L2ZpeC1pbnN0YWxsLW1hbngucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvZml4LWluc3RhbGwtbWFueC5wYXRjaAppbmRleCA4MTg2ZmI0Li45MjViMDY0IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvZml4LWluc3RhbGwtbWFueC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3UvZml4LWluc3RhbGwtbWFueC5wYXRjaApAQCAtMSw3ICsxLDcgQEAKLUZyb20gMzA2M2E5MjExNjY5YmVlNjczODQwZWU4MWY4MWQzMDY5OWI5YjcwMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYTZkZGFiYzhjYWRiNzZiZmUyZDJlMzc0YTY3MDI0NDJjZmU1MWNjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CiBEYXRlOiBGcmksIDkgT2N0IDIwMTUgMTc6NTA6NDEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzRdIGljdTogZml4IGluc3RhbGwgcmFjZQorU3ViamVjdDogW1BBVENIXSBpY3U6IGZpeCBpbnN0YWxsIHJhY2UKIAogVGhlIGdlbmVyaWMgcmVjdXJzaXZlIHRhcmdldCBjYWxscyB0YXJnZXQtbG9jYWwgc28gYWxzbyBhZGRpbmcgaXQgdG8gdGhlCiBkZXBlbmRlbmN5IGxpc3QgcmVzdWx0cyBpbiByYWNlcyBkdWUgdG8gaW5zdGFsbC1sb2NhbCBiZWluZyBleGVjdXRlZCB0d2ljZSBpbgpAQCAtMTgsMTEgKzE4LDExIEBACiAgc291cmNlL01ha2VmaWxlLmluIHwgOCArKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9zb3VyY2UvTWFrZWZpbGUuaW4gYi9zb3VyY2UvTWFrZWZpbGUuaW4KLWluZGV4IGMxZGIxNWIuLjQ5NDhkZWIgMTAwNjQ0CitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgoraW5kZXggYmU5NDM1Yi4uYWRhMjBkNyAxMDA2NDQKIC0tLSBhL01ha2VmaWxlLmluCiArKysgYi9NYWtlZmlsZS5pbgotQEAgLTczLDcgKzczLDcgQEAgRVhUUkFfREFUQSA9CitAQCAtNzcsNyArNzcsNyBAQCBFWFRSQV9EQVRBID0KICAKICAjIyBMaXN0IG9mIHBob255IHRhcmdldHMKICAuUEhPTlkgOiBhbGwgYWxsLWxvY2FsIGFsbC1yZWN1cnNpdmUgaW5zdGFsbCBpbnN0YWxsLWxvY2FsIGluc3RhbGwtdWRhdGEgaW5zdGFsbC11ZGF0YS1maWxlcyBpbnN0YWxsLXVkYXRhLWRsbHMJCVwKQEAgLTMxLDcgKzMxLDcgQEAKICBkaXN0Y2xlYW4tbG9jYWwgZGlzdGNsZWFuLXJlY3Vyc2l2ZSBkb2MgZGlzdCBkaXN0LWxvY2FsIGRpc3QtcmVjdXJzaXZlCVwKICBjaGVjayBjaGVjay1sb2NhbCBjaGVjay1yZWN1cnNpdmUgY2xlYW4tcmVjdXJzaXZlLXdpdGgtdHdpc3QgaW5zdGFsbC1pY3UgXAogIGRvYyBpbnN0YWxsLWRvYyB0ZXN0cyBpY3U0ai1kYXRhIGljdTRqLWRhdGEtaW5zdGFsbCB1cGRhdGUtd2luZG93cy1tYWtlZmlsZXMgeGNoZWNrLWxvY2FsIHhjaGVjay1yZWN1cnNpdmUgeHBlcmYgeGNoZWNrIHhwZXJmLXJlY3Vyc2l2ZSBcCi1AQCAtODQsOSArODQsOSBAQCBjaGVjay1leGhhdXN0aXZlIGNoZWNrLWV4aGF1c3RpdmUtbG9jYWwgY2hlY2stZXhoYXVzdGl2ZS1yZWN1cnNpdmUgcmVsZWFzZURpc3QKK0BAIC04OCw5ICs4OCw5IEBAIGNoZWNrLWV4aGF1c3RpdmUgY2hlY2stZXhoYXVzdGl2ZS1sb2NhbCBjaGVjay1leGhhdXN0aXZlLXJlY3Vyc2l2ZSByZWxlYXNlRGlzdAogIAogICMjIExpc3Qgb2Ygc3RhbmRhcmQgdGFyZ2V0cwogIGFsbDogYWxsLWxvY2FsIGFsbC1yZWN1cnNpdmUKQEAgLTQzLDE1ICs0MywxMiBAQAogIGRpc3Q6IGRpc3QtcmVjdXJzaXZlCiAgY2hlY2s6IGFsbCBjaGVjay1yZWN1cnNpdmUKICBjaGVjay1yZWN1cnNpdmU6IGFsbAotQEAgLTM1MCw3ICszNTAsNyBAQCBjb25maWcuc3RhdHVzOiAkKHNyY2RpcikvY29uZmlndXJlICQoc3JjZGlyKS9jb21tb24vdW5pY29kZS91dmVybnVtLmgKLSAKK0BAIC0zNTcsNyArMzU3LDcgQEAgY29uZmlnLnN0YXR1czogJChzcmNkaXIpL2NvbmZpZ3VyZSAkKHNyY2RpcikvY29tbW9uL3VuaWNvZGUvdXZlcm51bS5oCiAgaW5zdGFsbC1tYW54OiAkKE1BTlhfRklMRVMpCiAgCSQoTUtJTlNUQUxMRElSUykgJChERVNURElSKSQobWFuZGlyKS9tYW4kKFNFQ1RJT04pCisgaWZuZXEgKCQoTUFOWF9GSUxFUyksKQogLQkkKElOU1RBTExfREFUQSkgJD8gJChERVNURElSKSQobWFuZGlyKS9tYW4kKFNFQ1RJT04pCiArCSQoSU5TVEFMTF9EQVRBKSAkXiAkKERFU1RESVIpJChtYW5kaXIpL21hbiQoU0VDVElPTikKKyBlbmRpZgogIAogIGNvbmZpZy8lLiQoU0VDVElPTik6ICQoc3JjZGlyKS9jb25maWcvJS4kKFNFQ1RJT04pLmluCi0gCWNkICQodG9wX2J1aWxkZGlyKSBcCi0tLSAKLTIuMTQuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82Mi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZTM3NTBiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaWN1L2ljdV82Mi4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotcmVxdWlyZSBpY3UuaW5jCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0xJQ0VOU0U7bWQ1PTYzNzUyYzU3YmQwYjM2NWM5YWY5ZjQyN2VmNzljODE5IgotCi1kZWYgaWN1X2Rvd25sb2FkX3ZlcnNpb24oZCk6Ci0gICAgcHZzcGxpdCA9IGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJykKLSAgICByZXR1cm4gcHZzcGxpdFswXSArICJfIiArIHB2c3BsaXRbMV0KLQotSUNVX1BWID0gIiR7QGljdV9kb3dubG9hZF92ZXJzaW9uKGQpfSIKLQotIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjA0ODYvCi1BUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgotCi1CQVNFX1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmljdS1wcm9qZWN0Lm9yZy9maWxlcy9pY3U0Yy8ke1BWfS9pY3U0Yy0ke0lDVV9QVn0tc3JjLnRneiIKLVNSQ19VUkkgPSAiJHtCQVNFX1NSQ19VUkl9IFwKLSAgICAgICAgICAgZmlsZTovL2ljdS1wa2dkYXRhLWxhcmdlLWNtZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9maXgtaW5zdGFsbC1tYW54LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLUFSQy1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLUxERkxBR1NJQ1VEVC1mb3ItTGludXgucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI0OTBhZDlkOTIwMTU4ZTAzMTRlMTBiYTc0YWU5YTE1MCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzZGQ5ODY4ZDY2NjM1MGRkYTY2YTZlMzA1ZWVjZGU5ZDQ3OWZiNzBiMzBkNWI1NWQ3OGExZGVmZmI5N2Q1YWEzIgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykvIgotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYzLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2ljdS9pY3VfNjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjFmMDIyCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pY3UvaWN1XzYzLjEuYmIKQEAgLTAsMCArMSwzMCBAQAorcmVxdWlyZSBpY3UuaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLy4uL0xJQ0VOU0U7bWQ1PTYzNzUyYzU3YmQwYjM2NWM5YWY5ZjQyN2VmNzljODE5IgorCitkZWYgaWN1X2Rvd25sb2FkX3ZlcnNpb24oZCk6CisgICAgcHZzcGxpdCA9IGQuZ2V0VmFyKCdQVicpLnNwbGl0KCcuJykKKyAgICByZXR1cm4gcHZzcGxpdFswXSArICJfIiArIHB2c3BsaXRbMV0KKworSUNVX1BWID0gIiR7QGljdV9kb3dubG9hZF92ZXJzaW9uKGQpfSIKKworIyBodHRwOi8vZXJyb3JzLnlvY3RvcHJvamVjdC5vcmcvRXJyb3JzL0RldGFpbHMvMjA0ODYvCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY0ID0gImFybSIKK0FSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjUgPSAiYXJtIgorCitCQVNFX1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmljdS1wcm9qZWN0Lm9yZy9maWxlcy9pY3U0Yy8ke1BWfS9pY3U0Yy0ke0lDVV9QVn0tc3JjLnRneiIKK1NSQ19VUkkgPSAiJHtCQVNFX1NSQ19VUkl9IFwKKyAgICAgICAgICAgZmlsZTovL2ljdS1wa2dkYXRhLWxhcmdlLWNtZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtaW5zdGFsbC1tYW54LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLUFSQy1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE4LTE4OTI4LnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1EaXNhYmxlLUxERkxBR1NJQ1VEVC1mb3ItTGludXgucGF0Y2ggXAorICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZTQwZjYwNTUyOTQyODRkZjk1ODIwMGUzMDhiY2U1MCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwNWM0OTBiNjk0NTRmY2U1ODYwYjdlOGUyODIxMjMxNjc0YWYwYTExZDdlZjJmZWJlYTlhMzI1MTI5OThjYjlkIgorCitVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICIoP1A8cHZlcj5cZCsoXC5cZCspKykvIgorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9kb3dubG9hZC5pY3UtcHJvamVjdC5vcmcvZmlsZXMvaWN1NGMvIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3NjFkZWQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9pc28tY29kZXMvaXNvLWNvZGVzXzQuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLVNVTU1BUlkgPSAiSVNPIGxhbmd1YWdlLCB0ZXJyaXRvcnksIGN1cnJlbmN5LCBzY3JpcHQgY29kZXMgYW5kIHRoZWlyIHRyYW5zbGF0aW9ucyIKLUhPTUVQQUdFID0gImh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMiCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMvaXNzdWVzIgotCi1MSUNFTlNFID0gIkxHUEx2Mi4xIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCi0KLVNSQ19VUkkgPSAiZ2l0Oi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMuZ2l0O3Byb3RvY29sPWh0dHAiCi1TUkNSRVYgPSAiMTY0ODAyZDVmZDhjN2E4MTY3ODE2ZmQ4NmE2MmIyODY2ODA2MTlmMCIKLQotIyBpbmhlcml0IGdldHRleHQgY2Fubm90IGJlIHVzZWQsIGJlY2F1c2UgaXQgYWRkcyBnZXR0ZXh0LW5hdGl2ZSB0byBCQVNFREVQRU5EUyB3aGljaAotIyBhcmUgaW5oaWJpdGVkIGJ5IGFsbGFyY2gKLURFUEVORFMgPSAiZ2V0dGV4dC1uYXRpdmUiCi0KLVMgPSAiJHtXT1JLRElSfS9naXQiCi0KLWluaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMKLQotRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veG1sLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvaXNvLWNvZGVzL2lzby1jb2Rlc180LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1MTMwZGQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2lzby1jb2Rlcy9pc28tY29kZXNfNC4yLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiSVNPIGxhbmd1YWdlLCB0ZXJyaXRvcnksIGN1cnJlbmN5LCBzY3JpcHQgY29kZXMgYW5kIHRoZWlyIHRyYW5zbGF0aW9ucyIKK0hPTUVQQUdFID0gImh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMvaXNzdWVzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vc2Fsc2EuZGViaWFuLm9yZy9pc28tY29kZXMtdGVhbS9pc28tY29kZXMuZ2l0O3Byb3RvY29sPWh0dHAiCitTUkNSRVYgPSAiNThhNGYyMGY4ZTZmNGQ4Zjk1NDUzMzNmM2VhZTRjZmU1Njc4ZGUxNiIKKworIyBpbmhlcml0IGdldHRleHQgY2Fubm90IGJlIHVzZWQsIGJlY2F1c2UgaXQgYWRkcyBnZXR0ZXh0LW5hdGl2ZSB0byBCQVNFREVQRU5EUyB3aGljaAorIyBhcmUgaW5oaWJpdGVkIGJ5IGFsbGFyY2gKK0RFUEVORFMgPSAiZ2V0dGV4dC1uYXRpdmUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYWxsYXJjaCBhdXRvdG9vbHMKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0veG1sLyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbi9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuL2xpYmFzc3Vhbi1hZGQtcGtnY29uZmlnLXN1cHBvcnQucGF0Y2gKaW5kZXggNTI1YjA3Ni4uMGU4MTQ1NCAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuL2xpYmFzc3Vhbi1hZGQtcGtnY29uZmlnLXN1cHBvcnQucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuL2xpYmFzc3Vhbi1hZGQtcGtnY29uZmlnLXN1cHBvcnQucGF0Y2gKQEAgLTksNjAgKzksMTEgQEAKIGZvcndhcmQgcG9ydGVkIHRvIDIuNC40CiBTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KIAotSW5kZXg6IGxpYmFzc3Vhbi0yLjQuNC9saWJhc3N1YW4ucGMuaW4KK0luZGV4OiBsaWJhc3N1YW4tMi41LjIvc3JjL2xpYmFzc3Vhbi5tNAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIC9kZXYvbnVsbAotKysrIGxpYmFzc3Vhbi0yLjQuNC9saWJhc3N1YW4ucGMuaW4KLUBAIC0wLDAgKzEsMTMgQEAKLStwcmVmaXg9QGV4ZWNfcHJlZml4QAotK2xpYmRpcj1AbGliZGlyQAotK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACi0rYXBpX3ZlcnNpb249QExJQkFTU1VBTl9DT05GSUdfQVBJX1ZFUlNJT05ACi0raG9zdD1ATElCQVNTVUFOX0NPTkZJR19IT1NUQAotKwotK05hbWU6IGxpYmFzc3VhbgotK0Rlc2NyaXB0aW9uOiBJUEMgbGlicmFyeSB1c2VkIGJ5IEdudVBHIGFuZCBHUEdNRQotK1JlcXVpcmVzOgotK1ZlcnNpb246IEBWRVJTSU9OQAotK0xpYnM6IC1MJHtsaWJkaXJ9IC1sYXNzdWFuCi0rTGlicy5wcml2YXRlOiAtbGdwZy1lcnJvcgotK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9Ci1JbmRleDogbGliYXNzdWFuLTIuNC40L01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9NYWtlZmlsZS5hbQotKysrIGIvTWFrZWZpbGUuYW0KLUBAIC0yNSwxMCArMjUsMTMgQEAgRElTVENIRUNLX0NPTkZJR1VSRV9GTEFHUyA9IC0tZW5hYmxlLWRvYwotICMgKEEgc3VpdGFibGUgZ2l0bG9nLXRvLWNoYW5nZWxvZyBzY3JpcHQgY2FuIGJlIGZvdW5kIGluIEdudVBHIG1hc3Rlci4pCi0gR0lUTE9HX1RPX0NIQU5HRUxPRz1naXRsb2ctdG8tY2hhbmdlbG9nCi0gCi0rcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZwotK3BrZ2NvbmZpZ19EQVRBID0gbGliYXNzdWFuLnBjCi0rCi0gRVhUUkFfRElTVCA9IGF1dG9nZW4uc2ggYXV0b2dlbi5yYyBSRUFETUUuR0lUIFZFUlNJT04gICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICBDaGFuZ2VMb2ctMjAxMSBkb2MvQ2hhbmdlTG9nLTIwMTEgc3JjL0NoYW5nZUxvZy0yMDExIAlcCi0gICAgICAgICAgICAgIHRlc3RzL0NoYW5nZUxvZy0yMDExIGNvbnRyaWIvQ2hhbmdlTG9nLTIwMTEgICAgIAkJXAotLSAgICAgICAgICAgICBidWlsZC1hdXgvZ2l0LWxvZy1mb290ZXIgYnVpbGQtYXV4L2dpdC1sb2ctZml4Ci0rICAgICAgICAgICAgIGJ1aWxkLWF1eC9naXQtbG9nLWZvb3RlciBidWlsZC1hdXgvZ2l0LWxvZy1maXggbGliYXNzdWFuLnBjLmluCi0gCi0gaWYgQlVJTERfRE9DCi0gZG9jID0gZG9jCi1JbmRleDogMi40LjQtcjAvbGliYXNzdWFuLTIuNC40L2NvbmZpZ3VyZS5hYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC00ODUsNiArNDg1LDcgQEAgQUNfQ09ORklHX0ZJTEVTKFtkb2MvTWFrZWZpbGVdKQotIEFDX0NPTkZJR19GSUxFUyhbdGVzdHMvTWFrZWZpbGVdKQotIEFDX0NPTkZJR19GSUxFUyhbc3JjL2xpYmFzc3Vhbi1jb25maWddLCBbY2htb2QgK3ggc3JjL2xpYmFzc3Vhbi1jb25maWddKQotIEFDX0NPTkZJR19GSUxFUyhbc3JjL3ZlcnNpb25pbmZvLnJjXSkKLStBQ19DT05GSUdfRklMRVMoW2xpYmFzc3Vhbi5wY10pCi0gCi0gQUNfT1VUUFVUCi0gCi1JbmRleDogbGliYXNzdWFuLTIuNC40L3NyYy9saWJhc3N1YW4ubTQKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL3NyYy9saWJhc3N1YW4ubTQKLSsrKyBiL3NyYy9saWJhc3N1YW4ubTQKLUBAIC0xNiwxOCArMTYsNiBAQCBkbmwgUmV0dXJucyBvayBzZXQgdG8geWVzIG9yIG5vLgorLS0tIGxpYmFzc3Vhbi0yLjUuMi5vcmlnL3NyYy9saWJhc3N1YW4ubTQKKysrKyBsaWJhc3N1YW4tMi41LjIvc3JjL2xpYmFzc3Vhbi5tNAorQEAgLTE2LDI3ICsxNiw2IEBAIGRubCBSZXR1cm5zIG9rIHNldCB0byB5ZXMgb3Igbm8uCiAgZG5sCiAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAogIFsgQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKQpAQCAtNzEsMjQgKzIyLDMyIEBACiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJlZml4IHdoZXJlIExJQkFTU1VBTiBpcyBpbnN0YWxsZWQgKG9wdGlvbmFsKV0pLAogLSAgICAgbGliYXNzdWFuX2NvbmZpZ19wcmVmaXg9IiR3aXRodmFsIiwgbGliYXNzdWFuX2NvbmZpZ19wcmVmaXg9IiIpCiAtICBpZiB0ZXN0IHgkbGliYXNzdWFuX2NvbmZpZ19wcmVmaXggIT0geCA7IHRoZW4KLS0gICAgbGliYXNzdWFuX2NvbmZpZ19hcmdzPSIkbGliYXNzdWFuX2NvbmZpZ19hcmdzIC0tcHJlZml4PSRsaWJhc3N1YW5fY29uZmlnX3ByZWZpeCIKIC0gICAgaWYgdGVzdCB4JHtMSUJBU1NVQU5fQ09ORklHK3NldH0gIT0geHNldCA7IHRoZW4KIC0gICAgICBMSUJBU1NVQU5fQ09ORklHPSRsaWJhc3N1YW5fY29uZmlnX3ByZWZpeC9iaW4vbGliYXNzdWFuLWNvbmZpZwogLSAgICBmaQogLSAgZmkKIC0KLS0gIEFDX1BBVEhfVE9PTChMSUJBU1NVQU5fQ09ORklHLCBsaWJhc3N1YW4tY29uZmlnLCBubykKKy0gIHVzZV9ncGdydF9jb25maWc9IiIKKy0gIGlmIHRlc3QgeCIke0xJQkFTU1VBTl9DT05GSUd9IiA9IHggLWEgeCIkR1BHUlRfQ09ORklHIiAhPSB4IC1hICIkR1BHUlRfQ09ORklHIiAhPSAibm8iOyB0aGVuCistICAgIGlmICRHUEdSVF9DT05GSUcgbGliYXNzdWFuIC0tZXhpc3RzOyB0aGVuCistICAgICAgTElCQVNTVUFOX0NPTkZJRz0iJEdQR1JUX0NPTkZJRyBsaWJhc3N1YW4iCistICAgICAgQUNfTVNHX05PVElDRShbVXNlIGdwZ3J0LWNvbmZpZyBhcyBsaWJhc3N1YW4tY29uZmlnXSkKKy0gICAgICB1c2VfZ3BncnRfY29uZmlnPXllcworLSAgICBmaQorLSAgZmkKKy0gIGlmIHRlc3QgLXogIiR1c2VfZ3BncnRfY29uZmlnIjsgdGhlbgorLSAgICBBQ19QQVRIX1BST0coTElCQVNTVUFOX0NPTkZJRywgbGliYXNzdWFuLWNvbmZpZywgbm8pCistICBmaQogIAogICAgdG1wPWlmZWxzZShbJDFdLCAsMTowLjkuMiwkMSkKICAgIGlmIGVjaG8gIiR0bXAiIHwgZ3JlcCAnOicgPi9kZXYvbnVsbCAyPi9kZXYvbnVsbCA7IHRoZW4KLUBAIC0zOCw1MSArMjYsMTIgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAorQEAgLTQ3LDU4ICsyNiwxMSBAQCBBQ19ERUZVTihbX0FNX1BBVEhfTElCQVNTVUFOX0NPTU1PTl0sCiAgICAgIG1pbl9saWJhc3N1YW5fdmVyc2lvbj0iJHRtcCIKICAgIGZpCiAgCiAtICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIExJQkFTU1VBTiAtIHZlcnNpb24gPj0gJG1pbl9saWJhc3N1YW5fdmVyc2lvbikKIC0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkTElCQVNTVUFOX0NPTkZJRyIgIT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkTElCQVNTVUFOX0NPTkZJRyIgOyB0aGVuCistICBpZiB0ZXN0ICIkTElCQVNTVUFOX0NPTkZJRyIgIT0gIm5vIjsgdGhlbgogLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9saWJhc3N1YW5fdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKS9cMS8nYAogLSAgICByZXFfbWlub3I9YGVjaG8gJG1pbl9saWJhc3N1YW5fdmVyc2lvbiB8IFwKQEAgLTk2LDcgKzU1LDExIEBACiAtICAgIHJlcV9taWNybz1gZWNobyAkbWluX2xpYmFzc3Vhbl92ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wzLydgCiAtCi0tICAgIGxpYmFzc3Vhbl9jb25maWdfdmVyc2lvbj1gJExJQkFTU1VBTl9DT05GSUcgLS12ZXJzaW9uYAorLSAgICBpZiB0ZXN0IC16ICIkdXNlX2dwZ3J0X2NvbmZpZyI7IHRoZW4KKy0gICAgICBsaWJhc3N1YW5fY29uZmlnX3ZlcnNpb249YCRMSUJBU1NVQU5fQ09ORklHIC0tdmVyc2lvbmAKKy0gICAgZWxzZQorLSAgICAgIGxpYmFzc3Vhbl9jb25maWdfdmVyc2lvbj1gJExJQkFTU1VBTl9DT05GSUcgLS1tb2R2ZXJzaW9uYAorLSAgICBmaQogLSAgICBtYWpvcj1gZWNobyAkbGliYXNzdWFuX2NvbmZpZ192ZXJzaW9uIHwgXAogLSAgICAgICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXClcLlwoW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiovXDEvJ2AKIC0gICAgbWlub3I9YGVjaG8gJGxpYmFzc3Vhbl9jb25maWdfdmVyc2lvbiB8IFwKQEAgLTEzMCwyNiArOTMsMzIgQEAKICAKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCiAgICAgIGlmIHRlc3QgIiRyZXFfbGliYXNzdWFuX2FwaSIgLWd0IDAgOyB0aGVuCi0gICAgICAgdG1wPWAkTElCQVNTVUFOX0NPTkZJRyAtLWFwaS12ZXJzaW9uIDI+L2Rldi9udWxsIHx8IGVjaG8gMGAKKy0gICAgICBpZiB0ZXN0IC16ICIkdXNlX2dwZ3J0X2NvbmZpZyI7IHRoZW4KKy0gICAgICAgIHRtcD1gJExJQkFTU1VBTl9DT05GSUcgLS1hcGktdmVyc2lvbiAyPi9kZXYvbnVsbCB8fCBlY2hvIDBgCistICAgICAgZWxzZQorLSAgICAgICAgdG1wPWAkTElCQVNTVUFOX0NPTkZJRyAtLXZhcmlhYmxlPWFwaV92ZXJzaW9uIDI+L2Rldi9udWxsIHx8IGVjaG8gMGAKKy0gICAgICBmaQogKyAgICAgIHRtcD1gJFBLR19DT05GSUcgLS12YXJpYWJsZT1hcGlfdmVyc2lvbiBsaWJhc3N1YW5gCiAgICAgICAgaWYgdGVzdCAiJHRtcCIgLWd0IDAgOyB0aGVuCiAgICAgICAgICBBQ19NU0dfQ0hFQ0tJTkcoW0xJQkFTU1VBTiBBUEkgdmVyc2lvbl0pCiAgICAgICAgICBpZiB0ZXN0ICIkcmVxX2xpYmFzc3Vhbl9hcGkiIC1lcSAiJHRtcCIgOyB0aGVuCi1AQCAtOTcsNyArNDYsNyBAQCBBQ19ERUZVTihbX0FNX1BBVEhfTElCQVNTVUFOX0NPTU1PTl0sCi0gCitAQCAtMTE0LDkgKzQ2LDcgQEAgQUNfREVGVU4oW19BTV9QQVRIX0xJQkFTU1VBTl9DT01NT05dLAogICAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4KICAgICAgaWYgdGVzdCB4IiRob3N0IiAhPSB4IDsgdGhlbgotLSAgICAgIGxpYmFzc3Vhbl9jb25maWdfaG9zdD1gJExJQkFTU1VBTl9DT05GSUcgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKLSsgICAgICBsaWJhc3N1YW5fY29uZmlnX2hvc3Q9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9aG9zdCBsaWJhc3N1YW5gCisgICAgICAgaWYgdGVzdCAteiAiJHVzZV9ncGdydF9jb25maWciOyB0aGVuCistICAgICAgICBsaWJhc3N1YW5fY29uZmlnX2hvc3Q9YCRMSUJBU1NVQU5fQ09ORklHIC0taG9zdCAyPi9kZXYvbnVsbCB8fCBlY2hvIG5vbmVgCistICAgICAgZWxzZQorLSAgICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkTElCQVNTVUFOX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgMj4vZGV2L251bGwgfHwgZWNobyBub25lYAorKyAgICAgICAgbGliYXNzdWFuX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgbGliYXNzdWFuYAorICAgICAgIGZpCiAgICAgICAgaWYgdGVzdCB4IiRsaWJhc3N1YW5fY29uZmlnX2hvc3QiICE9IHhub25lIDsgdGhlbgogICAgICAgICAgaWYgdGVzdCB4IiRsaWJhc3N1YW5fY29uZmlnX2hvc3QiICE9IHgiJGhvc3QiIDsgdGhlbgotICAgQUNfTVNHX1dBUk4oW1sKLUBAIC0xMzgsMTIgKzg3LDggQEAgZG5sCitAQCAtMTU4LDEyICs4OCw4IEBAIGRubAogIEFDX0RFRlVOKFtBTV9QQVRIX0xJQkFTU1VBTl0sCiAgWyBfQU1fUEFUSF9MSUJBU1NVQU5fQ09NTU9OKCQxKQogICAgaWYgdGVzdCAkb2sgPSB5ZXM7IHRoZW4KLS0gICAgTElCQVNTVUFOX0NGTEFHUz1gJExJQkFTU1VBTl9DT05GSUcgJGxpYmFzc3Vhbl9jb25maWdfYXJncyAtLWNmbGFnc2AKLS0gICAgTElCQVNTVUFOX0xJQlM9YCRMSUJBU1NVQU5fQ09ORklHICRsaWJhc3N1YW5fY29uZmlnX2FyZ3MgLS1saWJzYAorLSAgICBMSUJBU1NVQU5fQ0ZMQUdTPWAkTElCQVNTVUFOX0NPTkZJRyAtLWNmbGFnc2AKKy0gICAgTElCQVNTVUFOX0xJQlM9YCRMSUJBU1NVQU5fQ09ORklHIC0tbGlic2AKICAgICAgaWZlbHNlKFskMl0sICwgOiwgWyQyXSkKICAgIGVsc2UKIC0gICAgTElCQVNTVUFOX0NGTEFHUz0iIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhc3N1YW4vbGliYXNzdWFuXzIuNS4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNGQ1ZjE2Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLVNVTU1BUlkgPSAiSVBDIGxpYnJhcnkgdXNlZCBieSBHbnVQRyBhbmQgR1BHTUUiCi1IT01FUEFHRSA9ICJodHRwOi8vd3d3LmdudXBnLm9yZy9yZWxhdGVkX3NvZnR3YXJlL2xpYmFzc3Vhbi8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5nMTBjb2RlLmNvbS9nbnVwZy9pbmRleCIKLQotTElDRU5TRSA9ICJHUEx2MysgJiBMR1BMdjIuMSsiCi1MSUNFTlNFXyR7UE59ID0gIkxHUEx2Mi4xKyIKLUxJQ0VOU0VfJHtQTn0tZG9jID0gIkdQTHYzKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWYyN2RlZmUxZTk2YzJlMWVjZDRlMGM5YmU4OTY3OTQ5IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvYXNzdWFuLmM7ZW5kbGluZT0yMDttZDU9YWI5MjE0M2E1YTJhZGFiZDA2ZDc5OTRkMTQ2N2VhNWNcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvYXNzdWFuLWRlZnMuaDtlbmRsaW5lPTIwO21kNT0xNWQ5NTBjODNlODI5NzhlMzViMzVlNzkwZDdlNGQzOSIKLQotREVQRU5EUyA9ICJsaWJncGctZXJyb3IiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgotU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vbGliYXNzdWFuL2xpYmFzc3Vhbi0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL2xpYmFzc3Vhbi1hZGQtcGtnY29uZmlnLXN1cHBvcnQucGF0Y2ggXAotICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjQzNTRiN2FlMjk2ODk0ZjIzMmFkYTIyNmEwNjJkN2Q3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ3Zjk2YzM3YjRmMmFhYzI4OWYwYmMxYmFjZmE4YmQ4YjRiMjA5YTQ4OGQzZDE1ZTIyMjljYjZjYzliMjY0NDkiCi0KLUJJTkNPTkZJRyA9ICIke2JpbmRpcn0vbGliYXNzdWFuLWNvbmZpZyIKLQotaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbyBiaW5jb25maWctZGlzYWJsZWQgcGtnY29uZmlnCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kICgpIHsKLQkjIEVsc2UgdGhlc2UgY291bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRob3NlIGluIGFjbG9jYWwtY29weQotCXJtIC1mICR7U30vbTQvKi5tNAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmFzc3Vhbi9saWJhc3N1YW5fMi41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZiM2QyZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliYXNzdWFuL2xpYmFzc3Vhbl8yLjUuMy5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIklQQyBsaWJyYXJ5IHVzZWQgYnkgR251UEcgYW5kIEdQR01FIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvcmVsYXRlZF9zb2Z0d2FyZS9saWJhc3N1YW4vIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZzEwY29kZS5jb20vZ251cGcvaW5kZXgiCisKK0xJQ0VOU0UgPSAiR1BMdjMrICYgTEdQTHYyLjErIgorTElDRU5TRV8ke1BOfSA9ICJMR1BMdjIuMSsiCitMSUNFTlNFXyR7UE59LWRvYyA9ICJHUEx2MysiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMjdkZWZlMWU5NmMyZTFlY2Q0ZTBjOWJlODk2Nzk0OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLkxJQjttZDU9MmQ1MDI1ZDRhYTM0OTViZWZlZjhmMTcyMDZhNWIwYTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi5jO2VuZGxpbmU9MjA7bWQ1PWFiOTIxNDNhNWEyYWRhYmQwNmQ3OTk0ZDE0NjdlYTVjXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Fzc3Vhbi1kZWZzLmg7ZW5kbGluZT0yMDttZDU9MTVkOTUwYzgzZTgyOTc4ZTM1YjM1ZTc5MGQ3ZTRkMzkiCisKK0RFUEVORFMgPSAibGliZ3BnLWVycm9yIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9nbnVwZy5vcmcvZG93bmxvYWQvaW5kZXguaHRtbCIKK1NSQ19VUkkgPSAiJHtHTlVQR19NSVJST1J9L2xpYmFzc3Vhbi9saWJhc3N1YW4tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJhc3N1YW4tYWRkLXBrZ2NvbmZpZy1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyMjZjNTA0ZWE3OGEyMzIyMjRiZjNiNjg0NmIzYWRiOSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MWJjYjA0MDM4NjZiNGU3YzRiYzFjYzUyZWQ0YzM2NGE5YjU0MTRiMzk5NGY3MThjNzAzMDNmN2Y3NjVlNzAyIgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2xpYmFzc3Vhbi1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8gYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZworCitkb19jb25maWd1cmVfcHJlcGVuZCAoKSB7CisJIyBFbHNlIHRoZXNlIGNvdWxkIGJlIHVzZWQgaW4gcHJlZmVyZW5jZSB0byB0aG9zZSBpbiBhY2xvY2FsLWNvcHkKKwlybSAtZiAke1N9L200LyoubTQKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJhdG9taWMtb3BzL2xpYmF0b21pYy1vcHNfNy42LjguYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmF0b21pYy1vcHMvbGliYXRvbWljLW9wc183LjYuOC5iYgppbmRleCBiNDBlNTY3Li44MjkyYzNiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmF0b21pYy1vcHMvbGliYXRvbWljLW9wc183LjYuOC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmF0b21pYy1vcHMvbGliYXRvbWljLW9wc183LjYuOC5iYgpAQCAtOCw2ICs4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgIgogCiBTUkNfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9pdm1haS9saWJhdG9taWNfb3BzL3JlbGVhc2VzL2Rvd25sb2FkL3Yke1BWfS9saWJhdG9taWNfb3BzLSR7UFZ9LnRhci5neiIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vaXZtYWkvbGliYXRvbWljX29wcy9yZWxlYXNlcyIKIAogU1JDX1VSSVttZDVzdW1dID0gIjk5MTI4ZjA1ZTNlM2Y0ZTBjZDM5YWEyM2YyM2JiZTBjIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFkNmEyNzllZGY4MTc2N2U3NGQyYWQyYzlmY2UwOTQ1OWJjNjVmMTJjNjUyNWE0MGIwY2IzZTUzYzA4OWY2NjUiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9maWxlcy8wMDAxLUZpeC1idWlsZC13aXRoLWdwZXJmLTMuMS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2ZpbGVzLzAwMDEtRml4LWJ1aWxkLXdpdGgtZ3BlcmYtMy4xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTBlZjkwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2ZpbGVzLzAwMDEtRml4LWJ1aWxkLXdpdGgtZ3BlcmYtMy4xLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotRnJvbSBhMDVlYmE2OGM0MjIyMmYwMjQ2NWQ3YmEzNzYwMTU5MjY0MzNjNTMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+Ci1EYXRlOiBXZWQsIDI2IEp1bCAyMDE3IDEzOjM3OjQ5ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBidWlsZCB3aXRoIGdwZXJmIDMuMQotCi1UaGUgZ2VuZXJhdGVkIGdwZXJmIGZpbGUgcmVmZXJzIHRvIHNpemVfdCB3aGljaCBuZWVkcyB0byBiZQotcHJvdmlkZWQgYnkgc3RkZGVmLmggaW5jbHVkZS4gQWxzbywgYWRqdXN0IHRoZSBtYWtlZmlsZQotdG8gbWF0Y2ggdGhlIGRlY2xhcmF0aW9uIGluIHRoZSBncGVyZiBmaWxlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgotCi0tLS0KLSBsaWJjYXAvTWFrZWZpbGUgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbGliY2FwL01ha2VmaWxlIGIvbGliY2FwL01ha2VmaWxlCi1pbmRleCBkMTg5Nzc3Li4xYTU3MjA2IDEwMDY0NAotLS0tIGEvbGliY2FwL01ha2VmaWxlCi0rKysgYi9saWJjYXAvTWFrZWZpbGUKLUBAIC0yMiw3ICsyMiw3IEBAIGFsbDogJChNSU5MSUJOQU1FKSAkKFNUQUxJQk5BTUUpIGxpYmNhcC5wYwotIAotIGlmZXEgKCQoQlVJTERfR1BFUkYpLHllcykKLSBVU0VfR1BFUkZfT1VUUFVUID0gJChHUEVSRl9PVVRQVVQpCi0tSU5DTFVERV9HUEVSRl9PVVRQVVQgPSAtaW5jbHVkZSAkKEdQRVJGX09VVFBVVCkKLStJTkNMVURFX0dQRVJGX09VVFBVVCA9IC1pbmNsdWRlIHN0ZGRlZi5oIC1pbmNsdWRlICQoR1BFUkZfT1VUUFVUKQotIGVuZGlmCi0gCi0gbGliY2FwLnBjOiBsaWJjYXAucGMuaW4KLUBAIC00MSw3ICs0MSw3IEBAIGNhcF9uYW1lcy5oOiBfbWFrZW5hbWVzCi0gCS4vX21ha2VuYW1lcyA+IGNhcF9uYW1lcy5oCi0gCi0gJChHUEVSRl9PVVRQVVQpOiBjYXBfbmFtZXMubGlzdC5oCi0tCXBlcmwgLWUgJ3ByaW50ICJzdHJ1Y3QgX19jYXBfdG9rZW5fcyB7IGNvbnN0IGNoYXIgKm5hbWU7IGludCBpbmRleDsgfTtcbiV7XG5jb25zdCBzdHJ1Y3QgX19jYXBfdG9rZW5fcyAqX19jYXBfbG9va3VwX25hbWUoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBpbnQpO1xuJX1cbiUlXG4iOyB3aGlsZSAoJCRsID0gPD4pIHsgJCRsID1+IHMvW1x7XCJdLy9nOyAkJGwgPX4gcy9cfS4qLy8gOyBwcmludCAkJGw7IH0nIDwgJDwgfCBncGVyZiAtLWlnbm9yZS1jYXNlIC0tbGFuZ3VhZ2U9QU5TSS1DIC0tcmVhZG9ubHkgLS1udWxsLXN0cmluZ3MgLS1nbG9iYWwtdGFibGUgLS1oYXNoLWZ1bmN0aW9uLW5hbWU9X19jYXBfaGFzaF9uYW1lIC0tbG9va3VwLWZ1bmN0aW9uLW5hbWU9Il9fY2FwX2xvb2t1cF9uYW1lIiAtYyAtdCAtbTIwICQoSU5ERU5UKSA+ICRACi0rCXBlcmwgLWUgJ3ByaW50ICJzdHJ1Y3QgX19jYXBfdG9rZW5fcyB7IGNvbnN0IGNoYXIgKm5hbWU7IGludCBpbmRleDsgfTtcbiV7XG5jb25zdCBzdHJ1Y3QgX19jYXBfdG9rZW5fcyAqX19jYXBfbG9va3VwX25hbWUoY29uc3QgY2hhciAqLCByZWdpc3RlciBzaXplX3QpO1xuJX1cbiUlXG4iOyB3aGlsZSAoJCRsID0gPD4pIHsgJCRsID1+IHMvW1x7XCJdLy9nOyAkJGwgPX4gcy9cfS4qLy8gOyBwcmludCAkJGw7IH0nIDwgJDwgfCBncGVyZiAtLWlnbm9yZS1jYXNlIC0tbGFuZ3VhZ2U9QU5TSS1DIC0tcmVhZG9ubHkgLS1udWxsLXN0cmluZ3MgLS1nbG9iYWwtdGFibGUgLS1oYXNoLWZ1bmN0aW9uLW5hbWU9X19jYXBfaGFzaF9uYW1lIC0tbG9va3VwLWZ1bmN0aW9uLW5hbWU9Il9fY2FwX2xvb2t1cF9uYW1lIiAtYyAtdCAtbTIwICQoSU5ERU5UKSA+ICRACi0gCi0gY2FwX25hbWVzLmxpc3QuaDogTWFrZWZpbGUgJChLRVJORUxfSEVBREVSUykvbGludXgvY2FwYWJpbGl0eS5oCi0gCUBlY2hvICI9PiBtYWtpbmcgJEAgZnJvbSAkKEtFUk5FTF9IRUFERVJTKS9saW51eC9jYXBhYmlsaXR5LmgiCi0tLSAKLTIuMTMuMgotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI1LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZGY2NzQ1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY2FwL2xpYmNhcF8yLjI1LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzQgKzAsMCBAQAotU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBnZXR0aW5nL3NldHRpbmcgUE9TSVguMWUgY2FwYWJpbGl0aWVzIgotSE9NRVBBR0UgPSAiaHR0cDovL3NpdGVzLmdvb2dsZS5jb20vc2l0ZS9mdWxseWNhcGFibGUvIgotCi0jIG5vIHNwZWNpZmljIEdQTCB2ZXJzaW9uIHJlcXVpcmVkCi1MSUNFTlNFID0gIkJTRCB8IEdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZTttZDU9M2Y4NGZkNmYyOWQ0NTNhNTY1MTRjYjdlNGVhZDI1ZjEiCi0KLURFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUgZ3BlcmYtbmF0aXZlIgotCi1TUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvbGlicy9zZWN1cml0eS9saW51eC1wcml2cy8ke0JQTn0yLyR7QlBOfS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1lbnN1cmUtdGhlLVhBVFRSX05BTUVfQ0FQUy1pcy1kZWZpbmVkLXdoZW4taXQtaXMtdXNlLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWJ1aWxkLXdpdGgtZ3BlcmYtMy4xLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjY2NjZiODM5ZTVkNDZjMmFkMzNmYzhhYTJjZWI1Zjc3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY5M2M4YWM1MWU5ODNlZTY3ODIwNTU3MWVmMjcyNDM5ZDgzYWZlNjJkZDhlNDI0ZWExNGFkOTc5MGJjMzUxNjIiCi0KLWluaGVyaXQgbGliX3BhY2thZ2UKLQotIyBkbyBOT1QgcGFzcyB0YXJnZXQgY2ZsYWdzIHRvIGhvc3QgY29tcGlsYXRpb25zCi0jCi1kb19jb25maWd1cmUoKSB7Ci0JIyBsaWJjYXAgdXNlcyA6PSBmb3IgY29tcGlsZXJzLCBmb3J0dW5hdGVseSwgaXQgZ2l2ZXMgdXMgYSBoaW50Ci0JIyBvbiB3aGF0IHNob3VsZCBiZSByZXBsYWNlZCB3aXRoID89Ci0Jc2VkIC1lICdzLDo9LD89LGcnIC1pIE1ha2UuUnVsZXMKLQlzZWQgLWUgJ3MsXkJVSUxEX0NGTEFHUyA/PSAkKC4qQ0ZMQUdTKSxCVUlMRF9DRkxBR1MgOj0gJChCVUlMRF9DRkxBR1MpLCcgLWkgTWFrZS5SdWxlcwotfQotCi1QQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IgotUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz89ICIiCi0KLVBBQ0tBR0VDT05GSUdbcGFtXSA9ICJQQU1fQ0FQPXllcyxQQU1fQ0FQPW5vLGxpYnBhbSIKLQotRVhUUkFfT0VNQUtFID0gIiBcCi0gIElOREVOVD0gIFwKLSAgbGliPScke2Jhc2VsaWJ9JyBcCi0gIFJBSVNFX1NFVEZDQVA9bm8gXAotICBEWU5BTUlDPXllcyBcCi0gIEJVSUxEX0dQRVJGPXllcyBcCi0iCi0KLUVYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1fSEVBREVSUz0ke1NUQUdJTkdfSU5DRElSfSIKLQotIyB0aGVzZSBhcmUgcHJlc2VudCBpbiB0aGUgbGliY2FwIGRlZmF1bHRzLCBzbyBpbmNsdWRlIGluIG91ciBDRkxBR1MgdG9vCi1DRkxBR1MgKz0gIi1EX0xBUkdFRklMRTY0X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgotCi1kb19jb21waWxlKCkgewotCW9lX3J1bm1ha2UgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfQotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgaW5zdGFsbCBcCi0JCSR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAotCQlERVNURElSPSIke0R9IiBcCi0JCXByZWZpeD0iJHtwcmVmaXh9IiBcCi0JCVNCSU5ESVI9IiR7c2JpbmRpcn0iCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCSMgTW92ZSB0aGUgbGlicmFyeSB0byBiYXNlX2xpYmRpcgotCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9saWJkaXJ9Ci0JaWYgWyAhICR7RH0ke2xpYmRpcn0gLWVmICR7RH0ke2Jhc2VfbGliZGlyfSBdOyB0aGVuCi0JCW12ICR7RH0ke2xpYmRpcn0vbGliY2FwKiAke0R9JHtiYXNlX2xpYmRpcn0KLSAgICAgICAgICAgICAgICBpZiBbIC1kICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgXTsgdGhlbgotCQkJbXYgJHtEfSR7bGliZGlyfS9zZWN1cml0eSAke0R9JHtiYXNlX2xpYmRpcn0KLQkJZmkKLQlmaQotfQotCi1GSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9Lyouc28iCi0KLSMgcGFtIGZpbGVzCi1GSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5zbyIKLQotQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNhcC9saWJjYXBfMi4yNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDg0MWRlCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjYXAvbGliY2FwXzIuMjYuYmIKQEAgLTAsMCArMSw3MyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBnZXR0aW5nL3NldHRpbmcgUE9TSVguMWUgY2FwYWJpbGl0aWVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3NpdGVzLmdvb2dsZS5jb20vc2l0ZS9mdWxseWNhcGFibGUvIgorCisjIG5vIHNwZWNpZmljIEdQTCB2ZXJzaW9uIHJlcXVpcmVkCitMSUNFTlNFID0gIkJTRCB8IEdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTGljZW5zZTttZDU9M2Y4NGZkNmYyOWQ0NTNhNTY1MTRjYjdlNGVhZDI1ZjEiCisKK0RFUEVORFMgPSAiaG9zdHBlcmwtcnVudGltZS1uYXRpdmUgZ3BlcmYtbmF0aXZlIgorCitTUkNfVVJJID0gIiR7S0VSTkVMT1JHX01JUlJPUn0vbGludXgvbGlicy9zZWN1cml0eS9saW51eC1wcml2cy8ke0JQTn0yLyR7QlBOfS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1lbnN1cmUtdGhlLVhBVFRSX05BTUVfQ0FQUy1pcy1kZWZpbmVkLXdoZW4taXQtaXMtdXNlLnBhdGNoIFwKKyAgICAgICAgICAgIgorU1JDX1VSSVttZDVzdW1dID0gIjk2OGFjNGQ0MmExYTcxNzU0MzEzNTI3YmUyYWI1ZGYzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI2MzBiN2M0ODQyNzFiM2JhODY3NjgwZDZhMTRiMTBhODZjZmE2NzI0N2ExNDYzMWIxNGMwNjczMWQ1YTQ1OGIiCisKK2luaGVyaXQgbGliX3BhY2thZ2UKKworIyBkbyBOT1QgcGFzcyB0YXJnZXQgY2ZsYWdzIHRvIGhvc3QgY29tcGlsYXRpb25zCisjCitkb19jb25maWd1cmUoKSB7CisJIyBsaWJjYXAgdXNlcyA6PSBmb3IgY29tcGlsZXJzLCBmb3J0dW5hdGVseSwgaXQgZ2l2ZXMgdXMgYSBoaW50CisJIyBvbiB3aGF0IHNob3VsZCBiZSByZXBsYWNlZCB3aXRoID89CisJc2VkIC1lICdzLDo9LD89LGcnIC1pIE1ha2UuUnVsZXMKKwlzZWQgLWUgJ3MsXkJVSUxEX0NGTEFHUyA/PSAkKC4qQ0ZMQUdTKSxCVUlMRF9DRkxBR1MgOj0gJChCVUlMRF9DRkxBR1MpLCcgLWkgTWFrZS5SdWxlcworfQorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgZCl9IgorUEFDS0FHRUNPTkZJR19jbGFzcy1uYXRpdmUgPz89ICIiCisKK1BBQ0tBR0VDT05GSUdbcGFtXSA9ICJQQU1fQ0FQPXllcyxQQU1fQ0FQPW5vLGxpYnBhbSIKKworRVhUUkFfT0VNQUtFID0gIiBcCisgIElOREVOVD0gIFwKKyAgbGliPScke2Jhc2VsaWJ9JyBcCisgIFJBSVNFX1NFVEZDQVA9bm8gXAorICBEWU5BTUlDPXllcyBcCisgIEJVSUxEX0dQRVJGPXllcyBcCisiCisKK0VYVFJBX09FTUFLRV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIiBTWVNURU1fSEVBREVSUz0ke1NUQUdJTkdfSU5DRElSfSIKKworIyB0aGVzZSBhcmUgcHJlc2VudCBpbiB0aGUgbGliY2FwIGRlZmF1bHRzLCBzbyBpbmNsdWRlIGluIG91ciBDRkxBR1MgdG9vCitDRkxBR1MgKz0gIi1EX0xBUkdFRklMRTY0X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IgorCitkb19jb21waWxlKCkgeworCW9lX3J1bm1ha2UgJHtQQUNLQUdFQ09ORklHX0NPTkZBUkdTfQorfQorCitkb19pbnN0YWxsKCkgeworCW9lX3J1bm1ha2UgaW5zdGFsbCBcCisJCSR7UEFDS0FHRUNPTkZJR19DT05GQVJHU30gXAorCQlERVNURElSPSIke0R9IiBcCisJCXByZWZpeD0iJHtwcmVmaXh9IiBcCisJCVNCSU5ESVI9IiR7c2JpbmRpcn0iCit9CisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgTW92ZSB0aGUgbGlicmFyeSB0byBiYXNlX2xpYmRpcgorCWluc3RhbGwgLWQgJHtEfSR7YmFzZV9saWJkaXJ9CisJaWYgWyAhICR7RH0ke2xpYmRpcn0gLWVmICR7RH0ke2Jhc2VfbGliZGlyfSBdOyB0aGVuCisJCW12ICR7RH0ke2xpYmRpcn0vbGliY2FwKiAke0R9JHtiYXNlX2xpYmRpcn0KKyAgICAgICAgICAgICAgICBpZiBbIC1kICR7RH0ke2xpYmRpcn0vc2VjdXJpdHkgXTsgdGhlbgorCQkJbXYgJHtEfSR7bGliZGlyfS9zZWN1cml0eSAke0R9JHtiYXNlX2xpYmRpcn0KKwkJZmkKKwlmaQorfQorCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7YmFzZV9saWJkaXJ9Lyouc28iCisKKyMgcGFtIGZpbGVzCitGSUxFU18ke1BOfSArPSAiJHtiYXNlX2xpYmRpcn0vc2VjdXJpdHkvKi5zbyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjaGVjay9saWJjaGVja18wLjEyLjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNoZWNrL2xpYmNoZWNrXzAuMTIuMC5iYgppbmRleCAzYmI0OGE3Li45NGIwZGMxIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNoZWNrL2xpYmNoZWNrXzAuMTIuMC5iYgorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNoZWNrL2xpYmNoZWNrXzAuMTIuMC5iYgpAQCAtMSw1ICsxLDUgQEAKIFNVTU1BUlkgID0gIkNoZWNrIC0gdW5pdCB0ZXN0aW5nIGZyYW1ld29yayBmb3IgQyBjb2RlIgotSE9NRVBBR0UgPSAiaHR0cDovL2NoZWNrLnNvdXJjZWZvcmdlLm5ldC8iCitIT01FUEFHRSA9ICJodHRwczovL2xpYmNoZWNrLmdpdGh1Yi5pby9jaGVjay8iCiBTRUNUSU9OID0gImRldmVsIgogCiBMSUNFTlNFICA9ICJMR1BMdjIuMSsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvL0NWRS0yMDE3LTc5NjEucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmNyb2NvL2xpYmNyb2NvL0NWRS0yMDE3LTc5NjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0NzFlYwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY28vQ1ZFLTIwMTctNzk2MS5wYXRjaApAQCAtMCwwICsxLDQ1IEBACitDVkU6IENWRS0yMDE3LTc5NjEKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gOWFkNzI4NzVlOWYwOGU0YzUxOWVmNjNkNDRjZGJkOTRhYTk1MDRmNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IElnbmFjaW8gQ2FzYWwgUXVpbnRlaXJvIDxxaWduYWNpb0BhbWF6b24uY29tPgorRGF0ZTogU3VuLCAxNiBBcHIgMjAxNyAxMzo1NjowOSArMDIwMAorU3ViamVjdDogW1BBVENIXSB0a256cjogc3VwcG9ydCBvbmx5IG1heCBsb25nIHJnYiB2YWx1ZXMKKworVGhpcyBmaXhlcyBhIHBvc3NpYmxlIG91dCBvZiBib3VuZCB3aGVuIHJlYWRpbmcgcmdicyB3aGljaAorYXJlIGxvbmdlciB0aGFuIHRoZSBzdXBwb3J0IE1BWExPTkcKKy0tLQorIHNyYy9jci10a256ci5jIHwgMTAgKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvY3ItdGtuenIuYyBiL3NyYy9jci10a256ci5jCitpbmRleCAxYTdjZmViLi4xNTQ4YzM1IDEwMDY0NAorLS0tIGEvc3JjL2NyLXRrbnpyLmMKKysrKyBiL3NyYy9jci10a256ci5jCitAQCAtMTI3OSw2ICsxMjc5LDExIEBAIGNyX3RrbnpyX3BhcnNlX3JnYiAoQ1JUa256ciAqIGFfdGhpcywgQ1JSZ2IgKiogYV9yZ2IpCisgICAgICAgICBzdGF0dXMgPSBjcl90a256cl9wYXJzZV9udW0gKGFfdGhpcywgJm51bSk7CisgICAgICAgICBFTlNVUkVfUEFSU0lOR19DT05EICgoc3RhdHVzID09IENSX09LKSAmJiAobnVtICE9IE5VTEwpKTsKKyAKKysgICAgICAgIGlmIChudW0tPnZhbCA+IEdfTUFYTE9ORykgeworKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBDUl9QQVJTSU5HX0VSUk9SOworKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworKyAgICAgICAgfQorKworICAgICAgICAgcmVkID0gbnVtLT52YWw7CisgICAgICAgICBjcl9udW1fZGVzdHJveSAobnVtKTsKKyAgICAgICAgIG51bSA9IE5VTEw7CitAQCAtMTI5OCw2ICsxMzAzLDExIEBAIGNyX3RrbnpyX3BhcnNlX3JnYiAoQ1JUa256ciAqIGFfdGhpcywgQ1JSZ2IgKiogYV9yZ2IpCisgICAgICAgICAgICAgICAgIHN0YXR1cyA9IGNyX3RrbnpyX3BhcnNlX251bSAoYV90aGlzLCAmbnVtKTsKKyAgICAgICAgICAgICAgICAgRU5TVVJFX1BBUlNJTkdfQ09ORCAoKHN0YXR1cyA9PSBDUl9PSykgJiYgKG51bSAhPSBOVUxMKSk7CisgCisrICAgICAgICAgICAgICAgIGlmIChudW0tPnZhbCA+IEdfTUFYTE9ORykgeworKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IENSX1BBUlNJTkdfRVJST1I7CisrICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKysgICAgICAgICAgICAgICAgfQorKworICAgICAgICAgICAgICAgICBQRUVLX0JZVEUgKGFfdGhpcywgMSwgJm5leHRfYnl0ZXNbMF0pOworICAgICAgICAgICAgICAgICBpZiAobmV4dF9ieXRlc1swXSA9PSAnJScpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICBTS0lQX0NIQVJTIChhX3RoaXMsIDEpOworLS0gCisyLjE4LjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliY3JvY28vbGliY3JvY29fMC42LjEyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jb18wLjYuMTIuYmIKaW5kZXggNWI5NjJlZS4uZjk1YTU4MyAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jb18wLjYuMTIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJjcm9jby9saWJjcm9jb18wLjYuMTIuYmIKQEAgLTE2LDcgKzE2LDkgQEAKIAogaW5oZXJpdCBnbm9tZWJhc2UgZ3RrLWRvYyBiaW5jb25maWctZGlzYWJsZWQKIAotU1JDX1VSSSArPSAiZmlsZTovL0NWRS0yMDE3LTc5NjAucGF0Y2giCitTUkNfVVJJICs9ICJmaWxlOi8vQ1ZFLTIwMTctNzk2MC5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTctNzk2MS5wYXRjaCBcCisgICAgICAgICAgICAiCiAKIFNSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gImJjMDk4NGZjZTA3OGJhMmNlMjlmOTUwMGM2YjlkZGNlIgogU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiZGRjNGI1NTQ2YzlmYjQyODBhNTAxN2UyNzA3ZmJkNDgzOTAzNGVkMWFiYTViN2Q0MzcyMjEyZjM0Zjg0Zjg2MCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXZkZXYvbGliZXZkZXZfMS41LjkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNS45LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTljNjBlLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXZkZXYvbGliZXZkZXZfMS41LjkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1TVU1NQVJZID0gIldyYXBwZXIgbGlicmFyeSBmb3IgZXZkZXYgZGV2aWNlcyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliZXZkZXYvIgotU0VDVElPTiA9ICJsaWJzIgotCi1MSUNFTlNFID0gIk1JVC1YIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzVhYWUwZDM4ZmVlYTZmZGE5N2NhMzgxY2I5MTMyZWIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGliZXZkZXYvbGliZXZkZXYuaDtlbmRsaW5lPTIxO21kNT03ZmY0ZjBiNTExMzI1MmMyZjFhODI4ZTBiYmFkOThkMSIKLQotU1JDX1VSSSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zb2Z0d2FyZS9saWJldmRldi8ke0JQfS50YXIueHoiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMWNhMTFlOTYxYzFlZmVkNzIwZmFjNDEzMDg4MTkwNCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJlMTY2Mzc1MTQ0M2JlZDlkM2U3NmE0ZmUyY2FmNmZhODY2YTc5NzA1ZDkxY2FjYWQ4MTVjMDRlNzA2MTk4YTc1IgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXZkZXYvbGliZXZkZXZfMS42LjAuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyY2Y1MTkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV2ZGV2L2xpYmV2ZGV2XzEuNi4wLmJiCkBAIC0wLDAgKzEsMTQgQEAKK1NVTU1BUlkgPSAiV3JhcHBlciBsaWJyYXJ5IGZvciBldmRldiBkZXZpY2VzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9saWJldmRldi8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTUlULVgiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03NWFhZTBkMzhmZWVhNmZkYTk3Y2EzODFjYjkxMzJlYiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJldmRldi9saWJldmRldi5oO2VuZGxpbmU9MjE7bWQ1PTdmZjRmMGI1MTEzMjUyYzJmMWE4MjhlMGJiYWQ5OGQxIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL2xpYmV2ZGV2LyR7QlB9LnRhci54eiIKKworU1JDX1VSSVttZDVzdW1dID0gIjE1NGIyNGYwMTQyNWM0YzgyZmRjM2UxMWYyYzEzYWY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY1MDA1Yzg2NTk4N2Q5ODBjYzEyNzliOWVjNjEzMWIwNmE4OWZkOTg5MmY2NDlmMmE2ODI2MmI4Nzg2ZWY4MTQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWYvQ1ZFLTIwMTYtNjMyOC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE2LTYzMjgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZmMzA3NAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmL0NWRS0yMDE2LTYzMjgucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorQ1ZFOiBDVkUtMjAxNi02MzI4CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitGcm9tIDQxYmQwNDIzNGIxMDQzMTJmNTRkMjU4MjJmNjg3MzhiYThkNzEzM2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJjdXMgTWVpc3NuZXIgPG1hcmN1c0BqZXQuZnJhbmtlbi5kZT4KK0RhdGU6IFR1ZSwgMjUgSnVsIDIwMTcgMjM6NDQ6NDQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4ZXMgc29tZSAobm90IGFsbCkgYnVmZmVyIG92ZXJyZWFkcyBkdXJpbmcgZGVjb2RpbmcgcGVudGF4CisgbWFrZXJub3RlIGVudHJpZXMuCisKK1RoaXMgc2hvdWxkIGZpeDoKK2h0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvbGliZXhpZi9idWdzLzEyNS8gQ1ZFLTIwMTYtNjMyOAorLS0tCisgbGliZXhpZi9wZW50YXgvbW5vdGUtcGVudGF4LWVudHJ5LmMgfCAxNiArKysrKysrKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWJleGlmL3BlbnRheC9tbm90ZS1wZW50YXgtZW50cnkuYyBiL2xpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jCitpbmRleCBkMDNkMTU5Li5lYTA0MjlhIDEwMDY0NAorLS0tIGEvbGliZXhpZi9wZW50YXgvbW5vdGUtcGVudGF4LWVudHJ5LmMKKysrKyBiL2xpYmV4aWYvcGVudGF4L21ub3RlLXBlbnRheC1lbnRyeS5jCitAQCAtNDI1LDI0ICs0MjUsMzQgQEAgbW5vdGVfcGVudGF4X2VudHJ5X2dldF92YWx1ZSAoTW5vdGVQZW50YXhFbnRyeSAqZW50cnksCisgCQljYXNlIEVYSUZfRk9STUFUX1NIT1JUOgorIAkJICB7CisgCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9IGVudHJ5LT5kYXRhOworLQkJICAJc2l6ZV90IGssIGxlbiA9IHN0cmxlbih2YWwpOworKwkJICAJc2l6ZV90IGssIGxlbiA9IHN0cmxlbih2YWwpLCBzaXplbGVmdDsKKysKKysJCQlzaXplbGVmdCA9IGVudHJ5LT5zaXplOworIAkJICAJZm9yKGs9MDsgazxlbnRyeS0+Y29tcG9uZW50czsgaysrKSB7CisrCQkJCWlmIChzaXplbGVmdCA8IDIpCisrCQkJCQlicmVhazsKKyAJCQkJdnMgPSBleGlmX2dldF9zaG9ydCAoZGF0YSwgZW50cnktPm9yZGVyKTsKKyAJCQkJc25wcmludGYgKHZhbCtsZW4sIG1heGxlbi1sZW4sICIlaSAiLCB2cyk7CisgCQkJCWxlbiA9IHN0cmxlbih2YWwpOworIAkJCQlkYXRhICs9IDI7CisrCQkJCXNpemVsZWZ0IC09IDI7CisgCQkJfQorIAkJICB9CisgCQkgIGJyZWFrOworIAkJY2FzZSBFWElGX0ZPUk1BVF9MT05HOgorIAkJICB7CisgCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSA9IGVudHJ5LT5kYXRhOworLQkJICAJc2l6ZV90IGssIGxlbiA9IHN0cmxlbih2YWwpOworKwkJICAJc2l6ZV90IGssIGxlbiA9IHN0cmxlbih2YWwpLCBzaXplbGVmdDsKKysKKysJCQlzaXplbGVmdCA9IGVudHJ5LT5zaXplOworIAkJICAJZm9yKGs9MDsgazxlbnRyeS0+Y29tcG9uZW50czsgaysrKSB7CisrCQkJCWlmIChzaXplbGVmdCA8IDQpCisrCQkJCQlicmVhazsKKyAJCQkJdmwgPSBleGlmX2dldF9sb25nIChkYXRhLCBlbnRyeS0+b3JkZXIpOworIAkJCQlzbnByaW50ZiAodmFsK2xlbiwgbWF4bGVuLWxlbiwgIiVsaSIsIChsb25nIGludCkgdmwpOworIAkJCQlsZW4gPSBzdHJsZW4odmFsKTsKKyAJCQkJZGF0YSArPSA0OworKwkJCQlzaXplbGVmdCAtPSA0OworIAkJCX0KKyAJCSAgfQorIAkJICBicmVhazsKK0BAIC00NTUsNSArNDY1LDUgQEAgbW5vdGVfcGVudGF4X2VudHJ5X2dldF92YWx1ZSAoTW5vdGVQZW50YXhFbnRyeSAqZW50cnksCisgCQlicmVhazsKKyAJfQorIAorLQlyZXR1cm4gKHZhbCk7CisrCXJldHVybiB2YWw7CisgfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWYvQ1ZFLTIwMTgtMjAwMzAucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZi9DVkUtMjAxOC0yMDAzMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjIzM2U2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWYvQ1ZFLTIwMTgtMjAwMzAucGF0Y2gKQEAgLTAsMCArMSwxMTUgQEAKK0NWRTogQ1ZFLTIwMTgtMjAwMzAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gNmFhMTFkZjU0OTExNGViZGE1MjBkZGU0Y2RhZWEyZjkzNTdiMmM4OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERhbiBGYW5kcmljaCA8ZGFuQGNvbmVoYXJ2ZXN0ZXJzLmNvbT4KK0RhdGU6IEZyaSwgMTIgT2N0IDIwMTggMTY6MDE6NDUgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gSW1wcm92ZSBkZWVwIHJlY3Vyc2lvbiBkZXRlY3Rpb24gaW4KKyBleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQuCisKK1RoZSBleGlzdGluZyBkZXRlY3Rpb24gd2FzIHN0aWxsIHZ1bG5lcmFibGUgdG8gcGF0aG9sb2dpY2FsIGNhc2VzCitjYXVzaW5nIERvUyBieSB3YXN0aW5nIENQVS4gVGhlIG5ldyBhbGdvcml0aG0gdGFrZXMgdGhlIG51bWJlciBvZiB0YWdzCitpbnRvIGFjY291bnQgdG8gbWFrZSBpdCBoYXJkZXIgdG8gYWJ1c2UgYnkgY2FzZXMgdXNpbmcgc2hhbGxvdyByZWN1cnNpb24KK2J1dCB3aXRoIGEgdmVyeSBsYXJnZSBudW1iZXIgb2YgdGFncy4gIFRoaXMgaW1wcm92ZXMgb24gY29tbWl0IDVkMjgwMTFjCit3aGljaCB3YXNuJ3Qgc3VmZmljaWVudCB0byBjb3VudGVyIHRoaXMga2luZCBvZiBjYXNlLgorCitUaGUgbGltaXRhdGlvbiBpbiB0aGUgcHJldmlvdXMgZml4IHdhcyBkaXNjb3ZlcmVkIGJ5IExhdXJlbnQgRGVsb3NpZXJlcywKK1NlY3VuaWEgUmVzZWFyY2ggYXQgRmxleGVyYSAoU2VjdW5pYSBBZHZpc29yeSBTQTg0NjUyKSBhbmQgaXMgYXNzaWduZWQKK3RoZSBpZGVudGlmaWVyIENWRS0yMDE4LTIwMDMwLgorCitkaWZmIC0tZ2l0IGEvbGliZXhpZi9leGlmLWRhdGEuYyBiL2xpYmV4aWYvZXhpZi1kYXRhLmMKK2luZGV4IDY3ZGY0ZGIuLjhkOTg5N2UgMTAwNjQ0CistLS0gYS9saWJleGlmL2V4aWYtZGF0YS5jCisrKysgYi9saWJleGlmL2V4aWYtZGF0YS5jCitAQCAtMzUsNiArMzUsNyBAQAorICNpbmNsdWRlIDxsaWJleGlmL29seW1wdXMvZXhpZi1tbm90ZS1kYXRhLW9seW1wdXMuaD4KKyAjaW5jbHVkZSA8bGliZXhpZi9wZW50YXgvZXhpZi1tbm90ZS1kYXRhLXBlbnRheC5oPgorIAorKyNpbmNsdWRlIDxtYXRoLmg+CisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK0BAIC0zNDQsNiArMzQ1LDIwIEBAIGlmIChkYXRhLT5pZmRbKGkpXS0+Y291bnQpIHsJCQkJXAorIAlicmVhazsJCQkJCQlcCisgfQorIAorKy8qISBDYWxjdWxhdGUgdGhlIHJlY3Vyc2lvbiBjb3N0IGFkZGVkIGJ5IG9uZSBsZXZlbCBvZiBJRkQgbG9hZGluZy4KKysgKgorKyAqIFRoZSB3b3JrIHBlcmZvcm1lZCBpcyByZWxhdGVkIHRvIHRoZSBjb3N0IGluIHRoZSBleHBvbmVudGlhbCByZWxhdGlvbgorKyAqICAgd29yaz0xLjEqKmNvc3QKKysgKi8KKytzdGF0aWMgdW5zaWduZWQgaW50CisrbGV2ZWxfY29zdCh1bnNpZ25lZCBpbnQgbikKKyt7CisrICAgIHN0YXRpYyBjb25zdCBkb3VibGUgbG9nXzFfMSA9IDAuMDk1MzEwMTc5ODA0MzI0OTM7CisrCisrCS8qIEFkZGluZyAwLjEgcHJvdGVjdHMgYWdhaW5zdCB0aGUgY2FzZSB3aGVyZSBuPT0xICovCisrCXJldHVybiBjZWlsKGxvZyhuICsgMC4xKS9sb2dfMV8xKTsKKyt9CisrCisgLyohIExvYWQgZGF0YSBmb3IgYW4gSUZELgorICAqCisgICogXHBhcmFtW2luLG91dF0gZGF0YSAjRXhpZkRhdGEKK0BAIC0zNTEsMTMgKzM2NiwxMyBAQCBpZiAoZGF0YS0+aWZkWyhpKV0tPmNvdW50KSB7CQkJCVwKKyAgKiBccGFyYW1baW5dIGQgcG9pbnRlciB0byBidWZmZXIgY29udGFpbmluZyByYXcgSUZEIGRhdGEKKyAgKiBccGFyYW1baW5dIGRzIHNpemUgb2YgcmF3IGRhdGEgaW4gYnVmZmVyIGF0IFxjIGQKKyAgKiBccGFyYW1baW5dIG9mZnNldCBvZmZzZXQgaW50byBidWZmZXIgYXQgXGMgZCBhdCB3aGljaCBJRkQgc3RhcnRzCistICogXHBhcmFtW2luXSByZWN1cnNpb25fZGVwdGggbnVtYmVyIG9mIHRpbWVzIHRoaXMgZnVuY3Rpb24gaGFzIGJlZW4KKy0gKiByZWN1cnNpdmVseSBjYWxsZWQgd2l0aG91dCByZXR1cm5pbmcKKysgKiBccGFyYW1baW5dIHJlY3Vyc2lvbl9jb3N0IGZhY3RvciBpbmRpY2F0aW5nIGhvdyBleHBlbnNpdmUgdGhpcyByZWN1cnNpdmUKKysgKiBjYWxsIGNvdWxkIGJlCisgICovCisgc3RhdGljIHZvaWQKKyBleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKEV4aWZEYXRhICpkYXRhLCBFeGlmSWZkIGlmZCwKKyAJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmQsCistCQkJICAgICB1bnNpZ25lZCBpbnQgZHMsIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCByZWN1cnNpb25fZGVwdGgpCisrCQkJICAgICB1bnNpZ25lZCBpbnQgZHMsIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGludCByZWN1cnNpb25fY29zdCkKKyB7CisgCUV4aWZMb25nIG8sIHRodW1ibmFpbF9vZmZzZXQgPSAwLCB0aHVtYm5haWxfbGVuZ3RoID0gMDsKKyAJRXhpZlNob3J0IG47CitAQCAtMzcyLDkgKzM4NywyMCBAQCBleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKEV4aWZEYXRhICpkYXRhLCBFeGlmSWZkIGlmZCwKKyAJaWYgKCgoKGludClpZmQpIDwgMCkgfHwgKCAoKGludClpZmQpID49IEVYSUZfSUZEX0NPVU5UKSkKKyAJICByZXR1cm47CisgCistCWlmIChyZWN1cnNpb25fZGVwdGggPiAzMCkgeworKwlpZiAocmVjdXJzaW9uX2Nvc3QgPiAxNzApIHsKKysJCS8qCisrCQkgKiByZWN1cnNpb25fY29zdCBpcyBhIGxvZ2FyaXRobWljLXNjYWxlIGluZGljYXRvciBvZiBob3cgZXhwZW5zaXZlIHRoaXMKKysJCSAqIHJlY3Vyc2l2ZSBjYWxsIG1pZ2h0IGVuZCB1cCBiZWluZy4gSXQgaXMgYW4gaW5kaWNhdG9yIG9mIHRoZSBkZXB0aCBvZgorKwkJICogcmVjdXJzaW9uIGFzIHdlbGwgYXMgdGhlIHBvdGVudGlhbCBmb3Igd29yc3QtY2FzZSBmdXR1cmUgcmVjdXJzaXZlCisrCQkgKiBjYWxscy4gU2luY2UgaXQncyBkaWZmaWN1bHQgdG8gdGVsbCBhaGVhZCBvZiB0aW1lIGhvdyBvZnRlbiByZWN1cnNpb24KKysJCSAqIHdpbGwgb2NjdXIsIHRoaXMgYXNzdW1lcyB0aGUgd29yc3QgYnkgYXNzdW1pbmcgZXZlcnkgdGFnIGNvdWxkIGVuZCB1cAorKwkJICogY2F1c2luZyByZWN1cnNpb24uCisrCQkgKiBUaGUgdmFsdWUgb2YgMTcwIHdhcyBjaG9zZW4gdG8gbGltaXQgdHlwaWNhbCBFWElGIHN0cnVjdHVyZXMgdG8gYQorKwkJICogcmVjdXJzaXZlIGRlcHRoIG9mIGFib3V0IDYsIGJ1dCBwYXRob2xvZ2ljYWwgb25lcyAodGhvc2Ugd2l0aCB2ZXJ5CisrCQkgKiBtYW55IHRhZ3MpIHRvIG9ubHkgMi4KKysJCSAqLworIAkJZXhpZl9sb2cgKGRhdGEtPnByaXYtPmxvZywgRVhJRl9MT0dfQ09ERV9DT1JSVVBUX0RBVEEsICJFeGlmRGF0YSIsCistCQkJICAiRGVlcCByZWN1cnNpb24gZGV0ZWN0ZWQhIik7CisrCQkJICAiRGVlcC9leHBlbnNpdmUgcmVjdXJzaW9uIGRldGVjdGVkISIpOworIAkJcmV0dXJuOworIAl9CisgCitAQCAtNDE2LDE1ICs0NDIsMTggQEAgZXhpZl9kYXRhX2xvYWRfZGF0YV9jb250ZW50IChFeGlmRGF0YSAqZGF0YSwgRXhpZklmZCBpZmQsCisgCQkJc3dpdGNoICh0YWcpIHsKKyAJCQljYXNlIEVYSUZfVEFHX0VYSUZfSUZEX1BPSU5URVI6CisgCQkJCUNIRUNLX1JFQyAoRVhJRl9JRkRfRVhJRik7CistCQkJCWV4aWZfZGF0YV9sb2FkX2RhdGFfY29udGVudCAoZGF0YSwgRVhJRl9JRkRfRVhJRiwgZCwgZHMsIG8sIHJlY3Vyc2lvbl9kZXB0aCArIDEpOworKwkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0VYSUYsIGQsIGRzLCBvLAorKwkJCQkJcmVjdXJzaW9uX2Nvc3QgKyBsZXZlbF9jb3N0KG4pKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSBFWElGX1RBR19HUFNfSU5GT19JRkRfUE9JTlRFUjoKKyAJCQkJQ0hFQ0tfUkVDIChFWElGX0lGRF9HUFMpOworLQkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0dQUywgZCwgZHMsIG8sIHJlY3Vyc2lvbl9kZXB0aCArIDEpOworKwkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0dQUywgZCwgZHMsIG8sCisrCQkJCQlyZWN1cnNpb25fY29zdCArIGxldmVsX2Nvc3QobikpOworIAkJCQlicmVhazsKKyAJCQljYXNlIEVYSUZfVEFHX0lOVEVST1BFUkFCSUxJVFlfSUZEX1BPSU5URVI6CisgCQkJCUNIRUNLX1JFQyAoRVhJRl9JRkRfSU5URVJPUEVSQUJJTElUWSk7CistCQkJCWV4aWZfZGF0YV9sb2FkX2RhdGFfY29udGVudCAoZGF0YSwgRVhJRl9JRkRfSU5URVJPUEVSQUJJTElUWSwgZCwgZHMsIG8sIHJlY3Vyc2lvbl9kZXB0aCArIDEpOworKwkJCQlleGlmX2RhdGFfbG9hZF9kYXRhX2NvbnRlbnQgKGRhdGEsIEVYSUZfSUZEX0lOVEVST1BFUkFCSUxJVFksIGQsIGRzLCBvLAorKwkJCQkJcmVjdXJzaW9uX2Nvc3QgKyBsZXZlbF9jb3N0KG4pKTsKKyAJCQkJYnJlYWs7CisgCQkJY2FzZSBFWElGX1RBR19KUEVHX0lOVEVSQ0hBTkdFX0ZPUk1BVDoKKyAJCQkJdGh1bWJuYWlsX29mZnNldCA9IG87CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZl8wLjYuMjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmV4aWYvbGliZXhpZl8wLjYuMjEuYmIKaW5kZXggYjU1MGExMS4uZDg0N2JlYSAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJleGlmL2xpYmV4aWZfMC42LjIxLmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZXhpZi9saWJleGlmXzAuNi4yMS5iYgpAQCAtNSwxNCArNSwxMyBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjQzYjcyNWQ3MWJiNWRmNGExZTU5MjBiMzQ0Yjg2YWQiCiAKIFNSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2xpYmV4aWYvbGliZXhpZi0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL0NWRS0yMDE3LTc1NDQucGF0Y2giCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNy03NTQ0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL0NWRS0yMDE2LTYzMjgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vQ1ZFLTIwMTgtMjAwMzAucGF0Y2giCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICIyNzMzOWI4OTg1MGYyOGM4ZjFjMjM3ZjIzM2UwNWIyNyIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICIxNmNkYWViNjJlYjNlNmRmYWIyNDM1ZjdkN2JjY2QyZjM3NDM4ZDIxYzUyMThlYzRlNThlZmE5MTU3ZDRkNDFhIgogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0CiAKLWRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7Ci0Jc2VkIC1pIHM6ZG9jXCBiaW5hcnk6YmluYXJ5OmcgTWFrZWZpbGUKLX0KLQorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtZG9jcyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm0tZXh0cmFfMS4zLjAuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm0tZXh0cmFfMS4zLjAuMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzM0ZDAxMC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4wLjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1TVU1NQVJZID0gIkxpYnJhcnkgZm9yIGZpbGUgbWFuYWdlbWVudCIKLUhPTUVQQUdFID0gImh0dHA6Ly9wY21hbmZtLnNvdXJjZWZvcmdlLm5ldC8iCi0KLUxJQ0VOU0UgPSAiTEdQTHYyKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9mbS1leHRyYS5oO2JlZ2lubGluZT04O2VuZGxpbmU9MjE7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IgotCi1TRUNUSU9OID0gIngxMS9saWJzIgotREVQRU5EUyA9ICJnbGliLTIuMC1uYXRpdmUgZ2xpYi0yLjAgaW50bHRvb2wtbmF0aXZlIgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9wY21hbmZtL2xpYmZtLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLW5scy5tNC1UYWtlLWl0LWZyb20tZ2V0dGV4dC0wLjE1LnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIwMmEwMjQ3MTRkNTFlMGQzN2FmYzdiZDU5NmE0NGYzYiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIxOGQwNmY3OTk2Y2UxY2Y4OTQ3ZGY2ZTEwNmJjMDMzOGM2YWUwYzQxMzhjMzE2ZjI1MDFmNmY2ZjQzNWM3YzcyIgotCi1TID0gIiR7V09SS0RJUn0vbGliZm0tJHtQVn0iCi0KLUVYVFJBX09FQ09ORiA9ICItLXdpdGgtZXh0cmEtb25seSAtLXdpdGgtZ3RrPW5vIgotCi1pbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ3RrLWRvYyBnZXR0ZXh0Ci0KLWRvX2NvbmZpZ3VyZVtkaXJzXSA9KyAiJHtTfS9tNCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm0tZXh0cmFfMS4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1MTAyYTEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtLWV4dHJhXzEuMy4xLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgZmlsZSBtYW5hZ2VtZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3BjbWFuZm0uc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3JjL2ZtLWV4dHJhLmg7YmVnaW5saW5lPTg7ZW5kbGluZT0yMTttZDU9ZWYxZjg0ZGE2NGIzYzAxY2NhNDQ3MjEyZjdlZjYwMDciCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitERVBFTkRTID0gImdsaWItMi4wLW5hdGl2ZSBnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L3BjbWFuZm0vbGliZm0tJHtQVn0udGFyLnh6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbmxzLm00LVRha2UtaXQtZnJvbS1nZXR0ZXh0LTAuMTUucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImMxNWVjZDJjOTMxN2UyYzM4NWNkM2YwNDZkMGI2MWJhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk2YjEyNDRiZGU0MWNhMGVlZjAzMzJjZmI1YzY3YmIxNjcyNWRmZDEwMjEyOGYzZTZmNzRmYWRjMTNhMWNmZTQiCisKK1MgPSAiJHtXT1JLRElSfS9saWJmbS0ke1BWfSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC1leHRyYS1vbmx5IC0td2l0aC1ndGs9bm8iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBndGstZG9jIGdldHRleHQKKworZG9fY29uZmlndXJlW2RpcnNdID0rICIke1N9L200IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJmbS9saWJmbV8xLjMuMC4yLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MmQ2YTUxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjAuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLVNVTU1BUlkgPSAiTGlicmFyeSBmb3IgZmlsZSBtYW5hZ2VtZW50IgotSE9NRVBBR0UgPSAiaHR0cDovL3BjbWFuZm0uc291cmNlZm9yZ2UubmV0LyIKLQotTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDY0MWU5NGVjOTZmOThmYWJjNTZmZjljYzQ4YmUxNGIgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2ZtLmg7YmVnaW5saW5lPTg7ZW5kbGluZT0yMTttZDU9ZWYxZjg0ZGE2NGIzYzAxY2NhNDQ3MjEyZjdlZjYwMDcgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Jhc2UvZm0tY29uZmlnLmg7YmVnaW5saW5lPTEwO2VuZGxpbmU9MjM7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS1ndGsuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTE5O21kNT02NDZiYWE0OTU1YzA0ZmU3NjhmMmNhMjdiOTJhYzhkZCIKLQotCi1TRUNUSU9OID0gIngxMS9saWJzIgotREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgcGFuZ28gZ3RrKzMgbWVudS1jYWNoZSBpbnRsdG9vbC1uYXRpdmUgbGliZXhpZiBsaWJmbS1leHRyYSIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9saWJmbS0ke1BWfS50YXIueHogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1Db3JyZWN0bHktY2hlY2stdGhlLXN0YW1wLWZpbGUtdGhhdC1pbmRpY2F0ZXMtaWYtd2UtLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWFkZC1saWJyYXJ5LXBhdGgtdG8tYXZvaWQtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDJhMDI0NzE0ZDUxZTBkMzdhZmM3YmQ1OTZhNDRmM2IiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMThkMDZmNzk5NmNlMWNmODk0N2RmNmUxMDZiYzAzMzhjNmFlMGM0MTM4YzMxNmYyNTAxZjZmNmY0MzVjN2M3MiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKLUFOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAiJHtHVEszRElTVFJPRkVBVFVSRVN9IgotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRoLWd0az0zIgotCi1kb19jb25maWd1cmVbZGlyc10gPSsgIiR7U30vbTQiCi0KLVBBQ0tBR0VTID0rICJsaWJmbS1ndGsiCi1QQUNLQUdFUyArPSAiJHtQTn0tbWltZSIKLUZJTEVTX2xpYmZtLWd0ayA9ICIgXAotICAgICR7bGliZGlyfS9saWJmbS1ndGsqc28uKiBcCi0gICAgJHtsaWJkaXJ9L2xpYmZtL21vZHVsZXMvZ3RrKiBcCi0gICAgJHtiaW5kaXJ9L2xpYmZtLXByZWYtYXBwcyBcCi0gICAgJHtiaW5kaXJ9L2x4c2hvcnRjdXQgXAotICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2xpYmZtLXByZWYtYXBwcy5kZXNrdG9wIFwKLSAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9seHNob3J0Y3V0LmRlc2t0b3AgXAotICAgICR7ZGF0YWRpcn0vbGliZm0vaW1hZ2VzL2ZvbGRlci5wbmcgXAotICAgICR7ZGF0YWRpcn0vbGliZm0vaW1hZ2VzL3Vua25vd24ucG5nIFwKLSAgICAke2RhdGFkaXJ9L2xpYmZtL3VpLyoudWkgXAotIgotRklMRVNfJHtQTn0tbWltZSA9ICIke2RhdGFkaXJ9L21pbWUvIgotCi1kb19pbnN0YWxsX2FwcGVuZCAoKSB7Ci0gICAgIyByZW1vdmUgZmlsZXMgd2hpY2ggYXJlIHBhcnQgb2YgbGliZm0tZXh0cmEKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0teG1sLWZpbGUuaAotICAgIHJtIC1mICR7RH0ke2luY2x1ZGVkaXJ9L2xpYmZtLTEuMC9mbS12ZXJzaW9uLmgKLSAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tZXh0cmEuaAotICAgIHJtIC1mICR7RH0ke2luY2x1ZGVkaXJ9L2xpYmZtCi0gICAgcm0gLWYgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbGliZm0tZXh0cmEucGMKLSAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLnNvKgotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vbGliZm0tZXh0cmEuYQotICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vbGliZm0tZXh0cmEubGEKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZm0vbGliZm1fMS4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1YTZmOGUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmZtL2xpYmZtXzEuMy4xLmJiCkBAIC0wLDAgKzEsNTQgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgZmlsZSBtYW5hZ2VtZW50IgorSE9NRVBBR0UgPSAiaHR0cDovL3BjbWFuZm0uc291cmNlZm9yZ2UubmV0LyIKKworTElDRU5TRSA9ICJHUEx2MisgJiBMR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDY0MWU5NGVjOTZmOThmYWJjNTZmZjljYzQ4YmUxNGIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2ZtLmg7YmVnaW5saW5lPTg7ZW5kbGluZT0yMTttZDU9ZWYxZjg0ZGE2NGIzYzAxY2NhNDQ3MjEyZjdlZjYwMDcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2Jhc2UvZm0tY29uZmlnLmg7YmVnaW5saW5lPTEwO2VuZGxpbmU9MjM7bWQ1PWVmMWY4NGRhNjRiM2MwMWNjYTQ0NzIxMmY3ZWY2MDA3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mbS1ndGsuaDtiZWdpbmxpbmU9NjtlbmRsaW5lPTE5O21kNT02NDZiYWE0OTU1YzA0ZmU3NjhmMmNhMjdiOTJhYzhkZCIKKworCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgcGFuZ28gZ3RrKzMgbWVudS1jYWNoZSBpbnRsdG9vbC1uYXRpdmUgbGliZXhpZiBsaWJmbS1leHRyYSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcGNtYW5mbS9saWJmbS0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Db3JyZWN0bHktY2hlY2stdGhlLXN0YW1wLWZpbGUtdGhhdC1pbmRpY2F0ZXMtaWYtd2UtLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWFkZC1saWJyYXJ5LXBhdGgtdG8tYXZvaWQtaG9zdC1jb250YW1pbmF0aW9uLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYzE1ZWNkMmM5MzE3ZTJjMzg1Y2QzZjA0NmQwYjYxYmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTZiMTI0NGJkZTQxY2EwZWVmMDMzMmNmYjVjNjdiYjE2NzI1ZGZkMTAyMTI4ZjNlNmY3NGZhZGMxM2ExY2ZlNCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGd0ay1kb2MgZ2V0dGV4dCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKK0FOWV9PRl9ESVNUUk9fRkVBVFVSRVMgPSAiJHtHVEszRElTVFJPRkVBVFVSRVN9IgorCitFWFRSQV9PRUNPTkYgPSAiLS13aXRoLWd0az0zIgorCitkb19jb25maWd1cmVbZGlyc10gPSsgIiR7U30vbTQiCisKK1BBQ0tBR0VTID0rICJsaWJmbS1ndGsiCitQQUNLQUdFUyArPSAiJHtQTn0tbWltZSIKK0ZJTEVTX2xpYmZtLWd0ayA9ICIgXAorICAgICR7bGliZGlyfS9saWJmbS1ndGsqc28uKiBcCisgICAgJHtsaWJkaXJ9L2xpYmZtL21vZHVsZXMvZ3RrKiBcCisgICAgJHtiaW5kaXJ9L2xpYmZtLXByZWYtYXBwcyBcCisgICAgJHtiaW5kaXJ9L2x4c2hvcnRjdXQgXAorICAgICR7ZGF0YWRpcn0vYXBwbGljYXRpb25zL2xpYmZtLXByZWYtYXBwcy5kZXNrdG9wIFwKKyAgICAke2RhdGFkaXJ9L2FwcGxpY2F0aW9ucy9seHNob3J0Y3V0LmRlc2t0b3AgXAorICAgICR7ZGF0YWRpcn0vbGliZm0vaW1hZ2VzL2ZvbGRlci5wbmcgXAorICAgICR7ZGF0YWRpcn0vbGliZm0vaW1hZ2VzL3Vua25vd24ucG5nIFwKKyAgICAke2RhdGFkaXJ9L2xpYmZtL3VpLyoudWkgXAorIgorRklMRVNfJHtQTn0tbWltZSA9ICIke2RhdGFkaXJ9L21pbWUvIgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisgICAgIyByZW1vdmUgZmlsZXMgd2hpY2ggYXJlIHBhcnQgb2YgbGliZm0tZXh0cmEKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0teG1sLWZpbGUuaAorICAgIHJtIC1mICR7RH0ke2luY2x1ZGVkaXJ9L2xpYmZtLTEuMC9mbS12ZXJzaW9uLmgKKyAgICBybSAtZiAke0R9JHtpbmNsdWRlZGlyfS9saWJmbS0xLjAvZm0tZXh0cmEuaAorICAgIHJtIC1mICR7RH0ke2luY2x1ZGVkaXJ9L2xpYmZtCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbGliZm0tZXh0cmEucGMKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2xpYmZtLWV4dHJhLnNvKgorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vbGliZm0tZXh0cmEuYQorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vbGliZm0tZXh0cmEubGEKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAxLXN5c2NmZy1TdXBwb3J0LUFSQy1DUFVzLWFuZC1zaW1wbGlmeS1hbGlhc2luZy10YWJsZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAxLXN5c2NmZy1TdXBwb3J0LUFSQy1DUFVzLWFuZC1zaW1wbGlmeS1hbGlhc2luZy10YWJsZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNiMGNlNy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvMDAwMS1zeXNjZmctU3VwcG9ydC1BUkMtQ1BVcy1hbmQtc2ltcGxpZnktYWxpYXNpbmctdGFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOTggKzAsMCBAQAotRnJvbSBkNGZkNjk3NTY3MTQ3NzcyMTkzNjA2MDc3MWFhNGQ3ZDA3ZmIwOTEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogV2VybmVyIEtvY2ggPHdrQGdudXBnLm9yZz4KLURhdGU6IFR1ZSwgMTggU2VwIDIwMTggMTQ6NTQ6MDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCBsaWJncGctZXJyb3JdIHN5c2NmZzogU3VwcG9ydCBBUkMgQ1BVcyBhbmQgc2ltcGxpZnkgYWxpYXNpbmcKLSB0YWJsZS4KLQotKiBzcmMvbWtoZWFkZXIuYyAoeG1hbGxvYyk6IE5ldy4KLSh4c3RyZHVwKTogSW1wbGVtZW50IHVzaW5nIHhtYWxsb2MuCi0oY2Fub25faG9zdF90cmlwbGV0KTogQWRkIHN1cHBvcnIgZm9yIGFyYyBDUFUuICBBZGp1c3QgYWxpYXMgdGFibGUgdG8KLWFsc28gYWxpYXMgKi1wYy0qLiAgUmVuYW1lIGlibSB0byB1bmtub3duLiBBZGQgaW50ZXJuYWwgYXJnLiAgQWRkCi11bmtub3duIHZlbmRvciBoYWNrLgotKG1haW4pOiBOZXcgbW9kZSB0byBqdXN0IHByaW50IHRoZSBjYW5vbmljYWxpemVkIGZvcm0uCi0qIHNyYy9NYWtlZmlsZS5hbSAobG9ja19vYmpfcHViKTogcy8tKHBjfGlibSktLy11bmtub3duLy4gIEFsc28gcmVuYW1lCi1maWxlcyBhY2NvcmRpbmdseS4KLS0tCi0KLWNvbmZpZy5zdWIgZG9lcyBubyByZWFsIGFsaWFzaW5nIGFuZCB0aHVzIHdlIHdvdWxkIG5lZWQgdG8gYWRkIHNldmVyYWwKLXZlbmRvcnMgdG8gdGhlIGFsaXNpbmcgdGFibGVzIGRlc3BpdGUgdGhhdCB0aGlzIGhhcyBubyB0ZWNobmljYWwKLW1lYW5kaW5nLiAgSW5zdGVhZCB3ZSBub3cgcmVwbGFjZSB0aGUgdmVuZG9yIHdpdGggInVua25vd24iIGZvciB0aGUKLTQtcGFydC0idHJpcGxldHMiLiAgVGhpcyBjaGFuZ2Ugd2lsbCBtYWtlIG1haW50ZW5hY2UgZWFzaWVyLgotCi1TaWduZWQtb2ZmLWJ5OiBXZXJuZXIgS29jaCA8d2tAZ251cGcub3JnPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsgaHR0cDovL2dpdC5nbnVwZy5vcmcvY2dpLWJpbi9naXR3ZWIuY2dpP3A9bGliZ3BnLWVycm9yLmdpdDthPWNvbW1pdDtoPTQ4YzhmOGRkZmM4MCBdCi0tLS0KLSBzcmMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNiArKy0tCi0gc3JjL21raGVhZGVyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTIgKysrKysrKysrKysrKysrKy0tLQotIC4uLi1nbnUuaCA9PiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5ofSB8ICAwCi0gLi4uIGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24ta2ZyZWVic2QtZ251Lmh9IHwgIDAKLSAuLi4gPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaH0gfCAgMAotIC4uLj0+IGxvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5ofSB8ICAwCi0gLi4ub2NrLW9iai1wdWIueDg2XzY0LXVua25vd24ta2ZyZWVic2QtZ251Lmh9IHwgIDAKLSAuLi4+IGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaH0gfCAgMAotIC4uLm9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudXgzMi5ofSB8ICAwCi0gLi4uIGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1tdXNsLmh9IHwgIDAKLSAxMCBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLmk2ODYtcGMtZ251LmggPT4gbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi5pNjg2LXBjLWtmcmVlYnNkLWdudS5oID0+IGxvY2stb2JqLXB1Yi5pNjg2LXVua25vd24ta2ZyZWVic2QtZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIuaTY4Ni1wYy1saW51eC1nbnUuaCA9PiBsb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWxpbnV4LWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLnMzOTB4LWlibS1saW51eC1nbnUuaCA9PiBsb2NrLW9iai1wdWIuczM5MHgtdW5rbm93bi1saW51eC1nbnUuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi54ODZfNjQtcGMta2ZyZWVic2QtZ251LmggPT4gbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWtmcmVlYnNkLWdudS5ofSAoMTAwJSkKLSByZW5hbWUgc3JjL3N5c2NmZy97bG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnUuaCA9PiBsb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251Lmh9ICgxMDAlKQotIHJlbmFtZSBzcmMvc3lzY2ZnL3tsb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LWdudXgzMi5oID0+IGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnV4MzIuaH0gKDEwMCUpCi0gcmVuYW1lIHNyYy9zeXNjZmcve2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtbXVzbC5oID0+IGxvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1tdXNsLmh9ICgxMDAlKQotCi1kaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCi1pbmRleCA0Mjk5OGU0NmEzYmMuLjhlYzU4MmVmOTlmYiAxMDA2NDQKLS0tLSBhL3NyYy9NYWtlZmlsZS5hbQotKysrIGIvc3JjL01ha2VmaWxlLmFtCi1AQCAtNTIsOSArNTIsOSBAQCBsb2NrX29ial9wdWIgPSBcCi0gCXN5c2NmZy9sb2NrLW9iai1wdWIuYXJtLWFwcGxlLWRhcndpbi5oICAgICAgICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmhwcGEtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgXAotIAlzeXNjZmcvbG9jay1vYmotcHViLmkzODYtYXBwbGUtZGFyd2luLmggICAgICAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni1wYy1rZnJlZWJzZC1nbnUuaCAgICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMtbGludXgtZ251LmggICAgICAgICAgICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tZ251LmggICAgICAgICAgICAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5oICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLmk2ODYtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5tNjhrLXVua25vd24tbGludXgtZ251LmggICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIubWlwcy11bmtub3duLWxpbnV4LWdudS5oICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLm1pcHM2NGVsLXVua25vd24tbGludXgtZ251YWJpNjQuaCBcCi1AQCAtNjYsMTYgKzY2LDE2IEBAIGxvY2tfb2JqX3B1YiA9IFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5wb3dlcnBjNjRsZS11bmtub3duLWxpbnV4LWdudS5oIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5wb3dlcnBjLXVua25vd24tbGludXgtZ251c3BlLmggIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi5yaXNjdjY0LXVua25vd24tbGludXgtZ251LmggICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuczM5MHgtaWJtLWxpbnV4LWdudS5oICAgICAgICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnMzOTB4LXVua25vd24tbGludXgtZ251LmggICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zaDMtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgIFwKLSAgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIuc2g0LXVua25vd24tbGludXgtZ251LmggICAgICAgICBcCi0gICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLnNwYXJjLXVua25vd24tbGludXgtZ251LmggICAgICAgXAotICAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi5zcGFyYzY0LXVua25vd24tbGludXgtZ251LmggICAgIFwKLSAJc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtYXBwbGUtZGFyd2luLmggICAgICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWtmcmVlYnNkLWdudS5oICAgICAgICBcCi0tICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnUuaCAgICAgICAgICAgXAotLSAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtZ251eDMyLmggICAgICAgIFwKLS0gICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LW11c2wuaCAgICAgICAgICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWtmcmVlYnNkLWdudS5oICAgXAotKyAgICAgICAgc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1nbnUuaCAgICAgIFwKLSsgICAgICAgIHN5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251eDMyLmggICBcCi0rICAgICAgICBzeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LW11c2wuaCAgICAgXAotIAlzeXNjZmcvbG9jay1vYmotcHViLnRpbGVneC11bmtub3duLWxpbnV4LWdudS5oICAgICAgXAotIAlzeXNjZmcvbG9jay1vYmotcHViLmlhNjQtdW5rbm93bi1saW51eC1nbnUuaCAgICAgICAgXAotIAlzeXNjZmcvbG9jay1vYmotcHViLm1pbmd3MzIuaAotZGlmZiAtLWdpdCBhL3NyYy9ta2hlYWRlci5jIGIvc3JjL21raGVhZGVyLmMKLWluZGV4IDJmYzVmYWRhNjZhNC4uN2EzOGExYmVjMWE0IDEwMDY0NAotLS0tIGEvc3JjL21raGVhZGVyLmMKLSsrKyBiL3NyYy9ta2hlYWRlci5jCi1AQCAtNTEsMTcgKzUxLDI3IEBAIHhmcmVlICh2b2lkICphKQotIAotIAotIHN0YXRpYyBjaGFyICoKLS14c3RyZHVwIChjb25zdCBjaGFyICpzdHJpbmcpCi0reG1hbGxvYyAoc2l6ZV90IG4pCi0gewotICAgY2hhciAqcDsKLS0gIHNpemVfdCBsZW4gPSBzdHJsZW4gKHN0cmluZykgKyAxOwotIAotLSAgcCA9IG1hbGxvYyAobGVuKTsKLSsgIHAgPSBtYWxsb2MgKG4pOwotICAgaWYgKCFwKQotICAgICB7Ci0gICAgICAgZnB1dHMgKFBHTSAiOiBvdXQgb2YgY29yZVxuIiwgc3RkZXJyKTsKLSAgICAgICBleGl0ICgxKTsKLSAgICAgfQotKyAgcmV0dXJuIHA7Ci0rfQotKwotKwotK3N0YXRpYyBjaGFyICoKLSt4c3RyZHVwIChjb25zdCBjaGFyICpzdHJpbmcpCi0rewotKyAgY2hhciAqcDsKLSsgIHNpemVfdCBsZW4gPSBzdHJsZW4gKHN0cmluZykgKyAxOwotKwotKyAgcCA9IHhtYWxsb2MgKGxlbik7Ci0gICBtZW1jcHkgKHAsIHN0cmluZywgbGVuKTsKLSAgIHJldHVybiBwOwotIH0KLUBAIC02OSwyMyArNzksMzEgQEAgeHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQotIAotIC8qIFJldHVybiBhIG1hbGxvY2VkIHN0cmluZyB3aXRoIFRSSVBMRVQuICBJZiBUUklQTEVUIGhhcyBhbiBhbGlhcwotICAgIHJldHVybiB0aGF0IGluc3RlYWQuICBJbiBnZW5lcmFsIGJ1aWxkLWF1eC9jb25maWcuc3ViIHNob3VsZCBkbyB0aGUKLS0gICBhbGlhc2luZyBidXQgc29tZSByZXR1cm5lZCB0cmlwbGV0cyBhcmUgYW55d2F5IGlkZW50aWNhbCBhbmQgdGh1cyB3ZQotLSAgIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIG1hcCBpdCB0byB0aGUgY2Fub25pY2FsIGZvcm0uICAqLwotKyAgIGFsaWFzaW5nIGJ1dCBzb21lIHJldHVybmVkIHRyaXBsZXRzIGFyZSBhbnl3YXkgaWRlbnRpY2FsIGFuZCB0aHVzCi0rICAgd2UgdXNlIHRoaXMgZnVuY3Rpb24gdG8gbWFwIGl0IHRvIHRoZSBjYW5vbmljYWwgZm9ybS4KLSsgICBOT19WRU5ET1JfSEFDSyBpcyBmb3IgaW50ZXJuYWwgdXNlOyBjYWxsZXIgbXVzdCBjYWxsIHdpdGggMC4gKi8KLSBzdGF0aWMgY2hhciAqCi0tY2Fub25faG9zdF90cmlwbGV0IChjb25zdCBjaGFyICp0cmlwbGV0KQotK2Nhbm9uX2hvc3RfdHJpcGxldCAoY29uc3QgY2hhciAqdHJpcGxldCwgaW50IG5vX3ZlbmRvcl9oYWNrKQotIHsKLSAgIHN0cnVjdCB7Ci0gICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgIGNvbnN0IGNoYXIgKmFsaWFzOwotICAgfSB0YmxbXSA9IHsKLS0gICAgeyJpNDg2LXBjLWxpbnV4LWdudSIsICJpNjg2LXBjLWxpbnV4LWdudSIgfSwKLSsgICAgeyJpNDg2LXBjLWxpbnV4LWdudSIsICJpNjg2LXVua25vd24tbGludXgtZ251IiB9LAotICAgICB7Imk1ODYtcGMtbGludXgtZ251IiB9LAotLSAgICB7Imk0ODYtcGMtZ251IiwgImk2ODYtcGMtZ251In0sCi0rICAgIHsiaTY4Ni1wYy1saW51eC1nbnUiIH0sCi0rICAgIHsiYXJjLW9lLWxpbnV4LXVjbGliYyIgfSwgLyogT3RoZXIgQ1BVIGJ1dCBzYW1lIHN0cnVjdC4gICovCi0rCi0rICAgIHsiaTQ4Ni1wYy1nbnUiLCAiaTY4Ni11bmtub3duLWdudSJ9LAotICAgICB7Imk1ODYtcGMtZ251In0sCi0tICAgIHsiaTQ4Ni1wYy1rZnJlZWJzZC1nbnUiLCAiaTY4Ni1wYy1rZnJlZWJzZC1nbnUifSwKLSsgICAgeyJpNjg2LXBjLWdudSJ9LAotKwotKyAgICB7Imk0ODYtcGMta2ZyZWVic2QtZ251IiwgImk2ODYtdW5rbm93bi1rZnJlZWJzZC1nbnUifSwKLSAgICAgeyJpNTg2LXBjLWtmcmVlYnNkLWdudSJ9LAotKyAgICB7Imk2ODYtcGMta2ZyZWVic2QtZ251In0sCi0gCi0tICAgIHsieDg2XzY0LXBjLWxpbnV4LWdudWhhcmRlbmVkMSIsICJ4ODZfNjQtcGMtbGludXgtZ251IiB9LAotKyAgICB7Ing4Nl82NC1wYy1saW51eC1nbnVoYXJkZW5lZDEiLCAieDg2XzY0LXVua25vd24tbGludXgtZ251IiB9LAotKyAgICB7Ing4Nl82NC1wYy1saW51eC1nbnUiIH0sCi0gCi0gICAgIHsicG93ZXJwYy11bmtub3duLWxpbnV4LWdudXNwZSIsICJwb3dlcnBjLXVua25vd24tbGludXgtZ251IiB9LAotIAotQEAgLTk4LDYgKzExNiw3IEBAIGNhbm9uX2hvc3RfdHJpcGxldCAoY29uc3QgY2hhciAqdHJpcGxldCkKLSAgIH07Ci0gICBpbnQgaTsKLSAgIGNvbnN0IGNoYXIgKmxhc3RhbGlhcyA9IE5VTEw7Ci0rICBjb25zdCBjaGFyICpzOwotIAotICAgZm9yIChpPTA7IHRibFtpXS5uYW1lOyBpKyspCi0gICAgIHsKLUBAIC0xMTAsNiArMTI5LDM2IEBAIGNhbm9uX2hvc3RfdHJpcGxldCAoY29uc3QgY2hhciAqdHJpcGxldCkKLSAgICAgICAgICAgcmV0dXJuIHhzdHJkdXAgKGxhc3RhbGlhcyk7Ci0gICAgICAgICB9Ci0gICAgIH0KLSsgIGZvciAoaT0wLCBzPXRyaXBsZXQ7ICpzOyBzKyspCi0rICAgIGlmICgqcyA9PSAnLScpCi0rICAgICAgaSsrOwotKyAgaWYgKGkgPiAyICYmICFub192ZW5kb3JfaGFjaykKLSsgICAgewotKyAgICAgIC8qIFdlIGhhdmUgYSA0IHBhcnQgInRyaXBsZXQiOiBDUFUtVkVORE9SLUtFUk5FTC1TWVNURU0gd2hlcmUKLSsgICAgICAgKiB0aGUgbGFzdCB0d28gcGFydHMgcmVwbGFjZSB0aGUgT1MgcGFydCBvZiBhIHJlYWwgdHJpcGxldC4KLSsgICAgICAgKiBUaGUgVkVORE9SIHBhcnQgaXMgdGhlbiBpbiBnZW5lcmFsIHVzZWxlc3MgYmVjYXVzZQotKyAgICAgICAqIEtFUk5FTC1TWVNURU0gaXMgc3BlY2lmaWMgZW5vdWdoLiAgV2Ugbm93IGRvIGEgc2Vjb25kIHBhc3MgYnkKLSsgICAgICAgKiByZXBsYWNpbmcgVkVORE9SIHdpdGggInVua25vd24iLiAgKi8KLSsgICAgICBjaGFyICpwOwotKyAgICAgIGNoYXIgKmJ1ZiA9IHhtYWxsb2MgKHN0cmxlbiAodHJpcGxldCkgKyA3ICsgMSk7Ci0rCi0rICAgICAgZm9yIChwPWJ1ZixzPXRyaXBsZXQsaT0wOyAqczsgcysrKQotKyAgICAgICAgewotKyAgICAgICAgICAqcCsrID0gKnM7Ci0rICAgICAgICAgIGlmICgqcyA9PSAnLScgJiYgKytpID09IDEpCi0rICAgICAgICAgICAgewotKyAgICAgICAgICAgICAgbWVtY3B5IChwLCAidW5rbm93bi0iLDgpOwotKyAgICAgICAgICAgICAgcCArPSA4OwotKyAgICAgICAgICAgICAgZm9yIChzKys7ICpzICE9ICctJzsgcysrKQotKyAgICAgICAgICAgICAgICA7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotKyAgICAgICpwID0gMDsKLSsgICAgICBwID0gY2Fub25faG9zdF90cmlwbGV0IChidWYsIDEpOwotKyAgICAgIHhmcmVlIChidWYpOwotKyAgICAgIHJldHVybiBwOwotKyAgICB9Ci0rCi0gICByZXR1cm4geHN0cmR1cCAodHJpcGxldCk7Ci0gfQotIAotQEAgLTU1OCw3ICs2MDcsNyBAQCB3cml0ZV9zcGVjaWFsIChjb25zdCBjaGFyICpmbmFtZSwgaW50IGxuciwgY29uc3QgY2hhciAqdGFnKQotIGludAotIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSB7Ci0tICBGSUxFICpmcDsKLSsgIEZJTEUgKmZwID0gTlVMTDsKLSAgIGNoYXIgbGluZVtMSU5FU0laRV07Ci0gICBpbnQgbG5yID0gMDsKLSAgIGNvbnN0IGNoYXIgKmZuYW1lLCAqczsKLUBAIC01NzEsMTEgKzYyMCwyMiBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICAgICAgYXJnYy0tOyBhcmd2Kys7Ci0gICAgIH0KLSAKLS0gIGlmIChhcmdjICE9IDYpCi0rICBpZiAoYXJnYyA9PSAxKQotKyAgICB7Ci0rICAgICAgLyogUHJpbnQganVzdCB0aGUgY2Fub25pY2FsaXplZCBob3N0IHRyaXBsZXQuICAqLwotKyAgICAgIGhvc3RfdHJpcGxldCA9IGNhbm9uX2hvc3RfdHJpcGxldCAoYXJndlswXSwgMCk7Ci0rICAgICAgcHJpbnRmICgiJXNcbiIsIGhvc3RfdHJpcGxldCk7Ci0rICAgICAgZ290byBsZWF2ZTsKLSsgICAgfQotKyAgZWxzZSBpZiAoYXJnYyA9PSA2KQotKyAgICA7IC8qIFN0YW5kYXJkIG9wZXJhdGlvbi4gICovCi0rICBlbHNlCi0gICAgIHsKLSAgICAgICBmcHV0cyAoInVzYWdlOiAiIFBHTQotICAgICAgICAgICAgICAiIGhvc3Rfb3MgaG9zdF90cmlwbGV0IHRlbXBsYXRlLmggY29uZmlnLmgiCi0tICAgICAgICAgICAgICIgdmVyc2lvbiB2ZXJzaW9uX251bWJlclxuIiwKLSsgICAgICAgICAgICAgIiB2ZXJzaW9uIHZlcnNpb25fbnVtYmVyXG4iCi0rICAgICAgICAgICAgICIgICAgICAgIiBQR00KLSsgICAgICAgICAgICAgIiBob3N0X3RyaXBsZXRcbiIsCi0gICAgICAgICAgICAgIHN0ZGVycik7Ci0gICAgICAgcmV0dXJuIDE7Ci0gICAgIH0KLUBAIC01ODYsNyArNjQ2LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotICAgaGRyX3ZlcnNpb24gPSBhcmd2WzRdOwotICAgaGRyX3ZlcnNpb25fbnVtYmVyID0gYXJndls1XTsKLSAKLS0gIGhvc3RfdHJpcGxldCA9IGNhbm9uX2hvc3RfdHJpcGxldCAoaG9zdF90cmlwbGV0X3Jhdyk7Ci0rICBob3N0X3RyaXBsZXQgPSBjYW5vbl9ob3N0X3RyaXBsZXQgKGhvc3RfdHJpcGxldF9yYXcsIDApOwotIAotICAgc3JjZGlyID0gbWFsbG9jIChzdHJsZW4gKGZuYW1lKSArIDIgKyAxKTsKLSAgIGlmICghc3JjZGlyKQotQEAgLTY3NywxMyArNzM3LDE1IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgICAgICAiRW5kOlxuIgotICAgICAgICAgICIqL1xuIiwgc3Rkb3V0KTsKLSAKLSsgbGVhdmU6Ci0gICBpZiAoZmVycm9yIChzdGRvdXQpKQotICAgICB7Ci0gICAgICAgZnByaW50ZiAoc3RkZXJyLCBQR00gIjogZXJyb3Igd3JpdGluZyB0byBzdGRvdXQ6ICVzXG4iLCBzdHJlcnJvciAoZXJybm8pKTsKLSAgICAgICByZXR1cm4gMTsKLSAgICAgfQotIAotLSAgZmNsb3NlIChmcCk7Ci0rICBpZiAoZnApCi0rICAgIGZjbG9zZSAoZnApOwotIAotICAgeGZyZWUgKGhvc3RfdHJpcGxldCk7Ci0gICByZXR1cm4gMDsKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWdudS5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWtmcmVlYnNkLWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWtmcmVlYnNkLWdudS5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMta2ZyZWVic2QtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24ta2ZyZWVic2QtZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXBjLWxpbnV4LWdudS5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuaTY4Ni11bmtub3duLWxpbnV4LWdudS5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLmk2ODYtcGMtbGludXgtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5pNjg2LXVua25vd24tbGludXgtZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC1pYm0tbGludXgtZ251LmggYi9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi5zMzkweC11bmtub3duLWxpbnV4LWdudS5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLnMzOTB4LWlibS1saW51eC1nbnUuaAotcmVuYW1lIHRvIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLnMzOTB4LXVua25vd24tbGludXgtZ251LmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMta2ZyZWVic2QtZ251LmggYi9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaAotc2ltaWxhcml0eSBpbmRleCAxMDAlCi1yZW5hbWUgZnJvbSBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMta2ZyZWVic2QtZ251LmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1rZnJlZWJzZC1nbnUuaAotZGlmZiAtLWdpdCBhL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnUuaCBiL3NyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudS5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1nbnUuaAotcmVuYW1lIHRvIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC11bmtub3duLWxpbnV4LWdudS5oCi1kaWZmIC0tZ2l0IGEvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LWdudXgzMi5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251eDMyLmgKLXNpbWlsYXJpdHkgaW5kZXggMTAwJQotcmVuYW1lIGZyb20gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXBjLWxpbnV4LWdudXgzMi5oCi1yZW5hbWUgdG8gc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtZ251eDMyLmgKLWRpZmYgLS1naXQgYS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtcGMtbGludXgtbXVzbC5oIGIvc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIueDg2XzY0LXVua25vd24tbGludXgtbXVzbC5oCi1zaW1pbGFyaXR5IGluZGV4IDEwMCUKLXJlbmFtZSBmcm9tIHNyYy9zeXNjZmcvbG9jay1vYmotcHViLng4Nl82NC1wYy1saW51eC1tdXNsLmgKLXJlbmFtZSB0byBzcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi54ODZfNjQtdW5rbm93bi1saW51eC1tdXNsLmgKLS0tIAotMi4xNy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yLzAwMDItc3lzY2ZnLUFkZC1zdXBwb3J0LWZvci1hcmMtdW5rbm93bi1saW51eC1nbnUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5NzY1MmYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yLzAwMDItc3lzY2ZnLUFkZC1zdXBwb3J0LWZvci1hcmMtdW5rbm93bi1saW51eC1nbnUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi1Gcm9tIGFlNmEzZjIwMzQ1ZGFjNGI5ZGFhYjhjMzlhYzJkM2ZiM2YyYzIxZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBXZXJuZXIgS29jaCA8d2tAZ251cGcub3JnPgotRGF0ZTogRnJpLCAyMSBTZXAgMjAxOCAxNDozNzoyMSArMDIwMAotU3ViamVjdDogW1BBVENIIExpYmdwZy1lcnJvcl0gc3lzY2ZnOiBBZGQgc3VwcG9ydCBmb3IgYXJjLXVua25vd24tbGludXgtZ251Ci0KLSogc3JjL21raGVhZGVyLmMgKGNhbm9uX2hvc3RfdHJpcGxldCk6IEFkZCB0byB0YWJsZS4KLS0tCi0KLU5vdGUgdGhhdCB1bmtub3duIGluIHRoZSBhYm92ZSB0cmlwbGV0IGlzIGFjdHVhbGx5IGEgd2lsZGNhcmQgZm9yIDQKLXBhcnQgdHJpcGxldHMuCi0KLVNpZ25lZC1vZmYtYnk6IFdlcm5lciBLb2NoIDx3a0BnbnVwZy5vcmc+Ci0KLVVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHA6Ly9naXQuZ251cGcub3JnL2NnaS1iaW4vZ2l0d2ViLmNnaT9wPWxpYmdwZy1lcnJvci5naXQ7YT1jb21taXQ7aD1mNGYwZGE3NGY1MjZkN2UzNWNlZGJjMmU5MzQ1NGRmNjQ0MGRiZmE1XQotLS0tCi0gc3JjL21raGVhZGVyLmMgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9ta2hlYWRlci5jIGIvc3JjL21raGVhZGVyLmMKLWluZGV4IDdhMzhhMWJlYzFhNC4uYTQ4NjZlOTZlZjQzIDEwMDY0NAotLS0tIGEvc3JjL21raGVhZGVyLmMKLSsrKyBiL3NyYy9ta2hlYWRlci5jCi1AQCAtOTIsNyArOTIsOCBAQCBjYW5vbl9ob3N0X3RyaXBsZXQgKGNvbnN0IGNoYXIgKnRyaXBsZXQsIGludCBub192ZW5kb3JfaGFjaykKLSAgICAgeyJpNDg2LXBjLWxpbnV4LWdudSIsICJpNjg2LXVua25vd24tbGludXgtZ251IiB9LAotICAgICB7Imk1ODYtcGMtbGludXgtZ251IiB9LAotICAgICB7Imk2ODYtcGMtbGludXgtZ251IiB9LAotLSAgICB7ImFyYy1vZS1saW51eC11Y2xpYmMiIH0sIC8qIE90aGVyIENQVSBidXQgc2FtZSBzdHJ1Y3QuICAqLwotKyAgICB7ImFyYy1vZS1saW51eC1nbnUiICAgIH0sIC8qIE90aGVyIENQVSBidXQgc2FtZSBzdHJ1Y3QuICAqLwotKyAgICB7ImFyYy1vZS1saW51eC11Y2xpYmMiIH0sIC8qIGFuZCB1Y2xpYmMgaXMgYWxzbyB0aGUgc2FtZS4gICovCi0gCi0gICAgIHsiaTQ4Ni1wYy1nbnUiLCAiaTY4Ni11bmtub3duLWdudSJ9LAotICAgICB7Imk1ODYtcGMtZ251In0sCi0tLSAKLTIuMTcuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvcGtnY29uZmlnLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yL3BrZ2NvbmZpZy5wYXRjaAppbmRleCAzMDY2NjEzLi5jYTVmNmI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3IvcGtnY29uZmlnLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci9wa2djb25maWcucGF0Y2gKQEAgLTgsNTMgKzgsMjEgQEAKIFJlYmFzZSB0byAxLjI4CiAKIFNpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKworUmVmYWN0b3JlZCBmb3IgMS4zMworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyODA4QGdtYWlsLmNvbT4KKwogLS0tCiAgY29uZmlndXJlLmFjICAgICAgICB8ICAxICsKLSBzcmMvTWFrZWZpbGUuYW0gICAgIHwgIDQgKystCiAgc3JjL2dwZy1lcnJvci5tNCAgICB8IDcxICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gc3JjL2dwZy1lcnJvci5wYy5pbiB8IDExICsrKysrKysrKwogIDQgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9ncGctZXJyb3IucGMuaW4KIAotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggYWNhOTMwMC4uZjc3OTRlOSAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNjIxLDYgKzYyMSw3IEBAIEFDX0NPTkZJR19GSUxFUyhbc3JjL01ha2VmaWxlIHRlc3RzL01ha2VmaWxlXSkKLSBBQ19DT05GSUdfRklMRVMoW2xhbmcvTWFrZWZpbGUgbGFuZy9jbC9NYWtlZmlsZSBsYW5nL2NsL2dwZy1lcnJvci5hc2RdKQotIEFDX0NPTkZJR19GSUxFUyhbc3JjL3ZlcnNpb25pbmZvLnJjIHNyYy9ncGctZXJyb3IudzMyLW1hbmlmZXN0XSkKLSBBQ19DT05GSUdfRklMRVMoW3NyYy9ncGctZXJyb3ItY29uZmlnXSwgW2NobW9kICt4IHNyYy9ncGctZXJyb3ItY29uZmlnXSkKLStBQ19DT05GSUdfRklMRVMoW3NyYy9ncGctZXJyb3IucGNdKQotIAotIEFDX09VVFBVVAotIAotZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQotaW5kZXggMjY4YzJhYi4uOTVmODQ1OSAxMDA2NDQKLS0tLSBhL3NyYy9NYWtlZmlsZS5hbQotKysrIGIvc3JjL01ha2VmaWxlLmFtCi1AQCAtODcsNiArODcsOCBAQCBiaW5fU0NSSVBUUyA9IGdwZy1lcnJvci1jb25maWcKLSBub2Rpc3RfYmluX1NDUklQVFMgPSBncGdydC1jb25maWcKLSBtNGRhdGFkaXIgPSAkKGRhdGFkaXIpL2FjbG9jYWwKLSBtNGRhdGFfREFUQSA9IGdwZy1lcnJvci5tNCBncGdydC5tNAotK3BrZ2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKLStwa2djb25maWdfREFUQSA9IGdwZy1lcnJvci5wYwotIAotIEVYVFJBX0RJU1QgPSBta3N0cnRhYmxlLmF3ayBlcnItc291cmNlcy5oLmluIGVyci1jb2Rlcy5oLmluIFwKLSAJbWtlcnJub3MuYXdrIGVycm5vcy5pbiBSRUFETUUgXAotQEAgLTk0LDcgKzk2LDcgQEAgRVhUUkFfRElTVCA9IG1rc3RydGFibGUuYXdrIGVyci1zb3VyY2VzLmguaW4gZXJyLWNvZGVzLmguaW4gXAotIAlta2hlYWRlci5jIGdwZy1lcnJvci5oLmluIG1rdzMyZXJybWFwLmMgdzMyLWFkZC5oIHczMmNlLWFkZC5oIFwKLSAJZXJyLXNvdXJjZXMuaCBlcnItY29kZXMuaCBncGctZXJyb3ItY29uZmlnLmluIGdwZy1lcnJvci5tNCBncGdydC5tNCBcCi0gCWdwZy1lcnJvci52ZXJzIGdwZy1lcnJvci5kZWYuaW4gXAotLSAgICAgICAgdmVyc2lvbmluZm8ucmMuaW4gZ3BnLWVycm9yLnczMi1tYW5pZmVzdC5pbiBcCi0rICAgICAgICB2ZXJzaW9uaW5mby5yYy5pbiBncGctZXJyb3IudzMyLW1hbmlmZXN0LmluIGdwZy1lcnJvci5wYyBcCi0gCSQobG9ja19vYmpfcHViKQotIAotIEJVSUxUX1NPVVJDRVMgPSBlcnItc291cmNlcy5oIGVyci1jb2Rlcy5oIGNvZGUtdG8tZXJybm8uaCBjb2RlLWZyb20tZXJybm8uaCBcCi1kaWZmIC0tZ2l0IGEvc3JjL2dwZy1lcnJvci5tNCBiL3NyYy9ncGctZXJyb3IubTQKLWluZGV4IDYwYzg4ZDguLjJlZjdlM2UgMTAwNjQ0Ci0tLS0gYS9zcmMvZ3BnLWVycm9yLm00Ci0rKysgYi9zcmMvZ3BnLWVycm9yLm00Ci1AQCAtMjYsNzMgKzI2LDEzIEBAIGRubCBpcyBhZGRlZCB0byB0aGUgZ3BnX2NvbmZpZ19zY3JpcHRfd2FybiB2YXJpYWJsZS4KK0luZGV4OiBsaWJncGctZXJyb3ItMS4zMy9zcmMvZ3BnLWVycm9yLm00Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gbGliZ3BnLWVycm9yLTEuMzMub3JpZy9zcmMvZ3BnLWVycm9yLm00CisrKysgbGliZ3BnLWVycm9yLTEuMzMvc3JjL2dwZy1lcnJvci5tNAorQEAgLTI2LDEzOSArMjYsMTMgQEAgZG5sIGlzIGFkZGVkIHRvIHRoZSBncGdfY29uZmlnX3NjcmlwdF93YQogIGRubAogIEFDX0RFRlVOKFtBTV9QQVRIX0dQR19FUlJPUl0sCiAgWyBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCkBAIC02NiwxNCArMzQsMTUgQEAKIC0gICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtbGliZ3BnLWVycm9yLXByZWZpeD1QRlhdLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ByZWZpeCB3aGVyZSBHUEcgRXJyb3IgaXMgaW5zdGFsbGVkIChvcHRpb25hbCldKSwKIC0gICAgICAgICAgICAgIFtncGdfZXJyb3JfY29uZmlnX3ByZWZpeD0iJHdpdGh2YWwiXSkKLS0KKysgIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAuMCwkMSkKKysgIFBLR19DSEVDS19NT0RVTEVTKEdQR19FUlJPUiwgW2dwZy1lcnJvciA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uXSwgW29rPXllc10sIFtvaz1ub10pCisgCiAtICBkbmwgQWNjZXB0IC0td2l0aC1ncGctZXJyb3ItcHJlZml4IGFuZCBtYWtlIGl0IHdvcmsgdGhlIHNhbWUgYXMKIC0gIGRubCAtLXdpdGgtbGliZ3BnLWVycm9yLXByZWZpeCBhYm92ZSwgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LAogLSAgZG5sIGJ1dCBkbyBub3QgZG9jdW1lbnQgdGhpcyBvbGQsIGluY29uc2lzdGVudGx5LW5hbWVkIG9wdGlvbi4KIC0gIEFDX0FSR19XSVRIKGdwZy1lcnJvci1wcmVmaXgsLAogLSAgICAgICAgICAgICAgW2dwZ19lcnJvcl9jb25maWdfcHJlZml4PSIkd2l0aHZhbCJdKQotKyAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxzZShbJDFdLCAsMC4wLCQxKQotIAorLQogLSAgaWYgdGVzdCB4IiR7R1BHX0VSUk9SX0NPTkZJR30iID0geCA7IHRoZW4KIC0gICAgIGlmIHRlc3QgeCIke2dwZ19lcnJvcl9jb25maWdfcHJlZml4fSIgIT0geCA7IHRoZW4KIC0gICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiR7Z3BnX2Vycm9yX2NvbmZpZ19wcmVmaXh9L2Jpbi9ncGctZXJyb3ItY29uZmlnIgpAQCAtOTIsMTkgKzYxLDU3IEBACiAtICAgICAgIGVzYWMKIC0gICAgIGZpCiAtICBmaQotKyAgUEtHX0NIRUNLX01PRFVMRVMoR1BHX0VSUk9SLCBbZ3BnLWVycm9yID49ICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb25dLCBbb2s9eWVzXSwgW29rPW5vXSkKLSAKKy0KIC0gIEFDX1BBVEhfUFJPRyhHUEdfRVJST1JfQ09ORklHLCBncGctZXJyb3ItY29uZmlnLCBubykKLS0gIG1pbl9ncGdfZXJyb3JfdmVyc2lvbj1pZmVsc2UoWyQxXSwgLDAuMCwkMSkKLS0gIEFDX01TR19DSEVDS0lORyhmb3IgR1BHIEVycm9yIC0gdmVyc2lvbiA+PSAkbWluX2dwZ19lcnJvcl92ZXJzaW9uKQorLSAgbWluX2dwZ19lcnJvcl92ZXJzaW9uPWlmZWxzZShbJDFdLCAsMS4zMywkMSkKIC0gIG9rPW5vCi0tICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0gIm5vIiBcCi0tICAgICAmJiB0ZXN0IC1mICIkR1BHX0VSUk9SX0NPTkZJRyIgOyB0aGVuCistCistICBpZiB0ZXN0ICIkcHJlZml4IiA9IE5PTkUgOyB0aGVuCistICAgIHByZWZpeF9vcHRpb25fZXhwYW5kZWQ9L3Vzci9sb2NhbAorLSAgZWxzZQorLSAgICBwcmVmaXhfb3B0aW9uX2V4cGFuZGVkPSIkcHJlZml4IgorLSAgZmkKKy0gIGlmIHRlc3QgIiRleGVjX3ByZWZpeCIgPSBOT05FIDsgdGhlbgorLSAgICBleGVjX3ByZWZpeF9vcHRpb25fZXhwYW5kZWQ9JHByZWZpeF9vcHRpb25fZXhwYW5kZWQKKy0gIGVsc2UKKy0gICAgZXhlY19wcmVmaXhfb3B0aW9uX2V4cGFuZGVkPSQocHJlZml4PSRwcmVmaXhfb3B0aW9uX2V4cGFuZGVkIGV2YWwgZWNobyAkZXhlY19wcmVmaXgpCistICBmaQorLSAgbGliZGlyX29wdGlvbl9leHBhbmRlZD0kKHByZWZpeD0kcHJlZml4X29wdGlvbl9leHBhbmRlZCBleGVjX3ByZWZpeD0kZXhlY19wcmVmaXhfb3B0aW9uX2V4cGFuZGVkIGV2YWwgZWNobyAkbGliZGlyKQorLQorLSAgaWYgdGVzdCAtZiAkbGliZGlyX29wdGlvbl9leHBhbmRlZC9wa2djb25maWcvZ3BnLWVycm9yLnBjOyB0aGVuCistICAgIGdwZ3J0X2xpYmRpcj0kbGliZGlyX29wdGlvbl9leHBhbmRlZAorLSAgZWxzZQorLSAgICBpZiBjcnQxX3BhdGg9JCgke0NDOi1jY30gLXByaW50LWZpbGUtbmFtZT1jcnQxLm8gMj4vZGV2L251bGwpOyB0aGVuCistICAgICAgaWYgcG9zc2libGVfbGliZGlyPSQoY2QgJHtjcnQxX3BhdGglLyp9ICYmIHB3ZCAyPi9kZXYvbnVsbCk7IHRoZW4KKy0gICAgICAgIGlmIHRlc3QgLWYgJHBvc3NpYmxlX2xpYmRpci9wa2djb25maWcvZ3BnLWVycm9yLnBjOyB0aGVuCistICAgICAgICAgIGdwZ3J0X2xpYmRpcj0kcG9zc2libGVfbGliZGlyCistICAgICAgICBmaQorLSAgICAgIGZpCistICAgIGZpCistICBmaQorLQorLSAgaWYgdGVzdCAiJEdQR19FUlJPUl9DT05GSUciID0gIm5vIiAtYSAtbiAiJGdwZ3J0X2xpYmRpciI7IHRoZW4KKy0gICAgQUNfUEFUSF9QUk9HKEdQR1JUX0NPTkZJRywgZ3BncnQtY29uZmlnLCBubykKKy0gICAgaWYgdGVzdCAiJEdQR1JUX0NPTkZJRyIgPSAibm8iOyB0aGVuCistICAgICAgdW5zZXQgR1BHUlRfQ09ORklHCistICAgIGVsc2UKKy0gICAgICBHUEdSVF9DT05GSUc9IiRHUEdSVF9DT05GSUcgLS1saWJkaXI9JGdwZ3J0X2xpYmRpciIKKy0gICAgICBpZiAkR1BHUlRfQ09ORklHIGdwZy1lcnJvciA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKy0gICAgICAgIEdQR19FUlJPUl9DT05GSUc9IiRHUEdSVF9DT05GSUcgZ3BnLWVycm9yIgorLSAgICAgICAgQUNfTVNHX05PVElDRShbVXNlIGdwZ3J0LWNvbmZpZyB3aXRoICRncGdydF9saWJkaXIgYXMgZ3BnLWVycm9yLWNvbmZpZ10pCistICAgICAgICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHIC0tbW9kdmVyc2lvbmAKKy0gICAgICBlbHNlCistICAgICAgICB1bnNldCBHUEdSVF9DT05GSUcKKy0gICAgICBmaQorLSAgICBmaQorLSAgZWxzZQorLSAgICBncGdfZXJyb3JfY29uZmlnX3ZlcnNpb249YCRHUEdfRVJST1JfQ09ORklHIC0tdmVyc2lvbmAKKy0gIGZpCistICBpZiB0ZXN0ICIkR1BHX0VSUk9SX0NPTkZJRyIgIT0gIm5vIjsgdGhlbgogLSAgICByZXFfbWFqb3I9YGVjaG8gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbiB8IFwKIC0gICAgICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpXC5cKFtbMC05XV0qXCkvXDEvJ2AKIC0gICAgcmVxX21pbm9yPWBlY2hvICRtaW5fZ3BnX2Vycm9yX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpL1wyLydgCi0tICAgIGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbj1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLXZlcnNpb25gCiAtICAgIG1ham9yPWBlY2hvICRncGdfZXJyb3JfY29uZmlnX3ZlcnNpb24gfCBcCiAtICAgICAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKVwuXChbWzAtOV1dKlwpLiovXDEvJ2AKIC0gICAgbWlub3I9YGVjaG8gJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbiB8IFwKQEAgLTExOCwyMCArMTI1LDQ3IEBACiAtICAgICAgICAgICAgZmkKIC0gICAgICAgIGZpCiAtICAgIGZpCistICAgIGlmIHRlc3QgLXogIiRHUEdSVF9DT05GSUciIC1hIC1uICIkZ3BncnRfbGliZGlyIjsgdGhlbgorLSAgICAgIGlmIHRlc3QgIiRtYWpvciIgLWd0IDEgLW8gIiRtYWpvciIgLWVxIDEgLWEgIiRtaW5vciIgLWdlIDMzOyB0aGVuCistICAgICAgICBBQ19QQVRIX1BST0coR1BHUlRfQ09ORklHLCBncGdydC1jb25maWcsIG5vKQorLSAgICAgICAgaWYgdGVzdCAiJEdQR1JUX0NPTkZJRyIgPSAibm8iOyB0aGVuCistICAgICAgICAgIHVuc2V0IEdQR1JUX0NPTkZJRworLSAgICAgICAgZWxzZQorLSAgICAgICAgICBHUEdSVF9DT05GSUc9IiRHUEdSVF9DT05GSUcgLS1saWJkaXI9JGdwZ3J0X2xpYmRpciIKKy0gICAgICAgICAgaWYgJEdQR1JUX0NPTkZJRyBncGctZXJyb3IgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCistICAgICAgICAgICAgR1BHX0VSUk9SX0NPTkZJRz0iJEdQR1JUX0NPTkZJRyBncGctZXJyb3IiCistICAgICAgICAgICAgQUNfTVNHX05PVElDRShbVXNlIGdwZ3J0LWNvbmZpZyB3aXRoICRncGdydF9saWJkaXIgYXMgZ3BnLWVycm9yLWNvbmZpZ10pCistICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICB1bnNldCBHUEdSVF9DT05GSUcKKy0gICAgICAgICAgZmkKKy0gICAgICAgIGZpCistICAgICAgZmkKKy0gICAgZmkKIC0gIGZpCistICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIEdQRyBFcnJvciAtIHZlcnNpb24gPj0gJG1pbl9ncGdfZXJyb3JfdmVyc2lvbikKICAgIGlmIHRlc3QgJG9rID0geWVzOyB0aGVuCi0tICAgIEdQR19FUlJPUl9DRkxBR1M9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1jZmxhZ3NgCi0tICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAkZ3BnX2Vycm9yX2NvbmZpZ19hcmdzIC0tbGlic2AKLS0gICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tY2ZsYWdzIDI+L2Rldi9udWxsYAotLSAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgJGdwZ19lcnJvcl9jb25maWdfYXJncyAtLW10IC0tbGlicyAyPi9kZXYvbnVsbGAKKy0gICAgR1BHX0VSUk9SX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgLS1jZmxhZ3NgCistICAgIEdQR19FUlJPUl9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAtLWxpYnNgCistICAgIGlmIHRlc3QgLXogIiRHUEdSVF9DT05GSUciOyB0aGVuCistICAgICAgR1BHX0VSUk9SX01UX0NGTEFHUz1gJEdQR19FUlJPUl9DT05GSUcgLS1tdCAtLWNmbGFncyAyPi9kZXYvbnVsbGAKKy0gICAgICBHUEdfRVJST1JfTVRfTElCUz1gJEdQR19FUlJPUl9DT05GSUcgLS1tdCAtLWxpYnMgMj4vZGV2L251bGxgCistICAgIGVsc2UKKy0gICAgICBHUEdfRVJST1JfTVRfQ0ZMQUdTPWAkR1BHX0VSUk9SX0NPTkZJRyAtLXZhcmlhYmxlPW10Y2ZsYWdzIDI+L2Rldi9udWxsYAorLSAgICAgIEdQR19FUlJPUl9NVF9DRkxBR1M9IiRHUEdfRVJST1JfQ0ZMQUdTJHtHUEdfRVJST1JfQ0ZMQUdTOisgfSRHUEdfRVJST1JfTVRfQ0ZMQUdTIgorLSAgICAgIEdQR19FUlJPUl9NVF9MSUJTPWAkR1BHX0VSUk9SX0NPTkZJRyAtLXZhcmlhYmxlPW10bGlicyAyPi9kZXYvbnVsbGAKKy0gICAgICBHUEdfRVJST1JfTVRfTElCUz0iJEdQR19FUlJPUl9MSUJTJHtHUEdfRVJST1JfTElCUzorIH0kR1BHX0VSUk9SX01UX0xJQlMiCistICAgIGZpCiAtICAgIEFDX01TR19SRVNVTFQoW3llcyAoJGdwZ19lcnJvcl9jb25maWdfdmVyc2lvbildKQogICAgICBpZmVsc2UoWyQyXSwgLCA6LCBbJDJdKQotLSAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRHUEdfRVJST1JfQ09ORklHICRncGdfZXJyb3JfY29uZmlnX2FyZ3MgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKLSsgICAgZ3BnX2Vycm9yX2NvbmZpZ19ob3N0PWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPWhvc3QgZ3BnLWVycm9yYAorICAgICBpZiB0ZXN0IC16ICIkR1BHUlRfQ09ORklHIjsgdGhlbgorLSAgICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgLS1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKKy0gICAgZWxzZQorLSAgICAgIGdwZ19lcnJvcl9jb25maWdfaG9zdD1gJEdQR19FUlJPUl9DT05GSUcgLS12YXJpYWJsZT1ob3N0IDI+L2Rldi9udWxsIHx8IGVjaG8gbm9uZWAKKysgICAgICBncGdfZXJyb3JfY29uZmlnX2hvc3Q9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9aG9zdCBncGctZXJyb3JgCisgICAgIGZpCiAgICAgIGlmIHRlc3QgeCIkZ3BnX2Vycm9yX2NvbmZpZ19ob3N0IiAhPSB4bm9uZSA7IHRoZW4KICAgICAgICBpZiB0ZXN0IHgiJGdwZ19lcnJvcl9jb25maWdfaG9zdCIgIT0geCIkaG9zdCIgOyB0aGVuCi0gICBBQ19NU0dfV0FSTihbWwotQEAgLTEwNywxMSArNDcsNiBAQCBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAorQEAgLTE3NCwxNSArNDgsNiBAQCBBQ19ERUZVTihbQU1fUEFUSF9HUEdfRVJST1JdLAogICAgICAgIGZpCiAgICAgIGZpCiAgICBlbHNlCkBAIC0xNDIsMjQgKzE3Niw4IEBACiAtICAgIEFDX01TR19SRVNVTFQobm8pCiAgICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCiAgICBmaQotICAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKLWRpZmYgLS1naXQgYS9zcmMvZ3BnLWVycm9yLnBjLmluIGIvc3JjL2dwZy1lcnJvci5wYy5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmJjMGIxNzQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy9ncGctZXJyb3IucGMuaW4KLUBAIC0wLDAgKzEsMTEgQEAKLStwcmVmaXg9QHByZWZpeEAKLStleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACi0rbGliZGlyPUBsaWJkaXJACi0raW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKLStob3N0PUBHUEdfRVJST1JfQ09ORklHX0hPU1RACi0rCi0rTmFtZTogZ3BnLWVycm9yCi0rRGVzY3JpcHRpb246IGEgbGlicmFyeSB0aGF0IGRlZmluZXMgY29tbW9uIGVycm9yIHZhbHVlcyBmb3IgYWxsIEdudVBHIGNvbXBvbmVudHMKLStWZXJzaW9uOiBAVkVSU0lPTkAKLStMaWJzOiAtTCR7bGliZGlyfSAtbGdwZy1lcnJvcgotK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9Ci0tLSAKLTEuOC4zLjEKLQorLSAgQUNfU1VCU1QoR1BHX0VSUk9SX0NGTEFHUykKKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9MSUJTKQorLSAgQUNfU1VCU1QoR1BHX0VSUk9SX01UX0NGTEFHUykKKy0gIEFDX1NVQlNUKEdQR19FUlJPUl9NVF9MSUJTKQorIF0pCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvcl8xLjMyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNTUyMDAxLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvcl8xLjMyLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotU1VNTUFSWSA9ICJTbWFsbCBsaWJyYXJ5IHRoYXQgZGVmaW5lcyBjb21tb24gZXJyb3IgdmFsdWVzIGZvciBhbGwgR251UEcgY29tcG9uZW50cyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuZ251cGcub3JnL3JlbGF0ZWRfc29mdHdhcmUvbGliZ3BnLWVycm9yLyIKLUJVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmcxMGNvZGUuY29tL2dudXBnL2luZGV4IgotCi1MSUNFTlNFID0gIkdQTHYyKyAmIExHUEx2Mi4xKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU5NTMwYmRmMzM2NTliMjllNzNkNGFkYjlmOWY2NTUyIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTElCO21kNT0yZDUwMjVkNGFhMzQ5NWJlZmVmOGYxNzIwNmE1YjBhMSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvZ3BnLWVycm9yLmguaW47YmVnaW5saW5lPTI7ZW5kbGluZT0xODttZDU9NTI0ZDRlODEwYzRkY2RjMzhlNGZhMjhlNzBhMTNiZjggXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2luaXQuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTE3O21kNT1mMDFjZGZjZjc0N2FmNTM4MDU5MGNmZDliYmZlYWFmNyIKLQotCi1TRUNUSU9OID0gImxpYnMiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dudXBnLm9yZy9kb3dubG9hZC9pbmRleC5odG1sIgotU1JDX1VSSSA9ICIke0dOVVBHX01JUlJPUn0vbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvci0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXN5c2NmZy1TdXBwb3J0LUFSQy1DUFVzLWFuZC1zaW1wbGlmeS1hbGlhc2luZy10YWJsZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLXN5c2NmZy1BZGQtc3VwcG9ydC1mb3ItYXJjLXVua25vd24tbGludXgtZ251LnBhdGNoIFwKLQkgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICJlZjNkOTI4YTVhNDUzZmE3MDFlY2MzYmIyMmJlMWM2NCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjMzQ1YzVlNzNjYzIzMzJmOGQ1MGRiODRhMjI4MGFiZmIxZDhmNmQ0ZjE4NThiOWRhYTMwNDA0ZGI0NDU0MGNhIgotCi1CSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2dwZy1lcnJvci1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZCBwa2djb25maWcgZ2V0dGV4dCBtdWx0aWxpYl9oZWFkZXIgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9ncGdydC1jb25maWciCi0KLUNQUEZMQUdTICs9ICItUCIKLWRvX2NvbXBpbGVfcHJlcGVuZCgpIHsKLQlUQVJHRVRfRklMRT1saW51eC1nbnUKLQlpZiBbICR7VEFSR0VUX09TfSA9ICJtaW5ndzMyIiBdOyB0aGVuCi0JCSMgVGhlcmUgYXJlIG5vIGFyY2ggc3BlY2lmaWMgc3lzY2ZnIGZpbGVzIGZvciBtaW5ndzMyCi0JCVRBUkdFVF9GSUxFPQotCWVsaWYgWyAke1RBUkdFVF9BUkNIfSA9ICJhcmMiIF07IHRoZW4KLQkJIyBBUkMgc3lzY2ZnIGZpbGUgaXMgYXV0b21hdGljYWxseSBhbGlhc2VkIHRvIGk2ODYtcGMtbGludXgtZ251Ci0JCVRBUkdFVF9GSUxFPQotCWVsaWYgWyAke1RBUkdFVF9PU30gIT0gImxpbnV4IiBdOyB0aGVuCi0JCVRBUkdFVF9GSUxFPSR7VEFSR0VUX09TfQotCWZpCi0KLQljYXNlICR7VEFSR0VUX0FSQ0h9IGluCi0JICBhYXJjaDY0X2JlKSBUVVBMRT1hYXJjaDY0LXVua25vd24tbGludXgtZ251IDs7Ci0JICBhcm0pCSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKLQkgIGFybWViKSAgICAgIFRVUExFPWFybS11bmtub3duLWxpbnV4LWdudWVhYmkgOzsKLQkgIGk1ODZ8aTY4NikgIFRVUExFPWk2ODYtdW5rbm93bi1saW51eC1nbnU7OwotCSAgbWlwczY0KikgICAgVFVQTEU9bWlwczY0ZWwtdW5rbm93bi1saW51eC1nbnVhYmk2NCA7OwotCSAgbWlwcyplbCkgICAgVFVQTEU9bWlwc2VsLXVua25vd24tbGludXgtZ251IDs7Ci0JICBtaXBzKikgICAgICBUVVBMRT1taXBzLXVua25vd24tbGludXgtZ251IDs7Ci0JICB4ODZfNjQpICAgICBUVVBMRT14ODZfNjQtdW5rbm93bi1saW51eC1nbnUgOzsKLQkgIHBwYzY0KSAgICAgIFRVUExFPXBvd2VycGM2NC11bmtub3duLWxpbnV4LWdudSA7OwotCSAgcHBjNjRsZSkgICAgVFVQTEU9cG93ZXJwYzY0bGUtdW5rbm93bi1saW51eC1nbnUgOzsKLQkgICopICAgICAgICAgIFRVUExFPSR7VEFSR0VUX0FSQ0h9LXVua25vd24tbGludXgtZ251IDs7Ci0JZXNhYwotCi0JaWYgWyAtbiAiJFRBUkdFVF9GSUxFIiBdOyB0aGVuCi0JCWNwICR7U30vc3JjL3N5c2NmZy9sb2NrLW9iai1wdWIuJFRVUExFLmggXAotCQkJJHtTfS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi4kVEFSR0VUX0ZJTEUuaAotCWZpCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCSMgd2UgZG9uJ3QgaGF2ZSBjb21tb24gbGlzcCBpbiBPRQotCXJtIC1yZiAiJHtEfSR7ZGF0YWRpcn0vY29tbW9uLWxpc3AvIgotCW9lX211bHRpbGliX2hlYWRlciBncGctZXJyb3IuaCBncGdydC5oCi19Ci0KLUZJTEVTXyR7UE59LWRldiArPSAiJHtiaW5kaXJ9L2dwZy1lcnJvciIKLUZJTEVTXyR7UE59LWRvYyArPSAiJHtkYXRhZGlyfS9saWJncGctZXJyb3IvZXJyb3JyZWYudHh0IgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zNS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliZ3BnLWVycm9yL2xpYmdwZy1lcnJvcl8xLjM1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YWMxNDMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmdwZy1lcnJvci9saWJncGctZXJyb3JfMS4zNS5iYgpAQCAtMCwwICsxLDcxIEBACitTVU1NQVJZID0gIlNtYWxsIGxpYnJhcnkgdGhhdCBkZWZpbmVzIGNvbW1vbiBlcnJvciB2YWx1ZXMgZm9yIGFsbCBHbnVQRyBjb21wb25lbnRzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5nbnVwZy5vcmcvcmVsYXRlZF9zb2Z0d2FyZS9saWJncGctZXJyb3IvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZzEwY29kZS5jb20vZ251cGcvaW5kZXgiCisKK0xJQ0VOU0UgPSAiR1BMdjIrICYgTEdQTHYyLjErIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MSUI7bWQ1PTJkNTAyNWQ0YWEzNDk1YmVmZWY4ZjE3MjA2YTViMGExIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9ncGctZXJyb3IuaC5pbjtiZWdpbmxpbmU9MjtlbmRsaW5lPTE4O21kNT1jZDkxZTNhZDEyNjVhMGMyNjhlZmFkNTQxYTM5MzQ1ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvaW5pdC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MTc7bWQ1PWYwMWNkZmNmNzQ3YWY1MzgwNTkwY2ZkOWJiZmVhYWY3IgorCisKK1NFQ1RJT04gPSAibGlicyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ251cGcub3JnL2Rvd25sb2FkL2luZGV4Lmh0bWwiCitTUkNfVVJJID0gIiR7R05VUEdfTUlSUk9SfS9saWJncGctZXJyb3IvbGliZ3BnLWVycm9yLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcGtnY29uZmlnLnBhdGNoIFwKKwkgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjI4MDhhOWUwNDRmODgzZjc1NTRjNWJhNmEzODBiNzExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImNiZDVlZTYyYThhOGM4OGQ0OGMxNThmZmY0ZmM5ZWFkNDEzMmFhY2QxYjRhNTZlYjc5MWY5Zjk5N2QwN2UwNjciCisKK0JJTkNPTkZJRyA9ICIke2JpbmRpcn0vZ3BnLWVycm9yLWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZyBnZXR0ZXh0IG11bHRpbGliX2hlYWRlciBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1kZXY6JHtiaW5kaXJ9L2dwZ3J0LWNvbmZpZyIKKworQ1BQRkxBR1MgKz0gIi1QIgorZG9fY29tcGlsZV9wcmVwZW5kKCkgeworCVRBUkdFVF9GSUxFPWxpbnV4LWdudQorCWlmIFsgJHtUQVJHRVRfT1N9ID0gIm1pbmd3MzIiIF07IHRoZW4KKwkJIyBUaGVyZSBhcmUgbm8gYXJjaCBzcGVjaWZpYyBzeXNjZmcgZmlsZXMgZm9yIG1pbmd3MzIKKwkJVEFSR0VUX0ZJTEU9CisJZWxpZiBbICR7VEFSR0VUX0FSQ0h9ID0gImFyYyIgXTsgdGhlbgorCQkjIEFSQyBzeXNjZmcgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGFsaWFzZWQgdG8gaTY4Ni1wYy1saW51eC1nbnUKKwkJVEFSR0VUX0ZJTEU9CisJZWxpZiBbICR7VEFSR0VUX09TfSAhPSAibGludXgiIF07IHRoZW4KKwkJVEFSR0VUX0ZJTEU9JHtUQVJHRVRfT1N9CisJZmkKKworCWNhc2UgJHtUQVJHRVRfQVJDSH0gaW4KKwkgIGFhcmNoNjRfYmUpIFRVUExFPWFhcmNoNjQtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIGFybSkJICAgICAgVFVQTEU9YXJtLXVua25vd24tbGludXgtZ251ZWFiaSA7OworCSAgYXJtZWIpICAgICAgVFVQTEU9YXJtLXVua25vd24tbGludXgtZ251ZWFiaSA7OworCSAgaTU4NnxpNjg2KSAgVFVQTEU9aTY4Ni11bmtub3duLWxpbnV4LWdudTs7CisJICBtaXBzNjQqKSAgICBUVVBMRT1taXBzNjRlbC11bmtub3duLWxpbnV4LWdudWFiaTY0IDs7CisJICBtaXBzKmVsKSAgICBUVVBMRT1taXBzZWwtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIG1pcHMqKSAgICAgIFRVUExFPW1pcHMtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIHg4Nl82NCkgICAgIFRVUExFPXg4Nl82NC11bmtub3duLWxpbnV4LWdudSA7OworCSAgcHBjKSAgICAgICAgVFVQTEU9cG93ZXJwYy11bmtub3duLWxpbnV4LWdudSA7OworCSAgcHBjNjQpICAgICAgVFVQTEU9cG93ZXJwYzY0LXVua25vd24tbGludXgtZ251IDs7CisJICBwcGM2NGxlKSAgICBUVVBMRT1wb3dlcnBjNjRsZS11bmtub3duLWxpbnV4LWdudSA7OworCSAgKikgICAgICAgICAgVFVQTEU9JHtUQVJHRVRfQVJDSH0tdW5rbm93bi1saW51eC1nbnUgOzsKKwllc2FjCisKKwlpZiBbIC1uICIkVEFSR0VUX0ZJTEUiIF07IHRoZW4KKwkJY3AgJHtTfS9zcmMvc3lzY2ZnL2xvY2stb2JqLXB1Yi4kVFVQTEUuaCBcCisJCQkke1N9L3NyYy9zeXNjZmcvbG9jay1vYmotcHViLiRUQVJHRVRfRklMRS5oCisJZmkKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyB3ZSBkb24ndCBoYXZlIGNvbW1vbiBsaXNwIGluIE9FCisJcm0gLXJmICIke0R9JHtkYXRhZGlyfS9jb21tb24tbGlzcC8iCisJb2VfbXVsdGlsaWJfaGVhZGVyIGdwZy1lcnJvci5oIGdwZ3J0LmgKK30KKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0vZ3BnLWVycm9yIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2RhdGFkaXJ9L2xpYmdwZy1lcnJvci9lcnJvcnJlZi50eHQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGliaml0dGVyZW50cm9weS9maWxlcy8wMDAxLWZpeC1kb19pbnN0YWxsLWZhaWx1cmUtb24tb2UucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmppdHRlcmVudHJvcHkvZmlsZXMvMDAwMS1maXgtZG9faW5zdGFsbC1mYWlsdXJlLW9uLW9lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZmY0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmppdHRlcmVudHJvcHkvZmlsZXMvMDAwMS1maXgtZG9faW5zdGFsbC1mYWlsdXJlLW9uLW9lLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMDBjZWZjYTBlZWZlY2VjNjU3OTY5YjUwY2Q0ZTFlZDViMDU3YTg1NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KK0RhdGU6IFRodSwgMjUgT2N0IDIwMTggMTY6MzA6MDYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4IGRvX2luc3RhbGwgZmFpbHVyZSBvbiBvZQorCistIERvIG5vdCBzdHJpcCBhdCBkb19pbnN0YWxsCisKKy0gQ3JlYXRlIGluY2x1ZGVkaXIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEhvbmd4dSBKaWEgPGhvbmd4dS5qaWFAd2luZHJpdmVyLmNvbT4KKy0tLQorIE1ha2VmaWxlIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCitpbmRleCA1ZTMxMjc2Li43NmZjYmZhIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUKKysrKyBiL01ha2VmaWxlCitAQCAtNTEsNyArNTEsOCBAQCBpbnN0YWxsOgorIAlpbnN0YWxsIC1tIDY0NCBkb2MvJChOQU1FKS4zICQoREVTVERJUikkKFBSRUZJWCkvc2hhcmUvbWFuL21hbjMvCisgCWd6aXAgLTkgJChERVNURElSKSQoUFJFRklYKS9zaGFyZS9tYW4vbWFuMy8kKE5BTUUpLjMKKyAJaW5zdGFsbCAtZCAtbSAwNzU1ICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpCistCWluc3RhbGwgLW0gMDc1NSAtcyBsaWIkKE5BTUUpLnNvLiQoTElCVkVSU0lPTikgJChERVNURElSKSQoUFJFRklYKS8kKExJQkRJUikvCisrCWluc3RhbGwgLW0gMDc1NSBsaWIkKE5BTUUpLnNvLiQoTElCVkVSU0lPTikgJChERVNURElSKSQoUFJFRklYKS8kKExJQkRJUikvCisrCWluc3RhbGwgLWQgLW0gMDc1NSAkKERFU1RESVIpJChQUkVGSVgpLyQoSU5DRElSKS8KKyAJaW5zdGFsbCAtbSAwNjQ0IGppdHRlcmVudHJvcHkuaCAkKERFU1RESVIpJChQUkVGSVgpLyQoSU5DRElSKS8KKyAJaW5zdGFsbCAtbSAwNjQ0IGppdHRlcmVudHJvcHktYmFzZS11c2VyLmggJChERVNURElSKSQoUFJFRklYKS8kKElOQ0RJUikvCisgCSQoUk0pICQoREVTVERJUikkKFBSRUZJWCkvJChMSUJESVIpL2xpYiQoTkFNRSkuc28uJChMSUJNQUpPUikKKy0tIAorMi43LjQKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2xpYmppdHRlcmVudHJvcHlfMi4xLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYmppdHRlcmVudHJvcHkvbGliaml0dGVyZW50cm9weV8yLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjViNGU0Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJqaXR0ZXJlbnRyb3B5L2xpYmppdHRlcmVudHJvcHlfMi4xLjIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJIYXJkd2FyZSBSTkcgYmFzZWQgb24gQ1BVIHRpbWluZyBqaXR0ZXIiCitERVNDUklQVElPTiA9ICJUaGUgSml0dGVyIFJORyBwcm92aWRlcyBhIG5vaXNlIHNvdXJjZSB1c2luZyB0aGUgQ1BVIGV4ZWN1dGlvbiB0aW1pbmcgaml0dGVyLiBcCitJdCBkb2VzIG5vdCBkZXBlbmQgb24gYW55IHN5c3RlbSByZXNvdXJjZSBvdGhlciB0aGFuIGEgaGlnaC1yZXNvbHV0aW9uIHRpbWUgXAorc3RhbXAuIEl0IGlzIGEgc21hbGwtc2NhbGUsIHlldCBmYXN0IGVudHJvcHkgc291cmNlIHRoYXQgaXMgdmlhYmxlIGluIGFsbW9zdCBcCithbGwgZW52aXJvbm1lbnRzIGFuZCBvbiBhIGxvdCBvZiBDUFUgYXJjaGl0ZWN0dXJlcy4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNocm9ub3guZGUvamVudC5odG1sIgorTElDRU5TRSA9ICJHUEx2MisgfCBCU0QiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lNTIzNjU3NTJiMzZjZmNkN2Y5NjAxZDgwZGU3ZDhjNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmdwbHYyO21kNT1lYjcyM2I2MTUzOWZlZWYwMTNkZTQ3NmU2OGI1YzUwYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HLmJzZDttZDU9NjZhNWNlZGFmNjJjNGIyNjM3MDI1ZjA0OWY5YjgyNmYgXAorICAgICAgICAgICAgICAgICAgICIKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9zbXVlbGxlckREL2ppdHRlcmVudHJvcHktbGlicmFyeS5naXQgXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1maXgtZG9faW5zdGFsbC1mYWlsdXJlLW9uLW9lLnBhdGNoIFwKKyAgICAgICAgICAiCitTUkNSRVYgPSAiZjVhODBjNmYzZmNjNmRlZWJkMGVhYmY3NTMyNGY0OGFlZDFhZmJjZSIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2RvX2NvbmZpZ3VyZVtub2V4ZWNdID0gIjEiCisKK0xERkxBR1MgKz0gIi1XbCwtTzAiCisKK2RvX2luc3RhbGwgKCkgeworICAgIG9lX3J1bm1ha2UgaW5zdGFsbCBJTkNESVI9Ii9pbmNsdWRlIiBcCisgICAgICAgICAgICAgICAgICAgICAgIERFU1RESVI9IiR7RH0iIFwKKyAgICAgICAgICAgICAgICAgICAgICAgUFJFRklYPSIke2V4ZWNfcHJlZml4fSIgXAorICAgICAgICAgICAgICAgICAgICAgICBMSUJESVI9IiR7YmFzZWxpYn0iCit9CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL291dC1vZi10cmVlLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUvb3V0LW9mLXRyZWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU2Nzg5NgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL291dC1vZi10cmVlLnBhdGNoCkBAIC0wLDAgKzEsMjYgQEAKK0luIG91dC1vZi10cmVlIGJ1aWxkcyB0aGUgI2luY2x1ZGUgZmFpbHMgYmVjYXVzZSAkc3JjZGlyIGlzbid0IGluIHRoZSBpbmNsdWRlIHBhdGguICBTZXQgQ1BQRkxBR1Mgc28gdGhhdCBpdCBpcy4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbcjE3NTBdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitJbmRleDogY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYS9jb25maWd1cmUuYWMJKHJldmlzaW9uIDE3NDkpCisrKysgYi9jb25maWd1cmUuYWMJKHdvcmtpbmcgY29weSkKK0BAIC0xNTksNiArMTU5LDggQEAKKyAKKyBpZiB0ZXN0ICIkZW5hYmxlX2ppdCIgPSAiYXV0byI7IHRoZW4KKyAgIEFDX0xBTkcoQykKKysgIFNBVkVfQ1BQRkxBR1M9JENQUEZMQUdTCisrICBDUFBGTEFHUz0tSSRzcmNkaXIKKyAgIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWworICAgI2RlZmluZSBTTEpJVF9DT05GSUdfQVVUTyAxCisgICAjaW5jbHVkZSAic2xqaXQvc2xqaXRDb25maWdJbnRlcm5hbC5oIgorQEAgLTE2NSw2ICsxNjcsNyBAQAorICAgI2lmIChkZWZpbmVkIFNMSklUX0NPTkZJR19VTlNVUFBPUlRFRCAmJiBTTEpJVF9DT05GSUdfVU5TVVBQT1JURUQpCisgICAjZXJyb3IgdW5zdXBwb3J0ZWQKKyAgICNlbmRpZl1dKV0sIGVuYWJsZV9qaXQ9eWVzLCBlbmFibGVfaml0PW5vKQorKyAgQ1BQRkxBR1M9JFNBVkVfQ1BQRkxBR1MKKyBmaQorIAorICMgSGFuZGxlIC0tZGlzYWJsZS1wY3JlZ3JlcC1qaXQgKGVuYWJsZWQgYnkgZGVmYXVsdCkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL3BjcmUtY3Jvc3MucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZS9wY3JlLWNyb3NzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Mzg4MGY3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlL3BjcmUtY3Jvc3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotLS0tIHBjcmUtOC4zMi5vcmlnL01ha2VmaWxlLmFtCi0rKysgcGNyZS04LjMyL01ha2VmaWxlLmFtCi1AQCAtMTk3LDggKzE5NywxOCBAQCBiaW5fU0NSSVBUUyA9IHBjcmUtY29uZmlnCi0gCi0rQ0NfRk9SX0JVSUxEID0gQENDX0ZPUl9CVUlMREAKLStDRkxBR1NfRk9SX0JVSUxEID0gQENGTEFHU19GT1JfQlVJTERACi0rQ0NMRF9GT1JfQlVJTEQgPSBAQ0NMRF9GT1JfQlVJTERACi0rTERGTEFHU19GT1JfQlVJTEQgPSBATERGTEFHU19GT1JfQlVJTERACi0rCi0gaWYgV0lUSF9SRUJVSUxEX0NIQVJUQUJMRVMKLSAKLSBub2luc3RfUFJPR1JBTVMgKz0gZGZ0YWJsZXMKLSBkZnRhYmxlc19TT1VSQ0VTID0gZGZ0YWJsZXMuYwotK2RmdGFibGVzX0xJTksgPSAkKENDTERfRk9SX0JVSUxEKSAtbyAkQAotK2RmdGFibGVzX0xERkxBR1MgPSAkKExERkxBR1NfRk9SX0JVSUxEKQotKwotK2RmdGFibGVzLm86ICQoc3JjZGlyKS9kZnRhYmxlcy5jCi0rCSQoQ0NfRk9SX0JVSUxEKSAtYyAkKENGTEFHU19GT1JfQlVJTEQpIC1vICRAICQoc3JjZGlyKS9kZnRhYmxlcy5jCi0gCi0gcGNyZV9jaGFydGFibGVzLmM6IGRmdGFibGVzJChFWEVFWFQpCi0gCS4vZGZ0YWJsZXMkKEVYRUVYVCkgJEAKLS0tLSBwY3JlLTguMzIub3JpZy9jb25maWd1cmUuYWMKLSsrKyBwY3JlLTguMzIvY29uZmlndXJlLmFjCi1AQCAtNzIsNiArNzIsMjIgQEAgdGhlbgotICAgZmkKLSBmaQotIAotK2lmIHRlc3QgeCIkY3Jvc3NfY29tcGlsaW5nIiA9IHh5ZXM7IHRoZW4KLSsgICAgQ0NfRk9SX0JVSUxEPSIke0NDX0ZPUl9CVUlMRC1nY2N9IgotKyAgICBDQ0xEX0ZPUl9CVUlMRD0iJHtDQ0xEX0ZPUl9CVUlMRC1nY2N9IgotKyAgICBDRkxBR1NfRk9SX0JVSUxEPSIke0NGTEFHU19GT1JfQlVJTER9IgotKyAgICBMREZMQUdTX0ZPUl9CVUlMRD0iJHtMREZMQUdTX0ZPUl9CVUlMRH0iCi0rZWxzZQotKyAgICBDQ19GT1JfQlVJTEQ9IiR7Q0NfRk9SX0JVSUxELVwkKENDKX0iCi0rICAgIENDTERfRk9SX0JVSUxEPSIke0NDTERfRk9SX0JVSUxELVwkKENDTEQpfSIKLSsgICAgQ0ZMQUdTX0ZPUl9CVUlMRD0iJHtDRkxBR1NfRk9SX0JVSUxELVwkKENGTEFHUyl9IgotKyAgICBMREZMQUdTX0ZPUl9CVUlMRD0iJHtMREZMQUdTX0ZPUl9CVUlMRC1cJChMREZMQUdTKX0iCi0rZmkKLStBQ19BUkdfVkFSKENDX0ZPUl9CVUlMRCwgW2J1aWxkIHN5c3RlbSBDIGNvbXBpbGVyXSkKLStBQ19BUkdfVkFSKENDTERfRk9SX0JVSUxELCBbYnVpbGQgc3lzdGVtIEMgbGlua2VyIGZyb250ZW5kXSkKLStBQ19BUkdfVkFSKENGTEFHU19GT1JfQlVJTEQsIFtidWlsZCBzeXN0ZW0gQyBjb21waWxlciBhcmd1bWVudHNdKQotK0FDX0FSR19WQVIoTERGTEFHU19GT1JfQlVJTEQsIFtidWlsZCBzeXN0ZW0gQyBsaW5rZXIgZnJvbnRlbmQgYXJndW1lbnRzXSkKLSsKLSAjIEFDX1BST0dfQ1hYIHdpbGwgcmV0dXJuICJnKysiIGV2ZW4gaWYgbm8gYysrIGNvbXBpbGVyIGlzIGluc3RhbGxlZC4KLSAjIENoZWNrIGZvciB0aGF0IGNhc2UsIGFuZCBqdXN0IGRpc2FibGUgYysrIGNvZGUgaWYgZysrIGRvZXNuJ3QgcnVuLgotIEFDX0xBTkdfUFVTSChDKyspCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExMGMzMTIuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwY3JlL2xpYnBjcmUyXzEwLjMxLmJiCisrKyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotREVTQ1JJUFRJT04gPSAiVGhlcmUgYXJlIHR3byBtYWpvciB2ZXJzaW9ucyBvZiB0aGUgUENSRSBsaWJyYXJ5LiBUaGUgXAotbmV3ZXN0IHZlcnNpb24gaXMgUENSRTIsIHdoaWNoIGlzIGEgcmUtd29ya2luZyBvZiB0aGUgb3JpZ2luYWwgUENSRSBcCi1saWJyYXJ5IHRvIHByb3ZpZGUgYW4gZW50aXJlbHkgbmV3IEFQSS4gVGhlIG9yaWdpbmFsLCB2ZXJ5IHdpZGVseSBcCi1kZXBsb3llZCBQQ1JFIGxpYnJhcnkncyBBUEkgYW5kIGZlYXR1cmUgYXJlIHN0YWJsZSwgZnV0dXJlIHJlbGVhc2VzIFwKLSB3aWxsIGJlIGZvciBidWdmaXhlcyBvbmx5LiBBbGwgbmV3IGZ1dHVyZSBmZWF0dXJlcyB3aWxsIGJlIHRvIFBDUkUyLCBcCi1ub3QgdGhlIG9yaWdpbmFsIFBDUkUgOC54IHNlcmllcy4iCi1TVU1NQVJZID0gIlBlcmwgQ29tcGF0aWJsZSBSZWd1bGFyIEV4cHJlc3Npb25zIHZlcnNpb24gMiIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1mNWU0YmRlOWZkMDQ5M2QwOTY3YjRkYmE5ODk5NTkwZiIKLQotU1JDX1VSSSA9ICJodHRwczovL2Z0cC5wY3JlLm9yZy9wdWIvcGNyZS9wY3JlMi0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3BjcmUtY3Jvc3MucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZTBiOTFjODkxYTNjNDkwNTBmN2ZkMTVkZTMzZDBiYTQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTA3ZDUzODcwNGFhNjVlNDc3YjZhMzkyYjMyZmY5ZmM1ZWRmNzVhYjlhNDBkZGZjODc2MTg2YzRmZjRkNjhhYyIKLQotQ1ZFX1BST0RVQ1QgPSAicGNyZTIiCi0KLVMgPSAiJHtXT1JLRElSfS9wY3JlMi0ke1BWfSIKLQotUFJPVklERVMgKz0gInBjcmUyIgotREVQRU5EUyArPSAiYnppcDIgemxpYiIKLQotQklOQ09ORklHID0gIiR7YmluZGlyfS9wY3JlMi1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZAotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZW5hYmxlLW5ld2xpbmUtaXMtbGYgXAotICAgIC0tZW5hYmxlLXJlYnVpbGQtY2hhcnRhYmxlcyBcCi0gICAgLS13aXRoLWxpbmstc2l6ZT0yIFwKLSAgICAtLXdpdGgtbWF0Y2gtbGltaXQ9MTAwMDAwMDAgXAotICAgIC0tZW5hYmxlLXBjcmUyLTE2IFwKLSAgICAtLWVuYWJsZS1wY3JlMi0zMiBcCi0iCi0jIFNldCBMSU5LX1NJWkUgaW4gQlVJTERfQ0ZMQUdTIGdpdmVuIHRoYXQgdGhlIGF1dG90b29scyBiYmNsYXNzIHVzZSBpdCB0bwotIyBzZXQgQ0ZMQUdTX0ZPUl9CVUlMRCwgcmVxdWlyZWQgZm9yIHRoZSBsaWJwY3JlIGJ1aWxkLgotQlVJTERfQ0ZMQUdTID0rICItRExJTktfU0laRT0yIC1JJHtCfS9zcmMiCi1DRkxBR1MgKz0gIi1EX1JFRU5UUkFOVCIKLUNYWEZMQUdTX2FwcGVuZF9wb3dlcnBjID0gIiAtbHN0ZGMrKyIKLQotZXhwb3J0IENDTERfRk9SX0JVSUxEID0iJHtCVUlMRF9DQ0xEfSIKLQotUEFDS0FHRVMgPSsgImxpYnBjcmUyLTE2IGxpYnBjcmUyLTMyIHBjcmUyZ3JlcCBwY3JlMmdyZXAtZG9jIHBjcmUydGVzdCBwY3JlMnRlc3QtZG9jIgotCi1TVU1NQVJZX3BjcmUyZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCi1TVU1NQVJZX3BjcmUyZ3JlcC1kb2MgPSAiZ3JlcCB1dGlsaXR5IHRoYXQgdXNlcyBwZXJsIDUgY29tcGF0aWJsZSByZWdleGVzIC0gZG9jcyIKLVNVTU1BUllfcGNyZTJ0ZXN0ID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKLVNVTU1BUllfcGNyZTJ0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgotCi1GSUxFU19saWJwY3JlMi0xNiA9ICIke2xpYmRpcn0vbGlicGNyZTItMTYuc28uKiIKLUZJTEVTX2xpYnBjcmUyLTMyID0gIiR7bGliZGlyfS9saWJwY3JlMi0zMi5zby4qIgotRklMRVNfcGNyZTJncmVwID0gIiR7YmluZGlyfS9wY3JlMmdyZXAiCi1GSUxFU19wY3JlMmdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUyZ3JlcC4xIgotRklMRVNfcGNyZTJ0ZXN0ID0gIiR7YmluZGlyfS9wY3JlMnRlc3QiCi1GSUxFU19wY3JlMnRlc3QtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmUydGVzdC4xIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZTJfMTAuMzIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2EwYWE1MwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlMl8xMC4zMi5iYgpAQCAtMCwwICsxLDYxIEBACitERVNDUklQVElPTiA9ICJUaGVyZSBhcmUgdHdvIG1ham9yIHZlcnNpb25zIG9mIHRoZSBQQ1JFIGxpYnJhcnkuIFRoZSBcCituZXdlc3QgdmVyc2lvbiBpcyBQQ1JFMiwgd2hpY2ggaXMgYSByZS13b3JraW5nIG9mIHRoZSBvcmlnaW5hbCBQQ1JFIFwKK2xpYnJhcnkgdG8gcHJvdmlkZSBhbiBlbnRpcmVseSBuZXcgQVBJLiBUaGUgb3JpZ2luYWwsIHZlcnkgd2lkZWx5IFwKK2RlcGxveWVkIFBDUkUgbGlicmFyeSdzIEFQSSBhbmQgZmVhdHVyZSBhcmUgc3RhYmxlLCBmdXR1cmUgcmVsZWFzZXMgXAorIHdpbGwgYmUgZm9yIGJ1Z2ZpeGVzIG9ubHkuIEFsbCBuZXcgZnV0dXJlIGZlYXR1cmVzIHdpbGwgYmUgdG8gUENSRTIsIFwKK25vdCB0aGUgb3JpZ2luYWwgUENSRSA4Lnggc2VyaWVzLiIKK1NVTU1BUlkgPSAiUGVybCBDb21wYXRpYmxlIFJlZ3VsYXIgRXhwcmVzc2lvbnMgdmVyc2lvbiAyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wY3JlLm9yZyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PWNmNjZkMzA3YmYwM2JhZTY1ZDQxM2ViN2E4ZTYwM2EwIgorCitTUkNfVVJJID0gImh0dHBzOi8vZnRwLnBjcmUub3JnL3B1Yi9wY3JlL3BjcmUyLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vcGNyZS1jcm9zcy5wYXRjaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YTA5NjI4NzE1M2ZiOTk0OTcwZGYzNTcwZTkwZmNiNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMjllODljYzVkZTgxM2Y0NTc4NjU4MDEwMWFhZWUzOTg0YTY1ODE4NjMxZDRkZGJkYTdiMzJmNjk5Yjg3YzJlIgorCitDVkVfUFJPRFVDVCA9ICJwY3JlMiIKKworUyA9ICIke1dPUktESVJ9L3BjcmUyLSR7UFZ9IgorCitQUk9WSURFUyArPSAicGNyZTIiCitERVBFTkRTICs9ICJiemlwMiB6bGliIgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3BjcmUyLWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkCisKK0VYVFJBX09FQ09ORiA9ICJcCisgICAgLS1lbmFibGUtbmV3bGluZS1pcy1sZiBcCisgICAgLS1lbmFibGUtcmVidWlsZC1jaGFydGFibGVzIFwKKyAgICAtLXdpdGgtbGluay1zaXplPTIgXAorICAgIC0td2l0aC1tYXRjaC1saW1pdD0xMDAwMDAwMCBcCisgICAgLS1lbmFibGUtcGNyZTItMTYgXAorICAgIC0tZW5hYmxlLXBjcmUyLTMyIFwKKyIKKyMgU2V0IExJTktfU0laRSBpbiBCVUlMRF9DRkxBR1MgZ2l2ZW4gdGhhdCB0aGUgYXV0b3Rvb2xzIGJiY2xhc3MgdXNlIGl0IHRvCisjIHNldCBDRkxBR1NfRk9SX0JVSUxELCByZXF1aXJlZCBmb3IgdGhlIGxpYnBjcmUgYnVpbGQuCitCVUlMRF9DRkxBR1MgPSsgIi1ETElOS19TSVpFPTIgLUkke0J9L3NyYyIKK0NGTEFHUyArPSAiLURfUkVFTlRSQU5UIgorQ1hYRkxBR1NfYXBwZW5kX3Bvd2VycGMgPSAiIC1sc3RkYysrIgorCitleHBvcnQgQ0NMRF9GT1JfQlVJTEQgPSIke0JVSUxEX0NDTER9IgorCitQQUNLQUdFUyA9KyAibGlicGNyZTItMTYgbGlicGNyZTItMzIgcGNyZTJncmVwIHBjcmUyZ3JlcC1kb2MgcGNyZTJ0ZXN0IHBjcmUydGVzdC1kb2MiCisKK1NVTU1BUllfcGNyZTJncmVwID0gImdyZXAgdXRpbGl0eSB0aGF0IHVzZXMgcGVybCA1IGNvbXBhdGlibGUgcmVnZXhlcyIKK1NVTU1BUllfcGNyZTJncmVwLWRvYyA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMgLSBkb2NzIgorU1VNTUFSWV9wY3JlMnRlc3QgPSAicHJvZ3JhbSBmb3IgdGVzdGluZyBQZXJsLWNvbWF0aWJsZSByZWd1bGFyIGV4cHJlc3Npb25zIgorU1VNTUFSWV9wY3JlMnRlc3QtZG9jID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyAtIGRvY3MiCisKK0ZJTEVTX2xpYnBjcmUyLTE2ID0gIiR7bGliZGlyfS9saWJwY3JlMi0xNi5zby4qIgorRklMRVNfbGlicGNyZTItMzIgPSAiJHtsaWJkaXJ9L2xpYnBjcmUyLTMyLnNvLioiCitGSUxFU19wY3JlMmdyZXAgPSAiJHtiaW5kaXJ9L3BjcmUyZ3JlcCIKK0ZJTEVTX3BjcmUyZ3JlcC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZTJncmVwLjEiCitGSUxFU19wY3JlMnRlc3QgPSAiJHtiaW5kaXJ9L3BjcmUydGVzdCIKK0ZJTEVTX3BjcmUydGVzdC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZTJ0ZXN0LjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlXzguNDIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTQ4OGMwLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlXzguNDIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1ERVNDUklQVElPTiA9ICJUaGUgUENSRSBsaWJyYXJ5IGlzIGEgc2V0IG9mIGZ1bmN0aW9ucyB0aGF0IGltcGxlbWVudCByZWd1bGFyIFwKLWV4cHJlc3Npb24gcGF0dGVybiBtYXRjaGluZyB1c2luZyB0aGUgc2FtZSBzeW50YXggYW5kIHNlbWFudGljcyBhcyBQZXJsIDUuIFBDUkUgXAotaGFzIGl0cyBvd24gbmF0aXZlIEFQSSwgYXMgd2VsbCBhcyBhIHNldCBvZiB3cmFwcGVyIGZ1bmN0aW9ucyB0aGF0IGNvcnJlc3BvbmQgXAotdG8gdGhlIFBPU0lYIHJlZ3VsYXIgZXhwcmVzc2lvbiBBUEkuIgotU1VNTUFSWSA9ICJQZXJsIENvbXBhdGlibGUgUmVndWxhciBFeHByZXNzaW9ucyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cucGNyZS5vcmciCi1TRUNUSU9OID0gImRldmVsIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTkNFO21kNT1mYzUwMjY0MDNiNDRjODY4YzI1ZmM5NTQ2ZjdmZWIwNSIKLVNSQ19VUkkgPSAiaHR0cHM6Ly9mdHAucGNyZS5vcmcvcHViL3BjcmUvcGNyZS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL3BjcmUtY3Jvc3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vZml4LXBjcmUtbmFtZS1jb2xsaXNpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL01ha2VmaWxlIFwKLSIKLQotU1JDX1VSSVttZDVzdW1dID0gIjA4NWI2YWEyNTNlMGY5MWNhZTcwYjNjZGJlOGMxYWMyIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjJjZDA0YjdjODg3ODA4YmUwMzAyNTRlOGQ3N2RlMTFkM2ZlOWQ0NTA1YzM5ZDRiMTVkMjY2NGZmZThiZjkzMDEiCi0KLUNWRV9QUk9EVUNUID0gInBjcmUiCi0KLVMgPSAiJHtXT1JLRElSfS9wY3JlLSR7UFZ9IgotCi1QUk9WSURFUyArPSAicGNyZSIKLURFUEVORFMgKz0gImJ6aXAyIHpsaWIiCi0KLVBBQ0tBR0VDT05GSUcgPz89ICJwY3JlOCB1bmljb2RlLXByb3BlcnRpZXMiCi0KLVBBQ0tBR0VDT05GSUdbcGNyZThdID0gIi0tZW5hYmxlLXBjcmU4LC0tZGlzYWJsZS1wY3JlOCIKLVBBQ0tBR0VDT05GSUdbcGNyZTE2XSA9ICItLWVuYWJsZS1wY3JlMTYsLS1kaXNhYmxlLXBjcmUxNiIKLVBBQ0tBR0VDT05GSUdbcGNyZTMyXSA9ICItLWVuYWJsZS1wY3JlMzIsLS1kaXNhYmxlLXBjcmUzMiIKLVBBQ0tBR0VDT05GSUdbcGNyZXRlc3QtcmVhZGxpbmVdID0gIi0tZW5hYmxlLXBjcmV0ZXN0LWxpYnJlYWRsaW5lLC0tZGlzYWJsZS1wY3JldGVzdC1saWJyZWFkbGluZSxyZWFkbGluZSwiCi1QQUNLQUdFQ09ORklHW3VuaWNvZGUtcHJvcGVydGllc10gPSAiLS1lbmFibGUtdW5pY29kZS1wcm9wZXJ0aWVzLC0tZGlzYWJsZS11bmljb2RlLXByb3BlcnRpZXMiCi0KLUJJTkNPTkZJRyA9ICIke2JpbmRpcn0vcGNyZS1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdAotCi1FWFRSQV9PRUNPTkYgPSAiXAotICAgIC0tZW5hYmxlLW5ld2xpbmUtaXMtbGYgXAotICAgIC0tZW5hYmxlLXJlYnVpbGQtY2hhcnRhYmxlcyBcCi0gICAgLS1lbmFibGUtdXRmIFwKLSAgICAtLXdpdGgtbGluay1zaXplPTIgXAotICAgIC0td2l0aC1tYXRjaC1saW1pdD0xMDAwMDAwMCBcCi0iCi0KLSMgU2V0IExJTktfU0laRSBpbiBCVUlMRF9DRkxBR1MgZ2l2ZW4gdGhhdCB0aGUgYXV0b3Rvb2xzIGJiY2xhc3MgdXNlIGl0IHRvCi0jIHNldCBDRkxBR1NfRk9SX0JVSUxELCByZXF1aXJlZCBmb3IgdGhlIGxpYnBjcmUgYnVpbGQuCi1CVUlMRF9DRkxBR1MgPSsgIi1ETElOS19TSVpFPTIgLUkke0J9IgotQ0ZMQUdTICs9ICItRF9SRUVOVFJBTlQiCi1DWFhGTEFHU19hcHBlbmRfcG93ZXJwYyA9ICIgLWxzdGRjKysiCi0KLWV4cG9ydCBDQ0xEX0ZPUl9CVUlMRCA9IiR7QlVJTERfQ0NMRH0iCi0KLVBBQ0tBR0VTID0rICJsaWJwY3JlY3BwIGxpYnBjcmVwb3NpeCBwY3JlZ3JlcCBwY3JlZ3JlcC1kb2MgcGNyZXRlc3QgcGNyZXRlc3QtZG9jIgotCi1TVU1NQVJZX2xpYnBjcmVjcHAgPSAiJHtTVU1NQVJZfSAtIEMrKyB3cmFwcGVyIGZ1bmN0aW9ucyIKLVNVTU1BUllfbGlicGNyZXBvc2l4ID0gIiR7U1VNTUFSWX0gLSBDIHdyYXBwZXIgZnVuY3Rpb25zIGJhc2VkIG9uIHRoZSBQT1NJWCByZWdleCBBUEkiCi1TVU1NQVJZX3BjcmVncmVwID0gImdyZXAgdXRpbGl0eSB0aGF0IHVzZXMgcGVybCA1IGNvbXBhdGlibGUgcmVnZXhlcyIKLVNVTU1BUllfcGNyZWdyZXAtZG9jID0gImdyZXAgdXRpbGl0eSB0aGF0IHVzZXMgcGVybCA1IGNvbXBhdGlibGUgcmVnZXhlcyAtIGRvY3MiCi1TVU1NQVJZX3BjcmV0ZXN0ID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyIKLVNVTU1BUllfcGNyZXRlc3QtZG9jID0gInByb2dyYW0gZm9yIHRlc3RpbmcgUGVybC1jb21hdGlibGUgcmVndWxhciBleHByZXNzaW9ucyAtIGRvY3MiCi0KLUZJTEVTX2xpYnBjcmVjcHAgPSAiJHtsaWJkaXJ9L2xpYnBjcmVjcHAuc28uKiIKLUZJTEVTX2xpYnBjcmVwb3NpeCA9ICIke2xpYmRpcn0vbGlicGNyZXBvc2l4LnNvLioiCi1GSUxFU19wY3JlZ3JlcCA9ICIke2JpbmRpcn0vcGNyZWdyZXAiCi1GSUxFU19wY3JlZ3JlcC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZWdyZXAuMSIKLUZJTEVTX3BjcmV0ZXN0ID0gIiR7YmluZGlyfS9wY3JldGVzdCIKLUZJTEVTX3BjcmV0ZXN0LWRvYyA9ICIke21hbmRpcn0vbWFuMS9wY3JldGVzdC4xIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCi0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0JdD0ke0R9JHtQVEVTVF9QQVRIfQotCWNwICR7V09SS0RJUn0vTWFrZWZpbGUgJHQKLQljcCAtciAke1N9L3Rlc3RkYXRhICR0Ci0JZm9yIGkgaW4gcGNyZV9zdHJpbmdwaWVjZV91bml0dGVzdCBwY3JlZ3JlcCBwY3JldGVzdDsgXAotCSAgZG8gY3AgJHtCfS8ubGlicy8kaSAkdDsgXAotCWRvbmUKLQlmb3IgaSBpbiBSdW5UZXN0IFJ1bkdyZXBUZXN0IHRlc3QtZHJpdmVyOyBcCi0JICBkbyBjcCAke1N9LyRpICR0OyBcCi0JZG9uZQotCSMgU2tpcCB0aGUgZnJfRlIgbG9jYWxlIHRlc3QuIElmIHRoZSBsb2NhbGUgZnJfRlIgaXMgZm91bmQsIGl0IGlzIHRlc3RlZC4KLQkjIElmIG5vdCBmb3VuZCwgdGhlIHRlc3QgaXMgc2tpcHBlZC4gVGhlIHRlc3QgcHJvZ3JhbSBhc3N1bWVzIGZyX0ZSIGlzIG5vbi1VVEYtOAotCSMgbG9jYWxlIHNvIHRoZSB0ZXN0IGZhaWxzIGlmIGZyX0ZSIGlzIFVURi04IGxvY2FsZS4KLQlzZWQgLWkgLWUgJ3M6ZG8zPXllczpkbzM9bm86ZycgJHtEfSR7UFRFU1RfUEFUSH0vUnVuVGVzdCAKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicGNyZS9saWJwY3JlXzguNDMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQzLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4MzE0ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBjcmUvbGlicGNyZV84LjQzLmJiCkBAIC0wLDAgKzEsNzQgQEAKK0RFU0NSSVBUSU9OID0gIlRoZSBQQ1JFIGxpYnJhcnkgaXMgYSBzZXQgb2YgZnVuY3Rpb25zIHRoYXQgaW1wbGVtZW50IHJlZ3VsYXIgXAorZXhwcmVzc2lvbiBwYXR0ZXJuIG1hdGNoaW5nIHVzaW5nIHRoZSBzYW1lIHN5bnRheCBhbmQgc2VtYW50aWNzIGFzIFBlcmwgNS4gUENSRSBcCitoYXMgaXRzIG93biBuYXRpdmUgQVBJLCBhcyB3ZWxsIGFzIGEgc2V0IG9mIHdyYXBwZXIgZnVuY3Rpb25zIHRoYXQgY29ycmVzcG9uZCBcCit0byB0aGUgUE9TSVggcmVndWxhciBleHByZXNzaW9uIEFQSS4iCitTVU1NQVJZID0gIlBlcmwgQ29tcGF0aWJsZSBSZWd1bGFyIEV4cHJlc3Npb25zIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5wY3JlLm9yZyIKK1NFQ1RJT04gPSAiZGV2ZWwiCitMSUNFTlNFID0gIkJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOQ0U7bWQ1PTkxYmVlNTlkMWIzMjdlYjE1OTliNGM2NzNlMmZiM2QxIgorU1JDX1VSSSA9ICJodHRwczovL2Z0cC5wY3JlLm9yZy9wdWIvcGNyZS9wY3JlLSR7UFZ9LnRhci5iejIgXAorICAgICAgICAgICBmaWxlOi8vZml4LXBjcmUtbmFtZS1jb2xsaXNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vb3V0LW9mLXRyZWUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjYzNjIyMmU3OWUzOTJjM2Q5NWRjYzU0NWYyNGY5OGM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkxZTc2MjUyMDAwMzAxMzgzNGFjMWFkYjRhOTM4ZDUzYjIyYTIxNjM0MWMwNjFiMGNmMDU2MDNiMjkwZmFmNmIiCisKK0NWRV9QUk9EVUNUID0gInBjcmUiCisKK1MgPSAiJHtXT1JLRElSfS9wY3JlLSR7UFZ9IgorCitQUk9WSURFUyArPSAicGNyZSIKK0RFUEVORFMgKz0gImJ6aXAyIHpsaWIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJwY3JlOCB1bmljb2RlLXByb3BlcnRpZXMgaml0IgorCitQQUNLQUdFQ09ORklHW3BjcmU4XSA9ICItLWVuYWJsZS1wY3JlOCwtLWRpc2FibGUtcGNyZTgiCitQQUNLQUdFQ09ORklHW3BjcmUxNl0gPSAiLS1lbmFibGUtcGNyZTE2LC0tZGlzYWJsZS1wY3JlMTYiCitQQUNLQUdFQ09ORklHW3BjcmUzMl0gPSAiLS1lbmFibGUtcGNyZTMyLC0tZGlzYWJsZS1wY3JlMzIiCitQQUNLQUdFQ09ORklHW3BjcmV0ZXN0LXJlYWRsaW5lXSA9ICItLWVuYWJsZS1wY3JldGVzdC1saWJyZWFkbGluZSwtLWRpc2FibGUtcGNyZXRlc3QtbGlicmVhZGxpbmUscmVhZGxpbmUsIgorUEFDS0FHRUNPTkZJR1t1bmljb2RlLXByb3BlcnRpZXNdID0gIi0tZW5hYmxlLXVuaWNvZGUtcHJvcGVydGllcywtLWRpc2FibGUtdW5pY29kZS1wcm9wZXJ0aWVzIgorUEFDS0FHRUNPTkZJR1tqaXRdID0gIi0tZW5hYmxlLWppdD1hdXRvLC0tZGlzYWJsZS1qaXQiCisKK0JJTkNPTkZJRyA9ICIke2JpbmRpcn0vcGNyZS1jb25maWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIGJpbmNvbmZpZy1kaXNhYmxlZCBwdGVzdAorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtdXRmIgorCitQQUNLQUdFUyA9KyAibGlicGNyZWNwcCBsaWJwY3JlcG9zaXggcGNyZWdyZXAgcGNyZWdyZXAtZG9jIHBjcmV0ZXN0IHBjcmV0ZXN0LWRvYyIKKworU1VNTUFSWV9saWJwY3JlY3BwID0gIiR7U1VNTUFSWX0gLSBDKysgd3JhcHBlciBmdW5jdGlvbnMiCitTVU1NQVJZX2xpYnBjcmVwb3NpeCA9ICIke1NVTU1BUll9IC0gQyB3cmFwcGVyIGZ1bmN0aW9ucyBiYXNlZCBvbiB0aGUgUE9TSVggcmVnZXggQVBJIgorU1VNTUFSWV9wY3JlZ3JlcCA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMiCitTVU1NQVJZX3BjcmVncmVwLWRvYyA9ICJncmVwIHV0aWxpdHkgdGhhdCB1c2VzIHBlcmwgNSBjb21wYXRpYmxlIHJlZ2V4ZXMgLSBkb2NzIgorU1VNTUFSWV9wY3JldGVzdCA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMiCitTVU1NQVJZX3BjcmV0ZXN0LWRvYyA9ICJwcm9ncmFtIGZvciB0ZXN0aW5nIFBlcmwtY29tYXRpYmxlIHJlZ3VsYXIgZXhwcmVzc2lvbnMgLSBkb2NzIgorCitGSUxFU19saWJwY3JlY3BwID0gIiR7bGliZGlyfS9saWJwY3JlY3BwLnNvLioiCitGSUxFU19saWJwY3JlcG9zaXggPSAiJHtsaWJkaXJ9L2xpYnBjcmVwb3NpeC5zby4qIgorRklMRVNfcGNyZWdyZXAgPSAiJHtiaW5kaXJ9L3BjcmVncmVwIgorRklMRVNfcGNyZWdyZXAtZG9jID0gIiR7bWFuZGlyfS9tYW4xL3BjcmVncmVwLjEiCitGSUxFU19wY3JldGVzdCA9ICIke2JpbmRpcn0vcGNyZXRlc3QiCitGSUxFU19wY3JldGVzdC1kb2MgPSAiJHttYW5kaXJ9L21hbjEvcGNyZXRlc3QuMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworCXQ9JHtEfSR7UFRFU1RfUEFUSH0KKwljcCAke1dPUktESVJ9L01ha2VmaWxlICR0CisJY3AgLXIgJHtTfS90ZXN0ZGF0YSAkdAorCWZvciBpIGluIHBjcmVfc3RyaW5ncGllY2VfdW5pdHRlc3QgcGNyZWdyZXAgcGNyZXRlc3Q7IFwKKwkgIGRvIGNwICR7Qn0vLmxpYnMvJGkgJHQ7IFwKKwlkb25lCisJZm9yIGkgaW4gUnVuVGVzdCBSdW5HcmVwVGVzdCB0ZXN0LWRyaXZlcjsgXAorCSAgZG8gY3AgJHtTfS8kaSAkdDsgXAorCWRvbmUKKwkjIFNraXAgdGhlIGZyX0ZSIGxvY2FsZSB0ZXN0LiBJZiB0aGUgbG9jYWxlIGZyX0ZSIGlzIGZvdW5kLCBpdCBpcyB0ZXN0ZWQuCisJIyBJZiBub3QgZm91bmQsIHRoZSB0ZXN0IGlzIHNraXBwZWQuIFRoZSB0ZXN0IHByb2dyYW0gYXNzdW1lcyBmcl9GUiBpcyBub24tVVRGLTgKKwkjIGxvY2FsZSBzbyB0aGUgdGVzdCBmYWlscyBpZiBmcl9GUiBpcyBVVEYtOCBsb2NhbGUuCisJc2VkIC1pIC1lICdzOmRvMz15ZXM6ZG8zPW5vOmcnICR7RH0ke1BURVNUX1BBVEh9L1J1blRlc3QgCit9CmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5LzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnByb3h5L2xpYnByb3h5LzAwMDEtZ2V0LXBhYy10ZXN0LUZpeC1idWlsZC13aXRoLWNsYW5nLWxpYmMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmVkZGE5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHkvMDAwMS1nZXQtcGFjLXRlc3QtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDJkNzM0NjljN2ExN2ViZmU0MzMwYWM2NjQzYjBjOGFiZGMxMjVkMDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAzMCBKYW4gMjAxOSAwOToyOTo0NCAtMDgwMAorU3ViamVjdDogW1BBVENIXSBnZXQtcGFjLXRlc3Q6IEZpeCBidWlsZCB3aXRoIGNsYW5nL2xpYmMrKworCitnZXQtcGFjLXRlc3QuY3BwOjU1OjEwOiBlcnJvcjogYXNzaWduaW5nIHRvICdpbnQnIGZyb20gaW5jb21wYXRpYmxlIHR5cGUgJ19fYmluZDxpbnQgJiwgc29ja2FkZHIgKiwgdW5zaWduZWQgaW50PicKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IGJpbmQobV9zb2NrLCAoc29ja2FkZHIqKSZhZGRyLCBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9pbikpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbGlicHJveHkvbGlicHJveHkvcHVsbC85N10KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorIGxpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcCBiL2xpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcAoraW5kZXggMDA1OWRmYi4uOTExZjI5NiAxMDA2NDQKKy0tLSBhL2xpYnByb3h5L3Rlc3QvZ2V0LXBhYy10ZXN0LmNwcAorKysrIGIvbGlicHJveHkvdGVzdC9nZXQtcGFjLXRlc3QuY3BwCitAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBUZXN0U2VydmVyIHsKKyAKKyAJCQlzZXRzb2Nrb3B0KG1fc29jaywgU09MX1NPQ0tFVCwgU09fUkVVU0VBRERSLCAmaSwgc2l6ZW9mKGkpKTsKKyAKKy0JCQlyZXQgPSBiaW5kKG1fc29jaywgKHNvY2thZGRyKikmYWRkciwgc2l6ZW9mIChzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsKKysJCQlyZXQgPSA6OmJpbmQobV9zb2NrLCAoc29ja2FkZHIqKSZhZGRyLCBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9pbikpOworIAkJCWFzc2VydCghcmV0KTsKKyAKKyAJCQlyZXQgPSBsaXN0ZW4obV9zb2NrLCAxKTsKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHJveHkvbGlicHJveHlfMC40LjE1LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eV8wLjQuMTUuYmIKaW5kZXggZGQ3YWQ5Mi4uMTlkZGRlYiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eV8wLjQuMTUuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJwcm94eS9saWJwcm94eV8wLjQuMTUuYmIKQEAgLTgsNyArOCw5IEBACiAKIERFUEVORFMgPSAiZ2xpYi0yLjAiCiAKLVNSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tLyR7QlBOfS8ke0JQTn0vcmVsZWFzZXMvZG93bmxvYWQvJHtQVn0vJHtCUH0udGFyLnh6IgorU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vJHtCUE59LyR7QlBOfS9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS8ke0JQfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1nZXQtcGFjLXRlc3QtRml4LWJ1aWxkLXdpdGgtY2xhbmctbGliYy5wYXRjaCBcCisgICAgICAgICAgIgogU1JDX1VSSVttZDVzdW1dID0gImY2YjFkMmExZTE3YTk5Y2QzZGViYWFlNmQwNGFiMTUyIgogU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY1NGRiNDY0MTIwYzk1MzQ2NTQ1OTBiNjY4M2M3ZmEzODg3YjNkYWQwY2ExYzRjZDQxMmFmMjRmYmZjYTZkNGYiCiAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlicHNsL2xpYnBzbF8wLjIwLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBzbC9saWJwc2xfMC4yMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjYjIwZDQKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnBzbC9saWJwc2xfMC4yMC4yLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiUHVibGljIFN1ZmZpeCBMaXN0IGxpYnJhcnkiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NTQzNzAzMGQ5ZTRmYmU3MjY3Y2VkMDU4ZGRiOGE3ZjUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORzttZDU9ZjQxZDEwOTk3YTEyZGE1ZWUzYzI0Y2VlYjAxNDhkMTgiCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JvY2tkYWJvb3QvJHtCUE59L3JlbGVhc2VzL2Rvd25sb2FkLyR7QlB9LyR7QlB9LnRhci5neiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJmNjA0ZjdkMzBkNjRiYzY3Mzg3MGVjZjg0Yjg2MGExZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOGZkMGFlYjY2MjUyZGZjYzYzOGYxNGQ5YmUxZTIzNjJmZGFmMmNhODZiZGUwNDQ0ZmY0ZDVjYzk2MWI1NjBmIgorCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL3JvY2tkYWJvb3QvbGlicHNsL3JlbGVhc2VzIgorCitERVBFTkRTID0gImxpYmlkbjIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgZ3RrLWRvYyBtYW5wYWdlcyBwa2djb25maWcgbGliX3BhY2thZ2UKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbbWFucGFnZXNdID0gIi0tZW5hYmxlLW1hbiwtLWRpc2FibGUtbWFuLGxpYnhzbHQtbmF0aXZlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjQvMDAwMS1Eby1ub3QtZW5mb3JjZS1uby1pbnRyb3NwZWN0aW9uLXdoZW4tY3Jvc3MtYnVpbGRpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjQvMDAwMS1Eby1ub3QtZW5mb3JjZS1uby1pbnRyb3NwZWN0aW9uLXdoZW4tY3Jvc3MtYnVpbGRpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJiMDI5YQotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlic291cC9saWJzb3VwLTIuNC8wMDAxLURvLW5vdC1lbmZvcmNlLW5vLWludHJvc3BlY3Rpb24td2hlbi1jcm9zcy1idWlsZGluZy5wYXRjaApAQCAtMCwwICsxLDI0IEBACitGcm9tIDkyMTg4OGFmZmU2Njk1M2M5MmEwOGFlNDQwZTkxMWIwMTZiMTI0YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMTUgRmViIDIwMTkgMTQ6MjE6MDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gRG8gbm90IGVuZm9yY2Ugbm8taW50cm9zcGVjdGlvbiB3aGVuIGNyb3NzLWJ1aWxkaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CistLS0KKyBtZXNvbi5idWlsZCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQKK2luZGV4IDVhOTJjZGEuLmNmYjM1MjAgMTAwNjQ0CistLS0gYS9tZXNvbi5idWlsZAorKysrIGIvbWVzb24uYnVpbGQKK0BAIC0yNjIsNyArMjYyLDcgQEAgZW5hYmxlX2dub21lID0gZ2V0X29wdGlvbignZ25vbWUnKSBhbmQgaG9zdF9tYWNoaW5lLnN5c3RlbSgpICE9ICd3aW5kb3dzJworICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAjIEdPYmplY3QgaW50cm9zcGVjdGlvbiAjCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworLWVuYWJsZV9pbnRyb3NwZWN0aW9uID0gZ2V0X29wdGlvbignaW50cm9zcGVjdGlvbicpIGFuZCBmaW5kX3Byb2dyYW0oJ2ctaXItc2Nhbm5lcicsIHJlcXVpcmVkOiBmYWxzZSkuZm91bmQoKSBhbmQgbm90IG1lc29uLmlzX2Nyb3NzX2J1aWxkKCkKKytlbmFibGVfaW50cm9zcGVjdGlvbiA9IGdldF9vcHRpb24oJ2ludHJvc3BlY3Rpb24nKSBhbmQgZmluZF9wcm9ncmFtKCdnLWlyLXNjYW5uZXInLCByZXF1aXJlZDogZmFsc2UpLmZvdW5kKCkKKyAKKyAjIyMjIyMjIyMjIyMKKyAjIFZhbGEgQVBJICMKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlic291cC9saWJzb3VwLTIuNF8yLjYyLjMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42Mi4zLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYWEzY2M1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlic291cC9saWJzb3VwLTIuNF8yLjYyLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1TVU1NQVJZID0gIkFuIEhUVFAgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBpbiBDIgotSE9NRVBBR0UgPSAiaHR0cHM6Ly93aWtpLmdub21lLm9yZy9Qcm9qZWN0cy9saWJzb3VwIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi1TRUNUSU9OID0gIngxMS9nbm9tZS9saWJzIgotTElDRU5TRSA9ICJMR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZjMwZjA3MTZkZmRkMGQ5MWViNDM5ZWJlYzUyMmVjMiIKLQotREVQRU5EUyA9ICJnbGliLTIuMCBnbGliLTIuMC1uYXRpdmUgbGlieG1sMiBzcWxpdGUzIGludGx0b29sLW5hdGl2ZSIKLQotU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCi0KLVNSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYnNvdXAvJHtTSFJUX1ZFUn0vbGlic291cC0ke1BWfS50YXIueHoiCi1TUkNfVVJJW21kNXN1bV0gPSAiZGZiZjMwYWY1ZmI2MTkwYmZhZmM1YWE2YWJjYzlkY2UiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZDMxMmFkZTU0NzQ5NWMyMDkzZmY4YmRhNjFmOWI5NzI3YTk4Y2ZkYWUzMzlmMzI2MzI3N2RkMzljMDQ1MTE3MiIKLQotUyA9ICIke1dPUktESVJ9L2xpYnNvdXAtJHtQVn0iCi0KLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIHVwc3RyZWFtLXZlcnNpb24taXMtZXZlbiBnb2JqZWN0LWludHJvc3BlY3Rpb24gZ3RrLWRvYwotCi0jIGxpYnNvdXAtZ25vbWUgaXMgZW50aXJlbHkgZGVwcmVjYXRlZCBhbmQganVzdCBzdHVicyBpbiAyLjQyIG9ud2FyZHMuIERpc2FibGUgYnkgZGVmYXVsdC4KLVBBQ0tBR0VDT05GSUcgPz89ICIiCi1QQUNLQUdFQ09ORklHW2dub21lXSA9ICItLXdpdGgtZ25vbWUsLS13aXRob3V0LWdub21lIgotUEFDS0FHRUNPTkZJR1tnc3NhcGldID0gIi0td2l0aC1nc3NhcGksLS13aXRob3V0LWdzc2FwaSxrcmI1IgotCi1FWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXZhbGEiCi0KLSMgV2hlbiBidWlsdCB3aXRob3V0IGdub21lIHN1cHBvcnQsIGxpYnNvdXAtMi40IHdpbGwgY29udGFpbiBvbmx5IG9uZSBzaGFyZWQgbGliCi0jIGFuZCB3aWxsIHRoZXJlZm9yZSBiZWNvbWUgc3ViamVjdCB0byByZW5hbWluZyBieSBkZWJpYW4uYmJjbGFzcy4gUHJldmVudAotIyByZW5hbWluZyBpbiBvcmRlciB0byBrZWVwIHRoZSBwYWNrYWdlIG5hbWUgY29uc2lzdGVudCByZWdhcmRsZXNzIG9mIHdoZXRoZXIKLSMgZ25vbWUgc3VwcG9ydCBpcyBlbmFibGVkIG9yIGRpc2FibGVkLgotREVCSUFOX05PQVVUT05BTUVfJHtQTn0gPSAiMSIKLQotIyBnbGliLW5ldHdvcmtpbmcgaXMgbmVlZGVkIGZvciBTU0wsIHByb3hpZXMsIGV0Yy4KLVJSRUNPTU1FTkRTXyR7UE59ID0gImdsaWItbmV0d29ya2luZyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlic291cC9saWJzb3VwLTIuNF8yLjY0LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42NC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlN2MxYTYKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnNvdXAvbGlic291cC0yLjRfMi42NC4yLmJiCkBAIC0wLDAgKzEsNTEgQEAKK1NVTU1BUlkgPSAiQW4gSFRUUCBsaWJyYXJ5IGltcGxlbWVudGF0aW9uIGluIEMiCitIT01FUEFHRSA9ICJodHRwczovL3dpa2kuZ25vbWUub3JnL1Byb2plY3RzL2xpYnNvdXAiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLyIKK1NFQ1RJT04gPSAieDExL2dub21lL2xpYnMiCitMSUNFTlNFID0gIkxHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmMzBmMDcxNmRmZGQwZDkxZWI0MzllYmVjNTIyZWMyIgorCitERVBFTkRTID0gImdsaWItMi4wIGdsaWItMi4wLW5hdGl2ZSBsaWJ4bWwyIHNxbGl0ZTMgaW50bHRvb2wtbmF0aXZlIGxpYnBzbCIKKworU0hSVF9WRVIgPSAiJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0uJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVsxXX0iCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L2xpYnNvdXAvJHtTSFJUX1ZFUn0vbGlic291cC0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1Eby1ub3QtZW5mb3JjZS1uby1pbnRyb3NwZWN0aW9uLXdoZW4tY3Jvc3MtYnVpbGRpbmcucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiY2FjNzU1ZGM2YzZhY2Q2ZTBjNzAwMDdmNTQ3NTQ4ZjUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzVkZGMxOTRhNWIxZDZmMjUwMzNiYjlkMzU1ZjA0YmZlNWMwM2UwZTFjNzFlZDA3NzQxMDQ0NTdiM2E3ODZjNiIKKworUyA9ICIke1dPUktESVJ9L2xpYnNvdXAtJHtQVn0iCisKK2luaGVyaXQgbWVzb24gZ2V0dGV4dCBwa2djb25maWcgdXBzdHJlYW0tdmVyc2lvbi1pcy1ldmVuIGdvYmplY3QtaW50cm9zcGVjdGlvbiBndGstZG9jCisKKyMgbGlic291cC1nbm9tZSBpcyBlbnRpcmVseSBkZXByZWNhdGVkIGFuZCBqdXN0IHN0dWJzIGluIDIuNDIgb253YXJkcy4gRGlzYWJsZSBieSBkZWZhdWx0LgorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbZ25vbWVdID0gIi1EZ25vbWU9dHJ1ZSwtRGdub21lPWZhbHNlIgorUEFDS0FHRUNPTkZJR1tnc3NhcGldID0gIi1EZ3NzYXBpPXRydWUsLURnc3NhcGk9ZmFsc2Usa3JiNSIKKworRVhUUkFfT0VNRVNPTl9hcHBlbmQgPSAiIC1EdmFwaT1mYWxzZSIKKworR1RLRE9DX0VOQUJMRV9GTEFHID0gIi1EZG9jPXRydWUiCitHVEtET0NfRElTQUJMRV9GTEFHID0gIi1EZG9jPWZhbHNlIgorCitHSV9FTkFCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249dHJ1ZSIKK0dJX0RJU0FCTEVfRkxBRyA9ICItRGludHJvc3BlY3Rpb249ZmFsc2UiCisKK0VYVFJBX09FTUVTT05fYXBwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICIgJHtHSV9ESVNBQkxFX0ZMQUd9IgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHSV9EQVRBX0VOQUJMRUQnLCAnVHJ1ZScsICcke0dJX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcke0dJX0RJU0FCTEVfRkxBR30nLCBkKX0gIgorCitFWFRSQV9PRU1FU09OX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJyR7R1RLRE9DX0VOQUJMRV9GTEFHfScsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtHVEtET0NfRElTQUJMRV9GTEFHfScsIGQpfSAiCisKKworIyBXaGVuIGJ1aWx0IHdpdGhvdXQgZ25vbWUgc3VwcG9ydCwgbGlic291cC0yLjQgd2lsbCBjb250YWluIG9ubHkgb25lIHNoYXJlZCBsaWIKKyMgYW5kIHdpbGwgdGhlcmVmb3JlIGJlY29tZSBzdWJqZWN0IHRvIHJlbmFtaW5nIGJ5IGRlYmlhbi5iYmNsYXNzLiBQcmV2ZW50CisjIHJlbmFtaW5nIGluIG9yZGVyIHRvIGtlZXAgdGhlIHBhY2thZ2UgbmFtZSBjb25zaXN0ZW50IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgorIyBnbm9tZSBzdXBwb3J0IGlzIGVuYWJsZWQgb3IgZGlzYWJsZWQuCitERUJJQU5fTk9BVVRPTkFNRV8ke1BOfSA9ICIxIgorCisjIGdsaWItbmV0d29ya2luZyBpcyBuZWVkZWQgZm9yIFNTTCwgcHJveGllcywgZXRjLgorUlJFQ09NTUVORFNfJHtQTn0gPSAiZ2xpYi1uZXR3b3JraW5nIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MzdiODc4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKQEAgLTAsMCArMSw2MiBAQAorRnJvbSA1OTlmMTBhYzNhMjRlNDE5YTkzZjk3ZmRkYmUxNGRlMDFiMTE4NWVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIFBldGF6em9uaSA8dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+CitEYXRlOiBUdWUsIDEzIE1heSAyMDE0IDIzOjMyOjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS82XSBBZGQgQU9fUkVRVUlSRV9DQVMgdG8gZml4IGJ1aWxkIG9uIEFSTSA8IHY2CisKK0FSTSBlYXJsaWVyIHRoYW4gQVJNdjYsIHN1Y2ggYXMgQVJNdjQgYW5kIEFSTXY1IGRvIG5vdCBwcm92aWRlCitvcHRpbWl6ZSBhdG9taWMgb3BlcmF0aW9ucyBpbiBsaWJhdG9taWNfb3BzLiBTaW5jZSBsaWJ1bndpbmQgaXMgdXNpbmcKK3N1Y2ggb3BlcmF0aW9ucywgaXQgc2hvdWxkIGRlZmluZSBBT19SRVFVSVJFX0NBUyBiZWZvcmUgaW5jbHVkaW5nCis8YXRvbWljX29wcy5oPiBzbyB0aGF0IGxpYmF0b21pY19vcHMga25vd3MgaXQgc2hvdWxkIHVzZSBlbXVsYXRlZAorYXRvbWljIG9wZXJhdGlvbnMgaW5zdGVhZCAoZXZlbiB0aG91Z2ggdGhleSBhcmUgb2J2aW91c2x5IGEgbG90IG1vcmUKK2V4cGVuc2l2ZSkuCisKK0Fsc28sIHdoaWxlIHJlYWwgYXRvbWljIG9wZXJhdGlvbnMgYXJlIGFsbCBpbmxpbmUgZnVuY3Rpb25zIGFuZAordGhlcmVmb3JlIGxpbmtpbmcgYWdhaW5zdCBsaWJhdG9taWNfb3BzIHdhcyBub3QgcmVxdWlyZWQsIHRoZSBlbXVsYXRlZAorYXRvbWljIG9wZXJhdGlvbnMgYWN0dWFsbHkgcmVxdWlyZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcywgc28KK3RoZSBjb21tZW50ZWQgQUNfQ0hFQ0tfTElCIHRlc3QgaW4gYWNpbmNsdWRlLm00IGlzIHVuY29tbWVudGVkIHRvIG1ha2UKK3N1cmUgd2UgbGluayBhZ2FpbnN0IGxpYmF0b21pY19vcHMuCisKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1Rha2VuIGZyb206CitodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmRuZXR0by90ZWFwb3QtYnVpbGRyb290L21hc3Rlci9wYWNrYWdlL2xpYnVud2luZC9saWJ1bndpbmQtMDItQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKKworLS0tCisgYWNpbmNsdWRlLm00ICAgICAgICAgIHwgOCArLS0tLS0tLQorIGluY2x1ZGUvbGlidW53aW5kX2kuaCB8IDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYWNpbmNsdWRlLm00IGIvYWNpbmNsdWRlLm00CitpbmRleCA0OTdmN2MyLi45YzE1YWYxIDEwMDY0NAorLS0tIGEvYWNpbmNsdWRlLm00CisrKysgYi9hY2luY2x1ZGUubTQKK0BAIC0yMiwxMSArMjIsNSBAQCBmaV0pCisgQUNfREVGVU4oW0NIRUNLX0FUT01JQ19PUFNdLAorIFtkbmwgQ2hlY2sgd2hldGhlciB0aGUgc3lzdGVtIGhhcyB0aGUgYXRvbWljX29wcyBwYWNrYWdlIGluc3RhbGxlZC4KKyAgIEFDX0NIRUNLX0hFQURFUlMoYXRvbWljX29wcy5oKQorLSMKKy0jIERvbid0IGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzIGZvciBub3cuICBXZSBkb24ndCB3YW50IGxpYnVud2luZAorLSMgdG8gZGVwZW5kIG9uIGxpYmF0b21pY19vcHMuc28uICBGb3J0dW5hdGVseSwgbm9uZSBvZiB0aGUgcGxhdGZvcm1zCistIyB3ZSBjYXJlIGFib3V0IHNvIGZhciBuZWVkIGxpYmF0b21pY19vcHMuYSAoZXZlcnl0aGluZyBpcyBkb25lIHZpYQorLSMgaW5saW5lIG1hY3JvcykuCistIworLSMgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQorKyAgQUNfQ0hFQ0tfTElCKGF0b21pY19vcHMsIG1haW4pCisgXSkKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2xpYnVud2luZF9pLmggYi9pbmNsdWRlL2xpYnVud2luZF9pLmgKK2luZGV4IDM2Y2Y3YTEuLjMzYjRjYTMgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2xpYnVud2luZF9pLmgKKysrKyBiL2luY2x1ZGUvbGlidW53aW5kX2kuaAorQEAgLTEyNCw2ICsxMjQsNyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgICAgICAgICAocHRocmVhZF9tdXRleF91bmxvY2sgIT0gTlVMTCA/IHB0aHJlYWRfbXV0ZXhfdW5sb2NrIChsKSA6IDApCisgCisgI2lmZGVmIEhBVkVfQVRPTUlDX09QU19ICisrIyBkZWZpbmUgQU9fUkVRVUlSRV9DQVMKKyAjIGluY2x1ZGUgPGF0b21pY19vcHMuaD4KKyBzdGF0aWMgaW5saW5lIGludAorIGNtcHhjaGdfcHRyICh2b2lkICphZGRyLCB2b2lkICpvbGQsIHZvaWQgKm5ldykKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmNjMjUyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1Gcm9tIGU2MjNjNzcwMzk0NWE1ZWI2YzlhMzA1ODZlYzVlMjNiMmY3Mzk2ZjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogV2VkLCAyMyBNYXIgMjAxNiAwNjowODo1OSArMDAwMAotU3ViamVjdDogW1BBVENIXSBGaXggYnVpbGQgb24gbWlwcy9tdXNsCi0KLURvIG5vdCBpbmNsdWRlIGVuZGlhbi5oIG9uIG11c2wgaXQgaW5jbHVkZXMKLWZ1cnRoZXIgaGVhZGVycyB3aGljaCBjYW4gbm90IGJlIGNvbXBpbGVkIGluIF9fQVNTRU1CTEVSX18KLSBtb2RlCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaCB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvbWlwcy9nZXRjb250ZXh0LlMgICAgICAgIHwgIDMgKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1JbmRleDogZ2l0L3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCi0rKysgZ2l0L3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmgKLUBAIC00NCw2ICs0NCw0MSBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFCi0gCi0gI2luY2x1ZGUgImxpYnVud2luZF9pLmgiCi0gCi0rI2lmbmRlZiBfX0dMSUJDX18KLSsjaW5jbHVkZSA8c3lzL3JlZy5oPgotKwotKyNkZWZpbmUgRUZfUkVHMAkJCTYKLSsjZGVmaW5lIEVGX1JFRzEJCQk3Ci0rI2RlZmluZSBFRl9SRUcyCQkJOAotKyNkZWZpbmUgRUZfUkVHMwkJCTkKLSsjZGVmaW5lIEVGX1JFRzQJCQkxMAotKyNkZWZpbmUgRUZfUkVHNQkJCTExCi0rI2RlZmluZSBFRl9SRUc2CQkJMTIKLSsjZGVmaW5lIEVGX1JFRzcJCQkxMwotKyNkZWZpbmUgRUZfUkVHOAkJCTE0Ci0rI2RlZmluZSBFRl9SRUc5CQkJMTUKLSsjZGVmaW5lIEVGX1JFRzEwCQkxNgotKyNkZWZpbmUgRUZfUkVHMTEJCTE3Ci0rI2RlZmluZSBFRl9SRUcxMgkJMTgKLSsjZGVmaW5lIEVGX1JFRzEzCQkxOQotKyNkZWZpbmUgRUZfUkVHMTQJCTIwCi0rI2RlZmluZSBFRl9SRUcxNQkJMjEKLSsjZGVmaW5lIEVGX1JFRzE2CQkyMgotKyNkZWZpbmUgRUZfUkVHMTcJCTIzCi0rI2RlZmluZSBFRl9SRUcxOAkJMjQKLSsjZGVmaW5lIEVGX1JFRzE5CQkyNQotKyNkZWZpbmUgRUZfUkVHMjAJCTI2Ci0rI2RlZmluZSBFRl9SRUcyMQkJMjcKLSsjZGVmaW5lIEVGX1JFRzIyCQkyOAotKyNkZWZpbmUgRUZfUkVHMjMJCTI5Ci0rI2RlZmluZSBFRl9SRUcyNAkJMzAKLSsjZGVmaW5lIEVGX1JFRzI1CQkzMQotKyNkZWZpbmUgRUZfUkVHMjgJCTM0Ci0rI2RlZmluZSBFRl9SRUcyOQkJMzUKLSsjZGVmaW5lIEVGX1JFRzMwCQkzNgotKyNkZWZpbmUgRUZfUkVHMzEJCTM3Ci0rI2VuZGlmCi0rCi0gCi0gI2lmIFNJWkVPRl9PRkZfVCA9PSA0Ci0gdHlwZWRlZiB1aW50MzJfdCB1b2ZmX3Q7Ci1JbmRleDogZ2l0L3NyYy9taXBzL2dldGNvbnRleHQuUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdpdC5vcmlnL3NyYy9taXBzL2dldGNvbnRleHQuUwotKysrIGdpdC9zcmMvbWlwcy9nZXRjb250ZXh0LlMKLUBAIC0yNCwxMiArMjQsMTEgQEAgT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCi0gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuICAqLwotIAotICNpbmNsdWRlICJvZmZzZXRzLmgiCi0tI2luY2x1ZGUgPGVuZGlhbi5oPgotIAotIAkudGV4dAotIAotICNpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgotLSMgaWYgX19CWVRFX09SREVSID09IF9fQklHX0VORElBTgotKyMgaWYgX19CWVRFX09SREVSX18gPT0gX19PUkRFUl9CSUdfRU5ESUFOX18KLSAjICBkZWZpbmUgT0ZGU0VUIDQKLSAjIGVsc2UKLSAjICBkZWZpbmUgT0ZGU0VUIDAKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWFkZC1rbm9icy10by1kaXNhYmxlLWVuYWJsZS10ZXN0cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWFkZC1rbm9icy10by1kaXNhYmxlLWVuYWJsZS10ZXN0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjczYTViYi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi1Gcm9tIDQ1OWU0NzFmY2MzM2QzMDBmN2JiY2RhZjNlMGRjMzM4ZDlkYzE1YjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCAzMCBBcHIgMjAxNiAxNjo1NjozNCArMDAwMAotU3ViamVjdDogW1BBVENIXSBhZGQga25vYnMgdG8gZGlzYWJsZS9lbmFibGUgdGVzdHMKLQotU29tZSB0ZXN0cyBkbyBub3QgY29tcGlsZSBvbiBtdXNsIGxpYmMKLWluIGdlbmVyYWwgaXRzIGdvb2QgdG8gaGF2ZSBzdWNoIGEga25vYgotc2luY2Ugbm90IGFsbCBidWlsZHMgbWF5IHdhbnQgdG8gZW5hYmxlCi10ZXN0cwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIE1ha2VmaWxlLmFtICB8ICA2ICsrKysrLQotIGNvbmZpZ3VyZS5hYyB8IDEyICsrKysrKysrKystLQotIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KLWluZGV4IDZhM2VkOWUuLjBjMjliM2UgMTAwNjQ0Ci0tLS0gYS9NYWtlZmlsZS5hbQotKysrIGIvTWFrZWZpbGUuYW0KLUBAIC00Miw3ICs0MiwxMSBAQCBlbmRpZgotIAotIG5vZGlzdF9pbmNsdWRlX0hFQURFUlMgPSBpbmNsdWRlL2xpYnVud2luZC1jb21tb24uaAotIAotLVNVQkRJUlMgPSBzcmMgdGVzdHMKLStTVUJESVJTID0gc3JjCi0rCi0raWYgQ09ORklHX1RFU1RTCi0rU1VCRElSUyArPSB0ZXN0cwotK2VuZGlmCi0gCi0gaWYgQ09ORklHX0RPQ1MKLSBTVUJESVJTICs9IGRvYwotZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggODVkNzhmOC4uZDM2MjM4NyAxMDA2NDQKLS0tLSBhL2NvbmZpZ3VyZS5hYwotKysrIGIvY29uZmlndXJlLmFjCi1AQCAtMTI5LDYgKzEyOSwxMCBAQCBBQ19BUkdfRU5BQkxFKGRvY3VtZW50YXRpb24sCi0gCUFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZG9jdW1lbnRhdGlvbl0sW0Rpc2FibGUgZ2VuZXJhdGluZyB0aGUgbWFuIHBhZ2VzXSksLAotIAlbZW5hYmxlX2RvY3VtZW50YXRpb249eWVzXSkKLSAKLStBQ19BUkdfRU5BQkxFKHRlc3RzLAotKwlBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXRlc3RzXSxbRGlzYWJsZSBidWlsZGluZyB0ZXN0c10pLCwKLSsJW2VuYWJsZV90ZXN0cz15ZXNdKQotKwotIEFDX01TR19DSEVDS0lORyhbaWYgd2Ugc2hvdWxkIGJ1aWxkIGxpYnVud2luZC1zZXRqbXBdKQotIEFDX01TR19SRVNVTFQoWyRlbmFibGVfc2V0am1wXSkKLSAKLUBAIC0zOTUsOSArMzk5LDEzIEBAIEFNX0NPTkRJVElPTkFMKFtDT05GSUdfRE9DU10sIFt0ZXN0IHgkZW5hYmxlX2RvY3VtZW50YXRpb24gPSB4eWVzXSkKLSBpZiB0ZXN0ICJ4JGVuYWJsZV9kb2N1bWVudGF0aW9uIiA9ICJ4eWVzIjsgdGhlbgotICAgQUNfQ09ORklHX0ZJTEVTKGRvYy9NYWtlZmlsZSBkb2MvY29tbW9uLnRleCkKLSBmaQotK0FNX0NPTkRJVElPTkFMKFtDT05GSUdfVEVTVFNdLCBbdGVzdCB4JGVuYWJsZV90ZXN0cyA9IHh5ZXNdKQotK2lmIHRlc3QgIngkZW5hYmxlX3Rlc3RzIiA9ICJ4eWVzIjsgdGhlbgotKyAgQUNfQ09ORklHX0ZJTEVTKHRlc3RzL01ha2VmaWxlIHRlc3RzL2NoZWNrLW5hbWVzcGFjZS5zaCkKLStmaQotKwotIAotLUFDX0NPTkZJR19GSUxFUyhNYWtlZmlsZSBzcmMvTWFrZWZpbGUgdGVzdHMvTWFrZWZpbGUgdGVzdHMvY2hlY2stbmFtZXNwYWNlLnNoCi0tCQlpbmNsdWRlL2xpYnVud2luZC1jb21tb24uaAotK0FDX0NPTkZJR19GSUxFUyhNYWtlZmlsZSBzcmMvTWFrZWZpbGUgaW5jbHVkZS9saWJ1bndpbmQtY29tbW9uLmgKLSAgICAgICAgICAgICAgICAgaW5jbHVkZS9saWJ1bndpbmQuaCBpbmNsdWRlL3RkZXAvbGlidW53aW5kX2kuaCkKLSBBQ19DT05GSUdfRklMRVMoc3JjL3Vud2luZC9saWJ1bndpbmQucGMgc3JjL2NvcmVkdW1wL2xpYnVud2luZC1jb3JlZHVtcC5wYwotICAgICAgICAgICAgICAgICBzcmMvcHRyYWNlL2xpYnVud2luZC1wdHJhY2UucGMgc3JjL3NldGptcC9saWJ1bndpbmQtc2V0am1wLnBjCi0tLSAKLTEuOC4zLjEKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhZWQ0MTkuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gMDQ0MzcxNDIzOTk2NjJiNTc2YmQ1NWE4NTQ4NWM2ZGNjMTRkMDgxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDMxIERlYyAyMDE1IDA2OjQ0OjA3ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGJhY2t0cmFjZTogVXNlIG9ubHkgd2l0aCBnbGliYyBhbmQgdWNsaWJjCi0KLWJhY2t0cmFjZSBBUEkgaXMgZ2xpYmMgc3BlY2lmaWMgbm90IGxpbnV4IHNwZWNpZmljCi1zbyBtYWtlIGl0IGJlaGF2ZSBzby4KLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSB0ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jIHwgNCArKystCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYyBiL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMKLWluZGV4IDUyNTQ3MDguLjg3NjdiNDIgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jCi0rKysgYi90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jCi1AQCAtNTcsNyArNTcsOSBAQAotICNpbmNsdWRlIDxncnAuaD4KLSAKLSAvKiBGb3IgU0lHU0VHViBoYW5kbGVyIGNvZGUgKi8KLSsjaWZkZWYgX19HTElCQ19fCi0gI2luY2x1ZGUgPGV4ZWNpbmZvLmg+Ci0rI2VuZGlmCi0gI2luY2x1ZGUgPHN5cy91Y29udGV4dC5oPgotIAotICNpbmNsdWRlIDxsaWJ1bndpbmQtY29yZWR1bXAuaD4KLUBAIC0yMzgsMTEgKzI0MCwxMSBAQCB2b2lkIGhhbmRsZV9zaWdzZWd2KGludCBzaWcsIHNpZ2luZm9fdCAqaW5mbywgdm9pZCAqdWNvbnRleHQpCi0gCQkJaXApOwotIAotICAgewotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgLyogZ2xpYmMgZXh0ZW5zaW9uICovCi0gICAgIHZvaWQgKmFycmF5WzUwXTsKLSAgICAgaW50IHNpemU7Ci0gICAgIHNpemUgPSBiYWNrdHJhY2UoYXJyYXksIDUwKTsKLS0jaWZkZWYgX19saW51eF9fCi0gICAgIGJhY2t0cmFjZV9zeW1ib2xzX2ZkKGFycmF5LCBzaXplLCAyKTsKLSAjZW5kaWYKLSAgIH0KLS0tIAotMi42LjQKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtcHBjMzItQ29uc2lkZXItdWNvbnRleHQtbWlzbWF0Y2hlcy1iZXR3ZWVuLWdsaWJjLWFuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMDY0MWYuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDEtcHBjMzItQ29uc2lkZXItdWNvbnRleHQtbWlzbWF0Y2hlcy1iZXR3ZWVuLWdsaWJjLWFuZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI0OCArMCwwIEBACi1Gcm9tIGUwZWVhNTNjNzdmY2U4NTM3YzU4YTA3MmI2ODQwNDM1MDc5ODdiY2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU2F0LCA5IEp1bCAyMDE2IDAxOjA3OjUzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIHBwYzMyOiBDb25zaWRlciB1Y29udGV4dCBtaXNtYXRjaGVzIGJldHdlZW4gZ2xpYmMgYW5kIG11c2wKLQotVGhpcyBoZWxwcyBpbiBwb3J0aW5nIGxpYnVud2luZCBvbnRvIG11c2wgYmFzZWQgc3lzdGVtcwotcHRyYWNlLmggY2hhbmdlIGlzIHJlcXVpcmVkIGFnYWluIGFuIGVycm9yIHRoYXQgc3VyZmFjZXMKLXdpdGggbXVzbAotCi0vbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvYXNtL3B0cmFjZS5oOjMxOjg6IGVycm9yOiByZWRlZmluaXRpb24gb2YgJ3N0cnVjdCBwdF9yZWdzJwotIHN0cnVjdCBwdF9yZWdzIHsKLSAgICAgICAgXn5+fn5+fgotSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9zeXMvdXNlci5oOjExOjAsCi0gICAgICAgICAgICAgICAgIGZyb20gL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL3N5cy9wcm9jZnMuaDo5LAotICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvcHRyYWNlL19VUFRfaW50ZXJuYWwuaDo0MCwKLSAgICAgICAgICAgICAgICAgZnJvbSAuLi8uLi9naXQvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYzoyNzoKLS9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9iaXRzL3VzZXIuaDoxOjg6IG5vdGU6IG9yaWdpbmFsbHkgZGVmaW5lZCBoZXJlCi0gc3RydWN0IHB0X3JlZ3MgewotICAgICAgICBefn5+fn5+Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gc3JjL3BwYzMyL0dpbml0LmMgICAgICAgICAgICB8ICAgNiArLQotIHNyYy9wcGMzMi91Y29udGV4dF9pLmggICAgICAgfCAxNTggKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMgfCAgIDcgKysKLSAzIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDc5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL3BwYzMyL0dpbml0LmMgYi9zcmMvcHBjMzIvR2luaXQuYwotaW5kZXggZjJlNmU4Mi4uNjE3YWFhMSAxMDA2NDQKLS0tLSBhL3NyYy9wcGMzMi9HaW5pdC5jCi0rKysgYi9zcmMvcHBjMzIvR2luaXQuYwotQEAgLTQ4LDEyICs0OCwxMiBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKLSAgIHZvaWQgKmFkZHI7Ci0gCi0gICBpZiAoKHVuc2lnbmVkKSAocmVnIC0gVU5XX1BQQzMyX1IwKSA8IDMyKQotLSAgICBhZGRyID0gJnVjLT51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tyZWcgLSBVTldfUFBDMzJfUjBdOwotKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKLSAKLSAgIGVsc2UKLSAgIGlmICggKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9GMCkgPCAzMikgJiYKLSAgICAgICAgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9GMCkgPj0gMCkgKQotLSAgICBhZGRyID0gJnVjLT51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzW3JlZyAtIFVOV19QUEMzMl9GMF07Ci0rICAgIGFkZHIgPSAmdWMtPkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzW3JlZyAtIFVOV19QUEMzMl9GMF07Ci0gCi0gICBlbHNlCi0gICAgIHsKLUBAIC03Niw3ICs3Niw3IEBAIHVjX2FkZHIgKHVjb250ZXh0X3QgKnVjLCBpbnQgcmVnKQotICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICB9Ci0tICAgICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbZ3JlZ3NfaWR4XTsKLSsgICAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+Z3JlZ3NbZ3JlZ3NfaWR4XTsKLSAgICAgfQotICAgcmV0dXJuIGFkZHI7Ci0gfQotZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmggYi9zcmMvcHBjMzIvdWNvbnRleHRfaS5oCi1pbmRleCBjNmJhODA2Li5iNzlmMTVjIDEwMDY0NAotLS0tIGEvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAotKysrIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAotQEAgLTQ2LDgzICs0Niw4OSBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCi0gICAgdmFyaW91cyBzdHJ1Y3R1cmUgbWVtYmVycy4gKi8KLSBzdGF0aWMgdWNvbnRleHRfdCBkbXlfY3R4dCBVTlVTRUQ7Ci0gCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzExXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE0XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE3XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIwXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIzXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI2XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI5XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1szMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2lmZGVmIF9fR0xJQkNfXwotKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfbWNvbnRleHQudWNfcmVncwotKyNlbHNlCi0rI2RlZmluZSBHRVRfVUNfUkVHUyB1Y19yZWdzCi0rI2VuZGlmCi0rCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzExXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE0XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE3XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIzXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI0ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI3ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSAKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX01TUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbTVNSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX09SSUdfR1BSMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ1RSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0xJTksgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0xJTktfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfWEVSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tDQ1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfU09GVEUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1NPRlRFX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1RSQVAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEQVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfRFNJU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0RTSVNSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1JFU1VMVCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX01TUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tPUklHX0dQUjNfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ1RSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ1RSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0xJTksgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1hFUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DQ1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tDQ1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfU09GVEUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbVFJBUF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19EQVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tEQVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfRFNJU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tSRVNVTFRfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQotIAotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0tI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLS0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzMyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKLSsjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCi0rI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQotKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfRlBTQ1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMyXSAtICh2b2lkICopJmRteV9jdHh0KQotIAotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMgYi9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jCi1pbmRleCA2ODQ2MWEyLi5mY2M0M2Y3IDEwMDY0NAotLS0tIGEvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYwotKysrIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYwotQEAgLTI3LDYgKzI3LDEzIEBAIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiAgKi8KLSAjaW5jbHVkZSAiX1VQVF9pbnRlcm5hbC5oIgotIAotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotKyMgZGVmaW5lIHB0X3JlZ3MgdWFwaV9wdF9yZWdzCi0rI2VuZGlmCi0rI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KLSsjaWYgIWRlZmluZWQoX19HTElCQ19fKQotKyMgdW5kZWYgcHRfcmVncwotKyNlbmRpZgotIAotICNpZmRlZiBIQVZFX0FTTV9QVFJBQ0VfT0ZGU0VUU19ICi0gIyBpbmNsdWRlIDxhc20vcHRyYWNlX29mZnNldHMuaD4KLS0tIAotMS44LjMuMQotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXg4Ni1TdHViLW91dC14ODZfbG9jYWxfcmVzdW1lLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzEwMTNhLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAxLXg4Ni1TdHViLW91dC14ODZfbG9jYWxfcmVzdW1lLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotRnJvbSBmNWRmMDE2NTVhNGI3NmQ0ZmU0MTU3NDdkZTU4MWQ5NGFjNTkzZTZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMjIgTWFyIDIwMTYgMTY6MTk6MjkgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0geDg2OiBTdHViIG91dCB4ODZfbG9jYWxfcmVzdW1lKCkKLQotaXRzIHB1cnBvc2Ugc2VlbXMKLXRvIGJlIHVud2luZGluZyBhY3Jvc3Mgc2lnbmFsIGhhbmRsZXIgYm91bmRhcmllcywgd2hpY2ggY2Fubm90IGhhcHBlbgotaW4gY29ycmVjdCBwcm9ncmFtcyBhbnl3YXkuIFJlcGxhY2luZyB0aGUgd2hvbGUgZnVuY3Rpb24gd2l0aAotc29tZXRoaW5nIGxpa2UgKih2b2xhdGlsZSBjaGFyICopMD0wOyAoaS5lLiBjcmFzaCksIGdldHMgYSB3b3JraW5nCi1saWJ1bndpbmQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLSBzcmMveDg2L0dvcy1saW51eC5jIHwgMjIgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMveDg2L0dvcy1saW51eC5jIGIvc3JjL3g4Ni9Hb3MtbGludXguYwotaW5kZXggMzFmODNiYS4uM2FhYTM0ZSAxMDA2NDQKLS0tLSBhL3NyYy94ODYvR29zLWxpbnV4LmMKLSsrKyBiL3NyYy94ODYvR29zLWxpbnV4LmMKLUBAIC0yODEsMjcgKzI4MSw3IEBAIHg4Nl9yX3VjX2FkZHIgKHVjb250ZXh0X3QgKnVjLCBpbnQgcmVnKQotIEhJRERFTiBpbnQKLSB4ODZfbG9jYWxfcmVzdW1lICh1bndfYWRkcl9zcGFjZV90IGFzLCB1bndfY3Vyc29yX3QgKmN1cnNvciwgdm9pZCAqYXJnKQotIHsKLS0gIHN0cnVjdCBjdXJzb3IgKmMgPSAoc3RydWN0IGN1cnNvciAqKSBjdXJzb3I7Ci0tICB1Y29udGV4dF90ICp1YyA9IGMtPnVjOwotLQotLSAgLyogRW5zdXJlIGMtPnBpIGlzIHVwLXRvLWRhdGUuICBPbiB4ODYsIGl0J3MgcmVsYXRpdmVseSBjb21tb24gdG8gYmUKLS0gICAgIG1pc3NpbmcgRFdBUkYgdW53aW5kIGluZm8uICBXZSBkb24ndCB3YW50IHRvIGZhaWwgaW4gdGhhdCBjYXNlLAotLSAgICAgYmVjYXVzZSB0aGUgZnJhbWUtY2hhaW4gc3RpbGwgd291bGQgbGV0IHVzIGRvIGEgYmFja3RyYWNlIGF0Ci0tICAgICBsZWFzdC4gICovCi0tICBkd2FyZl9tYWtlX3Byb2NfaW5mbyAoJmMtPmR3YXJmKTsKLS0KLS0gIGlmICh1bmxpa2VseSAoYy0+c2lnY29udGV4dF9mb3JtYXQgIT0gWDg2X1NDRl9OT05FKSkKLS0gICAgewotLSAgICAgIHN0cnVjdCBzaWdjb250ZXh0ICpzYyA9IChzdHJ1Y3Qgc2lnY29udGV4dCAqKSBjLT5zaWdjb250ZXh0X2FkZHI7Ci0tCi0tICAgICAgRGVidWcgKDgsICJyZXN1bWluZyBhdCBpcD0leCB2aWEgc2lncmV0dXJuKCVwKVxuIiwgYy0+ZHdhcmYuaXAsIHNjKTsKLS0gICAgICBzaWdyZXR1cm4gKHNjKTsKLS0gICAgfQotLSAgZWxzZQotLSAgICB7Ci0tICAgICAgRGVidWcgKDgsICJyZXN1bWluZyBhdCBpcD0leCB2aWEgc2V0Y29udGV4dCgpXG4iLCBjLT5kd2FyZi5pcCk7Ci0tICAgICAgc2V0Y29udGV4dCAodWMpOwotLSAgICB9Ci0rICAqKHZvbGF0aWxlIGNoYXIgKikwPTA7Ci0gICByZXR1cm4gLVVOV19FSU5WQUw7Ci0gfQotICNlbmRpZgotLS0gCi0xLjguMy4xCi0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAyLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMi1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiODYyZGMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMi1iYWNrdHJhY2UtVXNlLW9ubHktd2l0aC1nbGliYy1hbmQtdWNsaWJjLnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gYjYxNDQ2YWRkN2FlMWMwNDEyNjZjMmZhNWJhMmY1MWNiM2I2NWQzNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDMxIERlYyAyMDE1IDA2OjQ0OjA3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMi82XSBiYWNrdHJhY2U6IFVzZSBvbmx5IHdpdGggZ2xpYmMgYW5kIHVjbGliYworCitiYWNrdHJhY2UgQVBJIGlzIGdsaWJjIHNwZWNpZmljIG5vdCBsaW51eCBzcGVjaWZpYworc28gbWFrZSBpdCBiZWhhdmUgc28uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCisgdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYyB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QtY29yZWR1bXAtdW53aW5kLmMgYi90ZXN0cy90ZXN0LWNvcmVkdW1wLXVud2luZC5jCitpbmRleCA1MzQ5ODIzLi4zYjE1M2NiIDEwMDY0NAorLS0tIGEvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYworKysrIGIvdGVzdHMvdGVzdC1jb3JlZHVtcC11bndpbmQuYworQEAgLTU3LDcgKzU3LDkgQEAKKyAjaW5jbHVkZSA8Z3JwLmg+CisgCisgLyogRm9yIFNJR1NFR1YgaGFuZGxlciBjb2RlICovCisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRlIDxleGVjaW5mby5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KKyAKKyAjaW5jbHVkZSA8bGlidW53aW5kLWNvcmVkdW1wLmg+CitAQCAtMjM4LDExICsyNDAsMTEgQEAgdm9pZCBoYW5kbGVfc2lnc2VndihpbnQgc2lnLCBzaWdpbmZvX3QgKmluZm8sIHZvaWQgKnVjb250ZXh0KQorIAkJCWlwKTsKKyAKKyAgIHsKKysjaWZkZWYgX19HTElCQ19fCisgICAgIC8qIGdsaWJjIGV4dGVuc2lvbiAqLworICAgICB2b2lkICphcnJheVs1MF07CisgICAgIGludCBzaXplOworICAgICBzaXplID0gYmFja3RyYWNlKGFycmF5LCA1MCk7CistI2lmZGVmIF9fbGludXhfXworICAgICBiYWNrdHJhY2Vfc3ltYm9sc19mZChhcnJheSwgc2l6ZSwgMik7CisgI2VuZGlmCisgICB9CistLSAKKzIuMjAuMQorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDAzLXg4Ni1TdHViLW91dC14ODZfbG9jYWxfcmVzdW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwOGVkNmEKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwMy14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIGY2ODY2YjllNGE2MzQxYzUwZWIxZDkyM2RiZjQ4ZWNhMmNhNDAxNDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogVHVlLCAyMiBNYXIgMjAxNiAxNjoxOToyOSArMDAwMAorU3ViamVjdDogW1BBVENIIDMvNl0geDg2OiBTdHViIG91dCB4ODZfbG9jYWxfcmVzdW1lKCkKKworaXRzIHB1cnBvc2Ugc2VlbXMKK3RvIGJlIHVud2luZGluZyBhY3Jvc3Mgc2lnbmFsIGhhbmRsZXIgYm91bmRhcmllcywgd2hpY2ggY2Fubm90IGhhcHBlbgoraW4gY29ycmVjdCBwcm9ncmFtcyBhbnl3YXkuIFJlcGxhY2luZyB0aGUgd2hvbGUgZnVuY3Rpb24gd2l0aAorc29tZXRoaW5nIGxpa2UgKih2b2xhdGlsZSBjaGFyICopMD0wOyAoaS5lLiBjcmFzaCksIGdldHMgYSB3b3JraW5nCitsaWJ1bndpbmQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBzcmMveDg2L0dvcy1saW51eC5jIHwgMjIgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMveDg2L0dvcy1saW51eC5jIGIvc3JjL3g4Ni9Hb3MtbGludXguYworaW5kZXggZmI5YTVlMy4uYzI1YWUwYyAxMDA2NDQKKy0tLSBhL3NyYy94ODYvR29zLWxpbnV4LmMKKysrKyBiL3NyYy94ODYvR29zLWxpbnV4LmMKK0BAIC0yODQsMjcgKzI4NCw3IEBAIHg4Nl9yX3VjX2FkZHIgKHVjb250ZXh0X3QgKnVjLCBpbnQgcmVnKQorIEhJRERFTiBpbnQKKyB4ODZfbG9jYWxfcmVzdW1lICh1bndfYWRkcl9zcGFjZV90IGFzLCB1bndfY3Vyc29yX3QgKmN1cnNvciwgdm9pZCAqYXJnKQorIHsKKy0gIHN0cnVjdCBjdXJzb3IgKmMgPSAoc3RydWN0IGN1cnNvciAqKSBjdXJzb3I7CistICB1Y29udGV4dF90ICp1YyA9IGMtPnVjOworLQorLSAgLyogRW5zdXJlIGMtPnBpIGlzIHVwLXRvLWRhdGUuICBPbiB4ODYsIGl0J3MgcmVsYXRpdmVseSBjb21tb24gdG8gYmUKKy0gICAgIG1pc3NpbmcgRFdBUkYgdW53aW5kIGluZm8uICBXZSBkb24ndCB3YW50IHRvIGZhaWwgaW4gdGhhdCBjYXNlLAorLSAgICAgYmVjYXVzZSB0aGUgZnJhbWUtY2hhaW4gc3RpbGwgd291bGQgbGV0IHVzIGRvIGEgYmFja3RyYWNlIGF0CistICAgICBsZWFzdC4gICovCistICBkd2FyZl9tYWtlX3Byb2NfaW5mbyAoJmMtPmR3YXJmKTsKKy0KKy0gIGlmICh1bmxpa2VseSAoYy0+c2lnY29udGV4dF9mb3JtYXQgIT0gWDg2X1NDRl9OT05FKSkKKy0gICAgeworLSAgICAgIHN0cnVjdCBzaWdjb250ZXh0ICpzYyA9IChzdHJ1Y3Qgc2lnY29udGV4dCAqKSBjLT5zaWdjb250ZXh0X2FkZHI7CistCistICAgICAgRGVidWcgKDgsICJyZXN1bWluZyBhdCBpcD0leCB2aWEgc2lncmV0dXJuKCVwKVxuIiwgYy0+ZHdhcmYuaXAsIHNjKTsKKy0gICAgICB4ODZfc2lncmV0dXJuIChzYyk7CistICAgIH0KKy0gIGVsc2UKKy0gICAgeworLSAgICAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JXggdmlhIHNldGNvbnRleHQoKVxuIiwgYy0+ZHdhcmYuaXApOworLSAgICAgIHNldGNvbnRleHQgKHVjKTsKKy0gICAgfQorKyAgKih2b2xhdGlsZSBjaGFyICopMD0wOworICAgcmV0dXJuIC1VTldfRUlOVkFMOworIH0KKyAKKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA0LUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNC1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyNGQwZTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvMDAwNC1GaXgtYnVpbGQtb24tbWlwcy1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsODQgQEAKK0Zyb20gNmJkYWI1Y2M4ZjFlMmVjNWY4NGZjOWY1OWYxNjk5YTcyNjk4MDcwOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIzIE1hciAyMDE2IDA2OjA4OjU5ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggNC82XSBGaXggYnVpbGQgb24gbWlwcy9tdXNsCisKK0RvIG5vdCBpbmNsdWRlIGVuZGlhbi5oIG9uIG11c2wgaXQgaW5jbHVkZXMKK2Z1cnRoZXIgaGVhZGVycyB3aGljaCBjYW4gbm90IGJlIGNvbXBpbGVkIGluIF9fQVNTRU1CTEVSX18KKyBtb2RlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKworLS0tCisgc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaCB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL21pcHMvZ2V0Y29udGV4dC5TICAgICAgICB8ICAzICstLQorIDIgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb3JlZHVtcC9fVUNEX2ludGVybmFsLmggYi9zcmMvY29yZWR1bXAvX1VDRF9pbnRlcm5hbC5oCitpbmRleCAzYzk1YTJhLi4yMWVkMWMzIDEwMDY0NAorLS0tIGEvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAorKysrIGIvc3JjL2NvcmVkdW1wL19VQ0RfaW50ZXJuYWwuaAorQEAgLTQ0LDYgKzQ0LDQxIEBAIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiAgKi8KKyAKKyAjaW5jbHVkZSAibGlidW53aW5kX2kuaCIKKyAKKysjaWZuZGVmIF9fR0xJQkNfXworKyNpbmNsdWRlIDxzeXMvcmVnLmg+CisrCisrI2RlZmluZSBFRl9SRUcwCQkJNgorKyNkZWZpbmUgRUZfUkVHMQkJCTcKKysjZGVmaW5lIEVGX1JFRzIJCQk4CisrI2RlZmluZSBFRl9SRUczCQkJOQorKyNkZWZpbmUgRUZfUkVHNAkJCTEwCisrI2RlZmluZSBFRl9SRUc1CQkJMTEKKysjZGVmaW5lIEVGX1JFRzYJCQkxMgorKyNkZWZpbmUgRUZfUkVHNwkJCTEzCisrI2RlZmluZSBFRl9SRUc4CQkJMTQKKysjZGVmaW5lIEVGX1JFRzkJCQkxNQorKyNkZWZpbmUgRUZfUkVHMTAJCTE2CisrI2RlZmluZSBFRl9SRUcxMQkJMTcKKysjZGVmaW5lIEVGX1JFRzEyCQkxOAorKyNkZWZpbmUgRUZfUkVHMTMJCTE5CisrI2RlZmluZSBFRl9SRUcxNAkJMjAKKysjZGVmaW5lIEVGX1JFRzE1CQkyMQorKyNkZWZpbmUgRUZfUkVHMTYJCTIyCisrI2RlZmluZSBFRl9SRUcxNwkJMjMKKysjZGVmaW5lIEVGX1JFRzE4CQkyNAorKyNkZWZpbmUgRUZfUkVHMTkJCTI1CisrI2RlZmluZSBFRl9SRUcyMAkJMjYKKysjZGVmaW5lIEVGX1JFRzIxCQkyNworKyNkZWZpbmUgRUZfUkVHMjIJCTI4CisrI2RlZmluZSBFRl9SRUcyMwkJMjkKKysjZGVmaW5lIEVGX1JFRzI0CQkzMAorKyNkZWZpbmUgRUZfUkVHMjUJCTMxCisrI2RlZmluZSBFRl9SRUcyOAkJMzQKKysjZGVmaW5lIEVGX1JFRzI5CQkzNQorKyNkZWZpbmUgRUZfUkVHMzAJCTM2CisrI2RlZmluZSBFRl9SRUczMQkJMzcKKysjZW5kaWYKKysKKyAKKyAjaWYgU0laRU9GX09GRl9UID09IDQKKyB0eXBlZGVmIHVpbnQzMl90IHVvZmZfdDsKK2RpZmYgLS1naXQgYS9zcmMvbWlwcy9nZXRjb250ZXh0LlMgYi9zcmMvbWlwcy9nZXRjb250ZXh0LlMKK2luZGV4IGQxZGJkNTcuLmRlOWI2ODEgMTAwNjQ0CistLS0gYS9zcmMvbWlwcy9nZXRjb250ZXh0LlMKKysrKyBiL3NyYy9taXBzL2dldGNvbnRleHQuUworQEAgLTI0LDEyICsyNCwxMSBAQCBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04KKyBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgCisgI2luY2x1ZGUgIm9mZnNldHMuaCIKKy0jaW5jbHVkZSA8ZW5kaWFuLmg+CisgCisgCS50ZXh0CisgCisgI2lmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCistIyBpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCisrIyBpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0JJR19FTkRJQU5fXworICMgIGRlZmluZSBPRkZTRVQgNAorICMgZWxzZQorICMgIGRlZmluZSBPRkZTRVQgMAorLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDUtcHBjMzItQ29uc2lkZXItdWNvbnRleHQtbWlzbWF0Y2hlcy1iZXR3ZWVuLWdsaWJjLWFuZC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA1LXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhYTgyMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA1LXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2gKQEAgLTAsMCArMSwyNDkgQEAKK0Zyb20gMDI5MTlkNzRiMTU5OTk3OTg4NGY5Y2VlNDY2ZWQzOTJkOWZjNDgxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBTYXQsIDkgSnVsIDIwMTYgMDE6MDc6NTMgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCA1LzZdIHBwYzMyOiBDb25zaWRlciB1Y29udGV4dCBtaXNtYXRjaGVzIGJldHdlZW4gZ2xpYmMgYW5kCisgbXVzbAorCitUaGlzIGhlbHBzIGluIHBvcnRpbmcgbGlidW53aW5kIG9udG8gbXVzbCBiYXNlZCBzeXN0ZW1zCitwdHJhY2UuaCBjaGFuZ2UgaXMgcmVxdWlyZWQgYWdhaW4gYW4gZXJyb3IgdGhhdCBzdXJmYWNlcword2l0aCBtdXNsCisKKy9tbnQvb2Uvb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLW11c2wvc3lzcm9vdHMvcWVtdXBwYy91c3IvaW5jbHVkZS9hc20vcHRyYWNlLmg6MzE6ODogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiAnc3RydWN0IHB0X3JlZ3MnCisgc3RydWN0IHB0X3JlZ3MgeworICAgICAgICBefn5+fn5+CitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL3N5cy91c2VyLmg6MTE6MCwKKyAgICAgICAgICAgICAgICAgZnJvbSAvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1tdXNsL3N5c3Jvb3RzL3FlbXVwcGMvdXNyL2luY2x1ZGUvc3lzL3Byb2Nmcy5oOjksCisgICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vZ2l0L3NyYy9wdHJhY2UvX1VQVF9pbnRlcm5hbC5oOjQwLAorICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uL2dpdC9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jOjI3OgorL21udC9vZS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtbXVzbC9zeXNyb290cy9xZW11cHBjL3Vzci9pbmNsdWRlL2JpdHMvdXNlci5oOjE6ODogbm90ZTogb3JpZ2luYWxseSBkZWZpbmVkIGhlcmUKKyBzdHJ1Y3QgcHRfcmVncyB7CisgICAgICAgIF5+fn5+fn4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCistLS0KKyBzcmMvcHBjMzIvR2luaXQuYyAgICAgICAgICAgIHwgICA2ICstCisgc3JjL3BwYzMyL3Vjb250ZXh0X2kuaCAgICAgICB8IDE1OCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQorIHNyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMgfCAgIDcgKysKKyAzIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlvbnMoKyksIDc5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3BwYzMyL0dpbml0LmMgYi9zcmMvcHBjMzIvR2luaXQuYworaW5kZXggYmEzMDI0NC4uYzUzMTJkOSAxMDA2NDQKKy0tLSBhL3NyYy9wcGMzMi9HaW5pdC5jCisrKysgYi9zcmMvcHBjMzIvR2luaXQuYworQEAgLTQ4LDEyICs0OCwxMiBAQCB1Y19hZGRyICh1Y29udGV4dF90ICp1YywgaW50IHJlZykKKyAgIHZvaWQgKmFkZHI7CisgCisgICBpZiAoKHVuc2lnbmVkKSAocmVnIC0gVU5XX1BQQzMyX1IwKSA8IDMyKQorLSAgICBhZGRyID0gJnVjLT51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tyZWcgLSBVTldfUFBDMzJfUjBdOworKyAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+Z3JlZ3NbcmVnIC0gVU5XX1BQQzMyX1IwXTsKKyAKKyAgIGVsc2UKKyAgIGlmICggKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9GMCkgPCAzMikgJiYKKyAgICAgICAgKCh1bnNpZ25lZCkgKHJlZyAtIFVOV19QUEMzMl9GMCkgPj0gMCkgKQorLSAgICBhZGRyID0gJnVjLT51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzW3JlZyAtIFVOV19QUEMzMl9GMF07CisrICAgIGFkZHIgPSAmdWMtPkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzW3JlZyAtIFVOV19QUEMzMl9GMF07CisgCisgICBlbHNlCisgICAgIHsKK0BAIC03Niw3ICs3Niw3IEBAIHVjX2FkZHIgKHVjb250ZXh0X3QgKnVjLCBpbnQgcmVnKQorICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICB9CistICAgICAgYWRkciA9ICZ1Yy0+dWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbZ3JlZ3NfaWR4XTsKKysgICAgICBhZGRyID0gJnVjLT5HRVRfVUNfUkVHUy0+Z3JlZ3NbZ3JlZ3NfaWR4XTsKKyAgICAgfQorICAgcmV0dXJuIGFkZHI7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9wcGMzMi91Y29udGV4dF9pLmggYi9zcmMvcHBjMzIvdWNvbnRleHRfaS5oCitpbmRleCBjNmJhODA2Li5iNzlmMTVjIDEwMDY0NAorLS0tIGEvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAorKysrIGIvc3JjL3BwYzMyL3Vjb250ZXh0X2kuaAorQEAgLTQ2LDgzICs0Niw4OSBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4gICovCisgICAgdmFyaW91cyBzdHJ1Y3R1cmUgbWVtYmVycy4gKi8KKyBzdGF0aWMgdWNvbnRleHRfdCBkbXlfY3R4dCBVTlVTRUQ7CisgCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s0XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1I3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1s3XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjggKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTBdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTEgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzExXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEyICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTNdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTQgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE0XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE1ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTZdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTcgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzE3XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE4ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1sxOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMTldIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIwXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjJdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzIzXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjVdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI2XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1syN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMjhdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzWzI5XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMwICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1szMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IzMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbMzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2lmZGVmIF9fR0xJQkNfXworKyNkZWZpbmUgR0VUX1VDX1JFR1MgdWNfbWNvbnRleHQudWNfcmVncworKyNlbHNlCisrI2RlZmluZSBHRVRfVUNfUkVHUyB1Y19yZWdzCisrI2VuZGlmCisrCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzJdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzVdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzExXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjEyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE0XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzE3XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjE4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjIxICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzIzXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI0ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjI3ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzWzI5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfUjMwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKyAKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX01TUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbTVNSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX09SSUdfR1BSMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbT1JJR19HUFIzX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0NUUiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbQ1RSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0xJTksgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0xJTktfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfWEVSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tYRVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ0NSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tDQ1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfU09GVEUgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1NPRlRFX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1RSQVAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW1RSQVBfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfREFSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5ncmVnc1tEQVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfRFNJU1IgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmdyZWdzW0RTSVNSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1JFU1VMVCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+Z3JlZ3NbUkVTVUxUX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX01TUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW01TUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19PUklHX0dQUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tPUklHX0dQUjNfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfQ1RSICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbQ1RSX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX0xJTksgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tMSU5LX0lEWF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0dSRUdTX1hFUiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmdyZWdzW1hFUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19DQ1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tDQ1JfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfU09GVEUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tTT0ZURV9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19UUkFQICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+Z3JlZ3NbVFJBUF9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19EQVIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tEQVJfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfR1JFR1NfRFNJU1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tEU0lTUl9JRFhdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9HUkVHU19SRVNVTFQgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5ncmVnc1tSRVNVTFRfSURYXSAtICh2b2lkICopJmRteV9jdHh0KQorIAorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzFdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I0ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzRdIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I3ICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzddIC0gKHZvaWQgKikmZG15X2N0eHQpCistI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorLSNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LnVjX21jb250ZXh0LnVjX3JlZ3MtPmZwcmVncy5mcHJlZ3NbOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1sxOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syMl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNiAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syOF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyOSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMSAoKHZvaWQgKikmZG15X2N0eHQudWNfbWNvbnRleHQudWNfcmVncy0+ZnByZWdzLmZwcmVnc1szMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKy0jZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX0ZQU0NSICgodm9pZCAqKSZkbXlfY3R4dC51Y19tY29udGV4dC51Y19yZWdzLT5mcHJlZ3MuZnByZWdzWzMyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzNdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I1ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzZdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1I4ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1s4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzldIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTAgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEwXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjExICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxMV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxMiAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTJdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTMgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzEzXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE0ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxNF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxNSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMTVdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTYgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE2XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjE3ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1sxN10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IxOCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMThdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMTkgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzE5XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIwICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syMF0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyMSAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjFdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjIgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzIyXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjIzICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syM10gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjRdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjUgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI1XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI2ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syNl0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IyNyAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMjddIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMjggKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzI4XSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfUjI5ICgodm9pZCAqKSZkbXlfY3R4dC5HRVRfVUNfUkVHUy0+ZnByZWdzLmZwcmVnc1syOV0gLSAodm9pZCAqKSZkbXlfY3R4dCkKKysjZGVmaW5lIFVDX01DT05URVhUX0ZSRUdTX1IzMCAoKHZvaWQgKikmZG15X2N0eHQuR0VUX1VDX1JFR1MtPmZwcmVncy5mcHJlZ3NbMzBdIC0gKHZvaWQgKikmZG15X2N0eHQpCisrI2RlZmluZSBVQ19NQ09OVEVYVF9GUkVHU19SMzEgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMxXSAtICh2b2lkICopJmRteV9jdHh0KQorKyNkZWZpbmUgVUNfTUNPTlRFWFRfRlJFR1NfRlBTQ1IgKCh2b2lkICopJmRteV9jdHh0LkdFVF9VQ19SRUdTLT5mcHJlZ3MuZnByZWdzWzMyXSAtICh2b2lkICopJmRteV9jdHh0KQorIAorICNlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9wdHJhY2UvX1VQVF9yZWdfb2Zmc2V0LmMgYi9zcmMvcHRyYWNlL19VUFRfcmVnX29mZnNldC5jCitpbmRleCBjODJkMWM5Li42YzMxYmFhIDEwMDY0NAorLS0tIGEvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYworKysrIGIvc3JjL3B0cmFjZS9fVVBUX3JlZ19vZmZzZXQuYworQEAgLTI3LDYgKzI3LDEzIEBAIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiAgKi8KKyAjaW5jbHVkZSAiX1VQVF9pbnRlcm5hbC5oIgorIAorICNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyMgZGVmaW5lIHB0X3JlZ3MgdWFwaV9wdF9yZWdzCisrI2VuZGlmCisrI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyMgdW5kZWYgcHRfcmVncworKyNlbmRpZgorIAorICNpZmRlZiBIQVZFX0FTTV9QVFJBQ0VfT0ZGU0VUU19ICisgIyBpbmNsdWRlIDxhc20vcHRyYWNlX29mZnNldHMuaD4KKy0tIAorMi4yMC4xCisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA2LUZpeC1mb3ItWDMyLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kLzAwMDYtRml4LWZvci1YMzIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdhZTgxMgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC8wMDA2LUZpeC1mb3ItWDMyLnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKK0Zyb20gN2E0ZmQ1OTMzY2M3OTVkZjg1Y2RkODUxNjhmZTU0ZmJhZWM0ZGNlYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+CitEYXRlOiBUdWUsIDEzIERlYyAyMDE2IDA5OjUwOjM0IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggNi82XSBGaXggZm9yIFgzMgorCitBcHBseSBwYXRjaCB0byBmaXggdGhlIFgzMiBidWlsZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zam5ld2J1cnkveDMyLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+CisKKy0tLQorIHNyYy94ODZfNjQvR29zLWxpbnV4LmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3g4Nl82NC9Hb3MtbGludXguYyBiL3NyYy94ODZfNjQvR29zLWxpbnV4LmMKK2luZGV4IGJkMTQyMzQuLmJlMWNiNWIgMTAwNjQ0CistLS0gYS9zcmMveDg2XzY0L0dvcy1saW51eC5jCisrKysgYi9zcmMveDg2XzY0L0dvcy1saW51eC5jCitAQCAtMTQ1LDggKzE0NSw4IEBAIHg4Nl82NF9zaWdyZXR1cm4gKHVud19jdXJzb3JfdCAqY3Vyc29yKQorIAorICAgRGVidWcgKDgsICJyZXN1bWluZyBhdCBpcD0lbGx4IHZpYSBzaWdyZXR1cm4oJXApXG4iLAorICAgICAgICAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKSBjLT5kd2FyZi5pcCwgc2MpOworLSAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtb3YgJTAsICUlcnNwOyIKKy0gICAgICAgICAgICAgICAgICAgICAgICAibW92ICUxLCAlJXJheDsiCisrICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoIm1vdiAlcTAsICUlcnNwOyIKKysgICAgICAgICAgICAgICAgICAgICAgICAibW92ICVxMSwgJSVyYXg7IgorICAgICAgICAgICAgICAgICAgICAgICAgICJzeXNjYWxsIgorICAgICAgICAgICAgICAgICAgICAgICAgIDo6ICJyIihzYyksICJpIihTWVNfcnRfc2lncmV0dXJuKQorICAgICAgICAgICAgICAgICAgICAgICAgIDogIm1lbW9yeSIpOworLS0gCisyLjIwLjEKKwpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kL0FkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kL0FkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjOGZhY2E0Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gMjQ0ODRlODBiM2UzMjljOWVkZWUxOTk1ZTEwMmY4NjEyZWVkYjc5YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgotRGF0ZTogVHVlLCAxMyBNYXkgMjAxNCAyMzozMjoyNyArMDIwMAotU3ViamVjdDogW1BBVENIXSBBZGQgQU9fUkVRVUlSRV9DQVMgdG8gZml4IGJ1aWxkIG9uIEFSTSA8IHY2Ci0KLUFSTSBlYXJsaWVyIHRoYW4gQVJNdjYsIHN1Y2ggYXMgQVJNdjQgYW5kIEFSTXY1IGRvIG5vdCBwcm92aWRlCi1vcHRpbWl6ZSBhdG9taWMgb3BlcmF0aW9ucyBpbiBsaWJhdG9taWNfb3BzLiBTaW5jZSBsaWJ1bndpbmQgaXMgdXNpbmcKLXN1Y2ggb3BlcmF0aW9ucywgaXQgc2hvdWxkIGRlZmluZSBBT19SRVFVSVJFX0NBUyBiZWZvcmUgaW5jbHVkaW5nCi08YXRvbWljX29wcy5oPiBzbyB0aGF0IGxpYmF0b21pY19vcHMga25vd3MgaXQgc2hvdWxkIHVzZSBlbXVsYXRlZAotYXRvbWljIG9wZXJhdGlvbnMgaW5zdGVhZCAoZXZlbiB0aG91Z2ggdGhleSBhcmUgb2J2aW91c2x5IGEgbG90IG1vcmUKLWV4cGVuc2l2ZSkuCi0KLUFsc28sIHdoaWxlIHJlYWwgYXRvbWljIG9wZXJhdGlvbnMgYXJlIGFsbCBpbmxpbmUgZnVuY3Rpb25zIGFuZAotdGhlcmVmb3JlIGxpbmtpbmcgYWdhaW5zdCBsaWJhdG9taWNfb3BzIHdhcyBub3QgcmVxdWlyZWQsIHRoZSBlbXVsYXRlZAotYXRvbWljIG9wZXJhdGlvbnMgYWN0dWFsbHkgcmVxdWlyZSBsaW5raW5nIGFnYWluc3QgbGliYXRvbWljX29wcywgc28KLXRoZSBjb21tZW50ZWQgQUNfQ0hFQ0tfTElCIHRlc3QgaW4gYWNpbmNsdWRlLm00IGlzIHVuY29tbWVudGVkIHRvIG1ha2UKLXN1cmUgd2UgbGluayBhZ2FpbnN0IGxpYmF0b21pY19vcHMuCi0KLVNpZ25lZC1vZmYtYnk6IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgotU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVRha2VuIGZyb206Ci1odHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vcmRuZXR0by90ZWFwb3QtYnVpbGRyb290L21hc3Rlci9wYWNrYWdlL2xpYnVud2luZC9saWJ1bndpbmQtMDItQWRkLUFPX1JFUVVJUkVfQ0FTLXRvLWZpeC1idWlsZC1vbi1BUk0tdjYucGF0Y2gKLQotLS0tCi0gYWNpbmNsdWRlLm00ICAgICAgICAgIHwgOCArLS0tLS0tLQotIGluY2x1ZGUvbGlidW53aW5kX2kuaCB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1JbmRleDogbGlidW53aW5kLTEuMi4xL2FjaW5jbHVkZS5tNAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGxpYnVud2luZC0xLjIuMS5vcmlnL2FjaW5jbHVkZS5tNAotKysrIGxpYnVud2luZC0xLjIuMS9hY2luY2x1ZGUubTQKLUBAIC0yMiwxMSArMjIsNSBAQCBmaV0pCi0gQUNfREVGVU4oW0NIRUNLX0FUT01JQ19PUFNdLAotIFtkbmwgQ2hlY2sgd2hldGhlciB0aGUgc3lzdGVtIGhhcyB0aGUgYXRvbWljX29wcyBwYWNrYWdlIGluc3RhbGxlZC4KLSAgIEFDX0NIRUNLX0hFQURFUlMoYXRvbWljX29wcy5oKQotLSMKLS0jIERvbid0IGxpbmsgYWdhaW5zdCBsaWJhdG9taWNfb3BzIGZvciBub3cuICBXZSBkb24ndCB3YW50IGxpYnVud2luZAotLSMgdG8gZGVwZW5kIG9uIGxpYmF0b21pY19vcHMuc28uICBGb3J0dW5hdGVseSwgbm9uZSBvZiB0aGUgcGxhdGZvcm1zCi0tIyB3ZSBjYXJlIGFib3V0IHNvIGZhciBuZWVkIGxpYmF0b21pY19vcHMuYSAoZXZlcnl0aGluZyBpcyBkb25lIHZpYQotLSMgaW5saW5lIG1hY3JvcykuCi0tIwotLSMgIEFDX0NIRUNLX0xJQihhdG9taWNfb3BzLCBtYWluKQotKyAgQUNfQ0hFQ0tfTElCKGF0b21pY19vcHMsIG1haW4pCi0gXSkKLUluZGV4OiBsaWJ1bndpbmQtMS4yLjEvaW5jbHVkZS9saWJ1bndpbmRfaS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGlidW53aW5kLTEuMi4xLm9yaWcvaW5jbHVkZS9saWJ1bndpbmRfaS5oCi0rKysgbGlidW53aW5kLTEuMi4xL2luY2x1ZGUvbGlidW53aW5kX2kuaAotQEAgLTExNiw2ICsxMTYsNyBAQCBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFCi0gICAgICAgICAocHRocmVhZF9tdXRleF91bmxvY2sgIT0gTlVMTCA/IHB0aHJlYWRfbXV0ZXhfdW5sb2NrIChsKSA6IDApCi0gCi0gI2lmZGVmIEhBVkVfQVRPTUlDX09QU19ICi0rIyBkZWZpbmUgQU9fUkVRVUlSRV9DQVMKLSAjIGluY2x1ZGUgPGF0b21pY19vcHMuaD4KLSBzdGF0aWMgaW5saW5lIGludAotIGNtcHhjaGdfcHRyICh2b2lkICphZGRyLCB2b2lkICpvbGQsIHZvaWQgKm5ldykKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9saWJ1bndpbmQtMS4xLXgzMi5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZC9saWJ1bndpbmQtMS4xLXgzMi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI1MTY0Ni4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmQvbGlidW53aW5kLTEuMS14MzIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi1Gcm9tIDUwNmJkMzdiZDU4MGQ3MzgyZDdjNTgyNTdkYWM0YjFlNTAyYTg4N2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgotRGF0ZTogVHVlLCAxMyBEZWMgMjAxNiAwOTo1MDozNCAtMDcwMAotU3ViamVjdDogW1BBVENIXSBGaXggZm9yIFgzMgotCi1BcHBseSBwYXRjaCB0byBmaXggdGhlIFgzMiBidWlsZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zam5ld2J1cnkveDMyLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLVNpZ25lZC1vZmYtYnk6IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+Ci0tLS0KLSBzcmMveDg2XzY0L0dvcy1saW51eC5jIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy94ODZfNjQvR29zLWxpbnV4LmMgYi9zcmMveDg2XzY0L0dvcy1saW51eC5jCi1pbmRleCA5ZTFhY2ZjLi44MTY5ZDVhIDEwMDY0NAotLS0tIGEvc3JjL3g4Nl82NC9Hb3MtbGludXguYwotKysrIGIvc3JjL3g4Nl82NC9Hb3MtbGludXguYwotQEAgLTE0Myw4ICsxNDMsOCBAQCB4ODZfNjRfc2lncmV0dXJuICh1bndfY3Vyc29yX3QgKmN1cnNvcikKLSAKLSAgIERlYnVnICg4LCAicmVzdW1pbmcgYXQgaXA9JWxseCB2aWEgc2lncmV0dXJuKCVwKVxuIiwKLSAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZykgYy0+ZHdhcmYuaXAsIHNjKTsKLS0gIF9fYXNtX18gX192b2xhdGlsZV9fICgibW92ICUwLCAlJXJzcDsiCi0tICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlMSwgJSVyYXg7IgotKyAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJtb3YgJXEwLCAlJXJzcDsiCi0rICAgICAgICAgICAgICAgICAgICAgICAgIm1vdiAlcTEsICUlcmF4OyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAic3lzY2FsbCIKLSAgICAgICAgICAgICAgICAgICAgICAgICA6OiAiciIoc2MpLCAiaSIoU1lTX3J0X3NpZ3JldHVybikKLSAgICAgICAgICAgICAgICAgICAgICAgICA6ICJtZW1vcnkiKTsKLS0tIAotMi44LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMi4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1bndpbmQvbGlidW53aW5kXzEuMi4xLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlN2ZiMmIyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjIuMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLXJlcXVpcmUgbGlidW53aW5kLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiMDZiYTllNjBkOTJmZDZmNTVjZDlkYWRiMDg0ZGYxOWUiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2YzZWNiOTBlMjhjYmU1M2ZiYTdhNGEyN2NjY2U3YWFkMTg4ZDMyMTBiYjE5NjRhOTIzYTczMWEyN2E3NWFjYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcy9saWJ1bndpbmQvbGlidW53aW5kLSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9BZGQtQU9fUkVRVUlSRV9DQVMtdG8tZml4LWJ1aWxkLW9uLUFSTS12Ni5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLWJhY2t0cmFjZS1Vc2Utb25seS13aXRoLWdsaWJjLWFuZC11Y2xpYmMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS14ODYtU3R1Yi1vdXQteDg2X2xvY2FsX3Jlc3VtZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC1vbi1taXBzLW11c2wucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1hZGQta25vYnMtdG8tZGlzYWJsZS1lbmFibGUtdGVzdHMucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1wcGMzMi1Db25zaWRlci11Y29udGV4dC1taXNtYXRjaGVzLWJldHdlZW4tZ2xpYmMtYW5kLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2xpYnVud2luZC0xLjEteDMyLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9tdXNsLWhlYWRlci1jb25mbGljdC5wYXRjaCIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtZG9jdW1lbnRhdGlvbiAtLWRpc2FibGUtdGVzdHMgIgotCi0jIGh0dHA6Ly9lcnJvcnMueW9jdG9wcm9qZWN0Lm9yZy9FcnJvcnMvRGV0YWlscy8yMDQ4Ny8KLUFSTV9JTlNUUlVDVElPTl9TRVRfYXJtdjQgPSAiYXJtIgotQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NSA9ICJhcm0iCi0KLUxERkxBR1MgKz0gIi1XbCwteixyZWxybywteixub3cgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdsZC1pcy1nb2xkJywgJyAtZnVzZS1sZD1iZmQgJywgJycsIGQpfSIKLQotU0VDVVJJVFlfTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbHNzcF9ub25zaGFyZWQiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4zLjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVud2luZC9saWJ1bndpbmRfMS4zLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM3ZTA0YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidW53aW5kL2xpYnVud2luZF8xLjMuMS5iYgpAQCAtMCwwICsxLDI0IEBACityZXF1aXJlIGxpYnVud2luZC5pbmMKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWQuc2F2YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcy9saWJ1bndpbmQvbGlidW53aW5kLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFkZC1BT19SRVFVSVJFX0NBUy10by1maXgtYnVpbGQtb24tQVJNLXY2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItYmFja3RyYWNlLVVzZS1vbmx5LXdpdGgtZ2xpYmMtYW5kLXVjbGliYy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAzLXg4Ni1TdHViLW91dC14ODZfbG9jYWxfcmVzdW1lLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtRml4LWJ1aWxkLW9uLW1pcHMtbXVzbC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDA1LXBwYzMyLUNvbnNpZGVyLXVjb250ZXh0LW1pc21hdGNoZXMtYmV0d2Vlbi1nbGliYy1hbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwNi1GaXgtZm9yLVgzMi5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovL211c2wtaGVhZGVyLWNvbmZsaWN0LnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTA0ZjY5ZDY2ZDhlMTZmOGJmM2FiNzJhNjkxMTJjZDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDM5OTdhMzkzOWI2Y2NkZjJmNjY5YjUwZmRiOGE0ZDMyMDUzNzQ3MjhjMjkyM2RkYzIzNTRjNjUyNjAyMTRmOCIKKworRVhUUkFfT0VDT05GX2FwcGVuZF9saWJjLW11c2wgPSAiIC0tZGlzYWJsZS1kb2N1bWVudGF0aW9uIC0tZGlzYWJsZS10ZXN0cyAtLWVuYWJsZS1zdGF0aWMiCisKKyMgaHR0cDovL2Vycm9ycy55b2N0b3Byb2plY3Qub3JnL0Vycm9ycy9EZXRhaWxzLzIwNDg3LworQVJNX0lOU1RSVUNUSU9OX1NFVF9hcm12NCA9ICJhcm0iCitBUk1fSU5TVFJVQ1RJT05fU0VUX2FybXY1ID0gImFybSIKKworTERGTEFHUyArPSAiLVdsLC16LHJlbHJvLC16LG5vdyAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2xkLWlzLWdvbGQnLCAnIC1mdXNlLWxkPWJmZCAnLCAnJywgZCl9IgorCitTRUNVUklUWV9MREZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1sc3NwX25vbnNoYXJlZCIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXJjdS9saWJ1cmN1XzAuMTAuMS5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWViOTFlMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1TVU1NQVJZID0gIlVzZXJzcGFjZSBSQ1UgKHJlYWQtY29weS11cGRhdGUpIGxpYnJhcnkiCi1IT01FUEFHRSA9ICJodHRwOi8vbHR0bmcub3JnL3VyY3UiCi1CVUdUUkFDS0VSID0gImh0dHA6Ly9sdHRuZy5vcmcvcHJvamVjdC9pc3N1ZXMiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErICYgTUlULXN0eWxlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9ZTU0OGQyODczNzI4OWQ3NWE4ZjFlMDFiYTJmZDc4MjUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3VyY3UuaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTMyO21kNT00ZGUwZDY4ZDNhOTk3NjQzNzE1MDM2ZDIyMDlhZTFkOSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlL3VyY3UvdWF0b21pYy94ODYuaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTIxO21kNT01OGU1MGJiZDhhMmYwNzNiYjU1MDBlNjU1NGFmMGQwYiIKLQotU1JDX1VSSSA9ICJodHRwOi8vbHR0bmcub3JnL2ZpbGVzL3VyY3UvdXNlcnNwYWNlLXJjdS0ke1BWfS50YXIuYnoyIFwKLSAgICAgICAgICAgZmlsZTovL0FkZC1zdXBwb3J0LWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSVttZDVzdW1dID0gIjI4MWEyZjkyZmRjMzljNDBhZDZiNzZmNjYzMWZkYmQ3IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljMDkyMjBiZTQ0MzVkYzI3ZmNkMjJkMjkxNzA3Yjk0Yjk3ZjE1OWUwYzQ0MmZiY2Q2MGMxNjhmOGY3OWViMDYiCi0KLVMgPSAiJHtXT1JLRElSfS91c2Vyc3BhY2UtcmN1LSR7UFZ9IgotaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfaGVhZGVyCi0KLUNQUEZMQUdTX2FwcGVuZF9yaXNjdjY0ICA9ICIgLXB0aHJlYWQgLURfUkVFTlRSQU5UIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBvZV9tdWx0aWxpYl9oZWFkZXIgdXJjdS9jb25maWcuaAotfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1cmN1L2xpYnVyY3VfMC4xMC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0YjZlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnVyY3UvbGlidXJjdV8wLjEwLjIuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJVc2Vyc3BhY2UgUkNVIChyZWFkLWNvcHktdXBkYXRlKSBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cDovL2x0dG5nLm9yZy91cmN1IgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vbHR0bmcub3JnL3Byb2plY3QvaXNzdWVzIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PWU1NDhkMjg3MzcyODlkNzVhOGYxZTAxYmEyZmQ3ODI1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy91cmN1Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMjttZDU9NGRlMGQ2OGQzYTk5NzY0MzcxNTAzNmQyMjA5YWUxZDkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vaW5jbHVkZS91cmN1L3VhdG9taWMveDg2Lmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0yMTttZDU9NThlNTBiYmQ4YTJmMDczYmI1NTAwZTY1NTRhZjBkMGIiCisKK1NSQ19VUkkgPSAiaHR0cDovL2x0dG5nLm9yZy9maWxlcy91cmN1L3VzZXJzcGFjZS1yY3UtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9BZGQtc3VwcG9ydC1mb3ItdGhlLVJJU0MtVi1hcmNoaXRlY3R1cmUucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YzQyNGM1MTgzZWMwMDlkODdlMGY3MGMyM2U5MmYxYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiM2Y2ODg4ZGFmNmZlMDJjMWY4MDk3ZjRhMDg5OGU0MWI1ZmU5OTc1ZTEyMWRjNzkyYjlkZGVmNGIxNzI2MWNjIgorCitTID0gIiR7V09SS0RJUn0vdXNlcnNwYWNlLXJjdS0ke1BWfSIKK2luaGVyaXQgYXV0b3Rvb2xzIG11bHRpbGliX2hlYWRlcgorCitDUFBGTEFHU19hcHBlbmRfcmlzY3Y2NCAgPSAiIC1wdGhyZWFkIC1EX1JFRU5UUkFOVCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgb2VfbXVsdGlsaWJfaGVhZGVyIHVyY3UvY29uZmlnLmgKK30KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlidXNiL2xpYnVzYjFfMS4wLjIyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2IvbGlidXNiMV8xLjAuMjIuYmIKaW5kZXggMGM2ZTExNi4uMWQ5ZDc3MiAxMDA2NDQKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2IvbGlidXNiMV8xLjAuMjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ1c2IvbGlidXNiMV8xLjAuMjIuYmIKQEAgLTIwLDkgKzIwLDEwIEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBwdGVzdAogCi0jIERvbid0IGNvbmZpZ3VyZSB1ZGV2IGJ5IGRlZmF1bHQgc2luY2UgaXQgd2lsbCBjYXVzZSBhIGNpcmN1bGFyCi0jIGRlcGVuZGVjeSB3aXRoIHVkZXYgcGFja2FnZSwgd2hpY2ggZGVwZW5kcyBvbiBsaWJ1c2IKLUVYVFJBX09FQ09ORiA9ICItLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSAtLWRpc2FibGUtdWRldiIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtdGFyZ2V0ID8/PSAidWRldiIKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS1lbmFibGUtdWRldiwtLWRpc2FibGUtdWRldix1ZGV2IgorCitFWFRSQV9PRUNPTkYgPSAiLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0iCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewogCWluc3RhbGwgLWQgJHtEfSR7bGliZGlyfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHQvZml4LXJ2dHMtaGFuZGxpbmcucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdC9maXgtcnZ0cy1oYW5kbGluZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWEzYWU1MS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdC9maXgtcnZ0cy1oYW5kbGluZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLWxpYnhzbHQtMS4xLjMyOiBGaXggaGFuZGxpbmcgb2YgUlZUcyByZXR1cm5lZCBmcm9tIG5lc3RlZCBFWFNMVCBmdW5jdGlvbnMKLQotW05vIHVwc3RyZWFtIHRyYWNraW5nXSAtLSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkyNTgwCi0KLVNldCB0aGUgY29udGV4dCB2YXJpYWJsZSB0byBOVUxMIHdoZW4gZXZhbHVhdGluZyBFWFNMVCBmdW5jdGlvbnMuCi1GaXhlcyBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUgZXJyb3JzIG9yIG1lbW9yeSBsZWFrcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2xpYnhzbHQvY29tbWl0LzhiZDMyZjc3NTNhYzI1M2E1NDI3OWEwYjZhODhkMTVhNTcwNzZiYjBdCi1idWc6IDc5MjU4MAotU2lnbmVkLW9mZi1ieTogQW5kcmVqIFZhbGVrIDxhbmRyZWoudmFsZWtAc2llbWVucy5jb20+Ci0KLWRpZmYgLS1naXQgYS9saWJleHNsdC9mdW5jdGlvbnMuYyBiL2xpYmV4c2x0L2Z1bmN0aW9ucy5jCi1pbmRleCBkYzc5NGUzLi44NTExY2IwIDEwMDY0NAotLS0tIGEvbGliZXhzbHQvZnVuY3Rpb25zLmMKLSsrKyBiL2xpYmV4c2x0L2Z1bmN0aW9ucy5jCi1AQCAtMjgwLDYgKzI4MCw3IEBAIGV4c2x0RnVuY0Z1bmN0aW9uRnVuY3Rpb24gKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKLSAgICAgZXhzbHRGdW5jRnVuY3Rpb25EYXRhICpmdW5jOwotICAgICB4bWxOb2RlUHRyIHBhcmFtTm9kZSwgb2xkSW5zZXJ0LCBmYWtlOwotICAgICBpbnQgb2xkQmFzZTsKLSsgICAgdm9pZCAqb2xkQ3R4dFZhcjsKLSAgICAgeHNsdFN0YWNrRWxlbVB0ciBwYXJhbXMgPSBOVUxMLCBwYXJhbTsKLSAgICAgeHNsdFRyYW5zZm9ybUNvbnRleHRQdHIgdGN0eHQgPSB4c2x0WFBhdGhHZXRUcmFuc2Zvcm1Db250ZXh0KGN0eHQpOwotICAgICBpbnQgaSwgbm90U2V0OwotQEAgLTQxOCwxMSArNDE5LDE0IEBAIGV4c2x0RnVuY0Z1bmN0aW9uRnVuY3Rpb24gKHhtbFhQYXRoUGFyc2VyQ29udGV4dFB0ciBjdHh0LCBpbnQgbmFyZ3MpIHsKLSAgICAgZmFrZSA9IHhtbE5ld0RvY05vZGUodGN0eHQtPm91dHB1dCwgTlVMTCwKLSAJCQkgKGNvbnN0IHhtbENoYXIgKikiZmFrZSIsIE5VTEwpOwotICAgICBvbGRJbnNlcnQgPSB0Y3R4dC0+aW5zZXJ0OwotKyAgICBvbGRDdHh0VmFyID0gdGN0eHQtPmNvbnRleHRWYXJpYWJsZTsKLSAgICAgdGN0eHQtPmluc2VydCA9IGZha2U7Ci0rICAgIHRjdHh0LT5jb250ZXh0VmFyaWFibGUgPSBOVUxMOwotICAgICB4c2x0QXBwbHlPbmVUZW1wbGF0ZSAodGN0eHQsIHRjdHh0LT5ub2RlLAotIAkJCSAgZnVuYy0+Y29udGVudCwgTlVMTCwgTlVMTCk7Ci0gICAgIHhzbHRMb2NhbFZhcmlhYmxlUG9wKHRjdHh0LCB0Y3R4dC0+dmFyc0Jhc2UsIC0yKTsKLSAgICAgdGN0eHQtPmluc2VydCA9IG9sZEluc2VydDsKLSsgICAgdGN0eHQtPmNvbnRleHRWYXJpYWJsZSA9IG9sZEN0eHRWYXI7Ci0gICAgIHRjdHh0LT52YXJzQmFzZSA9IG9sZEJhc2U7CS8qIHJlc3RvcmUgb3JpZ2luYWwgc2NvcGUgKi8KLSAgICAgaWYgKHBhcmFtcyAhPSBOVUxMKQotIAl4c2x0RnJlZVN0YWNrRWxlbUxpc3QocGFyYW1zKTsKLWRpZmYgLS1naXQgYS90ZXN0cy9kb2NzL2J1Zy0yMDkueG1sIGIvdGVzdHMvZG9jcy9idWctMjA5LnhtbAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjY5ZDYyZjIKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzL2RvY3MvYnVnLTIwOS54bWwKLUBAIC0wLDAgKzEgQEAKLSs8ZG9jLz4KLWRpZmYgLS1naXQgYS90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkub3V0IGIvdGVzdHMvZ2VuZXJhbC9idWctMjA5Lm91dAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmU4Mjk3OTAKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS5vdXQKLUBAIC0wLDAgKzEsMiBAQAotKzw/eG1sIHZlcnNpb249IjEuMCI/PgotKzxyZXN1bHQvPgotZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbmVyYWwvYnVnLTIwOS54c2wgYi90ZXN0cy9nZW5lcmFsL2J1Zy0yMDkueHNsCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZmU2OWFjNgotLS0tIC9kZXYvbnVsbAotKysrIGIvdGVzdHMvZ2VuZXJhbC9idWctMjA5LnhzbAotQEAgLTAsMCArMSwyMSBAQAotKzx4c2w6c3R5bGVzaGVldAotKyAgICB2ZXJzaW9uPSIxLjAiCi0rICAgIHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJhbnNmb3JtIgotKyAgICB4bWxuczpmdW5jPSJodHRwOi8vZXhzbHQub3JnL2Z1bmN0aW9ucyIKLSsgICAgZXh0ZW5zaW9uLWVsZW1lbnQtcHJlZml4ZXM9ImZ1bmMiPgotKwotKyAgICA8eHNsOnRlbXBsYXRlIG1hdGNoPSIvIj4KLSsgICAgICAgIDx4c2w6dmFyaWFibGUgbmFtZT0idiIgc2VsZWN0PSJmdW5jOmEoKSIgLz4KLSsgICAgICAgIDx4c2w6Y29weS1vZiBzZWxlY3Q9IiR2Ii8+Ci0rICAgIDwveHNsOnRlbXBsYXRlPgotKwotKyAgICA8ZnVuYzpmdW5jdGlvbiBuYW1lPSJmdW5jOmEiPgotKyAgICAgICAgPGZ1bmM6cmVzdWx0IHNlbGVjdD0iZnVuYzpiKCkiIC8+Ci0rICAgIDwvZnVuYzpmdW5jdGlvbj4KLSsKLSsgICAgPGZ1bmM6ZnVuY3Rpb24gbmFtZT0iZnVuYzpiIj4KLSsgICAgICAgIDxmdW5jOnJlc3VsdD4KLSsgICAgICAgICAgICA8cmVzdWx0Lz4KLSsgICAgICAgIDwvZnVuYzpyZXN1bHQ+Ci0rICAgIDwvZnVuYzpmdW5jdGlvbj4KLSs8L3hzbDpzdHlsZXNoZWV0PgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMyLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9saWJ4c2x0L2xpYnhzbHRfMS4xLjMyLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGZhNWU3Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQ5ICswLDAgQEAKLVNVTU1BUlkgPSAiR05PTUUgWFNMVCBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3htbHNvZnQub3JnL1hTTFQvIgotQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8iCi0KLUxJQ0VOU0UgPSAiTUlUIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ29weXJpZ2h0O21kNT0wY2Q5YTA3YWZiZWIyNDAyNmM5YjAzYWVjZmViYTQ1OCIKLQotU0VDVElPTiA9ICJsaWJzIgotREVQRU5EUyA9ICJsaWJ4bWwyIgotCi1TUkNfVVJJID0gImh0dHA6Ly94bWxzb2Z0Lm9yZy9zb3VyY2VzL2xpYnhzbHQtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1ydnRzLWhhbmRsaW5nLnBhdGNoIFwKLSAgICAgICAgICAgIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiMWZjNzJmOThlOThiZjQ0NDNmMTY1MTE2NWYzYWExNDYiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTI2ZWNkMGFiYWY0YTc3ODkwNDE2MjJjMzk1MGMwZTdmMmM0Yzg4MzU0NzE1MTVmZDc3ZWVjNjg0YTM1NTQ2MCIKLQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAibGlieHNsdC0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKLQotUyA9ICIke1dPUktESVJ9L2xpYnhzbHQtJHtQVn0iCi0KLUJJTkNPTkZJRyA9ICIke2JpbmRpcn0veHNsdC1jb25maWciCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBiaW5jb25maWctZGlzYWJsZWQgbGliX3BhY2thZ2UKLQotIyBXZSBkb24ndCBERVBFTkQgb24gYmludXRpbHMgZm9yIGFuc2lkZWNsLmggc28gZW5zdXJlIHdlIGRvbid0IHVzZSB0aGUgaGVhZGVyCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0Jc2VkIC1pIC1lICdzL2Fuc2lkZWNsLmgvLycgJHtTfS9jb25maWd1cmUuYWMKLQotCSMgVGhlIHRpbWVzdGFtcHMgaW4gdGhlIDEuMS4yOCB0YXJiYWxsIGFyZSBtZXNzZWQgdXAgY2F1c2luZyB0aGlzIGZpbGUgdG8KLQkjIGFwcGVhciBvdXQgb2YgZGF0ZS4gIFRvdWNoIGl0IHNvIHRoYXQgd2UgZG9uJ3QgdHJ5IHRvIHJlZ2VuZXJhdGUgaXQuCi0JdG91Y2ggJHtTfS9kb2MveHNsdHByb2MuMQotfQotCi1FWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXB5dGhvbiAtLXdpdGhvdXQtZGVidWcgLS13aXRob3V0LW1lbS1kZWJ1ZyAtLXdpdGhvdXQtY3J5cHRvIgotIyBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIHJlY2lwZSBoYWQgJHtQTn0tdXRpbHMKLVJQUk9WSURFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgotUkNPTkZMSUNUU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgotUlJFUExBQ0VTXyR7UE59LWJpbiArPSAiJHtQTn0tdXRpbHMiCi0KLQotZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKLSAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS94c2x0cHJvYyBYTUxfQ0FUQUxPR19GSUxFUz0ke3N5c2NvbmZkaXJ9L3htbC9jYXRhbG9nLnhtbAotfQotCi1GSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L2xpYnhzbHQtcGx1Z2lucyIKLUZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hzbHRDb25mLnNoIgotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzMuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2xpYnhzbHQvbGlieHNsdF8xLjEuMzMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhkNDA0YwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbGlieHNsdC9saWJ4c2x0XzEuMS4zMy5iYgpAQCAtMCwwICsxLDQ3IEBACitTVU1NQVJZID0gIkdOT01FIFhTTFQgbGlicmFyeSIKK0hPTUVQQUdFID0gImh0dHA6Ly94bWxzb2Z0Lm9yZy9YU0xULyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NvcHlyaWdodDttZDU9MGNkOWEwN2FmYmViMjQwMjZjOWIwM2FlY2ZlYmE0NTgiCisKK1NFQ1RJT04gPSAibGlicyIKK0RFUEVORFMgPSAibGlieG1sMiIKKworU1JDX1VSSSA9ICJodHRwOi8veG1sc29mdC5vcmcvc291cmNlcy9saWJ4c2x0LSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImIzYmQyNTRhMDNlNDZkNThmOGFkMWU0NTU5Y2QyYzJmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhlMzY2MDUxNDQ0MDlkZjk3OWNhYjQzZDgzNTAwMmY2Mzk4OGYzZGM5NGQ1ZDM1MzdjMTI3OTZkYjkwZTM4YzgiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gImxpYnhzbHQtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCisKK1MgPSAiJHtXT1JLRElSfS9saWJ4c2x0LSR7UFZ9IgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L3hzbHQtY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgYmluY29uZmlnLWRpc2FibGVkIGxpYl9wYWNrYWdlCisKKyMgV2UgZG9uJ3QgREVQRU5EIG9uIGJpbnV0aWxzIGZvciBhbnNpZGVjbC5oIHNvIGVuc3VyZSB3ZSBkb24ndCB1c2UgdGhlIGhlYWRlcgorZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworCXNlZCAtaSAtZSAncy9hbnNpZGVjbC5oLy8nICR7U30vY29uZmlndXJlLmFjCisKKwkjIFRoZSB0aW1lc3RhbXBzIGluIHRoZSAxLjEuMjggdGFyYmFsbCBhcmUgbWVzc2VkIHVwIGNhdXNpbmcgdGhpcyBmaWxlIHRvCisJIyBhcHBlYXIgb3V0IG9mIGRhdGUuICBUb3VjaCBpdCBzbyB0aGF0IHdlIGRvbid0IHRyeSB0byByZWdlbmVyYXRlIGl0LgorCXRvdWNoICR7U30vZG9jL3hzbHRwcm9jLjEKK30KKworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1weXRob24gLS13aXRob3V0LWRlYnVnIC0td2l0aG91dC1tZW0tZGVidWcgLS13aXRob3V0LWNyeXB0byAtLXdpdGgtaHRtbC1zdWJkaXI9JHtCUE59IgorIyBvbGRlciB2ZXJzaW9ucyBvZiB0aGlzIHJlY2lwZSBoYWQgJHtQTn0tdXRpbHMKK1JQUk9WSURFU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgorUkNPTkZMSUNUU18ke1BOfS1iaW4gKz0gIiR7UE59LXV0aWxzIgorUlJFUExBQ0VTXyR7UE59LWJpbiArPSAiJHtQTn0tdXRpbHMiCisKKyMgVGhpcyBpcyBvbmx5IG5lZWRlZCB1bnRpbCBsaWJ4bWwgY2FuIGxvYWQgdGhlIHJlbG9jYXRlZCBjYXRhbG9nIGl0c2VsZgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlICgpIHsKKyAgICBjcmVhdGVfd3JhcHBlciAke0R9LyR7YmluZGlyfS94c2x0cHJvYyBYTUxfQ0FUQUxPR19GSUxFUz0ke3N5c2NvbmZkaXJ9L3htbC9jYXRhbG9nCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vbGlieHNsdC1wbHVnaW5zIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0veHNsdENvbmYuc2giCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMi5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWFkMTdlMS4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6NC9sejRfMS44LjIuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1TVU1NQVJZID0gIkV4dHJlbWVseSBGYXN0IENvbXByZXNzaW9uIGFsZ29yaXRobSIKLURFU0NSSVBUSU9OID0gIkxaNCBpcyBhIHZlcnkgZmFzdCBsb3NzbGVzcyBjb21wcmVzc2lvbiBhbGdvcml0aG0sIHByb3ZpZGluZyBjb21wcmVzc2lvbiBzcGVlZCBhdCA0MDAgTUIvcyBwZXIgY29yZSwgc2NhbGFibGUgd2l0aCBtdWx0aS1jb3JlcyBDUFUuIEl0IGFsc28gZmVhdHVyZXMgYW4gZXh0cmVtZWx5IGZhc3QgZGVjb2Rlciwgd2l0aCBzcGVlZCBpbiBtdWx0aXBsZSBHQi9zIHBlciBjb3JlLCB0eXBpY2FsbHkgcmVhY2hpbmcgUkFNIHNwZWVkIGxpbWl0cyBvbiBtdWx0aS1jb3JlIHN5c3RlbXMuIgotCi1MSUNFTlNFID0gIkJTRCB8IEJTRC0yLUNsYXVzZSB8IEdQTC0yLjAiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9saWIvTElDRU5TRTttZDU9ZWJjMmVhNDgxNGE2NGRlNzcwOGYxNTcxOTA0YjMyY2MgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcHJvZ3JhbXMvQ09QWUlORzttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTElDRU5TRTttZDU9ZDU3YzBkMjFjYjkxN2ZiNGUwYWYyNDU0YWE0OGI5NTYgXAotICAgICAgICAgICAgICAgICAgICAiCi0KLVBFID0gIjEiCi0KLVNSQ1JFViA9ICJiMzY5MmRiNDZkMmIyM2E3YzBhZjJkNWU2OTk4OGM5NGYxMjZlMTBhIgotCi1TUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbHo0L2x6NC5naXQgXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgIgotVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAidig/UDxwdmVyPi4qKSIKLQotUyA9ICIke1dPUktESVJ9L2dpdCIKLQotRVhUUkFfT0VNQUtFID0gIlBSRUZJWD0ke3ByZWZpeH0gQ0M9JyR7Q0N9JyBERVNURElSPSR7RH0gTElCRElSPSR7bGliZGlyfSBJTkNMVURFRElSPSR7aW5jbHVkZWRpcn0iCi0KLWRvX2luc3RhbGwoKSB7Ci0Jb2VfcnVubWFrZSBpbnN0YWxsCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHo0L2x6NF8xLjguMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjU4MzZmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sejQvbHo0XzEuOC4zLmJiCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiRXh0cmVtZWx5IEZhc3QgQ29tcHJlc3Npb24gYWxnb3JpdGhtIgorREVTQ1JJUFRJT04gPSAiTFo0IGlzIGEgdmVyeSBmYXN0IGxvc3NsZXNzIGNvbXByZXNzaW9uIGFsZ29yaXRobSwgcHJvdmlkaW5nIGNvbXByZXNzaW9uIHNwZWVkIGF0IDQwMCBNQi9zIHBlciBjb3JlLCBzY2FsYWJsZSB3aXRoIG11bHRpLWNvcmVzIENQVS4gSXQgYWxzbyBmZWF0dXJlcyBhbiBleHRyZW1lbHkgZmFzdCBkZWNvZGVyLCB3aXRoIHNwZWVkIGluIG11bHRpcGxlIEdCL3MgcGVyIGNvcmUsIHR5cGljYWxseSByZWFjaGluZyBSQU0gc3BlZWQgbGltaXRzIG9uIG11bHRpLWNvcmUgc3lzdGVtcy4iCisKK0xJQ0VOU0UgPSAiQlNEIHwgQlNELTItQ2xhdXNlIHwgR1BMLTIuMCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2xpYi9MSUNFTlNFO21kNT1lYmMyZWE0ODE0YTY0ZGU3NzA4ZjE1NzE5MDRiMzJjYyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9wcm9ncmFtcy9DT1BZSU5HO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9MSUNFTlNFO21kNT1kNTdjMGQyMWNiOTE3ZmI0ZTBhZjI0NTRhYTQ4Yjk1NiBcCisgICAgICAgICAgICAgICAgICAgICIKKworUEUgPSAiMSIKKworU1JDUkVWID0gIjY0MWI0NTNkOWRiNTM2ZWUwMjA4NTFiZmNiMWRjMzlmNjEwMDZmMGEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9sejQvbHo0LmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICAiCitVUFNUUkVBTV9DSEVDS19HSVRUQUdSRUdFWCA9ICJ2KD9QPHB2ZXI+LiopIgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitFWFRSQV9PRU1BS0UgPSAiUFJFRklYPSR7cHJlZml4fSBDQz0nJHtDQ30nIERFU1RESVI9JHtEfSBMSUJESVI9JHtsaWJkaXJ9IElOQ0xVREVESVI9JHtpbmNsdWRlZGlyfSIKKworZG9faW5zdGFsbCgpIHsKKwlvZV9ydW5tYWtlIGluc3RhbGwKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvMDAwMS11c2Utc3RhdGljLWlubGluZXMtYXMtdGhlLWV4dGVybmFsLWlubGluZS1kZWZpbml0aW9uLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvMDAwMS11c2Utc3RhdGljLWlubGluZXMtYXMtdGhlLWV4dGVybmFsLWlubGluZS1kZWZpbml0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjdiODhiLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wLzAwMDEtdXNlLXN0YXRpYy1pbmxpbmVzLWFzLXRoZS1leHRlcm5hbC1pbmxpbmUtZGVmaW5pdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwMCArMCwwIEBACi1Gcm9tIGVjY2NiY2Y2NmRhNTM3NzlkODhlMzhlMmFmN2Y4MmVmZjhkZGU3ZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNiBBdWcgMjAxNSAxMDozNTo0NyAtMDcwMAotU3ViamVjdDogW1BBVENIXSB1c2Ugc3RhdGljIGlubGluZXMgYXMgdGhlIGV4dGVybmFsIGlubGluZSBkZWZpbml0aW9uIGhhcwotIGNoYW5nZWQgd2l0aCBnY2M1Ci0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0gc3JjL21pbmlhY2MuaCB8IDI0ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL21pbmlhY2MuaCBiL3NyYy9taW5pYWNjLmgKLWluZGV4IDA5ZTZmMGMuLmNhZTk4ZDEgMTAwNjQ0Ci0tLS0gYS9zcmMvbWluaWFjYy5oCi0rKysgYi9zcmMvbWluaWFjYy5oCi1AQCAtMjg4MCw4ICsyODgwLDcgQEAgdHlwZWRlZiB2b2lkIChfX2FjY19jZGVjbF9zaWdoYW5kbGVyICphY2Nfc2lnaGFuZGxlcl90KShhY2Nfc2lnbm9fdCk7Ci0gI2lmICEoQUNDX0NGR19OT19JTkxJTkVfQVNNKSAmJiAoX19hY2NfSEFWRV9mb3JjZWlubGluZSkKLSAjaWYgKEFDQ19BUkNIX1BPV0VSUEMgJiYgQUNDX0FCSV9CSUdfRU5ESUFOKSAmJiAoQUNDX0NDX0dOVUMpCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9HRVRfTEUxNikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCk7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLStzdGF0aWMgX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotICAgICBfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDE2ZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MTZlX3QqKSBwcDsKLSAgICAgdW5zaWduZWQgbG9uZyB2OwotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygibGhicnggJTAsMCwlMSIgOiAiPXIiICh2KSA6ICJyIiAocCksICJtIiAoKnApKTsKLUBAIC0yODkwLDggKzI4ODksNyBAQCBleHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSBjb25zdAotICNkZWZpbmUgQUNDX1VBX0dFVF9MRTE2KHApICAgICAgX19BQ0NfVUFfR0VUX0xFMTYocCkKLSAjZW5kaWYKLSAjaWYgIWRlZmluZWQoQUNDX1VBX1NFVF9MRTE2KQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLStzdGF0aWMgX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MTZlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQxNmVfdCopIHBwOwotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygic3RoYnJ4ICUyLDAsJTEiIDogIj1tIiAoKnApIDogInIiIChwKSwgInIiICh2KSk7Ci0gfQotQEAgLTI5MTYsOCArMjkxNCw3IEBAIGV4dGVybiBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpCi0gI2lmICEoQUNDX0NGR19OT19JTkxJTkVfQVNNKSAmJiAoX19hY2NfSEFWRV9mb3JjZWlubGluZSkKLSAjaWYgKEFDQ19BUkNIX1BPV0VSUEMgJiYgQUNDX0FCSV9CSUdfRU5ESUFOKSAmJiAoQUNDX0NDX0dOVUMpCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9HRVRfTEUzMikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCk7Ci0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLStzdGF0aWMgX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSBjb25zdCB2b2lkKiBwcCkgewotICAgICBfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDMyZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IGFjY191aW50MzJlX3QqKSBwcDsKLSAgICAgdW5zaWduZWQgbG9uZyB2OwotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygibHdicnggJTAsMCwlMSIgOiAiPXIiICh2KSA6ICJyIiAocCksICJtIiAoKnApKTsKLUBAIC0yOTI2LDggKzI5MjMsNyBAQCBleHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdW5zaWduZWQgbG9uZyBfX0FDQ19VQV9HRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSBjb25zdAotICNkZWZpbmUgQUNDX1VBX0dFVF9MRTMyKHApICAgICAgX19BQ0NfVUFfR0VUX0xFMzIocCkKLSAjZW5kaWYKLSAjaWYgIWRlZmluZWQoQUNDX1VBX1NFVF9MRTMyKQotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB2b2lkIF9fQUNDX1VBX1NFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIHZvaWQqIHBwLCB1bnNpZ25lZCBsb25nIHYpIHsKLStzdGF0aWMgX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0gICAgIF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MzJlX3QqIHAgPSAoX19hY2NfdWFfdm9sYXRpbGUgYWNjX3VpbnQzMmVfdCopIHBwOwotICAgICBfX2FzbV9fIF9fdm9sYXRpbGVfXygic3R3YnJ4ICUyLDAsJTEiIDogIj1tIiAoKnApIDogInIiIChwKSwgInIiICh2KSk7Ci0gfQotQEAgLTMzMDcsOCArMzMwMyw3IEBAIHR5cGVkZWYgdm9pZCAoX19hY2NfY2RlY2xfc2lnaGFuZGxlciAqYWNjX3NpZ2hhbmRsZXJfdCkoYWNjX3NpZ25vX3QpOwotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMTYpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTE2KF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQxNmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDE2ZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImxoYnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMzMxNyw4ICszMzEyLDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUxNihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTE2KHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUxNikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMTYoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDE2ZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MTZlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0aGJyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLUBAIC0zMzQzLDggKzMzMzcsNyBAQCBleHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUxNihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaQotICNpZiAhKEFDQ19DRkdfTk9fSU5MSU5FX0FTTSkgJiYgKF9fYWNjX0hBVkVfZm9yY2VpbmxpbmUpCi0gI2lmIChBQ0NfQVJDSF9QT1dFUlBDICYmIEFDQ19BQklfQklHX0VORElBTikgJiYgKEFDQ19DQ19HTlVDKQotICNpZiAhZGVmaW5lZChBQ0NfVUFfR0VUX0xFMzIpCi0tZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApOwotLWV4dGVybiBfX2FjY19mb3JjZWlubGluZSB1bnNpZ25lZCBsb25nIF9fQUNDX1VBX0dFVF9MRTMyKF9fYWNjX3VhX3ZvbGF0aWxlIGNvbnN0IHZvaWQqIHBwKSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3Qgdm9pZCogcHApIHsKLSAgICAgX19hY2NfdWFfdm9sYXRpbGUgY29uc3QgYWNjX3VpbnQzMmVfdCogcCA9IChfX2FjY191YV92b2xhdGlsZSBjb25zdCBhY2NfdWludDMyZV90KikgcHA7Ci0gICAgIHVuc2lnbmVkIGxvbmcgdjsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oImx3YnJ4ICUwLDAsJTEiIDogIj1yIiAodikgOiAiciIgKHApLCAibSIgKCpwKSk7Ci1AQCAtMzM1Myw4ICszMzQ2LDcgQEAgZXh0ZXJuIF9fYWNjX2ZvcmNlaW5saW5lIHVuc2lnbmVkIGxvbmcgX19BQ0NfVUFfR0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgY29uc3QKLSAjZGVmaW5lIEFDQ19VQV9HRVRfTEUzMihwKSAgICAgIF9fQUNDX1VBX0dFVF9MRTMyKHApCi0gI2VuZGlmCi0gI2lmICFkZWZpbmVkKEFDQ19VQV9TRVRfTEUzMikKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KTsKLS1leHRlcm4gX19hY2NfZm9yY2VpbmxpbmUgdm9pZCBfX0FDQ19VQV9TRVRfTEUzMihfX2FjY191YV92b2xhdGlsZSB2b2lkKiBwcCwgdW5zaWduZWQgbG9uZyB2KSB7Ci0rc3RhdGljIF9fYWNjX2ZvcmNlaW5saW5lIHZvaWQgX19BQ0NfVUFfU0VUX0xFMzIoX19hY2NfdWFfdm9sYXRpbGUgdm9pZCogcHAsIHVuc2lnbmVkIGxvbmcgdikgewotICAgICBfX2FjY191YV92b2xhdGlsZSBhY2NfdWludDMyZV90KiBwID0gKF9fYWNjX3VhX3ZvbGF0aWxlIGFjY191aW50MzJlX3QqKSBwcDsKLSAgICAgX19hc21fXyBfX3ZvbGF0aWxlX18oInN0d2JyeCAlMiwwLCUxIiA6ICI9bSIgKCpwKSA6ICJyIiAocCksICJyIiAodikpOwotIH0KLS0tIAotMi41LjAKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3AvbHpvcC0xLjAzLWdjYzYucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC9sem9wLTEuMDMtZ2NjNi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJiMzM5Ny4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC9sem9wLTEuMDMtZ2NjNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAgQEAKLWdjYy02IGhhcyBhZGRpdGlvbmFsIGVycm9ycyBlLmcuCi0KLS4vdGVzdC5jOjE6MTI6IGVycm9yOiB2YXJpYWJseSBtb2RpZmllZCAnX19hY2NfY3RhJyBhdCBmaWxlIHNjb3BlCi0gZXh0ZXJuIGludCBfX2FjY19jdGFbMS0yKiEoKDFsIDw8ICg4KjggLTEpKSA8IDApXTsKLSAgICAgICAgICAgIF5+fn5+fn5+fgotCi1UaGlzIGlzIHJpZ2h0bHkgcG9pbnRlZCBvdXQgc2luY2UgdGhhdCBpbmRleCBpcyB1bmRlZmluZWQKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi0tLS0gYS9zcmMvbWluaWFjYy5oLm9yaWcJMjAxNi0wMi0xMCAxNjowOToyMy4yNDczMTU4NjYgKzAxMDAKLSsrKyBhL3NyYy9taW5pYWNjLmgJMjAxNi0wMi0xMCAxNjoxMjoxNC45NzMyOTcwNTQgKzAxMDAKLUBAIC00NDY5LDEyICs0NDY5LDEyIEBACi0gI2lmIGRlZmluZWQoX19NU0RPU19fKSAmJiBkZWZpbmVkKF9fVFVSQk9DX18pICYmIChfX1RVUkJPQ19fIDwgMHgwMTUwKQotICNlbGlmIDEgJiYgKEFDQ19DQ19TVU5QUk9DKSAmJiAhZGVmaW5lZChBQ0NDSEtfQ0ZHX1BFREFOVElDKQotICNlbHNlCi0tICAgIEFDQ0NIS19BU1NFUlQoKDEgICA8PCAoOCpTSVpFT0ZfSU5ULTEpKSA8IDApCi0rICAgIEFDQ0NIS19BU1NFUlQoKGludCkoMXUgICA8PCAoOCpTSVpFT0ZfSU5ULTEpKSA8IDApCi0gI2VuZGlmCi0gICAgIEFDQ0NIS19BU1NFUlQoKDF1ICA8PCAoOCpTSVpFT0ZfSU5ULTEpKSA+IDApCi0gI2lmIDEgJiYgKEFDQ19DQ19TVU5QUk9DKSAmJiAhZGVmaW5lZChBQ0NDSEtfQ0ZHX1BFREFOVElDKQotICNlbHNlCi0tICAgIEFDQ0NIS19BU1NFUlQoKDFsICA8PCAoOCpTSVpFT0ZfTE9ORy0xKSkgPCAwKQotKyAgICBBQ0NDSEtfQVNTRVJUKChsb25nKSgxdWwgIDw8ICg4KlNJWkVPRl9MT05HLTEpKSA8IDApCi0gI2VuZGlmCi0gICAgIEFDQ0NIS19BU1NFUlQoKDF1bCA8PCAoOCpTSVpFT0ZfTE9ORy0xKSkgPiAwKQotICNpZiBkZWZpbmVkKGFjY19pbnQxNmVfdCkKLUBAIC00NzAzLDcgKzQ3MDMsNyBAQAotICNlbGlmIDEgJiYgKEFDQ19DQ19MQ0MgfHwgQUNDX0NDX0xDQ1dJTjMyKSAmJiAhZGVmaW5lZChBQ0NDSEtfQ0ZHX1BFREFOVElDKQotICNlbGlmIDEgJiYgKEFDQ19DQ19TVU5QUk9DKSAmJiAhZGVmaW5lZChBQ0NDSEtfQ0ZHX1BFREFOVElDKQotICNlbGlmICEoQUNDX0JST0tFTl9JTlRFR1JBTF9QUk9NT1RJT04pICYmIChTSVpFT0ZfSU5UID4gMSkKLS0gICAgQUNDQ0hLX0FTU0VSVCggKCgodW5zaWduZWQgY2hhcikxMjgpIDw8IChpbnQpKDgqc2l6ZW9mKGludCktOCkpIDwgMCkKLSsgICAgQUNDQ0hLX0FTU0VSVCggKGludCkoKHVuc2lnbmVkIGludCkoKHVuc2lnbmVkIGNoYXIpMTI4KSA8PCAoaW50KSg4KnNpemVvZihpbnQpLTgpKSA8IDApCi0gI2VuZGlmCi0gI2lmIChBQ0NfQ0NfQk9STEFOREMgJiYgKF9fQk9STEFORENfXyA+PSAweDA1MzApICYmIChfX0JPUkxBTkRDX18gPCAweDA1NjApKQotICMgIHByYWdtYSBvcHRpb24gcG9wCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcC94MzJfYWJpX21pbmlhY2NfaC5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wL3gzMl9hYmlfbWluaWFjY19oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MzliZTgyLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbHpvcC9sem9wL3gzMl9hYmlfbWluaWFjY19oLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRml4IGdldCBvZiBGTEFHUyByZWdpc3RlciBpbiB4MzIgQUJJLAotCi14MzIgQUJJIHJlcXVpcmVzIHRvIGhhdmUgNjQtYml0IHZhcmlhYmxlIHRvIHN0b3JlIEZMQUdTIHJlZ2lzdGVyCi1pbnN0ZWFkIG9mIHNpemVfdCB0aGF0IGlzIDMyLWJpdCB2YXJpYWJsZSwgdGhpcyBmaXggb3BlcmFuZAotdHlwZSBtaXNtYXRjaCB3aGVuIHRyeSB0byBwb3AgcHJldmlvdXMgcHVzaGYgdmFsdWUuCi0KLVVwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCi0KLVNpZ25lZC1vZmYtYnk6IEFuw61iYWwgTGltw7NuIDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgotCi1JbmRleDogbHpvcC0xLjAzL3NyYy9taW5pYWNjLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsem9wLTEuMDMub3JpZy9zcmMvbWluaWFjYy5oCi0rKysgbHpvcC0xLjAzL3NyYy9taW5pYWNjLmgKLUBAIC03NTQsNiArNzU0LDkgQEAKLSAjZWxpZiBkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX0FNRDY0KQotICMgIGRlZmluZSBBQ0NfQVJDSF9BTUQ2NCAgICAgICAgICAgIDEKLSAjICBkZWZpbmUgQUNDX0lORk9fQVJDSCAgICAgICAgICAgICAiYW1kNjQiCi0rIyAgaWYgZGVmaW5lZChfX0lMUDMyX18pCi0rIyAgICBkZWZpbmUgQUNDX0FSQ0hfQU1ENjRfWDMyICAgICAgMQotKyMgIGVuZGlmCi0gI2VsaWYgZGVmaW5lZChfX3RodW1iX18pIHx8IChkZWZpbmVkKF9NX0FSTSkgJiYgZGVmaW5lZChfTV9USFVNQikpCi0gIyAgZGVmaW5lIEFDQ19BUkNIX0FSTSAgICAgICAgICAgICAgMQotICMgIGRlZmluZSBBQ0NfQVJDSF9BUk1fVEhVTUIgICAgICAgIDEKLUBAIC02Nzg3LDcgKzY3OTAsMTEgQEAgQUNDTElCX1BVQkxJQ19OT0lOTElORSh2b2lkLCBhY2NfZGVidWdfbgotIEFDQ0xJQl9QVUJMSUNfTk9JTkxJTkUoaW50LCBhY2NfZGVidWdfYWxpZ25fY2hlY2tfcXVlcnkpICh2b2lkKQotIHsKLSAjaWYgKEFDQ19BUkNIX0FNRDY0IHx8IEFDQ19BUkNIX0kzODYpICYmIChBQ0NfQVNNX1NZTlRBWF9HTlVDKQotKyMgIGlmIGRlZmluZWQoQUNDX0FSQ0hfQU1ENjRfWDMyKQotKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgcjsKLSsjICBlbHNlCi0gICAgIHNpemVfdCByOwotKyMgIGVuZGlmCi0gICAgIF9fYXNtX18gX192b2xhdGlsZV9fKCJwdXNoZlxuIHBvcCAlMFxuIiA6ICI9YSIgKHIpIDogOiBfX0FDQ19BU01fQ0xPQkJFUik7Ci0gICAgIHJldHVybiAoaW50KShyID4+IDE4KSAmIDE7Ci0gI2VsaWYgKEFDQ19BUkNIX0kzODYpICYmIChBQ0NfQVNNX1NZTlRBWF9NU0MpCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcF8xLjAzLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wMy5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmYwOTAwMi4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcF8xLjAzLmJiCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotU1VNTUFSWSA9ICJSZWFsLXRpbWUgZmlsZSBjb21wcmVzc29yIgotREVTQ1JJUFRJT04gPSAibHpvcCBpcyBhIGNvbXByZXNzaW9uIHV0aWxpdHkgd2hpY2ggaXMgZGVzaWduZWQgdG8gYmUgYSBjb21wYW5pb24gdG8gZ3ppcC4gXG5cCi1JdCBpcyBiYXNlZCBvbiB0aGUgTFpPIGRhdGEgY29tcHJlc3Npb24gbGlicmFyeSBhbmQgaXRzIG1haW4gYWR2YW50YWdlcyBvdmVyIFxuXAotZ3ppcCBhcmUgbXVjaCBoaWdoZXIgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24gc3BlZWQgYXQgdGhlIGNvc3Qgb2Ygc29tZSBcblwKLWNvbXByZXNzaW9uIHJhdGlvLiBUaGUgbHpvcCBjb21wcmVzc2lvbiB1dGlsaXR5IHdhcyBkZXNpZ25lZCB3aXRoIHRoZSBnb2FscyBcblwKLW9mIHJlbGlhYmlsaXR5LCBzcGVlZCwgcG9ydGFiaWxpdHkgYW5kIHdpdGggcmVhc29uYWJsZSBkcm9wLWluIGNvbXBhdGliaWxpdHkgXG5cCi10byBnemlwLiIKLURFUEVORFMgKz0gImx6byIKLQotTElDRU5TRSA9ICJHUEx2MisiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kZmVhZjNkYzRiZWVmNGY1YTdiZGJjMzViMTk3ZjM5ZSBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvbHpvcC5jO2JlZ2lubGluZT01O2VuZGxpbmU9MjE7bWQ1PTY3OTdiZDNlZDBhMWE0OTMyN2I3ZWJmOTM2NmViZDg2IgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubHpvcC5vcmcvZG93bmxvYWQvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2FjaW5jbHVkZS5tNCBcCi0gICAgICAgICAgIGZpbGU6Ly94MzJfYWJpX21pbmlhY2NfaC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLXVzZS1zdGF0aWMtaW5saW5lcy1hcy10aGUtZXh0ZXJuYWwtaW5saW5lLWRlZmluaXRpb24ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbHpvcC0xLjAzLWdjYzYucGF0Y2ggXAotICAgICAgICAgICIKLVNSQ19VUklbbWQ1c3VtXSA9ICIwMDZjNWUyN2ZiNzhjZGQxNGE2MjhmZGZhNWFhMTkwNSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJjMTQyNWI4Yzc3ZDQ5ZjVhNjc5ZDVhMTI2YzkwZWE2YWQ5OTU4NWE1NWUzMzVhNjEzY2FlNTllOTA5ZGJiMmM5IgotCi1pbmhlcml0IGF1dG90b29scwotCi1kb19jb25maWd1cmVfcHJlcGVuZCAoKSB7Ci0gICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L2FjaW5jbHVkZS5tNCAke1N9L2FjaW5jbHVkZS5tNAotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L2x6b3AvbHpvcF8xLjA0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTBjMjMwCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9sem9wL2x6b3BfMS4wNC5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlJlYWwtdGltZSBmaWxlIGNvbXByZXNzb3IiCitERVNDUklQVElPTiA9ICJsem9wIGlzIGEgY29tcHJlc3Npb24gdXRpbGl0eSB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSBhIGNvbXBhbmlvbiB0byBnemlwLiBcblwKK0l0IGlzIGJhc2VkIG9uIHRoZSBMWk8gZGF0YSBjb21wcmVzc2lvbiBsaWJyYXJ5IGFuZCBpdHMgbWFpbiBhZHZhbnRhZ2VzIG92ZXIgXG5cCitnemlwIGFyZSBtdWNoIGhpZ2hlciBjb21wcmVzc2lvbiBhbmQgZGVjb21wcmVzc2lvbiBzcGVlZCBhdCB0aGUgY29zdCBvZiBzb21lIFxuXAorY29tcHJlc3Npb24gcmF0aW8uIFRoZSBsem9wIGNvbXByZXNzaW9uIHV0aWxpdHkgd2FzIGRlc2lnbmVkIHdpdGggdGhlIGdvYWxzIFxuXAorb2YgcmVsaWFiaWxpdHksIHNwZWVkLCBwb3J0YWJpbGl0eSBhbmQgd2l0aCByZWFzb25hYmxlIGRyb3AtaW4gY29tcGF0aWJpbGl0eSBcblwKK3RvIGd6aXAuIgorREVQRU5EUyArPSAibHpvIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9sem9wLmM7YmVnaW5saW5lPTU7ZW5kbGluZT0yMTttZDU9MjNkNzY3ZGU3NzU0ZWIyNGI5ZTkwMGIwMjVjZjdmYzgiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5sem9wLm9yZy9kb3dubG9hZC8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vYWNpbmNsdWRlLm00IFwKKyAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMjcxZWIxMGZkZTc3YTBhOTZiOWNiZjc0NWU3MTlkZGYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2U3MmI2MmE4YTYwYWZmNTIwMGEwNDdlZWEwNzczYThmYjIwNWNhZjdhY2JlMTc3NGQ5NTE0N2YzMDVhMmY0MSIKKworaW5oZXJpdCBhdXRvdG9vbHMKKworZG9fY29uZmlndXJlX3ByZXBlbmQgKCkgeworICAgIGluc3RhbGwgLURtIDA2NDQgJHtXT1JLRElSfS9hY2luY2x1ZGUubTQgJHtTfS9hY2luY2x1ZGUubTQKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9tcGZyL21wZnIvMDAwMS1GaXgtb2Jzb2xldGUtQVJDLWFzbS1jb25zdHJhaW50cy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyLzAwMDEtRml4LW9ic29sZXRlLUFSQy1hc20tY29uc3RyYWludHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU5ZDFiMGQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9tcGZyL21wZnIvMDAwMS1GaXgtb2Jzb2xldGUtQVJDLWFzbS1jb25zdHJhaW50cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLW1wZnItbG9uZ2xvbmcuaDogRml4IG9ic29sZXRlIEFSQyBhc20gY29uc3RyYWludHMKLQotVGhpcyBwYXRjaCByZXBsYWNlcyBvYnNvbGV0ZSBBUkMgIkoiIGFzbSBjb25zdHJhaW50IHdpdGgKLXVwLXRvLWRhdGUgIkNhbCIgY29uc3RyYWludC4KLQotIkoiIGNvbnN0cmFpbnQgb25seSBleGlzdGVkIGluIHByZS11cHN0cmVhbSBHQ0MgcG9ydCBmb3IgQVJDLgotSW4gY3VycmVudCB1cHN0cmVhbSBwb3J0ICJDYWwiIGNvbnN0cmFpbnQgaXMgdXNlZCB3aGljaCBsZWFkcwotdG8gY29tcGlsZS10aW1lIGVycm9yLgotCi1Qcm9wb3NlZCBmaXggaXMga25vd24gdG8gd29yayBpbiBCdWlsZHJvb3QsIENyb3NzdG9vbC1ORyBldGMuCi0KLVsxXSBodHRwczovL2djYy5nbnUub3JnL2dpdC8/cD1nY2MuZ2l0O2E9Y29tbWl0O2g9MDljYjZhMTdlNzFiZDQwZDJmYmZhZjgyYTE1MDJmYzIxMGUzM2M4NwotCi1TaWduZWQtb2ZmLWJ5OiBDbGF1ZGl1IFppc3N1bGVzY3UgPGNsYXppc3NAc3lub3BzeXMuY29tPgotU2lnbmVkLW9mZi1ieTogVmxhZCBaYWtoYXJvdiA8dnpha2hhckBzeW5vcHN5cy5jb20+Ci1TaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgQnJvZGtpbiA8YWJyb2RraW5Ac3lub3BzeXMuY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFtodHRwczovL2dmb3JnZS5pbnJpYS5mci9zY20vdmlld3ZjLnBocC9tcGZyP3ZpZXc9cmV2aXNpb24mcmV2aXNpb249MTMyNTFdCi0tLS0KLUluZGV4OiBzcmMvbXBmci1sb25nbG9uZy5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9zcmMvbXBmci1sb25nbG9uZy5oCShyZXZpc2lvbiAxMDk2MykKLSsrKyBiL3NyYy9tcGZyLWxvbmdsb25nLmgJKHdvcmtpbmcgY29weSkKLUBAIC00MTYsMTcgKzQxNiwxNyBAQAotIAkgICA6ICI9ciIgKHNoKSwJCQkJCQkJXAotIAkgICAgICI9JnIiIChzbCkJCQkJCQkJXAotIAkgICA6ICJyIiAgKChVU0l0eXBlKSAoYWgpKSwJCQkJCVwKLS0JICAgICAicklKIiAoKFVTSXR5cGUpIChiaCkpLAkJCQkJXAotKwkgICAgICJySUNhbCIgKChVU0l0eXBlKSAoYmgpKSwJCQkJCVwKLSAJICAgICAiJXIiICgoVVNJdHlwZSkgKGFsKSksCQkJCQlcCi0tCSAgICAgInJJSiIgKChVU0l0eXBlKSAoYmwpKSkKLSsJICAgICAicklDYWwiICgoVVNJdHlwZSkgKGJsKSkpCi0gI2RlZmluZSBzdWJfZGRtbXNzKHNoLCBzbCwgYWgsIGFsLCBiaCwgYmwpIFwKLSAgIF9fYXNtX18gKCJzdWIuZlx0JTEsICU0LCAlNVxuXHRzYmNcdCUwLCAlMiwgJTMiCQkJXAotIAkgICA6ICI9ciIgKHNoKSwJCQkJCQkJXAotIAkgICAgICI9JnIiIChzbCkJCQkJCQkJXAotIAkgICA6ICJyIiAoKFVTSXR5cGUpIChhaCkpLAkJCQkJXAotLQkgICAgICJySUoiICgoVVNJdHlwZSkgKGJoKSksCQkJCQlcCi0rCSAgICAgInJJQ2FsIiAoKFVTSXR5cGUpIChiaCkpLAkJCQkJXAotIAkgICAgICJyIiAoKFVTSXR5cGUpIChhbCkpLAkJCQkJXAotLQkgICAgICJySUoiICgoVVNJdHlwZSkgKGJsKSkpCi0rCSAgICAgInJJQ2FsIiAoKFVTSXR5cGUpIChibCkpKQotICNlbmRpZgotIAotICNpZiBkZWZpbmVkIChfX2FybV9fKSAmJiAoZGVmaW5lZCAoX190aHVtYjJfXykgfHwgIWRlZmluZWQgKF9fdGh1bWJfXykpIFwKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9tcGZyL21wZnJfNC4wLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZWU3NmEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9tcGZyL21wZnJfNC4wLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1TVU1NQVJZID0gIkMgbGlicmFyeSBmb3IgbXVsdGlwbGUtcHJlY2lzaW9uIGZsb2F0aW5nLXBvaW50IGNvbXB1dGF0aW9ucyB3aXRoIGV4YWN0IHJvdW5kaW5nIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tcGZyLm9yZy8iCi1MSUNFTlNFID0gIkxHUEx2MysiCi1TRUNUSU9OID0gImRldmVsIgotCi1pbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQzMjIzOWJjYjY3MzQ2M2FiODc0ZTgwZDQ3ZmFlNTA0IFwKLQkJICAgIGZpbGU6Ly9DT1BZSU5HLkxFU1NFUjttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYiCi1ERVBFTkRTID0gImdtcCBhdXRvY29uZi1hcmNoaXZlIgotCi1TUkNfVVJJID0gImh0dHA6Ly93d3cubXBmci5vcmcvbXBmci0ke1BWfS9tcGZyLSR7UFZ9LnRhci54eiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUZpeC1vYnNvbGV0ZS1BUkMtYXNtLWNvbnN0cmFpbnRzLnBhdGNoIgotU1JDX1VSSVttZDVzdW1dID0gImI4ZGQxOWJkOWJiMWVjODgzMWE2YTU4MmE3MzA4MDczIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3ODc0YTYwODI2MzAzZWUyZmI2YWZmYzZkYzBkZGQzZTc0OWU5YmZjYjRjODY1NWUzOTUzZDA0NThhNmUxNmUiCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItY3VycmVudC8iCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4yLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9tcGZyL21wZnJfNC4wLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDMwNTkxNwotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbXBmci9tcGZyXzQuMC4yLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQyBsaWJyYXJ5IGZvciBtdWx0aXBsZS1wcmVjaXNpb24gZmxvYXRpbmctcG9pbnQgY29tcHV0YXRpb25zIHdpdGggZXhhY3Qgcm91bmRpbmciCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTHYzKyIKK1NFQ1RJT04gPSAiZGV2ZWwiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHRleGluZm8KKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWViYmQzZTM0MjM3YWYyNmRhNWRjMDhhNGU0NDA0NjQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlORy5MRVNTRVI7bWQ1PTMwMDAyMDhkNTM5ZWMwNjFiODk5YmNlMWQ5Y2U5NDA0IFwKKyAgICAgICAgICAgICAgICAgICAgIgorREVQRU5EUyA9ICJnbXAgYXV0b2NvbmYtYXJjaGl2ZSIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm1wZnIub3JnL21wZnItJHtQVn0vbXBmci0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiMzIwZmJjNDQ2M2Q0YzhjYjFlNTY2OTI5ZDhhZGM0ZjgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMWQzYmU3MDg2MDRlYWUwZTQyZDU3OGJhOTNiMzkwYzJhMTQ1ZjE3NzQzYTc0NGQ4ZjNmOGMyYWQ1ODU1YTM4YSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cubXBmci5vcmcvbXBmci1jdXJyZW50LyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC9BZGQtdGFyZ2V0LXRvLW9ubHktYnVpbGQtdGVzdHMtbm90LXJ1bi10aGVtLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvQWRkLXRhcmdldC10by1vbmx5LWJ1aWxkLXRlc3RzLW5vdC1ydW4tdGhlbS5wYXRjaApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9jaGVjay1oZWFkZXItZmlsZXMtb2Ytb3BlbnNzbC1vbmx5LWlmLWVuYWJsZV8ucGF0Y2gKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvZGxvcGVuLXRlc3QucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvZGxvcGVuLXRlc3QucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQvZGxvcGVuLXRlc3QucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZS0zLjQuMS9kbG9wZW4tdGVzdC5wYXRjaApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC9ydW4tcHRlc3QgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40LjEvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGUtMy40L3J1bi1wdGVzdApyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlLTMuNC4xL3J1bi1wdGVzdApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkNDljMzAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25ldHRsZS9uZXR0bGVfMy40LjEuYmIKQEAgLTAsMCArMSw1MiBAQAorU1VNTUFSWSA9ICJBIGxvdyBsZXZlbCBjcnlwdG9ncmFwaGljIGxpYnJhcnkiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lmx5c2F0b3IubGl1LnNlL35uaXNzZS9uZXR0bGUvIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJMR1BMdjMrIHwgR1BMdjIrIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLkxFU1NFUnYzO21kNT02YTZhOGUwMjA4MzhiMjM0MDZjODFiMTljMWQ0NmRmNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9DT1BZSU5HdjI7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NlcnBlbnQtZGVjcnlwdC5jO2JlZ2lubGluZT0xNDtlbmRsaW5lPTM2O21kNT1jYTBkMjIwYmM0MTNlMTg0MmVjYzUwNzY5MGNlNDE2ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zZXJwZW50LXNldC1rZXkuYztiZWdpbmxpbmU9MTQ7ZW5kbGluZT0zNjttZDU9Y2EwZDIyMGJjNDEzZTE4NDJlY2M1MDc2OTBjZTQxNmUiCisKK0RFUEVORFMgKz0gImdtcCIKKworU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9LyR7QlBOfS8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vQWRkLXRhcmdldC10by1vbmx5LWJ1aWxkLXRlc3RzLW5vdC1ydW4tdGhlbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QgXAorICAgICAgICAgICBmaWxlOi8vY2hlY2staGVhZGVyLWZpbGVzLW9mLW9wZW5zc2wtb25seS1pZi1lbmFibGVfLnBhdGNoIFwKKyAgICAgICAgICAgIgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiXAorICAgICAgICAgICAgZmlsZTovL2Rsb3Blbi10ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjliZGViYjBlMmY2MzhkM2I5ZDkxZjdmYzI2NGI3MGMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY5NDFjZjE1MzVjZDVkMTgxOWJlNWNjYWU1YmFiZWYwMWY2ZGI2MTFmOWI1YTc3N2JhZTljNzYwNGI4YTkyYWQiCisKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIm5ldHRsZS0oP1A8cHZlcj5cZCsoXC5cZCspKylcLnRhciIKKworaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QgbXVsdGlsaWJfaGVhZGVyCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0tZXhjbHVkZT1hY2xvY2FsIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLW9wZW5zc2wiCitDRkxBR1NfYXBwZW5kID0gIiAtc3RkPWM5OSIKKworZG9fY29tcGlsZV9wdGVzdCgpIHsKKyAgICAgICAgb2VfcnVubWFrZSBidWlsZHRlc3QKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgb2VfbXVsdGlsaWJfaGVhZGVyIG5ldHRsZS9uZXR0bGUtc3RkaW50LmggbmV0dGxlL3ZlcnNpb24uaAorfQorCitkb19pbnN0YWxsX3B0ZXN0KCkgeworICAgICAgICBpbnN0YWxsIC1kICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KKyAgICAgICAgaW5zdGFsbCAke1N9L3Rlc3RzdWl0ZS9nb2xkLWJ1Zy50eHQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLworICAgICAgICBpbnN0YWxsICR7U30vdGVzdHN1aXRlLyotdGVzdCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCisgICAgICAgICMgdG9vbHMgY2FuIGJlIGZvdW5kIGluIFBBVEgsIG5vdCBpbiAuLi90b29scy8KKyAgICAgICAgc2VkIC1pIC1lICdzfC4uL3Rvb2xzL3x8JyAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvKi10ZXN0CisgICAgICAgIGluc3RhbGwgJHtCfS90ZXN0c3VpdGUvKi10ZXN0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbmV0dGxlL25ldHRsZV8zLjQuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhODQ1MGUuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uZXR0bGUvbmV0dGxlXzMuNC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLVNVTU1BUlkgPSAiQSBsb3cgbGV2ZWwgY3J5cHRvZ3JhcGhpYyBsaWJyYXJ5IgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5seXNhdG9yLmxpdS5zZS9+bmlzc2UvbmV0dGxlLyIKLVNFQ1RJT04gPSAibGlicyIKLUxJQ0VOU0UgPSAiTEdQTHYzKyB8IEdQTHYyKyIKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORy5MRVNTRVJ2MzttZDU9NmE2YThlMDIwODM4YjIzNDA2YzgxYjE5YzFkNDZkZjYgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlOR3YyO21kNT1iMjM0ZWU0ZDY5ZjVmY2U0NDg2YTgwZmRhZjRhNDI2MyBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zZXJwZW50LWRlY3J5cHQuYztiZWdpbmxpbmU9MTQ7ZW5kbGluZT0zNjttZDU9Y2EwZDIyMGJjNDEzZTE4NDJlY2M1MDc2OTBjZTQxNmUgXAotICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc2VycGVudC1zZXQta2V5LmM7YmVnaW5saW5lPTE0O2VuZGxpbmU9MzY7bWQ1PWNhMGQyMjBiYzQxM2UxODQyZWNjNTA3NjkwY2U0MTZlIgotCi1ERVBFTkRTICs9ICJnbXAiCi0KLVNSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS8ke0JQTn0vJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL0FkZC10YXJnZXQtdG8tb25seS1idWlsZC10ZXN0cy1ub3QtcnVuLXRoZW0ucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKLSAgICAgICAgICAgZmlsZTovL2NoZWNrLWhlYWRlci1maWxlcy1vZi1vcGVuc3NsLW9ubHktaWYtZW5hYmxlXy5wYXRjaCBcCi0gICAgICAgICAgICIKLQotU1JDX1VSSV9hcHBlbmRfY2xhc3MtdGFyZ2V0ID0gIlwKLSAgICAgICAgICAgIGZpbGU6Ly9kbG9wZW4tdGVzdC5wYXRjaCBcCi0gICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJkYzBmMTMwMjgyNjQ5OTJmNThlNjdiNGU4OTE1ZjUzZCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJhZTdhNDJkZjAyNjU1MGI4NWRhY2E4Mzg5YjZhNjBiYTYzMTNiMDU2N2YzNzQzOTJlNTQ5MTg1ODhhNDExZTk0IgotCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJuZXR0bGUtKD9QPHB2ZXI+XGQrKFwuXGQrKSspXC50YXIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHB0ZXN0IG11bHRpbGliX2hlYWRlcgotCi1FWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YWNsb2NhbCIKLQotRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1vcGVuc3NsIgotCi1kb19jb21waWxlX3B0ZXN0KCkgewotICAgICAgICBvZV9ydW5tYWtlIGJ1aWxkdGVzdAotfQotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLSAgICBvZV9tdWx0aWxpYl9oZWFkZXIgbmV0dGxlL25ldHRsZS1zdGRpbnQuaCBuZXR0bGUvdmVyc2lvbi5oCi19Ci0KLWRvX2luc3RhbGxfcHRlc3QoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLwotICAgICAgICBpbnN0YWxsICR7U30vdGVzdHN1aXRlL2dvbGQtYnVnLnR4dCAke0R9JHtQVEVTVF9QQVRIfS90ZXN0c3VpdGUvCi0gICAgICAgIGluc3RhbGwgJHtTfS90ZXN0c3VpdGUvKi10ZXN0ICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8KLSAgICAgICAgIyB0b29scyBjYW4gYmUgZm91bmQgaW4gUEFUSCwgbm90IGluIC4uL3Rvb2xzLwotICAgICAgICBzZWQgLWkgLWUgJ3N8Li4vdG9vbHMvfHwnICR7RH0ke1BURVNUX1BBVEh9L3Rlc3RzdWl0ZS8qLXRlc3QKLSAgICAgICAgaW5zdGFsbCAke0J9L3Rlc3RzdWl0ZS8qLXRlc3QgJHtEfSR7UFRFU1RfUEFUSH0vdGVzdHN1aXRlLwotfQotCi1CQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvMDAwMi1BZGQtbmlvczItc3VwcG9ydC5wYXRjaAppbmRleCAyMzIyODA2Li4zYTA0ZDQyIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByLzAwMDItQWRkLW5pb3MyLXN1cHBvcnQucGF0Y2gKQEAgLTEyLDExICsxMiwxMSBAQAogIG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguaCAgIHwgMTQgKysrKysrKysrKysrKysKICAyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKykKIAotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZyBiL25zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi1pbmRleCA4Y2JmMGNiLi4xNTA2NzZiIDEwMDY0NAotLS0tIGEvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5jZmcKLUBAIC05NzIsNiArOTcyLDUxIEBACitJbmRleDogbnNwci9wci9pbmNsdWRlL21kL19saW51eC5jZmcKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuc3ByLm9yaWcvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCisrKysgbnNwci9wci9pbmNsdWRlL21kL19saW51eC5jZmcKK0BAIC05NzUsNiArOTc1LDUxIEBACiAgI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAgMgogICNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgIDMKICAKQEAgLTY4LDEwICs2OCwxMCBAQAogICNlbGlmIGRlZmluZWQoX19vcjFrX18pCiAgCiAgI3VuZGVmICBJU19MSVRUTEVfRU5ESUFOCi1kaWZmIC0tZ2l0IGEvcHIvaW5jbHVkZS9tZC9fbGludXguaCBiL25zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguaAotaW5kZXggZDM3OGRiNS4uMTgyNjBiZSAxMDA2NDQKLS0tLSBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKLSsrKyBiL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKK0luZGV4OiBuc3ByL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBuc3ByLm9yaWcvcHIvaW5jbHVkZS9tZC9fbGludXguaAorKysrIG5zcHIvcHIvaW5jbHVkZS9tZC9fbGludXguaAogQEAgLTU1LDYgKzU1LDggQEAKICAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgImF2cjMyIgogICNlbGlmIGRlZmluZWQoX19tMzJyX18pCkBAIC04MCw4ICs4MCw4IEBACiArI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJuaW9zMiIKICAjZWxpZiBkZWZpbmVkKF9fb3Ixa19fKQogICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAib3IxayIKLSAjZWxzZQotQEAgLTEyNSw2ICsxMjcsMTggQEAgZXh0ZXJuIFBSSW50MzIgX1BSX3g4Nl82NF9BdG9taWNTZXQoUFJJbnQzMiAqdmFsLCBQUkludDMyIG5ld3ZhbCk7CisgI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiAoX19yaXNjdl94bGVuID09IDMyKQorQEAgLTEyOSw2ICsxMzEsMTggQEAgZXh0ZXJuIFBSSW50MzIgX1BSX3g4Nl82NF9BdG9taWNTZXQoUFJJbgogICNkZWZpbmUgX01EX0FUT01JQ19TRVQgICAgICAgICAgICAgICAgX1BSX3g4Nl82NF9BdG9taWNTZXQKICAjZW5kaWYKICAKQEAgLTEwMCw2ICsxMDAsMyBAQAogICNpZiBkZWZpbmVkKF9fb3Ixa19fKQogICNpZiBkZWZpbmVkKF9fR05VQ19fKQogIC8qIFVzZSBHQ0MgYnVpbHQtaW4gZnVuY3Rpb25zICovCi0tLSAKLTIuNy4wLnJjMwotCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByLzAwMDMtQWRkLXR5cGUtZGVmaW5pdGlvbnMtZm9yLXRoZS1SSVNDLVYtYXJjaGl0ZWN0dXJlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2UxNDc1Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByLzAwMDMtQWRkLXR5cGUtZGVmaW5pdGlvbnMtZm9yLXRoZS1SSVNDLVYtYXJjaGl0ZWN0dXJlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTUwICswLDAgQEAKLSMgSEcgY2hhbmdlc2V0IHBhdGNoCi0jIFVzZXIgS2Fyc3RlbiBNZXJrZXIgPG1lcmtlckBkZWJpYW4ub3JnPgotIyBEYXRlIDE1MjM5NzQzMzMgLTcyMDAKLSMgTm9kZSBJRCBmNDc4NzFlMmFlYjE2YjM5ZDRmNTE2NjkwZTI1YzgxYjA0ZDZkMDVhCi0jIFBhcmVudCAgNzc2ZGI5NmY4MzRjYjg2ZTg4NjMwNTIyMDFkNTVmNjBhMmRhOTFjYgotQnVnIDEzMDg1ODQsIEFkZCB0eXBlIGRlZmluaXRpb25zIGZvciB0aGUgUklTQy1WIGFyY2hpdGVjdHVyZSwgcj1rYWllCi0KLVNpZ25lZC1vZmYtYnk6IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5jaXNAd2RjLmNvbT4KLVsgQ2hhbmdlcyBieSBBRjoKLSAtIFJlYmFzZSBvbiBvdGhlciBZb2N0byBwYXRjaGVzCi1dCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0IFsgaHR0cHM6Ly9oZy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9uc3ByL3Jldi9mNDc4NzFlMmFlYjEgXQotCi1kaWZmIC0tZ2l0IGEvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnIGIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCi0tLS0gYS9wci9pbmNsdWRlL21kL19saW51eC5jZmcKLSsrKyBiL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmNmZwotQEAgLTEwMTUsMTYgKzEwMTUsMTA4IEBACi0gI2RlZmluZSBQUl9BTElHTl9PRl9GTE9BVCAgIDQKLSAjZGVmaW5lIFBSX0FMSUdOX09GX0RPVUJMRSAgNAotICNkZWZpbmUgUFJfQUxJR05fT0ZfUE9JTlRFUiA0Ci0gI2RlZmluZSBQUl9BTElHTl9PRl9XT1JEICAgIDQKLSAKLSAjZGVmaW5lIFBSX0JZVEVTX1BFUl9XT1JEX0xPRzIgICAyCi0gI2RlZmluZSBQUl9CWVRFU19QRVJfRFdPUkRfTE9HMiAgMwotIAotKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSAzMikKLSsKLSsjdW5kZWYgIElTX0JJR19FTkRJQU4KLSsjZGVmaW5lIElTX0xJVFRMRV9FTkRJQU4gMQotKyN1bmRlZiAgSVNfNjQKLSsKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9CWVRFICAgMQotKyNkZWZpbmUgUFJfQllURVNfUEVSX1NIT1JUICAyCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfSU5UICAgIDQKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9JTlQ2NCAgOAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0xPTkcgICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfRkxPQVQgIDQKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9ET1VCTEUgOAotKyNkZWZpbmUgUFJfQllURVNfUEVSX1dPUkQgICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfRFdPUkQgIDgKLSsKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0JZVEUgICAgOAotKyNkZWZpbmUgUFJfQklUU19QRVJfU0hPUlQgICAxNgotKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UICAgICAzMgotKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UNjQgICA2NAotKyNkZWZpbmUgUFJfQklUU19QRVJfTE9ORyAgICAzMgotKyNkZWZpbmUgUFJfQklUU19QRVJfRkxPQVQgICAzMgotKyNkZWZpbmUgUFJfQklUU19QRVJfRE9VQkxFICA2NAotKyNkZWZpbmUgUFJfQklUU19QRVJfV09SRCAgICAzMgotKwotKyNkZWZpbmUgUFJfQklUU19QRVJfQllURV9MT0cyICAgMwotKyNkZWZpbmUgUFJfQklUU19QRVJfU0hPUlRfTE9HMiAgNAotKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UX0xPRzIgICAgNQotKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UNjRfTE9HMiAgNgotKyNkZWZpbmUgUFJfQklUU19QRVJfTE9OR19MT0cyICAgNQotKyNkZWZpbmUgUFJfQklUU19QRVJfRkxPQVRfTE9HMiAgNQotKyNkZWZpbmUgUFJfQklUU19QRVJfRE9VQkxFX0xPRzIgNgotKyNkZWZpbmUgUFJfQklUU19QRVJfV09SRF9MT0cyICAgNQotKwotKyNkZWZpbmUgUFJfQUxJR05fT0ZfU0hPUlQgICAyCi0rI2RlZmluZSBQUl9BTElHTl9PRl9JTlQgICAgIDQKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0xPTkcgICAgNAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfSU5UNjQgICA4Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9GTE9BVCAgIDQKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0RPVUJMRSAgOAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfUE9JTlRFUiA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9XT1JEICAgIDQKLSsKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9XT1JEX0xPRzIgIDIKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRF9MT0cyIDMKLSsKLSsjZWxpZiBkZWZpbmVkKF9fcmlzY3YpICYmIChfX3Jpc2N2X3hsZW4gPT0gNjQpCi0rCi0rI3VuZGVmICBJU19CSUdfRU5ESUFOCi0rI2RlZmluZSBJU19MSVRUTEVfRU5ESUFOIDEKLSsjZGVmaW5lIElTXzY0Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfQllURSAgIDEKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9TSE9SVCAgMgotKyNkZWZpbmUgUFJfQllURVNfUEVSX0lOVCAgICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfSU5UNjQgIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9MT05HICAgOAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0ZMT0FUICA0Ci0rI2RlZmluZSBQUl9CWVRFU19QRVJfRE9VQkxFIDgKLSsjZGVmaW5lIFBSX0JZVEVTX1BFUl9XT1JEICAgOAotKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEICA4Ci0rCi0rI2RlZmluZSBQUl9CSVRTX1BFUl9CWVRFICAgIDgKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUICAgMTYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVCAgICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0ICAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkcgICAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUICAgMzIKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRSAgNjQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkQgICAgNjQKLSsKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0JZVEVfTE9HMiAgIDMKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1NIT1JUX0xPRzIgIDQKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVF9MT0cyICAgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVDY0X0xPRzIgIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0xPTkdfTE9HMiAgIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUX0xPRzIgIDUKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX0RPVUJMRV9MT0cyIDYKLSsjZGVmaW5lIFBSX0JJVFNfUEVSX1dPUkRfTE9HMiAgIDYKLSsKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1NIT1JUICAgMgotKyNkZWZpbmUgUFJfQUxJR05fT0ZfSU5UICAgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9MT05HICAgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX0lOVDY0ICAgOAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfRkxPQVQgICA0Ci0rI2RlZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDgKLSsjZGVmaW5lIFBSX0FMSUdOX09GX1BPSU5URVIgOAotKyNkZWZpbmUgUFJfQUxJR05fT0ZfV09SRCAgICA4Ci0rCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfV09SRF9MT0cyICAzCi0rI2RlZmluZSBQUl9CWVRFU19QRVJfRFdPUkRfTE9HMiAzCi0rCi0gI2Vsc2UKLSAKLSAjZXJyb3IgIlVua25vd24gQ1BVIGFyY2hpdGVjdHVyZSIKLSAKLSAjZW5kaWYKLSAKLSAjaWZuZGVmIEhBVkVfTE9OR19MT05HCi0gI2RlZmluZQlIQVZFX0xPTkdfTE9ORwotZGlmZiAtLWdpdCBhL3ByL2luY2x1ZGUvbWQvX2xpbnV4LmggYi9wci9pbmNsdWRlL21kL19saW51eC5oCi0tLS0gYS9wci9pbmNsdWRlL21kL19saW51eC5oCi0rKysgYi9wci9pbmNsdWRlL21kL19saW51eC5oCi1AQCAtNTQsMTYgKzU0LDIwIEBACi0gI2VsaWYgZGVmaW5lZChfX2F2cjMyX18pCi0gI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJhdnIzMiIKLSAjZWxpZiBkZWZpbmVkKF9fbTMycl9fKQotICNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAibTMyciIKLSAjZWxpZiBkZWZpbmVkKF9fbmlvczJfXykKLSAjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgIm5pb3MyIgotICNlbGlmIGRlZmluZWQoX19vcjFrX18pCi0gI2RlZmluZSBfUFJfU0lfQVJDSElURUNUVVJFICJvcjFrIgotKyNlbGlmIGRlZmluZWQoX19yaXNjdikgJiYgKF9fcmlzY3ZfeGxlbiA9PSAzMikKLSsjZGVmaW5lIF9QUl9TSV9BUkNISVRFQ1RVUkUgInJpc2N2MzIiCi0rI2VsaWYgZGVmaW5lZChfX3Jpc2N2KSAmJiAoX19yaXNjdl94bGVuID09IDY0KQotKyNkZWZpbmUgX1BSX1NJX0FSQ0hJVEVDVFVSRSAicmlzY3Y2NCIKLSAjZWxzZQotICNlcnJvciAiVW5rbm93biBDUFUgYXJjaGl0ZWN0dXJlIgotICNlbmRpZgotICNkZWZpbmUgUFJfRExMX1NVRkZJWAkJIi5zbyIKLSAKLSAjZGVmaW5lIF9QUl9WTUJBU0UgICAgICAgICAgICAgIDB4MzAwMDAwMDAKLSAjZGVmaW5lIF9QUl9TVEFDS19WTUJBU0UJMHg1MDAwMDAwMAotICNkZWZpbmUgX01EX0RFRkFVTFRfU1RBQ0tfU0laRQk2NTUzNkwKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3ByL25zcHIvcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci9yZW1vdmUtcnBhdGgtZnJvbS10ZXN0cy5wYXRjaAppbmRleCBlY2M2ZDMxLi43YmE1OWVkIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci9yZW1vdmUtcnBhdGgtZnJvbS10ZXN0cy5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwci9yZW1vdmUtcnBhdGgtZnJvbS10ZXN0cy5wYXRjaApAQCAtMTUsNyArMTUsNyBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIG5zcHIub3JpZy9wci90ZXN0cy9NYWtlZmlsZS5pbgogKysrIG5zcHIvcHIvdGVzdHMvTWFrZWZpbGUuaW4KLUBAIC0zMTUsNyArMzE1LDcgQEAgaWZlcSAoJChPU19BUkNIKSwgU3VuT1MpCitAQCAtMzE2LDcgKzMxNiw3IEBAIGlmZXEgKCQoT1NfQVJDSCksIFN1bk9TKQogIGVuZGlmICMgU3VuT1MKICAKICBpZmVxICgsJChmaWx0ZXItb3V0IExpbnV4IEdOVSBHTlVfJSwkKE9TX0FSQ0gpKSkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByXzQuMTkuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjE5LmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MjYzZjY4Li4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByXzQuMTkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxOTUgKzAsMCBAQAotU1VNTUFSWSA9ICJOZXRzY2FwZSBQb3J0YWJsZSBSdW50aW1lIExpYnJhcnkiCi1IT01FUEFHRSA9ICAiaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9uc3ByLyIKLUxJQ0VOU0UgPSAiR1BMLTIuMCB8IE1QTC0yLjAgfCBMR1BMLTIuMSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2NvbmZpZ3VyZS5pbjtiZWdpbmxpbmU9MztlbmRsaW5lPTY7bWQ1PTkwYzJmZGVlMzhlNDVkNjMwMmFiY2ZlNDc1YzhiNWM1IFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLmluO2JlZ2lubGluZT00O2VuZGxpbmU9Mzg7bWQ1PWJlZGExZGJiOThhNTE1ZjU1N2QzZTU4ZWYwNmJjYTk5IgotU0VDVElPTiA9ICJsaWJzL25ldHdvcmsiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbnNwci9yZWxlYXNlcy92JHtQVn0vc3JjL25zcHItJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZS1ycGF0aC1mcm9tLXRlc3RzLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL2ZpeC1idWlsZC1vbi14ODZfNjQucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXNyY2Rpci1mcm9tLWNvbmZpZ3VyZS1pbi5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAyLUFkZC1uaW9zMi1zdXBwb3J0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtbWQtRml4LWJ1aWxkLXdpdGgtbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAzLUFkZC10eXBlLWRlZmluaXRpb25zLWZvci10aGUtUklTQy1WLWFyY2hpdGVjdHVyZS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDA0LUFkZC1BUkMtc3VwcG9ydC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9NYWtlZmlsZS5pbi1yZW1vdmUtX0JVSUxEX1NUUklORy1hbmQtX0JVSUxEX1RJTUUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbnNwci5wYy5pbiBcCi0iCi0KLUNBQ0hFRF9DT05GSUdVUkVWQVJTX2FwcGVuZF9saWJjLW11c2wgPSAiIENGTEFHUz0nJHtDRkxBR1N9IC1EX1BSX1BPTExfQVZBSUxBQkxFIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0hBVkVfT0ZGNjRfVCAtRF9QUl9JTkVUNiAtRF9QUl9IQVZFX0lORVRfTlRPUCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9IQVZFX0dFVEhPU1RCWU5BTUUyIC1EX1BSX0hBVkVfR0VUQUREUklORk8gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSU5FVDZfUFJPQkUgLUROT19ETE9QRU5fTlVMTCciCi0KLVVQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9uc3ByL3JlbGVhc2VzLyIKLVVQU1RSRUFNX0NIRUNLX1JFR0VYID0gInYoP1A8cHZlcj5cZCsoXC5cZCspKykvIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiZTFkMjcyODJhZDYyODZiNjlkNmI5ZmQwNzIwMWQzZGQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmVkOTU5MTdmYTIyNzc5MTBkMWQxY2YzNjAzMDYwN2RjY2MwYmE1MjJiYmEwOGUyYWYxM2MxMTNkY2Q4ZjcyOSIKLQotQ1ZFX1BST0RVQ1QgPSAibmV0c2NhcGVfcG9ydGFibGVfcnVudGltZSIKLQotUyA9ICIke1dPUktESVJ9L25zcHItJHtQVn0vbnNwciIKLQotUkRFUEVORFNfJHtQTn0tZGV2ICs9ICJwZXJsIgotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLVRFU1RTID0gIiBcCi0gICAgYWNjZXB0IFwKLSAgICBhY2NlcHRyZWFkIFwKLSAgICBhY2NlcHRyZWFkZW11IFwKLSAgICBhZmZpbml0eSBcCi0gICAgYWxhcm0gXAotICAgIGFub25mbSBcCi0gICAgYXRvbWljIFwKLSAgICBhdHRhY2ggXAotICAgIGJpZ2ZpbGUgXAotICAgIGNsZWFudXAgXAotICAgIGNsdHNydiAgXAotICAgIGNvbmN1ciBcCi0gICAgY3ZhciBcCi0gICAgY3ZhcjIgXAotICAgIGRsbHRlc3QgXAotICAgIGR0b2EgXAotICAgIGVycmNvZGVzIFwKLSAgICBleGl0IFwKLSAgICBmZGNhY2ggXAotICAgIGZpbGVpbyBcCi0gICAgZm9yZWlnbiBcCi0gICAgZm9ybWF0dG0gXAotICAgIGZzeW5jIFwKLSAgICBnZXRob3N0IFwKLSAgICBnZXRwcm90byBcCi0gICAgaTJsIFwKLSAgICBpbml0Y2xrIFwKLSAgICBpbnJ2YWwgXAotICAgIGluc3RydW10IFwKLSAgICBpbnRyaW8gXAotICAgIGludHJ1cHQgXAotICAgIGlvX3RpbWVvdXQgXAotICAgIGlvY29udGhyIFwKLSAgICBqb2luIFwKLSAgICBqb2lua2sgXAotICAgIGpvaW5rdSBcCi0gICAgam9pbnVrIFwKLSAgICBqb2ludXUgXAotICAgIGxheWVyIFwKLSAgICBsYXp5aW5pdCBcCi0gICAgbGliZmlsZW5hbWUgXAotICAgIGxsdGVzdCBcCi0gICAgbG9jayBcCi0gICAgbG9ja2ZpbGUgXAotICAgIGxvZ2ZpbGUgXAotICAgIGxvZ2dlciBcCi0gICAgbWFueV9jdiBcCi0gICAgbXVsdGl3YWl0IFwKLSAgICBuYW1lc2htMSBcCi0gICAgbmJsYXllciBcCi0gICAgbm9uYmxvY2sgXAotICAgIG50aW90byBcCi0gICAgbnRvaCBcCi0gICAgb3BfMmxvbmcgXAotICAgIG9wX2V4Y2wgXAotICAgIG9wX2ZpbG5mIFwKLSAgICBvcF9maWxvayBcCi0gICAgb3Bfbm9maWwgXAotICAgIHBhcmVudCBcCi0gICAgcGFyc2V0bSBcCi0gICAgcGVlayBcCi0gICAgcGVyZiBcCi0gICAgcGlwZXBpbmcgXAotICAgIHBpcGVwaW5nMiBcCi0gICAgcGlwZXNlbGYgXAotICAgIHBvbGxfbm0gXAotICAgIHBvbGxfdG8gXAotICAgIHBvbGxhYmxlIFwKLSAgICBwcmZ0ZXN0IFwKLSAgICBwcmltYmxvayBcCi0gICAgcHJvdmlkZXIgXAotICAgIHBycG9sbG1sIFwKLSAgICByYW5maWxlIFwKLSAgICByYW5kc2VlZCBcCi0gICAgcmVpbml0IFwKLSAgICByd2xvY2t0ZXN0IFwKLSAgICBzZWxfc3BkIFwKLSAgICBzZWxjdF9lciBcCi0gICAgc2VsY3Rfbm0gXAotICAgIHNlbGN0X3RvIFwKLSAgICBzZWxpbnRyIFwKLSAgICBzZW1hIFwKLSAgICBzZW1hZXJyIFwKLSAgICBzZW1hcGluZyBcCi0gICAgc2VuZHpsZiBcCi0gICAgc2VydmVyX3Rlc3QgXAotICAgIHNlcnZyX2trIFwKLSAgICBzZXJ2cl91ayBcCi0gICAgc2VydnJfa3UgXAotICAgIHNlcnZyX3V1IFwKLSAgICBzaG9ydF90aHJlYWQgXAotICAgIHNpZ3BpcGUgXAotICAgIHNvY2tldCBcCi0gICAgc29ja29wdCBcCi0gICAgc29ja3BpbmcgXAotICAgIHNwcmludGYgXAotICAgIHN0YWNrIFwKLSAgICBzdGRpbyBcCi0gICAgc3RyMmFkZHIgXAotICAgIHN0cm9kIFwKLSAgICBzd2l0Y2ggXAotICAgIHN5c3RlbSBcCi0gICAgdGVzdGJpdCBcCi0gICAgdGVzdGZpbGUgXAotICAgIHRocmVhZHMgXAotICAgIHRpbWVtYWMgXAotICAgIHRpbWV0ZXN0IFwKLSAgICB0cGQgXAotICAgIHVkcHNydiBcCi0gICAgdmVyY2hlY2sgXAotICAgIHZlcnNpb24gXAotICAgIHdyaXRldiBcCi0gICAgeG5vdGlmeSBcCi0gICAgemVyb2xlbiIKLQotaW5oZXJpdCBhdXRvdG9vbHMgbXVsdGlsaWJfc2NyaXB0Ci0KLU1VTFRJTElCX1NDUklQVFMgPSAiJHtQTn0tZGV2OiR7YmluZGlyfS9uc3ByLWNvbmZpZyIKLQotUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmZpbHRlcignRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCBkKX0iCi1QQUNLQUdFQ09ORklHW2lwdjZdID0gIi0tZW5hYmxlLWlwdjYsLS1kaXNhYmxlLWlwdjYsIgotCi1kb19jb21waWxlX3ByZXBlbmQoKSB7Ci0Jb2VfcnVubWFrZSBDUk9TU19DT01QSUxFPTEgQ0ZMQUdTPSItRFhQX1VOSVggJHtCVUlMRF9DRkxBR1N9IiBMREZMQUdTPSIiIENDPSIke0JVSUxEX0NDfSIgLUMgY29uZmlnIGV4cG9ydAotfQotCi1kb19jb21waWxlX2FwcGVuZCgpIHsKLQlvZV9ydW5tYWtlIC1DIHByL3Rlc3RzCi19Ci0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgIGluc3RhbGwgLUQgJHtXT1JLRElSfS9uc3ByLnBjLmluICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcHIucGMKLSAgICBzZWQgLWkgIFwKLSAgICAtZSAnczpOU1BSVkVSU0lPTjoke1BWfTpnJyBcCi0gICAgLWUgJ3M6T0VQUkVGSVg6JHtwcmVmaXh9OmcnIFwKLSAgICAtZSAnczpPRUxJQkRJUjoke2xpYmRpcn06ZycgXAotICAgIC1lICdzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn06ZycgXAotICAgIC1lICdzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnJyBcCi0gICAgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNwci5wYwotCi0gICAgbWtkaXIgLXAgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMucGwgJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCi0gICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vcHIvdGVzdHMvcnVudGVzdHMuc2ggJHtEfSR7bGliZGlyfS9uc3ByL3Rlc3RzCi0gICAgY2QgJHtCfS9wci90ZXN0cwotICAgIGluc3RhbGwgLW0gMDc1NSAke1RFU1RTfSAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKLQotICAgICMgZGVsZXRlIGNvbXBpbGUtZXQucGwgYW5kIHBlcnIucHJvcGVydGllcyBmcm9tICR7YmluZGlyfSBiZWNhdXNlIHRoZXNlIGFyZQotICAgICMgb25seSB1c2VkIHRvIGdlbmVyYXRlIHByZXJyLmMgYW5kIHByZXJyLmggZmlsZXMgZnJvbSBwcmVyci5ldCBhdCBjb21waWxlCi0gICAgIyB0aW1lCi0gICAgcm0gJHtEfSR7YmluZGlyfS9jb21waWxlLWV0LnBsICR7RH0ke2JpbmRpcn0vcHJlcnIucHJvcGVydGllcwotfQotCi1GSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGliKi5zbyIKLUZJTEVTXyR7UE59LWRldiA9ICIke2JpbmRpcn0vKiAke2xpYmRpcn0vbnNwci90ZXN0cy8qICR7bGliZGlyfS9wa2djb25maWcgXAotICAgICAgICAgICAgICAgICR7aW5jbHVkZWRpcn0vKiAke2RhdGFkaXJ9L2FjbG9jYWwvKiAiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNwci9uc3ByXzQuMjEuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjIxLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NTYzZTUKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcHIvbnNwcl80LjIxLmJiCkBAIC0wLDAgKzEsMTk0IEBACitTVU1NQVJZID0gIk5ldHNjYXBlIFBvcnRhYmxlIFJ1bnRpbWUgTGlicmFyeSIKK0hPTUVQQUdFID0gICJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3RzL25zcHIvIgorTElDRU5TRSA9ICJHUEwtMi4wIHwgTVBMLTIuMCB8IExHUEwtMi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vY29uZmlndXJlLmluO2JlZ2lubGluZT0zO2VuZGxpbmU9NjttZDU9OTBjMmZkZWUzOGU0NWQ2MzAyYWJjZmU0NzVjOGI1YzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUuaW47YmVnaW5saW5lPTQ7ZW5kbGluZT0zODttZDU9YmVkYTFkYmI5OGE1MTVmNTU3ZDNlNThlZjA2YmNhOTkiCitTRUNUSU9OID0gImxpYnMvbmV0d29yayIKKworU1JDX1VSSSA9ICJodHRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9uc3ByL3JlbGVhc2VzL3Yke1BWfS9zcmMvbnNwci0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vcmVtb3ZlLXJwYXRoLWZyb20tdGVzdHMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZml4LWJ1aWxkLW9uLXg4Nl82NC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9yZW1vdmUtc3JjZGlyLWZyb20tY29uZmlndXJlLWluLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLW5pb3MyLXN1cHBvcnQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tZC1GaXgtYnVpbGQtd2l0aC1tdXNsLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtQWRkLUFSQy1zdXBwb3J0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL01ha2VmaWxlLmluLXJlbW92ZS1fQlVJTERfU1RSSU5HLWFuZC1fQlVJTERfVElNRS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uc3ByLnBjLmluIFwKKyIKKworQ0FDSEVEX0NPTkZJR1VSRVZBUlNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgQ0ZMQUdTPScke0NGTEFHU30gLURfUFJfUE9MTF9BVkFJTEFCTEUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLURfUFJfSEFWRV9PRkY2NF9UIC1EX1BSX0lORVQ2IC1EX1BSX0hBVkVfSU5FVF9OVE9QIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1EX1BSX0hBVkVfR0VUSE9TVEJZTkFNRTIgLURfUFJfSEFWRV9HRVRBRERSSU5GTyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtRF9QUl9JTkVUNl9QUk9CRSAtRE5PX0RMT1BFTl9OVUxMJyIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL25zcHIvcmVsZWFzZXMvIgorVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAidig/UDxwdmVyPlxkKyhcLlxkKykrKS8iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiODY1NTg2ZjE5OTEyYTUwYWNjMzc1NWQ4YTQ1ZGJhYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIxNWVhMzJjN2IxMDAyMTdiNmUzMTkzYmMwM2U3N2Y0ODVkOWJmNzUwNDA1MTQ0M2JhOWNlODZkMWMxN2M2YjVhIgorCitDVkVfUFJPRFVDVCA9ICJuZXRzY2FwZV9wb3J0YWJsZV9ydW50aW1lIgorCitTID0gIiR7V09SS0RJUn0vbnNwci0ke1BWfS9uc3ByIgorCitSREVQRU5EU18ke1BOfS1kZXYgKz0gInBlcmwiCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworVEVTVFMgPSAiIFwKKyAgICBhY2NlcHQgXAorICAgIGFjY2VwdHJlYWQgXAorICAgIGFjY2VwdHJlYWRlbXUgXAorICAgIGFmZmluaXR5IFwKKyAgICBhbGFybSBcCisgICAgYW5vbmZtIFwKKyAgICBhdG9taWMgXAorICAgIGF0dGFjaCBcCisgICAgYmlnZmlsZSBcCisgICAgY2xlYW51cCBcCisgICAgY2x0c3J2ICBcCisgICAgY29uY3VyIFwKKyAgICBjdmFyIFwKKyAgICBjdmFyMiBcCisgICAgZGxsdGVzdCBcCisgICAgZHRvYSBcCisgICAgZXJyY29kZXMgXAorICAgIGV4aXQgXAorICAgIGZkY2FjaCBcCisgICAgZmlsZWlvIFwKKyAgICBmb3JlaWduIFwKKyAgICBmb3JtYXR0bSBcCisgICAgZnN5bmMgXAorICAgIGdldGhvc3QgXAorICAgIGdldHByb3RvIFwKKyAgICBpMmwgXAorICAgIGluaXRjbGsgXAorICAgIGlucnZhbCBcCisgICAgaW5zdHJ1bXQgXAorICAgIGludHJpbyBcCisgICAgaW50cnVwdCBcCisgICAgaW9fdGltZW91dCBcCisgICAgaW9jb250aHIgXAorICAgIGpvaW4gXAorICAgIGpvaW5rayBcCisgICAgam9pbmt1IFwKKyAgICBqb2ludWsgXAorICAgIGpvaW51dSBcCisgICAgbGF5ZXIgXAorICAgIGxhenlpbml0IFwKKyAgICBsaWJmaWxlbmFtZSBcCisgICAgbGx0ZXN0IFwKKyAgICBsb2NrIFwKKyAgICBsb2NrZmlsZSBcCisgICAgbG9nZmlsZSBcCisgICAgbG9nZ2VyIFwKKyAgICBtYW55X2N2IFwKKyAgICBtdWx0aXdhaXQgXAorICAgIG5hbWVzaG0xIFwKKyAgICBuYmxheWVyIFwKKyAgICBub25ibG9jayBcCisgICAgbnRpb3RvIFwKKyAgICBudG9oIFwKKyAgICBvcF8ybG9uZyBcCisgICAgb3BfZXhjbCBcCisgICAgb3BfZmlsbmYgXAorICAgIG9wX2ZpbG9rIFwKKyAgICBvcF9ub2ZpbCBcCisgICAgcGFyZW50IFwKKyAgICBwYXJzZXRtIFwKKyAgICBwZWVrIFwKKyAgICBwZXJmIFwKKyAgICBwaXBlcGluZyBcCisgICAgcGlwZXBpbmcyIFwKKyAgICBwaXBlc2VsZiBcCisgICAgcG9sbF9ubSBcCisgICAgcG9sbF90byBcCisgICAgcG9sbGFibGUgXAorICAgIHByZnRlc3QgXAorICAgIHByaW1ibG9rIFwKKyAgICBwcm92aWRlciBcCisgICAgcHJwb2xsbWwgXAorICAgIHJhbmZpbGUgXAorICAgIHJhbmRzZWVkIFwKKyAgICByZWluaXQgXAorICAgIHJ3bG9ja3Rlc3QgXAorICAgIHNlbF9zcGQgXAorICAgIHNlbGN0X2VyIFwKKyAgICBzZWxjdF9ubSBcCisgICAgc2VsY3RfdG8gXAorICAgIHNlbGludHIgXAorICAgIHNlbWEgXAorICAgIHNlbWFlcnIgXAorICAgIHNlbWFwaW5nIFwKKyAgICBzZW5kemxmIFwKKyAgICBzZXJ2ZXJfdGVzdCBcCisgICAgc2VydnJfa2sgXAorICAgIHNlcnZyX3VrIFwKKyAgICBzZXJ2cl9rdSBcCisgICAgc2VydnJfdXUgXAorICAgIHNob3J0X3RocmVhZCBcCisgICAgc2lncGlwZSBcCisgICAgc29ja2V0IFwKKyAgICBzb2Nrb3B0IFwKKyAgICBzb2NrcGluZyBcCisgICAgc3ByaW50ZiBcCisgICAgc3RhY2sgXAorICAgIHN0ZGlvIFwKKyAgICBzdHIyYWRkciBcCisgICAgc3Ryb2QgXAorICAgIHN3aXRjaCBcCisgICAgc3lzdGVtIFwKKyAgICB0ZXN0Yml0IFwKKyAgICB0ZXN0ZmlsZSBcCisgICAgdGhyZWFkcyBcCisgICAgdGltZW1hYyBcCisgICAgdGltZXRlc3QgXAorICAgIHRwZCBcCisgICAgdWRwc3J2IFwKKyAgICB2ZXJjaGVjayBcCisgICAgdmVyc2lvbiBcCisgICAgd3JpdGV2IFwKKyAgICB4bm90aWZ5IFwKKyAgICB6ZXJvbGVuIgorCitpbmhlcml0IGF1dG90b29scyBtdWx0aWxpYl9zY3JpcHQKKworTVVMVElMSUJfU0NSSVBUUyA9ICIke1BOfS1kZXY6JHtiaW5kaXJ9L25zcHItY29uZmlnIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsIGQpfSIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCisKK2RvX2NvbXBpbGVfcHJlcGVuZCgpIHsKKwlvZV9ydW5tYWtlIENST1NTX0NPTVBJTEU9MSBDRkxBR1M9Ii1EWFBfVU5JWCAke0JVSUxEX0NGTEFHU30iIExERkxBR1M9IiIgQ0M9IiR7QlVJTERfQ0N9IiAtQyBjb25maWcgZXhwb3J0Cit9CisKK2RvX2NvbXBpbGVfYXBwZW5kKCkgeworCW9lX3J1bm1ha2UgLUMgcHIvdGVzdHMKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtRCAke1dPUktESVJ9L25zcHIucGMuaW4gJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNwci5wYworICAgIHNlZCAtaSAgXAorICAgIC1lICdzOk5TUFJWRVJTSU9OOiR7UFZ9OmcnIFwKKyAgICAtZSAnczpPRVBSRUZJWDoke3ByZWZpeH06ZycgXAorICAgIC1lICdzOk9FTElCRElSOiR7bGliZGlyfTpnJyBcCisgICAgLWUgJ3M6T0VJTkNESVI6JHtpbmNsdWRlZGlyfTpnJyBcCisgICAgLWUgJ3M6T0VFWEVDUFJFRklYOiR7ZXhlY19wcmVmaXh9OmcnIFwKKyAgICAke0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy9uc3ByLnBjCisKKyAgICBta2RpciAtcCAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9wci90ZXN0cy9ydW50ZXN0cy5wbCAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtTfS9wci90ZXN0cy9ydW50ZXN0cy5zaCAke0R9JHtsaWJkaXJ9L25zcHIvdGVzdHMKKyAgICBjZCAke0J9L3ByL3Rlc3RzCisgICAgaW5zdGFsbCAtbSAwNzU1ICR7VEVTVFN9ICR7RH0ke2xpYmRpcn0vbnNwci90ZXN0cworCisgICAgIyBkZWxldGUgY29tcGlsZS1ldC5wbCBhbmQgcGVyci5wcm9wZXJ0aWVzIGZyb20gJHtiaW5kaXJ9IGJlY2F1c2UgdGhlc2UgYXJlCisgICAgIyBvbmx5IHVzZWQgdG8gZ2VuZXJhdGUgcHJlcnIuYyBhbmQgcHJlcnIuaCBmaWxlcyBmcm9tIHByZXJyLmV0IGF0IGNvbXBpbGUKKyAgICAjIHRpbWUKKyAgICBybSAke0R9JHtiaW5kaXJ9L2NvbXBpbGUtZXQucGwgJHtEfSR7YmluZGlyfS9wcmVyci5wcm9wZXJ0aWVzCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWIqLnNvIgorRklMRVNfJHtQTn0tZGV2ID0gIiR7YmluZGlyfS8qICR7bGliZGlyfS9uc3ByL3Rlc3RzLyogJHtsaWJkaXJ9L3BrZ2NvbmZpZyBcCisgICAgICAgICAgICAgICAgJHtpbmNsdWRlZGlyfS8qICR7ZGF0YWRpcn0vYWNsb2NhbC8qICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3MvbnNzLWZpeC1TSEFfSFRPTkwtYnVnLWZvci1hcm0tMzJiZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIxYzZlMy4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L25zcy9uc3MvbnNzLWZpeC1TSEFfSFRPTkwtYnVnLWZvci1hcm0tMzJiZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IFNIQV9IVE9OTCBidWcgZm9yIGFybSAzMmJlLgotCi1JbiBhcm0gMzJiZSwgdGhlcmUgaXMgbm8gbmVlZCB0byByZXZlcnNlIHRoZSBob3N0IHZhbHVlLgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogWmhlbmcgUnVvcWluIDx6aGVuZ3JxLmZuc3RAY24uZnVqaXRzdS5jb20+Ci0tLS0KLSBsaWIvZnJlZWJsL3NoYV9mYXN0LmggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbnNzL2xpYi9mcmVlYmwvc2hhX2Zhc3QuaCBiL25zcy9saWIvZnJlZWJsL3NoYV9mYXN0LmgKLWluZGV4IDRmMzdkMTMuLjgwNzJlZGEgMTAwNjQ0Ci0tLS0gYS9uc3MvbGliL2ZyZWVibC9zaGFfZmFzdC5oCi0rKysgYi9uc3MvbGliL2ZyZWVibC9zaGFfZmFzdC5oCi1AQCAtOTksNiArOTksNyBAQCBzd2FwNGIoUFJVaW50MzIgdmFsdWUpCi0gICAgICAgZGVmaW5lZChfX0FSTV9BUkNIXzdfXykgfHwgICBcCi0gICAgICAgZGVmaW5lZChfX0FSTV9BUkNIXzdBX18pIHx8ICBcCi0gICAgICAgZGVmaW5lZChfX0FSTV9BUkNIXzdSX18pKSkKLSsjaWYgZGVmaW5lZChJU19MSVRUTEVfRU5ESUFOKSAgCi0gc3RhdGljIF9faW5saW5lX18gUFJVaW50MzIKLSBzd2FwNGIoUFJVaW50MzIgdmFsdWUpCi0gewotQEAgLTEwOSw2ICsxMTAsNyBAQCBzd2FwNGIoUFJVaW50MzIgdmFsdWUpCi0gICAgIHJldHVybiByZXQ7Ci0gfQotICNkZWZpbmUgU0hBX0hUT05MKHgpIHN3YXA0Yih4KQotKyNlbmRpZgotIAotICNlbmRpZiAvKiB4ODYgZmFtaWx5ICovCi0gCi0tLSAKLTIuNy40Ci0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjM5LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzXzMuMzkuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNhOGU1ZDQuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzXzMuMzkuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwyNjUgKzAsMCBAQAotU1VNTUFSWSA9ICJNb3ppbGxhJ3MgU1NMIGFuZCBUTFMgaW1wbGVtZW50YXRpb24iCi1ERVNDUklQVElPTiA9ICJOZXR3b3JrIFNlY3VyaXR5IFNlcnZpY2VzIChOU1MpIGlzIGEgc2V0IG9mIGxpYnJhcmllcyBcCi1kZXNpZ25lZCB0byBzdXBwb3J0IGNyb3NzLXBsYXRmb3JtIGRldmVsb3BtZW50IG9mIFwKLXNlY3VyaXR5LWVuYWJsZWQgY2xpZW50IGFuZCBzZXJ2ZXIgYXBwbGljYXRpb25zLiBcCi1BcHBsaWNhdGlvbnMgYnVpbHQgd2l0aCBOU1MgY2FuIHN1cHBvcnQgU1NMIHYyIGFuZCB2MywgXAotVExTLCBQS0NTIDUsIFBLQ1MgNywgUEtDUyAxMSwgUEtDUyAxMiwgUy9NSU1FLCBYLjUwOSBcCi12MyBjZXJ0aWZpY2F0ZXMsIGFuZCBvdGhlciBzZWN1cml0eSBzdGFuZGFyZHMuIgotSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9zZWN1cml0eS9wa2kvbnNzLyIKLVNFQ1RJT04gPSAibGlicyIKLQotTElDRU5TRSA9ICJNUEwtMi4wIHwgKE1QTC0yLjAgJiBHUEwtMi4wKykgfCAoTVBMLTIuMCAmIExHUEwtMi4xKykiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL25zcy9DT1BZSU5HO21kNT0zYjFlODhlMWI5YzBiNWE0YjI4ODFkNDZjY2UwNmExOCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9uc3MvbGliL2ZyZWVibC9tcGkvZG9jL0xJQ0VOU0U7bWQ1PTQ5MWYxNThkMDlkOTQ4NDY2YWZjZTg1ZDZmMWZlMThmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL25zcy9saWIvZnJlZWJsL21waS9kb2MvTElDRU5TRS1NUEw7bWQ1PTVkNDI1YzhmMzE1N2RiZjIxMmRiMmVjNTNkOWU1MTMyIgotCi1WRVJTSU9OX0RJUiA9ICIke0BkLmdldFZhcignQlAnKS51cHBlcigpLnJlcGxhY2UoJy0nLCAnXycpLnJlcGxhY2UoJy4nLCAnXycpICsgJ19SVE0nfSIKLQotU1JDX1VSSSA9ICJodHRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9tb3ppbGxhLm9yZy9zZWN1cml0eS9uc3MvcmVsZWFzZXMvJHtWRVJTSU9OX0RJUn0vc3JjLyR7QlB9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MucGMuaW4gXAotICAgICAgICAgICBmaWxlOi8vc2lnbmxpYnMuc2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1uc3MtZml4LXN1cHBvcnQtY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25zcy1uby1ycGF0aC1mb3ItY3Jvc3MtY29tcGlsaW5nLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL25zcy1maXgtaW5jb3JyZWN0LXNoZWJhbmctb2YtcGVybC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LW5zaW5zdGFsbC1idWlsZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlLVd2YXJhcmdzLXdpdGgtY2xhbmcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcHFnLmMtVUxMX2FkZGVuZC5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9ibGFuay1jZXJ0OS5kYiBcCi0gICAgICAgICAgIGZpbGU6Ly9ibGFuay1rZXk0LmRiIFwKLSAgICAgICAgICAgZmlsZTovL3N5c3RlbS1wa2NzMTEudHh0IFwKLSAgICAgICAgICAgZmlsZTovL25zcy1maXgtU0hBX0hUT05MLWJ1Zy1mb3ItYXJtLTMyYmUucGF0Y2ggXAotICAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICIxMDcyMGZjNzBmZDQ4M2RlMWIwODU0MDJmYjEwZWQ1OSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2YmU2NGRkNzZmMjEyNDE1Y2M4YmMzNDM0M2FjMWU3Mzg5MDQ4ZGI0ZGI5YTAyM2E4NDg3M2M0MTFkYzU4NjRiIgotCi1VUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9Nb3ppbGxhL1Byb2plY3RzL05TUy9OU1NfUmVsZWFzZXMiCi1VUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJOU1NfKD9QPHB2ZXI+LispX3JlbGVhc2Vfbm90ZXMiCi0KLWluaGVyaXQgc2l0ZWluZm8KLQotREVQRU5EUyA9ICJzcWxpdGUzIG5zcHIgemxpYiBuc3MtbmF0aXZlIgotREVQRU5EU19jbGFzcy1uYXRpdmUgPSAic3FsaXRlMy1uYXRpdmUgbnNwci1uYXRpdmUgemxpYi1uYXRpdmUiCi1SREVQRU5EU18ke1BOfS1zbWltZSA9ICJwZXJsIgotCi1URCA9ICIke1N9L3RlbnRhdGl2ZS1kaXN0IgotVERTID0gIiR7U30vdGVudGF0aXZlLWRpc3Qtc3RhZ2luZyIKLQotVEFSR0VUX0NDX0FSQ0ggKz0gIiR7TERGTEFHU30iCi0KLWRvX2NvbmZpZ3VyZV9wcmVwZW5kX2xpYmMtbXVzbCAoKSB7Ci0gICAgc2VkIC1pIC1lICcvLURIQVZFX1NZU19DREVGU19IL2QnICR7U30vbnNzL2xpYi9kYm0vY29uZmlnL2NvbmZpZy5tawotfQotCi1kb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgIGV4cG9ydCBOU1BSX0lOQ0xVREVfRElSPSR7U1RBR0lOR19JTkNESVJfTkFUSVZFfQotICAgIGV4cG9ydCBOU1BSX0xJQl9ESVI9JHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9Ci0gICAgZXhwb3J0IE5TU19FTkFCTEVfV0VSUk9SPTAKLX0KLQotZG9fY29tcGlsZV9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKLSAgICBleHBvcnQgTERGTEFHUz0iIgotfQotCi1kb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlKCkgewotICAgICMgTmVlZCB0byBzZXQgUlBBVEggc28gdGhhdCBjaHJwYXRoIHdpbGwgZG8gaXRzIGpvYiBjb3JyZWN0bHkKLSAgICBSUEFUSD0iLVdsLC1ycGF0aC1saW5rLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0JBU0VfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfTElCRElSX05BVElWRX0gLVdsLC1ycGF0aCwke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSIKLX0KLQotZG9fY29tcGlsZSgpIHsKLSAgICBleHBvcnQgQ1JPU1NfQ09NUElMRT0xCi0gICAgZXhwb3J0IE5BVElWRV9DQz0iJHtCVUlMRF9DQ30iCi0gICAgZXhwb3J0IE5BVElWRV9GTEFHUz0iJHtCVUlMRF9DRkxBR1N9IgotICAgIGV4cG9ydCBCVUlMRF9PUFQ9MQotCi0gICAgZXhwb3J0IEZSRUVCTF9OT19ERVBFTkQ9MQotICAgIGV4cG9ydCBGUkVFQkxfTE9XSEFTSD0xCi0KLSAgICBleHBvcnQgTElCRElSPSR7bGliZGlyfQotICAgIGV4cG9ydCBNT1pJTExBX0NMSUVOVD0xCi0gICAgZXhwb3J0IE5TX1VTRV9HQ0M9MQotICAgIGV4cG9ydCBOU1NfVVNFX1NZU1RFTV9TUUxJVEU9MQotICAgIGV4cG9ydCBOU1NfRU5BQkxFX0VDQz0xCi0KLSAgICBleHBvcnQgT1NfUkVMRUFTRT0zLjQKLSAgICBleHBvcnQgT1NfVEFSR0VUPUxpbnV4Ci0gICAgZXhwb3J0IE9TX0FSQ0g9TGludXgKLQotICAgIGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjIiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYzY0IiBdOyB0aGVuCi0gICAgICAgIE9TX1RFU1Q9cHBjNjQKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHNlbCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjQiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0ZWwiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD1taXBzCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAiYWFyY2g2NF9iZSIgXTsgdGhlbgotICAgICAgICBPU19URVNUPSJhYXJjaDY0IgotICAgIGVsc2UKLSAgICAgICAgT1NfVEVTVD0iJHtUQVJHRVRfQVJDSH0iCi0gICAgZmkKLQotICAgIGlmIFsgIiR7U0lURUlORk9fQklUU30iID0gIjY0IiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfNjQ9MQotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIng4Nl82NCIgLWEgIiR7U0lURUlORk9fQklUU30iID0gIjMyIiBdOyB0aGVuCi0gICAgICAgIGV4cG9ydCBVU0VfWDMyPTEKLSAgICBmaQotCi0gICAgZXhwb3J0IE5TU19ESVNBQkxFX0dURVNUUz0xCi0KLSAgICAjIFdlIGNhbiBtb2RpZnkgQ0MgaW4gdGhlIGVudmlyb25tZW50LCBidXQgaWYgd2Ugc2V0IGl0IHZpYSBhbgotICAgICMgYXJndW1lbnQgdG8gbWFrZSwgbnNpbnN0YWxsLCBhIGhvc3QgcHJvZ3JhbSwgd2lsbCBhbHNvIGJ1aWxkIHdpdGggaXQhCi0gICAgIwotICAgICMgbnNzIHByZXR0eSBtdWNoIGRvZXMgaXRzIG93biB0aGluZyB3aXRoIENGTEFHUywgc28gd2UgcHV0IHRoZW0gaW50byBDQy4KLSAgICAjIE9wdGltaXphdGlvbiB3aWxsIGdldCBjbG9iYmVyZWQsIGJ1dCBtb3N0IG9mIHRoZSBzdHVmZiB3aWxsIHN1cnZpdmUuCi0gICAgIyBUaGUgbW90aXZhdGlvbiBmb3IgdGhpcyBpcyB0byBwb2ludCB0byB0aGUgY29ycmVjdCBwbGFjZSBmb3IgZGVidWcKLSAgICAjIHNvdXJjZSBmaWxlcyBhbmQgQ0ZMQUdTIGRvZXMgdGhhdC4gIE5vdGhpbmcgdXNlcyBDQ0MuCi0gICAgIwotICAgIGV4cG9ydCBDQz0iJHtDQ30gJHtDRkxBR1N9IgotICAgIG1ha2UgLUMgLi9uc3MgQ0NDPSIke0NYWH0gLWciIFwKLSAgICAgICAgT1NfVEVTVD0ke09TX1RFU1R9IFwKLSAgICAgICAgUlBBVEg9IiR7UlBBVEh9IgotfQotZG9fY29tcGlsZVt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCi0KLQotZG9faW5zdGFsbF9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkaygpIHsKLSAgICBleHBvcnQgTERGTEFHUz0iIgotfQotCi1kb19pbnN0YWxsKCkgewotICAgIGV4cG9ydCBDUk9TU19DT01QSUxFPTEKLSAgICBleHBvcnQgTkFUSVZFX0NDPSIke0JVSUxEX0NDfSIKLSAgICBleHBvcnQgQlVJTERfT1BUPTEKLQotICAgIGV4cG9ydCBGUkVFQkxfTk9fREVQRU5EPTEKLQotICAgIGV4cG9ydCBMSUJESVI9JHtsaWJkaXJ9Ci0gICAgZXhwb3J0IE1PWklMTEFfQ0xJRU5UPTEKLSAgICBleHBvcnQgTlNfVVNFX0dDQz0xCi0gICAgZXhwb3J0IE5TU19VU0VfU1lTVEVNX1NRTElURT0xCi0gICAgZXhwb3J0IE5TU19FTkFCTEVfRUNDPTEKLQotICAgIGV4cG9ydCBPU19SRUxFQVNFPTMuNAotICAgIGV4cG9ydCBPU19UQVJHRVQ9TGludXgKLSAgICBleHBvcnQgT1NfQVJDSD1MaW51eAotCi0gICAgaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD1wcGMKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjNjQiIF07IHRoZW4KLSAgICAgICAgT1NfVEVTVD1wcGM2NAotICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHMiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwc2VsIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjRlbCIgXTsgdGhlbgotICAgICAgICBPU19URVNUPW1pcHMKLSAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJhYXJjaDY0X2JlIiBdOyB0aGVuCi0gICAgICAgIENQVV9BUkNIPWFhcmNoNjQKLSAgICAgICAgT1NfVEVTVD0iYWFyY2g2NCIKLSAgICBlbHNlCi0gICAgICAgIE9TX1RFU1Q9IiR7VEFSR0VUX0FSQ0h9IgotICAgIGZpCi0gICAgaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07IHRoZW4KLSAgICAgICAgZXhwb3J0IFVTRV82ND0xCi0gICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiAtYSAiJHtTSVRFSU5GT19CSVRTfSIgPSAiMzIiIF07IHRoZW4KLSAgICAgICAgZXhwb3J0IFVTRV9YMzI9MQotICAgIGZpCi0KLSAgICBleHBvcnQgTlNTX0RJU0FCTEVfR1RFU1RTPTEKLQotICAgIG1ha2UgLUMgLi9uc3MgXAotICAgICAgICBDQ0M9IiR7Q1hYfSIgXAotICAgICAgICBPU19URVNUPSR7T1NfVEVTVH0gXAotICAgICAgICBTT1VSQ0VfTElCX0RJUj0iJHtURH0vJHtsaWJkaXJ9IiBcCi0gICAgICAgIFNPVVJDRV9CSU5fRElSPSIke1REfS8ke2JpbmRpcn0iIFwKLSAgICAgICAgaW5zdGFsbAotCi0gICAgaW5zdGFsbCAtZCAke0R9LyR7bGliZGlyfS8KLSAgICBmb3IgZmlsZSBpbiAke1N9L2Rpc3QvKi5PQkovbGliLyouc287IGRvCi0gICAgICAgIGVjaG8gIkluc3RhbGxpbmcgYGJhc2VuYW1lICRmaWxlYC4uLiIKLSAgICAgICAgY3AgJGZpbGUgICR7RH0vJHtsaWJkaXJ9LwotICAgIGRvbmUKLQotICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvLio7IGRvCi0gICAgICAgIGlmIFsgLWYgJHNoYXJlZF9saWIgXTsgdGhlbgotICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KLSAgICAgICAgICAgIGxuIC1zZiAkKGJhc2VuYW1lICRzaGFyZWRfbGliKSAke0R9LyR7bGliZGlyfS8kKGJhc2VuYW1lICRzaGFyZWRfbGliIC4xb2UpCi0gICAgICAgIGZpCi0gICAgZG9uZQotICAgIGZvciBzaGFyZWRfbGliIGluICR7VER9LyR7bGliZGlyfS8qLnNvOyBkbwotICAgICAgICBpZiBbIC1mICRzaGFyZWRfbGliIC1hICEgLWUgJHtEfS8ke2xpYmRpcn0vJHNoYXJlZF9saWIgXTsgdGhlbgotICAgICAgICAgICAgY3AgJHNoYXJlZF9saWIgJHtEfS8ke2xpYmRpcn0KLSAgICAgICAgZmkKLSAgICBkb25lCi0KLSAgICBpbnN0YWxsIC1kICR7RH0vJHtpbmNsdWRlZGlyfS9uc3MzCi0gICAgaW5zdGFsbCAtbSA2NDQgLXQgJHtEfS8ke2luY2x1ZGVkaXJ9L25zczMgZGlzdC9wdWJsaWMvbnNzLyoKLQotICAgIGluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KLSAgICBmb3IgYmluYXJ5IGluICR7VER9LyR7YmluZGlyfS8qOyBkbwotICAgICAgICBpbnN0YWxsIC1tIDc1NSAtdCAke0R9LyR7YmluZGlyfSAkYmluYXJ5Ci0gICAgZG9uZQotfQotZG9faW5zdGFsbFt2YXJkZXBzZXhjbHVkZV0gKz0gIlNJVEVJTkZPX0JJVFMiCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotICAgICMgQ3JlYXRlIGVtcHR5IC5jaGsgZmlsZXMgZm9yIHRoZSBOU1MgbGlicmFyaWVzIGF0IGJ1aWxkIHRpbWUuIFRoZXkgY291bGQKLSAgICAjIGJlIHJlZ2VuZXJhdGVkIGF0IHRhcmdldCdzIGJvb3QgdGltZS4KLSAgICBmb3IgZmlsZSBpbiBsaWJzb2Z0b2tuMy5jaGsgbGliZnJlZWJsMy5jaGsgbGlibnNzZGJtMy5jaGs7IGRvCi0gICAgICAgIHRvdWNoICR7RH0vJHtsaWJkaXJ9LyRmaWxlCi0gICAgICAgIGNobW9kIDc1NSAke0R9LyR7bGliZGlyfS8kZmlsZQotICAgIGRvbmUKLSAgICBpbnN0YWxsIC1EIC1tIDc1NSAke1dPUktESVJ9L3NpZ25saWJzLnNoICR7RH0vJHtiaW5kaXJ9L3NpZ25saWJzLnNoCi0KLSAgICBpbnN0YWxsIC1kICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnLwotICAgIHNlZCAncy8lTlNTX1ZFUlNJT04lLyR7UFZ9LycgJHtXT1JLRElSfS9uc3MucGMuaW4gfCBzZWQgJ3MvJU5TUFJfVkVSU0lPTiUvNC45LjIvJyA+ICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYwotICAgIHNlZCAtaSBzOk9FUFJFRklYOiR7cHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYwotICAgIHNlZCAtaSBzOk9FRVhFQ1BSRUZJWDoke2V4ZWNfcHJlZml4fTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYwotICAgIHNlZCAtaSBzOk9FTElCRElSOiR7bGliZGlyfTpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYwotICAgIHNlZCAtaSBzOk9FSU5DRElSOiR7aW5jbHVkZWRpcn0vbnNzMzpnICR7RH0ke2xpYmRpcn0vcGtnY29uZmlnL25zcy5wYwotfQotCi1kb19pbnN0YWxsX2FwcGVuZF9jbGFzcy10YXJnZXQoKSB7Ci0gICAgIyBJdCB1c2VkIHRvIGNhbGwgY2VydHV0aWwgdG8gY3JlYXRlIGEgYmxhbmsgY2VydGlmaWNhdGUgd2l0aCBlbXB0eSBwYXNzd29yZCBhdAotICAgICMgYnVpbGQgdGltZSwgYnV0IHRoZSBjaGVja3N1bSBvZiBrZXk0LmRiIGNoYW5nZXMgZXZlcnkgdGltZSB3aGVuIGNlcnR1dGlsIGlzIGNhbGxlZC4KLSAgICAjIEl0IGNhdXNlcyBub24tZGV0ZXJtaW5pc20gaXNzdWUsIHNvIHByb3ZpZGUgZGF0YWJhc2VzIHdpdGggYSBibGFuayBjZXJ0aWZpY2F0ZQotICAgICMgd2hpY2ggYXJlIG9yaWdpbmFsbHkgZnJvbSBvdXRwdXQgb2YgbnNzIGluIHFlbXV4ODYtNjQgYnVpbGQuIFlvdSBjYW4gZ2V0IHRoZXNlCi0gICAgIyBkYXRhYmFzZXMgYnk6Ci0gICAgIyBjZXJ0dXRpbCAtTiAtZCBzcWw6L2RhdGFiYXNlL3BhdGgvIC0tZW1wdHktcGFzc3dvcmQKLSAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi8KLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1jZXJ0OS5kYiAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvY2VydDkuZGIKLSAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9ibGFuay1rZXk0LmRiICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9rZXk0LmRiCi0gICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vc3lzdGVtLXBrY3MxMS50eHQgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL3BrY3MxMS50eHQKLX0KLQotUEFDS0FHRV9XUklURV9ERVBTICs9ICJuc3MtbmF0aXZlIgotcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKLSAgICBpZiBbIC1uICIkRCIgXTsgdGhlbgotICAgICAgICBmb3IgSSBpbiAkRCR7bGliZGlyfS9saWIqLmNoazsgZG8KLSAgICAgICAgICAgIEROPWBkaXJuYW1lICRJYAotICAgICAgICAgICAgQk49YGJhc2VuYW1lICRJIC5jaGtgCi0gICAgICAgICAgICBGTj0kRE4vJEJOLnNvCi0gICAgICAgICAgICBzaGxpYnNpZ24gLWkgJEZOCi0gICAgICAgICAgICBpZiBbICQ/IC1uZSAwIF07IHRoZW4KLSAgICAgICAgICAgICAgICBleGl0IDEKLSAgICAgICAgICAgIGZpCi0gICAgICAgIGRvbmUKLSAgICBlbHNlCi0gICAgICAgIHNpZ25saWJzLnNoCi0gICAgZmkKLX0KLQotUEFDS0FHRVMgPSsgIiR7UE59LXNtaW1lIgotRklMRVNfJHtQTn0tc21pbWUgPSAiXAotICAgICR7YmluZGlyfS9zbWltZSBcCi0iCi1GSUxFU18ke1BOfSA9ICJcCi0gICAgJHtzeXNjb25mZGlyfSBcCi0gICAgJHtiaW5kaXJ9IFwKLSAgICAke2xpYmRpcn0vbGliKi5jaGsgXAotICAgICR7bGliZGlyfS9saWIqLnNvIFwKLSAgICAiCi1GSUxFU18ke1BOfS1kZXYgPSAiXAotICAgICR7bGliZGlyfS9uc3MgXAotICAgICR7bGliZGlyfS9wa2djb25maWcvKiBcCi0gICAgJHtpbmNsdWRlZGlyfS8qIFwKLSAgICAiCi0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKLQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9uc3MvbnNzXzMuNDIuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjQyLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiYmQ4MAotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvbnNzL25zc18zLjQyLjEuYmIKQEAgLTAsMCArMSwyNjQgQEAKK1NVTU1BUlkgPSAiTW96aWxsYSdzIFNTTCBhbmQgVExTIGltcGxlbWVudGF0aW9uIgorREVTQ1JJUFRJT04gPSAiTmV0d29yayBTZWN1cml0eSBTZXJ2aWNlcyAoTlNTKSBpcyBhIHNldCBvZiBsaWJyYXJpZXMgXAorZGVzaWduZWQgdG8gc3VwcG9ydCBjcm9zcy1wbGF0Zm9ybSBkZXZlbG9wbWVudCBvZiBcCitzZWN1cml0eS1lbmFibGVkIGNsaWVudCBhbmQgc2VydmVyIGFwcGxpY2F0aW9ucy4gXAorQXBwbGljYXRpb25zIGJ1aWx0IHdpdGggTlNTIGNhbiBzdXBwb3J0IFNTTCB2MiBhbmQgdjMsIFwKK1RMUywgUEtDUyA1LCBQS0NTIDcsIFBLQ1MgMTEsIFBLQ1MgMTIsIFMvTUlNRSwgWC41MDkgXAordjMgY2VydGlmaWNhdGVzLCBhbmQgb3RoZXIgc2VjdXJpdHkgc3RhbmRhcmRzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cubW96aWxsYS5vcmcvcHJvamVjdHMvc2VjdXJpdHkvcGtpL25zcy8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTVBMLTIuMCB8IChNUEwtMi4wICYgR1BMLTIuMCspIHwgKE1QTC0yLjAgJiBMR1BMLTIuMSspIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9uc3MvQ09QWUlORzttZDU9M2IxZTg4ZTFiOWMwYjVhNGIyODgxZDQ2Y2NlMDZhMTggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbnNzL2xpYi9mcmVlYmwvbXBpL2RvYy9MSUNFTlNFO21kNT00OTFmMTU4ZDA5ZDk0ODQ2NmFmY2U4NWQ2ZjFmZTE4ZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9uc3MvbGliL2ZyZWVibC9tcGkvZG9jL0xJQ0VOU0UtTVBMO21kNT01ZDQyNWM4ZjMxNTdkYmYyMTJkYjJlYzUzZDllNTEzMiIKKworVkVSU0lPTl9ESVIgPSAiJHtAZC5nZXRWYXIoJ0JQJykudXBwZXIoKS5yZXBsYWNlKCctJywgJ18nKS5yZXBsYWNlKCcuJywgJ18nKSArICdfUlRNJ30iCisKK1NSQ19VUkkgPSAiaHR0cDovL2Z0cC5tb3ppbGxhLm9yZy9wdWIvbW96aWxsYS5vcmcvc2VjdXJpdHkvbnNzL3JlbGVhc2VzLyR7VkVSU0lPTl9ESVJ9L3NyYy8ke0JQfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vbnNzLnBjLmluIFwKKyAgICAgICAgICAgZmlsZTovL3NpZ25saWJzLnNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtbnNzLWZpeC1zdXBwb3J0LWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uc3Mtbm8tcnBhdGgtZm9yLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9uc3MtZml4LWluY29ycmVjdC1zaGViYW5nLW9mLXBlcmwucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vbnNzLWZpeC1uc2luc3RhbGwtYnVpbGQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1XdmFyYXJncy13aXRoLWNsYW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BxZy5jLVVMTF9hZGRlbmQucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYmxhbmstY2VydDkuZGIgXAorICAgICAgICAgICBmaWxlOi8vYmxhbmsta2V5NC5kYiBcCisgICAgICAgICAgIGZpbGU6Ly9zeXN0ZW0tcGtjczExLnR4dCBcCisgICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjFmNmNjNmM3MDIzNzk0NzhhM2E3MjI5OGNhYWVmMGE3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4N2RiMzdkMzhmZDQ5ZGZkNTg0ZGQyYThiNWJhYTdmYzg4ZGU3YzliZDk3YzBjMmQ1YmU0YWJjYWZjNjFmYzYiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL01vemlsbGEvUHJvamVjdHMvTlNTL05TU19SZWxlYXNlcyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIk5TU18oP1A8cHZlcj4uKylfcmVsZWFzZV9ub3RlcyIKKworaW5oZXJpdCBzaXRlaW5mbworCitERVBFTkRTID0gInNxbGl0ZTMgbnNwciB6bGliIG5zcy1uYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJzcWxpdGUzLW5hdGl2ZSBuc3ByLW5hdGl2ZSB6bGliLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59LXNtaW1lID0gInBlcmwiCisKK1REID0gIiR7U30vdGVudGF0aXZlLWRpc3QiCitURFMgPSAiJHtTfS90ZW50YXRpdmUtZGlzdC1zdGFnaW5nIgorCitUQVJHRVRfQ0NfQVJDSCArPSAiJHtMREZMQUdTfSIKKworZG9fY29uZmlndXJlX3ByZXBlbmRfbGliYy1tdXNsICgpIHsKKyAgICBzZWQgLWkgLWUgJy8tREhBVkVfU1lTX0NERUZTX0gvZCcgJHtTfS9uc3MvbGliL2RibS9jb25maWcvY29uZmlnLm1rCit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgZXhwb3J0IE5TUFJfSU5DTFVERV9ESVI9JHtTVEFHSU5HX0lOQ0RJUl9OQVRJVkV9CisgICAgZXhwb3J0IE5TUFJfTElCX0RJUj0ke1NUQUdJTkdfTElCRElSX05BVElWRX0KKyAgICBleHBvcnQgTlNTX0VOQUJMRV9XRVJST1I9MAorfQorCitkb19jb21waWxlX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgIGV4cG9ydCBMREZMQUdTPSIiCit9CisKK2RvX2NvbXBpbGVfcHJlcGVuZF9jbGFzcy1uYXRpdmUoKSB7CisgICAgIyBOZWVkIHRvIHNldCBSUEFUSCBzbyB0aGF0IGNocnBhdGggd2lsbCBkbyBpdHMgam9iIGNvcnJlY3RseQorICAgIFJQQVRIPSItV2wsLXJwYXRoLWxpbmssJHtTVEFHSU5HX0xJQkRJUl9OQVRJVkV9IC1XbCwtcnBhdGgtbGluaywke1NUQUdJTkdfQkFTRV9MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLCR7U1RBR0lOR19MSUJESVJfTkFUSVZFfSAtV2wsLXJwYXRoLCR7U1RBR0lOR19CQVNFX0xJQkRJUl9OQVRJVkV9IgorfQorCitkb19jb21waWxlKCkgeworICAgIGV4cG9ydCBDUk9TU19DT01QSUxFPTEKKyAgICBleHBvcnQgTkFUSVZFX0NDPSIke0JVSUxEX0NDfSIKKyAgICBleHBvcnQgTkFUSVZFX0ZMQUdTPSIke0JVSUxEX0NGTEFHU30iCisgICAgZXhwb3J0IEJVSUxEX09QVD0xCisKKyAgICBleHBvcnQgRlJFRUJMX05PX0RFUEVORD0xCisgICAgZXhwb3J0IEZSRUVCTF9MT1dIQVNIPTEKKworICAgIGV4cG9ydCBMSUJESVI9JHtsaWJkaXJ9CisgICAgZXhwb3J0IE1PWklMTEFfQ0xJRU5UPTEKKyAgICBleHBvcnQgTlNfVVNFX0dDQz0xCisgICAgZXhwb3J0IE5TU19VU0VfU1lTVEVNX1NRTElURT0xCisgICAgZXhwb3J0IE5TU19FTkFCTEVfRUNDPTEKKworICAgIGV4cG9ydCBPU19SRUxFQVNFPTMuNAorICAgIGV4cG9ydCBPU19UQVJHRVQ9TGludXgKKyAgICBleHBvcnQgT1NfQVJDSD1MaW51eAorCisgICAgaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGMiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJwb3dlcnBjNjQiIF07IHRoZW4KKyAgICAgICAgT1NfVEVTVD1wcGM2NAorICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHMiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwc2VsIiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NCIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzNjRlbCIgXTsgdGhlbgorICAgICAgICBPU19URVNUPW1pcHMKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJhYXJjaDY0X2JlIiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9ImFhcmNoNjQiCisgICAgZWxzZQorICAgICAgICBPU19URVNUPSIke1RBUkdFVF9BUkNIfSIKKyAgICBmaQorCisgICAgaWYgWyAiJHtTSVRFSU5GT19CSVRTfSIgPSAiNjQiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV82ND0xCisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAieDg2XzY0IiAtYSAiJHtTSVRFSU5GT19CSVRTfSIgPSAiMzIiIF07IHRoZW4KKyAgICAgICAgZXhwb3J0IFVTRV9YMzI9MQorICAgIGZpCisKKyAgICBleHBvcnQgTlNTX0RJU0FCTEVfR1RFU1RTPTEKKworICAgICMgV2UgY2FuIG1vZGlmeSBDQyBpbiB0aGUgZW52aXJvbm1lbnQsIGJ1dCBpZiB3ZSBzZXQgaXQgdmlhIGFuCisgICAgIyBhcmd1bWVudCB0byBtYWtlLCBuc2luc3RhbGwsIGEgaG9zdCBwcm9ncmFtLCB3aWxsIGFsc28gYnVpbGQgd2l0aCBpdCEKKyAgICAjCisgICAgIyBuc3MgcHJldHR5IG11Y2ggZG9lcyBpdHMgb3duIHRoaW5nIHdpdGggQ0ZMQUdTLCBzbyB3ZSBwdXQgdGhlbSBpbnRvIENDLgorICAgICMgT3B0aW1pemF0aW9uIHdpbGwgZ2V0IGNsb2JiZXJlZCwgYnV0IG1vc3Qgb2YgdGhlIHN0dWZmIHdpbGwgc3Vydml2ZS4KKyAgICAjIFRoZSBtb3RpdmF0aW9uIGZvciB0aGlzIGlzIHRvIHBvaW50IHRvIHRoZSBjb3JyZWN0IHBsYWNlIGZvciBkZWJ1ZworICAgICMgc291cmNlIGZpbGVzIGFuZCBDRkxBR1MgZG9lcyB0aGF0LiAgTm90aGluZyB1c2VzIENDQy4KKyAgICAjCisgICAgZXhwb3J0IENDPSIke0NDfSAke0NGTEFHU30iCisgICAgbWFrZSAtQyAuL25zcyBDQ0M9IiR7Q1hYfSAtZyIgXAorICAgICAgICBPU19URVNUPSR7T1NfVEVTVH0gXAorICAgICAgICBSUEFUSD0iJHtSUEFUSH0iCit9Citkb19jb21waWxlW3ZhcmRlcHNleGNsdWRlXSArPSAiU0lURUlORk9fQklUUyIKKworCitkb19pbnN0YWxsX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrKCkgeworICAgIGV4cG9ydCBMREZMQUdTPSIiCit9CisKK2RvX2luc3RhbGwoKSB7CisgICAgZXhwb3J0IENST1NTX0NPTVBJTEU9MQorICAgIGV4cG9ydCBOQVRJVkVfQ0M9IiR7QlVJTERfQ0N9IgorICAgIGV4cG9ydCBCVUlMRF9PUFQ9MQorCisgICAgZXhwb3J0IEZSRUVCTF9OT19ERVBFTkQ9MQorCisgICAgZXhwb3J0IExJQkRJUj0ke2xpYmRpcn0KKyAgICBleHBvcnQgTU9aSUxMQV9DTElFTlQ9MQorICAgIGV4cG9ydCBOU19VU0VfR0NDPTEKKyAgICBleHBvcnQgTlNTX1VTRV9TWVNURU1fU1FMSVRFPTEKKyAgICBleHBvcnQgTlNTX0VOQUJMRV9FQ0M9MQorCisgICAgZXhwb3J0IE9TX1JFTEVBU0U9My40CisgICAgZXhwb3J0IE9TX1RBUkdFVD1MaW51eAorICAgIGV4cG9ydCBPU19BUkNIPUxpbnV4CisKKyAgICBpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAicG93ZXJwYyIgXTsgdGhlbgorICAgICAgICBPU19URVNUPXBwYworICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gInBvd2VycGM2NCIgXTsgdGhlbgorICAgICAgICBPU19URVNUPXBwYzY0CisgICAgZWxpZiBbICIke1RBUkdFVF9BUkNIfSIgPSAibWlwcyIgLW8gIiR7VEFSR0VUX0FSQ0h9IiA9ICJtaXBzZWwiIC1vICIke1RBUkdFVF9BUkNIfSIgPSAibWlwczY0IiAtbyAiJHtUQVJHRVRfQVJDSH0iID0gIm1pcHM2NGVsIiBdOyB0aGVuCisgICAgICAgIE9TX1RFU1Q9bWlwcworICAgIGVsaWYgWyAiJHtUQVJHRVRfQVJDSH0iID0gImFhcmNoNjRfYmUiIF07IHRoZW4KKyAgICAgICAgQ1BVX0FSQ0g9YWFyY2g2NAorICAgICAgICBPU19URVNUPSJhYXJjaDY0IgorICAgIGVsc2UKKyAgICAgICAgT1NfVEVTVD0iJHtUQVJHRVRfQVJDSH0iCisgICAgZmkKKyAgICBpZiBbICIke1NJVEVJTkZPX0JJVFN9IiA9ICI2NCIgXTsgdGhlbgorICAgICAgICBleHBvcnQgVVNFXzY0PTEKKyAgICBlbGlmIFsgIiR7VEFSR0VUX0FSQ0h9IiA9ICJ4ODZfNjQiIC1hICIke1NJVEVJTkZPX0JJVFN9IiA9ICIzMiIgXTsgdGhlbgorICAgICAgICBleHBvcnQgVVNFX1gzMj0xCisgICAgZmkKKworICAgIGV4cG9ydCBOU1NfRElTQUJMRV9HVEVTVFM9MQorCisgICAgbWFrZSAtQyAuL25zcyBcCisgICAgICAgIENDQz0iJHtDWFh9IiBcCisgICAgICAgIE9TX1RFU1Q9JHtPU19URVNUfSBcCisgICAgICAgIFNPVVJDRV9MSUJfRElSPSIke1REfS8ke2xpYmRpcn0iIFwKKyAgICAgICAgU09VUkNFX0JJTl9ESVI9IiR7VER9LyR7YmluZGlyfSIgXAorICAgICAgICBpbnN0YWxsCisKKyAgICBpbnN0YWxsIC1kICR7RH0vJHtsaWJkaXJ9LworICAgIGZvciBmaWxlIGluICR7U30vZGlzdC8qLk9CSi9saWIvKi5zbzsgZG8KKyAgICAgICAgZWNobyAiSW5zdGFsbGluZyBgYmFzZW5hbWUgJGZpbGVgLi4uIgorICAgICAgICBjcCAkZmlsZSAgJHtEfS8ke2xpYmRpcn0vCisgICAgZG9uZQorCisgICAgZm9yIHNoYXJlZF9saWIgaW4gJHtURH0vJHtsaWJkaXJ9Lyouc28uKjsgZG8KKyAgICAgICAgaWYgWyAtZiAkc2hhcmVkX2xpYiBdOyB0aGVuCisgICAgICAgICAgICBjcCAkc2hhcmVkX2xpYiAke0R9LyR7bGliZGlyfQorICAgICAgICAgICAgbG4gLXNmICQoYmFzZW5hbWUgJHNoYXJlZF9saWIpICR7RH0vJHtsaWJkaXJ9LyQoYmFzZW5hbWUgJHNoYXJlZF9saWIgLjFvZSkKKyAgICAgICAgZmkKKyAgICBkb25lCisgICAgZm9yIHNoYXJlZF9saWIgaW4gJHtURH0vJHtsaWJkaXJ9Lyouc287IGRvCisgICAgICAgIGlmIFsgLWYgJHNoYXJlZF9saWIgLWEgISAtZSAke0R9LyR7bGliZGlyfS8kc2hhcmVkX2xpYiBdOyB0aGVuCisgICAgICAgICAgICBjcCAkc2hhcmVkX2xpYiAke0R9LyR7bGliZGlyfQorICAgICAgICBmaQorICAgIGRvbmUKKworICAgIGluc3RhbGwgLWQgJHtEfS8ke2luY2x1ZGVkaXJ9L25zczMKKyAgICBpbnN0YWxsIC1tIDY0NCAtdCAke0R9LyR7aW5jbHVkZWRpcn0vbnNzMyBkaXN0L3B1YmxpYy9uc3MvKgorCisgICAgaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorICAgIGZvciBiaW5hcnkgaW4gJHtURH0vJHtiaW5kaXJ9Lyo7IGRvCisgICAgICAgIGluc3RhbGwgLW0gNzU1IC10ICR7RH0vJHtiaW5kaXJ9ICRiaW5hcnkKKyAgICBkb25lCit9Citkb19pbnN0YWxsW3ZhcmRlcHNleGNsdWRlXSArPSAiU0lURUlORk9fQklUUyIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgIyBDcmVhdGUgZW1wdHkgLmNoayBmaWxlcyBmb3IgdGhlIE5TUyBsaWJyYXJpZXMgYXQgYnVpbGQgdGltZS4gVGhleSBjb3VsZAorICAgICMgYmUgcmVnZW5lcmF0ZWQgYXQgdGFyZ2V0J3MgYm9vdCB0aW1lLgorICAgIGZvciBmaWxlIGluIGxpYnNvZnRva24zLmNoayBsaWJmcmVlYmwzLmNoayBsaWJuc3NkYm0zLmNoazsgZG8KKyAgICAgICAgdG91Y2ggJHtEfS8ke2xpYmRpcn0vJGZpbGUKKyAgICAgICAgY2htb2QgNzU1ICR7RH0vJHtsaWJkaXJ9LyRmaWxlCisgICAgZG9uZQorICAgIGluc3RhbGwgLUQgLW0gNzU1ICR7V09SS0RJUn0vc2lnbmxpYnMuc2ggJHtEfS8ke2JpbmRpcn0vc2lnbmxpYnMuc2gKKworICAgIGluc3RhbGwgLWQgJHtEfSR7bGliZGlyfS9wa2djb25maWcvCisgICAgc2VkICdzLyVOU1NfVkVSU0lPTiUvJHtQVn0vJyAke1dPUktESVJ9L25zcy5wYy5pbiB8IHNlZCAncy8lTlNQUl9WRVJTSU9OJS80LjkuMi8nID4gJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNzLnBjCisgICAgc2VkIC1pIHM6T0VQUkVGSVg6JHtwcmVmaXh9OmcgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNzLnBjCisgICAgc2VkIC1pIHM6T0VFWEVDUFJFRklYOiR7ZXhlY19wcmVmaXh9OmcgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNzLnBjCisgICAgc2VkIC1pIHM6T0VMSUJESVI6JHtsaWJkaXJ9OmcgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNzLnBjCisgICAgc2VkIC1pIHM6T0VJTkNESVI6JHtpbmNsdWRlZGlyfS9uc3MzOmcgJHtEfSR7bGliZGlyfS9wa2djb25maWcvbnNzLnBjCit9CisKK2RvX2luc3RhbGxfYXBwZW5kX2NsYXNzLXRhcmdldCgpIHsKKyAgICAjIEl0IHVzZWQgdG8gY2FsbCBjZXJ0dXRpbCB0byBjcmVhdGUgYSBibGFuayBjZXJ0aWZpY2F0ZSB3aXRoIGVtcHR5IHBhc3N3b3JkIGF0CisgICAgIyBidWlsZCB0aW1lLCBidXQgdGhlIGNoZWNrc3VtIG9mIGtleTQuZGIgY2hhbmdlcyBldmVyeSB0aW1lIHdoZW4gY2VydHV0aWwgaXMgY2FsbGVkLgorICAgICMgSXQgY2F1c2VzIG5vbi1kZXRlcm1pbmlzbSBpc3N1ZSwgc28gcHJvdmlkZSBkYXRhYmFzZXMgd2l0aCBhIGJsYW5rIGNlcnRpZmljYXRlCisgICAgIyB3aGljaCBhcmUgb3JpZ2luYWxseSBmcm9tIG91dHB1dCBvZiBuc3MgaW4gcWVtdXg4Ni02NCBidWlsZC4gWW91IGNhbiBnZXQgdGhlc2UKKyAgICAjIGRhdGFiYXNlcyBieToKKyAgICAjIGNlcnR1dGlsIC1OIC1kIHNxbDovZGF0YWJhc2UvcGF0aC8gLS1lbXB0eS1wYXNzd29yZAorICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiLworICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JsYW5rLWNlcnQ5LmRiICR7RH0ke3N5c2NvbmZkaXJ9L3BraS9uc3NkYi9jZXJ0OS5kYgorICAgIGluc3RhbGwgLW0gMDY0NCAke1dPUktESVJ9L2JsYW5rLWtleTQuZGIgJHtEfSR7c3lzY29uZmRpcn0vcGtpL25zc2RiL2tleTQuZGIKKyAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9zeXN0ZW0tcGtjczExLnR4dCAke0R9JHtzeXNjb25mZGlyfS9wa2kvbnNzZGIvcGtjczExLnR4dAorfQorCitQQUNLQUdFX1dSSVRFX0RFUFMgKz0gIm5zcy1uYXRpdmUiCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgIGlmIFsgLW4gIiREIiBdOyB0aGVuCisgICAgICAgIGZvciBJIGluICREJHtsaWJkaXJ9L2xpYiouY2hrOyBkbworICAgICAgICAgICAgRE49YGRpcm5hbWUgJElgCisgICAgICAgICAgICBCTj1gYmFzZW5hbWUgJEkgLmNoa2AKKyAgICAgICAgICAgIEZOPSRETi8kQk4uc28KKyAgICAgICAgICAgIHNobGlic2lnbiAtaSAkRk4KKyAgICAgICAgICAgIGlmIFsgJD8gLW5lIDAgXTsgdGhlbgorICAgICAgICAgICAgICAgIGV4aXQgMQorICAgICAgICAgICAgZmkKKyAgICAgICAgZG9uZQorICAgIGVsc2UKKyAgICAgICAgc2lnbmxpYnMuc2gKKyAgICBmaQorfQorCitQQUNLQUdFUyA9KyAiJHtQTn0tc21pbWUiCitGSUxFU18ke1BOfS1zbWltZSA9ICJcCisgICAgJHtiaW5kaXJ9L3NtaW1lIFwKKyIKK0ZJTEVTXyR7UE59ID0gIlwKKyAgICAke3N5c2NvbmZkaXJ9IFwKKyAgICAke2JpbmRpcn0gXAorICAgICR7bGliZGlyfS9saWIqLmNoayBcCisgICAgJHtsaWJkaXJ9L2xpYiouc28gXAorICAgICIKK0ZJTEVTXyR7UE59LWRldiA9ICJcCisgICAgJHtsaWJkaXJ9L25zcyBcCisgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy8qIFwKKyAgICAke2luY2x1ZGVkaXJ9LyogXAorICAgICIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE0LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wMTEta2l0L3AxMS1raXRfMC4yMy4xNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQyNWMzOC4uMDAwMDAwMAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE0LmJiCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotU1VNTUFSWSA9ICJQcm92aWRlcyBhIHdheSB0byBsb2FkIGFuZCBlbnVtZXJhdGUgUEtDUyMxMSBtb2R1bGVzIgotTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wMjkzMzg4N2Y2MDk4MDdmYmI1N2FhNDIzN2QxNGE1MCIKLQotaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcgZ3RrLWRvYwotCi1ERVBFTkRTID0gImxpYnRhc24xIGxpYmZmaSIKLQotU1JDX1VSSSA9ICJnaXQ6Ly9naXRodWIuY29tL3AxMS1nbHVlL3AxMS1raXQgXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1MSU5HVUFTLWRyb3AtdGhlLWxhbmd1YWdlcy1mb3Itd2hpY2gtdXBzdHJlYW0tZG9lcy1uLnBhdGNoIFwKLSAgICAgICAgICAgIgotU1JDUkVWID0gIjM3NzA3OTNmMDI2ZTQ2YTAwMGQyZDg4MTZkNTYxMjI1OTgyODlkNWMiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1BVVRPVE9PTFNfQVVYRElSID0gIiR7U30vYnVpbGQvbGl0dGVyIgotCi1QQUNLQUdFQ09ORklHID8/PSAiIgotUEFDS0FHRUNPTkZJR1t0cnVzdC1wYXRoc10gPSAiLS13aXRoLXRydXN0LXBhdGhzPS9ldGMvc3NsL2NlcnRzL2NhLWNlcnRpZmljYXRlcy5jcnQsLS13aXRob3V0LXRydXN0LXBhdGhzLCxjYS1jZXJ0aWZpY2F0ZXMiCi0KLSMgVGhpcyByZWNpcGUgZG9lcyBub3QgdXNlIHRoZSBzdGFuZGFyZCBndGstZG9jIG00IG1hY3JvcywgYW5kIHNvIHRoZSAuL2NvbmZpZ3VyZSBmbGFncwotIyB0aGF0IGNvbnRyb2wgZ3RrLWRvYyBidWlsZCBhcmUgbm9uLXN0YW5kYXJkCi1FWFRSQV9PRUNPTkZfcHJlcGVuZF9jbGFzcy10YXJnZXQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0dUS0RPQ19FTkFCTEVEJywgJ1RydWUnLCAnLS1lbmFibGUtZG9jIC0tZW5hYmxlLWRvYy1odG1sIC0tZGlzYWJsZS1kb2MtcGRmJywgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGlzYWJsZS1kb2MnLCBkKX0gIgotCi0jIFdoZW4gYnVpbGRpbmcgbmF0aXZlIHJlY2lwZXMsIGRpc2FibGUgZ3RrZG9jLCBhcyBpdCBpcyBub3QgbmVjZXNzYXJ5LAotIyBwdWxscyBpbiBhZGRpdGlvbmFsIGRlcGVuZGVuY2llcywgYW5kIG1ha2VzIGJ1aWxkIHRpbWVzIGxvbmdlcgotRVhUUkFfT0VDT05GX3ByZXBlbmRfY2xhc3MtbmF0aXZlID0gIi0tZGlzYWJsZS1kb2MgIgotRVhUUkFfT0VDT05GX3ByZXBlbmRfY2xhc3MtbmF0aXZlc2RrID0gIi0tZGlzYWJsZS1kb2MgIgotCi1VTktOT1dOX0NPTkZJR1VSRV9XSElURUxJU1RfYXBwZW5kID0gIiAtLWVuYWJsZS1ndGstZG9jLWh0bWwgLS1kaXNhYmxlLWd0ay1kb2MtcGRmIC0tZW5hYmxlLWd0ay1kb2MgLS1kaXNhYmxlLWd0ay1kb2MiCi0KLSMgcDExLWtpdCByZWxpZXMgb24gdGhlc2UgdHdvIGJlaW5nIGNvcGllZCBmcm9tIHNvdXJjZSB0cmVlCi0jIGluc3RlYWQgb2YgYmVpbmcgcmVnZW5lcmF0ZWQgYnkgZ3RrZG9jLXNjYW4sIGJ1dCBkb2Vzbid0IHNldHVwCi0jIGRlcGVuZGVuY2llcyBjb3JyZWN0bHkgd2hlbiB0aGVyZSBpcyBhIHBhcmFsbGVsIGJ1aWxkLiBMZXQncyBwcmUtY29weQotIyB0aGVtIGluc3RlYWQuCi1kb19jb21waWxlX3ByZXBlbmQgKCkgewotICAgICAgICBjcCAke1N9L2RvYy9tYW51YWwvcDExLWtpdC1vdmVycmlkZXMudHh0ICR7U30vZG9jL21hbnVhbC9wMTEta2l0LXNlY3Rpb25zLnR4dCAke0J9L2RvYy9tYW51YWwvCi19Ci0KLUZJTEVTXyR7UE59ICs9ICIgXAotICAgICR7bGliZGlyfS9wMTEta2l0LXByb3h5LnNvIFwKLSAgICAke2xpYmRpcn0vcGtjczExLyouc28gXAotICAgICR7bGliZGlyfS9wa2NzMTEvKi5sYSIKLQotIyBQTiBjb250YWlucyBwMTEta2l0LXByb3h5LnNvLCBhIHN5bWxpbmsgdG8gYSBsb2FkYWJsZSBtb2R1bGUKLUlOU0FORV9TS0lQXyR7UE59ID0gImRldi1zbyIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcDExLWtpdC9wMTEta2l0XzAuMjMuMTUuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ZTY3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3AxMS1raXQvcDExLWtpdF8wLjIzLjE1LmJiCkBAIC0wLDAgKzEsNDYgQEAKK1NVTU1BUlkgPSAiUHJvdmlkZXMgYSB3YXkgdG8gbG9hZCBhbmQgZW51bWVyYXRlIFBLQ1MjMTEgbW9kdWxlcyIKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDI5MzM4ODdmNjA5ODA3ZmJiNTdhYTQyMzdkMTRhNTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcGtnY29uZmlnIGd0ay1kb2MKKworREVQRU5EUyA9ICJsaWJ0YXNuMSBsaWJmZmkiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9wMTEtZ2x1ZS9wMTEta2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtTElOR1VBUy1kcm9wLXRoZS1sYW5ndWFnZXMtZm9yLXdoaWNoLXVwc3RyZWFtLWRvZXMtbi5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ1JFViA9ICIxYmE4MGM2N2M0OTJmMjU1ODFlZDk3YzhjMzFmZmI1ZjIwNjM2ZDA2IgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworQVVUT1RPT0xTX0FVWERJUiA9ICIke1N9L2J1aWxkL2xpdHRlciIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbdHJ1c3QtcGF0aHNdID0gIi0td2l0aC10cnVzdC1wYXRocz0vZXRjL3NzbC9jZXJ0cy9jYS1jZXJ0aWZpY2F0ZXMuY3J0LC0td2l0aG91dC10cnVzdC1wYXRocywsY2EtY2VydGlmaWNhdGVzIgorCisjIFRoaXMgcmVjaXBlIGRvZXMgbm90IHVzZSB0aGUgc3RhbmRhcmQgZ3RrLWRvYyBtNCBtYWNyb3MsIGFuZCBzbyB0aGUgLi9jb25maWd1cmUgZmxhZ3MKKyMgdGhhdCBjb250cm9sIGd0ay1kb2MgYnVpbGQgYXJlIG5vbi1zdGFuZGFyZAorRVhUUkFfT0VDT05GX3ByZXBlbmRfY2xhc3MtdGFyZ2V0ID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdHVEtET0NfRU5BQkxFRCcsICdUcnVlJywgJy0tZW5hYmxlLWRvYyAtLWVuYWJsZS1kb2MtaHRtbCAtLWRpc2FibGUtZG9jLXBkZicsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWRpc2FibGUtZG9jJywgZCl9ICIKKworIyBXaGVuIGJ1aWxkaW5nIG5hdGl2ZSByZWNpcGVzLCBkaXNhYmxlIGd0a2RvYywgYXMgaXQgaXMgbm90IG5lY2Vzc2FyeSwKKyMgcHVsbHMgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXMsIGFuZCBtYWtlcyBidWlsZCB0aW1lcyBsb25nZXIKK0VYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZG9jICIKK0VYVFJBX09FQ09ORl9wcmVwZW5kX2NsYXNzLW5hdGl2ZXNkayA9ICItLWRpc2FibGUtZG9jICIKKworVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUX2FwcGVuZCA9ICIgLS1lbmFibGUtZ3RrLWRvYy1odG1sIC0tZGlzYWJsZS1ndGstZG9jLXBkZiAtLWVuYWJsZS1ndGstZG9jIC0tZGlzYWJsZS1ndGstZG9jIgorCisjIHAxMS1raXQgcmVsaWVzIG9uIHRoZXNlIHR3byBiZWluZyBjb3BpZWQgZnJvbSBzb3VyY2UgdHJlZQorIyBpbnN0ZWFkIG9mIGJlaW5nIHJlZ2VuZXJhdGVkIGJ5IGd0a2RvYy1zY2FuLCBidXQgZG9lc24ndCBzZXR1cAorIyBkZXBlbmRlbmNpZXMgY29ycmVjdGx5IHdoZW4gdGhlcmUgaXMgYSBwYXJhbGxlbCBidWlsZC4gTGV0J3MgcHJlLWNvcHkKKyMgdGhlbSBpbnN0ZWFkLgorZG9fY29tcGlsZV9wcmVwZW5kICgpIHsKKyAgICAgICAgY3AgJHtTfS9kb2MvbWFudWFsL3AxMS1raXQtb3ZlcnJpZGVzLnR4dCAke1N9L2RvYy9tYW51YWwvcDExLWtpdC1zZWN0aW9ucy50eHQgJHtCfS9kb2MvbWFudWFsLworfQorCitGSUxFU18ke1BOfSArPSAiIFwKKyAgICAke2xpYmRpcn0vcDExLWtpdC1wcm94eS5zbyBcCisgICAgJHtsaWJkaXJ9L3BrY3MxMS8qLnNvIFwKKyAgICAke2xpYmRpcn0vcGtjczExLyoubGEiCisKKyMgUE4gY29udGFpbnMgcDExLWtpdC1wcm94eS5zbywgYSBzeW1saW5rIHRvIGEgbG9hZGFibGUgbW9kdWxlCitJTlNBTkVfU0tJUF8ke1BOfSA9ICJkZXYtc28iCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3BvcHQvcG9wdF8xLjE2LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wb3B0L3BvcHRfMS4xNi5iYgppbmRleCAzNzdkMTA4Li40NzgyODhmIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3BvcHQvcG9wdF8xLjE2LmJiCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcG9wdC9wb3B0XzEuMTYuYmIKQEAgLTgsNyArOCw3IEBACiAKIERFUEVORFMgPSAidmlydHVhbC9saWJpY29udiIKIAotU1JDX1VSSSA9ICJodHRwczovL2Zvc3NpZXMub3JnL2xpbnV4L21pc2MvcG9wdC0ke1BWfS50YXIuZ3ogXAorU1JDX1VSSSA9ICJodHRwOi8vcnBtNS5vcmcvZmlsZXMvcG9wdC9wb3B0LSR7UFZ9LnRhci5neiBcCiAgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWdfZml4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3BvcHRfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2Rpc2FibGVfdGVzdHMucGF0Y2ggXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wdGVzdC1ydW5uZXIvcHRlc3QtcnVubmVyXzIuMi5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjIuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYyMmQyM2IuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wdGVzdC1ydW5uZXIvcHRlc3QtcnVubmVyXzIuMi5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLVNVTU1BUlkgPSAiQSBDIHByb2dyYW0gdG8gcnVuIGFsbCBpbnN0YWxsZWQgcHRlc3RzIgotREVTQ1JJUFRJT04gPSAiVGhlIHB0ZXN0LXJ1bm5lcjIgcGFja2FnZSBpbnN0YWxscyBhIHB0ZXN0LXJ1bm5lciBcCi1wcm9ncmFtIHdoaWNoIGxvb3BzIHRocm91Z2ggYWxsIGluc3RhbGxlZCBwdGVzdCB0ZXN0IHN1aXRlcyBhbmQgXAotcnVucyB0aGVtIGluIHNlcXVlbmNlLiIKLUhPTUVQQUdFID0gImh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3B0ZXN0LXJ1bm5lcjIvYWJvdXQvIgotCi1MSUNFTlNFID0gIkdQTHYyIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCi0KLVNSQ1JFViA9ICI0OTk1NmY2NWJiNTNlYTJhMmMxYjM5NGU1ZTU5ZmZkZmNkY2M0OTBmIgotUFYgPSAiMi4yK2dpdCR7U1JDUFZ9IgotCi1TUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL3B0ZXN0LXJ1bm5lcjIiCi1TID0gIiR7V09SS0RJUn0vZ2l0IgotCi1GSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vcHRlc3QtcnVubmVyIgotCi1FWFRSQV9PRU1BS0UgPSAiLWUgTUFLRUZMQUdTPSIKLQotZG9fY29tcGlsZSAoKSB7Ci0Jb2VfcnVubWFrZQotfQotCi1kb19pbnN0YWxsICgpIHsKLQlpbnN0YWxsIC1EIC1tIDA3NTUgJHtTfS9wdGVzdC1ydW5uZXIgJHtEfSR7YmluZGlyfS9wdGVzdC1ydW5uZXIKLX0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjMuMS5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcHRlc3QtcnVubmVyL3B0ZXN0LXJ1bm5lcl8yLjMuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yjc5OTJiCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9wdGVzdC1ydW5uZXIvcHRlc3QtcnVubmVyXzIuMy4xLmJiCkBAIC0wLDAgKzEsMjYgQEAKK1NVTU1BUlkgPSAiQSBDIHByb2dyYW0gdG8gcnVuIGFsbCBpbnN0YWxsZWQgcHRlc3RzIgorREVTQ1JJUFRJT04gPSAiVGhlIHB0ZXN0LXJ1bm5lcjIgcGFja2FnZSBpbnN0YWxscyBhIHB0ZXN0LXJ1bm5lciBcCitwcm9ncmFtIHdoaWNoIGxvb3BzIHRocm91Z2ggYWxsIGluc3RhbGxlZCBwdGVzdCB0ZXN0IHN1aXRlcyBhbmQgXAorcnVucyB0aGVtIGluIHNlcXVlbmNlLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9jZ2l0L2NnaXQuY2dpL3B0ZXN0LXJ1bm5lcjIvYWJvdXQvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCisKK1NSQ1JFViA9ICIwNWIxMTJiZGE3YWMyYWRiYThlOWIwZjA4OGQ2ZTU4NDNiMTQ4YTM4IgorUFYgPSAiMi4zLjErZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvcHRlc3QtcnVubmVyMiIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0ZJTEVTXyR7UE59ID0gIiR7YmluZGlyfS9wdGVzdC1ydW5uZXIiCisKK0VYVFJBX09FTUFLRSA9ICItZSBNQUtFRkxBR1M9IENGTEFHUz0iJHtDRkxBR1N9IC1EREVGQVVMVF9ESVJFQ1RPUlk9XFxcIiR7bGliZGlyfVxcXCIiIgorCitkb19jb21waWxlICgpIHsKKwlvZV9ydW5tYWtlCit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLUQgLW0gMDc1NSAke1N9L3B0ZXN0LXJ1bm5lciAke0R9JHtiaW5kaXJ9L3B0ZXN0LXJ1bm5lcgorfQpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoCmluZGV4IDRiZDlkMzEuLjA2ZDFkOTQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAxLUlmLXRoZS1saWJjLWlzLWxhY2tpbmctYXJncC11c2UtbGliYXJncC5wYXRjaAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMS1JZi10aGUtbGliYy1pcy1sYWNraW5nLWFyZ3AtdXNlLWxpYmFyZ3AucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1Gcm9tIDk5Njc5ZmRhNDA1ZTUzNWEyODJmMDRhNGRlY2MyMzgxMTU0YTc0OWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDA2YmE3MTg4N2Y2NjdkNDVkZDIzMWE3ODJhMjc1MWYzNmU4ZmUwMjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBDaHJpc3RvcGhlciBMYXJzb24gPGNocmlzX2xhcnNvbkBtZW50b3IuY29tPgogRGF0ZTogTW9uLCAxNSBGZWIgMjAxNiAxNTo1OTo1OCAtMDcwMAotU3ViamVjdDogW1BBVENIIDEvMl0gSWYgdGhlIGxpYmMgaXMgbGFja2luZyBhcmdwLCB1c2UgbGliYXJncAorU3ViamVjdDogW1BBVENIIDEvNF0gSWYgdGhlIGxpYmMgaXMgbGFja2luZyBhcmdwLCB1c2UgbGliYXJncAogCiBQYXRjaCBwdWxsZWQgZnJvbSBHZW50b286CiAKQEAgLTIzLDEwICsyMywxMCBAQAogIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCiAKIGRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKLWluZGV4IDI3YTJkYmEuLjA0ZmNkMjUgMTAwNjQ0CitpbmRleCA0ZTc5OWRjLi5jNGE1ZGQ4IDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCiArKysgYi9jb25maWd1cmUuYWMKLUBAIC04Miw2ICs4MiwyOCBAQCBBU19JRigKK0BAIC0xMzUsNiArMTM1LDI4IEBAIEFTX0lGKAogIAldCiAgKQogIApAQCAtNTYsNSArNTYsNSBAQAogIGRubCBDb25maWd1cmUgb3B0aW9ucwogIGRubCAtLS0tLS0tLS0tLS0tLS0tLQogLS0gCi0yLjIuMQorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtY29uZmlndXJlLmFjLWZpeC10eXBvLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDEtY29uZmlndXJlLmFjLWZpeC10eXBvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0ZDI4YTAKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMS1jb25maWd1cmUuYWMtZml4LXR5cG8ucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSA5OWIwZWZlYmQ3NjU4MDMyMDM2ODZkODliYzRmOTk1YmNiMTAzZTc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorRGF0ZTogU2F0LCAxMCBOb3YgMjAxOCAwOTo1MzoxOSArMDgwMAorU3ViamVjdDogW1BBVENIXSBjb25maWd1cmUuYWM6IGZpeCB0eXBvCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2dpdGh1Yi5jb20vbmhvcm1hbi9ybmctdG9vbHMuZ2l0XQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA0ZTc5OWRjLi4wMjUxOTI4IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02Miw3ICs2Miw3IEBAIEFTX0lGKFt0ZXN0ICR0YXJnZXRfY3B1ID0gcG93ZXJwYzY0bGVdLCBbQUNfREVGSU5FKFtIQVZFX0RBUk5dLDEsW0VuYWJsZSBEQVJOXSldCisgQU1fQ09ORElUSU9OQUwoW0pJVFRFUl0sIFtmYWxzZV0pCisgCisgQUNfQVJHX0VOQUJMRShqaXR0ZXJlbnRyb3B5LAorLQlBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWppdHRlcm50cm9weSB8IC0tZW5hYmxlLWppdHRlcmVudHJvcHk9PHBhdGg+XSwKKysJQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1qaXR0ZXJlbnRyb3B5IHwgLS1lbmFibGUtaml0dGVyZW50cm9weT08cGF0aD5dLAorIAlbRGlzYWJsZSBqaXR0ZXJlbnRyb3B5IHNvdXJjZSwgb3Igc3BlY2lmeSBpdHMgbG9jYXRpb25dKSwKKyAJW2lmIFsgdGVzdCAtZCAkZW5hYmxlX2ppdHRlcmVudHJvcHkgXTsgdGhlbgorIAkJZXhwb3J0IExERkxBR1MrPS1MJGVuYWJsZV9qaXR0ZXJlbnRyb3B5OworLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMi1BZGQtYXJndW1lbnQtdG8tY29udHJvbC10aGUtbGliYXJncC1kZXBlbmRlbmN5LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaAppbmRleCAxYzhhNzljLi5iZTYwZmU5IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvMDAwMi1BZGQtYXJndW1lbnQtdG8tY29udHJvbC10aGUtbGliYXJncC1kZXBlbmRlbmN5LnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy8wMDAyLUFkZC1hcmd1bWVudC10by1jb250cm9sLXRoZS1saWJhcmdwLWRlcGVuZGVuY3kucGF0Y2gKQEAgLTEsMjMgKzEsMjYgQEAKLUZyb20gYWZjODcxMmE5ZTZjNzJmYmQwM2MzNmY4NGVjZjg3MDNlNWQyMmE4YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gNzExZTJmNzY4OTBlM2M1YjA4ZjY0ODU5ZDlmZDkxM2RkYmVjN2Q1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IENocmlzdG9waGVyIExhcnNvbiA8Y2hyaXNfbGFyc29uQG1lbnRvci5jb20+Ci1EYXRlOiBNb24sIDE1IEZlYiAyMDE2IDE2OjExOjMyIC0wNzAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgYXJndW1lbnQgdG8gY29udHJvbCB0aGUgbGliYXJncCBkZXBlbmRlbmN5CitEYXRlOiBNb24sIDIyIE9jdCAyMDE4IDE1OjI2OjQ3ICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMi80XSBBZGQgYXJndW1lbnQgdG8gY29udHJvbCB0aGUgbGliYXJncCBkZXBlbmRlbmN5CiAKIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBidWlsZHMgYXJlIGFsd2F5cyBkZXRlcm1pbmlzdGljLiBJZiB0aGUgYXJndW1lbnQgaXNuJ3QKIHBhc3NlZCwgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gdXNlIGxpYmFyZ3AgaWYgdGhlIGxpYmMgZG9lc24ndCBoYXZlIGFyZ3AuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogU2lnbmVkLW9mZi1ieTogQ2hyaXN0b3BoZXIgTGFyc29uIDxjaHJpc19sYXJzb25AbWVudG9yLmNvbT4KKworUmViYXNlIHRvIDYuNgorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgogLS0tCiAgY29uZmlndXJlLmFjIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwotaW5kZXggMDRmY2QyNS4uMTFhNTMyMSAxMDA2NDQKK2luZGV4IGM0YTVkZDguLmRkMWMzMGYgMTAwNjQ0CiAtLS0gYS9jb25maWd1cmUuYWMKICsrKyBiL2NvbmZpZ3VyZS5hYwotQEAgLTMyLDYgKzMyLDEzIEBAIEFDX0FSR19XSVRIKFtsaWJnY3J5cHRdLAotIAlbd2l0aF9saWJnY3J5cHQ9Y2hlY2tdCitAQCAtNDAsNiArNDAsMTMgQEAgQUNfQVJHX1dJVEgoW25pc3RiZWFjb25dLAorIAlbd2l0aF9uaXN0YmVhY29uPWNoZWNrXQogICkKICAKICtBQ19BUkdfV0lUSChbbGliYXJncF0sCkBAIC0yOSw4ICszMiw4IEBACiArCiAgZG5sIE1ha2Ugc3VyZSBhbnlvbmUgY2hhbmdpbmcgY29uZmlndXJlLmFjL01ha2VmaWxlLmFtIGhhcyBhIGNsdWUKICBBTV9NQUlOVEFJTkVSX01PREUKLSAKLUBAIC04MiwyNyArODksMzcgQEAgQVNfSUYoCisgQU1fUFJPR19BUworQEAgLTEzNSwyNyArMTQyLDM3IEBAIEFTX0lGKAogIAldCiAgKQogIApAQCAtODgsNSArOTEsNSBAQAogIGRubCAtLS0tLS0tLS0tLS0tLS0tLQogIGRubCBDb25maWd1cmUgb3B0aW9ucwogLS0gCi0yLjIuMQorMi43LjQKIApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3JlYWRfZXJyb3JfbXNnLnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3JlYWRfZXJyb3JfbXNnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWExM2JmLi4wMDAwMDAwCi0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9yZWFkX2Vycm9yX21zZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLXJuZy10b29sczogbW9kaWZ5ICdyZWFkIGVycm9yJyBtZXNzYWdlCi0KLU1ha2UgdGhlICdyZWFkIGVycm9yJyBtZXNzYWdlIG1vcmUgZGVzY3JpcHRpdmUuCi0KLUNvcGllZCBmcm9tIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9hdHRhY2htZW50LmNnaT9pZD0xMjk1ODU3Ci1hbmQgbW9kaWZpZWQgaW4gb25lIHBsYWNlIHRvIGFwcGx5IHN1Y2Nlc3NmdWxseS4gIEVycm9yIG1lc3NhZ2UgZHVyaW5nCi1ib290c3RyYXAgbW9kaWZpZWQgdG8gc2hvdyBkZXZpY2UgbmFtZS4KLQotVXBzdHJlYW0tU3RhdHVzOiBwZW5kaW5nCi0KLVNpZ25lZC1vZmYtYnk6IEpvZSBTbGF0ZXIgPGpvZS5zbGF0ZXJAd2luZHJpdmVyLmNvbT4KLQotCi0tLS0gYS9ybmdkLmMKLSsrKyBiL3JuZ2QuYwotQEAgLTI0Nyw4ICsyNDcsMTEgQEAgc3RhdGljIHZvaWQgZG9fbG9vcChpbnQgcmFuZG9tX3N0ZXApCi0gCQkJCWNvbnRpbnVlOwkvKiBmYWlsZWQsIG5vIHdvcmsgKi8KLSAKLSAJCQlyZXR2YWwgPSBpdGVyLT54cmVhZChidWYsIHNpemVvZiBidWYsIGl0ZXIpOwotLQkJCWlmIChyZXR2YWwpCi0rCQkJaWYgKHJldHZhbCkgewotKwkJCQltZXNzYWdlKExPR19EQUVNT058TE9HX0VSUiwKLSsJCQkJCSJFcnJvciByZWFkaW5nIGZyb20gZW50cm9weSBzb3VyY2VcbiIpOwotIAkJCQljb250aW51ZTsJLyogZmFpbGVkLCBubyB3b3JrICovCi0rCQkJfQotIAotIAkJCXdvcmtfZG9uZSA9IHRydWU7Ci0gCi0tLS0gYS9ybmdkX2VudHNvdXJjZS5jCi0rKysgYi9ybmdkX2VudHNvdXJjZS5jCi1AQCAtNjMsMTAgKzYzLDggQEAgaW50IHhyZWFkKHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUsIHN0cnVjdAotIAkJc2l6ZSAtPSByOwotIAl9Ci0gCi0tCWlmIChzaXplKSB7Ci0tCQltZXNzYWdlKExPR19EQUVNT058TE9HX0VSUiwgInJlYWQgZXJyb3JcbiIpOwotKwlpZiAoc2l6ZSkKLSAJCXJldHVybiAtMTsKLS0JfQotIAlyZXR1cm4gMDsKLSB9Ci0gCi1AQCAtMTUyLDcgKzE1MCw3IEBAIGVycm9yX291dDoKLSB9Ci0gCi0gLyogSW5pdGlhbGl6ZSBlbnRyb3B5IHNvdXJjZSAqLwotLXN0YXRpYyBpbnQgZGlzY2FyZF9pbml0aWFsX2RhdGEoc3RydWN0IHJuZyAqZW50X3NyYykKLStzdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCBybmcgKmVudF9zcmMsIGludCAqYnVmKQotIHsKLSAJLyogVHJhc2ggMzIgYml0cyBvZiB3aGF0IGlzIHByb2JhYmx5IHN0YWxlIChub24tcmFuZG9tKQotIAkgKiBpbml0aWFsIHN0YXRlIGZyb20gdGhlIFJORy4gIEZvciBJbnRlbCdzLCA4IGJpdHMgd291bGQKLUBAIC0xNjQsMTAgKzE2MiwxMiBAQCBzdGF0aWMgaW50IGRpc2NhcmRfaW5pdGlhbF9kYXRhKHN0cnVjdCByCi0gCXhyZWFkKHRlbXBidWYsIHNpemVvZih0ZW1wYnVmKSwgZW50X3NyYyk7Ci0gCi0gCS8qIFJldHVybiAzMiBiaXRzIG9mIGJvb3RzdHJhcCBkYXRhICovCi0tCXhyZWFkKHRlbXBidWYsIHNpemVvZih0ZW1wYnVmKSwgZW50X3NyYyk7Ci0rCWlmICh4cmVhZCh0ZW1wYnVmLCBzaXplb2YodGVtcGJ1ZiksIGVudF9zcmMpICE9IDApCi0rCQlyZXR1cm4gLTE7Ci0gCi0tCXJldHVybiB0ZW1wYnVmWzBdIHwgKHRlbXBidWZbMV0gPDwgOCkgfAotKwkqYnVmID0gdGVtcGJ1ZlswXSB8ICh0ZW1wYnVmWzFdIDw8IDgpIHwKLSAJCSh0ZW1wYnVmWzJdIDw8IDE2KSB8ICh0ZW1wYnVmWzNdIDw8IDI0KTsKLSsJcmV0dXJuIDA7Ci0gfQotIAotIC8qCi1AQCAtMTc1LDYgKzE3NSw4IEBAIHN0YXRpYyBpbnQgZGlzY2FyZF9pbml0aWFsX2RhdGEoc3RydWN0IHIKLSAgKi8KLSBpbnQgaW5pdF9lbnRyb3B5X3NvdXJjZShzdHJ1Y3Qgcm5nICplbnRfc3JjKQotIHsKLSsJaW50IGJvb3RzdHJhcDsKLSsKLSAJZW50X3NyYy0+cm5nX2ZkID0gb3BlbihlbnRfc3JjLT5ybmdfbmFtZSwgT19SRE9OTFkpOwotIAlpZiAoZW50X3NyYy0+cm5nX2ZkID09IC0xKSB7Ci0gCQlyZXR1cm4gMTsKLUBAIC0xODIsNyArMTg0LDExIEBAIGludCBpbml0X2VudHJvcHlfc291cmNlKHN0cnVjdCBybmcgKmVudF8KLSAJc3JjX2xpc3RfYWRkKGVudF9zcmMpOwotIAkvKiBCb290c3RyYXAgRklQUyB0ZXN0cyAqLwotIAllbnRfc3JjLT5maXBzY3R4ID0gbWFsbG9jKHNpemVvZihmaXBzX2N0eF90KSk7Ci0tCWZpcHNfaW5pdChlbnRfc3JjLT5maXBzY3R4LCBkaXNjYXJkX2luaXRpYWxfZGF0YShlbnRfc3JjKSk7Ci0rCWlmIChkaXNjYXJkX2luaXRpYWxfZGF0YShlbnRfc3JjLCAmYm9vdHN0cmFwKSAhPSAwKSB7Ci0rCQltZXNzYWdlKExPR19FUlJ8TE9HX0lORk8sICJSZWFkIGZhaWx1cmUgaW4gJXMgZHVyaW5nIGJvb3RzdHJhcFxuIixlbnRfc3JjLT5ybmdfbmFtZSk7Ci0rCQlyZXR1cm4gMTsKLSsJfQotKwlmaXBzX2luaXQoZW50X3NyYy0+Zmlwc2N0eCwgYm9vdHN0cmFwKTsKLSAJcmV0dXJuIDA7Ci0gfQotIAotLS0tIGEvcm5ndGVzdC5jCi0rKysgYi9ybmd0ZXN0LmMKLUBAIC0zMzUsNiArMzM1LDcgQEAgc3RhdGljIGludCBkaXNjYXJkX2luaXRpYWxfZGF0YSh2b2lkKQotIAotIAlyZXR1cm4gdGVtcGJ1ZlswXSB8ICh0ZW1wYnVmWzFdIDw8IDgpIHwKLSAJCSh0ZW1wYnVmWzJdIDw8IDE2KSB8ICh0ZW1wYnVmWzNdIDw8IDI0KTsKLSsKLSB9Ci0gCi0gc3RhdGljIHZvaWQgZG9fcm5nX2ZpcHNfdGVzdF9sb29wKCB2b2lkICkKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy9ybmctdG9vbHMtNS1maXgtdGV4dHJlbHMtb24tUElDLXg4Ni5wYXRjaAppbmRleCA5M2E1ODY0Li42MTRhZGFiIDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2gKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoCkBAIC0xLDUgKzEsMTAgQEAKLUZyb206IEZyYW5jaXNjbyBCbGFzIEl6cXVpZXJkbyBSaWVyYSAoa2xvbmRpa2UpIDxrbG9uZGlrZUBnZW50b28ub3JnPgotU3ViamVjdDogW1BBVENIXSBGaXggYXNzZW1ieSB0ZXh0cmVscyBvbiByZHJhbmRfYXNtLlMgb24gUElDIHg4NgorRnJvbSBkOGIxYmI4ZWRkOTliMjg5ODcyMGI0ZjEwZDI5MmE2N2Q1MzJkYjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIkZyYW5jaXNjbyBCbGFzIEl6cXVpZXJkbyBSaWVyYSAoa2xvbmRpa2UpIiA8a2xvbmRpa2VAZ2VudG9vLm9yZz4KK0RhdGU6IE1vbiwgMjIgT2N0IDIwMTggMTU6Mjk6MzYgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzRdIEZpeCBhc3NlbWJ5IHRleHRyZWxzIG9uIHJkcmFuZF9hc20uUyBvbiBQSUMgeDg2CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CiAKIFRoaXMgcGF0Y2ggdXBkYXRlcyB0aGUgZml4ZXMgaW4gdGhlIGFzc2VtYmx5IGluIHJkcmFuZF9hc20uUyBpbgogc3lzLWFwcHMvcm5nLXRvb2xzLTUgc28gaXQgd29uJ3QgZ2VuZXJhdGUgdGV4dHJlbHMgb24gUElDIHN5c3RlbXMuCkBAIC0xOSwxMSArMjQsMTQgQEAKIFRlc3RlZC1ieTogQW50aG9ueSBCYXNpbGUgPGJsdWVuZXNzQGdlbnRvby5vcmc+CiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgcmRyYW5kX2FzbS5TIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKykKIAotSW5kZXg6IHJuZy10b29scy01L3JkcmFuZF9hc20uUwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHJuZy10b29scy01Lm9yaWcvcmRyYW5kX2FzbS5TCi0rKysgcm5nLXRvb2xzLTUvcmRyYW5kX2FzbS5TCitkaWZmIC0tZ2l0IGEvcmRyYW5kX2FzbS5TIGIvcmRyYW5kX2FzbS5TCitpbmRleCBiNWQyNjBhLi43ODExY2YyIDEwMDY0NAorLS0tIGEvcmRyYW5kX2FzbS5TCisrKysgYi9yZHJhbmRfYXNtLlMKIEBAIC0yLDYgKzIsNyBAQAogICAqIENvcHlyaWdodCAoYykgMjAxMS0yMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbgogICAqIEF1dGhvcnM6IEZlbmdodWEgWXUgPGZlbmdodWEueXVAaW50ZWwuY29tPiwKQEAgLTMyLDcgKzQwLDcgQEAKICAgKgogICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CiAgICogdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKLUBAIC0xNzQsNyArMTc1LDE5IEBAIEVOVFJZKHg4Nl9yZHNlZWRfb3JfcmRyYW5kX2J5dGVzKQorQEAgLTE3Miw3ICsxNzMsMTkgQEAgRU5UUlkoeDg2X3Jkc2VlZF9vcl9yZHJhbmRfYnl0ZXMpCiAgCWptcAk0YgogIEVORFBST0MoeDg2X3Jkc2VlZF9vcl9yZHJhbmRfYnl0ZXMpCiAgCkBAIC01Miw3ICs2MCw3IEBACiAgI2RlZmluZSBQVFIwCSVlYXgKICAjZGVmaW5lIFBUUjEJJWVkeAogICNkZWZpbmUgUFRSMgklZWN4Ci1AQCAtMTkwLDYgKzIwMyw3IEBAIEVOVFJZKHg4Nl9hZXNfbWFuZ2xlKQorQEAgLTE4OCw2ICsyMDEsNyBAQCBFTlRSWSh4ODZfYWVzX21hbmdsZSkKICAJbW92bAk4KCVlYnApLCAlZWF4CiAgCW1vdmwJMTIoJWVicCksICVlZHgKICAJcHVzaAklZXNpCkBAIC02MCw3ICs2OCw3IEBACiAgI2VuZGlmCiAgCW1vdmwJJDUxMiwgQ1RSMwkvKiBOdW1iZXIgb2Ygcm91bmRzICovCiAgCQotQEAgLTI4MCw2ICsyOTQsNyBAQCBvZmZzZXQgPSBvZmZzZXQgKyAxNgorQEAgLTI3OCw2ICsyOTIsNyBAQCBvZmZzZXQgPSBvZmZzZXQgKyAxNgogIAltb3ZkcWEJJXhtbTcsICg3KjE2KShQVFIxKQogIAogICNpZmRlZiBfX2kzODZfXwpAQCAtNjgsNyArNzYsNyBAQAogIAlwb3AJJWVzaQogIAlwb3AJJWVicAogICNlbmRpZgotQEAgLTI5NCw2ICszMDksNyBAQCBFTlRSWSh4ODZfYWVzX2V4cGFuZF9rZXkpCitAQCAtMjkyLDYgKzMwNyw3IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKICAJcHVzaAklZWJwCiAgCW1vdgklZXNwLCAlZWJwCiAgCW1vdmwJOCglZWJwKSwgJWVheApAQCAtNzYsNyArODQsNyBAQAogICNlbmRpZgogIAogIAlTRVRQVFIoYWVzX3JvdW5kX2tleXMsIFBUUjEpCi1AQCAtMzIzLDYgKzMzOSw3IEBAIEVOVFJZKHg4Nl9hZXNfZXhwYW5kX2tleSkKK0BAIC0zMjEsNiArMzM3LDcgQEAgRU5UUlkoeDg2X2Flc19leHBhbmRfa2V5KQogIAljYWxsCTFmCiAgCiAgI2lmZGVmIF9faTM4Nl9fCkBAIC04NCw3ICs5Miw3IEBACiAgCXBvcAklZWJwCiAgI2VuZGlmCiAgCXJldAotQEAgLTM0Myw2ICszNjAsMTYgQEAgRU5UUlkoeDg2X2Flc19leHBhbmRfa2V5KQorQEAgLTM0MSw2ICszNTgsMTYgQEAgRU5UUlkoeDg2X2Flc19leHBhbmRfa2V5KQogIAogIEVORFBST0MoeDg2X2Flc19leHBhbmRfa2V5KQogIApAQCAtMTAxLDMgKzEwOSw2IEBACiAgCS5ic3MKICAJLmJhbGlnbiA2NAogIGFlc19yb3VuZF9rZXlzOgorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHMvdW5kZXJxdW90ZS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy91bmRlcnF1b3RlLnBhdGNoCmluZGV4IGFmZDA4ZDUuLmFhNGJiY2IgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy91bmRlcnF1b3RlLnBhdGNoCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29scy91bmRlcnF1b3RlLnBhdGNoCkBAIC0xLDQgKzEsOCBAQAotRml4IHVuZGVycXVvdGVkIG00IGVudHJ5LiBUaGlzIGNhdXNlcyBhIGZhaWx1cmUgaWYgZ2NyeXB0IGlzbid0IHByZXNlbnQ6CitGcm9tIDAzZmU3ZWZhMWJjMDRhODNmYjliNjc4Nzk5OGU3YmFhN2VlOTA2NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSaWNoYXJkIFB1cmRpZSA8cmljaGFyZC5wdXJkaWVAbGludXhmb3VuZGF0aW9uLm9yZz4KK0RhdGU6IE1vbiwgMjIgT2N0IDIwMTggMTU6Mjc6NDEgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzRdIEZpeCB1bmRlcnF1b3RlZCBtNCBlbnRyeS4gVGhpcyBjYXVzZXMgYSBmYWlsdXJlIGlmIGdjcnlwdAorIGlzbid0IHByZXNlbnQ6CiAKIHwgY29uZmlndXJlOiBsaWJnY3J5cHQgc3VwcG9ydCBkaXNhYmxlZAogfCAuLi9ybmctdG9vbHMtNS9jb25maWd1cmU6IGxpbmUgNDM0NTogYWNfZm5fY190cnlfbGluazogY29tbWFuZCBub3QgZm91bmQKQEAgLTksMTEgKzEzLDE3IEBACiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCi1JbmRleDogcm5nLXRvb2xzLTUvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gcm5nLXRvb2xzLTUub3JpZy9jb25maWd1cmUuYWMKLSsrKyBybmctdG9vbHMtNS9jb25maWd1cmUuYWMKLUBAIC03MSw3ICs3MSw3IEBAIEFTX0lGKAorUmViYXNlIHRvIDYuNgorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggZGQxYzMwZi4uODhkMmJlMyAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTI0LDcgKzEyNCw3IEBAIEFTX0lGKAogIAlbdGVzdCAieCR3aXRoX2xpYmdjcnlwdCIgIT0gInhubyJdLAogIAlbCiAgCQlBQ19DSEVDS19IRUFERVIoW2djcnlwdC5oXSwKQEAgLTIyLDcgKzMyLDcgQEAKICAJCQkJW2djcnlwdF0sCiAgCQkJCVtnY3J5X2NoZWNrX3ZlcnNpb25dLCAsCiAgCQkJCVsKLUBAIC04MCw3ICs4MCw3IEBAIEFTX0lGKAorQEAgLTEzMyw3ICsxMzMsNyBAQCBBU19JRigKICAJCQkJCQlBQ19NU0dfTk9USUNFKFtsaWJnY3J5cHQgc3VwcG9ydCBkaXNhYmxlZF0pCiAgCQkJCQlmaQogIAkJCQldCkBAIC0zMSwzICs0MSw2IEBACiAgCQkJW2lmIHRlc3QgIngkd2l0aF9saWJnY3J5cHQiICE9ICJ4Y2hlY2siOyB0aGVuCiAgCQkJCUFDX01TR19GQUlMVVJFKFtsaWJnY3J5cHQgaGVhZGVycyBub3QgZm91bmRdKTsgZWxzZQogIAkJCQlBQ19NU0dfTk9USUNFKFtsaWJnY3J5cHQgc3VwcG9ydCBkaXNhYmxlZF0pCistLSAKKzIuNy40CisKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc181LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzUuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3NjU2NjcuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9ybmctdG9vbHMvcm5nLXRvb2xzXzUuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1TVU1NQVJZID0gIlJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGRhZW1vbiIKLUxJQ0VOU0UgPSAiR1BMdjIiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wYjZmMDMzYWZlNmRiMjM1ZTU1OTQ1NjU4NWRjOGNkYyIKLQotU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vZ2tlcm5lbC8ke0JQfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1JZi10aGUtbGliYy1pcy1sYWNraW5nLWFyZ3AtdXNlLWxpYmFyZ3AucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMi1BZGQtYXJndW1lbnQtdG8tY29udHJvbC10aGUtbGliYXJncC1kZXBlbmRlbmN5LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL3VuZGVycXVvdGUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcm5nLXRvb2xzLTUtZml4LXRleHRyZWxzLW9uLVBJQy14ODYucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vcmVhZF9lcnJvcl9tc2cucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vaW5pdCBcCi0gICAgICAgICAgIGZpbGU6Ly9kZWZhdWx0IFwKLSAgICAgICAgICAgZmlsZTovL3JuZ2Quc2VydmljZSBcCi0iCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICI2NzI2Y2RjNmZhZTFmNTEyMjQ2M2YyNGFlOTgwZGQ2OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2MGExMDJiNjYwM2JiY2NlMmRhMzQxNDcwY2FkNDJlZWFhOTU2NGExNmI0NDkwZTc4NjcwMjZjYTExYTMwNzhlIgotCi1pbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kCi0KLVBBQ0tBR0VDT05GSUcgPSAibGliZ2NyeXB0IgotUEFDS0FHRUNPTkZJR19saWJjLW11c2wgPSAibGliYXJncCIKLVBBQ0tBR0VDT05GSUdbbGliYXJncF0gPSAiLS13aXRoLWxpYmFyZ3AsLS13aXRob3V0LWxpYmFyZ3AsYXJncC1zdGFuZGFsb25lLCIKLVBBQ0tBR0VDT05GSUdbbGliZ2NyeXB0XSA9ICItLXdpdGgtbGliZ2NyeXB0LC0td2l0aG91dC1saWJnY3J5cHQsbGliZ2NyeXB0LCIKLQotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0gICAgIyBPbmx5IGluc3RhbGwgdGhlIGluaXQgc2NyaXB0IHdoZW4gJ3N5c3Zpbml0JyBpcyBpbiBESVNUUk9fRkVBVFVSRVMuCi0gICAgaWYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdzeXN2aW5pdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCi0gICAgICAgIGluc3RhbGwgLWQgIiR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZCIKLSAgICAgICAgaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCi0gICAgICAgIHNlZCAtaSAtZSAncywvZXRjLywke3N5c2NvbmZkaXJ9LywnIC1lICdzLC91c3Ivc2Jpbi8sJHtzYmluZGlyfS8sJyBcCi0gICAgICAgICAgICAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvcm5nLXRvb2xzCi0KLSAgICAgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdCIKLSAgICAgICAgaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3JuZy10b29scwotICAgIGZpCi0KLSAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3RlbWQnLCAndHJ1ZScsICdmYWxzZScsIGQpfTsgdGhlbgotICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgIGluc3RhbGwgLW0gNjQ0ICR7V09SS0RJUn0vcm5nZC5zZXJ2aWNlICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtCi0gICAgICAgIHNlZCAtaSAtZSAncyxAU0JJTkRJUkAsJHtzYmluZGlyfSxnJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS9ybmdkLnNlcnZpY2UKLSAgICBmaQotfQotCi1JTklUU0NSSVBUX05BTUUgPSAicm5nLXRvb2xzIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMDMgMiAzIDQgNSAuIHN0b3AgMzAgMCA2IDEgLiIKLQotU1lTVEVNRF9TRVJWSUNFXyR7UE59ID0gInJuZ2Quc2VydmljZSIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvcm5nLXRvb2xzL3JuZy10b29sc182LjYuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNi42LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3OTZjOWIKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3JuZy10b29scy9ybmctdG9vbHNfNi42LmJiCkBAIC0wLDAgKzEsNTggQEAKK1NVTU1BUlkgPSAiUmFuZG9tIG51bWJlciBnZW5lcmF0b3IgZGFlbW9uIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWIyMzRlZTRkNjlmNWZjZTQ0ODZhODBmZGFmNGE0MjYzIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vbmhvcm1hbi9ybmctdG9vbHMuZ2l0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSWYtdGhlLWxpYmMtaXMtbGFja2luZy1hcmdwLXVzZS1saWJhcmdwLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDItQWRkLWFyZ3VtZW50LXRvLWNvbnRyb2wtdGhlLWxpYmFyZ3AtZGVwZW5kZW5jeS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly91bmRlcnF1b3RlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3JuZy10b29scy01LWZpeC10ZXh0cmVscy1vbi1QSUMteDg2LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtY29uZmlndXJlLmFjLWZpeC10eXBvLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2luaXQgXAorICAgICAgICAgICBmaWxlOi8vZGVmYXVsdCBcCisgICAgICAgICAgIGZpbGU6Ly9ybmdkLnNlcnZpY2UgXAorIgorU1JDUkVWID0gIjRlYmMyMWQ2ZjM4N2JiN2I0YjNmNmJhZGM0MjllMjdiMjFjMGE2ZWUiCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyB1cGRhdGUtcmMuZCBzeXN0ZW1kIHBrZ2NvbmZpZworCitERVBFTkRTID0gIiBcCisgICAgICAgICAgIHN5c2ZzdXRpbHMgXAorICAgICAgICAgICIKKworUEFDS0FHRUNPTkZJRyA/Pz0gImxpYmdjcnlwdCBsaWJqaXR0ZXJlbnRyb3B5IgorUEFDS0FHRUNPTkZJR19saWJjLW11c2wgPSAibGliYXJncCBsaWJqaXR0ZXJlbnRyb3B5IgorUEFDS0FHRUNPTkZJR1tsaWJhcmdwXSA9ICItLXdpdGgtbGliYXJncCwtLXdpdGhvdXQtbGliYXJncCxhcmdwLXN0YW5kYWxvbmUsIgorUEFDS0FHRUNPTkZJR1tsaWJnY3J5cHRdID0gIi0td2l0aC1saWJnY3J5cHQsLS13aXRob3V0LWxpYmdjcnlwdCxsaWJnY3J5cHQsIgorUEFDS0FHRUNPTkZJR1tsaWJqaXR0ZXJlbnRyb3B5XSA9ICItLWVuYWJsZS1qaXR0ZXJlbnRyb3B5LC0tZGlzYWJsZS1qaXR0ZXJlbnRyb3B5LGxpYmppdHRlcmVudHJvcHkiCitQQUNLQUdFQ09ORklHW25pc3RiZWFjb25dID0gIi0td2l0aC1uaXN0YmVhY29uLC0td2l0aG91dC1uaXN0YmVhY29uLGN1cmwgbGlieG1sMiBvcGVuc3NsIgorCisjIFJlZmVyIGF1dG9nZW4uc2ggaW4gcm5nLXRvb2xzCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICBjcCAke1N9L1JFQURNRS5tZCAke1N9L1JFQURNRQorfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKyAgICAjIE9ubHkgaW5zdGFsbCB0aGUgaW5pdCBzY3JpcHQgd2hlbiAnc3lzdmluaXQnIGlzIGluIERJU1RST19GRUFUVVJFUy4KKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3N5c3Zpbml0JywgJ3RydWUnLCAnZmFsc2UnLCBkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAiJHtEfSR7c3lzY29uZmRpcn0vaW5pdC5kIgorICAgICAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS9pbml0ICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ybmctdG9vbHMKKyAgICAgICAgc2VkIC1pIC1lICdzLC9ldGMvLCR7c3lzY29uZmRpcn0vLCcgLWUgJ3MsL3Vzci9zYmluLywke3NiaW5kaXJ9LywnIFwKKyAgICAgICAgICAgICR7RH0ke3N5c2NvbmZkaXJ9L2luaXQuZC9ybmctdG9vbHMKKworICAgICAgICBpbnN0YWxsIC1kICIke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0IgorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS9kZWZhdWx0ICR7RH0ke3N5c2NvbmZkaXJ9L2RlZmF1bHQvcm5nLXRvb2xzCisgICAgZmkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnc3lzdGVtZCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgaW5zdGFsbCAtbSA2NDQgJHtXT1JLRElSfS9ybmdkLnNlcnZpY2UgJHtEfSR7c3lzdGVtZF91bml0ZGlyfS9zeXN0ZW0KKyAgICAgICAgc2VkIC1pIC1lICdzLEBTQklORElSQCwke3NiaW5kaXJ9LGcnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3JuZ2Quc2VydmljZQorICAgIGZpCit9CisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJybmctdG9vbHMiCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCAwMyAyIDMgNCA1IC4gc3RvcCAzMCAwIDYgMSAuIgorCitTWVNURU1EX1NFUlZJQ0VfJHtQTn0gPSAicm5nZC5zZXJ2aWNlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zaGFyZWQtbWltZS1pbmZvL3NoYXJlZC1taW1lLWluZm8uaW5jIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zaGFyZWQtbWltZS1pbmZvL3NoYXJlZC1taW1lLWluZm8uaW5jCmluZGV4IDM0NGRhN2UuLjNmZTFhNDQgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc2hhcmVkLW1pbWUtaW5mby9zaGFyZWQtbWltZS1pbmZvLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NoYXJlZC1taW1lLWluZm8vc2hhcmVkLW1pbWUtaW5mby5pbmMKQEAgLTMwLDYgKzMwLDggQEAKIAogZG9faW5zdGFsbF9jbGFzcy1uYXRpdmUgKCkgewogCWF1dG90b29sc19kb19pbnN0YWxsCisKKwkke0J9L3VwZGF0ZS1taW1lLWRhdGFiYXNlICR7RH0ke2RhdGFkaXJ9L21pbWUKIH0KIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy5pbmMgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzLmluYwppbmRleCAxODM0ODY3Li5kYWYzZGI1IDEwMDY0NAotLS0gYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzLmluYworKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzLmluYwpAQCAtMjEsMTEgKzIxLDE5IEBACiAKIGluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwogCi1QQUNLQUdFQ09ORklHID89ICIiCi1QQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA9ICIiCisjIGVuYWJsZSB0aG9zZSB3aGljaCBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIGNvbmZpZ3VyZQorUEFDS0FHRUNPTkZJRyA/PSAiZnRzNCBmdHM1IGpzb24xIHJ0cmVlIGR5bl9leHQiCitQQUNLQUdFQ09ORklHX2NsYXNzLW5hdGl2ZSA/PSAiZnRzNCBmdHM1IGpzb24xIHJ0cmVlIGR5bl9leHQiCiAKIFBBQ0tBR0VDT05GSUdbZWRpdGxpbmVdID0gIi0tZW5hYmxlLWVkaXRsaW5lLC0tZGlzYWJsZS1lZGl0bGluZSxsaWJlZGl0IgogUEFDS0FHRUNPTkZJR1tyZWFkbGluZV0gPSAiLS1lbmFibGUtcmVhZGxpbmUsLS1kaXNhYmxlLXJlYWRsaW5lLHJlYWRsaW5lIG5jdXJzZXMiCitQQUNLQUdFQ09ORklHW2Z0czNdID0gIi0tZW5hYmxlLWZ0czMsLS1kaXNhYmxlLWZ0czMiCitQQUNLQUdFQ09ORklHW2Z0czRdID0gIi0tZW5hYmxlLWZ0czQsLS1kaXNhYmxlLWZ0czQiCitQQUNLQUdFQ09ORklHW2Z0czVdID0gIi0tZW5hYmxlLWZ0czUsLS1kaXNhYmxlLWZ0czUiCitQQUNLQUdFQ09ORklHW2pzb24xXSA9ICItLWVuYWJsZS1qc29uMSwtLWRpc2FibGUtanNvbjEiCitQQUNLQUdFQ09ORklHW3J0cmVlXSA9ICItLWVuYWJsZS1ydHJlZSwtLWRpc2FibGUtcnRyZWUiCitQQUNLQUdFQ09ORklHW3Nlc3Npb25dID0gIi0tZW5hYmxlLXNlc3Npb24sLS1kaXNhYmxlLXNlc3Npb24iCitQQUNLQUdFQ09ORklHW2R5bl9leHRdID0gIi0tZW5hYmxlLWR5bmFtaWMtZXh0ZW5zaW9ucywtLWRpc2FibGUtZHluYW1pYy1leHRlbnNpb25zIgogCiBFWFRSQV9PRUNPTkYgPSAiIFwKICAgICAtLWVuYWJsZS1zaGFyZWQgXApkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy9DVkUtMjAxOS05OTM2LnBhdGNoIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy9DVkUtMjAxOS05OTM2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiOTA3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzL0NWRS0yMDE5LTk5MzYucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorUnVubmluZyBmdHM1IHByZWZpeCBxdWVyaWVzIGluc2lkZSBhIHRyYW5zYWN0aW9uIGNvdWxkIHRyaWdnZXIgYSBoZWFwLWJhc2VkCitidWZmZXIgb3Zlci1yZWFkIGluIGZ0czVIYXNoRW50cnlTb3J0IGluIHNxbGl0ZTMuYywgd2hpY2ggbWF5IGxlYWQgdG8gYW4KK2luZm9ybWF0aW9uIGxlYWsuCisKK0NWRTogQ1ZFLTIwMTktOTkzNgorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9zcWxpdGUub3JnL3NyYy92cGF0Y2g/ZnJvbT00NWM3M2RlYjQ0MDQ5NmU4JnRvPWIzZmE1OGRkNzQwM2RiZDRdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorLS0tCisgc3FsaXRlMy5jIHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3FsaXRlMy5jIGIvc3FsaXRlMy5jCitpbmRleCA0NzI5ZjQ1Li42NTUyN2Q4IDEwMDY0NAorLS0tIGEvc3FsaXRlMy5jCisrKysgYi9zcWxpdGUzLmMKK0BAIC0yMDc3NTksNyArMjA3NzU5LDkgQEAgc3RhdGljIGludCBmdHM1SGFzaEVudHJ5U29ydCgKKyAgIGZvcihpU2xvdD0wOyBpU2xvdDxwSGFzaC0+blNsb3Q7IGlTbG90KyspeworICAgICBGdHM1SGFzaEVudHJ5ICpwSXRlcjsKKyAgICAgZm9yKHBJdGVyPXBIYXNoLT5hU2xvdFtpU2xvdF07IHBJdGVyOyBwSXRlcj1wSXRlci0+cEhhc2hOZXh0KXsKKy0gICAgICBpZiggcFRlcm09PTAgfHwgMD09bWVtY21wKGZ0czVFbnRyeUtleShwSXRlciksIHBUZXJtLCBuVGVybSkgKXsKKysgICAgICBpZiggcFRlcm09PTAKKysgICAgICAgfHwgKHBJdGVyLT5uS2V5KzE+PW5UZXJtICYmIDA9PW1lbWNtcChmdHM1RW50cnlLZXkocEl0ZXIpLCBwVGVybSwgblRlcm0pKQorKyAgICAgICl7CisgICAgICAgICBGdHM1SGFzaEVudHJ5ICpwRW50cnkgPSBwSXRlcjsKKyAgICAgICAgIHBFbnRyeS0+cFNjYW5OZXh0ID0gMDsKKyAgICAgICAgIGZvcihpPTA7IGFwW2ldOyBpKyspeworLS0gCisyLjIwLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNy5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTMvQ1ZFLTIwMTktOTkzNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWE1NjY2Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlMy9DVkUtMjAxOS05OTM3LnBhdGNoCkBAIC0wLDAgKzEsMTg3IEBACitJbnRlcmxlYXZpbmcgcmVhZHMgYW5kIHdyaXRlcyBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbiB3aXRoIGFuIGZ0czUgdmlydHVhbCB0YWJsZQord2lsbCBsZWFkIHRvIGEgTlVMTCBQb2ludGVyIERlcmVmZXJlbmNlIGluIGZ0czVDaHVua0l0ZXJhdGUgaW4gc3FsaXRlMy5jLgorCitDVkU6IENWRS0yMDE5LTk5MzcKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQgW2h0dHBzOi8vc3FsaXRlLm9yZy9zcmMvdnBhdGNoP2Zyb209YzJmNTBhYTRlN2JhZDg4MiZ0bz00NWM3M2RlYjQ0MDQ5NmU4XQorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworLS0tCisgc3FsaXRlMy5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NxbGl0ZTMuYyBiL3NxbGl0ZTMuYworaW5kZXggNjU1MjdkOC4uYjFhODc5OSAxMDA2NDQKKy0tLSBhL3NxbGl0ZTMuYworKysrIGIvc3FsaXRlMy5jCitAQCAtMjAwNjY4LDggKzIwMDY2OCw5IEBAIHN0YXRpYyB2b2lkIHNxbGl0ZTNGdHM1SGFzaENsZWFyKEZ0czVIYXNoKik7CisgCisgc3RhdGljIGludCBzcWxpdGUzRnRzNUhhc2hRdWVyeSgKKyAgIEZ0czVIYXNoKiwgICAgICAgICAgICAgICAgICAgICAgLyogSGFzaCB0YWJsZSB0byBxdWVyeSAqLworKyAgaW50IG5QcmUsCisgICBjb25zdCBjaGFyICpwVGVybSwgaW50IG5UZXJtLCAgIC8qIFF1ZXJ5IHRlcm0gKi8KKy0gIGNvbnN0IHU4ICoqcHBEb2NsaXN0LCAgICAgICAgICAgLyogT1VUOiBQb2ludGVyIHRvIGRvY2xpc3QgZm9yIHBUZXJtICovCisrICB2b2lkICoqcHBPYmosCQkJICAvKiBPVVQ6IFBvaW50ZXIgdG8gZG9jbGlzdCBmb3IgcFRlcm0gKi8KKyAgIGludCAqcG5Eb2NsaXN0ICAgICAgICAgICAgICAgICAgLyogT1VUOiBTaXplIG9mIGRvY2xpc3QgaW4gYnl0ZXMgKi8KKyApOworIAorQEAgLTIwNzUwMSwxOSArMjA3NTAyLDI1IEBAIHN0YXRpYyBpbnQgZnRzNUhhc2hSZXNpemUoRnRzNUhhc2ggKnBIYXNoKXsKKyAgIHJldHVybiBTUUxJVEVfT0s7CisgfQorIAorLXN0YXRpYyB2b2lkIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUoRnRzNUhhc2ggKnBIYXNoLCBGdHM1SGFzaEVudHJ5ICpwKXsKKytzdGF0aWMgaW50IGZ0czVIYXNoQWRkUG9zbGlzdFNpemUoCisrICBGdHM1SGFzaCAqcEhhc2gsCisrICBGdHM1SGFzaEVudHJ5ICpwLAorKyAgRnRzNUhhc2hFbnRyeSAqcDIKKyspeworKyAgaW50IG5SZXQgPSAwOworICAgaWYoIHAtPmlTelBvc2xpc3QgKXsKKy0gICAgdTggKnBQdHIgPSAodTgqKXA7CisrICAgIHU4ICpwUHRyID0gcDIgPyAodTgqKXAyIDogKHU4KilwOworKyAgICBpbnQgbkRhdGEgPSBwLT5uRGF0YTsKKyAgICAgaWYoIHBIYXNoLT5lRGV0YWlsPT1GVFM1X0RFVEFJTF9OT05FICl7CistICAgICAgYXNzZXJ0KCBwLT5uRGF0YT09cC0+aVN6UG9zbGlzdCApOworKyAgICAgIGFzc2VydCggbkRhdGE9PXAtPmlTelBvc0xpc3QgKTsKKyAgICAgICBpZiggcC0+YkRlbCApeworLSAgICAgICAgcFB0cltwLT5uRGF0YSsrXSA9IDB4MDA7CisrICAgICAgICBwUHRyW25EYXRhKytdID0gMHgwMDsKKyAgICAgICAgIGlmKCBwLT5iQ29udGVudCApeworLSAgICAgICAgICBwUHRyW3AtPm5EYXRhKytdID0gMHgwMDsKKysgICAgICAgICAgcFB0cltuRGF0YSsrXSA9IDB4MDA7CisgICAgICAgICB9CisgICAgICAgfQorICAgICB9ZWxzZXsKKy0gICAgICBpbnQgblN6ID0gKHAtPm5EYXRhIC0gcC0+aVN6UG9zbGlzdCAtIDEpOyAgICAgICAvKiBTaXplIGluIGJ5dGVzICovCisrICAgICAgaW50IG5TeiA9IChuRGF0YSAtIHAtPmlTelBvc2xpc3QgLSAxKTsgICAgICAgLyogU2l6ZSBpbiBieXRlcyAqLworICAgICAgIGludCBuUG9zID0gblN6KjIgKyBwLT5iRGVsOyAgICAgICAgICAgICAgICAgICAgIC8qIFZhbHVlIG9mIG5Qb3MgZmllbGQgKi8KKyAKKyAgICAgICBhc3NlcnQoIHAtPmJEZWw9PTAgfHwgcC0+YkRlbD09MSApOworQEAgLTIwNzUyMywxNCArMjA3NTMwLDE5IEBAIHN0YXRpYyB2b2lkIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUoRnRzNUhhc2ggKnBIYXNoLCBGdHM1SGFzaEVudHJ5ICpwKXsKKyAgICAgICAgIGludCBuQnl0ZSA9IHNxbGl0ZTNGdHM1R2V0VmFyaW50TGVuKCh1MzIpblBvcyk7CisgICAgICAgICBtZW1tb3ZlKCZwUHRyW3AtPmlTelBvc2xpc3QgKyBuQnl0ZV0sICZwUHRyW3AtPmlTelBvc2xpc3QgKyAxXSwgblN6KTsKKyAgICAgICAgIHNxbGl0ZTNGdHM1UHV0VmFyaW50KCZwUHRyW3AtPmlTelBvc2xpc3RdLCBuUG9zKTsKKy0gICAgICAgIHAtPm5EYXRhICs9IChuQnl0ZS0xKTsKKysgICAgICAgIG5EYXRhICs9IChuQnl0ZS0xKTsKKyAgICAgICB9CisgICAgIH0KKyAKKy0gICAgcC0+aVN6UG9zbGlzdCA9IDA7CistICAgIHAtPmJEZWwgPSAwOworLSAgICBwLT5iQ29udGVudCA9IDA7CisrICAgIG5SZXQgPSBuRGF0YSAtIHAtPm5EYXRhOworKyAgICBpZiggcDIgPT0gMCApeworKyAgICAgIHAtPmlTelBvc2xpc3QgPSAwOworKyAgICAgIHAtPmJEZWwgPSAwOworKyAgICAgIHAtPmJDb250ZW50ID0gMDsKKysgICAgICBwLT5uRGF0YSA9IG5EYXRhOworKyAgICB9CisgICB9CisrICByZXR1cm4gblJldDsKKyB9CisgCisgLyoKK0BAIC0yMDc2NDIsNyArMjA3NjU0LDcgQEAgc3RhdGljIGludCBzcWxpdGUzRnRzNUhhc2hXcml0ZSgKKyAgIC8qIElmIHRoaXMgaXMgYSBuZXcgcm93aWQsIGFwcGVuZCB0aGUgNC1ieXRlIHNpemUgZmllbGQgZm9yIHRoZSBwcmV2aW91cworICAgKiogZW50cnksIGFuZCB0aGUgbmV3IHJvd2lkIGZvciB0aGlzIGVudHJ5LiAgKi8KKyAgIGlmKCBpUm93aWQhPXAtPmlSb3dpZCApeworLSAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwKTsKKysgICAgZnRzNUhhc2hBZGRQb3NsaXN0U2l6ZShwSGFzaCwgcCwgMCk7CisgICAgIHAtPm5EYXRhICs9IHNxbGl0ZTNGdHM1UHV0VmFyaW50KCZwUHRyW3AtPm5EYXRhXSwgaVJvd2lkIC0gcC0+aVJvd2lkKTsKKyAgICAgcC0+aVJvd2lkID0gaVJvd2lkOworICAgICBiTmV3ID0gMTsKK0BAIC0yMDc3ODksOCArMjA3ODAxLDkgQEAgc3RhdGljIGludCBmdHM1SGFzaEVudHJ5U29ydCgKKyAqLworIHN0YXRpYyBpbnQgc3FsaXRlM0Z0czVIYXNoUXVlcnkoCisgICBGdHM1SGFzaCAqcEhhc2gsICAgICAgICAgICAgICAgIC8qIEhhc2ggdGFibGUgdG8gcXVlcnkgKi8KKysgIGludCBuUHJlLAorICAgY29uc3QgY2hhciAqcFRlcm0sIGludCBuVGVybSwgICAvKiBRdWVyeSB0ZXJtICovCistICBjb25zdCB1OCAqKnBwRG9jbGlzdCwgICAgICAgICAgIC8qIE9VVDogUG9pbnRlciB0byBkb2NsaXN0IGZvciBwVGVybSAqLworKyAgdm9pZCAqKnBwT3V0LAkJCSAgLyogT1VUOiBQb2ludGVyIHRvIG5ldyBvYmplY3QgKi8KKyAgIGludCAqcG5Eb2NsaXN0ICAgICAgICAgICAgICAgICAgLyogT1VUOiBTaXplIG9mIGRvY2xpc3QgaW4gYnl0ZXMgKi8KKyApeworICAgdW5zaWduZWQgaW50IGlIYXNoID0gZnRzNUhhc2hLZXkocEhhc2gtPm5TbG90LCAoY29uc3QgdTgqKXBUZXJtLCBuVGVybSk7CitAQCAtMjA3ODA0LDExICsyMDc4MTcsMjAgQEAgc3RhdGljIGludCBzcWxpdGUzRnRzNUhhc2hRdWVyeSgKKyAgIH0KKyAKKyAgIGlmKCBwICl7CistICAgIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUocEhhc2gsIHApOworLSAgICAqcHBEb2NsaXN0ID0gKGNvbnN0IHU4KikmektleVtuVGVybSsxXTsKKy0gICAgKnBuRG9jbGlzdCA9IHAtPm5EYXRhIC0gKHNpemVvZihGdHM1SGFzaEVudHJ5KSArIG5UZXJtICsgMSk7CisrICAgIGludCBuSGFzaFByZSA9IHNpemVvZihGdHM1SGFzaEVudHJ5KSArIG5UZXJtICsgMTsKKysgICAgaW50IG5MaXN0ID0gcC0+bkRhdGEgLSBuSGFzaFByZTsKKysgICAgdTggKnBSZXQgPSAodTgqKSgqcHBPdXQgPSBzcWxpdGUzX21hbGxvYzY0KG5QcmUgKyBuTGlzdCArIDEwKSk7CisrICAgIGlmICggcFJldCApeworKyAgICAgICBGdHM1SGFzaEVudHJ5ICpwRmF1eCA9IChGdHM1SGFzaEVudHJ5KikmcFJldFtuUHJlLW5IYXNoUHJlXTsKKysgICAgICAgbWVtY3B5KCZwUmV0W25QcmVdLCAmKCh1OCopcClbbkhhc2hQcmVdLCBuTGlzdCk7CisrICAgICAgIG5MaXN0ICs9IGZ0czVIYXNoQWRkUG9zbGlzdFNpemUocEhhc2gsIHAsIHBGYXV4KTsKKysgICAgICAgKnBuRG9jbGlzdCA9IG5MaXN0OworKyAgICB9ZWxzZXsKKysgICAgICAgKnBuRG9jbGlzdCA9IDA7CisrICAgICAgIHJldHVybiBTUUxJVEVfTk9NRU07CisrICAgIH0KKyAgIH1lbHNleworLSAgICAqcHBEb2NsaXN0ID0gMDsKKysgICAgKnBwT3V0ID0gMDsKKyAgICAgKnBuRG9jbGlzdCA9IDA7CisgICB9CisgCitAQCAtMjA3ODQxLDcgKzIwNzg2Myw3IEBAIHN0YXRpYyB2b2lkIHNxbGl0ZTNGdHM1SGFzaFNjYW5FbnRyeSgKKyAgIGlmKCAocCA9IHBIYXNoLT5wU2NhbikgKXsKKyAgICAgY2hhciAqektleSA9IGZ0czVFbnRyeUtleShwKTsKKyAgICAgaW50IG5UZXJtID0gKGludClzdHJsZW4oektleSk7CistICAgIGZ0czVIYXNoQWRkUG9zbGlzdFNpemUocEhhc2gsIHApOworKyAgICBmdHM1SGFzaEFkZFBvc2xpc3RTaXplKHBIYXNoLCBwLCAwKTsKKyAgICAgKnB6VGVybSA9IHpLZXk7CisgICAgICpwcERvY2xpc3QgPSAoY29uc3QgdTgqKSZ6S2V5W25UZXJtKzFdOworICAgICAqcG5Eb2NsaXN0ID0gcC0+bkRhdGEgLSAoc2l6ZW9mKEZ0czVIYXNoRW50cnkpICsgblRlcm0gKyAxKTsKK0BAIC0yMTAzMTEsMzEgKzIxMDMzMyw0MCBAQCBzdGF0aWMgdm9pZCBmdHM1U2VnSXRlckhhc2hJbml0KAorICAgaW50IGZsYWdzLCAgICAgICAgICAgICAgICAgICAgICAvKiBNYXNrIG9mIEZUUzVJTkRFWF9YWFggZmxhZ3MgKi8KKyAgIEZ0czVTZWdJdGVyICpwSXRlciAgICAgICAgICAgICAgLyogT2JqZWN0IHRvIHBvcHVsYXRlICovCisgKXsKKy0gIGNvbnN0IHU4ICpwTGlzdCA9IDA7CisgICBpbnQgbkxpc3QgPSAwOworICAgY29uc3QgdTggKnogPSAwOworICAgaW50IG4gPSAwOworKyAgRnRzNURhdGEgKnBMZWFmID0gMDsKKyAKKyAgIGFzc2VydCggcC0+cEhhc2ggKTsKKyAgIGFzc2VydCggcC0+cmM9PVNRTElURV9PSyApOworIAorICAgaWYoIHBUZXJtPT0wIHx8IChmbGFncyAmIEZUUzVJTkRFWF9RVUVSWV9TQ0FOKSApeworKyAgICBjb25zdCB1OCAqcExpc3QgPSAwOworKworICAgICBwLT5yYyA9IHNxbGl0ZTNGdHM1SGFzaFNjYW5Jbml0KHAtPnBIYXNoLCAoY29uc3QgY2hhciopcFRlcm0sIG5UZXJtKTsKKyAgICAgc3FsaXRlM0Z0czVIYXNoU2NhbkVudHJ5KHAtPnBIYXNoLCAoY29uc3QgY2hhcioqKSZ6LCAmcExpc3QsICZuTGlzdCk7CisgICAgIG4gPSAoeiA/IChpbnQpc3RybGVuKChjb25zdCBjaGFyKil6KSA6IDApOworKyAgICBpZiAoIHBMaXN0ICl7CisrICAgICAgcExlYWYgPSBmdHM1SWR4TWFsbG9jKHAsIHNpemVvZihGdHM1RGF0YSkpOworKyAgICAgIGlmICggcExlYWYgKXsKKysgICAgICAgIHBMZWFmLT5wID0gcExpc3Q7CisrICAgICAgfQorKyAgICB9CisgICB9ZWxzZXsKKy0gICAgcEl0ZXItPmZsYWdzIHw9IEZUUzVfU0VHSVRFUl9PTkVURVJNOworLSAgICBzcWxpdGUzRnRzNUhhc2hRdWVyeShwLT5wSGFzaCwgKGNvbnN0IGNoYXIqKXBUZXJtLCBuVGVybSwgJnBMaXN0LCAmbkxpc3QpOworKyAgICBwLT5yYyA9IHNxbGl0ZTNGdHM1SGFzaFF1ZXJ5KHAtPnBIYXNoLCBzaXplb2YoRnRzNURhdGEpLAorKyAgICAgICAgKGNvbnN0IGNoYXIqKXBUZXJtLCBuVGVybSwgKHZvaWQqKikmcExlYWYsICZuTGlzdAorKyAgICApOworKyAgICBpZiggcExlYWYgKXsKKysgICAgICBwTGVhZi0+cCA9ICh1OCopJnBMZWFmWzFdOworKyAgICB9CisgICAgIHogPSBwVGVybTsKKyAgICAgbiA9IG5UZXJtOworKyAgICBwSXRlci0+ZmxhZ3MgfD0gRlRTNV9TRUdJVEVSX09ORVRFUk07CisgICB9CisgCistICBpZiggcExpc3QgKXsKKy0gICAgRnRzNURhdGEgKnBMZWFmOworKyAgaWYoIHBMZWFmICl7CisgICAgIHNxbGl0ZTNGdHM1QnVmZmVyU2V0KCZwLT5yYywgJnBJdGVyLT50ZXJtLCBuLCB6KTsKKy0gICAgcExlYWYgPSBmdHM1SWR4TWFsbG9jKHAsIHNpemVvZihGdHM1RGF0YSkpOworLSAgICBpZiggcExlYWY9PTAgKSByZXR1cm47CistICAgIHBMZWFmLT5wID0gKHU4KilwTGlzdDsKKyAgICAgcExlYWYtPm5uID0gcExlYWYtPnN6TGVhZiA9IG5MaXN0OworICAgICBwSXRlci0+cExlYWYgPSBwTGVhZjsKKyAgICAgcEl0ZXItPmlMZWFmT2Zmc2V0ID0gZnRzNUdldFZhcmludChwTGVhZi0+cCwgKHU2NCopJnBJdGVyLT5pUm93aWQpOworLS0gCisyLjIwLjEKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvc3FsaXRlL3NxbGl0ZTNfMy4yMy4xLmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjIzLjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM3NTU3NjEuLjAwMDAwMDAKLS0tIGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjIzLjEuYmIKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1yZXF1aXJlIHNxbGl0ZTMuaW5jCi0KLUxJQ0VOU0UgPSAiUEQiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcWxpdGUzLmg7ZW5kbGluZT0xMTttZDU9Nzg2ZDNkYzU4MWVmZjAzZjRmZDllNGE3N2VkMDBjNjYiCi0KLVNSQ19VUkkgPSAiXAotICBodHRwOi8vd3d3LnNxbGl0ZS5vcmcvMjAxOC9zcWxpdGUtYXV0b2NvbmYtJHtTUUxJVEVfUFZ9LnRhci5neiBcCi0gICIKLVNSQ19VUklbbWQ1c3VtXSA9ICI5OWE1MWI0MGE2Njg3Mjg3MmE5MWM5MmY2ZDAxMzRmYSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5Mjg0MmIyODNlNWU3NDRlZmY1ZGEyOWVkM2M2OTM5MWRlNzM2OGZjY2M0ZDBlZTZiZjYyNDkwY2U1NTVlZjI1IgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjI3LjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3NxbGl0ZS9zcWxpdGUzXzMuMjcuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmRiMDRmCi0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC9zcWxpdGUvc3FsaXRlM18zLjI3LjIuYmIKQEAgLTAsMCArMSwxMyBAQAorcmVxdWlyZSBzcWxpdGUzLmluYworCitMSUNFTlNFID0gIlBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vc3FsaXRlMy5oO2VuZGxpbmU9MTE7bWQ1PTc4NmQzZGM1ODFlZmYwM2Y0ZmQ5ZTRhNzdlZDAwYzY2IgorCitTUkNfVVJJID0gIlwKKyAgaHR0cDovL3d3dy5zcWxpdGUub3JnLzIwMTkvc3FsaXRlLWF1dG9jb25mLSR7U1FMSVRFX1BWfS50YXIuZ3ogXAorICBmaWxlOi8vQ1ZFLTIwMTktOTkzNi5wYXRjaCBcCisgIGZpbGU6Ly9DVkUtMjAxOS05OTM3LnBhdGNoIFwKKyAgIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWY3MjYzMWNlNmU4ZWZhNWI0YTZlNTVhNDNiM2JkYzAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTBjMzllODVlYTI4YjVlY2ZkYjNmOWU4NjBhZmU5YmE2MDYzODFlMjE4MzZiMjg0OWVmY2E2YTBiZmU2ZWY2ZSIKZGlmZiAtLWdpdCBhL21ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy8wMDAxLXNyYy1NYWtlZmlsZS1pbXByb3ZlLXJlcHJvZHVjaWJpbGl0eS5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBtZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvMDAwMS1zcmMtTWFrZWZpbGUtaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2gKcmVuYW1lIHRvIHBva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzLzAwMDEtc3JjLU1ha2VmaWxlLWltcHJvdmUtcmVwcm9kdWNpYmlsaXR5LnBhdGNoCmRpZmYgLS1naXQgYS9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMwODkxNgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL2Rpc2FibGVfYWNsX2hlYWRlcl9jaGVjay5wYXRjaApAQCAtMCwwICsxLDM5IEBACitGcm9tIDVlZDI1YzA3NmExZmIxODg5YTNjNTBkZGRmMjlmMjE4NTBiNTlhMTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4gCitEYXRlOiBUdWUsIDI2IEp1biAyMDE4IDE3OjI5OjA5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGRpc2FibGUgYWNsIGhlYWRlciBjaGVjaworCitEb24ndCBjaGVjayAnc3lzL2FjbC5oJyBpZiBhY2wgc3VwcG9ydCBkaXNhYmxlZCBmb3IgdmltL3ZpbS10aW55LgorCitVcHN0cmVhbS1TdGF0dXM6IHBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBDaGFuZ3FpbmcgTGkgPGNoYW5ncWluZy5saUB3aW5kcml2ZXIuY29tPgorLS0tCisgc3JjL2NvbmZpZ3VyZS5hYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyZS5hYyBiL3NyYy9jb25maWd1cmUuYWMKK2luZGV4IDJkNDA5YjNjYTA2YS4uZGJjYWY2MTQwMjYzIDEwMDY0NAorLS0tIGEvc3JjL2NvbmZpZ3VyZS5hYworKysrIGIvc3JjL2NvbmZpZ3VyZS5hYworQEAgLTMyNTcsNyArMzI1Nyw3IEBAIEFDX0NIRUNLX0hFQURFUlMoc3RkaW50Lmggc3RkbGliLmggc3RyaW5nLmggXAorIAlzeXMvc3lzdGVtaW5mby5oIGxvY2FsZS5oIHN5cy9zdHJlYW0uaCB0ZXJtaW9zLmggXAorIAlsaWJjLmggc3lzL3N0YXRmcy5oIHBvbGwuaCBzeXMvcG9sbC5oIHB3ZC5oIFwKKyAJdXRpbWUuaCBzeXMvcGFyYW0uaCBzeXMvcHRtcy5oIGxpYmludGwuaCBsaWJnZW4uaCBcCistCXV0aWwvZGVidWcuaCB1dGlsL21zZzE4bi5oIGZyYW1lLmggc3lzL2FjbC5oIFwKKysJdXRpbC9kZWJ1Zy5oIHV0aWwvbXNnMThuLmggZnJhbWUuaCBcCisgCXN5cy9hY2Nlc3MuaCBzeXMvc3lzaW5mby5oIHdjaGFyLmggd2N0eXBlLmgpCisgCisgZG5sIHN5cy9wdGVtLmggZGVwZW5kcyBvbiBzeXMvc3RyZWFtLmggb24gU29sYXJpcworQEAgLTM4ODYsNiArMzg4Niw3IEBAIEFDX0FSR19FTkFCTEUoYWNsLAorIAksIFtlbmFibGVfYWNsPSJ5ZXMiXSkKKyBpZiB0ZXN0ICIkZW5hYmxlX2FjbCIgPSAieWVzIjsgdGhlbgorICAgQUNfTVNHX1JFU1VMVChubykKKysgIEFDX0NIRUNLX0hFQURFUlMoc3lzL2FjbC5oKQorICAgQUNfQ0hFQ0tfTElCKHBvc2l4MWUsIGFjbF9nZXRfZmlsZSwgW0xJQlM9IiRMSUJTIC1scG9zaXgxZSJdLAorIAlBQ19DSEVDS19MSUIoYWNsLCBhY2xfZ2V0X2ZpbGUsIFtMSUJTPSIkTElCUyAtbGFjbCIKKyAJCSAgQUNfQ0hFQ0tfTElCKGF0dHIsIGZnZXR4YXR0ciwgTElCUz0iJExJQlMgLWxhdHRyIiwsKV0sLCksKQorLS0gCisyLjcuNAorCmRpZmYgLS1naXQgYS9tZXRhLW9wZW5lbWJlZGRlZC9tZXRhLW9lL3JlY2lwZXMtc3VwcG9ydC92aW0vZmlsZXMvdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2ggYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL2ZpbGVzL3ZpbS1hZGQta25vYi13aGV0aGVyLWVsZi5oLWFyZS1jaGVja2VkLnBhdGNoCnJlbmFtZSB0byBwb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3ZpbS9maWxlcy92aW0tYWRkLWtub2Itd2hldGhlci1lbGYuaC1hcmUtY2hlY2tlZC5wYXRjaApkaWZmIC0tZ2l0IGEvbWV0YS1vcGVuZW1iZWRkZWQvbWV0YS1vZS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbS10aW55XzguMS4wMzQ3LmJiIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfOC4xLjEwMTcuYmIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIG1ldGEtb3BlbmVtYmVkZGVkL21ldGEtb2UvcmVjaXBlcy1zdXBwb3J0L3ZpbS92aW0tdGlueV84LjEuMDM0Ny5iYgpyZW5hbWUgdG8gcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltLXRpbnlfOC4xLjEwMTcuYmIKZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV84LjEuMTAxNy5iYiBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdmltL3ZpbV84LjEuMTAxNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjI3ZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92aW0vdmltXzguMS4xMDE3LmJiCkBAIC0wLDAgKzEsMTI5IEBACitTVU1NQVJZID0gIlZpIElNcHJvdmVkIC0gZW5oYW5jZWQgdmkgZWRpdG9yIgorU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgorCitQUk9WSURFUyA9ICJ4eGQiCitERVBFTkRTID0gIm5jdXJzZXMgZ2V0dGV4dC1uYXRpdmUiCisjIHZpbWRpZmYgZG9lc24ndCBsaWtlIGJ1c3lib3ggZGlmZgorUlNVR0dFU1RTXyR7UE59ID0gImRpZmZ1dGlscyIKK0xJQ0VOU0UgPSAidmltIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vLi4vcnVudGltZS9kb2MvdWdhbmRhLnR4dDtlbmRsaW5lPTI4NzttZDU9ZjFmODJiNDIzNjAwMDVjNzBiOGMxOWIwZWY0OTNmNzIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS92aW0vdmltLmdpdCBcCisgICAgICAgICAgIGZpbGU6Ly9kaXNhYmxlX2FjbF9oZWFkZXJfY2hlY2sucGF0Y2g7cGF0Y2hkaXI9Li4gXAorICAgICAgICAgICBmaWxlOi8vdmltLWFkZC1rbm9iLXdoZXRoZXItZWxmLmgtYXJlLWNoZWNrZWQucGF0Y2g7cGF0Y2hkaXI9Li4gXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1zcmMtTWFrZWZpbGUtaW1wcm92ZS1yZXByb2R1Y2liaWxpdHkucGF0Y2g7cGF0Y2hkaXI9Li4gXAorIgorU1JDUkVWID0gIjQ5M2ZiZTRhYmVlNjYwZDMwYjRmMmFlZjg3Yjc1NGIwYTcyMDIxM2MiCisKK1MgPSAiJHtXT1JLRElSfS9naXQvc3JjIgorCitWSU1ESVIgPSAidmltJHtAZC5nZXRWYXIoJ1BWJykuc3BsaXQoJy4nKVswXX0ke0BkLmdldFZhcignUFYnKS5zcGxpdCgnLicpWzFdfSIKKworaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworQ0xFQU5CUk9LRU4gPSAiMSIKKworIyB2aW0gY29uZmlndXJlLmluIGNvbnRhaW5zIGZ1bmN0aW9ucyB3aGljaCBnb3QgJ2Ryb3BwZWQnIGJ5IGF1dG90b29scy5iYmNsYXNzCitkb19jb25maWd1cmUgKCkgeworICAgIHJtIC1mIGF1dG8vKgorICAgIHRvdWNoIGF1dG8vY29uZmlnLm1rCisgICAgYWNsb2NhbAorICAgIGF1dG9jb25mCisgICAgb2VfcnVuY29uZgorICAgIHRvdWNoIGF1dG8vY29uZmlndXJlCisgICAgdG91Y2ggYXV0by9jb25maWcubWsgYXV0by9jb25maWcuaAorfQorCisjQXZhaWxhYmxlIFBBQ0tBR0VDT05GSUcgb3B0aW9ucyBhcmUgZ3RrZ3VpLCBhY2wsIHgxMSwgdGlueQorUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgKz0gIiBcCisgICAgJHtAYmIudXRpbHMuZmlsdGVyKCdESVNUUk9fRkVBVFVSRVMnLCAnYWNsIHNlbGludXgnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSBndGtndWknLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdfY2xhc3MtbmF0aXZlID0gIiIKKworUEFDS0FHRUNPTkZJR1tndGtndWldID0gIi0tZW5hYmxlLWd1aT1ndGsyLC0tZW5hYmxlLWd1aT1ubyxndGsrLCIKK1BBQ0tBR0VDT05GSUdbYWNsXSA9ICItLWVuYWJsZS1hY2wsLS1kaXNhYmxlLWFjbCxhY2wsIgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0td2l0aC14LC0td2l0aG91dC14LHh0LCIKK1BBQ0tBR0VDT05GSUdbdGlueV0gPSAiLS13aXRoLWZlYXR1cmVzPXRpbnksLS13aXRoLWZlYXR1cmVzPWJpZywsIgorUEFDS0FHRUNPTkZJR1tzZWxpbnV4XSA9ICItLWVuYWJsZS1zZWxpbnV4LC0tZGlzYWJsZS1zZWxpbnV4LGxpYnNlbGludXgsIgorUEFDS0FHRUNPTkZJR1tlbGZ1dGlsc10gPSAiLS1lbmFibGUtZWxmLWNoZWNrLCxlbGZ1dGlscywiCisKK0VYVFJBX09FQ09ORiA9ICIgXAorICAgIC0tZGlzYWJsZS1ncG0gXAorICAgIC0tZGlzYWJsZS1ndGt0ZXN0IFwKKyAgICAtLWRpc2FibGUteGltIFwKKyAgICAtLWRpc2FibGUtbmV0YmVhbnMgXAorICAgIC0td2l0aC10bGliPW5jdXJzZXMgXAorICAgIGFjX2N2X3NtYWxsX3djaGFyX3Q9bm8gXAorICAgIHZpbV9jdl9nZXRjd2RfYnJva2VuPW5vIFwKKyAgICB2aW1fY3ZfbWVtbW92ZV9oYW5kbGVzX292ZXJsYXA9eWVzIFwKKyAgICB2aW1fY3Zfc3RhdF9pZ25vcmVzX3NsYXNoPW5vIFwKKyAgICB2aW1fY3ZfdGVybWluZm89eWVzIFwKKyAgICB2aW1fY3ZfdGdldGVudD1ub24temVybyBcCisgICAgdmltX2N2X3RvdXBwZXJfYnJva2VuPW5vIFwKKyAgICB2aW1fY3ZfdHR5X2dyb3VwPXdvcmxkIFwKKyAgICBTVFJJUD0vYmluL3RydWUgXAorIgorCitkb19pbnN0YWxsKCkgeworICAgIGF1dG90b29sc19kb19pbnN0YWxsCisKKyAgICAjIFdvcmsgYXJvdW5kIGZpbGUtcmRlcHMgcGlja2luZyB1cCBjc2gsIGF3aywgcGVybCBvciBweXRob24gYXMgYSBkZXAKKyAgICBjaG1vZCAteCAke0R9JHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3Rvb2xzL3ZpbTEzMgorICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvbXZlLmF3aworICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvKi5wbAorICAgIGNobW9kIC14ICR7RH0ke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vdG9vbHMvKi5weQorCisgICAgIyBJbnN0YWxsIGV4YW1wbGUgdmltcmMgZnJvbSBydW50aW1lIGZpbGVzCisgICAgaW5zdGFsbCAtbSAwNjQ0IC4uL3J1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0gJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYworCisgICAgIyB3ZSB1c2UgLS13aXRoLWZlYXR1cmVzPWJpZyBhcyBkZWZhdWx0CisgICAgbXYgJHtEfSR7YmluZGlyfS8ke0JQTn0gJHtEfSR7YmluZGlyfS8ke0JQTn0uJHtCUE59CisKKyAgICBpZiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJIyBUaGUgbW91c2UgYmVpbmcgYXV0b2VuYWJsZWQgaXMganVzdCBhbm5veWluZyBpbiB4ZmNlNC10ZXJtaW5hbCAobW91c2UKKwkjIGRyYWcgbWFrZSB2aW0gZ28gaW50byB2aXN1YWwgbW9kZSBhbmQgdGhlcmUgaXMgbm8gcmlnaHQgY2xpY2sgbWVudSksCisJIyBkZWxldGUgdGhlIGJsb2NrLgorCXNlZCAtaSAnL3RoZSBtb3VzZSB3b3JrcyBqdXN0IGZpbmUvLCs0ZCcgJHtEfS8ke2RhdGFkaXJ9LyR7QlBOfS92aW1yYworICAgIGZpCit9CisKK1BBUkFMTEVMX01BS0VJTlNUID0gIiIKKworUEFDS0FHRVMgPSsgIiR7UE59LWNvbW1vbiAke1BOfS1zeW50YXggJHtQTn0taGVscCAke1BOfS10dXRvciAke1BOfS12aW1yYyAke1BOfS10b29scyIKK0ZJTEVTXyR7UE59LXN5bnRheCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vc3ludGF4IgorRklMRVNfJHtQTn0taGVscCA9ICIke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vZG9jIgorRklMRVNfJHtQTn0tdHV0b3IgPSAiJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3R1dG9yICR7YmluZGlyfS8ke0JQTn10dXRvciIKK0ZJTEVTXyR7UE59LXZpbXJjID0gIiR7ZGF0YWRpcn0vJHtCUE59L3ZpbXJjIgorRklMRVNfJHtQTn0tZGF0YSA9ICIke2RhdGFkaXJ9LyR7QlBOfSIKK0ZJTEVTXyR7UE59LXRvb2xzID0gIiR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS90b29scyIKK0ZJTEVTXyR7UE59LWNvbW1vbiA9ICIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS8qLnZpbSBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2F1dG9sb2FkIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29sb3JzIFwKKyAgICAke2RhdGFkaXJ9LyR7QlBOfS8ke1ZJTURJUn0vY29tcGlsZXIgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9mdHBsdWdpbiBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2luZGVudCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2tleW1hcCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L2xhbmcgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9tYWNyb3MgXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wbHVnaW4gXAorICAgICR7ZGF0YWRpcn0vJHtCUE59LyR7VklNRElSfS9wcmludCBcCisgICAgJHtkYXRhZGlyfS8ke0JQTn0vJHtWSU1ESVJ9L3NwZWxsIFwKKyAgICAke2RhdGFkaXJ9L2ljb25zIFwKKyIKKworUkRFUEVORFNfJHtCUE59ID0gIm5jdXJzZXMtdGVybWluZm8tYmFzZSIKKyMgUmVjb21tZW5kIHRoYXQgcnVudGltZSBkYXRhIGlzIGluc3RhbGxlZCBhbG9uZyB3aXRoIHZpbQorUlJFQ09NTUVORFNfJHtCUE59ID0gIiR7UE59LXN5bnRheCAke1BOfS1oZWxwICR7UE59LXR1dG9yICR7UE59LXZpbXJjICR7UE59LWNvbW1vbiIKKworQUxURVJOQVRJVkVfJHtQTn0gPSAidmkgdmltIHh4ZCIKK0FMVEVSTkFUSVZFX1BSSU9SSVRZID0gIjEwMCIKK0FMVEVSTkFUSVZFX1RBUkdFVCA9ICIke2JpbmRpcn0vJHtCUE59LiR7QlBOfSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt2aV0gPSAiJHtiYXNlX2JpbmRpcn0vdmkiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbdmltXSA9ICIke2JpbmRpcn0vdmltIgorQUxURVJOQVRJVkVfVEFSR0VUW3h4ZF0gPSAiJHtiaW5kaXJ9L3h4ZCIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVt4eGRdID0gIiR7YmluZGlyfS94eGQiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92dGUvdnRlLzAwMDEtYXBwLmNjLXVzZS1vbGQtc2Nob29sLWFzaWdubWVudC10by1hdm9pZC1nY2MtNC44LWVyci5wYXRjaCBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZS8wMDAxLWFwcC5jYy11c2Utb2xkLXNjaG9vbC1hc2lnbm1lbnQtdG8tYXZvaWQtZ2NjLTQuOC1lcnIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMzZjk4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZS8wMDAxLWFwcC5jYy11c2Utb2xkLXNjaG9vbC1hc2lnbm1lbnQtdG8tYXZvaWQtZ2NjLTQuOC1lcnIucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorRnJvbSA0NDJkYTkwNzZiNTIwMDM3NDNmZmM2ZmQ3YjlkNjQ3ZGU2ZDdhYThmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDE3IEphbiAyMDE5IDE2OjM3OjU0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGFwcC5jYzogdXNlIG9sZCBzY2hvb2wgYXNpZ25tZW50IHRvIGF2b2lkIGdjYyA0LjggZXJyb3IKKworVGhpcyBpcyBuZWVkZWQgdG8gYnVpbGQgdnRlLW5hdGl2ZSBvbiBDZW50b3MgNywKK2FuZCBjYW4gYmUgZHJvcHBlZCBvbmNlIHRoYXQgT1MgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFthbmNpZW50IGNvbXBpbGVyIGZpeF0KK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgc3JjL2FwcC9hcHAuY2MgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvYXBwL2FwcC5jYyBiL3NyYy9hcHAvYXBwLmNjCitpbmRleCBkNDI0MDY0Li42NzVkNzg5IDEwMDY0NAorLS0tIGEvc3JjL2FwcC9hcHAuY2MKKysrKyBiL3NyYy9hcHAvYXBwLmNjCitAQCAtMzA2LDcgKzMwNiw3IEBAIHB1YmxpYzoKKyAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgIGFscGhhID0gZ2V0X2FscGhhKCk7CisgCistICAgICAgICAgICAgICAgIEdka1JHQkEgY29sb3J7YmdfY29sb3J9OworKyAgICAgICAgICAgICAgICBHZGtSR0JBIGNvbG9yID0gYmdfY29sb3I7CisgICAgICAgICAgICAgICAgIGNvbG9yLmFscGhhID0gYWxwaGE7CisgICAgICAgICAgICAgICAgIHJldHVybiBjb2xvcjsKKyAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZV8wLjUyLjIuYmIgYi9wb2t5L21ldGEvcmVjaXBlcy1zdXBwb3J0L3Z0ZS92dGVfMC41Mi4yLmJiCmluZGV4IDczMjRjOWMuLjI3MmFlNjYgMTAwNjQ0Ci0tLSBhL3Bva3kvbWV0YS9yZWNpcGVzLXN1cHBvcnQvdnRlL3Z0ZV8wLjUyLjIuYmIKKysrIGIvcG9reS9tZXRhL3JlY2lwZXMtc3VwcG9ydC92dGUvdnRlXzAuNTIuMi5iYgpAQCAtOSw4ICs5LDkgQEAKIAogIyB2YXBpZ2VuLm00IGlzIHJlcXVpcmVkIHdoZW4gdmFsYSBpcyBub3QgcHJlc2VudCAoYnV0IHRoZSBvbmUgZnJvbSB2YWxhIHNob3VsZCBiZSB1c2VkIG5vcm1hbGx5KQogU1JDX1VSSSArPSAiZmlsZTovLzAwMDEtRG9uLXQtZW5hYmxlLXN0YWNrLXByb3RlY3Rpb24tYnktZGVmYXVsdC5wYXRjaCBcCi0gICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd2YWxhJywgJycsICdmaWxlOi8vMDAwMS1BZGQtbTQtdmFwaWdlbi5tNC5wYXRjaCcsIGQpIH0gXAotICAgICAgICAgICAgIgorICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd2YWxhJywgJycsICdmaWxlOi8vMDAwMS1BZGQtbTQtdmFwaWdlbi5tNC5wYXRjaCcsIGQpIH0gXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1hcHAuY2MtdXNlLW9sZC1zY2hvb2wtYXNpZ25tZW50LXRvLWF2b2lkLWdjYy00LjgtZXJyLnBhdGNoIFwKKyAgICAgICAgICAgIgogU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiZGU4MTgxMzUwZGNjYjAxMGU5MTVlMzY2YmRkMDZkMTgiCiBTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIwZjI2NTdjZWY1MmFjY2JmZTU2ZmVlZGU1NTMxNTU1NTJkN2MxOTg0YjEyOTE4MzhhZjNjYjhjZmMxOWIyNmFmIgogCkBAIC00NCwzICs0NSw1IEBACiAKIFBBQ0tBR0VTID0rICJsaWJ2dGUiCiBGSUxFU19saWJ2dGUgPSAiJHtsaWJkaXJ9Lyouc28uKiAke2xpYmRpcn0vZ2lyZXBvc2l0b3J5LTEuMC8qIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9wb2t5L29lLWluaXQtYnVpbGQtZW52IGIvcG9reS9vZS1pbml0LWJ1aWxkLWVudgppbmRleCBlODEzMjMwLi44NjFjM2UwIDEwMDc1NQotLS0gYS9wb2t5L29lLWluaXQtYnVpbGQtZW52CisrKyBiL3Bva3kvb2UtaW5pdC1idWlsZC1lbnYKQEAgLTMxLDEzICszMSwxOCBAQAogICAgIFRISVNfU0NSSVBUPSQwCiBlbHNlCiAgICAgVEhJU19TQ1JJUFQ9IiQocHdkKS9vZS1pbml0LWJ1aWxkLWVudiIKKyAgICBpZiBbICEgLWUgIiRUSElTX1NDUklQVCIgXTsgdGhlbgorICAgICAgICBlY2hvICJFcnJvcjogJFRISVNfU0NSSVBUIGRvZXNuJ3QgZXhpc3QhIiA+JjIKKyAgICAgICAgZWNobyAiUGxlYXNlIHJ1biB0aGlzIHNjcmlwdCBpbiBvZS1pbml0LWJ1aWxkLWVudidzIGRpcmVjdG9yeS4iID4mMgorICAgICAgICBleGl0IDEKKyAgICBmaQogZmkKIGlmIFsgLW4gIiRCQlNFUlZFUiIgXTsgdGhlbgogICAgIHVuc2V0IEJCU0VSVkVSCiBmaQogCiBpZiBbIC16ICIkWlNIX05BTUUiIF0gJiYgWyAiJDAiID0gIiRUSElTX1NDUklQVCIgXTsgdGhlbgotICAgIGVjaG8gIkVycm9yOiBUaGlzIHNjcmlwdCBuZWVkcyB0byBiZSBzb3VyY2VkLiBQbGVhc2UgcnVuIGFzICcuICRUSElTX1NDUklQVCciCisgICAgZWNobyAiRXJyb3I6IFRoaXMgc2NyaXB0IG5lZWRzIHRvIGJlIHNvdXJjZWQuIFBsZWFzZSBydW4gYXMgJy4gJFRISVNfU0NSSVBUJyIgPiYyCiAgICAgZXhpdCAxCiBmaQogCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvYXV0b2J1aWxkZXItd29ya2VyLXByZXJlcS10ZXN0cyBiL3Bva3kvc2NyaXB0cy9hdXRvYnVpbGRlci13b3JrZXItcHJlcmVxLXRlc3RzCmluZGV4IGJiNDZjNjkuLjM1OGRkMmIgMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9hdXRvYnVpbGRlci13b3JrZXItcHJlcmVxLXRlc3RzCisrKyBiL3Bva3kvc2NyaXB0cy9hdXRvYnVpbGRlci13b3JrZXItcHJlcmVxLXRlc3RzCkBAIC0xNSw2ICsxNSwxMiBAQAogIyB0ZXN0IGJ1aWxkaXN0b3J5IGdpdCByZXBvIHdvcmtzPwogIwogCitpZiBbICEgLXggJEhPTUUveW9jdG8tYXV0b2J1aWxkZXItaGVscGVyL3NjcmlwdHMvY2hlY2t2bmMgXTsgdGhlbgorICAgIGVjaG8gIiRIT01FL3lvY3RvLWF1dG9idWlsZGVyLWhlbHBlciBzaG91bGQgYmUgY3JlYXRlZC4iCisgICAgZXhpdCAxCitmaQorJEhPTUUveW9jdG8tYXV0b2J1aWxkZXItaGVscGVyL3NjcmlwdHMvY2hlY2t2bmMKKwogLiAuL29lLWluaXQtYnVpbGQtZW52ID4gL2Rldi9udWxsCiBpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KICAgICBleGl0IDEKQEAgLTUzLDEyICs1OSwxMiBAQAogZmkKIHBvcGQKIGJpdGJha2UgcWVtdS1oZWxwZXItbmF0aXZlCi1ydW5xZW11IHFlbXV4ODYtNjQKK0RJU1BMQVk9OjEgcnVucWVtdSBzZXJpYWxzdGRpbyBxZW11eDg2LTY0CiBpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KICAgICBlY2hvICJVbmFibGUgdG8gdXNlIHJ1bnFlbXUiCiAgICAgZXhpdCAxCiBmaQotcnVucWVtdSBxZW11eDg2LTY0IGt2bQorRElTUExBWT06MSBydW5xZW11IHNlcmlhbHN0ZGlvIHFlbXV4ODYtNjQga3ZtCiBpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KICAgICBlY2hvICJVbmFibGUgdG8gdXNlIHJ1bnFlbXUgd2l0aCBrdm0iCiAgICAgZXhpdCAxCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvZGlzdHJvL2J1aWxkLXJlY2lwZS1saXN0LnB5IGIvcG9reS9zY3JpcHRzL2Rpc3Ryby9idWlsZC1yZWNpcGUtbGlzdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMjE2Mjc2NC4uMDAwMDAwMAotLS0gYS9wb2t5L3NjcmlwdHMvZGlzdHJvL2J1aWxkLXJlY2lwZS1saXN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTI5ICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLSMKLSMgQ29weXJpZ2h0IChjKSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKLSMgdW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKLSMgdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSMKLSMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAotIyBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKLSMgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgotIyBtb3JlIGRldGFpbHMuCi0jCi0KLWltcG9ydCBvcwotaW1wb3J0IHNodXRpbAotaW1wb3J0IGNzdgotaW1wb3J0IHN5cwotaW1wb3J0IGFyZ3BhcnNlCi0KLV9fdmVyc2lvbl9fID0gIjAuMS4wIgotCi0jIHNldCBvZiBCUE5zCi1yZWNpcGVuYW1lcyA9IHNldCgpCi0jIG1hcCBvZiByZWNpcGUgLT4gZGF0YQotYWxscmVjaXBlcyA9IHt9Ci0KLWRlZiBtYWtlX2JwbihyZWNpcGUpOgotICAgIHByZWZpeGVzID0gKCJuYXRpdmVzZGstIiwpCi0gICAgc3VmZml4ZXMgPSAoIi1uYXRpdmUiLCAiLWNyb3NzIiwgIi1pbml0aWFsIiwgIi1pbnRlcm1lZGlhdGUiLCAiLWNyb3Nzc2RrIiwgIi1jcm9zcy1jYW5hZGlhbiIpCi0gICAgZm9yIGl4IGluIHByZWZpeGVzICsgc3VmZml4ZXM6Ci0gICAgICAgIGlmIGl4IGluIHJlY2lwZToKLSAgICAgICAgICAgIHJlY2lwZSA9IHJlY2lwZS5yZXBsYWNlKGl4LCAiIikKLSAgICByZXR1cm4gcmVjaXBlCi0KLWRlZiBnYXRoZXJfcmVjaXBlcyhyb3dzKToKLSAgICBmb3Igcm93IGluIHJvd3M6Ci0gICAgICAgIHJlY2lwZSA9IHJvd1swXQotICAgICAgICBicG4gPSBtYWtlX2JwbihyZWNpcGUpCi0gICAgICAgIGlmIGJwbiBub3QgaW4gcmVjaXBlbmFtZXM6Ci0gICAgICAgICAgICByZWNpcGVuYW1lcy5hZGQoYnBuKQotICAgICAgICBpZiByZWNpcGUgbm90IGluIGFsbHJlY2lwZXM6Ci0gICAgICAgICAgICBhbGxyZWNpcGVzW3JlY2lwZV0gPSByb3cKLQotZGVmIGdlbmVyYXRlX3JlY2lwZV9saXN0KCk6Ci0gICAgIyBtYWNoaW5lIGxpc3QKLSAgICBtYWNoaW5lX2xpc3QgPSAoICJxZW11YXJtNjQiLCAicWVtdWFybSIsICJxZW11bWlwczY0IiwgInFlbXVtaXBzIiwgInFlbXVwcGMiLCAicWVtdXg4Ni02NCIsICJxZW11eDg2IiApCi0gICAgIyBzZXQgZmlsZW5hbWUgZm9ybWF0Ci0gICAgZm5mb3JtYXQgPSAnZGlzdHJvZGF0YS4lcy5jc3YnCi0KLSAgICAjIHN0b3JlIGFsbCBkYXRhIGZpbGVzIGluIGRpc3Ryb2RhdGEKLSAgICBkYXRhZGlyID0gJ2Rpc3Ryb2RhdGEnCi0KLSAgICAjIGNyZWF0ZSB0aGUgZGlyZWN0b3J5IGlmIGl0IGRvZXMgbm90IGV4aXN0cwotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkYXRhZGlyKToKLSAgICAgICAgb3MubWtkaXIoZGF0YWRpcikKLQotICAgICMgZG9pbmcgYml0YmFrZSBkaXN0cm9kYXRhCi0gICAgZm9yIG1hY2hpbmUgaW4gbWFjaGluZV9saXN0OgotICAgICAgICBvcy5zeXN0ZW0oJ01BQ0hJTkU9JysgbWFjaGluZSArICcgYml0YmFrZSAtayB1bml2ZXJzZSAtYyBkaXN0cm9kYXRhJykKLSAgICAgICAgc2h1dGlsLmNvcHkoJ3RtcC9sb2cvZGlzdHJvZGF0YS5jc3YnLCAnZGlzdHJvZGF0YS8nICsgZm5mb3JtYXQgJSBtYWNoaW5lKQotCi0gICAgZm9yIG1hY2hpbmUgaW4gbWFjaGluZV9saXN0OgotICAgICAgICB3aXRoIG9wZW4oJ2Rpc3Ryb2RhdGEvJyArIGZuZm9ybWF0ICUgbWFjaGluZSkgYXMgZjoKLSAgICAgICAgICAgIHJlYWRlciA9IGNzdi5yZWFkZXIoZikKLSAgICAgICAgICAgIHJvd3MgPSByZWFkZXIuX19pdGVyX18oKQotICAgICAgICAgICAgZ2F0aGVyX3JlY2lwZXMocm93cykKLQotICAgIHdpdGggb3BlbigncmVjaXBlLWxpc3QudHh0JywgJ3cnKSBhcyBmOgotICAgICAgICBmb3IgcmVjaXBlIGluIHNvcnRlZChyZWNpcGVuYW1lcyk6Ci0gICAgICAgICAgICBmLndyaXRlKCIlc1xuIiAlIHJlY2lwZSkKLSAgICBwcmludCgiZmlsZSA6IHJlY2lwZS1saXN0LnR4dCBpcyBjcmVhdGVkIHdpdGggJWQgZW50cmllcy4iICUgbGVuKHJlY2lwZW5hbWVzKSkKLQotICAgIHdpdGggb3BlbignYWxsLXJlY2lwZS1saXN0LnR4dCcsICd3JykgYXMgZjoKLSAgICAgICAgZm9yIHJlY2lwZSwgcm93IGluIHNvcnRlZChhbGxyZWNpcGVzLml0ZW1zKCkpOgotICAgICAgICAgICAgZi53cml0ZSgiJXNcbiIgJSAnLCcuam9pbihyb3cpKQotCi0KLWRlZiBkaWZmX2Zvcl9uZXdfcmVjaXBlcyhyZWNpcGUxLCByZWNpcGUyKToKLSAgICBwcmV2X3JlY2lwZV9wYXRoID0gcmVjaXBlMSArICcvJwotICAgIGN1cnJfcmVjaXBlX3BhdGggPSByZWNpcGUyICsgJy8nCi0gICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHByZXZfcmVjaXBlX3BhdGggKyAncmVjaXBlLWxpc3QudHh0Jykgb3Igbm90IG9zLnBhdGguaXNmaWxlKGN1cnJfcmVjaXBlX3BhdGggKyAncmVjaXBlLWxpc3QudHh0Jyk6Ci0gICAgICAgIHByaW50KCJyZWNpcGUgZmlsZXMgZG8gbm90IGV4aXN0cy4gcGxlYXNlIHZlcmlmeSB0aGF0IHRoZSBmaWxlIGV4aXN0cy4iKQotICAgICAgICBleGl0KDEpCi0KLSAgICBpbXBvcnQgY3N2Ci0KLSAgICBwcmV2ID0gW10KLSAgICBuZXcgPSBbXQotCi0gICAgd2l0aCBvcGVuKHByZXZfcmVjaXBlX3BhdGggKyAncmVjaXBlLWxpc3QudHh0JykgYXMgZjoKLSAgICAgICAgcHJldiA9IGYucmVhZGxpbmVzKCkKLQotICAgIHdpdGggb3BlbihjdXJyX3JlY2lwZV9wYXRoICsgJ3JlY2lwZS1saXN0LnR4dCcpIGFzIGY6Ci0gICAgICAgIG5ldyA9IGYucmVhZGxpbmVzKCkKLQotICAgIHVwZGF0ZXMgPSBbXQotICAgIGZvciBwbiBpbiBuZXc6Ci0gICAgICAgIGlmIG5vdCBwbiBpbiBwcmV2OgotICAgICAgICAgICAgdXBkYXRlcy5hcHBlbmQocG4ucnN0cmlwKCkpCi0KLSAgICBhbGxyZWNpcGUgPSBbXQotICAgIHdpdGggb3BlbihyZWNpcGUxICsgJ18nICsgcmVjaXBlMiArICdfbmV3X3JlY2lwZV9saXN0LnR4dCcsJ3cnKSBhcyBkcjoKLSAgICAgICAgd2l0aCBvcGVuKGN1cnJfcmVjaXBlX3BhdGggKyAnYWxsLXJlY2lwZS1saXN0LnR4dCcpIGFzIGY6Ci0gICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYsIGRlbGltaXRlcj0nLCcpCi0gICAgICAgICAgICBmb3Igcm93IGluIHJlYWRlcjoKLSAgICAgICAgICAgICAgICBpZiByb3dbMF0gaW4gdXBkYXRlczoKLSAgICAgICAgICAgICAgICAgICAgZHIud3JpdGUoIiVzLCVzLCVzIiAlIChyb3dbMF0sIHJvd1szXSwgcm93WzVdKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbGVuKHJvd1s5Ol0pID4gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGRyLndyaXRlKCIsJXMiICUgJywnLmpvaW4ocm93Wzk6XSkpCi0gICAgICAgICAgICAgICAgICAgIGRyLndyaXRlKCJcbiIpCi0KLWRlZiBtYWluKGFyZ3YpOgotICAgIGlmIGFyZ3ZbMF0gPT0gImdlbmVyYXRlX3JlY2lwZV9saXN0IjoKLSAgICAgICAgZ2VuZXJhdGVfcmVjaXBlX2xpc3QoKQotICAgIGVsaWYgYXJndlswXSA9PSAiY29tcGFyZV9yZWNpcGUiOgotICAgICAgICBkaWZmX2Zvcl9uZXdfcmVjaXBlcyhhcmd2WzFdLCBhcmd2WzJdKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCJubyBzdWNoIG9wdGlvbi4gY2hvb3NlIGVpdGhlciAnZ2VuZXJhdGVfcmVjaXBlX2xpc3QnIG9yICdjb21wYXJlX3JlY2lwZSciKQotCi0gICAgZXhpdCgwKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHRyeToKLSAgICAgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndlsxOl0pKQotICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgcHJpbnQoIkV4Y2VwdGlvbiA6IiwgZSkKLSAgICAgICAgc3lzLmV4aXQoMSkKLQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2Rpc3Ryby9kaXN0cm9jb21wYXJlLnNoIGIvcG9reS9zY3JpcHRzL2Rpc3Ryby9kaXN0cm9jb21wYXJlLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA5MDg3NjBjLi4wMDAwMDAwCi0tLSBhL3Bva3kvc2NyaXB0cy9kaXN0cm8vZGlzdHJvY29tcGFyZS5zaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyArMCwwIEBACi0jIS91c3IvYmluL2VudiBiYXNoCi0jCi0jIENvcHlyaWdodCAoYykgMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uCi0jIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0jIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0jIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCi0jIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0jIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0jCi0jIGRpc3Ryb2NvbXBhcmUuc2ggOiBwcm92aWRlcyBjYXBhYmlsaXR5IHRvIGdldCBhIGxpc3Qgb2YgbmV3IHBhY2thZ2VzCi0jICAgICAgICAgICAgICAgICAgICBiYXNlZCBvbiB0d28gZGlzdGluY3QgYnJhbmNoZXMuIFRoaXMgc2NyaXB0IHRha2VzCi0jICAgICAgICAgICAgICAgICAgICAyIHBhcmFtZXRlcnM7IGVpdGhlciBhIGNvbW1pdC1pc2ggb3IgYSBicmFuY2ggbmFtZQotIwotIyAgICAgICAgICAgICAgICAgICAgVG8gcnVuIDogZGlzdHJvY29tcGFyZS5zaCA8b2xkZXIgaGFzaD4gPG5ld2VyIGhhc2g+Ci0jICAgICAgICAgICAgICAgICAgICBFLmcuIGRpc3Ryb2NvbXBhcmUuc2ggbW9ydHkgOTJhYTBlNwotIyAgICAgICAgICAgICAgICAgICAgRS5nLiBkaXN0cm9jb21wYXJlLnNoIG1vcnR5IHB5cm8KLSMKLQotIyBnZXQgaW5wdXQgYXMgdmVyc2lvbgotcHJldmlvdXNfdmVyc2lvbj0kMQotY3VycmVudF92ZXJzaW9uPSQyCi0KLSMgc2V0IHByZXZpb3VzIGFuZCBjdXJyZW50IHZlcnNpb24KLWlmIFsgLXogIiQyIiBdOyB0aGVuCi0gICAgcHJldmlvdXNfdmVyc2lvbj0kMQotICAgIGN1cnJlbnRfdmVyc2lvbj0iY3VycmVudCIKLWZpCi0KLSMgZ2V0IHNjcmlwdCBsb2NhdGlvbi4gVGhhdCdzIHdoZXJlIHRoZSBzb3VyY2Ugc3VwcG9zZWRseSBsb2NhdGVkIGFzIHdlbGwuCi1zY3JpcHRkaXI9IiQoIHJlYWxwYXRoICQoZGlybmFtZSAiJHtCQVNIX1NPVVJDRVswXX0iICkpIgotc291cmNlZGlyPSIkKCByZWFscGF0aCAkc2NyaXB0ZGlyLy4uLy4uICkiCi0KLSMgY3JlYXRlIHdvcmtpbmcgZGlyZWN0b3J5Ci13b3JrZGlyPSQobWt0ZW1wIC1kKQotCi0jIHByZXBhcmUgdG8gcm9sbGJhY2sgdG8gdGhlIGJyYW5jaCBpZiBub3Qgc2ltaWxhcgotYnJhbmNoPWBjZCAkc291cmNlZGlyOyBnaXQgYnJhbmNoIHwgZ3JlcCBcKiB8IGN1dCAtZCAnICcgLWYyYAotCi0jIHNldCBjdXJyZW50IHdvcmtkaXIgdG8gc3RvcmUgZmluYWwgcmVzdWx0Ci1jdXJyZW50d29ya2Rpcj1gcHdkYAotCi0jIHBlcnNpc3RzIHRoZSBmaWxlIGFmdGVyIGxvY2FsIHJlcG8gY2hhbmdlCi1jcCAkc2NyaXB0ZGlyL2J1aWxkLXJlY2lwZS1saXN0LnB5ICR3b3JrZGlyCi0KLSM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotZnVuY3Rpb24gYmFrZV9kaXN0cm9kYXRhIHsKLSAgICAjIGdldCB0byBzb3VyY2UgZGlyZWN0b3J5IG9mIHRoZSBnaXQKLSAgICBjZCAkc291cmNlZGlyCi0KLSAgICAjIGNoYW5nZSB0aGUgYnJhbmNoIC8gY29tbWl0LiBEbyBub3QgY2hhbmdlIGlmIGlucHV0IGlzIGN1cnJlbnQKLSAgICBpZiBbICIkMSIgIT0gImN1cnJlbnQiIF07IHRoZW4KLSAgICAgICAgb3V0cHV0PSQoZ2l0IGNoZWNrb3V0ICQxIDI+JjEpCi0KLSAgICAgICAgIyBleGl0IGlmIGdpdCBmYWlscwotICAgICAgICBpZiBbWyAkb3V0cHV0ID09ICoiZXJyb3IiKiBdXTsgdGhlbgotICAgICAgICAgICAgZWNobyAiZ2l0IGVycm9yIDogJG91dHB1dCIKLSAgICAgICAgICAgIGVjaG8gImV4aXRpbmcgLi4uICIKLSAgICAgICAgICAgIHJtIC1yZiAkd29ya2RpcgotICAgICAgICAgICAgZXhpdAotICAgICAgICBmaQotICAgIGZpCi0KLSAgICAjIG1ha2UgdG1wIGFzIHdvcmtkaXIKLSAgICBjZCAkd29ya2RpcgotCi0gICAgIyBzb3VyY2Ugb2UtaW5pdCB0byBnZW5lcmF0ZSBhIG5ldyBidWlsZCBmb2xkZXIKLSAgICBzb3VyY2UgJHNvdXJjZWRpci9vZS1pbml0LWJ1aWxkLWVudiAkMQotCi0gICAgIyBpZiBmaWxlIGFscmVhZHkgZXhpc3RzIHdpdGggZGlzdHJvZGF0YSwgZG8gbm90IGFwcGVuZAotICAgIGlmICEgZ3JlcCAtcSAiZGlzdHJvZGF0YSIgImNvbmYvbG9jYWwuY29uZiI7IHRoZW4KLSAgICAgICAgIyBhZGQgaW5oZXJpdCBkaXN0cm9kYXRhIHRvIGxvY2FsLmNvbmYgdG8gZW5hYmxlIGRpc3Ryb2RhdGEgZmVhdHVyZQotICAgICAgICBlY2hvICdJTkhFUklUICs9ICJkaXN0cm9kYXRhIicgPj4gY29uZi9sb2NhbC5jb25mCi0gICAgZmkKLQotICAgICMgdXNlIGZyb20gdG1wCi0gICAgJHdvcmtkaXIvYnVpbGQtcmVjaXBlLWxpc3QucHkgZ2VuZXJhdGVfcmVjaXBlX2xpc3QKLX0KLQotYmFrZV9kaXN0cm9kYXRhICRwcmV2aW91c192ZXJzaW9uCi1iYWtlX2Rpc3Ryb2RhdGEgJGN1cnJlbnRfdmVyc2lvbgotCi0jPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLWNkICR3b3JrZGlyCi0KLSMgY29tcGFyZSB0aGUgMiBnZW5lcmF0ZWQgcmVjaXBlLWxpc3QudHh0Ci0kd29ya2Rpci9idWlsZC1yZWNpcGUtbGlzdC5weSBjb21wYXJlX3JlY2lwZSAkcHJldmlvdXNfdmVyc2lvbiAkY3VycmVudF92ZXJzaW9uCi0KLSMgY29weSBmaW5hbCByZXN1bHQgdG8gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeQotY3AgJHdvcmtkaXIvKl9uZXdfcmVjaXBlX2xpc3QudHh0ICRjdXJyZW50d29ya2RpcgotCi1pZiBbICQ/IC1uZSAwIF07IHRoZW4KLSAgICBybSAtcmYgJHdvcmtkaXIvJHByZXZpb3VzX3ZlcnNpb24KLSAgICBybSAtcmYgJHdvcmtkaXIvJGN1cnJlbnRfdmVyc2lvbgotICAgIHJtICR3b3JrZGlyL2J1aWxkLXJlY2lwZS1saXN0LnB5Ci0gICAgIyBwcmVzZXJ2ZSB0aGUgcmVzdWx0IGluIC90bXAvZGlzdHJvZGF0YSBpZiBmYWlsIHRvIGNvcHkgdGhlIHJlc3VsdCBvdmVyCi0gICAgZXhpdAotZmkKLQotIyBjbGVhbnVwCi1ybSAtcmYgJHdvcmtkaXIKLQotIyBwZXJmb3JtIHJvbGxiYWNrIGJyYW5jaAotY2QgJHNvdXJjZWRpcgotY3VycmVudGJyYW5jaD1gZ2l0IGJyYW5jaCB8IGdyZXAgXCogfCBjdXQgLWQgJyAnIC1mMmAKLWlmIFsgIiRjdXJyZW50YnJhbmNoIiAhPSAiJGJyYW5jaCIgXTsgdGhlbgotICAgIGdpdCBjaGVja291dCAkYnJhbmNoCi1maQotCi1jZCAkY3VycmVudHdvcmtkaXIKLQotIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL19faW5pdF9fLnB5IGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL19faW5pdF9fLnB5CmluZGV4IDg5ZjA5OGEuLjhmYzdmZmYgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9fX2luaXRfXy5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvX19pbml0X18ucHkKQEAgLTIwNSw2ICsyMDUsNyBAQAogICAgIGltcG9ydCBvZS5wYXRjaAogICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ocmVwb2RpciwgJy5naXQnKSk6CiAgICAgICAgIGJiLnByb2Nlc3MucnVuKCdnaXQgaW5pdCcsIGN3ZD1yZXBvZGlyKQorICAgICAgICBiYi5wcm9jZXNzLnJ1bignZ2l0IGNvbmZpZyAtLWxvY2FsIGdjLmF1dG9kZXRhY2ggMCcsIGN3ZD1yZXBvZGlyKQogICAgICAgICBiYi5wcm9jZXNzLnJ1bignZ2l0IGFkZCAuJywgY3dkPXJlcG9kaXIpCiAgICAgICAgIGNvbW1pdF9jbWQgPSBbJ2dpdCddCiAgICAgICAgIG9lLnBhdGNoLkdpdEFwcGx5VHJlZS5naXRDb21tYW5kVXNlck9wdGlvbnMoY29tbWl0X2NtZCwgZD1kKQpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL2RlcGxveS5weSBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9kZXBsb3kucHkKaW5kZXggODg2MDA0Yi4uZjM0NWYzMSAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL2RlcGxveS5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvZGVwbG95LnB5CkBAIC0yMTEsNiArMjExLDExIEBACiAgICAgICAgIGlmIG5vdCBhcmdzLnNob3dfc3RhdHVzOgogICAgICAgICAgICAgZXh0cmFvcHRpb25zICs9ICcgLXEnCiAKKyAgICAgICAgc2NwX3NzaGV4ZWMgPSAnJworICAgICAgICBzc2hfc3NoZXhlYyA9ICdzc2gnCisgICAgICAgIGlmIGFyZ3Muc3NoX2V4ZWM6CisgICAgICAgICAgICBzY3Bfc3NoZXhlYyA9ICItUyAlcyIgJSBhcmdzLnNzaF9leGVjCisgICAgICAgICAgICBzc2hfc3NoZXhlYyA9IGFyZ3Muc3NoX2V4ZWMKICAgICAgICAgc2NwX3BvcnQgPSAnJwogICAgICAgICBzc2hfcG9ydCA9ICcnCiAgICAgICAgIGlmIGFyZ3MucG9ydDoKQEAgLTIzOCw3ICsyNDMsNyBAQAogICAgICAgICAgICAgICAgIGZvciBmcGF0aCwgZnNpemUgaW4gZmlsZWxpc3Q6CiAgICAgICAgICAgICAgICAgICAgIGYud3JpdGUoJyVzICVkXG4nICUgKGZwYXRoLCBmc2l6ZSkpCiAgICAgICAgICAgICAjIENvcHkgdGhlbSB0byB0aGUgdGFyZ2V0Ci0gICAgICAgICAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoInNjcCAlcyAlcyAlcy8qICVzOiVzIiAlIChzY3BfcG9ydCwgZXh0cmFvcHRpb25zLCB0bXBkaXIsIGFyZ3MudGFyZ2V0LCBvcy5wYXRoLmRpcm5hbWUodG1wc2NyaXB0KSksIHNoZWxsPVRydWUpCisgICAgICAgICAgICByZXQgPSBzdWJwcm9jZXNzLmNhbGwoInNjcCAlcyAlcyAlcyAlcy8qICVzOiVzIiAlIChzY3Bfc3NoZXhlYywgc2NwX3BvcnQsIGV4dHJhb3B0aW9ucywgdG1wZGlyLCBhcmdzLnRhcmdldCwgb3MucGF0aC5kaXJuYW1lKHRtcHNjcmlwdCkpLCBzaGVsbD1UcnVlKQogICAgICAgICAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgICAgICAgICAgcmFpc2UgRGV2dG9vbEVycm9yKCdGYWlsZWQgdG8gY29weSBzY3JpcHQgdG8gJXMgLSByZXJ1biB3aXRoIC1zIHRvICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldCBhIGNvbXBsZXRlIGVycm9yIG1lc3NhZ2UnICUgYXJncy50YXJnZXQpCkBAIC0yNDYsNyArMjUxLDcgQEAKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUodG1wZGlyKQogCiAgICAgICAgICMgTm93IHJ1biB0aGUgc2NyaXB0Ci0gICAgICAgIHJldCA9IGV4ZWNfZmFrZXJvb3QocmQsICd0YXIgY2YgLSAuIHwgc3NoICAlcyAlcyAlcyBcJ3NoICVzICVzICVzICVzXCcnICUgKHNzaF9wb3J0LCBleHRyYW9wdGlvbnMsIGFyZ3MudGFyZ2V0LCB0bXBzY3JpcHQsIGFyZ3MucmVjaXBlbmFtZSwgZGVzdGRpciwgdG1wZmlsZWxpc3QpLCBjd2Q9cmVjaXBlX291dGRpciwgc2hlbGw9VHJ1ZSkKKyAgICAgICAgcmV0ID0gZXhlY19mYWtlcm9vdChyZCwgJ3RhciBjZiAtIC4gfCAlcyAgJXMgJXMgJXMgXCdzaCAlcyAlcyAlcyAlc1wnJyAlIChzc2hfc3NoZXhlYywgc3NoX3BvcnQsIGV4dHJhb3B0aW9ucywgYXJncy50YXJnZXQsIHRtcHNjcmlwdCwgYXJncy5yZWNpcGVuYW1lLCBkZXN0ZGlyLCB0bXBmaWxlbGlzdCksIGN3ZD1yZWNpcGVfb3V0ZGlyLCBzaGVsbD1UcnVlKQogICAgICAgICBpZiByZXQgIT0gMDoKICAgICAgICAgICAgIHJhaXNlIERldnRvb2xFcnJvcignRGVwbG95IGZhaWxlZCAtIHJlcnVuIHdpdGggLXMgdG8gZ2V0IGEgY29tcGxldGUgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvciBtZXNzYWdlJykKQEAgLTI3Niw2ICsyODEsMTEgQEAKICAgICBpZiBub3QgYXJncy5zaG93X3N0YXR1czoKICAgICAgICAgZXh0cmFvcHRpb25zICs9ICcgLXEnCiAKKyAgICBzY3Bfc3NoZXhlYyA9ICcnCisgICAgc3NoX3NzaGV4ZWMgPSAnc3NoJworICAgIGlmIGFyZ3Muc3NoX2V4ZWM6CisgICAgICAgIHNjcF9zc2hleGVjID0gIi1TICVzIiAlIGFyZ3Muc3NoX2V4ZWMKKyAgICAgICAgc3NoX3NzaGV4ZWMgPSBhcmdzLnNzaF9leGVjCiAgICAgc2NwX3BvcnQgPSAnJwogICAgIHNzaF9wb3J0ID0gJycKICAgICBpZiBhcmdzLnBvcnQ6CkBAIC0yOTIsNyArMzAyLDcgQEAKICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbih0bXBkaXIsIG9zLnBhdGguYmFzZW5hbWUodG1wc2NyaXB0KSksICd3JykgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoc2hlbGxzY3JpcHQpCiAgICAgICAgICMgQ29weSBpdCB0byB0aGUgdGFyZ2V0Ci0gICAgICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgic2NwICVzICVzICVzLyogJXM6JXMiICUgKHNjcF9wb3J0LCBleHRyYW9wdGlvbnMsIHRtcGRpciwgYXJncy50YXJnZXQsIG9zLnBhdGguZGlybmFtZSh0bXBzY3JpcHQpKSwgc2hlbGw9VHJ1ZSkKKyAgICAgICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCJzY3AgJXMgJXMgJXMgJXMvKiAlczolcyIgJSAoc2NwX3NzaGV4ZWMsIHNjcF9wb3J0LCBleHRyYW9wdGlvbnMsIHRtcGRpciwgYXJncy50YXJnZXQsIG9zLnBhdGguZGlybmFtZSh0bXBzY3JpcHQpKSwgc2hlbGw9VHJ1ZSkKICAgICAgICAgaWYgcmV0ICE9IDA6CiAgICAgICAgICAgICByYWlzZSBEZXZ0b29sRXJyb3IoJ0ZhaWxlZCB0byBjb3B5IHNjcmlwdCB0byAlcyAtIHJlcnVuIHdpdGggLXMgdG8gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0IGEgY29tcGxldGUgZXJyb3IgbWVzc2FnZScgJSBhcmdzLnRhcmdldCkKQEAgLTMwMCw3ICszMTAsNyBAQAogICAgICAgICBzaHV0aWwucm10cmVlKHRtcGRpcikKIAogICAgICMgTm93IHJ1biB0aGUgc2NyaXB0Ci0gICAgcmV0ID0gc3VicHJvY2Vzcy5jYWxsKCdzc2ggJXMgJXMgJXMgXCdzaCAlcyAlc1wnJyAlIChzc2hfcG9ydCwgZXh0cmFvcHRpb25zLCBhcmdzLnRhcmdldCwgdG1wc2NyaXB0LCBhcmdzLnJlY2lwZW5hbWUpLCBzaGVsbD1UcnVlKQorICAgIHJldCA9IHN1YnByb2Nlc3MuY2FsbCgnJXMgJXMgJXMgJXMgXCdzaCAlcyAlc1wnJyAlIChzc2hfc3NoZXhlYywgc3NoX3BvcnQsIGV4dHJhb3B0aW9ucywgYXJncy50YXJnZXQsIHRtcHNjcmlwdCwgYXJncy5yZWNpcGVuYW1lKSwgc2hlbGw9VHJ1ZSkKICAgICBpZiByZXQgIT0gMDoKICAgICAgICAgcmFpc2UgRGV2dG9vbEVycm9yKCdVbmRlcGxveSBmYWlsZWQgLSByZXJ1biB3aXRoIC1zIHRvIGdldCBhIGNvbXBsZXRlICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvciBtZXNzYWdlJykKQEAgLTMyNCw2ICszMzQsNyBAQAogICAgIHBhcnNlcl9kZXBsb3kuYWRkX2FyZ3VtZW50KCctbicsICctLWRyeS1ydW4nLCBoZWxwPSdMaXN0IGZpbGVzIHRvIGJlIGRlcGxveWVkIG9ubHknLCBhY3Rpb249J3N0b3JlX3RydWUnKQogICAgIHBhcnNlcl9kZXBsb3kuYWRkX2FyZ3VtZW50KCctcCcsICctLW5vLXByZXNlcnZlJywgaGVscD0nRG8gbm90IHByZXNlcnZlIGV4aXN0aW5nIGZpbGVzJywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLS1uby1jaGVjay1zcGFjZScsIGhlbHA9J0RvIG5vdCBjaGVjayBmb3IgYXZhaWxhYmxlIHNwYWNlIGJlZm9yZSBkZXBsb3lpbmcnLCBhY3Rpb249J3N0b3JlX3RydWUnKQorICAgIHBhcnNlcl9kZXBsb3kuYWRkX2FyZ3VtZW50KCctZScsICctLXNzaC1leGVjJywgaGVscD0nRXhlY3V0YWJsZSB0byB1c2UgaW4gcGxhY2Ugb2Ygc3NoJykKICAgICBwYXJzZXJfZGVwbG95LmFkZF9hcmd1bWVudCgnLVAnLCAnLS1wb3J0JywgaGVscD0nU3BlY2lmeSBwb3J0IHRvIHVzZSBmb3IgY29ubmVjdGlvbiB0byB0aGUgdGFyZ2V0JykKIAogICAgIHN0cmlwX29wdHMgPSBwYXJzZXJfZGVwbG95LmFkZF9tdXR1YWxseV9leGNsdXNpdmVfZ3JvdXAocmVxdWlyZWQ9RmFsc2UpCkBAIC0zNDYsNSArMzU3LDYgQEAKICAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctcycsICctLXNob3ctc3RhdHVzJywgaGVscD0nU2hvdyBwcm9ncmVzcy9zdGF0dXMgb3V0cHV0JywgYWN0aW9uPSdzdG9yZV90cnVlJykKICAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctYScsICctLWFsbCcsIGhlbHA9J1VuZGVwbG95IGFsbCByZWNpcGVzIGRlcGxveWVkIG9uIHRoZSB0YXJnZXQnLCBhY3Rpb249J3N0b3JlX3RydWUnKQogICAgIHBhcnNlcl91bmRlcGxveS5hZGRfYXJndW1lbnQoJy1uJywgJy0tZHJ5LXJ1bicsIGhlbHA9J0xpc3QgZmlsZXMgdG8gYmUgdW5kZXBsb3llZCBvbmx5JywgYWN0aW9uPSdzdG9yZV90cnVlJykKKyAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctZScsICctLXNzaC1leGVjJywgaGVscD0nRXhlY3V0YWJsZSB0byB1c2UgaW4gcGxhY2Ugb2Ygc3NoJykKICAgICBwYXJzZXJfdW5kZXBsb3kuYWRkX2FyZ3VtZW50KCctUCcsICctLXBvcnQnLCBoZWxwPSdTcGVjaWZ5IHBvcnQgdG8gdXNlIGZvciBjb25uZWN0aW9uIHRvIHRoZSB0YXJnZXQnKQogICAgIHBhcnNlcl91bmRlcGxveS5zZXRfZGVmYXVsdHMoZnVuYz11bmRlcGxveSkKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9zdGFuZGFyZC5weSBiL3Bva3kvc2NyaXB0cy9saWIvZGV2dG9vbC9zdGFuZGFyZC5weQppbmRleCBiN2Q0ZDQ3Li5lYTA5YmJmIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvc3RhbmRhcmQucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3N0YW5kYXJkLnB5CkBAIC04NDksOSArODQ5LDcgQEAKICAgICAgICAgICAgIGlmIGJiLmRhdGEuaW5oZXJpdHNfY2xhc3MoJ2tlcm5lbCcsIHJkKToKICAgICAgICAgICAgICAgICBmLndyaXRlKCdTUkNUUkVFQ09WRVJFRFRBU0tTID0gImRvX3ZhbGlkYXRlX2JyYW5jaGVzIGRvX2tlcm5lbF9jaGVja291dCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAnZG9fZmV0Y2ggZG9fdW5wYWNrIGRvX2tlcm5lbF9jb25maWdtZSBkb19rZXJuZWxfY29uZmlnY2hlY2siXG4nKQotICAgICAgICAgICAgICAgIGYud3JpdGUoJ1xuZG9fcGF0Y2goKSB7XG4nCi0gICAgICAgICAgICAgICAgICAgICAgICAnICAgIDpcbicKLSAgICAgICAgICAgICAgICAgICAgICAgICd9XG4nKQorICAgICAgICAgICAgICAgIGYud3JpdGUoJ1xuZG9fcGF0Y2hbbm9leGVjXSA9ICIxIlxuJykKICAgICAgICAgICAgICAgICBmLndyaXRlKCdcbmRvX2NvbmZpZ3VyZV9hcHBlbmQoKSB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAnICAgIGNwICR7Qn0vLmNvbmZpZyAke1N9Ly5jb25maWcuYmFzZWxpbmVcbicKICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgbG4gLXNmVCAke0J9Ly5jb25maWcgJHtTfS8uY29uZmlnLm5ld1xuJwpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi9kZXZ0b29sL3VwZ3JhZGUucHkgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvdXBncmFkZS5weQppbmRleCAyMDIwMDc3Li43NWU3NjVlIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvdXBncmFkZS5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL2RldnRvb2wvdXBncmFkZS5weQpAQCAtNjAwLDYgKzYwMCwyMCBAQAogICAgICAgICB0aW5mb2lsLnNodXRkb3duKCkKICAgICByZXR1cm4gMAogCitkZWYgY2hlY2tfdXBncmFkZV9zdGF0dXMoYXJncywgY29uZmlnLCBiYXNlcGF0aCwgd29ya3NwYWNlKToKKyAgICBpZiBub3QgYXJncy5yZWNpcGU6CisgICAgICAgIGxvZ2dlci5pbmZvKCJDaGVja2luZyB0aGUgdXBzdHJlYW0gc3RhdHVzIGZvciBhbGwgcmVjaXBlcyBtYXkgdGFrZSBhIGZldyBtaW51dGVzIikKKyAgICByZXN1bHRzID0gb2UucmVjaXBldXRpbHMuZ2V0X3JlY2lwZV91cGdyYWRlX3N0YXR1cyhhcmdzLnJlY2lwZSkKKyAgICBmb3IgcmVzdWx0IGluIHJlc3VsdHM6CisgICAgICAgICMgcG4sIHVwZGF0ZV9zdGF0dXMsIGN1cnJlbnQsIGxhdGVzdCwgbWFpbnRhaW5lciwgbGF0ZXN0X2NvbW1pdCwgbm9fdXBkYXRlX3JlYXNvbgorICAgICAgICBpZiBhcmdzLmFsbCBvciByZXN1bHRbMV0gIT0gJ01BVENIJzoKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJ7OjI1fSB7OjE1fSB7OjE1fSB7fSB7fSB7fSIuZm9ybWF0KCAgIHJlc3VsdFswXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFsyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFsxXSBpZiByZXN1bHRbMV0gIT0gJ1VQREFURScgZWxzZSAocmVzdWx0WzNdIGlmIG5vdCByZXN1bHRbM10uZW5kc3dpdGgoIm5ldy1jb21taXRzLWF2YWlsYWJsZSIpIGVsc2UgIm5ldyBjb21taXRzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbNF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbNV0gaWYgcmVzdWx0WzVdICE9ICdOL0EnIGVsc2UgIiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IGJlIHVwZGF0ZWQgZHVlIHRvOiAlcyIgJShyZXN1bHRbNl0pIGlmIHJlc3VsdFs2XSBlbHNlICIiKSkKKwogZGVmIHJlZ2lzdGVyX2NvbW1hbmRzKHN1YnBhcnNlcnMsIGNvbnRleHQpOgogICAgICIiIlJlZ2lzdGVyIGRldnRvb2wgc3ViY29tbWFuZHMgZnJvbSB0aGlzIHBsdWdpbiIiIgogCkBAIC02MjcsMyArNjQxLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwPSdpbmZvJykKICAgICBwYXJzZXJfbGF0ZXN0X3ZlcnNpb24uYWRkX2FyZ3VtZW50KCdyZWNpcGVuYW1lJywgaGVscD0nTmFtZSBvZiByZWNpcGUgdG8gcXVlcnkgKGp1c3QgbmFtZSAtIG5vIHZlcnNpb24sIHBhdGggb3IgZXh0ZW5zaW9uKScpCiAgICAgcGFyc2VyX2xhdGVzdF92ZXJzaW9uLnNldF9kZWZhdWx0cyhmdW5jPWxhdGVzdF92ZXJzaW9uKQorCisgICAgcGFyc2VyX2NoZWNrX3VwZ3JhZGVfc3RhdHVzID0gc3VicGFyc2Vycy5hZGRfcGFyc2VyKCdjaGVjay11cGdyYWRlLXN0YXR1cycsIGhlbHA9IlJlcG9ydCB1cGdyYWRhYmlsaXR5IGZvciBtdWx0aXBsZSAob3IgYWxsKSByZWNpcGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249IlByaW50cyBhIHRhYmxlIG9mIHJlY2lwZXMgdG9nZXRoZXIgd2l0aCB2ZXJzaW9ucyBjdXJyZW50bHkgcHJvdmlkZWQgYnkgcmVjaXBlcywgYW5kIGxhdGVzdCB1cHN0cmVhbSB2ZXJzaW9ucywgd2hlbiB0aGVyZSBpcyBhIGxhdGVyIHZlcnNpb24gYXZhaWxhYmxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXA9J2luZm8nKQorICAgIHBhcnNlcl9jaGVja191cGdyYWRlX3N0YXR1cy5hZGRfYXJndW1lbnQoJ3JlY2lwZScsIGhlbHA9J05hbWUgb2YgdGhlIHJlY2lwZSB0byByZXBvcnQgKG9taXQgdG8gcmVwb3J0IHVwZ3JhZGUgaW5mbyBmb3IgYWxsIHJlY2lwZXMpJywgbmFyZ3M9JyonKQorICAgIHBhcnNlcl9jaGVja191cGdyYWRlX3N0YXR1cy5hZGRfYXJndW1lbnQoJy0tYWxsJywgJy1hJywgaGVscD0nU2hvdyBhbGwgcmVjaXBlcywgbm90IGp1c3QgcmVjaXBlcyBuZWVkaW5nIHVwZ3JhZGUnLCBhY3Rpb249InN0b3JlX3RydWUiKQorICAgIHBhcnNlcl9jaGVja191cGdyYWRlX3N0YXR1cy5zZXRfZGVmYXVsdHMoZnVuYz1jaGVja191cGdyYWRlX3N0YXR1cykKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9tYW51YWxleGVjdXRpb24ucHkgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvbWFudWFsZXhlY3V0aW9uLnB5CmluZGV4IDY0ODdjZDkuLmM5NGY5ODEgMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9tYW51YWxleGVjdXRpb24ucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL21hbnVhbGV4ZWN1dGlvbi5weQpAQCAtMjQsMzAgKzI0LDE4IEBACiAgICAgd2l0aCBvcGVuKGZpbGUsICJyIikgYXMgZjoKICAgICAgICAgcmV0dXJuIGpzb24ubG9hZChmKQogCi0KIGNsYXNzIE1hbnVhbFRlc3RSdW5uZXIob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuamRhdGEgPSAnJwotICAgICAgICBzZWxmLnRlc3RfbW9kdWxlID0gJycKLSAgICAgICAgc2VsZi50ZXN0X2Nhc2VzX2lkID0gJycKLSAgICAgICAgc2VsZi5jb25maWd1cmF0aW9uID0gJycKLSAgICAgICAgc2VsZi5zdGFydHRpbWUgPSAnJwotICAgICAgICBzZWxmLnJlc3VsdF9pZCA9ICcnCi0gICAgICAgIHNlbGYud3JpdGVfZGlyID0gJycKIAogICAgIGRlZiBfZ2V0X3Rlc3RjYXNlcyhzZWxmLCBmaWxlKToKICAgICAgICAgc2VsZi5qZGF0YSA9IGxvYWRfanNvbl9maWxlKGZpbGUpCi0gICAgICAgIHNlbGYudGVzdF9jYXNlc19pZCA9IFtdCiAgICAgICAgIHNlbGYudGVzdF9tb2R1bGUgPSBzZWxmLmpkYXRhWzBdWyd0ZXN0J11bJ0BhbGlhcyddLnNwbGl0KCcuJywgMilbMF0KLSAgICAgICAgZm9yIGkgaW4gc2VsZi5qZGF0YToKLSAgICAgICAgICAgIHNlbGYudGVzdF9jYXNlc19pZC5hcHBlbmQoaVsndGVzdCddWydAYWxpYXMnXSkKLSAgICAKKwogICAgIGRlZiBfZ2V0X2lucHV0KHNlbGYsIGNvbmZpZyk6CiAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBvdXRwdXQgPSBpbnB1dCgne30gPSAnLmZvcm1hdChjb25maWcpKQotICAgICAgICAgICAgaWYgcmUubWF0Y2goJ15bYS16QS1aMC05Xy1dKyQnLCBvdXRwdXQpOgorICAgICAgICAgICAgaWYgcmUubWF0Y2goJ15bYS16MC05LS5dKyQnLCBvdXRwdXQpOgogICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBwcmludCgnT25seSBhbHBoYW51bWVyaWMgYW5kIHVuZGVyc2NvcmUvaHlwaGVuIGFyZSBhbGxvd2VkLiBQbGVhc2UgdHJ5IGFnYWluJykKKyAgICAgICAgICAgIHByaW50KCdPbmx5IGxvd2VyY2FzZSBhbHBoYW51bWVyaWMsIGh5cGhlbiBhbmQgZG90IGFyZSBhbGxvd2VkLiBQbGVhc2UgdHJ5IGFnYWluJykKICAgICAgICAgcmV0dXJuIG91dHB1dAogCiAgICAgZGVmIF9jcmVhdGVfY29uZmlnKHNlbGYpOgpAQCAtNjcsNDQgKzU1LDQyIEBACiAgICAgICAgIGV4dHJhX2NvbmZpZyA9IHNldChzdG9yZV9tYXBbJ21hbnVhbCddKSAtIHNldChzZWxmLmNvbmZpZ3VyYXRpb24pCiAgICAgICAgIGZvciBjb25maWcgaW4gc29ydGVkKGV4dHJhX2NvbmZpZyk6CiAgICAgICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJykKLSAgICAgICAgICAgIHByaW50KCdUaGlzIGlzIGNvbmZpZ3VyYXRpb24gIyVzLiBQbGVhc2UgcHJvdmlkZSBjb25maWd1cmF0aW9uIHZhbHVlKHVzZSAiTm9uZSIgaWYgbm90IGFwcGxpY2FibGUpLicKLSAgICAgICAgICAgICAgICAgICUgY29uZmlnKQorICAgICAgICAgICAgcHJpbnQoJ1RoaXMgaXMgY29uZmlndXJhdGlvbiAjJXMuIFBsZWFzZSBwcm92aWRlIGNvbmZpZ3VyYXRpb24gdmFsdWUodXNlICJOb25lIiBpZiBub3QgYXBwbGljYWJsZSkuJyAlIGNvbmZpZykKICAgICAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQogICAgICAgICAgICAgdmFsdWVfY29uZiA9IHNlbGYuX2dldF9pbnB1dCgnQ29uZmlndXJhdGlvbiBWYWx1ZScpCiAgICAgICAgICAgICBwcmludCgnLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4nKQogICAgICAgICAgICAgc2VsZi5jb25maWd1cmF0aW9uW2NvbmZpZ10gPSB2YWx1ZV9jb25mCiAKICAgICBkZWYgX2NyZWF0ZV9yZXN1bHRfaWQoc2VsZik6Ci0gICAgICAgIHNlbGYucmVzdWx0X2lkID0gJ21hbnVhbF8nICsgc2VsZi50ZXN0X21vZHVsZSArICdfJyArIHNlbGYuc3RhcnR0aW1lCisgICAgICAgIHNlbGYucmVzdWx0X2lkID0gJ21hbnVhbF8lc18lcycgJSAoc2VsZi50ZXN0X21vZHVsZSwgc2VsZi5zdGFydHRpbWUpCiAKLSAgICBkZWYgX2V4ZWN1dGVfdGVzdF9zdGVwcyhzZWxmLCB0ZXN0X2lkKToKKyAgICBkZWYgX2V4ZWN1dGVfdGVzdF9zdGVwcyhzZWxmLCB0ZXN0KToKICAgICAgICAgdGVzdF9yZXN1bHQgPSB7fQotICAgICAgICB0b3RhbF9zdGVwcyA9IGxlbihzZWxmLmpkYXRhW3Rlc3RfaWRdWyd0ZXN0J11bJ2V4ZWN1dGlvbiddLmtleXMoKSkKICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScpCi0gICAgICAgIHByaW50KCdFeGVjdXRpbmcgdGVzdCBjYXNlOicgKyAnJyAnJyArIHNlbGYudGVzdF9jYXNlc19pZFt0ZXN0X2lkXSkKKyAgICAgICAgcHJpbnQoJ0V4ZWN1dGluZyB0ZXN0IGNhc2U6ICVzJyAlIHRlc3RbJ3Rlc3QnXVsnQGFsaWFzJ10pCiAgICAgICAgIHByaW50KCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0nKQotICAgICAgICBwcmludCgnWW91IGhhdmUgdG90YWwgJyArIHN0cih0b3RhbF9zdGVwcykgKyAnIHRlc3Qgc3RlcHMgdG8gYmUgZXhlY3V0ZWQuJykKKyAgICAgICAgcHJpbnQoJ1lvdSBoYXZlIHRvdGFsICVzIHRlc3Qgc3RlcHMgdG8gYmUgZXhlY3V0ZWQuJyAlIGxlbih0ZXN0Wyd0ZXN0J11bJ2V4ZWN1dGlvbiddKSkKICAgICAgICAgcHJpbnQoJy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJykKLSAgICAgICAgZm9yIHN0ZXAgaW4gc29ydGVkKChzZWxmLmpkYXRhW3Rlc3RfaWRdWyd0ZXN0J11bJ2V4ZWN1dGlvbiddKS5rZXlzKCkpOgotICAgICAgICAgICAgcHJpbnQoJ1N0ZXAgJXM6ICcgJSBzdGVwICsgc2VsZi5qZGF0YVt0ZXN0X2lkXVsndGVzdCddWydleGVjdXRpb24nXVsnJXMnICUgc3RlcF1bJ2FjdGlvbiddKQotICAgICAgICAgICAgcHJpbnQoJ0V4cGVjdGVkIG91dHB1dDogJyArIHNlbGYuamRhdGFbdGVzdF9pZF1bJ3Rlc3QnXVsnZXhlY3V0aW9uJ11bJyVzJyAlIHN0ZXBdWydleHBlY3RlZF9yZXN1bHRzJ10pCi0gICAgICAgICAgICBkb25lID0gaW5wdXQoJ1xuUGxlYXNlIHByZXNzIEVOVEVSIHdoZW4geW91IGFyZSBkb25lIHRvIHByb2NlZWQgdG8gbmV4dCBzdGVwLlxuJykKKyAgICAgICAgZm9yIHN0ZXAsIF8gaW4gc29ydGVkKHRlc3RbJ3Rlc3QnXVsnZXhlY3V0aW9uJ10uaXRlbXMoKSwga2V5PWxhbWJkYSB4OiBpbnQoeFswXSkpOgorICAgICAgICAgICAgcHJpbnQoJ1N0ZXAgJXM6ICVzJyAlIChzdGVwLCB0ZXN0Wyd0ZXN0J11bJ2V4ZWN1dGlvbiddW3N0ZXBdWydhY3Rpb24nXSkpCisgICAgICAgICAgICBleHBlY3RlZF9vdXRwdXQgPSB0ZXN0Wyd0ZXN0J11bJ2V4ZWN1dGlvbiddW3N0ZXBdWydleHBlY3RlZF9yZXN1bHRzJ10KKyAgICAgICAgICAgIGlmIGV4cGVjdGVkX291dHB1dDoKKyAgICAgICAgICAgICAgICBwcmludCgnRXhwZWN0ZWQgb3V0cHV0OiAlcycgJSBleHBlY3RlZF9vdXRwdXQpCiAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBkb25lID0gaW5wdXQoJ1xuUGxlYXNlIHByb3ZpZGUgdGVzdCByZXN1bHRzOiAoUClhc3NlZC8oRilhaWxlZC8oQilsb2NrZWQvKFMpa2lwcGVkPyBcbicpCi0gICAgICAgICAgICBkb25lID0gZG9uZS5sb3dlcigpCisgICAgICAgICAgICBkb25lID0gaW5wdXQoJ1xuUGxlYXNlIHByb3ZpZGUgdGVzdCByZXN1bHRzOiAoUClhc3NlZC8oRilhaWxlZC8oQilsb2NrZWQvKFMpa2lwcGVkPyBcbicpLmxvd2VyKCkKICAgICAgICAgICAgIHJlc3VsdF90eXBlcyA9IHsncCc6J1BBU1NFRCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmJzonRkFJTEVEJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2InOidCTE9DS0VEJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3MnOidTS0lQUEVEJ30KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZic6J0ZBSUxFRCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2InOidCTE9DS0VEJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAncyc6J1NLSVBQRUQnfQogICAgICAgICAgICAgaWYgZG9uZSBpbiByZXN1bHRfdHlwZXM6CiAgICAgICAgICAgICAgICAgZm9yIHIgaW4gcmVzdWx0X3R5cGVzOgogICAgICAgICAgICAgICAgICAgICBpZiBkb25lID09IHI6CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSByZXN1bHRfdHlwZXNbcl0KICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlcyA9PSAnRkFJTEVEJzoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dfaW5wdXQgPSBpbnB1dCgnXG5QbGVhc2UgZW50ZXIgdGhlIGVycm9yIGFuZCB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGxvZzogKEV4OmxvZzoyMTEgRXJyb3IgQml0YmFrZSlcbicpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9yZXN1bHQudXBkYXRlKHtzZWxmLnRlc3RfY2FzZXNfaWRbdGVzdF9pZF06IHsnc3RhdHVzJzogJyVzJyAlIHJlcywgJ2xvZyc6ICclcycgJSBsb2dfaW5wdXR9fSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X3Jlc3VsdC51cGRhdGUoe3Rlc3RbJ3Rlc3QnXVsnQGFsaWFzJ106IHsnc3RhdHVzJzogJyVzJyAlIHJlcywgJ2xvZyc6ICclcycgJSBsb2dfaW5wdXR9fSkKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdF9yZXN1bHQudXBkYXRlKHtzZWxmLnRlc3RfY2FzZXNfaWRbdGVzdF9pZF06IHsnc3RhdHVzJzogJyVzJyAlIHJlc319KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzdWx0LnVwZGF0ZSh7dGVzdFsndGVzdCddWydAYWxpYXMnXTogeydzdGF0dXMnOiAnJXMnICUgcmVzfX0pCiAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgIHByaW50KCdJbnZhbGlkIGlucHV0IScpCiAgICAgICAgIHJldHVybiB0ZXN0X3Jlc3VsdApAQCAtMTE5LDkgKzEwNSw5IEBACiAgICAgICAgIHNlbGYuX2NyZWF0ZV9yZXN1bHRfaWQoKQogICAgICAgICBzZWxmLl9jcmVhdGVfd3JpdGVfZGlyKCkKICAgICAgICAgdGVzdF9yZXN1bHRzID0ge30KLSAgICAgICAgcHJpbnQoJ1xuVG90YWwgbnVtYmVyIG9mIHRlc3QgY2FzZXMgaW4gdGhpcyB0ZXN0IHN1aXRlOiAnICsgJyVzXG4nICUgbGVuKHNlbGYuamRhdGEpKQotICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oc2VsZi5qZGF0YSkpOgotICAgICAgICAgICAgdGVzdF9yZXN1bHQgPSBzZWxmLl9leGVjdXRlX3Rlc3Rfc3RlcHMoaSkKKyAgICAgICAgcHJpbnQoJ1xuVG90YWwgbnVtYmVyIG9mIHRlc3QgY2FzZXMgaW4gdGhpcyB0ZXN0IHN1aXRlOiAlc1xuJyAlIGxlbihzZWxmLmpkYXRhKSkKKyAgICAgICAgZm9yIHQgaW4gc2VsZi5qZGF0YToKKyAgICAgICAgICAgIHRlc3RfcmVzdWx0ID0gc2VsZi5fZXhlY3V0ZV90ZXN0X3N0ZXBzKHQpCiAgICAgICAgICAgICB0ZXN0X3Jlc3VsdHMudXBkYXRlKHRlc3RfcmVzdWx0KQogICAgICAgICByZXR1cm4gc2VsZi5jb25maWd1cmF0aW9uLCBzZWxmLnJlc3VsdF9pZCwgc2VsZi53cml0ZV9kaXIsIHRlc3RfcmVzdWx0cwogCkBAIC0xMjksOCArMTE1LDcgQEAKICAgICB0ZXN0cnVubmVyID0gTWFudWFsVGVzdFJ1bm5lcigpCiAgICAgZ2V0X2NvbmZpZ3VyYXRpb24sIGdldF9yZXN1bHRfaWQsIGdldF93cml0ZV9kaXIsIGdldF90ZXN0X3Jlc3VsdHMgPSB0ZXN0cnVubmVyLnJ1bl90ZXN0KGFyZ3MuZmlsZSkKICAgICByZXN1bHRqc29uaGVscGVyID0gT0VUZXN0UmVzdWx0SlNPTkhlbHBlcigpCi0gICAgcmVzdWx0anNvbmhlbHBlci5kdW1wX3Rlc3RyZXN1bHRfZmlsZShnZXRfd3JpdGVfZGlyLCBnZXRfY29uZmlndXJhdGlvbiwgZ2V0X3Jlc3VsdF9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF90ZXN0X3Jlc3VsdHMpCisgICAgcmVzdWx0anNvbmhlbHBlci5kdW1wX3Rlc3RyZXN1bHRfZmlsZShnZXRfd3JpdGVfZGlyLCBnZXRfY29uZmlndXJhdGlvbiwgZ2V0X3Jlc3VsdF9pZCwgZ2V0X3Rlc3RfcmVzdWx0cykKICAgICByZXR1cm4gMAogCiBkZWYgcmVnaXN0ZXJfY29tbWFuZHMoc3VicGFyc2Vycyk6CmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvcmVzdWx0dXRpbHMucHkgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvcmVzdWx0dXRpbHMucHkKaW5kZXggMTUzZjJiOC4uYWQ0MGFjOCAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3Jlc3VsdHV0aWxzLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9yZXN1bHR1dGlscy5weQpAQCAtMTUsNiArMTUsNyBAQAogaW1wb3J0IG9zCiBpbXBvcnQganNvbgogaW1wb3J0IHNjcmlwdHBhdGgKK2ltcG9ydCBjb3B5CiBzY3JpcHRwYXRoLmFkZF9vZV9saWJfcGF0aCgpCiAKIGZsYXR0ZW5fbWFwID0gewpAQCAtNjAsMTIgKzYxLDYgQEAKICAgICAgICAgdGVzdHBhdGggPSAiLyIuam9pbihkYXRhW3Jlc11bImNvbmZpZ3VyYXRpb24iXS5nZXQoaSkgZm9yIGkgaW4gY29uZmlnbWFwW3Rlc3R0eXBlXSkKICAgICAgICAgaWYgdGVzdHBhdGggbm90IGluIHJlc3VsdHM6CiAgICAgICAgICAgICByZXN1bHRzW3Rlc3RwYXRoXSA9IHt9Ci0gICAgICAgIGlmICdwdGVzdHJlc3VsdC5yYXdsb2dzJyBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddOgotICAgICAgICAgICAgZGVsIGRhdGFbcmVzXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnJhd2xvZ3MnXQotICAgICAgICBpZiAncHRlc3RyZXN1bHQuc2VjdGlvbnMnIGluIGRhdGFbcmVzXVsncmVzdWx0J106Ci0gICAgICAgICAgICBmb3IgaSBpbiBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddOgotICAgICAgICAgICAgICAgIGlmICdsb2cnIGluIGRhdGFbcmVzXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV06Ci0gICAgICAgICAgICAgICAgICAgIGRlbCBkYXRhW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldWydsb2cnXQogICAgICAgICByZXN1bHRzW3Rlc3RwYXRoXVtyZXNdID0gZGF0YVtyZXNdCiAKICMKQEAgLTkzLDE1ICs4OCw0MyBAQAogICAgICAgICAgICAgICAgICBuZXdyZXN1bHRzW3JdW2ldID0gcmVzdWx0c1tyXVtpXQogICAgIHJldHVybiBuZXdyZXN1bHRzCiAKLWRlZiBzYXZlX3Jlc3VsdHNkYXRhKHJlc3VsdHMsIGRlc3RkaXIsIGZuPSJ0ZXN0cmVzdWx0cy5qc29uIik6CitkZWYgc3RyaXBfcHRlc3RyZXN1bHRzKHJlc3VsdHMpOgorICAgIG5ld3Jlc3VsdHMgPSBjb3B5LmRlZXBjb3B5KHJlc3VsdHMpCisgICAgI2ZvciBhIGluIG5ld3Jlc3VsdHMyOgorICAgICMgIG5ld3Jlc3VsdHMgPSBuZXdyZXN1bHRzMlthXQorICAgIGZvciByZXMgaW4gbmV3cmVzdWx0czoKKyAgICAgICAgaWYgJ3Jlc3VsdCcgbm90IGluIG5ld3Jlc3VsdHNbcmVzXToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmICdwdGVzdHJlc3VsdC5yYXdsb2dzJyBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddOgorICAgICAgICAgICAgZGVsIG5ld3Jlc3VsdHNbcmVzXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnJhd2xvZ3MnXQorICAgICAgICBpZiAncHRlc3RyZXN1bHQuc2VjdGlvbnMnIGluIG5ld3Jlc3VsdHNbcmVzXVsncmVzdWx0J106CisgICAgICAgICAgICBmb3IgaSBpbiBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddOgorICAgICAgICAgICAgICAgIGlmICdsb2cnIGluIG5ld3Jlc3VsdHNbcmVzXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJ11baV06CisgICAgICAgICAgICAgICAgICAgIGRlbCBuZXdyZXN1bHRzW3Jlc11bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddW2ldWydsb2cnXQorICAgIHJldHVybiBuZXdyZXN1bHRzCisKK2RlZiBzYXZlX3Jlc3VsdHNkYXRhKHJlc3VsdHMsIGRlc3RkaXIsIGZuPSJ0ZXN0cmVzdWx0cy5qc29uIiwgcHRlc3Rqc29uPUZhbHNlLCBwdGVzdGxvZ3M9RmFsc2UpOgogICAgIGZvciByZXMgaW4gcmVzdWx0czoKICAgICAgICAgaWYgcmVzOgogICAgICAgICAgICAgZHN0ID0gZGVzdGRpciArICIvIiArIHJlcyArICIvIiArIGZuCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBkc3QgPSBkZXN0ZGlyICsgIi8iICsgZm4KICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCksIGV4aXN0X29rPVRydWUpCisgICAgICAgIHJlc3VsdHNvdXQgPSByZXN1bHRzW3Jlc10KKyAgICAgICAgaWYgbm90IHB0ZXN0anNvbjoKKyAgICAgICAgICAgIHJlc3VsdHNvdXQgPSBzdHJpcF9wdGVzdHJlc3VsdHMocmVzdWx0c1tyZXNdKQogICAgICAgICB3aXRoIG9wZW4oZHN0LCAndycpIGFzIGY6Ci0gICAgICAgICAgICBmLndyaXRlKGpzb24uZHVtcHMocmVzdWx0c1tyZXNdLCBzb3J0X2tleXM9VHJ1ZSwgaW5kZW50PTQpKQorICAgICAgICAgICAgZi53cml0ZShqc29uLmR1bXBzKHJlc3VsdHNvdXQsIHNvcnRfa2V5cz1UcnVlLCBpbmRlbnQ9NCkpCisgICAgICAgIGZvciByZXMyIGluIHJlc3VsdHNbcmVzXToKKyAgICAgICAgICAgIGlmIHB0ZXN0bG9ncyBhbmQgJ3Jlc3VsdCcgaW4gcmVzdWx0c1tyZXNdW3JlczJdOgorICAgICAgICAgICAgICAgIGlmICdwdGVzdHJlc3VsdC5yYXdsb2dzJyBpbiByZXN1bHRzW3Jlc11bcmVzMl1bJ3Jlc3VsdCddOgorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZHN0LnJlcGxhY2UoZm4sICJwdGVzdC1yYXcubG9nIiksICJ3KyIpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHJlc3VsdHNbcmVzXVtyZXMyXVsncmVzdWx0J11bJ3B0ZXN0cmVzdWx0LnJhd2xvZ3MnXVsnbG9nJ10pCisgICAgICAgICAgICAgICAgaWYgJ3B0ZXN0cmVzdWx0LnNlY3Rpb25zJyBpbiByZXN1bHRzW3Jlc11bcmVzMl1bJ3Jlc3VsdCddOgorICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByZXN1bHRzW3Jlc11bcmVzMl1bJ3Jlc3VsdCddWydwdGVzdHJlc3VsdC5zZWN0aW9ucyddOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ2xvZycgaW4gcmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZHN0LnJlcGxhY2UoZm4sICJwdGVzdC0lcy5sb2ciICUgaSksICJ3KyIpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYud3JpdGUocmVzdWx0c1tyZXNdW3JlczJdWydyZXN1bHQnXVsncHRlc3RyZXN1bHQuc2VjdGlvbnMnXVtpXVsnbG9nJ10pCiAKIGRlZiBnaXRfZ2V0X3Jlc3VsdChyZXBvLCB0YWdzKToKICAgICBnaXRfb2JqcyA9IFtdCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvc3RvcmUucHkgYi9wb2t5L3NjcmlwdHMvbGliL3Jlc3VsdHRvb2wvc3RvcmUucHkKaW5kZXggNWUzMzcxNi4uZTRhMDgwNyAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi9yZXN1bHR0b29sL3N0b3JlLnB5CisrKyBiL3Bva3kvc2NyaXB0cy9saWIvcmVzdWx0dG9vbC9zdG9yZS5weQpAQCAtMjksMTUgKzI5LDE4IEBACiAgICAgdHJ5OgogICAgICAgICByZXN1bHRzID0ge30KICAgICAgICAgbG9nZ2VyLmluZm8oJ1JlYWRpbmcgZmlsZXMgZnJvbSAlcycgJSBhcmdzLnNvdXJjZSkKLSAgICAgICAgZm9yIHJvb3QsIGRpcnMsICBmaWxlcyBpbiBvcy53YWxrKGFyZ3Muc291cmNlKToKLSAgICAgICAgICAgIGZvciBuYW1lIGluIGZpbGVzOgotICAgICAgICAgICAgICAgIGYgPSBvcy5wYXRoLmpvaW4ocm9vdCwgbmFtZSkKLSAgICAgICAgICAgICAgICBpZiBuYW1lID09ICJ0ZXN0cmVzdWx0cy5qc29uIjoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0dXRpbHMuYXBwZW5kX3Jlc3VsdHNkYXRhKHJlc3VsdHMsIGYpCi0gICAgICAgICAgICAgICAgZWxpZiBhcmdzLmFsbDoKLSAgICAgICAgICAgICAgICAgICAgZHN0ID0gZi5yZXBsYWNlKGFyZ3Muc291cmNlLCB0ZW1wZGlyICsgIi8iKQotICAgICAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUoZHN0KSwgZXhpc3Rfb2s9VHJ1ZSkKLSAgICAgICAgICAgICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKGYsIGRzdCkKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoYXJncy5zb3VyY2UpOgorICAgICAgICAgICAgcmVzdWx0dXRpbHMuYXBwZW5kX3Jlc3VsdHNkYXRhKHJlc3VsdHMsIGFyZ3Muc291cmNlKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsICBmaWxlcyBpbiBvcy53YWxrKGFyZ3Muc291cmNlKToKKyAgICAgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICAgICAgZiA9IG9zLnBhdGguam9pbihyb290LCBuYW1lKQorICAgICAgICAgICAgICAgICAgICBpZiBuYW1lID09ICJ0ZXN0cmVzdWx0cy5qc29uIjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHV0aWxzLmFwcGVuZF9yZXN1bHRzZGF0YShyZXN1bHRzLCBmKQorICAgICAgICAgICAgICAgICAgICBlbGlmIGFyZ3MuYWxsOgorICAgICAgICAgICAgICAgICAgICAgICAgZHN0ID0gZi5yZXBsYWNlKGFyZ3Muc291cmNlLCB0ZW1wZGlyICsgIi8iKQorICAgICAgICAgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5kaXJuYW1lKGRzdCksIGV4aXN0X29rPVRydWUpCisgICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUoZiwgZHN0KQogCiAgICAgICAgIHJldmlzaW9ucyA9IHt9CiAKQEAgLTY1LDcgKzY4LDcgQEAKICAgICAgICAgICAgIHJlc3VsdHMgPSByZXZpc2lvbnNbcl0KICAgICAgICAgICAgIGtleXdvcmRzID0geydjb21taXQnOiByWzBdLCAnYnJhbmNoJzogclsxXSwgImNvbW1pdF9jb3VudCI6IHJbMl19CiAgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJmaW5kIiwgdGVtcGRpciwgIiEiLCAiLXBhdGgiLCAiLi8uZ2l0LyoiLCAiLWRlbGV0ZSJdKQotICAgICAgICAgICAgcmVzdWx0dXRpbHMuc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCB0ZW1wZGlyKQorICAgICAgICAgICAgcmVzdWx0dXRpbHMuc2F2ZV9yZXN1bHRzZGF0YShyZXN1bHRzLCB0ZW1wZGlyLCBwdGVzdGxvZ3M9VHJ1ZSkKIAogICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ1N0b3JpbmcgdGVzdCByZXN1bHQgaW50byBnaXQgcmVwb3NpdG9yeSAlcycgJSBhcmdzLmdpdF9kaXIpCiAKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvc2NyaXB0dXRpbHMucHkgYi9wb2t5L3NjcmlwdHMvbGliL3NjcmlwdHV0aWxzLnB5CmluZGV4IDMxZTQ4ZWEuLjA2MzNjNzAgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvc2NyaXB0dXRpbHMucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi9zY3JpcHR1dGlscy5weQpAQCAtMjYsNiArMjYsOCBAQAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IGltcG9ydGxpYgorZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogCiBkZWYgbG9nZ2VyX2NyZWF0ZShuYW1lLCBzdHJlYW09Tm9uZSk6CiAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIobmFtZSkKQEAgLTM3LDEyICszOSwxMiBAQAogCiBkZWYgbG9nZ2VyX3NldHVwX2NvbG9yKGxvZ2dlciwgY29sb3I9J2F1dG8nKToKICAgICBmcm9tIGJiLm1zZyBpbXBvcnQgQkJMb2dGb3JtYXR0ZXIKLSAgICBjb25zb2xlID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKHN5cy5zdGRvdXQpCi0gICAgZm9ybWF0dGVyID0gQkJMb2dGb3JtYXR0ZXIoIiUobGV2ZWxuYW1lKXM6ICUobWVzc2FnZSlzIikKLSAgICBjb25zb2xlLnNldEZvcm1hdHRlcihmb3JtYXR0ZXIpCi0gICAgbG9nZ2VyLmhhbmRsZXJzID0gW2NvbnNvbGVdCi0gICAgaWYgY29sb3IgPT0gJ2Fsd2F5cycgb3IgKGNvbG9yPT0nYXV0bycgYW5kIGNvbnNvbGUuc3RyZWFtLmlzYXR0eSgpKToKLSAgICAgICAgZm9ybWF0dGVyLmVuYWJsZV9jb2xvcigpCisKKyAgICBmb3IgaGFuZGxlciBpbiBsb2dnZXIuaGFuZGxlcnM6CisgICAgICAgIGlmIChpc2luc3RhbmNlKGhhbmRsZXIsIGxvZ2dpbmcuU3RyZWFtSGFuZGxlcikgYW5kCisgICAgICAgICAgICBpc2luc3RhbmNlKGhhbmRsZXIuZm9ybWF0dGVyLCBCQkxvZ0Zvcm1hdHRlcikpOgorICAgICAgICAgICAgaWYgY29sb3IgPT0gJ2Fsd2F5cycgb3IgKGNvbG9yID09ICdhdXRvJyBhbmQgaGFuZGxlci5zdHJlYW0uaXNhdHR5KCkpOgorICAgICAgICAgICAgICAgIGhhbmRsZXIuZm9ybWF0dGVyLmVuYWJsZV9jb2xvcigpCiAKIAogZGVmIGxvYWRfcGx1Z2lucyhsb2dnZXIsIHBsdWdpbnMsIHBsdWdpbnBhdGgpOgpAQCAtNTAsMTIgKzUyLDkgQEAKIAogICAgIGRlZiBsb2FkX3BsdWdpbihuYW1lKToKICAgICAgICAgbG9nZ2VyLmRlYnVnKCdMb2FkaW5nIHBsdWdpbiAlcycgJSBuYW1lKQotICAgICAgICBmcCwgcGF0aG5hbWUsIGRlc2NyaXB0aW9uID0gaW1wLmZpbmRfbW9kdWxlKG5hbWUsIFtwbHVnaW5wYXRoXSkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIGltcC5sb2FkX21vZHVsZShuYW1lLCBmcCwgcGF0aG5hbWUsIGRlc2NyaXB0aW9uKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaWYgZnA6Ci0gICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICBzcGVjID0gaW1wb3J0bGliLm1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfc3BlYyhuYW1lLCBwYXRoPVtwbHVnaW5wYXRoXSApCisgICAgICAgIGlmIHNwZWM6CisgICAgICAgICAgICByZXR1cm4gc3BlYy5sb2FkZXIubG9hZF9tb2R1bGUoKQogCiAgICAgZGVmIHBsdWdpbl9uYW1lKGZpbGVuYW1lKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSkpWzBdCkBAIC03MCw2ICs2OSw3IEBACiAgICAgICAgICAgICAgICAgcGx1Z2luLnBsdWdpbl9pbml0KHBsdWdpbnMpCiAgICAgICAgICAgICBwbHVnaW5zLmFwcGVuZChwbHVnaW4pCiAKKwogZGVmIGdpdF9jb252ZXJ0X3N0YW5kYWxvbmVfY2xvbmUocmVwb2Rpcik6CiAgICAgIiIiSWYgc3BlY2lmaWVkIGRpcmVjdG9yeSBpcyBhIGdpdCByZXBvc2l0b3J5LCBlbnN1cmUgaXQncyBhIHN0YW5kYWxvbmUgY2xvbmUiIiIKICAgICBpbXBvcnQgYmIucHJvY2VzcwpkaWZmIC0tZ2l0IGEvcG9reS9zY3JpcHRzL2xpYi93aWMvZW5naW5lLnB5IGIvcG9reS9zY3JpcHRzL2xpYi93aWMvZW5naW5lLnB5CmluZGV4IGVhNjAwZDIuLmFiMzNmYTYgMTAwNjQ0Ci0tLSBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2VuZ2luZS5weQorKysgYi9wb2t5L3NjcmlwdHMvbGliL3dpYy9lbmdpbmUucHkKQEAgLTMzOCw3ICszMzgsNyBAQAogICAgIGRlZiBjb3B5KHNlbGYsIHNyYywgcG51bSwgcGF0aCk6CiAgICAgICAgICIiIkNvcHkgcGFydGl0aW9uIGltYWdlIGludG8gd2ljIGltYWdlLiIiIgogICAgICAgICBpZiBzZWxmLnBhcnRpdGlvbnNbcG51bV0uZnN0eXBlLnN0YXJ0c3dpdGgoJ2V4dCcpOgotICAgICAgICAgICAgY21kID0gInByaW50ZiAnY2Qge31cbndyaXRlIHt9IHt9JyB8IHt9IC13IHt9Ii5cCisgICAgICAgICAgICBjbWQgPSAicHJpbnRmICdjZCB7fVxud3JpdGUge30ge31cbicgfCB7fSAtdyB7fSIuXAogICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdChwYXRoLCBzcmMsIG9zLnBhdGguYmFzZW5hbWUoc3JjKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZWJ1Z2ZzLCBzZWxmLl9nZXRfcGFydF9pbWFnZShwbnVtKSkKICAgICAgICAgZWxzZTogIyBmYXQKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL2tzcGFyc2VyLnB5IGIvcG9reS9zY3JpcHRzL2xpYi93aWMva3NwYXJzZXIucHkKaW5kZXggN2U1YTljNS4uMDhiYWY3NiAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi93aWMva3NwYXJzZXIucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi93aWMva3NwYXJzZXIucHkKQEAgLTI4LDE0ICsyOCwzMCBAQAogaW1wb3J0IG9zCiBpbXBvcnQgc2hsZXgKIGltcG9ydCBsb2dnaW5nCitpbXBvcnQgcmUKIAogZnJvbSBhcmdwYXJzZSBpbXBvcnQgQXJndW1lbnRQYXJzZXIsIEFyZ3VtZW50RXJyb3IsIEFyZ3VtZW50VHlwZUVycm9yCiAKIGZyb20gd2ljLmVuZ2luZSBpbXBvcnQgZmluZF9jYW5uZWQKIGZyb20gd2ljLnBhcnRpdGlvbiBpbXBvcnQgUGFydGl0aW9uCitmcm9tIHdpYy5taXNjIGltcG9ydCBnZXRfYml0YmFrZV92YXIKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ3dpYycpCiAKK19fZXhwYW5kX3Zhcl9yZWdleHBfXyA9IHJlLmNvbXBpbGUociJcJHtbXnt9QFxuXHQgOl0rfSIpCisKK2RlZiBleHBhbmRfbGluZShsaW5lKToKKyAgICB3aGlsZSBUcnVlOgorICAgICAgICBtID0gX19leHBhbmRfdmFyX3JlZ2V4cF9fLnNlYXJjaChsaW5lKQorICAgICAgICBpZiBub3QgbToKKyAgICAgICAgICAgIHJldHVybiBsaW5lCisgICAgICAgIGtleSA9IG0uZ3JvdXAoKVsyOi0xXQorICAgICAgICB2YWwgPSBnZXRfYml0YmFrZV92YXIoa2V5KQorICAgICAgICBpZiB2YWwgaXMgTm9uZToKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJjYW5ub3QgZXhwYW5kIHZhcmlhYmxlICVzIiAlIGtleSkKKyAgICAgICAgICAgIHJldHVybiBsaW5lCisgICAgICAgIGxpbmUgPSBsaW5lWzptLnN0YXJ0KCldICsgdmFsICsgbGluZVttLmVuZCgpOl0KKwogY2xhc3MgS2lja1N0YXJ0RXJyb3IoRXhjZXB0aW9uKToKICAgICAiIiJDdXN0b20gZXhjZXB0aW9uLiIiIgogICAgIHBhc3MKQEAgLTE5MCw2ICsyMDYsNyBAQAogICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKICAgICAgICAgICAgICAgICBsaW5lbm8gKz0gMQogICAgICAgICAgICAgICAgIGlmIGxpbmUgYW5kIGxpbmVbMF0gIT0gJyMnOgorICAgICAgICAgICAgICAgICAgICBsaW5lID0gZXhwYW5kX2xpbmUobGluZSkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgbGluZV9hcmdzID0gc2hsZXguc3BsaXQobGluZSkKICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlZCA9IHBhcnNlci5wYXJzZV9hcmdzKGxpbmVfYXJncykKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BhcnRpdGlvbi5weSBiL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BhcnRpdGlvbi5weQppbmRleCAzZGE3ZTIzLi5jYTIwNmVjIDEwMDY0NAotLS0gYS9wb2t5L3NjcmlwdHMvbGliL3dpYy9wYXJ0aXRpb24ucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi93aWMvcGFydGl0aW9uLnB5CkBAIC0xNzMsNyArMTczLDcgQEAKICAgICAgICAgICAgICMgU3BsaXQgc291cmNlcGFyYW1zIHN0cmluZyBvZiB0aGUgZm9ybSBrZXkxPXZhbDFbLGtleTI9dmFsMiwuLi5dCiAgICAgICAgICAgICAjIGludG8gYSBkaWN0LiAgQWxzbyBhY2NlcHRzIHZhbHVlbGVzcyBrZXlzIGkuZS4gd2l0aG91dCA9CiAgICAgICAgICAgICBzcGxpdHRlZCA9IHNlbGYuc291cmNlcGFyYW1zLnNwbGl0KCcsJykKLSAgICAgICAgICAgIHNyY3BhcmFtc19kaWN0ID0gZGljdChwYXIuc3BsaXQoJz0nKSBmb3IgcGFyIGluIHNwbGl0dGVkIGlmIHBhcikKKyAgICAgICAgICAgIHNyY3BhcmFtc19kaWN0ID0gZGljdChwYXIuc3BsaXQoJz0nLCAxKSBmb3IgcGFyIGluIHNwbGl0dGVkIGlmIHBhcikKIAogICAgICAgICBwbHVnaW4gPSBQbHVnaW5NZ3IuZ2V0X3BsdWdpbnMoJ3NvdXJjZScpW3NlbGYuc291cmNlXQogICAgICAgICBwbHVnaW4uZG9fY29uZmlndXJlX3BhcnRpdGlvbihzZWxmLCBzcmNwYXJhbXNfZGljdCwgY3JlYXRvciwKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9saWIvd2ljL3BsdWdpbnMvc291cmNlL2Jvb3RpbWctZWZpLnB5IGIvcG9reS9zY3JpcHRzL2xpYi93aWMvcGx1Z2lucy9zb3VyY2UvYm9vdGltZy1lZmkucHkKaW5kZXggMGViODZhMC4uODNhN2UxOCAxMDA2NDQKLS0tIGEvcG9reS9zY3JpcHRzL2xpYi93aWMvcGx1Z2lucy9zb3VyY2UvYm9vdGltZy1lZmkucHkKKysrIGIvcG9reS9zY3JpcHRzL2xpYi93aWMvcGx1Z2lucy9zb3VyY2UvYm9vdGltZy1lZmkucHkKQEAgLTc3LDEyICs3NywxMyBAQAogICAgICAgICBpZiBub3QgY3VzdG9tX2NmZzoKICAgICAgICAgICAgICMgQ3JlYXRlIGdydWIgY29uZmlndXJhdGlvbiB1c2luZyBwYXJhbWV0ZXJzIGZyb20gd2tzIGZpbGUKICAgICAgICAgICAgIGJvb3Rsb2FkZXIgPSBjcmVhdG9yLmtzLmJvb3Rsb2FkZXIKKyAgICAgICAgICAgIHRpdGxlID0gc291cmNlX3BhcmFtcy5nZXQoJ3RpdGxlJykKIAogICAgICAgICAgICAgZ3J1YmVmaV9jb25mID0gIiIKICAgICAgICAgICAgIGdydWJlZmlfY29uZiArPSAic2VyaWFsIC0tdW5pdD0wIC0tc3BlZWQ9MTE1MjAwIC0td29yZD04IC0tcGFyaXR5PW5vIC0tc3RvcD0xXG4iCiAgICAgICAgICAgICBncnViZWZpX2NvbmYgKz0gImRlZmF1bHQ9Ym9vdFxuIgogICAgICAgICAgICAgZ3J1YmVmaV9jb25mICs9ICJ0aW1lb3V0PSVzXG4iICUgYm9vdGxvYWRlci50aW1lb3V0Ci0gICAgICAgICAgICBncnViZWZpX2NvbmYgKz0gIm1lbnVlbnRyeSAnYm9vdCd7XG4iCisgICAgICAgICAgICBncnViZWZpX2NvbmYgKz0gIm1lbnVlbnRyeSAnJXMne1xuIiAlICh0aXRsZSBpZiB0aXRsZSBlbHNlICJib290IikKIAogICAgICAgICAgICAga2VybmVsID0gIi9iekltYWdlIgogCkBAIC0xNTIsOSArMTUzLDEwIEBACiAgICAgICAgIGlmIG5vdCBjdXN0b21fY2ZnOgogICAgICAgICAgICAgIyBDcmVhdGUgc3lzdGVtZC1ib290IGNvbmZpZ3VyYXRpb24gdXNpbmcgcGFyYW1ldGVycyBmcm9tIHdrcyBmaWxlCiAgICAgICAgICAgICBrZXJuZWwgPSAiL2J6SW1hZ2UiCisgICAgICAgICAgICB0aXRsZSA9IHNvdXJjZV9wYXJhbXMuZ2V0KCd0aXRsZScpCiAKICAgICAgICAgICAgIGJvb3RfY29uZiA9ICIiCi0gICAgICAgICAgICBib290X2NvbmYgKz0gInRpdGxlIGJvb3RcbiIKKyAgICAgICAgICAgIGJvb3RfY29uZiArPSAidGl0bGUgJXNcbiIgJSAodGl0bGUgaWYgdGl0bGUgZWxzZSAiYm9vdCIpCiAgICAgICAgICAgICBib290X2NvbmYgKz0gImxpbnV4ICVzXG4iICUga2VybmVsCiAgICAgICAgICAgICBib290X2NvbmYgKz0gIm9wdGlvbnMgTEFCRUw9Qm9vdCByb290PSVzICVzXG4iICUgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3JlYXRvci5yb290ZGV2LCBib290bG9hZGVyLmFwcGVuZCkKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9vZS1weWxpbnQgYi9wb2t5L3NjcmlwdHMvb2UtcHlsaW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjc0ZmY0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9wb2t5L3NjcmlwdHMvb2UtcHlsaW50CkBAIC0wLDAgKzEsMTEgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFJ1biB0aGUgcHlsaW50MyBhZ2FpbnN0IG91ciBjb21tb24gcHl0aG9uIG1vZHVsZSBzcGFjZXMgYW5kIHByaW50IGEgcmVwb3J0IG9mIHBvdGVudGlhbCBpc3N1ZXMKKyMKK3RoaXNfZGlyPSQoZGlybmFtZSAkKHJlYWRsaW5rIC1mICQwKSkKK0VSUk9SUz0iLUUiCitJR05PUkVMSVNUPSIkRVJST1JTIC1kIGxvZ2dpbmctdG9vLW1hbnktYXJncyAtZCBtaXNzaW5nLWRvY3N0cmluZyAtZCBsaW5lLXRvby1sb25nIC1kIGludmFsaWQtbmFtZSIKK1BZVEhPTlBBVEg9JHRoaXNfZGlyLy4uL2JpdGJha2UvbGliLyBweWxpbnQzICRJR05PUkVMSVNUIGJiCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi86JHRoaXNfZGlyLy4uL21ldGEvbGliIHB5bGludDMgJElHTk9SRUxJU1QgLWQgdW5kZWZpbmVkLXZhcmlhYmxlIG9lCitQWVRIT05QQVRIPSR0aGlzX2Rpci8uLi9iaXRiYWtlL2xpYi86JHRoaXNfZGlyLy4uL21ldGEvbGliIHB5bGludDMgICRJR05PUkVMSVNUIG9lcWEKK1BZVEhPTlBBVEg9JHRoaXNfZGlyLy4uL2JpdGJha2UvbGliLzokdGhpc19kaXIvLi4vbWV0YS9saWI6JHRoaXNfZGlyL2xpYiBweWxpbnQzICRJR05PUkVMSVNUIC1kIHVuZGVmaW5lZC12YXJpYWJsZSBhcmdwYXJzZV9vZSBidWlsZHN0YXRzICBkZXZ0b29sIHJlY2lwZXRvb2wgc2NyaXB0cGF0aCB0ZXN0Y2FzZW1nbXQgYnVpbGRfcGVyZiBjaGVja2xheWVyIHJlc3VsdHRvb2wgIHNjcmlwdHV0aWxzIHdpYwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Bva3kvc2NyaXB0cy9vZXB5ZGV2c2hlbGwtaW50ZXJuYWwucHkgYi9wb2t5L3NjcmlwdHMvb2VweWRldnNoZWxsLWludGVybmFsLnB5CmluZGV4IDA0NjIxYWUuLjJmN2Q1ZDQgMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9vZXB5ZGV2c2hlbGwtaW50ZXJuYWwucHkKKysrIGIvcG9reS9zY3JpcHRzL29lcHlkZXZzaGVsbC1pbnRlcm5hbC5weQpAQCAtNjMsNyArNjMsOSBAQAogICAgICAgICAgICAgKHJlYWR5LCBfLCBfKSA9IHNlbGVjdC5zZWxlY3QoW3B0eSwgc3lzLnN0ZGluXSwgd3JpdGVycyAsIFtdLCAwKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGlmIHB0eSBpbiByZWFkeToKLSAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyBwdHkucmVhZCgpLmRlY29kZSgndXRmLTgnKQorICAgICAgICAgICAgICAgICAgICByZWFkZGF0YSA9IHB0eS5yZWFkKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgcmVhZGRhdGE6CisgICAgICAgICAgICAgICAgICAgICAgICBpID0gaSArIHJlYWRkYXRhLmRlY29kZSgndXRmLTgnKQogICAgICAgICAgICAgICAgIGlmIGk6CiAgICAgICAgICAgICAgICAgICAgICMgV3JpdGUgYSBwYWdlIGF0IGEgdGltZSB0byBhdm9pZCBvdmVyZmxvd2luZyBvdXRwdXQgCiAgICAgICAgICAgICAgICAgICAgICMgZC5rZXlzKCkgaXMgYSBnb29kIHdheSB0byBkbyB0aGF0CmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvcHl0aG9uZGVwcyBiL3Bva3kvc2NyaXB0cy9weXRob25kZXBzCmluZGV4IDU5MGI5NzYuLjNlMTNhNTggMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9weXRob25kZXBzCisrKyBiL3Bva3kvc2NyaXB0cy9weXRob25kZXBzCkBAIC05LDcgKzksOCBAQAogCiBpbXBvcnQgYXJncGFyc2UKIGltcG9ydCBhc3QKLWltcG9ydCBpbXAKK2ltcG9ydCBpbXBvcnRsaWIKK2Zyb20gaW1wb3J0bGliIGltcG9ydCBtYWNoaW5lcnkKIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3MucGF0aAogaW1wb3J0IHN5cwpAQCAtMTcsMTAgKzE4LDcgQEAKIAogbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ3B5dGhvbmRlcHMnKQogCi1zdWZmaXhlcyA9IFtdCi1mb3IgdHJpcGxlIGluIGltcC5nZXRfc3VmZml4ZXMoKToKLSAgICBzdWZmaXhlcy5hcHBlbmQodHJpcGxlWzBdKQotCitzdWZmaXhlcyA9IGltcG9ydGxpYi5tYWNoaW5lcnkuYWxsX3N1ZmZpeGVzKCkKIAogY2xhc3MgUHl0aG9uRGVwRXJyb3IoRXhjZXB0aW9uKToKICAgICBwYXNzCmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvcmVzdWx0dG9vbCBiL3Bva3kvc2NyaXB0cy9yZXN1bHR0b29sCmluZGV4IDVhODllMWMuLjE4YWMxMDEgMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9yZXN1bHR0b29sCisrKyBiL3Bva3kvc2NyaXB0cy9yZXN1bHR0b29sCkBAIC01MSwxMyArNTEsNiBAQAogaW1wb3J0IHJlc3VsdHRvb2wubWFudWFsZXhlY3V0aW9uCiBsb2dnZXIgPSBzY3JpcHR1dGlscy5sb2dnZXJfY3JlYXRlKCdyZXN1bHR0b29sJykKIAotZGVmIF92YWxpZGF0ZV91c2VyX2lucHV0X2FyZ3VtZW50cyhhcmdzKToKLSAgICBpZiBoYXNhdHRyKGFyZ3MsICJzb3VyY2VfZGlyIik6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGFyZ3Muc291cmNlX2Rpcik6Ci0gICAgICAgICAgICBsb2dnZXIuZXJyb3IoJ3NvdXJjZV9kaXIgYXJndW1lbnQgbmVlZCB0byBiZSBhIGRpcmVjdG9yeSA6ICVzJyAlIGFyZ3Muc291cmNlX2RpcikKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgIHJldHVybiBUcnVlCi0KIGRlZiBtYWluKCk6CiAgICAgcGFyc2VyID0gYXJncGFyc2Vfb2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249Ik9FUUEgdGVzdCByZXN1bHQgbWFuaXB1bGF0aW9uIHRvb2wuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcGlsb2c9IlVzZSAlKHByb2cpcyA8c3ViY29tbWFuZD4gLS1oZWxwIHRvIGdldCBoZWxwIG9uIGEgc3BlY2lmaWMgY29tbWFuZCIpCkBAIC04MCw5ICs3Myw2IEBACiAgICAgZWxpZiBhcmdzLnF1aWV0OgogICAgICAgICBsb2dnZXIuc2V0TGV2ZWwobG9nZ2luZy5FUlJPUikKIAotICAgIGlmIG5vdCBfdmFsaWRhdGVfdXNlcl9pbnB1dF9hcmd1bWVudHMoYXJncyk6Ci0gICAgICAgIHJldHVybiAtMQotCiAgICAgdHJ5OgogICAgICAgICByZXQgPSBhcmdzLmZ1bmMoYXJncywgbG9nZ2VyKQogICAgIGV4Y2VwdCBhcmdwYXJzZV9vZS5Bcmd1bWVudFVzYWdlRXJyb3IgYXMgYWU6CmRpZmYgLS1naXQgYS9wb2t5L3NjcmlwdHMvcnVucWVtdSBiL3Bva3kvc2NyaXB0cy9ydW5xZW11CmluZGV4IDFjOTZiMjkuLmMwZTU2OWMgMTAwNzU1Ci0tLSBhL3Bva3kvc2NyaXB0cy9ydW5xZW11CisrKyBiL3Bva3kvc2NyaXB0cy9ydW5xZW11CkBAIC03NCw3ICs3NCwxMiBAQAogICBNQUNISU5FIC0gdGhlIG1hY2hpbmUgbmFtZSAob3B0aW9uYWwsIGF1dG9kZXRlY3RlZCBmcm9tIEtFUk5FTCBmaWxlbmFtZSBpZiB1bnNwZWNpZmllZCkKICAgU2ltcGxpZmllZCBRRU1VIGNvbW1hbmQtbGluZSBvcHRpb25zIGNhbiBiZSBwYXNzZWQgd2l0aDoKICAgICBub2dyYXBoaWMgLSBkaXNhYmxlIHZpZGVvIGNvbnNvbGUKKyAgICBzZGwgLSBjaG9vc2UgdGhlIFNETCBmcm9udGVuZCBpbnN0ZWFkIG9mIHRoZSBHdGsrIGRlZmF1bHQKKyAgICBndGstZ2wgLSBlbmFibGUgdmlyZ2wtYmFzZWQgR0wgYWNjZWxlcmF0aW9uIHVzaW5nIEd0aysgZnJvbnRlbmQKKyAgICBndGstZ2wtZXMgLSBlbmFibGUgdmlyZ2wtYmFzZWQgR0wgYWNjZWxlcmF0aW9uLCB1c2luZyBPcGVuR0wgRVMgYW5kIEd0aysgZnJvbnRlbmQKKyAgICBlZ2wtaGVhZGxlc3MgLSBlbmFibGUgaGVhZGxlc3MgRUdMIG91dHB1dDsgdXNlIHZuYyBvciBzcGljZSB0byBzZWUgaXQKICAgICBzZXJpYWwgLSBlbmFibGUgYSBzZXJpYWwgY29uc29sZSBvbiAvZGV2L3R0eVMwCisgICAgc2VyaWFsc3RkaW8gLSBlbmFibGUgYSBzZXJpYWwgY29uc29sZSBvbiB0aGUgY29uc29sZSAocmVnYXJkbGVzcyBvZiBncmFwaGljcyBtb2RlKQogICAgIHNsaXJwIC0gZW5hYmxlIHVzZXIgbmV0d29ya2luZywgbm8gcm9vdCBwcml2aWxlZ2VzIGlzIHJlcXVpcmVkCiAgICAga3ZtIC0gZW5hYmxlIEtWTSB3aGVuIHJ1bm5pbmcgeDg2L3g4Nl82NCAoVlQtY2FwYWJsZSBDUFUgcmVxdWlyZWQpCiAgICAga3ZtLXZob3N0IC0gZW5hYmxlIEtWTSB3aXRoIHZob3N0IHdoZW4gcnVubmluZyB4ODYveDg2XzY0IChWVC1jYXBhYmxlIENQVSByZXF1aXJlZCkKQEAgLTExNCwzOSArMTE5LDYgQEAKICAgICBpZiBub3Qgb3MuYWNjZXNzKGRldl90dW4sIG9zLldfT0spOgogICAgICAgICByYWlzZSBSdW5RZW11RXJyb3IoIlRVTiBjb250cm9sIGRldmljZSAlcyBpcyBub3Qgd3JpdGFibGUsIHBsZWFzZSBmaXggKGUuZy4gc3VkbyBjaG1vZCA2NjYgJXMpIiAlIChkZXZfdHVuLCBkZXZfdHVuKSkKIAotZGVmIGNoZWNrX2xpYmdsKHFlbXVfYmluKToKLSAgICBjbWQgPSAoJ2xkZCcsIHFlbXVfYmluKQotICAgIGxvZ2dlci5kZWJ1ZygnUnVubmluZyAlcy4uLicgJSBzdHIoY21kKSkKLSAgICBuZWVkX2dsID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoY21kKS5kZWNvZGUoJ3V0Zi04JykKLSAgICBpZiByZS5zZWFyY2goJ2xpYkdMVScsIG5lZWRfZ2wpOgotICAgICAgICAjIFdlIGNhbid0IHJ1biB3aXRob3V0IGEgbGliR0wuc28KLSAgICAgICAgbGliZ2wgPSBGYWxzZQotICAgICAgICBjaGVja19maWxlcyA9ICgoJy91c3IvbGliL2xpYkdMLnNvJywgJy91c3IvbGliL2xpYkdMVS5zbycpLCBcCi0gICAgICAgICAgICAoJy91c3IvbGliNjQvbGliR0wuc28nLCAnL3Vzci9saWI2NC9saWJHTFUuc28nKSwgXAotICAgICAgICAgICAgKCcvdXNyL2xpYi8qLWxpbnV4LWdudS9saWJHTC5zbycsICcvdXNyL2xpYi8qLWxpbnV4LWdudS9saWJHTFUuc28nKSkKLQotICAgICAgICBmb3IgKGYxLCBmMikgaW4gY2hlY2tfZmlsZXM6Ci0gICAgICAgICAgICBpZiByZS5zZWFyY2goJ1wqJywgZjEpOgotICAgICAgICAgICAgICAgIGZvciBnMSBpbiBnbG9iLmdsb2IoZjEpOgotICAgICAgICAgICAgICAgICAgICBpZiBsaWJnbDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGcxKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciBnMiBpbiBnbG9iLmdsb2IoZjIpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGcyKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGliZ2wgPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgaWYgbGliZ2w6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGYxKSBhbmQgb3MucGF0aC5leGlzdHMoZjIpOgotICAgICAgICAgICAgICAgICAgICBsaWJnbCA9IFRydWUKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgaWYgbm90IGxpYmdsOgotICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJZb3UgbmVlZCBsaWJHTC5zbyBhbmQgbGliR0xVLnNvIHRvIGV4aXN0IGluIHlvdXIgbGlicmFyeSBwYXRoIHRvIHJ1biB0aGUgUUVNVSBlbXVsYXRvci4iKQotICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJVYnVudHUgcGFja2FnZSBuYW1lcyBhcmU6IGxpYmdsMS1tZXNhLWRldiBhbmQgbGliZ2x1MS1tZXNhLWRldi4iKQotICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJGZWRvcmEgcGFja2FnZSBuYW1lcyBhcmU6IG1lc2EtbGliR0wtZGV2ZWwgbWVzYS1saWJHTFUtZGV2ZWwuIikKLSAgICAgICAgICAgIHJhaXNlIFJ1blFlbXVFcnJvcignJXMgcmVxdWlyZXMgbGliR0xVLCBidXQgbm90IGZvdW5kJyAlIHFlbXVfYmluKQotCiBkZWYgZ2V0X2ZpcnN0X2ZpbGUoY21kcyk6CiAgICAgIiIiUmV0dXJuIGZpcnN0IGZpbGUgZm91bmQgaW4gd2lsZGNhcmQgY21kcyIiIgogICAgIGZvciBjbWQgaW4gY21kczoKQEAgLTIxMiw2ICsxODQsNyBAQAogICAgICAgICBzZWxmLnNsaXJwX2VuYWJsZWQgPSBGYWxzZQogICAgICAgICBzZWxmLm5mc19pbnN0YW5jZSA9IDAKICAgICAgICAgc2VsZi5uZnNfcnVubmluZyA9IEZhbHNlCisgICAgICAgIHNlbGYuc2VyaWFsY29uc29sZSA9IEZhbHNlCiAgICAgICAgIHNlbGYuc2VyaWFsc3RkaW8gPSBGYWxzZQogICAgICAgICBzZWxmLmNsZWFudGFwID0gRmFsc2UKICAgICAgICAgc2VsZi5zYXZlZF9zdHR5ID0gJycKQEAgLTQzMiw4ICs0MDUsMzMgQEAKICAgICAgICAgICAgIGVsaWYgYXJnID09ICdub2dyYXBoaWMnOgogICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHRfc2NyaXB0ICs9ICcgLW5vZ3JhcGhpYycKICAgICAgICAgICAgICAgICBzZWxmLmtlcm5lbF9jbWRsaW5lX3NjcmlwdCArPSAnIGNvbnNvbGU9dHR5UzAnCisgICAgICAgICAgICBlbGlmIGFyZyA9PSAnc2RsJzoKKyAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC1kaXNwbGF5IHNkbCcKKyAgICAgICAgICAgIGVsaWYgYXJnID09ICdndGstZ2wnOgorICAgICAgICAgICAgICAgIHNlbGYucWVtdV9vcHRfc2NyaXB0ICs9ICcgLXZnYSB2aXJ0aW8gLWRpc3BsYXkgZ3RrLGdsPW9uJworICAgICAgICAgICAgZWxpZiBhcmcgPT0gJ2d0ay1nbC1lcyc6CisgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdF9zY3JpcHQgKz0gJyAtdmdhIHZpcnRpbyAtZGlzcGxheSBndGssZ2w9ZXMnCisgICAgICAgICAgICBlbGlmIGFyZyA9PSAnZWdsLWhlYWRsZXNzJzoKKyAgICAgICAgICAgICAgICBzZWxmLnFlbXVfb3B0X3NjcmlwdCArPSAnIC12Z2EgdmlydGlvIC1kaXNwbGF5IGVnbC1oZWFkbGVzcycKKyAgICAgICAgICAgICAgICAjIEFzIHJ1bnFlbXUgY2FuIGJlIHJ1biB3aXRoaW4gYml0YmFrZSAod2hlbiB1c2luZyB0ZXN0aW1hZ2UsIGZvciBleGFtcGxlKSwKKyAgICAgICAgICAgICAgICAjIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgd2UgcnVuIGhvc3QgcGtnLWNvbmZpZywgYW5kIHRoYXQgaXQgZG9lcyBub3QKKyAgICAgICAgICAgICAgICAjIGdldCBtaXMtZGlyZWN0ZWQgdG8gbmF0aXZlIGJ1aWxkIHBhdGhzIHNldCBieSBiaXRiYWtlLgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddCisgICAgICAgICAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWydQS0dfQ09ORklHX0RJUiddCisgICAgICAgICAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWydQS0dfQ09ORklHX0xJQkRJUiddCisgICAgICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBkcmlwYXRoID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoIlBBVEg9L2JpbjovdXNyL2JpbjokUEFUSCBwa2ctY29uZmlnIC0tdmFyaWFibGU9ZHJpZHJpdmVyZGlyIGRyaSIsIHNoZWxsPVRydWUpCisgICAgICAgICAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1blFlbXVFcnJvcigiQ291bGQgbm90IGRldGVybWluZSB0aGUgcGF0aCB0byBkcmkgZHJpdmVycyBvbiB0aGUgaG9zdCB2aWEgcGtnLWNvbmZpZy5cblBsZWFzZSBpbnN0YWxsIE1lc2EgZGV2ZWxvcG1lbnQgZmlsZXMgKHBhcnRpY3VsYXJseSwgZHJpLnBjKSBvbiB0aGUgaG9zdCBtYWNoaW5lLiIpCisgICAgICAgICAgICAgICAgb3MuZW52aXJvblsnTElCR0xfRFJJVkVSU19QQVRIJ10gPSBkcmlwYXRoLmRlY29kZSgndXRmLTgnKS5zdHJpcCgpCiAgICAgICAgICAgICBlbGlmIGFyZyA9PSAnc2VyaWFsJzoKICAgICAgICAgICAgICAgICBzZWxmLmtlcm5lbF9jbWRsaW5lX3NjcmlwdCArPSAnIGNvbnNvbGU9dHR5UzAnCisgICAgICAgICAgICAgICAgc2VsZi5zZXJpYWxjb25zb2xlID0gVHJ1ZQorICAgICAgICAgICAgZWxpZiBhcmcgPT0gInNlcmlhbHN0ZGlvIjoKKyAgICAgICAgICAgICAgICBzZWxmLmtlcm5lbF9jbWRsaW5lX3NjcmlwdCArPSAnIGNvbnNvbGU9dHR5UzAnCiAgICAgICAgICAgICAgICAgc2VsZi5zZXJpYWxzdGRpbyA9IFRydWUKICAgICAgICAgICAgIGVsaWYgYXJnID09ICdhdWRpbyc6CiAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIkVuYWJsaW5nIGF1ZGlvIGluIHFlbXUiKQpAQCAtMTE2Niw4ICsxMTY0LDYgQEAKICAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhxZW11X2Jpbiwgb3MuWF9PSyk6CiAgICAgICAgICAgICByYWlzZSBPRVBhdGhFcnJvcigiTm8gUUVNVSBiaW5hcnkgJyVzJyBjb3VsZCBiZSBmb3VuZCIgJSBxZW11X2JpbikKIAotICAgICAgICBjaGVja19saWJnbChxZW11X2JpbikKLQogICAgICAgICBzZWxmLnFlbXVfb3B0ID0gIiVzICVzICVzICVzIiAlIChxZW11X2Jpbiwgc2VsZi5nZXQoJ05FVFdPUktfQ01EJyksIHNlbGYuZ2V0KCdST09URlNfT1BUSU9OUycpLCBzZWxmLmdldCgnUUJfT1BUX0FQUEVORCcpKQogCiAgICAgICAgIGZvciBvdm1mIGluIHNlbGYub3ZtZl9iaW9zOgpAQCAtMTE4Nyw3ICsxMTgzLDcgQEAKICAgICAgICAgaWYgc2VsZi5zbmFwc2hvdDoKICAgICAgICAgICAgIHNlbGYucWVtdV9vcHQgKz0gIiAtc25hcHNob3QiCiAKLSAgICAgICAgaWYgc2VsZi5zZXJpYWxzdGRpbzoKKyAgICAgICAgaWYgc2VsZi5zZXJpYWxjb25zb2xlOgogICAgICAgICAgICAgaWYgc3lzLnN0ZGluLmlzYXR0eSgpOgogICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbCgoInN0dHkiLCAiaW50ciIsICJeXSIpKQogICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJJbnRlcnJ1cHQgY2hhcmFjdGVyIGlzICdeXSciKQpAQCAtMTIxNCw3ICsxMjEwLDcgQEAKICAgICAgICAgIyAgICAgSU5JVDogSWQgIlMxIiByZXNwYXduaW5nIHRvbyBmYXN0OiBkaXNhYmxlZCBmb3IgNSBtaW51dGVzCiAgICAgICAgIHNlcmlhbF9udW0gPSBsZW4ocmUuZmluZGFsbCgiLXNlcmlhbCIsIHNlbGYucWVtdV9vcHQpKQogICAgICAgICBpZiBzZXJpYWxfbnVtID09IDA6Ci0gICAgICAgICAgICBpZiByZS5zZWFyY2goIi1ub2dyYXBoaWMiLCBzZWxmLnFlbXVfb3B0KToKKyAgICAgICAgICAgIGlmIHJlLnNlYXJjaCgiLW5vZ3JhcGhpYyIsIHNlbGYucWVtdV9vcHQpIG9yIHNlbGYuc2VyaWFsc3RkaW86CiAgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdCArPSAiIC1zZXJpYWwgbW9uOnN0ZGlvIC1zZXJpYWwgbnVsbCIKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5xZW11X29wdCArPSAiIC1zZXJpYWwgbW9uOnZjIC1zZXJpYWwgbnVsbCIK